Function at 0x101b6eb0
Capabilities:
Hash data using fnv

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
sub esp, 0x10
mov ecx, dword [ebp + 8]
cmp byte [ecx + 0x1320], 0
je 0x101b6ee7
mov ebx, dword [ebp + 0x10]
mov edx, dword [ecx + 0x136c]
cmp dword [edx + 0x2c], ebx
jbe 0x101b6efc
mov eax, dword [edx + 0x30]
mov edi, dword [eax + ebx*4]
cmp edi, 0xffffffff
jne 0x101b6f86
jmp 0x101b6fa0
add ecx, 0x1d04
push str.Extension_is_not_enabled.
push 0x502
jmp 0x101b6fb3
mov ecx, ebx
shr ecx, 0x10
mov eax, ebx
shr eax, 8
mov esi, 0xff
mov edi, ebx
and edi, esi
and eax, esi
and ecx, esi
mov esi, ebx
shr esi, 0x18
mov dword [ebp - 0x14], edi
xor edi, 0x811c9dc5
imul edi, edi, 0x1000193
xor edi, eax
imul edi, edi, 0x1000193
xor edi, ecx
imul edi, edi, 0x1000193
xor edi, esi
imul esi, edi, 0x1000193
and esi, dword [edx + 0x4c]
mov edi, dword [edx + 0x38]
mov edx, dword [edx + 0x40]
mov dword [ebp - 0x10], edx
mov edx, dword [edx + esi*8 + 4]
cmp edx, edi
je 0x101b6fa0
and ebx, 0xff000000
shl ecx, 0x10
or ecx, ebx
shl eax, 8
or eax, ecx
add eax, dword [ebp - 0x14]
cmp eax, dword [edx + 8]
je 0x101b6f7f
add esi, esi
mov ecx, dword [ebp - 0x10]
mov ecx, dword [ecx + esi*4]
cmp edx, ecx
je 0x101b6fa0
mov edx, dword [edx + 4]
cmp eax, dword [edx + 8]
jne 0x101b6f73
cmp edx, edi
je 0x101b6fa0
mov edi, dword [edx + 0xc]
test edi, edi
je 0x101b6fa0
cmp byte [edi + 0x6c], 0
je 0x101b6fc5
mov ecx, dword [ebp + 8]
add ecx, 0x1d04
push str.Source_texture_must_be_a_valid_texture_type.
jmp 0x101b6fae
mov ecx, dword [ebp + 8]
add ecx, 0x1d04
push str.Source_texture_is_not_a_valid_texture_object.
push 0x501
push dword [ebp + 0xc]
call fcn.1001a2a0
xor eax, eax
add esp, 0x10
pop esi
pop edi
pop ebx
pop ebp
ret
xor esi, esi
mov ecx, edi
push esi
push esi
call fcn.1008e3d0
test eax, eax
je 0x101b7019
mov ecx, edi
push esi
push esi
call fcn.1008e410
test eax, eax
je 0x101b7019
xor eax, eax
mov ecx, edi
push eax
push eax
call fcn.1008e490
mov eax, dword [eax]
cmp byte [eax + 0x34], 0
je 0x101b7029
mov ebx, dword [ebp + 0x14]
mov ecx, dword [ebp + 8]
mov esi, dword [ecx + 0x136c]
cmp dword [esi + 0x2c], ebx
jbe 0x101b703c
mov eax, dword [esi + 0x30]
mov eax, dword [eax + ebx*4]
cmp eax, 0xffffffff
jne 0x101b70d5
jmp 0x101b70ef
mov ecx, dword [ebp + 8]
add ecx, 0x1d04
push str.Source_texture_must_level_0_defined.
jmp 0x101b6fae
mov ecx, dword [ebp + 8]
add ecx, 0x1d04
push str.Source_texture_must_have_a_compressed_internal_format.
jmp 0x101b6ef2
mov edx, ebx
shr edx, 0x10
mov eax, ebx
shr eax, 8
mov ecx, 0xff
mov edi, ebx
and edi, ecx
and eax, ecx
and edx, ecx
mov ecx, ebx
shr ecx, 0x18
mov dword [ebp - 0x14], edi
xor edi, 0x811c9dc5
imul edi, edi, 0x1000193
xor edi, eax
imul edi, edi, 0x1000193
mov dword [ebp - 0x10], edx
xor edi, edx
imul edi, edi, 0x1000193
xor edi, ecx
imul edx, edi, 0x1000193
mov ecx, dword [ebp + 8]
and edx, dword [esi + 0x4c]
mov edi, dword [esi + 0x38]
mov esi, dword [esi + 0x40]
mov dword [ebp - 0x18], edx
mov edx, dword [esi + edx*8 + 4]
mov dword [ebp - 0x1c], edi
cmp edx, edi
je 0x101b70ef
mov edi, esi
and ebx, 0xff000000
mov esi, dword [ebp - 0x10]
shl esi, 0x10
or esi, ebx
shl eax, 8
or eax, esi
add eax, dword [ebp - 0x14]
cmp eax, dword [edx + 8]
je 0x101b70cd
mov esi, dword [ebp - 0x18]
add esi, esi
mov esi, dword [edi + esi*4]
cmp edx, esi
je 0x101b70ef
mov edx, dword [edx + 4]
cmp eax, dword [edx + 8]
jne 0x101b70c1
cmp edx, dword [ebp - 0x1c]
je 0x101b70ef
mov eax, dword [edx + 0xc]
test eax, eax
je 0x101b70ef
cmp byte [eax + 0x6c], 0
je 0x101b70ff
add ecx, 0x1d04
push str.Invalid_destination_texture_type.
jmp 0x101b6fae
add ecx, 0x1d04
push str.Destination_texture_is_not_a_valid_texture_object.
jmp 0x101b6fae
cmp byte [eax + 0xd7], 0
je 0x101b7118
add ecx, 0x1d04
push str.Destination_texture_cannot_be_immutable.
jmp 0x101b6ef2
mov al, 1
jmp 0x101b6fbd