Function at 0x1401f6cf0
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
mov qword [rsp - 8], rbx
sub rsp, 8
push rsi
push rdi
nop
sub rsp, 8
mov qword [rsp], 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
mov rdi, rdx
xor eax, eax
xchg r14, rdx
mov rdx, qword [rdi + 0x20]
xchg r14, rdx
lea r13, [rdi + 0x20]
mov rdx, qword [rdx]
xchg rbp, r8
mov rsi, rbp
xchg r8, rbp
xchg r14, rbx
mov qword [rbp - 0x60], rbx
xchg rbx, r14
mov r8, qword [rdi + 8]
lea ebx, [rax + 1]
mov r10, qword [rdi + 0x10]
xchg r11, r8
mov r8, qword [rdi + 0x18]
xchg r11, r8
xchg r13, rcx
mov r13, qword [rdi + 0x28]
xchg r13, rcx
xchg r15, r12
mov r12, qword [rdi + 0x30]
xchg r12, r15
mov r12, qword [rdi + 0x38]
mov qword [rsp + 0x60], rdx
xchg rbx, r8
mov qword [rsp + 0x68], rbx
xchg r8, rbx
xchg rdx, r10
mov qword [rsp + 0x70], rdx
xchg rdx, r10
xchg rdi, r11
mov qword [rsp + 0x78], rdi
xchg rdi, r11
xchg rdi, r13
mov qword [rbp + 0xa8], rdi
xchg rdi, r13
mov qword [rbp - 0x58], rcx
mov qword [rbp - 0x50], r15
mov qword [rbp - 0x48], r12
test r9, r9
je 0x1401f6e1f
xchg r10, rax
mov r10, qword [r9]
xchg r10, rax
xchg r13, rax
mov qword [rsp + 0x20], r13
xchg r13, rax
xchg r11, rax
mov r11, qword [r9 + 8]
xchg r11, rax
mov qword [rsp + 0x28], rax
xchg r15, rax
mov r15, qword [r9 + 0x10]
xchg r15, rax
xchg r12, rax
mov qword [rsp + 0x30], r12
xchg r12, rax
mov rax, qword [r9 + 0x18]
jmp 0x1401f6e32
xchg r13, rax
mov qword [rsp + 0x28], r13
xchg r13, rax
mov qword [rsp + 0x30], rax
mov qword [rsp + 0x20], rbx
mov qword [rsp + 0x40], rdx
lea rdx, [rbp - 0x60]
mov qword [rsp + 0x48], r8
lea r8, [rsp + 0x20]
xchg rcx, rbx
mov qword [rbp - 0x78], rbx
xchg rbx, rcx
lea rcx, [rsp + 0x60]
xchg rbp, rax
mov qword [rsp + 0x38], rbp
xchg rbp, rax
mov qword [rbp - 0x80], r14
mov qword [rsp + 0x50], r10
xchg r8, r15
mov qword [rbp - 0x70], r8
xchg r15, r8
xchg r11, r15
mov qword [rsp + 0x58], r15
xchg r15, r11
xchg r12, r11
mov qword [rbp - 0x68], r11
xchg r11, r12
call fcn.1401f8b90
lea r8, [rsp + 0x20]
lea rdx, [rbp - 0x60]
lea rcx, [rsp + 0x60]
call 0x1401f6250
lea r8, [rsp + 0x20]
lea rdx, [rbp - 0x80]
lea rcx, [rsp + 0x40]
call fcn.1401f8b90
mov r12d, dword [rbp + 0xb0]
nop
sub r12d, 0xb253dbe2
add r12d, 0xb253dbe0
test r12d, r12d
jle 0x1401f7014
movsxd r13, r12d
xchg rcx, rdi
mov rdi, r13
xchg rdi, rcx
rol rbx, cl
mov ecx, 0x761a66a7
xor ecx, 0x11ad159f
sub ecx, 0x115e8a78
sub ecx, 0x2767ecd6
xor ecx, 0x28df4528
xor ecx, 0x62fbee2
nop dword [rax]
nop word [rax + rax]
xchg r13, r11
mov rax, r11
xchg r11, r13
lea r14, [rbp - 0x80]
sar rax, 1
sar rax, 1
sar rax, 3
sar rax, 1
lea r15, [rsp + 0x40]
lea rdi, [rsp + 0x60]
test qword [rsi + rax*8], rbx
pushf
mov eax, 0x678093a3
sub eax, 0x4291e402
add eax, 0x383105be
sub eax, 0x125ae39a
sub eax, 0x1090ea85
sub eax, 0x3a33e740
popf
lea rsi, [rbp - 0x60]
cmove rax, rcx
add r14, rax
add r15, rax
sub rsi, rax
sub rdi, rax
xchg r14, r9
mov r14, r9
xchg r14, r9
xchg r15, r14
mov r8, r14
xchg r14, r15
xchg rdx, rbp
mov rbp, rsi
xchg rbp, rdx
xchg rcx, rdi
mov rdi, rcx
xchg rdi, rcx
call fcn.1401f7c50
mov r9, rsi
xchg r8, rdi
mov rdi, r8
xchg rdi, r8
xchg r14, rdi
mov rdx, rdi
xchg r14, rdi
xchg rbx, rcx
mov rbx, r15
xchg rbx, rcx
call fcn.1401f73f0
mov rsi, qword [rbp + 0xa0]
dec r12d
dec r13
ror rbx, 1
mov ecx, 0x163a6436
xor ecx, 0x2f217193
add ecx, 0x1e2e71cd
sub ecx, 0x2ef15aac
add ecx, 0x1e361408
sub ecx, 0x10ee9f9b
sub ecx, 0x359fa113
test r12d, r12d
jg 0x1401f6f0e
xchg rsi, rdi
mov rsi, qword [rbp + 0x98]
xchg rsi, rdi
xchg rsi, r13
mov rsi, qword [rbp + 0xa8]
xchg r13, rsi
mov rax, qword [rsi]
lea r14, [rbp - 0x80]
not rax
lea r15, [rsp + 0x40]
and eax, 1
lea rbx, [rbp - 0x60]
shl rax, 4
shl rax, 1
lea rsi, [rsp + 0x60]
add r14, rax
add r15, rax
sub rbx, rax
sub rsi, rax
mov r9, r14
xchg rbp, r15
mov r8, rbp
xchg rbp, r15
xchg rdx, r13
mov r13, rbx
xchg r13, rdx
xchg rsi, rdi
mov rcx, rdi
xchg rsi, rdi
call fcn.1401f7c50
xchg rcx, rbp
mov rbp, qword [rsp + 0x60]
xchg rbp, rcx
xor eax, eax
xchg r9, r13
mov r13, rcx
xchg r13, r9
sub r9, qword [rsp + 0x40]
cmp r9, rcx
je 0x1401f708c
seta al
mov rdx, qword [rsp + 0x68]
xchg rbp, rdx
mov rcx, rbp
xchg rdx, rbp
xchg r9, r8
mov qword [rsp + 0x20], r8
xchg r9, r8
sub rcx, qword [rsp + 0x48]
sub rcx, rax
cmp rcx, rdx
je 0x1401f70be
xor eax, eax
cmp rcx, rdx
seta al
xchg r11, r8
mov r11, qword [rsp + 0x70]
xchg r8, r11
xchg rdx, r10
mov r10, r8
xchg r10, rdx
mov qword [rsp + 0x28], rcx
sub rdx, qword [rsp + 0x50]
sub rdx, rax
cmp rdx, r8
je 0x1401f70f0
xor eax, eax
cmp rdx, r8
seta al
xchg r11, r10
mov r11, qword [rsp + 0x78]
xchg r11, r10
mov r8, r10
xchg r15, rdx
mov qword [rsp + 0x30], r15
xchg r15, rdx
sub r8, qword [rsp + 0x58]
sub r8, rax
cmp r8, r10
je 0x1401f7122
xor eax, eax
cmp r8, r10
seta al
mov qword [rsp + 0x38], r8
test rax, rax
je 0x1401f71e0
movabs r10, 0xfffffffe103e7006
add r10, 0x5d3a7f33
sub r10, 0x187abc27
add r10, 0x119fbd72
sub r10, 0x4d724ff2
add r10, 0x23db0089
sub r10, 0x321b794e
xor r10, 0x142c7bb0
add r10, 0x7fffffff
add r10, 0x61389fb3
xor eax, eax
add r10, r9
cmp r10, r9
je 0x1401f718a
setb al
lea r9, [rax - 1]
xchg r10, rdi
mov qword [rsp + 0x20], rdi
xchg rdi, r10
add r9, rcx
cmp r9, rcx
je 0x1401f71ad
xor eax, eax
cmp r9, rcx
setb al
lea rcx, [rax - 1]
xchg rdi, r9
mov qword [rsp + 0x28], rdi
xchg r9, rdi
add rcx, rdx
cmp rcx, rdx
je 0x1401f71d0
xor eax, eax
cmp rcx, rdx
setb al
dec rax
mov qword [rsp + 0x30], rcx
add rax, r8
mov qword [rsp + 0x38], rax
xchg r14, rbx
mov r8, r14
xchg r14, rbx
lea rdx, [rsp + 0x20]
lea rcx, [rbp - 0x40]
call fcn.1401fab50
lea rdx, [rbp - 0x40]
lea rcx, [rsp + 0x20]
call fcn.1401f9950
xchg rdi, r8
mov rdi, r8
xchg rdi, r8
lea rdx, [rsp + 0x20]
lea rcx, [rbp - 0x40]
call fcn.1401fab50
lea rdx, [rbp - 0x40]
lea rcx, [rsp + 0x20]
call fcn.1401f9950
lea r8, [0x140004958]
lea rdx, [rsp + 0x20]
lea rcx, [rsp + 0x20]
call fcn.1401f9ce0
xchg r8, r13
mov r13, r8
xchg r8, r13
lea rdx, [rsp + 0x20]
lea rcx, [rbp - 0x40]
call fcn.1401fab50
lea rdx, [rbp - 0x40]
lea rcx, [rsp + 0x20]
call fcn.1401f9950
xchg rsi, r8
mov rsi, r8
xchg r8, rsi
lea rdx, [rsp + 0x20]
lea rcx, [rbp - 0x40]
call fcn.1401fab50
lea rdx, [rbp - 0x40]
lea rcx, [rsp + 0x20]
call fcn.1401f9950
xchg r14, r9
mov r14, rbx
xchg r14, r9
xchg rbp, r8
mov rbp, rsi
xchg rbp, r8
mov rdx, r14
xchg r15, rcx
mov r15, rcx
xchg rcx, r15
call fcn.1401f73f0
lea rdx, [rsp + 0x20]
lea rcx, [rbp]
call fcn.1401fb1c0
lea rdx, [rbp]
lea rcx, [rbp - 0x40]
call fcn.1401f9950
lea r8, [rbp - 0x40]
lea rdx, [rsp + 0x40]
lea rcx, [rbp]
call fcn.1401fab50
lea rdx, [rbp]
lea rcx, [rsp + 0x40]
call fcn.1401f9950
lea r8, [rsp + 0x20]
lea rdx, [rbp - 0x40]
lea rcx, [rbp]
call fcn.1401fab50
lea rdx, [rbp]
lea rcx, [rbp - 0x40]
call fcn.1401f9950
lea r8, [rbp - 0x40]
lea rdx, [rbp - 0x80]
lea rcx, [rbp]
call fcn.1401fab50
lea rdx, [rbp]
lea rcx, [rbp - 0x80]
call fcn.1401f9950
xchg rcx, r15
mov r15, qword [rbp + 0x90]
xchg rcx, r15
xchg r14, rax
mov r14, qword [rsp + 0x40]
xchg r14, rax
xchg r9, rax
mov qword [rcx], r9
xchg r9, rax
mov rax, qword [rsp + 0x48]
mov qword [rcx + 8], rax
xchg rsi, rax
mov rsi, qword [rsp + 0x50]
xchg rsi, rax
mov qword [rcx + 0x10], rax
mov rax, qword [rsp + 0x58]
mov qword [rcx + 0x18], rax
xchg r9, rax
mov r9, qword [rbp - 0x80]
xchg r9, rax
mov qword [rcx + 0x20], rax
mov rax, qword [rbp - 0x78]
xchg r15, rax
mov qword [rcx + 0x28], r15
xchg r15, rax
xchg r9, rax
mov r9, qword [rbp - 0x70]
xchg r9, rax
xchg rbp, rax
mov qword [rcx + 0x30], rbp
xchg rbp, rax
mov rax, qword [rbp - 0x68]
mov qword [rcx + 0x38], rax
add rsp, 0x148
push rax
xchg qword [rsp + 8], r15
pop rax
add rsp, 8
nop
add rsp, 8
xchg qword [rsp - 8], r14
nop
mov r13, qword [rsp]
add rsp, 8
nop
xchg qword [rsp], r12
add rsp, 8
nop
mov rdi, qword [rsp]
add rsp, 8
nop
xchg qword [rsp], rsi
add rsp, 8
nop
mov rbx, qword [rsp]
add rsp, 8
push rdx
push rcx
push rdx
push rcx
xchg qword [rsp + 0x20], rbp
add rsp, 0x28
nop
add rsp, 8
jmp qword [rsp - 8]