Function at 0x4017a0
Capabilities:
Delete network filter via wfp api
Enumerate network filters via wfp api

Disassembly:
push ebx
mov ebx, esp
sub esp, 8
and esp, 0xfffffff0
add esp, 4
push ebp
mov ebp, dword [ebx + 4]
mov dword [esp + 4], ebp
mov ebp, esp
sub esp, 0x58
mov eax, dword [section..data]
xor eax, ebp
mov dword [ebp - 4], eax
push esi
xorps xmm0, xmm0
mov dword [ebp - 0x44], 0
push edi
xor eax, eax
movaps xmmword [ebp - 0x40], xmm0
push str._i__Getting_WFP_engine_handle_n
movaps xmmword [ebp - 0x30], xmm0
movq qword [ebp - 0x20], xmm0
mov dword [ebp - 0x48], 0
mov dword [ebp - 0x4c], 0
mov dword [ebp - 8], 0
mov dword [ebp - 0x50], eax
call fcn.00401010
add esp, 4
lea eax, [ebp - 0x44]
push eax
push 0
push 0
push 0xffffffffffffffff
push 0
call dword [sym.imp.fwpuclnt.dll_FwpmEngineOpen0]
test eax, eax
je 0x401824
push eax
push str.___X__FwpmEngineOpen0_failed_with_code_0x_x._n
jmp 0x40198d
push str._i__Reading_provider_n
call fcn.00401010
add esp, 4
lea eax, [ebp - 0x40]
push eax
push 0x403be8
push dword [ebp - 0x44]
call dword [sym.imp.fwpuclnt.dll_FwpmProviderGetByKey0]
cmp eax, 0x80320008
jne 0x40186a
push str.___X__Provider_not_found_n
call fcn.00401010
add esp, 4
pop edi
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00401cf3
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret
test eax, eax
je 0x401879
push eax
push str.___X__FwpmProviderGetByKey0_failed_with_code_0x_x._n
jmp 0x40198d
push str._i__Opening_filter_enum_handle_n
call fcn.00401010
add esp, 4
lea eax, [ebp - 0x48]
push eax
push 0
push dword [ebp - 0x44]
call dword [sym.imp.fwpuclnt.dll_FwpmFilterCreateEnumHandle0]
mov esi, eax
test esi, esi
je 0x4018af
push dword [ebp - 0x44]
call dword [sym.imp.fwpuclnt.dll_FwpmEngineClose0]
push esi
push str.___X__FwpmFilterCreateEnumHandle0_failed_with_code_0x_x._n
jmp 0x40198d
push str._i__Reading_and_deleting_filters_from_hardcoded_provider_n
call fcn.00401010
add esp, 4
lea eax, [ebp - 8]
push eax
lea eax, [ebp - 0x4c]
push eax
push 1
push dword [ebp - 0x48]
push dword [ebp - 0x44]
call dword [sym.imp.fwpuclnt.dll_FwpmFilterEnum0]
test eax, eax
jne 0x401987
nop word [eax + eax]
cmp dword [ebp - 8], 0
je 0x4019a8
mov eax, dword [ebp - 0x4c]
mov edi, dword [eax]
mov eax, str.Alex_WFPMDE_filter
mov ecx, dword [edi + 0x10]
mov dx, word [ecx]
cmp dx, word [eax]
jne 0x40191d
test dx, dx
je 0x401919
mov dx, word [ecx + 2]
cmp dx, word [eax + 2]
jne 0x40191d
add ecx, 4
add eax, 4
test dx, dx
jne 0x4018f7
xor eax, eax
jmp 0x401922
sbb eax, eax
or eax, 1
test eax, eax
jne 0x401969
mov esi, dword [edi + 0x88]
mov edi, dword [edi + 0x8c]
push edi
push esi
push dword [ebp - 0x44]
mov dword [ebp - 0x50], 1
call dword [sym.imp.fwpuclnt.dll_FwpmFilterDeleteById0]
test eax, eax
jne 0x401959
push esi
push edi
push str._____Deleted_filter_with_id:_0x_x_x._n
call fcn.00401010
add esp, 0xc
jmp 0x401969
push eax
push esi
push edi
push str.___X__Failed_to_delete_filter_with_id:_0x_x_x_and_error_code:_0x_x._n
call fcn.00401010
add esp, 0x10
lea eax, [ebp - 8]
push eax
lea eax, [ebp - 0x4c]
push eax
push 1
push dword [ebp - 0x48]
push dword [ebp - 0x44]
call dword [sym.imp.fwpuclnt.dll_FwpmFilterEnum0]
test eax, eax
je 0x4018e0
push eax
push str.___X__FwpmFilterEnum0_failed_with_code_0x_x._n
call fcn.00401010
add esp, 8
pop edi
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00401cf3
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret
cmp dword [ebp - 0x50], 0
jne 0x4019bb
push str.______No_filters_found_n
call fcn.00401010
add esp, 4
push str._i__Deleting_provider_n
call fcn.00401010
add esp, 4
push 0x403be8
push dword [ebp - 0x44]
call dword [sym.imp.fwpuclnt.dll_FwpmProviderDeleteByKey0]
test eax, eax
je 0x4019e2
push eax
push str._X__FwpmProviderDeleteByKey0_failed_with_code_0x_x._n
jmp 0x40198d
push dword [ebp - 0x48]
push dword [ebp - 0x44]
call dword [sym.imp.fwpuclnt.dll_FwpmFilterDestroyEnumHandle0]
push dword [ebp - 0x44]
call dword [sym.imp.fwpuclnt.dll_FwpmEngineClose0]
mov ecx, dword [ebp - 4]
pop edi
xor ecx, ebp
pop esi
call fcn.00401cf3
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret