Function at 0x14013fb70
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x18
mov r10, rdx
mov qword [rsp + 0x10], rcx
mov r12, qword [rsp + 0x80]
movabs rax, 0x9e3779b185ebca87
mov rcx, r8
imul rcx, rax
mov rdi, qword [rdx]
mov rsi, qword [rdx + 8]
mov rax, qword [r9 + 8]
sub rax, r12
xor rax, rsi
mov rbp, qword [r9]
add rbp, r12
xor rbp, rdi
mul rbp
mov r11, rdx
mov rdx, qword [r9 + 0x18]
xor r11, rax
add r11, rcx
mov rax, qword [r10 + 0x10]
mov rbx, qword [r10 + 0x18]
lea rcx, [rbx + rax]
sub rdx, r12
xor rdx, rbx
mov rbx, qword [r9 + 0x10]
add rbx, r12
xor rbx, rax
mov rax, rdx
mul rbx
mov r15, rax
xor rcx, r11
add rsi, rdi
xor rsi, rdx
mov r11, qword [r10 + 0x20]
mov rbx, qword [r10 + 0x28]
mov rax, qword [r9 + 0x28]
sub rax, r12
xor rax, rbx
mov rdi, qword [r9 + 0x20]
add rdi, r12
xor rdi, r11
mul rdi
xor rsi, r15
xor rdx, rax
add rdx, rcx
mov rcx, qword [r10 + 0x30]
mov rbp, qword [r10 + 0x38]
lea rdi, [rcx + rbp]
xor rdi, rdx
mov rax, qword [r9 + 0x38]
sub rax, r12
xor rax, rbp
mov rbp, qword [r9 + 0x30]
add rbp, r12
xor rbp, rcx
mul rbp
xor rdx, rax
add rdx, rsi
add rbx, r11
xor rbx, rdx
mov r14, qword [r10 + 0x40]
mov r15, qword [r10 + 0x48]
mov rax, qword [r9 + 0x48]
sub rax, r12
xor rax, r15
mov rcx, qword [r9 + 0x40]
add rcx, r12
xor rcx, r14
mul rcx
mov rsi, rdx
xor rsi, rax
add rsi, rdi
mov rcx, qword [r10 + 0x50]
mov rdx, qword [r10 + 0x58]
lea rbp, [rdx + rcx]
mov rax, qword [r9 + 0x58]
sub rax, r12
xor rax, rdx
mov rdi, qword [r9 + 0x50]
add rdi, r12
xor rdi, rcx
movabs r11, 0x165667919e3779f9
mul rdi
xor rbp, rsi
xor rdx, rax
add rdx, rbx
add r15, r14
xor r15, rdx
mov rsi, qword [r10 + 0x60]
mov rdi, qword [r10 + 0x68]
mov rax, qword [r9 + 0x68]
sub rax, r12
xor rax, rdi
mov rcx, qword [r9 + 0x60]
add rcx, r12
xor rcx, rsi
mul rcx
xor rdx, rax
add rdx, rbp
mov rcx, qword [r10 + 0x70]
mov rbp, qword [r10 + 0x78]
lea rbx, [rcx + rbp]
xor rbx, rdx
mov rax, qword [r9 + 0x78]
sub rax, r12
xor rax, rbp
mov rbp, qword [r9 + 0x70]
add rbp, r12
xor rbp, rcx
mul rbp
xor rdx, rax
add rdx, r15
add rdi, rsi
xor rdi, rdx
mov rax, rbx
shr rax, 0x25
xor rax, rbx
imul rax, r11
mov r14, rax
shr r14, 0x20
xor r14, rax
mov rax, rdi
shr rax, 0x25
xor rax, rdi
imul rax, r11
mov r13, rax
shr r13, 0x20
xor r13, rax
cmp r8d, 0xa0
mov qword [rsp + 8], r8
mov qword [rsp], r10
jb 0x14013fdec
mov r15d, r8d
shr r15d, 5
lea rdi, [r10 + 0x98]
add r15, 0xfffffffffffffffc
xor r8d, r8d
nop dword [rax]
mov rbp, r8
sar rbp, 0x20
mov r11, qword [rdi - 0x18]
mov rbx, qword [rdi - 0x10]
mov rax, qword [r9 + rbp + 0xb]
sub rax, r12
xor rax, rbx
mov r10, qword [r9 + rbp + 3]
add r10, r12
xor r10, r11
mul r10
xor rdx, rax
add rdx, r14
mov rcx, qword [rdi - 8]
mov rsi, qword [rdi]
lea r14, [rsi + rcx]
xor r14, rdx
mov rax, qword [r9 + rbp + 0x1b]
sub rax, r12
xor rax, rsi
mov rbp, qword [r9 + rbp + 0x13]
add rbp, r12
xor rbp, rcx
mul rbp
xor rdx, rax
add rdx, r13
add rbx, r11
xor rbx, rdx
movabs rax, 0x2000000000
add r8, rax
add rdi, 0x20
mov r13, rbx
dec r15
jne 0x14013fd70
jmp 0x14013fdef
mov rbx, r13
mov r11, qword [rsp + 8]
mov rsi, qword [rsp]
mov r8, qword [rsi + r11 - 0x10]
mov rdi, qword [rsi + r11 - 8]
mov rax, qword [r9 + 0x6f]
add rax, r12
xor rax, rdi
mov rcx, qword [r9 + 0x67]
mov rbp, qword [r9 + 0x77]
sub rcx, r12
xor rcx, r8
mul rcx
xor rdx, rax
add rdx, r14
mov r10, qword [rsi + r11 - 0x20]
mov rcx, qword [rsi + r11 - 0x18]
lea rsi, [rcx + r10]
xor rsi, rdx
mov rax, qword [r9 + 0x7f]
add rax, r12
xor rax, rcx
sub rbp, r12
xor rbp, r10
mul rbp
xor rdx, rax
add rdx, rbx
add rdi, r8
xor rdi, rdx
lea rax, [rdi + rsi]
movabs rcx, 0x9e3779b185ebca87
imul rsi, rcx
movabs rcx, 0x85ebca77c2b2ae63
imul rcx, rdi
sub r11, r12
movabs rdx, 0xc2b2ae3d27d4eb4f
imul rdx, r11
add rdx, rsi
add rdx, rcx
mov rcx, rax
shr rcx, 0x25
xor rcx, rax
movabs rbx, 0x165667919e3779f9
imul rcx, rbx
mov rax, rcx
shr rax, 0x20
xor rax, rcx
mov rbp, qword [rsp + 0x10]
mov qword [rbp], rax
mov rax, rdx
shr rax, 0x25
xor rax, rdx
imul rax, rbx
mov rcx, rax
shr rcx, 0x20
xor rcx, rax
neg rcx
mov qword [rbp + 8], rcx
add rsp, 0x18
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret