Function at 0x1400f09b0
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 0x1400f09e5
xor al, al
jmp 0x1400f0c3b
mov rcx, qword [rdx]
call fcn.1402b9ff0
mov rsi, rax
test rax, rax
je 0x1400f09de
mov rcx, rax
call fcn.1402ba268
xor r15b, r15b
mov rbp, rsi
xor r12d, r12d
lea r13, [0x140346ce0]
nop dword [rax]
mov edx, 0x5c
mov rcx, rbp
call fcn.1402ba4e4
mov rbp, rax
test rax, rax
jne 0x1400f0a3d
or r8, 0xffffffffffffffff
nop dword [rax]
inc r8
cmp word [rsi + r8*2], 0
jne 0x1400f0a30
jmp 0x1400f0a4a
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 0x1400f0a99
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 0x1400f0a71
mov edx, r12d
mov ecx, r11d
and ecx, 3
dec ecx
je 0x1400f0ac0
dec ecx
je 0x1400f0ab6
dec ecx
jne 0x1400f0ad8
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 0x1400f0b2d
cmp dword [rcx + 0x1c], r9d
jae 0x1400f0b21
mov rcx, qword [rcx + 0x10]
jmp 0x1400f0b27
mov rdx, rcx
mov rcx, qword [rcx]
cmp byte [rcx + 0x19], 0
je 0x1400f0b15
cmp rdx, rax
je 0x1400f0b4a
cmp r9d, dword [rdx + 0x1c]
jb 0x1400f0b4a
mov qword [rsp + 0x80], rdx
lea rax, [rsp + 0x80]
jmp 0x1400f0b5a
mov qword [rsp + 0x90], rax
lea rax, [rsp + 0x90]
mov rax, qword [rax]
cmp rax, qword [r14 + 0x450]
je 0x1400f0c11
mov qword [rsp + 0x30], r13
mov qword [rsp + 0x38], r12
mov rdx, rsi
lea rcx, [rsp + 0x30]
call fcn.1401fb2b0
mov rdi, qword [r14 + 0x440]
mov rbx, qword [rdi + 8]
cmp byte [rbx + 0x19], 0
jne 0x1400f0bb6
mov rdx, qword [rsp + 0x30]
mov rcx, qword [rbx + 0x20]
call fcn.1402b71dc
test eax, eax
jns 0x1400f0baa
mov rbx, qword [rbx + 0x10]
jmp 0x1400f0bb0
mov rdi, rbx
mov rbx, qword [rbx]
cmp byte [rbx + 0x19], 0
je 0x1400f0b92
cmp rdi, qword [r14 + 0x440]
je 0x1400f0be3
mov rdx, qword [rdi + 0x20]
mov rcx, qword [rsp + 0x30]
call fcn.1402b71dc
test eax, eax
js 0x1400f0be3
mov qword [rsp + 0x98], rdi
lea rax, [rsp + 0x98]
jmp 0x1400f0bf4
mov rax, qword [r14 + 0x440]
mov qword [rsp + 0x20], rax
lea rax, [rsp + 0x20]
mov rax, qword [rax]
cmp rax, qword [r14 + 0x440]
jne 0x1400f0c1b
cmp dword [rsp + 0x38], 0
jle 0x1400f0c11
mov rcx, qword [rsp + 0x30]
call fcn.1402b7350
test rbp, rbp
je 0x1400f0c2f
jmp 0x1400f0a10
mov r15b, 1
cmp dword [rsp + 0x38], 0
jle 0x1400f0c2f
mov rcx, qword [rsp + 0x30]
call fcn.1402b7350
mov rcx, rsi
call fcn.1402b7350
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