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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x38
mov eax, dword [ecx]
push esi
mov esi, dword [ebp + 0x10]
push edi
mov edi, dword [ebp + 0xc]
push esi
lea edx, [ebp - 0x38]
push edi
push edx
call dword [eax + 0x3c]
test al, al
je 0x5200cc
and edi, 0x80000001
jns 0x51ff2e
dec edi
or edi, 0xfffffffe
inc edi
and esi, 0x80000001
jns 0x51ff3b
dec esi
or esi, 0xfffffffe
inc esi
lea ecx, [ebp - 0x38]
mov edx, 4
fld dword [ecx]
test edi, edi
je 0x51ff62
fcomp dword [ebp - 0x2c]
fnstsw ax
test ah, 1
je 0x51ff7b
fld dword [ebp - 0x2c]
fsub dword [ecx]
fmul dword [0x73a608]
fadd dword [ecx]
jmp 0x51ff79
fcomp dword [ebp - 0x38]
fnstsw ax
test ah, 0x41
jne 0x51ff7b
fld dword [ecx]
fsub dword [ebp - 0x38]
fmul dword [0x73a608]
fsubr dword [ecx]
fstp dword [ecx]
fld dword [ecx + 8]
test esi, esi
je 0x51ff9d
fcomp dword [ebp - 0x18]
fnstsw ax
test ah, 1
je 0x51ffb9
fld dword [ebp - 0x18]
fsub dword [ecx + 8]
fmul dword [0x73a608]
fadd dword [ecx + 8]
jmp 0x51ffb6
fcomp dword [ebp - 0x30]
fnstsw ax
test ah, 0x41
jne 0x51ffb9
fld dword [ecx + 8]
fsub dword [ebp - 0x30]
fmul dword [0x73a608]
fsubr dword [ecx + 8]
fstp dword [ecx + 8]
add ecx, 0xc
dec edx
jne 0x51ff43
mov ecx, dword [0x7a0f18]
push ebx
call fcn.004122d0
mov esi, eax
xor edi, edi
lea ebx, [ebp - 0x38]
mov edx, dword [esi]
mov ecx, dword [ebp + 8]
mov eax, edi
add eax, edx
push eax
push ecx
mov ecx, dword [0x7a0f18]
push ebx
call fcn.004127b0
mov edx, dword [esi]
add ebx, 0xc
fld dword [edi + edx + 8]
fsub dword [0x742da8]
lea eax, [edi + edx + 8]
add edi, 0x20
cmp edi, 0x80
fstp dword [eax]
jl 0x51ffd2
mov ecx, dword [ebp + 0x18]
push 1
push esi
mov eax, dword [ecx + 0x18]
mov edx, dword [ecx + 4]
mov dword [ebp - 8], eax
xor eax, eax
mov dword [ebp - 4], eax
fild qword [ebp - 8]
mov dword [ebp - 8], edx
mov edx, dword [ecx + 0x1c]
mov dword [ebp - 4], eax
fidiv dword [ebp - 8]
mov dword [ebp - 8], edx
mov edx, dword [ecx + 8]
mov dword [ebp - 4], eax
fild qword [ebp - 8]
mov dword [ebp - 8], edx
mov dword [ebp - 4], eax
mov eax, dword [ebp + 0x1c]
mov edx, dword [esi]
fidiv dword [ebp - 8]
fstp dword [ebp + 0x10]
fld st(0)
fmul dword [eax]
fstp dword [edx + 0x18]
fld dword [ebp + 0x10]
fmul dword [eax + 4]
mov edx, dword [esi]
fstp dword [edx + 0x1c]
mov edx, dword [esi]
fld st(0)
fmul dword [eax + 8]
fstp dword [edx + 0x38]
fld dword [ebp + 0x10]
fmul dword [eax + 0xc]
mov edx, dword [esi]
fstp dword [edx + 0x3c]
mov edx, dword [esi]
fld st(0)
fmul dword [eax + 0x10]
fstp dword [edx + 0x58]
fld dword [ebp + 0x10]
fmul dword [eax + 0x14]
mov edx, dword [esi]
fstp dword [edx + 0x5c]
mov edx, dword [esi]
fmul dword [eax + 0x18]
fstp dword [edx + 0x78]
fld dword [ebp + 0x10]
fmul dword [eax + 0x1c]
mov eax, dword [esi]
fstp dword [eax + 0x7c]
mov eax, dword [ebp + 0x14]
mov dword [esi + 8], ecx
mov ecx, dword [esi]
mov dword [esi + 0x14], 5
mov dword [esi + 0x18], 6
mov dword [ecx + 0x10], eax
mov edx, dword [esi]
mov dword [edx + 0x30], eax
mov ecx, dword [esi]
mov dword [ecx + 0x50], eax
mov edx, dword [esi]
mov dword [edx + 0x70], eax
mov ecx, dword [0x7a0f18]
call fcn.00411b20
pop ebx
pop edi
pop esi
mov esp, ebp
pop ebp
ret 0x18