Function at 0x140080680
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rdi
mov rax, rcx
mov rdi, rdx
and eax, 7
mov rbx, rcx
mov r11, rdx
mov r10, r8
movabs r9, 0x9e3779b97f4a7c13
cmp rdx, 0x18
jb 0x140080989
test rax, rax
movabs rax, 0xaaaaaaaaaaaaaaab
je 0x14008089f
mul rdi
shr rdx, 4
imul r11, rdx, 0xffffffffffffffe8
add r11, rdi
movzx eax, byte [rbx + 0xe]
movzx ecx, byte [rbx + 0xf]
shl rcx, 8
add rcx, rax
movzx eax, byte [rbx + 0xd]
shl rcx, 8
add rcx, rax
movzx eax, byte [rbx + 0xc]
shl rcx, 8
add rcx, rax
movzx eax, byte [rbx + 0xb]
shl rcx, 8
add rcx, rax
movzx eax, byte [rbx + 0xa]
shl rcx, 8
add rcx, rax
movzx eax, byte [rbx + 9]
shl rcx, 8
add rcx, rax
movzx eax, byte [rbx + 8]
shl rcx, 8
add r8, rax
add r8, rcx
movzx eax, byte [rbx + 0x16]
movzx ecx, byte [rbx + 0x17]
shl rcx, 8
add rcx, rax
movzx eax, byte [rbx + 0x15]
shl rcx, 8
add rcx, rax
movzx eax, byte [rbx + 0x14]
shl rcx, 8
add rcx, rax
movzx eax, byte [rbx + 0x13]
shl rcx, 8
add rcx, rax
movzx eax, byte [rbx + 0x12]
shl rcx, 8
add rcx, rax
movzx eax, byte [rbx + 0x11]
shl rcx, 8
add rcx, rax
movzx eax, byte [rbx + 0x10]
shl rcx, 8
add r9, rax
movzx eax, byte [rbx + 6]
add r9, rcx
movzx ecx, byte [rbx + 7]
shl rcx, 8
add rcx, rax
movzx eax, byte [rbx + 5]
shl rcx, 8
add rcx, rax
movzx eax, byte [rbx + 4]
shl rcx, 8
add rcx, rax
movzx eax, byte [rbx + 3]
shl rcx, 8
add rcx, rax
movzx eax, byte [rbx + 2]
shl rcx, 8
add rcx, rax
movzx eax, byte [rbx + 1]
shl rcx, 8
add rcx, rax
movzx eax, byte [rbx]
shl rcx, 8
add rcx, rax
mov rax, r9
shr rax, 0x2b
sub rcx, r9
sub rcx, r8
sub r8, r9
add r10, rcx
xor r10, rax
sub r8, r10
mov rax, r10
shl rax, 9
xor r8, rax
sub r9, r8
sub r9, r10
mov rax, r8
add rbx, 0x18
shr rax, 8
xor r9, rax
sub r10, r9
mov rax, r9
shr rax, 0x26
sub r10, r8
xor r10, rax
sub r8, r9
sub r8, r10
mov rax, r10
shl rax, 0x17
xor r8, rax
sub r9, r8
mov rax, r8
sub r9, r10
shr rax, 5
xor r9, rax
sub r10, r9
mov rax, r9
shr rax, 0x23
sub r10, r8
xor r10, rax
sub r8, r9
sub r8, r10
mov rax, r10
shl rax, 0x31
xor r8, rax
sub r9, r8
mov rax, r8
sub r9, r10
shr rax, 0xb
xor r9, rax
sub r10, r9
mov rax, r9
shr rax, 0xc
sub r10, r8
xor r10, rax
sub r8, r9
sub r8, r10
mov rax, r10
shl rax, 0x12
xor r8, rax
sub r9, r8
mov rax, r8
sub r9, r10
shr rax, 0x16
xor r9, rax
sub rdx, 1
jne 0x1400806d1
jmp 0x140080989
mul rdi
shr rdx, 4
imul r11, rdx, 0xffffffffffffffe8
add r11, rdi
add r9, qword [rbx + 0x10]
add r8, qword [rbx + 8]
mov rax, r9
mov rcx, qword [rbx]
add rbx, 0x18
shr rax, 0x2b
sub rcx, r9
sub rcx, r8
sub r8, r9
add r10, rcx
xor r10, rax
sub r8, r10
mov rax, r10
shl rax, 9
xor r8, rax
sub r9, r8
mov rax, r8
sub r9, r10
shr rax, 8
xor r9, rax
sub r10, r9
mov rax, r9
shr rax, 0x26
sub r10, r8
xor r10, rax
sub r8, r9
sub r8, r10
mov rax, r10
shl rax, 0x17
xor r8, rax
sub r9, r8
mov rax, r8
sub r9, r10
shr rax, 5
xor r9, rax
sub r10, r9
mov rax, r9
shr rax, 0x23
sub r10, r8
xor r10, rax
sub r8, r9
sub r8, r10
mov rax, r10
shl rax, 0x31
xor r8, rax
sub r9, r8
mov rax, r8
sub r9, r10
shr rax, 0xb
xor r9, rax
sub r10, r9
mov rax, r9
shr rax, 0xc
sub r10, r8
xor r10, rax
sub r8, r9
sub r8, r10
mov rax, r10
shl rax, 0x12
xor r8, rax
sub r9, r8
mov rax, r8
sub r9, r10
shr rax, 0x16
xor r9, rax
sub rdx, 1
jne 0x1400808ad
add r9, rdi
cmp r11, 0xc
ja 0x140080a16
je 0x140080aec
cmp r11, 6
ja 0x1400809df
je 0x140080b2a
sub r11, 1
je 0x140080b61
sub r11, 1
je 0x140080b56
sub r11, 1
je 0x140080b4b
sub r11, 1
je 0x140080b40
cmp r11, 1
je 0x140080b35
jmp 0x140080b67
sub r11, 7
je 0x140080b1f
sub r11, 1
je 0x140080b14
sub r11, 1
je 0x140080b0d
sub r11, 1
je 0x140080b02
cmp r11, 1
je 0x140080af7
jmp 0x140080b67
cmp r11, 0x12
ja 0x140080a51
je 0x140080aaa
sub r11, 0xd
je 0x140080ae1
sub r11, 1
je 0x140080ad6
sub r11, 1
je 0x140080acb
sub r11, 1
je 0x140080ac0
cmp r11, 1
je 0x140080ab5
jmp 0x140080b67
sub r11, 0x13
je 0x140080a9f
sub r11, 1
je 0x140080a94
sub r11, 1
je 0x140080a89
sub r11, 1
je 0x140080a7e
cmp r11, 1
jne 0x140080b67
movzx eax, byte [rbx + 0x16]
shl rax, 0x38
add r9, rax
movzx eax, byte [rbx + 0x15]
shl rax, 0x30
add r9, rax
movzx eax, byte [rbx + 0x14]
shl rax, 0x28
add r9, rax
movzx eax, byte [rbx + 0x13]
shl rax, 0x20
add r9, rax
movzx eax, byte [rbx + 0x12]
shl rax, 0x18
add r9, rax
movzx eax, byte [rbx + 0x11]
shl rax, 0x10
add r9, rax
movzx eax, byte [rbx + 0x10]
shl rax, 8
add r9, rax
movzx eax, byte [rbx + 0xf]
shl rax, 0x38
add r8, rax
movzx eax, byte [rbx + 0xe]
shl rax, 0x30
add r8, rax
movzx eax, byte [rbx + 0xd]
shl rax, 0x28
add r8, rax
movzx eax, byte [rbx + 0xc]
shl rax, 0x20
add r8, rax
movzx eax, byte [rbx + 0xb]
shl rax, 0x18
add r8, rax
movzx eax, byte [rbx + 0xa]
shl rax, 0x10
add r8, rax
movzx eax, byte [rbx + 9]
shl rax, 8
add r8, rax
movzx eax, byte [rbx + 8]
add r8, rax
movzx eax, byte [rbx + 7]
shl rax, 0x38
add r10, rax
movzx eax, byte [rbx + 6]
shl rax, 0x30
add r10, rax
movzx eax, byte [rbx + 5]
shl rax, 0x28
add r10, rax
movzx eax, byte [rbx + 4]
shl rax, 0x20
add r10, rax
movzx eax, byte [rbx + 3]
shl rax, 0x18
add r10, rax
movzx eax, byte [rbx + 2]
shl rax, 0x10
add r10, rax
movzx eax, byte [rbx + 1]
shl rax, 8
add r10, rax
movzx eax, byte [rbx]
add r10, rax
mov rbx, qword [rsp + 8]
sub r10, r9
mov rdi, qword [rsp + 0x10]
sub r10, r8
sub r8, r9
mov rax, r9
shr rax, 0x2b
xor r10, rax
sub r8, r10
mov rax, r10
shl rax, 9
xor r8, rax
sub r9, r8
mov rax, r8
sub r9, r10
shr rax, 8
xor r9, rax
sub r10, r9
mov rax, r9
sub r10, r8
shr rax, 0x26
xor r10, rax
sub r8, r9
sub r8, r10
mov rax, r10
shl rax, 0x17
xor r8, rax
sub r9, r8
mov rax, r8
sub r9, r10
shr rax, 5
xor r9, rax
sub r10, r9
mov rax, r9
sub r10, r8
shr rax, 0x23
xor r10, rax
sub r8, r9
sub r8, r10
mov rax, r10
shl rax, 0x31
xor r8, rax
sub r9, r8
mov rax, r8
sub r9, r10
shr rax, 0xb
xor r9, rax
sub r10, r9
mov rax, r9
sub r10, r8
shr rax, 0xc
sub r8, r9
xor r10, rax
sub r8, r10
mov rcx, r10
shl rcx, 0x12
xor r8, rcx
sub r9, r8
shr r8, 0x16
sub r9, r10
xor r9, r8
mov rax, r9
ret