static byte[] transferArray(byte[] buffer, int start, int x, byte[] hashArray, int hashStart, boolean hashToBuffer) {

		if(buffer == null) {
			return null;
		}

		int bufferPos = startPoint[x] + start;
		int thisStep1 = step1[x];

		int hashPos = hashStart;
		for(int outer=0;outer<16;outer++) {
			for(int mid=0;mid<16;mid++) {
				for(int inner=0;inner<8;inner++) {

					if(!hashToBuffer) {
						hashArray[hashPos] = buffer[bufferPos];
					} else {
						buffer[bufferPos] = hashArray[hashPos];
					}
					hashPos++;
					bufferPos++;
				}
				bufferPos+=thisStep1;
			}
		}
		return buffer;
	}