MiFinishPageFileExtension

VOID __stdcall MiFinishPageFileExtension(
        _MI_PARTITION *Partition,
        _MMPAGING_FILE *PagingFile,
        UINT64 AdditionalAllocation){
  INT64 *v3; 
  KIRQL v7; 
  __int64 v8; 
  unsigned int v9; 
  unsigned __int64 v10; 
  v3 = (INT64 *)((char *)PagingFile + 232);
  v7 = ExAcquireSpinLockExclusive((PEX_SPIN_LOCK)PagingFile + 58);
  v8 = *((_QWORD *)PagingFile + 14);
  v9 = *(_DWORD *)PagingFile;
  v10 = v7;
  RtlClearBits((RTL_BITMAP *)(v8 + 8), *(_DWORD *)PagingFile, (unsigned int)AdditionalAllocation);
  RtlClearBits((RTL_BITMAP *)(v8 + 24), v9, (unsigned int)AdditionalAllocation);
  LOBYTE(v8) = *((_BYTE *)PagingFile + 206);
  *(_QWORD *)PagingFile += AdditionalAllocation;
  *((_QWORD *)PagingFile + 3) += AdditionalAllocation;
  *((_QWORD *)PagingFile + 6) += AdditionalAllocation;
  ++*((_DWORD *)PagingFile + 32);
  MiCoalescePageFileBitmapsCache(PagingFile, 0i64, v9);
  MiUpdateReserveClusterInfo(*((_QWORD *)PagingFile + 31), 0i64, 0);
  ExReleaseSpinLockExclusiveFromDpcLevel(v3);
  __writecr8(v10);
  if( (v8 & 1) == 1 )
    KeSetEvent((PRKEVENT)((char *)Partition + 880), 0);
}

Referenced by:

MiAttemptPageFileExtension