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

Disassembly:
push 0xffffffffffffffff
push 0x4c8bc2
mov eax, dword fs:[0]
push eax
sub esp, 0xa30
mov eax, dword [0x521da0]
xor eax, esp
mov dword [esp + 0xa2c], eax
push ebx
push ebp
push esi
push edi
mov eax, dword [0x521da0]
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.00495e20
add esp, 0xc
lea ecx, [esp + 0x90]
call fcn.00490c84
lea ecx, [esp + 0x38]
mov byte [esp + 0xa4c], 4
call fcn.004902d7
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.00498d81
mov dword [esp + 0x28], eax
and eax, edx
add esp, 4
mov dword [esp + 0x28], edx
cmp eax, ebp
jne 0x454a48
push 0x80070057
call fcn.00405030
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.00498d81
mov dword [esp + 0x34], eax
and eax, edx
add esp, 4
mov dword [esp + 0x34], edx
cmp eax, ebp
jne 0x454a8d
push 0x80070057
call fcn.00405030
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.00498d81
mov dword [esp + 0x7c], eax
and eax, edx
add esp, 4
mov dword [esp + 0x7c], edx
cmp eax, ebp
jne 0x454ad2
push 0x80070057
call fcn.00405030
lea ecx, [edi + 0xa4e4]
call fcn.00448830
lea ecx, [edi + 0xa628]
call fcn.00448830
mov eax, dword [edi + 0xa618]
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 0x455136
jmp 0x454b14
mov esi, dword [esp + 0x20]
cmp esi, 0x32
jge 0x454b94
lea eax, [edi + 0xa4e4]
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 0x454b30
sub eax, edx
push eax
lea eax, [edi + 0x1344]
push eax
lea ecx, [esp + 0xcc]
call fcn.004028e0
push esi
push str._save_02d.dat
lea ecx, [esp + 0x648]
push 0x400
push ecx
call fcn.004974e5
add esp, 0x10
mov dword [esp + 0x18], esi
cmp dword [esp + 0x50], ebx
jne 0x454bea
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 0x454bea
lea eax, [edi + 0xa628]
mov dword [esp + 0x2c], eax
lea eax, [edi + 0x1344]
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
cmp cl, bl
jne 0x454ba7
sub eax, edx
push eax
lea eax, [edi + 0x1344]
push eax
lea ecx, [esp + 0xcc]
call fcn.004028e0
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.004974e5
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 0x454bf4
sub eax, edx
push eax
lea eax, [esp + 0x644]
push eax
lea ecx, [esp + 0xcc]
call fcn.00407a30
mov eax, dword [esp + 0xc8]
mov esi, 0x10
cmp dword [esp + 0xdc], esi
jae 0x454c2e
lea eax, [esp + 0xc8]
push ebx
push eax
lea ecx, [esp + 0x98]
call fcn.00490d19
mov dword [esp + 0x1c], eax
cmp eax, ebx
je 0x454ffd
push 0x80
lea ecx, [esp + 0x244]
push ebx
push ecx
call fcn.00495e20
add esp, 0xc
lea ecx, [esp + 0x90]
call fcn.00490a1d
mov eax, dword [esp + 0xc8]
cmp dword [esp + 0xdc], esi
jae 0x454c81
lea eax, [esp + 0xc8]
push ebx
push 0x2010
push eax
lea ecx, [esp + 0x44]
call fcn.0049074d
lea ecx, [esp + 0x38]
call fcn.004901c2
push 4
lea edx, [esp + 0x4c]
push edx
lea ecx, [esp + 0x40]
mov dword [esp + 0x94], eax
call fcn.0048ffcb
mov eax, dword [edi + 0xb20]
cmp eax, dword [esp + 0x48]
je 0x454d50
mov ecx, dword [ebp + 0xbc]
sub ecx, dword [ebp + 0xb8]
mov esi, dword [esp + 0x18]
sar ecx, 2
cmp esi, ecx
jb 0x454cdd
call fcn.00496353
mov edx, dword [ebp + 0xb8]
mov esi, dword [edx + esi*4]
mov eax, dword [esi]
cmp eax, ebx
je 0x454cfd
push eax
call fcn.00497e19
add esp, 4
mov dword [esi + 4], ebx
mov dword [esi], ebx
mov dword [esi + 8], ebx
push 0x1e
push 0x4d3440
lea ecx, [esp + 0x104]
call fcn.004028e0
push ebx
push 0x4ce97b
lea ecx, [esp + 0xb0]
call fcn.004028e0
push ebx
push 0x4ce97b
lea ecx, [esp + 0xe8]
call fcn.004028e0
inc dword [ebp + 0x138]
lea ecx, [esp + 0x38]
mov dword [esp + 0x1c], 0xffffffff
call fcn.00490271
jmp 0x45506d
push 4
lea eax, [esp + 0x18]
push eax
lea ecx, [esp + 0x40]
call fcn.0048ffcb
mov ecx, dword [ebp + 0xbc]
sub ecx, dword [ebp + 0xb8]
mov esi, dword [esp + 0x18]
sar ecx, 2
cmp esi, ecx
jb 0x454d7c
call fcn.00496353
mov edx, dword [ebp + 0xb8]
mov esi, dword [edx + esi*4]
mov eax, dword [esi]
mov edi, dword [esp + 0x14]
cmp eax, ebx
jne 0x454d9f
cmp dword [esi + 4], ebx
jg 0x454d9f
push edi
call fcn.00497d4f
add esp, 4
jmp 0x454dbd
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.00497ae5
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.00495e20
mov ecx, dword [esp + 0x20]
mov esi, dword [esi]
add esp, 0xc
push ecx
push esi
lea ecx, [esp + 0x40]
call fcn.0048ffcb
push 0x400
lea edx, [esp + 0x244]
push ebx
push edx
call fcn.00495e20
add esp, 0xc
push 4
lea eax, [esp + 0x18]
push eax
lea ecx, [esp + 0x40]
call fcn.0048ffcb
mov ecx, dword [esp + 0x14]
push ecx
lea edx, [esp + 0x244]
push edx
lea ecx, [esp + 0x40]
call fcn.0048ffcb
lea eax, [esp + 0x240]
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
cmp cl, bl
jne 0x454e24
sub eax, edx
push eax
lea eax, [esp + 0x244]
push eax
lea ecx, [esp + 0xe8]
call fcn.004028e0
push 0x400
lea ecx, [esp + 0x244]
push ebx
push ecx
call fcn.00495e20
add esp, 0xc
push 4
lea edx, [esp + 0x18]
push edx
lea ecx, [esp + 0x40]
call fcn.0048ffcb
mov eax, dword [esp + 0x14]
push eax
lea ecx, [esp + 0x244]
push ecx
lea ecx, [esp + 0x40]
call fcn.0048ffcb
cmp dword [esp + 0x14], ebx
jne 0x454eae
push 0xffffffffffffffff
push ebx
lea edx, [esp + 0xe8]
push edx
lea ecx, [esp + 0xb4]
call fcn.00402800
push 2
push 0x4d343c
lea ecx, [esp + 0xb0]
call fcn.00407a30
push ebx
push 0x4ce97b
lea ecx, [esp + 0xb0]
call fcn.004028e0
lea eax, [esp + 0x240]
lea edx, [eax + 1]
lea ebx, [ebx]
mov cl, byte [eax]
inc eax
cmp cl, bl
jne 0x454ed0
sub eax, edx
mov edi, eax
xor esi, esi
cmp edi, ebx
jle 0x454f3e
mov al, byte [esp + esi + 0x240]
cmp al, 0xfe
je 0x454f37
cmp byte [esp + esi + 0x241], 0xfe
je 0x454f37
mov byte [esp + 0x84], al
mov eax, dword [esp + 0x84]
push eax
push 1
lea ecx, [esp + 0xb0]
call fcn.00402750
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.00402750
add esi, 2
cmp esi, edi
jl 0x454ee1
push 0x400
lea eax, [esp + 0x244]
push ebx
push eax
call fcn.00495e20
add esp, 0xc
push 1
push ebx
push 4
lea ecx, [esp + 0x44]
call fcn.0049005a
push 4
lea ecx, [esp + 0x18]
push ecx
lea ecx, [esp + 0x40]
call fcn.0048ffcb
mov eax, dword [esp + 0x14]
cmp dword [esp + 0x8c], eax
jl 0x45511c
push eax
lea edx, [esp + 0x244]
push edx
lea ecx, [esp + 0x40]
call fcn.0048ffcb
lea eax, [esp + 0x240]
lea edx, [eax + 1]
nop
mov cl, byte [eax]
inc eax
cmp cl, bl
jne 0x454fa0
sub eax, edx
push eax
lea eax, [esp + 0x244]
push eax
lea ecx, [esp + 0x104]
call fcn.004028e0
lea ecx, [esp + 0x118]
push ecx
lea ecx, [esp + 0x3c]
call fcn.004913c8
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.00490271
jmp 0x45506d
mov ecx, dword [ebp + 0xbc]
sub ecx, dword [ebp + 0xb8]
mov esi, dword [esp + 0x18]
sar ecx, 2
cmp esi, ecx
jb 0x455019
call fcn.00496353
mov edx, dword [ebp + 0xb8]
mov esi, dword [edx + esi*4]
mov eax, dword [esi]
cmp eax, ebx
je 0x455039
push eax
call fcn.00497e19
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.00402800
push ebx
push 0x4ce97b
lea ecx, [esp + 0xb0]
call fcn.004028e0
push ebx
push 0x4ce97b
lea ecx, [esp + 0xe8]
call fcn.004028e0
mov eax, dword [esp + 0x28]
cmp eax, dword [esp + 0x34]
mov dword [esp + 0x14], ebx
jl 0x4550a7
jg 0x455087
mov ecx, dword [esp + 0x24]
cmp ecx, dword [esp + 0x30]
jbe 0x4550a7
mov edx, dword [esp + 0x24]
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0x20]
mov dword [edi + 0xa778], eax
mov dword [esp + 0x30], edx
mov dword [ebp + 0x140], ecx
lea edx, [esp + 0x1c]
push edx
lea ecx, [ebp + 0x64]
call dword [0x4ce790]
lea eax, [esp + 0xfc]
push eax
lea ecx, [ebp + 0x34]
call fcn.004045b0
lea ecx, [esp + 0xe0]
push ecx
lea ecx, [ebp + 0x94]
call fcn.004045b0
lea edx, [esp + 0xa8]
push edx
lea ecx, [ebp + 0xc4]
call fcn.004045b0
lea eax, [esp + 0xc4]
push eax
lea ecx, [ebp + 0x4c]
call fcn.004045b0
lea ecx, [esp + 0x18]
push ecx
lea ecx, [ebp + 0x7c]
call dword [0x4ce790]
mov eax, 1
cmp dword [esp + 0x1c], eax
jne 0x455120
add dword [ebp + 0x13c], eax
jmp 0x455120
mov edi, dword [esp + 0x4c]
mov eax, dword [esp + 0x20]
inc eax
cmp eax, dword [esp + 0x80]
mov dword [esp + 0x20], eax
jl 0x454b10
lea ecx, [esp + 0x38]
mov byte [esp + 0xa4c], 4
call fcn.004903df
lea ecx, [esp + 0x90]
mov byte [esp + 0xa4c], 3
call fcn.00490caa
mov esi, 0x10
cmp dword [esp + 0xf8], esi
jb 0x455179
mov edx, dword [esp + 0xe4]
push edx
call fcn.00485196
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 0x4551ac
mov eax, dword [esp + 0xac]
push eax
call fcn.00485196
add esp, 4
mov dword [esp + 0xc0], edi
mov dword [esp + 0xbc], ebx
mov byte [esp + 0xac], bl
cmp dword [esp + 0x114], esi
jb 0x4551da
mov ecx, dword [esp + 0x100]
push ecx
call fcn.00485196
add esp, 4
mov dword [esp + 0x114], edi
mov dword [esp + 0x110], ebx
mov byte [esp + 0x100], bl
cmp dword [esp + 0xdc], esi
jb 0x455208
mov edx, dword [esp + 0xc8]
push edx
call fcn.00485196
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.00496795
add esp, 0xa3c
ret