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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xffffffc0
sub esp, 0x74
cmp dword [ebp + 0xc], 0
fldz
push ebx
push esi
push edi
mov edi, ecx
mov dword [esp + 0x24], edi
je 0x8fed0
mov edx, dword [ebp + 8]
fld qword [edx + 0x10]
fld st(1)
fucompp
fnstsw ax
test ah, 0x44
jp 0x8fd31
fld qword [edx + 0x18]
fld st(1)
fucompp
fnstsw ax
test ah, 0x44
jnp 0x8fed0
mov eax, dword [edi + 0xe0]
mov esi, dword [eax + 0xc]
sub esi, dword [eax + 8]
lea ecx, [edi + 0xe0]
sar esi, 5
xor ebx, ebx
mov dword [esp + 0x20], ecx
test esi, esi
je 0x8fe48
xor edi, edi
jmp 0x8fd67
mov ecx, dword [esp + 0x20]
mov edx, dword [ebp + 8]
mov eax, dword [ecx]
mov ecx, dword [eax + 0xc]
sub ecx, dword [eax + 8]
sar ecx, 5
cmp ebx, ecx
jae 0x8fd7f
mov eax, dword [eax + 8]
fstp st(0)
add eax, edi
jmp 0x8fd93
fst qword [esp + 0x60]
lea eax, [esp + 0x60]
fst qword [esp + 0x68]
fst qword [esp + 0x70]
fstp qword [esp + 0x78]
fld qword [eax]
lea ecx, [esp + 0x40]
fstp qword [esp + 0x40]
fld qword [eax + 8]
fstp qword [esp + 0x48]
fld qword [eax + 0x10]
fstp qword [esp + 0x50]
fld qword [eax + 0x18]
fstp qword [esp + 0x58]
call fcn.000a5620
test al, al
je 0x8fe36
fld qword [esp + 0x40]
sub esp, 8
fstp qword [esp]
call fcn.001b8840
fstp qword [esp + 0x30]
fld qword [esp + 0x50]
fstp qword [esp]
call fcn.001b8840
fstp qword [esp + 0x38]
fld qword [esp + 0x58]
fadd qword [esp + 0x48]
fsub qword [esp + 0x30]
fstp qword [esp]
call fcn.0015b810
fstp qword [esp + 0x40]
fld qword [esp + 0x60]
fadd qword [esp + 0x50]
fsub qword [esp + 0x38]
fstp qword [esp]
call fcn.0015b810
fld qword [esp + 0x30]
mov edx, dword [ebp + 0xc]
fstp qword [esp + 0x48]
add esp, 8
fld qword [esp + 0x30]
push edx
fstp qword [esp + 0x4c]
lea ecx, [esp + 0x44]
fld qword [esp + 0x3c]
fstp qword [esp + 0x54]
fstp qword [esp + 0x5c]
call fcn.000a3a80
fldz
inc ebx
add edi, 0x20
cmp ebx, esi
jb 0x8fd60
mov edi, dword [esp + 0x24]
test byte [edi + 0x19d], 0x10
je 0x8fed0
fld qword [edi + 0xa0]
fld st(1)
fucompp
fnstsw ax
test ah, 0x44
jnp 0x8fed0
mov esi, dword [edi + 4]
fstp st(0)
lea ecx, [esp + 0x60]
call fcn.00092b00
mov edx, dword [ebp + 8]
lea ecx, [esp + 0x60]
call fcn.000a5620
test al, al
je 0x8fece
mov eax, dword [edi + 8]
test eax, eax
je 0x8fea6
mov ecx, dword [eax + 0x10]
mov edx, dword [ecx + 0x20]
sub edx, dword [ecx + 0x1c]
test edx, 0xfffffffc
je 0x8fea6
mov ecx, dword [ebp + 0xc]
push ecx
lea edx, [esp + 0x64]
push edx
call fcn.0009c440
mov edx, dword [ebp + 0xc]
mov ecx, dword [edi + 4]
mov eax, dword [ecx]
mov eax, dword [eax + 0xc8]
push edx
lea edx, [esp + 0x64]
push edx
call eax
mov eax, dword [esp + 0x20]
call fcn.000a3c50
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 8
fldz
mov ecx, dword [edi + 0xe0]
mov ebx, dword [ecx + 8]
mov edx, dword [ecx + 0xc]
add ecx, 8
mov dword [esp + 0x20], ecx
cmp ebx, edx
je 0x8ff0d
mov eax, edx
cmp edx, edx
je 0x8ff0a
mov esi, eax
mov edi, ebx
add eax, 0x20
mov ecx, 8
add ebx, 0x20
rep movsd dword es:[edi], dword [esi]
cmp eax, edx
jne 0x8feed
mov ecx, dword [esp + 0x20]
mov edi, dword [esp + 0x24]
mov dword [ecx + 4], ebx
mov eax, dword [edi + 8]
test eax, eax
je 0x8ff73
mov ecx, dword [eax + 0x10]
mov edx, dword [ecx + 0x20]
sub edx, dword [ecx + 0x1c]
test edx, 0xfffffffc
je 0x8ff73
fst qword [esp + 0x60]
mov eax, ecx
fst qword [esp + 0x68]
fst qword [esp + 0x70]
fst qword [esp + 0x78]
mov esi, dword [eax + 0x1c]
mov ebx, dword [eax + 0x20]
mov eax, dword [eax + 0x18]
mov ecx, dword [eax + 4]
mov edx, dword [ecx + 0x1c4]
mov dword [esp + 0x24], edx
cmp esi, ebx
je 0x8ff73
mov eax, dword [esi]
cmp dword [esp + 0x24], eax
je 0x8ff6c
push 0
fstp st(0)
lea ecx, [esp + 0x64]
push ecx
mov ecx, dword [eax + 0x10]
call fcn.0008fcf0
fldz
add esi, 4
cmp esi, ebx
jne 0x8ff51
mov edi, dword [edi + 4]
fst qword [esp + 0x60]
fst qword [esp + 0x68]
push 0
fst qword [esp + 0x74]
lea eax, [esp + 0x64]
fstp qword [esp + 0x7c]
mov edx, dword [edi]
mov edx, dword [edx + 0xc8]
push eax
mov ecx, edi
call edx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 8