TtmNotifySessionPowerRequestDeleted

VOID __stdcall TtmNotifySessionPowerRequestDeleted(UINT64 SessionId, INT64 a2){
  unsigned __int64 v2; 
  int v3; 
  __int64 v4; 
  int v5; 
  __int64 v6; 
  _QWORD *i; 
  _QWORD *v8; 
  __int64 v9; 
  v9 = 0i64;
  v2 = (int)a2;
  v3 = TtmpAcquireSessionById(&v9, SessionId);
  v4 = v9;
  if( v3 >= 0 )
  {
    if( *(_DWORD *)(v9 + 272) )
    {
      v5 = *(_DWORD *)(v9 + 276) >> 5;
      v6 = -1i64 << (*(_DWORD *)(v9 + 276) & 0x1F);
      v9 = v6 & v2;
      for( i = (_QWORD *)(*(_QWORD *)(v4 + 280)
                         + 8
                         * ((37
                           * ((unsigned __int8)((v6 & v2) >> 48)
                            + 37
                            * ((unsigned __int8)((unsigned __int16)((v6 & v2) >> 32) >> 8)
                             + 37
                             * ((unsigned __int8)((v6 & v2) >> 32)
                              + 37
                              * ((((unsigned int)v6 & (unsigned int)v2) >> 24)
                               + 37
                               * ((unsigned __int8)(((unsigned int)v6 & (unsigned int)v2) >> 16)
                                + 37
                                * ((unsigned __int8)((unsigned __int16)(v6 & v2) >> 8)
                                 + 37 * ((unsigned __int8)(v6 & v2) + 11623883)))))))
                           + ((v6 & v2) >> 56)) & (unsigned int)(v5 - 1))); ; i = (_QWORD *)*i )
      {
        v8 = (_QWORD *)*i;
        if( (*i & 1) != 0 )
          break;
        if( (v6 & v8[1]) == (v6 & v2) )
        {
          *i = *v8;
          --*(_DWORD *)(v4 + 272);
          *v8 |= 0x8000000000000002ui64;
          goto LABEL_10;
        }
      }
      v8 = 0i64;
LABEL_10:
      if( v8 )
        ExFreePoolWithTag(v8, 0x52507454u);
    }
    TtmiLogSessionPowerRequestDeleted();
  }
  else
  {
    TtmiLogError((PSTR)"TtmNotifySessionPowerRequestDeleted", 3666i64, (unsigned int)v3, -1i64);
  }
  if( v4 )
  {
    ExReleaseResourceLite(&TtmpSessionLock);
    KeLeaveCriticalRegion();
  }
}

Referenced by:

PopNotifySessionUserPowerRequestDeleted