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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x154
push ebx
mov ebx, dword [ebp + 8]
mov dword [ebp - 0xc], 0
push esi
push edi
mov edi, ecx
mov dword [ebp - 0x10], edi
test ebx, ebx
je 0x40ed30
jmp 0x40eac0
mov esi, dword [ebx]
cmp esi, 0x3b9dd359
jg 0x40f6f5
je 0x40f56d
cmp esi, 0x3b9c930b
jg 0x40f151
je 0x40f04b
cmp esi, 0x3b9c4cb9
jg 0x40ee1b
je 0x40ed4a
cmp esi, 0x3b9b3762
je 0x40ed3b
cmp esi, 0x3b9b75e2
je 0x40ebae
cmp esi, 0x3b9b9908
jne 0x41022d
cmp dword [edi + 0x464], 0
je case.0x410012.1
mov ebx, dword [ebx + 8]
xor esi, esi
test ebx, ebx
je 0x40eb68
mov ecx, dword [edi + 0xae8]
mov edi, dword [ebp + 8]
mov edx, dword [edi + 0xc]
mov edi, edi
mov edi, dword [edx]
cmp ecx, 0x20
jb 0x40eb4b
xor eax, eax
jmp 0x40eb52
mov eax, 1
shl eax, cl
dec eax
and eax, edi
cmp eax, edi
jne case.0x410012.1
inc esi
add edx, 4
cmp esi, ebx
jb 0x40eb40
mov edi, dword [ebp - 0x10]
mov ebx, dword [ebp + 8]
xor esi, esi
mov ebx, dword [ebx + 0x18]
test ebx, ebx
je 0x40ed1f
mov eax, dword [ebp + 8]
mov ecx, dword [edi + 0xae8]
mov edx, dword [eax + 0x1c]
mov edi, dword [edx]
cmp ecx, 0x20
jb 0x40eb8f
xor eax, eax
jmp 0x40eb96
mov eax, 1
shl eax, cl
dec eax
and eax, edi
cmp eax, edi
jne case.0x410012.1
inc esi
add edx, 4
cmp esi, ebx
jb 0x40eb84
jmp 0x40ed1c
xor eax, eax
mov dword [ebp - 4], 0x1f
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x1c], eax
lea eax, [ebp - 4]
push eax
lea eax, [ebp - 0x28]
push eax
call fcn.00401190
mov ecx, dword [str.VK_KHR_dynamic_rendering]
mov esi, eax
mov ebx, dword [ebp - 0x10]
add esp, 8
mov edi, dword [ebp - 4]
or dword [ebp - 0xc], 0x20
mov dword [esi], ecx
mov ecx, dword [0x51cd8c]
mov dword [esi + 4], ecx
mov ecx, ebx
mov eax, dword [0x51cd90]
mov dword [esi + 8], eax
mov eax, dword [0x51cd94]
mov dword [esi + 0xc], eax
mov eax, dword [0x51cd98]
mov dword [esi + 0x10], eax
mov eax, dword [0x51cd9c]
mov dword [esi + 0x14], eax
lea eax, [ebp - 0x28]
push eax
mov dword [ebp - 0x28], esi
mov dword [ebp - 0x18], 0x18
mov dword [ebp - 0x14], edi
mov byte [esi + 0x18], 0
call fcn.00404e30
test eax, eax
je 0x40ec3a
cmp dword [ebx + 0x610], 0
je 0x40ec3a
xor bl, bl
jmp 0x40ec3c
mov bl, 1
and dword [ebp - 0xc], 0xffffffdf
cmp edi, 0xf
jbe 0x40ec53
push edi
lea eax, [ebp - 0x28]
push esi
push eax
call fcn.00405a90
add esp, 0xc
test bl, bl
jne case.0x410012.1
mov ebx, dword [ebp + 8]
xor esi, esi
cmp dword [ebx + 0xc], esi
jbe 0x40ec94
mov edi, dword [ebp - 0x10]
mov eax, dword [ebx + 0x10]
mov edx, dword [eax + esi*4]
test edx, edx
je 0x40ec8e
mov ecx, dword [edi + 0x20]
test ecx, ecx
je 0x40ec8e
mov eax, dword [ecx]
push 0x80
push edx
mov eax, dword [eax + 4]
call eax
test al, al
je case.0x410012.1
inc esi
cmp esi, dword [ebx + 0xc]
jb 0x40ec68
mov edx, dword [ebx + 0x14]
mov ebx, dword [ebp - 0x10]
test edx, edx
je 0x40ecba
mov ecx, dword [ebx + 0x20]
test ecx, ecx
je 0x40ecba
mov eax, dword [ecx]
push 0x200
push edx
mov eax, dword [eax + 4]
call eax
test al, al
je case.0x410012.1
mov esi, dword [ebp + 8]
mov edx, dword [esi + 0x18]
test edx, edx
je 0x40ece0
mov ecx, dword [ebx + 0x20]
test ecx, ecx
je 0x40ece0
mov eax, dword [ecx]
push 0x200
push edx
mov eax, dword [eax + 4]
call eax
test al, al
je case.0x410012.1
mov ecx, dword [esi + 0x14]
test ecx, ecx
je 0x40ecf6
mov eax, dword [esi + 0x18]
test eax, eax
je 0x40ecf6
cmp ecx, eax
jne case.0x410012.1
mov esi, dword [esi + 8]
test esi, esi
je 0x40ed1c
mov ecx, dword [ebx + 0xae8]
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.0x410012.1
mov edi, dword [ebp - 0x10]
mov ebx, dword [ebp + 8]
mov ebx, dword [ebx + 4]
mov dword [ebp + 8], ebx
test ebx, ebx
jne 0x40eac0
pop edi
pop esi
mov al, 1
pop ebx
mov esp, ebp
pop ebp
ret 4
cmp dword [edi + 0x638], 0
je case.0x410012.1
jmp 0x40ed22
xor eax, eax
mov dword [ebp - 4], 0x1f
mov dword [ebp - 0x60], eax
mov dword [ebp - 0x5c], eax
mov dword [ebp - 0x58], eax
lea eax, [ebp - 4]
push eax
lea eax, [ebp - 0x64]
push eax
call fcn.00401190
mov ebx, eax
mov dword [ebp - 0x54], 0x19
mov eax, dword [ebp - 4]
mov ecx, 6
mov esi, str.VK_EXT_discard_rectangles
mov dword [ebp - 0x64], ebx
mov edi, ebx
mov dword [ebp - 0x50], eax
rep movsd dword es:[edi], dword [esi]
add esp, 8
mov edx, 0x811c9dc5
movsb byte es:[edi], byte [esi]
mov edi, eax
mov byte [ebx + 0x19], 0
cmp edi, 0xf
lea esi, [ebp - 0x64]
cmova esi, ebx
xor ecx, ecx
movzx eax, byte [esi + ecx]
inc ecx
xor eax, edx
imul edx, eax, 0x1000193
cmp ecx, 0x19
jb 0x40eda3
mov ecx, dword [ebp - 0x10]
lea eax, [ebp - 0x64]
push edx
push eax
lea eax, [ebp - 0x114]
push eax
call fcn.004048a0
mov esi, dword [eax + 4]
cmp edi, 0xf
jbe 0x40edfc
lea ecx, [edi + 1]
cmp ecx, 0x1000
jb 0x40edf2
mov edx, dword [ebx - 4]
add ecx, 0x23
sub ebx, edx
lea eax, [ebx - 4]
cmp eax, 0x1f
ja 0x41025b
mov ebx, edx
push ecx
push ebx
call fcn.004e9693
add esp, 8
mov dword [ebp - 0x54], 0
mov dword [ebp - 0x50], 0xf
mov byte [ebp - 0x64], 0
test esi, esi
je case.0x410012.1
jmp 0x40ed1c
cmp esi, 0x3b9c5489
je 0x40ef8c
cmp esi, 0x3b9c5871
je 0x40eed8
cmp esi, 0x3b9c9309
jne 0x41022d
xor eax, eax
mov dword [ebp - 4], 0x1f
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x1c], eax
lea eax, [ebp - 4]
push eax
lea eax, [ebp - 0x28]
push eax
call fcn.00401190
mov ecx, dword [str.VK_KHR_maintenance2]
mov esi, eax
mov edi, dword [ebp - 4]
add esp, 8
mov dword [ebp - 0x28], esi
mov dword [ebp - 0x18], 0x13
mov dword [esi], ecx
mov ecx, dword [0x51d2b8]
mov dword [esi + 4], ecx
mov eax, dword [0x51d2bc]
mov ecx, dword [ebp - 0x10]
mov dword [esi + 8], eax
mov eax, dword [0x51d2c0]
mov dword [esi + 0xc], eax
mov ax, word [0x51d2c4]
mov word [esi + 0x10], ax
mov al, byte [0x51d2c6]
mov byte [esi + 0x12], al
lea eax, [ebp - 0x28]
push eax
mov dword [ebp - 0x14], edi
mov byte [esi + 0x13], 0
call fcn.00404e30
mov ebx, eax
cmp edi, 0xf
jbe 0x40eecb
push edi
lea eax, [ebp - 0x28]
push esi
push eax
call fcn.00405a90
add esp, 0xc
test ebx, ebx
je case.0x410012.1
jmp 0x40ed1c
xor eax, eax
mov dword [ebp - 4], 0x1f
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x1c], eax
lea eax, [ebp - 4]
push eax
lea eax, [ebp - 0x28]
push eax
call fcn.00401190
mov ecx, dword [str.VK_EXT_depth_clip_enable]
mov esi, eax
mov edi, dword [ebp - 4]
add esp, 8
mov dword [ebp - 0x28], esi
mov dword [ebp - 0x18], 0x18
mov dword [esi], ecx
mov ecx, dword [0x51cdc4]
mov dword [esi + 4], ecx
mov eax, dword [0x51cdc8]
mov ecx, dword [ebp - 0x10]
mov dword [esi + 8], eax
mov eax, dword [0x51cdcc]
mov dword [esi + 0xc], eax
mov eax, dword [0x51cdd0]
mov dword [esi + 0x10], eax
mov eax, dword [0x51cdd4]
mov dword [esi + 0x14], eax
lea eax, [ebp - 0x28]
push eax
mov dword [ebp - 0x14], edi
mov byte [esi + 0x18], 0
call fcn.00404e30
mov ebx, eax
cmp edi, 0xf
jbe 0x40ef62
push edi
lea eax, [ebp - 0x28]
push esi
push eax
call fcn.00405a90
add esp, 0xc
test ebx, ebx
je case.0x410012.1
mov edi, dword [ebp + 8]
cmp dword [edi + 0xc], 0
mov edi, dword [ebp - 0x10]
je 0x40ed1f
cmp dword [edi + 0x644], 0
je case.0x410012.1
jmp 0x40ed1f
xor eax, eax
mov dword [ebp - 4], 0x2f
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x1c], eax
lea eax, [ebp - 4]
push eax
lea eax, [ebp - 0x28]
push eax
call fcn.00401190
mov ebx, eax
mov dword [ebp - 0x18], 0x21
mov eax, dword [ebp - 4]
mov ecx, 8
mov esi, str.VK_EXT_conservative_rasterization
mov dword [ebp - 0x28], ebx
mov edi, ebx
mov dword [ebp - 0x14], eax
rep movsd dword es:[edi], dword [esi]
add esp, 8
mov edx, 0x811c9dc5
movsb byte es:[edi], byte [esi]
mov edi, eax
mov byte [ebx + 0x21], 0
cmp edi, 0xf
lea esi, [ebp - 0x28]
cmova esi, ebx
xor ecx, ecx
movzx eax, byte [esi + ecx]
inc ecx
xor eax, edx
imul edx, eax, 0x1000193
cmp ecx, 0x21
jb 0x40efe5
mov ecx, dword [ebp - 0x10]
lea eax, [ebp - 0x28]
push edx
push eax
lea eax, [ebp - 0x11c]
push eax
call fcn.004048a0
mov esi, dword [eax + 4]
cmp edi, 0xf
jbe 0x40f03e
lea ecx, [edi + 1]
cmp ecx, 0x1000
jb 0x40f034
mov edx, dword [ebx - 4]
add ecx, 0x23
sub ebx, edx
lea eax, [ebx - 4]
cmp eax, 0x1f
ja 0x41025b
mov ebx, edx
push ecx
push ebx
call fcn.004e9693
add esp, 8
test esi, esi
je case.0x410012.1
jmp 0x40ed1c
xor eax, eax
mov dword [ebp - 4], 0x1f
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x1c], eax
lea eax, [ebp - 4]
push eax
lea eax, [ebp - 0x28]
push eax
call fcn.00401190
mov ecx, dword [str.VK_KHR_maintenance2]
lea edi, [ebp - 0x28]
mov edx, dword [ebp - 4]
mov esi, eax
or dword [ebp - 0xc], 1
add esp, 8
cmp edx, 0xf
mov dword [ebp - 0x14], edx
mov dword [ebp - 0x28], esi
mov edx, 0x811c9dc5
mov dword [esi], ecx
cmova edi, esi
mov ecx, dword [0x51d2b8]
mov dword [esi + 4], ecx
xor ecx, ecx
mov eax, dword [0x51d2bc]
mov dword [esi + 8], eax
mov eax, dword [0x51d2c0]
mov dword [esi + 0xc], eax
mov ax, word [0x51d2c4]
mov word [esi + 0x10], ax
mov al, byte [0x51d2c6]
mov byte [esi + 0x12], al
mov dword [ebp - 0x18], 0x13
mov byte [esi + 0x13], 0
lea ebx, [ebx]
movzx eax, byte [ecx + edi]
inc ecx
xor eax, edx
imul edx, eax, 0x1000193
cmp ecx, 0x13
jb 0x40f0d0
mov edi, dword [ebp - 0x10]
lea eax, [ebp - 0x28]
push edx
push eax
lea eax, [ebp - 0x124]
mov ecx, edi
push eax
call fcn.004048a0
cmp dword [eax + 4], 0
jne 0x40f10b
cmp dword [edi + 0x24], section..text
jae 0x40f10b
mov bl, 1
jmp 0x40f10d
xor bl, bl
and dword [ebp - 0xc], 0xfffffffe
mov eax, dword [ebp - 4]
cmp eax, 0xf
jbe 0x40f144
lea ecx, [eax + 1]
cmp ecx, 0x1000
jb 0x40f13a
mov edx, dword [esi - 4]
add ecx, 0x23
sub esi, edx
lea eax, [esi - 4]
cmp eax, 0x1f
ja 0x41025b
mov esi, edx
push ecx
push esi
call fcn.004e9693
add esp, 8
test bl, bl
jne case.0x410012.1
jmp 0x40ed1f
cmp esi, 0x3b9d2b60
jg 0x40f320
je 0x40f485
cmp esi, 0x3b9cc5d1
je 0x40f257
cmp esi, 0x3b9cf89a
je 0x40f195
cmp esi, 0x3b9d0c22
jne 0x41022d
cmp dword [edi + 0x660], 0
je case.0x410012.1
jmp 0x40ed22
xor eax, eax
mov dword [ebp - 4], 0x1f
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x1c], eax
lea eax, [ebp - 4]
push eax
lea eax, [ebp - 0x28]
push eax
call fcn.00401190
mov ebx, eax
mov dword [ebp - 0x18], 0x17
mov ecx, 5
mov eax, dword [ebp - 4]
mov esi, str.VK_EXT_sample_locations
mov dword [ebp - 0x14], eax
mov edi, ebx
mov dword [ebp - 0x28], ebx
rep movsd dword es:[edi], dword [esi]
add esp, 8
lea eax, [ebp - 0x28]
movsw word es:[edi], word [esi]
push eax
movsb byte es:[edi], byte [esi]
mov edi, dword [ebp - 0x10]
mov ecx, edi
mov byte [ebx + 0x17], 0
call fcn.00404e30
mov esi, eax
mov eax, dword [ebp - 4]
cmp eax, 0xf
jbe 0x40f204
push eax
lea eax, [ebp - 0x28]
push ebx
push eax
call fcn.00405a90
add esp, 0xc
test esi, esi
je case.0x410012.1
mov ebx, dword [ebp + 8]
cmp dword [ebx + 8], 0
je 0x40ed22
cmp dword [ebx + 0x20], 0
je 0x40ed22
mov eax, dword [ebx + 0x18]
cmp eax, dword [edi + 0xb68]
ja case.0x410012.1
mov eax, ebx
mov eax, dword [eax + 0x1c]
cmp eax, dword [edi + 0xb6c]
ja case.0x410012.1
mov eax, dword [edi + 0xb64]
test dword [ebx + 0x14], eax
je case.0x410012.1
jmp 0x40ed22
xor eax, eax
mov dword [ebp - 4], 0x1f
mov dword [ebp - 0x108], eax
mov dword [ebp - 0x104], eax
mov dword [ebp - 0x100], eax
lea eax, [ebp - 4]
push eax
lea eax, [ebp - 0x10c]
push eax
call fcn.00401190
mov ebx, eax
mov dword [ebp - 0xfc], 0x1c
mov eax, dword [ebp - 4]
add esp, 8
mov ecx, 7
mov dword [ebp - 0xf8], eax
mov esi, str.VK_EXT_sampler_filter_minmax
mov dword [ebp - 0x10c], ebx
mov edi, ebx
lea eax, [ebp - 0x10c]
rep movsd dword es:[edi], dword [esi]
mov edi, dword [ebp - 0x10]
mov ecx, edi
push eax
mov byte [ebx + 0x1c], 0
call fcn.00404e30
mov esi, eax
mov eax, dword [ebp - 4]
cmp eax, 0xf
jbe 0x40f2f8
lea ecx, [eax + 1]
cmp ecx, 0x1000
jb 0x40f2ee
mov edx, dword [ebx - 4]
add ecx, 0x23
sub ebx, edx
lea eax, [ebx - 4]
cmp eax, 0x1f
ja 0x41025b
mov ebx, edx
push ecx
push ebx
call fcn.004e9693
add esp, 8
mov dword [ebp - 0xfc], 0
mov dword [ebp - 0xf8], 0xf
mov byte [ebp - 0x10c], 0
test esi, esi
je case.0x410012.1
jmp 0x40ed1f
cmp esi, 0x3b9d2b61
je 0x40f485
cmp esi, 0x3b9d3ee8
je 0x40f42b
cmp esi, 0x3b9db031
jne 0x41022d
xor eax, eax
mov dword [ebp - 4], 0x1f
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x1c], eax
lea eax, [ebp - 4]
push eax
lea eax, [ebp - 0x28]
push eax
call fcn.00401190
mov ebx, eax
mov dword [ebp - 0x18], 0x1f
mov ecx, 7
mov eax, dword [ebp - 4]
mov esi, str.VK_EXT_vertex_attribute_divisor
mov dword [ebp - 0x14], eax
mov edi, ebx
mov dword [ebp - 0x28], ebx
rep movsd dword es:[edi], dword [esi]
add esp, 8
lea eax, [ebp - 0x28]
movsw word es:[edi], word [esi]
push eax
movsb byte es:[edi], byte [esi]
mov edi, dword [ebp - 0x10]
mov ecx, edi
mov byte [ebx + 0x1f], 0
call fcn.00404e30
mov esi, eax
mov eax, dword [ebp - 4]
cmp eax, 0xf
jbe 0x40f3b3
push eax
lea eax, [ebp - 0x28]
push ebx
push eax
call fcn.00405a90
add esp, 0xc
test esi, esi
je case.0x410012.1
mov eax, dword [ebp + 8]
xor bh, bh
xor bl, bl
xor ecx, ecx
mov esi, dword [eax + 8]
xor eax, eax
test esi, esi
je 0x40f3f4
mov eax, dword [ebp + 8]
mov edx, dword [eax + 0xc]
add edx, 4
mov eax, dword [edx]
cmp eax, 1
je 0x40f3e5
mov bl, 1
test eax, eax
jne 0x40f3e5
mov bh, bl
cmp ecx, eax
cmovb ecx, eax
add edx, 8
mov eax, ecx
sub esi, 1
jne 0x40f3d6
cmp eax, dword [edi + 0xa6c]
ja case.0x410012.1
test bh, bh
je 0x40f411
cmp dword [edi + 0x670], 0
je case.0x410012.1
test bl, bl
je 0x40ed1f
cmp dword [edi + 0x66c], 0
je case.0x410012.1
jmp 0x40ed1f
mov edx, dword [ebx + 8]
xor eax, eax
test edx, edx
je 0x40ed22
mov ecx, dword [ebx + 0xc]
jmp 0x40f440
or eax, dword [ecx]
lea ecx, [ecx + 4]
sub edx, 1
jne 0x40f440
test al, 2
je 0x40f45a
cmp dword [edi + 0x514], edx
je case.0x410012.1
test al, 4
je 0x40f46b
cmp dword [edi + 0x518], 0
je case.0x410012.1
test al, 8
je 0x40ed22
cmp dword [edi + 0x51c], 0
je case.0x410012.1
jmp 0x40ed22
cmp dword [edi + 0x24], section..text
jae 0x40f500
xor eax, eax
mov dword [ebp - 4], 0x1f
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x1c], eax
lea eax, [ebp - 4]
push eax
lea eax, [ebp - 0x28]
push eax
call fcn.00401190
mov ebx, eax
mov dword [ebp - 0x18], 0x1f
mov ecx, 7
mov eax, dword [ebp - 4]
mov esi, str.VK_KHR_sampler_ycbcr_conversion
mov dword [ebp - 0x2c], eax
mov edi, ebx
mov dword [ebp - 0x14], eax
rep movsd dword es:[edi], dword [esi]
add esp, 8
mov dword [ebp - 0x28], ebx
lea eax, [ebp - 0x28]
movsw word es:[edi], word [esi]
push eax
movsb byte es:[edi], byte [esi]
mov esi, dword [ebp - 0xc]
mov edi, dword [ebp - 0x10]
or esi, 0x200
mov ecx, edi
mov byte [ebx + 0x1f], 0
mov dword [ebp - 0xc], esi
call fcn.00404e30
test eax, eax
jne 0x40f50b
mov ecx, dword [ebp - 0x2c]
mov byte [ebp - 5], al
jmp 0x40f512
mov ecx, dword [ebp - 0x14]
mov ebx, dword [ebp - 0x28]
mov esi, dword [ebp - 0xc]
jmp 0x40f50e
mov ecx, dword [ebp - 4]
mov byte [ebp - 5], 1
test esi, 0x200
je 0x40f551
and esi, 0xfffffdff
mov dword [ebp - 0xc], esi
cmp ecx, 0xf
jbe 0x40f551
inc ecx
mov eax, ebx
cmp ecx, 0x1000
jb 0x40f547
mov ebx, dword [eax - 4]
add ecx, 0x23
sub eax, ebx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x41025b
push ecx
push ebx
call fcn.004e9693
add esp, 8
cmp byte [ebp - 5], 0
je case.0x410012.1
cmp dword [edi + 0x488], 0
je case.0x410012.1
jmp 0x40ed1f
cmp dword [edi + 0x24], 0x402000
jae 0x40f60e
xor eax, eax
mov dword [ebp - 4], 0x1f
mov dword [ebp - 0x44], eax
mov dword [ebp - 0x40], eax
mov dword [ebp - 0x3c], eax
lea eax, [ebp - 4]
push eax
lea eax, [ebp - 0x48]
push eax
call fcn.00401190
or dword [ebp - 0xc], 8
mov ebx, eax
mov eax, dword [ebp - 4]
mov ecx, 7
mov esi, str.VK_KHR_depth_stencil_resolve
mov dword [ebp - 0x48], ebx
mov edi, ebx
mov dword [ebp - 0x38], 0x1c
rep movsd dword es:[edi], dword [esi]
add esp, 8
mov dword [ebp - 4], eax
cmp eax, 0xf
mov dword [ebp - 0x34], eax
lea esi, [ebp - 0x48]
mov byte [ebx + 0x1c], 0
cmova esi, ebx
mov edx, 0x811c9dc5
xor ecx, ecx
movzx eax, byte [esi + ecx]
inc ecx
xor eax, edx
imul edx, eax, 0x1000193
cmp ecx, 0x1c
jb 0x40f5d7
mov edi, dword [ebp - 0x10]
lea eax, [ebp - 0x48]
push edx
push eax
lea eax, [ebp - 0x12c]
mov ecx, edi
push eax
call fcn.004048a0
mov ecx, dword [ebp - 4]
cmp dword [eax + 4], 0
jne 0x40f614
mov byte [ebp - 5], 1
jmp 0x40f618
mov ecx, dword [ebp - 0x34]
mov ebx, dword [ebp - 0x48]
mov byte [ebp - 5], 0
mov eax, dword [ebp - 0xc]
test al, 8
je 0x40f665
and eax, 0xfffffff7
mov dword [ebp - 0xc], eax
cmp ecx, 0xf
jbe 0x40f653
inc ecx
mov eax, ebx
cmp ecx, 0x1000
jb 0x40f649
mov ebx, dword [eax - 4]
add ecx, 0x23
sub eax, ebx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x41025b
push ecx
push ebx
call fcn.004e9693
add esp, 8
mov dword [ebp - 0x38], 0
mov dword [ebp - 0x34], 0xf
mov byte [ebp - 0x48], 0
cmp byte [ebp - 5], 0
jne case.0x410012.1
mov esi, dword [ebp + 8]
mov esi, dword [esi + 0x10]
test esi, esi
je 0x40ed1f
push dword [esi + 4]
mov ecx, edi
call fcn.0040ea90
test al, al
je case.0x410012.1
push dword [esi + 0xc]
mov ecx, edi
call fcn.0040cb10
test al, al
je case.0x410012.1
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 8]
test ecx, ecx
je 0x40f6b7
test dword [edi + 0xad0], ecx
je case.0x410012.1
mov eax, dword [eax + 0xc]
test eax, eax
je 0x40f6ca
test dword [edi + 0xad4], eax
je case.0x410012.1
cmp ecx, eax
je 0x40ed1f
test ecx, ecx
je 0x40f6e2
test eax, eax
je 0x40f6e2
mov eax, dword [edi + 0xadc]
jmp 0x40f6e8
mov eax, dword [edi + 0xad8]
test eax, eax
je case.0x410012.1
jmp 0x40ed1f
cmp esi, 0x3b9f2b18
jg 0x40fe21
je 0x40fd0e
cmp esi, 0x3b9e7769
jg 0x40fa89
je 0x40f971
mov eax, esi
sub eax, 0x3b9e38e9
je 0x40ed22
sub eax, 0x3e7
je 0x40f80d
sub eax, 1
jne 0x41022d
mov dword [ebp - 0xb4], eax
mov dword [ebp - 0xb0], eax
mov dword [ebp - 0xac], eax
lea eax, [ebp - 4]
push eax
lea eax, [ebp - 0xb8]
mov dword [ebp - 4], 0x1f
push eax
call fcn.00401190
mov ecx, dword [ebp - 4]
mov edi, eax
mov dword [ebp - 0xa4], ecx
add esp, 8
mov ecx, 7
mov dword [ebp - 0xb8], eax
mov esi, str.VK_KHR_fragment_shading_rate
mov dword [ebp - 0xa8], 0x1c
rep movsd dword es:[edi], dword [esi]
mov esi, dword [ebp - 0xc]
mov edi, dword [ebp - 0x10]
or esi, 0x100
mov byte [eax + 0x1c], 0
mov ecx, edi
lea eax, [ebp - 0xb8]
push eax
call fcn.00404e30
test eax, eax
je 0x40f7bc
cmp dword [edi + 0x588], 0
je 0x40f7bc
xor bl, bl
jmp 0x40f7be
mov bl, 1
mov eax, dword [ebp - 4]
and esi, 0xfffffeff
mov dword [ebp - 0xc], esi
cmp eax, 0xf
jbe 0x40f7e5
push eax
push dword [ebp - 0xb8]
lea eax, [ebp - 0xb8]
push eax
call fcn.00405a90
add esp, 0xc
mov dword [ebp - 0xa8], 0
mov dword [ebp - 0xa4], 0xf
mov byte [ebp - 0xb8], 0
test bl, bl
jne case.0x410012.1
jmp 0x40ed1f
xor eax, eax
mov dword [ebp - 4], 0x1f
mov dword [ebp - 0xd0], eax
mov dword [ebp - 0xcc], eax
mov dword [ebp - 0xc8], eax
lea eax, [ebp - 4]
push eax
lea eax, [ebp - 0xd4]
push eax
call fcn.00401190
mov ecx, dword [ebp - 4]
mov edi, eax
mov dword [ebp - 0xc0], ecx
add esp, 8
mov ecx, 7
mov dword [ebp - 0xd4], eax
mov esi, str.VK_KHR_fragment_shading_rate
mov dword [ebp - 0xc4], 0x1c
rep movsd dword es:[edi], dword [esi]
mov esi, dword [ebp - 0xc]
mov edi, dword [ebp - 0x10]
or esi, 0x10
mov byte [eax + 0x1c], 0
mov ecx, edi
lea eax, [ebp - 0xd4]
push eax
call fcn.00404e30
test eax, eax
je 0x40f88e
cmp dword [edi + 0x590], 0
je 0x40f88e
xor bl, bl
jmp 0x40f890
mov bl, 1
mov eax, dword [ebp - 4]
and esi, 0xffffffef
mov dword [ebp - 0xc], esi
cmp eax, 0xf
jbe 0x40f8b4
push eax
push dword [ebp - 0xd4]
lea eax, [ebp - 0xd4]
push eax
call fcn.00405a90
add esp, 0xc
mov dword [ebp - 0xc4], 0
mov dword [ebp - 0xc0], 0xf
mov byte [ebp - 0xd4], 0
test bl, bl
jne case.0x410012.1
mov esi, dword [ebp + 8]
mov esi, dword [esi + 8]
test esi, esi
je 0x40ed1f
push dword [esi + 4]
mov ecx, edi
call fcn.0040ea90
test al, al
je case.0x410012.1
push dword [esi + 0xc]
mov ecx, edi
call fcn.0040cb10
test al, al
je case.0x410012.1
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0xc]
mov edx, dword [eax + 0x10]
test ecx, ecx
je case.0x410012.1
test edx, edx
je case.0x410012.1
cmp ecx, dword [edi + 0xa78]
jb case.0x410012.1
cmp ecx, dword [edi + 0xa80]
ja case.0x410012.1
cmp edx, dword [edi + 0xa7c]
jb case.0x410012.1
cmp edx, dword [edi + 0xa84]
ja case.0x410012.1
cmp ecx, edx
mov eax, ecx
cmovb eax, edx
cmova ecx, edx
xor edx, edx
div ecx
cmp eax, dword [edi + 0xa88]
ja case.0x410012.1
jmp 0x40ed1f
cmp dword [edi + 0x24], 0x402000
jae 0x40fa13
xor eax, eax
mov dword [ebp - 4], 0x2f
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x1c], eax
lea eax, [ebp - 4]
push eax
lea eax, [ebp - 0x28]
push eax
call fcn.00401190
mov ebx, eax
or dword [ebp - 0xc], 4
mov eax, dword [ebp - 4]
mov ecx, 9
mov esi, str.VK_KHR_separate_depth_stencil_layouts
mov dword [ebp - 0x28], ebx
mov edi, ebx
mov dword [ebp - 0x18], 0x25
rep movsd dword es:[edi], dword [esi]
add esp, 8
mov dword [ebp - 4], eax
cmp eax, 0xf
mov dword [ebp - 0x14], eax
mov edx, 0x811c9dc5
movsb byte es:[edi], byte [esi]
lea esi, [ebp - 0x28]
mov byte [ebx + 0x25], 0
cmova esi, ebx
xor ecx, ecx
lea esp, [esp]
movzx eax, byte [ecx + esi]
inc ecx
xor eax, edx
imul edx, eax, 0x1000193
cmp ecx, 0x25
jb 0x40f9e0
mov edi, dword [ebp - 0x10]
lea eax, [ebp - 0x28]
push edx
push eax
lea eax, [ebp - 0x134]
mov ecx, edi
push eax
call fcn.004048a0
mov ecx, dword [ebp - 4]
cmp dword [eax + 4], 0
je 0x40fa26
jmp 0x40fa19
mov ecx, dword [ebp - 0x14]
mov ebx, dword [ebp - 0x28]
cmp dword [edi + 0x558], 0
mov byte [ebp - 5], 0
jne 0x40fa2a
mov byte [ebp - 5], 1
mov eax, dword [ebp - 0xc]
test al, 4
je 0x40fa65
and eax, 0xfffffffb
mov dword [ebp - 0xc], eax
cmp ecx, 0xf
jbe 0x40fa65
inc ecx
mov eax, ebx
cmp ecx, 0x1000
jb 0x40fa5b
mov ebx, dword [eax - 4]
add ecx, 0x23
sub eax, ebx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x41025b
push ecx
push ebx
call fcn.004e9693
add esp, 8
cmp byte [ebp - 5], 0
jne case.0x410012.1
mov eax, dword [ebp + 8]
mov ecx, edi
push dword [eax + 8]
call fcn.0040cb10
test al, al
je case.0x410012.1
jmp 0x40ed1f
cmp esi, 0x3b9e776a
je 0x40fbe2
cmp esi, 0x3b9eaa31
je 0x40fb2f
cmp esi, 0x3b9ebdb9
jne 0x41022d
mov eax, dword [ebx + 8]
cmp eax, 1
jne 0x40fac2
cmp dword [edi + 0x6c4], 0
je case.0x410012.1
cmp eax, 2
jne 0x40fad4
cmp dword [edi + 0x6c8], 0
je case.0x410012.1
cmp eax, 3
jne 0x40fae6
cmp dword [edi + 0x6cc], 0
je case.0x410012.1
cmp dword [ebx + 0xc], 1
jne 0x40ed22
cmp eax, 1
jne 0x40fb02
cmp dword [edi + 0x6d0], 0
je case.0x410012.1
cmp eax, 2
jne 0x40fb14
cmp dword [edi + 0x6d4], 0
je case.0x410012.1
cmp eax, 3
jne 0x40ed22
cmp dword [edi + 0x6d8], 0
je case.0x410012.1
jmp 0x40ed22
xor eax, eax
mov dword [ebp - 4], 0x1f
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x1c], eax
lea eax, [ebp - 4]
push eax
lea eax, [ebp - 0x28]
push eax
call fcn.00401190
mov ebx, eax
mov dword [ebp - 0x18], 0x17
mov ecx, 5
mov eax, dword [ebp - 4]
mov esi, str.VK_EXT_provoking_vertex
mov dword [ebp - 0x14], eax
mov edi, ebx
mov dword [ebp - 0x28], ebx
rep movsd dword es:[edi], dword [esi]
add esp, 8
lea eax, [ebp - 0x28]
movsw word es:[edi], word [esi]
push eax
movsb byte es:[edi], byte [esi]
mov edi, dword [ebp - 0x10]
mov ecx, edi
mov byte [ebx + 0x17], 0
call fcn.00404e30
mov esi, eax
mov eax, dword [ebp - 4]
cmp eax, 0xf
jbe 0x40fbbb
lea ecx, [eax + 1]
cmp ecx, 0x1000
jb 0x40fbb1
mov edx, dword [ebx - 4]
add ecx, 0x23
sub ebx, edx
lea eax, [ebx - 4]
cmp eax, 0x1f
ja 0x41025b
mov ebx, edx
push ecx
push ebx
call fcn.004e9693
add esp, 8
test esi, esi
je case.0x410012.1
mov ebx, dword [ebp + 8]
cmp dword [ebx + 8], 1
jne 0x40ed22
cmp dword [edi + 0x830], 0
je case.0x410012.1
jmp 0x40ed22
cmp dword [edi + 0x24], 0x402000
jae 0x40fc83
xor eax, eax
mov dword [ebp - 4], 0x2f
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x1c], eax
lea eax, [ebp - 4]
push eax
lea eax, [ebp - 0x28]
push eax
call fcn.00401190
mov ebx, eax
or dword [ebp - 0xc], 2
mov eax, dword [ebp - 4]
mov ecx, 9
mov esi, str.VK_KHR_separate_depth_stencil_layouts
mov dword [ebp - 0x28], ebx
mov edi, ebx
mov dword [ebp - 0x18], 0x25
rep movsd dword es:[edi], dword [esi]
add esp, 8
mov dword [ebp - 4], eax
cmp eax, 0xf
mov dword [ebp - 0x14], eax
mov edx, 0x811c9dc5
movsb byte es:[edi], byte [esi]
lea esi, [ebp - 0x28]
mov byte [ebx + 0x25], 0
cmova esi, ebx
xor ecx, ecx
lea ecx, [ecx]
movzx eax, byte [esi + ecx]
inc ecx
xor eax, edx
imul edx, eax, 0x1000193
cmp ecx, 0x25
jb 0x40fc50
mov edi, dword [ebp - 0x10]
lea eax, [ebp - 0x28]
push edx
push eax
lea eax, [ebp - 0x13c]
mov ecx, edi
push eax
call fcn.004048a0
mov ecx, dword [ebp - 4]
cmp dword [eax + 4], 0
je 0x40fc96
jmp 0x40fc89
mov ecx, dword [ebp - 0x14]
mov ebx, dword [ebp - 0x28]
cmp dword [edi + 0x558], 0
mov byte [ebp - 5], 0
jne 0x40fc9a
mov byte [ebp - 5], 1
mov eax, dword [ebp - 0xc]
test al, 2
je 0x40fcd5
and eax, 0xfffffffd
mov dword [ebp - 0xc], eax
cmp ecx, 0xf
jbe 0x40fcd5
inc ecx
mov eax, ebx
cmp ecx, 0x1000
jb 0x40fccb
mov ebx, dword [eax - 4]
add ecx, 0x23
sub eax, ebx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x41025b
push ecx
push ebx
call fcn.004e9693
add esp, 8
cmp byte [ebp - 5], 0
jne case.0x410012.1
mov eax, dword [ebp + 8]
mov ecx, edi
push dword [eax + 8]
call fcn.0040cb10
test al, al
je case.0x410012.1
mov eax, dword [ebp + 8]
mov ecx, edi
push dword [eax + 0xc]
call fcn.0040cb10
test al, al
je case.0x410012.1
jmp 0x40ed1f
xor eax, eax
mov dword [ebp - 4], 0x1f
mov dword [ebp - 0x98], eax
mov dword [ebp - 0x94], eax
mov dword [ebp - 0x90], eax
lea eax, [ebp - 4]
push eax
lea eax, [ebp - 0x9c]
push eax
call fcn.00401190
mov ebx, eax
mov dword [ebp - 0x8c], 0x1a
mov eax, dword [ebp - 4]
mov ecx, 6
mov esi, str.VK_EXT_custom_border_color
mov dword [ebp - 0x9c], ebx
mov edi, ebx
mov dword [ebp - 0x88], eax
rep movsd dword es:[edi], dword [esi]
add esp, 8
mov edx, 0x811c9dc5
movsw word es:[edi], word [esi]
mov edi, eax
mov byte [ebx + 0x1a], 0
cmp edi, 0xf
lea esi, [ebp - 0x9c]
cmova esi, ebx
xor ecx, ecx
movzx eax, byte [ecx + esi]
inc ecx
xor eax, edx
imul edx, eax, 0x1000193
cmp ecx, 0x1a
jb 0x40fd80
mov ecx, dword [ebp - 0x10]
lea eax, [ebp - 0x9c]
push edx
push eax
lea eax, [ebp - 0x144]
push eax
call fcn.004048a0
mov esi, dword [eax + 4]
cmp edi, 0xf
jbe 0x40fddc
lea ecx, [edi + 1]
cmp ecx, 0x1000
jb 0x40fdd2
mov edx, dword [ebx - 4]
add ecx, 0x23
sub ebx, edx
lea eax, [ebx - 4]
cmp eax, 0x1f
ja 0x41025b
mov ebx, edx
push ecx
push ebx
call fcn.004e9693
add esp, 8
mov dword [ebp - 0x8c], 0
mov dword [ebp - 0x88], 0xf
mov byte [ebp - 0x9c], 0
test esi, esi
je case.0x410012.1
mov edi, dword [ebp + 8]
cmp dword [edi + 0x18], 0
mov edi, dword [ebp - 0x10]
jne 0x40ed1f
cmp dword [edi + 0x844], 0
je case.0x410012.1
jmp 0x40ed1f
cmp esi, 0x3ba0251a
jg 0x410031
je 0x40ffd4
cmp esi, 0x3b9f36d0
je 0x40fe53
cmp esi, 0x3b9f9490
je 0x40ff13
cmp esi, 0x3b9fac02
jne 0x41022d
xor eax, eax
mov dword [ebp - 4], 0x1f
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x1c], eax
lea eax, [ebp - 4]
push eax
lea eax, [ebp - 0x28]
push eax
call fcn.00401190
mov ebx, eax
mov dword [ebp - 0x18], 0x17
mov ecx, 5
mov eax, dword [ebp - 4]
mov esi, str.VK_KHR_pipeline_library
mov dword [ebp - 0x14], eax
mov edi, ebx
mov dword [ebp - 0x28], ebx
rep movsd dword es:[edi], dword [esi]
add esp, 8
lea eax, [ebp - 0x28]
movsw word es:[edi], word [esi]
push eax
movsb byte es:[edi], byte [esi]
mov esi, dword [ebp - 0xc]
mov edi, dword [ebp - 0x10]
or esi, 0x400
mov ecx, edi
mov byte [ebx + 0x17], 0
call fcn.00404e30
test eax, eax
je 0x40fec4
cmp dword [edi + 0x8dc], 0
mov byte [ebp - 5], 0
jne 0x40fec8
mov byte [ebp - 5], 1
mov eax, dword [ebp - 4]
and esi, 0xfffffbff
mov dword [ebp - 0xc], esi
cmp eax, 0xf
jbe 0x40ff04
lea ecx, [eax + 1]
cmp ecx, 0x1000
jb 0x40fefa
mov edx, dword [ebx - 4]
add ecx, 0x23
sub ebx, edx
lea eax, [ebx - 4]
cmp eax, 0x1f
ja 0x41025b
mov ebx, edx
push ecx
push ebx
call fcn.004e9693
add esp, 8
cmp byte [ebp - 5], 0
jne case.0x410012.1
jmp 0x40ed1f
xor eax, eax
mov dword [ebp - 4], 0x1f
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x1c], eax
lea eax, [ebp - 4]
push eax
lea eax, [ebp - 0x28]
push eax
call fcn.00401190
mov ecx, dword [ebp - 4]
mov esi, str.VK_KHR_synchronization2
mov dword [ebp - 0x14], ecx
mov edi, eax
mov ecx, 5
or dword [ebp - 0xc], 0x80
rep movsd dword es:[edi], dword [esi]
add esp, 8
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x18], 0x17
mov edx, 0x811c9dc5
movsw word es:[edi], word [esi]
movsb byte es:[edi], byte [esi]
mov edi, dword [ebp - 4]
lea esi, [ebp - 0x28]
cmp edi, 0xf
mov byte [eax + 0x17], 0
cmova esi, eax
xor ecx, ecx
movzx eax, byte [esi + ecx]
inc ecx
xor eax, edx
imul edx, eax, 0x1000193
cmp ecx, 0x17
jb 0x40ff74
mov ebx, dword [ebp - 0x10]
lea eax, [ebp - 0x28]
push edx
push eax
lea eax, [ebp - 0x14c]
mov ecx, ebx
push eax
call fcn.004048a0
cmp dword [eax + 4], 0
je 0x40ffaf
cmp dword [ebx + 0x604], 0
je 0x40ffaf
xor bl, bl
jmp 0x40ffb1
mov bl, 1
and dword [ebp - 0xc], 0xffffff7f
cmp edi, 0xf
jbe 0x40ffcd
push edi
push dword [ebp - 0x28]
lea eax, [ebp - 0x28]
push eax
call fcn.00405a90
add esp, 0xc
test bl, bl
jmp 0x40ed16
cmp dword [edi + 0x8b0], 0
je case.0x410012.1
mov eax, dword [ebx + 8]
xor edi, edi
mov dword [ebp - 0x2c], eax
test eax, eax
je 0x410225
mov edx, dword [ebx + 0xc]
mov ebx, dword [edx]
xor esi, esi
test ebx, ebx
je 0x410024
mov ecx, dword [edx + 4]
nop
mov eax, dword [ecx]
cmp eax, 7
ja case.0x410012.1
movzx eax, byte [eax + 0x410268]
jmp dword [eax*4 + 0x410260]
inc esi
add ecx, 4
cmp esi, ebx
jb 0x410000
mov eax, dword [ebp - 0x2c]
inc edi
add edx, 8
cmp edi, eax
jb 0x40fff4
jmp 0x40ed1c
cmp esi, 0x3ba034b9
je 0x41013c
cmp esi, 0x3ba09a49
jne 0x41022d
xor eax, eax
mov dword [ebp - 4], 0x1f
mov dword [ebp - 0x7c], eax
mov dword [ebp - 0x78], eax
mov dword [ebp - 0x74], eax
lea eax, [ebp - 4]
push eax
lea eax, [ebp - 0x80]
push eax
call fcn.00401190
mov ebx, eax
or dword [ebp - 0xc], 0x40
mov eax, dword [ebp - 4]
mov ecx, 6
mov esi, str.VK_EXT_color_write_enable
mov dword [ebp - 0x80], ebx
mov edi, ebx
mov dword [ebp - 0x70], 0x19
rep movsd dword es:[edi], dword [esi]
add esp, 8
mov dword [ebp - 0x6c], eax
mov edx, 0x811c9dc5
movsb byte es:[edi], byte [esi]
mov edi, eax
mov byte [ebx + 0x19], 0
cmp edi, 0xf
lea esi, [ebp - 0x80]
cmova esi, ebx
xor ecx, ecx
movzx eax, byte [esi + ecx]
inc ecx
xor eax, edx
imul edx, eax, 0x1000193
cmp ecx, 0x19
jb 0x4100a6
mov esi, dword [ebp - 0x10]
lea eax, [ebp - 0x80]
push edx
push eax
lea eax, [ebp - 0x154]
mov ecx, esi
push eax
call fcn.004048a0
cmp dword [eax + 4], 0
je 0x4100e1
cmp dword [esi + 0x7a4], 0
mov byte [ebp - 5], 0
jne 0x4100e5
mov byte [ebp - 5], 1
and dword [ebp - 0xc], 0xffffffbf
cmp edi, 0xf
jbe 0x410119
lea ecx, [edi + 1]
cmp ecx, 0x1000
jb 0x41010f
mov edx, dword [ebx - 4]
add ecx, 0x23
sub ebx, edx
lea eax, [ebx - 4]
cmp eax, 0x1f
ja 0x41025b
mov ebx, edx
push ecx
push ebx
call fcn.004e9693
add esp, 8
cmp byte [ebp - 5], 0
mov dword [ebp - 0x70], 0
mov dword [ebp - 0x6c], 0xf
mov byte [ebp - 0x80], 0
jne case.0x410012.1
mov edi, esi
jmp 0x40ed1f
xor eax, eax
mov dword [ebp - 4], 0x1f
mov dword [ebp - 0xec], eax
mov dword [ebp - 0xe8], eax
mov dword [ebp - 0xe4], eax
lea eax, [ebp - 4]
push eax
lea eax, [ebp - 0xf0]
push eax
call fcn.00401190
mov ebx, eax
mov dword [ebp - 0xe0], 0x19
mov eax, dword [ebp - 4]
mov ecx, 6
mov esi, str.VK_EXT_depth_clip_control
mov dword [ebp - 0xdc], eax
mov edi, ebx
mov dword [ebp - 0xf0], ebx
rep movsd dword es:[edi], dword [esi]
add esp, 8
lea eax, [ebp - 0xf0]
movsb byte es:[edi], byte [esi]
mov esi, dword [ebp - 0xc]
mov edi, dword [ebp - 0x10]
or esi, 0x800
push eax
mov ecx, edi
mov byte [ebx + 0x19], 0
call fcn.00404e30
test eax, eax
je 0x4101c3
cmp dword [edi + 0x8fc], 0
mov byte [ebp - 5], 0
jne 0x4101c7
mov byte [ebp - 5], 1
mov eax, dword [ebp - 4]
and esi, 0xfffff7ff
mov dword [ebp - 0xc], esi
cmp eax, 0xf
jbe 0x4101ff
lea ecx, [eax + 1]
cmp ecx, 0x1000
jb 0x4101f5
mov edx, dword [ebx - 4]
add ecx, 0x23
sub ebx, edx
lea eax, [ebx - 4]
cmp eax, 0x1f
ja 0x41025b
mov ebx, edx
push ecx
push ebx
call fcn.004e9693
add esp, 8
cmp byte [ebp - 5], 0
mov dword [ebp - 0xe0], 0
mov dword [ebp - 0xdc], 0xf
mov byte [ebp - 0xf0], 0
jne case.0x410012.1
jmp 0x40ed1f
mov edi, dword [ebp - 0x10]
jmp 0x40ed22
push 2
call fcn.004f2743
push esi
push str.Fossilize_ERROR:_Unrecognized_pNext_sType:__u._Treating_as_unsupported._n
push eax
call fcn.00401d60
push 2
call fcn.004f2743
push eax
call fcn.004f2b00
add esp, 0x18
pop edi
pop esi
xor al, al
pop ebx
mov esp, ebp
pop ebp
ret 4
call fcn.004ee89f
sbb dword [eax], eax
inc ecx
add byte [eax + 2], dl
inc ecx
add byte [eax], al
add dword [eax], eax
add byte [eax], al
add byte [eax], al
invalid