Function at 0x4c9a90
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 0x4ca86a
je 0x4ca7dc
lea eax, [ebx - 1]
cmp eax, 0x7a
ja case.0x4c9ac0.2
movzx eax, byte [eax + 0x4cab44]
jmp dword [eax*4 + 0x4cab0c]
mov edi, dword [esp + 0x60]
mov esi, dword [esp + 0x58]
push 1
push dword [edi + 8]
push esi
call fcn.00498db0
push dword [edi + 4]
mov ebx, eax
push esi
call fcn.004c5b10
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.004c5b10
mov ebx, dword [edi + 0xc]
add esp, 8
mov dword [esp + 0x5c], eax
cmp ebx, 1
je 0x4c9b20
cmp ebx, 3
je 0x4c9b20
xor ecx, ecx
jmp 0x4c9b25
mov ecx, 1
mov eax, dword [esi + 0x6c]
cmp byte [eax + 5], 0
jne 0x4c9b67
test ecx, ecx
jne 0x4c9b40
cmp dword [esi + 0x64], 0x10400
jb 0x4c9b67
cmp ebx, 7
je 0x4c9b67
push 0x48c3a0
push 4
push dword [esi + 0x294]
lea eax, [edi + 8]
push dword [esi + 0x290]
push eax
call fcn.004fff4e
add esp, 0x14
test eax, eax
je 0x4ca975
push 6
push dword [edi + 8]
push esi
call fcn.00498db0
add esp, 0xc
mov ebp, eax
cmp dword [esp + 0x64], 4
jbe 0x4c9ba2
push dword [edi + 0x10]
push esi
call fcn.00499a30
add esp, 8
push eax
push ebx
push dword [esp + 0x64]
push ebp
push esi
call fcn.004c7df0
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.004c7df0
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.004cc210
push 6
push dword [ebp + 8]
mov esi, dword [eax + 0x14]
push edi
call fcn.00498db0
push 0x24
push dword [edi + 0x18]
mov dword [esp + 0x38], eax
call fcn.004604c0
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 0x4c9c11
mov ecx, dword [edi + 0x6c]
mov eax, dword [ecx + 0x38]
jmp 0x4c9c16
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.0045e980
mov esi, dword [esp + 0x38]
push 0
push dword [ebx + 0x1c]
mov dword [ebx + 4], eax
push ebx
push esi
push edi
call fcn.004c7df0
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.004604c0
add esp, 8
mov dword [esp + 0x20], eax
mov dword [eax], esi
mov dword [esp + 0x10], 0
cmp ebx, 0x43
je 0x4c9ce8
cmp ebx, 0x46
je 0x4c9ce8
xor cl, cl
jmp 0x4c9cea
mov cl, 1
mov byte [eax + 4], cl
cmp ebp, 4
jbe 0x4c9e65
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 0x4c9e90
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 0x4c9e1e
mov dword [ebx - 8], 1
mov ebp, dword [edx]
cmp ebp, dword [edi + 0x94]
jae 0x4ca993
mov eax, dword [edi + 0x98]
lea ecx, [ebp*8]
sub ecx, ebp
cmp dword [eax + ecx*4], 5
lea esi, [eax + ecx*4]
je 0x4c9d77
push 5
push ebp
push edi
call fcn.0048c290
add esp, 0xc
mov eax, dword [esi + 0x14]
cmp dword [eax], 1
jne 0x4ca97d
mov ecx, dword [eax + 4]
mov al, byte [ecx + 4]
cmp al, 5
je 0x4c9dbd
cmp al, 6
je 0x4c9dbd
cmp al, 7
je 0x4c9dbd
cmp al, 8
je 0x4c9dbd
test al, al
je 0x4c9dbd
cmp al, 1
je 0x4c9dbd
cmp al, 9
je 0x4c9dbd
cmp al, 0xa
je 0x4c9dbd
cmp al, 0xb
je 0x4c9dbd
cmp al, 0xd
je 0x4c9dbd
cmp al, 0xe
je 0x4c9dbd
cmp al, 0xf
jne 0x4ca97d
push ecx
call fcn.0040e4b0
add esp, 4
movzx eax, byte [eax + 0x4cabcc]
jmp dword [eax*4 + 0x4cabc0]
mov eax, dword [esi + 0x18]
mov ebp, dword [esp + 0x64]
movsx eax, byte [eax]
cdq
mov ecx, eax
mov eax, dword [esp + 0x1c]
jmp 0x4c9e29
mov eax, dword [esi + 0x18]
mov ebp, dword [esp + 0x64]
movsx eax, word [eax]
cdq
mov ecx, eax
mov eax, dword [esp + 0x1c]
jmp 0x4c9e29
mov eax, dword [esi + 0x18]
mov ebp, dword [esp + 0x64]
mov eax, dword [eax]
cdq
mov ecx, eax
mov eax, dword [esp + 0x1c]
jmp 0x4c9e29
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 0x4c9e29
mov dword [ebx - 8], 0
mov ecx, dword [edx]
xor edx, edx
mov dword [ebx], ecx
lea ecx, [esp + 0x10]
push ecx
push 0x48cd10
push eax
push edi
mov dword [ebx + 4], edx
call fcn.0048ecc0
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 0x4c9d10
mov ebx, dword [esp + 0x5c]
mov esi, dword [esp + 0x60]
push dword [esi + 4]
push edi
call fcn.004c5b10
push dword [esi + 0xc]
mov ebp, eax
push edi
call fcn.004cb2d0
add esp, 0x10
mov edx, eax
cmp ebx, 0x42
je 0x4c9e96
cmp ebx, 0x46
je 0x4c9e96
xor al, al
jmp 0x4c9e98
push eax
jmp 0x4ca994
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 0x4c9ec2
mov eax, dword [edi + 0x6c]
cmp byte [eax + 0x55], 0
je 0x4c9ec2
or ecx, 0x20
mov dword [esp + 0x10], ecx
push esi
push edx
push edi
call fcn.004cb330
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.004cbeb0
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.004cbe50
push dword [ebx + 8]
mov edi, eax
push ebp
call fcn.004cbe50
push edi
push ebp
mov esi, eax
call fcn.004cc270
push esi
push ebp
mov dword [esp + 0x48], eax
call fcn.004cc270
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.004c7a90
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.004c9950
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.004c9950
mov esi, dword [esp + 0x40]
add esp, 0x20
test al, al
jne 0x4c9fa1
mov ebx, dword [esp + 0x5c]
mov eax, esi
jmp 0x4c9fa9
mov eax, dword [esp + 0x1c]
mov ebx, dword [esp + 0x10]
push eax
push dword [esp + 0x28]
push ebp
call fcn.004c7990
push esi
push dword [esp + 0x38]
mov edi, eax
push ebp
call fcn.004c7990
push dword [edi]
mov esi, eax
push dword [esp + 0x30]
push ebx
push ebp
call fcn.004c8aa0
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.004c65f0
push dword [esi]
push dword [esp + 0x6c]
push ebx
push ebp
call fcn.004c8a70
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.004cbe50
push dword [ebx + 8]
mov edi, eax
push ebp
call fcn.004cbe50
push dword [ebx + 0xc]
mov esi, eax
push ebp
call fcn.0048f000
push edi
push ebp
mov dword [esp + 0x3c], eax
call fcn.004cc270
push esi
push ebp
mov dword [esp + 0x48], eax
call fcn.004cc270
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.004c9950
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.004c9950
mov edi, dword [esp + 0x30]
add esp, 0x20
test al, al
jne 0x4ca0d4
mov eax, dword [esp + 0x18]
mov ebx, edi
jmp 0x4ca0dc
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.004c7990
push dword [esp + 0x24]
mov esi, eax
push dword [esp + 0x30]
push ebp
call fcn.004c7990
push dword [esi]
mov dword [esp + 0x34], eax
push dword [esp + 0x30]
push ebx
push ebp
call fcn.004c8aa0
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.004cbd10
push dword [esp + 0x48]
mov edi, eax
push esi
call fcn.004cbd10
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.004c8a70
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.004c5b10
push 6
push dword [ebx + 0xc]
mov edi, eax
push ebp
call fcn.004cc210
mov esi, eax
push esi
push ebp
call fcn.004cc270
mov ecx, dword [esi + 0x14]
mov ebx, eax
push dword [ecx + 0x18]
push edi
push dword [esp + 0x80]
push ebp
call fcn.004c7a90
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.004c9950
add esp, 0x4c
push dword [esp + 0x30]
push ebx
push ebp
call fcn.004c7990
mov ebx, dword [esp + 0x34]
mov esi, eax
push dword [esi]
push dword [esp + 0x3c]
push ebx
push ebp
call fcn.004c8aa0
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.004cc300
push eax
push dword [edi + 8]
push ebp
call fcn.00498cf0
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.004cbe50
push eax
push ebp
mov dword [esp + 0x6c], eax
call fcn.004cc270
push dword [esi + 8]
mov edi, eax
push ebp
call fcn.00499a30
mov ecx, dword [edi + 4]
add esp, 0x18
mov edx, dword [ecx + 4]
test edx, edx
je 0x4ca9a9
cmp byte [edx + 4], 0xb
lea ecx, [eax + 0x14]
jne 0x4ca3c2
mov eax, dword [ecx]
mov eax, dword [eax + 4]
cmp byte [eax + 4], 0
jne 0x4ca3c2
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.0048c2e0
mov eax, dword [edi + 4]
push dword [eax + 4]
push ebp
call fcn.0048e650
push dword [esi + 8]
mov ebx, eax
push ebp
call fcn.004990e0
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 0x4ca39a
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.004cc340
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.004c7a90
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.004c9950
push dword [esp + 0x60]
push edi
push ebp
call fcn.004c7990
push dword [esi + 8]
mov ebx, eax
push ebp
call fcn.004990e0
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.004cc340
push dword [ebx]
push dword [esp + 0x3c]
push edi
push ebp
call fcn.004c8a70
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.004cb2d0
mov edx, dword [ebp + 0x10]
mov esi, eax
add esp, 8
mov ecx, dword [esi + 4]
cmp dword [ecx], 5
jne 0x4ca9be
mov eax, dword [ecx + 0xc]
dec eax
cmp edx, eax
jne 0x4ca9d3
mov eax, dword [ecx + 0x18]
mov eax, dword [eax + edx*4]
cmp dword [eax], 4
jne 0x4ca9d3
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.004cb330
mov ecx, dword [esi + 4]
push eax
push ebx
mov ebp, dword [ecx + 0x14]
or ebp, dword [esi + 0x1c]
call fcn.004cbd60
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.00498be0
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.004c5b10
push dword [edi + 0xc]
mov ebx, eax
push esi
call fcn.0048f1c0
add esp, 0x10
cmp dword [eax], 6
jne 0x4ca9fd
cmp dword [eax + 4], 0
je 0x4ca9fd
mov eax, dword [ebx]
cmp eax, 2
je 0x4ca58d
cmp eax, 1
jne 0x4ca9e8
push dword [edi + 0xc]
push esi
call fcn.0048f000
push dword [ebx + 4]
push eax
push esi
call fcn.004c7400
push eax
push dword [edi + 8]
push esi
call fcn.00498be0
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.004c5b10
push dword [ebx + 0xc]
mov edi, eax
push esi
call fcn.0048f1c0
add esp, 0x10
cmp dword [edi], 6
jne 0x4caa27
cmp dword [edi + 4], 0
je 0x4caa27
mov eax, dword [eax]
cmp eax, 2
je 0x4ca5f7
cmp eax, 1
jne 0x4caa12
push dword [ebx + 0xc]
push esi
call fcn.0048f000
push dword [edi + 4]
push eax
push esi
call fcn.004c7400
push edi
push eax
push esi
call fcn.004cbc00
push eax
push dword [ebx + 8]
push esi
call fcn.004cbeb0
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.004c5b10
push dword [ebx + 0xc]
mov edi, eax
push ebp
call fcn.0048f1c0
mov esi, dword [ebx + 0x10]
add esp, 0x10
cmp dword [edi], 6
mov edx, eax
jne 0x4caa7b
cmp dword [edi + 0x1c], esi
jne 0x4caa7b
cmp dword [edx], 6
jne 0x4caa66
mov eax, dword [edx + 0x18]
mov ecx, dword [edi + 0x18]
mov eax, dword [eax + 8]
cmp eax, dword [ecx + 8]
jne 0x4caa66
cmp dword [edx + 0x1c], 8
jne 0x4caa3c
cmp esi, 4
je 0x4ca695
cmp esi, 5
je 0x4ca695
cmp esi, 7
jne 0x4caa51
push dword [ebx + 0xc]
push ebp
call fcn.004cb270
mov ebx, eax
lea eax, [esp + 0x64]
push eax
push dword [edi + 0x18]
push esi
push ebp
call fcn.004cbf30
push eax
push ebp
call fcn.004cb130
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.004c6390
push edi
push esi
push eax
push ebp
call fcn.0049b790
push eax
jmp 0x4ca962
mov ebp, dword [esp + 0x60]
mov ebx, dword [esp + 0x58]
push dword [ebp + 4]
push ebx
call fcn.004c5b10
push dword [ebp + 0xc]
mov esi, eax
push ebx
call fcn.0048f1c0
add esp, 0x10
cmp dword [esi], 1
jne 0x4caaa5
cmp dword [esi + 4], 0x536fac
jne 0x4caaa5
cmp dword [eax], 6
jne 0x4caa90
cmp dword [eax + 0x1c], 8
jne 0x4caa90
push dword [ebp + 0xc]
push ebx
call fcn.004cb270
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.004c6390
add esp, 0x14
push eax
push ebx
call fcn.0049b790
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.004c6390
add esp, 0x14
push eax
push ebx
call fcn.0049b790
push eax
push esi
push ebx
call fcn.004a3030
push eax
push dword [ebp + 8]
push ebx
call fcn.00498be0
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.004c5b10
push dword [ebx + 0xc]
mov dword [esp + 0x68], eax
push esi
call fcn.0048f1c0
mov ebp, eax
add esp, 0x10
cmp dword [ebp], 2
jne 0x4ca81e
push 0
push 0
push 0
push 1
push 2
push 0
call fcn.0045e980
add esp, 0x18
cmp dword [ebp + 4], eax
je 0x4ca835
cmp dword [ebp], 1
jne 0x4caacf
cmp dword [ebp + 4], 0x537524
jne 0x4caacf
mov edi, dword [esp + 0x5c]
cmp dword [edi], 0xa
jne 0x4caaba
push dword [ebx + 0xc]
push esi
call fcn.0048f000
push dword [edi + 4]
push eax
push esi
call fcn.004c7400
push eax
push dword [ebx + 8]
push esi
call fcn.00498be0
add esp, 0x20
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x44
ret
mov eax, ebx
sub eax, 0x15c7
je 0x4ca8ef
sub eax, 1
jne case.0x4c9ac0.2
mov esi, dword [esp + 0x60]
mov ebx, dword [esp + 0x58]
push dword [esi + 4]
push ebx
call fcn.004cb270
push dword [esi + 8]
mov edi, eax
push ebx
call fcn.004990e0
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.004c5b10
push dword [ebx + 0xc]
mov edi, eax
push ebp
call fcn.004cb270
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.00498be0
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.0048c1f0
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.0048c1f0
push str.Invalid_destination_type_for_OpStore
push 0xb08
push str..._.._src_compiler_spirv_vtn_variables.c
push ebp
call fcn.0048c1f0
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.0048c1f0
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.0048c1f0
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.0048c1f0
push str.OpConvertPtrToU_can_only_be_used_on_physical_pointers
push 0xb4e
push str..._.._src_compiler_spirv_vtn_variables.c
push esi
call fcn.0048c1f0
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.0048c1f0
push str.OpConvertUToPtr_can_only_be_used_on_physical_pointers
push 0xb62
push str..._.._src_compiler_spirv_vtn_variables.c
push esi
call fcn.0048c1f0
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.0048c1f0
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.0048c1f0
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.0048c1f0
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.0048c1f0
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.0048c1f0
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.0048c1f0
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.0048c1f0
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.0048c1f0
push ebx
push ebx
call fcn.004c23e0
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.0048c1f0
invalid