Function at 0x140048764
Capabilities:
Encode data using xor
Hash data using murmur3

Disassembly:
mov rax, rsp
mov qword [rax + 8], rbx
mov qword [rax + 0x10], rsi
mov qword [rax + 0x18], rdi
mov qword [rax + 0x20], r12
push rbp
push r14
push r15
mov rbp, rsp
sub rsp, 0x50
xor r12d, r12d
mov rsi, rcx
mov cl, byte [rcx + 0x20]
mov r15, r8
mov r14, rdx
mov qword [rdx], r12
mov byte [rdx + 8], r12b
mov edx, r12d
lea edi, [r12 + 8]
mov r9d, edi
shl r9, cl
lea rcx, [rdi - 0xa]
lea r8, [r9 - 1]
mov rax, qword [r15 + rcx*8 + 0x10]
movabs r10, 0x87c37b91114253d5
imul rax, r10
movabs r10, 0x4cf5ad432745937f
rol rax, 0x1f
imul rax, r10
xor rax, rdx
rol rax, 0x1b
lea rdx, [rax*4 + 0x52dce729]
add rdx, rax
add rcx, 1
jne 0x1400487af
xor rdx, 0x10
movabs rcx, 0xff51afd7ed558ccd
mov rax, rdx
shr rax, 0x21
xor rax, rdx
mov rdx, qword [rsi + 0x10]
imul rax, rcx
mov rcx, rax
shr rcx, 0x21
xor rcx, rax
movabs rax, 0xc4ceb9fe1a85ec53
imul rcx, rax
mov rbx, rcx
shr rbx, 0x21
xor rbx, rcx
mov rax, rbx
and rax, r8
test rdx, rdx
jne 0x1400488b5
movabs rax, 0xfffffffffffffff
cmp r9, rax
ja 0x140048895
shl r9, 4
lea rdx, [0x1400725e4]
mov rcx, r9
call fcn.140062fd4
mov qword [rsi + 0x10], rax
test rax, rax
je 0x140048899
mov cl, byte [rsi + 0x20]
mov rdx, rdi
shl rdx, cl
test rdx, rdx
je 0x140048890
mov rcx, r12
mov rax, qword [rsi + 0x10]
mov qword [rcx + rax], r12
lea rcx, [rcx + 0x10]
mov rax, qword [rsi + 0x10]
mov qword [rax + rcx - 8], r12
sub rdx, 1
jne 0x140048875
mov al, r12b
jmp 0x14004889f
mov qword [rsi + 0x10], r12
mov byte [rbp - 8], 1
mov al, 1
mov qword [rbp - 0x18], r12
mov qword [rbp - 0x10], rbx
movups xmm0, xmmword [rbp - 0x18]
movups xmmword [rbp - 0x30], xmm0
test al, al
je 0x140048924
jmp 0x140048908
add rax, rax
mov rcx, qword [rdx + rax*8]
test rcx, rcx
jne 0x1400488c7
mov qword [rbp - 0x18], r12
jmp 0x140048918
mov rax, qword [rdx + rax*8 + 8]
mov rdx, qword [rax]
cmp rcx, rdx
je 0x140048914
cmp qword [rcx + 0x10], rbx
jb 0x1400488ef
ja 0x140048914
mov rax, qword [r15]
cmp rax, qword [rcx + 0x18]
jne 0x1400488ef
mov rax, qword [r15 + 8]
cmp rax, qword [rcx + 0x20]
je 0x1400488f4
mov rcx, qword [rcx]
jmp 0x1400488cf
mov qword [rbp - 0x18], rcx
mov qword [rbp - 0x10], rbx
movups xmm0, xmmword [rbp - 0x18]
mov byte [rbp - 8], 2
movups xmmword [rbp - 0x30], xmm0
mov rax, qword [rbp - 0x30]
mov qword [r14], rax
jmp 0x1400489d1
mov qword [rbp - 0x18], rcx
mov qword [rbp - 0x10], rbx
movups xmm0, xmmword [rbp - 0x18]
movups xmmword [rbp - 0x30], xmm0
lea rdx, [0x1400725e4]
mov ecx, 0x30
call fcn.140062fd4
mov rbx, rax
test rax, rax
je 0x1400489d1
movups xmm0, xmmword [r15]
mov rdx, qword [rbp - 0x28]
movdqu xmmword [rax + 0x18], xmm0
mov dword [rax + 0x28], r12d
mov cl, byte [rsi + 0x20]
mov rax, qword [rbp - 0x30]
shl rdi, cl
dec rdi
and rdi, rdx
shl rdi, 4
add rdi, qword [rsi + 0x10]
test rax, rax
jne 0x140048977
mov qword [rdi], rbx
mov rax, rsi
jmp 0x14004898a
cmp qword [rdi], rax
jne 0x140048981
mov qword [rdi], rbx
jmp 0x14004898e
mov rcx, qword [rdi + 8]
cmp qword [rcx], rax
jne 0x14004898e
mov qword [rdi + 8], rbx
mov qword [rbx + 0x10], rdx
mov rcx, qword [rax + 8]
mov qword [rbx + 8], rcx
mov qword [rbx], rax
mov qword [rcx], rbx
mov qword [rax + 8], rbx
mov r8, qword [rsi + 0x18]
mov cl, byte [rsi + 0x20]
inc r8
movzx eax, byte [rsi + 0x21]
mov qword [rsi + 0x18], r8
shr r8, cl
cmp rax, r8
jae 0x1400489c9
lea edx, [rcx + 1]
mov rcx, rsi
call fcn.1400489fc
mov qword [r14], rbx
mov byte [r14 + 8], 1
lea r11, [rsp + 0x50]
mov rax, r14
mov rbx, qword [r11 + 0x20]
mov rsi, qword [r11 + 0x28]
mov rdi, qword [r11 + 0x30]
mov r12, qword [r11 + 0x38]
mov rsp, r11
pop r15
pop r14
pop rbp
ret