Function at 0x1400c7c90
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, 0x80
mov rax, qword [rcx + 0x20]
mov rdi, rdx
mov qword [rbp - 0x58], rax
mov r13, rcx
mov rax, qword [rcx + 0x10]
mov qword [rbp - 0x60], rcx
movups xmm0, xmmword [rbp - 0x60]
mov qword [rbp - 0x50], rax
mov qword [rbp - 0x48], rcx
movups xmm3, xmmword [rbp - 0x50]
movups xmmword [rbp - 0x40], xmm0
mov r12, qword [rbp - 0x40]
movups xmm0, xmmword [rcx + 0x30]
mov r14, qword [rbp - 0x38]
movdqa xmm1, xmm3
movq r11, xmm3
psrldq xmm1, 8
movq r15, xmm1
movups xmmword [rbp - 0x30], xmm3
movups xmmword [rbp - 0x10], xmm0
cmp r12, r13
jne 0x1400c7d18
cmp r15, qword [rbp - 8]
jne 0x1400c7d18
cmp r11, qword [rbp - 0x10]
je 0x1400c7f5c
mov r8, qword [r11 + 8]
cmp r11, qword [r15 + 0x10]
jne 0x1400c7d45
cmp qword [r15 + 0x18], r8
mov rdx, r8
mov rcx, qword [r11]
cmovb rdx, qword [r15 + 0x18]
add rcx, rdx
sub r8, rdx
mov qword [rbp - 0x70], rcx
mov qword [rbp - 0x68], r8
movaps xmm1, xmmword [rbp - 0x70]
jmp 0x1400c7d52
movups xmm1, xmmword [r11]
movaps xmmword [rbp - 0x70], xmm1
movq rcx, xmm1
cmp r14, r8
jae 0x1400c7d5c
mov r9, r14
jmp 0x1400c7d6f
movdqa xmm0, xmm1
movq rcx, xmm1
psrldq xmm0, 8
movq r9, xmm0
mov eax, dword [rdi]
mov r8, r9
mov dword [rbp - 0x80], eax
cmp r9, 4
jb 0x1400c7db7
movzx r10d, byte [rbp - 0x7e]
mov rdx, r9
movzx ebx, byte [rbp - 0x7f]
shr rdx, 2
imul r9, rdx, 0xfffffffffffffffc
add r9, r8
movzx r8d, byte [rbp - 0x7d]
nop dword [rax]
xor byte [rcx], al
xor byte [rcx + 1], bl
xor byte [rcx + 2], r10b
xor byte [rcx + 3], r8b
add rcx, 4
sub rdx, 1
jne 0x1400c7da0
test r9, r9
je 0x1400c7f20
xor r8d, r8d
cmp r9, 8
jb 0x1400c7eb5
lea rdx, [rcx - 1]
add rdx, r9
lea rax, [rsp + r9 - 1]
cmp rcx, rax
ja 0x1400c7deb
lea rax, [rbp - 0x80]
cmp rdx, rax
jae 0x1400c7eb5
cmp r9, 0x40
jb 0x1400c7e7f
mov rdx, r9
mov r10, r9
and edx, 0x3f
sub r10, rdx
lea rbx, [rbp - 0x80]
sub rbx, rcx
lea rsi, [rbp - 0x70]
sub rsi, rcx
lea rax, [rcx + 0x20]
nop dword [rax]
nop word [rax + rax]
movdqu xmm0, xmmword [rax - 0x20]
add r8, 0x40
movdqu xmm1, xmmword [rbx + rax - 0x20]
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 xmm0, xmmword [rbx + rax - 0x40]
movdqu xmmword [rax - 0x50], xmm1
movdqu xmm2, 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 r8, r10
jb 0x1400c7e20
cmp rdx, 8
jb 0x1400c7eb0
mov rdx, r9
and rdx, 0xfffffffffffffff8
lea r10, [rbp - 0x80]
sub r10, rcx
lea rax, [rcx + r8]
movq xmm0, qword [rax]
add r8, 8
movq xmm1, qword [r10 + rax]
lea rax, [rax + 8]
xorps xmm1, xmm0
movq qword [rax - 8], xmm1
cmp r8, rdx
jb 0x1400c7e91
cmp r8, r9
jae 0x1400c7ee1
lea rdx, [rcx + r8]
lea r10, [rbp - 0x80]
sub r10, rcx
mov rcx, r9
sub rcx, r8
nop word [rax + rax]
movzx eax, byte [r10 + rdx]
xor byte [rdx], al
lea rdx, [rdx + 1]
sub rcx, 1
jne 0x1400c7ed0
mov eax, dword [rdi]
mov dword [rbp + 0x30], eax
mov rax, r9
and eax, 3
movzx eax, byte [rbp + rax + 0x30]
mov byte [rdi], al
lea rax, [r9 + 1]
and eax, 3
movzx eax, byte [rbp + rax + 0x30]
mov byte [rdi + 1], al
lea rax, [r9 - 2]
and eax, 3
movzx eax, byte [rbp + rax + 0x30]
mov byte [rdi + 2], al
lea rax, [r9 - 1]
and eax, 3
movzx eax, byte [rbp + rax + 0x30]
mov byte [rdi + 3], al
movq rdx, xmm3
add r11, 0x10
psrldq xmm3, 8
movq rcx, xmm3
mov qword [rbp - 0x30], r11
cmp rdx, qword [rcx + 0x10]
mov rdx, qword [rdx + 8]
jne 0x1400c7f50
cmp qword [rcx + 0x18], rdx
mov rax, rdx
cmovb rax, qword [rcx + 0x18]
sub rdx, rax
movups xmm3, xmmword [rbp - 0x30]
sub r14, rdx
jmp 0x1400c7d03
lea r11, [rsp + 0x80]
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