Function at 0x1401f62b0
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 0x18], r8
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
nop
sub rsp, 8
mov qword [rsp], rbp
nop
sub rsp, 8
mov qword [rsp], rbx
push rsi
nop
sub rsp, 8
mov qword [rsp], rdi
nop
sub rsp, 8
mov qword [rsp], r12
push r13
push r14
push r15
lea rbp, [rsp - 0x48]
sub rsp, 0x148
xchg r11, rdi
mov r11, rdx
xchg r11, rdi
xor eax, eax
mov r14, qword [rdi + 0x20]
lea r13, [rdi + 0x20]
mov rdx, qword [rdx]
xchg r14, r8
mov rsi, r14
xchg r8, r14
mov qword [rbp - 0x60], r14
mov r8, qword [rdi + 8]
lea ebx, [rax + 1]
mov r10, qword [rdi + 0x10]
mov r11, qword [rdi + 0x18]
xchg rcx, rbx
mov rbx, qword [rdi + 0x28]
xchg rcx, rbx
xchg r15, r10
mov r10, qword [rdi + 0x30]
xchg r10, r15
mov r12, qword [rdi + 0x38]
mov qword [rsp + 0x60], rdx
mov qword [rsp + 0x68], r8
mov qword [rsp + 0x70], r10
mov qword [rsp + 0x78], r11
mov qword [rbp + 0xa8], r13
xchg rcx, r14
mov qword [rbp - 0x58], r14
xchg r14, rcx
xchg r8, r15
mov qword [rbp - 0x50], r8
xchg r15, r8
mov qword [rbp - 0x48], r12
test r9, r9
je 0x1401f63be
mov rax, qword [r9]
xchg rdi, rax
mov qword [rsp + 0x20], rdi
xchg rdi, rax
xchg r12, rax
mov r12, qword [r9 + 8]
xchg r12, rax
xchg r13, rax
mov qword [rsp + 0x28], r13
xchg r13, rax
xchg r13, rax
mov r13, qword [r9 + 0x10]
xchg r13, rax
mov qword [rsp + 0x30], rax
xchg r14, rax
mov r14, qword [r9 + 0x18]
xchg r14, rax
jmp 0x1401f63d7
xchg r12, rax
mov qword [rsp + 0x28], r12
xchg r12, rax
mov qword [rsp + 0x30], rax
xchg rbx, r12
mov qword [rsp + 0x20], r12
xchg rbx, r12
mov qword [rsp + 0x40], rdx
lea rdx, [rbp - 0x60]
mov qword [rsp + 0x48], r8
lea r8, [rsp + 0x20]
mov qword [rbp - 0x78], rcx
lea rcx, [rsp + 0x60]
xchg r8, rax
mov qword [rsp + 0x38], r8
xchg r8, rax
mov qword [rbp - 0x80], r14
xchg r10, rsi
mov qword [rsp + 0x50], rsi
xchg rsi, r10
xchg r15, rdx
mov qword [rbp - 0x70], rdx
xchg r15, rdx
mov qword [rsp + 0x58], r11
xchg r11, r12
mov qword [rbp - 0x68], r11
xchg r12, r11
call fcn.1401f8110
lea r8, [rsp + 0x20]
lea rdx, [rbp - 0x60]
lea rcx, [rsp + 0x60]
call 0x1401f57f0
lea r8, [rsp + 0x20]
lea rdx, [rbp - 0x80]
lea rcx, [rsp + 0x40]
call fcn.1401f8110
mov r12d, dword [rbp + 0xb0]
neg r12d
add r12d, 2
neg r12d
test r12d, r12d
jle 0x1401f65af
movsxd r13, r12d
xchg rcx, rsi
mov rsi, r13
xchg rsi, rcx
rol rbx, cl
mov ecx, 0x4fcfaf54
sub ecx, 0x37dfc7e1
add ecx, 0x55310e75
xor ecx, 0x524e0c79
sub ecx, 0x34f4e060
xor ecx, 0x54688943
add ecx, 0x18f8e2e6
sub ecx, 0x28f23e0f
sub ecx, 0x4e193529
nop dword [rax]
nop word [rax + rax]
xchg r13, rax
mov r13, rax
xchg r13, rax
lea r14, [rbp - 0x80]
sar rax, 4
sar rax, 1
sar rax, 1
lea r15, [rsp + 0x40]
lea rdi, [rsp + 0x60]
test qword [rsi + rax*8], rbx
pushf
mov eax, 0x250746c1
sub eax, 0x18352d40
xor eax, 0x1c08a3
xor eax, 0x2d54267d
sub eax, 0xb7eff8e
sub eax, 0x161b37d1
popf
lea rsi, [rbp - 0x60]
cmove rax, rcx
add r14, rax
add r15, rax
sub rsi, rax
sub rdi, rax
xchg r9, rsi
mov rsi, r14
xchg rsi, r9
mov r8, r15
xchg rdx, rbp
mov rbp, rsi
xchg rbp, rdx
xchg rcx, rdi
mov rdi, rcx
xchg rcx, rdi
call fcn.1401f71e0
mov r9, rsi
xchg r8, rdi
mov rdi, r8
xchg r8, rdi
mov rdx, r14
xchg r12, rcx
mov r12, r15
xchg rcx, r12
call fcn.1401f6970
xchg r11, rsi
mov r11, qword [rbp + 0xa0]
xchg r11, rsi
dec r12d
dec r13
ror rbx, 1
mov ecx, 0x1e96e0fb
add ecx, 0x595a056c
sub ecx, 0x59f98309
add ecx, 0x2e95c8ba
sub ecx, 0x413bf4ef
sub ecx, 0xb513709
test r12d, r12d
jg 0x1401f64ba
xchg r8, rdi
mov r8, qword [rbp + 0x98]
xchg r8, rdi
xchg rbx, r13
mov rbx, qword [rbp + 0xa8]
xchg rbx, 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, rsi
mov r9, rsi
xchg rsi, r14
mov r8, r15
xchg r12, rbx
mov rdx, r12
xchg rbx, r12
xchg rcx, rsi
mov rsi, rcx
xchg rsi, rcx
call fcn.1401f71e0
mov rcx, qword [rsp + 0x60]
xor eax, eax
xchg r9, rcx
mov rcx, r9
xchg r9, rcx
sub r9, qword [rsp + 0x40]
cmp r9, rcx
je 0x1401f661e
seta al
xchg rdx, r13
mov r13, qword [rsp + 0x68]
xchg rdx, r13
xchg rcx, rsi
mov rsi, rdx
xchg rsi, rcx
mov qword [rsp + 0x20], r9
sub rcx, qword [rsp + 0x48]
sub rcx, rax
cmp rcx, rdx
je 0x1401f6650
xor eax, eax
cmp rcx, rdx
seta al
xchg r14, r8
mov r14, qword [rsp + 0x70]
xchg r14, r8
xchg rcx, r8
mov rdx, rcx
xchg rcx, r8
xchg rdi, rcx
mov qword [rsp + 0x28], rdi
xchg rdi, rcx
sub rdx, qword [rsp + 0x50]
sub rdx, rax
cmp rdx, r8
je 0x1401f6688
xor eax, eax
cmp rdx, r8
seta al
xchg r10, r12
mov r12, qword [rsp + 0x78]
xchg r10, r12
mov r8, r10
xchg r8, rdx
mov qword [rsp + 0x30], r8
xchg rdx, r8
sub r8, qword [rsp + 0x58]
sub r8, rax
cmp r8, r10
je 0x1401f66ba
xor eax, eax
cmp r8, r10
seta al
mov qword [rsp + 0x38], r8
test rax, rax
je 0x1401f6757
movabs r10, 0xfffffffe5061bf11
xor r10, 0x59a5c9c0
xor r10, 0x334f090d
xor r10, 0x30abdb3
add r10, 0x1dfd1630
add r10, 0x7fffffff
add r10, 0x28812391
xor eax, eax
add r10, r9
cmp r10, r9
je 0x1401f670d
setb al
lea r9, [rax - 1]
mov qword [rsp + 0x20], r10
add r9, rcx
cmp r9, rcx
je 0x1401f672a
xor eax, eax
cmp r9, rcx
setb al
lea rcx, [rax - 1]
mov qword [rsp + 0x28], r9
add rcx, rdx
cmp rcx, rdx
je 0x1401f6747
xor eax, eax
cmp rcx, rdx
setb al
dec rax
mov qword [rsp + 0x30], rcx
add rax, r8
mov qword [rsp + 0x38], rax
xchg rbx, rbp
mov r8, rbp
xchg rbx, rbp
lea rdx, [rsp + 0x20]
lea rcx, [rbp - 0x40]
call fcn.1401fa0a0
lea rdx, [rbp - 0x40]
lea rcx, [rsp + 0x20]
call fcn.1401f8ec0
xchg rdi, r9
mov r8, r9
xchg rdi, r9
lea rdx, [rsp + 0x20]
lea rcx, [rbp - 0x40]
call fcn.1401fa0a0
lea rdx, [rbp - 0x40]
lea rcx, [rsp + 0x20]
call fcn.1401f8ec0
lea r8, [0x140004958]
lea rdx, [rsp + 0x20]
lea rcx, [rsp + 0x20]
call fcn.1401f9240
xchg r14, r8
mov r14, r13
xchg r8, r14
lea rdx, [rsp + 0x20]
lea rcx, [rbp - 0x40]
call fcn.1401fa0a0
lea rdx, [rbp - 0x40]
lea rcx, [rsp + 0x20]
call fcn.1401f8ec0
mov r8, rsi
lea rdx, [rsp + 0x20]
lea rcx, [rbp - 0x40]
call fcn.1401fa0a0
lea rdx, [rbp - 0x40]
lea rcx, [rsp + 0x20]
call fcn.1401f8ec0
mov r9, rbx
xchg r8, r14
mov r14, rsi
xchg r14, r8
xchg r14, rbx
mov rdx, rbx
xchg r14, rbx
mov rcx, r15
call fcn.1401f6970
lea rdx, [rsp + 0x20]
lea rcx, [rbp]
call fcn.1401fa740
lea rdx, [rbp]
lea rcx, [rbp - 0x40]
call fcn.1401f8ec0
lea r8, [rbp - 0x40]
lea rdx, [rsp + 0x40]
lea rcx, [rbp]
call fcn.1401fa0a0
lea rdx, [rbp]
lea rcx, [rsp + 0x40]
call fcn.1401f8ec0
lea r8, [rsp + 0x20]
lea rdx, [rbp - 0x40]
lea rcx, [rbp]
call fcn.1401fa0a0
lea rdx, [rbp]
lea rcx, [rbp - 0x40]
call fcn.1401f8ec0
lea r8, [rbp - 0x40]
lea rdx, [rbp - 0x80]
lea rcx, [rbp]
call fcn.1401fa0a0
lea rdx, [rbp]
lea rcx, [rbp - 0x80]
call fcn.1401f8ec0
xchg rcx, r11
mov r11, qword [rbp + 0x90]
xchg r11, rcx
mov rax, qword [rsp + 0x40]
xchg rbx, rax
mov qword [rcx], rbx
xchg rbx, rax
xchg r14, rax
mov r14, qword [rsp + 0x48]
xchg r14, rax
mov qword [rcx + 8], rax
mov rax, qword [rsp + 0x50]
xchg rdi, rax
mov qword [rcx + 0x10], rdi
xchg rdi, rax
mov rax, qword [rsp + 0x58]
mov qword [rcx + 0x18], rax
mov rax, qword [rbp - 0x80]
xchg r13, rax
mov qword [rcx + 0x20], r13
xchg r13, rax
xchg rdi, rax
mov rdi, qword [rbp - 0x78]
xchg rdi, rax
mov qword [rcx + 0x28], rax
mov rax, qword [rbp - 0x70]
xchg rbp, rax
mov qword [rcx + 0x30], rbp
xchg rbp, rax
xchg r11, rax
mov r11, qword [rbp - 0x68]
xchg r11, rax
mov qword [rcx + 0x38], rax
add rsp, 0x148
push rax
push rcx
push rbx
push rax
push rcx
xchg qword [rsp + 0x28], r15
pop rcx
pop rax
pop rbx
pop rcx
pop rax
add rsp, 8
nop
mov r14, qword [rsp]
add rsp, 8
nop
xchg qword [rsp], r13
add rsp, 8
nop
mov r12, qword [rsp]
add rsp, 8
push rbx
push rax
push rax
push rdx
push rax
push rax
push rcx
xchg qword [rsp + 0x38], rdi
add rsp, 0x40
nop
mov rsi, qword [rsp]
add rsp, 8
nop
add rsp, 8
xchg qword [rsp - 8], rbx
nop
add rsp, 8
mov rbp, qword [rsp - 8]
nop
add rsp, 8
jmp qword [rsp - 8]