Function at 0x4c84e0
Capabilities:
Access firewall policy via inetfwpolicy2
Access firewall settings via inetfwmgr

Disassembly:
sub esp, 0x28
push ebx
push ebp
push esi
mov esi, dword [sym.imp.OLEAUT32.dll_SysReAllocString]
xor ebx, ebx
push edi
push str.Mesh_Agent_peer_to_peer__UDP_
mov dword [esp + 0x38], ecx
xor edi, edi
mov dword [esp + 0x28], 0
xor ebp, ebp
mov dword [esp + 0x24], 0
mov dword [esp + 0x20], 0
mov dword [esp + 0x14], 0
mov dword [esp + 0x2c], 0
mov dword [esp + 0x1c], 0
mov dword [esp + 0x30], ebx
call esi
mov dword [esp + 0x30], eax
test eax, eax
je 0x4c8696
push str.Mesh_Agent_management__UDP_
call esi
mov edi, eax
mov dword [esp + 0x14], edi
test edi, edi
je 0x4c8696
push str.Mesh_Agent_peer_to_peer__TCP_
call esi
mov ebx, eax
test ebx, ebx
je 0x4c8696
push str.Mesh_Agent_management__TCP_
call esi
mov ebp, eax
test ebp, ebp
je 0x4c8696
lea eax, [esp + 0x24]
push eax
push 0x5f0e24
push 1
push 0
push 0x5f0e04
call dword [sym.imp.ole32.dll_CoCreateInstance]
test eax, eax
js 0x4c8696
mov eax, dword [esp + 0x24]
lea edx, [esp + 0x20]
push edx
push eax
mov ecx, dword [eax]
call dword [ecx + 0x1c]
test eax, eax
js 0x4c8696
mov eax, dword [esp + 0x20]
lea edx, [esp + 0x1c]
push edx
push eax
mov ecx, dword [eax]
call dword [ecx + 0x1c]
test eax, eax
js 0x4c8696
mov eax, dword [esp + 0x1c]
lea edx, [esp + 0x18]
push edx
push eax
mov ecx, dword [eax]
call dword [ecx + 0x50]
test eax, eax
js 0x4c8696
push dword [esp + 0x34]
call esi
mov edi, eax
mov dword [esp + 0x34], edi
test edi, edi
je 0x4c8692
xor esi, esi
mov ecx, dword [esp + 0x18]
push edi
push ecx
mov edx, dword [ecx]
call dword [edx + 0x24]
test eax, eax
js 0x4c8683
inc esi
cmp esi, 4
jl 0x4c85f1
lea eax, [esp + 0x28]
push eax
push 0x5f0df4
push 0x17
push 0
push 0x5f0e64
call dword [sym.imp.ole32.dll_CoCreateInstance]
test eax, eax
js 0x4c8683
mov eax, dword [esp + 0x28]
lea edx, [esp + 0x10]
push edx
push eax
mov ecx, dword [eax]
call dword [ecx + 0x48]
test eax, eax
js 0x4c8683
mov esi, dword [esp + 0x14]
mov edi, 4
mov eax, dword [esp + 0x10]
push dword [esp + 0x30]
push eax
mov ecx, dword [eax]
call dword [ecx + 0x24]
mov eax, dword [esp + 0x10]
push esi
push eax
mov ecx, dword [eax]
call dword [ecx + 0x24]
mov eax, dword [esp + 0x10]
push ebx
push eax
mov ecx, dword [eax]
call dword [ecx + 0x24]
mov eax, dword [esp + 0x10]
push ebp
push eax
mov ecx, dword [eax]
call dword [ecx + 0x24]
sub edi, 1
jne 0x4c8643
mov edi, dword [esp + 0x34]
mov dword [esp + 0x2c], 1
mov esi, dword [sym.imp.OLEAUT32.dll_SysStringLen]
push edi
call esi
mov edi, dword [esp + 0x14]
jmp 0x4c869c
mov edi, dword [esp + 0x14]
mov esi, dword [sym.imp.OLEAUT32.dll_SysStringLen]
mov ecx, dword [esp + 0x18]
test ecx, ecx
je 0x4c86aa
mov eax, dword [ecx]
push ecx
call dword [eax + 8]
mov ecx, dword [esp + 0x1c]
test ecx, ecx
je 0x4c86b8
mov eax, dword [ecx]
push ecx
call dword [eax + 8]
mov ecx, dword [esp + 0x20]
test ecx, ecx
je 0x4c86c6
mov eax, dword [ecx]
push ecx
call dword [eax + 8]
mov ecx, dword [esp + 0x24]
test ecx, ecx
je 0x4c86d4
mov eax, dword [ecx]
push ecx
call dword [eax + 8]
mov ecx, dword [esp + 0x10]
test ecx, ecx
je 0x4c86e2
mov eax, dword [ecx]
push ecx
call dword [eax + 8]
mov ecx, dword [esp + 0x28]
test ecx, ecx
je 0x4c86f0
mov eax, dword [ecx]
push ecx
call dword [eax + 8]
mov eax, dword [esp + 0x30]
test eax, eax
je 0x4c86fb
push eax
call esi
test edi, edi
je 0x4c8702
push edi
call esi
test ebx, ebx
je 0x4c8709
push ebx
call esi
test ebp, ebp
je 0x4c8710
push ebp
call esi
mov eax, dword [esp + 0x2c]
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x28
ret