PopDirectedDripsDiagRundownBroadcastTrees
VOID __stdcall PopDirectedDripsDiagRundownBroadcastTrees(){
char *v0;
__int64 v1;
__int64 v2;
int v3;
__int64 v4;
int v5;
REGHANDLE v6;
__int64 v7;
__int64 v8;
_QWORD *v9;
int v10;
int v11;
int v12;
int v13;
int v14;
int v15;
int v16;
int v17;
int v18;
int v19;
UINT64 v20;
UINT64 v21;
__int64 v22;
__int64 v23;
_EVENT_DATA_DESCRIPTOR v24[2];
UINT64 *v25;
__int64 v26;
int *v27;
__int64 v28;
int *v29;
__int64 v30;
int *v31;
__int64 v32;
int *v33;
__int64 v34;
int *v35;
__int64 v36;
int *v37;
__int64 v38;
__int64 *v39;
__int64 v40;
char *v41;
__int64 v42;
char *v43;
__int64 v44;
__int64 *v45;
__int64 v46;
_EVENT_DATA_DESCRIPTOR UserData;
__int64 v48;
__int64 v49;
__int64 v50;
__int64 v51;
_QWORD *v52;
__int64 v53;
__int64 v54;
__int64 v55;
v20 = PopWnfCsEnterScenarioId;
while( 1 )
{
v0 = (char *)PopDirectedDripsDiagSessionContext;
if( PopDirectedDripsDiagSessionContext == &PopDirectedDripsDiagSessionContext )
break;
v1 = *(_QWORD *)PopDirectedDripsDiagSessionContext;
if( *((PVOID **)PopDirectedDripsDiagSessionContext + 1) != &PopDirectedDripsDiagSessionContext
|| *(PVOID *)(v1 + 8) != PopDirectedDripsDiagSessionContext )
{
__fastfail(3u);
}
PopDirectedDripsDiagSessionContext = *(PVOID *)PopDirectedDripsDiagSessionContext;
*(_QWORD *)(v1 + 8) = &PopDirectedDripsDiagSessionContext;
if( (unsigned int)dword_140D2C920 > 5 && tlgKeywordOn((__int64)&dword_140D2C920, 0x400000000000i64) )
{
v2 = *((_QWORD *)v0 + 2);
v21 = v20;
v26 = 8i64;
v25 = &v21;
v10 = *(_DWORD *)(v2 + 24);
v27 = &v10;
v28 = 4i64;
v11 = *(_DWORD *)(v2 + 144);
v29 = &v11;
v12 = *((_DWORD *)v0 + 8);
v31 = &v12;
v13 = *((_DWORD *)v0 + 10);
v33 = &v13;
v35 = (int *)(v0 + 56);
v37 = (int *)(v0 + 80);
v39 = (__int64 *)(v0 + 192);
v41 = v0 + 128;
v43 = v0 + 152;
v45 = &v22;
v30 = 4i64;
v32 = 4i64;
v34 = 4i64;
v36 = 20i64;
v38 = 40i64;
v40 = 36i64;
v42 = 20i64;
v44 = 40i64;
v22 = 0x1000000i64;
v46 = 8i64;
tlgWriteTransfer_EtwWriteTransfer(
(__int64)&dword_140D2C920,
(unsigned __int8 *)byte_140028F9B,
0i64,
0i64,
0xDu,
v24);
}
while( 1 )
{
v9 = (_QWORD *)*((_QWORD *)v0 + 3);
if( !v9 )
break;
if( (unsigned int)dword_140D2C920 > 5 && tlgKeywordOn((__int64)&dword_140D2C920, 0x400000000000i64) )
{
v21 = v20;
v26 = 8i64;
v25 = &v21;
v3 = *(_DWORD *)(*((_QWORD *)v0 + 2) + 24i64);
v27 = &v14;
v15 = *((_DWORD *)v0 + 8);
v29 = &v15;
v16 = *((_DWORD *)v0 + 10);
v31 = &v16;
v4 = v9[1];
v14 = v3;
v28 = 4i64;
v30 = 4i64;
v32 = 4i64;
v5 = *(_DWORD *)(v4 + 24);
v33 = &v17;
v18 = *((_DWORD *)v9 + 4);
v35 = &v18;
v19 = *((_DWORD *)v9 + 5);
v37 = &v19;
v39 = &v23;
v17 = v5;
v34 = 4i64;
v36 = 4i64;
v38 = 4i64;
v23 = 0x1000000i64;
v40 = 8i64;
tlgWriteTransfer_EtwWriteTransfer(
(__int64)&dword_140D2C920,
(unsigned __int8 *)&word_140028F0E,
0i64,
0i64,
0xAu,
v24);
}
if( PopDiagHandleRegistered )
{
v6 = PopDiagHandle;
if( EtwEventEnabled(PopDiagHandle, &POP_ETW_EVENT_DIRECTED_DRIPS_ERROR_RECORD) )
{
*(_QWORD *)&UserData.Size = 8i64;
UserData.Ptr = (unsigned __int64)&v20;
v7 = *((_QWORD *)v0 + 2) + 16i64;
v49 = 8i64;
v48 = v7;
v8 = v9[1];
v51 = 8i64;
v50 = v8 + 16;
v52 = v9 + 2;
v54 = (__int64)v9 + 20;
v53 = 4i64;
v55 = 4i64;
EtwWrite(v6, &POP_ETW_EVENT_DIRECTED_DRIPS_ERROR_RECORD, 0, 5u, &UserData);
}
}
*((_QWORD *)v0 + 3) = *v9;
ExFreePoolWithTag(v9, 0x67696450u);
}
ExFreePoolWithTag(v0, 0x67696450u);
}
}Referenced by:
PopDirectedDripsDiagNotifySessionStop