Function at 0x1401f64e0
Capabilities:
Encode data using xor

Disassembly:
xchg r8, rdi
mov qword [rsp + 0x18], rdi
xchg r8, rdi
mov qword [rsp + 0x10], rdx
xchg r12, rcx
mov qword [rsp + 8], r12
xchg r12, rcx
nop
push r12
mov qword [rsp], rbp
push rbx
push rsi
push rdi
push r12
nop
sub rsp, 8
mov qword [rsp], r13
push r14
nop
mov qword [rsp - 8], r15
sub rsp, 8
lea rbp, [rsp - 0x48]
sub rsp, 0x148
xchg rdx, rdi
mov rdx, rdi
xchg rdx, rdi
xor eax, eax
xchg rbx, r14
mov rbx, qword [rdi + 0x20]
xchg rbx, r14
lea r13, [rdi + 0x20]
mov rdx, qword [rdx]
xchg r8, rsi
mov r8, rsi
xchg rsi, r8
mov qword [rbp - 0x60], r14
mov r8, qword [rdi + 8]
lea ebx, [rax + 1]
xchg r15, r10
mov r15, qword [rdi + 0x10]
xchg r15, r10
mov r11, qword [rdi + 0x18]
xchg rcx, rbx
mov rbx, qword [rdi + 0x28]
xchg rbx, rcx
xchg rsi, r15
mov rsi, qword [rdi + 0x30]
xchg rsi, 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
xchg r13, r15
mov qword [rbp + 0xa8], r15
xchg r15, r13
xchg rcx, rdi
mov qword [rbp - 0x58], rdi
xchg rdi, rcx
mov qword [rbp - 0x50], r15
xchg r12, r10
mov qword [rbp - 0x48], r10
xchg r12, r10
test r9, r9
je 0x1401f65fe
mov rax, qword [r9]
xchg r12, rax
mov qword [rsp + 0x20], r12
xchg r12, rax
xchg r8, rax
mov r8, qword [r9 + 8]
xchg r8, rax
mov qword [rsp + 0x28], rax
xchg rdx, rax
mov rdx, qword [r9 + 0x10]
xchg rdx, rax
mov qword [rsp + 0x30], rax
xchg r8, rax
mov r8, qword [r9 + 0x18]
xchg r8, rax
jmp 0x1401f660d
mov qword [rsp + 0x28], 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]
mov qword [rbp - 0x78], rcx
lea rcx, [rsp + 0x60]
xchg r8, rax
mov qword [rsp + 0x38], r8
xchg r8, rax
xchg r10, r14
mov qword [rbp - 0x80], r10
xchg r10, r14
mov qword [rsp + 0x50], r10
mov qword [rbp - 0x70], r15
xchg r11, r10
mov qword [rsp + 0x58], r10
xchg r10, r11
mov qword [rbp - 0x68], r12
call fcn.1401f83a0
lea r8, [rsp + 0x20]
lea rdx, [rbp - 0x60]
lea rcx, [rsp + 0x60]
call 0x1401f59f0
lea r8, [rsp + 0x20]
lea rdx, [rbp - 0x80]
lea rcx, [rsp + 0x40]
call fcn.1401f83a0
mov r12d, dword [rbp + 0xb0]
nop
add r12d, 0xf46da889
sub r12d, 0xf46da88b
test r12d, r12d
jle 0x1401f67f1
movsxd r13, r12d
xchg r11, r13
mov rcx, r11
xchg r11, r13
rol rbx, cl
mov ecx, 0x6188a5d9
sub ecx, 0xf36ae4e
add ecx, 0x607fa6b
add ecx, 0xa9e4c40
sub ecx, 0x54cd7f41
add ecx, 0x4b8828d3
add ecx, 0x243097c
sub ecx, 0x5bf5f124
nop dword [rax]
nop word [rax + rax]
xchg r10, rax
mov r10, r13
xchg r10, rax
lea r14, [rbp - 0x80]
sar rax, 5
sar rax, 1
lea r15, [rsp + 0x40]
lea rdi, [rsp + 0x60]
test qword [rsi + rax*8], rbx
pushf
mov eax, 0x441fc3fd
sub eax, 0x2b12b531
add eax, 0x3266574c
xor eax, 0x4a30d93e
add eax, 0x6f5de557
sub eax, 0x6a215154
xor eax, 0x66574fe0
sub eax, 0x60d71cc9
popf
lea rsi, [rbp - 0x60]
cmove rax, rcx
add r14, rax
add r15, rax
sub rsi, rax
sub rdi, rax
xchg r10, r9
mov r10, r14
xchg r9, r10
xchg r8, rbp
mov rbp, r15
xchg r8, rbp
xchg rbp, rdx
mov rbp, rsi
xchg rdx, rbp
mov rcx, rdi
call fcn.1401f7410
xchg r8, r9
mov r8, rsi
xchg r8, r9
xchg r8, rbx
mov rbx, rdi
xchg rbx, r8
xchg rcx, r14
mov rdx, rcx
xchg rcx, r14
xchg r11, rcx
mov r11, r15
xchg r11, rcx
call fcn.1401f6bc0
mov rsi, qword [rbp + 0xa0]
dec r12d
dec r13
ror rbx, 1
mov ecx, 0x3c92b6ae
sub ecx, 0x228eb546
add ecx, 0x51064118
xor ecx, 0x3d28c843
xor ecx, 0x3a642af6
sub ecx, 0x88a5e6c
add ecx, 0xb6d3493
sub ecx, 0x6f29763c
test r12d, r12d
jg 0x1401f66e9
mov rdi, qword [rbp + 0x98]
xchg rbx, r13
mov rbx, qword [rbp + 0xa8]
xchg r13, rbx
mov rax, qword [rsi]
lea r14, [rbp - 0x80]
not rax
lea r15, [rsp + 0x40]
and eax, 1
lea rbx, [rbp - 0x60]
shl rax, 2
shl rax, 3
lea rsi, [rsp + 0x60]
add r14, rax
add r15, rax
sub rbx, rax
sub rsi, rax
mov r9, r14
mov r8, r15
mov rdx, rbx
xchg r9, rcx
mov r9, rsi
xchg rcx, r9
call fcn.1401f7410
xchg rcx, r13
mov r13, qword [rsp + 0x60]
xchg rcx, r13
xor eax, eax
mov r9, rcx
sub r9, qword [rsp + 0x40]
cmp r9, rcx
je 0x1401f6858
seta al
xchg r14, rdx
mov r14, qword [rsp + 0x68]
xchg r14, rdx
mov rcx, rdx
mov qword [rsp + 0x20], r9
sub rcx, qword [rsp + 0x48]
sub rcx, rax
cmp rcx, rdx
je 0x1401f6884
xor eax, eax
cmp rcx, rdx
seta al
xchg r8, r13
mov r13, qword [rsp + 0x70]
xchg r8, r13
xchg rsi, r8
mov rdx, rsi
xchg r8, rsi
xchg rcx, r8
mov qword [rsp + 0x28], r8
xchg r8, rcx
sub rdx, qword [rsp + 0x50]
sub rdx, rax
cmp rdx, r8
je 0x1401f68bc
xor eax, eax
cmp rdx, r8
seta al
xchg rbx, r10
mov rbx, qword [rsp + 0x78]
xchg r10, rbx
xchg r8, r12
mov r12, r10
xchg r12, r8
xchg r14, rdx
mov qword [rsp + 0x30], r14
xchg r14, rdx
sub r8, qword [rsp + 0x58]
sub r8, rax
cmp r8, r10
je 0x1401f68f4
xor eax, eax
cmp r8, r10
seta al
xchg r8, rdx
mov qword [rsp + 0x38], rdx
xchg r8, rdx
test rax, rax
je 0x1401f69aa
movabs r10, 0xfffffffe3f1afeba
sub r10, 0xd4dcd18
add r10, 0x27017b13
xor r10, 0x5d5433f8
add r10, 0x3dbea2f9
add r10, 0x1c0822b
add r10, 0x7fffffff
xor r10, 0x3ae6385f
xor eax, eax
add r10, r9
cmp r10, r9
je 0x1401f6954
setb al
lea r9, [rax - 1]
xchg r9, r10
mov qword [rsp + 0x20], r9
xchg r10, r9
add r9, rcx
cmp r9, rcx
je 0x1401f6977
xor eax, eax
cmp r9, rcx
setb al
lea rcx, [rax - 1]
xchg rdx, r9
mov qword [rsp + 0x28], rdx
xchg rdx, r9
add rcx, rdx
cmp rcx, rdx
je 0x1401f699a
xor eax, eax
cmp rcx, rdx
setb al
dec rax
mov qword [rsp + 0x30], rcx
add rax, r8
mov qword [rsp + 0x38], rax
mov r8, rbx
lea rdx, [rsp + 0x20]
lea rcx, [rbp - 0x40]
call fcn.1401fa380
lea rdx, [rbp - 0x40]
lea rcx, [rsp + 0x20]
call fcn.1401f9180
xchg rdi, r10
mov r8, r10
xchg r10, rdi
lea rdx, [rsp + 0x20]
lea rcx, [rbp - 0x40]
call fcn.1401fa380
lea rdx, [rbp - 0x40]
lea rcx, [rsp + 0x20]
call fcn.1401f9180
lea r8, [0x140004958]
lea rdx, [rsp + 0x20]
lea rcx, [rsp + 0x20]
call fcn.1401f9500
xchg r8, r13
mov r13, r8
xchg r8, r13
lea rdx, [rsp + 0x20]
lea rcx, [rbp - 0x40]
call fcn.1401fa380
lea rdx, [rbp - 0x40]
lea rcx, [rsp + 0x20]
call fcn.1401f9180
xchg rsi, r8
mov rsi, r8
xchg r8, rsi
lea rdx, [rsp + 0x20]
lea rcx, [rbp - 0x40]
call fcn.1401fa380
lea rdx, [rbp - 0x40]
lea rcx, [rsp + 0x20]
call fcn.1401f9180
xchg rbx, r15
mov r9, r15
xchg rbx, r15
xchg rsi, r8
mov rsi, r8
xchg r8, rsi
xchg r14, rdx
mov r14, rdx
xchg r14, rdx
xchg rcx, r15
mov r15, rcx
xchg r15, rcx
call fcn.1401f6bc0
lea rdx, [rsp + 0x20]
lea rcx, [rbp]
call fcn.1401faa40
lea rdx, [rbp]
lea rcx, [rbp - 0x40]
call fcn.1401f9180
lea r8, [rbp - 0x40]
lea rdx, [rsp + 0x40]
lea rcx, [rbp]
call fcn.1401fa380
lea rdx, [rbp]
lea rcx, [rsp + 0x40]
call fcn.1401f9180
lea r8, [rsp + 0x20]
lea rdx, [rbp - 0x40]
lea rcx, [rbp]
call fcn.1401fa380
lea rdx, [rbp]
lea rcx, [rbp - 0x40]
call fcn.1401f9180
lea r8, [rbp - 0x40]
lea rdx, [rbp - 0x80]
lea rcx, [rbp]
call fcn.1401fa380
lea rdx, [rbp]
lea rcx, [rbp - 0x80]
call fcn.1401f9180
mov rcx, qword [rbp + 0x90]
mov rax, qword [rsp + 0x40]
mov qword [rcx], rax
mov rax, qword [rsp + 0x48]
xchg r10, rax
mov qword [rcx + 8], r10
xchg r10, rax
mov rax, qword [rsp + 0x50]
xchg rbx, rax
mov qword [rcx + 0x10], rbx
xchg rbx, rax
mov rax, qword [rsp + 0x58]
xchg rbp, rax
mov qword [rcx + 0x18], rbp
xchg rbp, rax
mov rax, qword [rbp - 0x80]
mov qword [rcx + 0x20], rax
xchg rdi, rax
mov rdi, qword [rbp - 0x78]
xchg rdi, rax
xchg r10, rax
mov qword [rcx + 0x28], r10
xchg r10, rax
mov rax, qword [rbp - 0x70]
mov qword [rcx + 0x30], rax
mov rax, qword [rbp - 0x68]
xchg rbp, rax
mov qword [rcx + 0x38], rbp
xchg rbp, rax
add rsp, 0x148
nop
add rsp, 8
mov r15, qword [rsp - 8]
push rbx
push rbx
push rdx
xchg qword [rsp + 0x18], r14
add rsp, 0x20
nop
add rsp, 8
xchg qword [rsp - 8], r13
nop
add rsp, 8
mov r12, qword [rsp - 8]
nop
xchg qword [rsp], rdi
add rsp, 8
nop
mov rsi, qword [rsp]
add rsp, 8
push rcx
push rcx
push rax
push rax
push rax
push rdx
push rcx
push rcx
xchg qword [rsp + 0x40], rbx
pop rcx
pop rcx
pop rdx
pop rax
pop rax
pop rax
pop rcx
pop rcx
add rsp, 8
nop
add rsp, 8
mov rbp, qword [rsp - 8]
nop
add rsp, 8
jmp qword [rsp - 8]