Function at 0x1400f7260
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 rax, qword [rcx + 0x20]
mov rdi, rdx
mov r12, qword [rcx + 0x30]
mov r15, rcx
mov qword [rbp - 0x30], rax
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 r11, qword [rbp - 0x10]
nop word [rax + rax]
cmp r13, r15
jne 0x1400f72ce
cmp rdx, r12
je 0x1400f74ad
mov rcx, qword [r11]
cmp r14, qword [r11 + 8]
jae 0x1400f72dc
mov r8, r14
jmp 0x1400f72e3
mov r8, qword [r11 + 8]
mov rcx, qword [r11]
mov eax, dword [rdi]
mov r9, r8
mov dword [rbp - 0x40], eax
cmp r8, 4
jb 0x1400f7327
movzx r10d, byte [rbp - 0x3e]
mov rdx, r8
movzx ebx, byte [rbp - 0x3f]
shr rdx, 2
imul r8, rdx, 0xfffffffffffffffc
add r8, r9
movzx r9d, byte [rbp - 0x3d]
nop dword [rax]
xor byte [rcx], al
xor byte [rcx + 1], bl
xor byte [rcx + 2], r10b
xor byte [rcx + 3], r9b
add rcx, 4
sub rdx, 1
jne 0x1400f7310
test r8, r8
je 0x1400f7490
xor r9d, r9d
cmp r8, 8
jb 0x1400f7424
lea rdx, [rcx - 1]
add rdx, r8
lea rax, [rbp + r8 - 0x41]
cmp rcx, rax
ja 0x1400f735b
lea rax, [rbp - 0x40]
cmp rdx, rax
jae 0x1400f7424
cmp r8, 0x40
jb 0x1400f73ee
mov rdx, r8
mov r10, r8
and edx, 0x3f
sub r10, rdx
lea rbx, [rbp - 0x40]
sub rbx, rcx
lea rsi, [rbp - 0x30]
sub rsi, rcx
lea rax, [rcx + 0x20]
nop dword [rax]
nop word [rax + rax]
movdqu xmm0, xmmword [rax - 0x20]
add r9, 0x40
movdqu xmm1, xmmword [rbx + rax - 0x20]
movdqu xmm2, xmmword [rbx + 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 0x1400f7390
cmp rdx, 8
jb 0x1400f741f
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 0x1400f7400
cmp r9, r8
jae 0x1400f7451
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 0x1400f7440
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 [r11]
add r11, 0x10
mov rdx, r11
psrldq xmm0, 8
movq rax, xmm0
sub r14, rax
jmp 0x1400f72c0
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