Function at 0x49ff00
Capabilities:
Hash data using murmur3

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x14
push ebx
push esi
mov esi, ecx
push edi
mov eax, dword [esi + 0x10]
cmp dword [esi + 0x38], eax
jl 0x49ff27
add eax, eax
mov ecx, 0x10
cmp eax, ecx
cmovl eax, ecx
mov ecx, esi
push eax
call fcn.004a32d0
lea ebx, [esi + 0x24]
mov ecx, ebx
call fcn.0046ffa0
cmp dword [esi + 0x38], eax
jl 0x49ff47
mov ecx, ebx
call fcn.0046ffa0
add eax, eax
mov ecx, ebx
push eax
call fcn.00499a30
mov ecx, esi
call fcn.004a3f70
mov edx, dword [ebp + 8]
imul eax, dword [edx], 0xcc9e2d51
mov ecx, dword [edx + 4]
rol eax, 0xf
imul eax, eax, 0x1b873593
xor ecx, eax
rol ecx, 0xd
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 + 0x10]
sar eax, 1
dec eax
mov dword [ebp - 0x10], ecx
mov dword [ebp - 0xc], eax
cmp eax, dword [esi + 0x48]
jl 0x4a010c
mov edx, eax
and edx, ecx
mov dword [ebp - 4], edx
cmp edx, dword [esi + 0x40]
jl 0x4a0106
test edx, edx
js 0x49ffc0
cmp edx, dword [esi + 0x14]
jl 0x49ffdf
push str.bitNum___0__bitNum___this__Size__
push 0x14a
push str.c:_buildslave_steam_rel_client_hotfix_win32_build_srcpublic_tier1_bitstring.h
call fcn.00536b70
add esp, 0xc
test al, al
jne 0x49ffdc
int3
mov edx, dword [ebp - 4]
cmp dword [esi + 0x18], 1
lea eax, [esi + 0x1c]
je 0x49ffeb
mov eax, dword [esi + 0x20]
mov ebx, edx
mov dword [ebp - 8], eax
and ebx, 0x1f
mov eax, 1
mov ecx, ebx
mov edi, edx
shl eax, cl
mov ecx, dword [ebp - 8]
sar edi, 5
test dword [ecx + edi*4], eax
jne 0x4a0103
test edx, edx
js 0x4a0016
cmp edx, dword [esi + 0x14]
jl 0x4a0035
push str.bitNum___0__bitNum___this__Size__
push 0x154
push str.c:_buildslave_steam_rel_client_hotfix_win32_build_srcpublic_tier1_bitstring.h
call fcn.00536b70
add esp, 0xc
test al, al
jne 0x4a0032
int3
mov edx, dword [ebp - 4]
cmp dword [esi + 0x18], 1
lea ecx, [esi + 0x1c]
je 0x4a0041
mov ecx, dword [esi + 0x20]
mov eax, dword [ecx + edi*4]
bts eax, ebx
mov dword [ecx + edi*4], eax
mov eax, dword [esi + 4]
mov edi, dword [eax + edx*4]
lea ebx, [eax + edx*4]
cmp edi, 0xffffffff
je 0x4a00ed
lea esp, [esp]
mov edx, dword [esi + 0x28]
mov eax, edi
shl eax, 4
add edx, eax
mov dword [ebp - 0x14], eax
imul eax, dword [edx], 0xcc9e2d51
mov ecx, dword [edx + 4]
rol eax, 0xf
imul eax, eax, 0x1b873593
xor ecx, eax
rol ecx, 0xd
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 + 0x10]
dec eax
and eax, ecx
mov dword [ebp - 8], eax
cmp eax, dword [ebp - 4]
je 0x4a00df
mov eax, dword [edx + 0xc]
mov edx, dword [ebp - 8]
mov dword [ebx], eax
mov eax, dword [esi + 4]
mov ecx, dword [eax + edx*4]
mov eax, dword [esi + 0x28]
mov edx, dword [ebp - 0x14]
mov dword [edx + eax + 0xc], ecx
mov eax, dword [esi + 4]
mov edx, dword [ebp - 8]
mov dword [eax + edx*4], edi
jmp 0x4a00e2
lea ebx, [edx + 0xc]
mov edi, dword [ebx]
cmp edi, 0xffffffff
jne 0x4a0060
mov eax, dword [ebp - 0xc]
mov ecx, dword [ebp - 0x10]
sar eax, 1
mov dword [ebp - 0xc], eax
cmp eax, dword [esi + 0x48]
jge 0x49ffa7
jmp 0x4a0106
mov ecx, dword [ebp - 0x10]
mov edx, dword [ebp + 8]
lea ebx, [esi + 0x24]
mov eax, dword [esi + 0x10]
dec eax
and eax, ecx
cmp byte [ebp + 0x10], 0
mov dword [ebp - 0x10], eax
jne 0x4a013e
push edx
push eax
mov ecx, esi
call fcn.004a36a0
cmp eax, 0xffffffff
je 0x4a013e
mov ecx, dword [ebp + 0xc]
test ecx, ecx
je 0x4a0132
mov dword [ecx], eax
pop edi
pop esi
or eax, 0xffffffff
pop ebx
mov esp, ebp
pop ebp
ret 0xc
mov eax, dword [esi + 0x38]
mov edi, dword [esi + 0x3c]
mov dword [ebp + 0x10], edi
lea ecx, [eax + 1]
mov dword [ebp - 0x14], ecx
cmp eax, edi
jne 0x4a0159
lea eax, [edi + 1]
mov dword [esi + 0x3c], eax
jmp 0x4a0175
mov edi, dword [esi + 0x34]
mov ecx, 0xfffffffd
mov eax, dword [ebx + 4]
mov edx, edi
add edx, edx
mov dword [ebp + 0x10], edi
sub ecx, dword [eax + edx*8 + 0xc]
mov dword [esi + 0x34], ecx
mov ecx, dword [ebp - 0x14]
mov dword [esi + 0x38], ecx
add edi, edi
mov eax, dword [ebx + 4]
mov ecx, dword [ebp + 8]
mov dword [eax + edi*8 + 0xc], 0xffffffff
mov eax, dword [ecx]
mov edx, dword [ebx + 4]
mov ecx, dword [ecx + 4]
mov dword [edx + edi*8], eax
mov dword [edx + edi*8 + 4], ecx
mov eax, dword [esi + 4]
mov ecx, dword [esi + 0x28]
mov edx, dword [ebp - 0x10]
mov eax, dword [eax + edx*4]
mov dword [ecx + edi*8 + 0xc], eax
mov ecx, dword [esi + 4]
mov eax, dword [ebp + 0x10]
mov dword [ecx + edx*4], eax
mov ecx, dword [ebp + 0xc]
test ecx, ecx
je 0x4a01bd
mov dword [ecx], 0xffffffff
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc