public long Preserve(long offset, byte[] decrypted, long size) { int x = (int)(offset / WiiPartitionSection.GroupSize); int byt = x / 8; int bit = 1 << (7 - (x % 8)); _flags.Write8(byt, (byte)(_flags.Read8(byt) | bit)); long written = 0; for (int i = 0; i < size; i += 0x8000) { _hashes.Write(decrypted, i, 0x400); written += 0x400; } return(written); }