PopDirectedDripsUmPowerInformationInternal

NTSTATUS __fastcall PopDirectedDripsUmPowerInformationInternal(
        int a1,
        unsigned int 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((char *)&stru_140C23628 + 5048);
  v5 = *(&stru_140C23628 + 1262);
  do
  {
    v6 = v5;
    v5 = _InterlockedCompareExchange((_DWORD *)&stru_140C23628 + 1262, v5, v5);
  }
  while( v6 != v5 );
  if( (v5 & 1) == 0 )
    return -1073741637;
  v8 = a1 - 53;
  if( !v8 )
    return PopDirectedDripsUmDirectedFxAddTestDevice(a2, a3);
  v9 = v8 - 1;
  if( !v9 )
    return PopDirectedDripsUmDirectedFxRemoveTestDevice(a2, a3);
  v10 = v9 - 2;
  if( !v10 )
    return PopDirectedDripsUmDirectedFxSetMode(a2, a3);
  if( v10 == 8 )
    return PopDirectedDripsUmQueryCapabilities(a4, a5);
  return -1073741811;
}

Referenced by:

PopPowerInformationInternal