Function at 0x1400c3000
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 - 0x408]
sub rsp, 0x508
mov rsi, rcx
xor r9d, r9d
mov r13d, r9d
mov dword [rsp + 0x20], r9d
mov rax, qword [rcx + 0x230]
mov qword [rbp - 0x38], rax
mov rcx, qword [rcx + 0x238]
mov qword [rbp - 0x10], rcx
cmp rax, rcx
je 0x1400c41d8
movabs r11, 0xcbf29ce484222325
movabs r10, 0x100000001b3
nop dword [rax]
nop word [rax + rax]
mov r12d, dword [rax]
mov dword [rbp + 0x458], r12d
mov eax, r12d
shr eax, 0x10
movzx r8d, al
mov qword [rbp - 0x30], r8
mov eax, r12d
shr eax, 8
movzx edx, al
mov qword [rbp], rdx
movzx ecx, r12b
mov qword [rbp - 8], rcx
mov eax, r12d
shr rax, 0x18
mov qword [rbp - 0x28], rax
xor rcx, r11
imul rcx, r10
xor rcx, rdx
imul rcx, r10
xor rcx, r8
imul rcx, r10
xor rcx, rax
imul rcx, r10
and rcx, qword [rsi + 0x278]
add rcx, rcx
mov rdx, qword [rsi + 0x260]
mov rax, qword [rdx + rcx*8 + 8]
cmp rax, qword [rsi + 0x250]
je 0x1400c4749
mov rdx, qword [rdx + rcx*8]
cmp r12d, dword [rax + 0x10]
je 0x1400c3104
cmp rax, rdx
je 0x1400c4749
mov rax, qword [rax + 8]
cmp r12d, dword [rax + 0x10]
jne 0x1400c30f1
mov ebx, r9d
mov dword [rbp + 0x468], ebx
mov dword [rbp + 0x460], r9d
mov r14d, r9d
mov dword [rsp + 0x4c], r9d
mov edi, r9d
mov dword [rsp + 0x48], r9d
mov r15d, r9d
mov dword [rsp + 0x50], r9d
mov rcx, qword [rax + 0x18]
mov qword [rbp - 0x50], rcx
mov rax, qword [rax + 0x20]
mov qword [rbp - 0x18], rax
cmp rcx, rax
je 0x1400c41c2
mov dword [rbp + 0x90], 0
mov qword [rbp + 0x98], r9
mov qword [rbp + 0xa0], r9
mov ecx, 0x18
call fcn.140116b34
mov qword [rax], rax
mov qword [rax + 8], rax
mov qword [rbp + 0x98], rax
mov qword [rbp + 0xa8], 0
xorps xmm0, xmm0
movdqa xmmword [rbp + 0xb0], xmm0
mov qword [rbp + 0xc0], 7
mov qword [rbp + 0xc8], 8
mov dword [rbp + 0x90], 0x3f800000
mov r8, rax
mov edx, 0x10
lea rcx, [rbp + 0xa8]
call fcn.140001960
nop
mov rcx, qword [rbp - 0x50]
mov rax, qword [rcx + 0x20]
mov qword [rbp - 0x40], rax
mov rcx, qword [rcx + 0x28]
mov qword [rbp - 0x20], rcx
cmp rax, rcx
je 0x1400c40a1
nop dword [rax]
mov edi, dword [rax]
mov dword [rsp + 0x54], edi
mov edx, edi
mov rcx, rsi
call fcn.140109690
mov rbx, rax
mov qword [rsp + 0x60], rax
test rax, rax
je 0x1400c4418
mov eax, 0x3b
cmp ax, word [rbx + 0x3a]
jne 0x1400c4418
mov rdx, qword [rbx + 0x18]
mov rcx, qword [rbx + 0x20]
sub rcx, rdx
sar rcx, 4
cmp rcx, 2
jbe 0x1400c47b0
movzx ecx, word [rdx + 0x20]
mov rax, qword [rbx]
mov r12d, dword [rax + rcx*4]
mov dword [rbp - 0x70], r12d
cmp dword [rsi + 0x24], 0x10400
jb 0x1400c3277
cmp r12d, 7
je 0x1400c42b3
lea r8, [rsp + 0x60]
lea rdx, [rbp + 0x120]
lea rcx, [rbp + 0x90]
call fcn.140033000
cmp byte [rbp + 0x128], 0
je 0x1400c41ee
mov rbx, qword [rsp + 0x60]
jmp 0x1400c3287
cmp r12d, 1
je 0x1400c3287
cmp r12d, 3
jne 0x1400c42e8
mov rax, qword [rbx]
mov edx, dword [rax + 4]
mov rcx, rsi
call fcn.140109690
mov rcx, qword [rax]
mov edi, dword [rcx + 0xc]
mov dword [rsp + 0x58], edi
mov edx, edi
mov rcx, rsi
call fcn.140109690
mov r14, rax
test rax, rax
je 0x1400c346d
mov eax, 0x1e
cmp ax, word [r14 + 0x3a]
jne 0x1400c346d
mov dword [rsp + 0x20], edi
lea r15, [rsi + 0x420]
lea rdx, [rsp + 0x20]
mov rcx, r15
call fcn.14008ca20
mov r8, qword [rax]
mov rax, qword [r8]
cmp rax, r8
je 0x1400c346d
cmp dword [rax + 0x20], 0xb
jne 0x1400c32f8
cmp dword [rax + 0x40], 0xffffffff
jne 0x1400c3351
mov rcx, qword [rax + 0x10]
cmp byte [rcx + 0x19], 0
je 0x1400c3328
mov rcx, qword [rax + 8]
cmp byte [rcx + 0x19], 0
jne 0x1400c3323
nop dword [rax]
cmp rax, qword [rcx + 0x10]
jne 0x1400c3323
mov rax, rcx
mov rcx, qword [rcx + 8]
cmp byte [rcx + 0x19], 0
je 0x1400c3310
mov rax, rcx
jmp 0x1400c32e3
mov rax, rcx
mov rdx, qword [rcx]
cmp byte [rdx + 0x19], 0
jne 0x1400c32e3
nop dword [rax]
nop dword [rax + rax]
mov rax, rdx
mov rcx, qword [rdx]
mov rdx, rcx
cmp byte [rcx + 0x19], 0
je 0x1400c3340
jmp 0x1400c32e3
mov dword [rsp + 0x20], edi
lea rdx, [rsp + 0x20]
mov rcx, r15
call fcn.14008ca20
mov r8, qword [rax]
mov rax, qword [r8]
cmp rax, r8
je 0x1400c33d4
nop dword [rax]
cmp dword [rax + 0x20], 2
je 0x1400c3466
mov rcx, qword [rax + 0x10]
cmp byte [rcx + 0x19], 0
je 0x1400c33a8
mov rcx, qword [rax + 8]
cmp byte [rcx + 0x19], 0
jne 0x1400c33a3
nop
cmp rax, qword [rcx + 0x10]
jne 0x1400c33a3
mov rax, rcx
mov rcx, qword [rcx + 8]
cmp byte [rcx + 0x19], 0
je 0x1400c3390
mov rax, rcx
jmp 0x1400c33cf
mov rax, rcx
mov rdx, qword [rcx]
cmp byte [rdx + 0x19], 0
jne 0x1400c33cf
nop dword [rax]
nop dword [rax + rax]
mov rax, rdx
mov rcx, qword [rdx]
mov rdx, rcx
cmp byte [rcx + 0x19], 0
je 0x1400c33c0
cmp rax, r8
jne 0x1400c3370
xor al, al
test al, al
je 0x1400c4354
mov ebx, dword [rbp + 0x468]
lea eax, [rbx + 1]
cmp r12d, 1
cmovne eax, ebx
mov ebx, eax
mov dword [rbp + 0x468], eax
mov esi, eax
mov ecx, dword [rbp + 0x460]
lea eax, [rcx + 1]
cmp r12d, 3
cmovne eax, ecx
mov ecx, eax
mov dword [rbp + 0x460], eax
mov edi, eax
cmp ebx, 1
jg 0x1400c4118
mov dword [rbp + 0x468], ebx
mov dword [rbp + 0x460], eax
cmp eax, 1
jg 0x1400c4118
mov rdx, qword [rbp + 0x450]
mov ecx, dword [rsp + 0x54]
call fcn.1400c0110
mov ebx, eax
test eax, eax
jne 0x1400c4730
mov dword [rbp + 0x468], esi
mov dword [rbp + 0x460], edi
mov rsi, qword [rbp + 0x450]
mov edi, dword [rsp + 0x58]
jmp 0x1400c350c
mov al, 1
jmp 0x1400c33d6
mov eax, dword [rsp + 0x54]
mov dword [rsp + 0x20], eax
lea r15, [rsi + 0x420]
lea rdx, [rsp + 0x20]
mov rcx, r15
call fcn.14008ca20
mov r8, qword [rax]
mov rax, qword [r8]
cmp rax, r8
je 0x1400c3511
cmp dword [rax + 0x20], 0xb
je 0x1400c34f6
mov rcx, qword [rax + 0x10]
cmp byte [rcx + 0x19], 0
je 0x1400c34c8
mov rcx, qword [rax + 8]
cmp byte [rcx + 0x19], 0
jne 0x1400c34c3
nop
cmp rax, qword [rcx + 0x10]
jne 0x1400c34c3
mov rax, rcx
mov rcx, qword [rcx + 8]
cmp byte [rcx + 0x19], 0
je 0x1400c34b0
mov rax, rcx
jmp 0x1400c34ef
mov rax, rcx
mov rdx, qword [rcx]
cmp byte [rdx + 0x19], 0
jne 0x1400c34ef
nop dword [rax]
nop dword [rax + rax]
mov rax, rdx
mov rcx, qword [rdx]
mov rdx, rcx
cmp byte [rcx + 0x19], 0
je 0x1400c34e0
cmp rax, r8
jne 0x1400c3494
jmp 0x1400c3511
mov rdx, rsi
mov ecx, dword [rsp + 0x54]
call fcn.1400c0110
mov ebx, eax
test eax, eax
jne 0x1400c4730
mov rbx, qword [rsp + 0x60]
cmp r12d, 4
jne 0x1400c3559
inc dword [rsp + 0x4c]
test r14, r14
je 0x1400c3559
mov eax, 0x1e
cmp ax, word [r14 + 0x3a]
jne 0x1400c3559
mov r8, rsi
lea edx, [rax - 0x1c]
mov ecx, edi
call fcn.1400c7b80
test al, al
je 0x1400c3541
inc dword [rsp + 0x48]
mov r8, rsi
mov edx, 0x14
mov ecx, dword [rbx + 0x44]
call fcn.1400c7b80
test al, al
je 0x1400c3559
inc dword [rsp + 0x50]
mov rax, qword [rsi]
mov ecx, dword [rax]
call fcn.140086cb0
test al, al
je 0x1400c4070
mov rcx, qword [rbp - 8]
movabs rax, 0xcbf29ce484222325
xor rcx, rax
movabs rdx, 0x100000001b3
imul rcx, rdx
movzx eax, byte [rbp]
xor rcx, rax
imul rcx, rdx
movzx eax, byte [rbp - 0x30]
xor rcx, rax
imul rcx, rdx
xor rcx, qword [rbp - 0x28]
imul rcx, rdx
mov rax, qword [rsi + 0x4f0]
and rax, rcx
add rax, rax
mov rdx, qword [rsi + 0x4d8]
mov rcx, qword [rdx + rax*8 + 8]
mov r8, qword [rsi + 0x4c8]
cmp rcx, r8
je 0x1400c35f0
mov rax, qword [rdx + rax*8]
mov edx, dword [rbp + 0x458]
cmp edx, dword [rcx + 0x10]
je 0x1400c35f2
nop dword [rax]
cmp rcx, rax
je 0x1400c35f0
mov rcx, qword [rcx + 8]
cmp edx, dword [rcx + 0x10]
jne 0x1400c35e0
jmp 0x1400c35f2
xor ecx, ecx
test rcx, rcx
cmove rcx, r8
lea rax, [rcx + 0x18]
xor edx, edx
cmp rcx, r8
cmovne rdx, rax
mov qword [rbp - 0x48], rdx
mov rsi, qword [rdx]
mov qword [rsp + 0x68], rsi
mov rcx, qword [rsi + 8]
movzx edx, byte [rcx + 0x19]
mov r14, rsi
mov qword [rbp - 0x68], rsi
test dl, dl
jne 0x1400c3645
mov rax, rcx
cmp dword [rax + 0x1c], 4
jae 0x1400c3634
mov rax, qword [rax + 0x10]
jmp 0x1400c363a
mov rsi, rax
mov rax, qword [rax]
cmp byte [rax + 0x19], 0
je 0x1400c3628
mov qword [rsp + 0x68], rsi
cmp byte [rsi + 0x19], 0
jne 0x1400c3651
cmp dword [rsi + 0x1c], 4
jbe 0x1400c3659
mov rsi, r14
mov qword [rsp + 0x68], r14
mov rdi, r14
mov qword [rbp - 0x58], r14
test dl, dl
jne 0x1400c3680
nop dword [rax]
nop dword [rax + rax]
mov rdi, rcx
mov qword [rbp - 0x58], rcx
mov rcx, qword [rcx]
cmp byte [rcx + 0x19], 0
je 0x1400c3670
cmp byte [rdi + 0x19], 0
jne 0x1400c368c
cmp dword [rdi + 0x1c], 0
jbe 0x1400c3690
mov qword [rbp - 0x58], r14
mov eax, dword [rbx + 0x44]
mov dword [rbp - 0x60], eax
lea rdx, [rbp - 0x60]
mov rcx, r15
call fcn.14008ca20
mov rbx, qword [rax]
mov rbx, qword [rbx]
cmp byte [rbx + 0x19], 0
jne 0x1400c3f09
nop dword [rax]
nop word [rax + rax]
xorps xmm0, xmm0
movdqu xmmword [rsp + 0x28], xmm0
xor edi, edi
mov qword [rsp + 0x38], rdi
or r13d, 1
mov dword [rsp + 0x20], r13d
mov dword [rbp + 0xf8], 0xe
lea rdx, [rsp + 0x28]
lea rcx, [rbp + 0x100]
call fcn.140088690
mov dword [rbp + 0x118], 0xffffffff
or r13d, 2
mov r15, qword [rbp + 0x100]
mov eax, dword [rbp + 0xf8]
cmp dword [rbx + 0x20], eax
jne 0x1400c376a
mov r8, qword [rbx + 0x30]
mov rcx, qword [rbx + 0x28]
mov rdx, r8
sub rdx, rcx
sar rdx, 2
mov rax, qword [rbp + 0x108]
sub rax, r15
sar rax, 2
cmp rdx, rax
jne 0x1400c376a
sub r8, rcx
mov rdx, r15
call fcn.140118a40
test eax, eax
sete al
test al, al
je 0x1400c376a
cmp dword [rbx + 0x40], 0xffffffff
jne 0x1400c376a
mov r14, qword [rbp + 0xd8]
mov rsi, qword [rbp + 0x38]
mov rdi, qword [rbp + 0x10]
mov r12b, 1
jmp 0x1400c3913
xorps xmm0, xmm0
movdqu xmmword [rsp + 0x70], xmm0
mov qword [rbp - 0x80], rdi
or r13d, 4
mov dword [rsp + 0x20], r13d
mov dword [rbp + 0xd0], 0xd
lea rdx, [rsp + 0x70]
lea rcx, [rbp + 0xd8]
call fcn.140088690
mov dword [rbp + 0xf0], 0xffffffff
or r13d, 8
mov r14, qword [rbp + 0xd8]
mov eax, dword [rbp + 0xd0]
cmp dword [rbx + 0x20], eax
jne 0x1400c380a
mov r8, qword [rbx + 0x30]
mov rcx, qword [rbx + 0x28]
mov rdx, r8
sub rdx, rcx
sar rdx, 2
mov rax, qword [rbp + 0xe0]
sub rax, r14
sar rax, 2
cmp rdx, rax
jne 0x1400c380a
sub r8, rcx
mov rdx, r14
call fcn.140118a40
test eax, eax
sete al
test al, al
je 0x1400c380a
cmp dword [rbx + 0x40], 0xffffffff
jne 0x1400c380a
mov rsi, qword [rbp + 0x38]
mov rdi, qword [rbp + 0x10]
mov r12b, 1
jmp 0x1400c3913
xorps xmm0, xmm0
movdqu xmmword [rbp + 0x58], xmm0
mov qword [rbp + 0x68], rdi
or r13d, 0x10
mov dword [rsp + 0x20], r13d
mov dword [rbp + 0x30], 0x11
lea rdx, [rbp + 0x58]
lea rcx, [rbp + 0x38]
call fcn.140088690
mov dword [rbp + 0x50], 0xffffffff
or r13d, 0x20
mov rsi, qword [rbp + 0x38]
mov eax, dword [rbp + 0x30]
cmp dword [rbx + 0x20], eax
jne 0x1400c3892
mov r8, qword [rbx + 0x30]
mov rcx, qword [rbx + 0x28]
mov rdx, r8
sub rdx, rcx
sar rdx, 2
mov rax, qword [rbp + 0x40]
sub rax, rsi
sar rax, 2
cmp rdx, rax
jne 0x1400c3892
sub r8, rcx
mov rdx, rsi
call fcn.140118a40
test eax, eax
sete al
test al, al
je 0x1400c3892
cmp dword [rbx + 0x40], 0xffffffff
jne 0x1400c3892
mov rdi, qword [rbp + 0x10]
mov r12b, 1
jmp 0x1400c3913
xorps xmm0, xmm0
movdqu xmmword [rbp + 0x70], xmm0
mov qword [rbp + 0x80], rdi
or r13d, 0x40
mov dword [rsp + 0x20], r13d
mov dword [rbp + 8], 0x10
lea rdx, [rbp + 0x70]
lea rcx, [rbp + 0x10]
call fcn.140088690
bts r13d, 7
mov rdi, qword [rbp + 0x10]
mov eax, dword [rbp + 8]
cmp dword [rbx + 0x20], eax
jne 0x1400c3910
mov r8, qword [rbx + 0x30]
mov rcx, qword [rbx + 0x28]
mov rdx, r8
sub rdx, rcx
sar rdx, 2
mov rax, qword [rbp + 0x18]
sub rax, rdi
sar rax, 2
cmp rdx, rax
jne 0x1400c3910
sub r8, rcx
mov rdx, rdi
call fcn.140118a40
test eax, eax
sete al
test al, al
je 0x1400c3910
cmp dword [rbx + 0x40], 0xffffffff
jne 0x1400c3910
mov r12b, 1
jmp 0x1400c3913
xor r12b, r12b
test r13b, r13b
jns 0x1400c3963
btr r13d, 7
test rdi, rdi
je 0x1400c3963
mov rax, qword [rbp + 0x20]
sub rax, rdi
sar rax, 2
lea rdx, [rax*4]
mov rax, rdi
cmp rdx, 0x1000
jb 0x1400c395a
add rdx, 0x27
mov rdi, qword [rdi - 8]
sub rax, rdi
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400c4774
mov rcx, rdi
call fcn.140116b70
nop
test r13b, 0x40
je 0x1400c39b7
and r13d, 0xffffffbf
mov rcx, qword [rbp + 0x70]
test rcx, rcx
je 0x1400c39b7
mov rax, qword [rbp + 0x80]
sub rax, rcx
sar rax, 2
lea rdx, [rax*4]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400c39b1
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400c477a
call fcn.140116b70
nop
test r13b, 0x20
je 0x1400c3a07
and r13d, 0xffffffdf
test rsi, rsi
je 0x1400c3a07
mov rax, qword [rbp + 0x48]
sub rax, rsi
sar rax, 2
lea rdx, [rax*4]
mov rax, rsi
cmp rdx, 0x1000
jb 0x1400c39fe
add rdx, 0x27
mov rsi, qword [rsi - 8]
sub rax, rsi
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400c4780
mov rcx, rsi
call fcn.140116b70
nop
test r13b, 0x10
je 0x1400c3a58
and r13d, 0xffffffef
mov rcx, qword [rbp + 0x58]
test rcx, rcx
je 0x1400c3a58
mov rax, qword [rbp + 0x68]
sub rax, rcx
sar rax, 2
lea rdx, [rax*4]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400c3a52
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400c4786
call fcn.140116b70
nop
test r13b, 8
je 0x1400c3aab
and r13d, 0xfffffff7
test r14, r14
je 0x1400c3aab
mov rax, qword [rbp + 0xe8]
sub rax, r14
sar rax, 2
lea rdx, [rax*4]
mov rax, r14
cmp rdx, 0x1000
jb 0x1400c3aa2
add rdx, 0x27
mov r14, qword [r14 - 8]
sub rax, r14
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400c478c
mov rcx, r14
call fcn.140116b70
nop
test r13b, 4
je 0x1400c3afd
and r13d, 0xfffffffb
mov rcx, qword [rsp + 0x70]
test rcx, rcx
je 0x1400c3afd
mov rax, qword [rbp - 0x80]
sub rax, rcx
sar rax, 2
lea rdx, [rax*4]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400c3af7
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400c4792
call fcn.140116b70
nop
test r13b, 2
je 0x1400c3b50
and r13d, 0xfffffffd
test r15, r15
je 0x1400c3b50
mov rax, qword [rbp + 0x110]
sub rax, r15
sar rax, 2
lea rdx, [rax*4]
mov rax, r15
cmp rdx, 0x1000
jb 0x1400c3b47
add rdx, 0x27
mov r15, qword [r15 - 8]
sub rax, r15
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400c4798
mov rcx, r15
call fcn.140116b70
nop
test r13b, 1
je 0x1400c3ba2
and r13d, 0xfffffffe
mov rcx, qword [rsp + 0x28]
test rcx, rcx
je 0x1400c3ba2
mov rax, qword [rsp + 0x38]
sub rax, rcx
sar rax, 2
lea rdx, [rax*4]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400c3b9d
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400c479e
call fcn.140116b70
test r12b, r12b
mov r12d, dword [rbp - 0x70]
je 0x1400c3e9d
cmp r12d, 1
jne 0x1400c3d24
mov rax, qword [rbp - 0x48]
cmp qword [rax + 8], 1
ja 0x1400c3bd2
mov r14, qword [rbp - 0x68]
cmp qword [rbp - 0x58], r14
je 0x1400c3ea1
mov r9, qword [rsp + 0x60]
mov r8d, 0xfffffff6
lea rdx, [rbp + 0x130]
mov rsi, qword [rbp + 0x450]
mov rcx, rsi
call fcn.140110380
mov rdi, rax
xor r9d, r9d
mov r8d, 0x183a
lea rdx, [rsp + 0x70]
mov rcx, rsi
call fcn.14010c350
nop
mov r8, qword [rax + 0x10]
cmp qword [rax + 0x18], 0x10
jb 0x1400c3c1b
mov rax, qword [rax]
mov rdx, rax
mov rcx, rdi
call fcn.14003e850
mov r8d, dword [rbx + 0x20]
lea rdx, [rsp + 0x28]
mov rcx, rsi
call fcn.14008d5d0
nop
mov r8, qword [rax + 0x10]
cmp qword [rax + 0x18], 0x10
jb 0x1400c3c46
mov rax, qword [rax]
mov rdx, rax
mov rcx, rdi
call fcn.14003e850
lea rdx, str._decorated_variable_must_not_be_used_in_vertex_execution_model_as_an_Input_storage_class_for_Entry_Point_id
mov rcx, rdi
call fcn.14003e3a0
mov edx, dword [rbp + 0x458]
mov rcx, rdi
call fcn.1400706f0
lea rdx, [0x140151300]
mov rcx, rdi
call fcn.14003e3a0
mov ebx, dword [rdi + 0x160]
mov rdx, qword [rsp + 0x40]
cmp rdx, 0x10
jb 0x1400c3cc0
inc rdx
mov rcx, qword [rsp + 0x28]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400c3cbb
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400c4756
call fcn.140116b70
xor edi, edi
mov qword [rsp + 0x38], rdi
mov esi, 0xf
mov qword [rsp + 0x40], rsi
mov byte [rsp + 0x28], dil
mov rdx, qword [rbp - 0x78]
cmp rdx, 0x10
jb 0x1400c3d12
inc rdx
mov rcx, qword [rsp + 0x70]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400c3d0d
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400c47a4
call fcn.140116b70
mov qword [rbp - 0x80], rdi
mov qword [rbp - 0x78], rsi
mov byte [rsp + 0x70], 0
jmp 0x1400c4723
cmp r12d, 3
jne 0x1400c3e9d
mov rax, qword [rbp - 0x48]
cmp qword [rax + 8], 1
ja 0x1400c3d4b
mov rsi, qword [rsp + 0x68]
mov r14, qword [rbp - 0x68]
cmp rsi, r14
je 0x1400c3ea6
mov r9, qword [rsp + 0x60]
mov r8d, 0xfffffff6
lea rdx, [rbp + 0x130]
mov rsi, qword [rbp + 0x450]
mov rcx, rsi
call fcn.140110380
mov rdi, rax
xor r9d, r9d
mov r8d, 0x1839
lea rdx, [rsp + 0x70]
mov rcx, rsi
call fcn.14010c350
nop
mov r8, qword [rax + 0x10]
cmp qword [rax + 0x18], 0x10
jb 0x1400c3d94
mov rax, qword [rax]
mov rdx, rax
mov rcx, rdi
call fcn.14003e850
mov r8d, dword [rbx + 0x20]
lea rdx, [rsp + 0x28]
mov rcx, rsi
call fcn.14008d5d0
nop
mov r8, qword [rax + 0x10]
cmp qword [rax + 0x18], 0x10
jb 0x1400c3dbf
mov rax, qword [rax]
mov rdx, rax
mov rcx, rdi
call fcn.14003e850
lea rdx, str._decorated_variable_must_not_be_used_in_fragment_execution_model_as_an_Output_storage_class_for_Entry_Point_id
mov rcx, rdi
call fcn.14003e3a0
mov edx, dword [rbp + 0x458]
mov rcx, rdi
call fcn.1400706f0
lea rdx, [0x140151300]
mov rcx, rdi
call fcn.14003e3a0
mov ebx, dword [rdi + 0x160]
mov rdx, qword [rsp + 0x40]
cmp rdx, 0x10
jb 0x1400c3e39
inc rdx
mov rcx, qword [rsp + 0x28]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400c3e34
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400c475c
call fcn.140116b70
xor edi, edi
mov qword [rsp + 0x38], rdi
mov esi, 0xf
mov qword [rsp + 0x40], rsi
mov byte [rsp + 0x28], dil
mov rdx, qword [rbp - 0x78]
cmp rdx, 0x10
jb 0x1400c3e8b
inc rdx
mov rcx, qword [rsp + 0x70]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400c3e86
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400c47aa
call fcn.140116b70
mov qword [rbp - 0x80], rdi
mov qword [rbp - 0x78], rsi
mov byte [rsp + 0x70], 0
jmp 0x1400c4723
mov r14, qword [rbp - 0x68]
mov rsi, qword [rsp + 0x68]
mov rax, qword [rbx + 0x10]
cmp byte [rax + 0x19], 0
je 0x1400c3ed8
mov rax, qword [rbx + 8]
cmp byte [rax + 0x19], 0
jne 0x1400c3ed3
nop word [rax + rax]
cmp rbx, qword [rax + 0x10]
jne 0x1400c3ed3
mov rbx, rax
mov rax, qword [rax + 8]
cmp byte [rax + 0x19], 0
je 0x1400c3ec0
mov rbx, rax
jmp 0x1400c3eff
mov rbx, rax
mov rcx, qword [rax]
cmp byte [rcx + 0x19], 0
jne 0x1400c3eff
nop dword [rax]
nop dword [rax + rax]
mov rbx, rcx
mov rax, qword [rcx]
mov rcx, rax
cmp byte [rax + 0x19], 0
je 0x1400c3ef0
cmp byte [rbx + 0x19], 0
je 0x1400c36c0
mov r8, qword [rbp + 0x450]
mov edx, 0xe
mov rdi, qword [rsp + 0x60]
mov ecx, dword [rdi + 0x44]
call fcn.1400c7b80
cmp rsi, r14
je 0x1400c4069
cmp r12d, 1
jne 0x1400c4069
mov rsi, qword [rbp + 0x450]
test al, al
jne 0x1400c4070
mov ebx, dword [rsp + 0x58]
mov edx, ebx
mov rcx, rsi
call fcn.14010a5f0
test al, al
je 0x1400c3f65
mov edx, ebx
mov rcx, rsi
call fcn.140109820
cmp eax, 0x40
je 0x1400c3f77
mov edx, ebx
mov rcx, rsi
call fcn.14010a7b0
test al, al
je 0x1400c4070
mov r9, rdi
mov r8d, 0xfffffff6
lea rdx, [rbp + 0x130]
mov rcx, rsi
call fcn.140110380
mov rbx, rax
xor r9d, r9d
mov r8d, 0x1288
lea rdx, [rsp + 0x28]
mov rcx, rsi
call fcn.14010c350
nop
mov r8, qword [rax + 0x10]
cmp qword [rax + 0x18], 0x10
jb 0x1400c3fb7
mov rax, qword [rax]
mov rdx, rax
mov rcx, rbx
call fcn.14003e850
lea rdx, str.Fragment_OpEntryPoint_operand
mov rcx, rbx
call fcn.14003e3a0
mov edx, dword [rsp + 0x54]
mov rcx, rbx
call fcn.1400706f0
lea rdx, str._with_Input_interfaces_with_integer_or_float_type_must_have_a_Flat_decoration_for_Entry_Point_id
mov rcx, rbx
call fcn.14003e3a0
mov edx, dword [rbp + 0x458]
mov rcx, rbx
call fcn.1400706f0
lea rdx, [0x140151300]
mov rcx, rbx
call fcn.14003e3a0
mov ebx, dword [rbx + 0x160]
mov rdx, qword [rsp + 0x40]
cmp rdx, 0x10
jb 0x1400c404c
inc rdx
mov rcx, qword [rsp + 0x28]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400c4047
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400c4762
call fcn.140116b70
mov qword [rsp + 0x38], 0
mov esi, 0xf
mov qword [rsp + 0x40], rsi
mov byte [rsp + 0x28], 0
jmp 0x1400c4723
mov rsi, qword [rbp + 0x450]
mov rax, qword [rbp - 0x40]
add rax, 4
mov qword [rbp - 0x40], rax
cmp rax, qword [rbp - 0x20]
jne 0x1400c31e0
mov r12d, dword [rbp + 0x458]
mov ebx, dword [rbp + 0x468]
mov edi, dword [rsp + 0x48]
mov r14d, dword [rsp + 0x4c]
mov r15d, dword [rsp + 0x50]
mov ecx, dword [rbp + 0x460]
cmp ebx, 1
jg 0x1400c46c6
cmp ecx, 1
jg 0x1400c46c6
mov dword [rsp + 0x58], r12d
mov rsi, qword [rbp + 0x450]
lea rcx, [rsi + 0x420]
lea rdx, [rsp + 0x58]
call fcn.14008ca20
mov rax, qword [rax]
mov rax, qword [rax]
cmp byte [rax + 0x19], 0
jne 0x1400c4155
cmp dword [rax + 0x20], 0x29
je 0x1400c4475
mov rcx, qword [rax + 0x10]
cmp byte [rcx + 0x19], 0
je 0x1400c4132
mov rcx, qword [rax + 8]
cmp byte [rcx + 0x19], 0
jne 0x1400c4113
cmp rax, qword [rcx + 0x10]
jne 0x1400c4113
mov rax, rcx
mov rcx, qword [rcx + 8]
cmp byte [rcx + 0x19], 0
je 0x1400c4100
mov rax, rcx
jmp 0x1400c414f
mov r12d, dword [rbp + 0x458]
mov edi, dword [rsp + 0x48]
mov r14d, dword [rsp + 0x4c]
mov r15d, dword [rsp + 0x50]
jmp 0x1400c40a7
mov rax, rcx
mov rdx, qword [rcx]
cmp byte [rdx + 0x19], 0
jne 0x1400c414f
nop
mov rax, rdx
mov rcx, qword [rdx]
mov rdx, rcx
cmp byte [rcx + 0x19], 0
je 0x1400c4140
cmp byte [rax + 0x19], 0
je 0x1400c40e2
mov edx, 0x114c
mov rcx, rsi
call fcn.140089c30
test al, al
je 0x1400c4186
test r14d, r14d
jle 0x1400c4186
test edi, edi
jle 0x1400c4186
cmp r14d, edi
jne 0x1400c466f
cmp edi, 1
jle 0x1400c4186
cmp edi, r15d
jne 0x1400c460e
lea rcx, [rbp + 0x90]
call fcn.140033c20
mov rax, qword [rbp - 0x50]
add rax, 0x38
mov qword [rbp - 0x50], rax
cmp rax, qword [rbp - 0x18]
mov r9d, 0
jne 0x1400c3145
movabs r10, 0x100000001b3
movabs r11, 0xcbf29ce484222325
mov rax, qword [rbp - 0x38]
add rax, 4
mov qword [rbp - 0x38], rax
cmp rax, qword [rbp - 0x10]
jne 0x1400c3070
xor eax, eax
add rsp, 0x508
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret
mov r9, qword [rsp + 0x60]
mov r8d, 0xfffffff6
lea rdx, [rbp + 0x130]
mov rcx, rsi
call fcn.140110380
mov rbx, rax
lea rdx, str.Non_unique_OpEntryPoint_interface
mov rcx, rax
call fcn.14003e3a0
mov r8d, edi
lea rdx, [rsp + 0x28]
mov rcx, rsi
call fcn.1401106f0
nop
mov r8, qword [rax + 0x10]
cmp qword [rax + 0x18], 0x10
jb 0x1400c4239
mov rax, qword [rax]
mov rdx, rax
mov rcx, rbx
call fcn.14003e850
lea rdx, str._is_disallowed
mov rcx, rbx
call fcn.14003e3a0
mov ebx, dword [rbx + 0x160]
mov rdx, qword [rsp + 0x40]
cmp rdx, 0x10
jb 0x1400c4296
inc rdx
mov rcx, qword [rsp + 0x28]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400c4291
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400c4768
call fcn.140116b70
mov qword [rsp + 0x38], 0
mov esi, 0xf
mov qword [rsp + 0x40], rsi
mov byte [rsp + 0x28], 0
jmp 0x1400c4723
mov r9, rbx
mov r8d, 0xfffffff6
lea rdx, [rbp + 0x130]
mov rcx, rsi
call fcn.140110380
mov rbx, rax
lea rdx, str.OpEntryPoint_interfaces_should_only_list_global_variables
mov rcx, rax
call fcn.14003e3a0
mov ebx, dword [rbx + 0x160]
jmp 0x1400c4723
mov r9, rbx
mov r8d, 0xfffffff6
lea rdx, [rbp + 0x130]
mov rcx, rsi
call fcn.140110380
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.14003e3a0
mov edx, r12d
mov rcx, rbx
call fcn.1400706f0
lea rdx, str._for_Entry_Point_id
mov rcx, rbx
call fcn.14003e3a0
mov edx, dword [rbp + 0x458]
mov rcx, rbx
call fcn.1400706f0
lea rdx, [0x140151300]
mov rcx, rbx
call fcn.14003e3a0
mov ebx, dword [rbx + 0x160]
jmp 0x1400c4723
mov edx, edi
mov rcx, rsi
call fcn.140109690
mov r9, rax
mov r8d, 0xfffffff2
lea rdx, [rbp + 0x130]
mov rcx, rsi
call fcn.140110380
mov rbx, rax
xor r9d, r9d
mov r8d, 0x1337
lea rdx, [rsp + 0x28]
mov rcx, rsi
call fcn.14010c350
nop
mov r8, qword [rax + 0x10]
cmp qword [rax + 0x18], 0x10
jb 0x1400c439e
mov rax, qword [rax]
mov rdx, rax
mov rcx, rbx
call fcn.14003e850
lea rdx, str.Interface_struct_has_no_Block_decoration_but_has_BuiltIn_members._Location_decorations_must_be_used_on_each_member_of_OpVariable_with_a_structure_type_that_is_a_block_not_decorated_with_Location.
mov rcx, rbx
call fcn.14003e3a0
mov ebx, dword [rbx + 0x160]
mov rdx, qword [rsp + 0x40]
cmp rdx, 0x10
jb 0x1400c43fb
inc rdx
mov rcx, qword [rsp + 0x28]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400c43f6
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400c476e
call fcn.140116b70
mov qword [rsp + 0x38], 0
mov esi, 0xf
mov qword [rsp + 0x40], rsi
mov byte [rsp + 0x28], 0
jmp 0x1400c4723
mov r9, rbx
mov r8d, 0xfffffff6
lea rdx, [rbp + 0x130]
mov rcx, rsi
call fcn.140110380
mov rbx, rax
lea rdx, str.Interfaces_passed_to_OpEntryPoint_must_be_of_type_OpTypeVariable._Found_Op
mov rcx, rax
call fcn.14003e3a0
mov rdi, qword [rsp + 0x60]
movzx ecx, word [rdi + 0x3a]
call fcn.140084960
mov rdx, rax
mov rcx, rbx
call fcn.14003e3a0
lea rdx, [0x140151300]
mov rcx, rbx
call fcn.14003e3a0
mov ebx, dword [rbx + 0x160]
jmp 0x1400c4723
mov r15, qword [rax + 0x30]
mov rbx, qword [rax + 0x28]
mov qword [rsp + 0x28], 0
mov qword [rsp + 0x38], 0
mov esi, 0xf
mov qword [rsp + 0x40], rsi
mov byte [rsp + 0x28], 0
cmp rbx, r15
je 0x1400c4521
mov r14d, dword [rbx]
xor edi, edi
nop dword [rax + rax]
mov eax, r14d
mov rcx, rdi
shr eax, cl
movzx edx, al
test al, al
je 0x1400c4521
mov rcx, qword [rsp + 0x38]
cmp rcx, rsi
jae 0x1400c44eb
lea rax, [rcx + 1]
mov qword [rsp + 0x38], rax
lea rax, [rsp + 0x28]
cmp rsi, 0x10
cmovae rax, qword [rsp + 0x28]
mov byte [rax + rcx], dl
mov byte [rax + rcx + 1], 0
jmp 0x1400c4500
movzx r9d, dl
xor r8d, r8d
lea edx, [r8 + 1]
lea rcx, [rsp + 0x28]
call fcn.140005330
add rdi, 8
cmp rdi, 0x20
jae 0x1400c4511
mov rsi, qword [rsp + 0x40]
jmp 0x1400c44b0
add rbx, 4
cmp rbx, r15
je 0x1400c4521
mov rsi, qword [rsp + 0x40]
jmp 0x1400c44a3
movups xmm1, xmmword [rsp + 0x38]
movups xmm0, xmmword [rsp + 0x28]
movups xmmword [rbp - 0x80], xmm1
movups xmmword [rsp + 0x70], xmm0
mov edx, r12d
mov rcx, qword [rbp + 0x450]
call fcn.140109690
mov r9, rax
mov r8d, 0xfffffffc
lea rdx, [rbp + 0x130]
mov rcx, qword [rbp + 0x450]
call fcn.140110380
mov rbx, rax
lea rdx, str.The_LinkageAttributes_Decoration__Linkage_name:
mov rcx, rax
call fcn.14003e3a0
lea rdx, [rsp + 0x70]
cmp qword [rbp - 0x78], 0x10
cmovae rdx, qword [rsp + 0x70]
mov r8, qword [rbp - 0x80]
mov rcx, rbx
call fcn.14003e850
lea rdx, str.__cannot_be_applied_to_function_id
mov rcx, rbx
call fcn.14003e3a0
mov edx, r12d
mov rcx, rbx
call fcn.1400706f0
lea rdx, str._because_it_is_targeted_by_an_OpEntryPoint_instruction.
mov rcx, rbx
call fcn.14003e3a0
mov ebx, dword [rbx + 0x160]
lea rcx, [rbp + 0x130]
call fcn.1400765f0
nop
mov rdx, qword [rbp - 0x78]
cmp rdx, 0x10
jb 0x1400c4730
inc rdx
mov rcx, qword [rsp + 0x70]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400c4604
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400c4743
call fcn.140116b70
jmp 0x1400c4730
mov edx, r12d
mov rcx, rsi
call fcn.140109690
mov r9, rax
mov r8d, 0xfffffffc
lea rdx, [rbp + 0x298]
mov rcx, rsi
call fcn.140110380
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.14003e3a0
mov edx, r12d
mov rcx, rbx
call fcn.1400706f0
lea rdx, str._does_not_meet_this_requirement.
mov rcx, rbx
call fcn.14003e3a0
mov ebx, dword [rbx + 0x160]
lea rcx, [rbp + 0x298]
jmp 0x1400c472a
mov edx, r12d
mov rcx, rsi
call fcn.140109690
mov r9, rax
mov r8d, 0xfffffffc
lea rdx, [rbp + 0x130]
mov rcx, rsi
call fcn.140110380
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.14003e3a0
mov edx, r12d
mov rcx, rbx
call fcn.1400706f0
lea rdx, str._does_not_meet_this_requirement.
mov rcx, rbx
call fcn.14003e3a0
mov ebx, dword [rbx + 0x160]
jmp 0x1400c4723
mov edx, r12d
mov rcx, qword [rbp + 0x450]
call fcn.140109690
mov r9, rax
mov r8d, 0xfffffffc
lea rdx, [rbp + 0x130]
mov rcx, qword [rbp + 0x450]
call fcn.140110380
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.14003e3a0
mov edx, r12d
mov rcx, rbx
call fcn.1400706f0
lea rdx, str._does_not_meet_this_requirement.
mov rcx, rbx
call fcn.14003e3a0
mov ebx, dword [rbx + 0x160]
lea rcx, [rbp + 0x130]
call fcn.1400765f0
nop
lea rcx, [rbp + 0x90]
call fcn.140033c20
mov eax, ebx
jmp 0x1400c41da
call fcn.14011d1bc
nop
lea rcx, str.invalid_unordered_map_K__T__key
call fcn.140113b7c
nop
call fcn.14011d1bc
nop
call fcn.14011d1bc
nop
call fcn.14011d1bc
nop
call fcn.14011d1bc
nop
call fcn.14011d1bc
nop
call fcn.14011d1bc
nop
call fcn.14011d1bc
nop
call fcn.14011d1bc
nop
call fcn.14011d1bc
nop
call fcn.14011d1bc
nop
call fcn.14011d1bc
nop
call fcn.14011d1bc
nop
call fcn.14011d1bc
nop
call fcn.14011d1bc
nop
call fcn.14011d1bc
nop
call fcn.140075ff0
int3