Function at 0x140035b40
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 rax, rdx
cmp rdx, 0x20
ja 0x140035b78
cmp rdx, 0x10
ja 0x140035c48
add rsp, 0x10
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
jmp fcn.140035f10
cmp rdx, 0x40
ja 0x140035cc1
movabs rax, 0x9ae16a3b2f90404f
mov r14, rdx
lea r8, [rax + rdx*2]
mov r10, qword [rcx]
imul r10, rax
mov r9, qword [rcx + rdx - 0x20]
mov r11, qword [rcx + rdx - 0x18]
imul rax, qword [rcx + 0x10]
mov rbx, qword [rcx + 8]
mov rdx, qword [rcx + 0x18]
lea rdi, [rdx + rdx*8]
mov rsi, qword [rcx + r14 - 8]
mov rcx, qword [rcx + r14 - 0x10]
imul rcx, r8
add r10, rsi
mov rdx, r10
rol rdx, 0x15
add rax, rdi
mov r14, rax
add rax, r11
add rsi, rax
add rax, rbx
rol rbx, 0x22
add rbx, r11
lea rbx, [rbx + rbx*8]
add rbx, rdx
xor r10, r9
lea rdx, [rdi + r10]
add r10, rdi
inc r10
add r10, rbx
imul r10, r8
bswap r10
rol r14, 0x16
add r14, r11
add rdx, rcx
inc rdx
add rdx, r10
imul rdx, r8
bswap rdx
add rsi, r14
add rsi, rdx
imul rsi, r8
bswap rsi
add rax, rsi
imul rax, r8
add rcx, r9
add rcx, rax
mov rax, rcx
shr rax, 0x2f
xor rax, rcx
imul rax, r8
add rax, r14
jmp 0x140035eff
movabs rsi, 0x9ae16a3b2f90404f
lea r8, [rsi + rdx*2]
movabs r9, 0xb492b66fbe98f273
imul r9, qword [rcx]
mov rax, qword [rcx + 8]
mov r10, qword [rcx + rdx - 8]
imul r10, r8
mov rcx, qword [rcx + rdx - 0x10]
imul rcx, rsi
lea r11, [r9 + rax]
rol r11, 0x15
add rax, rsi
rol rax, 0x2e
add rax, r9
add rax, r10
rol r10, 0x22
add r10, r11
add r10, rcx
xor r10, rax
imul r10, r8
xor rax, r10
shr r10, 0x2f
xor r10, rax
imul r10, r8
mov rax, r10
shr rax, 0x2f
xor rax, r10
imul rax, r8
jmp 0x140035eff
movabs r12, 0xb492b66fbe98f273
movabs rbx, 0x9ddfea08eb382d69
mov rax, qword [rcx + rdx - 0x28]
mov r14, qword [rcx + rdx - 0x10]
mov r8, qword [rcx + rdx - 0x38]
mov r11, qword [rcx + rdx - 0x30]
lea r10, [r8 + r14]
lea rdi, [r11 + rdx]
mov rsi, qword [rcx + rdx - 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 [rcx + rdx - 0x40]
add rdi, rdx
lea rbx, [rax + rdi]
add rbx, r13
rol rbx, 0x2b
add r8, r11
add r8, rdi
mov r11, r8
rol r11, 0x14
add r8, rax
add r11, rdi
add r11, rbx
mov rdi, qword [rcx + rdx - 0x20]
add rdi, r10
mov rbx, qword [rcx + rdx - 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 [rcx]
add r14, r15
dec rdx
and rdx, 0xffffffffffffffc0
mov qword [rsp], rdx
xor r15d, r15d
movabs r9, 0xb492b66fbe98f273
nop word cs:[rax + rax]
mov rbx, r13
add rax, r8
add rax, r10
mov rdi, qword [rcx + r15 + 8]
mov r12, qword [rcx + r15 + 0x10]
add rax, rdi
rol rax, 0x1b
add r10, r11
mov rdx, qword [rcx + r15 + 0x30]
mov qword [rsp + 8], rdx
add r10, rdx
rol r10, 0x16
imul rax, r9
mov rdx, r10
imul rdx, r9
mov r13, rax
xor r13, r14
mov rbp, qword [rcx + r15 + 0x28]
add r8, rbp
mov r10, r8
add r10, rdx
add rbx, rsi
rol rbx, 0x1f
mov rax, rbx
imul rax, r9
imul r11, r9
mov rdx, qword [rcx + r15 + 0x18]
add r11, qword [rcx + r15]
add rsi, r11
add rsi, rdx
add rdi, r12
add rdi, r11
mov r8, rdi
rol rdi, 0x14
add r8, rdx
add r11, rdi
add r14, rax
add r12, r10
add r14, qword [rcx + r15 + 0x20]
mov rdx, qword [rcx + r15 + 0x38]
add r12, r14
add r12, rdx
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, rdx
rol rbp, 0x14
add r14, rbp
add r14, r12
add r15, 0x40
cmp qword [rsp], r15
jne 0x140035da0
xor r8, rsi
movabs rdi, 0x9ddfea08eb382d69
imul r8, rdi
xor rsi, r8
shr r8, 0x2f
xor r8, rsi
imul r8, rdi
mov rdx, r8
shr rdx, 0x2f
xor rdx, r8
imul rdx, rdi
mov rcx, r10
shr rcx, 0x2f
xor rcx, r10
movabs r8, 0xb492b66fbe98f273
imul rcx, r8
add rcx, r13
add rcx, rdx
xor r11, r14
imul r11, rdi
xor r14, r11
shr r11, 0x2f
xor r11, r14
imul r11, rdi
mov rdx, r11
shr rdx, 0x2f
xor rdx, r11
imul rdx, rdi
add rdx, rax
xor rcx, rdx
imul rcx, rdi
xor rdx, rcx
shr rcx, 0x2f
xor rcx, rdx
imul rcx, rdi
mov rax, rcx
shr rax, 0x2f
xor rax, rcx
imul rax, rdi
add rsp, 0x10
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret