Function at 0x1800ca3f0
Capabilities:
Encode data using xor

Disassembly:
mov rax, rsp
mov qword [rax + 0x18], rbx
mov qword [rax + 0x20], rdi
push rbp
lea rbp, [rax - 0x5f]
sub rsp, 0x90
movaps xmmword [rax - 0x18], xmm6
movaps xmmword [rax - 0x28], xmm7
mov rdi, rcx
movups xmm3, xmmword [str.Ra_VXZWSyUVwYK_S3]
movups xmmword [rbp - 9], xmm3
movsd xmm0, qword [0x180129f58]
movsd qword [rbp + 7], xmm0
movzx eax, word [0x180129f60]
mov word [rbp + 0xf], ax
xor ebx, ebx
cmp byte [0x180129f61], bl
je 0x1800ca6dd
mov ecx, ebx
cmp dword [0x180148090], 2
jl 0x1800ca6a8
movdqa xmm5, xmmword [0x18012e5e0]
movdqa xmm6, xmmword [0x18012e170]
movdqa xmm7, xmmword [0x18012e230]
movdqa xmm2, xmmword [0x18012e100]
movdqa xmm1, xmm2
punpckldq xmm1, xmm2
pmuldq xmm1, xmm5
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm5
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm6
psubd xmm2, xmm0
movdqa xmm4, xmmword [0x18012e1e0]
andps xmm2, xmm4
packuswb xmm2, xmm2
packuswb xmm2, xmm2
paddb xmm2, xmm7
movd eax, xmm3
movd xmm0, eax
xorps xmm2, xmm0
movd dword [rbp - 9], xmm2
movdqa xmm2, xmmword [0x18012e110]
movdqa xmm1, xmm2
punpckldq xmm1, xmm2
pmuldq xmm1, xmm5
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm5
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm6
psubd xmm2, xmm0
andps xmm2, xmm4
packuswb xmm2, xmm2
packuswb xmm2, xmm2
paddb xmm2, xmm7
movd xmm0, dword [rbp - 5]
xorps xmm2, xmm0
movd dword [rbp - 5], xmm2
movdqa xmm3, xmmword [0x18012e120]
movdqa xmm1, xmm3
punpckldq xmm1, xmm3
pmuldq xmm1, xmm5
movdqa xmm0, xmm3
punpckhdq xmm0, xmm3
pmuldq xmm0, xmm5
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm6
psubd xmm3, xmm0
andps xmm3, xmm4
packuswb xmm3, xmm3
packuswb xmm3, xmm3
paddb xmm3, xmm7
movd xmm0, dword [rbp - 1]
xorps xmm3, xmm0
movd dword [rbp - 1], xmm3
movdqa xmm2, xmmword [0x18012e130]
movdqa xmm1, xmm2
punpckldq xmm1, xmm2
pmuldq xmm1, xmm5
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm5
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm6
psubd xmm2, xmm0
andps xmm2, xmm4
packuswb xmm2, xmm2
packuswb xmm2, xmm2
paddb xmm2, xmm7
movd xmm0, dword [rbp + 3]
xorps xmm2, xmm0
movd dword [rbp + 3], xmm2
movdqa xmm3, xmmword [0x18012e140]
movdqa xmm1, xmm3
punpckldq xmm1, xmm3
pmuldq xmm1, xmm5
movdqa xmm0, xmm3
punpckhdq xmm0, xmm3
pmuldq xmm0, xmm5
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm6
psubd xmm3, xmm0
andps xmm3, xmm4
packuswb xmm3, xmm3
packuswb xmm3, xmm3
paddb xmm3, xmm7
movd xmm0, dword [rbp + 7]
xorps xmm3, xmm0
movd dword [rbp + 7], xmm3
movdqa xmm2, xmmword [0x18012e150]
movdqa xmm1, xmm2
punpckldq xmm1, xmm2
pmuldq xmm1, xmm5
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm5
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm6
psubd xmm2, xmm0
andps xmm2, xmm4
packuswb xmm2, xmm2
packuswb xmm2, xmm2
paddb xmm2, xmm7
movd xmm0, dword [rbp + 0xb]
xorps xmm2, xmm0
movd dword [rbp + 0xb], xmm2
mov ecx, 0x18
mov eax, ecx
lea r8, [rbp - 9]
add r8, rax
mov eax, 0x4bda12f7
imul ecx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul edx, eax, 0x36
movzx eax, cl
sub al, dl
add al, 0x30
xor byte [r8], al
inc ecx
lea r8, [r8 + 1]
cmp ecx, 0x1a
jl 0x1800ca6b1
xorps xmm0, xmm0
movups xmmword [rbp + 0x17], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp + 0x27], xmm1
lea rax, [rbp - 9]
mov r8, 0xffffffffffffffff
inc r8
cmp byte [rax + r8], bl
jne 0x1800ca6f7
lea rdx, [rbp - 9]
lea rcx, [rbp + 0x17]
call fcn.180016750
nop
test rdi, rdi
jne 0x1800ca77f
xorps xmm0, xmm0
movups xmmword [rbp - 9], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp + 7], xmm1
xor r8d, r8d
lea rdx, [0x18011e4f0]
lea rcx, [rbp - 9]
call fcn.180016750
nop
cmp byte [0x180149df8], dil
je 0x1800ca774
mov byte [rbp + 0x67], dil
mov dword [rbp + 0x6f], 2
lea rax, [rbp + 0x67]
mov qword [rsp + 0x28], rax
lea rax, [0x18014aff8]
mov qword [rsp + 0x20], rax
lea r9, [0x18014afe8]
lea r8, [rbp - 9]
lea rdx, [rbp + 0x6f]
call fcn.1800288e0
nop
lea rcx, [rbp - 9]
call fcn.18002d710
jmp 0x1800ca795
lea rdx, [rbp + 0x17]
mov rcx, rdi
call fcn.1800623c0
test eax, eax
jle 0x1800ca795
movsxd rbx, eax
add rbx, rdi
lea rcx, [rbp + 0x17]
call fcn.18002d710
mov rax, rbx
lea r11, [rsp + 0x90]
mov rbx, qword [r11 + 0x20]
mov rdi, qword [r11 + 0x28]
movaps xmm6, xmmword [r11 - 0x10]
movaps xmm7, xmmword [rsp + 0x70]
mov rsp, r11
pop rbp
ret