Function at 0x1401f5e80
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 0x18], r8
xchg rbp, rdx
mov qword [rsp + 0x10], rbp
xchg rdx, rbp
xchg rcx, r12
mov qword [rsp + 8], r12
xchg r12, rcx
nop
mov qword [rsp - 8], rbp
sub rsp, 8
nop
mov qword [rsp - 8], rbx
sub rsp, 8
nop
push r8
mov qword [rsp], rsi
nop
mov qword [rsp - 8], rdi
sub rsp, 8
push r12
push r13
nop
mov qword [rsp - 8], r14
sub rsp, 8
nop
sub rsp, 8
mov qword [rsp], r15
lea rbp, [rsp - 0x48]
sub rsp, 0x148
xchg rcx, rdx
mov rdi, rcx
xchg rdx, rcx
xor eax, eax
xchg r14, rcx
mov rcx, qword [rdi + 0x20]
xchg r14, rcx
lea r13, [rdi + 0x20]
mov rdx, qword [rdx]
xchg r13, r8
mov rsi, r13
xchg r8, r13
xchg r14, r13
mov qword [rbp - 0x60], r13
xchg r13, r14
mov r8, qword [rdi + 8]
lea ebx, [rax + 1]
xchg r10, rcx
mov rcx, qword [rdi + 0x10]
xchg rcx, r10
xchg rcx, r11
mov rcx, qword [rdi + 0x18]
xchg r11, rcx
xchg rbx, rcx
mov rbx, qword [rdi + 0x28]
xchg rbx, rcx
xchg rbx, r15
mov rbx, qword [rdi + 0x30]
xchg rbx, r15
mov r12, qword [rdi + 0x38]
mov qword [rsp + 0x60], rdx
mov qword [rsp + 0x68], r8
mov qword [rsp + 0x70], r10
xchg r15, r11
mov qword [rsp + 0x78], r15
xchg r15, r11
mov qword [rbp + 0xa8], r13
xchg rcx, r12
mov qword [rbp - 0x58], r12
xchg rcx, r12
xchg r15, rcx
mov qword [rbp - 0x50], rcx
xchg rcx, r15
mov qword [rbp - 0x48], r12
test r9, r9
je 0x1401f5fbd
mov rax, qword [r9]
mov qword [rsp + 0x20], rax
mov rax, qword [r9 + 8]
xchg r11, rax
mov qword [rsp + 0x28], r11
xchg r11, rax
mov rax, qword [r9 + 0x10]
xchg r14, rax
mov qword [rsp + 0x30], r14
xchg r14, rax
mov rax, qword [r9 + 0x18]
jmp 0x1401f5fd6
xchg r12, rax
mov qword [rsp + 0x28], r12
xchg r12, rax
mov qword [rsp + 0x30], rax
xchg rbx, rdi
mov qword [rsp + 0x20], rdi
xchg rbx, rdi
mov qword [rsp + 0x40], rdx
lea rdx, [rbp - 0x60]
mov qword [rsp + 0x48], r8
lea r8, [rsp + 0x20]
xchg r14, rcx
mov qword [rbp - 0x78], r14
xchg rcx, r14
lea rcx, [rsp + 0x60]
mov qword [rsp + 0x38], rax
mov qword [rbp - 0x80], r14
mov qword [rsp + 0x50], r10
mov qword [rbp - 0x70], r15
mov qword [rsp + 0x58], r11
xchg rdx, r12
mov qword [rbp - 0x68], rdx
xchg rdx, r12
call fcn.1401f7ce0
lea r8, [rsp + 0x20]
lea rdx, [rbp - 0x60]
lea rcx, [rsp + 0x60]
call 0x1401f53a0
lea r8, [rsp + 0x20]
lea rdx, [rbp - 0x80]
lea rcx, [rsp + 0x40]
call fcn.1401f7ce0
mov r12d, dword [rbp + 0xb0]
neg r12d
add r12d, 2
neg r12d
test r12d, r12d
jle 0x1401f6184
movsxd r13, r12d
mov rcx, r13
rol rbx, cl
mov ecx, 0x7db4252a
sub ecx, 0x399638d0
sub ecx, 0x908bf92
sub ecx, 0x1427114e
add ecx, 0x2d08e31f
xor ecx, 0x53f6feb9
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, 0x49f891b4
add eax, 0x2423ef55
add eax, 0xd138dc0
sub eax, 0x636a5e41
add eax, 0x63484101
sub eax, 0x66ebacd4
add eax, 0x63cb708d
xor eax, 0x77edb542
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
mov r8, r15
xchg rdx, rcx
mov rcx, rsi
xchg rcx, rdx
mov rcx, rdi
call fcn.1401f6da0
xchg r8, r9
mov r8, rsi
xchg r8, r9
mov r8, rdi
xchg r13, rdx
mov r13, r14
xchg r13, rdx
xchg rsi, r15
mov rcx, rsi
xchg rsi, r15
call fcn.1401f6560
mov rsi, qword [rbp + 0xa0]
dec r12d
dec r13
ror rbx, 1
mov ecx, 0x51831112
xor ecx, 0x579668f9
xor ecx, 0x3cced684
sub ecx, 0xb47b25e
sub ecx, 0x2e98e91c
xor ecx, 0xfb13d5
test r12d, r12d
jg 0x1401f6097
xchg r11, rdi
mov r11, qword [rbp + 0x98]
xchg r11, 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, 3
shl rax, 2
lea rsi, [rsp + 0x60]
add r14, rax
add r15, rax
sub rbx, rax
sub rsi, rax
xchg rbp, r9
mov rbp, r14
xchg r9, rbp
xchg rdx, r15
mov r8, rdx
xchg r15, rdx
xchg r9, rbx
mov rdx, r9
xchg rbx, r9
xchg r14, rsi
mov rcx, r14
xchg rsi, r14
call fcn.1401f6da0
xchg rcx, rdx
mov rdx, qword [rsp + 0x60]
xchg rdx, rcx
xor eax, eax
xchg r10, rcx
mov r9, r10
xchg rcx, r10
sub r9, qword [rsp + 0x40]
cmp r9, rcx
je 0x1401f6203
seta al
mov rdx, qword [rsp + 0x68]
mov rcx, rdx
mov qword [rsp + 0x20], r9
sub rcx, qword [rsp + 0x48]
sub rcx, rax
cmp rcx, rdx
je 0x1401f6229
xor eax, eax
cmp rcx, rdx
seta al
mov r8, qword [rsp + 0x70]
mov rdx, r8
mov qword [rsp + 0x28], rcx
sub rdx, qword [rsp + 0x50]
sub rdx, rax
cmp rdx, r8
je 0x1401f624f
xor eax, eax
cmp rdx, r8
seta al
mov r10, qword [rsp + 0x78]
xchg r8, rbp
mov rbp, r10
xchg r8, rbp
mov qword [rsp + 0x30], rdx
sub r8, qword [rsp + 0x58]
sub r8, rax
cmp r8, r10
je 0x1401f627b
xor eax, eax
cmp r8, r10
seta al
xchg r8, r15
mov qword [rsp + 0x38], r15
xchg r8, r15
test rax, rax
je 0x1401f6338
movabs r10, 0xfffffffe510c18d6
xor r10, 0x480eefc1
xor r10, 0x1af002ac
xor r10, 0x2a9bc653
xor r10, 0x2fe50b04
add r10, 0x38b5aed2
add r10, 0x2e6d77e6
add r10, 0x7fffffff
add r10, 0x12509c8c
xor eax, eax
add r10, r9
cmp r10, r9
je 0x1401f62e2
setb al
lea r9, [rax - 1]
xchg r12, r10
mov qword [rsp + 0x20], r12
xchg r10, r12
add r9, rcx
cmp r9, rcx
je 0x1401f6305
xor eax, eax
cmp r9, rcx
setb al
lea rcx, [rax - 1]
mov qword [rsp + 0x28], r9
add rcx, rdx
cmp rcx, rdx
je 0x1401f6322
xor eax, eax
cmp rcx, rdx
setb al
dec rax
xchg rcx, r12
mov qword [rsp + 0x30], r12
xchg rcx, r12
add rax, r8
mov qword [rsp + 0x38], rax
xchg r11, rbx
mov r8, r11
xchg r11, rbx
lea rdx, [rsp + 0x20]
lea rcx, [rbp - 0x40]
call fcn.1401f9cd0
lea rdx, [rbp - 0x40]
lea rcx, [rsp + 0x20]
call fcn.1401f8aa0
xchg r8, r13
mov r13, rdi
xchg r13, r8
lea rdx, [rsp + 0x20]
lea rcx, [rbp - 0x40]
call fcn.1401f9cd0
lea rdx, [rbp - 0x40]
lea rcx, [rsp + 0x20]
call fcn.1401f8aa0
lea r8, [0x140004958]
lea rdx, [rsp + 0x20]
lea rcx, [rsp + 0x20]
call fcn.1401f8e10
xchg r8, r12
mov r12, r13
xchg r8, r12
lea rdx, [rsp + 0x20]
lea rcx, [rbp - 0x40]
call fcn.1401f9cd0
lea rdx, [rbp - 0x40]
lea rcx, [rsp + 0x20]
call fcn.1401f8aa0
xchg r8, rsi
mov rsi, r8
xchg rsi, r8
lea rdx, [rsp + 0x20]
lea rcx, [rbp - 0x40]
call fcn.1401f9cd0
lea rdx, [rbp - 0x40]
lea rcx, [rsp + 0x20]
call fcn.1401f8aa0
xchg rbp, r9
mov rbp, rbx
xchg r9, rbp
xchg r12, rsi
mov r8, r12
xchg rsi, r12
xchg r14, rdx
mov r14, rdx
xchg r14, rdx
mov rcx, r15
call fcn.1401f6560
lea rdx, [rsp + 0x20]
lea rcx, [rbp]
call fcn.1401fa390
lea rdx, [rbp]
lea rcx, [rbp - 0x40]
call fcn.1401f8aa0
lea r8, [rbp - 0x40]
lea rdx, [rsp + 0x40]
lea rcx, [rbp]
call fcn.1401f9cd0
lea rdx, [rbp]
lea rcx, [rsp + 0x40]
call fcn.1401f8aa0
lea r8, [rsp + 0x20]
lea rdx, [rbp - 0x40]
lea rcx, [rbp]
call fcn.1401f9cd0
lea rdx, [rbp]
lea rcx, [rbp - 0x40]
call fcn.1401f8aa0
lea r8, [rbp - 0x40]
lea rdx, [rbp - 0x80]
lea rcx, [rbp]
call fcn.1401f9cd0
lea rdx, [rbp]
lea rcx, [rbp - 0x80]
call fcn.1401f8aa0
xchg rcx, r15
mov r15, qword [rbp + 0x90]
xchg r15, rcx
mov rax, qword [rsp + 0x40]
xchg r9, rax
mov qword [rcx], r9
xchg r9, rax
mov rax, qword [rsp + 0x48]
mov qword [rcx + 8], rax
xchg r10, rax
mov r10, qword [rsp + 0x50]
xchg r10, rax
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 r15, rax
mov qword [rcx + 0x20], r15
xchg r15, rax
xchg rcx, rax
mov rcx, qword [rbp - 0x78]
xchg rcx, rax
xchg rdx, rax
mov qword [rcx + 0x28], rdx
xchg rdx, rax
xchg r13, rax
mov r13, qword [rbp - 0x70]
xchg r13, rax
mov qword [rcx + 0x30], rax
xchg r13, rax
mov r13, qword [rbp - 0x68]
xchg r13, rax
mov qword [rcx + 0x38], rax
add rsp, 0x148
push rbx
push rcx
push rdx
push rbx
push rbx
push rax
push rdx
xchg qword [rsp + 0x38], r15
add rsp, 0x40
nop
add rsp, 8
xchg qword [rsp - 8], r14
push rbx
push rdx
push rcx
push rcx
push rbx
push rdx
xchg qword [rsp + 0x30], r13
add rsp, 0x38
nop
add rsp, 8
mov r12, qword [rsp - 8]
push rcx
xchg qword [rsp + 8], rdi
add rsp, 0x10
nop
add rsp, 8
xchg qword [rsp - 8], rsi
nop
add rsp, 8
mov rbx, qword [rsp - 8]
nop
add rsp, 8
xchg qword [rsp - 8], rbp
nop
add rsp, 8
jmp qword [rsp - 8]