Function at 0x1400a3440
Capabilities:
Encode data using xor

Disassembly:
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
mov rbp, rsp
sub rsp, 0x78
mov r13, r9
mov r15, r8
mov rbx, rdx
mov r12, rcx
mov qword [rbp + 0x48], rdx
mov r9, rdx
dec r8
mov qword [rbp + 0x50], r8
mov r14, r8
sar r14, 1
cmp rdx, r14
jge 0x1400a3574
lea rax, [rbp - 0x40]
mov qword [rbp + 0x58], rax
lea rax, [rbp - 0x50]
mov qword [rbp + 0x60], rax
nop dword [rax]
lea rsi, [r9 + r9]
lea rax, [rbp - 0x40]
mov qword [rbp + 0x68], rax
mov rdi, rsi
shl rdi, 4
add rdi, r12
mov rax, qword [rdi + 0x10]
mov qword [rbp - 0x40], rax
lea rdx, [rdi + 0x18]
lea rcx, [rbp - 0x38]
call qword [rax + 0x60]
nop
mov rax, qword [rdi + 0x20]
mov qword [rbp - 0x50], rax
lea rdx, [rdi + 0x28]
lea rcx, [rbp - 0x48]
call qword [rax + 0x60]
nop
lea rax, [rbp - 0x30]
mov qword [rbp + 0x68], rax
mov rax, qword [rbp - 0x40]
mov qword [rbp - 0x30], rax
lea rdx, [rbp - 0x38]
lea rcx, [rbp - 0x28]
call qword [rax + 0x60]
nop
mov rax, qword [rbp - 0x50]
mov qword [rbp - 0x20], rax
lea rdx, [rbp - 0x48]
lea rcx, [rbp - 0x18]
call qword [rax + 0x60]
nop
lea rdx, [rbp - 0x30]
lea rcx, [rbp - 0x20]
call fcn.140072aa0
shr eax, 0x1f
mov edi, eax
lea rcx, [rbp - 0x48]
mov rax, qword [rbp - 0x50]
call qword [rax + 0x58]
nop
lea rcx, [rbp - 0x38]
mov rax, qword [rbp - 0x40]
call qword [rax + 0x58]
nop
xor rdi, 1
lea r9, [rdi + 1]
add r9, rsi
mov rdx, r9
shl rdx, 4
add rdx, r12
shl rbx, 4
add rbx, r12
mov rcx, qword [rbx]
mov rax, qword [rdx]
mov qword [rbx], rax
mov qword [rdx], rcx
mov rax, qword [rbx + 8]
mov rcx, qword [rdx + 8]
mov qword [rbx + 8], rcx
mov qword [rdx + 8], rax
mov rbx, r9
cmp r9, r14
jl 0x1400a3490
mov rdx, qword [rbp + 0x48]
mov r8, qword [rbp + 0x50]
cmp r9, r14
jne 0x1400a35ae
test r15b, 1
jne 0x1400a35ae
add r15, r15
shl rbx, 4
add rbx, r12
mov rcx, qword [rbx]
mov rax, qword [r12 + r15*8 - 0x10]
mov qword [rbx], rax
mov qword [r12 + r15*8 - 0x10], rcx
mov rax, qword [rbx + 8]
mov rcx, qword [r12 + r15*8 - 8]
mov qword [rbx + 8], rcx
mov qword [r12 + r15*8 - 8], rax
mov rbx, r8
cmp rdx, rbx
jge 0x1400a36a2
lea rcx, [r13 + 8]
lea rax, [rbp - 0x50]
mov qword [rbp + 0x50], rax
lea rax, [rbp - 0x40]
mov qword [rbp + 0x58], rax
nop dword [rax + rax]
lea rsi, [rbx - 1]
sar rsi, 1
lea rax, [rbp - 0x50]
mov qword [rbp + 0x60], rax
mov rax, qword [r13]
mov qword [rbp - 0x50], rax
mov rdx, rcx
lea rcx, [rbp - 0x48]
call qword [rax + 0x60]
nop
mov r14, rsi
shl r14, 4
add r14, r12
mov rax, qword [r14]
mov qword [rbp - 0x40], rax
lea rdx, [r14 + 8]
lea rcx, [rbp - 0x38]
call qword [rax + 0x60]
nop
lea rax, [rbp - 0x20]
mov qword [rbp + 0x60], rax
mov rax, qword [rbp - 0x50]
mov qword [rbp - 0x20], rax
lea rdx, [rbp - 0x48]
lea rcx, [rbp - 0x18]
call qword [rax + 0x60]
nop
mov rax, qword [rbp - 0x40]
mov qword [rbp - 0x30], rax
lea rdx, [rbp - 0x38]
lea rcx, [rbp - 0x28]
call qword [rax + 0x60]
nop
lea rdx, [rbp - 0x20]
lea rcx, [rbp - 0x30]
call fcn.140072aa0
mov edi, eax
shr edi, 0x1f
lea rcx, [rbp - 0x38]
mov rdx, qword [rbp - 0x40]
call qword [rdx + 0x58]
nop
lea rcx, [rbp - 0x48]
mov rax, qword [rbp - 0x50]
call qword [rax + 0x58]
nop
test dil, dil
je 0x1400a36a2
shl rbx, 4
add rbx, r12
mov rcx, qword [rbx]
mov rax, qword [r14]
mov qword [rbx], rax
mov qword [r14], rcx
mov rax, qword [rbx + 8]
mov rcx, qword [r14 + 8]
mov qword [rbx + 8], rcx
mov qword [r14 + 8], rax
mov rbx, rsi
cmp qword [rbp + 0x48], rsi
lea rcx, [r13 + 8]
jl 0x1400a35d0
shl rbx, 4
add rbx, r12
mov rcx, qword [rbx]
mov rax, qword [r13]
mov qword [rbx], rax
mov qword [r13], rcx
mov rax, qword [rbx + 8]
mov rcx, qword [r13 + 8]
mov qword [rbx + 8], rcx
mov qword [r13 + 8], rax
add rsp, 0x78
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret