Function at 0x140069840
Capabilities:
Encode data using xor

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
sub rsp, 0x28
lea rbp, [rsp + 0x20]
mov qword [rbp], 0xfffffffffffffffe
mov rsi, rcx
mov rax, qword [rcx]
mov r9, qword [rcx + 8]
sub r9, rax
imul ecx, dword [0x1402a7660], 0x2be5cd09
imul r8d, dword [0x1402a7668], 0xc387bcd6
add r8d, ecx
mov ecx, r8d
add cl, 0x5d
sar r9, cl
mov rcx, qword [0x1402a7670]
mov r10, qword [0x1402a7678]
shrd r10, rcx, 0x32
movabs rbx, 0xaa46d65eb38b2160
mov r8, qword [rsi + 0x10]
sub r8, rax
imul ecx, dword [0x1402a7680], 0x801efd57
imul edi, dword [0x1402a7688], 0xcf9627b7
add edi, ecx
mov ecx, edi
add cl, 0xe1
sar r8, cl
xor rbx, r10
imul ecx, dword [0x1402a7690], 0x17cecaaf
imul r10d, dword [0x1402a7698], 0x6c0bb568
add r10d, ecx
mov ecx, r10d
add cl, 0x1c
mov r10, r8
shr r10, cl
add rbx, r9
movabs rcx, 0x2c2e7c5a2514fc67
imul rcx, qword [0x1402a76a0]
movabs r9, 0x8a4c8929d0bae00a
imul r9, qword [0x1402a76a8]
add r9, rcx
sub r9, r10
movabs rcx, 0x5879b9fda01af61b
add rcx, r9
add r10, r8
cmp r10, rbx
cmovbe r10, rbx
movabs r9, 0xeb740fbaa608c305
imul r9, qword [0x1402a76b0]
movabs r11, 0xf8116431b4271078
imul r11, qword [0x1402a76b8]
add r11, r9
movabs r14, 0x574e85c2b4292b82
add r14, r11
cmp r8, rcx
cmovbe r14, r10
mov rdi, rdx
movabs rcx, 0xa684df0267fb0b91
imul rcx, qword [0x1402a76c0]
movabs rdx, 0xac70b2cfb14edf9b
imul rdx, qword [0x1402a76c8]
add rdx, rcx
movabs rcx, 0x2fb7f6e65dc35713
add rcx, rdx
cmp r14, rcx
ja 0x140069cf2
mov r15, rdi
imul ecx, dword [0x1402a76d0], 0x3d597f05
imul edx, dword [0x1402a76d8], 0x3d4af53f
sub r15, rax
add edx, ecx
mov ecx, edx
add cl, 0xc8
mov rax, r14
shl rax, cl
mov rcx, qword [0x1402a76e0]
mov rdx, qword [0x1402a76e8]
shrd rdx, rcx, 0x11
movabs rcx, 0x42bc4f73f9af422d
xor rcx, rdx
cmp r14, rcx
jbe 0x140069a09
mov rcx, rax
call fcn.1400031b3
jmp 0x140069a4f
movabs rcx, 0xd2da993aa1be0085
imul rcx, qword [0x1402a76f0]
movabs rdx, 0x7b320782fdba2394
imul rdx, qword [0x1402a76f8]
add rdx, rcx
movabs rcx, 0xf977fd81ed8940de
add rcx, rdx
cmp r14, rcx
jne 0x140069a47
xor r12d, r12d
jmp 0x140069a52
mov rcx, rax
call fcn.1400d87f8
mov r12, rax
movzx eax, byte [0x1402a7700]
movzx ecx, byte [0x1402a7701]
mov edx, eax
shl edx, 6
lea eax, [rdx + rax*4]
imul ecx, ecx, 0xffffffb9
add cl, al
add cl, 0x93
mov byte [r12 + r15], cl
mov qword [r12 + r15 + 8], 0
mov rax, qword [rsi]
mov rcx, qword [rsi + 8]
cmp rcx, rdi
je 0x140069b41
cmp rax, rdi
je 0x140069ae4
xor ecx, ecx
lea rdx, [rax + rcx]
add rdx, 0x10
movups xmm0, xmmword [rdx - 0x10]
movups xmmword [r12 + rcx], xmm0
movzx r8d, byte [0x1402a7704]
movzx r9d, byte [0x1402a7705]
imul r8d, r8d, 0xffffff98
mov r10d, r9d
shl r10d, 6
lea r9d, [r10 + r9*4]
add r9b, r8b
add r9b, 0x94
mov byte [rdx - 0x10], r9b
mov qword [rdx - 8], 0
add rcx, 0x10
cmp rdx, rdi
jne 0x140069a94
mov rcx, qword [rsi + 8]
cmp rcx, rdi
je 0x140069b8f
mov rax, rcx
lea rcx, [r15 + r12]
add rcx, 0x10
xor edx, edx
lea r8, [rdi + rdx]
add r8, 0x10
movups xmm0, xmmword [r8 - 0x10]
movups xmmword [rcx + rdx], xmm0
movzx r9d, byte [0x1402a7706]
movzx r10d, byte [0x1402a7707]
imul r9d, r9d, 0x55
imul r10d, r10d, 0xffffffcb
add r10b, r9b
add r10b, 0xc9
mov byte [r8 - 0x10], r10b
mov qword [r8 - 8], 0
add rdx, 0x10
cmp r8, rax
jne 0x140069afa
jmp 0x140069b8f
cmp rax, rdi
je 0x140069cea
xor ecx, ecx
lea rdx, [rax + rcx]
add rdx, 0x10
movups xmm0, xmmword [rdx - 0x10]
movups xmmword [r12 + rcx], xmm0
mov r8b, byte [0x1402a7702]
mov r9b, byte [0x1402a7703]
shr r9b, 6
shl r8b, 2
or r8b, r9b
xor r8b, 0x98
mov byte [rdx - 0x10], r8b
mov qword [rdx - 8], 0
add rcx, 0x10
cmp rdx, rdi
jne 0x140069b4c
mov rax, qword [rsi]
test rax, rax
je 0x140069cba
mov r13, qword [rsi + 8]
cmp rax, r13
je 0x140069bc8
mov rdi, rax
mov dl, byte [rax]
add rdi, 8
nop
mov rcx, rdi
call fcn.14002af04
nop
add rdi, 8
mov rax, rdi
cmp rdi, r13
jne 0x140069ba4
mov rdx, qword [rsi]
jmp 0x140069bcb
mov rdx, rax
mov rax, qword [rsi + 0x10]
sub rax, rdx
movabs rcx, 0xe6351cc0083a9e1a
imul rcx, qword [0x1402a7708]
movabs r8, 0x98a0d5b2021265a1
imul r8, qword [0x1402a7710]
add r8, rcx
movabs rcx, 0xb160a57fb104eec2
add rcx, r8
cmp rax, rcx
jbe 0x140069caf
mov rcx, qword [rdx - 8]
mov r8, qword [0x1402a7718]
mov r9, qword [0x1402a7720]
shrd r9, r8, 0x36
movabs r8, 0x866317c725e5cb19
xor r8, r9
add r8, rdx
sub r8, rcx
movabs rdx, 0xb2404935f05e7a6
imul rdx, qword [0x1402a7728]
movabs r9, 0xeecfe4878f4dc42
imul r9, qword [0x1402a7730]
add r9, rdx
movabs rdx, 0x6deb63063118207e
add rdx, r9
cmp r8, rdx
jae 0x140069cf7
movabs rdx, 0x238e144b37ea59e
imul rdx, qword [0x1402a7738]
movabs r8, 0x28274376c193437
imul r8, qword [0x1402a7740]
add r8, rdx
movabs rdx, 0x24de2044fa5bcc27
add rax, rdx
add rax, r8
jmp 0x140069cb2
mov rcx, rdx
mov rdx, rax
call fcn.1400d883c
mov rax, r15
add rax, r12
mov qword [rsi], r12
shl rbx, 4
add rbx, r12
mov qword [rsi + 8], rbx
shl r14, 4
add r14, r12
mov qword [rsi + 0x10], r14
add rsp, 0x28
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
mov rax, rdi
jmp 0x140069b92
call fcn.14000327e
call fcn.1401aec6c
int3