PopDirectedDripsUmPowerInformationInternal
INT64 __fastcall PopDirectedDripsUmPowerInformationInternal(INT64 a1, UINT64 a2, INT64 a3, _DWORD *a4, _QWORD *a5){
signed __int32 v5;
signed __int32 v6;
int v8;
int v9;
int v10;
*a4 = 0;
*a5 = 0i64;
_m_prefetchw(&PopDirectedDripsState);
v5 = PopDirectedDripsState;
do
{
v6 = v5;
v5 = _InterlockedCompareExchange((volatile signed __int32 *)&PopDirectedDripsState, v5, v5);
}
while( v6 != v5 );
if( (v5 & 1) == 0 )
return 3221225659i64;
v8 = a1 - 53;
if( !v8 )
return PopDirectedDripsUmDirectedFxAddTestDevice((unsigned int)a2, a3);
v9 = v8 - 1;
if( !v9 )
return PopDirectedDripsUmDirectedFxRemoveTestDevice((unsigned int)a2, a3);
v10 = v9 - 2;
if( !v10 )
return PopDirectedDripsUmDirectedFxSetMode((unsigned int)a2, a3);
if( v10 == 8 )
return PopDirectedDripsUmQueryCapabilities(a4, a5);
return 3221225485i64;
}Referenced by:
PopPowerInformationInternal