PpmPerfApplyLatencyHint
VOID __stdcall PpmPerfApplyLatencyHint(_KPRCB *Prcb){
_ETHREAD *CurrentThread;
__int64 v2;
__int64 v3;
__int64 v4;
int v5;
__int64 v6;
unsigned int SListFaultAddress;
CurrentThread = Prcb->CurrentThread;
v2 = *(_QWORD *)&CurrentThread->Tcb.gap0[8];
v3 = *(&stru_140C00F40 + 365) + 2736i64 * *(&stru_140C23628 + 441);
v4 = *(unsigned __int8 *)((unsigned __int8)PpmGetPerfPolicyClass(Prcb) + v3 + 117);
if( ((v5 - 1) & 0xFFFFFFFD) != 0 )
{
if( (unsigned int)(v5 - 5) <= 1 || PpmPerfBoostAtGuaranteed )
SListFaultAddress = (unsigned int)CurrentThread->Tcb.SListFaultAddress;
else
SListFaultAddress = 100;
}
else
{
SListFaultAddress = *(_DWORD *)(v6 + 320);
}
if( (unsigned int)v4 >= SListFaultAddress )
v4 = SListFaultAddress;
if( (unsigned int)v4 > LODWORD(CurrentThread->Tcb.StackBase) )
LODWORD(CurrentThread->Tcb.StackBase) = (*(__int64(__fastcall **)(__int64, __int64, _QWORD))(v6 + 280))(
v2,
v4,
*(unsigned int *)(v6 + 328));
}Referenced by:
PpmPerfApplyLatencyHints