Function at 0x140163680
Capabilities:
Encode data using xor

Disassembly:
mov rax, rsp
push rbx
push rdi
push r14
sub rsp, 0xc0
mov ebx, 0
mov qword [rsp + 0x90], rdx
mov rdi, r9
mov qword [rsp + 0x88], r9
mov r9, rdx
mov qword [rsp + 8], r8
mov rdx, rdi
mov qword [rsp + 0x10], rbx
and rdx, 0xfffffffffffffff8
mov qword [rsp + 0x18], rbx
mov qword [rsp + 0x78], rdx
mov r14d, ebx
je 0x140163a92
mov qword [rax + 8], rbp
mov r11, r8
mov qword [rax - 0x20], rsi
sub r11, r9
mov qword [rax - 0x28], r12
mov qword [rax - 0x30], r13
lea r13, [r9 + 0x10]
mov qword [rax - 0x38], r15
lea rax, [r11 + 0x20]
mov qword [rsp], r13
mov qword [rsp + 0x28], rax
lea rax, [r11 + 0x28]
mov qword [rsp + 0x30], rax
mov qword [rsp + 0x80], r11
nop dword [rax]
mov r9, qword [r11 + r13 - 0x10]
xor eax, eax
mov rsi, qword [r11 + r13 - 8]
mov r12, qword [r11 + r13]
mov rdi, qword [r11 + r13 + 8]
mov r15, qword [r13 - 0x10]
mov rbp, qword [r13 - 8]
lea rdx, [r9 + r15]
cmp rdx, r15
lea r10, [rsi + rbp]
setb al
add rdx, rbx
xor r8d, r8d
mov qword [rsp + 0x38], rdx
cmp rdx, rbx
mov rbx, qword [r11 + r13 + 0x10]
setb r8b
or r8, rax
xor eax, eax
cmp r10, rbp
setb al
add r10, r8
xor edx, edx
mov qword [rsp + 0x40], r10
cmp r10, r8
mov r8, qword [r13]
setb dl
or rdx, rax
xor eax, eax
lea r10, [r12 + r8]
cmp r10, r8
setb al
add r10, rdx
xor r8d, r8d
mov qword [rsp + 0x48], r10
cmp r10, rdx
mov rdx, qword [r13 + 8]
setb r8b
or r8, rax
xor eax, eax
lea r10, [rdx + rdi]
cmp r10, rdx
setb al
add r10, r8
xor edx, edx
mov qword [rsp + 0x50], r10
cmp r10, r8
mov r8, qword [r13 + 0x10]
setb dl
or rdx, rax
xor eax, eax
lea r10, [r8 + rbx]
cmp r10, r8
setb al
add r10, rdx
xor r8d, r8d
mov qword [rsp + 0x58], r10
cmp r10, rdx
mov rdx, qword [r13 + 0x18]
mov r10, qword [r11 + r13 + 0x18]
setb r8b
or r8, rax
xor eax, eax
lea r11, [rdx + r10]
cmp r11, rdx
setb al
add r11, r8
xor edx, edx
mov qword [rsp + 0x60], r11
cmp r11, r8
mov r8, qword [r13 + 0x20]
setb dl
or rdx, rax
mov rax, qword [rsp + 0x28]
mov r11, qword [rax + r13]
xor eax, eax
lea r14, [r8 + r11]
cmp r14, r8
setb al
add r14, rdx
mov qword [rsp + 0x68], r14
xor r8d, r8d
cmp r14, rdx
mov rdx, qword [r13 + 0x28]
setb r8b
or r8, rax
mov rax, qword [rsp + 0x30]
mov r14, qword [rax + r13]
xor eax, eax
lea r13, [rdx + r14]
cmp r13, rdx
setb al
xor edx, edx
add r13, r8
cmp r13, r8
mov qword [rsp + 0x70], r13
mov r8, r15
setb dl
sub r8, r9
or rdx, rax
mov r13, r8
sub r13, qword [rsp + 0x10]
mov r9, rbp
sub r9, rsi
mov qword [rsp + 0x20], rdx
xor edx, edx
cmp r13, r8
seta dl
xor eax, eax
cmp r8, r15
mov r15, r9
seta al
or rdx, rax
mov rax, qword [rsp]
sub r15, rdx
xor edx, edx
mov rsi, qword [rax]
mov r8, rsi
sub r8, r12
cmp r15, r9
seta dl
xor eax, eax
cmp r9, rbp
mov rbp, r8
seta al
or rdx, rax
mov rax, qword [rsp]
sub rbp, rdx
xor edx, edx
mov r12, qword [rax + 8]
mov r9, r12
sub r9, rdi
cmp rbp, r8
seta dl
xor eax, eax
cmp r8, rsi
mov rsi, r9
seta al
or rdx, rax
mov rax, qword [rsp]
sub rsi, rdx
xor edx, edx
mov r8, qword [rax + 0x10]
sub r8, rbx
mov rbx, qword [rsp]
cmp rsi, r9
mov rdi, r8
seta dl
xor eax, eax
cmp r9, r12
mov r12, qword [rbx + 0x18]
mov r9, r12
seta al
sub r9, r10
or rdx, rax
sub rdi, rdx
xor edx, edx
cmp rdi, r8
seta dl
xor eax, eax
cmp r8, qword [rbx + 0x10]
seta al
or rdx, rax
mov r8, qword [rsp]
mov rbx, r9
sub rbx, rdx
xor edx, edx
mov r10, qword [r8 + 0x20]
sub r10, r11
cmp rbx, r9
mov r11, r10
seta dl
xor eax, eax
cmp r9, r12
mov r12, qword [r8 + 0x28]
mov r9, qword [rsp]
mov r8, r12
seta al
sub r8, r14
or rdx, rax
sub r11, rdx
xor edx, edx
cmp r11, r10
seta dl
xor eax, eax
cmp r10, qword [r9 + 0x20]
mov r9, r8
seta al
xor r14d, r14d
or rdx, rax
sub r9, rdx
cmp r9, r8
seta r14b
xor eax, eax
cmp r8, r12
seta al
or r14, rax
mov rax, r13
xor rax, qword [rsp + 0x38]
and rax, rcx
mov qword [rsp + 0x10], r14
xor rax, r13
mov r13, qword [rsp]
mov qword [r13 - 0x10], rax
mov rax, r15
xor rax, qword [rsp + 0x40]
and rax, rcx
xor rax, r15
mov qword [r13 - 8], rax
mov rax, rbp
xor rax, qword [rsp + 0x48]
and rax, rcx
xor rax, rbp
mov qword [r13], rax
mov rax, rsi
xor rax, qword [rsp + 0x50]
and rax, rcx
xor rax, rsi
mov qword [r13 + 8], rax
mov rax, rdi
xor rax, qword [rsp + 0x58]
and rax, rcx
xor rax, rdi
mov qword [r13 + 0x10], rax
mov rax, rbx
xor rax, qword [rsp + 0x60]
and rax, rcx
xor rax, rbx
mov qword [r13 + 0x18], rax
mov rax, r11
xor rax, qword [rsp + 0x68]
and rax, rcx
xor rax, r11
mov qword [r13 + 0x20], rax
mov rax, r9
xor rax, qword [rsp + 0x70]
and rax, rcx
xor rax, r9
mov qword [r13 + 0x28], rax
mov rax, qword [rsp + 0x18]
add rax, 8
mov qword [rsp + 0x18], rax
add r13, 0x40
mov rdx, qword [rsp + 0x78]
mov rbx, qword [rsp + 0x20]
mov r11, qword [rsp + 0x80]
mov qword [rsp], r13
cmp rax, rdx
jne 0x140163710
mov rdi, qword [rsp + 0x88]
mov r8, qword [rsp + 8]
mov r9, qword [rsp + 0x90]
mov r15, qword [rsp + 0xa0]
mov r13, qword [rsp + 0xa8]
mov r12, qword [rsp + 0xb0]
mov rsi, qword [rsp + 0xb8]
mov rbp, qword [rsp + 0xe0]
cmp rdx, rdi
je 0x140163b16
sub r8, r9
lea rax, [r9 + rdx*8]
mov qword [rsp + 8], r8
sub rdi, rdx
nop word [rax + rax]
mov r9, qword [rax + r8]
xor r8d, r8d
mov r10, qword [rax]
lea rax, [rax + 8]
lea r11, [r9 + r10]
cmp r11, r10
setb r8b
xor edx, edx
add r11, rbx
cmp r11, rbx
setb dl
mov rbx, rdx
or rbx, r8
mov r8, r10
sub r8, r9
mov r9, r8
sub r9, r14
xor r14d, r14d
cmp r9, r8
seta r14b
xor edx, edx
cmp r8, r10
mov r8, qword [rsp + 8]
seta dl
or r14, rdx
mov rdx, r9
xor rdx, r11
and rdx, rcx
xor rdx, r9
mov qword [rax - 8], rdx
sub rdi, 1
jne 0x140163ab0
add rsp, 0xc0
pop r14
pop rdi
pop rbx
ret