Function at 0x140015d4c
Capabilities:
Access firewall policy via inetfwpolicy2

Disassembly:
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
mov rbp, rsp
sub rsp, 0x68
mov qword [rbp - 0x20], 0xfffffffffffffffe
mov rbx, rcx
lea r15, [0x140106190]
mov r13d, 1
lea r12, [0x1400dd6d0]
mov rcx, qword [0x140106190]
cmp rcx, r15
je 0x140015da9
test byte [rcx + 0x1c], r13b
je 0x140015da9
mov edx, 0x12e
mov r8, r12
mov rcx, qword [rcx + 0x10]
call fcn.140003574
mov rcx, qword [0x140106190]
xor esi, esi
cmp dword [rbx + 0x2f0], esi
jne 0x1400161f1
mov qword [rbp - 0x30], rsi
mov dword [rbp + 0x50], esi
movups xmm0, xmmword [0x1400e90f0]
movdqu xmmword [rbp - 0x18], xmm0
lea rax, [rbp + 0x50]
mov qword [rsp + 0x28], rax
lea rax, [rbp - 0x30]
mov qword [rsp + 0x20], rax
xor r9d, r9d
xor r8d, r8d
lea edx, [rsi + 0x1c]
lea rcx, [rbp - 0x18]
call qword [sym.imp.MFPlat.DLL_MFTEnumEx]
mov edi, eax
lea eax, [rsi + 5]
lea r14d, [rsi + 2]
mov rcx, qword [0x140106190]
cmp rcx, r15
je 0x140015e37
test byte [rcx + 0x1c], r14b
je 0x140015e37
movzx r8d, byte [rcx + 0x19]
mov edx, r14d
test edi, edi
cmovns edx, eax
cmp r8d, edx
jl 0x140015e37
mov edx, 0x12f
mov eax, dword [rbp + 0x50]
mov dword [rsp + 0x20], eax
mov r9d, edi
mov r8, r12
mov rcx, qword [rcx + 0x10]
call fcn.1400054b8
test edi, edi
js 0x140015e75
mov r9d, esi
cmp dword [rbp + 0x50], esi
seta r9b
mov dword [rbx + 0x2fc], r9d
mov rcx, qword [0x140106190]
cmp rcx, r15
je 0x140015e75
test byte [rcx + 0x1c], r14b
je 0x140015e75
cmp byte [rcx + 0x19], 4
jb 0x140015e75
mov edx, 0x130
mov r8, r12
mov rcx, qword [rcx + 0x10]
call fcn.140003634
mov rcx, qword [rbp - 0x30]
test rcx, rcx
je 0x140015eb2
mov edi, esi
cmp dword [rbp + 0x50], esi
jbe 0x140015eac
mov eax, edi
mov rdx, qword [rcx + rax*8]
test rdx, rdx
je 0x140015ea4
mov rax, qword [rdx]
mov rcx, rdx
mov rax, qword [rax + 0x10]
call qword [case.0x14006e230.0]
mov rcx, qword [rbp - 0x30]
add edi, r13d
cmp edi, dword [rbp + 0x50]
jb 0x140015e85
call qword [sym.imp.ole32.dll_CoTaskMemFree]
mov qword [rbx + 0x2f4], rsi
mov qword [rbp - 0x38], rsi
lea rax, [rbp - 0x38]
mov qword [rsp + 0x20], rax
lea r9, [0x1400dd610]
mov r8d, r13d
xor edx, edx
lea rcx, [0x1400dd600]
call qword [sym.imp.ole32.dll_CoCreateInstance]
mov edi, eax
mov r10, qword [0x140106190]
cmp r10, r15
je 0x140015f2e
test byte [r10 + 0x1c], r14b
je 0x140015f2e
movzx r8d, byte [r10 + 0x19]
mov edx, r14d
test eax, eax
mov eax, 5
cmovns edx, eax
cmp r8d, edx
jl 0x140015f2e
mov edx, 0x131
mov rax, qword [rbp - 0x38]
mov qword [rsp + 0x20], rax
mov r9d, edi
mov r8, r12
mov rcx, qword [r10 + 0x10]
call fcn.14000acd0
mov r10, qword [0x140106190]
test edi, edi
js 0x14001609b
mov word [rbp + 0x48], si
mov rcx, qword [rbp - 0x38]
mov rax, qword [rcx]
lea rdx, [rbp + 0x48]
mov rax, qword [rax + 0x60]
call qword [case.0x14006e230.0]
mov edi, eax
mov r10, qword [0x140106190]
cmp r10, r15
je 0x140015f9c
test byte [r10 + 0x1c], r14b
je 0x140015f9c
movzx edx, byte [r10 + 0x19]
mov ecx, r14d
test eax, eax
mov eax, 5
cmovns ecx, eax
cmp edx, ecx
jl 0x140015f9c
movsx eax, word [rbp + 0x48]
mov edx, 0x132
mov dword [rsp + 0x20], eax
mov r9d, edi
mov r8, r12
mov rcx, qword [r10 + 0x10]
call fcn.1400054b8
mov r10, qword [0x140106190]
test edi, edi
js 0x14001609b
or eax, 0xffffffff
cmp ax, word [rbp + 0x48]
jne 0x14001609b
mov qword [rbp + 0x60], rsi
lea rax, [rbp + 0x60]
mov qword [rsp + 0x20], rax
lea r9, [0x1400dd630]
mov r8d, r13d
xor edx, edx
lea rcx, [0x1400dd620]
call qword [sym.imp.ole32.dll_CoCreateInstance]
mov edi, eax
mov r10, qword [0x140106190]
cmp r10, r15
je 0x140016025
test byte [r10 + 0x1c], r14b
je 0x140016025
movzx edx, byte [r10 + 0x19]
mov ecx, r14d
test eax, eax
mov eax, 5
cmovns ecx, eax
cmp edx, ecx
jl 0x140016025
mov edx, 0x133
mov rax, qword [rbp + 0x60]
mov qword [rsp + 0x20], rax
mov r9d, edi
mov r8, r12
mov rcx, qword [r10 + 0x10]
call fcn.14000acd0
mov r10, qword [0x140106190]
test edi, edi
js 0x14001607e
mov dword [rbp + 0x48], esi
lea r8, [rbp + 0x48]
lea rdx, str._FirewallAPI.dll__31252
mov rcx, qword [rbp + 0x60]
call fcn.14000f92c
test eax, eax
js 0x140016050
cmp dword [rbp + 0x48], esi
je 0x140016050
mov dword [rbx + 0x2f4], r13d
mov dword [rbp + 0x48], esi
lea r8, [rbp + 0x48]
lea rdx, str._FirewallAPI.dll__31500
mov rcx, qword [rbp + 0x60]
call fcn.14000f92c
test eax, eax
js 0x140016077
cmp dword [rbp + 0x48], esi
je 0x140016077
mov dword [rbx + 0x2f8], r13d
mov r10, qword [0x140106190]
mov rcx, qword [rbp + 0x60]
test rcx, rcx
je 0x14001609b
mov rax, qword [rcx]
mov rax, qword [rax + 0x10]
call qword [case.0x14006e230.0]
mov r10, qword [0x140106190]
cmp r10, r15
je 0x1400160f6
test byte [r10 + 0x1c], r14b
je 0x1400160cc
cmp byte [r10 + 0x19], 4
jb 0x1400160cc
mov edx, 0x134
mov r9d, dword [rbx + 0x2f4]
mov r8, r12
mov rcx, qword [r10 + 0x10]
call fcn.140003634
mov r10, qword [0x140106190]
cmp r10, r15
je 0x1400160f6
test byte [r10 + 0x1c], r14b
je 0x1400160f6
cmp byte [r10 + 0x19], 4
jb 0x1400160f6
mov edx, 0x135
mov r9d, dword [rbx + 0x2f8]
mov r8, r12
mov rcx, qword [r10 + 0x10]
call fcn.140003634
call fcn.14000f804
mov dword [rbx + 0x300], eax
mov rcx, qword [0x140106190]
cmp rcx, r15
je 0x14001612d
test byte [rcx + 0x1c], r14b
je 0x14001612d
cmp byte [rcx + 0x19], 4
jb 0x14001612d
mov edx, VarR8Pow
mov r9d, eax
mov r8, r12
mov rcx, qword [rcx + 0x10]
call fcn.140003634
mov qword [rbp - 0x28], rsi
mov dword [rbx + 0x304], esi
mov dword [rbp + 0x58], esi
lea rax, [rbp - 0x28]
mov qword [rsp + 0x20], rax
lea r9, [0x1400dd318]
xor edx, edx
lea r8d, [rdx + 0x17]
lea rcx, [0x1400dd5c0]
call qword [sym.imp.ole32.dll_CoCreateInstance]
test eax, eax
js 0x140016186
mov rcx, qword [rbp - 0x28]
mov rax, qword [rcx]
lea rdx, [rbp + 0x58]
mov rax, qword [rax + 0x18]
call qword [case.0x14006e230.0]
test eax, eax
js 0x140016186
cmp dword [rbp + 0x58], esi
je 0x140016186
mov dword [rbx + 0x304], r13d
mov rcx, qword [0x140106190]
cmp rcx, r15
je 0x1400161b6
test byte [rcx + 0x1c], r14b
je 0x1400161b6
cmp byte [rcx + 0x19], 4
jb 0x1400161b6
mov edx, VarR8Pow
mov r9d, dword [rbx + 0x304]
mov r8, r12
mov rcx, qword [rcx + 0x10]
call fcn.140003634
mov dword [rbx + 0x2f0], r13d
mov rcx, qword [rbp - 0x28]
test rcx, rcx
je 0x1400161d4
mov rax, qword [rcx]
mov rax, qword [rax + 0x10]
call qword [case.0x14006e230.0]
nop
mov rcx, qword [rbp - 0x38]
test rcx, rcx
je 0x1400161ea
mov rax, qword [rcx]
mov rax, qword [rax + 0x10]
call qword [case.0x14006e230.0]
mov rcx, qword [0x140106190]
cmp rcx, r15
je 0x14001620d
test byte [rcx + 0x1c], r13b
je 0x14001620d
mov edx, VarR8Pow
mov r8, r12
mov rcx, qword [rcx + 0x10]
call fcn.140003574
add rsp, 0x68
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret