Function at 0x101d64d0
Capabilities:
Hash data using fnv

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
sub esp, 0x34
mov eax, dword [0x1039f0a4]
mov ecx, dword fs:[0x2c]
mov eax, dword [ecx + eax*4]
cmp byte [eax + 8], 0
jne 0x101d64f6
call fcn.10212224
mov eax, dword [0x1039f0a4]
mov ecx, dword fs:[0x2c]
mov eax, dword [ecx + eax*4]
mov edi, dword [eax + 0xc]
test edi, edi
je 0x101d6541
push dword [ebp + 8]
call fcn.1021a700
add esp, 4
mov bh, al
mov bl, byte [edi + 0x1d00]
test bl, bl
je 0x101d6548
call fcn.101fc8e0
mov dword [ebp - 0x34], eax
push eax
call sub.MSVCP140.dll__Mtx_lock
add esp, 4
test eax, eax
je 0x101d654f
push eax
call sub.MSVCP140.dll_void___cdecl_std::_Throw_C_error_int_
call fcn.101fca70
jmp 0x101d657d
mov dword [ebp - 0x34], 0
mov esi, dword [ebp + 0xc]
cmp byte [edi + 0x1d01], 0
movzx eax, bh
mov dword [ebp - 0x20], eax
je 0x101d6587
mov ecx, edi
push esi
push dword [ebp - 0x20]
call fcn.10014ea0
test bl, bl
je 0x101d657d
push dword [ebp - 0x34]
call sub.MSVCP140.dll__Mtx_unlock
add esp, 0x38
jmp 0x101d6580
add esp, 0x34
pop esi
pop edi
pop ebx
pop ebp
ret 8
mov eax, dword [ebp - 0x20]
cmp byte [edi + eax + 0x2034], 0
je 0x101d65f3
test esi, esi
je 0x101d6561
mov byte [ebp - 0xd], bh
mov byte [ebp - 0xe], bl
mov ecx, dword [edi + 0x136c]
mov edx, esi
shr edx, 8
mov eax, esi
shr eax, 0x10
mov ebx, esi
shr ebx, 0x18
mov dword [ebp - 0x18], ecx
mov ecx, dword [ecx + 0x2c]
mov dword [ebp - 0x40], ecx
cmp ecx, esi
mov dword [ebp - 0x2c], edx
mov dword [ebp - 0x3c], eax
mov dword [ebp - 0x38], ebx
jbe 0x101d6609
mov eax, dword [ebp - 0x18]
mov ecx, dword [eax + 0x30]
mov ecx, dword [ecx + esi*4]
cmp ecx, 0xffffffff
mov bl, byte [ebp - 0xe]
mov bh, byte [ebp - 0xd]
jne 0x101d66cf
cmp byte [edi + 0x14c0], 0
jne 0x101d6561
jmp 0x101d67cd
push dword [ebp - 0x20]
push 0x106
push edi
call fcn.101ba360
add esp, 0xc
jmp 0x101d656c
mov esi, 0xff
mov ecx, dword [ebp + 0xc]
and ecx, esi
mov dword [ebp - 0x14], ecx
xor ecx, 0x811c9dc5
imul ecx, ecx, 0x1000193
and edx, esi
xor ecx, edx
imul ecx, ecx, 0x1000193
and esi, eax
mov dword [ebp - 0x28], esi
xor ecx, esi
imul ecx, ecx, 0x1000193
xor ecx, ebx
mov esi, dword [ebp + 0xc]
imul eax, ecx, 0x1000193
mov ecx, dword [ebp - 0x18]
and eax, dword [ecx + 0x4c]
mov ebx, dword [ecx + 0x38]
mov dword [ebp - 0x30], ebx
mov ecx, dword [ecx + 0x40]
lea ebx, [eax + eax]
mov dword [ebp - 0x1c], ecx
mov dword [ebp - 0x24], ebx
mov ecx, dword [ecx + ebx*4 + 4]
cmp ecx, dword [ebp - 0x30]
je 0x101d668b
and esi, 0xff000000
mov ebx, dword [ebp - 0x28]
shl ebx, 0x10
or ebx, esi
shl edx, 8
or edx, ebx
add edx, dword [ebp - 0x14]
cmp edx, dword [ecx + 8]
mov bl, byte [ebp - 0xe]
jne 0x101d66a6
mov bh, byte [ebp - 0xd]
mov eax, dword [ebp - 0x18]
jmp 0x101d66c7
cmp byte [edi + 0x14c0], 0
mov bl, byte [ebp - 0xe]
jne 0x101d6561
add eax, eax
inc eax
mov esi, dword [ebp - 0x1c]
jmp 0x101d677c
mov esi, dword [ebp - 0x1c]
mov dword [ebp - 0x14], edx
mov edx, dword [ebp - 0x24]
mov esi, dword [esi + edx*4]
mov edx, dword [ebp - 0x14]
mov bh, byte [ebp - 0xd]
mov eax, dword [ebp - 0x18]
cmp ecx, esi
je 0x101d66db
mov ecx, dword [ecx + 4]
cmp edx, dword [ecx + 8]
jne 0x101d66bb
cmp ecx, dword [ebp - 0x30]
je 0x101d66db
mov ecx, dword [ecx + 0xc]
test ecx, ecx
je 0x101d66db
movzx edx, byte [ecx + 0x6c]
cmp dl, bh
jne 0x101d6702
cmp byte [edi + 0x14c0], 0
mov esi, dword [ebp + 0xc]
jne 0x101d6561
cmp dword [ebp - 0x40], esi
jbe 0x101d671a
mov ecx, dword [eax + 0x30]
cmp dword [ecx + esi*4], 0xffffffff
jne 0x101d6561
jmp 0x101d67cd
cmp dword [ecx + 0x138], 0x10
jb 0x101d67ee
mov ecx, dword [ecx + 0x124]
jmp 0x101d67f4
mov ecx, 0xff
mov edx, esi
and edx, ecx
mov eax, dword [ebp - 0x2c]
and eax, ecx
mov dword [ebp - 0x2c], eax
mov esi, dword [ebp - 0x3c]
and esi, ecx
mov dword [ebp - 0x14], edx
mov ecx, edx
xor ecx, 0x811c9dc5
imul ecx, ecx, 0x1000193
xor ecx, eax
imul ecx, ecx, 0x1000193
xor ecx, esi
imul ecx, ecx, 0x1000193
xor ecx, dword [ebp - 0x38]
imul edx, ecx, 0x1000193
mov eax, dword [ebp - 0x18]
and edx, dword [eax + 0x4c]
mov ecx, dword [eax + 0x38]
mov eax, dword [eax + 0x40]
mov dword [ebp - 0x1c], eax
lea eax, [edx + edx]
mov dword [ebp - 0x24], eax
lea eax, [edx + edx]
inc eax
mov dword [ebp - 0x28], esi
mov esi, dword [ebp - 0x1c]
mov edx, dword [ebp - 0x2c]
mov dword [ebp - 0x1c], esi
mov esi, dword [esi + eax*4]
cmp esi, ecx
mov eax, dword [ebp + 0xc]
je 0x101d67cd
and eax, 0xff000000
mov dword [ebp - 0x18], eax
mov eax, dword [ebp - 0x28]
shl eax, 0x10
add eax, dword [ebp - 0x18]
shl edx, 8
or edx, eax
add edx, dword [ebp - 0x14]
cmp edx, dword [esi + 8]
je 0x101d67c2
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x14], edx
mov edx, dword [ebp - 0x24]
mov edx, dword [eax + edx*4]
mov eax, dword [ebp - 0x14]
cmp esi, edx
je 0x101d67cd
mov esi, dword [esi + 4]
cmp eax, dword [esi + 8]
jne 0x101d67b6
cmp esi, ecx
mov esi, dword [ebp + 0xc]
jne 0x101d6561
add edi, 0x1d04
mov ecx, edi
push str.Object_cannot_be_used_because_it_has_not_been_generated.
push 0x502
push 0x106
call fcn.1001a2a0
jmp 0x101d656c
add ecx, 0x124
push ecx
push edx
push dword [ebp - 0x20]
push str.Textarget_must_match_the_texture_target_type._Requested:__d_Textures:__d_label:__s
push 0x502
push 0x106
push edi
call fcn.1001a3e0
add esp, 0x1c
jmp 0x101d656c