Function at 0x14011ec54
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
push rax
mov rbp, r8
cmp r8, 0x20
ja 0x14011ed8e
cmp rbp, 0x10
ja 0x14011ecff
cmp rbp, 9
jb 0x14011ecc4
mov r9, qword [rdx + rbp - 8]
lea rax, [r9 + rbp]
mov ecx, ebp
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 0x14011efe1
cmp rbp, 4
jb 0x14011f0bb
mov eax, dword [rdx]
mov ecx, dword [rdx + rbp - 4]
lea rdx, [rax*8]
add rdx, rbp
xor rdx, rcx
movabs r8, 0x9ddfea08eb382d69
imul rdx, r8
xor rcx, rdx
shr rdx, 0x2f
xor rdx, rcx
jmp 0x14011efcf
movabs rax, 0xb492b66fbe98f273
imul rax, qword [rdx]
mov r9, qword [rdx + 8]
movabs rcx, 0x9ae16a3b2f90404f
imul rcx, qword [rdx + rbp - 8]
movabs r10, 0xc3a5c85c97cb3127
imul r10, qword [rdx + rbp - 0x10]
movabs rdx, 0xc949d7c7509e6557
xor rdx, r9
rol rdx, 0x2c
add rbp, rax
add rbp, rdx
sub rax, r9
rol rax, 0x15
sub rbp, rcx
rol rcx, 0x22
add rcx, r10
add rcx, rax
xor rcx, rbp
movabs rdx, 0x9ddfea08eb382d69
imul rcx, rdx
xor rbp, rcx
shr rcx, 0x2f
xor rcx, rbp
imul rcx, rdx
mov rax, rcx
shr rax, 0x2f
xor rax, rcx
imul rax, rdx
jmp 0x14011efe1
cmp rbp, 0x40
jbe 0x14011eff2
movabs r12, 0xb492b66fbe98f273
movabs r8, 0x9ddfea08eb382d69
mov rdi, qword [rdx + rbp - 0x28]
mov rax, qword [rdx + rbp - 0x10]
mov rcx, qword [rdx + rbp - 0x38]
mov r10, qword [rdx + rbp - 0x30]
lea r9, [rcx + rax]
mov rsi, qword [rdx + rbp - 0x18]
lea rbx, [r10 + rbp]
xor rbx, rsi
imul rbx, r8
mov r11, rsi
xor r11, rbx
shr rbx, 0x2f
xor rbx, r11
imul rbx, r8
mov r13, rbx
shr r13, 0x2f
xor r13, rbx
imul r13, r8
mov r14, qword [rdx + rbp - 0x40]
add r14, rbp
lea r15, [r14 + rdi]
add r15, r13
rol r15, 0x2b
add r10, rcx
add r10, r14
mov rbx, r10
rol rbx, 0x14
add rbx, r14
add rbx, r15
add r10, rdi
mov rcx, qword [rdx + rbp - 0x20]
add rcx, r9
mov r15, qword [rdx + rbp - 8]
mov r8, r12
add rcx, r12
lea r12, [r15 + rdi]
add r12, rcx
rol r12, 0x2b
add rsi, rax
add rsi, rcx
mov r14, rsi
rol r14, 0x14
add r14, rcx
add r14, r12
imul rdi, r8
add rdi, qword [rdx]
add rsi, r15
dec rbp
and rbp, 0xffffffffffffffc0
xor r15d, r15d
mov r8, r13
add rdi, r10
add rdi, r9
mov rcx, qword [rdx + r15 + 8]
mov r12, qword [rdx + r15 + 0x10]
add rdi, rcx
rol rdi, 0x1b
add r9, rbx
mov rax, qword [rdx + r15 + 0x30]
mov qword [rsp], rax
add r9, rax
rol r9, 0x16
movabs rax, 0xb492b66fbe98f273
imul rdi, rax
mov r11, r9
imul r11, rax
mov r13, rdi
xor r13, r14
mov rax, qword [rdx + r15 + 0x28]
add r10, rax
mov r9, r10
add r9, r11
add r8, rsi
movabs r10, 0xb492b66fbe98f273
imul rbx, r10
mov r11, qword [rdx + r15 + 0x18]
add rbx, qword [rdx + r15]
add rsi, r11
add rsi, rbx
add rsi, r13
rol rsi, 0x2b
add rcx, r12
add rcx, rbx
mov r10, rcx
rol r10, 0x14
add rbx, r10
add rbx, rsi
rol r8, 0x1f
mov r10, rcx
mov rdi, r8
movabs rcx, 0xb492b66fbe98f273
imul rdi, rcx
add r10, r11
add r14, rdi
mov rcx, qword [rdx + r15 + 0x38]
add r14, qword [rdx + r15 + 0x20]
add r12, rcx
add r12, r9
add r12, r14
add rax, qword [rsp]
add rax, r14
mov r8, rax
rol r8, 0x14
add r14, r8
rol r12, 0x2b
add r14, r12
mov rsi, rax
add rsi, rcx
add r15, 0x40
cmp rbp, r15
jne 0x14011ee61
xor rbx, r14
movabs r8, 0x9ddfea08eb382d69
imul rbx, r8
xor r14, rbx
shr rbx, 0x2f
xor rbx, r14
imul rbx, r8
mov rax, rbx
shr rax, 0x2f
xor rax, rbx
imul rax, r8
add rax, rdi
xor r10, rsi
imul r10, r8
xor rsi, r10
shr r10, 0x2f
xor r10, rsi
imul r10, r8
mov rcx, r10
shr rcx, 0x2f
xor rcx, r10
imul rcx, r8
mov rdx, r9
shr rdx, 0x2f
xor rdx, r9
movabs r9, 0xb492b66fbe98f273
imul rdx, r9
add rdx, r13
add rdx, rcx
xor rdx, rax
imul rdx, r8
xor rax, rdx
shr rdx, 0x2f
xor rdx, rax
imul rdx, r8
mov rax, rdx
shr rax, 0x2f
xor rax, rdx
imul rax, r8
add rsp, 8
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
mov rcx, qword [rdx + 0x10]
mov r11, qword [rdx + 0x18]
mov rdi, qword [rdx + rbp - 0x10]
lea r9, [rdi + rbp]
movabs rax, 0xc3a5c85c97cb3127
imul r9, rax
add r9, qword [rdx]
lea r10, [r9 + r11]
mov r14, r9
add r9, qword [rdx + 8]
mov rsi, r9
add r9, rcx
add rcx, qword [rdx + rbp - 0x20]
mov rbx, qword [rdx + rbp - 8]
add rbx, r11
lea r15, [rbx + rcx]
mov r12, rcx
add rcx, qword [rdx + rbp - 0x18]
rol r10, 0xc
rol r14, 0x1b
rol rsi, 0x39
rol r15, 0xc
rol r12, 0x1b
add rsi, r14
mov rdx, rcx
rol rdx, 0x39
add rcx, rdi
add rbx, rcx
rol rcx, 0x21
add r12, r11
add r12, rdx
add r12, r15
add r12, rcx
add r12, r9
rol r9, 0x21
add rsi, r10
add r9, rsi
movabs rcx, 0x9ae16a3b2f90404f
imul r12, rcx
add rbx, r9
imul rbx, rax
add rbx, r12
mov rdx, rbx
shr rdx, 0x2f
xor rdx, rbx
imul rdx, rax
add rdx, r9
mov rax, rdx
shr rax, 0x2f
xor rax, rdx
imul rax, rcx
jmp 0x14011efe1
movabs rax, 0x9ae16a3b2f90404f
test rbp, rbp
je 0x14011efe1
movzx ecx, byte [rdx]
mov r9, rbp
shr r9, 1
movzx r9d, byte [rdx + r9]
movzx edx, byte [rbp + rdx - 1]
shl r9, 8
or r9, rcx
lea rcx, [rdx*4]
add rcx, rbp
imul r9, rax
movabs rdx, 0xc949d7c7509e6557
imul rdx, rcx
xor rdx, r9
mov rcx, rdx
shr rcx, 0x2f
xor rcx, rdx
jmp 0x14011f0b2