Function at 0x140015968
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, [0x1400dcd50]
mov rcx, qword [0x140106190]
cmp rcx, r15
je 0x1400159c5
test byte [rcx + 0x1c], r13b
je 0x1400159c5
mov edx, 0x12e
mov r8, r12
mov rcx, qword [rcx + 0x10]
call fcn.140003538
mov rcx, qword [0x140106190]
xor esi, esi
cmp dword [rbx + 0x2f0], esi
jne 0x140015e0d
mov qword [rbp - 0x30], rsi
mov dword [rbp + 0x50], esi
movups xmm0, xmmword [0x1400da1a0]
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 0x140015a53
test byte [rcx + 0x1c], r14b
je 0x140015a53
movzx r8d, byte [rcx + 0x19]
mov edx, r14d
test edi, edi
cmovns edx, eax
cmp r8d, edx
jb 0x140015a53
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.1400053dc
test edi, edi
js 0x140015a91
mov r9d, esi
cmp dword [rbp + 0x50], esi
seta r9b
mov dword [rbx + 0x2fc], r9d
mov rcx, qword [0x140106190]
cmp rcx, r15
je 0x140015a91
test byte [rcx + 0x1c], r14b
je 0x140015a91
cmp byte [rcx + 0x19], 4
jb 0x140015a91
mov edx, 0x130
mov r8, r12
mov rcx, qword [rcx + 0x10]
call fcn.1400035ec
mov rcx, qword [rbp - 0x30]
test rcx, rcx
je 0x140015ace
mov edi, esi
cmp dword [rbp + 0x50], esi
jbe 0x140015ac8
mov eax, edi
mov rdx, qword [rcx + rax*8]
test rdx, rdx
je 0x140015ac0
mov rax, qword [rdx]
mov rcx, rdx
mov rax, qword [rax + 0x10]
call qword [case.0x14006d218.0]
mov rcx, qword [rbp - 0x30]
add edi, r13d
cmp edi, dword [rbp + 0x50]
jb 0x140015aa1
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, [0x1400dcc90]
mov r8d, r13d
xor edx, edx
lea rcx, [0x1400dcc80]
call qword [sym.imp.ole32.dll_CoCreateInstance]
mov edi, eax
mov r10, qword [0x140106190]
cmp r10, r15
je 0x140015b4a
test byte [r10 + 0x1c], r14b
je 0x140015b4a
movzx r8d, byte [r10 + 0x19]
mov edx, r14d
test eax, eax
mov eax, 5
cmovns edx, eax
cmp r8d, edx
jb 0x140015b4a
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.14000a9bc
mov r10, qword [0x140106190]
test edi, edi
js 0x140015cb7
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.0x14006d218.0]
mov edi, eax
mov r10, qword [0x140106190]
cmp r10, r15
je 0x140015bb8
test byte [r10 + 0x1c], r14b
je 0x140015bb8
movzx edx, byte [r10 + 0x19]
mov ecx, r14d
test eax, eax
mov eax, 5
cmovns ecx, eax
cmp edx, ecx
jb 0x140015bb8
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.1400053dc
mov r10, qword [0x140106190]
test edi, edi
js 0x140015cb7
or eax, 0xffffffff
cmp ax, word [rbp + 0x48]
jne 0x140015cb7
mov qword [rbp + 0x60], rsi
lea rax, [rbp + 0x60]
mov qword [rsp + 0x20], rax
lea r9, [0x1400dccb0]
mov r8d, r13d
xor edx, edx
lea rcx, [0x1400dcca0]
call qword [sym.imp.ole32.dll_CoCreateInstance]
mov edi, eax
mov r10, qword [0x140106190]
cmp r10, r15
je 0x140015c41
test byte [r10 + 0x1c], r14b
je 0x140015c41
movzx edx, byte [r10 + 0x19]
mov ecx, r14d
test eax, eax
mov eax, 5
cmovns ecx, eax
cmp edx, ecx
jb 0x140015c41
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.14000a9bc
mov r10, qword [0x140106190]
test edi, edi
js 0x140015c9a
mov dword [rbp + 0x48], esi
lea r8, [rbp + 0x48]
lea rdx, str._FirewallAPI.dll__31252
mov rcx, qword [rbp + 0x60]
call fcn.14000f4fc
test eax, eax
js 0x140015c6c
cmp dword [rbp + 0x48], esi
je 0x140015c6c
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.14000f4fc
test eax, eax
js 0x140015c93
cmp dword [rbp + 0x48], esi
je 0x140015c93
mov dword [rbx + 0x2f8], r13d
mov r10, qword [0x140106190]
mov rcx, qword [rbp + 0x60]
test rcx, rcx
je 0x140015cb7
mov rax, qword [rcx]
mov rax, qword [rax + 0x10]
call qword [case.0x14006d218.0]
mov r10, qword [0x140106190]
cmp r10, r15
je 0x140015d12
test byte [r10 + 0x1c], r14b
je 0x140015ce8
cmp byte [r10 + 0x19], 4
jb 0x140015ce8
mov edx, 0x134
mov r9d, dword [rbx + 0x2f4]
mov r8, r12
mov rcx, qword [r10 + 0x10]
call fcn.1400035ec
mov r10, qword [0x140106190]
cmp r10, r15
je 0x140015d12
test byte [r10 + 0x1c], r14b
je 0x140015d12
cmp byte [r10 + 0x19], 4
jb 0x140015d12
mov edx, 0x135
mov r9d, dword [rbx + 0x2f8]
mov r8, r12
mov rcx, qword [r10 + 0x10]
call fcn.1400035ec
call fcn.14000f3d8
mov dword [rbx + 0x300], eax
mov rcx, qword [0x140106190]
cmp rcx, r15
je 0x140015d49
test byte [rcx + 0x1c], r14b
je 0x140015d49
cmp byte [rcx + 0x19], 4
jb 0x140015d49
mov edx, VarR8Pow
mov r9d, eax
mov r8, r12
mov rcx, qword [rcx + 0x10]
call fcn.1400035ec
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, [0x1400dc998]
xor edx, edx
lea r8d, [rdx + 0x17]
lea rcx, [0x1400dcc40]
call qword [sym.imp.ole32.dll_CoCreateInstance]
test eax, eax
js 0x140015da2
mov rcx, qword [rbp - 0x28]
mov rax, qword [rcx]
lea rdx, [rbp + 0x58]
mov rax, qword [rax + 0x18]
call qword [case.0x14006d218.0]
test eax, eax
js 0x140015da2
cmp dword [rbp + 0x58], esi
je 0x140015da2
mov dword [rbx + 0x304], r13d
mov rcx, qword [0x140106190]
cmp rcx, r15
je 0x140015dd2
test byte [rcx + 0x1c], r14b
je 0x140015dd2
cmp byte [rcx + 0x19], 4
jb 0x140015dd2
mov edx, VarR8Pow
mov r9d, dword [rbx + 0x304]
mov r8, r12
mov rcx, qword [rcx + 0x10]
call fcn.1400035ec
mov dword [rbx + 0x2f0], r13d
mov rcx, qword [rbp - 0x28]
test rcx, rcx
je 0x140015df0
mov rax, qword [rcx]
mov rax, qword [rax + 0x10]
call qword [case.0x14006d218.0]
nop
mov rcx, qword [rbp - 0x38]
test rcx, rcx
je 0x140015e06
mov rax, qword [rcx]
mov rax, qword [rax + 0x10]
call qword [case.0x14006d218.0]
mov rcx, qword [0x140106190]
cmp rcx, r15
je 0x140015e29
test byte [rcx + 0x1c], r13b
je 0x140015e29
mov edx, VarR8Pow
mov r8, r12
mov rcx, qword [rcx + 0x10]
call fcn.140003538
add rsp, 0x68
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret