Function at 0x10191090
Capabilities:
Hash data using fnv

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
sub esp, 0x24
mov ecx, dword [ebp + 0x40]
mov ebx, dword [ebp + 8]
mov eax, dword [0x1038100c]
xor eax, ebp
mov dword [ebp - 0x10], eax
mov eax, ecx
or eax, dword [ebp + 0x3c]
or eax, dword [ebp + 0x44]
js 0x10191174
mov esi, dword [ebp + 0x10]
mov edi, dword [ebp + 0xc]
mov ecx, ebx
mov edx, edi
push esi
call fcn.10190ad0
add esp, 4
test al, al
je 0x1019118b
mov edx, dword [ebp + 0x24]
mov ecx, ebx
push dword [ebp + 0x28]
call fcn.10190ad0
add esp, 4
test al, al
je 0x1019118b
mov ecx, ebx
mov edx, edi
push dword [ebp + 0x14]
push esi
call fcn.10190ec0
add esp, 8
mov dword [ebp - 0x20], eax
mov ecx, ebx
mov edx, dword [ebp + 0x24]
push dword [ebp + 0x2c]
push dword [ebp + 0x28]
call fcn.10190ec0
add esp, 8
mov dword [ebp - 0x1c], eax
xor eax, eax
inc eax
mov ecx, ebx
lea ebx, [ebp - 0x14]
mov dword [ebx], eax
mov dword [ebp - 0x18], eax
mov edx, edi
push ebx
push dword [ebp + 0x40]
push dword [ebp + 0x3c]
push dword [ebp + 0x20]
push dword [ebp + 0x1c]
push dword [ebp + 0x18]
push dword [ebp + 0x14]
push esi
call fcn.10190c70
add esp, 0x20
test al, al
je 0x1019118b
mov eax, dword [ebp - 0x20]
cmp byte [eax + 0x34], 0
mov ecx, dword [ebp - 0x1c]
mov dl, byte [ecx + 0x34]
je 0x101911a1
mov ebx, eax
mov eax, dword [ebp + 0x40]
mov ecx, dword [ebp + 0x3c]
test dl, dl
mov esi, dword [ebp + 8]
jne 0x101911be
mov eax, dword [ebp + 0x3c]
xor edx, edx
div dword [ebx + 0x38]
mov ecx, eax
mov eax, dword [ebp + 0x40]
xor edx, edx
div dword [ebx + 0x3c]
jmp 0x101911be
add ebx, 0x1be4
mov ecx, ebx
push str.Negative_size.
push 0x501
call fcn.10021560
xor ebx, ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.1021e470
mov eax, ebx
add esp, 0x24
pop esi
pop edi
pop ebx
pop ebp
ret
mov edi, ecx
mov eax, dword [ebp + 0x40]
mov ecx, dword [ebp + 0x3c]
test dl, dl
mov esi, dword [ebp + 8]
je 0x101911be
mov ecx, dword [edi + 0x38]
imul ecx, dword [ebp + 0x3c]
mov eax, dword [edi + 0x3c]
imul eax, dword [ebp + 0x40]
mov dword [ebp - 0x24], ecx
lea ebx, [ebp - 0x18]
mov ecx, esi
mov edi, dword [ebp + 0x24]
mov edx, edi
push ebx
mov dword [ebp - 0x28], eax
push eax
push dword [ebp - 0x24]
push dword [ebp + 0x38]
push dword [ebp + 0x34]
push dword [ebp + 0x30]
push dword [ebp + 0x2c]
mov ebx, dword [ebp + 0x28]
push ebx
call fcn.10190c70
add esp, 0x20
test al, al
je 0x1019118b
mov ecx, dword [esi + 0x127c]
cmp dword [ecx + 0x38], edi
jbe 0x1019120d
mov eax, dword [ecx + 0x3c]
mov eax, dword [eax + edi*4]
xor edi, edi
cmp eax, 0xffffffff
cmovne edi, eax
jmp 0x101912a8
mov esi, edi
shr esi, 0x10
mov edx, edi
mov ebx, edi
shr ebx, 8
mov eax, 0xff
and edi, eax
and ebx, eax
and esi, eax
mov eax, edx
shr eax, 0x18
xor edi, 0x811c9dc5
imul edi, edi, 0x1000193
xor edi, ebx
imul edi, edi, 0x1000193
xor edi, esi
imul edi, edi, 0x1000193
xor edi, eax
imul edi, edi, 0x1000193
and edi, dword [ecx + 0x58]
mov eax, dword [ecx + 0x44]
mov ecx, dword [ecx + 0x4c]
shl esi, 0x10
and edx, 0xff0000ff
or edx, esi
mov dword [ebp - 0x30], ecx
mov ecx, dword [ecx + edi*8]
lea esi, [edi + edi]
inc esi
mov dword [ebp - 0x2c], esi
shl ebx, 8
or edx, ebx
mov ebx, edx
mov edx, ecx
cmp eax, ecx
je 0x10191288
mov esi, dword [ebp - 0x30]
mov edi, dword [ebp - 0x2c]
mov esi, dword [esi + edi*4]
mov esi, dword [esi]
jmp 0x1019128a
mov esi, ecx
xor edi, edi
cmp edx, esi
je 0x10191299
cmp dword [edx + 8], ebx
je 0x1019129e
mov edx, dword [edx]
jmp 0x10191277
mov ebx, dword [ebp + 0x28]
jmp 0x101912a8
cmp edx, eax
mov ebx, dword [ebp + 0x28]
je 0x101912a8
mov edi, dword [edx + 0xc]
push ebx
call fcn.102b06e0
add esp, 4
cmp al, 0x10
je 0x101912d2
movzx eax, al
mov ecx, edi
push dword [ebp + 0x2c]
push eax
call fcn.10086f70
mov ecx, dword [ebp + 0x34]
or ecx, dword [ebp + 0x30]
or ecx, dword [ebp + 0x38]
je 0x10191368
mov ecx, dword [ebp - 0x1c]
xor ebx, ebx
mov edi, dword [ebp - 0x20]
mov al, byte [edi + 0x34]
test bl, bl
mov byte [ebp - 0x1c], al
jne 0x10191300
test al, al
je 0x10191300
mov eax, dword [ebp + 0x3c]
xor edx, edx
div dword [edi + 0x38]
test edx, edx
jne 0x10191355
mov eax, dword [ebp + 0x40]
xor edx, edx
div dword [edi + 0x3c]
test edx, edx
jne 0x10191355
mov al, byte [ecx + 0x34]
mov byte [ebp - 0x20], al
test al, al
sete al
or bl, al
mov ebx, ecx
je 0x1019133d
mov esi, dword [edi]
mov edx, dword [ebx]
cmp esi, edx
mov ecx, dword [ebp + 8]
jne 0x1019138b
mov eax, dword [ebp - 0x14]
mov bl, 1
cmp eax, dword [ebp - 0x18]
je 0x1019118d
mov ecx, dword [ebp + 8]
add ecx, 0x1be4
push str.Samples_must_not_be_greater_than_maximum_supported_value_for_the_format.
jmp 0x10191436
mov eax, dword [ebp - 0x24]
xor edx, edx
div dword [ebx + 0x38]
test edx, edx
mov eax, dword [ebp - 0x28]
jne 0x10191355
xor edx, edx
div dword [ebx + 0x3c]
test edx, edx
je 0x10191311
mov ecx, dword [ebp + 8]
add ecx, 0x1be4
push str.Invalid_region_for_compressed_texture_format.
jmp 0x10191181
mov ecx, dword [ebp + 0x3c]
cmp dword [eax], ecx
mov edi, dword [ebp - 0x20]
jne 0x101913cb
mov ecx, dword [ebp - 0x1c]
mov edx, dword [ebp + 0x40]
cmp dword [eax + 4], edx
jne 0x101913ce
mov edx, dword [ebp + 0x44]
cmp dword [eax + 8], edx
sete bl
jmp 0x101912da
mov al, byte [ebp - 0x1c]
cmp al, byte [ebp - 0x20]
jne 0x101913d5
test al, al
je 0x1019141f
cmp esi, 0x8e8e
jg 0x10191467
lea eax, [esi - 0x8dbb]
cmp eax, 3
ja case.default.0x101913b6
jmp dword [eax*4 + 0x102f0c24]
cmp edx, 0x8dbc
je 0x1019131c
jmp case.0x101913f2.37822
mov ecx, dword [ebp - 0x1c]
xor ebx, ebx
jmp 0x101912da
test al, al
mov edi, edx
cmove edi, esi
cmove esi, edx
cmp esi, 0x93af
jle 0x10191440
add esi, 0xffff6c50
cmp esi, 0x39
ja case.0x101913f2.37822
jmp dword [esi*4 + 0x102f0b3c]
cmp edi, 0x8814
je 0x1019131c
cmp edi, 0x8d70
je 0x1019131c
cmp edi, 0x8d82
je 0x1019131c
jmp case.0x101913f2.37822
mov eax, dword [edi + 0x2c]
cmp eax, dword [ebx + 0x2c]
je 0x1019131c
add ecx, 0x1be4
push str.Texture_formats_are_not_compatible
push 0x502
jmp 0x10191186
cmp esi, 0x8dbc
jle 0x10191487
lea edx, [esi - 0x9270]
cmp edx, 9
ja 0x101914f7
mov eax, 0xf3
bt eax, edx
jb 0x1019152d
jmp case.0x101913f2.37808
lea eax, [esi - 0x9270]
cmp eax, 3
ja case.default.0x10191472
jmp dword [eax*4 + 0x102f0c34]
cmp edx, 0x9271
je 0x1019131c
jmp case.0x101913f2.37822
cmp esi, 0x8c4b
jle 0x1019150e
lea edx, [esi - 0x8c4c]
cmp edx, 2
jb 0x1019152d
lea edx, [esi - 0x8c4e]
cmp edx, 2
jb case.0x101913f2.37808
add esi, 0xffff7245
cmp esi, 2
jb 0x1019152d
jmp case.0x101913f2.37822
cmp esi, 0x8e8e
jne 0x101915e6
cmp edx, 0x8e8f
je 0x1019131c
jmp case.0x101913f2.37822
cmp esi, 0x8e8f
jne 0x101915e6
cmp edx, 0x8e8e
je 0x1019131c
jmp case.0x101913f2.37822
lea edx, [esi - 0x8e8c]
cmp edx, 4
jb case.0x101913f2.37808
add esi, 0xffff7243
jmp 0x1019151f
lea edx, [esi - 0x83f0]
cmp edx, 2
jb 0x1019152d
add esi, 0xffff7c0e
cmp esi, 2
jb case.0x101913f2.37808
jmp case.0x101913f2.37822
cmp edi, 0x8819
jg 0x10191557
add edi, 0xffff7dd0
cmp edi, 0xc
ja case.0x101913f2.37822
mov eax, 0x1801
bt eax, edi
jb 0x1019131c
jmp case.0x101913f2.37822
cmp edi, 0x881a
je 0x1019131c
cmp edi, 0x8d76
je 0x1019131c
cmp edi, 0x8d88
je 0x1019131c
jmp case.0x101913f2.37822
cmp edx, 0x8dbb
je 0x1019131c
jmp case.0x101913f2.37822
cmp edx, 0x8dbe
je 0x1019131c
jmp case.0x101913f2.37822
cmp edx, 0x8dbd
je 0x1019131c
jmp case.0x101913f2.37822
cmp edx, 0x9270
je 0x1019131c
jmp case.0x101913f2.37822
cmp edx, 0x9273
je 0x1019131c
jmp case.0x101913f2.37822
cmp edx, 0x9272
je 0x1019131c
jmp case.0x101913f2.37822
mov eax, dword [edi + 0x50]
cmp eax, dword [ebx + 0x50]
je case.0x101913f2.37822
cmp eax, 0x2601
mov ecx, edx
cmove ecx, esi
cmove esi, edx
cmp ecx, 0x9275
jle 0x1019162d
lea edx, [ecx - 0x93b0]
cmp edx, 0x19
ja case.default.0x10191615
mov ecx, dword [ebp + 8]
jmp dword [edx*4 + 0x102f0c54]
cmp esi, 0x93d0
je 0x1019131c
jmp case.0x101913f2.37822
lea edx, [ecx - 0x83f0]
cmp edx, 3
ja case.default.0x10191638
jmp dword [edx*4 + 0x102f0c44]
cmp esi, 0x8c4c
jmp 0x10191857
cmp ecx, 0x8e8c
je 0x101916bf
cmp ecx, 0x9274
mov ecx, dword [ebp + 8]
jne case.0x101913f2.37822
cmp esi, 0x9275
je 0x1019131c
jmp case.0x101913f2.37822
cmp ecx, 0x9276
je 0x10191851
cmp ecx, 0x9278
mov ecx, dword [ebp + 8]
jne case.0x101913f2.37822
cmp esi, 0x9279
je 0x1019131c
jmp case.0x101913f2.37822
cmp esi, 0x8c4d
jmp 0x10191857
cmp esi, 0x8c4e
jmp 0x10191857
cmp esi, 0x8c4f
jmp 0x10191857
cmp esi, 0x8e8d
jmp 0x10191857
cmp esi, 0x93d1
je 0x1019131c
jmp case.0x101913f2.37822
cmp esi, 0x93d2
je 0x1019131c
jmp case.0x101913f2.37822
cmp esi, 0x93d3
je 0x1019131c
jmp case.0x101913f2.37822
cmp esi, 0x93d4
je 0x1019131c
jmp case.0x101913f2.37822
cmp esi, 0x93d5
je 0x1019131c
jmp case.0x101913f2.37822
cmp esi, 0x93d6
je 0x1019131c
jmp case.0x101913f2.37822
cmp esi, 0x93d7
je 0x1019131c
jmp case.0x101913f2.37822
cmp esi, 0x93d8
je 0x1019131c
jmp case.0x101913f2.37822
cmp esi, 0x93d9
je 0x1019131c
jmp case.0x101913f2.37822
cmp esi, 0x93da
je 0x1019131c
jmp case.0x101913f2.37822
cmp esi, 0x93db
je 0x1019131c
jmp case.0x101913f2.37822
cmp esi, 0x93dc
je 0x1019131c
jmp case.0x101913f2.37822
cmp esi, 0x93dd
je 0x1019131c
jmp case.0x101913f2.37822
cmp esi, 0x93e0
je 0x1019131c
jmp case.0x101913f2.37822
cmp esi, 0x93e1
je 0x1019131c
jmp case.0x101913f2.37822
cmp esi, 0x93e2
je 0x1019131c
jmp case.0x101913f2.37822
cmp esi, 0x93e3
je 0x1019131c
jmp case.0x101913f2.37822
cmp esi, 0x93e4
je 0x1019131c
jmp case.0x101913f2.37822
cmp esi, 0x93e5
je 0x1019131c
jmp case.0x101913f2.37822
cmp esi, 0x93e6
je 0x1019131c
jmp case.0x101913f2.37822
cmp esi, 0x93e7
je 0x1019131c
jmp case.0x101913f2.37822
cmp esi, 0x93e8
je 0x1019131c
jmp case.0x101913f2.37822
cmp esi, 0x93e9
je 0x1019131c
jmp case.0x101913f2.37822
cmp esi, 0x9277
mov ecx, dword [ebp + 8]
je 0x1019131c
jmp case.0x101913f2.37822