- lp32(dst)[0] ^= lp32(iv)[0];
- lp32(dst)[1] ^= lp32(iv)[1];
- lp32(dst)[2] ^= lp32(iv)[2];
- lp32(dst)[3] ^= lp32(iv)[3];
+
+ SILC_GET32_MSB(tmp2[0], &iv[0]);
+ SILC_GET32_MSB(tmp2[1], &iv[4]);
+ SILC_GET32_MSB(tmp2[2], &iv[8]);
+ SILC_GET32_MSB(tmp2[3], &iv[12]);
+
+ SILC_GET32_MSB(tmp3[0], &dst[0]);
+ SILC_GET32_MSB(tmp3[1], &dst[4]);
+ SILC_GET32_MSB(tmp3[2], &dst[8]);
+ SILC_GET32_MSB(tmp3[3], &dst[12]);
+
+ tmp2[0] = tmp3[0] ^ tmp2[0];
+ tmp2[1] = tmp3[1] ^ tmp2[1];
+ tmp2[2] = tmp3[2] ^ tmp2[2];
+ tmp2[3] = tmp3[3] ^ tmp2[3];
+
+ SILC_PUT32_MSB(tmp2[0], &dst[0]);
+ SILC_PUT32_MSB(tmp2[1], &dst[4]);
+ SILC_PUT32_MSB(tmp2[2], &dst[8]);
+ SILC_PUT32_MSB(tmp2[3], &dst[12]);
+