Function at 0x14005c930
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x10
mov r10, r8
cmp r8, 0x20
ja 0x14005c9a6
cmp r10, 0x10
ja 0x14005ca7c
cmp r10, 9
jb 0x14005cd60
mov rcx, r10
mov r8, qword [rdx + r10 - 8]
mov rax, r10
add rax, r8
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, r8
jmp 0x14005cd4f
cmp r10, 0x40
ja 0x14005cb11
mov r9, qword [rdx + 0x10]
mov r11, qword [rdx + 0x18]
mov r12, r10
mov rbx, qword [rdx + r10 - 0x10]
lea rcx, [rbx + r10]
movabs rax, 0xc3a5c85c97cb3127
imul rcx, rax
add rcx, qword [rdx]
lea r10, [rcx + r11]
mov r8, rcx
add rcx, qword [rdx + 8]
mov rsi, rcx
add rcx, r9
add r9, qword [rdx + r12 - 0x20]
mov rdi, qword [rdx + r12 - 8]
add rdi, r11
lea r15, [rdi + r9]
mov r14, r9
add r9, qword [rdx + r12 - 0x18]
rol r10, 0xc
rol r8, 0x1b
rol rsi, 0x39
rol r15, 0xc
rol r14, 0x1b
add rsi, r8
mov rdx, r9
rol rdx, 0x39
add r9, rbx
add rdi, r9
rol r9, 0x21
add r14, r11
add r14, rdx
add r14, r15
add r14, r9
add r14, rcx
rol rcx, 0x21
add rsi, r10
add rcx, rsi
movabs rdx, 0x9ae16a3b2f90404f
imul r14, rdx
add rdi, rcx
imul rdi, rax
add rdi, r14
mov r8, rdi
shr r8, 0x2f
xor r8, rdi
imul r8, rax
add r8, rcx
mov rax, r8
shr rax, 0x2f
xor rax, r8
imul rax, rdx
jmp 0x14005cd4f
movabs rax, 0xb492b66fbe98f273
imul rax, qword [rdx]
movabs rcx, 0x9ae16a3b2f90404f
mov r11, r10
imul rcx, qword [rdx + r10 - 8]
mov r8, qword [rdx + 8]
movabs r9, 0xc3a5c85c97cb3127
imul r9, qword [rdx + r10 - 0x10]
mov rdx, rax
sub rdx, r8
rol rdx, 0x15
movabs r10, 0xc949d7c7509e6557
xor r10, r8
rol r10, 0x2c
add rax, r11
add rax, r10
sub rax, rcx
rol rcx, 0x22
add rcx, r9
add rcx, 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
jmp 0x14005cd4f
movabs r12, 0xb492b66fbe98f273
movabs rbx, 0x9ddfea08eb382d69
mov r8, r10
mov rax, qword [rdx + r10 - 0x28]
mov r14, qword [rdx + r10 - 0x10]
mov rcx, qword [rdx + r10 - 0x38]
mov r11, qword [rdx + r10 - 0x30]
lea r10, [rcx + r14]
lea rdi, [r11 + r8]
mov rsi, qword [rdx + r8 - 0x18]
xor rdi, rsi
imul rdi, rbx
mov r9, rsi
xor r9, rdi
shr rdi, 0x2f
xor rdi, r9
imul rdi, rbx
mov r13, rdi
shr r13, 0x2f
xor r13, rdi
imul r13, rbx
mov rdi, qword [rdx + r8 - 0x40]
add rdi, r8
lea rbx, [rax + rdi]
add rbx, r13
rol rbx, 0x2b
add rcx, r11
add rcx, rdi
mov r11, rcx
rol r11, 0x14
add rcx, rax
add r11, rdi
add r11, rbx
mov rdi, qword [rdx + r8 - 0x20]
add rdi, r10
mov rbx, qword [rdx + r8 - 8]
add rdi, r12
lea r15, [rax + rbx]
add r15, rdi
rol r15, 0x2b
add rsi, r14
add rsi, rdi
mov r14, rsi
rol r14, 0x14
add rsi, rbx
add r14, rdi
imul rax, r12
add rax, qword [rdx]
add r14, r15
dec r8
and r8, 0xffffffffffffffc0
mov qword [rsp], r8
xor r15d, r15d
movabs r9, 0xb492b66fbe98f273
nop dword [rax + rax]
mov rbx, r13
add rax, rcx
add rax, r10
mov rdi, qword [rdx + r15 + 8]
mov r12, qword [rdx + r15 + 0x10]
add rax, rdi
rol rax, 0x1b
add r10, r11
mov r8, qword [rdx + r15 + 0x30]
mov qword [rsp + 8], r8
add r10, r8
rol r10, 0x16
imul rax, r9
mov r8, r10
imul r8, r9
mov r13, rax
xor r13, r14
mov rbp, qword [rdx + r15 + 0x28]
add rcx, rbp
mov r10, rcx
add r10, r8
add rbx, rsi
rol rbx, 0x1f
mov rax, rbx
imul rax, r9
imul r11, r9
mov r8, qword [rdx + r15 + 0x18]
add r11, qword [rdx + r15]
add rsi, r11
add rsi, r8
add rdi, r12
add rdi, r11
mov rcx, rdi
rol rdi, 0x14
add rcx, r8
add r11, rdi
add r14, rax
add r12, r10
add r14, qword [rdx + r15 + 0x20]
mov r8, qword [rdx + r15 + 0x38]
add r12, r14
add r12, r8
add rsi, r13
rol rsi, 0x2b
rol r12, 0x2b
add r11, rsi
add rbp, qword [rsp + 8]
add rbp, r14
mov rsi, rbp
add rsi, r8
rol rbp, 0x14
add r14, rbp
add r14, r12
add r15, 0x40
cmp qword [rsp], r15
jne 0x14005cbf0
xor rcx, rsi
movabs r8, 0x9ddfea08eb382d69
imul rcx, r8
xor rsi, rcx
shr rcx, 0x2f
xor rcx, rsi
imul rcx, r8
mov rdx, rcx
shr rdx, 0x2f
xor rdx, rcx
imul rdx, r8
mov rcx, r10
shr rcx, 0x2f
xor rcx, r10
movabs r10, 0xb492b66fbe98f273
imul rcx, r10
add rcx, r13
add rcx, rdx
xor r11, r14
imul r11, r8
xor r14, r11
shr r11, 0x2f
xor r11, r14
imul r11, r8
mov rdx, r11
shr rdx, 0x2f
xor rdx, r11
imul rdx, r8
add rdx, rax
xor rcx, rdx
imul rcx, r8
xor rdx, rcx
shr rcx, 0x2f
xor rcx, rdx
imul rcx, r8
mov rax, rcx
shr rax, 0x2f
xor rax, rcx
imul rax, r8
add rsp, 0x10
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
cmp r10, 4
jb 0x14005cd78
mov ecx, dword [rdx]
mov eax, dword [rdx + r10 - 4]
shl ecx, 3
add rcx, r10
jmp 0x14005cadf
movabs rax, 0x9ae16a3b2f90404f
test r10, r10
je 0x14005cd4f
movzx ecx, byte [rdx]
mov r9, r10
mov r8, r10
shr r8, 1
movzx r8d, byte [rdx + r8]
movzx edx, byte [rdx + r10 - 1]
shl r8d, 8
or r8, rcx
shl edx, 2
or rdx, r10
imul r8, rax
movabs rcx, 0xc949d7c7509e6557
imul rcx, rdx
xor rcx, r8
mov rdx, rcx
shr rdx, 0x2f
xor rdx, rcx
imul rax, rdx
jmp 0x14005cd4f