PopFinalizeWakeInfo
NTSTATUS __fastcall PopFinalizeWakeInfo(__int64 a1){
NTSTATUS result;
__int64 **v3;
__int64 *i;
void *v5;
void *v6;
result = KeSetEvent((PRKEVENT)((char *)&stru_140C23628 + 2936), 0, 0);
v3 = (__int64 **)(a1 + 24);
for( i = *v3; i != (__int64 *)v3; i = (__int64 *)*i )
{
if( !*((_DWORD *)i + 4) )
{
v5 = (void *)i[6];
if( v5 )
{
result = (unsigned int)ExFreePoolWithTag(v5, 0x206D654Du);
*(_OWORD *)(i + 5) = 0i64;
}
v6 = (void *)i[8];
if( v6 )
{
result = (unsigned int)ExFreePoolWithTag(v6, 0x206D654Du);
*(_OWORD *)(i + 7) = 0i64;
}
}
}
return result;
}Referenced by:
PopHandleWakeSources
PopTimeoutWakeTracking