KiEndThreadCycleAccumulation

VOID __fastcall KiEndThreadCycleAccumulation(INT64 a1, INT64 a2, INT64 a3, INT64 a4, INT64 a5, INT64 a6, INT64 a7){
  unsigned __int64 v9; 
  UINT64 v10; 
  unsigned __int64 v11; 
  bool v12; 

  *(_BYTE *)(a1 + 32) = 1;
  v9 = __rdtsc();
  v10 = v9 - *(_QWORD *)(a1 + 32448);
  v11 = v10 + *(unsigned int *)(a2 + 80);
  *(_QWORD *)(a2 + 72) += v10;
  *(_QWORD *)(a1 + 32448) = v9;
  if( v11 > 0xFFFFFFFF )
    LODWORD(v11) = -1;
  v12 = (*(_BYTE *)(a2 + 2) & 0x3E) == 0;
  *(_DWORD *)(a2 + 80) = v11;
  if( !v12 )
    KiEndThreadAccountingPeriod((_KPRCB *)a1, (_KTHREAD *)a2, v10);
  if( a3 )
    *(_QWORD *)a3 = v9;
}

Referenced by:

KeBoostPriorityThread
KeCpuSetReportParkedProcessors
KeDelayExecutionThread
KeRecomputeCpuSetAffinityProcess
KeRemoveQueueEx
KeSetAffinityThread
KeSetBasePriorityThread
KeSetCpuSetsProcess
KeSetLegacyAffinityThread
KeSetSchedulingGroupRankBias
KeSetSelectedCpuSetsThread
KeSetThreadSchedulerAssist
KeUpdateThreadCpuSets
KeUpdateThreadTag
KeYieldExecution
KiAbForceProcessLockEntry
KiAbThreadUnboostCpuPriority
KiCheckForThreadDispatch
KiExitDispatcher
KiGroupSchedulingGenerationEnd
KiProcessDeferredReadyList
KiQuantumEnd
KiReadyOutSwappedThreads
KiSchedulerApc
KiSetHeteroPolicyThread
PsImpersonateContainerOfThread