PopDirectedDripsDiagCreateDeviceDiagnostic

CHAR *__stdcall PopDirectedDripsDiagCreateDeviceDiagnostic(INT64 a1){
  VOID **PoolWithTag; 
  VOID **v3; 
  VOID ***v4; 

  PoolWithTag = ExAllocatePoolWithTag(1ui64, 0xA8ui64, 1734960208i64);
  v3 = PoolWithTag;
  if( PoolWithTag )
  {
    memset(PoolWithTag, 0i64, 0xA8u);
    v3[2] = (VOID *)a1;
    *((_DWORD *)v3 + 6) = dword_140C1EB80++;
    *((_DWORD *)v3 + 37) = -1;
    if( PopDirectedDripsDiagCreateDeviceDescription(a1, (INT64)v3) < 0 )
    {
      PopDirectedDripsDiagFreeDeviceDiagnostic(v3);
      return 0i64;
    }
    else
    {
      *(_QWORD *)(a1 + 776) = v3;
      v4 = (VOID ***)qword_140C1E998;
      if( *(PVOID **)qword_140C1E998 != &qword_140C1E990 )
        __fastfail(3u);
      *v3 = &qword_140C1E990;
      v3[1] = v4;
      *v4 = v3;
      qword_140C1E998 = (__int64)v3;
    }
  }
  return(CHAR *)v3;
}

Referenced by:

PopDirectedDripsDiagBroadcastTreeBegin
PopDirectedDripsDiagTraceBroadcastVisit
PopDirectedDripsDiagTraceMarkDevice