PpmPerfTelemetryWorker

INT64 PpmPerfTelemetryWorker(void){
  __int64 *v0; 
  char *v1; 
  unsigned __int64 v2; 
  __int64 v3; 
  unsigned __int64 v4; 
  unsigned __int64 v5; 
  unsigned __int128 v6; 
  int v8; 
  int v9; 
  __int64 v10; 
  struct _EVENT_DATA_DESCRIPTOR v11; 
  int *v12; 
  __int64 v13; 
  int *v14; 
  __int64 v15; 
  char *v16; 
  __int64 v17; 
  __int64 *v18; 
  __int64 v19; 
  char v20[40]; 
  PpmAcquireLock(&PpmPerfPolicyLock);
  PpmPerfUpdateQosDisableReasons(0i64);
  v0 = qword_140CFBD80;
  v1 = v20;
  v2 = qword_140CFBD18 - qword_140CFBD20;
  qword_140CFBD20 = qword_140CFBD18;
  v3 = 9i64;
  v4 = v2 / 0x989680;
  v5 = qword_140CFBD28 - qword_140CFBD30;
  qword_140CFBD30 = qword_140CFBD28;
  do
  {
    v6 = (unsigned __int64)(*(v0 - 9) - *v0) * (unsigned __int128)0xD6BF94D5E57A42BDui64;
    *v0 = *(v0 - 9);
    ++v0;
    *(_DWORD *)v1 = *((_QWORD *)&v6 + 1) >> 23;
    v1 += 4;
    --v3;
  }
  while( v3 );
  PpmReleaseLock(&PpmPerfPolicyLock);
  if( (unsigned int)dword_140C021E8 > 5 && tlgKeywordOn((__int64)&dword_140C021E8, 0x400000000000i64) )
  {
    v8 = v4;
    v12 = &v8;
    v13 = 4i64;
    v14 = &v9;
    v9 = v5 / 0x989680;
    v16 = v20;
    v15 = 4i64;
    v18 = &v10;
    v17 = 36i64;
    v10 = 0x1000000i64;
    v19 = 8i64;
    tlgWriteTransfer_EtwWriteTransfer(
      (__int64)&dword_140C021E8,
      (unsigned __int8 *)&word_140026046,
      0i64,
      0i64,
      6u,
      &v11);
  }
  return PopOkayToQueueNextWorkItem((INT64)&qword_140C244E8);
}

Referenced by:

No references.