package xiami

type xmCipher struct {
	mask           byte
	encryptStartAt int
}

func newXmCipher(mask byte, encryptStartAt int) *xmCipher {
	return &xmCipher{
		mask:           mask,
		encryptStartAt: encryptStartAt,
	}
}

func (c *xmCipher) Decrypt(buf []byte, offset int) {
	for i := 0; i < len(buf); i++ {
		if offset+i >= c.encryptStartAt {
			buf[i] ^= c.mask
		}
	}
}