PopDiagTraceFxDefaultPepWorkerEnd
CHAR __stdcall PopDiagTraceFxDefaultPepWorkerEnd(
POP_FX_DEVICE *EndFxDevice,
POP_PEP_WORK_SERVICED_TYPE WorkType,
CHAR ComponentServiced,
INT64 Phase,
INT64 NumberExtraDevices){
void **v5;
int v6;
int v7;
REGHANDLE v10;
__int64 v11;
__int64 UserDataCount;
__int64 v13;
__int64 v14;
CHAR v15;
REGHANDLE v16;
REGHANDLE v17;
int ActivityId;
int RelatedActivityId;
CHAR v21;
char v22;
char v23;
int v24;
__int64 v25;
__int64 v26;
_EVENT_DATA_DESCRIPTOR UserData;
CHAR *v28;
__int64 v29;
char *v30;
__int64 v31;
char *v32;
__int64 v33;
__int64 v34[8];
char v35[32];
int *v36;
__int64 v37;
void *retaddr;
POP_FX_DEVICE *v39;
v5 = &retaddr;
v39 = EndFxDevice;
v6 = NumberExtraDevices;
v7 = Phase;
if( (_DWORD)Phase == 2 )
{
if( *(&stru_140C00F40 + 1194) > 5u )
{
LOBYTE(v5) = tlgKeywordOn((__int64)&stru_140C00F40 + 4776, 0x400000000000i64);
if( (_BYTE)v5 )
{
v24 = v6;
v36 = &v24;
v37 = v14;
LOBYTE(v5) = tlgWriteEx_EtwWriteEx(
(__int64)&stru_140C00F40 + 4776,
(unsigned __int8 *)byte_1400273D0,
v13,
1u,
ActivityId,
RelatedActivityId,
3u,
(__int64)v35);
}
}
}
else if( (_DWORD)Phase == 3 )
{
_m_prefetchw(&PopLogFxDefaultPepWorkerOrphaned);
LODWORD(v5) = _InterlockedAnd(&PopLogFxDefaultPepWorkerOrphaned, 0);
if( (_DWORD)v5 )
{
if( *(&stru_140C00F40 + 1194) > 5u )
{
LOBYTE(v5) = tlgKeywordOn((__int64)&stru_140C00F40 + 4776, 0x400000000000i64);
if( (_BYTE)v5 )
{
LODWORD(v25) = v6;
v34[4] = (__int64)&v25;
v34[5] = UserDataCount;
v34[6] = (__int64)&v26;
v26 = 0x1000000i64;
v34[7] = 8i64;
LOBYTE(v5) = tlgWriteEx_EtwWriteEx(
(__int64)&stru_140C00F40 + 4776,
(unsigned __int8 *)&word_140027382,
v11,
1u,
ActivityId,
RelatedActivityId,
UserDataCount,
(__int64)v34);
}
}
}
}
if( PopDiagHandleRegistered )
{
v10 = PopDiagHandle;
if( EtwEventEnabled(PopDiagHandle, &POP_ETW_EVENT_DEFAULT_PEP_WORKER_END)
|| EtwEventEnabled(v10, &POP_ETW_EVENT_DEFAULT_PEP_WORKER_DEVICE_RECOVERED)
|| (LOBYTE(v5) = EtwEventEnabled(v10, &POP_ETW_EVENT_DEFAULT_PEP_WORKER_DEVICE_ORPHANED), (_BYTE)v5) )
{
if( WorkType )
{
if( WorkType == PopPepWorkServicedTypeDeviceNonShared )
{
v15 = -1;
}
else
{
v15 = ComponentServiced;
if( WorkType == PopPepWorkServicedTypeDeviceShared )
v15 = -2;
}
}
else
{
v15 = -3;
}
v21 = v15;
v22 = v7;
UserData.Ptr = (unsigned __int64)&v39;
v23 = v6;
v28 = &v21;
v30 = &v22;
v32 = &v23;
*(_QWORD *)&UserData.Size = 8i64;
v29 = 1i64;
v31 = 1i64;
v33 = 1i64;
LOBYTE(v5) = EtwEventEnabled(v10, &POP_ETW_EVENT_DEFAULT_PEP_WORKER_END);
if( (_BYTE)v5 )
LOBYTE(v5) = EtwWriteEx(v10, &POP_ETW_EVENT_DEFAULT_PEP_WORKER_END, 0i64, 1u, 0, 0, 4u, &UserData);
if( v7 == 2 )
{
v16 = PopDiagHandle;
LOBYTE(v5) = EtwEventEnabled(PopDiagHandle, &POP_ETW_EVENT_DEFAULT_PEP_WORKER_DEVICE_RECOVERED);
if( !(_BYTE)v5 )
return(char)v5;
LOBYTE(v5) = EtwWriteEx(v16, &POP_ETW_EVENT_DEFAULT_PEP_WORKER_DEVICE_RECOVERED, 0i64, 1u, 0, 0, 4u, &UserData);
}
if( v7 == 3 )
{
v17 = PopDiagHandle;
LOBYTE(v5) = EtwEventEnabled(PopDiagHandle, &POP_ETW_EVENT_DEFAULT_PEP_WORKER_DEVICE_ORPHANED);
if( (_BYTE)v5 )
LOBYTE(v5) = EtwWriteEx(v17, &POP_ETW_EVENT_DEFAULT_PEP_WORKER_DEVICE_ORPHANED, 0i64, 1u, 0, 0, 4u, &UserData);
}
}
}
return(char)v5;
}Referenced by:
PopPepWork