Function at 0x1401f5d60
Capabilities:
Encode data using xor

Disassembly:
xchg r8, r15
mov qword [rsp + 0x18], r15
xchg r8, r15
mov qword [rsp + 0x10], rdx
xchg r15, rcx
mov qword [rsp + 8], r15
xchg rcx, r15
nop
sub rsp, 8
mov qword [rsp], rbp
nop
mov qword [rsp - 8], rbx
sub rsp, 8
nop
sub rsp, 8
mov qword [rsp], rsi
nop
mov qword [rsp - 8], rdi
sub rsp, 8
push r12
nop
push 0x19b72248
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
mov r14, qword [rdi + 0x20]
lea r13, [rdi + 0x20]
mov rdx, qword [rdx]
xchg rsi, rcx
mov rcx, r8
xchg rcx, rsi
xchg r14, r13
mov qword [rbp - 0x60], r13
xchg r14, r13
mov r8, qword [rdi + 8]
lea ebx, [rax + 1]
xchg rcx, r10
mov rcx, qword [rdi + 0x10]
xchg rcx, r10
xchg r9, r11
mov r9, qword [rdi + 0x18]
xchg r11, r9
xchg rcx, r15
mov r15, qword [rdi + 0x28]
xchg rcx, r15
mov r15, qword [rdi + 0x30]
mov r12, qword [rdi + 0x38]
mov qword [rsp + 0x60], rdx
xchg rdi, r8
mov qword [rsp + 0x68], rdi
xchg r8, rdi
mov qword [rsp + 0x70], r10
mov qword [rsp + 0x78], r11
mov qword [rbp + 0xa8], r13
xchg rsi, rcx
mov qword [rbp - 0x58], rsi
xchg rsi, rcx
xchg r15, r9
mov qword [rbp - 0x50], r9
xchg r15, r9
xchg r12, rcx
mov qword [rbp - 0x48], rcx
xchg rcx, r12
test r9, r9
je 0x1401f5e9e
xchg r10, rax
mov r10, qword [r9]
xchg r10, rax
xchg rbx, rax
mov qword [rsp + 0x20], rbx
xchg rbx, rax
mov rax, qword [r9 + 8]
xchg rbp, rax
mov qword [rsp + 0x28], rbp
xchg rbp, rax
xchg rdi, rax
mov rdi, qword [r9 + 0x10]
xchg rdi, rax
xchg rbx, rax
mov qword [rsp + 0x30], rbx
xchg rbx, rax
mov rax, qword [r9 + 0x18]
jmp 0x1401f5ead
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x30], rax
mov qword [rsp + 0x20], rbx
xchg r11, rdx
mov qword [rsp + 0x40], r11
xchg rdx, r11
lea rdx, [rbp - 0x60]
mov qword [rsp + 0x48], r8
lea r8, [rsp + 0x20]
xchg rcx, rdx
mov qword [rbp - 0x78], rdx
xchg rcx, rdx
lea rcx, [rsp + 0x60]
mov qword [rsp + 0x38], rax
xchg r14, rdi
mov qword [rbp - 0x80], rdi
xchg r14, rdi
xchg r10, rcx
mov qword [rsp + 0x50], rcx
xchg rcx, r10
xchg r15, rdx
mov qword [rbp - 0x70], rdx
xchg r15, rdx
mov qword [rsp + 0x58], r11
xchg r12, r14
mov qword [rbp - 0x68], r14
xchg r14, r12
call fcn.1401f7c80
lea r8, [rsp + 0x20]
lea rdx, [rbp - 0x60]
lea rcx, [rsp + 0x60]
call 0x1401f5290
lea r8, [rsp + 0x20]
lea rdx, [rbp - 0x80]
lea rcx, [rsp + 0x40]
call fcn.1401f7c80
mov r12d, dword [rbp + 0xb0]
nop
sub r12d, 0xdf37b6b8
add r12d, 0xdf37b6b6
test r12d, r12d
jle 0x1401f609d
movsxd r13, r12d
xchg rcx, r8
mov r8, r13
xchg rcx, r8
rol rbx, cl
mov ecx, 0x2eb8b55
xor ecx, 0x6030d888
xor ecx, 0x19e976c7
sub ecx, 0x25356fbb
sub ecx, 0x20f9be48
sub ecx, 0x1ef3e5da
add ecx, 0x1789dc72
sub ecx, 0x2d98ed8f
nop dword [rax]
nop word [rax + rax]
mov rax, r13
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, 0x519d7679
add eax, 0x5f7def2
sub eax, 0x14e3bbd
sub eax, 0x4f5294dc
xor eax, 0x27eab909
sub eax, 0x211e3ddb
popf
lea rsi, [rbp - 0x60]
cmove rax, rcx
add r14, rax
add r15, rax
sub rsi, rax
sub rdi, rax
xchg r9, rdi
mov rdi, r14
xchg r9, rdi
xchg r15, r10
mov r8, r10
xchg r15, r10
xchg r14, rdx
mov r14, rsi
xchg rdx, r14
xchg rdi, r8
mov rcx, r8
xchg rdi, r8
call fcn.1401f6d00
xchg r9, r15
mov r15, rsi
xchg r9, r15
xchg rdi, r8
mov rdi, r8
xchg r8, rdi
mov rdx, r14
xchg r15, r14
mov rcx, r14
xchg r14, r15
call fcn.1401f6470
mov rsi, qword [rbp + 0xa0]
dec r12d
dec r13
ror rbx, 1
mov ecx, 0x591b9510
sub ecx, 0x4e86dee7
add ecx, 0x59c7738b
xor ecx, 0x9807d74
xor ecx, 0x37265de8
xor ecx, 0x5a43f39
xor ecx, 0x25301b26
sub ecx, 0x12eeca34
sub ecx, 0x677f62e3
test r12d, r12d
jg 0x1401f5f9d
mov rdi, qword [rbp + 0x98]
xchg r13, r9
mov r9, qword [rbp + 0xa8]
xchg r13, r9
xchg r12, rax
mov r12, qword [rsi]
xchg r12, rax
lea r14, [rbp - 0x80]
not rax
lea r15, [rsp + 0x40]
and eax, 1
lea rbx, [rbp - 0x60]
shl rax, 3
shl rax, 1
shl rax, 1
lea rsi, [rsp + 0x60]
add r14, rax
add r15, rax
sub rbx, rax
sub rsi, rax
xchg rbp, r14
mov r9, rbp
xchg rbp, r14
xchg r15, r9
mov r8, r9
xchg r15, r9
xchg rcx, rbx
mov rdx, rcx
xchg rbx, rcx
xchg rcx, r8
mov r8, rsi
xchg r8, rcx
call fcn.1401f6d00
mov rcx, qword [rsp + 0x60]
xor eax, eax
xchg rcx, r12
mov r9, r12
xchg r12, rcx
sub r9, qword [rsp + 0x40]
cmp r9, rcx
je 0x1401f611c
seta al
mov rdx, qword [rsp + 0x68]
xchg rcx, rdx
mov rdx, rcx
xchg rcx, rdx
mov qword [rsp + 0x20], r9
sub rcx, qword [rsp + 0x48]
sub rcx, rax
cmp rcx, rdx
je 0x1401f6148
xor eax, eax
cmp rcx, rdx
seta al
xchg r8, rdi
mov rdi, qword [rsp + 0x70]
xchg rdi, r8
xchg r8, rdi
mov rdx, rdi
xchg rdi, r8
xchg rdi, rcx
mov qword [rsp + 0x28], rdi
xchg rdi, rcx
sub rdx, qword [rsp + 0x50]
sub rdx, rax
cmp rdx, r8
je 0x1401f6180
xor eax, eax
cmp rdx, r8
seta al
xchg r11, r10
mov r11, qword [rsp + 0x78]
xchg r11, r10
mov r8, r10
xchg rdx, r9
mov qword [rsp + 0x30], r9
xchg r9, rdx
sub r8, qword [rsp + 0x58]
sub r8, rax
cmp r8, r10
je 0x1401f61b2
xor eax, eax
cmp r8, r10
seta al
xchg r8, r11
mov qword [rsp + 0x38], r11
xchg r11, r8
test rax, rax
je 0x1401f6261
movabs r10, 0xfffffffe635e71fa
sub r10, 0x3a1f9499
sub r10, 0xda87003
xor r10, 0xe32281a
add r10, 0xb18d9e6
add r10, 0x7fffffff
xor r10, 0x5f42e306
xor eax, eax
add r10, r9
cmp r10, r9
je 0x1401f620b
setb al
lea r9, [rax - 1]
mov qword [rsp + 0x20], r10
add r9, rcx
cmp r9, rcx
je 0x1401f6228
xor eax, eax
cmp r9, rcx
setb al
lea rcx, [rax - 1]
xchg r9, r10
mov qword [rsp + 0x28], r10
xchg r10, r9
add rcx, rdx
cmp rcx, rdx
je 0x1401f624b
xor eax, eax
cmp rcx, rdx
setb al
dec rax
xchg rcx, rsi
mov qword [rsp + 0x30], rsi
xchg rcx, rsi
add rax, r8
mov qword [rsp + 0x38], rax
xchg rbx, r8
mov rbx, r8
xchg r8, rbx
lea rdx, [rsp + 0x20]
lea rcx, [rbp - 0x40]
call fcn.1401f9ca0
lea rdx, [rbp - 0x40]
lea rcx, [rsp + 0x20]
call fcn.1401f8a40
xchg r8, rdi
mov rdi, r8
xchg r8, rdi
lea rdx, [rsp + 0x20]
lea rcx, [rbp - 0x40]
call fcn.1401f9ca0
lea rdx, [rbp - 0x40]
lea rcx, [rsp + 0x20]
call fcn.1401f8a40
lea r8, [0x140004958]
lea rdx, [rsp + 0x20]
lea rcx, [rsp + 0x20]
call fcn.1401f8df0
mov r8, r13
lea rdx, [rsp + 0x20]
lea rcx, [rbp - 0x40]
call fcn.1401f9ca0
lea rdx, [rbp - 0x40]
lea rcx, [rsp + 0x20]
call fcn.1401f8a40
xchg rsi, r8
mov rsi, r8
xchg r8, rsi
lea rdx, [rsp + 0x20]
lea rcx, [rbp - 0x40]
call fcn.1401f9ca0
lea rdx, [rbp - 0x40]
lea rcx, [rsp + 0x20]
call fcn.1401f8a40
xchg r9, rsi
mov rsi, rbx
xchg rsi, r9
xchg r8, rsi
mov rsi, r8
xchg r8, rsi
xchg r9, r14
mov rdx, r9
xchg r9, r14
xchg r15, rcx
mov r15, rcx
xchg rcx, r15
call fcn.1401f6470
lea rdx, [rsp + 0x20]
lea rcx, [rbp]
call fcn.1401fa300
lea rdx, [rbp]
lea rcx, [rbp - 0x40]
call fcn.1401f8a40
lea r8, [rbp - 0x40]
lea rdx, [rsp + 0x40]
lea rcx, [rbp]
call fcn.1401f9ca0
lea rdx, [rbp]
lea rcx, [rsp + 0x40]
call fcn.1401f8a40
lea r8, [rsp + 0x20]
lea rdx, [rbp - 0x40]
lea rcx, [rbp]
call fcn.1401f9ca0
lea rdx, [rbp]
lea rcx, [rbp - 0x40]
call fcn.1401f8a40
lea r8, [rbp - 0x40]
lea rdx, [rbp - 0x80]
lea rcx, [rbp]
call fcn.1401f9ca0
lea rdx, [rbp]
lea rcx, [rbp - 0x80]
call fcn.1401f8a40
xchg rcx, rdx
mov rdx, qword [rbp + 0x90]
xchg rcx, rdx
mov rax, qword [rsp + 0x40]
mov qword [rcx], rax
xchg rcx, rax
mov rcx, qword [rsp + 0x48]
xchg rcx, rax
xchg rdi, rax
mov qword [rcx + 8], rdi
xchg rdi, rax
mov rax, qword [rsp + 0x50]
mov qword [rcx + 0x10], rax
xchg rsi, rax
mov rsi, qword [rsp + 0x58]
xchg rsi, rax
mov qword [rcx + 0x18], rax
mov rax, qword [rbp - 0x80]
xchg r15, rax
mov qword [rcx + 0x20], r15
xchg r15, rax
mov rax, qword [rbp - 0x78]
mov qword [rcx + 0x28], rax
mov rax, qword [rbp - 0x70]
mov qword [rcx + 0x30], rax
xchg rdx, rax
mov rdx, qword [rbp - 0x68]
xchg rdx, rax
xchg r14, rax
mov qword [rcx + 0x38], r14
xchg r14, rax
add rsp, 0x148
push rdx
xchg qword [rsp + 8], r15
pop rdx
add rsp, 8
push rcx
push rax
xchg qword [rsp + 0x10], r14
add rsp, 0x18
nop
add rsp, 8
xchg qword [rsp - 8], r13
nop
add rsp, 8
xchg qword [rsp - 8], r12
nop
add rsp, 8
mov rdi, qword [rsp - 8]
nop
xchg qword [rsp], rsi
add rsp, 8
nop
xchg qword [rsp], rbx
add rsp, 8
push rcx
xchg qword [rsp + 8], rbp
pop rcx
add rsp, 8
nop
add rsp, 8
jmp qword [rsp - 8]