MiCollapseRunTopDown

__int64 __fastcall MiCollapseRunTopDown(__int64 a1){
  unsigned __int64 v1; 
  unsigned __int64 v3; 
  unsigned __int64 v4; 
  unsigned __int64 v5; 
  char v6; 
  __int64 v7; 
  __int64 v9; 
  v1 = *(_QWORD *)(a1 + 8);
  v3 = *(_QWORD *)(a1 + 24);
  if( v1 - 1 > v3 )
  {
    v1 = v3 + 1;
    *(_QWORD *)(a1 + 8) = v3 + 1;
  }
  v4 = *(_QWORD *)a1;
  v5 = *(_QWORD *)(a1 + 16);
  if( *(_QWORD *)a1 < v5 )
  {
    *(_QWORD *)a1 = v5;
    v4 = v5;
  }
  if( v4 < v1 )
  {
    v6 = *(_BYTE *)(a1 + 48);
    while( v6 || *(_QWORD *)(a1 + 40) <= v1 - v4 )
    {
      v7 = *(_QWORD *)(a1 + 32);
      if( !v7 )
        return 1i64;
      v9 = ~(v7 - 1);
      if( (((v1 - 1) ^ (v1 - *(_QWORD *)(a1 + 40))) & v9) == 0 )
        return 1i64;
      if( (v9 & v1) != v1 )
        *(_QWORD *)(a1 + 8) = v9 & v1;
      if( (v9 & v4) == v4 || (*(_QWORD *)a1 = v9 & (v4 + v7 - 1), (v9 & (v4 + v7 - 1)) != 0) )
      {
        v4 = *(_QWORD *)a1;
        v1 = *(_QWORD *)(a1 + 8);
        if( *(_QWORD *)a1 < v1 )
          continue;
      }
      return 0i64;
    }
  }
  return 0i64;
}

Referenced by:

MiFindContiguousPages
MiFindRebuildCandidate