final void write(byte[] src, int off, int len)
	throws IOException {
	anInt2655++;
	if (!isPaused) {
	    if (caughIoex) {
		caughIoex = false;
		throw new IOException();
	    }
	    if (aByteArray2663 == null)
		aByteArray2663 = new byte[bufferSize];
	    synchronized (this) {
		
		    for (int i_7_ = 0; (len ^ 0xffffffff) < (i_7_ ^ 0xffffffff);
			 i_7_++) {
			aByteArray2663[anInt2648] = src[i_7_ + off];
			anInt2648 = (anInt2648 - -1) % bufferSize;
			if (((anInt2656 - (-bufferSize - -100)) % bufferSize
			     ^ 0xffffffff)
			    == (anInt2648 ^ 0xffffffff))
			    throw new IOException();
		    }
		    if (request == null)
			request
			    = signlink.createThreadRequest(this, -10240, 3);
		    this.notifyAll();
		
	    }
	}
    }