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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x486b76
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x9b8
push ebx
mov ebx, ecx
mov eax, dword [ebx + 0x24fe0c]
push esi
xor esi, esi
cmp eax, esi
push edi
mov dword [esp + 0x1c], ebx
jne 0x413b31
mov eax, dword [ebx + 0x227154]
cmp eax, 1
jne 0x41270b
push esi
call fcn.004101e0
cmp dword [ebx + 0x227158], 1
jne 0x41272b
mov eax, dword [0x49d228]
mov dword [ebx + 0x227158], esi
mov eax, dword [eax + 0xae4]
mov dword [eax + 0x664], esi
push str.option.dat
mov ecx, ebx
call fcn.0040d9c0
mov ecx, dword [0x49d228]
push 0x104
lea eax, [esp + 0x4ec]
push eax
call fcn.00402680
lea edi, [esp + 0x4e8]
dec edi
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x412757
mov ecx, dword [str.save_]
mov dx, word [0x489b08]
mov eax, dword [ebp + 8]
mov dword [edi], ecx
mov word [edi + 4], dx
mov edx, eax
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x412777
lea edi, [esp + 0x4e8]
sub eax, edx
dec edi
mov cl, byte [edi + 1]
inc edi
test cl, cl
jne 0x412788
mov ecx, eax
shr ecx, 2
mov esi, edx
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
lea eax, [esp + 0x4e8]
and ecx, 3
push 0x489360
push eax
rep movsb byte es:[edi], byte [esi]
call fcn.0046570a
mov esi, eax
add esp, 8
test esi, esi
je 0x413b31
lea ecx, [esp + 0x358]
call fcn.0045d450
push 0x18
push 1
push 0x60
push 0x80
lea ecx, [esp + 0x368]
mov dword [esp + 0x9dc], 0
call fcn.0045cbf0
mov ecx, dword [esp + 0x388]
push esi
push 0x9000
push 1
push ecx
call fcn.00465d6a
add esp, 0x10
lea ecx, [esp + 0x5f0]
call fcn.00454000
lea ecx, [esp + 0x5f0]
mov byte [esp + 0x9cc], 1
call fcn.00453f20
push 0x800
push 0x60
push 0x80
lea ecx, [esp + 0x5fc]
call fcn.0044fef0
lea edx, [esp + 0x358]
push edx
lea ecx, [esp + 0x5f4]
call fcn.00447440
lea ecx, [esp + 0x5f0]
call fcn.00453f20
lea ecx, [esp + 0x358]
call fcn.00459ee0
xor eax, eax
mov dword [esp + 0x94], eax
mov dword [esp + 0x98], eax
mov dword [esp + 0x9c], eax
mov dword [esp + 0xa0], eax
mov dword [esp + 0xa4], eax
push esi
mov dword [esp + 0xac], eax
push 0x24
mov dword [esp + 0xb4], eax
lea ecx, [esp + 0x9c]
mov dword [esp + 0xb8], eax
push 1
push ecx
mov dword [esp + 0xc4], eax
call fcn.00465d6a
push esi
push 0x190
lea edx, [esp + 0x848]
xor eax, eax
push 1
mov ecx, 0x64
lea edi, [esp + 0x84c]
push edx
rep stosd dword es:[edi], eax
call fcn.00465d6a
mov eax, dword [0x49d228]
mov dword [esp + 0x4c], eax
mov eax, dword [eax + 0xad8]
mov dword [esp + 0x44], eax
xor eax, eax
xor ecx, ecx
mov dword [esp + 0x68], ecx
mov dword [esp + 0x6c], ecx
mov dword [esp + 0x70], ecx
mov dword [esp + 0x74], ecx
mov dword [esp + 0x78], ecx
mov dword [esp + 0x7c], ecx
mov dword [esp + 0x80], ecx
mov dword [esp + 0x84], ecx
mov dword [esp + 0x54], eax
mov dword [esp + 0x64], eax
mov dword [esp + 0x60], eax
mov dword [esp + 0x5c], eax
mov ecx, 0x10
push esi
push 0x20
lea edx, [esp + 0x70]
push 1
lea edi, [esp + 0x114]
push edx
rep stosd dword es:[edi], eax
call fcn.00465d6a
push esi
push 0x40
lea eax, [esp + 0x120]
push 1
push eax
call fcn.00465d6a
add esp, 0x40
push esi
push 4
lea ecx, [esp + 0x44]
push 1
push ecx
call fcn.00465d6a
push esi
push 4
lea edx, [esp + 0x4c]
push 1
push edx
call fcn.00465d6a
push esi
push 4
lea eax, [esp + 0x6c]
push 1
push eax
call fcn.00465d6a
push esi
push 4
lea ecx, [esp + 0x78]
push 1
push ecx
call fcn.00465d6a
add esp, 0x40
push 0
mov ecx, ebx
call fcn.00411e40
lea edx, [esp + 0x48]
push edx
mov ecx, ebx
call fcn.0040eab0
mov eax, dword [esp + 0x34]
mov ecx, dword [esp + 0x44]
mov edx, dword [esp + 0x40]
push esi
push 0xe14
mov dword [ebx + 0x6dfc], eax
lea edi, [ebx + 0x5340]
lea eax, [edi + 0x30]
push 1
push eax
mov dword [ebx + 0x7200], ecx
mov dword [ebx + 0x7204], edx
call fcn.00465d6a
push esi
push 0x364
lea eax, [edi + 0xe44]
push 1
push eax
mov dword [esp + 0x48], eax
call fcn.00465d6a
lea eax, [esp + 0x108]
mov ecx, eax
sub edi, ecx
add esp, 0x20
add edi, 0x1a78
mov cl, byte [eax]
mov byte [edi + eax], cl
inc eax
test cl, cl
jne 0x412a15
mov edx, dword [esp + 0x3c]
push esi
push 0x59c
lea edi, [ebx + 0x64e8]
push 1
push edi
mov dword [ebx + 0x6df8], edx
call fcn.00465d6a
xor eax, eax
mov dword [esp + 0x84], eax
mov dword [esp + 0x88], eax
mov dword [esp + 0x8c], eax
mov dword [esp + 0x90], eax
mov dword [esp + 0x94], eax
mov dword [esp + 0x98], eax
mov dword [esp + 0x9c], eax
lea edx, [esp + 0x84]
add esp, 0x10
mov dword [esp + 0x90], eax
mov eax, edi
sub edx, edi
mov cl, byte [eax]
mov byte [edx + eax], cl
inc eax
test cl, cl
jne 0x412a85
lea ecx, [esp + 0x74]
push ecx
mov ecx, ebx
call fcn.0040fe40
xor edi, edi
mov dword [esp + 0x18], edi
test edi, edi
jl 0x412ab6
cmp edi, 0x578
jge 0x412ab6
lea eax, [ebx + edi + 0x6508]
jmp 0x412ab8
xor eax, eax
mov edx, dword [eax + 0x24]
mov ecx, dword [eax + 0x20]
push edx
mov edx, dword [esp + 0x1c]
push ecx
push eax
push edx
mov ecx, ebx
call fcn.0040fc30
mov edx, dword [esp + 0x18]
inc edx
add edi, 0x8c
cmp edi, 0x578
mov dword [esp + 0x18], edx
jl 0x412aa1
push esi
push 4
lea eax, [ebx + 0x7528]
push 1
push eax
call fcn.00465d6a
add esp, 0x10
xor edi, edi
mov dword [esp + 0x18], edi
mov edi, edi
cmp edi, 0xffffffff
mov eax, edi
jne 0x412b0d
mov eax, dword [ebx + 0x7528]
test eax, eax
jl 0x412b25
cmp eax, 3
jge 0x412b25
imul eax, eax, 0x530c
lea eax, [eax + ebx + 0x752c]
jmp 0x412b27
xor eax, eax
push esi
push 0x530c
lea ecx, [eax + 0x52bc]
push 1
push eax
mov dword [esp + 0x30], ecx
call fcn.00465d6a
mov edx, dword [esp + 0x30]
mov ecx, dword [edx + 0x4c]
add esp, 0x10
cmp edi, 0xffffffff
mov eax, edi
jne 0x412b56
mov eax, dword [ebx + 0x7528]
cmp eax, 0xffffffff
jne 0x412b61
mov eax, dword [ebx + 0x7528]
test eax, eax
jl 0x412b79
cmp eax, 3
jge 0x412b79
imul eax, eax, 0x530c
lea eax, [eax + ebx + 0x752c]
jmp 0x412b7b
xor eax, eax
mov dword [eax + 0x5308], ecx
push edi
mov ecx, ebx
call fcn.0040e8b0
cmp edi, 0xffffffff
mov eax, edi
jne 0x412b96
mov eax, dword [ebx + 0x7528]
test eax, eax
jl 0x412bb2
cmp eax, 3
jge 0x412bb2
imul eax, eax, 0x478
lea eax, [eax + ebx + 0x2b08]
mov dword [esp + 0x14], eax
jmp 0x412bba
mov dword [esp + 0x14], 0
mov eax, dword [esp + 0x20]
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x412bc1
sub eax, edx
mov dword [esp + 0x10], eax
je 0x412bee
mov ecx, dword [esp + 0x14]
call fcn.00453f20
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x20]
push 0
push ecx
mov ecx, dword [esp + 0x34]
push edx
call fcn.00404920
cmp edi, 0xffffffff
mov eax, edi
jne 0x412bfb
mov eax, dword [ebx + 0x7528]
xor ecx, ecx
cmp eax, ecx
jl 0x412c1e
cmp eax, 3
jge 0x412c1e
imul eax, eax, 0x478
lea eax, [eax + ebx + 0x2b08]
add eax, 0x23c
mov dword [esp + 0x10], eax
jmp 0x412c22
mov dword [esp + 0x10], ecx
cmp edi, 0xffffffff
mov eax, edi
jne 0x412c2f
mov eax, dword [ebx + 0x7528]
cmp eax, ecx
jl 0x412c4b
cmp eax, 3
jge 0x412c4b
imul eax, eax, 0x530c
lea eax, [eax + ebx + 0x752c]
mov dword [esp + 0x14], eax
jmp 0x412c4f
mov dword [esp + 0x14], ecx
mov ecx, dword [esp + 0x20]
push ecx
mov ecx, ebx
call fcn.00410940
mov eax, dword [esp + 0x14]
add eax, 0x5290
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x412c67
sub eax, edx
mov dword [esp + 0x20], eax
je 0x412cc8
mov eax, dword [0x49d228]
mov edx, dword [eax + 0xad8]
push 0
push 0
lea edi, [ebx + 0x1be8]
push 0
mov ecx, edi
mov dword [esp + 0x2c], edx
call fcn.0044ff70
push 0
mov ecx, edi
call fcn.004474f0
mov ecx, eax
call fcn.004547b0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x20]
push 0x18
push 0
push 0
push edi
push 0x14
add eax, 0x5290
push eax
call fcn.0041fbf0
mov edi, dword [esp + 0x18]
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
push 1
push 0
push eax
push ecx
mov ecx, dword [esp + 0x34]
call fcn.00420e90
inc edi
cmp edi, 3
mov dword [esp + 0x18], edi
jl 0x412b00
push esi
push 0x530c
mov edi, 1
lea eax, [ebx + 0x16e50]
push edi
push eax
call fcn.00465d6a
add esp, 0x10
lea edx, [ebx + 0xc7e8]
push edx
mov ecx, ebx
call fcn.00410940
mov edx, dword [esp + 0x28]
lea ecx, [edx + 8]
xor eax, eax
cmp dword [ecx], edi
mov dword [esp + 0x28], ecx
jne 0x412d29
mov eax, edi
cmp dword [edx + 0xb4], edi
jne 0x412d32
inc eax
cmp dword [edx + 0x160], edi
jne 0x412d3b
inc eax
cmp dword [edx + 0x20c], edi
jne 0x412d44
inc eax
cmp dword [edx + 0x2b8], edi
jne 0x412d4d
inc eax
test eax, eax
jle 0x412f6b
lea edi, [ebx + 0x2714]
mov ecx, edi
call fcn.00453f20
mov ecx, edi
call fcn.00446750
mov ecx, edi
call fcn.00446750
test eax, eax
je 0x412d7b
mov ecx, edi
call fcn.00453f20
push 0x800
push 0x258
push 0x320
mov ecx, edi
call fcn.0044fef0
push 0
push 0
push 0
push 0x258
push 0x320
push 0
push 0
mov ecx, edi
call fcn.00447100
mov ecx, dword [esp + 0x28]
lea eax, [esp + 0x68]
mov dword [esp + 0x20], 0
mov dword [esp + 0x10], eax
mov dword [esp + 0x18], ecx
jmp 0x412dd0
mov edx, dword [esp + 0x18]
cmp dword [edx], 1
jne 0x412f4b
xor eax, eax
mov ecx, 0x41
lea edi, [esp + 0x128]
rep stosd dword es:[edi], eax
mov eax, dword [esp + 0x24]
add eax, 0x28
lea edx, [esp + 0x128]
mov dword [esp + 0x68], 0x5a
mov dword [esp + 0x6c], 0x95
mov dword [esp + 0x70], 0xd0
sub edx, eax
mov cl, byte [eax]
mov byte [edx + eax], cl
inc eax
test cl, cl
jne 0x412e15
mov eax, dword [esp + 0x18]
add eax, 0xc
mov dword [esp + 0x14], eax
lea edx, [eax + 1]
lea ecx, [ecx]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x412e30
sub eax, edx
shr eax, 1
lea eax, [eax + eax*2]
shl eax, 3
mov ecx, eax
mov eax, 0x320
sub eax, ecx
cdq
sub eax, edx
sar eax, 1
test eax, eax
jge 0x412e55
xor eax, eax
mov edx, dword [esp + 0x10]
mov ecx, dword [edx]
mov edx, dword [esp + 0x14]
mov edi, dword [esp + 0x24]
add ecx, 2
push ecx
push eax
lea eax, [ebx + 0x2714]
push eax
push 0x1d
push edx
mov ecx, edi
call fcn.0041fba0
lea eax, [esp + 0x128]
push eax
mov ecx, edi
call fcn.0041f4a0
mov ecx, dword [esp + 0x20]
push 0xffffffffffffffff
push ecx
lea eax, [ebx + 0x16e50]
push eax
mov ecx, edi
call fcn.0041eb20
mov edx, dword [esp + 0x18]
cmp dword [edx + 4], 1
jne 0x412eef
mov eax, dword [esp + 0x14]
push 0xff
push 0xff
push 0
push 0x18
push 0x40
push eax
lea eax, [ebx + 0x16e50]
push eax
mov ecx, edi
call fcn.0041fdb0
push 0xff
push 0xff
push 0
push 0x18
push 4
push 0x489870
lea eax, [ebx + 0x16e50]
push eax
mov ecx, edi
call fcn.0041fdb0
jmp 0x412f19
mov ecx, dword [esp + 0x14]
push 0x40
push ecx
lea eax, [ebx + 0x16e50]
push eax
mov ecx, edi
call fcn.00420040
push 4
push 0x489870
lea eax, [ebx + 0x16e50]
push eax
mov ecx, edi
call fcn.00420040
mov edx, dword [esp + 0x20]
push 0xffffffffffffffff
push edx
lea eax, [ebx + 0x16e50]
push eax
mov ecx, edi
call fcn.0041eb70
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x20]
push eax
push ecx
lea eax, [ebx + 0x16e50]
push eax
mov ecx, edi
call fcn.0041ebc0
add dword [esp + 0x10], 4
mov eax, dword [esp + 0x20]
mov edx, dword [esp + 0x18]
inc eax
add edx, 0xac
cmp eax, 5
mov dword [esp + 0x20], eax
mov dword [esp + 0x18], edx
jl 0x412dd0
mov edi, dword [ebx + 0x7528]
test edi, edi
jl 0x412f89
cmp edi, 3
jge 0x412f89
imul edi, edi, 0x530c
lea edi, [edi + ebx + 0x752c]
jmp 0x412f8b
xor edi, edi
mov eax, dword [0x49d228]
mov eax, dword [eax + 0xad8]
xor edx, edx
mov dl, byte [edi + 0x52e6]
xor ecx, ecx
mov cl, byte [edi + 0x52e5]
mov dword [esp + 0x14], eax
push edx
xor edx, edx
mov dl, byte [edi + 0x52e4]
push ecx
mov ecx, eax
push edx
call fcn.0041f450
mov eax, dword [edi + 0x52ec]
mov ecx, dword [esp + 0x14]
push eax
call fcn.0041f420
mov ecx, dword [edi + 0x5304]
push ecx
mov ecx, dword [esp + 0x18]
call fcn.0041f3e0
mov ecx, dword [esp + 0x14]
push 0x489ae4
call fcn.00420020
mov edx, dword [edi + 0x5300]
mov eax, dword [edi + 0x52fc]
mov ecx, dword [esp + 0x14]
push edx
push eax
call fcn.0041f430
mov eax, dword [ebx + 0x7528]
cmp eax, 0xffffffff
mov ecx, dword [0x49d228]
mov edx, eax
jne 0x413014
test edx, edx
jl 0x41302c
cmp edx, 3
jge 0x41302c
imul edx, edx, 0x530c
lea edx, [edx + ebx + 0x752c]
jmp 0x41302e
xor edx, edx
mov eax, dword [ebx + 0x7528]
test eax, eax
mov ecx, dword [ecx + 0xad8]
lea edi, [ebx + 0x7208]
mov dword [esp + 0x28], ecx
jl 0x41305c
cmp eax, 3
jge 0x41305c
imul eax, eax, 0x478
lea eax, [eax + ebx + 0x2b08]
jmp 0x41305e
xor eax, eax
mov ecx, dword [eax + 0x228]
test ecx, ecx
mov dword [esp + 0x10], eax
jne 0x413071
mov eax, dword [eax + 0x78]
jmp 0x413077
mov eax, dword [eax + 0x1c0]
mov ecx, dword [edx + 0x52fc]
shl ecx, 1
sub eax, ecx
mov ecx, eax
mov eax, dword [esp + 0x10]
cmp dword [eax + 0x228], 0
jne 0x413095
mov eax, dword [eax + 0x7c]
jmp 0x41309b
mov eax, dword [eax + 0x1bc]
sub eax, dword [edx + 0x5300]
mov edx, dword [edx + 0x5308]
push eax
push ecx
mov ecx, dword [esp + 0x30]
push edx
call fcn.0041f470
mov ecx, ebx
call fcn.0040c960
mov ecx, ebx
call fcn.0040c9f0
mov eax, dword [esp + 0x2c]
mov ecx, dword [eax + 0xae0]
push esi
push 4
push 1
push edi
mov dword [esp + 0x30], ecx
call fcn.00465d6a
mov edx, dword [edi]
add esp, 0x10
push edx
mov ecx, ebx
call fcn.00411290
cmp dword [edi], 0
mov dword [esp + 0x18], 0
jle 0x413282
mov dword [esp + 0x10], 0
mov eax, dword [esp + 0x1c]
add eax, 0x7208
mov eax, dword [eax]
test eax, eax
jle 0x41312a
cmp dword [esp + 0x18], eax
jge 0x41312a
mov eax, dword [esp + 0x1c]
mov ebx, dword [eax + 0x7214]
add eax, 0x7208
add ebx, dword [esp + 0x10]
jmp 0x41312c
xor ebx, ebx
mov ecx, dword [ebx + 0x28]
call fcn.004273a0
xor eax, eax
mov ecx, 0x41
lea edi, [esp + 0x128]
rep stosd dword es:[edi], eax
push esi
mov ecx, 0x41
lea edi, [esp + 0x234]
push 0x104
rep stosd dword es:[edi], eax
lea eax, [esp + 0x130]
push 1
push eax
mov dword [esp + 0x34], 0
call fcn.00465d6a
push esi
push 0x104
lea ecx, [esp + 0x248]
push 1
push ecx
call fcn.00465d6a
push esi
push 4
lea edx, [esp + 0x4c]
push 1
push edx
call fcn.00465d6a
lea eax, [esp + 0x158]
add esp, 0x30
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4131a0
sub eax, edx
mov dword [esp + 0x28], eax
je 0x4131c1
mov ecx, dword [esp + 0x20]
lea eax, [esp + 0x128]
push eax
push ebx
call fcn.004270a0
push esi
push 0x11c
lea edi, [ebx + 0x2c]
push 1
push edi
call fcn.00465d6a
push esi
push 4
lea ecx, [ebx + 8]
push 1
push ecx
call fcn.00465d6a
push esi
push 4
lea eax, [ebx + 4]
push 1
push eax
call fcn.00465d6a
push esi
push 4
push 1
push ebx
call fcn.00465d6a
add esp, 0x40
push esi
push 4
lea edx, [ebx + 0x24]
push 1
push edx
call fcn.00465d6a
push esi
push 8
lea eax, [ebx + 0xc]
push 1
push eax
call fcn.00465d6a
push esi
push 4
lea ecx, [ebx + 0x20]
push 1
push ecx
call fcn.00465d6a
mov edx, dword [ebx + 4]
mov ecx, dword [esp + 0x50]
add esp, 0x30
push edx
push ebx
call fcn.00426e50
push 0
push edi
mov edi, dword [esp + 0x28]
push ebx
mov ecx, edi
call fcn.00426d50
mov eax, dword [esp + 0x24]
push eax
push ebx
mov ecx, edi
call fcn.00426f10
mov ecx, dword [esp + 0x1c]
mov eax, dword [esp + 0x18]
mov edi, dword [esp + 0x10]
mov edx, dword [ecx + 0x7208]
add ecx, 0x7208
inc eax
add edi, 0x268
cmp eax, edx
mov dword [esp + 0x18], eax
mov dword [esp + 0x10], edi
jl 0x413100
mov edi, dword [esp + 0x1c]
mov ecx, edi
call fcn.0040eca0
lea ecx, [edi + 0xe80]
push ecx
mov ecx, edi
call fcn.0040e970
push esi
push 4
lea ebx, [edi + 0x720c]
push 1
push ebx
call fcn.00465d6a
mov edx, dword [ebx]
add esp, 0x10
push edx
mov ecx, edi
call fcn.0040ee00
cmp dword [ebx], 0
mov dword [esp + 0x18], 0
jle 0x4133a1
mov dword [esp + 0x10], 0
mov ecx, dword [esp + 0x1c]
mov eax, dword [ecx + 0x720c]
test eax, eax
jle 0x4132f2
cmp dword [esp + 0x18], eax
jge 0x4132f2
mov edi, dword [ecx + 0x7218]
add edi, dword [esp + 0x10]
jmp 0x4132f4
xor edi, edi
push esi
push 0x11c
lea eax, [edi + 0x34]
push 1
push eax
call fcn.00465d6a
push esi
push 4
lea ecx, [edi + 8]
push 1
push ecx
call fcn.00465d6a
push esi
push 4
lea eax, [edi + 4]
push 1
push eax
call fcn.00465d6a
push esi
push 4
push 1
push edi
call fcn.00465d6a
add esp, 0x40
push esi
push 0x10
lea ebx, [edi + 0xc]
push 1
push ebx
call fcn.00465d6a
push esi
push 0x10
lea edx, [edi + 0x1c]
push 1
push edx
call fcn.00465d6a
mov eax, dword [edi + 4]
mov ecx, dword [esp + 0x40]
add esp, 0x20
push eax
push edi
call fcn.00426e50
mov ecx, dword [esp + 0x20]
push ebx
push edi
call fcn.00426ed0
mov ecx, dword [esp + 0x20]
push ebx
push edi
call fcn.00426ed0
mov ecx, dword [esp + 0x1c]
mov eax, dword [esp + 0x18]
mov edi, dword [esp + 0x10]
mov edx, dword [ecx + 0x720c]
add ecx, 0x720c
inc eax
add edi, 0x2b8
cmp eax, edx
mov dword [esp + 0x18], eax
mov dword [esp + 0x10], edi
jl 0x4132d2
mov edi, dword [esp + 0x1c]
push esi
push 4
lea ebx, [edi + 0x7210]
push 1
push ebx
call fcn.00465d6a
mov eax, dword [ebx]
add esp, 0x10
test eax, eax
mov dword [esp + 0x18], 0
jle 0x41351a
add edi, 0x2271f8
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], edi
lea ecx, [ecx]
mov eax, dword [esp + 0x14]
test eax, eax
jl 0x4133f5
cmp eax, 0x300
jge 0x4133f5
mov ebx, dword [esp + 0x10]
jmp 0x4133f7
xor ebx, ebx
test eax, eax
jl 0x413415
cmp eax, 0x300
jge 0x413415
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x14]
add eax, 0x7208
lea edi, [eax + ecx + 0x18]
jmp 0x413417
xor edi, edi
push esi
push 0x40
push 1
push edi
call fcn.00465d6a
add esp, 0x10
mov ecx, ebx
call fcn.00438fd0
mov eax, edi
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x413431
sub eax, edx
mov dword [esp + 0x28], eax
je 0x4134dc
push edi
mov ecx, ebx
call fcn.00439a80
mov ecx, dword [esp + 0x1c]
call fcn.0040f120
mov edx, dword [edi + 0x28]
push edx
mov ecx, ebx
call fcn.00438f30
mov eax, dword [edi + 0x2c]
push eax
mov ecx, ebx
call fcn.004391e0
mov ecx, dword [edi + 0x38]
push ecx
mov ecx, ebx
call fcn.00439520
mov edx, dword [edi + 0x3c]
push edx
mov ecx, ebx
call fcn.00438ec0
cmp dword [edi + 0x28], 1
jne 0x4134dc
mov eax, dword [edi + 0x34]
test eax, eax
mov ecx, ebx
jbe 0x413495
push eax
push 1
jmp 0x413499
push 0
push 0
call fcn.00438f10
mov ecx, dword [edi + 0x20]
mov eax, 1
cmp ecx, eax
jne 0x4134b6
mov ecx, ebx
call fcn.00439560
mov eax, 1
cmp dword [edi + 0x24], eax
jne 0x4134c7
mov ecx, ebx
call fcn.00439010
mov eax, 1
cmp dword [edi + 0x30], eax
jne 0x4134dc
mov dword [ebx + 0x16a0], 0xffffd8f0
mov dword [ebx + 0x1698], eax
mov ecx, dword [esp + 0x1c]
mov eax, dword [esp + 0x18]
mov ebx, dword [esp + 0x10]
mov edi, dword [esp + 0x14]
mov edx, dword [ecx + 0x7210]
add ecx, 0x7210
inc eax
add ebx, 0x16c0
add edi, 0x40
cmp eax, edx
mov dword [esp + 0x18], eax
mov dword [esp + 0x10], ebx
mov dword [esp + 0x14], edi
jl 0x4133e0
mov edi, dword [esp + 0x1c]
mov ecx, edi
call fcn.0040f120
push esi
push 0x3c
lea eax, [edi + 0x7208]
add eax, 0x14f7c
push 1
push eax
call fcn.00465d6a
mov eax, dword [esp + 0x3c]
mov ebx, dword [eax + 0xad4]
push esi
push 4
xor eax, eax
lea ecx, [esp + 0x50]
push 1
push ecx
mov dword [esp + 0x58], eax
mov dword [esp + 0x50], eax
mov dword [esp + 0x30], eax
call fcn.00465d6a
push esi
push 4
lea edx, [esp + 0x58]
push 1
push edx
call fcn.00465d6a
mov eax, dword [esp + 0x68]
mov ecx, dword [ebx + 8]
add esp, 0x30
cmp ecx, eax
jne 0x413584
mov ecx, dword [ebx + 0xc]
cmp ecx, dword [esp + 0x30]
je 0x41358c
mov dword [esp + 0x10], 1
test eax, eax
mov dword [esp + 0x24], 0
jle 0x41362c
lea esp, [esp]
push esi
push 0x30
lea edx, [esp + 0xc0]
xor eax, eax
push 1
mov ecx, 0xc
lea edi, [esp + 0xc4]
push edx
rep stosd dword es:[edi], eax
call fcn.00465d6a
push 2
lea eax, [esp + 0xd0]
push 0x489bc4
push eax
call fcn.00467159
add esp, 0x1c
test eax, eax
je 0x413617
mov eax, dword [esp + 0x10]
test eax, eax
push 1
jne 0x413600
mov ecx, dword [esp + 0xe0]
push ecx
lea edx, [esp + 0xc4]
push edx
mov ecx, ebx
call fcn.004431d0
jmp 0x413617
lea eax, [esp + 0xbc]
push eax
lea ecx, [esp + 0xc4]
push ecx
mov ecx, ebx
call fcn.00443320
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x38]
inc eax
cmp eax, ecx
mov dword [esp + 0x24], eax
jl 0x4135a0
mov eax, dword [esp + 0x30]
test eax, eax
mov dword [esp + 0x24], 0
jle 0x4136cf
push esi
push 0x124
lea edx, [esp + 0x238]
xor eax, eax
push 1
mov ecx, 0x49
lea edi, [esp + 0x23c]
push edx
rep stosd dword es:[edi], eax
call fcn.00465d6a
push 2
lea eax, [esp + 0x248]
push 0x489bc4
push eax
call fcn.00467159
add esp, 0x1c
test eax, eax
je 0x4136ba
mov eax, dword [esp + 0x10]
test eax, eax
push 1
jne 0x4136a3
lea ecx, [esp + 0x258]
push ecx
lea edx, [esp + 0x23c]
push edx
mov ecx, ebx
call fcn.004432c0
jmp 0x4136ba
lea eax, [esp + 0x234]
push eax
lea ecx, [esp + 0x23c]
push ecx
mov ecx, ebx
call fcn.004433b0
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x30]
inc eax
cmp eax, ecx
mov dword [esp + 0x24], eax
jl 0x413640
mov ebx, dword [esp + 0x1c]
push esi
push 4
add ebx, 0x7208
lea edi, [ebx + 0x14f70]
push 1
push edi
call fcn.00465d6a
mov eax, dword [edi]
add esp, 0x10
cmp eax, 1
mov eax, dword [0x49d228]
mov eax, dword [eax + 0xae4]
jne 0x413710
mov edx, dword [esp + 0x1c]
cmp dword [edx + 0x1c178], 1
jne 0x41371b
push 1
jmp 0x413712
push 0
mov ecx, eax
push 0
call fcn.00439be0
push esi
push 4
lea eax, [ebx + 0x14f74]
push 1
push eax
mov dword [esp + 0x30], eax
call fcn.00465d6a
push esi
push 0x48
add ebx, 0x21fef4
push 1
push ebx
call fcn.00465d6a
mov eax, dword [ebx]
mov ecx, dword [esp + 0x4c]
add esp, 0x20
cmp eax, 1
jne 0x413838
mov eax, dword [esp + 0x1c]
mov edx, dword [eax + 0x2271b0]
test edx, edx
mov edi, dword [ecx + 0xaf4]
jne 0x4137ea
push edi
call fcn.00455010
mov ecx, eax
call fcn.00458af0
cmp eax, 1
jne 0x4137ea
mov ecx, edi
call fcn.004264c0
lea edx, [ebx + 0x28]
mov eax, edx
lea ecx, [eax + 1]
mov dword [edi + 0x688], 1
mov dword [esp + 0x28], ecx
lea ebx, [ebx]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4137a0
sub eax, dword [esp + 0x28]
mov dword [esp + 0x28], eax
je 0x4137b9
mov ecx, edi
push edx
call fcn.00426480
mov edx, dword [esp + 0x1c]
cmp dword [edx + 0x2271b0], 1
jne 0x4137cd
mov ecx, edi
call fcn.00426580
cmp dword [ebx + 4], 1
jne 0x4137da
mov ecx, edi
call fcn.00425e10
mov eax, dword [esp + 0x1c]
mov dword [eax + 0x2b04], 1
jmp 0x413843
mov eax, dword [esp + 0x1c]
add eax, 0x1770
push eax
push 0
lea ecx, [ebx + 8]
push ecx
mov ecx, edi
mov dword [edi + 0x688], 1
call fcn.00426760
cmp al, 1
jne 0x413818
push 1
mov ecx, edi
call fcn.00406330
lea edx, [ebx + 0x28]
mov eax, edx
lea ecx, [eax + 1]
mov dword [esp + 0x28], ecx
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x413824
sub eax, dword [esp + 0x28]
mov dword [esp + 0x28], eax
jmp 0x4137af
mov ecx, dword [ecx + 0xaf4]
call fcn.004264c0
mov ebx, dword [0x49d228]
push 0x104
lea edx, [esp + 0x12c]
xor eax, eax
mov ecx, 0x41
lea edi, [esp + 0x12c]
push edx
rep stosd dword es:[edi], eax
mov ecx, dword [ebx + 0xad4]
push str.DATE
call fcn.00443270
mov ecx, dword [ebx + 0xae4]
lea eax, [esp + 0x128]
push eax
mov eax, dword [esp + 0x20]
add eax, 0x5340
mov dword [esp + 0x18], eax
add eax, 0x1a78
push eax
call fcn.00439b00
mov edi, dword [esp + 0x2c]
mov ecx, edi
call fcn.00455000
mov ecx, eax
call fcn.00456d50
mov ecx, dword [edi + 0xb48]
mov ebx, dword [edi + 0xb44]
mov edi, dword [edi + 0xb4c]
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x1c]
add eax, 0x7208
mov dword [esp + 0x24], ecx
cmp dword [eax + 0x14f7c], 1
mov dword [esp + 0x28], eax
jne 0x41391a
mov edx, dword [eax + 0x14f8c]
mov ecx, dword [eax + 0x14f84]
push 0x1e
push edx
mov edx, dword [eax + 0x14f88]
mov eax, dword [eax + 0x14f80]
push ecx
push edx
push eax
mov ecx, ebx
call fcn.0040a870
mov ecx, dword [esp + 0x10]
push 1
push 1
push 0xa0000000
push ecx
mov ecx, ebx
call fcn.0040aa10
jmp 0x41393f
mov ecx, dword [esp + 0x2c]
push ebx
call fcn.00455010
mov ecx, eax
call fcn.00458af0
cmp eax, 1
jne 0x41393f
mov edx, dword [esp + 0x2c]
mov ecx, dword [edx + 0xb44]
call fcn.00409720
mov ebx, dword [esp + 0x28]
cmp dword [ebx + 0x14f90], 1
jne 0x41399f
fld qword [0x489948]
mov eax, dword [ebx + 0x14fa0]
mov ecx, dword [ebx + 0x14f9c]
mov edx, dword [ebx + 0x14f94]
sub esp, 8
fstp qword [esp]
push 0x14
fild dword [ebx + 0x14f98]
push 0x32
push eax
sub esp, 8
fstp qword [esp]
push ecx
mov ecx, dword [esp + 0x44]
push edx
call fcn.0040adc0
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x24]
push 1
push 1
push 0xa0000000
push eax
call fcn.0040b440
jmp 0x4139ca
mov ecx, dword [esp + 0x2c]
mov eax, dword [ecx + 0xb48]
push eax
call fcn.00455010
mov ecx, eax
call fcn.00458af0
cmp eax, 1
jne 0x4139ca
mov ecx, dword [esp + 0x2c]
mov ecx, dword [ecx + 0xb48]
call fcn.00409720
cmp dword [ebx + 0x14fa4], 1
jne 0x413a30
fld qword [0x489978]
mov edx, dword [ebx + 0x14fb4]
mov eax, dword [ebx + 0x14fb0]
mov ecx, dword [ebx + 0x14fa8]
sub esp, 0x10
fstp qword [esp + 8]
fld qword [0x489948]
fstp qword [esp]
push 0x50
fild dword [ebx + 0x14fac]
push 0x32
push edx
sub esp, 8
fstp qword [esp]
push eax
push ecx
mov ecx, edi
call fcn.00409950
mov edx, dword [esp + 0x10]
push 1
push 1
push 0xa0000000
push edx
mov ecx, edi
call fcn.0040a220
mov edi, dword [esp + 0x2c]
jmp 0x413a59
mov edi, dword [esp + 0x2c]
mov eax, dword [edi + 0xb4c]
push eax
mov ecx, edi
call fcn.00455010
mov ecx, eax
call fcn.00458af0
cmp eax, 1
jne 0x413a59
mov ecx, dword [edi + 0xb4c]
call fcn.00409720
push esi
call fcn.0046558c
mov eax, dword [esp + 0x18]
mov ecx, dword [eax + 0xe44]
add esp, 4
test ecx, ecx
jne 0x413a93
mov ecx, dword [eax + 0x1740]
test ecx, ecx
jne 0x413a93
mov eax, dword [esp + 0x20]
cmp dword [eax], 0
jne 0x413a93
mov ebx, dword [esp + 0x1c]
mov dword [ebx + 0x2b00], 1
jmp 0x413aa1
mov ebx, dword [esp + 0x1c]
mov dword [ebx + 0x2b00], 0
mov edx, dword [esp + 0x34]
mov ecx, dword [edi + 0xae8]
push edx
lea eax, [esp + 0x4c]
push eax
call fcn.0043b5f0
mov edi, dword [ebp + 8]
mov esi, str.save_sel.sav
mov ecx, 0xd
xor eax, eax
repe cmpsb byte [esi], byte es:[edi]
je 0x413ace
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x413ade
push str.save_sel.sav
mov ecx, ebx
call fcn.0040d260
lea ecx, [esp + 0x5f0]
mov byte [esp + 0x9cc], 0
call fcn.004537c0
lea ecx, [esp + 0x358]
mov dword [esp + 0x9cc], 0xffffffff
call fcn.0045d2a0
push str.option.dat
mov ecx, ebx
call fcn.0040ff60
mov eax, 1
mov ecx, dword [esp + 0x9c4]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
mov ecx, dword [esp + 0x9c4]
pop edi
pop esi
xor eax, eax
mov dword fs:[0], ecx
pop ebx
mov esp, ebp
pop ebp
ret 4