IopLiveDumpTraceUncorralProcessorsDuration
CHAR IopLiveDumpTraceUncorralProcessorsDuration(GUID *a1, ...){
int v2;
_DWORD *v3;
EVENT_DESCRIPTOR *v4;
UINT64 UserDataCount;
__int64 v7;
__int64 v8;
__int64 v9;
__int64 v10;
EVENT_DATA_DESCRIPTOR UserData;
va_list v12;
int v13;
int v14;
va_list v15;
int v16;
int v17;
va_list v18;
int v19;
int v20;
struct _EVENT_DATA_DESCRIPTOR v21;
__int64 *v22;
int v23;
int v24;
__int64 *v25;
int v26;
int v27;
__int64 *v28;
int v29;
int v30;
__int64 *v31;
int v32;
int v33;
__int64 v34;
__int64 v35;
__int64 v36;
__int64 v37;
va_list va4;
va_list va;
va_list va1;
va_list va2;
va_list va3;
va_start(va4, a1);
va_start(va3, a1);
va_start(va2, a1);
va_start(va1, a1);
va_start(va, a1);
v34 = va_arg(va1, _QWORD);
va_copy(va2, va1);
v35 = va_arg(va2, _QWORD);
va_copy(va3, va2);
v36 = va_arg(va3, _QWORD);
va_copy(va4, va3);
v37 = va_arg(va4, _QWORD);
LOBYTE(v2) = IopLiveDumpIsTracingEnabled();
if( (_BYTE)v2 )
{
if( !v3[104] )
{
v2 = v3[78];
if( (v2 & 1) != 0 )
{
UserData.Reserved = 0;
v14 = 0;
v4 = (EVENT_DESCRIPTOR *)LIVEDUMP_EVENT_SIZING_WORKFLOW_SYSTEM_QUISCED_UNCORRAL_PROCESSORS;
v17 = 0;
v20 = 0;
va_copy((va_list)UserData.Ptr, va);
va_copy(v12, va1);
va_copy(v15, va2);
va_copy(v18, va3);
if( (v3[20] & 1) == 0 )
v4 = (EVENT_DESCRIPTOR *)&LIVEDUMP_EVENT_CAPTURE_PAGES_WORKFLOW_SYSTEM_QUISCED_UNCORRAL_PROCESSORS;
UserData.Size = 8;
v13 = 8;
LODWORD(UserDataCount) = 4;
v16 = 8;
v19 = 8;
LOBYTE(v2) = EtwWriteEx(IopLiveDumpEtwRegHandle, v4, 0i64, 0i64, 0i64, 0i64, UserDataCount, &UserData);
if( (unsigned int)dword_140C04498 > 5 )
{
LOBYTE(v2) = tlgKeywordOn((__int64)&dword_140C04498, 0x200000000000i64);
if( (_BYTE)v2 )
{
v24 = 0;
v27 = 0;
v30 = 0;
v33 = 0;
v7 = v34;
v22 = &v7;
v8 = v35;
v25 = &v8;
v9 = v36;
v28 = &v9;
v10 = v37;
v31 = &v10;
v23 = 8;
v26 = 8;
v29 = 8;
v32 = 8;
LOBYTE(v2) = tlgWriteTransfer_EtwWriteTransfer(
(__int64)&dword_140C04498,
(unsigned __int8 *)byte_1400237F9,
a1 + 54,
a1 + 53,
6u,
&v21);
}
}
}
}
}
return v2;
}Referenced by:
IopLiveDumpUncorralProcessors