Function at 0x4cf5e0
Capabilities:
Hash data using fnv

Disassembly:
push ebp
mov ebp, esp
mov eax, dword fs:[0]
push 0xffffffffffffffff
push 0x52925b
push eax
mov dword fs:[0], esp
sub esp, 0x1f8
push ebx
push esi
mov esi, dword [ebp + 0xc]
push edi
movzx ecx, word [esi + 0x1e]
cmp ecx, 0x1180
ja 0x4cf62e
je case.0x4cf644.4481
lea eax, [ecx - 0x57]
cmp eax, 0xe9
ja case.0x4cf65d.4480
movzx eax, byte [eax + 0x4cf858]
jmp dword [eax*4 + 0x4cf850]
lea eax, [ecx - 0x1181]
cmp eax, 0x16
ja case.0x4cf65d.4480
movzx eax, byte [eax + 0x4cf94c]
jmp dword [eax*4 + 0x4cf944]
add ecx, 0xffffee80
cmp ecx, 0x17
ja case.0x4cf65d.4484
movzx eax, byte [ecx + 0x4cf96c]
jmp dword [eax*4 + 0x4cf964]
mov eax, dword [esi + 0x10]
mov ecx, dword [esi + 0xc]
sub eax, ecx
sar eax, 4
mov dword [ebp + 0xc], 0
test eax, eax
je case.0x4cf65d.4480
mov edi, dword [ebp + 8]
xor ebx, ebx
mov dword [ebp - 0x14], ebx
movzx ecx, word [ebx + ecx]
mov eax, dword [esi]
mov ebx, dword [eax + ecx*4]
mov ecx, edi
push ebx
call fcn.004eebd0
test eax, eax
je 0x4cf7cb
movzx eax, word [eax + 0x1e]
cmp eax, 0x3d
jne 0x4cf761
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, [edi + 0x80]
xor eax, ebx
imul eax, eax, 0x1000193
push eax
lea eax, [ebp - 0x10]
push eax
lea eax, [ebp - 0x1c]
push eax
call fcn.00465c40
mov eax, dword [eax + 4]
test eax, eax
jne 0x4cf709
mov eax, dword [edi + 0x84]
cmp eax, dword [edi + 0x84]
je 0x4cf7cb
push esi
push 0xfffffffffffffff2
lea eax, [ebp - 0x114]
mov ecx, edi
push eax
call fcn.004f5350
mov esi, eax
push str.Illegal_use_of_QCOM_image_processing_decorated_texture
push esi
mov dword [ebp - 4], 0
call fcn.00438a80
mov esi, dword [esi + 0xe8]
lea ecx, [ebp - 0x114]
add esp, 8
call fcn.0046b990
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 0x4cf7cb
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, [edi + 0x80]
xor eax, ebx
imul eax, eax, 0x1000193
push eax
lea eax, [ebp - 0x10]
push eax
lea eax, [ebp - 0x24]
push eax
call fcn.00465c40
mov eax, dword [eax + 4]
test eax, eax
jne 0x4cf7c3
mov eax, dword [edi + 0x84]
cmp eax, dword [edi + 0x84]
jne 0x4cf801
mov eax, dword [esi + 0x10]
mov edx, dword [ebp + 0xc]
mov ecx, dword [esi + 0xc]
inc edx
mov ebx, dword [ebp - 0x14]
sub eax, ecx
add ebx, 0x10
sar eax, 4
mov dword [ebp + 0xc], edx
mov dword [ebp - 0x14], ebx
cmp edx, eax
jb 0x4cf686
pop edi
pop esi
xor eax, eax
pop ebx
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
mov esp, ebp
pop ebp
ret
push esi
push 0xfffffffffffffff2
lea eax, [ebp - 0x204]
mov ecx, edi
push eax
call fcn.004f5350
mov esi, eax
push str.Illegal_use_of_QCOM_image_processing_decorated_texture
push esi
mov dword [ebp - 4], 1
call fcn.00438a80
mov esi, dword [esi + 0xe8]
lea ecx, [ebp - 0x204]
add esp, 8
call fcn.0046b990
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