- const u32 out_len = apply_rules (rules_buf[il_pos].cmds, w0, w1, pw_len);
-
- /**
- * pads
- */
-
- u32 w0_t[4];
-
- w0_t[0] = swap_workaround (w0[0]);
- w0_t[1] = swap_workaround (w0[1]);
- w0_t[2] = swap_workaround (w0[2]);
- w0_t[3] = swap_workaround (w0[3]);
-
- u32 w1_t[4];
-
- w1_t[0] = swap_workaround (w1[0]);
- w1_t[1] = swap_workaround (w1[1]);
- w1_t[2] = swap_workaround (w1[2]);
- w1_t[3] = swap_workaround (w1[3]);
-
- u32 w2_t[4];
-
- w2_t[0] = 0;
- w2_t[1] = 0;
- w2_t[2] = 0;
- w2_t[3] = 0;
-
- u32 w3_t[4];
-
- w3_t[0] = 0;
- w3_t[1] = 0;
- w3_t[2] = 0;
- w3_t[3] = 0;
-
- u32 ipad[5];
- u32 opad[5];
-
- hmac_sha1_pad (w0_t, w1_t, w2_t, w3_t, ipad, opad);
-
- w0_t[0] = salt_buf0[0];
- w0_t[1] = salt_buf0[1];
- w0_t[2] = salt_buf0[2];
- w0_t[3] = salt_buf0[3];
- w1_t[0] = salt_buf1[0];
- w1_t[1] = salt_buf1[1];
- w1_t[2] = salt_buf1[2];
- w1_t[3] = salt_buf1[3];
- w2_t[0] = salt_buf2[0];
- w2_t[1] = salt_buf2[1];
- w2_t[2] = salt_buf2[2];
- w2_t[3] = salt_buf2[3];
- w3_t[0] = salt_buf3[0];
- w3_t[1] = salt_buf3[1];
- w3_t[2] = 0;
- w3_t[3] = (64 + nr_len) * 8;
-
- u32 digest[5];
-
- hmac_sha1_run (w0_t, w1_t, w2_t, w3_t, ipad, opad, digest);
-
- w0_t[0] = digest[0];
- w0_t[1] = digest[1];
- w0_t[2] = digest[2];
- w0_t[3] = digest[3];
- w1_t[0] = digest[4];
- w1_t[1] = 0;
- w1_t[2] = 0;
- w1_t[3] = 0;
- w2_t[0] = 0;
- w2_t[1] = 0;
- w2_t[2] = 0;
- w2_t[3] = 0;
- w3_t[0] = 0;
- w3_t[1] = 0;
- w3_t[2] = 0;
- w3_t[3] = 0;
-
- hmac_sha1_pad (w0_t, w1_t, w2_t, w3_t, ipad, opad);