Function at 0x180178c50
Capabilities:
Hash data using fnv

Disassembly:
mov rax, rsp
mov qword [rax + 8], rcx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x50
mov qword [rax - 0x68], 0xfffffffffffffffe
mov qword [rax + 0x10], rbx
mov rbp, r8
mov r13, rcx
lea rcx, [rax + 0x20]
call fcn.180178780
nop
cmp qword [rsp + 0xa8], 0
jne 0x180178caf
test rbp, rbp
jne 0x180178caf
mov rcx, qword [rsp + 0xa8]
test rcx, rcx
je 0x180178ca5
mov rax, qword [rcx]
call qword [rax + 0x10]
mov eax, 1
jmp 0x180179039
lea r14, [r13 + 0x10]
mov qword [rsp + 0x28], r14
mov rax, qword [r14]
mov rcx, r14
call qword [rax + 8]
nop
mov rdi, qword [r13 + 0x40]
lea rdx, [rsp + 0x38]
lea rcx, [rdi + 0x4028]
call fcn.180177ac0
xor r15d, r15d
mov ebx, r15d
mov rdx, qword [rax]
test rdx, rdx
je 0x180178cf0
mov rdx, qword [rdx]
test rdx, rdx
je 0x180178cf0
mov rbx, qword [rdx]
mov rsi, qword [rax + 0x10]
lea rdx, [rsp + 0x38]
lea rcx, [rdi + 0x4028]
call fcn.1801782d0
cmp rsi, qword [rax + 0x10]
setne al
mov rdi, qword [rsp + 0xa8]
test al, al
je 0x180178dfb
nop dword [rax]
test rbx, rbx
mov rax, r15
je 0x180178d2b
mov rax, qword [rbx]
mov rcx, qword [rax + 0x10]
dec rcx
and rcx, rsi
mov rax, qword [rax + 8]
mov rcx, qword [rax + rcx*8]
cmp qword [rcx], rdi
je 0x180178d4b
test rdi, rdi
jne 0x180178dd4
mov edx, r15d
nop
test rbx, rbx
mov rax, r15
je 0x180178d5b
mov rax, qword [rbx]
mov rcx, qword [rax + 0x10]
dec rcx
and rcx, rsi
mov rax, qword [rax + 8]
mov rcx, qword [rax + rcx*8]
cmp edx, dword [rcx + 0x10]
jae 0x180178dcc
test rbx, rbx
mov r8, r15
je 0x180178d7d
mov r8, qword [rbx]
mov eax, edx
lea r9, [rax*8]
mov rcx, qword [r8 + 0x10]
dec rcx
and rcx, rsi
mov rax, qword [r8 + 8]
mov rcx, qword [rax + rcx*8]
mov rax, qword [rcx + 8]
cmp qword [r9 + rax], rbp
jne 0x180178dc8
test rbx, rbx
mov rax, r15
je 0x180178dae
mov rax, qword [rbx]
mov rcx, qword [rax + 0x10]
dec rcx
and rcx, rsi
mov rax, qword [rax + 8]
mov rcx, qword [rax + rcx*8]
mov rax, qword [rcx + 8]
mov qword [r9 + rax], r15
inc edx
jmp 0x180178d50
mov rdi, qword [rsp + 0xa8]
inc rsi
mov rcx, qword [r13 + 0x40]
add rcx, 0x4028
lea rdx, [rsp + 0x38]
call fcn.1801782d0
cmp rsi, qword [rax + 0x10]
setne al
test al, al
jne 0x180178d20
test rdi, rdi
jne 0x180178e82
mov r12d, 0x100
nop word [rax + rax]
mov r13, qword [r13 + 0x40]
mov rax, qword [r13 + r15 + 8]
mov rdi, qword [rax]
cmp rdi, rax
je 0x180178e6b
mov rbx, qword [rdi + 0x18]
mov rax, qword [rdi + 0x20]
cmp rbx, rax
je 0x180178e61
lea rsi, [rbx + 8]
cmp qword [rbx], rbp
jne 0x180178e50
sub rax, rsi
mov r8, rax
mov rdx, rsi
mov rcx, rbx
call qword [0x18019d978]
add qword [rdi + 0x20], 0xfffffffffffffff8
jmp 0x180178e58
add rbx, 8
add rsi, 8
mov rax, qword [rdi + 0x20]
cmp rbx, rax
jne 0x180178e32
mov rdi, qword [rdi]
cmp rdi, qword [r13 + r15 + 8]
jne 0x180178e21
add r15, 0x40
sub r12, 1
mov r13, qword [rsp + 0x90]
jne 0x180178e10
jmp 0x18017901a
mov r15b, 1
mov rax, rdi
shr rax, 0xc
movzx r13d, al
shl r13, 6
mov r12, qword [rsp + 0x90]
add r13, qword [r12 + 0x40]
movzx edx, dil
movabs rax, 0xcbf29ce484222325
xor rdx, rax
movabs rcx, 0x100000001b3
imul rdx, rcx
movzx eax, byte [rsp + 0xa9]
xor rdx, rax
imul rdx, rcx
movzx eax, byte [rsp + 0xaa]
xor rdx, rax
imul rdx, rcx
movzx eax, byte [rsp + 0xab]
xor rdx, rax
imul rdx, rcx
movzx eax, byte [rsp + 0xac]
xor rdx, rax
imul rdx, rcx
movzx eax, byte [rsp + 0xad]
xor rdx, rax
imul rdx, rcx
movzx eax, byte [rsp + 0xae]
xor rdx, rax
imul rdx, rcx
movzx eax, byte [rsp + 0xaf]
xor rdx, rax
imul rdx, rcx
mov rcx, qword [r13 + 0x30]
and rcx, rdx
mov rdx, qword [r13 + 0x18]
mov rbx, rcx
add rbx, rbx
mov rbx, qword [rdx + rbx*8]
mov rax, qword [r13 + 8]
add rcx, rcx
mov r8, qword [rdx + rcx*8]
lea r9, [rdx + rcx*8]
nop dword [rax]
cmp r8, rax
jne 0x180178f5a
mov rcx, rax
jmp 0x180178f61
mov rcx, qword [r9 + 8]
mov rcx, qword [rcx]
cmp rbx, rcx
je 0x180178f77
cmp rdi, qword [rbx + 0x10]
je 0x180178f71
mov rbx, qword [rbx]
jmp 0x180178f50
cmovne rbx, rax
jmp 0x180178f7a
mov rbx, rax
cmp rbx, rax
je 0x18017900b
test rbp, rbp
jne 0x180178f9a
mov r8, rbx
lea rdx, [rsp + 0x30]
mov rcx, r13
call fcn.1801782f0
jmp 0x180179003
mov rsi, qword [rbx + 0x18]
mov rax, qword [rbx + 0x20]
cmp rsi, rax
je 0x18017900b
lea rdi, [rsi + 8]
nop dword [rax + rax]
cmp qword [rsi], rbp
jne 0x180178fd8
sub rax, rdi
mov r8, rax
mov rdx, rdi
mov rcx, rsi
call qword [0x18019d978]
add qword [rbx + 0x20], 0xfffffffffffffff8
mov rax, qword [rbx + 0x20]
cmp qword [rbx + 0x18], rax
je 0x180178fee
jmp 0x180178fe3
add rsi, 8
add rdi, 8
xor r15b, r15b
mov rax, qword [rbx + 0x20]
cmp rsi, rax
je 0x180178ffe
jmp 0x180178fb0
mov r8, rbx
lea rdx, [rsp + 0x30]
mov rcx, r13
call fcn.1801782f0
test r15b, r15b
je 0x18017901a
mov rdi, qword [rsp + 0xa8]
lea rcx, [r12 + 8]
mov rax, qword [rcx]
mov rdx, rdi
call qword [rax + 0x18]
nop
mov rax, qword [r14]
mov rcx, r14
call qword [rax + 0x10]
nop
mov rcx, qword [rsp + 0xa8]
test rcx, rcx
je 0x180179037
mov rax, qword [rcx]
call qword [rax + 0x10]
xor eax, eax
mov rbx, qword [rsp + 0x98]
add rsp, 0x50
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret