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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xffffffe0
sub esp, 0x98
mov ecx, dword [ebp + 0x14]
push esi
push edi
mov eax, dword [ecx + 0xc]
mov edi, dword [ecx + 4]
mov esi, dword [ecx]
shr eax, 2
mov dword [esp + 0x50], eax
mov eax, dword [ecx + 0x14]
shr eax, 2
shr esi, 2
mov dword [esp + 0x38], esi
mov dword [esp + 0x10], edi
lea eax, [eax + edi*4]
mov dword [esp + 0x24], eax
mov eax, dword [ecx + 8]
add eax, 3
shr eax, 2
mov dword [esp + 0x58], eax
shr eax, 2
mov dword [esp + 0x4c], eax
lea edx, [eax*4]
mov dword [esp + 0x28], edx
test eax, eax
je 0x10122af2
mov edx, dword [esp + 0x24]
mov eax, edx
mov esi, dword [esp + 0x50]
mov edi, dword [ebp + 0x10]
mov ecx, dword [ebp + 0x10]
shl eax, 4
mov dword [esp + 0x30], eax
lea eax, [esi*8]
mov dword [esp + 0x40], eax
lea eax, [edx + edx*2]
lea eax, [edi + eax*4]
mov dword [esp + 0x18], ecx
mov dword [esp + 0x20], eax
lea ecx, [ecx + edx*8]
lea eax, [edx*4]
mov dword [esp + 0x48], ecx
mov dword [esp + 0x54], eax
add eax, edi
mov edi, dword [esp + 0x10]
mov dword [esp + 0x1c], eax
mov eax, dword [ebp + 8]
vxorps xmm5, xmm5, xmm5
lea edx, [eax + 0x20]
lea eax, [eax + esi*4]
mov dword [esp + 0x3c], edx
add eax, 0x20
mov dword [esp + 0x44], eax
mov esi, dword [ebp + 0xc]
mov eax, ecx
mov dword [esp + 0x14], esi
vmovups ymm1, ymm5
vmovups ymm2, ymm5
vmovups ymm6, ymm5
vmovups ymm7, ymm5
vmovups ymmword [esp + 0x60], ymm1
vmovups ymmword [esp + 0x80], ymm2
test edi, edi
je 0x10122a6a
mov edx, dword [esp + 0x38]
mov edi, dword [esp + 0x1c]
vmovups ymm5, ymmword [esp + 0x60]
sub edi, ecx
lea esi, [edx*4]
mov dword [esp + 0x5c], edi
mov edx, dword [esp + 0x18]
mov edi, dword [esp + 0x20]
sub edx, ecx
sub edi, ecx
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x2c], edi
mov edi, dword [esp + 0x5c]
mov dword [esp + 0x34], ecx
nop word [eax + eax]
mov ecx, dword [esp + 0x14]
lea eax, [eax + 0x10]
vbroadcasti128 ymm0, xmmword [edx + eax - 0x10]
vinsertf128 ymm2, ymm0, xmmword [edi + eax - 0x10], 1
vbroadcasti128 ymm0, xmmword [eax - 0x10]
vbroadcastss ymm3, dword [ecx]
vbroadcastss ymm4, dword [ecx + 4]
mov ecx, dword [esp + 0x2c]
add dword [esp + 0x14], esi
sub dword [esp + 0x34], 1
vinsertf128 ymm1, ymm0, xmmword [ecx + eax - 0x10], 1
vmulps ymm0, ymm2, ymm3
vaddps ymm6, ymm0, ymm6
vmulps ymm0, ymm1, ymm3
vaddps ymm7, ymm0, ymm7
vmulps ymm0, ymm2, ymm4
vaddps ymm5, ymm0, ymm5
vmulps ymm0, ymm1, ymm4
vaddps ymm2, ymm0, ymmword [esp + 0x80]
vmovups ymmword [esp + 0x80], ymm2
jne 0x101229e0
mov ecx, dword [esp + 0x48]
mov edi, dword [esp + 0x10]
mov edx, dword [esp + 0x3c]
vmovups ymmword [esp + 0x60], ymm5
vmovups ymm1, ymmword [esp + 0x60]
vxorps xmm5, xmm5, xmm5
jmp 0x10122a75
mov eax, dword [esp + 0x38]
lea esi, [eax*4]
mov eax, dword [esp + 0x44]
vmovups xmmword [edx - 0x20], xmm6
vmovups xmmword [edx], xmm1
vextractf128 xmm0, ymm6, 1
vmovups xmmword [edx - 0x10], xmm0
vextractf128 xmm0, ymm1, 1
vmovups xmmword [edx + 0x10], xmm0
add edx, dword [esp + 0x40]
vmovups xmmword [eax - 0x20], xmm7
vmovups xmmword [eax], xmm2
vextractf128 xmm0, ymm7, 1
vmovups xmmword [eax - 0x10], xmm0
vextractf128 xmm0, ymm2, 1
vmovups xmmword [eax + 0x10], xmm0
add eax, dword [esp + 0x40]
mov dword [esp + 0x44], eax
mov eax, dword [esp + 0x30]
add ecx, eax
add dword [esp + 0x18], eax
add dword [esp + 0x1c], eax
add dword [esp + 0x20], eax
sub dword [esp + 0x4c], 1
mov dword [esp + 0x3c], edx
mov dword [esp + 0x48], ecx
jne 0x10122973
mov edx, dword [esp + 0x28]
mov ecx, dword [esp + 0x24]
jmp 0x10122b04
mov ecx, dword [esp + 0x24]
shl esi, 2
lea eax, [ecx*4]
mov dword [esp + 0x54], eax
cmp edx, dword [esp + 0x58]
jae 0x10122bae
mov eax, edx
mov dword [esp + 0x30], 2
imul eax, ecx
mov ecx, dword [ebp + 0x10]
lea edi, [ecx + eax*4]
mov ecx, dword [ebp + 0xc]
mov eax, edx
cdq
idiv dword [esp + 0x30]
vbroadcastss xmm0, dword [ecx]
imul eax, dword [esp + 0x50]
vmulps xmm2, xmm0, xmmword [edi]
vbroadcastss xmm0, dword [ecx + 4]
vmulps xmm3, xmm0, xmmword [edi]
lea eax, [eax + edx*4]
mov edx, dword [ebp + 8]
lea eax, [edx + eax*4]
mov edx, dword [esp + 0x10]
mov dword [esp + 0x2c], eax
cmp edx, 1
jbe 0x10122b8e
mov eax, dword [ebp + 0xc]
lea ecx, [edi + 0x10]
add eax, esi
dec edx
vbroadcastss xmm0, dword [eax]
vmulps xmm0, xmm0, xmmword [ecx]
vaddps xmm2, xmm0, xmm2
vbroadcastss xmm0, dword [eax + 4]
vmulps xmm0, xmm0, xmmword [ecx]
add eax, esi
lea ecx, [ecx + 0x10]
vaddps xmm3, xmm0, xmm3
sub edx, 1
jne 0x10122b62
mov eax, dword [esp + 0x2c]
mov ecx, dword [ebp + 0xc]
mov edx, dword [esp + 0x28]
add edi, dword [esp + 0x54]
inc edx
vmovups xmmword [eax], xmm2
vmovups xmmword [eax + 0x20], xmm3
mov dword [esp + 0x28], edx
cmp edx, dword [esp + 0x58]
jb 0x10122b24
vzeroupper
pop edi
pop esi
mov esp, ebp
pop ebp
ret