MiReleaseWalkLocks

VOID __fastcall MiReleaseWalkLocks(INT64 a1){
  UINT64 v1; 
  INT64 v3; 
  v1 = *(_QWORD *)(a1 + 48);
  v3 = *(_QWORD *)(a1 + 24);
  if( v1 )
  {
    MiUnlockPageTableInternal(*(_QWORD *)(a1 + 24), v1);
    *(_QWORD *)(a1 + 48) = 0i64;
  }
  if( (*(_WORD *)a1 & 4) != 0 )
  {
    MiUnlockWorkingSetShared(v3, *(_BYTE *)(a1 + 6));
  }
  else
  {
    if( (*(_WORD *)a1 & 0x400) != 0 )
      ExReleaseSpinLockExclusiveFromDpcLevel((INT64 *)&dword_140C4E05C);
    MiUnlockWorkingSetExclusive(v3, *(_BYTE *)(a1 + 6));
  }
  *(_BYTE *)(a1 + 2) |= 1u;
}

Referenced by:

MiCombineWorkingSetTail
MiDeleteEmptyPageTableTail
MiGetNextPageTablePte
MiQueryEPTAccessedState
MiYieldPageTableWalk