Function at 0x14001f110
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 rbx, rdx
mov r14, rcx
movabs r12, 0x9ddfea08eb382d69
mov rcx, qword [r9]
mov r15, qword [r9 + 8]
cmp r8, 0x7f
ja 0x14001f196
movabs rdi, 0xb492b66fbe98f273
cmp r8d, 0x10
ja 0x14001f43f
imul rcx, rdi
mov rsi, rcx
shr rsi, 0x2f
xor rsi, rcx
imul rsi, rdi
imul rdi, r15
mov rcx, rbx
mov rdx, r8
mov rbp, r8
call fcn.14001ef90
add rax, rdi
mov rcx, rax
cmp rbp, 8
jb 0x14001f184
mov rcx, qword [rbx]
add rcx, rsi
mov rdx, rcx
shr rdx, 0x2f
xor rdx, rcx
jmp 0x14001f503
mov qword [rsp + 0x30], r14
movabs r9, 0xb492b66fbe98f273
mov rdi, r8
imul rdi, r9
mov r12, r15
xor r12, r9
rol r12, 0xf
imul r12, r9
mov rbp, qword [rbx]
mov r11, qword [rbx + 8]
add r12, rbp
mov rsi, r12
rol rsi, 0x16
imul rsi, r9
add rsi, r11
lea rax, [r15 + rdi]
rol rax, 0x1d
imul rax, r9
mov r13, qword [rbx + 0x58]
add r13, rcx
rol r13, 0xb
add rax, rcx
imul r13, r9
mov rdx, rbx
mov qword [rsp + 0x28], rbx
lea r10, [rbx + 0x88]
mov qword [rsp + 0x20], r8
add r8, 0xffffffffffffff80
nop dword [rax + rax]
add rcx, r12
add rcx, r15
add rcx, r11
rol rcx, 0x1b
imul rcx, r9
add r15, rsi
mov rdx, qword [r10 - 0x58]
add r15, rdx
rol r15, 0x16
imul r15, r9
xor rcx, r13
mov r14, qword [r10 - 0x60]
add r12, r14
add r12, r15
add rdi, rax
rol rdi, 0x1f
imul rdi, r9
imul rsi, r9
add rsi, rbp
mov rbx, qword [r10 - 0x78]
mov r15, qword [r10 - 0x70]
add rax, rsi
add rax, rcx
add rax, r15
rol rax, 0x2b
add r11, rsi
add r11, rbx
mov rbp, r11
rol rbp, 0x14
add r11, r15
add rbp, rsi
add rbp, rax
add r13, rdi
add rbx, r12
mov rax, qword [r10 - 0x50]
add r13, qword [r10 - 0x68]
add rbx, r13
add rbx, rax
rol rbx, 0x2b
add r14, r13
add r14, rdx
mov rdx, r14
rol rdx, 0x14
add r14, rax
add rdx, r13
add rdx, rbx
add rdi, r12
add rdi, r11
mov rsi, qword [r10 - 0x40]
add rdi, rsi
rol rdi, 0x1b
add r12, rbp
mov r13, qword [r10 - 0x18]
add r12, r13
rol r12, 0x16
imul rdi, r9
imul r12, r9
xor rdi, rdx
mov rax, qword [r10 - 0x20]
add r11, rax
mov r15, r11
add rcx, r14
rol rcx, 0x1f
add r15, r12
imul rcx, r9
imul rbp, r9
add r14, rdi
mov rbx, qword [r10 - 0x38]
mov r11, qword [r10 - 0x30]
add rbp, qword [r10 - 0x48]
add r14, rbp
add r14, r11
rol r14, 0x2b
add rsi, rbp
add rsi, rbx
mov r12, rsi
rol rsi, 0x14
add r12, r11
add rsi, rbp
add rsi, r14
add rdx, rcx
add rbx, r15
mov rbp, qword [r10 - 0x10]
add rdx, qword [r10 - 0x28]
add rbx, rdx
add rbx, rbp
rol rbx, 0x2b
add rax, rdx
add rax, r13
mov r13, rax
rol r13, 0x14
add rax, rbp
add r13, rdx
add r13, rbx
cmp r8, 0x80
jb 0x14001f36b
mov rbp, qword [r10 - 8]
mov r11, qword [r10]
sub r10, 0xffffffffffffff80
add r8, 0xffffffffffffff80
jmp 0x14001f210
movabs r10, 0xc3a5c85c97cb3127
lea r9, [r12 + rdi]
rol r9, 0xf
imul r9, r10
add r9, rcx
imul r15, r10
mov rcx, r13
rol rcx, 0x1b
add rcx, r15
imul rdi, r10
mov rbp, rax
rol rbp, 0x25
add rbp, rdi
lea r11, [rax + rax*8]
imul r12, r10
test r8, r8
je 0x14001f56b
mov rax, qword [rsp + 0x28]
mov rdx, qword [rsp + 0x20]
add rax, rdx
add rax, 0xfffffffffffffff8
xor r14d, r14d
nop word cs:[rax + rax]
nop
add r14, 0x20
add rcx, r9
rol rcx, 0x16
imul rcx, r10
add rcx, rsi
mov rbx, qword [rax - 0x18]
mov rdx, qword [rax - 8]
add r11, rdx
imul r9, r10
add r9, r11
add rbp, r13
add rbp, rbx
mov r15, qword [rax]
add rbx, r12
add rbx, rbp
add rsi, r15
add rsi, rbx
rol rsi, 0x2b
add r13, r12
add rdx, qword [rax - 0x10]
add rdx, rbx
mov rdi, rdx
rol rdi, 0x14
add rdx, r15
add rdi, rbx
add rdi, rsi
imul rdx, r10
add rax, 0xffffffffffffffe0
mov r12, rdx
mov rsi, rdi
cmp r14, r8
jb 0x14001f3d0
jmp 0x14001f571
mov rax, qword [rbx + r8 - 8]
add rax, rdi
xor rax, rcx
imul rax, r12
mov rdx, rax
shr rdx, 0x2f
xor rax, rcx
xor rax, rdx
imul rax, r12
mov rbp, rax
shr rbp, 0x2f
xor rbp, rax
imul rbp, r12
lea rax, [r15 + r8]
mov rdx, qword [rbx + r8 - 0x10]
add rdx, rbp
xor rax, rdx
imul rax, r12
mov rsi, rax
shr rsi, 0x2f
xor rax, rdx
xor rax, rsi
imul rax, r12
mov rdx, rax
shr rdx, 0x2f
xor rdx, rax
imul rdx, r12
add rcx, rdx
nop word cs:[rax + rax]
nop dword [rax]
add r8d, 0xfffffff0
mov rax, qword [rbx]
imul rax, rdi
mov rsi, rax
shr rsi, 0x2f
xor rsi, rax
imul rsi, rdi
xor rsi, rcx
imul rsi, rdi
xor r15, rsi
mov rcx, qword [rbx + 8]
imul rcx, rdi
mov rax, rcx
shr rax, 0x2f
xor rax, rcx
imul rax, rdi
xor rax, rbp
imul rax, rdi
xor rdx, rax
add rbx, 0x10
mov rcx, rsi
mov rbp, rax
cmp r8d, 0x10
ja 0x14001f4b0
xor rsi, rax
imul rsi, r12
mov rcx, rsi
shr rcx, 0x2f
xor rsi, rax
xor rsi, rcx
imul rsi, r12
mov rbp, rsi
shr rbp, 0x2f
xor rbp, rsi
imul rbp, r12
xor rdx, r15
imul rdx, r12
mov rax, rdx
shr rax, 0x2f
xor rdx, r15
xor rdx, rax
imul rdx, r12
mov rbx, rdx
shr rbx, 0x2f
xor rbx, rdx
imul rbx, r12
xor rbx, rbp
mov rax, rbx
imul rax, r12
mov rdx, rax
shr rdx, 0x2f
xor rax, rbp
xor rax, rdx
jmp 0x14001f616
mov rdi, rsi
mov rdx, r12
add rbp, rcx
xor r9, rdx
movabs r12, 0x9ddfea08eb382d69
imul r9, r12
mov rax, r9
shr rax, 0x2f
xor r9, rdx
xor r9, rax
imul r9, r12
mov rax, r9
shr rax, 0x2f
xor rax, r9
imul rax, r12
xor rbp, r11
imul rbp, r12
mov rcx, rbp
shr rcx, 0x2f
xor rbp, r11
xor rbp, rcx
imul rbp, r12
mov rdx, rbp
shr rdx, 0x2f
xor rdx, rbp
imul rdx, r12
lea rcx, [rax + rdi]
xor rcx, r13
imul rcx, r12
mov rbp, rcx
shr rbp, 0x2f
xor rcx, r13
xor rcx, rbp
imul rcx, r12
mov rbx, rcx
shr rbx, 0x2f
xor rbx, rcx
imul rbx, r12
add rbx, rdx
add rax, r13
add rdx, rdi
xor rax, rdx
imul rax, r12
mov rcx, rax
shr rcx, 0x2f
xor rax, rdx
xor rax, rcx
mov r14, qword [rsp + 0x30]
imul rax, r12
mov rcx, rax
shr rcx, 0x2f
xor rcx, rax
imul rcx, r12
mov qword [r14], rbx
mov qword [r14 + 8], rcx
mov rax, r14
add rsp, 0x38
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret