CmpUnJoinClassOfTrust

VOID __fastcall CmpUnJoinClassOfTrust(INT64 a1){
  _QWORD *v1; 
  __int64 v2; 
  _QWORD *v3; 
  v1 = (_QWORD *)(a1 + 4160);
  if( (_QWORD *)*v1 != v1 )
  {
    CmpLockHiveListExclusive();
    v2 = *v1;
    if( *(_QWORD **)(*v1 + 8i64) != v1 || (v3 = (_QWORD *)v1[1], (_QWORD *)*v3 != v1) )
      __fastfail(3u);
    *v3 = v2;
    *(_QWORD *)(v2 + 8) = v3;
    CmpUnlockHiveList();
  }
}

Referenced by:

CmShutdownSystem
CmpCompleteUnloadKey
CmpDestroyHive
CmpResolveHiveLoadConflict