final Interface18_Impl3 method3587(byte i, int i_0_) {
	anInt4529++;
	Object object = aClass60_4531.method583((long) i_0_, 107);
	if (object != null)
	    return (Interface18_Impl3) object;
	if (!aD4528.method4(-7953, i_0_))
	    return null;
	if (i > -30)
	    anInt4532 = 37;
	TextureDefinition class12 = aD4528.getTexture(i_0_, -6662);
	int i_1_ = (!((TextureDefinition) class12).aBoolean199 ? ((NativeToolkit) aHa_Sub3_4526).fontSize : 64);
	Interface18_Impl3 interface18_impl3;
	if (((TextureDefinition) class12).aBoolean218 && aHa_Sub3_4526.isBloomSupported()) {
	    float[] fs = aD4528.method1(i_1_, 0.7F, false, -30824, i_1_, i_0_);
	    interface18_impl3
		= aHa_Sub3_4526.method3891(fs, i_1_, i_1_,
					   Class108.aClass304_1662, -109,
					   (((TextureDefinition) class12).aByte205
					    ^ 0xffffffff) != -1);
	} else {
	    int[] is;
	    if (((TextureDefinition) class12).anInt200 == 2
		|| !Class251.method1915((byte) 4,
					((TextureDefinition) class12).aByte213))
		is = aD4528.method6(-21540, i_1_, 0.7F, i_0_, false, i_1_);
	    else
		is = aD4528.method5(true, i_0_, 0.7F, i_1_, i_1_, 83);
	    interface18_impl3
		= aHa_Sub3_4526.method3839(i_1_, i_1_, -15137,
					   (((TextureDefinition) class12).aByte205
					    ^ 0xffffffff) != -1,
					   is);
	}
	interface18_impl3.method66(((TextureDefinition) class12).aBoolean217,
				   ((TextureDefinition) class12).aBoolean215, 25688);
	aClass60_4531.method582(interface18_impl3, (long) i_0_, (byte) -107);
	return interface18_impl3;
    }