Function at 0x100c5e20
Capabilities:
Encode data using xor

Disassembly:
push esi
movd xmm0, dword [esp + 0xc]
mov eax, dword [esp + 0x14]
pshufd xmm2, xmm0, 0
pcmpeqd xmm0, xmm0
mov ecx, dword [esp + 8]
pxor xmm0, xmm2
mov edx, dword [esp + 0x10]
movdqu xmm1, xmmword [0x102d16c0]
cmp eax, 0xb
jl 0x100c610f
test dl, 3
jne 0x100c5ff4
mov esi, edx
and esi, 0xf
je 0x100c5eeb
neg esi
test esi, 8
je 0x100c5ea9
movq xmm3, qword [ecx]
movdqa xmm5, xmm2
add ecx, 8
add eax, 0xfffffffe
paddd xmm5, xmm3
pcmpgtd xmm3, xmm0
movdqa xmm4, xmm5
psrad xmm4, 0x1f
pxor xmm4, xmm3
pxor xmm3, xmm1
pand xmm5, xmm4
pandn xmm4, xmm3
por xmm5, xmm4
movq qword [edx], xmm5
add edx, 8
test esi, 4
je 0x100c5eeb
movd xmm3, dword [ecx]
movdqa xmm5, xmm2
add ecx, 4
add eax, 0xffffffff
paddd xmm5, xmm3
pcmpgtd xmm3, xmm0
movdqa xmm4, xmm5
psrad xmm4, 0x1f
pxor xmm4, xmm3
pxor xmm3, xmm1
pand xmm5, xmm4
pandn xmm4, xmm3
por xmm5, xmm4
movd dword [edx], xmm5
add edx, 4
mov esi, eax
and eax, 7
sar esi, 3
test cl, 0xf
jne 0x100c5f80
nop dword [eax]
movdqu xmm6, xmmword [ecx]
movdqa xmm5, xmm2
movdqa xmm4, xmm2
paddd xmm5, xmm6
movdqu xmm3, xmmword [ecx + 0x10]
pcmpgtd xmm6, xmm0
add ecx, 0x20
movdqa xmm7, xmm5
paddd xmm4, xmm3
pcmpgtd xmm3, xmm0
psrad xmm7, 0x1f
pxor xmm7, xmm6
pxor xmm6, xmm1
pand xmm5, xmm7
pandn xmm7, xmm6
movdqa xmm6, xmm4
psrad xmm6, 0x1f
por xmm5, xmm7
movdqu xmmword [edx], xmm5
pxor xmm6, xmm3
pxor xmm3, xmm1
pand xmm4, xmm6
pandn xmm6, xmm3
por xmm4, xmm6
movdqu xmmword [edx + 0x10], xmm4
add edx, 0x20
add esi, 0xffffffff
jne 0x100c5f00
jmp 0x100c610f
movdqu xmm6, xmmword [ecx]
movdqa xmm5, xmm2
movdqa xmm4, xmm2
paddd xmm5, xmm6
movdqu xmm3, xmmword [ecx + 0x10]
pcmpgtd xmm6, xmm0
add ecx, 0x20
movdqa xmm7, xmm5
paddd xmm4, xmm3
pcmpgtd xmm3, xmm0
psrad xmm7, 0x1f
pxor xmm7, xmm6
pxor xmm6, xmm1
pand xmm5, xmm7
pandn xmm7, xmm6
movdqa xmm6, xmm4
psrad xmm6, 0x1f
por xmm5, xmm7
movdqu xmmword [edx], xmm5
pxor xmm6, xmm3
pxor xmm3, xmm1
pand xmm4, xmm6
pandn xmm6, xmm3
por xmm4, xmm6
movdqu xmmword [edx + 0x10], xmm4
add edx, 0x20
add esi, 0xffffffff
jne 0x100c5f80
jmp 0x100c610f
mov esi, eax
and eax, 7
sar esi, 3
test cl, 0xf
jne 0x100c60a0
nop dword [eax + eax]
nop dword [eax]
nop dword [eax + eax]
nop dword [eax]
movdqu xmm6, xmmword [ecx]
movdqa xmm5, xmm2
movdqa xmm4, xmm2
paddd xmm5, xmm6
movdqu xmm3, xmmword [ecx + 0x10]
pcmpgtd xmm6, xmm0
add ecx, 0x20
movdqa xmm7, xmm5
paddd xmm4, xmm3
pcmpgtd xmm3, xmm0
psrad xmm7, 0x1f
pxor xmm7, xmm6
pxor xmm6, xmm1
pand xmm5, xmm7
pandn xmm7, xmm6
movdqa xmm6, xmm4
psrad xmm6, 0x1f
por xmm5, xmm7
movdqu xmmword [edx], xmm5
pxor xmm6, xmm3
pxor xmm3, xmm1
pand xmm4, xmm6
pandn xmm6, xmm3
por xmm4, xmm6
movdqu xmmword [edx + 0x10], xmm4
add edx, 0x20
add esi, 0xffffffff
jne 0x100c6020
jmp 0x100c610f
movdqu xmm6, xmmword [ecx]
movdqa xmm5, xmm2
movdqa xmm4, xmm2
paddd xmm5, xmm6
movdqu xmm3, xmmword [ecx + 0x10]
pcmpgtd xmm6, xmm0
add ecx, 0x20
movdqa xmm7, xmm5
paddd xmm4, xmm3
pcmpgtd xmm3, xmm0
psrad xmm7, 0x1f
pxor xmm7, xmm6
pxor xmm6, xmm1
pand xmm5, xmm7
pandn xmm7, xmm6
movdqa xmm6, xmm4
psrad xmm6, 0x1f
por xmm5, xmm7
movdqu xmmword [edx], xmm5
pxor xmm6, xmm3
pxor xmm3, xmm1
pand xmm4, xmm6
pandn xmm6, xmm3
por xmm4, xmm6
movdqu xmmword [edx + 0x10], xmm4
add edx, 0x20
add esi, 0xffffffff
jne 0x100c60a0
cmp eax, 4
jl 0x100c615f
nop dword [eax + eax]
nop dword [eax]
movdqu xmm3, xmmword [ecx]
movdqa xmm5, xmm2
add eax, 0xfffffffc
add ecx, 0x10
paddd xmm5, xmm3
pcmpgtd xmm3, xmm0
movdqa xmm4, xmm5
psrad xmm4, 0x1f
pxor xmm4, xmm3
pxor xmm3, xmm1
pand xmm5, xmm4
pandn xmm4, xmm3
por xmm5, xmm4
movdqu xmmword [edx], xmm5
add edx, 0x10
cmp eax, 4
jge 0x100c6120
test al, 2
je 0x100c619a
movq xmm3, qword [ecx]
movdqa xmm5, xmm2
add ecx, 8
paddd xmm5, xmm3
pcmpgtd xmm3, xmm0
movdqa xmm4, xmm5
psrad xmm4, 0x1f
pxor xmm4, xmm3
pxor xmm3, xmm1
pand xmm5, xmm4
pandn xmm4, xmm3
por xmm5, xmm4
movq qword [edx], xmm5
add edx, 8
test al, 1
je 0x100c61cb
movd xmm3, dword [ecx]
paddd xmm2, xmm3
pcmpgtd xmm3, xmm0
movdqa xmm0, xmm2
psrad xmm0, 0x1f
pxor xmm0, xmm3
pxor xmm3, xmm1
pand xmm2, xmm0
pandn xmm0, xmm3
por xmm2, xmm0
movd dword [edx], xmm2
pop esi
ret