Function at 0x101061b0
Capabilities:
Hash data using fnv

Disassembly:
sub esp, 0x60
vxorps xmm0, xmm0, xmm0
push ebx
mov ebx, dword [esp + 0x68]
push ebp
push esi
push edi
vmovss dword [ebx], xmm0
push 0x10
mov ebp, ecx
mov dword [ebx + 4], 0
mov dword [ebx + 8], 0
call fcn.1017d6f1
vmovss xmm0, dword [0x10228684]
add esp, 4
mov dword [eax], eax
mov dword [eax + 4], eax
mov dword [ebx + 4], eax
mov dword [ebx + 0xc], 0
mov dword [ebx + 0x10], 0
mov dword [ebx + 0x14], 0
mov dword [ebx + 0x18], 7
mov dword [ebx + 0x1c], 8
vmovss dword [ebx], xmm0
mov ecx, dword [ebx + 0x10]
mov eax, ecx
mov edi, dword [ebx + 4]
sar eax, 2
cmp eax, 0x10
jae 0x1010628b
push 0x40
call fcn.1017d6f1
mov ecx, dword [ebx + 0x14]
mov esi, eax
mov eax, dword [ebx + 0xc]
add esp, 4
sub ecx, eax
sar ecx, 2
test ecx, ecx
je 0x1010626a
shl ecx, 2
cmp ecx, 0x1000
jb 0x10106260
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10106811
mov eax, edx
push ecx
push eax
call fcn.1017d3f8
add esp, 8
lea eax, [esi + 0x40]
mov dword [ebx + 0xc], esi
mov dword [ebx + 0x10], eax
mov dword [ebx + 0x14], eax
cmp esi, eax
je 0x1010629b
nop word [eax + eax]
mov dword [esi], edi
add esi, 4
cmp esi, eax
jne 0x10106280
jmp 0x1010629b
add ecx, 3
shr ecx, 2
test ecx, ecx
je 0x1010629b
mov eax, edi
xor edi, edi
rep stosd dword es:[edi], eax
mov edi, dword [ebp + 4]
mov dword [esp + 0x74], 0
mov dword [esp + 0x18], edi
mov esi, dword [edi]
cmp esi, edi
je 0x101067fb
mov edx, dword [esi + 0xc]
add edx, 8
mov eax, edx
shr eax, 8
movzx ecx, al
movzx eax, dl
xor eax, 0x811c9dc5
imul eax, eax, 0x1000193
xor ecx, eax
mov eax, edx
shr eax, 0x10
imul ecx, ecx, 0x1000193
movzx eax, al
shr edx, 0x18
xor ecx, eax
imul eax, ecx, 0x1000193
mov ecx, ebx
xor eax, edx
imul ebp, eax, 0x1000193
lea eax, [esi + 0xc]
push ebp
push eax
lea eax, [esp + 0x58]
push eax
call fcn.100edcf0
mov eax, dword [eax + 4]
mov dword [esp + 0x1c], eax
test eax, eax
je 0x101064d9
cmp eax, dword [ebx + 4]
je 0x101064d9
mov edx, dword [esi + 8]
lea ebp, [esi + 8]
add edx, 8
mov eax, edx
shr eax, 8
movzx ecx, al
movzx eax, dl
xor eax, 0x811c9dc5
imul eax, eax, 0x1000193
xor ecx, eax
mov eax, edx
shr eax, 0x10
imul ecx, ecx, 0x1000193
movzx eax, al
shr edx, 0x18
xor ecx, eax
imul eax, ecx, 0x1000193
mov ecx, ebx
xor eax, edx
imul eax, eax, 0x1000193
push eax
mov dword [esp + 0x18], eax
lea eax, [esp + 0x3c]
push ebp
push eax
call fcn.100edcf0
cmp dword [esp + 0x3c], 0
jne 0x101067f1
cmp dword [ebx + 8], 0xfffffff
je 0x10106807
push 0x10
call fcn.1017d6f1
mov ebp, eax
add esp, 4
mov eax, dword [esi + 8]
vxorps xmm0, xmm0, xmm0
mov dword [ebp + 8], eax
mov eax, dword [esp + 0x1c]
mov eax, dword [eax + 0xc]
mov dword [ebp + 0xc], eax
mov eax, dword [ebx + 8]
mov ecx, dword [ebx + 0x1c]
inc eax
vmovss xmm1, dword [ebx]
vcvtsi2sd xmm0, xmm0, eax
shr eax, 0x1f
mov dword [esp + 0x20], ecx
vaddsd xmm0, xmm0, qword [eax*8 + 0x10229440]
vcvtsd2ss xmm2, xmm0, xmm0
vxorps xmm0, xmm0, xmm0
mov eax, ecx
shr eax, 0x1f
vcvtsi2sd xmm0, xmm0, ecx
vaddsd xmm0, xmm0, qword [eax*8 + 0x10229440]
vcvtsd2ss xmm0, xmm0, xmm0
vdivss xmm0, xmm2, xmm0
vcomiss xmm0, xmm1
jbe 0x10106478
vdivss xmm0, xmm2, xmm1
vmovss dword [esp + 0x1c], xmm0
fld dword [esp + 0x1c]
fstp qword [esp + 0x30]
vxorpd xmm0, xmm0, xmm0
vroundsd xmm0, xmm0, qword [esp + 0x30], 2
vmovsd qword [esp + 0x30], xmm0
fld qword [esp + 0x30]
fstp dword [esp + 0x1c]
vmovss xmm0, dword [esp + 0x1c]
call fcn.101a4a40
mov ecx, 8
cmp eax, ecx
cmova ecx, eax
mov eax, dword [esp + 0x20]
cmp eax, ecx
jae 0x1010644c
cmp eax, 0x200
jae 0x1010644a
shl eax, 3
cmp eax, ecx
jae 0x1010644c
mov eax, ecx
push eax
mov ecx, ebx
call fcn.10100a20
mov edi, dword [esp + 0x14]
lea eax, [ebp + 8]
push edi
push eax
lea eax, [esp + 0x60]
mov ecx, ebx
push eax
call fcn.100edcf0
mov edx, dword [eax]
mov eax, dword [eax + 4]
mov dword [esp + 0x38], edx
mov dword [esp + 0x3c], eax
jmp 0x10106480
mov edx, dword [esp + 0x38]
mov edi, dword [esp + 0x14]
mov eax, dword [edx + 4]
inc dword [ebx + 8]
mov dword [ebp + 4], eax
mov dword [ebp], edx
mov dword [eax], ebp
mov dword [edx + 4], ebp
mov ecx, dword [ebx + 0xc]
mov dword [esp + 0x20], eax
mov eax, dword [ebx + 0x18]
and eax, edi
mov edi, dword [ecx + eax*8]
cmp edi, dword [ebx + 4]
mov edi, dword [esp + 0x18]
jne 0x101064b5
mov dword [ecx + eax*8], ebp
mov dword [ecx + eax*8 + 4], ebp
jmp 0x101067f1
cmp dword [ecx + eax*8], edx
jne 0x101064c2
mov dword [ecx + eax*8], ebp
jmp 0x101067f1
mov edx, dword [esp + 0x20]
cmp dword [ecx + eax*8 + 4], edx
jne 0x101067f1
mov dword [ecx + eax*8 + 4], ebp
jmp 0x101067f1
inc dword [esp + 0x74]
lea eax, [esi + 0xc]
push ebp
push eax
lea eax, [esp + 0x48]
mov ecx, ebx
push eax
call fcn.100edcf0
cmp dword [esp + 0x44], 0
jne 0x1010663b
cmp dword [ebx + 8], 0xfffffff
je 0x10106807
push 0x10
call fcn.1017d6f1
mov edx, eax
add esp, 4
mov eax, dword [esi + 0xc]
lea edi, [edx + 8]
mov dword [edi], eax
mov eax, dword [esp + 0x74]
mov dword [edi + 4], eax
mov ecx, dword [ebx + 8]
mov eax, dword [ebx + 0x1c]
inc ecx
vmovss xmm1, dword [ebx]
vxorps xmm0, xmm0, xmm0
vcvtsi2sd xmm0, xmm0, ecx
shr ecx, 0x1f
mov dword [esp + 0x1c], eax
mov dword [esp + 0x14], edx
vaddsd xmm0, xmm0, qword [ecx*8 + 0x10229440]
vcvtsd2ss xmm2, xmm0, xmm0
vxorps xmm0, xmm0, xmm0
vcvtsi2sd xmm0, xmm0, eax
shr eax, 0x1f
vaddsd xmm0, xmm0, qword [eax*8 + 0x10229440]
vcvtsd2ss xmm0, xmm0, xmm0
vdivss xmm0, xmm2, xmm0
vcomiss xmm0, xmm1
jbe 0x101065f4
vdivss xmm0, xmm2, xmm1
vmovss dword [esp + 0x20], xmm0
fld dword [esp + 0x20]
fstp qword [esp + 0x30]
vxorpd xmm0, xmm0, xmm0
vroundsd xmm0, xmm0, qword [esp + 0x30], 2
vmovsd qword [esp + 0x30], xmm0
fld qword [esp + 0x30]
fstp dword [esp + 0x20]
vmovss xmm0, dword [esp + 0x20]
call fcn.101a4a40
mov ecx, 8
cmp eax, ecx
cmova ecx, eax
mov eax, dword [esp + 0x1c]
cmp eax, ecx
jae 0x101065cb
cmp eax, 0x200
jae 0x101065c9
shl eax, 3
cmp eax, ecx
jae 0x101065cb
mov eax, ecx
push eax
mov ecx, ebx
call fcn.10100a20
push ebp
push edi
lea eax, [esp + 0x68]
mov ecx, ebx
push eax
call fcn.100edcf0
mov edx, dword [esp + 0x14]
mov ecx, dword [eax]
mov eax, dword [eax + 4]
mov dword [esp + 0x40], ecx
mov dword [esp + 0x44], eax
jmp 0x101065f8
mov ecx, dword [esp + 0x40]
mov eax, dword [ecx + 4]
inc dword [ebx + 8]
mov dword [edx], ecx
mov dword [edx + 4], eax
mov dword [eax], edx
mov dword [ecx + 4], edx
and ebp, dword [ebx + 0x18]
mov dword [esp + 0x20], eax
mov eax, dword [ebx + 0xc]
mov edi, dword [eax + ebp*8]
cmp edi, dword [ebx + 4]
mov edi, dword [esp + 0x18]
jne 0x10106623
mov dword [eax + ebp*8], edx
jmp 0x10106637
cmp dword [eax + ebp*8], ecx
jne 0x1010662d
mov dword [eax + ebp*8], edx
jmp 0x1010663b
mov ecx, dword [esp + 0x20]
cmp dword [eax + ebp*8 + 4], ecx
jne 0x1010663b
mov dword [eax + ebp*8 + 4], edx
mov edx, dword [esi + 8]
lea ebp, [esi + 8]
add edx, 8
mov eax, edx
shr eax, 8
movzx ecx, al
movzx eax, dl
xor eax, 0x811c9dc5
imul eax, eax, 0x1000193
xor ecx, eax
mov eax, edx
shr eax, 0x10
imul ecx, ecx, 0x1000193
movzx eax, al
shr edx, 0x18
xor ecx, eax
imul eax, ecx, 0x1000193
mov ecx, ebx
xor eax, edx
imul eax, eax, 0x1000193
push eax
mov dword [esp + 0x18], eax
lea eax, [esp + 0x4c]
push ebp
push eax
call fcn.100edcf0
cmp dword [esp + 0x4c], 0
jne 0x101067f1
cmp dword [ebx + 8], 0xfffffff
lea ebp, [ebx + 8]
je 0x10106807
push 0x10
call fcn.1017d6f1
mov edx, eax
add esp, 4
mov eax, dword [esi + 8]
lea ecx, [edx + 8]
mov dword [ecx], eax
mov eax, dword [esp + 0x74]
mov dword [ecx + 4], eax
mov eax, dword [ebx + 0x1c]
vmovss xmm1, dword [ebx]
vxorps xmm0, xmm0, xmm0
mov dword [esp + 0x2c], ecx
mov ecx, dword [ebp]
inc ecx
mov dword [esp + 0x1c], eax
vcvtsi2sd xmm0, xmm0, ecx
shr ecx, 0x1f
mov dword [esp + 0x30], edx
vaddsd xmm0, xmm0, qword [ecx*8 + 0x10229440]
vcvtsd2ss xmm2, xmm0, xmm0
vxorps xmm0, xmm0, xmm0
vcvtsi2sd xmm0, xmm0, eax
shr eax, 0x1f
vaddsd xmm0, xmm0, qword [eax*8 + 0x10229440]
vcvtsd2ss xmm0, xmm0, xmm0
vdivss xmm0, xmm2, xmm0
vcomiss xmm0, xmm1
jbe 0x101067a5
vdivss xmm0, xmm2, xmm1
vmovss dword [esp + 0x20], xmm0
fld dword [esp + 0x20]
fstp qword [esp + 0x20]
vxorpd xmm0, xmm0, xmm0
vroundsd xmm0, xmm0, qword [esp + 0x20], 2
vmovsd qword [esp + 0x20], xmm0
fld qword [esp + 0x20]
fstp dword [esp + 0x20]
vmovss xmm0, dword [esp + 0x20]
call fcn.101a4a40
mov ecx, 8
cmp eax, ecx
cmova ecx, eax
mov eax, dword [esp + 0x1c]
cmp eax, ecx
jae 0x10106776
cmp eax, 0x200
jae 0x10106774
shl eax, 3
lea ebp, [ebx + 8]
cmp eax, ecx
jae 0x10106776
mov eax, ecx
push eax
mov ecx, ebx
call fcn.10100a20
push dword [esp + 0x14]
lea eax, [esp + 0x6c]
mov ecx, ebx
push dword [esp + 0x30]
push eax
call fcn.100edcf0
mov edx, dword [esp + 0x30]
mov ecx, dword [eax]
mov eax, dword [eax + 4]
mov dword [esp + 0x48], ecx
mov dword [esp + 0x4c], eax
jmp 0x101067a9
mov ecx, dword [esp + 0x48]
mov eax, dword [ecx + 4]
inc dword [ebp]
mov dword [edx + 4], eax
mov dword [edx], ecx
mov dword [eax], edx
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0x14]
mov dword [ecx + 4], edx
and eax, dword [ebx + 0x18]
mov dword [esp + 0x1c], ecx
mov ecx, dword [ebx + 0xc]
mov ebp, dword [ecx + eax*8]
cmp ebp, dword [ebx + 4]
jne 0x101067d8
mov dword [ecx + eax*8], edx
jmp 0x101067ed
cmp ebp, dword [esp + 0x1c]
jne 0x101067e3
mov dword [ecx + eax*8], edx
jmp 0x101067f1
mov ebp, dword [esp + 0x30]
cmp dword [ecx + eax*8 + 4], ebp
jne 0x101067f1
mov dword [ecx + eax*8 + 4], edx
mov esi, dword [esi]
cmp esi, edi
jne 0x101062b4
pop edi
pop esi
pop ebp
mov eax, ebx
pop ebx
add esp, 0x60
ret 4
push str.unordered_map_set_too_long
call fcn.1017aed4
call fcn.101829ea
int3