MiTrimUnusedPageFileRegionsApc
VOID __stdcall MiTrimUnusedPageFileRegionsApc(PVOID NormalContext, PVOID SystemArgument1, PVOID SystemArgument2){
_MI_PARTITION *v3;
__int64 v5;
INT64 v6;
unsigned __int64 v7;
unsigned int FreePageFileSpace;
unsigned int v9;
unsigned __int64 v10;
unsigned __int64 v11;
INT64 v12;
unsigned __int64 v13;
unsigned int v14;
unsigned int v15;
unsigned __int64 v16;
v3 = (_MI_PARTITION *)*((_QWORD *)NormalContext + 3);
v5 = *((_QWORD *)v3 + *((unsigned int *)NormalContext + 8) + 868);
v6 = MiSwizzleInvalidPte((unsigned __int64)*((unsigned int *)NormalContext + 10) << 32);
v7 = *((unsigned int *)NormalContext + 9);
v16 = ((unsigned __int64)(*(_WORD *)(v5 + 204) & 0xF) << 12) | v6 & 0xFFFFFFFFFFFF0FFFui64;
FreePageFileSpace = MiFindFreePageFileSpace(v3, (_MMPTE *)&v16, v7, 0xABu, v14);
v9 = FreePageFileSpace;
if( FreePageFileSpace >= *((_DWORD *)NormalContext + 9) )
{
v10 = v16;
if( qword_140C4DC80 && (v16 & 0x10) == 0 )
v10 = v16 & ~qword_140C4DC80;
v11 = HIDWORD(v10);
*((_DWORD *)NormalContext + 10) = v11;
v12 = MiSwizzleInvalidPte((unsigned __int64)(FreePageFileSpace + (unsigned int)v11) << 32);
v13 = *(_QWORD *)v5;
v16 = ((unsigned __int64)(*(_WORD *)(v5 + 204) & 0xF) << 12) | v12 & 0xFFFFFFFFFFFF0FFFui64;
*((_DWORD *)NormalContext + 11) = v9 + MiFindFreePageFileSpace(v3, (_MMPTE *)&v16, v13, 0x6Bu, v15);
}
KeSetEvent((PRKEVENT)NormalContext, 0);
}Referenced by:
No references.