Function at 0x401ef0
Capabilities:
Resolve function by parsing pe exports

Disassembly:
mov eax, dword fs:[0]
push 0xffffffffffffffff
push 0x46e0cd
push eax
mov eax, dword [esp + 0x10]
mov dword fs:[0], esp
sub esp, 0xec8
cmp eax, 8
push ebx
push ebp
push esi
push edi
mov ebp, ecx
ja case.0x401f1e.7
jmp dword [eax*4 + 0x4037f0]
mov ecx, dword [ebp + 0xfc]
xor ebx, ebx
cmp ecx, ebx
je case.0x401f1e.7
push ebx
call fcn.004469d0
mov ecx, dword [ebp + 0xfc]
push 1
mov esi, eax
call fcn.004469d0
mov edi, eax
mov eax, dword [ebp + 0x2bc]
cmp dword [eax + 0x30], ebx
jle case.0x401f1e.7
mov eax, dword [eax + 0x2c]
mov eax, dword [eax]
cmp eax, ebx
je case.0x401f1e.7
movsx ecx, byte [ebp + 0x244]
mov dword [esp + 0x40], ecx
mov ecx, dword [eax + 0x24]
mov eax, dword [eax + 0x28]
mov dword [esp + 0x44], ecx
mov ecx, ebp
mov dword [esp + 0x48], eax
call fcn.0040b300
lea edx, [esp + 0x40]
mov ecx, ebp
push edx
push 6
mov dword [esp + 0x54], eax
mov dword [esp + 0x58], esi
mov dword [esp + 0x5c], edi
call fcn.00405770
jmp case.0x401f1e.7
mov ecx, ebp
call fcn.00404940
mov eax, dword [ebp + 0x27c]
lea ecx, [ebp + 0x27c]
call dword [eax + 8]
mov ecx, ebp
call fcn.00405e50
mov ecx, dword [ebp + 0xfc]
xor ebx, ebx
cmp ecx, ebx
je 0x401fd5
call fcn.00443520
mov ecx, ebp
call fcn.004056c0
push 0x258
push 0x320
mov ecx, 0x48f280
call fcn.00420990
mov esi, eax
cmp esi, ebx
je 0x402020
mov edx, dword [esi]
push 0xff
push ebx
push ebx
push ebx
mov ecx, esi
call dword [edx + 0x84]
push esi
push 0x5dc
mov ecx, ebp
call fcn.004048b0
push esi
mov ecx, 0x48f280
call fcn.00420c60
mov ecx, dword [ebp + 0xfc]
cmp ecx, ebx
je 0x402033
push ebx
push ebx
push 3
call fcn.00444be0
mov ecx, dword [ebp + 0xf4]
cmp ecx, ebx
je 0x40204d
call fcn.00418c10
mov ecx, dword [ebp + 0xf4]
call fcn.00418c90
push ebx
push ebx
push str.RtScean
mov ecx, ebp
call fcn.00405e80
test al, al
jne 0x40206c
push str.CAdvApp::OnCommand__IDM_RETURN_OMAKE___LoadScript___RtScean_____false__n
call fcn.00418070
add esp, 4
push ebx
push 5
mov ecx, ebp
call fcn.00404d80
push ebx
push ebx
mov ecx, ebp
call fcn.00404d80
push ebx
push 1
mov ecx, ebp
call fcn.00404d80
push ebx
push 4
mov ecx, ebp
call fcn.00404d80
push ebx
push 8
mov ecx, ebp
call fcn.00404d80
mov ecx, dword [ebp + 0xf4]
cmp ecx, ebx
je 0x4020ac
call fcn.00418c90
mov ecx, dword [ebp + 0xfc]
cmp ecx, ebx
je 0x4020bb
call fcn.00446830
push 1
mov byte [ebp + 0x17c], bl
push 2
mov ecx, ebp
mov byte [ebp + 0x17b], bl
call fcn.00405490
push 1
push 0x65
mov ecx, ebp
call fcn.00404a60
jmp case.0x401f1e.7
xor ebx, ebx
lea ecx, [esp + 0x19c]
push ebx
push ebx
push 0x4875e4
call fcn.0046955c
lea ecx, [esp + 0x6e8]
mov dword [esp + 0xee0], ebx
call fcn.0043b5c0
lea ecx, [esp + 0x8b0]
mov byte [esp + 0xee0], 1
call fcn.0043a810
lea ecx, [esp + 0xc78]
mov byte [esp + 0xee0], 2
call fcn.00437420
lea ecx, [esp + 0x36c]
mov byte [esp + 0xee0], 3
call fcn.00438180
lea ecx, [esp + 0x5f8]
mov byte [esp + 0xee0], 4
call fcn.0043a270
lea ecx, [esp + 0xf4]
mov byte [esp + 0xee0], 5
call fcn.00439610
lea eax, [ebp + 0x1c4]
mov byte [esp + 0xee0], 6
mov ecx, dword [eax]
mov dword [esp + 0x774], ecx
mov dl, byte [eax + 4]
lea eax, [ebp + 0x1c9]
mov byte [esp + 0x778], dl
mov ecx, dword [eax]
mov dword [esp + 0x779], ecx
mov ecx, 2
mov dl, byte [eax + 4]
lea eax, [esp + 0x224]
mov byte [esp + 0x77d], dl
mov byte [eax], bl
mov byte [eax + 1], bl
add eax, 2
dec ecx
jne 0x4021b4
push fcn.004472a0
push 0x403820
push 0x10
lea eax, [esp + 0x234]
push 0x14
push eax
call fcn.00450f89
mov byte [esp + 0x368], bl
mov al, byte [ebp + 0x1d0]
mov cl, byte [ebp + 0x1ce]
mov dl, byte [ebp + 0x1cf]
mov byte [esp + 0x226], al
mov eax, dword [ebp + 0xe8]
mov byte [esp + 0x224], cl
mov cl, byte [ebp + 0x1d5]
xor esi, esi
cmp eax, ebx
mov byte [esp + 0xee0], 7
mov byte [esp + 0x225], dl
mov byte [esp + 0x227], cl
mov dword [esp + 0x28], eax
jle 0x402337
lea edi, [esp + 0x228]
mov dword [esp + 0x44], ebx
mov dword [esp + 0x48], ebx
mov dword [esp + 0x40], vtable.org::CString.0
lea ecx, [esp + 0x4c]
mov byte [esp + 0xee0], 8
call fcn.0040cf70
push ebx
push ebx
push ebx
lea ecx, [esp + 0x64]
mov byte [esp + 0xeec], 9
call fcn.0040d900
mov byte [esp + 0x5c], bl
lea edx, [esp + 0x40]
mov byte [esp + 0xee0], 0xa
test edx, edx
je 0x4022da
cmp esi, ebx
jl 0x4022da
cmp esi, dword [ebp + 0xe8]
jge 0x4022da
mov eax, dword [ebp + 0xe0]
mov ecx, dword [eax + esi*4]
push ecx
lea ecx, [esp + 0x44]
call fcn.0040deb0
mov edx, dword [edi]
lea eax, [esp + 0x40]
push eax
mov ecx, edi
call dword [edx + 0x9c]
mov ecx, dword [esp + 0x58]
cmp esi, ebx
mov dword [edi + 0xc], ecx
jl 0x4022e4
cmp esi, dword [ebp + 0xe8]
jge 0x4022e4
mov edx, dword [ebp + 0xe0]
lea ecx, [esp + 0x40]
mov eax, dword [edx + esi*4]
add eax, 0x38
push eax
call fcn.0040deb0
jmp 0x4022ee
mov byte [esp + 0xee0], 0xb
jmp 0x4022fd
mov byte [esp + 0xee0], 0xc
jmp 0x4022fd
mov ecx, dword [esp + 0x58]
mov dword [edi + 0x10], ecx
mov byte [esp + 0xee0], 0xd
lea ecx, [esp + 0x4c]
mov dword [esp + 0x4c], vtable.org::CBuffer.0
call fcn.0040c4a0
lea ecx, [esp + 0x40]
mov byte [esp + 0xee0], 7
mov dword [esp + 0x40], vtable.org::CBuffer.0
call fcn.0040c4a0
mov eax, dword [esp + 0x28]
inc esi
add edi, 0x14
cmp esi, eax
jl 0x402238
mov dl, byte [ebp + 0x1d6]
lea eax, [esp + 0x224]
push eax
lea ecx, [esp + 0x940]
mov byte [esp + 0x36c], dl
call fcn.00403850
push fcn.004472a0
push 0x10
lea ecx, [esp + 0x230]
push 0x14
push ecx
mov byte [esp + 0xef0], 6
call fcn.00450e95
lea esi, [ebp + 0x1d8]
mov ecx, 0x12
lea edi, [esp + 0xd08]
rep movsd dword es:[edi], dword [esi]
call fcn.00417fd0
mov eax, dword [eax + 4]
lea esi, [esp + 0x40]
mov dword [esp + 0xd50], eax
mov edi, 4
mov ecx, esi
call fcn.004038c0
add esi, 8
dec edi
jne 0x4023a2
push ebx
lea ecx, [esp + 0x64]
call fcn.0040b910
mov byte [esp + 0x6c], bl
mov byte [esp + 0x6d], bl
mov byte [esp + 0x6e], bl
mov byte [esp + 0x6f], bl
mov dl, byte [ebp + 0x220]
mov al, byte [ebp + 0x221]
mov ecx, dword [ebp + 0x224]
mov esi, dword [ebp + 0xe8]
mov byte [esp + 0x40], dl
mov dl, byte [ebp + 0x228]
mov byte [esp + 0x41], al
mov al, byte [ebp + 0x229]
mov dword [esp + 0x44], ecx
mov ecx, dword [ebp + 0x22c]
mov byte [esp + 0x48], dl
mov dl, byte [ebp + 0x230]
mov byte [esp + 0x49], al
mov al, byte [ebp + 0x231]
mov dword [esp + 0x4c], ecx
mov ecx, dword [ebp + 0x234]
mov byte [esp + 0x50], dl
mov dl, byte [ebp + 0x238]
mov byte [esp + 0x51], al
mov al, byte [ebp + 0x239]
mov dword [esp + 0x54], ecx
mov ecx, dword [ebp + 0x23c]
mov byte [esp + 0x58], dl
mov byte [esp + 0x59], al
mov dword [esp + 0x5c], ecx
mov dword [esp + 0x3c], esi
mov dword [esp + 0x10], ebx
mov dword [esp + 0xe8], ebx
mov dword [esp + 0xec], ebx
mov dword [esp + 0xe4], vtable.org::CString.0
mov byte [esp + 0xf0], bl
cmp esi, ebx
mov byte [esp + 0xee0], 0xf
jg 0x40249b
mov ecx, dword [esp + 0x60]
cmp ecx, ebx
je 0x40248a
push 3
call fcn.0040b990
mov dword [esp + 0x60], ebx
mov dword [esp + 0x64], ebx
mov dword [esp + 0x68], ebx
jmp 0x4025af
cmp esi, dword [esp + 0x64]
jl 0x4025af
mov edx, esi
shl edx, 4
add edx, 4
push edx
call fcn.00461d88
add esp, 4
mov dword [esp + 0x18], eax
cmp eax, ebx
mov byte [esp + 0xee0], 0x10
je 0x4024e7
push fcn.004472a0
push 0x4038d0
lea edi, [eax + 4]
push esi
push 0x10
push edi
mov dword [eax], esi
call fcn.00450f89
mov dword [esp + 0x88], edi
jmp 0x4024ee
mov dword [esp + 0x88], ebx
mov eax, dword [esp + 0x64]
xor ecx, ecx
cmp eax, ebx
mov byte [esp + 0xee0], 0xf
jle 0x40254c
mov esi, dword [esp + 0x88]
mov dword [esp + 0x24], ebx
mov dword [esp + 0x28], eax
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x60]
mov ecx, dword [esp + 0x24]
mov edx, dword [esi]
lea edi, [eax + ecx]
mov ecx, esi
push edi
call dword [edx + 0x9c]
mov al, byte [edi + 0xc]
mov edx, dword [esp + 0x24]
mov byte [esi + 0xc], al
mov eax, dword [esp + 0x28]
add edx, 0x10
add esi, 0x10
dec eax
mov dword [esp + 0x24], edx
mov dword [esp + 0x28], eax
jne 0x402513
mov ecx, dword [esp + 0x18]
mov edi, dword [esp + 0x3c]
cmp ecx, edi
jge 0x40257d
mov edx, dword [esp + 0x88]
mov esi, ecx
shl esi, 4
add esi, edx
sub edi, ecx
lea ecx, [esp + 0xe4]
push ecx
mov ecx, esi
call fcn.004038f0
add esi, 0x10
dec edi
jne 0x402564
mov edi, dword [esp + 0x3c]
mov ecx, dword [esp + 0x60]
cmp ecx, ebx
je 0x402590
push 3
call fcn.0040b990
mov edi, dword [esp + 0x3c]
mov eax, dword [esp + 0x68]
mov edx, dword [esp + 0x88]
cmp eax, edi
mov dword [esp + 0x60], edx
mov dword [esp + 0x64], edi
jle 0x4025af
mov eax, dword [esp + 0x3c]
mov dword [esp + 0x68], eax
mov esi, vtable.org::CBuffer.0
lea ecx, [esp + 0xe4]
mov byte [esp + 0xee0], 0xe
mov dword [esp + 0xe4], esi
call fcn.0040c4a0
cmp dword [esp + 0x3c], ebx
jle 0x402771
mov edi, dword [esp + 0x10]
mov dword [esp + 0x24], ebx
mov dword [esp + 0x90], ebx
mov dword [esp + 0x94], ebx
mov dword [esp + 0x8c], vtable.org::CString.0
lea ecx, [esp + 0x98]
mov byte [esp + 0xee0], 0x11
call fcn.0040cf70
push ebx
push ebx
push ebx
lea ecx, [esp + 0xb0]
mov byte [esp + 0xeec], 0x12
call fcn.0040d900
mov byte [esp + 0xa8], bl
lea ecx, [esp + 0x8c]
mov byte [esp + 0xee0], 0x13
test ecx, ecx
je 0x4026a5
cmp edi, ebx
jl 0x4026a5
cmp edi, dword [ebp + 0xe8]
jge 0x4026a5
mov edx, dword [ebp + 0xe0]
lea ecx, [esp + 0x8c]
mov eax, dword [edx + edi*4]
push eax
call fcn.0040deb0
cmp byte [esp + 0xc0], bl
jne 0x4026af
mov byte [esp + 0xee0], 0x15
lea ecx, [esp + 0x98]
mov dword [esp + 0x98], esi
call fcn.0040c4a0
lea ecx, [esp + 0x8c]
mov byte [esp + 0xee0], 0xe
mov dword [esp + 0x8c], esi
call fcn.0040c4a0
jmp 0x402759
mov byte [esp + 0xee0], 0x14
jmp 0x402672
mov dword [esp + 0x30], ebx
mov dword [esp + 0x34], ebx
mov dword [esp + 0x2c], vtable.org::CString.0
mov byte [esp + 0x38], bl
lea ecx, [esp + 0x8c]
mov byte [esp + 0xee0], 0x16
push ecx
lea ecx, [esp + 0x30]
call dword [0x473840]
mov eax, dword [esp + 0x60]
mov ecx, dword [esp + 0x24]
mov dl, byte [esp + 0xa8]
lea esi, [eax + ecx]
mov byte [esp + 0x38], dl
lea eax, [esp + 0x2c]
mov ecx, esi
mov edx, dword [esi]
push eax
call dword [edx + 0x9c]
mov cl, byte [esp + 0x38]
mov byte [esp + 0xee0], 0x13
mov byte [esi + 0xc], cl
mov esi, vtable.org::CBuffer.0
lea ecx, [esp + 0x2c]
mov dword [esp + 0x2c], esi
call fcn.0040c4a0
lea ecx, [esp + 0x98]
mov byte [esp + 0xee0], 0x17
mov dword [esp + 0x98], esi
call fcn.0040c4a0
lea ecx, [esp + 0x8c]
mov byte [esp + 0xee0], 0xe
mov dword [esp + 0x8c], esi
call fcn.0040c4a0
mov ecx, dword [esp + 0x24]
mov eax, dword [esp + 0x3c]
inc edi
add ecx, 0x10
cmp edi, eax
mov dword [esp + 0x24], ecx
jl 0x4025e1
mov al, byte [ebp + 0x241]
mov dl, byte [ebp + 0x240]
mov cl, byte [ebp + 0x242]
mov byte [esp + 0x6d], al
mov byte [esp + 0x6c], dl
mov dl, byte [ebp + 0x243]
lea eax, [esp + 0x40]
mov byte [esp + 0x6e], cl
push eax
lea ecx, [esp + 0x48c]
mov byte [esp + 0x73], dl
call fcn.00403910
mov ecx, dword [esp + 0x60]
mov byte [esp + 0xee0], 6
cmp ecx, ebx
je 0x4027c1
push 3
call fcn.0040b990
lea esi, [ebp + 0x250]
mov ecx, 0xa
lea edi, [esp + 0x684]
rep movsd dword es:[edi], dword [esi]
lea ecx, [esp + 0x6e8]
push ecx
lea ecx, [esp + 0x1a0]
call fcn.004699d5
lea edx, [esp + 0x8b0]
lea ecx, [esp + 0x19c]
push edx
call fcn.004699d5
lea eax, [esp + 0xc78]
lea ecx, [esp + 0x19c]
push eax
call fcn.004699d5
lea ecx, [esp + 0x36c]
push ecx
lea ecx, [esp + 0x1a0]
call fcn.004699d5
lea edx, [esp + 0x5f8]
lea ecx, [esp + 0x19c]
push edx
call fcn.004699d5
lea eax, [esp + 0xf4]
lea ecx, [esp + 0x19c]
push eax
call fcn.004699d5
mov ecx, dword [esp + 0x1dc]
or cl, 0x80
xor ecx, 0x200
mov dword [esp + 0x1dc], ecx
lea ecx, [esp + 0x19c]
call fcn.004697a0
cmp eax, 2
jne 0x40290c
lea ecx, [esp + 0xf4]
mov byte [esp + 0xee0], 5
call fcn.00439660
lea ecx, [esp + 0x5f8]
mov byte [esp + 0xee0], 4
call fcn.0043a300
lea ecx, [esp + 0x36c]
mov byte [esp + 0xee0], 3
call fcn.004382f0
lea ecx, [esp + 0xc78]
mov byte [esp + 0xee0], 2
call fcn.004374f0
lea ecx, [esp + 0x8b0]
mov byte [esp + 0xee0], 1
call fcn.0043a990
lea ecx, [esp + 0x6e8]
mov byte [esp + 0xee0], bl
call fcn.0043b6b0
lea ecx, [esp + 0x19c]
mov dword [esp + 0xee0], 0xffffffff
call fcn.00469610
jmp case.0x401f1e.7
mov ecx, dword [esp + 0x774]
lea edx, [ebp + 0x1c4]
mov eax, edx
mov dword [eax], ecx
mov cl, byte [esp + 0x778]
mov byte [eax + 4], cl
mov eax, dword [ebp + 0xf4]
cmp eax, ebx
je 0x402943
mov eax, dword [eax + 0x17c]
cmp eax, ebx
je 0x402943
push edx
mov ecx, eax
call fcn.00431030
mov dl, byte [esp + 0x93c]
mov al, byte [esp + 0x93d]
mov cl, byte [esp + 0x93e]
mov byte [ebp + 0x1ce], dl
mov dl, byte [esp + 0x93f]
mov byte [ebp + 0x1cf], al
mov byte [ebp + 0x1d0], cl
mov byte [ebp + 0x1d5], dl
mov eax, dword [ebp + 0xe8]
xor esi, esi
cmp eax, ebx
mov dword [esp + 0x10], eax
jle 0x402a95
lea edi, [esp + 0x94c]
mov dword [esp + 0x90], ebx
mov dword [esp + 0x94], ebx
mov dword [esp + 0x8c], vtable.org::CString.0
lea ecx, [esp + 0x98]
mov byte [esp + 0xee0], 0x18
call fcn.0040cf70
mov byte [esp + 0xa6], bl
mov byte [esp + 0xa5], bl
mov byte [esp + 0xa4], bl
mov byte [esp + 0xa8], bl
lea eax, [esp + 0x8c]
mov byte [esp + 0xee0], 0x19
test eax, eax
je 0x402bde
cmp esi, ebx
jl 0x402bde
cmp esi, dword [ebp + 0xe8]
jge 0x402bde
mov ecx, dword [ebp + 0xe0]
mov edx, dword [ecx + esi*4]
lea ecx, [esp + 0x8c]
push edx
call fcn.0040deb0
mov eax, dword [edi]
cmp esi, ebx
mov dword [esp + 0xa4], eax
jl 0x402a47
cmp esi, dword [ebp + 0xe4]
jge 0x402a47
mov edx, dword [ebp + 0xe0]
lea ecx, [esp + 0x8c]
push ecx
mov ecx, dword [edx + esi*4]
call fcn.0040deb0
mov byte [esp + 0xee0], 0x1b
lea ecx, [esp + 0x98]
mov dword [esp + 0x98], vtable.org::CBuffer.0
call fcn.0040c4a0
lea ecx, [esp + 0x8c]
mov byte [esp + 0xee0], 6
mov dword [esp + 0x8c], vtable.org::CBuffer.0
call fcn.0040c4a0
mov eax, dword [esp + 0x10]
inc esi
add edi, 0x14
cmp esi, eax
jl 0x402992
mov dl, byte [esp + 0xa80]
lea eax, [esi + esi*4]
lea esi, [esp + 0xd08]
lea edi, [ebp + 0x1d8]
mov ecx, dword [esp + eax*4 + 0x94c]
mov al, byte [esp + 0x488]
mov dword [ebp + 0x1d1], ecx
mov ecx, 0x12
rep movsd dword es:[edi], dword [esi]
mov cl, byte [esp + 0x489]
mov byte [ebp + 0x1d6], dl
mov edx, dword [esp + 0x48c]
mov byte [ebp + 0x220], al
mov al, byte [esp + 0x490]
mov byte [ebp + 0x221], cl
mov cl, byte [esp + 0x491]
mov dword [ebp + 0x224], edx
mov edx, dword [esp + 0x494]
mov byte [ebp + 0x228], al
mov al, byte [esp + 0x498]
mov byte [ebp + 0x229], cl
mov cl, byte [esp + 0x499]
mov dword [ebp + 0x22c], edx
mov edx, dword [esp + 0x49c]
mov byte [ebp + 0x230], al
mov al, byte [esp + 0x4a0]
mov byte [ebp + 0x231], cl
mov cl, byte [esp + 0x4a1]
mov dword [ebp + 0x234], edx
mov edx, dword [esp + 0x4a4]
mov byte [ebp + 0x238], al
mov byte [ebp + 0x239], cl
mov dword [ebp + 0x23c], edx
mov eax, dword [ebp + 0xe8]
xor esi, esi
cmp eax, ebx
mov dword [esp + 0x10], eax
jle 0x402ca4
xor edi, edi
mov dword [esp + 0x28], edi
mov dword [esp + 0x44], ebx
mov dword [esp + 0x48], ebx
mov dword [esp + 0x40], vtable.org::CString.0
lea ecx, [esp + 0x4c]
mov byte [esp + 0xee0], 0x1c
call fcn.0040cf70
mov byte [esp + 0x5a], bl
mov byte [esp + 0x59], bl
mov byte [esp + 0x58], bl
mov byte [esp + 0x5c], bl
lea eax, [esp + 0x40]
mov byte [esp + 0xee0], 0x1d
test eax, eax
je 0x402beb
cmp edi, ebx
jl 0x402beb
cmp esi, dword [ebp + 0xe8]
jge 0x402beb
mov ecx, dword [ebp + 0xe0]
mov edx, dword [ecx + esi*4]
lea ecx, [esp + 0x40]
push edx
call fcn.0040deb0
jmp 0x402c20
mov byte [esp + 0xee0], 0x1a
jmp 0x402a4f
mov edi, vtable.org::CBuffer.0
lea ecx, [esp + 0x4c]
mov byte [esp + 0xee0], 0x1e
mov dword [esp + 0x4c], edi
call fcn.0040c4a0
lea ecx, [esp + 0x40]
mov byte [esp + 0xee0], 6
mov dword [esp + 0x40], edi
call fcn.0040c4a0
mov edi, dword [esp + 0x28]
jmp 0x402c90
cmp byte [esp + 0x74], bl
jne 0x402c30
mov byte [esp + 0xee0], 0x1f
jmp 0x402c66
mov eax, dword [esp + 0x4a8]
cmp edi, ebx
mov cl, byte [eax + edi + 0xc]
mov byte [esp + 0x5c], cl
jl 0x402c5e
cmp esi, dword [ebp + 0xe4]
jge 0x402c5e
mov eax, dword [ebp + 0xe0]
lea edx, [esp + 0x40]
push edx
mov ecx, dword [eax + esi*4]
call fcn.0040deb0
mov byte [esp + 0xee0], 0x20
lea ecx, [esp + 0x4c]
mov dword [esp + 0x4c], vtable.org::CBuffer.0
call fcn.0040c4a0
lea ecx, [esp + 0x40]
mov byte [esp + 0xee0], 6
mov dword [esp + 0x40], vtable.org::CBuffer.0
call fcn.0040c4a0
mov eax, dword [esp + 0x10]
inc esi
add edi, 0x10
cmp esi, eax
mov dword [esp + 0x28], edi
jl 0x402b7c
mov cl, byte [esp + 0x4b4]
mov dl, byte [esp + 0x4b5]
mov byte [ebp + 0x240], cl
mov cl, byte [esp + 0x4b7]
mov al, byte [esp + 0x4b6]
mov byte [ebp + 0x243], cl
mov ecx, 0xa
lea esi, [esp + 0x684]
lea edi, [ebp + 0x250]
mov byte [ebp + 0x241], dl
rep movsd dword es:[edi], dword [esi]
mov ecx, dword [ebp + 0xfc]
mov byte [ebp + 0x242], al
cmp ecx, ebx
mov byte [esp + 0x17], bl
je 0x402df5
call fcn.004468b0
mov eax, dword [ebp + 0x194]
mov ecx, dword [ebp + 0x190]
lea edx, [eax + eax]
lea eax, [ecx + ecx]
push edx
push eax
mov ecx, 0x48f280
call fcn.00420990
mov ecx, dword [ebp + 0xfc]
mov esi, dword [ebp + 0x2bc]
mov edi, eax
push edi
mov dword [esp + 0x14], edi
call fcn.00446000
test al, al
je 0x402d5c
push edi
push ebx
mov ecx, esi
call fcn.00436b90
push 0xffffffffffffffff
push 0xffffffffffffffff
push ebx
mov ecx, esi
call fcn.00436cb0
push 1
push ebx
mov ecx, esi
call fcn.00436da0
mov edi, dword [ebp + 0x2c0]
cmp edi, ebx
je 0x402dc0
mov esi, dword [edi]
cmp esi, ebx
je 0x402d9a
mov ecx, dword [esp + 0x10]
push ecx
mov ecx, 0x48f280
call fcn.00420b30
push eax
push ebx
mov ecx, esi
call fcn.00436b90
push 0xffffffffffffffff
push 0xffffffffffffffff
push ebx
mov ecx, esi
call fcn.00436cb0
push 1
push ebx
mov ecx, esi
call fcn.00436da0
lea eax, [ebp + 0x2c0]
lea edx, [esp + 0x18]
mov dword [esp + 0x18], edi
mov dword [esp + 0x1c], eax
mov edi, dword [edi + 4]
push edx
lea ecx, [esp + 0x198]
call fcn.00447e90
cmp edi, ebx
jne 0x402d66
mov eax, 0xffff
mov dword [ebp + 0xcc], ebx
mov dword [ebp + 0xd0], ebx
mov dword [ebp + 0xd4], eax
mov dword [ebp + 0xd8], eax
mov byte [ebp + 0xc4], 1
mov ecx, dword [ebp + 0xfc]
push ebx
call fcn.00445fa0
mov byte [esp + 0x17], 1
mov ecx, dword [ebp + 0xf4]
cmp ecx, ebx
je 0x403062
mov al, byte [ebp + 0x258]
mov byte [ecx + 0x169], al
mov ecx, dword [ebp + 0xf4]
mov al, byte [ebp + 0x259]
mov byte [ecx + 0x16a], al
mov ecx, dword [ebp + 0xf4]
mov al, byte [ebp + 0x26a]
mov byte [ecx + 0x16b], al
mov dword [esp + 0x2c], vtable.org::CBuffer.0
mov dword [esp + 0x30], ebx
mov dword [esp + 0x34], ebx
mov al, byte [ebp + 0x1d6]
mov ecx, 0x12
lea esi, [ebp + 0x1d8]
lea edi, [esp + 0x40]
cmp al, bl
mov byte [esp + 0xee0], 0x22
rep movsd dword es:[edi], dword [esi]
jne 0x403009
mov eax, dword [ebp + 0x27c]
lea esi, [ebp + 0x27c]
mov ecx, esi
call dword [eax + 0x14]
mov edx, dword [esi]
push eax
mov ecx, esi
call dword [edx + 0xf4]
push eax
lea eax, [esp + 0x34]
push eax
call fcn.0041b070
add esp, 0xc
test al, al
je 0x403009
mov ecx, dword [esp + 0x34]
mov edx, dword [esp + 0x30]
push ecx
push edx
call fcn.0041b5c0
mov eax, vtable.org::CString.0
add esp, 8
mov dword [esp + 0x90], ebx
mov dword [esp + 0x94], ebx
mov dword [esp + 0x8c], eax
mov dword [esp + 0x9c], ebx
mov dword [esp + 0xa0], ebx
mov dword [esp + 0x98], eax
push ebx
push ebx
push ebx
lea ecx, [esp + 0xb0]
mov byte [esp + 0xeec], 0x24
call fcn.0040d900
mov byte [esp + 0xa8], bl
mov eax, dword [esp + 0x30]
mov byte [esp + 0xee0], 0x25
cmp eax, ebx
mov dword [esp + 0x10], eax
je 0x402f58
lea eax, [esp + 0x8c]
test eax, eax
je 0x402f58
mov eax, dword [ebp + 0xe8]
xor esi, esi
cmp eax, ebx
mov dword [esp + 0x18], eax
jle 0x402f58
mov ecx, dword [ebp + 0xe0]
lea edi, [ecx + esi*4]
mov ecx, dword [ecx + esi*4]
cmp ecx, ebx
je 0x402f53
mov eax, dword [esp + 0x10]
mov edx, dword [ecx]
push eax
call dword [edx + 0xb0]
test al, al
je 0x402fed
mov eax, dword [esp + 0x18]
inc esi
cmp esi, eax
jl 0x402f2a
mov eax, 0x4875d4
test eax, eax
je 0x402fa6
lea ecx, [esp + 0x8c]
test ecx, ecx
je 0x402fa6
mov eax, dword [ebp + 0xe8]
xor esi, esi
cmp eax, ebx
mov dword [esp + 0x10], eax
jle 0x402fa6
mov edx, dword [ebp + 0xe0]
mov ecx, dword [edx + esi*4]
lea edi, [edx + esi*4]
cmp ecx, ebx
je 0x402fa1
mov eax, dword [ecx]
push 0x4875d4
call dword [eax + 0xb0]
test al, al
je 0x402fed
mov eax, dword [esp + 0x10]
inc esi
cmp esi, eax
jl 0x402f7c
mov eax, dword [ebp + 0x1d1]
mov dword [esp + 0x78], eax
mov esi, vtable.org::CBuffer.0
lea ecx, [esp + 0x98]
mov byte [esp + 0xee0], 0x26
mov dword [esp + 0x98], esi
call fcn.0040c4a0
lea ecx, [esp + 0x8c]
mov byte [esp + 0xee0], 0x22
mov dword [esp + 0x8c], esi
call fcn.0040c4a0
jmp 0x40300e
mov ecx, dword [edi]
push ecx
lea ecx, [esp + 0x90]
call fcn.0040deb0
mov edx, dword [esp + 0xa4]
mov dword [esp + 0x78], edx
jmp 0x402fb0
mov esi, vtable.org::CBuffer.0
lea ecx, [esp + 0x40]
push ecx
mov ecx, dword [ebp + 0xf4]
call fcn.00418bd0
mov ecx, dword [ebp + 0xf4]
call fcn.004188f0
test al, al
je 0x40303a
mov ecx, dword [ebp + 0xf4]
push ebx
push ebx
call fcn.00418c20
mov eax, dword [esp + 0x30]
mov byte [esp + 0xee0], 6
cmp eax, ebx
mov dword [esp + 0x2c], esi
je 0x403057
push eax
call fcn.00461db1
add esp, 4
mov edx, dword [esp + 0x2c]
lea ecx, [esp + 0x2c]
call dword [edx + 0x68]
mov ecx, ebp
mov byte [ebp + 0x175], bl
call fcn.0040a870
test al, al
je 0x40307e
push 1
push 1
mov ecx, ebp
call fcn.00405490
cmp byte [ebp + 0x17b], bl
je 0x4030c5
cmp byte [ebp + 0x1d5], bl
je 0x403092
xor edx, edx
jmp 0x4030b1
xor eax, eax
mov al, byte [ebp + 0x1d0]
inc eax
lea eax, [eax + eax*2]
cdq
and edx, 3
add eax, edx
mov edx, dword [ebp + 0x29c]
sar eax, 2
inc eax
imul edx, eax
mov ecx, dword [ebp + 0xf4]
cmp ecx, ebx
je 0x4030c5
cmp edx, ebx
jle 0x4030c5
push edx
call fcn.00418780
mov eax, dword [ebp + 0xfc]
cmp eax, ebx
je 0x4030e3
cmp byte [eax + 0xb2c], bl
je 0x4030e3
mov byte [ebp + 0x170], bl
mov byte [ebp + 0x175], bl
mov eax, dword [ebp + 0x110]
cmp eax, ebx
je 0x403199
mov edi, dword [eax + 8]
mov eax, dword [eax + 0xc]
cmp edi, ebx
mov dword [esp + 0x18], edi
mov dword [esp + 0x1c], eax
je 0x403199
mov edx, dword [edi]
lea eax, [ebp + 0x1d8]
push eax
mov ecx, edi
call dword [edx + 0x5c]
cmp byte [esp + 0x17], bl
je 0x403199
mov ecx, dword [ebp + 0x2bc]
push ebx
call fcn.00436b60
push eax
mov ecx, 0x48f280
call fcn.00420b30
mov esi, eax
mov eax, dword [ebp + 0xf4]
cmp eax, ebx
je 0x403182
mov eax, dword [eax + 0x17c]
cmp eax, ebx
mov dword [esp + 0x10], eax
je 0x403182
mov eax, dword [ebp + 0xcc]
mov edx, dword [ebp + 0xd0]
push esi
mov ecx, dword [ebp + 0xd4]
sub esp, 0x10
mov ebp, dword [ebp + 0xd8]
mov edi, esp
mov dword [edi], eax
mov dword [edi + 4], edx
mov dword [edi + 8], ecx
mov ecx, dword [esp + 0x24]
mov dword [edi + 0xc], ebp
call fcn.004311b0
mov edi, dword [esp + 0x18]
mov eax, dword [edi]
push esi
mov ecx, edi
call dword [eax + 0x10]
cmp esi, ebx
je 0x403199
push esi
mov ecx, 0x48f280
call fcn.00420c60
lea ecx, [esp + 0xf4]
mov byte [esp + 0xee0], 5
call fcn.00439660
lea ecx, [esp + 0x5f8]
mov byte [esp + 0xee0], 4
call fcn.0043a300
lea ecx, [esp + 0x36c]
mov byte [esp + 0xee0], 3
call fcn.004382f0
lea ecx, [esp + 0xc78]
mov byte [esp + 0xee0], 2
call fcn.004374f0
lea ecx, [esp + 0x8b0]
mov byte [esp + 0xee0], 1
call fcn.0043a990
lea ecx, [esp + 0x6e8]
mov byte [esp + 0xee0], bl
call fcn.0043b6b0
lea ecx, [esp + 0x19c]
mov dword [esp + 0xee0], 0xffffffff
call fcn.00469610
jmp case.0x401f1e.7
xor ebx, ebx
lea ecx, [esp + 0xf4]
push ebx
push ebx
push str.SAVE
call fcn.00414030
push 1
lea ecx, [esp + 0xf8]
mov dword [esp + 0xee4], 0x27
call fcn.00413d80
test al, al
jne 0x40327a
lea ecx, [esp + 0xf4]
mov dword [esp + 0xee0], 0xffffffff
call fcn.00414060
jmp case.0x401f1e.7
mov al, byte [ebp + 0x25a]
lea ecx, [esp + 0xf4]
mov byte [esp + 0x188], al
mov al, byte [ebp + 0x25b]
mov byte [esp + 0x189], al
call fcn.004697a0
jmp 0x40325e
xor ebx, ebx
lea ecx, [esp + 0xf4]
push ebx
push ebx
push str.LOAD
call fcn.00414030
push 2
lea ecx, [esp + 0xf8]
mov dword [esp + 0xee4], 0x28
call fcn.00413d80
test al, al
jne 0x4032f0
lea ecx, [esp + 0xf4]
mov dword [esp + 0xee0], 0xffffffff
call fcn.00414060
jmp case.0x401f1e.7
mov al, byte [ebp + 0x25a]
lea ecx, [esp + 0xf4]
mov byte [esp + 0x188], al
mov al, byte [ebp + 0x25b]
mov byte [esp + 0x189], al
call fcn.004697a0
mov eax, dword [esp + 0x184]
or esi, 0xffffffff
cmp eax, esi
je 0x403383
mov dword [esp + 0x48], ebx
mov dword [esp + 0x4c], ebx
mov dword [esp + 0x44], vtable.org::CString.0
mov dword [esp + 0x50], 0x3e8
lea ecx, [esp + 0x40]
push 0x14
push ecx
push ebx
mov ecx, ebp
mov byte [esp + 0xeec], 0x29
mov dword [esp + 0x4c], eax
call fcn.00409990
mov eax, dword [esp + 0x48]
mov byte [esp + 0xee0], 0x28
cmp eax, ebx
mov dword [esp + 0x44], vtable.org::CBuffer.0
je 0x403378
push eax
call fcn.00461db1
add esp, 4
mov edx, dword [esp + 0x44]
lea ecx, [esp + 0x44]
call dword [edx + 0x68]
lea ecx, [esp + 0xf4]
mov dword [esp + 0xee0], esi
call fcn.00414060
jmp case.0x401f1e.7
mov al, byte [ebp + 0x183]
xor ebx, ebx
cmp al, bl
je case.0x401f1e.7
push 0x50
call fcn.0040fd30
add esp, 4
test eax, eax
je case.0x401f1e.7
cmp byte [ebp + 0x25d], bl
je 0x4033dc
push 0x24
push 0x4875a8
mov ecx, ebp
call fcn.00401b40
cmp eax, 7
je case.0x401f1e.7
cmp byte [ebp + 0x183], bl
je case.0x401f1e.7
mov edi, vtable.org::CBuffer.0
mov dword [esp + 0x30], ebx
mov dword [esp + 0x2c], edi
mov dword [esp + 0x34], ebx
push 0x5d
mov dword [esp + 0xee4], 0x2a
call fcn.0040fe40
lea eax, [esp + 0x30]
push eax
push 3
push 0x5d
call fcn.00412240
add esp, 0x10
mov esi, vtable.org::CString.0
test al, al
je 0x40352d
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x20], ebx
mov ecx, 0x487588
mov byte [esp + 0xee0], 0x2b
test ecx, ecx
mov dword [esp + 0x18], esi
je 0x403467
mov edi, ecx
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push 0x487588
lea ecx, [esp + 0x20]
call dword [0x473814]
mov edi, vtable.org::CBuffer.0
lea edx, [esp + 0x2c]
lea ecx, [esp + 0xc4]
push edx
mov byte [esp + 0xee4], 0x2c
mov dword [esp + 0xc8], edi
mov dword [esp + 0xcc], ebx
mov dword [esp + 0xd0], ebx
call dword [0x473918]
mov dword [esp + 0xc4], esi
mov edx, dword [esp + 0x18]
lea eax, [esp + 0xc4]
push eax
lea ecx, [esp + 0x1c]
mov byte [esp + 0xee4], 0x2d
call dword [edx + 0xa8]
mov eax, dword [esp + 0xc8]
mov byte [esp + 0xee0], 0x2c
cmp eax, ebx
mov dword [esp + 0xc4], edi
je 0x4034de
push eax
call fcn.00461db1
add esp, 4
mov eax, dword [esp + 0xc4]
lea ecx, [esp + 0xc4]
call dword [eax + 0x68]
mov edx, dword [esp + 0x18]
lea ecx, [esp + 0x18]
call dword [edx + 0xc]
push eax
push 0x5d
call fcn.00412000
mov eax, dword [esp + 0x24]
add esp, 8
cmp eax, ebx
mov byte [esp + 0xee0], 0x2a
mov dword [esp + 0x18], edi
je 0x403522
push eax
call fcn.00461db1
add esp, 4
mov eax, dword [esp + 0x18]
lea ecx, [esp + 0x18]
call dword [eax + 0x68]
mov dword [esp + 0xd8], ebx
mov dword [esp + 0xdc], ebx
mov dword [esp + 0xd4], esi
lea ecx, [esp + 0xd0]
push 0x14
push ecx
push ebx
mov ecx, ebp
mov byte [esp + 0xeec], 0x2e
mov dword [esp + 0xdc], 0x50
mov dword [esp + 0xec], 0x1f4
call fcn.00409990
mov eax, dword [esp + 0xd8]
mov byte [esp + 0xee0], 0x2a
cmp eax, ebx
mov dword [esp + 0xd4], edi
je 0x403595
push eax
call fcn.00461db1
add esp, 4
mov edx, dword [esp + 0xd4]
lea ecx, [esp + 0xd4]
call dword [edx + 0x68]
mov eax, dword [esp + 0x30]
mov dword [esp + 0xee0], 0xffffffff
cmp eax, ebx
mov dword [esp + 0x2c], edi
je 0x4035c6
push eax
call fcn.00461db1
add esp, 4
mov eax, dword [esp + 0x2c]
lea ecx, [esp + 0x2c]
call dword [eax + 0x68]
jmp case.0x401f1e.7
mov al, byte [ebp + 0x182]
xor ebx, ebx
cmp al, bl
je case.0x401f1e.7
cmp byte [ebp + 0x25c], bl
je 0x403605
push 0x24
push 0x48756c
mov ecx, ebp
call fcn.00401b40
cmp eax, 7
je case.0x401f1e.7
cmp byte [ebp + 0x240], bl
je 0x403696
cmp dword [ebp + 0x2d0], ebx
je 0x403696
cmp byte [ebp + 0x220], bl
je 0x403696
cmp byte [ebp + 0x221], bl
jne 0x403696
cmp byte [ebp + 0x230], bl
je 0x403696
cmp byte [ebp + 0x231], bl
jne 0x403696
push 2
mov ecx, ebp
call fcn.004049e0
mov edi, dword [ebp + 0x2d0]
xor esi, esi
mov dword [esp + 0x10], eax
mov edx, dword [edi + 0x18]
cmp edx, ebx
mov dword [esp + 0x18], edx
jle 0x403676
mov ecx, dword [edi + 0x14]
mov ecx, dword [ecx + esi*4]
cmp ecx, ebx
je 0x403671
mov edx, dword [ecx]
push eax
call dword [edx + 0x30]
mov eax, dword [esp + 0x10]
mov edx, dword [esp + 0x18]
inc esi
cmp esi, edx
jl 0x403659
mov word [edi + 0x24], ax
mov ebp, dword [ebp + 0x2d0]
mov eax, dword [ebp + 0x18]
dec eax
js 0x403696
mov ecx, dword [ebp + 0x14]
mov ecx, dword [ecx]
cmp ecx, ebx
je 0x403696
mov edx, dword [ecx]
push ebx
push ebx
call dword [edx + 0x20]
push 0x57
call fcn.0040fd30
add esp, 4
test eax, eax
je 0x4036ae
push 0x57
call fcn.00412560
add esp, 4
mov esi, 0x59
push esi
call fcn.0040fd30
add esp, 4
test eax, eax
je 0x4036cf
lea eax, [esi + 1]
push 1
push eax
push esi
call fcn.00412490
add esp, 0xc
dec esi
cmp esi, 0x50
jge 0x4036b3
push 0x50
call fcn.0040fe40
add esp, 4
jmp case.0x401f1e.7
mov ecx, ebp
call fcn.00404940
mov edx, dword [ebp + 0x27c]
lea ecx, [ebp + 0x27c]
call dword [edx + 8]
mov ecx, ebp
call fcn.00405e50
mov ecx, dword [ebp + 0xfc]
xor ebx, ebx
cmp ecx, ebx
je 0x403712
call fcn.00443520
mov ecx, dword [ebp + 0xf4]
cmp ecx, ebx
je 0x40372d
call fcn.004188e0
mov ecx, dword [ebp + 0xf4]
push ebx
call fcn.004188c0
push ebx
push ebx
push ebx
mov byte [ebp + 0x17c], bl
push 0x3e8
mov ecx, ebp
mov byte [ebp + 0x17b], bl
call fcn.00403ca0
push ebx
push ebx
push str.title
mov ecx, ebp
call fcn.00405e80
test al, al
jne 0x403767
push str.CMainWnd::OnReturnTitle___g_Adv.LoadScript___title_____false__n
call fcn.00418070
add esp, 4
push ebx
push 5
mov ecx, ebp
mov byte [ebp + 0x17e], bl
call fcn.00404d80
push ebx
push ebx
mov ecx, ebp
call fcn.00404d80
push ebx
push 1
mov ecx, ebp
call fcn.00404d80
push ebx
push 4
mov ecx, ebp
call fcn.00404d80
push ebx
push 8
mov ecx, ebp
call fcn.00404d80
mov ecx, dword [ebp + 0xf4]
cmp ecx, ebx
je 0x4037ad
call fcn.00418c90
mov ecx, dword [ebp + 0xfc]
cmp ecx, ebx
je 0x4037bc
call fcn.00446830
push 1
mov byte [ebp + 0x17c], bl
push 2
mov ecx, ebp
mov byte [ebp + 0x17b], bl
call fcn.00405490
mov ecx, dword [esp + 0xed8]
pop edi
pop esi
pop ebp
mov dword fs:[0], ecx
pop ebx
add esp, 0xed4
ret 4