Function at 0x140018c10
Capabilities:
Hash data using fnv

Disassembly:
push rbp
push rbx
push r12
push r13
push r14
push r15
mov rbp, rsp
sub rsp, 0x78
mov r9d, dword [r8]
xor r15d, r15d
mov r12, r8
mov r13, rdx
mov r14, rcx
test r9, r9
jne 0x140018c3f
mov ebx, r15d
mov qword [rbp + 0x38], rbx
jmp 0x140018c77
lea rbx, [r9 + r9*2]
mov r8d, 0x10
shl rbx, 4
mov rdx, rbx
call fcn.140010970
mov qword [rbp + 0x38], rax
test rax, rax
je 0x140018c70
mov r8, rbx
xor edx, edx
mov rcx, rax
mov rbx, rax
call fcn.1400eee20
jmp 0x140018c73
mov rbx, rax
mov r9d, dword [r12]
mov rax, qword [r12 + 8]
movabs rdx, 0xffffffffffff
and rax, rdx
mov ecx, r9d
shl rcx, 5
add rcx, rax
mov qword [rsp + 0xb8], rsi
mov qword [rsp + 0x70], rdi
cmp rax, rcx
je 0x14001917f
lea rdi, [rax + 0x10]
movabs rsi, 0x100000001b3
mov ecx, 0x1000
test word [rdi - 2], cx
je 0x140018cc8
lea rcx, [rdi - 0x10]
jmp 0x140018ccf
mov rcx, qword [rdi - 8]
and rcx, rdx
xor edx, edx
lea r8d, [rdx + 0x10]
call fcn.1400f6b50
mov r9, rax
movzx r8d, al
mov qword [rbp + 0x48], rax
mov rcx, r9
shr rcx, 8
movabs rax, 0xcbf29ce484222325
xor r8, rax
movzx edx, cl
imul r8, rsi
mov rax, r9
shr rax, 0x10
xor r8, rdx
movzx ecx, al
mov rax, r9
shr rax, 0x18
imul r8, rsi
xor r8, rcx
movzx ecx, al
imul r8, rsi
mov rax, r9
xor r8, rcx
shr rax, 0x20
movzx ecx, al
mov rax, r9
shr rax, 0x28
imul r8, rsi
xor r8, rcx
movzx ecx, al
imul r8, rsi
mov rax, r9
xor r8, rcx
shr rax, 0x30
movzx ecx, al
mov rax, r9
shr rax, 0x38
imul r8, rsi
xor rcx, r8
imul rcx, rsi
xor rcx, rax
imul rcx, rsi
and rcx, qword [r14 + 0xb8]
shl rcx, 4
add rcx, qword [r14 + 0xa0]
mov rax, qword [rcx + 8]
cmp rax, qword [r14 + 0x90]
je 0x140018daa
mov rcx, qword [rcx]
cmp r9, qword [rax + 0x10]
je 0x140018da1
cmp rax, rcx
je 0x140018daa
mov rax, qword [rax + 8]
cmp r9, qword [rax + 0x10]
jne 0x140018d92
test rax, rax
jne 0x140019149
mov eax, r15d
lea r8, [rbp - 0x28]
xorps xmm0, xmm0
lea rdx, [rbp + 0x50]
movups xmmword [rbp - 0x28], xmm0
movabs rcx, 0xffff000000000000
mov dword [rbp - 0x28], 5
lea rsi, [rax + rax*2]
mov eax, 0x405
mov word [rbp - 0x1a], ax
mov rax, qword [rbp - 0x20]
and rax, rcx
shl rsi, 4
lea rcx, str.flags
add rsi, rbx
or rax, rcx
mov rcx, rdi
mov qword [rbp - 0x20], rax
mov dword [rsi], 0x1e
call fcn.14000af80
mov ecx, dword [rdi]
movabs rbx, 0xffffffffffff
mov rax, qword [rdi + 8]
and rax, rbx
shl rcx, 5
add rcx, rax
mov rax, qword [rbp + 0x50]
cmp rax, rcx
je 0x140018e2d
add rax, 0x10
jmp 0x140018e3e
xorps xmm0, xmm0
lea rax, [0x1401bc408]
movups xmmword [0x1401bc408], xmm0
mov eax, dword [rax]
lea r8, [rbp - 0x28]
mov dword [rsi + 0x10], eax
lea rdx, [rbp - 0x58]
xorps xmm0, xmm0
mov eax, 0x405
movups xmmword [rbp - 0x28], xmm0
mov word [rbp - 0x1a], ax
movabs rcx, 0xffff000000000000
mov rax, qword [rbp - 0x20]
and rax, rcx
mov dword [rbp - 0x28], 0x12
lea rcx, str.pushConstantRanges
or rax, rcx
mov rcx, rdi
mov qword [rbp - 0x20], rax
call fcn.14000af80
and rbx, qword [rdi + 8]
mov ecx, dword [rdi]
shl rcx, 5
add rbx, rcx
cmp qword [rbp - 0x58], rbx
je 0x140018fa2
xorps xmm0, xmm0
lea r8, [rbp - 0x28]
movups xmmword [rbp - 0x28], xmm0
mov eax, 0x405
mov dword [rbp - 0x28], 0x12
mov word [rbp - 0x1a], ax
lea rdx, [rbp - 0x50]
mov rax, qword [rbp - 0x20]
movabs rcx, 0xffff000000000000
and rax, rcx
lea rcx, str.pushConstantRanges
or rax, rcx
mov rcx, rdi
mov qword [rbp - 0x20], rax
call fcn.14000af80
mov rax, qword [rbp - 0x50]
cmp rax, rbx
je 0x140018ef5
add rax, 0x10
jmp 0x140018f06
xorps xmm0, xmm0
lea rax, [0x1401bc408]
movups xmmword [0x1401bc408], xmm0
mov eax, dword [rax]
lea r8, [rbp - 0x28]
mov dword [rsi + 0x20], eax
lea rdx, [rbp - 0x48]
xorps xmm0, xmm0
mov eax, 0x405
movups xmmword [rbp - 0x28], xmm0
mov word [rbp - 0x1a], ax
movabs rcx, 0xffff000000000000
mov rax, qword [rbp - 0x20]
and rax, rcx
mov dword [rbp - 0x28], 0x12
lea rcx, str.pushConstantRanges
or rax, rcx
mov rcx, rdi
mov qword [rbp - 0x20], rax
call fcn.14000af80
mov ecx, dword [rdi]
movabs rbx, 0xffffffffffff
mov rax, qword [rdi + 8]
and rax, rbx
shl rcx, 5
add rcx, rax
mov rax, qword [rbp - 0x48]
cmp rax, rcx
je 0x140018f7a
lea rdx, [rax + 0x10]
jmp 0x140018f8b
xorps xmm0, xmm0
lea rdx, [0x1401bc408]
movups xmmword [0x1401bc408], xmm0
lea r8, [rsi + 0x28]
mov rcx, r14
call fcn.140019a90
test al, al
jne 0x140018fac
xor al, al
jmp 0x14001918b
movabs rbx, 0xffffffffffff
xorps xmm0, xmm0
lea r8, [rbp - 0x28]
movups xmmword [rbp - 0x28], xmm0
mov eax, 0x405
mov dword [rbp - 0x28], 0xa
mov word [rbp - 0x1a], ax
lea rdx, [rbp - 0x40]
mov rax, qword [rbp - 0x20]
movabs rcx, 0xffff000000000000
and rax, rcx
lea rcx, str.setLayouts
or rax, rcx
mov rcx, rdi
mov qword [rbp - 0x20], rax
call fcn.14000af80
and rbx, qword [rdi + 8]
mov ecx, dword [rdi]
shl rcx, 5
add rbx, rcx
cmp qword [rbp - 0x40], rbx
je 0x140019108
xorps xmm0, xmm0
lea r8, [rbp - 0x28]
movups xmmword [rbp - 0x28], xmm0
mov eax, 0x405
mov dword [rbp - 0x28], 0xa
mov word [rbp - 0x1a], ax
lea rdx, [rbp - 0x38]
mov rax, qword [rbp - 0x20]
movabs rcx, 0xffff000000000000
and rax, rcx
lea rcx, str.setLayouts
or rax, rcx
mov rcx, rdi
mov qword [rbp - 0x20], rax
call fcn.14000af80
mov rax, qword [rbp - 0x38]
cmp rax, rbx
je 0x14001905e
add rax, 0x10
jmp 0x14001906f
xorps xmm0, xmm0
lea rax, [0x1401bc408]
movups xmmword [0x1401bc408], xmm0
mov eax, dword [rax]
lea r8, [rbp - 0x28]
mov dword [rsi + 0x14], eax
lea rdx, [rbp - 0x30]
xorps xmm0, xmm0
mov eax, 0x405
movups xmmword [rbp - 0x28], xmm0
mov word [rbp - 0x1a], ax
movabs rcx, 0xffff000000000000
mov rax, qword [rbp - 0x20]
and rax, rcx
mov dword [rbp - 0x28], 0xa
lea rcx, str.setLayouts
or rax, rcx
mov rcx, rdi
mov qword [rbp - 0x20], rax
call fcn.14000af80
mov ecx, dword [rdi]
movabs rdx, 0xffffffffffff
mov rax, qword [rdi + 8]
and rax, rdx
shl rcx, 5
add rcx, rax
mov rax, qword [rbp - 0x30]
cmp rax, rcx
je 0x1400190e3
lea rdx, [rax + 0x10]
jmp 0x1400190f4
xorps xmm0, xmm0
lea rdx, [0x1401bc408]
movups xmmword [0x1401bc408], xmm0
lea r8, [rsi + 0x18]
mov rcx, r14
call fcn.14001dbc0
test al, al
je 0x140018f9b
mov rax, qword [r13]
lea rcx, [r14 + 0x88]
lea r8, [rbp + 0x48]
lea rdx, [rbp - 0x18]
mov rbx, qword [rax + 0x30]
call fcn.14000d240
mov rdx, qword [rbp + 0x48]
mov r8, rsi
mov rcx, r13
mov r9, qword [rax]
add r9, 0x18
call rbx
test al, al
je 0x140018f9b
movabs rsi, 0x100000001b3
mov ecx, dword [r12]
add rdi, 0x20
mov rax, qword [r12 + 8]
movabs rdx, 0xffffffffffff
and rax, rdx
shl rcx, 5
add rcx, rax
inc r15d
lea rax, [rdi - 0x10]
cmp rax, rcx
je 0x14001917f
mov rbx, qword [rbp + 0x38]
jmp 0x140018cb7
mov rax, qword [r13]
mov rcx, r13
call qword [rax + 0x70]
mov al, 1
mov rdi, qword [rsp + 0x70]
mov rsi, qword [rsp + 0xb8]
add rsp, 0x78
pop r15
pop r14
pop r13
pop r12
pop rbx
pop rbp
ret