Function at 0x1400692b0
Capabilities:
Encode data using xor

Disassembly:
push rbx
push rbp
push rsi
push rdi
push r12
push r14
push r15
mov eax, 0x80
call fcn.1400cc090
sub rsp, rax
mov rax, qword [0x140175060]
xor rax, rsp
mov qword [rsp + 0x60], rax
movzx edi, byte [rcx]
mov r10, qword [rsp + 0xe0]
mov rax, qword [rcx + 0x28]
mov r14, r8
mov r8, qword [rcx + 0x30]
mov rsi, r9
mov rbp, rdx
mov rbx, rcx
mov qword [rsp + 0x48], r10
mov qword [rsp + 0x40], r8
mov byte [rsp + 0x30], dil
mov qword [rsp + 0x38], rax
test dil, 0x40
jne 0x140069324
lea rdx, [rcx + 0x10]
call rax
inc qword [rbx + 0x20]
mov r10, qword [rsp + 0x48]
mov r8, qword [rsp + 0x40]
movzx eax, dil
mov edi, 0xf
xor r15d, r15d
and eax, 7
mov r12d, edi
mov ecx, r15d
sub r12d, eax
mov byte [rbx], al
cmp r12d, edi
jae 0x140069366
mov edx, r12d
add rdx, rbx
sub edi, r12d
nop dword [rax]
movzx eax, byte [rdx]
mov byte [rdx], r15b
lea rdx, [rdx + 1]
or rcx, rax
shl rcx, 8
dec rdi
jne 0x140069350
movzx eax, byte [rbx + 0xf]
mov byte [rbx + 0xf], 1
or rcx, rax
cmp rcx, rsi
je 0x14006937e
or eax, 0xffffffff
jmp 0x14006957b
lea rax, [rsi + 0xf]
or rax, 8
shr rax, 3
add qword [rbx + 0x20], rax
movabs rax, 0x2000000000000000
cmp qword [rbx + 0x20], rax
jbe 0x1400693a8
mov eax, 0xfffffffe
jmp 0x14006957b
mov rdi, rsi
mov qword [rsp + 0x78], r13
mov r13d, 0x10
shr rdi, 4
test rdi, rdi
je 0x140069441
lea rax, [rbx + 0x10]
mov r9, r8
mov rdx, r14
mov qword [rsp + 0x28], rax
mov r8, rdi
mov rcx, rbp
mov qword [rsp + 0x20], rbx
call r10
shl rdi, 4
add rbp, rdi
add r14, rdi
sub rsi, rdi
je 0x140069535
lea r9, [rbx + 8]
shr rdi, 4
mov rdx, r15
lea r8, [r9 + 8]
neg r9
nop word [rax + rax]
movzx eax, byte [r8 - 1]
lea r8, [r8 - 1]
movzx ecx, dil
add rdx, rax
lea rax, [r9 + r8]
shr rdi, 8
add rdx, rcx
mov byte [r8], dl
shr rdx, 8
test rax, rax
je 0x140069441
test rdi, rdi
jne 0x140069410
test rdx, rdx
jne 0x140069410
test rsi, rsi
je 0x140069535
mov edx, r15d
mov rcx, r15
movzx eax, byte [rcx + rbp]
inc edx
xor byte [rcx + rbx + 0x10], al
mov ecx, edx
cmp rcx, rsi
jb 0x140069450
mov r8, qword [rsp + 0x40]
lea rcx, [rbx + 0x10]
mov rdx, rcx
call qword [rsp + 0x38]
mov r8, qword [rsp + 0x40]
lea rdx, [rsp + 0x50]
mov rcx, rbx
call qword [rsp + 0x38]
mov edx, r15d
cmp rsi, 0x20
jb 0x14006950c
lea eax, [rsi - 1]
mov ecx, eax
lea rdi, [rax + r14]
lea rax, [rsp + 0x50]
add rax, rcx
cmp r14, rax
ja 0x1400694af
lea rax, [rsp + 0x50]
cmp rdi, rax
jae 0x14006950c
lea rax, [rcx + rbp]
cmp r14, rax
ja 0x1400694bd
cmp rdi, rbp
jae 0x14006950c
mov rax, rsi
mov rcx, rsi
mov edi, r13d
and eax, 0x1f
sub rcx, rax
nop dword [rax]
movdqu xmm1, xmmword [r15 + rbp]
movdqu xmm0, xmmword [rsp + r15 + 0x50]
mov eax, edi
add edx, 0x20
add edi, 0x20
pxor xmm1, xmm0
movdqu xmm0, xmmword [rsp + rax + 0x50]
movdqu xmmword [r15 + r14], xmm1
movdqu xmm1, xmmword [rax + rbp]
mov r15d, edx
pxor xmm1, xmm0
movdqu xmmword [rax + r14], xmm1
cmp r15, rcx
jb 0x1400694d0
mov ecx, edx
cmp rcx, rsi
jae 0x140069535
nop dword [rax]
nop word [rax + rax]
movzx eax, byte [rcx + rbp]
inc edx
xor al, byte [rsp + rcx + 0x50]
mov byte [rcx + r14], al
mov ecx, edx
cmp rcx, rsi
jb 0x140069520
cmp r12d, r13d
jae 0x14006954a
sub r13d, r12d
mov edi, r12d
add rdi, rbx
xor eax, eax
mov ecx, r13d
rep stosb byte [rdi], al
mov r8, qword [rsp + 0x40]
lea rdx, [rsp + 0x50]
mov rcx, rbx
call qword [rsp + 0x38]
mov rax, qword [rsp + 0x50]
mov r13, qword [rsp + 0x78]
xor qword [rbx + 0x10], rax
mov rax, qword [rsp + 0x58]
xor qword [rbx + 0x18], rax
movzx eax, byte [rsp + 0x30]
mov byte [rbx], al
xor eax, eax
mov rcx, qword [rsp + 0x60]
xor rcx, rsp
call fcn.1400cbcb0
add rsp, 0x80
pop r15
pop r14
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret