Function at 0x4ed010
Capabilities:
Hash data using murmur3

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x14
xor eax, eax
push edi
mov edi, ecx
mov dword [edi], 0
lea ecx, [edi + 0x18]
mov dword [edi + 4], 0
mov dword [edi + 8], 0
mov dword [edi + 0xc], 0
mov dword [edi + 0x10], eax
mov dword [edi + 0x14], eax
mov dword [edi + 0x18], eax
mov dword [edi + 0x1c], eax
mov eax, dword [edi + 0x14]
cmp eax, 1
je 0x4ed050
mov ecx, dword [edi + 0x1c]
test ecx, ecx
je 0x4ed06e
lea ecx, [edi + 0x18]
cmp eax, 1
je 0x4ed05f
mov ecx, dword [edi + 0x1c]
shl eax, 2
push eax
push 0
push ecx
call fcn.00554100
add esp, 0xc
mov dword [edi + 0x20], 0
lea ecx, [edi + 0x48]
mov dword [edi + 0x24], 0
mov dword [edi + 0x28], 0
mov dword [edi + 0x30], 0
mov dword [edi + 0x34], 0
mov dword [edi + 0x38], 0
mov dword [edi + 0x3c], 0
mov dword [edi + 0x40], 1
mov dword [edi + 0x2c], 0xffffffff
call fcn.004a1940
mov dword [edi + 0x90], 0
lea ecx, [edi + 0xa8]
mov dword [edi + 0x94], 0
xor eax, eax
mov dword [edi + 0x98], 0
mov dword [edi + 0x9c], 0
mov dword [edi + 0xa0], eax
mov dword [edi + 0xa4], eax
mov dword [edi + 0xa8], eax
mov dword [edi + 0xac], eax
mov edx, dword [edi + 0xa4]
cmp edx, 1
jne 0x4ed10a
mov eax, ecx
test eax, eax
je 0x4ed12c
cmp edx, 1
je 0x4ed119
mov ecx, dword [edi + 0xac]
lea eax, [edx*4]
push eax
push 0
push ecx
call fcn.00554100
add esp, 0xc
mov dword [edi + 0xb0], 0
lea ecx, [edi + 0xd8]
mov dword [edi + 0xb4], 0
mov dword [edi + 0xb8], 0
mov dword [edi + 0xc0], 0
mov dword [edi + 0xc4], 0
mov dword [edi + 0xc8], 0
mov dword [edi + 0xcc], 0
mov dword [edi + 0xd0], 1
mov dword [edi + 0xbc], 0xffffffff
call fcn.004a1940
lea ecx, [edi + 0x120]
call fcn.004a1940
lea eax, [ebp - 0xc]
mov word [edi + 0x168], 0
push eax
lea eax, [ebp - 4]
push eax
call fcn.0052cc60
add esp, 8
mov ecx, edi
push dword [ebp - 0xc]
call fcn.004a42c0
cmp dword [ebp - 0xc], 0
jbe 0x4ed36f
push ebx
push esi
jmp 0x4ed1d0
cmp dword [edi + 0x30], 0
mov eax, dword [ebp - 4]
mov ebx, dword [eax]
mov dword [ebp - 8], ebx
je 0x4ed2c4
mov eax, ebx
shr eax, 0x10
xor eax, ebx
mov ebx, dword [edi + 0xc]
imul ecx, eax, 0x85ebca6b
dec ebx
mov esi, ebx
mov eax, ecx
shr eax, 0xd
xor eax, ecx
imul eax, eax, 0xc2b2ae35
mov ecx, eax
shr ecx, 0x10
xor ecx, eax
mov dword [ebp - 0x10], ecx
and esi, ecx
mov edi, edi
mov eax, dword [edi]
mov eax, dword [eax + esi*4]
cmp eax, 0xffffffff
je 0x4ed23b
mov edx, dword [edi + 0x20]
mov esi, dword [ebp - 8]
lea ecx, [eax + eax*2]
cmp esi, dword [edx + ecx*4]
je 0x4ed233
mov eax, dword [edx + ecx*4 + 8]
cmp eax, 0xffffffff
jne 0x4ed220
jmp 0x4ed238
cmp eax, 0xffffffff
jne 0x4ed2a0
mov ecx, dword [ebp - 0x10]
sar ebx, 1
mov dword [ebp - 0x14], ebx
cmp ebx, dword [edi + 0x40]
jl 0x4ed2c1
mov esi, ebx
and esi, ecx
cmp esi, dword [edi + 0x38]
jl 0x4ed2c1
test esi, esi
js 0x4ed257
cmp esi, dword [edi + 0x10]
jl 0x4ed273
push str.bitNum___0__bitNum___this__Size__
push 0x14a
push str.C:_buildworker_steam_rel_client_win32_build_srcpublic_tier1_bitstring.h
call fcn.0053aea0
add esp, 0xc
test al, al
jne 0x4ed273
int3
cmp dword [edi + 0x14], 1
lea ebx, [edi + 0x18]
je 0x4ed27f
mov ebx, dword [edi + 0x1c]
mov eax, esi
mov ecx, esi
and ecx, 0x1f
sar eax, 5
mov edx, 1
shl edx, cl
test dword [ebx + eax*4], edx
jne 0x4ed2c1
mov ebx, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x10]
jmp 0x4ed210
mov ebx, esi
push ebx
push str.EMsg__d_registered_multiple_times.
push 0x800000a0
push str.C:_buildworker_steam_rel_client_win32_build_srccommonmsg.cpp
call fcn.0053aeb0
add esp, 0x10
test al, al
jne 0x4ed2c4
int3
mov ebx, dword [ebp - 8]
mov eax, dword [ebp - 4]
push dword [eax]
call fcn.0052b170
add esp, 4
test al, al
jne 0x4ed2f1
push str.EMsg_IsValid__pOldMsgInfo__eMsg__
push 0x800000a2
push str.C:_buildworker_steam_rel_client_win32_build_srccommonmsg.cpp
call fcn.0053aea0
add esp, 0xc
test al, al
jne 0x4ed2f1
int3
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x10]
cmp byte [eax], 0
jne 0x4ed318
push str.pOldMsgInfo__pchMsgName
push 0x800000a4
push str.C:_buildworker_steam_rel_client_win32_build_srccommonmsg.cpp
call fcn.0053aea0
add esp, 0xc
test al, al
jne 0x4ed318
int3
push 0x50
call fcn.005519b3
mov esi, eax
add esp, 4
test esi, esi
je 0x4ed337
push 0x50
push 0
push esi
call fcn.00554100
add esp, 0xc
jmp 0x4ed339
xor esi, esi
mov dword [esi], ebx
mov ecx, edi
mov eax, dword [ebp - 4]
push esi
mov eax, dword [eax + 0x10]
mov dword [esi + 4], eax
mov eax, dword [ebp - 4]
mov dword [esi + 0xc], eax
mov byte [esi + 8], 0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x14]
mov dword [esi + 0x10], eax
call fcn.004ed5e0
add dword [ebp - 4], 0x18
sub dword [ebp - 0xc], 1
jne 0x4ed1d0
pop esi
pop ebx
mov eax, edi
pop edi
mov esp, ebp
pop ebp
ret