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

Disassembly:
push ebx
push esi
sub esp, 0x70
cmp byte [0x6289d0], 0
mov ebx, ecx
mov edx, dword [esp + 0x7c]
fld dword [esp + 0x80]
jne 0x459fcc
mov byte [0x6289d0], 1
mov dword [0x6289cc], 0
fld dword [edx]
fstp dword [esp + 0x10]
fld dword [edx + 4]
fstp dword [esp + 0x14]
fld dword [edx + 8]
fstp dword [esp + 0x18]
mov dword [ebx + 0xb0], 0x428c0000
mov eax, dword [ebx + 0x188]
cmp dword [eax + 0x4c], 0
je 0x45ab20
cmp byte [ebx + 0xa], 0
je 0x45a063
fst dword [ebx + 0xb8]
mov dword [ebx + 0xa8], 0
fst dword [ebx + 0xa4]
mov esi, dword [ebx + 0x188]
mov al, byte [esi + 0x50]
and al, 7
cmp al, 3
jne 0x45a059
fld dword [0x5f044c]
fadd dword [esi + 0x2dc]
fstp dword [ebx + 0xb8]
mov dword [ebx + 0xa8], 0
mov eax, dword [ebx + 0x188]
fld dword [0x5f044c]
fadd dword [eax + 0x2dc]
fstp dword [ebx + 0xa4]
mov dword [0x6289cc], 0
mov ecx, dword [ebx + 0x188]
mov al, byte [ecx + 0x50]
and al, 7
cmp al, 3
jne 0x45a8b0
cmp byte [0x6289d2], 0
jne 0x45a08d
mov byte [0x6289d2], 1
mov byte [0x6289d1], 0
fld dword [edx]
fstp dword [esp + 0x10]
fld dword [edx + 4]
fstp dword [esp + 0x14]
fld dword [edx + 8]
fstp dword [esp + 0x18]
cmp byte [ebx + 0xa], 0
je 0x45a104
fld dword [0x5f044c]
mov eax, dword [ebx + 0x188]
fadd dword [eax + 0x2dc]
fstp dword [ebx + 0xb8]
mov dword [ebx + 0xa8], 0
mov eax, dword [ebx + 0x188]
fld dword [0x5f044c]
fadd dword [eax + 0x2dc]
fstp dword [ebx + 0xa4]
mov byte [ebx + 0xa], 0
mov byte [0x6289d1], 0
mov dword [0x6289d8], 0
mov dword [0x6289d4], 0
mov byte [ebx + 3], 1
mov ecx, dword [ebx + 0x188]
lea eax, [esp + 0x1c]
add ecx, 0x1f0
push 2
push eax
fstp st(0)
call fcn.004ed0f0
fldz
fld dword [esp + 0x1c]
fstp dword [ebx + 0x14c]
fld dword [esp + 0x20]
fstp dword [ebx + 0x150]
fld dword [esp + 0x24]
fstp dword [ebx + 0x154]
fld dword [ebx + 0x154]
fadd dword [0x5f0440]
fstp dword [ebx + 0x154]
fld dword [ebx + 0xa4]
fcos
fnstsw ax
test eax, 0x400
je 0x45a168
call fcn.005a0cb0
fcos
fstp dword [esp + 8]
fld dword [esp + 8]
fstp st(1)
fld dword [0x5f0630]
fmul st(1)
fsubr dword [ebx + 0x14c]
fstp dword [ebx + 0x14c]
fld dword [ebx + 0xa4]
fsin
fnstsw ax
test eax, 0x400
je 0x45a19e
call fcn.005a0cb0
fsin
fstp dword [esp + 8]
fld dword [esp + 8]
fstp st(1)
fld dword [0x5f0630]
fmul st(1)
fsubr dword [ebx + 0x150]
push 0
fstp dword [ebx + 0x150]
fstp st(0)
call fcn.00492f60
pop ecx
mov ecx, eax
call fcn.00493f80
movsx eax, ax
push 0
neg eax
mov dword [esp + 0xc], eax
fild dword [esp + 0xc]
fstp dword [esp + 4]
call fcn.00492f60
pop ecx
mov ecx, eax
call fcn.00494130
movsx eax, ax
fldz
fldz
mov dword [esp + 8], eax
fldz
fldz
fldz
fild dword [esp + 8]
fstp st(5)
fld dword [0x5f0410]
fstp st(4)
fld dword [0x5f0410]
fstp st(3)
fld dword [esp]
fcomp dword [0x5f0414]
fnstsw ax
and ah, 5
cmp ah, 1
jne 0x45a22f
fld dword [0x5f0634]
fstp st(4)
fld st(4)
fcomp dword [0x5f0414]
fnstsw ax
and ah, 5
cmp ah, 1
jne 0x45a249
fld dword [0x5f0634]
fstp st(3)
fld st(4)
fmul dword [0x5f0638]
fmul st(5)
fmul dword [0x5f0638]
fmul st(3)
fld dword [ebx + 0xb0]
fmul dword [0x5f063c]
fstp st(4)
fld dword [0x5f0640]
fmul st(4)
fmulp st(1)
fstp st(5)
fld dword [esp]
fmul dword [0x5f0644]
fmul dword [esp]
fmul dword [0x5f0644]
fmul st(4)
fld dword [0x5f0648]
fmul st(4)
fmulp st(1)
fadd dword [ebx + 0xb8]
fstp dword [ebx + 0xb8]
fld dword [ebx + 0xa8]
fadd st(5)
fstp dword [ebx + 0xa8]
jmp 0x45a2c2
fld dword [ebx + 0xb8]
fsub dword [0x5f0420]
fstp dword [ebx + 0xb8]
fld dword [ebx + 0xb8]
fcomp dword [0x5f0420]
fnstsw ax
test ah, 5
je 0x45a2b0
jmp 0x45a2e9
fld dword [ebx + 0xb8]
fadd dword [0x5f0420]
fstp dword [ebx + 0xb8]
fld dword [ebx + 0xb8]
fcomp dword [0x5f0414]
fnstsw ax
and ah, 5
cmp ah, 1
je 0x45a2d7
fld dword [ebx + 0xa8]
fstp st(5)
fld st(4)
fcomp dword [0x5f064c]
fnstsw ax
test ah, 0x45
jne 0x45a322
mov dword [ebx + 0xa8], 0x3f860a92
jmp 0x45a342
fld dword [0x5f0650]
fchs
fstp st(4)
fld st(4)
fcomp st(4)
fnstsw ax
and ah, 5
cmp ah, 1
jne 0x45a342
fld st(3)
fstp dword [ebx + 0xa8]
fld dword [ebx + 0xa8]
fsin
fnstsw ax
test eax, 0x400
je 0x45a35a
call fcn.005a0cb0
fsin
fstp dword [esp + 8]
fld dword [esp + 8]
fstp st(5)
fld dword [ebx + 0xa8]
fcos
fnstsw ax
test eax, 0x400
je 0x45a37c
call fcn.005a0cb0
fcos
fstp dword [esp + 8]
fld dword [esp + 8]
fstp st(4)
fld dword [ebx + 0xb8]
fsin
fnstsw ax
test eax, 0x400
je 0x45a39e
call fcn.005a0cb0
fsin
fstp dword [esp + 8]
fld dword [esp + 8]
fstp st(3)
fld dword [ebx + 0xa8]
fcos
fnstsw ax
test eax, 0x400
je 0x45a3c0
call fcn.005a0cb0
fcos
fstp dword [esp + 8]
fld dword [esp + 8]
fstp st(2)
fld dword [ebx + 0xb8]
fcos
fnstsw ax
test eax, 0x400
je 0x45a3e2
call fcn.005a0cb0
fcos
fstp dword [esp + 8]
fld dword [esp + 8]
fstp st(1)
fld dword [0x5f0418]
fmul st(5)
fadd dword [ebx + 0x154]
fstp st(5)
fld st(2)
fmul st(4)
fmul dword [0x5f0418]
fadd dword [ebx + 0x150]
fstp st(4)
fld st(0)
fmul st(2)
fmul dword [0x5f0418]
fadd dword [ebx + 0x14c]
fstp dword [esp + 0x10]
fld st(3)
fstp dword [esp + 0x14]
fld st(4)
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
fsub dword [ebx + 0x154]
fstp st(4)
fld dword [esp + 0x14]
fsub dword [ebx + 0x150]
fstp st(5)
fld dword [esp + 0x10]
fsub dword [ebx + 0x14c]
fstp dword [ebx + 0x140]
fld st(4)
fstp dword [ebx + 0x144]
fld st(3)
fstp dword [ebx + 0x148]
fcompp
fcompp
lea ecx, [ebx + 0x140]
fstp st(0)
call fcn.004ba560
fldz
fldz
fld dword [0x5f04ac]
fmul dword [ebx + 0x148]
fstp st(1)
fld dword [0x5f04ac]
fmul dword [ebx + 0x144]
fstp st(2)
fld dword [0x5f04ac]
fmul dword [ebx + 0x140]
fadd dword [ebx + 0x14c]
fstp dword [ebx + 0x14c]
fld dword [ebx + 0x150]
fadd st(2)
fstp dword [ebx + 0x150]
fld dword [ebx + 0x154]
fadd st(1)
fstp dword [ebx + 0x154]
cmp byte [ebx + 3], 1
jne 0x45ab16
fcompp
lea eax, [esp + 0x10]
lea esi, [ebx + 0x14c]
push 1
push 1
push 0
push 1
push 0
push 1
push 1
push esi
push eax
call fcn.004aeaa0
add esp, 0x24
test al, al
fldz
fldz
fldz
fldz
fldz
fldz
jne 0x45a530
fcompp
fcompp
fcompp
mov eax, dword [0x72676c]
push dword [0x5f04ac]
push eax
call fcn.005a5070
mov byte [0x6289d1], 1
pop ecx
pop ecx
jmp 0x45a7f7
fld dword [ebx + 0xa8]
fsub dword [0x5f0654]
fsin
fnstsw ax
test eax, 0x400
je 0x45a54e
call fcn.005a0cb0
fsin
fstp dword [esp + 8]
fld dword [esp + 8]
fstp st(4)
fld dword [ebx + 0xa8]
fsub dword [0x5f0654]
fcos
fnstsw ax
test eax, 0x400
je 0x45a576
call fcn.005a0cb0
fcos
fstp dword [esp + 8]
fld dword [esp + 8]
fstp st(2)
fld dword [0x5f0658]
fadd dword [ebx + 0xb8]
fsin
fnstsw ax
test eax, 0x400
je 0x45a59e
call fcn.005a0cb0
fsin
fstp dword [esp + 8]
fld dword [esp + 8]
fstp st(1)
fld dword [ebx + 0xa8]
fsub dword [0x5f0654]
fcos
fnstsw ax
test eax, 0x400
je 0x45a5c6
call fcn.005a0cb0
fcos
fstp dword [esp + 8]
fld dword [esp + 8]
fstp st(6)
fld dword [0x5f0658]
fadd dword [ebx + 0xb8]
fcos
fnstsw ax
test eax, 0x400
je 0x45a5ee
call fcn.005a0cb0
fcos
fstp dword [esp + 8]
fld dword [esp + 8]
fstp st(5)
fld dword [0x5f0418]
fmul st(4)
fadd dword [ebx + 0x154]
push 1
push 1
fstp st(3)
fld st(0)
fmul st(2)
fmul dword [0x5f0418]
push 0
push 1
fadd dword [ebx + 0x150]
push 0
push 1
fstp st(4)
fld st(4)
fmul st(6)
fmul dword [0x5f0418]
push 1
fadd dword [ebx + 0x14c]
fstp dword [esp + 0x44]
fld st(3)
fstp dword [esp + 0x48]
fld st(2)
lea eax, [esp + 0x44]
fstp dword [esp + 0x4c]
fcompp
fcompp
fcompp
lea ecx, [ebx + 0x14c]
push ecx
push eax
call fcn.004aeaa0
add esp, 0x24
test al, al
fldz
fldz
fldz
fldz
fldz
fldz
jne 0x45a697
fcompp
fcompp
fcompp
mov eax, dword [0x72676c]
push dword [0x5f04ac]
push eax
call fcn.005a5070
mov byte [0x6289d1], 1
pop ecx
pop ecx
jmp 0x45a7f7
fld dword [ebx + 0xa8]
fsub dword [0x5f0654]
fsin
fnstsw ax
test eax, 0x400
je 0x45a6b5
call fcn.005a0cb0
fsin
fstp dword [esp + 8]
fld dword [esp + 8]
fstp st(4)
fld dword [ebx + 0xa8]
fsub dword [0x5f0654]
fcos
fnstsw ax
test eax, 0x400
je 0x45a6dd
call fcn.005a0cb0
fcos
fstp dword [esp + 8]
fld dword [esp + 8]
fstp st(2)
fld dword [ebx + 0xb8]
fsub dword [0x5f0658]
fsin
fnstsw ax
test eax, 0x400
je 0x45a705
call fcn.005a0cb0
fsin
fstp dword [esp + 8]
fld dword [esp + 8]
fstp st(1)
fld dword [ebx + 0xa8]
fsub dword [0x5f0654]
fcos
fnstsw ax
test eax, 0x400
je 0x45a72d
call fcn.005a0cb0
fcos
fstp dword [esp + 8]
fld dword [esp + 8]
fstp st(6)
fld dword [ebx + 0xb8]
fsub dword [0x5f0658]
fcos
fnstsw ax
test eax, 0x400
je 0x45a755
call fcn.005a0cb0
fcos
fstp dword [esp + 8]
fld dword [esp + 8]
fstp st(5)
fld dword [0x5f0418]
fmul st(4)
fadd dword [ebx + 0x154]
push 1
push 1
fstp st(3)
fld st(0)
fmul st(2)
fmul dword [0x5f0418]
push 0
push 1
fadd dword [ebx + 0x150]
push 0
push 1
fstp st(4)
fld st(4)
fmul st(6)
fmul dword [0x5f0418]
push 1
fadd dword [ebx + 0x14c]
fstp dword [esp + 0x44]
fld st(3)
fstp dword [esp + 0x48]
fld st(2)
lea eax, [esp + 0x44]
fstp dword [esp + 0x4c]
fcompp
fcompp
fcompp
lea edx, [ebx + 0x14c]
push edx
push eax
call fcn.004aeaa0
add esp, 0x24
test al, al
jne 0x45a7f0
mov eax, dword [0x72676c]
push dword [0x5f04ac]
push eax
call fcn.005a5070
mov byte [0x6289d1], 1
pop ecx
pop ecx
jmp 0x45a7f7
mov byte [0x6289d1], 0
cmp byte [0x6289d1], 0
je 0x45a813
mov eax, dword [0x72676c]
push dword [0x5f04ac]
push eax
call fcn.005a5070
pop ecx
pop ecx
fldz
fldz
fld dword [0x5f04ac]
fmul dword [ebx + 0x148]
mov ecx, ebx
fstp st(1)
fld dword [0x5f04ac]
fmul dword [ebx + 0x144]
fstp st(2)
fld dword [0x5f04ac]
fmul dword [ebx + 0x140]
fsubr dword [ebx + 0x14c]
fstp dword [ebx + 0x14c]
fld dword [ebx + 0x150]
fsub st(2)
fstp dword [ebx + 0x150]
fld dword [ebx + 0x154]
fsub st(1)
fstp dword [ebx + 0x154]
fcompp
call fcn.004582f0
push dword [ebx + 0x144]
push dword [ebx + 0x140]
call fcn.0048cc30
fsub dword [0x5f044c]
mov eax, dword [0x6fb49c]
pop ecx
pop ecx
fstp dword [esp + 4]
fld dword [esp + 4]
fstp dword [eax + 0x2dc]
fld dword [esp + 4]
mov eax, dword [0x6fb49c]
fstp dword [eax + 0x2e0]
jmp 0x45ab0a
movsx eax, word [ecx + 0x5c]
lea esi, [ecx + 4]
mov eax, dword [eax*4 + 0x83d408]
cmp dword [eax + 0x58], 1
jne 0x45a8d0
add eax, 0x74
jmp 0x45a8d6
lea eax, [eax + 0x8c]
fld dword [eax]
fstp dword [esp + 0x40]
fld dword [eax + 4]
fstp dword [esp + 0x44]
fld dword [eax + 8]
fstp dword [esp + 0x48]
fld dword [esp + 0x44]
fadd dword [0x5f065c]
mov dword [esp + 0x40], 0
fstp dword [esp + 0x44]
fld dword [esp + 0x48]
fadd dword [0x5f0660]
fstp dword [esp + 0x48]
mov dword [ebx + 0xb0], 0x42700000
lea eax, [esp + 0x40]
push eax
lea eax, [esp + 0x50]
push esi
push eax
fstp st(0)
call fcn.004ba3d0
fld dword [esp + 0x58]
fstp dword [ebx + 0x14c]
fld dword [esp + 0x5c]
fstp dword [ebx + 0x150]
fld dword [esp + 0x60]
fstp dword [ebx + 0x154]
mov eax, dword [ebx + 0x188]
add esp, 0xc
fld dword [ebx + 0x14c]
add eax, 0x34
fadd dword [eax]
fstp dword [ebx + 0x14c]
fld dword [ebx + 0x150]
fadd dword [eax + 4]
fstp dword [ebx + 0x150]
fld dword [ebx + 0x154]
fadd dword [eax + 8]
fstp dword [ebx + 0x154]
mov eax, dword [ebx + 0x188]
mov edx, dword [eax + 0x284]
cmp edx, 1
jne 0x45a9a3
fld dword [ebx + 0x154]
fadd dword [0x5f0464]
fstp dword [ebx + 0x154]
mov ecx, dword [ebx + 0x188]
call fcn.00552230
test al, al
je 0x45a9f0
fld dword [0x6289cc]
fcomp dword [0x5f0464]
fnstsw ax
and ah, 5
cmp ah, 1
jne 0x45a9e0
fld dword [0x6289cc]
fadd dword [0x5f043c]
fstp dword [0x6289cc]
jmp 0x45aa2a
mov dword [0x6289cc], 0x3f000000
jmp 0x45aa2a
fld dword [0x6289cc]
fcomp dword [0x5f0414]
fnstsw ax
and ah, 5
cmp ah, 1
jne 0x45aa20
fld dword [0x6289cc]
fsub dword [0x5f043c]
fstp dword [0x6289cc]
jmp 0x45aa2a
mov dword [0x6289cc], 0
fld dword [ebx + 0x154]
fadd dword [0x6289cc]
fstp dword [ebx + 0x154]
lea eax, [esi + 0x10]
fld dword [eax]
fstp dword [ebx + 0x140]
fld dword [eax + 4]
fstp dword [ebx + 0x144]
fld dword [eax + 8]
fstp dword [ebx + 0x148]
lea ecx, [ebx + 0x140]
call fcn.004ba560
add esi, 0x20
fld dword [esi]
fstp dword [ebx + 0x164]
fld dword [esi + 4]
fstp dword [ebx + 0x168]
fld dword [esi + 8]
fstp dword [ebx + 0x16c]
lea ecx, [ebx + 0x164]
call fcn.004ba560
lea eax, [ebx + 0x164]
lea ecx, [ebx + 0x140]
push eax
lea eax, [esp + 0x5c]
push ecx
push eax
call fcn.004ba350
mov eax, dword [esp + 0x64]
add esp, 0xc
mov edx, dword [esp + 0x5c]
mov dword [esp + 0x34], eax
lea ecx, [esp + 0x34]
mov eax, dword [esp + 0x60]
mov dword [esp + 0x3c], eax
mov dword [esp + 0x38], edx
call fcn.004ba560
lea eax, [ebx + 0x140]
lea ecx, [esp + 0x34]
push eax
lea eax, [esp + 0x68]
push ecx
push eax
call fcn.004ba350
fld dword [esp + 0x70]
fstp dword [ebx + 0x164]
fld dword [esp + 0x74]
fstp dword [ebx + 0x168]
fld dword [esp + 0x78]
add esp, 0xc
fstp dword [ebx + 0x16c]
lea ecx, [ebx + 0x164]
call fcn.004ba560
mov byte [ebx + 0xa], 0
add esp, 0x70
pop esi
pop ebx
ret 0x10
fcompp
jmp 0x45a7f7
fstp st(0)
jmp 0x45ab0e