TtmNotifySessionPowerStateChange

VOID __stdcall TtmNotifySessionPowerStateChange(UINT64 SessionId, UINT8 On){
  int v3; 
  _TTMI_SESSION *v4; 
  _TTMI_SESSION v5; 
  unsigned int v6; 
  _TTMI_SESSION *Session; 

  Session = 0i64;
  v3 = (unsigned int)TtmpAcquireSessionById(&Session, (unsigned int)SessionId);
  if( v3 < 0 )
  {
    TtmiLogError((INT8 *)"TtmNotifySessionPowerStateChange", 0xC8Fui64, (unsigned int)v3, 0xFFFFFFFFi64);
    return;
  }
  TtmiLogSessionPowerStateChange(On);
  v4 = Session;
  v5 = Session[1];
  if( On )
  {
    if( (v5 & 0x80u) != 0 )
    {
      v6 = v5 & 0xFFFFFB7F;
      goto LABEL_8;
    }
  }
  else if( (v5 & 0x40) != 0 )
  {
    v6 = v5 & 0xFFFFFBBF | 0x400;
LABEL_8:
    Session[1] = v6;
    TtmiScheduleSessionWorker((__int64)v4, 4);
  }
  ExReleaseResourceLite(&TtmpSessionLock);
  KeLeaveCriticalRegion();
}

Referenced by:

PopPowerInformationInternal