IopResurrectDriver

NTSTATUS __stdcall IopResurrectDriver(DRIVER_OBJECT *DriverObject){
  _DEVICE_OBJECT *DeviceObject; 
  KIRQL v3; 
  DeviceObject = DriverObject->DeviceObject;
  v3 = KeAcquireQueuedSpinLock(0xAui64);
  if( (DriverObject->Flags & 1) == 0 && DeviceObject && (*(_DWORD *)(*((_QWORD *)DeviceObject + 39) + 32i64) & 1) != 0 )
  {
    do
    {
      *(_DWORD *)(*((_QWORD *)DeviceObject + 39) + 32i64) &= ~1u;
      DeviceObject = (_DEVICE_OBJECT *)*((_QWORD *)DeviceObject + 2);
    }
    while( DeviceObject );
    KeReleaseQueuedSpinLock(0xAui64, v3);
    return 0;
  }
  else
  {
    KeReleaseQueuedSpinLock(0xAui64, v3);
    return -1073741554;
  }
}

Referenced by:

IopLoadDriver