PopIdleWakeNotifyModernStandbyExit
NTSTATUS __stdcall PopIdleWakeNotifyModernStandbyExit(_OBJECT_ATTRIBUTES *TargetKey, UINT64 Flags){
INT64 v2;
UINT64 v3;
PVOID v4;
unsigned __int8 v5;
unsigned __int64 v6;
NTSTATUS v7;
INT64 v8;
__int64 v9;
WCHAR v10;
unsigned int i;
__int16 v12;
__int16 v13;
INT64 a2;
INT64 v15;
__int64 v16;
_DWORD result[96];
char v18;
PVOID P;
unsigned int v20;
PVOID v21[31];
struct _EVENT_DATA_DESCRIPTOR v22;
__int64 *v23;
int v24;
int v25;
__int16 *v26;
int v27;
int v28;
__int64 v29;
int v30;
int v31;
__int16 *v32;
int v33;
int v34;
__int64 *v35;
int v36;
int v37;
__int64 *v38;
int v39;
int v40;
__int64 v41[6];
v2 = PopWnfCsEnterScenarioId;
a2 = 0i64;
memset((INT64)result, 0i64);
KeAcquireSpinLockRaiseToDpc(&PopIdleWakeContextLock, v3);
v4 = PopIdleWakeContext;
PopIdleWakeContext = 0i64;
v6 = v5;
KxReleaseSpinLock(&PopIdleWakeContextLock);
v7 = KiIrqlFlags;
__writecr8(v6);
if( v4 )
{
RtlGetInterruptTimePrecise(&a2);
PopIdleWakeStopActiveIntervalAccounting((INT64)v4, a2);
PopIdleWakeConvertIntervalBucketsTo(6ui64, (INT64)v4 + 232, (UINT64 *)v41, 0x3E8ui64);
if( (unsigned int)dword_140C021E8 > 5 && tlgKeywordOn((__int64)&dword_140C021E8, 0x400000000000i64) )
{
v25 = 0;
v28 = 0;
v31 = 0;
v34 = 0;
v37 = 0;
v40 = 0;
v23 = &v15;
v26 = &v12;
v29 = (__int64)v4 + 208;
v32 = &v13;
v35 = v41;
v38 = &v16;
v24 = 8;
v39 = 8;
v15 = v2;
v12 = 6;
v27 = 2;
v30 = 24;
v13 = 6;
v33 = 2;
v36 = 48;
v16 = 0x1000000i64;
tlgWriteTransfer_EtwWriteTransfer(
(__int64)&dword_140C021E8,
(unsigned __int8 *)byte_140028CA9,
0i64,
0i64,
8u,
&v22);
}
v8 = (INT64)v4 + 280;
v9 = 25i64;
do
{
if( *(_DWORD *)(v8 + 312) )
{
memset((INT64)result, 0i64);
if( (int)PopIdleWakeSourceAccountingToDiagnostic(v8, result) >= 0 )
PopIdleWakeTraceWakeSourceDiagnostic(v2, (INT64)result, v10);
if( v18 )
ExFreePoolWithTag(P, 0x67696450u);
if( result[0] == 5 )
{
for( i = 0; i < v20; ++i )
ExFreePoolWithTag(v21[2 * i], 0x67696450u);
}
}
v8 += 696i64;
--v9;
}
while( v9 );
ExFreePoolWithTag(v4, 0x67696450u);
}
return v7;
}Referenced by:
PopCaptureSleepStudyStatistics