S4
struct drbg_string S1, S2, S4, cipherin;
drbg_string_fill(&S4, pad, padlen);
list_add_tail(&S4.list, &bcc_list);
S4(r1, r2, r4, r3, r0); store_and_load_keys(r2, r4, r3, r0, 24, 20);
S4(r0, r1, r4, r2, r3); store_and_load_keys(r1, r4, r2, r3, -8, -12);
S4(r3, r0, r4, r1, r2); store_and_load_keys(r0, r4, r1, r2, 10, 6);
S4(r2, r3, r4, r0, r1); store_and_load_keys(r3, r4, r0, r1, 28, 24);
S4(r2, r0, r3, r1, r4); LK(r0, r3, r1, r4, r2, 5);
S4(r4, r2, r3, r0, r1); LK(r2, r3, r0, r1, r4, 13);
S4(r1, r4, r3, r2, r0); LK(r4, r3, r2, r0, r1, 21);
S4(r0, r1, r3, r4, r2); LK(r1, r3, r4, r2, r0, 29);
__set_bit(S4, mon->states);
__set_bit(S4, next);
__set_bit(S4, next);
__set_bit(S4, next);
__set_bit(S4, next);
case S4:
__set_bit(S4, next);
__set_bit(S4, next);
__set_bit(S4, next);
__set_bit(S4, next);
static const u32 S4[64] = {
L ^= S4[0xff & B]; \