Function at 0x40a680
Capabilities:
Encode data using xor
Hash data using fnv

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x51e975
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x358
push ebx
push esi
push edi
push 0x300
lea eax, [ebp - 0x364]
push 0
push eax
call fcn.004fc310
mov edi, dword [ebp + 8]
lea esi, [ebp - 0x364]
mov ecx, 0xc0
add esp, 0xc
rep movsd dword es:[edi], dword [esi]
xor eax, eax
lea ecx, [ebp - 0x64]
xor ebx, ebx
mov dword [ebp - 0x10], eax
call fcn.00405520
xor esi, esi
mov dword [ebp - 4], ebx
cmp dword [ebp + 0x14], esi
jbe 0x40a73b
mov ebx, dword [ebp + 0x10]
mov edx, dword [ebx + esi*4]
xor eax, eax
mov ecx, edx
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x18], eax
lea edi, [ecx + 1]
mov dword [ebp - 0x14], eax
nop
mov al, byte [ecx]
inc ecx
test al, al
jne 0x40a700
sub ecx, edi
push ecx
push edx
lea ecx, [ebp - 0x28]
call fcn.004011f0
lea eax, [ebp - 0x28]
mov byte [ebp - 4], 1
push eax
lea eax, [ebp - 0x34]
push eax
lea ecx, [ebp - 0x64]
call fcn.00404ec0
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 0
call fcn.00401760
inc esi
cmp esi, dword [ebp + 0x14]
jb 0x40a6e3
xor ebx, ebx
xor eax, eax
mov dword [ebp + 0x14], 0x1f
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x20], eax
lea eax, [ebp + 0x14]
push eax
lea eax, [ebp - 0x2c]
push eax
call fcn.00401190
mov edx, dword [ebp + 0x14]
mov ecx, 6
mov esi, str.VK_EXT_descriptor_indexing
mov dword [ebp - 0x18], edx
mov edi, eax
mov dword [ebp - 0x2c], eax
rep movsd dword es:[edi], dword [esi]
add esp, 8
mov dword [ebp - 0x1c], 0x1a
cmp edx, 0xf
mov edx, 0x811c9dc5
movsw word es:[edi], word [esi]
mov esi, eax
lea edi, [ebp - 0x2c]
cmova edi, esi
xor ecx, ecx
mov byte [esi + 0x1a], 0
movzx eax, byte [ecx + edi]
inc ecx
xor eax, edx
imul edx, eax, 0x1000193
cmp ecx, 0x1a
jb 0x40a793
push edx
lea eax, [ebp - 0x2c]
push eax
lea eax, [ebp - 0x34]
push eax
lea ecx, [ebp - 0x64]
call fcn.00404870
mov edi, dword [eax + 4]
mov eax, dword [ebp + 0x14]
cmp eax, 0xf
jbe 0x40a7ec
lea ecx, [eax + 1]
cmp ecx, 0x1000
jb 0x40a7e2
mov edx, dword [esi - 4]
add ecx, 0x23
sub esi, edx
lea eax, [esi - 4]
cmp eax, 0x1f
ja 0x40b6d5
mov esi, edx
push ecx
push esi
call fcn.004fa253
add esp, 8
mov edx, dword [ebp + 0xc]
mov ecx, dword [ebp + 8]
test edi, edi
je 0x40a80e
cmp edx, 0x400000
jb 0x40a80e
lea eax, [ecx + 4]
mov dword [ecx], 0x3b9d3eea
mov dword [ebp - 0x10], eax
mov ebx, ecx
jmp 0x40a810
xor eax, eax
mov esi, ebx
mov edi, ebx
cmp edx, section..text
jb 0x40a838
lea edx, [ecx + 0x64]
test edi, edi
mov ebx, edx
mov dword [edx], 0x3b9c3930
cmovne ebx, esi
test eax, eax
je 0x40a832
mov dword [eax], edx
lea eax, [ecx + 0x68]
mov dword [ebp - 0x10], eax
xor eax, eax
mov dword [ebp - 0x38], ebx
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x20], eax
lea eax, [ebp + 0x14]
push eax
lea eax, [ebp - 0x2c]
mov dword [ebp - 0x40], ebx
push eax
mov dword [ebp + 0x14], 0x1f
call fcn.00401190
mov edx, dword [ebp + 0x14]
mov ecx, 7
mov esi, str.VK_KHR_shader_float_controls
mov dword [ebp - 0x18], edx
mov edi, eax
mov dword [ebp - 0x2c], eax
rep movsd dword es:[edi], dword [esi]
add esp, 8
mov dword [ebp - 0x1c], 0x1c
mov esi, eax
lea edi, [ebp - 0x2c]
cmp edx, 0xf
mov edx, 0x811c9dc5
cmova edi, esi
xor ecx, ecx
mov byte [esi + 0x1c], 0
movzx eax, byte [edi + ecx]
inc ecx
xor eax, edx
imul edx, eax, 0x1000193
cmp ecx, 0x1c
jb 0x40a894
push edx
lea eax, [ebp - 0x2c]
push eax
lea eax, [ebp - 0x34]
push eax
lea ecx, [ebp - 0x64]
call fcn.00404870
mov edi, dword [eax + 4]
mov eax, dword [ebp + 0x14]
cmp eax, 0xf
jbe 0x40a8ed
lea ecx, [eax + 1]
cmp ecx, 0x1000
jb 0x40a8e3
mov edx, dword [esi - 4]
add ecx, 0x23
sub esi, edx
lea eax, [esi - 4]
cmp eax, 0x1f
ja 0x40b6d5
mov esi, edx
push ecx
push esi
call fcn.004fa253
add esp, 8
test edi, edi
je 0x40a922
cmp dword [ebp + 0xc], 0x400000
jb 0x40a922
mov edx, dword [ebp + 8]
cmp dword [ebp - 0x40], 0
lea ecx, [edx + 0x7c]
mov eax, dword [ebp - 0x10]
mov ebx, ecx
cmovne ebx, dword [ebp - 0x38]
mov dword [ecx], 0x3b9dcb88
test eax, eax
je 0x40a919
mov dword [eax], ecx
lea eax, [edx + 0x80]
mov dword [ebp - 0x10], eax
xor eax, eax
mov dword [ebp - 0x40], ebx
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x20], eax
lea eax, [ebp + 0x14]
push eax
lea eax, [ebp - 0x2c]
mov dword [ebp - 0x38], ebx
push eax
mov dword [ebp + 0x14], 0x1f
call fcn.00401190
mov edx, dword [ebp + 0x14]
mov ecx, 7
mov esi, str.VK_KHR_depth_stencil_resolve
mov dword [ebp - 0x18], edx
mov edi, eax
mov dword [ebp - 0x2c], eax
rep movsd dword es:[edi], dword [esi]
add esp, 8
mov dword [ebp - 0x1c], 0x1c
mov esi, eax
lea edi, [ebp - 0x2c]
cmp edx, 0xf
mov edx, 0x811c9dc5
cmova edi, esi
xor ecx, ecx
mov byte [esi + 0x1c], 0
mov edi, edi
movzx eax, byte [edi + ecx]
inc ecx
xor eax, edx
imul edx, eax, 0x1000193
cmp ecx, 0x1c
jb 0x40a980
push edx
lea eax, [ebp - 0x2c]
push eax
lea eax, [ebp - 0x34]
push eax
lea ecx, [ebp - 0x64]
call fcn.00404870
mov edi, dword [eax + 4]
mov eax, dword [ebp + 0x14]
cmp eax, 0xf
jbe 0x40a9d9
lea ecx, [eax + 1]
cmp ecx, 0x1000
jb 0x40a9cf
mov edx, dword [esi - 4]
add ecx, 0x23
sub esi, edx
lea eax, [esi - 4]
cmp eax, 0x1f
ja 0x40b6d5
mov esi, edx
push ecx
push esi
call fcn.004fa253
add esp, 8
test edi, edi
mov edi, dword [ebp + 8]
je 0x40aa11
cmp dword [ebp + 0xc], 0x400000
jb 0x40aa11
cmp dword [ebp - 0x38], 0
lea ecx, [edi + 0x164]
mov eax, dword [ebp - 0x10]
mov ebx, ecx
cmovne ebx, dword [ebp - 0x40]
mov dword [ecx], 0x3b9dd358
test eax, eax
je 0x40aa08
mov dword [eax], ecx
lea esi, [edi + 0x168]
mov dword [ebp - 0x10], esi
xor eax, eax
mov dword [ebp - 0x30], ebx
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x1c], eax
lea eax, [ebp + 0x14]
push eax
lea eax, [ebp - 0x28]
mov dword [ebp - 0x40], ebx
push eax
mov dword [ebp + 0x14], 0x1f
call fcn.00401190
mov edx, dword [ebp + 0x14]
lea esi, [ebp - 0x28]
mov ecx, eax
mov dword [ebp - 0x14], edx
mov eax, dword [str.VK_KHR_multiview]
add esp, 8
cmp edx, 0xf
mov dword [ebp - 0x28], ecx
mov dword [ebp - 0x18], 0x10
mov edx, 0x811c9dc5
mov dword [ecx], eax
cmova esi, ecx
mov eax, dword [0x52dbb8]
mov dword [ecx + 4], eax
mov eax, dword [0x52dbbc]
mov dword [ecx + 8], eax
mov eax, dword [0x52dbc0]
mov dword [ecx + 0xc], eax
mov byte [ecx + 0x10], 0
xor ecx, ecx
mov edi, edi
movzx eax, byte [esi + ecx]
inc ecx
xor eax, edx
imul edx, eax, 0x1000193
cmp ecx, 0x10
jb 0x40aa80
push edx
lea eax, [ebp - 0x28]
push eax
lea eax, [ebp - 0x3c]
push eax
lea ecx, [ebp - 0x64]
call fcn.00404870
mov esi, dword [ebp - 0x10]
mov eax, dword [eax + 4]
mov dword [ebp - 0x38], eax
mov eax, dword [ebp + 0x14]
cmp eax, 0xf
jbe 0x40aae2
lea ecx, [eax + 1]
mov eax, dword [ebp - 0x28]
cmp ecx, 0x1000
jb 0x40aad8
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40b6d5
mov eax, edx
push ecx
push eax
call fcn.004fa253
add esp, 8
cmp dword [ebp - 0x38], 0
je 0x40ab16
cmp dword [ebp + 0xc], 0x400000
jb 0x40ab16
cmp dword [ebp - 0x40], 0
lea eax, [edi + 0x17c]
mov ebx, eax
mov dword [eax], 0x3b9b990a
cmovne ebx, dword [ebp - 0x30]
test esi, esi
je 0x40ab0d
mov dword [esi], eax
lea eax, [edi + 0x180]
mov dword [ebp - 0x10], eax
xor eax, eax
mov dword [ebp - 0x38], ebx
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x20], eax
lea eax, [ebp + 0x14]
push eax
lea eax, [ebp - 0x2c]
mov dword [ebp - 0x30], ebx
push eax
mov dword [ebp + 0x14], 0x1f
call fcn.00401190
mov edx, dword [ebp + 0x14]
mov ecx, 7
mov esi, str.VK_KHR_fragment_shading_rate
mov dword [ebp - 0x18], edx
mov edi, eax
mov dword [ebp - 0x2c], eax
rep movsd dword es:[edi], dword [esi]
add esp, 8
mov dword [ebp - 0x1c], 0x1c
mov esi, eax
lea edi, [ebp - 0x2c]
cmp edx, 0xf
mov edx, 0x811c9dc5
cmova edi, esi
xor ecx, ecx
mov byte [esi + 0x1c], 0
movzx eax, byte [ecx + edi]
inc ecx
xor eax, edx
imul edx, eax, 0x1000193
cmp ecx, 0x1c
jb 0x40ab72
push edx
lea eax, [ebp - 0x2c]
push eax
lea eax, [ebp - 0x44]
push eax
lea ecx, [ebp - 0x64]
call fcn.00404870
mov edi, dword [eax + 4]
mov eax, dword [ebp + 0x14]
cmp eax, 0xf
jbe 0x40abcb
lea ecx, [eax + 1]
cmp ecx, 0x1000
jb 0x40abc1
mov edx, dword [esi - 4]
add ecx, 0x23
sub esi, edx
lea eax, [esi - 4]
cmp eax, 0x1f
ja 0x40b6d5
mov esi, edx
push ecx
push esi
call fcn.004fa253
add esp, 8
test edi, edi
je 0x40ac03
cmp dword [ebp + 0xc], 0x400000
jb 0x40ac03
mov edx, dword [ebp + 8]
cmp dword [ebp - 0x30], 0
lea ecx, [edx + 0x10c]
mov eax, dword [ebp - 0x10]
mov ebx, ecx
cmovne ebx, dword [ebp - 0x38]
mov dword [ecx], 0x3b9e3cd2
test eax, eax
je 0x40abfa
mov dword [eax], ecx
lea eax, [edx + 0x110]
mov dword [ebp - 0x10], eax
xor eax, eax
mov dword [ebp - 0x38], ebx
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x20], eax
lea eax, [ebp + 0x14]
push eax
lea eax, [ebp - 0x2c]
mov dword [ebp - 0x30], ebx
push eax
mov dword [ebp + 0x14], 0x1f
call fcn.00401190
mov ecx, 6
mov edx, dword [ebp + 0x14]
mov esi, str.VK_KHR_ray_tracing_pipeline
mov dword [ebp - 0x18], edx
mov edi, eax
mov dword [ebp - 0x2c], eax
rep movsd dword es:[edi], dword [esi]
add esp, 8
mov dword [ebp - 0x1c], 0x1b
cmp edx, 0xf
mov edx, 0x811c9dc5
movsw word es:[edi], word [esi]
movsb byte es:[edi], byte [esi]
mov esi, eax
lea edi, [ebp - 0x2c]
cmova edi, esi
xor ecx, ecx
mov byte [esi + 0x1b], 0
movzx eax, byte [edi + ecx]
inc ecx
xor eax, edx
imul edx, eax, 0x1000193
cmp ecx, 0x1b
jb 0x40ac62
push edx
lea eax, [ebp - 0x2c]
push eax
lea eax, [ebp - 0x44]
push eax
lea ecx, [ebp - 0x64]
call fcn.00404870
mov edi, dword [eax + 4]
mov eax, dword [ebp + 0x14]
cmp eax, 0xf
jbe 0x40acbb
lea ecx, [eax + 1]
cmp ecx, 0x1000
jb 0x40acb1
mov edx, dword [esi - 4]
add ecx, 0x23
sub esi, edx
lea eax, [esi - 4]
cmp eax, 0x1f
ja 0x40b6d5
mov esi, edx
push ecx
push esi
call fcn.004fa253
add esp, 8
test edi, edi
je 0x40acf3
cmp dword [ebp + 0xc], 0x400000
jb 0x40acf3
mov ecx, dword [ebp + 8]
cmp dword [ebp - 0x30], 0
lea edx, [ecx + 0x18c]
mov eax, dword [ebp - 0x10]
mov ebx, edx
cmovne ebx, dword [ebp - 0x38]
mov dword [edx], 0x3ba01579
test eax, eax
je 0x40acea
mov dword [eax], edx
lea eax, [ecx + 0x190]
mov dword [ebp - 0x10], eax
xor eax, eax
mov dword [ebp - 0x38], ebx
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x1c], eax
lea eax, [ebp + 0x14]
push eax
lea eax, [ebp - 0x28]
mov dword [ebp - 0x30], ebx
push eax
mov dword [ebp + 0x14], 0x1f
call fcn.00401190
mov edx, dword [ebp + 0x14]
mov ecx, 7
mov esi, str.VK_KHR_acceleration_structure
mov dword [ebp - 0x14], edx
mov edi, eax
mov dword [ebp - 0x28], eax
rep movsd dword es:[edi], dword [esi]
add esp, 8
mov dword [ebp - 0x18], 0x1d
cmp edx, 0xf
mov edx, 0x811c9dc5
movsb byte es:[edi], byte [esi]
mov esi, eax
lea edi, [ebp - 0x28]
cmova edi, esi
xor ecx, ecx
mov byte [esi + 0x1d], 0
movzx eax, byte [edi + ecx]
inc ecx
xor eax, edx
imul edx, eax, 0x1000193
cmp ecx, 0x1d
jb 0x40ad50
push edx
lea eax, [ebp - 0x28]
push eax
lea eax, [ebp - 0x44]
push eax
lea ecx, [ebp - 0x64]
call fcn.00404870
mov edi, dword [eax + 4]
mov eax, dword [ebp + 0x14]
cmp eax, 0xf
jbe 0x40ada9
lea ecx, [eax + 1]
cmp ecx, 0x1000
jb 0x40ad9f
mov edx, dword [esi - 4]
add ecx, 0x23
sub esi, edx
lea eax, [esi - 4]
cmp eax, 0x1f
ja 0x40b6d5
mov esi, edx
push ecx
push esi
call fcn.004fa253
add esp, 8
test edi, edi
je 0x40ade1
cmp dword [ebp + 0xc], 0x400000
jb 0x40ade1
mov ecx, dword [ebp + 8]
cmp dword [ebp - 0x30], 0
lea edx, [ecx + 0x1b8]
mov eax, dword [ebp - 0x10]
mov ebx, edx
cmovne ebx, dword [ebp - 0x38]
mov dword [edx], 0x3b9d13fe
test eax, eax
je 0x40add8
mov dword [eax], edx
lea eax, [ecx + 0x1bc]
mov dword [ebp - 0x10], eax
xor eax, eax
mov dword [ebp - 0x38], ebx
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x20], eax
lea eax, [ebp + 0x14]
push eax
lea eax, [ebp - 0x2c]
mov dword [ebp - 0x30], ebx
push eax
mov dword [ebp + 0x14], 0x1f
call fcn.00401190
mov edx, dword [ebp + 0x14]
mov ecx, 7
mov esi, str.VK_EXT_subgroup_size_control
mov dword [ebp - 0x18], edx
mov edi, eax
mov dword [ebp - 0x2c], eax
rep movsd dword es:[edi], dword [esi]
add esp, 8
mov dword [ebp - 0x1c], 0x1c
mov esi, eax
lea edi, [ebp - 0x2c]
cmp edx, 0xf
mov edx, 0x811c9dc5
cmova edi, esi
xor ecx, ecx
mov byte [esi + 0x1c], 0
lea ecx, [ecx]
movzx eax, byte [ecx + edi]
inc ecx
xor eax, edx
imul edx, eax, 0x1000193
cmp ecx, 0x1c
jb 0x40ae40
push edx
lea eax, [ebp - 0x2c]
push eax
lea eax, [ebp - 0x44]
push eax
lea ecx, [ebp - 0x64]
call fcn.00404870
mov edi, dword [eax + 4]
mov eax, dword [ebp + 0x14]
cmp eax, 0xf
jbe 0x40ae99
lea ecx, [eax + 1]
cmp ecx, 0x1000
jb 0x40ae8f
mov edx, dword [esi - 4]
add ecx, 0x23
sub esi, edx
lea eax, [esi - 4]
cmp eax, 0x1f
ja 0x40b6d5
mov esi, edx
push ecx
push esi
call fcn.004fa253
add esp, 8
test edi, edi
je 0x40aed1
cmp dword [ebp + 0xc], 0x400000
jb 0x40aed1
mov ecx, dword [ebp + 8]
cmp dword [ebp - 0x30], 0
lea edx, [ecx + 0xc8]
mov eax, dword [ebp - 0x10]
mov ebx, edx
cmovne ebx, dword [ebp - 0x38]
mov dword [edx], 0x3b9e38e8
test eax, eax
je 0x40aec8
mov dword [eax], edx
lea eax, [ecx + 0xcc]
mov dword [ebp - 0x10], eax
xor eax, eax
mov dword [ebp - 0x38], ebx
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x20], eax
lea eax, [ebp + 0x14]
push eax
lea eax, [ebp - 0x2c]
mov dword [ebp - 0x30], ebx
push eax
mov dword [ebp + 0x14], 0x1f
call fcn.00401190
mov ecx, 6
mov edx, dword [ebp + 0x14]
mov esi, str.VK_EXT_inline_uniform_block
mov dword [ebp - 0x18], edx
mov edi, eax
mov dword [ebp - 0x2c], eax
rep movsd dword es:[edi], dword [esi]
add esp, 8
mov dword [ebp - 0x1c], 0x1b
cmp edx, 0xf
mov edx, 0x811c9dc5
movsw word es:[edi], word [esi]
movsb byte es:[edi], byte [esi]
mov esi, eax
lea edi, [ebp - 0x2c]
cmova edi, esi
xor ecx, ecx
mov byte [esi + 0x1b], 0
movzx eax, byte [ecx + edi]
inc ecx
xor eax, edx
imul edx, eax, 0x1000193
cmp ecx, 0x1b
jb 0x40af30
push edx
lea eax, [ebp - 0x2c]
push eax
lea eax, [ebp - 0x44]
push eax
lea ecx, [ebp - 0x64]
call fcn.00404870
mov edi, dword [eax + 4]
mov eax, dword [ebp + 0x14]
cmp eax, 0xf
jbe 0x40af89
lea ecx, [eax + 1]
cmp ecx, 0x1000
jb 0x40af7f
mov edx, dword [esi - 4]
add ecx, 0x23
sub esi, edx
lea eax, [esi - 4]
cmp eax, 0x1f
ja 0x40b6d5
mov esi, edx
push ecx
push esi
call fcn.004fa253
add esp, 8
test edi, edi
je 0x40afc1
cmp dword [ebp + 0xc], 0x400000
jb 0x40afc1
mov ecx, dword [ebp + 8]
cmp dword [ebp - 0x30], 0
lea edx, [ecx + 0xe0]
mov eax, dword [ebp - 0x10]
mov ebx, edx
cmovne ebx, dword [ebp - 0x38]
mov dword [edx], 0x3b9ce511
test eax, eax
je 0x40afb8
mov dword [eax], edx
lea eax, [ecx + 0xe4]
mov dword [ebp - 0x10], eax
xor eax, eax
mov dword [ebp - 0x38], ebx
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x1c], eax
lea eax, [ebp + 0x14]
push eax
lea eax, [ebp - 0x28]
mov dword [ebp - 0x30], ebx
push eax
mov dword [ebp + 0x14], 0x1f
call fcn.00401190
mov ecx, 7
mov edx, dword [ebp + 0x14]
mov esi, str.VK_KHR_vertex_attribute_divisor
mov dword [ebp - 0x14], edx
mov edi, eax
mov dword [ebp - 0x28], eax
rep movsd dword es:[edi], dword [esi]
add esp, 8
mov dword [ebp - 0x18], 0x1f
cmp edx, 0xf
mov edx, 0x811c9dc5
movsw word es:[edi], word [esi]
movsb byte es:[edi], byte [esi]
mov esi, eax
lea edi, [ebp - 0x28]
cmova edi, esi
xor ecx, ecx
mov byte [esi + 0x1f], 0
movzx eax, byte [ecx + edi]
inc ecx
xor eax, edx
imul edx, eax, 0x1000193
cmp ecx, 0x1f
jb 0x40b020
push edx
lea eax, [ebp - 0x28]
push eax
lea eax, [ebp - 0x44]
push eax
lea ecx, [ebp - 0x64]
call fcn.00404870
mov edi, dword [eax + 4]
mov eax, dword [ebp + 0x14]
cmp eax, 0xf
jbe 0x40b079
lea ecx, [eax + 1]
cmp ecx, 0x1000
jb 0x40b06f
mov edx, dword [esi - 4]
add ecx, 0x23
sub esi, edx
lea eax, [esi - 4]
cmp eax, 0x1f
ja 0x40b6d5
mov esi, edx
push ecx
push esi
call fcn.004fa253
add esp, 8
test edi, edi
jne 0x40b110
xor eax, eax
mov dword [ebp + 0x14], 0x1f
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x1c], eax
lea eax, [ebp + 0x14]
push eax
lea eax, [ebp - 0x28]
push eax
call fcn.00401190
mov edx, eax
mov dword [ebp - 0x18], 0x1f
mov edi, edx
mov eax, dword [ebp + 0x14]
mov ecx, 7
mov dword [ebp - 0x14], eax
mov esi, str.VK_KHR_vertex_attribute_divisor
mov dword [ebp - 0x28], edx
rep movsd dword es:[edi], dword [esi]
lea eax, [ebp - 0x28]
push 0x1f
movsw word es:[edi], word [esi]
movsb byte es:[edi], byte [esi]
mov esi, dword [ebp + 0x14]
cmp esi, 0xf
mov byte [edx + 0x1f], 0
cmova eax, edx
push eax
push 0x811c9dc5
call fcn.00405aa0
add esp, 0x14
lea ecx, [ebp - 0x64]
push eax
lea eax, [ebp - 0x28]
push eax
lea eax, [ebp - 0x44]
push eax
call fcn.00404870
mov edi, dword [eax + 4]
cmp esi, 0xf
jbe 0x40b10c
push esi
push dword [ebp - 0x28]
lea eax, [ebp - 0x28]
push eax
call fcn.00405a60
add esp, 0xc
test edi, edi
je 0x40b146
cmp dword [ebp + 0xc], 0x400000
mov edi, dword [ebp + 8]
jb 0x40b149
cmp dword [ebp - 0x30], 0
lea ecx, [edi + 0xfc]
mov eax, dword [ebp - 0x10]
mov ebx, ecx
cmovne ebx, dword [ebp - 0x38]
mov dword [ecx], 0x3ba2ccc8
test eax, eax
je 0x40b13b
mov dword [eax], ecx
lea esi, [edi + 0x100]
mov dword [ebp - 0x10], esi
jmp 0x40b149
mov edi, dword [ebp + 8]
xor eax, eax
mov dword [ebp - 0x40], ebx
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x1c], eax
lea eax, [ebp + 0x14]
push eax
lea eax, [ebp - 0x28]
mov dword [ebp - 0x38], ebx
push eax
mov dword [ebp + 0x14], 0x1f
call fcn.00401190
mov edx, dword [ebp + 0x14]
lea esi, [ebp - 0x28]
mov ecx, eax
mov dword [ebp - 0x14], edx
mov eax, dword [str.VK_KHR_push_descriptor]
add esp, 8
cmp edx, 0xf
mov dword [ebp - 0x28], ecx
mov dword [ebp - 0x18], 0x16
mov edx, 0x811c9dc5
mov dword [ecx], eax
cmova esi, ecx
mov eax, dword [0x52e6b0]
mov dword [ecx + 4], eax
mov eax, dword [0x52e6b4]
mov dword [ecx + 8], eax
mov eax, dword [0x52e6b8]
mov dword [ecx + 0xc], eax
mov eax, dword [0x52e6bc]
mov dword [ecx + 0x10], eax
mov ax, word [0x52e6c0]
mov word [ecx + 0x14], ax
mov byte [ecx + 0x16], 0
xor ecx, ecx
movzx eax, byte [ecx + esi]
inc ecx
xor eax, edx
imul edx, eax, 0x1000193
cmp ecx, 0x16
jb 0x40b1c8
push edx
lea eax, [ebp - 0x28]
push eax
lea eax, [ebp - 0x34]
push eax
lea ecx, [ebp - 0x64]
call fcn.00404870
mov esi, dword [ebp - 0x10]
mov eax, dword [eax + 4]
mov dword [ebp - 0x30], eax
mov eax, dword [ebp + 0x14]
cmp eax, 0xf
jbe 0x40b22a
lea ecx, [eax + 1]
mov eax, dword [ebp - 0x28]
cmp ecx, 0x1000
jb 0x40b220
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40b6d5
mov eax, edx
push ecx
push eax
call fcn.004fa253
add esp, 8
cmp dword [ebp - 0x30], 0
je 0x40b25e
cmp dword [ebp + 0xc], 0x400000
jb 0x40b25e
cmp dword [ebp - 0x38], 0
lea eax, [edi + 0x1f0]
mov ebx, eax
mov dword [eax], 0x3b9c0280
cmovne ebx, dword [ebp - 0x40]
test esi, esi
je 0x40b255
mov dword [esi], eax
lea eax, [edi + 0x1f4]
mov dword [ebp - 0x10], eax
xor eax, eax
mov dword [ebp - 0x38], ebx
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x1c], eax
lea eax, [ebp + 0x14]
push eax
lea eax, [ebp - 0x28]
mov dword [ebp - 0x30], ebx
push eax
mov dword [ebp + 0x14], 0x1f
call fcn.00401190
mov ecx, 5
mov edx, dword [ebp + 0x14]
mov esi, str.VK_EXT_sample_locations
mov dword [ebp - 0x14], edx
mov edi, eax
mov dword [ebp - 0x28], eax
rep movsd dword es:[edi], dword [esi]
add esp, 8
mov dword [ebp - 0x18], 0x17
cmp edx, 0xf
mov edx, 0x811c9dc5
movsw word es:[edi], word [esi]
movsb byte es:[edi], byte [esi]
mov esi, eax
lea edi, [ebp - 0x28]
cmova edi, esi
xor ecx, ecx
mov byte [esi + 0x17], 0
lea ecx, [ecx]
movzx eax, byte [ecx + edi]
inc ecx
xor eax, edx
imul edx, eax, 0x1000193
cmp ecx, 0x17
jb 0x40b2c0
push edx
lea eax, [ebp - 0x28]
push eax
lea eax, [ebp - 0x44]
push eax
lea ecx, [ebp - 0x64]
call fcn.00404870
mov edi, dword [eax + 4]
mov eax, dword [ebp + 0x14]
cmp eax, 0xf
jbe 0x40b319
lea ecx, [eax + 1]
cmp ecx, 0x1000
jb 0x40b30f
mov edx, dword [esi - 4]
add ecx, 0x23
sub esi, edx
lea eax, [esi - 4]
cmp eax, 0x1f
ja 0x40b6d5
mov esi, edx
push ecx
push esi
call fcn.004fa253
add esp, 8
test edi, edi
je 0x40b351
cmp dword [ebp + 0xc], 0x400000
jb 0x40b351
mov ecx, dword [ebp + 8]
cmp dword [ebp - 0x30], 0
lea edx, [ecx + 0x1fc]
mov eax, dword [ebp - 0x10]
mov ebx, edx
cmovne ebx, dword [ebp - 0x38]
mov dword [edx], 0x3b9cf89b
test eax, eax
je 0x40b348
mov dword [eax], edx
lea eax, [ecx + 0x200]
mov dword [ebp - 0x10], eax
xor eax, eax
mov dword [ebp - 0x38], ebx
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x1c], eax
lea eax, [ebp + 0x14]
push eax
lea eax, [ebp - 0x28]
mov dword [ebp - 0x30], ebx
push eax
mov dword [ebp + 0x14], 0x1f
call fcn.00401190
mov ecx, dword [ebp + 0x14]
mov esi, str.VK_EXT_extended_dynamic_state3
mov dword [ebp - 0x14], ecx
mov edi, eax
mov ecx, 7
mov dword [ebp - 0x28], eax
rep movsd dword es:[edi], dword [esi]
add esp, 8
mov dword [ebp - 0x18], 0x1e
mov edx, 0x811c9dc5
movsw word es:[edi], word [esi]
mov edi, dword [ebp + 0x14]
lea esi, [ebp - 0x28]
cmp edi, 0xf
mov byte [eax + 0x1e], 0
cmova esi, eax
xor ecx, ecx
movzx eax, byte [esi + ecx]
inc ecx
xor eax, edx
imul edx, eax, 0x1000193
cmp ecx, 0x1e
jb 0x40b3b0
push edx
lea eax, [ebp - 0x28]
push eax
lea eax, [ebp - 0x44]
push eax
lea ecx, [ebp - 0x64]
call fcn.00404870
mov esi, dword [eax + 4]
cmp edi, 0xf
jbe 0x40b3eb
push edi
push dword [ebp - 0x28]
lea eax, [ebp - 0x28]
push eax
call fcn.00405a60
add esp, 0xc
mov edi, dword [ebp + 8]
test esi, esi
je 0x40b423
cmp dword [ebp + 0xc], 0x400000
jb 0x40b423
cmp dword [ebp - 0x30], 0
lea ecx, [edi + 0x220]
mov eax, dword [ebp - 0x10]
mov ebx, ecx
cmovne ebx, dword [ebp - 0x38]
mov dword [ecx], 0x3ba1bb59
test eax, eax
je 0x40b41a
mov dword [eax], ecx
lea esi, [edi + 0x224]
mov dword [ebp - 0x10], esi
xor eax, eax
mov dword [ebp - 0x40], ebx
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x1c], eax
lea eax, [ebp + 0x14]
push eax
lea eax, [ebp - 0x28]
mov dword [ebp - 0x38], ebx
push eax
mov dword [ebp + 0x14], 0x1f
call fcn.00401190
mov edx, dword [ebp + 0x14]
lea esi, [ebp - 0x28]
mov ecx, eax
mov dword [ebp - 0x14], edx
mov eax, dword [str.VK_EXT_mesh_shader]
add esp, 8
cmp edx, 0xf
mov dword [ebp - 0x28], ecx
mov dword [ebp - 0x18], 0x12
mov edx, 0x811c9dc5
mov dword [ecx], eax
cmova esi, ecx
mov eax, dword [0x52e230]
mov dword [ecx + 4], eax
mov eax, dword [0x52e234]
mov dword [ecx + 8], eax
mov eax, dword [0x52e238]
mov dword [ecx + 0xc], eax
mov ax, word [0x52e23c]
mov word [ecx + 0x10], ax
mov byte [ecx + 0x12], 0
xor ecx, ecx
lea ebx, [ebx]
movzx eax, byte [esi + ecx]
inc ecx
xor eax, edx
imul edx, eax, 0x1000193
cmp ecx, 0x12
jb 0x40b4a0
push edx
lea eax, [ebp - 0x28]
push eax
lea eax, [ebp - 0x34]
push eax
lea ecx, [ebp - 0x64]
call fcn.00404870
mov esi, dword [ebp - 0x10]
mov eax, dword [eax + 4]
mov dword [ebp - 0x30], eax
mov eax, dword [ebp + 0x14]
cmp eax, 0xf
jbe 0x40b4e4
push eax
push dword [ebp - 0x28]
lea eax, [ebp - 0x28]
push eax
call fcn.00405a60
add esp, 0xc
cmp dword [ebp - 0x30], 0
je 0x40b518
cmp dword [ebp + 0xc], 0x400000
jb 0x40b518
cmp dword [ebp - 0x38], 0
lea eax, [edi + 0x22c]
mov ebx, eax
mov dword [eax], 0x3b9fcb41
cmovne ebx, dword [ebp - 0x40]
test esi, esi
je 0x40b50f
mov dword [esi], eax
lea eax, [edi + 0x230]
mov dword [ebp - 0x10], eax
xor eax, eax
mov dword [ebp - 0x38], ebx
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x1c], eax
lea eax, [ebp + 0x14]
push eax
lea eax, [ebp - 0x28]
mov dword [ebp - 0x30], ebx
push eax
mov dword [ebp + 0x14], 0x1f
call fcn.00401190
mov ecx, dword [ebp + 0x14]
mov esi, str.VK_EXT_shader_module_identifier
mov dword [ebp - 0x14], ecx
mov edi, eax
mov ecx, 7
mov dword [ebp - 0x28], eax
rep movsd dword es:[edi], dword [esi]
add esp, 8
mov dword [ebp - 0x18], 0x1f
mov edx, 0x811c9dc5
movsw word es:[edi], word [esi]
movsb byte es:[edi], byte [esi]
mov edi, dword [ebp + 0x14]
lea esi, [ebp - 0x28]
cmp edi, 0xf
mov byte [eax + 0x1f], 0
cmova esi, eax
xor ecx, ecx
movzx eax, byte [esi + ecx]
inc ecx
xor eax, edx
imul edx, eax, 0x1000193
cmp ecx, 0x1f
jb 0x40b578
push edx
lea eax, [ebp - 0x28]
push eax
lea eax, [ebp - 0x44]
push eax
lea ecx, [ebp - 0x64]
call fcn.00404870
mov esi, dword [eax + 4]
cmp edi, 0xf
jbe 0x40b5b3
push edi
push dword [ebp - 0x28]
lea eax, [ebp - 0x28]
push eax
call fcn.00405a60
add esp, 0xc
test esi, esi
je 0x40b5eb
cmp dword [ebp + 0xc], 0x400000
jb 0x40b5eb
mov ecx, dword [ebp + 8]
cmp dword [ebp - 0x30], 0
lea edx, [ecx + 0x2c4]
mov eax, dword [ebp - 0x10]
mov ebx, edx
cmovne ebx, dword [ebp - 0x38]
mov dword [edx], 0x3ba1d6b1
test eax, eax
je 0x40b5e2
mov dword [eax], edx
lea eax, [ecx + 0x2c8]
mov dword [ebp - 0x10], eax
xor eax, eax
mov dword [ebp - 0x38], ebx
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x1c], eax
lea eax, [ebp + 0x14]
push eax
lea eax, [ebp - 0x28]
mov dword [ebp - 0x30], ebx
push eax
mov dword [ebp + 0x14], 0x1f
call fcn.00401190
mov ecx, 7
mov edx, dword [ebp + 0x14]
mov esi, str.VK_EXT_blend_operation_advanced
mov dword [ebp - 0x14], edx
mov edi, eax
mov dword [ebp - 0x28], eax
rep movsd dword es:[edi], dword [esi]
add esp, 8
mov dword [ebp - 0x18], 0x1f
movsw word es:[edi], word [esi]
movsb byte es:[edi], byte [esi]
mov edi, edx
mov byte [eax + 0x1f], 0
cmp edi, 0xf
lea esi, [ebp - 0x28]
mov edx, 0x811c9dc5
cmova esi, eax
xor ecx, ecx
lea ebx, [ebx]
movzx eax, byte [esi + ecx]
inc ecx
xor eax, edx
imul edx, eax, 0x1000193
cmp ecx, 0x1f
jb 0x40b650
push edx
lea eax, [ebp - 0x28]
push eax
lea eax, [ebp - 0x44]
push eax
lea ecx, [ebp - 0x64]
call fcn.00404870
mov esi, dword [eax + 4]
cmp edi, 0xf
jbe 0x40b68b
push edi
push dword [ebp - 0x28]
lea eax, [ebp - 0x28]
push eax
call fcn.00405a60
add esp, 0xc
test esi, esi
je 0x40b6ba
cmp dword [ebp + 0xc], 0x400000
jb 0x40b6ba
mov edx, dword [ebp + 8]
mov eax, dword [ebp - 0x10]
add edx, 0x2dc
cmp dword [ebp - 0x30], 0
mov ebx, edx
cmovne ebx, dword [ebp - 0x38]
mov dword [edx], 0x3b9d0c21
test eax, eax
je 0x40b6ba
mov dword [eax], edx
lea ecx, [ebp - 0x64]
call fcn.004057e0
mov ecx, dword [ebp - 0xc]
mov eax, ebx
pop edi
pop esi
pop ebx
mov dword fs:[0], ecx
mov esp, ebp
pop ebp
ret
call fcn.004ff45f
int3