Function at 0x100bafd0
Capabilities:
Hash data using fnv

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x102f09cd
mov eax, dword fs:[0]
push eax
sub esp, 0x3c
mov eax, dword [0x103b7200]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov ebx, ecx
lea esi, [ebx + 0x1a4]
mov dword [ebp - 4], 1
push esi
call fcn.102b04a7
add esp, 4
test eax, eax
jne 0x100bb348
mov eax, dword [esi + 0x2c]
cmp eax, 0x7fffffff
je 0x100bb34f
push esi
mov dword [ebx + 0x1d4], 0x1f
call fcn.102b04cc
xorps xmm0, xmm0
mov dword [ebp - 0x14], 0
movq qword [ebp - 0x1c], xmm0
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x18], 0
mov dword [ebp - 0x14], 0
lea edi, [ebx + 0x88]
mov byte [ebp - 4], 2
push edi
mov dword [ebp - 0x48], edi
call fcn.102b04a7
add esp, 8
test eax, eax
jne 0x100bb348
mov eax, dword [edi + 0x2c]
cmp eax, 0x7fffffff
jne 0x100bb08e
dec eax
mov dword [edi + 0x2c], eax
jmp 0x100bb35e
mov byte [ebp - 4], 3
mov edx, dword [ebp + 0x10]
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
lea ecx, [ebx + 0xb8]
xor eax, edx
imul eax, eax, 0x1000193
push eax
lea eax, [ebp + 0x10]
push eax
lea eax, [ebp - 0x24]
push eax
call fcn.100beb90
cmp dword [eax + 4], 0
je 0x100bb23e
lea eax, [ebp + 0x10]
push eax
lea ecx, [ebx + 0xb8]
call fcn.100bc280
mov ecx, dword [eax]
cmp ecx, dword [eax + 4]
je 0x100bb23e
lea eax, [ebp + 0x10]
push eax
lea ecx, [ebx + 0xb8]
call fcn.100bc280
push eax
lea ecx, [ebp - 0x1c]
call fcn.100bc680
lea eax, [ebp + 0x10]
push eax
lea ecx, [ebx + 0xb8]
call fcn.100bc2a0
push edi
mov byte [ebp - 4], 2
call fcn.102b04cc
push esi
call fcn.102b04a7
add esp, 8
test eax, eax
jne 0x100bb348
mov eax, dword [esi + 0x2c]
cmp eax, 0x7fffffff
je 0x100bb35a
push esi
mov dword [ebx + 0x1d4], 0x20
call fcn.102b04cc
mov ecx, dword [ebp + 0xc]
add esp, 4
mov edi, dword [ebp + 0x10]
mov dword [ebp - 0x44], ebx
mov dword [ebp - 0x40], 0
mov dword [ebp - 0x3c], 0
test ecx, ecx
je 0x100bb18b
lock inc dword [ecx + 4]
mov ecx, dword [ebp + 0xc]
mov eax, dword [ebp + 8]
mov dword [ebp - 0x40], eax
mov dword [ebp - 0x3c], ecx
mov ecx, dword [ebp + 0x14]
mov dword [ebp - 0x38], 0
mov dword [ebp - 0x34], 0
test ecx, ecx
je 0x100bb1b0
lock inc dword [ecx + 4]
mov ecx, dword [ebp + 0x14]
mov eax, dword [ebp + 0x10]
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x34], ecx
lea eax, [ebp - 0x1c]
mov byte [ebp - 4], 5
push eax
lea ecx, [ebp - 0x30]
call fcn.100bc7b0
mov byte [ebp - 4], 6
mov eax, 0
mov ecx, dword [ebp - 0x18]
mov esi, dword [ebp - 0x1c]
sub ecx, esi
mov dword [ebp - 0x20], ecx
mov ecx, dword [edi]
cmovne eax, esi
mov dword [ebp - 0x24], eax
add ecx, 0x14
lea eax, [edi + 0x44]
push eax
lea eax, [ebp - 0x44]
push eax
push 0
lea eax, [ebp - 0x24]
push eax
lea eax, [edi + 4]
push eax
call fcn.100c0940
lea ecx, [ebp - 0x44]
call fcn.100baf20
test esi, esi
je 0x100bb2dc
mov ecx, dword [ebp - 0x14]
mov eax, esi
sub ecx, esi
cmp ecx, 0x1000
jb 0x100bb232
mov esi, dword [eax - 4]
add ecx, 0x23
sub eax, esi
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100bb365
push ecx
push esi
call fcn.102b1d4e
jmp 0x100bb2d9
lea eax, [ebp + 0x10]
lea ecx, [ebx + 0x48]
push eax
call fcn.100bc370
sub esp, 8
mov ecx, esp
mov byte [eax], 1
mov dword [ecx], 0
mov dword [ecx + 4], 0
mov eax, dword [ebp + 0xc]
test eax, eax
je 0x100bb26a
lock inc dword [eax + 4]
mov eax, dword [ebp + 8]
sub esp, 8
mov dword [ecx], eax
mov eax, dword [ebp + 0xc]
mov dword [ecx + 4], eax
mov ecx, esp
mov dword [ecx], 0
mov dword [ecx + 4], 0
mov eax, dword [ebp + 0x14]
test eax, eax
je 0x100bb292
lock inc dword [eax + 4]
mov eax, dword [ebp + 0x10]
mov dword [ecx], eax
mov eax, dword [ebp + 0x14]
mov dword [ecx + 4], eax
mov ecx, ebx
call fcn.100b58b0
push esi
call fcn.102b04a7
add esp, 4
test eax, eax
jne 0x100bb36a
mov eax, dword [esi + 0x2c]
cmp eax, 0x7fffffff
je 0x100bb371
push esi
mov dword [ebx + 0x1d4], 0
call fcn.102b04cc
push edi
call fcn.102b04cc
add esp, 8
mov esi, dword [ebp + 0xc]
or edi, 0xffffffff
test esi, esi
je 0x100bb305
mov eax, edi
lock xadd dword [esi + 4], eax
jne 0x100bb305
mov eax, dword [esi]
mov ecx, esi
call dword [eax]
mov eax, edi
lock xadd dword [esi + 8], eax
jne 0x100bb305
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 4]
mov esi, dword [ebp + 0x14]
test esi, esi
je 0x100bb32a
mov eax, edi
lock xadd dword [esi + 4], eax
jne 0x100bb32a
mov eax, dword [esi]
mov ecx, esi
call dword [eax]
lock xadd dword [esi + 8], edi
dec edi
jne 0x100bb32a
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 4]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.102b1cf8
mov esp, ebp
pop ebp
ret 0x10
push 5
call fcn.102afcd5
dec eax
push 6
mov dword [esi + 0x2c], eax
call fcn.102afcd5
dec eax
mov dword [esi + 0x2c], eax
push 6
call fcn.102afcd5
call fcn.102be7ef
push 5
call fcn.102afcd5
dec eax
push 6
mov dword [esi + 0x2c], eax
call fcn.102afcd5
int3