Function at 0x4cee50
Capabilities:
Hash data using fnv

Disassembly:
push ebp
mov ebp, esp
sub esp, 8
mov eax, dword [ebp + 0xc]
push esi
push edi
mov edi, dword [ebp + 8]
mov edx, dword [eax]
movzx eax, dl
xor eax, 0x811c9dc5
mov dword [ebp + 0xc], edx
imul ecx, eax, 0x1000193
mov eax, edx
shr eax, 8
movzx eax, al
xor ecx, eax
mov eax, edx
shr eax, 0x10
imul ecx, ecx, 0x1000193
movzx eax, al
shr edx, 0x18
xor ecx, eax
imul eax, ecx, 0x1000193
lea ecx, [edi + 0x294]
xor eax, edx
imul eax, eax, 0x1000193
push eax
lea eax, [ebp + 0xc]
push eax
lea eax, [ebp - 8]
push eax
call fcn.0045db70
mov eax, dword [eax + 4]
test eax, eax
jne 0x4ceebd
mov eax, dword [edi + 0x298]
xor esi, esi
lea ecx, [eax + 0xc]
cmp eax, dword [edi + 0x298]
cmovne esi, ecx
test esi, esi
je 0x4cef4e
mov esi, dword [esi]
mov eax, dword [esi]
cmp eax, esi
je 0x4cef4e
jmp 0x4ceee0
mov ecx, dword [eax + 0x10]
add ecx, 0xffffeb0a
cmp ecx, 5
ja case.default.0x4ceef5
movzx ecx, byte [ecx + 0x4cf034]
jmp dword [ecx*4 + 0x4cf030]
mov ecx, dword [eax + 8]
cmp byte [ecx + 0xd], 0
je 0x4cef24
mov ecx, dword [eax + 4]
cmp byte [ecx + 0xd], 0
jne 0x4cef20
mov edi, edi
cmp eax, dword [ecx + 8]
jne 0x4cef20
mov eax, ecx
mov ecx, dword [ecx + 4]
cmp byte [ecx + 0xd], 0
je 0x4cef10
mov eax, ecx
jmp 0x4cef3c
mov eax, ecx
mov edx, dword [eax]
cmp byte [edx + 0xd], 0
jne 0x4cef3c
mov edi, edi
mov ecx, dword [edx]
mov eax, edx
mov edx, ecx
cmp byte [ecx + 0xd], 0
je 0x4cef30
cmp eax, esi
jne 0x4ceee0
cmp eax, esi
je 0x4cef4e
pop edi
mov al, 1
pop esi
mov esp, ebp
pop ebp
ret 0xc
push ebx
mov ebx, dword [ebp + 0x10]
mov ecx, dword [ebx + 0x14]
mov dword [ebp + 8], ecx
cmp ecx, 0x6d
jb 0x4cef85
mov esi, dword [ebx]
push 0x6d
push str.OpBeginInvocationInterlockEXT_OpEndInvocationInterlockEXT_require_a_fragment_shader_interlock_execution_mode.
push esi
mov dword [ebx + 0x10], 0x6d
call fcn.004eb010
add esp, 0xc
mov byte [esi + 0x6d], 0
xor al, al
pop ebx
pop edi
pop esi
mov esp, ebp
pop ebp
ret 0xc
mov edx, ecx
mov eax, 0x7fffffff
shr edx, 1
sub eax, edx
cmp ecx, eax
jbe 0x4cef9b
mov ecx, 0x7fffffff
jmp 0x4cefa8
lea eax, [edx + ecx]
mov ecx, 0x6f
cmp eax, ecx
cmova ecx, eax
lea eax, [ebp + 0xc]
mov dword [ebp + 0xc], ecx
push eax
push ebx
call fcn.00401190
mov ecx, dword [ebp + 0xc]
mov edx, eax
mov dword [ebx + 0x14], ecx
mov esi, str.OpBeginInvocationInterlockEXT_OpEndInvocationInterlockEXT_require_a_fragment_shader_interlock_execution_mode.
mov eax, dword [ebp + 8]
mov ecx, 0x1b
mov dword [ebx + 0x10], 0x6d
mov edi, edx
rep movsd dword es:[edi], dword [esi]
add esp, 8
mov dword [ebp + 0x10], edx
movsb byte es:[edi], byte [esi]
mov byte [edx + 0x6d], 0
cmp eax, 0xf
jbe 0x4cf01e
lea ecx, [eax + 1]
mov eax, dword [ebx]
cmp ecx, 0x1000
jb 0x4cf004
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4cf02b
mov eax, edx
push ecx
push eax
call fcn.004e9693
mov eax, dword [ebp + 0x10]
add esp, 8
mov dword [ebx], eax
xor al, al
pop ebx
pop edi
pop esi
mov esp, ebp
pop ebp
ret 0xc
mov dword [ebx], edx
xor al, al
pop ebx
pop edi
pop esi
mov esp, ebp
pop ebp
ret 0xc
call fcn.004ee89f
inc eax
out dx, eax
dec esp
add byte [eax], al
add byte [eax], al
add byte [eax], al
add ah, cl
int3