PopDiagTraceRtcWakeInfo

CHAR __fastcall PopDiagTraceRtcWakeInfo(INT64 a1, INT64 a2, INT64 a3, INT64 a4, INT64 a5, INT64 a6, INT64 a7){
  CHAR result; 
  EVENT_DESCRIPTOR *v8; 
  int v9; 
  __int64 v10; 
  UINT64 v11; 
  UINT64 UserDataCount; 
  int v13; 
  int v14; 
  unsigned int v15; 
  unsigned int v16; 
  unsigned int v17; 
  int v18; 
  int v19; 
  int v20; 
  int v21; 
  unsigned int v22; 
  unsigned int v23; 
  unsigned int v24; 
  int v25; 
  int v26; 
  BOOL v27; 
  __int64 a2a; 
  __int64 v29; 
  __int64 v30; 
  _QWORD v31[2]; 
  EVENT_DATA_DESCRIPTOR UserData; 
  int *v33; 
  __int64 v34; 
  int *v35; 
  __int64 v36; 
  INT64 *v37; 
  __int64 v38; 
  int *v39; 
  __int64 v40; 
  unsigned int *v41; 
  __int64 v42; 
  unsigned int *v43; 
  __int64 v44; 
  unsigned int *v45; 
  __int64 v46; 
  __int64 *v47; 
  __int64 v48; 
  __int64 *v49; 
  __int64 v50; 
  INT64 *v51; 
  __int64 v52; 
  __int64 *v53; 
  __int64 v54; 
  _QWORD *v55; 
  __int64 v56; 
  BOOL *v57; 
  __int64 v58; 
  struct _EVENT_DATA_DESCRIPTOR v59; 
  int *v60; 
  __int64 v61; 
  int *v62; 
  __int64 v63; 
  int *v64; 
  __int64 v65; 
  int *v66; 
  __int64 v67; 
  int *v68; 
  __int64 v69; 
  int *v70; 
  __int64 v71; 
  int *v72; 
  __int64 v73; 
  int *v74; 
  __int64 v75; 
  __int64 *p_a2a; 
  __int64 v77; 
  __int64 *v78; 
  __int64 v79; 
  int *v80; 
  __int64 v81; 
  __int64 *v82; 
  __int64 v83; 
  _QWORD *v84; 
  __int64 v85; 
  int *v86; 
  __int64 v87; 
  int v88; 
  int v89; 
  int v90; 
  v90 = a4;
  v89 = a3;
  v88 = a2;
  v14 = PopFixedWakeSourceMask;
  a2a = 0i64;
  v31[0] = 0i64;
  v29 = 0i64;
  v30 = 0i64;
  v15 = ((unsigned int)PopFixedWakeSourceMask >> 3) & 1;
  v17 = ((unsigned int)PopFixedWakeSourceMask >> 2) & 1;
  v16 = ((unsigned int)PopFixedWakeSourceMask >> 4) & 1;
  PopDiagInterruptTimeToSystemTime(ProgrammedWakeTimeAc, &a2a);
  PopDiagInterruptTimeToSystemTime(ProgrammedWakeTimeDc, &v29);
  PopDiagInterruptTimeToSystemTime(qword_140C232A8, &v30);
  result = PopDiagInterruptTimeToSystemTime(a7, v31);
  v27 = PopPendingUserPresenceDuringSystemSleep != 0;
  if( (unsigned int)dword_140C021E8 > 5 )
  {
    result = tlgKeywordOn((__int64)&dword_140C021E8, 0x400000000000i64);
    if( result )
    {
      v18 = v88;
      v26 = v9;
      v60 = &v18;
      LOBYTE(v13) = v89;
      v62 = &v13;
      v19 = v90;
      v64 = &v19;
      v20 = a5;
      v66 = &v20;
      v21 = v14;
      v68 = &v21;
      v22 = v15;
      v70 = (int *)&v22;
      v23 = v16;
      v72 = (int *)&v23;
      v24 = v17;
      v74 = (int *)&v24;
      p_a2a = &a2a;
      v78 = &v29;
      v25 = a6;
      v80 = &v25;
      v82 = &v30;
      v84 = v31;
      v86 = &v26;
      v61 = 4i64;
      v63 = v10;
      v65 = 4i64;
      v67 = 4i64;
      v69 = 4i64;
      v71 = 4i64;
      v73 = 4i64;
      v75 = 4i64;
      v77 = 8i64;
      v79 = 8i64;
      v81 = 4i64;
      v83 = 8i64;
      v85 = 8i64;
      v87 = 4i64;
      result = tlgWriteTransfer_EtwWriteTransfer(
                 (__int64)&dword_140C021E8,
                 (unsigned __int8 *)word_1400267D2,
                 0i64,
                 0i64,
                 0x10u,
                 &v59);
    }
  }
  if( PopDiagHandleRegistered )
  {
    v11 = PopDiagHandle;
    result = EtwEventEnabled(PopDiagHandle, (EVENT_DESCRIPTOR *)&POP_ETW_EVENT_RTC_WAKE_INFO, v8);
    if( result )
    {
      *(_QWORD *)&UserData.Size = 4i64;
      UserData.Ptr = (unsigned __int64)&v88;
      v34 = 4i64;
      v33 = &v89;
      v36 = 4i64;
      v35 = &v90;
      v38 = 4i64;
      v37 = &a5;
      v40 = 4i64;
      v39 = &v14;
      v41 = &v15;
      v43 = &v16;
      v45 = &v17;
      v47 = &a2a;
      v49 = &v29;
      v51 = &a6;
      v53 = &v30;
      v55 = v31;
      v57 = &v27;
      LODWORD(UserDataCount) = 14;
      v42 = 4i64;
      v44 = 4i64;
      v46 = 4i64;
      v48 = 8i64;
      v50 = 8i64;
      v52 = 4i64;
      v54 = 8i64;
      v56 = 8i64;
      v58 = 4i64;
      return EtwWriteEx(
               v11,
               (EVENT_DESCRIPTOR *)&POP_ETW_EVENT_RTC_WAKE_INFO,
               0i64,
               0i64,
               0i64,
               0i64,
               UserDataCount,
               &UserData);
    }
  }
  return result;
}

Referenced by:

PopValidateRTCWake