PopDirectedDripsDiagRundownBroadcastTrees

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

Referenced by:

PopDirectedDripsDiagNotifySessionStop