Function at 0x180051f50
Capabilities:
Encode data using xor

Disassembly:
cmp byte [rcx + 2], 0
mov rax, rcx
je 0x1800522f1
mov r10d, dword [0x180182290]
xor r8d, r8d
movdqa xmm4, xmmword [0x180164c10]
mov r9d, r8d
movdqa xmm3, xmmword [0x180164b70]
cmp r10d, 5
jl 0x180051fae
movzx ecx, word [rcx]
movdqa xmm1, xmm3
movdqa xmm0, xmmword [0x18016d1e0]
psllq xmm1, 3
vpsrlvq xmm2, xmm0, xmm1
movd xmm0, ecx
pshufb xmm2, xmm4
xorps xmm2, xmm0
movd ecx, xmm2
mov word [rax], cx
jmp 0x180051fdd
movabs r11, 0xfe7f7ffe7ffe7fff
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 0x180051fc0
xor byte [rax], 0xeb
mov r9, r8
xor byte [rax + 1], 0x8c
cmp r10d, 5
jl 0x18005201b
movzx ecx, word [rax]
movdqa xmm1, xmm3
movdqa xmm0, xmmword [0x18016db70]
psllq xmm1, 3
vpsrlvq xmm2, xmm0, xmm1
movd xmm0, ecx
pshufb xmm2, xmm4
xorps xmm2, xmm0
movd ecx, xmm2
mov word [rax], cx
jmp 0x18005204d
movabs r11, 0xffdfdd9b9f9f9dfd
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 0x180052030
xor byte [rax], 0xed
mov r9, r8
xor byte [rax + 1], 0xed
cmp r10d, 5
jl 0x18005208b
movzx ecx, word [rax]
movdqa xmm1, xmm3
movdqa xmm0, xmmword [0x18016d9d0]
psllq xmm1, 3
vpsrlvq xmm2, xmm0, xmm1
movd xmm0, ecx
pshufb xmm2, xmm4
xorps xmm2, xmm0
movd ecx, xmm2
mov word [rax], cx
jmp 0x1800520bd
movabs r11, 0xff7fff7fff77f7ff
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 0x1800520a0
xor byte [rax], 0x6e
mov r9, r8
xor byte [rax + 1], 0xef
cmp r10d, 5
jl 0x1800520fb
movzx ecx, word [rax]
movdqa xmm1, xmm3
movdqa xmm0, xmmword [0x180167520]
psllq xmm1, 3
vpsrlvq xmm2, xmm0, xmm1
movd xmm0, ecx
pshufb xmm2, xmm4
xorps xmm2, xmm0
movd ecx, xmm2
mov word [rax], cx
jmp 0x18005212d
movabs r11, 0x757f77d77d5f7f5d
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 0x180052110
xor byte [rax], 0xbf
mov r9, r8
xor byte [rax + 1], 0x63
cmp r10d, 5
jl 0x18005216b
movzx ecx, word [rax]
movdqa xmm1, xmm3
movdqa xmm0, xmmword [0x180169820]
psllq xmm1, 3
vpsrlvq xmm2, xmm0, xmm1
movd xmm0, ecx
pshufb xmm2, xmm4
xorps xmm2, xmm0
movd ecx, xmm2
mov word [rax], cx
jmp 0x18005219d
movabs r11, 0x9db7517375b37f73
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 0x180052180
xor byte [rax], 0xa4
mov r9, r8
xor byte [rax + 1], 0xa4
cmp r10d, 5
jl 0x1800521db
movzx ecx, word [rax]
movdqa xmm1, xmm3
movdqa xmm0, xmmword [0x18016b570]
psllq xmm1, 3
vpsrlvq xmm2, xmm0, xmm1
movd xmm0, ecx
pshufb xmm2, xmm4
xorps xmm2, xmm0
movd ecx, xmm2
mov word [rax], cx
jmp 0x18005220d
movabs r11, 0xdafaf6cfe2fbf9e2
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 0x1800521f0
xor byte [rax], 0xe3
mov r9, r8
xor byte [rax + 1], 0x21
cmp r10d, 5
jl 0x18005224b
movzx ecx, word [rax]
movdqa xmm1, xmm3
movdqa xmm0, xmmword [0x180165880]
psllq xmm1, 3
vpsrlvq xmm2, xmm0, xmm1
movd xmm0, ecx
pshufb xmm2, xmm4
xorps xmm2, xmm0
movd ecx, xmm2
mov word [rax], cx
jmp 0x18005227d
movabs r11, 0x37f3f69f12161978
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 0x180052260
xor byte [rax], 8
xor byte [rax + 1], 0xce
cmp r10d, 5
jl 0x1800522b7
movzx ecx, word [rax]
movdqa xmm0, xmmword [0x180165440]
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, 0x215fbf1fcb43878f
nop dword [rax]
nop word [rax + rax]
movzx ecx, r8b
mov rdx, r9
and cl, 7
shl cl, 3
shr rdx, cl
xor byte [rax + r8], dl
inc r8
cmp r8, 2
jb 0x1800522d0
mov byte [rax + 2], 0
ret