Function at 0x14003e2dc
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 0x14003e5e5
test rax, rax
movabs rax, 0xaaaaaaaaaaaaaaab
je 0x14003e4fb
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 0x14003e32d
jmp 0x14003e5e5
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 0x14003e509
add r9, rdi
cmp r11, 0xc
ja 0x14003e672
je 0x14003e748
cmp r11, 6
ja 0x14003e63b
je 0x14003e786
sub r11, 1
je 0x14003e7bd
sub r11, 1
je 0x14003e7b2
sub r11, 1
je 0x14003e7a7
sub r11, 1
je 0x14003e79c
cmp r11, 1
je 0x14003e791
jmp 0x14003e7c3
sub r11, 7
je 0x14003e77b
sub r11, 1
je 0x14003e770
sub r11, 1
je 0x14003e769
sub r11, 1
je 0x14003e75e
cmp r11, 1
je 0x14003e753
jmp 0x14003e7c3
cmp r11, 0x12
ja 0x14003e6ad
je 0x14003e706
sub r11, 0xd
je 0x14003e73d
sub r11, 1
je 0x14003e732
sub r11, 1
je 0x14003e727
sub r11, 1
je 0x14003e71c
cmp r11, 1
je 0x14003e711
jmp 0x14003e7c3
sub r11, 0x13
je 0x14003e6fb
sub r11, 1
je 0x14003e6f0
sub r11, 1
je 0x14003e6e5
sub r11, 1
je 0x14003e6da
cmp r11, 1
jne 0x14003e7c3
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