Function at 0x1400a91d0
Capabilities:
Hash data using fnv

Disassembly:
mov qword [rsp + 8], rcx
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x2e8]
sub rsp, 0x3e8
mov rbx, rcx
mov rax, qword [rcx + 0x1d0]
mov qword [rsp + 0x70], rax
mov rcx, qword [rcx + 0x1d8]
mov qword [rbp - 0x80], rcx
cmp rax, rcx
je 0x1400a9776
xor esi, esi
movabs r9, 0xcbf29ce484222325
movabs r8, 0x100000001b3
nop dword [rax]
mov edi, dword [rax]
mov dword [rsp + 0x28], edi
movzx edx, dil
xor rdx, r9
imul rdx, r8
mov eax, edi
shr eax, 8
movzx ecx, al
xor rdx, rcx
imul rdx, r8
mov eax, edi
shr eax, 0x10
movzx ecx, al
xor rdx, rcx
imul rdx, r8
mov eax, edi
shr rax, 0x18
xor rdx, rax
imul rdx, r8
and rdx, qword [rbx + 0x218]
add rdx, rdx
mov rcx, qword [rbx + 0x200]
mov rax, qword [rcx + rdx*8 + 8]
cmp rax, qword [rbx + 0x1f0]
je 0x1400a9ad7
mov rcx, qword [rcx + rdx*8]
cmp edi, dword [rax + 0x10]
je 0x1400a92b2
nop dword [rax + rax]
cmp rax, rcx
je 0x1400a9ad7
mov rax, qword [rax + 8]
cmp edi, dword [rax + 0x10]
jne 0x1400a92a0
mov r14d, esi
mov dword [rbp + 0x338], esi
mov dword [rbp + 0x340], esi
mov r12d, esi
mov dword [rbp + 0x348], esi
mov r15d, esi
mov dword [rsp + 0x20], esi
mov r13d, esi
mov dword [rsp + 0x24], esi
mov rdi, qword [rax + 0x18]
mov qword [rsp + 0x68], rdi
mov rax, qword [rax + 0x20]
mov qword [rsp + 0x78], rax
cmp rdi, rax
je 0x1400a975e
nop dword [rax]
nop word [rax + rax]
mov dword [rbp - 0x70], 0
mov qword [rbp - 0x68], rsi
mov qword [rbp - 0x60], rsi
mov ecx, 0x18
call fcn.1400ec60c
mov qword [rax], rax
mov qword [rax + 8], rax
mov qword [rbp - 0x68], rax
mov qword [rbp - 0x58], rsi
xorps xmm0, xmm0
movdqa xmmword [rbp - 0x50], xmm0
mov qword [rbp - 0x40], 7
mov qword [rbp - 0x38], 8
mov dword [rbp - 0x70], 0x3f800000
mov r8, rax
mov edx, 0x10
lea rcx, [rbp - 0x58]
call fcn.1400019e0
nop
mov rsi, qword [rdi + 0x20]
mov qword [rsp + 0x60], rsi
mov rax, qword [rdi + 0x28]
mov qword [rsp + 0x40], rax
cmp rsi, rax
je 0x1400a95dc
nop dword [rax]
nop dword [rax + rax]
mov r13d, dword [rsi]
mov edx, r13d
mov rcx, rbx
call fcn.1400e1ef0
mov r14, rax
mov qword [rsp + 0x30], rax
test rax, rax
je 0x1400a993a
mov eax, 0x3b
cmp ax, word [r14 + 0x3a]
jne 0x1400a993a
mov rdx, qword [r14 + 0x18]
mov rcx, qword [r14 + 0x20]
sub rcx, rdx
sar rcx, 4
cmp rcx, 2
jbe 0x1400a9aea
movzx ecx, word [rdx + 0x20]
mov rax, qword [r14]
mov r15d, dword [rax + rcx*4]
cmp dword [rbx + 0x24], 0x10400
jb 0x1400a9409
cmp r15d, 7
je 0x1400a9848
lea r8, [rsp + 0x30]
lea rdx, [rbp]
lea rcx, [rbp - 0x70]
call fcn.140023390
cmp byte [rbp + 8], 0
je 0x1400a978c
mov r14, qword [rsp + 0x30]
jmp 0x1400a9419
cmp r15d, 1
je 0x1400a9419
cmp r15d, 3
jne 0x1400a987a
mov rax, qword [r14]
mov edx, dword [rax + 4]
mov rcx, rbx
call fcn.1400e1ef0
mov rcx, qword [rax]
mov edi, dword [rcx + 0xc]
mov dword [rsp + 0x30], edi
mov edx, edi
mov rcx, rbx
call fcn.1400e1ef0
mov r12, rax
test rax, rax
je 0x1400a9501
mov eax, 0x1e
cmp ax, word [r12 + 0x3a]
jne 0x1400a9501
mov edx, edi
mov rcx, rbx
call fcn.1400ac8f0
mov rdx, qword [rax + 8]
mov rcx, qword [rax]
cmp rcx, rdx
je 0x1400a9501
cmp dword [rcx], 0xb
jne 0x1400a947d
cmp dword [rcx + 0x20], 0xffffffff
jne 0x1400a9483
add rcx, 0x28
jmp 0x1400a9469
mov ecx, dword [rbp + 0x338]
lea eax, [rcx + 1]
cmp r15d, 1
cmovne eax, ecx
mov ecx, eax
mov dword [rbp + 0x338], eax
mov esi, eax
mov edx, dword [rbp + 0x340]
lea eax, [rdx + 1]
cmp r15d, 3
cmovne eax, edx
mov edx, eax
mov dword [rbp + 0x340], eax
mov edi, eax
cmp ecx, 1
jg 0x1400a98e1
mov dword [rbp + 0x338], esi
mov dword [rbp + 0x340], eax
cmp eax, 1
jg 0x1400a95b9
mov rdx, rbx
mov ecx, r13d
call fcn.1400a6f80
mov ebx, eax
test eax, eax
jne 0x1400a9ac1
mov dword [rbp + 0x338], esi
mov dword [rbp + 0x340], edi
mov edi, dword [rsp + 0x30]
mov rsi, qword [rsp + 0x60]
jmp 0x1400a953d
mov edx, r13d
mov rcx, rbx
call fcn.1400ac8f0
mov rdx, qword [rax + 8]
mov rcx, qword [rax]
cmp rcx, rdx
je 0x1400a9544
cmp dword [rcx], 0xb
je 0x1400a9528
add rcx, 0x28
cmp rcx, rdx
jne 0x1400a9518
jmp 0x1400a9544
mov rdx, rbx
mov ecx, r13d
call fcn.1400a6f80
mov ebx, eax
test eax, eax
jne 0x1400a9ac1
mov rbx, qword [rbp + 0x330]
cmp r15d, 4
jne 0x1400a9590
inc dword [rbp + 0x348]
test r12, r12
je 0x1400a9590
mov eax, 0x1e
cmp ax, word [r12 + 0x3a]
jne 0x1400a9590
mov r8, rbx
lea edx, [rax - 0x1c]
mov ecx, edi
call fcn.1400ac7b0
test al, al
je 0x1400a9577
inc dword [rsp + 0x20]
mov r8, rbx
mov edx, 0x14
mov ecx, dword [r14 + 0x44]
call fcn.1400ac7b0
test al, al
je 0x1400a9590
inc dword [rsp + 0x24]
add rsi, 4
mov qword [rsp + 0x60], rsi
cmp rsi, qword [rsp + 0x40]
jne 0x1400a9380
mov ecx, dword [rbp + 0x338]
mov edx, dword [rbp + 0x340]
cmp ecx, 1
jg 0x1400a98e1
cmp edx, 1
jg 0x1400a98e1
mov r14d, dword [rbp + 0x338]
mov r15d, dword [rsp + 0x20]
mov r12d, dword [rbp + 0x348]
mov r13d, dword [rsp + 0x24]
jmp 0x1400a95e2
mov edx, dword [rbp + 0x340]
mov esi, dword [rsp + 0x28]
lea rdi, [rbx + 0x3c0]
mov rbx, qword [rdi]
mov rax, qword [rbx + 8]
mov qword [rsp + 0x40], rax
xor r8d, r8d
mov dword [rsp + 0x48], r8d
mov rcx, rbx
cmp byte [rax + 0x19], r8b
jne 0x1400a9657
nop word [rax + rax]
mov qword [rsp + 0x40], rax
cmp dword [rax + 0x20], esi
jae 0x1400a9625
mov dword [rsp + 0x48], r8d
mov rax, qword [rax + 0x10]
jmp 0x1400a9633
mov dword [rsp + 0x48], 1
mov rcx, rax
mov rax, qword [rax]
cmp byte [rax + 0x19], r8b
je 0x1400a9610
mov dword [rbp + 0x338], r14d
mov dword [rbp + 0x340], edx
mov dword [rbp + 0x348], r12d
mov dword [rsp + 0x20], r15d
mov dword [rsp + 0x24], r13d
cmp byte [rcx + 0x19], r8b
jne 0x1400a9662
cmp esi, dword [rcx + 0x20]
jae 0x1400a96ca
movabs rax, 0x3ffffffffffffff
cmp qword [rdi + 8], rax
je 0x1400a9ad1
mov qword [rbp - 0x30], rdi
mov qword [rbp - 0x28], r8
mov ecx, 0x40
call fcn.1400ec60c
nop
mov dword [rax + 0x20], esi
xor ecx, ecx
mov qword [rax + 0x28], rcx
mov qword [rax + 0x30], rcx
mov qword [rax + 0x38], rcx
mov qword [rax], rbx
mov qword [rax + 8], rbx
mov qword [rax + 0x10], rbx
mov word [rax + 0x18], cx
mov qword [rbp - 0x28], rcx
movups xmm0, xmmword [rsp + 0x40]
movaps xmmword [rsp + 0x40], xmm0
mov r8, rax
lea rdx, [rsp + 0x40]
mov rcx, rdi
call fcn.140047370
mov rcx, rax
mov rbx, qword [rcx + 0x28]
mov rax, qword [rcx + 0x30]
cmp rbx, rax
je 0x1400a96e9
cmp dword [rbx], 0x29
je 0x1400a9990
add rbx, 0x28
cmp rbx, rax
jne 0x1400a96d7
mov edx, 0x114c
mov rbx, qword [rbp + 0x330]
mov rcx, rbx
call fcn.14007aa70
test al, al
je 0x1400a9723
test r12d, r12d
jle 0x1400a9723
test r15d, r15d
jle 0x1400a9723
cmp r12d, r15d
jne 0x1400a9a67
cmp r15d, 1
jle 0x1400a9723
cmp r15d, r13d
jne 0x1400a9a0b
lea rcx, [rbp - 0x70]
call fcn.140023f80
mov rdi, qword [rsp + 0x68]
add rdi, 0x38
mov qword [rsp + 0x68], rdi
cmp rdi, qword [rsp + 0x78]
mov esi, 0
jne 0x1400a9300
movabs r8, 0x100000001b3
movabs r9, 0xcbf29ce484222325
mov rax, qword [rsp + 0x70]
add rax, 4
mov qword [rsp + 0x70], rax
cmp rax, qword [rbp - 0x80]
jne 0x1400a9230
xor eax, eax
add rsp, 0x3e8
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret
mov r9, qword [rsp + 0x30]
mov r8d, 0xfffffff6
lea rdx, [rbp + 0x10]
mov rcx, rbx
call fcn.1400e7010
mov rbx, rax
lea rdx, str.Non_unique_OpEntryPoint_interface
mov rcx, rax
call fcn.14002dd70
mov r8d, r13d
lea rdx, [rbp - 0x20]
mov rcx, qword [rbp + 0x330]
call fcn.1400e7380
nop
mov r8, qword [rax + 0x10]
cmp qword [rax + 0x18], 0x10
jb 0x1400a97d7
mov rax, qword [rax]
mov rdx, rax
mov rcx, rbx
call fcn.14002e220
lea rdx, str._is_disallowed
mov rcx, rbx
call fcn.14002dd70
mov ebx, dword [rbx + 0x160]
mov rdx, qword [rbp - 8]
cmp rdx, 0x10
jb 0x1400a9832
inc rdx
mov rcx, qword [rbp - 0x20]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400a982d
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400a9ae4
call fcn.1400ec648
xor ecx, ecx
mov qword [rbp - 0x10], rcx
mov qword [rbp - 8], 0xf
mov byte [rbp - 0x20], cl
jmp 0x1400a9ab7
mov r9, r14
mov r8d, 0xfffffff6
lea rdx, [rbp + 0x10]
mov rcx, rbx
call fcn.1400e7010
mov rbx, rax
lea rdx, str.OpEntryPoint_interfaces_should_only_list_global_variables
mov rcx, rax
call fcn.14002dd70
mov ebx, dword [rbx + 0x160]
jmp 0x1400a9ab7
mov r9, r14
mov r8d, 0xfffffff6
lea rdx, [rbp + 0x10]
mov rcx, rbx
call fcn.1400e7010
mov rbx, rax
lea rdx, str.OpEntryPoint_interfaces_must_be_OpVariables_with_Storage_Class_of_Input_1__or_Output_3_._Found_Storage_Class
mov rcx, rax
call fcn.14002dd70
mov edx, r15d
mov rcx, rbx
call fcn.14005a480
lea rdx, str._for_Entry_Point_id
mov rcx, rbx
call fcn.14002dd70
mov edx, dword [rsp + 0x28]
mov rcx, rbx
call fcn.14005a650
lea rdx, [0x140126570]
mov rcx, rbx
call fcn.14002dd70
mov ebx, dword [rbx + 0x160]
jmp 0x1400a9ab7
mov edx, dword [rsp + 0x28]
mov rcx, rbx
call fcn.1400e1ef0
mov r9, rax
mov r8d, 0xfffffffc
lea rdx, [rbp + 0x10]
mov rcx, rbx
call fcn.1400e7010
mov rbx, rax
lea rdx, str.There_must_be_at_most_one_object_per_Storage_Class_that_can_contain_a_structure_type_containing_members_decorated_with_BuiltIn__consumed_per_entry_point._Entry_Point_id
mov rcx, rax
call fcn.14002dd70
mov edx, dword [rsp + 0x28]
mov rcx, rbx
call fcn.14005a650
lea rdx, str._does_not_meet_this_requirement.
mov rcx, rbx
call fcn.14002dd70
mov ebx, dword [rbx + 0x160]
jmp 0x1400a9ab7
mov r9, r14
mov r8d, 0xfffffff6
lea rdx, [rbp + 0x10]
mov rcx, rbx
call fcn.1400e7010
mov rbx, rax
lea rdx, str.Interfaces_passed_to_OpEntryPoint_must_be_of_type_OpTypeVariable._Found_Op
mov rcx, rax
call fcn.14002dd70
movzx ecx, word [r14 + 0x3a]
call fcn.14006e140
mov rdx, rax
mov rcx, rbx
call fcn.14002dd70
lea rdx, [0x140126570]
mov rcx, rbx
call fcn.14002dd70
mov ebx, dword [rbx + 0x160]
jmp 0x1400a9ab7
mov rbx, qword [rbx + 8]
mov edx, esi
mov rcx, qword [rbp + 0x330]
call fcn.1400e1ef0
mov r9, rax
mov r8d, 0xfffffffc
lea rdx, [rbp + 0x10]
mov rcx, qword [rbp + 0x330]
call fcn.1400e7010
mov rdi, rax
lea rdx, str.The_LinkageAttributes_Decoration__Linkage_name:
mov rcx, rax
call fcn.14002dd70
mov rdx, rbx
mov rcx, rdi
call fcn.14002dd70
lea rdx, str.__cannot_be_applied_to_function_id
mov rcx, rdi
call fcn.14002dd70
mov edx, esi
mov rcx, rdi
call fcn.14005a650
lea rdx, str._because_it_is_targeted_by_an_OpEntryPoint_instruction.
mov rcx, rdi
call fcn.14002dd70
mov ebx, dword [rdi + 0x160]
jmp 0x1400a9ab7
mov edx, esi
mov rcx, rbx
call fcn.1400e1ef0
mov r9, rax
mov r8d, 0xfffffffc
lea rdx, [rbp + 0x178]
mov rcx, rbx
call fcn.1400e7010
mov rbx, rax
lea rdx, str.When_declaring_WorkgroupMemoryExplicitLayoutKHR__if_more_than_one_Workgroup_Storage_Class_variable_in_the_entry_point_interface_point_to_a_type_decorated_with_Block__all_of_them_must_be_decorated_with_Aliased._Entry_point_id
mov rcx, rax
call fcn.14002dd70
mov edx, esi
mov rcx, rbx
call fcn.14005a650
lea rdx, str._does_not_meet_this_requirement.
mov rcx, rbx
call fcn.14002dd70
mov ebx, dword [rbx + 0x160]
lea rcx, [rbp + 0x178]
jmp 0x1400a9abb
mov edx, esi
mov rcx, rbx
call fcn.1400e1ef0
mov r9, rax
mov r8d, 0xfffffffc
lea rdx, [rbp + 0x10]
mov rcx, rbx
call fcn.1400e7010
mov rbx, rax
lea rdx, str.When_declaring_WorkgroupMemoryExplicitLayoutKHR__either_all_or_none_of_the_Workgroup_Storage_Class_variables_in_the_entry_point_interface_must_point_to_struct_types_decorated_with_Block.__Entry_point_id
mov rcx, rax
call fcn.14002dd70
mov edx, esi
mov rcx, rbx
call fcn.14005a650
lea rdx, str._does_not_meet_this_requirement.
mov rcx, rbx
call fcn.14002dd70
mov ebx, dword [rbx + 0x160]
lea rcx, [rbp + 0x10]
call fcn.1400604a0
nop
lea rcx, [rbp - 0x70]
call fcn.140023f80
mov eax, ebx
jmp 0x1400a9778
call fcn.140047d30
nop
lea rcx, str.invalid_unordered_map_K__T__key
call fcn.1400e95f4
nop
call fcn.1400f2c0c
nop
call fcn.14005fd00
int3