Function at 0x180052300
Capabilities:
Encode data using xor

Disassembly:
cmp byte [rcx + 2], 0
mov rax, rcx
je 0x1800526a1
mov r10d, dword [0x180182290]
xor r8d, r8d
movdqa xmm4, xmmword [0x180164c10]
mov r9d, r8d
movdqa xmm3, xmmword [0x180164b70]
cmp r10d, 5
jl 0x18005235e
movzx ecx, word [rcx]
movdqa xmm1, xmm3
movdqa xmm0, xmmword [0x180168f40]
psllq xmm1, 3
vpsrlvq xmm2, xmm0, xmm1
movd xmm0, ecx
pshufb xmm2, xmm4
xorps xmm2, xmm0
movd ecx, xmm2
mov word [rax], cx
jmp 0x18005238d
movabs r11, 0x7ffffefffefefffe
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 0x180052370
xor byte [rax], 0x38
mov r9, r8
xor byte [rax + 1], 0x1f
cmp r10d, 5
jl 0x1800523cb
movzx ecx, word [rax]
movdqa xmm1, xmm3
movdqa xmm0, xmmword [0x18016b740]
psllq xmm1, 3
vpsrlvq xmm2, xmm0, xmm1
movd xmm0, ecx
pshufb xmm2, xmm4
xorps xmm2, xmm0
movd ecx, xmm2
mov word [rax], cx
jmp 0x1800523fd
movabs r11, 0xdbfbfdfdddfbb99b
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 0x1800523e0
xor byte [rax], 0xee
mov r9, r8
xor byte [rax + 1], 0xee
cmp r10d, 5
jl 0x18005243b
movzx ecx, word [rax]
movdqa xmm1, xmm3
movdqa xmm0, xmmword [0x180168ee0]
psllq xmm1, 3
vpsrlvq xmm2, xmm0, xmm1
movd xmm0, ecx
pshufb xmm2, xmm4
xorps xmm2, xmm0
movd ecx, xmm2
mov word [rax], cx
jmp 0x18005246d
movabs r11, 0x7ffff7f777f777ff
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 0x180052450
xor byte [rax], 0x6e
mov r9, r8
xor byte [rax + 1], 0xf6
cmp r10d, 5
jl 0x1800524ab
movzx ecx, word [rax]
movdqa xmm1, xmm3
movdqa xmm0, xmmword [0x180166c90]
psllq xmm1, 3
vpsrlvq xmm2, xmm0, xmm1
movd xmm0, ecx
pshufb xmm2, xmm4
xorps xmm2, xmm0
movd ecx, xmm2
mov word [rax], cx
jmp 0x1800524dd
movabs r11, 0x5f577fdf7d5557f5
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 0x1800524c0
xor byte [rax], 0x42
mov r9, r8
xor byte [rax + 1], 0x5c
cmp r10d, 5
jl 0x18005251b
movzx ecx, word [rax]
movdqa xmm1, xmm3
movdqa xmm0, xmmword [0x18016cce0]
psllq xmm1, 3
vpsrlvq xmm2, xmm0, xmm1
movd xmm0, ecx
pshufb xmm2, xmm4
xorps xmm2, xmm0
movd ecx, xmm2
mov word [rax], cx
jmp 0x18005254d
movabs r11, 0xfb73d7939f57b5fd
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 0x180052530
xor byte [rax], 0x9d
mov r9, r8
xor byte [rax + 1], 0x9d
cmp r10d, 5
jl 0x18005258b
movzx ecx, word [rax]
movdqa xmm1, xmm3
movdqa xmm0, xmmword [0x18016b760]
psllq xmm1, 3
vpsrlvq xmm2, xmm0, xmm1
movd xmm0, ecx
pshufb xmm2, xmm4
xorps xmm2, xmm0
movd ecx, xmm2
mov word [rax], cx
jmp 0x1800525bd
movabs r11, 0xdc60c0f7ce41c2ef
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 0x1800525a0
xor byte [rax], 0xee
mov r9, r8
xor byte [rax + 1], 0x63
cmp r10d, 5
jl 0x1800525fb
movzx ecx, word [rax]
movdqa xmm1, xmm3
movdqa xmm0, xmmword [0x18016c2a0]
psllq xmm1, 3
vpsrlvq xmm2, xmm0, xmm1
movd xmm0, ecx
pshufb xmm2, xmm4
xorps xmm2, xmm0
movd ecx, xmm2
mov word [rax], cx
jmp 0x18005262d
movabs r11, 0xf2ff93503cd89b3d
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 0x180052610
xor byte [rax], 0x77
xor byte [rax + 1], 0x9f
cmp r10d, 5
jl 0x180052667
movzx ecx, word [rax]
movdqa xmm0, xmmword [0x1801695e0]
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, 0x99f35dc7c38ddf87
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 0x180052680
mov byte [rax + 2], 0
ret