Function at 0x1800cc7a0
Capabilities:
Encode data using xor

Disassembly:
mov rax, rsp
mov qword [rax + 8], rbx
mov qword [rax + 0x10], rsi
mov qword [rax + 0x20], rdi
push rbp
push r14
push r15
lea rbp, [rax - 0x5f]
sub rsp, 0x90
cmp qword [r8 + 0x18], 0x10
mov rdi, r9
mov rbx, r8
mov r14, rdx
jb 0x1800cc7d2
mov r8, qword [r8]
mov edx, 0x84222325
xor r15d, r15d
jmp 0x1800cc7ea
movsx eax, al
xor eax, edx
imul edx, eax, 0x1b3
inc r8
mov al, byte [r8]
test al, al
jne 0x1800cc7dc
mov r8d, edx
lea rdx, [rbp - 1]
call fcn.1800cd724
cmp qword [rbp + 0xf], r15
jne 0x1800cc818
mov rdx, rdi
mov rcx, r14
call fcn.1800ce524
mov esi, 0x1000
jmp 0x1800cc988
mov word [rbp + 0x77], 0x3408
lea r9, [rbp + 0x77]
mov r8d, r15d
mov eax, 0x51eb851f
mul r8d
shr edx, 4
movsx eax, dl
imul ecx, eax, 0x32
mov al, r8b
inc r8d
sub al, cl
add al, 0x33
xor byte [r9], al
inc r9
cmp r8d, 2
jl 0x1800cc825
xorps xmm0, xmm0
lea rax, [rbp + 0x77]
xorps xmm1, xmm1
or r8, 0xffffffffffffffff
movups xmmword [rbp + 0x1f], xmm0
movdqu xmmword [rbp + 0x2f], xmm1
inc r8
cmp byte [rax + r8], r15b
jne 0x1800cc863
lea rdx, [rbp + 0x77]
lea rcx, [rbp + 0x1f]
call fcn.180028458
lea r8, [rbp + 0x1f]
lea rdx, [rbp - 1]
lea rcx, [rbp - 0x19]
call fcn.1800ce18c
mov rdx, qword [rbp + 0x37]
mov esi, 0x1000
cmp rdx, 0x10
jb 0x1800cc8c6
mov rcx, qword [rbp + 0x1f]
inc rdx
mov rax, rcx
cmp rdx, rsi
jb 0x1800cc8c1
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1800cca29
call fcn.1800dcb68
mov rax, qword [rbp - 0x11]
sub rax, qword [rbp - 0x19]
and rax, 0xffffffffffffffe0
cmp rax, 0x80
je 0x1800cc8e2
mov rdx, rdi
jmp 0x1800cc977
lea rcx, [rbp - 0x29]
call fcn.1800ce5b0
mov rcx, qword [rbp - 0x19]
cmp qword [rcx + 0x18], 0x10
jb 0x1800cc8f9
mov rcx, qword [rcx]
call fcn.1800de630
mov rcx, qword [rbp - 0x19]
xorps xmm1, xmm1
cvtsd2ss xmm1, xmm0
add rcx, 0x20
movss dword [rbp - 0x29], xmm1
cmp qword [rcx + 0x18], 0x10
jb 0x1800cc91c
mov rcx, qword [rcx]
call fcn.1800de630
mov rcx, qword [rbp - 0x19]
xorps xmm1, xmm1
cvtsd2ss xmm1, xmm0
add rcx, 0x40
movss dword [rbp - 0x25], xmm1
cmp qword [rcx + 0x18], 0x10
jb 0x1800cc93f
mov rcx, qword [rcx]
call fcn.1800de630
mov rcx, qword [rbp - 0x19]
xorps xmm1, xmm1
cvtsd2ss xmm1, xmm0
add rcx, 0x60
movss dword [rbp - 0x21], xmm1
cmp qword [rcx + 0x18], 0x10
jb 0x1800cc962
mov rcx, qword [rcx]
call fcn.1800de630
xorps xmm1, xmm1
lea rdx, [rbp - 0x29]
cvtsd2ss xmm1, xmm0
movss dword [rbp - 0x1d], xmm1
mov rcx, r14
call fcn.1800ce524
lea rcx, [rbp - 0x19]
call fcn.180031ad8
mov rdx, qword [rbp + 0x17]
cmp rdx, 0x10
jb 0x1800cc9bb
mov rcx, qword [rbp - 1]
inc rdx
mov rax, rcx
cmp rdx, rsi
jb 0x1800cc9b6
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1800cca29
call fcn.1800dcb68
mov rdx, qword [rbx + 0x18]
mov edi, 0xf
mov qword [rbp + 0xf], r15
mov qword [rbp + 0x17], rdi
mov byte [rbp - 1], r15b
cmp rdx, 0x10
jb 0x1800cc9fe
mov rcx, qword [rbx]
inc rdx
cmp rdx, rsi
jb 0x1800cc9f9
mov r8, qword [rcx - 8]
add rdx, 0x27
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x1800cca29
mov rcx, r8
call fcn.1800dcb68
mov byte [rbx], r15b
lea r11, [rsp + 0x90]
mov rsi, qword [r11 + 0x28]
mov rax, r14
mov qword [rbx + 0x18], rdi
mov rdi, qword [r11 + 0x38]
mov qword [rbx + 0x10], r15
mov rbx, qword [r11 + 0x20]
mov rsp, r11
pop r15
pop r14
pop rbp
ret
call fcn.1800a5e1c
int3