Function at 0x140001b85
Capabilities:
Register network filter via wfp api

Disassembly:
push rbp
push rdi
sub rsp, 0x3c8
lea rbp, [rsp + 0x80]
mov qword [rbp + 0x360], rcx
mov dword [rbp + 0x33c], 0
mov qword [rbp + 0x328], 0
lea rax, [rbp + 0x120]
mov edx, 0x208
mov r8, rdx
mov edx, 0
mov rcx, rax
call sym.memset
mov dword [rbp + 0x338], 0x104
mov qword [rbp + 0xf0], 0
mov qword [rbp + 0xf8], 0
mov qword [rbp + 0x100], 0
mov qword [rbp + 0x108], 0
mov qword [rbp + 0x110], 0
lea rdx, [rbp + 0x20]
mov eax, 0
mov ecx, 0x19
mov rdi, rdx
rep stosq qword [rdi], rax
lea rdx, [rbp - 0x20]
mov eax, 0
mov ecx, 8
mov rdi, rdx
rep stosq qword [rdi], rax
mov qword [rbp - 0x30], 0
mov qword [rbp - 0x28], 0
mov qword [rbp - 0x38], 0
mov qword [rbp - 0x40], 0
mov dword [rbp + 0x334], 0
lea rax, [rbp + 0x328]
mov qword [rsp + 0x20], rax
mov r9d, 0
mov r8d, 0
mov edx, 0xffffffff
mov ecx, 0
call sym.FwpmEngineOpen0
mov dword [rbp + 0x33c], eax
cmp dword [rbp + 0x33c], 0
je 0x140001cb3
mov eax, dword [rbp + 0x33c]
mov edx, eax
lea rax, [0x140006418]
mov rcx, rax
call sym.printf
jmp 0x14000201e
lea rax, [rbp + 0x120]
mov rcx, qword [rbp + 0x360]
mov r8d, 0x104
mov rdx, rax
call sym.CharArrayToWCharArray
lea rdx, [rbp - 0x38]
lea rax, [rbp + 0x120]
mov rcx, rax
call sym.CustomFwpmGetAppIdFromFileName0
mov dword [rbp + 0x334], eax
cmp dword [rbp + 0x334], 0
je 0x140001db5
cmp dword [rbp + 0x334], 5
ja case.0x140001d26.0
mov eax, dword [rbp + 0x334]
lea rdx, [rax*4]
lea rax, [0x140006d28]
mov eax, dword [rdx + rax]
cdqe
lea rdx, [0x140006d28]
add rax, rdx
jmp rax
lea rax, [rbp + 0x120]
mov rdx, rax
lea rax, str.____CustomFwpmGetAppIdFromFileName0_failed_to_convert_the___S__to_app_ID_format._The_file_path_cannot_be_found._n
mov rcx, rax
call sym.printf
jmp 0x140001db0
lea rax, [rbp + 0x120]
mov rdx, rax
lea rax, str.____CustomFwpmGetAppIdFromFileName0_failed_to_convert_the___S__to_app_ID_format._Error_occurred_in_allocating_memory_for_appId._n
mov rcx, rax
call sym.printf
jmp 0x140001db0
lea rax, [rbp + 0x120]
mov rdx, rax
lea rax, str.____CustomFwpmGetAppIdFromFileName0_failed_to_convert_the___S__to_app_ID_format._Please_check_your_input._n
mov rcx, rax
call sym.printf
jmp 0x140001db0
lea rax, [rbp + 0x120]
mov rdx, rax
lea rax, str.____CustomFwpmGetAppIdFromFileName0_failed_to_convert_the___S__to_app_ID_format._The_drive_name_cannot_be_found._n
mov rcx, rax
call sym.printf
jmp 0x140001db0
lea rax, [rbp + 0x120]
mov rdx, rax
lea rax, str.____CustomFwpmGetAppIdFromFileName0_failed_to_convert_the___S__to_app_ID_format._Failed_to_convert_drive_name_to_DOS_device_name._n
mov rcx, rax
call sym.printf
jmp 0x140001db0
nop
jmp 0x14000201e
mov rax, qword [str.Custom_Outbound_Filter]
mov qword [rbp + 0x30], rax
mov dword [rbp + 0x40], 1
mov dword [rbp + 0x60], 0xc38d57d1
mov word [rbp + 0x64], 0x5a7
mov word [rbp + 0x66], 0x4c33
movabs rax, 0x820ee6eebc7f4f90
mov qword [rbp + 0x68], rax
mov dword [rbp + 0xa0], 0x1001
mov qword [rbp - 0x48], 0xffffffffffffffff
mov dword [rbp + 0x80], 4
lea rax, [rbp - 0x48]
mov qword [rbp + 0x88], rax
mov dword [rbp + 0xf0], 0xd78e1e87
mov word [rbp + 0xf4], 0x8644
mov word [rbp + 0xf6], 0x4ea5
movabs rax, 0x71c9efec09d83794
mov qword [rbp + 0xf8], rax
mov dword [rbp + 0x100], 0
mov dword [rbp + 0x108], 0xc
mov rax, qword [rbp - 0x38]
mov qword [rbp + 0x110], rax
lea rax, [rbp + 0xf0]
mov qword [rbp + 0x98], rax
mov dword [rbp + 0x90], 1
mov rcx, qword [str.Microsoft_Windows_WFP_Built_in_custom_provider.]
lea rax, [rbp - 0x30]
mov rdx, rax
call sym.GetProviderGUIDByDescription
test eax, eax
je 0x140001e94
lea rax, [rbp - 0x30]
mov qword [rbp + 0x48], rax
jmp 0x140001f11
mov rax, qword [str.Microsoft_Corporation]
mov qword [rbp - 0x10], rax
mov rax, qword [str.Microsoft_Windows_WFP_Built_in_custom_provider.]
mov qword [rbp - 8], rax
mov dword [rbp], 1
mov rcx, qword [rbp + 0x328]
lea rax, [rbp - 0x20]
mov r8d, 0
mov rdx, rax
call sym.FwpmProviderAdd0
mov dword [rbp + 0x33c], eax
cmp dword [rbp + 0x33c], 0
je 0x140001ef2
mov eax, dword [rbp + 0x33c]
mov edx, eax
lea rax, str.____FwpmProviderAdd0_failed_with_error_code:_0x_x._n
mov rcx, rax
call sym.printf
jmp 0x140001f11
mov rcx, qword [str.Microsoft_Windows_WFP_Built_in_custom_provider.]
lea rax, [rbp - 0x30]
mov rdx, rax
call sym.GetProviderGUIDByDescription
test eax, eax
je 0x140001f11
lea rax, [rbp - 0x30]
mov qword [rbp + 0x48], rax
mov rcx, qword [rbp + 0x328]
lea rdx, [rbp - 0x40]
lea rax, [rbp + 0x20]
mov r9, rdx
mov r8d, 0
mov rdx, rax
call sym.FwpmFilterAdd0
mov dword [rbp + 0x33c], eax
cmp dword [rbp + 0x33c], 0
jne 0x140001f62
mov rdx, qword [rbp - 0x40]
mov rax, qword [rbp + 0x360]
mov r8, rdx
mov rdx, rax
lea rax, str.Added_WFP_filter_for___s___Filter_id:__d__IPv4_layer_._n
mov rcx, rax
call sym.printf
jmp 0x140001f79
mov eax, dword [rbp + 0x33c]
mov edx, eax
lea rax, str.____Failed_to_add_filter_in_IPv4_layer_with_error_code:_0x_x._n
mov rcx, rax
call sym.printf
mov dword [rbp + 0x60], 0x4a72393b
mov word [rbp + 0x64], 0x319f
mov word [rbp + 0x66], 0x44bc
movabs rax, 0xb4b6b3dc54bac384
mov qword [rbp + 0x68], rax
mov rcx, qword [rbp + 0x328]
lea rdx, [rbp - 0x40]
lea rax, [rbp + 0x20]
mov r9, rdx
mov r8d, 0
mov rdx, rax
call sym.FwpmFilterAdd0
mov dword [rbp + 0x33c], eax
cmp dword [rbp + 0x33c], 0
jne 0x140001feb
mov rdx, qword [rbp - 0x40]
mov rax, qword [rbp + 0x360]
mov r8, rdx
mov rdx, rax
lea rax, str.Added_WFP_filter_for___s___Filter_id:__d__IPv6_layer_._n
mov rcx, rax
call sym.printf
jmp 0x140002002
mov eax, dword [rbp + 0x33c]
mov edx, eax
lea rax, str.____Failed_to_add_filter_in_IPv6_layer_with_error_code:_0x_x._n
mov rcx, rax
call sym.printf
mov rax, qword [rbp - 0x38]
mov rcx, rax
call sym.FreeAppId
mov rax, qword [rbp + 0x328]
mov rcx, rax
call sym.FwpmEngineClose0
nop
add rsp, 0x3c8
pop rdi
pop rbp
ret