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

Disassembly:
sub esp, 0x28
push ebx
push ebp
push esi
xor esi, esi
mov dword [esp + 0x2c], ecx
push edi
mov edi, dword [sym.imp.OLEAUT32.dll_SysReAllocString]
mov ebp, esi
push str.Mesh_Agent_peer_to_peer__UDP_
mov dword [esp + 0x24], esi
mov dword [esp + 0x20], esi
mov dword [esp + 0x1c], esi
mov dword [esp + 0x14], esi
mov dword [esp + 0x28], esi
mov dword [esp + 0x18], esi
mov dword [esp + 0x2c], esi
mov dword [esp + 0x30], esi
call edi
mov ebx, dword [sym.imp.OLEAUT32.dll_SysStringLen]
mov dword [esp + 0x34], eax
test eax, eax
je 0x49f48c
push str.Mesh_Agent_management__UDP_
call edi
mov dword [esp + 0x28], eax
test eax, eax
je 0x49f48c
push str.Mesh_Agent_peer_to_peer__TCP_
call edi
mov dword [esp + 0x2c], eax
test eax, eax
je 0x49f48c
push str.Mesh_Agent_management__TCP_
call edi
mov ebp, eax
test ebp, ebp
je 0x49f48c
lea eax, [esp + 0x20]
push eax
push 0x6c0358
push 1
push esi
push 0x6c0338
call dword [sym.imp.ole32.dll_CoCreateInstance]
test eax, eax
js 0x49f48c
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 0x49f48c
mov eax, dword [esp + 0x1c]
lea edx, [esp + 0x18]
push edx
push eax
mov ecx, dword [eax]
call dword [ecx + 0x1c]
test eax, eax
js 0x49f48c
mov eax, dword [esp + 0x18]
lea edx, [esp + 0x14]
push edx
push eax
mov ecx, dword [eax]
call dword [ecx + 0x50]
test eax, eax
js 0x49f48c
push dword [esp + 0x30]
call edi
mov edx, eax
mov dword [esp + 0x30], edx
test edx, edx
je 0x49f48c
mov edi, esi
mov ecx, dword [esp + 0x14]
push edx
push ecx
mov eax, dword [ecx]
call dword [eax + 0x24]
test eax, eax
js 0x49f486
mov edx, dword [esp + 0x30]
inc edi
cmp edi, 4
jl 0x49f3f2
lea eax, [esp + 0x24]
push eax
push 0x6c0328
push 0x17
push esi
push 0x6c0398
call dword [sym.imp.ole32.dll_CoCreateInstance]
test eax, eax
js 0x49f486
mov eax, dword [esp + 0x24]
lea edx, [esp + 0x10]
push edx
push eax
mov ecx, dword [eax]
call dword [ecx + 0x48]
test eax, eax
js 0x49f486
mov edi, dword [esp + 0x2c]
mov esi, dword [esp + 0x28]
push 4
pop ebx
mov eax, dword [esp + 0x10]
push dword [esp + 0x34]
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 edi
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 ebx, 1
jne 0x49f449
mov ebx, dword [sym.imp.OLEAUT32.dll_SysStringLen]
xor esi, esi
inc esi
push dword [esp + 0x30]
call ebx
mov ecx, dword [esp + 0x14]
test ecx, ecx
je 0x49f49a
mov eax, dword [ecx]
push ecx
call dword [eax + 8]
mov ecx, dword [esp + 0x18]
test ecx, ecx
je 0x49f4a8
mov eax, dword [ecx]
push ecx
call dword [eax + 8]
mov ecx, dword [esp + 0x1c]
test ecx, ecx
je 0x49f4b6
mov eax, dword [ecx]
push ecx
call dword [eax + 8]
mov ecx, dword [esp + 0x20]
test ecx, ecx
je 0x49f4c4
mov eax, dword [ecx]
push ecx
call dword [eax + 8]
mov ecx, dword [esp + 0x10]
test ecx, ecx
je 0x49f4d2
mov eax, dword [ecx]
push ecx
call dword [eax + 8]
mov ecx, dword [esp + 0x24]
test ecx, ecx
je 0x49f4e0
mov eax, dword [ecx]
push ecx
call dword [eax + 8]
mov eax, dword [esp + 0x34]
test eax, eax
je 0x49f4eb
push eax
call ebx
mov eax, dword [esp + 0x28]
test eax, eax
je 0x49f4f6
push eax
call ebx
mov eax, dword [esp + 0x2c]
test eax, eax
je 0x49f501
push eax
call ebx
test ebp, ebp
je 0x49f508
push ebp
call ebx
pop edi
mov eax, esi
pop esi
pop ebp
pop ebx
add esp, 0x28
ret