MiSyncCommitSignals

VOID __stdcall MiSyncCommitSignals(_MI_PARTITION *Partition, UINT64 LockHeld){
  UINT8 v2; 
  UINT8 v3; 
  int v4; 
  unsigned __int64 v6; 
  struct _KEVENT *v7; 
  _DWORD *v8; 
  _DWORD *v9; 
  struct _KEVENT *v10; 
  UINT64 v11; 
  UINT8 v12; 
  UINT8 v13; 
  struct _KLOCK_QUEUE_HANDLE LockHandle; 
  v4 = LockHeld;
  memset(&LockHandle, 0, sizeof(LockHandle));
  if( (_DWORD)LockHeld )
    LockHandle.OldIrql = 17;
  else
    KeAcquireInStackQueuedSpinLock((UINT64 *)Partition + 781, &LockHandle);
  v6 = *((_QWORD *)Partition + 933);
  if( v6 >= *((_QWORD *)Partition + 779) )
  {
    v10 = (struct _KEVENT *)*((_QWORD *)Partition + 38);
    if( v6 < *((_QWORD *)Partition + 780) )
    {
      if( v10->Header.SignalState == 1 )
      {
        KeResetEvent(v10, LockHeld, v2, v3, (IRP *)LockHandle.LockQueue.Next);
        KeResetEvent(*((VOID **)Partition + 39), v11, v12, v13, (IRP *)LockHandle.LockQueue.Next);
      }
    }
    else
    {
      if( !v10->Header.SignalState )
        KeSetEvent(v10, 0);
      if( *((_QWORD *)Partition + 949) == *((_QWORD *)Partition + 777) )
        KeSetEvent(*((PRKEVENT *)Partition + 39), 0);
    }
    v9 = (_DWORD *)*((_QWORD *)Partition + 37);
    if( v9[1] == 1 )
      goto LABEL_8;
  }
  else
  {
    v7 = (struct _KEVENT *)*((_QWORD *)Partition + 37);
    if( !v7->Header.SignalState )
      KeSetEvent(v7, 0);
    v8 = (_DWORD *)*((_QWORD *)Partition + 38);
    if( v8[1] == 1 )
    {
      KeResetEvent(v8, LockHeld, v2, v3, (IRP *)LockHandle.LockQueue.Next);
      v9 = (_DWORD *)*((_QWORD *)Partition + 39);
LABEL_8:
      KeResetEvent(v9, LockHeld, v2, v3, (IRP *)LockHandle.LockQueue.Next);
    }
  }
  if( !v4 )
  {
    KeReleaseInStackQueuedSpinLockFromDpcLevel(&LockHandle);
    __writecr8(LockHandle.OldIrql);
  }
}

Referenced by:

MiChargeCommit
MiComputeCommitThresholds
MiRemoveLockedPageCharge
MiReplenishLocalCommit
MiReturnCommit
MiUnlockMdlWritePages