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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff0
sub esp, 0x88
mov eax, dword [0x10a78b80]
xor eax, esp
mov dword [esp + 0x84], eax
mov eax, dword [ebp + 0x10]
mov edx, dword [ebp + 8]
mov ecx, dword [ebp + 0x14]
sub edx, 3
mov dword [esp], eax
mov eax, dword [ebp + 0x28]
and eax, 0xfffffff8
mov dword [esp + 0x18], ecx
add eax, 8
mov dword [ebp + 8], edx
push esi
mov esi, dword [ebp + 0xc]
mov dword [ebp + 0x28], eax
mov eax, dword [esp + 4]
push edi
cmp dword [ebp + 0x24], 0
mov edi, dword [ebp + 0x1c]
mov dword [esp + 0x10], edi
mov dword [esp + 0x18], 0
jle 0x10190dca
lea eax, [esi*4]
mov dword [esp + 0x24], eax
lea eax, [ecx + ecx]
mov ecx, dword [esp + 8]
add ecx, eax
mov dword [esp + 0x1c], ecx
mov ecx, dword [esp + 0x20]
mov edx, ecx
sub edx, eax
mov dword [esp + 0x28], edx
lea edx, [ecx + ecx*2]
sub edx, eax
mov dword [esp + 0x2c], edx
lea edx, [ecx*4]
sub edx, eax
mov dword [esp + 0x30], edx
lea edx, [ecx + ecx*4]
sub edx, eax
mov dword [esp + 0x34], edx
lea edx, [ecx + ecx*2]
add edx, edx
sub edx, eax
mov dword [esp + 0x38], edx
lea edx, [ecx*8]
sub edx, ecx
sub edx, eax
mov dword [esp + 0x3c], edx
mov edx, dword [ebp + 8]
nop
lea eax, [esp + 0x40]
mov dword [esp + 0x14], 8
nop dword [eax]
mov esi, dword [esp + 0x24]
mov ecx, edi
sar ecx, 4
add edx, ecx
mov ecx, edi
lea esi, [esi + edx]
mov dword [esp + 0xc], esi
mov esi, dword [ebp + 0xc]
and ecx, 0xf
je 0x10190c5a
movq xmm0, qword [edx + esi]
lea edi, [esi + esi*2]
movq xmm7, qword [edx]
add ecx, ecx
movq xmm2, qword [edx + esi*2]
punpcklwd xmm7, xmm0
movq xmm0, qword [edi + edx]
movaps xmm6, xmm7
mov edx, dword [esp + 0xc]
punpcklwd xmm2, xmm0
punpckhdq xmm7, xmm2
punpckldq xmm6, xmm2
movaps xmm3, xmm7
movq xmm0, qword [edx + esi]
movq xmm5, qword [edx]
movq xmm1, qword [edx + esi*2]
punpcklwd xmm5, xmm0
movq xmm0, qword [edi + edx]
movaps xmm4, xmm5
mov edx, dword [ebp + 0x18]
punpcklwd xmm1, xmm0
punpckhdq xmm5, xmm1
punpcklqdq xmm3, xmm5
movups xmm2, xmmword [edx + ecx*8]
movaps xmm0, xmm2
punpckldq xmm4, xmm1
pshufb xmm0, xmmword [str._b_n_b_n_b_n_b_n_b_n_b_n_b_n_b_n_f]
mov edi, dword [esp + 0x10]
movaps xmm1, xmm6
punpckhqdq xmm7, xmm5
pmaddubsw xmm3, xmm0
movaps xmm0, xmm2
pshufb xmm0, xmmword [0x1082a010]
punpcklqdq xmm1, xmm4
pmaddubsw xmm1, xmm0
movaps xmm0, xmm2
pshufb xmm0, xmmword [0x108395e0]
pshufb xmm2, xmmword [0x108395c0]
punpckhqdq xmm6, xmm4
paddw xmm3, xmm1
paddw xmm3, xmmword [0x10829ff0]
pmaddubsw xmm7, xmm0
pmaddubsw xmm6, xmm2
paddw xmm7, xmm6
paddsw xmm3, xmm7
psraw xmm3, 7
packuswb xmm3, xmm3
movq qword [eax], xmm3
jmp 0x10190cad
movzx ecx, byte [edx + 3]
mov byte [eax], cl
movzx ecx, byte [edx + esi + 3]
mov byte [eax + 1], cl
movzx ecx, byte [edx + esi*2 + 3]
mov byte [eax + 2], cl
lea ecx, [esi + esi*2]
movzx ecx, byte [ecx + edx + 3]
mov byte [eax + 3], cl
mov ecx, dword [esp + 0xc]
movzx ecx, byte [ecx + 3]
mov byte [eax + 4], cl
lea ecx, [edx + esi*4]
movzx ecx, byte [esi + ecx + 3]
mov byte [eax + 5], cl
lea ecx, [esi + esi*2]
movzx ecx, byte [edx + ecx*2 + 3]
mov byte [eax + 6], cl
lea ecx, [esi*8]
sub ecx, esi
movzx ecx, byte [ecx + edx + 3]
mov byte [eax + 7], cl
add edi, dword [ebp + 0x20]
add eax, 8
sub dword [esp + 0x14], 1
mov edx, dword [ebp + 8]
mov dword [esp + 0x10], edi
jne 0x10190b60
movq xmm0, qword [esp + 0x48]
movq xmm5, qword [esp + 0x40]
movq xmm2, qword [esp + 0x50]
movq xmm3, qword [esp + 0x60]
movq xmm1, qword [esp + 0x70]
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 8]
punpcklbw xmm5, xmm0
movq xmm0, qword [esp + 0x58]
movaps xmm4, xmm5
punpcklbw xmm2, xmm0
movq xmm0, qword [esp + 0x68]
mov edx, dword [esp + 0x28]
punpcklbw xmm3, xmm0
movq xmm0, qword [esp + 0x78]
punpcklbw xmm1, xmm0
movaps xmm0, xmm3
punpcklwd xmm0, xmm1
punpcklwd xmm4, xmm2
punpckhwd xmm3, xmm1
movaps xmm1, xmm4
punpckldq xmm1, xmm0
punpckhdq xmm4, xmm0
movaps xmm0, xmm1
punpcklqdq xmm0, xmm1
movq qword [ecx + eax], xmm0
movaps xmm0, xmm4
mov ecx, dword [esp + 0x1c]
add eax, 8
punpckhwd xmm5, xmm2
punpckhqdq xmm1, xmm1
movaps xmm2, xmm5
punpcklqdq xmm0, xmm4
movq qword [edx + ecx], xmm1
mov edx, dword [esp + 0x2c]
movq qword [ecx], xmm0
punpckldq xmm2, xmm3
punpckhqdq xmm4, xmm4
movaps xmm0, xmm2
movq qword [edx + ecx], xmm4
mov edx, dword [esp + 0x30]
punpcklqdq xmm0, xmm2
punpckhdq xmm5, xmm3
punpckhqdq xmm2, xmm2
movq qword [edx + ecx], xmm0
movaps xmm0, xmm5
mov edx, dword [esp + 0x34]
punpcklqdq xmm0, xmm5
punpckhqdq xmm5, xmm5
mov dword [esp + 0x18], eax
movq qword [edx + ecx], xmm2
mov edx, dword [esp + 0x38]
movq qword [edx + ecx], xmm0
mov edx, dword [esp + 0x3c]
movq qword [edx + ecx], xmm5
add ecx, 8
mov edx, dword [ebp + 8]
mov dword [esp + 0x1c], ecx
cmp eax, dword [ebp + 0x24]
jl 0x10190b50
mov ecx, dword [esp + 0x20]
mov eax, dword [esp + 8]
lea edi, [esi*8]
add edx, edi
lea edi, [ecx*8]
add eax, edi
mov dword [ebp + 8], edx
sub dword [ebp + 0x28], 8
mov dword [esp + 8], eax
jne 0x10190ad5
mov ecx, dword [esp + 0x8c]
pop edi
pop esi
xor ecx, esp
call fcn.105116c0
mov esp, ebp
pop ebp
ret