KeSynchronizeUmsThread

INT64 __fastcall KeSynchronizeUmsThread(__int64 a1, char a2){
  __int64 v2; 
  v2 = *(_QWORD *)(a1 + 496);
  if( a2 )
  {
    KeInsertQueue(*(PRKQUEUE *)(v2 + 32), *(PLIST_ENTRY *)(v2 + 40));
    *(_DWORD *)(v2 + 80) |= 2u;
    *(_QWORD *)(v2 + 72) = 0i64;
    return KiLeaveGuardedRegionUnsafe(a1);
  }
  else
  {
    KiCopyUchToStagingArea(a1, *(INT64 **)(v2 + 72));
    *(_QWORD *)(v2 + 72) = 0i64;
    return KiSwapToUmsThreadContinue();
  }
}

Referenced by:

PspRundownUmsThreadForApcDelivery