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, Action, (_SYSTEM_POWER_STATE)*(&Action + 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( *((_DWORD *)KeGetCurrentThread() + 121) )
    __fastfail(0x20u);
}

Referenced by:

No references.