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.