EtwpCovSampCaptureFreeLookasides
VOID __stdcall EtwpCovSampCaptureFreeLookasides(union _SLIST_HEADER *a1){
union _SLIST_HEADER *v1;
union _SLIST_HEADER *i;
union _SLIST_HEADER *v4;
unsigned __int64 j;
_QWORD *v6;
_QWORD *v7;
_QWORD *v8;
__int64 v9;
_QWORD *v10;
v1 = a1 + 36;
for( i = (union _SLIST_HEADER *)a1[36].Alignment; i != v1; i = (union _SLIST_HEADER *)i->Alignment )
EtwpCovSampLookasideFlushFreeListToCleanupList(i - 1);
v4 = a1 + 37;
for( j = a1[37].Alignment; (union _SLIST_HEADER *)j != v4; j = *(_QWORD *)j )
{
RtlpInterlockedFlushSList();
v7 = v6;
while( v7 )
{
v8 = v7;
v7 = (_QWORD *)*v7;
v9 = v8[3];
if( *(_QWORD **)(v9 + 8) != v8 + 3 || (v10 = (_QWORD *)v8[4], (_QWORD *)*v10 != v8 + 3) )
__fastfail(3u);
*v10 = v9;
*(_QWORD *)(v9 + 8) = v10;
ExFreePoolWithTag(v8, 0x56777445u);
}
*(_DWORD *)(j + 56) = 0;
}
}Referenced by:
EtwpCovSampCaptureContextStart
EtwpCovSampCaptureContextStop