SetFailureLocation

VOID __stdcall SetFailureLocation(
        _HIVE_LOAD_FAILURE *HiveLoadFailure,
        UINT64 Recoverable,
        _CM_LOAD_FAILURE_TYPE Type,
        INT64 Status,
        UINT64 Point){
  int v5; 
  int v7; 
  __int64 Index; 
  __int64 RecoverableIndex; 
  char v11; 
  _CM_LOAD_FAILURE_TYPE v12; 
  int v13; 
  int v14; 
  _EVENT_DATA_DESCRIPTOR v15; 
  char *v16; 
  int v17; 
  int v18; 
  _CM_LOAD_FAILURE_TYPE *v19; 
  int v20; 
  int v21; 
  int *v22; 
  int v23; 
  int v24; 
  int *v25; 
  int v26; 
  int v27; 

  v5 = Status;
  v7 = Recoverable;
  if( *(&stru_140C00F40 + 1148) > 5u )
  {
    v18 = 0;
    v21 = 0;
    v24 = 0;
    v27 = 0;
    v16 = &v11;
    v19 = &v12;
    v22 = &v13;
    v25 = &v14;
    v12 = Type;
    v20 = 4;
    v13 = Status;
    v23 = 4;
    v26 = 4;
    v11 = Recoverable;
    v17 = 1;
    v14 = Point;
    tlgWriteTransfer_EtwWriteTransfer(
      (__int64)&stru_140C00F40 + 4592,
      (unsigned __int8 *)word_14002D31A,
      0i64,
      0i64,
      6u,
      &v15);
  }
  if( HiveLoadFailure )
  {
    if( v7 )
    {
      RecoverableIndex = HiveLoadFailure->RecoverableIndex;
      if( (unsigned int)RecoverableIndex < 8 )
      {
        *((_DWORD *)&HiveLoadFailure->RecoverableLocations.Failure + 3 * RecoverableIndex) = Type;
        *(&HiveLoadFailure->RecoverableLocations.Status + 3 * HiveLoadFailure->RecoverableIndex) = v5;
        *(&HiveLoadFailure->RecoverableLocations.Point + 3 * HiveLoadFailure->RecoverableIndex++) = Point;
      }
    }
    else
    {
      Index = HiveLoadFailure->Index;
      if( (unsigned int)Index < 8 )
      {
        *((_DWORD *)&HiveLoadFailure->Locations.Failure + 3 * Index) = Type;
        *(&HiveLoadFailure->Locations.Status + 3 * HiveLoadFailure->Index) = v5;
        *(&HiveLoadFailure->Locations.Point + 3 * HiveLoadFailure->Index++) = Point;
      }
    }
  }
}

Referenced by:

CmCheckRegistry
CmLoadAppKey
CmLoadKey
CmpCheckKey
CmpCheckLeaf
CmpCheckRegistry2
CmpCheckValueList
CmpCreateHive
CmpDoFileRead
CmpInitHiveFromFile
CmpLinkHiveToMaster
CmpLoadHiveThread
CmpLoadKeyCommon
CmpMountPreloadedHives
CmpResolveHiveLoadConflict
CmpValidateHiveSecurityDescriptors
HvCheckBin
HvCheckHive
HvHiveStartFileBacked
HvHiveStartMemoryBacked
HvpBuildMapForMemoryBackedHive
HvpEnlistFreeCells
HvpInitMap
HvpPerformLogFileRecovery