Function at 0x4c1680
Capabilities:
Hash data using fnv

Disassembly:
push ebp
mov ebp, esp
mov eax, dword fs:[0]
push 0xffffffffffffffff
push 0x5180bb
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 0x4c16ce
je case.0x4c16c7.87
lea eax, [ecx - 0x57]
cmp eax, 0xe9
ja case.0x4c16f0.4480
movzx eax, byte [eax + 0x4c18f0]
jmp dword [eax*4 + 0x4c18e8]
mov eax, ecx
sub eax, 0x1181
je case.0x4c16c7.87
sub eax, 1
je case.0x4c16c7.87
sub eax, 1
jne case.0x4c16f0.4480
add ecx, 0xffffee80
cmp ecx, 3
ja case.default.0x4c16f0
jmp dword [ecx*4 + 0x4c19dc]
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.0x4c16f0.4480
mov edi, dword [ebp + 8]
xor ebx, ebx
mov dword [ebp - 0x14], ebx
lea esp, [esp]
movzx ecx, word [ebx + ecx]
mov eax, dword [esi]
mov ebx, dword [eax + ecx*4]
mov ecx, edi
push ebx
call fcn.004de540
test eax, eax
je 0x4c1865
movzx eax, word [eax + 0x1e]
cmp eax, 0x3d
jne 0x4c17fb
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.0045db70
mov eax, dword [eax + 4]
test eax, eax
jne 0x4c17a3
mov eax, dword [edi + 0x84]
cmp eax, dword [edi + 0x84]
je 0x4c1865
push esi
push 0xfffffffffffffff2
lea eax, [ebp - 0x114]
mov ecx, edi
push eax
call fcn.004e4840
mov esi, eax
push str.Illegal_use_of_QCOM_image_processing_decorated_texture
push esi
mov dword [ebp - 4], 0
call fcn.00433f60
mov esi, dword [esi + 0xe8]
lea ecx, [ebp - 0x114]
add esp, 8
call fcn.00463850
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 0x4c1865
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.0045db70
mov eax, dword [eax + 4]
test eax, eax
jne 0x4c185d
mov eax, dword [edi + 0x84]
cmp eax, dword [edi + 0x84]
jne 0x4c189b
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 0x4c1720
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.004e4840
mov esi, eax
push str.Illegal_use_of_QCOM_image_processing_decorated_texture
push esi
mov dword [ebp - 4], 1
call fcn.00433f60
mov esi, dword [esi + 0xe8]
lea ecx, [ebp - 0x204]
add esp, 8
call fcn.00463850
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