Function at 0x14004b680
Capabilities:
Encode data using xor

Disassembly:
mov rdx, qword [rcx]
mov rcx, qword [rcx + 8]
jmp 0x14004b680
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 0x14004b6b8
cmp rdx, 0x10
ja 0x14004b78d
add rsp, 0x18
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
jmp 0x14004ba70
cmp rdx, 0x40
ja 0x14004b802
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 0x14004ba5f
movabs rax, 0x9ae16a3b2f90404f
lea r8, [rax + rdx*2]
movabs rdi, 0xb492b66fbe98f273
imul rdi, qword [rcx]
mov rsi, qword [rcx + 8]
mov rbx, qword [rcx + rdx - 8]
imul rbx, r8
lea rbp, [rsi + rax]
imul rax, qword [rcx + rdx - 0x10]
rol rbp, 0x2e
add rbp, rdi
add rdi, rsi
rol rdi, 0x15
add rbp, rbx
rol rbx, 0x22
add rbx, rdi
add rbx, rax
xor rbx, rbp
imul rbx, r8
mov rax, rbx
shr rax, 0x2f
xor rbx, rbp
xor rbx, rax
imul rbx, r8
mov rax, rbx
shr rax, 0x2f
xor rax, rbx
jmp 0x14004ba5b
movabs r11, 0xb492b66fbe98f273
movabs r10, 0x9ddfea08eb382d69
mov rbp, rdx
mov rdi, qword [rcx + rdx - 0x28]
mov r8, qword [rcx + rdx - 0x10]
mov r9, qword [rcx + rdx - 0x38]
mov rbx, qword [rcx + rdx - 0x30]
mov r12, rcx
lea r14, [r9 + r8]
mov rax, qword [rcx + rdx - 0x18]
lea rsi, [rbx + rdx]
xor rsi, rax
imul rsi, r10
mov rdx, rsi
shr rdx, 0x2f
xor rsi, rax
xor rsi, rdx
imul rsi, r10
mov rcx, rsi
shr rcx, 0x2f
xor rcx, rsi
imul rcx, r10
mov rdx, qword [r12 + rbp - 0x40]
add rdx, rbp
lea rsi, [rdx + rdi]
add rsi, rcx
rol rsi, 0x2b
add r9, rbx
add r9, rdx
mov rbx, r9
rol rbx, 0x14
add rbx, rdx
add rbx, rsi
add r9, rdi
mov rdx, qword [r12 + rbp - 0x20]
add rdx, r14
mov r10, qword [r12 + rbp - 8]
add rdx, r11
lea r15, [r10 + rdi]
add r15, rdx
rol r15, 0x2b
add rax, r8
add rax, rdx
mov rsi, rax
rol rsi, 0x14
add rsi, rdx
add rsi, r15
imul rdi, r11
mov qword [rsp], r12
add rdi, qword [r12]
add rax, r10
dec rbp
and rbp, 0xffffffffffffffc0
mov qword [rsp + 8], rbp
xor r15d, r15d
mov rdx, qword [rsp]
nop dword [rax]
mov r13, rcx
add rdi, r9
add rdi, r14
mov r10, qword [rdx + r15 + 8]
mov r12, qword [rdx + r15 + 0x10]
add rdi, r10
rol rdi, 0x1b
add r14, rbx
mov rcx, qword [rdx + r15 + 0x30]
mov qword [rsp + 0x10], rcx
add r14, rcx
rol r14, 0x16
movabs rcx, 0xb492b66fbe98f273
imul rdi, rcx
mov r11, r14
imul r11, rcx
mov rbp, rcx
mov rcx, rdi
xor rcx, rsi
mov r8, qword [rdx + r15 + 0x28]
add r9, r8
mov r14, r9
add r14, r11
add r13, rax
imul rbx, rbp
mov r11, rbp
mov rbp, qword [rdx + r15 + 0x18]
add rbx, qword [rdx + r15]
add rax, rbp
add rax, rcx
add rax, rbx
rol rax, 0x2b
add r10, r12
add r10, rbx
mov rdi, r10
rol rdi, 0x14
add rbx, rdi
add rbx, rax
rol r13, 0x1f
mov r9, r10
mov rdi, r13
imul rdi, r11
add r9, rbp
add r12, r14
add rsi, rdi
add rsi, qword [rdx + r15 + 0x20]
mov rbp, qword [rdx + r15 + 0x38]
add r12, rbp
add r12, rsi
add r8, qword [rsp + 0x10]
add r8, rsi
mov rax, r8
rol rax, 0x14
add rsi, rax
rol r12, 0x2b
add rsi, r12
mov rax, r8
add rax, rbp
add r15, 0x40
cmp qword [rsp + 8], r15
jne 0x14004b8e0
xor rbx, rsi
movabs r8, 0x9ddfea08eb382d69
imul rbx, r8
mov rdx, rbx
shr rdx, 0x2f
xor rbx, rsi
xor rbx, rdx
imul rbx, r8
mov rdx, rbx
shr rdx, 0x2f
xor rdx, rbx
imul rdx, r8
add rdx, rdi
xor r9, rax
imul r9, r8
mov rbp, r9
shr rbp, 0x2f
xor r9, rax
xor r9, rbp
imul r9, r8
mov rax, r9
shr rax, 0x2f
xor rax, r9
imul rax, r8
mov rbp, r14
shr rbp, 0x2f
xor rbp, r14
movabs rbx, 0xb492b66fbe98f273
imul rbp, rbx
add rbp, rcx
add rbp, rax
xor rbp, rdx
imul rbp, r8
mov rax, rbp
shr rax, 0x2f
xor rbp, rdx
xor rbp, rax
imul rbp, r8
mov rax, rbp
shr rax, 0x2f
xor rax, rbp
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 0x14004babb
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
mov rcx, rdx
shr rcx, 0x2f
xor rdx, rax
xor rdx, rcx
jmp 0x14004bae3
cmp rdx, 4
jb 0x14004baf6
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
mov rax, rdx
shr rax, 0x2f
xor rdx, rcx
xor rdx, rax
imul rdx, r8
mov rax, rdx
shr rax, 0x2f
xor rax, rdx
imul rax, r8
ret
test rdx, rdx
je 0x14004bb3d
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