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

Disassembly:
push 0xffffffffffffffff
push 0x4c9f92
mov eax, dword fs:[0]
push eax
sub esp, 0xa30
mov eax, dword [0x522d80]
xor eax, esp
mov dword [esp + 0xa2c], eax
push ebx
push ebp
push esi
push edi
mov eax, dword [0x522d80]
xor eax, esp
push eax
lea eax, [esp + 0xa44]
mov dword fs:[0], eax
xor ebx, ebx
mov edi, ecx
mov eax, 0xf
mov dword [esp + 0x4c], edi
mov dword [esp + 0x18], ebx
mov dword [esp + 0xdc], eax
mov dword [esp + 0xd8], ebx
mov byte [esp + 0xc8], bl
mov dword [esp + 0xa4c], ebx
mov dword [esp + 0x114], eax
mov dword [esp + 0x110], ebx
mov byte [esp + 0x100], bl
mov dword [esp + 0xc0], eax
mov dword [esp + 0xbc], ebx
mov byte [esp + 0xac], bl
mov dword [esp + 0xf8], eax
mov dword [esp + 0xf4], ebx
mov byte [esp + 0xe4], bl
push 0x3ff
lea eax, [esp + 0x645]
push ebx
push eax
mov byte [esp + 0xa58], 3
mov byte [esp + 0x64c], bl
call fcn.00496bf0
add esp, 0xc
lea ecx, [esp + 0x90]
call fcn.00491a58
lea ecx, [esp + 0x38]
mov byte [esp + 0xa4c], 4
call fcn.004910ab
lea ecx, [esp + 0x54]
or ebp, 0xffffffff
mov esi, 0x46
push ecx
mov byte [esp + 0xa50], 5
mov dword [esp + 0x20], ebx
mov dword [esp + 0x18], ebx
mov dword [esp + 0x4c], ebp
mov dword [esp + 0x11c], ebx
mov dword [esp + 0x120], ebx
mov dword [esp + 0x124], ebx
mov dword [esp + 0x128], ebx
mov dword [esp + 0x12c], ebx
mov dword [esp + 0x130], ebx
mov dword [esp + 0x54], ebx
mov dword [esp + 0x58], ebx
mov dword [esp + 0x5c], ebx
mov dword [esp + 0x60], ebx
mov dword [esp + 0x64], 2
mov dword [esp + 0x68], ebx
mov dword [esp + 0x6c], esi
mov dword [esp + 0x78], ebp
call fcn.00499b71
mov dword [esp + 0x28], eax
and eax, edx
add esp, 4
mov dword [esp + 0x28], edx
cmp eax, ebp
jne 0x455b88
push 0x80070057
call fcn.00405150
lea edx, [esp + 0x54]
push edx
mov dword [esp + 0x58], ebx
mov dword [esp + 0x5c], ebx
mov dword [esp + 0x60], ebx
mov dword [esp + 0x64], 2
mov dword [esp + 0x68], ebx
mov dword [esp + 0x6c], esi
mov dword [esp + 0x78], ebp
call fcn.00499b71
mov dword [esp + 0x34], eax
and eax, edx
add esp, 4
mov dword [esp + 0x34], edx
cmp eax, ebp
jne 0x455bcd
push 0x80070057
call fcn.00405150
lea eax, [esp + 0x54]
push eax
mov dword [esp + 0x58], ebx
mov dword [esp + 0x5c], ebx
mov dword [esp + 0x60], ebx
mov dword [esp + 0x64], 2
mov dword [esp + 0x68], ebx
mov dword [esp + 0x6c], esi
mov dword [esp + 0x78], ebp
call fcn.00499b71
mov dword [esp + 0x7c], eax
and eax, edx
add esp, 4
mov dword [esp + 0x7c], edx
cmp eax, ebp
jne 0x455c12
push 0x80070057
call fcn.00405150
lea ecx, [edi + 0xa49c]
call fcn.00449930
lea ecx, [edi + 0xa5e0]
call fcn.00449930
mov eax, dword [edi + 0xa5d0]
dec eax
neg eax
sbb eax, eax
and eax, 0xffffffce
add eax, 0x64
xor esi, esi
cmp eax, ebx
mov dword [esp + 0x80], eax
mov dword [esp + 0x20], esi
jle 0x456276
jmp 0x455c54
mov esi, dword [esp + 0x20]
cmp esi, 0x32
jge 0x455cd4
lea eax, [edi + 0xa49c]
mov ebp, eax
lea eax, [edi + 0x1344]
mov dword [esp + 0x2c], ebp
lea edx, [eax + 1]
mov edi, edi
mov cl, byte [eax]
inc eax
cmp cl, bl
jne 0x455c70
sub eax, edx
push eax
lea eax, [edi + 0x1344]
push eax
lea ecx, [esp + 0xcc]
call fcn.00402870
push esi
push str._save_02d.dat
lea ecx, [esp + 0x648]
push 0x400
push ecx
call fcn.004982b5
add esp, 0x10
mov dword [esp + 0x18], esi
cmp dword [esp + 0x50], ebx
jne 0x455d2a
mov eax, dword [esp + 0x78]
mov ecx, dword [esp + 0x7c]
mov dword [esp + 0x24], eax
mov dword [esp + 0x28], ecx
mov dword [esp + 0x30], eax
mov dword [esp + 0x34], ecx
mov dword [esp + 0x50], 1
jmp 0x455d2a
lea eax, [edi + 0xa5e0]
mov dword [esp + 0x2c], eax
lea eax, [edi + 0x1344]
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
cmp cl, bl
jne 0x455ce7
sub eax, edx
push eax
lea eax, [edi + 0x1344]
push eax
lea ecx, [esp + 0xcc]
call fcn.00402870
lea eax, [esi - 0x32]
push eax
push str.Qsave_02d.dat
lea edx, [esp + 0x648]
push 0x400
push edx
mov dword [esp + 0x28], eax
call fcn.004982b5
mov ebp, dword [esp + 0x3c]
add esp, 0x10
lea eax, [esp + 0x640]
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
cmp cl, bl
jne 0x455d34
sub eax, edx
push eax
lea eax, [esp + 0x644]
push eax
lea ecx, [esp + 0xcc]
call fcn.00407af0
mov eax, dword [esp + 0xc8]
mov esi, 0x10
cmp dword [esp + 0xdc], esi
jae 0x455d6e
lea eax, [esp + 0xc8]
push ebx
push eax
lea ecx, [esp + 0x98]
call fcn.00491aed
mov dword [esp + 0x1c], eax
cmp eax, ebx
je 0x45613d
push 0x80
lea ecx, [esp + 0x244]
push ebx
push ecx
call fcn.00496bf0
add esp, 0xc
lea ecx, [esp + 0x90]
call fcn.004917f1
mov eax, dword [esp + 0xc8]
cmp dword [esp + 0xdc], esi
jae 0x455dc1
lea eax, [esp + 0xc8]
push ebx
push 0x2010
push eax
lea ecx, [esp + 0x44]
call fcn.00491521
lea ecx, [esp + 0x38]
call fcn.00490f96
push 4
lea edx, [esp + 0x4c]
push edx
lea ecx, [esp + 0x40]
mov dword [esp + 0x94], eax
call fcn.00490d9f
mov eax, dword [edi + 0xb20]
cmp eax, dword [esp + 0x48]
je 0x455e90
mov ecx, dword [ebp + 0xbc]
sub ecx, dword [ebp + 0xb8]
mov esi, dword [esp + 0x18]
sar ecx, 2
cmp esi, ecx
jb 0x455e1d
call fcn.00497123
mov edx, dword [ebp + 0xb8]
mov esi, dword [edx + esi*4]
mov eax, dword [esi]
cmp eax, ebx
je 0x455e3d
push eax
call fcn.00498be9
add esp, 4
mov dword [esi + 4], ebx
mov dword [esi], ebx
mov dword [esi + 8], ebx
push 0x1e
push 0x4d4450
lea ecx, [esp + 0x104]
call fcn.00402870
push ebx
push 0x4cf96b
lea ecx, [esp + 0xb0]
call fcn.00402870
push ebx
push 0x4cf96b
lea ecx, [esp + 0xe8]
call fcn.00402870
inc dword [ebp + 0x138]
lea ecx, [esp + 0x38]
mov dword [esp + 0x1c], 0xffffffff
call fcn.00491045
jmp 0x4561ad
push 4
lea eax, [esp + 0x18]
push eax
lea ecx, [esp + 0x40]
call fcn.00490d9f
mov ecx, dword [ebp + 0xbc]
sub ecx, dword [ebp + 0xb8]
mov esi, dword [esp + 0x18]
sar ecx, 2
cmp esi, ecx
jb 0x455ebc
call fcn.00497123
mov edx, dword [ebp + 0xb8]
mov esi, dword [edx + esi*4]
mov eax, dword [esi]
mov edi, dword [esp + 0x14]
cmp eax, ebx
jne 0x455edf
cmp dword [esi + 4], ebx
jg 0x455edf
push edi
call fcn.00498b1f
add esp, 4
jmp 0x455efd
mov ebp, dword [esi + 4]
xor ecx, ecx
cmp ebp, ebx
setl cl
push edi
push eax
dec ecx
and ecx, ebp
mov dword [esi + 4], ecx
call fcn.004988b5
mov ebp, dword [esp + 0x34]
add esp, 8
push edi
push ebx
push eax
mov dword [esi + 4], edi
mov dword [esi], eax
call fcn.00496bf0
mov ecx, dword [esp + 0x20]
mov esi, dword [esi]
add esp, 0xc
push ecx
push esi
lea ecx, [esp + 0x40]
call fcn.00490d9f
push 0x400
lea edx, [esp + 0x244]
push ebx
push edx
call fcn.00496bf0
add esp, 0xc
push 4
lea eax, [esp + 0x18]
push eax
lea ecx, [esp + 0x40]
call fcn.00490d9f
mov ecx, dword [esp + 0x14]
push ecx
lea edx, [esp + 0x244]
push edx
lea ecx, [esp + 0x40]
call fcn.00490d9f
lea eax, [esp + 0x240]
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
cmp cl, bl
jne 0x455f64
sub eax, edx
push eax
lea eax, [esp + 0x244]
push eax
lea ecx, [esp + 0xe8]
call fcn.00402870
push 0x400
lea ecx, [esp + 0x244]
push ebx
push ecx
call fcn.00496bf0
add esp, 0xc
push 4
lea edx, [esp + 0x18]
push edx
lea ecx, [esp + 0x40]
call fcn.00490d9f
mov eax, dword [esp + 0x14]
push eax
lea ecx, [esp + 0x244]
push ecx
lea ecx, [esp + 0x40]
call fcn.00490d9f
cmp dword [esp + 0x14], ebx
jne 0x455fee
push 0xffffffffffffffff
push ebx
lea edx, [esp + 0xe8]
push edx
lea ecx, [esp + 0xb4]
call fcn.00402790
push 2
push 0x4d444c
lea ecx, [esp + 0xb0]
call fcn.00407af0
push ebx
push 0x4cf96b
lea ecx, [esp + 0xb0]
call fcn.00402870
lea eax, [esp + 0x240]
lea edx, [eax + 1]
lea ebx, [ebx]
mov cl, byte [eax]
inc eax
cmp cl, bl
jne 0x456010
sub eax, edx
mov edi, eax
xor esi, esi
cmp edi, ebx
jle 0x45607e
mov al, byte [esp + esi + 0x240]
cmp al, 0xfe
je 0x456077
cmp byte [esp + esi + 0x241], 0xfe
je 0x456077
mov byte [esp + 0x84], al
mov eax, dword [esp + 0x84]
push eax
push 1
lea ecx, [esp + 0xb0]
call fcn.004026e0
mov cl, byte [esp + esi + 0x241]
mov byte [esp + 0x88], cl
mov edx, dword [esp + 0x88]
push edx
push 1
lea ecx, [esp + 0xb0]
call fcn.004026e0
add esi, 2
cmp esi, edi
jl 0x456021
push 0x400
lea eax, [esp + 0x244]
push ebx
push eax
call fcn.00496bf0
add esp, 0xc
push 1
push ebx
push 4
lea ecx, [esp + 0x44]
call fcn.00490e2e
push 4
lea ecx, [esp + 0x18]
push ecx
lea ecx, [esp + 0x40]
call fcn.00490d9f
mov eax, dword [esp + 0x14]
cmp dword [esp + 0x8c], eax
jl 0x45625c
push eax
lea edx, [esp + 0x244]
push edx
lea ecx, [esp + 0x40]
call fcn.00490d9f
lea eax, [esp + 0x240]
lea edx, [eax + 1]
nop
mov cl, byte [eax]
inc eax
cmp cl, bl
jne 0x4560e0
sub eax, edx
push eax
lea eax, [esp + 0x244]
push eax
lea ecx, [esp + 0x104]
call fcn.00402870
lea ecx, [esp + 0x118]
push ecx
lea ecx, [esp + 0x3c]
call fcn.0049219c
mov edx, dword [esp + 0x120]
mov eax, dword [esp + 0x124]
mov edi, dword [esp + 0x4c]
inc dword [ebp + 0x138]
lea ecx, [esp + 0x38]
mov dword [esp + 0x24], edx
mov dword [esp + 0x28], eax
call fcn.00491045
jmp 0x4561ad
mov ecx, dword [ebp + 0xbc]
sub ecx, dword [ebp + 0xb8]
mov esi, dword [esp + 0x18]
sar ecx, 2
cmp esi, ecx
jb 0x456159
call fcn.00497123
mov edx, dword [ebp + 0xb8]
mov esi, dword [edx + esi*4]
mov eax, dword [esi]
cmp eax, ebx
je 0x456179
push eax
call fcn.00498be9
add esp, 4
mov dword [esi + 4], ebx
mov dword [esi], ebx
mov dword [esi + 8], ebx
push 0xffffffffffffffff
push ebx
push ebp
lea ecx, [esp + 0x108]
call fcn.00402790
push ebx
push 0x4cf96b
lea ecx, [esp + 0xb0]
call fcn.00402870
push ebx
push 0x4cf96b
lea ecx, [esp + 0xe8]
call fcn.00402870
mov eax, dword [esp + 0x28]
cmp eax, dword [esp + 0x34]
mov dword [esp + 0x14], ebx
jl 0x4561e7
jg 0x4561c7
mov ecx, dword [esp + 0x24]
cmp ecx, dword [esp + 0x30]
jbe 0x4561e7
mov edx, dword [esp + 0x24]
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0x20]
mov dword [edi + 0xa730], eax
mov dword [esp + 0x30], edx
mov dword [ebp + 0x140], ecx
lea edx, [esp + 0x1c]
push edx
lea ecx, [ebp + 0x64]
call dword [0x4cf788]
lea eax, [esp + 0xfc]
push eax
lea ecx, [ebp + 0x34]
call fcn.004046e0
lea ecx, [esp + 0xe0]
push ecx
lea ecx, [ebp + 0x94]
call fcn.004046e0
lea edx, [esp + 0xa8]
push edx
lea ecx, [ebp + 0xc4]
call fcn.004046e0
lea eax, [esp + 0xc4]
push eax
lea ecx, [ebp + 0x4c]
call fcn.004046e0
lea ecx, [esp + 0x18]
push ecx
lea ecx, [ebp + 0x7c]
call dword [0x4cf788]
mov eax, 1
cmp dword [esp + 0x1c], eax
jne 0x456260
add dword [ebp + 0x13c], eax
jmp 0x456260
mov edi, dword [esp + 0x4c]
mov eax, dword [esp + 0x20]
inc eax
cmp eax, dword [esp + 0x80]
mov dword [esp + 0x20], eax
jl 0x455c50
lea ecx, [esp + 0x38]
mov byte [esp + 0xa4c], 4
call fcn.004911b3
lea ecx, [esp + 0x90]
mov byte [esp + 0xa4c], 3
call fcn.00491a7e
mov esi, 0x10
cmp dword [esp + 0xf8], esi
jb 0x4562b9
mov edx, dword [esp + 0xe4]
push edx
call fcn.00485fc1
add esp, 4
mov edi, 0xf
mov dword [esp + 0xf8], edi
mov dword [esp + 0xf4], ebx
mov byte [esp + 0xe4], bl
cmp dword [esp + 0xc0], esi
jb 0x4562ec
mov eax, dword [esp + 0xac]
push eax
call fcn.00485fc1
add esp, 4
mov dword [esp + 0xc0], edi
mov dword [esp + 0xbc], ebx
mov byte [esp + 0xac], bl
cmp dword [esp + 0x114], esi
jb 0x45631a
mov ecx, dword [esp + 0x100]
push ecx
call fcn.00485fc1
add esp, 4
mov dword [esp + 0x114], edi
mov dword [esp + 0x110], ebx
mov byte [esp + 0x100], bl
cmp dword [esp + 0xdc], esi
jb 0x456348
mov edx, dword [esp + 0xc8]
push edx
call fcn.00485fc1
add esp, 4
mov ecx, dword [esp + 0xa44]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0xa2c]
xor ecx, esp
call fcn.00497565
add esp, 0xa3c
ret