MiStartingOffset

unsigned __int64 __fastcall MiStartingOffset(__int64 a1, unsigned __int64 a2, unsigned int a3){
  __int64 v3; 
  unsigned __int64 v5; 
  __int64 v7; 
  unsigned __int64 v9; 
  __int64 SharedProtos; 
  v3 = *(_QWORD *)a1;
  v5 = *(_QWORD *)(a1 + 8);
  if( (*(_DWORD *)(v3 + 56) & 0x20) != 0 )
  {
    if( a2 < v5 || a2 >= v5 + 8i64 * *(unsigned int *)(a1 + 44) )
    {
      if( (*(_BYTE *)(a1 + 34) & 2) != 0 )
        SharedProtos = (__int64)MiGetSharedProtos(v3, a3, a1);
      else
        SharedProtos = MiGetSubsectionDriverProtos((_QWORD *)a1);
      v9 = a2 - *(_QWORD *)(SharedProtos + 72);
    }
    else
    {
      v9 = a2 - v5;
    }
    return((v9 << 9) & 0xFFFFFFFFFFFFF000ui64) + ((unsigned __int64)*(unsigned int *)(a1 + 36) << 9);
  }
  else
  {
    if( v5 )
      v7 = (__int64)(a2 - v5) >> 3 << 12;
    else
      v7 = 0i64;
    return v7 + ((*(unsigned int *)(a1 + 36) | ((unsigned __int64)(*(_WORD *)(a1 + 32) & 0xFFC0) << 26)) << 12);
  }
}

Referenced by:

MiAdvanceVadView
MiAllocateFileExtents
MiCfgMarkValidEntries
MiCompleteRestrictedImageFault
MiCopyDataPageToImagePage
MiCopyFileOnlyGlobalSubsectionPage
MiCopyImageExtentContents
MiFillMapFileInfo
MiFinishMdlForMappedFileFault
MiGatherMappedPages
MiIdentifyPfn
MiInitializeImageProtos
MiLogPageAccess
MiMakeSystemCachePteValid
MiMakeSystemCacheRangeValid
MiPfAllocateMdls
MiPfPrepareSequentialReadList
MiPickClusterForMappedFileFault
MiReadyFlushMdlToWrite
MiStartingOffsetNeedLock
MiTrimSection
MiTrimSharedPageFromViews
MiViewMayContainPage
MiWalkEntireImage