FsRtlCheckLockForReadAccess

INT8 __fastcall FsRtlCheckLockForReadAccess(INT64 a1, INT64 a2){
  _QWORD *v2; 
  _LARGE_INTEGER *v4; 
  _LARGE_INTEGER v5; 
  ULONG LowPart; 
  INT64 QuadPart; 
  PEPROCESS *RequestorProcess; 
  _LARGE_INTEGER Length; 
  _LARGE_INTEGER StartingByte; 

  v2 = *(_QWORD **)(a1 + 24);
  if( !v2 )
    return 1;
  if( !v2[5] )
    return 1;
  v4 = *(_LARGE_INTEGER **)(a2 + 184);
  v5.QuadPart = v4[1].anonymous_0.LowPart;
  StartingByte = v4[3];
  Length = v5;
  if( StartingByte.QuadPart + v5.QuadPart <= *v2 )
    return 1;
  LowPart = v4[2].anonymous_0.LowPart;
  QuadPart = v4[6].QuadPart;
  RequestorProcess = IoGetRequestorProcess((PIRP)a2);
  return FsRtlFastCheckLockForRead(
           a1,
           (UINT64 *)&StartingByte.QuadPart,
           (INT64 *)&Length,
           LowPart,
           QuadPart,
           (INT64)RequestorProcess);
}

Referenced by:

No references.