MiGetPrototypePteBoundaries

INT64 __stdcall MiGetPrototypePteBoundaries(UINT64 a1, _QWORD *a2){
  INT64 v3; 
  KIRQL v5; 
  _QWORD *v6; 
  unsigned __int64 v7; 
  _QWORD *v8; 
  unsigned __int64 v9; 
  __int64 a2a; 
  v3 = 0i64;
  v5 = ExAcquireSpinLockShared(&dword_140C4C880);
  v6 = qword_140C4C878;
  v7 = v5;
  while( v6 )
  {
    a2a = 0i64;
    v9 = MiObtainProtoBaseFromNode(v6, &a2a);
    if( a1 < v9 )
    {
      v6 = (_QWORD *)*v8;
    }
    else
    {
      if( a1 < v9 + 8 * a2a )
      {
        if( v8 )
          v3 = MiObtainProtoBaseFromNode(v8, a2);
        break;
      }
      v6 = (_QWORD *)v8[1];
    }
  }
  ExReleaseSpinLockSharedFromDpcLevel(&dword_140C4C880);
  __writecr8(v7);
  return v3;
}

Referenced by:

No references.