PopEvaluateInputSuppressionAction
VOID __stdcall PopEvaluateInputSuppressionAction(){
char v0;
bool v1;
bool v2;
bool v3;
int v4;
INT64 v5;
INT64 v6;
INT64 v7;
INT64 v8;
INT64 MatchingChangeStamp;
UINT64 MatchingChangeStampb;
UINT64 MatchingChangeStampa;
INT64 v12;
INT64 v13;
INT64 v14;
_BOOL4 Buffer;
GUID InputBuffer;
_BOOL4 v17;
v17 = 0;
Buffer = 0;
InputBuffer = 0i64;
PopAcquirePolicyLock();
PopAcquireRwLockExclusive((_POP_RW_LOCK *)&PopIrpWorkerControlEvent + 183);
v0 = PopConsoleExternalDisplayConnected;
v1 = PopLidOpened == 0;
v2 = *(&stru_140C23628 + 441) == 1;
v3 = dword_140C50478 == 0;
if( *(&stru_140CF2E80 + 6570)
|| !*(&stru_140CF2E80 + 6569) && PopLidOpened
|| *(&stru_140C23628 + 441) != 1
|| (_BYTE)PopConsoleExternalDisplayConnected
|| (v4 = 1, dword_140C50478) )
{
v4 = 0;
}
if( !*(&stru_140CF2E80 + 6568) && v4 == 1 )
v4 = 2;
PopReleasePolicyLock();
if( PopInputSuppressionRequired != v4 )
{
LODWORD(v12) = v4;
LOBYTE(v8) = v0;
LOBYTE(v7) = v2;
LOBYTE(v5) = v1;
PopInputSuppressionRequired = v4;
PopTraceInputSuppressionActionUpdate(v6, v5, v7, v8, v3, MatchingChangeStamp, v12);
LODWORD(v13) = 0;
LODWORD(MatchingChangeStampb) = 0;
ZwUpdateWnfStateData(
&WNF_PO_INPUT_SUPPRESS_NOTIFICATION_EX,
&PopInputSuppressionRequired,
4ui64,
0i64,
0i64,
MatchingChangeStampb,
v13);
if( *(&stru_140CF2E80 + 6568) )
{
if( (unsigned int)PopInputSuppressionRequired <= 1 )
_InterlockedIncrement((_DWORD *)&WheapErrorSourceTable + 239);
LODWORD(v14) = 0;
LODWORD(MatchingChangeStampa) = 0;
Buffer = PopInputSuppressionRequired == 1;
ZwUpdateWnfStateData(&WNF_PO_INPUT_SUPPRESS_NOTIFICATION, &Buffer, 4ui64, 0i64, 0i64, MatchingChangeStampa, v14);
v17 = Buffer;
InputBuffer = GUID_INPUT_SUPPRESS_REQUESTED;
PopBroadcastSessionInfo(PowerInfo_PolicyChange, 0x14ui64, &InputBuffer);
}
}
PopReleaseRwLock((_POP_RW_LOCK *)&PopIrpWorkerControlEvent + 183);
}Referenced by:
PopBroadcastInputSuppressionCallback
PopExternalMonitorUpdatedWorker