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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0xdc
fild dword [ebp + 8]
push ebx
push esi
push edi
mov edi, dword [ebp + 0x14]
fst qword [esp + 0xa8]
fmul qword [0x550fa0]
lea eax, [edi + edi]
push 0xc0
mov dword [esp + 0x18], eax
push 1
fstp qword [esp + 0xc0]
fild dword [esp + 0x1c]
fdivr qword [0x550f30]
fstp qword [esp + 0xb8]
call fcn.00547150
mov esi, eax
add esp, 8
test esi, esi
jne 0x456382
mov eax, 1
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, 1
xor ebx, ebx
cmp edi, eax
mov dword [esp + 0x30], ebx
mov dword [esp + 0x34], ebx
mov dword [esp + 0x14], eax
jl 0x45683c
fld qword [esp + 0x30]
fadd qword [esp + 0xb0]
cmp eax, edi
fst qword [esp + 0xc0]
fadd qword [esp + 0xb0]
fstp qword [esp + 0x58]
jne 0x4563ce
mov dword [esp + 0x58], 0
mov dword [esp + 0x5c], 0x3ff00000
lea ecx, [esp + 0x30]
push ecx
call fcn.00456860
lea edx, [esp + 0xc4]
push edx
call fcn.00456860
lea eax, [esp + 0x60]
push eax
call fcn.00456860
lea ecx, [esp + 0xe4]
lea edx, [esp + 0x54]
push ecx
push edx
call fcn.00418ad0
fstp qword [esp + 0xb4]
lea eax, [esp + 0x84]
lea ecx, [esp + 0xec]
push eax
push ecx
call fcn.00418ad0
fld qword [esp + 0xf4]
fcomp qword [0x550f20]
add esp, 0x1c
fnstsw ax
test ah, 0x40
je 0x45645a
fld qword [esp + 0xe0]
fcomp qword [0x550f20]
fnstsw ax
test ah, 0x40
je 0x45645a
mov dword [esp + 0x18], 0
mov dword [esp + 0x1c], 0
jmp 0x456474
fld qword [esp + 0xe0]
fld qword [esp + 0xd8]
fpatan
fmul qword [0x550f60]
fstp qword [esp + 0x18]
fld qword [esp + 0xa0]
fcomp qword [0x550f20]
fnstsw ax
test ah, 1
je 0x45659c
fcom qword [0x550f20]
fnstsw ax
test ah, 1
je 0x45659c
mov eax, dword [esp + 0x64]
mov edx, dword [esp + 0x60]
fstp st(0)
fld qword [esp + 0x70]
fcomp qword [0x550f20]
mov ecx, dword [esp + 0x68]
mov dword [esp + 0x84], eax
mov eax, dword [esp + 0x38]
mov dword [esp + 0x80], edx
mov edx, dword [esp + 0x6c]
mov dword [esp + 0x90], eax
mov eax, dword [esp + 0x44]
mov dword [esp + 0x88], ecx
mov ecx, dword [esp + 0x3c]
mov dword [esp + 0x9c], eax
fnstsw ax
mov dword [esp + 0x8c], edx
mov edx, dword [esp + 0x40]
test ah, 0x40
mov edi, 1
mov dword [esp + 0x94], ecx
mov dword [esp + 0x98], edx
je 0x456526
fld qword [esp + 0x78]
fcomp qword [0x550f20]
fnstsw ax
test ah, 0x40
je 0x456526
fld qword [0x550f20]
jmp 0x456536
fld qword [esp + 0x78]
fld qword [esp + 0x70]
fpatan
fmul qword [0x550f60]
fadd qword [0x550f10]
fstp qword [esp + 0x20]
fld qword [esp + 0x18]
fadd qword [0x550f10]
fstp qword [esp + 0x18]
fld qword [esp + 0x48]
fcomp qword [0x550f20]
fnstsw ax
test ah, 0x40
je 0x456581
fld qword [esp + 0x50]
fcomp qword [0x550f20]
fnstsw ax
test ah, 0x40
je 0x456581
fld qword [0x550f20]
fadd qword [0x550f10]
jmp 0x4566a3
fld qword [esp + 0x50]
fld qword [esp + 0x48]
fpatan
fmul qword [0x550f60]
fadd qword [0x550f10]
jmp 0x4566a3
fld qword [esp + 0xa0]
fcomp qword [0x550f20]
fnstsw ax
test ah, 0x41
jne 0x4567e2
fcomp qword [0x550f20]
fnstsw ax
test ah, 0x41
jne 0x4567e4
fld qword [esp + 0x48]
mov eax, dword [esp + 0x40]
mov ecx, dword [esp + 0x38]
fcomp qword [0x550f20]
mov edx, dword [esp + 0x3c]
mov dword [esp + 0x88], eax
mov eax, dword [esp + 0x64]
mov dword [esp + 0x80], ecx
mov ecx, dword [esp + 0x44]
mov dword [esp + 0x84], edx
mov edx, dword [esp + 0x60]
mov dword [esp + 0x94], eax
fnstsw ax
mov dword [esp + 0x8c], ecx
mov ecx, dword [esp + 0x68]
mov dword [esp + 0x90], edx
mov edx, dword [esp + 0x6c]
xor edi, edi
mov dword [esp + 0x98], ecx
test ah, 0x40
mov dword [esp + 0x9c], edx
je 0x45664b
fld qword [esp + 0x50]
fcomp qword [0x550f20]
fnstsw ax
test ah, 0x40
je 0x45664b
mov dword [esp + 0x20], edi
mov dword [esp + 0x24], edi
jmp 0x45665f
fld qword [esp + 0x50]
fld qword [esp + 0x48]
fpatan
fmul qword [0x550f60]
fstp qword [esp + 0x20]
fld qword [esp + 0x70]
fcomp qword [0x550f20]
fnstsw ax
test ah, 0x40
je 0x456693
fld qword [esp + 0x78]
fcomp qword [0x550f20]
fnstsw ax
test ah, 0x40
je 0x456693
mov dword [esp + 0x28], 0
mov dword [esp + 0x2c], 0
jmp 0x4566a7
fld qword [esp + 0x78]
fld qword [esp + 0x70]
fpatan
fmul qword [0x550f60]
fstp qword [esp + 0x28]
mov edx, dword [esp + 0x1c]
lea eax, [esp + 0xc]
lea ecx, [esp + 0x10]
push eax
mov eax, dword [esp + 0x1c]
push ecx
mov ecx, dword [esp + 0x2c]
push edx
mov edx, dword [esp + 0x2c]
push eax
push ecx
mov ecx, dword [esp + 0x40]
lea eax, [esp + 0x94]
push edx
mov edx, dword [esp + 0x40]
push eax
push ecx
lea eax, [esp + 0xb0]
push edx
push eax
call fcn.00409250
add esp, 0x28
cmp eax, 1
je 0x45684a
cmp eax, 2
je 0x4567e4
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0xc]
fld qword [edx + 0x40]
fcomp qword [esp + 0xb8]
fnstsw ax
test ah, 0x41
jne 0x456727
fld qword [ecx + 0x40]
fcomp qword [esp + 0xb8]
fnstsw ax
test ah, 0x41
je 0x4567e4
test edi, edi
je 0x456752
mov eax, edx
push esi
push ecx
mov dword [esp + 0x18], ecx
mov dword [esp + 0x14], eax
call fcn.00488e40
mov ecx, dword [esp + 0x14]
push esi
push ecx
call fcn.00488e40
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x20]
add esp, 0x10
add ecx, 0x48
add edx, 0x58
push ecx
push edx
call fcn.00418ab0
fcomp qword [0x556018]
add esp, 8
fnstsw ax
test ah, 1
je 0x456774
mov ebx, 1
mov edx, dword [esp + 0x10]
lea eax, [esp + 0xc8]
add edx, 0x20
push edx
push eax
call fcn.00418a80
fdiv qword [esp + 0xb0]
add esp, 8
test ebx, ebx
jne 0x4567a3
fcomp qword [ebp + 0xc]
fnstsw ax
test ah, 0x41
jne 0x4567c3
jmp 0x4567a5
fstp st(0)
mov ecx, dword [esp + 0x10]
mov ebx, 1
push ecx
call fcn.00488710
mov edx, dword [esp + 0x10]
push edx
call fcn.00488710
add esp, 8
jmp 0x4567e4
mov eax, dword [esp + 0x10]
push 0
push esi
push eax
call fcn.0043f8b0
mov ecx, dword [esp + 0x18]
push 0
push esi
push ecx
call fcn.0043f8b0
add esp, 0x18
jmp 0x456818
fstp st(0)
lea edx, [esp + 0xc8]
push esi
lea eax, [esp + 0x3c]
push edx
push eax
call fcn.0043f9f0
add esp, 0xc
test eax, eax
je 0x45684a
lea ecx, [esp + 0x60]
push esi
lea edx, [esp + 0xcc]
push ecx
push edx
call fcn.0043f9f0
add esp, 0xc
test eax, eax
je 0x45684a
mov eax, dword [esp + 0x58]
mov edi, dword [ebp + 0x14]
mov ecx, dword [esp + 0x5c]
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0x14]
mov dword [esp + 0x34], ecx
inc eax
cmp eax, edi
mov dword [esp + 0x14], eax
jle 0x45639d
mov edx, dword [ebp + 0x18]
xor eax, eax
mov dword [edx], esi
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
push esi
call fcn.004888a0
add esp, 4
mov eax, 1
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret