MiDbgUnTranslatePhysicalAddress

VOID __stdcall MiDbgUnTranslatePhysicalAddress(
        _MI_DBG_LOCKINFO *LockInfo,
        INT64 a2,
        INT64 a3,
        INT64 a4,
        INT64 a5,
        INT64 a6,
        INT64 a7,
        INT64 a8,
        INT64 a9,
        INT64 a10,
        INT64 a11,
        INT64 a12,
        INT64 a13,
        INT64 a14,
        INT64 a15,
        INT64 a16,
        INT64 a17,
        INT64 a18,
        INT64 a19,
        INT64 a20,
        INT64 a21,
        INT64 a22,
        INT64 a23,
        INT64 a24,
        INT64 a25,
        INT64 a26,
        INT64 a27,
        INT64 a28,
        INT64 a29,
        INT64 a30,
        INT64 a31,
        INT64 a32,
        INT64 a33,
        INT64 a34,
        INT64 a35,
        INT64 a36,
        INT64 a37,
        INT64 a38,
        INT64 a39,
        INT64 a40,
        INT64 a41,
        INT64 a42,
        INT64 a43,
        INT64 a44,
        INT64 a45,
        INT64 a46,
        INT64 a47,
        INT64 a48,
        INT64 a49,
        INT64 a50,
        INT64 a51,
        INT64 a52,
        INT64 a53,
        INT64 a54,
        INT64 a55,
        INT64 a56,
        INT64 a57,
        INT64 a58,
        INT64 a59,
        INT64 a60,
        INT64 a61,
        INT64 a62,
        INT64 a63){
  __int64 v64; 
  __int64 v65; 
  _MI_DBG_LOCKINFO v66; 
  unsigned __int64 v67; 

  if( (*LockInfo & 0x20) != 0 )
  {
    v64 = (*(&stru_140C4DB30 + 339) << 25) - ((_QWORD)MmGetPteBase() << 25);
    _InterlockedExchange64(*(&stru_140C4DB30 + 339), ZeroPte.u.Hard._bf_0);
    v65 = v64 >> 16;
    if( (*LockInfo & 0x12) != 0 )
      KeFlushSingleTb(v65, FlushKernel, 1i64);
    else
      KeFlushSingleCurrentTb((VOID *)v65);
  }
  v66 = *LockInfo;
  if( (*LockInfo & 4) == 0 )
  {
    if( (v66 & 1) != 0 || (v66 & 2) != 0 )
    {
      _InterlockedAnd64((volatile signed __int64 *)(*((_QWORD *)LockInfo + 1) + 24i64), 0x7FFFFFFFFFFFFFFFui64);
    }
    else if( (v66 & 8) != 0 || (v66 & 0x10) != 0 )
    {
      ExReleaseSpinLockExclusiveFromDpcLevel((INT64 *)&stru_140C4DB30 + 458);
    }
  }
  v67 = *((unsigned __int8 *)LockInfo + 4);
  if( (_BYTE)v67 != 17 )
    __writecr8(v67);
}

Referenced by:

No references.