Function at 0x100c70e0
Capabilities:
Encode data using xor

Disassembly:
push ebx
mov eax, dword [esp + 0x14]
movd xmm0, dword [esp + 0xc]
movd xmm2, dword [esp + 0x18]
pshufd xmm1, xmm0, 0
movdqu xmm0, xmmword [0x102d1710]
mov ecx, dword [esp + 8]
psrad xmm0, xmm2
mov edx, dword [esp + 0x10]
movdqu xmm3, xmmword [0x102d1700]
cmp eax, 0xb
jl 0x100c753b
test dl, 3
jne 0x100c73a0
mov ebx, edx
and ebx, 0xf
je 0x100c71f7
neg ebx
test bl, 8
je 0x100c7194
movq xmm6, qword [ecx]
movdqa xmm4, xmm1
add ecx, 8
add eax, 0xfffffffe
movdqa xmm7, xmm6
paddd xmm4, xmm6
pxor xmm7, xmm1
movdqa xmm5, xmm7
pandn xmm7, xmm6
movdqa xmm6, xmm4
pand xmm5, xmm4
pand xmm6, xmm0
pslld xmm4, xmm2
por xmm5, xmm7
psrad xmm5, 0x1f
movdqa xmm7, xmm5
pxor xmm5, xmm3
pand xmm7, xmm0
pcmpeqd xmm7, xmm6
pand xmm4, xmm7
pandn xmm7, xmm5
por xmm4, xmm7
movq qword [edx], xmm4
add edx, 8
test bl, 4
je 0x100c71f7
movd xmm6, dword [ecx]
movdqa xmm4, xmm1
add ecx, 4
add eax, 0xffffffff
movdqa xmm7, xmm6
paddd xmm4, xmm6
pxor xmm7, xmm1
movdqa xmm5, xmm7
pandn xmm7, xmm6
movdqa xmm6, xmm4
pand xmm5, xmm4
pand xmm6, xmm0
pslld xmm4, xmm2
por xmm5, xmm7
psrad xmm5, 0x1f
movdqa xmm7, xmm5
pxor xmm5, xmm3
pand xmm7, xmm0
pcmpeqd xmm7, xmm6
pand xmm4, xmm7
pandn xmm7, xmm5
por xmm4, xmm7
movd dword [edx], xmm4
add edx, 4
mov ebx, eax
and eax, 7
sar ebx, 3
test cl, 0xf
jne 0x100c72e0
nop dword [eax + eax]
nop dword [eax]
nop word [eax + eax]
movdqu xmm7, xmmword [ecx]
movdqa xmm4, xmm1
movdqa xmm6, xmm7
paddd xmm4, xmm7
pxor xmm6, xmm1
movdqa xmm5, xmm6
pandn xmm6, xmm7
movdqa xmm7, xmm4
pand xmm5, xmm4
pand xmm7, xmm0
pslld xmm4, xmm2
por xmm5, xmm6
psrad xmm5, 0x1f
movdqa xmm6, xmm5
pxor xmm5, xmm3
pand xmm6, xmm0
pcmpeqd xmm6, xmm7
movdqu xmm7, xmmword [ecx + 0x10]
add ecx, 0x20
pand xmm4, xmm6
pandn xmm6, xmm5
movdqa xmm5, xmm7
por xmm4, xmm6
movdqa xmm6, xmm1
pxor xmm5, xmm1
paddd xmm6, xmm7
movdqu xmmword [edx], xmm4
movdqa xmm4, xmm5
pandn xmm5, xmm7
pand xmm4, xmm6
por xmm4, xmm5
movdqa xmm5, xmm6
psrad xmm4, 0x1f
pand xmm5, xmm0
pslld xmm6, xmm2
movdqa xmm7, xmm4
pxor xmm4, xmm3
pand xmm7, xmm0
pcmpeqd xmm7, xmm5
pand xmm6, xmm7
pandn xmm7, xmm4
por xmm6, xmm7
movdqu xmmword [edx + 0x10], xmm6
add edx, 0x20
add ebx, 0xffffffff
jne 0x100c7220
jmp 0x100c753b
movdqu xmm7, xmmword [ecx]
movdqa xmm6, xmm1
movdqa xmm4, xmm1
pxor xmm6, xmm7
paddd xmm4, xmm7
movdqa xmm5, xmm6
pandn xmm6, xmm7
movdqa xmm7, xmm4
pand xmm5, xmm4
pand xmm7, xmm0
pslld xmm4, xmm2
por xmm5, xmm6
psrad xmm5, 0x1f
movdqa xmm6, xmm5
pxor xmm5, xmm3
pand xmm6, xmm0
pcmpeqd xmm6, xmm7
movdqu xmm7, xmmword [ecx + 0x10]
add ecx, 0x20
pand xmm4, xmm6
pandn xmm6, xmm5
movdqa xmm5, xmm1
por xmm4, xmm6
movdqa xmm6, xmm1
pxor xmm5, xmm7
paddd xmm6, xmm7
movdqu xmmword [edx], xmm4
movdqa xmm4, xmm5
pandn xmm5, xmm7
pand xmm4, xmm6
por xmm4, xmm5
movdqa xmm5, xmm6
psrad xmm4, 0x1f
pand xmm5, xmm0
pslld xmm6, xmm2
movdqa xmm7, xmm4
pxor xmm4, xmm3
pand xmm7, xmm0
pcmpeqd xmm7, xmm5
pand xmm6, xmm7
pandn xmm7, xmm4
por xmm6, xmm7
movdqu xmmword [edx + 0x10], xmm6
add edx, 0x20
add ebx, 0xffffffff
jne 0x100c72e0
jmp 0x100c753b
mov ebx, eax
and eax, 7
sar ebx, 3
test cl, 0xf
jne 0x100c7480
nop dword [eax + eax]
nop dword [eax]
movdqu xmm7, xmmword [ecx]
movdqa xmm4, xmm1
movdqa xmm6, xmm7
paddd xmm4, xmm7
pxor xmm6, xmm1
movdqa xmm5, xmm6
pandn xmm6, xmm7
movdqa xmm7, xmm4
pand xmm5, xmm4
pand xmm7, xmm0
pslld xmm4, xmm2
por xmm5, xmm6
psrad xmm5, 0x1f
movdqa xmm6, xmm5
pxor xmm5, xmm3
pand xmm6, xmm0
pcmpeqd xmm6, xmm7
movdqu xmm7, xmmword [ecx + 0x10]
add ecx, 0x20
pand xmm4, xmm6
pandn xmm6, xmm5
movdqa xmm5, xmm7
por xmm4, xmm6
movdqa xmm6, xmm1
pxor xmm5, xmm1
paddd xmm6, xmm7
movdqu xmmword [edx], xmm4
movdqa xmm4, xmm5
pandn xmm5, xmm7
pand xmm4, xmm6
por xmm4, xmm5
movdqa xmm5, xmm6
psrad xmm4, 0x1f
pand xmm5, xmm0
pslld xmm6, xmm2
movdqa xmm7, xmm4
pxor xmm4, xmm3
pand xmm7, xmm0
pcmpeqd xmm7, xmm5
pand xmm6, xmm7
pandn xmm7, xmm4
por xmm6, xmm7
movdqu xmmword [edx + 0x10], xmm6
add edx, 0x20
add ebx, 0xffffffff
jne 0x100c73c0
jmp 0x100c753b
movdqu xmm7, xmmword [ecx]
movdqa xmm6, xmm1
movdqa xmm4, xmm1
pxor xmm6, xmm7
paddd xmm4, xmm7
movdqa xmm5, xmm6
pandn xmm6, xmm7
movdqa xmm7, xmm4
pand xmm5, xmm4
pand xmm7, xmm0
pslld xmm4, xmm2
por xmm5, xmm6
psrad xmm5, 0x1f
movdqa xmm6, xmm5
pxor xmm5, xmm3
pand xmm6, xmm0
pcmpeqd xmm6, xmm7
movdqu xmm7, xmmword [ecx + 0x10]
add ecx, 0x20
pand xmm4, xmm6
pandn xmm6, xmm5
movdqa xmm5, xmm1
por xmm4, xmm6
movdqa xmm6, xmm1
pxor xmm5, xmm7
paddd xmm6, xmm7
movdqu xmmword [edx], xmm4
movdqa xmm4, xmm5
pandn xmm5, xmm7
pand xmm4, xmm6
por xmm4, xmm5
movdqa xmm5, xmm6
psrad xmm4, 0x1f
pand xmm5, xmm0
pslld xmm6, xmm2
movdqa xmm7, xmm4
pxor xmm4, xmm3
pand xmm7, xmm0
pcmpeqd xmm7, xmm5
pand xmm6, xmm7
pandn xmm7, xmm4
por xmm6, xmm7
movdqu xmmword [edx + 0x10], xmm6
add edx, 0x20
add ebx, 0xffffffff
jne 0x100c7480
cmp eax, 4
jl 0x100c75c3
nop dword [eax + eax]
nop dword [eax]
nop dword [eax + eax]
nop dword [eax + eax]
movdqu xmm6, xmmword [ecx]
movdqa xmm7, xmm1
movdqa xmm4, xmm1
add eax, 0xfffffffc
add ecx, 0x10
pxor xmm7, xmm6
paddd xmm4, xmm6
movdqa xmm5, xmm7
pandn xmm7, xmm6
movdqa xmm6, xmm4
pand xmm5, xmm4
pand xmm6, xmm0
pslld xmm4, xmm2
por xmm5, xmm7
psrad xmm5, 0x1f
movdqa xmm7, xmm5
pxor xmm5, xmm3
pand xmm7, xmm0
pcmpeqd xmm7, xmm6
pand xmm4, xmm7
pandn xmm7, xmm5
por xmm4, xmm7
movdqu xmmword [edx], xmm4
add edx, 0x10
cmp eax, 4
jge 0x100c7560
test al, 2
je 0x100c7622
movq xmm6, qword [ecx]
movdqa xmm4, xmm1
add ecx, 8
movdqa xmm7, xmm6
paddd xmm4, xmm6
pxor xmm7, xmm1
movdqa xmm5, xmm7
pandn xmm7, xmm6
movdqa xmm6, xmm4
pand xmm5, xmm4
pand xmm6, xmm0
pslld xmm4, xmm2
por xmm5, xmm7
psrad xmm5, 0x1f
movdqa xmm7, xmm5
pxor xmm5, xmm3
pand xmm7, xmm0
pcmpeqd xmm7, xmm6
pand xmm4, xmm7
pandn xmm7, xmm5
por xmm4, xmm7
movq qword [edx], xmm4
add edx, 8
test al, 1
je 0x100c7673
movd xmm4, dword [ecx]
movdqa xmm6, xmm1
pxor xmm1, xmm4
paddd xmm6, xmm4
movdqa xmm5, xmm1
pandn xmm1, xmm4
pand xmm5, xmm6
por xmm5, xmm1
psrad xmm5, 0x1f
movdqa xmm1, xmm5
pxor xmm5, xmm3
pand xmm1, xmm0
pand xmm0, xmm6
pslld xmm6, xmm2
pcmpeqd xmm1, xmm0
pand xmm6, xmm1
pandn xmm1, xmm5
por xmm6, xmm1
movd dword [edx], xmm6
pop ebx
ret