WdipSemSqmAddToStream

NTSTATUS __fastcall WdipSemSqmAddToStream(const in6_addr *a1, unsigned int a2, __int64 a3){
  unsigned int v3; 
  __int64 v4; 
  __int64 v5; 
  __int64 v6; 
  int v8; 
  unsigned int v9; 
  int v10; 
  _DWORD Address[5]; 
  int v12; 
  int v13; 
  int *v14; 
  int v15; 
  int v16; 
  int *v17; 
  int v18; 
  int v19; 
  unsigned int *v20; 
  int i; 
  int v22; 
  int v23; 

  v23 = (int)a1;
  v9 = a2;
  v10 = 1;
  Address[0] = 48;
  v8 = 11;
  if( !a3 || a2 - 1 > 8 )
    return -1073741811;
  v13 = 0;
  v16 = 0;
  v19 = 0;
  v3 = 0;
  v22 = 0;
  *(_QWORD *)&Address[3] = WinSqmGlobalSession;
  v14 = &v23;
  v17 = &v8;
  v20 = &v9;
  v12 = 16;
  v15 = 4;
  v18 = 4;
  for( i = 4; v3 < a2; *(&v12 + 2 * v5) = 4 )
  {
    v4 = 2i64 * (3 * v3 + 4);
    *(&v13 + 2 * v4) = 0;
    *(_QWORD *)&Address[2 * v4 + 3] = &v10;
    *(&v12 + 2 * v4) = 4;
    v5 = 6i64 * (v3 + 2);
    v6 = 2i64 * (3 * v3++ + 5);
    *(&v13 + 2 * v6) = 0;
    *(_QWORD *)&Address[2 * v6 + 3] = a3;
    a3 += 4i64;
    *(&v12 + 2 * v6) = 4;
    a1 = (const in6_addr *)Address;
    *(&v13 + 2 * v5) = 0;
    *(_QWORD *)&Address[2 * v5 + 3] = Address;
  }
  return WdipSemWriteEvent(a1, (ULONG)&WDI_SEM_EVENT_SQM_ADD_TO_STREAM, 0, (PSTR)(3 * a2 + 4), &Address[3]);
}

Referenced by:

WdipSemSqmLogInflightLimitExceededDataPoints
WdipSemSqmLogTimeoutDataPoints