WdipSemSqmLogInflightLimitExceededDataPoints

NTSTATUS __stdcall WdipSemSqmLogInflightLimitExceededDataPoints(){
  _ETHREAD *CurrentThread; 
  int v1; 
  UINT64 v2; 
  __int64 v3; 
  unsigned int i; 
  const _GUID **v6; 
  const _GUID *v7; 
  __int64 v8; 
  UINT64 Key; 
  int v10[4]; 

  CurrentThread = (_ETHREAD *)KeGetCurrentThread();
  LODWORD(Key) = 0;
  v1 = 0;
  --CurrentThread->Tcb.KernelApcDisable;
  ExAcquirePushLockExclusiveEx(&stru_140C1C7E8, 0i64);
  v3 = (unsigned int)dword_140C1C7E0;
  if( dword_140C1C7E0 )
  {
    v1 = WdipSemSqmIncrementDword(v2);
    if( v1 < 0 )
      v1 = 0;
    if( (_DWORD)v3 )
    {
      v6 = (const _GUID **)WdipSemFrequentScenarioTable;
      do
      {
        v7 = *v6;
        if( WdipSemGetGuidKey(*v6, &Key) >= 0 )
        {
          v10[0] = Key;
          v10[1] = LOWORD(v7[1].Data1);
          v10[2] = *(_DWORD *)&v7[1].Data2;
          v1 = WdipSemSqmAddToStream((const in6_addr *)0x426, 3u, (__int64)v10);
          if( v1 < 0 )
            v1 = 0;
        }
        else
        {
          v1 = 0;
        }
        ++v6;
        --v3;
      }
      while( v3 );
    }
  }
  for( i = 0; i < dword_140C1C7E0; WdipSemFrequentScenarioTable[v8] = 0i64 )
  {
    v8 = i;
    WdipSemFastFree(5i64, (_SLIST_ENTRY *)WdipSemFrequentScenarioTable[i++]);
  }
  dword_140C1C7E0 = 0;
  ExReleasePushLockEx((ULONG_PTR)&stru_140C1C7E8, 0);
  KeLeaveCriticalRegionThread(KeGetCurrentThread());
  return v1;
}

Referenced by:

WdipTimeoutCheckRoutine