Function at 0x180159910
Capabilities:
Hash data using fnv

Disassembly:
mov qword [rsp + 0x20], rbx
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
push rbp
push rsi
push rdi
push r14
push r15
sub rsp, 0x50
mov eax, dword [0x18029d194]
test al, 0x20
je 0x180159d20
test al, 0x40
jne 0x18015996f
mov rcx, rdx
call fcn.1800ca2d0
mov edx, dword [rax]
call fcn.180161fd0
mov ebx, eax
mov rcx, qword [rsp + 0x88]
add rcx, 0x10
mov rdx, qword [rcx]
call qword [rdx + 0x48]
cmp ebx, eax
je 0x180159d20
mov rdx, qword [rsp + 0x88]
cmp dword [0x180287728], 2
jg 0x180159d20
mov rax, qword [rdx]
mov rcx, rdx
call qword [rax + 0x48]
movss xmm0, dword [rax]
movss dword [rsp + 0x30], xmm0
movss xmm1, dword [rax + 4]
movss dword [rsp + 0x34], xmm1
movss xmm0, dword [rax + 8]
movss dword [rsp + 0x38], xmm0
lea rdx, [rsp + 0x30]
mov rcx, qword [0x1802876f0]
call fcn.180166230
mov rdx, rax
mov qword [rsp + 0x80], rax
mov r15, qword [0x1802876f0]
add r15, 0x210
mov rcx, rax
shr rcx, 8
movzx r8d, cl
movzx ecx, al
movabs rdi, 0xcbf29ce484222325
xor rcx, rdi
movabs rbx, 0x100000001b3
imul rcx, rbx
xor r8, rcx
imul r8, rbx
shr rax, 0x10
movzx ecx, al
xor r8, rcx
imul r8, rbx
mov rax, rdx
shr rax, 0x18
movzx ecx, al
xor r8, rcx
imul r8, rbx
mov rax, rdx
shr rax, 0x20
movzx ecx, al
xor r8, rcx
imul r8, rbx
mov rax, rdx
shr rax, 0x28
movzx ecx, al
xor r8, rcx
imul r8, rbx
mov rax, rdx
shr rax, 0x30
movzx ecx, al
xor r8, rcx
imul r8, rbx
mov rax, rdx
shr rax, 0x38
xor r8, rax
imul r8, rbx
and r8, qword [r15 + 0x30]
add r8, r8
mov rcx, qword [r15 + 0x18]
mov rax, qword [rcx + r8*8 + 8]
xor ebp, ebp
cmp rax, qword [r15 + 8]
je 0x180159a92
mov rcx, qword [rcx + r8*8]
cmp rdx, qword [rax + 0x10]
je 0x180159a95
cmp rax, rcx
je 0x180159a92
mov rax, qword [rax + 8]
cmp rdx, qword [rax + 0x10]
jne 0x180159a81
jmp 0x180159a95
mov rax, rbp
test rax, rax
je 0x180159cec
lea r8, [rsp + 0x80]
lea rdx, [rsp + 0x30]
mov rcx, r15
call fcn.18015bb00
mov rcx, qword [rax]
cmp dword [rcx + 0x18], 5
je 0x180159d20
cmp dword [0x180287728], 2
jne 0x180159b80
mov rdx, qword [0x18028cb78]
movzx ecx, dl
xor rcx, rdi
imul rcx, rbx
movzx eax, byte [0x18028cb79]
xor rcx, rax
imul rcx, rbx
movzx eax, byte [0x18028cb7a]
xor rcx, rax
imul rcx, rbx
movzx eax, byte [0x18028cb7b]
xor rcx, rax
imul rcx, rbx
movzx eax, byte [0x18028cb7c]
xor rcx, rax
imul rcx, rbx
movzx eax, byte [0x18028cb7d]
xor rcx, rax
imul rcx, rbx
movzx eax, byte [0x18028cb7e]
xor rcx, rax
imul rcx, rbx
movzx eax, byte [0x18028cb7f]
xor rcx, rax
imul rcx, rbx
mov r8, qword [r15 + 0x30]
and r8, rcx
add r8, r8
mov rcx, qword [r15 + 0x18]
mov rax, qword [rcx + r8*8 + 8]
cmp rax, qword [r15 + 8]
je 0x180159b74
mov rcx, qword [rcx + r8*8]
cmp rdx, qword [rax + 0x10]
je 0x180159b77
cmp rax, rcx
je 0x180159b74
mov rax, qword [rax + 8]
cmp rdx, qword [rax + 0x10]
jne 0x180159b63
jmp 0x180159b77
mov rax, rbp
test rax, rax
je 0x180159cdb
xorps xmm0, xmm0
movdqu xmmword [rsp + 0x30], xmm0
mov rdi, rbp
mov qword [rsp + 0x40], rbp
mov rax, qword [0x1802876f0]
mov r14, qword [rax + 0x58]
mov rsi, qword [rax + 0x50]
mov rbx, qword [rsp + 0x38]
cmp rsi, r14
je 0x180159bf6
nop word [rax + rax]
mov qword [rsp + 0x90], rsi
cmp rbx, rdi
je 0x180159bcb
mov qword [rbx], rsi
add rbx, 8
mov qword [rsp + 0x38], rbx
jmp 0x180159bea
lea r8, [rsp + 0x90]
mov rdx, rbx
lea rcx, [rsp + 0x30]
call fcn.18014bcd0
mov rdi, qword [rsp + 0x40]
mov rbx, qword [rsp + 0x38]
add rsi, 0xd0
cmp rsi, r14
jne 0x180159bb0
mov r8, rbx
mov r14, qword [rsp + 0x30]
sub r8, r14
sar r8, 3
lea r9, [rsp + 0x88]
mov rdx, rbx
mov rcx, r14
call fcn.18015d150
mov rsi, r14
cmp r14, rbx
je 0x180159c61
mov rdx, rsi
mov rcx, r15
call fcn.18015b3b0
test al, al
jne 0x180159c58
inc ebp
cmp ebp, 5
jg 0x180159c61
mov rdx, qword [rsi]
add rdx, 0x24
mov byte [rsp + 0x20], 1
mov r8d, 2
lea rcx, [0x1802876f0]
call fcn.180167a70
test al, al
jne 0x180159c99
add rsi, 8
cmp rsi, rbx
jne 0x180159c20
test r14, r14
je 0x180159d20
sub rdi, r14
and rdi, 0xfffffffffffffff8
mov rax, r14
cmp rdi, 0x1000
jb 0x180159cdf
add rdi, 0x27
mov r14, qword [r14 - 8]
sub rax, r14
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x180159cdf
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
nop
mov rax, qword [rsi]
mov qword [0x18028cb78], rax
test r14, r14
je 0x180159cdb
sub rdi, r14
and rdi, 0xfffffffffffffff8
mov rax, r14
cmp rdi, 0x1000
jb 0x180159cd0
add rdi, 0x27
mov r14, qword [r14 - 8]
sub rax, r14
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180159c92
mov rdx, rdi
mov rcx, r14
call fcn.1801d1c00
mov al, 1
jmp 0x180159d22
mov rdx, rdi
mov rcx, r14
call fcn.1801d1c00
jmp 0x180159d20
cmp dword [0x180287728], 2
jne 0x180159d20
mov rax, qword [0x180287710]
cmp rax, qword [0x180287718]
je 0x180159d0c
mov qword [0x180287718], rax
mov qword [0x1802876f8], rbp
mov dword [0x180287728], ebp
mov byte [0x18028773d], bpl
xor al, al
mov rbx, qword [rsp + 0x98]
add rsp, 0x50
pop r15
pop r14
pop rdi
pop rsi
pop rbp
ret