Function at 0x180002d48
Capabilities:
Access firewall rule properties via inetfwrule

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x20], r9
mov qword [rsp + 0x18], r8
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x40
mov r15, rdx
test rcx, rcx
je 0x180002feb
test rdx, rdx
je 0x180002feb
mov r13, qword [rsp + 0xa0]
mov r14, qword [rsp + 0xb0]
test r13, r13
jne 0x180002d99
test r14, r14
je 0x180002feb
mov rax, qword [rcx]
xor ebx, ebx
lea rdx, [rsp + 0x30]
and qword [rsp + 0x80], rbx
and qword [rsp + 0x30], rbx
xor r12d, r12d
xor ebp, ebp
xor esi, esi
xor edi, edi
call qword [rax + 0x90]
test eax, eax
js 0x180002feb
lea rax, [rsp + 0x80]
lea r9, [0x180066958]
lea r8d, [r12 + 1]
lea rcx, [0x180066948]
xor edx, edx
mov qword [rsp + 0x20], rax
call qword [sym.imp.ole32.dll_CoCreateInstance]
test eax, eax
js 0x180002feb
mov rcx, r15
call qword [sym.imp.OLEAUT32.dll_SysReAllocString]
mov r15, rax
mov rax, qword [rsp + 0x90]
test rax, rax
je 0x180002e1c
mov rcx, rax
call qword [sym.imp.OLEAUT32.dll_SysReAllocString]
mov r12, rax
mov rax, qword [rsp + 0x98]
test rax, rax
je 0x180002e35
mov rcx, rax
call qword [sym.imp.OLEAUT32.dll_SysReAllocString]
mov rbp, rax
test r13, r13
je 0x180002e46
mov rcx, r13
call qword [sym.imp.OLEAUT32.dll_SysReAllocString]
mov rsi, rax
mov rcx, qword [rsp + 0xa8]
test rcx, rcx
je 0x180002e5c
call qword [sym.imp.OLEAUT32.dll_SysReAllocString]
mov rdi, rax
test r14, r14
je 0x180002e6d
mov rcx, r14
call qword [sym.imp.OLEAUT32.dll_SysReAllocString]
mov rbx, rax
mov rcx, qword [rsp + 0x80]
mov rdx, r15
mov r8, qword [rcx]
call qword [r8 + 0x40]
xor r14d, r14d
cmp r12, r14
je 0x180002e99
mov rcx, qword [rsp + 0x80]
mov rdx, r12
mov r8, qword [rcx]
call qword [r8 + 0x50]
cmp rsi, r14
je 0x180002eaf
mov rcx, qword [rsp + 0x80]
mov rdx, rsi
mov rax, qword [rcx]
call qword [rax + 0x60]
cmp rdi, r14
je 0x180002ec5
mov rcx, qword [rsp + 0x80]
mov rdx, rdi
mov rax, qword [rcx]
call qword [rax + 0x70]
cmp rbx, r14
je 0x180002f03
mov rcx, qword [rsp + 0x80]
mov edx, 6
mov rax, qword [rcx]
cmp byte [rsp + 0xb8], r14b
jne 0x180002ee9
mov edx, SQLNumResultCols
call qword [rax + 0x80]
mov rcx, qword [rsp + 0x80]
mov rdx, rbx
mov rax, qword [rcx]
call qword [rax + 0x90]
cmp rbp, r14
je 0x180002f1c
mov rcx, qword [rsp + 0x80]
mov rdx, rbp
mov rax, qword [rcx]
call qword [rax + 0x120]
mov rcx, qword [rsp + 0x80]
mov edx, 7
mov rax, qword [rcx]
call qword [rax + 0x130]
mov rcx, qword [rsp + 0x80]
mov edx, 1
mov rax, qword [rcx]
call qword [rax + 0x150]
mov rcx, qword [rsp + 0x80]
or edx, 0xffffffff
mov rax, qword [rcx]
call qword [rax + 0x110]
mov rcx, qword [rsp + 0x30]
mov rdx, qword [rsp + 0x80]
mov rax, qword [rcx]
call qword [rax + 0x40]
movzx r13d, r14b
cmp eax, r14d
mov eax, 1
cmovge r13d, eax
cmp r15, r14
je 0x180002f8d
mov rcx, r15
call qword [sym.imp.OLEAUT32.dll_SysStringLen]
cmp r12, r14
je 0x180002f9b
mov rcx, r12
call qword [sym.imp.OLEAUT32.dll_SysStringLen]
cmp rbp, r14
je 0x180002fa9
mov rcx, rbp
call qword [sym.imp.OLEAUT32.dll_SysStringLen]
cmp rsi, r14
je 0x180002fb7
mov rcx, rsi
call qword [sym.imp.OLEAUT32.dll_SysStringLen]
cmp rdi, r14
je 0x180002fc5
mov rcx, rdi
call qword [sym.imp.OLEAUT32.dll_SysStringLen]
cmp rbx, r14
je 0x180002fd3
mov rcx, rbx
call qword [sym.imp.OLEAUT32.dll_SysStringLen]
mov rcx, qword [rsp + 0x80]
cmp rcx, r14
je 0x180002fe6
mov rdx, qword [rcx]
call qword [rdx + SQLNumResultCols]
mov al, r13b
jmp 0x180002fed
xor al, al
mov rbx, qword [rsp + 0x88]
add rsp, 0x40
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret