CmpFreeSubordinatePost

VOID __fastcall CmpFreeSubordinatePost(INT64 a1){
  _QWORD **v1; 
  _QWORD *v2; 
  __int64 v3; 
  _QWORD *v4; 
  _QWORD *v5; 
  __int64 v6; 
  _QWORD *v7; 

  v1 = (_QWORD **)(a1 + 32);
  v2 = *v1;
  if( *v1 != v1 )
  {
    v3 = *v2;
    v4 = v2 - 4;
    if( *(_QWORD **)(*v2 + 8i64) != v2
      || (v5 = (_QWORD *)v2[1], (_QWORD *)*v5 != v2)
      || (*v5 = v3, *(_QWORD *)(v3 + 8) = v5, v6 = v4[2], *(_QWORD **)(v6 + 8) != v4 + 2)
      || (v7 = (_QWORD *)v4[3], (_QWORD *)*v7 != v4 + 2) )
    {
      __fastfail(3u);
    }
    *v7 = v6;
    *(_QWORD *)(v6 + 8) = v7;
    CmpFreePostBlock(v4);
  }
}

Referenced by:

CmNotifyRunDown
CmpPostApc
CmpPostApcRunDown
CmpPostNotify