Function at 0x1401f6480
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 0x18], r8
xchg rcx, rdx
mov qword [rsp + 0x10], rcx
xchg rdx, rcx
xchg rcx, r9
mov qword [rsp + 8], r9
xchg r9, rcx
push rbp
push rbx
push rsi
push rdi
nop
sub rsp, 8
mov qword [rsp], r12
nop
sub rsp, 8
mov qword [rsp], r13
push r14
nop
sub rsp, 8
mov qword [rsp], r15
lea rbp, [rsp - 0x48]
sub rsp, 0x148
mov rdi, rdx
xor eax, eax
xchg r14, r10
mov r10, qword [rdi + 0x20]
xchg r10, r14
lea r13, [rdi + 0x20]
mov rdx, qword [rdx]
mov rsi, r8
mov qword [rbp - 0x60], r14
xchg r8, r15
mov r15, qword [rdi + 8]
xchg r15, r8
lea ebx, [rax + 1]
mov r10, qword [rdi + 0x10]
xchg r8, r11
mov r8, qword [rdi + 0x18]
xchg r11, r8
mov rcx, qword [rdi + 0x28]
xchg r15, r13
mov r13, qword [rdi + 0x30]
xchg r13, r15
mov r12, qword [rdi + 0x38]
mov qword [rsp + 0x60], rdx
mov qword [rsp + 0x68], r8
xchg r10, r11
mov qword [rsp + 0x70], r11
xchg r11, r10
mov qword [rsp + 0x78], r11
mov qword [rbp + 0xa8], r13
mov qword [rbp - 0x58], rcx
mov qword [rbp - 0x50], r15
mov qword [rbp - 0x48], r12
test r9, r9
je 0x1401f658a
xchg r11, rax
mov r11, qword [r9]
xchg r11, rax
xchg r13, rax
mov qword [rsp + 0x20], r13
xchg r13, rax
mov rax, qword [r9 + 8]
xchg rdx, rax
mov qword [rsp + 0x28], rdx
xchg rdx, rax
mov rax, qword [r9 + 0x10]
xchg r10, rax
mov qword [rsp + 0x30], r10
xchg r10, rax
xchg r10, rax
mov r10, qword [r9 + 0x18]
xchg r10, rax
jmp 0x1401f659d
xchg rcx, rax
mov qword [rsp + 0x28], rcx
xchg rcx, 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 rdi, rax
mov qword [rsp + 0x38], rdi
xchg rdi, rax
mov qword [rbp - 0x80], r14
mov qword [rsp + 0x50], r10
xchg r14, r15
mov qword [rbp - 0x70], r14
xchg r14, r15
xchg rsi, r11
mov qword [rsp + 0x58], rsi
xchg r11, rsi
xchg r12, r14
mov qword [rbp - 0x68], r14
xchg r14, r12
call fcn.1401f82e0
lea r8, [rsp + 0x20]
lea rdx, [rbp - 0x60]
lea rcx, [rsp + 0x60]
call 0x1401f59a0
lea r8, [rsp + 0x20]
lea rdx, [rbp - 0x80]
lea rcx, [rsp + 0x40]
call fcn.1401f82e0
mov r12d, dword [rbp + 0xb0]
neg r12d
add r12d, 2
neg r12d
test r12d, r12d
jle 0x1401f676f
movsxd r13, r12d
mov rcx, r13
rol rbx, cl
mov ecx, 0x34faf94c
add ecx, 0x102f60a3
xor ecx, 0x455e3e3f
add ecx, 0x1c83c8a3
xor ecx, 0x77c39b42
add ecx, 0x9988b73
sub ecx, 0x3ab26942
xor ecx, 0x4bec641a
xor ecx, 0x71cda958
nop dword [rax]
nop word [rax + rax]
xchg rdi, rax
mov rdi, r13
xchg rdi, rax
lea r14, [rbp - 0x80]
sar rax, 4
sar rax, 1
sar rax, 1
lea r15, [rsp + 0x40]
lea rdi, [rsp + 0x60]
test qword [rsi + rax*8], rbx
pushf
mov eax, 0x467ca6c6
add eax, 0x38824bee
xor eax, 0x67ea2431
sub eax, 0xb68f3d4
sub eax, 0x67e72a0
sub eax, 0x72d7011
popf
lea rsi, [rbp - 0x60]
cmove rax, rcx
add r14, rax
add r15, rax
sub rsi, rax
sub rdi, rax
xchg r9, r14
mov r14, r9
xchg r14, r9
mov r8, r15
xchg rdx, r11
mov r11, rsi
xchg rdx, r11
xchg rbp, rdi
mov rcx, rbp
xchg rdi, rbp
call fcn.1401f73b0
xchg rsi, r9
mov rsi, r9
xchg r9, rsi
mov r8, rdi
xchg rdx, r14
mov r14, rdx
xchg r14, rdx
mov rcx, r15
call fcn.1401f6b60
xchg r8, rsi
mov r8, qword [rbp + 0xa0]
xchg rsi, r8
dec r12d
dec r13
ror rbx, 1
mov ecx, 0x4d2c0b61
sub ecx, 0xfeefe46
add ecx, 0x29ba77a3
sub ecx, 0x4b1b5486
add ecx, 0x5ba401df
sub ecx, 0x778031f7
test r12d, r12d
jg 0x1401f667a
xchg rdi, r8
mov r8, qword [rbp + 0x98]
xchg rdi, r8
xchg r13, r14
mov r14, qword [rbp + 0xa8]
xchg r13, r14
mov rax, qword [rsi]
lea r14, [rbp - 0x80]
not rax
lea r15, [rsp + 0x40]
and eax, 1
lea rbx, [rbp - 0x60]
shl rax, 1
shl rax, 1
shl rax, 3
lea rsi, [rsp + 0x60]
add r14, rax
add r15, rax
sub rbx, rax
sub rsi, rax
xchg r14, r9
mov r14, r9
xchg r14, r9
xchg r13, r8
mov r13, r15
xchg r8, r13
xchg r15, rbx
mov rdx, r15
xchg rbx, r15
xchg rdi, rcx
mov rdi, rsi
xchg rcx, rdi
call fcn.1401f73b0
xchg r15, rcx
mov r15, qword [rsp + 0x60]
xchg r15, rcx
xor eax, eax
xchg r9, r15
mov r15, rcx
xchg r9, r15
sub r9, qword [rsp + 0x40]
cmp r9, rcx
je 0x1401f67f0
seta al
mov rdx, qword [rsp + 0x68]
xchg rdx, rcx
mov rdx, rcx
xchg rdx, rcx
mov qword [rsp + 0x20], r9
sub rcx, qword [rsp + 0x48]
sub rcx, rax
cmp rcx, rdx
je 0x1401f681c
xor eax, eax
cmp rcx, rdx
seta al
mov r8, qword [rsp + 0x70]
xchg rdx, rsi
mov rsi, r8
xchg rsi, rdx
xchg r14, rcx
mov qword [rsp + 0x28], r14
xchg rcx, r14
sub rdx, qword [rsp + 0x50]
sub rdx, rax
cmp rdx, r8
je 0x1401f684e
xor eax, eax
cmp rdx, r8
seta al
xchg r10, r13
mov r13, qword [rsp + 0x78]
xchg r13, r10
xchg r8, r10
mov r10, r8
xchg r8, r10
mov qword [rsp + 0x30], rdx
sub r8, qword [rsp + 0x58]
sub r8, rax
cmp r8, r10
je 0x1401f6880
xor eax, eax
cmp r8, r10
seta al
mov qword [rsp + 0x38], r8
test rax, rax
je 0x1401f6930
movabs r10, 0xfffffffe38bde9c4
xor r10, 0x19569444
add r10, 0x482186a3
xor r10, 0x32c74f66
add r10, 0x1ba3c447
xor r10, 0xcbc65df
add r10, 0x7fffffff
add r10, 0x72d91dd
xor eax, eax
add r10, r9
cmp r10, r9
je 0x1401f68da
setb al
lea r9, [rax - 1]
xchg r10, rbx
mov qword [rsp + 0x20], rbx
xchg r10, rbx
add r9, rcx
cmp r9, rcx
je 0x1401f68fd
xor eax, eax
cmp r9, rcx
setb al
lea rcx, [rax - 1]
xchg rsi, r9
mov qword [rsp + 0x28], rsi
xchg r9, rsi
add rcx, rdx
cmp rcx, rdx
je 0x1401f6920
xor eax, eax
cmp rcx, rdx
setb al
dec rax
mov qword [rsp + 0x30], rcx
add rax, r8
mov qword [rsp + 0x38], rax
xchg rbx, r8
mov rbx, r8
xchg rbx, r8
lea rdx, [rsp + 0x20]
lea rcx, [rbp - 0x40]
call fcn.1401fa2c0
lea rdx, [rbp - 0x40]
lea rcx, [rsp + 0x20]
call fcn.1401f9090
xchg rbx, r8
mov rbx, rdi
xchg r8, rbx
lea rdx, [rsp + 0x20]
lea rcx, [rbp - 0x40]
call fcn.1401fa2c0
lea rdx, [rbp - 0x40]
lea rcx, [rsp + 0x20]
call fcn.1401f9090
lea r8, [0x140004958]
lea rdx, [rsp + 0x20]
lea rcx, [rsp + 0x20]
call fcn.1401f9430
xchg r13, rdx
mov r8, rdx
xchg r13, rdx
lea rdx, [rsp + 0x20]
lea rcx, [rbp - 0x40]
call fcn.1401fa2c0
lea rdx, [rbp - 0x40]
lea rcx, [rsp + 0x20]
call fcn.1401f9090
mov r8, rsi
lea rdx, [rsp + 0x20]
lea rcx, [rbp - 0x40]
call fcn.1401fa2c0
lea rdx, [rbp - 0x40]
lea rcx, [rsp + 0x20]
call fcn.1401f9090
mov r9, rbx
xchg r8, rbp
mov rbp, rsi
xchg rbp, r8
xchg r15, r14
mov rdx, r15
xchg r14, r15
xchg rcx, r14
mov r14, r15
xchg rcx, r14
call fcn.1401f6b60
lea rdx, [rsp + 0x20]
lea rcx, [rbp]
call fcn.1401fa920
lea rdx, [rbp]
lea rcx, [rbp - 0x40]
call fcn.1401f9090
lea r8, [rbp - 0x40]
lea rdx, [rsp + 0x40]
lea rcx, [rbp]
call fcn.1401fa2c0
lea rdx, [rbp]
lea rcx, [rsp + 0x40]
call fcn.1401f9090
lea r8, [rsp + 0x20]
lea rdx, [rbp - 0x40]
lea rcx, [rbp]
call fcn.1401fa2c0
lea rdx, [rbp]
lea rcx, [rbp - 0x40]
call fcn.1401f9090
lea r8, [rbp - 0x40]
lea rdx, [rbp - 0x80]
lea rcx, [rbp]
call fcn.1401fa2c0
lea rdx, [rbp]
lea rcx, [rbp - 0x80]
call fcn.1401f9090
xchg rcx, r12
mov r12, qword [rbp + 0x90]
xchg r12, rcx
mov rax, qword [rsp + 0x40]
xchg r11, rax
mov qword [rcx], r11
xchg r11, rax
xchg rbp, rax
mov rbp, qword [rsp + 0x48]
xchg rbp, rax
xchg r14, rax
mov qword [rcx + 8], r14
xchg r14, rax
xchg r15, rax
mov r15, qword [rsp + 0x50]
xchg r15, rax
mov qword [rcx + 0x10], rax
mov rax, qword [rsp + 0x58]
xchg r14, rax
mov qword [rcx + 0x18], r14
xchg r14, rax
xchg r14, rax
mov r14, qword [rbp - 0x80]
xchg r14, rax
xchg r11, rax
mov qword [rcx + 0x20], r11
xchg r11, rax
xchg r14, rax
mov r14, qword [rbp - 0x78]
xchg r14, rax
mov qword [rcx + 0x28], 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
xchg r12, rax
mov qword [rcx + 0x38], r12
xchg r12, rax
add rsp, 0x148
nop
mov r15, qword [rsp]
add rsp, 8
nop
mov r14, qword [rsp]
add rsp, 8
push rcx
push rax
push rbx
push rbx
push rdx
xchg qword [rsp + 0x28], r13
pop rdx
pop rbx
pop rbx
pop rax
pop rcx
add rsp, 8
push rbx
push rcx
xchg qword [rsp + 0x10], r12
add rsp, 0x18
nop
add rsp, 8
xchg qword [rsp - 8], rdi
nop
add rsp, 8
xchg qword [rsp - 8], rsi
push rdx
push rax
xchg qword [rsp + 0x10], rbx
pop rax
pop rdx
add rsp, 8
nop
add rsp, 8
xchg qword [rsp - 8], rbp
nop
add rsp, 8
jmp qword [rsp - 8]