Function at 0x180176bc0
Capabilities:
Hash data using fnv

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rbp
mov qword [rsp + 0x20], rsi
mov qword [rsp + 8], rcx
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x1f0
mov r14d, dword [rsp + 0x248]
movabs rcx, 0x110000100000000
add r14, rcx
mov esi, edx
mov rax, r14
mov qword [rsp + 0x40], r14
shr rax, 0x38
mov rdx, r14
mov qword [rsp + 0x68], rax
mov r13, r14
mov rax, r14
shr rdx, 0x38
shr rax, 0x38
mov r15d, r9d
mov qword [rsp + 0x1b0], rax
mov edi, r8d
mov rax, r14
shr r13, 0x38
shr rax, 0x38
mov qword [rsp + 0x158], rax
mov rax, r14
shr rax, 0x38
mov qword [rsp + 0x128], rax
mov rax, r14
shr rax, 0x38
mov qword [rsp + 0xf8], rax
mov rax, r14
shr rax, 0x38
mov qword [rsp + 0xc8], rax
mov rax, r14
shr rax, 0x38
mov qword [rsp + 0x98], rax
mov rax, r14
shr rax, 0x30
mov qword [rsp + 0x1d8], rax
mov rax, r14
shr rax, 0x30
mov qword [rsp + 0x60], rax
mov rax, r14
shr rax, 0x30
mov qword [rsp + 0x1a8], rax
mov rax, r14
shr rax, 0x30
mov qword [rsp + 0x180], rax
mov rax, r14
shr rax, 0x30
mov qword [rsp + 0x150], rax
mov rax, r14
shr rax, 0x30
mov qword [rsp + 0x120], rax
mov rax, r14
shr rax, 0x30
mov qword [rsp + 0xf0], rax
mov rax, r14
shr rax, 0x30
mov qword [rsp + 0xc0], rax
mov rax, r14
shr rax, 0x30
mov qword [rsp + 0x90], rax
mov rax, r14
shr rax, 0x20
mov qword [rsp + 0x1d0], rax
mov rax, r14
shr rax, 0x20
mov qword [rsp + 0x58], rax
mov rax, r14
shr rax, 0x20
mov qword [rsp + 0x1a0], rax
mov rax, r14
shr rax, 0x20
mov qword [rsp + 0x178], rax
mov rax, r14
shr rax, 0x20
mov qword [rsp + 0x148], rax
mov rax, r14
shr rax, 0x20
mov qword [rsp + 0x118], rax
mov rax, r14
shr rax, 0x20
mov qword [rsp + 0xe8], rax
mov rax, r14
shr rax, 0x20
mov qword [rsp + 0xb8], rax
mov rax, r14
shr rax, 0x20
mov qword [rsp + 0x88], rax
mov rax, r14
shr rax, 0x18
mov qword [rsp + 0x1c8], rax
mov rax, r14
shr rax, 0x18
mov qword [rsp + 0x50], rax
mov rax, r14
shr rax, 0x18
mov qword [rsp + 0x198], rax
mov rax, r14
shr rax, 0x18
mov qword [rsp + 0x170], rax
mov rax, r14
shr rax, 0x18
mov qword [rsp + 0x140], rax
mov rax, r14
shr rax, 0x18
mov qword [rsp + 0x110], rax
mov rax, r14
shr rax, 0x18
mov qword [rsp + 0xe0], rax
mov rax, r14
shr rax, 0x18
mov qword [rsp + 0xb0], rax
mov rax, r14
shr rax, 0x18
mov qword [rsp + 0x80], rax
mov rax, r14
shr rax, 0x10
mov qword [rsp + 0x1c0], rax
mov rax, r14
shr rax, 0x10
mov qword [rsp + 0x48], rax
mov rax, r14
shr rax, 0x10
mov qword [rsp + 0x190], rax
mov rax, r14
shr rax, 0x10
mov qword [rsp + 0x168], rax
mov rax, r14
shr rax, 0x10
mov qword [rsp + 0x138], rax
mov rax, r14
shr rax, 0x10
mov qword [rsp + 0x108], rax
mov rax, r14
shr rax, 0x10
mov qword [rsp + 0xd8], rax
mov rax, r14
shr rax, 0x10
mov qword [rsp + 0xa8], rax
mov rax, r14
shr rax, 0x10
mov qword [rsp + 0x78], rax
mov rax, r14
shr rax, 8
mov qword [rsp + 0x1b8], rax
mov rax, r14
shr rax, 8
mov qword [rsp + 0x220], rax
mov rax, r14
shr rax, 8
mov qword [rsp + 0x188], rax
mov rax, r14
shr rax, 8
mov qword [rsp + 0x160], rax
mov rax, r14
shr rax, 8
mov qword [rsp + 0x130], rax
mov rax, r14
shr rax, 8
mov qword [rsp + 0x100], rax
mov rax, r14
shr rax, 8
mov qword [rsp + 0xd0], rax
mov rax, r14
mov r12d, dword [rsp + 0x240]
mov r8, r14
shr rax, 8
mov r9, r14
mov qword [rsp + 0xa0], rax
mov r10, r14
mov rax, r14
shr r8, 8
shr rax, 8
mov r11, r14
mov qword [rsp + 0x70], rax
mov rbx, r14
mov rax, qword [rsp + 0x250]
mov rbp, r14
shr r9, 0x10
shr r10, 0x18
shr r11, 0x20
mov ecx, dword [rax]
dec ecx
shr rbx, 0x30
shr rbp, 0x38
cmp ecx, 7
ja case.default.0x180176f8e
mov r8, qword [rsp + 0x220]
mov r9, qword [rsp + 0x48]
mov r10, qword [rsp + 0x50]
mov r11, qword [rsp + 0x58]
mov rbx, qword [rsp + 0x60]
mov rbp, qword [rsp + 0x68]
movsxd rax, ecx
lea rcx, [0x180000000]
mov ecx, dword [rcx + rax*4 + 0x1773d0]
lea rax, [0x180000000]
add rcx, rax
jmp rcx
mov r8, qword [rsp + 0x70]
mov eax, r15d
mov r9, qword [rsp + 0x78]
cdq
mov r10, qword [rsp + 0x80]
sub eax, edx
mov r11, qword [rsp + 0x88]
mov rbx, qword [rsp + 0x90]
mov rbp, qword [rsp + 0x98]
sar eax, 1
neg eax
add esi, eax
jmp case.default.0x180176f8e
mov r8, qword [rsp + 0xa0]
sub esi, r15d
mov r9, qword [rsp + 0xa8]
mov r10, qword [rsp + 0xb0]
mov r11, qword [rsp + 0xb8]
mov rbx, qword [rsp + 0xc0]
mov rbp, qword [rsp + 0xc8]
jmp case.default.0x180176f8e
mov r8, qword [rsp + 0xd0]
mov eax, r12d
mov r9, qword [rsp + 0xd8]
cdq
mov r10, qword [rsp + 0xe0]
sub eax, edx
mov r11, qword [rsp + 0xe8]
mov rbx, qword [rsp + 0xf0]
mov rbp, qword [rsp + 0xf8]
sar eax, 1
neg eax
add edi, eax
jmp case.default.0x180176f8e
mov r8, qword [rsp + 0x100]
mov eax, r15d
mov r9, qword [rsp + 0x108]
cdq
mov r10, qword [rsp + 0x110]
sub eax, edx
mov r11, qword [rsp + 0x118]
mov rbx, qword [rsp + 0x120]
mov rbp, qword [rsp + 0x128]
sar eax, 1
neg eax
add esi, eax
mov eax, r12d
cdq
sub eax, edx
sar eax, 1
neg eax
add edi, eax
jmp case.default.0x180176f8e
mov r8, qword [rsp + 0x130]
mov eax, r12d
mov r9, qword [rsp + 0x138]
cdq
mov r10, qword [rsp + 0x140]
sub eax, edx
mov r11, qword [rsp + 0x148]
sub esi, r15d
mov rbx, qword [rsp + 0x150]
mov rbp, qword [rsp + 0x158]
sar eax, 1
neg eax
add edi, eax
jmp case.default.0x180176f8e
mov r8, qword [rsp + 0x160]
mov rbp, r13
mov r9, qword [rsp + 0x168]
mov r10, qword [rsp + 0x170]
mov r11, qword [rsp + 0x178]
mov rbx, qword [rsp + 0x180]
jmp 0x18017716e
mov r8, qword [rsp + 0x188]
mov eax, r15d
mov r9, qword [rsp + 0x190]
cdq
mov r10, qword [rsp + 0x198]
sub eax, edx
mov r11, qword [rsp + 0x1a0]
mov rbx, qword [rsp + 0x1a8]
mov rbp, qword [rsp + 0x1b0]
sar eax, 1
neg eax
add esi, eax
jmp 0x18017716e
mov r8, qword [rsp + 0x1b8]
sub esi, r15d
mov r9, qword [rsp + 0x1c0]
mov rbp, rdx
mov r10, qword [rsp + 0x1c8]
mov r11, qword [rsp + 0x1d0]
mov rbx, qword [rsp + 0x1d8]
sub edi, r12d
movabs rcx, 0x100000001b3
movzx edx, r14b
movabs rax, 0xcbf29ce484222325
xor rdx, rax
movzx eax, r8b
imul rdx, rcx
xor rdx, rax
movzx eax, r9b
imul rdx, rcx
xor rdx, rax
movzx eax, r10b
imul rdx, rcx
xor rdx, rax
movzx eax, r11b
imul rdx, rcx
xor rdx, rax
movabs rax, 0x366000002e329
imul rdx, rax
movzx eax, bl
xor rdx, rax
imul rdx, rcx
xor rdx, rbp
xor ebp, ebp
imul rdx, rcx
mov rcx, qword [0x1802231c0]
and rcx, rdx
shl rcx, 4
add rcx, qword [0x1802231a8]
mov rax, qword [rcx + 8]
cmp rax, qword [0x180223198]
je 0x180177215
mov rcx, qword [rcx]
cmp r14, qword [rax + 0x10]
je 0x180177218
cmp rax, rcx
je 0x180177215
mov rax, qword [rax + 8]
cmp r14, qword [rax + 0x10]
jne 0x180177204
jmp 0x180177218
mov rax, rbp
test rax, rax
je 0x180177296
mov rcx, qword [0x180229ac0]
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 [0x180229ac0]
lea r8, [rsp + 0x40]
lea rdx, [rsp + 0x1d8]
mov rcx, qword [rax]
mov rbx, qword [rcx + 0x100]
call fcn.1801774b0
mov rcx, qword [rax]
mov edx, dword [rcx + 0x18]
mov rcx, qword [0x180229ac0]
call rbx
mov rcx, qword [0x180229ac0]
lea eax, [rdi + r12]
lea r9d, [rsi + r15]
mov dword [rsp + 0x20], eax
mov r8d, edi
mov edx, esi
mov r10, qword [rcx]
call qword [r10 + 0x110]
jmp 0x1801773ad
mov rcx, qword [0x180229e10]
mov rdx, r14
mov rax, qword [rcx]
call qword [rax + 0x118]
mov rcx, qword [0x18022a130]
lea r9, [rsp + 0x248]
mov dword [rsp + 0x220], ebp
lea r8, [rsp + 0x220]
mov dword [rsp + 0x248], ebp
mov esi, eax
mov rdx, qword [rcx]
mov r10, qword [rdx + 0x28]
mov edx, eax
call r10
test al, al
je 0x1801773ad
mov ebx, dword [rsp + 0x248]
mov eax, dword [rsp + 0x220]
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 0x1801773ad
mov rcx, qword [0x18022a130]
mov r9d, ebx
mov r8, rax
mov rdx, qword [rcx]
mov r10, qword [rdx + 0x30]
mov edx, esi
call r10
test al, al
je 0x1801773a4
mov rcx, qword [0x180229ac0]
mov dl, 1
mov rax, qword [rcx]
call qword [rax + 0x128]
mov rcx, qword [0x180229ac0]
mov ebx, eax
mov rdx, qword [rcx]
mov r8, qword [rdx + 0x118]
mov edx, eax
call r8
test al, al
je 0x1801773a4
mov rcx, qword [0x180229ac0]
mov r8, rdi
mov eax, dword [rsp + 0x248]
mov edx, ebx
mov r9d, dword [rsp + 0x220]
mov byte [rsp + 0x30], bpl
mov r10, qword [rcx]
mov dword [rsp + 0x28], ebp
mov dword [rsp + 0x20], eax
call qword [r10 + pe_nt_image_headers64]
lea r8, [rsp + 0x40]
lea rdx, [rsp + 0x1d8]
call fcn.1801774b0
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 + 0x1f0]
mov rbx, qword [r11 + 0x38]
mov rbp, qword [r11 + 0x40]
mov rsi, qword [r11 + 0x48]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
ret