Function at 0x1007d640
Capabilities:
Hash data using fnv

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x10265a40
mov eax, dword fs:[0]
push eax
sub esp, 0x14
push ebx
push esi
push edi
mov eax, dword [0x1030f644]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov esi, ecx
mov dword [ebp - 0x18], esi
lea eax, [esi + 0x20]
push eax
mov dword [ebp - 0x20], eax
call dword [sym.imp.MSVCP140.dll__Mtx_lock]
mov ebx, dword [sym.imp.MSVCP140.dll_void___cdecl_std::_Throw_C_error_int_]
add esp, 4
test eax, eax
je 0x1007d68d
push eax
call ebx
add esp, 4
mov dword [ebp - 4], 0
mov ecx, dword [ebp + 8]
mov eax, dword [ecx]
call dword [eax + 0x10]
movzx ecx, al
xor ecx, 0x811c9dc5
mov dword [ebp - 0x14], eax
mov edi, dword [ebp - 0x14]
imul edx, ecx, 0x1000193
mov ecx, eax
sar ecx, 8
movzx ecx, cl
xor edx, ecx
mov ecx, eax
imul edx, edx, 0x1000193
sar ecx, 0x10
movzx eax, cl
xor edx, eax
mov eax, edi
imul ecx, edx, 0x1000193
sar eax, 0x18
movzx eax, al
xor ecx, eax
imul eax, ecx, 0x1000193
mov ecx, dword [esi + 0x18]
and ecx, eax
mov eax, dword [esi + 0xc]
mov dword [ebp - 0x1c], eax
mov esi, dword [eax + ecx*8]
add ecx, ecx
lea edx, [ecx*4 + 4]
mov ecx, dword [eax + ecx*4]
mov dword [ebp - 0x14], edx
mov edx, dword [ebp - 0x18]
mov edx, dword [edx + 4]
cmp ecx, edx
jne 0x1007d70c
mov eax, edx
jmp 0x1007d71a
mov ebx, dword [ebp - 0x14]
mov eax, dword [ebx + eax]
mov ebx, dword [sym.imp.MSVCP140.dll_void___cdecl_std::_Throw_C_error_int_]
mov eax, dword [eax]
cmp esi, eax
je 0x1007d866
cmp dword [esi + 8], edi
je 0x1007d72e
mov esi, dword [esi]
mov eax, dword [ebp - 0x1c]
jmp 0x1007d704
cmp esi, edx
je 0x1007d866
mov eax, dword [esi + 0xc]
mov dword [ebp - 0x14], eax
lea edi, [eax + 0x88]
push edi
mov dword [ebp - 0x1c], edi
call dword [sym.imp.MSVCP140.dll__Mtx_lock]
add esp, 4
test eax, eax
je 0x1007d759
push eax
call ebx
add esp, 4
mov byte [ebp - 4], 1
mov edx, dword [ebp - 0x14]
mov al, byte [edx + 0x105]
mov byte [ebp - 0xd], al
test al, al
je 0x1007d78a
lea eax, [edx + 0xd4]
push eax
call dword [sym.imp.MSVCP140.dll__Mtx_lock]
add esp, 4
test eax, eax
je 0x1007d787
push eax
call ebx
add esp, 4
mov edx, dword [ebp - 0x14]
mov ecx, dword [edx + 0x6c]
mov eax, dword [ecx]
cmp eax, ecx
je 0x1007d7b9
mov ebx, dword [ebp + 8]
cmp dword [eax + 0xc], ebx
mov ebx, dword [sym.imp.MSVCP140.dll_void___cdecl_std::_Throw_C_error_int_]
je 0x1007d7a9
mov eax, dword [eax]
cmp eax, ecx
jne 0x1007d793
jmp 0x1007d7b9
push eax
lea eax, [ebp + 8]
push eax
lea ecx, [edx + 0x68]
call fcn.1007c8d0
mov edx, dword [ebp - 0x14]
cmp byte [ebp - 0xd], 0
je 0x1007d7d9
lea eax, [edx + 0xd4]
push eax
call dword [sym.imp.MSVCP140.dll__Mtx_unlock]
add esp, 4
test eax, eax
je 0x1007d7d9
push eax
call ebx
add esp, 4
push edi
mov byte [ebp - 4], 2
call dword [sym.imp.MSVCP140.dll__Mtx_unlock]
add esp, 4
test eax, eax
je 0x1007d7f1
push eax
call ebx
add esp, 4
mov byte [ebp - 4], 0
mov eax, dword [esi + 0xc]
mov dword [ebp + 8], eax
lea edi, [eax + 0x88]
push edi
call dword [sym.imp.MSVCP140.dll__Mtx_lock]
add esp, 4
test eax, eax
je 0x1007d815
push eax
call ebx
add esp, 4
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x70]
mov dword [ebp + 8], eax
push edi
mov byte [ebp - 4], 3
call dword [sym.imp.MSVCP140.dll__Mtx_unlock]
add esp, 4
test eax, eax
je 0x1007d836
push eax
call ebx
add esp, 4
mov byte [ebp - 4], 0
cmp dword [ebp + 8], 0
jne 0x1007d866
mov ecx, dword [esi + 0xc]
call fcn.1007b890
mov ecx, dword [esi + 0xc]
test ecx, ecx
je 0x1007d859
mov eax, dword [ecx + 4]
add ecx, 4
push 1
call dword [eax]
mov ecx, dword [ebp - 0x18]
lea eax, [ebp + 8]
push esi
push eax
call fcn.1007c8d0
mov eax, dword [ebp - 0x18]
add eax, 0x20
mov dword [ebp - 4], 4
push eax
call dword [sym.imp.MSVCP140.dll__Mtx_unlock]
add esp, 4
test eax, eax
je 0x1007d887
push eax
call ebx
add esp, 4
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4