EtwpCovSampStrideSamplerInitialize

INT64 __fastcall EtwpCovSampStrideSamplerInitialize(INT64 a1, UINT64 a2, UINT64 a3){
  __int64 v3; 
  unsigned int v5; 
  ULONG v6; 
  bool v7; 
  unsigned __int64 v8; 
  INT64 result; 
  v3 = (unsigned int)a3;
  *(_OWORD *)a1 = 0i64;
  *(_OWORD *)(a1 + 16) = 0i64;
  *(_QWORD *)(a1 + 32) = 0i64;
  v5 = a2;
  *(_DWORD *)(a1 + 36) = ExGenRandom(0i64);
  v6 = 10 * v5 / KeMaximumIncrement;
  *(_DWORD *)(a1 + 8) = v6;
  v7 = *(_DWORD *)(a1 + 8) == 0;
  *(_DWORD *)(a1 + 4) = KUSER_SHARED_DATA.TickCount.LowPart + ~v6;
  if( v7 )
  {
    if( v5 )
    {
      v8 = v3 * (KeMaximumIncrement / 0xA / v5);
      LODWORD(v3) = 0x10000000;
      if( v8 < 0x10000000 )
        LODWORD(v3) = v8;
    }
  }
  result = (unsigned int)(4 * v3);
  *(_DWORD *)a1 = v3;
  *(_DWORD *)(a1 + 12) = result;
  return result;
}

Referenced by:

EtwpCovSampCaptureContextStart