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

Disassembly:
push 0xffffffffffffffff
push 0x5daf91
mov eax, dword fs:[0]
push eax
sub esp, 0x58
push ebx
push ebp
push esi
push edi
mov eax, dword [0x638190]
xor eax, esp
push eax
lea eax, [esp + 0x6c]
mov dword fs:[0], eax
mov esi, ecx
xor edi, edi
lea ecx, [esp + 0x30]
mov dword [esp + 0x18], edi
call fcn.004eff00
mov eax, dword [esi]
mov edx, dword [eax + 0x40]
mov ecx, esi
mov dword [esp + 0x74], 1
mov dword [esp + 0x14], edi
call edx
fmul qword [0x5f3dd0]
push esi
lea ecx, [esp + 0x24]
fdiv qword [0x5f3dd8]
fstp qword [esp + 0x2c]
call fcn.00492b80
lea ecx, [esp + 0x20]
mov byte [esp + 0x74], 2
call fcn.00492ba0
lea ecx, [esp + 0x20]
call fcn.00459330
test eax, eax
je 0x451341
lea ecx, [esp + 0x20]
call fcn.00459330
mov ebp, eax
mov eax, dword [ebp]
mov edx, dword [eax + 0x38]
mov ecx, ebp
call edx
mov ecx, ebp
cmp eax, 2
jne 0x4511ce
call fcn.0046d730
test eax, eax
je 0x451268
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4511c2
jmp 0x45125e
call fcn.004cf500
mov ecx, eax
call fcn.00456090
test eax, eax
je 0x4511f9
mov ecx, ebp
call fcn.004cf500
mov ecx, eax
call fcn.00456090
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0x4c]
call eax
test eax, eax
jne 0x451268
mov edx, dword [ebp]
mov eax, dword [edx + 0x38]
mov ecx, ebp
call eax
cmp eax, 9
jne 0x451312
mov ebx, dword [ebp + 0x3c]
test ebx, ebx
je 0x451235
mov eax, dword [ebx + 8]
test eax, eax
jne 0x451231
mov edi, dword [ebx + 4]
and edi, 0x7f
call fcn.004db3c0
mov edi, dword [eax + edi*4 - 4]
push ebx
mov ecx, edi
call fcn.004da850
mov edi, eax
jmp 0x451237
xor edi, edi
mov edx, dword [edi]
mov eax, dword [edx + 0x38]
mov ecx, edi
call eax
cmp eax, 2
jne 0x451312
mov ecx, edi
call fcn.0046d730
test eax, eax
je 0x451268
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x451257
sub eax, edx
test eax, eax
ja 0x451312
fld qword [esp + 0x28]
sub esp, 8
cmp dword [esp + 0x1c], 0
mov eax, esp
fstp qword [eax]
mov ecx, esi
mov dword [esp + 0x24], esp
je 0x4512d7
mov edx, dword [esi]
mov eax, dword [edx + 0x44]
call eax
push eax
lea ecx, [esp + 0x64]
push ebp
push ecx
call fcn.004571d0
add esp, 0x14
push eax
lea edx, [esp + 0x48]
push edx
lea ecx, [esp + 0x38]
mov byte [esp + 0x7c], 3
call fcn.004f0b10
push eax
lea ecx, [esp + 0x34]
mov byte [esp + 0x78], 4
call fcn.004f03f0
lea ecx, [esp + 0x44]
mov byte [esp + 0x74], 3
call fcn.004f0040
lea ecx, [esp + 0x58]
mov byte [esp + 0x74], 2
call fcn.004f0040
jmp 0x451312
mov eax, dword [esi]
mov edx, dword [eax + 0x44]
call edx
push eax
lea eax, [esp + 0x64]
push ebp
push eax
call fcn.004571d0
add esp, 0x14
push eax
lea ecx, [esp + 0x34]
mov byte [esp + 0x78], 5
call fcn.004f03f0
lea ecx, [esp + 0x58]
mov byte [esp + 0x74], 2
call fcn.004f0040
mov dword [esp + 0x14], 1
lea ecx, [esp + 0x20]
call fcn.00492bd0
lea ecx, [esp + 0x20]
call fcn.00459330
test eax, eax
jne 0x451196
xor edi, edi
cmp dword [esp + 0x14], edi
je 0x451341
cmp dword [esp + 0x80], edi
je 0x4513f1
cmp dword [esi + 0x60], edi
jbe 0x4513f1
mov bl, 6
lea esp, [esp]
cmp dword [esp + 0x14], 0
je 0x4513ac
mov edx, dword [esi]
mov eax, dword [edx + 0x58]
lea ecx, [esp + 0x44]
push ecx
push edi
mov ecx, esi
call eax
mov ecx, eax
call fcn.00457ba0
push eax
lea ecx, [esp + 0x5c]
push ecx
lea ecx, [esp + 0x38]
mov byte [esp + 0x7c], bl
call fcn.004f0b10
push eax
lea ecx, [esp + 0x34]
mov byte [esp + 0x78], 7
call fcn.004f03f0
lea ecx, [esp + 0x58]
mov byte [esp + 0x74], bl
call fcn.004f0040
lea ecx, [esp + 0x44]
mov byte [esp + 0x74], 2
call fcn.004f0040
jmp 0x4513e7
mov eax, dword [esi]
lea edx, [esp + 0x58]
push edx
mov edx, dword [eax + 0x58]
push edi
mov ecx, esi
call edx
mov ecx, eax
call fcn.00457ba0
push eax
lea ecx, [esp + 0x34]
mov byte [esp + 0x78], 8
call fcn.004f03f0
lea ecx, [esp + 0x58]
mov byte [esp + 0x74], 2
call fcn.004f0040
mov dword [esp + 0x14], 1
inc edi
cmp edi, dword [esi + 0x60]
jb 0x451350
cmp dword [esp + 0x14], 0
je 0x451433
mov esi, dword [esp + 0x7c]
lea eax, [esp + 0x30]
push eax
mov ecx, esi
call fcn.004effe0
lea ecx, [esp + 0x20]
mov dword [esp + 0x18], 1
mov byte [esp + 0x74], 1
call fcn.00440ab0
lea ecx, [esp + 0x30]
mov byte [esp + 0x74], 0
call fcn.004f0040
mov eax, esi
jmp 0x45164c
push esi
lea ecx, [esp + 0x24]
call fcn.00492bb0
lea ecx, [esp + 0x20]
call fcn.00492ba0
lea ecx, [esp + 0x20]
call fcn.00459330
test eax, eax
je 0x451612
lea ecx, [esp + 0x20]
call fcn.00459330
mov edi, eax
mov ecx, edi
call fcn.004cf500
mov ecx, eax
call fcn.00456090
test eax, eax
je 0x4515ba
mov ecx, edi
call fcn.004cf500
mov ecx, eax
call fcn.00456090
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0x50]
call eax
test eax, eax
je 0x4515ba
mov edx, dword [edi]
mov eax, dword [edx + 0x38]
mov ecx, edi
call eax
cmp eax, 3
je 0x451510
mov edx, dword [edi]
mov eax, dword [edx + 0x38]
mov ecx, edi
call eax
cmp eax, 4
je 0x451510
mov edx, dword [edi]
mov eax, dword [edx + 0x38]
mov ecx, edi
call eax
cmp eax, 9
jne 0x4515ba
mov ebx, dword [edi + 0x3c]
test ebx, ebx
je 0x4514ee
mov eax, dword [ebx + 8]
test eax, eax
jne 0x4514ea
mov ebp, dword [ebx + 4]
and ebp, 0x7f
call fcn.004db3c0
mov ebp, dword [eax + ebp*4 - 4]
push ebx
mov ecx, ebp
call fcn.004da850
mov ebx, eax
jmp 0x4514f0
xor ebx, ebx
mov edx, dword [ebx]
mov eax, dword [edx + 0x38]
mov ecx, ebx
call eax
cmp eax, 3
je 0x451510
mov edx, dword [ebx]
mov eax, dword [edx + 0x38]
mov ecx, ebx
call eax
cmp eax, 4
jne 0x4515ba
fld qword [esp + 0x28]
sub esp, 8
cmp dword [esp + 0x1c], 0
mov eax, esp
fstp qword [eax]
mov ecx, esi
mov dword [esp + 0x24], esp
je 0x45157f
mov edx, dword [esi]
mov eax, dword [edx + 0x44]
call eax
push eax
lea ecx, [esp + 0x50]
push edi
push ecx
call fcn.004571d0
add esp, 0x14
push eax
lea edx, [esp + 0x5c]
push edx
lea ecx, [esp + 0x38]
mov byte [esp + 0x7c], 9
call fcn.004f0b10
push eax
lea ecx, [esp + 0x34]
mov byte [esp + 0x78], 0xa
call fcn.004f03f0
lea ecx, [esp + 0x58]
mov byte [esp + 0x74], 9
call fcn.004f0040
lea ecx, [esp + 0x44]
mov byte [esp + 0x74], 2
call fcn.004f0040
jmp 0x4515ba
mov eax, dword [esi]
mov edx, dword [eax + 0x44]
call edx
push eax
lea eax, [esp + 0x64]
push edi
push eax
call fcn.004571d0
add esp, 0x14
push eax
lea ecx, [esp + 0x34]
mov byte [esp + 0x78], 0xb
call fcn.004f03f0
lea ecx, [esp + 0x58]
mov byte [esp + 0x74], 2
call fcn.004f0040
mov dword [esp + 0x14], 1
lea ecx, [esp + 0x20]
call fcn.00492bd0
lea ecx, [esp + 0x20]
call fcn.00459330
test eax, eax
jne 0x451457
cmp dword [esp + 0x14], eax
je 0x451612
mov esi, dword [esp + 0x7c]
lea ecx, [esp + 0x30]
push ecx
mov ecx, esi
call fcn.004effe0
lea ecx, [esp + 0x20]
mov dword [esp + 0x18], 1
mov byte [esp + 0x74], 1
call fcn.00440ab0
lea ecx, [esp + 0x30]
mov byte [esp + 0x74], 0
call fcn.004f0040
mov eax, esi
jmp 0x45164c
mov edx, dword [esp + 0x80]
mov edi, dword [esp + 0x7c]
push edx
push edi
mov ecx, esi
call fcn.004510a0
lea ecx, [esp + 0x20]
mov dword [esp + 0x18], 1
mov byte [esp + 0x74], 1
call fcn.00440ab0
lea ecx, [esp + 0x30]
mov byte [esp + 0x74], 0
call fcn.004f0040
mov eax, edi
mov ecx, dword [esp + 0x6c]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x64
ret 8