VerifierMmUnlockPages

VOID __stdcall VerifierMmUnlockPages(MDL *MemoryDescriptorList){
  __int64 v1; 
  __int64 v2; 
  unsigned __int8 CurrentIrql; 
  UINT64 MdlFlags; 
  UINT64 v6; 
  UINT64 v7; 
  PVOID retaddr; 
  CurrentIrql = KeGetCurrentIrql();
  if( CurrentIrql > 2u && (MmVerifierData & 1) != 0 )
    VerifierBugCheckIfAppropriate(0xC4ui64, 0x78ui64, CurrentIrql, (UINT64)MemoryDescriptorList, 0i64, v7);
  MdlFlags = MemoryDescriptorList->MdlFlags;
  if( (MdlFlags & 2) == 0 && (MmVerifierData & 1) != 0 )
    VerifierBugCheckIfAppropriate(0xC4ui64, 0x7Cui64, (UINT64)MemoryDescriptorList, MdlFlags, 0i64, v7);
  if( (unsigned int)VfVerifyMode >= 3 && (MdlFlags & 4) != 0 && (MmVerifierData & 1) != 0 )
    VerifierBugCheckIfAppropriate(0xC4ui64, 0x7Dui64, (UINT64)MemoryDescriptorList, MdlFlags, 0i64, v7);
  if( (MdlFlags & 0x10) != 0 && (MmVerifierData & 1) != 0 )
    VerifierBugCheckIfAppropriate(0xC4ui64, 0xB4ui64, (UINT64)MemoryDescriptorList, MdlFlags, 0x10ui64, v7);
  if( (MdlFlags & 1) != 0 && (MmVerifierData & 0x1000) != 0 )
    ViTargetAddToCounter(retaddr, 0xC0ui64, 0xC8ui64, -(__int64)MemoryDescriptorList->ByteCount);
  v6 = -(__int64)MemoryDescriptorList->ByteCount;
  if( (MmVerifierData & 0x1000) != 0 )
    ViTargetAddToCounter(retaddr, 0xB0ui64, 0xB8ui64, v6);
  ((void(__fastcall *)(MDL *, __int64, __int64, UINT64))pXdvMmUnlockPages)(MemoryDescriptorList, v1, v2, v6);
}

Referenced by:

No references.