Function at 0x51d500
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 0x51d6cc
and edi, 0x80000001
jns 0x51d52e
dec edi
or edi, 0xfffffffe
inc edi
and esi, 0x80000001
jns 0x51d53b
dec esi
or esi, 0xfffffffe
inc esi
lea ecx, [ebp - 0x38]
mov edx, 4
fld dword [ecx]
test edi, edi
je 0x51d562
fcomp dword [ebp - 0x2c]
fnstsw ax
test ah, 1
je 0x51d57b
fld dword [ebp - 0x2c]
fsub dword [ecx]
fmul dword [0x736608]
fadd dword [ecx]
jmp 0x51d579
fcomp dword [ebp - 0x38]
fnstsw ax
test ah, 0x41
jne 0x51d57b
fld dword [ecx]
fsub dword [ebp - 0x38]
fmul dword [0x736608]
fsubr dword [ecx]
fstp dword [ecx]
fld dword [ecx + 8]
test esi, esi
je 0x51d59d
fcomp dword [ebp - 0x18]
fnstsw ax
test ah, 1
je 0x51d5b9
fld dword [ebp - 0x18]
fsub dword [ecx + 8]
fmul dword [0x736608]
fadd dword [ecx + 8]
jmp 0x51d5b6
fcomp dword [ebp - 0x30]
fnstsw ax
test ah, 0x41
jne 0x51d5b9
fld dword [ecx + 8]
fsub dword [ebp - 0x30]
fmul dword [0x736608]
fsubr dword [ecx + 8]
fstp dword [ecx + 8]
add ecx, 0xc
dec edx
jne 0x51d543
mov ecx, dword [0x79cb18]
push ebx
call fcn.004122f0
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 [0x79cb18]
push ebx
call fcn.004127d0
mov edx, dword [esi]
add ebx, 0xc
fld dword [edi + edx + 8]
fsub dword [0x73ed10]
lea eax, [edi + edx + 8]
add edi, 0x20
cmp edi, 0x80
fstp dword [eax]
jl 0x51d5d2
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 [0x79cb18]
call fcn.00411b40
pop ebx
pop edi
pop esi
mov esp, ebp
pop ebp
ret 0x18