Function at 0x10084a20
Capabilities:
Encode data using xor

Disassembly:
push edi
mov ecx, dword [esp + 8]
pcmpeqd xmm0, xmm0
mov edx, dword [esp + 0xc]
mov eax, dword [esp + 0x10]
movdqa xmm1, xmmword [0x102ccd40]
cmp dword [esp + 0x10], 0xb
jl 0x10084d5e
test byte [esp + 0xc], 3
jne 0x10084c23
mov edi, edx
and edi, 0xf
je 0x10084aee
neg edi
test edi, 8
je 0x10084aa6
movq xmm3, qword [ecx]
add ecx, 8
movq xmm2, qword [edx]
movdqa xmm5, xmm3
paddd xmm5, xmm2
pxor xmm2, xmm0
movdqa xmm4, xmm5
pcmpgtd xmm3, xmm2
psrad xmm4, 0x1f
add eax, 0xfffffffe
pxor xmm4, xmm3
pxor xmm3, xmm1
pand xmm5, xmm4
pandn xmm4, xmm3
por xmm5, xmm4
movq qword [edx], xmm5
add edx, 8
test edi, 4
je 0x10084aee
movd xmm3, dword [ecx]
add ecx, 4
movd xmm2, dword [edx]
movdqa xmm5, xmm3
paddd xmm5, xmm2
pxor xmm2, xmm0
movdqa xmm4, xmm5
pcmpgtd xmm3, xmm2
psrad xmm4, 0x1f
dec eax
pxor xmm4, xmm3
pxor xmm3, xmm1
pand xmm5, xmm4
pandn xmm4, xmm3
por xmm5, xmm4
movd dword [edx], xmm5
add edx, 4
mov edi, eax
and eax, 7
sar edi, 3
test cl, 0xf
jne 0x10084ba0
nop
movdqa xmm5, xmmword [ecx]
movdqa xmm3, xmmword [ecx + 0x10]
movdqa xmm2, xmm5
movdqa xmm6, xmmword [edx]
movdqa xmm4, xmm3
movdqa xmm7, xmmword [edx + 0x10]
paddd xmm2, xmm6
paddd xmm4, xmm7
pxor xmm6, xmm0
pxor xmm7, xmm0
pcmpgtd xmm5, xmm6
pcmpgtd xmm3, xmm7
movdqa xmm6, xmm2
movdqa xmm7, xmm4
psrad xmm6, 0x1f
psrad xmm7, 0x1f
pxor xmm6, xmm5
pxor xmm7, xmm3
pxor xmm5, xmm1
pxor xmm3, xmm1
pand xmm2, xmm6
pandn xmm6, xmm5
pand xmm4, xmm7
pandn xmm7, xmm3
por xmm2, xmm6
por xmm4, xmm7
add ecx, 0x20
movdqa xmmword [edx], xmm2
movdqa xmmword [edx + 0x10], xmm4
add edx, 0x20
dec edi
jne 0x10084b00
jmp 0x10084d5e
movdqu xmm5, xmmword [ecx]
movdqu xmm3, xmmword [ecx + 0x10]
movdqa xmm6, xmmword [edx]
add ecx, 0x20
movdqa xmm7, xmmword [edx + 0x10]
movdqa xmm2, xmm6
movdqa xmm4, xmm7
paddd xmm2, xmm5
paddd xmm4, xmm3
pxor xmm6, xmm0
pxor xmm7, xmm0
pcmpgtd xmm5, xmm6
pcmpgtd xmm3, xmm7
movdqa xmm6, xmm2
movdqa xmm7, xmm4
psrad xmm6, 0x1f
psrad xmm7, 0x1f
pxor xmm6, xmm5
pxor xmm7, xmm3
pxor xmm5, xmm1
pxor xmm3, xmm1
pand xmm2, xmm6
pandn xmm6, xmm5
pand xmm4, xmm7
pandn xmm7, xmm3
por xmm2, xmm6
por xmm4, xmm7
movdqa xmmword [edx], xmm2
movdqa xmmword [edx + 0x10], xmm4
lea edx, [edx + 0x20]
dec edi
jne 0x10084ba0
jmp 0x10084d5e
mov edi, eax
and eax, 7
sar edi, 3
test byte [esp + 8], 0xf
jne 0x10084ce0
nop dword [eax]
nop dword [eax]
movdqu xmm6, xmmword [edx]
movdqu xmm7, xmmword [edx + 0x10]
movdqa xmm5, xmmword [ecx]
movdqa xmm3, xmmword [ecx + 0x10]
movdqa xmm2, xmm5
movdqa xmm4, xmm3
paddd xmm2, xmm6
paddd xmm4, xmm7
pxor xmm6, xmm0
pxor xmm7, xmm0
pcmpgtd xmm5, xmm6
pcmpgtd xmm3, xmm7
movdqa xmm6, xmm2
movdqa xmm7, xmm4
psrad xmm6, 0x1f
psrad xmm7, 0x1f
pxor xmm6, xmm5
pxor xmm7, xmm3
pxor xmm5, xmm1
pxor xmm3, xmm1
pand xmm2, xmm6
pandn xmm6, xmm5
pand xmm4, xmm7
pandn xmm7, xmm3
por xmm2, xmm6
por xmm4, xmm7
add ecx, 0x20
movdqu xmmword [edx], xmm2
movdqu xmmword [edx + 0x10], xmm4
lea edx, [edx + 0x20]
dec edi
jne 0x10084c40
jmp 0x10084d5e
movdqu xmm5, xmmword [ecx]
movdqu xmm3, xmmword [ecx + 0x10]
movdqu xmm6, xmmword [edx]
movdqu xmm7, xmmword [edx + 0x10]
movdqa xmm2, xmm5
movdqa xmm4, xmm3
paddd xmm2, xmm6
paddd xmm4, xmm7
pxor xmm6, xmm0
pxor xmm7, xmm0
pcmpgtd xmm5, xmm6
pcmpgtd xmm3, xmm7
movdqa xmm6, xmm2
movdqa xmm7, xmm4
psrad xmm6, 0x1f
psrad xmm7, 0x1f
pxor xmm6, xmm5
pxor xmm7, xmm3
pxor xmm5, xmm1
pxor xmm3, xmm1
pand xmm2, xmm6
pandn xmm6, xmm5
pand xmm4, xmm7
pandn xmm7, xmm3
por xmm2, xmm6
por xmm4, xmm7
movdqu xmmword [edx], xmm2
movdqu xmmword [edx + 0x10], xmm4
lea ecx, [ecx + 0x20]
lea edx, [edx + 0x20]
dec edi
jne 0x10084ce0
cmp eax, 4
jl 0x10084dc7
nop dword [eax + eax]
nop dword [eax]
nop dword [eax]
nop dword [eax]
movdqu xmm3, xmmword [ecx]
movdqu xmm2, xmmword [edx]
movdqa xmm5, xmm3
add eax, 0xfffffffc
paddd xmm5, xmm2
pxor xmm2, xmm0
movdqa xmm4, xmm5
pcmpgtd xmm3, xmm2
psrad xmm4, 0x1f
add ecx, 0x10
pxor xmm4, xmm3
pxor xmm3, xmm1
pand xmm5, xmm4
pandn xmm4, xmm3
por xmm5, xmm4
movdqu xmmword [edx], xmm5
lea edx, [edx + 0x10]
cmp eax, 4
jge 0x10084d80
test al, 2
je 0x10084e0a
movq xmm3, qword [ecx]
add ecx, 8
movq xmm2, qword [edx]
movdqa xmm5, xmm3
paddd xmm5, xmm2
pxor xmm2, xmm0
movdqa xmm4, xmm5
pcmpgtd xmm3, xmm2
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 0x10084e47
movd xmm3, dword [ecx]
movd xmm2, dword [edx]
movdqa xmm4, xmm3
paddd xmm4, xmm2
pxor xmm2, xmm0
movdqa xmm0, xmm4
pcmpgtd xmm3, xmm2
psrad xmm0, 0x1f
pxor xmm0, xmm3
pxor xmm3, xmm1
pand xmm4, xmm0
pandn xmm0, xmm3
por xmm4, xmm0
movd dword [edx], xmm4
pop edi
ret