Function at 0x1401f5b10
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 0x18], r8
xchg r9, rdx
mov qword [rsp + 0x10], r9
xchg rdx, r9
mov qword [rsp + 8], rcx
push rbp
nop
sub rsp, 8
mov qword [rsp], rbx
nop
sub rsp, 8
mov qword [rsp], rsi
nop
push r10
mov qword [rsp], rdi
push r12
nop
sub rsp, 8
mov qword [rsp], r13
nop
sub rsp, 8
mov qword [rsp], r14
push r15
lea rbp, [rsp - 0x48]
sub rsp, 0x148
xchg rdi, r9
mov r9, rdx
xchg rdi, r9
xor eax, eax
xchg r14, rsi
mov rsi, qword [rdi + 0x20]
xchg r14, rsi
lea r13, [rdi + 0x20]
mov rdx, qword [rdx]
xchg rcx, rsi
mov rcx, r8
xchg rcx, rsi
mov qword [rbp - 0x60], r14
mov r8, qword [rdi + 8]
lea ebx, [rax + 1]
mov r10, qword [rdi + 0x10]
xchg r11, r9
mov r9, qword [rdi + 0x18]
xchg r11, r9
mov rcx, qword [rdi + 0x28]
xchg r15, r9
mov r9, qword [rdi + 0x30]
xchg r15, r9
mov r12, qword [rdi + 0x38]
xchg rdx, rbp
mov qword [rsp + 0x60], rbp
xchg rdx, rbp
xchg rbx, r8
mov qword [rsp + 0x68], rbx
xchg rbx, r8
mov qword [rsp + 0x70], r10
mov qword [rsp + 0x78], r11
mov qword [rbp + 0xa8], r13
xchg rdi, rcx
mov qword [rbp - 0x58], rdi
xchg rcx, rdi
mov qword [rbp - 0x50], r15
mov qword [rbp - 0x48], r12
test r9, r9
je 0x1401f5c39
xchg r13, rax
mov r13, qword [r9]
xchg r13, rax
xchg r12, rax
mov qword [rsp + 0x20], r12
xchg r12, rax
mov rax, qword [r9 + 8]
xchg r10, rax
mov qword [rsp + 0x28], r10
xchg r10, rax
xchg r13, rax
mov r13, qword [r9 + 0x10]
xchg r13, rax
xchg rdx, rax
mov qword [rsp + 0x30], rdx
xchg rdx, rax
xchg rbx, rax
mov rbx, qword [r9 + 0x18]
xchg rbx, rax
jmp 0x1401f5c52
mov qword [rsp + 0x28], rax
xchg rdi, rax
mov qword [rsp + 0x30], rdi
xchg rdi, rax
xchg rcx, rbx
mov qword [rsp + 0x20], rcx
xchg rbx, rcx
xchg rbp, rdx
mov qword [rsp + 0x40], rbp
xchg rdx, rbp
lea rdx, [rbp - 0x60]
mov qword [rsp + 0x48], r8
lea r8, [rsp + 0x20]
mov qword [rbp - 0x78], rcx
lea rcx, [rsp + 0x60]
mov qword [rsp + 0x38], rax
mov qword [rbp - 0x80], r14
mov qword [rsp + 0x50], r10
xchg r15, rcx
mov qword [rbp - 0x70], rcx
xchg rcx, r15
xchg r10, r11
mov qword [rsp + 0x58], r10
xchg r10, r11
mov qword [rbp - 0x68], r12
call fcn.1401f7a00
lea r8, [rsp + 0x20]
lea rdx, [rbp - 0x60]
lea rcx, [rsp + 0x60]
call 0x1401f5070
lea r8, [rsp + 0x20]
lea rdx, [rbp - 0x80]
lea rcx, [rsp + 0x40]
call fcn.1401f7a00
mov r12d, dword [rbp + 0xb0]
add r12d, 0xfffffffe
test r12d, r12d
jle 0x1401f5e1c
movsxd r13, r12d
xchg rcx, r13
mov r13, rcx
xchg r13, rcx
rol rbx, cl
mov ecx, 0x7f3acd24
xor ecx, 0x3f9063ac
sub ecx, 0x168ebab8
xor ecx, 0x785606b3
add ecx, 0x21a1a85b
sub ecx, 0x1446b82a
xor ecx, 0x5fa8e5b4
nop dword [rax]
nop word [rax + rax]
xchg r10, rax
mov r10, r13
xchg r10, rax
lea r14, [rbp - 0x80]
sar rax, 3
sar rax, 1
sar rax, 1
sar rax, 1
lea r15, [rsp + 0x40]
lea rdi, [rsp + 0x60]
test qword [rsi + rax*8], rbx
pushf
mov eax, 0x7ae51e6
xor eax, 0x298385d3
xor eax, 0x770e018c
sub eax, 0xa1d38a1
xor eax, 0x61a94181
xor eax, 0x71d648ac
sub eax, 0x5f799435
popf
lea rsi, [rbp - 0x60]
cmove rax, rcx
add r14, rax
add r15, rax
sub rsi, rax
sub rdi, rax
xchg rdi, r14
mov r9, rdi
xchg rdi, r14
xchg r15, r8
mov r15, r8
xchg r15, r8
xchg rdx, rcx
mov rcx, rsi
xchg rcx, rdx
xchg rcx, r12
mov r12, rdi
xchg r12, rcx
call fcn.1401f6a70
xchg rsi, r12
mov r9, r12
xchg r12, rsi
mov r8, rdi
xchg r14, rdx
mov r14, rdx
xchg rdx, r14
mov rcx, r15
call fcn.1401f6200
mov rsi, qword [rbp + 0xa0]
dec r12d
dec r13
ror rbx, 1
mov ecx, 0x17d14a2
add ecx, 0x67823d15
sub ecx, 0x10a353f9
sub ecx, 0x46d29647
add ecx, 0x3ee42d59
sub ecx, 0x506d94b0
test r12d, r12d
jg 0x1401f5d1f
xchg rdx, rdi
mov rdx, qword [rbp + 0x98]
xchg rdi, rdx
xchg r15, r13
mov r15, qword [rbp + 0xa8]
xchg r15, r13
mov rax, qword [rsi]
lea r14, [rbp - 0x80]
not rax
lea r15, [rsp + 0x40]
and eax, 1
lea rbx, [rbp - 0x60]
shl rax, 5
lea rsi, [rsp + 0x60]
add r14, rax
add r15, rax
sub rbx, rax
sub rsi, rax
xchg r14, rbx
mov r9, rbx
xchg r14, rbx
xchg rdx, r15
mov r8, rdx
xchg r15, rdx
xchg rdx, rbx
mov rbx, rdx
xchg rdx, rbx
mov rcx, rsi
call fcn.1401f6a70
xchg rcx, r11
mov r11, qword [rsp + 0x60]
xchg r11, rcx
xor eax, eax
xchg rcx, r12
mov r9, r12
xchg r12, rcx
sub r9, qword [rsp + 0x40]
cmp r9, rcx
je 0x1401f5e91
seta al
mov rdx, qword [rsp + 0x68]
xchg rcx, rdx
mov rdx, rcx
xchg rcx, rdx
mov qword [rsp + 0x20], r9
sub rcx, qword [rsp + 0x48]
sub rcx, rax
cmp rcx, rdx
je 0x1401f5ebd
xor eax, eax
cmp rcx, rdx
seta al
xchg r14, r8
mov r14, qword [rsp + 0x70]
xchg r14, r8
xchg rdx, rbp
mov rbp, r8
xchg rbp, rdx
xchg rsi, rcx
mov qword [rsp + 0x28], rsi
xchg rcx, rsi
sub rdx, qword [rsp + 0x50]
sub rdx, rax
cmp rdx, r8
je 0x1401f5ef5
xor eax, eax
cmp rdx, r8
seta al
xchg r10, r14
mov r14, qword [rsp + 0x78]
xchg r10, r14
xchg r10, r8
mov r10, r8
xchg r8, r10
mov qword [rsp + 0x30], rdx
sub r8, qword [rsp + 0x58]
sub r8, rax
cmp r8, r10
je 0x1401f5f27
xor eax, eax
cmp r8, r10
seta al
mov qword [rsp + 0x38], r8
test rax, rax
je 0x1401f5fdd
movabs r10, 0xfffffffe564bce7b
xor r10, 0x7ec882de
sub r10, 0x132a7530
add r10, 0x38dc3c80
xor r10, 0x244736f2
sub r10, 0x2eba4234
add r10, 0x7fffffff
xor r10, 0x44481efd
xor eax, eax
add r10, r9
cmp r10, r9
je 0x1401f5f81
setb al
lea r9, [rax - 1]
xchg r12, r10
mov qword [rsp + 0x20], r12
xchg r10, r12
add r9, rcx
cmp r9, rcx
je 0x1401f5fa4
xor eax, eax
cmp r9, rcx
setb al
lea rcx, [rax - 1]
xchg r9, rbx
mov qword [rsp + 0x28], rbx
xchg r9, rbx
add rcx, rdx
cmp rcx, rdx
je 0x1401f5fc7
xor eax, eax
cmp rcx, rdx
setb al
dec rax
xchg rcx, rbp
mov qword [rsp + 0x30], rbp
xchg rbp, rcx
add rax, r8
mov qword [rsp + 0x38], rax
xchg rcx, rbx
mov r8, rcx
xchg rcx, rbx
lea rdx, [rsp + 0x20]
lea rcx, [rbp - 0x40]
call fcn.1401f99b0
lea rdx, [rbp - 0x40]
lea rcx, [rsp + 0x20]
call fcn.1401f87a0
xchg r12, rdi
mov r8, r12
xchg r12, rdi
lea rdx, [rsp + 0x20]
lea rcx, [rbp - 0x40]
call fcn.1401f99b0
lea rdx, [rbp - 0x40]
lea rcx, [rsp + 0x20]
call fcn.1401f87a0
lea r8, [0x140004958]
lea rdx, [rsp + 0x20]
lea rcx, [rsp + 0x20]
call fcn.1401f8b10
xchg r13, r14
mov r8, r14
xchg r13, r14
lea rdx, [rsp + 0x20]
lea rcx, [rbp - 0x40]
call fcn.1401f99b0
lea rdx, [rbp - 0x40]
lea rcx, [rsp + 0x20]
call fcn.1401f87a0
xchg r8, rsi
mov rsi, r8
xchg rsi, r8
lea rdx, [rsp + 0x20]
lea rcx, [rbp - 0x40]
call fcn.1401f99b0
lea rdx, [rbp - 0x40]
lea rcx, [rsp + 0x20]
call fcn.1401f87a0
xchg r9, rsi
mov rsi, rbx
xchg rsi, r9
xchg r12, rsi
mov r8, r12
xchg r12, rsi
mov rdx, r14
xchg rcx, r15
mov r15, rcx
xchg rcx, r15
call fcn.1401f6200
lea rdx, [rsp + 0x20]
lea rcx, [rbp]
call fcn.1401fa040
lea rdx, [rbp]
lea rcx, [rbp - 0x40]
call fcn.1401f87a0
lea r8, [rbp - 0x40]
lea rdx, [rsp + 0x40]
lea rcx, [rbp]
call fcn.1401f99b0
lea rdx, [rbp]
lea rcx, [rsp + 0x40]
call fcn.1401f87a0
lea r8, [rsp + 0x20]
lea rdx, [rbp - 0x40]
lea rcx, [rbp]
call fcn.1401f99b0
lea rdx, [rbp]
lea rcx, [rbp - 0x40]
call fcn.1401f87a0
lea r8, [rbp - 0x40]
lea rdx, [rbp - 0x80]
lea rcx, [rbp]
call fcn.1401f99b0
lea rdx, [rbp]
lea rcx, [rbp - 0x80]
call fcn.1401f87a0
xchg r11, rcx
mov r11, qword [rbp + 0x90]
xchg rcx, r11
mov rax, qword [rsp + 0x40]
xchg r12, rax
mov qword [rcx], r12
xchg r12, rax
xchg rsi, rax
mov rsi, qword [rsp + 0x48]
xchg rsi, rax
mov qword [rcx + 8], rax
mov rax, qword [rsp + 0x50]
xchg rbx, rax
mov qword [rcx + 0x10], rbx
xchg rbx, rax
mov rax, qword [rsp + 0x58]
xchg r10, rax
mov qword [rcx + 0x18], r10
xchg r10, rax
mov rax, qword [rbp - 0x80]
mov qword [rcx + 0x20], rax
mov rax, qword [rbp - 0x78]
mov qword [rcx + 0x28], rax
xchg r9, rax
mov r9, qword [rbp - 0x70]
xchg r9, rax
xchg r10, rax
mov qword [rcx + 0x30], r10
xchg r10, rax
mov rax, qword [rbp - 0x68]
mov qword [rcx + 0x38], rax
add rsp, 0x148
push rcx
push rbx
push rdx
push rdx
push rcx
push rax
push rdx
xchg qword [rsp + 0x38], r15
pop rdx
pop rax
pop rcx
pop rdx
pop rdx
pop rbx
pop rcx
add rsp, 8
nop
xchg qword [rsp], r14
add rsp, 8
nop
add rsp, 8
mov r13, qword [rsp - 8]
push rdx
push rdx
push rbx
push rbx
push rax
push rdx
push rax
xchg qword [rsp + 0x38], r12
add rsp, 0x40
nop
mov rdi, qword [rsp]
add rsp, 8
nop
mov rsi, qword [rsp]
add rsp, 8
push rdx
push rax
xchg qword [rsp + 0x10], rbx
add rsp, 0x18
nop
add rsp, 8
mov rbp, qword [rsp - 8]
ret