public final void run() {
	anInt4553++;
	for (;;) {
	    int i;
	    synchronized (this) {
		for (;;) {
		    if (ioexception != null)
			return;
		    if ((anInt4556 ^ 0xffffffff) != -1) {
			if (anInt4556 < anInt4558)
			    i = -anInt4558 + bufferSize;
			else
			    i = -1 + anInt4556 - anInt4558;
		    } else
			i = -1 + (bufferSize + -anInt4558);
		    if ((i ^ 0xffffffff) < -1)
			break;
		    try {
			this.wait();
		    } catch (InterruptedException interruptedexception) {
			/* empty */
		    }
		}
	    }
	    int i_1_;
	    try {
		i_1_ = inputstream.read(buffer, anInt4558, i);
		if (i_1_ == -1)
		    throw new EOFException();
	    } catch (IOException ioexception) {
		synchronized (this) {
		    ioexception = ioexception;
		    break;
		}
	    }
	    synchronized (this) {
		anInt4558 = (i_1_ + anInt4558) % bufferSize;
	    }
	}
    }