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

Disassembly:
push ebp
mov ebp, esp
push edi
push esi
push ebx
and esp, 0xfffffff0
sub esp, 0x70
mov edi, dword [ebp + 0x10]
test edi, edi
jle 0x6c254016
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x30]
mov edx, dword [ebp + 0xc]
shl edx, 8
add edx, eax
mov dword [esp + 0x24], edx
mov ebx, dword [ebp + 0x14]
mov dword [esp + 0x10], 0
add edx, 0x50
mov dword [esp + 4], edx
mov esi, dword [esp + 0x24]
add esi, 0x30
mov dword [esp], esi
mov edx, dword [esp + 0x24]
add edx, 0x40
mov dword [esp + 8], edx
mov esi, dword [ebp + 0xc]
neg esi
shl esi, 8
sub esi, eax
mov dword [esp + 0xc], esi
xorps xmm4, xmm4
lea eax, [esp + 0x50]
mov dword [esp + 0x3c], eax
lea esi, [esp + 0x40]
mov dword [esp + 0x38], esi
lea eax, [esp + 0x60]
mov dword [esp + 0x34], eax
lea esi, [esi]
mov eax, dword [esp + 0xc]
add eax, dword [esp + 0x24]
mov edx, dword [esp + 4]
movaps xmm2, xmmword [eax + edx]
mov esi, dword [esp]
movaps xmm1, xmmword [eax + esi]
subps xmm1, xmm2
mov edx, dword [esp + 8]
movaps xmm0, xmmword [eax + edx]
subps xmm0, xmm2
movaps xmm2, xmm1
shufps xmm2, xmm1, 0xc9
mulps xmm2, xmm0
shufps xmm0, xmm0, 0xc9
mulps xmm0, xmm1
subps xmm0, xmm2
shufps xmm0, xmm0, 0xc9
movaps xmm1, xmm0
mulps xmm1, xmm0
movaps xmm3, xmm1
shufps xmm3, xmm1, 0xc9
addps xmm3, xmm1
shufps xmm1, xmm1, 0xd2
addps xmm3, xmm1
rsqrtps xmm3, xmm3
mulps xmm3, xmm0
movaps xmm1, xmm4
cmpneqps xmm1, xmm0
andps xmm3, xmm1
mov eax, dword [esp + 0x24]
movsx eax, word [eax + 0xfa]
mov dword [esp + 0x14], eax
mov dword [esp + 0x30], 1
movaps xmm5, xmm3
shufps xmm5, xmm3, 0xc9
mov ecx, dword [esp + 0x30]
dec ecx
mov eax, dword [esp + 0x14]
sar eax, cl
test al, 1
je 0x6c253fb8
mov eax, dword [esp + 0x30]
add eax, 2
shl eax, 4
add eax, dword [esp + 0x24]
mov dword [esp + 0x28], eax
mov esi, 3
mov eax, dword [esp + 0x30]
cdq
idiv esi
lea eax, [edx + 3]
shl eax, 4
add eax, dword [esp + 0x24]
movaps xmm1, xmmword [eax]
mov esi, dword [esp + 0x28]
subps xmm1, xmmword [esi]
movaps xmm2, xmm5
mulps xmm2, xmm1
movaps xmm0, xmm1
shufps xmm0, xmm1, 0xc9
mulps xmm0, xmm3
subps xmm0, xmm2
shufps xmm0, xmm0, 0xc9
movaps xmm6, xmm0
mulps xmm6, xmm0
movaps xmm2, xmm6
shufps xmm2, xmm6, 0xc9
addps xmm2, xmm6
shufps xmm6, xmm6, 0xd2
addps xmm2, xmm6
rsqrtps xmm2, xmm2
mulps xmm2, xmm0
movaps xmm6, xmm4
cmpneqps xmm6, xmm0
andps xmm2, xmm6
movaps xmmword [esp + 0x40], xmm2
mov ecx, 4
mov edi, dword [esp + 0x3c]
mov esi, dword [esp + 0x38]
rep movsd dword es:[edi], dword [esi]
fld dword [esp + 0x50]
fstp dword [esp + 0x18]
fld dword [esp + 0x54]
fstp dword [esp + 0x1c]
fld dword [esp + 0x58]
fstp dword [esp + 0x20]
movaps xmm2, xmm1
mulps xmm2, xmm1
movaps xmm0, xmm2
shufps xmm0, xmm2, 0xc9
addps xmm0, xmm2
shufps xmm2, xmm2, 0xd2
addps xmm0, xmm2
movss dword [esp + 0x2c], xmm0
fld dword [esp + 0x2c]
fsqrt
fdivr dword [0x6c3695bc]
fstp dword [esp + 0x2c]
movss xmm2, dword [esp + 0x2c]
shufps xmm2, xmm2, 0
movaps xmm0, xmm2
mulps xmm0, xmm1
movaps xmmword [esp + 0x40], xmm0
mov cl, 4
mov edi, dword [esp + 0x34]
mov esi, dword [esp + 0x38]
rep movsd dword es:[edi], dword [esi]
fld dword [esp + 0x60]
fld dword [esp + 0x64]
mov edx, dword [esp + 0x28]
mov ecx, dword [edx]
mov esi, dword [edx + 4]
mov dword [ebx + 0x7c], esi
mov edx, dword [edx + 8]
mov dword [ebx + 0x80], edx
mov edi, dword [eax]
mov esi, dword [eax + 4]
mov eax, dword [eax + 8]
mov dword [ebx], ecx
mov edx, dword [ebx + 0x7c]
mov dword [ebx + 4], edx
mov edx, dword [ebx + 0x80]
mov dword [ebx + 8], edx
fld st(1)
fchs
fst dword [ebx + 0xc]
fld st(1)
fchs
fst dword [ebx + 0x10]
fld dword [esp + 0x68]
fchs
fst dword [ebx + 0x14]
fxch st(4)
mov dword [ebx + 0x18], edi
mov dword [ebx + 0x1c], esi
mov dword [ebx + 0x20], eax
fst dword [ebx + 0x24]
fxch st(3)
fst dword [ebx + 0x28]
fld dword [esp + 0x68]
fstp dword [ebx + 0x2c]
mov dword [ebx + 0x30], edi
mov dword [ebx + 0x34], esi
mov dword [ebx + 0x38], eax
fld dword [esp + 0x18]
fadd st(4)
fst dword [ebx + 0x3c]
fld dword [esp + 0x1c]
fadd st(2)
fst dword [ebx + 0x40]
fld dword [esp + 0x20]
fadd dword [esp + 0x68]
fst dword [ebx + 0x44]
fxch st(5)
mov dword [ebx + 0x48], ecx
mov edx, dword [ebx + 0x7c]
mov dword [ebx + 0x4c], edx
mov edx, dword [ebx + 0x80]
mov dword [ebx + 0x50], edx
fstp dword [ebx + 0x54]
fxch st(3)
fstp dword [ebx + 0x58]
fxch st(5)
fstp dword [ebx + 0x5c]
fxch st(4)
mov dword [ebx + 0x60], edi
mov dword [ebx + 0x64], esi
mov dword [ebx + 0x68], eax
fstp dword [ebx + 0x6c]
fstp dword [ebx + 0x70]
fstp dword [ebx + 0x74]
mov dword [ebx + 0x78], ecx
fsubr dword [esp + 0x18]
fstp dword [ebx + 0x84]
fsubr dword [esp + 0x1c]
fstp dword [ebx + 0x88]
fld dword [esp + 0x20]
fsub dword [esp + 0x68]
fstp dword [ebx + 0x8c]
add ebx, 0x90
inc dword [esp + 0x30]
cmp dword [esp + 0x30], 4
jne 0x6c253dce
inc dword [esp + 0x10]
add dword [esp + 0x24], 0x100
mov esi, dword [ebp + 0x10]
cmp dword [esp + 0x10], esi
jne 0x6c253d4c
mov edx, dword [ebp + 0xc]
lea eax, [edx + edx*2]
lea eax, [eax + eax*8]
shl eax, 4
add eax, dword [ebp + 0x14]
sub ebx, eax
sar ebx, 3
lea eax, [ebx + ebx*4]
lea eax, [ebx + eax*4]
lea eax, [ebx + eax*4]
mov edx, eax
shl edx, 8
add eax, edx
mov edx, eax
shl edx, 0x10
add eax, edx
lea eax, [ebx + eax*2]
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
pop ebp
ret
mov ebx, dword [ebp + 0x14]
jmp 0x6c253fe0