Function at 0x461940
Capabilities:
Access firewall policy via inetfwpolicy2

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x5913a5
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0xd0
push ebx
push esi
push edi
lea ecx, [ebp - 0x64]
mov dword [ebp - 0x60], 1
mov byte [ebp - 0x64], 0
mov dword [ebp - 0x5c], 0
call fcn.00463b20
mov dword [ebp - 4], 0
mov dword [ebp - 0x18], 0
mov dword [ebp - 0x20], 0
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x24], 0
lea eax, [ebp - 0x24]
mov byte [ebp - 4], 4
push eax
push 0x5b2e38
push 1
push 0
push 0x5b2e28
call dword [sym.imp.ole32.dll_CoCreateInstance]
test eax, eax
js 0x461d61
mov esi, dword [ebp - 0x24]
test esi, esi
je 0x461d61
cmp dword [ebp - 0x20], 0
mov eax, dword [esi]
mov edi, dword [eax + 0x48]
je 0x4619f4
push 0x5b2e6c
push 0xc0
push str.C:_buildworker_steam_rel_client_win32_build_srcpublic_tier1_smartptr.h
call fcn.00477620
add esp, 0xc
test al, al
jne 0x4619f4
int3
lea eax, [ebp - 0x20]
push eax
push esi
call edi
test eax, eax
jns 0x461a06
xor bl, bl
jmp 0x461d63
cmp dword [ebp - 0x1c], 0
mov esi, dword [ebp - 0x20]
mov eax, dword [esi]
mov edi, dword [eax + 0x2c]
je 0x461a30
push 0x5b2e6c
push 0xc0
push str.C:_buildworker_steam_rel_client_win32_build_srcpublic_tier1_smartptr.h
call fcn.00477620
add esp, 0xc
test al, al
jne 0x461a30
int3
lea eax, [ebp - 0x1c]
push eax
push esi
call edi
test eax, eax
jns 0x461a42
xor bl, bl
jmp 0x461d63
cmp dword [ebp - 0x18], 0
mov esi, dword [ebp - 0x1c]
mov eax, dword [esi]
mov edi, dword [eax]
je 0x461a6b
push 0x5b2e6c
push 0xc0
push str.C:_buildworker_steam_rel_client_win32_build_srcpublic_tier1_smartptr.h
call fcn.00477620
add esp, 0xc
test al, al
jne 0x461a6b
int3
lea eax, [ebp - 0x18]
push eax
push 0x5b44a8
push esi
call edi
test eax, eax
jns 0x461a82
xor bl, bl
jmp 0x461d63
lea eax, [ebp - 0x74]
mov byte [ebp - 0xe], 0
mov ebx, 1
push eax
mov dword [ebp - 0x3c], ebx
call dword [sym.imp.OLEAUT32.dll_VariantClear]
mov eax, dword [ebp - 0x18]
lea edx, [ebp - 0x50]
push edx
lea edx, [ebp - 0x74]
push edx
mov ecx, dword [eax]
push ebx
push eax
call dword [ecx + 0xc]
test eax, eax
js 0x461d49
mov ebx, dword [ebp + 8]
cmp dword [ebp - 0x50], 0
je 0x461d46
mov ecx, dword [ebp - 0x6c]
lea edx, [ebp - 0x14]
push edx
mov dword [ebp - 0x14], 0
push 0x5b2de4
mov eax, dword [ecx]
push ecx
call dword [eax]
mov ecx, dword [ebp - 0x14]
lea edx, [ebp - 0x54]
mov dword [ebp - 0x54], 0
mov dword [ebp - 0x44], 3
mov dword [ebp - 0x48], 2
mov dword [ebp - 0x4c], 0
mov dword [ebp - 0x38], 0
mov eax, dword [ecx]
push edx
push ecx
call dword [eax + 0x84]
mov ecx, dword [ebp - 0x14]
lea edx, [ebp - 0x44]
push edx
push ecx
mov eax, dword [ecx]
call dword [eax + 0x6c]
mov ecx, dword [ebp - 0x14]
lea edx, [ebp - 0x48]
push edx
push ecx
mov eax, dword [ecx]
call dword [eax + 0xa4]
mov ecx, dword [ebp - 0x14]
lea edx, [ebp - 0x4c]
push edx
push ecx
mov eax, dword [ecx]
call dword [eax + 0x94]
mov ecx, dword [ebp - 0x14]
lea edx, [ebp - 0x38]
push edx
push ecx
mov eax, dword [ecx]
call dword [eax + 0x2c]
mov esi, dword [ebp - 0x38]
xor eax, eax
test esi, esi
mov dword [ebp - 0x2c], eax
mov edi, 0x593554
mov dword [ebp - 0x28], 0x4000000
cmovne edi, eax
mov dword [ebp - 0x40], esi
mov dword [ebp - 0x30], esi
mov dword [ebp - 0x34], edi
mov byte [ebp - 4], 0x15
test edi, edi
jne 0x461b99
push 4
push edi
push edi
push esi
mov byte [ebp - 0x28], 1
call fcn.0046dc00
mov esi, eax
push esi
call fcn.0056be3b
push 0
mov edi, eax
push esi
mov esi, dword [ebp - 0x40]
push edi
push esi
mov dword [ebp - 0x34], edi
call fcn.0046dc00
add esp, 0x24
test ebx, ebx
je 0x461bec
test edi, edi
je 0x461bf0
push SysReAllocString
push ebx
push edi
call fcn.0046a630
add esp, 0xc
test eax, eax
je 0x461c90
push ebx
call fcn.00461de0
push edi
mov dword [ebp - 0x58], eax
call fcn.00461de0
mov ecx, dword [ebp - 0x58]
add esp, 8
test ecx, ecx
je 0x461bec
test eax, eax
je 0x461bec
push SysReAllocString
push eax
push ecx
call fcn.0046a630
add esp, 0xc
test eax, eax
je 0x461c90
test edi, edi
jne 0x461c1c
push 4
push 0
push 0
push esi
mov byte [ebp - 0x28], 1
call fcn.0046dc00
mov esi, eax
push esi
call fcn.0056be3b
push 0
mov edi, eax
push esi
push edi
push dword [ebp - 0x40]
mov dword [ebp - 0x34], edi
call fcn.0046dc00
add esp, 0x24
test ebx, ebx
je 0x461c96
test edi, edi
je 0x461c96
push 0x34
lea eax, [ebp - 0xa8]
push 0
push eax
call fcn.0056d800
push 0x34
lea eax, [ebp - 0xdc]
push 0
push eax
call fcn.0056d800
lea eax, [ebp - 0xa8]
push eax
push ebx
call fcn.00461e40
add esp, 0x20
test al, al
je 0x461c96
lea eax, [ebp - 0xdc]
push eax
push edi
call fcn.00461e40
add esp, 8
test al, al
je 0x461c96
mov eax, dword [ebp - 0x8c]
cmp eax, dword [ebp - 0xc0]
jne 0x461c96
mov eax, dword [ebp - 0x7c]
cmp eax, dword [ebp - 0xb0]
jne 0x461c96
mov eax, dword [ebp - 0x78]
cmp eax, dword [ebp - 0xac]
jne 0x461c96
mov byte [ebp - 0xd], 1
jmp 0x461c9a
mov byte [ebp - 0xd], 0
push dword [ebp - 0x38]
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
cmp byte [ebp - 0xd], 0
je 0x461ce5
cmp dword [ebp - 0x44], 1
jne 0x461ce5
cmp dword [ebp - 0x48], 1
jne 0x461ce5
mov edx, dword [ebp - 0x4c]
mov eax, edx
and eax, 7
mov byte [ebp - 0xe], 1
cmp al, 7
je 0x461ce5
mov ecx, dword [ebp - 0x14]
or edx, 7
push edx
push ecx
mov eax, dword [ecx]
call dword [eax + 0x98]
mov ecx, dword [ebp - 0x3c]
xor edx, edx
test eax, eax
movzx ecx, cl
cmovs ecx, edx
mov dword [ebp - 0x3c], ecx
mov ecx, dword [ebp - 0x14]
test ecx, ecx
je 0x461cf2
mov eax, dword [ecx]
push ecx
call dword [eax + 8]
lea eax, [ebp - 0x74]
push eax
call dword [sym.imp.OLEAUT32.dll_VariantCopy]
cmp byte [ebp - 0x28], 0
mov byte [ebp - 4], 4
je 0x461d0f
push edi
call fcn.0056be44
add esp, 4
mov eax, dword [ebp - 0x18]
lea edx, [ebp - 0x50]
push edx
lea edx, [ebp - 0x74]
mov dword [ebp - 0x34], 0
push edx
mov ecx, dword [eax]
push 1
push eax
mov dword [ebp - 0x30], 0
mov dword [ebp - 0x2c], 0
mov dword [ebp - 0x28], 0x4000000
call dword [ecx + 0xc]
test eax, eax
jns 0x461ab5
mov ebx, dword [ebp - 0x3c]
lea eax, [ebp - 0x74]
push eax
call dword [sym.imp.OLEAUT32.dll_VariantCopy]
cmp byte [ebp - 0xe], 0
je 0x461d5d
test bl, bl
jne 0x461d61
xor bl, bl
jmp 0x461d63
mov bl, 1
mov esi, dword [ebp - 0x24]
mov byte [ebp - 4], 0x16
test esi, esi
je 0x461d7b
mov dword [ebp - 0x24], 0
mov eax, dword [esi]
push esi
call dword [eax + 8]
mov ecx, dword [ebp - 0x1c]
mov byte [ebp - 4], 0x17
test ecx, ecx
je 0x461d93
mov dword [ebp - 0x1c], 0
mov eax, dword [ecx]
push ecx
call dword [eax + 8]
mov ecx, dword [ebp - 0x20]
mov byte [ebp - 4], 0x18
test ecx, ecx
je 0x461dab
mov dword [ebp - 0x20], 0
mov eax, dword [ecx]
push ecx
call dword [eax + 8]
mov eax, dword [ebp - 0x18]
mov byte [ebp - 4], 0x19
test eax, eax
je 0x461dc3
mov dword [ebp - 0x18], 0
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
lea ecx, [ebp - 0x64]
call fcn.00462410
mov ecx, dword [ebp - 0xc]
mov al, bl
pop edi
pop esi
pop ebx
mov dword fs:[0], ecx
mov esp, ebp
pop ebp
ret