Function at 0x140030c60
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 0x140030f69
test rax, rax
movabs rax, 0xaaaaaaaaaaaaaaab
je 0x140030e7f
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 0x140030cb1
jmp 0x140030f69
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 0x140030e8d
add r9, rdi
cmp r11, 0xc
ja 0x140030ff6
je 0x1400310cc
cmp r11, 6
ja 0x140030fbf
je 0x14003110a
sub r11, 1
je 0x140031141
sub r11, 1
je 0x140031136
sub r11, 1
je 0x14003112b
sub r11, 1
je 0x140031120
cmp r11, 1
je 0x140031115
jmp 0x140031147
sub r11, 7
je 0x1400310ff
sub r11, 1
je 0x1400310f4
sub r11, 1
je 0x1400310ed
sub r11, 1
je 0x1400310e2
cmp r11, 1
je 0x1400310d7
jmp 0x140031147
cmp r11, 0x12
ja 0x140031031
je 0x14003108a
sub r11, 0xd
je 0x1400310c1
sub r11, 1
je 0x1400310b6
sub r11, 1
je 0x1400310ab
sub r11, 1
je 0x1400310a0
cmp r11, 1
je 0x140031095
jmp 0x140031147
sub r11, 0x13
je 0x14003107f
sub r11, 1
je 0x140031074
sub r11, 1
je 0x140031069
sub r11, 1
je 0x14003105e
cmp r11, 1
jne 0x140031147
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