Function at 0x101a1d50
Capabilities:
Hash data using fnv

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
sub esp, 0x18
mov edi, dword [ecx + 0x14]
cmp edi, 2
jg 0x101a1d73
add ecx, 0x1be4
push str.OpenGL_ES_3.0_Required.
push 0x502
jmp 0x101a1d90
mov eax, dword [ebp + 0x10]
cmp dword [ebp + 0xc], 0
je 0x101a1da1
test eax, eax
jns 0x101a1da1
add ecx, 0x1be4
push str.Negative_offset.
push 0x501
call fcn.10021560
xor ebx, ebx
mov eax, ebx
add esp, 0x18
pop esi
pop edi
pop ebx
pop ebp
ret
mov dword [ebp - 0x24], edx
mov dword [ebp - 0x1c], eax
cmp byte [ecx + 0x13d4], 0
je 0x101a1dfc
mov eax, dword [ebp - 0x24]
dec al
cmp al, 0xb
ja case.0x101a1dbf.2
mov esi, dword [ebp + 8]
movzx eax, al
jmp dword [eax*4 + 0x102f14bc]
cmp edi, 3
jne 0x101a1dd5
cmp dword [ecx + 0x18], 0
je 0x101a202e
cmp dword [ecx + 0x2a4], esi
jbe 0x101a1ff5
mov bl, 1
cmp dword [ebp + 0xc], 0
je 0x101a1d97
and dword [ebp - 0x1c], 3
je 0x101a1d97
add ecx, 0x1be4
push str.offset_must_be_a_multiple_of_4.
jmp 0x101a1d8b
cmp dword [ebp + 0xc], 0
je 0x101a1db0
mov eax, dword [ecx + 0x1274]
mov edx, dword [ebp + 0xc]
cmp dword [eax + 0x38], edx
jbe 0x101a1f41
mov eax, dword [eax + 0x3c]
cmp dword [eax + edx*4], 0xffffffff
jne 0x101a1db0
jmp 0x101a201e
add ecx, 0x1be4
push str.Enum_is_not_currently_supported.
jmp 0x101a2070
cmp edi, 3
jne 0x101a1e41
cmp dword [ecx + 0x18], 0
je 0x101a202e
cmp dword [ecx + 0x2bc], esi
jbe 0x101a2005
mov bl, 1
cmp dword [ebp + 0xc], 0
je 0x101a1d97
mov eax, dword [ebp + 0x10]
cdq
idiv dword [ecx + 0x2cc]
test edx, edx
je 0x101a1d97
add ecx, 0x1be4
push str.Offset_must_be_multiple_of_value_of_SHADER_STORAGE_BUFFER_OFFSET_ALIGNMENT.
jmp 0x101a1d8b
cmp byte [ecx + 0x125d], 0
jne 0x101a1e91
cmp byte [ecx + 0x125e], 0
je 0x101a2065
test esi, esi
jne 0x101a1f31
mov bl, 1
cmp dword [ebp + 0xc], 0
je 0x101a1d97
mov eax, dword [ebp + 0x10]
cdq
idiv dword [ecx + 0x358]
test edx, edx
je 0x101a1d97
add ecx, 0x1be4
push str.Offset_must_be_multiple_of_value_of_TEXTURE_BUFFER_OFFSET_ALIGNMENT.
jmp 0x101a1d8b
cmp dword [ecx + 0x2d4], esi
mov eax, dword [ebp + 0x10]
jbe 0x101a1fe5
cmp dword [ebp + 0xc], 0
je 0x101a203b
or eax, dword [ebp + 0x14]
test al, 3
je 0x101a203b
add ecx, 0x1be4
push str.Offset_and_size_must_be_multiple_of_4.
jmp 0x101a1d8b
cmp dword [ecx + 0x27c], esi
mov eax, dword [ebp + 0x10]
jbe 0x101a1f31
mov bl, 1
cmp dword [ebp + 0xc], 0
je 0x101a1d97
cdq
idiv dword [ecx + 0x288]
test edx, edx
je 0x101a1d97
add ecx, 0x1be4
push str.Offset_must_be_multiple_of_value_of_UNIFORM_BUFFER_OFFSET_ALIGNMENT.
jmp 0x101a1d8b
add ecx, 0x1be4
push str.Index_must_be_less_than_MAX_UNIFORM_BUFFER_BINDINGS.
jmp 0x101a1d8b
mov ebx, edx
shr ebx, 0x10
mov esi, edx
shr esi, 8
mov dword [ebp - 0x10], esi
mov dword [ebp - 0x14], eax
mov eax, 0xff
mov esi, edx
and esi, eax
and dword [ebp - 0x10], eax
and ebx, eax
mov eax, dword [ebp + 0xc]
shr eax, 0x18
xor esi, 0x811c9dc5
imul esi, esi, 0x1000193
xor esi, dword [ebp - 0x10]
imul esi, esi, 0x1000193
xor esi, ebx
imul esi, esi, 0x1000193
xor esi, eax
imul edx, esi, 0x1000193
mov esi, dword [ebp - 0x14]
and edx, dword [esi + 0x58]
shl ebx, 0x10
mov eax, dword [ebp + 0xc]
and eax, 0xff0000ff
or eax, ebx
mov ebx, dword [esi + 0x44]
mov dword [ebp - 0x18], ebx
mov ebx, dword [esi + 0x4c]
mov esi, dword [ebp - 0x10]
shl esi, 8
or eax, esi
mov dword [ebp - 0x10], eax
mov dword [ebp - 0x14], ebx
mov eax, edx
mov edx, dword [ebx + edx*8]
add eax, eax
inc eax
mov dword [ebp - 0x20], eax
mov eax, edx
mov esi, dword [ebp - 0x20]
cmp dword [ebp - 0x18], edx
je 0x101a1fd3
mov ebx, dword [ebp - 0x14]
mov ebx, dword [ebx + esi*4]
mov ebx, dword [ebx]
jmp 0x101a1fd5
mov ebx, edx
cmp eax, ebx
je 0x101a201e
mov ebx, dword [ebp - 0x10]
cmp dword [eax + 8], ebx
je 0x101a2015
mov eax, dword [eax]
jmp 0x101a1fc4
add ecx, 0x1be4
push str.Index_is_greater_than_or_equal_to_the_number_of_TRANSFORM_FEEDBACK_BUFFER_indexed_binding_points.
jmp 0x101a1d8b
add ecx, 0x1be4
push str.Index_must_be_less_than_MAX_ATOMIC_COUNTER_BUFFER_BINDINGS.
jmp 0x101a1d8b
add ecx, 0x1be4
push str.Index_must_be_within__0__MAX_SHADER_STORAGE_BUFFER_BINDINGS_.
jmp 0x101a1d8b
cmp eax, dword [ebp - 0x18]
jne 0x101a1db0
add ecx, 0x1be4
push str.Object_cannot_be_used_because_it_has_not_been_generated.
jmp 0x101a1d6c
add ecx, 0x1be4
push str.Enum_requires_GLES_3.1
jmp 0x101a2070
mov eax, dword [ecx + 0x1748]
mov bl, 1
test eax, eax
je 0x101a1d97
cmp byte [eax + 0x34], 0
je 0x101a1d97
add ecx, 0x1be4
push str.Target_is_TRANSFORM_FEEDBACK_BUFFER_and_transform_feedback_is_currently_active.
jmp 0x101a1d6c
add ecx, 0x1be4
push str.Texture_buffer_extension_not_available.
push 0x500
jmp 0x101a1d90