Function at 0x101c6320
Capabilities:
Hash data using fnv

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
sub esp, 0x14
mov dword [ebp - 0x10], edx
mov edi, ecx
mov ecx, dword [ecx + 0x1c]
mov eax, dword [edi + 0x20]
mov edx, ecx
xor edx, 1
mov esi, eax
xor esi, 1
or esi, edx
mov edx, dword [ebp + 8]
sete bl
cmp ecx, 3
jae 0x101c634f
xor eax, eax
jmp 0x101c6359
mov esi, ecx
xor esi, 3
or esi, eax
setne al
mov esi, dword [ebp + 0xc]
cmp edx, 0x8d3f
jle 0x101c63c3
cmp edx, 0x9150
jg 0x101c6425
cmp edx, 0x8d40
je 0x101c64be
cmp edx, 0x8d41
je 0x101c64e8
cmp edx, 0x8e22
jne 0x101c6615
cmp ecx, 2
jle 0x101c65e7
mov ecx, edi
push esi
call fcn.10014290
mov ecx, eax
mov al, 1
test ecx, ecx
jne 0x101c66f1
add edi, 0x1d04
mov ecx, edi
push str.name_is_not_a_valid_transform_feedback.
jmp 0x101c66e2
cmp edx, 0x8a4e
jle 0x101c6473
cmp edx, 0x8a4f
je 0x101c6516
cmp edx, 0x8b40
je 0x101c6551
cmp edx, 0x8b48
jne 0x101c6615
test bl, bl
jne 0x101c65e7
mov ecx, dword [edi + 0x1368]
push esi
call fcn.10076790
mov ecx, eax
mov al, 1
test ecx, ecx
jne 0x101c66f1
add edi, 0x1d04
mov ecx, edi
push str.Shader_object_expected.
jmp 0x101c66e2
cmp edx, 0x9154
je 0x101c657f
cmp edx, 0x9153
je 0x101c65b3
cmp edx, 0x9151
jne 0x101c6615
mov ecx, dword [edi + 0x1364]
push esi
call fcn.10076790
mov ecx, eax
mov al, 1
test ecx, ecx
jne 0x101c66f1
add edi, 0x1d04
mov ecx, edi
push str.name_is_not_a_valid_buffer.
jmp 0x101c66e2
cmp edx, 0x1702
je 0x101c65f6
cmp edx, 0x82e6
jne 0x101c6615
cmp ecx, 2
jle 0x101c65e7
mov ecx, dword [edi + 0x1374]
push esi
call fcn.10076790
mov ecx, eax
mov al, 1
test ecx, ecx
jne 0x101c66f1
add edi, 0x1d04
mov ecx, edi
push str.name_is_not_a_valid_sampler.
jmp 0x101c66e2
mov ecx, dword [edi + 0x137c]
push esi
call fcn.10076790
mov ecx, eax
mov al, 1
test ecx, ecx
jne 0x101c66f1
add edi, 0x1d04
mov ecx, edi
push str.name_is_not_a_valid_framebuffer.
jmp 0x101c66e2
test esi, esi
je 0x101c6504
mov ecx, dword [edi + 0x1370]
push esi
call fcn.10076790
mov ecx, eax
mov al, 1
test ecx, ecx
jne 0x101c66f1
add edi, 0x1d04
mov ecx, edi
push str.name_is_not_a_valid_renderbuffer.
jmp 0x101c66e2
test al, al
jne 0x101c6527
cmp byte [edi + 0x12db], 0
je 0x101c65e7
mov ecx, dword [edi + 0x1380]
push esi
call fcn.10076790
mov ecx, eax
mov al, 1
test ecx, ecx
jne 0x101c66f1
add edi, 0x1d04
mov ecx, edi
push str.name_is_not_a_valid_program_pipeline.
jmp 0x101c66e2
test bl, bl
jne 0x101c65e7
mov ecx, edi
push esi
call fcn.10013a50
mov ecx, eax
mov al, 1
test ecx, ecx
jne 0x101c66f1
add edi, 0x1d04
mov ecx, edi
push str.Program_object_expected.
jmp 0x101c66e2
cmp ecx, 2
jg 0x101c658d
cmp byte [edi + 0x1313], 0
je 0x101c65e7
mov ecx, edi
push esi
call fcn.100141b0
mov ecx, eax
mov al, 1
test ecx, ecx
jne 0x101c66f1
add edi, 0x1d04
mov ecx, edi
push str.name_is_not_a_valid_vertex_array.
jmp 0x101c66e2
cmp ecx, 2
jg 0x101c65c1
cmp byte [edi + 0x12c4], 0
je 0x101c65e7
mov ecx, edi
push esi
call fcn.100148a0
mov ecx, eax
mov al, 1
test ecx, ecx
jne 0x101c66f1
add edi, 0x1d04
mov ecx, edi
push str.name_is_not_a_valid_query.
jmp 0x101c66e2
add edi, 0x1d04
mov ecx, edi
push str.Invalid_type.
jmp 0x101c6622
mov edx, dword [edi + 0x136c]
cmp dword [edx + 0x2c], esi
jbe 0x101c662c
mov eax, dword [edx + 0x30]
mov ecx, dword [eax + esi*4]
cmp ecx, 0xffffffff
jne 0x101c66cf
jmp 0x101c66d5
add edi, 0x1d04
mov ecx, edi
push str.Invalid_identifier.
push 0x500
jmp 0x101c66e7
mov ebx, esi
shr ebx, 0x10
mov ecx, esi
shr ecx, 8
mov dword [ebp - 0x18], esi
mov eax, 0xff
and dword [ebp - 0x18], eax
and ecx, eax
and ebx, eax
mov eax, esi
shr eax, 0x18
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 0x18]
xor eax, 0x811c9dc5
imul eax, eax, 0x1000193
xor eax, ecx
imul eax, eax, 0x1000193
xor eax, ebx
imul eax, eax, 0x1000193
xor eax, dword [ebp - 0x14]
imul eax, eax, 0x1000193
and eax, dword [edx + 0x4c]
mov dword [ebp - 0x14], edx
mov edx, dword [ebp - 0x14]
mov edx, dword [edx + 0x38]
mov dword [ebp - 0x1c], edx
mov edx, dword [ebp - 0x14]
mov edx, dword [edx + 0x40]
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x20], edx
mov edx, dword [edx + eax*8 + 4]
cmp edx, dword [ebp - 0x1c]
je 0x101c66d5
and esi, 0xff000000
shl ebx, 0x10
or ebx, esi
shl ecx, 8
or ecx, ebx
add ecx, dword [ebp - 0x18]
cmp ecx, dword [edx + 8]
je 0x101c66c7
mov eax, dword [ebp - 0x14]
add eax, eax
mov esi, dword [ebp - 0x20]
mov eax, dword [esi + eax*4]
cmp edx, eax
je 0x101c66d5
mov edx, dword [edx + 4]
cmp ecx, dword [edx + 8]
jne 0x101c66bb
cmp edx, dword [ebp - 0x1c]
je 0x101c66d5
mov ecx, dword [edx + 0xc]
mov al, 1
test ecx, ecx
jne 0x101c66f1
add edi, 0x1d04
mov ecx, edi
push str.Not_a_valid_texture_object_name.
push 0x502
push dword [ebp - 0x10]
call fcn.1001a2a0
xor eax, eax
add esp, 0x14
pop esi
pop edi
pop ebx
pop ebp
ret