PoFxNotifySurprisePowerOn

NTSTATUS __fastcall PoFxNotifySurprisePowerOn(INT64 a1){
  INT64 v1; 
  _POP_FX_DEVICE *v2; 
  _POP_FX_DEVICE *v3; 
  __int64 v4; 

  v1 = a1;
  if( a1 )
    a1 = *(_QWORD *)(*(_QWORD *)(a1 + 312) + 40i64);
  v2 = PopFxLockDevice((_DEVICE_NODE *)a1, 1u);
  v3 = v2;
  if( v2 )
  {
    PopPepSurprisePowerOn(*((PEPHANDLE **)v2 + 7));
    if( _InterlockedExchangeAdd((volatile signed __int32 *)v3 + 61, 0xFFFFFFFF) == 1 )
      LODWORD(v2) = KeSetEvent((PRKEVENT)((char *)v3 + 248), 0, 0);
    if( v1 )
    {
      v2 = *(_POP_FX_DEVICE **)(v1 + 312);
      v4 = *((_QWORD *)v2 + 5);
    }
    else
    {
      v4 = 0i64;
    }
    if( v4 )
    {
      LODWORD(v2) = *(_DWORD *)(v4 + 760);
      if( ((unsigned int)v2 & 0x30000) != 0 )
        LODWORD(v2) = PopDirectedDripsStartDisengageTimer(1i64);
    }
  }
  return(int)v2;
}

Referenced by:

No references.