RtlpHpHeapCompact
NTSTATUS __stdcall RtlpHpHeapCompact(INT64 a1){
int v2;
int v3;
int v4;
unsigned int v5;
_QWORD *v6;
v2 = *(_DWORD *)(a1 + 220);
v3 = *(_DWORD *)(a1 + 20) & 0x13000003;
v4 = 0;
if( v2 )
LOBYTE(v4) = v2 == KeGetCurrentThread()[1].CurrentRunTime;
v5 = v3 | 1;
if( !v4 )
v5 = v3;
RtlpInterlockedFlushSList();
if( v6 )
RtlpHpVsContextFreeList(a1 + 640, v5, v6);
RtlpHpLfhContextCompact((POBJECT_ATTRIBUTES)(a1 + 832), (PFILE_NETWORK_OPEN_INFORMATION)v5);
RtlpHpSegContextCompact(a1 + 256, v5);
RtlpHpSegContextCompact(a1 + 448, v5);
return 0;
}Referenced by:
ExpHpCompactSessionPools
ExpHpCompactionRoutine