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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xffffffc0
sub esp, 0xfc
push esi
mov ecx, 1
mov eax, ebx
call fcn.00525290
call fcn.00426a00
test eax, eax
je 0x45aedc
mov ecx, dword [edi + 0x4c]
test ecx, ecx
je 0x45aedc
cmp dword [edi + 0x50], 0
jne 0x45ab81
cmp dword [edi + 0x3c], 0
je 0x45aedc
mov eax, dword [ecx]
mov edx, dword [eax + 0x78]
call edx
fstp dword [edi + 0x14]
mov ecx, dword [edi + 0x4c]
mov eax, dword [ecx]
mov edx, dword [eax + 0x7c]
call edx
fstp dword [edi + 0x18]
mov ecx, dword [edi + 0x50]
test ecx, ecx
je 0x45abb6
mov eax, dword [ecx]
mov edx, dword [eax + 0x78]
call edx
fstp dword [esp + 0x30]
mov ecx, dword [edi + 0x50]
mov eax, dword [ecx]
mov edx, dword [eax + 0x7c]
call edx
jmp 0x45abf1
call fcn.00426a00
mov eax, dword [eax + 0x720]
cmp dword [eax + 0x74], 0
je 0x45aedc
call fcn.00426a00
mov ecx, dword [eax + 0x720]
mov edx, dword [ecx + 0x74]
fild dword [edx + 0xc]
fstp dword [esp + 0x30]
call fcn.00426a00
mov eax, dword [eax + 0x720]
mov ecx, dword [eax + 0x74]
fld dword [ecx + 0x10]
fstp dword [esp + 0x20]
fld dword [edi + 0x14]
fsub dword [esp + 0x30]
fstp dword [esp + 0x34]
fld dword [edi + 0x18]
fsub dword [esp + 0x20]
fstp dword [esp + 0x24]
fld dword [esp + 0x24]
fld dword [esp + 0x34]
fmul st(0), st(0)
fld st(1)
fmulp st(2)
faddp st(1)
fstp dword [esp + 0x1c]
fld dword [esp + 0x1c]
call fcn.00644f90
fstp dword [esp + 0x1c]
fld dword [esp + 0x1c]
mov ecx, dword [0x6b8648]
fstp dword [esp + 0x2c]
fld dword [esp + 0x2c]
call fcn.00527e50
mov dword [esp + 0x1c], eax
fild dword [esp + 0x1c]
fcomp st(1)
fnstsw ax
test ah, 1
jne 0x45ac5a
mov dword [esp + 0x20], ecx
jmp 0x45ac66
mov edx, dword [0x6b8870]
mov dword [esp + 0x20], edx
mov ecx, edx
mov eax, dword [edi + 0xc]
cdq
and edx, 3
add eax, edx
sar eax, 2
cdq
idiv dword [ecx + 0x30]
lea esi, [esp + 0x40]
push edx
call fcn.00527e80
mov ecx, dword [esp + 0x20]
call fcn.00527e50
mov dword [esp + 0x1c], eax
fidiv dword [esp + 0x1c]
sub esp, 8
fstp dword [esp + 0x24]
fld dword [esp + 0x24]
fstp qword [esp]
call fcn.00624b10
fstp dword [esp + 0x24]
fld dword [esp + 0x24]
add esp, 8
call fcn.0062a660
mov dword [esp + 0x1c], eax
fild dword [esp + 0x1c]
xor esi, esi
test eax, eax
mov dword [esp + 0x30], esi
fstp dword [esp + 0x28]
fld dword [esp + 0x34]
fld dword [esp + 0x28]
fld st(0)
fdivp st(2)
fxch st(1)
fstp dword [esp + 0x34]
fld dword [esp + 0x24]
fdiv st(1)
fstp dword [esp + 0x24]
fdivr dword [esp + 0x2c]
fstp dword [esp + 0x2c]
jle 0x45aeb9
fld dword [esp + 0x2c]
fmul qword [0x686830]
fstp qword [esp + 0x38]
fld dword [esp + 0x34]
fld dword [esp + 0x24]
call fcn.00644e4a
fstp dword [esp + 0x28]
fld dword [esp + 0x28]
fadd qword [0x6874e8]
fstp dword [esp + 0x28]
nop
mov cl, 1
mov eax, ebx
call fcn.005252b0
cmp byte [ebx + 0x4c], 0
je 0x45adf2
lea eax, [esp + 0x70]
call fcn.004db140
fld dword [esp + 0x2c]
mov eax, dword [0x6b84d4]
fidiv dword [eax + 0x28]
sub esp, 8
lea eax, [esp + 0x78]
fstp dword [esp + 0x20]
fld dword [esp + 0x20]
fstp dword [esp + 4]
fld dword [0x6871e4]
fstp dword [esp]
call fcn.004db230
fld dword [esp + 0x28]
push ecx
fstp dword [esp]
lea eax, [esp + 0x74]
call fcn.004db1f0
mov ecx, dword [edi + 0x34]
push ecx
lea ecx, [esp + 0x54]
call fcn.005029b0
lea edx, [esp + 0x50]
push edx
mov ecx, ebx
call fcn.00525260
fild dword [esp + 0x30]
mov edx, dword [0x6b84d4]
sub esp, 8
fsubr qword [0x6874e0]
lea eax, [esp + 0x78]
fld dword [esp + 0x2c]
fmul st(1)
fadd dword [edi + 0x18]
fstp dword [esp + 0x20]
fld dword [esp + 0x20]
fstp dword [esp + 4]
fmul dword [esp + 0x3c]
fadd dword [edi + 0x14]
fstp dword [esp + 0x20]
fld dword [esp + 0x20]
fstp dword [esp]
push eax
push ebx
call fcn.00526990
push 0xffffff
lea ecx, [esp + 0x64]
call fcn.005029b0
lea ecx, [esp + 0x60]
push ecx
mov ecx, ebx
call fcn.00525260
lea eax, [esp + 0xb8]
call fcn.004db140
mov edx, dword [esp + 0x20]
fild dword [edx + 0x28]
sub esp, 8
fstp dword [esp + 0x20]
fld dword [esp + 0x34]
fld dword [esp + 0x20]
fld st(0)
fdivp st(2)
fxch st(1)
fstp dword [esp + 0x20]
fld dword [esp + 0x20]
fstp dword [esp + 4]
fdivr qword [esp + 0x40]
fadd qword [0x686830]
fstp dword [esp + 0x20]
fld dword [esp + 0x20]
fstp dword [esp]
call fcn.004db230
fld dword [esp + 0x28]
push ecx
lea eax, [esp + 0xbc]
fstp dword [esp]
call fcn.004db1f0
xor cl, cl
mov eax, ebx
call fcn.005252b0
fild dword [esp + 0x30]
mov edx, dword [esp + 0x20]
sub esp, 8
fsubr qword [0x6874e0]
lea eax, [esp + 0x48]
fld dword [esp + 0x2c]
lea ecx, [esp + 0xc0]
fmul st(1)
fadd dword [edi + 0x18]
fstp dword [esp + 0x20]
fld dword [esp + 0x20]
fstp dword [esp + 4]
fmul dword [esp + 0x3c]
fadd dword [edi + 0x14]
fstp dword [esp + 0x20]
fld dword [esp + 0x20]
fstp dword [esp]
push eax
mov eax, ebx
call fcn.00526a30
add esi, 1
cmp esi, dword [esp + 0x1c]
mov dword [esp + 0x30], esi
jl 0x45ad20
push 0xffffff
lea ecx, [esp + 0x44]
call fcn.005029b0
lea ecx, [esp + 0x40]
push ecx
mov ecx, ebx
call fcn.00525260
xor cl, cl
mov eax, ebx
call fcn.005252b0
pop esi
mov esp, ebp
pop ebp
ret