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

Disassembly:
push ebp
push edi
push esi
push ebx
mov ebx, ecx
sub esp, 0x7c
mov eax, dword [ecx + 0x78]
mov dword [esp], eax
call fcn.004829b0
lea eax, [ebx + 0xac]
mov dword [esp + 8], eax
lea eax, [ebx + 0xa8]
mov dword [esp + 4], eax
mov eax, dword [ebx + 0x78]
mov dword [esp], eax
call fcn.0048a9f0
lea eax, [ebx + 0x34]
mov dword [esp + 8], eax
lea eax, [ebx + 0x30]
mov dword [esp + 4], eax
mov eax, dword [ebx + 0x78]
mov dword [esp], eax
call fcn.0048a7c0
fld dword [ebx + 0xb0]
fild dword [ebx + 0x30]
mov dword [esp + 4], 0
fnstcw word [esp + 0x3e]
mov dword [esp], 0
fdiv st(1)
movzx eax, word [esp + 0x3e]
or ah, 0xc
mov word [esp + 0x3c], ax
fldcw word [esp + 0x3c]
fistp dword [esp + 0x2c]
fldcw word [esp + 0x3e]
fild dword [ebx + 0x34]
mov eax, dword [esp + 0x2c]
mov dword [ebx + 0x30], eax
fdiv st(1)
fldcw word [esp + 0x3c]
fistp dword [esp + 0x20]
fldcw word [esp + 0x3e]
fild dword [esp + 0x2c]
mov eax, dword [esp + 0x20]
mov dword [ebx + 0x34], eax
fmul st(1)
fldcw word [esp + 0x3c]
fistp dword [esp + 0x2c]
fldcw word [esp + 0x3e]
fild dword [esp + 0x20]
mov eax, dword [esp + 0x2c]
mov dword [ebx + 0xa8], eax
fmulp st(1)
mov dword [esp + 8], eax
fldcw word [esp + 0x3c]
fistp dword [esp + 0x20]
fldcw word [esp + 0x3e]
mov edx, dword [esp + 0x20]
mov dword [ebx + 0xac], edx
mov dword [esp + 0xc], edx
call dword [0x656284]
sub esp, 0x10
mov dword [esp + 4], 0
mov dword [esp], 0
call dword [0x6568d4]
fld dword [ebx + 0xb0]
mov eax, dword [ebx + 0x7c]
sub esp, 8
mov dword [esp], eax
fstp dword [esp + 0xc]
fild dword [ebx + 0x34]
fstp dword [esp + 8]
fild dword [ebx + 0x30]
fstp dword [esp + 4]
call fcn.00425c20
mov edx, dword [ebx + 0x7c]
mov eax, dword [ebx]
mov ecx, ebx
mov dword [esp], edx
call dword [eax + 0x3c]
sub esp, 4
call fcn.00486b40
fld qword [ebx + 0xd0]
fsubp st(1)
fld dword [0x5a5fdc]
fxch st(1)
fcomi st(1)
fstp st(1)
ja 0x40d830
fstp st(0)
mov eax, dword [ebx + 0x7c]
jmp 0x40d81a
fstp st(0)
jmp 0x40d81a
fstp st(0)
mov dword [esp], eax
call fcn.00425000
add esp, 0x7c
pop ebx
pop esi
pop edi
pop ebp
ret
lea eax, [ebx + 0xbc]
mov ecx, ebx
fstp qword [esp + 0x20]
mov dword [esp], eax
call fcn.00413500
mov esi, eax
sub esp, 4
mov eax, dword [ebx + 0x7c]
test esi, esi
fld qword [esp + 0x20]
je 0x40d810
mov edx, dword [esi + 0x54]
test edx, edx
je 0x40d818
mov dword [esp], eax
mov dword [esp + 4], 0x5a5f75
fstp qword [esp + 0x30]
call fcn.00428da0
mov eax, dword [ebx + 0x7c]
mov dword [esp + 4], 0x41700000
mov dword [esp], eax
call fcn.00428ce0
mov eax, dword [ebx + 0x7c]
mov dword [esp + 4], 9
mov dword [esp], eax
call fcn.00428d60
mov eax, dword [ebx + 0x7c]
mov dword [esp + 4], 0x3f8ccccd
mov dword [esp], eax
call fcn.00428d40
mov eax, dword [esi + 0x34]
lea ecx, [esp + 0x60]
lea ebp, [eax + 0xa]
mov eax, dword [esi + 0x30]
mov dword [esp], esi
mov edi, eax
shr edi, 0x1f
add edi, eax
call fcn.004cd510
sar edi, 1
sub esp, 4
add ebp, dword [esp + 0x64]
lea eax, [esp + 0x60]
add edi, dword [esp + 0x60]
mov dword [esp + 0x10], 0
mov dword [esp + 0x20], ebp
fild dword [esp + 0x20]
mov dword [esp + 0x14], eax
mov eax, dword [esi + 0x50]
mov dword [esp + 0x20], edi
fst dword [esp + 0x2c]
fild dword [esp + 0x20]
mov dword [esp + 0xc], eax
mov eax, dword [ebx + 0x7c]
fst dword [esp + 0x38]
fxch st(1)
mov dword [esp], eax
fstp dword [esp + 8]
fstp dword [esp + 4]
call fcn.0042a4f0
fstp st(0)
fld dword [esp + 0x68]
fsub dword [esp + 0x60]
fnstcw word [esp + 0x3e]
fmul dword [0x5a5fdc]
movzx eax, word [esp + 0x3e]
or ah, 0xc
mov word [esp + 0x3c], ax
fldcw word [esp + 0x3c]
fistp dword [esp + 0x20]
fldcw word [esp + 0x3e]
cmp dword [esp + 0x20], 0x4b
fld qword [esp + 0x30]
jg 0x40dbb0
fsub dword [0x5a5fdc]
lea eax, [esp + 0x50]
mov dword [esp + 4], eax
lea eax, [esp + 0x48]
mov dword [esp], eax
fadd st(0)
fstp qword [esp + 0x50]
fld1
fstp qword [esp + 0x48]
call fcn.0056b6f0
fld qword [0x5a5fe0]
fmul qword [eax]
mov eax, dword [ebx + 0x7c]
mov dword [esp], eax
fstp dword [esp + 4]
call fcn.00425f70
mov eax, dword [ebx + 0x7c]
mov dword [esp], eax
call fcn.00427020
mov eax, dword [ebx + 0x7c]
mov dword [esp + 0x5c], 0x3f800000
fldz
mov dword [esp + 4], 0
fst dword [esp + 0x50]
mov dword [esp], eax
mov dword [esp + 8], 0
mov dword [esp + 0xc], 0
mov dword [esp + 0x10], 0x3f800000
fst dword [esp + 0x54]
fstp dword [esp + 0x58]
call fcn.004264e0
fld dword [esp + 0x64]
fld dword [esp + 0x60]
mov dword [esp + 0x14], 0x40400000
fnstcw word [esp + 0x3e]
fld dword [esp + 0x6c]
movzx eax, word [esp + 0x3e]
fsub st(2)
or ah, 0xc
mov word [esp + 0x3c], ax
fldcw word [esp + 0x3c]
fistp dword [esp + 0x30]
fldcw word [esp + 0x3e]
mov eax, dword [esp + 0x30]
add eax, 8
mov dword [esp + 0x30], eax
fild dword [esp + 0x30]
fstp dword [esp + 0x10]
fld dword [esp + 0x68]
fsub st(1)
fldcw word [esp + 0x3c]
fistp dword [esp + 0x30]
fldcw word [esp + 0x3e]
mov eax, dword [esp + 0x30]
add eax, 8
mov dword [esp + 0x30], eax
fild dword [esp + 0x30]
mov eax, dword [ebx + 0x7c]
fstp dword [esp + 0xc]
fld dword [0x5a5fe8]
mov dword [esp], eax
fsub st(2), st(0)
fxch st(2)
fstp dword [esp + 8]
fsubrp st(1)
fild dword [esp + 0x20]
fsubp st(1)
fstp dword [esp + 4]
call fcn.004281b0
fld dword [esp + 0x68]
fadd dword [esp + 0x60]
fnstcw word [esp + 0x3e]
fmul dword [0x5a5fdc]
movzx eax, word [esp + 0x3e]
or ah, 0xc
mov word [esp + 0x3c], ax
mov eax, dword [ebx + 0x7c]
fldcw word [esp + 0x3c]
fistp dword [esp + 0x30]
fldcw word [esp + 0x3e]
mov dword [esp], eax
fld dword [0x5a5fec]
fsubr dword [esp + 0x64]
mov ebp, dword [esp + 0x30]
sub ebp, dword [esp + 0x20]
mov dword [esp + 0x30], ebp
fstp dword [esp + 8]
fild dword [esp + 0x30]
fstp dword [esp + 4]
call fcn.00427040
lea eax, [ebp + 7]
sub ebp, 7
fld1
fadd dword [esp + 0x64]
mov dword [esp + 0x30], eax
mov eax, dword [ebx + 0x7c]
mov dword [esp], eax
fstp dword [esp + 8]
fild dword [esp + 0x30]
fstp dword [esp + 4]
call fcn.00427080
mov eax, dword [ebx + 0x7c]
mov dword [esp + 0x30], ebp
fld1
fadd dword [esp + 0x64]
mov dword [esp], eax
fstp dword [esp + 8]
fild dword [esp + 0x30]
fstp dword [esp + 4]
call fcn.00427080
mov eax, dword [ebx + 0x7c]
mov dword [esp], eax
call fcn.004284e0
mov eax, dword [ebx + 0x7c]
mov dword [esp + 0x50], 0x3f800000
mov dword [esp + 0x54], 0x3f800000
mov dword [esp], eax
mov dword [esp + 0x58], 0x3f800000
mov dword [esp + 0x5c], 0x3f800000
mov dword [esp + 4], 0x3f800000
mov dword [esp + 8], 0x3f800000
mov dword [esp + 0xc], 0x3f800000
mov dword [esp + 0x10], 0x3f800000
call fcn.004264e0
mov eax, dword [ebx + 0x7c]
fldz
mov dword [esp], eax
fstp dword [esp + 4]
call fcn.00428d00
fld dword [esp + 0x2c]
sub edi, dword [esp + 0x20]
mov dword [esp + 0x14], 0
mov eax, dword [esi + 0x50]
mov dword [esp + 0x20], edi
mov dword [esp + 0xc], 0x43160000
mov dword [esp + 0x10], eax
mov eax, dword [ebx + 0x7c]
fstp dword [esp + 8]
fild dword [esp + 0x20]
mov dword [esp], eax
fstp dword [esp + 4]
call fcn.0042a750
jmp 0x40d803
fstp st(0)
mov eax, dword [ebx + 0x7c]
mov dword [esp + 4], 0xa
mov dword [esp], eax
call fcn.00428d60
lea eax, [esp + 0x60]
fld dword [esp + 0x2c]
mov dword [esp + 0x14], 0
mov dword [esp + 0x18], eax
mov eax, dword [esi + 0x50]
mov dword [esp + 0xc], 0x43160000
mov dword [esp + 0x10], eax
mov eax, dword [ebx + 0x7c]
fstp dword [esp + 8]
fld dword [esp + 0x38]
mov dword [esp], eax
fstp dword [esp + 4]
call fcn.0042a960
fld dword [esp + 0x68]
fsub dword [esp + 0x60]
fnstcw word [esp + 0x3e]
fmul dword [0x5a5fdc]
movzx eax, word [esp + 0x3e]
or ah, 0xc
mov word [esp + 0x3c], ax
fldcw word [esp + 0x3c]
fistp dword [esp + 0x20]
fldcw word [esp + 0x3e]
fld qword [esp + 0x30]
jmp 0x40d951