Function at 0x18017ca40
Capabilities:
Hash data using fnv

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rbp
mov qword [rsp + 8], rcx
push rsi
push rdi
push r12
push r14
push r15
sub rsp, 0x60
mov rax, qword [rsp + 0xc0]
mov edi, r8d
mov r8d, dword [rsp + 0xb8]
movabs rcx, 0x110000100000000
mov r14d, dword [rsp + 0xb0]
add r8, rcx
mov ebp, r9d
mov qword [rsp + 0x40], r8
mov ecx, dword [rax]
mov r9, r8
shr r9, 0x38
mov r10, r8
shr r10, 0x30
mov r11, r8
shr r11, 0x20
mov rbx, r8
shr rbx, 0x18
mov r15, r8
shr r15, 0x10
mov r12, r8
shr r12, 8
mov esi, edx
dec ecx
cmp ecx, 7
ja case.default.0x18017cad4
movsxd rax, ecx
lea rdx, [0x180000000]
mov ecx, dword [rdx + rax*4 + 0x17cd78]
add rcx, rdx
jmp rcx
mov eax, ebp
cdq
sub eax, edx
sar eax, 1
neg eax
add esi, eax
jmp case.default.0x18017cad4
sub esi, ebp
jmp case.default.0x18017cad4
mov eax, ebp
cdq
sub eax, edx
sar eax, 1
neg eax
add esi, eax
mov eax, r14d
cdq
sub eax, edx
sar eax, 1
neg eax
add edi, eax
jmp case.default.0x18017cad4
mov eax, r14d
sub esi, ebp
cdq
sub eax, edx
sar eax, 1
neg eax
add edi, eax
jmp case.default.0x18017cad4
mov eax, ebp
cdq
sub eax, edx
sar eax, 1
neg eax
add esi, eax
jmp case.0x18017cad4.6
sub esi, ebp
sub edi, r14d
movabs rcx, 0x100000001b3
movzx edx, r8b
movabs rax, 0xcbf29ce484222325
xor rdx, rax
movzx eax, r12b
imul rdx, rcx
xor rdx, rax
movzx eax, r15b
imul rdx, rcx
xor r15d, r15d
xor rdx, rax
movzx eax, bl
imul rdx, rcx
xor rdx, rax
movzx eax, r11b
imul rdx, rcx
xor rdx, rax
movabs rax, 0x366000002e329
imul rdx, rax
movzx eax, r10b
xor rdx, rax
imul rdx, rcx
xor rdx, r9
imul rdx, rcx
mov rcx, qword [0x18022d250]
and rcx, rdx
shl rcx, 4
add rcx, qword [0x18022d238]
mov rax, qword [rcx + 8]
cmp rax, qword [0x18022d228]
je 0x18017cbc7
mov rcx, qword [rcx]
cmp r8, qword [rax + 0x10]
je 0x18017cbca
cmp rax, rcx
je 0x18017cbc7
mov rax, qword [rax + 8]
cmp r8, qword [rax + 0x10]
jne 0x18017cbb6
jmp 0x18017cbca
mov rax, r15
test rax, rax
je 0x18017cc45
mov rcx, qword [0x180233c38]
mov edx, 0xff
mov r9d, edx
mov dword [rsp + 0x20], 0xff
mov r8d, edx
mov rax, qword [rcx]
call qword [rax + 0x58]
mov rax, qword [0x180233c38]
lea r8, [rsp + 0x40]
lea rdx, [rsp + 0x48]
mov rcx, qword [rax]
mov rbx, qword [rcx + 0x100]
call fcn.18017ce60
mov rcx, qword [0x180233c38]
mov rdx, qword [rax]
mov edx, dword [rdx + 0x18]
call rbx
mov rcx, qword [0x180233c38]
lea eax, [rdi + r14]
lea r9d, [rsi + rbp]
mov dword [rsp + 0x20], eax
mov r8d, edi
mov edx, esi
mov r10, qword [rcx]
call qword [r10 + 0x110]
jmp 0x18017cd5c
mov rcx, qword [0x180233f90]
mov rdx, r8
mov rax, qword [rcx]
call qword [rax + 0x118]
mov rcx, qword [0x1802342b0]
lea r9, [rsp + 0xb8]
mov dword [rsp + 0x90], r15d
lea r8, [rsp + 0x90]
mov dword [rsp + 0xb8], r15d
mov esi, eax
mov rdx, qword [rcx]
mov r10, qword [rdx + 0x28]
mov edx, eax
call r10
test al, al
je 0x18017cd5c
mov ebx, dword [rsp + 0xb8]
mov eax, dword [rsp + 0x90]
imul rbx, rax
shl rbx, 2
mov rcx, rbx
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_malloc]
mov rdi, rax
test rax, rax
je 0x18017cd5c
mov rcx, qword [0x1802342b0]
mov r9d, ebx
mov r8, rax
mov rdx, qword [rcx]
mov r10, qword [rdx + 0x30]
mov edx, esi
call r10
test al, al
je 0x18017cd53
mov rcx, qword [0x180233c38]
mov dl, 1
mov rax, qword [rcx]
call qword [rax + 0x128]
mov rcx, qword [0x180233c38]
mov ebx, eax
mov rdx, qword [rcx]
mov r8, qword [rdx + 0x118]
mov edx, eax
call r8
test al, al
je 0x18017cd53
mov rcx, qword [0x180233c38]
mov r8, rdi
mov eax, dword [rsp + 0xb8]
mov edx, ebx
mov r9d, dword [rsp + 0x90]
mov byte [rsp + 0x30], r15b
mov r10, qword [rcx]
mov dword [rsp + 0x28], r15d
mov dword [rsp + 0x20], eax
call qword [r10 + 0xf8]
lea r8, [rsp + 0x40]
lea rdx, [rsp + 0x48]
call fcn.18017ce60
mov rcx, qword [rax]
mov dword [rcx + 0x18], ebx
mov rcx, rdi
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
lea r11, [rsp + 0x60]
mov rbx, qword [r11 + 0x38]
mov rbp, qword [r11 + 0x40]
mov rsp, r11
pop r15
pop r14
pop r12
pop rdi
pop rsi
ret