MiLogMdlRangeEvent

VOID __stdcall MiLogMdlRangeEvent(UINT64 *Page, UINT16 Reason, UINT64 NumberOfPages){
  UINT64 *v3; 
  UINT64 v4; 
  _MMPFN *v6; 
  unsigned __int64 LeafPfnBuddy; 
  __int64 v8; 
  __int64 v9; 
  UINT64 *v10; 
  __int64 v11[3]; 
  __int64 *v12; 
  int v13; 
  int v14; 

  v3 = Page;
  v4 = NumberOfPages;
  v6 = &MmGetPfnDb()[*Page];
  if( (((unsigned __int64)v6->u4._bf_0 >> 60) & 7) == 1 )
  {
    LeafPfnBuddy = MiGetLeafPfnBuddy(v6);
    v8 = 9i64;
  }
  else
  {
    LeafPfnBuddy = 0i64;
    v8 = 10i64;
  }
  if( NumberOfPages )
  {
    v9 = v8 | (16 * (LeafPfnBuddy & 0xFFFFFFFFFFFFi64));
    do
    {
      v10 = v3;
      v11[1] = *v3;
      v11[0] = v9;
      do
      {
        ++v3;
        --v4;
      }
      while( v4 && *v3 == *(v3 - 1) + 1 );
      v14 = 0;
      v13 = 24;
      v11[2] = v3 - v10;
      v12 = v11;
      EtwTraceKernelEvent((__int64)&v12, 1u, 0x20000001u, Reason, 0x11401B02u);
    }
    while( v4 );
  }
}

Referenced by:

No references.