Function at 0x140154430
Capabilities:
Encode data using xor

Disassembly:
mov rdx, qword [rcx]
mov rcx, qword [rcx + 8]
jmp 0x140154430
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x18
mov rax, rdx
cmp rdx, 0x20
ja 0x140154468
cmp rdx, 0x10
ja 0x14015453d
add rsp, 0x18
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
jmp 0x140154820
cmp rdx, 0x40
ja 0x1401545af
movabs rax, 0x9ae16a3b2f90404f
lea r15, [rax + rdx*2]
mov rsi, qword [rcx]
imul rsi, rax
mov r8, qword [rcx + rdx - 0x20]
mov r9, qword [rcx + rdx - 0x18]
imul rax, qword [rcx + 0x10]
mov r10, qword [rcx + 8]
mov rbp, qword [rcx + 0x18]
lea r11, [rbp*8]
add r11, rbp
mov rdi, qword [rcx + rdx - 8]
mov rcx, qword [rcx + rdx - 0x10]
imul rcx, r15
add rsi, rdi
mov r14, rsi
rol r14, 0x15
add rax, r11
mov rbp, rax
add rax, r9
add rdi, rax
add rax, r10
rol r10, 0x22
add r10, r9
lea rdx, [r10 + r10*8]
add rdx, r14
xor rsi, r8
lea rbx, [r11 + rsi]
add rsi, r11
inc rsi
add rsi, rdx
imul rsi, r15
bswap rsi
rol rbp, 0x16
add rbp, r9
lea rdx, [rcx + rbx]
inc rdx
add rdx, rsi
imul rdx, r15
bswap rdx
add rdi, rbp
add rdi, rdx
imul rdi, r15
bswap rdi
add rax, rdi
imul rax, r15
add rcx, r8
add rcx, rax
mov rax, rcx
shr rax, 0x2f
xor rax, rcx
imul rax, r15
add rax, rbp
jmp 0x140154806
movabs rax, 0x9ae16a3b2f90404f
movabs rdi, 0xb492b66fbe98f273
imul rdi, qword [rcx]
lea r8, [rax + rdx*2]
mov rsi, qword [rcx + 8]
mov rbx, qword [rcx + rdx - 8]
lea rbp, [rsi + rax]
imul rax, qword [rcx + rdx - 0x10]
rol rbp, 0x2e
imul rbx, r8
add rbp, rdi
add rbp, rbx
add rdi, rsi
rol rdi, 0x15
rol rbx, 0x22
add rbx, rdi
add rbx, rax
xor rbx, rbp
imul rbx, r8
xor rbp, rbx
shr rbx, 0x2f
xor rbx, rbp
imul rbx, r8
mov rax, rbx
shr rax, 0x2f
xor rax, rbx
jmp 0x140154802
movabs r10, 0xb492b66fbe98f273
movabs r15, 0x9ddfea08eb382d69
mov rbp, rdx
mov rdi, qword [rcx + rdx - 0x28]
mov r8, qword [rcx + rdx - 0x10]
mov r12, rcx
mov r9, qword [rcx + rdx - 0x38]
mov r14, qword [rcx + rdx - 0x30]
lea r11, [r9 + r8]
mov rsi, qword [rcx + rdx - 0x18]
lea rbx, [r14 + rdx]
xor rbx, rsi
imul rbx, r15
mov rax, rsi
xor rax, rbx
shr rbx, 0x2f
xor rbx, rax
imul rbx, r15
mov rdx, rbx
shr rdx, 0x2f
xor rdx, rbx
imul rdx, r15
mov rax, qword [rcx + rbp - 0x40]
add rax, rbp
lea rcx, [rax + rdi]
add rcx, rdx
rol rcx, 0x2b
add r9, r14
add r9, rax
mov rbx, r9
rol rbx, 0x14
add rbx, rax
add rbx, rcx
add r9, rdi
mov rcx, qword [r12 + rbp - 0x20]
add rcx, r11
mov r14, qword [r12 + rbp - 8]
add rcx, r10
lea r15, [r14 + rdi]
add r15, rcx
rol r15, 0x2b
add rsi, r8
add rsi, rcx
mov rax, rsi
rol rax, 0x14
add rax, rcx
add rax, r15
imul rdi, r10
mov r10, rdx
mov qword [rsp], r12
add rdi, qword [r12]
add rsi, r14
dec rbp
and rbp, 0xffffffffffffffc0
mov qword [rsp + 8], rbp
xor r15d, r15d
mov rdx, qword [rsp]
nop dword [rax]
mov r13, r10
add rdi, r9
add rdi, r11
mov r14, qword [rdx + r15 + 8]
mov r12, qword [rdx + r15 + 0x10]
add rdi, r14
rol rdi, 0x1b
add r11, rbx
mov rcx, qword [rdx + r15 + 0x30]
mov qword [rsp + 0x10], rcx
add r11, rcx
rol r11, 0x16
movabs rcx, 0xb492b66fbe98f273
imul rdi, rcx
mov r10, r11
imul r10, rcx
xor rdi, rax
mov r8, qword [rdx + r15 + 0x28]
add r9, r8
mov r11, r9
add r11, r10
mov r10, rdi
add r13, rsi
imul rbx, rcx
mov rbp, qword [rdx + r15 + 0x18]
add rbx, qword [rdx + r15]
add rsi, rbp
add rsi, rdi
add rsi, rbx
rol rsi, 0x2b
add r14, r12
add r14, rbx
mov rdi, r14
rol rdi, 0x14
add rbx, rdi
add rbx, rsi
rol r13, 0x1f
mov r9, r14
mov rdi, r13
imul rdi, rcx
add r9, rbp
add r12, r11
add rax, rdi
add rax, qword [rdx + r15 + 0x20]
mov rbp, qword [rdx + r15 + 0x38]
add r12, rbp
add r12, rax
add r8, qword [rsp + 0x10]
add r8, rax
mov rcx, r8
rol rcx, 0x14
add rax, rcx
rol r12, 0x2b
add rax, r12
mov rsi, r8
add rsi, rbp
add r15, 0x40
cmp qword [rsp + 8], r15
jne 0x140154690
xor rbx, rax
movabs r8, 0x9ddfea08eb382d69
imul rbx, r8
mov rcx, rbx
shr rcx, 0x2f
xor rcx, rax
xor rcx, rbx
imul rcx, r8
mov rax, rcx
shr rax, 0x2f
xor rax, rcx
imul rax, r8
add rax, rdi
xor r9, rsi
imul r9, r8
mov rcx, r9
shr rcx, 0x2f
xor rcx, rsi
xor rcx, r9
imul rcx, r8
mov rbp, rcx
shr rbp, 0x2f
xor rbp, rcx
imul rbp, r8
mov rcx, r11
shr rcx, 0x2f
xor rcx, r11
movabs rbx, 0xb492b66fbe98f273
imul rcx, rbx
add rcx, r10
add rcx, rbp
xor rcx, rax
imul rcx, r8
xor rax, rcx
shr rcx, 0x2f
xor rcx, rax
imul rcx, r8
mov rax, rcx
shr rax, 0x2f
xor rax, rcx
imul rax, r8
add rsp, 0x18
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
movabs rax, 0x9ae16a3b2f90404f
cmp rdx, 8
jb 0x140154868
lea r8, [rax + rdx*2]
add rax, qword [rcx]
mov rcx, qword [rcx + rdx - 8]
mov rdx, rcx
rol rdx, 0x1b
imul rdx, r8
add rdx, rax
rol rax, 0x27
add rax, rcx
imul rax, r8
xor rdx, rax
imul rdx, r8
xor rax, rdx
shr rdx, 0x2f
xor rdx, rax
jmp 0x14015488d
cmp rdx, 4
jb 0x1401548a0
lea r8, [rax + rdx*2]
mov eax, dword [rcx]
mov ecx, dword [rcx + rdx - 4]
lea rdx, [rdx + rax*8]
xor rdx, rcx
imul rdx, r8
xor rcx, rdx
shr rdx, 0x2f
xor rdx, rcx
imul rdx, r8
mov rax, rdx
shr rax, 0x2f
xor rax, rdx
imul rax, r8
ret
test rdx, rdx
je 0x1401548e7
movzx r8d, byte [rcx]
mov r9, rdx
shr r9, 1
movzx r9d, byte [rcx + r9]
movzx ecx, byte [rdx + rcx - 1]
shl r9, 8
or r9, r8
lea rcx, [rdx + rcx*4]
imul r9, rax
movabs rdx, 0xc3a5c85c97cb3127
imul rdx, rcx
xor rdx, r9
mov rcx, rdx
shr rcx, 0x2f
xor rcx, rdx
imul rax, rcx
ret