Function at 0x1019d200
Capabilities:
Hash data using fnv

Disassembly:
push ebp
mov ebp, esp
mov eax, dword [0x103280d8]
sub esp, 0xcc
push ebx
push esi
push edi
mov edi, dword [eax + 0x10]
mov ebx, ecx
mov ecx, dword [eax + 0x1c]
mov edx, dword [edi]
mov eax, dword [ecx]
mov esi, dword [edx + 0xc]
call dword [eax + 0x30]
push eax
mov ecx, edi
call esi
test eax, eax
je 0x1019d762
mov eax, dword [0x103280d8]
mov edi, dword [eax + 0x10]
mov ecx, dword [eax + 0x1c]
mov edx, dword [edi]
mov eax, dword [ecx]
mov esi, dword [edx + 0xc]
call dword [eax + 0x30]
push eax
mov ecx, edi
call esi
mov ecx, eax
call fcn.100035b0
mov esi, dword [0x103280c8]
mov dword [ebp - 0x24], esi
mov edx, dword [esi + 0x10]
mov eax, dword [esi + 0x14]
add eax, edx
mov dword [ebp - 0x14], edx
mov dword [ebp - 0x20], eax
cmp edx, eax
je 0x1019d762
mov eax, dword [esi + 0xc]
mov ecx, edx
dec eax
shr ecx, 1
and ecx, eax
and edx, 1
mov eax, dword [esi + 8]
mov dword [ebp - 0x10], edx
mov eax, dword [eax + ecx*4]
mov dword [ebp - 8], eax
mov eax, dword [eax + edx*8]
mov al, byte [eax + 0xc]
movsx ecx, al
movzx eax, al
xor eax, 0x811c9dc5
mov dword [ebp - 0xc], ecx
imul eax, eax, 0x1000193
shr ecx, 0x18
xor eax, ecx
imul eax, eax, 0x1000193
xor eax, ecx
imul eax, eax, 0x1000193
xor eax, ecx
mov ecx, ebx
imul edi, eax, 0x1000193
lea eax, [ebp - 0xc]
push edi
push eax
lea eax, [ebp - 0x1c]
push eax
call fcn.10058de0
mov esi, dword [ebp - 0x18]
test esi, esi
jne 0x1019d382
cmp dword [ebx + 8], 0xccccccc
je 0x1019d769
push 0x14
call fcn.100bbd3c
mov ecx, dword [ebp - 0xc]
xorps xmm0, xmm0
mov dword [eax + 8], ecx
add esp, 4
movq qword [eax + 0xc], xmm0
lea esi, [eax + 8]
mov dword [ebp - 4], eax
mov dword [esi + 8], 0
mov eax, dword [ebx + 8]
inc eax
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x102cd8f0]
mov eax, dword [ebx + 0x1c]
cvtpd2ps xmm1, xmm0
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x102cd8f0]
cvtpd2ps xmm0, xmm0
divss xmm1, xmm0
comiss xmm1, dword [ebx]
seta al
test al, al
je 0x1019d371
mov ecx, ebx
call fcn.10057330
push edi
push esi
lea eax, [ebp - 0x3c]
mov ecx, ebx
push eax
call fcn.10058de0
mov ecx, dword [eax]
mov eax, dword [eax + 4]
mov dword [ebp - 0x1c], ecx
mov dword [ebp - 0x18], eax
jmp 0x1019d374
mov ecx, dword [ebp - 0x1c]
push dword [ebp - 4]
push ecx
push edi
mov ecx, ebx
call fcn.10057420
mov esi, eax
cmp dword [esi + 0xc], 0
je 0x1019d74f
mov ecx, dword [0x103280d8]
mov edi, dword [ebp - 0x10]
mov ecx, dword [ecx + 0x10]
mov eax, dword [ecx]
mov edx, dword [eax + 0xc]
mov eax, dword [ebp - 8]
mov eax, dword [eax + edi*8]
movsx eax, byte [eax + 0xc]
push eax
call edx
mov ecx, dword [esi + 0xc]
mov dword [ecx + 4], eax
mov ecx, dword [esi + 0xc]
cmp dword [ecx + 4], 0
je 0x1019d74f
mov eax, dword [ebp - 8]
mov eax, dword [eax + edi*8]
cmp byte [eax], 0
jne 0x1019d74f
cmp byte [eax + 1], 0
je 0x1019d74f
mov al, byte [eax + 2]
mov byte [ecx + 0xb0], al
mov ecx, dword [esi + 0xc]
mov ecx, dword [ecx + 4]
call fcn.100035b0
mov ecx, dword [eax]
mov eax, dword [esi + 0xc]
mov dword [eax + 0xac], ecx
mov eax, dword [0x103280dc]
mov ecx, dword [eax + 0x1c]
mov ecx, dword [ecx + 0x8d8]
call fcn.1015c700
sub esp, 8
mov ecx, esp
mov dword [ecx], 0
mov dword [ecx + 4], 0
mov eax, dword [esi + 0x10]
test eax, eax
je 0x1019d425
lock inc dword [eax + 4]
mov eax, dword [esi + 0xc]
mov dword [ecx], eax
mov eax, dword [esi + 0x10]
mov dword [ecx + 4], eax
call fcn.1019c3c0
mov eax, dword [esi + 0x10]
test eax, eax
je 0x1019d440
lock inc dword [eax + 4]
mov edi, dword [esi + 0x10]
sub esp, 8
mov edx, dword [esi + 0xc]
mov ecx, esp
lea eax, [edi + 4]
mov dword [ecx], 0
mov dword [ecx + 4], 0
mov dword [ebp - 4], eax
test edi, edi
je 0x1019d467
lock inc dword [eax]
jmp 0x1019d46a
mov dword [ebp - 4], eax
lea eax, [ebp - 0x28]
mov dword [ecx], edx
push eax
lea eax, [ebp - 0x2c]
mov dword [ecx + 4], edi
push eax
lea eax, [ebp - 0x30]
push eax
lea eax, [ebp - 0x34]
push eax
call fcn.1019a4f0
test edi, edi
je 0x1019d4ab
mov ecx, dword [ebp - 4]
or eax, 0xffffffff
lock xadd dword [ecx], eax
jne 0x1019d4ab
mov eax, dword [edi]
mov ecx, edi
call dword [eax]
or eax, 0xffffffff
lock xadd dword [edi + 8], eax
jne 0x1019d4ab
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 4]
mov ecx, dword [esi + 0xc]
mov eax, dword [0x103280cc]
cmp byte [ecx + 0xb1], 0
je 0x1019d50a
mov eax, dword [eax + 0xc]
cmp byte [eax + 2], 0
je 0x1019d743
cmp byte [ecx + 0xb0], 0
jne 0x1019d743
sub esp, 8
mov ecx, esp
mov dword [ecx], 0
mov dword [ecx + 4], 0
mov eax, dword [esi + 0x10]
test eax, eax
je 0x1019d4f3
lock inc dword [eax + 4]
mov eax, dword [esi + 0xc]
mov dword [ecx], eax
mov eax, dword [esi + 0x10]
mov dword [ecx + 4], eax
mov ecx, ebx
call fcn.10198f80
jmp 0x1019d743
movzx edx, byte [ecx + 0xb0]
mov ecx, dword [eax + 0xc]
cmp byte [edx + ecx + 0x58], 0
je 0x1019d54f
sub esp, 8
mov ecx, esp
mov dword [ecx], 0
mov dword [ecx + 4], 0
mov eax, dword [esi + 0x10]
test eax, eax
je 0x1019d538
lock inc dword [eax + 4]
mov eax, dword [esi + 0xc]
mov dword [ecx], eax
mov eax, dword [esi + 0x10]
mov dword [ecx + 4], eax
mov ecx, ebx
call fcn.1019bac0
mov eax, dword [0x103280cc]
mov ecx, dword [esi + 0xc]
movzx edx, byte [ecx + 0xb0]
mov ecx, dword [eax + 0xc]
cmp byte [edx + ecx + 0x5a], 0
je 0x1019d597
sub esp, 8
mov ecx, esp
mov dword [ecx], 0
mov dword [ecx + 4], 0
mov eax, dword [esi + 0x10]
test eax, eax
je 0x1019d580
lock inc dword [eax + 4]
mov eax, dword [esi + 0xc]
mov dword [ecx], eax
mov eax, dword [esi + 0x10]
mov dword [ecx + 4], eax
mov ecx, ebx
call fcn.1019b330
mov eax, dword [0x103280cc]
mov ecx, dword [esi + 0xc]
movzx edx, byte [ecx + 0xb0]
mov ecx, dword [eax + 0xc]
cmp byte [edx + ecx + 0x64], 0
je 0x1019d5df
sub esp, 8
mov ecx, esp
mov dword [ecx], 0
mov dword [ecx + 4], 0
mov eax, dword [esi + 0x10]
test eax, eax
je 0x1019d5c8
lock inc dword [eax + 4]
mov eax, dword [esi + 0xc]
mov dword [ecx], eax
mov eax, dword [esi + 0x10]
mov dword [ecx + 4], eax
mov ecx, ebx
call fcn.1019b170
mov eax, dword [0x103280cc]
mov ecx, dword [esi + 0xc]
movzx edx, byte [ecx + 0xb0]
mov ecx, dword [eax + 0xc]
cmp byte [edx + ecx + 0x62], 0
je 0x1019d670
mov eax, dword [0x103280d8]
mov edi, dword [ebp - 8]
mov ecx, dword [eax + 0x1c]
lea eax, [ebp - 0xc8]
push eax
mov eax, dword [ebp - 0x10]
mov edx, dword [ecx]
mov eax, dword [edi + eax*8]
movsx eax, byte [eax + 0xc]
push eax
call dword [edx + 0x20]
lea ecx, [ebp - 0xc8]
lea edx, [ecx + 1]
nop
mov al, byte [ecx]
inc ecx
test al, al
jne 0x1019d620
sub ecx, edx
lea eax, [ebp - 0xc8]
push ecx
mov ecx, dword [esi + 0xc]
push eax
add ecx, 0xc
call fcn.10033080
sub esp, 8
mov ecx, esp
mov dword [ecx], 0
mov dword [ecx + 4], 0
mov eax, dword [esi + 0x10]
test eax, eax
je 0x1019d659
lock inc dword [eax + 4]
mov eax, dword [esi + 0xc]
mov dword [ecx], eax
mov eax, dword [esi + 0x10]
mov dword [ecx + 4], eax
mov ecx, ebx
call fcn.1019af20
mov eax, dword [0x103280cc]
mov ecx, dword [esi + 0xc]
movzx edx, byte [ecx + 0xb0]
mov ecx, dword [eax + 0xc]
cmp byte [edx + ecx + 0x5c], 0
je 0x1019d6b8
sub esp, 8
mov ecx, esp
mov dword [ecx], 0
mov dword [ecx + 4], 0
mov eax, dword [esi + 0x10]
test eax, eax
je 0x1019d6a1
lock inc dword [eax + 4]
mov eax, dword [esi + 0xc]
mov dword [ecx], eax
mov eax, dword [esi + 0x10]
mov dword [ecx + 4], eax
mov ecx, ebx
call fcn.1019abd0
mov eax, dword [0x103280cc]
mov ecx, dword [esi + 0xc]
movzx edx, byte [ecx + 0xb0]
mov ecx, dword [eax + 0xc]
cmp byte [edx + ecx + 0x5e], 0
je 0x1019d700
sub esp, 8
mov ecx, esp
mov dword [ecx], 0
mov dword [ecx + 4], 0
mov eax, dword [esi + 0x10]
test eax, eax
je 0x1019d6e9
lock inc dword [eax + 4]
mov eax, dword [esi + 0xc]
mov dword [ecx], eax
mov eax, dword [esi + 0x10]
mov dword [ecx + 4], eax
mov ecx, ebx
call fcn.1019a9a0
mov eax, dword [0x103280cc]
mov ecx, dword [esi + 0xc]
mov eax, dword [eax + 0xc]
movzx ecx, byte [ecx + 0xb0]
cmp byte [ecx + eax + 0x60], 0
je 0x1019d743
sub esp, 8
mov ecx, esp
mov dword [ecx], 0
mov dword [ecx + 4], 0
mov eax, dword [esi + 0x10]
test eax, eax
je 0x1019d731
lock inc dword [eax + 4]
mov eax, dword [esi + 0xc]
mov dword [ecx], eax
mov eax, dword [esi + 0x10]
mov dword [ecx + 4], eax
mov ecx, ebx
call fcn.1019a7a0
mov ecx, ebx
call fcn.1019c970
call fcn.1015c870
mov edx, dword [ebp - 0x14]
mov esi, dword [ebp - 0x24]
inc edx
mov dword [ebp - 0x14], edx
cmp edx, dword [ebp - 0x20]
jne 0x1019d270
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
push str.unordered_map_set_too_long
call fcn.100963ad
int3