Function at 0x1401f63d0
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 0x18], r8
xchg r15, rdx
mov qword [rsp + 0x10], r15
xchg rdx, r15
xchg r10, rcx
mov qword [rsp + 8], r10
xchg r10, rcx
push rbp
push rbx
nop
mov qword [rsp - 8], rsi
sub rsp, 8
nop
mov qword [rsp - 8], rdi
sub rsp, 8
push r12
push r13
nop
sub rsp, 8
mov qword [rsp], r14
push r15
lea rbp, [rsp - 0x48]
sub rsp, 0x148
xchg rdi, r11
mov r11, rdx
xchg r11, rdi
xor eax, eax
mov r14, qword [rdi + 0x20]
lea r13, [rdi + 0x20]
mov rdx, qword [rdx]
mov rsi, r8
mov qword [rbp - 0x60], r14
xchg r8, r13
mov r13, qword [rdi + 8]
xchg r8, r13
lea ebx, [rax + 1]
xchg r11, r10
mov r11, qword [rdi + 0x10]
xchg r11, r10
xchg r8, r11
mov r8, qword [rdi + 0x18]
xchg r11, r8
mov rcx, qword [rdi + 0x28]
mov r15, qword [rdi + 0x30]
xchg r12, rcx
mov rcx, qword [rdi + 0x38]
xchg rcx, r12
xchg rdx, r8
mov qword [rsp + 0x60], r8
xchg r8, rdx
xchg r8, rcx
mov qword [rsp + 0x68], rcx
xchg rcx, r8
mov qword [rsp + 0x70], r10
xchg r14, r11
mov qword [rsp + 0x78], r14
xchg r14, r11
xchg r13, rsi
mov qword [rbp + 0xa8], rsi
xchg r13, rsi
mov qword [rbp - 0x58], rcx
xchg r15, r9
mov qword [rbp - 0x50], r9
xchg r9, r15
mov qword [rbp - 0x48], r12
test r9, r9
je 0x1401f64f0
mov rax, qword [r9]
mov qword [rsp + 0x20], rax
xchg r15, rax
mov r15, qword [r9 + 8]
xchg r15, rax
mov qword [rsp + 0x28], rax
xchg rcx, rax
mov rcx, qword [r9 + 0x10]
xchg rcx, rax
mov qword [rsp + 0x30], rax
mov rax, qword [r9 + 0x18]
jmp 0x1401f6507
xchg r9, rax
mov qword [rsp + 0x28], r9
xchg r9, rax
xchg r10, rax
mov qword [rsp + 0x30], r10
xchg r10, 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, r11
mov qword [rbp - 0x78], r11
xchg rcx, r11
lea rcx, [rsp + 0x60]
mov qword [rsp + 0x38], rax
mov qword [rbp - 0x80], r14
xchg r10, r15
mov qword [rsp + 0x50], r15
xchg r10, r15
xchg r15, r14
mov qword [rbp - 0x70], r14
xchg r14, r15
xchg r11, r12
mov qword [rsp + 0x58], r12
xchg r12, r11
xchg r11, r12
mov qword [rbp - 0x68], r11
xchg r12, r11
call fcn.1401f8260
lea r8, [rsp + 0x20]
lea rdx, [rbp - 0x60]
lea rcx, [rsp + 0x60]
call 0x1401f58e0
lea r8, [rsp + 0x20]
lea rdx, [rbp - 0x80]
lea rcx, [rsp + 0x40]
call fcn.1401f8260
mov r12d, dword [rbp + 0xb0]
nop
sub r12d, 0xe231233e
add r12d, 0xe231233c
test r12d, r12d
jle 0x1401f66ec
movsxd r13, r12d
xchg r11, rcx
mov r11, r13
xchg r11, rcx
rol rbx, cl
mov ecx, 0x407a0259
xor ecx, 0x666df34d
xor ecx, 0x42a2c2cf
xor ecx, 0x4b92430c
sub ecx, 0x2df97dfc
add ecx, 0x5c241a7f
sub ecx, 0x275b2ccd
sub ecx, 0x238c4f77
xor ecx, 0x126a9136
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, 0x522bdc81
sub eax, 0x3fc8df35
xor eax, 0x1911b43d
add eax, 0x110d2e6e
sub eax, 0xead304
sub eax, 0x1b95a4db
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 r9, r14
xchg r15, r8
mov r15, r8
xchg r15, r8
xchg rsi, r14
mov rdx, r14
xchg rsi, r14
mov rcx, rdi
call fcn.1401f7320
mov r9, rsi
xchg r8, rbp
mov rbp, rdi
xchg rbp, r8
mov rdx, r14
mov rcx, r15
call fcn.1401f6ad0
mov rsi, qword [rbp + 0xa0]
dec r12d
dec r13
ror rbx, 1
mov ecx, 0x51d4c841
xor ecx, 0x360bef61
sub ecx, 0x53cf92d3
add ecx, 0x3f708988
add ecx, 0x1d240b7b
xor ecx, 0x2f24b12b
sub ecx, 0x476e55f5
xor ecx, 0x25194517
sub ecx, 0x3d0b0771
test r12d, r12d
jg 0x1401f65f7
xchg r10, rdi
mov r10, qword [rbp + 0x98]
xchg r10, rdi
xchg r8, r13
mov r8, qword [rbp + 0xa8]
xchg r13, r8
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, 2
shl rax, 1
lea rsi, [rsp + 0x60]
add r14, rax
add r15, rax
sub rbx, rax
sub rsi, rax
xchg r14, r10
mov r9, r10
xchg r14, r10
xchg r12, r15
mov r8, r12
xchg r15, r12
mov rdx, rbx
xchg rcx, r13
mov r13, rsi
xchg r13, rcx
call fcn.1401f7320
xchg rcx, rdi
mov rdi, qword [rsp + 0x60]
xchg rdi, rcx
xor eax, eax
mov r9, rcx
sub r9, qword [rsp + 0x40]
cmp r9, rcx
je 0x1401f6762
seta al
mov rdx, qword [rsp + 0x68]
xchg rcx, rdx
mov rdx, rcx
xchg rdx, rcx
xchg r9, r8
mov qword [rsp + 0x20], r8
xchg r8, r9
sub rcx, qword [rsp + 0x48]
sub rcx, rax
cmp rcx, rdx
je 0x1401f6794
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 0x1401f67ba
xor eax, eax
cmp rdx, r8
seta al
xchg rbp, r10
mov rbp, qword [rsp + 0x78]
xchg rbp, r10
xchg r8, rdi
mov rdi, r10
xchg r8, rdi
xchg rsi, rdx
mov qword [rsp + 0x30], rsi
xchg rsi, rdx
sub r8, qword [rsp + 0x58]
sub r8, rax
cmp r8, r10
je 0x1401f67f2
xor eax, eax
cmp r8, r10
seta al
mov qword [rsp + 0x38], r8
test rax, rax
je 0x1401f68b4
movabs r10, 0xfffffffe5d2b05f9
add r10, 0x12b2e35e
xor r10, 0x6ec16fe1
add r10, 0x1564ba72
add r10, 0x244e0d9c
add r10, 0xe269fc8
add r10, 0x33247e39
xor r10, 0x293d7518
add r10, 0x7fffffff
add r10, 0x2ad8e253
xor eax, eax
add r10, r9
cmp r10, r9
je 0x1401f685a
setb al
lea r9, [rax - 1]
xchg r10, r13
mov qword [rsp + 0x20], r13
xchg r10, r13
add r9, rcx
cmp r9, rcx
je 0x1401f687d
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 0x1401f68a0
xor eax, eax
cmp rcx, rdx
setb al
dec rax
mov qword [rsp + 0x30], rcx
add rax, r8
xchg rdi, rax
mov qword [rsp + 0x38], rdi
xchg rdi, rax
xchg r13, rbx
mov r8, r13
xchg r13, rbx
lea rdx, [rsp + 0x20]
lea rcx, [rbp - 0x40]
call fcn.1401fa210
lea rdx, [rbp - 0x40]
lea rcx, [rsp + 0x20]
call fcn.1401f9030
xchg rdi, r8
mov rdi, r8
xchg r8, rdi
lea rdx, [rsp + 0x20]
lea rcx, [rbp - 0x40]
call fcn.1401fa210
lea rdx, [rbp - 0x40]
lea rcx, [rsp + 0x20]
call fcn.1401f9030
lea r8, [0x140004958]
lea rdx, [rsp + 0x20]
lea rcx, [rsp + 0x20]
call fcn.1401f93b0
xchg r8, rdx
mov rdx, r13
xchg r8, rdx
lea rdx, [rsp + 0x20]
lea rcx, [rbp - 0x40]
call fcn.1401fa210
lea rdx, [rbp - 0x40]
lea rcx, [rsp + 0x20]
call fcn.1401f9030
xchg r8, r15
mov r15, rsi
xchg r15, r8
lea rdx, [rsp + 0x20]
lea rcx, [rbp - 0x40]
call fcn.1401fa210
lea rdx, [rbp - 0x40]
lea rcx, [rsp + 0x20]
call fcn.1401f9030
xchg r9, rbx
mov rbx, r9
xchg rbx, r9
mov r8, rsi
xchg r14, rsi
mov rdx, rsi
xchg rsi, r14
xchg rcx, rdi
mov rdi, r15
xchg rcx, rdi
call fcn.1401f6ad0
lea rdx, [rsp + 0x20]
lea rcx, [rbp]
call fcn.1401fa890
lea rdx, [rbp]
lea rcx, [rbp - 0x40]
call fcn.1401f9030
lea r8, [rbp - 0x40]
lea rdx, [rsp + 0x40]
lea rcx, [rbp]
call fcn.1401fa210
lea rdx, [rbp]
lea rcx, [rsp + 0x40]
call fcn.1401f9030
lea r8, [rsp + 0x20]
lea rdx, [rbp - 0x40]
lea rcx, [rbp]
call fcn.1401fa210
lea rdx, [rbp]
lea rcx, [rbp - 0x40]
call fcn.1401f9030
lea r8, [rbp - 0x40]
lea rdx, [rbp - 0x80]
lea rcx, [rbp]
call fcn.1401fa210
lea rdx, [rbp]
lea rcx, [rbp - 0x80]
call fcn.1401f9030
xchg rdx, rcx
mov rdx, qword [rbp + 0x90]
xchg rcx, rdx
mov rax, qword [rsp + 0x40]
mov qword [rcx], rax
xchg rbx, rax
mov rbx, qword [rsp + 0x48]
xchg rbx, rax
mov qword [rcx + 8], rax
mov rax, qword [rsp + 0x50]
xchg r13, rax
mov qword [rcx + 0x10], r13
xchg r13, rax
mov rax, qword [rsp + 0x58]
mov qword [rcx + 0x18], rax
xchg rsi, rax
mov rsi, qword [rbp - 0x80]
xchg rsi, rax
mov qword [rcx + 0x20], rax
xchg r12, rax
mov r12, qword [rbp - 0x78]
xchg r12, rax
xchg rsi, rax
mov qword [rcx + 0x28], rsi
xchg rsi, rax
xchg r13, rax
mov r13, qword [rbp - 0x70]
xchg r13, rax
xchg rdi, rax
mov qword [rcx + 0x30], rdi
xchg rdi, rax
xchg r9, rax
mov r9, qword [rbp - 0x68]
xchg r9, rax
mov qword [rcx + 0x38], rax
add rsp, 0x148
push rcx
push rbx
push rcx
push rax
push rdx
xchg qword [rsp + 0x28], r15
add rsp, 0x30
nop
add rsp, 8
mov r14, qword [rsp - 8]
nop
mov r13, qword [rsp]
add rsp, 8
nop
add rsp, 8
xchg qword [rsp - 8], r12
nop
xchg qword [rsp], rdi
add rsp, 8
push rcx
push rbx
push rax
push rdx
xchg qword [rsp + 0x20], rsi
add rsp, 0x28
nop
add rsp, 8
xchg qword [rsp - 8], rbx
nop
add rsp, 8
xchg qword [rsp - 8], rbp
nop
add rsp, 8
jmp qword [rsp - 8]