HalpTscTraceProcessorSynchronization

UINT64 __stdcall HalpTscTraceProcessorSynchronization(INT64 a1, INT64 a2, CHAR a3){
  __int64 v3; 
  UINT64 result; 
  REGHANDLE v5; 
  _EVENT_DATA_DESCRIPTOR UserData; 
  int *v7; 
  int v8; 
  int v9; 
  __int64 *v10; 
  int v11; 
  int v12; 
  __int64 *v13; 
  int v14; 
  int v15; 
  char *v16; 
  int v17; 
  int v18; 
  void *retaddr; 
  int v20; 
  int v21; 
  __int64 v22; 
  __int64 v23; 
  char v24; 

  result = (UINT64)&retaddr;
  v23 = v3;
  v22 = a3;
  v21 = a2;
  v20 = a1;
  if( byte_140C4A328 )
  {
    v5 = qword_140C4A320;
    LOBYTE(result) = EtwEventEnabled(qword_140C4A320, &HAL_ETW_EVENT_TIMER_PROC_SYNCH_REPORT);
    if( (_BYTE)result )
    {
      UserData.Reserved = 0;
      v9 = 0;
      v12 = 0;
      v15 = 0;
      v18 = 0;
      UserData.Ptr = (unsigned __int64)&v20;
      v7 = &v21;
      UserData.Size = 4;
      v10 = &v22;
      v13 = &v23;
      v16 = &v24;
      v8 = 4;
      v11 = 8;
      v14 = 8;
      v17 = 4;
      LODWORD(result) = EtwWriteEx(v5, &HAL_ETW_EVENT_TIMER_PROC_SYNCH_REPORT, 0i64, 0, 0, 0, 5u, &UserData);
    }
  }
  return result;
}

Referenced by:

HalpTscAdjustToLeader
HalpTscAdjustToTarget
HalpTscAdvSynchToLeader
HalpTscAdvSynchToTarget