PopCheckConsoleTimeouts

VOID __stdcall PopCheckConsoleTimeouts(){
  unsigned int v0; 
  unsigned int DisplayTimeout; 
  unsigned int v2; 
  __int64 v3; 
  unsigned __int64 v4; 

  PopPrintEx(3ui64, (INT8 *)"PopAdaptive: >>>>> Policy parameters change\n");
  v0 = PopConsoleContext;
  DisplayTimeout = PopGetDisplayTimeout((unsigned int)PopConsoleContext);
  v2 = PopInputTimeout;
  v3 = DisplayTimeout;
  if( !*((_BYTE *)&PopConsoleContext + 9) || !(_DWORD)PopInputTimeout )
  {
    if( (_DWORD)PopInputTimeout )
    {
      if( (_DWORD)PopInputTimeout == HIDWORD(PopConsoleContext) )
        goto LABEL_8;
    }
    else
    {
      *((_BYTE *)&PopConsoleContext + 9) = 0;
    }
    PopPrintEx(3ui64, (INT8 *)"PopAdaptive: Input timeout: %u->%u\n");
    HIDWORD(PopConsoleContext) = v2;
    PopDiagTraceInputTimeout(
      v2,
      *((unsigned __int8 *)&PopConsoleContext + 9),
      *((unsigned __int8 *)&PopConsoleContext + 8));
    DWORD2(PopLazyContext) = v2;
    LOBYTE(qword_140C203B0) = 1;
    BYTE4(qword_140C203E0) = v2 != 0;
    if( !v2 )
      PopSetSessionUserStatus(v0, PowerUserPresent);
  }
LABEL_8:
  if( (_BYTE)xmmword_140C203D0 && (_DWORD)v3 )
  {
    v4 = v3 + (HIDWORD(xmmword_140C203D0) - DWORD2(xmmword_140C203D0)) / 0x3E8u;
    if( v4 > 0xFFFFFFFF )
      LODWORD(v4) = -1;
    LODWORD(v3) = v4;
  }
  if( (_DWORD)v3 != *((_DWORD *)&PopConsoleContext + 3) )
  {
    PopPrintEx(3ui64, (INT8 *)"PopAdaptive: Display timeout: %u->%u\n");
    *((_DWORD *)&PopConsoleContext + 3) = v3;
    PopDiagTraceDisplayTimeout((unsigned int)v3, BYTE1(xmmword_140C203D0), (unsigned __int8)xmmword_140C203D0);
    HIDWORD(PopLazyContext) = v3;
    BYTE1(qword_140C203B0) = 1;
  }
}

Referenced by:

PopAdaptivePowerSettingCallback