MiReturnExcessPoolCommit

VOID __fastcall MiReturnExcessPoolCommit(INT64 a1){
  __int16 v1; 
  __int64 v3; 
  __int64 v4; 
  INT64 v5; 
  __int64 v6; 
  __int64 v7; 
  _MMPFN *v8; 
  UINT64 v9[2]; 
  __int64 v10; 
  __int64 v11; 
  __int128 v12; 
  v1 = *(_WORD *)(a1 + 78);
  if( (v1 & 2) != 0 )
  {
    v3 = *(_QWORD *)(a1 + 24);
    v4 = *(_QWORD *)(a1 + 8);
    if( v3 != v4 )
      MiReturnCommit(
        *(_MI_PARTITION **)(qword_140C4E388 + 8i64 * *(unsigned __int16 *)(*(_QWORD *)(a1 + 48) + 174i64)),
        v4 - v3);
  }
  else if( (v1 & 4) != 0 )
  {
    v5 = *(_QWORD *)(a1 + 16);
    if( v5 )
      MiFreeLargePageChain(v5);
    v6 = *(_QWORD *)(a1 + 24);
    v7 = *(_QWORD *)(a1 + 8);
    if( v6 != v7 )
    {
      v9[1] = 0i64;
      v10 = 0i64;
      v11 = v7 - v6;
      v9[0] = v7 - v6;
      v12 = 0i64;
      MiReturnPoolCharges(v9, 0i64);
    }
  }
  else if( (v1 & 0x100) == 0 )
  {
    v8 = *(_MMPFN **)(a1 + 16);
    if( v8 )
      MiReturnPhysicalPoolPages(v8);
  }
}

Referenced by:

MiCommitPoolMemory