; ; +-------------------------------------------------------------------------+ ; | 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 : CCFC5F69D0F877CB382FEBE711C8B59E ; File Name : u:\work\ccfc5f69d0f877cb382febe711c8b59e_unpacked.exe ; Format : Portable executable for 80386 (PE) ; Imagebase : 400000 ; Section 1. (virtual address 00001000) ; Virtual size : 00112000 (1122304.) ; Section size in file : 00112000 (1122304.) ; Offset to raw data for section: 00001000 ; Flags E0000040: Data Executable Readable Writable ; Alignment : default .686p .mmx .model flat ; =========================================================================== ; Segment type: Pure code ; Segment permissions: Read/Write/Execute ___ segment para public 'CODE' use32 assume cs:___ ;org 401000h assume es:nothing, ss:nothing, ds:___, fs:nothing, gs:nothing db 5 dup(0CCh) ; --------------------------------------------------------------------------- jmp near ptr dword_430920 ; --------------------------------------------------------------------------- jmp loc_412D80 ; --------------------------------------------------------------------------- jmp near ptr dword_422150 ; --------------------------------------------------------------------------- jmp near ptr dword_432540 ; --------------------------------------------------------------------------- jmp near ptr dword_420EA0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40101E proc near ; CODE XREF: ___:004119B3p jmp sub_4119E0 sub_40101E endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401023 proc near ; CODE XREF: sub_40B250+4Dp ; sub_40B250+5Ap ... jmp sub_403C50 sub_401023 endp ; --------------------------------------------------------------------------- jmp loc_40B0E0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40102D proc near ; CODE XREF: sub_404010+4DAp ; ___:004052D6p ... jmp sub_40A110 sub_40102D endp ; --------------------------------------------------------------------------- jmp near ptr dword_42B3F0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401037 proc near ; CODE XREF: sub_4135E0+3Bp ; ___:00414C00p jmp sub_4156D0 sub_401037 endp ; --------------------------------------------------------------------------- jmp near ptr dword_4342D0 ; --------------------------------------------------------------------------- jmp near ptr dword_434150 ; --------------------------------------------------------------------------- jmp near ptr dword_423A40 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40104B proc near ; CODE XREF: sub_418590+248p jmp sub_40D210 sub_40104B endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401050 proc near ; CODE XREF: ___:0040B11Ap ; ___:0040B16Ap jmp near ptr dword_433C70 sub_401050 endp ; --------------------------------------------------------------------------- jmp near ptr dword_421D30 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40105A proc near ; CODE XREF: sub_40C1A0+8p jmp sub_40C360 sub_40105A endp ; --------------------------------------------------------------------------- jmp near ptr dword_432BB0 ; --------------------------------------------------------------------------- jmp loc_41C710 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401069 proc near ; CODE XREF: ___:00416FAAp jmp near ptr dword_41FCD0 sub_401069 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40106E proc near ; CODE XREF: sub_40C040+32p jmp sub_40C200 sub_40106E endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401073 proc near ; CODE XREF: ___:00416FBAp jmp sub_418390 sub_401073 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401078 proc near ; CODE XREF: sub_415920+6Ap ; sub_416380+32p jmp sub_4162C0 sub_401078 endp ; --------------------------------------------------------------------------- jmp near ptr dword_421B50 ; --------------------------------------------------------------------------- jmp loc_41ADE0 ; [00000005 BYTES: COLLAPSED FUNCTION j_nullsub_7. PRESS KEYPAD "+" TO EXPAND] ; --------------------------------------------------------------------------- jmp near ptr dword_422270 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401091 proc near ; CODE XREF: ___:0040C523p jmp sub_40CBB0 sub_401091 endp ; --------------------------------------------------------------------------- jmp near ptr dword_4292E0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40109B proc near ; CODE XREF: sub_4075C0+Ap jmp sub_407660 sub_40109B endp ; --------------------------------------------------------------------------- jmp near ptr dword_4245E0 ; --------------------------------------------------------------------------- jmp near ptr dword_4340E0 ; --------------------------------------------------------------------------- jmp near ptr dword_431C80 ; --------------------------------------------------------------------------- jmp near ptr dword_42B0B0 ; --------------------------------------------------------------------------- jmp near ptr dword_41E3C0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4010B9 proc near ; CODE XREF: sub_418430+D0p ; sub_418590+2Dp jmp sub_418B20 sub_4010B9 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4010BE proc near ; CODE XREF: ___:00410909p ; ___:004109C0p ... jmp sub_411930 sub_4010BE endp ; --------------------------------------------------------------------------- jmp near ptr dword_4321F0 ; --------------------------------------------------------------------------- jmp near ptr dword_4224C0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4010CD proc near ; CODE XREF: sub_40AAD0+58p ; sub_40AAD0+82p ... jmp sub_40ACC0 sub_4010CD endp ; --------------------------------------------------------------------------- jmp loc_419BE0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4010D7 proc near ; CODE XREF: sub_416110+7p jmp sub_416740 sub_4010D7 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4010DC proc near ; CODE XREF: sub_415600+5Bp ; sub_415F70+11p ... jmp sub_4161C0 sub_4010DC endp ; --------------------------------------------------------------------------- jmp near ptr dword_42AD90 ; --------------------------------------------------------------------------- jmp near ptr dword_421DB0 ; --------------------------------------------------------------------------- jmp near ptr dword_4225D0 ; --------------------------------------------------------------------------- jmp loc_413E30 ; --------------------------------------------------------------------------- jmp near ptr dword_422010 ; --------------------------------------------------------------------------- jmp loc_4144D0 ; --------------------------------------------------------------------------- jmp near ptr dword_428240 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401104 proc near ; CODE XREF: sub_415B00+11p ; sub_415B00+27p ... jmp sub_416570 sub_401104 endp ; --------------------------------------------------------------------------- jmp near ptr dword_434600 ; --------------------------------------------------------------------------- jmp near ptr dword_422250 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401113 proc near ; CODE XREF: ___:00416B5Bp jmp sub_417B60 sub_401113 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401118 proc near ; CODE XREF: ___:00404D2Ap ; ___:00404E6Fp ... jmp sub_412A40 sub_401118 endp ; --------------------------------------------------------------------------- jmp loc_4193C0 ; --------------------------------------------------------------------------- jmp near ptr dword_430770 ; --------------------------------------------------------------------------- jmp near ptr dword_42F6C0 ; --------------------------------------------------------------------------- jmp near ptr dword_42AD20 ; --------------------------------------------------------------------------- jmp near ptr dword_423860 ; --------------------------------------------------------------------------- jmp near ptr dword_433240 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40113B proc near ; CODE XREF: sub_415140+38p jmp sub_415A90 sub_40113B endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401140 proc near ; CODE XREF: sub_41BA50+F7p ; sub_41BA50+10Bp ... jmp sub_409F80 sub_401140 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401145 proc near ; CODE XREF: sub_4099F0+Ap jmp sub_409AE0 sub_401145 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40114A proc near ; CODE XREF: sub_4134A0+55p ; sub_4134A0+94p ... jmp sub_415860 sub_40114A endp ; --------------------------------------------------------------------------- jmp near ptr dword_4236F0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401154 proc near ; CODE XREF: ___:00414C8Ep jmp sub_415600 sub_401154 endp ; --------------------------------------------------------------------------- jmp near ptr dword_428920 ; --------------------------------------------------------------------------- jmp loc_4119B0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401163 proc near ; CODE XREF: sub_415ED0+11p ; sub_415ED0+27p ... jmp sub_4166F0 sub_401163 endp ; --------------------------------------------------------------------------- jmp loc_41D830 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40116D proc near ; CODE XREF: sub_418C10+23p ; sub_418E80+11p jmp sub_418F60 sub_40116D endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401172 proc near ; CODE XREF: sub_418B90+3p ; sub_418F90+54p jmp sub_418DE0 sub_401172 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401177 proc near ; CODE XREF: sub_4096E0+6Ap ; sub_4096E0+103p jmp sub_409980 sub_401177 endp ; --------------------------------------------------------------------------- jmp near ptr dword_433B30 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401181 proc near ; CODE XREF: ___:00413E4Dp jmp sub_413C40 sub_401181 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401186 proc near ; CODE XREF: ___:0041A2E4p jmp sub_41B0E0 sub_401186 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40118B proc near ; CODE XREF: sub_4134A0+88p ; sub_4148A0+BFp ... jmp sub_415A30 sub_40118B endp ; --------------------------------------------------------------------------- jmp near ptr dword_434BA0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401195 proc near ; CODE XREF: sub_418590+119p jmp sub_40DBF0 sub_401195 endp ; --------------------------------------------------------------------------- jmp near ptr dword_431D40 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40119F proc near ; CODE XREF: sub_407230+11p ; sub_4073C0+1Fp jmp sub_407460 sub_40119F endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4011A4 proc near ; CODE XREF: sub_403720+3B5p ; sub_403720+3C5p ... jmp sub_403E50 sub_4011A4 endp ; --------------------------------------------------------------------------- jmp near ptr dword_422290 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4011AE proc near ; CODE XREF: sub_40C330+Ap jmp sub_40C3F0 sub_4011AE endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4011B3 proc near ; CODE XREF: sub_403720+1Dp ; sub_407080+1Fp ... jmp sub_403CC0 sub_4011B3 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4011B8 proc near ; CODE XREF: sub_4132F0+54p jmp sub_415490 sub_4011B8 endp ; --------------------------------------------------------------------------- jmp near ptr dword_42C670 ; --------------------------------------------------------------------------- jmp loc_40AFE0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4011C7 proc near ; CODE XREF: ___:00414C9Dp jmp sub_414D40 sub_4011C7 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4011CC proc near ; CODE XREF: sub_407660+7p ; sub_409AE0+7p ... jmp sub_407690 sub_4011CC endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4011D1 proc near ; CODE XREF: sub_4135E0+73p ; ___:00414C3Dp ... jmp sub_4156F0 sub_4011D1 endp ; --------------------------------------------------------------------------- jmp near ptr dword_420630 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4011DB proc near ; CODE XREF: sub_413E70+84p jmp sub_4138B0 sub_4011DB endp ; --------------------------------------------------------------------------- jmp near ptr dword_431060 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4011E5 proc near ; CODE XREF: sub_407510+8p jmp sub_4075F0 sub_4011E5 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4011EA proc near ; CODE XREF: ___:00404D5Fp ; ___:00404EF0p ... jmp sub_40A510 sub_4011EA endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4011EF proc near ; CODE XREF: sub_40A870+21p ; sub_40AAD0+A5p jmp sub_40AAB0 sub_4011EF endp ; --------------------------------------------------------------------------- jmp loc_40B050 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4011F9 proc near ; CODE XREF: sub_40A510+129p ; sub_40A8F0+4p ... jmp sub_40A8C0 sub_4011F9 endp ; --------------------------------------------------------------------------- jmp near ptr dword_427940 ; --------------------------------------------------------------------------- jmp near ptr dword_430D60 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401208 proc near ; CODE XREF: sub_407340+3p ; sub_4073C0+4Fp ... jmp sub_4074D0 sub_401208 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40120D proc near ; CODE XREF: ___:0041DC76p ; ___:0041DD40p jmp near ptr dword_421970 sub_40120D endp ; --------------------------------------------------------------------------- jmp near ptr dword_4221E0 ; --------------------------------------------------------------------------- jmp near ptr dword_42C810 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40121C proc near ; CODE XREF: sub_418590+D4p jmp sub_4077E0 sub_40121C endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401221 proc near ; CODE XREF: sub_40C200+5Fp jmp sub_40C3D0 sub_401221 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401226 proc near ; CODE XREF: sub_403530+F6p ; sub_403530+12Ep ... jmp sub_409D10 sub_401226 endp ; --------------------------------------------------------------------------- jmp near ptr dword_421B30 ; --------------------------------------------------------------------------- jmp near ptr dword_41F960 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401235 proc near ; CODE XREF: ___:00416BFBp jmp sub_4177B0 sub_401235 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40123A proc near ; CODE XREF: sub_40AFA0+Fp jmp near ptr dword_431240 sub_40123A endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40123F proc near ; CODE XREF: sub_418C10+32p jmp sub_418E80 sub_40123F endp ; --------------------------------------------------------------------------- jmp near ptr dword_434860 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401249 proc near ; CODE XREF: sub_415500+5p ; sub_415710+6p ... jmp sub_416130 sub_401249 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40124E proc near ; CODE XREF: sub_40BD90+29p ; sub_40BEB0+29p jmp sub_40C040 sub_40124E endp ; --------------------------------------------------------------------------- jmp near ptr dword_421BF0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401258 proc near ; CODE XREF: sub_4145A0+BFp jmp sub_4152E0 sub_401258 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40125D proc near ; CODE XREF: sub_4165E0+Ap jmp sub_416920 sub_40125D endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401262 proc near ; CODE XREF: ___:00416C67p jmp sub_4170B0 sub_401262 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401267 proc near ; CODE XREF: sub_418590+291p jmp sub_418430 sub_401267 endp ; --------------------------------------------------------------------------- jmp loc_416D30 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401271 proc near ; CODE XREF: ___:00416F1Fp jmp sub_4180D0 sub_401271 endp ; --------------------------------------------------------------------------- jmp loc_414760 ; --------------------------------------------------------------------------- jmp near ptr dword_430320 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401280 proc near ; CODE XREF: ___:004103B7p jmp sub_41B7E0 sub_401280 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401285 proc near ; CODE XREF: ___:00416F5Ap jmp sub_418280 sub_401285 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40128A proc near ; CODE XREF: sub_409570+8p jmp sub_4095C0 sub_40128A endp ; --------------------------------------------------------------------------- jmp near ptr dword_42AD20 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401294 proc near ; CODE XREF: sub_4096E0+A5p ; sub_412C90+21p jmp sub_4098F0 sub_401294 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401299 proc near ; CODE XREF: ___:00405042p ; ___:0041DEDAp jmp sub_41C130 sub_401299 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40129E proc near ; CODE XREF: ___:00416E6Fp jmp sub_403720 sub_40129E endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4012A3 proc near ; CODE XREF: sub_418CC0+23p ; sub_418F90+11p jmp sub_4190E0 sub_4012A3 endp ; --------------------------------------------------------------------------- jmp near ptr dword_424410 ; --------------------------------------------------------------------------- jmp near ptr dword_430960 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4012B2 proc near ; CODE XREF: sub_404010+4BEp ; ___:0040551Ap ... jmp sub_40A370 sub_4012B2 endp ; --------------------------------------------------------------------------- jmp near ptr dword_432780 ; --------------------------------------------------------------------------- jmp near ptr dword_421D80 ; --------------------------------------------------------------------------- jmp near ptr dword_427FD0 ; --------------------------------------------------------------------------- jmp near ptr dword_4247B0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4012CB proc near ; CODE XREF: sub_416220+9p ; sub_4162C0+18p jmp sub_4168D0 sub_4012CB endp ; --------------------------------------------------------------------------- jmp near ptr dword_432D70 ; --------------------------------------------------------------------------- jmp near ptr dword_42FE50 ; --------------------------------------------------------------------------- jmp loc_419CB0 ; --------------------------------------------------------------------------- jmp near ptr dword_41FFF0 ; --------------------------------------------------------------------------- jmp near ptr dword_431560 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4012E9 proc near ; CODE XREF: sub_413740+3Fp ; sub_4145A0+40p ... jmp sub_415230 sub_4012E9 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4012EE proc near ; CODE XREF: sub_404690+19Fp ; sub_404690+212p ... jmp sub_409FD0 sub_4012EE endp ; --------------------------------------------------------------------------- jmp near ptr dword_424F00 ; --------------------------------------------------------------------------- jmp near ptr dword_424F70 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4012FD proc near ; CODE XREF: ___:00416F3Ap jmp sub_418180 sub_4012FD endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401302 proc near ; CODE XREF: ___:00416F0Fp jmp sub_418010 sub_401302 endp ; --------------------------------------------------------------------------- jmp near ptr dword_431750 ; --------------------------------------------------------------------------- jmp near ptr dword_427740 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401311 proc near ; CODE XREF: sub_418430+71p ; sub_418430+BBp ... jmp sub_418AF0 sub_401311 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401316 proc near ; CODE XREF: sub_40A180+7p jmp sub_40A1A0 sub_401316 endp ; --------------------------------------------------------------------------- jmp near ptr dword_432BF0 ; --------------------------------------------------------------------------- jmp near ptr dword_4327B0 ; --------------------------------------------------------------------------- jmp near ptr dword_421CD0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40132A proc near ; CODE XREF: sub_414430+5Bp jmp sub_415100 sub_40132A endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40132F proc near ; CODE XREF: sub_415490+29p ; sub_4155B0+29p jmp sub_416030 sub_40132F endp ; --------------------------------------------------------------------------- jmp near ptr dword_4370F0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401339 proc near ; CODE XREF: sub_4134A0+5Fp ; sub_4134A0+9Ep ... jmp sub_415A60 sub_401339 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40133E proc near ; CODE XREF: sub_40B600+62p ; ___:0040BAC8p ... jmp sub_40BF40 sub_40133E endp ; --------------------------------------------------------------------------- jmp near ptr dword_4313B0 ; --------------------------------------------------------------------------- jmp near ptr dword_42FF30 ; --------------------------------------------------------------------------- jmp near ptr dword_42C690 ; --------------------------------------------------------------------------- jmp near ptr dword_42C5D0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401357 proc near ; CODE XREF: sub_416190+8p jmp sub_4167B0 sub_401357 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40135C proc near ; CODE XREF: sub_4134A0+71p ; sub_4134A0:loc_41356Cp ... jmp sub_415A10 sub_40135C endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401361 proc near ; CODE XREF: sub_418430+AFp ; sub_4190E0+3p jmp sub_418BB0 sub_401361 endp ; --------------------------------------------------------------------------- jmp near ptr dword_427D50 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40136B proc near ; CODE XREF: sub_40B600+39p ; sub_40B600+78p ... jmp sub_40BF70 sub_40136B endp ; --------------------------------------------------------------------------- jmp near ptr dword_4269A0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401375 proc near ; CODE XREF: sub_41A600+1Cp jmp sub_41A640 sub_401375 endp ; --------------------------------------------------------------------------- jmp near ptr dword_42AF20 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40137F proc near ; CODE XREF: sub_4077E0+14BCp ; ___:00414551p jmp sub_414300 sub_40137F endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401384 proc near ; CODE XREF: sub_418590+72p jmp sub_406C80 sub_401384 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401389 proc near ; CODE XREF: sub_409E00+7p ; sub_409F50+7p ... jmp sub_40A7E0 sub_401389 endp ; --------------------------------------------------------------------------- jmp near ptr dword_422B40 ; --------------------------------------------------------------------------- jmp loc_413BB0 ; --------------------------------------------------------------------------- jmp near ptr dword_42C640 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40139D proc near ; CODE XREF: sub_418A00+11p jmp sub_418D50 sub_40139D endp ; --------------------------------------------------------------------------- jmp near ptr dword_42BB00 ; --------------------------------------------------------------------------- jmp near ptr dword_42C7E0 ; --------------------------------------------------------------------------- jmp near ptr dword_42FEA0 ; --------------------------------------------------------------------------- jmp loc_414B30 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4013B6 proc near ; CODE XREF: sub_4072E0+1Fp jmp sub_4073C0 sub_4013B6 endp ; --------------------------------------------------------------------------- jmp near ptr dword_4253C0 ; --------------------------------------------------------------------------- jmp near ptr dword_42FAA0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4013C5 proc near ; CODE XREF: ___:0040FE43p ; ___:00416BEBp jmp sub_40FE70 sub_4013C5 endp ; --------------------------------------------------------------------------- jmp near ptr dword_426520 ; --------------------------------------------------------------------------- jmp loc_40D3C0 ; --------------------------------------------------------------------------- jmp near ptr dword_425370 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4013D9 proc near ; CODE XREF: sub_40A9A0+20p jmp sub_40AAD0 sub_4013D9 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4013DE proc near ; CODE XREF: ___:00410B2Dp ; ___:00410EA1p ... jmp sub_40AFA0 sub_4013DE endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4013E3 proc near ; CODE XREF: ___:004055A9p ; ___:004055B2p ... jmp sub_40A350 sub_4013E3 endp ; --------------------------------------------------------------------------- jmp near ptr dword_422640 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4013ED proc near ; CODE XREF: sub_404690+87p ; ___:004109E0p ... jmp sub_40A240 sub_4013ED endp ; --------------------------------------------------------------------------- jmp loc_41A050 ; --------------------------------------------------------------------------- jmp near ptr dword_421CA0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4013FC proc near ; CODE XREF: sub_418DA0+7p jmp sub_4190A0 sub_4013FC endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401401 proc near ; CODE XREF: sub_4162C0+5Fp jmp sub_416890 sub_401401 endp ; --------------------------------------------------------------------------- jmp loc_41B4D0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40140B proc near ; CODE XREF: sub_4157B0+29p ; sub_4158D0+29p jmp sub_416380 sub_40140B endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401410 proc near ; CODE XREF: sub_413E70+19Ap jmp sub_415890 sub_401410 endp ; --------------------------------------------------------------------------- jmp near ptr dword_4303A0 ; --------------------------------------------------------------------------- jmp near ptr dword_42E2B0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40141F proc near ; CODE XREF: ___:00416EFFp jmp sub_417F50 sub_40141F endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401424 proc near ; CODE XREF: sub_41B920:loc_41B92Fp ; sub_41B920+1Fp jmp sub_41B900 sub_401424 endp ; --------------------------------------------------------------------------- loc_401429: ; DATA XREF: sub_40AFA0+4o jmp loc_40B070 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40142E proc near ; CODE XREF: sub_403530+61p ; sub_403CE0+1Dp ... jmp sub_409BC0 sub_40142E endp ; --------------------------------------------------------------------------- jmp near ptr dword_437130 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401438 proc near ; CODE XREF: sub_418990+29p jmp sub_418C10 sub_401438 endp ; --------------------------------------------------------------------------- jmp near ptr dword_434370 ; --------------------------------------------------------------------------- jmp near ptr dword_433E10 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401447 proc near ; CODE XREF: ___:00406C23p ; ___:00416C58p jmp sub_406C50 sub_401447 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40144C proc near ; CODE XREF: sub_404690+370p ; sub_404690:loc_404A35p ... jmp sub_404C30 sub_40144C endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401451 proc near ; CODE XREF: ___:00404F2Bp ; ___:0040F346p ... jmp sub_40E870 sub_401451 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401456 proc near ; CODE XREF: sub_415A60+5p jmp sub_416540 sub_401456 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40145B proc near ; CODE XREF: sub_40B600+1Dp ; ___:0040BA2Dp ... jmp sub_40BE00 sub_40145B endp ; --------------------------------------------------------------------------- jmp loc_40B6D0 ; --------------------------------------------------------------------------- jmp near ptr dword_421C60 ; [00000005 BYTES: COLLAPSED FUNCTION j_nullsub_2. PRESS KEYPAD "+" TO EXPAND] ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40146F proc near ; CODE XREF: sub_4151C0+29p jmp sub_415CE0 sub_40146F endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401474 proc near ; CODE XREF: sub_4077E0+1310p ; sub_4077E0+1339p ... jmp sub_409530 sub_401474 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401479 proc near ; CODE XREF: sub_404690+30p ; sub_404690+14Bp ... jmp sub_40A7A0 sub_401479 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40147E proc near ; CODE XREF: ___:00419598p ; ___:004195AFp jmp sub_419890 sub_40147E endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401483 proc near ; CODE XREF: sub_412780+F8p jmp sub_41BD90 sub_401483 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401488 proc near ; CODE XREF: sub_413C40+E1p jmp sub_4152A0 sub_401488 endp ; --------------------------------------------------------------------------- jmp near ptr dword_426B60 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401492 proc near ; CODE XREF: ___:0041B5DAp ; ___:0041B60Ap jmp sub_41A6B0 sub_401492 endp ; --------------------------------------------------------------------------- jmp near ptr dword_4323F0 ; --------------------------------------------------------------------------- jmp near ptr dword_42FBD0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4014A1 proc near ; CODE XREF: sub_40EE40+EAp ; sub_418590+157p jmp sub_40ED00 sub_4014A1 endp ; --------------------------------------------------------------------------- jmp loc_40A7C0 ; --------------------------------------------------------------------------- jmp loc_40F210 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4014B0 proc near ; CODE XREF: sub_40BE00+14p ; sub_40BE40+9p ... jmp sub_40C1A0 sub_4014B0 endp ; --------------------------------------------------------------------------- jmp near ptr dword_42C530 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4014BA proc near ; CODE XREF: ___:0041CBF7p ; ___:0041D185p ... jmp sub_41D6D0 sub_4014BA endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4014BF proc near ; CODE XREF: sub_4132F0+48p jmp sub_4157B0 sub_4014BF endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4014C4 proc near ; CODE XREF: sub_418590+9Dp jmp sub_40AF60 sub_4014C4 endp ; --------------------------------------------------------------------------- jmp loc_414E10 ; --------------------------------------------------------------------------- jmp near ptr dword_427850 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4014D3 proc near ; CODE XREF: sub_403530+115p ; sub_404690+1B8p ... jmp sub_409C60 sub_4014D3 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4014D8 proc near ; CODE XREF: sub_40AD50+7p jmp sub_40AE40 sub_4014D8 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4014DD proc near ; CODE XREF: sub_404B60+9p ; ___:00404D05p ... jmp sub_40A820 sub_4014DD endp ; --------------------------------------------------------------------------- jmp near ptr dword_421A60 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4014E7 proc near ; CODE XREF: sub_41A210+10p ; sub_41A3B0+47p ... jmp sub_41A600 sub_4014E7 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4014EC proc near ; CODE XREF: sub_407100+24p jmp sub_4072E0 sub_4014EC endp ; --------------------------------------------------------------------------- jmp near ptr dword_42C4C0 ; --------------------------------------------------------------------------- jmp near ptr dword_4288F0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4014FB proc near ; CODE XREF: ___:00416C1Bp jmp sub_417640 sub_4014FB endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401500 proc near ; CODE XREF: sub_415C20+5Fp jmp sub_416610 sub_401500 endp ; --------------------------------------------------------------------------- jmp near ptr dword_424840 ; --------------------------------------------------------------------------- jmp loc_40A070 ; --------------------------------------------------------------------------- jmp loc_419AB0 ; --------------------------------------------------------------------------- jmp near ptr dword_433F20 ; --------------------------------------------------------------------------- jmp near ptr dword_42FEF0 ; --------------------------------------------------------------------------- jmp near ptr dword_42FE00 ; --------------------------------------------------------------------------- jmp near ptr dword_4224A0 ; --------------------------------------------------------------------------- jmp locret_419A30 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40152D proc near ; CODE XREF: ___:0040CE74p ; sub_40D040+143p ... jmp sub_419A70 sub_40152D endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401532 proc near ; CODE XREF: sub_418B70+3p jmp sub_418E00 sub_401532 endp ; --------------------------------------------------------------------------- jmp near ptr dword_42C830 ; --------------------------------------------------------------------------- jmp near ptr dword_433870 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401541 proc near ; CODE XREF: ___:004100C5p ; ___:004125FDp ... jmp sub_4142E0 sub_401541 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401546 proc near ; CODE XREF: sub_40B600+Bp ; ___:0040BA19p jmp sub_40BF00 sub_401546 endp ; --------------------------------------------------------------------------- jmp near ptr dword_4309A0 ; --------------------------------------------------------------------------- jmp near ptr dword_422450 ; --------------------------------------------------------------------------- jmp near ptr dword_433E50 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40155A proc near ; CODE XREF: sub_418A40+29p ; sub_418B20+29p jmp sub_418CC0 sub_40155A endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40155F proc near ; CODE XREF: sub_40B250+40p jmp sub_40BD90 sub_40155F endp ; --------------------------------------------------------------------------- jmp near ptr dword_4316A0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401569 proc near ; CODE XREF: sub_40C0D0+4p jmp sub_40C2E0 sub_401569 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40156E proc near ; CODE XREF: sub_407080+3Cp jmp sub_407230 sub_40156E endp ; --------------------------------------------------------------------------- jmp loc_41BD20 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401578 proc near ; CODE XREF: sub_4152E0+5Bp ; sub_415C20+11p ... jmp sub_415E70 sub_401578 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40157D proc near ; CODE XREF: ___:00416F8Ap jmp sub_418330 sub_40157D endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401582 proc near ; CODE XREF: sub_413740+BEp ; sub_413740+FCp ... jmp sub_4151C0 sub_401582 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401587 proc near ; CODE XREF: ___:00416E9Fp jmp sub_417CC0 sub_401587 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40158C proc near ; CODE XREF: sub_4129D0+39p ; sub_412A40+A9p jmp sub_412940 sub_40158C endp ; --------------------------------------------------------------------------- jmp near ptr dword_4323C0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401596 proc near ; CODE XREF: sub_40A510+16Fp jmp sub_40A870 sub_401596 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40159B proc near ; CODE XREF: sub_404010+51p ; sub_404010+A4p ... jmp sub_407100 sub_40159B endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4015A0 proc near ; CODE XREF: sub_4077E0+132Dp ; sub_4077E0+1356p ... jmp sub_40B760 sub_4015A0 endp ; --------------------------------------------------------------------------- jmp near ptr dword_433280 ; --------------------------------------------------------------------------- jmp loc_41A280 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4015AF proc near ; CODE XREF: sub_4160C0+4p jmp sub_416710 sub_4015AF endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4015B4 proc near ; CODE XREF: sub_409930+1Ap ; sub_409980+1Ap jmp sub_4099F0 sub_4015B4 endp ; --------------------------------------------------------------------------- jmp near ptr dword_429330 ; --------------------------------------------------------------------------- jmp near ptr dword_433BE0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4015C3 proc near ; CODE XREF: sub_419270+35p jmp sub_419300 sub_4015C3 endp ; --------------------------------------------------------------------------- jmp near ptr dword_4337B0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4015CD proc near ; CODE XREF: ___:0041D833p jmp sub_41D860 sub_4015CD endp ; --------------------------------------------------------------------------- jmp near ptr dword_4334F0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4015D7 proc near ; CODE XREF: sub_415420+5p jmp sub_415EA0 sub_4015D7 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4015DC proc near ; CODE XREF: sub_418AB0+5p ; sub_418BB0+6p ... jmp sub_418DC0 sub_4015DC endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4015E1 proc near ; CODE XREF: ___:0040560Dp ; sub_406C80+22Cp ... jmp sub_409D60 sub_4015E1 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4015E6 proc near ; CODE XREF: ___:00416E5Fp jmp sub_406BF0 sub_4015E6 endp ; --------------------------------------------------------------------------- jmp near ptr dword_424430 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4015F0 proc near ; CODE XREF: sub_415ED0+5Ap jmp sub_416760 sub_4015F0 endp ; --------------------------------------------------------------------------- jmp near ptr dword_420DD0 ; --------------------------------------------------------------------------- jmp near ptr dword_42CB20 ; --------------------------------------------------------------------------- jmp near ptr dword_429310 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401604 proc near ; CODE XREF: ___:00405B4Ep ; ___:00405CA1p ... jmp near ptr dword_420090 sub_401604 endp ; --------------------------------------------------------------------------- jmp near ptr dword_434960 ; --------------------------------------------------------------------------- jmp near ptr dword_431220 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401613 proc near ; CODE XREF: sub_418590+20Ep jmp near ptr dword_426C70 sub_401613 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401618 proc near ; CODE XREF: sub_4164E0+8p jmp sub_4168B0 sub_401618 endp ; --------------------------------------------------------------------------- jmp near ptr dword_41E760 ; --------------------------------------------------------------------------- jmp loc_41ABA0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401627 proc near ; CODE XREF: sub_40AF80p jmp near ptr dword_4325F0 sub_401627 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40162C proc near ; CODE XREF: sub_407140+1Ap ; sub_418990+1Ap jmp sub_407270 sub_40162C endp ; --------------------------------------------------------------------------- jmp loc_416D90 ; --------------------------------------------------------------------------- jmp near ptr dword_430360 ; --------------------------------------------------------------------------- jmp near ptr dword_4226E0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401640 proc near ; CODE XREF: ___:0041A30Ap jmp sub_41B160 sub_401640 endp ; --------------------------------------------------------------------------- jmp near ptr dword_432850 ; --------------------------------------------------------------------------- jmp near ptr dword_431810 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40164F proc near ; CODE XREF: ___:00416EAFp jmp sub_417D60 sub_40164F endp ; --------------------------------------------------------------------------- jmp near ptr dword_4314E0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401659 proc near ; CODE XREF: sub_40A930+8p jmp sub_40A980 sub_401659 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40165E proc near ; CODE XREF: ___:0041301Ep jmp sub_4131B0 sub_40165E endp ; --------------------------------------------------------------------------- jmp near ptr dword_4307E0 ; --------------------------------------------------------------------------- jmp near ptr dword_42CAB0 ; --------------------------------------------------------------------------- jmp near ptr dword_42C770 ; --------------------------------------------------------------------------- jmp loc_4068A0 ; --------------------------------------------------------------------------- jmp near ptr dword_42F640 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40167C proc near ; CODE XREF: sub_4073C0+5Ap jmp sub_4075C0 sub_40167C endp ; --------------------------------------------------------------------------- jmp near ptr dword_422890 ; --------------------------------------------------------------------------- jmp loc_41B5B0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40168B proc near ; CODE XREF: sub_403530+BBp ; ___:00405BF4p ... jmp sub_403700 sub_40168B endp ; --------------------------------------------------------------------------- jmp near ptr dword_434070 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401695 proc near ; CODE XREF: sub_409570+10p jmp sub_409610 sub_401695 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40169A proc near ; CODE XREF: sub_40A510+4Ap jmp sub_40A840 sub_40169A endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40169F proc near ; CODE XREF: ___:00416ECFp jmp sub_40F6D0 sub_40169F endp ; --------------------------------------------------------------------------- jmp near ptr dword_4333D0 ; --------------------------------------------------------------------------- jmp near ptr dword_42F940 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4016AE proc near ; CODE XREF: sub_40BFA0+9p ; sub_40C200+18p jmp sub_40C380 sub_4016AE endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4016B3 proc near ; CODE XREF: ___:0041DBB3p jmp near ptr dword_42FB70 sub_4016B3 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4016B8 proc near ; CODE XREF: sub_403530+CCp ; sub_404690+EDp ... jmp sub_40A710 sub_4016B8 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4016BD proc near ; CODE XREF: ___:00416EEFp jmp sub_417F20 sub_4016BD endp ; --------------------------------------------------------------------------- jmp near ptr dword_4245A0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4016C7 proc near ; CODE XREF: sub_412780+E0p ; sub_4138B0+CEp jmp sub_409F50 sub_4016C7 endp ; --------------------------------------------------------------------------- jmp near ptr dword_42F420 ; --------------------------------------------------------------------------- jmp near ptr dword_42FBA0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4016D6 proc near ; CODE XREF: sub_415140+29p jmp sub_415AD0 sub_4016D6 endp ; --------------------------------------------------------------------------- jmp near ptr dword_427910 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4016E0 proc near ; CODE XREF: sub_4096E0+58p ; sub_4096E0+82p ... jmp sub_409930 sub_4016E0 endp ; --------------------------------------------------------------------------- jmp near ptr dword_428210 ; --------------------------------------------------------------------------- jmp near ptr dword_421BB0 ; --------------------------------------------------------------------------- jmp loc_41AF50 ; --------------------------------------------------------------------------- jmp loc_4119B0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4016F9 proc near ; CODE XREF: sub_40A930+10p jmp sub_40A9A0 sub_4016F9 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4016FE proc near ; CODE XREF: sub_418590+219p jmp near ptr dword_4364D0 sub_4016FE endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401703 proc near ; CODE XREF: sub_418430+7Bp ; sub_418430+C5p ... jmp sub_418BE0 sub_401703 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401708 proc near ; CODE XREF: sub_4148A0+FCp jmp sub_414A70 sub_401708 endp ; --------------------------------------------------------------------------- jmp near ptr dword_421B10 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401712 proc near ; CODE XREF: sub_40AF60p jmp near ptr dword_432570 sub_401712 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401717 proc near ; CODE XREF: sub_4096E0+91p ; sub_412C90+Dp jmp sub_4098B0 sub_401717 endp ; --------------------------------------------------------------------------- jmp loc_40C4E0 ; --------------------------------------------------------------------------- jmp loc_40AEC0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401726 proc near ; CODE XREF: sub_413A80+4Ep jmp sub_415140 sub_401726 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40172B proc near ; CODE XREF: sub_40F6D0+13Dp jmp sub_412C60 sub_40172B endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401730 proc near ; CODE XREF: ___:0040F290p ; sub_418590+132p jmp sub_40E2F0 sub_401730 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401735 proc near ; CODE XREF: sub_415140+51p jmp sub_415BA0 sub_401735 endp ; --------------------------------------------------------------------------- jmp near ptr dword_428AB0 ; --------------------------------------------------------------------------- jmp near ptr dword_426700 ; --------------------------------------------------------------------------- jmp loc_41AFF0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401749 proc near ; CODE XREF: sub_407140+48p ; sub_407140:loc_4071C5p jmp sub_407340 sub_401749 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40174E proc near ; CODE XREF: sub_40AEF0+2Cp ; sub_418430+8Fp ... jmp sub_40B020 sub_40174E endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401753 proc near ; CODE XREF: sub_403720+2A5p ; sub_403720+2B5p ... jmp sub_403DE0 sub_401753 endp ; --------------------------------------------------------------------------- jmp near ptr dword_42B6F0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40175D proc near ; CODE XREF: sub_415A90+14p ; sub_415AD0+9p ... jmp sub_416630 sub_40175D endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401762 proc near ; CODE XREF: sub_40B020+10p jmp near ptr dword_431470 sub_401762 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401767 proc near ; CODE XREF: ___:0040AFF4p jmp near ptr dword_4348A0 sub_401767 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40176C proc near ; CODE XREF: sub_418E80+5Fp jmp sub_419110 sub_40176C endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401771 proc near ; CODE XREF: ___:0041896Cp jmp sub_418590 sub_401771 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401776 proc near ; CODE XREF: ___:00416B1Bp ; ___:00416DE3p jmp sub_416DC0 sub_401776 endp ; --------------------------------------------------------------------------- jmp near ptr dword_420EC0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401780 proc near ; CODE XREF: ___:00416EBFp jmp sub_417E30 sub_401780 endp ; --------------------------------------------------------------------------- jmp near ptr dword_4322D0 ; --------------------------------------------------------------------------- jmp near ptr dword_42F590 ; --------------------------------------------------------------------------- jmp near ptr dword_428880 ; --------------------------------------------------------------------------- jmp near ptr dword_426560 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401799 proc near ; CODE XREF: ___:00416F9Ap jmp sub_418360 sub_401799 endp ; --------------------------------------------------------------------------- jmp near ptr dword_433200 ; --------------------------------------------------------------------------- jmp near ptr dword_4301A0 ; --------------------------------------------------------------------------- jmp near ptr dword_4291E0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4017AD proc near ; CODE XREF: ___:00416BCBp ; ___:00416D93p jmp sub_416D60 sub_4017AD endp ; --------------------------------------------------------------------------- jmp near ptr dword_42B3F0 ; --------------------------------------------------------------------------- jmp near ptr dword_432A20 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_40AF60 loc_4017BC: ; CODE XREF: sub_40AF60+5j jmp near ptr dword_432670 ; END OF FUNCTION CHUNK FOR sub_40AF60 ; --------------------------------------------------------------------------- jmp near ptr dword_431420 ; --------------------------------------------------------------------------- jmp near ptr dword_4267A0 ; --------------------------------------------------------------------------- ; START OF FUNCTION CHUNK FOR sub_40AF80 loc_4017CB: ; CODE XREF: sub_40AF80+5j jmp near ptr dword_432690 ; END OF FUNCTION CHUNK FOR sub_40AF80 ; --------------------------------------------------------------------------- jmp loc_404CC0 ; --------------------------------------------------------------------------- jmp near ptr dword_424870 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4017DA proc near ; CODE XREF: ___:00416B8Bp jmp sub_417A60 sub_4017DA endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4017DF proc near ; CODE XREF: sub_416220+11p ; sub_416220+27p ... jmp sub_4167F0 sub_4017DF endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4017E4 proc near ; CODE XREF: sub_415A10+3p ; sub_416220+4Fp ... jmp sub_4164A0 sub_4017E4 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4017E9 proc near ; CODE XREF: sub_415600+6Ap ; sub_416030+32p jmp sub_415F70 sub_4017E9 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4017EE proc near ; CODE XREF: sub_403530+DBp ; sub_404010+3Fp ... jmp sub_40A800 sub_4017EE endp ; --------------------------------------------------------------------------- jmp near ptr dword_422470 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4017F8 proc near ; CODE XREF: sub_418590+A8p jmp sub_40B2F0 sub_4017F8 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4017FD proc near ; CODE XREF: sub_4068E0+205p jmp sub_41B920 sub_4017FD endp ; [00000005 BYTES: COLLAPSED FUNCTION j_nullsub_8. PRESS KEYPAD "+" TO EXPAND] ; --------------------------------------------------------------------------- jmp near ptr dword_427D30 ; --------------------------------------------------------------------------- jmp near ptr dword_4257F0 ; --------------------------------------------------------------------------- jmp near ptr dword_421B80 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401816 proc near ; CODE XREF: sub_40A1F0+7p ; sub_40D660+2FDp jmp sub_40A210 sub_401816 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40181B proc near ; CODE XREF: sub_40B510+76p jmp sub_40B470 sub_40181B endp ; --------------------------------------------------------------------------- jmp near ptr dword_425100 ; --------------------------------------------------------------------------- jmp near ptr dword_4219F0 ; --------------------------------------------------------------------------- jmp near ptr dword_428210 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40182F proc near ; CODE XREF: ___:00416EDFp jmp sub_417EF0 sub_40182F endp ; --------------------------------------------------------------------------- jmp near ptr dword_42FF10 ; --------------------------------------------------------------------------- jmp near ptr dword_421D50 ; --------------------------------------------------------------------------- jmp near ptr dword_427C50 ; --------------------------------------------------------------------------- jmp near ptr dword_424480 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401848 proc near ; CODE XREF: sub_40BF20+3p ; sub_40BFA0+4Fp ... jmp sub_40C160 sub_401848 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40184D proc near ; CODE XREF: sub_407140+36p ; sub_407140+72p ... jmp sub_407390 sub_40184D endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401852 proc near ; CODE XREF: sub_4131F0+61p jmp sub_415770 sub_401852 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401857 proc near ; CODE XREF: ___:0040BAB1p ; ___:0040BB78p ... jmp sub_412B70 sub_401857 endp ; --------------------------------------------------------------------------- jmp near ptr dword_432E20 ; --------------------------------------------------------------------------- jmp near ptr dword_432E90 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401866 proc near ; CODE XREF: sub_416460+7p jmp sub_416840 sub_401866 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40186B proc near ; CODE XREF: sub_418430+34p jmp sub_404C70 sub_40186B endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401870 proc near ; CODE XREF: sub_403530+7Ap ; sub_403530+9Ep ... jmp sub_409C20 sub_401870 endp ; --------------------------------------------------------------------------- jmp near ptr dword_4208A0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40187A proc near ; CODE XREF: ___:0041A328p ; ___:0041B113p jmp sub_41B140 sub_40187A endp ; --------------------------------------------------------------------------- jmp near ptr dword_42B060 ; --------------------------------------------------------------------------- jmp loc_41C1E0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401889 proc near ; CODE XREF: ___:00416B4Bp jmp sub_416E10 sub_401889 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40188E proc near ; CODE XREF: ___:00410247p jmp near ptr dword_41FE50 sub_40188E endp ; --------------------------------------------------------------------------- jmp near ptr dword_429450 ; --------------------------------------------------------------------------- jmp near ptr dword_4290B0 ; --------------------------------------------------------------------------- jmp near ptr dword_42B440 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4018A2 proc near ; CODE XREF: ___:0041B68Dp jmp sub_41AE30 sub_4018A2 endp ; --------------------------------------------------------------------------- jmp near ptr dword_4341C0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4018AC proc near ; CODE XREF: ___:00414295p ; ___:00414FC2p jmp sub_413E70 sub_4018AC endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4018B1 proc near ; CODE XREF: ___:00412266p jmp sub_40A1F0 sub_4018B1 endp ; --------------------------------------------------------------------------- jmp near ptr dword_4204D0 ; --------------------------------------------------------------------------- jmp near ptr dword_433000 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4018C0 proc near ; CODE XREF: sub_40A9F0+14p jmp sub_40ACA0 sub_4018C0 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4018C5 proc near ; CODE XREF: sub_4135E0+B4p ; ___:00414C60p ... jmp sub_415710 sub_4018C5 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4018CA proc near ; CODE XREF: sub_41A3B0+6Dp ; sub_41A3B0+1B5p jmp sub_41B060 sub_4018CA endp ; --------------------------------------------------------------------------- jmp near ptr dword_431D80 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4018D4 proc near ; CODE XREF: sub_418F90+5Fp jmp sub_419130 sub_4018D4 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4018D9 proc near ; CODE XREF: ___:00416B9Bp jmp sub_4179F0 sub_4018D9 endp ; --------------------------------------------------------------------------- jmp loc_419ED0 ; --------------------------------------------------------------------------- jmp loc_41A1E0 ; --------------------------------------------------------------------------- jmp near ptr dword_4219B0 ; --------------------------------------------------------------------------- jmp near ptr dword_42ACB0 ; --------------------------------------------------------------------------- jmp near ptr dword_422620 ; --------------------------------------------------------------------------- jmp near ptr dword_422690 ; --------------------------------------------------------------------------- jmp near ptr dword_422670 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401901 proc near ; CODE XREF: sub_4134A0+43p ; sub_4148A0+4Fp ... jmp sub_415820 sub_401901 endp ; --------------------------------------------------------------------------- jmp near ptr dword_431D00 ; --------------------------------------------------------------------------- jmp near ptr dword_421E50 ; --------------------------------------------------------------------------- jmp near ptr dword_421F80 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401915 proc near ; CODE XREF: sub_40B470+6Dp jmp sub_40BE70 sub_401915 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40191A proc near ; CODE XREF: sub_409530+13p jmp loc_409660 sub_40191A endp ; --------------------------------------------------------------------------- jmp near ptr dword_4378B0 ; --------------------------------------------------------------------------- jmp loc_41B110 ; --------------------------------------------------------------------------- jmp loc_416DE0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40192E proc near ; CODE XREF: ___:00413C01p jmp sub_413A80 sub_40192E endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401933 proc near ; CODE XREF: sub_4131F0+73p ; sub_4132F0+32p jmp sub_4155B0 sub_401933 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401938 proc near ; CODE XREF: ___:00416C4Bp jmp sub_417120 sub_401938 endp ; --------------------------------------------------------------------------- jmp near ptr dword_432390 ; --------------------------------------------------------------------------- jmp near ptr dword_4347E0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401947 proc near ; CODE XREF: ___:0041C801p ; ___:0041C980p ... jmp near ptr dword_420F10 sub_401947 endp ; --------------------------------------------------------------------------- jmp loc_40A4E0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401951 proc near ; CODE XREF: ___:00404F43p ; sub_40EE40+D2p ... jmp sub_40F060 sub_401951 endp ; --------------------------------------------------------------------------- jmp near ptr dword_421FD0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40195B proc near ; CODE XREF: ___:004058B1p jmp sub_406730 sub_40195B endp ; --------------------------------------------------------------------------- jmp near ptr dword_433650 ; --------------------------------------------------------------------------- jmp near ptr dword_41FC30 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40196A proc near ; CODE XREF: ___:0041A29Ep ; sub_41A3B0+Bp ... jmp sub_41A390 sub_40196A endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40196F proc near ; CODE XREF: ___:0041AC86p ; ___:0041AD66p jmp sub_41A990 sub_40196F endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401974 proc near ; CODE XREF: sub_418590+274p jmp sub_419320 sub_401974 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401979 proc near ; CODE XREF: sub_4119E0+2Ep ; sub_411BE0+3p jmp sub_411B20 sub_401979 endp ; --------------------------------------------------------------------------- jmp near ptr dword_421AA0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401983 proc near ; CODE XREF: sub_409530+4p ; sub_4096E0+1Fp ... jmp sub_4095E0 sub_401983 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401988 proc near ; CODE XREF: sub_418590+88p jmp sub_409B10 sub_401988 endp ; --------------------------------------------------------------------------- jmp near ptr dword_41FF50 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401992 proc near ; CODE XREF: sub_4135E0+4Ap ; ___:00414C0Fp ... jmp sub_415500 sub_401992 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401997 proc near ; CODE XREF: sub_40A510+A8p jmp sub_40A930 sub_401997 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40199C proc near ; CODE XREF: ___:0040CCD1p jmp sub_40CF40 sub_40199C endp ; --------------------------------------------------------------------------- jmp near ptr dword_434450 ; --------------------------------------------------------------------------- jmp near ptr dword_421EF0 ; --------------------------------------------------------------------------- jmp near ptr dword_42FFE0 ; --------------------------------------------------------------------------- jmp near ptr dword_42FFB0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4019B5 proc near ; CODE XREF: sub_40A870+Dp ; sub_40AAD0+91p jmp sub_40A9F0 sub_4019B5 endp ; --------------------------------------------------------------------------- jmp near ptr dword_4226B0 ; --------------------------------------------------------------------------- jmp loc_41AC20 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4019C4 proc near ; CODE XREF: sub_404010+2Cp ; sub_404010+7Fp ... jmp sub_403530 sub_4019C4 endp ; --------------------------------------------------------------------------- jmp near ptr dword_4228C0 ; --------------------------------------------------------------------------- jmp loc_416D30 ; --------------------------------------------------------------------------- jmp loc_40FE40 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4019D8 proc near ; CODE XREF: sub_407460+4p jmp sub_407590 sub_4019D8 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4019DD proc near ; CODE XREF: ___:0040B709p ; ___:0040BB26p ... jmp sub_40B600 sub_4019DD endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4019E2 proc near ; CODE XREF: ___:00410B24p ; ___:00410E9Ap jmp sub_411BE0 sub_4019E2 endp ; --------------------------------------------------------------------------- jmp near ptr dword_433C30 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4019EC proc near ; CODE XREF: sub_4145A0+CEp jmp sub_414710 sub_4019EC endp ; --------------------------------------------------------------------------- jmp near ptr dword_42CB70 ; --------------------------------------------------------------------------- jmp loc_41D830 ; --------------------------------------------------------------------------- jmp near ptr dword_422030 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401A00 proc near ; CODE XREF: ___:00416E8Fp jmp sub_40B190 sub_401A00 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401A05 proc near ; CODE XREF: sub_418590+B3p jmp sub_4133B0 sub_401A05 endp ; --------------------------------------------------------------------------- jmp near ptr dword_4201F0 ; --------------------------------------------------------------------------- jmp near ptr dword_421950 ; --------------------------------------------------------------------------- jmp near ptr dword_428940 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401A19 proc near ; CODE XREF: sub_418590+236p jmp sub_411C10 sub_401A19 endp ; --------------------------------------------------------------------------- jmp near ptr dword_431C30 ; --------------------------------------------------------------------------- jmp near ptr dword_4292B0 ; --------------------------------------------------------------------------- jmp near ptr dword_427D00 ; --------------------------------------------------------------------------- jmp near ptr dword_422340 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401A32 proc near ; CODE XREF: ___:00416BDBp ; ___:00416D33p jmp sub_416D00 sub_401A32 endp ; --------------------------------------------------------------------------- jmp near ptr dword_420E00 ; --------------------------------------------------------------------------- jmp near ptr dword_422720 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401A41 proc near ; CODE XREF: ___:00412F9Fp ; ___:00413054p jmp sub_404690 sub_401A41 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401A46 proc near ; CODE XREF: sub_409530+1Ap ; sub_409610+4p ... jmp sub_4095A0 sub_401A46 endp ; --------------------------------------------------------------------------- jmp loc_40FE40 ; --------------------------------------------------------------------------- jmp near ptr dword_427990 ; --------------------------------------------------------------------------- jmp near ptr dword_426070 ; --------------------------------------------------------------------------- jmp loc_409E30 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401A5F proc near ; CODE XREF: sub_415BA0+1Ep jmp sub_416650 sub_401A5F endp ; --------------------------------------------------------------------------- jmp near ptr dword_431630 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401A69 proc near ; CODE XREF: sub_4138B0+3Ep jmp near ptr dword_434BF0 sub_401A69 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401A6E proc near ; CODE XREF: sub_414A70+3p jmp sub_414AA0 sub_401A6E endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401A73 proc near ; CODE XREF: sub_4077E0+AB9p ; sub_4077E0+F4Ap jmp sub_409570 sub_401A73 endp ; --------------------------------------------------------------------------- jmp near ptr dword_4276C0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401A7D proc near ; CODE XREF: ___:0041DADDp jmp near ptr dword_42DB00 sub_401A7D endp ; --------------------------------------------------------------------------- jmp near ptr dword_4208C0 ; --------------------------------------------------------------------------- jmp near ptr dword_4302E0 ; --------------------------------------------------------------------------- jmp near ptr dword_422850 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401A91 proc near ; CODE XREF: ___:00416F4Ap jmp sub_418200 sub_401A91 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401A96 proc near ; CODE XREF: sub_407270+5p ; sub_407360+6p ... jmp sub_4074B0 sub_401A96 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401A9B proc near ; CODE XREF: sub_403530+90p ; ___:004050CCp ... jmp sub_40A780 sub_401A9B endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401AA0 proc near ; CODE XREF: ___:0041DC2Fp jmp near ptr dword_41FE90 sub_401AA0 endp ; --------------------------------------------------------------------------- jmp near ptr dword_430B30 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401AAA proc near ; CODE XREF: sub_415570+1Fp jmp sub_415ED0 sub_401AAA endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401AAF proc near ; CODE XREF: sub_403530+E5p ; sub_409F50+Fp ... jmp sub_409E80 sub_401AAF endp ; --------------------------------------------------------------------------- jmp near ptr dword_434A00 ; --------------------------------------------------------------------------- jmp near ptr dword_434770 ; --------------------------------------------------------------------------- jmp near ptr dword_4227C0 ; --------------------------------------------------------------------------- jmp near ptr dword_427D00 ; --------------------------------------------------------------------------- jmp near ptr dword_424E20 ; --------------------------------------------------------------------------- jmp loc_4120B0 ; --------------------------------------------------------------------------- jmp near ptr dword_41FB90 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401AD7 proc near ; CODE XREF: sub_407140+Bp jmp sub_407320 sub_401AD7 endp ; --------------------------------------------------------------------------- jmp near ptr dword_433E90 ; --------------------------------------------------------------------------- jmp loc_40B9B0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401AE6 proc near ; CODE XREF: sub_403F30+2Bp ; sub_403F30+3Bp ... jmp sub_403D60 sub_401AE6 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401AEB proc near ; CODE XREF: sub_4135E0+66p ; sub_4135E0+CAp ... jmp sub_415740 sub_401AEB endp ; --------------------------------------------------------------------------- jmp loc_41B880 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401AF5 proc near ; CODE XREF: sub_418590+203p jmp near ptr dword_4228F0 sub_401AF5 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401AFA proc near ; CODE XREF: ___:00416C2Bp jmp sub_40B250 sub_401AFA endp ; --------------------------------------------------------------------------- jmp near ptr dword_4216D0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401B04 proc near ; CODE XREF: sub_404C30+15p jmp sub_407140 sub_401B04 endp ; --------------------------------------------------------------------------- jmp loc_41A1E0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401B0E proc near ; CODE XREF: ___:0041700Fp jmp sub_418A00 sub_401B0E endp ; --------------------------------------------------------------------------- jmp loc_40CBD0 ; --------------------------------------------------------------------------- jmp near ptr dword_42B060 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401B1D proc near ; CODE XREF: sub_4170B0+28p jmp sub_418990 sub_401B1D endp ; --------------------------------------------------------------------------- jmp near ptr dword_432D10 ; --------------------------------------------------------------------------- jmp near ptr dword_4316C0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401B2C proc near ; CODE XREF: sub_418590+2AAp jmp sub_40AF80 sub_401B2C endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401B31 proc near ; CODE XREF: sub_418D50+2Bp ; sub_418F90+28p ... jmp sub_419050 sub_401B31 endp ; --------------------------------------------------------------------------- jmp near ptr dword_42C7E0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401B3B proc near ; CODE XREF: ___:00416B7Bp jmp sub_417AD0 sub_401B3B endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401B40 proc near ; CODE XREF: sub_4077E0+FE9p ; sub_4077E0+100Ap ... jmp sub_4076B0 sub_401B40 endp ; --------------------------------------------------------------------------- jmp loc_414BC0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401B4A proc near ; CODE XREF: ___:0041C793p jmp sub_41D640 sub_401B4A endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401B4F proc near ; CODE XREF: sub_41A990+11p jmp sub_41A9C0 sub_401B4F endp ; --------------------------------------------------------------------------- jmp near ptr dword_421D10 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401B59 proc near ; CODE XREF: sub_414D40+3p jmp sub_414D70 sub_401B59 endp ; --------------------------------------------------------------------------- jmp near ptr dword_433F90 ; --------------------------------------------------------------------------- jmp near ptr dword_430830 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401B68 proc near ; CODE XREF: sub_40FE70+38p jmp sub_412C90 sub_401B68 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401B6D proc near ; CODE XREF: sub_418590+112p jmp sub_40D660 sub_401B6D endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401B72 proc near ; CODE XREF: sub_4076B0+3Bp ; sub_407740+43p jmp sub_40B510 sub_401B72 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401B77 proc near ; CODE XREF: sub_407320+3p jmp sub_4074F0 sub_401B77 endp ; --------------------------------------------------------------------------- jmp near ptr dword_4246D0 ; --------------------------------------------------------------------------- jmp near ptr dword_426EC0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401B86 proc near ; CODE XREF: ___:00410443p ; ___:00410F99p ... jmp sub_40A040 sub_401B86 endp ; --------------------------------------------------------------------------- jmp near ptr dword_4267D0 ; --------------------------------------------------------------------------- jmp near ptr dword_422510 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401B95 proc near ; CODE XREF: ___:0041B655p jmp sub_41A7D0 sub_401B95 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401B9A proc near ; CODE XREF: sub_40C040+23p ; sub_40C200+11p jmp sub_40C3A0 sub_401B9A endp ; --------------------------------------------------------------------------- jmp near ptr dword_42CB50 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401BA4 proc near ; CODE XREF: sub_418590+25Ep jmp near ptr dword_41E240 sub_401BA4 endp ; --------------------------------------------------------------------------- jmp near ptr dword_432940 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401BAE proc near ; CODE XREF: sub_409610+20p jmp sub_4096E0 sub_401BAE endp ; --------------------------------------------------------------------------- jmp near ptr dword_423800 ; --------------------------------------------------------------------------- jmp loc_40CC90 ; --------------------------------------------------------------------------- jmp near ptr dword_431CC0 ; --------------------------------------------------------------------------- jmp near ptr dword_4220B0 ; --------------------------------------------------------------------------- jmp near ptr dword_4283D0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401BCC proc near ; CODE XREF: sub_415820+5p ; sub_415A30+6p ... jmp sub_416480 sub_401BCC endp ; --------------------------------------------------------------------------- jmp near ptr dword_4317C0 ; --------------------------------------------------------------------------- jmp near ptr dword_431EF0 ; --------------------------------------------------------------------------- jmp near ptr dword_427C90 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401BE0 proc near ; CODE XREF: ___:0041B4D3p jmp sub_41B500 sub_401BE0 endp ; --------------------------------------------------------------------------- jmp near ptr dword_429540 ; --------------------------------------------------------------------------- jmp near ptr dword_426BD0 ; --------------------------------------------------------------------------- jmp near ptr dword_42F2C0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401BF4 proc near ; CODE XREF: sub_414300+3Cp jmp sub_414430 sub_401BF4 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401BF9 proc near ; CODE XREF: sub_418590+28Ap jmp sub_40C440 sub_401BF9 endp ; --------------------------------------------------------------------------- jmp near ptr dword_424920 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401C03 proc near ; CODE XREF: sub_40B190+6Ep ; sub_40B250+34p ... jmp sub_40BEB0 sub_401C03 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401C08 proc near ; CODE XREF: sub_40B190+5Cp jmp sub_40BD50 sub_401C08 endp ; --------------------------------------------------------------------------- jmp near ptr dword_433AB0 ; --------------------------------------------------------------------------- jmp near ptr dword_432410 ; --------------------------------------------------------------------------- jmp near ptr dword_431980 ; --------------------------------------------------------------------------- jmp near ptr dword_430020 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401C21 proc near ; CODE XREF: sub_418590+253p jmp near ptr dword_435AA0 sub_401C21 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401C26 proc near ; CODE XREF: sub_4138B0+84p jmp near ptr dword_434C30 sub_401C26 endp ; --------------------------------------------------------------------------- jmp near ptr dword_42C350 ; --------------------------------------------------------------------------- jmp near ptr dword_42B8E0 ; --------------------------------------------------------------------------- jmp loc_41B720 ; --------------------------------------------------------------------------- jmp near ptr dword_432DB0 ; --------------------------------------------------------------------------- jmp near ptr dword_4292E0 ; --------------------------------------------------------------------------- jmp near ptr dword_41FD80 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401C49 proc near ; CODE XREF: sub_41B0E0+8p ; ___:0041B49Dp ... jmp sub_41A110 sub_401C49 endp ; --------------------------------------------------------------------------- jmp near ptr dword_42B420 ; --------------------------------------------------------------------------- jmp loc_41AE80 ; --------------------------------------------------------------------------- jmp loc_416A90 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401C5D proc near ; CODE XREF: sub_40BE70+1Fp jmp sub_40BFA0 sub_401C5D endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401C62 proc near ; CODE XREF: sub_415B00+9p ; sub_415C20+18p jmp sub_4166D0 sub_401C62 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401C67 proc near ; CODE XREF: sub_418D50+4p jmp sub_419070 sub_401C67 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401C6C proc near ; CODE XREF: sub_4073C0+11p ; sub_4073C0+27p ... jmp sub_407570 sub_401C6C endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401C71 proc near ; CODE XREF: ___:00404DD1p ; ___:00405B87p ... jmp sub_40A2D0 sub_401C71 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401C76 proc near ; CODE XREF: sub_4131F0+7Ap ; sub_4132F0+3Cp ... jmp sub_4158D0 sub_401C76 endp ; --------------------------------------------------------------------------- jmp near ptr dword_42FCB0 ; --------------------------------------------------------------------------- jmp near ptr dword_426B10 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401C85 proc near ; CODE XREF: sub_40B600+2Fp ; sub_40B600+6Ep ... jmp sub_40BE40 sub_401C85 endp ; --------------------------------------------------------------------------- jmp near ptr dword_433FB0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401C8F proc near ; CODE XREF: sub_415450+11p ; sub_415ED0+1Fp jmp sub_4160C0 sub_401C8F endp ; --------------------------------------------------------------------------- jmp loc_41D930 ; --------------------------------------------------------------------------- jmp loc_419A10 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401C9E proc near ; CODE XREF: sub_4073C0+9p ; sub_418E80+18p jmp sub_407610 sub_401C9E endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401CA3 proc near ; CODE XREF: ___:004132C3p ; ___:00416C3Bp jmp sub_4132F0 sub_401CA3 endp ; --------------------------------------------------------------------------- jmp loc_40B8F0 ; --------------------------------------------------------------------------- jmp loc_416D90 ; [00000005 BYTES: COLLAPSED FUNCTION j_nullsub_4. PRESS KEYPAD "+" TO EXPAND] ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401CB7 proc near ; CODE XREF: ___:00416F6Ap jmp sub_4182B0 sub_401CB7 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401CBC proc near ; CODE XREF: sub_415BA0+Cp ; sub_415BA0+43p jmp sub_4166A0 sub_401CBC endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401CC1 proc near ; CODE XREF: sub_4096E0+45p jmp sub_4099C0 sub_401CC1 endp ; --------------------------------------------------------------------------- jmp near ptr dword_434430 ; [00000005 BYTES: COLLAPSED FUNCTION j_nullsub_1. PRESS KEYPAD "+" TO EXPAND] ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401CD0 proc near ; CODE XREF: ___:004103D4p jmp sub_40A0E0 sub_401CD0 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401CD5 proc near ; CODE XREF: sub_4077E0+6BCp ; sub_4077E0+763p ... jmp sub_407740 sub_401CD5 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401CDA proc near ; CODE XREF: sub_415500+14p ; sub_415540+9p ... jmp sub_416190 sub_401CDA endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401CDF proc near ; CODE XREF: sub_4096E0+144p jmp sub_409A50 sub_401CDF endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401CE4 proc near ; CODE XREF: sub_404690+1C2p ; sub_404B60+36p ... jmp sub_4134A0 sub_401CE4 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401CE9 proc near ; CODE XREF: sub_4151C0+34p ; sub_415C20+67p jmp sub_415DC0 sub_401CE9 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401CEE proc near ; CODE XREF: sub_418590+2C2p jmp sub_409B80 sub_401CEE endp ; --------------------------------------------------------------------------- jmp near ptr dword_41FD00 ; --------------------------------------------------------------------------- jmp near ptr dword_42F3A0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401CFD proc near ; CODE XREF: sub_40BF70+5p jmp sub_40C1D0 sub_401CFD endp ; --------------------------------------------------------------------------- jmp near ptr dword_430520 ; --------------------------------------------------------------------------- jmp near ptr dword_422400 ; --------------------------------------------------------------------------- jmp loc_4132C0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401D11 proc near ; CODE XREF: sub_415890+1Fp jmp sub_416220 sub_401D11 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401D16 proc near ; CODE XREF: sub_40F6D0+1ACp ; sub_40F6D0+1EDp ... jmp sub_40F660 sub_401D16 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401D1B proc near ; CODE XREF: sub_413E70+15Cp jmp sub_414160 sub_401D1B endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401D20 proc near ; CODE XREF: sub_404C70+23p ; ___:004113F2p jmp sub_412BF0 sub_401D20 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401D25 proc near ; CODE XREF: ___:00416F2Fp jmp sub_418150 sub_401D25 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401D2A proc near ; CODE XREF: sub_407590+7p ; sub_40C2E0+7p ... jmp sub_407630 sub_401D2A endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401D2F proc near ; CODE XREF: sub_40A8F0+1Ap ; sub_40A9A0+4p ... jmp sub_40A960 sub_401D2F endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401D34 proc near ; CODE XREF: sub_404690+289p ; sub_404690+2ADp jmp sub_40A180 sub_401D34 endp ; --------------------------------------------------------------------------- jmp near ptr dword_4305A0 ; --------------------------------------------------------------------------- jmp near ptr dword_4295B0 ; --------------------------------------------------------------------------- jmp near ptr dword_42F970 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401D48 proc near ; CODE XREF: sub_418590+C0p jmp sub_404010 sub_401D48 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401D4D proc near ; CODE XREF: ___:004121D3p ; ___:00412292p jmp sub_412780 sub_401D4D endp ; --------------------------------------------------------------------------- jmp loc_41B570 ; --------------------------------------------------------------------------- jmp loc_40B870 ; --------------------------------------------------------------------------- jmp near ptr dword_4222E0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401D61 proc near ; CODE XREF: sub_415F70+5Fp jmp sub_416790 sub_401D61 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401D66 proc near ; CODE XREF: ___:0041DBF7p jmp near ptr dword_42FD30 sub_401D66 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401D6B proc near ; CODE XREF: sub_418CA0+7p jmp sub_418F40 sub_401D6B endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401D70 proc near ; CODE XREF: sub_413740+5Dp ; sub_413740+9Bp ... jmp sub_415420 sub_401D70 endp ; --------------------------------------------------------------------------- jmp near ptr dword_437390 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401D7A proc near ; CODE XREF: sub_415820+14p ; sub_415860+9p ... jmp sub_4164E0 sub_401D7A endp ; --------------------------------------------------------------------------- jmp loc_40B960 ; --------------------------------------------------------------------------- jmp near ptr dword_431950 ; --------------------------------------------------------------------------- jmp near ptr dword_4222B0 ; --------------------------------------------------------------------------- jmp near ptr dword_42DAD0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401D93 proc near ; CODE XREF: sub_418590+1F8p jmp sub_41C490 sub_401D93 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401D98 proc near ; CODE XREF: sub_418AB0+14p ; sub_418AF0+9p jmp sub_418E20 sub_401D98 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401D9D proc near ; CODE XREF: sub_413740+53p ; sub_413740+91p ... jmp sub_415270 sub_401D9D endp ; --------------------------------------------------------------------------- jmp near ptr dword_426B90 ; --------------------------------------------------------------------------- jmp near ptr dword_426A90 ; [00000005 BYTES: COLLAPSED FUNCTION j_nullsub_6. PRESS KEYPAD "+" TO EXPAND] ; --------------------------------------------------------------------------- jmp near ptr dword_428DC0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401DB6 proc near ; CODE XREF: sub_415770+11p ; sub_416220+1Fp jmp sub_416410 sub_401DB6 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401DBB proc near ; CODE XREF: sub_415230+14p ; sub_415270+9p ... jmp sub_415E40 sub_401DBB endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401DC0 proc near ; CODE XREF: ___:004147E3p jmp sub_4145A0 sub_401DC0 endp ; [00000005 BYTES: COLLAPSED FUNCTION j_nullsub_3. PRESS KEYPAD "+" TO EXPAND] ; --------------------------------------------------------------------------- jmp near ptr dword_425DC0 ; --------------------------------------------------------------------------- jmp near ptr dword_428810 ; --------------------------------------------------------------------------- jmp near ptr dword_42C1B0 ; --------------------------------------------------------------------------- jmp loc_4141F0 ; --------------------------------------------------------------------------- jmp near ptr dword_432AE0 ; --------------------------------------------------------------------------- jmp loc_40B150 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401DE8 proc near ; CODE XREF: sub_40AAD0+45p jmp sub_40AD50 sub_401DE8 endp ; --------------------------------------------------------------------------- jmp near ptr dword_432C80 ; --------------------------------------------------------------------------- jmp near ptr dword_4281A0 ; --------------------------------------------------------------------------- jmp near ptr dword_432D50 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401DFC proc near ; CODE XREF: ___:00410B17p ; ___:00410E8Dp jmp near ptr dword_41EF70 sub_401DFC endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401E01 proc near ; CODE XREF: sub_40AD80+Ap jmp sub_40AE70 sub_401E01 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401E06 proc near ; CODE XREF: ___:00416B3Bp jmp sub_417BE0 sub_401E06 endp ; --------------------------------------------------------------------------- jmp near ptr dword_422420 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401E10 proc near ; CODE XREF: ___:0040C751p jmp near ptr dword_423760 sub_401E10 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401E15 proc near ; CODE XREF: sub_416220+5Ap jmp sub_416860 sub_401E15 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401E1A proc near ; CODE XREF: sub_415DC0+7p jmp sub_4165C0 sub_401E1A endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401E1F proc near ; CODE XREF: ___:0041DACBp jmp near ptr dword_42DA80 sub_401E1F endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401E24 proc near ; CODE XREF: sub_404010+49Bp ; ___:004054F5p ... jmp sub_4129D0 sub_401E24 endp ; --------------------------------------------------------------------------- jmp loc_4132C0 ; --------------------------------------------------------------------------- jmp near ptr dword_429510 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401E33 proc near ; CODE XREF: sub_415490+34p ; sub_415F70+67p jmp sub_416110 sub_401E33 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401E38 proc near ; CODE XREF: sub_413740+31p ; sub_4145A0+2Dp jmp sub_4153B0 sub_401E38 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401E3D proc near ; CODE XREF: ___:0040CE81p jmp near ptr dword_426930 sub_401E3D endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401E42 proc near ; CODE XREF: sub_4159F0+3p jmp sub_4164C0 sub_401E42 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401E47 proc near ; CODE XREF: sub_404690+97p ; sub_404690+107p ... jmp sub_40A4A0 sub_401E47 endp ; [00000005 BYTES: COLLAPSED FUNCTION j_nullsub_5. PRESS KEYPAD "+" TO EXPAND] ; --------------------------------------------------------------------------- jmp near ptr dword_426020 ; --------------------------------------------------------------------------- jmp near ptr dword_423950 ; --------------------------------------------------------------------------- jmp near ptr dword_422310 ; --------------------------------------------------------------------------- jmp loc_416E30 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401E65 proc near ; CODE XREF: sub_418590+22Fp jmp near ptr dword_4368D0 sub_401E65 endp ; --------------------------------------------------------------------------- jmp near ptr dword_4369E0 ; --------------------------------------------------------------------------- jmp near ptr dword_4310A0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401E74 proc near ; CODE XREF: sub_4166A0+5p jmp sub_4168F0 sub_401E74 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401E79 proc near ; CODE XREF: ___:00404F4Dp ; ___:0041DFD3p jmp sub_40DC20 sub_401E79 endp ; --------------------------------------------------------------------------- jmp near ptr dword_422700 ; --------------------------------------------------------------------------- jmp loc_419F90 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401E88 proc near ; CODE XREF: sub_40F6D0+22p ; sub_411930+1Dp ... jmp sub_40AEA0 sub_401E88 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401E8D proc near ; CODE XREF: sub_40AAD0+112p ; sub_40AAD0+153p jmp sub_40ADB0 sub_401E8D endp ; --------------------------------------------------------------------------- jmp loc_41B110 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401E97 proc near ; CODE XREF: sub_4156D0+3p jmp sub_416170 sub_401E97 endp ; --------------------------------------------------------------------------- jmp near ptr dword_427B10 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401EA1 proc near ; CODE XREF: ___:00416C0Bp jmp sub_4176E0 sub_401EA1 endp ; --------------------------------------------------------------------------- jmp near ptr dword_4331B0 ; --------------------------------------------------------------------------- jmp near ptr dword_420400 ; --------------------------------------------------------------------------- jmp near ptr dword_428260 ; --------------------------------------------------------------------------- jmp near ptr dword_433AF0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401EBA proc near ; CODE XREF: sub_416410+4p jmp sub_416810 sub_401EBA endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401EBF proc near ; CODE XREF: sub_415920+5Bp ; sub_4162C0+11p ... jmp sub_416510 sub_401EBF endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401EC4 proc near ; CODE XREF: sub_415740+5p jmp sub_4161F0 sub_401EC4 endp ; --------------------------------------------------------------------------- jmp near ptr dword_4248E0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401ECE proc near ; CODE XREF: ___:00416BABp jmp sub_417930 sub_401ECE endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401ED3 proc near ; CODE XREF: sub_4153B0+3p jmp sub_415E20 sub_401ED3 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401ED8 proc near ; CODE XREF: sub_415100+11p ; sub_415140+13p ... jmp sub_415D70 sub_401ED8 endp ; --------------------------------------------------------------------------- jmp near ptr dword_422050 ; --------------------------------------------------------------------------- jmp loc_418960 ; --------------------------------------------------------------------------- jmp loc_41C350 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401EEC proc near ; CODE XREF: sub_418F90+18p jmp sub_419150 sub_401EEC endp ; --------------------------------------------------------------------------- jmp near ptr dword_4227E0 ; --------------------------------------------------------------------------- jmp loc_41BD50 ; --------------------------------------------------------------------------- jmp near ptr dword_433BA0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401F00 proc near ; CODE XREF: ___:00416B0Bp jmp sub_417C20 sub_401F00 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401F05 proc near ; CODE XREF: sub_40A8F0+13p jmp loc_40AA30 sub_401F05 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401F0A proc near ; CODE XREF: sub_418590:loc_418721p ; sub_41B160:loc_41B1ACp ... jmp sub_4199A0 sub_401F0A endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401F0F proc near ; CODE XREF: sub_414300+95p jmp sub_415570 sub_401F0F endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401F14 proc near ; CODE XREF: sub_4157B0+34p ; sub_4162C0+67p jmp sub_416460 sub_401F14 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401F19 proc near ; CODE XREF: sub_4153D0+3p ; sub_415B00+4Fp ... jmp sub_415E00 sub_401F19 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401F1E proc near ; CODE XREF: sub_418590+269p jmp sub_412CE0 sub_401F1E endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401F23 proc near ; CODE XREF: sub_4131F0+4Dp jmp sub_415450 sub_401F23 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401F28 proc near ; CODE XREF: sub_407140+5Cp ; sub_418F60+3p jmp sub_407360 sub_401F28 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401F2D proc near ; CODE XREF: sub_4191B0+53p jmp sub_419270 sub_401F2D endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401F32 proc near ; CODE XREF: sub_40BFA0+5Ap jmp sub_40C330 sub_401F32 endp ; --------------------------------------------------------------------------- jmp near ptr dword_42C0A0 ; --------------------------------------------------------------------------- jmp near ptr dword_435B90 ; --------------------------------------------------------------------------- jmp near ptr dword_423D10 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401F46 proc near ; CODE XREF: ___:00416B6Bp jmp sub_417B40 sub_401F46 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401F4B proc near ; CODE XREF: sub_413C40+99p jmp sub_413E10 sub_401F4B endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401F50 proc near ; CODE XREF: sub_40B470+3Dp ; ___:0040BC0Dp ... jmp sub_40B7E0 sub_401F50 endp ; --------------------------------------------------------------------------- jmp near ptr dword_423820 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401F5A proc near ; CODE XREF: ___:004056F8p jmp sub_4068E0 sub_401F5A endp ; --------------------------------------------------------------------------- jmp near ptr dword_42C640 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401F64 proc near ; CODE XREF: sub_413A80+72p jmp sub_413740 sub_401F64 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401F69 proc near ; CODE XREF: sub_418430+5Fp ; sub_418A40+1Ap ... jmp sub_418AB0 sub_401F69 endp ; --------------------------------------------------------------------------- jmp near ptr dword_430290 ; --------------------------------------------------------------------------- jmp near ptr dword_42E5B0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401F78 proc near ; CODE XREF: sub_40B600+4Bp ; sub_40B600:loc_40B68Bp ... jmp sub_40BF20 sub_401F78 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401F7D proc near ; CODE XREF: sub_418590+241p jmp near ptr dword_41E500 sub_401F7D endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401F82 proc near ; CODE XREF: sub_40A510+142p jmp sub_40A8F0 sub_401F82 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401F87 proc near ; CODE XREF: sub_404690+35Dp ; sub_404690+39Ep jmp sub_404B60 sub_401F87 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401F8C proc near ; CODE XREF: sub_415ED0+9p ; sub_415F70+18p jmp sub_4167D0 sub_401F8C endp ; --------------------------------------------------------------------------- jmp near ptr dword_432ED0 ; --------------------------------------------------------------------------- jmp near ptr dword_42C2C0 ; --------------------------------------------------------------------------- jmp near ptr dword_4277B0 ; --------------------------------------------------------------------------- jmp near ptr dword_429120 ; --------------------------------------------------------------------------- jmp near ptr dword_42B090 ; --------------------------------------------------------------------------- jmp loc_406C20 ; --------------------------------------------------------------------------- jmp loc_40D540 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401FB4 proc near ; CODE XREF: sub_4096E0+112p ; sub_4096E0+153p jmp sub_409A20 sub_401FB4 endp ; --------------------------------------------------------------------------- jmp near ptr dword_422870 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401FBE proc near ; CODE XREF: sub_407390+5p jmp sub_407540 sub_401FBE endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401FC3 proc near ; CODE XREF: sub_413740+6Fp ; sub_413740+DBp ... jmp sub_4153D0 sub_401FC3 endp ; --------------------------------------------------------------------------- jmp near ptr dword_42CB20 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401FCD proc near ; CODE XREF: sub_4152E0+6Ap ; sub_415CE0+32p jmp sub_415C20 sub_401FCD endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401FD2 proc near ; CODE XREF: sub_418590+14Ap jmp sub_40F100 sub_401FD2 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401FD7 proc near ; CODE XREF: sub_412BF0+3p jmp sub_412C20 sub_401FD7 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401FDC proc near ; CODE XREF: sub_404690+48p ; sub_404690+5Dp ... jmp sub_409E00 sub_401FDC endp ; --------------------------------------------------------------------------- jmp loc_419A50 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401FE6 proc near ; CODE XREF: ___:0041A1E3p ; sub_41B140+9j ... jmp sub_41A210 sub_401FE6 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401FEB proc near ; CODE XREF: sub_40BD90+34p ; sub_40C200+67p jmp sub_40C120 sub_401FEB endp ; --------------------------------------------------------------------------- jmp near ptr dword_433980 ; --------------------------------------------------------------------------- jmp near ptr dword_436570 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_401FFA proc near ; CODE XREF: sub_418590+180p jmp sub_40F180 sub_401FFA endp ; --------------------------------------------------------------------------- jmp near ptr dword_4375F0 ; --------------------------------------------------------------------------- jmp near ptr dword_41EEB0 ; --------------------------------------------------------------------------- jmp near ptr dword_420040 ; --------------------------------------------------------------------------- jmp near ptr dword_431670 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_402013 proc near ; CODE XREF: ___:00416B2Bp jmp sub_417C00 sub_402013 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_402018 proc near ; CODE XREF: ___:00416E7Fp jmp sub_4131F0 sub_402018 endp ; --------------------------------------------------------------------------- jmp near ptr dword_422080 ; --------------------------------------------------------------------------- jmp loc_41C0A0 ; --------------------------------------------------------------------------- jmp loc_406C20 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40202C proc near ; CODE XREF: sub_404690+2CEp ; ___:0040512Fp ... jmp sub_40A750 sub_40202C endp ; --------------------------------------------------------------------------- jmp near ptr dword_434410 ; --------------------------------------------------------------------------- jmp loc_41B4D0 ; --------------------------------------------------------------------------- jmp near ptr dword_422750 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_402040 proc near ; CODE XREF: sub_404010+454p ; ___:004054A7p ... jmp sub_41BA50 sub_402040 endp ; --------------------------------------------------------------------------- jmp loc_40AEC0 ; --------------------------------------------------------------------------- jmp near ptr dword_42D150 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40204F proc near ; CODE XREF: ___:0040AEC3p ; sub_40FE70+13Ep ... jmp sub_40AEF0 sub_40204F endp ; --------------------------------------------------------------------------- jmp near ptr dword_424800 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_402059 proc near ; CODE XREF: sub_4099C0+7p jmp sub_409AB0 sub_402059 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40205E proc near ; CODE XREF: sub_416760+Ap jmp sub_416970 sub_40205E endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_402063 proc near ; CODE XREF: sub_418590+27Fp jmp sub_40CBF0 sub_402063 endp ; --------------------------------------------------------------------------- jmp near ptr dword_434320 ; --------------------------------------------------------------------------- jmp near ptr dword_421FF0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_402072 proc near ; CODE XREF: ___:004108DDp ; ___:0041098Ep ... jmp sub_411A60 sub_402072 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_402077 proc near ; CODE XREF: sub_40C120+7p jmp sub_40C310 sub_402077 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40207C proc near ; CODE XREF: sub_418A40+34p ; sub_418F90+67p jmp sub_418DA0 sub_40207C endp ; --------------------------------------------------------------------------- jmp loc_409BF0 ; --------------------------------------------------------------------------- jmp near ptr dword_4292B0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40208B proc near ; CODE XREF: sub_417120+2Bp ; sub_417120+3Bp ... jmp sub_403F30 sub_40208B endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_402090 proc near ; CODE XREF: sub_4098B0+14p jmp sub_409910 sub_402090 endp ; --------------------------------------------------------------------------- jmp near ptr dword_4332C0 ; --------------------------------------------------------------------------- jmp near ptr dword_428CE0 ; --------------------------------------------------------------------------- jmp near ptr dword_427940 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4020A4 proc near ; CODE XREF: sub_418430+4Dp jmp sub_418B70 sub_4020A4 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4020A9 proc near ; CODE XREF: sub_415230+5p ; sub_4153F0+6p ... jmp sub_415DE0 sub_4020A9 endp ; --------------------------------------------------------------------------- jmp near ptr dword_427970 ; --------------------------------------------------------------------------- jmp loc_41B1F0 ; --------------------------------------------------------------------------- jmp near ptr dword_421720 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4020BD proc near ; CODE XREF: ___:00416E4Fp jmp sub_407080 sub_4020BD endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4020C2 proc near ; CODE XREF: sub_413740+83p ; sub_4145A0+91p ... jmp sub_4153F0 sub_4020C2 endp ; --------------------------------------------------------------------------- jmp near ptr dword_41F030 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4020CC proc near ; CODE XREF: sub_40AAD0+144p jmp sub_40ADE0 sub_4020CC endp ; --------------------------------------------------------------------------- jmp near ptr dword_433CE0 ; --------------------------------------------------------------------------- jmp near ptr dword_4224E0 ; --------------------------------------------------------------------------- jmp near ptr dword_4225F0 ; --------------------------------------------------------------------------- jmp near ptr dword_42B730 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4020E5 proc near ; CODE XREF: ___:0041A312p jmp sub_41A3B0 sub_4020E5 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4020EA proc near ; CODE XREF: sub_416860+Ap jmp sub_4169C0 sub_4020EA endp ; --------------------------------------------------------------------------- jmp near ptr dword_42C5C0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4020F4 proc near ; CODE XREF: sub_415D70+4p jmp sub_416590 sub_4020F4 endp ; --------------------------------------------------------------------------- jmp near ptr dword_434AD0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4020FE proc near ; CODE XREF: sub_418E20+8p jmp sub_4190C0 sub_4020FE endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_402103 proc near ; CODE XREF: sub_418990+34p ; sub_418E80+67p jmp sub_418CA0 sub_402103 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_402108 proc near ; CODE XREF: sub_41A7D0+117p jmp sub_41A960 sub_402108 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40210D proc near ; CODE XREF: sub_415BA0+35p jmp sub_416670 sub_40210D endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_402112 proc near ; CODE XREF: ___:00405119p ; sub_406730+43p ... jmp sub_409CA0 sub_402112 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_402117 proc near ; CODE XREF: sub_40BE00+5p ; sub_40BF40+6p ... jmp sub_40C140 sub_402117 endp ; --------------------------------------------------------------------------- jmp near ptr dword_4308A0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_402121 proc near ; CODE XREF: ___:00416F7Ap jmp sub_4191B0 sub_402121 endp ; --------------------------------------------------------------------------- jmp near ptr dword_42AD50 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40212B proc near ; CODE XREF: ___:00410F6Dp ; ___:004113C2p ... jmp sub_4148A0 sub_40212B endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_402130 proc near ; CODE XREF: sub_413A80+38p ; sub_413E70+5Fp jmp sub_4135E0 sub_402130 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_402135 proc near ; CODE XREF: sub_40A210+14p ; sub_40A240+7p ... jmp sub_40A260 sub_402135 endp ; --------------------------------------------------------------------------- jmp near ptr dword_42AFF0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40213F proc near ; CODE XREF: sub_40ACC0+1Ap ; sub_40AD10+1Ap jmp sub_40AD80 sub_40213F endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_402144 proc near ; CODE XREF: sub_4156F0+3p ; sub_415ED0+4Fp ... jmp sub_416150 sub_402144 endp ; --------------------------------------------------------------------------- jmp loc_410030 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40214E proc near ; CODE XREF: sub_4148A0+EDp jmp sub_415920 sub_40214E endp ; --------------------------------------------------------------------------- jmp loc_41B490 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_402158 proc near ; CODE XREF: sub_40BF00+3p jmp sub_40C180 sub_402158 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40215D proc near ; CODE XREF: sub_40BFA0+11p ; sub_40BFA0+27p ... jmp sub_40C2C0 sub_40215D endp ; --------------------------------------------------------------------------- jmp near ptr dword_4208E0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_402167 proc near ; CODE XREF: ___:0041DF7Fp jmp sub_41C170 sub_402167 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40216C proc near ; CODE XREF: sub_418CC0+32p jmp sub_418F90 sub_40216C endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_402171 proc near ; CODE XREF: sub_40ED00+ACp ; ___:0040F42Dp jmp sub_40EE40 sub_402171 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_402176 proc near ; CODE XREF: sub_4138B0+93p jmp near ptr dword_434D10 sub_402176 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40217B proc near ; CODE XREF: sub_4152A0+1Fp ; sub_415BA0+2Cp jmp sub_415B00 sub_40217B endp ; --------------------------------------------------------------------------- jmp near ptr dword_4266D0 ; --------------------------------------------------------------------------- jmp near ptr dword_421AD0 ; --------------------------------------------------------------------------- jmp near ptr dword_42B380 ; --------------------------------------------------------------------------- jmp loc_409BF0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_402194 proc near ; CODE XREF: sub_40AAD0+6Ap ; sub_40AAD0+103p jmp sub_40AD10 sub_402194 endp ; --------------------------------------------------------------------------- jmp near ptr dword_426280 ; --------------------------------------------------------------------------- jmp near ptr dword_427910 ; --------------------------------------------------------------------------- jmp loc_41AD00 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4021A8 proc near ; CODE XREF: sub_407270+14p ; sub_4072B0+9p ... jmp sub_407510 sub_4021A8 endp ; --------------------------------------------------------------------------- jmp loc_416DE0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4021B2 proc near ; CODE XREF: ___:0040B0FBp jmp near ptr dword_433DC0 sub_4021B2 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4021B7 proc near ; CODE XREF: sub_415B00+5Ap jmp sub_4165E0 sub_4021B7 endp ; --------------------------------------------------------------------------- jmp near ptr dword_4319F0 ; --------------------------------------------------------------------------- jmp near ptr dword_42FD80 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4021C6 proc near ; CODE XREF: sub_4077E0+F93p ; sub_4077E0+FB5p ... jmp sub_4199C0 sub_4021C6 endp ; --------------------------------------------------------------------------- jmp near ptr dword_42DA00 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4021D0 proc near ; CODE XREF: sub_40B600+55p jmp sub_40A0B0 sub_4021D0 endp ; --------------------------------------------------------------------------- jmp near ptr dword_429510 ; --------------------------------------------------------------------------- jmp near ptr dword_422230 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4021DF proc near ; CODE XREF: sub_407140+2Cp ; sub_407140+68p ... jmp sub_4072B0 sub_4021DF endp ; --------------------------------------------------------------------------- jmp near ptr dword_4346E0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4021E9 proc near ; CODE XREF: ___:0041C8C3p ; ___:0041CA42p ... jmp sub_41D770 sub_4021E9 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4021EE proc near ; CODE XREF: sub_40BD50+11p ; sub_40BFA0+1Fp jmp sub_40C0D0 sub_4021EE endp ; --------------------------------------------------------------------------- jmp near ptr dword_4308E0 ; --------------------------------------------------------------------------- jmp near ptr dword_424500 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_4021FD proc near ; CODE XREF: ___:00416ABBp jmp sub_418A40 sub_4021FD endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_402202 proc near ; CODE XREF: sub_418590+224p jmp near ptr dword_42CE60 sub_402202 endp ; --------------------------------------------------------------------------- jmp near ptr dword_42FF70 ; --------------------------------------------------------------------------- jmp near ptr dword_430100 ; --------------------------------------------------------------------------- jmp near ptr dword_4344C0 ; --------------------------------------------------------------------------- jmp near ptr dword_42F040 ; --------------------------------------------------------------------------- jmp loc_407210 ; --------------------------------------------------------------------------- jmp near ptr dword_42F5C0 ; --------------------------------------------------------------------------- jmp locret_418940 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40222A proc near ; CODE XREF: sub_403720+25p ; sub_403720+35p ... jmp sub_403CE0 sub_40222A endp ; --------------------------------------------------------------------------- jmp near ptr dword_4343F0 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_402234 proc near ; CODE XREF: sub_418430+88p ; sub_418430+98p jmp sub_418B90 sub_402234 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_402239 proc near ; CODE XREF: ___:00416BBBp jmp sub_417870 sub_402239 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40223E proc near ; CODE XREF: sub_418BE0+5p jmp sub_418E50 sub_40223E endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_402243 proc near ; CODE XREF: sub_414710+3p jmp sub_414740 sub_402243 endp ; --------------------------------------------------------------------------- jmp near ptr dword_431DC0 ; --------------------------------------------------------------------------- jmp near ptr dword_4288F0 ; --------------------------------------------------------------------------- jmp near ptr dword_431B00 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_402257 proc near ; CODE XREF: sub_4135E0+5Cp ; sub_4135E0+C0p ... jmp sub_415540 sub_402257 endp ; --------------------------------------------------------------------------- jmp near ptr dword_432700 ; --------------------------------------------------------------------------- jmp near ptr dword_430460 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_402266 proc near ; CODE XREF: ___:0041DB33p jmp near ptr dword_42E3C0 sub_402266 endp ; --------------------------------------------------------------------------- jmp near ptr dword_42EF60 ; --------------------------------------------------------------------------- jmp near ptr dword_42F490 ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_402275 proc near ; CODE XREF: sub_4134A0+34p ; sub_4148A0+40p jmp sub_4159F0 sub_402275 endp ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_40227A proc near ; CODE XREF: ___:0040CE34p ; sub_40D040+ADp jmp sub_40D040 sub_40227A endp ; --------------------------------------------------------------------------- jmp near ptr dword_42F510 ; --------------------------------------------------------------------------- jmp near ptr dword_424080 ; --------------------------------------------------------------------------- jmp loc_419B90 ; --------------------------------------------------------------------------- jmp loc_40CFC0 ; --------------------------------------------------------------------------- db 129Dh dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_403530 proc near ; CODE XREF: sub_4019C4j var_46C = dword ptr -46Ch var_468 = byte ptr -468h var_450 = byte ptr -450h var_438 = byte ptr -438h var_420 = byte ptr -420h var_408 = dword ptr -408h var_404 = byte ptr -404h var_C = dword ptr -0Ch var_4 = dword ptr -4 arg_0 = dword ptr 4 arg_4 = dword ptr 8 arg_8 = dword ptr 0Ch push 0FFFFFFFFh push offset SEH_403530 mov eax, large fs:0 push eax mov large fs:0, esp sub esp, 460h mov eax, [esp+46Ch+arg_4] push ebp push esi push edi mov [esp+478h+var_408], eax mov eax, [esp+478h+arg_8] xor edi, edi mov esi, 1 cmp eax, edi mov [esp+478h+var_46C], edi jz short loc_403589 lea edx, [esp+478h+arg_8] lea ecx, [esp+478h+var_404] loc_40357A: ; CODE XREF: sub_403530+57j add edx, 4 mov [ecx], eax inc esi add ecx, 4 mov eax, [edx] cmp eax, edi jnz short loc_40357A loc_403589: ; CODE XREF: sub_403530+3Dj lea ecx, [esp+478h+var_468] mov [esp+esi*4+478h+var_408], edi call sub_40142E push offset dword_4445EC lea ecx, [esp+47Ch+var_438] mov [esp+47Ch+var_4], 1 call sub_401870 push offset dword_444520 lea ecx, [esp+47Ch+var_468] mov byte ptr [esp+47Ch+var_4], 2 call sub_401A9B push offset byte_448F40 lea ecx, [esp+47Ch+var_450] call sub_401870 mov byte ptr [esp+478h+var_4], 3 xor esi, esi lea edi, [esp+478h+var_408] loc_4035E1: ; CODE XREF: sub_403530+105j mov ebp, [edi] test ebp, ebp jz short loc_403637 lea ecx, [esp+478h+var_438] call sub_40168B dec ebp push eax lea ecx, [esp+47Ch+var_420] push ebp push ecx lea ecx, [esp+484h+var_468] call sub_4016B8 mov ecx, eax mov byte ptr [esp+478h+var_4], 4 call sub_4017EE push eax lea ecx, [esp+47Ch+var_450] call sub_401AAF lea ecx, [esp+478h+var_420] mov byte ptr [esp+478h+var_4], 3 call sub_401226 inc esi add edi, 4 cmp esi, 0FFh jb short loc_4035E1 loc_403637: ; CODE XREF: sub_403530+B5j mov esi, [esp+478h+arg_0] lea edx, [esp+478h+var_450] push edx mov ecx, esi call sub_4014D3 mov [esp+478h+var_46C], 1 lea ecx, [esp+478h+var_450] mov byte ptr [esp+478h+var_4], 2 call sub_401226 lea ecx, [esp+478h+var_438] mov byte ptr [esp+478h+var_4], 1 call sub_401226 lea ecx, [esp+478h+var_468] mov byte ptr [esp+478h+var_4], 0 call sub_401226 mov ecx, [esp+478h+var_C] mov eax, esi pop edi pop esi pop ebp mov large fs:0, ecx add esp, 46Ch retn sub_403530 endp ; --------------------------------------------------------------------------- db 90h db 60h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_403700 proc near ; CODE XREF: sub_40168Bj mov eax, [ecx+9] retn sub_403700 endp ; --------------------------------------------------------------------------- db 0Ch dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_403720 proc near ; CODE XREF: sub_40129Ej var_10 = dword ptr -10h var_C = dword ptr -0Ch var_4 = dword ptr -4 push 0FFFFFFFFh push offset SEH_403720 mov eax, large fs:0 push eax mov large fs:0, esp push ecx push esi mov esi, ecx mov [esp+14h+var_10], esi call sub_4011B3 lea ecx, [esi+9] call sub_40222A lea ecx, [esi+52h] mov [esp+14h+var_4], 0 call sub_40222A lea ecx, [esi+9Bh] mov byte ptr [esp+14h+var_4], 1 call sub_40222A lea ecx, [esi+0E4h] mov byte ptr [esp+14h+var_4], 2 call sub_40222A lea ecx, [esi+12Dh] mov byte ptr [esp+14h+var_4], 3 call sub_40222A lea ecx, [esi+176h] mov byte ptr [esp+14h+var_4], 4 call sub_40222A lea ecx, [esi+1BFh] mov byte ptr [esp+14h+var_4], 5 call sub_40222A lea ecx, [esi+208h] mov byte ptr [esp+14h+var_4], 6 call sub_40222A lea ecx, [esi+251h] mov byte ptr [esp+14h+var_4], 7 call sub_40222A lea ecx, [esi+29Ah] mov byte ptr [esp+14h+var_4], 8 call sub_40222A lea ecx, [esi+2E3h] mov byte ptr [esp+14h+var_4], 9 call sub_40222A lea ecx, [esi+32Ch] mov byte ptr [esp+14h+var_4], 0Ah call sub_40222A lea ecx, [esi+375h] mov byte ptr [esp+14h+var_4], 0Bh call sub_40222A lea ecx, [esi+3BEh] mov byte ptr [esp+14h+var_4], 0Ch call sub_40222A lea ecx, [esi+407h] mov byte ptr [esp+14h+var_4], 0Dh call sub_40222A lea ecx, [esi+450h] mov byte ptr [esp+14h+var_4], 0Eh call sub_40222A lea ecx, [esi+499h] mov byte ptr [esp+14h+var_4], 0Fh call sub_40222A lea ecx, [esi+4E2h] mov byte ptr [esp+14h+var_4], 10h call sub_40222A lea ecx, [esi+52Bh] mov byte ptr [esp+14h+var_4], 11h call sub_40222A mov byte ptr [esp+14h+var_4], 12h lea ecx, [esi+574h] call sub_40222A lea ecx, [esi+5BDh] mov byte ptr [esp+14h+var_4], 13h call sub_40222A lea ecx, [esi+606h] mov byte ptr [esp+14h+var_4], 14h call sub_40222A lea ecx, [esi+64Fh] mov byte ptr [esp+14h+var_4], 15h call sub_40222A lea ecx, [esi+698h] mov byte ptr [esp+14h+var_4], 16h call sub_40222A lea ecx, [esi+6E1h] mov byte ptr [esp+14h+var_4], 17h call sub_40222A lea ecx, [esi+72Ah] mov byte ptr [esp+14h+var_4], 18h call sub_40222A lea ecx, [esi+773h] mov byte ptr [esp+14h+var_4], 19h call sub_40222A lea ecx, [esi+7BCh] mov byte ptr [esp+14h+var_4], 1Ah call sub_40222A lea ecx, [esi+805h] mov byte ptr [esp+14h+var_4], 1Bh call sub_40222A lea ecx, [esi+84Eh] mov byte ptr [esp+14h+var_4], 1Ch call sub_40222A lea ecx, [esi+897h] mov byte ptr [esp+14h+var_4], 1Dh call sub_40222A lea ecx, [esi+8E0h] mov byte ptr [esp+14h+var_4], 1Eh call sub_40222A lea ecx, [esi+929h] mov byte ptr [esp+14h+var_4], 1Fh call sub_40222A lea ecx, [esi+972h] mov byte ptr [esp+14h+var_4], 20h call sub_40222A lea ecx, [esi+9BBh] mov byte ptr [esp+14h+var_4], 21h call sub_40222A lea ecx, [esi+0A04h] mov byte ptr [esp+14h+var_4], 22h call sub_40222A lea ecx, [esi+0A4Dh] mov byte ptr [esp+14h+var_4], 23h call sub_40222A lea ecx, [esi+0A96h] mov byte ptr [esp+14h+var_4], 24h call sub_40222A lea ecx, [esi+0ADFh] mov byte ptr [esp+14h+var_4], 25h call sub_40222A lea ecx, [esi+0B28h] mov byte ptr [esp+14h+var_4], 26h call sub_40222A lea ecx, [esi+0B71h] mov byte ptr [esp+14h+var_4], 27h call sub_401753 lea ecx, [esi+0B9Fh] mov byte ptr [esp+14h+var_4], 28h call sub_401753 lea ecx, [esi+0BCDh] mov byte ptr [esp+14h+var_4], 29h call sub_401753 lea ecx, [esi+0BFBh] mov byte ptr [esp+14h+var_4], 2Ah call sub_401753 lea ecx, [esi+0C29h] mov byte ptr [esp+14h+var_4], 2Bh call sub_401753 lea ecx, [esi+0C57h] mov byte ptr [esp+14h+var_4], 2Ch call sub_401753 lea ecx, [esi+0C85h] mov byte ptr [esp+14h+var_4], 2Dh call sub_401753 lea ecx, [esi+0CB3h] mov byte ptr [esp+14h+var_4], 2Eh call sub_401753 lea ecx, [esi+0CE1h] mov byte ptr [esp+14h+var_4], 2Fh call sub_401753 lea ecx, [esi+0D0Fh] mov byte ptr [esp+14h+var_4], 30h call sub_401753 lea ecx, [esi+0D3Dh] mov byte ptr [esp+14h+var_4], 31h call sub_401753 lea ecx, [esi+0D6Bh] mov byte ptr [esp+14h+var_4], 32h call sub_401753 lea ecx, [esi+0D99h] mov byte ptr [esp+14h+var_4], 33h call sub_401753 lea ecx, [esi+0DC7h] mov byte ptr [esp+14h+var_4], 34h call sub_401753 lea ecx, [esi+0DF5h] mov byte ptr [esp+14h+var_4], 35h call sub_401753 lea ecx, [esi+0E23h] mov byte ptr [esp+14h+var_4], 36h call sub_401753 lea ecx, [esi+0E51h] mov byte ptr [esp+14h+var_4], 37h call sub_401753 lea ecx, [esi+0E7Fh] mov byte ptr [esp+14h+var_4], 38h call sub_4011A4 lea ecx, [esi+10C7h] mov byte ptr [esp+14h+var_4], 39h call sub_4011A4 lea ecx, [esi+130Fh] mov byte ptr [esp+14h+var_4], 3Ah call sub_4011A4 lea ecx, [esi+1557h] mov byte ptr [esp+14h+var_4], 3Bh call sub_4011A4 lea ecx, [esi+179Fh] mov byte ptr [esp+14h+var_4], 3Ch call sub_4011A4 mov ecx, [esp+14h+var_C] mov dword ptr [esi], offset dword_43F000 mov byte ptr [esi+4], 0 mov eax, esi pop esi mov large fs:0, ecx add esp, 10h retn sub_403720 endp ; --------------------------------------------------------------------------- db 0Ah dup(90h) db 110h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_403C50 proc near ; CODE XREF: sub_401023j var_10 = dword ptr -10h var_C = dword ptr -0Ch var_4 = dword ptr -4 push 0FFFFFFFFh push offset SEH_403C50 mov eax, large fs:0 push eax mov large fs:0, esp push ecx push esi mov esi, ecx mov [esp+14h+var_10], esi lea ecx, [esi+15h] mov [esp+14h+var_4], 0 call sub_401226 mov ecx, esi mov [esp+14h+var_4], 0FFFFFFFFh call sub_401226 mov ecx, [esp+14h+var_C] pop esi mov large fs:0, ecx add esp, 10h retn sub_403C50 endp ; --------------------------------------------------------------------------- db 4 dup(90h) db 20h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_403CC0 proc near ; CODE XREF: sub_4011B3j mov eax, ecx mov dword ptr [eax], offset dword_43F004 retn sub_403CC0 endp ; --------------------------------------------------------------------------- db 7 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_403CE0 proc near ; CODE XREF: sub_40222Aj var_10 = dword ptr -10h var_C = dword ptr -0Ch var_4 = dword ptr -4 push 0FFFFFFFFh push offset SEH_403CE0 mov eax, large fs:0 push eax mov large fs:0, esp push ecx push esi mov esi, ecx mov [esp+14h+var_10], esi call sub_40142E lea ecx, [esi+1Eh] mov [esp+14h+var_4], 0 call sub_40142E lea ecx, [esi+33h] mov byte ptr [esp+14h+var_4], 1 call sub_40142E mov ecx, [esp+14h+var_C] mov eax, esi pop esi mov large fs:0, ecx add esp, 10h retn sub_403CE0 endp ; --------------------------------------------------------------------------- db 0Fh dup(90h) db 20h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_403D60 proc near ; CODE XREF: sub_401AE6j var_10 = dword ptr -10h var_C = dword ptr -0Ch var_4 = dword ptr -4 push 0FFFFFFFFh push offset SEH_403D60 mov eax, large fs:0 push eax mov large fs:0, esp push ecx push esi mov esi, ecx mov [esp+14h+var_10], esi lea ecx, [esi+33h] mov [esp+14h+var_4], 1 call sub_401226 lea ecx, [esi+1Eh] mov byte ptr [esp+14h+var_4], 0 call sub_401226 mov ecx, esi mov [esp+14h+var_4], 0FFFFFFFFh call sub_401226 mov ecx, [esp+14h+var_C] pop esi mov large fs:0, ecx add esp, 10h retn sub_403D60 endp ; --------------------------------------------------------------------------- db 7 dup(90h) db 20h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_403DE0 proc near ; CODE XREF: sub_401753j var_10 = dword ptr -10h var_C = dword ptr -0Ch var_4 = dword ptr -4 push 0FFFFFFFFh push offset SEH_403DE0 mov eax, large fs:0 push eax mov large fs:0, esp push ecx push esi mov esi, ecx mov [esp+14h+var_10], esi call sub_40142E lea ecx, [esi+15h] mov [esp+14h+var_4], 0 call sub_40142E mov ecx, [esp+14h+var_C] mov eax, esi pop esi mov large fs:0, ecx add esp, 10h retn sub_403DE0 endp ; --------------------------------------------------------------------------- db 0Ch dup(90h) db 20h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_403E50 proc near ; CODE XREF: sub_4011A4j var_10 = dword ptr -10h var_C = dword ptr -0Ch var_4 = dword ptr -4 push 0FFFFFFFFh push offset SEH_403E50 mov eax, large fs:0 push eax mov large fs:0, esp push ecx push esi mov esi, ecx mov [esp+14h+var_10], esi call sub_40222A lea ecx, [esi+49h] mov [esp+14h+var_4], 0 call sub_40222A lea ecx, [esi+92h] mov byte ptr [esp+14h+var_4], 1 call sub_40222A lea ecx, [esi+0DBh] mov byte ptr [esp+14h+var_4], 2 call sub_40222A lea ecx, [esi+124h] mov byte ptr [esp+14h+var_4], 3 call sub_40222A lea ecx, [esi+16Dh] mov byte ptr [esp+14h+var_4], 4 call sub_40222A lea ecx, [esi+1B6h] mov byte ptr [esp+14h+var_4], 5 call sub_40222A lea ecx, [esi+1FFh] mov byte ptr [esp+14h+var_4], 6 call sub_40222A mov ecx, [esp+14h+var_C] mov eax, esi pop esi mov large fs:0, ecx add esp, 10h retn sub_403E50 endp ; --------------------------------------------------------------------------- db 0Ch dup(90h) db 30h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_403F30 proc near ; CODE XREF: sub_40208Bj var_10 = dword ptr -10h var_C = dword ptr -0Ch var_4 = dword ptr -4 push 0FFFFFFFFh push offset SEH_403F30 mov eax, large fs:0 push eax mov large fs:0, esp push ecx push esi mov esi, ecx mov [esp+14h+var_10], esi lea ecx, [esi+1FFh] mov [esp+14h+var_4], 6 call sub_401AE6 lea ecx, [esi+1B6h] mov byte ptr [esp+14h+var_4], 5 call sub_401AE6 lea ecx, [esi+16Dh] mov byte ptr [esp+14h+var_4], 4 call sub_401AE6 lea ecx, [esi+124h] mov byte ptr [esp+14h+var_4], 3 call sub_401AE6 lea ecx, [esi+0DBh] mov byte ptr [esp+14h+var_4], 2 call sub_401AE6 lea ecx, [esi+92h] mov byte ptr [esp+14h+var_4], 1 call sub_401AE6 lea ecx, [esi+49h] mov byte ptr [esp+14h+var_4], 0 call sub_401AE6 mov ecx, esi mov [esp+14h+var_4], 0FFFFFFFFh call sub_401AE6 mov ecx, [esp+14h+var_C] pop esi mov large fs:0, ecx add esp, 10h retn sub_403F30 endp ; --------------------------------------------------------------------------- db 4 dup(90h) db 30h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_404010 proc near ; CODE XREF: sub_401D48j 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 offset SEH_404010 mov eax, large fs:0 push eax mov large fs:0, esp sub esp, 48h push ebp push esi push edi push 0 push 4 push 9 push 4Fh lea eax, [esp+70h+var_3C] push 2 mov esi, ecx push eax call sub_4019C4 add esp, 18h push esi mov ecx, eax mov [esp+64h+var_4], 0 call sub_4017EE lea ecx, [esi+0C29h] push eax push ecx mov ecx, offset dword_449128 call sub_40159B or edi, 0FFFFFFFFh lea ecx, [esp+60h+var_3C] mov [esp+60h+var_4], edi call sub_401226 push 0 push 0Bh push 3 push 9 push 0Eh push 4 push 0Eh push 12h push 4Fh lea edx, [esp+84h+var_3C] push 2 push edx call sub_4019C4 add esp, 2Ch push esi mov ecx, eax mov [esp+64h+var_4], 1 call sub_4017EE push eax lea eax, [esi+0BCDh] push eax mov ecx, offset dword_449128 call sub_40159B lea ecx, [esp+60h+var_3C] mov [esp+60h+var_4], edi call sub_401226 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_4019C4 add esp, 24h push esi mov ecx, eax mov [esp+64h+var_4], 2 call sub_4017EE lea edx, [esi+0C57h] push eax push edx mov ecx, offset dword_449128 call sub_40159B lea ecx, [esp+60h+var_3C] mov [esp+60h+var_4], edi call sub_401226 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_4019C4 add esp, 28h push esi mov ecx, eax mov [esp+64h+var_4], 3 call sub_4017EE lea ecx, [esi+0DF5h] push eax push ecx mov ecx, offset dword_449128 call sub_40159B lea ecx, [esp+60h+var_3C] mov [esp+60h+var_4], edi call sub_401226 push 0 push 0Fh push 6 push 0Eh push 9 push 13h push 19h push 13h push 4Fh lea edx, [esp+84h+var_3C] push 2 push edx call sub_4019C4 add esp, 2Ch push esi mov ecx, eax mov [esp+64h+var_4], 4 call sub_4017EE push eax lea eax, [esi+0C85h] push eax mov ecx, offset dword_449128 call sub_40159B lea ecx, [esp+60h+var_3C] mov [esp+60h+var_4], edi call sub_401226 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_4019C4 add esp, 28h push esi mov ecx, eax mov [esp+64h+var_4], 5 call sub_4017EE lea edx, [esi+0B71h] push eax push edx mov ecx, offset dword_449128 call sub_40159B lea ecx, [esp+60h+var_3C] mov [esp+60h+var_4], edi call sub_401226 push 0 push 13h push 0Eh push 4 push 8 push 13h push 15h push 0Ch push 6 push 4Fh lea eax, [esp+88h+var_3C] push 2 push eax call sub_4019C4 add esp, 30h push esi mov ecx, eax mov [esp+64h+var_4], 6 call sub_4017EE lea ecx, [esi+0DC7h] push eax push ecx mov ecx, offset dword_449128 call sub_40159B lea ecx, [esp+60h+var_3C] mov [esp+60h+var_4], edi call sub_401226 push 0 push 0Eh push 5 push 10h push 0Fh push 4Fh lea edx, [esp+78h+var_3C] push 2 push edx call sub_4019C4 add esp, 20h push esi mov ecx, eax mov [esp+64h+var_4], 7 call sub_4017EE push eax lea eax, [esi+0D0Fh] push eax mov ecx, offset dword_449128 call sub_40159B lea ecx, [esp+60h+var_3C] mov [esp+60h+var_4], edi call sub_401226 push 0 push 14h push 9 push 15h push 11h push 4Fh lea ecx, [esp+78h+var_3C] push 2 push ecx call sub_4019C4 add esp, 20h push esi mov ecx, eax mov [esp+64h+var_4], 8 call sub_4017EE lea edx, [esi+0D99h] push eax push edx mov ecx, offset dword_449128 call sub_40159B lea ecx, [esp+60h+var_3C] mov [esp+60h+var_4], edi call sub_401226 push 0 push 4 push 0Dh push 3 push 4Fh lea eax, [esp+74h+var_3C] push 2 push eax call sub_4019C4 add esp, 1Ch push esi mov ecx, eax mov [esp+64h+var_4], 9 call sub_4017EE lea ecx, [esi+0E23h] push eax push ecx mov ecx, offset dword_449128 call sub_40159B lea ecx, [esp+60h+var_3C] mov [esp+60h+var_4], edi call sub_401226 push 0 push 5 push 18h push 5 push 4Fh lea edx, [esp+74h+var_3C] push 2 push edx call sub_4019C4 add esp, 1Ch push esi mov ecx, eax mov [esp+64h+var_4], 0Ah call sub_4017EE push eax lea eax, [esi+0D6Bh] push eax mov ecx, offset dword_449128 call sub_40159B lea ecx, [esp+60h+var_3C] mov [esp+60h+var_4], edi call sub_401226 push 0 push 13h push 0Eh push 4 push 4Fh lea ecx, [esp+74h+var_3C] push 2 push ecx call sub_4019C4 add esp, 1Ch push esi mov ecx, eax mov [esp+64h+var_4], 0Bh call sub_4017EE lea edx, [esi+0D3Dh] push eax push edx mov ecx, offset dword_449128 call sub_40159B lea ecx, [esp+60h+var_3C] mov [esp+60h+var_4], edi call sub_401226 push 0 push 5 push 0Dh push 9 push 14h push 10h push 15h push 0Ch push 4Fh lea eax, [esp+84h+var_3C] push 2 push eax call sub_4019C4 add esp, 2Ch push esi mov ecx, eax mov [esp+64h+var_4], 0Ch call sub_4017EE push eax lea ecx, [esi+0CB3h] push ecx mov ecx, offset dword_449128 call sub_40159B lea ecx, [esp+60h+var_3C] mov [esp+60h+var_4], edi call sub_401226 push 0 push 0Bh push 3 push 9 push 0Eh push 4Fh lea edx, [esp+78h+var_3C] push 2 push edx call sub_4019C4 add esp, 20h push esi mov ecx, eax mov [esp+64h+var_4], 0Dh call sub_4017EE push eax lea eax, [esi+0CE1h] push eax mov ecx, offset dword_449128 call sub_40159B lea ecx, [esp+60h+var_3C] mov [esp+60h+var_4], edi call sub_401226 lea ecx, [esi+9] call sub_4017EE lea ecx, [esp+60h+var_54] push eax push ecx call sub_402040 push 0 push 25h push 1Dh push 23h lea edx, [esp+78h+var_3C] push 28h push edx mov [esp+80h+var_4], 0Eh call sub_4019C4 add esp, 20h mov ebp, eax lea ecx, [esp+60h+var_54] mov byte ptr [esp+60h+var_4], 0Fh call sub_4017EE push eax mov ecx, ebp call sub_4017EE push eax push offset dword_4445F4 push offset byte_4D8085 call sub_401E24 add esp, 10h lea ecx, [esp+60h+var_3C] mov byte ptr [esp+60h+var_4], 0Eh call sub_401226 push 20h lea eax, [esp+64h+var_24] push 0 push eax lea ecx, [esp+6Ch+var_54] call sub_4012B2 mov ecx, eax mov byte ptr [esp+60h+var_4], 10h call sub_4017EE push eax push offset dword_4445F0 push offset byte_4E8E55 call sub_40102D add esp, 0Ch lea ecx, [esp+60h+var_24] mov byte ptr [esp+60h+var_4], 0Eh call sub_401226 nop call near ptr 2800CA0h 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_401226 mov ecx, [esp+60h+var_C] pop edi pop esi pop ebp mov large fs:0, ecx add esp, 54h retn sub_404010 endp ; --------------------------------------------------------------------------- db 0Ch dup(90h) db 150h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_404690 proc near ; CODE XREF: sub_401A41j var_88 = dword ptr -88h var_84 = byte ptr -84h var_6C = byte ptr -6Ch var_54 = byte ptr -54h var_3C = byte ptr -3Ch var_24 = byte ptr -24h var_C = dword ptr -0Ch var_4 = dword ptr -4 arg_0 = dword ptr 4 arg_4 = byte ptr 8 push 0FFFFFFFFh push offset SEH_404690 mov eax, large fs:0 push eax mov large fs:0, esp sub esp, 7Ch push ebx push ebp push esi mov esi, [esp+94h+arg_0] mov ebp, ecx push edi lea ebx, [esi+2Ah] push 0 mov ecx, ebx mov [esp+9Ch+var_88], ebp call sub_401479 mov cl, [eax] lea edi, [esi+69h] cmp cl, 23h jnz short loc_4046D2 push ebx jmp short loc_4046D6 ; --------------------------------------------------------------------------- loc_4046D2: ; CODE XREF: sub_404690+3Dj lea eax, [esi+15h] push eax loc_4046D6: ; CODE XREF: sub_404690+40j mov ecx, edi call sub_401FDC mov al, [esi+94h] test al, al jz short loc_4046F2 lea ecx, [esi+15h] push ecx mov ecx, edi call sub_401FDC loc_4046F2: ; CODE XREF: sub_404690+55j mov al, [esi+95h] test al, al jz short loc_40476F lea ecx, [esp+98h+var_6C] call sub_40142E push offset dword_444604 mov ecx, esi mov [esp+9Ch+var_4], 0 call sub_4013ED add eax, 3 lea edx, [esp+98h+var_54] push eax push edx mov ecx, esi call sub_401E47 push eax lea ecx, [esp+9Ch+var_6C] mov byte ptr [esp+9Ch+var_4], 1 call sub_401FDC lea ecx, [esp+98h+var_54] mov byte ptr [esp+98h+var_4], 0 call sub_401226 lea eax, [esp+98h+var_6C] mov ecx, edi push eax call sub_401FDC lea ecx, [esp+98h+var_6C] mov [esp+98h+var_4], 0FFFFFFFFh call sub_401226 loc_40476F: ; CODE XREF: sub_404690+6Aj push offset dword_444600 lea ecx, [esp+9Ch+var_6C] push 0 push ecx mov ecx, esi call sub_4016B8 lea edx, [esp+98h+var_54] mov ebx, 2 push 1 push edx mov ecx, eax mov [esp+0A0h+var_4], ebx call sub_401E47 lea edi, [esi+7Eh] push eax mov ecx, edi mov byte ptr [esp+9Ch+var_4], 3 call sub_401FDC lea ecx, [esp+98h+var_54] mov byte ptr [esp+98h+var_4], bl call sub_401226 lea ecx, [esp+98h+var_6C] mov [esp+98h+var_4], 0FFFFFFFFh call sub_401226 push 0 lea ecx, [ebp+32Ch] call sub_401479 push 0 mov ecx, esi mov ebp, eax call sub_401479 mov al, [eax] mov cl, [ebp+0] cmp al, cl jnz loc_404A3A push 0 push 14h push 1 push 5 push 10h push 5 push 12h push 4Eh push 14h push 0Fh lea ecx, [esp+0C0h+var_54] push ebx push ecx call sub_4019C4 add esp, 30h mov ecx, eax mov [esp+98h+var_4], 4 call sub_4017EE push eax mov ecx, edi call sub_4012EE test eax, eax jnz short loc_40485F sub esp, 18h lea edx, [esi+15h] mov ecx, esp mov [esp+0B0h+arg_0], esp push edx call sub_4014D3 mov ecx, offset word_44AC6E call sub_401CE4 test eax, eax jz short loc_40485F mov bl, 1 jmp short loc_404861 ; --------------------------------------------------------------------------- loc_40485F: ; CODE XREF: sub_404690+1A6j ; sub_404690+1C9j xor bl, bl loc_404861: ; CODE XREF: sub_404690+1CDj lea ecx, [esp+98h+var_54] mov [esp+98h+var_4], 0FFFFFFFFh call sub_401226 test bl, bl jz loc_404A1E push offset dword_444600 lea eax, [esp+9Ch+var_54] push 1 push eax mov ecx, esi call sub_4016B8 push offset byte_448F40 mov ecx, eax mov [esp+9Ch+var_4], 5 call sub_4012EE test eax, eax lea ecx, [esp+98h+var_54] mov [esp+98h+var_4], 0FFFFFFFFh setz bl call sub_401226 test bl, bl jnz loc_404A3A push offset dword_444600 lea ecx, [esp+9Ch+var_54] push 1 push ecx mov ecx, esi call sub_4016B8 mov ecx, eax mov [esp+98h+var_4], 6 call sub_4017EE push eax call near ptr 77C1BF18h nop add esp, 4 lea ecx, [esp+98h+var_54] mov ebp, eax mov [esp+98h+var_4], 0FFFFFFFFh call sub_401226 test ebp, ebp jz loc_404A3A push 20h mov ecx, esi call sub_401D34 lea edx, [esp+98h+var_84] push eax push edx mov ecx, esi call sub_401E47 mov ebx, 7 push 20h lea ecx, [esp+9Ch+var_84] mov [esp+9Ch+var_4], ebx call sub_401D34 push eax lea eax, [esp+9Ch+var_54] push eax lea ecx, [esp+0A0h+var_84] call sub_401E47 push eax lea ecx, [esp+9Ch+var_84] mov byte ptr [esp+9Ch+var_4], 8 call sub_40202C lea ecx, [esp+98h+var_54] mov byte ptr [esp+98h+var_4], bl call sub_401226 lea ecx, [esp+98h+var_84] push ecx mov ecx, esi call sub_401FDC push offset dword_444600 lea edx, [esp+9Ch+var_24] push 0 push edx mov ecx, esi call sub_4016B8 lea ecx, [esp+98h+var_3C] push 1 push ecx mov ecx, eax mov byte ptr [esp+0A0h+var_4], 9 call sub_401E47 push eax mov ecx, edi mov byte ptr [esp+9Ch+var_4], 0Ah call sub_401FDC lea ecx, [esp+98h+var_3C] mov byte ptr [esp+98h+var_4], 9 call sub_401226 lea ecx, [esp+98h+var_24] mov byte ptr [esp+98h+var_4], bl call sub_401226 mov al, [esp+98h+arg_4] test al, al jnz short loc_4049F7 test ebp, ebp jle short loc_404A08 loc_4049E8: ; CODE XREF: sub_404690+363j mov ecx, [esp+98h+var_88] push esi call sub_401F87 dec ebp jnz short loc_4049E8 jmp short loc_404A08 ; --------------------------------------------------------------------------- loc_4049F7: ; CODE XREF: sub_404690+352j test ebp, ebp jle short loc_404A08 loc_4049FB: ; CODE XREF: sub_404690+376j mov ecx, [esp+98h+var_88] push esi call sub_40144C dec ebp jnz short loc_4049FB loc_404A08: ; CODE XREF: sub_404690+356j ; sub_404690+365j ... lea ecx, [esp+98h+var_84] mov [esp+98h+var_4], 0FFFFFFFFh call sub_401226 jmp short loc_404A3A ; --------------------------------------------------------------------------- loc_404A1E: ; CODE XREF: sub_404690+1E7j mov al, [esp+98h+arg_4] mov ecx, [esp+98h+var_88] test al, al push esi jnz short loc_404A35 call sub_401F87 jmp short loc_404A3A ; --------------------------------------------------------------------------- loc_404A35: ; CODE XREF: sub_404690+39Cj call sub_40144C loc_404A3A: ; CODE XREF: sub_404690+162j ; sub_404690+232j ... mov ecx, [esp+98h+var_C] pop edi pop esi pop ebp mov large fs:0, ecx pop ebx add esp, 88h retn 8 sub_404690 endp ; --------------------------------------------------------------------------- db 0Bh dup(90h) db 100h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_404B60 proc near ; CODE XREF: sub_401F87j arg_0 = dword ptr 4 push esi push edi mov edi, ecx mov ecx, offset word_44AC72 call sub_4014DD mov esi, [esp+8+arg_0] push eax lea ecx, [esi+7Eh] call sub_4012EE test eax, eax jz short loc_404BA6 sub esp, 18h lea eax, [esi+15h] mov ecx, esp mov [esp+20h+arg_0], esp push eax call sub_4014D3 mov ecx, offset word_44AC6E call sub_401CE4 test eax, eax jnz short loc_404BA6 xor al, al pop edi pop esi retn 4 ; --------------------------------------------------------------------------- loc_404BA6: ; CODE XREF: sub_404B60+1Dj ; sub_404B60+3Dj sub esp, 18h lea edx, [esi+15h] mov ecx, esp mov [esp+20h+arg_0], esp push edx call sub_4014D3 mov ecx, offset word_44AC6E call sub_401CE4 test eax, eax jnz short loc_404BE6 mov al, [edi+469h] test al, al jz short loc_404BE6 push 0 lea ecx, [esi+2Ah] call sub_401479 cmp byte ptr [eax], 23h jz short loc_404BE6 xor al, al pop edi pop esi retn 4 ; --------------------------------------------------------------------------- loc_404BE6: ; CODE XREF: sub_404B60+64j ; sub_404B60+6Ej ... push esi mov ecx, edi call sub_40144C pop edi pop esi retn 4 sub_404B60 endp ; --------------------------------------------------------------------------- db 0Dh dup(90h) db 30h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_404C30 proc near ; CODE XREF: sub_40144Cj arg_0 = dword ptr 4 push esi mov esi, [esp+4+arg_0] push 1 lea ecx, [esi+7Eh] call sub_4017EE push eax mov ecx, offset dword_449128 call sub_401B04 test eax, eax jz short loc_404C5A mov ecx, [eax+2Ah] push esi mov eax, [ecx] call dword ptr [eax] pop esi retn 4 ; --------------------------------------------------------------------------- loc_404C5A: ; CODE XREF: sub_404C30+1Cj xor al, al pop esi retn 4 sub_404C30 endp ; --------------------------------------------------------------------------- db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_404C70 proc near ; CODE XREF: sub_40186Bj push esi push edi mov edi, dword_5118AC mov esi, ecx call edi mov edx, dword_4D80A9 mov ecx, [esi+421h] sub eax, edx cmp eax, ecx jbe short loc_404C9F mov ecx, offset byte_4D8085 call sub_401D20 call edi mov dword_4D80A9, eax loc_404C9F: ; CODE XREF: sub_404C70+1Cj pop edi mov al, 1 pop esi retn sub_404C70 endp ; --------------------------------------------------------------------------- db 0Ch dup(90h) db 10h dup(0CCh) ; --------------------------------------------------------------------------- loc_404CC0: ; CODE XREF: ___:004017D0j mov eax, large fs:0 push 0FFFFFFFFh push offset byte_43978B push eax mov large fs:0, esp sub esp, 15Ch push ebx push ebp push esi mov esi, [esp+178h] push edi mov edi, ecx lea ebp, [esi+7Eh] lea ecx, [edi+0C29h] call sub_4017EE push eax mov ecx, ebp call sub_4012EE test eax, eax jnz short loc_404D34 lea ecx, [esi+69h] call sub_4014DD push eax lea ecx, [edi+2E3h] call sub_4014DD mov cl, [esi+93h] push eax mov al, [esi+94h] push eax push ecx mov ecx, offset byte_4D8085 call sub_401118 jmp loc_4056BF ; --------------------------------------------------------------------------- loc_404D34: ; CODE XREF: ___:00404D00j lea ecx, [edi+0D6Bh] call sub_4017EE push eax mov ecx, ebp call sub_4012EE test eax, eax jnz loc_404EC5 push 1 push offset dword_444600 lea edx, [esp+34h] push 2 push edx mov ecx, esi call sub_4011EA push offset dword_444600 lea eax, [esp+7Ch] push 1 push eax mov ecx, esi mov dword ptr [esp+180h], 0 call sub_4016B8 mov ecx, eax mov byte ptr [esp+174h], 1 call sub_4017EE push eax nop call near ptr 77C1BF18h add esp, 4 cmp eax, 1 lea ecx, [esp+78h] mov byte ptr [esp+174h], 0 setz bl call sub_401226 lea ecx, [esp+14h] call sub_40142E push 2000h push 2000h lea ecx, [esp+1Ch] mov byte ptr [esp+17Ch], 2 call sub_401C71 push eax lea ecx, [esp+34h] call sub_4017EE push eax nop call near ptr 2820000h lea ecx, [esp+14h] push ecx lea ecx, [esp+30h] call sub_401FDC mov ecx, 11h xor eax, eax lea edi, [esp+0A8h] lea edx, [esp+5Ch] rep stosd lea eax, [esp+0A8h] 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+4Ch] mov dword ptr [esp+0C8h], 44h mov [esp+0F8h], bx call sub_4014DD push eax push 0 nop call near ptr 2810466h test eax, eax jnz short loc_404E99 lea ecx, [esi+69h] call sub_4014DD mov cl, [esi+94h] mov dl, [esi+93h] push eax push offset dword_4446FC push ecx push edx mov ecx, offset byte_4D8085 call sub_401118 lea ecx, [esp+14h] mov byte ptr [esp+174h], 0 call sub_401226 mov dword ptr [esp+174h], 0FFFFFFFFh lea ecx, [esp+2Ch] jmp loc_4056B8 ; --------------------------------------------------------------------------- loc_404E99: ; CODE XREF: ___:00404E4Cj lea ecx, [esp+14h] mov byte ptr [esp+174h], 0 call sub_401226 lea ecx, [esp+2Ch] mov dword ptr [esp+174h], 0FFFFFFFFh call sub_401226 mov al, 1 jmp loc_4056BF ; --------------------------------------------------------------------------- loc_404EC5: ; CODE XREF: ___:00404D49j lea ecx, [edi+0B71h] call sub_4014DD push eax mov ecx, ebp call sub_4012EE test eax, eax jnz loc_404F74 push 1 push offset dword_444600 lea eax, [esp+1Ch] push 1 push eax mov ecx, esi call sub_4011EA mov ecx, offset byte_4E8E55 mov dword ptr [esp+174h], 3 call sub_4017EE push eax lea ecx, [esp+18h] call sub_4012EE test eax, eax jnz short loc_404F60 mov al, byte_4498A6 test al, al jz short loc_404F30 push offset dword_449844 mov ecx, offset dword_44AD80 call sub_401451 loc_404F30: ; CODE XREF: ___:00404F1Fj mov al, byte_4498EF test al, al jz short loc_404F48 push offset byte_44991F mov ecx, offset dword_44AD80 call sub_401951 loc_404F48: ; CODE XREF: ___:00404F37j mov ecx, offset dword_44AD80 call sub_401E79 mov byte_4D809C, 0 mov byte_4E8E54, 0 loc_404F60: ; CODE XREF: ___:00404F16j mov dword ptr [esp+174h], 0FFFFFFFFh lea ecx, [esp+14h] jmp loc_4056B8 ; --------------------------------------------------------------------------- loc_404F74: ; CODE XREF: ___:00404EDAj lea ecx, [edi+0C57h] call sub_4017EE push eax mov ecx, ebp call sub_4012EE test eax, eax jnz short loc_404FBC lea ecx, [esi+69h] call sub_4014DD push eax mov ecx, offset word_4E8E6A call sub_4014DD mov cl, [esi+94h] mov dl, [esi+93h] push eax push ecx push edx mov ecx, offset byte_4D8085 call sub_401118 jmp loc_4056BF ; --------------------------------------------------------------------------- loc_404FBC: ; CODE XREF: ___:00404F89j lea ecx, [edi+0DC7h] call sub_4017EE push eax mov ecx, ebp call sub_4012EE test eax, eax jnz loc_405076 push eax push 13h push 0Eh push 4 push 8 push 13h push 15h push 0Ch push 6 lea eax, [esp+50h] push 50h push eax call sub_4019C4 mov esi, eax push 0 push 5 push 18h push 5 push 4Eh push 7 push 9 push 6 push 0Eh push 0Fh push 3 push 10h lea ecx, [esp+70h] push 9 push ecx mov dword ptr [esp+1D8h], 4 call sub_4019C4 add esp, 64h mov edi, eax mov ecx, esi mov byte ptr [esp+174h], 5 call sub_4017EE push eax mov ecx, edi call sub_4017EE push eax call sub_401299 add esp, 8 lea ecx, [esp+14h] mov byte ptr [esp+174h], 4 call sub_401226 lea ecx, [esp+2Ch] mov dword ptr [esp+174h], 0FFFFFFFFh call sub_401226 mov al, 1 jmp loc_4056BF ; --------------------------------------------------------------------------- loc_405076: ; CODE XREF: ___:00404FD1j lea ecx, [edi+0D0Fh] call sub_4017EE push eax mov ecx, ebp call sub_4012EE test eax, eax jnz loc_405194 lea ecx, [esp+2Ch] call sub_40142E push offset dword_444600 lea edx, [esp+60h] push 1 push edx mov ecx, esi mov dword ptr [esp+180h], 6 call sub_4016B8 mov ecx, eax mov byte ptr [esp+174h], 7 call sub_4017EE push eax lea ecx, [esp+30h] call sub_401A9B lea ecx, [esp+5Ch] mov byte ptr [esp+174h], 6 call sub_401226 lea ecx, [esp+14h] call sub_40142E push 1 mov bl, 8 push 0 push 0 lea ecx, [esp+38h] mov [esp+180h], bl call sub_4017EE push eax push offset dword_4446F4 push 0 nop call near ptr 7CA41110h movsx eax, al push eax lea ecx, [esp+60h] call sub_402112 lea ecx, [esp+5Ch] mov byte ptr [esp+174h], 9 push ecx lea ecx, [esp+18h] call sub_40202C lea ecx, [esp+5Ch] mov [esp+174h], bl call sub_401226 lea ecx, [esi+69h] call sub_4014DD push eax lea ecx, [esp+18h] call sub_4014DD mov dl, [esi+94h] push eax mov al, [esi+93h] push edx push eax mov ecx, offset byte_4D8085 call sub_401118 lea ecx, [esp+14h] mov byte ptr [esp+174h], 6 call sub_401226 mov dword ptr [esp+174h], 0FFFFFFFFh lea ecx, [esp+2Ch] jmp loc_4056B8 ; --------------------------------------------------------------------------- loc_405194: ; CODE XREF: ___:0040508Bj lea ecx, [edi+0D99h] call sub_4017EE push eax mov ecx, ebp call sub_4012EE test eax, eax jnz short loc_4051B7 mov byte_4D809C, al mov al, 1 jmp loc_4056BF ; --------------------------------------------------------------------------- loc_4051B7: ; CODE XREF: ___:004051A9j lea ecx, [edi+0D3Dh] call sub_4017EE push eax mov ecx, ebp call sub_4012EE test eax, eax jnz loc_40547E lea ecx, [esp+5Ch] call sub_40142E push offset dword_444600 lea ecx, [esp+18h] push 1 mov ebx, 0Ah push ecx mov ecx, esi mov [esp+180h], ebx call sub_4016B8 push offset byte_448F40 mov ecx, eax mov byte ptr [esp+178h], 0Bh call sub_4012EE test eax, eax lea ecx, [esp+14h] mov [esp+174h], bl setz byte ptr [esp+2Bh] call sub_401226 mov al, [esp+2Bh] test al, al jz short loc_405241 mov dword ptr [esp+174h], 0FFFFFFFFh lea ecx, [esp+5Ch] jmp loc_4056B8 ; --------------------------------------------------------------------------- loc_405241: ; CODE XREF: ___:0040522Bj push offset dword_444600 lea edx, [esp+18h] push 1 push edx mov ecx, esi call sub_4016B8 mov ecx, eax mov byte ptr [esp+174h], 0Ch call sub_4017EE push eax nop call near ptr 71AB2BF4h lea ecx, [esp+14h] mov [esp+74h], eax mov [esp+174h], bl call sub_401226 mov eax, [esp+74h] or ebp, 0FFFFFFFFh cmp eax, ebp jz loc_405314 push 2 lea eax, [esp+78h] push 4 push eax nop call near ptr 71ABE479h mov edi, eax test edi, edi jz loc_4053F5 push offset dword_444600 lea ecx, [esp+18h] push 1 push ecx mov ecx, esi call sub_4016B8 mov edx, [edi] mov ecx, eax push edx mov byte ptr [esp+178h], 0Dh call sub_4017EE push eax lea eax, [esp+64h] push offset dword_4446E0 push eax call sub_40102D add esp, 10h lea ecx, [esp+14h] mov [esp+174h], bl call sub_401226 lea ecx, [esi+69h] call sub_4014DD push eax lea ecx, [esp+60h] call sub_4014DD mov cl, [esi+94h] mov dl, [esi+93h] push eax push ecx push edx jmp loc_40545B ; --------------------------------------------------------------------------- loc_405314: ; CODE XREF: ___:00405287j push offset dword_444600 lea eax, [esp+18h] push 1 push eax mov ecx, esi call sub_4016B8 mov ecx, eax mov byte ptr [esp+174h], 0Eh call sub_4017EE push eax nop call near ptr 71AB4FD4h lea ecx, [esp+14h] mov edi, eax mov [esp+174h], bl call sub_401226 test edi, edi jz loc_4053F5 mov ecx, [edi+0Ch] push offset dword_444600 lea eax, [esp+18h] push 1 mov edx, [ecx] push eax mov ecx, esi mov edi, [edx] call sub_4016B8 mov ebp, eax push edi mov byte ptr [esp+178h], 0Fh nop call near ptr 71AB3F41h push eax mov ecx, ebp call sub_4017EE push eax lea ecx, [esp+64h] push offset dword_4446D4 push ecx call sub_40102D add esp, 10h lea ecx, [esp+14h] mov [esp+174h], bl call sub_401226 lea ecx, [esi+69h] call sub_4014DD push eax lea ecx, [esp+60h] call sub_4014DD mov dl, [esi+94h] push eax mov al, [esi+93h] push edx push eax mov ecx, offset byte_4D8085 call sub_401118 lea ecx, [esp+5Ch] mov bl, al mov dword ptr [esp+174h], 0FFFFFFFFh call sub_401226 mov al, bl jmp loc_4056BF ; --------------------------------------------------------------------------- loc_4053F5: ; CODE XREF: ___:004052A0j ; ___:00405351j push offset dword_444600 lea ecx, [esp+18h] push 1 push ecx mov ecx, esi call sub_4016B8 mov ecx, eax mov byte ptr [esp+174h], 10h call sub_4017EE push eax lea edx, [esp+60h] push offset dword_4446BC push edx call sub_40102D add esp, 0Ch lea ecx, [esp+14h] mov [esp+174h], bl call sub_401226 lea ecx, [esi+69h] call sub_4014DD push eax lea ecx, [esp+60h] call sub_4014DD mov cl, [esi+93h] push eax mov al, [esi+94h] push eax push ecx loc_40545B: ; CODE XREF: ___:0040530Fj mov ecx, offset byte_4D8085 call sub_401118 lea ecx, [esp+5Ch] mov bl, al mov [esp+174h], ebp call sub_401226 mov al, bl jmp loc_4056BF ; --------------------------------------------------------------------------- loc_40547E: ; CODE XREF: ___:004051CCj lea ecx, [edi+0BCDh] call sub_4017EE push eax mov ecx, ebp call sub_4012EE test eax, eax jnz loc_40556C lea ecx, [edi+9] call sub_4017EE lea edx, [esp+14h] push eax push edx call sub_402040 push 0 push 25h push 1Dh push 23h lea eax, [esp+44h] mov ebx, 11h push 28h push eax mov [esp+194h], ebx call sub_4019C4 add esp, 20h mov esi, eax lea ecx, [esp+14h] mov byte ptr [esp+174h], 12h call sub_4017EE push eax mov ecx, esi call sub_4017EE push eax push offset dword_4445F4 push offset byte_4D8085 call sub_401E24 add esp, 10h lea ecx, [esp+2Ch] mov [esp+174h], bl call sub_401226 push 20h lea ecx, [esp+30h] push 0 push ecx lea ecx, [esp+20h] call sub_4012B2 mov ecx, eax mov byte ptr [esp+174h], 13h call sub_4017EE push eax push offset dword_4445F0 push offset byte_4E8E55 call sub_40102D add esp, 0Ch lea ecx, [esp+2Ch] mov [esp+174h], bl call sub_401226 lea ecx, [esp+14h] mov dword ptr [esp+174h], 0FFFFFFFFh call sub_401226 mov al, 1 jmp loc_4056BF ; --------------------------------------------------------------------------- loc_40556C: ; CODE XREF: ___:00405493j lea ecx, [edi+0E23h] call sub_4017EE push eax mov ecx, ebp call sub_4012EE test eax, eax jnz loc_4056DA push offset dword_444600 lea edx, [esp+60h] push 1 push edx mov ecx, esi call sub_4016B8 mov edi, eax mov ecx, ebp mov dword ptr [esp+174h], 14h call sub_4013E3 mov ecx, edi mov ebx, eax call sub_4013E3 mov ecx, esi lea edi, [ebx+eax+3] call sub_4013E3 cmp eax, edi lea ecx, [esp+5Ch] setle bl or edi, 0FFFFFFFFh mov [esp+174h], edi call sub_401226 test bl, bl jnz loc_4056BD lea ecx, [esp+2Ch] call sub_40142E mov ecx, ebp mov dword ptr [esp+174h], 15h call sub_4013E3 add eax, 2 mov ecx, esi push eax call sub_401479 push eax lea ecx, [esp+30h] call sub_4015E1 lea ecx, [esp+14h] call sub_40142E lea ecx, [esp+2Ch] mov byte ptr [esp+174h], 16h call sub_4017EE push eax lea eax, [esp+18h] push offset dword_4446AC push eax call sub_40102D add esp, 0Ch lea ecx, [esp+2Ch] call sub_4017EE push eax nop call near ptr 77C293C7h add esp, 4 cmp eax, edi lea ecx, [esi+69h] jnz short loc_405674 call sub_4014DD mov cl, [esi+94h] mov dl, [esi+93h] push eax push offset dword_4446FC push ecx push edx jmp short loc_405692 ; --------------------------------------------------------------------------- loc_405674: ; CODE XREF: ___:00405657j call sub_4014DD push eax lea ecx, [esp+18h] call sub_4014DD mov cl, [esi+93h] push eax mov al, [esi+94h] push eax push ecx loc_405692: ; CODE XREF: ___:00405672j mov ecx, offset byte_4D8085 call sub_401118 lea ecx, [esp+14h] mov byte ptr [esp+174h], 15h call sub_401226 mov [esp+174h], edi lea ecx, [esp+2Ch] loc_4056B8: ; CODE XREF: ___:00404E94j ; ___:00404F6Fj ... call sub_401226 loc_4056BD: ; CODE XREF: ___:004055DCj ; ___:0040592Aj xor al, al loc_4056BF: ; CODE XREF: ___:00404D2Fj ; ___:00404EC0j ... mov ecx, [esp+16Ch] pop edi pop esi pop ebp pop ebx mov large fs:0, ecx add esp, 168h retn 4 ; --------------------------------------------------------------------------- loc_4056DA: ; CODE XREF: ___:00405581j lea ecx, [edi+0C85h] call sub_4017EE push eax mov ecx, ebp call sub_4012EE test eax, eax jnz short loc_405750 lea edx, [esp+14h] mov ecx, edi push edx call sub_401F5A mov edi, eax lea ecx, [esi+69h] mov dword ptr [esp+174h], 17h call sub_4014DD push eax mov ecx, edi call sub_4014DD mov cl, [esi+93h] push eax mov al, [esi+94h] push eax push ecx mov ecx, offset byte_4D8085 call sub_401118 lea ecx, [esp+14h] mov bl, al mov dword ptr [esp+174h], 0FFFFFFFFh call sub_401226 mov al, bl jmp loc_4056BF ; --------------------------------------------------------------------------- loc_405750: ; CODE XREF: ___:004056EFj lea ecx, [edi+0CE1h] call sub_4017EE push eax mov ecx, ebp call sub_4012EE test eax, eax jnz loc_405841 push 1 push offset dword_444600 lea edx, [esp+34h] push 1 push edx mov ecx, esi call sub_4011EA push 20h lea ecx, [esp+18h] push 0 push ecx mov ecx, eax mov dword ptr [esp+180h], 18h call sub_4012B2 mov ecx, eax mov byte ptr [esp+174h], 19h call sub_4017EE push eax push offset dword_4445F0 push offset byte_4E8E55 call sub_40102D add esp, 0Ch lea ecx, [esp+14h] mov byte ptr [esp+174h], 18h call sub_401226 or edi, 0FFFFFFFFh lea ecx, [esp+2Ch] mov [esp+174h], edi call sub_401226 push 0 push 25h push 1Dh push 23h lea edx, [esp+24h] push 28h push edx call sub_4019C4 add esp, 18h mov esi, eax mov ecx, offset byte_4E8E55 mov dword ptr [esp+174h], 1Ah call sub_4017EE push eax mov ecx, esi call sub_4017EE push eax push offset dword_4445F4 push offset byte_4D8085 call sub_401E24 add esp, 10h lea ecx, [esp+14h] mov [esp+174h], edi call sub_401226 mov al, 1 jmp loc_4056BF ; --------------------------------------------------------------------------- loc_405841: ; CODE XREF: ___:00405765j lea ecx, [edi+0CB3h] call sub_4017EE push eax mov ecx, ebp call sub_4012EE test eax, eax jnz loc_405915 push offset dword_444600 lea eax, [esp+30h] push 1 push eax mov ecx, esi call sub_4016B8 mov ecx, eax mov dword ptr [esp+174h], 1Bh call sub_4017EE push eax nop call near ptr 77C1BF18h or ebp, 0FFFFFFFFh add esp, 4 lea ecx, [esp+2Ch] mov ebx, eax mov [esp+174h], ebp call sub_401226 test ebx, ebx jnz short loc_4058A9 mov ebx, 7 loc_4058A9: ; CODE XREF: ___:004058A2j lea ecx, [esp+14h] push ebx push ecx mov ecx, edi call sub_40195B push offset byte_448F40 lea ecx, [esp+18h] mov dword ptr [esp+178h], 1Ch call sub_4012EE test eax, eax jz short loc_4058FE lea ecx, [esi+69h] call sub_4014DD push eax lea ecx, [esp+18h] call sub_4014DD mov dl, [esi+94h] push eax mov al, [esi+93h] push edx push eax mov ecx, offset byte_4D8085 call sub_401118 loc_4058FE: ; CODE XREF: ___:004058D1j lea ecx, [esp+14h] mov [esp+174h], ebp call sub_401226 mov al, 1 jmp loc_4056BF ; --------------------------------------------------------------------------- loc_405915: ; CODE XREF: ___:00405856j lea ecx, [edi+0DF5h] call sub_4017EE push eax mov ecx, ebp call sub_4012EE test eax, eax jnz loc_4056BD lea ecx, [esp+78h] call sub_40142E push 0 push 0Eh push 15h push 2Ch push 50h push 0Eh push 0Fh push 9 push 13h push 12h push 5 push 30h push 14h push 0Eh push 5 push 12h push 12h push 15h push 1Dh push 50h push 13h push 17h push 0Fh push 4 push 0Eh push 9 push 31h push 50h push 14h push 6 push 0Fh push 13h push 0Fh push 12h push 3 push 9 push 27h push 50h push 5 push 12h push 1 push 17h push 14h push 6 push 0Fh lea ecx, [esp+0C8h] push 2Dh push ecx mov dword ptr [esp+230h], 1Dh call sub_4019C4 add esp, 0BCh mov ecx, eax mov byte ptr [esp+174h], 1Eh call sub_4017EE push eax lea ecx, [esp+7Ch] call sub_401A9B lea ecx, [esp+14h] mov byte ptr [esp+174h], 1Dh call sub_401226 mov edi, offset dword_4446A8 or ecx, 0FFFFFFFFh xor eax, eax lea edx, [esp+0ECh] repne scasb not ecx sub edi, ecx mov dword ptr [esp+10h], 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+0ECh] or ecx, 0FFFFFFFFh xor eax, eax repne scasb not ecx dec ecx mov esi, dword_511764 mov edi, ecx lea ecx, [esp+10h] push ecx push 20019h push eax push offset dword_44468C 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+3Ch] push 1Fh push edx call sub_4019C4 add esp, 30h lea ecx, [esp+0ECh] push edi push ecx push 1 push 0 mov ecx, eax mov byte ptr [esp+184h], 1Fh call sub_4017EE mov edx, [esp+20h] push eax push edx nop call near ptr 2970000h lea ecx, [esp+14h] mov byte ptr [esp+174h], 1Dh call sub_401226 mov eax, [esp+10h] mov edi, dword_511740 push eax call edi lea ecx, [esp+10h] push ecx push 0F003Fh push 0 lea ecx, [esp+84h] call sub_4017EE push eax push 80000002h call esi push 0 push 5 push 18h push 5 push 4Eh push 5 push 14h push 1 push 13h lea edx, [esp+38h] push 2Dh push edx call sub_4019C4 add esp, 2Ch mov ecx, eax mov byte ptr [esp+174h], 20h call sub_4017EE mov ebp, dword_51176C push eax mov eax, [esp+14h] push eax call ebp lea ecx, [esp+14h] mov byte ptr [esp+174h], 1Dh call sub_401226 mov ecx, [esp+10h] 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+38h] push 9 push edx call sub_4019C4 add esp, 2Ch mov ecx, eax mov byte ptr [esp+174h], 21h call sub_4017EE push eax call sub_401604 add esp, 4 lea ecx, [esp+14h] mov byte ptr [esp+174h], 1Dh call sub_401226 lea ecx, [esp+44h] call sub_40142E mov bl, 22h push 104h push 104h lea ecx, [esp+4Ch] mov [esp+17Ch], bl call sub_401C71 push eax nop call near ptr 2810000h push 0 push 5 push 18h push 5 push 4Eh push 48h push 0Eh push 15h push 12h lea eax, [esp+38h] push 9 push eax call sub_4019C4 add esp, 2Ch mov ecx, eax mov byte ptr [esp+174h], 23h call sub_4017EE push eax lea ecx, [esp+48h] call sub_4017EE push eax lea ecx, [esp+4Ch] push offset dword_444684 push ecx call sub_40102D add esp, 10h lea ecx, [esp+14h] mov [esp+174h], bl call sub_401226 lea ecx, [esp+44h] call sub_40168B push eax nop call near ptr 2800D1Ah lea edx, [esp+10h] lea ecx, [esp+78h] push edx push 0F003Fh push 0 call sub_4017EE push eax push 80000002h call esi push 0 push 5 push 18h push 5 push 4Eh push 5 push 14h push 1 lea eax, [esp+34h] push 12h push eax call sub_4019C4 add esp, 28h mov ecx, eax mov byte ptr [esp+174h], 24h call sub_4017EE mov ecx, [esp+10h] push eax push ecx call ebp lea ecx, [esp+14h] mov [esp+174h], bl call sub_401226 mov edx, [esp+10h] 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+44h] push 9 push eax call sub_4019C4 add esp, 38h mov ecx, eax mov byte ptr [esp+174h], 25h call sub_4017EE push eax call sub_401604 add esp, 4 lea ecx, [esp+14h] mov [esp+174h], bl call sub_401226 push 104h push 104h lea ecx, [esp+4Ch] call sub_401C71 push eax call near ptr 2810000h nop 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+44h] push 9 push ecx call sub_4019C4 add esp, 38h mov ecx, eax mov byte ptr [esp+174h], 26h call sub_4017EE push eax lea ecx, [esp+48h] call sub_4017EE push eax lea edx, [esp+4Ch] push offset dword_444684 push edx call sub_40102D add esp, 10h lea ecx, [esp+14h] mov [esp+174h], bl call sub_401226 lea ecx, [esp+44h] call sub_40168B push eax nop call near ptr 2800D1Ah lea eax, [esp+10h] lea ecx, [esp+78h] push eax push 0F003Fh push 0 call sub_4017EE push eax push 80000002h call esi push 0 push 5 push 18h push 5 push 4Eh push 5 push 14h push 1 push 13h lea ecx, [esp+38h] push 13h push ecx call sub_4019C4 add esp, 2Ch mov ecx, eax mov byte ptr [esp+174h], 27h call sub_4017EE mov edx, [esp+10h] push eax push edx call ebp lea ecx, [esp+14h] mov [esp+174h], bl call sub_401226 mov eax, [esp+10h] 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+3Ch] push 17h push ecx call sub_4019C4 add esp, 30h mov ecx, eax mov byte ptr [esp+174h], 28h call sub_4017EE push eax call sub_401604 add esp, 4 lea ecx, [esp+14h] mov [esp+174h], bl call sub_401226 push 104h push 104h lea ecx, [esp+4Ch] call sub_401C71 push eax nop call near ptr 2810000h push 0 push 5 push 18h push 5 push 4Eh push 13h push 19h push 13h push 0Eh push 9 lea edx, [esp+3Ch] push 17h push edx call sub_4019C4 add esp, 30h mov ecx, eax mov byte ptr [esp+174h], 29h call sub_4017EE push eax lea ecx, [esp+48h] call sub_4017EE push eax lea eax, [esp+4Ch] push offset dword_444684 push eax call sub_40102D add esp, 10h lea ecx, [esp+14h] mov [esp+174h], bl call sub_401226 lea ecx, [esp+44h] call sub_40168B push eax call near ptr 2800D1Ah nop lea ecx, [esp+10h] push ecx push 0F003Fh push 0 lea ecx, [esp+84h] call sub_4017EE push eax push 80000002h call esi push 0 push 5 push 18h push 5 push 4Eh push 5 push 14h push 1 push 4 push 10h push 15h push 4 push 47h lea edx, [esp+48h] push 4 push edx call sub_4019C4 add esp, 3Ch mov ecx, eax mov byte ptr [esp+174h], 2Ah call sub_4017EE push eax mov eax, [esp+14h] push eax call ebp lea ecx, [esp+14h] mov [esp+174h], bl call sub_401226 mov ecx, [esp+10h] 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+40h] push 2 push edx call sub_4019C4 add esp, 34h mov ecx, eax mov byte ptr [esp+174h], 2Bh call sub_4017EE push eax call sub_401604 add esp, 4 lea ecx, [esp+14h] mov [esp+174h], bl call sub_401226 push 104h push 104h lea ecx, [esp+4Ch] call sub_401C71 push eax call near ptr 2810000h nop 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+40h] push 2 push eax call sub_4019C4 add esp, 34h mov ecx, eax mov byte ptr [esp+174h], 2Ch call sub_4017EE push eax lea ecx, [esp+48h] call sub_4017EE push eax lea ecx, [esp+4Ch] push offset dword_444684 push ecx call sub_40102D add esp, 10h lea ecx, [esp+14h] mov [esp+174h], bl call sub_401226 lea ecx, [esp+44h] call sub_40168B push eax nop call near ptr 2800D1Ah lea edx, [esp+10h] lea ecx, [esp+78h] push edx push 0F003Fh push 0 call sub_4017EE push eax push 80000002h call esi push 0 push 0Eh push 0Fh push 27h push 0Bh push 13h push 1 lea eax, [esp+30h] push 2Eh push eax call sub_4019C4 add esp, 24h mov ecx, eax mov byte ptr [esp+174h], 2Dh call sub_4017EE mov ecx, [esp+10h] push eax push ecx call ebp lea ecx, [esp+14h] mov [esp+174h], bl call sub_401226 mov edx, [esp+10h] 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+40h] push 14h push eax call sub_4019C4 add esp, 34h mov ecx, eax mov byte ptr [esp+174h], 2Eh call sub_4017EE push eax call sub_401604 add esp, 4 lea ecx, [esp+14h] mov [esp+174h], bl call sub_401226 push 104h push 104h lea ecx, [esp+4Ch] call sub_401C71 push eax nop call near ptr 2810000h 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+40h] push 14h push ecx call sub_4019C4 add esp, 34h mov ecx, eax mov byte ptr [esp+174h], 2Fh call sub_4017EE push eax lea ecx, [esp+48h] call sub_4017EE push eax push offset dword_444684 lea edx, [esp+50h] push edx call sub_40102D add esp, 10h lea ecx, [esp+14h] mov [esp+174h], bl call sub_401226 lea ecx, [esp+44h] call sub_40168B push eax nop call near ptr 2800D1Ah lea eax, [esp+10h] lea ecx, [esp+78h] push eax push 0F003Fh push 0 call sub_4017EE 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+0B0h] push 1Fh push ecx call sub_4019C4 add esp, 28h mov ecx, eax mov byte ptr [esp+174h], 30h call sub_4017EE mov edx, [esp+10h] push eax push edx call ebp lea ecx, [esp+90h] mov [esp+174h], bl call sub_401226 mov eax, [esp+10h] push eax call edi mov esi, dword_511B10 push offset dword_444668 call esi push offset dword_44464C call esi push offset dword_44462C call esi push offset dword_444608 call esi add esp, 10h lea ecx, [esp+44h] mov byte ptr [esp+174h], 1Dh call sub_401226 lea ecx, [esp+78h] mov dword ptr [esp+174h], 0FFFFFFFFh call sub_401226 mov al, 1 jmp loc_4056BF ; --------------------------------------------------------------------------- db 0Ah dup(90h) db 550h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_406730 proc near ; CODE XREF: sub_40195Bj var_28 = dword ptr -28h var_24 = byte ptr -24h var_C = dword ptr -0Ch var_4 = dword ptr -4 arg_0 = dword ptr 4 arg_4 = dword ptr 8 push 0FFFFFFFFh push offset SEH_406730 mov eax, large fs:0 push eax mov large fs:0, esp sub esp, 1Ch push ebx push ebp push esi xor ebx, ebx push edi lea ecx, [esp+38h+var_24] mov [esp+38h+var_28], ebx call sub_40142E mov esi, [esp+38h+arg_4] mov ebp, 1 cmp esi, ebx mov [esp+38h+var_4], ebp jnz short loc_406781 mov esi, [esp+38h+arg_0] push ebx mov ecx, esi call sub_402112 mov [esp+38h+var_28], ebp jmp loc_406827 ; --------------------------------------------------------------------------- loc_406781: ; CODE XREF: sub_406730+3Aj call near ptr 2800CA0h nop mov ecx, eax mov eax, 10624DD3h mul ecx mov ecx, edx mov eax, 0C22E4507h shr ecx, 6 imul ecx add edx, ecx sar edx, 10h mov eax, edx shr eax, 1Fh add edx, eax mov edi, edx cmp edi, esi jl short loc_406813 mov eax, ecx mov ecx, 15180h cdq idiv ecx mov esi, 0E10h mov ecx, edx mov eax, ecx cdq idiv esi mov eax, 88888889h mov esi, edx imul esi add edx, esi sar edx, 5 mov eax, edx shr eax, 1Fh add edx, eax mov eax, 91A2B3C5h push edx imul ecx add edx, ecx sar edx, 0Bh mov ecx, edx shr ecx, 1Fh add edx, ecx push edx push edi lea edx, [esp+44h+var_24] push offset dword_44470C push edx call sub_40102D mov esi, [esp+4Ch+arg_0] add esp, 14h lea eax, [esp+38h+var_24] mov ecx, esi push eax call sub_4014D3 jmp short loc_406823 ; --------------------------------------------------------------------------- loc_406813: ; CODE XREF: sub_406730+7Cj mov esi, [esp+38h+arg_0] push offset byte_448F40 mov ecx, esi call sub_401870 loc_406823: ; CODE XREF: sub_406730+E1j mov [esp+38h+var_28], ebp loc_406827: ; CODE XREF: sub_406730+4Cj lea ecx, [esp+38h+var_24] mov byte ptr [esp+38h+var_4], bl call sub_401226 mov ecx, [esp+38h+var_C] mov eax, esi pop edi pop esi pop ebp pop ebx mov large fs:0, ecx add esp, 28h retn 8 sub_406730 endp ; --------------------------------------------------------------------------- db 5 dup(90h) db 50h dup(0CCh) ; --------------------------------------------------------------------------- loc_4068A0: ; CODE XREF: ___:00401672j push ecx push esi mov esi, [esp+0Ch] push offset byte_448F40 mov ecx, esi mov dword ptr [esp+8], 0 call sub_401870 mov eax, esi pop esi pop ecx retn 4 ; --------------------------------------------------------------------------- db 0Fh dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_4068E0 proc near ; CODE XREF: sub_401F5Aj var_198 = dword ptr -198h var_194 = dword ptr -194h var_190 = dword ptr -190h var_18C = byte ptr -18Ch var_174 = byte ptr -174h var_164 = byte ptr -164h var_14C = byte ptr -14Ch var_144 = dword ptr -144h var_140 = dword ptr -140h var_12C = dword ptr -12Ch var_128 = dword ptr -128h var_124 = dword ptr -124h var_120 = dword ptr -120h var_11C = dword ptr -11Ch var_118 = byte ptr -118h var_98 = byte ptr -98h var_C = dword ptr -0Ch var_4 = dword ptr -4 arg_0 = dword ptr 4 push 0FFFFFFFFh push offset SEH_4068E0 mov eax, large fs:0 push eax mov large fs:0, esp sub esp, 18Ch push ebp push esi push edi lea ecx, [esp+1A4h+var_18C] mov [esp+1A4h+var_198], 0 call sub_40142E mov [esp+1A4h+var_4], 1 call near ptr 2800CA0h nop 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 near ptr 2840000h nop lea eax, [esp+1A4h+var_12C] mov [esp+1A4h+var_12C], 94h push eax call near ptr 2830000h nop mov eax, [esp+1A4h+var_128] cmp eax, 4 jnz short loc_4069AE mov eax, [esp+1A4h+var_124] test eax, eax jnz short loc_406996 mov eax, [esp+1A4h+var_11C] cmp eax, 1 jnz short loc_406986 mov ebp, offset dword_4447C8 jmp loc_406A21 ; --------------------------------------------------------------------------- loc_406986: ; CODE XREF: sub_4068E0+9Aj cmp eax, 2 jnz loc_406A1D mov ebp, offset dword_4447C4 jmp short loc_4069EA ; --------------------------------------------------------------------------- loc_406996: ; CODE XREF: sub_4068E0+8Ej cmp eax, 0Ah jnz short loc_4069A2 mov ebp, offset dword_4447C0 jmp short loc_4069E0 ; --------------------------------------------------------------------------- loc_4069A2: ; CODE XREF: sub_4068E0+B9j cmp eax, 5Ah jnz short loc_4069DB mov ebp, offset dword_4447BC jmp short loc_4069E0 ; --------------------------------------------------------------------------- loc_4069AE: ; CODE XREF: sub_4068E0+83j cmp eax, 5 jnz short loc_4069DB mov eax, [esp+1A4h+var_124] test eax, eax jnz short loc_4069C5 mov ebp, offset dword_4447B4 jmp short loc_4069E0 ; --------------------------------------------------------------------------- loc_4069C5: ; CODE XREF: sub_4068E0+DCj cmp eax, 1 jnz short loc_4069D1 mov ebp, offset dword_4447B0 jmp short loc_4069E0 ; --------------------------------------------------------------------------- loc_4069D1: ; CODE XREF: sub_4068E0+E8j cmp eax, 2 mov ebp, offset dword_4447A8 jz short loc_4069E0 loc_4069DB: ; CODE XREF: sub_4068E0+C5j ; sub_4068E0+D1j mov ebp, offset dword_4447A4 loc_4069E0: ; CODE XREF: sub_4068E0+C0j ; sub_4068E0+CCj ... cmp [esp+1A4h+var_11C], 2 jnz short loc_406A21 loc_4069EA: ; CODE XREF: sub_4068E0+B4j mov al, [esp+1A4h+var_118] test al, al jz short loc_406A21 lea ecx, [esp+1A4h+var_118] lea edx, [esp+1A4h+var_98] push ecx push ebp push offset dword_444798 push edx call near ptr word_5F67AE nop add esp, 10h lea ebp, [esp+1A4h+var_98] jmp short loc_406A21 ; --------------------------------------------------------------------------- loc_406A1D: ; CODE XREF: sub_4068E0+A9j mov ebp, [esp+1A4h+var_198] loc_406A21: ; CODE XREF: sub_4068E0+A1j ; sub_4068E0+108j ... lea eax, [esp+1A4h+var_190] lea ecx, [esp+1A4h+var_174] push eax push ecx call near ptr 28211A9h nop lea edx, [esp+1A4h+var_194] lea eax, [esp+1A4h+var_164] push edx push eax nop call near ptr 2950000h mov eax, esi mov ecx, 15180h cdq idiv ecx lea eax, [esp+1A4h+var_174] mov edi, 0E10h mov ecx, edx lea edx, [esp+1A4h+var_164] push edx push eax mov eax, ecx cdq idiv edi mov eax, 88888889h mov edi, edx imul edi add edx, edi sar edx, 5 mov eax, edx shr eax, 1Fh add edx, eax mov eax, 91A2B3C5h push edx imul ecx add edx, ecx mov eax, 0C22E4507h sar edx, 0Bh mov ecx, edx shr ecx, 1Fh add edx, ecx mov ecx, [esp+1B0h+var_120] push edx imul esi add edx, esi sar edx, 10h mov eax, edx shr eax, 1Fh add edx, eax mov eax, [esp+1B4h+var_128] push edx mov edx, [esp+1B8h+var_124] push ecx mov ecx, [esp+1BCh+var_144] push edx push eax mov eax, 804021h push ebp mul ecx sub ecx, edx mov eax, 804021h shr ecx, 1 add ecx, edx shr ecx, 13h push ecx mov ecx, [esp+1CCh+var_140] mul ecx sub ecx, edx shr ecx, 1 add ecx, edx shr ecx, 13h push ecx call sub_4017FD push eax lea ecx, [esp+1D4h+var_18C] push offset dword_444720 push ecx call sub_40102D mov esi, [esp+1DCh+arg_0] add esp, 38h lea edx, [esp+1A4h+var_18C] push edx mov ecx, esi call sub_4014D3 mov [esp+1A4h+var_198], 1 lea ecx, [esp+1A4h+var_18C] mov byte ptr [esp+1A4h+var_4], 0 call sub_401226 mov ecx, [esp+1A4h+var_C] mov eax, esi pop edi pop esi pop ebp mov large fs:0, ecx add esp, 198h retn 4 sub_4068E0 endp ; --------------------------------------------------------------------------- db 0Bh dup(90h) db 0A0h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_406BF0 proc near ; CODE XREF: sub_4015E6j mov eax, ecx mov dword ptr [eax], offset dword_43F008 mov dword ptr [eax+110h], 0 retn sub_406BF0 endp ; --------------------------------------------------------------------------- db 0Dh dup(90h) db 10h dup(0CCh) ; --------------------------------------------------------------------------- loc_406C20: ; CODE XREF: ___:00401FAAj ; ___:00402027j push esi mov esi, ecx call sub_401447 test byte ptr [esp+8], 1 jz short loc_406C38 push esi call near ptr word_437AD2 add esp, 4 loc_406C38: ; CODE XREF: ___:00406C2Dj mov eax, esi pop esi retn 4 ; --------------------------------------------------------------------------- db 2 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_406C50 proc near ; CODE XREF: sub_401447j mov dword ptr [ecx], offset dword_43F008 mov ecx, [ecx+110h] test ecx, ecx jz short locret_406C67 push ecx call near ptr word_437AD2 pop ecx locret_406C67: ; CODE XREF: sub_406C50+Ej retn sub_406C50 endp ; --------------------------------------------------------------------------- db 8 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_406C80 proc near ; CODE XREF: sub_401384j 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 offset SEH_406C80 push eax mov large fs:0, esp sub esp, 448h push ebx mov ebx, ecx mov eax, [ebx+110h] test eax, eax jz short loc_406CB1 push eax call near ptr word_437AD2 add esp, 4 loc_406CB1: ; CODE XREF: sub_406C80+26j push ebp push esi mov esi, [esp+460h+arg_0] push edi mov edi, esi or ecx, 0FFFFFFFFh xor eax, eax repne scasb not ecx push ecx call near ptr word_437AEA 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 near ptr word_437AEA mov edi, [ebx+110h] mov edx, eax or ecx, 0FFFFFFFFh xor eax, eax repne scasb not ecx sub edi, ecx mov ebp, dword_511B00 mov eax, ecx mov esi, edi mov edi, edx push offset dword_444600 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 edi, 0FFh loc_406D62: ; CODE XREF: sub_406C80+F4j push offset dword_444600 push 0 call ebp mov [esi], eax add esp, 8 add esi, 4 dec edi jnz short loc_406D62 mov eax, [esp+464h+var_40C] xor ecx, ecx cmp eax, ecx jz loc_406F68 lea ebp, [esp+464h+var_40C] loc_406D88: ; CODE XREF: sub_406C80+2E0j mov edi, [ebp+0] mov esi, offset dword_4447EC mov eax, edi loc_406D92: ; CODE XREF: sub_406C80+130j mov dl, [eax] mov cl, dl cmp dl, [esi] jnz short loc_406DB6 test cl, cl jz short loc_406DB2 mov dl, [eax+1] mov cl, dl cmp dl, [esi+1] jnz short loc_406DB6 add eax, 2 add esi, 2 test cl, cl jnz short loc_406D92 loc_406DB2: ; CODE XREF: sub_406C80+11Cj xor eax, eax jmp short loc_406DBB ; --------------------------------------------------------------------------- loc_406DB6: ; CODE XREF: sub_406C80+118j ; sub_406C80+126j sbb eax, eax sbb eax, 0FFFFFFFFh loc_406DBB: ; CODE XREF: sub_406C80+134j test eax, eax jz loc_406F58 mov esi, offset dword_4447E0 mov eax, edi loc_406DCA: ; CODE XREF: sub_406C80+168j mov dl, [eax] mov cl, dl cmp dl, [esi] jnz short loc_406DEE test cl, cl jz short loc_406DEA mov dl, [eax+1] mov cl, dl cmp dl, [esi+1] jnz short loc_406DEE add eax, 2 add esi, 2 test cl, cl jnz short loc_406DCA loc_406DEA: ; CODE XREF: sub_406C80+154j xor eax, eax jmp short loc_406DF3 ; --------------------------------------------------------------------------- loc_406DEE: ; CODE XREF: sub_406C80+150j ; sub_406C80+15Ej sbb eax, eax sbb eax, 0FFFFFFFFh loc_406DF3: ; CODE XREF: sub_406C80+16Cj test eax, eax jnz short loc_406E00 mov byte ptr [ebx+9], 1 jmp loc_406F58 ; --------------------------------------------------------------------------- loc_406E00: ; CODE XREF: sub_406C80+175j mov esi, offset dword_4447D4 mov eax, edi loc_406E07: ; CODE XREF: sub_406C80+1A5j mov dl, [eax] mov cl, dl cmp dl, [esi] jnz short loc_406E2B test cl, cl jz short loc_406E27 mov dl, [eax+1] mov cl, dl cmp dl, [esi+1] jnz short loc_406E2B add eax, 2 add esi, 2 test cl, cl jnz short loc_406E07 loc_406E27: ; CODE XREF: sub_406C80+191j xor eax, eax jmp short loc_406E30 ; --------------------------------------------------------------------------- loc_406E2B: ; CODE XREF: sub_406C80+18Dj ; sub_406C80+19Bj sbb eax, eax sbb eax, 0FFFFFFFFh loc_406E30: ; CODE XREF: sub_406C80+1A9j test eax, eax jnz short loc_406E3D mov byte ptr [ebx+0Ah], 1 jmp loc_406F58 ; --------------------------------------------------------------------------- loc_406E3D: ; CODE XREF: sub_406C80+1B2j mov esi, offset dword_4447CC mov eax, edi loc_406E44: ; CODE XREF: sub_406C80+1E2j mov dl, [eax] mov cl, dl cmp dl, [esi] jnz short loc_406E68 test cl, cl jz short loc_406E64 mov dl, [eax+1] mov cl, dl cmp dl, [esi+1] jnz short loc_406E68 add eax, 2 add esi, 2 test cl, cl jnz short loc_406E44 loc_406E64: ; CODE XREF: sub_406C80+1CEj xor eax, eax jmp short loc_406E6D ; --------------------------------------------------------------------------- loc_406E68: ; CODE XREF: sub_406C80+1CAj ; sub_406C80+1D8j sbb eax, eax sbb eax, 0FFFFFFFFh loc_406E6D: ; CODE XREF: sub_406C80+1E6j test eax, eax jnz loc_406F58 lea ecx, [esp+464h+var_454] call sub_40142E mov eax, [esp+464h+arg_0] push offset dword_4447CC push eax mov [esp+46Ch+var_4], 0 nop call near ptr 77C47C60h add esp, 8 test eax, eax jz loc_406F44 push eax lea ecx, [esp+468h+var_454] call sub_4015E1 push 1 push offset dword_444600 lea ecx, [esp+46Ch+var_43C] push 1 push ecx lea ecx, [esp+474h+var_454] call sub_4011EA push offset byte_448F40 mov ecx, eax mov byte ptr [esp+468h+var_4], 1 call sub_4012EE lea ecx, [esp+464h+var_43C] mov esi, eax mov byte ptr [esp+464h+var_4], 0 call sub_401226 test esi, esi jz short loc_406F44 push 1 push offset dword_444600 lea edx, [esp+46Ch+var_424] push 1 push edx lea ecx, [esp+474h+var_454] mov byte ptr [ebx+0Bh], 1 call sub_4011EA push 104h mov ecx, eax mov byte ptr [esp+468h+var_4], 2 call sub_40168B push eax lea eax, [ebx+0Ch] push eax nop call near ptr 77C47A90h add esp, 0Ch lea ecx, [esp+464h+var_424] mov byte ptr [esp+464h+var_4], 0 call sub_401226 add ebp, 4 loc_406F44: ; CODE XREF: sub_406C80+221j ; sub_406C80+271j lea ecx, [esp+464h+var_454] mov [esp+464h+var_4], 0FFFFFFFFh call sub_401226 loc_406F58: ; CODE XREF: sub_406C80+13Dj ; sub_406C80+17Bj ... mov eax, [ebp+4] add ebp, 4 test eax, eax jnz loc_406D88 xor ecx, ecx loc_406F68: ; CODE XREF: sub_406C80+FEj mov al, [ebx+4] pop edi pop esi pop ebp test al, al jnz short loc_406F75 mov [ebx+5], ecx loc_406F75: ; CODE XREF: sub_406C80+2F0j cmp [ebx+5], ecx jnz short loc_406F85 test al, al jz short loc_406F85 mov dword ptr [ebx+5], 0Ah loc_406F85: ; CODE XREF: sub_406C80+2F8j ; sub_406C80+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_406C80 endp ; --------------------------------------------------------------------------- db 0Ch dup(90h) db 0D0h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_407080 proc near ; CODE XREF: sub_4020BDj var_11 = byte ptr -11h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_4 = dword ptr -4 push 0FFFFFFFFh push offset SEH_407080 mov eax, large fs:0 push eax mov large fs:0, esp sub esp, 8 push esi mov esi, ecx mov [esp+18h+var_10], esi call sub_4011B3 lea ecx, [esi+4] call sub_401753 lea eax, [esp+18h+var_11] lea ecx, [esi+32h] push eax mov [esp+1Ch+var_4], 0 call sub_40156E mov ecx, [esp+18h+var_C] mov dword ptr [esi], offset dword_43F00C mov eax, esi pop esi mov large fs:0, ecx add esp, 14h retn sub_407080 endp ; --------------------------------------------------------------------------- db 7 dup(90h) db 20h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_407100 proc near ; CODE XREF: sub_40159Bj arg_0 = dword ptr 4 arg_4 = dword ptr 8 arg_8 = dword ptr 0Ch mov eax, [esp+arg_4] push esi mov esi, ecx push eax mov ecx, [esp+8+arg_0] call sub_4015E1 mov edx, [esp+4+arg_0] mov ecx, [esp+4+arg_8] lea eax, [esp+4+arg_0] mov [edx+2Ah], ecx push eax lea ecx, [esi+32h] call sub_4014EC pop esi retn 0Ch sub_407100 endp ; --------------------------------------------------------------------------- db 3 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_407140 proc near ; CODE XREF: sub_401B04j var_8 = dword ptr -8 var_4 = byte ptr -4 arg_0 = dword ptr 4 sub esp, 8 push esi mov esi, ecx push edi lea ecx, [esp+10h+var_8] call sub_401AD7 add esi, 32h lea eax, [esp+10h+var_4] push eax mov ecx, esi call sub_40162C mov ecx, [eax] lea edx, [esp+10h+var_4] mov [esp+10h+var_8], ecx push edx mov ecx, esi call sub_4021DF push eax lea ecx, [esp+14h+var_8] call sub_40184D test al, al jz short loc_4071BB mov edi, [esp+10h+arg_0] loc_407183: ; CODE XREF: sub_407140+79j push edi lea ecx, [esp+14h+var_8] call sub_401749 mov ecx, [eax] call sub_4012EE test eax, eax lea ecx, [esp+10h+var_8] jz short loc_4071C5 call sub_401F28 lea eax, [esp+10h+var_4] mov ecx, esi push eax call sub_4021DF push eax lea ecx, [esp+14h+var_8] call sub_40184D test al, al jnz short loc_407183 loc_4071BB: ; CODE XREF: sub_407140+3Dj pop edi xor eax, eax pop esi add esp, 8 retn 8 ; --------------------------------------------------------------------------- loc_4071C5: ; CODE XREF: sub_407140+5Aj call sub_401749 mov eax, [eax] pop edi pop esi add esp, 8 retn 8 sub_407140 endp ; --------------------------------------------------------------------------- db 0Ch dup(90h) db 30h dup(0CCh) ; --------------------------------------------------------------------------- loc_407210: ; CODE XREF: ___:0040221Bj xor al, al retn 4 ; --------------------------------------------------------------------------- db 0Bh dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_407230 proc near ; CODE XREF: sub_40156Ej arg_0 = dword ptr 4 mov eax, [esp+arg_0] push esi mov esi, ecx push 0 mov cl, [eax] push 0 mov [esi], cl mov ecx, esi call sub_40119F mov [esi+4], eax mov dword ptr [esi+8], 0 mov eax, esi pop esi retn 4 sub_407230 endp ; --------------------------------------------------------------------------- db 0Ah dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_407270 proc near ; CODE XREF: sub_40162Cj var_4 = byte ptr -4 arg_0 = dword ptr 4 push ecx mov eax, [ecx+4] push eax call sub_401A96 mov ecx, [eax] add esp, 4 push ecx lea ecx, [esp+8+var_4] call sub_4021A8 mov edx, [eax] mov eax, [esp+4+arg_0] mov [eax], edx pop ecx retn 4 sub_407270 endp ; --------------------------------------------------------------------------- db 0Bh dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_4072B0 proc near ; CODE XREF: sub_4021DFj var_4 = byte ptr -4 arg_0 = dword ptr 4 push ecx mov eax, [ecx+4] lea ecx, [esp+4+var_4] push eax call sub_4021A8 mov ecx, [eax] mov eax, [esp+4+arg_0] mov [eax], ecx pop ecx retn 4 sub_4072B0 endp ; --------------------------------------------------------------------------- db 6 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_4072E0 proc near ; CODE XREF: sub_4014ECj var_4 = byte ptr -4 arg_0 = dword ptr 4 push ecx mov eax, [esp+4+arg_0] push esi mov esi, ecx push eax lea ecx, [esp+0Ch+arg_0] push ecx mov ecx, esi call sub_4021DF mov edx, [eax] lea eax, [esp+0Ch+var_4] push edx push eax mov ecx, esi call sub_4013B6 pop esi pop ecx retn 4 sub_4072E0 endp ; --------------------------------------------------------------------------- db 7 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_407320 proc near ; CODE XREF: sub_401AD7j push esi mov esi, ecx call sub_401B77 mov eax, esi pop esi retn sub_407320 endp ; --------------------------------------------------------------------------- db 4 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_407340 proc near ; CODE XREF: sub_401749j mov eax, [ecx] push eax call sub_401208 add esp, 4 retn sub_407340 endp ; --------------------------------------------------------------------------- db 4 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_407360 proc near ; CODE XREF: sub_401F28j push esi mov esi, ecx mov eax, [esi] push eax call sub_401A96 mov ecx, [eax] add esp, 4 mov [esi], ecx mov eax, esi pop esi retn sub_407360 endp ; --------------------------------------------------------------------------- db 0Ah dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_407390 proc near ; CODE XREF: sub_40184Dj arg_0 = dword ptr 4 mov eax, [esp+arg_0] push eax call sub_401FBE neg al sbb eax, eax inc eax retn 4 sub_407390 endp ; --------------------------------------------------------------------------- db 0Eh dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_4073C0 proc near ; CODE XREF: sub_4013B6j arg_0 = dword ptr 4 arg_4 = byte ptr 8 arg_8 = dword ptr 0Ch push ebx push esi mov esi, ecx push edi lea ecx, [esp+0Ch+arg_4] call sub_401C9E mov edi, eax push edi call sub_401C6C mov eax, [eax] add esp, 4 mov ecx, esi push eax push edi call sub_40119F push edi mov ebx, eax call sub_401C6C push edi mov [eax], ebx call sub_401C6C mov edi, [eax] push edi call sub_401C6C mov ecx, [eax] push ecx call sub_401A96 mov edx, [esp+1Ch+arg_8] add esp, 10h mov [eax], edi push edx push edi call sub_401208 add esp, 4 mov ecx, esi push eax call sub_40167C mov ecx, [esi+8] push edi inc ecx mov [esi+8], ecx lea ecx, [esp+10h+arg_8] call sub_4021A8 mov ecx, [eax] mov eax, [esp+0Ch+arg_0] pop edi pop esi mov [eax], ecx pop ebx retn 0Ch sub_4073C0 endp ; --------------------------------------------------------------------------- db 2 dup(90h) db 20h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_407460 proc near ; CODE XREF: sub_40119Fj arg_0 = dword ptr 4 arg_4 = dword ptr 8 push esi push edi push 0Ch call sub_4019D8 mov edi, [esp+8+arg_0] mov esi, eax test edi, edi jnz short loc_407475 mov edi, esi loc_407475: ; CODE XREF: sub_407460+11j push esi call sub_401A96 mov [eax], edi mov edi, [esp+0Ch+arg_4] add esp, 4 test edi, edi jnz short loc_40748A mov edi, esi loc_40748A: ; CODE XREF: sub_407460+26j push esi call sub_401C6C add esp, 4 mov [eax], edi mov eax, esi pop edi pop esi retn 8 sub_407460 endp ; --------------------------------------------------------------------------- db 4 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_4074B0 proc near ; CODE XREF: sub_401A96j arg_0 = dword ptr 4 mov eax, [esp+arg_0] retn sub_4074B0 endp ; --------------------------------------------------------------------------- db 0Bh dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_4074D0 proc near ; CODE XREF: sub_401208j arg_0 = dword ptr 4 mov eax, [esp+arg_0] add eax, 8 retn sub_4074D0 endp ; --------------------------------------------------------------------------- db 8 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_4074F0 proc near ; CODE XREF: sub_401B77j mov eax, ecx retn sub_4074F0 endp ; --------------------------------------------------------------------------- db 0Dh dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_407510 proc near ; CODE XREF: sub_4021A8j arg_0 = dword ptr 4 mov eax, [esp+arg_0] push esi mov esi, ecx push eax call sub_4011E5 mov eax, esi pop esi retn 4 sub_407510 endp ; --------------------------------------------------------------------------- db 0Dh dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_407540 proc near ; CODE XREF: sub_401FBEj arg_0 = dword ptr 4 mov edx, [esp+arg_0] mov eax, [ecx] push esi xor ecx, ecx mov esi, [edx] cmp eax, esi pop esi setz cl mov al, cl retn 4 sub_407540 endp ; --------------------------------------------------------------------------- db 0Ah dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_407570 proc near ; CODE XREF: sub_401C6Cj arg_0 = dword ptr 4 mov eax, [esp+arg_0] add eax, 4 retn sub_407570 endp ; --------------------------------------------------------------------------- db 8 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_407590 proc near ; CODE XREF: sub_4019D8j arg_0 = dword ptr 4 mov eax, [esp+arg_0] push 0 push eax call sub_401D2A add esp, 8 retn 4 sub_407590 endp ; --------------------------------------------------------------------------- db 0Eh dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_4075C0 proc near ; CODE XREF: sub_40167Cj arg_0 = dword ptr 4 arg_4 = dword ptr 8 mov eax, [esp+arg_4] mov ecx, [esp+arg_0] push eax push ecx call sub_40109B add esp, 8 retn 8 sub_4075C0 endp ; --------------------------------------------------------------------------- db 0Bh dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_4075F0 proc near ; CODE XREF: sub_4011E5j arg_0 = dword ptr 4 mov eax, ecx mov ecx, [esp+arg_0] mov [eax], ecx retn 4 sub_4075F0 endp ; --------------------------------------------------------------------------- db 5 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_407610 proc near ; CODE XREF: sub_401C9Ej mov eax, [ecx] retn sub_407610 endp ; --------------------------------------------------------------------------- db 0Dh dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_407630 proc near ; CODE XREF: sub_401D2Aj arg_0 = dword ptr 4 mov eax, [esp+arg_0] test eax, eax jge short loc_40763A xor eax, eax loc_40763A: ; CODE XREF: sub_407630+6j push eax call near ptr word_437AEA add esp, 4 retn sub_407630 endp ; --------------------------------------------------------------------------- db 0Ch dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_407660 proc near ; CODE XREF: sub_40109Bj arg_0 = dword ptr 4 arg_4 = dword ptr 8 mov eax, [esp+arg_0] push eax push 4 call sub_4011CC add esp, 8 test eax, eax jz short locret_40767B mov ecx, [esp+arg_4] mov edx, [ecx] mov [eax], edx locret_40767B: ; CODE XREF: sub_407660+11j retn sub_407660 endp ; --------------------------------------------------------------------------- db 4 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_407690 proc near ; CODE XREF: sub_4011CCj arg_4 = dword ptr 8 mov eax, [esp+arg_4] retn sub_407690 endp ; --------------------------------------------------------------------------- db 0Bh dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_4076B0 proc near ; CODE XREF: sub_401B40j var_C = dword ptr -0Ch var_4 = dword ptr -4 arg_0 = dword ptr 4 arg_4 = byte ptr 8 mov eax, large fs:0 push 0FFFFFFFFh push offset SEH_4076B0 push eax mov large fs:0, esp push 0 push 0 push 0 push 0 lea ecx, [esp+1Ch+arg_4] mov [esp+1Ch+var_4], 0 call sub_4017EE push eax mov eax, [esp+20h+arg_0] push 0 push eax mov ecx, offset word_44ACE6 call sub_401B72 lea ecx, [esp+0Ch+arg_4] mov [esp+0Ch+var_4], 0FFFFFFFFh call sub_401226 mov ecx, [esp+0Ch+var_C] mov large fs:0, ecx add esp, 0Ch retn 1Ch sub_4076B0 endp ; --------------------------------------------------------------------------- db 0Eh dup(90h) db 20h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_407740 proc near ; CODE XREF: sub_401CD5j var_C = dword ptr -0Ch var_4 = dword ptr -4 arg_0 = dword ptr 4 arg_4 = byte ptr 8 arg_1C = byte ptr 20h mov eax, large fs:0 push 0FFFFFFFFh push offset SEH_407740 push eax mov large fs:0, esp push 0 push 0 push 0 push 0 lea ecx, [esp+1Ch+arg_1C] mov [esp+1Ch+var_4], 1 call sub_4017EE push eax lea ecx, [esp+20h+arg_4] call sub_4017EE push eax mov eax, [esp+24h+arg_0] push eax mov ecx, offset word_44ACE6 call sub_401B72 lea ecx, [esp+0Ch+arg_4] mov byte ptr [esp+0Ch+var_4], 0 call sub_401226 lea ecx, [esp+0Ch+arg_1C] mov [esp+0Ch+var_4], 0FFFFFFFFh call sub_401226 mov ecx, [esp+0Ch+var_C] mov large fs:0, ecx add esp, 0Ch retn 34h sub_407740 endp ; --------------------------------------------------------------------------- db 8 dup(90h) db 20h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_4077E0 proc near ; CODE XREF: sub_40121Cj var_350 = dword ptr -350h var_34C = dword ptr -34Ch var_348 = byte ptr -348h var_330 = byte ptr -330h var_318 = byte ptr -318h var_300 = dword ptr -300h var_2FC = dword ptr -2FCh var_2F8 = dword ptr -2F8h var_2F4 = byte ptr -2F4h var_2DC = byte ptr -2DCh var_2C4 = byte ptr -2C4h var_2AC = byte ptr -2ACh var_294 = byte ptr -294h var_27C = byte ptr -27Ch var_264 = byte ptr -264h var_24C = byte ptr -24Ch var_234 = byte ptr -234h var_21C = byte ptr -21Ch var_204 = byte ptr -204h var_1EC = byte ptr -1ECh var_1D4 = byte ptr -1D4h var_1BC = byte ptr -1BCh var_1A4 = byte ptr -1A4h var_18C = byte ptr -18Ch var_174 = byte ptr -174h var_15C = byte ptr -15Ch var_144 = byte ptr -144h var_12C = byte ptr -12Ch var_114 = byte ptr -114h var_FC = byte ptr -0FCh var_E4 = byte ptr -0E4h var_CC = byte ptr -0CCh var_B4 = byte ptr -0B4h var_9C = byte ptr -9Ch var_84 = byte ptr -84h var_6C = byte ptr -6Ch var_54 = byte ptr -54h var_3C = byte ptr -3Ch var_24 = byte ptr -24h var_C = dword ptr -0Ch var_4 = dword ptr -4 push 0FFFFFFFFh push offset SEH_4077E0 mov eax, large fs:0 push eax mov large fs:0, esp sub esp, 344h push ebx push esi mov esi, ecx push edi lea ecx, [esp+35Ch+var_2C4] call sub_40142E lea ecx, [esp+35Ch+var_2DC] mov [esp+35Ch+var_4], 0 call sub_40142E lea ecx, [esp+35Ch+var_174] mov byte ptr [esp+35Ch+var_4], 1 call sub_40142E lea ecx, [esp+35Ch+var_1A4] mov byte ptr [esp+35Ch+var_4], 2 call sub_40142E lea ecx, [esp+35Ch+var_2AC] mov byte ptr [esp+35Ch+var_4], 3 call sub_40142E lea ecx, [esp+35Ch+var_2F4] mov byte ptr [esp+35Ch+var_4], 4 call sub_40142E lea ecx, [esp+35Ch+var_1D4] mov byte ptr [esp+35Ch+var_4], 5 call sub_40142E lea ecx, [esp+35Ch+var_204] mov byte ptr [esp+35Ch+var_4], 6 call sub_40142E lea ecx, [esp+35Ch+var_294] mov byte ptr [esp+35Ch+var_4], 7 call sub_40142E lea ecx, [esp+35Ch+var_24] mov byte ptr [esp+35Ch+var_4], 8 call sub_40142E lea ecx, [esp+35Ch+var_54] mov byte ptr [esp+35Ch+var_4], 9 call sub_40142E lea ecx, [esp+35Ch+var_84] mov byte ptr [esp+35Ch+var_4], 0Ah call sub_40142E lea ecx, [esp+35Ch+var_3C] mov byte ptr [esp+35Ch+var_4], 0Bh call sub_40142E lea ecx, [esp+35Ch+var_6C] mov byte ptr [esp+35Ch+var_4], 0Ch call sub_40142E lea ecx, [esp+35Ch+var_234] mov byte ptr [esp+35Ch+var_4], 0Dh call sub_40142E lea ecx, [esp+35Ch+var_264] mov byte ptr [esp+35Ch+var_4], 0Eh call sub_40142E lea ecx, [esp+35Ch+var_E4] mov byte ptr [esp+35Ch+var_4], 0Fh call sub_40142E lea ecx, [esp+35Ch+var_15C] mov byte ptr [esp+35Ch+var_4], 10h call sub_40142E lea ecx, [esp+35Ch+var_114] mov byte ptr [esp+35Ch+var_4], 11h call sub_40142E mov byte ptr [esp+35Ch+var_4], 12h lea ecx, [esp+35Ch+var_18C] call sub_40142E lea ecx, [esp+35Ch+var_144] mov byte ptr [esp+35Ch+var_4], 13h call sub_40142E lea ecx, [esp+35Ch+var_1BC] mov byte ptr [esp+35Ch+var_4], 14h call sub_40142E lea ecx, [esp+35Ch+var_27C] mov byte ptr [esp+35Ch+var_4], 15h call sub_40142E lea ecx, [esp+35Ch+var_1EC] mov byte ptr [esp+35Ch+var_4], 16h call sub_40142E lea ecx, [esp+35Ch+var_CC] mov byte ptr [esp+35Ch+var_4], 17h call sub_40142E lea ecx, [esp+35Ch+var_21C] mov byte ptr [esp+35Ch+var_4], 18h call sub_40142E lea ecx, [esp+35Ch+var_B4] mov byte ptr [esp+35Ch+var_4], 19h call sub_40142E lea ecx, [esp+35Ch+var_9C] mov byte ptr [esp+35Ch+var_4], 1Ah call sub_40142E lea ecx, [esp+35Ch+var_24C] mov byte ptr [esp+35Ch+var_4], 1Bh call sub_40142E lea ecx, [esp+35Ch+var_330] mov byte ptr [esp+35Ch+var_4], 1Ch call sub_40142E lea ecx, [esp+35Ch+var_318] mov byte ptr [esp+35Ch+var_4], 1Dh call sub_40142E mov ebx, 1Eh push offset dword_444894 lea ecx, [esp+360h+var_2C4] mov byte ptr [esp+360h+var_4], bl call sub_401A9B push offset dword_44488C lea ecx, [esp+360h+var_2DC] call sub_401A9B push offset byte_448F40 lea ecx, [esp+360h+var_144] call sub_401A9B lea eax, [esp+35Ch+var_2C4] lea ecx, [esp+35Ch+var_174] push eax call sub_40202C lea ecx, [esp+35Ch+var_2DC] push ecx lea ecx, [esp+360h+var_1A4] call sub_40202C push offset byte_448F40 lea ecx, [esp+360h+var_1BC] call sub_401A9B push offset dword_444880 lea ecx, [esp+360h+var_2AC] call sub_401A9B push offset dword_444878 lea ecx, [esp+360h+var_24C] call sub_401A9B push offset dword_444870 lea ecx, [esp+360h+var_2F4] call sub_401A9B push offset dword_444854 lea ecx, [esp+360h+var_1D4] call sub_401A9B push offset dword_444838 lea ecx, [esp+360h+var_204] call sub_401A9B push offset dword_444834 lea ecx, [esp+360h+var_294] call sub_401A9B push offset dword_444830 lea ecx, [esp+360h+var_234] call sub_401A9B push 0 push 4Ah push 20h push 48h push 1Ch push 4Bh push 46h push 4Ah push 46h push 47h push 4Ch push 1Fh push 48h push 1Fh push ebx push 1Bh push 1Dh push 47h push 4Bh push 47h push ebx push 45h push 46h push 4Ah push 48h push ebx push 1Dh push 1Ch push 4Ah push 20h push 4Ch push 4Dh lea edx, [esp+3DCh+var_348] push 44h push edx call sub_4019C4 add esp, 88h push eax lea ecx, [esp+360h+var_264] mov byte ptr [esp+360h+var_4], 1Fh call sub_40202C lea ecx, [esp+35Ch+var_348] mov byte ptr [esp+35Ch+var_4], bl call sub_401226 push offset dword_444820 lea ecx, [esp+360h+var_E4] call sub_401A9B push offset dword_444818 lea ecx, [esp+360h+var_15C] call sub_401A9B push offset dword_4447FC lea ecx, [esp+360h+var_114] call sub_401A9B push offset dword_4447F8 lea ecx, [esp+360h+var_27C] call sub_401A9B push 0 push 4Bh push 48h push 4Ah push 47h push 4Ch push 48h push 4Bh push 48h push 45h lea eax, [esp+384h+var_348] push 46h push eax call sub_4019C4 add esp, 30h push eax lea ecx, [esp+360h+var_18C] mov byte ptr [esp+360h+var_4], 20h call sub_40202C lea ecx, [esp+35Ch+var_348] mov byte ptr [esp+35Ch+var_4], bl call sub_401226 push 0 push 0Dh push 0Fh push 3 push 4Fh push 14h push 6 push 0Fh push 13h push 0Fh push 12h push 3 push 9 push 0Dh push 4Fh push 45h push 19h push 14h push 0Fh push 2 push 12h lea ecx, [esp+3B0h+var_348] push 13h push ecx call sub_4019C4 add esp, 5Ch push eax lea ecx, [esp+360h+var_1EC] mov byte ptr [esp+360h+var_4], 21h call sub_40202C lea ecx, [esp+35Ch+var_348] mov byte ptr [esp+35Ch+var_4], bl call sub_401226 push 0 push 48h push 46h push 44h lea edx, [esp+36Ch+var_348] push 45h push edx call sub_4019C4 add esp, 18h push eax lea ecx, [esp+360h+var_CC] mov byte ptr [esp+360h+var_4], 22h call sub_40202C lea ecx, [esp+35Ch+var_348] mov byte ptr [esp+35Ch+var_4], bl call sub_401226 push 0 push 48h push 46h push 44h lea eax, [esp+36Ch+var_348] push 45h push eax call sub_4019C4 add esp, 18h push eax lea ecx, [esp+360h+var_B4] mov byte ptr [esp+360h+var_4], 23h call sub_40202C lea ecx, [esp+35Ch+var_348] mov byte ptr [esp+35Ch+var_4], bl call sub_401226 push 0 push 44h push 49h lea ecx, [esp+368h+var_348] push 46h push ecx call sub_4019C4 add esp, 14h push eax lea ecx, [esp+360h+var_21C] mov byte ptr [esp+360h+var_4], 24h call sub_40202C lea ecx, [esp+35Ch+var_348] mov byte ptr [esp+35Ch+var_4], bl call sub_401226 push 0 push 48h push 46h push 44h lea edx, [esp+36Ch+var_348] push 45h push edx call sub_4019C4 add esp, 18h push eax lea ecx, [esp+360h+var_9C] mov byte ptr [esp+360h+var_4], 25h call sub_40202C lea ecx, [esp+35Ch+var_348] mov byte ptr [esp+35Ch+var_4], bl call sub_401226 push 0 push 5 push 15h push 12h lea eax, [esp+36Ch+var_348] push 14h push eax call sub_4019C4 add esp, 18h push eax lea ecx, [esp+360h+var_330] mov byte ptr [esp+360h+var_4], 26h call sub_40202C lea ecx, [esp+35Ch+var_348] mov byte ptr [esp+35Ch+var_4], bl call sub_401226 push 0 push 5 push 13h push 0Ch push 1 lea ecx, [esp+370h+var_348] push 6 push ecx call sub_4019C4 add esp, 1Ch push eax lea ecx, [esp+360h+var_318] mov byte ptr [esp+360h+var_4], 27h call sub_40202C lea ecx, [esp+35Ch+var_348] mov byte ptr [esp+35Ch+var_4], bl call sub_401226 lea ecx, [esp+35Ch+var_2F4] call sub_4017EE sub esp, 18h mov ecx, esp mov [esp+374h+var_34C], esp push eax call sub_401870 push 0 push 13h push 13h push 1 push 10h push 0Eh push 1 push 8 push 3 mov byte ptr [esp+398h+var_4], 28h push 4Eh push 14h push 0Fh push 0Fh push 12h push 3Fh push 12h push 5 push 16h push 12h push 5 push 13h push 3Fh push 9 lea edx, [esp+3D0h+var_348] push 13h push edx call sub_4019C4 add esp, 64h mov ecx, eax mov byte ptr [esp+374h+var_4], 29h call sub_4017EE sub esp, 18h mov ecx, esp mov [esp+38Ch+var_350], esp push eax call sub_401870 lea eax, [esi+0FECh] mov ecx, esi push eax mov byte ptr [esp+390h+var_4], 2Ah call sub_401CD5 lea ecx, [esp+35Ch+var_348] mov byte ptr [esp+35Ch+var_4], bl call sub_401226 lea ecx, [esp+35Ch+var_2AC] call sub_4017EE sub esp, 18h mov ecx, esp mov [esp+374h+var_350], esp push eax call sub_401870 push 0 push 0Eh push 1 push 8 push 3 push 0Eh push 9 push 1 push 0Dh push 4Eh push 14h push 0Fh push 0Fh push 12h push 3Fh push 12h push 5 push 16h push 12h push 5 push 13h push 3Fh push 9 lea ecx, [esp+3D0h+var_348] push 13h push ecx mov byte ptr [esp+3D8h+var_4], 2Bh call sub_4019C4 add esp, 64h mov ecx, eax mov byte ptr [esp+374h+var_4], 2Ch call sub_4017EE sub esp, 18h mov ecx, esp mov [esp+38Ch+var_34C], esp push eax call sub_401870 lea edx, [esi+1035h] mov ecx, esi push edx mov byte ptr [esp+390h+var_4], 2Dh call sub_401CD5 lea ecx, [esp+35Ch+var_348] mov byte ptr [esp+35Ch+var_4], bl call sub_401226 lea ecx, [esp+35Ch+var_2DC] call sub_4017EE sub esp, 18h mov ecx, esp mov [esp+374h+var_350], esp push eax call sub_401870 push 0 push 14h push 12h push 0Fh push 10h push 4Eh push 14h push 0Fh push 0Fh push 12h push 3Fh push 12h push 5 push 16h push 12h push 5 push 13h push 3Fh push 9 lea eax, [esp+3C0h+var_348] push 13h push eax mov byte ptr [esp+3C8h+var_4], 2Eh call sub_4019C4 add esp, 54h mov ecx, eax mov byte ptr [esp+374h+var_4], 2Fh call sub_4017EE sub esp, 18h mov ecx, esp mov [esp+38Ch+var_34C], esp push eax call sub_401870 lea ecx, [esi+0FA3h] mov byte ptr [esp+38Ch+var_4], 30h push ecx mov ecx, esi call sub_401CD5 lea ecx, [esp+35Ch+var_348] mov byte ptr [esp+35Ch+var_4], bl call sub_401226 lea ecx, [esp+35Ch+var_2C4] call sub_4017EE sub esp, 18h mov ecx, esp mov [esp+374h+var_350], esp push eax call sub_401870 push 0 push 12h push 5 push 16h push 12h push 5 push 13h push 4Eh push 14h push 0Fh mov byte ptr [esp+39Ch+var_4], 31h push 0Fh push 12h push 3Fh push 12h push 5 push 16h push 12h push 5 push 13h push 3Fh push 9 lea edx, [esp+3C8h+var_348] push 13h push edx call sub_4019C4 add esp, 5Ch mov ecx, eax mov byte ptr [esp+374h+var_4], 32h call sub_4017EE sub esp, 18h mov ecx, esp mov [esp+38Ch+var_34C], esp push eax call sub_401870 lea eax, [esi+0F5Ah] mov ecx, esi push eax mov byte ptr [esp+390h+var_4], 33h call sub_401CD5 lea ecx, [esp+35Ch+var_348] mov byte ptr [esp+35Ch+var_4], bl call sub_401226 lea ecx, [esp+35Ch+var_294] call sub_4017EE sub esp, 18h mov ecx, esp mov [esp+374h+var_350], esp push eax call sub_401870 push 0 push 18h push 9 push 6 push 5 push 12h push 10h push 0Bh push 3 push 9 push 0Eh push 4Eh push 14h push 0Fh push 0Fh push 12h push 3Fh push 12h push 5 push 16h push 12h push 5 push 13h push 3Fh push 9 lea ecx, [esp+3D8h+var_348] push 13h push ecx mov byte ptr [esp+3E0h+var_4], 34h call sub_4019C4 add esp, 6Ch mov ecx, eax mov byte ptr [esp+374h+var_4], 35h call sub_4017EE sub esp, 18h mov ecx, esp mov [esp+38Ch+var_34C], esp push eax call sub_401870 lea edi, [esi+0E7Fh] mov ecx, esi push edi mov byte ptr [esp+390h+var_4], 36h call sub_401CD5 lea ecx, [esp+35Ch+var_348] mov byte ptr [esp+35Ch+var_4], bl call sub_401226 lea ecx, [esp+35Ch+var_144] call sub_4017EE sub esp, 18h mov ecx, esp mov [esp+374h+var_350], esp push eax call sub_401870 push 0 push 13h push 13h push 1 push 10h push 16h push 12h push 5 push 13h push 4Eh push 14h push 0Fh push 0Fh push 12h push 3Fh push 12h push 5 push 16h push 12h push 5 push 13h push 3Fh push 9 lea edx, [esp+3D0h+var_348] push 13h push edx mov byte ptr [esp+3D8h+var_4], 37h call sub_4019C4 add esp, 64h mov ecx, eax mov byte ptr [esp+374h+var_4], 38h call sub_4017EE sub esp, 18h mov ecx, esp mov [esp+38Ch+var_34C], esp push eax call sub_401870 lea eax, [esi+0F11h] mov ecx, esi push eax mov byte ptr [esp+390h+var_4], 39h call sub_401CD5 lea ecx, [esp+35Ch+var_348] mov byte ptr [esp+35Ch+var_4], bl call sub_401226 lea ecx, [esp+35Ch+var_318] call sub_4017EE sub esp, 18h mov ecx, esp mov [esp+374h+var_350], esp push eax call sub_401870 push 0 push 0Ch push 13h push 13h push 3Fh push 5 push 13h mov byte ptr [esp+390h+var_4], 3Ah push 15h push 4Eh push 14h push 0Fh push 0Fh push 12h push 3Fh push 12h push 5 push 16h push 12h push 5 push 13h push 3Fh push 9 lea ecx, [esp+3CCh+var_348] push 13h push ecx call sub_4019C4 add esp, 60h mov ecx, eax mov byte ptr [esp+374h+var_4], 3Bh call sub_4017EE sub esp, 18h mov ecx, esp mov [esp+38Ch+var_34C], esp push eax call sub_401870 lea edx, [esi+107Eh] mov ecx, esi push edx mov byte ptr [esp+390h+var_4], 3Ch call sub_401CD5 lea ecx, [esp+35Ch+var_348] mov byte ptr [esp+35Ch+var_4], bl call sub_401226 lea eax, [esp+35Ch+var_34C] mov ecx, offset byte_4D835F push eax mov [esp+360h+var_34C], edi call sub_401A73 lea ecx, [esp+35Ch+var_2F4] call sub_4017EE sub esp, 18h mov ecx, esp mov [esp+374h+var_350], esp push eax call sub_401870 push 0 push 13h push 13h push 1 push 10h push 0Eh push 1 push 8 push 3 push 4Eh push 14h push 0Fh push 0Fh push 12h push 3Fh push 12h push 5 push 16h push 12h push 5 push 13h push 3Fh push 9 lea ecx, [esp+3D0h+var_348] push 13h push ecx mov byte ptr [esp+3D8h+var_4], 3Dh call sub_4019C4 add esp, 64h mov byte ptr [esp+374h+var_4], 3Eh mov ecx, eax call sub_4017EE sub esp, 18h mov ecx, esp mov [esp+38Ch+var_34C], esp push eax call sub_401870 lea edx, [esi+1234h] mov ecx, esi push edx mov byte ptr [esp+390h+var_4], 3Fh call sub_401CD5 lea ecx, [esp+35Ch+var_348] mov byte ptr [esp+35Ch+var_4], bl call sub_401226 lea ecx, [esp+35Ch+var_2AC] call sub_4017EE sub esp, 18h mov ecx, esp mov [esp+374h+var_350], esp push eax call sub_401870 push 0 push 0Eh push 1 push 8 push 3 push 0Eh push 9 push 1 push 0Dh push 4Eh push 14h push 0Fh push 0Fh push 12h push 3Fh push 12h push 5 push 16h push 12h push 5 push 13h push 3Fh push 9 lea eax, [esp+3D0h+var_348] push 13h push eax mov byte ptr [esp+3D8h+var_4], 40h call sub_4019C4 add esp, 64h mov ecx, eax mov byte ptr [esp+374h+var_4], 41h call sub_4017EE sub esp, 18h mov ecx, esp mov [esp+38Ch+var_34C], esp push eax call sub_401870 lea ecx, [esi+127Dh] mov byte ptr [esp+38Ch+var_4], 42h push ecx mov ecx, esi call sub_401CD5 lea ecx, [esp+35Ch+var_348] mov byte ptr [esp+35Ch+var_4], bl call sub_401226 lea ecx, [esp+35Ch+var_1A4] call sub_4017EE sub esp, 18h mov ecx, esp mov [esp+374h+var_350], esp push eax call sub_401870 mov byte ptr [esp+374h+var_4], 43h push 0 push 14h push 12h push 0Fh push 10h push 4Eh push 14h push 0Fh push 0Fh push 12h push 3Fh push 12h push 5 push 16h push 12h push 5 push 13h push 3Fh push 9 lea edx, [esp+3C0h+var_348] push 13h push edx call sub_4019C4 add esp, 54h mov ecx, eax mov byte ptr [esp+374h+var_4], 44h call sub_4017EE sub esp, 18h mov ecx, esp mov [esp+38Ch+var_34C], esp push eax call sub_401870 lea eax, [esi+11EBh] mov ecx, esi push eax mov byte ptr [esp+390h+var_4], 45h call sub_401CD5 lea ecx, [esp+35Ch+var_348] mov byte ptr [esp+35Ch+var_4], bl call sub_401226 lea ecx, [esp+35Ch+var_174] call sub_4017EE sub esp, 18h mov ecx, esp mov [esp+374h+var_350], esp push eax call sub_401870 push 0 push 12h push 5 push 16h push 12h push 5 push 13h push 4Eh push 14h push 0Fh push 0Fh push 12h push 3Fh push 12h push 5 push 16h push 12h push 5 push 13h push 3Fh push 9 lea ecx, [esp+3C8h+var_348] push 13h push ecx mov byte ptr [esp+3D0h+var_4], 46h call sub_4019C4 add esp, 5Ch mov ecx, eax mov byte ptr [esp+374h+var_4], 47h call sub_4017EE sub esp, 18h mov ecx, esp mov [esp+38Ch+var_34C], esp push eax call sub_401870 lea edx, [esi+11A2h] mov ecx, esi push edx mov byte ptr [esp+390h+var_4], 48h call sub_401CD5 lea ecx, [esp+35Ch+var_348] mov byte ptr [esp+35Ch+var_4], bl call sub_401226 lea ecx, [esp+35Ch+var_294] call sub_4017EE sub esp, 18h mov ecx, esp mov [esp+374h+var_350], esp push eax call sub_401870 push 0 push 18h push 9 push 6 push 5 push 12h push 10h push 0Bh push 3 push 9 push 0Eh push 4Eh push 14h push 0Fh push 0Fh push 12h push 3Fh push 12h push 5 push 16h push 12h push 5 push 13h push 3Fh push 9 lea eax, [esp+3D8h+var_348] push 13h push eax mov byte ptr [esp+3E0h+var_4], 49h call sub_4019C4 add esp, 6Ch mov ecx, eax mov byte ptr [esp+374h+var_4], 4Ah call sub_4017EE sub esp, 18h mov ecx, esp mov [esp+38Ch+var_34C], esp push eax call sub_401870 lea edi, [esi+10C7h] mov ecx, esi push edi mov byte ptr [esp+390h+var_4], 4Bh call sub_401CD5 lea ecx, [esp+35Ch+var_348] mov byte ptr [esp+35Ch+var_4], bl call sub_401226 lea ecx, [esp+35Ch+var_1BC] call sub_4017EE sub esp, 18h mov ecx, esp mov [esp+374h+var_350], esp push eax call sub_401870 push 0 mov byte ptr [esp+378h+var_4], 4Ch push 13h push 13h push 1 push 10h push 16h push 12h push 5 push 13h push 4Eh push 14h push 0Fh push 0Fh push 12h push 3Fh push 12h push 5 push 16h push 12h push 5 push 13h push 3Fh push 9 lea ecx, [esp+3D0h+var_348] push 13h push ecx call sub_4019C4 add esp, 64h mov ecx, eax mov byte ptr [esp+374h+var_4], 4Dh call sub_4017EE sub esp, 18h mov ecx, esp mov [esp+38Ch+var_34C], esp push eax call sub_401870 lea edx, [esi+1159h] mov ecx, esi push edx mov byte ptr [esp+390h+var_4], 4Eh call sub_401CD5 lea ecx, [esp+35Ch+var_348] mov byte ptr [esp+35Ch+var_4], bl call sub_401226 lea ecx, [esp+35Ch+var_318] call sub_4017EE sub esp, 18h mov ecx, esp mov [esp+374h+var_350], esp push eax call sub_401870 push 0 push 0Ch push 13h push 13h push 3Fh push 5 push 13h push 15h push 4Eh push 14h push 0Fh push 0Fh push 12h push 3Fh push 12h push 5 push 16h push 12h push 5 push 13h push 3Fh push 9 lea eax, [esp+3CCh+var_348] push 13h push eax mov byte ptr [esp+3D4h+var_4], 4Fh call sub_4019C4 add esp, 60h mov ecx, eax mov byte ptr [esp+374h+var_4], 50h call sub_4017EE sub esp, 18h mov ecx, esp mov [esp+38Ch+var_34C], esp push eax call sub_401870 lea ecx, [esi+12C6h] mov byte ptr [esp+38Ch+var_4], 51h push ecx mov ecx, esi call sub_401CD5 lea ecx, [esp+35Ch+var_348] mov byte ptr [esp+35Ch+var_4], bl call sub_401226 lea edx, [esp+35Ch+var_34C] mov ecx, offset byte_4D835F push edx mov [esp+360h+var_34C], edi call sub_401A73 push offset byte_448F40 push offset word_4E8E6A call sub_40102D add esp, 8 lea ecx, [esp+35Ch+var_12C] call sub_40142E lea ecx, [esp+35Ch+var_FC] mov byte ptr [esp+35Ch+var_4], 52h call sub_40142E push 56D2h push 539h mov byte ptr [esp+364h+var_4], 53h call sub_4021C6 push eax lea eax, [esp+368h+var_12C] push offset dword_4447F4 push eax call sub_40102D push 56D2h push 539h call sub_4021C6 push eax lea ecx, [esp+37Ch+var_FC] push offset dword_4447F4 push ecx call sub_40102D add esp, 10h lea edx, [esp+374h+var_330] mov ecx, esp mov [esp+374h+var_350], esp push edx call sub_4014D3 lea eax, [esi+606h] mov ecx, esi push eax call sub_401B40 sub esp, 18h lea edx, [esp+374h+var_330] mov ecx, esp mov [esp+374h+var_350], esp push edx call sub_4014D3 lea eax, [esi+64Fh] mov ecx, esi push eax call sub_401B40 sub esp, 18h lea edx, [esp+374h+var_330] mov ecx, esp mov [esp+374h+var_350], esp push edx call sub_4014D3 lea eax, [esi+805h] mov ecx, esi push eax call sub_401B40 sub esp, 18h lea edx, [esp+374h+var_330] mov ecx, esp mov [esp+374h+var_350], esp push edx call sub_4014D3 lea eax, [esi+84Eh] mov ecx, esi push eax call sub_401B40 sub esp, 18h lea edx, [esp+374h+var_330] mov ecx, esp mov [esp+374h+var_350], esp push edx call sub_4014D3 lea eax, [esi+897h] mov ecx, esi push eax call sub_401B40 sub esp, 18h lea edx, [esp+374h+var_330] mov ecx, esp mov [esp+374h+var_350], esp push edx call sub_4014D3 lea eax, [esi+450h] mov ecx, esi push eax call sub_401B40 sub esp, 18h lea edx, [esp+374h+var_318] mov ecx, esp mov [esp+374h+var_350], esp push edx call sub_4014D3 lea eax, [esi+499h] mov ecx, esi push eax call sub_401B40 sub esp, 18h lea edx, [esp+374h+var_330] mov ecx, esp mov [esp+374h+var_350], esp push edx call sub_4014D3 lea eax, [esi+52Bh] mov ecx, esi push eax call sub_401B40 sub esp, 18h lea edx, [esp+374h+var_330] mov ecx, esp mov [esp+374h+var_350], esp push edx call sub_4014D3 lea eax, [esi+574h] mov ecx, esi push eax call sub_401B40 sub esp, 18h lea edx, [esp+374h+var_330] mov ecx, esp mov [esp+374h+var_350], esp push edx call sub_4014D3 lea eax, [esi+0B28h] mov ecx, esi push eax call sub_401B40 sub esp, 18h lea edx, [esp+374h+var_318] mov ecx, esp mov [esp+374h+var_350], esp push edx call sub_4014D3 lea eax, [esi+8E0h] mov ecx, esi push eax call sub_401B40 sub esp, 18h mov ecx, esp lea edx, [esp+374h+var_FC] mov [esp+374h+var_350], esp push edx call sub_4014D3 lea eax, [esi+3BEh] mov ecx, esi push eax call sub_401B40 sub esp, 18h lea edx, [esp+374h+var_18C] mov ecx, esp mov [esp+374h+var_350], esp push edx call sub_4014D3 lea eax, [esi+407h] mov ecx, esi push eax call sub_401B40 sub esp, 18h lea edx, [esp+374h+var_114] mov ecx, esp mov [esp+374h+var_350], esp push edx call sub_4014D3 lea eax, [esi+5BDh] mov ecx, esi push eax call sub_401B40 sub esp, 18h lea edx, [esp+374h+var_1EC] mov ecx, esp mov [esp+374h+var_350], esp push edx call sub_4014D3 lea eax, [esi+698h] mov ecx, esi push eax call sub_401B40 sub esp, 18h lea edx, [esp+374h+var_21C] mov ecx, esp mov [esp+374h+var_350], esp push edx call sub_4014D3 lea eax, [esi+72Ah] mov ecx, esi push eax call sub_401B40 sub esp, 18h lea edx, [esp+374h+var_24C] mov ecx, esp mov [esp+374h+var_350], esp push edx call sub_4014D3 lea eax, [esi+6E1h] mov ecx, esi push eax call sub_401B40 sub esp, 18h lea edx, [esp+374h+var_B4] mov ecx, esp mov [esp+374h+var_350], esp push edx call sub_4014D3 lea eax, [esi+773h] mov ecx, esi push eax call sub_401B40 sub esp, 18h lea edx, [esp+374h+var_CC] mov ecx, esp mov [esp+374h+var_350], esp push edx call sub_4014D3 lea eax, [esi+7BCh] mov ecx, esi push eax call sub_401B40 sub esp, 18h mov ecx, esp mov [esp+374h+var_350], esp push offset word_4E8E6A call sub_4014D3 lea ecx, [esi+251h] push ecx mov ecx, esi call sub_401B40 sub esp, 18h lea edx, [esp+374h+var_1D4] mov ecx, esp mov [esp+374h+var_350], esp push edx call sub_4014D3 lea eax, [esi+29Ah] mov ecx, esi push eax call sub_401B40 sub esp, 18h lea edx, [esp+374h+var_204] mov ecx, esp mov [esp+374h+var_350], esp push edx call sub_4014D3 lea eax, [esi+2E3h] mov ecx, esi push eax call sub_401B40 sub esp, 18h lea edx, [esp+374h+var_27C] mov ecx, esp mov [esp+374h+var_350], esp push edx call sub_4014D3 lea eax, [esi+32Ch] mov ecx, esi push eax call sub_401B40 sub esp, 18h lea edx, [esp+374h+var_12C] mov ecx, esp mov [esp+374h+var_350], esp push edx call sub_4014D3 lea eax, [esi+375h] mov ecx, esi push eax call sub_401B40 push 0 mov ecx, offset byte_4D835F call sub_401474 mov ecx, [eax] add ecx, 16Dh call sub_4017EE push eax push offset byte_4493FD mov ecx, offset word_44ACE6 call sub_4015A0 push 0 mov ecx, offset byte_4D835F call sub_401474 mov ecx, [eax] add ecx, 1B6h call sub_4017EE push eax push offset dword_4493B4 mov ecx, offset word_44ACE6 call sub_4015A0 push 0 mov ecx, offset byte_4D835F call sub_401474 mov ecx, [eax] call sub_4017EE push eax push offset dword_449290 mov ecx, offset word_44ACE6 call sub_4015A0 push 0 mov ecx, offset byte_4D835F call sub_401474 mov ecx, [eax] add ecx, 124h call sub_4017EE push eax push offset word_449322 mov ecx, offset word_44ACE6 call sub_4015A0 push 0 mov ecx, offset byte_4D835F call sub_401474 mov ecx, [eax] add ecx, 0DBh call sub_4017EE push eax push offset byte_4492D9 mov ecx, offset word_44ACE6 call sub_4015A0 push 0 mov ecx, offset byte_4D835F call sub_401474 mov ecx, [eax] add ecx, 92h call sub_4017EE push eax push offset byte_44936B mov ecx, offset word_44ACE6 call sub_4015A0 push 0 mov ecx, offset byte_4D835F call sub_401474 mov ecx, [eax] add ecx, 1FFh call sub_4017EE push eax push offset byte_44948F mov ecx, offset word_44ACE6 call sub_4015A0 lea ecx, [esp+35Ch+var_15C] call sub_4017EE sub esp, 18h mov ecx, esp mov [esp+374h+var_350], esp push eax call sub_401870 lea ecx, [esp+374h+var_E4] mov byte ptr [esp+374h+var_4], 54h call sub_4017EE sub esp, 18h mov ecx, esp mov [esp+38Ch+var_2F8], esp push eax call sub_401870 lea ecx, [esp+38Ch+var_264] mov byte ptr [esp+38Ch+var_4], 55h call sub_4017EE sub esp, 18h mov ecx, esp mov [esp+3A4h+var_300], esp push eax call sub_401870 lea ecx, [esp+3A4h+var_234] mov byte ptr [esp+3A4h+var_4], 56h call sub_4017EE sub esp, 18h mov ecx, esp mov [esp+3BCh+var_2FC], esp push eax call sub_401870 mov ecx, offset word_44AC6E mov byte ptr [esp+3BCh+var_4], 53h call sub_40137F lea ecx, [esp+35Ch+var_FC] mov byte ptr [esp+35Ch+var_4], 52h call sub_401226 lea ecx, [esp+35Ch+var_12C] mov byte ptr [esp+35Ch+var_4], bl call sub_401226 lea ecx, [esp+35Ch+var_318] mov byte ptr [esp+35Ch+var_4], 1Dh call sub_401226 mov byte ptr [esp+35Ch+var_4], 1Ch lea ecx, [esp+35Ch+var_330] call sub_401226 lea ecx, [esp+35Ch+var_24C] mov byte ptr [esp+35Ch+var_4], 1Bh call sub_401226 lea ecx, [esp+35Ch+var_9C] mov byte ptr [esp+35Ch+var_4], 1Ah call sub_401226 lea ecx, [esp+35Ch+var_B4] mov byte ptr [esp+35Ch+var_4], 19h call sub_401226 lea ecx, [esp+35Ch+var_21C] mov byte ptr [esp+35Ch+var_4], 18h call sub_401226 lea ecx, [esp+35Ch+var_CC] mov byte ptr [esp+35Ch+var_4], 17h call sub_401226 lea ecx, [esp+35Ch+var_1EC] mov byte ptr [esp+35Ch+var_4], 16h call sub_401226 lea ecx, [esp+35Ch+var_27C] mov byte ptr [esp+35Ch+var_4], 15h call sub_401226 lea ecx, [esp+35Ch+var_1BC] mov byte ptr [esp+35Ch+var_4], 14h call sub_401226 lea ecx, [esp+35Ch+var_144] mov byte ptr [esp+35Ch+var_4], 13h call sub_401226 lea ecx, [esp+35Ch+var_18C] mov byte ptr [esp+35Ch+var_4], 12h call sub_401226 lea ecx, [esp+35Ch+var_114] mov byte ptr [esp+35Ch+var_4], 11h call sub_401226 lea ecx, [esp+35Ch+var_15C] mov byte ptr [esp+35Ch+var_4], 10h call sub_401226 lea ecx, [esp+35Ch+var_E4] mov byte ptr [esp+35Ch+var_4], 0Fh call sub_401226 lea ecx, [esp+35Ch+var_264] mov byte ptr [esp+35Ch+var_4], 0Eh call sub_401226 lea ecx, [esp+35Ch+var_234] mov byte ptr [esp+35Ch+var_4], 0Dh call sub_401226 lea ecx, [esp+35Ch+var_6C] mov byte ptr [esp+35Ch+var_4], 0Ch call sub_401226 lea ecx, [esp+35Ch+var_3C] mov byte ptr [esp+35Ch+var_4], 0Bh call sub_401226 lea ecx, [esp+35Ch+var_84] mov byte ptr [esp+35Ch+var_4], 0Ah call sub_401226 lea ecx, [esp+35Ch+var_54] mov byte ptr [esp+35Ch+var_4], 9 call sub_401226 lea ecx, [esp+35Ch+var_24] mov byte ptr [esp+35Ch+var_4], 8 call sub_401226 lea ecx, [esp+35Ch+var_294] mov byte ptr [esp+35Ch+var_4], 7 call sub_401226 lea ecx, [esp+35Ch+var_204] mov byte ptr [esp+35Ch+var_4], 6 call sub_401226 lea ecx, [esp+35Ch+var_1D4] mov byte ptr [esp+35Ch+var_4], 5 call sub_401226 lea ecx, [esp+35Ch+var_2F4] mov byte ptr [esp+35Ch+var_4], 4 call sub_401226 lea ecx, [esp+35Ch+var_2AC] mov byte ptr [esp+35Ch+var_4], 3 call sub_401226 lea ecx, [esp+35Ch+var_1A4] mov byte ptr [esp+35Ch+var_4], 2 call sub_401226 mov byte ptr [esp+35Ch+var_4], 1 lea ecx, [esp+35Ch+var_174] call sub_401226 lea ecx, [esp+35Ch+var_2DC] mov byte ptr [esp+35Ch+var_4], 0 call sub_401226 lea ecx, [esp+35Ch+var_2C4] mov [esp+35Ch+var_4], 0FFFFFFFFh call sub_401226 mov ecx, [esp+35Ch+var_C] pop edi pop esi mov large fs:0, ecx pop ebx add esp, 350h retn sub_4077E0 endp ; --------------------------------------------------------------------------- db 0Ah dup(90h) db 5E0h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_409530 proc near ; CODE XREF: sub_401474j arg_0 = dword ptr 4 push esi push edi mov esi, ecx call sub_401983 mov edi, [esp+8+arg_0] cmp eax, edi ja short loc_409548 mov ecx, esi call sub_40191A loc_409548: ; CODE XREF: sub_409530+Fj mov ecx, esi call sub_401A46 lea eax, [eax+edi*4] pop edi pop esi retn 4 sub_409530 endp ; --------------------------------------------------------------------------- db 9 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_409570 proc near ; CODE XREF: sub_401A73j arg_0 = dword ptr 4 mov eax, [esp+arg_0] push esi mov esi, ecx push eax call sub_40128A push eax mov ecx, esi call sub_401695 pop esi retn 4 sub_409570 endp ; --------------------------------------------------------------------------- db 7 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_4095A0 proc near ; CODE XREF: sub_401A46j mov eax, [ecx+4] retn sub_4095A0 endp ; --------------------------------------------------------------------------- db 0Ch dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_4095C0 proc near ; CODE XREF: sub_40128Aj mov eax, [ecx+8] retn sub_4095C0 endp ; --------------------------------------------------------------------------- db 0Ch dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_4095E0 proc near ; CODE XREF: sub_401983j mov edx, [ecx+4] test edx, edx jnz short loc_4095EA xor eax, eax retn ; --------------------------------------------------------------------------- loc_4095EA: ; CODE XREF: sub_4095E0+5j mov eax, [ecx+8] sub eax, edx sar eax, 2 retn sub_4095E0 endp ; --------------------------------------------------------------------------- db 0Dh dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_409610 proc near ; CODE XREF: sub_401695j arg_0 = dword ptr 4 arg_4 = dword ptr 8 push esi push edi mov edi, ecx call sub_401A46 mov edx, [esp+8+arg_4] mov ecx, eax mov eax, [esp+8+arg_0] push edx mov esi, eax push 1 sub esi, ecx push eax mov ecx, edi sar esi, 2 call sub_401BAE mov ecx, edi call sub_401A46 lea eax, [eax+esi*4] pop edi pop esi retn 8 sub_409610 endp ; --------------------------------------------------------------------------- db 0Ch dup(90h) db 10h dup(0CCh) ; --------------------------------------------------------------------------- loc_409660: ; CODE XREF: sub_40191Aj push 0FFFFFFFFh push offset byte_439D39 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 dword_444918 nop call near ptr 76081F67h lea ecx, [esp+4] mov dword ptr [esp+38h], 0 push ecx lea ecx, [esp+18h] nop call near ptr 760A0430h lea edx, [esp+14h] push offset dword_440088 push edx call near ptr word_437B22 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_4096E0 proc near ; CODE XREF: sub_401BAEj arg_0 = dword ptr 4 arg_4 = dword ptr 8 arg_8 = dword ptr 0Ch push ebx push ebp push esi mov esi, ecx push edi mov edi, [esp+10h+arg_4] mov eax, [esi+8] mov ecx, [esi+0Ch] sub ecx, eax sar ecx, 2 cmp ecx, edi jnb loc_4097AB mov ecx, esi call sub_401983 cmp edi, eax jnb short loc_409713 mov ecx, esi call sub_401983 mov ebp, eax jmp short loc_409715 ; --------------------------------------------------------------------------- loc_409713: ; CODE XREF: sub_4096E0+26j mov ebp, edi loc_409715: ; CODE XREF: sub_4096E0+31j mov ecx, esi call sub_401983 mov ebx, eax push 0 add ebx, ebp mov ecx, esi push ebx call sub_401CC1 mov edx, [esp+10h+arg_0] mov ebp, eax mov eax, [esi+4] push ebp push edx push eax mov ecx, esi call sub_4016E0 mov ecx, [esp+10h+arg_8] mov [esp+10h+arg_4], eax push ecx push edi push eax mov ecx, esi call sub_401177 mov edx, [esp+10h+arg_4] mov ecx, [esi+8] lea eax, [edx+edi*4] mov edx, [esp+10h+arg_0] push eax push ecx push edx mov ecx, esi call sub_4016E0 mov eax, [esi+8] mov ecx, [esi+4] push eax push ecx mov ecx, esi call sub_401717 mov eax, [esi+4] mov edx, [esi+0Ch] sub edx, eax mov ecx, esi sar edx, 2 push edx push eax call sub_401294 lea eax, [ebp+ebx*4+0] mov ecx, esi mov [esi+0Ch], eax call sub_401983 add eax, edi mov [esi+4], ebp pop edi lea ecx, [ebp+eax*4+0] mov [esi+8], ecx pop esi pop ebp pop ebx retn 0Ch ; --------------------------------------------------------------------------- loc_4097AB: ; CODE XREF: sub_4096E0+17j mov ebx, [esp+10h+arg_0] mov edx, eax sub edx, ebx sar edx, 2 cmp edx, edi jnb short loc_409809 lea ebp, ds:0[edi*4] lea ecx, [ebx+ebp] push ecx push eax push ebx mov ecx, esi call sub_4016E0 mov eax, [esi+8] mov edx, [esp+10h+arg_8] mov ecx, eax push edx sub ecx, ebx sar ecx, 2 sub edi, ecx mov ecx, esi push edi push eax call sub_401177 mov edx, [esp+10h+arg_8] mov eax, [esi+8] push edx push eax push ebx call sub_401FB4 mov eax, [esi+8] add esp, 0Ch add eax, ebp mov [esi+8], eax pop edi pop esi pop ebp pop ebx retn 0Ch ; --------------------------------------------------------------------------- loc_409809: ; CODE XREF: sub_4096E0+D8j test edi, edi jbe short loc_409843 shl edi, 2 push eax push eax sub eax, edi mov ecx, esi push eax call sub_4016E0 mov eax, [esi+8] push eax sub eax, edi push eax push ebx call sub_401CDF mov ecx, [esp+1Ch+arg_8] lea edx, [edi+ebx] push ecx push edx push ebx call sub_401FB4 mov eax, [esi+8] add esp, 18h add eax, edi mov [esi+8], eax loc_409843: ; CODE XREF: sub_4096E0+12Bj pop edi pop esi pop ebp pop ebx retn 0Ch sub_4096E0 endp ; --------------------------------------------------------------------------- db 6 dup(90h) db 60h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_4098B0 proc near ; CODE XREF: sub_401717j arg_0 = dword ptr 4 arg_4 = dword ptr 8 push ebx mov ebx, [esp+4+arg_4] push esi mov esi, [esp+8+arg_0] push edi cmp esi, ebx mov edi, ecx jz short loc_4098D0 loc_4098C1: ; CODE XREF: sub_4098B0+1Ej push esi mov ecx, edi call sub_402090 add esi, 4 cmp esi, ebx jnz short loc_4098C1 loc_4098D0: ; CODE XREF: sub_4098B0+Fj pop edi pop esi pop ebx retn 8 sub_4098B0 endp ; --------------------------------------------------------------------------- db 0Ah dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_4098F0 proc near ; CODE XREF: sub_401294j arg_0 = dword ptr 4 mov eax, [esp+arg_0] push eax call near ptr word_437AD2 pop ecx retn 8 sub_4098F0 endp ; --------------------------------------------------------------------------- db 2 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_409910 proc near ; CODE XREF: sub_402090j arg_0 = dword ptr 4 mov eax, [esp+arg_0] push eax call j_nullsub_7 pop ecx retn 4 sub_409910 endp ; --------------------------------------------------------------------------- db 2 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_409930 proc near ; CODE XREF: sub_4016E0j arg_0 = dword ptr 4 arg_4 = dword ptr 8 arg_8 = dword ptr 0Ch push ebx push ebp mov ebp, [esp+8+arg_4] push esi mov esi, [esp+0Ch+arg_0] mov ebx, ecx cmp esi, ebp jz short loc_409962 push edi mov edi, [esp+10h+arg_8] loc_409946: ; CODE XREF: sub_409930+27j push esi push edi mov ecx, ebx call sub_4015B4 add esi, 4 add edi, 4 cmp esi, ebp jnz short loc_409946 mov eax, edi pop edi pop esi pop ebp pop ebx retn 0Ch ; --------------------------------------------------------------------------- loc_409962: ; CODE XREF: sub_409930+Fj mov eax, [esp+0Ch+arg_8] pop esi pop ebp pop ebx retn 0Ch sub_409930 endp ; --------------------------------------------------------------------------- db 4 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_409980 proc near ; CODE XREF: sub_401177j arg_0 = dword ptr 4 arg_4 = dword ptr 8 arg_8 = dword ptr 0Ch push ebp push edi mov edi, [esp+8+arg_4] mov ebp, ecx test edi, edi jbe short loc_4099A7 push ebx mov ebx, [esp+0Ch+arg_8] push esi mov esi, [esp+10h+arg_0] loc_409996: ; CODE XREF: sub_409980+23j push ebx push esi mov ecx, ebp call sub_4015B4 add esi, 4 dec edi jnz short loc_409996 pop esi pop ebx loc_4099A7: ; CODE XREF: sub_409980+Aj pop edi pop ebp retn 0Ch sub_409980 endp ; --------------------------------------------------------------------------- db 4 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_4099C0 proc near ; CODE XREF: sub_401CC1j arg_0 = dword ptr 4 mov eax, [esp+arg_0] push 0 push eax call sub_402059 add esp, 8 retn 8 sub_4099C0 endp ; --------------------------------------------------------------------------- db 0Eh dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_4099F0 proc near ; CODE XREF: sub_4015B4j arg_0 = dword ptr 4 arg_4 = dword ptr 8 mov eax, [esp+arg_4] mov ecx, [esp+arg_0] push eax push ecx call sub_401145 add esp, 8 retn 8 sub_4099F0 endp ; --------------------------------------------------------------------------- db 0Bh dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_409A20 proc near ; CODE XREF: sub_401FB4j arg_0 = dword ptr 4 arg_4 = dword ptr 8 arg_8 = dword ptr 0Ch mov eax, [esp+arg_0] mov ecx, [esp+arg_4] cmp eax, ecx jz short locret_409A3D mov edx, [esp+arg_8] push esi loc_409A31: ; CODE XREF: sub_409A20+1Aj mov esi, [edx] mov [eax], esi add eax, 4 cmp eax, ecx jnz short loc_409A31 pop esi locret_409A3D: ; CODE XREF: sub_409A20+Aj retn sub_409A20 endp ; --------------------------------------------------------------------------- db 2 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_409A50 proc near ; CODE XREF: sub_401CDFj arg_0 = dword ptr 4 arg_4 = dword ptr 8 arg_8 = dword ptr 0Ch mov edx, [esp+arg_0] mov ecx, [esp+arg_4] cmp edx, ecx jz short loc_409A72 mov eax, [esp+arg_8] push esi loc_409A61: ; CODE XREF: sub_409A50+1Ej mov esi, [ecx-4] sub ecx, 4 sub eax, 4 cmp ecx, edx mov [eax], esi jnz short loc_409A61 pop esi retn ; --------------------------------------------------------------------------- loc_409A72: ; CODE XREF: sub_409A50+Aj mov eax, [esp+arg_8] retn sub_409A50 endp ; --------------------------------------------------------------------------- db 9 dup(90h) db 10h dup(0CCh) ; [00000001 BYTES: COLLAPSED FUNCTION nullsub_7. PRESS KEYPAD "+" TO EXPAND] db 0Fh dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_409AB0 proc near ; CODE XREF: sub_402059j arg_0 = dword ptr 4 mov eax, [esp+arg_0] test eax, eax jge short loc_409ABA xor eax, eax loc_409ABA: ; CODE XREF: sub_409AB0+6j shl eax, 2 push eax call near ptr word_437AEA add esp, 4 retn sub_409AB0 endp ; --------------------------------------------------------------------------- db 9 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_409AE0 proc near ; CODE XREF: sub_401145j arg_0 = dword ptr 4 arg_4 = dword ptr 8 mov eax, [esp+arg_0] push eax push 4 call sub_4011CC add esp, 8 test eax, eax jz short locret_409AFB mov ecx, [esp+arg_4] mov edx, [ecx] mov [eax], edx locret_409AFB: ; CODE XREF: sub_409AE0+11j retn sub_409AE0 endp ; --------------------------------------------------------------------------- db 4 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_409B10 proc near ; CODE XREF: sub_401988j arg_0 = dword ptr 4 mov al, byte_44916A push esi test al, al mov esi, ecx jz short loc_409B46 push edi call near ptr 28418ECh nop mov edi, dword_5118CC push 0FFFFFFF5h call edi push 0FFFFFFF4h mov [esi], eax call edi mov [esi+4], eax mov eax, [esp+8+arg_0] mov byte ptr [esi+8], 1 mov [esi+9], eax pop edi pop esi retn 4 ; --------------------------------------------------------------------------- loc_409B46: ; CODE XREF: sub_409B10+Aj mov ecx, [esp+4+arg_0] mov byte ptr [esi+8], 1 mov [esi+9], ecx pop esi retn 4 sub_409B10 endp ; --------------------------------------------------------------------------- db 0Bh dup(90h) db 20h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_409B80 proc near ; CODE XREF: sub_401CEEj mov al, byte_44916A push esi test al, al mov esi, ecx jz short loc_409B9F nop call near ptr 2841CFEh mov dword ptr [esi], 0FFFFFFFFh mov dword ptr [esi+4], 0FFFFFFFFh loc_409B9F: ; CODE XREF: sub_409B80+Aj mov byte ptr [esi+8], 0 pop esi retn sub_409B80 endp ; --------------------------------------------------------------------------- db 0Bh dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_409BC0 proc near ; CODE XREF: sub_40142Ej mov eax, ecx xor ecx, ecx mov dword ptr [eax], offset dword_43F010 mov [eax+9], ecx mov [eax+11h], ecx mov [eax+4], cl mov [eax+0Dh], ecx retn sub_409BC0 endp ; --------------------------------------------------------------------------- db 9 dup(90h) db 10h dup(0CCh) ; --------------------------------------------------------------------------- loc_409BF0: ; CODE XREF: ___:00402081j ; ___:0040218Fj push esi mov esi, ecx call sub_401226 test byte ptr [esp+8], 1 jz short loc_409C08 push esi call near ptr word_437AD2 add esp, 4 loc_409C08: ; CODE XREF: ___:00409BFDj mov eax, esi pop esi retn 4 ; --------------------------------------------------------------------------- db 2 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_409C20 proc near ; CODE XREF: sub_401870j arg_0 = dword ptr 4 mov eax, [esp+arg_0] push ebx push esi mov esi, ecx xor ebx, ebx push eax mov dword ptr [esi], offset dword_43F010 mov [esi+9], ebx mov [esi+11h], ebx call sub_4015E1 mov [esi+4], bl mov [esi+0Dh], ebx mov eax, esi pop esi pop ebx retn 4 sub_409C20 endp ; --------------------------------------------------------------------------- db 7 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_409C60 proc near ; CODE XREF: sub_4014D3j arg_0 = dword ptr 4 mov eax, [esp+arg_0] push ebx push esi mov esi, ecx xor ebx, ebx push eax mov dword ptr [esi], offset dword_43F010 mov [esi+9], ebx mov [esi+11h], ebx call sub_401FDC mov [esi+4], bl mov [esi+0Dh], ebx mov eax, esi pop esi pop ebx retn 4 sub_409C60 endp ; --------------------------------------------------------------------------- db 7 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_409CA0 proc near ; CODE XREF: sub_402112j var_10 = byte ptr -10h arg_0 = dword ptr 4 mov eax, [esp+arg_0] sub esp, 10h push ebx push esi mov esi, ecx push eax lea ecx, [esp+1Ch+var_10] push offset dword_4447F4 push ecx mov dword ptr [esi], offset dword_43F010 nop call near ptr word_5F67AE add esp, 0Ch lea edx, [esp+18h+var_10] xor ebx, ebx mov ecx, esi push edx mov [esi+9], ebx mov [esi+11h], ebx call sub_4015E1 mov [esi+4], bl mov [esi+0Dh], ebx mov eax, esi pop esi pop ebx add esp, 10h retn 4 sub_409CA0 endp ; --------------------------------------------------------------------------- db 7 dup(90h) db 20h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_409D10 proc near ; CODE XREF: sub_401226j push esi mov esi, ecx push edi xor edi, edi mov eax, [esi+9] mov dword ptr [esi], offset dword_43F010 cmp eax, edi jz short loc_409D2C push eax call near ptr word_437AD2 add esp, 4 loc_409D2C: ; CODE XREF: sub_409D10+11j mov eax, [esi+0Dh] mov [esi+9], edi cmp eax, edi jz short loc_409D3F push eax call near ptr word_437AD2 add esp, 4 loc_409D3F: ; CODE XREF: sub_409D10+24j mov [esi+0Dh], edi mov [esi+11h], edi pop edi pop esi retn sub_409D10 endp ; --------------------------------------------------------------------------- db 8 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_409D60 proc near ; CODE XREF: sub_4015E1j arg_0 = dword ptr 4 push ebx push ebp push esi push edi mov edi, [esp+10h+arg_0] mov esi, ecx test edi, edi jz short loc_409DCA or ecx, 0FFFFFFFFh xor eax, eax repne scasb mov eax, [esi+9] not ecx dec ecx test eax, eax mov ebp, ecx jz short loc_409D8A push eax call near ptr word_437AD2 add esp, 4 loc_409D8A: ; CODE XREF: sub_409D60+1Fj lea ebx, [ebp+2] push ebx call near ptr word_437AEA mov edi, eax add esp, 4 test edi, edi mov [esi+9], edi jz short loc_409DCA 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 near ptr 77C47A90h nop add esp, 0Ch loc_409DCA: ; CODE XREF: sub_409D60+Cj ; sub_409D60+3Dj pop edi pop esi pop ebp pop ebx retn 4 sub_409D60 endp ; --------------------------------------------------------------------------- db 0Fh dup(90h) db 20h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_409E00 proc near ; CODE XREF: sub_401FDCj arg_0 = dword ptr 4 push esi mov esi, ecx mov ecx, [esp+4+arg_0] call sub_401389 push eax mov ecx, esi call sub_4015E1 pop esi retn 4 sub_409E00 endp ; --------------------------------------------------------------------------- db 8 dup(90h) db 10h dup(0CCh) ; --------------------------------------------------------------------------- loc_409E30: ; CODE XREF: ___:00401A5Aj mov eax, [esp+4] sub esp, 10h push esi mov esi, ecx push eax lea ecx, [esp+8] push offset dword_4447F4 push ecx nop call near ptr word_5F67AE add esp, 0Ch lea edx, [esp+4] mov ecx, esi push edx call sub_4015E1 pop esi add esp, 10h retn 4 ; --------------------------------------------------------------------------- db 0Fh dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_409E80 proc near ; CODE XREF: sub_401AAFj arg_0 = dword ptr 4 push ebx push ebp push esi push edi mov edi, [esp+10h+arg_0] mov ebx, ecx test edi, edi jz loc_409F12 or ecx, 0FFFFFFFFh xor eax, eax repne scasb mov edi, [ebx+11h] not ecx dec ecx mov esi, ecx add esi, edi lea eax, [esi+1] push eax call near ptr word_437AEA mov edi, [ebx+9] add esp, 4 test edi, edi mov ebp, eax jz short loc_409F12 or ecx, 0FFFFFFFFh xor eax, eax mov [ebx+11h], esi repne scasb not ecx sub edi, ecx mov edx, ecx mov esi, edi mov edi, ebp shr ecx, 2 rep movsd mov ecx, edx and ecx, 3 rep movsb mov edi, [esp+10h+arg_0] or ecx, 0FFFFFFFFh repne scasb not ecx sub edi, ecx mov esi, edi mov edx, ecx mov edi, ebp or ecx, 0FFFFFFFFh repne scasb mov ecx, edx dec edi shr ecx, 2 rep movsd mov ecx, edx and ecx, 3 rep movsb mov eax, [ebx+9] test eax, eax jz short loc_409F0F push eax call near ptr word_437AD2 add esp, 4 loc_409F0F: ; CODE XREF: sub_409E80+84j mov [ebx+9], ebp loc_409F12: ; CODE XREF: sub_409E80+Cj ; sub_409E80+36j pop edi pop esi pop ebp pop ebx retn 4 sub_409E80 endp ; --------------------------------------------------------------------------- db 7 dup(90h) db 30h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_409F50 proc near ; CODE XREF: sub_4016C7j arg_0 = dword ptr 4 push esi mov esi, ecx mov ecx, [esp+4+arg_0] call sub_401389 push eax mov ecx, esi call sub_401AAF pop esi retn 4 sub_409F50 endp ; --------------------------------------------------------------------------- db 8 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_409F80 proc near ; CODE XREF: sub_401140j var_10 = byte ptr -10h arg_0 = dword ptr 4 mov eax, [esp+arg_0] sub esp, 10h push esi mov esi, ecx push eax lea ecx, [esp+18h+var_10] push offset dword_4447F4 push ecx nop call near ptr word_5F67AE add esp, 0Ch lea edx, [esp+14h+var_10] mov ecx, esi push edx call sub_401AAF pop esi add esp, 10h retn 4 sub_409F80 endp ; --------------------------------------------------------------------------- db 0Fh dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_409FD0 proc near ; CODE XREF: sub_4012EEj arg_0 = dword ptr 4 push esi mov esi, [esp+4+arg_0] test esi, esi jnz short loc_409FE7 mov edx, [ecx+9] xor eax, eax test edx, edx setnz al pop esi retn 4 ; --------------------------------------------------------------------------- loc_409FE7: ; CODE XREF: sub_409FD0+7j mov eax, [ecx+9] push ebx loc_409FEB: ; CODE XREF: sub_409FD0+3Dj mov dl, [eax] mov bl, [esi] mov cl, dl cmp dl, bl jnz short loc_40A016 test cl, cl jz short loc_40A00F mov dl, [eax+1] mov bl, [esi+1] mov cl, dl cmp dl, bl jnz short loc_40A016 add eax, 2 add esi, 2 test cl, cl jnz short loc_409FEB loc_40A00F: ; CODE XREF: sub_409FD0+27j pop ebx xor eax, eax pop esi retn 4 ; --------------------------------------------------------------------------- loc_40A016: ; CODE XREF: sub_409FD0+23j ; sub_409FD0+33j sbb eax, eax pop ebx sbb eax, 0FFFFFFFFh pop esi retn 4 sub_409FD0 endp ; --------------------------------------------------------------------------- db 20h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_40A040 proc near ; CODE XREF: sub_401B86j arg_0 = dword ptr 4 push esi mov esi, ecx mov ecx, [esp+4+arg_0] call sub_401389 push eax mov ecx, esi call sub_4012EE pop esi retn 4 sub_40A040 endp ; --------------------------------------------------------------------------- db 8 dup(90h) db 10h dup(0CCh) ; --------------------------------------------------------------------------- loc_40A070: ; CODE XREF: ___:0040150Aj mov eax, [esp+4] test eax, eax jnz short loc_40A083 mov edx, [ecx+9] test edx, edx setnz al retn 4 ; --------------------------------------------------------------------------- loc_40A083: ; CODE XREF: ___:0040A076j push eax mov eax, [ecx+9] push eax call near ptr 77C4624Eh nop add esp, 8 retn 4 ; --------------------------------------------------------------------------- db 0Ch dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_40A0B0 proc near ; CODE XREF: sub_4021D0j arg_0 = dword ptr 4 push esi mov esi, ecx mov ecx, [esp+4+arg_0] call sub_401389 push eax mov ecx, esi call sub_4012EE pop esi retn 4 sub_40A0B0 endp ; --------------------------------------------------------------------------- db 8 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_40A0E0 proc near ; CODE XREF: sub_401CD0j push esi mov esi, ecx mov eax, [esi+9] test eax, eax jz short loc_40A0F3 push eax call near ptr word_437AD2 add esp, 4 loc_40A0F3: ; CODE XREF: sub_40A0E0+8j mov dword ptr [esi+9], 0 pop esi retn sub_40A0E0 endp ; --------------------------------------------------------------------------- db 4 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_40A110 proc near ; CODE XREF: sub_40102Dj arg_2000 = dword ptr 2004h arg_2004 = dword ptr 2008h arg_2008 = byte ptr 200Ch mov eax, 2000h call near ptr dword_437B30 mov eax, [esp+arg_2004] test eax, eax jz short loc_40A152 lea ecx, [esp+arg_2008] lea edx, [esp+0] push ecx push eax push 2000h push edx call near ptr 77C3FF8Ah nop mov ecx, [esp+10h+arg_2000] add esp, 10h lea eax, [esp+0] push eax call sub_4015E1 loc_40A152: ; CODE XREF: sub_40A110+13j add esp, 2000h retn sub_40A110 endp ; sp-analysis failed ; --------------------------------------------------------------------------- db 7 dup(90h) db 20h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_40A180 proc near ; CODE XREF: sub_401D34j arg_0 = dword ptr 4 mov eax, [esp+arg_0] push 0 push eax call sub_401316 retn 4 sub_40A180 endp ; --------------------------------------------------------------------------- db 90h db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_40A1A0 proc near ; CODE XREF: sub_401316j arg_0 = byte ptr 4 push ebx mov ebx, dword_511AEC push esi push edi movsx edi, [esp+0Ch+arg_0] mov esi, ecx push edi mov eax, [esi+9] push eax call ebx add esp, 8 test eax, eax jnz short loc_40A1C4 pop edi pop esi pop ebx retn 8 ; --------------------------------------------------------------------------- loc_40A1C4: ; CODE XREF: sub_40A1A0+1Cj mov ecx, [esi+9] push edi push ecx call ebx mov edi, [esi+9] add esp, 8 mov edx, 1 sub edx, edi pop edi pop esi add eax, edx pop ebx retn 8 sub_40A1A0 endp ; --------------------------------------------------------------------------- db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_40A1F0 proc near ; CODE XREF: sub_4018B1j arg_0 = dword ptr 4 mov eax, [esp+arg_0] push 0 push eax call sub_401816 retn 4 sub_40A1F0 endp ; --------------------------------------------------------------------------- db 90h db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_40A210 proc near ; CODE XREF: sub_401816j arg_0 = dword ptr 4 arg_4 = dword ptr 8 mov eax, [esp+arg_4] push esi mov esi, ecx push eax mov ecx, [esp+8+arg_0] call sub_401389 push eax mov ecx, esi call sub_402135 pop esi retn 8 sub_40A210 endp ; --------------------------------------------------------------------------- db 3 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_40A240 proc near ; CODE XREF: sub_4013EDj arg_0 = dword ptr 4 mov eax, [esp+arg_0] push 0 push eax call sub_402135 retn 4 sub_40A240 endp ; --------------------------------------------------------------------------- db 90h db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_40A260 proc near ; CODE XREF: sub_402135j arg_0 = dword ptr 4 push ebx push esi push edi mov edi, [esp+0Ch+arg_0] test edi, edi mov esi, ecx jnz short loc_40A275 pop edi pop esi xor eax, eax pop ebx retn 8 ; --------------------------------------------------------------------------- loc_40A275: ; CODE XREF: sub_40A260+Bj mov eax, [esi+9] mov ebx, dword_511B04 push edi push eax call ebx add esp, 8 test eax, eax jnz short loc_40A28F pop edi pop esi pop ebx retn 8 ; --------------------------------------------------------------------------- loc_40A28F: ; CODE XREF: sub_40A260+27j mov ecx, [esi+9] push edi push ecx call ebx mov edi, [esi+9] add esp, 8 mov edx, 1 sub edx, edi pop edi pop esi add eax, edx pop ebx retn 8 sub_40A260 endp ; --------------------------------------------------------------------------- db 5 dup(90h) db 20h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_40A2D0 proc near ; CODE XREF: sub_401C71j arg_0 = dword ptr 4 push esi push edi mov edi, [esp+8+arg_0] mov esi, ecx test edi, edi jnz short loc_40A2E3 pop edi xor eax, eax pop esi retn 4 ; --------------------------------------------------------------------------- loc_40A2E3: ; CODE XREF: sub_40A2D0+Aj mov eax, [esi+9] mov [esi+11h], edi test eax, eax jz short loc_40A2F6 push eax call near ptr word_437AD2 add esp, 4 loc_40A2F6: ; CODE XREF: sub_40A2D0+1Bj push ebx lea ebx, [edi+1] push ebx call near ptr word_437AEA 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_40A2D0 endp ; --------------------------------------------------------------------------- db 0Dh dup(90h) db 20h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_40A350 proc near ; CODE XREF: sub_4013E3j mov eax, [ecx+11h] retn sub_40A350 endp ; --------------------------------------------------------------------------- db 0Ch dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_40A370 proc near ; CODE XREF: sub_4012B2j var_2C = dword ptr -2Ch var_28 = dword ptr -28h var_24 = byte ptr -24h var_C = dword ptr -0Ch var_4 = dword ptr -4 arg_0 = dword ptr 4 arg_4 = dword ptr 8 arg_8 = dword ptr 0Ch push 0FFFFFFFFh push offset SEH_40A370 mov eax, large fs:0 push eax mov large fs:0, esp sub esp, 20h push ebp mov ebp, [esp+30h+arg_8] push esi xor esi, esi cmp ebp, 1 mov [esp+34h+var_2C], ecx mov [esp+34h+var_28], esi jge short loc_40A3C2 mov esi, [esp+34h+arg_0] push offset byte_448F40 mov ecx, esi call sub_401870 mov eax, esi pop esi pop ebp mov ecx, [esp+2Ch+var_C] mov large fs:0, ecx add esp, 2Ch retn 0Ch ; --------------------------------------------------------------------------- loc_40A3C2: ; CODE XREF: sub_40A370+2Bj push ebx push edi lea ecx, [esp+3Ch+var_24] call sub_40142E mov [esp+3Ch+var_4], esi lea esi, [ebp+1] push esi call near ptr word_437AEA 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_4015E1 push ebx call near ptr word_437AD2 mov esi, [esp+40h+arg_0] add esp, 4 lea eax, [esp+3Ch+var_24] mov ecx, esi push eax call sub_4014D3 lea ecx, [esp+3Ch+var_24] call sub_401226 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_40A370 endp ; --------------------------------------------------------------------------- db 0Bh dup(90h) db 40h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_40A4A0 proc near ; CODE XREF: sub_401E47j var_4 = dword ptr -4 arg_0 = dword ptr 4 arg_4 = dword ptr 8 push ecx push esi push edi mov esi, ecx mov [esp+0Ch+var_4], 0 call sub_4013E3 mov ecx, [esp+0Ch+arg_4] mov edi, [esp+0Ch+arg_0] sub eax, ecx push eax push ecx push edi mov ecx, esi call sub_4012B2 mov eax, edi pop edi pop esi pop ecx retn 8 sub_40A4A0 endp ; --------------------------------------------------------------------------- db 2 dup(90h) db 10h dup(0CCh) ; --------------------------------------------------------------------------- loc_40A4E0: ; CODE XREF: ___:0040194Cj push ecx push esi mov esi, [esp+0Ch] push 1 mov ecx, esi mov dword ptr [esp+8], 0 call sub_402112 mov eax, esi pop esi pop ecx retn 4 ; --------------------------------------------------------------------------- db 2 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_40A510 proc near ; CODE XREF: sub_4011EAj var_3C = dword ptr -3Ch var_38 = dword ptr -38h var_34 = byte ptr -34h var_24 = byte ptr -24h var_C = dword ptr -0Ch var_4 = dword ptr -4 arg_0 = dword ptr 4 arg_4 = dword ptr 8 arg_8 = dword ptr 0Ch push 0FFFFFFFFh push offset SEH_40A510 mov eax, large fs:0 push eax mov large fs:0, esp sub esp, 30h push esi push edi mov edi, [esp+44h+arg_8] mov esi, ecx test edi, edi mov [esp+44h+var_38], 0 jnz short loc_40A551 mov esi, [esp+44h+arg_0] push offset byte_448F40 mov ecx, esi call sub_401870 jmp loc_40A684 ; --------------------------------------------------------------------------- loc_40A551: ; CODE XREF: sub_40A510+2Aj lea eax, [esp+44h+arg_8] lea ecx, [esp+44h+var_34] push eax call sub_40169A mov ecx, [esi+9] mov [esp+44h+var_4], 1 push ecx lea ecx, [esp+48h+var_24] call sub_401870 lea ecx, [esp+44h+var_24] mov byte ptr [esp+44h+var_4], 2 call sub_4014DD mov [esp+44h+var_3C], eax mov cl, [eax] test cl, cl jz loc_40A635 push ebx loc_40A591: ; CODE XREF: sub_40A510+11Ej mov dl, [edi] cmp cl, dl jnz short loc_40A5A0 loc_40A597: ; CODE XREF: sub_40A510+8Ej inc eax mov [esp+48h+var_3C], eax cmp [eax], dl jz short loc_40A597 loc_40A5A0: ; CODE XREF: sub_40A510+85j cmp byte ptr [eax], 22h setz bl test bl, bl jz short loc_40A5AF inc eax mov [esp+48h+var_3C], eax loc_40A5AF: ; CODE XREF: sub_40A510+98j lea edx, [esp+48h+var_3C] lea ecx, [esp+48h+var_34] push edx call sub_401997 mov eax, [esp+48h+var_3C] test bl, bl mov cl, [eax] jz short loc_40A5FF test cl, cl jz short loc_40A5E7 loc_40A5CB: ; CODE XREF: sub_40A510+D5j cmp cl, 22h jnz short loc_40A5DC mov cl, [eax+1] cmp cl, 20h jz short loc_40A5E7 test cl, cl jz short loc_40A5E7 loc_40A5DC: ; CODE XREF: sub_40A510+BEj inc eax mov [esp+48h+var_3C], eax mov cl, [eax] test cl, cl jnz short loc_40A5CB loc_40A5E7: ; CODE XREF: sub_40A510+B9j ; sub_40A510+C6j ... cmp byte ptr [eax], 0 jz short loc_40A62A mov byte ptr [eax], 0 mov eax, [esp+48h+var_3C] mov cl, [eax+1] test cl, cl jz short loc_40A62A add eax, 2 jmp short loc_40A626 ; --------------------------------------------------------------------------- loc_40A5FF: ; CODE XREF: sub_40A510+B5j test cl, cl jz short loc_40A614 mov dl, [edi] loc_40A605: ; CODE XREF: sub_40A510+102j cmp cl, dl jz short loc_40A614 inc eax mov [esp+48h+var_3C], eax mov cl, [eax] test cl, cl jnz short loc_40A605 loc_40A614: ; CODE XREF: sub_40A510+F1j ; sub_40A510+F7j mov cl, [eax] test cl, cl jz short loc_40A62A cmp cl, [edi] jnz short loc_40A62A mov byte ptr [eax], 0 mov eax, [esp+48h+var_3C] inc eax loc_40A626: ; CODE XREF: sub_40A510+EDj mov [esp+48h+var_3C], eax loc_40A62A: ; CODE XREF: sub_40A510+DAj ; sub_40A510+E8j ... mov cl, [eax] test cl, cl jnz loc_40A591 pop ebx loc_40A635: ; CODE XREF: sub_40A510+7Aj lea ecx, [esp+44h+var_34] call sub_4011F9 mov ecx, [esp+44h+arg_4] cmp ecx, eax jb short loc_40A64D push offset byte_448F40 jmp short loc_40A65A ; --------------------------------------------------------------------------- loc_40A64D: ; CODE XREF: sub_40A510+134j push ecx lea ecx, [esp+48h+var_34] call sub_401F82 mov eax, [eax] push eax loc_40A65A: ; CODE XREF: sub_40A510+13Bj mov esi, [esp+48h+arg_0] mov ecx, esi call sub_401870 lea ecx, [esp+44h+var_24] mov [esp+44h+var_38], 1 call sub_401226 lea ecx, [esp+44h+var_34] mov byte ptr [esp+44h+var_4], 0 call sub_401596 loc_40A684: ; CODE XREF: sub_40A510+3Cj mov ecx, [esp+44h+var_C] mov eax, esi pop edi pop esi mov large fs:0, ecx add esp, 3Ch retn 10h sub_40A510 endp ; --------------------------------------------------------------------------- db 7 dup(90h) db 70h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_40A710 proc near ; CODE XREF: sub_4016B8j var_4 = dword ptr -4 arg_0 = dword ptr 4 arg_4 = dword ptr 8 arg_8 = dword ptr 0Ch push ecx mov eax, [esp+4+arg_8] mov edx, [esp+4+arg_4] push esi mov esi, [esp+8+arg_0] push 0 push eax push edx push esi mov [esp+18h+var_4], 0 call sub_4011EA mov eax, esi pop esi pop ecx retn 0Ch sub_40A710 endp ; --------------------------------------------------------------------------- db 9 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_40A750 proc near ; CODE XREF: sub_40202Cj arg_0 = dword ptr 4 push esi mov esi, ecx mov ecx, [esp+4+arg_0] call sub_401389 push eax mov ecx, esi call sub_4015E1 pop esi retn 4 sub_40A750 endp ; --------------------------------------------------------------------------- db 8 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_40A780 proc near ; CODE XREF: sub_401A9Bj arg_0 = dword ptr 4 mov eax, [esp+arg_0] push eax call sub_4015E1 retn 4 sub_40A780 endp ; --------------------------------------------------------------------------- db 3 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_40A7A0 proc near ; CODE XREF: sub_401479j arg_0 = dword ptr 4 mov eax, [ecx+9] mov ecx, [esp+arg_0] add eax, ecx retn 4 sub_40A7A0 endp ; --------------------------------------------------------------------------- db 4 dup(90h) db 10h dup(0CCh) ; --------------------------------------------------------------------------- loc_40A7C0: ; CODE XREF: ___:004014A6j mov eax, [ecx+9] mov ecx, [esp+4] add eax, ecx retn 4 ; --------------------------------------------------------------------------- db 4 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_40A7E0 proc near ; CODE XREF: sub_401389j mov eax, [ecx+9] retn sub_40A7E0 endp ; --------------------------------------------------------------------------- db 0Ch dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_40A800 proc near ; CODE XREF: sub_4017EEj mov eax, [ecx+9] retn sub_40A800 endp ; --------------------------------------------------------------------------- db 0Ch dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_40A820 proc near ; CODE XREF: sub_4014DDj mov eax, [ecx+9] retn sub_40A820 endp ; --------------------------------------------------------------------------- db 0Ch dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_40A840 proc near ; CODE XREF: sub_40169Aj arg_0 = dword ptr 4 mov eax, ecx mov ecx, [esp+arg_0] mov dl, [ecx] xor ecx, ecx mov [eax], dl mov [eax+4], ecx mov [eax+8], ecx mov [eax+0Ch], ecx retn 4 sub_40A840 endp ; --------------------------------------------------------------------------- db 8 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_40A870 proc near ; CODE XREF: sub_401596j push esi mov esi, ecx mov eax, [esi+8] mov ecx, [esi+4] push eax push ecx mov ecx, esi call sub_4019B5 mov eax, [esi+4] mov edx, [esi+0Ch] sub edx, eax mov ecx, esi sar edx, 2 push edx push eax call sub_4011EF xor eax, eax mov [esi+4], eax mov [esi+8], eax mov [esi+0Ch], eax pop esi retn sub_40A870 endp ; --------------------------------------------------------------------------- db 0Dh dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_40A8C0 proc near ; CODE XREF: sub_4011F9j mov edx, [ecx+4] test edx, edx jnz short loc_40A8CA xor eax, eax retn ; --------------------------------------------------------------------------- loc_40A8CA: ; CODE XREF: sub_40A8C0+5j mov eax, [ecx+8] sub eax, edx sar eax, 2 retn sub_40A8C0 endp ; --------------------------------------------------------------------------- db 0Dh dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_40A8F0 proc near ; CODE XREF: sub_401F82j arg_0 = dword ptr 4 push esi push edi mov esi, ecx call sub_4011F9 mov edi, [esp+8+arg_0] cmp eax, edi ja short loc_40A908 mov ecx, esi call sub_401F05 loc_40A908: ; CODE XREF: sub_40A8F0+Fj mov ecx, esi call sub_401D2F lea eax, [eax+edi*4] pop edi pop esi retn 4 sub_40A8F0 endp ; --------------------------------------------------------------------------- db 9 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_40A930 proc near ; CODE XREF: sub_401997j arg_0 = dword ptr 4 mov eax, [esp+arg_0] push esi mov esi, ecx push eax call sub_401659 push eax mov ecx, esi call sub_4016F9 pop esi retn 4 sub_40A930 endp ; --------------------------------------------------------------------------- db 7 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_40A960 proc near ; CODE XREF: sub_401D2Fj mov eax, [ecx+4] retn sub_40A960 endp ; --------------------------------------------------------------------------- db 0Ch dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_40A980 proc near ; CODE XREF: sub_401659j mov eax, [ecx+8] retn sub_40A980 endp ; --------------------------------------------------------------------------- db 0Ch dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_40A9A0 proc near ; CODE XREF: sub_4016F9j arg_0 = dword ptr 4 arg_4 = dword ptr 8 push esi push edi mov edi, ecx call sub_401D2F mov edx, [esp+8+arg_4] mov ecx, eax mov eax, [esp+8+arg_0] push edx mov esi, eax push 1 sub esi, ecx push eax mov ecx, edi sar esi, 2 call sub_4013D9 mov ecx, edi call sub_401D2F lea eax, [eax+esi*4] pop edi pop esi retn 8 sub_40A9A0 endp ; --------------------------------------------------------------------------- db 0Ch dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_40A9F0 proc near ; CODE XREF: sub_4019B5j arg_0 = dword ptr 4 arg_4 = dword ptr 8 push ebx mov ebx, [esp+4+arg_4] push esi mov esi, [esp+8+arg_0] push edi cmp esi, ebx mov edi, ecx jz short loc_40AA10 loc_40AA01: ; CODE XREF: sub_40A9F0+1Ej push esi mov ecx, edi call sub_4018C0 add esi, 4 cmp esi, ebx jnz short loc_40AA01 loc_40AA10: ; CODE XREF: sub_40A9F0+Fj pop edi pop esi pop ebx retn 8 sub_40A9F0 endp ; --------------------------------------------------------------------------- db 0Ah dup(90h) db 10h dup(0CCh) ; --------------------------------------------------------------------------- loc_40AA30: ; CODE XREF: sub_401F05j push 0FFFFFFFFh push offset byte_439DB9 mov eax, large fs:0 push eax mov large fs:0, esp sub esp, 30h lea eax, [esp+3] lea ecx, [esp+4] push eax push offset dword_444918 nop call near ptr 76081F67h lea ecx, [esp+4] mov dword ptr [esp+38h], 0 push ecx lea ecx, [esp+18h] call near ptr 760A0430h nop lea edx, [esp+14h] push offset dword_440088 push edx call near ptr word_437B22 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_40AAB0 proc near ; CODE XREF: sub_4011EFj arg_0 = dword ptr 4 mov eax, [esp+arg_0] push eax call near ptr word_437AD2 pop ecx retn 8 sub_40AAB0 endp ; --------------------------------------------------------------------------- db 2 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_40AAD0 proc near ; CODE XREF: sub_4013D9j arg_0 = dword ptr 4 arg_4 = dword ptr 8 arg_8 = dword ptr 0Ch push ebx push ebp push esi mov esi, ecx push edi mov edi, [esp+10h+arg_4] mov eax, [esi+8] mov ecx, [esi+0Ch] sub ecx, eax sar ecx, 2 cmp ecx, edi jnb loc_40AB9B mov ecx, esi call sub_4011F9 cmp edi, eax jnb short loc_40AB03 mov ecx, esi call sub_4011F9 mov ebp, eax jmp short loc_40AB05 ; --------------------------------------------------------------------------- loc_40AB03: ; CODE XREF: sub_40AAD0+26j mov ebp, edi loc_40AB05: ; CODE XREF: sub_40AAD0+31j mov ecx, esi call sub_4011F9 mov ebx, eax push 0 add ebx, ebp mov ecx, esi push ebx call sub_401DE8 mov edx, [esp+10h+arg_0] mov ebp, eax mov eax, [esi+4] push ebp push edx push eax mov ecx, esi call sub_4010CD mov ecx, [esp+10h+arg_8] mov [esp+10h+arg_4], eax push ecx push edi push eax mov ecx, esi call sub_402194 mov edx, [esp+10h+arg_4] mov ecx, [esi+8] lea eax, [edx+edi*4] mov edx, [esp+10h+arg_0] push eax push ecx push edx mov ecx, esi call sub_4010CD mov eax, [esi+8] mov ecx, [esi+4] push eax push ecx mov ecx, esi call sub_4019B5 mov eax, [esi+4] mov edx, [esi+0Ch] sub edx, eax mov ecx, esi sar edx, 2 push edx push eax call sub_4011EF lea eax, [ebp+ebx*4+0] mov ecx, esi mov [esi+0Ch], eax call sub_4011F9 add eax, edi mov [esi+4], ebp pop edi lea ecx, [ebp+eax*4+0] mov [esi+8], ecx pop esi pop ebp pop ebx retn 0Ch ; --------------------------------------------------------------------------- loc_40AB9B: ; CODE XREF: sub_40AAD0+17j mov ebx, [esp+10h+arg_0] mov edx, eax sub edx, ebx sar edx, 2 cmp edx, edi jnb short loc_40ABF9 lea ebp, ds:0[edi*4] lea ecx, [ebx+ebp] push ecx push eax push ebx mov ecx, esi call sub_4010CD mov eax, [esi+8] mov edx, [esp+10h+arg_8] mov ecx, eax push edx sub ecx, ebx sar ecx, 2 sub edi, ecx mov ecx, esi push edi push eax call sub_402194 mov edx, [esp+10h+arg_8] mov eax, [esi+8] push edx push eax push ebx call sub_401E8D mov eax, [esi+8] add esp, 0Ch add eax, ebp mov [esi+8], eax pop edi pop esi pop ebp pop ebx retn 0Ch ; --------------------------------------------------------------------------- loc_40ABF9: ; CODE XREF: sub_40AAD0+D8j test edi, edi jbe short loc_40AC33 shl edi, 2 push eax push eax sub eax, edi mov ecx, esi push eax call sub_4010CD mov eax, [esi+8] push eax sub eax, edi push eax push ebx call sub_4020CC mov ecx, [esp+1Ch+arg_8] lea edx, [edi+ebx] push ecx push edx push ebx call sub_401E8D mov eax, [esi+8] add esp, 18h add eax, edi mov [esi+8], eax loc_40AC33: ; CODE XREF: sub_40AAD0+12Bj pop edi pop esi pop ebp pop ebx retn 0Ch sub_40AAD0 endp ; --------------------------------------------------------------------------- db 6 dup(90h) db 60h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_40ACA0 proc near ; CODE XREF: sub_4018C0j arg_0 = dword ptr 4 mov eax, [esp+arg_0] push eax call j_nullsub_1 pop ecx retn 4 sub_40ACA0 endp ; --------------------------------------------------------------------------- db 2 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_40ACC0 proc near ; CODE XREF: sub_4010CDj arg_0 = dword ptr 4 arg_4 = dword ptr 8 arg_8 = dword ptr 0Ch push ebx push ebp mov ebp, [esp+8+arg_4] push esi mov esi, [esp+0Ch+arg_0] mov ebx, ecx cmp esi, ebp jz short loc_40ACF2 push edi mov edi, [esp+10h+arg_8] loc_40ACD6: ; CODE XREF: sub_40ACC0+27j push esi push edi mov ecx, ebx call sub_40213F add esi, 4 add edi, 4 cmp esi, ebp jnz short loc_40ACD6 mov eax, edi pop edi pop esi pop ebp pop ebx retn 0Ch ; --------------------------------------------------------------------------- loc_40ACF2: ; CODE XREF: sub_40ACC0+Fj mov eax, [esp+0Ch+arg_8] pop esi pop ebp pop ebx retn 0Ch sub_40ACC0 endp ; --------------------------------------------------------------------------- db 4 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_40AD10 proc near ; CODE XREF: sub_402194j arg_0 = dword ptr 4 arg_4 = dword ptr 8 arg_8 = dword ptr 0Ch push ebp push edi mov edi, [esp+8+arg_4] mov ebp, ecx test edi, edi jbe short loc_40AD37 push ebx mov ebx, [esp+0Ch+arg_8] push esi mov esi, [esp+10h+arg_0] loc_40AD26: ; CODE XREF: sub_40AD10+23j push ebx push esi mov ecx, ebp call sub_40213F add esi, 4 dec edi jnz short loc_40AD26 pop esi pop ebx loc_40AD37: ; CODE XREF: sub_40AD10+Aj pop edi pop ebp retn 0Ch sub_40AD10 endp ; --------------------------------------------------------------------------- db 4 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_40AD50 proc near ; CODE XREF: sub_401DE8j arg_0 = dword ptr 4 mov eax, [esp+arg_0] push 0 push eax call sub_4014D8 add esp, 8 retn 8 sub_40AD50 endp ; --------------------------------------------------------------------------- db 0Eh dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_40AD80 proc near ; CODE XREF: sub_40213Fj arg_0 = dword ptr 4 arg_4 = dword ptr 8 mov eax, [esp+arg_4] mov ecx, [esp+arg_0] push eax push ecx call sub_401E01 add esp, 8 retn 8 sub_40AD80 endp ; --------------------------------------------------------------------------- db 0Bh dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_40ADB0 proc near ; CODE XREF: sub_401E8Dj arg_0 = dword ptr 4 arg_4 = dword ptr 8 arg_8 = dword ptr 0Ch mov eax, [esp+arg_0] mov ecx, [esp+arg_4] cmp eax, ecx jz short locret_40ADCD mov edx, [esp+arg_8] push esi loc_40ADC1: ; CODE XREF: sub_40ADB0+1Aj mov esi, [edx] mov [eax], esi add eax, 4 cmp eax, ecx jnz short loc_40ADC1 pop esi locret_40ADCD: ; CODE XREF: sub_40ADB0+Aj retn sub_40ADB0 endp ; --------------------------------------------------------------------------- db 2 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_40ADE0 proc near ; CODE XREF: sub_4020CCj arg_0 = dword ptr 4 arg_4 = dword ptr 8 arg_8 = dword ptr 0Ch mov edx, [esp+arg_0] mov ecx, [esp+arg_4] cmp edx, ecx jz short loc_40AE02 mov eax, [esp+arg_8] push esi loc_40ADF1: ; CODE XREF: sub_40ADE0+1Ej mov esi, [ecx-4] sub ecx, 4 sub eax, 4 cmp ecx, edx mov [eax], esi jnz short loc_40ADF1 pop esi retn ; --------------------------------------------------------------------------- loc_40AE02: ; CODE XREF: sub_40ADE0+Aj mov eax, [esp+arg_8] retn sub_40ADE0 endp ; --------------------------------------------------------------------------- db 9 dup(90h) db 10h dup(0CCh) ; [00000001 BYTES: COLLAPSED FUNCTION nullsub_1. PRESS KEYPAD "+" TO EXPAND] db 0Fh dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_40AE40 proc near ; CODE XREF: sub_4014D8j arg_0 = dword ptr 4 mov eax, [esp+arg_0] test eax, eax jge short loc_40AE4A xor eax, eax loc_40AE4A: ; CODE XREF: sub_40AE40+6j shl eax, 2 push eax call near ptr word_437AEA add esp, 4 retn sub_40AE40 endp ; --------------------------------------------------------------------------- db 9 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_40AE70 proc near ; CODE XREF: sub_401E01j arg_0 = dword ptr 4 arg_4 = dword ptr 8 mov eax, [esp+arg_0] push eax push 4 call sub_4011CC add esp, 8 test eax, eax jz short locret_40AE8B mov ecx, [esp+arg_4] mov edx, [ecx] mov [eax], edx locret_40AE8B: ; CODE XREF: sub_40AE70+11j retn sub_40AE70 endp ; --------------------------------------------------------------------------- db 4 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_40AEA0 proc near ; CODE XREF: sub_401E88j mov eax, ecx mov dword ptr [eax], offset dword_43F014 retn sub_40AEA0 endp ; --------------------------------------------------------------------------- db 7 dup(90h) db 10h dup(0CCh) ; --------------------------------------------------------------------------- loc_40AEC0: ; CODE XREF: ___:00401721j ; ___:00402045j push esi mov esi, ecx call sub_40204F test byte ptr [esp+8], 1 jz short loc_40AED8 push esi call near ptr word_437AD2 add esp, 4 loc_40AED8: ; CODE XREF: ___:0040AECDj mov eax, esi pop esi retn 4 ; --------------------------------------------------------------------------- db 2 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= ; Attributes: bp-based frame sub_40AEF0 proc near ; CODE XREF: sub_40204Fj var_10 = dword ptr -10h var_C = dword ptr -0Ch var_4 = dword ptr -4 push ebp mov ebp, esp push 0FFFFFFFFh push offset SEH_40AEF0 mov eax, large fs:0 push eax mov large fs:0, esp push ecx push ebx push esi push edi mov dword ptr [ecx], offset dword_43F014 mov [ebp+var_10], esp mov [ebp+var_4], 0 call sub_40174E loc_40AF21: ; DATA XREF: ___:0040AF32o mov ecx, [ebp+var_C] pop edi pop esi mov large fs:0, ecx pop ebx mov esp, ebp pop ebp retn sub_40AEF0 endp ; --------------------------------------------------------------------------- mov eax, offset loc_40AF21 retn ; --------------------------------------------------------------------------- db 8 dup(90h) db 20h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_40AF60 proc near ; CODE XREF: sub_4014C4j ; FUNCTION CHUNK AT 004017BC SIZE 00000005 BYTES call sub_401712 jmp loc_4017BC sub_40AF60 endp ; --------------------------------------------------------------------------- db 6 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_40AF80 proc near ; CODE XREF: sub_401B2Cj ; FUNCTION CHUNK AT 004017CB SIZE 00000005 BYTES call sub_401627 jmp loc_4017CB sub_40AF80 endp ; --------------------------------------------------------------------------- db 6 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_40AFA0 proc near ; CODE XREF: sub_4013DEj push esi mov esi, ecx push esi push offset loc_401429 lea eax, [esi+0Ch] push 0 push eax call sub_40123A add esp, 10h test eax, eax jnz short loc_40AFC2 mov al, 1 mov [esi+10h], al pop esi retn ; --------------------------------------------------------------------------- loc_40AFC2: ; CODE XREF: sub_40AFA0+19j mov byte ptr [esi+10h], 0 xor al, al pop esi retn sub_40AFA0 endp ; --------------------------------------------------------------------------- db 6 dup(90h) db 10h dup(0CCh) ; --------------------------------------------------------------------------- loc_40AFE0: ; CODE XREF: ___:004011C2j push ecx push esi mov esi, ecx mov al, [esi+10h] test al, al jz short loc_40B007 mov ecx, [esi+0Ch] lea eax, [esp+4] push eax push ecx call sub_401767 mov eax, [esp+0Ch] add esp, 8 mov byte ptr [esi+10h], 0 pop esi pop ecx retn ; --------------------------------------------------------------------------- loc_40B007: ; CODE XREF: ___:0040AFE9j xor eax, eax pop esi pop ecx retn ; --------------------------------------------------------------------------- db 4 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_40B020 proc near ; CODE XREF: sub_40174Ej push esi mov esi, ecx mov al, [esi+10h] test al, al jz short loc_40B03C mov eax, [esi+0Ch] push 0Fh push eax call sub_401762 add esp, 8 mov byte ptr [esi+10h], 0 loc_40B03C: ; CODE XREF: sub_40B020+8j pop esi retn sub_40B020 endp ; --------------------------------------------------------------------------- db 2 dup(90h) db 10h dup(0CCh) ; --------------------------------------------------------------------------- loc_40B050: ; CODE XREF: ___:004011F4j mov eax, [ecx+0Ch] retn ; --------------------------------------------------------------------------- db 0Ch dup(90h) db 10h dup(0CCh) ; --------------------------------------------------------------------------- loc_40B070: ; CODE XREF: ___:loc_401429j push ebp mov ebp, esp push 0FFFFFFFFh push offset dword_439DE0 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] loc_40B09E: ; DATA XREF: ___:0040B0B1o mov ecx, [ebp-0Ch] pop edi pop esi xor eax, eax mov large fs:0, ecx pop ebx mov esp, ebp pop ebp retn ; --------------------------------------------------------------------------- mov eax, offset loc_40B09E retn ; --------------------------------------------------------------------------- db 9 dup(90h) db 20h dup(0CCh) ; --------------------------------------------------------------------------- loc_40B0E0: ; CODE XREF: ___:00401028j sub esp, 8 push esi mov esi, ecx mov al, [esi+10h] test al, al jz short loc_40B122 mov edx, [esi+0Ch] lea eax, [esp+4] lea ecx, [esp+8] push eax push ecx push edx call sub_4021B2 mov edx, [esi+0Ch] mov eax, [esp+10h] lea ecx, [esp+10h] mov [esi+8], eax push ecx push 1 push edx mov dword ptr [esp+1Ch], 0 call sub_401050 add esp, 18h loc_40B122: ; CODE XREF: ___:0040B0EBj pop esi add esp, 8 retn ; --------------------------------------------------------------------------- db 9 dup(90h) db 20h dup(0CCh) ; --------------------------------------------------------------------------- loc_40B150: ; CODE XREF: ___:00401DE3j push ecx mov al, [ecx+10h] test al, al jz short loc_40B172 mov eax, [ecx+8] lea edx, [esp+0] mov [esp+0], eax mov eax, [ecx+0Ch] push edx push 1 push eax call sub_401050 add esp, 0Ch loc_40B172: ; CODE XREF: ___:0040B156j pop ecx retn ; --------------------------------------------------------------------------- db 0Ch dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_40B190 proc near ; CODE XREF: sub_401A00j var_11 = byte ptr -11h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_4 = dword ptr -4 push 0FFFFFFFFh push offset SEH_40B190 mov eax, large fs:0 push eax mov large fs:0, esp sub esp, 8 push esi mov esi, ecx push edi mov [esp+1Ch+var_10], esi call sub_4011B3 lea ecx, [esi+4] call sub_401753 lea ecx, [esi+32h] mov [esp+1Ch+var_4], 0 call sub_401753 lea ecx, [esi+60h] mov byte ptr [esp+1Ch+var_4], 1 call sub_401753 lea edi, [esi+8Eh] lea eax, [esp+1Ch+var_11] push eax mov ecx, edi mov byte ptr [esp+20h+var_4], 2 call sub_401C08 mov ecx, edi mov byte ptr [esp+1Ch+var_4], 3 mov dword ptr [esi], offset dword_43F020 call sub_401C03 mov ecx, [esp+1Ch+var_C] mov eax, esi pop edi pop esi mov large fs:0, ecx add esp, 14h retn sub_40B190 endp ; --------------------------------------------------------------------------- db 0Ah dup(90h) db 30h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_40B250 proc near ; CODE XREF: sub_401AFAj var_10 = dword ptr -10h var_C = dword ptr -0Ch var_4 = dword ptr -4 push 0FFFFFFFFh push offset SEH_40B250 mov eax, large fs:0 push eax mov large fs:0, esp push ecx push esi mov esi, ecx push edi mov [esp+18h+var_10], esi mov dword ptr [esi], offset dword_43F020 lea edi, [esi+8Eh] mov [esp+18h+var_4], 3 mov ecx, edi call sub_401C03 mov ecx, edi mov byte ptr [esp+18h+var_4], 2 call sub_40155F 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_40B250 endp ; --------------------------------------------------------------------------- db 20h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_40B2F0 proc near ; CODE XREF: sub_4017F8j 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_40B2F0 mov eax, large fs:0 push eax mov large fs:0, esp sub esp, 30h push esi mov esi, ecx lea ecx, [esi+8Eh] call sub_401C03 push 0 push 14h push 13h push 9 push 0Ch push 4Eh push 12h push 1 push 16h lea eax, [esp+64h+var_3C] push 3 push eax call sub_4019C4 add esp, 2Ch push esi mov ecx, eax mov [esp+44h+var_4], 0 call sub_4017EE lea ecx, [esi+4] push eax push ecx mov ecx, offset dword_449128 call sub_40159B lea ecx, [esp+40h+var_3C] mov [esp+40h+var_4], 0FFFFFFFFh call sub_401226 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_4019C4 add esp, 28h push esi mov ecx, eax mov [esp+44h+var_4], 1 call sub_4017EE push eax lea eax, [esi+32h] push eax mov ecx, offset dword_449128 call sub_40159B lea ecx, [esp+40h+var_3C] mov [esp+40h+var_4], 0FFFFFFFFh call sub_401226 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_4019C4 add esp, 28h push esi mov ecx, eax mov [esp+44h+var_4], 2 call sub_4017EE add esi, 60h push eax push esi mov ecx, offset dword_449128 call sub_40159B mov [esp+40h+var_4], 0FFFFFFFFh lea ecx, [esp+40h+var_24] call sub_401226 mov ecx, [esp+40h+var_C] pop esi mov large fs:0, ecx add esp, 3Ch retn sub_40B2F0 endp ; --------------------------------------------------------------------------- db 0Bh dup(90h) db 50h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_40B470 proc near ; CODE XREF: sub_40181Bj arg_0 = dword ptr 4 arg_4 = dword ptr 8 arg_8 = dword ptr 0Ch arg_C = dword ptr 10h arg_10 = byte ptr 14h arg_14 = byte ptr 18h arg_18 = dword ptr 1Ch mov eax, [esp+arg_4] push esi mov esi, ecx push edi mov ecx, [esp+8+arg_0] push eax add ecx, 1Eh call sub_401FDC mov eax, [esp+8+arg_0] mov edx, [esp+8+arg_C] push edx lea ecx, [eax+33h] call sub_401FDC mov ecx, [esp+8+arg_0] mov dl, [esp+8+arg_10] mov edi, [esp+8+arg_8] mov [ecx+48h], dl mov eax, [esp+8+arg_0] push edi push eax mov ecx, esi call sub_401F50 mov ecx, [esp+8+arg_0] mov dl, [esp+8+arg_14] push edi mov [ecx+4], dl mov eax, [esp+0Ch+arg_0] mov ecx, [esp+0Ch+arg_18] mov [eax+5], ecx mov ecx, [esp+0Ch+arg_0] call sub_401FDC lea edx, [esp+8+arg_0] lea ecx, [esi+8Eh] push edx call sub_401915 pop edi pop esi retn 1Ch sub_40B470 endp ; --------------------------------------------------------------------------- db 9 dup(90h) db 20h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_40B510 proc near ; CODE XREF: sub_401B72j var_54 = byte ptr -54h var_3C = byte ptr -3Ch var_24 = byte ptr -24h var_C = dword ptr -0Ch var_4 = dword ptr -4 arg_0 = dword ptr 4 arg_4 = dword ptr 8 arg_8 = dword ptr 0Ch arg_C = dword ptr 10h arg_10 = dword ptr 14h arg_14 = dword ptr 18h arg_18 = dword ptr 1Ch push 0FFFFFFFFh push offset SEH_40B510 mov eax, large fs:0 push eax mov large fs:0, esp sub esp, 48h mov eax, [esp+54h+arg_C] push ebp push esi mov esi, ecx push edi push eax lea ecx, [esp+64h+var_24] call sub_401870 mov edi, eax mov ecx, [esp+60h+arg_8] mov [esp+60h+var_4], 0 push ecx lea ecx, [esp+64h+var_3C] call sub_401870 mov ebp, eax mov edx, [esp+60h+arg_4] lea ecx, [esp+60h+var_54] push edx mov byte ptr [esp+64h+var_4], 1 call sub_401870 mov ecx, [esp+60h+arg_18] mov edx, [esp+60h+arg_14] push ecx mov ecx, [esp+64h+arg_10] push edx mov edx, [esp+68h+arg_0] push ecx push edi push ebp push eax push edx mov ecx, esi mov byte ptr [esp+7Ch+var_4], 2 call sub_40181B lea ecx, [esp+60h+var_54] mov byte ptr [esp+60h+var_4], 1 call sub_401226 lea ecx, [esp+60h+var_3C] mov byte ptr [esp+60h+var_4], 0 call sub_401226 lea ecx, [esp+60h+var_24] mov [esp+60h+var_4], 0FFFFFFFFh call sub_401226 mov ecx, [esp+60h+var_C] pop edi pop esi pop ebp mov large fs:0, ecx add esp, 54h retn 1Ch sub_40B510 endp ; --------------------------------------------------------------------------- db 4 dup(90h) db 30h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_40B600 proc near ; CODE XREF: sub_4019DDj var_8 = dword ptr -8 var_4 = byte ptr -4 arg_0 = dword ptr 4 sub esp, 8 push esi mov esi, ecx push edi lea ecx, [esp+10h+var_8] call sub_401546 add esi, 8Eh lea eax, [esp+10h+var_4] push eax mov ecx, esi call sub_40145B mov ecx, [eax] lea edx, [esp+10h+var_4] mov [esp+10h+var_8], ecx push edx mov ecx, esi call sub_401C85 push eax lea ecx, [esp+14h+var_8] call sub_40136B test al, al jz short loc_40B681 mov edi, [esp+10h+arg_0] loc_40B646: ; CODE XREF: sub_40B600+7Fj push edi lea ecx, [esp+14h+var_8] call sub_401F78 mov ecx, [eax] add ecx, 1Eh call sub_4021D0 test eax, eax lea ecx, [esp+10h+var_8] jz short loc_40B68B call sub_40133E lea eax, [esp+10h+var_4] mov ecx, esi push eax call sub_401C85 push eax lea ecx, [esp+14h+var_8] call sub_40136B test al, al jnz short loc_40B646 loc_40B681: ; CODE XREF: sub_40B600+40j pop edi xor eax, eax pop esi add esp, 8 retn 8 ; --------------------------------------------------------------------------- loc_40B68B: ; CODE XREF: sub_40B600+60j call sub_401F78 mov eax, [eax] pop edi pop esi add esp, 8 retn 8 sub_40B600 endp ; --------------------------------------------------------------------------- db 6 dup(90h) db 30h dup(0CCh) ; --------------------------------------------------------------------------- loc_40B6D0: ; CODE XREF: ___:00401460j push 0FFFFFFFFh push offset dword_439EF8 mov eax, large fs:0 push eax mov large fs:0, esp sub esp, 18h mov eax, [esp+28h] push esi mov esi, ecx push eax lea ecx, [esp+8] call sub_401870 mov ecx, [esp+30h] mov dword ptr [esp+24h], 0 push ecx push eax mov ecx, esi call sub_4019DD lea ecx, [esp+4] mov esi, eax mov dword ptr [esp+24h], 0FFFFFFFFh call sub_401226 mov ecx, [esp+1Ch] mov eax, esi pop esi mov large fs:0, ecx add esp, 24h retn 8 ; --------------------------------------------------------------------------- db 0Bh dup(90h) db 20h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_40B760 proc near ; CODE XREF: sub_4015A0j arg_0 = dword ptr 4 arg_4 = dword ptr 8 mov eax, [esp+arg_4] push esi mov esi, [esp+4+arg_0] push eax mov ecx, esi call sub_4015E1 mov ecx, esi call sub_4017EE push eax nop call near ptr 77C1CF90h fstp dword ptr [esi+15h] add esp, 4 mov ecx, esi call sub_4017EE push eax call near ptr 77C1BF18h nop add esp, 4 mov ecx, esi mov [esi+1Ah], eax mov byte ptr [esi+19h], 0 push offset dword_44493C call sub_4012EE test eax, eax jnz short loc_40B7B1 mov byte ptr [esi+19h], 1 loc_40B7B1: ; CODE XREF: sub_40B760+4Bj pop esi retn 8 sub_40B760 endp ; --------------------------------------------------------------------------- db 0Bh dup(90h) db 20h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_40B7E0 proc near ; CODE XREF: sub_401F50j arg_0 = dword ptr 4 arg_4 = dword ptr 8 push esi mov esi, [esp+4+arg_0] push edi mov edi, [esp+8+arg_4] mov ecx, esi mov eax, [edi+9] push eax call sub_4015E1 mov ecx, esi call sub_4017EE push eax nop call near ptr 77C1CF90h fstp dword ptr [esi+15h] add esp, 4 mov ecx, esi call sub_4017EE push eax nop call near ptr 77C1BF18h add esp, 4 mov ecx, esi mov [esi+1Ah], eax mov byte ptr [esi+19h], 0 push offset dword_44493C call sub_4012EE test eax, eax jnz short loc_40B835 mov byte ptr [esi+19h], 1 loc_40B835: ; CODE XREF: sub_40B7E0+4Fj mov cl, [edi+4] mov [esi+4], cl mov edx, [edi+5] mov [esi+5], edx pop edi pop esi retn 8 sub_40B7E0 endp ; --------------------------------------------------------------------------- db 0Ah dup(90h) db 20h dup(0CCh) ; --------------------------------------------------------------------------- loc_40B870: ; CODE XREF: ___:00401D57j fld dword ptr [esp+8] push esi mov esi, [esp+8] sub esp, 8 fstp qword ptr [esp] push offset dword_444944 push esi call sub_40102D mov eax, [esp+1Ch] add esp, 10h mov ecx, esi mov [esi+15h], eax call sub_4017EE push eax nop call near ptr 77C1BF18h fld dword ptr [esp+10h] fcomp flt_43F024 mov [esi+1Ah], eax add esp, 4 mov byte ptr [esi+19h], 0 fnstsw ax test ah, 1 jnz short loc_40B8C1 mov byte ptr [esi+19h], 1 loc_40B8C1: ; CODE XREF: ___:0040B8BBj pop esi retn 8 ; --------------------------------------------------------------------------- db 0Bh dup(90h) db 20h dup(0CCh) ; --------------------------------------------------------------------------- loc_40B8F0: ; CODE XREF: ___:00401CA8j push ebx mov bl, [esp+0Ch] test bl, bl push esi jz short loc_40B920 mov esi, [esp+0Ch] push offset dword_44493C mov ecx, esi call sub_4015E1 mov dword ptr [esi+15h], 3F800000h mov dword ptr [esi+1Ah], 1 mov [esi+19h], bl pop esi pop ebx retn 8 ; --------------------------------------------------------------------------- loc_40B920: ; CODE XREF: ___:0040B8F8j mov esi, [esp+0Ch] push offset dword_444948 mov ecx, esi call sub_4015E1 xor eax, eax mov [esi+19h], bl mov [esi+15h], eax mov [esi+1Ah], eax pop esi pop ebx retn 8 ; --------------------------------------------------------------------------- db 20h dup(0CCh) ; --------------------------------------------------------------------------- loc_40B960: ; CODE XREF: ___:00401D7Fj push esi mov esi, [esp+8] push edi mov edi, [esp+10h] push edi push offset dword_4447F4 push esi call sub_40102D fild dword ptr [esp+1Ch] add esp, 0Ch cmp edi, 1 mov [esi+1Ah], edi mov byte ptr [esi+19h], 0 fstp dword ptr [esi+15h] jl short loc_40B990 mov byte ptr [esi+19h], 1 loc_40B990: ; CODE XREF: ___:0040B98Aj pop edi pop esi retn 8 ; --------------------------------------------------------------------------- db 0Bh dup(90h) db 10h dup(0CCh) ; --------------------------------------------------------------------------- loc_40B9B0: ; CODE XREF: ___:00401AE1j mov eax, large fs:0 push 0FFFFFFFFh push offset dword_439F30 push eax mov large fs:0, esp sub esp, 4Ch push ebx push ebp push esi mov esi, [esp+68h] mov ebp, ecx push edi lea edi, [esi+7Eh] lea ecx, [ebp+4] call sub_4014DD push eax mov ecx, edi call sub_4012EE test eax, eax jnz loc_40BAF2 lea ebx, [esi+69h] mov ecx, ebx call sub_4014DD mov cl, [esi+93h] push eax mov al, [esi+94h] push offset dword_444994 push eax push ecx mov ecx, offset byte_4D8085 call sub_401118 lea ecx, [esp+6Ch] call sub_401546 add ebp, 8Eh lea edx, [esp+10h] push edx mov ecx, ebp xor edi, edi call sub_40145B mov eax, [eax] lea ecx, [esp+10h] push ecx mov ecx, ebp mov [esp+70h], eax call sub_401C85 push eax lea ecx, [esp+70h] call sub_40136B test al, al jz loc_40BAEB loc_40BA56: ; CODE XREF: ___:0040BAE5j lea ecx, [esp+6Ch] inc edi call sub_401F78 mov ecx, [eax] add ecx, 33h call sub_4017EE push eax lea ecx, [esp+70h] call sub_401F78 mov ecx, [eax] call sub_4017EE push eax lea ecx, [esp+74h] call sub_401F78 mov ecx, [eax] add ecx, 1Eh call sub_4017EE push eax push edi push offset dword_444978 mov ecx, ebx call sub_4014DD mov dl, [esi+94h] push eax mov al, [esi+93h] push edx push eax push offset byte_4D8085 call sub_401857 add esp, 24h push 5DCh nop call near ptr 2850000h lea ecx, [esp+6Ch] call sub_40133E lea ecx, [esp+10h] push ecx mov ecx, ebp call sub_401C85 push eax lea ecx, [esp+70h] call sub_40136B test al, al jnz loc_40BA56 loc_40BAEB: ; CODE XREF: ___:0040BA50j mov al, 1 jmp loc_40BC7A ; --------------------------------------------------------------------------- loc_40BAF2: ; CODE XREF: ___:0040B9E7j lea ecx, [ebp+32h] call sub_4017EE push eax mov ecx, edi call sub_4012EE test eax, eax jnz short loc_40BB85 push offset dword_444600 lea edx, [esp+30h] push 1 push edx mov ecx, esi call sub_4016B8 push 1 push eax mov ecx, ebp mov dword ptr [esp+6Ch], 0 call sub_4019DD lea ecx, [esp+2Ch] mov edi, eax mov dword ptr [esp+64h], 0FFFFFFFFh call sub_401226 test edi, edi jz loc_40BC78 mov ecx, edi call sub_4017EE push eax lea ecx, [edi+1Eh] call sub_4017EE push eax push offset dword_44496C lea ecx, [esi+69h] call sub_4014DD mov cl, [esi+93h] push eax mov al, [esi+94h] push eax push ecx push offset byte_4D8085 call sub_401857 add esp, 1Ch jmp loc_40BC7A ; --------------------------------------------------------------------------- loc_40BB85: ; CODE XREF: ___:0040BB04j lea ecx, [ebp+60h] call sub_4014DD push eax mov ecx, edi call sub_4012EE test eax, eax jnz loc_40BC78 push offset dword_444600 lea edx, [esp+30h] push 1 push edx mov ecx, esi call sub_4016B8 push 1 push eax mov ecx, ebp mov dword ptr [esp+6Ch], 1 call sub_4019DD lea ecx, [esp+2Ch] mov edi, eax mov dword ptr [esp+64h], 0FFFFFFFFh call sub_401226 test edi, edi jz loc_40BC78 push edi lea ecx, [esp+18h] call sub_4014D3 mov ebx, 2 push 1 push offset dword_444600 lea eax, [esp+4Ch] push ebx push eax mov ecx, esi mov [esp+74h], ebx call sub_4011EA push eax push edi mov ecx, ebp mov byte ptr [esp+6Ch], 3 call sub_401F50 lea ecx, [esp+44h] mov [esp+64h], bl call sub_401226 lea ecx, [esp+14h] call sub_4017EE push eax mov ecx, edi call sub_4017EE push eax lea ecx, [edi+1Eh] call sub_4017EE push eax push offset dword_444950 lea ecx, [esi+69h] call sub_4014DD mov cl, [esi+94h] mov dl, [esi+93h] push eax push ecx push edx push offset byte_4D8085 call sub_401857 add esp, 20h lea ecx, [esp+14h] mov dword ptr [esp+64h], 0FFFFFFFFh call sub_401226 mov al, 1 jmp short loc_40BC7A ; --------------------------------------------------------------------------- loc_40BC78: ; CODE XREF: ___:0040BB40j ; ___:0040BB97j ... xor al, al loc_40BC7A: ; CODE XREF: ___:0040BAEDj ; ___:0040BB80j ... mov ecx, [esp+5Ch] pop edi pop esi pop ebp pop ebx mov large fs:0, ecx add esp, 58h retn 4 ; --------------------------------------------------------------------------- db 90h db 0C0h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_40BD50 proc near ; CODE XREF: sub_401C08j arg_0 = dword ptr 4 mov eax, [esp+arg_0] push esi mov esi, ecx push 0 mov cl, [eax] push 0 mov [esi], cl mov ecx, esi call sub_4021EE mov [esi+4], eax mov dword ptr [esi+8], 0 mov eax, esi pop esi retn 4 sub_40BD50 endp ; --------------------------------------------------------------------------- db 0Ah dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_40BD90 proc near ; CODE XREF: sub_40155Fj var_C = byte ptr -0Ch var_8 = byte ptr -8 var_4 = byte ptr -4 sub esp, 0Ch lea eax, [esp+0Ch+var_C] push esi mov esi, ecx push eax call sub_401C85 mov ecx, [eax] lea edx, [esp+10h+var_8] push ecx push edx mov ecx, esi call sub_40145B mov eax, [eax] lea ecx, [esp+14h+var_4] push eax push ecx mov ecx, esi call sub_40124E mov edx, [esi+4] mov ecx, esi push edx call sub_401FEB xor eax, eax mov [esi+4], eax mov [esi+8], eax pop esi add esp, 0Ch retn sub_40BD90 endp ; --------------------------------------------------------------------------- db 0Ah dup(90h) db 20h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_40BE00 proc near ; CODE XREF: sub_40145Bj var_4 = byte ptr -4 arg_0 = dword ptr 4 push ecx mov eax, [ecx+4] push eax call sub_402117 mov ecx, [eax] add esp, 4 push ecx lea ecx, [esp+8+var_4] call sub_4014B0 mov edx, [eax] mov eax, [esp+4+arg_0] mov [eax], edx pop ecx retn 4 sub_40BE00 endp ; --------------------------------------------------------------------------- db 0Bh dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_40BE40 proc near ; CODE XREF: sub_401C85j var_4 = byte ptr -4 arg_0 = dword ptr 4 push ecx mov eax, [ecx+4] lea ecx, [esp+4+var_4] push eax call sub_4014B0 mov ecx, [eax] mov eax, [esp+4+arg_0] mov [eax], ecx pop ecx retn 4 sub_40BE40 endp ; --------------------------------------------------------------------------- db 6 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_40BE70 proc near ; CODE XREF: sub_401915j var_4 = byte ptr -4 arg_0 = dword ptr 4 push ecx mov eax, [esp+4+arg_0] push esi mov esi, ecx push eax lea ecx, [esp+0Ch+arg_0] push ecx mov ecx, esi call sub_401C85 mov edx, [eax] lea eax, [esp+0Ch+var_4] push edx push eax mov ecx, esi call sub_401C5D pop esi pop ecx retn 4 sub_40BE70 endp ; --------------------------------------------------------------------------- db 7 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_40BEB0 proc near ; CODE XREF: sub_401C03j var_C = byte ptr -0Ch var_8 = byte ptr -8 var_4 = byte ptr -4 sub esp, 0Ch lea eax, [esp+0Ch+var_C] push esi mov esi, ecx push eax call sub_401C85 mov ecx, [eax] lea edx, [esp+10h+var_8] push ecx push edx mov ecx, esi call sub_40145B mov eax, [eax] lea ecx, [esp+14h+var_4] push eax push ecx mov ecx, esi call sub_40124E pop esi add esp, 0Ch retn sub_40BEB0 endp ; --------------------------------------------------------------------------- db 0Dh dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_40BF00 proc near ; CODE XREF: sub_401546j push esi mov esi, ecx call sub_402158 mov eax, esi pop esi retn sub_40BF00 endp ; --------------------------------------------------------------------------- db 4 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_40BF20 proc near ; CODE XREF: sub_401F78j mov eax, [ecx] push eax call sub_401848 add esp, 4 retn sub_40BF20 endp ; --------------------------------------------------------------------------- db 4 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_40BF40 proc near ; CODE XREF: sub_40133Ej push esi mov esi, ecx mov eax, [esi] push eax call sub_402117 mov ecx, [eax] add esp, 4 mov [esi], ecx mov eax, esi pop esi retn sub_40BF40 endp ; --------------------------------------------------------------------------- db 0Ah dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_40BF70 proc near ; CODE XREF: sub_40136Bj arg_0 = dword ptr 4 mov eax, [esp+arg_0] push eax call sub_401CFD neg al sbb eax, eax inc eax retn 4 sub_40BF70 endp ; --------------------------------------------------------------------------- db 0Eh dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_40BFA0 proc near ; CODE XREF: sub_401C5Dj arg_0 = dword ptr 4 arg_4 = byte ptr 8 arg_8 = dword ptr 0Ch push ebx push esi mov esi, ecx push edi lea ecx, [esp+0Ch+arg_4] call sub_4016AE mov edi, eax push edi call sub_40215D mov eax, [eax] add esp, 4 mov ecx, esi push eax push edi call sub_4021EE push edi mov ebx, eax call sub_40215D push edi mov [eax], ebx call sub_40215D mov edi, [eax] push edi call sub_40215D mov ecx, [eax] push ecx call sub_402117 mov edx, [esp+1Ch+arg_8] add esp, 10h mov [eax], edi push edx push edi call sub_401848 add esp, 4 mov ecx, esi push eax call sub_401F32 mov ecx, [esi+8] push edi inc ecx mov [esi+8], ecx lea ecx, [esp+10h+arg_8] call sub_4014B0 mov ecx, [eax] mov eax, [esp+0Ch+arg_0] pop edi pop esi mov [eax], ecx pop ebx retn 0Ch sub_40BFA0 endp ; --------------------------------------------------------------------------- db 2 dup(90h) db 20h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_40C040 proc near ; CODE XREF: sub_40124Ej var_8 = byte ptr -8 var_4 = byte ptr -4 arg_0 = dword ptr 4 arg_4 = dword ptr 8 arg_8 = byte ptr 0Ch sub esp, 8 lea eax, [esp+8+arg_8] push esi mov esi, ecx push eax lea ecx, [esp+10h+arg_4] call sub_40136B test al, al jz short loc_40C09A loc_40C058: ; CODE XREF: sub_40C040+47j lea ecx, [esp+0Ch+var_8] push 0 push ecx lea ecx, [esp+14h+arg_4] call sub_401B9A mov edx, [eax] lea eax, [esp+0Ch+var_4] push edx push eax mov ecx, esi call sub_40106E lea ecx, [esp+0Ch+arg_8] push ecx lea ecx, [esp+10h+arg_4] call sub_40136B test al, al jnz short loc_40C058 mov eax, [esp+0Ch+arg_0] mov edx, [esp+0Ch+arg_4] pop esi mov [eax], edx add esp, 8 retn 0Ch ; --------------------------------------------------------------------------- loc_40C09A: ; CODE XREF: sub_40C040+16j mov eax, [esp+0Ch+arg_0] mov ecx, [esp+0Ch+arg_4] pop esi mov [eax], ecx add esp, 8 retn 0Ch sub_40C040 endp ; --------------------------------------------------------------------------- db 5 dup(90h) db 20h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_40C0D0 proc near ; CODE XREF: sub_4021EEj arg_0 = dword ptr 4 arg_4 = dword ptr 8 push esi push edi push 0Ch call sub_401569 mov edi, [esp+8+arg_0] mov esi, eax test edi, edi jnz short loc_40C0E5 mov edi, esi loc_40C0E5: ; CODE XREF: sub_40C0D0+11j push esi call sub_402117 mov [eax], edi mov edi, [esp+0Ch+arg_4] add esp, 4 test edi, edi jnz short loc_40C0FA mov edi, esi loc_40C0FA: ; CODE XREF: sub_40C0D0+26j push esi call sub_40215D add esp, 4 mov [eax], edi mov eax, esi pop edi pop esi retn 8 sub_40C0D0 endp ; --------------------------------------------------------------------------- db 4 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_40C120 proc near ; CODE XREF: sub_401FEBj arg_0 = dword ptr 4 mov eax, [esp+arg_0] push 1 push eax call sub_402077 retn 4 sub_40C120 endp ; --------------------------------------------------------------------------- db 90h db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_40C140 proc near ; CODE XREF: sub_402117j arg_0 = dword ptr 4 mov eax, [esp+arg_0] retn sub_40C140 endp ; --------------------------------------------------------------------------- db 0Bh dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_40C160 proc near ; CODE XREF: sub_401848j arg_0 = dword ptr 4 mov eax, [esp+arg_0] add eax, 8 retn sub_40C160 endp ; --------------------------------------------------------------------------- db 8 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_40C180 proc near ; CODE XREF: sub_402158j mov eax, ecx retn sub_40C180 endp ; --------------------------------------------------------------------------- db 0Dh dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_40C1A0 proc near ; CODE XREF: sub_4014B0j arg_0 = dword ptr 4 mov eax, [esp+arg_0] push esi mov esi, ecx push eax call sub_40105A mov eax, esi pop esi retn 4 sub_40C1A0 endp ; --------------------------------------------------------------------------- db 0Dh dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_40C1D0 proc near ; CODE XREF: sub_401CFDj arg_0 = dword ptr 4 mov edx, [esp+arg_0] mov eax, [ecx] push esi xor ecx, ecx mov esi, [edx] cmp eax, esi pop esi setz cl mov al, cl retn 4 sub_40C1D0 endp ; --------------------------------------------------------------------------- db 0Ah dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_40C200 proc near ; CODE XREF: sub_40106Ej 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_401B9A mov ecx, eax call sub_4016AE mov esi, eax push esi call sub_402117 push esi mov ebx, eax call sub_40215D mov ecx, [eax] push ecx call sub_402117 mov edx, [ebx] push esi mov [eax], edx call sub_40215D push esi mov ebx, eax call sub_402117 mov eax, [eax] push eax call sub_40215D mov ecx, [ebx] push esi mov [eax], ecx call sub_401848 add esp, 1Ch mov ecx, edi push eax call sub_401221 push esi mov ecx, edi call sub_401FEB 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_40C200 endp ; --------------------------------------------------------------------------- db 0Ch dup(90h) db 30h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_40C2C0 proc near ; CODE XREF: sub_40215Dj arg_0 = dword ptr 4 mov eax, [esp+arg_0] add eax, 4 retn sub_40C2C0 endp ; --------------------------------------------------------------------------- db 8 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_40C2E0 proc near ; CODE XREF: sub_401569j arg_0 = dword ptr 4 mov eax, [esp+arg_0] push 0 push eax call sub_401D2A add esp, 8 retn 4 sub_40C2E0 endp ; --------------------------------------------------------------------------- db 0Eh dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_40C310 proc near ; CODE XREF: sub_402077j arg_0 = dword ptr 4 mov eax, [esp+arg_0] push eax call near ptr word_437AD2 pop ecx retn 8 sub_40C310 endp ; --------------------------------------------------------------------------- db 2 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_40C330 proc near ; CODE XREF: sub_401F32j arg_0 = dword ptr 4 arg_4 = dword ptr 8 mov eax, [esp+arg_4] mov ecx, [esp+arg_0] push eax push ecx call sub_4011AE add esp, 8 retn 8 sub_40C330 endp ; --------------------------------------------------------------------------- db 0Bh dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_40C360 proc near ; CODE XREF: sub_40105Aj arg_0 = dword ptr 4 mov eax, ecx mov ecx, [esp+arg_0] mov [eax], ecx retn 4 sub_40C360 endp ; --------------------------------------------------------------------------- db 5 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_40C380 proc near ; CODE XREF: sub_4016AEj mov eax, [ecx] retn sub_40C380 endp ; --------------------------------------------------------------------------- db 0Dh dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_40C3A0 proc near ; CODE XREF: sub_401B9Aj arg_0 = dword ptr 4 push esi mov esi, [ecx] call sub_40133E mov eax, [esp+4+arg_0] mov [eax], esi pop esi retn 8 sub_40C3A0 endp ; --------------------------------------------------------------------------- db 0Eh dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_40C3D0 proc near ; CODE XREF: sub_401221j arg_0 = dword ptr 4 mov eax, [esp+arg_0] push eax call j_nullsub_2 pop ecx retn 4 sub_40C3D0 endp ; --------------------------------------------------------------------------- db 2 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_40C3F0 proc near ; CODE XREF: sub_4011AEj arg_0 = dword ptr 4 arg_4 = dword ptr 8 mov eax, [esp+arg_0] push eax push 4 call sub_4011CC add esp, 8 test eax, eax jz short locret_40C40B mov ecx, [esp+arg_4] mov edx, [ecx] mov [eax], edx locret_40C40B: ; CODE XREF: sub_40C3F0+11j retn sub_40C3F0 endp ; --------------------------------------------------------------------------- db 4 dup(90h) db 10h dup(0CCh) ; [00000001 BYTES: COLLAPSED FUNCTION nullsub_2. PRESS KEYPAD "+" TO EXPAND] db 0Fh dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_40C440 proc near ; CODE XREF: sub_401BF9j var_24 = byte ptr -24h var_C = dword ptr -0Ch var_4 = dword ptr -4 push 0FFFFFFFFh push offset SEH_40C440 mov eax, large fs:0 push eax mov large fs:0, esp sub esp, 18h push esi push 0 push 4 push 0Eh push 5 push 13h push 4Fh push 3 push 3 lea eax, [esp+48h+var_24] push 4 mov esi, ecx push eax call sub_4019C4 add esp, 28h push esi mov ecx, eax mov [esp+2Ch+var_4], 0 call sub_40168B add esi, 4 push eax push esi mov ecx, offset dword_449128 call sub_40159B lea ecx, [esp+28h+var_24] mov [esp+28h+var_4], 0FFFFFFFFh call sub_401226 mov ecx, [esp+28h+var_C] pop esi mov large fs:0, ecx add esp, 24h retn sub_40C440 endp ; --------------------------------------------------------------------------- db 6 dup(90h) db 20h dup(0CCh) ; --------------------------------------------------------------------------- loc_40C4E0: ; CODE XREF: ___:0040171Cj mov eax, large fs:0 push 0FFFFFFFFh push offset dword_439F9C push eax mov large fs:0, esp sub esp, 0AA0h add ecx, 4 push ebx push ebp push esi push edi call sub_4014DD mov ebp, [esp+0AC0h] push eax lea ecx, [ebp+7Eh] call sub_4012EE test eax, eax jnz loc_40CA2E lea ecx, [esp+44h] call sub_401091 push 1 push offset dword_444600 lea eax, [esp+88h] xor esi, esi push 1 push eax mov ecx, ebp mov [esp+0AC8h], esi call sub_4011EA push eax lea ecx, [esp+50h] mov byte ptr [esp+0ABCh], 1 call sub_40202C lea ecx, [esp+80h] mov byte ptr [esp+0AB8h], 0 call sub_401226 push esi push 1 push 2 mov [esp+20h], esi mov [esp+24h], esi mov [esp+38h], esi call near ptr 71AB3B91h nop mov ebx, eax cmp ebx, 0FFFFFFFFh mov [esp+10h], ebx jnz short loc_40C5AC lea ecx, [esp+3ACh] push offset dword_444AB0 push ecx nop call near ptr word_5F67AE add esp, 8 jmp loc_40C9D5 ; --------------------------------------------------------------------------- loc_40C5AC: ; CODE XREF: ___:0040C58Fj xor edx, edx push esi mov [esp+20h], edx mov word ptr [esp+20h], 2 mov [esp+24h], edx mov [esp+28h], edx mov [esp+2Ch], edx call near ptr 71AB2B66h nop mov [esp+1Eh], ax lea eax, [esp+1Ch] push 10h push eax push ebx mov [esp+2Ch], esi nop call near ptr 71AB3E00h test eax, eax jz short loc_40C5FA lea ecx, [ebp+69h] call sub_4014DD push eax push offset dword_444A90 jmp loc_40C6A0 ; --------------------------------------------------------------------------- loc_40C5FA: ; CODE XREF: ___:0040C5E5j lea eax, [esp+34h] lea ecx, [esp+1Ch] push eax push ecx push ebx mov dword ptr [esp+40h], 10h nop call near ptr 71AB951Eh mov edx, [esp+1Eh] push edx nop call near ptr 71AB2B66h lea ecx, [esp+4Ch] mov [esp+30h], eax call sub_4014DD mov edi, eax or ecx, 0FFFFFFFFh xor eax, eax lea edx, [esp+1ACh] repne scasb not ecx sub edi, ecx mov eax, ecx mov esi, edi mov edi, edx shr ecx, 2 rep movsd mov ecx, eax and ecx, 3 xor edx, edx rep movsb loc_40C653: ; CODE XREF: ___:0040C683j mov al, [esp+edx+1ACh] cmp al, 20h jnz short loc_40C665 mov eax, 5Fh jmp short loc_40C668 ; --------------------------------------------------------------------------- loc_40C665: ; CODE XREF: ___:0040C65Cj movsx eax, al loc_40C668: ; CODE XREF: ___:0040C663j mov [esp+edx+5ACh], al lea edi, [esp+1ACh] or ecx, 0FFFFFFFFh xor eax, eax inc edx repne scasb not ecx dec ecx cmp edx, ecx jbe short loc_40C653 push 1 push ebx nop call near ptr 71AB88D3h test eax, eax jz short loc_40C6BD lea ecx, [ebp+69h] call sub_4014DD push eax push offset dword_444A70 loc_40C6A0: ; CODE XREF: ___:0040C5F5j mov cl, [ebp+94h] mov dl, [ebp+93h] push ecx push edx mov ecx, offset byte_4D8085 call sub_401118 jmp loc_40C9CF ; --------------------------------------------------------------------------- loc_40C6BD: ; CODE XREF: ___:0040C690j push 0 push 0 push 3 push 0 push 1 push 80000000h lea ecx, [esp+64h] call sub_4017EE push eax nop call near ptr 2870000h mov esi, eax cmp esi, 0FFFFFFFFh jnz short loc_40C724 lea ecx, [ebp+69h] call sub_4014DD mov cl, [ebp+93h] push eax mov al, [ebp+94h] push offset dword_444A54 push eax push ecx mov ecx, offset byte_4D8085 call sub_401118 lea edx, [esp+3ACh] push offset dword_444A34 push edx nop call near ptr word_5F67AE add esp, 8 jmp loc_40C9CF ; --------------------------------------------------------------------------- loc_40C724: ; CODE XREF: ___:0040C6E1j push 0 push esi call near ptr 2860A0Fh nop lea ecx, [esp+68h] mov ebx, eax call sub_40142E mov eax, [esp+30h] push ebx and eax, 0FFFFh mov byte ptr [esp+0ABCh], 2 push eax mov eax, dword_4D809D push eax call sub_401E10 add esp, 4 push eax call near ptr 71AB2BF4h nop push eax nop call near ptr 71AB2BC0h push eax lea ecx, [esp+58h] call sub_4017EE push eax lea ecx, [esp+78h] push offset dword_444A18 push ecx call sub_40102D add esp, 18h lea ecx, [ebp+15h] call sub_40168B push eax lea ecx, [esp+6Ch] call sub_4014DD mov dl, [ebp+94h] push eax mov al, [ebp+93h] push edx push eax mov ecx, offset byte_4D8085 call sub_401118 mov edi, [esp+10h] lea ecx, [esp+3Ch] push ecx push 0 lea edx, [esp+0B0h] push 0 push edx push 0 mov dword ptr [esp+50h], 3Ch mov dword ptr [esp+54h], 0 mov [esp+0C0h], edi mov dword ptr [esp+0BCh], 1 call near ptr 71AB2DC0h nop test eax, eax jg short loc_40C81D lea ecx, [ebp+69h] call sub_4014DD mov cl, [ebp+93h] push eax mov al, [ebp+94h] push offset dword_444A08 push eax push ecx mov ecx, offset byte_4D8085 call sub_401118 jmp loc_40C9BA ; --------------------------------------------------------------------------- loc_40C81D: ; CODE XREF: ___:0040C7F0j lea edx, [esp+38h] lea eax, [esp+98h] push edx push eax push edi mov dword ptr [esp+44h], 10h nop call near ptr 71AC1028h cmp eax, 0FFFFFFFFh mov [esp+48h], eax jnz short loc_40C86D lea ecx, [ebp+69h] call sub_4014DD mov cl, [ebp+94h] mov dl, [ebp+93h] push eax push offset dword_4449E8 push ecx push edx mov ecx, offset byte_4D8085 call sub_401118 jmp loc_40C9BA ; --------------------------------------------------------------------------- loc_40C86D: ; CODE XREF: ___:0040C840j push edi nop call near ptr 71AB9639h test ebx, ebx jz loc_40C925 loc_40C87C: ; CODE XREF: ___:0040C918j mov ebp, 400h cmp ebx, ebp jge short loc_40C887 mov ebp, ebx loc_40C887: ; CODE XREF: ___:0040C883j mov edx, ebx xor eax, eax neg edx push 2 mov ecx, 100h lea edi, [esp+6B4h] push eax push edx push esi rep stosd nop call near ptr 2860000h lea eax, [esp+2Ch] push 0 push eax lea ecx, [esp+6B8h] push ebp push ecx push esi call near ptr 2850BBCh nop mov eax, [esp+48h] push 0 lea edx, [esp+6B4h] push ebp push edx push eax nop call near ptr 71AB428Ah mov ecx, [esp+14h] mov ebp, [esp+18h] mov edi, eax push 0 cdq add ecx, eax push 400h mov [esp+1Ch], ecx lea ecx, [esp+6B8h] adc ebp, edx mov edx, [esp+50h] push ecx push edx mov [esp+28h], ebp call near ptr 71AB615Ah nop cmp eax, 1 jl loc_40C9EE cmp edi, 1 jl loc_40C9EE sub ebx, edi jnz loc_40C87C mov ebp, [esp+0AC0h] loc_40C925: ; CODE XREF: ___:0040C876j push esi call near ptr 285085Eh nop lea ecx, [esp+80h] call sub_40142E mov eax, [esp+18h] mov ecx, [esp+14h] push eax push ecx lea ecx, [esp+54h] mov byte ptr [esp+0AC0h], 3 call sub_4014DD mov edx, [esp+0A4h] push eax push edx nop call near ptr 71AB3F41h push eax lea eax, [esp+90h] push offset dword_4449B4 push eax call sub_40102D add esp, 18h lea ecx, [ebp+69h] call sub_4014DD push eax lea ecx, [esp+84h] call sub_4014DD mov cl, [ebp+94h] mov dl, [ebp+93h] push eax push ecx push edx mov ecx, offset byte_4D8085 call sub_401118 lea ecx, [esp+80h] mov byte ptr [esp+0AB8h], 2 call sub_401226 loc_40C9BA: ; CODE XREF: ___:0040C818j ; ___:0040C868j lea ecx, [esp+68h] mov byte ptr [esp+0AB8h], 0 call sub_401226 mov ebx, [esp+10h] loc_40C9CF: ; CODE XREF: ___:0040C6B8j ; ___:0040C71Fj xor esi, esi cmp ebx, esi jbe short loc_40C9DC loc_40C9D5: ; CODE XREF: ___:0040C5A7j push ebx nop call near ptr 71AB9639h loc_40C9DC: ; CODE XREF: ___:0040C9D3j mov eax, [esp+48h] push eax nop call near ptr 71AB9639h push esi nop call near ptr 285014Dh loc_40C9EE: ; CODE XREF: ___:0040C907j ; ___:0040C910j mov esi, [esp+0AC0h] lea ecx, [esi+69h] call sub_4014DD mov cl, [esi+93h] push eax mov al, [esi+94h] push offset dword_44499C push eax push ecx mov ecx, offset byte_4D8085 call sub_401118 mov edx, [esp+48h] push edx nop call near ptr 71AB9639h push 1 nop call near ptr 285014Dh loc_40CA2E: ; CODE XREF: ___:0040C519j mov ecx, [esp+0AB0h] pop edi pop esi pop ebp xor al, al pop ebx mov large fs:0, ecx add esp, 0AACh retn 4 ; --------------------------------------------------------------------------- db 5 dup(90h) db 160h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_40CBB0 proc near ; CODE XREF: sub_401091j push esi mov esi, ecx lea ecx, [esi+8] call sub_40142E mov eax, esi pop esi retn sub_40CBB0 endp ; --------------------------------------------------------------------------- db 90h db 10h dup(0CCh) ; --------------------------------------------------------------------------- loc_40CBD0: ; CODE XREF: ___:00401B13j add ecx, 8 jmp sub_401226 ; --------------------------------------------------------------------------- db 8 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_40CBF0 proc near ; CODE XREF: sub_402063j var_24 = byte ptr -24h var_C = dword ptr -0Ch var_4 = dword ptr -4 push 0FFFFFFFFh push offset SEH_40CBF0 mov eax, large fs:0 push eax mov large fs:0, esp sub esp, 18h push esi push 0 push 5 push 0Ch push 9 lea eax, [esp+38h+var_24] push 6 mov esi, ecx push eax call sub_4019C4 add esp, 18h push esi mov ecx, eax mov [esp+2Ch+var_4], 0 call sub_4017EE add esi, 4 push eax push esi mov ecx, offset dword_449128 call sub_40159B lea ecx, [esp+28h+var_24] mov [esp+28h+var_4], 0FFFFFFFFh call sub_401226 mov ecx, [esp+28h+var_C] pop esi mov large fs:0, ecx add esp, 24h retn sub_40CBF0 endp ; --------------------------------------------------------------------------- db 0Eh dup(90h) db 20h dup(0CCh) ; --------------------------------------------------------------------------- loc_40CC90: ; CODE XREF: ___:00401BB8j mov eax, large fs:0 push 0FFFFFFFFh push offset byte_43A017 push eax mov large fs:0, esp sub esp, 270h add ecx, 4 push esi call sub_4014DD mov esi, [esp+284h] push eax lea ecx, [esi+7Eh] call sub_4012EE test eax, eax jnz loc_40CE91 push ebx lea ecx, [esp+24h] call sub_40199C lea eax, [esi+2Ah] xor ebx, ebx push eax lea ecx, [esp+2Ch] mov [esp+284h], ebx mov [esp+28h], ebx call sub_40202C push 1 push offset dword_444600 lea ecx, [esp+14h] push 2 push ecx mov ecx, esi call sub_4011EA mov ecx, eax mov byte ptr [esp+280h], 1 call sub_4017EE push eax lea ecx, [esp+41h] call sub_401A9B lea ecx, [esp+0Ch] mov [esp+280h], bl call sub_401226 push 1 push offset dword_444600 lea edx, [esp+14h] push 3 push edx mov ecx, esi call sub_4011EA mov ecx, eax mov byte ptr [esp+280h], 2 call sub_4017EE push eax lea ecx, [esp+56h] call sub_401A9B lea ecx, [esp+0Ch] mov [esp+280h], bl call sub_401226 mov edx, [esp+63h] xor eax, eax mov al, [esi+94h] xor ecx, ecx mov cl, [esi+93h] mov [esp+6Bh], eax lea eax, [esp+0Ch] mov [esp+6Fh], ecx push edx push eax lea ecx, [esp+5Ah] mov [esp+6Fh], ebx mov dword ptr [esp+7Bh], 1 call sub_401E47 push offset dword_444AEC mov ecx, eax mov byte ptr [esp+284h], 3 call sub_4012EE test eax, eax lea ecx, [esp+0Ch] mov [esp+280h], bl setz byte ptr [esp+0Bh] call sub_401226 cmp [esp+0Bh], bl jz short loc_40CE0B mov ecx, [esp+63h] lea edx, [esp+0Ch] push ecx push edx lea ecx, [esp+5Ah] call sub_401E47 push offset dword_448F44 mov ecx, eax mov byte ptr [esp+284h], 4 call sub_401A9B lea ecx, [esp+0Ch] mov [esp+280h], bl call sub_401226 loc_40CE0B: ; CODE XREF: ___:0040CDD2j push ebx lea ecx, [esp+56h] call sub_4014DD push eax lea ecx, [esp+45h] call sub_4014DD push eax mov eax, [esp+77h] push eax lea ecx, [esp+38h] call sub_40168B mov ecx, [esp+34h] push eax push ecx call sub_40227A push eax lea edx, [esp+94h] push offset dword_444AD8 push edx nop call near ptr word_5F67AE mov eax, [esp+93h] add esp, 24h cmp eax, ebx jnz short loc_40CE7C mov eax, [esp+6Bh] lea ecx, [esp+78h] push eax push ecx lea ecx, [esp+30h] call sub_40168B mov edx, [esp+2Ch] push eax push edx call sub_40152D add esp, 10h loc_40CE7C: ; CODE XREF: ___:0040CE59j mov eax, [esp+67h] push eax call sub_401E3D add esp, 4 push ebx call near ptr 285014Dh nop pop ebx loc_40CE91: ; CODE XREF: ___:0040CCC6j mov ecx, [esp+274h] mov al, 1 pop esi mov large fs:0, ecx add esp, 27Ch retn 4 ; --------------------------------------------------------------------------- db 5 dup(90h) db 90h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_40CF40 proc near ; CODE XREF: sub_40199Cj var_10 = dword ptr -10h var_C = dword ptr -0Ch var_4 = dword ptr -4 push 0FFFFFFFFh push offset SEH_40CF40 mov eax, large fs:0 push eax mov large fs:0, esp push ecx push esi mov esi, ecx mov [esp+14h+var_10], esi lea ecx, [esi+4] call sub_40142E lea ecx, [esi+19h] mov [esp+14h+var_4], 0 call sub_40142E lea ecx, [esi+2Eh] mov byte ptr [esp+14h+var_4], 1 call sub_40142E mov ecx, [esp+14h+var_C] mov eax, esi pop esi mov large fs:0, ecx add esp, 10h retn sub_40CF40 endp ; --------------------------------------------------------------------------- db 0Ch dup(90h) db 20h dup(0CCh) ; --------------------------------------------------------------------------- loc_40CFC0: ; CODE XREF: ___:0040228Ej push 0FFFFFFFFh push offset word_43A086 mov eax, large fs:0 push eax mov large fs:0, esp push ecx push esi mov esi, ecx mov [esp+4], esi lea ecx, [esi+2Eh] mov dword ptr [esp+10h], 1 call sub_401226 lea ecx, [esi+19h] mov byte ptr [esp+10h], 0 call sub_401226 lea ecx, [esi+4] mov dword ptr [esp+10h], 0FFFFFFFFh call sub_401226 mov ecx, [esp+8] pop esi mov large fs:0, ecx add esp, 10h retn ; --------------------------------------------------------------------------- db 6 dup(90h) db 20h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_40D040 proc near ; CODE XREF: sub_40227Aj var_548 = byte ptr -548h var_51C = byte ptr -51Ch var_51B = byte ptr -51Bh var_408 = byte ptr -408h var_304 = byte ptr -304h var_200 = byte ptr -200h arg_0 = dword ptr 4 arg_4 = dword ptr 8 arg_8 = dword ptr 0Ch arg_C = dword ptr 10h arg_10 = dword ptr 14h arg_14 = dword ptr 18h sub esp, 548h lea eax, [esp+548h+var_408] push ebx push ebp push esi mov esi, [esp+554h+arg_10] push edi mov edi, dword_511AE4 push esi push offset dword_444B00 push 104h push eax call edi add esp, 10h lea ecx, [esp+558h+var_548] lea edx, [esp+558h+var_408] push ecx push edx nop call near ptr 2890000h mov ebp, [esp+558h+arg_14] mov ebx, eax cmp ebx, 0FFFFFFFFh jz short loc_40D107 loc_40D090: ; CODE XREF: sub_40D040+C5j test [esp+558h+var_548], 10h jz short loc_40D0F7 cmp [esp+558h+var_51C], 2Eh jnz short loc_40D0AA mov al, [esp+558h+var_51B] test al, al jz short loc_40D0F7 cmp al, 2Eh jz short loc_40D0F7 loc_40D0AA: ; CODE XREF: sub_40D040+5Cj lea eax, [esp+558h+var_51C] lea ecx, [esp+558h+var_304] push eax push esi push offset dword_444684 push 104h push ecx call edi mov eax, [esp+56Ch+arg_C] mov ecx, [esp+56Ch+arg_8] lea edx, [esp+56Ch+var_304] push ebp push edx mov edx, [esp+574h+arg_4] push eax mov eax, [esp+578h+arg_0] push ecx push edx push eax call sub_40227A add esp, 2Ch mov ebp, eax loc_40D0F7: ; CODE XREF: sub_40D040+55j ; sub_40D040+64j ... lea ecx, [esp+558h+var_548] push ecx push ebx nop call near ptr 2880000h test eax, eax jnz short loc_40D090 loc_40D107: ; CODE XREF: sub_40D040+4Ej push ebx call near ptr 2870288h nop mov edx, [esp+558h+arg_C] lea eax, [esp+558h+var_408] push edx push esi push offset dword_444684 push 104h push eax call edi add esp, 14h lea ecx, [esp+558h+var_548] lea edx, [esp+558h+var_408] push ecx push edx nop call near ptr 2890000h mov ebx, eax cmp ebx, 0FFFFFFFFh jz short loc_40D19B loc_40D148: ; CODE XREF: sub_40D040+159j lea eax, [esp+558h+var_51C] lea ecx, [esp+558h+var_200] push eax push esi push offset dword_444AF0 push 200h push ecx inc ebp call edi mov edx, [esp+56Ch+arg_8] mov ecx, [esp+56Ch+arg_4] lea eax, [esp+56Ch+var_200] push edx mov edx, [esp+570h+arg_0] push eax push ecx push edx call sub_40152D add esp, 24h lea eax, [esp+558h+var_548] push eax push ebx nop call near ptr 2880000h test eax, eax jnz short loc_40D148 loc_40D19B: ; CODE XREF: sub_40D040+106j push ebx nop call near ptr 2870288h pop edi mov eax, ebp pop esi pop ebp pop ebx add esp, 548h retn sub_40D040 endp ; --------------------------------------------------------------------------- db 90h db 60h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_40D210 proc near ; CODE XREF: sub_40104Bj 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_40D210 mov eax, large fs:0 push eax mov large fs:0, esp sub esp, 30h push esi push edi push 0 push 4 push 4 push 1 push 13h lea eax, [esp+58h+var_3C] push 1 mov esi, ecx push eax call sub_4019C4 add esp, 1Ch push esi mov ecx, eax mov [esp+48h+var_4], 0 call sub_4017EE lea ecx, [esi+19h] push eax push ecx mov ecx, offset dword_449128 call sub_40159B or edi, 0FFFFFFFFh lea ecx, [esp+44h+var_3C] mov [esp+44h+var_4], edi call sub_401226 push 0 push 0Ch push 5 push 4 push 13h lea edx, [esp+58h+var_3C] push 1 push edx call sub_4019C4 add esp, 1Ch push esi mov ecx, eax mov [esp+48h+var_4], 1 call sub_4017EE push eax lea eax, [esi+47h] push eax mov ecx, offset dword_449128 call sub_40159B lea ecx, [esp+44h+var_3C] mov [esp+44h+var_4], edi call sub_401226 push 0 push 4 push 4 push 1 push 3 push 16h lea ecx, [esp+5Ch+var_3C] push 13h push ecx call sub_4019C4 add esp, 20h push esi mov ecx, eax mov [esp+48h+var_4], 2 call sub_4017EE lea edx, [esi+75h] push eax push edx mov ecx, offset dword_449128 call sub_40159B lea ecx, [esp+44h+var_3C] mov [esp+44h+var_4], edi call sub_401226 push 0 push 0Ch push 5 push 4 push 3 push 16h push 13h lea eax, [esp+60h+var_24] push eax call sub_4019C4 add esp, 20h push esi mov ecx, eax mov [esp+48h+var_4], 3 call sub_4017EE add esi, 0A3h push eax push esi mov ecx, offset dword_449128 call sub_40159B lea ecx, [esp+44h+var_24] mov [esp+44h+var_4], edi call sub_401226 mov ecx, [esp+44h+var_C] pop edi pop esi mov large fs:0, ecx add esp, 3Ch retn sub_40D210 endp ; --------------------------------------------------------------------------- db 5 dup(90h) db 60h dup(0CCh) ; --------------------------------------------------------------------------- loc_40D3C0: ; CODE XREF: ___:004013CFj sub esp, 104h lea eax, [esp+0] push 104h push eax push 0 nop call near ptr 2891D04h push eax call near ptr 2891181h nop mov eax, dword_449080 test eax, eax jz loc_40D4E3 mov ecx, dword_44907C test ecx, ecx jz loc_40D4E3 mov ecx, dword_448F48 test ecx, ecx jz loc_40D4E3 push 0 push 2 call eax cmp eax, 0FFFFFFFFh mov dword_449078, eax jz loc_40D4E3 push ebp push offset dword_448F50 push eax xor ebp, ebp mov dword_448F50, 128h call dword_44907C test eax, eax jz loc_40D4CC push ebx mov ebx, [esp+110h] push esi mov esi, dword_511AE0 push edi loc_40D44D: ; CODE XREF: ___:0040D4C7j mov edi, offset dword_448F74 or ecx, 0FFFFFFFFh xor eax, eax lea edx, [esp+10h] repne scasb not ecx dec ecx mov edi, offset dword_448F74 push ecx or ecx, 0FFFFFFFFh repne scasb not ecx dec ecx lea edi, [esp+14h] sub edx, ecx or ecx, 0FFFFFFFFh repne scasb not ecx dec ecx push offset dword_448F74 add edx, ecx push edx call esi add esp, 0Ch test eax, eax jz short loc_40D4B3 mov edi, offset dword_448F74 or ecx, 0FFFFFFFFh xor eax, eax repne scasb not ecx dec ecx push ecx push offset dword_448F74 mov ecx, ebx call sub_40168B push eax call esi add esp, 0Ch test eax, eax jnz short loc_40D4B4 loc_40D4B3: ; CODE XREF: ___:0040D48Bj inc ebp loc_40D4B4: ; CODE XREF: ___:0040D4B1j mov eax, dword_449078 push offset dword_448F50 push eax call dword_448F48 test eax, eax jnz short loc_40D44D pop edi pop esi pop ebx loc_40D4CC: ; CODE XREF: ___:0040D437j mov ecx, dword_449078 push ecx call near ptr 285085Eh nop mov eax, ebp pop ebp add esp, 104h retn ; --------------------------------------------------------------------------- loc_40D4E3: ; CODE XREF: ___:0040D3E6j ; ___:0040D3F4j ... xor eax, eax add esp, 104h retn ; --------------------------------------------------------------------------- db 4 dup(90h) db 50h dup(0CCh) ; --------------------------------------------------------------------------- loc_40D540: ; CODE XREF: ___:00401FAFj sub esp, 11Ch lea eax, [esp+18h] push ebx push esi push edi push 104h push eax nop call near ptr 28A0A2Eh mov edi, offset dword_444B08 or ecx, 0FFFFFFFFh xor eax, eax lea edx, [esp+24h] repne scasb not ecx sub edi, ecx push eax mov esi, edi mov ebx, ecx mov edi, edx or ecx, 0FFFFFFFFh repne scasb mov ecx, ebx dec edi shr ecx, 2 rep movsd mov ecx, ebx push 80h and ecx, 3 push 3 push eax push 1 rep movsb mov edi, dword_5118F0 lea eax, [esp+38h] push 80000000h push eax call edi mov esi, eax cmp esi, 0FFFFFFFFh jz short loc_40D606 lea ecx, [esp+1Ch] lea edx, [esp+0Ch] push ecx lea eax, [esp+18h] push edx push eax push esi call near ptr 28A0658h nop mov ebx, dword_5118E0 push esi call ebx mov ecx, [esp+12Ch] push 0 push 80h push 3 push 0 push 2 push 40000000h push ecx call edi mov esi, eax cmp esi, 0FFFFFFFFh jz short loc_40D606 lea edx, [esp+1Ch] lea eax, [esp+0Ch] push edx lea ecx, [esp+18h] push eax push ecx push esi call near ptr 28A0000h nop push esi call ebx loc_40D606: ; CODE XREF: ___:0040D5A9j ; ___:0040D5EBj pop edi pop esi pop ebx add esp, 11Ch retn 4 ; --------------------------------------------------------------------------- db 0Eh dup(90h) db 40h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_40D660 proc near ; CODE XREF: sub_401B6Dj var_19C = byte ptr -19Ch var_184 = byte ptr -184h var_16C = byte ptr -16Ch var_154 = byte ptr -154h var_124 = word ptr -124h var_110 = byte ptr -110h var_C = dword ptr -0Ch var_4 = dword ptr -4 arg_0 = dword ptr 4 push 0FFFFFFFFh push offset SEH_40D660 mov eax, large fs:0 push eax mov large fs:0, esp sub esp, 190h push ebx push esi mov esi, ecx push edi lea ecx, [esp+1A8h+var_16C] call sub_40142E push 104h push 104h lea ecx, [esp+1B0h+var_16C] mov [esp+1B0h+var_4], 0 call sub_401C71 push eax nop call near ptr 2810000h lea ecx, [esp+1A8h+var_16C] call sub_4017EE push eax lea ecx, [esi+4] call sub_4015E1 lea ecx, [esp+1A8h+var_184] call sub_40142E mov ebx, 1 push 104h push 104h lea ecx, [esp+1B0h+var_184] mov byte ptr [esp+1B0h+var_4], bl call sub_401C71 push eax push 0 nop call near ptr 2891D04h push eax call near ptr 2891181h nop push offset dword_444B88 nop call near ptr 2800990h mov esi, eax test esi, esi jz short loc_40D751 mov edi, dword_511918 push offset dword_444B6C push esi call edi push offset dword_444B4C push esi mov dword_449084, eax call edi push offset dword_444B38 push esi mov dword_449080, eax call edi push offset dword_444B28 push esi mov dword_44907C, eax call edi mov dword_448F48, eax mov eax, dword_449084 test eax, eax jz short loc_40D751 push ebx push 0 call eax loc_40D751: ; CODE XREF: sub_40D660+A7j ; sub_40D660+EAj mov esi, [esp+1A8h+arg_0] push 0 mov ecx, esi call sub_4017EE push eax lea ecx, [esp+1B0h+var_184] call sub_402135 test eax, eax jnz short loc_40D788 mov al, byte_44916F test al, al jz short loc_40D788 mov ecx, esi call sub_4017EE push eax call sub_401604 add esp, 4 loc_40D788: ; CODE XREF: sub_40D660+10Dj ; sub_40D660+116j push 0 push 5 push 18h push 5 push 4Eh push 46h push 47h push 12h push 10h push 10h push 0Eh push 9 lea eax, [esp+1D8h+var_19C] push 17h push eax call sub_4019C4 add esp, 38h mov ecx, eax mov byte ptr [esp+1A8h+var_4], 2 call sub_4017EE push eax call sub_401604 add esp, 4 lea ecx, [esp+1A8h+var_19C] mov byte ptr [esp+1A8h+var_4], bl call sub_401226 push 0 push 5 push 18h push 5 push 4Eh push 14h push 13h push 0Fh push 8 push 0Ch push 0Ch lea ecx, [esp+1D4h+var_19C] push 4 push ecx call sub_4019C4 add esp, 34h mov ecx, eax mov byte ptr [esp+1A8h+var_4], 3 call sub_4017EE push eax call sub_401604 add esp, 4 lea ecx, [esp+1A8h+var_19C] mov byte ptr [esp+1A8h+var_4], bl call sub_401226 push 0 push 5 push 18h push 5 push 4Eh push 4 push 10h push 14h push 6 lea edx, [esp+1CCh+var_19C] push 14h push edx call sub_4019C4 add esp, 2Ch mov ecx, eax mov byte ptr [esp+1A8h+var_4], 4 call sub_4017EE push eax call sub_401604 add esp, 4 lea ecx, [esp+1A8h+var_19C] mov byte ptr [esp+1A8h+var_4], bl call sub_401226 push 0 push 5 push 18h push 5 push 4Eh push 14h push 13h push ebx push 0Ch push 2 push 13h lea eax, [esp+1D4h+var_19C] push 0Dh push eax call sub_4019C4 add esp, 34h mov ecx, eax mov byte ptr [esp+1A8h+var_4], 5 call sub_4017EE push eax call sub_401604 add esp, 4 lea ecx, [esp+1A8h+var_19C] mov byte ptr [esp+1A8h+var_4], bl call sub_401226 push 0 push 5 push 18h push 5 push 4Eh push 46h push 47h push 13h push 9 push 0Eh push 5 lea ecx, [esp+1D4h+var_19C] push 10h push ecx call sub_4019C4 add esp, 34h mov ecx, eax mov byte ptr [esp+1A8h+var_4], 6 call sub_4017EE push eax call sub_401604 add esp, 4 lea ecx, [esp+1A8h+var_19C] mov byte ptr [esp+1A8h+var_4], bl call sub_401226 push 0 push 5 push 18h push 5 push 4Eh push 8 push 3 push 14h push ebx push 10h push 13h lea edx, [esp+1D4h+var_19C] push 0Dh push edx call sub_4019C4 add esp, 34h mov ecx, eax mov byte ptr [esp+1A8h+var_4], 7 call sub_4017EE push eax call sub_401604 add esp, 4 lea ecx, [esp+1A8h+var_19C] mov byte ptr [esp+1A8h+var_4], bl call sub_401226 lea eax, [esp+1A8h+var_16C] push 0 push eax lea ecx, [esp+1B0h+var_184] call sub_401816 test eax, eax jnz loc_40DA80 push ebp mov ecx, esi call sub_4017EE push eax push 5Ch lea ecx, [esp+1B4h+var_16C] call sub_4017EE push eax lea ecx, [esp+1B8h+var_110] push offset dword_444B20 push ecx call near ptr word_5F67AE nop mov edi, dword_5118AC add esp, 14h call edi lea edx, [esp+1ACh+var_110] push 0 push edx lea ecx, [esp+1B4h+var_184] mov ebp, eax call sub_40168B mov esi, dword_511914 push eax call esi test eax, eax jnz short loc_40D9EF loc_40D9BF: ; CODE XREF: sub_40D660+38Dj call edi sub eax, ebp cmp eax, 61A8h jnb short loc_40D9EF push 7D0h nop call near ptr 2850000h lea eax, [esp+1ACh+var_110] push 0 push eax lea ecx, [esp+1B4h+var_184] call sub_40168B push eax call esi test eax, eax jz short loc_40D9BF loc_40D9EF: ; CODE XREF: sub_40D660+35Dj ; sub_40D660+368j mov al, byte_4497CB pop ebp test al, al jz short loc_40DA32 mov esi, dword_511AD8 push 104h lea ecx, [esp+1ACh+var_110] push offset dword_444B18 push ecx call esi add esp, 0Ch lea ecx, [esp+1A8h+var_184] push 104h call sub_4017EE lea edx, [esp+1ACh+var_110] push eax push edx call esi add esp, 0Ch loc_40DA32: ; CODE XREF: sub_40D660+397j mov ecx, 11h xor eax, eax lea edi, [esp+1A8h+var_154] lea edx, [esp+1A8h+var_110] rep stosd mov [esp+1A8h+var_124], ax lea eax, [esp+1A8h+var_19C] lea ecx, [esp+1A8h+var_154] push eax push ecx push 0 push 0 push 28h push ebx push 0 push 0 push edx push 0 mov dword ptr [esp+1D0h+var_154], 44h nop call near ptr 2810466h test eax, eax jz short loc_40DA80 push 0 nop call near ptr 77C39E7Eh loc_40DA80: ; CODE XREF: sub_40D660+304j ; sub_40D660+416j lea ecx, [esp+1A8h+var_184] mov byte ptr [esp+1A8h+var_4], 0 call sub_401226 lea ecx, [esp+1A8h+var_16C] mov [esp+1A8h+var_4], 0FFFFFFFFh call sub_401226 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_40D660 endp ; --------------------------------------------------------------------------- db 0Fh dup(90h) db 120h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_40DBF0 proc near ; CODE XREF: sub_401195j mov al, byte_449171 test al, al jz short loc_40DC04 push offset word_449172 nop call near ptr 2800D1Ah loc_40DC04: ; CODE XREF: sub_40DBF0+7j mov al, 1 retn sub_40DBF0 endp ; --------------------------------------------------------------------------- db 9 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_40DC20 proc near ; CODE XREF: sub_401E79j var_6D0 = dword ptr -6D0h var_6CC = dword ptr -6CCh var_6C8 = dword ptr -6C8h var_6C4 = dword ptr -6C4h var_6C0 = dword ptr -6C0h var_6BC = dword ptr -6BCh var_6B8 = dword ptr -6B8h var_6B4 = dword ptr -6B4h var_6B0 = byte ptr -6B0h var_6AC = byte ptr -6ACh var_694 = byte ptr -694h var_67C = byte ptr -67Ch var_664 = byte ptr -664h var_64C = byte ptr -64Ch var_634 = byte ptr -634h var_61C = byte ptr -61Ch var_604 = byte ptr -604h var_5EC = byte ptr -5ECh var_5D4 = byte ptr -5D4h var_5BC = byte ptr -5BCh var_5A4 = byte ptr -5A4h var_58C = byte ptr -58Ch var_574 = byte ptr -574h var_564 = dword ptr -564h var_534 = word ptr -534h var_520 = byte ptr -520h var_41C = byte ptr -41Ch var_318 = byte ptr -318h var_214 = byte ptr -214h var_110 = byte ptr -110h var_C = dword ptr -0Ch var_4 = dword ptr -4 push 0FFFFFFFFh push offset SEH_40DC20 mov eax, large fs:0 push eax mov large fs:0, esp sub esp, 6C4h push esi lea eax, [esp+6D4h+var_41C] push 104h push eax push 0 call near ptr 2891D04h nop push eax nop call near ptr 2891181h lea ecx, [esp+6D4h+var_318] push ecx push 104h nop call near ptr 27F0000h push 0 push 14h push 1 push 2 push 4Fh push 0Fh push 12h push 6 lea edx, [esp+6F4h+var_5EC] push 1 push edx call sub_4019C4 add esp, 28h mov ecx, eax mov [esp+6D4h+var_4], 0 call sub_4017EE push eax lea eax, [esp+6D8h+var_318] push eax lea ecx, [esp+6DCh+var_520] push offset dword_444684 push ecx nop call near ptr word_5F67AE add esp, 10h lea ecx, [esp+6D4h+var_5EC] mov [esp+6D4h+var_4], 0FFFFFFFFh call sub_401226 push 0 push 0 push 2 push 0 push 0 lea edx, [esp+6E8h+var_520] push 40000000h push edx nop call near ptr 2870000h mov esi, eax test esi, esi jbe loc_40E178 push ebx push ebp push edi lea ecx, [esp+6E0h+var_6AC] call sub_40142E push 0 push 14h push 1 push 2 lea eax, [esp+6F0h+var_604] push 4Fh push eax mov [esp+6F8h+var_4], 1 call sub_4019C4 mov edi, eax push 0 push 39h push 10h push 0Dh push 5 push 14h push 39h push 4Eh push 0Ch push 5 lea ecx, [esp+720h+var_634] push 4 push ecx mov byte ptr [esp+728h+var_4], 2 call sub_4019C4 add esp, 48h mov ebp, eax push 0 push 14h push 1 push 2 lea edx, [esp+6F0h+var_664] push 4Fh push edx mov byte ptr [esp+6F8h+var_4], 3 call sub_4019C4 mov ebx, eax push 0 push 39h push 10h push 0Dh push 5 push 14h push 39h push 4Eh push 20h push 52h push 4Eh push 0Ch push 5 lea eax, [esp+72Ch+var_67C] push 4 push eax mov byte ptr [esp+734h+var_4], 4 call sub_4019C4 add esp, 54h mov [esp+6E0h+var_6B4], eax push 0 push 5 push 0Eh push 0Fh push 4 lea ecx, [esp+6F4h+var_61C] push 53h push ecx mov byte ptr [esp+6FCh+var_4], 5 call sub_4019C4 mov [esp+6FCh+var_6C8], eax mov byte ptr [esp+6FCh+var_4], 6 push 0 push 14h push 12h push 1 push 14h push 13h push 4Eh push 0Fh push 14h push 0Fh lea edx, [esp+724h+var_5D4] push 7 push edx call sub_4019C4 add esp, 4Ch mov [esp+6E0h+var_6B8], eax push 0 push 54h push 54h push 45h push 39h push 54h push 54h push 4Eh push 0Ch push 5 lea eax, [esp+708h+var_5A4] push 4 push eax mov byte ptr [esp+710h+var_4], 7 call sub_4019C4 mov [esp+710h+var_6C0], eax push 0 push 54h push 54h push 45h push 39h push 54h push 54h push 4Eh push 20h push 52h push 4Eh push 0Ch push 5 lea ecx, [esp+744h+var_58C] push 4 push ecx mov byte ptr [esp+74Ch+var_4], 8 call sub_4019C4 add esp, 6Ch mov [esp+6E0h+var_6D0], eax push 0 push 5 push 0Eh push 0Fh push 4 push 4Eh push 0Fh push 14h push 0Fh push 7 push 4Eh push 54h push 54h push 45h push 39h push 54h push 54h push 4Eh push 14h push 13h push 9 push 18h push 5 push 4Eh push 14h mov byte ptr [esp+744h+var_4], 9 push 0Fh push 0Eh push 4Eh push 6 lea edx, [esp+754h+var_694] push 9 push edx call sub_4019C4 mov [esp+75Ch+var_6CC], eax push 0 push 14h push 12h push 1 push 14h push 13h lea eax, [esp+774h+var_5BC] push 53h push eax mov byte ptr [esp+77Ch+var_4], 0Ah call sub_4019C4 add esp, 9Ch mov [esp+6E0h+var_6C4], eax push 0 push 6 push 6 push 0Fh push 4Eh push 0Fh push 8 push 3 push 5 lea ecx, [esp+704h+var_64C] push 56h push ecx mov byte ptr [esp+70Ch+var_4], 0Bh call sub_4019C4 add esp, 2Ch mov [esp+6E0h+var_6BC], eax mov ecx, edi mov byte ptr [esp+6E0h+var_4], 0Ch call sub_4017EE push eax mov ecx, ebp call sub_4017EE push eax mov ecx, ebx call sub_4017EE mov ecx, [esp+6E8h+var_6B4] push eax call sub_4017EE mov ecx, [esp+6ECh+var_6C8] push eax call sub_4017EE mov ecx, [esp+6F0h+var_6B8] push eax call sub_4017EE mov ecx, [esp+6F4h+var_6C0] push eax call sub_4017EE mov ecx, [esp+6F8h+var_6D0] push eax call sub_4017EE mov ecx, [esp+6FCh+var_6CC] push eax call sub_4017EE mov ecx, [esp+700h+var_6C4] push eax call sub_4017EE mov ecx, [esp+704h+var_6BC] push eax call sub_4017EE push eax lea edx, [esp+70Ch+var_6AC] push offset dword_444BB4 push edx call sub_40102D add esp, 34h mov byte ptr [esp+6E0h+var_4], 0Bh lea ecx, [esp+6E0h+var_64C] call sub_401226 lea ecx, [esp+6E0h+var_5BC] mov byte ptr [esp+6E0h+var_4], 0Ah call sub_401226 lea ecx, [esp+6E0h+var_694] mov byte ptr [esp+6E0h+var_4], 9 call sub_401226 lea ecx, [esp+6E0h+var_58C] mov byte ptr [esp+6E0h+var_4], 8 call sub_401226 lea ecx, [esp+6E0h+var_5A4] mov byte ptr [esp+6E0h+var_4], 7 call sub_401226 lea ecx, [esp+6E0h+var_5D4] mov byte ptr [esp+6E0h+var_4], 6 call sub_401226 lea ecx, [esp+6E0h+var_61C] mov byte ptr [esp+6E0h+var_4], 5 call sub_401226 lea ecx, [esp+6E0h+var_67C] mov byte ptr [esp+6E0h+var_4], 4 call sub_401226 lea ecx, [esp+6E0h+var_664] mov byte ptr [esp+6E0h+var_4], 3 call sub_401226 lea ecx, [esp+6E0h+var_634] mov byte ptr [esp+6E0h+var_4], 2 call sub_401226 lea ecx, [esp+6E0h+var_604] mov byte ptr [esp+6E0h+var_4], 1 call sub_401226 lea eax, [esp+6E0h+var_6B0] push 0 push eax push 69h lea ecx, [esp+6ECh+var_6AC] call sub_4017EE push eax push esi call near ptr 2800000h nop push esi nop call near ptr 285085Eh mov ecx, 11h xor eax, eax lea edi, [esp+6E0h+var_564] push 104h rep stosd lea ecx, [esp+6E4h+var_41C] mov [esp+6E4h+var_564], 44h push ecx push eax mov [esp+6ECh+var_534], ax nop call near ptr 2891D04h push eax nop call near ptr 2891181h lea edx, [esp+6E0h+var_41C] lea eax, [esp+6E0h+var_520] push edx push eax lea ecx, [esp+6E8h+var_214] push offset dword_444B98 push ecx nop call near ptr word_5F67AE add esp, 10h lea edx, [esp+6E0h+var_110] lea eax, [esp+6E0h+var_214] push 104h push edx push eax call near ptr 2820000h nop lea ecx, [esp+6E0h+var_574] lea edx, [esp+6E0h+var_564] push ecx push edx push 0 push 0 push 28h push 1 push 0 push 0 lea eax, [esp+700h+var_110] push eax push 0 nop call near ptr 2810466h lea ecx, [esp+6E0h+var_6AC] mov [esp+6E0h+var_4], 0FFFFFFFFh call sub_401226 pop edi pop ebp pop ebx mov al, 1 pop esi mov ecx, [esp+6D0h+var_C] mov large fs:0, ecx add esp, 6D0h retn ; --------------------------------------------------------------------------- loc_40E178: ; CODE XREF: sub_40DC20+D6j mov ecx, [esp+6D4h+var_C] mov al, 1 pop esi mov large fs:0, ecx add esp, 6D0h retn sub_40DC20 endp ; --------------------------------------------------------------------------- db 160h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_40E2F0 proc near ; CODE XREF: sub_401730j var_70 = dword ptr -70h var_6C = byte ptr -6Ch var_54 = byte ptr -54h var_3C = byte ptr -3Ch var_24 = byte ptr -24h var_C = dword ptr -0Ch var_4 = dword ptr -4 arg_0 = dword ptr 4 arg_4 = dword ptr 8 push 0FFFFFFFFh push offset SEH_40E2F0 mov eax, large fs:0 push eax mov large fs:0, esp sub esp, 64h push ebx push ebp push esi push edi lea ecx, [esp+80h+var_54] call sub_40142E lea ecx, [esp+80h+var_6C] mov [esp+80h+var_4], 0 call sub_40142E lea ecx, [esp+80h+var_3C] mov byte ptr [esp+80h+var_4], 1 call sub_40142E push 0 push 5 push 3 push 0Eh push 29h push 0Eh push 15h push 2Ch push 50h push 0Eh push 0Fh push 9 push 13h push 12h push 5 push 30h push 14h push 0Eh push 5 push 12h push 12h push 15h push 1Dh push 50h push 13h push 17h push 0Fh push 4 push 0Eh push 9 push 31h push 50h push 14h push 6 push 0Fh push 13h push 0Fh push 12h push 3 push 9 push 27h push 50h push 5 push 12h push 1 push 17h push 14h push 6 push 0Fh lea eax, [esp+144h+var_24] mov bl, 2 push 2Dh push eax mov byte ptr [esp+14Ch+var_4], bl call sub_4019C4 add esp, 0CCh push eax lea ecx, [esp+84h+var_6C] mov byte ptr [esp+84h+var_4], 3 call sub_40202C lea ecx, [esp+80h+var_24] mov byte ptr [esp+80h+var_4], bl call sub_401226 push 0 push 13h push 5 push 3 push 9 push 16h push 12h push 5 push 2Dh push 0Eh push 15h push 2Ch push 50h push 0Eh push 0Fh push 9 push 13h push 12h push 5 push 30h push 14h push 0Eh push 5 push 12h push 12h push 15h push 1Dh push 50h push 13h push 17h push 0Fh push 4 push 0Eh push 9 push 31h push 50h push 14h push 6 push 0Fh push 13h push 0Fh push 12h push 3 push 9 push 27h push 50h push 5 push 12h push 1 push 17h push 14h push 6 push 0Fh lea ecx, [esp+154h+var_24] push 2Dh push ecx call sub_4019C4 add esp, 0DCh push eax lea ecx, [esp+84h+var_3C] mov byte ptr [esp+84h+var_4], 4 call sub_40202C lea ecx, [esp+80h+var_24] mov byte ptr [esp+80h+var_4], bl call sub_401226 push 0 push 0Eh push 15h push 2Ch push 50h push 0Eh push 0Fh push 9 push 13h push 12h push 5 push 30h push 14h push 0Eh push 5 push 12h push 12h push 15h push 1Dh push 50h push 13h push 17h push 0Fh push 4 push 0Eh push 9 push 31h push 50h push 14h push 6 push 0Fh push 13h push 0Fh push 12h push 3 push 9 push 27h push 50h push 5 push 12h push 1 push 17h push 14h push 6 push 0Fh lea edx, [esp+134h+var_24] push 2Dh push edx call sub_4019C4 add esp, 0BCh push eax lea ecx, [esp+84h+var_54] mov byte ptr [esp+84h+var_4], 5 call sub_40202C lea ecx, [esp+80h+var_24] mov byte ptr [esp+80h+var_4], bl call sub_401226 lea eax, [esp+80h+var_70] push 0 push eax push 0 push 0F003Fh push 0 push 0 push 0 lea ecx, [esp+9Ch+var_54] call sub_4017EE mov ebp, dword_51175C push eax push 80000002h call ebp mov esi, [esp+80h+arg_4] mov ecx, esi call sub_40168B mov edi, eax or ecx, 0FFFFFFFFh xor eax, eax repne scasb not ecx dec ecx push ecx mov ecx, esi call sub_40168B mov ebx, [esp+84h+arg_0] push eax push 1 push 0 mov ecx, ebx call sub_40168B mov ecx, [esp+90h+var_70] push eax push ecx nop call near ptr 2970000h mov edx, [esp+80h+var_70] push edx call near ptr 2920000h nop push 0 lea eax, [esp+84h+var_70] lea ecx, [esp+84h+var_6C] push eax push 0 push 0F003Fh push 0 push 0 push 0 call sub_4017EE push eax push 80000002h call ebp mov ecx, esi call sub_40168B mov edi, eax or ecx, 0FFFFFFFFh xor eax, eax repne scasb not ecx dec ecx push ecx mov ecx, esi call sub_40168B push eax push 1 push 0 mov ecx, ebx call sub_40168B mov ecx, [esp+90h+var_70] push eax push ecx nop call near ptr 2970000h mov edx, [esp+80h+var_70] push edx call near ptr 2920000h nop lea eax, [esp+80h+var_70] push 0 push eax push 0 push 0F003Fh push 0 push 0 push 0 lea ecx, [esp+9Ch+var_54] call sub_4017EE push eax push 80000001h call ebp mov ecx, esi call sub_40168B mov edi, eax or ecx, 0FFFFFFFFh xor eax, eax repne scasb not ecx dec ecx push ecx mov ecx, esi call sub_40168B push eax push 1 push 0 mov ecx, ebx call sub_40168B mov ecx, [esp+90h+var_70] push eax push ecx nop call near ptr 2970000h mov edx, [esp+80h+var_70] push edx nop call near ptr 2920000h lea eax, [esp+80h+var_70] push 0 push eax push 0 push 0F003Fh push 0 push 0 push 0 lea ecx, [esp+9Ch+var_6C] call sub_4017EE push eax push 80000001h call ebp mov ecx, esi call sub_40168B mov edi, eax or ecx, 0FFFFFFFFh xor eax, eax repne scasb not ecx dec ecx push ecx mov ecx, esi call sub_40168B push eax push 1 push 0 mov ecx, ebx call sub_40168B mov ecx, [esp+90h+var_70] push eax push ecx call near ptr 2970000h nop mov edx, [esp+80h+var_70] push edx nop call near ptr 2920000h lea eax, [esp+80h+var_70] push 0 push eax push 0 push 0F003Fh push 0 push 0 push 0 lea ecx, [esp+9Ch+var_3C] call sub_4017EE push eax push 80000002h call ebp mov ecx, esi call sub_40168B mov edi, eax or ecx, 0FFFFFFFFh xor eax, eax repne scasb not ecx dec ecx push ecx mov ecx, esi call sub_40168B push eax push 1 push 0 mov ecx, ebx call sub_40168B mov ecx, [esp+90h+var_70] push eax push ecx call near ptr 2970000h nop mov edx, [esp+80h+var_70] push edx nop call near ptr 2920000h lea ecx, [esp+80h+var_3C] mov byte ptr [esp+80h+var_4], 1 call sub_401226 lea ecx, [esp+80h+var_6C] mov byte ptr [esp+80h+var_4], 0 call sub_401226 lea ecx, [esp+80h+var_54] mov [esp+80h+var_4], 0FFFFFFFFh call sub_401226 mov ecx, [esp+80h+var_C] pop edi pop esi pop ebp mov al, 1 pop ebx mov large fs:0, ecx add esp, 70h retn 8 sub_40E2F0 endp ; --------------------------------------------------------------------------- db 0Ah dup(90h) db 120h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_40E870 proc near ; CODE XREF: sub_401451j var_70 = dword ptr -70h var_6C = byte ptr -6Ch var_54 = byte ptr -54h var_3C = byte ptr -3Ch var_24 = byte ptr -24h var_C = dword ptr -0Ch var_4 = dword ptr -4 arg_0 = dword ptr 4 push 0FFFFFFFFh push offset SEH_40E870 mov eax, large fs:0 push eax mov large fs:0, esp sub esp, 64h push ebx push ebp push esi push edi lea ecx, [esp+80h+var_6C] call sub_40142E lea ecx, [esp+80h+var_3C] mov [esp+80h+var_4], 0 call sub_40142E lea ecx, [esp+80h+var_54] mov byte ptr [esp+80h+var_4], 1 call sub_40142E push 0 push 5 push 3 push 0Eh push 29h push 0Eh push 15h push 2Ch push 50h push 0Eh push 0Fh push 9 push 13h push 12h push 5 push 30h push 14h push 0Eh push 5 push 12h push 12h push 15h push 1Dh push 50h push 13h push 17h push 0Fh push 4 push 0Eh push 9 push 31h push 50h push 14h push 6 push 0Fh push 13h push 0Fh push 12h push 3 push 9 push 27h push 50h push 5 push 12h push 1 push 17h push 14h push 6 push 0Fh lea eax, [esp+144h+var_24] mov bl, 2 push 2Dh push eax mov byte ptr [esp+14Ch+var_4], bl call sub_4019C4 add esp, 0CCh push eax lea ecx, [esp+84h+var_3C] mov byte ptr [esp+84h+var_4], 3 call sub_40202C lea ecx, [esp+80h+var_24] mov byte ptr [esp+80h+var_4], bl call sub_401226 push 0 push 13h push 5 push 3 push 9 push 16h push 12h push 5 push 2Dh push 0Eh push 15h push 2Ch push 50h push 0Eh push 0Fh push 9 push 13h push 12h push 5 push 30h push 14h push 0Eh push 5 push 12h push 12h push 15h push 1Dh push 50h push 13h push 17h push 0Fh push 4 push 0Eh push 9 push 31h push 50h push 14h push 6 push 0Fh push 13h push 0Fh push 12h push 3 push 9 push 27h push 50h push 5 push 12h push 1 push 17h push 14h push 6 push 0Fh lea ecx, [esp+154h+var_24] push 2Dh push ecx call sub_4019C4 add esp, 0DCh push eax lea ecx, [esp+84h+var_54] mov byte ptr [esp+84h+var_4], 4 call sub_40202C lea ecx, [esp+80h+var_24] mov byte ptr [esp+80h+var_4], bl call sub_401226 push 0 push 0Eh push 15h push 2Ch push 50h push 0Eh push 0Fh push 9 push 13h push 12h push 5 push 30h push 14h push 0Eh push 5 push 12h push 12h push 15h push 1Dh push 50h push 13h push 17h push 0Fh push 4 push 0Eh push 9 push 31h push 50h push 14h push 6 push 0Fh push 13h push 0Fh push 12h push 3 push 9 push 27h push 50h push 5 push 12h push 1 push 17h push 14h push 6 push 0Fh lea edx, [esp+134h+var_24] push 2Dh push edx call sub_4019C4 add esp, 0BCh push eax lea ecx, [esp+84h+var_6C] mov byte ptr [esp+84h+var_4], 5 call sub_40202C lea ecx, [esp+80h+var_24] mov byte ptr [esp+80h+var_4], bl call sub_401226 lea eax, [esp+80h+var_70] push 0 push eax push 0 push 0F003Fh push 0 push 0 push 0 lea ecx, [esp+9Ch+var_6C] call sub_4017EE mov esi, dword_51175C push eax push 80000002h call esi mov edi, [esp+80h+arg_0] mov ecx, edi call sub_40168B mov ecx, [esp+80h+var_70] mov ebp, dword_51176C push eax push ecx call ebp mov edx, [esp+80h+var_70] mov ebx, dword_511740 push edx call ebx lea eax, [esp+80h+var_70] push 0 push eax push 0 push 0F003Fh push 0 push 0 push 0 lea ecx, [esp+9Ch+var_54] call sub_4017EE push eax push 80000002h call esi mov ecx, edi call sub_40168B mov ecx, [esp+80h+var_70] push eax push ecx call ebp mov edx, [esp+80h+var_70] push edx call ebx lea eax, [esp+80h+var_70] push 0 push eax push 0 push 0F003Fh push 0 push 0 push 0 lea ecx, [esp+9Ch+var_6C] call sub_4017EE push eax push 80000002h call esi mov ecx, edi call sub_40168B mov ecx, [esp+80h+var_70] push eax push ecx call ebp mov edx, [esp+80h+var_70] push edx call ebx lea eax, [esp+80h+var_70] push 0 push eax push 0 push 0F003Fh push 0 push 0 push 0 lea ecx, [esp+9Ch+var_6C] call sub_4017EE push eax push 80000001h call esi mov ecx, edi call sub_40168B mov ecx, [esp+80h+var_70] push eax push ecx call ebp mov edx, [esp+80h+var_70] push edx call ebx lea eax, [esp+80h+var_70] push 0 push eax push 0 push 0F003Fh push 0 push 0 push 0 lea ecx, [esp+9Ch+var_3C] call sub_4017EE push eax push 80000001h call esi mov ecx, edi call sub_40168B mov ecx, [esp+80h+var_70] push eax push ecx call ebp mov edx, [esp+80h+var_70] push edx call ebx lea ecx, [esp+80h+var_54] mov byte ptr [esp+80h+var_4], 1 call sub_401226 lea ecx, [esp+80h+var_3C] mov byte ptr [esp+80h+var_4], 0 call sub_401226 mov [esp+80h+var_4], 0FFFFFFFFh lea ecx, [esp+80h+var_6C] call sub_401226 mov ecx, [esp+80h+var_C] pop edi pop esi pop ebp mov al, 1 pop ebx mov large fs:0, ecx add esp, 70h retn 4 sub_40E870 endp ; --------------------------------------------------------------------------- db 0Dh dup(90h) db 0F0h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_40ED00 proc near ; CODE XREF: sub_4014A1j var_54 = byte ptr -54h var_3C = byte ptr -3Ch var_24 = byte ptr -24h var_C = dword ptr -0Ch var_4 = dword ptr -4 arg_0 = dword ptr 4 arg_4 = dword ptr 8 push 0FFFFFFFFh push offset SEH_40ED00 mov eax, large fs:0 push eax mov large fs:0, esp sub esp, 48h push ebx push esi mov esi, ecx lea ecx, [esp+5Ch+var_24] call sub_40142E push 104h push 104h lea ecx, [esp+64h+var_24] mov [esp+64h+var_4], 0 call sub_401C71 push eax nop call near ptr 2810000h lea ecx, [esp+5Ch+var_3C] call sub_40142E mov ecx, [esp+5Ch+arg_4] mov byte ptr [esp+5Ch+var_4], 1 call sub_4017EE push eax lea ecx, [esp+60h+var_24] call sub_4017EE push eax lea eax, [esp+64h+var_3C] push offset dword_444684 push eax call sub_40102D add esp, 10h lea ecx, [esp+5Ch+var_54] call sub_40142E lea ecx, [esp+5Ch+var_54] push offset dword_4447D4 push ecx mov byte ptr [esp+64h+var_4], 2 call sub_40102D mov ecx, [esp+64h+arg_0] add esp, 8 lea edx, [esp+5Ch+var_54] lea eax, [esp+5Ch+var_3C] push edx push eax push ecx mov ecx, esi call sub_402171 lea ecx, [esp+5Ch+var_54] mov bl, al mov byte ptr [esp+5Ch+var_4], 1 call sub_401226 lea ecx, [esp+5Ch+var_3C] mov byte ptr [esp+5Ch+var_4], 0 call sub_401226 lea ecx, [esp+5Ch+var_24] mov [esp+5Ch+var_4], 0FFFFFFFFh call sub_401226 mov ecx, [esp+5Ch+var_C] mov al, bl pop esi pop ebx mov large fs:0, ecx add esp, 54h retn 8 sub_40ED00 endp ; --------------------------------------------------------------------------- db 0Bh dup(90h) db 40h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_40EE40 proc near ; CODE XREF: sub_402171j var_44 = dword ptr -44h var_40 = dword ptr -40h var_3C = dword ptr -3Ch var_38 = dword ptr -38h var_34 = dword ptr -34h var_30 = byte ptr -30h var_2C = dword ptr -2Ch var_28 = dword ptr -28h var_24 = byte ptr -24h var_C = dword ptr -0Ch var_4 = dword ptr -4 arg_0 = dword ptr 4 arg_4 = dword ptr 8 arg_8 = dword ptr 0Ch push 0FFFFFFFFh push offset SEH_40EE40 mov eax, large fs:0 push eax mov large fs:0, esp sub esp, 38h push ebx push ebp push esi push edi push 0F003Fh push offset dword_444BF0 mov [esp+5Ch+var_44], ecx push 0 call near ptr 2920948h nop mov edi, eax test edi, edi jnz short loc_40EE7F xor al, al jmp loc_40EFD0 ; --------------------------------------------------------------------------- loc_40EE7F: ; CODE XREF: sub_40EE40+36j lea ecx, [esp+54h+var_24] call sub_40142E mov ecx, [esp+54h+arg_8] mov [esp+54h+var_4], 0 call sub_4017EE mov ebx, [esp+54h+arg_4] push eax mov ecx, ebx call sub_4017EE push eax lea eax, [esp+5Ch+var_24] push offset dword_444BE4 push eax call sub_40102D add esp, 10h lea ecx, [esp+54h+var_24] push 0 push 0 push 0 push 0 push 0 call sub_4017EE push eax push 1 push 2 push 20h push 0F01FFh mov ecx, offset dword_449844 call sub_4017EE mov ebp, [esp+7Ch+arg_0] push eax mov ecx, ebp call sub_4017EE push eax push edi nop call near ptr 2920D7Ch mov esi, eax xor ecx, ecx cmp esi, ecx jnz short loc_40EF65 nop call near ptr 27E09B4h cmp eax, 431h jnz short loc_40EF49 mov ecx, [esp+54h+var_44] push ebp call sub_401951 mov esi, dword_511754 push 0 call esi push edi call esi mov ecx, [esp+54h+var_44] push ebx push ebp call sub_4014A1 lea ecx, [esp+54h+var_24] mov bl, al mov [esp+54h+var_4], 0FFFFFFFFh call sub_401226 mov al, bl jmp loc_40EFD0 ; --------------------------------------------------------------------------- loc_40EF49: ; CODE XREF: sub_40EE40+CBj push edi nop call near ptr 2930000h lea ecx, [esp+54h+var_24] mov [esp+54h+var_4], 0FFFFFFFFh call sub_401226 xor al, al jmp short loc_40EFD0 ; --------------------------------------------------------------------------- loc_40EF65: ; CODE XREF: sub_40EE40+BEj lea edx, [esp+54h+var_38] mov [esp+54h+var_34], ecx mov dword ptr [esp+54h+var_30], ecx push edx mov eax, 1 or ebx, 0FFFFFFFFh lea ecx, [esp+58h+var_40] push 2 push esi mov [esp+60h+var_3C], eax mov [esp+60h+var_40], eax mov [esp+60h+var_38], ebx mov [esp+60h+var_2C], eax mov [esp+60h+var_28], ecx nop call near ptr 2930258h test eax, eax push esi mov esi, dword_511754 jnz short loc_40EFBC call esi push edi call esi lea ecx, [esp+54h+var_24] mov [esp+54h+var_4], ebx call sub_401226 xor al, al jmp short loc_40EFD0 ; --------------------------------------------------------------------------- loc_40EFBC: ; CODE XREF: sub_40EE40+164j call esi push edi call esi lea ecx, [esp+54h+var_24] mov [esp+54h+var_4], ebx call sub_401226 mov al, 1 loc_40EFD0: ; CODE XREF: sub_40EE40+3Aj ; sub_40EE40+104j ... mov ecx, [esp+54h+var_C] pop edi pop esi pop ebp pop ebx mov large fs:0, ecx add esp, 44h retn 0Ch sub_40EE40 endp ; --------------------------------------------------------------------------- db 0Bh dup(90h) db 70h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_40F060 proc near ; CODE XREF: sub_401951j var_1C = byte ptr -1Ch arg_0 = dword ptr 4 sub esp, 1Ch push esi push edi push 0F003Fh push offset dword_444BF0 push 0 nop call near ptr 2920948h mov edi, eax test edi, edi jnz short loc_40F087 pop edi xor al, al pop esi add esp, 1Ch retn 4 ; --------------------------------------------------------------------------- loc_40F087: ; CODE XREF: sub_40F060+1Bj mov ecx, [esp+24h+arg_0] push 0F01FFh call sub_4017EE push eax push edi nop call near ptr 28C03E7h mov esi, eax test esi, esi jnz short loc_40F0B4 push edi call near ptr 2930000h nop pop edi xor al, al pop esi add esp, 1Ch retn 4 ; --------------------------------------------------------------------------- loc_40F0B4: ; CODE XREF: sub_40F060+41j lea eax, [esp+24h+var_1C] push eax push 1 push esi nop call near ptr 2920581h push esi call near ptr 29207E5h nop push esi mov esi, dword_511754 call esi push edi call esi pop edi mov al, 1 pop esi add esp, 1Ch retn 4 sub_40F060 endp ; --------------------------------------------------------------------------- db 90h db 20h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_40F100 proc near ; CODE XREF: sub_401FD2j arg_0 = dword ptr 4 push esi push 0F003Fh push offset dword_444BF0 push 0 nop call near ptr 2920948h mov esi, eax test esi, esi jnz short loc_40F11F xor al, al pop esi retn 4 ; --------------------------------------------------------------------------- loc_40F11F: ; CODE XREF: sub_40F100+17j mov ecx, [esp+4+arg_0] push 0F01FFh call sub_4017EE push eax push esi nop call near ptr 28C03E7h test eax, eax jnz short loc_40F146 push esi call near ptr 2930000h nop xor al, al pop esi retn 4 ; --------------------------------------------------------------------------- loc_40F146: ; CODE XREF: sub_40F100+37j push edi mov edi, dword_511754 push eax call edi push esi call edi pop edi mov al, 1 pop esi retn 4 sub_40F100 endp ; --------------------------------------------------------------------------- db 6 dup(90h) db 20h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_40F180 proc near ; CODE XREF: sub_401FFAj arg_0 = dword ptr 4 push esi push edi push 0F003Fh push offset dword_444BF0 push 0 nop call near ptr 2920948h mov edi, eax test edi, edi jnz short loc_40F1A1 pop edi xor al, al pop esi retn 4 ; --------------------------------------------------------------------------- loc_40F1A1: ; CODE XREF: sub_40F180+18j mov ecx, [esp+8+arg_0] push 0F01FFh call sub_4017EE push eax push edi call near ptr 28C03E7h nop mov esi, eax test esi, esi jnz short loc_40F1CB push edi call near ptr 2930000h nop pop edi xor al, al pop esi retn 4 ; --------------------------------------------------------------------------- loc_40F1CB: ; CODE XREF: sub_40F180+3Bj push 0 push 0 push esi call near ptr 2910BCFh nop push esi mov esi, dword_511754 call esi push edi call esi pop edi mov al, 1 pop esi retn 4 sub_40F180 endp ; --------------------------------------------------------------------------- db 7 dup(90h) db 20h dup(0CCh) ; --------------------------------------------------------------------------- loc_40F210: ; CODE XREF: ___:004014ABj mov eax, large fs:0 push 0FFFFFFFFh push offset dword_43A348 push eax mov large fs:0, esp sub esp, 60h push ebx push esi mov esi, [esp+78h] push edi mov edi, ecx lea ebx, [esi+7Eh] lea ecx, [edi+19h] call sub_4014DD push eax mov ecx, ebx call sub_4012EE test eax, eax jnz loc_40F30A push 1 push offset dword_444600 lea eax, [esp+2Ch] push 1 push eax mov ecx, esi call sub_4011EA push 1 push offset dword_444600 lea ecx, [esp+14h] push 2 xor ebx, ebx push ecx mov ecx, esi mov [esp+84h], ebx call sub_4011EA lea edx, [esp+0Ch] lea eax, [esp+24h] push edx push eax mov ecx, edi mov byte ptr [esp+7Ch], 1 call sub_401730 test al, al jz short loc_40F2D6 lea ecx, [esp+0Ch] call sub_4017EE push eax lea ecx, [esp+28h] call sub_4017EE push eax push offset dword_444C50 lea ecx, [esi+69h] call sub_4014DD mov cl, [esi+94h] mov dl, [esi+93h] push eax push ecx push edx push offset byte_4D8085 call sub_401857 add esp, 1Ch loc_40F2D6: ; CODE XREF: ___:0040F297j lea ecx, [esp+0Ch] mov [esp+74h], bl call sub_401226 lea ecx, [esp+24h] mov dword ptr [esp+74h], 0FFFFFFFFh call sub_401226 pop edi pop esi mov al, 1 pop ebx mov ecx, [esp+60h] mov large fs:0, ecx add esp, 6Ch retn 4 ; --------------------------------------------------------------------------- loc_40F30A: ; CODE XREF: ___:0040F246j lea ecx, [edi+47h] call sub_4014DD push eax mov ecx, ebx call sub_4012EE test eax, eax jnz loc_40F3A9 push 1 push offset dword_444600 lea eax, [esp+2Ch] push 1 push eax mov ecx, esi call sub_4011EA lea ecx, [esp+24h] mov dword ptr [esp+74h], 2 push ecx mov ecx, edi call sub_401451 test al, al jz short loc_40F382 lea ecx, [esp+24h] call sub_4017EE push eax push offset dword_444C3C lea ecx, [esi+69h] call sub_4014DD mov dl, [esi+94h] push eax mov al, [esi+93h] push edx push eax push offset byte_4D8085 call sub_401857 add esp, 18h loc_40F382: ; CODE XREF: ___:0040F34Dj lea ecx, [esp+24h] mov dword ptr [esp+74h], 0FFFFFFFFh call sub_401226 pop edi pop esi mov al, 1 pop ebx mov ecx, [esp+60h] mov large fs:0, ecx add esp, 6Ch retn 4 ; --------------------------------------------------------------------------- loc_40F3A9: ; CODE XREF: ___:0040F31Cj lea ecx, [edi+75h] call sub_4014DD push eax mov ecx, ebx call sub_4012EE test eax, eax jnz loc_40F4BF push 1 push offset dword_444600 lea ecx, [esp+44h] push 1 push ecx mov ecx, esi call sub_4011EA push 1 push offset dword_444600 lea edx, [esp+14h] push 2 push edx mov ecx, esi mov dword ptr [esp+84h], 3 call sub_4011EA push 1 push offset dword_444600 lea eax, [esp+2Ch] mov bl, 4 push 3 push eax mov ecx, esi mov [esp+84h], bl call sub_4011EA lea ecx, [esp+24h] lea edx, [esp+0Ch] push ecx lea eax, [esp+40h] push edx push eax mov ecx, edi mov byte ptr [esp+80h], 5 call sub_402171 test al, al jz short loc_40F47D lea ecx, [esp+24h] call sub_4017EE push eax lea ecx, [esp+10h] call sub_4017EE push eax lea ecx, [esp+44h] call sub_4017EE push eax push offset dword_444C18 lea ecx, [esi+69h] call sub_4014DD mov cl, [esi+94h] mov dl, [esi+93h] push eax push ecx push edx push offset byte_4D8085 call sub_401857 add esp, 20h loc_40F47D: ; CODE XREF: ___:0040F434j lea ecx, [esp+24h] mov [esp+74h], bl call sub_401226 lea ecx, [esp+0Ch] mov byte ptr [esp+74h], 3 call sub_401226 lea ecx, [esp+3Ch] mov dword ptr [esp+74h], 0FFFFFFFFh call sub_401226 pop edi pop esi mov al, 1 pop ebx mov ecx, [esp+60h] mov large fs:0, ecx add esp, 6Ch retn 4 ; --------------------------------------------------------------------------- loc_40F4BF: ; CODE XREF: ___:0040F3BBj lea ecx, [edi+0A3h] call sub_4014DD push eax mov ecx, ebx call sub_4012EE test eax, eax jnz loc_40F561 push 1 push offset dword_444600 lea eax, [esp+5Ch] push 1 push eax mov ecx, esi call sub_4011EA lea ecx, [esp+54h] mov dword ptr [esp+74h], 6 push ecx mov ecx, edi call sub_401951 test al, al jz short loc_40F53A lea ecx, [esp+54h] call sub_4017EE push eax push offset dword_444C04 lea ecx, [esi+69h] call sub_4014DD mov dl, [esi+94h] push eax mov al, [esi+93h] push edx push eax push offset byte_4D8085 call sub_401857 add esp, 18h loc_40F53A: ; CODE XREF: ___:0040F505j lea ecx, [esp+54h] mov dword ptr [esp+74h], 0FFFFFFFFh call sub_401226 pop edi pop esi mov al, 1 pop ebx mov ecx, [esp+60h] mov large fs:0, ecx add esp, 6Ch retn 4 ; --------------------------------------------------------------------------- loc_40F561: ; CODE XREF: ___:0040F4D4j mov ecx, [esp+6Ch] pop edi pop esi xor al, al pop ebx mov large fs:0, ecx add esp, 6Ch retn 4 ; --------------------------------------------------------------------------- db 9 dup(90h) db 0E0h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_40F660 proc near ; CODE XREF: sub_401D16j arg_0 = dword ptr 4 arg_4 = dword ptr 8 push esi mov esi, [esp+4+arg_4] push edi mov edi, esi or ecx, 0FFFFFFFFh xor eax, eax repne scasb not ecx push ecx call near ptr 77C2C407h nop mov edx, eax mov eax, [esp+0Ch+arg_0] mov edi, esi or ecx, 0FFFFFFFFh mov [eax], edx xor eax, eax add esp, 4 repne scasb not ecx sub edi, ecx mov eax, ecx mov esi, edi mov edi, edx shr ecx, 2 rep movsd mov ecx, eax and ecx, 3 rep movsb pop edi pop esi retn sub_40F660 endp ; --------------------------------------------------------------------------- db 0Bh dup(90h) db 20h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_40F6D0 proc near ; CODE XREF: sub_40169Fj var_29 = byte ptr -29h var_28 = dword ptr -28h var_24 = byte ptr -24h var_C = dword ptr -0Ch var_4 = dword ptr -4 push 0FFFFFFFFh push offset SEH_40F6D0 mov eax, large fs:0 push eax mov large fs:0, esp sub esp, 20h push ebx push ebp push esi mov esi, ecx push edi mov [esp+3Ch+var_28], esi call sub_401E88 lea edi, [esi+11h] mov [esp+3Ch+var_4], 0 mov ecx, edi call sub_4011B3 lea ebp, [esi+28h] mov ecx, ebp call sub_40142E lea ecx, [esi+3Dh] mov byte ptr [esp+3Ch+var_4], 1 call sub_40142E lea ecx, [esi+56h] mov byte ptr [esp+3Ch+var_4], 2 call sub_401753 lea ecx, [esi+84h] mov byte ptr [esp+3Ch+var_4], 3 call sub_401753 lea ecx, [esi+0B2h] mov byte ptr [esp+3Ch+var_4], 4 call sub_401753 lea ecx, [esi+0E0h] mov byte ptr [esp+3Ch+var_4], 5 call sub_401753 lea ecx, [esi+10Eh] mov byte ptr [esp+3Ch+var_4], 6 call sub_401753 lea ecx, [esi+13Ch] mov byte ptr [esp+3Ch+var_4], 7 call sub_401753 lea ecx, [esi+16Ah] mov byte ptr [esp+3Ch+var_4], 8 call sub_401753 lea ecx, [esi+198h] mov byte ptr [esp+3Ch+var_4], 9 call sub_401753 lea ecx, [esi+1C6h] mov byte ptr [esp+3Ch+var_4], 0Ah call sub_401753 lea ecx, [esi+1F4h] mov byte ptr [esp+3Ch+var_4], 0Bh call sub_401753 lea ecx, [esi+222h] mov byte ptr [esp+3Ch+var_4], 0Ch call sub_401753 lea ecx, [esi+250h] mov byte ptr [esp+3Ch+var_4], 0Dh call sub_401753 lea ecx, [esi+27Eh] mov byte ptr [esp+3Ch+var_4], 0Eh call sub_401753 lea ecx, [esi+2ACh] mov byte ptr [esp+3Ch+var_4], 0Fh call sub_401753 lea eax, [esp+3Ch+var_29] lea ecx, [esi+2DAh] push eax mov byte ptr [esp+40h+var_4], 10h call sub_40172B mov dword ptr [edi], offset dword_43F034 mov bl, 11h xor edi, edi push offset byte_448F40 mov ecx, ebp mov byte ptr [esp+40h+var_4], bl mov dword ptr [esi], offset dword_43F028 mov byte ptr [esi+17h], 1 mov byte ptr [esi+15h], 0 mov byte ptr [esi+16h], 0 mov dword ptr [esi+18h], 0FFFFFFFFh mov [esi+1Ch], edi mov [esi+20h], edi call sub_4015E1 nop call near ptr 2800CA0h push edi push 21h push 28h push 23h lea ecx, [esp+4Ch+var_24] push 2Ah push ecx mov [esi+24h], eax call sub_4019C4 add esp, 18h mov ecx, eax mov byte ptr [esp+3Ch+var_4], 12h call sub_4017EE push eax push offset dword_4490CC call sub_401D16 add esp, 8 lea ecx, [esp+3Ch+var_24] mov byte ptr [esp+3Ch+var_4], bl call sub_401226 push edi push 1Fh push 1Dh push 23h push 2Eh push 29h lea edx, [esp+54h+var_24] push 28h push edx call sub_4019C4 add esp, 20h mov ecx, eax mov byte ptr [esp+3Ch+var_4], 13h call sub_4017EE push eax push offset dword_4490D0 call sub_401D16 add esp, 8 lea ecx, [esp+3Ch+var_24] mov byte ptr [esp+3Ch+var_4], bl call sub_401226 push edi push 28h push 23h push 29h lea eax, [esp+4Ch+var_24] push 24h push eax call sub_4019C4 add esp, 18h mov ecx, eax mov byte ptr [esp+3Ch+var_4], 14h call sub_4017EE push eax push offset dword_4490D4 call sub_401D16 add esp, 8 lea ecx, [esp+3Ch+var_24] mov byte ptr [esp+3Ch+var_4], bl call sub_401226 push edi push 21h push 2Dh push 27h push 30h push 23h push 2Ch lea ecx, [esp+58h+var_24] push 2Ah push ecx call sub_4019C4 add esp, 24h mov ecx, eax mov byte ptr [esp+3Ch+var_4], 15h call sub_4017EE push eax push offset dword_4490D8 call sub_401D16 add esp, 8 lea ecx, [esp+3Ch+var_24] mov byte ptr [esp+3Ch+var_4], bl call sub_401226 push edi push 2Eh push 2Dh push 29h push 22h push 2Ch push 1Fh push 2Dh lea edx, [esp+5Ch+var_24] push 2Fh push edx call sub_4019C4 add esp, 28h mov ecx, eax mov byte ptr [esp+3Ch+var_4], 16h call sub_4017EE push eax push offset dword_4490DC call sub_401D16 add esp, 8 lea ecx, [esp+3Ch+var_24] mov byte ptr [esp+3Ch+var_4], bl call sub_401226 push edi push 46h push 47h lea eax, [esp+48h+var_24] push 47h push eax call sub_4019C4 add esp, 14h mov ecx, eax mov byte ptr [esp+3Ch+var_4], 17h call sub_4017EE push eax push offset dword_4490E0 call sub_401D16 add esp, 8 lea ecx, [esp+3Ch+var_24] mov byte ptr [esp+3Ch+var_4], bl call sub_401226 push edi push 46h push 44h lea ecx, [esp+48h+var_24] push 47h push ecx call sub_4019C4 add esp, 14h mov ecx, eax mov byte ptr [esp+3Ch+var_4], 18h call sub_4017EE push eax push offset dword_4490E4 call sub_401D16 add esp, 8 mov byte ptr [esp+3Ch+var_4], bl lea ecx, [esp+3Ch+var_24] call sub_401226 push edi push 21h push 28h push 29h lea edx, [esp+4Ch+var_24] push 2Ah push edx call sub_4019C4 add esp, 18h mov ecx, eax mov byte ptr [esp+3Ch+var_4], 19h call sub_4017EE push eax push offset dword_4490E8 call sub_401D16 add esp, 8 lea ecx, [esp+3Ch+var_24] mov byte ptr [esp+3Ch+var_4], bl call sub_401226 push edi push 2Dh push 2Dh push 1Bh lea eax, [esp+4Ch+var_24] push 2Ah push eax call sub_4019C4 add esp, 18h mov ecx, eax mov byte ptr [esp+3Ch+var_4], 1Ah call sub_4017EE push eax push offset dword_4490EC call sub_401D16 add esp, 8 lea ecx, [esp+3Ch+var_24] mov byte ptr [esp+3Ch+var_4], bl call sub_401226 push edi push 25h push 1Dh push 23h lea ecx, [esp+4Ch+var_24] push 28h push ecx call sub_4019C4 add esp, 18h mov ecx, eax mov byte ptr [esp+3Ch+var_4], 1Bh call sub_4017EE push eax push offset dword_4490F0 call sub_401D16 add esp, 8 lea ecx, [esp+3Ch+var_24] mov byte ptr [esp+3Ch+var_4], bl call sub_401226 push edi push 2Ch push 1Fh push 2Dh lea edx, [esp+4Ch+var_24] push 2Fh push edx call sub_4019C4 add esp, 18h mov ecx, eax mov byte ptr [esp+3Ch+var_4], 1Ch call sub_4017EE push eax push offset dword_4490F4 call sub_401D16 add esp, 8 mov byte ptr [esp+3Ch+var_4], bl lea ecx, [esp+3Ch+var_24] call sub_401226 push edi push 47h push 49h lea eax, [esp+48h+var_24] push 47h push eax call sub_4019C4 add esp, 14h mov ecx, eax mov byte ptr [esp+3Ch+var_4], 1Dh call sub_4017EE push eax push offset dword_4490F8 call sub_401D16 add esp, 8 lea ecx, [esp+3Ch+var_24] mov byte ptr [esp+3Ch+var_4], bl call sub_401226 push edi push 25h push 1Dh push 23h lea ecx, [esp+4Ch+var_24] push 25h push ecx call sub_4019C4 add esp, 18h mov ecx, eax mov byte ptr [esp+3Ch+var_4], 1Eh call sub_4017EE push eax push offset dword_4490FC call sub_401D16 add esp, 8 lea ecx, [esp+3Ch+var_24] mov byte ptr [esp+3Ch+var_4], bl call sub_401226 push edi push 2Eh push 2Ch push 1Bh lea edx, [esp+4Ch+var_24] push 2Ah push edx call sub_4019C4 add esp, 18h mov ecx, eax mov byte ptr [esp+3Ch+var_4], 1Fh call sub_4017EE push eax push offset dword_449100 call sub_401D16 add esp, 8 lea ecx, [esp+3Ch+var_24] mov byte ptr [esp+3Ch+var_4], bl call sub_401226 push edi push 1Fh push 1Eh push 29h lea eax, [esp+4Ch+var_24] push 27h push eax call sub_4019C4 add esp, 18h mov ecx, eax mov byte ptr [esp+3Ch+var_4], 20h call sub_4017EE push eax push offset dword_449104 call sub_401D16 add esp, 8 lea ecx, [esp+3Ch+var_24] mov byte ptr [esp+3Ch+var_4], bl call sub_401226 push edi push 45h push 44h lea ecx, [esp+48h+var_24] push 44h push ecx call sub_4019C4 add esp, 14h mov ecx, eax mov byte ptr [esp+3Ch+var_4], 21h call sub_4017EE push eax push offset dword_449108 call sub_401D16 add esp, 8 lea ecx, [esp+3Ch+var_24] mov byte ptr [esp+3Ch+var_4], bl call sub_401226 push edi push 49h push 44h lea edx, [esp+48h+var_24] push 44h push edx call sub_4019C4 add esp, 14h mov ecx, eax mov byte ptr [esp+3Ch+var_4], 22h call sub_4017EE push eax push offset dword_44910C call sub_401D16 add esp, 8 lea ecx, [esp+3Ch+var_24] mov byte ptr [esp+3Ch+var_4], bl call sub_401226 push edi push 2Eh push 23h push 2Fh lea eax, [esp+4Ch+var_24] push 2Bh push eax call sub_4019C4 add esp, 18h mov ecx, eax mov byte ptr [esp+3Ch+var_4], 23h call sub_4017EE push eax push offset dword_449110 call sub_401D16 add esp, 8 lea ecx, [esp+3Ch+var_24] mov byte ptr [esp+3Ch+var_4], bl call sub_401226 mov ecx, [esp+3Ch+var_C] mov eax, esi pop edi pop esi pop ebp pop ebx mov large fs:0, ecx add esp, 2Ch retn sub_40F6D0 endp ; --------------------------------------------------------------------------- db 5 dup(90h) db 180h dup(0CCh) ; --------------------------------------------------------------------------- loc_40FE40: ; CODE XREF: ___:004019D3j ; ___:00401A4Bj push esi mov esi, ecx call sub_4013C5 test byte ptr [esp+8], 1 jz short loc_40FE58 push esi call near ptr word_437AD2 add esp, 4 loc_40FE58: ; CODE XREF: ___:0040FE4Dj mov eax, esi pop esi retn 4 ; --------------------------------------------------------------------------- db 2 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_40FE70 proc near ; CODE XREF: sub_4013C5j var_10 = dword ptr -10h var_C = dword ptr -0Ch var_4 = dword ptr -4 push 0FFFFFFFFh push offset SEH_40FE70 mov eax, large fs:0 push eax mov large fs:0, esp push ecx push esi mov esi, ecx mov [esp+14h+var_10], esi mov dword ptr [esi], offset dword_43F028 mov dword ptr [esi+11h], offset dword_43F034 lea ecx, [esi+2DAh] mov [esp+14h+var_4], 10h call sub_401B68 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_401226 lea ecx, [esi+28h] mov byte ptr [esp+14h+var_4], 0 call sub_401226 mov ecx, esi mov [esp+14h+var_4], 0FFFFFFFFh call sub_40204F mov ecx, [esp+14h+var_C] pop esi mov large fs:0, ecx add esp, 10h retn sub_40FE70 endp ; --------------------------------------------------------------------------- db 0Dh dup(90h) db 60h dup(0CCh) ; --------------------------------------------------------------------------- loc_410030: ; CODE XREF: ___:00402149j push 0FFFFFFFFh mov eax, large fs:0 push offset byte_43A8D3 push eax mov eax, 2478h mov large fs:0, esp call near ptr dword_437B30 push ebx push ebp mov ebp, ecx push esi push edi lea ecx, [esp+18h] call sub_40142E mov al, [ebp+17h] xor ebx, ebx cmp al, bl mov [esp+2490h], ebx jz loc_411400 loc_410072: ; CODE XREF: ___:004113FAj mov al, byte_4E8E54 mov edi, dword_5118AC cmp al, bl jz loc_411400 mov eax, [ebp+20h] cmp eax, ebx jnz short loc_41009A cmp dword ptr [ebp+1Ch], 5 jg short loc_4100A4 cmp eax, ebx jz loc_4101DE loc_41009A: ; CODE XREF: ___:0041008Aj cmp dword ptr [ebp+1Ch], 2 jle loc_4101DE loc_4100A4: ; CODE XREF: ___:00410090j mov eax, [ebp+18h] mov [ebp+16h], bl cmp eax, 0FFFFFFFFh mov [ebp+15h], bl jz short loc_4100B9 push eax nop call near ptr 71AB9639h loc_4100B9: ; CODE XREF: ___:004100B0j mov ecx, offset word_44AC6E mov dword ptr [ebp+18h], 0FFFFFFFFh call sub_401541 mov esi, [ebp+20h] inc esi mov [ebp+20h], esi lea esi, [ebp+2DAh] mov ecx, esi call sub_401983 mov ecx, [ebp+20h] dec eax cmp ecx, eax jbe short loc_4100E9 mov [ebp+20h], ebx loc_4100E9: ; CODE XREF: ___:004100E4j mov eax, [ebp+20h] mov ecx, esi push eax mov [ebp+1Ch], ebx call sub_401474 mov ecx, [eax] add ecx, 16Dh push ecx push offset byte_4493FD mov ecx, offset word_44ACE6 call sub_401F50 mov edx, [ebp+20h] mov ecx, esi push edx call sub_401474 mov eax, [eax] mov ecx, offset word_44ACE6 add eax, 1B6h push eax push offset dword_4493B4 call sub_401F50 mov ecx, [ebp+20h] push ecx mov ecx, esi call sub_401474 mov edx, [eax] mov ecx, offset word_44ACE6 push edx push offset dword_449290 call sub_401F50 mov eax, [ebp+20h] mov ecx, esi push eax call sub_401474 mov ecx, [eax] add ecx, 124h push ecx push offset word_449322 mov ecx, offset word_44ACE6 call sub_401F50 mov edx, [ebp+20h] mov ecx, esi push edx call sub_401474 mov eax, [eax] mov ecx, offset word_44ACE6 add eax, 0DBh push eax push offset byte_4492D9 call sub_401F50 mov ecx, [ebp+20h] push ecx mov ecx, esi call sub_401474 mov edx, [eax] mov ecx, offset word_44ACE6 add edx, 92h push edx push offset byte_44936B call sub_401F50 mov eax, [ebp+20h] mov ecx, esi push eax call sub_401474 mov ecx, [eax] add ecx, 1FFh push ecx push offset byte_44948F mov ecx, offset word_44ACE6 call sub_401F50 call edi mov [ebp+24h], eax loc_4101DE: ; CODE XREF: ___:00410094j ; ___:0041009Ej mov edx, [ebp+18h] cmp edx, 0FFFFFFFFh jnz short loc_410208 push 6 push 1 push 2 call near ptr 71AB3B91h nop push 7D0h mov [ebp+18h], eax mov [ebp+15h], bl nop call near ptr 2850000h jmp loc_4113F7 ; --------------------------------------------------------------------------- loc_410208: ; CODE XREF: ___:004101E4j cmp [ebp+15h], bl jnz loc_410398 mov ax, word_44933C xor edx, edx mov [esp+44h], edx push eax mov [esp+4Ch], edx mov word ptr [esp+48h], 2 mov [esp+50h], edx mov [esp+54h], edx call near ptr 71AB2B66h nop mov ecx, offset byte_4492D9 mov [esp+46h], ax call sub_4017EE push eax call sub_40188E add esp, 4 mov [esp+48h], eax call edi mov edx, [ebp+18h] lea ecx, [esp+44h] push 10h push ecx push edx mov [ebp+24h], eax nop call near ptr 71AB406Ah cmp eax, 0FFFFFFFFh jnz short loc_410288 push 2710h nop call near ptr 2850000h mov eax, [ebp+1Ch] mov [ebp+15h], bl inc eax mov [ebp+1Ch], eax jmp loc_4113F7 ; --------------------------------------------------------------------------- loc_410288: ; CODE XREF: ___:0041026Cj mov byte ptr [ebp+15h], 1 mov [ebp+16h], bl call edi mov [ebp+24h], eax xor eax, eax mov [esp+34h], eax lea ecx, [esp+54h] mov [esp+38h], eax lea edx, [esp+34h] mov [esp+3Ch], eax push ecx mov [esp+44h], eax mov eax, [ebp+18h] push edx push eax mov dword ptr [esp+60h], 10h call near ptr 71AB951Eh nop mov ecx, [esp+3Bh] mov edx, [esp+3Ah] mov eax, [esp+39h] and ecx, 0FFh push ecx mov ecx, [esp+3Ch] and edx, 0FFh and eax, 0FFh push edx and ecx, 0FFh push eax push ecx lea edx, [esp+458h] push offset dword_444CB0 push edx nop call near ptr word_5F67AE add esp, 18h lea eax, [esp+448h] lea ecx, [ebp+3Dh] push eax call sub_4015E1 lea ecx, [esp+448h] push ecx nop call near ptr 71AB2BF4h push offset byte_448F40 mov ecx, offset byte_44936B mov [ebp+52h], eax call sub_4012EE test eax, eax jz short loc_410357 mov ecx, offset byte_44936B call sub_4017EE mov edx, dword_4490EC push eax push edx push offset dword_4445F4 push ebp call sub_401E24 add esp, 10h loc_410357: ; CODE XREF: ___:00410335j mov ecx, offset byte_4E8E55 call sub_4017EE push eax mov ecx, offset byte_4E8E55 call sub_4017EE push eax mov eax, dword_4490F4 push eax mov ecx, offset byte_4E8E55 call sub_4017EE mov ecx, dword_4490F0 push eax push ecx push offset dword_444C94 push ebp call sub_401E24 add esp, 1Ch jmp loc_4113F7 ; --------------------------------------------------------------------------- loc_410398: ; CODE XREF: ___:0041020Bj mov ecx, 800h xor eax, eax lea edi, [esp+488h] push ebx rep stosd lea eax, [esp+48Ch] push 2000h push eax push edx call sub_401280 add esp, 10h cmp al, bl jz loc_4113F0 nop call near ptr 2800CA0h lea ecx, [esp+18h] mov [ebp+24h], eax call sub_401CD0 lea ecx, [esp+488h] push ecx lea ecx, [esp+1Ch] call sub_401A9B push offset dword_444600 lea edx, [esp+38Ch] push 1 push edx lea ecx, [esp+24h] call sub_4016B8 mov ecx, dword_4490F8 mov byte ptr [esp+2490h], 1 push ecx mov ecx, eax call sub_4012EE test eax, eax jnz short loc_410470 push offset dword_444600 lea edx, [esp+41Ch] push 4 push edx lea ecx, [esp+24h] call sub_4016B8 push offset dword_4493B4 mov ecx, eax mov byte ptr [esp+2494h], 2 call sub_401B86 test eax, eax lea ecx, [esp+418h] mov byte ptr [esp+2490h], 1 setz byte ptr [esp+13h] call sub_401226 mov al, [esp+13h] mov byte ptr [esp+13h], 1 cmp al, bl jnz short loc_410474 loc_410470: ; CODE XREF: ___:0041041Aj mov [esp+13h], bl loc_410474: ; CODE XREF: ___:0041046Ej lea ecx, [esp+388h] mov [esp+2490h], bl call sub_401226 cmp [esp+13h], bl jz short loc_410496 mov byte ptr [ebp+16h], 1 jmp loc_4113F7 ; --------------------------------------------------------------------------- loc_410496: ; CODE XREF: ___:0041048Bj push offset dword_444600 lea eax, [esp+11Ch] push ebx push eax lea ecx, [esp+24h] call sub_4016B8 mov ecx, dword_4490CC mov byte ptr [esp+2490h], 3 push ecx mov ecx, eax call sub_4012EE test eax, eax lea ecx, [esp+118h] mov [esp+2490h], bl setz byte ptr [esp+13h] call sub_401226 mov al, [esp+13h] push offset dword_444600 cmp al, bl push 1 jz short loc_410534 lea edx, [esp+2D0h] lea ecx, [esp+20h] push edx call sub_4016B8 mov ecx, eax mov byte ptr [esp+2490h], 4 call sub_4017EE push eax mov eax, dword_4490E8 push eax push offset dword_4445F4 push ebp call sub_401E24 add esp, 10h mov [esp+2490h], bl lea ecx, [esp+2C8h] jmp loc_410662 ; --------------------------------------------------------------------------- loc_410534: ; CODE XREF: ___:004104EAj lea edx, [esp+150h] lea ecx, [esp+20h] push edx call sub_4016B8 mov ecx, dword_4490D0 mov byte ptr [esp+2490h], 5 push ecx mov ecx, eax call sub_4012EE test eax, eax lea ecx, [esp+148h] mov [esp+2490h], bl setz byte ptr [esp+13h] call sub_401226 mov al, [esp+13h] push offset dword_444600 cmp al, bl jz loc_4106A0 lea edx, [esp+434h] push 12h push edx lea ecx, [esp+24h] call sub_4016B8 push offset byte_448F40 mov ecx, eax mov byte ptr [esp+2494h], 6 call sub_4012EE lea ecx, [esp+430h] mov esi, eax mov [esp+2490h], bl call sub_401226 cmp esi, ebx jz loc_4113F7 push offset dword_444600 lea eax, [esp+17Ch] push 11h push eax lea ecx, [esp+24h] call sub_4016B8 mov ecx, dword_4490E8 mov byte ptr [esp+2490h], 7 push ecx mov ecx, eax call sub_4012EE test eax, eax lea ecx, [esp+178h] mov [esp+2490h], bl setz byte ptr [esp+13h] call sub_401226 cmp [esp+13h], bl jz short loc_410667 push offset dword_444600 lea edx, [esp+2FCh] push 12h push edx lea ecx, [esp+24h] call sub_4016B8 mov ecx, eax mov byte ptr [esp+2490h], 8 call sub_4017EE push eax mov eax, dword_4490E8 push eax push offset dword_4445F4 push ebp call sub_401E24 add esp, 10h mov [esp+2490h], bl lea ecx, [esp+2F8h] loc_410662: ; CODE XREF: ___:0041052Fj call sub_401226 loc_410667: ; CODE XREF: ___:00410616j cmp [ebp+16h], bl jnz loc_4113F7 mov ecx, offset byte_4493FD call sub_4017EE push eax mov ecx, offset dword_4493B4 call sub_4017EE mov ecx, dword_4490D4 push eax push ecx push offset dword_444C84 push ebp call sub_401E24 add esp, 14h jmp loc_4113F7 ; --------------------------------------------------------------------------- loc_4106A0: ; CODE XREF: ___:00410580j lea edx, [esp+3BCh] push 1 push edx lea ecx, [esp+24h] call sub_4016B8 mov ecx, dword_449108 mov byte ptr [esp+2490h], 9 push ecx mov ecx, eax call sub_4012EE test eax, eax jz short loc_410722 push offset dword_444600 lea edx, [esp+1ACh] push 1 push edx lea ecx, [esp+24h] call sub_4016B8 mov ecx, dword_44910C mov byte ptr [esp+2490h], 0Ah push ecx mov ecx, eax call sub_4012EE test eax, eax lea ecx, [esp+1A8h] mov byte ptr [esp+2490h], 9 setz byte ptr [esp+13h] call sub_401226 mov al, [esp+13h] mov [esp+13h], bl cmp al, bl jz short loc_410727 loc_410722: ; CODE XREF: ___:004106CBj mov byte ptr [esp+13h], 1 loc_410727: ; CODE XREF: ___:00410720j lea ecx, [esp+3B8h] mov [esp+2490h], bl call sub_401226 cmp [esp+13h], bl jz short loc_410794 cmp [ebp+16h], bl jnz short loc_410770 mov ecx, offset byte_4493FD call sub_4017EE push eax mov ecx, offset dword_4493B4 call sub_4017EE mov edx, dword_4490D4 push eax push edx push offset dword_444C84 push ebp call sub_401E24 add esp, 14h loc_410770: ; CODE XREF: ___:00410743j mov ecx, offset byte_4E8E55 call sub_4017EE push eax mov eax, dword_4490DC push eax push offset dword_4445F4 push ebp call sub_401E24 add esp, 10h jmp loc_4113F7 ; --------------------------------------------------------------------------- loc_410794: ; CODE XREF: ___:0041073Ej push offset dword_444600 lea ecx, [esp+1DCh] push 1 push ecx lea ecx, [esp+24h] call sub_4016B8 mov edx, dword_4490E4 mov ecx, eax push edx mov byte ptr [esp+2494h], 0Bh call sub_4012EE test eax, eax lea ecx, [esp+1D8h] mov [esp+2490h], bl setz byte ptr [esp+13h] call sub_401226 mov al, [esp+13h] push offset dword_444600 cmp al, bl jz short loc_410845 lea eax, [esp+0BCh] push 3 push eax lea ecx, [esp+24h] call sub_4016B8 push offset dword_444C80 lea ecx, [esp+0BCh] mov byte ptr [esp+2494h], 0Ch call sub_4014DD push eax nop call near ptr 77C47C60h add esp, 8 cmp eax, ebx jz short loc_41082D inc eax lea ecx, [ebp+28h] push eax call sub_4015E1 loc_41082D: ; CODE XREF: ___:00410821j lea ecx, [esp+0B8h] mov [esp+2490h], bl call sub_401226 jmp loc_4113F7 ; --------------------------------------------------------------------------- loc_410845: ; CODE XREF: ___:004107E7j lea ecx, [esp+32Ch] push 1 push ecx lea ecx, [esp+24h] call sub_4016B8 mov edx, dword_4490E0 mov ecx, eax push edx mov byte ptr [esp+2494h], 0Dh call sub_4012EE test eax, eax jnz short loc_410880 mov al, byte_449814 mov byte ptr [esp+13h], 1 cmp al, bl jnz short loc_410884 loc_410880: ; CODE XREF: ___:00410870j mov [esp+13h], bl loc_410884: ; CODE XREF: ___:0041087Ej lea ecx, [esp+328h] mov [esp+2490h], bl call sub_401226 cmp [esp+13h], bl jz loc_410B91 push offset dword_444C7C lea eax, [esp+74h] push 1 push eax lea ecx, [esp+24h] call sub_4016B8 push 96h mov byte ptr [esp+2494h], 0Eh call near ptr word_437AEA add esp, 4 mov [esp+14h], eax cmp eax, ebx mov byte ptr [esp+2490h], 0Fh jz short loc_4108E2 mov ecx, eax call sub_402072 loc_4108E2: ; CODE XREF: ___:004108D9j push 0ADh mov byte ptr [esp+2494h], 0Eh call near ptr word_437AEA add esp, 4 mov [esp+14h], eax cmp eax, ebx mov byte ptr [esp+2490h], 10h jz short loc_41090E mov ecx, eax call sub_4010BE loc_41090E: ; CODE XREF: ___:00410905j push offset dword_4445EC lea ecx, [esp+74h] mov byte ptr [esp+2494h], 0Eh call sub_401AAF push offset dword_4445EC lea ecx, [esp+0A4h] push ebx push ecx lea ecx, [esp+7Ch] xor edi, edi call sub_4016B8 push offset byte_448F40 mov ecx, eax mov byte ptr [esp+2494h], 11h call sub_4012EE lea ecx, [esp+0A0h] mov esi, eax mov byte ptr [esp+2490h], 0Eh call sub_401226 cmp esi, ebx jz loc_410B7C loc_41096F: ; CODE XREF: ___:00410B76j push 96h call near ptr word_437AEA add esp, 4 mov [esp+14h], eax cmp eax, ebx mov byte ptr [esp+2490h], 12h jz short loc_410997 mov ecx, eax call sub_402072 mov esi, eax jmp short loc_410999 ; --------------------------------------------------------------------------- loc_410997: ; CODE XREF: ___:0041098Aj xor esi, esi loc_410999: ; CODE XREF: ___:00410995j push 0ADh mov byte ptr [esp+2494h], 0Eh call near ptr word_437AEA add esp, 4 mov [esp+14h], eax cmp eax, ebx mov byte ptr [esp+2490h], 13h jz short loc_4109CB mov ecx, eax call sub_4010BE mov [esp+14h], eax jmp short loc_4109CF ; --------------------------------------------------------------------------- loc_4109CB: ; CODE XREF: ___:004109BCj mov [esp+14h], ebx loc_4109CF: ; CODE XREF: ___:004109C9j push offset dword_444C78 lea ecx, [esp+1Ch] mov byte ptr [esp+2494h], 0Eh call sub_4013ED test eax, eax jz short loc_4109F2 mov byte ptr [esi+93h], 1 jmp short loc_4109F8 ; --------------------------------------------------------------------------- loc_4109F2: ; CODE XREF: ___:004109E7j mov [esi+93h], bl loc_4109F8: ; CODE XREF: ___:004109F0j push offset dword_444C74 lea ecx, [esp+1Ch] call sub_4013ED test eax, eax jz short loc_410A13 mov byte ptr [esi+94h], 1 jmp short loc_410A19 ; --------------------------------------------------------------------------- loc_410A13: ; CODE XREF: ___:00410A08j mov [esi+94h], bl loc_410A19: ; CODE XREF: ___:00410A11j push offset dword_444604 lea ecx, [esp+1Ch] call sub_4013ED test eax, eax jz short loc_410A34 mov byte ptr [esi+95h], 1 jmp short loc_410A3A ; --------------------------------------------------------------------------- loc_410A34: ; CODE XREF: ___:00410A29j mov [esi+95h], bl loc_410A3A: ; CODE XREF: ___:00410A32j push offset dword_444600 lea edx, [esp+20Ch] push 3 push edx lea ecx, [esp+24h] call sub_4016B8 push eax lea ecx, [esi+15h] mov byte ptr [esp+2494h], 14h call sub_401FDC lea ecx, [esp+208h] mov byte ptr [esp+2490h], 0Eh call sub_401226 push offset byte_448F40 lea ecx, [esi+54h] call sub_4015E1 push offset byte_448F40 lea ecx, [esi+3Fh] call sub_4015E1 push offset dword_444600 lea eax, [esp+0D4h] push 3 push eax lea ecx, [esp+24h] call sub_4016B8 push eax lea ecx, [esi+2Ah] mov byte ptr [esp+2494h], 15h call sub_401FDC lea ecx, [esp+0D0h] mov byte ptr [esp+2490h], 0Eh call sub_401226 push offset dword_4445EC lea ecx, [esp+23Ch] push edi push ecx lea ecx, [esp+7Ch] call sub_4016B8 mov ecx, eax mov byte ptr [esp+2490h], 16h call sub_4017EE push eax mov ecx, esi call sub_4015E1 lea ecx, [esp+238h] mov byte ptr [esp+2490h], 0Eh call sub_401226 mov ecx, [esp+14h] push 1 push esi call sub_401DFC cmp esi, ebx jz short loc_410B29 push 1 mov ecx, esi call sub_4019E2 loc_410B29: ; CODE XREF: ___:00410B1Ej mov ecx, [esp+14h] call sub_4013DE inc edi push offset dword_4445EC lea edx, [esp+0A4h] push edi push edx lea ecx, [esp+7Ch] call sub_4016B8 push offset byte_448F40 mov ecx, eax mov byte ptr [esp+2494h], 11h call sub_4012EE lea ecx, [esp+0A0h] mov esi, eax mov byte ptr [esp+2490h], 0Eh call sub_401226 cmp esi, ebx jnz loc_41096F loc_410B7C: ; CODE XREF: ___:00410969j lea ecx, [esp+70h] mov [esp+2490h], bl call sub_401226 jmp loc_4113F7 ; --------------------------------------------------------------------------- loc_410B91: ; CODE XREF: ___:0041089Bj push offset dword_444600 lea eax, [esp+35Ch] push 1 push eax lea ecx, [esp+24h] call sub_4016B8 mov ecx, dword_4490D8 mov byte ptr [esp+2490h], 17h push ecx mov ecx, eax call sub_4012EE test eax, eax lea ecx, [esp+358h] mov [esp+2490h], bl setz byte ptr [esp+13h] call sub_401226 cmp [esp+13h], bl jz loc_410EAB push 96h call near ptr word_437AEA add esp, 4 mov [esp+14h], eax cmp eax, ebx mov byte ptr [esp+2490h], 18h jz short loc_410C0B mov ecx, eax call sub_402072 mov esi, eax jmp short loc_410C0D ; --------------------------------------------------------------------------- loc_410C0B: ; CODE XREF: ___:00410BFEj xor esi, esi loc_410C0D: ; CODE XREF: ___:00410C09j push 0ADh mov [esp+2494h], bl call near ptr word_437AEA add esp, 4 mov [esp+14h], eax cmp eax, ebx mov byte ptr [esp+2490h], 19h jz short loc_410C3C mov ecx, eax call sub_4010BE mov edi, eax jmp short loc_410C3E ; --------------------------------------------------------------------------- loc_410C3C: ; CODE XREF: ___:00410C2Fj xor edi, edi loc_410C3E: ; CODE XREF: ___:00410C3Aj push offset dword_444604 lea ecx, [esp+1Ch] mov [esp+2494h], bl call sub_4013ED test eax, eax jz short loc_410C60 mov byte ptr [esi+95h], 1 jmp short loc_410C66 ; --------------------------------------------------------------------------- loc_410C60: ; CODE XREF: ___:00410C55j mov [esi+95h], bl loc_410C66: ; CODE XREF: ___:00410C5Ej push offset dword_444C78 lea ecx, [esp+1Ch] call sub_4013ED test eax, eax jz short loc_410C81 mov byte ptr [esi+93h], 1 jmp short loc_410C87 ; --------------------------------------------------------------------------- loc_410C81: ; CODE XREF: ___:00410C76j mov [esi+93h], bl loc_410C87: ; CODE XREF: ___:00410C7Fj push offset dword_444C74 lea ecx, [esp+1Ch] call sub_4013ED test eax, eax jz short loc_410CA2 mov byte ptr [esi+94h], 1 jmp short loc_410CA8 ; --------------------------------------------------------------------------- loc_410CA2: ; CODE XREF: ___:00410C97j mov [esi+94h], bl loc_410CA8: ; CODE XREF: ___:00410CA0j push offset dword_444C7C lea edx, [esp+29Ch] push ebx push edx lea ecx, [esp+24h] call sub_4016B8 push offset dword_444600 lea ecx, [esp+3ECh] push ebx push ecx mov ecx, eax mov byte ptr [esp+249Ch], 1Ah call sub_4016B8 push offset dword_444C70 lea edx, [esp+26Ch] push ebx push edx mov ecx, eax mov byte ptr [esp+249Ch], 1Bh call sub_4016B8 push eax lea ecx, [esi+15h] mov byte ptr [esp+2494h], 1Ch call sub_401FDC lea ecx, [esp+268h] mov byte ptr [esp+2490h], 1Bh call sub_401226 lea ecx, [esp+3E8h] mov byte ptr [esp+2490h], 1Ah call sub_401226 lea ecx, [esp+298h] mov [esp+2490h], bl call sub_401226 push offset dword_444C70 lea eax, [esp+104h] push 1 push eax lea ecx, [esp+24h] call sub_4016B8 push offset dword_444C80 lea ecx, [esp+0ECh] push ebx push ecx mov ecx, eax mov byte ptr [esp+249Ch], 1Dh call sub_4016B8 push eax lea ecx, [esi+54h] mov byte ptr [esp+2494h], 1Eh call sub_401FDC lea ecx, [esp+0E8h] mov byte ptr [esp+2490h], 1Dh call sub_401226 lea ecx, [esp+100h] mov [esp+2490h], bl call sub_401226 push offset dword_444C80 lea edx, [esp+164h] push 1 push edx lea ecx, [esp+24h] call sub_4016B8 push offset dword_444600 lea ecx, [esp+134h] push ebx push ecx mov ecx, eax mov byte ptr [esp+249Ch], 1Fh call sub_4016B8 push eax lea ecx, [esi+3Fh] mov byte ptr [esp+2494h], 20h call sub_401FDC mov byte ptr [esp+2490h], 1Fh lea ecx, [esp+130h] call sub_401226 lea ecx, [esp+160h] mov [esp+2490h], bl call sub_401226 push offset dword_444600 lea edx, [esp+194h] push 2 push edx lea ecx, [esp+24h] call sub_4016B8 push eax lea ecx, [esi+2Ah] mov byte ptr [esp+2494h], 21h call sub_401FDC lea ecx, [esp+190h] mov [esp+2490h], bl call sub_401226 push offset dword_444C6C lea ecx, [esp+1Ch] call sub_4014DD push eax call near ptr 77C47C60h nop add esp, 8 cmp eax, ebx jz short loc_410E7D add eax, 2 push eax jmp short loc_410E82 ; --------------------------------------------------------------------------- loc_410E7D: ; CODE XREF: ___:00410E75j push offset byte_448F40 loc_410E82: ; CODE XREF: ___:00410E7Bj mov ecx, esi call sub_4015E1 push ebx push esi mov ecx, edi call sub_401DFC cmp esi, ebx jz short loc_410E9F push 1 mov ecx, esi call sub_4019E2 loc_410E9F: ; CODE XREF: ___:00410E94j mov ecx, edi call sub_4013DE jmp loc_4113F7 ; --------------------------------------------------------------------------- loc_410EAB: ; CODE XREF: ___:00410BDDj push offset dword_444600 lea eax, [esp+1C4h] push 1 push eax lea ecx, [esp+24h] call sub_4016B8 mov ecx, dword_4490FC mov byte ptr [esp+2490h], 22h push ecx mov ecx, eax call sub_4012EE test eax, eax lea ecx, [esp+1C0h] mov [esp+2490h], bl setz byte ptr [esp+13h] call sub_401226 cmp [esp+13h], bl jz loc_411080 sub esp, 18h lea ecx, [esp+30h] mov edx, esp mov [esp+2Ch], esp push offset dword_444600 push 3 push edx call sub_4016B8 mov ecx, offset word_44AC6E call sub_401CE4 cmp eax, ebx jz short loc_410F72 sub esp, 18h lea ecx, [esp+30h] mov eax, esp mov [esp+2Ch], esp push offset dword_444600 push 3 push eax call sub_4016B8 sub esp, 18h mov byte ptr [esp+24C0h], 23h mov ecx, esp mov [esp+60h], esp push offset dword_444600 push 3 push ecx lea ecx, [esp+54h] call sub_4016B8 mov ecx, offset word_44AC6E mov [esp+24C0h], bl call sub_40212B loc_410F72: ; CODE XREF: ___:00410F23j push offset dword_444600 lea edx, [esp+1F4h] push 3 push edx lea ecx, [esp+24h] call sub_4016B8 push offset byte_4E8E55 mov ecx, eax mov byte ptr [esp+2494h], 24h call sub_401B86 test eax, eax lea ecx, [esp+1F0h] mov [esp+2490h], bl setz byte ptr [esp+13h] call sub_401226 cmp [esp+13h], bl jz loc_4113F7 push offset dword_444C7C lea eax, [esp+254h] push ebx push eax lea ecx, [esp+24h] call sub_4016B8 push offset dword_444C70 lea ecx, [esp+224h] push ebx push ecx mov ecx, eax mov byte ptr [esp+249Ch], 25h call sub_4016B8 mov ecx, eax mov byte ptr [esp+2490h], 26h call sub_4017EE push eax lea ecx, [esp+284h] call sub_401870 lea ecx, [esp+220h] mov byte ptr [esp+2490h], 29h call sub_401226 lea ecx, [esp+250h] mov byte ptr [esp+2490h], 28h call sub_401226 mov ecx, offset byte_4493FD mov [ebp+16h], bl call sub_4017EE push eax mov ecx, offset dword_4493B4 call sub_4017EE mov edx, dword_4490D4 push eax push edx push offset dword_444C84 push ebp call sub_401E24 add esp, 14h lea ecx, [esp+280h] mov [esp+2490h], bl call sub_401226 jmp loc_4113F7 ; --------------------------------------------------------------------------- loc_411080: ; CODE XREF: ___:00410EF7j push offset dword_444600 lea eax, [esp+2B4h] push 1 push eax lea ecx, [esp+24h] call sub_4016B8 mov ecx, dword_4490F0 mov byte ptr [esp+2490h], 2Ah push ecx mov ecx, eax call sub_4012EE test eax, eax lea ecx, [esp+2B0h] mov [esp+2490h], bl setz byte ptr [esp+13h] call sub_401226 cmp [esp+13h], bl jz loc_411238 push offset dword_444C7C lea edx, [esp+314h] push 1 push edx lea ecx, [esp+24h] call sub_4016B8 push offset dword_444C70 lea ecx, [esp+2E4h] push ebx push ecx mov ecx, eax mov byte ptr [esp+249Ch], 2Bh call sub_4016B8 mov ecx, eax mov byte ptr [esp+2490h], 2Ch call sub_4017EE push eax lea ecx, [esp+5Ch] call sub_401870 lea ecx, [esp+2E0h] mov byte ptr [esp+2490h], 2Fh call sub_401226 lea ecx, [esp+310h] mov byte ptr [esp+2490h], 2Eh call sub_401226 push offset dword_444C6C lea ecx, [esp+1Ch] call sub_4014DD mov esi, dword_511B04 push eax call esi add esp, 8 test eax, eax jz loc_411223 push offset dword_444C6C lea ecx, [esp+1Ch] call sub_4014DD push eax call esi add esp, 8 lea ecx, [esp+88h] push eax call sub_401870 push offset byte_448F40 lea ecx, [esp+5Ch] mov byte ptr [esp+2494h], 30h call sub_4012EE test eax, eax jz short loc_41120F push offset byte_448F40 lea ecx, [esp+8Ch] call sub_4012EE test eax, eax jz short loc_41120F sub esp, 18h lea edx, [esp+70h] mov ecx, esp mov [esp+48h], esp push edx call sub_4014D3 mov ecx, offset word_44AC6E call sub_401CE4 cmp eax, ebx jz short loc_4111EB lea ecx, [esp+88h] push ecx lea ecx, [eax+19h] call sub_401FDC loc_4111EB: ; CODE XREF: ___:004111D9j push offset byte_4E8E55 lea ecx, [esp+5Ch] call sub_401B86 test eax, eax jnz short loc_41120F lea edx, [esp+88h] mov ecx, offset byte_4E8E55 push edx call sub_401FDC loc_41120F: ; CODE XREF: ___:004111A3j ; ___:004111B8j ... lea ecx, [esp+88h] mov byte ptr [esp+2490h], 2Eh call sub_401226 loc_411223: ; CODE XREF: ___:00411164j lea ecx, [esp+58h] mov [esp+2490h], bl call sub_401226 jmp loc_4113F7 ; --------------------------------------------------------------------------- loc_411238: ; CODE XREF: ___:004110CCj push offset dword_444600 lea eax, [esp+374h] push 1 push eax lea ecx, [esp+24h] call sub_4016B8 mov ecx, dword_449100 mov byte ptr [esp+2490h], 31h push ecx mov ecx, eax call sub_4012EE test eax, eax jz short loc_4112BF push offset dword_444600 lea edx, [esp+344h] push 1 push edx lea ecx, [esp+24h] call sub_4016B8 mov ecx, dword_449110 mov byte ptr [esp+2490h], 32h push ecx mov ecx, eax call sub_4012EE test eax, eax lea ecx, [esp+340h] mov byte ptr [esp+2490h], 31h setz byte ptr [esp+13h] call sub_401226 mov al, [esp+13h] mov [esp+13h], bl cmp al, bl jz short loc_4112C4 loc_4112BF: ; CODE XREF: ___:00411268j mov byte ptr [esp+13h], 1 loc_4112C4: ; CODE XREF: ___:004112BDj lea ecx, [esp+370h] mov [esp+2490h], bl call sub_401226 cmp [esp+13h], bl jz loc_4113F7 push offset dword_444C7C lea edx, [esp+3A4h] push 1 push edx lea ecx, [esp+24h] call sub_4016B8 sub esp, 18h mov byte ptr [esp+24A8h], 33h mov ecx, esp mov [esp+48h], esp push offset dword_444C70 push ebx push ecx mov ecx, eax call sub_4016B8 mov ecx, offset word_44AC6E call sub_401CE4 lea ecx, [esp+3A0h] mov esi, eax mov [esp+2490h], bl call sub_401226 cmp esi, ebx jz loc_4113F7 push offset dword_444C7C lea edx, [esp+404h] push 1 push edx lea ecx, [esp+24h] call sub_4016B8 sub esp, 18h mov byte ptr [esp+24A8h], 34h mov ecx, esp mov [esp+48h], esp push offset dword_444C70 push ebx push ecx mov ecx, eax call sub_4016B8 push offset dword_444C7C lea edx, [esp+3ECh] push 1 push edx lea ecx, [esp+3Ch] mov byte ptr [esp+24B4h], 35h call sub_4016B8 sub esp, 18h mov byte ptr [esp+24C0h], 36h mov ecx, esp mov [esp+44h], esp push offset dword_444C70 push ebx push ecx mov ecx, eax call sub_4016B8 mov ecx, offset word_44AC6E mov byte ptr [esp+24C0h], 37h call sub_40212B lea ecx, [esp+3D0h] mov byte ptr [esp+2490h], 34h call sub_401226 lea ecx, [esp+400h] mov [esp+2490h], bl call sub_401226 jmp short loc_4113F7 ; --------------------------------------------------------------------------- loc_4113F0: ; CODE XREF: ___:004103C1j mov ecx, ebp call sub_401D20 loc_4113F7: ; CODE XREF: ___:00410203j ; ___:00410283j ... cmp [ebp+17h], bl jnz loc_410072 loc_411400: ; CODE XREF: ___:0041006Cj ; ___:0041007Fj lea ecx, [esp+18h] mov dword ptr [esp+2490h], 0FFFFFFFFh call sub_401226 mov ecx, [esp+2488h] pop edi pop esi pop ebp xor eax, eax mov large fs:0, ecx pop ebx add esp, 2484h retn ; --------------------------------------------------------------------------- db 90h db 500h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_411930 proc near ; CODE XREF: sub_4010BEj var_10 = dword ptr -10h var_C = dword ptr -0Ch var_4 = dword ptr -4 push 0FFFFFFFFh push offset SEH_411930 mov eax, large fs:0 push eax mov large fs:0, esp push ecx push esi mov esi, ecx mov [esp+14h+var_10], esi call sub_401E88 lea ecx, [esi+15h] mov [esp+14h+var_4], 0 call sub_402072 mov ecx, [esp+14h+var_C] mov dword ptr [esi], offset dword_43F038 mov dword ptr [esi+11h], 0 mov byte ptr [esi+0ABh], 0 mov eax, esi pop esi mov large fs:0, ecx add esp, 10h retn sub_411930 endp ; --------------------------------------------------------------------------- db 8 dup(90h) db 20h dup(0CCh) ; --------------------------------------------------------------------------- loc_4119B0: ; CODE XREF: ___:0040115Ej ; ___:004016F4j push esi mov esi, ecx call sub_40101E test byte ptr [esp+8], 1 jz short loc_4119C8 push esi call near ptr word_437AD2 add esp, 4 loc_4119C8: ; CODE XREF: ___:004119BDj mov eax, esi pop esi retn 4 ; --------------------------------------------------------------------------- db 2 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_4119E0 proc near ; CODE XREF: sub_40101Ej var_10 = dword ptr -10h var_C = dword ptr -0Ch var_4 = dword ptr -4 push 0FFFFFFFFh push offset SEH_4119E0 mov eax, large fs:0 push eax mov large fs:0, esp push ecx push esi mov esi, ecx mov [esp+14h+var_10], esi mov dword ptr [esi], offset dword_43F038 lea ecx, [esi+15h] mov [esp+14h+var_4], 0 call sub_401979 mov ecx, esi mov [esp+14h+var_4], 0FFFFFFFFh call sub_40204F mov ecx, [esp+14h+var_C] pop esi mov large fs:0, ecx add esp, 10h retn sub_4119E0 endp ; --------------------------------------------------------------------------- db 0Eh dup(90h) db 20h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_411A60 proc near ; CODE XREF: sub_402072j var_10 = dword ptr -10h var_C = dword ptr -0Ch var_4 = dword ptr -4 push 0FFFFFFFFh push offset SEH_411A60 mov eax, large fs:0 push eax mov large fs:0, esp push ecx push esi mov esi, ecx mov [esp+14h+var_10], esi call sub_40142E lea ecx, [esi+15h] mov [esp+14h+var_4], 0 call sub_40142E lea ecx, [esi+2Ah] mov byte ptr [esp+14h+var_4], 1 call sub_40142E lea ecx, [esi+3Fh] mov byte ptr [esp+14h+var_4], 2 call sub_40142E lea ecx, [esi+54h] mov byte ptr [esp+14h+var_4], 3 call sub_40142E lea ecx, [esi+69h] mov byte ptr [esp+14h+var_4], 4 call sub_40142E lea ecx, [esi+7Eh] mov byte ptr [esp+14h+var_4], 5 call sub_40142E mov ecx, [esp+14h+var_C] mov eax, esi pop esi mov large fs:0, ecx add esp, 10h retn sub_411A60 endp ; --------------------------------------------------------------------------- db 0Bh dup(90h) db 30h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_411B20 proc near ; CODE XREF: sub_401979j var_10 = dword ptr -10h var_C = dword ptr -0Ch var_4 = dword ptr -4 push 0FFFFFFFFh push offset SEH_411B20 mov eax, large fs:0 push eax mov large fs:0, esp push ecx push esi mov esi, ecx mov [esp+14h+var_10], esi lea ecx, [esi+7Eh] mov [esp+14h+var_4], 5 call sub_401226 lea ecx, [esi+69h] mov byte ptr [esp+14h+var_4], 4 call sub_401226 lea ecx, [esi+54h] mov byte ptr [esp+14h+var_4], 3 call sub_401226 lea ecx, [esi+3Fh] mov byte ptr [esp+14h+var_4], 2 call sub_401226 lea ecx, [esi+2Ah] mov byte ptr [esp+14h+var_4], 1 call sub_401226 lea ecx, [esi+15h] mov byte ptr [esp+14h+var_4], 0 call sub_401226 mov ecx, esi mov [esp+14h+var_4], 0FFFFFFFFh call sub_401226 mov ecx, [esp+14h+var_C] pop esi mov large fs:0, ecx add esp, 10h retn sub_411B20 endp ; --------------------------------------------------------------------------- db 3 dup(90h) db 30h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_411BE0 proc near ; CODE XREF: sub_4019E2j arg_0 = byte ptr 4 push esi mov esi, ecx call sub_401979 test [esp+4+arg_0], 1 jz short loc_411BF8 push esi call near ptr word_437AD2 add esp, 4 loc_411BF8: ; CODE XREF: sub_411BE0+Dj mov eax, esi pop esi retn 4 sub_411BE0 endp ; --------------------------------------------------------------------------- db 2 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_411C10 proc near ; CODE XREF: sub_401A19j 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 offset SEH_411C10 push eax mov large fs:0, esp sub esp, 30h push ebx push esi mov esi, ecx push edi test esi, esi jz short loc_411C36 lea edi, [esi+11h] jmp short loc_411C38 ; --------------------------------------------------------------------------- loc_411C36: ; CODE XREF: sub_411C10+1Fj xor edi, edi loc_411C38: ; CODE XREF: sub_411C10+24j push 0 push 17h push 1 push 12h push 4Fh lea eax, [esp+5Ch+var_3C] push 9 push eax call sub_4019C4 add esp, 1Ch push edi mov ecx, eax mov [esp+4Ch+var_4], 0 call sub_4017EE lea ecx, [esi+250h] push eax push ecx mov ecx, offset dword_449128 call sub_40159B or edi, 0FFFFFFFFh lea ecx, [esp+48h+var_3C] mov [esp+48h+var_4], edi call sub_401226 test esi, esi jz short loc_411C8C lea ebx, [esi+11h] jmp short loc_411C8E ; --------------------------------------------------------------------------- loc_411C8C: ; CODE XREF: sub_411C10+75j xor ebx, ebx loc_411C8E: ; CODE XREF: sub_411C10+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_4019C4 add esp, 34h push ebx mov ecx, eax mov [esp+4Ch+var_4], 1 call sub_4017EE push eax lea eax, [esi+27Eh] push eax mov ecx, offset dword_449128 call sub_40159B lea ecx, [esp+48h+var_3C] mov [esp+48h+var_4], edi call sub_401226 test esi, esi jz short loc_411CEB lea ebx, [esi+11h] jmp short loc_411CED ; --------------------------------------------------------------------------- loc_411CEB: ; CODE XREF: sub_411C10+D4j xor ebx, ebx loc_411CED: ; CODE XREF: sub_411C10+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_4019C4 add esp, 20h push ebx mov ecx, eax mov [esp+4Ch+var_4], 2 call sub_4017EE lea edx, [esi+1C6h] push eax push edx mov ecx, offset dword_449128 call sub_40159B lea ecx, [esp+48h+var_3C] mov [esp+48h+var_4], edi call sub_401226 test esi, esi jz short loc_411D40 lea ebx, [esi+11h] jmp short loc_411D42 ; --------------------------------------------------------------------------- loc_411D40: ; CODE XREF: sub_411C10+129j xor ebx, ebx loc_411D42: ; CODE XREF: sub_411C10+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_4019C4 add esp, 20h push ebx mov ecx, eax mov [esp+4Ch+var_4], 3 call sub_4017EE lea ecx, [esi+16Ah] push eax push ecx mov ecx, offset dword_449128 call sub_40159B lea ecx, [esp+48h+var_3C] mov [esp+48h+var_4], edi call sub_401226 test esi, esi jz short loc_411D95 lea ebx, [esi+11h] jmp short loc_411D97 ; --------------------------------------------------------------------------- loc_411D95: ; CODE XREF: sub_411C10+17Ej xor ebx, ebx loc_411D97: ; CODE XREF: sub_411C10+183j push 0 push 7 push 13h push 0Dh push 4Fh lea edx, [esp+5Ch+var_3C] push 9 push edx call sub_4019C4 add esp, 1Ch push ebx mov ecx, eax mov [esp+4Ch+var_4], 4 call sub_4017EE push eax lea eax, [esi+1F4h] push eax mov ecx, offset dword_449128 call sub_40159B lea ecx, [esp+48h+var_3C] mov [esp+48h+var_4], edi call sub_401226 test esi, esi jz short loc_411DE8 lea ebx, [esi+11h] jmp short loc_411DEA ; --------------------------------------------------------------------------- loc_411DE8: ; CODE XREF: sub_411C10+1D1j xor ebx, ebx loc_411DEA: ; CODE XREF: sub_411C10+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_4019C4 add esp, 28h push ebx mov ecx, eax mov [esp+4Ch+var_4], 5 call sub_4017EE lea edx, [esi+0B2h] push eax push edx mov ecx, offset dword_449128 call sub_40159B lea ecx, [esp+48h+var_3C] mov [esp+48h+var_4], edi call sub_401226 test esi, esi jz short loc_411E41 lea ebx, [esi+11h] jmp short loc_411E43 ; --------------------------------------------------------------------------- loc_411E41: ; CODE XREF: sub_411C10+22Aj xor ebx, ebx loc_411E43: ; CODE XREF: sub_411C10+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_4019C4 add esp, 38h push ebx mov ecx, eax mov [esp+4Ch+var_4], 6 call sub_4017EE lea ecx, [esi+56h] push eax push ecx mov ecx, offset dword_449128 call sub_40159B lea ecx, [esp+48h+var_3C] mov [esp+48h+var_4], edi call sub_401226 test esi, esi jz short loc_411E9F lea ebx, [esi+11h] jmp short loc_411EA1 ; --------------------------------------------------------------------------- loc_411E9F: ; CODE XREF: sub_411C10+288j xor ebx, ebx loc_411EA1: ; CODE XREF: sub_411C10+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_4019C4 add esp, 2Ch push ebx mov ecx, eax mov [esp+4Ch+var_4], 7 call sub_4017EE push eax lea eax, [esi+10Eh] push eax mov ecx, offset dword_449128 call sub_40159B lea ecx, [esp+48h+var_3C] mov [esp+48h+var_4], edi call sub_401226 test esi, esi jz short loc_411EFA lea ebx, [esi+11h] jmp short loc_411EFC ; --------------------------------------------------------------------------- loc_411EFA: ; CODE XREF: sub_411C10+2E3j xor ebx, ebx loc_411EFC: ; CODE XREF: sub_411C10+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_4019C4 add esp, 2Ch push ebx mov ecx, eax mov [esp+4Ch+var_4], 8 call sub_4017EE lea edx, [esi+198h] push eax push edx mov ecx, offset dword_449128 call sub_40159B lea ecx, [esp+48h+var_3C] mov [esp+48h+var_4], edi call sub_401226 test esi, esi jz short loc_411F55 lea ebx, [esi+11h] jmp short loc_411F57 ; --------------------------------------------------------------------------- loc_411F55: ; CODE XREF: sub_411C10+33Ej xor ebx, ebx loc_411F57: ; CODE XREF: sub_411C10+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_4019C4 add esp, 20h push ebx mov ecx, eax mov [esp+4Ch+var_4], 9 call sub_4017EE add esi, 13Ch push eax push esi mov ecx, offset dword_449128 call sub_40159B lea ecx, [esp+48h+var_24] mov [esp+48h+var_4], edi call sub_401226 mov ecx, [esp+48h+var_C] pop edi pop esi pop ebx mov large fs:0, ecx add esp, 3Ch retn sub_411C10 endp ; --------------------------------------------------------------------------- db 0Dh dup(90h) db 0F0h dup(0CCh) ; --------------------------------------------------------------------------- loc_4120B0: ; CODE XREF: ___:00401ACDj mov eax, large fs:0 push 0FFFFFFFFh push offset byte_43AB59 push eax mov large fs:0, esp sub esp, 78h push ebx push ebp push esi mov esi, [esp+94h] push edi mov edi, ecx lea ebx, [esi+7Eh] lea ecx, [edi+45h] call sub_4017EE push eax mov ecx, ebx call sub_4012EE test eax, eax jz loc_4125D9 lea ecx, [edi+26Dh] call sub_4017EE push eax mov ecx, ebx call sub_4012EE test eax, eax jz loc_4125D9 lea ecx, [edi+0A1h] call sub_4017EE push eax mov ecx, ebx call sub_4012EE test eax, eax jnz loc_4121B2 push offset dword_444600 lea eax, [esp+2Ch] push 2 push eax mov ecx, esi call sub_4016B8 mov ebp, eax push offset dword_444600 lea ecx, [esp+14h] push 1 xor ebx, ebx push ecx mov ecx, esi mov [esp+9Ch], ebx call sub_4016B8 mov esi, eax mov ecx, ebp mov byte ptr [esp+90h], 1 call sub_4017EE push eax mov ecx, esi call sub_4017EE mov edx, dword_4490D0 push eax push edx add edi, 0FFFFFFEFh push offset dword_444CD8 push edi call sub_401E24 add esp, 14h lea ecx, [esp+10h] mov [esp+90h], bl call sub_401226 lea ecx, [esp+28h] mov dword ptr [esp+90h], 0FFFFFFFFh call sub_401226 jmp loc_412602 ; --------------------------------------------------------------------------- loc_4121B2: ; CODE XREF: ___:00412120j lea ecx, [edi+187h] call sub_4017EE push eax mov ecx, ebx call sub_4012EE test eax, eax jnz short loc_412229 add edi, 0FFFFFFEFh lea eax, [esp+28h] push eax mov ecx, edi call sub_401D4D mov ecx, eax mov dword ptr [esp+90h], 2 call sub_4017EE push eax push offset dword_4445F0 lea ecx, [esi+69h] call sub_4014DD mov cl, [esi+94h] mov dl, [esi+93h] push eax push ecx push edx push edi call sub_401857 add esp, 18h lea ecx, [esp+28h] mov dword ptr [esp+90h], 0FFFFFFFFh call sub_401226 jmp loc_412602 ; --------------------------------------------------------------------------- loc_412229: ; CODE XREF: ___:004121C7j lea ecx, [edi+0FDh] call sub_4017EE push eax mov ecx, ebx call sub_4012EE test eax, eax jnz loc_4122E4 push offset dword_444600 lea eax, [esp+2Ch] push 1 push eax mov ecx, esi call sub_4016B8 push eax lea ecx, [edi+17h] mov dword ptr [esp+94h], 3 call sub_4018B1 or ebp, 0FFFFFFFFh lea ecx, [esp+28h] mov ebx, eax mov [esp+90h], ebp call sub_401226 test ebx, ebx jz loc_412602 lea ecx, [esp+28h] add edi, 0FFFFFFEFh push ecx mov ecx, edi call sub_401D4D mov ecx, eax mov dword ptr [esp+90h], 4 call sub_4017EE push eax push offset dword_4445F0 lea ecx, [esi+69h] call sub_4014DD mov dl, [esi+94h] push eax mov al, [esi+93h] push edx push eax push edi call sub_401857 add esp, 18h lea ecx, [esp+28h] mov [esp+90h], ebp call sub_401226 jmp loc_412602 ; --------------------------------------------------------------------------- loc_4122E4: ; CODE XREF: ___:0041223Ej lea ecx, [edi+12Bh] call sub_4017EE push eax mov ecx, ebx call sub_4012EE test eax, eax jnz loc_41238D push offset dword_444600 lea ecx, [esp+14h] push 2 push ecx mov ecx, esi call sub_4016B8 mov ebp, eax push offset dword_444600 lea edx, [esp+2Ch] mov ebx, 5 push 1 push edx mov ecx, esi mov [esp+9Ch], ebx call sub_4016B8 mov esi, eax mov ecx, ebp mov byte ptr [esp+90h], 6 call sub_4017EE push eax mov ecx, esi call sub_4017EE push eax mov eax, dword_4490D4 push eax add edi, 0FFFFFFEFh push offset dword_444C84 push edi call sub_401E24 add esp, 14h lea ecx, [esp+28h] mov [esp+90h], bl call sub_401226 lea ecx, [esp+10h] mov dword ptr [esp+90h], 0FFFFFFFFh call sub_401226 jmp loc_412602 ; --------------------------------------------------------------------------- loc_41238D: ; CODE XREF: ___:004122F9j lea ecx, [edi+1B5h] call sub_4017EE push eax mov ecx, ebx call sub_4012EE test eax, eax jnz short loc_4123FB push offset dword_444600 lea ecx, [esp+2Ch] push 1 push ecx mov ecx, esi call sub_4016B8 mov ecx, eax mov dword ptr [esp+90h], 7 call sub_4017EE mov edx, dword_449100 push eax push edx add edi, 0FFFFFFEFh push offset dword_4445F4 push edi call sub_401E24 add esp, 10h lea ecx, [esp+28h] mov dword ptr [esp+90h], 0FFFFFFFFh call sub_401226 jmp loc_412602 ; --------------------------------------------------------------------------- loc_4123FB: ; CODE XREF: ___:004123A2j lea ecx, [edi+23Fh] call sub_4017EE push eax mov ecx, ebx call sub_4012EE test eax, eax jnz short loc_41245D lea eax, [esp+28h] push 9 push eax mov ecx, esi call sub_401E47 mov ecx, eax mov dword ptr [esp+90h], 8 call sub_4017EE push eax add edi, 0FFFFFFEFh push offset dword_444CD0 push edi call sub_401E24 add esp, 0Ch lea ecx, [esp+28h] mov dword ptr [esp+90h], 0FFFFFFFFh call sub_401226 jmp loc_412602 ; --------------------------------------------------------------------------- loc_41245D: ; CODE XREF: ___:00412410j lea ecx, [edi+1E3h] call sub_4017EE push eax mov ecx, ebx call sub_4012EE test eax, eax jnz loc_4124FD push offset dword_444600 lea ecx, [esp+14h] push 1 push ecx mov ecx, esi call sub_4016B8 mov ebp, eax push 1 push offset dword_444600 lea edx, [esp+30h] push 2 push edx mov ecx, esi mov dword ptr [esp+0A0h], 9 call sub_4011EA mov esi, eax mov ecx, ebp mov byte ptr [esp+90h], 0Ah call sub_4014DD push eax mov ecx, esi call sub_4014DD xor ebx, ebx push eax push ebx push ebx lea ecx, [edi-11h] call sub_401118 lea ecx, [esp+28h] mov byte ptr [esp+90h], 9 call sub_401226 lea ecx, [esp+10h] mov dword ptr [esp+90h], 0FFFFFFFFh call sub_401226 jmp loc_412602 ; --------------------------------------------------------------------------- loc_4124FD: ; CODE XREF: ___:00412472j lea ecx, [edi+159h] call sub_4017EE push eax mov ecx, ebx call sub_4012EE test eax, eax jnz loc_412602 push offset dword_444600 lea eax, [esp+74h] push 3 push eax mov ecx, esi call sub_4016B8 mov ebp, eax push offset dword_444600 lea ecx, [esp+5Ch] push 2 push ecx mov ecx, esi mov dword ptr [esp+9Ch], 0Bh call sub_4016B8 mov ebx, eax push offset dword_444600 lea edx, [esp+44h] push 1 push edx mov ecx, esi mov byte ptr [esp+9Ch], 0Ch call sub_4016B8 mov esi, eax mov ecx, ebp mov byte ptr [esp+90h], 0Dh call sub_4017EE push eax mov ecx, ebx call sub_4017EE push eax mov ecx, esi call sub_4017EE push eax mov eax, dword_449104 push eax add edi, 0FFFFFFEFh push offset dword_444CC0 push edi call sub_401E24 add esp, 18h lea ecx, [esp+40h] mov byte ptr [esp+90h], 0Ch call sub_401226 lea ecx, [esp+58h] mov byte ptr [esp+90h], 0Bh call sub_401226 lea ecx, [esp+70h] mov dword ptr [esp+90h], 0FFFFFFFFh call sub_401226 jmp short loc_412602 ; --------------------------------------------------------------------------- loc_4125D9: ; CODE XREF: ___:004120EAj ; ___:00412105j xor ebx, ebx mov [edi+0Fh], ebx mov [edi+0Bh], ebx mov [edi+5], bl mov [edi+4], bl mov ecx, [edi+7] push ecx call near ptr 71AB9639h nop mov ecx, offset word_44AC6E mov dword ptr [edi+7], 0FFFFFFFFh call sub_401541 loc_412602: ; CODE XREF: ___:004121ADj ; ___:00412224j ... mov ecx, [esp+88h] pop edi pop esi pop ebp xor al, al pop ebx mov large fs:0, ecx add esp, 84h retn 4 ; --------------------------------------------------------------------------- db 90h db 160h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_412780 proc near ; CODE XREF: sub_401D4Dj var_4C = dword ptr -4Ch var_48 = dword ptr -48h var_44 = dword ptr -44h var_40 = dword ptr -40h var_3C = dword ptr -3Ch var_38 = dword ptr -38h var_34 = byte ptr -34h var_24 = byte ptr -24h var_C = dword ptr -0Ch var_4 = dword ptr -4 arg_0 = dword ptr 4 push 0FFFFFFFFh push offset SEH_412780 mov eax, large fs:0 push eax mov large fs:0, esp sub esp, 40h push esi mov esi, ecx lea ecx, [esp+50h+var_24] mov [esp+50h+var_48], 0 call sub_40142E xor eax, eax lea ecx, [esp+50h+var_4C] mov [esp+50h+var_44], eax lea edx, [esp+50h+var_44] mov [esp+50h+var_40], eax push ecx mov [esp+54h+var_3C], eax push edx mov [esp+58h+var_38], eax mov eax, [esi+18h] push eax mov [esp+5Ch+var_4], 1 mov [esp+5Ch+var_4C], 10h nop call near ptr 71AB951Eh mov ecx, [esp+50h+var_40+3] mov edx, [esp+50h+var_40+2] mov eax, [esp+50h+var_40+1] and ecx, 0FFh push ecx mov ecx, [esp+54h+var_40] and edx, 0FFh and eax, 0FFh push edx and ecx, 0FFh push eax push ecx lea edx, [esp+60h+var_34] push offset dword_444CB0 push edx nop call near ptr word_5F67AE add esp, 18h lea ecx, [esp+50h+var_24] push offset byte_448F40 call sub_4015E1 push offset dword_444D04 lea ecx, [esp+54h+var_24] call sub_401AAF lea eax, [esp+50h+var_34] lea ecx, [esp+50h+var_24] push eax call sub_401AAF push offset dword_444D00 lea ecx, [esp+54h+var_24] call sub_401AAF add esi, 28h lea ecx, [esp+50h+var_24] push esi call sub_4016C7 push offset dword_444D00 lea ecx, [esp+54h+var_24] call sub_401AAF lea ecx, [esp+50h+var_34] push ecx call sub_401483 add esp, 4 test al, al jz short loc_41288B push offset dword_444CF4 jmp short loc_412890 ; --------------------------------------------------------------------------- loc_41288B: ; CODE XREF: sub_412780+102j push offset dword_444CE8 loc_412890: ; CODE XREF: sub_412780+109j lea ecx, [esp+54h+var_24] call sub_401AAF mov esi, [esp+50h+arg_0] lea edx, [esp+50h+var_24] push edx mov ecx, esi call sub_4014D3 mov [esp+50h+var_48], 1 lea ecx, [esp+50h+var_24] mov byte ptr [esp+50h+var_4], 0 call sub_401226 mov ecx, [esp+50h+var_C] mov eax, esi pop esi mov large fs:0, ecx add esp, 4Ch retn 4 sub_412780 endp ; --------------------------------------------------------------------------- db 0Dh dup(90h) db 60h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_412940 proc near ; CODE XREF: sub_40158Cj arg_0 = dword ptr 4 push ebp mov ebp, [esp+4+arg_0] push esi mov esi, ecx push edi mov edi, ebp or ecx, 0FFFFFFFFh xor eax, eax repne scasb mov eax, [esi+18h] push 0 not ecx dec ecx push ecx push ebp push eax nop call near ptr 71AB428Ah mov edx, eax mov edi, ebp or ecx, 0FFFFFFFFh xor eax, eax repne scasb not ecx dec ecx cmp edx, ecx jnb short loc_41299E mov [esi+16h], al mov [esi+15h], al mov eax, [esi+18h] push eax call near ptr 71AB9639h nop mov ecx, offset word_44AC6E mov dword ptr [esi+18h], 0FFFFFFFFh call sub_401541 pop edi pop esi xor al, al pop ebp retn 4 ; --------------------------------------------------------------------------- loc_41299E: ; CODE XREF: sub_412940+33j pop edi pop esi mov al, 1 pop ebp retn 4 sub_412940 endp ; --------------------------------------------------------------------------- db 0Ah dup(90h) db 20h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_4129D0 proc near ; CODE XREF: sub_401E24j arg_2000 = dword ptr 2004h arg_2004 = dword ptr 2008h arg_2008 = byte ptr 200Ch mov eax, 2000h call near ptr dword_437B30 mov ecx, [esp+arg_2004] lea eax, [esp+arg_2008] push eax push ecx lea edx, [esp+8] push 2000h push edx call near ptr 77C3FF8Ah nop mov ecx, [esp+10h+arg_2000] add esp, 10h lea eax, [esp+0] push eax call sub_40158C add esp, 2000h retn sub_4129D0 endp ; sp-analysis failed ; --------------------------------------------------------------------------- db 0Bh dup(90h) db 20h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_412A40 proc near ; CODE XREF: sub_401118j var_3C = byte ptr -3Ch var_24 = byte ptr -24h var_C = dword ptr -0Ch var_4 = dword ptr -4 arg_0 = byte ptr 4 arg_4 = byte ptr 8 arg_8 = dword ptr 0Ch arg_C = dword ptr 10h mov eax, large fs:0 push 0FFFFFFFFh push offset SEH_412A40 push eax mov al, [esp+0Ch+arg_0] mov large fs:0, esp sub esp, 30h test al, al push esi mov esi, ecx jz short loc_412A77 xor al, al pop esi mov ecx, [esp+3Ch+var_C] mov large fs:0, ecx add esp, 3Ch retn 10h ; --------------------------------------------------------------------------- loc_412A77: ; CODE XREF: sub_412A40+21j lea ecx, [esp+40h+var_3C] call sub_40142E mov al, [esp+40h+arg_4] mov [esp+40h+var_4], 0 test al, al jz short loc_412A98 mov eax, dword_4490D0 push eax jmp short loc_412A9F ; --------------------------------------------------------------------------- loc_412A98: ; CODE XREF: sub_412A40+4Ej mov ecx, dword_4490D8 push ecx loc_412A9F: ; CODE XREF: sub_412A40+56j lea ecx, [esp+44h+var_3C] call sub_4015E1 push ebx lea ecx, [esp+44h+var_24] call sub_40142E mov edx, [esp+44h+arg_8] mov eax, [esp+44h+arg_C] push edx push eax lea ecx, [esp+4Ch+var_3C] mov byte ptr [esp+4Ch+var_4], 1 call sub_4017EE push eax lea ecx, [esp+50h+var_24] push offset dword_444CD8 push ecx call sub_40102D add esp, 14h lea ecx, [esp+44h+var_24] call sub_4014DD push eax mov ecx, esi call sub_40158C lea ecx, [esp+44h+var_24] mov bl, al mov byte ptr [esp+44h+var_4], 0 call sub_401226 lea ecx, [esp+44h+var_3C] mov [esp+44h+var_4], 0FFFFFFFFh call sub_401226 mov ecx, [esp+44h+var_C] mov al, bl pop ebx pop esi mov large fs:0, ecx add esp, 3Ch retn 10h sub_412A40 endp ; --------------------------------------------------------------------------- db 0Ch dup(90h) db 40h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_412B70 proc near ; CODE XREF: sub_401857j arg_2000 = dword ptr 2004h arg_2004 = dword ptr 2008h arg_2008 = dword ptr 200Ch arg_200C = dword ptr 2010h arg_2010 = dword ptr 2014h arg_2014 = byte ptr 2018h mov eax, 2000h call near ptr dword_437B30 mov ecx, [esp+arg_2010] lea eax, [esp+arg_2014] push eax push ecx lea edx, [esp+8] push 2000h push edx nop call near ptr 77C3FF8Ah mov eax, [esp+10h+arg_200C] mov edx, [esp+10h+arg_2008] add esp, 10h lea ecx, [esp+0] push eax mov eax, [esp+4+arg_2004] push ecx mov ecx, [esp+8+arg_2000] push edx push eax call sub_401118 add esp, 2000h retn sub_412B70 endp ; sp-analysis failed ; --------------------------------------------------------------------------- db 3 dup(90h) db 20h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_412BF0 proc near ; CODE XREF: sub_401D20j push esi mov esi, ecx call sub_401FD7 mov eax, [esi+1Ch] inc eax mov [esi+1Ch], eax pop esi retn sub_412BF0 endp ; --------------------------------------------------------------------------- db 0Fh dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_412C20 proc near ; CODE XREF: sub_401FD7j push esi mov esi, ecx xor al, al mov [esi+16h], al mov [esi+15h], al mov eax, [esi+18h] push eax nop call near ptr 71AB9639h mov ecx, offset word_44AC6E mov dword ptr [esi+18h], 0FFFFFFFFh call sub_401541 pop esi retn sub_412C20 endp ; --------------------------------------------------------------------------- db 8 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_412C60 proc near ; CODE XREF: sub_40172Bj arg_0 = dword ptr 4 mov eax, ecx mov ecx, [esp+arg_0] mov dl, [ecx] xor ecx, ecx mov [eax], dl mov [eax+4], ecx mov [eax+8], ecx mov [eax+0Ch], ecx retn 4 sub_412C60 endp ; --------------------------------------------------------------------------- db 8 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_412C90 proc near ; CODE XREF: sub_401B68j push esi mov esi, ecx mov eax, [esi+8] mov ecx, [esi+4] push eax push ecx mov ecx, esi call sub_401717 mov eax, [esi+4] mov edx, [esi+0Ch] sub edx, eax mov ecx, esi sar edx, 2 push edx push eax call sub_401294 xor eax, eax mov [esi+4], eax mov [esi+8], eax mov [esi+0Ch], eax pop esi retn sub_412C90 endp ; --------------------------------------------------------------------------- db 0Dh dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_412CE0 proc near ; CODE XREF: sub_401F1Ej var_24 = byte ptr -24h var_C = dword ptr -0Ch var_4 = dword ptr -4 push 0FFFFFFFFh push offset SEH_412CE0 mov eax, large fs:0 push eax mov large fs:0, esp sub esp, 18h push esi push 0 push 6 push 9 push 4Fh push 3 push 9 push 7 push 0Fh lea eax, [esp+48h+var_24] push 0Ch mov esi, ecx push eax call sub_4019C4 add esp, 28h push esi mov ecx, eax mov [esp+2Ch+var_4], 0 call sub_4017EE add esi, 4 push eax push esi mov ecx, offset dword_449128 call sub_40159B lea ecx, [esp+28h+var_24] mov [esp+28h+var_4], 0FFFFFFFFh call sub_401226 mov ecx, [esp+28h+var_C] pop esi mov large fs:0, ecx add esp, 24h retn sub_412CE0 endp ; --------------------------------------------------------------------------- db 6 dup(90h) db 20h dup(0CCh) ; --------------------------------------------------------------------------- loc_412D80: ; CODE XREF: ___:0040100Aj mov eax, large fs:0 push 0FFFFFFFFh push offset word_43AC4E push eax mov large fs:0, esp sub esp, 90h add ecx, 4 push ebp push esi mov esi, [esp+0A8h] lea ebp, [esi+7Eh] call sub_4017EE push eax mov ecx, ebp call sub_4012EE test eax, eax jnz loc_4130A6 push ebx push edi push offset dword_444600 lea eax, [esp+44h] push 1 push eax mov ecx, esi call sub_4016B8 push offset dword_444600 lea ecx, [esp+2Ch] push 2 push ecx mov ecx, esi mov dword ptr [esp+0B4h], 0 call sub_4016B8 push offset dword_444600 lea edx, [esp+14h] push 3 push edx mov ecx, esi mov byte ptr [esp+0B4h], 1 call sub_4016B8 push offset dword_444600 lea eax, [esp+74h] push 0 push eax mov ecx, esi mov byte ptr [esp+0B4h], 2 call sub_4016B8 mov edi, eax lea ecx, [esp+10h] mov byte ptr [esp+0A8h], 3 call sub_4013E3 lea ecx, [esp+28h] mov ebx, eax call sub_4013E3 lea ecx, [esp+40h] add ebx, eax call sub_4013E3 mov ecx, edi add ebx, eax call sub_4013E3 lea ecx, [esp+70h] lea edi, [ebx+eax+4] mov byte ptr [esp+0A8h], 2 call sub_401226 lea ecx, [esp+58h] push edi push ecx mov ecx, esi call sub_401E47 push offset dword_444600 lea edx, [esp+8Ch] push 4 push edx mov ecx, esi mov byte ptr [esp+0B4h], 4 call sub_4016B8 lea ecx, [esp+70h] push 1 mov bl, 5 push ecx mov ecx, eax mov [esp+0B0h], bl call sub_401E47 push eax mov ecx, ebp mov byte ptr [esp+0ACh], 6 call sub_40202C lea ecx, [esp+70h] mov [esp+0A8h], bl call sub_401226 mov byte ptr [esp+0A8h], 4 lea ecx, [esp+88h] call sub_401226 lea edx, [esp+58h] mov ecx, esi push edx call sub_40202C push offset dword_444D2C lea ecx, [esp+2Ch] call sub_4012EE test eax, eax jnz short loc_412F05 xor edi, edi loc_412F05: ; CODE XREF: ___:00412F01j push offset dword_444D28 lea ecx, [esp+2Ch] call sub_4012EE test eax, eax jnz short loc_412F1C mov edi, 1 loc_412F1C: ; CODE XREF: ___:00412F15j push offset dword_444D24 lea ecx, [esp+2Ch] call sub_4012EE test eax, eax jnz short loc_412F33 mov edi, 2 loc_412F33: ; CODE XREF: ___:00412F2Cj push offset dword_444D20 lea ecx, [esp+2Ch] call sub_4012EE test eax, eax jnz short loc_412F4A mov edi, 3 loc_412F4A: ; CODE XREF: ___:00412F43j push offset dword_444D1C lea ecx, [esp+44h] call sub_4012EE test eax, eax jnz short loc_412FA4 test edi, edi jnz short loc_412F7A lea ecx, [esp+10h] call sub_4017EE push eax mov ecx, offset word_44956A call sub_4012EE test eax, eax jz short loc_412FA4 jmp short loc_412F97 ; --------------------------------------------------------------------------- loc_412F7A: ; CODE XREF: ___:00412F5Ej cmp edi, 1 jnz short loc_412FA4 lea ecx, [esp+10h] call sub_4017EE push eax mov ecx, offset word_44956A call sub_4012EE test eax, eax jnz short loc_412FA4 loc_412F97: ; CODE XREF: ___:00412F78j push 0 push esi mov ecx, offset byte_449287 call sub_401A41 loc_412FA4: ; CODE XREF: ___:00412F5Aj ; ___:00412F76j ... push offset dword_444D14 lea ecx, [esp+44h] call sub_4012EE test eax, eax jnz short loc_412FF7 test edi, edi jnz short loc_412FD8 lea ecx, [esp+10h] call sub_4017EE push eax mov ecx, offset byte_4D80AD call sub_4013ED test eax, eax jnz loc_413059 jmp short loc_41304C ; --------------------------------------------------------------------------- loc_412FD8: ; CODE XREF: ___:00412FB8j cmp edi, 1 jnz short loc_413059 lea ecx, [esp+10h] call sub_4017EE push eax mov ecx, offset byte_4D80AD call sub_4013ED test eax, eax jz short loc_413059 jmp short loc_41304C ; --------------------------------------------------------------------------- loc_412FF7: ; CODE XREF: ___:00412FB4j push offset dword_444D0C lea ecx, [esp+44h] call sub_4012EE test eax, eax jnz short loc_413059 lea ecx, [esp+10h] call sub_4017EE push eax nop call near ptr 77C1BF18h add esp, 4 mov ebx, eax call sub_40165E test edi, edi jnz short loc_41302D cmp eax, ebx jz short loc_413059 jmp short loc_41304C ; --------------------------------------------------------------------------- loc_41302D: ; CODE XREF: ___:00413025j cmp edi, 1 jnz short loc_413038 cmp eax, ebx jnz short loc_413059 jmp short loc_41304C ; --------------------------------------------------------------------------- loc_413038: ; CODE XREF: ___:00413030j cmp edi, 2 jnz short loc_413043 cmp eax, ebx jle short loc_413059 jmp short loc_41304C ; --------------------------------------------------------------------------- loc_413043: ; CODE XREF: ___:0041303Bj cmp edi, 3 jnz short loc_413059 cmp eax, ebx jge short loc_413059 loc_41304C: ; CODE XREF: ___:00412FD6j ; ___:00412FF5j ... push 0 push esi mov ecx, offset byte_449287 call sub_401A41 loc_413059: ; CODE XREF: ___:00412FD0j ; ___:00412FDBj ... lea ecx, [esp+58h] mov byte ptr [esp+0A8h], 2 call sub_401226 lea ecx, [esp+10h] mov byte ptr [esp+0A8h], 1 call sub_401226 lea ecx, [esp+28h] mov byte ptr [esp+0A8h], 0 call sub_401226 lea ecx, [esp+40h] mov dword ptr [esp+0A8h], 0FFFFFFFFh call sub_401226 pop edi mov al, 1 pop ebx jmp short loc_4130A8 ; --------------------------------------------------------------------------- loc_4130A6: ; CODE XREF: ___:00412DB9j mov al, 1 loc_4130A8: ; CODE XREF: ___:004130A4j mov ecx, [esp+98h] pop esi pop ebp mov large fs:0, ecx add esp, 9Ch retn 4 ; --------------------------------------------------------------------------- db 0Fh dup(90h) db 0E0h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_4131B0 proc near ; CODE XREF: sub_40165Ej call near ptr 2800CA0h nop mov ecx, eax mov eax, 10624DD3h mul ecx mov ecx, edx mov eax, 0C22E4507h shr ecx, 6 imul ecx mov eax, edx add eax, ecx sar eax, 10h mov edx, eax shr edx, 1Fh add eax, edx retn sub_4131B0 endp ; --------------------------------------------------------------------------- db 6 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_4131F0 proc near ; CODE XREF: sub_402018j var_12 = byte ptr -12h var_11 = byte ptr -11h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_4 = dword ptr -4 push 0FFFFFFFFh push offset SEH_4131F0 mov eax, large fs:0 push eax mov large fs:0, esp sub esp, 8 push ebx push esi mov esi, ecx push edi mov [esp+20h+var_10], esi call sub_4011B3 lea ecx, [esi+4] call sub_401753 lea ecx, [esi+32h] mov [esp+20h+var_4], 0 call sub_401753 lea edi, [esi+60h] lea eax, [esp+20h+var_12] push eax mov ecx, edi mov byte ptr [esp+24h+var_4], 1 call sub_401F23 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_401852 mov ecx, edi mov byte ptr [esp+20h+var_4], 3 mov dword ptr [esi], offset dword_43F044 call sub_401933 mov ecx, ebx call sub_401C76 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_4131F0 endp ; --------------------------------------------------------------------------- db 0Dh dup(90h) db 30h dup(0CCh) ; --------------------------------------------------------------------------- loc_4132C0: ; CODE XREF: ___:00401D0Cj ; ___:00401E29j push esi mov esi, ecx call sub_401CA3 test byte ptr [esp+8], 1 jz short loc_4132D8 push esi call near ptr word_437AD2 add esp, 4 loc_4132D8: ; CODE XREF: ___:004132CDj mov eax, esi pop esi retn 4 ; --------------------------------------------------------------------------- db 2 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_4132F0 proc near ; CODE XREF: sub_401CA3j var_10 = dword ptr -10h var_C = dword ptr -0Ch var_4 = dword ptr -4 push 0FFFFFFFFh push offset SEH_4132F0 mov eax, large fs:0 push eax mov large fs:0, esp push ecx push ebx push esi mov esi, ecx push edi mov [esp+1Ch+var_10], esi mov dword ptr [esi], offset dword_43F044 lea edi, [esi+60h] mov [esp+1Ch+var_4], 3 mov ecx, edi call sub_401933 lea ebx, [esi+6Ch] mov ecx, ebx call sub_401C76 mov ecx, ebx mov byte ptr [esp+1Ch+var_4], 2 call sub_4014BF mov ecx, edi mov byte ptr [esp+1Ch+var_4], 1 call sub_4011B8 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_4132F0 endp ; --------------------------------------------------------------------------- db 8 dup(90h) db 30h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_4133B0 proc near ; CODE XREF: sub_401A05j 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_4133B0 mov eax, large fs:0 push eax mov large fs:0, esp sub esp, 30h push esi push 0 push 14h push 15h push 0Fh push 7 push 0Fh lea eax, [esp+58h+var_3C] push 0Ch mov esi, ecx push eax call sub_4019C4 add esp, 20h push esi mov ecx, eax mov [esp+44h+var_4], 0 call sub_4017EE lea ecx, [esi+32h] push eax push ecx mov ecx, offset dword_449128 call sub_40159B lea ecx, [esp+40h+var_3C] mov [esp+40h+var_4], 0FFFFFFFFh call sub_401226 push 0 push 14h push 5 lea edx, [esp+4Ch+var_24] push 13h push edx call sub_4019C4 add esp, 14h push esi mov ecx, eax mov [esp+44h+var_4], 1 call sub_4017EE add esi, 4 push eax push esi mov ecx, offset dword_449128 call sub_40159B lea ecx, [esp+40h+var_24] mov [esp+40h+var_4], 0FFFFFFFFh call sub_401226 mov ecx, [esp+40h+var_C] pop esi mov large fs:0, ecx add esp, 3Ch retn sub_4133B0 endp ; --------------------------------------------------------------------------- db 5 dup(90h) db 30h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_4134A0 proc near ; CODE XREF: sub_401CE4j var_14 = dword ptr -14h var_10 = byte ptr -10h var_C = dword ptr -0Ch var_4 = dword ptr -4 arg_0 = byte ptr 4 push 0FFFFFFFFh push offset SEH_4134A0 mov eax, large fs:0 push eax mov large fs:0, esp sub esp, 8 push esi mov esi, ecx lea ecx, [esp+18h+arg_0] mov [esp+18h+var_4], 0 call sub_4017EE test eax, eax jz short loc_413547 lea ecx, [esp+18h+var_14] call sub_402275 add esi, 6Ch lea eax, [esp+18h+var_10] push eax mov ecx, esi call sub_401901 mov ecx, [eax] lea edx, [esp+18h+var_10] mov [esp+18h+var_14], ecx push edx mov ecx, esi call sub_40114A push eax lea ecx, [esp+1Ch+var_14] call sub_401339 test al, al jz short loc_413547 loc_413508: ; CODE XREF: sub_4134A0+A5j lea eax, [esp+18h+arg_0] lea ecx, [esp+18h+var_14] push eax call sub_40135C mov ecx, [eax] add ecx, 19h call sub_401B86 test eax, eax lea ecx, [esp+18h+var_14] jz short loc_41356C call sub_40118B lea ecx, [esp+18h+var_10] push ecx mov ecx, esi call sub_40114A push eax lea ecx, [esp+1Ch+var_14] call sub_401339 test al, al jnz short loc_413508 loc_413547: ; CODE XREF: sub_4134A0+2Ej ; sub_4134A0+66j lea ecx, [esp+18h+arg_0] mov [esp+18h+var_4], 0FFFFFFFFh call sub_401226 xor eax, eax pop esi mov ecx, [esp+14h+var_C] mov large fs:0, ecx add esp, 14h retn 18h ; --------------------------------------------------------------------------- loc_41356C: ; CODE XREF: sub_4134A0+86j call sub_40135C mov esi, [eax] lea ecx, [esp+18h+arg_0] mov [esp+18h+var_4], 0FFFFFFFFh call sub_401226 mov ecx, [esp+18h+var_C] mov eax, esi pop esi mov large fs:0, ecx add esp, 14h retn 18h sub_4134A0 endp ; --------------------------------------------------------------------------- db 8 dup(90h) db 40h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_4135E0 proc near ; CODE XREF: sub_402130j var_18 = dword ptr -18h var_14 = byte ptr -14h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_4 = dword ptr -4 arg_0 = byte ptr 4 push 0FFFFFFFFh push offset SEH_4135E0 mov eax, large fs:0 push eax mov large fs:0, esp sub esp, 0Ch push ebx push ebp push esi push edi mov ebx, ecx lea ecx, [esp+28h+arg_0] mov [esp+28h+var_4], 0 call sub_4017EE test eax, eax jz loc_4136B3 lea ecx, [esp+28h+var_18] call sub_401037 lea ebp, [ebx+60h] lea eax, [esp+28h+var_14] push eax mov ecx, ebp call sub_401992 mov ecx, [eax] lea edx, [esp+28h+var_14] mov [esp+28h+var_18], ecx push edx mov ecx, ebp call sub_402257 push eax lea ecx, [esp+2Ch+var_18] call sub_401AEB test al, al jz short loc_4136B3 loc_41364F: ; CODE XREF: sub_4135E0+D1j lea ecx, [esp+28h+var_18] call sub_4011D1 mov edi, [eax] sub esp, 18h lea eax, [esp+40h+arg_0] mov ecx, esp mov [esp+40h+var_10], esp push eax call sub_4014D3 mov ecx, ebx call sub_401CE4 mov esi, eax test esi, esi jz short loc_41367C mov edi, [esi] loc_41367C: ; CODE XREF: sub_4135E0+98j lea ecx, [esp+28h+arg_0] push ecx mov ecx, edi call sub_401B86 test eax, eax jz short loc_4136DB test esi, esi jnz short loc_4136DB lea ecx, [esp+28h+var_18] call sub_4018C5 lea edx, [esp+28h+var_14] mov ecx, ebp push edx call sub_402257 push eax lea ecx, [esp+2Ch+var_18] call sub_401AEB test al, al jnz short loc_41364F loc_4136B3: ; CODE XREF: sub_4135E0+31j ; sub_4135E0+6Dj lea ecx, [esp+28h+arg_0] mov [esp+28h+var_4], 0FFFFFFFFh call sub_401226 xor eax, eax loc_4136C6: ; CODE XREF: sub_4135E0+10Ej mov ecx, [esp+28h+var_C] pop edi pop esi pop ebp mov large fs:0, ecx pop ebx add esp, 18h retn 18h ; --------------------------------------------------------------------------- loc_4136DB: ; CODE XREF: sub_4135E0+AAj ; sub_4135E0+AEj lea ecx, [esp+28h+arg_0] mov [esp+28h+var_4], 0FFFFFFFFh call sub_401226 mov eax, edi jmp short loc_4136C6 sub_4135E0 endp ; --------------------------------------------------------------------------- db 50h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_413740 proc near ; CODE XREF: sub_401F64j var_14 = dword ptr -14h var_10 = byte ptr -10h var_C = dword ptr -0Ch var_4 = dword ptr -4 arg_0 = byte ptr 4 arg_18 = byte ptr 1Ch push 0FFFFFFFFh push offset SEH_413740 mov eax, large fs:0 push eax mov large fs:0, esp sub esp, 8 lea ecx, [esp+14h+arg_0] mov [esp+14h+var_4], 1 call sub_4017EE test eax, eax jz short loc_4137E4 lea ecx, [esp+14h+var_14] call sub_401E38 lea eax, [esp+14h+var_10] lea ecx, [esp+14h+arg_18] push eax call sub_4012E9 mov ecx, [eax] lea edx, [esp+14h+var_10] mov [esp+14h+var_14], ecx push edx lea ecx, [esp+18h+arg_18] call sub_401D9D push eax lea ecx, [esp+18h+var_14] call sub_401D70 test al, al jz short loc_4137E4 loc_4137A6: ; CODE XREF: sub_413740+A2j lea eax, [esp+14h+arg_0] lea ecx, [esp+14h+var_14] push eax call sub_401FC3 mov ecx, [eax] call sub_401B86 test eax, eax jz short loc_413816 lea ecx, [esp+14h+var_14] call sub_4020C2 lea ecx, [esp+14h+var_10] push ecx lea ecx, [esp+18h+arg_18] call sub_401D9D push eax lea ecx, [esp+18h+var_14] call sub_401D70 test al, al jnz short loc_4137A6 loc_4137E4: ; CODE XREF: sub_413740+2Bj ; sub_413740+64j lea ecx, [esp+14h+arg_0] mov byte ptr [esp+14h+var_4], 0 call sub_401226 lea ecx, [esp+14h+arg_18] mov [esp+14h+var_4], 0FFFFFFFFh call sub_401582 xor eax, eax mov ecx, [esp+14h+var_C] mov large fs:0, ecx add esp, 14h retn 24h ; --------------------------------------------------------------------------- loc_413816: ; CODE XREF: sub_413740+7Dj push esi lea ecx, [esp+18h+var_14] call sub_401FC3 mov esi, [eax] lea ecx, [esp+18h+arg_0] mov byte ptr [esp+18h+var_4], 0 call sub_401226 lea ecx, [esp+18h+arg_18] mov [esp+18h+var_4], 0FFFFFFFFh call sub_401582 mov ecx, [esp+18h+var_C] mov eax, esi pop esi mov large fs:0, ecx add esp, 14h retn 24h sub_413740 endp ; --------------------------------------------------------------------------- db 0Bh dup(90h) db 50h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_4138B0 proc near ; CODE XREF: sub_4011DBj var_A4 = byte ptr -0A4h var_8C = byte ptr -8Ch var_74 = byte ptr -74h var_64 = byte ptr -64h var_C = dword ptr -0Ch var_4 = dword ptr -4 arg_0 = byte ptr 4 arg_18 = dword ptr 1Ch push 0FFFFFFFFh push offset SEH_4138B0 mov eax, large fs:0 push eax mov large fs:0, esp sub esp, 98h push esi xor esi, esi lea ecx, [esp+0A8h+arg_0] mov [esp+0A8h+var_4], esi call sub_4017EE test eax, eax jz loc_4139E3 lea eax, [esp+0A8h+var_64] push eax call sub_401A69 add esp, 4 lea ecx, [esp+0A8h+var_A4] call sub_40142E push offset byte_448F40 lea ecx, [esp+0ACh+var_A4] mov byte ptr [esp+0ACh+var_4], 1 call sub_4015E1 lea ecx, [esp+0A8h+arg_0] call sub_4013E3 push eax lea ecx, [esp+0ACh+arg_0] call sub_4014DD lea ecx, [esp+0ACh+var_64] push eax push ecx call sub_401C26 lea edx, [esp+0B4h+var_64] lea eax, [esp+0B4h+var_74] push edx push eax call sub_402176 add esp, 14h loc_41394B: ; CODE XREF: sub_4138B0+E8j lea ecx, [esp+0A8h+var_8C] call sub_40142E xor ecx, ecx lea edx, [esp+0A8h+var_8C] mov cl, [esp+esi+0A8h+var_74] mov byte ptr [esp+0A8h+var_4], 2 push ecx push offset dword_444D30 push edx call sub_40102D add esp, 0Ch lea eax, [esp+0A8h+var_8C] lea ecx, [esp+0A8h+var_A4] push eax call sub_4016C7 lea ecx, [esp+0A8h+var_8C] mov byte ptr [esp+0A8h+var_4], 1 call sub_401226 inc esi cmp esi, 10h jl short loc_41394B mov edx, [esp+0A8h+arg_18] lea ecx, [esp+0A8h+var_A4] push ecx lea ecx, [edx+15h] call sub_401B86 test eax, eax mov byte ptr [esp+0A8h+var_4], 0 lea ecx, [esp+0A8h+var_A4] jnz short loc_4139DE call sub_401226 lea ecx, [esp+0A8h+arg_0] mov [esp+0A8h+var_4], 0FFFFFFFFh call sub_401226 mov al, 1 jmp short loc_4139FC ; --------------------------------------------------------------------------- loc_4139DE: ; CODE XREF: sub_4138B0+10Cj call sub_401226 loc_4139E3: ; CODE XREF: sub_4138B0+33j lea ecx, [esp+0A8h+arg_0] mov [esp+0A8h+var_4], 0FFFFFFFFh call sub_401226 xor al, al loc_4139FC: ; CODE XREF: sub_4138B0+12Cj mov ecx, [esp+0A8h+var_C] pop esi mov large fs:0, ecx add esp, 0A4h retn 1Ch sub_4138B0 endp ; --------------------------------------------------------------------------- db 0Ch dup(90h) db 60h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_413A80 proc near ; CODE XREF: sub_40192Ej var_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 offset SEH_413A80 mov eax, large fs:0 push eax mov large fs:0, esp sub esp, 8 push esi mov esi, ecx sub esp, 18h lea eax, [esp+30h+arg_18] mov ecx, esp mov [esp+30h+var_14], esp push eax mov [esp+34h+var_4], 1 call sub_4014D3 mov ecx, esi call sub_402130 test eax, eax jz short loc_413B2E sub esp, 0Ch add eax, 54h mov ecx, esp mov [esp+24h+var_14], esp push eax call sub_401726 sub esp, 18h lea edx, [esp+3Ch+arg_0] mov ecx, esp mov [esp+3Ch+var_10], esp push edx mov byte ptr [esp+40h+var_4], 2 call sub_4014D3 mov ecx, esi mov byte ptr [esp+3Ch+var_4], 1 call sub_401F64 test eax, eax jz short loc_413B2E lea ecx, [esp+18h+arg_0] mov byte ptr [esp+18h+var_4], 0 call sub_401226 lea ecx, [esp+18h+arg_18] mov [esp+18h+var_4], 0FFFFFFFFh call sub_401226 mov al, 1 mov ecx, [esp+18h+var_C] mov large fs:0, ecx pop esi add esp, 14h retn 30h ; --------------------------------------------------------------------------- loc_413B2E: ; CODE XREF: sub_413A80+3Fj ; sub_413A80+79j lea ecx, [esp+18h+arg_0] mov byte ptr [esp+18h+var_4], 0 call sub_401226 lea ecx, [esp+18h+arg_18] mov [esp+18h+var_4], 0FFFFFFFFh call sub_401226 mov ecx, [esp+18h+var_C] xor al, al mov large fs:0, ecx pop esi add esp, 14h retn 30h sub_413A80 endp ; --------------------------------------------------------------------------- db 0Fh dup(90h) db 40h dup(0CCh) ; --------------------------------------------------------------------------- loc_413BB0: ; CODE XREF: ___:00401393j push 0FFFFFFFFh push offset dword_43AE08 mov eax, large fs:0 push eax mov large fs:0, esp push ecx mov eax, [esp+18h] push esi mov esi, ecx sub esp, 18h mov ecx, esp mov [esp+1Ch], esp push eax call sub_401870 mov edx, [esp+30h] sub esp, 18h mov ecx, esp mov [esp+4Ch], esp push edx mov dword ptr [esp+44h], 0 call sub_401870 mov ecx, esi mov dword ptr [esp+40h], 0FFFFFFFFh call sub_40192E mov ecx, [esp+8] pop esi mov large fs:0, ecx add esp, 10h retn 8 ; --------------------------------------------------------------------------- db 8 dup(90h) db 20h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_413C40 proc near ; CODE XREF: sub_401181j var_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 offset SEH_413C40 mov eax, large fs:0 push eax mov large fs:0, esp sub esp, 34h push ebx push ebp mov ebp, [esp+48h+arg_18] xor ebx, ebx cmp ebp, ebx mov [esp+48h+var_4], ebx jz loc_413D89 lea ecx, [esp+48h+arg_0] call sub_4017EE test eax, eax jz loc_413D89 push esi push edi push offset dword_444C7C lea eax, [esp+54h+var_3C] push ebx push eax lea ecx, [esp+5Ch+arg_0] xor esi, esi call sub_4016B8 push offset byte_448F40 mov ecx, eax mov byte ptr [esp+54h+var_4], 1 call sub_4012EE lea ecx, [esp+50h+var_3C] mov edi, eax mov byte ptr [esp+50h+var_4], bl call sub_401226 cmp edi, ebx jz loc_413D63 add ebp, 54h loc_413CC0: ; CODE XREF: sub_413C40+11Dj push 15h call near ptr word_437AEA add esp, 4 mov [esp+50h+var_40], eax cmp eax, ebx mov byte ptr [esp+50h+var_4], 2 jz short loc_413CE0 mov ecx, eax call sub_401F4B jmp short loc_413CE2 ; --------------------------------------------------------------------------- loc_413CE0: ; CODE XREF: sub_413C40+95j xor eax, eax loc_413CE2: ; CODE XREF: sub_413C40+9Ej push offset dword_444C7C 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_4016B8 mov ecx, [esp+50h+arg_18] push eax mov byte ptr [esp+54h+var_4], 3 call sub_40202C lea ecx, [esp+50h+var_24] mov byte ptr [esp+50h+var_4], bl call sub_401226 lea edx, [esp+50h+arg_18] mov ecx, ebp push edx call sub_401488 inc esi push offset dword_444C7C lea eax, [esp+54h+var_3C] push esi push eax lea ecx, [esp+5Ch+arg_0] call sub_4016B8 push offset byte_448F40 mov ecx, eax mov byte ptr [esp+54h+var_4], 1 call sub_4012EE lea ecx, [esp+50h+var_3C] mov edi, eax mov byte ptr [esp+50h+var_4], bl call sub_401226 cmp edi, ebx jnz loc_413CC0 loc_413D63: ; CODE XREF: sub_413C40+77j lea ecx, [esp+50h+arg_0] mov [esp+50h+var_4], 0FFFFFFFFh call sub_401226 pop edi pop esi pop ebp pop ebx mov ecx, [esp+40h+var_C] mov large fs:0, ecx add esp, 40h retn 1Ch ; --------------------------------------------------------------------------- loc_413D89: ; CODE XREF: sub_413C40+26j ; sub_413C40+37j lea ecx, [esp+48h+arg_0] mov [esp+48h+var_4], 0FFFFFFFFh call sub_401226 mov ecx, [esp+48h+var_C] pop ebp pop ebx mov large fs:0, ecx add esp, 40h retn 1Ch sub_413C40 endp ; --------------------------------------------------------------------------- db 3 dup(90h) db 60h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_413E10 proc near ; CODE XREF: sub_401F4Bj push esi mov esi, ecx call sub_40142E mov eax, esi pop esi retn sub_413E10 endp ; --------------------------------------------------------------------------- db 4 dup(90h) db 10h dup(0CCh) ; --------------------------------------------------------------------------- loc_413E30: ; CODE XREF: ___:004010F0j mov eax, [esp+8] mov edx, [esp+4] push esi push eax mov esi, ecx sub esp, 18h mov ecx, esp mov [esp+28h], esp push edx call sub_401870 mov ecx, esi call sub_401181 pop esi retn 8 ; --------------------------------------------------------------------------- db 0Ah dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_413E70 proc near ; CODE XREF: sub_4018ACj var_14 = dword ptr -14h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_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 offset SEH_413E70 mov eax, large fs:0 push eax mov large fs:0, esp sub esp, 8 push ebx push ebp push esi push edi mov ebp, ecx sub esp, 18h lea eax, [esp+3Ch+arg_30] mov ecx, esp mov [esp+3Ch+var_14], esp push eax mov [esp+40h+var_4], 4 call sub_4014D3 mov ecx, ebp call sub_401CE4 xor ebx, ebx cmp eax, ebx jnz loc_41405E sub esp, 18h lea edx, [esp+3Ch+arg_0] mov ecx, esp mov [esp+3Ch+var_14], esp push edx call sub_4014D3 mov ecx, ebp call sub_402130 mov edi, eax cmp edi, ebx jz loc_41405E push edi lea eax, [esp+28h+arg_18] sub esp, 18h mov ecx, esp mov [esp+40h+var_14], esp push eax call sub_4014D3 mov ecx, ebp call sub_4011DB cmp al, bl jz loc_41405E push offset byte_448F40 lea ecx, [esp+28h+arg_48] call sub_4012EE test eax, eax jz short loc_413F57 lea ecx, [edi+2Ah] call sub_4017EE lea ecx, [esp+24h+arg_48] mov esi, eax call sub_4017EE loc_413F26: ; CODE XREF: sub_413E70+D4j mov dl, [eax] mov cl, dl cmp dl, [esi] jnz short loc_413F4A cmp cl, bl jz short loc_413F46 mov dl, [eax+1] mov cl, dl cmp dl, [esi+1] jnz short loc_413F4A add eax, 2 add esi, 2 cmp cl, bl jnz short loc_413F26 loc_413F46: ; CODE XREF: sub_413E70+C0j xor eax, eax jmp short loc_413F4F ; --------------------------------------------------------------------------- loc_413F4A: ; CODE XREF: sub_413E70+BCj ; sub_413E70+CAj sbb eax, eax sbb eax, 0FFFFFFFFh loc_413F4F: ; CODE XREF: sub_413E70+D8j cmp eax, ebx jnz loc_41405E loc_413F57: ; CODE XREF: sub_413E70+A1j push offset byte_448F40 lea ecx, [esp+28h+arg_60] call sub_4012EE test eax, eax jz short loc_413FB3 lea ecx, [edi+3Fh] call sub_4017EE lea ecx, [esp+24h+arg_60] mov esi, eax call sub_4017EE loc_413F82: ; CODE XREF: sub_413E70+130j mov dl, [eax] mov cl, dl cmp dl, [esi] jnz short loc_413FA6 cmp cl, bl jz short loc_413FA2 mov dl, [eax+1] mov cl, dl cmp dl, [esi+1] jnz short loc_413FA6 add eax, 2 add esi, 2 cmp cl, bl jnz short loc_413F82 loc_413FA2: ; CODE XREF: sub_413E70+11Cj xor eax, eax jmp short loc_413FAB ; --------------------------------------------------------------------------- loc_413FA6: ; CODE XREF: sub_413E70+118j ; sub_413E70+126j sbb eax, eax sbb eax, 0FFFFFFFFh loc_413FAB: ; CODE XREF: sub_413E70+134j cmp eax, ebx jnz loc_41405E loc_413FB3: ; CODE XREF: sub_413E70+FAj push 58h call near ptr word_437AEA add esp, 4 mov [esp+24h+var_10], eax cmp eax, ebx mov byte ptr [esp+24h+var_4], 5 jz short loc_413FD3 mov ecx, eax call sub_401D1B jmp short loc_413FD5 ; --------------------------------------------------------------------------- loc_413FD3: ; CODE XREF: sub_413E70+158j xor eax, eax loc_413FD5: ; CODE XREF: sub_413E70+161j mov [esp+24h+var_14], eax mov [eax], edi mov ecx, [esp+24h+var_14] lea eax, [esp+24h+arg_0] push eax add ecx, 4 mov byte ptr [esp+28h+var_4], 4 call sub_40202C mov eax, [esp+24h+var_14] lea edx, [esp+24h+arg_30] push edx lea ecx, [eax+19h] call sub_40202C lea ecx, [esp+24h+var_14] push ecx lea ecx, [ebp+6Ch] call sub_401410 lea ecx, [esp+24h+arg_0] mov byte ptr [esp+24h+var_4], 3 call sub_401226 lea ecx, [esp+24h+arg_18] mov byte ptr [esp+24h+var_4], 2 call sub_401226 lea ecx, [esp+24h+arg_30] mov byte ptr [esp+24h+var_4], 1 call sub_401226 lea ecx, [esp+24h+arg_48] mov byte ptr [esp+24h+var_4], bl call sub_401226 lea ecx, [esp+24h+arg_60] mov [esp+24h+var_4], 0FFFFFFFFh call sub_401226 mov al, 1 jmp short loc_4140AB ; --------------------------------------------------------------------------- loc_41405E: ; CODE XREF: sub_413E70+44j ; sub_413E70+68j ... lea ecx, [esp+24h+arg_0] mov byte ptr [esp+24h+var_4], 3 call sub_401226 lea ecx, [esp+24h+arg_18] mov byte ptr [esp+24h+var_4], 2 call sub_401226 lea ecx, [esp+24h+arg_30] mov byte ptr [esp+24h+var_4], 1 call sub_401226 lea ecx, [esp+24h+arg_48] mov byte ptr [esp+24h+var_4], bl call sub_401226 lea ecx, [esp+24h+arg_60] mov [esp+24h+var_4], 0FFFFFFFFh call sub_401226 xor al, al loc_4140AB: ; CODE XREF: sub_413E70+1ECj mov ecx, [esp+24h+var_C] pop edi pop esi pop ebp mov large fs:0, ecx pop ebx add esp, 14h retn 78h sub_413E70 endp ; sp-analysis failed ; --------------------------------------------------------------------------- db 0A0h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_414160 proc near ; CODE XREF: sub_401D1Bj var_10 = dword ptr -10h var_C = dword ptr -0Ch var_4 = dword ptr -4 push 0FFFFFFFFh push offset SEH_414160 mov eax, large fs:0 push eax mov large fs:0, esp push ecx push esi mov esi, ecx mov [esp+14h+var_10], esi lea ecx, [esi+4] call sub_40142E lea ecx, [esi+19h] mov [esp+14h+var_4], 0 call sub_40142E lea ecx, [esi+2Eh] mov byte ptr [esp+14h+var_4], 1 call sub_40142E lea ecx, [esi+43h] mov byte ptr [esp+14h+var_4], 2 call sub_40142E mov ecx, [esp+14h+var_C] mov eax, esi pop esi mov large fs:0, ecx add esp, 10h retn sub_414160 endp ; --------------------------------------------------------------------------- db 0Fh dup(90h) db 20h dup(0CCh) ; --------------------------------------------------------------------------- loc_4141F0: ; CODE XREF: ___:00401DD9j push 0FFFFFFFFh push offset dword_43AF10 mov eax, large fs:0 push eax mov large fs:0, esp push ecx mov eax, [esp+24h] push esi mov esi, ecx sub esp, 18h mov ecx, esp mov [esp+1Ch], esp push eax call sub_401870 mov edx, [esp+3Ch] sub esp, 18h mov ecx, esp mov [esp+58h], esp push edx mov dword ptr [esp+44h], 0 call sub_401870 mov eax, [esp+50h] sub esp, 18h mov ecx, esp mov [esp+6Ch], esp push eax mov byte ptr [esp+5Ch], 1 call sub_401870 mov edx, [esp+64h] sub esp, 18h mov ecx, esp mov [esp+80h], esp push edx mov byte ptr [esp+74h], 2 call sub_401870 mov eax, [esp+78h] sub esp, 18h mov ecx, esp mov [esp+94h], esp push eax mov byte ptr [esp+8Ch], 3 call sub_401870 mov ecx, esi mov dword ptr [esp+88h], 0FFFFFFFFh call sub_4018AC mov ecx, [esp+8] pop esi mov large fs:0, ecx add esp, 10h retn 14h ; --------------------------------------------------------------------------- db 4 dup(90h) db 30h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_4142E0 proc near ; CODE XREF: sub_401541j add ecx, 6Ch jmp sub_401C76 sub_4142E0 endp ; --------------------------------------------------------------------------- db 8 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_414300 proc near ; CODE XREF: sub_40137Fj 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 offset SEH_414300 mov eax, large fs:0 push eax mov large fs:0, esp sub esp, 8 push esi mov esi, ecx push 60h mov [esp+1Ch+var_4], 3 call near ptr word_437AEA add esp, 4 mov [esp+18h+var_10], eax test eax, eax mov byte ptr [esp+18h+var_4], 4 jz short loc_414343 mov ecx, eax call sub_401BF4 jmp short loc_414345 ; --------------------------------------------------------------------------- loc_414343: ; CODE XREF: sub_414300+38j xor eax, eax loc_414345: ; CODE XREF: sub_414300+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_40202C mov eax, [esp+18h+var_14] lea edx, [esp+18h+arg_18] push edx lea ecx, [eax+15h] call sub_40202C mov edx, [esp+18h+var_14] lea ecx, [esp+18h+arg_30] push ecx lea ecx, [edx+2Ah] call sub_40202C mov ecx, [esp+18h+var_14] lea eax, [esp+18h+arg_48] push eax add ecx, 3Fh call sub_40202C lea edx, [esp+18h+var_14] lea ecx, [esi+60h] push edx call sub_401F0F lea ecx, [esp+18h+arg_0] mov byte ptr [esp+18h+var_4], 2 call sub_401226 lea ecx, [esp+18h+arg_18] mov byte ptr [esp+18h+var_4], 1 call sub_401226 lea ecx, [esp+18h+arg_30] mov byte ptr [esp+18h+var_4], 0 call sub_401226 lea ecx, [esp+18h+arg_48] mov [esp+18h+var_4], 0FFFFFFFFh call sub_401226 mov ecx, [esp+18h+var_C] pop esi mov large fs:0, ecx add esp, 14h retn 60h sub_414300 endp ; --------------------------------------------------------------------------- db 9 dup(90h) db 40h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_414430 proc near ; CODE XREF: sub_401BF4j var_11 = byte ptr -11h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_4 = dword ptr -4 push 0FFFFFFFFh push offset SEH_414430 mov eax, large fs:0 push eax mov large fs:0, esp sub esp, 8 push esi mov esi, ecx mov [esp+18h+var_10], esi call sub_40142E lea ecx, [esi+15h] mov [esp+18h+var_4], 0 call sub_40142E lea ecx, [esi+2Ah] mov byte ptr [esp+18h+var_4], 1 call sub_40142E lea ecx, [esi+3Fh] mov byte ptr [esp+18h+var_4], 2 call sub_40142E lea eax, [esp+18h+var_11] lea ecx, [esi+54h] push eax mov byte ptr [esp+1Ch+var_4], 3 call sub_40132A mov ecx, [esp+18h+var_C] mov eax, esi pop esi mov large fs:0, ecx add esp, 14h retn sub_414430 endp ; --------------------------------------------------------------------------- db 0Eh dup(90h) db 20h dup(0CCh) ; --------------------------------------------------------------------------- loc_4144D0: ; CODE XREF: ___:004010FAj push 0FFFFFFFFh push offset dword_43AFD8 mov eax, large fs:0 push eax mov large fs:0, esp push ecx mov eax, [esp+20h] push esi mov esi, ecx sub esp, 18h mov ecx, esp mov [esp+1Ch], esp push eax call sub_401870 mov edx, [esp+38h] sub esp, 18h mov ecx, esp mov [esp+54h], esp push edx mov dword ptr [esp+44h], 0 call sub_401870 mov eax, [esp+4Ch] sub esp, 18h mov ecx, esp mov [esp+68h], esp push eax mov byte ptr [esp+5Ch], 1 call sub_401870 mov edx, [esp+60h] sub esp, 18h mov ecx, esp mov [esp+7Ch], esp push edx mov byte ptr [esp+74h], 2 call sub_401870 mov ecx, esi mov dword ptr [esp+70h], 0FFFFFFFFh call sub_40137F mov ecx, [esp+8] pop esi mov large fs:0, ecx add esp, 10h retn 10h ; --------------------------------------------------------------------------- db 8 dup(90h) db 30h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_4145A0 proc near ; CODE XREF: sub_401DC0j var_14 = dword ptr -14h var_10 = dword ptr -10h var_C = dword ptr -0Ch var_4 = dword ptr -4 arg_0 = byte ptr 4 arg_18 = dword ptr 1Ch push 0FFFFFFFFh push offset SEH_4145A0 mov eax, large fs:0 push eax mov large fs:0, esp sub esp, 8 push esi lea ecx, [esp+18h+var_14] mov [esp+18h+var_4], 0 mov [esp+18h+var_10], 0 call sub_401E38 mov eax, [esp+18h+arg_18] lea ecx, [esp+18h+arg_18] push ecx lea esi, [eax+54h] mov ecx, esi call sub_4012E9 mov edx, [eax] lea eax, [esp+18h+arg_18] push eax mov ecx, esi mov [esp+1Ch+var_14], edx call sub_401D9D push eax lea ecx, [esp+1Ch+var_14] call sub_401D70 test al, al jz short loc_414650 loc_414605: ; CODE XREF: sub_4145A0+AEj lea ecx, [esp+18h+arg_0] push ecx lea ecx, [esp+1Ch+var_14] call sub_401FC3 mov ecx, [eax] call sub_401B86 test eax, eax jnz short loc_41462D lea ecx, [esp+18h+var_14] call sub_401FC3 mov edx, [eax] mov [esp+18h+var_10], edx loc_41462D: ; CODE XREF: sub_4145A0+7Cj lea ecx, [esp+18h+var_14] call sub_4020C2 lea eax, [esp+18h+arg_18] mov ecx, esi push eax call sub_401D9D push eax lea ecx, [esp+1Ch+var_14] call sub_401D70 test al, al jnz short loc_414605 loc_414650: ; CODE XREF: sub_4145A0+63j mov eax, [esp+18h+var_10] test eax, eax jz short loc_414698 lea ecx, [esp+18h+var_10] push ecx mov ecx, esi call sub_401258 mov ecx, [esp+18h+var_10] test ecx, ecx jz short loc_414673 push 1 call sub_4019EC loc_414673: ; CODE XREF: sub_4145A0+CAj lea ecx, [esp+18h+arg_0] mov [esp+18h+var_4], 0FFFFFFFFh call sub_401226 mov al, 1 pop esi mov ecx, [esp+14h+var_C] mov large fs:0, ecx add esp, 14h retn 1Ch ; --------------------------------------------------------------------------- loc_414698: ; CODE XREF: sub_4145A0+B6j lea ecx, [esp+18h+arg_0] mov [esp+18h+var_4], 0FFFFFFFFh call sub_401226 mov ecx, [esp+18h+var_C] xor al, al pop esi mov large fs:0, ecx add esp, 14h retn 1Ch sub_4145A0 endp ; --------------------------------------------------------------------------- db 3 dup(90h) db 50h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_414710 proc near ; CODE XREF: sub_4019ECj arg_0 = byte ptr 4 push esi mov esi, ecx call sub_402243 test [esp+4+arg_0], 1 jz short loc_414728 push esi call near ptr word_437AD2 add esp, 4 loc_414728: ; CODE XREF: sub_414710+Dj mov eax, esi pop esi retn 4 sub_414710 endp ; --------------------------------------------------------------------------- db 2 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= ; Attributes: thunk sub_414740 proc near ; CODE XREF: sub_402243j jmp sub_401226 sub_414740 endp ; --------------------------------------------------------------------------- db 0Bh dup(90h) db 10h dup(0CCh) ; --------------------------------------------------------------------------- loc_414760: ; CODE XREF: ___:00401276j push 0FFFFFFFFh push offset dword_43B020 mov eax, large fs:0 push eax mov large fs:0, esp sub esp, 20h push ebx push ebp push esi push edi mov ebp, ecx xor ebx, ebx push offset dword_444C7C lea eax, [esp+1Ch] push ebx push eax lea ecx, [esp+4Ch] mov [esp+44h], ebx mov byte ptr [esp+1Fh], 1 xor esi, esi call sub_4016B8 push offset byte_448F40 mov ecx, eax mov byte ptr [esp+3Ch], 1 call sub_4012EE lea ecx, [esp+18h] mov edi, eax mov [esp+38h], bl call sub_401226 cmp edi, ebx jz short loc_414829 loc_4147C3: ; CODE XREF: ___:00414827j mov ecx, [esp+58h] push ecx lea ecx, [esp+44h] sub esp, 18h mov edx, esp mov [esp+30h], esp push offset dword_444C7C push esi push edx call sub_4016B8 mov ecx, ebp call sub_401DC0 cmp al, bl jnz short loc_4147F0 mov [esp+13h], bl loc_4147F0: ; CODE XREF: ___:004147EAj inc esi push offset dword_444C7C lea eax, [esp+1Ch] push esi push eax lea ecx, [esp+4Ch] call sub_4016B8 push offset byte_448F40 mov ecx, eax mov byte ptr [esp+3Ch], 1 call sub_4012EE lea ecx, [esp+18h] mov edi, eax mov [esp+38h], bl call sub_401226 cmp edi, ebx jnz short loc_4147C3 loc_414829: ; CODE XREF: ___:004147C1j lea ecx, [esp+40h] mov dword ptr [esp+38h], 0FFFFFFFFh call sub_401226 mov ecx, [esp+30h] mov al, [esp+13h] pop edi pop esi pop ebp mov large fs:0, ecx pop ebx add esp, 2Ch retn 1Ch ; --------------------------------------------------------------------------- db 0Dh dup(90h) db 40h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_4148A0 proc near ; CODE XREF: sub_40212Bj var_18 = dword ptr -18h var_14 = dword ptr -14h var_10 = byte ptr -10h var_C = dword ptr -0Ch var_4 = dword ptr -4 arg_0 = byte ptr 4 arg_18 = byte ptr 1Ch push 0FFFFFFFFh push offset SEH_4148A0 mov eax, large fs:0 push eax mov large fs:0, esp sub esp, 0Ch push esi mov esi, ecx lea ecx, [esp+1Ch+arg_0] mov [esp+1Ch+var_4], 1 call sub_4017EE test eax, eax jz loc_4149D4 lea ecx, [esp+1Ch+var_18] mov [esp+1Ch+var_14], 0 call sub_402275 add esi, 6Ch lea eax, [esp+1Ch+var_10] push eax mov ecx, esi call sub_401901 mov ecx, [eax] lea edx, [esp+1Ch+var_10] mov [esp+1Ch+var_18], ecx push edx mov ecx, esi call sub_40114A push eax lea ecx, [esp+20h+var_18] call sub_401339 test al, al jz short loc_41497E loc_414914: ; CODE XREF: sub_4148A0+DCj lea eax, [esp+1Ch+arg_0] lea ecx, [esp+1Ch+var_18] push eax call sub_40135C mov ecx, [eax] add ecx, 4 call sub_401B86 test eax, eax jz short loc_41494C lea ecx, [esp+1Ch+arg_18] push ecx lea ecx, [esp+20h+var_18] call sub_40135C mov ecx, [eax] add ecx, 19h call sub_401B86 test eax, eax jnz short loc_41495B loc_41494C: ; CODE XREF: sub_4148A0+8Ej lea ecx, [esp+1Ch+var_18] call sub_40135C mov edx, [eax] mov [esp+1Ch+var_14], edx loc_41495B: ; CODE XREF: sub_4148A0+AAj lea ecx, [esp+1Ch+var_18] call sub_40118B lea eax, [esp+1Ch+var_10] mov ecx, esi push eax call sub_40114A push eax lea ecx, [esp+20h+var_18] call sub_401339 test al, al jnz short loc_414914 loc_41497E: ; CODE XREF: sub_4148A0+72j mov eax, [esp+1Ch+var_14] test eax, eax jz short loc_4149D4 lea ecx, [esp+1Ch+var_14] push ecx mov ecx, esi call sub_40214E mov ecx, [esp+1Ch+var_14] test ecx, ecx jz short loc_4149A1 push 1 call sub_401708 loc_4149A1: ; CODE XREF: sub_4148A0+F8j lea ecx, [esp+1Ch+arg_0] mov byte ptr [esp+1Ch+var_4], 0 call sub_401226 lea ecx, [esp+1Ch+arg_18] mov [esp+1Ch+var_4], 0FFFFFFFFh call sub_401226 mov al, 1 pop esi mov ecx, [esp+18h+var_C] mov large fs:0, ecx add esp, 18h retn 30h ; --------------------------------------------------------------------------- loc_4149D4: ; CODE XREF: sub_4148A0+2Ej ; sub_4148A0+E4j lea ecx, [esp+1Ch+arg_0] mov byte ptr [esp+1Ch+var_4], 0 call sub_401226 lea ecx, [esp+1Ch+arg_18] mov [esp+1Ch+var_4], 0FFFFFFFFh call sub_401226 mov ecx, [esp+1Ch+var_C] xor al, al pop esi mov large fs:0, ecx add esp, 18h retn 30h sub_4148A0 endp ; --------------------------------------------------------------------------- db 9 dup(90h) db 60h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_414A70 proc near ; CODE XREF: sub_401708j arg_0 = byte ptr 4 push esi mov esi, ecx call sub_401A6E test [esp+4+arg_0], 1 jz short loc_414A88 push esi call near ptr word_437AD2 add esp, 4 loc_414A88: ; CODE XREF: sub_414A70+Dj mov eax, esi pop esi retn 4 sub_414A70 endp ; --------------------------------------------------------------------------- db 2 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_414AA0 proc near ; CODE XREF: sub_401A6Ej var_10 = dword ptr -10h var_C = dword ptr -0Ch var_4 = dword ptr -4 push 0FFFFFFFFh push offset SEH_414AA0 mov eax, large fs:0 push eax mov large fs:0, esp push ecx push esi mov esi, ecx mov [esp+14h+var_10], esi lea ecx, [esi+43h] mov [esp+14h+var_4], 2 call sub_401226 lea ecx, [esi+2Eh] mov byte ptr [esp+14h+var_4], 1 call sub_401226 lea ecx, [esi+19h] mov byte ptr [esp+14h+var_4], 0 call sub_401226 lea ecx, [esi+4] mov [esp+14h+var_4], 0FFFFFFFFh call sub_401226 mov ecx, [esp+14h+var_C] pop esi mov large fs:0, ecx add esp, 10h retn sub_414AA0 endp ; --------------------------------------------------------------------------- db 9 dup(90h) db 20h dup(0CCh) ; --------------------------------------------------------------------------- loc_414B30: ; CODE XREF: ___:004013B1j push 0FFFFFFFFh push offset dword_43B098 mov eax, large fs:0 push eax mov large fs:0, esp push ecx mov eax, [esp+18h] push esi mov esi, ecx sub esp, 18h mov ecx, esp mov [esp+1Ch], esp push eax call sub_401870 mov edx, [esp+30h] sub esp, 18h mov ecx, esp mov [esp+4Ch], esp push edx mov dword ptr [esp+44h], 0 call sub_401870 mov ecx, esi mov dword ptr [esp+40h], 0FFFFFFFFh call sub_40212B mov ecx, [esp+8] pop esi mov large fs:0, ecx add esp, 10h retn 8 ; --------------------------------------------------------------------------- db 8 dup(90h) db 20h dup(0CCh) ; --------------------------------------------------------------------------- loc_414BC0: ; CODE XREF: ___:00401B45j push 0FFFFFFFFh push offset dword_43B0B8 mov eax, large fs:0 push eax mov large fs:0, esp sub esp, 0Ch push esi mov esi, ecx lea ecx, [esp+20h] mov dword ptr [esp+18h], 0 call sub_4017EE test eax, eax jz loc_414CC7 lea ecx, [esp+4] mov dword ptr [esp+8], 0 call sub_401037 add esi, 60h lea eax, [esp+0Ch] push eax mov ecx, esi call sub_401992 mov ecx, [eax] lea edx, [esp+0Ch] mov [esp+4], ecx push edx mov ecx, esi call sub_402257 push eax lea ecx, [esp+8] call sub_401AEB test al, al jz short loc_414C7F loc_414C34: ; CODE XREF: ___:00414C7Dj lea eax, [esp+20h] lea ecx, [esp+4] push eax call sub_4011D1 mov ecx, [eax] call sub_401B86 test eax, eax jnz short loc_414C5C lea ecx, [esp+4] call sub_4011D1 mov ecx, [eax] mov [esp+8], ecx loc_414C5C: ; CODE XREF: ___:00414C4Bj lea ecx, [esp+4] call sub_4018C5 lea edx, [esp+0Ch] mov ecx, esi push edx call sub_402257 push eax lea ecx, [esp+8] call sub_401AEB test al, al jnz short loc_414C34 loc_414C7F: ; CODE XREF: ___:00414C32j mov eax, [esp+8] test eax, eax jz short loc_414CC7 lea eax, [esp+8] mov ecx, esi push eax call sub_401154 mov ecx, [esp+8] test ecx, ecx jz short loc_414CA2 push 1 call sub_4011C7 loc_414CA2: ; CODE XREF: ___:00414C99j lea ecx, [esp+20h] mov dword ptr [esp+18h], 0FFFFFFFFh call sub_401226 mov al, 1 pop esi mov ecx, [esp+0Ch] mov large fs:0, ecx add esp, 18h retn 18h ; --------------------------------------------------------------------------- loc_414CC7: ; CODE XREF: ___:00414BEEj ; ___:00414C85j lea ecx, [esp+20h] mov dword ptr [esp+18h], 0FFFFFFFFh call sub_401226 mov ecx, [esp+10h] xor al, al pop esi mov large fs:0, ecx add esp, 18h retn 18h ; --------------------------------------------------------------------------- db 4 dup(90h) db 50h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_414D40 proc near ; CODE XREF: sub_4011C7j arg_0 = byte ptr 4 push esi mov esi, ecx call sub_401B59 test [esp+4+arg_0], 1 jz short loc_414D58 push esi call near ptr word_437AD2 add esp, 4 loc_414D58: ; CODE XREF: sub_414D40+Dj mov eax, esi pop esi retn 4 sub_414D40 endp ; --------------------------------------------------------------------------- db 2 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_414D70 proc near ; CODE XREF: sub_401B59j var_10 = dword ptr -10h var_C = dword ptr -0Ch var_4 = dword ptr -4 push 0FFFFFFFFh push offset SEH_414D70 mov eax, large fs:0 push eax mov large fs:0, esp push ecx push esi mov esi, ecx mov [esp+14h+var_10], esi lea ecx, [esi+54h] mov [esp+14h+var_4], 3 call sub_401582 lea ecx, [esi+3Fh] mov byte ptr [esp+14h+var_4], 2 call sub_401226 lea ecx, [esi+2Ah] mov byte ptr [esp+14h+var_4], 1 call sub_401226 lea ecx, [esi+15h] mov byte ptr [esp+14h+var_4], 0 call sub_401226 mov ecx, esi mov [esp+14h+var_4], 0FFFFFFFFh call sub_401226 mov ecx, [esp+14h+var_C] pop esi mov large fs:0, ecx add esp, 10h retn sub_414D70 endp ; --------------------------------------------------------------------------- db 0Dh dup(90h) db 20h dup(0CCh) ; --------------------------------------------------------------------------- loc_414E10: ; CODE XREF: ___:004014C9j mov eax, large fs:0 push 0FFFFFFFFh push offset dword_43B148 push eax mov large fs:0, esp sub esp, 40h push ebx push esi mov esi, [esp+58h] push edi mov edi, ecx lea ebx, [esi+7Eh] lea ecx, [edi+32h] call sub_4014DD push eax mov ecx, ebx call sub_4012EE test eax, eax jnz loc_414F0B sub esp, 18h lea eax, [esi+15h] mov ecx, esp mov [esp+74h], esp push eax call sub_4014D3 sub esp, 18h mov dword ptr [esp+84h], 0 mov ecx, esp mov [esp+3Ch], esp push offset byte_448F40 call sub_401870 or ebx, 0FFFFFFFFh mov ecx, offset word_44AC6E mov [esp+84h], ebx call sub_40212B test al, al jz loc_415040 push 0 push 5 push 19h push 2 push 4 push 0Fh push 0Fh lea ecx, [esp+38h] push 21h push ecx call sub_4019C4 add esp, 24h mov edi, eax lea ecx, [esi+69h] mov dword ptr [esp+54h], 1 call sub_4014DD push eax mov ecx, edi call sub_4014DD mov dl, [esi+94h] push eax mov al, [esi+93h] push edx push eax mov ecx, offset byte_4D8085 call sub_401118 lea ecx, [esp+1Ch] mov [esp+54h], ebx call sub_401226 mov al, 1 mov ecx, [esp+4Ch] mov large fs:0, ecx pop edi pop esi pop ebx add esp, 4Ch retn 4 ; --------------------------------------------------------------------------- loc_414F0B: ; CODE XREF: ___:00414E46j lea ecx, [edi+4] call sub_4014DD push eax mov ecx, ebx call sub_4012EE test eax, eax jnz loc_415040 sub esp, 18h lea edx, [esi+54h] mov ecx, esp mov [esp+74h], esp push edx call sub_4014D3 sub esp, 18h lea eax, [esi+3Fh] mov ecx, esp mov [esp+3Ch], esp push eax mov dword ptr [esp+88h], 2 call sub_4014D3 sub esp, 18h lea edx, [esi+15h] mov ecx, esp mov [esp+58h], esp push edx mov byte ptr [esp+0A0h], 3 call sub_4014D3 sub esp, 18h mov ecx, esi mov eax, esp mov [esp+74h], esp push 1 push offset dword_444600 push 2 push eax mov byte ptr [esp+0C4h], 4 call sub_4011EA sub esp, 18h mov byte ptr [esp+0CCh], 5 mov ecx, esp mov [esp+90h], esp push 1 push offset dword_444600 push 1 push ecx mov ecx, esi call sub_4011EA or ebx, 0FFFFFFFFh mov ecx, offset word_44AC6E mov [esp+0CCh], ebx call sub_4018AC test al, al jz short loc_415040 push 0 push 4 push 5 push 14h push 10h push 5 push 3 push 3 lea edx, [esp+54h] push 1Bh push edx call sub_4019C4 add esp, 28h mov edi, eax lea ecx, [esi+69h] mov dword ptr [esp+54h], 6 call sub_4014DD push eax mov ecx, edi call sub_4014DD mov cl, [esi+93h] push eax mov al, [esi+94h] push eax push ecx mov ecx, offset byte_4D8085 call sub_401118 lea ecx, [esp+34h] mov [esp+54h], ebx call sub_401226 mov al, 1 mov ecx, [esp+4Ch] mov large fs:0, ecx pop edi pop esi pop ebx add esp, 4Ch retn 4 ; --------------------------------------------------------------------------- loc_415040: ; CODE XREF: ___:00414E92j ; ___:00414F1Dj ... mov ecx, [esp+4Ch] pop edi pop esi xor al, al mov large fs:0, ecx pop ebx add esp, 4Ch retn 4 ; --------------------------------------------------------------------------- db 0Ah dup(90h) db 0A0h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_415100 proc near ; CODE XREF: sub_40132Aj arg_0 = dword ptr 4 mov eax, [esp+arg_0] push esi mov esi, ecx push 0 mov cl, [eax] push 0 mov [esi], cl mov ecx, esi call sub_401ED8 mov [esi+4], eax mov dword ptr [esi+8], 0 mov eax, esi pop esi retn 4 sub_415100 endp ; --------------------------------------------------------------------------- db 0Ah dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_415140 proc near ; CODE XREF: sub_401726j 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_401ED8 lea ecx, [esp+10h+arg_0] mov [esi+4], eax push ecx mov ecx, edi mov dword ptr [esi+8], 0 call sub_4016D6 mov edx, [eax] lea eax, [esp+10h+var_8] push edx push eax mov ecx, edi call sub_40113B mov ecx, [eax] lea edx, [esp+14h+var_4] push ecx push edx mov ecx, esi call sub_4012E9 mov eax, [eax] mov ecx, esi push eax call sub_401735 mov eax, esi pop edi pop esi add esp, 8 retn 4 sub_415140 endp ; --------------------------------------------------------------------------- db 20h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_4151C0 proc near ; CODE XREF: sub_401582j var_C = byte ptr -0Ch var_8 = byte ptr -8 var_4 = byte ptr -4 sub esp, 0Ch lea eax, [esp+0Ch+var_C] push esi mov esi, ecx push eax call sub_401D9D mov ecx, [eax] lea edx, [esp+10h+var_8] push ecx push edx mov ecx, esi call sub_4012E9 mov eax, [eax] lea ecx, [esp+14h+var_4] push eax push ecx mov ecx, esi call sub_40146F mov edx, [esi+4] mov ecx, esi push edx call sub_401CE9 xor eax, eax mov [esi+4], eax mov [esi+8], eax pop esi add esp, 0Ch retn sub_4151C0 endp ; --------------------------------------------------------------------------- db 0Ah dup(90h) db 20h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_415230 proc near ; CODE XREF: sub_4012E9j var_4 = byte ptr -4 arg_0 = dword ptr 4 push ecx mov eax, [ecx+4] push eax call sub_4020A9 mov ecx, [eax] add esp, 4 push ecx lea ecx, [esp+8+var_4] call sub_401DBB mov edx, [eax] mov eax, [esp+4+arg_0] mov [eax], edx pop ecx retn 4 sub_415230 endp ; --------------------------------------------------------------------------- db 0Bh dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_415270 proc near ; CODE XREF: sub_401D9Dj var_4 = byte ptr -4 arg_0 = dword ptr 4 push ecx mov eax, [ecx+4] lea ecx, [esp+4+var_4] push eax call sub_401DBB mov ecx, [eax] mov eax, [esp+4+arg_0] mov [eax], ecx pop ecx retn 4 sub_415270 endp ; --------------------------------------------------------------------------- db 6 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_4152A0 proc near ; CODE XREF: sub_401488j var_4 = byte ptr -4 arg_0 = dword ptr 4 push ecx mov eax, [esp+4+arg_0] push esi mov esi, ecx push eax lea ecx, [esp+0Ch+arg_0] push ecx mov ecx, esi call sub_401D9D mov edx, [eax] lea eax, [esp+0Ch+var_4] push edx push eax mov ecx, esi call sub_40217B pop esi pop ecx retn 4 sub_4152A0 endp ; --------------------------------------------------------------------------- db 7 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_4152E0 proc near ; CODE XREF: sub_401258j var_C = dword ptr -0Ch var_8 = dword ptr -8 var_4 = byte ptr -4 arg_0 = dword ptr 4 sub esp, 0Ch lea eax, [esp+0Ch+var_4] push esi mov esi, ecx push eax call sub_401D9D mov ecx, [eax] lea edx, [esp+10h+var_4] mov [esp+10h+var_8], ecx push edx mov ecx, esi call sub_4012E9 mov eax, [eax] lea ecx, [esp+10h+var_8] push ecx lea ecx, [esp+14h+var_C] mov [esp+14h+var_C], eax call sub_401D70 test al, al jz short loc_41536D push edi mov edi, [esp+14h+arg_0] loc_41531F: ; CODE XREF: sub_4152E0+8Aj lea ecx, [esp+14h+var_C] call sub_401FC3 mov edx, [eax] mov eax, [edi] cmp edx, eax jnz short loc_415351 lea eax, [esp+14h+arg_0] push 0 push eax lea ecx, [esp+1Ch+var_C] call sub_401578 mov ecx, [eax] lea edx, [esp+14h+var_4] push ecx push edx mov ecx, esi call sub_401FCD jmp short loc_41535A ; --------------------------------------------------------------------------- loc_415351: ; CODE XREF: sub_4152E0+4Ej lea ecx, [esp+14h+var_C] call sub_4020C2 loc_41535A: ; CODE XREF: sub_4152E0+6Fj lea eax, [esp+14h+var_8] lea ecx, [esp+14h+var_C] push eax call sub_401D70 test al, al jnz short loc_41531F pop edi loc_41536D: ; CODE XREF: sub_4152E0+38j pop esi add esp, 0Ch retn 4 sub_4152E0 endp ; --------------------------------------------------------------------------- db 0Ch dup(90h) db 30h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_4153B0 proc near ; CODE XREF: sub_401E38j push esi mov esi, ecx call sub_401ED3 mov eax, esi pop esi retn sub_4153B0 endp ; --------------------------------------------------------------------------- db 4 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_4153D0 proc near ; CODE XREF: sub_401FC3j mov eax, [ecx] push eax call sub_401F19 add esp, 4 retn sub_4153D0 endp ; --------------------------------------------------------------------------- db 4 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_4153F0 proc near ; CODE XREF: sub_4020C2j push esi mov esi, ecx mov eax, [esi] push eax call sub_4020A9 mov ecx, [eax] add esp, 4 mov [esi], ecx mov eax, esi pop esi retn sub_4153F0 endp ; --------------------------------------------------------------------------- db 0Ah dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_415420 proc near ; CODE XREF: sub_401D70j arg_0 = dword ptr 4 mov eax, [esp+arg_0] push eax call sub_4015D7 neg al sbb eax, eax inc eax retn 4 sub_415420 endp ; --------------------------------------------------------------------------- db 0Eh dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_415450 proc near ; CODE XREF: sub_401F23j arg_0 = dword ptr 4 mov eax, [esp+arg_0] push esi mov esi, ecx push 0 mov cl, [eax] push 0 mov [esi], cl mov ecx, esi call sub_401C8F mov [esi+4], eax mov dword ptr [esi+8], 0 mov eax, esi pop esi retn 4 sub_415450 endp ; --------------------------------------------------------------------------- db 0Ah dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_415490 proc near ; CODE XREF: sub_4011B8j var_C = byte ptr -0Ch var_8 = byte ptr -8 var_4 = byte ptr -4 sub esp, 0Ch lea eax, [esp+0Ch+var_C] push esi mov esi, ecx push eax call sub_402257 mov ecx, [eax] lea edx, [esp+10h+var_8] push ecx push edx mov ecx, esi call sub_401992 mov eax, [eax] lea ecx, [esp+14h+var_4] push eax push ecx mov ecx, esi call sub_40132F mov edx, [esi+4] mov ecx, esi push edx call sub_401E33 xor eax, eax mov [esi+4], eax mov [esi+8], eax pop esi add esp, 0Ch retn sub_415490 endp ; --------------------------------------------------------------------------- db 0Ah dup(90h) db 20h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_415500 proc near ; CODE XREF: sub_401992j var_4 = byte ptr -4 arg_0 = dword ptr 4 push ecx mov eax, [ecx+4] push eax call sub_401249 mov ecx, [eax] add esp, 4 push ecx lea ecx, [esp+8+var_4] call sub_401CDA mov edx, [eax] mov eax, [esp+4+arg_0] mov [eax], edx pop ecx retn 4 sub_415500 endp ; --------------------------------------------------------------------------- db 0Bh dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_415540 proc near ; CODE XREF: sub_402257j var_4 = byte ptr -4 arg_0 = dword ptr 4 push ecx mov eax, [ecx+4] lea ecx, [esp+4+var_4] push eax call sub_401CDA mov ecx, [eax] mov eax, [esp+4+arg_0] mov [eax], ecx pop ecx retn 4 sub_415540 endp ; --------------------------------------------------------------------------- db 6 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_415570 proc near ; CODE XREF: sub_401F0Fj var_4 = byte ptr -4 arg_0 = dword ptr 4 push ecx mov eax, [esp+4+arg_0] push esi mov esi, ecx push eax lea ecx, [esp+0Ch+arg_0] push ecx mov ecx, esi call sub_402257 mov edx, [eax] lea eax, [esp+0Ch+var_4] push edx push eax mov ecx, esi call sub_401AAA pop esi pop ecx retn 4 sub_415570 endp ; --------------------------------------------------------------------------- db 7 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_4155B0 proc near ; CODE XREF: sub_401933j var_C = byte ptr -0Ch var_8 = byte ptr -8 var_4 = byte ptr -4 sub esp, 0Ch lea eax, [esp+0Ch+var_C] push esi mov esi, ecx push eax call sub_402257 mov ecx, [eax] lea edx, [esp+10h+var_8] push ecx push edx mov ecx, esi call sub_401992 mov eax, [eax] lea ecx, [esp+14h+var_4] push eax push ecx mov ecx, esi call sub_40132F pop esi add esp, 0Ch retn sub_4155B0 endp ; --------------------------------------------------------------------------- db 0Dh dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_415600 proc near ; CODE XREF: sub_401154j var_C = dword ptr -0Ch var_8 = dword ptr -8 var_4 = byte ptr -4 arg_0 = dword ptr 4 sub esp, 0Ch lea eax, [esp+0Ch+var_4] push esi mov esi, ecx push eax call sub_402257 mov ecx, [eax] lea edx, [esp+10h+var_4] mov [esp+10h+var_8], ecx push edx mov ecx, esi call sub_401992 mov eax, [eax] lea ecx, [esp+10h+var_8] push ecx lea ecx, [esp+14h+var_C] mov [esp+14h+var_C], eax call sub_401AEB test al, al jz short loc_41568D push edi mov edi, [esp+14h+arg_0] loc_41563F: ; CODE XREF: sub_415600+8Aj lea ecx, [esp+14h+var_C] call sub_4011D1 mov edx, [eax] mov eax, [edi] cmp edx, eax jnz short loc_415671 lea eax, [esp+14h+arg_0] push 0 push eax lea ecx, [esp+1Ch+var_C] call sub_4010DC mov ecx, [eax] lea edx, [esp+14h+var_4] push ecx push edx mov ecx, esi call sub_4017E9 jmp short loc_41567A ; --------------------------------------------------------------------------- loc_415671: ; CODE XREF: sub_415600+4Ej lea ecx, [esp+14h+var_C] call sub_4018C5 loc_41567A: ; CODE XREF: sub_415600+6Fj lea eax, [esp+14h+var_8] lea ecx, [esp+14h+var_C] push eax call sub_401AEB test al, al jnz short loc_41563F pop edi loc_41568D: ; CODE XREF: sub_415600+38j pop esi add esp, 0Ch retn 4 sub_415600 endp ; --------------------------------------------------------------------------- db 0Ch dup(90h) db 30h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_4156D0 proc near ; CODE XREF: sub_401037j push esi mov esi, ecx call sub_401E97 mov eax, esi pop esi retn sub_4156D0 endp ; --------------------------------------------------------------------------- db 4 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_4156F0 proc near ; CODE XREF: sub_4011D1j mov eax, [ecx] push eax call sub_402144 add esp, 4 retn sub_4156F0 endp ; --------------------------------------------------------------------------- db 4 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_415710 proc near ; CODE XREF: sub_4018C5j push esi mov esi, ecx mov eax, [esi] push eax call sub_401249 mov ecx, [eax] add esp, 4 mov [esi], ecx mov eax, esi pop esi retn sub_415710 endp ; --------------------------------------------------------------------------- db 0Ah dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_415740 proc near ; CODE XREF: sub_401AEBj arg_0 = dword ptr 4 mov eax, [esp+arg_0] push eax call sub_401EC4 neg al sbb eax, eax inc eax retn 4 sub_415740 endp ; --------------------------------------------------------------------------- db 0Eh dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_415770 proc near ; CODE XREF: sub_401852j arg_0 = dword ptr 4 mov eax, [esp+arg_0] push esi mov esi, ecx push 0 mov cl, [eax] push 0 mov [esi], cl mov ecx, esi call sub_401DB6 mov [esi+4], eax mov dword ptr [esi+8], 0 mov eax, esi pop esi retn 4 sub_415770 endp ; --------------------------------------------------------------------------- db 0Ah dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_4157B0 proc near ; CODE XREF: sub_4014BFj var_C = byte ptr -0Ch var_8 = byte ptr -8 var_4 = byte ptr -4 sub esp, 0Ch lea eax, [esp+0Ch+var_C] push esi mov esi, ecx push eax call sub_40114A mov ecx, [eax] lea edx, [esp+10h+var_8] push ecx push edx mov ecx, esi call sub_401901 mov eax, [eax] lea ecx, [esp+14h+var_4] push eax push ecx mov ecx, esi call sub_40140B mov edx, [esi+4] mov ecx, esi push edx call sub_401F14 xor eax, eax mov [esi+4], eax mov [esi+8], eax pop esi add esp, 0Ch retn sub_4157B0 endp ; --------------------------------------------------------------------------- db 0Ah dup(90h) db 20h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_415820 proc near ; CODE XREF: sub_401901j var_4 = byte ptr -4 arg_0 = dword ptr 4 push ecx mov eax, [ecx+4] push eax call sub_401BCC mov ecx, [eax] add esp, 4 push ecx lea ecx, [esp+8+var_4] call sub_401D7A mov edx, [eax] mov eax, [esp+4+arg_0] mov [eax], edx pop ecx retn 4 sub_415820 endp ; --------------------------------------------------------------------------- db 0Bh dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_415860 proc near ; CODE XREF: sub_40114Aj var_4 = byte ptr -4 arg_0 = dword ptr 4 push ecx mov eax, [ecx+4] lea ecx, [esp+4+var_4] push eax call sub_401D7A mov ecx, [eax] mov eax, [esp+4+arg_0] mov [eax], ecx pop ecx retn 4 sub_415860 endp ; --------------------------------------------------------------------------- db 6 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_415890 proc near ; CODE XREF: sub_401410j var_4 = byte ptr -4 arg_0 = dword ptr 4 push ecx mov eax, [esp+4+arg_0] push esi mov esi, ecx push eax lea ecx, [esp+0Ch+arg_0] push ecx mov ecx, esi call sub_40114A mov edx, [eax] lea eax, [esp+0Ch+var_4] push edx push eax mov ecx, esi call sub_401D11 pop esi pop ecx retn 4 sub_415890 endp ; --------------------------------------------------------------------------- db 7 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_4158D0 proc near ; CODE XREF: sub_401C76j var_C = byte ptr -0Ch var_8 = byte ptr -8 var_4 = byte ptr -4 sub esp, 0Ch lea eax, [esp+0Ch+var_C] push esi mov esi, ecx push eax call sub_40114A mov ecx, [eax] lea edx, [esp+10h+var_8] push ecx push edx mov ecx, esi call sub_401901 mov eax, [eax] lea ecx, [esp+14h+var_4] push eax push ecx mov ecx, esi call sub_40140B pop esi add esp, 0Ch retn sub_4158D0 endp ; --------------------------------------------------------------------------- db 0Dh dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_415920 proc near ; CODE XREF: sub_40214Ej var_C = dword ptr -0Ch var_8 = dword ptr -8 var_4 = byte ptr -4 arg_0 = dword ptr 4 sub esp, 0Ch lea eax, [esp+0Ch+var_4] push esi mov esi, ecx push eax call sub_40114A mov ecx, [eax] lea edx, [esp+10h+var_4] mov [esp+10h+var_8], ecx push edx mov ecx, esi call sub_401901 mov eax, [eax] lea ecx, [esp+10h+var_8] push ecx lea ecx, [esp+14h+var_C] mov [esp+14h+var_C], eax call sub_401339 test al, al jz short loc_4159AD push edi mov edi, [esp+14h+arg_0] loc_41595F: ; CODE XREF: sub_415920+8Aj lea ecx, [esp+14h+var_C] call sub_40135C mov edx, [eax] mov eax, [edi] cmp edx, eax jnz short loc_415991 lea eax, [esp+14h+arg_0] push 0 push eax lea ecx, [esp+1Ch+var_C] call sub_401EBF mov ecx, [eax] lea edx, [esp+14h+var_4] push ecx push edx mov ecx, esi call sub_401078 jmp short loc_41599A ; --------------------------------------------------------------------------- loc_415991: ; CODE XREF: sub_415920+4Ej lea ecx, [esp+14h+var_C] call sub_40118B loc_41599A: ; CODE XREF: sub_415920+6Fj lea eax, [esp+14h+var_8] lea ecx, [esp+14h+var_C] push eax call sub_401339 test al, al jnz short loc_41595F pop edi loc_4159AD: ; CODE XREF: sub_415920+38j pop esi add esp, 0Ch retn 4 sub_415920 endp ; --------------------------------------------------------------------------- db 0Ch dup(90h) db 30h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_4159F0 proc near ; CODE XREF: sub_402275j push esi mov esi, ecx call sub_401E42 mov eax, esi pop esi retn sub_4159F0 endp ; --------------------------------------------------------------------------- db 4 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_415A10 proc near ; CODE XREF: sub_40135Cj mov eax, [ecx] push eax call sub_4017E4 add esp, 4 retn sub_415A10 endp ; --------------------------------------------------------------------------- db 4 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_415A30 proc near ; CODE XREF: sub_40118Bj push esi mov esi, ecx mov eax, [esi] push eax call sub_401BCC mov ecx, [eax] add esp, 4 mov [esi], ecx mov eax, esi pop esi retn sub_415A30 endp ; --------------------------------------------------------------------------- db 0Ah dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_415A60 proc near ; CODE XREF: sub_401339j arg_0 = dword ptr 4 mov eax, [esp+arg_0] push eax call sub_401456 neg al sbb eax, eax inc eax retn 4 sub_415A60 endp ; --------------------------------------------------------------------------- db 0Eh dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_415A90 proc near ; CODE XREF: sub_40113Bj var_4 = byte ptr -4 arg_0 = dword ptr 4 push ecx mov eax, [ecx+4] push eax call sub_4020A9 mov ecx, [eax] add esp, 4 push ecx lea ecx, [esp+8+var_4] call sub_40175D mov edx, [eax] mov eax, [esp+4+arg_0] mov [eax], edx pop ecx retn 4 sub_415A90 endp ; --------------------------------------------------------------------------- db 0Bh dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_415AD0 proc near ; CODE XREF: sub_4016D6j var_4 = byte ptr -4 arg_0 = dword ptr 4 push ecx mov eax, [ecx+4] lea ecx, [esp+4+var_4] push eax call sub_40175D mov ecx, [eax] mov eax, [esp+4+arg_0] mov [eax], ecx pop ecx retn 4 sub_415AD0 endp ; --------------------------------------------------------------------------- db 6 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_415B00 proc near ; CODE XREF: sub_40217Bj 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_401C62 mov edi, eax push edi call sub_401104 mov eax, [eax] add esp, 4 mov ecx, esi push eax push edi call sub_401ED8 push edi mov ebx, eax call sub_401104 push edi mov [eax], ebx call sub_401104 mov edi, [eax] push edi call sub_401104 mov ecx, [eax] push ecx call sub_4020A9 mov edx, [esp+1Ch+arg_8] add esp, 10h mov [eax], edi push edx push edi call sub_401F19 add esp, 4 mov ecx, esi push eax call sub_4021B7 mov ecx, [esi+8] push edi inc ecx mov [esi+8], ecx lea ecx, [esp+10h+arg_8] call sub_401DBB mov ecx, [eax] mov eax, [esp+0Ch+arg_0] pop edi pop esi mov [eax], ecx pop ebx retn 0Ch sub_415B00 endp ; --------------------------------------------------------------------------- db 2 dup(90h) db 20h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_415BA0 proc near ; CODE XREF: sub_401735j arg_0 = dword ptr 4 arg_4 = byte ptr 8 arg_8 = byte ptr 0Ch push esi mov esi, ecx lea eax, [esp+4+arg_8] lea ecx, [esp+4+arg_4] push eax call sub_401CBC test al, al jz short loc_415BED push edi mov edi, [esp+8+arg_0] loc_415BBA: ; CODE XREF: sub_415BA0+4Aj lea ecx, [esp+8+arg_4] call sub_401A5F push eax lea ecx, [esp+0Ch+arg_0] push edi push ecx mov ecx, esi call sub_40217B lea ecx, [esp+8+arg_4] call sub_40210D lea edx, [esp+8+arg_8] lea ecx, [esp+8+arg_4] push edx call sub_401CBC test al, al jnz short loc_415BBA pop edi loc_415BED: ; CODE XREF: sub_415BA0+13j pop esi retn 0Ch sub_415BA0 endp ; --------------------------------------------------------------------------- db 0Fh dup(90h) db 20h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_415C20 proc near ; CODE XREF: sub_401FCDj var_4 = byte ptr -4 arg_0 = dword ptr 4 arg_4 = dword ptr 8 push ecx push ebx push esi push edi mov edi, ecx lea eax, [esp+10h+var_4] push 0 push eax lea ecx, [esp+18h+arg_4] call sub_401578 mov ecx, eax call sub_401C62 mov esi, eax push esi call sub_4020A9 push esi mov ebx, eax call sub_401104 mov ecx, [eax] push ecx call sub_4020A9 mov edx, [ebx] push esi mov [eax], edx call sub_401104 push esi mov ebx, eax call sub_4020A9 mov eax, [eax] push eax call sub_401104 mov ecx, [ebx] push esi mov [eax], ecx call sub_401F19 add esp, 1Ch mov ecx, edi push eax call sub_401500 push esi mov ecx, edi call sub_401CE9 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_415C20 endp ; --------------------------------------------------------------------------- db 0Ch dup(90h) db 30h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_415CE0 proc near ; CODE XREF: sub_40146Fj var_8 = byte ptr -8 var_4 = byte ptr -4 arg_0 = dword ptr 4 arg_4 = dword ptr 8 arg_8 = byte ptr 0Ch sub esp, 8 lea eax, [esp+8+arg_8] push esi mov esi, ecx push eax lea ecx, [esp+10h+arg_4] call sub_401D70 test al, al jz short loc_415D3A loc_415CF8: ; CODE XREF: sub_415CE0+47j lea ecx, [esp+0Ch+var_8] push 0 push ecx lea ecx, [esp+14h+arg_4] call sub_401578 mov edx, [eax] lea eax, [esp+0Ch+var_4] push edx push eax mov ecx, esi call sub_401FCD lea ecx, [esp+0Ch+arg_8] push ecx lea ecx, [esp+10h+arg_4] call sub_401D70 test al, al jnz short loc_415CF8 mov eax, [esp+0Ch+arg_0] mov edx, [esp+0Ch+arg_4] pop esi mov [eax], edx add esp, 8 retn 0Ch ; --------------------------------------------------------------------------- loc_415D3A: ; CODE XREF: sub_415CE0+16j mov eax, [esp+0Ch+arg_0] mov ecx, [esp+0Ch+arg_4] pop esi mov [eax], ecx add esp, 8 retn 0Ch sub_415CE0 endp ; --------------------------------------------------------------------------- db 5 dup(90h) db 20h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_415D70 proc near ; CODE XREF: sub_401ED8j arg_0 = dword ptr 4 arg_4 = dword ptr 8 push esi push edi push 0Ch call sub_4020F4 mov edi, [esp+8+arg_0] mov esi, eax test edi, edi jnz short loc_415D85 mov edi, esi loc_415D85: ; CODE XREF: sub_415D70+11j push esi call sub_4020A9 mov [eax], edi mov edi, [esp+0Ch+arg_4] add esp, 4 test edi, edi jnz short loc_415D9A mov edi, esi loc_415D9A: ; CODE XREF: sub_415D70+26j push esi call sub_401104 add esp, 4 mov [eax], edi mov eax, esi pop edi pop esi retn 8 sub_415D70 endp ; --------------------------------------------------------------------------- db 4 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_415DC0 proc near ; CODE XREF: sub_401CE9j arg_0 = dword ptr 4 mov eax, [esp+arg_0] push 1 push eax call sub_401E1A retn 4 sub_415DC0 endp ; --------------------------------------------------------------------------- db 90h db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_415DE0 proc near ; CODE XREF: sub_4020A9j arg_0 = dword ptr 4 mov eax, [esp+arg_0] retn sub_415DE0 endp ; --------------------------------------------------------------------------- db 0Bh dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_415E00 proc near ; CODE XREF: sub_401F19j arg_0 = dword ptr 4 mov eax, [esp+arg_0] add eax, 8 retn sub_415E00 endp ; --------------------------------------------------------------------------- db 8 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_415E20 proc near ; CODE XREF: sub_401ED3j mov eax, ecx retn sub_415E20 endp ; --------------------------------------------------------------------------- db 0Dh dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_415E40 proc near ; CODE XREF: sub_401DBBj arg_0 = dword ptr 4 mov eax, [esp+arg_0] push esi mov esi, ecx push eax call sub_40175D mov eax, esi pop esi retn 4 sub_415E40 endp ; --------------------------------------------------------------------------- db 0Dh dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_415E70 proc near ; CODE XREF: sub_401578j arg_0 = dword ptr 4 push esi mov esi, [ecx] call sub_4020C2 mov eax, [esp+4+arg_0] mov [eax], esi pop esi retn 8 sub_415E70 endp ; --------------------------------------------------------------------------- db 0Eh dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_415EA0 proc near ; CODE XREF: sub_4015D7j arg_0 = dword ptr 4 mov edx, [esp+arg_0] mov eax, [ecx] push esi xor ecx, ecx mov esi, [edx] cmp eax, esi pop esi setz cl mov al, cl retn 4 sub_415EA0 endp ; --------------------------------------------------------------------------- db 0Ah dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_415ED0 proc near ; CODE XREF: sub_401AAAj 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_401F8C mov edi, eax push edi call sub_401163 mov eax, [eax] add esp, 4 mov ecx, esi push eax push edi call sub_401C8F push edi mov ebx, eax call sub_401163 push edi mov [eax], ebx call sub_401163 mov edi, [eax] push edi call sub_401163 mov ecx, [eax] push ecx call sub_401249 mov edx, [esp+1Ch+arg_8] add esp, 10h mov [eax], edi push edx push edi call sub_402144 add esp, 4 mov ecx, esi push eax call sub_4015F0 mov ecx, [esi+8] push edi inc ecx mov [esi+8], ecx lea ecx, [esp+10h+arg_8] call sub_401CDA mov ecx, [eax] mov eax, [esp+0Ch+arg_0] pop edi pop esi mov [eax], ecx pop ebx retn 0Ch sub_415ED0 endp ; --------------------------------------------------------------------------- db 2 dup(90h) db 20h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_415F70 proc near ; CODE XREF: sub_4017E9j var_4 = byte ptr -4 arg_0 = dword ptr 4 arg_4 = dword ptr 8 push ecx push ebx push esi push edi mov edi, ecx lea eax, [esp+10h+var_4] push 0 push eax lea ecx, [esp+18h+arg_4] call sub_4010DC mov ecx, eax call sub_401F8C mov esi, eax push esi call sub_401249 push esi mov ebx, eax call sub_401163 mov ecx, [eax] push ecx call sub_401249 mov edx, [ebx] push esi mov [eax], edx call sub_401163 push esi mov ebx, eax call sub_401249 mov eax, [eax] push eax call sub_401163 mov ecx, [ebx] push esi mov [eax], ecx call sub_402144 add esp, 1Ch mov ecx, edi push eax call sub_401D61 push esi mov ecx, edi call sub_401E33 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_415F70 endp ; --------------------------------------------------------------------------- db 0Ch dup(90h) db 30h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_416030 proc near ; CODE XREF: sub_40132Fj var_8 = byte ptr -8 var_4 = byte ptr -4 arg_0 = dword ptr 4 arg_4 = dword ptr 8 arg_8 = byte ptr 0Ch sub esp, 8 lea eax, [esp+8+arg_8] push esi mov esi, ecx push eax lea ecx, [esp+10h+arg_4] call sub_401AEB test al, al jz short loc_41608A loc_416048: ; CODE XREF: sub_416030+47j lea ecx, [esp+0Ch+var_8] push 0 push ecx lea ecx, [esp+14h+arg_4] call sub_4010DC mov edx, [eax] lea eax, [esp+0Ch+var_4] push edx push eax mov ecx, esi call sub_4017E9 lea ecx, [esp+0Ch+arg_8] push ecx lea ecx, [esp+10h+arg_4] call sub_401AEB test al, al jnz short loc_416048 mov eax, [esp+0Ch+arg_0] mov edx, [esp+0Ch+arg_4] pop esi mov [eax], edx add esp, 8 retn 0Ch ; --------------------------------------------------------------------------- loc_41608A: ; CODE XREF: sub_416030+16j mov eax, [esp+0Ch+arg_0] mov ecx, [esp+0Ch+arg_4] pop esi mov [eax], ecx add esp, 8 retn 0Ch sub_416030 endp ; --------------------------------------------------------------------------- db 5 dup(90h) db 20h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_4160C0 proc near ; CODE XREF: sub_401C8Fj arg_0 = dword ptr 4 arg_4 = dword ptr 8 push esi push edi push 0Ch call sub_4015AF mov edi, [esp+8+arg_0] mov esi, eax test edi, edi jnz short loc_4160D5 mov edi, esi loc_4160D5: ; CODE XREF: sub_4160C0+11j push esi call sub_401249 mov [eax], edi mov edi, [esp+0Ch+arg_4] add esp, 4 test edi, edi jnz short loc_4160EA mov edi, esi loc_4160EA: ; CODE XREF: sub_4160C0+26j push esi call sub_401163 add esp, 4 mov [eax], edi mov eax, esi pop edi pop esi retn 8 sub_4160C0 endp ; --------------------------------------------------------------------------- db 4 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_416110 proc near ; CODE XREF: sub_401E33j arg_0 = dword ptr 4 mov eax, [esp+arg_0] push 1 push eax call sub_4010D7 retn 4 sub_416110 endp ; --------------------------------------------------------------------------- db 90h db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_416130 proc near ; CODE XREF: sub_401249j arg_0 = dword ptr 4 mov eax, [esp+arg_0] retn sub_416130 endp ; --------------------------------------------------------------------------- db 0Bh dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_416150 proc near ; CODE XREF: sub_402144j arg_0 = dword ptr 4 mov eax, [esp+arg_0] add eax, 8 retn sub_416150 endp ; --------------------------------------------------------------------------- db 8 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_416170 proc near ; CODE XREF: sub_401E97j mov eax, ecx retn sub_416170 endp ; --------------------------------------------------------------------------- db 0Dh dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_416190 proc near ; CODE XREF: sub_401CDAj arg_0 = dword ptr 4 mov eax, [esp+arg_0] push esi mov esi, ecx push eax call sub_401357 mov eax, esi pop esi retn 4 sub_416190 endp ; --------------------------------------------------------------------------- db 0Dh dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_4161C0 proc near ; CODE XREF: sub_4010DCj arg_0 = dword ptr 4 push esi mov esi, [ecx] call sub_4018C5 mov eax, [esp+4+arg_0] mov [eax], esi pop esi retn 8 sub_4161C0 endp ; --------------------------------------------------------------------------- db 0Eh dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_4161F0 proc near ; CODE XREF: sub_401EC4j arg_0 = dword ptr 4 mov edx, [esp+arg_0] mov eax, [ecx] push esi xor ecx, ecx mov esi, [edx] cmp eax, esi pop esi setz cl mov al, cl retn 4 sub_4161F0 endp ; --------------------------------------------------------------------------- db 0Ah dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_416220 proc near ; CODE XREF: sub_401D11j arg_0 = dword ptr 4 arg_4 = byte ptr 8 arg_8 = dword ptr 0Ch push ebx push esi mov esi, ecx push edi lea ecx, [esp+0Ch+arg_4] call sub_4012CB mov edi, eax push edi call sub_4017DF mov eax, [eax] add esp, 4 mov ecx, esi push eax push edi call sub_401DB6 push edi mov ebx, eax call sub_4017DF push edi mov [eax], ebx call sub_4017DF mov edi, [eax] push edi call sub_4017DF mov ecx, [eax] push ecx call sub_401BCC mov edx, [esp+1Ch+arg_8] add esp, 10h mov [eax], edi push edx push edi call sub_4017E4 add esp, 4 mov ecx, esi push eax call sub_401E15 mov ecx, [esi+8] push edi inc ecx mov [esi+8], ecx lea ecx, [esp+10h+arg_8] call sub_401D7A mov ecx, [eax] mov eax, [esp+0Ch+arg_0] pop edi pop esi mov [eax], ecx pop ebx retn 0Ch sub_416220 endp ; --------------------------------------------------------------------------- db 2 dup(90h) db 20h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_4162C0 proc near ; CODE XREF: sub_401078j var_4 = byte ptr -4 arg_0 = dword ptr 4 arg_4 = dword ptr 8 push ecx push ebx push esi push edi mov edi, ecx lea eax, [esp+10h+var_4] push 0 push eax lea ecx, [esp+18h+arg_4] call sub_401EBF mov ecx, eax call sub_4012CB mov esi, eax push esi call sub_401BCC push esi mov ebx, eax call sub_4017DF mov ecx, [eax] push ecx call sub_401BCC mov edx, [ebx] push esi mov [eax], edx call sub_4017DF push esi mov ebx, eax call sub_401BCC mov eax, [eax] push eax call sub_4017DF mov ecx, [ebx] push esi mov [eax], ecx call sub_4017E4 add esp, 1Ch mov ecx, edi push eax call sub_401401 push esi mov ecx, edi call sub_401F14 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_4162C0 endp ; --------------------------------------------------------------------------- db 0Ch dup(90h) db 30h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_416380 proc near ; CODE XREF: sub_40140Bj var_8 = byte ptr -8 var_4 = byte ptr -4 arg_0 = dword ptr 4 arg_4 = dword ptr 8 arg_8 = byte ptr 0Ch sub esp, 8 lea eax, [esp+8+arg_8] push esi mov esi, ecx push eax lea ecx, [esp+10h+arg_4] call sub_401339 test al, al jz short loc_4163DA loc_416398: ; CODE XREF: sub_416380+47j lea ecx, [esp+0Ch+var_8] push 0 push ecx lea ecx, [esp+14h+arg_4] call sub_401EBF mov edx, [eax] lea eax, [esp+0Ch+var_4] push edx push eax mov ecx, esi call sub_401078 lea ecx, [esp+0Ch+arg_8] push ecx lea ecx, [esp+10h+arg_4] call sub_401339 test al, al jnz short loc_416398 mov eax, [esp+0Ch+arg_0] mov edx, [esp+0Ch+arg_4] pop esi mov [eax], edx add esp, 8 retn 0Ch ; --------------------------------------------------------------------------- loc_4163DA: ; CODE XREF: sub_416380+16j mov eax, [esp+0Ch+arg_0] mov ecx, [esp+0Ch+arg_4] pop esi mov [eax], ecx add esp, 8 retn 0Ch sub_416380 endp ; --------------------------------------------------------------------------- db 5 dup(90h) db 20h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_416410 proc near ; CODE XREF: sub_401DB6j arg_0 = dword ptr 4 arg_4 = dword ptr 8 push esi push edi push 0Ch call sub_401EBA mov edi, [esp+8+arg_0] mov esi, eax test edi, edi jnz short loc_416425 mov edi, esi loc_416425: ; CODE XREF: sub_416410+11j push esi call sub_401BCC mov [eax], edi mov edi, [esp+0Ch+arg_4] add esp, 4 test edi, edi jnz short loc_41643A mov edi, esi loc_41643A: ; CODE XREF: sub_416410+26j push esi call sub_4017DF add esp, 4 mov [eax], edi mov eax, esi pop edi pop esi retn 8 sub_416410 endp ; --------------------------------------------------------------------------- db 4 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_416460 proc near ; CODE XREF: sub_401F14j arg_0 = dword ptr 4 mov eax, [esp+arg_0] push 1 push eax call sub_401866 retn 4 sub_416460 endp ; --------------------------------------------------------------------------- db 90h db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_416480 proc near ; CODE XREF: sub_401BCCj arg_0 = dword ptr 4 mov eax, [esp+arg_0] retn sub_416480 endp ; --------------------------------------------------------------------------- db 0Bh dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_4164A0 proc near ; CODE XREF: sub_4017E4j arg_0 = dword ptr 4 mov eax, [esp+arg_0] add eax, 8 retn sub_4164A0 endp ; --------------------------------------------------------------------------- db 8 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_4164C0 proc near ; CODE XREF: sub_401E42j mov eax, ecx retn sub_4164C0 endp ; --------------------------------------------------------------------------- db 0Dh dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_4164E0 proc near ; CODE XREF: sub_401D7Aj arg_0 = dword ptr 4 mov eax, [esp+arg_0] push esi mov esi, ecx push eax call sub_401618 mov eax, esi pop esi retn 4 sub_4164E0 endp ; --------------------------------------------------------------------------- db 0Dh dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_416510 proc near ; CODE XREF: sub_401EBFj arg_0 = dword ptr 4 push esi mov esi, [ecx] call sub_40118B mov eax, [esp+4+arg_0] mov [eax], esi pop esi retn 8 sub_416510 endp ; --------------------------------------------------------------------------- db 0Eh dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_416540 proc near ; CODE XREF: sub_401456j arg_0 = dword ptr 4 mov edx, [esp+arg_0] mov eax, [ecx] push esi xor ecx, ecx mov esi, [edx] cmp eax, esi pop esi setz cl mov al, cl retn 4 sub_416540 endp ; --------------------------------------------------------------------------- db 0Ah dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_416570 proc near ; CODE XREF: sub_401104j arg_0 = dword ptr 4 mov eax, [esp+arg_0] add eax, 4 retn sub_416570 endp ; --------------------------------------------------------------------------- db 8 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_416590 proc near ; CODE XREF: sub_4020F4j arg_0 = dword ptr 4 mov eax, [esp+arg_0] push 0 push eax call sub_401D2A add esp, 8 retn 4 sub_416590 endp ; --------------------------------------------------------------------------- db 0Eh dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_4165C0 proc near ; CODE XREF: sub_401E1Aj arg_0 = dword ptr 4 mov eax, [esp+arg_0] push eax call near ptr word_437AD2 pop ecx retn 8 sub_4165C0 endp ; --------------------------------------------------------------------------- db 2 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_4165E0 proc near ; CODE XREF: sub_4021B7j arg_0 = dword ptr 4 arg_4 = dword ptr 8 mov eax, [esp+arg_4] mov ecx, [esp+arg_0] push eax push ecx call sub_40125D add esp, 8 retn 8 sub_4165E0 endp ; --------------------------------------------------------------------------- db 0Bh dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_416610 proc near ; CODE XREF: sub_401500j arg_0 = dword ptr 4 mov eax, [esp+arg_0] push eax call j_nullsub_6 pop ecx retn 4 sub_416610 endp ; --------------------------------------------------------------------------- db 2 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_416630 proc near ; CODE XREF: sub_40175Dj arg_0 = dword ptr 4 mov eax, ecx mov ecx, [esp+arg_0] mov [eax], ecx retn 4 sub_416630 endp ; --------------------------------------------------------------------------- db 5 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_416650 proc near ; CODE XREF: sub_401A5Fj mov eax, [ecx] push eax call sub_401F19 add esp, 4 retn sub_416650 endp ; --------------------------------------------------------------------------- db 4 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_416670 proc near ; CODE XREF: sub_40210Dj push esi mov esi, ecx mov eax, [esi] push eax call sub_4020A9 mov ecx, [eax] add esp, 4 mov [esi], ecx mov eax, esi pop esi retn sub_416670 endp ; --------------------------------------------------------------------------- db 0Ah dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_4166A0 proc near ; CODE XREF: sub_401CBCj arg_0 = dword ptr 4 mov eax, [esp+arg_0] push eax call sub_401E74 neg al sbb eax, eax inc eax retn 4 sub_4166A0 endp ; --------------------------------------------------------------------------- db 0Eh dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_4166D0 proc near ; CODE XREF: sub_401C62j mov eax, [ecx] retn sub_4166D0 endp ; --------------------------------------------------------------------------- db 0Dh dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_4166F0 proc near ; CODE XREF: sub_401163j arg_0 = dword ptr 4 mov eax, [esp+arg_0] add eax, 4 retn sub_4166F0 endp ; --------------------------------------------------------------------------- db 8 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_416710 proc near ; CODE XREF: sub_4015AFj arg_0 = dword ptr 4 mov eax, [esp+arg_0] push 0 push eax call sub_401D2A add esp, 8 retn 4 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_4010D7j arg_0 = dword ptr 4 mov eax, [esp+arg_0] push eax call near ptr word_437AD2 pop ecx retn 8 sub_416740 endp ; --------------------------------------------------------------------------- db 2 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_416760 proc near ; CODE XREF: sub_4015F0j arg_0 = dword ptr 4 arg_4 = dword ptr 8 mov eax, [esp+arg_4] mov ecx, [esp+arg_0] push eax push ecx call sub_40205E add esp, 8 retn 8 sub_416760 endp ; --------------------------------------------------------------------------- db 0Bh dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_416790 proc near ; CODE XREF: sub_401D61j arg_0 = dword ptr 4 mov eax, [esp+arg_0] push eax call j_nullsub_5 pop ecx retn 4 sub_416790 endp ; --------------------------------------------------------------------------- db 2 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_4167B0 proc near ; CODE XREF: sub_401357j arg_0 = dword ptr 4 mov eax, ecx mov ecx, [esp+arg_0] mov [eax], ecx retn 4 sub_4167B0 endp ; --------------------------------------------------------------------------- db 5 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_4167D0 proc near ; CODE XREF: sub_401F8Cj mov eax, [ecx] retn sub_4167D0 endp ; --------------------------------------------------------------------------- db 0Dh dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_4167F0 proc near ; CODE XREF: sub_4017DFj arg_0 = dword ptr 4 mov eax, [esp+arg_0] add eax, 4 retn sub_4167F0 endp ; --------------------------------------------------------------------------- db 8 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_416810 proc near ; CODE XREF: sub_401EBAj arg_0 = dword ptr 4 mov eax, [esp+arg_0] push 0 push eax call sub_401D2A add esp, 8 retn 4 sub_416810 endp ; --------------------------------------------------------------------------- db 0Eh dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_416840 proc near ; CODE XREF: sub_401866j arg_0 = dword ptr 4 mov eax, [esp+arg_0] push eax call near ptr word_437AD2 pop ecx retn 8 sub_416840 endp ; --------------------------------------------------------------------------- db 2 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_416860 proc near ; CODE XREF: sub_401E15j arg_0 = dword ptr 4 arg_4 = dword ptr 8 mov eax, [esp+arg_4] mov ecx, [esp+arg_0] push eax push ecx call sub_4020EA add esp, 8 retn 8 sub_416860 endp ; --------------------------------------------------------------------------- db 0Bh dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_416890 proc near ; CODE XREF: sub_401401j arg_0 = dword ptr 4 mov eax, [esp+arg_0] push eax call j_nullsub_3 pop ecx retn 4 sub_416890 endp ; --------------------------------------------------------------------------- db 2 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_4168B0 proc near ; CODE XREF: sub_401618j arg_0 = dword ptr 4 mov eax, ecx mov ecx, [esp+arg_0] mov [eax], ecx retn 4 sub_4168B0 endp ; --------------------------------------------------------------------------- db 5 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_4168D0 proc near ; CODE XREF: sub_4012CBj mov eax, [ecx] retn sub_4168D0 endp ; --------------------------------------------------------------------------- db 0Dh dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_4168F0 proc near ; CODE XREF: sub_401E74j arg_0 = dword ptr 4 mov edx, [esp+arg_0] mov eax, [ecx] push esi xor ecx, ecx mov esi, [edx] cmp eax, esi pop esi setz cl mov al, cl retn 4 sub_4168F0 endp ; --------------------------------------------------------------------------- db 0Ah dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_416920 proc near ; CODE XREF: sub_40125Dj arg_0 = dword ptr 4 arg_4 = dword ptr 8 mov eax, [esp+arg_0] push eax push 4 call sub_4011CC add esp, 8 test eax, eax jz short locret_41693B mov ecx, [esp+arg_4] mov edx, [ecx] mov [eax], edx locret_41693B: ; CODE XREF: sub_416920+11j retn sub_416920 endp ; --------------------------------------------------------------------------- db 4 dup(90h) db 10h dup(0CCh) ; [00000001 BYTES: COLLAPSED FUNCTION nullsub_6. PRESS KEYPAD "+" TO EXPAND] db 0Fh dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_416970 proc near ; CODE XREF: sub_40205Ej arg_0 = dword ptr 4 arg_4 = dword ptr 8 mov eax, [esp+arg_0] push eax push 4 call sub_4011CC add esp, 8 test eax, eax jz short locret_41698B mov ecx, [esp+arg_4] mov edx, [ecx] mov [eax], edx locret_41698B: ; CODE XREF: sub_416970+11j retn sub_416970 endp ; --------------------------------------------------------------------------- db 4 dup(90h) db 10h dup(0CCh) ; [00000001 BYTES: COLLAPSED FUNCTION nullsub_5. PRESS KEYPAD "+" TO EXPAND] db 0Fh dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_4169C0 proc near ; CODE XREF: sub_4020EAj arg_0 = dword ptr 4 arg_4 = dword ptr 8 mov eax, [esp+arg_0] push eax push 4 call sub_4011CC add esp, 8 test eax, eax jz short locret_4169DB mov ecx, [esp+arg_4] mov edx, [ecx] mov [eax], edx locret_4169DB: ; CODE XREF: sub_4169C0+11j retn sub_4169C0 endp ; --------------------------------------------------------------------------- db 4 dup(90h) db 10h dup(0CCh) ; [00000001 BYTES: COLLAPSED FUNCTION nullsub_3. PRESS KEYPAD "+" TO EXPAND] aRrrrrrrrrrrrrr db 'ÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌè',1Bh,0 align 4 dd 36E900h, 90900000h, 90909090h, 4 dup(0CCCCCCCCh), 449128B9h dd 0B426E900h, 9090FFFEh, 90909090h, 4 dup(0CCCCCCCCh) dd 416A7068h, 115CE800h, 0C3590002h, 90909090h, 4 dup(0CCCCCCCCh) dd 449128B9h, 0B1DEE900h, 9090FFFEh, 90909090h, 4 dup(0CCCCCCCCh) ; --------------------------------------------------------------------------- loc_416A90: ; CODE XREF: ___:00401C58j push 0FFFFFFFFh push offset byte_43B2E1 mov eax, large fs:0 push eax mov large fs:0, esp push ecx push esi mov esi, ecx mov [esp+4], esi lea ecx, [esi+9FD83h] mov dword ptr [esp+10h], 1Ah call sub_4021FD lea ecx, [esi+9FD6Ch] mov byte ptr [esp+10h], 19h call sub_401226 lea ecx, [esi+9FD57h] mov byte ptr [esp+10h], 18h call sub_401226 lea ecx, [esi+9FD42h] mov byte ptr [esp+10h], 17h call sub_401226 lea ecx, [esi+9FD2Dh] mov byte ptr [esp+10h], 16h call sub_401226 lea ecx, [esi+9FC42h] mov byte ptr [esp+10h], 15h call sub_401F00 lea ecx, [esi+9FC31h] mov byte ptr [esp+10h], 14h call sub_401776 lea ecx, [esi+9FBFFh] mov byte ptr [esp+10h], 13h call sub_402013 lea ecx, [esi+9FBCDh] mov byte ptr [esp+10h], 12h call sub_401E06 lea ecx, [esi+9FB93h] mov byte ptr [esp+10h], 11h call sub_401889 lea ecx, [esi+9FB05h] mov byte ptr [esp+10h], 10h call sub_401113 lea ecx, [esi+9FAD3h] mov byte ptr [esp+10h], 0Fh call sub_401F46 lea ecx, [esi+9FA73h] mov byte ptr [esp+10h], 0Eh call sub_401B3B lea ecx, [esi+9FA13h] mov byte ptr [esp+10h], 0Dh call sub_4017DA lea ecx, [esi+8F4BFh] mov byte ptr [esp+10h], 0Ch call sub_4018D9 lea ecx, [esi+8F3A2h] mov byte ptr [esp+10h], 0Bh call sub_401ECE lea ecx, [esi+8F285h] mov byte ptr [esp+10h], 0Ah call sub_402239 lea ecx, [esi+8F270h] mov byte ptr [esp+10h], 9 call sub_4017AD lea ecx, [esi+8F247h] mov byte ptr [esp+10h], 8 call sub_401A32 lea ecx, [esi+8EF5Dh] mov byte ptr [esp+10h], 7 call sub_4013C5 lea ecx, [esi+1E6Fh] mov byte ptr [esp+10h], 6 call sub_401235 lea ecx, [esi+1D29h] mov byte ptr [esp+10h], 5 call sub_401EA1 lea ecx, [esi+1C58h] mov byte ptr [esp+10h], 4 call sub_4014FB lea ecx, [esi+1BBEh] mov byte ptr [esp+10h], 3 call sub_401AFA lea ecx, [esi+1B46h] mov byte ptr [esp+10h], 2 call sub_401CA3 lea ecx, [esi+15Fh] mov byte ptr [esp+10h], 1 call sub_401938 lea ecx, [esi+3Eh] mov byte ptr [esp+10h], 0 call sub_401447 mov ecx, esi mov dword ptr [esp+10h], 0FFFFFFFFh call sub_401262 mov ecx, [esp+8] pop esi mov large fs:0, ecx add esp, 10h retn ; --------------------------------------------------------------------------- db 4 dup(90h) db 80h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_416D00 proc near ; CODE XREF: sub_401A32j push esi mov esi, ecx mov eax, [esi+15h] mov dword ptr [esi], offset dword_43F050 test eax, eax jle short loc_416D17 push eax nop call near ptr 71AB9639h loc_416D17: ; CODE XREF: sub_416D00+Ej mov ecx, esi call sub_40204F pop esi retn sub_416D00 endp ; --------------------------------------------------------------------------- db 10h dup(0CCh) ; --------------------------------------------------------------------------- loc_416D30: ; CODE XREF: ___:0040126Cj ; ___:004019CEj push esi mov esi, ecx call sub_401A32 test byte ptr [esp+8], 1 jz short loc_416D48 push esi call near ptr word_437AD2 add esp, 4 loc_416D48: ; CODE XREF: ___:00416D3Dj 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_416D60 proc near ; CODE XREF: sub_4017ADj push esi mov esi, ecx mov eax, [esi+11h] mov dword ptr [esi], offset dword_43F05C test eax, eax jle short loc_416D77 push eax nop call near ptr 71AB9639h loc_416D77: ; CODE XREF: sub_416D60+Ej mov ecx, esi call sub_40204F pop esi retn sub_416D60 endp ; --------------------------------------------------------------------------- db 10h dup(0CCh) ; --------------------------------------------------------------------------- loc_416D90: ; CODE XREF: ___:00401631j ; ___:00401CADj push esi mov esi, ecx call sub_4017AD test byte ptr [esp+8], 1 jz short loc_416DA8 push esi call near ptr word_437AD2 add esp, 4 loc_416DA8: ; CODE XREF: ___:00416D9Dj mov eax, esi pop esi retn 4 ; --------------------------------------------------------------------------- db 2 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_416DC0 proc near ; CODE XREF: sub_401776j mov dword ptr [ecx], offset dword_43F068 jmp sub_40204F sub_416DC0 endp ; --------------------------------------------------------------------------- db 5 dup(90h) db 10h dup(0CCh) ; --------------------------------------------------------------------------- loc_416DE0: ; CODE XREF: ___:00401929j ; ___:004021ADj push esi mov esi, ecx call sub_401776 test byte ptr [esp+8], 1 jz short loc_416DF8 push esi call near ptr word_437AD2 add esp, 4 loc_416DF8: ; CODE XREF: ___:00416DEDj mov eax, esi pop esi retn 4 ; --------------------------------------------------------------------------- db 2 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_416E10 proc near ; CODE XREF: sub_401889j mov dword ptr [ecx], offset dword_43F074 add ecx, 4 jmp sub_401023 sub_416E10 endp ; --------------------------------------------------------------------------- db 2 dup(90h) db 10h dup(0CCh) ; --------------------------------------------------------------------------- loc_416E30: ; CODE XREF: ___:00401E60j push 0FFFFFFFFh push offset byte_43B4C1 mov eax, large fs:0 push eax mov large fs:0, esp sub esp, 8 push esi mov esi, ecx mov [esp+8], esi call sub_4020BD lea ecx, [esi+3Eh] mov dword ptr [esp+14h], 0 call sub_4015E6 lea ecx, [esi+15Fh] mov byte ptr [esp+14h], 1 call sub_40129E lea ecx, [esi+1B46h] mov byte ptr [esp+14h], 2 call sub_402018 lea ecx, [esi+1BBEh] mov byte ptr [esp+14h], 3 call sub_401A00 lea ecx, [esi+1C58h] mov byte ptr [esp+14h], 4 call sub_401587 lea ecx, [esi+1D29h] mov byte ptr [esp+14h], 5 call sub_40164F lea ecx, [esi+1E6Fh] mov byte ptr [esp+14h], 6 call sub_401780 lea ecx, [esi+8EF5Dh] mov byte ptr [esp+14h], 7 call sub_40169F lea ecx, [esi+8F247h] mov byte ptr [esp+14h], 8 call sub_40182F lea ecx, [esi+8F270h] mov byte ptr [esp+14h], 9 call sub_4016BD lea ecx, [esi+8F285h] mov byte ptr [esp+14h], 0Ah call sub_40141F lea ecx, [esi+8F3A2h] mov byte ptr [esp+14h], 0Bh call sub_401302 lea ecx, [esi+8F4BFh] mov byte ptr [esp+14h], 0Ch call sub_401271 lea ecx, [esi+8F51Fh] mov byte ptr [esp+14h], 0Dh call sub_401D25 lea ecx, [esi+9FA13h] call sub_4012FD lea ecx, [esi+9FA73h] mov byte ptr [esp+14h], 0Eh call sub_401A91 lea ecx, [esi+9FAD3h] mov byte ptr [esp+14h], 0Fh call sub_401285 lea ecx, [esi+9FB05h] mov byte ptr [esp+14h], 10h call sub_401CB7 lea ecx, [esi+9FB93h] mov byte ptr [esp+14h], 11h call sub_402121 mov byte ptr [esp+14h], 12h lea ecx, [esi+9FBCDh] call sub_40157D lea ecx, [esi+9FBFFh] mov byte ptr [esp+14h], 13h call sub_401799 lea ecx, [esi+9FC31h] mov byte ptr [esp+14h], 14h call sub_401069 lea ecx, [esi+9FC42h] mov byte ptr [esp+14h], 15h call sub_401073 lea ecx, [esi+9FD2Dh] mov byte ptr [esp+14h], 16h call sub_40142E lea ecx, [esi+9FD42h] mov byte ptr [esp+14h], 17h call sub_40142E lea ecx, [esi+9FD57h] mov byte ptr [esp+14h], 18h call sub_40142E lea ecx, [esi+9FD6Ch] mov byte ptr [esp+14h], 19h call sub_40142E lea eax, [esp+7] lea ecx, [esi+9FD83h] push eax mov byte ptr [esp+18h], 1Ah call sub_401B0E mov ecx, [esp+0Ch] mov eax, esi pop esi mov large fs:0, ecx add esp, 14h retn ; --------------------------------------------------------------------------- db 0Ah dup(90h) db 80h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_4170B0 proc near ; CODE XREF: sub_401262j var_10 = dword ptr -10h var_C = dword ptr -0Ch var_4 = dword ptr -4 push 0FFFFFFFFh push offset SEH_4170B0 mov eax, large fs:0 push eax mov large fs:0, esp push ecx push esi mov esi, ecx mov [esp+14h+var_10], esi lea ecx, [esi+32h] mov [esp+14h+var_4], 0 call sub_401B1D 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_4170B0 endp ; --------------------------------------------------------------------------- db 3 dup(90h) db 20h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_417120 proc near ; CODE XREF: sub_401938j var_10 = dword ptr -10h var_C = dword ptr -0Ch var_4 = dword ptr -4 push 0FFFFFFFFh push offset SEH_417120 mov eax, large fs:0 push eax mov large fs:0, esp push ecx push esi mov esi, ecx mov [esp+14h+var_10], esi lea ecx, [esi+179Fh] mov [esp+14h+var_4], 3Ch call sub_40208B lea ecx, [esi+1557h] mov byte ptr [esp+14h+var_4], 3Bh call sub_40208B lea ecx, [esi+130Fh] mov byte ptr [esp+14h+var_4], 3Ah call sub_40208B lea ecx, [esi+10C7h] mov byte ptr [esp+14h+var_4], 39h call sub_40208B lea ecx, [esi+0E7Fh] mov byte ptr [esp+14h+var_4], 38h call sub_40208B mov byte ptr [esp+14h+var_4], 37h lea ecx, [esi+0E51h] call sub_401023 lea ecx, [esi+0E23h] mov byte ptr [esp+14h+var_4], 36h call sub_401023 lea ecx, [esi+0DF5h] mov byte ptr [esp+14h+var_4], 35h call sub_401023 lea ecx, [esi+0DC7h] mov byte ptr [esp+14h+var_4], 34h call sub_401023 lea ecx, [esi+0D99h] mov byte ptr [esp+14h+var_4], 33h call sub_401023 lea ecx, [esi+0D6Bh] mov byte ptr [esp+14h+var_4], 32h call sub_401023 lea ecx, [esi+0D3Dh] mov byte ptr [esp+14h+var_4], 31h call sub_401023 lea ecx, [esi+0D0Fh] mov byte ptr [esp+14h+var_4], 30h call sub_401023 lea ecx, [esi+0CE1h] mov byte ptr [esp+14h+var_4], 2Fh call sub_401023 lea ecx, [esi+0CB3h] mov byte ptr [esp+14h+var_4], 2Eh call sub_401023 lea ecx, [esi+0C85h] mov byte ptr [esp+14h+var_4], 2Dh call sub_401023 lea ecx, [esi+0C57h] mov byte ptr [esp+14h+var_4], 2Ch call sub_401023 lea ecx, [esi+0C29h] mov byte ptr [esp+14h+var_4], 2Bh call sub_401023 lea ecx, [esi+0BFBh] mov byte ptr [esp+14h+var_4], 2Ah call sub_401023 lea ecx, [esi+0BCDh] mov byte ptr [esp+14h+var_4], 29h call sub_401023 lea ecx, [esi+0B9Fh] mov byte ptr [esp+14h+var_4], 28h call sub_401023 lea ecx, [esi+0B71h] mov byte ptr [esp+14h+var_4], 27h call sub_401023 lea ecx, [esi+0B28h] mov byte ptr [esp+14h+var_4], 26h call sub_401AE6 lea ecx, [esi+0ADFh] mov byte ptr [esp+14h+var_4], 25h call sub_401AE6 lea ecx, [esi+0A96h] mov byte ptr [esp+14h+var_4], 24h call sub_401AE6 lea ecx, [esi+0A4Dh] mov byte ptr [esp+14h+var_4], 23h call sub_401AE6 lea ecx, [esi+0A04h] mov byte ptr [esp+14h+var_4], 22h call sub_401AE6 lea ecx, [esi+9BBh] mov byte ptr [esp+14h+var_4], 21h call sub_401AE6 lea ecx, [esi+972h] mov byte ptr [esp+14h+var_4], 20h call sub_401AE6 lea ecx, [esi+929h] mov byte ptr [esp+14h+var_4], 1Fh call sub_401AE6 lea ecx, [esi+8E0h] mov byte ptr [esp+14h+var_4], 1Eh call sub_401AE6 lea ecx, [esi+897h] mov byte ptr [esp+14h+var_4], 1Dh call sub_401AE6 mov byte ptr [esp+14h+var_4], 1Ch lea ecx, [esi+84Eh] call sub_401AE6 lea ecx, [esi+805h] mov byte ptr [esp+14h+var_4], 1Bh call sub_401AE6 lea ecx, [esi+7BCh] mov byte ptr [esp+14h+var_4], 1Ah call sub_401AE6 lea ecx, [esi+773h] mov byte ptr [esp+14h+var_4], 19h call sub_401AE6 lea ecx, [esi+72Ah] mov byte ptr [esp+14h+var_4], 18h call sub_401AE6 lea ecx, [esi+6E1h] mov byte ptr [esp+14h+var_4], 17h call sub_401AE6 lea ecx, [esi+698h] mov byte ptr [esp+14h+var_4], 16h call sub_401AE6 lea ecx, [esi+64Fh] mov byte ptr [esp+14h+var_4], 15h call sub_401AE6 lea ecx, [esi+606h] mov byte ptr [esp+14h+var_4], 14h call sub_401AE6 lea ecx, [esi+5BDh] mov byte ptr [esp+14h+var_4], 13h call sub_401AE6 lea ecx, [esi+574h] mov byte ptr [esp+14h+var_4], 12h call sub_401AE6 lea ecx, [esi+52Bh] mov byte ptr [esp+14h+var_4], 11h call sub_401AE6 lea ecx, [esi+4E2h] mov byte ptr [esp+14h+var_4], 10h call sub_401AE6 lea ecx, [esi+499h] mov byte ptr [esp+14h+var_4], 0Fh call sub_401AE6 lea ecx, [esi+450h] mov byte ptr [esp+14h+var_4], 0Eh call sub_401AE6 lea ecx, [esi+407h] mov byte ptr [esp+14h+var_4], 0Dh call sub_401AE6 lea ecx, [esi+3BEh] mov byte ptr [esp+14h+var_4], 0Ch call sub_401AE6 lea ecx, [esi+375h] mov byte ptr [esp+14h+var_4], 0Bh call sub_401AE6 lea ecx, [esi+32Ch] mov byte ptr [esp+14h+var_4], 0Ah call sub_401AE6 lea ecx, [esi+2E3h] mov byte ptr [esp+14h+var_4], 9 call sub_401AE6 lea ecx, [esi+29Ah] mov byte ptr [esp+14h+var_4], 8 call sub_401AE6 lea ecx, [esi+251h] mov byte ptr [esp+14h+var_4], 7 call sub_401AE6 lea ecx, [esi+208h] mov byte ptr [esp+14h+var_4], 6 call sub_401AE6 lea ecx, [esi+1BFh] mov byte ptr [esp+14h+var_4], 5 call sub_401AE6 lea ecx, [esi+176h] mov byte ptr [esp+14h+var_4], 4 call sub_401AE6 lea ecx, [esi+12Dh] mov byte ptr [esp+14h+var_4], 3 call sub_401AE6 lea ecx, [esi+0E4h] mov byte ptr [esp+14h+var_4], 2 call sub_401AE6 mov byte ptr [esp+14h+var_4], 1 lea ecx, [esi+9Bh] call sub_401AE6 lea ecx, [esi+52h] mov byte ptr [esp+14h+var_4], 0 call sub_401AE6 lea ecx, [esi+9] mov [esp+14h+var_4], 0FFFFFFFFh call sub_401AE6 mov ecx, [esp+14h+var_C] pop esi mov large fs:0, ecx add esp, 10h retn sub_417120 endp ; --------------------------------------------------------------------------- db 3 dup(90h) db 110h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_417640 proc near ; CODE XREF: sub_4014FBj var_10 = dword ptr -10h var_C = dword ptr -0Ch var_4 = dword ptr -4 push 0FFFFFFFFh push offset SEH_417640 mov eax, large fs:0 push eax mov large fs:0, esp push ecx push esi mov esi, ecx mov [esp+14h+var_10], esi lea ecx, [esi+0A3h] mov [esp+14h+var_4], 3 call sub_401023 lea ecx, [esi+75h] mov byte ptr [esp+14h+var_4], 2 call sub_401023 lea ecx, [esi+47h] mov byte ptr [esp+14h+var_4], 1 call sub_401023 lea ecx, [esi+19h] mov byte ptr [esp+14h+var_4], 0 call sub_401023 lea ecx, [esi+4] mov [esp+14h+var_4], 0FFFFFFFFh call sub_401226 mov ecx, [esp+14h+var_C] pop esi mov large fs:0, ecx add esp, 10h retn sub_417640 endp ; --------------------------------------------------------------------------- db 9 dup(90h) db 20h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_4176E0 proc near ; CODE XREF: sub_401EA1j var_10 = dword ptr -10h var_C = dword ptr -0Ch var_4 = dword ptr -4 push 0FFFFFFFFh push offset SEH_4176E0 mov eax, large fs:0 push eax mov large fs:0, esp push ecx push esi mov esi, ecx mov [esp+14h+var_10], esi lea ecx, [esi+118h] mov [esp+14h+var_4], 5 call sub_401023 lea ecx, [esi+0EAh] mov byte ptr [esp+14h+var_4], 4 call sub_401023 lea ecx, [esi+0BCh] mov byte ptr [esp+14h+var_4], 3 call sub_401023 lea ecx, [esi+8Eh] mov byte ptr [esp+14h+var_4], 2 call sub_401023 lea ecx, [esi+60h] mov byte ptr [esp+14h+var_4], 1 call sub_401023 lea ecx, [esi+32h] mov byte ptr [esp+14h+var_4], 0 call sub_401023 lea ecx, [esi+4] mov [esp+14h+var_4], 0FFFFFFFFh call sub_401023 mov ecx, [esp+14h+var_C] pop esi mov large fs:0, ecx add esp, 10h retn sub_4176E0 endp ; --------------------------------------------------------------------------- db 6 dup(90h) db 30h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_4177B0 proc near ; CODE XREF: sub_401235j var_10 = dword ptr -10h var_C = dword ptr -0Ch var_4 = dword ptr -4 push 0FFFFFFFFh push offset SEH_4177B0 mov eax, large fs:0 push eax mov large fs:0, esp push ecx push esi mov esi, ecx mov [esp+14h+var_10], esi lea ecx, [esi+8D0C0h] mov [esp+14h+var_4], 3 call sub_401023 lea ecx, [esi+8D092h] mov byte ptr [esp+14h+var_4], 2 call sub_401023 lea ecx, [esi+8D064h] mov byte ptr [esp+14h+var_4], 1 call sub_401023 lea ecx, [esi+8D036h] mov byte ptr [esp+14h+var_4], 0 call sub_401023 lea ecx, [esi+8D008h] mov [esp+14h+var_4], 0FFFFFFFFh call sub_401023 mov ecx, [esp+14h+var_C] pop esi mov large fs:0, ecx add esp, 10h retn sub_4177B0 endp ; --------------------------------------------------------------------------- db 0Dh dup(90h) db 30h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_417870 proc near ; CODE XREF: sub_402239j var_10 = dword ptr -10h var_C = dword ptr -0Ch var_4 = dword ptr -4 push 0FFFFFFFFh push offset SEH_417870 mov eax, large fs:0 push eax mov large fs:0, esp push ecx push esi mov esi, ecx mov [esp+14h+var_10], esi lea ecx, [esi+0EAh] mov [esp+14h+var_4], 4 call sub_401023 lea ecx, [esi+0BCh] mov byte ptr [esp+14h+var_4], 3 call sub_401023 lea ecx, [esi+8Eh] mov byte ptr [esp+14h+var_4], 2 call sub_401023 lea ecx, [esi+60h] mov byte ptr [esp+14h+var_4], 1 call sub_401023 lea ecx, [esi+32h] mov byte ptr [esp+14h+var_4], 0 call sub_401023 lea ecx, [esi+4] mov [esp+14h+var_4], 0FFFFFFFFh call sub_401023 mov ecx, [esp+14h+var_C] pop esi mov large fs:0, ecx add esp, 10h retn sub_417870 endp ; --------------------------------------------------------------------------- db 6 dup(90h) db 30h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_417930 proc near ; CODE XREF: sub_401ECEj var_10 = dword ptr -10h var_C = dword ptr -0Ch var_4 = dword ptr -4 push 0FFFFFFFFh push offset SEH_417930 mov eax, large fs:0 push eax mov large fs:0, esp push ecx push esi mov esi, ecx mov [esp+14h+var_10], esi lea ecx, [esi+0EAh] mov [esp+14h+var_4], 4 call sub_401023 lea ecx, [esi+0BCh] mov byte ptr [esp+14h+var_4], 3 call sub_401023 lea ecx, [esi+8Eh] mov byte ptr [esp+14h+var_4], 2 call sub_401023 lea ecx, [esi+60h] mov byte ptr [esp+14h+var_4], 1 call sub_401023 lea ecx, [esi+32h] mov byte ptr [esp+14h+var_4], 0 call sub_401023 lea ecx, [esi+4] mov [esp+14h+var_4], 0FFFFFFFFh call sub_401023 mov ecx, [esp+14h+var_C] pop esi mov large fs:0, ecx add esp, 10h retn sub_417930 endp ; --------------------------------------------------------------------------- db 6 dup(90h) db 30h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_4179F0 proc near ; CODE XREF: sub_4018D9j var_10 = dword ptr -10h var_C = dword ptr -0Ch var_4 = dword ptr -4 push 0FFFFFFFFh push offset SEH_4179F0 mov eax, large fs:0 push eax mov large fs:0, esp push ecx push esi mov esi, ecx mov [esp+14h+var_10], esi lea ecx, [esi+32h] mov [esp+14h+var_4], 0 call sub_401023 lea ecx, [esi+4] mov [esp+14h+var_4], 0FFFFFFFFh call sub_401023 mov ecx, [esp+14h+var_C] pop esi mov large fs:0, ecx add esp, 10h retn sub_4179F0 endp ; --------------------------------------------------------------------------- db 3 dup(90h) db 20h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_417A60 proc near ; CODE XREF: sub_4017DAj var_10 = dword ptr -10h var_C = dword ptr -0Ch var_4 = dword ptr -4 push 0FFFFFFFFh push offset SEH_417A60 mov eax, large fs:0 push eax mov large fs:0, esp push ecx push esi mov esi, ecx mov [esp+14h+var_10], esi lea ecx, [esi+32h] mov [esp+14h+var_4], 0 call sub_401023 lea ecx, [esi+4] mov [esp+14h+var_4], 0FFFFFFFFh call sub_401023 mov ecx, [esp+14h+var_C] pop esi mov large fs:0, ecx add esp, 10h retn sub_417A60 endp ; --------------------------------------------------------------------------- db 3 dup(90h) db 20h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_417AD0 proc near ; CODE XREF: sub_401B3Bj var_10 = dword ptr -10h var_C = dword ptr -0Ch var_4 = dword ptr -4 push 0FFFFFFFFh push offset SEH_417AD0 mov eax, large fs:0 push eax mov large fs:0, esp push ecx push esi mov esi, ecx mov [esp+14h+var_10], esi lea ecx, [esi+32h] mov [esp+14h+var_4], 0 call sub_401023 lea ecx, [esi+4] mov [esp+14h+var_4], 0FFFFFFFFh call sub_401023 mov ecx, [esp+14h+var_C] pop esi mov large fs:0, ecx add esp, 10h retn sub_417AD0 endp ; --------------------------------------------------------------------------- db 3 dup(90h) db 20h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_417B40 proc near ; CODE XREF: sub_401F46j add ecx, 4 jmp sub_401023 sub_417B40 endp ; --------------------------------------------------------------------------- db 8 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_417B60 proc near ; CODE XREF: sub_401113j var_10 = dword ptr -10h var_C = dword ptr -0Ch var_4 = dword ptr -4 push 0FFFFFFFFh push offset SEH_417B60 mov eax, large fs:0 push eax mov large fs:0, esp push ecx push esi mov esi, ecx mov [esp+14h+var_10], esi lea ecx, [esi+60h] mov [esp+14h+var_4], 1 call sub_401023 lea ecx, [esi+32h] mov byte ptr [esp+14h+var_4], 0 call sub_401023 lea ecx, [esi+4] mov [esp+14h+var_4], 0FFFFFFFFh call sub_401023 mov ecx, [esp+14h+var_C] pop esi mov large fs:0, ecx add esp, 10h retn sub_417B60 endp ; --------------------------------------------------------------------------- db 6 dup(90h) db 20h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_417BE0 proc near ; CODE XREF: sub_401E06j add ecx, 4 jmp sub_401023 sub_417BE0 endp ; --------------------------------------------------------------------------- db 8 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_417C00 proc near ; CODE XREF: sub_402013j add ecx, 4 jmp sub_401023 sub_417C00 endp ; --------------------------------------------------------------------------- db 8 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_417C20 proc near ; CODE XREF: sub_401F00j var_10 = dword ptr -10h var_C = dword ptr -0Ch var_4 = dword ptr -4 push 0FFFFFFFFh push offset SEH_417C20 mov eax, large fs:0 push eax mov large fs:0, esp push ecx push esi mov esi, ecx mov [esp+14h+var_10], esi lea ecx, [esi+0BCh] mov [esp+14h+var_4], 3 call sub_401023 lea ecx, [esi+8Eh] mov byte ptr [esp+14h+var_4], 2 call sub_401023 lea ecx, [esi+60h] mov byte ptr [esp+14h+var_4], 1 call sub_401023 lea ecx, [esi+32h] mov byte ptr [esp+14h+var_4], 0 call sub_401023 lea ecx, [esi+4] mov [esp+14h+var_4], 0FFFFFFFFh call sub_401023 mov ecx, [esp+14h+var_C] pop esi mov large fs:0, ecx add esp, 10h retn sub_417C20 endp ; --------------------------------------------------------------------------- db 6 dup(90h) db 20h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_417CC0 proc near ; CODE XREF: sub_401587j var_10 = dword ptr -10h var_C = dword ptr -0Ch var_4 = dword ptr -4 push 0FFFFFFFFh push offset SEH_417CC0 mov eax, large fs:0 push eax mov large fs:0, esp push ecx push esi mov esi, ecx mov [esp+14h+var_10], esi call sub_4011B3 lea ecx, [esi+4] call sub_40142E lea ecx, [esi+19h] mov [esp+14h+var_4], 0 call sub_401753 lea ecx, [esi+47h] mov byte ptr [esp+14h+var_4], 1 call sub_401753 lea ecx, [esi+75h] mov byte ptr [esp+14h+var_4], 2 call sub_401753 lea ecx, [esi+0A3h] mov byte ptr [esp+14h+var_4], 3 call sub_401753 mov ecx, [esp+14h+var_C] mov dword ptr [esi], offset dword_43F078 mov eax, esi pop esi mov large fs:0, ecx add esp, 10h retn sub_417CC0 endp ; --------------------------------------------------------------------------- db 4 dup(90h) db 20h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_417D60 proc near ; CODE XREF: sub_40164Fj var_10 = dword ptr -10h var_C = dword ptr -0Ch var_4 = dword ptr -4 push 0FFFFFFFFh push offset SEH_417D60 mov eax, large fs:0 push eax mov large fs:0, esp push ecx push esi mov esi, ecx mov [esp+14h+var_10], esi call sub_4011B3 lea ecx, [esi+4] call sub_401753 lea ecx, [esi+32h] mov [esp+14h+var_4], 0 call sub_401753 lea ecx, [esi+60h] mov byte ptr [esp+14h+var_4], 1 call sub_401753 lea ecx, [esi+8Eh] mov byte ptr [esp+14h+var_4], 2 call sub_401753 lea ecx, [esi+0BCh] mov byte ptr [esp+14h+var_4], 3 call sub_401753 lea ecx, [esi+0EAh] mov byte ptr [esp+14h+var_4], 4 call sub_401753 lea ecx, [esi+118h] mov byte ptr [esp+14h+var_4], 5 call sub_401753 mov ecx, [esp+14h+var_C] mov dword ptr [esi], offset dword_43F07C mov eax, esi pop esi mov large fs:0, ecx add esp, 10h retn sub_417D60 endp ; --------------------------------------------------------------------------- db 90h db 30h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_417E30 proc near ; CODE XREF: sub_401780j var_10 = dword ptr -10h var_C = dword ptr -0Ch var_4 = dword ptr -4 push 0FFFFFFFFh push offset SEH_417E30 mov eax, large fs:0 push eax mov large fs:0, esp push ecx push esi mov esi, ecx mov [esp+14h+var_10], esi call sub_4011B3 lea ecx, [esi+8D008h] call sub_401753 lea ecx, [esi+8D036h] mov [esp+14h+var_4], 0 call sub_401753 lea ecx, [esi+8D064h] mov byte ptr [esp+14h+var_4], 1 call sub_401753 lea ecx, [esi+8D092h] mov byte ptr [esp+14h+var_4], 2 call sub_401753 lea ecx, [esi+8D0C0h] mov byte ptr [esp+14h+var_4], 3 call sub_401753 mov ecx, [esp+14h+var_C] mov dword ptr [esi], offset dword_43F080 mov eax, esi pop esi mov large fs:0, ecx add esp, 10h retn sub_417E30 endp ; --------------------------------------------------------------------------- db 8 dup(90h) db 30h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_417EF0 proc near ; CODE XREF: sub_40182Fj push esi mov esi, ecx call sub_401E88 mov dword ptr [esi], offset dword_43F050 mov eax, esi pop esi retn sub_417EF0 endp ; --------------------------------------------------------------------------- db 0Eh dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_417F20 proc near ; CODE XREF: sub_4016BDj push esi mov esi, ecx call sub_401E88 mov dword ptr [esi], offset dword_43F05C mov eax, esi pop esi retn sub_417F20 endp ; --------------------------------------------------------------------------- db 0Eh dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_417F50 proc near ; CODE XREF: sub_40141Fj var_10 = dword ptr -10h var_C = dword ptr -0Ch var_4 = dword ptr -4 push 0FFFFFFFFh push offset SEH_417F50 mov eax, large fs:0 push eax mov large fs:0, esp push ecx push esi mov esi, ecx mov [esp+14h+var_10], esi call sub_4011B3 lea ecx, [esi+4] call sub_401753 lea ecx, [esi+32h] mov [esp+14h+var_4], 0 call sub_401753 lea ecx, [esi+60h] mov byte ptr [esp+14h+var_4], 1 call sub_401753 lea ecx, [esi+8Eh] mov byte ptr [esp+14h+var_4], 2 call sub_401753 lea ecx, [esi+0BCh] mov byte ptr [esp+14h+var_4], 3 call sub_401753 lea ecx, [esi+0EAh] mov byte ptr [esp+14h+var_4], 4 call sub_401753 mov ecx, [esp+14h+var_C] mov dword ptr [esi], offset dword_43F084 mov eax, esi pop esi mov large fs:0, ecx add esp, 10h retn sub_417F50 endp ; --------------------------------------------------------------------------- db 90h db 30h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_418010 proc near ; CODE XREF: sub_401302j var_10 = dword ptr -10h var_C = dword ptr -0Ch var_4 = dword ptr -4 push 0FFFFFFFFh push offset SEH_418010 mov eax, large fs:0 push eax mov large fs:0, esp push ecx push esi mov esi, ecx mov [esp+14h+var_10], esi call sub_4011B3 lea ecx, [esi+4] call sub_401753 lea ecx, [esi+32h] mov [esp+14h+var_4], 0 call sub_401753 lea ecx, [esi+60h] mov byte ptr [esp+14h+var_4], 1 call sub_401753 lea ecx, [esi+8Eh] mov byte ptr [esp+14h+var_4], 2 call sub_401753 lea ecx, [esi+0BCh] mov byte ptr [esp+14h+var_4], 3 call sub_401753 lea ecx, [esi+0EAh] mov byte ptr [esp+14h+var_4], 4 call sub_401753 mov ecx, [esp+14h+var_C] mov dword ptr [esi], offset dword_43F088 mov eax, esi pop esi mov large fs:0, ecx add esp, 10h retn sub_418010 endp ; --------------------------------------------------------------------------- db 90h db 30h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_4180D0 proc near ; CODE XREF: sub_401271j var_10 = dword ptr -10h var_C = dword ptr -0Ch var_4 = dword ptr -4 push 0FFFFFFFFh push offset SEH_4180D0 mov eax, large fs:0 push eax mov large fs:0, esp push ecx push esi mov esi, ecx mov [esp+14h+var_10], esi call sub_4011B3 lea ecx, [esi+4] call sub_401753 lea ecx, [esi+32h] mov [esp+14h+var_4], 0 call sub_401753 mov ecx, [esp+14h+var_C] mov dword ptr [esi], offset dword_43F08C mov eax, esi pop esi mov large fs:0, ecx add esp, 10h retn sub_4180D0 endp ; --------------------------------------------------------------------------- db 0Eh dup(90h) db 20h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_418150 proc near ; CODE XREF: sub_401D25j push esi mov esi, ecx call sub_4011B3 mov dword ptr [esi], offset dword_43F090 mov eax, esi pop esi retn sub_418150 endp ; --------------------------------------------------------------------------- db 0Eh dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_418180 proc near ; CODE XREF: sub_4012FDj var_10 = dword ptr -10h var_C = dword ptr -0Ch var_4 = dword ptr -4 push 0FFFFFFFFh push offset SEH_418180 mov eax, large fs:0 push eax mov large fs:0, esp push ecx push esi mov esi, ecx mov [esp+14h+var_10], esi call sub_4011B3 lea ecx, [esi+4] call sub_401753 lea ecx, [esi+32h] mov [esp+14h+var_4], 0 call sub_401753 mov ecx, [esp+14h+var_C] mov dword ptr [esi], offset dword_43F094 mov eax, esi pop esi mov large fs:0, ecx add esp, 10h retn sub_418180 endp ; --------------------------------------------------------------------------- db 0Eh dup(90h) db 20h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_418200 proc near ; CODE XREF: sub_401A91j var_10 = dword ptr -10h var_C = dword ptr -0Ch var_4 = dword ptr -4 push 0FFFFFFFFh push offset SEH_418200 mov eax, large fs:0 push eax mov large fs:0, esp push ecx push esi mov esi, ecx mov [esp+14h+var_10], esi call sub_4011B3 lea ecx, [esi+4] call sub_401753 lea ecx, [esi+32h] mov [esp+14h+var_4], 0 call sub_401753 mov ecx, [esp+14h+var_C] mov dword ptr [esi], offset dword_43F098 mov eax, esi pop esi mov large fs:0, ecx add esp, 10h retn sub_418200 endp ; --------------------------------------------------------------------------- db 0Eh dup(90h) db 20h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_418280 proc near ; CODE XREF: sub_401285j push esi mov esi, ecx call sub_4011B3 lea ecx, [esi+4] call sub_401753 mov dword ptr [esi], offset dword_43F09C mov eax, esi pop esi retn sub_418280 endp ; --------------------------------------------------------------------------- db 6 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_4182B0 proc near ; CODE XREF: sub_401CB7j var_10 = dword ptr -10h var_C = dword ptr -0Ch var_4 = dword ptr -4 push 0FFFFFFFFh push offset SEH_4182B0 mov eax, large fs:0 push eax mov large fs:0, esp push ecx push esi mov esi, ecx mov [esp+14h+var_10], esi call sub_4011B3 lea ecx, [esi+4] call sub_401753 lea ecx, [esi+32h] mov [esp+14h+var_4], 0 call sub_401753 lea ecx, [esi+60h] mov byte ptr [esp+14h+var_4], 1 call sub_401753 mov ecx, [esp+14h+var_C] mov dword ptr [esi], offset dword_43F0A0 mov eax, esi pop esi mov large fs:0, ecx add esp, 10h retn sub_4182B0 endp ; --------------------------------------------------------------------------- db 90h db 20h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_418330 proc near ; CODE XREF: sub_40157Dj push esi mov esi, ecx call sub_4011B3 lea ecx, [esi+4] call sub_401753 mov dword ptr [esi], offset dword_43F0A4 mov eax, esi pop esi retn sub_418330 endp ; --------------------------------------------------------------------------- db 6 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_418360 proc near ; CODE XREF: sub_401799j push esi mov esi, ecx call sub_4011B3 lea ecx, [esi+4] call sub_401753 mov dword ptr [esi], offset dword_43F0A8 mov eax, esi pop esi retn sub_418360 endp ; --------------------------------------------------------------------------- db 6 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_418390 proc near ; CODE XREF: sub_401073j var_10 = dword ptr -10h var_C = dword ptr -0Ch var_4 = dword ptr -4 push 0FFFFFFFFh push offset SEH_418390 mov eax, large fs:0 push eax mov large fs:0, esp push ecx push esi mov esi, ecx mov [esp+14h+var_10], esi call sub_4011B3 lea ecx, [esi+4] call sub_401753 lea ecx, [esi+32h] mov [esp+14h+var_4], 0 call sub_401753 lea ecx, [esi+60h] mov byte ptr [esp+14h+var_4], 1 call sub_401753 lea ecx, [esi+8Eh] mov byte ptr [esp+14h+var_4], 2 call sub_401753 lea ecx, [esi+0BCh] mov byte ptr [esp+14h+var_4], 3 call sub_401753 mov ecx, [esp+14h+var_C] mov dword ptr [esi], offset dword_43F0AC mov eax, esi pop esi mov large fs:0, ecx add esp, 10h retn sub_418390 endp ; --------------------------------------------------------------------------- db 90h db 20h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_418430 proc near ; CODE XREF: sub_401267j var_C = dword ptr -0Ch var_8 = byte ptr -8 var_4 = byte ptr -4 sub esp, 0Ch push ebx push ebp mov ebp, dword_5118D8 push esi mov esi, ecx push edi xor bl, bl mov byte ptr [esi+9FD2Ch], 1 loc_418448: ; CODE XREF: sub_418430+E4j test bl, bl jnz loc_41851E mov al, [esi+8EF74h] test al, al jnz short loc_41845E mov bl, 1 jmp short loc_418472 ; --------------------------------------------------------------------------- loc_41845E: ; CODE XREF: sub_418430+28j lea ecx, [esi+15Fh] call sub_40186B test al, al setz bl test bl, bl jz short loc_418479 loc_418472: ; CODE XREF: sub_418430+2Cj mov byte ptr [esi+9FD2Ch], 0 loc_418479: ; CODE XREF: sub_418430+40j lea ecx, [esp+1Ch+var_C] call sub_4020A4 lea edi, [esi+9FD83h] lea eax, [esp+1Ch+var_4] push eax mov ecx, edi call sub_401F69 mov ecx, [eax] lea edx, [esp+1Ch+var_8] mov [esp+1Ch+var_C], ecx push edx mov ecx, edi call sub_401311 push eax lea ecx, [esp+20h+var_C] call sub_401703 test al, al jz short loc_4184FE loc_4184B4: ; CODE XREF: sub_418430+CCj lea ecx, [esp+1Ch+var_C] call sub_402234 mov ecx, [eax] call sub_40174E lea ecx, [esp+1Ch+var_C] call sub_402234 mov eax, [eax] test eax, eax jz short loc_4184DB mov edx, [eax] push 1 mov ecx, eax call dword ptr [edx] loc_4184DB: ; CODE XREF: sub_418430+A1j lea ecx, [esp+1Ch+var_C] call sub_401361 lea eax, [esp+1Ch+var_8] mov ecx, edi push eax call sub_401311 push eax lea ecx, [esp+20h+var_C] call sub_401703 test al, al jnz short loc_4184B4 loc_4184FE: ; CODE XREF: sub_418430+82j mov ecx, edi call sub_4010B9 push 0FAh call ebp mov al, [esi+9FD2Ch] test al, al jnz loc_418448 test bl, bl jz short loc_41852B loc_41851E: ; CODE XREF: sub_418430+1Aj pop edi pop esi pop ebp mov eax, 1 pop ebx add esp, 0Ch retn ; --------------------------------------------------------------------------- loc_41852B: ; CODE XREF: sub_418430+ECj pop edi pop esi pop ebp xor eax, eax pop ebx add esp, 0Ch retn sub_418430 endp ; --------------------------------------------------------------------------- db 0Bh dup(90h) db 50h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_418590 proc near ; CODE XREF: sub_401771j 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_418590 push eax mov large fs:0, esp sub esp, 1A8h push ebx push ebp push esi mov esi, ecx push edi mov ecx, offset byte_4E8EAB mov byte ptr [esi+9FD2Ch], 1 call sub_4010B9 mov eax, [esp+1C4h+arg_4] test eax, eax jz short loc_4185D0 push eax jmp short loc_4185D5 ; --------------------------------------------------------------------------- loc_4185D0: ; CODE XREF: sub_418590+3Bj push offset byte_448F40 loc_4185D5: ; CODE XREF: sub_418590+3Ej lea ecx, [esi+9FD57h] call sub_4015E1 mov edi, [esp+1C4h+arg_0] test edi, edi jz short loc_4185EE push edi jmp short loc_4185F3 ; --------------------------------------------------------------------------- loc_4185EE: ; CODE XREF: sub_418590+59j push offset byte_448F40 loc_4185F3: ; CODE XREF: sub_418590+5Cj lea ecx, [esi+9FD6Ch] call sub_4015E1 push edi lea ecx, [esi+3Eh] call sub_401384 mov al, [esi+42h] test al, al jz short loc_41861D mov eax, [esi+43h] lea ecx, [esi+152h] push eax call sub_401988 loc_41861D: ; CODE XREF: sub_418590+7Cj lea ecx, [esp+1C4h+var_19C] push ecx push 202h call near ptr 71AB664Dh nop call sub_4014C4 lea ecx, [esi+1BBEh] call sub_4017F8 lea ecx, [esi+1B46h] call sub_401A05 lea edi, [esi+15Fh] mov ecx, edi call sub_401D48 mov ebx, dword_5118D8 push 3E8h call ebx mov ecx, edi call sub_40121C push 3E8h call ebx mov al, [esi+48h] test al, al jnz short loc_418681 mov al, [esi+7C7h] test al, al jz short loc_41868C loc_418681: ; CODE XREF: sub_418590+E5j lea ecx, [esi+9FC31h] call sub_4013DE loc_41868C: ; CODE XREF: sub_418590+EFj push 3E8h call ebx lea ebx, [esi+3F9h] lea edi, [esi+1C58h] push ebx mov ecx, edi call sub_401B6D mov ecx, edi call sub_401195 mov al, [esi+77Eh] test al, al jz short loc_4186C7 lea edx, [esi+71Ch] push ebx push edx mov ecx, edi call sub_401730 loc_4186C7: ; CODE XREF: sub_418590+126j mov al, [esi+7C7h] test al, al jz short loc_4186EE lea ebp, [esi+7F7h] mov ecx, edi push ebp call sub_401FD2 test al, al jnz short loc_4186EE push ebx push ebp mov ecx, edi call sub_4014A1 jmp short loc_4186FC ; --------------------------------------------------------------------------- loc_4186EE: ; CODE XREF: sub_418590+13Fj ; sub_418590+151j lea ebp, [esi+7F7h] mov ecx, edi push ebp call sub_401951 loc_4186FC: ; CODE XREF: sub_418590+15Cj mov al, [esi+7C7h] test al, al jz short loc_418721 mov al, [esi+48h] test al, al jnz short loc_418721 push ebp mov ecx, edi call sub_401FFA test al, al jz short loc_418721 push 0 nop call near ptr 77C39E7Eh loc_418721: ; CODE XREF: sub_418590+174j ; sub_418590+17Bj ... call sub_401F0A lea ecx, [esi+168h] call sub_4017EE push eax lea eax, [esp+1C8h+var_1B4] push eax call sub_402040 add esp, 8 push eax lea ecx, [esi+9FD2Dh] mov [esp+1C8h+var_4], 0 call sub_40202C lea ecx, [esp+1C4h+var_1B4] mov [esp+1C4h+var_4], 0FFFFFFFFh call sub_401226 lea ebx, [esi+8EF5Dh] mov ecx, ebx call sub_4013DE lea ecx, [esi+8F247h] call sub_4013DE lea ecx, [esi+1D29h] call sub_401D93 lea ecx, [esi+1E6Fh] call sub_401AF5 lea ecx, [esi+8F285h] call sub_401613 lea ecx, [esi+9FA13h] call sub_4016FE lea ecx, [esi+8F3A2h] call sub_402202 lea ecx, [esi+9FA73h] call sub_401E65 mov ecx, ebx call sub_401A19 lea ecx, [esi+9FC42h] call sub_401F7D mov ecx, edi call sub_40104B lea ecx, [esi+8F4BFh] call sub_401C21 lea ecx, [esi+9FB05h] call sub_401BA4 lea ecx, [esi+9FAD3h] call sub_401F1E lea ecx, [esi+9FB93h] call sub_401974 lea ecx, [esi+9FBCDh] call sub_402063 lea ecx, [esi+9FBFFh] call sub_401BF9 mov ecx, esi call sub_401267 lea ecx, [esi+8F270h] mov edi, eax call sub_40174E mov ecx, ebx call sub_40174E call sub_401B2C nop call near ptr 71AB4428h mov al, [esi+42h] test al, al jz short loc_418857 lea ecx, [esi+152h] call sub_401CEE loc_418857: ; CODE XREF: sub_418590+2BAj 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_418590 endp ; --------------------------------------------------------------------------- db 0Ch dup(90h) db 0C0h dup(0CCh) ; --------------------------------------------------------------------------- locret_418940: ; CODE XREF: ___:00402225j retn ; --------------------------------------------------------------------------- db 0Fh dup(90h) db 10h dup(0CCh) ; --------------------------------------------------------------------------- loc_418960: ; CODE XREF: ___:00401EE2j mov eax, [esp+0Ch] push 0 push eax mov ecx, offset dword_449128 call sub_401771 retn 10h ; --------------------------------------------------------------------------- db 0Ch dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_418990 proc near ; CODE XREF: sub_401B1Dj var_C = byte ptr -0Ch var_8 = byte ptr -8 var_4 = byte ptr -4 sub esp, 0Ch lea eax, [esp+0Ch+var_C] push esi mov esi, ecx push eax call sub_4021DF mov ecx, [eax] lea edx, [esp+10h+var_8] push ecx push edx mov ecx, esi call sub_40162C mov eax, [eax] lea ecx, [esp+14h+var_4] push eax push ecx mov ecx, esi call sub_401438 mov edx, [esi+4] mov ecx, esi push edx call sub_402103 xor eax, eax mov [esi+4], eax mov [esi+8], eax pop esi add esp, 0Ch retn sub_418990 endp ; --------------------------------------------------------------------------- db 0Ah dup(90h) db 20h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_418A00 proc near ; CODE XREF: sub_401B0Ej arg_0 = dword ptr 4 mov eax, [esp+arg_0] push esi mov esi, ecx push 0 mov cl, [eax] push 0 mov [esi], cl mov ecx, esi call sub_40139D mov [esi+4], eax mov dword ptr [esi+8], 0 mov eax, esi pop esi retn 4 sub_418A00 endp ; --------------------------------------------------------------------------- db 0Ah dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_418A40 proc near ; CODE XREF: sub_4021FDj var_C = byte ptr -0Ch var_8 = byte ptr -8 var_4 = byte ptr -4 sub esp, 0Ch lea eax, [esp+0Ch+var_C] push esi mov esi, ecx push eax call sub_401311 mov ecx, [eax] lea edx, [esp+10h+var_8] push ecx push edx mov ecx, esi call sub_401F69 mov eax, [eax] lea ecx, [esp+14h+var_4] push eax push ecx mov ecx, esi call sub_40155A mov edx, [esi+4] mov ecx, esi push edx call sub_40207C xor eax, eax mov [esi+4], eax mov [esi+8], eax pop esi add esp, 0Ch retn sub_418A40 endp ; --------------------------------------------------------------------------- db 0Ah dup(90h) db 20h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_418AB0 proc near ; CODE XREF: sub_401F69j var_4 = byte ptr -4 arg_0 = dword ptr 4 push ecx mov eax, [ecx+4] push eax call sub_4015DC mov ecx, [eax] add esp, 4 push ecx lea ecx, [esp+8+var_4] call sub_401D98 mov edx, [eax] mov eax, [esp+4+arg_0] mov [eax], edx pop ecx retn 4 sub_418AB0 endp ; --------------------------------------------------------------------------- db 0Bh dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_418AF0 proc near ; CODE XREF: sub_401311j var_4 = byte ptr -4 arg_0 = dword ptr 4 push ecx mov eax, [ecx+4] lea ecx, [esp+4+var_4] push eax call sub_401D98 mov ecx, [eax] mov eax, [esp+4+arg_0] mov [eax], ecx pop ecx retn 4 sub_418AF0 endp ; --------------------------------------------------------------------------- db 6 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_418B20 proc near ; CODE XREF: sub_4010B9j var_C = byte ptr -0Ch var_8 = byte ptr -8 var_4 = byte ptr -4 sub esp, 0Ch lea eax, [esp+0Ch+var_C] push esi mov esi, ecx push eax call sub_401311 mov ecx, [eax] lea edx, [esp+10h+var_8] push ecx push edx mov ecx, esi call sub_401F69 mov eax, [eax] lea ecx, [esp+14h+var_4] push eax push ecx mov ecx, esi call sub_40155A pop esi add esp, 0Ch retn sub_418B20 endp ; --------------------------------------------------------------------------- db 0Dh dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_418B70 proc near ; CODE XREF: sub_4020A4j push esi mov esi, ecx call sub_401532 mov eax, esi pop esi retn sub_418B70 endp ; --------------------------------------------------------------------------- db 4 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_418B90 proc near ; CODE XREF: sub_402234j mov eax, [ecx] push eax call sub_401172 add esp, 4 retn sub_418B90 endp ; --------------------------------------------------------------------------- db 4 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_418BB0 proc near ; CODE XREF: sub_401361j push esi mov esi, ecx mov eax, [esi] push eax call sub_4015DC mov ecx, [eax] add esp, 4 mov [esi], ecx mov eax, esi pop esi retn sub_418BB0 endp ; --------------------------------------------------------------------------- db 0Ah dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_418BE0 proc near ; CODE XREF: sub_401703j arg_0 = dword ptr 4 mov eax, [esp+arg_0] push eax call sub_40223E neg al sbb eax, eax inc eax retn 4 sub_418BE0 endp ; --------------------------------------------------------------------------- db 0Eh dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_418C10 proc near ; CODE XREF: sub_401438j var_8 = byte ptr -8 var_4 = byte ptr -4 arg_0 = dword ptr 4 arg_4 = dword ptr 8 arg_8 = byte ptr 0Ch sub esp, 8 lea eax, [esp+8+arg_8] push esi mov esi, ecx push eax lea ecx, [esp+10h+arg_4] call sub_40184D test al, al jz short loc_418C6A loc_418C28: ; CODE XREF: sub_418C10+47j lea ecx, [esp+0Ch+var_8] push 0 push ecx lea ecx, [esp+14h+arg_4] call sub_40116D mov edx, [eax] lea eax, [esp+0Ch+var_4] push edx push eax mov ecx, esi call sub_40123F lea ecx, [esp+0Ch+arg_8] push ecx lea ecx, [esp+10h+arg_4] call sub_40184D test al, al jnz short loc_418C28 mov eax, [esp+0Ch+arg_0] mov edx, [esp+0Ch+arg_4] pop esi mov [eax], edx add esp, 8 retn 0Ch ; --------------------------------------------------------------------------- loc_418C6A: ; CODE XREF: sub_418C10+16j mov eax, [esp+0Ch+arg_0] mov ecx, [esp+0Ch+arg_4] pop esi mov [eax], ecx add esp, 8 retn 0Ch sub_418C10 endp ; --------------------------------------------------------------------------- db 5 dup(90h) db 20h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_418CA0 proc near ; CODE XREF: sub_402103j arg_0 = dword ptr 4 mov eax, [esp+arg_0] push 1 push eax call sub_401D6B retn 4 sub_418CA0 endp ; --------------------------------------------------------------------------- db 90h db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_418CC0 proc near ; CODE XREF: sub_40155Aj var_8 = byte ptr -8 var_4 = byte ptr -4 arg_0 = dword ptr 4 arg_4 = dword ptr 8 arg_8 = byte ptr 0Ch sub esp, 8 lea eax, [esp+8+arg_8] push esi mov esi, ecx push eax lea ecx, [esp+10h+arg_4] call sub_401703 test al, al jz short loc_418D1A loc_418CD8: ; CODE XREF: sub_418CC0+47j lea ecx, [esp+0Ch+var_8] push 0 push ecx lea ecx, [esp+14h+arg_4] call sub_4012A3 mov edx, [eax] lea eax, [esp+0Ch+var_4] push edx push eax mov ecx, esi call sub_40216C lea ecx, [esp+0Ch+arg_8] push ecx lea ecx, [esp+10h+arg_4] call sub_401703 test al, al jnz short loc_418CD8 mov eax, [esp+0Ch+arg_0] mov edx, [esp+0Ch+arg_4] pop esi mov [eax], edx add esp, 8 retn 0Ch ; --------------------------------------------------------------------------- loc_418D1A: ; CODE XREF: sub_418CC0+16j mov eax, [esp+0Ch+arg_0] mov ecx, [esp+0Ch+arg_4] pop esi mov [eax], ecx add esp, 8 retn 0Ch sub_418CC0 endp ; --------------------------------------------------------------------------- db 5 dup(90h) db 20h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_418D50 proc near ; CODE XREF: sub_40139Dj arg_0 = dword ptr 4 arg_4 = dword ptr 8 push esi push edi push 0Ch call sub_401C67 mov edi, [esp+8+arg_0] mov esi, eax test edi, edi jnz short loc_418D65 mov edi, esi loc_418D65: ; CODE XREF: sub_418D50+11j push esi call sub_4015DC mov [eax], edi mov edi, [esp+0Ch+arg_4] add esp, 4 test edi, edi jnz short loc_418D7A mov edi, esi loc_418D7A: ; CODE XREF: sub_418D50+26j push esi call sub_401B31 add esp, 4 mov [eax], edi mov eax, esi pop edi pop esi retn 8 sub_418D50 endp ; --------------------------------------------------------------------------- db 4 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_418DA0 proc near ; CODE XREF: sub_40207Cj arg_0 = dword ptr 4 mov eax, [esp+arg_0] push 1 push eax call sub_4013FC retn 4 sub_418DA0 endp ; --------------------------------------------------------------------------- db 90h db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_418DC0 proc near ; CODE XREF: sub_4015DCj arg_0 = dword ptr 4 mov eax, [esp+arg_0] retn sub_418DC0 endp ; --------------------------------------------------------------------------- db 0Bh dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_418DE0 proc near ; CODE XREF: sub_401172j arg_0 = dword ptr 4 mov eax, [esp+arg_0] add eax, 8 retn sub_418DE0 endp ; --------------------------------------------------------------------------- db 8 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_418E00 proc near ; CODE XREF: sub_401532j mov eax, ecx retn sub_418E00 endp ; --------------------------------------------------------------------------- db 0Dh dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_418E20 proc near ; CODE XREF: sub_401D98j arg_0 = dword ptr 4 mov eax, [esp+arg_0] push esi mov esi, ecx push eax call sub_4020FE mov eax, esi pop esi retn 4 sub_418E20 endp ; --------------------------------------------------------------------------- db 0Dh dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_418E50 proc near ; CODE XREF: sub_40223Ej arg_0 = dword ptr 4 mov edx, [esp+arg_0] mov eax, [ecx] push esi xor ecx, ecx mov esi, [edx] cmp eax, esi pop esi setz cl mov al, cl retn 4 sub_418E50 endp ; --------------------------------------------------------------------------- db 0Ah dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_418E80 proc near ; CODE XREF: sub_40123Fj 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_40116D mov ecx, eax call sub_401C9E mov esi, eax push esi call sub_401A96 push esi mov ebx, eax call sub_401C6C mov ecx, [eax] push ecx call sub_401A96 mov edx, [ebx] push esi mov [eax], edx call sub_401C6C push esi mov ebx, eax call sub_401A96 mov eax, [eax] push eax call sub_401C6C mov ecx, [ebx] push esi mov [eax], ecx call sub_401208 add esp, 1Ch mov ecx, edi push eax call sub_40176C push esi mov ecx, edi call sub_402103 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_418E80 endp ; --------------------------------------------------------------------------- db 0Ch dup(90h) db 30h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_418F40 proc near ; CODE XREF: sub_401D6Bj arg_0 = dword ptr 4 mov eax, [esp+arg_0] push eax call near ptr word_437AD2 pop ecx retn 8 sub_418F40 endp ; --------------------------------------------------------------------------- db 2 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_418F60 proc near ; CODE XREF: sub_40116Dj arg_0 = dword ptr 4 push esi mov esi, [ecx] call sub_401F28 mov eax, [esp+4+arg_0] mov [eax], esi pop esi retn 8 sub_418F60 endp ; --------------------------------------------------------------------------- db 0Eh dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_418F90 proc near ; CODE XREF: sub_40216Cj var_4 = byte ptr -4 arg_0 = dword ptr 4 arg_4 = dword ptr 8 push ecx push ebx push esi push edi mov edi, ecx lea eax, [esp+10h+var_4] push 0 push eax lea ecx, [esp+18h+arg_4] call sub_4012A3 mov ecx, eax call sub_401EEC mov esi, eax push esi call sub_4015DC push esi mov ebx, eax call sub_401B31 mov ecx, [eax] push ecx call sub_4015DC mov edx, [ebx] push esi mov [eax], edx call sub_401B31 push esi mov ebx, eax call sub_4015DC mov eax, [eax] push eax call sub_401B31 mov ecx, [ebx] push esi mov [eax], ecx call sub_401172 add esp, 1Ch mov ecx, edi push eax call sub_4018D4 push esi mov ecx, edi call sub_40207C 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_418F90 endp ; --------------------------------------------------------------------------- db 0Ch dup(90h) db 30h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_419050 proc near ; CODE XREF: sub_401B31j arg_0 = dword ptr 4 mov eax, [esp+arg_0] add eax, 4 retn sub_419050 endp ; --------------------------------------------------------------------------- db 8 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_419070 proc near ; CODE XREF: sub_401C67j arg_0 = dword ptr 4 mov eax, [esp+arg_0] push 0 push eax call sub_401D2A add esp, 8 retn 4 sub_419070 endp ; --------------------------------------------------------------------------- db 0Eh dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_4190A0 proc near ; CODE XREF: sub_4013FCj arg_0 = dword ptr 4 mov eax, [esp+arg_0] push eax call near ptr word_437AD2 pop ecx retn 8 sub_4190A0 endp ; --------------------------------------------------------------------------- db 2 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_4190C0 proc near ; CODE XREF: sub_4020FEj arg_0 = dword ptr 4 mov eax, ecx mov ecx, [esp+arg_0] mov [eax], ecx retn 4 sub_4190C0 endp ; --------------------------------------------------------------------------- db 5 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_4190E0 proc near ; CODE XREF: sub_4012A3j arg_0 = dword ptr 4 push esi mov esi, [ecx] call sub_401361 mov eax, [esp+4+arg_0] mov [eax], esi pop esi retn 8 sub_4190E0 endp ; --------------------------------------------------------------------------- db 0Eh dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_419110 proc near ; CODE XREF: sub_40176Cj arg_0 = dword ptr 4 mov eax, [esp+arg_0] push eax call j_nullsub_8 pop ecx retn 4 sub_419110 endp ; --------------------------------------------------------------------------- db 2 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_419130 proc near ; CODE XREF: sub_4018D4j arg_0 = dword ptr 4 mov eax, [esp+arg_0] push eax call j_nullsub_4 pop ecx retn 4 sub_419130 endp ; --------------------------------------------------------------------------- db 2 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_419150 proc near ; CODE XREF: sub_401EECj mov eax, [ecx] retn sub_419150 endp ; --------------------------------------------------------------------------- db 0Dh dup(90h) db 10h dup(0CCh) ; [00000001 BYTES: COLLAPSED FUNCTION nullsub_8. PRESS KEYPAD "+" TO EXPAND] db 0Fh dup(90h) db 10h dup(0CCh) ; [00000001 BYTES: COLLAPSED FUNCTION nullsub_4. PRESS KEYPAD "+" TO EXPAND] db 0Fh dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_4191B0 proc near ; CODE XREF: sub_402121j 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_4191B0 mov eax, large fs:0 push eax mov large fs:0, esp sub esp, 8 push esi mov esi, ecx mov [esp+18h+var_14], esi call sub_4011B3 lea ecx, [esi+4] call sub_401753 push 9 mov [esp+1Ch+var_4], 0 mov dword ptr [esi], offset dword_43F074 call near ptr word_437AEA add esp, 4 mov [esp+18h+var_10], eax test eax, eax mov byte ptr [esp+18h+var_4], 1 jz short loc_41921D mov ecx, eax call sub_401F2D 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_41921D: ; CODE XREF: sub_4191B0+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_4191B0 endp ; --------------------------------------------------------------------------- db 0Ch dup(90h) db 30h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_419270 proc near ; CODE XREF: sub_401F2Dj var_10 = dword ptr -10h var_C = dword ptr -0Ch var_4 = dword ptr -4 push 0FFFFFFFFh push offset SEH_419270 mov eax, large fs:0 push eax mov large fs:0, esp push ecx push esi mov esi, ecx push 14h call near ptr word_437AEA add esp, 4 mov [esp+14h+var_10], eax test eax, eax mov [esp+14h+var_4], 0 jz short loc_4192BE mov ecx, eax call sub_4015C3 mov [esi], eax mov eax, esi pop esi mov ecx, [esp+10h+var_C] mov large fs:0, ecx add esp, 10h retn ; --------------------------------------------------------------------------- loc_4192BE: ; CODE XREF: sub_419270+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_419270 endp ; --------------------------------------------------------------------------- db 0Ch dup(90h) db 20h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_419300 proc near ; CODE XREF: sub_4015C3j mov eax, ecx retn sub_419300 endp ; --------------------------------------------------------------------------- db 0Dh dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_419320 proc near ; CODE XREF: sub_401974j var_24 = byte ptr -24h var_C = dword ptr -0Ch var_4 = dword ptr -4 push 0FFFFFFFFh push offset SEH_419320 mov eax, large fs:0 push eax mov large fs:0, esp sub esp, 18h push esi push 0 push 14h push 1 push 14h push 13h push 14h push 5 lea eax, [esp+44h+var_24] push 0Eh mov esi, ecx push eax call sub_4019C4 add esp, 24h push esi mov ecx, eax mov [esp+2Ch+var_4], 0 call sub_40168B add esi, 4 push eax push esi mov ecx, offset dword_449128 call sub_40159B lea ecx, [esp+28h+var_24] mov [esp+28h+var_4], 0FFFFFFFFh call sub_401226 mov ecx, [esp+28h+var_C] pop esi mov large fs:0, ecx add esp, 24h retn sub_419320 endp ; --------------------------------------------------------------------------- db 8 dup(90h) db 20h dup(0CCh) ; --------------------------------------------------------------------------- loc_4193C0: ; CODE XREF: ___:0040111Dj push 0FFFFFFFFh push offset word_43BFA6 mov eax, large fs:0 push eax mov large fs:0, esp sub esp, 298h push ebx mov ebx, ecx push esi mov [esp+8], ebx lea ecx, [ebx+4] call sub_4017EE mov esi, [esp+2B0h] push eax lea ecx, [esi+7Eh] call sub_4012EE test eax, eax jnz loc_419766 push ebp push edi push offset dword_444600 lea eax, [esp+7Ch] push 1 push eax mov ecx, esi call sub_4016B8 mov ecx, eax call sub_40168B push eax nop call near ptr 77C1BF18h add esp, 4 lea ecx, [esp+78h] mov [ebx+36h], eax call sub_401226 mov ecx, esi call sub_4017EE push eax lea ecx, [esp+44h] call sub_401870 xor ebp, ebp push offset dword_444D80 lea ecx, [esp+44h] mov [esp+2B4h], ebp mov [esp+18h], ebp call sub_4013ED test eax, eax jz short loc_41946F mov dword ptr [esp+14h], 2 jmp short loc_419489 ; --------------------------------------------------------------------------- loc_41946F: ; CODE XREF: ___:00419463j push offset dword_444D7C lea ecx, [esp+44h] call sub_4013ED test eax, eax jz short loc_419489 mov dword ptr [esp+14h], 1 loc_419489: ; CODE XREF: ___:0041946Dj ; ___:0041947Fj mov ecx, [ebx+32h] mov edi, offset dword_444D70 xor eax, eax mov edx, [ecx] or ecx, 0FFFFFFFFh add edx, 2 repne scasb not ecx sub edi, ecx mov eax, ecx mov esi, edi mov edi, edx shr ecx, 2 rep movsd mov ecx, eax and ecx, 3 rep movsb mov ecx, [ebx+32h] mov edx, [ecx] mov byte ptr [edx], 1 mov eax, [ebx+32h] mov byte ptr [esp+19Bh], 0 mov byte ptr [esp+21Bh], 0 mov byte ptr [esp+2A7h], 0 mov byte ptr [esp+11Bh], 0 mov eax, [eax] cmp byte ptr [eax], 0 jnz short loc_419518 mov esi, dword_511AA8 add eax, 2 push offset dword_444D70 push eax call esi add esp, 8 test eax, eax jz short loc_419518 mov ecx, [ebx+32h] push offset dword_444D6C mov edx, [ecx] add edx, 2 push edx call esi add esp, 8 test eax, eax jnz loc_41974C loc_419518: ; CODE XREF: ___:004194E3j ; ___:004194FBj push 0C00h mov dword ptr [esp+24h], 0C00h nop call near ptr 77C2C407h add esp, 4 mov esi, eax lea eax, [esp+20h] mov [esp+18h], esi push 1 push eax push esi mov [esi], ebp call near ptr dword_437F50 mov eax, [esi] mov [esp+1Ch], ebp cmp eax, ebp jle loc_419742 lea ebp, [esi+14h] loc_419554: ; CODE XREF: ___:0041973Cj cmp dword ptr [ebp-10h], 2 jnz short loc_419568 mov ecx, [ebx+32h] mov edx, [ecx] cmp byte ptr [edx], 0 jz loc_41972C loc_419568: ; CODE XREF: ___:00419558j mov ax, [ebp-8] mov esi, dword_511C5C push eax call esi mov cx, [ebp+0] mov [esp+24h], eax push ecx call esi mov esi, [esp+10h] mov ebx, eax mov eax, [ebp-0Ch] push 1 lea edx, [esp+120h] push 7Fh push edx push eax mov ecx, esi call sub_40147E mov edx, [ebp-4] push 0 lea ecx, [esp+1A0h] push 7Fh push ecx push edx mov ecx, esi call sub_40147E mov eax, [ebp-10h] sub eax, 2 jz short loc_4195CC sub eax, 3 jnz short loc_4195F2 lea edx, [esp+58h] mov edi, offset dword_444D5C jmp short loc_4195D5 ; --------------------------------------------------------------------------- loc_4195CC: ; CODE XREF: ___:004195BAj lea edx, [esp+58h] mov edi, offset dword_444D50 loc_4195D5: ; CODE XREF: ___:004195CAj or ecx, 0FFFFFFFFh xor eax, eax repne scasb not ecx sub edi, ecx mov eax, ecx mov esi, edi mov edi, edx shr ecx, 2 rep movsd mov ecx, eax and ecx, 3 rep movsb loc_4195F2: ; CODE XREF: ___:004195BFj mov ecx, 23h xor eax, eax lea edi, [esp+21Ch] rep stosd mov ecx, 23h lea edi, [esp+90h] rep stosd cmp dword ptr [ebp-10h], 2 jnz short loc_419618 xor ebx, ebx loc_419618: ; CODE XREF: ___:00419614j mov esi, [esp+24h] lea ecx, [esp+11Ch] and esi, 0FFFFh lea edx, [esp+21Ch] push esi push ecx push offset dword_444D48 push 8Bh push edx nop call near ptr 77C3FA76h mov edi, ebx lea eax, [esp+1B0h] and edi, 0FFFFh lea ecx, [esp+0A4h] push edi push eax push offset dword_444D48 push 8Bh push ecx nop call near ptr 77C3FA76h add esp, 28h lea ecx, [esp+28h] call sub_40142E mov eax, [esp+14h] mov byte ptr [esp+2B0h], 1 test bx, bx jnz short loc_4196AE cmp eax, 1 jz loc_419713 mov edx, [esp+10h] mov eax, [edx+36h] test eax, eax jz short loc_4196A1 cmp eax, esi jnz short loc_419713 loc_4196A1: ; CODE XREF: ___:0041969Bj lea eax, [esp+58h] push esi push eax push offset dword_444D40 jmp short loc_4196D4 ; --------------------------------------------------------------------------- loc_4196AE: ; CODE XREF: ___:00419687j cmp eax, 2 jz short loc_419713 mov ecx, [esp+10h] mov eax, [ecx+36h] test eax, eax jz short loc_4196C2 cmp eax, edi jnz short loc_419713 loc_4196C2: ; CODE XREF: ___:004196BCj lea edx, [esp+90h] lea eax, [esp+58h] push edx push eax push offset dword_444D38 loc_4196D4: ; CODE XREF: ___:004196ACj lea ecx, [esp+34h] push ecx call sub_40102D mov esi, [esp+2C8h] add esp, 10h lea ecx, [esi+69h] call sub_4014DD push eax lea ecx, [esp+2Ch] call sub_4014DD mov dl, [esi+94h] push eax mov al, [esi+93h] push edx push eax mov ecx, offset byte_4D8085 call sub_401118 loc_419713: ; CODE XREF: ___:0041968Cj ; ___:0041969Fj ... lea ecx, [esp+28h] mov byte ptr [esp+2B0h], 0 call sub_401226 mov esi, [esp+18h] mov ebx, [esp+10h] loc_41972C: ; CODE XREF: ___:00419562j mov eax, [esp+1Ch] mov ecx, [esi] inc eax add ebp, 14h cmp eax, ecx mov [esp+1Ch], eax jl loc_419554 loc_419742: ; CODE XREF: ___:0041954Bj push esi nop call near ptr 77C2C21Bh add esp, 4 loc_41974C: ; CODE XREF: ___:00419512j lea ecx, [esp+40h] mov dword ptr [esp+2B0h], 0FFFFFFFFh call sub_401226 pop edi mov al, 1 pop ebp jmp short loc_419768 ; --------------------------------------------------------------------------- loc_419766: ; CODE XREF: ___:004193FDj mov al, 1 loc_419768: ; CODE XREF: ___:00419764j mov ecx, [esp+2A0h] pop esi pop ebx mov large fs:0, ecx add esp, 2A4h retn 4 ; --------------------------------------------------------------------------- db 0Fh dup(90h) db 100h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_419890 proc near ; CODE XREF: sub_40147Ej var_20 = byte ptr -20h arg_0 = byte ptr 4 arg_3 = dword ptr 7 arg_8 = dword ptr 0Ch arg_C = byte ptr 10h mov eax, [esp+arg_3] sub esp, 20h mov edx, [esp+25h] and eax, 0FFh push ebx push ebp push esi mov esi, ecx mov ecx, [esp+32h] mov ebx, [esp+2Ch+arg_8] mov ebp, [esp+2Ch+arg_3+1] push eax mov eax, [esp+34h] and ecx, 0FFh and edx, 0FFh push ecx and eax, 0FFh push edx push eax push offset dword_444CB0 push ebx push ebp call near ptr 77C3FA76h nop mov ecx, [esi+32h] add esp, 1Ch mov al, [ecx+4] test al, al jnz short loc_419950 mov al, [esp+2Ch+arg_C] test al, al jnz short loc_41991E mov eax, [esp+30h] test eax, eax jz short loc_41991E push 2 lea edx, [esp+30h+arg_0] push 4 push edx nop call near ptr 71ABE479h test eax, eax jz short loc_419950 mov eax, [eax] push ebx push eax push ebp call near ptr 77C47A90h nop add esp, 0Ch pop esi pop ebp pop ebx add esp, 20h retn 10h ; --------------------------------------------------------------------------- loc_41991E: ; CODE XREF: sub_419890+5Aj ; sub_419890+62j push edi mov ecx, 7 xor eax, eax lea edi, [esp+30h+var_20] rep stosd lea ecx, [esp+30h+var_20] push 1Dh push ecx stosw nop call near ptr 71AB50C8h test eax, eax pop edi jnz short loc_419950 lea edx, [esp+2Ch+var_20] push ebx push edx push ebp nop call near ptr 77C47A90h add esp, 0Ch loc_419950: ; CODE XREF: sub_419890+52j ; sub_419890+75j ... pop esi pop ebp pop ebx add esp, 20h retn 10h sub_419890 endp ; --------------------------------------------------------------------------- db 7 dup(90h) db 40h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_4199A0 proc near ; CODE XREF: sub_401F0Aj nop call near ptr 2800CA0h push eax nop call near ptr 77C371BCh pop ecx retn sub_4199A0 endp ; --------------------------------------------------------------------------- db 90h db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_4199C0 proc near ; CODE XREF: sub_4021C6j var_4 = dword ptr -4 arg_0 = dword ptr 4 arg_4 = dword ptr 8 push ecx push esi nop call near ptr 77C371D3h mov esi, [esp+8+arg_0] mov [esp+8+var_4], eax mov eax, [esp+8+arg_4] fild [esp+8+var_4] sub eax, esi mov [esp+8+arg_4], eax fimul [esp+8+arg_4] fmul dbl_43F0B0 call near ptr word_437BDA sub esi, eax mov eax, esi pop esi pop ecx retn sub_4199C0 endp ; --------------------------------------------------------------------------- db 0Ch dup(90h) db 10h dup(0CCh) ; --------------------------------------------------------------------------- loc_419A10: ; CODE XREF: ___:00401C99j nop call near ptr 77C371D3h cdq idiv dword ptr [esp+4] mov eax, edx retn ; --------------------------------------------------------------------------- db 2 dup(90h) db 10h dup(0CCh) ; --------------------------------------------------------------------------- locret_419A30: ; CODE XREF: ___:00401528j retn ; --------------------------------------------------------------------------- db 0Fh dup(90h) db 10h dup(0CCh) ; --------------------------------------------------------------------------- loc_419A50: ; CODE XREF: ___:00401FE1j xor al, al retn 4 ; --------------------------------------------------------------------------- db 0Bh dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_419A70 proc near ; CODE XREF: sub_40152Dj arg_4 = dword ptr 8 arg_8 = dword ptr 0Ch arg_C = dword ptr 10h mov eax, [esp+arg_C] mov ecx, [esp+arg_4] mov edx, [esp+arg_8] cmp eax, 1 setnl al mov byte ptr [esp+arg_C], al push ecx mov eax, [esp+4+arg_C] push edx push eax push 0 mov ecx, offset byte_4D8085 call sub_401118 retn sub_419A70 endp ; --------------------------------------------------------------------------- db 6 dup(90h) db 10h dup(0CCh) ; --------------------------------------------------------------------------- loc_419AB0: ; CODE XREF: ___:0040150Fj sub esp, 0Ch mov eax, [esp+20h] push ebx push ebp push esi xor esi, esi push edi cmp eax, esi mov dword ptr [esp+18h], 80h mov [esp+10h], esi jz short loc_419AE3 push eax nop call near ptr 77C1BF18h add esp, 4 cmp eax, esi mov [esp+10h], eax jz short loc_419AE3 mov [esp+18h], eax loc_419AE3: ; CODE XREF: ___:00419ACBj ; ___:00419ADDj mov edi, [esp+28h] mov ebx, [esp+24h] mov ebp, [esp+20h] mov [esp+14h], esi mov esi, offset dword_508E3C loc_419AF8: ; CODE XREF: ___:00419B49j mov ecx, [esp+14h] mov eax, [esp+18h] cmp ecx, eax jge short loc_419B4B cmp byte ptr [esi], 0 jz short loc_419B34 mov eax, [esp+30h] test eax, eax jz short loc_419B28 mov ecx, [esp+10h] test ecx, ecx jnz short loc_419B28 push eax push esi call near ptr 77C47C60h nop add esp, 8 test eax, eax jz short loc_419B34 loc_419B28: ; CODE XREF: ___:00419B0Fj ; ___:00419B17j push edi push esi push ebx push ebp call sub_40152D add esp, 10h loc_419B34: ; CODE XREF: ___:00419B07j ; ___:00419B26j mov edx, [esp+14h] add esi, 80h inc edx cmp esi, offset dword_50CE3C mov [esp+14h], edx jl short loc_419AF8 loc_419B4B: ; CODE XREF: ___:00419B02j pop edi pop esi pop ebp pop ebx add esp, 0Ch retn ; --------------------------------------------------------------------------- db 0Dh dup(90h) db 30h dup(0CCh) ; --------------------------------------------------------------------------- loc_419B90: ; CODE XREF: ___:00402289j push ebx mov ebx, dword_511B04 push esi push edi mov edi, [esp+10h] mov esi, offset dword_508E3C loc_419BA2: ; CODE XREF: ___:00419BBEj cmp byte ptr [esi], 0 jz short loc_419BB2 push edi push esi call ebx add esp, 8 test eax, eax jnz short loc_419BC6 loc_419BB2: ; CODE XREF: ___:00419BA5j add esi, 80h cmp esi, offset dword_50CE3C jl short loc_419BA2 pop edi pop esi xor eax, eax pop ebx retn ; --------------------------------------------------------------------------- loc_419BC6: ; CODE XREF: ___:00419BB0j pop edi pop esi mov eax, 1 pop ebx retn ; --------------------------------------------------------------------------- db 90h db 10h dup(0CCh) ; --------------------------------------------------------------------------- loc_419BE0: ; CODE XREF: ___:004010D2j sub esp, 10h lea eax, [esp+0] push esi push edi push eax call near ptr 27E0000h nop mov edi, dword_511B08 mov esi, offset dword_50CE3C loc_419BFB: ; CODE XREF: ___:00419C1Bj cmp byte ptr [esi], 0 jz short loc_419C0F push 7Fh lea ecx, [esi+80h] push esi push ecx call edi add esp, 0Ch loc_419C0F: ; CODE XREF: ___:00419BFEj sub esi, 80h cmp esi, offset dword_508E3C jge short loc_419BFB mov edx, [esp+1Ch] mov eax, [esp+14h] mov ecx, [esp+12h] push edx mov edx, [esp+14h] and eax, 0FFFFh and ecx, 0FFFFh push eax mov eax, [esp+10h] and edx, 0FFFFh push ecx mov ecx, [esp+1Ah] push edx mov edx, [esp+1Ah] and eax, 0FFFFh and ecx, 0FFFFh push eax and edx, 0FFFFh push ecx push edx push offset dword_444D84 push 80h push offset dword_508E3C nop call near ptr 77C3FA76h add esp, 28h pop edi pop esi add esp, 10h retn ; --------------------------------------------------------------------------- db 30h dup(0CCh) ; --------------------------------------------------------------------------- loc_419CB0: ; CODE XREF: ___:004012DAj sub esp, 600h mov ecx, 80h xor eax, eax push ebx push ebp push esi push edi lea edi, [esp+10h] mov esi, [esp+614h] rep stosd mov ecx, 80h lea edi, [esp+210h] mov ebp, dword_511B08 push 1FFh rep stosd mov ecx, 80h lea edi, [esp+414h] rep stosd lea eax, [esp+14h] push esi push eax call ebp mov edx, [esp+628h] or ecx, 0FFFFFFFFh mov edi, edx xor eax, eax add esp, 0Ch repne scasb not ecx dec ecx cmp ecx, 180h jbe short loc_419D21 mov [edx+180h], al loc_419D21: ; CODE XREF: ___:00419D19j mov ebx, [esp+618h] lea ecx, [esp+10h] push ebx push ecx nop call near ptr 77C47C60h add esp, 8 test eax, eax jz loc_419E32 loc_419D3F: ; CODE XREF: ___:00419E25j lea edx, [esp+10h] push ebx push edx nop call near ptr 77C47C60h mov esi, eax mov edi, ebx or ecx, 0FFFFFFFFh xor eax, eax repne scasb not ecx dec ecx push 1FFh add ecx, esi lea eax, [esp+41Ch] push ecx push eax call ebp lea ecx, [esp+24h] push 1FFh lea edx, [esp+228h] push ecx push edx mov byte ptr [esi], 0 call ebp lea edx, [esi+1] add esp, 20h test edx, edx jz short loc_419E00 lea eax, [ebx-1] test eax, eax jz short loc_419E00 lea edi, [ebx-1] or ecx, 0FFFFFFFFh xor eax, eax repne scasb not ecx dec ecx mov edi, edx mov esi, ecx or ecx, 0FFFFFFFFh repne scasb not ecx dec ecx cmp ecx, esi jbe short loc_419DDD mov edx, [esp+61Ch] lea ecx, [esp+410h] push ecx lea eax, [esp+214h] push edx push eax lea ecx, [esp+1Ch] push offset dword_444DB4 push ecx nop call near ptr word_5F67AE add esp, 14h jmp short loc_419E00 ; --------------------------------------------------------------------------- loc_419DDD: ; CODE XREF: ___:00419DAEj mov edx, [esp+61Ch] lea eax, [esp+210h] push edx push eax lea ecx, [esp+18h] push offset dword_444DAC push ecx nop call near ptr word_5F67AE add esp, 10h loc_419E00: ; CODE XREF: ___:00419D8Aj ; ___:00419D91j ... mov edx, [esp+61Ch] mov esi, dword_511B04 push edx push ebx call esi add esp, 8 test eax, eax jnz short loc_419E2B lea eax, [esp+10h] push ebx push eax call esi add esp, 8 test eax, eax jnz loc_419D3F loc_419E2B: ; CODE XREF: ___:00419E16j mov esi, [esp+614h] loc_419E32: ; CODE XREF: ___:00419D39j lea edi, [esp+10h] or ecx, 0FFFFFFFFh xor eax, eax repne scasb not ecx push ecx lea ecx, [esp+14h] push ecx push esi call ebp add esp, 0Ch mov eax, esi pop edi pop esi pop ebp pop ebx add esp, 600h retn ; --------------------------------------------------------------------------- db 8 dup(90h) db 70h dup(0CCh) ; --------------------------------------------------------------------------- loc_419ED0: ; CODE XREF: ___:004018DEj sub esp, 10h push esi push 0 push 1 push 2 nop call near ptr 71AB3B91h mov esi, eax cmp esi, 0FFFFFFFFh jnz short loc_419EEE or eax, eax pop esi add esp, 10h retn ; --------------------------------------------------------------------------- loc_419EEE: ; CODE XREF: ___:00419EE5j mov ecx, [esp+18h] xor eax, eax mov [esp+4], eax push ecx mov [esp+0Ch], eax mov word ptr [esp+8], 2 mov [esp+10h], eax mov [esp+14h], eax call near ptr 71AB2B66h nop lea edx, [esp+4] push 10h push edx push esi mov [esp+12h], ax mov dword ptr [esp+14h], 0 nop call near ptr 71AB3E00h test eax, eax jz short loc_419F39 or eax, 0FFFFFFFFh pop esi add esp, 10h retn ; --------------------------------------------------------------------------- loc_419F39: ; CODE XREF: ___:00419F2Fj push 7FFFFFFFh push esi nop call near ptr 71AB88D3h test eax, eax jz short loc_419F51 or eax, 0FFFFFFFFh pop esi add esp, 10h retn ; --------------------------------------------------------------------------- loc_419F51: ; CODE XREF: ___:00419F47j mov eax, esi pop esi add esp, 10h retn ; --------------------------------------------------------------------------- db 8 dup(90h) db 30h dup(0CCh) ; --------------------------------------------------------------------------- loc_419F90: ; CODE XREF: ___:00401E83j push edi xor edi, edi mov eax, offset byte_4E02B5 loc_419F98: ; CODE XREF: ___:00419FA8j cmp dword ptr [eax], 0 jz short loc_419FAA add eax, 316h inc edi cmp eax, offset byte_4E7E25 jle short loc_419F98 loc_419FAA: ; CODE XREF: ___:00419F9Bj cmp edi, 13h jle short loc_419FB4 or eax, 0FFFFFFFFh pop edi retn ; --------------------------------------------------------------------------- loc_419FB4: ; CODE XREF: ___:00419FADj lea eax, [edi+edi*4] push ebx shl eax, 4 sub eax, edi mov ebx, dword_511C00 push esi lea eax, [eax+eax*4] lea esi, ds:4E01BBh[eax*2] mov eax, [esp+10h] push eax push esi call ebx mov ecx, [esp+24h] mov edx, [esp+1Ch] mov eax, [esp+20h] mov [esi+0FAh], ecx mov ecx, [esp+28h] mov [esi+0FEh], edi mov [esi+106h], edx mov [esi+10Ah], eax add esi, 10Eh push ecx push esi call ebx add esp, 10h mov eax, edi pop esi pop ebx pop edi retn ; --------------------------------------------------------------------------- db 0Fh dup(90h) db 30h dup(0CCh) ; --------------------------------------------------------------------------- loc_41A050: ; CODE XREF: ___:004013F2j push edi xor edi, edi mov eax, offset byte_4D8745 loc_41A058: ; CODE XREF: ___:0041A068j cmp dword ptr [eax], 0 jz short loc_41A06A add eax, 316h inc edi cmp eax, offset byte_4E02B5 jle short loc_41A058 loc_41A06A: ; CODE XREF: ___:0041A05Bj cmp edi, 13h jle short loc_41A074 or eax, 0FFFFFFFFh pop edi retn ; --------------------------------------------------------------------------- loc_41A074: ; CODE XREF: ___:0041A06Dj lea eax, [edi+edi*4] push ebx shl eax, 4 sub eax, edi mov ebx, dword_511C00 push esi lea eax, [eax+eax*4] lea esi, ds:4D864Bh[eax*2] mov eax, [esp+10h] push eax push esi call ebx mov ecx, [esp+24h] mov edx, [esp+1Ch] mov eax, [esp+20h] mov [esi+0FAh], ecx mov ecx, [esp+28h] mov [esi+0FEh], edi mov [esi+106h], edx mov [esi+10Ah], eax add esi, 10Eh push ecx push esi call ebx add esp, 10h mov eax, edi pop esi pop ebx pop edi retn ; --------------------------------------------------------------------------- db 0Fh dup(90h) db 30h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_41A110 proc near ; CODE XREF: sub_401C49j var_190 = byte ptr -190h arg_0 = byte ptr 4 sub esp, 190h push ebp mov ebp, ecx push esi push edi mov dword ptr [ebp+0], offset dword_43F0BC mov eax, dword_50DB08 test eax, eax jnz short loc_41A148 mov eax, dword_50DB08 inc eax mov dword_50DB08, eax lea ecx, [esp+19Ch+var_190] push ecx push 202h nop call near ptr 71AB664Dh jmp short loc_41A155 ; --------------------------------------------------------------------------- loc_41A148: ; CODE XREF: sub_41A110+19j mov edx, dword_50DB08 inc edx mov dword_50DB08, edx loc_41A155: ; CODE XREF: sub_41A110+36j mov al, [esp+19Ch+arg_0] or ecx, 0FFFFFFFFh mov [ebp+80Ah], al mov edi, offset byte_448F40 xor eax, eax mov [ebp+806h], ecx mov byte ptr [ebp+80Ch], 0 mov word ptr [ebp+4], 0 repne scasb not ecx sub edi, ecx lea edx, [ebp+6] mov eax, ecx mov esi, edi mov edi, edx shr ecx, 2 rep movsd mov ecx, eax mov eax, ebp and ecx, 3 rep movsb pop edi mov byte ptr [ebp+80Bh], 0 pop esi pop ebp add esp, 190h retn 4 sub_41A110 endp ; --------------------------------------------------------------------------- db 90h db 30h dup(0CCh) ; --------------------------------------------------------------------------- loc_41A1E0: ; CODE XREF: ___:004018E3j ; ___:00401B09j push esi mov esi, ecx call sub_401FE6 test byte ptr [esp+8], 1 jz short loc_41A1F8 push esi call near ptr word_437AD2 add esp, 4 loc_41A1F8: ; CODE XREF: ___:0041A1EDj 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_41A210 proc near ; CODE XREF: sub_401FE6j mov al, [ecx+80Ah] mov dword ptr [ecx], offset dword_43F0BC test al, al jnz short loc_41A225 call sub_4014E7 loc_41A225: ; CODE XREF: sub_41A210+Ej mov eax, 1 mov ecx, dword_50DB08 cmp ecx, eax jle short loc_41A240 mov eax, dword_50DB08 dec eax mov dword_50DB08, eax locret_41A23F: ; CODE XREF: sub_41A210:loc_41A240j retn ; --------------------------------------------------------------------------- loc_41A240: ; CODE XREF: sub_41A210+22j jnz short locret_41A23F mov ecx, dword_50DB08 dec ecx mov dword_50DB08, ecx nop jmp near ptr 71AB4428h sub_41A210 endp ; --------------------------------------------------------------------------- db 0Bh dup(90h) db 20h dup(0CCh) ; --------------------------------------------------------------------------- loc_41A280: ; CODE XREF: ___:004015AAj mov eax, large fs:0 push 0FFFFFFFFh push offset byte_43BFCB push eax mov large fs:0, esp sub esp, 814h push esi mov esi, ecx call sub_40196A test al, al jz loc_41A331 mov al, [esi+80Bh] test al, al jz short loc_41A2B9 mov al, 1 jmp short loc_41A331 ; --------------------------------------------------------------------------- loc_41A2B9: ; CODE XREF: ___:0041A2B3j push ebx push edi mov edi, [esp+830h] push 800h lea eax, [esi+6] push edi push eax nop call near ptr 77C47A90h mov ebx, [esp+840h] add esp, 0Ch lea ecx, [esp+0Ch] mov [esi+4], bx call sub_401186 mov ecx, [esp+83Ch] mov edx, [esp+838h] push ecx push edx push ebx push edi lea ecx, [esp+1Ch] mov dword ptr [esp+838h], 0 call sub_401640 push eax mov ecx, esi call sub_4020E5 lea ecx, [esp+0Ch] mov bl, al mov dword ptr [esp+828h], 0FFFFFFFFh call sub_40187A mov al, bl pop edi pop ebx loc_41A331: ; CODE XREF: ___:0041A2A5j ; ___:0041A2B7j mov ecx, [esp+818h] pop esi mov large fs:0, ecx add esp, 820h retn 10h ; --------------------------------------------------------------------------- db 7 dup(90h) db 40h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_41A390 proc near ; CODE XREF: sub_40196Aj mov al, byte_444DBC retn sub_41A390 endp ; --------------------------------------------------------------------------- db 0Ah dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_41A3B0 proc near ; CODE XREF: sub_4020E5j var_11C = dword ptr -11Ch var_118 = dword ptr -118h var_114 = dword ptr -114h var_110 = dword ptr -110h var_10C = dword ptr -10Ch var_108 = dword ptr -108h var_104 = dword ptr -104h var_100 = dword ptr -100h arg_0 = dword ptr 4 arg_4 = dword ptr 8 arg_8 = dword ptr 0Ch arg_C = byte ptr 10h sub esp, 11Ch push ebp push esi push edi mov esi, ecx call sub_40196A test al, al jnz short loc_41A3D0 pop edi pop esi pop ebp add esp, 11Ch retn 10h ; --------------------------------------------------------------------------- loc_41A3D0: ; CODE XREF: sub_41A3B0+12j mov al, [esi+80Bh] test al, al jnz loc_41A571 push 6 push 1 push 2 call near ptr 71AB3B91h nop cmp eax, 0FFFFFFFFh mov [esi+806h], eax jnz short loc_41A40A mov ecx, esi call sub_4014E7 pop edi pop esi xor al, al pop ebp add esp, 11Ch retn 10h ; --------------------------------------------------------------------------- loc_41A40A: ; CODE XREF: sub_41A3B0+43j mov al, [esp+128h+arg_C] test al, al jnz short loc_41A419 push 1 jmp short loc_41A41B ; --------------------------------------------------------------------------- loc_41A419: ; CODE XREF: sub_41A3B0+63j push 0 loc_41A41B: ; CODE XREF: sub_41A3B0+67j mov ecx, esi call sub_4018CA mov edi, [esp+128h+arg_4] xor eax, eax mov [esp+128h+var_114], eax push edi mov [esp+12Ch+var_110], eax mov [esi+4], di mov [esp+12Ch+var_10C], eax mov word ptr [esp+12Ch+var_114], 2 mov [esp+12Ch+var_108], eax call near ptr 71AB2B66h nop mov ecx, [esp+128h+arg_0] mov word ptr [esp+128h+var_114+2], ax mov eax, [esi+806h] lea edx, [esp+128h+var_114] push 10h push edx push eax mov [esp+134h+var_110], ecx mov [esi+4], di call near ptr 71AB406Ah nop mov ebp, dword_511C50 test eax, eax jge short loc_41A4BC call ebp cmp eax, 2733h jz short loc_41A4AD call ebp cmp eax, 0Bh jz short loc_41A4AD call ebp cmp eax, 2733h jz short loc_41A4AD mov byte ptr [esi+80Bh], 0 pop edi pop esi xor al, al pop ebp add esp, 11Ch retn 10h ; --------------------------------------------------------------------------- loc_41A4AD: ; CODE XREF: sub_41A3B0+D6j ; sub_41A3B0+DDj ... mov al, byte ptr [esp+128h+arg_8] test al, al jnz loc_41A56A loc_41A4BC: ; CODE XREF: sub_41A3B0+CDj mov eax, [esi+806h] xor ecx, ecx lea edx, [esp+128h+var_11C] mov edi, dword_511C94 mov [esp+128h+var_11C], ecx push edx mov [esp+12Ch+var_118], ecx push ecx lea ecx, [esp+130h+var_104] mov [esp+130h+var_100], eax push ecx inc eax push 0 push eax mov [esp+13Ch+var_11C], 0Ah mov [esp+13Ch+var_104], 1 call edi test eax, eax jge short loc_41A530 loc_41A4FB: ; CODE XREF: sub_41A3B0+17Ej call ebp call ebp cmp eax, 4 jnz short loc_41A545 mov eax, [esp+128h+var_11C] test eax, eax jnz short loc_41A514 mov eax, [esp+128h+var_118] test eax, eax jz short loc_41A545 loc_41A514: ; CODE XREF: sub_41A3B0+15Aj mov ecx, [esi+806h] lea edx, [esp+128h+var_11C] push edx lea eax, [esp+12Ch+var_104] push 0 push eax inc ecx push 0 push ecx call edi test eax, eax jl short loc_41A4FB loc_41A530: ; CODE XREF: sub_41A3B0+149j mov al, [esp+128h+arg_C] test al, al jnz short loc_41A561 mov edx, [esp+128h+arg_8] push edx jmp short loc_41A563 ; --------------------------------------------------------------------------- loc_41A545: ; CODE XREF: sub_41A3B0+152j ; sub_41A3B0+162j mov ecx, esi call sub_4014E7 mov byte ptr [esi+80Bh], 0 pop edi pop esi xor al, al pop ebp add esp, 11Ch retn 10h ; --------------------------------------------------------------------------- loc_41A561: ; CODE XREF: sub_41A3B0+189j push 0 loc_41A563: ; CODE XREF: sub_41A3B0+193j mov ecx, esi call sub_4018CA loc_41A56A: ; CODE XREF: sub_41A3B0+106j mov byte ptr [esi+80Bh], 1 loc_41A571: ; CODE XREF: sub_41A3B0+28j pop edi pop esi mov al, 1 pop ebp add esp, 11Ch retn 10h sub_41A3B0 endp ; --------------------------------------------------------------------------- db 90h db 80h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_41A600 proc near ; CODE XREF: sub_4014E7j push esi mov esi, ecx mov eax, [esi+806h] cmp eax, 0FFFFFFFFh jz short loc_41A61A cmp eax, 0FFFFFFFFh jz short loc_41A61A push eax call near ptr 71AB9639h nop loc_41A61A: ; CODE XREF: sub_41A600+Cj ; sub_41A600+11j mov ecx, esi call sub_401375 mov byte ptr [esi+80Bh], 0 pop esi retn sub_41A600 endp ; --------------------------------------------------------------------------- db 6 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_41A640 proc near ; CODE XREF: sub_401375j push ebp mov edx, ecx push esi push edi or ecx, 0FFFFFFFFh mov edi, offset byte_448F40 xor eax, eax mov [edx+806h], ecx mov word ptr [edx+4], 0 lea ebp, [edx+6] repne scasb not ecx sub edi, ecx mov eax, ecx mov esi, edi mov edi, ebp shr ecx, 2 rep movsd mov ecx, eax and ecx, 3 rep movsb pop edi pop esi mov byte ptr [edx+80Bh], 0 mov byte ptr [edx+80Ch], 0 pop ebp retn sub_41A640 endp ; --------------------------------------------------------------------------- db 8 dup(90h) db 20h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_41A6B0 proc near ; CODE XREF: sub_401492j var_10 = dword ptr -10h var_C = dword ptr -0Ch var_8 = dword ptr -8 var_4 = dword ptr -4 arg_0 = dword ptr 4 sub esp, 10h push esi mov esi, ecx call sub_40196A test al, al jnz short loc_41A6C6 pop esi add esp, 10h retn 4 ; --------------------------------------------------------------------------- loc_41A6C6: ; CODE XREF: sub_41A6B0+Dj mov al, [esi+80Bh] test al, al jnz loc_41A77F push 6 push 1 push 2 nop call near ptr 71AB3B91h cmp eax, 0FFFFFFFFh mov [esi+806h], eax jnz short loc_41A6FB mov ecx, esi call sub_4014E7 xor al, al pop esi add esp, 10h retn 4 ; --------------------------------------------------------------------------- loc_41A6FB: ; CODE XREF: sub_41A6B0+39j mov ecx, [esp+14h+arg_0] xor eax, eax mov [esp+14h+var_10], eax push ecx mov [esp+18h+var_C], eax mov word ptr [esp+18h+var_10], 2 mov [esp+18h+var_8], eax mov [esp+18h+var_4], eax call near ptr 71AB2B66h nop mov word ptr [esp+14h+var_10+2], ax mov eax, [esi+806h] lea edx, [esp+14h+var_10] push 10h push edx push eax mov [esp+20h+var_C], 0 nop call near ptr 71AB3E00h test eax, eax jz short loc_41A754 mov ecx, esi call sub_4014E7 xor al, al pop esi add esp, 10h retn 4 ; --------------------------------------------------------------------------- loc_41A754: ; CODE XREF: sub_41A6B0+92j mov ecx, [esi+806h] push 32h push ecx nop call near ptr 71AB88D3h cmp eax, 0FFFFFFFFh jnz short loc_41A778 mov ecx, esi call sub_4014E7 xor al, al pop esi add esp, 10h retn 4 ; --------------------------------------------------------------------------- loc_41A778: ; CODE XREF: sub_41A6B0+B6j mov byte ptr [esi+80Bh], 1 loc_41A77F: ; CODE XREF: sub_41A6B0+1Ej mov al, 1 pop esi add esp, 10h retn 4 sub_41A6B0 endp ; --------------------------------------------------------------------------- db 8 dup(90h) db 40h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_41A7D0 proc near ; CODE XREF: sub_401B95j var_120 = dword ptr -120h var_11C = dword ptr -11Ch var_118 = dword ptr -118h var_114 = byte ptr -114h var_104 = dword ptr -104h var_100 = dword ptr -100h arg_0 = dword ptr 4 arg_4 = dword ptr 8 arg_8 = byte ptr 0Ch sub esp, 120h push esi push edi mov esi, ecx call sub_40196A test al, al jnz short loc_41A7EE pop edi pop esi add esp, 120h retn 0Ch ; --------------------------------------------------------------------------- loc_41A7EE: ; CODE XREF: sub_41A7D0+11j mov al, [esi+80Bh] test al, al jnz short loc_41A805 pop edi xor al, al pop esi add esp, 120h retn 0Ch ; --------------------------------------------------------------------------- loc_41A805: ; CODE XREF: sub_41A7D0+26j mov al, [esi+80Ch] test al, al jnz short loc_41A881 call sub_40196A test al, al jz short loc_41A874 mov edi, dword_511C94 loc_41A81E: ; CODE XREF: sub_41A7D0+A2j mov eax, [esi+806h] lea ecx, [esp+128h+var_11C] push ecx mov [esp+12Ch+var_100], eax push 0 lea edx, [esp+130h+var_104] push 0 inc eax push edx push eax mov [esp+13Ch+var_104], 1 mov [esp+13Ch+var_11C], 0 mov [esp+13Ch+var_118], 64h call edi test eax, eax jz short loc_41A86B mov ecx, [esi+806h] lea eax, [esp+128h+var_104] push eax push ecx call near ptr word_438256 test eax, eax jnz short loc_41A881 loc_41A86B: ; CODE XREF: sub_41A7D0+84j call sub_40196A test al, al jnz short loc_41A81E loc_41A874: ; CODE XREF: sub_41A7D0+46j pop edi xor al, al pop esi add esp, 120h retn 0Ch ; --------------------------------------------------------------------------- loc_41A881: ; CODE XREF: sub_41A7D0+3Dj ; sub_41A7D0+99j mov eax, [esp+128h+arg_4] mov [esp+128h+var_120], 0FFFFFFFFh test eax, eax jz short loc_41A8A4 lea edx, [esp+128h+var_11C] mov [esp+128h+var_11C], 10h push edx push eax jmp short loc_41A8B6 ; --------------------------------------------------------------------------- loc_41A8A4: ; CODE XREF: sub_41A7D0+C2j lea ecx, [esp+128h+var_11C] lea edx, [esp+128h+var_114] push ecx mov [esp+12Ch+var_11C], 10h push edx loc_41A8B6: ; CODE XREF: sub_41A7D0+D2j mov eax, [esi+806h] push eax nop call near ptr 71AC1028h cmp eax, 0FFFFFFFFh mov [esp+128h+var_120], eax jnz short loc_41A8D9 pop edi xor al, al pop esi add esp, 120h retn 0Ch ; --------------------------------------------------------------------------- loc_41A8D9: ; CODE XREF: sub_41A7D0+FAj mov esi, [esp+128h+arg_0] lea ecx, [esp+128h+var_120] push ecx mov ecx, esi call sub_402108 mov dl, [esp+128h+arg_8] pop edi mov [esi+80Dh], dl mov al, 1 pop esi add esp, 120h retn 0Ch sub_41A7D0 endp ; --------------------------------------------------------------------------- db 0Ah dup(90h) db 50h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_41A960 proc near ; CODE XREF: sub_402108j arg_0 = dword ptr 4 mov eax, [esp+arg_0] mov edx, [eax] mov [ecx+806h], edx mov edx, [eax] cmp edx, 0FFFFFFFFh setnz al mov [ecx+80Bh], al retn 4 sub_41A960 endp ; --------------------------------------------------------------------------- db 3 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_41A990 proc near ; CODE XREF: sub_40196Fj arg_0 = dword ptr 4 arg_4 = dword ptr 8 arg_8 = dword ptr 0Ch mov eax, [esp+arg_8] mov edx, [esp+arg_4] push eax mov eax, [esp+4+arg_0] push 0 push edx push eax call sub_401B4F retn 0Ch sub_41A990 endp ; --------------------------------------------------------------------------- db 7 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_41A9C0 proc near ; CODE XREF: sub_401B4Fj var_210 = dword ptr -210h var_20C = dword ptr -20Ch var_208 = dword ptr -208h var_204 = dword ptr -204h var_104 = dword ptr -104h var_100 = dword ptr -100h arg_0 = dword ptr 4 arg_4 = dword ptr 8 arg_8 = dword ptr 0Ch arg_C = dword ptr 10h sub esp, 210h push ebx push ebp push esi mov esi, ecx push edi cmp dword ptr [esi+806h], 0FFFFFFFFh jz loc_41AB24 mov al, [esi+80Bh] test al, al jz loc_41AB24 mov edi, dword_5118AC call edi mov ebp, eax mov al, [esi+80Dh] test al, al jnz loc_41AABC mov ebx, [esp+220h+arg_8] test ebx, ebx jz loc_41AABC call sub_40196A test al, al jz loc_41AABC loc_41AA1B: ; CODE XREF: sub_41A9C0+F6j mov eax, [esi+806h] mov ecx, 1 mov [esp+220h+var_100], eax mov [esp+220h+var_104], ecx mov [esp+220h+var_204], eax mov [esp+220h+var_208], ecx mov [esp+220h+var_210], 0 mov [esp+220h+var_20C], 64h call edi sub eax, ebp cmp eax, ebx ja loc_41AB24 lea eax, [esp+220h+var_210] lea ecx, [esp+220h+var_208] push eax mov eax, [esi+806h] push ecx lea edx, [esp+228h+var_104] push 0 inc eax push edx push eax nop call near ptr 71AB2DC0h test eax, eax jz short loc_41AAAF mov edx, [esi+806h] lea ecx, [esp+220h+var_208] push ecx push edx call near ptr word_438256 test eax, eax jnz loc_41AB24 mov ecx, [esi+806h] lea eax, [esp+220h+var_104] push eax push ecx call near ptr word_438256 test eax, eax jnz short loc_41AABC loc_41AAAF: ; CODE XREF: sub_41A9C0+BCj call sub_40196A test al, al jnz loc_41AA1B loc_41AABC: ; CODE XREF: sub_41A9C0+39j ; sub_41A9C0+48j ... call sub_40196A test al, al jz short loc_41AB24 mov edx, [esp+220h+arg_4] mov eax, [esp+220h+arg_0] mov ecx, [esi+806h] push 0 push edx push eax push ecx call near ptr 71AB615Ah nop mov ecx, [esp+220h+arg_C] test ecx, ecx jz short loc_41AAF1 mov [ecx], eax loc_41AAF1: ; CODE XREF: sub_41A9C0+12Dj cmp eax, 0FFFFFFFFh jz short loc_41AB09 test eax, eax jz short loc_41AB09 pop edi pop esi pop ebp mov al, 1 pop ebx add esp, 210h retn 10h ; --------------------------------------------------------------------------- loc_41AB09: ; CODE XREF: sub_41A9C0+134j ; sub_41A9C0+138j nop call near ptr 71AB94DCh pop edi cmp eax, 2733h pop esi pop ebp setz al pop ebx add esp, 210h retn 10h ; --------------------------------------------------------------------------- loc_41AB24: ; CODE XREF: sub_41A9C0+13j ; sub_41A9C0+21j ... pop edi pop esi pop ebp xor al, al pop ebx add esp, 210h retn 10h sub_41A9C0 endp ; --------------------------------------------------------------------------- db 0Dh dup(90h) db 60h dup(0CCh) ; --------------------------------------------------------------------------- loc_41ABA0: ; CODE XREF: ___:00401622j mov eax, [ecx+806h] cmp eax, 0FFFFFFFFh jz short loc_41ABF1 mov dl, [ecx+80Bh] test dl, dl jz short loc_41ABF1 mov ecx, [esp+8] mov edx, [esp+4] push 0 push ecx push edx push eax nop call near ptr 71AB428Ah mov ecx, [esp+0Ch] test ecx, ecx jz short loc_41ABD2 mov [ecx], eax loc_41ABD2: ; CODE XREF: ___:0041ABCEj cmp eax, 0FFFFFFFFh jz short loc_41ABE0 test eax, eax jz short loc_41ABE0 mov al, 1 retn 0Ch ; --------------------------------------------------------------------------- loc_41ABE0: ; CODE XREF: ___:0041ABD5j ; ___:0041ABD9j call near ptr 71AB94DCh nop cmp eax, 2733h setz al retn 0Ch ; --------------------------------------------------------------------------- loc_41ABF1: ; CODE XREF: ___:0041ABA9j ; ___:0041ABB3j xor al, al retn 0Ch ; --------------------------------------------------------------------------- db 0Ah dup(90h) db 20h dup(0CCh) ; --------------------------------------------------------------------------- loc_41AC20: ; CODE XREF: ___:004019BFj push ecx push ebx push ebp push esi mov esi, ecx push edi mov [esp+10h], esi call sub_40196A test al, al jnz short loc_41AC3C pop edi pop esi pop ebp pop ebx pop ecx retn 8 ; --------------------------------------------------------------------------- loc_41AC3C: ; CODE XREF: ___:0041AC32j mov al, [esi+80Bh] xor ebx, ebx cmp al, bl jnz short loc_41AC52 loc_41AC48: ; CODE XREF: ___:0041AC8Dj pop edi pop esi pop ebp xor al, al pop ebx pop ecx retn 8 ; --------------------------------------------------------------------------- loc_41AC52: ; CODE XREF: ___:0041AC46j mov eax, [esp+1Ch] mov ebp, [esp+18h] xor esi, esi dec eax cmp eax, ebx mov [ebp+0], bl mov byte ptr [esp+18h], 1 jle short loc_41ACB6 mov edi, ebp loc_41AC6B: ; CODE XREF: ___:0041ACB4j cmp edi, ebx jz short loc_41ACB6 cmp [esp+18h], bl jz short loc_41ACB6 call sub_40196A test al, al jz short loc_41ACB6 mov ecx, [esp+10h] push ebx push 1 push edi call sub_40196F test al, al jz short loc_41AC48 mov [esi+ebp+1], bl mov al, [edi] cmp al, 0Ah jz short loc_41ACA1 cmp al, 0Dh jz short loc_41ACA1 cmp al, bl jnz short loc_41ACA9 loc_41ACA1: ; CODE XREF: ___:0041AC97j ; ___:0041AC9Bj mov [esi+ebp-1], bl mov [esp+18h], bl loc_41ACA9: ; CODE XREF: ___:0041AC9Fj mov ecx, [esp+1Ch] inc esi inc edi lea eax, [ecx-1] cmp esi, eax jl short loc_41AC6B loc_41ACB6: ; CODE XREF: ___:0041AC67j ; ___:0041AC6Dj ... mov edx, [esp+1Ch] pop edi pop esi mov al, 1 mov [edx+ebp-1], bl pop ebp pop ebx pop ecx retn 8 ; --------------------------------------------------------------------------- db 8 dup(90h) db 30h dup(0CCh) ; --------------------------------------------------------------------------- loc_41AD00: ; CODE XREF: ___:004021A3j push ecx push ebx push ebp push esi mov esi, ecx push edi mov [esp+10h], esi call sub_40196A test al, al jnz short loc_41AD1C pop edi pop esi pop ebp pop ebx pop ecx retn 8 ; --------------------------------------------------------------------------- loc_41AD1C: ; CODE XREF: ___:0041AD12j mov al, [esi+80Bh] xor ebx, ebx cmp al, bl jnz short loc_41AD32 loc_41AD28: ; CODE XREF: ___:0041AD6Dj pop edi pop esi pop ebp xor al, al pop ebx pop ecx retn 8 ; --------------------------------------------------------------------------- loc_41AD32: ; CODE XREF: ___:0041AD26j mov eax, [esp+1Ch] mov ebp, [esp+18h] xor esi, esi dec eax cmp eax, ebx mov [ebp+0], bl mov byte ptr [esp+18h], 1 jle short loc_41AD9D mov edi, ebp loc_41AD4B: ; CODE XREF: ___:0041AD9Bj cmp edi, ebx jz short loc_41AD9D cmp [esp+18h], bl jz short loc_41AD9D call sub_40196A test al, al jz short loc_41AD9D mov ecx, [esp+10h] push ebx push 1 push edi call sub_40196F test al, al jz short loc_41AD28 mov [esi+ebp+1], bl mov al, [edi] cmp al, 0Ah jz short loc_41AD7D cmp al, bl jnz short loc_41AD90 loc_41AD7D: ; CODE XREF: ___:0041AD77j cmp byte ptr [esi+ebp-1], 0Dh jnz short loc_41AD8A mov [esi+ebp-1], bl jmp short loc_41AD8C ; --------------------------------------------------------------------------- loc_41AD8A: ; CODE XREF: ___:0041AD82j mov [edi], bl loc_41AD8C: ; CODE XREF: ___:0041AD88j mov [esp+18h], bl loc_41AD90: ; CODE XREF: ___:0041AD7Bj mov ecx, [esp+1Ch] inc esi inc edi lea eax, [ecx-1] cmp esi, eax jl short loc_41AD4B loc_41AD9D: ; CODE XREF: ___:0041AD47j ; ___:0041AD4Dj ... mov edx, [esp+1Ch] pop edi pop esi mov al, 1 mov [edx+ebp-1], bl pop ebp pop ebx pop ecx retn 8 ; --------------------------------------------------------------------------- db 90h db 30h dup(0CCh) ; --------------------------------------------------------------------------- loc_41ADE0: ; CODE XREF: ___:00401082j push esi mov esi, ecx call sub_40196A test al, al jnz short loc_41ADF2 xor eax, eax pop esi retn 8 ; --------------------------------------------------------------------------- loc_41ADF2: ; CODE XREF: ___:0041ADEAj mov eax, [esi+806h] cmp eax, 0FFFFFFFFh jnz short loc_41AE03 xor eax, eax pop esi retn 8 ; --------------------------------------------------------------------------- loc_41AE03: ; CODE XREF: ___:0041ADFBj mov ecx, [esp+0Ch] mov edx, [esp+8] push ecx push edx push eax nop call near ptr 71AB951Eh pop esi retn 8 ; --------------------------------------------------------------------------- db 8 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_41AE30 proc near ; CODE XREF: sub_4018A2j arg_0 = dword ptr 4 arg_4 = dword ptr 8 push esi mov esi, ecx call sub_40196A test al, al jnz short loc_41AE42 xor eax, eax pop esi retn 8 ; --------------------------------------------------------------------------- loc_41AE42: ; CODE XREF: sub_41AE30+Aj mov eax, [esi+806h] cmp eax, 0FFFFFFFFh jnz short loc_41AE53 xor eax, eax pop esi retn 8 ; --------------------------------------------------------------------------- loc_41AE53: ; CODE XREF: sub_41AE30+1Bj mov ecx, [esp+4+arg_4] mov edx, [esp+4+arg_0] push ecx push edx push eax nop call near ptr 71AC0B50h pop esi retn 8 sub_41AE30 endp ; --------------------------------------------------------------------------- db 8 dup(90h) db 10h dup(0CCh) ; --------------------------------------------------------------------------- loc_41AE80: ; CODE XREF: ___:00401C53j sub esp, 10Ch push esi mov esi, ecx xor ecx, ecx mov al, [esi+80Ch] cmp al, cl mov eax, [esi+806h] jnz short loc_41AEBF cmp eax, 0FFFFFFFFh jz short loc_41AEB5 cmp [esi+80Bh], cl jz short loc_41AEB5 mov eax, 1 pop esi add esp, 10Ch retn ; --------------------------------------------------------------------------- loc_41AEB5: ; CODE XREF: ___:0041AE9Ej ; ___:0041AEA6j xor eax, eax pop esi add esp, 10Ch retn ; --------------------------------------------------------------------------- loc_41AEBF: ; CODE XREF: ___:0041AE99j lea edx, [esp+4] mov [esp+10h], eax push edx lea edx, [esp+10h] push ecx push edx inc eax push ecx push eax mov dword ptr [esp+20h], 1 mov [esp+18h], ecx mov [esp+1Ch], ecx nop call near ptr 71AB2DC0h test eax, eax jnz short loc_41AEF5 xor al, al pop esi add esp, 10Ch retn ; --------------------------------------------------------------------------- loc_41AEF5: ; CODE XREF: ___:0041AEE9j mov ecx, [esi+806h] lea eax, [esp+0Ch] push eax push ecx call near ptr word_438256 test eax, eax setnz al pop esi add esp, 10Ch retn ; --------------------------------------------------------------------------- db 0Dh dup(90h) db 30h dup(0CCh) ; --------------------------------------------------------------------------- loc_41AF50: ; CODE XREF: ___:004016EFj sub esp, 10Ch push esi mov esi, ecx xor ecx, ecx cmp [esi+80Ch], cl jnz short loc_41AF6D xor al, al pop esi add esp, 10Ch retn ; --------------------------------------------------------------------------- loc_41AF6D: ; CODE XREF: ___:0041AF61j mov eax, [esi+806h] lea edx, [esp+4] push edx lea edx, [esp+10h] mov [esp+14h], eax push edx push ecx inc eax push ecx push eax mov dword ptr [esp+20h], 1 mov [esp+18h], ecx mov [esp+1Ch], ecx call near ptr 71AB2DC0h nop test eax, eax jnz short loc_41AFA9 xor al, al pop esi add esp, 10Ch retn ; --------------------------------------------------------------------------- loc_41AFA9: ; CODE XREF: ___:0041AF9Dj mov ecx, [esi+806h] lea eax, [esp+0Ch] push eax push ecx call near ptr word_438256 test eax, eax setnz al pop esi add esp, 10Ch retn ; --------------------------------------------------------------------------- db 9 dup(90h) db 20h dup(0CCh) ; --------------------------------------------------------------------------- loc_41AFF0: ; CODE XREF: ___:00401744j push esi mov esi, [esp+8] push edi mov edi, ecx push 800h lea edx, [esi+6] mov ax, [edi+4] lea ecx, [edi+6] push ecx push edx mov [esi+4], ax nop call near ptr 77C47A90h xor al, al add esp, 0Ch mov dword ptr [esi+806h], 0FFFFFFFFh mov [esi+80Ch], al mov [esi+80Bh], al mov al, [edi+80Dh] mov [esi+80Dh], al pop edi pop esi retn 4 ; --------------------------------------------------------------------------- db 90h db 20h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_41B060 proc near ; CODE XREF: sub_4018CAj arg_0 = dword ptr 4 mov al, byte ptr [esp+arg_0] test al, al mov [ecx+80Ch], al jz short loc_41B090 mov ecx, [ecx+806h] lea eax, [esp+arg_0] push eax push 8004667Eh push ecx mov [esp+0Ch+arg_0], 1 nop call near ptr 71AB4519h retn 4 ; --------------------------------------------------------------------------- loc_41B090: ; CODE XREF: sub_41B060+Cj mov eax, [ecx+806h] lea edx, [esp+arg_0] push edx push 8004667Eh push eax mov [esp+0Ch+arg_0], 0 nop call near ptr 71AB4519h retn 4 sub_41B060 endp ; --------------------------------------------------------------------------- db 0Eh dup(90h) db 20h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_41B0E0 proc near ; CODE XREF: sub_401186j push esi mov esi, ecx push 0 lea ecx, [esi+4] call sub_401C49 mov dword ptr [esi], offset dword_43F0C0 mov eax, esi pop esi retn sub_41B0E0 endp ; --------------------------------------------------------------------------- db 9 dup(90h) db 10h dup(0CCh) ; --------------------------------------------------------------------------- loc_41B110: ; CODE XREF: ___:00401924j ; ___:00401E92j push esi mov esi, ecx call sub_40187A test byte ptr [esp+8], 1 jz short loc_41B128 push esi call near ptr word_437AD2 add esp, 4 loc_41B128: ; CODE XREF: ___:0041B11Dj 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_41B140 proc near ; CODE XREF: sub_40187Aj mov dword ptr [ecx], offset dword_43F0C0 add ecx, 4 jmp sub_401FE6 sub_41B140 endp ; --------------------------------------------------------------------------- db 2 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_41B160 proc near ; CODE XREF: sub_401640j arg_0 = dword ptr 4 push esi push edi call sub_40196A test al, al jnz short loc_41B172 pop edi xor eax, eax pop esi retn 4 ; --------------------------------------------------------------------------- loc_41B172: ; CODE XREF: sub_41B160+9j mov esi, [esp+8+arg_0] push esi call near ptr 71AB2BF4h nop cmp eax, 0FFFFFFFFh jnz short loc_41B1C5 push esi nop call near ptr 71AB4FD4h mov edi, eax test edi, edi jnz short loc_41B197 pop edi or eax, 0FFFFFFFFh pop esi retn 4 ; --------------------------------------------------------------------------- loc_41B197: ; CODE XREF: sub_41B160+2Dj mov eax, [edi+0Ch] xor esi, esi cmp dword ptr [eax], 0 jz short loc_41B1AC loc_41B1A1: ; CODE XREF: sub_41B160+4Aj mov ecx, [eax+4] add eax, 4 inc esi test ecx, ecx jnz short loc_41B1A1 loc_41B1AC: ; CODE XREF: sub_41B160+3Fj call sub_401F0A dec esi push esi push 0 call sub_4021C6 mov ecx, [edi+0Ch] add esp, 8 mov edx, [ecx+eax*4] mov eax, [edx] loc_41B1C5: ; CODE XREF: sub_41B160+20j pop edi pop esi retn 4 sub_41B160 endp ; --------------------------------------------------------------------------- db 6 dup(90h) db 20h dup(0CCh) ; --------------------------------------------------------------------------- loc_41B1F0: ; CODE XREF: ___:004020B3j push 0FFFFFFFFh push offset byte_43C007 mov eax, large fs:0 push eax mov large fs:0, esp sub esp, 38h push ebx push esi xor ebx, ebx push edi mov [esp+0Ch], ebx call sub_40196A test al, al jnz short loc_41B22F mov eax, [esp+58h] mov esi, [esp+54h] push eax mov ecx, esi call sub_401870 jmp loc_41B3DB ; --------------------------------------------------------------------------- loc_41B22F: ; CODE XREF: ___:0041B218j mov ecx, [esp+58h] push ecx lea ecx, [esp+30h] call sub_401870 mov edi, 1 lea ecx, [esp+2Ch] mov [esp+4Ch], edi call sub_4017EE test eax, eax push offset byte_448F40 jnz short loc_41B26C mov esi, [esp+58h] mov ecx, esi call sub_401870 mov [esp+0Ch], edi jmp loc_41B3CE ; --------------------------------------------------------------------------- loc_41B26C: ; CODE XREF: ___:0041B256j lea ecx, [esp+30h] call sub_4012EE test eax, eax push offset byte_448F40 jnz short loc_41B292 mov esi, [esp+58h] mov ecx, esi call sub_401870 mov [esp+0Ch], edi jmp loc_41B3CE ; --------------------------------------------------------------------------- loc_41B292: ; CODE XREF: ___:0041B27Cj lea ecx, [esp+18h] call sub_401870 lea edx, [esp+10h] push ebx push edx push ebx push ebx push 0Fh lea ecx, [esp+40h] mov byte ptr [esp+60h], 2 call sub_4017EE push eax call near ptr word_4382C2 cmp eax, ebx jz short loc_41B2D6 mov esi, [esp+54h] lea eax, [esp+14h] push eax mov ecx, esi call sub_4014D3 mov [esp+0Ch], edi jmp loc_41B3C0 ; --------------------------------------------------------------------------- loc_41B2D6: ; CODE XREF: ___:0041B2BBj mov edi, [esp+10h] mov esi, offset dword_4447F8 mov ecx, [edi] mov eax, [ecx+4] loc_41B2E4: ; CODE XREF: ___:0041B302j mov dl, [eax] mov cl, dl cmp dl, [esi] jnz short loc_41B308 cmp cl, bl jz short loc_41B304 mov dl, [eax+1] mov cl, dl cmp dl, [esi+1] jnz short loc_41B308 add eax, 2 add esi, 2 cmp cl, bl jnz short loc_41B2E4 loc_41B304: ; CODE XREF: ___:0041B2EEj xor eax, eax jmp short loc_41B30D ; --------------------------------------------------------------------------- loc_41B308: ; CODE XREF: ___:0041B2EAj ; ___:0041B2F8j sbb eax, eax sbb eax, 0FFFFFFFFh loc_41B30D: ; CODE XREF: ___:0041B306j cmp eax, ebx jz short loc_41B37B push ebp loc_41B312: ; CODE XREF: ___:0041B365j ; ___:0041B369j nop call near ptr 2800CA0h and eax, 0Fh cmp al, 8 jnz short loc_41B326 cmp word ptr [edi+8], 0Fh jz short loc_41B36B loc_41B326: ; CODE XREF: ___:0041B31Dj mov edi, [edi] mov ebp, [esp+14h] cmp edi, ebx jnz short loc_41B332 mov edi, ebp loc_41B332: ; CODE XREF: ___:0041B32Ej mov eax, [edi+4] mov esi, offset dword_4447F8 loc_41B33A: ; CODE XREF: ___:0041B358j mov dl, [eax] mov cl, dl cmp dl, [esi] jnz short loc_41B35E cmp cl, bl jz short loc_41B35A mov dl, [eax+1] mov cl, dl cmp dl, [esi+1] jnz short loc_41B35E add eax, 2 add esi, 2 cmp cl, bl jnz short loc_41B33A loc_41B35A: ; CODE XREF: ___:0041B344j xor eax, eax jmp short loc_41B363 ; --------------------------------------------------------------------------- loc_41B35E: ; CODE XREF: ___:0041B340j ; ___:0041B34Ej sbb eax, eax sbb eax, 0FFFFFFFFh loc_41B363: ; CODE XREF: ___:0041B35Cj cmp eax, ebx jnz short loc_41B312 mov edi, ebp jmp short loc_41B312 ; --------------------------------------------------------------------------- loc_41B36B: ; CODE XREF: ___:0041B324j mov eax, [edi+18h] lea ecx, [esp+18h] push eax call sub_4015E1 pop ebp jmp short loc_41B388 ; --------------------------------------------------------------------------- loc_41B37B: ; CODE XREF: ___:0041B30Fj mov ecx, [edi+18h] push ecx lea ecx, [esp+18h] call sub_4015E1 loc_41B388: ; CODE XREF: ___:0041B379j push offset byte_448F40 lea ecx, [esp+18h] call sub_4012EE test eax, eax jnz short loc_41B3A8 mov edx, [esp+58h] lea ecx, [esp+14h] push edx call sub_4015E1 loc_41B3A8: ; CODE XREF: ___:0041B398j mov esi, [esp+54h] lea eax, [esp+14h] push eax mov ecx, esi call sub_4014D3 mov dword ptr [esp+0Ch], 1 loc_41B3C0: ; CODE XREF: ___:0041B2D1j lea ecx, [esp+14h] mov byte ptr [esp+4Ch], 1 call sub_401226 loc_41B3CE: ; CODE XREF: ___:0041B267j ; ___:0041B28Dj lea ecx, [esp+2Ch] mov [esp+4Ch], bl call sub_401226 loc_41B3DB: ; CODE XREF: ___:0041B22Aj mov ecx, [esp+44h] mov eax, esi pop edi pop esi pop ebx mov large fs:0, ecx add esp, 44h retn 8 ; --------------------------------------------------------------------------- db 0Fh dup(90h) db 90h dup(0CCh) ; --------------------------------------------------------------------------- loc_41B490: ; CODE XREF: ___:00402153j push esi mov esi, ecx call sub_401E88 push 0 lea ecx, [esi+15h] call sub_401C49 mov dword ptr [esi], offset dword_43F0C4 mov dword ptr [esi+11h], 0 mov dword ptr [esi+823h], 0 mov eax, esi pop esi retn ; --------------------------------------------------------------------------- db 3 dup(90h) db 10h dup(0CCh) ; --------------------------------------------------------------------------- loc_41B4D0: ; CODE XREF: ___:00401406j ; ___:00402036j push esi mov esi, ecx call sub_401BE0 test byte ptr [esp+8], 1 jz short loc_41B4E8 push esi call near ptr word_437AD2 add esp, 4 loc_41B4E8: ; CODE XREF: ___:0041B4DDj 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_41B500 proc near ; CODE XREF: sub_401BE0j var_10 = dword ptr -10h var_C = dword ptr -0Ch var_4 = dword ptr -4 push 0FFFFFFFFh push offset SEH_41B500 mov eax, large fs:0 push eax mov large fs:0, esp push ecx push esi mov esi, ecx mov [esp+14h+var_10], esi lea ecx, [esi+15h] mov [esp+14h+var_4], 0 call sub_401FE6 mov ecx, esi mov [esp+14h+var_4], 0FFFFFFFFh call sub_40204F mov ecx, [esp+14h+var_C] pop esi mov large fs:0, ecx add esp, 10h retn sub_41B500 endp ; --------------------------------------------------------------------------- db 4 dup(90h) db 20h dup(0CCh) ; --------------------------------------------------------------------------- loc_41B570: ; CODE XREF: ___:00401D52j push esi mov esi, ecx call sub_401E88 push 0 lea ecx, [esi+15h] call sub_401C49 mov eax, [esp+8] mov ecx, [esp+0Ch] mov [esi+11h], eax mov dword ptr [esi], offset dword_43F0C4 mov [esi+823h], ecx mov eax, esi pop esi retn 8 ; --------------------------------------------------------------------------- db 90h db 10h dup(0CCh) ; --------------------------------------------------------------------------- loc_41B5B0: ; CODE XREF: ___:00401686j sub esp, 14h push edi mov edi, ecx mov eax, [edi+11h] test eax, eax jz loc_41B6C0 mov ecx, [edi+823h] test ecx, ecx jz loc_41B6C0 push ebx push ebp lea ebx, [edi+15h] push esi push eax mov ecx, ebx xor esi, esi call sub_401492 mov ebp, dword_5118D8 test al, al jnz short loc_41B613 loc_41B5E9: ; CODE XREF: ___:0041B611j mov al, [edi+10h] test al, al jz loc_41B6AF mov al, byte_4E8E54 test al, al jz short loc_41B613 push 7D0h call ebp mov eax, [edi+11h] mov ecx, ebx push eax call sub_401492 test al, al jz short loc_41B5E9 loc_41B613: ; CODE XREF: ___:0041B5E7j ; ___:0041B5FBj mov al, [edi+10h] test al, al jz loc_41B6AF loc_41B61E: ; CODE XREF: ___:0041B6A9j mov al, byte_4E8E54 test al, al jz loc_41B6AF test esi, esi jnz short loc_41B64E push 80Eh call near ptr word_437AEA add esp, 4 test eax, eax jz short loc_41B64A push esi mov ecx, eax call sub_401C49 jmp short loc_41B64C ; --------------------------------------------------------------------------- loc_41B64A: ; CODE XREF: ___:0041B63Ej xor eax, eax loc_41B64C: ; CODE XREF: ___:0041B648j mov esi, eax loc_41B64E: ; CODE XREF: ___:0041B62Dj push 0 push 0 push esi mov ecx, ebx call sub_401B95 test al, al jnz short loc_41B667 push 7D0h call ebp jmp short loc_41B6A4 ; --------------------------------------------------------------------------- loc_41B667: ; CODE XREF: ___:0041B65Cj xor ecx, ecx lea edx, [esp+10h] mov [esp+14h], ecx lea eax, [esp+14h] mov [esp+18h], ecx push edx mov [esp+20h], ecx push eax mov [esp+28h], ecx mov ecx, esi mov dword ptr [esp+18h], 10h call sub_4018A2 mov al, [esp+18h] test al, al jz short loc_41B6A4 push esi call dword ptr [edi+823h] add esp, 4 loc_41B6A4: ; CODE XREF: ___:0041B665j ; ___:0041B698j mov al, [edi+10h] test al, al jnz loc_41B61E loc_41B6AF: ; CODE XREF: ___:0041B5EEj ; ___:0041B618j ... mov ecx, ebx call sub_4014E7 pop esi pop ebp pop ebx xor eax, eax pop edi add esp, 14h retn ; --------------------------------------------------------------------------- loc_41B6C0: ; CODE XREF: ___:0041B5BBj ; ___:0041B5C9j xor eax, eax pop edi add esp, 14h retn ; --------------------------------------------------------------------------- db 9 dup(90h) db 50h dup(0CCh) ; --------------------------------------------------------------------------- loc_41B720: ; CODE XREF: ___:00401C35j mov eax, [esp+0Ch] push ebx push ebp mov ebp, [esp+10h] push esi push edi xor ebx, ebx xor edi, edi dec eax mov [ebp+0], bl cmp eax, ebx mov byte ptr [esp+18h], 1 jle short loc_41B795 mov esi, ebp loc_41B73F: ; CODE XREF: ___:0041B793j cmp esi, ebx jz short loc_41B795 cmp [esp+18h], bl jz short loc_41B795 mov ecx, [esp+14h] push ebx push 1 push esi push ecx nop call near ptr 71AB615Ah cmp eax, ebx jz short loc_41B7A4 cmp eax, 0FFFFFFFFh jz short loc_41B7A4 call near ptr 71AB94DCh nop cmp eax, 2733h jz short loc_41B79D mov [edi+ebp+1], bl mov al, [esi] cmp al, 0Ah jz short loc_41B780 cmp al, 0Dh jz short loc_41B780 cmp al, bl jnz short loc_41B788 loc_41B780: ; CODE XREF: ___:0041B776j ; ___:0041B77Aj mov [edi+ebp-1], bl mov [esp+18h], bl loc_41B788: ; CODE XREF: ___:0041B77Ej mov edx, [esp+1Ch] inc edi inc esi lea eax, [edx-1] cmp edi, eax jl short loc_41B73F loc_41B795: ; CODE XREF: ___:0041B73Bj ; ___:0041B741j ... mov eax, [esp+1Ch] mov [eax+ebp-1], bl loc_41B79D: ; CODE XREF: ___:0041B76Cj pop edi pop esi pop ebp mov al, 1 pop ebx retn ; --------------------------------------------------------------------------- loc_41B7A4: ; CODE XREF: ___:0041B75Aj ; ___:0041B75Fj pop edi pop esi pop ebp xor al, al pop ebx retn ; --------------------------------------------------------------------------- db 5 dup(90h) db 30h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_41B7E0 proc near ; CODE XREF: sub_401280j arg_0 = dword ptr 4 arg_4 = dword ptr 8 arg_8 = dword ptr 0Ch mov eax, [esp+arg_8] push ebx push ebp mov ebp, [esp+8+arg_4] push esi xor ebx, ebx xor esi, esi dec eax cmp eax, ebx push edi mov [ebp+0], bl mov byte ptr [esp+10h+arg_4], 1 jle short loc_41B84A mov edi, ebp loc_41B7FF: ; CODE XREF: sub_41B7E0+68j cmp edi, ebx jz short loc_41B84A cmp byte ptr [esp+10h+arg_4], bl jz short loc_41B84A mov ecx, [esp+10h+arg_0] push ebx push 1 push edi push ecx call near ptr 71AB615Ah nop test eax, eax jz short loc_41B859 mov [esi+ebp+1], bl mov al, [edi] cmp al, 0Ah jz short loc_41B82A cmp al, bl jnz short loc_41B83D loc_41B82A: ; CODE XREF: sub_41B7E0+44j cmp byte ptr [esi+ebp-1], 0Dh jnz short loc_41B837 mov [esi+ebp-1], bl jmp short loc_41B839 ; --------------------------------------------------------------------------- loc_41B837: ; CODE XREF: sub_41B7E0+4Fj mov [edi], bl loc_41B839: ; CODE XREF: sub_41B7E0+55j mov byte ptr [esp+10h+arg_4], bl loc_41B83D: ; CODE XREF: sub_41B7E0+48j mov edx, [esp+10h+arg_8] inc esi inc edi lea eax, [edx-1] cmp esi, eax jl short loc_41B7FF loc_41B84A: ; CODE XREF: sub_41B7E0+1Bj ; sub_41B7E0+21j ... mov eax, [esp+10h+arg_8] pop edi pop esi mov [eax+ebp-1], bl pop ebp mov al, 1 pop ebx retn ; --------------------------------------------------------------------------- loc_41B859: ; CODE XREF: sub_41B7E0+3Aj pop edi pop esi pop ebp xor al, al pop ebx retn sub_41B7E0 endp ; --------------------------------------------------------------------------- db 20h dup(0CCh) ; --------------------------------------------------------------------------- loc_41B880: ; CODE XREF: ___:00401AF0j push ebx mov ebx, [esp+8] push ebp mov ebp, [esp+10h] mov ecx, ebp push esi mov edx, ecx push edi xor eax, eax mov edi, ebx shr ecx, 2 rep stosd mov ecx, edx xor esi, esi and ecx, 3 test ebp, ebp rep stosb jle short loc_41B8DB loc_41B8A6: ; CODE XREF: ___:0041B8D9j push 3 push 1 call sub_4021C6 add esp, 8 dec eax jz short loc_41B8C7 dec eax jz short loc_41B8C1 dec eax jnz short loc_41B8D6 push 7Ah push 61h jmp short loc_41B8CB ; --------------------------------------------------------------------------- loc_41B8C1: ; CODE XREF: ___:0041B8B6j push 5Ah push 41h jmp short loc_41B8CB ; --------------------------------------------------------------------------- loc_41B8C7: ; CODE XREF: ___:0041B8B3j push 39h push 30h loc_41B8CB: ; CODE XREF: ___:0041B8BFj ; ___:0041B8C5j call sub_4021C6 add esp, 8 mov [esi+ebx], al loc_41B8D6: ; CODE XREF: ___:0041B8B9j inc esi cmp esi, ebp jl short loc_41B8A6 loc_41B8DB: ; CODE XREF: ___:0041B8A4j pop edi pop esi pop ebp pop ebx retn ; --------------------------------------------------------------------------- db 20h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_41B900 proc near ; CODE XREF: sub_401424j rdtsc retn sub_41B900 endp ; --------------------------------------------------------------------------- db 0Dh dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_41B920 proc near ; CODE XREF: sub_4017FDj var_4 = dword ptr -4 sub esp, 8 push ebx mov ebx, dword_5118D8 push ebp push esi push edi xor ebp, ebp loc_41B92F: ; CODE XREF: sub_41B920+43j ; sub_41B920+4Dj call sub_401424 push 3E8h mov esi, eax mov edi, edx call ebx call sub_401424 sub eax, esi push ebp sbb edx, edi push 186A0h push edx push eax call near ptr dword_437C60 push ebp push 0Ah push edx push eax call near ptr dword_437C60 cmp edx, ebp mov esi, eax ja short loc_41B92F jb short loc_41B96F cmp esi, 0F4240h ja short loc_41B92F loc_41B96F: ; CODE XREF: sub_41B920+45j push ebp push 64h push edx push esi call near ptr dword_437BE0 mov ecx, eax cmp edx, ebp mov eax, 64h mov [esp+18h+var_4], ebp ja short loc_41B9F9 jb short loc_41B98F cmp ecx, 50h jnb short loc_41B998 loc_41B98F: ; CODE XREF: sub_41B920+68j mov eax, 4Bh mov [esp+18h+var_4], ebp loc_41B998: ; CODE XREF: sub_41B920+6Dj cmp edx, ebp ja short loc_41B9F9 jb short loc_41B9A3 cmp ecx, 47h jnb short loc_41B9AC loc_41B9A3: ; CODE XREF: sub_41B920+7Cj mov eax, 42h mov [esp+18h+var_4], ebp loc_41B9AC: ; CODE XREF: sub_41B920+81j cmp edx, ebp ja short loc_41B9F9 jb short loc_41B9B7 cmp ecx, 37h jnb short loc_41B9C0 loc_41B9B7: ; CODE XREF: sub_41B920+90j mov eax, 32h mov [esp+18h+var_4], ebp loc_41B9C0: ; CODE XREF: sub_41B920+95j cmp edx, ebp ja short loc_41B9F9 jb short loc_41B9CB cmp ecx, 26h jnb short loc_41B9D4 loc_41B9CB: ; CODE XREF: sub_41B920+A4j mov eax, 21h mov [esp+18h+var_4], ebp loc_41B9D4: ; CODE XREF: sub_41B920+A9j cmp edx, ebp ja short loc_41B9F9 jb short loc_41B9DF cmp ecx, 1Eh jnb short loc_41B9E8 loc_41B9DF: ; CODE XREF: sub_41B920+B8j mov eax, 19h mov [esp+18h+var_4], ebp loc_41B9E8: ; CODE XREF: sub_41B920+BDj cmp edx, ebp ja short loc_41B9F9 jb short loc_41B9F3 cmp ecx, 0Ah jnb short loc_41B9F9 loc_41B9F3: ; CODE XREF: sub_41B920+CCj xor eax, eax mov [esp+18h+var_4], ebp loc_41B9F9: ; CODE XREF: sub_41B920+66j ; sub_41B920+7Aj ... sub eax, ecx pop edi add eax, esi pop esi pop ebp pop ebx add esp, 8 retn sub_41B920 endp ; --------------------------------------------------------------------------- db 0Bh dup(90h) db 40h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_41BA50 proc near ; CODE XREF: sub_402040j var_40 = dword ptr -40h var_3C = byte ptr -3Ch var_24 = byte ptr -24h var_C = dword ptr -0Ch var_4 = dword ptr -4 arg_0 = dword ptr 4 arg_4 = dword ptr 8 push 0FFFFFFFFh push offset SEH_41BA50 mov eax, large fs:0 push eax mov large fs:0, esp sub esp, 34h mov al, byte_449739 push ebx push esi push edi test al, al mov [esp+4Ch+var_40], 0 jz loc_41BBAF push ebp lea ecx, [esp+50h+var_3C] call sub_40142E push 400h lea ecx, [esp+54h+var_3C] mov [esp+54h+var_4], 1 xor bl, bl call sub_401C71 mov ebp, eax call sub_401F0A lea ecx, [esp+50h+var_3C] call sub_4013E3 mov [esp+50h+arg_4], eax lea eax, [esp+50h+arg_4] push eax push ebp nop call near ptr 28211A9h test eax, eax jnz short loc_41BAE6 mov edi, offset byte_448F40 or ecx, 0FFFFFFFFh repne scasb not ecx sub edi, ecx mov edx, ecx mov esi, edi mov edi, ebp shr ecx, 2 rep movsd mov ecx, edx and ecx, 3 rep movsb loc_41BAE6: ; CODE XREF: sub_41BA50+74j movsx ecx, byte ptr [ebp+0] mov eax, 41h loc_41BAEF: ; CODE XREF: sub_41BA50+A9j cmp ecx, eax jnz short loc_41BAF5 mov bl, 1 loc_41BAF5: ; CODE XREF: sub_41BA50+A1j inc eax cmp eax, 5Bh jl short loc_41BAEF mov eax, 61h loc_41BB00: ; CODE XREF: sub_41BA50+BAj cmp ecx, eax jnz short loc_41BB06 mov bl, 1 loc_41BB06: ; CODE XREF: sub_41BA50+B2j inc eax cmp eax, 7Bh jl short loc_41BB00 test bl, bl jnz short loc_41BB32 mov edi, offset byte_448F40 or ecx, 0FFFFFFFFh xor eax, eax repne scasb not ecx sub edi, ecx mov eax, ecx mov esi, edi mov edi, ebp shr ecx, 2 rep movsd mov ecx, eax and ecx, 3 rep movsb loc_41BB32: ; CODE XREF: sub_41BA50+BEj mov esi, dword_511AC8 call esi cdq mov ecx, 0Ah idiv ecx lea ecx, [esp+50h+var_3C] push edx call sub_401140 call esi cdq mov ecx, 0Ah idiv ecx lea ecx, [esp+50h+var_3C] push edx call sub_401140 call esi cdq mov ecx, 0Ah idiv ecx lea ecx, [esp+50h+var_3C] push edx call sub_401140 mov esi, [esp+50h+arg_0] lea edx, [esp+50h+var_3C] push edx mov ecx, esi call sub_4014D3 mov [esp+50h+var_40], 1 lea ecx, [esp+50h+var_3C] mov byte ptr [esp+50h+var_4], 0 call sub_401226 pop ebp mov eax, esi pop edi pop esi pop ebx mov ecx, [esp+40h+var_C] mov large fs:0, ecx add esp, 40h retn ; --------------------------------------------------------------------------- loc_41BBAF: ; CODE XREF: sub_41BA50+2Aj lea ecx, [esp+4Ch+var_24] call sub_40142E mov ebx, 2 mov [esp+4Ch+var_4], ebx nop call near ptr 2800CA0h push eax nop call near ptr 77C371BCh mov edi, dword_511AC8 add esp, 4 call edi cdq mov ecx, 3 idiv ecx lea ecx, [esp+4Ch+var_24] mov esi, edx mov edx, [esp+4Ch+arg_4] push edx add esi, 6 call sub_4015E1 test esi, esi jle short loc_41BC4E loc_41BBF8: ; CODE XREF: sub_41BA50+1FCj lea ecx, [esp+4Ch+var_3C] call sub_40142E lea eax, [esp+4Ch+var_24] lea ecx, [esp+4Ch+var_3C] push eax mov byte ptr [esp+50h+var_4], 3 call sub_401FDC call edi cdq mov ecx, 1Ah idiv ecx lea ecx, [esp+4Ch+var_3C] add edx, 61h push edx call sub_4017EE push eax lea edx, [esp+54h+var_24] push offset dword_444E6C push edx call sub_40102D add esp, 10h lea ecx, [esp+4Ch+var_3C] mov byte ptr [esp+4Ch+var_4], bl call sub_401226 dec esi jnz short loc_41BBF8 loc_41BC4E: ; CODE XREF: sub_41BA50+1A6j mov esi, [esp+4Ch+arg_0] lea eax, [esp+4Ch+var_24] push eax mov ecx, esi call sub_4014D3 lea ecx, [esp+4Ch+var_24] mov [esp+4Ch+var_40], 1 mov byte ptr [esp+4Ch+var_4], 0 call sub_401226 mov ecx, [esp+4Ch+var_C] mov eax, esi pop edi pop esi pop ebx mov large fs:0, ecx add esp, 40h retn sub_41BA50 endp ; --------------------------------------------------------------------------- db 8 dup(90h) db 90h dup(0CCh) ; --------------------------------------------------------------------------- loc_41BD20: ; CODE XREF: ___:00401573j mov al, [esp+4] cmp al, 20h jz short loc_41BD2F cmp al, 9 jz short loc_41BD2F xor al, al retn ; --------------------------------------------------------------------------- loc_41BD2F: ; CODE XREF: ___:0041BD26j ; ___:0041BD2Aj mov al, 1 retn ; --------------------------------------------------------------------------- db 0Eh dup(90h) db 10h dup(0CCh) ; --------------------------------------------------------------------------- loc_41BD50: ; CODE XREF: ___:00401EF6j mov eax, [esp+4] push offset dword_444E74 push eax nop call near ptr 77C3F010h add esp, 8 test eax, eax jz short loc_41BD74 push eax nop call near ptr 77C40AB1h add esp, 4 mov al, 1 retn ; --------------------------------------------------------------------------- loc_41BD74: ; CODE XREF: ___:0041BD65j xor al, al retn ; --------------------------------------------------------------------------- db 9 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_41BD90 proc near ; CODE XREF: sub_401483j var_30 = dword ptr -30h var_2C = dword ptr -2Ch var_20 = byte ptr -20h arg_0 = dword ptr 4 sub esp, 30h push ebx push ebp push esi push edi mov edi, [esp+40h+arg_0] test edi, edi jz loc_41BFEE mov esi, offset byte_448F40 mov eax, edi loc_41BDAA: ; CODE XREF: sub_41BD90+3Cj mov dl, [eax] mov bl, [esi] mov cl, dl cmp dl, bl jnz short loc_41BDD2 test cl, cl jz short loc_41BDCE mov dl, [eax+1] mov bl, [esi+1] mov cl, dl cmp dl, bl jnz short loc_41BDD2 add eax, 2 add esi, 2 test cl, cl jnz short loc_41BDAA loc_41BDCE: ; CODE XREF: sub_41BD90+26j xor eax, eax jmp short loc_41BDD7 ; --------------------------------------------------------------------------- loc_41BDD2: ; CODE XREF: sub_41BD90+22j ; sub_41BD90+32j sbb eax, eax sbb eax, 0FFFFFFFFh loc_41BDD7: ; CODE XREF: sub_41BD90+40j test eax, eax jz loc_41BFEE push 20h lea eax, [esp+44h+var_20] push edi push eax call near ptr 77C47A90h nop mov edi, dword_511B00 lea ecx, [esp+4Ch+var_20] push offset dword_4447F8 push ecx call edi add esp, 14h mov [esp+40h+var_30], eax test eax, eax jz loc_41BFEE mov ebx, 1 lea esi, [esp+40h+var_2C] loc_41BE17: ; CODE XREF: sub_41BD90+A4j push offset dword_4447F8 push 0 call edi add esp, 8 mov [esi], eax test eax, eax jz loc_41BFEE inc ebx add esi, 4 cmp ebx, 4 jl short loc_41BE17 mov ebp, [esp+40h+var_30] mov esi, offset dword_444E90 mov eax, ebp loc_41BE41: ; CODE XREF: sub_41BD90+D3j mov cl, [eax] mov bl, [esi] mov dl, cl cmp cl, bl jnz short loc_41BE69 test dl, dl jz short loc_41BE65 mov cl, [eax+1] mov bl, [esi+1] mov dl, cl cmp cl, bl jnz short loc_41BE69 add eax, 2 add esi, 2 test dl, dl jnz short loc_41BE41 loc_41BE65: ; CODE XREF: sub_41BD90+BDj xor eax, eax jmp short loc_41BE6E ; --------------------------------------------------------------------------- loc_41BE69: ; CODE XREF: sub_41BD90+B9j ; sub_41BD90+C9j sbb eax, eax sbb eax, 0FFFFFFFFh loc_41BE6E: ; CODE XREF: sub_41BD90+D7j test eax, eax jnz short loc_41BE7C pop edi pop esi pop ebp mov al, 1 pop ebx add esp, 30h retn ; --------------------------------------------------------------------------- loc_41BE7C: ; CODE XREF: sub_41BD90+E0j mov esi, offset dword_444E8C mov eax, ebp loc_41BE83: ; CODE XREF: sub_41BD90+115j mov cl, [eax] mov bl, [esi] mov dl, cl cmp cl, bl jnz short loc_41BEAB test dl, dl jz short loc_41BEA7 mov cl, [eax+1] mov bl, [esi+1] mov dl, cl cmp cl, bl jnz short loc_41BEAB add eax, 2 add esi, 2 test dl, dl jnz short loc_41BE83 loc_41BEA7: ; CODE XREF: sub_41BD90+FFj xor eax, eax jmp short loc_41BEB0 ; --------------------------------------------------------------------------- loc_41BEAB: ; CODE XREF: sub_41BD90+FBj ; sub_41BD90+10Bj sbb eax, eax sbb eax, 0FFFFFFFFh loc_41BEB0: ; CODE XREF: sub_41BD90+119j mov edi, [esp+40h+var_2C] test eax, eax jnz short loc_41BEFA mov esi, offset dword_444E88 mov edx, edi loc_41BEBF: ; CODE XREF: sub_41BD90+151j mov al, [edx] mov cl, [esi] mov bl, al cmp al, cl jnz short loc_41BEE7 test bl, bl jz short loc_41BEE3 mov cl, [edx+1] mov al, [esi+1] mov bl, cl cmp cl, al jnz short loc_41BEE7 add edx, 2 add esi, 2 test bl, bl jnz short loc_41BEBF loc_41BEE3: ; CODE XREF: sub_41BD90+13Bj xor edx, edx jmp short loc_41BEEC ; --------------------------------------------------------------------------- loc_41BEE7: ; CODE XREF: sub_41BD90+137j ; sub_41BD90+147j sbb edx, edx sbb edx, 0FFFFFFFFh loc_41BEEC: ; CODE XREF: sub_41BD90+155j test edx, edx jnz short loc_41BEFA pop edi pop esi pop ebp mov al, 1 pop ebx add esp, 30h retn ; --------------------------------------------------------------------------- loc_41BEFA: ; CODE XREF: sub_41BD90+126j ; sub_41BD90+15Ej mov esi, offset dword_444E84 mov edx, ebp loc_41BF01: ; CODE XREF: sub_41BD90+193j mov al, [edx] mov cl, [esi] mov bl, al cmp al, cl jnz short loc_41BF29 test bl, bl jz short loc_41BF25 mov cl, [edx+1] mov al, [esi+1] mov bl, cl cmp cl, al jnz short loc_41BF29 add edx, 2 add esi, 2 test bl, bl jnz short loc_41BF01 loc_41BF25: ; CODE XREF: sub_41BD90+17Dj xor edx, edx jmp short loc_41BF2E ; --------------------------------------------------------------------------- loc_41BF29: ; CODE XREF: sub_41BD90+179j ; sub_41BD90+189j sbb edx, edx sbb edx, 0FFFFFFFFh loc_41BF2E: ; CODE XREF: sub_41BD90+197j test edx, edx jnz short loc_41BF74 mov esi, offset dword_444E80 mov edx, edi loc_41BF39: ; CODE XREF: sub_41BD90+1CBj mov al, [edx] mov cl, [esi] mov bl, al cmp al, cl jnz short loc_41BF61 test bl, bl jz short loc_41BF5D mov cl, [edx+1] mov al, [esi+1] mov bl, cl cmp cl, al jnz short loc_41BF61 add edx, 2 add esi, 2 test bl, bl jnz short loc_41BF39 loc_41BF5D: ; CODE XREF: sub_41BD90+1B5j xor edx, edx jmp short loc_41BF66 ; --------------------------------------------------------------------------- loc_41BF61: ; CODE XREF: sub_41BD90+1B1j ; sub_41BD90+1C1j sbb edx, edx sbb edx, 0FFFFFFFFh loc_41BF66: ; CODE XREF: sub_41BD90+1CFj test edx, edx jnz short loc_41BF74 pop edi pop esi pop ebp mov al, 1 pop ebx add esp, 30h retn ; --------------------------------------------------------------------------- loc_41BF74: ; CODE XREF: sub_41BD90+1A0j ; sub_41BD90+1D8j mov esi, offset dword_444E7C mov ecx, ebp loc_41BF7B: ; CODE XREF: sub_41BD90+20Dj mov al, [ecx] mov bl, [esi] mov dl, al cmp al, bl jnz short loc_41BFA3 test dl, dl jz short loc_41BF9F mov al, [ecx+1] mov bl, [esi+1] mov dl, al cmp al, bl jnz short loc_41BFA3 add ecx, 2 add esi, 2 test dl, dl jnz short loc_41BF7B loc_41BF9F: ; CODE XREF: sub_41BD90+1F7j xor ecx, ecx jmp short loc_41BFA8 ; --------------------------------------------------------------------------- loc_41BFA3: ; CODE XREF: sub_41BD90+1F3j ; sub_41BD90+203j sbb ecx, ecx sbb ecx, 0FFFFFFFFh loc_41BFA8: ; CODE XREF: sub_41BD90+211j test ecx, ecx jnz short loc_41BFEE mov esi, offset dword_444E78 mov eax, edi loc_41BFB3: ; CODE XREF: sub_41BD90+245j mov dl, [eax] mov bl, [esi] mov cl, dl cmp dl, bl jnz short loc_41BFDB test cl, cl jz short loc_41BFD7 mov dl, [eax+1] mov bl, [esi+1] mov cl, dl cmp dl, bl jnz short loc_41BFDB add eax, 2 add esi, 2 test cl, cl jnz short loc_41BFB3 loc_41BFD7: ; CODE XREF: sub_41BD90+22Fj xor eax, eax jmp short loc_41BFE0 ; --------------------------------------------------------------------------- loc_41BFDB: ; CODE XREF: sub_41BD90+22Bj ; sub_41BD90+23Bj sbb eax, eax sbb eax, 0FFFFFFFFh loc_41BFE0: ; CODE XREF: sub_41BD90+249j test eax, eax jnz short loc_41BFEE pop edi pop esi pop ebp mov al, 1 pop ebx add esp, 30h retn ; --------------------------------------------------------------------------- loc_41BFEE: ; CODE XREF: sub_41BD90+Dj ; sub_41BD90+49j ... pop edi pop esi pop ebp xor al, al pop ebx add esp, 30h retn sub_41BD90 endp ; --------------------------------------------------------------------------- db 8 dup(90h) db 0A0h dup(0CCh) ; --------------------------------------------------------------------------- loc_41C0A0: ; CODE XREF: ___:00402022j sub esp, 10h push ebx push esi push 6 push 1 push 2 xor bl, bl nop call near ptr 71AB3B91h mov esi, eax cmp esi, 0FFFFFFFFh jz short loc_41C108 cmp esi, 0FFFFFFFFh jz short loc_41C108 mov eax, [esp+1Ch] push eax nop call near ptr 71AB2BF4h mov ecx, [esp+20h] mov [esp+0Ch], eax push ecx nop call near ptr 71AB2B66h lea edx, [esp+8] push 10h push edx push esi mov [esp+16h], ax mov word ptr [esp+14h], 2 call near ptr 71AB406Ah nop test eax, eax jnz short loc_41C0F9 mov bl, 1 loc_41C0F9: ; CODE XREF: ___:0041C0F5j push esi nop call near ptr 71AB9639h mov al, bl pop esi pop ebx add esp, 10h retn ; --------------------------------------------------------------------------- loc_41C108: ; CODE XREF: ___:0041C0B8j ; ___:0041C0BDj pop esi xor al, al pop ebx add esp, 10h retn ; --------------------------------------------------------------------------- db 20h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_41C130 proc near ; CODE XREF: sub_401299j arg_0 = dword ptr 4 arg_4 = dword ptr 8 mov eax, [esp+arg_4] mov ecx, [esp+arg_0] push 0 push 0 push eax push ecx push offset dword_4446F4 push 0 call near ptr 7CA41110h nop cmp eax, 20h setnl al retn sub_41C130 endp ; --------------------------------------------------------------------------- db 0Eh dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_41C170 proc near ; CODE XREF: sub_402167j var_54 = byte ptr -54h var_44 = dword ptr -44h var_14 = word ptr -14h arg_0 = dword ptr 4 sub esp, 54h push edi mov ecx, 11h xor eax, eax lea edi, [esp+58h+var_44] rep stosd mov [esp+58h+var_14], ax lea eax, [esp+58h+var_54] mov edx, [esp+58h+arg_0] lea ecx, [esp+58h+var_44] push eax push ecx push 0 push 0 push 28h push 0 push 0 push 0 push edx push 0 mov [esp+80h+var_44], 44h call near ptr 2810466h nop test eax, eax setnle al pop edi add esp, 54h retn sub_41C170 endp ; --------------------------------------------------------------------------- db 5 dup(90h) db 20h dup(0CCh) ; --------------------------------------------------------------------------- loc_41C1E0: ; CODE XREF: ___:00401884j sub esp, 354h mov eax, dword_444E9C mov ecx, dword_444EA0 mov [esp+0], eax mov al, byte_448F40 push esi push edi mov [esp+0Ch], ecx mov [esp+14h], al mov ecx, 45h xor eax, eax lea edi, [esp+15h] mov edx, dword_444EA4 rep stosd mov ecx, dword_444E94 mov [esp+10h], edx mov dx, word_444E98 mov [esp+12Ch], ecx stosw stosb mov ecx, 8Ah xor eax, eax lea edi, [esp+132h] mov [esp+130h], dx rep stosd mov ecx, [esp+360h] push 0FFh stosw lea eax, [esp+18h] xor edi, edi push eax push 0FFFFFFFFh push ecx push edi push edi nop call near ptr 27D0000h mov esi, dword_511AB8 lea edx, [esp+14h] lea eax, [esp+12Ch] push edx push eax call esi lea ecx, [esp+10h] lea edx, [esp+134h] push ecx push edx call esi mov esi, [esp+374h] add esp, 10h lea eax, [esp+12Ch] push edi push offset dword_50DB5C push offset dword_50DB5C push esi mov [esi+4], edi mov [esi+10h], edi mov [esi+14h], eax mov [esi+1Ch], edi call near ptr word_43829E cmp eax, 5 jz short loc_41C2C8 cmp eax, 4C3h jnz short loc_41C2D1 loc_41C2C8: ; CODE XREF: ___:0041C2BFj push edi push edi push edi push esi call near ptr word_43829E loc_41C2D1: ; CODE XREF: ___:0041C2C6j pop edi cmp eax, 5 pop esi jz short loc_41C2E8 cmp eax, 4C3h jz short loc_41C2E8 mov al, 1 add esp, 354h retn ; --------------------------------------------------------------------------- loc_41C2E8: ; CODE XREF: ___:0041C2D6j ; ___:0041C2DDj xor al, al add esp, 354h retn ; --------------------------------------------------------------------------- db 0Fh dup(90h) db 50h dup(0CCh) ; --------------------------------------------------------------------------- loc_41C350: ; CODE XREF: ___:00401EE7j sub esp, 354h mov eax, dword_444E9C mov ecx, dword_444EA0 mov [esp+0], eax mov al, byte_448F40 push esi push edi mov [esp+0Ch], ecx mov [esp+14h], al mov ecx, 45h xor eax, eax lea edi, [esp+15h] mov edx, dword_444EA4 rep stosd mov ecx, dword_444E94 mov [esp+10h], edx mov dx, word_444E98 mov [esp+12Ch], ecx stosw stosb mov ecx, 8Ah xor eax, eax lea edi, [esp+132h] mov [esp+130h], dx rep stosd mov ecx, [esp+360h] push 0FFh stosw lea eax, [esp+18h] push eax push 0FFFFFFFFh push ecx push 0 push 0 nop call near ptr 27D0000h mov esi, dword_511AB8 lea edx, [esp+14h] lea eax, [esp+12Ch] push edx push eax call esi lea ecx, [esp+10h] lea edx, [esp+134h] push ecx push edx call esi add esp, 10h lea eax, [esp+12Ch] push 0 push 0 push eax call near ptr dword_4382A4 test eax, eax jz short loc_41C438 mov esi, dword_5118D8 loc_41C41C: ; CODE XREF: ___:0041C436j push 7D0h call esi push 0 lea ecx, [esp+130h] push 0 push ecx call near ptr dword_4382A4 test eax, eax jnz short loc_41C41C loc_41C438: ; CODE XREF: ___:0041C414j pop edi mov al, 1 pop esi add esp, 354h retn ; --------------------------------------------------------------------------- db 0Dh dup(90h) db 40h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_41C490 proc near ; CODE XREF: sub_401D93j 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_41C490 mov eax, large fs:0 push eax mov large fs:0, esp sub esp, 30h push esi push edi push 0 push 0Ch push 4 push 4Fh push 10h push 14h lea eax, [esp+5Ch+var_3C] push 6 mov esi, ecx push eax call sub_4019C4 add esp, 20h push esi mov ecx, eax mov [esp+48h+var_4], 0 call sub_4017EE lea ecx, [esi+0BCh] push eax push ecx mov ecx, offset dword_449128 call sub_40159B or edi, 0FFFFFFFFh lea ecx, [esp+44h+var_3C] mov [esp+44h+var_4], edi call sub_401226 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_4019C4 add esp, 24h push esi mov ecx, eax mov [esp+48h+var_4], 1 call sub_4017EE push eax lea eax, [esi+118h] push eax mov ecx, offset dword_449128 call sub_40159B lea ecx, [esp+44h+var_3C] mov [esp+44h+var_4], edi call sub_401226 push 0 push 10h push 15h push 4Fh push 10h push 14h lea ecx, [esp+5Ch+var_3C] push 6 push ecx call sub_4019C4 add esp, 20h push esi mov ecx, eax mov [esp+48h+var_4], 2 call sub_4017EE lea edx, [esi+0EAh] push eax push edx mov ecx, offset dword_449128 call sub_40159B lea ecx, [esp+44h+var_3C] mov [esp+44h+var_4], edi call sub_401226 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_4019C4 add esp, 24h push esi mov ecx, eax mov [esp+48h+var_4], 3 call sub_4017EE lea ecx, [esi+4] push eax push ecx mov ecx, offset dword_449128 call sub_40159B lea ecx, [esp+44h+var_3C] mov [esp+44h+var_4], edi call sub_401226 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_4019C4 add esp, 28h push esi mov ecx, eax mov [esp+48h+var_4], 4 call sub_4017EE push eax lea eax, [esi+60h] push eax mov ecx, offset dword_449128 call sub_40159B lea ecx, [esp+44h+var_3C] mov [esp+44h+var_4], edi call sub_401226 push 0 push 5 push 14h push 1 push 4 push 10h push 15h push 4Fh push 10h push 14h push 14h lea ecx, [esp+70h+var_24] push 8 push ecx call sub_4019C4 add esp, 34h push esi mov ecx, eax mov [esp+48h+var_4], 5 call sub_4017EE add esi, 32h push eax push esi mov ecx, offset dword_449128 call sub_40159B lea ecx, [esp+44h+var_24] mov [esp+44h+var_4], edi call sub_401226 mov ecx, [esp+44h+var_C] pop edi pop esi mov large fs:0, ecx add esp, 3Ch retn sub_41C490 endp ; --------------------------------------------------------------------------- db 0Bh dup(90h) db 80h dup(0CCh) ; --------------------------------------------------------------------------- loc_41C710: ; CODE XREF: ___:00401064j push 0FFFFFFFFh push offset byte_43C20D 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+18h] call sub_40142E lea ecx, [esp+48h] mov dword ptr [esp+120h], 0 call sub_40142E lea ecx, [esp+78h] mov byte ptr [esp+120h], 1 call sub_40142E lea ecx, [esp+90h] mov byte ptr [esp+120h], 2 call sub_40142E lea ecx, [esp+60h] mov byte ptr [esp+120h], 3 call sub_40142E lea ecx, [esp+0A8h] mov byte ptr [esp+120h], 4 call sub_401B4A mov esi, [esp+128h] mov bl, 5 lea ecx, [ebp+8Eh] mov [esp+120h], bl lea edi, [esi+7Eh] call sub_4017EE push eax mov ecx, edi call sub_4012EE lea ecx, [ebp+4] call sub_4017EE push eax mov ecx, edi call sub_4012EE test eax, eax jnz loc_41C93C push offset dword_444600 lea eax, [esp+34h] push 1 push eax mov ecx, esi call sub_4016B8 lea ecx, [esp+0A8h] mov byte ptr [esp+120h], 6 push ecx mov ecx, eax call sub_40168B push eax call sub_401947 add esp, 8 lea ecx, [esp+30h] test al, al setz byte ptr [esp+13h] mov [esp+120h], bl call sub_401226 mov al, [esp+13h] test al, al jnz loc_41D2A1 lea edx, [esp+0BDh] lea ecx, [esp+18h] push edx call sub_401FDC push offset dword_444C7C lea ecx, [esp+1Ch] call sub_401AAF mov eax, [esp+0FCh] lea ecx, [esp+18h] push eax call sub_401140 lea ecx, [esp+100h] push ecx lea ecx, [esp+4Ch] call sub_401FDC push 1 push offset dword_444600 lea edx, [esp+38h] push 2 push edx mov ecx, esi call sub_4011EA push eax lea ecx, [esp+64h] mov byte ptr [esp+124h], 7 call sub_401FDC lea ecx, [esp+30h] mov [esp+120h], bl call sub_401226 push 94h call near ptr word_437AEA add esp, 4 mov [esp+14h], eax test eax, eax mov byte ptr [esp+120h], 8 jz short loc_41C8CC mov ecx, eax call sub_4021E9 mov edi, eax jmp short loc_41C8CE ; --------------------------------------------------------------------------- loc_41C8CC: ; CODE XREF: ___:0041C8BFj xor edi, edi loc_41C8CE: ; CODE XREF: ___:0041C8CAj lea eax, [esp+18h] lea ecx, [edi+11h] push eax mov [esp+124h], bl call sub_401FDC lea ecx, [esp+48h] push ecx lea ecx, [edi+26h] call sub_401FDC lea edx, [esp+60h] lea ecx, [edi+65h] push edx call sub_401FDC lea eax, [esi+69h] lea ecx, [edi+7Ah] push eax call sub_401FDC mov byte ptr [edi+8Fh], 0 mov byte ptr [edi+90h], 0 mov byte ptr [edi+91h], 0 mov cl, [esi+93h] mov [edi+92h], cl mov dl, [esi+94h] mov ecx, edi mov [edi+93h], dl call sub_4013DE loc_41C93C: ; CODE XREF: ___:0041C7D0j lea ecx, [ebp+60h] call sub_4017EE push eax lea ecx, [esi+7Eh] call sub_4012EE test eax, eax jnz loc_41CABB push offset dword_444600 lea eax, [esp+34h] push 1 push eax mov ecx, esi call sub_4016B8 lea ecx, [esp+0A8h] mov byte ptr [esp+120h], 9 push ecx mov ecx, eax call sub_40168B push eax call sub_401947 add esp, 8 lea ecx, [esp+30h] test al, al setz byte ptr [esp+13h] mov [esp+120h], bl call sub_401226 mov al, [esp+13h] test al, al jnz loc_41D2A1 lea edx, [esp+0BDh] lea ecx, [esp+18h] push edx call sub_401FDC push offset dword_444C7C lea ecx, [esp+1Ch] call sub_401AAF mov eax, [esp+0FCh] lea ecx, [esp+18h] push eax call sub_401140 lea ecx, [esp+100h] push ecx lea ecx, [esp+4Ch] call sub_401FDC push 1 push offset dword_444600 lea edx, [esp+38h] push 2 push edx mov ecx, esi call sub_4011EA push eax lea ecx, [esp+64h] mov byte ptr [esp+124h], 0Ah call sub_401FDC lea ecx, [esp+30h] mov [esp+120h], bl call sub_401226 push 94h call near ptr word_437AEA add esp, 4 mov [esp+14h], eax test eax, eax mov byte ptr [esp+120h], 0Bh jz short loc_41CA4B mov ecx, eax call sub_4021E9 mov edi, eax jmp short loc_41CA4D ; --------------------------------------------------------------------------- loc_41CA4B: ; CODE XREF: ___:0041CA3Ej xor edi, edi loc_41CA4D: ; CODE XREF: ___:0041CA49j lea eax, [esp+18h] lea ecx, [edi+11h] push eax mov [esp+124h], bl call sub_401FDC lea ecx, [esp+48h] push ecx lea ecx, [edi+26h] call sub_401FDC lea edx, [esp+60h] lea ecx, [edi+65h] push edx call sub_401FDC lea eax, [esi+69h] lea ecx, [edi+7Ah] push eax call sub_401FDC mov byte ptr [edi+8Fh], 1 mov byte ptr [edi+90h], 0 mov byte ptr [edi+91h], 0 mov cl, [esi+93h] mov [edi+92h], cl mov dl, [esi+94h] mov ecx, edi mov [edi+93h], dl call sub_4013DE loc_41CABB: ; CODE XREF: ___:0041C94Fj lea ecx, [ebp+32h] call sub_4017EE push eax lea ecx, [esi+7Eh] call sub_4012EE test eax, eax jnz loc_41CCF6 push offset dword_444600 lea eax, [esp+34h] push 1 push eax mov ecx, esi call sub_4016B8 lea ecx, [esp+0A8h] mov byte ptr [esp+120h], 0Ch push ecx mov ecx, eax call sub_40168B push eax call sub_401947 add esp, 8 lea ecx, [esp+30h] test al, al setz byte ptr [esp+13h] mov [esp+120h], bl call sub_401226 mov al, [esp+13h] test al, al jnz loc_41D2A1 lea edx, [esp+0BDh] lea ecx, [esp+18h] push edx call sub_401FDC push offset dword_444C7C lea ecx, [esp+1Ch] call sub_401AAF mov eax, [esp+0FCh] lea ecx, [esp+18h] push eax call sub_401140 lea ecx, [esp+100h] push ecx lea ecx, [esp+4Ch] call sub_401FDC push 1 push offset dword_444600 lea edx, [esp+38h] push 2 push edx mov ecx, esi call sub_4011EA push eax lea ecx, [esp+64h] mov byte ptr [esp+124h], 0Dh call sub_401FDC lea ecx, [esp+30h] mov [esp+120h], bl call sub_401226 push offset dword_444600 lea eax, [esp+34h] push 3 push eax mov ecx, esi call sub_4016B8 push offset word_44956A mov ecx, eax mov byte ptr [esp+124h], 0Eh call sub_401B86 test eax, eax lea ecx, [esp+30h] mov [esp+120h], bl setz byte ptr [esp+13h] call sub_401226 mov al, [esp+13h] test al, al jz short loc_41CC5E lea ecx, [esp+0A8h] mov byte ptr [esp+120h], 4 call sub_4014BA lea ecx, [esp+60h] mov byte ptr [esp+120h], 3 call sub_401226 lea ecx, [esp+90h] mov byte ptr [esp+120h], 2 call sub_401226 lea ecx, [esp+78h] mov byte ptr [esp+120h], 1 call sub_401226 lea ecx, [esp+48h] mov byte ptr [esp+120h], 0 call sub_401226 lea ecx, [esp+18h] mov dword ptr [esp+120h], 0FFFFFFFFh call sub_401226 xor al, al jmp loc_41D312 ; --------------------------------------------------------------------------- loc_41CC5E: ; CODE XREF: ___:0041CBE6j push 94h call near ptr word_437AEA add esp, 4 mov [esp+14h], eax test eax, eax mov byte ptr [esp+120h], 0Fh jz short loc_41CC86 mov ecx, eax call sub_4021E9 mov edi, eax jmp short loc_41CC88 ; --------------------------------------------------------------------------- loc_41CC86: ; CODE XREF: ___:0041CC79j xor edi, edi loc_41CC88: ; CODE XREF: ___:0041CC84j lea ecx, [esp+18h] mov [esp+120h], bl push ecx lea ecx, [edi+11h] call sub_401FDC lea edx, [esp+48h] lea ecx, [edi+26h] push edx call sub_401FDC lea eax, [esp+60h] lea ecx, [edi+65h] push eax call sub_401FDC lea ecx, [esi+69h] push ecx lea ecx, [edi+7Ah] call sub_401FDC mov byte ptr [edi+8Fh], 0 mov byte ptr [edi+90h], 1 mov byte ptr [edi+91h], 0 mov dl, [esi+93h] mov [edi+92h], dl mov al, [esi+94h] mov ecx, edi mov [edi+93h], al call sub_4013DE loc_41CCF6: ; CODE XREF: ___:0041CACEj lea ecx, [ebp+0BCh] call sub_4017EE push eax lea ecx, [esi+7Eh] call sub_4012EE test eax, eax jnz loc_41CE9B push offset dword_444600 lea ecx, [esp+34h] push 1 push ecx mov ecx, esi call sub_4016B8 lea edx, [esp+0A8h] mov ecx, eax push edx mov byte ptr [esp+124h], 10h call sub_40168B push eax call sub_401947 add esp, 8 lea ecx, [esp+30h] test al, al setz byte ptr [esp+13h] mov [esp+120h], bl call sub_401226 mov al, [esp+13h] test al, al jnz loc_41D2A1 lea eax, [esp+0D2h] lea ecx, [esp+78h] push eax call sub_401FDC lea ecx, [esp+0E7h] push ecx lea ecx, [esp+94h] call sub_401FDC lea edx, [esp+0BDh] lea ecx, [esp+18h] push edx call sub_401FDC lea eax, [esp+100h] lea ecx, [esp+48h] push eax call sub_401FDC push 1 push offset dword_444600 lea ecx, [esp+38h] push 2 push ecx mov ecx, esi call sub_4011EA push eax lea ecx, [esp+64h] mov byte ptr [esp+124h], 11h call sub_401FDC lea ecx, [esp+30h] mov [esp+120h], bl call sub_401226 push 94h call near ptr word_437AEA add esp, 4 mov [esp+14h], eax test eax, eax mov byte ptr [esp+120h], 12h jz short loc_41CE0E mov ecx, eax call sub_4021E9 mov edi, eax jmp short loc_41CE10 ; --------------------------------------------------------------------------- loc_41CE0E: ; CODE XREF: ___:0041CE01j xor edi, edi loc_41CE10: ; CODE XREF: ___:0041CE0Cj lea edx, [esp+18h] lea ecx, [edi+11h] push edx mov [esp+124h], bl call sub_401FDC lea eax, [esp+48h] lea ecx, [edi+26h] push eax call sub_401FDC lea ecx, [esp+60h] push ecx lea ecx, [edi+65h] call sub_401FDC lea edx, [esp+78h] lea ecx, [edi+3Bh] push edx call sub_401FDC lea eax, [esp+90h] lea ecx, [edi+50h] push eax call sub_401FDC lea ecx, [esi+69h] push ecx lea ecx, [edi+7Ah] call sub_401FDC mov byte ptr [edi+8Fh], 0 mov byte ptr [edi+90h], 0 mov byte ptr [edi+91h], 1 mov dl, [esi+93h] mov [edi+92h], dl mov al, [esi+94h] mov ecx, edi mov [edi+93h], al call sub_4013DE loc_41CE9B: ; CODE XREF: ___:0041CD0Cj lea ecx, [ebp+118h] call sub_4017EE push eax lea ecx, [esi+7Eh] call sub_4012EE test eax, eax jnz loc_41D040 push offset dword_444600 lea ecx, [esp+34h] push 1 push ecx mov ecx, esi call sub_4016B8 lea edx, [esp+0A8h] mov ecx, eax push edx mov byte ptr [esp+124h], 13h call sub_40168B push eax call sub_401947 add esp, 8 lea ecx, [esp+30h] test al, al setz byte ptr [esp+13h] mov [esp+120h], bl call sub_401226 mov al, [esp+13h] test al, al jnz loc_41D2A1 lea eax, [esp+0D2h] lea ecx, [esp+78h] push eax call sub_401FDC lea ecx, [esp+0E7h] push ecx lea ecx, [esp+94h] call sub_401FDC lea edx, [esp+0BDh] lea ecx, [esp+18h] push edx call sub_401FDC lea eax, [esp+100h] lea ecx, [esp+48h] push eax call sub_401FDC push 1 push offset dword_444600 lea ecx, [esp+38h] push 2 push ecx mov ecx, esi call sub_4011EA push eax lea ecx, [esp+64h] mov byte ptr [esp+124h], 14h call sub_401FDC lea ecx, [esp+30h] mov [esp+120h], bl call sub_401226 push 94h call near ptr word_437AEA add esp, 4 mov [esp+14h], eax test eax, eax mov byte ptr [esp+120h], 15h jz short loc_41CFB3 mov ecx, eax call sub_4021E9 mov edi, eax jmp short loc_41CFB5 ; --------------------------------------------------------------------------- loc_41CFB3: ; CODE XREF: ___:0041CFA6j xor edi, edi loc_41CFB5: ; CODE XREF: ___:0041CFB1j lea edx, [esp+18h] lea ecx, [edi+11h] push edx mov [esp+124h], bl call sub_401FDC lea eax, [esp+48h] lea ecx, [edi+26h] push eax call sub_401FDC lea ecx, [esp+60h] push ecx lea ecx, [edi+65h] call sub_401FDC lea edx, [esp+78h] lea ecx, [edi+3Bh] push edx call sub_401FDC lea eax, [esp+90h] lea ecx, [edi+50h] push eax call sub_401FDC lea ecx, [esi+69h] push ecx lea ecx, [edi+7Ah] call sub_401FDC mov byte ptr [edi+8Fh], 1 mov byte ptr [edi+90h], 0 mov byte ptr [edi+91h], 1 mov dl, [esi+93h] mov [edi+92h], dl mov al, [esi+94h] mov ecx, edi mov [edi+93h], al call sub_4013DE loc_41D040: ; CODE XREF: ___:0041CEB1j lea ecx, [ebp+0EAh] call sub_4017EE push eax lea ecx, [esi+7Eh] call sub_4012EE test eax, eax jnz loc_41D2A1 push offset dword_444600 lea ecx, [esp+34h] push 1 push ecx mov ecx, esi call sub_4016B8 lea edx, [esp+0A8h] mov ecx, eax push edx mov byte ptr [esp+124h], 16h call sub_40168B push eax call sub_401947 add esp, 8 lea ecx, [esp+30h] test al, al setz byte ptr [esp+13h] mov [esp+120h], bl call sub_401226 mov al, [esp+13h] test al, al jnz loc_41D2A1 lea eax, [esp+0D2h] lea ecx, [esp+78h] push eax call sub_401FDC lea ecx, [esp+0E7h] push ecx lea ecx, [esp+94h] call sub_401FDC lea edx, [esp+0BDh] lea ecx, [esp+18h] push edx call sub_401FDC lea eax, [esp+100h] lea ecx, [esp+48h] push eax call sub_401FDC push 1 push offset dword_444600 lea ecx, [esp+38h] push 2 push ecx mov ecx, esi call sub_4011EA push eax lea ecx, [esp+64h] mov byte ptr [esp+124h], 17h call sub_401FDC lea ecx, [esp+30h] mov [esp+120h], bl call sub_401226 push offset dword_444600 lea edx, [esp+34h] push 3 push edx mov ecx, esi call sub_4016B8 push offset word_44956A mov ecx, eax mov byte ptr [esp+124h], 18h call sub_401B86 test eax, eax lea ecx, [esp+30h] mov [esp+120h], bl setz byte ptr [esp+13h] call sub_401226 mov al, [esp+13h] test al, al jz short loc_41D1EC lea ecx, [esp+0A8h] mov byte ptr [esp+120h], 4 call sub_4014BA lea ecx, [esp+60h] mov byte ptr [esp+120h], 3 call sub_401226 lea ecx, [esp+90h] mov byte ptr [esp+120h], 2 call sub_401226 lea ecx, [esp+78h] mov byte ptr [esp+120h], 1 call sub_401226 lea ecx, [esp+48h] mov byte ptr [esp+120h], 0 call sub_401226 lea ecx, [esp+18h] mov dword ptr [esp+120h], 0FFFFFFFFh call sub_401226 xor al, al jmp loc_41D312 ; --------------------------------------------------------------------------- loc_41D1EC: ; CODE XREF: ___:0041D174j push 94h call near ptr word_437AEA add esp, 4 mov [esp+14h], eax test eax, eax mov byte ptr [esp+120h], 19h jz short loc_41D214 mov ecx, eax call sub_4021E9 mov edi, eax jmp short loc_41D216 ; --------------------------------------------------------------------------- loc_41D214: ; CODE XREF: ___:0041D207j xor edi, edi loc_41D216: ; CODE XREF: ___:0041D212j lea eax, [esp+18h] lea ecx, [edi+11h] push eax mov [esp+124h], bl call sub_401FDC lea ecx, [esp+48h] push ecx lea ecx, [edi+26h] call sub_401FDC lea edx, [esp+60h] lea ecx, [edi+65h] push edx call sub_401FDC lea eax, [esp+78h] lea ecx, [edi+3Bh] push eax call sub_401FDC lea ecx, [esp+90h] push ecx lea ecx, [edi+50h] call sub_401FDC lea edx, [esi+69h] lea ecx, [edi+7Ah] push edx call sub_401FDC mov byte ptr [edi+8Fh], 0 mov byte ptr [edi+90h], 1 mov byte ptr [edi+91h], 1 mov al, [esi+93h] mov [edi+92h], al mov cl, [esi+94h] mov [edi+93h], cl mov ecx, edi call sub_4013DE loc_41D2A1: ; CODE XREF: ___:0041C826j ; ___:0041C9A5j ... lea ecx, [esp+0A8h] mov byte ptr [esp+120h], 4 call sub_4014BA lea ecx, [esp+60h] mov byte ptr [esp+120h], 3 call sub_401226 lea ecx, [esp+90h] mov byte ptr [esp+120h], 2 call sub_401226 lea ecx, [esp+78h] mov byte ptr [esp+120h], 1 call sub_401226 lea ecx, [esp+48h] mov byte ptr [esp+120h], 0 call sub_401226 lea ecx, [esp+18h] mov dword ptr [esp+120h], 0FFFFFFFFh call sub_401226 mov al, 1 loc_41D312: ; CODE XREF: ___:0041CC59j ; ___:0041D1E7j mov ecx, [esp+118h] pop edi pop esi pop ebp pop ebx mov large fs:0, ecx add esp, 114h retn 4 ; --------------------------------------------------------------------------- db 3 dup(90h) db 310h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_41D640 proc near ; CODE XREF: sub_401B4Aj var_10 = dword ptr -10h var_C = dword ptr -0Ch var_4 = dword ptr -4 push 0FFFFFFFFh push offset SEH_41D640 mov eax, large fs:0 push eax mov large fs:0, esp push ecx push esi mov esi, ecx mov [esp+14h+var_10], esi call sub_40142E lea ecx, [esi+15h] mov [esp+14h+var_4], 0 call sub_40142E lea ecx, [esi+2Ah] mov byte ptr [esp+14h+var_4], 1 call sub_40142E lea ecx, [esi+3Fh] mov byte ptr [esp+14h+var_4], 2 call sub_40142E lea ecx, [esi+58h] mov byte ptr [esp+14h+var_4], 3 call sub_40142E mov ecx, [esp+14h+var_C] mov eax, esi pop esi mov large fs:0, ecx add esp, 10h retn sub_41D640 endp ; --------------------------------------------------------------------------- db 5 dup(90h) db 20h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_41D6D0 proc near ; CODE XREF: sub_4014BAj var_10 = dword ptr -10h var_C = dword ptr -0Ch var_4 = dword ptr -4 push 0FFFFFFFFh push offset SEH_41D6D0 mov eax, large fs:0 push eax mov large fs:0, esp push ecx push esi mov esi, ecx mov [esp+14h+var_10], esi lea ecx, [esi+58h] mov [esp+14h+var_4], 3 call sub_401226 lea ecx, [esi+3Fh] mov byte ptr [esp+14h+var_4], 2 call sub_401226 lea ecx, [esi+2Ah] mov byte ptr [esp+14h+var_4], 1 call sub_401226 lea ecx, [esi+15h] mov byte ptr [esp+14h+var_4], 0 call sub_401226 mov ecx, esi mov [esp+14h+var_4], 0FFFFFFFFh call sub_401226 mov ecx, [esp+14h+var_C] pop esi mov large fs:0, ecx add esp, 10h retn sub_41D6D0 endp ; --------------------------------------------------------------------------- db 0Dh dup(90h) db 20h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_41D770 proc near ; CODE XREF: sub_4021E9j var_10 = dword ptr -10h var_C = dword ptr -0Ch var_4 = dword ptr -4 push 0FFFFFFFFh push offset SEH_41D770 mov eax, large fs:0 push eax mov large fs:0, esp push ecx push esi mov esi, ecx mov [esp+14h+var_10], esi call sub_401E88 lea ecx, [esi+11h] mov [esp+14h+var_4], 0 call sub_40142E lea ecx, [esi+26h] mov byte ptr [esp+14h+var_4], 1 call sub_40142E lea ecx, [esi+3Bh] mov byte ptr [esp+14h+var_4], 2 call sub_40142E lea ecx, [esi+50h] mov byte ptr [esp+14h+var_4], 3 call sub_40142E lea ecx, [esi+65h] mov byte ptr [esp+14h+var_4], 4 call sub_40142E lea ecx, [esi+7Ah] mov byte ptr [esp+14h+var_4], 5 call sub_40142E mov ecx, [esp+14h+var_C] mov dword ptr [esi], offset dword_43F0D0 mov eax, esi pop esi mov large fs:0, ecx add esp, 10h retn sub_41D770 endp ; --------------------------------------------------------------------------- db 5 dup(90h) db 30h dup(0CCh) ; --------------------------------------------------------------------------- loc_41D830: ; CODE XREF: ___:00401168j ; ___:004019F6j push esi mov esi, ecx call sub_4015CD test byte ptr [esp+8], 1 jz short loc_41D848 push esi call near ptr word_437AD2 add esp, 4 loc_41D848: ; CODE XREF: ___:0041D83Dj mov eax, esi pop esi retn 4 ; --------------------------------------------------------------------------- db 2 dup(90h) db 10h dup(0CCh) ; =============== S U B R O U T I N E ======================================= sub_41D860 proc near ; CODE XREF: sub_4015CDj var_10 = dword ptr -10h var_C = dword ptr -0Ch var_4 = dword ptr -4 push 0FFFFFFFFh push offset SEH_41D860 mov eax, large fs:0 push eax mov large fs:0, esp push ecx push esi mov esi, ecx mov [esp+14h+var_10], esi mov dword ptr [esi], offset dword_43F0D0 lea ecx, [esi+7Ah] mov [esp+14h+var_4], 5 call sub_401226 lea ecx, [esi+65h] mov byte ptr [esp+14h+var_4], 4 call sub_401226 lea ecx, [esi+50h] mov byte ptr [esp+14h+var_4], 3 call sub_401226 lea ecx, [esi+3Bh] mov byte ptr [esp+14h+var_4], 2 call sub_401226 lea ecx, [esi+26h] mov byte ptr [esp+14h+var_4], 1 call sub_401226 lea ecx, [esi+11h] mov byte ptr [esp+14h+var_4], 0 call sub_401226 mov ecx, esi mov [esp+14h+var_4], 0FFFFFFFFh call sub_40204F mov ecx, [esp+14h+var_C] pop esi mov large fs:0, ecx add esp, 10h retn sub_41D860 endp ; --------------------------------------------------------------------------- db 0Dh dup(90h) db 30h dup(0CCh) ; --------------------------------------------------------------------------- loc_41D930: ; CODE XREF: ___:00401C94j push 0FFFFFFFFh mov eax, large fs:0 push offset word_43C3F2 push eax mov eax, 1158h mov large fs:0, esp call near ptr dword_437B30 push ebx push ebp push esi mov esi, ecx push edi push offset byte_448F40 lea edi, [esi+11h] mov ecx, edi call sub_4012EE test eax, eax jz near ptr byte_41E035 lea ebx, [esi+65h] push offset byte_448F40 mov ecx, ebx call sub_4012EE test eax, eax jz near ptr byte_41E035 lea ecx, [esi+26h] push offset byte_448F40 call sub_4012EE test eax, eax jz near ptr byte_41E035 mov al, [esi+91h] test al, al jz short loc_41D9D1 push offset byte_448F40 lea ecx, [esi+3Bh] call sub_4012EE test eax, eax jz short loc_41D9C4 push offset byte_448F40 lea ecx, [esi+50h] call sub_4012EE test eax, eax jnz short loc_41D9D1 loc_41D9C4: ; CODE XREF: ___:0041D9B1j mov [esp+14h], esi lea eax, [esp+14h] jmp near ptr byte_41E03D ; --------------------------------------------------------------------------- loc_41D9D1: ; CODE XREF: ___:0041D9A0j ; ___:0041D9C2j push offset dword_444C7C lea ecx, [esp+20h] push 1 push ecx mov ecx, edi call sub_4016B8 push offset byte_448F40 mov ecx, eax mov dword ptr [esp+1174h], 0 call sub_4012EE lea ecx, [esp+1Ch] mov ebp, eax mov dword ptr [esp+1170h], 0FFFFFFFFh call sub_401226 test ebp, ebp jz short loc_41DA5E push offset dword_444C7C lea edx, [esp+20h] push 1 push edx mov ecx, edi call sub_4016B8 mov ecx, eax mov dword ptr [esp+1170h], 1 call sub_4017EE push eax nop call near ptr 77C1BF18h add esp, 4 lea ecx, [esp+1Ch] mov ebp, eax mov dword ptr [esp+1170h], 0FFFFFFFFh call sub_401226 test ebp, ebp jnz short loc_41DA6F loc_41DA5E: ; CODE XREF: ___:0041DA13j mov al, [esi+91h] neg al sbb eax, eax and al, 0C5h add eax, 50h mov ebp, eax loc_41DA6F: ; CODE XREF: ___:0041DA5Cj push offset dword_444C7C lea ecx, [esp+38h] push 0 push ecx mov ecx, edi call sub_4016B8 lea edx, [esp+34h] mov ecx, edi push edx mov dword ptr [esp+1174h], 2 call sub_401FDC lea eax, [esp+64h] push 104h push eax mov ecx, ebx call sub_4017EE push eax nop call near ptr 2820000h lea ecx, [esp+64h] push ecx mov ecx, ebx call sub_4015E1 mov al, [esi+91h] test al, al jz loc_41DC04 call sub_401E1F lea edx, [esp+14h] mov ecx, edi push edx call sub_4017EE push eax call sub_401A7D add esp, 8 test eax, eax jnz short loc_41DB1C lea ecx, [esi+7Ah] call sub_40168B mov cl, [esi+92h] push eax mov al, [esi+93h] push offset dword_444FB4 push eax push ecx mov ecx, offset byte_4D8085 call sub_401118 mov [esp+10h], esi lea edx, [esp+10h] jmp near ptr byte_41E014 ; --------------------------------------------------------------------------- loc_41DB1C: ; CODE XREF: ___:0041DAE7j mov eax, [esp+14h] lea ecx, [esi+50h] push eax call sub_4017EE push eax lea ecx, [esi+3Bh] call sub_4017EE push eax call sub_402266 add esp, 0Ch test eax, eax jnz short loc_41DB73 lea ecx, [esi+7Ah] call sub_40168B mov cl, [esi+93h] mov dl, [esi+92h] push eax push offset dword_444FA4 push ecx push edx mov ecx, offset byte_4D8085 call sub_401118 lea eax, [esp+10h] mov [esp+10h], esi push eax jmp near ptr byte_41E015 ; --------------------------------------------------------------------------- loc_41DB73: ; CODE XREF: ___:0041DB3Dj lea edi, [esi+7Ah] mov ecx, edi call sub_40168B mov cl, [esi+93h] mov dl, [esi+92h] push eax push offset dword_444F94 push ecx push edx mov ecx, offset byte_4D8085 call sub_401118 mov eax, [esp+14h] lea ecx, [esi+26h] push eax push 49h call sub_4017EE push eax mov ecx, ebx call sub_4017EE push eax call sub_4016B3 add esp, 10h test eax, eax jnz short loc_41DBF2 mov ecx, edi call sub_40168B mov cl, [esi+93h] mov dl, [esi+92h] push eax push offset dword_444F84 push ecx push edx mov ecx, offset byte_4D8085 call sub_401118 lea eax, [esp+10h] mov [esp+10h], esi push eax jmp near ptr byte_41E015 ; --------------------------------------------------------------------------- loc_41DBF2: ; CODE XREF: ___:0041DBBDj mov ecx, [esp+14h] push ecx call sub_401D66 add esp, 4 jmp loc_41DE7B ; --------------------------------------------------------------------------- loc_41DC04: ; CODE XREF: ___:0041DAC5j lea ecx, [esp+4Ch] call sub_40142E lea ecx, [esp+1Ch] mov byte ptr [esp+1170h], 3 call sub_40142E push ebp mov ecx, edi mov byte ptr [esp+1174h], 4 call sub_4017EE push eax call sub_401AA0 mov ebx, eax add esp, 8 cmp ebx, 0FFFFFFFFh mov [esp+14h], ebx jnz short loc_41DC87 lea ecx, [esi+7Ah] call sub_40168B mov dl, [esi+93h] push eax mov al, [esi+92h] push offset dword_444F70 push edx push eax mov ecx, offset byte_4D8085 call sub_401118 lea ecx, [esp+10h] mov [esp+10h], esi push ecx mov ecx, offset byte_4E8EAB call sub_40120D push ebx nop call near ptr 71AB9639h jmp loc_41DD45 ; --------------------------------------------------------------------------- loc_41DC87: ; CODE XREF: ___:0041DC40j push ebp mov ecx, edi call sub_4017EE push eax lea ecx, [esi+26h] call sub_4017EE push eax lea edx, [esp+58h] push offset dword_444F0C push edx call sub_40102D add esp, 14h lea ecx, [esp+4Ch] push 0 call sub_4013E3 push eax lea ecx, [esp+54h] call sub_4017EE push eax push ebx nop call near ptr 71AB428Ah lea edi, [esi+7Ah] mov ecx, edi call sub_40168B mov cl, [esi+92h] push eax mov al, [esi+93h] push offset dword_444EFC push eax push ecx mov ecx, offset byte_4D8085 call sub_401118 push offset dword_444EF8 lea ecx, [esi+65h] call sub_4017EE push eax nop call near ptr 77C3F010h mov ebx, eax add esp, 8 test ebx, ebx jnz short loc_41DD80 mov ecx, edi call sub_40168B mov dl, [esi+93h] push eax mov al, [esi+92h] push offset dword_444EE8 push edx push eax mov ecx, offset byte_4D8085 call sub_401118 lea ecx, [esp+10h] mov [esp+10h], esi push ecx mov ecx, offset byte_4E8EAB call sub_40120D loc_41DD45: ; CODE XREF: ___:0041DC82j lea ecx, [esp+1Ch] mov byte ptr [esp+1170h], 3 call sub_401226 lea ecx, [esp+4Ch] mov byte ptr [esp+1170h], 2 call sub_401226 lea ecx, [esp+34h] mov dword ptr [esp+1170h], 0FFFFFFFFh call sub_401226 jmp near ptr dword_41E048 ; --------------------------------------------------------------------------- loc_41DD80: ; CODE XREF: ___:0041DD0Bj ; ___:0041DDB4j ... mov eax, [esp+14h] push 0 lea edx, [esp+16Ch] push 1000h push edx push eax call near ptr 71AB615Ah nop mov ebp, eax test ebp, ebp jle short loc_41DDF8 cmp ebp, 1000h jge short loc_41DDB0 mov byte ptr [esp+ebp+168h], 0 loc_41DDB0: ; CODE XREF: ___:0041DDA6j xor edi, edi test ebp, ebp jle short loc_41DD80 loc_41DDB6: ; CODE XREF: ___:0041DDD5j push 4 lea ecx, [esp+edi+16Ch] push offset dword_444EE0 push ecx call near ptr 77C47A50h nop add esp, 0Ch test eax, eax jz short loc_41DDD9 inc edi cmp edi, ebp jl short loc_41DDB6 jmp short loc_41DD80 ; --------------------------------------------------------------------------- loc_41DDD9: ; CODE XREF: ___:0041DDD0j add edi, 4 cmp edi, ebp jge short loc_41DDF8 loc_41DDE0: ; CODE XREF: ___:0041DDF6j movsx edx, byte ptr [esp+edi+168h] push ebx push edx nop call near ptr 77C40E76h add esp, 8 inc edi cmp edi, ebp jl short loc_41DDE0 loc_41DDF8: ; CODE XREF: ___:0041DD9Ej ; ___:0041DDDEj ... mov edi, [esp+14h] push 0 lea eax, [esp+16Ch] push 1000h push eax push edi call near ptr 71AB615Ah nop mov ebp, eax test ebp, ebp jle short loc_41DE48 cmp ebp, 1000h jge short loc_41DE28 mov byte ptr [esp+ebp+168h], 0 loc_41DE28: ; CODE XREF: ___:0041DE1Ej xor edi, edi test ebp, ebp jle short loc_41DDF8 loc_41DE2E: ; CODE XREF: ___:0041DE44j movsx ecx, byte ptr [esp+edi+168h] push ebx push ecx nop call near ptr 77C40E76h add esp, 8 inc edi cmp edi, ebp jl short loc_41DE2E jmp short loc_41DDF8 ; --------------------------------------------------------------------------- loc_41DE48: ; CODE XREF: ___:0041DE16j push ebx nop call near ptr 77C40AB1h add esp, 4 push edi nop call near ptr 71AB9639h lea ecx, [esp+1Ch] mov byte ptr [esp+1170h], 3 call sub_401226 lea ecx, [esp+4Ch] mov byte ptr [esp+1170h], 2 call sub_401226 loc_41DE7B: ; CODE XREF: ___:0041DBFFj mov al, [esi+90h] test al, al jnz loc_41DF17 lea ebp, [esi+65h] mov ecx, ebp call sub_4017EE lea edi, [esi+7Ah] push eax push offset dword_444ECC mov ecx, edi call sub_40168B mov dl, [esi+93h] push eax mov al, [esi+92h] push edx push eax push offset byte_4D8085 call sub_401857 mov al, [esi+8Fh] add esp, 18h test al, al jz near ptr dword_41E00C push offset byte_448F40 mov ecx, ebp call sub_4017EE push eax call sub_401299 add esp, 8 mov ecx, ebp call sub_4017EE push eax push offset dword_444EC0 mov ecx, edi call sub_40168B mov cl, [esi+93h] mov dl, [esi+92h] push eax push ecx push edx push offset byte_4D8085 call sub_401857 add esp, 18h jmp near ptr dword_41E00C ; --------------------------------------------------------------------------- loc_41DF17: ; CODE XREF: ___:0041DE83j lea ebx, [esi+65h] mov ecx, ebx call sub_4017EE lea edi, [esi+7Ah] push eax push offset dword_444EAC mov ecx, edi call sub_40168B mov cl, [esi+92h] push eax mov al, [esi+93h] push eax push ecx push offset byte_4D8085 call sub_401857 push 0 push 5 push 14h push 1 push 4 push 10h push 15h lea edx, [esp+50h] push 51h push edx call sub_4019C4 add esp, 3Ch mov ecx, eax mov byte ptr [esp+1170h], 5 call sub_4014DD push eax mov ecx, ebx call sub_4014DD push eax call sub_402167 add esp, 8 lea ecx, [esp+1Ch] mov bl, al mov byte ptr [esp+1170h], 2 call sub_401226 test bl, bl jz short loc_41DFE7 mov al, byte_4498A6 test al, al jz short loc_41DFB6 push offset dword_449844 mov ecx, offset dword_44AD80 call sub_401451 loc_41DFB6: ; CODE XREF: ___:0041DFA5j mov al, byte_4498EF test al, al jz short loc_41DFCE push offset byte_44991F mov ecx, offset dword_44AD80 call sub_401951 loc_41DFCE: ; CODE XREF: ___:0041DFBDj mov ecx, offset dword_44AD80 call sub_401E79 push 1 mov byte_4E8E54, 0 nop call near ptr 77C39E7Eh loc_41DFE7: ; CODE XREF: ___:0041DF9Cj mov ecx, edi call sub_4014DD mov cl, [esi+92h] push eax mov al, [esi+93h] push offset dword_4446FC ; --------------------------------------------------------------------------- dd 3 dup(0) dword_41E00C dd 2 dup(0) ; ___:0041DF12j byte_41E014 db 0 ; CODE XREF: ___:0041DB17j byte_41E015 db 3 dup(0) ; CODE XREF: ___:0041DB6Ej ; ___:0041DBEDj dd 7 dup(0) db 0 byte_41E035 db 3 dup(0) ; CODE XREF: ___:0041D966j ; ___:0041D97Dj ... dd 0 db 0 byte_41E03D db 3 dup(0) ; CODE XREF: ___:0041D9CCj dd 2 dup(0) dword_41E048 dd 7Eh dup(0) dword_41E240 dd 60h dup(0) dword_41E3C0 dd 50h dup(0) dword_41E500 dd 98h dup(0) dword_41E760 dd 1D4h dup(0) dword_41EEB0 dd 30h dup(0) dword_41EF70 dd 30h dup(0) dword_41F030 dd 24Ch dup(0) dword_41F960 dd 8Ch dup(0) dword_41FB90 dd 28h dup(0) dword_41FC30 dd 28h dup(0) dword_41FCD0 dd 0Ch dup(0) dword_41FD00 dd 20h dup(0) dword_41FD80 dd 34h dup(0) dword_41FE50 dd 10h dup(0) dword_41FE90 dd 30h dup(0) dword_41FF50 dd 28h dup(0) dword_41FFF0 dd 14h dup(0) dword_420040 dd 14h dup(0) dword_420090 dd 58h dup(0) dword_4201F0 dd 84h dup(0) dword_420400 dd 34h dup(0) dword_4204D0 dd 58h dup(0) dword_420630 dd 9Ch dup(0) dword_4208A0 dd 8 dup(0) dword_4208C0 dd 8 dup(0) dword_4208E0 dd 13Ch dup(0) dword_420DD0 dd 0Ch dup(0) dword_420E00 dd 28h dup(0) dword_420EA0 dd 8 dup(0) dword_420EC0 dd 14h dup(0) dword_420F10 dd 1F0h dup(0) dword_4216D0 dd 14h dup(0) dword_421720 dd 8Ch dup(0) dword_421950 dd 8 dup(0) dword_421970 dd 10h dup(0) dword_4219B0 dd 10h dup(0) dword_4219F0 dd 1Ch dup(0) dword_421A60 dd 10h dup(0) dword_421AA0 dd 0Ch dup(0) dword_421AD0 dd 10h dup(0) dword_421B10 dd 8 dup(0) dword_421B30 dd 8 dup(0) dword_421B50 dd 0Ch dup(0) dword_421B80 dd 0Ch dup(0) dword_421BB0 dd 10h dup(0) dword_421BF0 dd 1Ch dup(0) dword_421C60 dd 10h dup(0) dword_421CA0 dd 0Ch dup(0) dword_421CD0 dd 10h dup(0) dword_421D10 dd 8 dup(0) dword_421D30 dd 8 dup(0) dword_421D50 dd 0Ch dup(0) dword_421D80 dd 0Ch dup(0) dword_421DB0 dd 28h dup(0) dword_421E50 dd 28h dup(0) dword_421EF0 dd 24h dup(0) dword_421F80 dd 14h dup(0) dword_421FD0 dd 8 dup(0) dword_421FF0 dd 8 dup(0) dword_422010 dd 8 dup(0) dword_422030 dd 8 dup(0) dword_422050 dd 0Ch dup(0) dword_422080 dd 0Ch dup(0) dword_4220B0 dd 28h dup(0) dword_422150 dd 24h dup(0) dword_4221E0 dd 14h dup(0) dword_422230 dd 8 dup(0) dword_422250 dd 8 dup(0) dword_422270 dd 8 dup(0) dword_422290 dd 8 dup(0) dword_4222B0 dd 0Ch dup(0) dword_4222E0 dd 0Ch dup(0) dword_422310 dd 0Ch dup(0) dword_422340 dd 30h dup(0) dword_422400 dd 8 dup(0) dword_422420 dd 0Ch dup(0) dword_422450 dd 8 dup(0) dword_422470 dd 0Ch dup(0) dword_4224A0 dd 8 dup(0) dword_4224C0 dd 8 dup(0) dword_4224E0 dd 0Ch dup(0) dword_422510 dd 30h dup(0) dword_4225D0 dd 8 dup(0) dword_4225F0 dd 0Ch dup(0) dword_422620 dd 8 dup(0) dword_422640 dd 0Ch dup(0) dword_422670 dd 8 dup(0) dword_422690 dd 8 dup(0) dword_4226B0 dd 0Ch dup(0) dword_4226E0 dd 8 dup(0) dword_422700 dd 8 dup(0) dword_422720 dd 0Ch dup(0) dword_422750 dd 1Ch dup(0) dword_4227C0 dd 8 dup(0) dword_4227E0 dd 1Ch dup(0) dword_422850 dd 8 dup(0) dword_422870 dd 8 dup(0) dword_422890 dd 0Ch dup(0) dword_4228C0 dd 0Ch dup(0) dword_4228F0 dd 94h dup(0) dword_422B40 dd 2ECh dup(0) dword_4236F0 dd 1Ch dup(0) dword_423760 dd 28h dup(0) dword_423800 dd 8 dup(0) dword_423820 dd 10h dup(0) dword_423860 dd 3Ch dup(0) dword_423950 dd 3Ch dup(0) dword_423A40 dd 0B4h dup(0) dword_423D10 dd 0DCh dup(0) dword_424080 dd 0E4h dup(0) dword_424410 dd 8 dup(0) dword_424430 dd 14h dup(0) dword_424480 dd 20h dup(0) dword_424500 dd 28h dup(0) dword_4245A0 dd 10h dup(0) dword_4245E0 dd 3Ch dup(0) dword_4246D0 dd 38h dup(0) dword_4247B0 dd 14h dup(0) dword_424800 dd 10h dup(0) dword_424840 dd 0Ch dup(0) dword_424870 dd 1Ch dup(0) dword_4248E0 dd 10h dup(0) dword_424920 dd 140h dup(0) dword_424E20 dd 38h dup(0) dword_424F00 dd 1Ch dup(0) dword_424F70 dd 64h dup(0) dword_425100 dd 9Ch dup(0) dword_425370 dd 14h dup(0) dword_4253C0 dd 10Ch dup(0) dword_4257F0 dd 174h dup(0) dword_425DC0 dd 98h dup(0) dword_426020 dd 14h dup(0) dword_426070 dd 84h dup(0) dword_426280 dd 0A8h dup(0) dword_426520 dd 10h dup(0) dword_426560 dd 5Ch dup(0) dword_4266D0 dd 0Ch dup(0) dword_426700 dd 28h dup(0) dword_4267A0 dd 0Ch dup(0) dword_4267D0 dd 58h dup(0) dword_426930 dd 1Ch dup(0) dword_4269A0 dd 3Ch dup(0) dword_426A90 dd 20h dup(0) dword_426B10 dd 14h dup(0) dword_426B60 dd 0Ch dup(0) dword_426B90 dd 10h dup(0) dword_426BD0 dd 28h dup(0) dword_426C70 dd 94h dup(0) dword_426EC0 dd 200h dup(0) dword_4276C0 dd 20h dup(0) dword_427740 dd 1Ch dup(0) dword_4277B0 dd 28h dup(0) dword_427850 dd 30h dup(0) dword_427910 dd 0Ch dup(0) ; ___:0040219Ej dword_427940 dd 0Ch dup(0) ; ___:0040209Fj dword_427970 dd 8 dup(0) dword_427990 dd 60h dup(0) dword_427B10 dd 50h dup(0) dword_427C50 dd 10h dup(0) dword_427C90 dd 1Ch dup(0) dword_427D00 dd 0Ch dup(0) ; ___:00401AC3j dword_427D30 dd 8 dup(0) dword_427D50 dd 0A0h dup(0) dword_427FD0 dd 74h dup(0) dword_4281A0 dd 1Ch dup(0) dword_428210 dd 0Ch dup(0) ; ___:0040182Aj dword_428240 dd 8 dup(0) dword_428260 dd 5Ch dup(0) dword_4283D0 dd 110h dup(0) dword_428810 dd 1Ch dup(0) dword_428880 dd 1Ch dup(0) dword_4288F0 dd 0Ch dup(0) ; ___:0040224Dj dword_428920 dd 8 dup(0) dword_428940 dd 5Ch dup(0) dword_428AB0 dd 8Ch dup(0) dword_428CE0 dd 38h dup(0) dword_428DC0 dd 0BCh dup(0) dword_4290B0 dd 1Ch dup(0) dword_429120 dd 30h dup(0) dword_4291E0 dd 34h dup(0) dword_4292B0 dd 0Ch dup(0) ; ___:00402086j dword_4292E0 dd 0Ch dup(0) ; ___:00401C3Fj dword_429310 dd 8 dup(0) dword_429330 dd 48h dup(0) dword_429450 dd 30h dup(0) dword_429510 dd 0Ch dup(0) ; ___:004021D5j dword_429540 dd 1Ch dup(0) dword_4295B0 dd 5C0h dup(0) dword_42ACB0 dd 1Ch dup(0) dword_42AD20 dd 0Ch dup(0) ; ___:0040128Fj dword_42AD50 dd 10h dup(0) dword_42AD90 dd 64h dup(0) dword_42AF20 dd 34h dup(0) dword_42AFF0 dd 1Ch dup(0) dword_42B060 dd 0Ch dup(0) ; ___:00401B18j dword_42B090 dd 8 dup(0) dword_42B0B0 dd 0B4h dup(0) dword_42B380 dd 1Ch dup(0) dword_42B3F0 dd 0Ch dup(0) ; ___:004017B2j dword_42B420 dd 8 dup(0) dword_42B440 dd 0ACh dup(0) dword_42B6F0 dd 10h dup(0) dword_42B730 dd 6Ch dup(0) dword_42B8E0 dd 88h dup(0) dword_42BB00 dd 168h dup(0) dword_42C0A0 dd 44h dup(0) dword_42C1B0 dd 44h dup(0) dword_42C2C0 dd 24h dup(0) dword_42C350 dd 5Ch dup(0) dword_42C4C0 dd 1Ch dup(0) dword_42C530 dd 24h dup(0) dword_42C5C0 dd 4 dup(0) dword_42C5D0 dd 1Ch dup(0) dword_42C640 dd 0Ch dup(0) ; ___:00401F5Fj dword_42C670 dd 8 dup(0) dword_42C690 dd 38h dup(0) dword_42C770 dd 1Ch dup(0) dword_42C7E0 dd 0Ch dup(0) ; ___:00401B36j dword_42C810 dd 8 dup(0) dword_42C830 dd 0A0h dup(0) dword_42CAB0 dd 1Ch dup(0) dword_42CB20 dd 0Ch dup(0) ; ___:00401FC8j dword_42CB50 dd 8 dup(0) dword_42CB70 dd 0BCh dup(0) dword_42CE60 dd 0BCh dup(0) dword_42D150 dd 22Ch dup(0) dword_42DA00 dd 20h dup(0) dword_42DA80 dd 14h dup(0) dword_42DAD0 dd 0Ch dup(0) dword_42DB00 dd 1ECh dup(0) dword_42E2B0 dd 44h dup(0) dword_42E3C0 dd 7Ch dup(0) dword_42E5B0 dd 26Ch dup(0) dword_42EF60 dd 38h dup(0) dword_42F040 dd 0A0h dup(0) dword_42F2C0 dd 38h dup(0) dword_42F3A0 dd 20h dup(0) dword_42F420 dd 1Ch dup(0) dword_42F490 dd 20h dup(0) dword_42F510 dd 20h dup(0) dword_42F590 dd 0Ch dup(0) dword_42F5C0 dd 20h dup(0) dword_42F640 dd 20h dup(0) dword_42F6C0 dd 0A0h dup(0) dword_42F940 dd 0Ch dup(0) dword_42F970 dd 4Ch dup(0) dword_42FAA0 dd 34h dup(0) dword_42FB70 dd 0Ch dup(0) dword_42FBA0 dd 0Ch dup(0) dword_42FBD0 dd 38h dup(0) dword_42FCB0 dd 20h dup(0) dword_42FD30 dd 14h dup(0) dword_42FD80 dd 20h dup(0) dword_42FE00 dd 14h dup(0) dword_42FE50 dd 14h dup(0) dword_42FEA0 dd 14h dup(0) dword_42FEF0 dd 8 dup(0) dword_42FF10 dd 8 dup(0) dword_42FF30 dd 10h dup(0) dword_42FF70 dd 10h dup(0) dword_42FFB0 dd 0Ch dup(0) dword_42FFE0 dd 10h dup(0) dword_430020 dd 38h dup(0) dword_430100 dd 28h dup(0) dword_4301A0 dd 3Ch dup(0) dword_430290 dd 14h dup(0) dword_4302E0 dd 10h dup(0) dword_430320 dd 10h dup(0) dword_430360 dd 10h dup(0) dword_4303A0 dd 30h dup(0) dword_430460 dd 30h dup(0) dword_430520 dd 20h dup(0) dword_4305A0 dd 74h dup(0) dword_430770 dd 1Ch dup(0) dword_4307E0 dd 14h dup(0) dword_430830 dd 1Ch dup(0) dword_4308A0 dd 10h dup(0) dword_4308E0 dd 10h dup(0) dword_430920 dd 10h dup(0) dword_430960 dd 10h dup(0) dword_4309A0 dd 64h dup(0) dword_430B30 dd 8Ch dup(0) dword_430D60 dd 0C0h dup(0) dword_431060 dd 10h dup(0) dword_4310A0 dd 60h dup(0) dword_431220 dd 8 dup(0) dword_431240 dd 5Ch dup(0) dword_4313B0 dd 1Ch dup(0) dword_431420 dd 14h dup(0) dword_431470 dd 1Ch dup(0) dword_4314E0 dd 20h dup(0) dword_431560 dd 34h dup(0) dword_431630 dd 10h dup(0) dword_431670 dd 0Ch dup(0) dword_4316A0 dd 8 dup(0) dword_4316C0 dd 24h dup(0) dword_431750 dd 1Ch dup(0) dword_4317C0 dd 14h dup(0) dword_431810 dd 50h dup(0) dword_431950 dd 0Ch dup(0) dword_431980 dd 1Ch dup(0) dword_4319F0 dd 44h dup(0) dword_431B00 dd 4Ch dup(0) dword_431C30 dd 14h dup(0) dword_431C80 dd 10h dup(0) dword_431CC0 dd 10h dup(0) dword_431D00 dd 10h dup(0) dword_431D40 dd 10h dup(0) dword_431D80 dd 10h dup(0) dword_431DC0 dd 4Ch dup(0) dword_431EF0 dd 0C0h dup(0) dword_4321F0 dd 38h dup(0) dword_4322D0 dd 30h dup(0) dword_432390 dd 0Ch dup(0) dword_4323C0 dd 0Ch dup(0) dword_4323F0 dd 8 dup(0) dword_432410 dd 4Ch dup(0) dword_432540 dd 0Ch dup(0) dword_432570 dd 20h dup(0) dword_4325F0 dd 20h dup(0) dword_432670 dd 8 dup(0) dword_432690 dd 1Ch dup(0) dword_432700 dd 20h dup(0) dword_432780 dd 0Ch dup(0) dword_4327B0 dd 28h dup(0) dword_432850 dd 3Ch dup(0) dword_432940 dd 38h dup(0) dword_432A20 dd 30h dup(0) dword_432AE0 dd 34h dup(0) dword_432BB0 dd 10h dup(0) dword_432BF0 dd 24h dup(0) dword_432C80 dd 24h dup(0) dword_432D10 dd 10h dup(0) dword_432D50 dd 8 dup(0) dword_432D70 dd 10h dup(0) dword_432DB0 dd 1Ch dup(0) dword_432E20 dd 1Ch dup(0) dword_432E90 dd 10h dup(0) dword_432ED0 dd 4Ch dup(0) dword_433000 dd 6Ch dup(0) dword_4331B0 dd 14h dup(0) dword_433200 dd 10h dup(0) dword_433240 dd 10h dup(0) dword_433280 dd 10h dup(0) dword_4332C0 dd 44h dup(0) dword_4333D0 dd 48h dup(0) dword_4334F0 dd 58h dup(0) dword_433650 dd 58h dup(0) dword_4337B0 dd 30h dup(0) dword_433870 dd 44h dup(0) dword_433980 dd 4Ch dup(0) dword_433AB0 dd 10h dup(0) dword_433AF0 dd 10h dup(0) dword_433B30 dd 1Ch dup(0) dword_433BA0 dd 10h dup(0) dword_433BE0 dd 14h dup(0) dword_433C30 dd 10h dup(0) dword_433C70 dd 1Ch dup(0) dword_433CE0 dd 38h dup(0) dword_433DC0 dd 14h dup(0) dword_433E10 dd 10h dup(0) dword_433E50 dd 10h dup(0) dword_433E90 dd 24h dup(0) dword_433F20 dd 1Ch dup(0) dword_433F90 dd 8 dup(0) dword_433FB0 dd 30h dup(0) dword_434070 dd 1Ch dup(0) dword_4340E0 dd 1Ch dup(0) dword_434150 dd 1Ch dup(0) dword_4341C0 dd 44h dup(0) dword_4342D0 dd 14h dup(0) dword_434320 dd 14h dup(0) dword_434370 dd 20h dup(0) dword_4343F0 dd 8 dup(0) dword_434410 dd 8 dup(0) dword_434430 dd 8 dup(0) dword_434450 dd 1Ch dup(0) dword_4344C0 dd 50h dup(0) dword_434600 dd 38h dup(0) dword_4346E0 dd 24h dup(0) dword_434770 dd 1Ch dup(0) dword_4347E0 dd 20h dup(0) dword_434860 dd 10h dup(0) dword_4348A0 dd 30h dup(0) dword_434960 dd 28h dup(0) dword_434A00 dd 34h dup(0) dword_434AD0 dd 34h dup(0) dword_434BA0 dd 14h dup(0) dword_434BF0 dd 10h dup(0) dword_434C30 dd 38h dup(0) dword_434D10 dd 364h dup(0) dword_435AA0 dd 3Ch dup(0) dword_435B90 dd 250h dup(0) dword_4364D0 dd 28h dup(0) dword_436570 dd 0D8h dup(0) dword_4368D0 dd 44h dup(0) dword_4369E0 dd 1C4h dup(0) dword_4370F0 dd 10h dup(0) dword_437130 dd 98h dup(0) dword_437390 dd 98h dup(0) dword_4375F0 dd 0B0h dup(0) dword_4378B0 dd 88h dup(0) db 2 dup(0) word_437AD2 dw 0 ; CODE XREF: ___:00406C30p ; sub_406C50+11p ... dd 5 dup(0) db 2 dup(0) word_437AEA dw 0 ; CODE XREF: sub_406C80+47p ; sub_406C80+9Ap ... dd 0Dh dup(0) db 2 dup(0) word_437B22 dw 0 ; CODE XREF: ___:004096ADp ; ___:0040AA7Dp align 10h dword_437B30 dd 2Ah dup(0) ; ___:0041004Ap ... db 2 dup(0) word_437BDA dw 0 ; CODE XREF: sub_4199C0+28p align 10h dword_437BE0 dd 20h dup(0) dword_437C60 dd 0BCh dup(0) ; sub_41B920+3Ap dword_437F50 dd 0C1h dup(0) db 2 dup(0) word_438256 dw 0 ; CODE XREF: sub_41A7D0+92p ; sub_41A9C0+CAp ... dd 11h dup(0) db 2 dup(0) word_43829E dw 0 ; CODE XREF: ___:0041C2B7p ; ___:0041C2CCp dd 0 dword_4382A4 dd 7 dup(0) ; ___:0041C42Fp db 2 dup(0) word_4382C2 dw 0 ; CODE XREF: ___:0041B2B4p dd 2DCh dup(0) db 2 dup(0) SEH_403530 dw 0 ; DATA XREF: sub_403530+2o dd 0DEh dup(0) SEH_403720 dd 3Ah dup(0) ; DATA XREF: sub_403720+2o SEH_403C50 dd 0Ah dup(0) ; DATA XREF: sub_403C50+2o db 3 dup(0) SEH_403CE0 db 0 ; DATA XREF: sub_403CE0+2o dd 0Bh dup(0) db 3 dup(0) SEH_403D60 db 0 ; DATA XREF: sub_403D60+2o dd 9 dup(0) SEH_403DE0 dd 1Ch dup(0) ; DATA XREF: sub_403DE0+2o db 0 SEH_403E50 db 3 dup(0) ; DATA XREF: sub_403E50+2o dd 1Fh dup(0) db 0 SEH_403F30 db 3 dup(0) ; DATA XREF: sub_403F30+2o dd 2Bh dup(0) SEH_404010 dd 24h dup(0) ; DATA XREF: sub_404010+2o db 3 dup(0) SEH_404690 db 0 ; DATA XREF: sub_404690+2o dd 8Fh dup(0) db 3 dup(0) byte_43978B db 0 ; DATA XREF: ___:00404CC8o dd 2Ch dup(0) db 3 dup(0) SEH_406730 db 0 ; DATA XREF: sub_406730+2o dd 11h dup(0) db 0 SEH_4068E0 db 3 dup(0) ; DATA XREF: sub_4068E0+2o dd 0Eh dup(0) db 0 SEH_406C80 db 3 dup(0) ; DATA XREF: sub_406C80+8o dd 9 dup(0) db 3 dup(0) SEH_407080 db 0 ; DATA XREF: sub_407080+2o dd 7 dup(0) SEH_4076B0 dd 0Ah dup(0) ; DATA XREF: sub_4076B0+8o SEH_407740 dd 0C9h dup(0) ; DATA XREF: sub_407740+8o db 3 dup(0) SEH_4077E0 db 0 ; DATA XREF: sub_4077E0+2o dd 38h dup(0) db 0 byte_439D39 db 3 dup(0) ; DATA XREF: ___:00409662o dd 7 dup(0) SEH_40A370 dd 0Fh dup(0) ; DATA XREF: sub_40A370+2o db 3 dup(0) SEH_40A510 db 0 ; DATA XREF: sub_40A510+2o dd 8 dup(0) db 0 byte_439DB9 db 3 dup(0) ; DATA XREF: ___:0040AA32o dd 5 dup(0) SEH_40AEF0 dd 4 dup(0) ; DATA XREF: sub_40AEF0+5o dword_439DE0 dd 0Fh dup(0) db 3 dup(0) SEH_40B190 db 0 ; DATA XREF: sub_40B190+2o dd 13h dup(0) db 3 dup(0) SEH_40B250 db 0 ; DATA XREF: sub_40B250+2o dd 0Eh dup(0) SEH_40B2F0 dd 0Ch dup(0) ; DATA XREF: sub_40B2F0+2o SEH_40B510 dd 8 dup(0) ; DATA XREF: sub_40B510+2o dword_439EF8 dd 0Eh dup(0) dword_439F30 dd 0Ah dup(0) SEH_40C440 dd 11h dup(0) ; DATA XREF: sub_40C440+2o dword_439F9C dd 0Bh dup(0) SEH_40CBF0 dd 13h dup(0) ; DATA XREF: sub_40CBF0+2o db 3 dup(0) byte_43A017 db 0 ; DATA XREF: ___:0040CC98o dd 0Fh dup(0) db 2 dup(0) SEH_40CF40 dw 0 ; DATA XREF: sub_40CF40+2o dd 0Bh dup(0) db 2 dup(0) word_43A086 dw 0 ; DATA XREF: ___:0040CFC2o dd 0Eh dup(0) SEH_40D210 dd 1Eh dup(0) ; DATA XREF: sub_40D210+2o SEH_40D660 dd 2Dh dup(0) ; DATA XREF: sub_40D660+2o db 3 dup(0) SEH_40DC20 db 0 ; DATA XREF: sub_40DC20+2o dd 18h dup(0) SEH_40E2F0 dd 14h dup(0) ; DATA XREF: sub_40E2F0+2o SEH_40E870 dd 0Eh dup(0) ; DATA XREF: sub_40E870+2o SEH_40ED00 dd 8 dup(0) ; DATA XREF: sub_40ED00+2o SEH_40EE40 dd 14h dup(0) ; DATA XREF: sub_40EE40+2o dword_43A348 dd 69h dup(0) db 0 SEH_40F6D0 db 3 dup(0) ; DATA XREF: sub_40F6D0+2o dd 53h dup(0) db 3 dup(0) SEH_40FE70 db 0 ; DATA XREF: sub_40FE70+2o dd 0A4h dup(0) db 3 dup(0) byte_43A8D3 db 0 ; DATA XREF: ___:00410038o dd 29h dup(0) SEH_411930 dd 8 dup(0) ; DATA XREF: sub_411930+2o SEH_4119E0 dd 15h dup(0) ; DATA XREF: sub_4119E0+2o db 3 dup(0) SEH_411A60 db 0 ; DATA XREF: sub_411A60+2o dd 17h dup(0) db 3 dup(0) SEH_411B20 db 0 ; DATA XREF: sub_411B20+2o dd 1Ch dup(0) SEH_411C10 dd 26h dup(0) ; DATA XREF: sub_411C10+8o db 0 byte_43AB59 db 3 dup(0) ; DATA XREF: ___:004120B8o dd 14h dup(0) db 3 dup(0) SEH_412780 db 0 ; DATA XREF: sub_412780+2o dd 0Ch dup(0) SEH_412A40 dd 6 dup(0) ; DATA XREF: sub_412A40+8o SEH_412CE0 dd 15h dup(0) ; DATA XREF: sub_412CE0+2o db 2 dup(0) word_43AC4E dw 0 ; DATA XREF: ___:00412D88o dd 13h dup(0) SEH_4131F0 dd 14h dup(0) ; DATA XREF: sub_4131F0+2o SEH_4132F0 dd 0Dh dup(0) ; DATA XREF: sub_4132F0+2o SEH_4133B0 dd 6 dup(0) ; DATA XREF: sub_4133B0+2o SEH_4134A0 dd 8 dup(0) ; DATA XREF: sub_4134A0+2o SEH_4135E0 dd 0Ah dup(0) ; DATA XREF: sub_4135E0+2o SEH_413740 dd 0Bh dup(0) ; DATA XREF: sub_413740+2o db 2 dup(0) SEH_4138B0 dw 0 ; DATA XREF: sub_4138B0+2o dd 0Eh dup(0) SEH_413A80 dd 8 dup(0) ; DATA XREF: sub_413A80+2o dword_43AE08 dd 0Eh dup(0) db 3 dup(0) SEH_413C40 db 0 ; DATA XREF: sub_413C40+2o dd 13h dup(0) db 3 dup(0) SEH_413E70 db 0 ; DATA XREF: sub_413E70+2o dd 0Fh dup(0) db 0 SEH_414160 db 3 dup(0) ; DATA XREF: sub_414160+2o dd 0Fh dup(0) dword_43AF10 dd 12h dup(0) db 3 dup(0) SEH_414300 db 0 ; DATA XREF: sub_414300+2o dd 13h dup(0) db 0 SEH_414430 db 3 dup(0) ; DATA XREF: sub_414430+2o dd 0Bh dup(0) dword_43AFD8 dd 8 dup(0) SEH_4145A0 dd 0Ah dup(0) ; DATA XREF: sub_4145A0+2o dword_43B020 dd 8 dup(0) SEH_4148A0 dd 0Ch dup(0) ; DATA XREF: sub_4148A0+2o db 0 SEH_414AA0 db 3 dup(0) ; DATA XREF: sub_414AA0+2o dd 9 dup(0) dword_43B098 dd 8 dup(0) dword_43B0B8 dd 10h dup(0) db 0 SEH_414D70 db 3 dup(0) ; DATA XREF: sub_414D70+2o dd 13h dup(0) dword_43B148 dd 66h dup(0) db 0 byte_43B2E1 db 3 dup(0) ; DATA XREF: ___:00416A92o dd 77h dup(0) db 0 byte_43B4C1 db 3 dup(0) ; DATA XREF: ___:00416E32o dd 1Dh dup(0) db 3 dup(0) SEH_4170B0 db 0 ; DATA XREF: sub_4170B0+2o dd 0D9h dup(0) SEH_417120 dd 43h dup(0) ; DATA XREF: sub_417120+2o SEH_417640 dd 1Bh dup(0) ; DATA XREF: sub_417640+2o db 3 dup(0) SEH_4176E0 db 0 ; DATA XREF: sub_4176E0+2o dd 17h dup(0) SEH_4177B0 dd 19h dup(0) ; DATA XREF: sub_4177B0+2o db 0 SEH_417870 db 3 dup(0) ; DATA XREF: sub_417870+2o dd 17h dup(0) db 0 SEH_417930 db 3 dup(0) ; DATA XREF: sub_417930+2o dd 0Ah dup(0) db 3 dup(0) SEH_4179F0 db 0 ; DATA XREF: sub_4179F0+2o dd 7 dup(0) db 3 dup(0) SEH_417A60 db 0 ; DATA XREF: sub_417A60+2o dd 7 dup(0) db 3 dup(0) SEH_417AD0 db 0 ; DATA XREF: sub_417AD0+2o dd 0Ah dup(0) db 2 dup(0) SEH_417B60 dw 0 ; DATA XREF: sub_417B60+2o dd 11h dup(0) db 3 dup(0) SEH_417C20 db 0 ; DATA XREF: sub_417C20+2o dd 13h dup(0) SEH_417CC0 dd 1Bh dup(0) ; DATA XREF: sub_417CC0+2o db 3 dup(0) SEH_417D60 db 0 ; DATA XREF: sub_417D60+2o dd 17h dup(0) SEH_417E30 dd 19h dup(0) ; DATA XREF: sub_417E30+2o db 0 SEH_417F50 db 3 dup(0) ; DATA XREF: sub_417F50+2o dd 17h dup(0) db 0 SEH_418010 db 3 dup(0) ; DATA XREF: sub_418010+2o dd 0Ah dup(0) db 3 dup(0) SEH_4180D0 db 0 ; DATA XREF: sub_4180D0+2o dd 7 dup(0) db 3 dup(0) SEH_418180 db 0 ; DATA XREF: sub_418180+2o dd 7 dup(0) db 3 dup(0) SEH_418200 db 0 ; DATA XREF: sub_418200+2o dd 0Ah dup(0) db 2 dup(0) SEH_4182B0 dw 0 ; DATA XREF: sub_4182B0+2o dd 11h dup(0) db 3 dup(0) SEH_418390 db 0 ; DATA XREF: sub_418390+2o dd 0Ah dup(0) db 3 dup(0) SEH_418590 db 0 ; DATA XREF: sub_418590+8o dd 0Ah dup(0) db 2 dup(0) SEH_4191B0 dw 0 ; DATA XREF: sub_4191B0+2o dd 8 dup(0) db 3 dup(0) SEH_419270 db 0 ; DATA XREF: sub_419270+2o dd 7 dup(0) SEH_419320 dd 0Bh dup(0) ; DATA XREF: sub_419320+2o db 2 dup(0) word_43BFA6 dw 0 ; DATA XREF: ___:004193C2o dd 8 dup(0) db 3 dup(0) byte_43BFCB db 0 ; DATA XREF: ___:0041A288o dd 0Eh dup(0) db 3 dup(0) byte_43C007 db 0 ; DATA XREF: ___:0041B1F2o dd 8 dup(0) SEH_41B500 dd 11h dup(0) ; DATA XREF: sub_41B500+2o db 3 dup(0) SEH_41BA50 db 0 ; DATA XREF: sub_41BA50+2o dd 14h dup(0) SEH_41C490 dd 53h dup(0) ; DATA XREF: sub_41C490+2o db 0 byte_43C20D db 3 dup(0) ; DATA XREF: ___:0041C712o dd 22h dup(0) db 0 SEH_41D640 db 3 dup(0) ; DATA XREF: sub_41D640+2o dd 0Fh dup(0) db 0 SEH_41D6D0 db 3 dup(0) ; DATA XREF: sub_41D6D0+2o dd 14h dup(0) db 3 dup(0) SEH_41D770 db 0 ; DATA XREF: sub_41D770+2o dd 17h dup(0) db 3 dup(0) SEH_41D860 db 0 ; DATA XREF: sub_41D860+2o dd 18h dup(0) db 2 dup(0) word_43C3F2 dw 0 ; DATA XREF: ___:0041D938o dd 0B03h dup(0) dword_43F000 dd 0 dword_43F004 dd 0 dword_43F008 dd 0 dword_43F00C dd 0 dword_43F010 dd 0 ; sub_409C20+Bo ... dword_43F014 dd 3 dup(0) ; sub_40AEF0+1Co dword_43F020 dd 0 ; sub_40B250+1Eo flt_43F024 dd 0.0 ; DATA XREF: ___:0040B8A6r dword_43F028 dd 3 dup(0) ; sub_40FE70+1Do dword_43F034 dd 0 ; sub_40FE70+23o dword_43F038 dd 3 dup(0) ; sub_4119E0+1Do dword_43F044 dd 3 dup(0) ; sub_4132F0+1Fo dword_43F050 dd 3 dup(0) ; sub_417EF0+8o dword_43F05C dd 3 dup(0) ; sub_417F20+8o dword_43F068 dd 3 dup(0) dword_43F074 dd 0 ; sub_4191B0+36o dword_43F078 dd 0 dword_43F07C dd 0 dword_43F080 dd 0 dword_43F084 dd 0 dword_43F088 dd 0 dword_43F08C dd 0 dword_43F090 dd 0 dword_43F094 dd 0 dword_43F098 dd 0 dword_43F09C dd 0 dword_43F0A0 dd 0 dword_43F0A4 dd 0 dword_43F0A8 dd 0 dword_43F0AC dd 0 dbl_43F0B0 dq 0.0 ; DATA XREF: sub_4199C0+22r dd 0 dword_43F0BC dd 0 ; sub_41A210+6o dword_43F0C0 dd 0 dword_43F0C4 dd 3 dup(0) ; ___:0041B58Do dword_43F0D0 dd 3EEh dup(0) ; sub_41D860+1Do dword_440088 dd 1126h dup(0) ; ___:0040AA77o dword_444520 dd 33h dup(0) dword_4445EC dd 0 ; ___:loc_41090Eo ... dword_4445F0 dd 0 ; ___:0040552Fo ... dword_4445F4 dd 3 dup(0) ; ___:004054EBo ... dword_444600 dd 0 ; sub_404690+1EDo ... dword_444604 dd 0 ; ___:loc_410A19o ... dword_444608 dd 9 dup(0) dword_44462C dd 8 dup(0) dword_44464C dd 7 dup(0) dword_444668 dd 7 dup(0) dword_444684 dd 2 dup(0) ; ___:00405D18o ... dword_44468C dd 7 dup(0) dword_4446A8 dd 0 dword_4446AC dd 4 dup(0) dword_4446BC dd 6 dup(0) dword_4446D4 dd 3 dup(0) dword_4446E0 dd 5 dup(0) dword_4446F4 dd 2 dup(0) ; sub_41C130+Eo dword_4446FC dd 4 dup(0) ; ___:0040566Bo ... dword_44470C dd 5 dup(0) dword_444720 dd 1Eh dup(0) dword_444798 dd 3 dup(0) dword_4447A4 dd 0 dword_4447A8 dd 2 dup(0) dword_4447B0 dd 0 dword_4447B4 dd 2 dup(0) dword_4447BC dd 0 dword_4447C0 dd 0 dword_4447C4 dd 0 dword_4447C8 dd 0 dword_4447CC dd 2 dup(0) ; sub_406C80+205o dword_4447D4 dd 3 dup(0) ; sub_40ED00+88o dword_4447E0 dd 3 dup(0) dword_4447EC dd 2 dup(0) dword_4447F4 dd 0 ; sub_4077E0+FC2o ... dword_4447F8 dd 0 ; ___:0041B2DAo ... dword_4447FC dd 7 dup(0) dword_444818 dd 2 dup(0) dword_444820 dd 4 dup(0) dword_444830 dd 0 dword_444834 dd 0 dword_444838 dd 7 dup(0) dword_444854 dd 7 dup(0) dword_444870 dd 2 dup(0) dword_444878 dd 2 dup(0) dword_444880 dd 3 dup(0) dword_44488C dd 2 dup(0) dword_444894 dd 21h dup(0) dword_444918 dd 9 dup(0) ; ___:0040AA51o dword_44493C dd 2 dup(0) ; sub_40B7E0+43o ... dword_444944 dd 0 dword_444948 dd 2 dup(0) dword_444950 dd 7 dup(0) dword_44496C dd 3 dup(0) dword_444978 dd 7 dup(0) dword_444994 dd 2 dup(0) dword_44499C dd 6 dup(0) dword_4449B4 dd 0Dh dup(0) dword_4449E8 dd 8 dup(0) dword_444A08 dd 4 dup(0) dword_444A18 dd 7 dup(0) dword_444A34 dd 8 dup(0) dword_444A54 dd 7 dup(0) dword_444A70 dd 8 dup(0) dword_444A90 dd 8 dup(0) dword_444AB0 dd 0Ah dup(0) dword_444AD8 dd 5 dup(0) dword_444AEC dd 0 dword_444AF0 dd 4 dup(0) dword_444B00 dd 2 dup(0) dword_444B08 dd 4 dup(0) dword_444B18 dd 2 dup(0) dword_444B20 dd 2 dup(0) dword_444B28 dd 4 dup(0) dword_444B38 dd 5 dup(0) dword_444B4C dd 8 dup(0) dword_444B6C dd 7 dup(0) dword_444B88 dd 4 dup(0) dword_444B98 dd 7 dup(0) dword_444BB4 dd 0Ch dup(0) dword_444BE4 dd 3 dup(0) dword_444BF0 dd 5 dup(0) ; sub_40F060+Ao ... dword_444C04 dd 5 dup(0) dword_444C18 dd 9 dup(0) dword_444C3C dd 5 dup(0) dword_444C50 dd 7 dup(0) dword_444C6C dd 0 ; ___:00411148o ... dword_444C70 dd 0 ; ___:00410D45o ... dword_444C74 dd 0 ; ___:loc_410C87o dword_444C78 dd 0 ; ___:loc_410C66o dword_444C7C dd 0 ; ___:loc_410CA8o ... dword_444C80 dd 0 ; ___:00410D5Do ... dword_444C84 dd 4 dup(0) ; ___:00410762o ... dword_444C94 dd 7 dup(0) dword_444CB0 dd 4 dup(0) ; sub_412780+91o ... dword_444CC0 dd 4 dup(0) dword_444CD0 dd 2 dup(0) dword_444CD8 dd 4 dup(0) ; sub_412A40+8Fo dword_444CE8 dd 3 dup(0) dword_444CF4 dd 3 dup(0) dword_444D00 dd 0 ; sub_412780+E5o dword_444D04 dd 2 dup(0) dword_444D0C dd 2 dup(0) dword_444D14 dd 2 dup(0) dword_444D1C dd 0 dword_444D20 dd 0 dword_444D24 dd 0 dword_444D28 dd 0 dword_444D2C dd 0 dword_444D30 dd 2 dup(0) dword_444D38 dd 2 dup(0) dword_444D40 dd 2 dup(0) dword_444D48 dd 2 dup(0) ; ___:0041965Bo dword_444D50 dd 3 dup(0) dword_444D5C dd 4 dup(0) dword_444D6C dd 0 dword_444D70 dd 3 dup(0) ; ___:004194EEo dword_444D7C dd 0 dword_444D80 dd 0 dword_444D84 dd 0Ah dup(0) dword_444DAC dd 2 dup(0) dword_444DB4 dd 2 dup(0) byte_444DBC db 0 ; DATA XREF: sub_41A390r align 10h dd 2Bh dup(0) dword_444E6C dd 2 dup(0) dword_444E74 dd 0 dword_444E78 dd 0 dword_444E7C dd 0 dword_444E80 dd 0 dword_444E84 dd 0 dword_444E88 dd 0 dword_444E8C dd 0 dword_444E90 dd 0 dword_444E94 dd 0 ; ___:0041C387r word_444E98 dw 0 ; DATA XREF: ___:0041C221r ; ___:0041C391r align 4 dword_444E9C dd 0 ; ___:0041C356r dword_444EA0 dd 0 ; ___:0041C35Br dword_444EA4 dd 0 ; ___:0041C37Fr dd 0 dword_444EAC dd 5 dup(0) dword_444EC0 dd 3 dup(0) dword_444ECC dd 5 dup(0) dword_444EE0 dd 2 dup(0) dword_444EE8 dd 4 dup(0) dword_444EF8 dd 0 dword_444EFC dd 4 dup(0) dword_444F0C dd 19h dup(0) dword_444F70 dd 5 dup(0) dword_444F84 dd 4 dup(0) dword_444F94 dd 4 dup(0) dword_444FA4 dd 4 dup(0) dword_444FB4 dd 0FE3h dup(0) byte_448F40 db 0 ; DATA XREF: sub_403530+95o ; sub_404690+200o ... align 4 dword_448F44 dd 0 dword_448F48 dd 0 ; ___:0040D4BFr ... align 10h dword_448F50 dd 0 ; ___:0040D425w ... dd 8 dup(0) dword_448F74 dd 41h dup(0) ; ___:0040D460o ... dword_449078 dd 0 ; ___:loc_40D4B4r ... dword_44907C dd 0 ; ___:0040D42Fr ... dword_449080 dd 0 ; sub_40D660+CAw dword_449084 dd 0 ; sub_40D660+E3r dd 11h dup(0) dword_4490CC dd 0 ; ___:004104ADr dword_4490D0 dd 0 ; ___:00410545r ... dword_4490D4 dd 0 ; ___:00410685r ... dword_4490D8 dd 0 ; ___:00410BA9r ... dword_4490DC dd 0 ; ___:0041077Br dword_4490E0 dd 0 ; ___:00410858r dword_4490E4 dd 0 ; ___:004107ACr dword_4490E8 dd 0 ; ___:0041050Dr ... dword_4490EC dd 0 ; ___:00410341r dword_4490F0 dd 0 ; ___:0041037Dr ... dword_4490F4 dd 0 ; ___:0041036Dr dword_4490F8 dd 0 ; ___:00410402r dword_4490FC dd 0 ; ___:00410EC3r dword_449100 dd 0 ; ___:00411250r ... dword_449104 dd 0 ; ___:0041258Ar dword_449108 dd 0 ; ___:004106B3r dword_44910C dd 0 ; ___:004106E5r dword_449110 dd 0 ; ___:00411282r dd 5 dup(0) dword_449128 dd 10h dup(0) ; sub_404010+9Fo ... db 2 dup(0) byte_44916A db 0 ; DATA XREF: sub_409B10r sub_409B80r align 4 db 3 dup(0) byte_44916F db 0 ; DATA XREF: sub_40D660+10Fr db 0 byte_449171 db 0 ; DATA XREF: sub_40DBF0r word_449172 dw 0 ; DATA XREF: sub_40DBF0+9o dd 44h dup(0) db 3 dup(0) byte_449287 db 0 ; DATA XREF: ___:00412F9Ao ; ___:0041304Fo align 10h dword_449290 dd 12h dup(0) ; ___:00410144o db 0 byte_4492D9 db 3 dup(0) ; DATA XREF: sub_4077E0+13C1o ; ___:00410189o ... dd 11h dup(0) db 2 dup(0) word_449322 dw 0 ; DATA XREF: sub_4077E0+1398o ; ___:00410162o dd 6 dup(0) word_44933C dw 0 ; DATA XREF: ___:00410211r align 10h dd 0Ah dup(0) db 3 dup(0) byte_44936B db 0 ; DATA XREF: sub_4077E0+13EAo ; ___:004101ACo ... dd 12h dup(0) dword_4493B4 dd 12h dup(0) ; ___:00410127o ... db 0 byte_4493FD db 3 dup(0) ; DATA XREF: sub_4077E0+1323o ; ___:00410100o ... dd 23h dup(0) db 3 dup(0) byte_44948F db 0 ; DATA XREF: sub_4077E0+1413o ; ___:004101CAo dd 36h dup(0) db 2 dup(0) word_44956A dw 0 ; DATA XREF: ___:00412F6Ao ; ___:00412F89o ... dd 73h dup(0) db 0 byte_449739 db 0 ; DATA XREF: sub_41BA50+18r align 4 dd 23h dup(0) db 3 dup(0) byte_4497CB db 0 ; DATA XREF: sub_40D660:loc_40D9EFr dd 12h dup(0) byte_449814 db 0 ; DATA XREF: ___:00410872r align 4 dd 0Bh dup(0) dword_449844 dd 18h dup(0) ; sub_40EE40+97o ... db 2 dup(0) byte_4498A6 db 0 ; DATA XREF: ___:00404F18r ; ___:0041DF9Er align 4 dd 11h dup(0) db 3 dup(0) byte_4498EF db 0 ; DATA XREF: ___:loc_404F30r ; ___:loc_41DFB6r dd 0Bh dup(0) db 3 dup(0) byte_44991F db 0 ; DATA XREF: ___:00404F39o ; ___:0041DFBFo dd 4D3h dup(0) db 2 dup(0) word_44AC6E dw 0 ; DATA XREF: sub_404690+1BDo ; sub_404B60+31o ... db 2 dup(0) word_44AC72 dw 0 ; DATA XREF: sub_404B60+4o dd 1Ch dup(0) db 2 dup(0) word_44ACE6 dw 0 ; DATA XREF: sub_4076B0+36o ; sub_407740+3Eo ... dd 26h dup(0) dword_44AD80 dd 234C1h dup(0) ; ___:00404F3Eo ... db 0 byte_4D8085 db 3 dup(0) ; DATA XREF: sub_404010+496o ; sub_404C70+1Eo ... dd 5 dup(0) byte_4D809C db 0 ; DATA XREF: ___:00404F52w ; ___:004051ABw dword_4D809D dd 0 align 4 dd 0 db 0 dword_4D80A9 dd 0 ; sub_404C70+2Aw byte_4D80AD db 3 dup(0) ; DATA XREF: ___:00412FC4o ; ___:00412FE7o dd 0ABh dup(0) db 3 dup(0) byte_4D835F db 0 ; DATA XREF: sub_4077E0+AAFo ; sub_4077E0+F40o ... dd 0F9h dup(0) db 0 byte_4D8745 db 3 dup(0) ; DATA XREF: ___:0041A053o dd 1EDBh dup(0) db 0 byte_4E02B5 db 3 dup(0) ; DATA XREF: ___:00419F93o ; ___:0041A063o dd 1EDBh dup(0) db 0 byte_4E7E25 db 3 dup(0) ; DATA XREF: ___:00419FA3o dd 40Bh dup(0) byte_4E8E54 db 0 ; DATA XREF: ___:00404F59w ; ___:loc_410072r ... byte_4E8E55 db 3 dup(0) ; DATA XREF: sub_404010+4D5o ; ___:00404EF5o ... dd 4 dup(0) db 2 dup(0) word_4E8E6A dw 0 ; DATA XREF: ___:00404F94o ; sub_4077E0+F54o ... dd 0Fh dup(0) db 3 dup(0) byte_4E8EAB db 0 ; DATA XREF: sub_418590+21o ; ___:0041DC71o ... dd 7FE4h dup(0) dword_508E3C dd 1000h dup(0) ; ___:00419B9Do ... dword_50CE3C dd 333h dup(0) ; ___:00419BB8o ... dword_50DB08 dd 0 ; sub_41A110+1Br ... dd 14h dup(0) dword_50DB5C dd 0EF9h dup(0) ; ___:0041C2A5o dword_511740 dd 0 ; sub_40E870+25Ar dd 4 dup(0) dword_511754 dd 0 ; sub_40EE40+15Er ... dd 0 dword_51175C dd 0 ; sub_40E870+22Cr dd 0 dword_511764 dd 0 dd 0 dword_51176C dd 0 ; sub_40E870+24Cr dd 4Fh dup(0) dword_5118AC dd 0 ; sub_40D660+332r ... dd 7 dup(0) dword_5118CC dd 0 dd 2 dup(0) dword_5118D8 dd 0 ; sub_418590+C5r ... align 10h dword_5118E0 dd 0 align 10h dword_5118F0 dd 0 dd 8 dup(0) dword_511914 dd 0 dword_511918 dd 0 dd 63h dup(0) dword_511AA8 dd 0 dd 3 dup(0) dword_511AB8 dd 0 ; ___:0041C3DAr dd 3 dup(0) dword_511AC8 dd 0 ; sub_41BA50+17Er dd 3 dup(0) dword_511AD8 dd 0 align 10h dword_511AE0 dd 0 dword_511AE4 dd 0 dd 0 dword_511AEC dd 0 dd 4 dup(0) dword_511B00 dd 0 ; sub_41BD90+5Dr dword_511B04 dd 0 ; ___:00411156r ... dword_511B08 dd 0 ; ___:00419CDAr align 10h dword_511B10 dd 0 dd 3Bh dup(0) dword_511C00 dd 0 ; ___:0041A07Dr dd 13h dup(0) dword_511C50 dd 0 dd 2 dup(0) dword_511C5C dd 0 dd 0Dh dup(0) dword_511C94 dd 0 ; sub_41A7D0+48r dd 4DAh dup(0) ___ ends ; Section 2. (virtual address 00113000) ; Virtual size : 00001000 ( 4096.) ; Section size in file : 00001000 ( 4096.) ; Offset to raw data for section: 00113000 ; Flags C0000040: Data Readable Writable ; Alignment : default ; =========================================================================== ; Segment type: Pure data ; Segment permissions: Read/Write _rsrc___ segment para public 'DATA' use32 assume cs:_rsrc___ ;org 513000h align 2000h _rsrc___ ends ; Section 3. (virtual address 00114000) ; Virtual size : 00001000 ( 4096.) ; Section size in file : 00001000 ( 4096.) ; Offset to raw data for section: 00114000 ; Flags C0000040: Data Readable Writable ; Alignment : default ; =========================================================================== ; Segment type: Pure data ; Segment permissions: Read/Write _idata__ segment para public 'DATA' use32 assume cs:_idata__ ;org 514000h dd 400h dup(0) _idata__ ends ; Section 4. (virtual address 00115000) ; Virtual size : 00120000 (1179648.) ; Section size in file : 00120000 (1179648.) ; Offset to raw data for section: 00115000 ; Flags E0000060: Text Data Executable Readable Writable ; Alignment : default ; =========================================================================== ; Segment type: Pure code ; Segment permissions: Read/Write/Execute Themida_ segment para public 'CODE' use32 assume cs:Themida_ ;org 515000h assume es:nothing, ss:nothing, ds:___, fs:nothing, gs:nothing dd 385EBh dup(0) db 2 dup(0) word_5F67AE dw 0 ; CODE XREF: sub_4068E0+12Bp ; sub_409CA0+1Dp ... dd 0E214h dup(0) public start start dd 1800h dup(0) Themida_ ends ; Section 5. (virtual address 00235000) ; Virtual size : 00001000 ( 4096.) ; Section size in file : 00000200 ( 512.) ; Offset to raw data for section: 00235000 ; 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 635000h align 2000h _idata2 ends end start