static final boolean method164(int i, int i_0_, byte i_1_, int i_2_) {
	anInt5195++;
	if (!Class348_Sub40_Sub23.aBoolean9307 || !Class23.aBoolean351)
	    return false;
	if ((Class225.anInt2946 ^ 0xffffffff) > -101)
	    return false;
	int i_3_ = Class354.anIntArrayArrayArray4356[i][i_0_][i_2_];
	if ((-FileOnDisk.anInt3049 ^ 0xffffffff) == (i_3_ ^ 0xffffffff))
	    return false;
	if (FileOnDisk.anInt3049 == i_3_)
	    return true;
	if (Class332.aSArray4142 == aa_Sub1.aSArray5191)
	    return false;
	int i_4_ = i_0_ << Class362.anInt4459;
	int i_5_ = i_2_ << Class362.anInt4459;
	if (i_1_ != -97)
	    method163(-4);
	if ((Class286_Sub7.method2169
	     (i_4_ - -1, i_4_ - (-Class270.anInt3465 - -1), 1 + i_5_, 1 + i_4_,
	      -1 + (i_5_ - -Class270.anInt3465),
	      aa_Sub1.aSArray5191[i].method3982((byte) -86, 1 + i_2_, i_0_),
	      aa_Sub1.aSArray5191[i].method3982((byte) -86, 1 + i_2_,
						1 + i_0_),
	      aa_Sub1.aSArray5191[i].method3982((byte) -86, i_2_, i_0_),
	      -1 + Class270.anInt3465 + i_5_, false))
	    && (Class286_Sub7.method2169
		(1 + i_4_, Class270.anInt3465 + (i_4_ + -1), i_5_ + 1,
		 Class270.anInt3465 + (i_4_ - 1),
		 i_5_ + Class270.anInt3465 - 1,
		 aa_Sub1.aSArray5191[i].method3982((byte) -86, i_2_ - -1,
						   1 + i_0_),
		 aa_Sub1.aSArray5191[i].method3982((byte) -86, i_2_, i_0_ + 1),
		 aa_Sub1.aSArray5191[i].method3982((byte) -86, i_2_, i_0_),
		 1 + i_5_, false))) {
	    Class348_Sub23_Sub2.anInt9039++;
	    Class354.anIntArrayArrayArray4356[i][i_0_][i_2_]
		= FileOnDisk.anInt3049;
	    return true;
	}
	Class354.anIntArrayArrayArray4356[i][i_0_][i_2_] = -FileOnDisk.anInt3049;
	return false;
    }