Function at 0x180051ba0
Capabilities:
Encode data using xor

Disassembly:
cmp byte [rcx + 2], 0
mov rax, rcx
je 0x180051f41
mov r10d, dword [0x180182290]
xor r8d, r8d
movdqa xmm4, xmmword [0x180164c10]
mov r9d, r8d
movdqa xmm3, xmmword [0x180164b70]
cmp r10d, 5
jl 0x180051bfe
movzx ecx, word [rcx]
movdqa xmm1, xmm3
movdqa xmm0, xmmword [0x18016d3c0]
psllq xmm1, 3
vpsrlvq xmm2, xmm0, xmm1
movd xmm0, ecx
pshufb xmm2, xmm4
xorps xmm2, xmm0
movd ecx, xmm2
mov word [rax], cx
jmp 0x180051c2d
movabs r11, 0xfefefffe7fff7f7e
nop dword [rax + rax]
movzx ecx, r9b
mov rdx, r11
and cl, 3
shl cl, 3
shr rdx, cl
xor byte [rax + r9], dl
inc r9
cmp r9, 2
jb 0x180051c10
xor byte [rax], 0xcd
mov r9, r8
xor byte [rax + 1], 0x6b
cmp r10d, 5
jl 0x180051c6b
movzx ecx, word [rax]
movdqa xmm1, xmm3
movdqa xmm0, xmmword [0x18016d040]
psllq xmm1, 3
vpsrlvq xmm2, xmm0, xmm1
movd xmm0, ecx
pshufb xmm2, xmm4
xorps xmm2, xmm0
movd ecx, xmm2
mov word [rax], cx
jmp 0x180051c9d
movabs r11, 0xfddbffbbdddbbfbf
nop word [rax + rax]
movzx ecx, r9b
mov rdx, r11
and cl, 7
shl cl, 3
shr rdx, cl
xor byte [rax + r9], dl
inc r9
cmp r9, 2
jb 0x180051c80
xor byte [rax], 0xee
mov r9, r8
xor byte [rax + 1], 0xee
cmp r10d, 5
jl 0x180051cdb
movzx ecx, word [rax]
movdqa xmm1, xmm3
movdqa xmm0, xmmword [0x18016c8a0]
psllq xmm1, 3
vpsrlvq xmm2, xmm0, xmm1
movd xmm0, ecx
pshufb xmm2, xmm4
xorps xmm2, xmm0
movd ecx, xmm2
mov word [rax], cx
jmp 0x180051d0d
movabs r11, 0xf7f77777f77f7fff
nop word [rax + rax]
movzx ecx, r9b
mov rdx, r11
and cl, 1
shl cl, 3
shr rdx, cl
xor byte [rax + r9], dl
inc r9
cmp r9, 2
jb 0x180051cf0
xor byte [rax], 0xf7
mov r9, r8
xor byte [rax + 1], 0xfe
cmp r10d, 5
jl 0x180051d4b
movzx ecx, word [rax]
movdqa xmm1, xmm3
movdqa xmm0, xmmword [0x18016c830]
psllq xmm1, 3
vpsrlvq xmm2, xmm0, xmm1
movd xmm0, ecx
pshufb xmm2, xmm4
xorps xmm2, xmm0
movd ecx, xmm2
mov word [rax], cx
jmp 0x180051d7d
movabs r11, 0xf7ddd55fd5ddff7f
nop word [rax + rax]
movzx ecx, r9b
mov rdx, r11
and cl, 3
shl cl, 3
shr rdx, cl
xor byte [rax + r9], dl
inc r9
cmp r9, 2
jb 0x180051d60
xor byte [rax], 0x4e
mov r9, r8
xor byte [rax + 1], 0xcd
cmp r10d, 5
jl 0x180051dbb
movzx ecx, word [rax]
movdqa xmm1, xmm3
movdqa xmm0, xmmword [0x1801672d0]
psllq xmm1, 3
vpsrlvq xmm2, xmm0, xmm1
movd xmm0, ecx
pshufb xmm2, xmm4
xorps xmm2, xmm0
movd ecx, xmm2
mov word [rax], cx
jmp 0x180051ded
movabs r11, 0x71ff19535b7f1753
nop word [rax + rax]
movzx ecx, r9b
mov rdx, r11
and cl, 7
shl cl, 3
shr rdx, cl
xor byte [rax + r9], dl
inc r9
cmp r9, 2
jb 0x180051dd0
xor byte [rax], 0xbe
mov r9, r8
xor byte [rax + 1], 0xbe
cmp r10d, 5
jl 0x180051e2b
movzx ecx, word [rax]
movdqa xmm1, xmm3
movdqa xmm0, xmmword [0x18016acf0]
psllq xmm1, 3
vpsrlvq xmm2, xmm0, xmm1
movd xmm0, ecx
pshufb xmm2, xmm4
xorps xmm2, xmm0
movd ecx, xmm2
mov word [rax], cx
jmp 0x180051e5d
movabs r11, 0xcef771c7f5c96dfa
nop word [rax + rax]
movzx ecx, r9b
mov rdx, r11
and cl, 1
shl cl, 3
shr rdx, cl
xor byte [r9 + rax], dl
inc r9
cmp r9, 2
jb 0x180051e40
xor byte [rax], 0xe6
mov r9, r8
xor byte [rax + 1], 0x67
cmp r10d, 5
jl 0x180051e9b
movzx ecx, word [rax]
movdqa xmm1, xmm3
movdqa xmm0, xmmword [0x180167400]
psllq xmm1, 3
vpsrlvq xmm2, xmm0, xmm1
movd xmm0, ecx
pshufb xmm2, xmm4
xorps xmm2, xmm0
movd ecx, xmm2
mov word [rax], cx
jmp 0x180051ecd
movabs r11, 0x747911555a525dd6
nop word [rax + rax]
movzx ecx, r9b
mov rdx, r11
and cl, 3
shl cl, 3
shr rdx, cl
xor byte [r9 + rax], dl
inc r9
cmp r9, 2
jb 0x180051eb0
xor byte [rax], 0xcc
xor byte [rax + 1], 0x3d
cmp r10d, 5
jl 0x180051f07
movzx ecx, word [rax]
movdqa xmm0, xmmword [0x180165590]
psllq xmm3, 3
vpsrlvq xmm1, xmm0, xmm3
movd xmm0, ecx
pshufb xmm1, xmm4
xorps xmm1, xmm0
movd ecx, xmm1
mov word [rax], cx
mov byte [rax + 2], 0
ret
movabs r9, 0x2d73c39735cf4d01
nop dword [rax]
nop word [rax + rax]
movzx ecx, r8b
mov rdx, r9
and cl, 7
shl cl, 3
shr rdx, cl
xor byte [r8 + rax], dl
inc r8
cmp r8, 2
jb 0x180051f20
mov byte [rax + 2], 0
ret