PopCheckpointSystemSleep
VOID __stdcall PopCheckpointSystemSleep(POP_SLEEP_CHECKPOINT Progress){
void *v1;
unsigned __int64 v2;
unsigned __int64 v3;
v1 = (void *)(int)Progress;
PopSleepCheckpoint = Progress;
v2 = __rdtsc();
if( PopBootStatCheckpointAvailable )
PopRecordSleepCheckpoint(Progress);
if( PopCheckpointSystemSleepEnabled
&& ((*(&stru_140C23628 + 2324) & 1) == 0 || (unsigned int)v1 <= HIBYTE(*(&stru_140C23628 + 581))) )
{
if( PoAllProcIntrDisabled )
{
if( KeGetCurrentPrcb()->Number )
KeBugCheckEx(0xA0u, (PVOID)0x10F, v1, (PVOID)1, 0i64);
if( (unsigned __int8)off_140C00940[0]() )
KeBugCheckEx(0xA0u, (PVOID)0x10F, v1, (PVOID)2, 0i64);
}
else if( !_InterlockedExchangeAdd(&PopPagingEnabled, 0) )
{
KeBugCheckEx(0xA0u, (PVOID)0x10F, v1, 0i64, 0i64);
}
PopCheckpointSystemSleepUnsafe((POP_SLEEP_CHECKPOINT)v1);
}
v3 = __rdtsc();
*(&stru_140C23628 + 49) += (((unsigned __int64)HIDWORD(v3) << 32) | (unsigned int)v3) - v2;
}Referenced by:
PoBroadcastSystemState
PopAllocateHiberContext
PopDecompressHiberBlocks
PopDispatchSuperfetchNotification
PopHiberCheckResume
PopHiberChecksumHiberFileData
PopInvokeSystemStateHandler
PopIssueActionRequest
PopNotifyCallbacksPreSleep
PopPrepareSleep
PopRequestRead
PopRequestWrite
PopRestoreHiberContext
PopResumeApps
PopResumeServices
PopSaveHiberContext
PopSuspendApps
PopSuspendServices
PopTransitionSystemPowerStateEx
PopWriteHiberPages