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

Disassembly:
sub esp, 0x138
mov eax, dword [0x97ffc0]
xor eax, esp
mov dword [esp + 0x134], eax
push ebx
mov ebx, dword [esp + 0x148]
push ebp
mov ebp, dword [esp + 0x144]
push esi
mov esi, dword [esp + 0x14c]
mov eax, dword [ebx + 0xc]
mov dword [esp + 0x1c], esi
mov dword [esp + 0x10], ebx
push edi
cmp esi, 0x56
jne 0x495949
push 0
push eax
push ebp
call fcn.0048ee10
mov edx, dword [ebx + 0x10]
add esp, 0xc
mov edi, eax
cmp edx, dword [ebp + 0x94]
jae 0x496908
mov eax, dword [ebp + 0x98]
lea ecx, [edx*8]
sub ecx, edx
mov eax, dword [eax + ecx*4 + 0x14]
test eax, eax
je 0x49691e
cmp dword [eax], 8
jne 0x496934
push edx
push ebp
call fcn.00499000
mov esi, eax
push dword [esi + 0xc]
call fcn.0045f620
add esp, 0xc
test al, al
je 0x49694e
mov esi, dword [esi + 4]
push 0
call fcn.0045c650
push eax
push 2
push esi
push ebp
call fcn.0048c920
push str.Type_of_Image_operand_of_OpSampledImage
push dword [edi + 0x20]
mov dword [esp + 0x50], eax
push ebp
call fcn.0048df60
mov edx, dword [ebx + 0xc]
add esp, 0x20
mov dword [esp + 0x2c], 0
cmp edx, dword [ebp + 0x94]
jae 0x496908
mov eax, dword [ebp + 0x98]
lea ecx, [edx*8]
sub ecx, edx
lea eax, [eax + ecx*4]
lea ecx, [esp + 0x2c]
push ecx
push 0x48cc50
push eax
push 0xffffffffffffffff
push eax
push ebp
call fcn.0048bee0
mov eax, dword [ebx + 0x10]
add esp, 0x18
cmp eax, dword [ebp + 0x94]
jb 0x495888
push eax
jmp 0x496909
lea ecx, [eax*8]
sub ecx, eax
mov eax, dword [ebp + 0x98]
lea eax, [eax + ecx*4]
lea ecx, [esp + 0x2c]
push ecx
push 0x48cc50
push eax
push 0xffffffffffffffff
push eax
push ebp
call fcn.0048bee0
mov eax, dword [esp + 0x44]
add esp, 0x18
mov esi, dword [ebx + 8]
shr eax, 5
mov dword [esp + 0x30], eax
cmp esi, dword [ebp + 0x94]
jb 0x4958cd
push esi
jmp 0x496909
mov eax, dword [ebp + 0x98]
lea ecx, [esi*8]
sub ecx, esi
mov eax, dword [eax + ecx*4 + 0x14]
test eax, eax
jne 0x4958f4
push esi
push str.Value__u_does_not_have_a_type
push 0x360
jmp 0x496913
cmp dword [eax], 9
je 0x495912
push str.type__base_type__vtn_base_type_sampled_image
push 0x51158c
push 0x2a8
push str..._.._src_compiler_spirv_spirv_to_nir.c
jmp 0x496918
mov eax, dword [esp + 0x34]
add eax, 0x48
push eax
lea eax, [edi + 0x48]
push eax
push 0x1ca
push ebp
call fcn.0041d890
push eax
push esi
push ebp
call fcn.00498b00
mov edx, dword [esp + 0x4c]
add esp, 0x1c
movzx edx, dl
xor edx, dword [eax + 4]
and edx, 1
xor dword [eax + 4], edx
jmp 0x4968ef
push eax
push ebp
cmp esi, 0x64
jne 0x495a20
call fcn.0048ef80
mov edx, dword [ebx + 0xc]
add esp, 8
mov esi, eax
mov dword [esp + 0x24], 0
cmp edx, dword [ebp + 0x94]
jae 0x496908
mov eax, dword [ebp + 0x98]
lea ecx, [edx*8]
sub ecx, edx
lea eax, [eax + ecx*4]
lea ecx, [esp + 0x24]
push ecx
push 0x48cc50
push eax
push 0xffffffffffffffff
push eax
push ebp
call fcn.0048bee0
mov eax, dword [esp + 0x3c]
add esp, 0x18
mov edx, dword [ebx + 8]
shr eax, 5
mov dword [esp + 0x34], eax
cmp edx, dword [ebp + 0x94]
jae 0x496908
mov eax, dword [ebp + 0x98]
lea ecx, [edx*8]
sub ecx, edx
mov eax, dword [eax + ecx*4 + 0x14]
test eax, eax
jne 0x4959df
push edx
push str.Value__u_does_not_have_a_type
push 0x360
jmp 0x496913
cmp dword [eax], 7
je 0x4959fd
push str.type__base_type__vtn_base_type_image
push 0x51158c
push 0x28e
push str..._.._src_compiler_spirv_spirv_to_nir.c
jmp 0x496918
lea eax, [esi + 0x48]
push eax
push edx
push ebp
call fcn.00498b00
mov edx, dword [esp + 0x40]
add esp, 0xc
movzx edx, dl
xor edx, dword [eax + 4]
and edx, 1
xor dword [eax + 4], edx
jmp 0x4968ef
cmp esi, 0x13c
jne 0x495a87
call fcn.0048ef40
push 0xb7
push dword [ebp + 0x10]
mov edi, eax
call fcn.00409a30
mov esi, eax
push 1
push 1
lea ebx, [esi + 0x1c]
push ebx
push esi
call fcn.00407ee0
xorps xmm0, xmm0
movups xmmword [esp + 0x8c], xmm0
mov dword [esp + 0x98], edi
movups xmm0, xmmword [esp + 0x8c]
push esi
push ebp
movups xmmword [esi + 0x58], xmm0
call fcn.0041dc20
mov eax, dword [esp + 0x3c]
push ebx
push dword [eax + 8]
push ebp
call fcn.00498b00
add esp, 0x34
jmp 0x4968ef
xor edx, edx
mov dword [esp + 0x3c], edx
call fcn.00499950
mov edx, dword [ebx + 0xc]
add esp, 8
mov dword [esp + 0x50], eax
mov ecx, dword [eax + 0x14]
cmp dword [ecx], 9
jne 0x495ab4
push edx
push ebp
call fcn.0048ef80
add esp, 8
mov dword [esp + 0x34], edx
jmp 0x495ac2
push 0
push edx
push ebp
call fcn.0048ee10
add esp, 0xc
xor edx, edx
mov ecx, eax
mov dword [esp + 0x2c], 0
mov dword [esp + 0x44], ecx
mov ecx, dword [ecx + 0x20]
mov ecx, dword [ecx + 4]
mov edi, ecx
shr edi, 0x10
shr ecx, 0x15
and edi, 0xf
and ecx, 0xffffff01
mov dword [esp + 0x4c], edi
mov dword [esp + 0x40], ecx
cmp esi, 0x1393
jg 0x495df8
je 0x495dc6
lea eax, [esi - 0x57]
cmp eax, 0xe4
ja case.0x495b16.98
movzx eax, byte [eax + 0x496ab4]
jmp dword [eax*4 + 0x496a84]
cmp edi, 5
je 0x495b33
cmp edi, 7
je 0x495b33
cmp edi, 9
je 0x495b33
xor ecx, ecx
jmp 0x495e2c
push str.sampler_dim___GLSL_SAMPLER_DIM_BUF__sampler_dim___GLSL_SAMPLER_DIM_MS__sampler_dim___GLSL_SAMPLER_DIM_SUBPASS_MS
push 0x51158c
push 0xc1d
push str..._.._src_compiler_spirv_spirv_to_nir.c
jmp 0x496918
test edi, edi
je 0x495b78
cmp edi, 1
je 0x495b78
cmp edi, 2
je 0x495b78
cmp edi, 4
je 0x495b78
push str.sampler_dim__GLSL_SAMPLER_DIM_1D__sampler_dim__GLSL_SAMPLER_DIM_2D__sampler_dim__GLSL_SAMPLER_DIM_3D__sampler_dim__GLSL_SAMPLER_DIM_RECT
push 0x51158c
push 0xc26
push str..._.._src_compiler_spirv_spirv_to_nir.c
jmp 0x496918
test cl, cl
je 0x495b2c
push str._is_array
push 0x51158c
push 0xc27
push str..._.._src_compiler_spirv_spirv_to_nir.c
jmp 0x496918
cmp edi, 5
je 0x495bae
cmp edi, 7
je 0x495bae
cmp edi, 9
je 0x495bae
mov ecx, 2
jmp 0x495e2c
push str.sampler_dim___GLSL_SAMPLER_DIM_BUF__sampler_dim___GLSL_SAMPLER_DIM_MS__sampler_dim___GLSL_SAMPLER_DIM_SUBPASS_MS
push 0x51158c
push 0xc31
push str..._.._src_compiler_spirv_spirv_to_nir.c
jmp 0x496918
test edi, edi
je 0x495bf3
cmp edi, 1
je 0x495bf3
cmp edi, 2
je 0x495bf3
cmp edi, 4
je 0x495bf3
push str.sampler_dim__GLSL_SAMPLER_DIM_1D__sampler_dim__GLSL_SAMPLER_DIM_2D__sampler_dim__GLSL_SAMPLER_DIM_3D__sampler_dim__GLSL_SAMPLER_DIM_RECT
push 0x51158c
push 0xc3a
push str..._.._src_compiler_spirv_spirv_to_nir.c
jmp 0x496918
test cl, cl
je 0x495ba4
push str._is_array
push 0x51158c
push 0xc3b
push str..._.._src_compiler_spirv_spirv_to_nir.c
jmp 0x496918
cmp edi, 3
jne 0x495c2e
push str.sampler_dim___GLSL_SAMPLER_DIM_CUBE
push 0x51158c
push 0xc41
push str..._.._src_compiler_spirv_spirv_to_nir.c
jmp 0x496918
xor ecx, ecx
cmp edi, 7
sete cl
add ecx, 4
jmp 0x495e2c
cmp edi, 1
je 0x495c66
cmp edi, 3
je 0x495c66
cmp edi, 4
je 0x495c66
push str.sampler_dim__GLSL_SAMPLER_DIM_2D__sampler_dim__GLSL_SAMPLER_DIM_CUBE__sampler_dim__GLSL_SAMPLER_DIM_RECT
push 0x51158c
push 0xc4f
push str..._.._src_compiler_spirv_spirv_to_nir.c
jmp 0x496918
mov ecx, 0xa
jmp 0x495e2c
test edi, edi
je 0x495c9c
cmp edi, 1
je 0x495c9c
cmp edi, 2
je 0x495c9c
cmp edi, 3
je 0x495c9c
push str.sampler_dim__GLSL_SAMPLER_DIM_1D__sampler_dim__GLSL_SAMPLER_DIM_2D__sampler_dim__GLSL_SAMPLER_DIM_3D__sampler_dim__GLSL_SAMPLER_DIM_CUBE
push 0x51158c
push 0xc57
push str..._.._src_compiler_spirv_spirv_to_nir.c
jmp 0x496918
mov ecx, 8
mov dword [esp + 0x2c], 0x22
jmp 0x495e2c
test edi, edi
je 0x495c9c
cmp edi, 1
je 0x495c9c
cmp edi, 2
je 0x495c9c
cmp edi, 3
je 0x495c9c
cmp edi, 4
je 0x495c9c
cmp edi, 7
je 0x495c9c
cmp edi, 5
je 0x495c9c
push str.sampler_dim__GLSL_SAMPLER_DIM_1D__sampler_dim__GLSL_SAMPLER_DIM_2D__sampler_dim__GLSL_SAMPLER_DIM_3D__sampler_dim__GLSL_SAMPLER_DIM_CUBE__sampler_dim__GLSL_SAMPLER_DIM_RECT__sampler_dim__GLSL_SAMPLER_DIM_MS__sampler_dim__GLSL_SAMPLER_DIM_BUF
push 0x51158c
push 0xc63
push str..._.._src_compiler_spirv_spirv_to_nir.c
jmp 0x496918
test edi, edi
je 0x495d15
cmp edi, 1
je 0x495d15
cmp edi, 2
je 0x495d15
cmp edi, 3
je 0x495d15
push str.sampler_dim__GLSL_SAMPLER_DIM_1D__sampler_dim__GLSL_SAMPLER_DIM_2D__sampler_dim__GLSL_SAMPLER_DIM_3D__sampler_dim__GLSL_SAMPLER_DIM_CUBE
push 0x51158c
push 0xc6c
push str..._.._src_compiler_spirv_spirv_to_nir.c
jmp 0x496918
mov ecx, 9
mov dword [esp + 0x2c], 0xa0
jmp 0x495e2c
cmp edi, 7
jne 0x495d5b
push str.OpImageQueryLevels_Sampled_Image_should_have_an_MS_of_0__but_found_MS_of_1.__Replacing_query_with_constant_value_1.
push 0xc77
push str..._.._src_compiler_spirv_spirv_to_nir.c
push ebp
call fcn.0048c220
push 1
push ebp
call fcn.004109e0
push eax
push dword [ebx + 8]
push ebp
call fcn.00498b00
add esp, 0x24
jmp 0x4968ef
test edi, edi
je 0x495d87
cmp edi, 1
je 0x495d87
cmp edi, 2
je 0x495d87
cmp edi, 3
je 0x495d87
push str.sampler_dim__GLSL_SAMPLER_DIM_1D__sampler_dim__GLSL_SAMPLER_DIM_2D__sampler_dim__GLSL_SAMPLER_DIM_3D__sampler_dim__GLSL_SAMPLER_DIM_CUBE
push 0x51158c
push 0xc7e
push str..._.._src_compiler_spirv_spirv_to_nir.c
jmp 0x496918
mov ecx, 0xb
mov dword [esp + 0x2c], 0x22
jmp 0x495e2c
cmp edi, 7
je 0x495db7
push str.sampler_dim__GLSL_SAMPLER_DIM_MS
push 0x51158c
push 0xc84
push str..._.._src_compiler_spirv_spirv_to_nir.c
jmp 0x496918
mov ecx, 0xc
mov dword [esp + 0x2c], 0x22
jmp 0x495e2c
cmp edi, 7
je 0x495de9
cmp edi, 9
je 0x495de9
push str.sampler_dim__GLSL_SAMPLER_DIM_MS__sampler_dim__GLSL_SAMPLER_DIM_SUBPASS_MS
push 0x51158c
push 0xc91
push str..._.._src_compiler_spirv_spirv_to_nir.c
jmp 0x496918
mov ecx, 0x10
mov dword [esp + 0x2c], 0x24
jmp 0x495e2c
cmp esi, 0x1394
jne case.0x495b16.98
cmp edi, 7
je 0x495e27
cmp edi, 9
je 0x495e27
push str.sampler_dim__GLSL_SAMPLER_DIM_MS__sampler_dim__GLSL_SAMPLER_DIM_SUBPASS_MS
push 0x51158c
push 0xc8b
push str..._.._src_compiler_spirv_spirv_to_nir.c
jmp 0x496918
mov ecx, 0xf
mov eax, dword [esp + 0x44]
lea ebx, [esp + 0x90]
xorps xmm0, xmm0
mov dword [esp + 0x10], ecx
add eax, 0x48
mov dword [esp + 0x8c], 0xb
movups xmmword [esp + 0x6c], xmm0
mov dword [esp + 0x78], eax
movups xmm0, xmmword [esp + 0x6c]
movzx eax, byte [ecx + 0x496bbc]
movups xmmword [esp + 0x7c], xmm0
jmp dword [eax*4 + 0x496b9c]
test edx, edx
jne 0x495e8f
push esi
call fcn.004c22f0
add esp, 4
push eax
push str._s_requires_an_image_of_type_OpTypeSampledImage
push 0xcaa
push str..._.._src_compiler_spirv_spirv_to_nir.c
jmp 0x496918
xorps xmm0, xmm0
mov dword [esp + 0xa0], 0xc
movups xmmword [esp + 0x6c], xmm0
lea eax, [edx + 0x48]
mov dword [esp + 0x78], eax
lea ebx, [esp + 0xa4]
movups xmm0, xmmword [esp + 0x6c]
movups xmmword [esp + 0x90], xmm0
mov dword [esp + 0x18], 4
cmp esi, 0x1393
jg 0x495ee8
je case.0x495ee1.87
add esi, 0xffffffa9
cmp esi, 0xe4
ja case.0x495ee1.98
movzx eax, byte [esi + 0x496bdc]
jmp dword [eax*4 + 0x496bd4]
cmp esi, 0x1394
je case.0x495ee1.87
mov esi, dword [esp + 0x10]
xor eax, eax
mov dword [esp + 0x30], 0
mov dword [esp + 0x38], eax
jmp 0x4960ae
push edi
call fcn.0045dc00
mov esi, dword [esp + 0x14]
add esp, 4
cmp byte [esp + 0x40], 0
mov dword [esp + 0x38], eax
je 0x495f29
cmp esi, 9
je 0x495f29
inc eax
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0x14]
push dword [eax + 0x10]
push ebp
call fcn.00499000
mov dword [esp + 0x2c], eax
add esp, 8
mov dword [esp + 0x18], 5
mov edx, dword [eax + 4]
mov eax, dword [esp + 0x38]
mov dword [esp + 0x30], edx
movzx ecx, byte [edx + 0x10]
cmp ecx, eax
jb 0x496a06
push eax
push edx
xorps xmm0, xmm0
push ebp
movups xmmword [esp + 0x78], xmm0
call fcn.00412270
mov dword [esp + 0x84], eax
mov eax, dword [esp + 0x30]
movups xmm0, xmmword [esp + 0x78]
movups xmmword [ebx], xmm0
push dword [eax + 0xc]
call fcn.0048c650
add esp, 0x10
test al, al
je 0x4960a0
cmp dword [esp + 0x20], 0x58
jne 0x4960a0
mov eax, dword [ebp + 0x68]
cmp byte [eax + 0x44], 0xe
jne 0x496a1b
movsd xmm0, qword [0x534378]
push 0x20
sub esp, 8
movsd qword [esp], xmm0
call fcn.00406d20
push 0x20
push 1
push dword [ebp + 0x10]
mov dword [esp + 0x3c], eax
mov dword [esp + 0x80], edx
call fcn.00409be0
add esp, 0x18
mov dword [esp + 0x48], eax
test eax, eax
jne 0x495fe9
mov dword [esp + 0x24], eax
jmp 0x49600c
mov ecx, dword [esp + 0x24]
mov dword [eax + 0x30], ecx
mov ecx, dword [esp + 0x68]
push eax
push ebp
mov dword [eax + 0x34], ecx
call fcn.0041dc20
mov eax, dword [esp + 0x50]
add esp, 8
add eax, 0x18
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x38]
test eax, eax
je 0x49607d
xor esi, esi
mov edi, eax
nop dword [eax + eax]
push 1
lea eax, [esp + 0x4c]
mov dword [esp + 0x4c], esi
push eax
push dword [ebx + 0xc]
push ebp
call fcn.00412100
push eax
push 0x116
push ebp
call fcn.0041d840
add esp, 0x1c
mov dword [esp + esi*4 + 0x6c], eax
cmp byte [esp + 0x40], 0
je 0x496055
lea ecx, [edi - 1]
cmp esi, ecx
je 0x49606c
push dword [esp + 0x24]
push eax
push 0x9b
push ebp
call fcn.0041d890
add esp, 0x10
mov dword [esp + esi*4 + 0x6c], eax
inc esi
cmp esi, edi
jb 0x496020
mov edi, dword [esp + 0x4c]
mov esi, dword [esp + 0x10]
mov eax, dword [esp + 0x38]
push eax
lea eax, [esp + 0x70]
xorps xmm0, xmm0
push eax
push ebp
movups xmmword [esp + 0x60], xmm0
call fcn.0048cc30
mov dword [esp + 0x6c], eax
add esp, 0xc
movups xmm0, xmmword [esp + 0x54]
movups xmmword [ebx], xmm0
mov eax, dword [esp + 0x38]
mov dword [ebx + 0x10], 0
add ebx, 0x14
mov edx, dword [esp + 0x20]
lea ecx, [edx - 0x5b]
cmp ecx, 3
ja case.default.0x4960ba
jmp dword [ecx*4 + 0x496cc4]
push eax
push dword [esp + 0x34]
xorps xmm0, xmm0
push ebp
movups xmmword [esp + 0x60], xmm0
call fcn.0048c9a0
mov edx, dword [esp + 0x2c]
add esp, 0xc
mov dword [esp + 0x60], eax
movups xmm0, xmmword [esp + 0x54]
mov dword [ebx + 0x10], 1
movups xmmword [ebx], xmm0
add ebx, 0x14
xor al, al
mov dword [esp + 0x30], 0
mov byte [esp + 0x2b], al
lea eax, [edx - 0x59]
cmp eax, 0xe2
ja case.0x496110.91
movzx eax, byte [eax + 0x496ce0]
jmp dword [eax*4 + 0x496cd4]
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
push 2
mov byte [esp + 0x2f], 1
push dword [ecx + eax*4]
lea eax, [esp + 0x5c]
push ebp
push eax
call fcn.00499150
mov edx, dword [esp + 0x30]
add esp, 0x10
movups xmm0, xmmword [eax]
movups xmmword [ebx], xmm0
mov eax, dword [eax + 0x10]
mov dword [ebx + 0x10], eax
add ebx, 0x14
mov eax, dword [esp + 0x18]
inc eax
mov dword [esp + 0x18], eax
jmp 0x496180
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
push dword [ecx + eax*4]
push ebp
call fcn.0048e250
mov edx, dword [esp + 0x28]
add esp, 8
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0x18]
inc eax
mov dword [esp + 0x18], eax
jmp 0x496180
mov eax, dword [esp + 0x18]
lea ecx, [edx - 0x131]
mov byte [esp + 0x1f], 0
cmp ecx, 0xa
ja case.0x496197.309
movzx ecx, byte [ecx + 0x496dcc]
jmp dword [ecx*4 + 0x496dc4]
mov byte [esp + 0x1f], 1
cmp edx, 0x67
jne 0x4961d9
push 5
mov ecx, dword [esp + 0x18]
push dword [ecx + eax*4]
lea eax, [esp + 0x5c]
push ebp
push eax
call fcn.00499150
add esp, 0x10
movups xmm0, xmmword [eax]
movups xmmword [ebx], xmm0
mov eax, dword [eax + 0x10]
mov dword [ebx + 0x10], eax
add ebx, 0x14
mov eax, dword [esp + 0x18]
inc eax
mov dword [esp + 0x18], eax
jmp 0x4961e9
cmp edx, 0x1394
jne 0x4961e5
push 7
jmp 0x4961aa
mov eax, dword [esp + 0x18]
mov dword [esp + 0x24], 0
mov dword [esp + 0x20], 0
cmp eax, dword [esp + 0x158]
jae 0x49655b
mov edx, dword [esp + 0x14]
mov ecx, dword [edx + eax*4]
mov dword [esp + 0x20], ecx
test cl, 1
je 0x496284
test esi, esi
je 0x496238
cmp esi, 0xa
je 0x496241
push str.texop__nir_texop_tex__texop__nir_texop_tg4
push 0x51158c
push 0xd64
push str..._.._src_compiler_spirv_spirv_to_nir.c
jmp 0x496918
mov esi, 1
mov dword [esp + 0x10], esi
push 1
push eax
push dword [esp + 0x160]
push edx
push ebp
call fcn.0048c730
mov ecx, dword [esp + 0x28]
push 4
push dword [ecx + eax*4]
lea eax, [esp + 0x70]
push ebp
push eax
call fcn.00499150
mov ecx, dword [esp + 0x44]
add esp, 0x24
mov edx, dword [esp + 0x14]
movups xmm0, xmmword [eax]
movups xmmword [ebx], xmm0
mov eax, dword [eax + 0x10]
mov dword [ebx + 0x10], eax
add ebx, 0x14
mov eax, dword [esp + 0x18]
test cl, 2
je 0x4962f1
cmp esi, 2
je 0x4962b6
cmp esi, 4
je 0x4962b6
cmp esi, 8
je 0x4962b6
cmp esi, 0xa
je 0x4962b6
push str.texop__nir_texop_txl__texop__nir_texop_txf__texop__nir_texop_txs__texop__nir_texop_tg4
push 0x51158c
push 0xd6e
push str..._.._src_compiler_spirv_spirv_to_nir.c
jmp 0x496918
push 2
push eax
push dword [esp + 0x160]
push edx
push ebp
call fcn.0048c730
mov ecx, dword [esp + 0x28]
push 5
push dword [ecx + eax*4]
lea eax, [esp + 0x70]
push ebp
push eax
call fcn.00499150
mov ecx, dword [esp + 0x44]
add esp, 0x24
movups xmm0, xmmword [eax]
movups xmmword [ebx], xmm0
mov eax, dword [eax + 0x10]
mov dword [ebx + 0x10], eax
add ebx, 0x14
test cl, 4
je 0x49638a
cmp esi, 2
je 0x496318
push str.texop__nir_texop_txl
push 0x51158c
push 0xd75
push str..._.._src_compiler_spirv_spirv_to_nir.c
jmp 0x496918
mov eax, dword [esp + 0x18]
mov esi, 3
push 4
push eax
push dword [esp + 0x160]
mov dword [esp + 0x1c], esi
push dword [esp + 0x20]
push ebp
call fcn.0048c730
mov esi, eax
mov eax, dword [esp + 0x28]
push 9
push dword [eax + esi*4]
lea eax, [esp + 0x70]
push ebp
push eax
call fcn.00499150
push 0xa
movups xmm0, xmmword [eax]
movups xmmword [ebx], xmm0
mov eax, dword [eax + 0x10]
mov dword [ebx + 0x10], eax
mov eax, dword [esp + 0x3c]
push dword [eax + esi*4 + 4]
lea eax, [esp + 0x80]
push ebp
push eax
call fcn.00499150
mov ecx, dword [esp + 0x54]
add esp, 0x34
movups xmm0, xmmword [eax]
movups xmmword [ebx + 0x14], xmm0
mov eax, dword [eax + 0x10]
mov dword [ebx + 0x24], eax
add ebx, 0x28
mov edx, 0
and ecx, 0x38
je 0x4963a5
lea eax, [ecx - 1]
inc edx
and ecx, eax
jne 0x496394
cmp edx, 1
ja 0x496a30
mov eax, dword [esp + 0x20]
mov esi, dword [esp + 0x18]
test al, 0x10
je 0x4963ef
push 0x10
push esi
push dword [esp + 0x160]
push dword [esp + 0x20]
push ebp
call fcn.0048c730
mov ecx, dword [esp + 0x28]
push 3
push dword [ecx + eax*4]
lea eax, [esp + 0x70]
push ebp
push eax
call fcn.00499150
add esp, 0x24
movups xmm0, xmmword [eax]
movups xmmword [ebx], xmm0
mov eax, dword [eax + 0x10]
mov dword [ebx + 0x10], eax
add ebx, 0x14
mov eax, dword [esp + 0x20]
test al, 8
je 0x49642e
push 8
push esi
push dword [esp + 0x160]
mov esi, dword [esp + 0x20]
push esi
push ebp
call fcn.0048c730
push 3
push dword [esi + eax*4]
lea eax, [esp + 0x70]
push ebp
push eax
call fcn.00499150
add esp, 0x24
movups xmm0, xmmword [eax]
movups xmmword [ebx], xmm0
mov eax, dword [eax + 0x10]
mov dword [ebx + 0x10], eax
add ebx, 0x14
mov eax, dword [esp + 0x20]
mov esi, dword [esp + 0x10]
test al, 0x20
je 0x496486
cmp esi, 0xa
je 0x496454
push str.texop__nir_texop_tg4
push 0x51158c
push 0xd90
push str..._.._src_compiler_spirv_spirv_to_nir.c
jmp 0x496918
mov eax, dword [esp + 0x18]
push 0x20
push eax
push dword [esp + 0x160]
push dword [esp + 0x20]
push ebp
call fcn.0048c730
mov ecx, dword [esp + 0x28]
push 5
push dword [ecx + eax*4]
push ebp
call fcn.00499990
mov dword [esp + 0x44], eax
add esp, 0x20
mov eax, dword [esp + 0x20]
test al, 0x40
je 0x4964ee
cmp esi, 5
je 0x4964a8
push str.texop__nir_texop_txf_ms
push 0x51158c
push 0xd97
push str..._.._src_compiler_spirv_spirv_to_nir.c
jmp 0x496918
push 0x40
push dword [esp + 0x1c]
push dword [esp + 0x160]
push dword [esp + 0x20]
push ebp
call fcn.0048c730
mov ecx, dword [esp + 0x28]
mov esi, 5
push 7
push dword [ecx + eax*4]
lea eax, [esp + 0x70]
push ebp
push eax
call fcn.00499150
add esp, 0x24
movups xmm0, xmmword [eax]
movups xmmword [ebx], xmm0
mov eax, dword [eax + 0x10]
mov dword [ebx + 0x10], eax
add ebx, 0x14
mov eax, dword [esp + 0x20]
test al, al
jns 0x49655f
test esi, esi
je 0x496519
cmp esi, 1
je 0x496519
cmp esi, 3
je 0x496519
push str.texop__nir_texop_tex__texop__nir_texop_txb__texop__nir_texop_txd
push 0x51158c
push 0xda1
push str..._.._src_compiler_spirv_spirv_to_nir.c
jmp 0x496918
push 0x80
push dword [esp + 0x1c]
push dword [esp + 0x160]
push dword [esp + 0x20]
push ebp
call fcn.0048c730
mov ecx, dword [esp + 0x28]
push 6
push dword [ecx + eax*4]
lea eax, [esp + 0x70]
push ebp
push eax
call fcn.00499150
add esp, 0x24
movups xmm0, xmmword [eax]
movups xmmword [ebx], xmm0
mov eax, dword [eax + 0x10]
mov dword [ebx + 0x10], eax
add ebx, 0x14
jmp 0x49655f
mov esi, dword [esp + 0x10]
mov eax, dword [esp + 0x14]
push dword [eax + 4]
push ebp
call fcn.0048f0b0
add esp, 8
mov dword [esp + 0x10], eax
cmp byte [esp + 0x1f], 0
mov dword [esp + 0x18], 0
je 0x4965b9
mov ecx, dword [eax + 4]
mov cl, byte [ecx + 4]
cmp cl, 0x11
je 0x4965ab
cmp cl, 0x12
je 0x4965ab
push str.glsl_type_is_struct_or_ifc_ret_type__type_
push 0x51158c
push 0xdab
push str..._.._src_compiler_spirv_spirv_to_nir.c
jmp 0x496918
mov dword [esp + 0x18], eax
mov eax, dword [eax + 0x18]
mov ecx, dword [eax + 4]
mov dword [esp + 0x10], ecx
lea eax, [esp + 0x7c]
sub ebx, eax
mov eax, 0x66666667
imul ebx
sar edx, 3
mov eax, edx
shr eax, 0x1f
add eax, edx
push eax
push dword [ebp + 0x68]
call fcn.0040ab40
mov ebx, eax
lea eax, [esp + 0x84]
mov ecx, dword [ebx + 0x3c]
mov dword [ebx + 0x20], esi
lea ecx, [ecx + ecx*4]
shl ecx, 2
push ecx
push eax
push dword [ebx + 0x38]
call fcn.004f06c0
mov eax, dword [esp + 0x4c]
add esp, 0x14
mov cl, byte [esp + 0x1f]
mov dword [ebx + 0x40], eax
mov eax, dword [esp + 0x40]
mov byte [ebx + 0x44], al
mov al, byte [esp + 0x2b]
mov dword [ebx + 0x18], edi
mov edi, dword [esp + 0x10]
mov byte [ebx + 0x45], al
mov byte [ebx + 0x47], cl
test al, al
je 0x496639
mov eax, dword [edi + 4]
movzx ecx, byte [eax + 0x11]
movzx eax, byte [eax + 0x10]
imul ecx, eax
cmp ecx, 1
jne 0x496639
mov al, cl
jmp 0x49663b
xor al, al
mov ecx, dword [ebx + 0x48]
xor ecx, dword [esp + 0x30]
and ecx, 3
mov byte [ebx + 0x46], al
xor ecx, dword [ebx + 0x48]
mov dword [ebx + 0x48], ecx
cmp esi, 0xa
jne 0x496669
cmp byte [ebp + 0x1fb], 0
je 0x496669
test byte [esp + 0x20], 2
jne 0x496669
or ecx, 8
mov dword [ebx + 0x48], ecx
mov esi, dword [esp + 0x50]
lea eax, [esp + 0x3c]
push eax
push 0x48cc50
push esi
push 0xffffffffffffffff
push esi
push ebp
mov dword [esp + 0x54], 0
call fcn.0048bee0
mov ecx, dword [esp + 0x54]
add esp, 0x18
test dword [esp + 0x20], 0x4000
je 0x4966a4
or ecx, 0x80
mov dword [esp + 0x3c], ecx
mov edx, dword [esp + 0x34]
test edx, edx
je 0x4966bc
mov eax, dword [ebp + 0x6c]
cmp byte [eax + 0x54], 0
je 0x4966bc
or ecx, 0x20
mov dword [esp + 0x3c], ecx
test byte [esi + 4], 1
je 0x4966c9
or ecx, 0x20
mov dword [esp + 0x3c], ecx
test cl, 0x20
je 0x4966d6
mov byte [ebx + 0x54], 1
mov ecx, dword [esp + 0x3c]
test edx, edx
je 0x4966e3
test cl, 0x20
je 0x4966e3
mov byte [ebx + 0x55], 1
mov eax, dword [esp + 0x2c]
test eax, eax
jne 0x49671e
mov eax, dword [esp + 0x44]
mov eax, dword [eax + 0x20]
movsx ecx, byte [eax + 5]
mov eax, dword [edi + 4]
movsx eax, byte [eax + 4]
cmp ecx, eax
je 0x49670a
cmp ecx, 0x14
jne 0x496a45
push eax
call fcn.00408b40
push dword [esp + 0x24]
push eax
push ebp
call fcn.0048c540
add esp, 0x10
push ebx
mov dword [ebx + 0x1c], eax
call fcn.0040add0
movzx ecx, byte [ebx + 0x47]
add eax, ecx
push 0x20
push eax
lea eax, [ebx + 0x24]
push eax
push ebx
call fcn.00407ee0
mov eax, dword [edi + 4]
push ebx
movzx esi, byte [eax + 0x10]
call fcn.0040add0
add esp, 0x18
cmp esi, eax
je 0x496767
push str.glsl_get_vector_elements_ret_type__type___nir_tex_instr_result_size_instr_
push 0x51158c
push 0xdfb
push str..._.._src_compiler_spirv_spirv_to_nir.c
jmp 0x496918
mov eax, dword [esp + 0x24]
test eax, eax
je 0x496876
mov ecx, dword [eax + 0x14]
cmp dword [ecx], 4
jne 0x496a6f
cmp dword [ecx + 0xc], 4
jne 0x496a6f
mov ecx, dword [ecx + 0x18]
cmp dword [ecx], 2
jne 0x496a5a
cmp dword [ecx + 0xc], 2
jne 0x496a5a
mov eax, dword [ecx + 4]
mov al, byte [eax + 4]
cmp al, 5
je 0x4967d9
cmp al, 6
je 0x4967d9
cmp al, 7
je 0x4967d9
cmp al, 8
je 0x4967d9
test al, al
je 0x4967d9
cmp al, 1
je 0x4967d9
cmp al, 9
je 0x4967d9
cmp al, 0xa
je 0x4967d9
cmp al, 0xb
je 0x4967d9
cmp al, 0xd
je 0x4967d9
cmp al, 0xe
je 0x4967d9
cmp al, 0xf
jne 0x496a5a
push dword [ecx + 4]
call fcn.0040e420
add esp, 4
mov dword [esp + 0x4c], eax
xor edx, edx
mov dword [esp + 0x34], edx
lea esi, [eax - 8]
mov dword [esp + 0x30], esi
lea edi, [edx + 0x4c]
nop dword [eax + eax]
mov eax, dword [esp + 0x24]
mov ecx, dword [eax + 0x18]
mov eax, dword [ecx + 0x88]
mov eax, dword [edx + eax]
xor edx, edx
mov dword [esp + 0x50], eax
cmp esi, 0x38
ja case.0x496827.9
nop dword [eax + eax]
movzx eax, byte [esi + 0x496de0]
jmp dword [eax*4 + 0x496dd8]
mov eax, edi
mov esi, edx
lea ecx, [ebx + eax]
mov eax, dword [esp + 0x50]
mov al, byte [eax + edx*8]
inc edx
mov byte [ecx + esi], al
mov esi, dword [esp + 0x30]
cmp edx, 2
jb 0x496820
mov edx, dword [esp + 0x34]
add edi, 2
add edx, 4
mov dword [esp + 0x34], edx
cmp edi, 0x54
jae 0x496876
jmp 0x496800
push dword [esp + 0x4c]
push str.Unsupported_bit_size:__u
push 0xe15
push str..._.._src_compiler_spirv_spirv_to_nir.c
jmp 0x496918
push ebx
push ebp
call fcn.0041dc20
add esp, 8
lea eax, [ebx + 0x24]
cmp byte [esp + 0x1f], 0
je 0x4968de
mov eax, dword [esp + 0x18]
push dword [eax + 4]
push ebp
call fcn.0048e590
mov ecx, dword [esp + 0x18]
mov edi, eax
lea eax, [ebx + 0x24]
mov ecx, dword [ecx + 4]
movzx esi, byte [ecx + 0x10]
push esi
push eax
push ebp
call fcn.0048c9a0
mov ecx, dword [edi + 4]
push esi
mov ecx, dword [ecx]
mov dword [ecx + 4], eax
lea eax, [ebx + 0x24]
push eax
push ebp
call fcn.00412270
mov ecx, dword [edi + 4]
push edi
mov ecx, dword [ecx + 4]
mov dword [ecx + 4], eax
mov eax, dword [esp + 0x38]
push dword [eax + 8]
push ebp
call fcn.00498c10
add esp, 0x2c
jmp 0x4968ef
push eax
mov eax, dword [esp + 0x18]
push dword [eax + 8]
push ebp
call fcn.00498b00
add esp, 0xc
mov ecx, dword [esp + 0x144]
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.004eee05
add esp, 0x138
ret
push edx
push str.SPIR_V_id__u_is_out_of_bounds
push 0x2dd
push str.C:mesa_srccompiler_spirv_vtn_private.h
push ebp
call fcn.0048c130
push edx
push str.Value__u_does_not_have_a_type
push 0x360
push str.C:mesa_srccompiler_spirv_vtn_private.h
push ebp
call fcn.0048c130
push str.type__base_type__vtn_base_type_sampler
push 0x51158c
push 0x297
push str..._.._src_compiler_spirv_spirv_to_nir.c
push ebp
call fcn.0048c130
push str.Expected_a_vector_or_scalar_type
push 0x243
push str..._.._src_compiler_spirv_spirv_to_nir.c
push ebp
call fcn.0048c130
push esi
push esi
call fcn.004c22f0
add esp, 4
push eax
push str.Unhandled_opcode
push str._s:__s___u__n
push 0xc97
push str..._.._src_compiler_spirv_spirv_to_nir.c
push ebp
call fcn.0048c130
push str.unexpected_nir_texop_txf_ms_fb
push 0xcba
push str..._.._src_compiler_spirv_spirv_to_nir.c
push ebp
call fcn.0048c130
push str.unexpected_nir_texop_txf_ms_mcs
push 0xcbd
push str..._.._src_compiler_spirv_spirv_to_nir.c
push ebp
call fcn.0048c130
push str.unexpected_nir_texop_tex_prefetch
push 0xcc0
push str..._.._src_compiler_spirv_spirv_to_nir.c
push ebp
call fcn.0048c130
push str.unexpected_nir_texop_descriptor_amd
push 0xcc4
push str..._.._src_compiler_spirv_spirv_to_nir.c
push ebp
call fcn.0048c130
push str.unexpected_nir_texop__agx
push 0xcc9
push str..._.._src_compiler_spirv_spirv_to_nir.c
push ebp
call fcn.0048c130
push str.unexpected_nir_texop__nv
push 0xccd
push str..._.._src_compiler_spirv_spirv_to_nir.c
push ebp
call fcn.0048c130
push str.Coordinate_value_passed_has_fewer_components_than_sampler_dimensionality.
push 0xcfb
push str..._.._src_compiler_spirv_spirv_to_nir.c
push ebp
call fcn.0048c130
push str.Unless_the_Kernel_capability_is_being_used__the_coordinate_parameter_OpImageSampleExplicitLod_must_be_floating_point.
push 0xd03
push str..._.._src_compiler_spirv_spirv_to_nir.c
push ebp
call fcn.0048c130
push str.At_most_one_of_the_ConstOffset__Offset__and_ConstOffsets_image_operands_can_be_used_on_a_given_instruction.
push 0xd81
push str..._.._src_compiler_spirv_spirv_to_nir.c
push ebp
call fcn.0048c130
push str.SPIR_V_return_type_mismatches_image_type._This_is_only_valid_for_untyped_images__OpenCL_.
push 0xdf0
push str..._.._src_compiler_spirv_spirv_to_nir.c
push ebp
call fcn.0048c130
push str.ConstOffsets_must_be_an_array_of_size_four_of_vectors_of_two_integer_components
push 0xe08
push str..._.._src_compiler_spirv_spirv_to_nir.c
push ebp
call fcn.0048c130
push str.ConstOffsets_must_be_an_array_of_size_four_of_vectors_of_two_integer_components
push 0xe01
push str..._.._src_compiler_spirv_spirv_to_nir.c
push ebp
call fcn.0048c130
sbb eax, 0x9500495b
pop ebx
dec ecx
add byte [ebx + ebx*2 + 0x49], cl
add bh, al
pop ebx
dec ecx
add byte [eax], dl
pop esp
dec ecx
add byte [esi], bh
pop esp
dec ecx
add byte [eax + 0x5c], dh
dec ecx
add byte [esi - 0x16ffb6a4], ch
pop esp
dec ecx
add byte [edi], ah
pop ebp
dec ecx
add byte [ecx + 0x6300495d], bl
imul ecx, dword [ecx], 0x1000100
add al, byte [ebx]
add al, byte [ebx]
add al, 5
add eax, 185273099
or eax, dword [esi]
pop es
or byte [ecx], cl
or cl, byte [ebx]
or ecx, dword [ebx]
or ecx, dword [ebx]
or ecx, dword [ebx]
or ecx, dword [ebx]
or ecx, dword [ebx]
or ecx, dword [ebx]
or ecx, dword [ebx]
or ecx, dword [ebx]
or ecx, dword [ebx]
or ecx, dword [ebx]
or ecx, dword [ebx]
or ecx, dword [ebx]
or ecx, dword [ebx]
or ecx, dword [ebx]
or ecx, dword [ebx]
or ecx, dword [ebx]
or ecx, dword [ebx]
or ecx, dword [ebx]
or ecx, dword [ebx]
or ecx, dword [ebx]
or ecx, dword [ebx]
or ecx, dword [ebx]
or ecx, dword [ebx]
or ecx, dword [ebx]
or ecx, dword [ebx]
or ecx, dword [ebx]
or ecx, dword [ebx]
or ecx, dword [ebx]
or ecx, dword [ebx]
or ecx, dword [ebx]
or ecx, dword [ebx]
or ecx, dword [ebx]
or ecx, dword [ebx]
or ecx, dword [ebx]
or ecx, dword [ebx]
or ecx, dword [ebx]
or ecx, dword [ebx]
or ecx, dword [ebx]
or ecx, dword [ebx]
or ecx, dword [ebx]
or ecx, dword [ebx]
or ecx, dword [ebx]
or ecx, dword [ebx]
or ecx, dword [ebx]
or ecx, dword [ebx]
or ecx, dword [ebx]
or ecx, dword [ebx]
or ecx, dword [ebx]
or ecx, dword [ebx]
or ecx, dword [ebx]
or ecx, dword [ebx]
or ecx, dword [ebx]
or ecx, dword [ebx]
or ecx, dword [ebx]
or ecx, dword [ebx]
or ecx, dword [ebx]
or ecx, dword [ebx]
or ecx, dword [ebx]
or ecx, dword [ebx]
or ecx, dword [ebx]
or ecx, dword [ebx]
or ecx, dword [ebx]
or ecx, dword [ebx]
or ecx, dword [ebx]
or ecx, dword [ebx]
or ecx, dword [ebx]
or ecx, dword [ebx]
or ecx, dword [ebx]
or ecx, dword [ebx]
or ecx, dword [ebx]
or ecx, dword [ebx]
or ecx, dword [ebx]
or ecx, dword [ebx]
or ecx, dword [ebx]
or ecx, dword [ebx]
or ecx, dword [ebx]
or ecx, dword [ebx]
or ecx, dword [ebx]
or ecx, dword [ebx]
or ecx, dword [ebx]
or ecx, dword [ebx]
or ecx, dword [ebx]
or ecx, dword [ebx]
or ecx, dword [ebx]
or ecx, dword [ebx]
or ecx, dword [ebx]
or ecx, dword [ebx]
or ecx, dword [ebx]
or ecx, dword [ebx]
or ecx, dword [ebx]
or ecx, dword [ebx]
or ecx, dword [ebx]
or ecx, dword [ebx]
or ecx, dword [ebx]
or ecx, dword [ebx]
or ecx, dword [ebx]
or ecx, dword [ebx]
or ecx, dword [ebx]
add byte [ecx], al
add byte [ecx], al
or ecx, dword [ebx]
or ecx, dword [ebx]
add al, 5
add eax, 1828724495
pop esi
dec ecx
add byte [eax - 0x62ffb697], cl
imul ecx, dword [ecx], case.0x495e66.3
invalid