Function at 0x101b3980
Capabilities:
Hash data using fnv

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
sub esp, 0x18
movzx eax, byte [ebp + 0x10]
mov bh, byte [ebp + 0x20]
mov esi, dword [ebp + 0x14]
mov dword [ebp - 0x14], eax
push eax
call fcn.10219ed0
add esp, 4
mov bl, al
movzx eax, bh
movzx edi, bl
push eax
push 1
push dword [ebp + 0x30]
push dword [ebp + 0x2c]
push esi
push edi
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.101a6190
add esp, 0x20
test al, al
je 0x101b3ab5
push esi
push edi
mov esi, dword [ebp + 8]
push esi
call fcn.101a6140
add esp, 0xc
test al, al
je 0x101b3a58
cmp dword [ebp + 0x24], 0
js 0x101b3a9b
mov edx, dword [ebp + 0x28]
test edx, edx
js 0x101b3a9b
mov eax, 0x7fffffff
mov ecx, dword [ebp + 0x24]
xor ecx, eax
cmp ecx, dword [ebp + 0x2c]
jl 0x101b3a9b
xor eax, edx
cmp eax, dword [ebp + 0x30]
jl 0x101b3a9b
cmp bl, 9
ja case.0x101b3a15.1
mov bl, byte [ebp + 0x1c]
jmp dword [edi*4 + 0x10300104]
mov eax, dword [esi + 0x44]
mov ecx, dword [ebp + 0x14]
sar eax, cl
cmp eax, dword [ebp + 0x2c]
jl 0x101b3a9b
cmp eax, dword [ebp + 0x30]
jl 0x101b3a9b
lea ecx, [esi + 8]
push edi
call fcn.10086060
test eax, eax
je 0x101b3ada
cmp dword [ebp + 0x34], 0
je 0x101b3af6
add esi, 0x1d04
mov ecx, esi
push str.Border_must_be_0.
jmp 0x101b3aa8
add esi, 0x1d04
mov ecx, esi
push str.Level_of_detail_outside_of_range.
jmp 0x101b3aa8
add esi, 0x1d04
mov ecx, esi
push str.Invalid_or_unsupported_texture_target.
jmp 0x101b3a94
mov eax, dword [esi + 0x48]
cmp eax, dword [ebp + 0x2c]
jl 0x101b3a9b
cmp eax, dword [ebp + 0x30]
jl 0x101b3a9b
test bl, bl
je 0x101b3a2e
add esi, 0x1d04
mov ecx, esi
push str.Rectangle_texture_cannot_have_a_compressed_format.
push 0x500
jmp 0x101b3aad
add esi, 0x1d04
mov ecx, esi
push str.Desired_resource_size_is_greater_than_max_texture_size.
push 0x501
push dword [ebp + 0xc]
call fcn.1001a2a0
xor eax, eax
add esp, 0x18
pop esi
pop edi
pop ebx
pop ebp
ret
mov eax, dword [ebp + 0x30]
cmp dword [ebp + 0x2c], eax
je 0x101b3aee
test bh, bh
jne 0x101b3aee
add esi, 0x1d04
mov ecx, esi
push str.Each_cubemap_face_must_have_equal_width_and_height.
jmp 0x101b3aa8
add esi, 0x1d04
mov ecx, esi
push str.A_buffer_must_be_bound.
push 0x502
jmp 0x101b3aad
mov eax, dword [esi + 0x54]
jmp 0x101b3a1f
mov ecx, dword [ebp + 0x3c]
mov edx, dword [ebp + 0x18]
test bl, bl
mov dword [ebp - 0x18], eax
je 0x101b3b8d
test bh, bh
je 0x101b3b20
movzx eax, byte [ebp - 0x14]
mov ecx, dword [ebp - 0x18]
push dword [ebp + 0x14]
push eax
call fcn.1008e490
mov eax, dword [eax]
mov edx, dword [eax + 8]
mov dword [ebp - 0x24], edx
push edx
call fcn.100a73d0
add esp, 4
mov cl, byte [eax + 0x34]
or cl, byte [eax + 0x44]
je 0x101b3bbe
mov dword [ebp - 0x1c], eax
mov ecx, dword [eax + 0x5c]
lea eax, [esi + 0x1278]
mov dword [ebp - 0x10], eax
lea eax, [esi + 0x1c]
mov dword [ebp - 0x20], eax
call dword [section..00cfg]
push dword [ebp - 0x10]
push dword [ebp - 0x20]
call ecx
add esp, 8
test al, al
je 0x101b3bbe
test bh, bh
je 0x101b3ce5
mov eax, dword [ebp - 0x1c]
cmp byte [eax + 0x44], 0
mov eax, dword [ebp + 0x14]
mov ecx, dword [ebp + 0x18]
je 0x101b3e88
push ecx
push str.Invalid_internal_format_0x_04X.
push 0x502
jmp 0x101b41af
cmp ecx, 0x8362
jg 0x101b3bcb
lea eax, [ecx - 0x1401]
cmp eax, 5
ja 0x101b3bae
mov edx, ecx
mov ecx, 0x35
bt ecx, eax
mov ecx, edx
jb 0x101b3c0e
lea eax, [ecx - 0x8033]
cmp eax, 2
jb 0x101b3c0e
jmp 0x101b3d0e
push dword [ebp + 0x18]
push str.Invalid_internal_format_0x_04X.
jmp 0x101b41aa
cmp ecx, 0x84f9
jg 0x101b3bfa
cmp ecx, 0x8363
je 0x101b3c0e
cmp ecx, 0x8368
jne 0x101b3d0e
cmp byte [esi + 0x130f], 0
jne 0x101b3c0e
push 0x8368
jmp 0x101b41a5
cmp ecx, 0x84fa
je 0x101b3c0e
cmp ecx, 0x8d61
jne 0x101b3d0e
mov edx, dword [ebp + 0x38]
cmp edx, 0x80e0
jg 0x101b3c58
lea eax, [edx - 0x1901]
cmp eax, 9
ja case.0x101b3c28.6404
jmp dword [eax*4 + 0x1030012c]
cmp ecx, 0x1401
je 0x101b3fc9
cmp ecx, 0x1406
je 0x101b3fc9
cmp ecx, 0x8d61
je 0x101b3fc9
jmp 0x101b3e76
cmp edx, 0x84f8
jle 0x101b3c92
cmp edx, 0x84f9
je 0x101b3dde
cmp edx, 0x8c40
je 0x101b3c80
cmp edx, 0x8c42
jne case.0x101b3c28.6404
cmp byte [esi + 0x12e7], 0
jne 0x101b3e6a
jmp case.0x101b3c28.6404
cmp edx, 0x80e1
je 0x101b3e5d
cmp edx, 0x8227
jne case.0x101b3c28.6404
cmp byte [esi + 0x1308], 0
je case.0x101b3c28.6404
cmp ecx, 0x1405
jg 0x101b3f25
lea eax, [ecx - 0x1402]
cmp eax, 2
jae 0x101b3e6a
cmp byte [esi + 0x1306], 0
jne 0x101b3fc9
push ecx
jmp 0x101b41a5
push 1
push dword [ebp + 0x30]
push dword [ebp + 0x2c]
push dword [ebp + 0x14]
push dword [ebp - 0x24]
push esi
call fcn.101a62d0
add esp, 0x18
test al, al
je 0x101b3f13
xor eax, eax
mov edx, dword [ebp + 0x38]
jmp 0x101b4311
add esi, 0x1d04
mov ecx, esi
push str.Invalid_type.
jmp 0x101b3a94
cmp ecx, 0x1401
jne 0x101b3e76
cmp byte [esi + 0x130c], 0
je 0x101b3f01
movzx eax, byte [ebp - 0x14]
lea ecx, [eax - 7]
cmp ecx, 6
jb 0x101b3d4e
cmp eax, 2
jae 0x101b3f84
cmp dword [ebp + 0x18], 0x8d48
mov ecx, dword [ebp + 0x3c]
jne 0x101b3f84
jmp 0x101b3fc9
cmp ecx, 0x1403
je 0x101b3dea
cmp ecx, 0x1405
je 0x101b3dea
cmp ecx, 0x1406
jne 0x101b3e76
cmp byte [esi + 0x1296], 0
jne 0x101b3dea
jmp 0x101b3e76
cmp ecx, 0x8362
jle 0x101b3db2
cmp ecx, 0x8363
jne 0x101b3f56
jmp 0x101b3fc9
cmp ecx, 0x8032
jg 0x101b3f4b
lea eax, [ecx - 0x1402]
cmp eax, 2
jb 0x101b3f64
cmp ecx, 0x1401
je 0x101b3fc9
cmp ecx, 0x1406
je 0x101b3fc9
jmp 0x101b3e76
cmp ecx, 0x84fa
jne 0x101b3e76
cmp byte [esi + 0x1297], 0
jne 0x101b3e0e
cmp byte [esi + 0x12c5], 0
jne 0x101b3e05
cmp byte [esi + 0x1299], 0
je case.0x101b3c28.6404
cmp byte [esi + 0x1298], 0
je case.0x101b3c28.6404
movzx eax, byte [ebp - 0x14]
lea ecx, [eax - 7]
cmp ecx, 6
jae 0x101b3f7c
cmp byte [esi + 0x1299], 0
je 0x101b3f84
cmp byte [esi + 0x1298], 0
mov ecx, dword [ebp + 0x3c]
jne 0x101b3fc9
cmp dword [ebp + 0x44], 0
je 0x101b3fad
add esi, 0x1d04
mov ecx, esi
push str.Pixel_data_must_be_null.
jmp 0x101b3ae7
push edx
jmp 0x101b41a5
cmp byte [esi + 0x1302], 0
je 0x101b3f72
cmp ecx, 0x1401
je 0x101b3fc9
add esi, 0x1d04
mov ecx, esi
push str.Invalid_format_and_type_combination.
jmp 0x101b3ae7
mov dword [ebp - 0x10], edi
cmp dword [ebp - 0x24], 0x8d64
jne 0x101b3ea1
cmp byte [esi + 0x1286], 0
je 0x101b3b7d
movzx ebx, byte [ebp - 0x14]
mov edi, dword [ebp - 0x18]
mov ecx, edi
push eax
push ebx
call fcn.1008e450
mov dword [ebp - 0x20], eax
mov ecx, edi
push dword [ebp + 0x14]
push ebx
call fcn.1008e410
mov dword [ebp - 0x1c], eax
mov ecx, edi
push dword [ebp + 0x14]
push ebx
call fcn.1008e3d0
push dword [ebp - 0x20]
push dword [ebp - 0x1c]
push eax
push 1
push dword [ebp + 0x30]
push dword [ebp + 0x2c]
push 0
push dword [ebp + 0x28]
push dword [ebp + 0x24]
mov edi, dword [ebp - 0x24]
push edi
push esi
call fcn.101a64b0
add esp, 0x2c
test al, al
je 0x101b3f13
cmp edi, dword [ebp + 0x38]
mov edi, dword [ebp - 0x10]
je 0x101b4049
add esi, 0x1d04
mov ecx, esi
push str.Invalid_format.
jmp 0x101b3ae7
add esi, 0x1d04
mov ecx, esi
push str.Invalid_compressed_image_size.
jmp 0x101b3ae7
cmp ecx, 0x8d61
je 0x101b3f96
cmp ecx, 0x1406
jne 0x101b3e76
cmp byte [esi + 0x1300], 0
jne 0x101b3fc9
jmp 0x101b3fe8
lea eax, [ecx - 0x8033]
cmp eax, 2
jb 0x101b3fc9
cmp ecx, 0x8368
jne 0x101b3c47
jmp 0x101b3fc9
cmp byte [esi + 0x1306], 0
jne 0x101b3fc9
jmp 0x101b3e76
push 0x80e1
jmp 0x101b41a5
test eax, eax
je 0x101b3e2b
add esi, 0x1d04
mov ecx, esi
push str.Invalid_texture_target_and_format_combination.
jmp 0x101b3ae7
cmp byte [esi + 0x1300], 0
jne 0x101b3fc9
cmp byte [esi + 0x1304], 0
jne 0x101b3fc9
jmp 0x101b41a0
mov edx, dword [ebp + 0x14]
test edx, edx
mov edx, dword [ebp + 0x38]
je 0x101b3fc9
add esi, 0x1d04
mov ecx, esi
push str.Texture_level_must_be_zero.
jmp 0x101b3ae7
test bh, bh
je 0x101b3ff2
xor eax, eax
cmp ecx, 0x8d61
je 0x101b4034
cmp ecx, 0x1406
jne 0x101b4041
cmp byte [esi + 0x1300], 0
jne 0x101b4041
push 0x1406
jmp 0x101b41a5
mov eax, dword [ebp + 0x18]
cmp eax, 0x8229
jg 0x101b40df
cmp eax, 0x8053
jg 0x101b4153
add eax, 0xffffe6fa
cmp eax, 5
jb 0x101b3fcd
cmp dword [ebp + 0x18], 0x1902
je 0x101b439b
cmp dword [ebp + 0x18], 0x1903
je 0x101b4289
jmp case.0x101b4161.32853
cmp byte [esi + 0x1304], 0
je 0x101b41a0
test bh, bh
je 0x101b4311
movzx eax, byte [ebp - 0x14]
mov ecx, dword [ebp - 0x18]
push dword [ebp + 0x14]
mov dword [ebp - 0x14], eax
push eax
call fcn.1008e490
mov ebx, dword [eax]
cmp dword [ebx], 0
je 0x101b4141
mov eax, dword [ebp + 0x38]
cmp dword [ebx + 0x4c], eax
jne 0x101b41c0
mov dword [ebp - 0x10], edi
cmp byte [esi + 0x1345], 0
je 0x101b4099
push dword [ebp + 0x3c]
push dword [ebp + 0x38]
call fcn.100a7560
add esp, 8
mov eax, dword [eax + 8]
cmp eax, dword [ebx + 8]
jne 0x101b42d4
mov ebx, dword [ebp + 0x24]
add ebx, dword [ebp + 0x2c]
mov ecx, dword [ebp - 0x18]
mov edi, dword [ebp + 0x14]
push edi
mov edi, dword [ebp - 0x14]
push edi
call fcn.1008e3d0
cmp ebx, eax
ja 0x101b40cd
mov ebx, dword [ebp + 0x28]
add ebx, dword [ebp + 0x30]
mov ecx, dword [ebp - 0x18]
push dword [ebp + 0x14]
push edi
call fcn.1008e410
cmp ebx, eax
jbe 0x101b440a
add esi, 0x1d04
mov ecx, esi
push str.Offset_overflows_texture_dimensions.
jmp 0x101b3aa8
cmp eax, 0x8d47
jg 0x101b4180
cmp eax, 0x8813
jle 0x101b41d2
cmp eax, 0x8c3f
jg 0x101b429b
cmp eax, 0x8814
je 0x101b43b9
cmp dword [ebp + 0x18], 0x8815
jne case.0x101b4161.32853
cmp byte [esi + 0x131d], 0
je 0x101b43ff
cmp ecx, 0x1406
jne 0x101b4468
mov al, 1
mov ecx, dword [ebp + 0x38]
cmp ecx, 0x1907
jmp 0x101b43dc
add esi, 0x1d04
mov ecx, esi
push str.Texture_level_does_not_exist.
jmp 0x101b3ae7
add eax, 0xffff7fac
cmp eax, 7
ja case.default.0x101b4161
jmp dword [eax*4 + 0x10300154]
mov dword [ebp - 0x10], edi
add esi, 0x130f
mov edi, 0x1908
mov eax, 0x8368
jmp 0x101b424b
add eax, 0xffff7068
cmp eax, 4
jae 0x101b421e
cmp byte [esi + 0x1306], 0
jne 0x101b3fcd
push dword [ebp + 0x18]
jmp 0x101b41a5
push 0x8d61
push str.Enum_0x_04X_is_currently_not_supported.
push 0x500
push dword [ebp + 0xc]
push esi
call fcn.1001a3e0
add esp, 0x14
jmp 0x101b3ab5
add esi, 0x1d04
mov ecx, esi
push str.Passed_in_texture_target_and_format_must_match_the_one_originally_used_to_define_the_texture.
jmp 0x101b3ae7
cmp eax, 0x822a
je case.0x101b4161.32852
cmp dword [ebp + 0x18], 0x822c
je case.0x101b4161.32852
cmp dword [ebp + 0x18], 0x84f9
jne case.0x101b4161.32853
cmp byte [esi + 0x1297], 0
jne 0x101b3fcd
mov eax, dword [ebp + 8]
cmp byte [eax + 0x12c5], 0
jne 0x101b3fcd
cmp byte [eax + 0x1299], 0
jne 0x101b3fcd
jmp 0x101b43ff
mov dword [ebp - 0x10], edi
cmp dword [ebp + 0x18], 0x8d48
je 0x101b43e9
cmp dword [ebp + 0x18], 0x96ba
jne case.0x101b4161.32853
add esi, 0x1336
mov edi, 0x1907
mov eax, 0x1401
cmp byte [esi], 0
setne dh
cmp eax, ecx
sete dl
mov esi, dword [ebp + 0x38]
cmp edi, esi
sete al
and al, dl
and al, dh
mov edx, esi
mov edi, dword [ebp - 0x10]
mov esi, dword [ebp + 8]
jmp 0x101b3fcf
cmp dword [ebp + 0x18], 0x80e1
je 0x101b4449
cmp dword [ebp + 0x18], 0x8227
jne case.0x101b4161.32853
cmp byte [esi + 0x1308], 0
jne 0x101b3fcd
jmp 0x101b43ff
cmp eax, 0x8c40
je 0x101b42af
cmp dword [ebp + 0x18], 0x8c42
jne case.0x101b4161.32853
cmp byte [esi + 0x12e7], 0
jne 0x101b3fcd
push dword [ebp + 0x18]
push str.Enum_0x_04X_is_currently_not_supported.
push 0x500
push dword [ebp + 0xc]
push dword [ebp + 8]
jmp 0x101b41b3
add esi, 0x1d04
mov ecx, esi
push str.Passed_in_texture_type_must_match_the_one_originally_used_to_define_the_texture.
jmp 0x101b3ae7
mov eax, esi
cmp byte [esi + 0x130f], 0
je 0x101b4484
cmp edx, 0x1908
mov esi, eax
jne 0x101b3e76
mov al, 1
cmp ecx, 0x8368
jne 0x101b3e76
mov ecx, dword [ebp - 0x18]
cmp byte [ecx + 0xd7], 0
je 0x101b432f
add esi, 0x1d04
mov ecx, esi
push str.Texture_is_immutable.
jmp 0x101b3ae7
mov ecx, dword [ebp + 0x18]
cmp ecx, edx
mov edx, ecx
sete cl
test bl, bl
jne 0x101b4362
test bh, bh
jne 0x101b4362
or cl, al
mov ecx, edx
mov eax, dword [ebp + 0xc]
jne 0x101b4367
add esi, 0x1d04
mov ecx, esi
push str.Invalid_combination_of_format__type_and_internalFormat.
push 0x502
push eax
jmp 0x101b3ab0
mov ecx, edx
mov eax, dword [ebp + 0xc]
push dword [ebp + 0x40]
push dword [ebp + 0x44]
push dword [ebp + 0x3c]
push ecx
push 1
push dword [ebp + 0x30]
push dword [ebp + 0x2c]
push edi
push eax
push esi
call fcn.101a65c0
add esp, 0x40
jmp 0x101b3aba
push dword [ebp + 0x18]
push str.Invalid_internal_format_0x_04X.
push 0x501
jmp 0x101b41af
mov edx, esi
mov al, byte [esi + 0x1297]
or al, byte [esi + 0x1298]
je 0x101b4456
xor eax, eax
mov edx, dword [ebp + 0x38]
jmp 0x101b3fcf
mov eax, dword [ebp + 8]
cmp byte [eax + 0x131e], 0
je 0x101b43ff
cmp ecx, 0x1406
jne 0x101b4468
mov al, 1
mov ecx, dword [ebp + 0x38]
cmp ecx, 0x1908
mov edx, ecx
jne 0x101b3e76
jmp 0x101b3fdf
mov eax, dword [ebp + 8]
cmp byte [eax + 0x130c], 0
je 0x101b43ff
xor eax, eax
mov edi, dword [ebp - 0x10]
jmp 0x101b3fcf
mov ecx, dword [ebp + 8]
add ecx, 0x1d04
jmp 0x101b445e
cmp dword [ebp + 0x2c], 0
jle 0x101b4476
cmp dword [ebp + 0x30], 0
jle 0x101b4476
cmp dword [ebp + 0x44], 0
jne 0x101b4476
cmp dword [esi + 0x17d0], 0
mov eax, dword [ebp + 0xc]
mov edi, dword [ebp - 0x10]
mov ecx, dword [ebp + 0x38]
jne 0x101b4367
add esi, 0x1d04
mov ecx, esi
push str.Pixel_data_cannot_be_null.
push 0x501
jmp 0x101b435c
cmp byte [esi + 0x1302], 0
jne 0x101b3fcd
add esi, 0x1d04
mov ecx, esi
push str.Invalid_format.
jmp 0x101b3a94
mov ecx, dword [ebp + 8]
add ecx, 0x1d04
jmp 0x101b3e7e
mov eax, dword [ebp + 0xc]
mov edi, dword [ebp - 0x10]
mov ecx, dword [ebp + 0x38]
jmp 0x101b4367
push 0x8059
push str.Enum_0x_04X_is_currently_not_supported.
push 0x500
push dword [ebp + 0xc]
push eax
jmp 0x101b41b3