/* Do CTR encryption. This also does CTR encryption of a single block at address 'xortag' with the counter value appropriate for the final processing of the authentication tag.  */
static void do_ctr(br_sslrec_gcm_context *cc, const void *nonce, void *data, size_t len, void *xortag)
/* Do CTR encryption. This also does CTR encryption of a single block at address 'xortag' with the counter value appropriate for the final processing of the authentication tag.  */
static void do_ctr(br_sslrec_gcm_context *cc, const void *nonce, void *data, size_t len, void *xortag)
{
	unsigned char iv[12];
	memcpy(iv, cc->iv, 4);
	memcpy(iv + 4, nonce, 8);
	cc->bc.vtable->run(&cc->bc.vtable, iv, 2, data, len);
	cc->bc.vtable->run(&cc->bc.vtable, iv, 1, xortag, 16);
}