PopDiagTraceSystemIdleContextUpdate

CHAR __fastcall PopDiagTraceSystemIdleContextUpdate(INT64 a1, INT64 a2, EVENT_DESCRIPTOR *a3, INT64 a4, CHAR a5){
  void **v5; 
  UINT64 v6; 
  struct _EVENT_DATA_DESCRIPTOR UserData; 
  int *v9; 
  int v10; 
  int v11; 
  int *v12; 
  int v13; 
  int v14; 
  int *v15; 
  int v16; 
  int v17; 
  CHAR *v18; 
  int v19; 
  int v20; 
  void *retaddr; 
  int v22; 
  int v23; 
  int v24; 
  int v25; 
  v5 = &retaddr;
  v25 = a4;
  v24 = (int)a3;
  v23 = a2;
  v22 = a1;
  if( PopDiagHandleRegistered )
  {
    v6 = PopDiagHandle;
    LOBYTE(v5) = EtwEventEnabled(PopDiagHandle, (EVENT_DESCRIPTOR *)&POP_ETW_EVENT_SYSTEM_IDLE_CONTEXT_UPDATE, a3);
    if( (_BYTE)v5 )
    {
      UserData.Reserved = 0;
      v11 = 0;
      v14 = 0;
      v17 = 0;
      v20 = 0;
      UserData.Ptr = (unsigned __int64)&v22;
      v9 = &v23;
      UserData.Size = 4;
      v12 = &v24;
      v15 = &v25;
      v18 = &a5;
      v10 = 4;
      v13 = 4;
      v16 = 4;
      v19 = 4;
      LOBYTE(v5) = EtwWrite(v6, (EVENT_DESCRIPTOR *)&POP_ETW_EVENT_SYSTEM_IDLE_CONTEXT_UPDATE, 0i64, 5ui64, &UserData);
    }
  }
  return(char)v5;
}

Referenced by:

PopUpdateSystemIdleContext