Function at 0x4be320
Capabilities:
Hash data using fnv

Disassembly:
push ebp
mov ebp, esp
mov eax, dword fs:[0]
push 0xffffffffffffffff
push 0x51521b
push eax
mov dword fs:[0], esp
sub esp, 0x1f8
push ebx
push esi
push edi
mov edi, dword [ebp + 0xc]
movzx ecx, word [edi + 0x1e]
cmp ecx, 0x1180
ja 0x4be36e
je case.0x4be367.87
lea eax, [ecx - 0x57]
cmp eax, 0xe9
ja case.0x4be390.4480
movzx eax, byte [eax + 0x4be5a4]
jmp dword [eax*4 + 0x4be59c]
mov eax, ecx
sub eax, 0x1181
je case.0x4be367.87
sub eax, 1
je case.0x4be367.87
sub eax, 1
jne case.0x4be390.4480
add ecx, 0xffffee80
cmp ecx, 3
ja case.default.0x4be390
jmp dword [ecx*4 + 0x4be690]
mov eax, dword [edi + 0x10]
xor ebx, ebx
mov edx, dword [edi + 0xc]
mov ecx, eax
sub ecx, edx
mov dword [ebp - 0x14], ebx
sar ecx, 4
test ecx, ecx
je case.0x4be390.4480
mov esi, dword [ebp + 8]
xor ecx, ecx
mov dword [ebp + 0xc], ecx
lea esp, [esp]
sub eax, edx
sar eax, 4
cmp eax, ebx
jbe 0x4be595
movzx ecx, word [ecx + edx]
mov eax, dword [edi]
mov ebx, dword [eax + ecx*4]
mov ecx, esi
push ebx
call fcn.004dab90
test eax, eax
je 0x4be512
movzx eax, word [eax + 0x1e]
cmp eax, 0x3d
jne 0x4be4a8
movzx eax, bl
xor eax, 0x811c9dc5
mov dword [ebp - 0x10], ebx
imul ecx, eax, 0x1000193
mov eax, ebx
shr eax, 8
movzx eax, al
xor ecx, eax
mov eax, ebx
shr eax, 0x10
imul ecx, ecx, 0x1000193
movzx eax, al
shr ebx, 0x18
xor ecx, eax
imul eax, ecx, 0x1000193
lea ecx, [esi + 0x80]
xor eax, ebx
imul eax, eax, 0x1000193
push eax
lea eax, [ebp - 0x10]
push eax
lea eax, [ebp - 0x1c]
push eax
call fcn.0045c060
mov eax, dword [eax + 4]
test eax, eax
jne 0x4be450
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x84]
je 0x4be512
push edi
push 0xfffffffffffffff2
lea eax, [ebp - 0x114]
mov ecx, esi
push eax
call fcn.004e0a50
mov esi, eax
push str.Illegal_use_of_QCOM_image_processing_decorated_texture
push esi
mov dword [ebp - 4], 0
call fcn.00432f90
mov esi, dword [esi + 0xe8]
lea ecx, [ebp - 0x114]
add esp, 8
call fcn.00461de0
pop edi
mov eax, esi
pop esi
pop ebx
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
mov esp, ebp
pop ebp
ret
cmp eax, 0x56
jne 0x4be512
movzx eax, bl
xor eax, 0x811c9dc5
mov dword [ebp - 0x10], ebx
imul ecx, eax, 0x1000193
mov eax, ebx
shr eax, 8
movzx eax, al
xor ecx, eax
mov eax, ebx
shr eax, 0x10
imul ecx, ecx, 0x1000193
movzx eax, al
shr ebx, 0x18
xor ecx, eax
imul eax, ecx, 0x1000193
lea ecx, [esi + 0x80]
xor eax, ebx
imul eax, eax, 0x1000193
push eax
lea eax, [ebp - 0x10]
push eax
lea eax, [ebp - 0x24]
push eax
call fcn.0045c060
mov eax, dword [eax + 4]
test eax, eax
jne 0x4be50a
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x84]
jne 0x4be536
mov eax, dword [edi + 0x10]
mov ecx, eax
mov ebx, dword [ebp - 0x14]
mov edx, dword [edi + 0xc]
inc ebx
add dword [ebp + 0xc], 0x10
sub ecx, edx
sar ecx, 4
mov dword [ebp - 0x14], ebx
cmp ebx, ecx
jae case.0x4be390.4480
mov ecx, dword [ebp + 0xc]
jmp 0x4be3c0
push edi
push 0xfffffffffffffff2
lea eax, [ebp - 0x204]
mov ecx, esi
push eax
call fcn.004e0a50
mov esi, eax
push str.Illegal_use_of_QCOM_image_processing_decorated_texture
push esi
mov dword [ebp - 4], 1
call fcn.00432f90
mov esi, dword [esi + 0xe8]
lea ecx, [ebp - 0x204]
add esp, 8
call fcn.00461de0
pop edi
mov eax, esi
pop esi
pop ebx
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
mov esp, ebp
pop ebp
ret
mov ecx, dword [ebp - 0xc]
xor eax, eax
pop edi
pop esi
pop ebx
mov dword fs:[0], ecx
mov esp, ebp
pop ebp
ret
call fcn.00461750
mov edi, edi
test ebx, esp
dec ebx
add byte [edx + 0x4be5], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add dword [ecx], eax
add dword [ecx], eax
add dword [ecx], eax
add dword [ecx], eax
add dword [ecx], eax
add dword [ecx], eax
add dword [ecx], eax
add dword [ecx], eax
add dword [ecx], eax
add dword [ecx], eax
add dword [ecx], eax
add dword [ecx], eax
add dword [ecx], eax
add dword [ecx], eax
add dword [ecx], eax
add dword [ecx], eax
add dword [ecx], eax
add dword [ecx], eax
add dword [ecx], eax
add dword [ecx], eax
add dword [ecx], eax
add dword [ecx], eax
add dword [ecx], eax
add dword [ecx], eax
add dword [ecx], eax
add dword [ecx], eax
add dword [ecx], eax
add dword [ecx], eax
add dword [ecx], eax
add dword [ecx], eax
add dword [ecx], eax
add dword [ecx], eax
add dword [ecx], eax
add dword [ecx], eax
add dword [ecx], eax
add dword [ecx], eax
add dword [ecx], eax
add dword [ecx], eax
add dword [ecx], eax
add dword [ecx], eax
add dword [ecx], eax
add dword [ecx], eax
add dword [ecx], eax
add dword [ecx], eax
add dword [ecx], eax
add dword [ecx], eax
add dword [ecx], eax
add dword [ecx], eax
add dword [ecx], eax
add dword [ecx], eax
add dword [ecx], eax
add dword [ecx], eax
add dword [ecx], eax
add dword [ecx], eax
add dword [ecx], eax
add dword [ecx], eax
add dword [ecx], eax
add dword [ecx], eax
add dword [ecx], eax
add dword [ecx], eax
add dword [ecx], eax
add dword [ecx], eax
add dword [ecx], eax
add dword [ecx], eax
add dword [ecx], eax
add dword [ecx], eax
add dword [ecx], eax
add dword [ecx], eax
add dword [ecx], eax
add dword [ecx], eax
add dword [ecx], eax
add dword [ecx], eax
add dword [ecx], eax
add dword [ecx], eax
add dword [ecx], eax
add dword [ecx], eax
add dword [ecx], eax
add dword [ecx], eax
add dword [ecx], eax
add dword [ecx], eax
add dword [ecx], eax
add dword [ecx], eax
add dword [ecx], eax
add dword [ecx], eax
add dword [ecx], eax
add dword [ecx], eax
add dword [ecx], eax
add dword [ecx], eax
add dword [ecx], eax
add dword [ecx], eax
add dword [ecx], eax
add dword [ecx], eax
add dword [ecx], eax
add dword [ecx], eax
add dword [ecx], eax
add dword [ecx], eax
add dword [ecx], eax
add dword [ecx], eax
add dword [eax], eax
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add dword [ecx], eax
add dword [ecx], eax
add byte [ebx + 1273332479], cl
add byte [edx - 2113909787], al
in eax, 0x4b
add byte [edx + 0x55004be5], al
push ebp
mov ebp, esp
mov eax, dword fs:[0]
push 0xffffffffffffffff
push 0x5152e3
push eax
mov dword fs:[0], esp
sub esp, 0x244
push ebx
mov ebx, dword [ebp + 8]
mov ecx, ebx
push esi
push edi
mov edi, dword [ebp + 0xc]
push dword [edi + 0x24]
call fcn.004daea0
mov ecx, ebx
cmp eax, 0x1b
je 0x4be722
push edi
push 0xfffffffffffffff2
lea eax, [ebp - 0x160]
push eax
call fcn.004e0a50
mov esi, eax
mov dword [ebp - 4], 0
push str.Expected_Result_Type_to_be_OpTypeSampledImage.
push esi
call fcn.00432f90
mov esi, dword [esi + 0xe8]
add esp, 8
lea ecx, [ebp - 0x160]
call fcn.00461de0
pop edi
mov eax, esi
pop esi
pop ebx
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
mov esp, ebp
pop ebp
ret
push 2
push edi
call fcn.004daf30
mov esi, eax
mov ecx, ebx
push esi
call fcn.004daea0
cmp eax, 0x19
je 0x4be75a
push edi
push 0xfffffffffffffff2
lea eax, [ebp - 0x160]
mov ecx, ebx
push eax
call fcn.004e0a50
mov esi, eax
mov dword [ebp - 4], 1
push str.Expected_Image_to_be_of_type_OpTypeImage.
jmp 0x4be6f5
lea eax, [ebp - 0x40]
mov dword [ebp - 0x3c], 0x7fffffff
push eax
push esi
push ebx
mov dword [ebp - 0x2c], 0
call fcn.004b9650
add esp, 0xc
test al, al
jne 0x4be79e
push edi
push 0xfffffffffffffff2
lea eax, [ebp - 0x160]
mov ecx, ebx
push eax
call fcn.004e0a50
mov esi, eax
mov dword [ebp - 4], 2
push str.Corrupt_image_type_definition
jmp 0x4be6f5
mov eax, dword [ebx]
push dword [eax]
call fcn.0046fe40
add esp, 4
test al, al
je 0x4be813
cmp dword [ebp - 0x2c], 1
je 0x4be843
push edi
push 0xfffffffffffffff2
lea eax, [ebp - 0x160]
mov ecx, ebx
push eax
call fcn.004e0a50
mov esi, eax
push 0
push 0x1a0f
lea eax, [ebp - 0x38]
mov dword [ebp - 4], 3
push eax
mov ecx, ebx
call fcn.004dd300
push eax
mov ecx, esi
mov byte [ebp - 4], 4
call fcn.00470920
mov esi, eax
push str.Expected_Image_Sampled_parameter_to_be_1_for_Vulkan_environment.
push esi
call fcn.00432f90
mov esi, dword [esi + 0xe8]
lea ecx, [ebp - 0x38]
add esp, 8
call fcn.004016b0
jmp 0x4be704
mov eax, dword [ebp - 0x2c]
test eax, eax
je 0x4be843
cmp eax, 1
je 0x4be843
push edi
push 0xfffffffffffffff2
lea eax, [ebp - 0x160]
mov ecx, ebx
push eax
call fcn.004e0a50
mov esi, eax
mov dword [ebp - 4], 5
push str.Expected_Image_Sampled_parameter_to_be_0_or_1
jmp 0x4be6f5
cmp dword [ebp - 0x3c], 6
mov ecx, ebx
jne 0x4be86d
push edi
push 0xfffffffffffffff2
lea eax, [ebp - 0x160]
push eax
call fcn.004e0a50
mov esi, eax
mov dword [ebp - 4], 6
push str.Expected_Image_Dim_parameter_to_be_not_SubpassData.
jmp 0x4be6f5
push 3
push edi
call fcn.004daf30
push eax
mov ecx, ebx
call fcn.004daea0
mov ecx, ebx
cmp eax, 0x1a
je 0x4be8a6
push edi
push 0xfffffffffffffff2
lea eax, [ebp - 0x160]
push eax
call fcn.004e0a50
mov esi, eax
mov dword [ebp - 4], 7
push str.Expected_Sampler_to_be_of_type_OpTypeSampler
jmp 0x4be6f5
push dword [edi + 0x28]
lea eax, [ebp - 0x20]
push eax
call fcn.004e10f0
mov esi, dword [ebp - 0x20]
mov ecx, dword [ebp - 0x1c]
mov dword [ebp - 4], 8
cmp esi, ecx
je 0x4be960
mov edx, dword [edi + 0x3c]
mov dword [ebp - 0x14], edx
lea ecx, [ecx]
mov eax, dword [esi]
mov dword [ebp - 0x10], eax
movzx edi, word [eax + 0x1e]
cmp dword [eax + 0x3c], edx
jne 0x4beb2c
cmp edi, 0xf5
je 0x4bea9e
cmp edi, 0xa9
je 0x4bea9e
cmp edi, 0x1180
ja 0x4be935
je case.0x4be915.83
lea eax, [edi - 0x3e]
cmp eax, 0xfd
ja case.0x4be915.63
movzx eax, byte [eax + 0x4bec00]
jmp dword [eax*4 + 0x4bebf4]
push 0x150e
mov ecx, ebx
call fcn.00472660
mov ecx, dword [ebp - 0x1c]
test al, al
mov edx, dword [ebp - 0x14]
setne al
jmp 0x4be94e
mov eax, edi
sub eax, 0x1181
je case.0x4be915.83
sub eax, 1
je case.0x4be915.83
sub eax, 1
je case.0x4be915.83
xor al, al
jmp 0x4be94e
mov al, 1
test al, al
je 0x4be9c9
add esi, 4
cmp esi, ecx
jne 0x4be8d0
mov edi, dword [ebp + 0xc]
push 2
mov ecx, edi
call fcn.004769f0
push eax
mov ecx, ebx
call fcn.004dab90
mov esi, eax
cmp word [esi + 0x1e], 0x3d
jne 0x4be98d
push 2
mov ecx, esi
call fcn.004769f0
push edi
push esi
push eax
mov ecx, ebx
call fcn.004dc890
xor esi, esi
mov edx, dword [ebp - 0x20]
test edx, edx
je 0x4bebdb
mov ecx, dword [ebp - 0x18]
mov eax, edx
sub ecx, edx
and ecx, 0xfffffffc
cmp ecx, 0x1000
jb 0x4bebd1
mov edx, dword [edx - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4bebee
jmp 0x4bebd1
push dword [ebp + 0xc]
lea eax, [ebp - 0x250]
mov ecx, ebx
push 0xfffffffffffffff6
push eax
call fcn.004e0a50
mov esi, eax
push str.Result__id__from_OpSampledImage_instruction_must_not_appear_as_operand_for_Op
push esi
mov byte [ebp - 4], 0xf
call fcn.00432f90
push edi
call fcn.0046db20
push eax
push esi
call fcn.00432f90
push str.__since_it_is_not_specified_as_taking_an
push esi
call fcn.00432f90
push str.OpTypeSampledImage.
push esi
call fcn.00432f90
push str._Found_result__id_
push esi
call fcn.00432f90
mov eax, dword [ebp + 0xc]
add esp, 0x2c
mov ecx, ebx
push dword [eax + 0x28]
lea eax, [ebp - 0x70]
push eax
call fcn.004e0da0
push eax
mov ecx, esi
mov byte [ebp - 4], 0x10
call fcn.00470920
mov esi, eax
push str._as_an_operand_of__id_
push esi
call fcn.00432f90
mov eax, dword [ebp - 0x10]
add esp, 8
mov ecx, ebx
push dword [eax + 0x28]
lea eax, [ebp - 0x58]
push eax
call fcn.004e0da0
push eax
mov ecx, esi
mov byte [ebp - 4], 0x11
call fcn.00470920
mov esi, eax
push 0x51d92c
push esi
call fcn.00432f90
mov esi, dword [esi + 0xe8]
lea ecx, [ebp - 0x58]
add esp, 8
call fcn.004016b0
lea ecx, [ebp - 0x70]
call fcn.004016b0
lea ecx, [ebp - 0x250]
call fcn.00461de0
jmp 0x4be98f
push dword [ebp + 0xc]
lea eax, [ebp - 0x250]
mov ecx, ebx
push 0xfffffffffffffff6
push eax
call fcn.004e0a50
mov esi, eax
push str.Result__id__from_OpSampledImage_instruction_must_not_appear_as_operands_of_Op
push esi
mov byte [ebp - 4], 0xc
call fcn.00432f90
push edi
call fcn.0046db20
push eax
push esi
call fcn.00432f90
push 0x51d92c
push esi
call fcn.00432f90
push str._Found_result__id_
push esi
call fcn.00432f90
mov eax, dword [ebp + 0xc]
add esp, 0x24
mov ecx, ebx
push dword [eax + 0x28]
lea eax, [ebp - 0x58]
push eax
call fcn.004e0da0
push eax
mov ecx, esi
mov byte [ebp - 4], 0xd
call fcn.00470920
mov esi, eax
push str._as_an_operand_of__id_
push esi
call fcn.00432f90
mov eax, dword [ebp - 0x10]
add esp, 8
mov ecx, ebx
push dword [eax + 0x28]
lea eax, [ebp - 0x70]
push eax
call fcn.004e0da0
mov byte [ebp - 4], 0xe
jmp 0x4beb93
mov edi, dword [ebp + 0xc]
lea eax, [ebp - 0x250]
push edi
push 0xfffffffffffffff6
push eax
mov ecx, ebx
call fcn.004e0a50
mov esi, eax
push str.All_OpSampledImage_instructions_must_be_in_the_same_block_in_which_their_Result__id__are_consumed._OpSampledImage_Result_Type__id_
push esi
mov byte [ebp - 4], 9
call fcn.00432f90
add esp, 8
lea eax, [ebp - 0x58]
mov ecx, ebx
push dword [edi + 0x28]
push eax
call fcn.004e0da0
push eax
mov ecx, esi
mov byte [ebp - 4], 0xa
call fcn.00470920
mov esi, eax
push str._has_a_consumer_in_a_different_basic_block._The_consumer_instruction__id__is
push esi
call fcn.00432f90
mov eax, dword [ebp - 0x10]
add esp, 8
mov ecx, ebx
push dword [eax + 0x28]
lea eax, [ebp - 0x70]
push eax
call fcn.004e0da0
mov byte [ebp - 4], 0xb
push eax
mov ecx, esi
call fcn.00470920
mov esi, eax
push 0x51d92c
push esi
call fcn.00432f90
mov esi, dword [esi + 0xe8]
lea ecx, [ebp - 0x70]
add esp, 8
call fcn.004016b0
lea ecx, [ebp - 0x58]
call fcn.004016b0
lea ecx, [ebp - 0x250]
call fcn.00461de0
jmp 0x4be98f
push ecx
push edx
call fcn.004e5ccb
add esp, 8
mov ecx, dword [ebp - 0xc]
mov eax, esi
pop edi
pop esi
pop ebx
mov dword fs:[0], ecx
mov esp, ebp
pop ebp
ret
call fcn.004ea5cf
nop
sbb al, 0xe9
dec ebx
add byte [ecx + ebp*8 + 0x4b], cl
add byte [eax - 0x17], cl
dec ebx
add byte [eax], al
add al, byte [edx]
add al, byte [edx]
add al, byte [edx]
add al, byte [edx]
add al, byte [edx]
add al, byte [edx]
add al, byte [edx]
add al, byte [edx]
add al, byte [edx]
add al, byte [edx]
add dword [edx], eax
add al, byte [ecx]
add dword [ecx], eax
add dword [ecx], eax
add dword [ecx], eax
add dword [ecx], eax
add al, byte [ecx]
add dword [edx], eax
add al, byte [ecx]
add al, byte [edx]
add al, byte [edx]
add dword [edx], eax
add al, byte [edx]
add al, byte [edx]
add al, byte [edx]
add al, byte [edx]
add al, byte [edx]
add al, byte [edx]
add al, byte [edx]
add al, byte [edx]
add al, byte [edx]
add al, byte [edx]
add al, byte [edx]
add al, byte [edx]
add al, byte [edx]
add al, byte [edx]
add al, byte [edx]
add al, byte [edx]
add al, byte [edx]
add al, byte [edx]
add al, byte [edx]
add al, byte [edx]
add al, byte [edx]
add al, byte [edx]
add al, byte [edx]
add al, byte [edx]
add al, byte [edx]
add al, byte [edx]
add al, byte [edx]
add al, byte [edx]
add al, byte [edx]
add al, byte [edx]
add al, byte [edx]
add al, byte [edx]
add al, byte [edx]
add al, byte [edx]
add al, byte [edx]
add al, byte [edx]
add al, byte [edx]
add al, byte [edx]
add al, byte [edx]
add al, byte [edx]
add al, byte [edx]
add al, byte [edx]
add al, byte [edx]
add al, byte [edx]
add al, byte [edx]
add al, byte [edx]
add al, byte [edx]
add al, byte [edx]
add al, byte [edx]
add al, byte [edx]
add al, byte [edx]
add al, byte [edx]
add al, byte [edx]
add al, byte [edx]
add al, byte [edx]
add al, byte [edx]
add al, byte [edx]
add al, byte [edx]
add al, byte [edx]
add al, byte [edx]
add al, byte [edx]
add al, byte [edx]
add al, byte [edx]
add al, byte [edx]
add al, byte [edx]
add al, byte [edx]
add al, byte [edx]
add al, byte [edx]
add al, byte [edx]
add al, byte [edx]
add al, byte [edx]
add al, byte [edx]
add al, byte [edx]
add al, byte [edx]
add al, byte [edx]
add al, byte [edx]
add al, byte [edx]
add al, byte [edx]
add al, byte [edx]
add al, byte [edx]
add al, byte [edx]
add al, byte [edx]
add al, byte [edx]
add al, byte [edx]
add al, byte [edx]
add al, byte [edx]
add al, byte [edx]
add al, byte [edx]
add al, byte [edx]
add al, byte [edx]
add al, byte [edx]
add al, byte [edx]
add al, byte [edx]
add al, byte [edx]
add al, byte [edx]
add al, byte [edx]
add al, byte [edx]
add al, byte [edx]
add al, byte [edx]
add dword [ecx], eax
add dword [ecx], eax
add al, byte [edx]
add al, byte [edx]
add al, byte [ecx]
add esp, ecx
int3