Function at 0x1400af3a0
Capabilities:
Hash data using fnv

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
push rdi
sub rsp, 0x190
mov rbx, rdx
mov rdi, rcx
mov rsi, qword [rdx + 0x20]
sub rsi, qword [rdx + 0x18]
sar rsi, 4
call fcn.1400bbfe0
test eax, eax
jne 0x1400ae5c6
mov rcx, qword [rbx + 0x18]
mov rax, qword [rbx + 0x20]
sub rax, rcx
sar rax, 4
cmp rax, 5
jbe 0x1400ae6bc
movzx ecx, word [rcx + 0x50]
mov rax, qword [rbx]
mov edx, dword [rax + rcx*4]
mov rcx, rdi
call fcn.1400ae330
test al, al
jne 0x1400ae5db
mov r9, rbx
mov r8d, 0xfffffff6
lea rdx, [rsp + 0x20]
mov rcx, rdi
call fcn.1400e7010
mov rbx, rax
lea rdx, str.Ordinal_must_be_a_32_bit_unsigned_integer_OpConstant
mov rcx, rax
call fcn.14002dd70
mov ebx, dword [rbx + 0x160]
lea rcx, [rsp + 0x20]
call fcn.1400604a0
mov eax, ebx
lea r11, [rsp + 0x190]
mov rbx, qword [r11 + 0x10]
mov rsi, qword [r11 + 0x18]
mov rsp, r11
pop rdi
ret
mov rcx, qword [rbx + 0x18]
mov rax, qword [rbx + 0x20]
sub rax, rcx
sar rax, 4
cmp rax, 6
jbe 0x1400ae6bc
movzx ecx, word [rcx + 0x60]
mov rax, qword [rbx]
mov edx, dword [rax + rcx*4]
mov rcx, rdi
call fcn.1400ae330
test al, al
jne 0x1400ae63a
mov r9, rbx
mov r8d, 0xfffffff6
lea rdx, [rsp + 0x20]
mov rcx, rdi
call fcn.1400e7010
mov rbx, rax
lea rdx, str.DescriptorSet_must_be_a_32_bit_unsigned_integer_OpConstant
mov rcx, rax
call fcn.14002dd70
mov ebx, dword [rbx + 0x160]
jmp 0x1400ae5ba
mov rcx, qword [rbx + 0x18]
mov rax, qword [rbx + 0x20]
sub rax, rcx
sar rax, 4
cmp rax, 7
jbe 0x1400ae6bc
movzx ecx, word [rcx + 0x70]
mov rax, qword [rbx]
mov edx, dword [rax + rcx*4]
mov rcx, rdi
call fcn.1400ae330
test al, al
jne 0x1400ae698
mov r9, rbx
mov r8d, 0xfffffff6
lea rdx, [rsp + 0x20]
mov rcx, rdi
call fcn.1400e7010
mov rbx, rax
lea rdx, str.Binding_must_be_a_32_bit_unsigned_integer_OpConstant
mov rcx, rax
call fcn.14002dd70
mov ebx, dword [rbx + 0x160]
jmp 0x1400ae5ba
cmp rsi, 9
jne 0x1400ae6b5
lea r8d, [rsi - 1]
mov rdx, rbx
mov rcx, rdi
call fcn.1400ae3b0
test eax, eax
jne 0x1400ae5c6
xor eax, eax
jmp 0x1400ae5c6
call fcn.14005fd00
int3
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
push rdi
sub rsp, 0x190
mov rbx, rdx
mov rsi, rcx
mov rax, qword [rdx + 0x18]
mov rdi, qword [rdx + 0x20]
sub rdi, rax
sar rdi, 4
cmp rdi, 4
jbe 0x1400ae90e
movzx ecx, word [rax + 0x40]
mov rax, qword [rdx]
mov edx, dword [rax + rcx*4]
mov rcx, rsi
call fcn.1400e2270
cmp eax, 7
je 0x1400ae767
mov r9, rbx
mov r8d, 0xfffffff6
lea rdx, [rsp + 0x20]
mov rcx, rsi
call fcn.1400e7010
mov rbx, rax
lea rdx, str.Name_must_be_an_OpString
mov rcx, rax
call fcn.14002dd70
mov ebx, dword [rbx + 0x160]
lea rcx, [rsp + 0x20]
call fcn.1400604a0
mov eax, ebx
lea r11, [rsp + 0x190]
mov rbx, qword [r11 + 0x10]
mov rsi, qword [r11 + 0x18]
mov rsp, r11
pop rdi
ret
cmp rdi, 5
jbe 0x1400ae7d0
mov rcx, qword [rbx + 0x18]
mov rax, qword [rbx + 0x20]
sub rax, rcx
sar rax, 4
cmp rax, 5
jbe 0x1400ae90e
movzx ecx, word [rcx + 0x50]
mov rax, qword [rbx]
mov edx, dword [rax + rcx*4]
mov rcx, rsi
call fcn.1400e2270
cmp eax, 7
je 0x1400ae7d0
mov r9, rbx
mov r8d, 0xfffffff6
lea rdx, [rsp + 0x20]
mov rcx, rsi
call fcn.1400e7010
mov rbx, rax
lea rdx, str.TypeName_must_be_an_OpString
mov rcx, rax
call fcn.14002dd70
mov ebx, dword [rbx + 0x160]
jmp 0x1400ae746
cmp rdi, 6
jbe 0x1400ae838
mov rcx, qword [rbx + 0x18]
mov rax, qword [rbx + 0x20]
sub rax, rcx
sar rax, 4
cmp rax, 6
jbe 0x1400ae90e
movzx ecx, word [rcx + 0x60]
mov rax, qword [rbx]
mov edx, dword [rax + rcx*4]
mov rcx, rsi
call fcn.1400ae330
test al, al
jne 0x1400ae838
mov r9, rbx
mov r8d, 0xfffffff6
lea rdx, [rsp + 0x20]
mov rcx, rsi
call fcn.1400e7010
mov rbx, rax
lea rdx, str.AddressQualifier_must_be_a_32_bit_unsigned_integer_OpConstant
mov rcx, rax
call fcn.14002dd70
mov ebx, dword [rbx + 0x160]
jmp 0x1400ae746
cmp rdi, 7
jbe 0x1400ae8a0
mov rcx, qword [rbx + 0x18]
mov rax, qword [rbx + 0x20]
sub rax, rcx
sar rax, 4
cmp rax, 7
jbe 0x1400ae90e
movzx ecx, word [rcx + 0x70]
mov rax, qword [rbx]
mov edx, dword [rax + rcx*4]
mov rcx, rsi
call fcn.1400ae330
test al, al
jne 0x1400ae8a0
mov r9, rbx
mov r8d, 0xfffffff6
lea rdx, [rsp + 0x20]
mov rcx, rsi
call fcn.1400e7010
mov rbx, rax
lea rdx, str.AccessQualifier_must_be_a_32_bit_unsigned_integer_OpConstant
mov rcx, rax
call fcn.14002dd70
mov ebx, dword [rbx + 0x160]
jmp 0x1400ae746
cmp rdi, 8
jbe 0x1400ae907
mov rcx, qword [rbx + 0x18]
mov rax, qword [rbx + 0x20]
sub rax, rcx
sar rax, 4
cmp rax, 8
jbe 0x1400ae90e
movzx ecx, word [rcx + 0x80]
mov rax, qword [rbx]
mov edx, dword [rax + rcx*4]
mov rcx, rsi
call fcn.1400ae330
test al, al
jne 0x1400ae907
mov r9, rbx
mov r8d, 0xfffffff6
lea rdx, [rsp + 0x20]
mov rcx, rsi
call fcn.1400e7010
mov rbx, rax
lea rdx, str.TypeQualifier_must_be_a_32_bit_unsigned_integer_OpConstant
mov rcx, rax
call fcn.14002dd70
mov ebx, dword [rbx + 0x160]
jmp 0x1400ae746
xor eax, eax
jmp 0x1400ae752
call fcn.14005fd00
int3
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
push rdi
sub rsp, 0x190
mov rbx, rdx
mov rdi, rcx
mov rsi, qword [rdx + 0x20]
sub rsi, qword [rdx + 0x18]
sar rsi, 4
call fcn.1400bbfe0
test eax, eax
jne 0x1400ae9b6
mov rcx, qword [rbx + 0x18]
mov rax, qword [rbx + 0x20]
sub rax, rcx
sar rax, 4
cmp rax, 5
jbe 0x1400aeb76
movzx ecx, word [rcx + 0x50]
mov rax, qword [rbx]
mov edx, dword [rax + rcx*4]
mov rcx, rdi
call fcn.1400ae330
test al, al
jne 0x1400ae9cb
mov r9, rbx
mov r8d, 0xfffffff6
lea rdx, [rsp + 0x20]
mov rcx, rdi
call fcn.1400e7010
mov rbx, rax
lea rdx, str.Ordinal_must_be_a_32_bit_unsigned_integer_OpConstant
mov rcx, rax
call fcn.14002dd70
mov ebx, dword [rbx + 0x160]
lea rcx, [rsp + 0x20]
call fcn.1400604a0
mov eax, ebx
lea r11, [rsp + 0x190]
mov rbx, qword [r11 + 0x10]
mov rsi, qword [r11 + 0x18]
mov rsp, r11
pop rdi
ret
mov rcx, qword [rbx + 0x18]
mov rax, qword [rbx + 0x20]
sub rax, rcx
sar rax, 4
cmp rax, 6
jbe 0x1400aeb76
movzx ecx, word [rcx + 0x60]
mov rax, qword [rbx]
mov edx, dword [rax + rcx*4]
mov rcx, rdi
call fcn.1400ae330
test al, al
jne 0x1400aea2a
mov r9, rbx
mov r8d, 0xfffffff6
lea rdx, [rsp + 0x20]
mov rcx, rdi
call fcn.1400e7010
mov rbx, rax
lea rdx, str.DescriptorSet_must_be_a_32_bit_unsigned_integer_OpConstant
mov rcx, rax
call fcn.14002dd70
mov ebx, dword [rbx + 0x160]
jmp 0x1400ae9aa
mov rcx, qword [rbx + 0x18]
mov rax, qword [rbx + 0x20]
sub rax, rcx
sar rax, 4
cmp rax, 7
jbe 0x1400aeb76
movzx ecx, word [rcx + 0x70]
mov rax, qword [rbx]
mov edx, dword [rax + rcx*4]
mov rcx, rdi
call fcn.1400ae330
test al, al
jne 0x1400aea8c
mov r9, rbx
mov r8d, 0xfffffff6
lea rdx, [rsp + 0x20]
mov rcx, rdi
call fcn.1400e7010
mov rbx, rax
lea rdx, str.Binding_must_be_a_32_bit_unsigned_integer_OpConstant
mov rcx, rax
call fcn.14002dd70
mov ebx, dword [rbx + 0x160]
jmp 0x1400ae9aa
mov rcx, qword [rbx + 0x18]
mov rax, qword [rbx + 0x20]
sub rax, rcx
sar rax, 4
cmp rax, 8
jbe 0x1400aeb76
movzx ecx, word [rcx + 0x80]
mov rax, qword [rbx]
mov edx, dword [rax + rcx*4]
mov rcx, rdi
call fcn.1400ae330
test al, al
jne 0x1400aeaf1
mov r9, rbx
mov r8d, 0xfffffff6
lea rdx, [rsp + 0x20]
mov rcx, rdi
call fcn.1400e7010
mov rbx, rax
lea rdx, str.Offset_must_be_a_32_bit_unsigned_integer_OpConstant
mov rcx, rax
call fcn.14002dd70
mov ebx, dword [rbx + 0x160]
jmp 0x1400ae9aa
mov rcx, qword [rbx + 0x18]
mov rax, qword [rbx + 0x20]
sub rax, rcx
sar rax, 4
cmp rax, 9
jbe 0x1400aeb76
movzx ecx, word [rcx + 0x90]
mov rax, qword [rbx]
mov edx, dword [rax + rcx*4]
mov rcx, rdi
call fcn.1400ae330
test al, al
jne 0x1400aeb52
mov r9, rbx
mov r8d, 0xfffffff6
lea rdx, [rsp + 0x20]
mov rcx, rdi
call fcn.1400e7010
mov rbx, rax
lea rdx, str.Size_must_be_a_32_bit_unsigned_integer_OpConstant
mov rcx, rax
call fcn.14002dd70
mov ebx, dword [rbx + 0x160]
jmp 0x1400ae9aa
cmp rsi, 0xb
jne 0x1400aeb6f
lea r8d, [rsi - 1]
mov rdx, rbx
mov rcx, rdi
call fcn.1400ae3b0
test eax, eax
jne 0x1400ae9b6
xor eax, eax
jmp 0x1400ae9b6
call fcn.14005fd00
int3
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
push rdi
sub rsp, 0x190
mov rbx, rdx
mov rdi, rcx
mov rsi, qword [rdx + 0x20]
sub rsi, qword [rdx + 0x18]
sar rsi, 4
call fcn.1400bbfe0
test eax, eax
jne 0x1400aec16
mov rcx, qword [rbx + 0x18]
mov rax, qword [rbx + 0x20]
sub rax, rcx
sar rax, 4
cmp rax, 5
jbe 0x1400aed0c
movzx ecx, word [rcx + 0x50]
mov rax, qword [rbx]
mov edx, dword [rax + rcx*4]
mov rcx, rdi
call fcn.1400ae330
test al, al
jne 0x1400aec2b
mov r9, rbx
mov r8d, 0xfffffff6
lea rdx, [rsp + 0x20]
mov rcx, rdi
call fcn.1400e7010
mov rbx, rax
lea rdx, str.Ordinal_must_be_a_32_bit_unsigned_integer_OpConstant
mov rcx, rax
call fcn.14002dd70
mov ebx, dword [rbx + 0x160]
lea rcx, [rsp + 0x20]
call fcn.1400604a0
mov eax, ebx
lea r11, [rsp + 0x190]
mov rbx, qword [r11 + 0x10]
mov rsi, qword [r11 + 0x18]
mov rsp, r11
pop rdi
ret
mov rcx, qword [rbx + 0x18]
mov rax, qword [rbx + 0x20]
sub rax, rcx
sar rax, 4
cmp rax, 6
jbe 0x1400aed0c
movzx ecx, word [rcx + 0x60]
mov rax, qword [rbx]
mov edx, dword [rax + rcx*4]
mov rcx, rdi
call fcn.1400ae330
test al, al
jne 0x1400aec8a
mov r9, rbx
mov r8d, 0xfffffff6
lea rdx, [rsp + 0x20]
mov rcx, rdi
call fcn.1400e7010
mov rbx, rax
lea rdx, str.Offset_must_be_a_32_bit_unsigned_integer_OpConstant
mov rcx, rax
call fcn.14002dd70
mov ebx, dword [rbx + 0x160]
jmp 0x1400aec0a
mov rcx, qword [rbx + 0x18]
mov rax, qword [rbx + 0x20]
sub rax, rcx
sar rax, 4
cmp rax, 7
jbe 0x1400aed0c
movzx ecx, word [rcx + 0x70]
mov rax, qword [rbx]
mov edx, dword [rax + rcx*4]
mov rcx, rdi
call fcn.1400ae330
test al, al
jne 0x1400aece8
mov r9, rbx
mov r8d, 0xfffffff6
lea rdx, [rsp + 0x20]
mov rcx, rdi
call fcn.1400e7010
mov rbx, rax
lea rdx, str.Size_must_be_a_32_bit_unsigned_integer_OpConstant
mov rcx, rax
call fcn.14002dd70
mov ebx, dword [rbx + 0x160]
jmp 0x1400aec0a
cmp rsi, 9
jne 0x1400aed05
lea r8d, [rsi - 1]
mov rdx, rbx
mov rcx, rdi
call fcn.1400ae3b0
test eax, eax
jne 0x1400aec16
xor eax, eax
jmp 0x1400aec16
call fcn.14005fd00
int3
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
push rdi
sub rsp, 0x190
mov rbx, rdx
mov rdi, rcx
mov rsi, qword [rdx + 0x20]
sub rsi, qword [rdx + 0x18]
sar rsi, 4
call fcn.1400bbfe0
test eax, eax
jne 0x1400aedb6
mov rcx, qword [rbx + 0x18]
mov rax, qword [rbx + 0x20]
sub rax, rcx
sar rax, 4
cmp rax, 5
jbe 0x1400aeeac
movzx ecx, word [rcx + 0x50]
mov rax, qword [rbx]
mov edx, dword [rax + rcx*4]
mov rcx, rdi
call fcn.1400ae330
test al, al
jne 0x1400aedcb
mov r9, rbx
mov r8d, 0xfffffff6
lea rdx, [rsp + 0x20]
mov rcx, rdi
call fcn.1400e7010
mov rbx, rax
lea rdx, str.Ordinal_must_be_a_32_bit_unsigned_integer_OpConstant
mov rcx, rax
call fcn.14002dd70
mov ebx, dword [rbx + 0x160]
lea rcx, [rsp + 0x20]
call fcn.1400604a0
mov eax, ebx
lea r11, [rsp + 0x190]
mov rbx, qword [r11 + 0x10]
mov rsi, qword [r11 + 0x18]
mov rsp, r11
pop rdi
ret
mov rcx, qword [rbx + 0x18]
mov rax, qword [rbx + 0x20]
sub rax, rcx
sar rax, 4
cmp rax, 6
jbe 0x1400aeeac
movzx ecx, word [rcx + 0x60]
mov rax, qword [rbx]
mov edx, dword [rax + rcx*4]
mov rcx, rdi
call fcn.1400ae330
test al, al
jne 0x1400aee2a
mov r9, rbx
mov r8d, 0xfffffff6
lea rdx, [rsp + 0x20]
mov rcx, rdi
call fcn.1400e7010
mov rbx, rax
lea rdx, str.SpecId_must_be_a_32_bit_unsigned_integer_OpConstant
mov rcx, rax
call fcn.14002dd70
mov ebx, dword [rbx + 0x160]
jmp 0x1400aedaa
mov rcx, qword [rbx + 0x18]
mov rax, qword [rbx + 0x20]
sub rax, rcx
sar rax, 4
cmp rax, 7
jbe 0x1400aeeac
movzx ecx, word [rcx + 0x70]
mov rax, qword [rbx]
mov edx, dword [rax + rcx*4]
mov rcx, rdi
call fcn.1400ae330
test al, al
jne 0x1400aee88
mov r9, rbx
mov r8d, 0xfffffff6
lea rdx, [rsp + 0x20]
mov rcx, rdi
call fcn.1400e7010
mov rbx, rax
lea rdx, str.ElemSize_must_be_a_32_bit_unsigned_integer_OpConstant
mov rcx, rax
call fcn.14002dd70
mov ebx, dword [rbx + 0x160]
jmp 0x1400aedaa
cmp rsi, 9
jne 0x1400aeea5
lea r8d, [rsi - 1]
mov rdx, rbx
mov rcx, rdi
call fcn.1400ae3b0
test eax, eax
jne 0x1400aedb6
xor eax, eax
jmp 0x1400aedb6
call fcn.14005fd00
int3
mov qword [rsp + 8], rbx
push rdi
sub rsp, 0x190
mov rbx, rdx
mov rdi, rcx
mov rcx, qword [rdx + 0x18]
mov rax, qword [rdx + 0x20]
sub rax, rcx
sar rax, 4
cmp rax, 4
jbe 0x1400af020
movzx r8d, word [rcx + 0x40]
mov rax, qword [rdx]
mov edx, dword [rax + r8*4]
mov rcx, rdi
call fcn.1400ae330
test al, al
jne 0x1400aef4f
mov r9, rbx
mov r8d, 0xfffffff6
lea rdx, [rsp + 0x20]
mov rcx, rdi
call fcn.1400e7010
mov rbx, rax
lea rdx, str.DescriptorSet_must_be_a_32_bit_unsigned_integer_OpConstant
mov rcx, rax
call fcn.14002dd70
mov ebx, dword [rbx + 0x160]
lea rcx, [rsp + 0x20]
call fcn.1400604a0
mov eax, ebx
mov rbx, qword [rsp + 0x1a0]
add rsp, 0x190
pop rdi
ret
mov rcx, qword [rbx + 0x18]
mov rax, qword [rbx + 0x20]
sub rax, rcx
sar rax, 4
cmp rax, 5
jbe 0x1400af020
movzx ecx, word [rcx + 0x50]
mov rax, qword [rbx]
mov edx, dword [rax + rcx*4]
mov rcx, rdi
call fcn.1400ae330
test al, al
jne 0x1400aefae
mov r9, rbx
mov r8d, 0xfffffff6
lea rdx, [rsp + 0x20]
mov rcx, rdi
call fcn.1400e7010
mov rbx, rax
lea rdx, str.Binding_must_be_a_32_bit_unsigned_integer_OpConstant
mov rcx, rax
call fcn.14002dd70
mov ebx, dword [rbx + 0x160]
jmp 0x1400aef32
mov rcx, qword [rbx + 0x18]
mov rax, qword [rbx + 0x20]
sub rax, rcx
sar rax, 4
cmp rax, 6
jbe 0x1400af020
movzx ecx, word [rcx + 0x60]
mov rax, qword [rbx]
mov edx, dword [rax + rcx*4]
mov rcx, rdi
call fcn.1400e2270
cmp eax, 7
je 0x1400af00d
mov r9, rbx
mov r8d, 0xfffffff6
lea rdx, [rsp + 0x20]
mov rcx, rdi
call fcn.1400e7010
mov rbx, rax
lea rdx, str.Data_must_be_an_OpString
mov rcx, rax
call fcn.14002dd70
mov ebx, dword [rbx + 0x160]
jmp 0x1400aef32
xor eax, eax
mov rbx, qword [rsp + 0x1a0]
add rsp, 0x190
pop rdi
ret
call fcn.14005fd00
int3
mov qword [rsp + 8], rbx
push rdi
sub rsp, 0x2f0
mov rbx, rdx
mov rdi, rcx
mov edx, dword [rdx + 0x40]
call fcn.1400e3260
test al, al
jne 0x1400af09a
mov r9, rbx
mov r8d, 0xfffffff6
lea rdx, [rsp + 0x20]
mov rcx, rdi
call fcn.1400e7010
mov rbx, rax
lea rdx, str.Return_Type_must_be_OpTypeVoid
mov rcx, rax
call fcn.14002dd70
mov ebx, dword [rbx + 0x160]
lea rcx, [rsp + 0x20]
call fcn.1400604a0
mov eax, ebx
mov rbx, qword [rsp + 0x300]
add rsp, 0x2f0
pop rdi
ret
mov r8, qword [rbx + 0x18]
mov rdx, qword [rbx + 0x20]
sub rdx, r8
sar rdx, 4
cmp rdx, 3
jbe 0x1400af332
mov r9, qword [rbx]
movzx eax, word [r8 + 0x30]
mov ecx, dword [r9 + rax*4]
dec ecx
cmp ecx, 0x17
ja case.default.0x1400af0df
movsxd rax, ecx
lea r10, [0x140000000]
mov ecx, dword [r10 + rax*4 + 0xaf338]
add rcx, r10
jmp rcx
mov rdx, rbx
mov rcx, rdi
mov rbx, qword [rsp + 0x300]
add rsp, 0x2f0
pop rdi
jmp 0x1400af3a0
mov rdx, rbx
mov rcx, rdi
mov rbx, qword [rsp + 0x300]
add rsp, 0x2f0
pop rdi
jmp 0x1400ae6d0
mov rdx, rbx
mov rcx, rdi
mov rbx, qword [rsp + 0x300]
add rsp, 0x2f0
pop rdi
jmp 0x1400ae530
mov rdx, rbx
mov rcx, rdi
mov rbx, qword [rsp + 0x300]
add rsp, 0x2f0
pop rdi
jmp 0x1400ae920
mov rdx, rbx
mov rcx, rdi
mov rbx, qword [rsp + 0x300]
add rsp, 0x2f0
pop rdi
jmp 0x1400aeb80
mov rdx, rbx
mov rcx, rdi
mov rbx, qword [rsp + 0x300]
add rsp, 0x2f0
pop rdi
jmp 0x1400aed20
mov rdx, rbx
mov rcx, rdi
mov rbx, qword [rsp + 0x300]
add rsp, 0x2f0
pop rdi
jmp 0x1400afb00
cmp rdx, 4
jbe 0x1400af332
movzx eax, word [r8 + 0x40]
mov edx, dword [r9 + rax*4]
mov rcx, rdi
call fcn.1400ae330
test al, al
jne 0x1400af1f0
mov r9, rbx
mov r8d, 0xfffffff6
lea rdx, [rsp + 0x20]
mov rcx, rdi
call fcn.1400e7010
mov rbx, rax
lea rdx, str.Dim_must_be_a_32_bit_unsigned_integer_OpConstant
mov rcx, rax
call fcn.14002dd70
mov ebx, dword [rbx + 0x160]
jmp 0x1400af07d
xor ebx, ebx
mov eax, ebx
mov rbx, qword [rsp + 0x300]
add rsp, 0x2f0
pop rdi
ret
cmp rdx, 4
jbe 0x1400af332
movzx eax, word [r8 + 0x40]
mov edx, dword [r9 + rax*4]
mov rcx, rdi
call fcn.1400ae330
test al, al
jne 0x1400af257
mov r9, rbx
mov r8d, 0xfffffff6
lea rdx, [rsp + 0x20]
mov rcx, rdi
call fcn.1400e7010
mov rbx, rax
lea rdx, str.Offset_must_be_a_32_bit_unsigned_integer_OpConstant
mov rcx, rax
call fcn.14002dd70
mov ebx, dword [rbx + 0x160]
jmp 0x1400af07d
mov rcx, qword [rbx + 0x18]
mov rax, qword [rbx + 0x20]
sub rax, rcx
sar rax, 4
cmp rax, 5
jbe 0x1400af32c
movzx ecx, word [rcx + 0x50]
mov rax, qword [rbx]
mov edx, dword [rax + rcx*4]
mov rcx, rdi
call fcn.1400ae330
test al, al
jne 0x1400af1f0
mov r9, rbx
mov r8d, 0xfffffff6
lea rdx, [rsp + 0x188]
mov rcx, rdi
call fcn.1400e7010
mov rbx, rax
lea rdx, str.Size_must_be_a_32_bit_unsigned_integer_OpConstant
mov rcx, rax
call fcn.14002dd70
mov ebx, dword [rbx + 0x160]
lea rcx, [rsp + 0x188]
jmp 0x1400af082
mov rdx, rbx
mov rcx, rdi
mov rbx, qword [rsp + 0x300]
add rsp, 0x2f0
pop rdi
jmp 0x1400aeec0
mov rdx, rbx
mov rcx, rdi
mov rbx, qword [rsp + 0x300]
add rsp, 0x2f0
pop rdi
jmp 0x1400af990
mov rdx, rbx
mov rcx, rdi
mov rbx, qword [rsp + 0x300]
add rsp, 0x2f0
pop rdi
jmp 0x1400af820
xor eax, eax
mov rbx, qword [rsp + 0x300]
add rsp, 0x2f0
pop rdi
ret
call fcn.14005fd00
int3
call fcn.14005fd00
int3
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rbp
mov qword [rsp + 0x18], rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x1b0
mov r14, rdx
mov rbp, rcx
mov rcx, qword [rdx + 0x18]
mov rax, qword [rdx + 0x20]
sub rax, rcx
sar rax, 4
cmp rax, 4
jbe 0x1400af809
movzx r8d, word [rcx + 0x40]
mov rax, qword [rdx]
mov ebx, dword [rax + r8*4]
mov edx, ebx
mov rcx, rbp
call fcn.1400e1ef0
cmp word [rax + 0x3a], 0x36
je 0x1400af456
mov r9, r14
mov r8d, 0xfffffff6
lea rdx, [rsp + 0x40]
mov rcx, rbp
call fcn.1400e7010
mov rbx, rax
lea rdx, str.Kernel_does_not_reference_a_function
mov rcx, rax
call fcn.14002dd70
mov ebx, dword [rbx + 0x160]
lea rcx, [rsp + 0x40]
call fcn.1400604a0
mov eax, ebx
lea r11, [rsp + 0x1b0]
mov rbx, qword [r11 + 0x30]
mov rbp, qword [r11 + 0x38]
mov rsi, qword [r11 + 0x40]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
ret
mov rax, qword [rbp + 0x1d0]
mov rcx, qword [rbp + 0x1d8]
cmp rax, rcx
je 0x1400af47d
nop dword [rax]
cmp dword [rax], ebx
je 0x1400af4b0
add rax, 4
cmp rax, rcx
jne 0x1400af470
mov r9, r14
mov r8d, 0xfffffff6
lea rdx, [rsp + 0x40]
mov rcx, rbp
call fcn.1400e7010
mov rbx, rax
lea rdx, str.Kernel_does_not_reference_an_entry_point
mov rcx, rax
call fcn.14002dd70
mov ebx, dword [rbx + 0x160]
jmp 0x1400af429
movzx edi, bl
movabs rax, 0xcbf29ce484222325
xor rdi, rax
movabs rdx, 0x100000001b3
imul rdi, rdx
mov eax, ebx
shr eax, 8
movzx ecx, al
xor rdi, rcx
imul rdi, rdx
mov eax, ebx
shr eax, 0x10
movzx ecx, al
xor rdi, rcx
imul rdi, rdx
mov rax, rbx
shr rax, 0x18
xor rdi, rax
imul rdi, rdx
mov rcx, qword [rbp + 0x490]
and rcx, rdi
shl rcx, 4
add rcx, qword [rbp + 0x478]
mov rax, qword [rcx + 8]
mov rdx, qword [rbp + 0x468]
cmp rax, rdx
je 0x1400af7c9
mov rcx, qword [rcx]
cmp ebx, dword [rax + 0x10]
je 0x1400af542
nop dword [rax + rax]
cmp rax, rcx
je 0x1400af7c9
mov rax, qword [rax + 8]
cmp ebx, dword [rax + 0x10]
jne 0x1400af530
test rax, rax
cmove rax, rdx
cmp rax, rdx
je 0x1400af7c9
add rax, 0x18
je 0x1400af7c9
cmp qword [rax + 8], 0
je 0x1400af7c9
mov rax, qword [rax]
mov rax, qword [rax]
cmp byte [rax + 0x19], 0
jne 0x1400af5d5
cmp dword [rax + 0x1c], 5
jne 0x1400af763
mov rcx, qword [rax + 0x10]
cmp byte [rcx + 0x19], 0
je 0x1400af5a9
mov rcx, qword [rax + 8]
cmp byte [rcx + 0x19], 0
jne 0x1400af5a4
cmp rax, qword [rcx + 0x10]
jne 0x1400af5a4
mov rax, rcx
mov rcx, qword [rcx + 8]
cmp byte [rcx + 0x19], 0
je 0x1400af591
mov rax, rcx
jmp 0x1400af5cf
mov rax, rcx
mov rdx, qword [rcx]
cmp byte [rdx + 0x19], 0
jne 0x1400af5cf
nop word [rax + rax]
mov rax, rdx
mov rcx, qword [rdx]
mov rdx, rcx
cmp byte [rcx + 0x19], 0
je 0x1400af5c0
cmp byte [rax + 0x19], 0
je 0x1400af573
mov rcx, qword [r14 + 0x18]
mov rax, qword [r14 + 0x20]
sub rax, rcx
sar rax, 4
cmp rax, 5
jbe 0x1400af809
movzx ecx, word [rcx + 0x50]
mov rax, qword [r14]
mov edx, dword [rax + rcx*4]
mov rcx, rbp
call fcn.1400e1ef0
test rax, rax
je 0x1400af796
cmp word [rax + 0x3a], 7
jne 0x1400af796
mov rcx, qword [rax + 0x18]
movzx ecx, word [rcx + 0x10]
mov rax, qword [rax]
lea rdx, [rax + rcx*4]
xor r13d, r13d
mov qword [rsp + 0x20], r13
mov qword [rsp + 0x30], r13
mov qword [rsp + 0x38], 0xf
mov byte [rsp + 0x20], r13b
mov r8, 0xffffffffffffffff
inc r8
cmp byte [rdx + r8], r13b
jne 0x1400af645
lea rcx, [rsp + 0x20]
call fcn.140001b50
nop
mov rcx, qword [rbp + 0x218]
and rcx, rdi
shl rcx, 4
add rcx, qword [rbp + 0x200]
mov rax, qword [rcx + 8]
cmp rax, qword [rbp + 0x1f0]
je 0x1400af7fc
mov rcx, qword [rcx]
cmp ebx, dword [rax + 0x10]
je 0x1400af699
cmp rax, rcx
je 0x1400af7fc
mov rax, qword [rax + 8]
cmp ebx, dword [rax + 0x10]
jne 0x1400af687
mov rbx, qword [rax + 0x18]
mov r12, qword [rax + 0x20]
mov r15, qword [rsp + 0x38]
mov rdi, qword [rsp + 0x20]
cmp rbx, r12
je 0x1400af6ea
mov rsi, qword [rsp + 0x30]
mov rdx, rbx
cmp qword [rbx + 0x18], 0x10
jb 0x1400af6c2
mov rdx, qword [rbx]
lea rcx, [rsp + 0x20]
cmp r15, 0x10
cmovae rcx, rdi
cmp rsi, qword [rbx + 0x10]
jne 0x1400af6e1
mov r8, rsi
call fcn.1400ee510
test eax, eax
je 0x1400af724
add rbx, 0x38
cmp rbx, r12
jne 0x1400af6b5
mov r9, r14
mov r8d, 0xfffffff6
lea rdx, [rsp + 0x40]
mov rcx, rbp
call fcn.1400e7010
mov rbx, rax
lea rdx, str.Name_must_match_an_entry_point_for_Kernel
mov rcx, rax
call fcn.14002dd70
mov r13d, dword [rbx + 0x160]
lea rcx, [rsp + 0x40]
call fcn.1400604a0
nop
cmp r15, 0x10
jb 0x1400af75b
lea rdx, [r15 + 1]
mov rax, rdi
cmp rdx, 0x1000
jb 0x1400af753
add rdx, 0x27
mov rdi, qword [rdi - 8]
sub rax, rdi
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400af80f
mov rcx, rdi
call fcn.1400ec648
mov eax, r13d
jmp 0x1400af435
mov r9, r14
mov r8d, 0xfffffff6
lea rdx, [rsp + 0x40]
mov rcx, rbp
call fcn.1400e7010
mov rbx, rax
lea rdx, str.Kernel_must_refer_only_to_GLCompute_entry_points
mov rcx, rax
call fcn.14002dd70
mov ebx, dword [rbx + 0x160]
jmp 0x1400af429
mov r9, r14
mov r8d, 0xfffffff6
lea rdx, [rsp + 0x40]
mov rcx, rbp
call fcn.1400e7010
mov rbx, rax
lea rdx, str.Name_must_be_an_OpString
mov rcx, rax
call fcn.14002dd70
mov ebx, dword [rbx + 0x160]
jmp 0x1400af429
mov r9, r14
mov r8d, 0xfffffff6
lea rdx, [rsp + 0x40]
mov rcx, rbp
call fcn.1400e7010
mov rbx, rax
lea rdx, str.Kernel_does_not_reference_an_entry_point
mov rcx, rax
call fcn.14002dd70
mov ebx, dword [rbx + 0x160]
jmp 0x1400af429
lea rcx, str.invalid_unordered_map_K__T__key
call fcn.1400e95f4
nop
call fcn.14005fd00
int3
call fcn.1400f2c0c
int3
mov qword [rsp + 8], rbx
push rdi
sub rsp, 0x190
mov rbx, rdx
mov rdi, rcx
call fcn.1400bbfe0
test eax, eax
jne 0x1400af8a5
mov rcx, qword [rbx + 0x18]
mov rax, qword [rbx + 0x20]
sub rax, rcx
sar rax, 4
cmp rax, 5
jbe 0x1400af986
movzx ecx, word [rcx + 0x50]
mov rax, qword [rbx]
mov edx, dword [rax + rcx*4]
mov rcx, rdi
call fcn.1400ae330
test al, al
jne 0x1400af8b6
mov r9, rbx
mov r8d, 0xfffffff6
lea rdx, [rsp + 0x20]
mov rcx, rdi
call fcn.1400e7010
mov rbx, rax
lea rdx, str.X_must_be_a_32_bit_unsigned_integer_OpConstant
mov rcx, rax
call fcn.14002dd70
mov ebx, dword [rbx + 0x160]
lea rcx, [rsp + 0x20]
call fcn.1400604a0
mov eax, ebx
mov rbx, qword [rsp + 0x1a0]
add rsp, 0x190
pop rdi
ret
mov rcx, qword [rbx + 0x18]
mov rax, qword [rbx + 0x20]
sub rax, rcx
sar rax, 4
cmp rax, 6
jbe 0x1400af986
movzx ecx, word [rcx + 0x60]
mov rax, qword [rbx]
mov edx, dword [rax + rcx*4]
mov rcx, rdi
call fcn.1400ae330
test al, al
jne 0x1400af915
mov r9, rbx
mov r8d, 0xfffffff6
lea rdx, [rsp + 0x20]
mov rcx, rdi
call fcn.1400e7010
mov rbx, rax
lea rdx, str.Y_must_be_a_32_bit_unsigned_integer_OpConstant
mov rcx, rax
call fcn.14002dd70
mov ebx, dword [rbx + 0x160]
jmp 0x1400af899
mov rcx, qword [rbx + 0x18]
mov rax, qword [rbx + 0x20]
sub rax, rcx
sar rax, 4
cmp rax, 7
jbe 0x1400af986
movzx ecx, word [rcx + 0x70]
mov rax, qword [rbx]
mov edx, dword [rax + rcx*4]
mov rcx, rdi
call fcn.1400ae330
test al, al
jne 0x1400af973
mov r9, rbx
mov r8d, 0xfffffff6
lea rdx, [rsp + 0x20]
mov rcx, rdi
call fcn.1400e7010
mov rbx, rax
lea rdx, str.Z_must_be_a_32_bit_unsigned_integer_OpConstant
mov rcx, rax
call fcn.14002dd70
mov ebx, dword [rbx + 0x160]
jmp 0x1400af899
xor eax, eax
mov rbx, qword [rsp + 0x1a0]
add rsp, 0x190
pop rdi
ret
call fcn.14005fd00
int3
mov qword [rsp + 8], rbx
push rdi
sub rsp, 0x190
mov rbx, rdx
mov rdi, rcx
mov rcx, qword [rdx + 0x18]
mov rax, qword [rdx + 0x20]
sub rax, rcx
sar rax, 4
cmp rax, 4
jbe 0x1400afaef
movzx r8d, word [rcx + 0x40]
mov rax, qword [rdx]
mov edx, dword [rax + r8*4]
mov rcx, rdi
call fcn.1400ae330
test al, al
jne 0x1400afa1f
mov r9, rbx
mov r8d, 0xfffffff6
lea rdx, [rsp + 0x20]
mov rcx, rdi
call fcn.1400e7010
mov rbx, rax
lea rdx, str.DescriptorSet_must_be_a_32_bit_unsigned_integer_OpConstant
mov rcx, rax
call fcn.14002dd70
mov ebx, dword [rbx + 0x160]
lea rcx, [rsp + 0x20]
call fcn.1400604a0
mov eax, ebx
mov rbx, qword [rsp + 0x1a0]
add rsp, 0x190
pop rdi
ret
mov rcx, qword [rbx + 0x18]
mov rax, qword [rbx + 0x20]
sub rax, rcx
sar rax, 4
cmp rax, 5
jbe 0x1400afaef
movzx ecx, word [rcx + 0x50]
mov rax, qword [rbx]
mov edx, dword [rax + rcx*4]
mov rcx, rdi
call fcn.1400ae330
test al, al
jne 0x1400afa7e
mov r9, rbx
mov r8d, 0xfffffff6
lea rdx, [rsp + 0x20]
mov rcx, rdi
call fcn.1400e7010
mov rbx, rax
lea rdx, str.Binding_must_be_a_32_bit_unsigned_integer_OpConstant
mov rcx, rax
call fcn.14002dd70
mov ebx, dword [rbx + 0x160]
jmp 0x1400afa02
mov rcx, qword [rbx + 0x18]
mov rax, qword [rbx + 0x20]
sub rax, rcx
sar rax, 4
cmp rax, 6
jbe 0x1400afaef
movzx ecx, word [rcx + 0x60]
mov rax, qword [rbx]
mov edx, dword [rax + rcx*4]
mov rcx, rdi
call fcn.1400ae330
test al, al
jne 0x1400afadc
mov r9, rbx
mov r8d, 0xfffffff6
lea rdx, [rsp + 0x20]
mov rcx, rdi
call fcn.1400e7010
mov rbx, rax
lea rdx, str.Mask_must_be_a_32_bit_unsigned_integer_OpConstant
mov rcx, rax
call fcn.14002dd70
mov ebx, dword [rbx + 0x160]
jmp 0x1400afa02
xor eax, eax
mov rbx, qword [rsp + 0x1a0]
add rsp, 0x190
pop rdi
ret
call fcn.14005fd00
int3
mov qword [rsp + 8], rbx
push rdi
sub rsp, 0x190
mov rbx, rdx
mov rdi, rcx
mov rcx, qword [rdx + 0x18]
mov rax, qword [rdx + 0x20]
sub rax, rcx
sar rax, 4
cmp rax, 4
jbe 0x1400afc5f
movzx r8d, word [rcx + 0x40]
mov rax, qword [rdx]
mov edx, dword [rax + r8*4]
mov rcx, rdi
call fcn.1400ae330
test al, al
jne 0x1400afb8f
mov r9, rbx
mov r8d, 0xfffffff6
lea rdx, [rsp + 0x20]
mov rcx, rdi
call fcn.1400e7010
mov rbx, rax
lea rdx, str.X_must_be_a_32_bit_unsigned_integer_OpConstant
mov rcx, rax
call fcn.14002dd70
mov ebx, dword [rbx + 0x160]
lea rcx, [rsp + 0x20]
call fcn.1400604a0
mov eax, ebx
mov rbx, qword [rsp + 0x1a0]
add rsp, 0x190
pop rdi
ret
mov rcx, qword [rbx + 0x18]
mov rax, qword [rbx + 0x20]
sub rax, rcx
sar rax, 4
cmp rax, 5
jbe 0x1400afc5f
movzx ecx, word [rcx + 0x50]
mov rax, qword [rbx]
mov edx, dword [rax + rcx*4]
mov rcx, rdi
call fcn.1400ae330
test al, al
jne 0x1400afbee
mov r9, rbx
mov r8d, 0xfffffff6
lea rdx, [rsp + 0x20]
mov rcx, rdi
call fcn.1400e7010
mov rbx, rax
lea rdx, str.Y_must_be_a_32_bit_unsigned_integer_OpConstant
mov rcx, rax
call fcn.14002dd70
mov ebx, dword [rbx + 0x160]
jmp 0x1400afb72
mov rcx, qword [rbx + 0x18]
mov rax, qword [rbx + 0x20]
sub rax, rcx
sar rax, 4
cmp rax, 6
jbe 0x1400afc5f
movzx ecx, word [rcx + 0x60]
mov rax, qword [rbx]
mov edx, dword [rax + rcx*4]
mov rcx, rdi
call fcn.1400ae330
test al, al
jne 0x1400afc4c
mov r9, rbx
mov r8d, 0xfffffff6
lea rdx, [rsp + 0x20]
mov rcx, rdi
call fcn.1400e7010
mov rbx, rax
lea rdx, str.Z_must_be_a_32_bit_unsigned_integer_OpConstant
mov rcx, rax
call fcn.14002dd70
mov ebx, dword [rbx + 0x160]
jmp 0x1400afb72
xor eax, eax
mov rbx, qword [rsp + 0x1a0]
add rsp, 0x190
pop rdi
ret
call fcn.14005fd00
int3