IopLoadFileSystemDriver

VOID __stdcall IopLoadFileSystemDriver(_DEVICE_OBJECT *DeviceObject){
  _DEVICE_OBJECT *AttachedDevice; 
  _DEVICE_OBJECT *v3; 
  PIRP *v4; 
  _IO_STATUS_BLOCK IoStatusBlock; 
  __int128 Object; 
  __int64 v7; 

  Object = 0i64;
  v7 = 0i64;
  IoStatusBlock = 0i64;
  AttachedDevice = DeviceObject->AttachedDevice;
  v3 = DeviceObject;
  while( AttachedDevice )
  {
    v3 = AttachedDevice;
    AttachedDevice = AttachedDevice->AttachedDevice;
  }
  KeInitializeEvent((INT64)&Object, 0, 0);
  v4 = IoBuildDeviceIoControlRequest(0xEu, v3, 0i64, 0, 0i64, 0, 0, (PKEVENT)&Object, &IoStatusBlock);
  if( v4 )
  {
    LOWORD(v4[23][-1].Tail.DriverContext[2]) = 781;
    if( IofCallDriver((UINT64)v3, (UINT64)v4) == 259 )
      KeWaitForSingleObject((UINT64)&Object, 0, 0, 0, 0i64);
  }
  IopDecrementDeviceObjectRef(DeviceObject, 1u, 1u);
}

Referenced by:

IopMountVolume