Class310_Sub3(DirectxToolkit class378, Class304 class304, int i, int i_0_,
		  int i_1_, byte[] is) {
	super(class378, class304, Class68.aClass68_1183, false,
	      i_1_ * i_0_ * i);
	anInt6338 = i;
	anInt6337 = i_1_;
	anInt6339 = i_0_;
	anIDirect3DVolumeTexture6336
	    = (((DirectxToolkit) ((Class310_Sub3) this).aClass378_3893)
		   .anIDirect3DDevice9810.a
	       (i, i_0_, i_1_, 1, 0,
		DirectxToolkit.method3958(22, ((Class310_Sub3) this).aClass68_3895,
				    class304),
		1));
	PixelBuffer pixelbuffer
	    = (((DirectxToolkit) ((Class310_Sub3) this).aClass378_3893)
	       .aPixelBuffer9803);
	int i_2_ = anIDirect3DVolumeTexture6336.LockBox(0, 0, 0, 0, i, i_0_,
							i_1_, 0, pixelbuffer);
	if (ue.a(i_2_, false)) {
	    int i_3_
		= (((Class304) ((Class310_Sub3) this).aClass304_3896).anInt3850
		   * anInt6338);
	    int i_4_ = i_3_ * anInt6339;
	    int i_5_ = pixelbuffer.getSlicePitch();
	    if (i_5_ == i_4_)
		pixelbuffer.a(is, 0, 0, anInt6337 * (i_3_ * anInt6339));
	    else {
		int i_6_ = pixelbuffer.getRowPitch();
		if (i_3_ != i_6_) {
		    for (int i_7_ = 0; i_7_ < anInt6337; i_7_++) {
			for (int i_8_ = 0;
			     (i_8_ ^ 0xffffffff) > (anInt6339 ^ 0xffffffff);
			     i_8_++)
			    pixelbuffer.a(is, i_3_ * i_8_ + i_4_ * i_7_,
					  i_8_ * i_6_ + i_7_ * i_5_, i_3_);
		    }
		} else {
		    for (int i_9_ = 0;
			 (i_9_ ^ 0xffffffff) > (anInt6337 ^ 0xffffffff);
			 i_9_++)
			pixelbuffer.a(is, i_4_ * i_9_, i_9_ * i_5_, i_4_);
		}
	    }
	    anIDirect3DVolumeTexture6336.UnlockBox(0);
	}
    }