Function at 0x140293990
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 0x10], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
mov eax, 0x80
call fcn.1403cb200
sub rsp, rax
mov rax, qword [0x1404f2b48]
xor rax, rsp
mov qword [rsp + 0x70], rax
movzx edi, byte [rcx]
mov rsi, r9
mov r15, qword [rcx + 0x28]
mov r11, r8
mov r12, qword [rcx + 0x30]
mov r10, rdx
mov qword [rsp + 0x30], r8
mov rbx, rcx
mov qword [rsp + 0x28], rdx
mov byte [rsp + 0x20], dil
mov qword [rsp + 0x40], r15
mov qword [rsp + 0x48], r12
test dil, 0x40
jne 0x140293a0a
lea rdx, [rcx + 0x10]
mov r8, r12
call r15
inc qword [rbx + 0x20]
mov r10, qword [rsp + 0x28]
mov r11, qword [rsp + 0x30]
mov r8d, edi
xor edi, edi
and r8d, 7
mov ecx, edi
mov byte [rbx], r8b
lea r14d, [rdi + 0xf]
sub r14d, r8d
mov dword [rsp + 0x24], r14d
cmp r14d, 0xf
jae 0x140293a49
mov edx, r14d
add rdx, rbx
mov r9d, r8d
movzx eax, byte [rdx]
or rcx, rax
mov byte [rdx], dil
shl rcx, 8
inc rdx
sub r9, 1
jne 0x140293a33
movzx eax, byte [rbx + 0xf]
or rcx, rax
mov byte [rbx + 0xf], 1
cmp rcx, rsi
je 0x140293a61
or eax, 0xffffffff
jmp 0x140293c2d
lea rax, [rsi + 0xf]
or rax, 8
shr rax, 3
add qword [rbx + 0x20], rax
movabs rax, 0x2000000000000000
cmp qword [rbx + 0x20], rax
jbe 0x140293a8b
mov eax, 0xfffffffe
jmp 0x140293c2d
mov ebp, 0x10
lea r13d, [rbp - 0xe]
cmp rsi, rbp
jb 0x140293b7b
mov r14, qword [rsp + 0x40]
lea rdx, [rbp - 0x20]
mov r15, rsi
mov qword [rsp + 0x38], r11
shr r15, 4
lea r9, [rbx + 0x10]
imul rax, r15, 0xfffffffffffffff0
sub rdx, rbx
mov r12, r10
add rsi, rax
mov qword [rsp + 0x50], rdx
mov rax, r15
mov qword [rsp + 0x58], rsi
mov rsi, qword [rsp + 0x48]
shl rax, 4
add r10, rax
add r11, rax
mov qword [rsp + 0x28], r10
mov qword [rsp + 0x30], r11
lea r8, [rdx + r12]
mov rcx, r9
mov rdx, r13
mov rax, qword [r8 + rcx]
xor qword [rcx], rax
lea rcx, [rcx + 8]
sub rdx, 1
jne 0x140293af3
mov r8, rsi
mov rdx, r9
mov rcx, r9
call r14
mov r8, rsi
lea rdx, [rsp + 0x60]
mov rcx, rbx
call r14
mov edx, 8
dec edx
add byte [rdx + rbx + 8], 1
jne 0x140293b30
test edx, edx
jne 0x140293b23
mov r9, qword [rsp + 0x38]
mov rcx, rdi
mov rax, qword [r12 + rcx*8]
xor rax, qword [rsp + rcx*8 + 0x60]
mov qword [r9 + rcx*8], rax
inc rcx
cmp rcx, r13
jl 0x140293b38
mov rdx, qword [rsp + 0x50]
add r9, rbp
add r12, rbp
mov qword [rsp + 0x38], r9
lea r9, [rbx + 0x10]
sub r15, 1
jne 0x140293ae9
mov rsi, qword [rsp + 0x58]
mov r14d, dword [rsp + 0x24]
mov r15, qword [rsp + 0x40]
mov r12, qword [rsp + 0x48]
test rsi, rsi
je 0x140293be1
mov r8, qword [rsp + 0x28]
mov edx, edi
mov rcx, rdi
mov al, byte [rcx + r8]
inc edx
xor byte [rcx + rbx + 0x10], al
mov ecx, edx
cmp rcx, rsi
jb 0x140293b8a
lea rcx, [rbx + 0x10]
mov r8, r12
mov rdx, rcx
call r15
mov r8, r12
lea rdx, [rsp + 0x60]
mov rcx, rbx
call r15
test rsi, rsi
je 0x140293be1
mov r14, qword [rsp + 0x28]
mov rcx, rdi
mov rdx, qword [rsp + 0x30]
mov al, byte [rcx + r14]
inc edi
xor al, byte [rsp + rcx + 0x60]
mov byte [rcx + rdx], al
mov ecx, edi
cmp rcx, rsi
jb 0x140293bc8
mov r14d, dword [rsp + 0x24]
cmp r14d, ebp
jae 0x140293bf9
sub ebp, r14d
mov ecx, r14d
mov r8d, ebp
add rcx, rbx
xor edx, edx
call fcn.1403ccc50
mov r8, r12
lea rdx, [rsp + 0x60]
mov rcx, rbx
call r15
lea rdx, [rsp + 0x60]
sub rdx, rbx
lea rcx, [rbx + 0x10]
mov rax, qword [rdx + rcx - 0x10]
xor qword [rcx], rax
lea rcx, [rcx + 8]
sub r13, 1
jne 0x140293c13
mov al, byte [rsp + 0x20]
mov byte [rbx], al
xor eax, eax
mov rcx, qword [rsp + 0x70]
xor rcx, rsp
call fcn.1403cb150
mov rbx, qword [rsp + 0xc8]
add rsp, 0x80
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret