Function at 0x1801d0120
Capabilities:
Hash data using fnv

Disassembly:
mov qword [rsp + 0x18], rbx
mov qword [rsp + 0x10], rdx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x30
mov rsi, rdx
mov rbp, rcx
mov rdx, rcx
lea rcx, [rsp + 0x20]
call fcn.1801cee40
mov rdi, qword [rbp + 0xe8]
mov rbx, qword [rbp + 0xf0]
cmp rdi, rbx
je 0x1801d0172
nop
mov rax, qword [rdi]
cmp qword [rax + 0x10], rsi
je 0x1801d0172
add rdi, 8
cmp rdi, rbx
jne 0x1801d0160
xor r12d, r12d
cmp rdi, rbx
je 0x1801d01b1
lea r14, [rdi + 8]
cmp r14, rbx
je 0x1801d01b1
mov rax, qword [r14]
cmp qword [rax + 0x10], rsi
je 0x1801d01a8
mov qword [r14], r12
mov rcx, qword [rdi]
mov qword [rdi], rax
test rcx, rcx
je 0x1801d01a4
mov rax, qword [rcx]
mov edx, 1
call qword [rax]
add rdi, 8
add r14, 8
cmp r14, rbx
jne 0x1801d0183
mov r9, rbx
mov r8, rdi
lea rdx, [rsp + 0x70]
lea rcx, [rbp + 0xe8]
call fcn.1801d0b70
mov rdi, qword [rbp + 0x108]
mov rbx, qword [rdi]
cmp rbx, rdi
je 0x1801d03cd
movabs rax, 0xcbf29ce484222325
movabs r11, 0x100000001b3
movzx ebp, byte [rsp + 0x7f]
movzx r14d, byte [rsp + 0x7e]
movzx r15d, byte [rsp + 0x7d]
movzx r12d, byte [rsp + 0x7c]
movzx r13d, byte [rsp + 0x7b]
movzx r9d, byte [rsp + 0x7a]
movzx r10d, byte [rsp + 0x79]
nop dword [rax + rax]
movzx edx, sil
xor rdx, rax
imul rdx, r11
movzx eax, r10b
xor rdx, rax
imul rdx, r11
movzx eax, r9b
xor rdx, rax
imul rdx, r11
xor rdx, r13
imul rdx, r11
xor rdx, r12
imul rdx, r11
xor rdx, r15
imul rdx, r11
xor rdx, r14
imul rdx, r11
xor rdx, rbp
imul rdx, r11
mov rcx, qword [rbx + 0x48]
and rcx, rdx
shl rcx, 4
add rcx, qword [rbx + 0x30]
mov rax, qword [rcx + 8]
cmp rax, qword [rbx + 0x20]
je 0x1801d0297
mov rcx, qword [rcx]
cmp rsi, qword [rax + 0x10]
je 0x1801d0299
cmp rax, rcx
je 0x1801d0297
mov rax, qword [rax + 8]
cmp rsi, qword [rax + 0x10]
jne 0x1801d0286
jmp 0x1801d0299
xor eax, eax
test rax, rax
je 0x1801d03b4
movzx r8d, sil
movabs rax, 0xcbf29ce484222325
xor r8, rax
imul r8, r11
movzx eax, r10b
xor r8, rax
imul r8, r11
movzx eax, r9b
xor r8, rax
imul r8, r11
xor r8, r13
imul r8, r11
xor r8, r12
imul r8, r11
xor r8, r15
imul r8, r11
xor r8, r14
imul r8, r11
xor r8, rbp
imul r8, r11
mov rax, qword [rbx + 0x48]
and rax, r8
mov rdx, qword [rbx + 0x30]
mov rcx, rax
add rcx, rcx
mov rcx, qword [rdx + rcx*8 + 8]
cmp rcx, qword [rbx + 0x20]
je 0x1801d0331
add rax, rax
mov rax, qword [rdx + rax*8]
cmp rsi, qword [rcx + 0x10]
je 0x1801d0333
nop dword [rax]
cmp rcx, rax
je 0x1801d0331
mov rcx, qword [rcx + 8]
cmp rsi, qword [rcx + 0x10]
jne 0x1801d0320
jmp 0x1801d0333
xor ecx, ecx
test rcx, rcx
je 0x1801d03b4
mov rdx, qword [rbx + 0x48]
and rdx, r8
add rdx, rdx
mov rax, qword [rbx + 0x30]
lea r8, [rax + rdx*8]
lea r9, [rax + rdx*8]
mov rax, qword [r8]
cmp qword [r9 + 8], rcx
jne 0x1801d0373
cmp rax, rcx
jne 0x1801d0369
mov rax, qword [rbx + 0x20]
mov qword [r8], rax
mov qword [r9 + 8], rax
jmp 0x1801d037e
mov rax, qword [rcx + 8]
mov qword [r9 + 8], rax
jmp 0x1801d037e
cmp rax, rcx
jne 0x1801d037e
mov rax, qword [rcx]
mov qword [r8], rax
mov rdx, qword [rcx]
dec qword [rbx + 0x28]
mov rax, qword [rcx + 8]
mov qword [rax], rdx
mov rax, qword [rcx + 8]
mov qword [rdx + 8], rax
mov edx, 0x18
call fcn.180286270
movzx r9d, byte [rsp + 0x7a]
movzx r10d, byte [rsp + 0x79]
movabs r11, 0x100000001b3
mov rax, qword [rbx]
mov rbx, rax
cmp rax, rdi
movabs rax, 0xcbf29ce484222325
jne 0x1801d0220
cmp byte [rsp + 0x28], 0
je 0x1801d040b
mov rbx, qword [rsp + 0x20]
mov rcx, rbx
call fcn.180283150
test eax, eax
jne 0x1801d0433
mov eax, dword [rbx + 0x4c]
cmp eax, 0x7fffffff
je 0x1801d0423
mov byte [rbx + 0xe4], 0
mov rcx, rbx
call fcn.180283194
lea rcx, [rbx + 0x98]
call fcn.18028466c
nop
mov rbx, qword [rsp + 0x80]
add rsp, 0x30
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
dec eax
mov dword [rbx + 0x4c], eax
mov ecx, 6
call fcn.1802835e0
int3
mov ecx, 5
call fcn.1802835e0
int3