Function at 0x1400078c0
Capabilities:
Hash data using fnv

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x18], rsi
mov qword [rsp + 0x20], rdi
push rbp
push r12
push r13
push r14
push r15
mov rbp, rsp
sub rsp, 0x80
xor r13d, r13d
mov r15, rdx
mov dword [rbp + 0x38], r13d
mov r14, rcx
mov r12d, r13d
test rdx, rdx
je 0x140008569
movabs rdi, 0x100000001b3
lea rsi, [0x140000000]
nop dword [rax]
mov ebx, dword [r15]
cmp ebx, 0x3b9db031
jg 0x140007f37
je 0x140007dcc
cmp ebx, 0x3b9c5871
jg 0x140007bd5
je 0x140007ae3
cmp ebx, 0x3b9b3762
je 0x140007ad1
cmp ebx, 0x3b9b9908
je 0x140007a2b
cmp ebx, 0x3b9c5489
jne 0x1400085dc
mov ecx, 0x30
call fcn.1400ec60c
movups xmm0, xmmword [str.VK_EXT_conservative_rasterization]
mov rdi, rax
movabs rdx, 0xcbf29ce484222325
movabs r8, 0x100000001b3
movups xmmword [rax], xmm0
movups xmm1, xmmword [0x140122f48]
movups xmmword [rax + 0x10], xmm1
movzx ecx, byte [0x140122f58]
mov byte [rax + 0x20], cl
mov rcx, r13
mov byte [rax + 0x21], r13b
movzx eax, byte [rcx + rdi]
inc rcx
xor rdx, rax
imul rdx, r8
cmp rcx, 0x21
jb 0x1400079a2
mov rcx, qword [r14 + 0x30]
mov rax, qword [r14 + 0x18]
and rcx, rdx
add rcx, rcx
mov rbx, qword [rax + rcx*8 + 8]
cmp rbx, qword [r14 + 8]
je 0x1400085a9
mov rsi, qword [rax + rcx*8]
nop word [rax + rax]
cmp qword [rbx + 0x28], 0x10
lea rdx, [rbx + 0x10]
mov rax, qword [rdx + 0x10]
jb 0x1400079f2
mov rdx, qword [rdx]
cmp rax, 0x21
jne 0x140007a07
mov r8, rax
mov rcx, rdi
call fcn.1400ee510
test eax, eax
je 0x140007a16
cmp rbx, rsi
je 0x1400085a9
mov rbx, qword [rbx + 8]
jmp 0x1400079e0
mov edx, 0x30
mov rcx, rdi
call fcn.1400ec648
test rbx, rbx
jmp 0x140008549
cmp dword [r14 + 0x4b8], r13d
je case.default.0x14000839f
mov r9d, dword [r15 + 0x10]
mov edx, r13d
test r9d, r9d
je 0x140007a7c
mov r10, qword [r15 + 0x18]
mov ecx, dword [r14 + 0xa60]
nop
mov eax, edx
mov r8d, dword [r10 + rax*4]
cmp ecx, 0x20
jb 0x140007a60
mov eax, r13d
jmp 0x140007a67
mov eax, 1
shl eax, cl
dec eax
and eax, r8d
cmp eax, r8d
jne case.default.0x14000839f
inc edx
cmp edx, r9d
jb 0x140007a50
mov r9d, dword [r15 + 0x30]
mov edx, r13d
test r9d, r9d
je 0x14000855c
mov r10, qword [r15 + 0x38]
mov ecx, dword [r14 + 0xa60]
nop word [rax + rax]
mov eax, edx
mov r8d, dword [r10 + rax*4]
cmp ecx, 0x20
jb 0x140007ab0
mov eax, r13d
jmp 0x140007ab7
mov eax, 1
shl eax, cl
dec eax
and eax, r8d
cmp eax, r8d
jne case.default.0x14000839f
inc edx
cmp edx, r9d
jb 0x140007aa0
jmp 0x14000855c
cmp dword [r14 + 0x694], r13d
je case.default.0x14000839f
jmp 0x14000855c
mov ecx, 0x20
call fcn.1400ec60c
movups xmm0, xmmword [str.VK_EXT_depth_clip_enable]
mov r9, rax
movabs r8, 0xcbf29ce484222325
mov rdx, r13
movups xmmword [rax], xmm0
movsd xmm1, qword [0x140122f28]
movsd qword [rax + 0x10], xmm1
mov byte [rax + 0x18], r13b
nop dword [rax + rax]
movzx ecx, byte [rdx + rax]
inc rdx
xor r8, rcx
imul r8, rdi
cmp rdx, 0x18
jb 0x140007b20
mov rcx, qword [r14 + 0x30]
mov rax, qword [r14 + 0x18]
and rcx, r8
add rcx, rcx
mov rbx, qword [rax + rcx*8 + 8]
cmp rbx, qword [r14 + 8]
je 0x1400085ba
mov rdx, qword [rax + rcx*8]
nop word [rax + rax]
cmp qword [rbx + 0x28], 0x10
lea rcx, [rbx + 0x10]
mov rax, qword [rcx + 0x10]
jb 0x140007b72
mov rcx, qword [rcx]
cmp rax, 0x18
jne 0x140007b94
mov rax, qword [r9]
cmp rax, qword [rcx]
jne 0x140007b94
mov rax, qword [r9 + 8]
cmp rax, qword [rcx + 8]
jne 0x140007b94
mov rax, qword [r9 + 0x10]
cmp rax, qword [rcx + 0x10]
je 0x140007ba3
cmp rbx, rdx
je 0x1400085ba
mov rbx, qword [rbx + 8]
jmp 0x140007b60
mov edx, 0x20
mov rcx, r9
call fcn.1400ec648
test rbx, rbx
je case.default.0x14000839f
cmp dword [r15 + 0x14], r13d
je 0x14000855c
cmp dword [r14 + 0x6a8], r13d
je case.default.0x14000839f
jmp 0x14000855c
cmp ebx, 0x3b9c930b
je 0x140007cef
cmp ebx, 0x3b9d0c22
je 0x140007cdd
cmp ebx, 0x3b9d3ee8
jne 0x1400085dc
mov r9d, dword [r15 + 0x10]
mov ecx, r13d
mov edx, r13d
test r9d, r9d
je 0x14000855c
cmp r9d, 8
jb 0x140007c78
mov r10, qword [r15 + 0x18]
mov r8d, r9d
and r8d, 0xfffffff8
xorps xmm2, xmm2
xorps xmm1, xmm1
nop dword [rax]
nop word [rax + rax]
mov eax, edx
movdqu xmm0, xmmword [r10 + rax*4]
lea eax, [rdx + 4]
add edx, 8
por xmm2, xmm0
movdqu xmm0, xmmword [r10 + rax*4]
por xmm1, xmm0
cmp edx, r8d
jb 0x140007c30
por xmm1, xmm2
movdqa xmm0, xmm1
psrldq xmm0, 8
por xmm1, xmm0
movdqa xmm0, xmm1
psrldq xmm0, 4
por xmm1, xmm0
movd ecx, xmm1
cmp edx, r9d
jae 0x140007c9e
mov r8, qword [r15 + 0x18]
sub r9d, edx
mov eax, edx
mov edx, r9d
lea rax, [rax*4]
nop dword [rax]
or ecx, dword [r8 + rax]
lea rax, [rax + 4]
sub rdx, 1
jne 0x140007c90
test cl, 2
je 0x140007cb0
cmp dword [r14 + 0x5b0], r13d
je case.default.0x14000839f
test cl, 4
je 0x140007cc2
cmp dword [r14 + 0x5b4], r13d
je case.default.0x14000839f
test cl, 8
je 0x14000855c
cmp dword [r14 + 0x5b8], r13d
je case.default.0x14000839f
jmp 0x14000855c
cmp dword [r14 + 0x6d8], r13d
je case.default.0x14000839f
jmp 0x14000855c
mov ecx, 0x20
call fcn.1400ec60c
movups xmm0, xmmword [str.VK_KHR_maintenance2]
mov rdi, rax
or r12d, 1
movabs rdx, 0xcbf29ce484222325
movabs r8, 0x100000001b3
movups xmmword [rax], xmm0
movzx ecx, word [0x140122ef0]
mov word [rax + 0x10], cx
movzx ecx, byte [0x140122ef2]
mov byte [rax + 0x12], cl
mov rcx, r13
mov byte [rax + 0x13], r13b
nop word [rax + rax]
movzx eax, byte [rcx + rdi]
inc rcx
xor rdx, rax
imul rdx, r8
cmp rcx, 0x13
jb 0x140007d40
mov rcx, qword [r14 + 0x30]
mov rax, qword [r14 + 0x18]
and rcx, rdx
add rcx, rcx
mov rbx, qword [rax + rcx*8 + 8]
cmp rbx, qword [r14 + 8]
je 0x140007da8
mov rsi, qword [rax + rcx*8]
cmp qword [rbx + 0x28], 0x10
lea rdx, [rbx + 0x10]
mov rax, qword [rdx + 0x10]
jb 0x140007d83
mov rdx, qword [rdx]
cmp rax, 0x13
jne 0x140007d98
mov r8, rax
mov rcx, rdi
call fcn.1400ee510
test eax, eax
je 0x140007da3
cmp rbx, rsi
je 0x140007da8
mov rbx, qword [rbx + 8]
jmp 0x140007d71
test rbx, rbx
jne 0x140007db6
cmp dword [r14 + 0x48], 0x401000
jb 0x1400085cb
mov edx, 0x20
mov rcx, rdi
call fcn.1400ec648
and r12d, 0xfffffffe
jmp 0x14000854b
mov ecx, 0x20
call fcn.1400ec60c
movups xmm0, xmmword [str.VK_EXT_vertex_attribute_divisor]
mov rdi, rax
movabs rdx, 0xcbf29ce484222325
movabs r8, 0x100000001b3
movups xmmword [rax], xmm0
movsd xmm1, qword [0x140122f08]
movsd qword [rax + 0x10], xmm1
mov ecx, dword [0x140122f10]
mov dword [rax + 0x18], ecx
movzx ecx, word [0x140122f14]
mov word [rax + 0x1c], cx
movzx ecx, byte [0x140122f16]
mov byte [rax + 0x1e], cl
mov rcx, r13
mov byte [rax + 0x1f], r13b
nop dword [rax]
movzx eax, byte [rcx + rdi]
inc rcx
xor rdx, rax
imul rdx, r8
cmp rcx, 0x1f
jb 0x140007e30
mov rcx, qword [r14 + 0x30]
mov rax, qword [r14 + 0x18]
and rcx, rdx
add rcx, rcx
mov rbx, qword [rax + rcx*8 + 8]
cmp rbx, qword [r14 + 8]
je 0x1400085cb
mov rsi, qword [rax + rcx*8]
nop word [rax + rax]
cmp qword [rbx + 0x28], 0x10
lea rdx, [rbx + 0x10]
mov rax, qword [rdx + 0x10]
jb 0x140007e82
mov rdx, qword [rdx]
cmp rax, 0x1f
jne 0x140007e97
mov r8, rax
mov rcx, rdi
call fcn.1400ee510
test eax, eax
je 0x140007ea6
cmp rbx, rsi
je 0x1400085cb
mov rbx, qword [rbx + 8]
jmp 0x140007e70
mov edx, 0x20
mov rcx, rdi
call fcn.1400ec648
test rbx, rbx
je case.default.0x14000839f
mov r9d, dword [r15 + 0x10]
xor r10b, r10b
xor r8b, r8b
mov ecx, r13d
mov eax, r13d
test r9d, r9d
je 0x140007f03
mov rdx, qword [r15 + 0x18]
add rdx, 4
nop dword [rax]
mov eax, dword [rdx]
cmp eax, 1
je 0x140007ef2
mov r8b, 1
test eax, eax
jne 0x140007ef2
movzx r10d, r8b
cmp ecx, eax
cmovb ecx, eax
add rdx, 8
mov eax, ecx
sub r9, 1
jne 0x140007ee0
cmp eax, dword [r14 + 0x9c8]
ja case.default.0x14000839f
test r10b, r10b
je 0x140007f22
cmp dword [r14 + 0x6f4], r13d
je case.default.0x14000839f
test r8b, r8b
je 0x14000854b
cmp dword [r14 + 0x6f0], r13d
jmp 0x140008549
cmp ebx, 0x3b9e7769
jg 0x140008315
je 0x14000821e
cmp ebx, 0x3b9dd359
je 0x1400080c8
cmp ebx, 0x3b9e38e9
je 0x14000855c
cmp ebx, 0x3b9e3cd0
jne 0x1400085dc
mov r8d, 0x1c
mov qword [rbp - 0x20], r13
lea rdx, str.VK_KHR_fragment_shading_rate
mov qword [rbp - 0x10], r13
lea rcx, [rbp - 0x20]
mov qword [rbp - 8], 0xf
call fcn.140001b50
mov rsi, qword [rbp - 8]
lea rdx, [rbp - 0x20]
mov rbx, qword [rbp - 0x20]
or r12d, 0x10
mov r8, qword [rbp - 0x10]
cmp rsi, 0x10
movabs r9, 0xcbf29ce484222325
mov rcx, r13
cmovae rdx, rbx
test r8, r8
je 0x140007fd4
movzx eax, byte [rcx + rdx]
inc rcx
xor r9, rax
imul r9, rdi
cmp rcx, r8
jb 0x140007fc1
lea r8, [rbp - 0x20]
mov rcx, r14
lea rdx, [rbp - 0x60]
call fcn.140004570
cmp qword [rax + 8], r13
je 0x140007ff8
cmp dword [r14 + 0x678], r13d
je 0x140007ff8
xor dil, dil
jmp 0x140007ffb
mov dil, 1
and r12d, 0xffffffef
cmp rsi, 0x10
jb 0x140008036
lea rdx, [rsi + 1]
mov rax, rbx
cmp rdx, 0x1000
jb 0x14000802e
mov rbx, qword [rbx - 8]
add rdx, 0x27
sub rax, rbx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140008611
mov rcx, rbx
call fcn.1400ec648
test dil, dil
jne case.default.0x14000839f
mov rdx, qword [r15 + 0x10]
test rdx, rdx
je 0x14000854b
mov rcx, r14
call fcn.140004f40
test al, al
je case.default.0x14000839f
mov ecx, dword [r15 + 0x18]
mov edx, dword [r15 + 0x1c]
test ecx, ecx
je case.default.0x14000839f
test edx, edx
je case.default.0x14000839f
cmp ecx, dword [r14 + 0x9e0]
jb case.default.0x14000839f
cmp ecx, dword [r14 + 0x9e8]
ja case.default.0x14000839f
cmp edx, dword [r14 + 0x9e4]
jb case.default.0x14000839f
cmp edx, dword [r14 + 0x9ec]
ja case.default.0x14000839f
cmp ecx, edx
mov eax, ecx
cmovb eax, edx
cmova ecx, edx
xor edx, edx
div ecx
cmp eax, dword [r14 + 0x9f0]
ja case.default.0x14000839f
jmp 0x14000854b
cmp dword [r14 + 0x48], 0x402000
jae 0x14000815e
mov r8d, 0x1c
mov qword [rbp - 0x20], r13
lea rdx, str.VK_KHR_depth_stencil_resolve
mov qword [rbp - 0x10], r13
lea rcx, [rbp - 0x20]
mov qword [rbp - 8], 0xf
call fcn.140001b50
mov rsi, qword [rbp - 8]
lea rdx, [rbp - 0x20]
mov rbx, qword [rbp - 0x20]
or r12d, 8
mov r8, qword [rbp - 0x10]
cmp rsi, 0x10
movabs r9, 0xcbf29ce484222325
mov rcx, r13
cmovae rdx, rbx
test r8, r8
je 0x140008143
nop word [rax + rax]
movzx eax, byte [rcx + rdx]
inc rcx
xor r9, rax
imul r9, rdi
cmp rcx, r8
jb 0x140008130
lea r8, [rbp - 0x20]
mov rcx, r14
lea rdx, [rbp - 0x50]
call fcn.140004570
cmp qword [rax + 8], r13
jne 0x140008166
mov dil, 1
jmp 0x140008169
mov rsi, qword [rbp - 8]
mov rbx, qword [rbp - 0x20]
xor dil, dil
test r12b, 8
je 0x1400081aa
and r12d, 0xfffffff7
cmp rsi, 0x10
jb 0x1400081aa
lea rdx, [rsi + 1]
mov rax, rbx
cmp rdx, 0x1000
jb 0x1400081a2
mov rbx, qword [rbx - 8]
add rdx, 0x27
sub rax, rbx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140008611
mov rcx, rbx
call fcn.1400ec648
test dil, dil
jne case.default.0x14000839f
mov rdx, qword [r15 + 0x18]
test rdx, rdx
je 0x14000854b
mov rcx, r14
call fcn.140004f40
test al, al
je case.default.0x14000839f
mov eax, dword [r15 + 0x10]
test dword [r14 + 0xa40], eax
je case.default.0x14000839f
mov ecx, dword [r15 + 0x14]
test dword [r14 + 0xa44], ecx
je case.default.0x14000839f
cmp eax, ecx
je 0x14000854b
test eax, eax
je 0x140008210
test ecx, ecx
je 0x140008210
mov eax, dword [r14 + 0xa4c]
test eax, eax
jmp 0x140008549
mov eax, dword [r14 + 0xa48]
test eax, eax
jmp 0x140008549
cmp dword [r14 + 0x48], 0x402000
jae 0x1400082ff
mov r8d, 0x25
mov qword [rbp - 0x20], r13
lea rdx, str.VK_KHR_separate_depth_stencil_layouts
mov qword [rbp - 0x10], r13
lea rcx, [rbp - 0x20]
mov qword [rbp - 8], 0xf
call fcn.140001b50
mov rsi, qword [rbp - 8]
lea rdx, [rbp - 0x20]
mov rbx, qword [rbp - 0x20]
or r12d, 4
mov r8, qword [rbp - 0x10]
cmp rsi, 0x10
movabs r9, 0xcbf29ce484222325
mov rcx, r13
cmovae rdx, rbx
test r8, r8
je 0x140008293
movzx eax, byte [rcx + rdx]
inc rcx
xor r9, rax
imul r9, rdi
cmp rcx, r8
jb 0x140008280
lea r8, [rbp - 0x20]
mov rcx, r14
lea rdx, [rbp - 0x40]
call fcn.140004570
cmp qword [rax + 8], r13
jne 0x140008307
mov dil, 1
test r12b, 4
je 0x1400082ed
and r12d, 0xfffffffb
cmp rsi, 0x10
jb 0x1400082ed
lea rdx, [rsi + 1]
mov rax, rbx
cmp rdx, 0x1000
jb 0x1400082e5
mov rbx, qword [rbx - 8]
add rdx, 0x27
sub rax, rbx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140008611
mov rcx, rbx
call fcn.1400ec648
test dil, dil
jne case.default.0x14000839f
mov edx, dword [r15 + 0x10]
jmp 0x14000853f
mov rsi, qword [rbp - 8]
mov rbx, qword [rbp - 0x20]
cmp dword [r14 + 0x620], r13d
je 0x1400082a9
xor dil, dil
jmp 0x1400082ac
cmp ebx, 0x3b9e776a
je 0x14000843b
cmp ebx, 0x3b9ebdb9
je 0x1400083b5
cmp ebx, 0x3ba0251a
jne 0x1400085dc
cmp dword [r14 + 0x880], r13d
je case.default.0x14000839f
mov r11d, dword [r15 + 0x10]
mov r9d, r13d
test r11d, r11d
je 0x14000855c
mov rbx, qword [r15 + 0x18]
nop word [rax + rax]
mov eax, r9d
mov edx, r13d
add rax, rax
mov r10d, dword [rbx + rax*8]
test r10d, r10d
je 0x1400083a8
mov r8, qword [rbx + rax*8 + 8]
nop word [rax + rax]
mov eax, edx
mov eax, dword [r8 + rax*4]
add eax, 0xfffffffe
cmp eax, 5
ja case.default.0x14000839f
movsxd rcx, eax
mov eax, dword [rsi + rcx*4 + 0x8618]
add rax, rsi
jmp rax
inc edx
cmp edx, r10d
jb 0x140008380
inc r9d
cmp r9d, r11d
jb 0x140008360
jmp 0x14000855c
mov eax, dword [r15 + 0x10]
cmp eax, 1
jne 0x1400083c7
cmp dword [r14 + 0x780], r13d
jmp 0x1400083e1
cmp eax, 2
jne 0x1400083d5
cmp dword [r14 + 0x784], r13d
jmp 0x1400083e1
cmp eax, 3
jne 0x1400083e7
cmp dword [r14 + 0x788], r13d
je case.default.0x14000839f
cmp dword [r15 + 0x14], 1
jne 0x14000855c
cmp eax, 1
jne 0x140008409
cmp dword [r14 + 0x78c], r13d
je case.default.0x14000839f
jmp 0x14000855c
cmp eax, 2
jne 0x140008420
cmp dword [r14 + 0x790], r13d
je case.default.0x14000839f
jmp 0x14000855c
cmp eax, 3
jne 0x14000855c
cmp dword [r14 + 0x794], r13d
je case.default.0x14000839f
jmp 0x14000855c
cmp dword [r14 + 0x48], 0x402000
jae 0x14000858c
mov ecx, 0x30
call fcn.1400ec60c
movups xmm0, xmmword [str.VK_KHR_separate_depth_stencil_layouts]
mov rbx, rax
mov qword [rbp - 0x10], 0x25
mov esi, 0x2f
mov qword [rbp - 0x20], rbx
movups xmmword [rax], xmm0
mov qword [rbp - 8], rsi
or r12d, 2
movups xmm1, xmmword [0x140122f70]
movabs r9, 0xcbf29ce484222325
mov rcx, r13
movups xmmword [rax + 0x10], xmm1
mov eax, dword [0x140122f80]
mov dword [rbx + 0x20], eax
movzx eax, byte [0x140122f84]
mov byte [rbx + 0x24], al
mov byte [rbx + 0x25], r13b
nop dword [rax + rax]
movzx eax, byte [rcx + rbx]
inc rcx
xor r9, rax
imul r9, rdi
cmp rcx, 0x25
jb 0x1400084b0
lea r8, [rbp - 0x20]
mov rcx, r14
lea rdx, [rbp - 0x30]
call fcn.140004570
cmp qword [rax + 8], r13
jne 0x140008594
mov dil, 1
test r12b, 2
je 0x140008522
and r12d, 0xfffffffd
cmp rsi, 0x10
jb 0x140008522
lea rdx, [rsi + 1]
mov rax, rbx
cmp rdx, 0x1000
jb 0x14000851a
mov rbx, qword [rbx - 8]
add rdx, 0x27
sub rax, rbx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140008611
mov rcx, rbx
call fcn.1400ec648
test dil, dil
jne case.default.0x14000839f
mov edx, dword [r15 + 0x10]
mov rcx, r14
call fcn.1400065d0
test al, al
je case.default.0x14000839f
mov edx, dword [r15 + 0x14]
mov rcx, r14
call fcn.1400065d0
test al, al
je case.default.0x14000839f
movabs rdi, 0x100000001b3
lea rsi, [0x140000000]
mov r15, qword [r15 + 8]
test r15, r15
jne 0x140007910
mov al, 1
lea r11, [rsp + 0x80]
mov rbx, qword [r11 + 0x30]
mov rsi, qword [r11 + 0x40]
mov rdi, qword [r11 + 0x48]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret
mov rsi, qword [rbp - 8]
mov rbx, qword [rbp - 0x20]
cmp dword [r14 + 0x620], r13d
je 0x1400084de
xor dil, dil
jmp 0x1400084e1
mov edx, 0x30
mov rcx, rdi
call fcn.1400ec648
xor al, al
jmp 0x14000856b
mov edx, 0x20
mov rcx, r9
call fcn.1400ec648
xor al, al
jmp 0x14000856b
mov edx, 0x20
mov rcx, rdi
call fcn.1400ec648
xor al, al
jmp 0x14000856b
mov ecx, 2
call fcn.1400f6cc8
mov r8d, ebx
lea rdx, str.Fossilize_ERROR:_Unrecognized_pNext_sType:__u._Treating_as_unsupported._n
mov rcx, rax
call fcn.140002150
mov ecx, 2
call fcn.1400f6cc8
mov rcx, rax
call fcn.1400f7084
xor al, al
jmp 0x14000856b
call fcn.1400f2c0c
int3