Function at 0x4c9a10
Capabilities:
Resolve function by parsing pe exports

Disassembly:
sub esp, 0x44
push ebx
mov ebx, dword [esp + 0x50]
push ebp
push esi
push edi
cmp ebx, 0x115f
jg 0x4ca7ea
je 0x4ca75c
lea eax, [ebx - 1]
cmp eax, 0x7a
ja case.0x4c9a40.2
movzx eax, byte [eax + 0x4caac4]
jmp dword [eax*4 + 0x4caa8c]
mov edi, dword [esp + 0x60]
mov esi, dword [esp + 0x58]
push 1
push dword [edi + 8]
push esi
call fcn.00498d40
push dword [edi + 4]
mov ebx, eax
push esi
call fcn.004c5a90
add esp, 0x14
mov dword [ebx + 0x14], eax
or byte [ebx + 8], 2
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x44
ret
mov edi, dword [esp + 0x60]
mov esi, dword [esp + 0x58]
push dword [edi + 4]
push esi
call fcn.004c5a90
mov ebx, dword [edi + 0xc]
add esp, 8
mov dword [esp + 0x5c], eax
cmp ebx, 1
je 0x4c9aa0
cmp ebx, 3
je 0x4c9aa0
xor ecx, ecx
jmp 0x4c9aa5
mov ecx, 1
mov eax, dword [esi + 0x6c]
cmp byte [eax + 5], 0
jne 0x4c9ae7
test ecx, ecx
jne 0x4c9ac0
cmp dword [esi + 0x64], 0x10400
jb 0x4c9ae7
cmp ebx, 7
je 0x4c9ae7
push 0x48c360
push 4
push dword [esi + 0x294]
lea eax, [edi + 8]
push dword [esi + 0x290]
push eax
call fcn.004ffe8e
add esp, 0x14
test eax, eax
je 0x4ca8f5
push 6
push dword [edi + 8]
push esi
call fcn.00498d40
add esp, 0xc
mov ebp, eax
cmp dword [esp + 0x64], 4
jbe 0x4c9b22
push dword [edi + 0x10]
push esi
call fcn.004999c0
add esp, 8
push eax
push ebx
push dword [esp + 0x64]
push ebp
push esi
call fcn.004c7d70
add esp, 0x14
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x44
ret
xor eax, eax
push eax
push ebx
push dword [esp + 0x64]
push ebp
push esi
call fcn.004c7d70
add esp, 0x14
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x44
ret
mov ebp, dword [esp + 0x60]
mov edi, dword [esp + 0x58]
push 4
push dword [ebp + 4]
push edi
call fcn.004cc190
push 6
push dword [ebp + 8]
mov esi, dword [eax + 0x14]
push edi
call fcn.00498d40
push 0x24
push dword [edi + 0x18]
mov dword [esp + 0x38], eax
call fcn.00460490
mov ebx, eax
add esp, 0x20
mov dword [ebx], 6
mov dword [ebx + 0x18], esi
mov dword [ebx + 0x1c], 2
cmp byte [edi + 0x2a9], 0
je 0x4c9b91
mov ecx, dword [edi + 0x6c]
mov eax, dword [ecx + 0x38]
jmp 0x4c9b96
mov eax, 0xb
push eax
mov dword [esp + 0x60], eax
call fcn.0040f460
push dword [esp + 0x60]
mov esi, eax
call fcn.0040f4b0
push 0
push 0
push 0
push 1
push eax
xor ecx, ecx
mov eax, 9
cmp esi, 0x20
cmove eax, ecx
push eax
call fcn.0045e950
mov esi, dword [esp + 0x38]
push 0
push dword [ebx + 0x1c]
mov dword [ebx + 4], eax
push ebx
push esi
push edi
call fcn.004c7d70
mov eax, dword [esi + 0x18]
add esp, 0x34
mov eax, dword [eax + 0xc]
pop edi
mov esi, dword [eax + 0x1c]
mov eax, dword [esi + 0x3c]
or eax, 1
mov dword [esi + 0x3c], eax
mov ecx, dword [ebp + 0xc]
add ecx, ecx
xor ecx, eax
and ecx, 0xe
xor ecx, eax
mov dword [esi + 0x3c], ecx
mov edx, dword [ebp + 0x10]
shl edx, 4
xor edx, ecx
and edx, 0x10
xor edx, ecx
mov dword [esi + 0x3c], edx
mov eax, dword [ebp + 0x14]
shl eax, 5
xor eax, edx
and eax, 0x20
xor eax, edx
mov dword [esi + 0x3c], eax
pop esi
pop ebp
pop ebx
add esp, 0x44
ret
mov ebp, dword [esp + 0x64]
mov eax, 1
mov edi, dword [esp + 0x58]
lea esi, [ebp - 4]
cmp esi, eax
cmova eax, esi
inc eax
shl eax, 4
push eax
push dword [edi + 0x18]
call fcn.00460490
add esp, 8
mov dword [esp + 0x20], eax
mov dword [eax], esi
mov dword [esp + 0x10], 0
cmp ebx, 0x43
je 0x4c9c68
cmp ebx, 0x46
je 0x4c9c68
xor cl, cl
jmp 0x4c9c6a
mov cl, 1
mov byte [eax + 4], cl
cmp ebp, 4
jbe 0x4c9de5
mov edx, dword [esp + 0x60]
lea ebx, [eax + 0x18]
add edx, 0x10
mov dword [esp + 0x18], 4
mov dword [esp + 0x14], edx
nop dword [eax]
mov eax, dword [edx]
cmp eax, dword [edi + 0x94]
jae 0x4c9e10
lea ecx, [eax*8]
sub ecx, eax
mov eax, dword [edi + 0x98]
cmp dword [eax + ecx*4], 5
lea eax, [eax + ecx*4]
mov dword [esp + 0x1c], eax
jne 0x4c9d9e
mov dword [ebx - 8], 1
mov ebp, dword [edx]
cmp ebp, dword [edi + 0x94]
jae 0x4ca913
mov eax, dword [edi + 0x98]
lea ecx, [ebp*8]
sub ecx, ebp
cmp dword [eax + ecx*4], 5
lea esi, [eax + ecx*4]
je 0x4c9cf7
push 5
push ebp
push edi
call fcn.0048c250
add esp, 0xc
mov eax, dword [esi + 0x14]
cmp dword [eax], 1
jne 0x4ca8fd
mov ecx, dword [eax + 4]
mov al, byte [ecx + 4]
cmp al, 5
je 0x4c9d3d
cmp al, 6
je 0x4c9d3d
cmp al, 7
je 0x4c9d3d
cmp al, 8
je 0x4c9d3d
test al, al
je 0x4c9d3d
cmp al, 1
je 0x4c9d3d
cmp al, 9
je 0x4c9d3d
cmp al, 0xa
je 0x4c9d3d
cmp al, 0xb
je 0x4c9d3d
cmp al, 0xd
je 0x4c9d3d
cmp al, 0xe
je 0x4c9d3d
cmp al, 0xf
jne 0x4ca8fd
push ecx
call fcn.0040e4b0
add esp, 4
movzx eax, byte [eax + 0x4cab4c]
jmp dword [eax*4 + 0x4cab40]
mov eax, dword [esi + 0x18]
mov ebp, dword [esp + 0x64]
movsx eax, byte [eax]
cdq
mov ecx, eax
mov eax, dword [esp + 0x1c]
jmp 0x4c9da9
mov eax, dword [esi + 0x18]
mov ebp, dword [esp + 0x64]
movsx eax, word [eax]
cdq
mov ecx, eax
mov eax, dword [esp + 0x1c]
jmp 0x4c9da9
mov eax, dword [esi + 0x18]
mov ebp, dword [esp + 0x64]
mov eax, dword [eax]
cdq
mov ecx, eax
mov eax, dword [esp + 0x1c]
jmp 0x4c9da9
mov eax, dword [esi + 0x18]
mov ebp, dword [esp + 0x64]
mov ecx, dword [eax]
mov edx, dword [eax + 4]
mov eax, dword [esp + 0x1c]
jmp 0x4c9da9
mov dword [ebx - 8], 0
mov ecx, dword [edx]
xor edx, edx
mov dword [ebx], ecx
lea ecx, [esp + 0x10]
push ecx
push 0x48ccd0
push eax
push edi
mov dword [ebx + 4], edx
call fcn.0048ec80
mov ecx, dword [esp + 0x28]
add esp, 0x10
mov edx, dword [esp + 0x14]
inc ecx
add edx, 4
mov dword [esp + 0x18], ecx
add ebx, 0x10
mov dword [esp + 0x14], edx
cmp ecx, ebp
jb 0x4c9c90
mov ebx, dword [esp + 0x5c]
mov esi, dword [esp + 0x60]
push dword [esi + 4]
push edi
call fcn.004c5a90
push dword [esi + 0xc]
mov ebp, eax
push edi
call fcn.004cb250
add esp, 0x10
mov edx, eax
cmp ebx, 0x42
je 0x4c9e16
cmp ebx, 0x46
je 0x4c9e16
xor al, al
jmp 0x4c9e18
push eax
jmp 0x4ca914
mov al, 1
mov esi, dword [esp + 0x20]
mov byte [esi + 0xc], al
mov ecx, dword [edx + 0x1c]
and ecx, 0x20
or ecx, dword [esp + 0x10]
mov dword [esp + 0x10], ecx
cmp dword [edx], 5
jne 0x4c9e42
mov eax, dword [edi + 0x6c]
cmp byte [eax + 0x55], 0
je 0x4c9e42
or ecx, 0x20
mov dword [esp + 0x10], ecx
push esi
push edx
push edi
call fcn.004cb2b0
push eax
mov dword [eax + 8], ebp
mov ecx, dword [esp + 0x20]
or dword [eax + 0x1c], ecx
mov eax, dword [esp + 0x70]
push dword [eax + 8]
push edi
call fcn.004cbe30
add esp, 0x18
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x44
ret
mov ebx, dword [esp + 0x60]
mov ebp, dword [esp + 0x58]
push dword [ebx + 4]
push ebp
call fcn.004cbdd0
push dword [ebx + 8]
mov edi, eax
push ebp
call fcn.004cbdd0
push edi
push ebp
mov esi, eax
call fcn.004cc1f0
push esi
push ebp
mov dword [esp + 0x48], eax
call fcn.004cc1f0
mov ecx, dword [esi + 0x14]
mov dword [esp + 0x44], eax
push dword [ecx + 0x18]
mov ecx, dword [edi + 0x14]
push dword [ecx + 0x18]
push dword [esp + 0x84]
push ebp
call fcn.004c7a10
mov esi, dword [esp + 0x94]
lea eax, [esp + 0x44]
push eax
lea eax, [esp + 0x60]
mov dword [esp + 0x4c], 3
push eax
lea eax, [esp + 0x58]
push eax
lea eax, [esp + 0x98]
push eax
lea eax, [esp + 0x58]
push eax
push esi
push ebx
push ebp
call fcn.004c98d0
add esp, 0x50
lea eax, [esp + 0x14]
push eax
push 0
lea eax, [esp + 0x24]
push eax
lea eax, [esp + 0x1c]
push eax
lea eax, [esp + 0x28]
push eax
push esi
push ebx
push ebp
call fcn.004c98d0
mov esi, dword [esp + 0x40]
add esp, 0x20
test al, al
jne 0x4c9f21
mov ebx, dword [esp + 0x5c]
mov eax, esi
jmp 0x4c9f29
mov eax, dword [esp + 0x1c]
mov ebx, dword [esp + 0x10]
push eax
push dword [esp + 0x28]
push ebp
call fcn.004c7910
push esi
push dword [esp + 0x38]
mov edi, eax
push ebp
call fcn.004c7910
push dword [edi]
mov esi, eax
push dword [esp + 0x30]
push ebx
push ebp
call fcn.004c8a20
mov edx, dword [esp + 0x84]
mov ecx, ebx
and ecx, 1
and edx, 1
shl ecx, 2
mov eax, ecx
shl edx, 2
or eax, 0x80
test bl, 4
mov ebx, dword [esp + 0x84]
cmove eax, ecx
mov ecx, edx
or ecx, 0x80
test bl, 4
push eax
cmove ecx, edx
push ecx
push edi
push esi
push ebp
call fcn.004c6570
push dword [esi]
push dword [esp + 0x6c]
push ebx
push ebp
call fcn.004c89f0
add esp, 0x4c
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x44
ret
mov ebx, dword [esp + 0x60]
mov ebp, dword [esp + 0x58]
push dword [ebx + 4]
push ebp
call fcn.004cbdd0
push dword [ebx + 8]
mov edi, eax
push ebp
call fcn.004cbdd0
push dword [ebx + 0xc]
mov esi, eax
push ebp
call fcn.0048efc0
push edi
push ebp
mov dword [esp + 0x3c], eax
call fcn.004cc1f0
push esi
push ebp
mov dword [esp + 0x48], eax
call fcn.004cc1f0
mov esi, dword [esp + 0x8c]
mov dword [esp + 0x4c], eax
lea eax, [esp + 0x3c]
push eax
lea eax, [esp + 0x5c]
mov dword [esp + 0x88], 4
push eax
lea eax, [esp + 0x48]
push eax
lea eax, [esp + 0x44]
push eax
lea eax, [esp + 0x94]
push eax
push esi
push ebx
push ebp
call fcn.004c98d0
add esp, 0x48
lea eax, [esp + 0x14]
push eax
push 0
lea eax, [esp + 0x34]
push eax
lea eax, [esp + 0x34]
push eax
lea eax, [esp + 0x6c]
push eax
push esi
push ebx
push ebp
call fcn.004c98d0
mov edi, dword [esp + 0x30]
add esp, 0x20
test al, al
jne 0x4ca054
mov eax, dword [esp + 0x18]
mov ebx, edi
jmp 0x4ca05c
mov eax, dword [esp + 0x2c]
mov ebx, dword [esp + 0x28]
push eax
push dword [esp + 0x28]
mov dword [esp + 0x64], ebx
push ebp
call fcn.004c7910
push dword [esp + 0x24]
mov esi, eax
push dword [esp + 0x30]
push ebp
call fcn.004c7910
push dword [esi]
mov dword [esp + 0x34], eax
push dword [esp + 0x30]
push ebx
push ebp
call fcn.004c8a20
mov ebp, ebx
mov ebx, edi
push esi
mov esi, dword [esp + 0x84]
and ebp, 1
and ebx, 1
shl ebp, 2
push esi
shl ebx, 2
call fcn.004cbc90
push dword [esp + 0x48]
mov edi, eax
push esi
call fcn.004cbc90
mov esi, eax
mov eax, dword [esp + 0x90]
push 0x219
push dword [eax + 0x10]
call fcn.00409aa0
mov edx, eax
lea ecx, [esi + 0x48]
mov esi, dword [esp + 0x50]
lea eax, [edi + 0x48]
xorps xmm0, xmm0
add esp, 0x40
movups xmmword [esp + 0x34], xmm0
mov dword [esp + 0x40], ecx
mov ecx, ebx
movups xmm0, xmmword [esp + 0x34]
or ecx, 0x80
push edx
movups xmmword [edx + 0x58], xmm0
xorps xmm0, xmm0
movups xmmword [esp + 0x38], xmm0
mov dword [esp + 0x44], eax
movups xmm0, xmmword [esp + 0x38]
mov eax, dword [esp + 0x20]
movups xmmword [edx + 0x68], xmm0
xorps xmm0, xmm0
movups xmmword [esp + 0x38], xmm0
mov dword [esp + 0x44], eax
mov eax, esi
movups xmm0, xmmword [esp + 0x38]
test al, 4
cmove ecx, ebx
imul eax, dword [edx + 0x18], 0x64
mov ebx, dword [esp + 0x5c]
movups xmmword [edx + 0x78], xmm0
push ebx
movzx eax, byte [eax + 0x52384c]
mov dword [edx + eax*4 + 0x30], ecx
mov ecx, ebp
or ecx, 0x80
test byte [esp + 0x64], 4
cmove ecx, ebp
imul eax, dword [edx + 0x18], 0x64
movzx eax, byte [eax + 0x52384d]
mov dword [edx + eax*4 + 0x30], ecx
call fcn.0041dcb0
mov eax, dword [esp + 0x20]
push dword [eax]
push dword [esp + 0x3c]
push esi
push ebx
call fcn.004c89f0
add esp, 0x18
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x44
ret
mov ebx, dword [esp + 0x60]
mov ebp, dword [esp + 0x58]
push dword [ebx + 4]
push ebp
call fcn.004c5a90
push 6
push dword [ebx + 0xc]
mov edi, eax
push ebp
call fcn.004cc190
mov esi, eax
push esi
push ebp
call fcn.004cc1f0
mov ecx, dword [esi + 0x14]
mov ebx, eax
push dword [ecx + 0x18]
push edi
push dword [esp + 0x80]
push ebp
call fcn.004c7a10
mov edi, dword [esp + 0x8c]
lea eax, [esp + 0x58]
push eax
push 0
lea eax, [esp + 0x64]
mov dword [esp + 0x90], 4
push eax
lea eax, [esp + 0x60]
push eax
lea eax, [esp + 0x98]
push eax
push dword [esp + 0xa4]
push edi
push ebp
call fcn.004c98d0
add esp, 0x4c
push dword [esp + 0x30]
push ebx
push ebp
call fcn.004c7910
mov ebx, dword [esp + 0x34]
mov esi, eax
push dword [esi]
push dword [esp + 0x3c]
push ebx
push ebp
call fcn.004c8a20
mov ecx, ebx
and ecx, 1
shl ecx, 2
mov eax, ecx
or eax, 0x80
test bl, 4
cmove eax, ecx
push eax
push esi
push ebp
call fcn.004cc280
push eax
push dword [edi + 8]
push ebp
call fcn.00498c80
add esp, 0x34
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x44
ret
mov esi, dword [esp + 0x60]
mov ebp, dword [esp + 0x58]
push dword [esi + 4]
push ebp
call fcn.004cbdd0
push eax
push ebp
mov dword [esp + 0x6c], eax
call fcn.004cc1f0
push dword [esi + 8]
mov edi, eax
push ebp
call fcn.004999c0
mov ecx, dword [edi + 4]
add esp, 0x18
mov edx, dword [ecx + 4]
test edx, edx
je 0x4ca929
cmp byte [edx + 4], 0xb
lea ecx, [eax + 0x14]
jne 0x4ca342
mov eax, dword [ecx]
mov eax, dword [eax + 4]
cmp byte [eax + 4], 0
jne 0x4ca342
push str.OpStore_of_value_of_type_OpTypeInt_to_a_pointer_to_type_OpTypeBool.__Doing_an_implicit_conversion_to_work_around_the_problem.
push 0xb15
push str..._.._src_compiler_spirv_vtn_variables.c
push ebp
call fcn.0048c2a0
mov eax, dword [edi + 4]
push dword [eax + 4]
push ebp
call fcn.0048e610
push dword [esi + 8]
mov ebx, eax
push ebp
call fcn.00499070
mov eax, dword [eax + 4]
mov dword [esp + 0x4c], eax
movzx esi, byte [eax + 0x11]
push esi
push 0
push 0
call fcn.0040fdb0
push esi
push 1
push dword [ebp + 0x10]
mov dword [esp + 0x94], eax
mov dword [esp + 0x68], edx
call fcn.00409c50
mov esi, eax
add esp, 0x38
test esi, esi
je 0x4ca31a
mov eax, dword [esp + 0x5c]
mov dword [esi + 0x30], eax
mov eax, dword [esp + 0x30]
push esi
push ebp
mov dword [esi + 0x34], eax
call fcn.0041dcb0
add esp, 8
add esi, 0x18
push esi
push dword [esp + 0x30]
push 0x146
push ebp
call fcn.0041d920
push 0
push edi
push ebx
push ebp
mov dword [ebx + 4], eax
call fcn.004cc2c0
add esp, 0x20
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x44
ret
mov eax, dword [esp + 0x5c]
push dword [ecx]
mov eax, dword [eax + 0x14]
push dword [eax + 0x18]
push ebx
push ebp
call fcn.004c7a10
push 0
lea eax, [esp + 0x3c]
mov dword [esp + 0x70], 3
push eax
lea eax, [esp + 0x48]
push eax
lea eax, [esp + 0x48]
push eax
lea eax, [esp + 0x7c]
push eax
push dword [esp + 0x88]
push esi
push ebp
call fcn.004c98d0
push dword [esp + 0x60]
push edi
push ebp
call fcn.004c7910
push dword [esi + 8]
mov ebx, eax
push ebp
call fcn.00499070
mov edi, dword [esp + 0x70]
add esp, 0x44
mov esi, edi
mov ecx, edi
and esi, 1
shl esi, 2
mov edx, esi
or edx, 0x80
test cl, 4
cmove edx, esi
push edx
push ebx
push eax
push ebp
call fcn.004cc2c0
push dword [ebx]
push dword [esp + 0x3c]
push edi
push ebp
call fcn.004c89f0
add esp, 0x20
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x44
ret
mov ebp, dword [esp + 0x60]
mov ebx, dword [esp + 0x58]
push dword [ebp + 0xc]
push ebx
call fcn.004cb250
mov edx, dword [ebp + 0x10]
mov esi, eax
add esp, 8
mov ecx, dword [esi + 4]
cmp dword [ecx], 5
jne 0x4ca93e
mov eax, dword [ecx + 0xc]
dec eax
cmp edx, eax
jne 0x4ca953
mov eax, dword [ecx + 0x18]
mov eax, dword [eax + edx*4]
cmp dword [eax], 4
jne 0x4ca953
lea eax, [esp + 0x34]
mov dword [esp + 0x34], 1
push eax
push esi
push ebx
mov byte [esp + 0x44], 0
mov dword [esp + 0x48], 0
mov byte [esp + 0x4c], 0
mov dword [esp + 0x50], 1
mov dword [esp + 0x58], edx
mov dword [esp + 0x5c], 0
call fcn.004cb2b0
mov ecx, dword [esi + 4]
push eax
push ebx
mov ebp, dword [ecx + 0x14]
or ebp, dword [esi + 0x1c]
call fcn.004cbce0
push 0x5d
push dword [ebx + 0x10]
mov esi, eax
call fcn.00409aa0
mov edi, eax
push 0x20
push 1
lea ebx, [edi + 0x1c]
push ebx
push edi
call fcn.00407f50
imul eax, dword [edi + 0x18], 0x64
xorps xmm0, xmm0
movups xmmword [esp + 0x60], xmm0
mov dword [esp + 0x6c], esi
movups xmm0, xmmword [esp + 0x60]
mov esi, dword [esp + 0x84]
push edi
movups xmmword [edi + 0x58], xmm0
push esi
movzx eax, byte [eax + 0x52383e]
mov dword [edi + eax*4 + 0x30], ebp
call fcn.0041dcb0
mov eax, dword [esp + 0x94]
push ebx
push dword [eax + 8]
push esi
call fcn.00498b70
add esp, 0x40
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x44
ret
mov edi, dword [esp + 0x60]
mov esi, dword [esp + 0x58]
push dword [edi + 4]
push esi
call fcn.004c5a90
push dword [edi + 0xc]
mov ebx, eax
push esi
call fcn.0048f180
add esp, 0x10
cmp dword [eax], 6
jne 0x4ca97d
cmp dword [eax + 4], 0
je 0x4ca97d
mov eax, dword [ebx]
cmp eax, 2
je 0x4ca50d
cmp eax, 1
jne 0x4ca968
push dword [edi + 0xc]
push esi
call fcn.0048efc0
push dword [ebx + 4]
push eax
push esi
call fcn.004c7380
push eax
push dword [edi + 8]
push esi
call fcn.00498b70
add esp, 0x20
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x44
ret
mov ebx, dword [esp + 0x60]
mov esi, dword [esp + 0x58]
push dword [ebx + 4]
push esi
call fcn.004c5a90
push dword [ebx + 0xc]
mov edi, eax
push esi
call fcn.0048f180
add esp, 0x10
cmp dword [edi], 6
jne 0x4ca9a7
cmp dword [edi + 4], 0
je 0x4ca9a7
mov eax, dword [eax]
cmp eax, 2
je 0x4ca577
cmp eax, 1
jne 0x4ca992
push dword [ebx + 0xc]
push esi
call fcn.0048efc0
push dword [edi + 4]
push eax
push esi
call fcn.004c7380
push edi
push eax
push esi
call fcn.004cbb80
push eax
push dword [ebx + 8]
push esi
call fcn.004cbe30
add esp, 0x2c
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x44
ret
mov ebx, dword [esp + 0x60]
mov ebp, dword [esp + 0x58]
push dword [ebx + 4]
push ebp
call fcn.004c5a90
push dword [ebx + 0xc]
mov edi, eax
push ebp
call fcn.0048f180
mov esi, dword [ebx + 0x10]
add esp, 0x10
cmp dword [edi], 6
mov edx, eax
jne 0x4ca9fb
cmp dword [edi + 0x1c], esi
jne 0x4ca9fb
cmp dword [edx], 6
jne 0x4ca9e6
mov eax, dword [edx + 0x18]
mov ecx, dword [edi + 0x18]
mov eax, dword [eax + 8]
cmp eax, dword [ecx + 8]
jne 0x4ca9e6
cmp dword [edx + 0x1c], 8
jne 0x4ca9bc
cmp esi, 4
je 0x4ca615
cmp esi, 5
je 0x4ca615
cmp esi, 7
jne 0x4ca9d1
push dword [ebx + 0xc]
push ebp
call fcn.004cb1f0
mov ebx, eax
lea eax, [esp + 0x64]
push eax
push dword [edi + 0x18]
push esi
push ebp
call fcn.004cbeb0
push eax
push ebp
call fcn.004cb0b0
mov esi, eax
push esi
call fcn.0040f4a0
add esp, 0x24
push eax
push esi
call fcn.0040f460
add esp, 4
push eax
push esi
call fcn.0040f4b0
add esp, 4
push eax
push ebp
call fcn.0041c5e0
push dword [esp + 0x6c]
lea esi, [ebx + 0x48]
mov edi, eax
push 0
push esi
push 1
push ebp
call fcn.004c6310
push edi
push esi
push eax
push ebp
call fcn.0049b720
push eax
jmp 0x4ca8e2
mov ebp, dword [esp + 0x60]
mov ebx, dword [esp + 0x58]
push dword [ebp + 4]
push ebx
call fcn.004c5a90
push dword [ebp + 0xc]
mov esi, eax
push ebx
call fcn.0048f180
add esp, 0x10
cmp dword [esi], 1
jne 0x4caa25
cmp dword [esi + 4], 0x536fac
jne 0x4caa25
cmp dword [eax], 6
jne 0x4caa10
cmp dword [eax + 0x1c], 8
jne 0x4caa10
push dword [ebp + 0xc]
push ebx
call fcn.004cb1f0
push 0
push ebx
lea edi, [eax + 0x48]
call fcn.00410a70
add esp, 0x10
push eax
push 0x200
push ebx
call fcn.00410a70
add esp, 8
push eax
push 0x20000
push 0
push edi
push 1
push ebx
call fcn.004c6310
add esp, 0x14
push eax
push ebx
call fcn.0049b720
push 0
push ebx
mov esi, eax
call fcn.00410a70
add esp, 0x18
push eax
push 0x100
push ebx
call fcn.00410a70
add esp, 8
push eax
push 0x10000
push 0
push edi
push 1
push ebx
call fcn.004c6310
add esp, 0x14
push eax
push ebx
call fcn.0049b720
push eax
push esi
push ebx
call fcn.004a2fc0
push eax
push dword [ebp + 8]
push ebx
call fcn.00498b70
add esp, 0x28
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x44
ret
mov ebx, dword [esp + 0x60]
mov esi, dword [esp + 0x58]
push dword [ebx + 4]
push esi
call fcn.004c5a90
push dword [ebx + 0xc]
mov dword [esp + 0x68], eax
push esi
call fcn.0048f180
mov ebp, eax
add esp, 0x10
cmp dword [ebp], 2
jne 0x4ca79e
push 0
push 0
push 0
push 1
push 2
push 0
call fcn.0045e950
add esp, 0x18
cmp dword [ebp + 4], eax
je 0x4ca7b5
cmp dword [ebp], 1
jne 0x4caa4f
cmp dword [ebp + 4], 0x537524
jne 0x4caa4f
mov edi, dword [esp + 0x5c]
cmp dword [edi], 0xa
jne 0x4caa3a
push dword [ebx + 0xc]
push esi
call fcn.0048efc0
push dword [edi + 4]
push eax
push esi
call fcn.004c7380
push eax
push dword [ebx + 8]
push esi
call fcn.00498b70
add esp, 0x20
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x44
ret
mov eax, ebx
sub eax, 0x15c7
je 0x4ca86f
sub eax, 1
jne case.0x4c9a40.2
mov esi, dword [esp + 0x60]
mov ebx, dword [esp + 0x58]
push dword [esi + 4]
push ebx
call fcn.004cb1f0
push dword [esi + 8]
mov edi, eax
push ebx
call fcn.00499070
push 0x25a
push dword [ebx + 0x10]
mov esi, dword [eax + 4]
call fcn.00409aa0
xorps xmm0, xmm0
lea ecx, [edi + 0x48]
movups xmmword [esp + 0x4c], xmm0
mov edx, eax
mov dword [esp + 0x58], ecx
movups xmm0, xmmword [esp + 0x4c]
push edx
push ebx
movups xmmword [edx + 0x58], xmm0
xorps xmm0, xmm0
movups xmmword [esp + 0x54], xmm0
mov dword [esp + 0x60], esi
movups xmm0, xmmword [esp + 0x54]
movups xmmword [edx + 0x68], xmm0
mov al, byte [esi + 0x10]
mov byte [edx + 0x30], al
call fcn.0041dcb0
add esp, 0x20
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x44
ret
mov ebx, dword [esp + 0x60]
mov ebp, dword [esp + 0x58]
push dword [ebx + 4]
push ebp
call fcn.004c5a90
push dword [ebx + 0xc]
mov edi, eax
push ebp
call fcn.004cb1f0
push 0x101
push dword [ebp + 0x10]
mov esi, eax
call fcn.00409aa0
xorps xmm0, xmm0
lea ecx, [esi + 0x48]
mov ebx, eax
movups xmmword [esp + 0x4c], xmm0
mov dword [esp + 0x58], ecx
movups xmm0, xmmword [esp + 0x4c]
lea esi, [ebx + 0x1c]
movups xmmword [ebx + 0x58], xmm0
mov edx, dword [edi + 4]
push edx
call fcn.0040e4b0
movzx ecx, byte [edx + 0x11]
push eax
movzx eax, byte [edx + 0x10]
imul ecx, eax
push ecx
push esi
push ebx
call fcn.00407f50
mov al, byte [ebx + 0x2c]
push ebx
push ebp
mov byte [ebx + 0x30], al
call fcn.0041dcb0
push esi
mov eax, dword [esp + 0x98]
push dword [eax + 8]
push ebp
call fcn.00498b70
add esp, 0x40
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x44
ret
push ebp
push str.Expected_id__u_to_be_an_integer_constant
push 0x351
push str.C:mesa_srccompiler_spirv_vtn_private.h
push edi
call fcn.0048c1b0
push ebp
push str.SPIR_V_id__u_is_out_of_bounds
push 0x2dd
push str.C:mesa_srccompiler_spirv_vtn_private.h
push edi
call fcn.0048c1b0
push str.Invalid_destination_type_for_OpStore
push 0xb08
push str..._.._src_compiler_spirv_vtn_variables.c
push ebp
call fcn.0048c1b0
push str.OpArrayLength_must_take_a_pointer_to_a_structure_type
push 0xb31
push str..._.._src_compiler_spirv_vtn_variables.c
push ebx
call fcn.0048c1b0
push str.OpArrayLength_must_reference_the_last_member_of_the_structure_and_that_must_be_an_array
push 0xb35
push str..._.._src_compiler_spirv_vtn_variables.c
push ebx
call fcn.0048c1b0
push str.OpConvertPtrToU_can_only_be_used_to_cast_to_a_vector_or_scalar_type
push 0xb53
push str..._.._src_compiler_spirv_vtn_variables.c
push esi
call fcn.0048c1b0
push str.OpConvertPtrToU_can_only_be_used_on_physical_pointers
push 0xb4e
push str..._.._src_compiler_spirv_vtn_variables.c
push esi
call fcn.0048c1b0
push str.OpConvertUToPtr_can_only_be_used_to_cast_from_a_vector_or_scalar_type
push 0xb67
push str..._.._src_compiler_spirv_vtn_variables.c
push esi
call fcn.0048c1b0
push str.OpConvertUToPtr_can_only_be_used_on_physical_pointers
push 0xb62
push str..._.._src_compiler_spirv_vtn_variables.c
push esi
call fcn.0048c1b0
push str.Source_pointer_of_an_SpvOpGenericCastToPtrExplicit_must_point_to_the_Generic_Storage_Class.
push 0xb82
push str..._.._src_compiler_spirv_vtn_variables.c
push ebp
call fcn.0048c1b0
push str.Storage_must_be_one_of_the_following_literal_values_from_Storage_Class:_Workgroup__CrossWorkgroup__or_Function.
push 0xb88
push str..._.._src_compiler_spirv_vtn_variables.c
push ebp
call fcn.0048c1b0
push str.Source_pointer_of_an_SpvOpGenericCastToPtrExplicit_must_have_a_type_of_OpTypePointer_whose_Type_is_the_same_as_the_Type_of_Result_Type
push 0xb7e
push str..._.._src_compiler_spirv_vtn_variables.c
push ebp
call fcn.0048c1b0
push str.Result_type_of_an_SpvOpGenericCastToPtrExplicit_must_be_an_OpTypePointer._Its_Storage_Class_must_match_the_storage_class_specified_in_the_instruction
push 0xb78
push str..._.._src_compiler_spirv_vtn_variables.c
push ebp
call fcn.0048c1b0
push str.Source_pointer_of_an_SpvOpGenericPtrMemSemantics_must_point_to_the_Generic_Storage_Class
push 0xba9
push str..._.._src_compiler_spirv_vtn_variables.c
push ebx
call fcn.0048c1b0
push str.Result_type_of_an_SpvOpGenericPtrMemSemantics_must_be_an_OpTypeInt_with_32_bit_Width_and_0_Signedness.
push 0xba4
push str..._.._src_compiler_spirv_vtn_variables.c
push ebx
call fcn.0048c1b0
inc eax
pop esi
xchg esi, eax
add byte [ebx - 0x18], dl
jbe 0x4caa4f
cld
jmp [eax + 0x58]
push str.The_result_type_of_an_OpConvertUToAccelerationStructure_must_be_OpTypeAccelerationStructure
push 0xbe7
push str..._.._src_compiler_spirv_vtn_variables.c
push esi
call fcn.0048c1b0
push str.OpConvertUToAccelerationStructure_may_only_be_used_to_cast_from_a_64_bit_scalar_integer_or_a_2_component_vector_of_32_bit_integers
push 0xbe4
push str..._.._src_compiler_spirv_vtn_variables.c
push esi
call fcn.0048c1b0
push ebx
push ebx
call fcn.004c2360
add esp, 4
push eax
push str.Unhandled_opcode
push str._s:__s___u__n
push 0xbef
push str..._.._src_compiler_spirv_vtn_variables.c
push dword [esp + 0x70]
call fcn.0048c1b0
inc edi
lcall 76, 0x9b3c004c
ja 0x4caa30
dec esp
add byte [edx + 0x4b004ca1], al
mov byte [0x9e6d004c], al
dec esp
add byte [ecx + 0x27004c9f], ch
pushfd
dec esp
add bh, dl
mov dword [0xa67f004c], eax
dec esp
add bl, cl
movsb byte es:[edi], byte [esi]
dec esp
add byte [0xa7004ca5], dh
movsd dword es:[edi], dword [esi]
dec esp
add byte [edx + ebp*4 + 0x4c], ah
add byte [eax], al
or eax, 0xd0d0d0d
or eax, 218959117
or eax, 218959117
or eax, 218959117
or eax, 218959117
or eax, 218959117
or eax, 218959117
or eax, 218959117
or eax, 218172685
or eax, 218959117
or eax, 218959117
or eax, 51184141
add al, 5
push es
pop es
pop es
pop es
or byte [ecx], cl
pop es
or eax, 218959117
or eax, 218959117
or eax, 218959117
or eax, 218959117
or eax, 218959117
or eax, 218959117
or eax, 218959117
or eax, 218959117
or eax, 218959117
or eax, 185404682
or eax, 1418726413
popfd
dec esp
add byte [edi - 0x63], ah
dec esp
add byte [edx - 0x63], bh
dec esp
add byte [ebp + ebx*4 + 0x4c], cl
add byte [eax], al
add byte [esp + eax], al
add al, 4
add al, 4
add al, 1
add al, 4
add al, 4
add al, 4
add al, 4
add al, 4
add al, 4
add al, 4
add al, 2
add al, 4
add al, 4
add al, 4
add al, 4
add al, 4
add al, 4
add al, 4
add al, 4
add al, 4
add al, 4
add al, 4
add al, 4
add al, 4
add al, 4
add al, 4
add al, 3
int3