PipHardwareConfigOpenKey

NTSTATUS __stdcall PipHardwareConfigOpenKey(VOID **HardwareConfigKey){
  unsigned int v1; 
  _QWORD *v2; 
  _QWORD *v3; 
  unsigned int v4; 
  int CachedContextBaseKey; 
  __int64 v6; 
  VOID *v7; 
  VOID *v9; 
  VOID *v10; 

  v9 = 0i64;
  v3 = v2;
  v10 = 0i64;
  v4 = v1;
  if( !v2 )
    return -1073741811;
  CachedContextBaseKey = PnpCtxGetCachedContextBaseKey(
                           *(&stru_140CF2E80 + 607),
                           PNPCTX_BASE_KEY_TYPE_MAX|PNPCTX_BASE_KEY_TYPE_SOFTWARE,
                           &v10);
  if( CachedContextBaseKey < 0
    || (!*(&stru_140CF2E80 + 607) ? (v6 = 0i64) : (v6 = *(_QWORD *)(*(&stru_140CF2E80 + 607) + 224i64)),
        CachedContextBaseKey = SysCtxRegOpenKey(v6, v10, L"Current", 0, v4, &v9),
        CachedContextBaseKey < 0) )
  {
    v7 = v9;
  }
  else
  {
    v7 = 0i64;
    *v3 = v9;
    v9 = 0i64;
  }
  if( v7 )
    ZwClose((_HANDLE)v7);
  return CachedContextBaseKey;
}

Referenced by:

PipCheckSystemFirmwareUpdated
PipHardwareConfigGetIndex
PipHardwareConfigGetLastUseTime
PipInitComputerIds
PnpHardwareConfigCreateBootDriverFlags