Function at 0x14035a970
Capabilities:
Encode data using xor

Disassembly:
push rbp
push r15
push r14
push rsi
push rdi
push rbx
sub rsp, 0x58
lea rbp, [rsp + 0x50]
mov qword [rbp], 0xfffffffffffffffe
mov rsi, rdx
mov rdi, rcx
mov r14, qword [rcx + 0x18]
movabs rax, 0x77b9e20a65750f6
add rax, qword [0x140557ab0]
cmp qword [rcx + 0x20], rax
jbe 0x14035a9c1
mov rbx, qword [rdi + 8]
cmp r14, 0xf
jbe 0x14035a9cb
mov eax, dword [0x14057868c]
cmp eax, 0x4d
jg 0x14035aa20
jmp 0x14035a9e0
lea rbx, [rdi + 8]
cmp r14, 0xf
ja 0x14035a9b4
lea rax, [rbp - 0x20]
movups xmm0, xmmword [rbx]
movups xmmword [rax], xmm0
mov r15d, 0xf
jmp 0x14035aac5
mov r15, r14
or r15, 0xf
movabs rax, 0x7fffffffffffffff
cmp r15, rax
cmovae r15, rax
mov eax, 0x563f8f5f
add eax, dword [0x140557aac]
lea rcx, [fcn.14035a970]
add ecx, ecx
add ecx, 0x3a80
test ecx, eax
je 0x14035aa4d
nop word cs:[rax + rax]
mov ecx, dword [0x140578688]
lea eax, [rcx - 1]
imul eax, ecx
mov ecx, dword [0x140557aac]
mov edx, ecx
xor edx, 0x563f8f60
and ecx, 0x563f8f60
lea ecx, [rdx + rcx*2]
xor edx, edx
div ecx
test edx, edx
jne 0x14035aa20
jmp 0x14035a9e0
cmp r15, 0xfff
jb 0x14035aa8b
lea rcx, [r15 + 0x28]
mov edx, 0xab9ba91a
mov r8d, 0x9f549106
call fcn.1400aaae0
mov rdx, qword [0x140557ab0]
add rdx, rax
movabs rcx, 0x77b9e20a657510e
add rcx, rdx
and rcx, 0xffffffffffffffe0
mov qword [rcx - 8], rax
jmp 0x14035aab5
mov rax, qword [0x140557ab0]
add rax, r15
movabs rcx, 0x77b9e20a65750e8
add rcx, rax
mov edx, 0xab9ba91a
mov r8d, 0x9f549106
call fcn.1400aaae0
mov rcx, rax
mov qword [rbp - 0x20], rcx
lea r8, [r14 + 1]
mov rdx, rbx
call fcn.14041d3c0
mov qword [rbp - 0x10], r14
mov qword [rbp - 8], r15
lea rax, [0x1404388f8]
mov qword [rbp - 0x28], rax
mov rcx, rdi
mov rdx, rsi
call fcn.1402721d0
mov ecx, 0x563f8f5e
lea rax, [fcn.14035a970]
add eax, eax
add eax, 0x4040
mov r8d, eax
not r8d
and r8d, eax
nop
mov eax, dword [0x140578688]
lea edx, [rax - 1]
imul edx, eax
test dl, 1
jne 0x14035ab1e
mov eax, dword [0x140557aac]
add eax, ecx
cmp r8d, eax
je 0x14035ab56
mov edx, dword [0x140578688]
lea eax, [rdx - 1]
imul eax, edx
mov r9d, dword [0x140557aac]
lea r10d, [r9 + 0x563f8f60]
xor edx, edx
div r10d
mov eax, r9d
xor eax, 0x563f8f5e
and r9d, 0x563f8f5e
lea eax, [rax + r9*2]
cmp edx, eax
jne 0x14035ab00
jmp 0x14035ab11
lea rdx, [rbp - 0x28]
mov rcx, rsi
call fcn.1402721d0
mov rax, qword [rbp - 8]
cmp rax, 0x10
jb 0x14035abea
mov ecx, dword [0x140578688]
lea edx, [rcx - 1]
imul edx, ecx
test dl, 1
nop dword [rax + rax]
mov rcx, qword [rbp - 0x20]
mov edx, dword [0x140578688]
lea r8d, [rdx - 1]
imul r8d, edx
and r8d, 1
mov edx, 0x563f8f5e
add edx, dword [0x140557aac]
cmp r8d, edx
jne 0x14035ab80
lea rdx, [rax + 1]
cmp rdx, 0x1000
jb 0x14035abe5
mov r8, qword [rcx - 8]
add rcx, 0xfffffffffffffff8
sub rcx, r8
movabs rdx, 0x77b9e20a6575107
add rdx, qword [0x140557ab0]
cmp rcx, rdx
jae 0x14035abf8
mov rcx, rax
xor rcx, 0x28
and eax, 0x28
lea rdx, [rcx + rax*2]
mov rcx, r8
call fcn.1400a87c0
nop
add rsp, 0x58
pop rbx
pop rdi
pop rsi
pop r14
pop r15
pop rbp
ret
mov eax, dword [0x140578688]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
mov eax, 0x563f8f5e
add eax, dword [0x140557aac]
cmp ecx, eax
call fcn.1403d599c
int3