Function at 0x4c9890
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 0x4ca66a
je 0x4ca5dc
lea eax, [ebx - 1]
cmp eax, 0x7a
ja case.0x4c98c0.2
movzx eax, byte [eax + 0x4ca944]
jmp dword [eax*4 + 0x4ca90c]
mov edi, dword [esp + 0x60]
mov esi, dword [esp + 0x58]
push 1
push dword [edi + 8]
push esi
call fcn.00498c00
push dword [edi + 4]
mov ebx, eax
push esi
call fcn.004c5910
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.004c5910
mov ebx, dword [edi + 0xc]
add esp, 8
mov dword [esp + 0x5c], eax
cmp ebx, 1
je 0x4c9920
cmp ebx, 3
je 0x4c9920
xor ecx, ecx
jmp 0x4c9925
mov ecx, 1
mov eax, dword [esi + 0x6c]
cmp byte [eax + 5], 0
jne 0x4c9967
test ecx, ecx
jne 0x4c9940
cmp dword [esi + 0x64], 0x10400
jb 0x4c9967
cmp ebx, 7
je 0x4c9967
push 0x48c210
push 4
push dword [esi + 0x294]
lea eax, [edi + 8]
push dword [esi + 0x290]
push eax
call fcn.004ffd0e
add esp, 0x14
test eax, eax
je 0x4ca775
push 6
push dword [edi + 8]
push esi
call fcn.00498c00
add esp, 0xc
mov ebp, eax
cmp dword [esp + 0x64], 4
jbe 0x4c99a2
push dword [edi + 0x10]
push esi
call fcn.00499890
add esp, 8
push eax
push ebx
push dword [esp + 0x64]
push ebp
push esi
call fcn.004c7bf0
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.004c7bf0
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.004cc010
push 6
push dword [ebp + 8]
mov esi, dword [eax + 0x14]
push edi
call fcn.00498c00
push 0x24
push dword [edi + 0x18]
mov dword [esp + 0x38], eax
call fcn.00460330
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 0x4c9a11
mov ecx, dword [edi + 0x6c]
mov eax, dword [ecx + 0x38]
jmp 0x4c9a16
mov eax, 0xb
push eax
mov dword [esp + 0x60], eax
call fcn.0040f3a0
push dword [esp + 0x60]
mov esi, eax
call fcn.0040f3f0
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.0045e7f0
mov esi, dword [esp + 0x38]
push 0
push dword [ebx + 0x1c]
mov dword [ebx + 4], eax
push ebx
push esi
push edi
call fcn.004c7bf0
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.00460330
add esp, 8
mov dword [esp + 0x20], eax
mov dword [eax], esi
mov dword [esp + 0x10], 0
cmp ebx, 0x43
je 0x4c9ae8
cmp ebx, 0x46
je 0x4c9ae8
xor cl, cl
jmp 0x4c9aea
mov cl, 1
mov byte [eax + 4], cl
cmp ebp, 4
jbe 0x4c9c65
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 0x4c9c90
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 0x4c9c1e
mov dword [ebx - 8], 1
mov ebp, dword [edx]
cmp ebp, dword [edi + 0x94]
jae 0x4ca793
mov eax, dword [edi + 0x98]
lea ecx, [ebp*8]
sub ecx, ebp
cmp dword [eax + ecx*4], 5
lea esi, [eax + ecx*4]
je 0x4c9b77
push 5
push ebp
push edi
call fcn.0048c100
add esp, 0xc
mov eax, dword [esi + 0x14]
cmp dword [eax], 1
jne 0x4ca77d
mov ecx, dword [eax + 4]
mov al, byte [ecx + 4]
cmp al, 5
je 0x4c9bbd
cmp al, 6
je 0x4c9bbd
cmp al, 7
je 0x4c9bbd
cmp al, 8
je 0x4c9bbd
test al, al
je 0x4c9bbd
cmp al, 1
je 0x4c9bbd
cmp al, 9
je 0x4c9bbd
cmp al, 0xa
je 0x4c9bbd
cmp al, 0xb
je 0x4c9bbd
cmp al, 0xd
je 0x4c9bbd
cmp al, 0xe
je 0x4c9bbd
cmp al, 0xf
jne 0x4ca77d
push ecx
call fcn.0040e400
add esp, 4
movzx eax, byte [eax + 0x4ca9cc]
jmp dword [eax*4 + 0x4ca9c0]
mov eax, dword [esi + 0x18]
mov ebp, dword [esp + 0x64]
movsx eax, byte [eax]
cdq
mov ecx, eax
mov eax, dword [esp + 0x1c]
jmp 0x4c9c29
mov eax, dword [esi + 0x18]
mov ebp, dword [esp + 0x64]
movsx eax, word [eax]
cdq
mov ecx, eax
mov eax, dword [esp + 0x1c]
jmp 0x4c9c29
mov eax, dword [esi + 0x18]
mov ebp, dword [esp + 0x64]
mov eax, dword [eax]
cdq
mov ecx, eax
mov eax, dword [esp + 0x1c]
jmp 0x4c9c29
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 0x4c9c29
mov dword [ebx - 8], 0
mov ecx, dword [edx]
xor edx, edx
mov dword [ebx], ecx
lea ecx, [esp + 0x10]
push ecx
push 0x48cb80
push eax
push edi
mov dword [ebx + 4], edx
call fcn.0048eb30
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 0x4c9b10
mov ebx, dword [esp + 0x5c]
mov esi, dword [esp + 0x60]
push dword [esi + 4]
push edi
call fcn.004c5910
push dword [esi + 0xc]
mov ebp, eax
push edi
call fcn.004cb0d0
add esp, 0x10
mov edx, eax
cmp ebx, 0x42
je 0x4c9c96
cmp ebx, 0x46
je 0x4c9c96
xor al, al
jmp 0x4c9c98
push eax
jmp 0x4ca794
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 0x4c9cc2
mov eax, dword [edi + 0x6c]
cmp byte [eax + 0x55], 0
je 0x4c9cc2
or ecx, 0x20
mov dword [esp + 0x10], ecx
push esi
push edx
push edi
call fcn.004cb130
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.004cbcb0
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.004cbc50
push dword [ebx + 8]
mov edi, eax
push ebp
call fcn.004cbc50
push edi
push ebp
mov esi, eax
call fcn.004cc070
push esi
push ebp
mov dword [esp + 0x48], eax
call fcn.004cc070
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.004c7890
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.004c9750
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.004c9750
mov esi, dword [esp + 0x40]
add esp, 0x20
test al, al
jne 0x4c9da1
mov ebx, dword [esp + 0x5c]
mov eax, esi
jmp 0x4c9da9
mov eax, dword [esp + 0x1c]
mov ebx, dword [esp + 0x10]
push eax
push dword [esp + 0x28]
push ebp
call fcn.004c7790
push esi
push dword [esp + 0x38]
mov edi, eax
push ebp
call fcn.004c7790
push dword [edi]
mov esi, eax
push dword [esp + 0x30]
push ebx
push ebp
call fcn.004c88a0
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.004c63f0
push dword [esi]
push dword [esp + 0x6c]
push ebx
push ebp
call fcn.004c8870
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.004cbc50
push dword [ebx + 8]
mov edi, eax
push ebp
call fcn.004cbc50
push dword [ebx + 0xc]
mov esi, eax
push ebp
call fcn.0048ee70
push edi
push ebp
mov dword [esp + 0x3c], eax
call fcn.004cc070
push esi
push ebp
mov dword [esp + 0x48], eax
call fcn.004cc070
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.004c9750
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.004c9750
mov edi, dword [esp + 0x30]
add esp, 0x20
test al, al
jne 0x4c9ed4
mov eax, dword [esp + 0x18]
mov ebx, edi
jmp 0x4c9edc
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.004c7790
push dword [esp + 0x24]
mov esi, eax
push dword [esp + 0x30]
push ebp
call fcn.004c7790
push dword [esi]
mov dword [esp + 0x34], eax
push dword [esp + 0x30]
push ebx
push ebp
call fcn.004c88a0
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.004cbb10
push dword [esp + 0x48]
mov edi, eax
push esi
call fcn.004cbb10
mov esi, eax
mov eax, dword [esp + 0x90]
push 0x218
push dword [eax + 0x10]
call fcn.00409a10
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 + 0x5237f4]
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 + 0x5237f5]
mov dword [edx + eax*4 + 0x30], ecx
call fcn.0041dbe0
mov eax, dword [esp + 0x20]
push dword [eax]
push dword [esp + 0x3c]
push esi
push ebx
call fcn.004c8870
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.004c5910
push 6
push dword [ebx + 0xc]
mov edi, eax
push ebp
call fcn.004cc010
mov esi, eax
push esi
push ebp
call fcn.004cc070
mov ecx, dword [esi + 0x14]
mov ebx, eax
push dword [ecx + 0x18]
push edi
push dword [esp + 0x80]
push ebp
call fcn.004c7890
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.004c9750
add esp, 0x4c
push dword [esp + 0x30]
push ebx
push ebp
call fcn.004c7790
mov ebx, dword [esp + 0x34]
mov esi, eax
push dword [esi]
push dword [esp + 0x3c]
push ebx
push ebp
call fcn.004c88a0
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.004cc100
push eax
push dword [edi + 8]
push ebp
call fcn.00498b40
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.004cbc50
push eax
push ebp
mov dword [esp + 0x6c], eax
call fcn.004cc070
push dword [esi + 8]
mov edi, eax
push ebp
call fcn.00499890
mov ecx, dword [edi + 4]
add esp, 0x18
mov edx, dword [ecx + 4]
test edx, edx
je 0x4ca7a9
cmp byte [edx + 4], 0xb
lea ecx, [eax + 0x14]
jne 0x4ca1c2
mov eax, dword [ecx]
mov eax, dword [eax + 4]
cmp byte [eax + 4], 0
jne 0x4ca1c2
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.0048c150
mov eax, dword [edi + 4]
push dword [eax + 4]
push ebp
call fcn.0048e4c0
push dword [esi + 8]
mov ebx, eax
push ebp
call fcn.00498f40
mov eax, dword [eax + 4]
mov dword [esp + 0x4c], eax
movzx esi, byte [eax + 0x11]
push esi
push 0
push 0
call fcn.0040fcf0
push esi
push 1
push dword [ebp + 0x10]
mov dword [esp + 0x94], eax
mov dword [esp + 0x68], edx
call fcn.00409bc0
mov esi, eax
add esp, 0x38
test esi, esi
je 0x4ca19a
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.0041dbe0
add esp, 8
add esi, 0x18
push esi
push dword [esp + 0x30]
push 0x146
push ebp
call fcn.0041d850
push 0
push edi
push ebx
push ebp
mov dword [ebx + 4], eax
call fcn.004cc140
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.004c7890
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.004c9750
push dword [esp + 0x60]
push edi
push ebp
call fcn.004c7790
push dword [esi + 8]
mov ebx, eax
push ebp
call fcn.00498f40
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.004cc140
push dword [ebx]
push dword [esp + 0x3c]
push edi
push ebp
call fcn.004c8870
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.004cb0d0
mov edx, dword [ebp + 0x10]
mov esi, eax
add esp, 8
mov ecx, dword [esi + 4]
cmp dword [ecx], 5
jne 0x4ca7be
mov eax, dword [ecx + 0xc]
dec eax
cmp edx, eax
jne 0x4ca7d3
mov eax, dword [ecx + 0x18]
mov eax, dword [eax + edx*4]
cmp dword [eax], 4
jne 0x4ca7d3
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.004cb130
mov ecx, dword [esi + 4]
push eax
push ebx
mov ebp, dword [ecx + 0x14]
or ebp, dword [esi + 0x1c]
call fcn.004cbb60
push 0x5d
push dword [ebx + 0x10]
mov esi, eax
call fcn.00409a10
mov edi, eax
push 0x20
push 1
lea ebx, [edi + 0x1c]
push ebx
push edi
call fcn.00407ec0
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 + 0x5237e6]
mov dword [edi + eax*4 + 0x30], ebp
call fcn.0041dbe0
mov eax, dword [esp + 0x94]
push ebx
push dword [eax + 8]
push esi
call fcn.00498a30
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.004c5910
push dword [edi + 0xc]
mov ebx, eax
push esi
call fcn.0048f030
add esp, 0x10
cmp dword [eax], 6
jne 0x4ca7fd
cmp dword [eax + 4], 0
je 0x4ca7fd
mov eax, dword [ebx]
cmp eax, 2
je 0x4ca38d
cmp eax, 1
jne 0x4ca7e8
push dword [edi + 0xc]
push esi
call fcn.0048ee70
push dword [ebx + 4]
push eax
push esi
call fcn.004c7200
push eax
push dword [edi + 8]
push esi
call fcn.00498a30
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.004c5910
push dword [ebx + 0xc]
mov edi, eax
push esi
call fcn.0048f030
add esp, 0x10
cmp dword [edi], 6
jne 0x4ca827
cmp dword [edi + 4], 0
je 0x4ca827
mov eax, dword [eax]
cmp eax, 2
je 0x4ca3f7
cmp eax, 1
jne 0x4ca812
push dword [ebx + 0xc]
push esi
call fcn.0048ee70
push dword [edi + 4]
push eax
push esi
call fcn.004c7200
push edi
push eax
push esi
call fcn.004cba00
push eax
push dword [ebx + 8]
push esi
call fcn.004cbcb0
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.004c5910
push dword [ebx + 0xc]
mov edi, eax
push ebp
call fcn.0048f030
mov esi, dword [ebx + 0x10]
add esp, 0x10
cmp dword [edi], 6
mov edx, eax
jne 0x4ca87b
cmp dword [edi + 0x1c], esi
jne 0x4ca87b
cmp dword [edx], 6
jne 0x4ca866
mov eax, dword [edx + 0x18]
mov ecx, dword [edi + 0x18]
mov eax, dword [eax + 8]
cmp eax, dword [ecx + 8]
jne 0x4ca866
cmp dword [edx + 0x1c], 8
jne 0x4ca83c
cmp esi, 4
je 0x4ca495
cmp esi, 5
je 0x4ca495
cmp esi, 7
jne 0x4ca851
push dword [ebx + 0xc]
push ebp
call fcn.004cb070
mov ebx, eax
lea eax, [esp + 0x64]
push eax
push dword [edi + 0x18]
push esi
push ebp
call fcn.004cbd30
push eax
push ebp
call fcn.004caf30
mov esi, eax
push esi
call fcn.0040f3e0
add esp, 0x24
push eax
push esi
call fcn.0040f3a0
add esp, 4
push eax
push esi
call fcn.0040f3f0
add esp, 4
push eax
push ebp
call fcn.0041c520
push dword [esp + 0x6c]
lea esi, [ebx + 0x48]
mov edi, eax
push 0
push esi
push 1
push ebp
call fcn.004c6190
push edi
push esi
push eax
push ebp
call fcn.0049b600
push eax
jmp 0x4ca762
mov ebp, dword [esp + 0x60]
mov ebx, dword [esp + 0x58]
push dword [ebp + 4]
push ebx
call fcn.004c5910
push dword [ebp + 0xc]
mov esi, eax
push ebx
call fcn.0048f030
add esp, 0x10
cmp dword [esi], 1
jne 0x4ca8a5
cmp dword [esi + 4], 0x536eec
jne 0x4ca8a5
cmp dword [eax], 6
jne 0x4ca890
cmp dword [eax + 0x1c], 8
jne 0x4ca890
push dword [ebp + 0xc]
push ebx
call fcn.004cb070
push 0
push ebx
lea edi, [eax + 0x48]
call fcn.004109b0
add esp, 0x10
push eax
push 0x200
push ebx
call fcn.004109b0
add esp, 8
push eax
push 0x20000
push 0
push edi
push 1
push ebx
call fcn.004c6190
add esp, 0x14
push eax
push ebx
call fcn.0049b600
push 0
push ebx
mov esi, eax
call fcn.004109b0
add esp, 0x18
push eax
push 0x100
push ebx
call fcn.004109b0
add esp, 8
push eax
push 0x10000
push 0
push edi
push 1
push ebx
call fcn.004c6190
add esp, 0x14
push eax
push ebx
call fcn.0049b600
push eax
push esi
push ebx
call fcn.004a2ea0
push eax
push dword [ebp + 8]
push ebx
call fcn.00498a30
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.004c5910
push dword [ebx + 0xc]
mov dword [esp + 0x68], eax
push esi
call fcn.0048f030
mov ebp, eax
add esp, 0x10
cmp dword [ebp], 2
jne 0x4ca61e
push 0
push 0
push 0
push 1
push 2
push 0
call fcn.0045e7f0
add esp, 0x18
cmp dword [ebp + 4], eax
je 0x4ca635
cmp dword [ebp], 1
jne 0x4ca8cf
cmp dword [ebp + 4], 0x537464
jne 0x4ca8cf
mov edi, dword [esp + 0x5c]
cmp dword [edi], 0xa
jne 0x4ca8ba
push dword [ebx + 0xc]
push esi
call fcn.0048ee70
push dword [edi + 4]
push eax
push esi
call fcn.004c7200
push eax
push dword [ebx + 8]
push esi
call fcn.00498a30
add esp, 0x20
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x44
ret
mov eax, ebx
sub eax, 0x15c7
je 0x4ca6ef
sub eax, 1
jne case.0x4c98c0.2
mov esi, dword [esp + 0x60]
mov ebx, dword [esp + 0x58]
push dword [esi + 4]
push ebx
call fcn.004cb070
push dword [esi + 8]
mov edi, eax
push ebx
call fcn.00498f40
push 0x259
push dword [ebx + 0x10]
mov esi, dword [eax + 4]
call fcn.00409a10
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.0041dbe0
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.004c5910
push dword [ebx + 0xc]
mov edi, eax
push ebp
call fcn.004cb070
push 0x100
push dword [ebp + 0x10]
mov esi, eax
call fcn.00409a10
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.0040e400
movzx ecx, byte [edx + 0x11]
push eax
movzx eax, byte [edx + 0x10]
imul ecx, eax
push ecx
push esi
push ebx
call fcn.00407ec0
mov al, byte [ebx + 0x2c]
push ebx
push ebp
mov byte [ebx + 0x30], al
call fcn.0041dbe0
push esi
mov eax, dword [esp + 0x98]
push dword [eax + 8]
push ebp
call fcn.00498a30
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.0048c060
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.0048c060
push str.Invalid_destination_type_for_OpStore
push 0xb08
push str..._.._src_compiler_spirv_vtn_variables.c
push ebp
call fcn.0048c060
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.0048c060
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.0048c060
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.0048c060
push str.OpConvertPtrToU_can_only_be_used_on_physical_pointers
push 0xb4e
push str..._.._src_compiler_spirv_vtn_variables.c
push esi
call fcn.0048c060
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.0048c060
push str.OpConvertUToPtr_can_only_be_used_on_physical_pointers
push 0xb62
push str..._.._src_compiler_spirv_vtn_variables.c
push esi
call fcn.0048c060
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.0048c060
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.0048c060
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.0048c060
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.0048c060
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.0048c060
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.0048c060
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.0048c060
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.0048c060
push ebx
push ebx
call fcn.004c2200
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.0048c060
invalid