Function at 0x14001ac30
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x38
mov rbp, r8
mov r14, rdx
mov rbx, rcx
movabs r12, 0x9ddfea08eb382d69
mov rcx, qword [r9]
cmp r8, 0x7f
ja 0x14001acb5
mov r15, qword [r9 + 8]
cmp ebp, 0x10
ja 0x14001af4f
movabs rdi, 0xb492b66fbe98f273
imul rcx, rdi
mov rsi, rcx
shr rsi, 0x2f
xor rsi, rcx
imul rsi, rdi
imul rdi, r15
mov rcx, r14
mov rdx, rbp
call fcn.14001aab0
add rax, rdi
mov rcx, rax
cmp rbp, 8
jb 0x14001aca3
mov rcx, qword [r14]
add rcx, rsi
mov rdx, rcx
shr rdx, 0x2f
xor rdx, rcx
jmp 0x14001b011
mov qword [rsp + 0x30], rbx
movabs r11, 0xb492b66fbe98f273
mov r13, qword [r9 + 8]
mov r8, r13
xor r8, r11
rol r8, 0xf
imul r8, r11
add r8, qword [r14]
mov r10, rbp
mov r9, r8
rol r9, 0x16
imul r10, r11
imul r9, r11
add r9, qword [r14 + 8]
lea r12, [r10 + r13]
rol r12, 0x1d
imul r12, r11
mov rax, qword [r14 + 0x58]
add rax, rcx
rol rax, 0xb
add r12, rcx
imul rax, r11
mov rdx, r14
mov qword [rsp + 0x28], r14
lea r15, [r14 + 0x78]
mov qword [rsp + 0x20], rbp
mov rdx, rbp
nop word cs:[rax + rax]
add rcx, r8
add rcx, r13
mov rbx, qword [r15 - 0x70]
mov rdi, qword [r15 - 0x68]
add rcx, rbx
rol rcx, 0x1b
imul rcx, r11
add r13, r9
mov rbp, qword [r15 - 0x48]
add r13, rbp
rol r13, 0x16
imul r13, r11
xor rcx, rax
mov r14, qword [r15 - 0x50]
add r8, r14
add r8, r13
add r10, r12
rol r10, 0x1f
imul r10, r11
imul r9, r11
add r9, qword [r15 - 0x78]
mov r13, qword [r15 - 0x60]
add r12, r9
add r12, r13
add r12, rcx
rol r12, 0x2b
add rbx, rdi
add rbx, r9
mov rsi, rbx
rol rsi, 0x14
add rbx, r13
add rsi, r9
add rsi, r12
add rax, r10
add rdi, r8
mov r9, qword [r15 - 0x40]
add rax, qword [r15 - 0x58]
add rdi, rax
add rdi, r9
rol rdi, 0x2b
add r14, rbp
add r14, rax
mov rbp, r14
rol rbp, 0x14
add r14, r9
add rbp, rax
add r10, rbx
mov r9, qword [r15 - 0x30]
add r10, r9
add r10, r8
rol r10, 0x1b
add rbp, rdi
imul r10, r11
mov rax, qword [r15 - 8]
add r8, rax
add r8, rsi
rol r8, 0x16
imul r8, r11
xor r10, rbp
mov r12, qword [r15 - 0x10]
add rbx, r12
mov r13, rbx
add r13, r8
add rcx, r14
rol rcx, 0x1f
imul rsi, r11
add r14, r10
mov rdi, qword [r15 - 0x28]
mov rbx, qword [r15 - 0x20]
add rsi, qword [r15 - 0x38]
add r14, rbx
add r14, rsi
rol r14, 0x2b
add r9, rdi
add r9, rsi
mov r8, r9
rol r9, 0x14
imul rcx, r11
add r8, rbx
add r9, rsi
add rbp, rcx
add rdi, r13
mov rsi, qword [r15]
add rbp, qword [r15 - 0x18]
add rdi, rsi
add rdi, rbp
rol rdi, 0x2b
add r9, r14
add r12, rax
add r12, rbp
mov rax, r12
rol rax, 0x14
add r12, rsi
add rax, rbp
add rax, rdi
add rdx, 0xffffffffffffff80
sub r15, 0xffffffffffffff80
cmp rdx, 0x7f
ja 0x14001ad30
lea r11, [r8 + r10]
rol r11, 0xf
movabs rbp, 0xc3a5c85c97cb3127
imul r11, rbp
add r11, rcx
imul r13, rbp
mov r15, rax
rol r15, 0x1b
add r15, r13
imul r10, rbp
mov rcx, r12
rol rcx, 0x25
add rcx, r10
lea r10, [r12 + r12*8]
imul r8, rbp
test rdx, rdx
je 0x14001b062
mov rsi, qword [rsp + 0x28]
mov rdi, qword [rsp + 0x20]
add rsi, rdi
add rsi, 0xfffffffffffffff8
xor ebx, ebx
nop dword [rax]
add r15, r11
rol r15, 0x16
add rbx, 0x20
imul r15, rbp
add r15, r9
mov r12, qword [rsi - 0x18]
mov r14, qword [rsi - 8]
add r10, r14
imul r11, rbp
add r11, r10
add rcx, rax
add rcx, r12
add rax, r8
mov r13, qword [rsi]
add r12, r8
add r12, rcx
add r9, r13
add r9, r12
rol r9, 0x2b
add r14, qword [rsi - 0x10]
add r14, r12
mov rdi, r14
rol rdi, 0x14
add r14, r13
add rdi, r12
add rdi, r9
imul r14, rbp
add rsi, 0xffffffffffffffe0
mov r8, r14
mov r9, rdi
cmp rbx, rdx
jb 0x14001aee0
jmp 0x14001b068
movabs r8, 0xb492b66fbe98f273
mov rax, qword [r14 + rbp - 8]
add rax, r8
xor rax, rcx
imul rax, r12
mov rdx, rcx
xor rdx, rax
shr rax, 0x2f
xor rax, rdx
imul rax, r12
mov r9, rax
shr r9, 0x2f
xor r9, rax
imul r9, r12
lea rax, [r15 + rbp]
mov rdx, qword [r14 + rbp - 0x10]
add rdx, r9
xor rax, rdx
imul rax, r12
xor rdx, rax
shr rax, 0x2f
xor rax, rdx
imul rax, r12
mov rdx, rax
shr rdx, 0x2f
xor rdx, rax
imul rdx, r12
add rcx, rdx
nop dword [rax]
add ebp, 0xfffffff0
mov rax, qword [r14]
imul rax, r8
mov rsi, rax
shr rsi, 0x2f
xor rsi, rax
imul rsi, r8
xor rsi, rcx
imul rsi, r8
xor r15, rsi
mov rcx, qword [r14 + 8]
imul rcx, r8
mov rax, rcx
shr rax, 0x2f
xor rax, rcx
imul rax, r8
xor rax, r9
imul rax, r8
xor rdx, rax
add r14, 0x10
mov rcx, rsi
mov r9, rax
cmp ebp, 0x10
ja 0x14001afc0
xor rsi, rax
imul rsi, r12
xor rax, rsi
shr rsi, 0x2f
xor rsi, rax
imul rsi, r12
mov r9, rsi
shr r9, 0x2f
xor r9, rsi
imul r9, r12
xor rdx, r15
imul rdx, r12
xor r15, rdx
shr rdx, 0x2f
xor rdx, r15
imul rdx, r12
mov r8, rdx
shr r8, 0x2f
xor r8, rdx
imul r8, r12
xor r8, r9
mov rax, r8
jmp 0x14001b0f3
mov rdi, r9
mov r14, r8
add rcx, r15
xor r11, r14
movabs r12, 0x9ddfea08eb382d69
imul r11, r12
xor r14, r11
shr r11, 0x2f
xor r11, r14
imul r11, r12
mov r8, r11
shr r8, 0x2f
xor r8, r11
imul r8, r12
xor rcx, r10
imul rcx, r12
xor r10, rcx
shr rcx, 0x2f
xor rcx, r10
imul rcx, r12
mov r9, rcx
shr r9, 0x2f
xor r9, rcx
lea rcx, [r8 + rdi]
xor rcx, rax
imul rcx, r12
add r8, rax
xor rax, rcx
shr rcx, 0x2f
xor rcx, rax
imul rcx, r12
mov rax, rcx
shr rax, 0x2f
xor rax, rcx
add rax, r9
imul r9, r12
imul rax, r12
add r9, rdi
xor r8, r9
mov rbx, qword [rsp + 0x30]
imul r8, r12
xor r9, r8
shr r8, 0x2f
xor r8, r9
imul r8, r12
mov rcx, r8
shr rcx, 0x2f
xor rcx, r8
imul rcx, r12
mov qword [rbx], rax
mov qword [rbx + 8], rcx
mov rax, rbx
add rsp, 0x38
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret