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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff0
sub esp, 0x78
mov ecx, dword [ebp + 0x14]
mov eax, dword [ebp + 8]
mov dword [esp + 0x48], eax
push esi
movzx edx, word [ecx + 4]
lea eax, [ecx + 0x20]
mov dword [esp + 0x5c], eax
movss xmm0, dword [ecx + 0x18]
push edi
lea eax, [edx + edx*8]
movss dword [esp + 0x58], xmm0
shl eax, 4
xor edi, edi
add eax, 0x20
movss xmm0, dword [ecx + 0x1c]
add eax, ecx
mov dword [esp + 0x54], edx
mov dword [esp + 0x64], eax
imul eax, edx, 0x4f0
movss dword [esp + 0x5c], xmm0
add eax, 0x40
add eax, ecx
mov dword [esp + 0x68], eax
mov eax, dword [ebp + 0x10]
mov dword [esp + 0x6c], eax
imul eax, edx, 0xf0
add eax, 0x20
add eax, ecx
mov dword [esp + 0x70], eax
imul eax, edx, 0x4f4
add eax, 0x44
add eax, ecx
mov dword [esp + 0x74], eax
imul eax, edx, 0x4b0
add eax, 0x20
add eax, ecx
mov dword [esp + 0x78], eax
imul eax, edx, 0x4d0
add eax, 0x40
add eax, ecx
mov dword [esp + 0x7c], eax
test edx, edx
jle 0x6e97aa
mov ecx, dword [esp + 0x64]
xor edx, edx
mov esi, dword [ebp + 0xc]
add ecx, 0x3c
nop dword [eax]
mov eax, dword [esp + 0x74]
inc edi
movss xmm0, dword [eax + edx + 0xc]
mulss xmm0, dword [esi + 4]
addss xmm0, dword [ecx - 0x20]
movss dword [ecx - 0x20], xmm0
mov eax, dword [esp + 0x74]
movss xmm0, dword [eax + edx + 0x20]
mulss xmm0, dword [esi + 4]
addss xmm0, dword [ecx]
movss dword [ecx], xmm0
mov eax, dword [esp + 0x74]
movss xmm0, dword [eax + edx + 0x34]
add edx, 0x40
mulss xmm0, dword [esi + 4]
addss xmm0, dword [ecx + 0x20]
movss dword [ecx + 0x20], xmm0
add ecx, 0x60
cmp edi, dword [esp + 0x54]
jl 0x6e9750
mov eax, dword [esp + 0x7c]
push eax
lea eax, [esp + 0x54]
push eax
call fcn.006f18e0
xor esi, esi
add esp, 8
cmp dword [esp + 0x54], esi
jle 0x6e981a
xor edi, edi
xor edx, edx
mov dword [esp + 0x10], edx
mov eax, dword [esp + 0x74]
mov cl, dl
add cl, cl
mov al, byte [eax + edi]
shr al, cl
and al, 3
cmp al, 2
jne 0x6e97ec
mov eax, dword [esp + 0x7c]
lea ecx, [edx + esi*8]
mov dword [eax + ecx*4 + 0x10], 0
jmp 0x6e9806
test al, al
je 0x6e9806
push dword [esp + 0x7c]
push dword [esp + 0x78]
push edx
push esi
call fcn.006f1b20
mov edx, dword [esp + 0x20]
add esp, 0x10
inc edx
mov dword [esp + 0x10], edx
cmp edx, 3
jl 0x6e97c8
inc esi
add edi, 0x40
cmp esi, dword [esp + 0x54]
jl 0x6e97c2
push dword [esp + 0x78]
lea eax, [esp + 0x54]
push eax
call fcn.006f1c50
push dword [esp + 0x7c]
lea eax, [esp + 0x1c]
mov dword [esp + 0x14], 0xffffffff
push eax
lea eax, [esp + 0x1c]
mov dword [esp + 0x1c], 0xffffffff
push eax
lea eax, [esp + 0x1c]
mov dword [esp + 0x24], 0
push eax
lea eax, [esp + 0x68]
push eax
call fcn.006f1ef0
mov eax, dword [esp + 0x24]
add esp, 0x1c
test eax, eax
js 0x6e98f6
nop dword [eax]
push dword [esp + 0x70]
push dword [esp + 0x78]
push dword [esp + 0x5c]
push eax
call fcn.006f1360
push dword [esp + 0x8c]
lea eax, [esp + 0x64]
push eax
push dword [esp + 0x24]
push dword [esp + 0x24]
call fcn.006f1b70
push dword [esp + 0x98]
lea eax, [esp + 0x74]
push eax
call fcn.006f1c50
push dword [esp + 0x9c]
lea eax, [esp + 0x3c]
mov dword [esp + 0x34], 0xffffffff
push eax
lea eax, [esp + 0x3c]
mov dword [esp + 0x3c], 0xffffffff
push eax
lea eax, [esp + 0x3c]
mov dword [esp + 0x44], 0
push eax
lea eax, [esp + 0x88]
push eax
call fcn.006f1ef0
mov eax, dword [esp + 0x44]
add esp, 0x3c
test eax, eax
jns 0x6e9870
push dword [esp + 0x78]
lea eax, [esp + 0x54]
push eax
call fcn.006f1c50
push dword [esp + 0x7c]
lea eax, [esp + 0x1c]
mov dword [esp + 0x14], 0xffffffff
push eax
lea eax, [esp + 0x1c]
mov dword [esp + 0x1c], 0xffffffff
push eax
lea eax, [esp + 0x1c]
mov dword [esp + 0x24], 0
push eax
lea eax, [esp + 0x68]
push eax
call fcn.006f1d20
mov eax, dword [esp + 0x24]
add esp, 0x1c
test eax, eax
js 0x6e99d8
nop dword [eax + eax]
push dword [esp + 0x70]
push dword [esp + 0x78]
push dword [esp + 0x5c]
push eax
call fcn.006f1360
push dword [esp + 0x8c]
push dword [esp + 0x88]
push dword [esp + 0x24]
push dword [esp + 0x24]
call fcn.006f1b20
push dword [esp + 0x98]
lea eax, [esp + 0x74]
push eax
call fcn.006f1c50
push dword [esp + 0x9c]
lea eax, [esp + 0x3c]
mov dword [esp + 0x34], 0xffffffff
push eax
lea eax, [esp + 0x3c]
mov dword [esp + 0x3c], 0xffffffff
push eax
lea eax, [esp + 0x3c]
mov dword [esp + 0x44], 0
push eax
lea eax, [esp + 0x88]
push eax
call fcn.006f1d20
mov eax, dword [esp + 0x44]
add esp, 0x3c
test eax, eax
jns 0x6e9950
mov ecx, dword [esp + 0x78]
xorps xmm6, xmm6
mov esi, dword [esp + 0x54]
add ecx, 0x20
sub esi, 1
mov dword [esp + 0x14], esi
js 0x6e9de4
lea eax, [esi + esi*2]
imul edx, esi, 0x3c0
shl eax, 5
mov edi, esi
mov dword [esp + 0xc], eax
movaps xmm0, xmm6
lea eax, [esi + esi*8]
shl edi, 5
shl eax, 4
add edi, ecx
mov dword [esp + 0x10], eax
lea ecx, [esi + esi*2]
mov eax, dword [ebp + 0x18]
movaps xmm2, xmm6
shufps xmm0, xmm6, 0x55
movaps xmm1, xmm6
movaps xmm7, xmm6
shufps xmm2, xmm6, 0x55
movaps xmm5, xmm6
movaps xmmword [esp + 0x20], xmm0
lea eax, [eax + ecx*8]
shufps xmm1, xmm6, 0
add eax, 8
shufps xmm7, xmm6, 0xaa
movaps xmmword [esp + 0x30], xmm2
shufps xmm5, xmm6, 0
mov dword [esp + 0x18], edx
mov dword [esp + 0x1c], edi
mov dword [esp + 8], eax
nop dword [eax]
mov eax, dword [esp + 0x70]
movaps xmm4, xmmword [eax + edx + 0x190]
mulps xmm4, xmm0
movaps xmm0, xmm1
mulps xmm0, xmmword [eax + edx + 0x180]
movaps xmm3, xmmword [eax + edx + 0x1c0]
mulps xmm1, xmmword [eax + edx + 0x1e0]
addps xmm4, xmm0
mulps xmm3, xmm2
movaps xmm0, xmmword [eax + edx + 0x1a0]
mulps xmm0, xmm7
movaps xmm2, xmmword [eax + edx + 0x1f0]
mulps xmm2, xmmword [esp + 0x20]
addps xmm4, xmm0
movaps xmm0, xmm5
mulps xmm0, xmmword [eax + edx + 0x1b0]
mulps xmm5, xmmword [eax + edx + 0x210]
addps xmm2, xmm1
movaps xmm1, xmmword [eax + edx + 0x220]
addps xmm3, xmm0
mulps xmm1, xmmword [esp + 0x30]
movaps xmm0, xmmword [eax + edx + 0x1d0]
mulps xmm0, xmm6
addps xmm1, xmm5
addps xmm3, xmm0
movaps xmm0, xmmword [eax + edx + 0x200]
mulps xmm0, xmm7
movaps xmm7, xmmword [edi]
addps xmm4, xmm3
addps xmm2, xmm0
movaps xmm0, xmmword [eax + edx + 0x230]
mov eax, dword [esp + 0x68]
mulps xmm0, xmm6
movaps xmm6, xmmword [edi + 0x10]
subps xmm7, xmm4
mov ecx, dword [eax + esi*4]
add ecx, dword [ebp + 0x10]
mov edx, dword [eax + esi*4 + 4]
addps xmm1, xmm0
mov eax, dword [esp + 0x60]
add edx, dword [ebp + 0x10]
movaps xmm5, xmm7
mov edi, dword [esp + 0x10]
shufps xmm5, xmm7, 0
movaps xmm4, xmm5
mov esi, dword [esp + 8]
mulps xmm4, xmmword [ecx + 0x30]
addps xmm2, xmm1
movaps xmm3, xmm5
movaps xmmword [esp + 0x40], xmm5
mulps xmm3, xmmword [edx + 0x30]
movaps xmm0, xmm4
subps xmm6, xmm2
shufps xmm0, xmm4, 0xff
mulps xmm0, xmmword [eax + edi]
movaps xmm2, xmm3
shufps xmm2, xmm3, 0xff
mulps xmm2, xmmword [eax + edi]
addps xmm0, xmmword [ecx + 0x10]
movaps xmmword [ecx + 0x10], xmm0
movaps xmm0, xmmword [edx + 0x10]
subps xmm0, xmm2
movaps xmmword [edx + 0x10], xmm0
movaps xmm0, xmmword [eax + edi + 0x10]
movaps xmm2, xmmword [eax + edi + 0x20]
mov eax, esi
movss xmm1, dword [esi - 8]
mulps xmm0, xmm4
mulps xmm2, xmm3
shufps xmm1, xmm1, 0
addps xmm0, xmmword [ecx + 0x20]
movaps xmmword [ecx + 0x20], xmm0
movaps xmm0, xmmword [edx + 0x20]
addps xmm0, xmm2
movaps xmmword [edx + 0x20], xmm0
movaps xmm0, xmm5
addps xmm0, xmm1
movss dword [eax - 8], xmm0
movaps xmm0, xmm7
shufps xmm0, xmm7, 0x55
movaps xmmword [esp + 0x20], xmm0
movaps xmm4, xmmword [ecx + 0x30]
movaps xmm5, xmm0
mov eax, dword [esp + 0x60]
movaps xmm3, xmmword [edx + 0x30]
shufps xmm5, xmm0, 0
mulps xmm4, xmm5
mulps xmm3, xmm5
shufps xmm7, xmm7, 0xaa
movaps xmm0, xmm4
shufps xmm0, xmm4, 0xff
mulps xmm0, xmmword [eax + edi + 0x30]
movaps xmm2, xmm3
shufps xmm2, xmm3, 0xff
mulps xmm2, xmmword [eax + edi + 0x30]
addps xmm0, xmmword [ecx + 0x10]
movaps xmmword [ecx + 0x10], xmm0
movaps xmm0, xmmword [edx + 0x10]
subps xmm0, xmm2
movaps xmmword [edx + 0x10], xmm0
movaps xmm0, xmmword [eax + edi + 0x40]
movaps xmm2, xmmword [eax + edi + 0x50]
mov eax, esi
movss xmm1, dword [esi - 4]
mulps xmm0, xmm4
mulps xmm2, xmm3
shufps xmm1, xmm1, 0
addps xmm0, xmmword [ecx + 0x20]
addps xmm5, xmm1
movaps xmmword [ecx + 0x20], xmm0
movaps xmm0, xmmword [edx + 0x20]
addps xmm0, xmm2
movaps xmmword [edx + 0x20], xmm0
movss dword [eax - 4], xmm5
movaps xmm5, xmm7
movaps xmm4, xmmword [ecx + 0x30]
mov eax, dword [esp + 0x60]
movaps xmm3, xmmword [edx + 0x30]
shufps xmm5, xmm7, 0
mulps xmm4, xmm5
mulps xmm3, xmm5
movaps xmm0, xmm4
shufps xmm0, xmm4, 0xff
mulps xmm0, xmmword [eax + edi + 0x60]
movaps xmm2, xmm3
shufps xmm2, xmm3, 0xff
mulps xmm2, xmmword [eax + edi + 0x60]
addps xmm0, xmmword [ecx + 0x10]
movaps xmmword [ecx + 0x10], xmm0
movaps xmm0, xmmword [edx + 0x10]
subps xmm0, xmm2
movaps xmmword [edx + 0x10], xmm0
movaps xmm0, xmmword [eax + edi + 0x70]
movaps xmm2, xmmword [eax + edi + 0x80]
mov eax, esi
movss xmm1, dword [esi]
mov edi, dword [esp + 0xc]
mulps xmm0, xmm4
mulps xmm2, xmm3
shufps xmm1, xmm1, 0
addps xmm0, xmmword [ecx + 0x20]
addps xmm5, xmm1
movaps xmmword [ecx + 0x20], xmm0
addps xmm2, xmmword [edx + 0x20]
movaps xmmword [edx + 0x20], xmm2
movss dword [eax], xmm5
movaps xmm5, xmm6
movaps xmm0, xmmword [ecx + 0x30]
mov eax, dword [esp + 0x64]
movaps xmm1, xmmword [edx + 0x30]
movss xmm2, dword [esi + 4]
shufps xmm5, xmm6, 0
mulps xmm0, xmm5
mulps xmm1, xmm5
shufps xmm2, xmm2, 0
mulps xmm0, xmmword [eax + edi]
mulps xmm1, xmmword [eax + edi + 0x10]
addps xmm0, xmmword [ecx + 0x20]
movaps xmmword [ecx + 0x20], xmm0
movaps xmm0, xmmword [edx + 0x20]
addps xmm0, xmm1
movaps xmmword [edx + 0x20], xmm0
addps xmm2, xmm5
sub dword [esp + 0x10], 0x90
mov eax, esi
sub dword [esp + 0xc], 0x60
movaps xmm0, xmm6
shufps xmm0, xmm6, 0x55
movaps xmm3, xmm0
movaps xmmword [esp + 0x30], xmm0
movss dword [eax + 4], xmm2
mov eax, dword [esp + 0x64]
movaps xmm2, xmmword [edx + 0x30]
movss xmm1, dword [esi + 8]
shufps xmm3, xmm0, 0
movaps xmm0, xmmword [ecx + 0x30]
mulps xmm0, xmm3
mulps xmm2, xmm3
shufps xmm1, xmm1, 0
mulps xmm0, xmmword [eax + edi + 0x20]
addps xmm3, xmm1
mulps xmm2, xmmword [eax + edi + 0x30]
mov eax, esi
shufps xmm6, xmm6, 0xaa
addps xmm0, xmmword [ecx + 0x20]
movaps xmmword [ecx + 0x20], xmm0
addps xmm2, xmmword [edx + 0x20]
movaps xmmword [edx + 0x20], xmm2
movss dword [eax + 8], xmm3
movaps xmm3, xmm6
movaps xmm0, xmmword [ecx + 0x30]
mov eax, dword [esp + 0x64]
movaps xmm2, xmmword [edx + 0x30]
movss xmm1, dword [esi + 0xc]
shufps xmm3, xmm6, 0
mulps xmm0, xmm3
mulps xmm2, xmm3
shufps xmm1, xmm1, 0
mulps xmm0, xmmword [eax + edi + 0x40]
addps xmm3, xmm1
mulps xmm2, xmmword [eax + edi + 0x50]
mov eax, esi
mov esi, dword [esp + 0x14]
mov edi, dword [esp + 0x1c]
dec esi
addps xmm0, xmmword [ecx + 0x20]
movaps xmm1, xmmword [esp + 0x40]
sub edi, 0x20
mov dword [esp + 0x14], esi
mov dword [esp + 0x1c], edi
movaps xmmword [ecx + 0x20], xmm0
movaps xmm0, xmmword [edx + 0x20]
addps xmm0, xmm2
movaps xmm2, xmmword [esp + 0x30]
movaps xmmword [edx + 0x20], xmm0
mov edx, dword [esp + 0x18]
movaps xmm0, xmmword [esp + 0x20]
sub edx, 0x3c0
movss dword [eax + 0xc], xmm3
sub eax, 0x18
mov dword [esp + 0x18], edx
mov dword [esp + 8], eax
test esi, esi
jns 0x6e9a60
pop edi
pop esi
mov esp, ebp
pop ebp
ret