Function at 0x1400854b0
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
push rax
cmp r8, 0x20
ja 0x140085520
cmp r8, 0x10
ja 0x140085669
cmp r8, 9
jb 0x14008560a
mov r9, qword [rdx + r8 - 8]
mov rax, r8
add rax, r9
mov ecx, r8d
ror rax, cl
mov rcx, qword [rdx]
xor rcx, rax
movabs rdx, 0x9ddfea08eb382d69
imul rcx, rdx
xor rax, rcx
shr rcx, 0x2f
xor rcx, rax
imul rcx, rdx
mov rax, rcx
shr rax, 0x2f
xor rax, rcx
imul rax, rdx
xor rax, r9
jmp 0x1400855f9
mov rbp, qword [rdx]
mov r14, qword [rdx + r8 - 8]
mov r15, qword [rdx + r8 - 0x10]
mov r12, qword [rdx + r8 - 0x20]
mov rax, qword [rdx + r8 - 0x18]
cmp r8, 0x40
ja 0x140085715
mov r9, qword [rdx + 0x18]
add r8, r15
movabs rcx, 0xc3a5c85c97cb3127
imul r8, rcx
add r8, rbp
lea r10, [r9 + r8]
rol r10, 0xc
mov r11, r8
rol r11, 0x1b
mov rsi, qword [rdx + 0x10]
add r11, r10
add r8, qword [rdx + 8]
mov rdi, r8
rol rdi, 0x39
add r8, rsi
mov rdx, r8
rol rdx, 0x21
add r12, rsi
add r14, r9
lea rsi, [r12 + r14]
rol rsi, 0xc
add rdi, r11
mov r10, r12
rol r10, 0x1b
add r12, rax
mov rax, r12
rol rax, 0x39
add r12, r15
add r14, r12
rol r12, 0x21
add rdx, rdi
add r10, r9
add r10, rax
add r10, rsi
add r10, r12
add r10, r8
movabs r8, 0x9ae16a3b2f90404f
imul r10, r8
add r14, rdx
imul r14, rcx
add r14, r10
mov r9, r14
shr r9, 0x2f
xor r9, r14
imul r9, rcx
add r9, rdx
mov rax, r9
shr rax, 0x2f
xor rax, r9
imul rax, r8
add rsp, 8
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
cmp r8, 4
jae 0x1400856f8
movabs rax, 0x9ae16a3b2f90404f
test r8, r8
je 0x1400855f9
movzx ecx, byte [rdx]
mov r9, r8
shr r9, 1
movzx r9d, byte [rdx + r9]
movzx edx, byte [rdx + r8 - 1]
shl r9d, 8
or r9, rcx
shl edx, 2
or rdx, r8
imul r9, rax
movabs rcx, 0xc949d7c7509e6557
imul rcx, rdx
xor rcx, r9
mov rdx, rcx
shr rdx, 0x2f
xor rdx, rcx
imul rax, rdx
jmp 0x1400855f9
movabs rax, 0xb492b66fbe98f273
imul rax, qword [rdx]
mov r9, qword [rdx + 8]
movabs rcx, 0x9ae16a3b2f90404f
imul rcx, qword [rdx + r8 - 8]
movabs r10, 0xc3a5c85c97cb3127
imul r10, qword [rdx + r8 - 0x10]
movabs rdx, 0xc949d7c7509e6557
xor rdx, r9
rol rdx, 0x2c
add r8, rax
add r8, rdx
sub rax, r9
rol rax, 0x15
sub r8, rcx
rol rcx, 0x22
add rcx, r10
add rcx, rax
xor rcx, r8
movabs rdx, 0x9ddfea08eb382d69
imul rcx, rdx
xor r8, rcx
shr rcx, 0x2f
xor rcx, r8
imul rcx, rdx
mov rax, rcx
shr rax, 0x2f
xor rax, rcx
imul rax, rdx
jmp 0x1400855f9
mov eax, dword [rdx]
mov ecx, dword [rdx + r8 - 4]
lea rdx, [r8 + rax*8]
xor rdx, rcx
movabs r8, 0x9ddfea08eb382d69
jmp 0x140085927
movabs rbx, 0x9ddfea08eb382d69
mov rdi, qword [rdx + r8 - 0x28]
mov rcx, qword [rdx + r8 - 0x38]
mov r11, qword [rdx + r8 - 0x30]
lea r10, [rcx + r15]
lea r9, [r11 + r8]
xor r9, rax
imul r9, rbx
mov rsi, rax
xor rsi, r9
shr r9, 0x2f
xor r9, rsi
imul r9, rbx
mov r13, r9
shr r13, 0x2f
xor r13, r9
imul r13, rbx
mov r9, qword [rdx + r8 - 0x40]
add r9, r8
add r11, rcx
add r11, r9
mov rbx, r11
rol rbx, 0x14
add rbx, r9
lea rcx, [r9 + rdi]
add rcx, r13
rol rcx, 0x2b
add rbx, rcx
movabs r9, 0xb492b66fbe98f273
add r12, r9
add r12, r10
lea rcx, [rdi + r14]
add rax, r15
add rax, r12
mov r15, rax
rol r15, 0x14
add rcx, r12
add r15, r12
rol rcx, 0x2b
add r15, rcx
add rax, r14
add r11, rdi
imul rdi, r9
add rdi, rbp
dec r8
and r8, 0xffffffffffffffc0
xor r14d, r14d
mov rbp, r13
add rdi, r11
add rdi, r10
mov rcx, qword [rdx + r14 + 8]
mov r12, qword [rdx + r14 + 0x10]
add rdi, rcx
rol rdi, 0x1b
add r10, rbx
mov r9, qword [rdx + r14 + 0x30]
mov qword [rsp], r9
add r10, r9
rol r10, 0x16
movabs r9, 0xb492b66fbe98f273
imul rdi, r9
mov rsi, r10
imul rsi, r9
mov r13, rdi
xor r13, r15
mov r9, qword [rdx + r14 + 0x28]
add r11, r9
mov r10, r11
add r10, rsi
add rbp, rax
movabs r11, 0xb492b66fbe98f273
imul rbx, r11
mov rsi, qword [rdx + r14 + 0x18]
add rbx, qword [rdx + r14]
add rax, rsi
add rax, rbx
add rax, r13
rol rax, 0x2b
add rcx, r12
add rcx, rbx
mov r11, rcx
rol r11, 0x14
add rbx, r11
add rbx, rax
rol rbp, 0x1f
mov r11, rcx
mov rdi, rbp
movabs rax, 0xb492b66fbe98f273
imul rdi, rax
add r11, rsi
add r15, rdi
mov rcx, qword [rdx + r14 + 0x38]
add r15, qword [rdx + r14 + 0x20]
add r12, rcx
add r12, r10
add r12, r15
add r9, qword [rsp]
add r9, r15
mov rax, r9
rol rax, 0x14
add r15, rax
rol r12, 0x2b
add r15, r12
mov rax, r9
add rax, rcx
add r14, 0x40
cmp r8, r14
jne 0x1400857c7
xor rbx, r15
movabs r8, 0x9ddfea08eb382d69
imul rbx, r8
xor r15, rbx
shr rbx, 0x2f
xor rbx, r15
imul rbx, r8
mov rcx, rbx
shr rcx, 0x2f
xor rcx, rbx
imul rcx, r8
add rcx, rdi
xor r11, rax
imul r11, r8
xor rax, r11
shr r11, 0x2f
xor r11, rax
imul r11, r8
mov rax, r11
shr rax, 0x2f
xor rax, r11
imul rax, r8
mov rdx, r10
shr rdx, 0x2f
xor rdx, r10
movabs r9, 0xb492b66fbe98f273
imul rdx, r9
add rdx, r13
add rdx, rax
xor rdx, rcx
imul rdx, r8
xor rcx, rdx
shr rdx, 0x2f
xor rdx, rcx
imul rdx, r8
mov rax, rdx
shr rax, 0x2f
xor rax, rdx
jmp 0x1400855f5