PopDirectedDripsQueryMitigationStatus
__int64 __fastcall PopDirectedDripsQueryMitigationStatus(_DWORD *a1, _DWORD *a2, int *a3){
char v3;
__int64 result;
int v6;
int v7;
__int16 v8;
v3 = *(&stru_140C23628 + 5096);
_m_prefetchw((char *)&stru_140C23628 + 5048);
LODWORD(result) = *(&stru_140C23628 + 1262);
v6 = 0;
do
{
v7 = result;
result = (unsigned int)_InterlockedCompareExchange((_DWORD *)&stru_140C23628 + 1262, result, result);
}
while( v7 != (_DWORD)result );
v8 = result;
if( a1 )
{
*a1 = 0;
result = 0i64;
if( (v3 & 1) != 0 )
{
*a1 = 1;
result = 1i64;
}
if( (v3 & 2) != 0 )
{
result = (unsigned int)result | 2;
*a1 = result;
}
}
if( a2 )
{
*a2 = 0;
result = 0i64;
if( (v8 & 0x1000) != 0 )
{
*a2 = 1;
result = 1i64;
}
if( (v8 & 0x2000) != 0 )
{
result = (unsigned int)result | 2;
*a2 = result;
}
}
if( a3 )
{
*a3 = 0;
if( (v8 & 0x400) != 0 )
{
*a3 = 1;
v6 = 1;
}
if( (v8 & 0x800) != 0 )
*a3 = v6 | 2;
}
return result;
}Referenced by:
PopDirectedDripsInitializeBroadcast
PopDirectedDripsNotify
PopDirectedDripsSendSessionData
PopDirectedDripsUmQueryCapabilities