Function at 0x1007f890
Capabilities:
Hash data using murmur3

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x14
push ebx
push esi
mov esi, ecx
push edi
mov ecx, dword [esi + 0xc]
cmp dword [esi + 0x30], ecx
jl 0x1007f8c8
mov eax, ecx
lea edx, [ecx + 0x1000000]
sar eax, 1
add eax, ecx
cmp eax, 0x10
jge 0x1007f8bb
mov eax, 0x10
jmp 0x1007f8c0
cmp eax, edx
cmovg eax, edx
push eax
mov ecx, esi
call fcn.100817d0
mov eax, dword [esi + 0x24]
cmp dword [esi + 0x30], eax
jl 0x1007f974
sar eax, 1
cmp eax, 1
jge 0x1007f8e2
mov eax, 1
jmp 0x1007f8ec
mov ecx, 0x1000000
cmp eax, ecx
cmovg eax, ecx
mov edx, dword [esi + 0x28]
test edx, edx
jns 0x1007f911
push 0x1024cb88
push 0x1ea
push str.C:_buildworker_steam_rel_client_win32_build_srcpublic_tier1utlmemory.h
call fcn.100ad9f0
add esp, 0xc
test al, al
jne 0x1007f974
int3
mov ecx, dword [esi + 0x24]
add eax, ecx
push 0x10
push eax
push edx
push ecx
call fcn.100769f0
add esp, 0x10
mov dword [esi + 0x24], eax
cmp dword [esi + 0x20], 0
je 0x1007f94e
call fcn.100ad570
push 0
push 0x1f9
push str.C:_buildworker_steam_rel_client_win32_build_srcpublic_tier1utlmemory.h
mov ecx, dword [eax]
mov edx, dword [ecx + 0x10]
mov ecx, dword [esi + 0x24]
shl ecx, 4
push ecx
push dword [esi + 0x20]
jmp 0x1007f96d
call fcn.100ad570
push 0
push 0
push 0x1fd
mov ecx, dword [eax]
push str.C:_buildworker_steam_rel_client_win32_build_srcpublic_tier1utlmemory.h
mov edx, dword [ecx + 8]
mov ecx, dword [esi + 0x24]
shl ecx, 4
push ecx
mov ecx, eax
call edx
mov dword [esi + 0x20], eax
mov ecx, esi
call fcn.10081c10
mov edx, dword [ebp + 8]
imul eax, dword [edx], 0xcc9e2d51
mov ecx, dword [edx + 4]
ror eax, 0x11
imul eax, eax, 0x1b873593
xor ecx, eax
ror ecx, 0x13
lea ecx, [ecx + ecx*4]
add ecx, 0xe6546b64
mov eax, ecx
shr eax, 0x10
xor eax, ecx
imul ecx, eax, 0x85ebca6b
mov eax, ecx
shr eax, 0xd
xor eax, ecx
imul eax, eax, 0xc2b2ae35
mov ecx, eax
shr ecx, 0x10
xor ecx, eax
mov eax, dword [esi + 0xc]
sar eax, 1
dec eax
mov dword [ebp - 0xc], ecx
mov dword [ebp - 8], eax
cmp eax, dword [esi + 0x40]
jl 0x1007fb47
mov ebx, eax
and ebx, ecx
mov dword [ebp - 0x10], ebx
cmp ebx, dword [esi + 0x38]
jl 0x1007fb44
lea edi, [esi + 0x10]
test ebx, ebx
js 0x1007f9f2
mov dword [ebp - 4], edi
cmp ebx, dword [edi]
jl 0x1007fa17
push str.bitNum___0__bitNum___this__Size__
push 0x14a
push str.C:_buildworker_steam_rel_client_win32_build_srcpublic_tier1_bitstring.h
mov dword [ebp - 4], edi
call fcn.100ad9f0
add esp, 0xc
test al, al
jne 0x1007fa17
int3
cmp dword [edi + 4], 1
jne 0x1007fa22
add edi, 8
jmp 0x1007fa25
mov edi, dword [edi + 0xc]
mov eax, ebx
mov ecx, ebx
sar eax, 5
and ecx, 0x1f
lea edx, [edi + eax*4]
mov eax, 1
shl eax, cl
test dword [edx], eax
jne 0x1007fb41
mov edi, dword [ebp - 4]
test ebx, ebx
js 0x1007fa4c
cmp ebx, dword [edi]
jl 0x1007fa68
push str.bitNum___0__bitNum___this__Size__
push 0x154
push str.C:_buildworker_steam_rel_client_win32_build_srcpublic_tier1_bitstring.h
call fcn.100ad9f0
add esp, 0xc
test al, al
jne 0x1007fa68
int3
cmp dword [edi + 4], 1
jne 0x1007fa73
add edi, 8
jmp 0x1007fa76
mov edi, dword [edi + 0xc]
mov eax, ebx
mov ecx, ebx
sar eax, 5
and ecx, 0x1f
lea edx, [edi + eax*4]
mov eax, dword [edx]
bts eax, ecx
mov dword [edx], eax
mov eax, dword [esi]
mov edi, dword [eax + ebx*4]
lea ebx, [eax + ebx*4]
cmp edi, 0xffffffff
je 0x1007fb2b
jmp 0x1007faa0
mov edx, dword [esi + 0x20]
mov eax, edi
shl eax, 4
add edx, eax
mov dword [ebp - 0x14], eax
imul eax, dword [edx], 0xcc9e2d51
mov ecx, dword [edx + 4]
ror eax, 0x11
imul eax, eax, 0x1b873593
xor ecx, eax
ror ecx, 0x13
lea ecx, [ecx + ecx*4]
add ecx, 0xe6546b64
mov eax, ecx
shr eax, 0x10
xor eax, ecx
imul ecx, eax, 0x85ebca6b
mov eax, ecx
shr eax, 0xd
xor eax, ecx
imul eax, eax, 0xc2b2ae35
mov ecx, eax
shr ecx, 0x10
xor ecx, eax
mov eax, dword [esi + 0xc]
dec eax
and eax, ecx
mov dword [ebp - 4], eax
cmp eax, dword [ebp - 0x10]
je 0x1007fb1d
mov eax, dword [edx + 0xc]
mov edx, dword [ebp - 4]
mov dword [ebx], eax
mov eax, dword [esi]
mov ecx, dword [eax + edx*4]
mov eax, dword [esi + 0x20]
mov edx, dword [ebp - 0x14]
mov dword [edx + eax + 0xc], ecx
mov eax, dword [esi]
mov edx, dword [ebp - 4]
mov dword [eax + edx*4], edi
jmp 0x1007fb20
lea ebx, [edx + 0xc]
mov edi, dword [ebx]
cmp edi, 0xffffffff
jne 0x1007faa0
mov eax, dword [ebp - 8]
mov ecx, dword [ebp - 0xc]
sar eax, 1
mov dword [ebp - 8], eax
cmp eax, dword [esi + 0x40]
jge 0x1007f9d4
jmp 0x1007fb44
mov ecx, dword [ebp - 0xc]
mov edx, dword [ebp + 8]
mov ebx, dword [esi + 0xc]
dec ebx
and ebx, ecx
cmp byte [ebp + 0x10], 0
jne 0x1007fb76
push edx
push ebx
mov ecx, esi
call fcn.10081b50
cmp eax, 0xffffffff
je 0x1007fb76
mov ecx, dword [ebp + 0xc]
test ecx, ecx
je 0x1007fb6a
mov dword [ecx], eax
pop edi
pop esi
or eax, 0xffffffff
pop ebx
mov esp, ebp
pop ebp
ret 0xc
mov eax, dword [esi + 0x30]
lea edx, [esi + 0x30]
mov edi, dword [esi + 0x34]
mov dword [ebp + 0x10], edi
lea ecx, [eax + 1]
mov dword [ebp - 0x14], ecx
cmp eax, edi
jne 0x1007fb94
lea eax, [edi + 1]
mov dword [esi + 0x34], eax
jmp 0x1007fbb3
mov edi, dword [esi + 0x2c]
mov ecx, 0xfffffffd
mov eax, dword [esi + 0x20]
mov edx, edi
add edx, edx
mov dword [ebp + 0x10], edi
sub ecx, dword [eax + edx*8 + 0xc]
lea edx, [esi + 0x30]
mov dword [esi + 0x2c], ecx
mov ecx, dword [ebp - 0x14]
mov dword [edx], ecx
add edi, edi
mov eax, dword [esi + 0x20]
mov ecx, dword [ebp + 8]
mov dword [eax + edi*8 + 0xc], 0xffffffff
mov eax, dword [ecx]
mov edx, dword [esi + 0x20]
mov ecx, dword [ecx + 4]
mov dword [edx + edi*8], eax
mov dword [edx + edi*8 + 4], ecx
mov eax, dword [esi]
mov ecx, dword [esi + 0x20]
mov eax, dword [eax + ebx*4]
mov dword [ecx + edi*8 + 0xc], eax
mov ecx, dword [esi]
mov eax, dword [ebp + 0x10]
mov dword [ecx + ebx*4], eax
mov ecx, dword [ebp + 0xc]
test ecx, ecx
je 0x1007fbf5
mov dword [ecx], 0xffffffff
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc