Function at 0x4ea790
Capabilities:
Hash data using murmur3

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x18
push esi
push edi
push 0
push 0
push 4
mov esi, ecx
call fcn.004997b0
xor eax, eax
mov dword [esi + 0x10], 0
mov dword [esi + 0x14], eax
mov dword [esi + 0x18], eax
mov dword [esi + 0x1c], eax
mov dword [esi + 0x20], eax
mov edx, dword [esi + 0x18]
cmp edx, 1
jne 0x4ea7c9
lea eax, [esi + 0x1c]
mov ecx, eax
jmp 0x4ea7cc
lea ecx, [esi + 0x1c]
test eax, eax
je 0x4ea7eb
cmp edx, 1
je 0x4ea7d8
mov ecx, dword [esi + 0x20]
lea eax, [edx*4]
push eax
push 0
push ecx
call fcn.0054f8a0
add esp, 0xc
push 0
push 0
lea ecx, [esi + 0x24]
push 0xc
call fcn.004997b0
lea ecx, [esi + 0x50]
mov dword [esi + 0x38], 0
mov dword [esi + 0x3c], 0
mov dword [esi + 0x40], 0
mov dword [esi + 0x44], 0
mov dword [esi + 0x48], 1
mov dword [esi + 0x34], 0xffffffff
call fcn.004a08e0
push 0
push 0
lea edi, [esi + 0xa0]
push 4
mov ecx, edi
call fcn.004997b0
xor eax, eax
mov dword [edi + 0x10], 0
mov dword [edi + 0x14], eax
mov dword [edi + 0x18], eax
mov dword [edi + 0x1c], eax
mov dword [edi + 0x20], eax
mov edx, dword [edi + 0x18]
cmp edx, 1
jne 0x4ea862
lea eax, [edi + 0x1c]
mov ecx, eax
jmp 0x4ea865
lea ecx, [edi + 0x1c]
test eax, eax
je 0x4ea884
cmp edx, 1
je 0x4ea871
mov ecx, dword [edi + 0x20]
lea eax, [edx*4]
push eax
push 0
push ecx
call fcn.0054f8a0
add esp, 0xc
push 0
push 0
lea ecx, [edi + 0x24]
push 0xc
call fcn.004997b0
lea ecx, [esi + 0xf0]
mov dword [edi + 0x38], 0
mov dword [edi + 0x3c], 0
mov dword [edi + 0x40], 0
mov dword [edi + 0x44], 0
mov dword [edi + 0x48], 1
mov dword [edi + 0x34], 0xffffffff
call fcn.004a08e0
lea ecx, [esi + 0x140]
call fcn.004a08e0
lea eax, [ebp - 8]
mov word [esi + 0x190], 0
push eax
lea eax, [ebp - 4]
push eax
call fcn.00528ab0
add esp, 8
mov ecx, esi
push dword [ebp - 8]
call fcn.004a32d0
cmp dword [ebp - 8], 0
jbe 0x4eac02
push ebx
cmp dword [esi + 0x38], 0
mov eax, dword [ebp - 4]
mov edx, dword [eax]
mov dword [ebp - 0x10], edx
je 0x4ea9e5
mov ebx, dword [esi + 0x10]
mov eax, edx
shr eax, 0x10
dec ebx
xor eax, edx
mov edi, ebx
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 dword [ebp - 0xc], ecx
and edi, ecx
mov edi, edi
mov eax, dword [esi + 4]
mov eax, dword [eax + edi*4]
cmp eax, 0xffffffff
je 0x4ea964
mov ecx, dword [esi + 0x28]
mov edi, edi
lea eax, [eax + eax*2]
cmp edx, dword [ecx + eax*4]
je 0x4ea9c8
mov eax, dword [ecx + eax*4 + 8]
cmp eax, 0xffffffff
jne 0x4ea950
mov ecx, dword [ebp - 0xc]
sar ebx, 1
cmp ebx, dword [esi + 0x48]
jl 0x4ea9e5
mov edi, ebx
and edi, ecx
cmp edi, dword [esi + 0x40]
jl 0x4ea9e5
test edi, edi
js 0x4ea97d
cmp edi, dword [esi + 0x14]
jl 0x4ea999
push str.bitNum___0__bitNum___this__Size__
push 0x14a
push str.c:_buildslave_steam_rel_client_win32_build_srcpublic_tier1_bitstring.h
call fcn.00536d10
add esp, 0xc
test al, al
jne 0x4ea999
int3
cmp dword [esi + 0x18], 1
lea ecx, [esi + 0x1c]
je 0x4ea9a5
mov ecx, dword [esi + 0x20]
mov eax, edi
sar eax, 5
lea edx, [ecx + eax*4]
mov ecx, edi
and ecx, 0x1f
mov eax, 1
shl eax, cl
test dword [edx], eax
jne 0x4ea9e5
mov edx, dword [ebp - 0x10]
mov ecx, dword [ebp - 0xc]
jmp 0x4ea940
push edx
push str.EMsg__d_registered_multiple_times.
push 0x800000a0
push str.c:_buildslave_steam_rel_client_win32_build_srccommonmsg.cpp
call fcn.00536d20
add esp, 0x10
test al, al
jne 0x4ea9e5
int3
mov eax, dword [ebp - 4]
push dword [eax]
call fcn.00526fc0
add esp, 4
test al, al
jne 0x4eaa12
push str.EMsg_IsValid__pOldMsgInfo__eMsg__
push 0x800000a2
push str.c:_buildslave_steam_rel_client_win32_build_srccommonmsg.cpp
call fcn.00536d10
add esp, 0xc
test al, al
jne 0x4eaa12
int3
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x10]
cmp byte [eax], 0
jne 0x4eaa39
push str.pOldMsgInfo__pchMsgName
push 0x800000a4
push str.c:_buildslave_steam_rel_client_win32_build_srccommonmsg.cpp
call fcn.00536d10
add esp, 0xc
test al, al
jne 0x4eaa39
int3
push 0x50
call fcn.0054d1de
mov ebx, eax
add esp, 4
test ebx, ebx
je 0x4eaa58
push 0x50
push 0
push ebx
call fcn.0054f8a0
add esp, 0xc
jmp 0x4eaa5a
xor ebx, ebx
mov ecx, dword [ebp - 0x10]
mov dword [ebx], ecx
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x10]
mov dword [ebx + 4], eax
mov eax, dword [ebp - 4]
mov dword [ebx + 0xc], eax
mov byte [ebx + 8], 0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x14]
mov dword [ebx + 0x10], eax
cmp dword [esi + 0x38], 0
je 0x4eab63
mov eax, ecx
shr eax, 0x10
xor eax, ecx
imul ecx, eax, 0x85ebca6b
mov eax, ecx
shr eax, 0xd
xor eax, ecx
mov ecx, dword [esi + 0x10]
imul eax, eax, 0xc2b2ae35
dec ecx
mov dword [ebp - 0xc], ecx
mov edx, eax
shr edx, 0x10
xor edx, eax
mov edi, edx
mov dword [ebp - 0x10], edx
and edi, ecx
mov eax, dword [esi + 4]
mov eax, dword [eax + edi*4]
cmp eax, 0xffffffff
je 0x4eaadb
mov ecx, dword [ebx]
mov edx, dword [esi + 0x28]
lea eax, [eax + eax*2]
cmp ecx, dword [edx + eax*4]
je 0x4eab46
mov eax, dword [edx + eax*4 + 8]
cmp eax, 0xffffffff
jne 0x4eaac4
mov ecx, dword [ebp - 0xc]
mov edx, dword [ebp - 0x10]
sar ecx, 1
mov dword [ebp - 0xc], ecx
cmp ecx, dword [esi + 0x48]
jl 0x4eab63
mov edi, edx
and edi, ecx
cmp edi, dword [esi + 0x40]
jl 0x4eab63
test edi, edi
js 0x4eaafb
cmp edi, dword [esi + 0x14]
jl 0x4eab17
push str.bitNum___0__bitNum___this__Size__
push 0x14a
push str.c:_buildslave_steam_rel_client_win32_build_srcpublic_tier1_bitstring.h
call fcn.00536d10
add esp, 0xc
test al, al
jne 0x4eab17
int3
cmp dword [esi + 0x18], 1
lea ecx, [esi + 0x1c]
je 0x4eab23
mov ecx, dword [esi + 0x20]
mov eax, edi
sar eax, 5
lea edx, [ecx + eax*4]
mov ecx, edi
and ecx, 0x1f
mov eax, 1
shl eax, cl
test dword [edx], eax
jne 0x4eab63
mov ecx, dword [ebp - 0xc]
mov edx, dword [ebp - 0x10]
jmp 0x4eaab4
push ecx
push str.More_than_one_message_with_ID_0x_x
push 0xd2
push str.c:_buildslave_steam_rel_client_win32_build_srccommonmsg.cpp
call fcn.00536d20
add esp, 0x10
test al, al
jne 0x4eab63
int3
push 0
lea eax, [ebp - 0x14]
mov ecx, esi
push eax
push ebx
call fcn.0049fc80
mov ecx, dword [ebp - 0x14]
cmp ecx, 0xffffffff
je 0x4eab7e
lea ecx, [ecx + ecx*2]
jmp 0x4eab86
cmp eax, 0xffffffff
je 0x4eab8d
lea ecx, [eax + eax*2]
mov eax, dword [esi + 0x28]
mov dword [eax + ecx*4 + 4], ebx
lea edi, [ebx + 4]
push edi
lea ecx, [esi + 0x140]
call fcn.004eae00
cmp eax, 0xffffffff
je 0x4eabbf
push dword [edi]
push str.More_than_one_message_named__s
push 0xd4
push str.c:_buildslave_steam_rel_client_win32_build_srccommonmsg.cpp
call fcn.00536d20
add esp, 0x10
test al, al
jne 0x4eabbf
int3
push 0
lea ecx, [ebp - 0x18]
push ecx
lea eax, [ebx + 4]
push eax
lea ecx, [esi + 0x140]
call fcn.004ea2b0
mov ecx, dword [ebp - 0x18]
cmp ecx, 0xffffffff
je 0x4eabe1
lea ecx, [ecx + ecx*2]
jmp 0x4eabe9
cmp eax, 0xffffffff
je 0x4eabf3
lea ecx, [eax + eax*2]
mov eax, dword [esi + 0x168]
mov dword [eax + ecx*4 + 4], ebx
add dword [ebp - 4], 0x18
sub dword [ebp - 8], 1
jne 0x4ea900
pop ebx
pop edi
mov eax, esi
pop esi
mov esp, ebp
pop ebp
ret