MiLogRelocationRva

VOID __stdcall MiLogRelocationRva(UINT64 Rva, UINT64 Size, _FILE_OBJECT *FileObject, _CONTROL_AREA *ControlArea){
  __int64 v5; 
  __int16 v6; 
  _SUBSECTION *v7; 
  unsigned __int64 v8; 
  unsigned __int64 v9; 
  unsigned int v10; 
  unsigned __int64 v11; 
  __int64 v12[3]; 

  v12[0] = 0i64;
  v5 = (unsigned int)Size;
  v6 = Rva;
  v7 = MiOffsetToProtos(ControlArea, (unsigned int)Rva, (UINT64 *)v12);
  if( v7 )
  {
    v8 = (v12[0] << 12) + ((unsigned __int64)v7->StartingSector << 9);
    if( (PfSnNumActiveTraces || PfKernelGlobals.ScenarioPrefetchCount)
      && PsGetIoPriorityThread((_ETHREAD *)KeGetCurrentThread()) >= IoPriorityNormal )
    {
      v9 = ((unsigned __int64)(v6 & 0xFFF) + v5 + 4095) >> 12;
      v10 = v9 + 1;
      if( (v8 & 0xFFF) == 0 )
        v10 = v9;
      v11 = v8 & 0xFFFFFFFFFFFFF000ui64;
      if( PfKernelGlobals.ScenarioPrefetchCount )
        PfLogFileDataAccess(
          (UINT64)FileObject->FsContext,
          (_ETHREAD *)KeGetCurrentThread(),
          v11,
          v10,
          PfFileAccessTypeRead);
      if( PfSnNumActiveTraces && v10 )
      {
        do
        {
          PfSnLogPageFault(FileObject, v11, 2ui64);
          v11 += 4096i64;
          --v10;
        }
        while( v10 );
      }
    }
  }
}

Referenced by:

MiCaptureImageCfgContext
MiLogRelocationFaults
MiParseComAndCetHeaders
MiParseImageLoadConfig