Function at 0x4ba160
Capabilities:
Hash data using murmur3

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x1c
push ebx
push esi
mov esi, ecx
mov ebx, dword [esi + 0x40]
cmp ebx, dword [esi + 0x44]
jge 0x4ba201
mov dword [ebp - 0x10], 4
push edi
mov edi, edi
lea eax, [ebx + 1]
mov dword [esi + 0x40], eax
mov eax, dword [esi + 4]
cmp dword [eax + ebx*4], 0xffffffff
je 0x4ba1e1
test ebx, ebx
js 0x4ba198
cmp ebx, dword [esi + 0x14]
jl 0x4ba1b4
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.00522050
add esp, 0xc
test al, al
jne 0x4ba1b4
int3
cmp dword [esi + 0x18], 1
lea eax, [esi + 0x1c]
je 0x4ba1c0
mov eax, dword [esi + 0x20]
mov edi, ebx
mov dword [ebp - 4], eax
and edi, 0x1f
mov eax, 1
mov ecx, edi
mov edx, ebx
shl eax, cl
mov ecx, dword [ebp - 4]
sar edx, 5
mov dword [ebp - 8], edx
test dword [ecx + edx*4], eax
je 0x4ba207
mov ebx, dword [esi + 0x40]
cmp ebx, dword [esi + 0x44]
jl 0x4ba180
mov eax, dword [esi + 0x10]
lea ecx, [esi + 0x14]
mov dword [esi + 0x40], eax
mov dword [esi + 0x44], eax
dec eax
push 0
mov dword [esi + 0x48], eax
call fcn.004c0960
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
test ebx, ebx
js 0x4ba210
cmp ebx, dword [esi + 0x14]
jl 0x4ba22f
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.00522050
add esp, 0xc
test al, al
jne 0x4ba22c
int3
mov edx, dword [ebp - 8]
cmp dword [esi + 0x18], 1
lea ecx, [esi + 0x1c]
je 0x4ba23b
mov ecx, dword [esi + 0x20]
mov eax, dword [ecx + edx*4]
bts eax, edi
mov dword [ecx + edx*4], eax
mov eax, dword [esi + 4]
lea eax, [eax + ebx*4]
mov dword [ebp - 4], eax
mov eax, dword [eax]
mov dword [ebp - 0xc], eax
cmp eax, 0xffffffff
je 0x4ba329
jmp 0x4ba260
mov edi, dword [esi + 0x28]
imul eax, eax, 0x58
add edi, eax
mov dword [ebp - 0x1c], eax
push edi
mov dword [ebp - 8], edi
call fcn.004bde90
lea ecx, [edi + 0x18]
mov dword [ebp - 0x18], eax
push ecx
call fcn.004bde90
mov ecx, dword [edi + 0x30]
add esp, 8
test ecx, ecx
mov dword [ebp - 0x14], eax
mov edx, 0x6cca60
cmovne edx, ecx
mov ecx, edx
lea edi, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4ba298
push 0
sub ecx, edi
push 0x417
push ecx
push edx
call fcn.004bd4b0
mov ecx, dword [ebp - 8]
mov edi, eax
add esp, 0x10
mov ecx, dword [ecx + 0x34]
mov edx, ecx
shr edx, 0x10
xor edx, ecx
imul edx, edx, 0x85ebca6b
mov ecx, edx
shr ecx, 0xd
xor ecx, edx
imul eax, ecx, 0xc2b2ae35
mov edx, eax
shr edx, 0x10
xor edx, eax
mov eax, dword [esi + 0x10]
xor edx, edi
dec eax
xor edx, dword [ebp - 0x14]
xor edx, dword [ebp - 0x18]
and edx, eax
mov eax, dword [ebp - 8]
add eax, 0x54
cmp edx, ebx
je 0x4ba318
mov eax, dword [eax]
mov ecx, dword [ebp - 4]
mov edi, dword [ebp - 0x1c]
mov dword [ecx], eax
mov eax, dword [esi + 4]
mov ecx, dword [esi + 0x28]
mov eax, dword [eax + edx*4]
mov dword [edi + ecx + 0x54], eax
mov eax, dword [esi + 4]
mov ecx, dword [ebp - 0xc]
mov dword [eax + edx*4], ecx
mov eax, dword [ebp - 4]
jmp 0x4ba31b
mov dword [ebp - 4], eax
mov eax, dword [eax]
mov dword [ebp - 0xc], eax
cmp eax, 0xffffffff
jne 0x4ba260
mov ebx, dword [esi + 0x40]
cmp ebx, dword [esi + 0x44]
jge 0x4ba1e9
sub dword [ebp - 0x10], 1
jns 0x4ba180
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret