Function at 0x411a90
Capabilities:
Encode data using xor
Encrypt data using speck
Hash data using fnv

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x51eaae
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x228
push ebx
push esi
xor eax, eax
mov ebx, ecx
push edi
mov edi, dword [ebp + 8]
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x54], eax
test edi, edi
je 0x411fbf
jmp 0x411ad0
mov eax, dword [edi]
cmp eax, 0x3b9e38e9
jg 0x412a3b
je 0x411fb1
cmp eax, 0x3b9cc5d1
jg 0x4123f8
je 0x4122ec
cmp eax, 0x3b9c4cb9
jg 0x411fd4
je 0x411eec
cmp eax, 0x3b9b9908
jg 0x411c91
je 0x411c09
cmp eax, 0x3b9b3762
je 0x411bf7
cmp eax, 0x3b9b75e2
jne 0x413055
cmp dword [ebx + 0x610], 0
je case.0x412fc2.1
xor esi, esi
cmp dword [edi + 0xc], esi
jbe 0x411b6c
mov eax, dword [edi + 0x10]
mov edx, dword [eax + esi*4]
test edx, edx
je 0x411b66
mov ecx, dword [ebx + 0x20]
test ecx, ecx
je 0x411b66
mov eax, dword [ecx]
push 0x80
push edx
mov eax, dword [eax + 4]
call eax
test al, al
je case.0x412fc2.1
inc esi
cmp esi, dword [edi + 0xc]
jb 0x411b40
mov edx, dword [edi + 0x14]
test edx, edx
je 0x411b8f
mov ecx, dword [ebx + 0x20]
test ecx, ecx
je 0x411b8f
mov eax, dword [ecx]
push 0x200
push edx
mov eax, dword [eax + 4]
call eax
test al, al
je case.0x412fc2.1
mov edx, dword [edi + 0x18]
test edx, edx
je 0x411bb2
mov ecx, dword [ebx + 0x20]
test ecx, ecx
je 0x411bb2
mov eax, dword [ecx]
push 0x200
push edx
mov eax, dword [eax + 4]
call eax
test al, al
je case.0x412fc2.1
mov ecx, dword [edi + 0x14]
test ecx, ecx
je 0x411bc8
mov eax, dword [edi + 0x18]
test eax, eax
je 0x411bc8
cmp ecx, eax
jne case.0x412fc2.1
mov esi, dword [edi + 8]
test esi, esi
je 0x411fb1
mov ecx, dword [ebx + 0xccc]
mov edx, 1
shl edx, cl
cmp ecx, 0x20
sbb eax, eax
and eax, edx
dec eax
and eax, esi
cmp eax, esi
jne case.0x412fc2.1
jmp 0x411fb1
cmp dword [ebx + 0x644], 0
je case.0x412fc2.1
jmp 0x411fb1
cmp dword [ebx + 0x464], 0
je case.0x412fc2.1
xor esi, esi
cmp dword [edi + 8], esi
jbe 0x411c4f
mov ecx, dword [ebx + 0xccc]
mov edx, dword [edi + 0xc]
mov edi, dword [edx]
cmp ecx, 0x20
jb 0x411c31
xor eax, eax
jmp 0x411c38
mov eax, 1
shl eax, cl
dec eax
and eax, edi
cmp eax, edi
jne case.0x412fc2.1
mov edi, dword [ebp + 8]
inc esi
add edx, 4
cmp esi, dword [edi + 8]
jb 0x411c26
xor esi, esi
cmp dword [edi + 0x18], esi
jbe 0x411fb1
mov ecx, dword [ebx + 0xccc]
mov edx, dword [edi + 0x1c]
mov edi, dword [edx]
cmp ecx, 0x20
jb 0x411c6e
xor eax, eax
jmp 0x411c75
mov eax, 1
shl eax, cl
dec eax
and eax, edi
cmp eax, edi
jne case.0x412fc2.1
mov edi, dword [ebp + 8]
inc esi
add edx, 4
cmp esi, dword [edi + 0x18]
jb 0x411c63
jmp 0x411fb1
cmp eax, 0x3b9bd3a0
jne 0x413055
xor eax, eax
mov dword [ebp - 0x14], 0x1f
mov dword [ebp - 0x88], eax
mov dword [ebp - 0x84], eax
mov dword [ebp - 0x80], eax
lea eax, [ebp - 0x14]
push eax
lea eax, [ebp - 0x8c]
push eax
call fcn.00401190
mov edx, dword [ebp - 0x14]
mov ecx, 6
mov esi, str.VK_EXT_pipeline_robustness
mov dword [ebp - 0x78], edx
mov edi, eax
mov dword [ebp - 0x8c], eax
rep movsd dword es:[edi], dword [esi]
add esp, 8
mov dword [ebp - 0x7c], 0x1a
cmp edx, 0xf
mov edx, 0x811c9dc5
movsw word es:[edi], word [esi]
mov esi, eax
lea edi, [ebp - 0x8c]
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 0x411d03
push edx
lea eax, [ebp - 0x8c]
mov ecx, ebx
push eax
lea eax, [ebp - 0x110]
push eax
call fcn.00404870
mov edi, dword [eax + 4]
mov eax, dword [ebp - 0x14]
cmp eax, 0xf
jbe 0x411d61
lea ecx, [eax + 1]
cmp ecx, 0x1000
jb 0x411d57
mov edx, dword [esi - 4]
add ecx, 0x23
sub esi, edx
lea eax, [esi - 4]
cmp eax, 0x1f
ja 0x41308f
mov esi, edx
push ecx
push esi
call fcn.004fa253
add esp, 8
mov dword [ebp - 0x7c], 0
mov dword [ebp - 0x78], 0xf
mov byte [ebp - 0x8c], 0
test edi, edi
je case.0x412fc2.1
mov edi, dword [ebp + 8]
mov eax, dword [edi + 8]
test eax, eax
jne 0x411d97
cmp dword [edi + 0x14], eax
jne 0x411d97
cmp dword [edi + 0xc], eax
jne 0x411d97
cmp dword [edi + 0x10], eax
je 0x411da4
cmp dword [ebx + 0xa44], 0
je case.0x412fc2.1
mov esi, dword [ebx + 0x20]
test esi, esi
je case.0x412fc2.1
mov ecx, dword [edi + 0x14]
cmp eax, 3
je 0x411dc7
cmp dword [edi + 0x10], 3
je 0x411dc7
cmp dword [edi + 0xc], 3
mov byte [ebp + 0xb], 0
jne 0x411dcb
mov byte [ebp + 0xb], 1
cmp ecx, 2
jne 0x411e2b
push 0xe0
lea eax, [ebp - 0x230]
mov dword [ebp - 0x234], 0x3b9bb078
push 0
push eax
call fcn.004fc310
xor eax, eax
mov dword [ebp - 0x108], 0x3b9fe698
mov dword [ebp - 0x104], eax
lea ecx, [ebp - 0x234]
mov dword [ebp - 0x100], eax
add esp, 0xc
lea eax, [ebp - 0x108]
mov dword [ebp - 0x230], eax
mov eax, dword [esi]
push ecx
mov ecx, esi
call dword [eax + 0xc]
cmp dword [ebp - 0x100], 0
jmp 0x411e80
cmp ecx, 3
jne 0x411e86
push 0xe0
lea eax, [ebp - 0x230]
mov dword [ebp - 0x234], 0x3b9bb078
push 0
push eax
call fcn.004fc310
xor eax, eax
mov dword [ebp - 0x30], 0x3b9f2730
mov dword [ebp - 0x2c], eax
lea ecx, [ebp - 0x234]
mov dword [ebp - 0x28], eax
add esp, 0xc
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x20], eax
lea eax, [ebp - 0x30]
mov dword [ebp - 0x230], eax
mov eax, dword [esi]
push ecx
mov ecx, esi
call dword [eax + 0xc]
cmp dword [ebp - 0x24], 0
je case.0x412fc2.1
cmp byte [ebp + 0xb], 0
je 0x411fb1
push 0xe0
lea eax, [ebp - 0x230]
mov dword [ebp - 0x234], 0x3b9bb078
push 0
push eax
call fcn.004fc310
mov ecx, dword [ebx + 0x20]
lea edx, [ebp - 0x234]
xor eax, eax
mov dword [ebp - 0x30], 0x3b9f2730
mov dword [ebp - 0x2c], eax
add esp, 0xc
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x20], eax
lea eax, [ebp - 0x30]
mov dword [ebp - 0x230], eax
mov eax, dword [ecx]
push edx
call dword [eax + 0xc]
cmp dword [ebp - 0x28], 0
je case.0x412fc2.1
jmp 0x411fb1
xor eax, eax
mov dword [ebp - 0x14], 0x1f
mov dword [ebp - 0xdc], eax
mov dword [ebp - 0xd8], eax
mov dword [ebp - 0xd4], eax
lea eax, [ebp - 0x14]
push eax
lea eax, [ebp - 0xe0]
push eax
call fcn.00401190
mov ecx, dword [ebp - 0x14]
mov edi, eax
mov dword [ebp - 0xcc], ecx
mov esi, str.VK_EXT_discard_rectangles
mov ecx, 6
mov dword [ebp - 0xe0], eax
rep movsd dword es:[edi], dword [esi]
add esp, 8
mov dword [ebp - 0xd0], 0x19
mov ecx, ebx
movsb byte es:[edi], byte [esi]
mov esi, eax
lea eax, [ebp - 0xe0]
push eax
mov byte [esi + 0x19], 0
call fcn.00404e00
mov edi, eax
mov eax, dword [ebp - 0x14]
cmp eax, 0xf
jbe 0x411f8b
lea ecx, [eax + 1]
cmp ecx, 0x1000
jb 0x411f81
mov edx, dword [esi - 4]
add ecx, 0x23
sub esi, edx
lea eax, [esi - 4]
cmp eax, 0x1f
ja 0x41308f
mov esi, edx
push ecx
push esi
call fcn.004fa253
add esp, 8
mov dword [ebp - 0xd0], 0
mov dword [ebp - 0xcc], 0xf
mov byte [ebp - 0xe0], 0
test edi, edi
je case.0x412fc2.1
mov edi, dword [ebp + 8]
mov edi, dword [edi + 4]
mov dword [ebp + 8], edi
test edi, edi
jne 0x411ad0
pop edi
pop esi
mov al, 1
pop ebx
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
mov esp, ebp
pop ebp
ret 4
cmp eax, 0x3b9c9309
jg 0x4121d7
je 0x4120c7
cmp eax, 0x3b9c5489
je 0x41200c
cmp eax, 0x3b9c5871
jne 0x413055
cmp dword [edi + 0xc], 0
je 0x411fb1
cmp dword [ebx + 0x650], 0
je case.0x412fc2.1
jmp 0x411fb1
xor eax, eax
mov dword [ebp - 0x14], 0x2f
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x2c], eax
mov dword [ebp - 0x28], eax
lea eax, [ebp - 0x14]
push eax
lea eax, [ebp - 0x34]
push eax
call fcn.00401190
mov edx, dword [ebp - 0x14]
mov ecx, 8
mov esi, str.VK_EXT_conservative_rasterization
mov dword [ebp - 0x20], edx
mov edi, eax
mov dword [ebp - 0x34], eax
rep movsd dword es:[edi], dword [esi]
add esp, 8
mov dword [ebp - 0x24], 0x21
cmp edx, 0xf
mov edx, 0x811c9dc5
movsb byte es:[edi], byte [esi]
mov esi, eax
lea edi, [ebp - 0x34]
cmova edi, esi
xor ecx, ecx
mov byte [esi + 0x21], 0
movzx eax, byte [ecx + edi]
inc ecx
xor eax, edx
imul edx, eax, 0x1000193
cmp ecx, 0x21
jb 0x412063
push edx
lea eax, [ebp - 0x34]
mov ecx, ebx
push eax
lea eax, [ebp - 0x118]
push eax
call fcn.00404870
mov edi, dword [eax + 4]
mov eax, dword [ebp - 0x14]
cmp eax, 0xf
jbe 0x411fa6
lea ecx, [eax + 1]
cmp ecx, 0x1000
jb 0x4120b8
mov edx, dword [esi - 4]
add ecx, 0x23
sub esi, edx
lea eax, [esi - 4]
cmp eax, 0x1f
ja 0x41308f
mov esi, edx
push ecx
push esi
call fcn.004fa253
add esp, 8
jmp 0x411fa6
xor eax, eax
mov dword [ebp - 0x14], 0x1f
mov dword [ebp - 0x4c], eax
mov dword [ebp - 0x48], eax
mov dword [ebp - 0x44], eax
lea eax, [ebp - 0x14]
push eax
lea eax, [ebp - 0x50]
push eax
call fcn.00401190
mov ecx, dword [str.VK_KHR_maintenance2]
mov esi, eax
mov edi, dword [ebp - 0x14]
add esp, 8
or dword [ebp - 0x18], 0x20
mov dword [ebp - 0x50], esi
mov dword [esi], ecx
mov ecx, dword [0x52e6fc]
mov dword [esi + 4], ecx
mov ecx, ebx
mov eax, dword [0x52e700]
mov dword [esi + 8], eax
mov eax, dword [0x52e704]
mov dword [esi + 0xc], eax
mov ax, word [0x52e708]
mov word [esi + 0x10], ax
mov al, byte [0x52e70a]
mov byte [esi + 0x12], al
lea eax, [ebp - 0x50]
push eax
mov dword [ebp - 0x40], 0x13
mov dword [ebp - 0x3c], edi
mov byte [esi + 0x13], 0
call fcn.00404e00
test eax, eax
jne 0x412152
cmp dword [ebx + 0x24], section..text
mov byte [ebp - 0xd], 1
jb 0x412156
mov byte [ebp - 0xd], 0
mov eax, dword [ebp - 0x18]
test al, 0x20
je 0x412193
and eax, 0xffffffdf
mov dword [ebp - 0x18], eax
cmp edi, 0xf
jbe 0x412193
lea ecx, [edi + 1]
cmp ecx, 0x1000
jb 0x412189
mov edx, dword [esi - 4]
add ecx, 0x23
sub esi, edx
lea eax, [esi - 4]
cmp eax, 0x1f
ja 0x41308f
mov esi, edx
push ecx
push esi
call fcn.004fa253
add esp, 8
cmp byte [ebp - 0xd], 0
jne case.0x412fc2.1
mov eax, dword [ebp + 8]
xor edi, edi
cmp dword [eax + 8], edi
jbe 0x411fae
xor esi, esi
lea ecx, [ecx]
mov eax, dword [eax + 0xc]
mov ecx, ebx
push dword [esi + eax + 8]
call fcn.00405eb0
test al, al
je case.0x412fc2.1
mov eax, dword [ebp + 8]
inc edi
add esi, 0xc
cmp edi, dword [eax + 8]
jb 0x4121b0
jmp 0x411fae
cmp eax, 0x3b9c930b
jne 0x413055
xor eax, eax
mov dword [ebp - 0x14], 0x1f
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x2c], eax
mov dword [ebp - 0x28], eax
lea eax, [ebp - 0x14]
push eax
lea eax, [ebp - 0x34]
push eax
call fcn.00401190
mov ecx, dword [str.VK_KHR_maintenance2]
lea edi, [ebp - 0x34]
mov edx, dword [ebp - 0x14]
mov esi, eax
or dword [ebp - 0x18], 1
add esp, 8
cmp edx, 0xf
mov dword [ebp - 0x20], edx
mov dword [ebp - 0x34], esi
mov edx, 0x811c9dc5
mov dword [esi], ecx
cmova edi, esi
mov ecx, dword [0x52e6fc]
mov dword [esi + 4], ecx
xor ecx, ecx
mov eax, dword [0x52e700]
mov dword [esi + 8], eax
mov eax, dword [0x52e704]
mov dword [esi + 0xc], eax
mov ax, word [0x52e708]
mov word [esi + 0x10], ax
mov al, byte [0x52e70a]
mov byte [esi + 0x12], al
mov dword [ebp - 0x24], 0x13
mov byte [esi + 0x13], 0
movzx eax, byte [edi + ecx]
inc ecx
xor eax, edx
imul edx, eax, 0x1000193
cmp ecx, 0x13
jb 0x412261
push edx
lea eax, [ebp - 0x34]
mov ecx, ebx
push eax
lea eax, [ebp - 0x120]
push eax
call fcn.00404870
cmp dword [eax + 4], 0
jne 0x412299
cmp dword [ebx + 0x24], section..text
mov byte [ebp - 0xd], 1
jb 0x41229d
mov byte [ebp - 0xd], 0
mov eax, dword [ebp - 0x18]
test al, 1
je 0x4122dd
and eax, 0xfffffffe
mov dword [ebp - 0x18], eax
mov eax, dword [ebp - 0x14]
cmp eax, 0xf
jbe 0x4122dd
lea ecx, [eax + 1]
cmp ecx, 0x1000
jb 0x4122d3
mov edx, dword [esi - 4]
add ecx, 0x23
sub esi, edx
lea eax, [esi - 4]
cmp eax, 0x1f
ja 0x41308f
mov esi, edx
push ecx
push esi
call fcn.004fa253
add esp, 8
cmp byte [ebp - 0xd], 0
jne case.0x412fc2.1
jmp 0x411fae
xor eax, eax
mov dword [ebp - 0x14], 0x1f
mov dword [ebp - 0xf8], eax
mov dword [ebp - 0xf4], eax
mov dword [ebp - 0xf0], eax
lea eax, [ebp - 0x14]
push eax
lea eax, [ebp - 0xfc]
push eax
call fcn.00401190
mov ecx, dword [ebp - 0x14]
mov edi, eax
or dword [ebp - 0x18], 0x10
mov esi, str.VK_EXT_sampler_filter_minmax
mov dword [ebp - 0xe8], ecx
add esp, 8
mov ecx, 7
mov dword [ebp - 0xfc], eax
rep movsd dword es:[edi], dword [esi]
mov esi, eax
mov dword [ebp - 0xec], 0x1c
lea eax, [ebp - 0xfc]
mov ecx, ebx
push eax
mov byte [esi + 0x1c], 0
call fcn.00404e00
test eax, eax
jne 0x412369
mov byte [ebp - 0xd], 1
cmp dword [ebx + 0xb34], eax
je 0x41236d
mov byte [ebp - 0xd], 0
mov eax, dword [ebp - 0x18]
test al, 0x10
je 0x4123c8
and eax, 0xffffffef
mov dword [ebp - 0x18], eax
mov eax, dword [ebp - 0x14]
cmp eax, 0xf
jbe 0x4123ad
lea ecx, [eax + 1]
cmp ecx, 0x1000
jb 0x4123a3
mov edx, dword [esi - 4]
add ecx, 0x23
sub esi, edx
lea eax, [esi - 4]
cmp eax, 0x1f
ja 0x41308f
mov esi, edx
push ecx
push esi
call fcn.004fa253
add esp, 8
mov dword [ebp - 0xec], 0
mov dword [ebp - 0xe8], 0xf
mov byte [ebp - 0xfc], 0
cmp byte [ebp - 0xd], 0
jne case.0x412fc2.1
mov edi, dword [ebp + 8]
mov eax, dword [edi + 8]
sub eax, 0
je 0x411fb1
sub eax, 1
je 0x411fb1
sub eax, 1
jne case.0x412fc2.1
jmp 0x411fb1
cmp eax, 0x3b9d2b61
jg 0x4125ee
je 0x4125dc
cmp eax, 0x3b9d0c22
jg 0x4125d1
je 0x4125bf
sub eax, 0x3b9cf898
je 0x412531
sub eax, 2
jne 0x413055
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x2c], eax
mov dword [ebp - 0x28], eax
lea eax, [ebp - 0x14]
push eax
lea eax, [ebp - 0x34]
mov dword [ebp - 0x14], 0x1f
push eax
call fcn.00401190
mov ecx, 5
mov edx, dword [ebp - 0x14]
mov esi, str.VK_EXT_sample_locations
mov dword [ebp - 0x20], edx
mov edi, eax
mov dword [ebp - 0x34], eax
rep movsd dword es:[edi], dword [esi]
add esp, 8
mov dword [ebp - 0x24], 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 - 0x34]
cmova edi, esi
xor ecx, ecx
mov byte [esi + 0x17], 0
movzx eax, byte [ecx + edi]
inc ecx
xor eax, edx
imul edx, eax, 0x1000193
cmp ecx, 0x17
jb 0x412485
push edx
lea eax, [ebp - 0x34]
mov ecx, ebx
push eax
lea eax, [ebp - 0x128]
push eax
call fcn.00404870
mov edi, dword [eax + 4]
mov eax, dword [ebp - 0x14]
cmp eax, 0xf
jbe 0x4124e0
lea ecx, [eax + 1]
cmp ecx, 0x1000
jb 0x4124d6
mov edx, dword [esi - 4]
add ecx, 0x23
sub esi, edx
lea eax, [esi - 4]
cmp eax, 0x1f
ja 0x41308f
mov esi, edx
push ecx
push esi
call fcn.004fa253
add esp, 8
test edi, edi
je case.0x412fc2.1
mov edi, dword [ebp + 8]
cmp dword [edi + 8], 0
je 0x411fb1
cmp dword [edi + 0x20], 0
je 0x411fb1
mov eax, dword [edi + 0x18]
cmp eax, dword [ebx + 0xd50]
ja case.0x412fc2.1
mov eax, dword [edi + 0x1c]
cmp eax, dword [ebx + 0xd54]
ja case.0x412fc2.1
mov eax, dword [ebx + 0xd4c]
test dword [edi + 0x14], eax
je case.0x412fc2.1
jmp 0x411fb1
xor eax, eax
mov dword [ebp - 0x14], 0x1f
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x2c], eax
mov dword [ebp - 0x28], eax
lea eax, [ebp - 0x14]
push eax
lea eax, [ebp - 0x34]
push eax
call fcn.00401190
mov ecx, 5
mov edx, dword [ebp - 0x14]
mov esi, str.VK_EXT_sample_locations
mov dword [ebp - 0x20], edx
mov edi, eax
mov dword [ebp - 0x34], eax
rep movsd dword es:[edi], dword [esi]
add esp, 8
mov dword [ebp - 0x24], 0x17
cmp edx, 0xf
mov edx, 0x811c9dc5
movsw word es:[edi], word [esi]
movsb byte es:[edi], byte [esi]
lea esi, [ebp - 0x34]
mov byte [eax + 0x17], 0
cmova esi, eax
xor ecx, ecx
movzx eax, byte [ecx + esi]
inc ecx
xor eax, edx
imul edx, eax, 0x1000193
cmp ecx, 0x17
jb 0x412588
push edx
lea eax, [ebp - 0x34]
mov ecx, ebx
push eax
lea eax, [ebp - 0x130]
push eax
call fcn.00404870
lea ecx, [ebp - 0x34]
mov esi, dword [eax + 4]
call fcn.00401760
test esi, esi
jmp 0x411fa8
cmp dword [ebx + 0x66c], 0
je case.0x412fc2.1
jmp 0x411fb1
cmp eax, 0x3b9d2b60
jne 0x413055
cmp dword [ebx + 0x488], 0
je case.0x412fc2.1
jmp 0x411fb1
cmp eax, 0x3b9dd359
jg 0x412a1e
je 0x412849
cmp eax, 0x3b9d3ee8
je 0x4127f4
cmp eax, 0x3b9db031
jne 0x413055
xor eax, eax
mov dword [ebp - 0x14], 0x1f
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x2c], eax
mov dword [ebp - 0x28], eax
lea eax, [ebp - 0x14]
push eax
lea eax, [ebp - 0x34]
push eax
call fcn.00401190
mov ecx, 7
mov edx, dword [ebp - 0x14]
mov esi, str.VK_EXT_vertex_attribute_divisor
mov dword [ebp - 0x34], eax
mov edi, eax
mov dword [ebp - 0x24], 0x1f
rep movsd dword es:[edi], dword [esi]
add esp, 8
mov dword [ebp - 0x20], edx
movsw word es:[edi], word [esi]
movsb byte es:[edi], byte [esi]
mov byte [eax + 0x1f], 0
mov ecx, dword [ebp - 0x18]
lea esi, [ebp - 0x34]
or ecx, 2
mov dword [ebp - 4], 0
cmp edx, 0xf
mov dword [ebp - 0x18], ecx
mov dword [ebp - 0x54], ecx
mov edx, 0x811c9dc5
cmova esi, eax
xor ecx, ecx
nop
movzx eax, byte [ecx + esi]
inc ecx
xor eax, edx
imul edx, eax, 0x1000193
cmp ecx, 0x1f
jb 0x412680
push edx
lea eax, [ebp - 0x34]
mov ecx, ebx
push eax
lea eax, [ebp - 0x138]
push eax
call fcn.00404870
cmp dword [eax + 4], 0
jne 0x412709
xor eax, eax
mov dword [ebp - 0x38], 0x1f
mov dword [ebp - 0x4c], eax
mov dword [ebp - 0x48], eax
mov dword [ebp - 0x44], eax
lea eax, [ebp - 0x38]
push eax
lea eax, [ebp - 0x50]
push eax
call fcn.00401190
mov ecx, dword [ebp - 0x38]
mov edi, eax
mov dword [ebp - 0x3c], ecx
mov esi, str.VK_KHR_vertex_attribute_divisor
mov ecx, 7
or dword [ebp - 0x18], 4
rep movsd dword es:[edi], dword [esi]
add esp, 8
mov dword [ebp - 0x50], eax
mov ecx, ebx
mov dword [ebp - 0x40], 0x1f
movsw word es:[edi], word [esi]
movsb byte es:[edi], byte [esi]
mov byte [eax + 0x1f], 0
lea eax, [ebp - 0x50]
push eax
call fcn.00404e00
mov byte [ebp - 0xd], 1
test eax, eax
je 0x41270d
mov byte [ebp - 0xd], 0
mov eax, dword [ebp - 0x18]
test al, 4
je 0x412725
and eax, 0xfffffffb
lea ecx, [ebp - 0x50]
mov dword [ebp - 0x18], eax
call fcn.00401760
mov eax, dword [ebp - 0x18]
mov dword [ebp - 4], 0xffffffff
test al, 2
je 0x41276c
and eax, 0xfffffffd
mov dword [ebp - 0x18], eax
mov eax, dword [ebp - 0x14]
cmp eax, 0xf
jbe 0x41276c
lea ecx, [eax + 1]
mov eax, dword [ebp - 0x34]
cmp ecx, 0x1000
jb 0x412762
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x41308f
mov eax, edx
push ecx
push eax
call fcn.004fa253
add esp, 8
cmp byte [ebp - 0xd], 0
jne case.0x412fc2.1
mov esi, dword [ebp + 8]
xor dl, dl
xor al, al
mov byte [ebp - 0x19], dl
xor ecx, ecx
mov byte [ebp - 0xd], al
xor edi, edi
mov esi, dword [esi + 8]
test esi, esi
je 0x4127c3
mov eax, dword [ebp + 8]
mov edx, dword [eax + 0xc]
add edx, 4
mov eax, dword [edx]
cmp eax, 1
je 0x4127ae
mov byte [ebp - 0xd], 1
test eax, eax
jne 0x4127ae
mov byte [ebp - 0x19], 1
mov byte [ebp - 0xd], 1
cmp ecx, eax
cmovb ecx, eax
add edx, 8
mov edi, ecx
sub esi, 1
jne 0x412797
mov al, byte [ebp - 0xd]
mov dl, byte [ebp - 0x19]
cmp edi, dword [ebx + 0xc4c]
ja case.0x412fc2.1
test dl, dl
je 0x4127e0
cmp dword [ebx + 0x67c], 0
je case.0x412fc2.1
test al, al
je 0x411fae
cmp dword [ebx + 0x678], 0
jmp 0x411fa8
mov edx, dword [edi + 8]
xor eax, eax
test edx, edx
je 0x411fb1
mov ecx, dword [edi + 0xc]
or eax, dword [ecx]
lea ecx, [ecx + 4]
sub edx, 1
jne 0x412804
test al, 2
je 0x41281e
cmp dword [ebx + 0x514], edx
je case.0x412fc2.1
test al, 4
je 0x41282f
cmp dword [ebx + 0x518], 0
je case.0x412fc2.1
test al, 8
je 0x411fb1
cmp dword [ebx + 0x51c], 0
je case.0x412fc2.1
jmp 0x411fb1
cmp dword [ebx + 0x24], fcn.00402000
jae 0x41290a
xor eax, eax
mov dword [ebp - 0x38], 0x1f
mov dword [ebp - 0xc0], eax
mov dword [ebp - 0xbc], eax
mov dword [ebp - 0xb8], eax
lea eax, [ebp - 0x38]
push eax
lea eax, [ebp - 0xc4]
push eax
call fcn.00401190
mov edx, dword [ebp - 0x38]
mov ecx, 7
or dword [ebp - 0x18], 8
mov esi, str.VK_KHR_depth_stencil_resolve
mov edi, eax
mov dword [ebp - 0x38], edx
rep movsd dword es:[edi], dword [esi]
add esp, 8
mov dword [ebp - 0xb0], edx
cmp edx, 0xf
mov dword [ebp - 0x14], eax
lea esi, [ebp - 0xc4]
mov dword [ebp - 0xc4], eax
cmova esi, eax
mov dword [ebp - 0xb4], 0x1c
mov byte [eax + 0x1c], 0
mov edx, 0x811c9dc5
xor ecx, ecx
lea esp, [esp]
movzx eax, byte [ecx + esi]
inc ecx
xor eax, edx
imul edx, eax, 0x1000193
cmp ecx, 0x1c
jb 0x4128d0
push edx
lea eax, [ebp - 0xc4]
mov ecx, ebx
push eax
lea eax, [ebp - 0x140]
push eax
call fcn.00404870
mov edx, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x38]
cmp dword [eax + 4], 0
jne 0x412916
mov byte [ebp - 0x19], 1
jmp 0x41291a
mov ecx, dword [ebp - 0xb0]
mov edx, dword [ebp - 0xc4]
mov byte [ebp - 0x19], 0
mov eax, dword [ebp - 0x18]
test al, 8
je 0x412970
and eax, 0xfffffff7
mov dword [ebp - 0x18], eax
cmp ecx, 0xf
jbe 0x412955
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x41294b
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x41308f
push ecx
push edx
call fcn.004fa253
add esp, 8
mov dword [ebp - 0xb4], 0
mov dword [ebp - 0xb0], 0xf
mov byte [ebp - 0xc4], 0
cmp byte [ebp - 0x19], 0
jne case.0x412fc2.1
mov edi, dword [ebp + 8]
mov esi, dword [edi + 0x10]
test esi, esi
je 0x411fb1
push dword [esi + 4]
mov ecx, ebx
call fcn.00411a90
test al, al
je case.0x412fc2.1
push dword [esi + 0xc]
mov ecx, ebx
call fcn.0040ebf0
test al, al
je case.0x412fc2.1
push dword [esi + 0x10]
mov ecx, ebx
call fcn.00405eb0
test al, al
je case.0x412fc2.1
mov ecx, dword [edi + 8]
test ecx, ecx
je 0x4129d1
test dword [ebx + 0xcb4], ecx
je case.0x412fc2.1
mov eax, dword [edi + 0xc]
test eax, eax
je 0x4129e4
test dword [ebx + 0xcb8], eax
je case.0x412fc2.1
cmp ecx, eax
je 0x412a06
test ecx, ecx
je 0x4129f8
test eax, eax
je 0x4129f8
mov eax, dword [ebx + 0xcc0]
jmp 0x4129fe
mov eax, dword [ebx + 0xcbc]
test eax, eax
je case.0x412fc2.1
cmp ecx, 0x10
je case.0x412fc2.1
cmp dword [edi + 0xc], 0x10
je case.0x412fc2.1
jmp 0x411fb1
cmp eax, 0x3b9e1d92
jne 0x413055
cmp dword [ebx + 0x6a8], 0
je case.0x412fc2.1
jmp 0x411fb1
cmp eax, 0x3b9f9490
jg 0x412f4f
je 0x412f3d
cmp eax, 0x3b9eaa31
jg 0x412c57
je 0x412ba7
cmp eax, 0x3b9e7769
jg 0x412b66
je 0x412b42
sub eax, 0x3b9e3cd0
je 0x412a8f
sub eax, 1
jne 0x413055
cmp dword [ebx + 0x588], eax
je case.0x412fc2.1
jmp 0x411fb1
cmp dword [ebx + 0x590], 0
je case.0x412fc2.1
mov esi, dword [edi + 8]
test esi, esi
je 0x411fb1
push dword [esi + 4]
mov ecx, ebx
call fcn.00411a90
test al, al
je case.0x412fc2.1
push dword [esi + 0xc]
mov ecx, ebx
call fcn.0040ebf0
test al, al
je case.0x412fc2.1
push dword [esi + 0x10]
mov ecx, ebx
call fcn.00405eb0
test al, al
je case.0x412fc2.1
mov ecx, dword [edi + 0xc]
mov edx, dword [edi + 0x10]
test ecx, ecx
je case.0x412fc2.1
test edx, edx
je case.0x412fc2.1
cmp ecx, dword [ebx + 0xc5c]
jb case.0x412fc2.1
cmp ecx, dword [ebx + 0xc64]
ja case.0x412fc2.1
cmp edx, dword [ebx + 0xc60]
jb case.0x412fc2.1
cmp edx, dword [ebx + 0xc68]
ja case.0x412fc2.1
cmp ecx, edx
mov eax, ecx
cmovb eax, edx
cmova ecx, edx
xor edx, edx
div ecx
cmp eax, dword [ebx + 0xc6c]
ja case.0x412fc2.1
jmp 0x411fb1
cmp dword [ebx + 0x558], 0
je case.0x412fc2.1
push dword [edi + 8]
mov ecx, ebx
call fcn.0040ebf0
test al, al
je case.0x412fc2.1
jmp 0x411fb1
cmp eax, 0x3b9e776a
jne 0x413055
cmp dword [ebx + 0x558], 0
je case.0x412fc2.1
push dword [edi + 8]
mov ecx, ebx
call fcn.0040ebf0
test al, al
je case.0x412fc2.1
push dword [edi + 0xc]
mov ecx, ebx
call fcn.0040ebf0
test al, al
je case.0x412fc2.1
jmp 0x411fb1
xor eax, eax
mov dword [ebp - 0x14], 0x1f
mov dword [ebp - 0x4c], eax
mov dword [ebp - 0x48], eax
mov dword [ebp - 0x44], eax
lea eax, [ebp - 0x14]
push eax
lea eax, [ebp - 0x50]
push eax
call fcn.00401190
mov ecx, dword [ebp - 0x14]
mov edi, eax
mov dword [ebp - 0x3c], ecx
mov esi, str.VK_EXT_provoking_vertex
mov ecx, 5
mov dword [ebp - 0x50], eax
rep movsd dword es:[edi], dword [esi]
add esp, 8
mov dword [ebp - 0x40], 0x17
mov ecx, ebx
movsw word es:[edi], word [esi]
movsb byte es:[edi], byte [esi]
mov esi, eax
lea eax, [ebp - 0x50]
push eax
mov byte [esi + 0x17], 0
call fcn.00404e00
mov edi, eax
mov eax, dword [ebp - 0x14]
cmp eax, 0xf
jbe 0x412c30
lea ecx, [eax + 1]
cmp ecx, 0x1000
jb 0x412c26
mov edx, dword [esi - 4]
add ecx, 0x23
sub esi, edx
lea eax, [esi - 4]
cmp eax, 0x1f
ja 0x41308f
mov esi, edx
push ecx
push esi
call fcn.004fa253
add esp, 8
test edi, edi
je case.0x412fc2.1
mov edi, dword [ebp + 8]
cmp dword [edi + 8], 1
jne 0x411fb1
cmp dword [ebx + 0x83c], 0
je case.0x412fc2.1
jmp 0x411fb1
cmp eax, 0x3b9f2b18
jg 0x412f20
je 0x412e0a
cmp eax, 0x3b9ebdb9
je 0x412d82
cmp eax, 0x3b9f1b7a
jne 0x413055
xor eax, eax
mov dword [ebp - 0x14], 0x1f
mov dword [ebp - 0x6c], eax
mov dword [ebp - 0x68], eax
mov dword [ebp - 0x64], eax
lea eax, [ebp - 0x14]
push eax
lea eax, [ebp - 0x70]
push eax
call fcn.00401190
mov edx, dword [ebp - 0x14]
mov ecx, 6
mov esi, str.VK_EXT_depth_bias_control
mov dword [ebp - 0x5c], edx
mov edi, eax
mov dword [ebp - 0x70], eax
rep movsd dword es:[edi], dword [esi]
add esp, 8
mov dword [ebp - 0x60], 0x19
cmp edx, 0xf
mov edx, 0x811c9dc5
movsb byte es:[edi], byte [esi]
mov esi, eax
lea edi, [ebp - 0x70]
cmova edi, esi
xor ecx, ecx
mov byte [esi + 0x19], 0
movzx eax, byte [edi + ecx]
inc ecx
xor eax, edx
imul edx, eax, 0x1000193
cmp ecx, 0x19
jb 0x412cd5
push edx
lea eax, [ebp - 0x70]
mov ecx, ebx
push eax
lea eax, [ebp - 0x148]
push eax
call fcn.00404870
mov edi, dword [eax + 4]
mov eax, dword [ebp - 0x14]
cmp eax, 0xf
jbe 0x412d30
lea ecx, [eax + 1]
cmp ecx, 0x1000
jb 0x412d26
mov edx, dword [esi - 4]
add ecx, 0x23
sub esi, edx
lea eax, [esi - 4]
cmp eax, 0x1f
ja 0x41308f
mov esi, edx
push ecx
push esi
call fcn.004fa253
add esp, 8
mov dword [ebp - 0x60], 0
mov dword [ebp - 0x5c], 0xf
mov byte [ebp - 0x70], 0
test edi, edi
je case.0x412fc2.1
mov edi, dword [ebp + 8]
mov eax, dword [edi + 8]
cmp eax, 1
jne 0x412d67
cmp dword [ebx + 0xb20], 0
je case.0x412fc2.1
jmp 0x411fb1
cmp eax, 2
jne 0x411fb1
cmp dword [ebx + 0xb24], 0
je case.0x412fc2.1
jmp 0x411fb1
mov eax, dword [edi + 8]
cmp eax, 1
jne 0x412d97
cmp dword [ebx + 0x6d0], 0
je case.0x412fc2.1
cmp eax, 2
jne 0x412da5
cmp dword [ebx + 0x6d4], 0
jmp 0x412db1
cmp eax, 3
jne 0x412db7
cmp dword [ebx + 0x6d8], 0
je case.0x412fc2.1
cmp dword [edi + 0xc], 1
jne 0x411fb1
cmp eax, 1
jne 0x412dd8
cmp dword [ebx + 0x6dc], 0
je case.0x412fc2.1
jmp 0x411fb1
cmp eax, 2
jne 0x412def
cmp dword [ebx + 0x6e0], 0
je case.0x412fc2.1
jmp 0x411fb1
cmp eax, 3
jne 0x411fb1
cmp dword [ebx + 0x6e4], 0
je case.0x412fc2.1
jmp 0x411fb1
xor eax, eax
mov dword [ebp - 0x14], 0x1f
mov dword [ebp - 0xa4], eax
mov dword [ebp - 0xa0], eax
mov dword [ebp - 0x9c], eax
lea eax, [ebp - 0x14]
push eax
lea eax, [ebp - 0xa8]
push eax
call fcn.00401190
mov edx, dword [ebp - 0x14]
mov ecx, 6
mov esi, str.VK_EXT_custom_border_color
mov dword [ebp - 0x94], edx
mov edi, eax
mov dword [ebp - 0xa8], eax
rep movsd dword es:[edi], dword [esi]
add esp, 8
mov dword [ebp - 0x98], 0x1a
cmp edx, 0xf
mov edx, 0x811c9dc5
movsw word es:[edi], word [esi]
mov esi, eax
lea edi, [ebp - 0xa8]
cmova edi, esi
xor ecx, ecx
mov byte [esi + 0x1a], 0
lea ebx, [ebx]
movzx eax, byte [ecx + edi]
inc ecx
xor eax, edx
imul edx, eax, 0x1000193
cmp ecx, 0x1a
jb 0x412e80
push edx
lea eax, [ebp - 0xa8]
mov ecx, ebx
push eax
lea eax, [ebp - 0x150]
push eax
call fcn.00404870
mov edi, dword [eax + 4]
mov eax, dword [ebp - 0x14]
cmp eax, 0xf
jbe 0x412ede
lea ecx, [eax + 1]
cmp ecx, 0x1000
jb 0x412ed4
mov edx, dword [esi - 4]
add ecx, 0x23
sub esi, edx
lea eax, [esi - 4]
cmp eax, 0x1f
ja 0x41308f
mov esi, edx
push ecx
push esi
call fcn.004fa253
add esp, 8
mov dword [ebp - 0x98], 0
mov dword [ebp - 0x94], 0xf
mov byte [ebp - 0xa8], 0
test edi, edi
je case.0x412fc2.1
mov edi, dword [ebp + 8]
cmp dword [edi + 0x18], 0
jne 0x411fb1
cmp dword [ebx + 0x850], 0
je case.0x412fc2.1
jmp 0x411fb1
cmp eax, 0x3b9f36d0
jne 0x413055
cmp dword [ebx + 0x8e8], 0
je case.0x412fc2.1
jmp 0x411fb1
cmp dword [ebx + 0x604], 0
je case.0x412fc2.1
jmp 0x411fb1
cmp eax, 0x3ba09a49
jg 0x413016
je 0x413008
cmp eax, 0x3ba034b9
jg 0x412ff3
je 0x412fe1
cmp eax, 0x3b9fac02
je 0x412f2b
cmp eax, 0x3ba0251a
jne 0x413055
cmp dword [ebx + 0x8bc], 0
je case.0x412fc2.1
mov ecx, dword [ebp + 8]
xor edi, edi
mov eax, dword [ecx + 8]
mov dword [ebp - 0x54], eax
test eax, eax
je 0x411fae
mov edx, dword [ecx + 0xc]
xor esi, esi
cmp dword [edx], esi
jbe 0x412fd4
mov ecx, dword [edx + 4]
jmp 0x412fb0
mov eax, dword [ecx]
cmp eax, 7
ja case.0x412fc2.1
movzx eax, byte [eax + 0x41309c]
jmp dword [eax*4 + 0x413094]
inc esi
add ecx, 4
cmp esi, dword [edx]
jb 0x412fb0
mov eax, dword [ebp - 0x54]
inc edi
add edx, 8
cmp edi, eax
jb 0x412fa2
jmp 0x411fae
cmp dword [ebx + 0x908], 0
je case.0x412fc2.1
jmp 0x411fb1
cmp eax, 0x3ba086c2
jne 0x413055
cmp dword [ebx + 0xb10], 0
je case.0x412fc2.1
jmp 0x411fb1
cmp dword [ebx + 0x7b0], 0
je case.0x412fc2.1
jmp 0x411fb1
cmp eax, 0x3ba10f79
je 0x413047
cmp eax, 0x3ba1c711
je 0x413039
cmp eax, 0x3ba1f5f5
jne 0x413055
cmp dword [ebx + 0x628], 0
je case.0x412fc2.1
jmp 0x411fb1
cmp dword [ebx + 0xaf4], 0
je case.0x412fc2.1
jmp 0x411fb1
cmp dword [ebx + 0xb00], 0
je case.0x412fc2.1
jmp 0x411fb1
mov esi, dword [edi]
push 2
call fcn.00503303
push esi
push str.Fossilize_ERROR:_Unrecognized_pNext_sType:__u._Treating_as_unsupported._n
push eax
call fcn.00401d30
push 2
call fcn.00503303
push eax
call fcn.005036c0
add esp, 0x18
mov ecx, dword [ebp - 0xc]
xor al, al
pop edi
pop esi
pop ebx
mov dword fs:[0], ecx
mov esp, ebp
pop ebp
ret 4
call fcn.004ff45f
leave
das
inc ecx
add byte [edx + 0x30], bh
inc ecx
add byte [eax], al
add dword [eax], eax
add byte [eax], al
add byte [eax], al
add ah, cl
int3