PopPolicyWorkerActionPromote
VOID __stdcall PopPolicyWorkerActionPromote(){
char v0;
UINT64 v1;
PopAcquirePolicyLock();
qword_140C23418 = (__int64)KeGetCurrentThread();
if( !(_BYTE)PopAction )
goto LABEL_2;
v0 = PopAction;
if( !byte_140C23261 )
{
if( (PopAction & 2) == 0 )
goto LABEL_2;
PopSetPowerActionState(1u);
v1 = 2i64;
goto LABEL_12;
}
if( byte_140C23261 != 2 )
goto LABEL_2;
if( PopIssueActionRequest(1u, SystemAction, (_SYSTEM_POWER_STATE)*(&SystemAction + 1), (unsigned int)Flags) >= 0 )
{
LOBYTE(PopAction) = ~v0 & PopAction;
goto LABEL_2;
}
if( byte_140C23261 != 2 )
{
v1 = 1i64;
LABEL_12:
PopGetPolicyWorker(v1);
}
LABEL_2:
qword_140C23418 = 0i64;
PopReleasePolicyLock();
if( KeGetCurrentThread()->WaitBlock[3].SpareLong )
__fastfail(0x20u);
}Referenced by:
No references.