PnpCtxOpenContextNodeBaseKey

NTSTATUS __fastcall PnpCtxOpenContextNodeBaseKey(INT64 a1, INT64 a2, INT64 a3, INT64 a4, INT64 a5, INT64 a6, VOID **a7){
  __int64 v7; 
  __int64 v8; 
  NTSTATUS CachedNodeBaseKey; 
  __int64 v10; 
  int v11; 
  VOID *v13; 

  v7 = *(&stru_140CF2E80 + 607);
  v13 = 0i64;
  v8 = *(_QWORD *)(*(&stru_140CF2E80 + 607) + 56i64);
  if( v8 == *(&stru_140CF2E80 + 607) + 56i64 )
    return -1073741772;
  CachedNodeBaseKey = PnpCtxGetCachedNodeBaseKey(*(&stru_140CF2E80 + 607), (__int64 *)(v8 - 16), a4, &v13);
  if( CachedNodeBaseKey >= 0 )
  {
    if( v7 )
      v10 = *(_QWORD *)(v7 + 224);
    else
      v10 = 0i64;
    v11 = SysCtxRegOpenKey(v10, v13, (const WCHAR *)&dword_1407CF120, 0, 0xF003Fu, a7);
    if( v11 == -1073741444 )
    {
      return -1073741595;
    }
    else if( v11 < 0 )
    {
      return v11;
    }
  }
  return CachedNodeBaseKey;
}

Referenced by:

PiDevCfgEnumDeviceKeys