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

Disassembly:
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x40
mov qword [rsp + 0x28], 0xfffffffffffffffe
mov qword [rsp + 0x88], rbx
mov r14, rcx
cmp qword [rcx + 0x458], 0
jne 0x1400f1c85
xor al, al
jmp 0x1400f1edb
mov rcx, qword [rdx]
call fcn.1402bc8c0
mov rsi, rax
test rax, rax
je 0x1400f1c7e
mov rcx, rax
call fcn.1402bcb38
xor r15b, r15b
mov rbp, rsi
xor r12d, r12d
lea r13, [0x140348ca0]
nop dword [rax]
mov edx, 0x5c
mov rcx, rbp
call fcn.1402bcdb4
mov rbp, rax
test rax, rax
jne 0x1400f1cdd
or r8, 0xffffffffffffffff
nop dword [rax]
inc r8
cmp word [rsi + r8*2], 0
jne 0x1400f1cd0
jmp 0x1400f1cea
add rbp, 2
mov r8, rbp
sub r8, rsi
sar r8, 1
lea r11d, [r8 + r8]
mov eax, r11d
cdq
and edx, 3
add eax, edx
sar eax, 2
mov r9d, r12d
lea ecx, [rax*4]
movsxd r10, ecx
add r10, rsi
neg eax
movsxd rdx, eax
je 0x1400f1d39
imul eax, dword [r10 + rdx*4], 0xcc9e2d51
rol eax, 0xf
imul ecx, eax, 0x1b873593
xor r9d, ecx
rol r9d, 0xd
add r9d, 0xfaddaf14
lea r9d, [r9 + r9*4]
inc rdx
jne 0x1400f1d11
mov edx, r12d
mov ecx, r11d
and ecx, 3
dec ecx
je 0x1400f1d60
dec ecx
je 0x1400f1d56
dec ecx
jne 0x1400f1d78
movzx edx, byte [r10 + 2]
shl edx, 0x10
movzx eax, byte [r10 + 1]
shl eax, 8
xor edx, eax
movzx eax, byte [r10]
xor eax, edx
imul ecx, eax, 0xcc9e2d51
rol ecx, 0x10
imul eax, ecx, 0x1b873593
xor r9d, eax
xor r9d, r11d
mov eax, r9d
shr eax, 0x10
xor eax, r9d
imul ecx, eax, 0x85ebca6b
mov eax, ecx
shr eax, 0xd
xor eax, ecx
imul ecx, eax, 0xc2b2ae35
mov r9d, ecx
shr r9d, 0x10
xor r9d, ecx
mov rax, qword [r14 + 0x450]
mov rcx, qword [rax + 8]
mov rdx, rax
cmp byte [rcx + 0x19], 0
jne 0x1400f1dcd
cmp dword [rcx + 0x1c], r9d
jae 0x1400f1dc1
mov rcx, qword [rcx + 0x10]
jmp 0x1400f1dc7
mov rdx, rcx
mov rcx, qword [rcx]
cmp byte [rcx + 0x19], 0
je 0x1400f1db5
cmp rdx, rax
je 0x1400f1dea
cmp r9d, dword [rdx + 0x1c]
jb 0x1400f1dea
mov qword [rsp + 0x80], rdx
lea rax, [rsp + 0x80]
jmp 0x1400f1dfa
mov qword [rsp + 0x90], rax
lea rax, [rsp + 0x90]
mov rax, qword [rax]
cmp rax, qword [r14 + 0x450]
je 0x1400f1eb1
mov qword [rsp + 0x30], r13
mov qword [rsp + 0x38], r12
mov rdx, rsi
lea rcx, [rsp + 0x30]
call fcn.1401fd9d0
mov rdi, qword [r14 + 0x440]
mov rbx, qword [rdi + 8]
cmp byte [rbx + 0x19], 0
jne 0x1400f1e56
mov rdx, qword [rsp + 0x30]
mov rcx, qword [rbx + 0x20]
call fcn.1402b9aac
test eax, eax
jns 0x1400f1e4a
mov rbx, qword [rbx + 0x10]
jmp 0x1400f1e50
mov rdi, rbx
mov rbx, qword [rbx]
cmp byte [rbx + 0x19], 0
je 0x1400f1e32
cmp rdi, qword [r14 + 0x440]
je 0x1400f1e83
mov rdx, qword [rdi + 0x20]
mov rcx, qword [rsp + 0x30]
call fcn.1402b9aac
test eax, eax
js 0x1400f1e83
mov qword [rsp + 0x98], rdi
lea rax, [rsp + 0x98]
jmp 0x1400f1e94
mov rax, qword [r14 + 0x440]
mov qword [rsp + 0x20], rax
lea rax, [rsp + 0x20]
mov rax, qword [rax]
cmp rax, qword [r14 + 0x440]
jne 0x1400f1ebb
cmp dword [rsp + 0x38], 0
jle 0x1400f1eb1
mov rcx, qword [rsp + 0x30]
call fcn.1402b9c20
test rbp, rbp
je 0x1400f1ecf
jmp 0x1400f1cb0
mov r15b, 1
cmp dword [rsp + 0x38], 0
jle 0x1400f1ecf
mov rcx, qword [rsp + 0x30]
call fcn.1402b9c20
mov rcx, rsi
call fcn.1402b9c20
movzx eax, r15b
mov rbx, qword [rsp + 0x88]
add rsp, 0x40
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret