Function at 0x4c9ac0
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 0x4ca89a
je 0x4ca80c
lea eax, [ebx - 1]
cmp eax, 0x7a
ja case.0x4c9af0.2
movzx eax, byte [eax + 0x4cab74]
jmp dword [eax*4 + 0x4cab3c]
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.004c5b40
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.004c5b40
mov ebx, dword [edi + 0xc]
add esp, 8
mov dword [esp + 0x5c], eax
cmp ebx, 1
je 0x4c9b50
cmp ebx, 3
je 0x4c9b50
xor ecx, ecx
jmp 0x4c9b55
mov ecx, 1
mov eax, dword [esi + 0x6c]
cmp byte [eax + 5], 0
jne 0x4c9b97
test ecx, ecx
jne 0x4c9b70
cmp dword [esi + 0x64], 0x10400
jb 0x4c9b97
cmp ebx, 7
je 0x4c9b97
push 0x48c3a0
push 4
push dword [esi + 0x294]
lea eax, [edi + 8]
push dword [esi + 0x290]
push eax
call fcn.004fff7e
add esp, 0x14
test eax, eax
je 0x4ca9a5
push 6
push dword [edi + 8]
push esi
call fcn.00498db0
add esp, 0xc
mov ebp, eax
cmp dword [esp + 0x64], 4
jbe 0x4c9bd2
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.004c7e20
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.004c7e20
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.004cc240
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 0x4c9c41
mov ecx, dword [edi + 0x6c]
mov eax, dword [ecx + 0x38]
jmp 0x4c9c46
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.004c7e20
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 0x4c9d18
cmp ebx, 0x46
je 0x4c9d18
xor cl, cl
jmp 0x4c9d1a
mov cl, 1
mov byte [eax + 4], cl
cmp ebp, 4
jbe 0x4c9e95
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 0x4c9ec0
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 0x4c9e4e
mov dword [ebx - 8], 1
mov ebp, dword [edx]
cmp ebp, dword [edi + 0x94]
jae 0x4ca9c3
mov eax, dword [edi + 0x98]
lea ecx, [ebp*8]
sub ecx, ebp
cmp dword [eax + ecx*4], 5
lea esi, [eax + ecx*4]
je 0x4c9da7
push 5
push ebp
push edi
call fcn.0048c290
add esp, 0xc
mov eax, dword [esi + 0x14]
cmp dword [eax], 1
jne 0x4ca9ad
mov ecx, dword [eax + 4]
mov al, byte [ecx + 4]
cmp al, 5
je 0x4c9ded
cmp al, 6
je 0x4c9ded
cmp al, 7
je 0x4c9ded
cmp al, 8
je 0x4c9ded
test al, al
je 0x4c9ded
cmp al, 1
je 0x4c9ded
cmp al, 9
je 0x4c9ded
cmp al, 0xa
je 0x4c9ded
cmp al, 0xb
je 0x4c9ded
cmp al, 0xd
je 0x4c9ded
cmp al, 0xe
je 0x4c9ded
cmp al, 0xf
jne 0x4ca9ad
push ecx
call fcn.0040e4b0
add esp, 4
movzx eax, byte [eax + 0x4cabfc]
jmp dword [eax*4 + 0x4cabf0]
mov eax, dword [esi + 0x18]
mov ebp, dword [esp + 0x64]
movsx eax, byte [eax]
cdq
mov ecx, eax
mov eax, dword [esp + 0x1c]
jmp 0x4c9e59
mov eax, dword [esi + 0x18]
mov ebp, dword [esp + 0x64]
movsx eax, word [eax]
cdq
mov ecx, eax
mov eax, dword [esp + 0x1c]
jmp 0x4c9e59
mov eax, dword [esi + 0x18]
mov ebp, dword [esp + 0x64]
mov eax, dword [eax]
cdq
mov ecx, eax
mov eax, dword [esp + 0x1c]
jmp 0x4c9e59
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 0x4c9e59
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 0x4c9d40
mov ebx, dword [esp + 0x5c]
mov esi, dword [esp + 0x60]
push dword [esi + 4]
push edi
call fcn.004c5b40
push dword [esi + 0xc]
mov ebp, eax
push edi
call fcn.004cb300
add esp, 0x10
mov edx, eax
cmp ebx, 0x42
je 0x4c9ec6
cmp ebx, 0x46
je 0x4c9ec6
xor al, al
jmp 0x4c9ec8
push eax
jmp 0x4ca9c4
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 0x4c9ef2
mov eax, dword [edi + 0x6c]
cmp byte [eax + 0x55], 0
je 0x4c9ef2
or ecx, 0x20
mov dword [esp + 0x10], ecx
push esi
push edx
push edi
call fcn.004cb360
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.004cbee0
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.004cbe80
push dword [ebx + 8]
mov edi, eax
push ebp
call fcn.004cbe80
push edi
push ebp
mov esi, eax
call fcn.004cc2a0
push esi
push ebp
mov dword [esp + 0x48], eax
call fcn.004cc2a0
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.004c7ac0
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.004c9980
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.004c9980
mov esi, dword [esp + 0x40]
add esp, 0x20
test al, al
jne 0x4c9fd1
mov ebx, dword [esp + 0x5c]
mov eax, esi
jmp 0x4c9fd9
mov eax, dword [esp + 0x1c]
mov ebx, dword [esp + 0x10]
push eax
push dword [esp + 0x28]
push ebp
call fcn.004c79c0
push esi
push dword [esp + 0x38]
mov edi, eax
push ebp
call fcn.004c79c0
push dword [edi]
mov esi, eax
push dword [esp + 0x30]
push ebx
push ebp
call fcn.004c8ad0
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.004c6620
push dword [esi]
push dword [esp + 0x6c]
push ebx
push ebp
call fcn.004c8aa0
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.004cbe80
push dword [ebx + 8]
mov edi, eax
push ebp
call fcn.004cbe80
push dword [ebx + 0xc]
mov esi, eax
push ebp
call fcn.0048f000
push edi
push ebp
mov dword [esp + 0x3c], eax
call fcn.004cc2a0
push esi
push ebp
mov dword [esp + 0x48], eax
call fcn.004cc2a0
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.004c9980
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.004c9980
mov edi, dword [esp + 0x30]
add esp, 0x20
test al, al
jne 0x4ca104
mov eax, dword [esp + 0x18]
mov ebx, edi
jmp 0x4ca10c
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.004c79c0
push dword [esp + 0x24]
mov esi, eax
push dword [esp + 0x30]
push ebp
call fcn.004c79c0
push dword [esi]
mov dword [esp + 0x34], eax
push dword [esp + 0x30]
push ebx
push ebp
call fcn.004c8ad0
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.004cbd40
push dword [esp + 0x48]
mov edi, eax
push esi
call fcn.004cbd40
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.004c8aa0
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.004c5b40
push 6
push dword [ebx + 0xc]
mov edi, eax
push ebp
call fcn.004cc240
mov esi, eax
push esi
push ebp
call fcn.004cc2a0
mov ecx, dword [esi + 0x14]
mov ebx, eax
push dword [ecx + 0x18]
push edi
push dword [esp + 0x80]
push ebp
call fcn.004c7ac0
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.004c9980
add esp, 0x4c
push dword [esp + 0x30]
push ebx
push ebp
call fcn.004c79c0
mov ebx, dword [esp + 0x34]
mov esi, eax
push dword [esi]
push dword [esp + 0x3c]
push ebx
push ebp
call fcn.004c8ad0
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.004cc330
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.004cbe80
push eax
push ebp
mov dword [esp + 0x6c], eax
call fcn.004cc2a0
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 0x4ca9d9
cmp byte [edx + 4], 0xb
lea ecx, [eax + 0x14]
jne 0x4ca3f2
mov eax, dword [ecx]
mov eax, dword [eax + 4]
cmp byte [eax + 4], 0
jne 0x4ca3f2
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 0x4ca3ca
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.004cc370
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.004c7ac0
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.004c9980
push dword [esp + 0x60]
push edi
push ebp
call fcn.004c79c0
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.004cc370
push dword [ebx]
push dword [esp + 0x3c]
push edi
push ebp
call fcn.004c8aa0
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.004cb300
mov edx, dword [ebp + 0x10]
mov esi, eax
add esp, 8
mov ecx, dword [esi + 4]
cmp dword [ecx], 5
jne 0x4ca9ee
mov eax, dword [ecx + 0xc]
dec eax
cmp edx, eax
jne 0x4caa03
mov eax, dword [ecx + 0x18]
mov eax, dword [eax + edx*4]
cmp dword [eax], 4
jne 0x4caa03
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.004cb360
mov ecx, dword [esi + 4]
push eax
push ebx
mov ebp, dword [ecx + 0x14]
or ebp, dword [esi + 0x1c]
call fcn.004cbd90
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.004c5b40
push dword [edi + 0xc]
mov ebx, eax
push esi
call fcn.0048f1c0
add esp, 0x10
cmp dword [eax], 6
jne 0x4caa2d
cmp dword [eax + 4], 0
je 0x4caa2d
mov eax, dword [ebx]
cmp eax, 2
je 0x4ca5bd
cmp eax, 1
jne 0x4caa18
push dword [edi + 0xc]
push esi
call fcn.0048f000
push dword [ebx + 4]
push eax
push esi
call fcn.004c7430
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.004c5b40
push dword [ebx + 0xc]
mov edi, eax
push esi
call fcn.0048f1c0
add esp, 0x10
cmp dword [edi], 6
jne 0x4caa57
cmp dword [edi + 4], 0
je 0x4caa57
mov eax, dword [eax]
cmp eax, 2
je 0x4ca627
cmp eax, 1
jne 0x4caa42
push dword [ebx + 0xc]
push esi
call fcn.0048f000
push dword [edi + 4]
push eax
push esi
call fcn.004c7430
push edi
push eax
push esi
call fcn.004cbc30
push eax
push dword [ebx + 8]
push esi
call fcn.004cbee0
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.004c5b40
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 0x4caaab
cmp dword [edi + 0x1c], esi
jne 0x4caaab
cmp dword [edx], 6
jne 0x4caa96
mov eax, dword [edx + 0x18]
mov ecx, dword [edi + 0x18]
mov eax, dword [eax + 8]
cmp eax, dword [ecx + 8]
jne 0x4caa96
cmp dword [edx + 0x1c], 8
jne 0x4caa6c
cmp esi, 4
je 0x4ca6c5
cmp esi, 5
je 0x4ca6c5
cmp esi, 7
jne 0x4caa81
push dword [ebx + 0xc]
push ebp
call fcn.004cb2a0
mov ebx, eax
lea eax, [esp + 0x64]
push eax
push dword [edi + 0x18]
push esi
push ebp
call fcn.004cbf60
push eax
push ebp
call fcn.004cb160
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.004c63c0
push edi
push esi
push eax
push ebp
call fcn.0049b790
push eax
jmp 0x4ca992
mov ebp, dword [esp + 0x60]
mov ebx, dword [esp + 0x58]
push dword [ebp + 4]
push ebx
call fcn.004c5b40
push dword [ebp + 0xc]
mov esi, eax
push ebx
call fcn.0048f1c0
add esp, 0x10
cmp dword [esi], 1
jne 0x4caad5
cmp dword [esi + 4], 0x536fac
jne 0x4caad5
cmp dword [eax], 6
jne 0x4caac0
cmp dword [eax + 0x1c], 8
jne 0x4caac0
push dword [ebp + 0xc]
push ebx
call fcn.004cb2a0
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.004c63c0
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.004c63c0
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.004c5b40
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 0x4ca84e
push 0
push 0
push 0
push 1
push 2
push 0
call fcn.0045e980
add esp, 0x18
cmp dword [ebp + 4], eax
je 0x4ca865
cmp dword [ebp], 1
jne 0x4caaff
cmp dword [ebp + 4], 0x537524
jne 0x4caaff
mov edi, dword [esp + 0x5c]
cmp dword [edi], 0xa
jne 0x4caaea
push dword [ebx + 0xc]
push esi
call fcn.0048f000
push dword [edi + 4]
push eax
push esi
call fcn.004c7430
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 0x4ca91f
sub eax, 1
jne case.0x4c9af0.2
mov esi, dword [esp + 0x60]
mov ebx, dword [esp + 0x58]
push dword [esi + 4]
push ebx
call fcn.004cb2a0
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.004c5b40
push dword [ebx + 0xc]
mov edi, eax
push ebp
call fcn.004cb2a0
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.004c2410
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
neg dword [edx - 0x6413ffb4]
dec esp
add byte [edi], ah
wait
dec esp
add byte [edx], dh
mov byte [0xa2fb004c], al
dec esp
add byte [0x59004c9f], bl
mov al, byte [0x9cd7004c]
dec esp
add byte [edi + 0x2f004ca4], al
cmpsd dword [esi], dword es:[edi]
dec esp
add byte [ebx - 0x5b], bh
dec esp
add ch, ah
movsd dword es:[edi], dword [esi]
dec esp
add byte [edi - 0x5a], dl
dec esp
add byte [ebx + ebp*4], dl
dec esp
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, 76549133
sahf
dec esp
add byte [edi], dl
sahf
dec esp
add byte [edx], ch
sahf
dec esp
add byte [esi + ebx*4], bh
dec esp
add byte [eax], al
add byte [eax], al
add byte [eax], al
add al, 4
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