Function at 0x18002f9c0
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 + 0x4b]
test rax, rax
je 0x180030193
movabs rdx, 0x5851f42d4c957f2d
movabs r8, 0x14057b7ef767814f
mov dword [rcx + 0x4b], 0
movzx r9d, byte [rcx]
movdqu xmm1, xmmword [rcx + 0x3b]
mov byte [rcx + 0x4a], r9b
movd xmm2, dword [rcx + 1]
pxor xmm0, xmm0
punpcklbw xmm2, xmm0
pshuflw xmm2, xmm2, 0x1b
packuswb xmm2, xmm2
movd dword [rcx + 0x46], 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 + 5]
movdqu xmm7, xmmword [rcx + 6]
movdqu xmm6, xmmword [rcx + 8]
movdqu xmmword [rcx], xmm1
movdqu xmm5, xmmword [rcx + 0x11]
movdqu xmm4, xmmword [rcx + 0x2b]
movdqa xmm1, xmmword [0x1800da930]
movdqa xmm3, xmm1
pandn xmm3, xmm2
pslld xmm7, 8
por xmm7, xmm3
movdqa xmm3, xmmword [0x1800da940]
movdqa xmm2, xmm3
pandn xmm2, xmm7
pslldq xmm6, 3
por xmm6, xmm2
movzx r9d, byte [rcx + 0x10]
movd xmm7, r9d
pslldq xmm7, 0xb
movdqa xmm2, xmmword [0x1800dbc20]
movdqa xmm8, xmm2
pandn xmm8, xmm7
movdqa xmm7, xmm6
pand xmm7, xmm2
por xmm7, xmm8
punpckhbw xmm7, xmm0
pshuflw xmm7, xmm7, 0x1b
punpcklbw xmm6, xmm0
pshufd xmm6, xmm6, 0x4e
pshuflw xmm6, xmm6, 0x1b
pshufhw xmm6, xmm6, 0x1b
packuswb xmm7, xmm6
pshufd xmm6, xmm7, 0xe0
punpcklbw xmm5, xmm0
pshuflw xmm5, xmm5, 0x1b
packuswb xmm5, xmm5
movss xmm6, xmm5
movups xmmword [rcx + 0x36], xmm6
movdqa xmm5, xmm4
punpcklbw xmm5, xmm0
pshufd xmm5, xmm5, 0x4e
pshuflw xmm5, xmm5, 0x1b
pshufhw xmm5, xmm5, 0x1b
punpckhbw xmm4, xmm0
pshufd xmm4, xmm4, 0x4e
pshuflw xmm4, xmm4, 0x1b
pshufhw xmm6, xmm4, 0x1b
packuswb xmm6, xmm5
movdqu xmm7, xmmword [rcx + 0x15]
movdqu xmm8, xmmword [rcx + 0x16]
movdqu xmm4, xmmword [rcx + 0x18]
movdqu xmmword [rcx + 0x10], xmm6
movd xmm5, dword [rcx + 0x27]
punpcklbw xmm5, xmm0
pshuflw xmm6, xmm5, 0x1b
packuswb xmm6, xmm6
movdqu xmm5, xmmword [rcx + 0x21]
movzx r9d, byte [rcx + 0x20]
movd dword [rcx + 0x20], xmm6
movzx r10d, byte [rcx + 0x26]
mov byte [rcx + 0x24], r10b
pandn xmm1, xmm7
pslld xmm8, 8
por xmm8, xmm1
pandn xmm3, xmm8
pslldq xmm4, 3
por xmm4, xmm3
movdqa xmm1, xmm4
pand xmm1, xmm2
movd xmm3, r9d
pslldq xmm3, 0xb
pandn xmm2, xmm3
por xmm2, xmm1
punpckhbw xmm2, xmm0
pshuflw xmm1, xmm2, 0x1b
punpcklbw xmm4, xmm0
pshufd xmm2, xmm4, 0x4e
pshuflw xmm2, xmm2, 0x1b
pshufhw xmm2, xmm2, 0x1b
packuswb xmm1, xmm2
pshufd xmm1, xmm1, 0xe0
punpcklbw xmm5, xmm0
pshuflw xmm0, xmm5, 0x1b
packuswb xmm0, xmm0
movss xmm1, xmm0
movups xmmword [rcx + 0x26], xmm1
mov r9d, 2
nop dword [rax + 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, 0x4d
jne 0x18002fc30
movdqu xmm10, xmmword [rcx]
movdqa xmm3, xmm10
paddb xmm3, xmmword [0x1800da970]
movdqa xmm5, xmmword [0x1800da980]
movdqa xmm13, xmm3
pmaxub xmm13, xmm5
pcmpeqb xmm13, xmm3
movdqa xmm6, xmmword [0x1800da990]
movdqa xmm8, xmmword [0x1800da9a0]
movdqa xmm4, xmm10
paddb xmm4, xmm8
pand xmm4, xmm13
pandn xmm13, xmm3
por xmm13, xmm4
movdqa xmm9, xmmword [0x1800da9c0]
movdqa xmm4, xmm10
paddb xmm4, xmm9
movdqa xmm14, xmm4
pmaxub xmm14, xmm5
pcmpeqb xmm14, xmm4
movdqa xmm3, xmmword [0x1800da9d0]
movdqa xmm7, xmm10
paddb xmm7, xmm3
pand xmm7, xmm14
pandn xmm14, xmm4
por xmm14, xmm7
movdqa xmm0, xmmword [0x1800da9f0]
movdqa xmm4, xmm10
paddb xmm4, xmm0
movdqa xmm1, xmm0
movdqa xmm15, xmm4
pminub xmm15, xmm6
pcmpeqb xmm15, xmm4
movdqa xmm7, xmmword [0x1800daa00]
movdqa xmm12, xmm10
pand xmm12, xmm7
paddb xmm12, xmmword [0x1800daa10]
movdqa xmm4, xmmword [0x1800daa20]
movdqa xmm11, xmm12
pminub xmm11, xmm4
pcmpeqb xmm11, xmm12
paddb xmm13, xmmword [str.aaaaaaaaaaaaaaaa]
paddb xmm14, xmmword [str.AAAAAAAAAAAAAAAA]
pand xmm13, xmm15
pandn xmm15, xmm14
por xmm15, xmm13
movdqu xmm2, xmmword [rcx + 0x10]
pand xmm10, xmm11
pandn xmm11, xmm15
movdqu xmm13, xmmword [rcx + 0x20]
por xmm11, xmm10
movdqu xmm10, xmmword [rcx + 0x30]
movdqu xmmword [rcx], xmm11
movdqa xmm11, xmm2
paddb xmm11, xmmword [0x1800da970]
movdqa xmm15, xmm11
pmaxub xmm15, xmm5
pcmpeqb xmm15, xmm11
movdqa xmm14, xmm2
paddb xmm14, xmm8
pand xmm14, xmm15
pandn xmm15, xmm11
por xmm15, xmm14
movdqa xmm11, xmm2
paddb xmm11, xmm9
movdqa xmm14, xmm11
pmaxub xmm14, xmm5
pcmpeqb xmm14, xmm11
movdqa xmm0, xmm2
paddb xmm0, xmm3
pand xmm0, xmm14
pandn xmm14, xmm11
por xmm14, xmm0
movdqa xmm0, xmm2
paddb xmm0, xmm1
movdqa xmm11, xmm0
pminub xmm11, xmm6
pcmpeqb xmm11, xmm0
movdqa xmm1, xmm2
pand xmm1, xmm7
movdqa xmm12, xmmword [0x1800daa10]
paddb xmm1, xmm12
movdqa xmm0, xmm1
pminub xmm0, xmm4
pcmpeqb xmm0, xmm1
paddb xmm15, xmmword [str.aaaaaaaaaaaaaaaa]
paddb xmm14, xmmword [str.AAAAAAAAAAAAAAAA]
pand xmm15, xmm11
pandn xmm11, xmm14
por xmm11, xmm15
pand xmm2, xmm0
pandn xmm0, xmm11
por xmm0, xmm2
movdqu xmmword [rcx + 0x10], xmm0
movdqa xmm0, xmm13
movdqa xmm1, xmmword [0x1800da970]
paddb xmm0, xmm1
movdqa xmm14, xmm0
pmaxub xmm14, xmm5
pcmpeqb xmm14, xmm0
movdqa xmm1, xmm13
paddb xmm1, xmm8
pand xmm1, xmm14
pandn xmm14, xmm0
por xmm14, xmm1
movdqa xmm0, xmm13
paddb xmm0, xmm9
movdqa xmm1, xmm0
pmaxub xmm1, xmm5
pcmpeqb xmm1, xmm0
movdqa xmm2, xmm13
paddb xmm2, xmm3
pand xmm2, xmm1
pandn xmm1, xmm0
por xmm1, xmm2
movdqa xmm0, xmm13
paddb xmm0, xmmword [0x1800da9f0]
movdqa xmm2, xmm0
pminub xmm2, xmm6
pcmpeqb xmm2, xmm0
movdqa xmm0, xmm13
pand xmm0, xmm7
paddb xmm0, xmm12
movdqa xmm11, xmm0
pminub xmm11, xmm4
pcmpeqb xmm11, xmm0
movdqa xmm12, xmmword [str.aaaaaaaaaaaaaaaa]
paddb xmm14, xmm12
movdqa xmm15, xmmword [str.AAAAAAAAAAAAAAAA]
paddb xmm1, xmm15
pand xmm14, xmm2
pandn xmm2, xmm1
por xmm2, xmm14
pand xmm13, xmm11
pandn xmm11, xmm2
por xmm11, xmm13
movdqu xmmword [rcx + 0x20], xmm11
movdqa xmm0, xmmword [0x1800da970]
paddb xmm0, xmm10
movdqa xmm13, xmm0
pmaxub xmm13, xmm5
pcmpeqb xmm13, xmm0
paddb xmm8, xmm10
pand xmm8, xmm13
pandn xmm13, xmm0
por xmm13, xmm8
paddb xmm13, xmm12
paddb xmm9, xmm10
pmaxub xmm5, xmm9
pcmpeqb xmm5, xmm9
paddb xmm3, xmm10
pand xmm3, xmm5
pandn xmm5, xmm9
por xmm5, xmm3
paddb xmm5, xmm15
movdqa xmm0, xmmword [0x1800da9f0]
paddb xmm0, xmm10
pminub xmm6, xmm0
pcmpeqb xmm6, xmm0
pand xmm7, xmm10
paddb xmm7, xmmword [0x1800daa10]
pminub xmm4, xmm7
pcmpeqb xmm4, xmm7
pand xmm13, xmm6
pandn xmm6, xmm5
por xmm6, xmm13
pand xmm10, xmm4
pandn xmm4, xmm6
por xmm4, xmm10
movdqu xmmword [rcx + 0x30], xmm4
movq xmm0, qword [rcx + 0x40]
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 + 0x40], xmm5
movzx eax, byte [rcx + 0x48]
lea edx, [rax - 0x41]
cmp dl, 0x19
ja 0x1800300ed
lea edx, [rax - 0x34]
add al, 0xb2
cmp dl, 0x1a
movzx r8d, al
movzx eax, dl
cmovae eax, r8d
add al, 0x41
jmp 0x18003010a
lea edx, [rax - 0x61]
cmp dl, 0x19
ja 0x18003010a
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 + 0x48], al
movzx eax, byte [rcx + 0x49]
lea edx, [rax - 0x41]
cmp dl, 0x1a
jae 0x180030130
lea edx, [rax - 0x34]
add al, 0xb2
cmp dl, 0x1a
movzx r8d, al
movzx eax, dl
cmovae eax, r8d
add al, 0x41
jmp 0x18003014d
lea edx, [rax - 0x61]
cmp dl, 0x19
ja 0x18003014d
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 + 0x49], al
movzx eax, byte [rcx + 0x4a]
lea edx, [rax - 0x41]
cmp dl, 0x1a
jae 0x180030173
lea edx, [rax - 0x34]
add al, 0xb2
cmp dl, 0x1a
movzx r8d, al
movzx eax, dl
cmovae eax, r8d
add al, 0x41
jmp 0x180030190
lea edx, [rax - 0x61]
cmp dl, 0x19
ja 0x180030190
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 + 0x4a], 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