Function at 0x14009d250
Capabilities:
Hash data using fnv

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x20], r9
mov qword [rsp + 0x18], r8
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x160]
sub rsp, 0x260
mov rsi, r9
mov r12, r8
mov r13, rdx
mov r14, rcx
mov rax, qword [rcx]
mov rcx, qword [rax]
mov ecx, dword [rcx]
call fcn.140086cb0
xor edi, edi
mov r15, qword [rbp + 0x1c0]
test al, al
je 0x14009d8a5
movzx eax, word [r15 + 0x3a]
cmp ax, 0x20
je 0x14009d2d4
cmp ax, 0x27
je 0x14009d2d4
cmp ax, 0x3b
je 0x14009d2cc
cmp ax, 0x7b
jne 0x14009d536
mov rax, qword [r15]
mov ecx, dword [rax + 0x10]
jmp 0x14009d2da
mov rax, qword [r15]
mov ecx, dword [rax + 0xc]
jmp 0x14009d2da
mov rax, qword [r15]
mov ecx, dword [rax + 8]
cmp ecx, 0x7fffffff
je 0x14009d536
cmp ecx, 3
je 0x14009d536
mov r9, r15
mov r8d, 0xfffffff2
lea rdx, [rbp - 0x10]
mov rcx, qword [r14]
call fcn.140110380
mov rbx, rax
xor r9d, r9d
mov r8d, 0x1076
lea rdx, [rbp - 0x78]
mov rcx, qword [r14]
call fcn.14010c350
nop
mov r8, qword [rax + 0x10]
cmp qword [rax + 0x18], 0x10
jb 0x14009d32b
mov rax, qword [rax]
mov rdx, rax
mov rcx, rbx
call fcn.14003e850
mov rax, qword [r14]
mov rcx, qword [rax]
mov edx, dword [rcx]
lea rcx, [rsp + 0x60]
call fcn.140086d10
nop
mov r8, qword [rax + 0x10]
cmp qword [rax + 0x18], 0x10
jb 0x14009d357
mov rax, qword [rax]
mov rdx, rax
mov rcx, rbx
call fcn.14003e850
lea rdx, str._spec_allows_BuiltIn_FragDepth_to_be_only_used_for_variables_with_Output_storage_class.
mov rcx, rbx
call fcn.14003e3a0
mov dword [rsp + 0x30], 0x7fffffff
mov qword [rsp + 0x28], r15
mov qword [rsp + 0x20], rsi
mov r9, r12
mov r8, r13
lea rdx, [rsp + 0x40]
mov rcx, r14
call fcn.140097a30
nop
mov r8, qword [rax + 0x10]
cmp qword [rax + 0x18], 0x10
jb 0x14009d3a5
mov rax, qword [rax]
mov rdx, rax
mov rcx, rbx
call fcn.14003e850
lea rdx, [0x140151590]
mov rcx, rbx
call fcn.14003e3a0
mov r8, r15
lea rdx, [rbp - 0x38]
mov rcx, r14
call fcn.140097db0
nop
mov r8, qword [rax + 0x10]
cmp qword [rax + 0x18], 0x10
jb 0x14009d3dd
mov rax, qword [rax]
mov rdx, rax
mov rcx, rbx
call fcn.14003e850
mov ebx, dword [rbx + 0x160]
mov rdx, qword [rbp - 0x20]
cmp rdx, 0x10
jb 0x14009d429
inc rdx
mov rcx, qword [rbp - 0x38]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14009d424
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14009db91
call fcn.140116b70
xor edi, edi
mov qword [rbp - 0x28], rdi
mov qword [rbp - 0x20], 0xf
mov byte [rbp - 0x38], dil
mov rdx, qword [rsp + 0x58]
cmp rdx, 0x10
jb 0x14009d478
inc rdx
mov rcx, qword [rsp + 0x40]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14009d473
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14009db97
call fcn.140116b70
mov qword [rsp + 0x50], rdi
mov qword [rsp + 0x58], 0xf
mov byte [rsp + 0x40], 0
mov rdx, qword [rsp + 0x78]
cmp rdx, 0x10
jb 0x14009d4c8
inc rdx
mov rcx, qword [rsp + 0x60]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14009d4c3
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14009db9d
call fcn.140116b70
mov qword [rsp + 0x70], rdi
mov qword [rsp + 0x78], 0xf
mov byte [rsp + 0x60], 0
mov rdx, qword [rbp - 0x60]
cmp rdx, 0x10
jb 0x14009d516
inc rdx
mov rcx, qword [rbp - 0x78]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14009d511
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14009dba3
call fcn.140116b70
mov qword [rbp - 0x68], rdi
mov qword [rbp - 0x60], 0xf
mov byte [rbp - 0x78], 0
lea rcx, [rbp - 0x10]
call fcn.1400765f0
mov eax, ebx
jmp 0x14009d9a7
mov rax, qword [r14 + 0x40]
mov rax, qword [rax]
cmp byte [rax + 0x19], dil
jne 0x14009d5a5
mov ebx, dword [rax + 0x1c]
cmp ebx, 4
jne 0x14009d678
mov rcx, qword [rax + 0x10]
cmp byte [rcx + 0x19], dil
je 0x14009d57b
mov rcx, qword [rax + 8]
cmp byte [rcx + 0x19], dil
jne 0x14009d576
cmp rax, qword [rcx + 0x10]
jne 0x14009d576
mov rax, rcx
mov rcx, qword [rcx + 8]
cmp byte [rcx + 0x19], dil
je 0x14009d563
mov rax, rcx
jmp 0x14009d59f
mov rax, rcx
mov rdx, qword [rcx]
cmp byte [rdx + 0x19], dil
jne 0x14009d59f
nop word [rax + rax]
mov rax, rdx
mov rcx, qword [rdx]
mov rdx, rcx
cmp byte [rcx + 0x19], dil
je 0x14009d590
cmp byte [rax + 0x19], dil
je 0x14009d543
mov rax, qword [r14 + 0x38]
mov r9, qword [rax]
mov r11, qword [rax + 8]
cmp r9, r11
je 0x14009d8a5
mov r10, qword [r14]
mov rsi, qword [r10 + 0x530]
mov r12, qword [r10 + 0x518]
mov rbx, qword [r10 + 0x508]
movabs rax, 0x100000001b3
movabs rcx, 0xcbf29ce484222325
mov r8d, dword [r9]
movzx edx, r8b
xor rdx, rcx
imul rdx, rax
mov eax, r8d
shr eax, 8
movzx ecx, al
xor rdx, rcx
movabs rax, 0x100000001b3
imul rdx, rax
mov eax, r8d
shr eax, 0x10
movzx ecx, al
xor rdx, rcx
movabs rcx, 0x100000001b3
imul rdx, rcx
mov eax, r8d
shr rax, 0x18
xor rdx, rax
imul rdx, rcx
mov rcx, rsi
and rcx, rdx
add rcx, rcx
mov rax, qword [r12 + rcx*8 + 8]
cmp rax, rbx
je 0x14009d838
mov rcx, qword [r12 + rcx*8]
cmp r8d, dword [rax + 0x10]
je 0x14009d83b
nop word [rax + rax]
cmp rax, rcx
je 0x14009d838
mov rax, qword [rax + 8]
cmp r8d, dword [rax + 0x10]
jne 0x14009d660
jmp 0x14009d83b
mov r9, r15
mov r8d, 0xfffffff2
lea rdx, [rbp - 0x10]
mov rcx, qword [r14]
call fcn.140110380
mov rdi, rax
xor r9d, r9d
mov r8d, 0x1075
lea rdx, [rsp + 0x40]
mov rcx, qword [r14]
call fcn.14010c350
nop
mov r8, qword [rax + 0x10]
cmp qword [rax + 0x18], 0x10
jb 0x14009d6b5
mov rax, qword [rax]
mov rdx, rax
mov rcx, rdi
call fcn.14003e850
mov rax, qword [r14]
mov rcx, qword [rax]
mov edx, dword [rcx]
lea rcx, [rsp + 0x60]
call fcn.140086d10
nop
mov r8, qword [rax + 0x10]
cmp qword [rax + 0x18], 0x10
jb 0x14009d6e1
mov rax, qword [rax]
mov rdx, rax
mov rcx, rdi
call fcn.14003e850
lea rdx, str._spec_allows_BuiltIn_FragDepth_to_be_used_only_with_Fragment_execution_model.
mov rcx, rdi
call fcn.14003e3a0
mov dword [rsp + 0x30], ebx
mov qword [rsp + 0x28], r15
mov qword [rsp + 0x20], rsi
mov r9, r12
mov r8, r13
lea rdx, [rbp - 0x78]
mov rcx, r14
call fcn.140097a30
nop
mov r8, qword [rax + 0x10]
cmp qword [rax + 0x18], 0x10
jb 0x14009d72a
mov rax, qword [rax]
mov rdx, rax
mov rcx, rdi
call fcn.14003e850
mov ebx, dword [rdi + 0x160]
mov rdx, qword [rbp - 0x60]
cmp rdx, 0x10
jb 0x14009d776
inc rdx
mov rcx, qword [rbp - 0x78]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14009d771
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14009dba9
call fcn.140116b70
xor edi, edi
mov qword [rbp - 0x68], rdi
mov qword [rbp - 0x60], 0xf
mov byte [rbp - 0x78], dil
mov rdx, qword [rsp + 0x78]
cmp rdx, 0x10
jb 0x14009d7c5
inc rdx
mov rcx, qword [rsp + 0x60]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14009d7c0
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14009dbaf
call fcn.140116b70
mov qword [rsp + 0x70], rdi
mov qword [rsp + 0x78], 0xf
mov byte [rsp + 0x60], 0
mov rdx, qword [rsp + 0x58]
cmp rdx, 0x10
jb 0x14009d815
inc rdx
mov rcx, qword [rsp + 0x40]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14009d810
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14009dbb5
call fcn.140116b70
mov qword [rsp + 0x50], rdi
mov qword [rsp + 0x58], 0xf
mov byte [rsp + 0x40], 0
lea rcx, [rbp - 0x10]
call fcn.1400765f0
mov eax, ebx
jmp 0x14009d9a7
mov rax, rdi
test rax, rax
cmove rax, rbx
cmp rax, rbx
je 0x14009d9c2
lea rcx, [rax + 0x18]
test rcx, rcx
je 0x14009d9c2
mov rcx, qword [rcx]
mov rax, qword [rcx + 8]
cmp byte [rax + 0x19], dil
jne 0x14009d87d
cmp dword [rax + 0x1c], 0xc
jae 0x14009d871
mov rax, qword [rax + 0x10]
jmp 0x14009d877
mov rcx, rax
mov rax, qword [rax]
cmp byte [rax + 0x19], dil
je 0x14009d865
cmp byte [rcx + 0x19], dil
jne 0x14009d9c2
cmp dword [rcx + 0x1c], 0xc
ja 0x14009d9c2
add r9, 4
cmp r9, r11
jne 0x14009d5d1
mov r12, qword [rbp + 0x1b0]
cmp dword [r14 + 0x18], edi
jne 0x14009d9a5
lea rcx, [r14 + 8]
mov eax, dword [r15 + 0x44]
mov dword [rbp + 0x1a0], eax
lea rdx, [rbp + 0x1a0]
call fcn.140094290
mov rsi, rax
lea rax, [fcn.14009d250]
mov qword [rbp - 0x10], rax
lea rax, [rbp - 8]
mov qword [rbp - 0x80], rax
mov rdx, r15
lea rcx, [rbp]
call fcn.140093e30
nop
mov rdx, r12
lea rcx, [rbp + 0x88]
call fcn.140093e30
nop
mov eax, dword [r13]
mov dword [rbp + 0x110], eax
lea rdx, [r13 + 8]
lea rcx, [rbp + 0x118]
call fcn.140088690
mov eax, dword [r13 + 0x20]
mov dword [rbp + 0x130], eax
mov qword [rbp + 0x138], r14
lea rax, [rbp - 0x10]
mov qword [rbp - 0x80], rax
mov qword [rbp - 0x40], rdi
mov ecx, 0x158
call fcn.140116b34
mov rbx, rax
mov qword [rbp - 0x18], rax
lea rax, [0x1401a6d78]
mov qword [rbx], rax
mov rax, qword [rbp - 0x10]
mov qword [rbx + 8], rax
lea rdx, [rbp - 8]
lea rcx, [rbx + 0x10]
call fcn.140093c10
mov rax, qword [rbp + 0x138]
mov qword [rbx + 0x150], rax
mov qword [rbp - 0x40], rbx
lea rcx, [rbp - 8]
call fcn.140093fb0
nop
lea rdx, [rbp - 0x78]
mov rcx, rsi
call fcn.1400ae130
nop
mov rcx, qword [rbp - 0x40]
test rcx, rcx
je 0x14009d9a5
mov rax, qword [rcx]
lea rdx, [rbp - 0x78]
cmp rcx, rdx
setne dl
call qword [rax + 0x20]
xor eax, eax
mov rbx, qword [rsp + 0x2a8]
add rsp, 0x260
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
mov r9, r15
mov r8d, 0xfffffff2
lea rdx, [rbp - 0x10]
mov rcx, r10
call fcn.140110380
mov rbx, rax
xor r9d, r9d
mov r8d, 0x1078
lea rdx, [rsp + 0x40]
mov rcx, qword [r14]
call fcn.14010c350
nop
mov r8, qword [rax + 0x10]
cmp qword [rax + 0x18], 0x10
jb 0x14009d9ff
mov rax, qword [rax]
mov rdx, rax
mov rcx, rbx
call fcn.14003e850
mov rax, qword [r14]
mov rcx, qword [rax]
mov edx, dword [rcx]
lea rcx, [rsp + 0x60]
call fcn.140086d10
nop
mov r8, qword [rax + 0x10]
cmp qword [rax + 0x18], 0x10
jb 0x14009da2b
mov rax, qword [rax]
mov rdx, rax
mov rcx, rbx
call fcn.14003e850
lea rdx, str._spec_requires_DepthReplacing_execution_mode_to_be_declared_when_using_BuiltIn_FragDepth.
mov rcx, rbx
call fcn.14003e3a0
mov dword [rsp + 0x30], 0x7fffffff
mov qword [rsp + 0x28], r15
mov rax, qword [rbp + 0x1b8]
mov qword [rsp + 0x20], rax
mov r9, qword [rbp + 0x1b0]
mov r8, r13
lea rdx, [rbp - 0x78]
mov rcx, r14
call fcn.140097a30
nop
mov r8, qword [rax + 0x10]
cmp qword [rax + 0x18], 0x10
jb 0x14009da83
mov rax, qword [rax]
mov rdx, rax
mov rcx, rbx
call fcn.14003e850
mov ebx, dword [rbx + 0x160]
mov rdx, qword [rbp - 0x60]
cmp rdx, 0x10
jb 0x14009dacf
inc rdx
mov rcx, qword [rbp - 0x78]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14009daca
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14009dbbb
call fcn.140116b70
mov qword [rbp - 0x68], rdi
mov qword [rbp - 0x60], 0xf
mov byte [rbp - 0x78], 0
mov rdx, qword [rsp + 0x78]
cmp rdx, 0x10
jb 0x14009db1c
inc rdx
mov rcx, qword [rsp + 0x60]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14009db17
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14009dbc1
call fcn.140116b70
mov qword [rsp + 0x70], rdi
mov qword [rsp + 0x78], 0xf
mov byte [rsp + 0x60], 0
mov rdx, qword [rsp + 0x58]
cmp rdx, 0x10
jb 0x14009db68
inc rdx
mov rcx, qword [rsp + 0x40]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14009db63
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14009db8b
call fcn.140116b70
mov qword [rsp + 0x50], rdi
mov qword [rsp + 0x58], 0xf
mov byte [rsp + 0x40], 0
lea rcx, [rbp - 0x10]
call fcn.1400765f0
mov eax, ebx
jmp 0x14009d9a7
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
int3