Function at 0x140101dd4
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 0x1401020dd
test rax, rax
movabs rax, 0xaaaaaaaaaaaaaaab
je 0x140101ff3
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 0x140101e25
jmp 0x1401020dd
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 0x140102001
add r9, rdi
cmp r11d, 0xc
ja 0x14010216a
je 0x140102240
cmp r11d, 6
ja 0x140102133
je 0x14010227e
sub r11d, 1
je 0x1401022b5
sub r11d, 1
je 0x1401022aa
sub r11d, 1
je 0x14010229f
sub r11d, 1
je 0x140102294
cmp r11d, 1
je 0x140102289
jmp 0x1401022bb
sub r11d, 7
je 0x140102273
sub r11d, 1
je 0x140102268
sub r11d, 1
je 0x140102261
sub r11d, 1
je 0x140102256
cmp r11d, 1
je 0x14010224b
jmp 0x1401022bb
cmp r11d, 0x12
ja 0x1401021a5
je 0x1401021fe
sub r11d, 0xd
je 0x140102235
sub r11d, 1
je 0x14010222a
sub r11d, 1
je 0x14010221f
sub r11d, 1
je 0x140102214
cmp r11d, 1
je 0x140102209
jmp 0x1401022bb
sub r11d, 0x13
je 0x1401021f3
sub r11d, 1
je 0x1401021e8
sub r11d, 1
je 0x1401021dd
sub r11d, 1
je 0x1401021d2
cmp r11d, 1
jne 0x1401022bb
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