Function at 0x1019cdb0
Capabilities:
Hash data using fnv

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
push eax
mov ecx, dword [ebp + 8]
cmp byte [ecx + 0x1210], 0
je 0x1019cde5
mov eax, dword [ebp + 0xc]
mov edx, dword [ecx + 0x127c]
cmp dword [edx + 0x38], eax
jbe 0x1019cdfa
mov ecx, dword [edx + 0x3c]
mov edi, dword [ecx + eax*4]
cmp edi, 0xffffffff
jne 0x1019ce81
jmp 0x1019cea0
add ecx, 0x1be4
push str.Extension_is_not_enabled.
push 0x502
jmp 0x1019ceb3
mov ebx, eax
shr ebx, 0x10
mov edi, eax
shr edi, 8
mov ecx, 0xff
mov esi, eax
and esi, ecx
and edi, ecx
and ebx, ecx
mov ecx, eax
shr ecx, 0x18
xor esi, 0x811c9dc5
imul esi, esi, 0x1000193
xor esi, edi
imul esi, esi, 0x1000193
xor esi, ebx
imul esi, esi, 0x1000193
xor esi, ecx
imul esi, esi, 0x1000193
and esi, dword [edx + 0x58]
mov ecx, dword [edx + 0x44]
mov edx, dword [edx + 0x4c]
shl ebx, 0x10
and eax, 0xff0000ff
or eax, ebx
mov dword [ebp - 0x10], edx
mov edx, dword [edx + esi*8]
add esi, esi
inc esi
shl edi, 8
or eax, edi
mov edi, edx
cmp ecx, edx
je 0x1019ce6b
mov ebx, dword [ebp - 0x10]
mov ebx, dword [ebx + esi*4]
mov ebx, dword [ebx]
jmp 0x1019ce6d
mov ebx, edx
cmp edi, ebx
je 0x1019cea0
cmp dword [edi + 8], eax
je 0x1019ce7a
mov edi, dword [edi]
jmp 0x1019ce5d
cmp edi, ecx
je 0x1019cea0
mov edi, dword [edi + 0xc]
test edi, edi
je 0x1019cea0
movzx eax, byte [edi + 0x60]
cmp eax, 9
mov ecx, dword [ebp + 8]
ja case.0x1019ce91.1
jmp dword [eax*4 + 0x102f10d0]
lea edx, [ecx + 0x11e8]
jmp 0x1019ced0
mov ecx, dword [ebp + 8]
add ecx, 0x1be4
push str.Source_texture_is_not_a_valid_texture_object.
push 0x501
call fcn.10021560
xor eax, eax
add esp, 4
pop esi
pop edi
pop ebx
pop ebp
ret
lea edx, [ecx + 0x1227]
jmp 0x1019ced0
lea edx, [ecx + 0x124c]
cmp byte [edx], 0
je case.0x1019ce91.1
mov ebx, dword [ebp + 0x10]
movzx esi, al
push esi
call fcn.102b00a0
add esp, 4
mov byte [ebp - 0x10], al
push ebx
push esi
mov esi, dword [ebp + 8]
push esi
call fcn.1018dbd0
mov edx, ebx
add esp, 0xc
test ebx, ebx
jle 0x1019cf17
test al, al
je 0x1019cf17
cmp dword [esi + 0x14], 2
ja 0x1019cf1f
jmp 0x1019d28c
add ecx, 0x1be4
push str.Source_texture_must_be_a_valid_texture_type.
jmp 0x1019ceae
test al, al
je 0x1019d28c
movzx ebx, byte [ebp - 0x10]
mov ecx, edi
push edx
push ebx
call fcn.10086fb0
test eax, eax
je 0x1019cf91
mov ecx, edi
push dword [ebp + 0x10]
push ebx
call fcn.10086ff0
test eax, eax
je 0x1019cf91
mov edx, dword [ebp + 0x10]
mov eax, dword [ebp + 0x2c]
mov esi, dword [ebp + 0x28]
or eax, esi
js 0x1019d29e
mov eax, dword [ebp + 0x34]
mov ecx, dword [ebp + 0x30]
or eax, ecx
js 0x1019cfa3
add esi, ecx
mov ecx, edi
push edx
push ebx
call fcn.10086fb0
cmp esi, eax
ja 0x1019cf7e
mov esi, dword [ebp + 0x2c]
add esi, dword [ebp + 0x34]
mov ecx, edi
push dword [ebp + 0x10]
push ebx
call fcn.10086ff0
cmp esi, eax
jbe 0x1019cfb6
mov ecx, dword [ebp + 8]
add ecx, 0x1be4
push str.The_specified_dimensions_are_outside_of_the_bounds_of_the_texture.
jmp 0x1019ceae
add esi, 0x1be4
mov ecx, esi
push str.Invalid_source_texture_level.
jmp 0x1019ceae
mov ecx, dword [ebp + 8]
add ecx, 0x1be4
push str.Negative_size.
jmp 0x1019ceae
mov ecx, edi
push dword [ebp + 0x10]
push ebx
call fcn.10087070
mov eax, dword [eax]
mov edi, dword [eax]
push edi
call fcn.1009dde0
add esp, 4
cmp dword [eax], 0
mov ecx, dword [ebp + 8]
je 0x1019cfd9
mov edi, dword [eax + 0x44]
cmp edi, 0x8050
jg 0x1019d02f
add edi, 0xffffe6fd
cmp edi, 7
ja 0x1019d11c
mov eax, 0xf9
bt eax, edi
jae 0x1019d11c
mov dl, byte [ebp + 0x14]
mov eax, edx
add al, 0xf9
cmp al, 6
jae 0x1019d0d5
mov edx, dword [ebp + 0x18]
mov edi, dword [ecx + 0x127c]
cmp dword [edi + 0x38], edx
jbe 0x1019d050
mov eax, dword [edi + 0x3c]
mov edi, dword [eax + edx*4]
cmp edi, 0xffffffff
jne 0x1019d133
jmp 0x1019d1a6
cmp edi, 0x80e0
jg 0x1019d104
cmp edi, 0x8051
je 0x1019cffe
cmp edi, 0x8058
je 0x1019cffe
jmp 0x1019d11c
mov eax, edx
shr eax, 0x10
mov ebx, edx
shr ebx, 8
mov ecx, 0xff
mov esi, edx
and esi, ecx
and ebx, ecx
and eax, ecx
mov ecx, edx
shr ecx, 0x18
xor esi, 0x811c9dc5
imul esi, esi, 0x1000193
xor esi, ebx
imul esi, esi, 0x1000193
xor esi, eax
imul esi, esi, 0x1000193
xor esi, ecx
imul esi, esi, 0x1000193
and esi, dword [edi + 0x58]
mov ecx, dword [edi + 0x44]
mov edi, dword [edi + 0x4c]
shl eax, 0x10
and edx, 0xff0000ff
or edx, eax
mov dword [ebp - 0x10], edi
mov edi, dword [edi + esi*8]
add esi, esi
inc esi
shl ebx, 8
or edx, ebx
mov eax, edi
cmp ecx, edi
je 0x1019d0c2
mov ebx, dword [ebp - 0x10]
mov ebx, dword [ebx + esi*4]
mov ebx, dword [ebx]
jmp 0x1019d0c4
mov ebx, edi
cmp eax, ebx
je 0x1019d1a6
cmp dword [eax + 8], edx
je 0x1019d12c
mov eax, dword [eax]
jmp 0x1019d0b4
test dl, dl
je 0x1019d00d
cmp dl, 6
jne 0x1019d0ef
cmp byte [ecx + 0x1227], 0
jne 0x1019d00d
add ecx, 0x1be4
push str.Invalid_or_unsupported_texture_target.
push 0x500
jmp 0x1019ceb3
cmp edi, 0x80e1
je 0x1019cffe
cmp edi, 0x93a1
je 0x1019cffe
add ecx, 0x1be4
push str.Invalid_internal_format.
jmp 0x1019cdf0
cmp eax, ecx
je 0x1019d1a6
mov edi, dword [eax + 0xc]
test edi, edi
je 0x1019d1a6
mov bl, byte [edi + 0x60]
movzx esi, byte [ebp + 0x14]
push esi
call fcn.10226250
add esp, 4
cmp al, bl
jne 0x1019d1b9
mov dword [ebp - 0x10], esi
movzx ebx, byte [edi + 0x60]
push dword [ebp + 0x1c]
push ebx
mov esi, dword [ebp + 8]
push esi
call fcn.1018dbd0
add esp, 0xc
test al, al
je 0x1019d28c
xor eax, eax
inc eax
movzx ecx, bl
push eax
push eax
push dword [ebp + 0x34]
push dword [ebp + 0x30]
push dword [ebp + 0x1c]
push ecx
push esi
call fcn.1018dc20
add esp, 0x1c
test al, al
je 0x1019d28c
test bl, bl
je 0x1019d1cc
cmp bl, 7
je 0x1019d1d4
cmp bl, 6
mov esi, dword [ebp + 8]
mov edx, dword [ebp + 0x1c]
jne 0x1019d1f3
mov eax, dword [esi + 0x3c]
jmp 0x1019d1dd
mov ecx, dword [ebp + 8]
add ecx, 0x1be4
push str.Destination_texture_is_not_a_valid_texture_object.
jmp 0x1019ceae
mov ecx, dword [ebp + 8]
add ecx, 0x1be4
push str.Invalid_destination_texture_type.
jmp 0x1019ceae
mov esi, dword [ebp + 8]
mov eax, dword [esi + 0x3c]
jmp 0x1019d1da
mov esi, dword [ebp + 8]
mov eax, dword [esi + 0x4c]
mov edx, dword [ebp + 0x1c]
mov ecx, edx
sar eax, cl
cmp eax, dword [ebp + 0x30]
jl 0x1019d28c
cmp eax, dword [ebp + 0x34]
jl 0x1019d28c
mov ecx, edi
push edx
push dword [ebp - 0x10]
call fcn.10086fb0
test eax, eax
je 0x1019d2b1
mov ecx, edi
push dword [ebp + 0x1c]
push dword [ebp - 0x10]
call fcn.10086ff0
test eax, eax
je 0x1019d2b1
mov ecx, edi
push dword [ebp + 0x1c]
push dword [ebp - 0x10]
call fcn.10087070
mov eax, dword [eax]
mov ecx, dword [eax]
call fcn.101a05d0
test al, al
je 0x1019d2c4
mov esi, dword [ebp + 0x24]
mov eax, dword [ebp + 0x20]
mov ecx, esi
or ecx, eax
js 0x1019d29e
mov ebx, dword [ebp + 0x30]
add ebx, eax
mov ecx, edi
push dword [ebp + 0x1c]
push dword [ebp - 0x10]
call fcn.10086fb0
cmp ebx, eax
ja 0x1019d279
mov ebx, dword [ebp + 0x34]
add ebx, esi
mov ecx, edi
push dword [ebp + 0x1c]
push dword [ebp - 0x10]
call fcn.10086ff0
mov ecx, eax
mov al, 1
cmp ebx, ecx
jbe 0x1019ceba
mov ecx, dword [ebp + 8]
add ecx, 0x1be4
push str.Offset_overflows_texture_dimensions.
jmp 0x1019ceae
add esi, 0x1be4
mov ecx, esi
push str.Level_of_detail_outside_of_range.
jmp 0x1019ceae
mov ecx, dword [ebp + 8]
add ecx, 0x1be4
push str.Negative_offset.
jmp 0x1019ceae
mov ecx, dword [ebp + 8]
add ecx, 0x1be4
push str.The_destination_level_of_the_destination_texture_must_be_defined.
jmp 0x1019cdf0
mov ecx, dword [ebp + 8]
add ecx, 0x1be4
push str.Invalid_combination_of_format__type_and_internalFormat.
jmp 0x1019cdf0