PiProcessHaltDevice

NTSTATUS __stdcall PiProcessHaltDevice(_PNP_DEVICE_ACTION_ENTRY *Request){
  _DWORD *DeviceNode; 
  int v3; 
  int v5; 

  DeviceNode = Request->DeviceObject->DeviceObjectExtension->DeviceNode;
  v3 = DeviceNode[75];
  if( (unsigned int)(v3 - 787) <= 1 )
    return -1073741738;
  if( (Request->RequestArgument & 0xFFFFFFFE) != 0 )
    return -1073741584;
  v5 = DeviceNode[99];
  if( (v5 & 0x1001) != 0 || (v5 & 1) == 0 && DeviceNode[150] )
    return -1073741808;
  if( v3 != 776 )
    return -1073741436;
  PnpRequestDeviceRemoval((__int64)DeviceNode, 0, 44, 0);
  return 0;
}

Referenced by:

PnpDeviceActionWorker