Function at 0x1401f5d70
Capabilities:
Encode data using xor

Disassembly:
xchg r8, rdi
mov qword [rsp + 0x18], rdi
xchg r8, rdi
mov qword [rsp + 0x10], rdx
xchg rcx, r8
mov qword [rsp + 8], r8
xchg rcx, r8
nop
mov qword [rsp - 8], rbp
sub rsp, 8
push rbx
push rsi
nop
sub rsp, 8
mov qword [rsp], rdi
push r12
push r13
nop
mov qword [rsp - 8], r14
sub rsp, 8
nop
mov qword [rsp - 8], r15
sub rsp, 8
lea rbp, [rsp - 0x48]
sub rsp, 0x148
xchg rdi, r11
mov r11, rdx
xchg r11, rdi
xor eax, eax
xchg r14, r11
mov r11, qword [rdi + 0x20]
xchg r11, r14
lea r13, [rdi + 0x20]
mov rdx, qword [rdx]
xchg r9, rsi
mov r9, r8
xchg rsi, r9
mov qword [rbp - 0x60], r14
xchg r11, r8
mov r11, qword [rdi + 8]
xchg r8, r11
lea ebx, [rax + 1]
xchg r10, rbp
mov rbp, qword [rdi + 0x10]
xchg rbp, r10
xchg rbp, r11
mov rbp, qword [rdi + 0x18]
xchg rbp, r11
xchg r15, rcx
mov r15, qword [rdi + 0x28]
xchg r15, rcx
mov r15, qword [rdi + 0x30]
mov r12, qword [rdi + 0x38]
mov qword [rsp + 0x60], rdx
mov qword [rsp + 0x68], r8
xchg rdx, r10
mov qword [rsp + 0x70], rdx
xchg r10, rdx
xchg r11, rdx
mov qword [rsp + 0x78], rdx
xchg rdx, r11
xchg r13, r15
mov qword [rbp + 0xa8], r15
xchg r13, r15
xchg rcx, r12
mov qword [rbp - 0x58], r12
xchg r12, rcx
mov qword [rbp - 0x50], r15
mov qword [rbp - 0x48], r12
test r9, r9
je 0x1401f5ea2
mov rax, qword [r9]
mov qword [rsp + 0x20], rax
xchg r10, rax
mov r10, qword [r9 + 8]
xchg r10, rax
mov qword [rsp + 0x28], rax
xchg r14, rax
mov r14, qword [r9 + 0x10]
xchg r14, rax
xchg rdx, rax
mov qword [rsp + 0x30], rdx
xchg rdx, rax
mov rax, qword [r9 + 0x18]
jmp 0x1401f5eb7
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x30], rax
xchg r14, rbx
mov qword [rsp + 0x20], r14
xchg r14, rbx
xchg r15, rdx
mov qword [rsp + 0x40], r15
xchg r15, rdx
lea rdx, [rbp - 0x60]
mov qword [rsp + 0x48], r8
lea r8, [rsp + 0x20]
xchg r14, rcx
mov qword [rbp - 0x78], r14
xchg r14, rcx
lea rcx, [rsp + 0x60]
xchg r13, rax
mov qword [rsp + 0x38], r13
xchg r13, rax
xchg r9, r14
mov qword [rbp - 0x80], r9
xchg r9, r14
mov qword [rsp + 0x50], r10
mov qword [rbp - 0x70], r15
mov qword [rsp + 0x58], r11
xchg r12, r11
mov qword [rbp - 0x68], r11
xchg r12, r11
call fcn.1401f7ba0
lea r8, [rsp + 0x20]
lea rdx, [rbp - 0x60]
lea rcx, [rsp + 0x60]
call fcn.1401f52b0
lea r8, [rsp + 0x20]
lea rdx, [rbp - 0x80]
lea rcx, [rsp + 0x40]
call fcn.1401f7ba0
mov r12d, dword [rbp + 0xb0]
neg r12d
add r12d, 2
neg r12d
test r12d, r12d
jle 0x1401f6082
movsxd r13, r12d
xchg rcx, r13
mov r13, rcx
xchg r13, rcx
rol rbx, cl
mov ecx, 0x52dfa372
sub ecx, 0x46c5d3ea
add ecx, 0x456570ca
xor ecx, 0x44682d71
xor ecx, 0x17e3ef06
add ecx, 0x300a9735
add ecx, 0x37e93b02
sub ecx, 0x6ae8543c
nop dword [rax]
nop word [rax + rax]
xchg r13, rax
mov r13, rax
xchg r13, rax
lea r14, [rbp - 0x80]
sar rax, 6
lea r15, [rsp + 0x40]
lea rdi, [rsp + 0x60]
test qword [rsi + rax*8], rbx
pushf
mov eax, 0x24162ac9
xor eax, 0x469bee01
add eax, 0x1a0138c
sub eax, 0x4ab124b
sub eax, 0x4a62236d
add eax, 0x2ef0492c
sub eax, 0x4410ebc8
popf
lea rsi, [rbp - 0x60]
cmove rax, rcx
add r14, rax
add r15, rax
sub rsi, rax
sub rdi, rax
xchg rdi, r9
mov rdi, r14
xchg r9, rdi
xchg r15, rdx
mov r8, rdx
xchg rdx, r15
mov rdx, rsi
xchg rdi, rcx
mov rdi, rcx
xchg rcx, rdi
call fcn.1401f6c80
xchg r9, rsi
mov rsi, r9
xchg r9, rsi
mov r8, rdi
mov rdx, r14
xchg r11, rcx
mov r11, r15
xchg rcx, r11
call fcn.1401f6450
mov rsi, qword [rbp + 0xa0]
dec r12d
dec r13
ror rbx, 1
mov ecx, 0x70b068ed
sub ecx, 0x27196e6e
add ecx, 0x17371b37
add ecx, 0x29d4ae5
xor ecx, 0x835aad2
xor ecx, 0x6b5eca69
test r12d, r12d
jg 0x1401f5f9a
xchg r9, rdi
mov r9, qword [rbp + 0x98]
xchg r9, rdi
mov r13, qword [rbp + 0xa8]
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 r9, r14
mov r14, r9
xchg r9, r14
xchg r12, r15
mov r8, r12
xchg r15, r12
mov rdx, rbx
xchg rdi, rcx
mov rdi, rsi
xchg rcx, rdi
call fcn.1401f6c80
xchg r9, rcx
mov r9, qword [rsp + 0x60]
xchg rcx, r9
xor eax, eax
mov r9, rcx
sub r9, qword [rsp + 0x40]
cmp r9, rcx
je 0x1401f60f1
seta al
xchg r10, rdx
mov r10, qword [rsp + 0x68]
xchg rdx, r10
xchg rcx, rdx
mov rdx, rcx
xchg rcx, rdx
xchg r15, r9
mov qword [rsp + 0x20], r15
xchg r15, r9
sub rcx, qword [rsp + 0x48]
sub rcx, rax
cmp rcx, rdx
je 0x1401f6129
xor eax, eax
cmp rcx, rdx
seta al
mov r8, qword [rsp + 0x70]
xchg r11, r8
mov rdx, r11
xchg r8, r11
mov qword [rsp + 0x28], rcx
sub rdx, qword [rsp + 0x50]
sub rdx, rax
cmp rdx, r8
je 0x1401f6155
xor eax, eax
cmp rdx, r8
seta al
xchg r10, r13
mov r13, qword [rsp + 0x78]
xchg r13, r10
xchg r10, r8
mov r10, r8
xchg r8, r10
xchg rbx, rdx
mov qword [rsp + 0x30], rbx
xchg rbx, rdx
sub r8, qword [rsp + 0x58]
sub r8, rax
cmp r8, r10
je 0x1401f618d
xor eax, eax
cmp r8, r10
seta al
mov qword [rsp + 0x38], r8
test rax, rax
je 0x1401f623c
movabs r10, 0xfffffffe552d7db0
add r10, 0x290c4fb7
xor r10, 0x46850fab
add r10, 0x4457b566
sub r10, 0xaf843b8
add r10, 0x7fffffff
add r10, 0xde3c7b6
xor eax, eax
add r10, r9
cmp r10, r9
je 0x1401f61e0
setb al
lea r9, [rax - 1]
xchg rdi, r10
mov qword [rsp + 0x20], rdi
xchg r10, rdi
add r9, rcx
cmp r9, rcx
je 0x1401f6203
xor eax, eax
cmp r9, rcx
setb al
lea rcx, [rax - 1]
xchg rsi, r9
mov qword [rsp + 0x28], rsi
xchg rsi, r9
add rcx, rdx
cmp rcx, rdx
je 0x1401f6226
xor eax, eax
cmp rcx, rdx
setb al
dec rax
xchg rcx, r8
mov qword [rsp + 0x30], r8
xchg r8, rcx
add rax, r8
mov qword [rsp + 0x38], rax
mov r8, rbx
lea rdx, [rsp + 0x20]
lea rcx, [rbp - 0x40]
call fcn.1401f9bd0
lea rdx, [rbp - 0x40]
lea rcx, [rsp + 0x20]
call fcn.1401f8910
xchg r13, rdi
mov r8, r13
xchg rdi, r13
lea rdx, [rsp + 0x20]
lea rcx, [rbp - 0x40]
call fcn.1401f9bd0
lea rdx, [rbp - 0x40]
lea rcx, [rsp + 0x20]
call fcn.1401f8910
lea r8, [0x140004958]
lea rdx, [rsp + 0x20]
lea rcx, [rsp + 0x20]
call fcn.1401f8cd0
xchg r13, r8
mov r13, r8
xchg r13, r8
lea rdx, [rsp + 0x20]
lea rcx, [rbp - 0x40]
call fcn.1401f9bd0
lea rdx, [rbp - 0x40]
lea rcx, [rsp + 0x20]
call fcn.1401f8910
xchg r15, rsi
mov r8, r15
xchg r15, rsi
lea rdx, [rsp + 0x20]
lea rcx, [rbp - 0x40]
call fcn.1401f9bd0
lea rdx, [rbp - 0x40]
lea rcx, [rsp + 0x20]
call fcn.1401f8910
xchg r9, rbx
mov rbx, r9
xchg r9, rbx
xchg r11, rsi
mov r8, r11
xchg r11, rsi
mov rdx, r14
xchg rcx, r12
mov r12, r15
xchg rcx, r12
call fcn.1401f6450
lea rdx, [rsp + 0x20]
lea rcx, [rbp]
call fcn.1401fa200
lea rdx, [rbp]
lea rcx, [rbp - 0x40]
call fcn.1401f8910
lea r8, [rbp - 0x40]
lea rdx, [rsp + 0x40]
lea rcx, [rbp]
call fcn.1401f9bd0
lea rdx, [rbp]
lea rcx, [rsp + 0x40]
call fcn.1401f8910
lea r8, [rsp + 0x20]
lea rdx, [rbp - 0x40]
lea rcx, [rbp]
call fcn.1401f9bd0
lea rdx, [rbp]
lea rcx, [rbp - 0x40]
call fcn.1401f8910
lea r8, [rbp - 0x40]
lea rdx, [rbp - 0x80]
lea rcx, [rbp]
call fcn.1401f9bd0
lea rdx, [rbp]
lea rcx, [rbp - 0x80]
call fcn.1401f8910
xchg rcx, r10
mov r10, qword [rbp + 0x90]
xchg r10, rcx
xchg r13, rax
mov r13, qword [rsp + 0x40]
xchg r13, rax
xchg rsi, rax
mov qword [rcx], rsi
xchg rsi, rax
xchg rbx, rax
mov rbx, qword [rsp + 0x48]
xchg rbx, rax
mov qword [rcx + 8], rax
mov rax, qword [rsp + 0x50]
mov qword [rcx + 0x10], rax
xchg r9, rax
mov r9, qword [rsp + 0x58]
xchg r9, rax
xchg r8, rax
mov qword [rcx + 0x18], r8
xchg r8, rax
xchg rcx, rax
mov rcx, qword [rbp - 0x80]
xchg rcx, rax
mov qword [rcx + 0x20], rax
xchg rsi, rax
mov rsi, qword [rbp - 0x78]
xchg rsi, rax
xchg r11, rax
mov qword [rcx + 0x28], r11
xchg r11, rax
xchg r15, rax
mov r15, qword [rbp - 0x70]
xchg r15, rax
mov qword [rcx + 0x30], rax
xchg r8, rax
mov r8, qword [rbp - 0x68]
xchg r8, rax
mov qword [rcx + 0x38], rax
add rsp, 0x148
nop
add rsp, 8
xchg qword [rsp - 8], r15
nop
add rsp, 8
mov r14, qword [rsp - 8]
push rcx
push rcx
push rax
push rbx
push rdx
push rcx
xchg qword [rsp + 0x30], r13
add rsp, 0x38
nop
mov r12, qword [rsp]
add rsp, 8
nop
add rsp, 8
xchg qword [rsp - 8], rdi
nop
add rsp, 8
mov rsi, qword [rsp - 8]
nop
xchg qword [rsp], rbx
add rsp, 8
nop
mov rbp, qword [rsp]
add rsp, 8
ret