Function at 0x1400147d0
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x18
mov rbx, r8
mov r13, rcx
movabs rbp, 0x9ddfea08eb382d69
mov r11, qword [r9]
cmp r8, 0x7f
ja 0x140014860
mov r9, qword [r9 + 8]
movabs rdi, 0xb492b66fbe98f273
cmp ebx, 0x10
ja 0x140014ad3
imul rdi, r9
cmp rbx, 9
jb 0x140014c2b
mov rsi, qword [rdx]
mov rax, qword [rdx + rbx - 8]
lea rdx, [rax + rbx]
mov ecx, ebx
ror rdx, cl
mov r8, rdx
xor r8, rsi
imul r8, rbp
xor rdx, r8
shr r8, 0x2f
xor r8, rdx
imul r8, rbp
mov rcx, r8
shr rcx, 0x2f
xor rcx, r8
imul rcx, rbp
xor rcx, rax
add rcx, rdi
jmp 0x140014cc2
mov qword [rsp], r13
movabs r8, 0xb492b66fbe98f273
mov rcx, qword [r9 + 8]
mov r15, rcx
xor r15, r8
rol r15, 0xf
imul r15, r8
add r15, qword [rdx]
mov r9, rbx
mov rdi, r15
rol rdi, 0x16
imul r9, r8
imul rdi, r8
add rdi, qword [rdx + 8]
lea r14, [rcx + r9]
rol r14, 0x1d
imul r14, r8
mov rsi, qword [rdx + 0x58]
add rsi, r11
rol rsi, 0xb
add r14, r11
imul rsi, r8
mov qword [rsp + 8], rdx
lea r13, [rdx + 0x78]
mov qword [rsp + 0x10], rbx
nop word cs:[rax + rax]
add r11, r15
add r11, rcx
mov r10, qword [r13 - 0x68]
mov r12, qword [r13 - 0x60]
add r11, r10
rol r11, 0x1b
imul r11, r8
add rcx, rdi
mov rax, qword [r13 - 0x48]
add rcx, rax
rol rcx, 0x16
imul rcx, r8
xor r9, r14
rol r9, 0x1f
xor r11, rsi
imul rdi, r8
add rdi, qword [r13 - 0x78]
xor rcx, r15
add r14, r12
add r14, rdi
add r14, r11
rol r14, 0x2b
add r10, qword [r13 - 0x70]
add r10, rdi
mov rbp, r10
rol rbp, 0x14
add r10, r12
add rbp, rdi
add rsi, r9
mov r15, qword [r13 - 0x40]
add rsi, qword [r13 - 0x58]
lea r12, [rsi + r15]
add r12, rcx
rol r12, 0x2b
mov rdi, qword [r13 - 0x50]
add rdi, rsi
add rdi, rax
mov rax, rdi
rol rax, 0x14
add rbp, r14
add rdi, r15
add rax, rsi
add rax, r12
add r9, r10
mov r14, qword [r13 - 0x28]
add r9, r14
add r9, rcx
rol r9, 0x1b
imul r9, r8
mov rsi, qword [r13 - 8]
add rcx, rsi
add rcx, rbp
rol rcx, 0x16
imul rcx, r8
xor r11, rdi
rol r11, 0x1f
xor r9, rax
imul rbp, r8
add rbp, qword [r13 - 0x38]
mov r12, qword [r13 - 0x20]
add rdi, r9
add rdi, r12
add rdi, rbp
rol rdi, 0x2b
mov r15, qword [r13 - 0x30]
add r15, rbp
add r15, r14
mov r14, r15
rol r14, 0x14
xor rcx, r10
add r15, r12
add rdi, rbp
add rdi, r14
add rax, r11
mov r10, qword [r13]
add rax, qword [r13 - 0x18]
lea r12, [rax + r10]
add r12, rcx
rol r12, 0x2b
mov r14, qword [r13 - 0x10]
add r14, rax
add r14, rsi
mov rsi, r14
rol rsi, 0x14
add r14, r10
add rsi, rax
add rsi, r12
add rbx, 0xffffffffffffff80
sub r13, 0xffffffffffffff80
cmp rbx, 0x7f
ja 0x1400148d0
movabs r12, 0xc3a5c85c97cb3127
mov rax, r14
rol rax, 0x1b
imul rax, r12
add rcx, r9
add r9, r15
rol r9, 0xf
add rcx, rax
imul r9, r12
add r9, r11
test rbx, rbx
je 0x140014b96
mov rax, qword [rsp + 0x10]
mov rdx, qword [rsp + 8]
add rax, rdx
add rax, 0xfffffffffffffff8
xor r8d, r8d
mov r13, qword [rsp]
movabs rbp, 0x9ddfea08eb382d69
nop word cs:[rax + rax]
sub rcx, r9
rol rcx, 0x16
imul rcx, r12
add rcx, rdi
mov r10, qword [rax - 8]
mov r11, qword [rax]
rol r9, 0xf
add r14, r10
imul r9, r12
add r9, r14
add r14, r15
add r15, qword [rax - 0x18]
add rdi, r11
add rdi, r15
rol rdi, 0x2b
add r10, qword [rax - 0x10]
add r10, r15
mov rdx, r10
rol rdx, 0x14
add r8, 0x20
add r10, r11
add rdx, r15
add rdx, rdi
add rax, 0xffffffffffffffe0
mov r15, r10
mov rdi, rdx
cmp r8, rbx
jb 0x140014a70
jmp 0x140014baa
mov rcx, qword [rdx + rbx - 8]
add rcx, rdi
xor rcx, r11
imul rcx, rbp
mov rax, r11
xor rax, rcx
shr rcx, 0x2f
xor rcx, rax
imul rcx, rbp
mov rax, rcx
shr rax, 0x2f
xor rax, rcx
imul rax, rbp
lea rcx, [r9 + rbx]
mov r8, qword [rdx + rbx - 0x10]
add r8, rax
xor rcx, r8
imul rcx, rbp
xor r8, rcx
shr rcx, 0x2f
xor rcx, r8
imul rcx, rbp
mov rsi, rcx
shr rsi, 0x2f
xor rsi, rcx
imul rsi, rbp
add r11, rsi
mov r10, r11
nop word cs:[rax + rax]
add ebx, 0xfffffff0
mov rcx, qword [rdx]
imul rcx, rdi
mov r11, rcx
shr r11, 0x2f
xor r11, rcx
imul r11, rdi
xor r11, r10
imul r11, rdi
xor r9, r11
mov r10, qword [rdx + 8]
imul r10, rdi
mov rcx, r10
shr rcx, 0x2f
xor rcx, r10
imul rcx, rdi
xor rcx, rax
imul rcx, rdi
xor rsi, rcx
add rdx, 0x10
mov r10, r11
mov rax, rcx
cmp ebx, 0x10
ja 0x140014b40
jmp 0x140014cc9
mov rdx, rdi
mov r10, r15
mov r13, qword [rsp]
movabs rbp, 0x9ddfea08eb382d69
xor r9, r10
imul r9, rbp
xor r10, r9
shr r9, 0x2f
xor r9, r10
imul r9, rbp
mov r8, r9
shr r8, 0x2f
xor r8, r9
imul r8, rbp
xor rcx, r14
imul rcx, rbp
xor r14, rcx
shr rcx, 0x2f
xor rcx, r14
imul rcx, rbp
mov rax, rcx
shr rax, 0x2f
xor rax, rcx
lea rcx, [r8 + rdx]
xor rcx, rsi
imul rcx, rbp
mov r9, rcx
shr r9, 0x2f
xor r9, rsi
xor r9, rcx
imul r9, rbp
mov rcx, r9
shr rcx, 0x2f
xor rcx, r9
add rcx, rax
imul rax, rbp
imul rcx, rbp
add r8, rsi
add rax, rdx
xor r8, rax
jmp 0x140014d15
cmp rbx, 3
jbe 0x140014c6c
mov eax, dword [rdx]
lea rax, [rbx + rax*8]
mov ecx, dword [rdx + rbx - 4]
xor rax, rcx
imul rax, rbp
xor rcx, rax
shr rax, 0x2f
xor rax, rcx
imul rax, rbp
mov rcx, rax
shr rcx, 0x2f
xor rcx, rax
imul rcx, rbp
add rcx, rdi
cmp rbx, 8
jb 0x140014cbf
mov rsi, qword [rdx]
jmp 0x140014cc2
movabs rcx, 0x9ae16a3b2f90404f
test rbx, rbx
je 0x140014cbc
movzx eax, byte [rdx]
mov r8, rbx
shr r8, 1
movzx r10d, byte [rdx + r8]
movzx edx, byte [rbx + rdx - 1]
shl r10, 8
or r10, rax
lea rax, [rbx + rdx*4]
imul r10, rcx
movabs rdx, 0xc949d7c7509e6557
imul rdx, rax
xor rdx, r10
mov rax, rdx
shr rax, 0x2f
xor rax, rdx
imul rcx, rax
add rcx, rdi
mov rsi, rcx
add rsi, r11
rol rsi, 0x20
xor r11, rcx
imul r11, rbp
xor rcx, r11
shr r11, 0x2f
xor r11, rcx
imul r11, rbp
mov rax, r11
shr rax, 0x2f
xor rax, r11
imul rax, rbp
xor rsi, r9
imul rsi, rbp
xor r9, rsi
shr rsi, 0x2f
xor rsi, r9
imul rsi, rbp
mov r8, rsi
shr r8, 0x2f
xor r8, rsi
imul r8, rbp
xor r8, rax
mov rcx, r8
imul r8, rbp
xor rax, r8
shr r8, 0x2f
xor r8, rax
imul r8, rbp
mov rax, r8
shr rax, 0x2f
xor rax, r8
imul rax, rbp
mov qword [r13], rcx
mov qword [r13 + 8], rax
mov rax, r13
add rsp, 0x18
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret