MiFindNextAlignedForwardRunClearEx

unsigned __int64 __fastcall MiFindNextAlignedForwardRunClearEx(_QWORD *a1, __int64 a2, __int64 a3){
  __int64 v3; 
  __int64 v4; 
  unsigned __int64 v5; 
  unsigned __int64 v6; 
  unsigned __int64 v8; 
  unsigned __int64 v9; 
  unsigned __int64 v10; 
  _QWORD *v11; 

  v3 = a1[1];
  v4 = ~(a3 - 1);
  v5 = (a2 + 63) & 0xFFFFFFFFFFFFFFC0ui64;
  v6 = v4 & *a1;
  if( v5 <= v6 )
  {
    v8 = 0i64;
    if( v6 )
    {
      v9 = v5 >> 6;
      while( v5 + v8 <= v6 )
      {
        v10 = 0i64;
        if( v9 )
        {
          v11 = (_QWORD *)(v3 + 8 * (v8 >> 6));
          do
          {
            if( *v11 )
              break;
            ++v10;
            ++v11;
          }
          while( v10 < v9 );
        }
        if( v10 == v9 )
          return v8;
        v8 += v4 & ((v10 << 6) + a3 + 63);
        if( v8 >= v6 )
          return -1i64;
      }
    }
  }
  return -1i64;
}

Referenced by:

MiObtainDynamicVa