PopRecalculateCBTriggerLevels
VOID __stdcall PopRecalculateCBTriggerLevels(UINT64 Flags){
unsigned int v1;
__int64 v2;
__int64 v3;
__int64 v4;
__int64 v5;
UINT64 v6;
LODWORD(v6) = Flags;
PopAcquirePolicyLock();
v1 = 0;
LODWORD(v6) = 0;
v2 = 0i64;
do
{
v3 = *(&stru_140C23628 + 232);
if( (*(&PopCB + 6 * v2 + 75) & 0x80u) == 0 )
{
*(&PopCB + 6 * v2 + 78) = *(_DWORD *)(*(&stru_140C23628 + 232) + 24 * v2 + 100);
if( *(_BYTE *)(v3 + 24 * v2 + 96) )
{
*(&PopCB + 6 * v2 + 75) |= 0x80u;
PopDiagTraceBatteryTriggerFlags(&v6, (INT64)(&PopCB + 6 * v2 + 74));
v1 = v6;
v4 = 3i64 * (unsigned int)v6;
v5 = 24i64 * (unsigned int)v6;
if( PopBatteryCheckTrigger((_POP_ACTION_TRIGGER *)((char *)&PopCB + v5 + 296)) )
{
*(&PopCB + 2 * v4 + 75) |= 2u;
PopDiagTraceBatteryTriggerFlags(&v6, (INT64)&PopCB + v5 + 296);
v1 = v6;
}
}
}
LODWORD(v6) = ++v1;
v2 = v1;
}
while( v1 < 4 );
PopReleasePolicyLock();
}Referenced by:
PopBatteryApplyCompositeState