Function at 0x1401f4b00
Capabilities:
Encode data using xor

Disassembly:
push rbp
push r15
push r14
push r12
push rsi
push rdi
push rbx
sub rsp, 0x40
lea rbp, [rsp + 0x40]
mov qword [rbp - 8], 0xfffffffffffffffe
mov rax, rdx
shr rax, 0x3c
jne 0x1401f4b9e
mov rdi, rdx
mov rsi, rcx
mov rax, qword [rcx]
mov rdx, qword [rcx + 0x10]
sub rdx, rax
sar rdx, 4
mov rcx, rdx
shr rcx, 1
movabs r8, 0xfffffffffffffff
mov r9, r8
sub r9, rcx
add rcx, rdx
cmp rcx, rdi
cmovbe rcx, rdi
cmp rdx, r9
cmova rcx, r8
mov rdx, rcx
shr rdx, 0x3c
jne 0x1401f4dd2
mov rdx, qword [rsi + 8]
mov r8, qword [0x1405d0dd8]
mov r9, r8
xor r9, rdx
and r8, rdx
lea rbx, [r9 + r8*2]
sub rbx, rax
sar rbx, 4
mov eax, dword [0x1405d0fd0]
lea edx, [rax - 1]
imul edx, eax
test dl, 1
jne 0x1401f4be0
jmp 0x1401f4ba3
call fcn.1401f4e00
mov r12, rcx
shl r12, 4
mov r15, qword [0x1405d0fd8]
add r15, r12
mov edx, dword [0x1405d0fd0]
lea eax, [rdx - 1]
imul eax, edx
mov r8d, 0x8dcb3a50
add r8d, dword [0x1405761a0]
xor edx, edx
div r8d
test edx, edx
je 0x1401f4bfb
nop word cs:[rax + rax]
mov eax, dword [0x1405761a0]
mov edx, eax
xor edx, 0x8dcb3a4e
and eax, 0xdcb3a4e
add eax, eax
add eax, edx
jne 0x1401f4be0
jmp 0x1401f4ba3
cmp rcx, 0x100
jb 0x1401f4c5c
movabs rax, 0xffffffffffffffe
cmp rcx, rax
jae 0x1401f4dd2
add r15, 0x27
mov rcx, r15
mov edx, 0xa31ed27a
mov r8d, 0x1d2ce382
call fcn.1400aaaf0
mov rcx, rax
xor rcx, 0x27
mov rdx, rax
not rdx
movabs r8, 0x7fffffffffffffd8
and r8, rdx
or r8, rcx
not r8
lea r14, [rcx + r8*2]
and r14, 0xffffffffffffffe0
mov qword [r14 - 8], rax
jmp 0x1401f4cce
test rcx, rcx
jne 0x1401f4c9e
xor r14d, r14d
jmp 0x1401f4cce
mov r8d, dword [0x1405761a0]
lea edx, [r8 + 0x30ea0cc8]
add r8d, 0xaaf81dd0
mov rcx, r15
call fcn.1400aaaf0
mov eax, dword [0x1405d0fd0]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
jne 0x1401f4c70
mov rcx, r15
mov edx, 0xa31ed27a
mov r8d, 0x1d2ce382
call fcn.1400aaaf0
mov r14, rax
mov eax, dword [0x1405d0fd0]
mov ecx, dword [0x1405761a0]
neg ecx
add ecx, eax
inc ecx
imul ecx, eax
test cl, 1
jne 0x1401f4c70
cmp rbx, rdi
je 0x1401f4cee
mov r8, rdi
sub r8, rbx
shl rbx, 4
add rbx, r14
shl r8, 4
mov rcx, rbx
xor edx, edx
call fcn.14046ceb0
mov rdx, qword [rsi]
mov r8, qword [rsi + 8]
sub r8, rdx
mov rcx, r14
call fcn.14046c800
mov rdx, qword [rsi]
test rdx, rdx
je 0x1401f4dae
mov r9, qword [rsi + 0x10]
sub r9, rdx
mov rax, qword [0x1405761a8]
movabs rcx, 0xc702a74d0cbe366c
xor rcx, rax
movabs r8, 0x38fd58b2f341c993
xor r8, rax
and r8, rax
lea rax, [rcx + r8*2]
cmp r9, rax
jbe 0x1401f4d6c
mov rax, qword [rdx - 8]
add rdx, 0xfffffffffffffff8
sub rdx, rax
cmp rdx, 0x20
jae 0x1401f4dd7
add r9, qword [0x1405761a8]
movabs rcx, 0xc702a74d0cbe2694
add r9, rcx
mov rdx, rax
mov eax, dword [0x1405761a0]
lea ecx, [rax - 0x7234c5b1]
lea r8d, [rax - 0x4e0a4b06]
mov r10d, r8d
xor r10d, 0xdbd58554
and r8d, 0x5bd58554
lea r8d, [r10 + r8*2]
lea r10d, [rax + 0x2f8a2529]
add eax, 0x79c39fe4
mov dword [rsp + 0x28], eax
mov dword [rsp + 0x20], r10d
call fcn.1401f4e90
mov qword [rsi], r14
shl rdi, 4
add rdi, r14
mov qword [rsi + 8], rdi
add r12, r14
mov qword [rsi + 0x10], r12
add rsp, 0x40
pop rbx
pop rdi
pop rsi
pop r12
pop r14
pop r15
pop rbp
ret
call fcn.140084710
call fcn.140424a4c
int3