TtmpTerminal0PowerSettingCallback

VOID __fastcall TtmpTerminal0PowerSettingCallback(INT64 a1, INT64 a2, INT64 a3, INT64 a4, INT64 a5, INT64 a6){
  _ETHREAD *CurrentThread; 
  int v8; 
  __int64 v11; 
  UINT64 v12; 
  UINT64 v13; 
  CurrentThread = (_ETHREAD *)KeGetCurrentThread();
  v8 = a3;
  --*((_WORD *)CurrentThread + 242);
  ExAcquireResourceExclusiveLite(&TtmpSessionLock, 1u);
  if( v8 == 4 && *(_BYTE *)(a4 + 240) && (*(_DWORD *)(a4 + 4) & 4) == 0 )
  {
    v11 = *(_QWORD *)a1 - *(_QWORD *)&GUID_VIDEO_DIM_TIMEOUT.Data1;
    v12 = *(unsigned int *)a2;
    if( *(_QWORD *)a1 == *(_QWORD *)&GUID_VIDEO_DIM_TIMEOUT.Data1 )
      v11 = *(_QWORD *)(a1 + 8) - *(_QWORD *)GUID_VIDEO_DIM_TIMEOUT.Data4;
    if( v11 )
    {
      *(_DWORD *)(a4 + 268) = v12;
      v13 = (unsigned int)v12;
      v12 = *(unsigned int *)(a4 + 264);
    }
    else
    {
      v13 = *(unsigned int *)(a4 + 268);
      *(_DWORD *)(a4 + 264) = v12;
    }
    TtmiTerminalSetDisplayTimeouts((UINT64 *)a4, *(_QWORD *)(a4 + 32), v12, v13);
  }
  ExReleaseResourceLite(&TtmpSessionLock);
  KeLeaveCriticalRegion();
}

Referenced by:

No references.