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