PopExecutionRequiredSettingCallback

INT64 __stdcall PopExecutionRequiredSettingCallback(
        const _GUID *SettingGuid,
        UINT64 *NewValue,
        UINT64 ValueLength,
        PVOID Context){
  int v5; 
  unsigned int v7; 
  __int64 v8; 
  v5 = ValueLength;
  v7 = -1073741811;
  PopAcquirePowerRequestPushLock(1);
  v8 = *(_QWORD *)&GUID_EXECUTION_REQUIRED_REQUEST_TIMEOUT.Data1 - *(_QWORD *)&SettingGuid->Data1;
  if( *(_QWORD *)&GUID_EXECUTION_REQUIRED_REQUEST_TIMEOUT.Data1 == *(_QWORD *)&SettingGuid->Data1 )
    v8 = *(_QWORD *)GUID_EXECUTION_REQUIRED_REQUEST_TIMEOUT.Data4 - *(_QWORD *)SettingGuid->Data4;
  if( !v8 && v5 == 4 && NewValue )
  {
    KeCancelTimer((PKTIMER)&PopExecutionRequiredTimer);
    *(_DWORD *)PopExecutionRequiredTimeout = *(_DWORD *)NewValue;
    PopSetExecutionRequiredTimer();
    PopHandleExecutionRequiredEnablementUpdate();
    v7 = 0;
  }
  PopReleaseRwLock((UINT64)&PopPowerRequestLock);
  return v7;
}

Referenced by:

No references.