Function at 0x1401fa260
Capabilities:
Encode data using xor

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
sub rsp, 0x58
lea rbp, [rsp + 0x50]
mov qword [rbp], 0xfffffffffffffffe
mov qword [rbp - 0x28], rcx
mov qword [rbp - 0x20], rcx
mov qword [rbp - 0x18], 0
movabs r14, 0x88aafcb412171471
cmp rdx, r8
je 0x1401fa456
mov rdi, r8
mov rbx, rdx
mov ecx, 0x20
call fcn.1404e9d4c
mov ecx, dword [rbx + 0x18]
mov dword [rax + 0x18], ecx
mov rcx, qword [rbx + 0x10]
mov qword [rbp - 8], rax
mov qword [rbp - 0x10], rax
inc qword [rbp - 0x18]
mov qword [rax + 0x10], rcx
mov rbx, qword [rbx]
cmp rbx, rdi
je 0x1401fa456
lea rax, [fcn.1401fa260]
lea ecx, [rax + rax]
add ecx, 0x43e0
mov r12d, ecx
not r12d
and ecx, r12d
add eax, eax
add eax, 0x43e1
and r12d, 0xfffffffe
xor r12d, eax
or r12d, ecx
not r12d
movabs r13, 0x7ffffffffffffffe
movabs r15, 0x8aafcb412171472
movabs rsi, 0x8aafcb412171471
jmp 0x1401fa33c
mov rbx, rcx
cmp rcx, rdi
je 0x1401fa456
mov ecx, 0x20
call fcn.1404e9d4c
mov ecx, dword [0x14061eef0]
mov edx, 0xbe6f1718
add ecx, edx
cmp r12d, ecx
jne 0x1401fa3b8
nop dword [rax + rax]
mov ecx, dword [rbx + 0x18]
mov dword [rax + 0x18], ecx
mov rcx, qword [rbx + 0x10]
mov qword [rax + 0x10], rcx
mov rcx, qword [rbp - 0x10]
mov qword [rcx], rax
mov rcx, qword [rbp - 0x10]
mov qword [rax + 8], rcx
mov qword [rbp - 0x10], rax
mov rcx, qword [rbp - 0x18]
mov rdx, rcx
xor rdx, r13
and rdx, rcx
xor rcx, 1
add rdx, rdx
mov r8, rcx
xor r8, rdx
and rdx, rcx
lea rcx, [r8 + rdx*2]
mov qword [rbp - 0x18], rcx
mov rcx, qword [rbx]
mov edx, dword [0x1406941ec]
cmp edx, 0x28
jl 0x1401fa330
mov ecx, dword [rbx + 0x18]
mov dword [rax + 0x18], ecx
mov rcx, qword [rbx + 0x10]
mov qword [rax + 0x10], rcx
mov rcx, qword [rbp - 0x10]
mov qword [rcx], rax
mov rcx, qword [rbp - 0x10]
mov qword [rbp - 0x10], rax
mov rdx, qword [0x14061eef8]
mov r8, rdx
movabs r9, 0x88aafcb412171472
xor r8, r9
mov r9, rdx
and r9, r15
lea r8, [r8 + r9*2]
sub r8, qword [rbp - 0x18]
mov qword [rax + 8], rcx
mov rcx, r8
neg rcx
mov r9, rcx
xor r9, 1
and ecx, 1
lea rcx, [r9 + rcx*2]
mov r9, rdx
xor r9, r14
and rdx, rsi
lea rdx, [r9 + rdx*2]
sub rdx, r8
mov r9, rdx
xor r9, rcx
and rdx, rcx
lea rcx, [r9 + rdx*2]
mov r9, rcx
sub r9, r8
mov rdx, r9
shl rdx, cl
mov r8, r9
mov ecx, edx
shl r8, cl
sub r9, r8
imul r9, r8
add r9, r8
mov qword [rbp - 0x18], r9
jmp 0x1401fa360
mov ecx, 0x20
call fcn.1404e9d4c
mov rcx, qword [rbp - 0x18]
mov qword [rbp - 0x18], 0
add r14, qword [0x14061eef8]
cmp rcx, r14
jne 0x1401fa484
mov qword [rax], rax
mov rdx, rax
add rdx, 8
jmp 0x1401fa497
mov rdx, qword [rbp - 0x10]
mov r8, qword [rbp - 8]
mov qword [rax], r8
mov qword [rax + 8], rdx
mov qword [r8 + 8], rax
mov qword [rdx], rax
mov rdx, qword [rbp - 0x28]
mov qword [rdx + 8], rcx
mov qword [rdx], rax
cmp qword [rbp - 0x18], 0
je 0x1401fa575
mov edi, 0xbe6f1744
lea rsi, [0x1401fd850]
mov ebx, 0xbe6f1741
nop word cs:[rax + rax]
mov rax, qword [rbp - 8]
mov qword [rax + 8], 0
mov rax, qword [rbp - 0x10]
mov qword [rax], 0
mov rcx, qword [rbp - 8]
mov eax, dword [0x1406941e8]
mov edx, dword [0x14061eef0]
not edx
add edx, eax
imul edx, eax
test dl, 1
je 0x1401fa55a
nop word cs:[rax + rax]
mov rax, qword [rbp - 8]
mov qword [rax + 8], 0
mov ecx, dword [0x14061eef0]
add ecx, edi
call fcn.1404ca39c
mov qword [0x1406941c0], rax
mov rcx, rsi
call fcn.1404ea090
mov rax, qword [rbp - 0x10]
mov qword [rax], 0
mov eax, dword [0x1406941ec]
mov ecx, dword [0x14061eef0]
add ecx, ebx
cmp eax, ecx
jge 0x1401fa510
jmp 0x1401fa4d0
test rcx, rcx
je 0x1401fa575
nop
mov rsi, qword [rcx]
mov edx, 0x20
call fcn.1400a75d0
mov rcx, rsi
test rsi, rsi
jne 0x1401fa560
mov ecx, dword [0x1406941e8]
mov eax, ecx
not eax
lea eax, [rax + rcx*2]
imul eax, ecx
mov ecx, 0xbe6f171a
add ecx, dword [0x14061eef0]
xor edx, edx
div ecx
test edx, edx
nop word cs:[rax + rax]
mov eax, dword [0x14061eef0]
lea ecx, [rax - 0x4190e8e7]
lea rdx, [fcn.1401fa260]
add edx, edx
add edx, 0x35a0
mov r8d, edx
xor r8d, ecx
not ecx
not edx
and edx, ecx
or edx, r8d
not edx
mov ecx, eax
xor ecx, 0xbe6f1718
and eax, 0x3e6f1718
lea eax, [rcx + rax*2]
cmp edx, eax
jne 0x1401fa5a0
add rsp, 0x58
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret