Function at 0x140018a40
Capabilities:
Encode data using xor

Disassembly:
mov eax, dword [rcx + 0x1a]
test rax, rax
je 0x140018d3f
mov dword [rcx + 0x1a], 0
movzx edx, word [rcx]
rol dx, 8
movdqu xmm0, xmmword [rcx + 0xa]
mov word [rcx + 0x18], dx
movq xmm1, qword [rcx + 2]
pxor xmm2, xmm2
punpcklbw xmm1, xmm2
pshufd xmm1, xmm1, 0x4e
pshuflw xmm1, xmm1, 0x1b
pshufhw xmm1, xmm1, 0x1b
packuswb xmm1, xmm1
movq qword [rcx + 0x10], xmm1
movdqa xmm1, xmm0
punpcklbw xmm1, xmm2
pshufd xmm1, xmm1, 0x4e
pshuflw xmm1, xmm1, 0x1b
pshufhw xmm1, xmm1, 0x1b
punpckhbw xmm0, xmm2
pshufd xmm0, xmm0, 0x4e
pshuflw xmm0, xmm0, 0x1b
pshufhw xmm0, xmm0, 0x1b
packuswb xmm0, xmm1
movdqu xmmword [rcx], xmm0
mov edx, 1
movabs r8, 0x5851f42d4c957f2d
movabs r9, 0x14057b7ef767814f
nop word cs:[rax + rax]
imul rax, r8
add rax, r9
mov r10, rax
shr r10, 0x38
xor byte [rcx + rdx - 1], r10b
imul rax, r8
add rax, r9
mov r10, rax
shr r10, 0x38
xor byte [rcx + rdx], r10b
add rdx, 2
cmp rdx, 0x1b
jne 0x140018ae0
movdqu xmm0, xmmword [rcx]
movdqa xmm3, xmmword [0x14005a590]
paddb xmm3, xmm0
movdqa xmm2, xmmword [0x14005a5a0]
movdqa xmm1, xmm3
pmaxub xmm1, xmm2
pcmpeqb xmm1, xmm3
movdqa xmm4, xmmword [0x14005a5b0]
paddb xmm4, xmm0
pand xmm4, xmm1
pandn xmm1, xmm3
por xmm1, xmm4
paddb xmm1, xmmword [str.aaaaaaaaaaaaaaaa]
movdqa xmm3, xmmword [0x14005a5d0]
paddb xmm3, xmm0
pmaxub xmm2, xmm3
pcmpeqb xmm2, xmm3
movdqa xmm4, xmmword [0x14005a5e0]
paddb xmm4, xmm0
pand xmm4, xmm2
pandn xmm2, xmm3
por xmm2, xmm4
paddb xmm2, xmmword [str.AAAAAAAAAAAAAAAA]
movdqa xmm3, xmmword [0x14005a600]
paddb xmm3, xmm0
movdqa xmm4, xmmword [0x140059840]
pminub xmm4, xmm3
pcmpeqb xmm4, xmm3
movdqa xmm3, xmmword [0x14005a610]
pand xmm3, xmm0
paddb xmm3, xmmword [0x14005a620]
movdqa xmm5, xmmword [0x14005a630]
pminub xmm5, xmm3
pcmpeqb xmm5, xmm3
pand xmm1, xmm4
pandn xmm4, xmm2
por xmm4, xmm1
pand xmm0, xmm5
pandn xmm5, xmm4
por xmm5, xmm0
movdqu xmmword [rcx], xmm5
movq xmm0, qword [rcx + 0x10]
movdqa xmm3, xmmword [0x14005a640]
paddb xmm3, xmm0
movdqa xmm1, xmmword [0x14005a650]
movdqa xmm2, xmm3
pminub xmm2, xmm1
pcmpeqb xmm2, xmm3
movdqa xmm4, xmmword [0x14005a660]
paddb xmm4, xmm0
pand xmm3, xmm2
pandn xmm2, xmm4
por xmm2, xmm3
paddb xmm2, xmmword [str.aaaaaaaa]
movdqa xmm3, xmmword [0x14005a680]
paddb xmm3, xmm0
pminub xmm1, xmm3
pcmpeqb xmm1, xmm3
movdqa xmm4, xmmword [0x14005a690]
paddb xmm4, xmm0
pand xmm3, xmm1
pandn xmm1, xmm4
por xmm1, xmm3
paddb xmm1, xmmword [str.AAAAAAAA]
movdqa xmm3, xmmword [0x14005a6b0]
paddb xmm3, xmm0
movdqa xmm4, xmmword [0x140059850]
pmaxub xmm4, xmm3
pcmpeqb xmm4, xmm3
movdqa xmm3, xmmword [0x14005a6c0]
pand xmm3, xmm0
paddb xmm3, xmmword [0x14005a6d0]
movdqa xmm5, xmmword [0x14005a6e0]
pmaxub xmm5, xmm3
pcmpeqb xmm5, xmm3
pand xmm1, xmm4
pandn xmm4, xmm2
por xmm4, xmm1
pand xmm4, xmm5
pandn xmm5, xmm0
por xmm5, xmm4
movq qword [rcx + 0x10], xmm5
movzx eax, byte [rcx + 0x18]
lea edx, [rax - 0x41]
cmp dl, 0x19
ja 0x140018cdc
lea edx, [rax - 0x34]
add al, 0xb2
cmp dl, 0x1a
movzx r8d, al
movzx eax, dl
cmovae eax, r8d
add al, 0x41
jmp 0x140018cf9
lea edx, [rax - 0x61]
cmp dl, 0x19
ja 0x140018cf9
lea edx, [rax - 0x54]
add al, 0x92
cmp dl, 0x1a
movzx r8d, al
movzx eax, dl
cmovae eax, r8d
add al, 0x61
mov byte [rcx + 0x18], al
movzx eax, byte [rcx + 0x19]
lea edx, [rax - 0x41]
cmp dl, 0x1a
jae 0x140018d1f
lea edx, [rax - 0x34]
add al, 0xb2
cmp dl, 0x1a
movzx r8d, al
movzx eax, dl
cmovae eax, r8d
add al, 0x41
jmp 0x140018d3c
lea edx, [rax - 0x61]
cmp dl, 0x19
ja 0x140018d3c
lea edx, [rax - 0x54]
add al, 0x92
cmp dl, 0x1a
movzx r8d, al
movzx eax, dl
cmovae eax, r8d
add al, 0x61
mov byte [rcx + 0x19], al
ret