Function at 0x180051340
Capabilities:
Hash data using fnv

Disassembly:
push rsi
sub rsp, 0x50
mov rax, qword [0x18050e060]
xor rax, rsp
mov qword [rsp + 0x48], rax
mov rsi, qword [0x18050fe88]
mov rdx, qword [0x18050e5a8]
mov rcx, rsi
and rcx, qword [0x18050e5d0]
shl rcx, 4
add rcx, qword [0x18050e5b8]
mov rax, qword [rcx + 8]
cmp rax, rdx
je 0x1800513a1
mov rcx, qword [rcx]
cmp rsi, qword [rax + 0x10]
je 0x1800513a3
nop word [rax + rax]
cmp rax, rcx
je 0x1800513a1
mov rax, qword [rax + 8]
cmp rsi, qword [rax + 0x10]
jne 0x180051390
jmp 0x1800513a3
xor eax, eax
test rax, rax
mov rcx, rdx
cmovne rcx, rax
cmp rcx, rdx
je 0x1800513bf
mov rax, qword [rcx + 0x18]
test rax, rax
jne 0x180051600
mov eax, 0x91310870
cmp rsi, rax
je 0x1800513d2
cmp rsi, 0x70b35890
jne 0x180051400
mov rcx, qword [0x180510028]
mov rcx, qword [rcx + 8]
mov rax, qword [rcx]
cmp rax, rcx
je 0x180051400
cmp qword [rax + 0x10], rsi
je 0x1800514d1
mov rax, qword [rax]
cmp rax, rcx
jne 0x1800513e5
nop word [rax + rax]
movabs rdx, 0x100000001b3
movzx ecx, sil
movabs rax, 0xcbf29ce484222325
mov qword [rsp + 0x60], rbx
xor rcx, rax
mov qword [rsp + 0x68], rbp
movzx eax, byte [0x18050fe89]
imul rcx, rdx
mov qword [rsp + 0x70], rdi
xor rcx, rax
movzx eax, byte [0x18050fe8a]
imul rcx, rdx
xor rcx, rax
movzx eax, byte [0x18050fe8b]
imul rcx, rdx
xor rcx, rax
movzx eax, byte [0x18050fe8c]
imul rcx, rdx
xor rcx, rax
movzx eax, byte [0x18050fe8d]
imul rcx, rdx
xor rcx, rax
movzx eax, byte [0x18050fe8e]
imul rcx, rdx
xor rcx, rax
movzx eax, byte [0x18050fe8f]
imul rcx, rdx
xor rcx, rax
imul rcx, rdx
mov rdx, qword [0x18050e5e8]
and rcx, qword [0x18050e610]
shl rcx, 4
add rcx, qword [0x18050e5f8]
mov rax, qword [rcx + 8]
cmp rax, rdx
je 0x1800514e8
mov rcx, qword [rcx]
cmp rsi, qword [rax + 0x10]
je 0x1800514ea
nop dword [rax + rax]
cmp rax, rcx
je 0x1800514e8
mov rax, qword [rax + 8]
cmp rsi, qword [rax + 0x10]
jne 0x1800514c0
jmp 0x1800514ea
mov rax, qword [rax + 0x18]
mov rcx, qword [rsp + 0x48]
xor rcx, rsp
call fcn.1801017e0
add rsp, 0x50
pop rsi
ret
xor eax, eax
test rax, rax
mov rbp, rdx
cmovne rbp, rax
cmp rbp, rdx
jne 0x1800514fe
mov rbp, rsi
jmp 0x180051502
mov rbp, qword [rbp + 0x18]
mov rbx, qword [0x180510030]
xor edi, edi
movzx eax, bpl
mov rbx, qword [rbx + rax*8]
test rbx, rbx
je 0x1800515d3
nop dword [rax]
lea r11d, [rbx + 0x48]
xor r9d, r9d
mov eax, r11d
xor eax, dword [rbx + 0x48]
xor eax, dword [rbx + 0x4c]
jbe 0x1800515af
lea r10, [rbx + 0x10]
nop word [rax + rax]
mov eax, r9d
lea rcx, [rsp + 0x40]
shl eax, 4
mov edx, dword [rax + rbx + 0x5c]
lea r8, [rax + 0x54]
add r8, rbx
xor rdx, r8
sub rcx, r8
mov eax, edx
xor eax, dword [r8]
mov dword [rcx + r8], eax
xor edx, dword [r8 + 4]
mov dword [rcx + r8 + 4], edx
cmp rbp, qword [rsp + 0x40]
jne 0x18005157d
mov rdi, qword [r10]
test rdi, rdi
jne 0x180051594
mov eax, dword [rbx + 0x48]
inc r9d
xor eax, dword [rbx + 0x4c]
add r10, 8
xor eax, r11d
cmp r9d, eax
jb 0x180051540
jmp 0x1800515af
lea r8, [rsp + 0x20]
mov qword [rsp + 0x20], rsi
lea rdx, [rsp + 0x28]
call fcn.180052a70
mov rcx, qword [rax]
mov qword [rcx + 0x18], rdi
mov rcx, rbx
xor rcx, qword [rbx + 8]
mov eax, ecx
xor ecx, dword [rbx + 4]
xor eax, dword [rbx]
mov dword [rsp + 0x38], eax
mov dword [rsp + 0x3c], ecx
mov rbx, qword [rsp + 0x38]
test rbx, rbx
jne 0x180051520
lea r8, [rsp + 0x20]
mov qword [rsp + 0x20], rsi
lea rdx, [rsp + 0x28]
call fcn.180052a70
mov rbp, qword [rsp + 0x68]
mov rbx, qword [rsp + 0x60]
mov rcx, qword [rax]
mov rax, rdi
mov qword [rcx + 0x18], rdi
mov rdi, qword [rsp + 0x70]
mov rcx, qword [rsp + 0x48]
xor rcx, rsp
call fcn.1801017e0
add rsp, 0x50
pop rsi
ret