Function at 0x1400f27e0
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 0x1400f2815
xor al, al
jmp 0x1400f2a6b
mov rcx, qword [rdx]
call fcn.14029ab7c
mov rsi, rax
test rax, rax
je 0x1400f280e
mov rcx, rax
call fcn.14029adf4
xor r15b, r15b
mov rbp, rsi
xor r12d, r12d
lea r13, [0x140323de0]
nop dword [rax]
mov edx, 0x5c
mov rcx, rbp
call fcn.14029b070
mov rbp, rax
test rax, rax
jne 0x1400f286d
or r8, 0xffffffffffffffff
nop dword [rax]
inc r8
cmp word [rsi + r8*2], 0
jne 0x1400f2860
jmp 0x1400f287a
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 0x1400f28c9
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 0x1400f28a1
mov edx, r12d
mov ecx, r11d
and ecx, 3
dec ecx
je 0x1400f28f0
dec ecx
je 0x1400f28e6
dec ecx
jne 0x1400f2908
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 0x1400f295d
cmp dword [rcx + 0x1c], r9d
jae 0x1400f2951
mov rcx, qword [rcx + 0x10]
jmp 0x1400f2957
mov rdx, rcx
mov rcx, qword [rcx]
cmp byte [rcx + 0x19], 0
je 0x1400f2945
cmp rdx, rax
je 0x1400f297a
cmp r9d, dword [rdx + 0x1c]
jb 0x1400f297a
mov qword [rsp + 0x80], rdx
lea rax, [rsp + 0x80]
jmp 0x1400f298a
mov qword [rsp + 0x90], rax
lea rax, [rsp + 0x90]
mov rax, qword [rax]
cmp rax, qword [r14 + 0x450]
je 0x1400f2a41
mov qword [rsp + 0x30], r13
mov qword [rsp + 0x38], r12
mov rdx, rsi
lea rcx, [rsp + 0x30]
call fcn.1401e77a0
mov rdi, qword [r14 + 0x440]
mov rbx, qword [rdi + 8]
cmp byte [rbx + 0x19], 0
jne 0x1400f29e6
mov rdx, qword [rsp + 0x30]
mov rcx, qword [rbx + 0x20]
call fcn.14029848c
test eax, eax
jns 0x1400f29da
mov rbx, qword [rbx + 0x10]
jmp 0x1400f29e0
mov rdi, rbx
mov rbx, qword [rbx]
cmp byte [rbx + 0x19], 0
je 0x1400f29c2
cmp rdi, qword [r14 + 0x440]
je 0x1400f2a13
mov rdx, qword [rdi + 0x20]
mov rcx, qword [rsp + 0x30]
call fcn.14029848c
test eax, eax
js 0x1400f2a13
mov qword [rsp + 0x98], rdi
lea rax, [rsp + 0x98]
jmp 0x1400f2a24
mov rax, qword [r14 + 0x440]
mov qword [rsp + 0x20], rax
lea rax, [rsp + 0x20]
mov rax, qword [rax]
cmp rax, qword [r14 + 0x440]
jne 0x1400f2a4b
cmp dword [rsp + 0x38], 0
jle 0x1400f2a41
mov rcx, qword [rsp + 0x30]
call fcn.140298600
test rbp, rbp
je 0x1400f2a5f
jmp 0x1400f2840
mov r15b, 1
cmp dword [rsp + 0x38], 0
jle 0x1400f2a5f
mov rcx, qword [rsp + 0x30]
call fcn.140298600
mov rcx, rsi
call fcn.140298600
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