HalpDispatchPower

NTSTATUS __stdcall HalpDispatchPower(DEVICE_OBJECT *DeviceObject, IRP *Irp){
  __int64 v2; 
  NTSTATUS v4; 
  unsigned __int8 v6; 
  NTSTATUS v7; 
  NTSTATUS v8; 
  v2 = *((_QWORD *)Irp + 23);
  v4 = *((_DWORD *)Irp + 12);
  v6 = *(_BYTE *)(v2 + 1) - 2;
  if( **((_DWORD **)DeviceObject + 8) != 193 )
  {
    if( v6 <= 1u )
    {
      v4 = 0;
      *((_DWORD *)Irp + 12) = 0;
    }
    IofCompleteRequest(Irp, 0);
    return v4;
  }
  if( v6 > 1u )
    return HalpPassIrpFromFdoToPdo(DeviceObject, Irp);
  if( *(_DWORD *)(v2 + 16) || (v7 = HalpDispatchSystemStateTransition(Irp), v8 = v7, v7 >= 0) )
  {
    *((_DWORD *)Irp + 12) = 0;
    return HalpPassIrpFromFdoToPdo(DeviceObject, Irp);
  }
  *((_DWORD *)Irp + 12) = v7;
  IofCompleteRequest(Irp, 0);
  return v8;
}

Referenced by:

No references.