Function at 0x100b0140
Capabilities:
Hash data using fnv

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x102e52cd
mov eax, dword fs:[0]
push eax
sub esp, 0x3c
mov eax, dword [0x103aa200]
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.102a56e7
add esp, 4
test eax, eax
jne 0x100b04b8
mov eax, dword [esi + 0x2c]
cmp eax, 0x7fffffff
je 0x100b04bf
push esi
mov dword [ebx + 0x1d4], 0x1f
call fcn.102a570c
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.102a56e7
add esp, 8
test eax, eax
jne 0x100b04b8
mov eax, dword [edi + 0x2c]
cmp eax, 0x7fffffff
jne 0x100b01fe
dec eax
mov dword [edi + 0x2c], eax
jmp 0x100b04ce
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.100b3cf0
cmp dword [eax + 4], 0
je 0x100b03ae
lea eax, [ebp + 0x10]
push eax
lea ecx, [ebx + 0xb8]
call fcn.100b13e0
mov ecx, dword [eax]
cmp ecx, dword [eax + 4]
je 0x100b03ae
lea eax, [ebp + 0x10]
push eax
lea ecx, [ebx + 0xb8]
call fcn.100b13e0
push eax
lea ecx, [ebp - 0x1c]
call fcn.100b17e0
lea eax, [ebp + 0x10]
push eax
lea ecx, [ebx + 0xb8]
call fcn.100b1400
push edi
mov byte [ebp - 4], 2
call fcn.102a570c
push esi
call fcn.102a56e7
add esp, 8
test eax, eax
jne 0x100b04b8
mov eax, dword [esi + 0x2c]
cmp eax, 0x7fffffff
je 0x100b04ca
push esi
mov dword [ebx + 0x1d4], 0x20
call fcn.102a570c
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 0x100b02fb
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 0x100b0320
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.100b1910
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.100b5aa0
lea ecx, [ebp - 0x44]
call fcn.100b0090
test esi, esi
je 0x100b044c
mov ecx, dword [ebp - 0x14]
mov eax, esi
sub ecx, esi
cmp ecx, 0x1000
jb 0x100b03a2
mov esi, dword [eax - 4]
add ecx, 0x23
sub eax, esi
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100b04d5
push ecx
push esi
call fcn.102a6f8e
jmp 0x100b0449
lea eax, [ebp + 0x10]
lea ecx, [ebx + 0x48]
push eax
call fcn.100b14d0
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 0x100b03da
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 0x100b0402
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.100aac50
push esi
call fcn.102a56e7
add esp, 4
test eax, eax
jne 0x100b04da
mov eax, dword [esi + 0x2c]
cmp eax, 0x7fffffff
je 0x100b04e1
push esi
mov dword [ebx + 0x1d4], 0
call fcn.102a570c
push edi
call fcn.102a570c
add esp, 8
mov esi, dword [ebp + 0xc]
or edi, 0xffffffff
test esi, esi
je 0x100b0475
mov eax, edi
lock xadd dword [esi + 4], eax
jne 0x100b0475
mov eax, dword [esi]
mov ecx, esi
call dword [eax]
mov eax, edi
lock xadd dword [esi + 8], eax
jne 0x100b0475
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 4]
mov esi, dword [ebp + 0x14]
test esi, esi
je 0x100b049a
mov eax, edi
lock xadd dword [esi + 4], eax
jne 0x100b049a
mov eax, dword [esi]
mov ecx, esi
call dword [eax]
lock xadd dword [esi + 8], edi
dec edi
jne 0x100b049a
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.102a6f38
mov esp, ebp
pop ebp
ret 0x10
push 5
call fcn.102a4f15
dec eax
push 6
mov dword [esi + 0x2c], eax
call fcn.102a4f15
dec eax
mov dword [esi + 0x2c], eax
push 6
call fcn.102a4f15
call fcn.102b3a2f
push 5
call fcn.102a4f15
dec eax
push 6
mov dword [esi + 0x2c], eax
call fcn.102a4f15
int3