Function at 0x18000ad30
Capabilities:
Encode data using xor

Disassembly:
sub rsp, 0xa8
movdqa xmmword [rsp + 0x90], xmm15
movdqa xmmword [rsp + 0x80], xmm14
movdqa xmmword [rsp + 0x70], xmm13
movdqa xmmword [rsp + 0x60], xmm12
movdqa xmmword [rsp + 0x50], xmm11
movdqa xmmword [rsp + 0x40], xmm10
movdqa xmmword [rsp + 0x30], xmm9
movdqa xmmword [rsp + 0x20], xmm8
movdqa xmmword [rsp + 0x10], xmm7
movdqa xmmword [rsp], xmm6
mov eax, dword [rcx + 0x3c]
test rax, rax
je 0x18000b36b
movabs rdx, 0x5851f42d4c957f2d
movabs r8, 0x14057b7ef767814f
mov dword [rcx + 0x3c], 0
movdqu xmm1, xmmword [rcx + 0x2c]
movd xmm2, dword [rcx]
pxor xmm0, xmm0
punpcklbw xmm2, xmm0
pshuflw xmm2, xmm2, 0x1b
packuswb xmm2, xmm2
movd dword [rcx + 0x38], xmm2
movq xmm2, qword [rcx + 4]
punpcklbw xmm2, xmm0
pshufd xmm2, xmm2, 0x4e
pshuflw xmm2, xmm2, 0x1b
pshufhw xmm2, xmm2, 0x1b
packuswb xmm2, xmm2
movq qword [rcx + 0x30], xmm2
movdqa xmm2, xmm1
punpcklbw xmm2, xmm0
pshufd xmm2, xmm2, 0x4e
pshuflw xmm2, xmm2, 0x1b
pshufhw xmm2, xmm2, 0x1b
punpckhbw xmm1, xmm0
pshufd xmm1, xmm1, 0x4e
pshuflw xmm1, xmm1, 0x1b
pshufhw xmm1, xmm1, 0x1b
packuswb xmm1, xmm2
movdqu xmm2, xmmword [rcx + 0xc]
movdqu xmm3, xmmword [rcx + 0x10]
punpckldq xmm2, xmm3
movdqu xmm3, xmmword [rcx + 0x14]
movdqu xmm4, xmmword [rcx + 0x1c]
movdqu xmmword [rcx], xmm1
punpcklbw xmm3, xmm0
pshufd xmm1, xmm3, 0x4e
pshuflw xmm1, xmm1, 0x1b
pshufhw xmm1, xmm1, 0x1b
punpcklbw xmm2, xmm0
pshufd xmm2, xmm2, 0x4e
pshuflw xmm2, xmm2, 0x1b
pshufhw xmm2, xmm2, 0x1b
packuswb xmm1, xmm2
movdqu xmmword [rcx + 0x20], xmm1
movdqa xmm1, xmm4
punpcklbw xmm1, xmm0
pshufd xmm1, xmm1, 0x4e
pshuflw xmm1, xmm1, 0x1b
pshufhw xmm1, xmm1, 0x1b
punpckhbw xmm4, xmm0
pshufd xmm0, xmm4, 0x4e
pshuflw xmm0, xmm0, 0x1b
pshufhw xmm0, xmm0, 0x1b
packuswb xmm0, xmm1
movdqu xmmword [rcx + 0x10], xmm0
mov r9d, 2
nop dword [rax]
imul rax, rdx
add rax, r8
mov r10, rax
shr r10, 0x38
xor byte [rcx + r9 - 2], r10b
imul rax, rdx
add rax, r8
mov r10, rax
shr r10, 0x38
xor byte [rcx + r9 - 1], r10b
imul rax, rdx
add rax, r8
mov r10, rax
shr r10, 0x38
xor byte [rcx + r9], r10b
add r9, 3
cmp r9, 0x3e
jne 0x18000aea0
movdqa xmm9, xmmword [0x1800da970]
movdqu xmm13, xmmword [rcx]
movdqa xmm3, xmm13
paddb xmm3, xmm9
movdqa xmm2, xmmword [0x1800da980]
movdqa xmm10, xmm3
pmaxub xmm10, xmm2
pcmpeqb xmm10, xmm3
movdqa xmm5, xmmword [0x1800da990]
movdqa xmm8, xmmword [0x1800da9a0]
movdqa xmm4, xmm13
paddb xmm4, xmm8
pand xmm4, xmm10
pandn xmm10, xmm3
por xmm10, xmm4
movdqa xmm3, xmmword [0x1800da9c0]
movdqa xmm4, xmm13
paddb xmm4, xmm3
movdqa xmm14, xmm4
pmaxub xmm14, xmm2
pcmpeqb xmm14, xmm4
movdqa xmm6, xmmword [0x1800da9d0]
movdqa xmm7, xmm13
paddb xmm7, xmm6
pand xmm7, xmm14
pandn xmm14, xmm4
por xmm14, xmm7
movdqa xmm4, xmm13
paddb xmm4, xmmword [0x1800da9f0]
movdqa xmm15, xmm4
pminub xmm15, xmm5
pcmpeqb xmm15, xmm4
movdqa xmm7, xmmword [0x1800daa00]
movdqa xmm12, xmm13
pand xmm12, xmm7
paddb xmm12, xmmword [0x1800daa10]
movdqa xmm4, xmmword [0x1800daa20]
movdqa xmm11, xmm12
pminub xmm11, xmm4
pcmpeqb xmm11, xmm12
movdqa xmm0, xmmword [str.aaaaaaaaaaaaaaaa]
paddb xmm10, xmm0
movdqa xmm12, xmm0
paddb xmm14, xmmword [str.AAAAAAAAAAAAAAAA]
pand xmm10, xmm15
pandn xmm15, xmm14
por xmm15, xmm10
movdqu xmm1, xmmword [rcx + 0x10]
pand xmm13, xmm11
pandn xmm11, xmm15
movdqu xmm10, xmmword [rcx + 0x20]
por xmm11, xmm13
movdqu xmmword [rcx], xmm11
movdqa xmm11, xmm1
paddb xmm11, xmm9
movdqa xmm13, xmm11
pmaxub xmm13, xmm2
pcmpeqb xmm13, xmm11
movdqa xmm15, xmm1
paddb xmm15, xmm8
pand xmm15, xmm13
pandn xmm13, xmm11
por xmm13, xmm15
movdqa xmm11, xmm1
paddb xmm11, xmm3
movdqa xmm15, xmm11
pmaxub xmm15, xmm2
pcmpeqb xmm15, xmm11
movdqa xmm14, xmm1
paddb xmm14, xmm6
pand xmm14, xmm15
pandn xmm15, xmm11
por xmm15, xmm14
movdqa xmm11, xmm1
paddb xmm11, xmmword [0x1800da9f0]
movdqa xmm14, xmm11
pminub xmm14, xmm5
pcmpeqb xmm14, xmm11
movdqa xmm0, xmm1
pand xmm0, xmm7
paddb xmm0, xmmword [0x1800daa10]
movdqa xmm11, xmm0
pminub xmm11, xmm4
pcmpeqb xmm11, xmm0
movdqa xmm0, xmm12
paddb xmm13, xmm12
movdqa xmm12, xmmword [str.AAAAAAAAAAAAAAAA]
paddb xmm15, xmm12
pand xmm13, xmm14
pandn xmm14, xmm15
por xmm14, xmm13
pand xmm1, xmm11
pandn xmm11, xmm14
por xmm11, xmm1
movdqu xmmword [rcx + 0x10], xmm11
paddb xmm9, xmm10
movdqa xmm13, xmm9
pmaxub xmm13, xmm2
pcmpeqb xmm13, xmm9
paddb xmm8, xmm10
pand xmm8, xmm13
pandn xmm13, xmm9
por xmm13, xmm8
paddb xmm13, xmm0
paddb xmm3, xmm10
pmaxub xmm2, xmm3
pcmpeqb xmm2, xmm3
paddb xmm6, xmm10
pand xmm6, xmm2
pandn xmm2, xmm3
por xmm2, xmm6
paddb xmm2, xmm12
movdqa xmm0, xmmword [0x1800da9f0]
paddb xmm0, xmm10
pminub xmm5, xmm0
pcmpeqb xmm5, xmm0
pand xmm7, xmm10
paddb xmm7, xmmword [0x1800daa10]
pminub xmm4, xmm7
pcmpeqb xmm4, xmm7
pand xmm13, xmm5
pandn xmm5, xmm2
por xmm5, xmm13
pand xmm10, xmm4
pandn xmm4, xmm5
por xmm4, xmm10
movdqu xmmword [rcx + 0x20], xmm4
movq xmm0, qword [rcx + 0x30]
movdqa xmm3, xmmword [0x1800daa30]
paddb xmm3, xmm0
movdqa xmm1, xmmword [0x1800daa40]
movdqa xmm2, xmm3
pminub xmm2, xmm1
pcmpeqb xmm2, xmm3
movdqa xmm4, xmmword [0x1800daa50]
paddb xmm4, xmm0
pand xmm3, xmm2
pandn xmm2, xmm4
por xmm2, xmm3
movdqa xmm3, xmmword [0x1800daa70]
paddb xmm3, xmm0
pminub xmm1, xmm3
pcmpeqb xmm1, xmm3
movdqa xmm4, xmmword [0x1800daa80]
paddb xmm4, xmm0
pand xmm3, xmm1
pandn xmm1, xmm4
por xmm1, xmm3
movdqa xmm3, xmmword [0x1800daaa0]
paddb xmm3, xmm0
movdqa xmm4, xmmword [0x1800daab0]
pmaxub xmm4, xmm3
pcmpeqb xmm4, xmm3
movdqa xmm3, xmmword [0x1800daac0]
pand xmm3, xmm0
paddb xmm3, xmmword [0x1800daad0]
movdqa xmm5, xmmword [0x1800daae0]
pmaxub xmm5, xmm3
pcmpeqb xmm5, xmm3
paddb xmm2, xmmword [str.aaaaaaaa]
paddb xmm1, xmmword [str.AAAAAAAA]
pand xmm1, xmm4
pandn xmm4, xmm2
por xmm4, xmm1
pand xmm4, xmm5
pandn xmm5, xmm0
por xmm5, xmm4
movq qword [rcx + 0x30], xmm5
movzx eax, byte [rcx + 0x38]
lea edx, [rax - 0x41]
cmp dl, 0x19
ja 0x18000b282
lea edx, [rax - 0x34]
add al, 0xb2
cmp dl, 0x1a
movzx r8d, al
movzx eax, dl
cmovae eax, r8d
add al, 0x41
jmp 0x18000b29f
lea edx, [rax - 0x61]
cmp dl, 0x19
ja 0x18000b29f
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 + 0x38], al
movzx eax, byte [rcx + 0x39]
lea edx, [rax - 0x41]
cmp dl, 0x1a
jae 0x18000b2c5
lea edx, [rax - 0x34]
add al, 0xb2
cmp dl, 0x1a
movzx r8d, al
movzx eax, dl
cmovae eax, r8d
add al, 0x41
jmp 0x18000b2e2
lea edx, [rax - 0x61]
cmp dl, 0x19
ja 0x18000b2e2
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 + 0x39], al
movzx eax, byte [rcx + 0x3a]
lea edx, [rax - 0x41]
cmp dl, 0x1a
jae 0x18000b308
lea edx, [rax - 0x34]
add al, 0xb2
cmp dl, 0x1a
movzx r8d, al
movzx eax, dl
cmovae eax, r8d
add al, 0x41
jmp 0x18000b325
lea edx, [rax - 0x61]
cmp dl, 0x19
ja 0x18000b325
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 + 0x3a], al
movzx eax, byte [rcx + 0x3b]
lea edx, [rax - 0x41]
cmp dl, 0x1a
jae 0x18000b34b
lea edx, [rax - 0x34]
add al, 0xb2
cmp dl, 0x1a
movzx r8d, al
movzx eax, dl
cmovae eax, r8d
add al, 0x41
jmp 0x18000b368
lea edx, [rax - 0x61]
cmp dl, 0x19
ja 0x18000b368
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 + 0x3b], al
movaps xmm6, xmmword [rsp]
movaps xmm7, xmmword [rsp + 0x10]
movaps xmm8, xmmword [rsp + 0x20]
movaps xmm9, xmmword [rsp + 0x30]
movaps xmm10, xmmword [rsp + 0x40]
movaps xmm11, xmmword [rsp + 0x50]
movaps xmm12, xmmword [rsp + 0x60]
movaps xmm13, xmmword [rsp + 0x70]
movaps xmm14, xmmword [rsp + 0x80]
movaps xmm15, xmmword [rsp + 0x90]
add rsp, 0xa8
ret