Function at 0x1019c900
Capabilities:
Hash data using fnv

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
sub esp, 0xc
mov ecx, dword [ebp + 8]
cmp byte [ecx + 0x1210], 0
je 0x1019c937
mov eax, dword [ebp + 0xc]
mov edx, dword [ecx + 0x127c]
cmp dword [edx + 0x38], eax
jbe 0x1019c947
mov ecx, dword [edx + 0x3c]
mov ebx, dword [ecx + eax*4]
cmp ebx, 0xffffffff
jne 0x1019c9ce
jmp 0x1019c9f1
add ecx, 0x1be4
push str.Extension_is_not_enabled.
jmp 0x1019cd52
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 - 0x18], 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 0x1019c9b8
mov ebx, dword [ebp - 0x18]
mov ebx, dword [ebx + esi*4]
mov ebx, dword [ebx]
jmp 0x1019c9ba
mov ebx, edx
cmp edi, ebx
je 0x1019c9f1
cmp dword [edi + 8], eax
je 0x1019c9c7
mov edi, dword [edi]
jmp 0x1019c9aa
cmp edi, ecx
je 0x1019c9f1
mov ebx, dword [edi + 0xc]
test ebx, ebx
je 0x1019c9f1
movzx eax, byte [ebx + 0x60]
cmp eax, 9
mov ecx, dword [ebp + 8]
ja case.0x1019c9e2.1
jmp dword [eax*4 + 0x102f10a8]
lea edx, [ecx + 0x11e8]
jmp 0x1019ca17
mov ecx, dword [ebp + 8]
add ecx, 0x1be4
push str.Source_texture_is_not_a_valid_texture_object.
push 0x501
jmp 0x1019cd57
lea edx, [ecx + 0x1227]
jmp 0x1019ca17
lea edx, [ecx + 0x124c]
cmp byte [edx], 0
je case.0x1019c9e2.1
mov edi, dword [ebp + 0x10]
movzx esi, al
push esi
call fcn.102b00a0
add esp, 4
mov byte [ebp - 0x18], al
push edi
push esi
mov esi, dword [ebp + 8]
push esi
call fcn.1018dbd0
add esp, 0xc
test edi, edi
jle 0x1019ca5d
test al, al
je 0x1019ca5d
cmp dword [esi + 0x14], 2
ja 0x1019ca61
add esi, 0x1be4
mov ecx, esi
push str.Invalid_source_texture_level.
jmp 0x1019c9ff
test al, al
je 0x1019ca4e
movzx esi, byte [ebp - 0x18]
mov ecx, ebx
push edi
push esi
call fcn.10086fb0
mov edx, edi
mov edi, eax
mov ecx, ebx
push edx
push esi
call fcn.10086ff0
mov dword [ebp - 0x14], edi
test edi, edi
je 0x1019cd44
test eax, eax
je 0x1019cd44
mov dword [ebp - 0x10], eax
mov ecx, ebx
push dword [ebp + 0x10]
push esi
call fcn.10087070
mov eax, dword [eax]
mov edi, dword [eax]
push edi
call fcn.1009dde0
add esp, 4
cmp dword [eax], 0
je 0x1019cab1
mov edi, dword [eax + 0x44]
cmp edi, 0x8050
mov ecx, dword [ebp + 8]
jg 0x1019cb0a
add edi, 0xffffe6fd
cmp edi, 7
ja 0x1019cbf7
mov eax, 0xf9
bt eax, edi
jae 0x1019cbf7
mov dl, byte [ebp + 0x14]
mov eax, edx
add al, 0xf9
cmp al, 6
jae 0x1019cbb0
mov edx, dword [ebp + 0x18]
mov edi, dword [ecx + 0x127c]
cmp dword [edi + 0x38], edx
jbe 0x1019cb2b
mov eax, dword [edi + 0x3c]
mov edi, dword [eax + edx*4]
cmp edi, 0xffffffff
jne 0x1019cc0e
jmp 0x1019cc81
cmp edi, 0x80e0
jg 0x1019cbdf
cmp edi, 0x8051
je 0x1019cad9
cmp edi, 0x8058
je 0x1019cad9
jmp 0x1019cbf7
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 - 0x18], 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 0x1019cb9d
mov ebx, dword [ebp - 0x18]
mov ebx, dword [ebx + esi*4]
mov ebx, dword [ebx]
jmp 0x1019cb9f
mov ebx, edi
cmp eax, ebx
je 0x1019cc81
cmp dword [eax + 8], edx
je 0x1019cc07
mov eax, dword [eax]
jmp 0x1019cb8f
test dl, dl
je 0x1019cae8
cmp dl, 6
jne 0x1019cbca
cmp byte [ecx + 0x1227], 0
jne 0x1019cae8
add ecx, 0x1be4
push str.Invalid_or_unsupported_texture_target.
push 0x500
jmp 0x1019cd57
cmp edi, 0x80e1
je 0x1019cad9
cmp edi, 0x93a1
je 0x1019cad9
add ecx, 0x1be4
push str.Source_texture_internal_format_is_invalid.
jmp 0x1019cd52
cmp eax, ecx
je 0x1019cc81
mov edi, dword [eax + 0xc]
test edi, edi
je 0x1019cc81
mov bl, byte [edi + 0x60]
movzx eax, byte [ebp + 0x14]
push eax
call fcn.10226250
add esp, 4
cmp al, bl
jne 0x1019cc94
movzx eax, byte [edi + 0x60]
push dword [ebp + 0x1c]
mov ebx, eax
push eax
mov esi, dword [ebp + 8]
push esi
call fcn.1018dbd0
add esp, 0xc
test al, al
je 0x1019cd66
mov eax, ebx
movzx eax, al
push 0
push 1
push dword [ebp - 0x10]
push dword [ebp - 0x14]
push dword [ebp + 0x1c]
push eax
push esi
call fcn.1018dc20
add esp, 0x1c
test al, al
je 0x1019cd66
mov ecx, dword [ebp + 0x1c]
mov eax, ebx
test al, al
je 0x1019cc7c
mov eax, ebx
cmp al, 7
je 0x1019cca7
cmp bl, 6
jne 0x1019ccbe
mov eax, dword [esi + 0x3c]
jmp 0x1019ccaa
mov ecx, dword [ebp + 8]
add ecx, 0x1be4
push str.Destination_texture_is_not_a_valid_texture_object.
jmp 0x1019c9ff
mov ecx, dword [ebp + 8]
add ecx, 0x1be4
push str.Invalid_destination_texture_type.
jmp 0x1019c9ff
mov eax, dword [esi + 0x4c]
sar eax, cl
cmp eax, dword [ebp - 0x14]
jl 0x1019cd66
cmp eax, dword [ebp - 0x10]
jl 0x1019cd66
mov ebx, dword [ebp + 0x20]
mov ecx, ebx
call fcn.101a05d0
test al, al
je 0x1019cd78
mov esi, dword [ebp + 0x24]
push ebx
call fcn.1009dde0
add esp, 4
cmp dword [eax], 0
mov ecx, ebx
je 0x1019cce6
mov ecx, dword [eax + 0x44]
push ebx
push esi
push ecx
call fcn.1009d010
add esp, 0xc
test al, al
je 0x1019cd82
push esi
push ebx
call fcn.1009df60
add esp, 8
mov ecx, dword [eax + 0x54]
mov eax, dword [ebp + 8]
lea esi, [eax + 0x1180]
lea ebx, [eax + 0x14]
call dword [section..00cfg]
push esi
push ebx
call ecx
add esp, 8
test al, al
je 0x1019cd44
mov eax, dword [ebp - 0x10]
cmp dword [ebp - 0x14], eax
je 0x1019cd92
cmp byte [edi + 0x60], 7
jne 0x1019cd92
mov ecx, dword [ebp + 8]
add ecx, 0x1be4
push str.Each_cubemap_face_must_have_equal_width_and_height.
jmp 0x1019c9ff
mov ecx, dword [ebp + 8]
add ecx, 0x1be4
push str.Invalid_internal_format.
push 0x502
call fcn.10021560
xor eax, eax
add esp, 0xc
pop esi
pop edi
pop ebx
pop ebp
ret
add esi, 0x1be4
mov ecx, esi
push str.Level_of_detail_outside_of_range.
jmp 0x1019c9ff
add esi, 0x1be4
mov ecx, esi
jmp 0x1019cd4d
mov ecx, dword [ebp + 8]
add ecx, 0x1be4
push str.Invalid_format_and_type_combination.
jmp 0x1019cd52
cmp byte [edi + 0xc9], 0
je 0x1019cdab
mov ecx, dword [ebp + 8]
add ecx, 0x1be4
push str.Destination_texture_cannot_be_immutable.
jmp 0x1019cd52
mov al, 1
jmp 0x1019cd5e