Function at 0x1400c7a30
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rsi
mov qword [rsp + 0x20], rdi
push rbp
push r12
push r13
push r14
push r15
mov rbp, rsp
sub rsp, 0x40
mov r8, qword [rcx + 0x20]
mov rdi, rdx
mov r12, qword [rcx + 0x30]
mov r15, rcx
mov qword [rbp - 0x30], r8
mov rdx, rcx
mov qword [rbp - 0x38], rcx
movups xmm0, xmmword [rbp - 0x38]
mov qword [rbp - 0x28], rcx
movsd xmm1, qword [rbp - 0x28]
movups xmmword [rbp - 0x20], xmm0
mov r13, qword [rbp - 0x20]
mov r14, qword [rbp - 0x18]
movsd qword [rbp - 0x10], xmm1
mov rbx, qword [rbp - 0x10]
mov rax, r8
cmp r13, r15
jne 0x1400c7a9b
cmp rdx, r12
je 0x1400c7c72
cmp r8, qword [rbx + 8]
mov r8, r14
mov rcx, qword [rbx]
jb 0x1400c7aab
mov r8, qword [rbx + 8]
mov eax, dword [rdi]
mov r9, r8
mov dword [rbp - 0x40], eax
cmp r8, 4
jb 0x1400c7af8
movzx r10d, byte [rbp - 0x3e]
mov rdx, r8
movzx r11d, byte [rbp - 0x3f]
shr rdx, 2
imul r8, rdx, 0xfffffffffffffffc
add r8, r9
movzx r9d, byte [rbp - 0x3d]
nop word [rax + rax]
xor byte [rcx], al
xor byte [rcx + 1], r11b
xor byte [rcx + 2], r10b
xor byte [rcx + 3], r9b
add rcx, 4
sub rdx, 1
jne 0x1400c7ae0
test r8, r8
je 0x1400c7c50
xor r9d, r9d
cmp r8, 8
jb 0x1400c7be6
lea rdx, [rcx - 1]
add rdx, r8
lea rax, [rbp + r8 - 0x41]
cmp rcx, rax
ja 0x1400c7b2c
lea rax, [rbp - 0x40]
cmp rdx, rax
jae 0x1400c7be6
cmp r8, 0x40
jb 0x1400c7bb0
mov rdx, r8
mov r10, r8
and edx, 0x3f
sub r10, rdx
lea r11, [rbp - 0x40]
sub r11, rcx
lea rsi, [rbp - 0x30]
sub rsi, rcx
lea rax, [rcx + 0x20]
movdqu xmm0, xmmword [rax - 0x20]
add r9, 0x40
movdqu xmm1, xmmword [r11 + rax - 0x20]
movdqu xmm2, xmmword [r11 + rax]
lea rax, [rax + 0x40]
xorps xmm1, xmm0
movdqu xmmword [rax - 0x60], xmm1
movdqu xmm0, xmmword [rax - 0x50]
movdqu xmm1, xmmword [rsi + rax - 0x60]
xorps xmm1, xmm0
movdqu xmmword [rax - 0x50], xmm1
movdqu xmm0, xmmword [rax - 0x40]
xorps xmm2, xmm0
movdqu xmm0, xmmword [rsi + rax - 0x40]
movdqu xmmword [rax - 0x40], xmm2
movdqu xmm1, xmmword [rax - 0x30]
xorps xmm1, xmm0
movdqu xmmword [rax - 0x30], xmm1
cmp r9, r10
jb 0x1400c7b50
cmp rdx, 8
jb 0x1400c7be1
mov rdx, r8
and rdx, 0xfffffffffffffff8
lea r10, [rbp - 0x40]
sub r10, rcx
lea rax, [rcx + r9]
movq xmm0, qword [rax]
add r9, 8
movq xmm1, qword [r10 + rax]
lea rax, [rax + 8]
xorps xmm1, xmm0
movq qword [rax - 8], xmm1
cmp r9, rdx
jb 0x1400c7bc2
cmp r9, r8
jae 0x1400c7c11
lea rdx, [rcx + r9]
lea r10, [rbp - 0x40]
sub r10, rcx
mov rcx, r8
sub rcx, r9
nop word [rax + rax]
movzx eax, byte [r10 + rdx]
xor byte [rdx], al
lea rdx, [rdx + 1]
sub rcx, 1
jne 0x1400c7c00
mov eax, dword [rdi]
mov dword [rbp + 0x30], eax
mov rax, r8
and eax, 3
movzx eax, byte [rbp + rax + 0x30]
mov byte [rdi], al
lea rax, [r8 + 1]
and eax, 3
movzx eax, byte [rbp + rax + 0x30]
mov byte [rdi + 1], al
lea rax, [r8 - 2]
and eax, 3
movzx eax, byte [rbp + rax + 0x30]
mov byte [rdi + 2], al
lea rax, [r8 - 1]
and eax, 3
movzx eax, byte [rbp + rax + 0x30]
mov byte [rdi + 3], al
movups xmm0, xmmword [rbx]
add rbx, 0x10
mov r8, r14
mov rdx, rbx
psrldq xmm0, 8
movq rax, xmm0
sub r8, rax
mov r14, r8
jmp 0x1400c7a8a
lea r11, [rsp + 0x40]
mov rbx, qword [r11 + 0x38]
mov rsi, qword [r11 + 0x40]
mov rdi, qword [r11 + 0x48]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret