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