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.