Function at 0x4be300
Capabilities:
Hash data using fnv

Disassembly:
push ebp
mov ebp, esp
mov eax, dword fs:[0]
push 0xffffffffffffffff
push 0x5145eb
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 0x4be34e
je case.0x4be347.87
lea eax, [ecx - 0x57]
cmp eax, 0xe9
ja case.0x4be370.4480
movzx eax, byte [eax + 0x4be584]
jmp dword [eax*4 + 0x4be57c]
mov eax, ecx
sub eax, 0x1181
je case.0x4be347.87
sub eax, 1
je case.0x4be347.87
sub eax, 1
jne case.0x4be370.4480
add ecx, 0xffffee80
cmp ecx, 3
ja case.default.0x4be370
jmp dword [ecx*4 + 0x4be670]
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.0x4be370.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 0x4be575
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 0x4be4f2
movzx eax, word [eax + 0x1e]
cmp eax, 0x3d
jne 0x4be488
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.0045c130
mov eax, dword [eax + 4]
test eax, eax
jne 0x4be430
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x84]
je 0x4be4f2
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.00432f60
mov esi, dword [esi + 0xe8]
lea ecx, [ebp - 0x114]
add esp, 8
call fcn.00461eb0
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 0x4be4f2
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.0045c130
mov eax, dword [eax + 4]
test eax, eax
jne 0x4be4ea
mov eax, dword [esi + 0x84]
cmp eax, dword [esi + 0x84]
jne 0x4be516
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.0x4be370.4480
mov ecx, dword [ebp + 0xc]
jmp 0x4be3a0
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.00432f60
mov esi, dword [esi + 0xe8]
lea ecx, [ebp - 0x204]
add esp, 8
call fcn.00461eb0
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.00461820
mov edi, edi
jecxz 0x4be5ca
add byte [edx - 0x1b], ah
dec ebx
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 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 + 1273324287], cl
add byte [edx - 27], ah
dec ebx
add byte [edx - 0x1b], ah
dec ebx
add byte [edx - 0x1b], ah
dec ebx
add byte [ebp - 0x75], dl
push ebp
mov ebp, esp
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 byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [ecx], al
add dword [ecx], eax
add dword [eax], eax
mov edi, edi
invalid
mov eax, dword fs:[0]
push 0xffffffffffffffff
push 0x5146b3
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 0x4be702
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.00432f60
mov esi, dword [esi + 0xe8]
add esp, 8
lea ecx, [ebp - 0x160]
call fcn.00461eb0
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 0x4be73a
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 0x4be6d5
lea eax, [ebp - 0x40]
mov dword [ebp - 0x3c], 0x7fffffff
push eax
push esi
push ebx
mov dword [ebp - 0x2c], 0
call fcn.004b9620
add esp, 0xc
test al, al
jne 0x4be77e
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 0x4be6d5
mov eax, dword [ebx]
push dword [eax]
call fcn.0046fef0
add esp, 4
test al, al
je 0x4be7f3
cmp dword [ebp - 0x2c], 1
je 0x4be823
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.004709d0
mov esi, eax
push str.Expected_Image_Sampled_parameter_to_be_1_for_Vulkan_environment.
push esi
call fcn.00432f60
mov esi, dword [esi + 0xe8]
lea ecx, [ebp - 0x38]
add esp, 8
call fcn.004016b0
jmp 0x4be6e4
mov eax, dword [ebp - 0x2c]
test eax, eax
je 0x4be823
cmp eax, 1
je 0x4be823
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 0x4be6d5
cmp dword [ebp - 0x3c], 6
mov ecx, ebx
jne 0x4be84d
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 0x4be6d5
push 3
push edi
call fcn.004daf30
push eax
mov ecx, ebx
call fcn.004daea0
mov ecx, ebx
cmp eax, 0x1a
je 0x4be886
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 0x4be6d5
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 0x4be940
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 0x4beb0c
cmp edi, 0xf5
je 0x4bea7e
cmp edi, 0xa9
je 0x4bea7e
cmp edi, 0x1180
ja 0x4be915
je case.0x4be8f5.83
lea eax, [edi - 0x3e]
cmp eax, 0xfd
ja case.0x4be8f5.63
movzx eax, byte [eax + 0x4bebe0]
jmp dword [eax*4 + 0x4bebd4]
push 0x150e
mov ecx, ebx
call fcn.00472710
mov ecx, dword [ebp - 0x1c]
test al, al
mov edx, dword [ebp - 0x14]
setne al
jmp 0x4be92e
mov eax, edi
sub eax, 0x1181
je case.0x4be8f5.83
sub eax, 1
je case.0x4be8f5.83
sub eax, 1
je case.0x4be8f5.83
xor al, al
jmp 0x4be92e
mov al, 1
test al, al
je 0x4be9a9
add esi, 4
cmp esi, ecx
jne 0x4be8b0
mov edi, dword [ebp + 0xc]
push 2
mov ecx, edi
call fcn.00476aa0
push eax
mov ecx, ebx
call fcn.004dab90
mov esi, eax
cmp word [esi + 0x1e], 0x3d
jne 0x4be96d
push 2
mov ecx, esi
call fcn.00476aa0
push edi
push esi
push eax
mov ecx, ebx
call fcn.004dc890
xor esi, esi
mov edx, dword [ebp - 0x20]
test edx, edx
je 0x4bebbb
mov ecx, dword [ebp - 0x18]
mov eax, edx
sub ecx, edx
and ecx, 0xfffffffc
cmp ecx, 0x1000
jb 0x4bebb1
mov edx, dword [edx - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4bebce
jmp 0x4bebb1
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.00432f60
push edi
call fcn.0046dbd0
push eax
push esi
call fcn.00432f60
push str.__since_it_is_not_specified_as_taking_an
push esi
call fcn.00432f60
push str.OpTypeSampledImage.
push esi
call fcn.00432f60
push str._Found_result__id_
push esi
call fcn.00432f60
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.004709d0
mov esi, eax
push str._as_an_operand_of__id_
push esi
call fcn.00432f60
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.004709d0
mov esi, eax
push 0x51c92c
push esi
call fcn.00432f60
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.00461eb0
jmp 0x4be96f
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.00432f60
push edi
call fcn.0046dbd0
push eax
push esi
call fcn.00432f60
push 0x51c92c
push esi
call fcn.00432f60
push str._Found_result__id_
push esi
call fcn.00432f60
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.004709d0
mov esi, eax
push str._as_an_operand_of__id_
push esi
call fcn.00432f60
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 0x4beb73
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.00432f60
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.004709d0
mov esi, eax
push str._has_a_consumer_in_a_different_basic_block._The_consumer_instruction__id__is
push esi
call fcn.00432f60
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.004709d0
mov esi, eax
push 0x51c92c
push esi
call fcn.00432f60
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.00461eb0
jmp 0x4be96f
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
cld
call 3916950565
dec ebx
add byte [eax], ch
jmp 0x24bec2d