Function at 0x14006a40e
Capabilities:
Encode data using xor

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
sub rsp, 0x38
lea rbp, [rsp + 0x30]
mov qword [rbp], 0xfffffffffffffffe
mov rsi, rcx
mov r9, qword [rcx]
mov rax, qword [rcx + 8]
sub rax, r9
mov rcx, qword [0x1402a7848]
shr rcx, 0x35
xor cl, 0x6d
mov r10, rax
sar r10, cl
mov rax, qword [0x1402a7850]
mov rcx, qword [0x1402a7858]
shrd rcx, rax, 0x1f
movabs r15, 0x7b5725b577924ddc
xor r15, rcx
mov rax, qword [rsi + 0x10]
sub rax, r9
mov ecx, dword [0x1402a7860]
shr ecx, 0x13
xor cl, 0x82
sar rax, cl
imul ecx, dword [0x1402a7868], 0xcda45b55
imul r11d, dword [0x1402a7870], 0x55be2273
add r15, r10
add r11d, ecx
mov ecx, r11d
add cl, 0x70
mov r10, rax
shr r10, cl
mov rcx, qword [0x1402a7878]
mov r11, qword [0x1402a7880]
shrd r11, rcx, 0x2a
movabs rcx, 0x377006531b66ed8e
xor rcx, r11
sub rcx, r10
add r10, rax
cmp r10, r15
cmovbe r10, r15
mov r14, r8
mov rbx, rdx
mov rdx, qword [0x1402a7888]
mov r8, qword [0x1402a7890]
shrd r8, rdx, 0xa
movabs r12, 0x347d3151b9cc8072
xor r12, r8
cmp rax, rcx
cmovbe r12, r10
mov rax, qword [0x1402a7898]
mov rcx, qword [0x1402a78a0]
shrd rcx, rax, 0x3f
movabs rax, 0x93b3581e0f7485a2
xor rax, rcx
cmp r12, rax
ja 0x14006a835
mov cl, byte [0x1402a78ab]
xor cl, 0x41
mov rax, r12
shl rax, cl
mov rdi, rbx
sub rdi, r9
movabs rcx, 0xbd274948ecea7a4e
imul rcx, qword [0x1402a78b0]
movabs rdx, 0xdac68314fe080ceb
imul rdx, qword [0x1402a78b8]
add rdx, rcx
movabs rcx, 0x283bc5acefd78e3c
add rcx, rdx
cmp r12, rcx
jbe 0x14006a584
mov rcx, rax
call fcn.1400031b3
jmp 0x14006a5b6
mov rcx, qword [0x1402a78c0]
mov rdx, qword [0x1402a78c8]
shrd rdx, rcx, 0xb
movabs rcx, 0x71c81c5be175b22
xor rcx, rdx
cmp r12, rcx
jne 0x14006a5ae
xor r13d, r13d
jmp 0x14006a5b9
mov rcx, rax
call fcn.1400d87f8
mov r13, rax
lea rcx, [rdi + r13]
nop
mov qword [rbp - 8], rcx
mov rdx, r14
call fcn.140062a78
nop
mov rax, qword [rsi]
mov rcx, qword [rsi + 8]
cmp rcx, rbx
je 0x14006a687
cmp rax, rbx
je 0x14006a62a
xor ecx, ecx
lea rdx, [rax + rcx]
add rdx, 0x10
movups xmm0, xmmword [rdx - 0x10]
movups xmmword [r13 + rcx], xmm0
mov r8b, byte [0x1402a78d2]
mov r9b, byte [0x1402a78d3]
shr r9b, 5
shl r8b, 3
or r8b, r9b
xor r8b, 0x75
mov byte [rdx - 0x10], r8b
mov qword [rdx - 8], 0
add rcx, 0x10
cmp rdx, rbx
jne 0x14006a5e2
mov rcx, qword [rsi + 8]
cmp rcx, rbx
je 0x14006a6d8
mov rax, rcx
lea rcx, [rdi + r13]
add rcx, 0x10
xor edx, edx
lea r8, [rbx + rdx]
add r8, 0x10
movups xmm0, xmmword [r8 - 0x10]
movups xmmword [rcx + rdx], xmm0
movzx r9d, byte [0x1402a78d4]
movzx r10d, byte [0x1402c046d]
imul r9d, r9d, 0x3a
imul r10d, r10d, 0x53
add r10b, r9b
add r10b, 0xb0
mov byte [r8 - 0x10], r10b
mov qword [r8 - 8], 0
add rdx, 0x10
cmp r8, rax
jne 0x14006a640
jmp 0x14006a6d8
cmp rax, rbx
je 0x14006a82d
xor ecx, ecx
lea rdx, [rax + rcx]
add rdx, 0x10
movups xmm0, xmmword [rdx - 0x10]
movups xmmword [r13 + rcx], xmm0
movzx r8d, byte [0x1402a78d0]
movzx r9d, byte [0x1402a78d1]
imul r8d, r8d, 0xffffffc9
imul r9d, r9d, 0xffffffcb
add r9b, r8b
add r9b, 0x2b
mov byte [rdx - 0x10], r9b
mov qword [rdx - 8], 0
add rcx, 0x10
cmp rdx, rbx
jne 0x14006a692
mov rax, qword [rsi]
test rax, rax
je 0x14006a7ff
mov rdi, qword [rsi + 8]
cmp rax, rdi
je 0x14006a711
mov rbx, rax
mov dl, byte [rax]
add rbx, 8
nop
mov rcx, rbx
call fcn.14002af04
nop
add rbx, 8
mov rax, rbx
cmp rbx, rdi
jne 0x14006a6ed
mov rdx, qword [rsi]
jmp 0x14006a714
mov rdx, rax
mov rax, qword [rsi + 0x10]
sub rax, rdx
mov rcx, qword [0x1402a78e0]
mov r8, qword [0x1402a78e8]
shrd r8, rcx, 8
movabs rcx, 0x1ac122d2dfb8a339
xor rcx, r8
cmp rax, rcx
jbe 0x14006a7f4
movabs r8, 0x7fef673b173a969
imul r8, qword [0x1402a78f0]
movabs r9, 0x5db2fc2551e613c3
imul r9, qword [0x1402a78f8]
mov rcx, qword [rdx - 8]
add r9, r8
add r9, rdx
sub r9, rcx
movabs rdx, 0xc2aa69f334751f9f
add rdx, r9
movabs r8, 0xf8a8dd85959d1615
imul r8, qword [0x1402a7900]
movabs r9, 0xd17a528d69b8bc5c
imul r9, qword [0x1402a7908]
add r9, r8
movabs r8, 0x3a89d22c5efeefd
add r8, r9
cmp rdx, r8
jae 0x14006a83a
movabs rdx, 0x281c4a899d1089e9
imul rdx, qword [0x1402a7910]
movabs r8, 0xc2fc76ed20918df7
imul r8, qword [str.M_gR]
add r8, rdx
movabs rdx, 0xc1086e633f722874
add rax, rdx
add rax, r8
jmp 0x14006a7f7
mov rcx, rdx
mov rdx, rax
call fcn.1400d883c
mov qword [rsi], r13
shl r15, 4
add r15, r13
mov qword [rsi + 8], r15
shl r12, 4
add r12, r13
mov qword [rsi + 0x10], r12
mov rax, qword [rbp - 8]
add rsp, 0x38
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
mov rax, rbx
jmp 0x14006a6db
call fcn.14000327e
call fcn.1401aec6c
int3