IopLoadFileSystemDriver

VOID __stdcall IopLoadFileSystemDriver(PDEVICE_OBJECT DeviceObject){
  __int64 v2; 
  _DEVICE_OBJECT *v3; 
  PIRP v4; 
  struct _IO_STATUS_BLOCK IoStatusBlock; 
  struct _KEVENT Event; 
  memset(&Event, 0, sizeof(Event));
  IoStatusBlock = 0i64;
  v2 = *((_QWORD *)DeviceObject + 3);
  v3 = DeviceObject;
  while( v2 )
  {
    v3 = (_DEVICE_OBJECT *)v2;
    v2 = *(_QWORD *)(v2 + 24);
  }
  KeInitializeEvent(&Event, NotificationEvent, 0);
  v4 = IoBuildDeviceIoControlRequest(0xEu, v3, 0i64, 0, 0i64, 0, 0, &Event, &IoStatusBlock);
  if( v4 )
  {
    *(_WORD *)(*((_QWORD *)v4 + 23) - 72i64) = 781;
    if( IofCallDriver(v3, v4) == 259 )
      KeWaitForSingleObject(&Event, Executive, 0, 0, 0i64);
  }
  IopDecrementDeviceObjectRef(DeviceObject, 1u, 1u);
}

Referenced by:

IopMountVolume