Function at 0x4518c0
Capabilities:
Access firewall rule properties via inetfwrule

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x1c
mov dword [ebp - 0x1c], ecx
mov eax, dword [ebp - 0x1c]
cmp dword [eax + 4], 0
jne 0x4518dc
mov eax, 0x80004001
jmp 0x451aa4
mov ecx, dword [ebp - 0x1c]
cmp dword [ecx + 4], 0
jne 0x4518fe
push 0
push 0x191
push 0x61aa44
push str.m_pFwRules
call fcn.005bede0
add esp, 0x10
mov dword [ebp - 0x10], 0
mov eax, dword [ebp + 0xc]
push eax
call fcn.00450f20
add esp, 4
mov dword [ebp - 0x18], eax
mov ecx, dword [ebp + 8]
push ecx
call fcn.00450f20
add esp, 4
mov dword [ebp - 0x14], eax
mov edx, dword [ebp + 0x10]
push edx
call fcn.00450f20
add esp, 4
mov dword [ebp - 4], eax
mov dword [ebp - 0xc], 0
lea eax, [ebp - 8]
push eax
mov ecx, dword [ebp + 0xc]
push ecx
mov ecx, dword [ebp - 0x1c]
call fcn.00451790
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 0
jge 0x45196b
mov edx, dword [ebp - 0x10]
push edx
push str.IsAppEnabled_failed:_0x_08lx_n
call fcn.005bead0
add esp, 8
mov eax, dword [ebp - 0x10]
jmp 0x451aa4
cmp dword [ebp - 8], 0
je 0x451978
xor eax, eax
jmp 0x451aa4
lea eax, [ebp - 0xc]
push eax
push 0x61abf8
push 1
push 0
push 0x61abe8
call dword [sym.imp.ole32.dll_CoCreateInstance]
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 0
jge 0x4519b4
mov ecx, dword [ebp - 0x10]
push ecx
push str.CoCreateInstance_NetFwRule_failed:_0x_08lx_n
call fcn.005bead0
add esp, 8
jmp 0x451a68
mov edx, dword [ebp - 0x18]
push edx
mov eax, dword [ebp - 0xc]
mov ecx, dword [eax]
mov edx, dword [ebp - 0xc]
push edx
mov eax, dword [ecx + 0x20]
call eax
mov ecx, dword [ebp - 4]
push ecx
mov edx, dword [ebp - 0xc]
mov eax, dword [edx]
mov ecx, dword [ebp - 0xc]
push ecx
mov edx, dword [eax + 0x28]
call edx
mov eax, dword [ebp - 0x14]
push eax
mov ecx, dword [ebp - 0xc]
mov edx, dword [ecx]
mov eax, dword [ebp - 0xc]
push eax
mov ecx, dword [edx + 0x30]
call ecx
push 0x100
mov edx, dword [ebp - 0xc]
mov eax, dword [edx]
mov ecx, dword [ebp - 0xc]
push ecx
mov edx, dword [eax + 0x40]
call edx
push 6
mov eax, dword [ebp - 0xc]
mov ecx, dword [eax]
mov edx, dword [ebp - 0xc]
push edx
mov eax, dword [ecx + 0x98]
call eax
push 1
mov ecx, dword [ebp - 0xc]
mov edx, dword [ecx]
mov eax, dword [ebp - 0xc]
push eax
mov ecx, dword [edx + 0xa8]
call ecx
push 0xffffffffffffffff
mov edx, dword [ebp - 0xc]
mov eax, dword [edx]
mov ecx, dword [ebp - 0xc]
push ecx
mov edx, dword [eax + 0x88]
call edx
mov eax, dword [ebp - 0xc]
push eax
mov ecx, dword [ebp - 0x1c]
mov edx, dword [ecx + 4]
mov eax, dword [ebp - 0x1c]
mov ecx, dword [eax + 4]
mov edx, dword [edx]
push ecx
mov eax, dword [edx + 0x20]
call eax
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 0
jge 0x451a68
mov ecx, dword [ebp - 0x10]
push ecx
push str.Firewall_Rule_Add_failed:_0x_08lx_n
call fcn.005bead0
add esp, 8
mov edx, dword [ebp - 0x18]
push edx
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
mov eax, dword [ebp - 0x14]
push eax
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
mov ecx, dword [ebp - 4]
push ecx
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
cmp dword [ebp - 0xc], 0
je 0x451aa1
mov edx, dword [ebp - 0xc]
mov eax, dword [edx]
mov ecx, dword [ebp - 0xc]
push ecx
mov edx, dword [eax + 8]
call edx
mov dword [ebp - 0xc], 0
mov eax, dword [ebp - 0x10]
mov esp, ebp
pop ebp
ret 0xc