void SHA1_Transform_HC(unsigned long H[5], const unsigned char M[64]) {
  unsigned long A = H[0];
  unsigned long B = H[1];
  unsigned long C = H[2];
  unsigned long D = H[3];
  unsigned long E = H[4];
  unsigned long W[16] = {0};
  memcpy(W, M, 64);
  E += (((A) << (5)) | ((A) >> (32 - (5)))) + ((D) ^ ((B) & ((C) ^ (D)))) +
       ((0 + 0 + 0) < 16
            ? (W[((0 + 0 + 0)) & 0x0F])
            : ((W[((0 + 0 + 0)) & 0x0F]) = ((((W[((0 + 0 + 0)) & 0x0F]) ^
                                              (W[((0 + 0 + 0) - 14) & 0x0F]) ^
                                              (W[((0 + 0 + 0) - 8) & 0x0F]) ^
                                              (W[((0 + 0 + 0) - 3) & 0x0F]))
                                             << (1)) |
                                            (((W[((0 + 0 + 0)) & 0x0F]) ^
                                              (W[((0 + 0 + 0) - 14) & 0x0F]) ^
                                              (W[((0 + 0 + 0) - 8) & 0x0F]) ^
                                              (W[((0 + 0 + 0) - 3) & 0x0F])) >>
                                             (32 - (1)))))) +
       0x5A827999;
  B = (((B) << (30)) | ((B) >> (32 - (30))));
  ;
  D += (((E) << (5)) | ((E) >> (32 - (5)))) + ((C) ^ ((A) & ((B) ^ (C)))) +
       ((0 + 0 + 1) < 16
            ? (W[((0 + 0 + 1)) & 0x0F])
            : ((W[((0 + 0 + 1)) & 0x0F]) = ((((W[((0 + 0 + 1)) & 0x0F]) ^
                                              (W[((0 + 0 + 1) - 14) & 0x0F]) ^
                                              (W[((0 + 0 + 1) - 8) & 0x0F]) ^
                                              (W[((0 + 0 + 1) - 3) & 0x0F]))
                                             << (1)) |
                                            (((W[((0 + 0 + 1)) & 0x0F]) ^
                                              (W[((0 + 0 + 1) - 14) & 0x0F]) ^
                                              (W[((0 + 0 + 1) - 8) & 0x0F]) ^
                                              (W[((0 + 0 + 1) - 3) & 0x0F])) >>
                                             (32 - (1)))))) +
       0x5A827999;
  A = (((A) << (30)) | ((A) >> (32 - (30))));
  ;
  C += (((D) << (5)) | ((D) >> (32 - (5)))) + ((B) ^ ((E) & ((A) ^ (B)))) +
       ((0 + 0 + 2) < 16
            ? (W[((0 + 0 + 2)) & 0x0F])
            : ((W[((0 + 0 + 2)) & 0x0F]) = ((((W[((0 + 0 + 2)) & 0x0F]) ^
                                              (W[((0 + 0 + 2) - 14) & 0x0F]) ^
                                              (W[((0 + 0 + 2) - 8) & 0x0F]) ^
                                              (W[((0 + 0 + 2) - 3) & 0x0F]))
                                             << (1)) |
                                            (((W[((0 + 0 + 2)) & 0x0F]) ^
                                              (W[((0 + 0 + 2) - 14) & 0x0F]) ^
                                              (W[((0 + 0 + 2) - 8) & 0x0F]) ^
                                              (W[((0 + 0 + 2) - 3) & 0x0F])) >>
                                             (32 - (1)))))) +
       0x5A827999;
  E = (((E) << (30)) | ((E) >> (32 - (30))));
  ;
  B += (((C) << (5)) | ((C) >> (32 - (5)))) + ((A) ^ ((D) & ((E) ^ (A)))) +
       ((0 + 0 + 3) < 16
            ? (W[((0 + 0 + 3)) & 0x0F])
            : ((W[((0 + 0 + 3)) & 0x0F]) = ((((W[((0 + 0 + 3)) & 0x0F]) ^
                                              (W[((0 + 0 + 3) - 14) & 0x0F]) ^
                                              (W[((0 + 0 + 3) - 8) & 0x0F]) ^
                                              (W[((0 + 0 + 3) - 3) & 0x0F]))
                                             << (1)) |
                                            (((W[((0 + 0 + 3)) & 0x0F]) ^
                                              (W[((0 + 0 + 3) - 14) & 0x0F]) ^
                                              (W[((0 + 0 + 3) - 8) & 0x0F]) ^
                                              (W[((0 + 0 + 3) - 3) & 0x0F])) >>
                                             (32 - (1)))))) +
       0x5A827999;
  D = (((D) << (30)) | ((D) >> (32 - (30))));
  ;
  A += (((B) << (5)) | ((B) >> (32 - (5)))) + ((E) ^ ((C) & ((D) ^ (E)))) +
       ((0 + 0 + 4) < 16
            ? (W[((0 + 0 + 4)) & 0x0F])
            : ((W[((0 + 0 + 4)) & 0x0F]) = ((((W[((0 + 0 + 4)) & 0x0F]) ^
                                              (W[((0 + 0 + 4) - 14) & 0x0F]) ^
                                              (W[((0 + 0 + 4) - 8) & 0x0F]) ^
                                              (W[((0 + 0 + 4) - 3) & 0x0F]))
                                             << (1)) |
                                            (((W[((0 + 0 + 4)) & 0x0F]) ^
                                              (W[((0 + 0 + 4) - 14) & 0x0F]) ^
                                              (W[((0 + 0 + 4) - 8) & 0x0F]) ^
                                              (W[((0 + 0 + 4) - 3) & 0x0F])) >>
                                             (32 - (1)))))) +
       0x5A827999;
  C = (((C) << (30)) | ((C) >> (32 - (30))));
  ;
  E += (((A) << (5)) | ((A) >> (32 - (5)))) + ((D) ^ ((B) & ((C) ^ (D)))) +
       ((0 + 5 + 0) < 16
            ? (W[((0 + 5 + 0)) & 0x0F])
            : ((W[((0 + 5 + 0)) & 0x0F]) = ((((W[((0 + 5 + 0)) & 0x0F]) ^
                                              (W[((0 + 5 + 0) - 14) & 0x0F]) ^
                                              (W[((0 + 5 + 0) - 8) & 0x0F]) ^
                                              (W[((0 + 5 + 0) - 3) & 0x0F]))
                                             << (1)) |
                                            (((W[((0 + 5 + 0)) & 0x0F]) ^
                                              (W[((0 + 5 + 0) - 14) & 0x0F]) ^
                                              (W[((0 + 5 + 0) - 8) & 0x0F]) ^
                                              (W[((0 + 5 + 0) - 3) & 0x0F])) >>
                                             (32 - (1)))))) +
       0x5A827999;
  B = (((B) << (30)) | ((B) >> (32 - (30))));
  ;
  D += (((E) << (5)) | ((E) >> (32 - (5)))) + ((C) ^ ((A) & ((B) ^ (C)))) +
       ((0 + 5 + 1) < 16
            ? (W[((0 + 5 + 1)) & 0x0F])
            : ((W[((0 + 5 + 1)) & 0x0F]) = ((((W[((0 + 5 + 1)) & 0x0F]) ^
                                              (W[((0 + 5 + 1) - 14) & 0x0F]) ^
                                              (W[((0 + 5 + 1) - 8) & 0x0F]) ^
                                              (W[((0 + 5 + 1) - 3) & 0x0F]))
                                             << (1)) |
                                            (((W[((0 + 5 + 1)) & 0x0F]) ^
                                              (W[((0 + 5 + 1) - 14) & 0x0F]) ^
                                              (W[((0 + 5 + 1) - 8) & 0x0F]) ^
                                              (W[((0 + 5 + 1) - 3) & 0x0F])) >>
                                             (32 - (1)))))) +
       0x5A827999;
  A = (((A) << (30)) | ((A) >> (32 - (30))));
  ;
  C += (((D) << (5)) | ((D) >> (32 - (5)))) + ((B) ^ ((E) & ((A) ^ (B)))) +
       ((0 + 5 + 2) < 16
            ? (W[((0 + 5 + 2)) & 0x0F])
            : ((W[((0 + 5 + 2)) & 0x0F]) = ((((W[((0 + 5 + 2)) & 0x0F]) ^
                                              (W[((0 + 5 + 2) - 14) & 0x0F]) ^
                                              (W[((0 + 5 + 2) - 8) & 0x0F]) ^
                                              (W[((0 + 5 + 2) - 3) & 0x0F]))
                                             << (1)) |
                                            (((W[((0 + 5 + 2)) & 0x0F]) ^
                                              (W[((0 + 5 + 2) - 14) & 0x0F]) ^
                                              (W[((0 + 5 + 2) - 8) & 0x0F]) ^
                                              (W[((0 + 5 + 2) - 3) & 0x0F])) >>
                                             (32 - (1)))))) +
       0x5A827999;
  E = (((E) << (30)) | ((E) >> (32 - (30))));
  ;
  B += (((C) << (5)) | ((C) >> (32 - (5)))) + ((A) ^ ((D) & ((E) ^ (A)))) +
       ((0 + 5 + 3) < 16
            ? (W[((0 + 5 + 3)) & 0x0F])
            : ((W[((0 + 5 + 3)) & 0x0F]) = ((((W[((0 + 5 + 3)) & 0x0F]) ^
                                              (W[((0 + 5 + 3) - 14) & 0x0F]) ^
                                              (W[((0 + 5 + 3) - 8) & 0x0F]) ^
                                              (W[((0 + 5 + 3) - 3) & 0x0F]))
                                             << (1)) |
                                            (((W[((0 + 5 + 3)) & 0x0F]) ^
                                              (W[((0 + 5 + 3) - 14) & 0x0F]) ^
                                              (W[((0 + 5 + 3) - 8) & 0x0F]) ^
                                              (W[((0 + 5 + 3) - 3) & 0x0F])) >>
                                             (32 - (1)))))) +
       0x5A827999;
  D = (((D) << (30)) | ((D) >> (32 - (30))));
  ;
  A += (((B) << (5)) | ((B) >> (32 - (5)))) + ((E) ^ ((C) & ((D) ^ (E)))) +
       ((0 + 5 + 4) < 16
            ? (W[((0 + 5 + 4)) & 0x0F])
            : ((W[((0 + 5 + 4)) & 0x0F]) = ((((W[((0 + 5 + 4)) & 0x0F]) ^
                                              (W[((0 + 5 + 4) - 14) & 0x0F]) ^
                                              (W[((0 + 5 + 4) - 8) & 0x0F]) ^
                                              (W[((0 + 5 + 4) - 3) & 0x0F]))
                                             << (1)) |
                                            (((W[((0 + 5 + 4)) & 0x0F]) ^
                                              (W[((0 + 5 + 4) - 14) & 0x0F]) ^
                                              (W[((0 + 5 + 4) - 8) & 0x0F]) ^
                                              (W[((0 + 5 + 4) - 3) & 0x0F])) >>
                                             (32 - (1)))))) +
       0x5A827999;
  C = (((C) << (30)) | ((C) >> (32 - (30))));
  ;
  E += (((A) << (5)) | ((A) >> (32 - (5)))) + ((D) ^ ((B) & ((C) ^ (D)))) +
       ((0 + 10 + 0) < 16 ? (W[((0 + 10 + 0)) & 0x0F])
                          : ((W[((0 + 10 + 0)) & 0x0F]) =
                                 ((((W[((0 + 10 + 0)) & 0x0F]) ^
                                    (W[((0 + 10 + 0) - 14) & 0x0F]) ^
                                    (W[((0 + 10 + 0) - 8) & 0x0F]) ^
                                    (W[((0 + 10 + 0) - 3) & 0x0F]))
                                   << (1)) |
                                  (((W[((0 + 10 + 0)) & 0x0F]) ^
                                    (W[((0 + 10 + 0) - 14) & 0x0F]) ^
                                    (W[((0 + 10 + 0) - 8) & 0x0F]) ^
                                    (W[((0 + 10 + 0) - 3) & 0x0F])) >>
                                   (32 - (1)))))) +
       0x5A827999;
  B = (((B) << (30)) | ((B) >> (32 - (30))));
  ;
  D += (((E) << (5)) | ((E) >> (32 - (5)))) + ((C) ^ ((A) & ((B) ^ (C)))) +
       ((0 + 10 + 1) < 16 ? (W[((0 + 10 + 1)) & 0x0F])
                          : ((W[((0 + 10 + 1)) & 0x0F]) =
                                 ((((W[((0 + 10 + 1)) & 0x0F]) ^
                                    (W[((0 + 10 + 1) - 14) & 0x0F]) ^
                                    (W[((0 + 10 + 1) - 8) & 0x0F]) ^
                                    (W[((0 + 10 + 1) - 3) & 0x0F]))
                                   << (1)) |
                                  (((W[((0 + 10 + 1)) & 0x0F]) ^
                                    (W[((0 + 10 + 1) - 14) & 0x0F]) ^
                                    (W[((0 + 10 + 1) - 8) & 0x0F]) ^
                                    (W[((0 + 10 + 1) - 3) & 0x0F])) >>
                                   (32 - (1)))))) +
       0x5A827999;
  A = (((A) << (30)) | ((A) >> (32 - (30))));
  ;
  C += (((D) << (5)) | ((D) >> (32 - (5)))) + ((B) ^ ((E) & ((A) ^ (B)))) +
       ((0 + 10 + 2) < 16 ? (W[((0 + 10 + 2)) & 0x0F])
                          : ((W[((0 + 10 + 2)) & 0x0F]) =
                                 ((((W[((0 + 10 + 2)) & 0x0F]) ^
                                    (W[((0 + 10 + 2) - 14) & 0x0F]) ^
                                    (W[((0 + 10 + 2) - 8) & 0x0F]) ^
                                    (W[((0 + 10 + 2) - 3) & 0x0F]))
                                   << (1)) |
                                  (((W[((0 + 10 + 2)) & 0x0F]) ^
                                    (W[((0 + 10 + 2) - 14) & 0x0F]) ^
                                    (W[((0 + 10 + 2) - 8) & 0x0F]) ^
                                    (W[((0 + 10 + 2) - 3) & 0x0F])) >>
                                   (32 - (1)))))) +
       0x5A827999;
  E = (((E) << (30)) | ((E) >> (32 - (30))));
  ;
  B += (((C) << (5)) | ((C) >> (32 - (5)))) + ((A) ^ ((D) & ((E) ^ (A)))) +
       ((0 + 10 + 3) < 16 ? (W[((0 + 10 + 3)) & 0x0F])
                          : ((W[((0 + 10 + 3)) & 0x0F]) =
                                 ((((W[((0 + 10 + 3)) & 0x0F]) ^
                                    (W[((0 + 10 + 3) - 14) & 0x0F]) ^
                                    (W[((0 + 10 + 3) - 8) & 0x0F]) ^
                                    (W[((0 + 10 + 3) - 3) & 0x0F]))
                                   << (1)) |
                                  (((W[((0 + 10 + 3)) & 0x0F]) ^
                                    (W[((0 + 10 + 3) - 14) & 0x0F]) ^
                                    (W[((0 + 10 + 3) - 8) & 0x0F]) ^
                                    (W[((0 + 10 + 3) - 3) & 0x0F])) >>
                                   (32 - (1)))))) +
       0x5A827999;
  D = (((D) << (30)) | ((D) >> (32 - (30))));
  ;
  A += (((B) << (5)) | ((B) >> (32 - (5)))) + ((E) ^ ((C) & ((D) ^ (E)))) +
       ((0 + 10 + 4) < 16 ? (W[((0 + 10 + 4)) & 0x0F])
                          : ((W[((0 + 10 + 4)) & 0x0F]) =
                                 ((((W[((0 + 10 + 4)) & 0x0F]) ^
                                    (W[((0 + 10 + 4) - 14) & 0x0F]) ^
                                    (W[((0 + 10 + 4) - 8) & 0x0F]) ^
                                    (W[((0 + 10 + 4) - 3) & 0x0F]))
                                   << (1)) |
                                  (((W[((0 + 10 + 4)) & 0x0F]) ^
                                    (W[((0 + 10 + 4) - 14) & 0x0F]) ^
                                    (W[((0 + 10 + 4) - 8) & 0x0F]) ^
                                    (W[((0 + 10 + 4) - 3) & 0x0F])) >>
                                   (32 - (1)))))) +
       0x5A827999;
  C = (((C) << (30)) | ((C) >> (32 - (30))));
  ;
  E += (((A) << (5)) | ((A) >> (32 - (5)))) + ((D) ^ ((B) & ((C) ^ (D)))) +
       ((0 + 15 + 0) < 16 ? (W[((0 + 15 + 0)) & 0x0F])
                          : ((W[((0 + 15 + 0)) & 0x0F]) =
                                 ((((W[((0 + 15 + 0)) & 0x0F]) ^
                                    (W[((0 + 15 + 0) - 14) & 0x0F]) ^
                                    (W[((0 + 15 + 0) - 8) & 0x0F]) ^
                                    (W[((0 + 15 + 0) - 3) & 0x0F]))
                                   << (1)) |
                                  (((W[((0 + 15 + 0)) & 0x0F]) ^
                                    (W[((0 + 15 + 0) - 14) & 0x0F]) ^
                                    (W[((0 + 15 + 0) - 8) & 0x0F]) ^
                                    (W[((0 + 15 + 0) - 3) & 0x0F])) >>
                                   (32 - (1)))))) +
       0x5A827999;
  B = (((B) << (30)) | ((B) >> (32 - (30))));
  ;
  D += (((E) << (5)) | ((E) >> (32 - (5)))) + ((C) ^ ((A) & ((B) ^ (C)))) +
       ((0 + 15 + 1) < 16 ? (W[((0 + 15 + 1)) & 0x0F])
                          : ((W[((0 + 15 + 1)) & 0x0F]) =
                                 ((((W[((0 + 15 + 1)) & 0x0F]) ^
                                    (W[((0 + 15 + 1) - 14) & 0x0F]) ^
                                    (W[((0 + 15 + 1) - 8) & 0x0F]) ^
                                    (W[((0 + 15 + 1) - 3) & 0x0F]))
                                   << (1)) |
                                  (((W[((0 + 15 + 1)) & 0x0F]) ^
                                    (W[((0 + 15 + 1) - 14) & 0x0F]) ^
                                    (W[((0 + 15 + 1) - 8) & 0x0F]) ^
                                    (W[((0 + 15 + 1) - 3) & 0x0F])) >>
                                   (32 - (1)))))) +
       0x5A827999;
  A = (((A) << (30)) | ((A) >> (32 - (30))));
  ;
  C += (((D) << (5)) | ((D) >> (32 - (5)))) + ((B) ^ ((E) & ((A) ^ (B)))) +
       ((0 + 15 + 2) < 16 ? (W[((0 + 15 + 2)) & 0x0F])
                          : ((W[((0 + 15 + 2)) & 0x0F]) =
                                 ((((W[((0 + 15 + 2)) & 0x0F]) ^
                                    (W[((0 + 15 + 2) - 14) & 0x0F]) ^
                                    (W[((0 + 15 + 2) - 8) & 0x0F]) ^
                                    (W[((0 + 15 + 2) - 3) & 0x0F]))
                                   << (1)) |
                                  (((W[((0 + 15 + 2)) & 0x0F]) ^
                                    (W[((0 + 15 + 2) - 14) & 0x0F]) ^
                                    (W[((0 + 15 + 2) - 8) & 0x0F]) ^
                                    (W[((0 + 15 + 2) - 3) & 0x0F])) >>
                                   (32 - (1)))))) +
       0x5A827999;
  E = (((E) << (30)) | ((E) >> (32 - (30))));
  ;
  B += (((C) << (5)) | ((C) >> (32 - (5)))) + ((A) ^ ((D) & ((E) ^ (A)))) +
       ((0 + 15 + 3) < 16 ? (W[((0 + 15 + 3)) & 0x0F])
                          : ((W[((0 + 15 + 3)) & 0x0F]) =
                                 ((((W[((0 + 15 + 3)) & 0x0F]) ^
                                    (W[((0 + 15 + 3) - 14) & 0x0F]) ^
                                    (W[((0 + 15 + 3) - 8) & 0x0F]) ^
                                    (W[((0 + 15 + 3) - 3) & 0x0F]))
                                   << (1)) |
                                  (((W[((0 + 15 + 3)) & 0x0F]) ^
                                    (W[((0 + 15 + 3) - 14) & 0x0F]) ^
                                    (W[((0 + 15 + 3) - 8) & 0x0F]) ^
                                    (W[((0 + 15 + 3) - 3) & 0x0F])) >>
                                   (32 - (1)))))) +
       0x5A827999;
  D = (((D) << (30)) | ((D) >> (32 - (30))));
  ;
  A += (((B) << (5)) | ((B) >> (32 - (5)))) + ((E) ^ ((C) & ((D) ^ (E)))) +
       ((0 + 15 + 4) < 16 ? (W[((0 + 15 + 4)) & 0x0F])
                          : ((W[((0 + 15 + 4)) & 0x0F]) =
                                 ((((W[((0 + 15 + 4)) & 0x0F]) ^
                                    (W[((0 + 15 + 4) - 14) & 0x0F]) ^
                                    (W[((0 + 15 + 4) - 8) & 0x0F]) ^
                                    (W[((0 + 15 + 4) - 3) & 0x0F]))
                                   << (1)) |
                                  (((W[((0 + 15 + 4)) & 0x0F]) ^
                                    (W[((0 + 15 + 4) - 14) & 0x0F]) ^
                                    (W[((0 + 15 + 4) - 8) & 0x0F]) ^
                                    (W[((0 + 15 + 4) - 3) & 0x0F])) >>
                                   (32 - (1)))))) +
       0x5A827999;
  C = (((C) << (30)) | ((C) >> (32 - (30))));
  ;
  E += (((A) << (5)) | ((A) >> (32 - (5)))) + ((B) ^ (C) ^ (D)) +
       ((20 + 0 + 0) < 16 ? (W[((20 + 0 + 0)) & 0x0F])
                          : ((W[((20 + 0 + 0)) & 0x0F]) =
                                 ((((W[((20 + 0 + 0)) & 0x0F]) ^
                                    (W[((20 + 0 + 0) - 14) & 0x0F]) ^
                                    (W[((20 + 0 + 0) - 8) & 0x0F]) ^
                                    (W[((20 + 0 + 0) - 3) & 0x0F]))
                                   << (1)) |
                                  (((W[((20 + 0 + 0)) & 0x0F]) ^
                                    (W[((20 + 0 + 0) - 14) & 0x0F]) ^
                                    (W[((20 + 0 + 0) - 8) & 0x0F]) ^
                                    (W[((20 + 0 + 0) - 3) & 0x0F])) >>
                                   (32 - (1)))))) +
       0x6ED9EBA1;
  B = (((B) << (30)) | ((B) >> (32 - (30))));
  ;
  D += (((E) << (5)) | ((E) >> (32 - (5)))) + ((A) ^ (B) ^ (C)) +
       ((20 + 0 + 1) < 16 ? (W[((20 + 0 + 1)) & 0x0F])
                          : ((W[((20 + 0 + 1)) & 0x0F]) =
                                 ((((W[((20 + 0 + 1)) & 0x0F]) ^
                                    (W[((20 + 0 + 1) - 14) & 0x0F]) ^
                                    (W[((20 + 0 + 1) - 8) & 0x0F]) ^
                                    (W[((20 + 0 + 1) - 3) & 0x0F]))
                                   << (1)) |
                                  (((W[((20 + 0 + 1)) & 0x0F]) ^
                                    (W[((20 + 0 + 1) - 14) & 0x0F]) ^
                                    (W[((20 + 0 + 1) - 8) & 0x0F]) ^
                                    (W[((20 + 0 + 1) - 3) & 0x0F])) >>
                                   (32 - (1)))))) +
       0x6ED9EBA1;
  A = (((A) << (30)) | ((A) >> (32 - (30))));
  ;
  C += (((D) << (5)) | ((D) >> (32 - (5)))) + ((E) ^ (A) ^ (B)) +
       ((20 + 0 + 2) < 16 ? (W[((20 + 0 + 2)) & 0x0F])
                          : ((W[((20 + 0 + 2)) & 0x0F]) =
                                 ((((W[((20 + 0 + 2)) & 0x0F]) ^
                                    (W[((20 + 0 + 2) - 14) & 0x0F]) ^
                                    (W[((20 + 0 + 2) - 8) & 0x0F]) ^
                                    (W[((20 + 0 + 2) - 3) & 0x0F]))
                                   << (1)) |
                                  (((W[((20 + 0 + 2)) & 0x0F]) ^
                                    (W[((20 + 0 + 2) - 14) & 0x0F]) ^
                                    (W[((20 + 0 + 2) - 8) & 0x0F]) ^
                                    (W[((20 + 0 + 2) - 3) & 0x0F])) >>
                                   (32 - (1)))))) +
       0x6ED9EBA1;
  E = (((E) << (30)) | ((E) >> (32 - (30))));
  ;
  B += (((C) << (5)) | ((C) >> (32 - (5)))) + ((D) ^ (E) ^ (A)) +
       ((20 + 0 + 3) < 16 ? (W[((20 + 0 + 3)) & 0x0F])
                          : ((W[((20 + 0 + 3)) & 0x0F]) =
                                 ((((W[((20 + 0 + 3)) & 0x0F]) ^
                                    (W[((20 + 0 + 3) - 14) & 0x0F]) ^
                                    (W[((20 + 0 + 3) - 8) & 0x0F]) ^
                                    (W[((20 + 0 + 3) - 3) & 0x0F]))
                                   << (1)) |
                                  (((W[((20 + 0 + 3)) & 0x0F]) ^
                                    (W[((20 + 0 + 3) - 14) & 0x0F]) ^
                                    (W[((20 + 0 + 3) - 8) & 0x0F]) ^
                                    (W[((20 + 0 + 3) - 3) & 0x0F])) >>
                                   (32 - (1)))))) +
       0x6ED9EBA1;
  D = (((D) << (30)) | ((D) >> (32 - (30))));
  ;
  A += (((B) << (5)) | ((B) >> (32 - (5)))) + ((C) ^ (D) ^ (E)) +
       ((20 + 0 + 4) < 16 ? (W[((20 + 0 + 4)) & 0x0F])
                          : ((W[((20 + 0 + 4)) & 0x0F]) =
                                 ((((W[((20 + 0 + 4)) & 0x0F]) ^
                                    (W[((20 + 0 + 4) - 14) & 0x0F]) ^
                                    (W[((20 + 0 + 4) - 8) & 0x0F]) ^
                                    (W[((20 + 0 + 4) - 3) & 0x0F]))
                                   << (1)) |
                                  (((W[((20 + 0 + 4)) & 0x0F]) ^
                                    (W[((20 + 0 + 4) - 14) & 0x0F]) ^
                                    (W[((20 + 0 + 4) - 8) & 0x0F]) ^
                                    (W[((20 + 0 + 4) - 3) & 0x0F])) >>
                                   (32 - (1)))))) +
       0x6ED9EBA1;
  C = (((C) << (30)) | ((C) >> (32 - (30))));
  ;
  E += (((A) << (5)) | ((A) >> (32 - (5)))) + ((B) ^ (C) ^ (D)) +
       ((20 + 5 + 0) < 16 ? (W[((20 + 5 + 0)) & 0x0F])
                          : ((W[((20 + 5 + 0)) & 0x0F]) =
                                 ((((W[((20 + 5 + 0)) & 0x0F]) ^
                                    (W[((20 + 5 + 0) - 14) & 0x0F]) ^
                                    (W[((20 + 5 + 0) - 8) & 0x0F]) ^
                                    (W[((20 + 5 + 0) - 3) & 0x0F]))
                                   << (1)) |
                                  (((W[((20 + 5 + 0)) & 0x0F]) ^
                                    (W[((20 + 5 + 0) - 14) & 0x0F]) ^
                                    (W[((20 + 5 + 0) - 8) & 0x0F]) ^
                                    (W[((20 + 5 + 0) - 3) & 0x0F])) >>
                                   (32 - (1)))))) +
       0x6ED9EBA1;
  B = (((B) << (30)) | ((B) >> (32 - (30))));
  ;
  D += (((E) << (5)) | ((E) >> (32 - (5)))) + ((A) ^ (B) ^ (C)) +
       ((20 + 5 + 1) < 16 ? (W[((20 + 5 + 1)) & 0x0F])
                          : ((W[((20 + 5 + 1)) & 0x0F]) =
                                 ((((W[((20 + 5 + 1)) & 0x0F]) ^
                                    (W[((20 + 5 + 1) - 14) & 0x0F]) ^
                                    (W[((20 + 5 + 1) - 8) & 0x0F]) ^
                                    (W[((20 + 5 + 1) - 3) & 0x0F]))
                                   << (1)) |
                                  (((W[((20 + 5 + 1)) & 0x0F]) ^
                                    (W[((20 + 5 + 1) - 14) & 0x0F]) ^
                                    (W[((20 + 5 + 1) - 8) & 0x0F]) ^
                                    (W[((20 + 5 + 1) - 3) & 0x0F])) >>
                                   (32 - (1)))))) +
       0x6ED9EBA1;
  A = (((A) << (30)) | ((A) >> (32 - (30))));
  ;
  C += (((D) << (5)) | ((D) >> (32 - (5)))) + ((E) ^ (A) ^ (B)) +
       ((20 + 5 + 2) < 16 ? (W[((20 + 5 + 2)) & 0x0F])
                          : ((W[((20 + 5 + 2)) & 0x0F]) =
                                 ((((W[((20 + 5 + 2)) & 0x0F]) ^
                                    (W[((20 + 5 + 2) - 14) & 0x0F]) ^
                                    (W[((20 + 5 + 2) - 8) & 0x0F]) ^
                                    (W[((20 + 5 + 2) - 3) & 0x0F]))
                                   << (1)) |
                                  (((W[((20 + 5 + 2)) & 0x0F]) ^
                                    (W[((20 + 5 + 2) - 14) & 0x0F]) ^
                                    (W[((20 + 5 + 2) - 8) & 0x0F]) ^
                                    (W[((20 + 5 + 2) - 3) & 0x0F])) >>
                                   (32 - (1)))))) +
       0x6ED9EBA1;
  E = (((E) << (30)) | ((E) >> (32 - (30))));
  ;
  B += (((C) << (5)) | ((C) >> (32 - (5)))) + ((D) ^ (E) ^ (A)) +
       ((20 + 5 + 3) < 16 ? (W[((20 + 5 + 3)) & 0x0F])
                          : ((W[((20 + 5 + 3)) & 0x0F]) =
                                 ((((W[((20 + 5 + 3)) & 0x0F]) ^
                                    (W[((20 + 5 + 3) - 14) & 0x0F]) ^
                                    (W[((20 + 5 + 3) - 8) & 0x0F]) ^
                                    (W[((20 + 5 + 3) - 3) & 0x0F]))
                                   << (1)) |
                                  (((W[((20 + 5 + 3)) & 0x0F]) ^
                                    (W[((20 + 5 + 3) - 14) & 0x0F]) ^
                                    (W[((20 + 5 + 3) - 8) & 0x0F]) ^
                                    (W[((20 + 5 + 3) - 3) & 0x0F])) >>
                                   (32 - (1)))))) +
       0x6ED9EBA1;
  D = (((D) << (30)) | ((D) >> (32 - (30))));
  ;
  A += (((B) << (5)) | ((B) >> (32 - (5)))) + ((C) ^ (D) ^ (E)) +
       ((20 + 5 + 4) < 16 ? (W[((20 + 5 + 4)) & 0x0F])
                          : ((W[((20 + 5 + 4)) & 0x0F]) =
                                 ((((W[((20 + 5 + 4)) & 0x0F]) ^
                                    (W[((20 + 5 + 4) - 14) & 0x0F]) ^
                                    (W[((20 + 5 + 4) - 8) & 0x0F]) ^
                                    (W[((20 + 5 + 4) - 3) & 0x0F]))
                                   << (1)) |
                                  (((W[((20 + 5 + 4)) & 0x0F]) ^
                                    (W[((20 + 5 + 4) - 14) & 0x0F]) ^
                                    (W[((20 + 5 + 4) - 8) & 0x0F]) ^
                                    (W[((20 + 5 + 4) - 3) & 0x0F])) >>
                                   (32 - (1)))))) +
       0x6ED9EBA1;
  C = (((C) << (30)) | ((C) >> (32 - (30))));
  ;
  E += (((A) << (5)) | ((A) >> (32 - (5)))) + ((B) ^ (C) ^ (D)) +
       ((20 + 10 + 0) < 16 ? (W[((20 + 10 + 0)) & 0x0F])
                           : ((W[((20 + 10 + 0)) & 0x0F]) =
                                  ((((W[((20 + 10 + 0)) & 0x0F]) ^
                                     (W[((20 + 10 + 0) - 14) & 0x0F]) ^
                                     (W[((20 + 10 + 0) - 8) & 0x0F]) ^
                                     (W[((20 + 10 + 0) - 3) & 0x0F]))
                                    << (1)) |
                                   (((W[((20 + 10 + 0)) & 0x0F]) ^
                                     (W[((20 + 10 + 0) - 14) & 0x0F]) ^
                                     (W[((20 + 10 + 0) - 8) & 0x0F]) ^
                                     (W[((20 + 10 + 0) - 3) & 0x0F])) >>
                                    (32 - (1)))))) +
       0x6ED9EBA1;
  B = (((B) << (30)) | ((B) >> (32 - (30))));
  ;
  D += (((E) << (5)) | ((E) >> (32 - (5)))) + ((A) ^ (B) ^ (C)) +
       ((20 + 10 + 1) < 16 ? (W[((20 + 10 + 1)) & 0x0F])
                           : ((W[((20 + 10 + 1)) & 0x0F]) =
                                  ((((W[((20 + 10 + 1)) & 0x0F]) ^
                                     (W[((20 + 10 + 1) - 14) & 0x0F]) ^
                                     (W[((20 + 10 + 1) - 8) & 0x0F]) ^
                                     (W[((20 + 10 + 1) - 3) & 0x0F]))
                                    << (1)) |
                                   (((W[((20 + 10 + 1)) & 0x0F]) ^
                                     (W[((20 + 10 + 1) - 14) & 0x0F]) ^
                                     (W[((20 + 10 + 1) - 8) & 0x0F]) ^
                                     (W[((20 + 10 + 1) - 3) & 0x0F])) >>
                                    (32 - (1)))))) +
       0x6ED9EBA1;
  A = (((A) << (30)) | ((A) >> (32 - (30))));
  ;
  C += (((D) << (5)) | ((D) >> (32 - (5)))) + ((E) ^ (A) ^ (B)) +
       ((20 + 10 + 2) < 16 ? (W[((20 + 10 + 2)) & 0x0F])
                           : ((W[((20 + 10 + 2)) & 0x0F]) =
                                  ((((W[((20 + 10 + 2)) & 0x0F]) ^
                                     (W[((20 + 10 + 2) - 14) & 0x0F]) ^
                                     (W[((20 + 10 + 2) - 8) & 0x0F]) ^
                                     (W[((20 + 10 + 2) - 3) & 0x0F]))
                                    << (1)) |
                                   (((W[((20 + 10 + 2)) & 0x0F]) ^
                                     (W[((20 + 10 + 2) - 14) & 0x0F]) ^
                                     (W[((20 + 10 + 2) - 8) & 0x0F]) ^
                                     (W[((20 + 10 + 2) - 3) & 0x0F])) >>
                                    (32 - (1)))))) +
       0x6ED9EBA1;
  E = (((E) << (30)) | ((E) >> (32 - (30))));
  ;
  B += (((C) << (5)) | ((C) >> (32 - (5)))) + ((D) ^ (E) ^ (A)) +
       ((20 + 10 + 3) < 16 ? (W[((20 + 10 + 3)) & 0x0F])
                           : ((W[((20 + 10 + 3)) & 0x0F]) =
                                  ((((W[((20 + 10 + 3)) & 0x0F]) ^
                                     (W[((20 + 10 + 3) - 14) & 0x0F]) ^
                                     (W[((20 + 10 + 3) - 8) & 0x0F]) ^
                                     (W[((20 + 10 + 3) - 3) & 0x0F]))
                                    << (1)) |
                                   (((W[((20 + 10 + 3)) & 0x0F]) ^
                                     (W[((20 + 10 + 3) - 14) & 0x0F]) ^
                                     (W[((20 + 10 + 3) - 8) & 0x0F]) ^
                                     (W[((20 + 10 + 3) - 3) & 0x0F])) >>
                                    (32 - (1)))))) +
       0x6ED9EBA1;
  D = (((D) << (30)) | ((D) >> (32 - (30))));
  ;
  A += (((B) << (5)) | ((B) >> (32 - (5)))) + ((C) ^ (D) ^ (E)) +
       ((20 + 10 + 4) < 16 ? (W[((20 + 10 + 4)) & 0x0F])
                           : ((W[((20 + 10 + 4)) & 0x0F]) =
                                  ((((W[((20 + 10 + 4)) & 0x0F]) ^
                                     (W[((20 + 10 + 4) - 14) & 0x0F]) ^
                                     (W[((20 + 10 + 4) - 8) & 0x0F]) ^
                                     (W[((20 + 10 + 4) - 3) & 0x0F]))
                                    << (1)) |
                                   (((W[((20 + 10 + 4)) & 0x0F]) ^
                                     (W[((20 + 10 + 4) - 14) & 0x0F]) ^
                                     (W[((20 + 10 + 4) - 8) & 0x0F]) ^
                                     (W[((20 + 10 + 4) - 3) & 0x0F])) >>
                                    (32 - (1)))))) +
       0x6ED9EBA1;
  C = (((C) << (30)) | ((C) >> (32 - (30))));
  ;
  E += (((A) << (5)) | ((A) >> (32 - (5)))) + ((B) ^ (C) ^ (D)) +
       ((20 + 15 + 0) < 16 ? (W[((20 + 15 + 0)) & 0x0F])
                           : ((W[((20 + 15 + 0)) & 0x0F]) =
                                  ((((W[((20 + 15 + 0)) & 0x0F]) ^
                                     (W[((20 + 15 + 0) - 14) & 0x0F]) ^
                                     (W[((20 + 15 + 0) - 8) & 0x0F]) ^
                                     (W[((20 + 15 + 0) - 3) & 0x0F]))
                                    << (1)) |
                                   (((W[((20 + 15 + 0)) & 0x0F]) ^
                                     (W[((20 + 15 + 0) - 14) & 0x0F]) ^
                                     (W[((20 + 15 + 0) - 8) & 0x0F]) ^
                                     (W[((20 + 15 + 0) - 3) & 0x0F])) >>
                                    (32 - (1)))))) +
       0x6ED9EBA1;
  B = (((B) << (30)) | ((B) >> (32 - (30))));
  ;
  D += (((E) << (5)) | ((E) >> (32 - (5)))) + ((A) ^ (B) ^ (C)) +
       ((20 + 15 + 1) < 16 ? (W[((20 + 15 + 1)) & 0x0F])
                           : ((W[((20 + 15 + 1)) & 0x0F]) =
                                  ((((W[((20 + 15 + 1)) & 0x0F]) ^
                                     (W[((20 + 15 + 1) - 14) & 0x0F]) ^
                                     (W[((20 + 15 + 1) - 8) & 0x0F]) ^
                                     (W[((20 + 15 + 1) - 3) & 0x0F]))
                                    << (1)) |
                                   (((W[((20 + 15 + 1)) & 0x0F]) ^
                                     (W[((20 + 15 + 1) - 14) & 0x0F]) ^
                                     (W[((20 + 15 + 1) - 8) & 0x0F]) ^
                                     (W[((20 + 15 + 1) - 3) & 0x0F])) >>
                                    (32 - (1)))))) +
       0x6ED9EBA1;
  A = (((A) << (30)) | ((A) >> (32 - (30))));
  ;
  C += (((D) << (5)) | ((D) >> (32 - (5)))) + ((E) ^ (A) ^ (B)) +
       ((20 + 15 + 2) < 16 ? (W[((20 + 15 + 2)) & 0x0F])
                           : ((W[((20 + 15 + 2)) & 0x0F]) =
                                  ((((W[((20 + 15 + 2)) & 0x0F]) ^
                                     (W[((20 + 15 + 2) - 14) & 0x0F]) ^
                                     (W[((20 + 15 + 2) - 8) & 0x0F]) ^
                                     (W[((20 + 15 + 2) - 3) & 0x0F]))
                                    << (1)) |
                                   (((W[((20 + 15 + 2)) & 0x0F]) ^
                                     (W[((20 + 15 + 2) - 14) & 0x0F]) ^
                                     (W[((20 + 15 + 2) - 8) & 0x0F]) ^
                                     (W[((20 + 15 + 2) - 3) & 0x0F])) >>
                                    (32 - (1)))))) +
       0x6ED9EBA1;
  E = (((E) << (30)) | ((E) >> (32 - (30))));
  ;
  B += (((C) << (5)) | ((C) >> (32 - (5)))) + ((D) ^ (E) ^ (A)) +
       ((20 + 15 + 3) < 16 ? (W[((20 + 15 + 3)) & 0x0F])
                           : ((W[((20 + 15 + 3)) & 0x0F]) =
                                  ((((W[((20 + 15 + 3)) & 0x0F]) ^
                                     (W[((20 + 15 + 3) - 14) & 0x0F]) ^
                                     (W[((20 + 15 + 3) - 8) & 0x0F]) ^
                                     (W[((20 + 15 + 3) - 3) & 0x0F]))
                                    << (1)) |
                                   (((W[((20 + 15 + 3)) & 0x0F]) ^
                                     (W[((20 + 15 + 3) - 14) & 0x0F]) ^
                                     (W[((20 + 15 + 3) - 8) & 0x0F]) ^
                                     (W[((20 + 15 + 3) - 3) & 0x0F])) >>
                                    (32 - (1)))))) +
       0x6ED9EBA1;
  D = (((D) << (30)) | ((D) >> (32 - (30))));
  ;
  A += (((B) << (5)) | ((B) >> (32 - (5)))) + ((C) ^ (D) ^ (E)) +
       ((20 + 15 + 4) < 16 ? (W[((20 + 15 + 4)) & 0x0F])
                           : ((W[((20 + 15 + 4)) & 0x0F]) =
                                  ((((W[((20 + 15 + 4)) & 0x0F]) ^
                                     (W[((20 + 15 + 4) - 14) & 0x0F]) ^
                                     (W[((20 + 15 + 4) - 8) & 0x0F]) ^
                                     (W[((20 + 15 + 4) - 3) & 0x0F]))
                                    << (1)) |
                                   (((W[((20 + 15 + 4)) & 0x0F]) ^
                                     (W[((20 + 15 + 4) - 14) & 0x0F]) ^
                                     (W[((20 + 15 + 4) - 8) & 0x0F]) ^
                                     (W[((20 + 15 + 4) - 3) & 0x0F])) >>
                                    (32 - (1)))))) +
       0x6ED9EBA1;
  C = (((C) << (30)) | ((C) >> (32 - (30))));
  ;
  E += (((A) << (5)) | ((A) >> (32 - (5)))) +
       (((B) & ((C) | (D))) | ((C) & (D))) +
       ((40 + 0 + 0) < 16 ? (W[((40 + 0 + 0)) & 0x0F])
                          : ((W[((40 + 0 + 0)) & 0x0F]) =
                                 ((((W[((40 + 0 + 0)) & 0x0F]) ^
                                    (W[((40 + 0 + 0) - 14) & 0x0F]) ^
                                    (W[((40 + 0 + 0) - 8) & 0x0F]) ^
                                    (W[((40 + 0 + 0) - 3) & 0x0F]))
                                   << (1)) |
                                  (((W[((40 + 0 + 0)) & 0x0F]) ^
                                    (W[((40 + 0 + 0) - 14) & 0x0F]) ^
                                    (W[((40 + 0 + 0) - 8) & 0x0F]) ^
                                    (W[((40 + 0 + 0) - 3) & 0x0F])) >>
                                   (32 - (1)))))) +
       0x8F1BBCDC;
  B = (((B) << (30)) | ((B) >> (32 - (30))));
  ;
  D += (((E) << (5)) | ((E) >> (32 - (5)))) +
       (((A) & ((B) | (C))) | ((B) & (C))) +
       ((40 + 0 + 1) < 16 ? (W[((40 + 0 + 1)) & 0x0F])
                          : ((W[((40 + 0 + 1)) & 0x0F]) =
                                 ((((W[((40 + 0 + 1)) & 0x0F]) ^
                                    (W[((40 + 0 + 1) - 14) & 0x0F]) ^
                                    (W[((40 + 0 + 1) - 8) & 0x0F]) ^
                                    (W[((40 + 0 + 1) - 3) & 0x0F]))
                                   << (1)) |
                                  (((W[((40 + 0 + 1)) & 0x0F]) ^
                                    (W[((40 + 0 + 1) - 14) & 0x0F]) ^
                                    (W[((40 + 0 + 1) - 8) & 0x0F]) ^
                                    (W[((40 + 0 + 1) - 3) & 0x0F])) >>
                                   (32 - (1)))))) +
       0x8F1BBCDC;
  A = (((A) << (30)) | ((A) >> (32 - (30))));
  ;
  C += (((D) << (5)) | ((D) >> (32 - (5)))) +
       (((E) & ((A) | (B))) | ((A) & (B))) +
       ((40 + 0 + 2) < 16 ? (W[((40 + 0 + 2)) & 0x0F])
                          : ((W[((40 + 0 + 2)) & 0x0F]) =
                                 ((((W[((40 + 0 + 2)) & 0x0F]) ^
                                    (W[((40 + 0 + 2) - 14) & 0x0F]) ^
                                    (W[((40 + 0 + 2) - 8) & 0x0F]) ^
                                    (W[((40 + 0 + 2) - 3) & 0x0F]))
                                   << (1)) |
                                  (((W[((40 + 0 + 2)) & 0x0F]) ^
                                    (W[((40 + 0 + 2) - 14) & 0x0F]) ^
                                    (W[((40 + 0 + 2) - 8) & 0x0F]) ^
                                    (W[((40 + 0 + 2) - 3) & 0x0F])) >>
                                   (32 - (1)))))) +
       0x8F1BBCDC;
  E = (((E) << (30)) | ((E) >> (32 - (30))));
  ;
  B += (((C) << (5)) | ((C) >> (32 - (5)))) +
       (((D) & ((E) | (A))) | ((E) & (A))) +
       ((40 + 0 + 3) < 16 ? (W[((40 + 0 + 3)) & 0x0F])
                          : ((W[((40 + 0 + 3)) & 0x0F]) =
                                 ((((W[((40 + 0 + 3)) & 0x0F]) ^
                                    (W[((40 + 0 + 3) - 14) & 0x0F]) ^
                                    (W[((40 + 0 + 3) - 8) & 0x0F]) ^
                                    (W[((40 + 0 + 3) - 3) & 0x0F]))
                                   << (1)) |
                                  (((W[((40 + 0 + 3)) & 0x0F]) ^
                                    (W[((40 + 0 + 3) - 14) & 0x0F]) ^
                                    (W[((40 + 0 + 3) - 8) & 0x0F]) ^
                                    (W[((40 + 0 + 3) - 3) & 0x0F])) >>
                                   (32 - (1)))))) +
       0x8F1BBCDC;
  D = (((D) << (30)) | ((D) >> (32 - (30))));
  ;
  A += (((B) << (5)) | ((B) >> (32 - (5)))) +
       (((C) & ((D) | (E))) | ((D) & (E))) +
       ((40 + 0 + 4) < 16 ? (W[((40 + 0 + 4)) & 0x0F])
                          : ((W[((40 + 0 + 4)) & 0x0F]) =
                                 ((((W[((40 + 0 + 4)) & 0x0F]) ^
                                    (W[((40 + 0 + 4) - 14) & 0x0F]) ^
                                    (W[((40 + 0 + 4) - 8) & 0x0F]) ^
                                    (W[((40 + 0 + 4) - 3) & 0x0F]))
                                   << (1)) |
                                  (((W[((40 + 0 + 4)) & 0x0F]) ^
                                    (W[((40 + 0 + 4) - 14) & 0x0F]) ^
                                    (W[((40 + 0 + 4) - 8) & 0x0F]) ^
                                    (W[((40 + 0 + 4) - 3) & 0x0F])) >>
                                   (32 - (1)))))) +
       0x8F1BBCDC;
  C = (((C) << (30)) | ((C) >> (32 - (30))));
  ;
  E += (((A) << (5)) | ((A) >> (32 - (5)))) +
       (((B) & ((C) | (D))) | ((C) & (D))) +
       ((40 + 5 + 0) < 16 ? (W[((40 + 5 + 0)) & 0x0F])
                          : ((W[((40 + 5 + 0)) & 0x0F]) =
                                 ((((W[((40 + 5 + 0)) & 0x0F]) ^
                                    (W[((40 + 5 + 0) - 14) & 0x0F]) ^
                                    (W[((40 + 5 + 0) - 8) & 0x0F]) ^
                                    (W[((40 + 5 + 0) - 3) & 0x0F]))
                                   << (1)) |
                                  (((W[((40 + 5 + 0)) & 0x0F]) ^
                                    (W[((40 + 5 + 0) - 14) & 0x0F]) ^
                                    (W[((40 + 5 + 0) - 8) & 0x0F]) ^
                                    (W[((40 + 5 + 0) - 3) & 0x0F])) >>
                                   (32 - (1)))))) +
       0x8F1BBCDC;
  B = (((B) << (30)) | ((B) >> (32 - (30))));
  ;
  D += (((E) << (5)) | ((E) >> (32 - (5)))) +
       (((A) & ((B) | (C))) | ((B) & (C))) +
       ((40 + 5 + 1) < 16 ? (W[((40 + 5 + 1)) & 0x0F])
                          : ((W[((40 + 5 + 1)) & 0x0F]) =
                                 ((((W[((40 + 5 + 1)) & 0x0F]) ^
                                    (W[((40 + 5 + 1) - 14) & 0x0F]) ^
                                    (W[((40 + 5 + 1) - 8) & 0x0F]) ^
                                    (W[((40 + 5 + 1) - 3) & 0x0F]))
                                   << (1)) |
                                  (((W[((40 + 5 + 1)) & 0x0F]) ^
                                    (W[((40 + 5 + 1) - 14) & 0x0F]) ^
                                    (W[((40 + 5 + 1) - 8) & 0x0F]) ^
                                    (W[((40 + 5 + 1) - 3) & 0x0F])) >>
                                   (32 - (1)))))) +
       0x8F1BBCDC;
  A = (((A) << (30)) | ((A) >> (32 - (30))));
  ;
  C += (((D) << (5)) | ((D) >> (32 - (5)))) +
       (((E) & ((A) | (B))) | ((A) & (B))) +
       ((40 + 5 + 2) < 16 ? (W[((40 + 5 + 2)) & 0x0F])
                          : ((W[((40 + 5 + 2)) & 0x0F]) =
                                 ((((W[((40 + 5 + 2)) & 0x0F]) ^
                                    (W[((40 + 5 + 2) - 14) & 0x0F]) ^
                                    (W[((40 + 5 + 2) - 8) & 0x0F]) ^
                                    (W[((40 + 5 + 2) - 3) & 0x0F]))
                                   << (1)) |
                                  (((W[((40 + 5 + 2)) & 0x0F]) ^
                                    (W[((40 + 5 + 2) - 14) & 0x0F]) ^
                                    (W[((40 + 5 + 2) - 8) & 0x0F]) ^
                                    (W[((40 + 5 + 2) - 3) & 0x0F])) >>
                                   (32 - (1)))))) +
       0x8F1BBCDC;
  E = (((E) << (30)) | ((E) >> (32 - (30))));
  ;
  B += (((C) << (5)) | ((C) >> (32 - (5)))) +
       (((D) & ((E) | (A))) | ((E) & (A))) +
       ((40 + 5 + 3) < 16 ? (W[((40 + 5 + 3)) & 0x0F])
                          : ((W[((40 + 5 + 3)) & 0x0F]) =
                                 ((((W[((40 + 5 + 3)) & 0x0F]) ^
                                    (W[((40 + 5 + 3) - 14) & 0x0F]) ^
                                    (W[((40 + 5 + 3) - 8) & 0x0F]) ^
                                    (W[((40 + 5 + 3) - 3) & 0x0F]))
                                   << (1)) |
                                  (((W[((40 + 5 + 3)) & 0x0F]) ^
                                    (W[((40 + 5 + 3) - 14) & 0x0F]) ^
                                    (W[((40 + 5 + 3) - 8) & 0x0F]) ^
                                    (W[((40 + 5 + 3) - 3) & 0x0F])) >>
                                   (32 - (1)))))) +
       0x8F1BBCDC;
  D = (((D) << (30)) | ((D) >> (32 - (30))));
  ;
  A += (((B) << (5)) | ((B) >> (32 - (5)))) +
       (((C) & ((D) | (E))) | ((D) & (E))) +
       ((40 + 5 + 4) < 16 ? (W[((40 + 5 + 4)) & 0x0F])
                          : ((W[((40 + 5 + 4)) & 0x0F]) =
                                 ((((W[((40 + 5 + 4)) & 0x0F]) ^
                                    (W[((40 + 5 + 4) - 14) & 0x0F]) ^
                                    (W[((40 + 5 + 4) - 8) & 0x0F]) ^
                                    (W[((40 + 5 + 4) - 3) & 0x0F]))
                                   << (1)) |
                                  (((W[((40 + 5 + 4)) & 0x0F]) ^
                                    (W[((40 + 5 + 4) - 14) & 0x0F]) ^
                                    (W[((40 + 5 + 4) - 8) & 0x0F]) ^
                                    (W[((40 + 5 + 4) - 3) & 0x0F])) >>
                                   (32 - (1)))))) +
       0x8F1BBCDC;
  C = (((C) << (30)) | ((C) >> (32 - (30))));
  ;
  E += (((A) << (5)) | ((A) >> (32 - (5)))) +
       (((B) & ((C) | (D))) | ((C) & (D))) +
       ((40 + 10 + 0) < 16 ? (W[((40 + 10 + 0)) & 0x0F])
                           : ((W[((40 + 10 + 0)) & 0x0F]) =
                                  ((((W[((40 + 10 + 0)) & 0x0F]) ^
                                     (W[((40 + 10 + 0) - 14) & 0x0F]) ^
                                     (W[((40 + 10 + 0) - 8) & 0x0F]) ^
                                     (W[((40 + 10 + 0) - 3) & 0x0F]))
                                    << (1)) |
                                   (((W[((40 + 10 + 0)) & 0x0F]) ^
                                     (W[((40 + 10 + 0) - 14) & 0x0F]) ^
                                     (W[((40 + 10 + 0) - 8) & 0x0F]) ^
                                     (W[((40 + 10 + 0) - 3) & 0x0F])) >>
                                    (32 - (1)))))) +
       0x8F1BBCDC;
  B = (((B) << (30)) | ((B) >> (32 - (30))));
  ;
  D += (((E) << (5)) | ((E) >> (32 - (5)))) +
       (((A) & ((B) | (C))) | ((B) & (C))) +
       ((40 + 10 + 1) < 16 ? (W[((40 + 10 + 1)) & 0x0F])
                           : ((W[((40 + 10 + 1)) & 0x0F]) =
                                  ((((W[((40 + 10 + 1)) & 0x0F]) ^
                                     (W[((40 + 10 + 1) - 14) & 0x0F]) ^
                                     (W[((40 + 10 + 1) - 8) & 0x0F]) ^
                                     (W[((40 + 10 + 1) - 3) & 0x0F]))
                                    << (1)) |
                                   (((W[((40 + 10 + 1)) & 0x0F]) ^
                                     (W[((40 + 10 + 1) - 14) & 0x0F]) ^
                                     (W[((40 + 10 + 1) - 8) & 0x0F]) ^
                                     (W[((40 + 10 + 1) - 3) & 0x0F])) >>
                                    (32 - (1)))))) +
       0x8F1BBCDC;
  A = (((A) << (30)) | ((A) >> (32 - (30))));
  ;
  C += (((D) << (5)) | ((D) >> (32 - (5)))) +
       (((E) & ((A) | (B))) | ((A) & (B))) +
       ((40 + 10 + 2) < 16 ? (W[((40 + 10 + 2)) & 0x0F])
                           : ((W[((40 + 10 + 2)) & 0x0F]) =
                                  ((((W[((40 + 10 + 2)) & 0x0F]) ^
                                     (W[((40 + 10 + 2) - 14) & 0x0F]) ^
                                     (W[((40 + 10 + 2) - 8) & 0x0F]) ^
                                     (W[((40 + 10 + 2) - 3) & 0x0F]))
                                    << (1)) |
                                   (((W[((40 + 10 + 2)) & 0x0F]) ^
                                     (W[((40 + 10 + 2) - 14) & 0x0F]) ^
                                     (W[((40 + 10 + 2) - 8) & 0x0F]) ^
                                     (W[((40 + 10 + 2) - 3) & 0x0F])) >>
                                    (32 - (1)))))) +
       0x8F1BBCDC;
  E = (((E) << (30)) | ((E) >> (32 - (30))));
  ;
  B += (((C) << (5)) | ((C) >> (32 - (5)))) +
       (((D) & ((E) | (A))) | ((E) & (A))) +
       ((40 + 10 + 3) < 16 ? (W[((40 + 10 + 3)) & 0x0F])
                           : ((W[((40 + 10 + 3)) & 0x0F]) =
                                  ((((W[((40 + 10 + 3)) & 0x0F]) ^
                                     (W[((40 + 10 + 3) - 14) & 0x0F]) ^
                                     (W[((40 + 10 + 3) - 8) & 0x0F]) ^
                                     (W[((40 + 10 + 3) - 3) & 0x0F]))
                                    << (1)) |
                                   (((W[((40 + 10 + 3)) & 0x0F]) ^
                                     (W[((40 + 10 + 3) - 14) & 0x0F]) ^
                                     (W[((40 + 10 + 3) - 8) & 0x0F]) ^
                                     (W[((40 + 10 + 3) - 3) & 0x0F])) >>
                                    (32 - (1)))))) +
       0x8F1BBCDC;
  D = (((D) << (30)) | ((D) >> (32 - (30))));
  ;
  A += (((B) << (5)) | ((B) >> (32 - (5)))) +
       (((C) & ((D) | (E))) | ((D) & (E))) +
       ((40 + 10 + 4) < 16 ? (W[((40 + 10 + 4)) & 0x0F])
                           : ((W[((40 + 10 + 4)) & 0x0F]) =
                                  ((((W[((40 + 10 + 4)) & 0x0F]) ^
                                     (W[((40 + 10 + 4) - 14) & 0x0F]) ^
                                     (W[((40 + 10 + 4) - 8) & 0x0F]) ^
                                     (W[((40 + 10 + 4) - 3) & 0x0F]))
                                    << (1)) |
                                   (((W[((40 + 10 + 4)) & 0x0F]) ^
                                     (W[((40 + 10 + 4) - 14) & 0x0F]) ^
                                     (W[((40 + 10 + 4) - 8) & 0x0F]) ^
                                     (W[((40 + 10 + 4) - 3) & 0x0F])) >>
                                    (32 - (1)))))) +
       0x8F1BBCDC;
  C = (((C) << (30)) | ((C) >> (32 - (30))));
  ;
  E += (((A) << (5)) | ((A) >> (32 - (5)))) +
       (((B) & ((C) | (D))) | ((C) & (D))) +
       ((40 + 15 + 0) < 16 ? (W[((40 + 15 + 0)) & 0x0F])
                           : ((W[((40 + 15 + 0)) & 0x0F]) =
                                  ((((W[((40 + 15 + 0)) & 0x0F]) ^
                                     (W[((40 + 15 + 0) - 14) & 0x0F]) ^
                                     (W[((40 + 15 + 0) - 8) & 0x0F]) ^
                                     (W[((40 + 15 + 0) - 3) & 0x0F]))
                                    << (1)) |
                                   (((W[((40 + 15 + 0)) & 0x0F]) ^
                                     (W[((40 + 15 + 0) - 14) & 0x0F]) ^
                                     (W[((40 + 15 + 0) - 8) & 0x0F]) ^
                                     (W[((40 + 15 + 0) - 3) & 0x0F])) >>
                                    (32 - (1)))))) +
       0x8F1BBCDC;
  B = (((B) << (30)) | ((B) >> (32 - (30))));
  ;
  D += (((E) << (5)) | ((E) >> (32 - (5)))) +
       (((A) & ((B) | (C))) | ((B) & (C))) +
       ((40 + 15 + 1) < 16 ? (W[((40 + 15 + 1)) & 0x0F])
                           : ((W[((40 + 15 + 1)) & 0x0F]) =
                                  ((((W[((40 + 15 + 1)) & 0x0F]) ^
                                     (W[((40 + 15 + 1) - 14) & 0x0F]) ^
                                     (W[((40 + 15 + 1) - 8) & 0x0F]) ^
                                     (W[((40 + 15 + 1) - 3) & 0x0F]))
                                    << (1)) |
                                   (((W[((40 + 15 + 1)) & 0x0F]) ^
                                     (W[((40 + 15 + 1) - 14) & 0x0F]) ^
                                     (W[((40 + 15 + 1) - 8) & 0x0F]) ^
                                     (W[((40 + 15 + 1) - 3) & 0x0F])) >>
                                    (32 - (1)))))) +
       0x8F1BBCDC;
  A = (((A) << (30)) | ((A) >> (32 - (30))));
  ;
  C += (((D) << (5)) | ((D) >> (32 - (5)))) +
       (((E) & ((A) | (B))) | ((A) & (B))) +
       ((40 + 15 + 2) < 16 ? (W[((40 + 15 + 2)) & 0x0F])
                           : ((W[((40 + 15 + 2)) & 0x0F]) =
                                  ((((W[((40 + 15 + 2)) & 0x0F]) ^
                                     (W[((40 + 15 + 2) - 14) & 0x0F]) ^
                                     (W[((40 + 15 + 2) - 8) & 0x0F]) ^
                                     (W[((40 + 15 + 2) - 3) & 0x0F]))
                                    << (1)) |
                                   (((W[((40 + 15 + 2)) & 0x0F]) ^
                                     (W[((40 + 15 + 2) - 14) & 0x0F]) ^
                                     (W[((40 + 15 + 2) - 8) & 0x0F]) ^
                                     (W[((40 + 15 + 2) - 3) & 0x0F])) >>
                                    (32 - (1)))))) +
       0x8F1BBCDC;
  E = (((E) << (30)) | ((E) >> (32 - (30))));
  ;
  B += (((C) << (5)) | ((C) >> (32 - (5)))) +
       (((D) & ((E) | (A))) | ((E) & (A))) +
       ((40 + 15 + 3) < 16 ? (W[((40 + 15 + 3)) & 0x0F])
                           : ((W[((40 + 15 + 3)) & 0x0F]) =
                                  ((((W[((40 + 15 + 3)) & 0x0F]) ^
                                     (W[((40 + 15 + 3) - 14) & 0x0F]) ^
                                     (W[((40 + 15 + 3) - 8) & 0x0F]) ^
                                     (W[((40 + 15 + 3) - 3) & 0x0F]))
                                    << (1)) |
                                   (((W[((40 + 15 + 3)) & 0x0F]) ^
                                     (W[((40 + 15 + 3) - 14) & 0x0F]) ^
                                     (W[((40 + 15 + 3) - 8) & 0x0F]) ^
                                     (W[((40 + 15 + 3) - 3) & 0x0F])) >>
                                    (32 - (1)))))) +
       0x8F1BBCDC;
  D = (((D) << (30)) | ((D) >> (32 - (30))));
  ;
  A += (((B) << (5)) | ((B) >> (32 - (5)))) +
       (((C) & ((D) | (E))) | ((D) & (E))) +
       ((40 + 15 + 4) < 16 ? (W[((40 + 15 + 4)) & 0x0F])
                           : ((W[((40 + 15 + 4)) & 0x0F]) =
                                  ((((W[((40 + 15 + 4)) & 0x0F]) ^
                                     (W[((40 + 15 + 4) - 14) & 0x0F]) ^
                                     (W[((40 + 15 + 4) - 8) & 0x0F]) ^
                                     (W[((40 + 15 + 4) - 3) & 0x0F]))
                                    << (1)) |
                                   (((W[((40 + 15 + 4)) & 0x0F]) ^
                                     (W[((40 + 15 + 4) - 14) & 0x0F]) ^
                                     (W[((40 + 15 + 4) - 8) & 0x0F]) ^
                                     (W[((40 + 15 + 4) - 3) & 0x0F])) >>
                                    (32 - (1)))))) +
       0x8F1BBCDC;
  C = (((C) << (30)) | ((C) >> (32 - (30))));
  ;
  E += (((A) << (5)) | ((A) >> (32 - (5)))) + ((B) ^ (C) ^ (D)) +
       ((60 + 0 + 0) < 16 ? (W[((60 + 0 + 0)) & 0x0F])
                          : ((W[((60 + 0 + 0)) & 0x0F]) =
                                 ((((W[((60 + 0 + 0)) & 0x0F]) ^
                                    (W[((60 + 0 + 0) - 14) & 0x0F]) ^
                                    (W[((60 + 0 + 0) - 8) & 0x0F]) ^
                                    (W[((60 + 0 + 0) - 3) & 0x0F]))
                                   << (1)) |
                                  (((W[((60 + 0 + 0)) & 0x0F]) ^
                                    (W[((60 + 0 + 0) - 14) & 0x0F]) ^
                                    (W[((60 + 0 + 0) - 8) & 0x0F]) ^
                                    (W[((60 + 0 + 0) - 3) & 0x0F])) >>
                                   (32 - (1)))))) +
       0xCA62C1D6;
  B = (((B) << (30)) | ((B) >> (32 - (30))));
  ;
  D += (((E) << (5)) | ((E) >> (32 - (5)))) + ((A) ^ (B) ^ (C)) +
       ((60 + 0 + 1) < 16 ? (W[((60 + 0 + 1)) & 0x0F])
                          : ((W[((60 + 0 + 1)) & 0x0F]) =
                                 ((((W[((60 + 0 + 1)) & 0x0F]) ^
                                    (W[((60 + 0 + 1) - 14) & 0x0F]) ^
                                    (W[((60 + 0 + 1) - 8) & 0x0F]) ^
                                    (W[((60 + 0 + 1) - 3) & 0x0F]))
                                   << (1)) |
                                  (((W[((60 + 0 + 1)) & 0x0F]) ^
                                    (W[((60 + 0 + 1) - 14) & 0x0F]) ^
                                    (W[((60 + 0 + 1) - 8) & 0x0F]) ^
                                    (W[((60 + 0 + 1) - 3) & 0x0F])) >>
                                   (32 - (1)))))) +
       0xCA62C1D6;
  A = (((A) << (30)) | ((A) >> (32 - (30))));
  ;
  C += (((D) << (5)) | ((D) >> (32 - (5)))) + ((E) ^ (A) ^ (B)) +
       ((60 + 0 + 2) < 16 ? (W[((60 + 0 + 2)) & 0x0F])
                          : ((W[((60 + 0 + 2)) & 0x0F]) =
                                 ((((W[((60 + 0 + 2)) & 0x0F]) ^
                                    (W[((60 + 0 + 2) - 14) & 0x0F]) ^
                                    (W[((60 + 0 + 2) - 8) & 0x0F]) ^
                                    (W[((60 + 0 + 2) - 3) & 0x0F]))
                                   << (1)) |
                                  (((W[((60 + 0 + 2)) & 0x0F]) ^
                                    (W[((60 + 0 + 2) - 14) & 0x0F]) ^
                                    (W[((60 + 0 + 2) - 8) & 0x0F]) ^
                                    (W[((60 + 0 + 2) - 3) & 0x0F])) >>
                                   (32 - (1)))))) +
       0xCA62C1D6;
  E = (((E) << (30)) | ((E) >> (32 - (30))));
  ;
  B += (((C) << (5)) | ((C) >> (32 - (5)))) + ((D) ^ (E) ^ (A)) +
       ((60 + 0 + 3) < 16 ? (W[((60 + 0 + 3)) & 0x0F])
                          : ((W[((60 + 0 + 3)) & 0x0F]) =
                                 ((((W[((60 + 0 + 3)) & 0x0F]) ^
                                    (W[((60 + 0 + 3) - 14) & 0x0F]) ^
                                    (W[((60 + 0 + 3) - 8) & 0x0F]) ^
                                    (W[((60 + 0 + 3) - 3) & 0x0F]))
                                   << (1)) |
                                  (((W[((60 + 0 + 3)) & 0x0F]) ^
                                    (W[((60 + 0 + 3) - 14) & 0x0F]) ^
                                    (W[((60 + 0 + 3) - 8) & 0x0F]) ^
                                    (W[((60 + 0 + 3) - 3) & 0x0F])) >>
                                   (32 - (1)))))) +
       0xCA62C1D6;
  D = (((D) << (30)) | ((D) >> (32 - (30))));
  ;
  A += (((B) << (5)) | ((B) >> (32 - (5)))) + ((C) ^ (D) ^ (E)) +
       ((60 + 0 + 4) < 16 ? (W[((60 + 0 + 4)) & 0x0F])
                          : ((W[((60 + 0 + 4)) & 0x0F]) =
                                 ((((W[((60 + 0 + 4)) & 0x0F]) ^
                                    (W[((60 + 0 + 4) - 14) & 0x0F]) ^
                                    (W[((60 + 0 + 4) - 8) & 0x0F]) ^
                                    (W[((60 + 0 + 4) - 3) & 0x0F]))
                                   << (1)) |
                                  (((W[((60 + 0 + 4)) & 0x0F]) ^
                                    (W[((60 + 0 + 4) - 14) & 0x0F]) ^
                                    (W[((60 + 0 + 4) - 8) & 0x0F]) ^
                                    (W[((60 + 0 + 4) - 3) & 0x0F])) >>
                                   (32 - (1)))))) +
       0xCA62C1D6;
  C = (((C) << (30)) | ((C) >> (32 - (30))));
  ;
  E += (((A) << (5)) | ((A) >> (32 - (5)))) + ((B) ^ (C) ^ (D)) +
       ((60 + 5 + 0) < 16 ? (W[((60 + 5 + 0)) & 0x0F])
                          : ((W[((60 + 5 + 0)) & 0x0F]) =
                                 ((((W[((60 + 5 + 0)) & 0x0F]) ^
                                    (W[((60 + 5 + 0) - 14) & 0x0F]) ^
                                    (W[((60 + 5 + 0) - 8) & 0x0F]) ^
                                    (W[((60 + 5 + 0) - 3) & 0x0F]))
                                   << (1)) |
                                  (((W[((60 + 5 + 0)) & 0x0F]) ^
                                    (W[((60 + 5 + 0) - 14) & 0x0F]) ^
                                    (W[((60 + 5 + 0) - 8) & 0x0F]) ^
                                    (W[((60 + 5 + 0) - 3) & 0x0F])) >>
                                   (32 - (1)))))) +
       0xCA62C1D6;
  B = (((B) << (30)) | ((B) >> (32 - (30))));
  ;
  D += (((E) << (5)) | ((E) >> (32 - (5)))) + ((A) ^ (B) ^ (C)) +
       ((60 + 5 + 1) < 16 ? (W[((60 + 5 + 1)) & 0x0F])
                          : ((W[((60 + 5 + 1)) & 0x0F]) =
                                 ((((W[((60 + 5 + 1)) & 0x0F]) ^
                                    (W[((60 + 5 + 1) - 14) & 0x0F]) ^
                                    (W[((60 + 5 + 1) - 8) & 0x0F]) ^
                                    (W[((60 + 5 + 1) - 3) & 0x0F]))
                                   << (1)) |
                                  (((W[((60 + 5 + 1)) & 0x0F]) ^
                                    (W[((60 + 5 + 1) - 14) & 0x0F]) ^
                                    (W[((60 + 5 + 1) - 8) & 0x0F]) ^
                                    (W[((60 + 5 + 1) - 3) & 0x0F])) >>
                                   (32 - (1)))))) +
       0xCA62C1D6;
  A = (((A) << (30)) | ((A) >> (32 - (30))));
  ;
  C += (((D) << (5)) | ((D) >> (32 - (5)))) + ((E) ^ (A) ^ (B)) +
       ((60 + 5 + 2) < 16 ? (W[((60 + 5 + 2)) & 0x0F])
                          : ((W[((60 + 5 + 2)) & 0x0F]) =
                                 ((((W[((60 + 5 + 2)) & 0x0F]) ^
                                    (W[((60 + 5 + 2) - 14) & 0x0F]) ^
                                    (W[((60 + 5 + 2) - 8) & 0x0F]) ^
                                    (W[((60 + 5 + 2) - 3) & 0x0F]))
                                   << (1)) |
                                  (((W[((60 + 5 + 2)) & 0x0F]) ^
                                    (W[((60 + 5 + 2) - 14) & 0x0F]) ^
                                    (W[((60 + 5 + 2) - 8) & 0x0F]) ^
                                    (W[((60 + 5 + 2) - 3) & 0x0F])) >>
                                   (32 - (1)))))) +
       0xCA62C1D6;
  E = (((E) << (30)) | ((E) >> (32 - (30))));
  ;
  B += (((C) << (5)) | ((C) >> (32 - (5)))) + ((D) ^ (E) ^ (A)) +
       ((60 + 5 + 3) < 16 ? (W[((60 + 5 + 3)) & 0x0F])
                          : ((W[((60 + 5 + 3)) & 0x0F]) =
                                 ((((W[((60 + 5 + 3)) & 0x0F]) ^
                                    (W[((60 + 5 + 3) - 14) & 0x0F]) ^
                                    (W[((60 + 5 + 3) - 8) & 0x0F]) ^
                                    (W[((60 + 5 + 3) - 3) & 0x0F]))
                                   << (1)) |
                                  (((W[((60 + 5 + 3)) & 0x0F]) ^
                                    (W[((60 + 5 + 3) - 14) & 0x0F]) ^
                                    (W[((60 + 5 + 3) - 8) & 0x0F]) ^
                                    (W[((60 + 5 + 3) - 3) & 0x0F])) >>
                                   (32 - (1)))))) +
       0xCA62C1D6;
  D = (((D) << (30)) | ((D) >> (32 - (30))));
  ;
  A += (((B) << (5)) | ((B) >> (32 - (5)))) + ((C) ^ (D) ^ (E)) +
       ((60 + 5 + 4) < 16 ? (W[((60 + 5 + 4)) & 0x0F])
                          : ((W[((60 + 5 + 4)) & 0x0F]) =
                                 ((((W[((60 + 5 + 4)) & 0x0F]) ^
                                    (W[((60 + 5 + 4) - 14) & 0x0F]) ^
                                    (W[((60 + 5 + 4) - 8) & 0x0F]) ^
                                    (W[((60 + 5 + 4) - 3) & 0x0F]))
                                   << (1)) |
                                  (((W[((60 + 5 + 4)) & 0x0F]) ^
                                    (W[((60 + 5 + 4) - 14) & 0x0F]) ^
                                    (W[((60 + 5 + 4) - 8) & 0x0F]) ^
                                    (W[((60 + 5 + 4) - 3) & 0x0F])) >>
                                   (32 - (1)))))) +
       0xCA62C1D6;
  C = (((C) << (30)) | ((C) >> (32 - (30))));
  ;
  E += (((A) << (5)) | ((A) >> (32 - (5)))) + ((B) ^ (C) ^ (D)) +
       ((60 + 10 + 0) < 16 ? (W[((60 + 10 + 0)) & 0x0F])
                           : ((W[((60 + 10 + 0)) & 0x0F]) =
                                  ((((W[((60 + 10 + 0)) & 0x0F]) ^
                                     (W[((60 + 10 + 0) - 14) & 0x0F]) ^
                                     (W[((60 + 10 + 0) - 8) & 0x0F]) ^
                                     (W[((60 + 10 + 0) - 3) & 0x0F]))
                                    << (1)) |
                                   (((W[((60 + 10 + 0)) & 0x0F]) ^
                                     (W[((60 + 10 + 0) - 14) & 0x0F]) ^
                                     (W[((60 + 10 + 0) - 8) & 0x0F]) ^
                                     (W[((60 + 10 + 0) - 3) & 0x0F])) >>
                                    (32 - (1)))))) +
       0xCA62C1D6;
  B = (((B) << (30)) | ((B) >> (32 - (30))));
  ;
  D += (((E) << (5)) | ((E) >> (32 - (5)))) + ((A) ^ (B) ^ (C)) +
       ((60 + 10 + 1) < 16 ? (W[((60 + 10 + 1)) & 0x0F])
                           : ((W[((60 + 10 + 1)) & 0x0F]) =
                                  ((((W[((60 + 10 + 1)) & 0x0F]) ^
                                     (W[((60 + 10 + 1) - 14) & 0x0F]) ^
                                     (W[((60 + 10 + 1) - 8) & 0x0F]) ^
                                     (W[((60 + 10 + 1) - 3) & 0x0F]))
                                    << (1)) |
                                   (((W[((60 + 10 + 1)) & 0x0F]) ^
                                     (W[((60 + 10 + 1) - 14) & 0x0F]) ^
                                     (W[((60 + 10 + 1) - 8) & 0x0F]) ^
                                     (W[((60 + 10 + 1) - 3) & 0x0F])) >>
                                    (32 - (1)))))) +
       0xCA62C1D6;
  A = (((A) << (30)) | ((A) >> (32 - (30))));
  ;
  C += (((D) << (5)) | ((D) >> (32 - (5)))) + ((E) ^ (A) ^ (B)) +
       ((60 + 10 + 2) < 16 ? (W[((60 + 10 + 2)) & 0x0F])
                           : ((W[((60 + 10 + 2)) & 0x0F]) =
                                  ((((W[((60 + 10 + 2)) & 0x0F]) ^
                                     (W[((60 + 10 + 2) - 14) & 0x0F]) ^
                                     (W[((60 + 10 + 2) - 8) & 0x0F]) ^
                                     (W[((60 + 10 + 2) - 3) & 0x0F]))
                                    << (1)) |
                                   (((W[((60 + 10 + 2)) & 0x0F]) ^
                                     (W[((60 + 10 + 2) - 14) & 0x0F]) ^
                                     (W[((60 + 10 + 2) - 8) & 0x0F]) ^
                                     (W[((60 + 10 + 2) - 3) & 0x0F])) >>
                                    (32 - (1)))))) +
       0xCA62C1D6;
  E = (((E) << (30)) | ((E) >> (32 - (30))));
  ;
  B += (((C) << (5)) | ((C) >> (32 - (5)))) + ((D) ^ (E) ^ (A)) +
       ((60 + 10 + 3) < 16 ? (W[((60 + 10 + 3)) & 0x0F])
                           : ((W[((60 + 10 + 3)) & 0x0F]) =
                                  ((((W[((60 + 10 + 3)) & 0x0F]) ^
                                     (W[((60 + 10 + 3) - 14) & 0x0F]) ^
                                     (W[((60 + 10 + 3) - 8) & 0x0F]) ^
                                     (W[((60 + 10 + 3) - 3) & 0x0F]))
                                    << (1)) |
                                   (((W[((60 + 10 + 3)) & 0x0F]) ^
                                     (W[((60 + 10 + 3) - 14) & 0x0F]) ^
                                     (W[((60 + 10 + 3) - 8) & 0x0F]) ^
                                     (W[((60 + 10 + 3) - 3) & 0x0F])) >>
                                    (32 - (1)))))) +
       0xCA62C1D6;
  D = (((D) << (30)) | ((D) >> (32 - (30))));
  ;
  A += (((B) << (5)) | ((B) >> (32 - (5)))) + ((C) ^ (D) ^ (E)) +
       ((60 + 10 + 4) < 16 ? (W[((60 + 10 + 4)) & 0x0F])
                           : ((W[((60 + 10 + 4)) & 0x0F]) =
                                  ((((W[((60 + 10 + 4)) & 0x0F]) ^
                                     (W[((60 + 10 + 4) - 14) & 0x0F]) ^
                                     (W[((60 + 10 + 4) - 8) & 0x0F]) ^
                                     (W[((60 + 10 + 4) - 3) & 0x0F]))
                                    << (1)) |
                                   (((W[((60 + 10 + 4)) & 0x0F]) ^
                                     (W[((60 + 10 + 4) - 14) & 0x0F]) ^
                                     (W[((60 + 10 + 4) - 8) & 0x0F]) ^
                                     (W[((60 + 10 + 4) - 3) & 0x0F])) >>
                                    (32 - (1)))))) +
       0xCA62C1D6;
  C = (((C) << (30)) | ((C) >> (32 - (30))));
  ;
  E += (((A) << (5)) | ((A) >> (32 - (5)))) + ((B) ^ (C) ^ (D)) +
       ((60 + 15 + 0) < 16 ? (W[((60 + 15 + 0)) & 0x0F])
                           : ((W[((60 + 15 + 0)) & 0x0F]) =
                                  ((((W[((60 + 15 + 0)) & 0x0F]) ^
                                     (W[((60 + 15 + 0) - 14) & 0x0F]) ^
                                     (W[((60 + 15 + 0) - 8) & 0x0F]) ^
                                     (W[((60 + 15 + 0) - 3) & 0x0F]))
                                    << (1)) |
                                   (((W[((60 + 15 + 0)) & 0x0F]) ^
                                     (W[((60 + 15 + 0) - 14) & 0x0F]) ^
                                     (W[((60 + 15 + 0) - 8) & 0x0F]) ^
                                     (W[((60 + 15 + 0) - 3) & 0x0F])) >>
                                    (32 - (1)))))) +
       0xCA62C1D6;
  B = (((B) << (30)) | ((B) >> (32 - (30))));
  ;
  D += (((E) << (5)) | ((E) >> (32 - (5)))) + ((A) ^ (B) ^ (C)) +
       ((60 + 15 + 1) < 16 ? (W[((60 + 15 + 1)) & 0x0F])
                           : ((W[((60 + 15 + 1)) & 0x0F]) =
                                  ((((W[((60 + 15 + 1)) & 0x0F]) ^
                                     (W[((60 + 15 + 1) - 14) & 0x0F]) ^
                                     (W[((60 + 15 + 1) - 8) & 0x0F]) ^
                                     (W[((60 + 15 + 1) - 3) & 0x0F]))
                                    << (1)) |
                                   (((W[((60 + 15 + 1)) & 0x0F]) ^
                                     (W[((60 + 15 + 1) - 14) & 0x0F]) ^
                                     (W[((60 + 15 + 1) - 8) & 0x0F]) ^
                                     (W[((60 + 15 + 1) - 3) & 0x0F])) >>
                                    (32 - (1)))))) +
       0xCA62C1D6;
  A = (((A) << (30)) | ((A) >> (32 - (30))));
  ;
  C += (((D) << (5)) | ((D) >> (32 - (5)))) + ((E) ^ (A) ^ (B)) +
       ((60 + 15 + 2) < 16 ? (W[((60 + 15 + 2)) & 0x0F])
                           : ((W[((60 + 15 + 2)) & 0x0F]) =
                                  ((((W[((60 + 15 + 2)) & 0x0F]) ^
                                     (W[((60 + 15 + 2) - 14) & 0x0F]) ^
                                     (W[((60 + 15 + 2) - 8) & 0x0F]) ^
                                     (W[((60 + 15 + 2) - 3) & 0x0F]))
                                    << (1)) |
                                   (((W[((60 + 15 + 2)) & 0x0F]) ^
                                     (W[((60 + 15 + 2) - 14) & 0x0F]) ^
                                     (W[((60 + 15 + 2) - 8) & 0x0F]) ^
                                     (W[((60 + 15 + 2) - 3) & 0x0F])) >>
                                    (32 - (1)))))) +
       0xCA62C1D6;
  E = (((E) << (30)) | ((E) >> (32 - (30))));
  ;
  B += (((C) << (5)) | ((C) >> (32 - (5)))) + ((D) ^ (E) ^ (A)) +
       ((60 + 15 + 3) < 16 ? (W[((60 + 15 + 3)) & 0x0F])
                           : ((W[((60 + 15 + 3)) & 0x0F]) =
                                  ((((W[((60 + 15 + 3)) & 0x0F]) ^
                                     (W[((60 + 15 + 3) - 14) & 0x0F]) ^
                                     (W[((60 + 15 + 3) - 8) & 0x0F]) ^
                                     (W[((60 + 15 + 3) - 3) & 0x0F]))
                                    << (1)) |
                                   (((W[((60 + 15 + 3)) & 0x0F]) ^
                                     (W[((60 + 15 + 3) - 14) & 0x0F]) ^
                                     (W[((60 + 15 + 3) - 8) & 0x0F]) ^
                                     (W[((60 + 15 + 3) - 3) & 0x0F])) >>
                                    (32 - (1)))))) +
       0xCA62C1D6;
  D = (((D) << (30)) | ((D) >> (32 - (30))));
  ;
  A += (((B) << (5)) | ((B) >> (32 - (5)))) + ((C) ^ (D) ^ (E)) +
       ((60 + 15 + 4) < 16 ? (W[((60 + 15 + 4)) & 0x0F])
                           : ((W[((60 + 15 + 4)) & 0x0F]) =
                                  ((((W[((60 + 15 + 4)) & 0x0F]) ^
                                     (W[((60 + 15 + 4) - 14) & 0x0F]) ^
                                     (W[((60 + 15 + 4) - 8) & 0x0F]) ^
                                     (W[((60 + 15 + 4) - 3) & 0x0F]))
                                    << (1)) |
                                   (((W[((60 + 15 + 4)) & 0x0F]) ^
                                     (W[((60 + 15 + 4) - 14) & 0x0F]) ^
                                     (W[((60 + 15 + 4) - 8) & 0x0F]) ^
                                     (W[((60 + 15 + 4) - 3) & 0x0F])) >>
                                    (32 - (1)))))) +
       0xCA62C1D6;
  C = (((C) << (30)) | ((C) >> (32 - (30))));
  ;
  H[0] += A;
  H[1] += B;
  H[2] += C;
  H[3] += D;
  H[4] += E;
}


x86 assembly (clang, -O0):
<SHA1_Transform_HC>:
push   %rbp
mov    %rsp,%rbp
sub    $0xc0,%rsp
mov    %rdi,-0x8(%rbp)
mov    %rsi,-0x10(%rbp)
mov    -0x8(%rbp),%rax
mov    (%rax),%rax
mov    %rax,-0x18(%rbp)
mov    -0x8(%rbp),%rax
mov    0x8(%rax),%rax
mov    %rax,-0x20(%rbp)
mov    -0x8(%rbp),%rax
mov    0x10(%rax),%rax
mov    %rax,-0x28(%rbp)
mov    -0x8(%rbp),%rax
mov    0x18(%rax),%rax
mov    %rax,-0x30(%rbp)
mov    -0x8(%rbp),%rax
mov    0x20(%rax),%rax
mov    %rax,-0x38(%rbp)
lea    -0xc0(%rbp),%rdi
xor    %esi,%esi
mov    $0x80,%edx
call   1030 <memset@plt>
lea    -0xc0(%rbp),%rdi
mov    -0x10(%rbp),%rsi
mov    $0x40,%edx
call   1040 <memcpy@plt>
mov    -0x18(%rbp),%rax
shl    $0x5,%rax
mov    -0x18(%rbp),%rcx
shr    $0x1b,%rcx
or     %rcx,%rax
mov    -0x30(%rbp),%rcx
mov    -0x20(%rbp),%rdx
mov    -0x28(%rbp),%rsi
xor    -0x30(%rbp),%rsi
and    %rsi,%rdx
xor    %rdx,%rcx
add    %rcx,%rax
add    -0xc0(%rbp),%rax
add    $0x5a827999,%rax
add    -0x38(%rbp),%rax
mov    %rax,-0x38(%rbp)
mov    -0x20(%rbp),%rax
shl    $0x1e,%rax
mov    -0x20(%rbp),%rcx
shr    $0x2,%rcx
or     %rcx,%rax
mov    %rax,-0x20(%rbp)
mov    -0x38(%rbp),%rax
shl    $0x5,%rax
mov    -0x38(%rbp),%rcx
shr    $0x1b,%rcx
or     %rcx,%rax
mov    -0x28(%rbp),%rcx
mov    -0x18(%rbp),%rdx
mov    -0x20(%rbp),%rsi
xor    -0x28(%rbp),%rsi
and    %rsi,%rdx
xor    %rdx,%rcx
add    %rcx,%rax
add    -0xb8(%rbp),%rax
add    $0x5a827999,%rax
add    -0x30(%rbp),%rax
mov    %rax,-0x30(%rbp)
mov    -0x18(%rbp),%rax
shl    $0x1e,%rax
mov    -0x18(%rbp),%rcx
shr    $0x2,%rcx
or     %rcx,%rax
mov    %rax,-0x18(%rbp)
mov    -0x30(%rbp),%rax
shl    $0x5,%rax
mov    -0x30(%rbp),%rcx
shr    $0x1b,%rcx
or     %rcx,%rax
mov    -0x20(%rbp),%rcx
mov    -0x38(%rbp),%rdx
mov    -0x18(%rbp),%rsi
xor    -0x20(%rbp),%rsi
and    %rsi,%rdx
xor    %rdx,%rcx
add    %rcx,%rax
add    -0xb0(%rbp),%rax
add    $0x5a827999,%rax
add    -0x28(%rbp),%rax
mov    %rax,-0x28(%rbp)
mov    -0x38(%rbp),%rax
shl    $0x1e,%rax
mov    -0x38(%rbp),%rcx
shr    $0x2,%rcx
or     %rcx,%rax
mov    %rax,-0x38(%rbp)
mov    -0x28(%rbp),%rax
shl    $0x5,%rax
mov    -0x28(%rbp),%rcx
shr    $0x1b,%rcx
or     %rcx,%rax
mov    -0x18(%rbp),%rcx
mov    -0x30(%rbp),%rdx
mov    -0x38(%rbp),%rsi
xor    -0x18(%rbp),%rsi
and    %rsi,%rdx
xor    %rdx,%rcx
add    %rcx,%rax
add    -0xa8(%rbp),%rax
add    $0x5a827999,%rax
add    -0x20(%rbp),%rax
mov    %rax,-0x20(%rbp)
mov    -0x30(%rbp),%rax
shl    $0x1e,%rax
mov    -0x30(%rbp),%rcx
shr    $0x2,%rcx
or     %rcx,%rax
mov    %rax,-0x30(%rbp)
mov    -0x20(%rbp),%rax
shl    $0x5,%rax
mov    -0x20(%rbp),%rcx
shr    $0x1b,%rcx
or     %rcx,%rax
mov    -0x38(%rbp),%rcx
mov    -0x28(%rbp),%rdx
mov    -0x30(%rbp),%rsi
xor    -0x38(%rbp),%rsi
and    %rsi,%rdx
xor    %rdx,%rcx
add    %rcx,%rax
add    -0xa0(%rbp),%rax
add    $0x5a827999,%rax
add    -0x18(%rbp),%rax
mov    %rax,-0x18(%rbp)
mov    -0x28(%rbp),%rax
shl    $0x1e,%rax
mov    -0x28(%rbp),%rcx
shr    $0x2,%rcx
or     %rcx,%rax
mov    %rax,-0x28(%rbp)
mov    -0x18(%rbp),%rax
shl    $0x5,%rax
mov    -0x18(%rbp),%rcx
shr    $0x1b,%rcx
or     %rcx,%rax
mov    -0x30(%rbp),%rcx
mov    -0x20(%rbp),%rdx
mov    -0x28(%rbp),%rsi
xor    -0x30(%rbp),%rsi
and    %rsi,%rdx
xor    %rdx,%rcx
add    %rcx,%rax
add    -0x98(%rbp),%rax
add    $0x5a827999,%rax
add    -0x38(%rbp),%rax
mov    %rax,-0x38(%rbp)
mov    -0x20(%rbp),%rax
shl    $0x1e,%rax
mov    -0x20(%rbp),%rcx
shr    $0x2,%rcx
or     %rcx,%rax
mov    %rax,-0x20(%rbp)
mov    -0x38(%rbp),%rax
shl    $0x5,%rax
mov    -0x38(%rbp),%rcx
shr    $0x1b,%rcx
or     %rcx,%rax
mov    -0x28(%rbp),%rcx
mov    -0x18(%rbp),%rdx
mov    -0x20(%rbp),%rsi
xor    -0x28(%rbp),%rsi
and    %rsi,%rdx
xor    %rdx,%rcx
add    %rcx,%rax
add    -0x90(%rbp),%rax
add    $0x5a827999,%rax
add    -0x30(%rbp),%rax
mov    %rax,-0x30(%rbp)
mov    -0x18(%rbp),%rax
shl    $0x1e,%rax
mov    -0x18(%rbp),%rcx
shr    $0x2,%rcx
or     %rcx,%rax
mov    %rax,-0x18(%rbp)
mov    -0x30(%rbp),%rax
shl    $0x5,%rax
mov    -0x30(%rbp),%rcx
shr    $0x1b,%rcx
or     %rcx,%rax
mov    -0x20(%rbp),%rcx
mov    -0x38(%rbp),%rdx
mov    -0x18(%rbp),%rsi
xor    -0x20(%rbp),%rsi
and    %rsi,%rdx
xor    %rdx,%rcx
add    %rcx,%rax
add    -0x88(%rbp),%rax
add    $0x5a827999,%rax
add    -0x28(%rbp),%rax
mov    %rax,-0x28(%rbp)
mov    -0x38(%rbp),%rax
shl    $0x1e,%rax
mov    -0x38(%rbp),%rcx
shr    $0x2,%rcx
or     %rcx,%rax
mov    %rax,-0x38(%rbp)
mov    -0x28(%rbp),%rax
shl    $0x5,%rax
mov    -0x28(%rbp),%rcx
shr    $0x1b,%rcx
or     %rcx,%rax
mov    -0x18(%rbp),%rcx
mov    -0x30(%rbp),%rdx
mov    -0x38(%rbp),%rsi
xor    -0x18(%rbp),%rsi
and    %rsi,%rdx
xor    %rdx,%rcx
add    %rcx,%rax
add    -0x80(%rbp),%rax
add    $0x5a827999,%rax
add    -0x20(%rbp),%rax
mov    %rax,-0x20(%rbp)
mov    -0x30(%rbp),%rax
shl    $0x1e,%rax
mov    -0x30(%rbp),%rcx
shr    $0x2,%rcx
or     %rcx,%rax
mov    %rax,-0x30(%rbp)
mov    -0x20(%rbp),%rax
shl    $0x5,%rax
mov    -0x20(%rbp),%rcx
shr    $0x1b,%rcx
or     %rcx,%rax
mov    -0x38(%rbp),%rcx
mov    -0x28(%rbp),%rdx
mov    -0x30(%rbp),%rsi
xor    -0x38(%rbp),%rsi
and    %rsi,%rdx
xor    %rdx,%rcx
add    %rcx,%rax
add    -0x78(%rbp),%rax
add    $0x5a827999,%rax
add    -0x18(%rbp),%rax
mov    %rax,-0x18(%rbp)
mov    -0x28(%rbp),%rax
shl    $0x1e,%rax
mov    -0x28(%rbp),%rcx
shr    $0x2,%rcx
or     %rcx,%rax
mov    %rax,-0x28(%rbp)
mov    -0x18(%rbp),%rax
shl    $0x5,%rax
mov    -0x18(%rbp),%rcx
shr    $0x1b,%rcx
or     %rcx,%rax
mov    -0x30(%rbp),%rcx
mov    -0x20(%rbp),%rdx
mov    -0x28(%rbp),%rsi
xor    -0x30(%rbp),%rsi
and    %rsi,%rdx
xor    %rdx,%rcx
add    %rcx,%rax
add    -0x70(%rbp),%rax
add    $0x5a827999,%rax
add    -0x38(%rbp),%rax
mov    %rax,-0x38(%rbp)
mov    -0x20(%rbp),%rax
shl    $0x1e,%rax
mov    -0x20(%rbp),%rcx
shr    $0x2,%rcx
or     %rcx,%rax
mov    %rax,-0x20(%rbp)
mov    -0x38(%rbp),%rax
shl    $0x5,%rax
mov    -0x38(%rbp),%rcx
shr    $0x1b,%rcx
or     %rcx,%rax
mov    -0x28(%rbp),%rcx
mov    -0x18(%rbp),%rdx
mov    -0x20(%rbp),%rsi
xor    -0x28(%rbp),%rsi
and    %rsi,%rdx
xor    %rdx,%rcx
add    %rcx,%rax
add    -0x68(%rbp),%rax
add    $0x5a827999,%rax
add    -0x30(%rbp),%rax
mov    %rax,-0x30(%rbp)
mov    -0x18(%rbp),%rax
shl    $0x1e,%rax
mov    -0x18(%rbp),%rcx
shr    $0x2,%rcx
or     %rcx,%rax
mov    %rax,-0x18(%rbp)
mov    -0x30(%rbp),%rax
shl    $0x5,%rax
mov    -0x30(%rbp),%rcx
shr    $0x1b,%rcx
or     %rcx,%rax
mov    -0x20(%rbp),%rcx
mov    -0x38(%rbp),%rdx
mov    -0x18(%rbp),%rsi
xor    -0x20(%rbp),%rsi
and    %rsi,%rdx
xor    %rdx,%rcx
add    %rcx,%rax
add    -0x60(%rbp),%rax
add    $0x5a827999,%rax
add    -0x28(%rbp),%rax
mov    %rax,-0x28(%rbp)
mov    -0x38(%rbp),%rax
shl    $0x1e,%rax
mov    -0x38(%rbp),%rcx
shr    $0x2,%rcx
or     %rcx,%rax
mov    %rax,-0x38(%rbp)
mov    -0x28(%rbp),%rax
shl    $0x5,%rax
mov    -0x28(%rbp),%rcx
shr    $0x1b,%rcx
or     %rcx,%rax
mov    -0x18(%rbp),%rcx
mov    -0x30(%rbp),%rdx
mov    -0x38(%rbp),%rsi
xor    -0x18(%rbp),%rsi
and    %rsi,%rdx
xor    %rdx,%rcx
add    %rcx,%rax
add    -0x58(%rbp),%rax
add    $0x5a827999,%rax
add    -0x20(%rbp),%rax
mov    %rax,-0x20(%rbp)
mov    -0x30(%rbp),%rax
shl    $0x1e,%rax
mov    -0x30(%rbp),%rcx
shr    $0x2,%rcx
or     %rcx,%rax
mov    %rax,-0x30(%rbp)
mov    -0x20(%rbp),%rax
shl    $0x5,%rax
mov    -0x20(%rbp),%rcx
shr    $0x1b,%rcx
or     %rcx,%rax
mov    -0x38(%rbp),%rcx
mov    -0x28(%rbp),%rdx
mov    -0x30(%rbp),%rsi
xor    -0x38(%rbp),%rsi
and    %rsi,%rdx
xor    %rdx,%rcx
add    %rcx,%rax
add    -0x50(%rbp),%rax
add    $0x5a827999,%rax
add    -0x18(%rbp),%rax
mov    %rax,-0x18(%rbp)
mov    -0x28(%rbp),%rax
shl    $0x1e,%rax
mov    -0x28(%rbp),%rcx
shr    $0x2,%rcx
or     %rcx,%rax
mov    %rax,-0x28(%rbp)
mov    -0x18(%rbp),%rax
shl    $0x5,%rax
mov    -0x18(%rbp),%rcx
shr    $0x1b,%rcx
or     %rcx,%rax
mov    -0x30(%rbp),%rcx
mov    -0x20(%rbp),%rdx
mov    -0x28(%rbp),%rsi
xor    -0x30(%rbp),%rsi
and    %rsi,%rdx
xor    %rdx,%rcx
add    %rcx,%rax
add    -0x48(%rbp),%rax
add    $0x5a827999,%rax
add    -0x38(%rbp),%rax
mov    %rax,-0x38(%rbp)
mov    -0x20(%rbp),%rax
shl    $0x1e,%rax
mov    -0x20(%rbp),%rcx
shr    $0x2,%rcx
or     %rcx,%rax
mov    %rax,-0x20(%rbp)
mov    -0x38(%rbp),%rax
shl    $0x5,%rax
mov    -0x38(%rbp),%rcx
shr    $0x1b,%rcx
or     %rcx,%rax
mov    -0x28(%rbp),%rcx
mov    -0x18(%rbp),%rdx
mov    -0x20(%rbp),%rsi
xor    -0x28(%rbp),%rsi
and    %rsi,%rdx
xor    %rdx,%rcx
add    %rcx,%rax
mov    -0xc0(%rbp),%rcx
xor    -0xb0(%rbp),%rcx
xor    -0x80(%rbp),%rcx
xor    -0x58(%rbp),%rcx
shl    $0x1,%rcx
mov    -0xc0(%rbp),%rdx
xor    -0xb0(%rbp),%rdx
xor    -0x80(%rbp),%rdx
xor    -0x58(%rbp),%rdx
shr    $0x1f,%rdx
or     %rdx,%rcx
mov    %rcx,-0xc0(%rbp)
add    %rcx,%rax
add    $0x5a827999,%rax
add    -0x30(%rbp),%rax
mov    %rax,-0x30(%rbp)
mov    -0x18(%rbp),%rax
shl    $0x1e,%rax
mov    -0x18(%rbp),%rcx
shr    $0x2,%rcx
or     %rcx,%rax
mov    %rax,-0x18(%rbp)
mov    -0x30(%rbp),%rax
shl    $0x5,%rax
mov    -0x30(%rbp),%rcx
shr    $0x1b,%rcx
or     %rcx,%rax
mov    -0x20(%rbp),%rcx
mov    -0x38(%rbp),%rdx
mov    -0x18(%rbp),%rsi
xor    -0x20(%rbp),%rsi
and    %rsi,%rdx
xor    %rdx,%rcx
add    %rcx,%rax
mov    -0xb8(%rbp),%rcx
xor    -0xa8(%rbp),%rcx
xor    -0x78(%rbp),%rcx
xor    -0x50(%rbp),%rcx
shl    $0x1,%rcx
mov    -0xb8(%rbp),%rdx
xor    -0xa8(%rbp),%rdx
xor    -0x78(%rbp),%rdx
xor    -0x50(%rbp),%rdx
shr    $0x1f,%rdx
or     %rdx,%rcx
mov    %rcx,-0xb8(%rbp)
add    %rcx,%rax
add    $0x5a827999,%rax
add    -0x28(%rbp),%rax
mov    %rax,-0x28(%rbp)
mov    -0x38(%rbp),%rax
shl    $0x1e,%rax
mov    -0x38(%rbp),%rcx
shr    $0x2,%rcx
or     %rcx,%rax
mov    %rax,-0x38(%rbp)
mov    -0x28(%rbp),%rax
shl    $0x5,%rax
mov    -0x28(%rbp),%rcx
shr    $0x1b,%rcx
or     %rcx,%rax
mov    -0x18(%rbp),%rcx
mov    -0x30(%rbp),%rdx
mov    -0x38(%rbp),%rsi
xor    -0x18(%rbp),%rsi
and    %rsi,%rdx
xor    %rdx,%rcx
add    %rcx,%rax
mov    -0xb0(%rbp),%rcx
xor    -0xa0(%rbp),%rcx
xor    -0x70(%rbp),%rcx
xor    -0x48(%rbp),%rcx
shl    $0x1,%rcx
mov    -0xb0(%rbp),%rdx
xor    -0xa0(%rbp),%rdx
xor    -0x70(%rbp),%rdx
xor    -0x48(%rbp),%rdx
shr    $0x1f,%rdx
or     %rdx,%rcx
mov    %rcx,-0xb0(%rbp)
add    %rcx,%rax
add    $0x5a827999,%rax
add    -0x20(%rbp),%rax
mov    %rax,-0x20(%rbp)
mov    -0x30(%rbp),%rax
shl    $0x1e,%rax
mov    -0x30(%rbp),%rcx
shr    $0x2,%rcx
or     %rcx,%rax
mov    %rax,-0x30(%rbp)
mov    -0x20(%rbp),%rax
shl    $0x5,%rax
mov    -0x20(%rbp),%rcx
shr    $0x1b,%rcx
or     %rcx,%rax
mov    -0x38(%rbp),%rcx
mov    -0x28(%rbp),%rdx
mov    -0x30(%rbp),%rsi
xor    -0x38(%rbp),%rsi
and    %rsi,%rdx
xor    %rdx,%rcx
add    %rcx,%rax
mov    -0xa8(%rbp),%rcx
xor    -0x98(%rbp),%rcx
xor    -0x68(%rbp),%rcx
xor    -0xc0(%rbp),%rcx
shl    $0x1,%rcx
mov    -0xa8(%rbp),%rdx
xor    -0x98(%rbp),%rdx
xor    -0x68(%rbp),%rdx
xor    -0xc0(%rbp),%rdx
shr    $0x1f,%rdx
or     %rdx,%rcx
mov    %rcx,-0xa8(%rbp)
add    %rcx,%rax
add    $0x5a827999,%rax
add    -0x18(%rbp),%rax
mov    %rax,-0x18(%rbp)
mov    -0x28(%rbp),%rax
shl    $0x1e,%rax
mov    -0x28(%rbp),%rcx
shr    $0x2,%rcx
or     %rcx,%rax
mov    %rax,-0x28(%rbp)
mov    -0x18(%rbp),%rax
shl    $0x5,%rax
mov    -0x18(%rbp),%rcx
shr    $0x1b,%rcx
or     %rcx,%rax
mov    -0x20(%rbp),%rcx
xor    -0x28(%rbp),%rcx
xor    -0x30(%rbp),%rcx
add    %rcx,%rax
mov    -0xa0(%rbp),%rcx
xor    -0x90(%rbp),%rcx
xor    -0x60(%rbp),%rcx
xor    -0xb8(%rbp),%rcx
shl    $0x1,%rcx
mov    -0xa0(%rbp),%rdx
xor    -0x90(%rbp),%rdx
xor    -0x60(%rbp),%rdx
xor    -0xb8(%rbp),%rdx
shr    $0x1f,%rdx
or     %rdx,%rcx
mov    %rcx,-0xa0(%rbp)
add    %rcx,%rax
add    $0x6ed9eba1,%rax
add    -0x38(%rbp),%rax
mov    %rax,-0x38(%rbp)
mov    -0x20(%rbp),%rax
shl    $0x1e,%rax
mov    -0x20(%rbp),%rcx
shr    $0x2,%rcx
or     %rcx,%rax
mov    %rax,-0x20(%rbp)
mov    -0x38(%rbp),%rax
shl    $0x5,%rax
mov    -0x38(%rbp),%rcx
shr    $0x1b,%rcx
or     %rcx,%rax
mov    -0x18(%rbp),%rcx
xor    -0x20(%rbp),%rcx
xor    -0x28(%rbp),%rcx
add    %rcx,%rax
mov    -0x98(%rbp),%rcx
xor    -0x88(%rbp),%rcx
xor    -0x58(%rbp),%rcx
xor    -0xb0(%rbp),%rcx
shl    $0x1,%rcx
mov    -0x98(%rbp),%rdx
xor    -0x88(%rbp),%rdx
xor    -0x58(%rbp),%rdx
xor    -0xb0(%rbp),%rdx
shr    $0x1f,%rdx
or     %rdx,%rcx
mov    %rcx,-0x98(%rbp)
add    %rcx,%rax
add    $0x6ed9eba1,%rax
add    -0x30(%rbp),%rax
mov    %rax,-0x30(%rbp)
mov    -0x18(%rbp),%rax
shl    $0x1e,%rax
mov    -0x18(%rbp),%rcx
shr    $0x2,%rcx
or     %rcx,%rax
mov    %rax,-0x18(%rbp)
mov    -0x30(%rbp),%rax
shl    $0x5,%rax
mov    -0x30(%rbp),%rcx
shr    $0x1b,%rcx
or     %rcx,%rax
mov    -0x38(%rbp),%rcx
xor    -0x18(%rbp),%rcx
xor    -0x20(%rbp),%rcx
add    %rcx,%rax
mov    -0x90(%rbp),%rcx
xor    -0x80(%rbp),%rcx
xor    -0x50(%rbp),%rcx
xor    -0xa8(%rbp),%rcx
shl    $0x1,%rcx
mov    -0x90(%rbp),%rdx
xor    -0x80(%rbp),%rdx
xor    -0x50(%rbp),%rdx
xor    -0xa8(%rbp),%rdx
shr    $0x1f,%rdx
or     %rdx,%rcx
mov    %rcx,-0x90(%rbp)
add    %rcx,%rax
add    $0x6ed9eba1,%rax
add    -0x28(%rbp),%rax
mov    %rax,-0x28(%rbp)
mov    -0x38(%rbp),%rax
shl    $0x1e,%rax
mov    -0x38(%rbp),%rcx
shr    $0x2,%rcx
or     %rcx,%rax
mov    %rax,-0x38(%rbp)
mov    -0x28(%rbp),%rax
shl    $0x5,%rax
mov    -0x28(%rbp),%rcx
shr    $0x1b,%rcx
or     %rcx,%rax
mov    -0x30(%rbp),%rcx
xor    -0x38(%rbp),%rcx
xor    -0x18(%rbp),%rcx
add    %rcx,%rax
mov    -0x88(%rbp),%rcx
xor    -0x78(%rbp),%rcx
xor    -0x48(%rbp),%rcx
xor    -0xa0(%rbp),%rcx
shl    $0x1,%rcx
mov    -0x88(%rbp),%rdx
xor    -0x78(%rbp),%rdx
xor    -0x48(%rbp),%rdx
xor    -0xa0(%rbp),%rdx
shr    $0x1f,%rdx
or     %rdx,%rcx
mov    %rcx,-0x88(%rbp)
add    %rcx,%rax
add    $0x6ed9eba1,%rax
add    -0x20(%rbp),%rax
mov    %rax,-0x20(%rbp)
mov    -0x30(%rbp),%rax
shl    $0x1e,%rax
mov    -0x30(%rbp),%rcx
shr    $0x2,%rcx
or     %rcx,%rax
mov    %rax,-0x30(%rbp)
mov    -0x20(%rbp),%rax
shl    $0x5,%rax
mov    -0x20(%rbp),%rcx
shr    $0x1b,%rcx
or     %rcx,%rax
mov    -0x28(%rbp),%rcx
xor    -0x30(%rbp),%rcx
xor    -0x38(%rbp),%rcx
add    %rcx,%rax
mov    -0x80(%rbp),%rcx
xor    -0x70(%rbp),%rcx
xor    -0xc0(%rbp),%rcx
xor    -0x98(%rbp),%rcx
shl    $0x1,%rcx
mov    -0x80(%rbp),%rdx
xor    -0x70(%rbp),%rdx
xor    -0xc0(%rbp),%rdx
xor    -0x98(%rbp),%rdx
shr    $0x1f,%rdx
or     %rdx,%rcx
mov    %rcx,-0x80(%rbp)
add    %rcx,%rax
add    $0x6ed9eba1,%rax
add    -0x18(%rbp),%rax
mov    %rax,-0x18(%rbp)
mov    -0x28(%rbp),%rax
shl    $0x1e,%rax
mov    -0x28(%rbp),%rcx
shr    $0x2,%rcx
or     %rcx,%rax
mov    %rax,-0x28(%rbp)
mov    -0x18(%rbp),%rax
shl    $0x5,%rax
mov    -0x18(%rbp),%rcx
shr    $0x1b,%rcx
or     %rcx,%rax
mov    -0x20(%rbp),%rcx
xor    -0x28(%rbp),%rcx
xor    -0x30(%rbp),%rcx
add    %rcx,%rax
mov    -0x78(%rbp),%rcx
xor    -0x68(%rbp),%rcx
xor    -0xb8(%rbp),%rcx
xor    -0x90(%rbp),%rcx
shl    $0x1,%rcx
mov    -0x78(%rbp),%rdx
xor    -0x68(%rbp),%rdx
xor    -0xb8(%rbp),%rdx
xor    -0x90(%rbp),%rdx
shr    $0x1f,%rdx
or     %rdx,%rcx
mov    %rcx,-0x78(%rbp)
add    %rcx,%rax
add    $0x6ed9eba1,%rax
add    -0x38(%rbp),%rax
mov    %rax,-0x38(%rbp)
mov    -0x20(%rbp),%rax
shl    $0x1e,%rax
mov    -0x20(%rbp),%rcx
shr    $0x2,%rcx
or     %rcx,%rax
mov    %rax,-0x20(%rbp)
mov    -0x38(%rbp),%rax
shl    $0x5,%rax
mov    -0x38(%rbp),%rcx
shr    $0x1b,%rcx
or     %rcx,%rax
mov    -0x18(%rbp),%rcx
xor    -0x20(%rbp),%rcx
xor    -0x28(%rbp),%rcx
add    %rcx,%rax
mov    -0x70(%rbp),%rcx
xor    -0x60(%rbp),%rcx
xor    -0xb0(%rbp),%rcx
xor    -0x88(%rbp),%rcx
shl    $0x1,%rcx
mov    -0x70(%rbp),%rdx
xor    -0x60(%rbp),%rdx
xor    -0xb0(%rbp),%rdx
xor    -0x88(%rbp),%rdx
shr    $0x1f,%rdx
or     %rdx,%rcx
mov    %rcx,-0x70(%rbp)
add    %rcx,%rax
add    $0x6ed9eba1,%rax
add    -0x30(%rbp),%rax
mov    %rax,-0x30(%rbp)
mov    -0x18(%rbp),%rax
shl    $0x1e,%rax
mov    -0x18(%rbp),%rcx
shr    $0x2,%rcx
or     %rcx,%rax
mov    %rax,-0x18(%rbp)
mov    -0x30(%rbp),%rax
shl    $0x5,%rax
mov    -0x30(%rbp),%rcx
shr    $0x1b,%rcx
or     %rcx,%rax
mov    -0x38(%rbp),%rcx
xor    -0x18(%rbp),%rcx
xor    -0x20(%rbp),%rcx
add    %rcx,%rax
mov    -0x68(%rbp),%rcx
xor    -0x58(%rbp),%rcx
xor    -0xa8(%rbp),%rcx
xor    -0x80(%rbp),%rcx
shl    $0x1,%rcx
mov    -0x68(%rbp),%rdx
xor    -0x58(%rbp),%rdx
xor    -0xa8(%rbp),%rdx
xor    -0x80(%rbp),%rdx
shr    $0x1f,%rdx
or     %rdx,%rcx
mov    %rcx,-0x68(%rbp)
add    %rcx,%rax
add    $0x6ed9eba1,%rax
add    -0x28(%rbp),%rax
mov    %rax,-0x28(%rbp)
mov    -0x38(%rbp),%rax
shl    $0x1e,%rax
mov    -0x38(%rbp),%rcx
shr    $0x2,%rcx
or     %rcx,%rax
mov    %rax,-0x38(%rbp)
mov    -0x28(%rbp),%rax
shl    $0x5,%rax
mov    -0x28(%rbp),%rcx
shr    $0x1b,%rcx
or     %rcx,%rax
mov    -0x30(%rbp),%rcx
xor    -0x38(%rbp),%rcx
xor    -0x18(%rbp),%rcx
add    %rcx,%rax
mov    -0x60(%rbp),%rcx
xor    -0x50(%rbp),%rcx
xor    -0xa0(%rbp),%rcx
xor    -0x78(%rbp),%rcx
shl    $0x1,%rcx
mov    -0x60(%rbp),%rdx
xor    -0x50(%rbp),%rdx
xor    -0xa0(%rbp),%rdx
xor    -0x78(%rbp),%rdx
shr    $0x1f,%rdx
or     %rdx,%rcx
mov    %rcx,-0x60(%rbp)
add    %rcx,%rax
add    $0x6ed9eba1,%rax
add    -0x20(%rbp),%rax
mov    %rax,-0x20(%rbp)
mov    -0x30(%rbp),%rax
shl    $0x1e,%rax
mov    -0x30(%rbp),%rcx
shr    $0x2,%rcx
or     %rcx,%rax
mov    %rax,-0x30(%rbp)
mov    -0x20(%rbp),%rax
shl    $0x5,%rax
mov    -0x20(%rbp),%rcx
shr    $0x1b,%rcx
or     %rcx,%rax
mov    -0x28(%rbp),%rcx
xor    -0x30(%rbp),%rcx
xor    -0x38(%rbp),%rcx
add    %rcx,%rax
mov    -0x58(%rbp),%rcx
xor    -0x48(%rbp),%rcx
xor    -0x98(%rbp),%rcx
xor    -0x70(%rbp),%rcx
shl    $0x1,%rcx
mov    -0x58(%rbp),%rdx
xor    -0x48(%rbp),%rdx
xor    -0x98(%rbp),%rdx
xor    -0x70(%rbp),%rdx
shr    $0x1f,%rdx
or     %rdx,%rcx
mov    %rcx,-0x58(%rbp)
add    %rcx,%rax
add    $0x6ed9eba1,%rax
add    -0x18(%rbp),%rax
mov    %rax,-0x18(%rbp)
mov    -0x28(%rbp),%rax
shl    $0x1e,%rax
mov    -0x28(%rbp),%rcx
shr    $0x2,%rcx
or     %rcx,%rax
mov    %rax,-0x28(%rbp)
mov    -0x18(%rbp),%rax
shl    $0x5,%rax
mov    -0x18(%rbp),%rcx
shr    $0x1b,%rcx
or     %rcx,%rax
mov    -0x20(%rbp),%rcx
xor    -0x28(%rbp),%rcx
xor    -0x30(%rbp),%rcx
add    %rcx,%rax
mov    -0x50(%rbp),%rcx
xor    -0xc0(%rbp),%rcx
xor    -0x90(%rbp),%rcx
xor    -0x68(%rbp),%rcx
shl    $0x1,%rcx
mov    -0x50(%rbp),%rdx
xor    -0xc0(%rbp),%rdx
xor    -0x90(%rbp),%rdx
xor    -0x68(%rbp),%rdx
shr    $0x1f,%rdx
or     %rdx,%rcx
mov    %rcx,-0x50(%rbp)
add    %rcx,%rax
add    $0x6ed9eba1,%rax
add    -0x38(%rbp),%rax
mov    %rax,-0x38(%rbp)
mov    -0x20(%rbp),%rax
shl    $0x1e,%rax
mov    -0x20(%rbp),%rcx
shr    $0x2,%rcx
or     %rcx,%rax
mov    %rax,-0x20(%rbp)
mov    -0x38(%rbp),%rax
shl    $0x5,%rax
mov    -0x38(%rbp),%rcx
shr    $0x1b,%rcx
or     %rcx,%rax
mov    -0x18(%rbp),%rcx
xor    -0x20(%rbp),%rcx
xor    -0x28(%rbp),%rcx
add    %rcx,%rax
mov    -0x48(%rbp),%rcx
xor    -0xb8(%rbp),%rcx
xor    -0x88(%rbp),%rcx
xor    -0x60(%rbp),%rcx
shl    $0x1,%rcx
mov    -0x48(%rbp),%rdx
xor    -0xb8(%rbp),%rdx
xor    -0x88(%rbp),%rdx
xor    -0x60(%rbp),%rdx
shr    $0x1f,%rdx
or     %rdx,%rcx
mov    %rcx,-0x48(%rbp)
add    %rcx,%rax
add    $0x6ed9eba1,%rax
add    -0x30(%rbp),%rax
mov    %rax,-0x30(%rbp)
mov    -0x18(%rbp),%rax
shl    $0x1e,%rax
mov    -0x18(%rbp),%rcx
shr    $0x2,%rcx
or     %rcx,%rax
mov    %rax,-0x18(%rbp)
mov    -0x30(%rbp),%rax
shl    $0x5,%rax
mov    -0x30(%rbp),%rcx
shr    $0x1b,%rcx
or     %rcx,%rax
mov    -0x38(%rbp),%rcx
xor    -0x18(%rbp),%rcx
xor    -0x20(%rbp),%rcx
add    %rcx,%rax
mov    -0xc0(%rbp),%rcx
xor    -0xb0(%rbp),%rcx
xor    -0x80(%rbp),%rcx
xor    -0x58(%rbp),%rcx
shl    $0x1,%rcx
mov    -0xc0(%rbp),%rdx
xor    -0xb0(%rbp),%rdx
xor    -0x80(%rbp),%rdx
xor    -0x58(%rbp),%rdx
shr    $0x1f,%rdx
or     %rdx,%rcx
mov    %rcx,-0xc0(%rbp)
add    %rcx,%rax
add    $0x6ed9eba1,%rax
add    -0x28(%rbp),%rax
mov    %rax,-0x28(%rbp)
mov    -0x38(%rbp),%rax
shl    $0x1e,%rax
mov    -0x38(%rbp),%rcx
shr    $0x2,%rcx
or     %rcx,%rax
mov    %rax,-0x38(%rbp)
mov    -0x28(%rbp),%rax
shl    $0x5,%rax
mov    -0x28(%rbp),%rcx
shr    $0x1b,%rcx
or     %rcx,%rax
mov    -0x30(%rbp),%rcx
xor    -0x38(%rbp),%rcx
xor    -0x18(%rbp),%rcx
add    %rcx,%rax
mov    -0xb8(%rbp),%rcx
xor    -0xa8(%rbp),%rcx
xor    -0x78(%rbp),%rcx
xor    -0x50(%rbp),%rcx
shl    $0x1,%rcx
mov    -0xb8(%rbp),%rdx
xor    -0xa8(%rbp),%rdx
xor    -0x78(%rbp),%rdx
xor    -0x50(%rbp),%rdx
shr    $0x1f,%rdx
or     %rdx,%rcx
mov    %rcx,-0xb8(%rbp)
add    %rcx,%rax
add    $0x6ed9eba1,%rax
add    -0x20(%rbp),%rax
mov    %rax,-0x20(%rbp)
mov    -0x30(%rbp),%rax
shl    $0x1e,%rax
mov    -0x30(%rbp),%rcx
shr    $0x2,%rcx
or     %rcx,%rax
mov    %rax,-0x30(%rbp)
mov    -0x20(%rbp),%rax
shl    $0x5,%rax
mov    -0x20(%rbp),%rcx
shr    $0x1b,%rcx
or     %rcx,%rax
mov    -0x28(%rbp),%rcx
xor    -0x30(%rbp),%rcx
xor    -0x38(%rbp),%rcx
add    %rcx,%rax
mov    -0xb0(%rbp),%rcx
xor    -0xa0(%rbp),%rcx
xor    -0x70(%rbp),%rcx
xor    -0x48(%rbp),%rcx
shl    $0x1,%rcx
mov    -0xb0(%rbp),%rdx
xor    -0xa0(%rbp),%rdx
xor    -0x70(%rbp),%rdx
xor    -0x48(%rbp),%rdx
shr    $0x1f,%rdx
or     %rdx,%rcx
mov    %rcx,-0xb0(%rbp)
add    %rcx,%rax
add    $0x6ed9eba1,%rax
add    -0x18(%rbp),%rax
mov    %rax,-0x18(%rbp)
mov    -0x28(%rbp),%rax
shl    $0x1e,%rax
mov    -0x28(%rbp),%rcx
shr    $0x2,%rcx
or     %rcx,%rax
mov    %rax,-0x28(%rbp)
mov    -0x18(%rbp),%rax
shl    $0x5,%rax
mov    -0x18(%rbp),%rcx
shr    $0x1b,%rcx
or     %rcx,%rax
mov    -0x20(%rbp),%rcx
xor    -0x28(%rbp),%rcx
xor    -0x30(%rbp),%rcx
add    %rcx,%rax
mov    -0xa8(%rbp),%rcx
xor    -0x98(%rbp),%rcx
xor    -0x68(%rbp),%rcx
xor    -0xc0(%rbp),%rcx
shl    $0x1,%rcx
mov    -0xa8(%rbp),%rdx
xor    -0x98(%rbp),%rdx
xor    -0x68(%rbp),%rdx
xor    -0xc0(%rbp),%rdx
shr    $0x1f,%rdx
or     %rdx,%rcx
mov    %rcx,-0xa8(%rbp)
add    %rcx,%rax
add    $0x6ed9eba1,%rax
add    -0x38(%rbp),%rax
mov    %rax,-0x38(%rbp)
mov    -0x20(%rbp),%rax
shl    $0x1e,%rax
mov    -0x20(%rbp),%rcx
shr    $0x2,%rcx
or     %rcx,%rax
mov    %rax,-0x20(%rbp)
mov    -0x38(%rbp),%rax
shl    $0x5,%rax
mov    -0x38(%rbp),%rcx
shr    $0x1b,%rcx
or     %rcx,%rax
mov    -0x18(%rbp),%rcx
xor    -0x20(%rbp),%rcx
xor    -0x28(%rbp),%rcx
add    %rcx,%rax
mov    -0xa0(%rbp),%rcx
xor    -0x90(%rbp),%rcx
xor    -0x60(%rbp),%rcx
xor    -0xb8(%rbp),%rcx
shl    $0x1,%rcx
mov    -0xa0(%rbp),%rdx
xor    -0x90(%rbp),%rdx
xor    -0x60(%rbp),%rdx
xor    -0xb8(%rbp),%rdx
shr    $0x1f,%rdx
or     %rdx,%rcx
mov    %rcx,-0xa0(%rbp)
add    %rcx,%rax
add    $0x6ed9eba1,%rax
add    -0x30(%rbp),%rax
mov    %rax,-0x30(%rbp)
mov    -0x18(%rbp),%rax
shl    $0x1e,%rax
mov    -0x18(%rbp),%rcx
shr    $0x2,%rcx
or     %rcx,%rax
mov    %rax,-0x18(%rbp)
mov    -0x30(%rbp),%rax
shl    $0x5,%rax
mov    -0x30(%rbp),%rcx
shr    $0x1b,%rcx
or     %rcx,%rax
mov    -0x38(%rbp),%rcx
xor    -0x18(%rbp),%rcx
xor    -0x20(%rbp),%rcx
add    %rcx,%rax
mov    -0x98(%rbp),%rcx
xor    -0x88(%rbp),%rcx
xor    -0x58(%rbp),%rcx
xor    -0xb0(%rbp),%rcx
shl    $0x1,%rcx
mov    -0x98(%rbp),%rdx
xor    -0x88(%rbp),%rdx
xor    -0x58(%rbp),%rdx
xor    -0xb0(%rbp),%rdx
shr    $0x1f,%rdx
or     %rdx,%rcx
mov    %rcx,-0x98(%rbp)
add    %rcx,%rax
add    $0x6ed9eba1,%rax
add    -0x28(%rbp),%rax
mov    %rax,-0x28(%rbp)
mov    -0x38(%rbp),%rax
shl    $0x1e,%rax
mov    -0x38(%rbp),%rcx
shr    $0x2,%rcx
or     %rcx,%rax
mov    %rax,-0x38(%rbp)
mov    -0x28(%rbp),%rax
shl    $0x5,%rax
mov    -0x28(%rbp),%rcx
shr    $0x1b,%rcx
or     %rcx,%rax
mov    -0x30(%rbp),%rcx
xor    -0x38(%rbp),%rcx
xor    -0x18(%rbp),%rcx
add    %rcx,%rax
mov    -0x90(%rbp),%rcx
xor    -0x80(%rbp),%rcx
xor    -0x50(%rbp),%rcx
xor    -0xa8(%rbp),%rcx
shl    $0x1,%rcx
mov    -0x90(%rbp),%rdx
xor    -0x80(%rbp),%rdx
xor    -0x50(%rbp),%rdx
xor    -0xa8(%rbp),%rdx
shr    $0x1f,%rdx
or     %rdx,%rcx
mov    %rcx,-0x90(%rbp)
add    %rcx,%rax
add    $0x6ed9eba1,%rax
add    -0x20(%rbp),%rax
mov    %rax,-0x20(%rbp)
mov    -0x30(%rbp),%rax
shl    $0x1e,%rax
mov    -0x30(%rbp),%rcx
shr    $0x2,%rcx
or     %rcx,%rax
mov    %rax,-0x30(%rbp)
mov    -0x20(%rbp),%rax
shl    $0x5,%rax
mov    -0x20(%rbp),%rcx
shr    $0x1b,%rcx
or     %rcx,%rax
mov    -0x28(%rbp),%rcx
xor    -0x30(%rbp),%rcx
xor    -0x38(%rbp),%rcx
add    %rcx,%rax
mov    -0x88(%rbp),%rcx
xor    -0x78(%rbp),%rcx
xor    -0x48(%rbp),%rcx
xor    -0xa0(%rbp),%rcx
shl    $0x1,%rcx
mov    -0x88(%rbp),%rdx
xor    -0x78(%rbp),%rdx
xor    -0x48(%rbp),%rdx
xor    -0xa0(%rbp),%rdx
shr    $0x1f,%rdx
or     %rdx,%rcx
mov    %rcx,-0x88(%rbp)
add    %rcx,%rax
add    $0x6ed9eba1,%rax
add    -0x18(%rbp),%rax
mov    %rax,-0x18(%rbp)
mov    -0x28(%rbp),%rax
shl    $0x1e,%rax
mov    -0x28(%rbp),%rcx
shr    $0x2,%rcx
or     %rcx,%rax
mov    %rax,-0x28(%rbp)
mov    -0x18(%rbp),%rax
shl    $0x5,%rax
mov    -0x18(%rbp),%rcx
shr    $0x1b,%rcx
or     %rcx,%rax
mov    -0x20(%rbp),%rcx
mov    -0x28(%rbp),%rdx
or     -0x30(%rbp),%rdx
and    %rdx,%rcx
mov    -0x28(%rbp),%rdx
and    -0x30(%rbp),%rdx
or     %rdx,%rcx
add    %rcx,%rax
mov    -0x80(%rbp),%rcx
xor    -0x70(%rbp),%rcx
xor    -0xc0(%rbp),%rcx
xor    -0x98(%rbp),%rcx
shl    $0x1,%rcx
mov    -0x80(%rbp),%rdx
xor    -0x70(%rbp),%rdx
xor    -0xc0(%rbp),%rdx
xor    -0x98(%rbp),%rdx
shr    $0x1f,%rdx
or     %rdx,%rcx
mov    %rcx,-0x80(%rbp)
add    %rcx,%rax
movabs $0x8f1bbcdc,%rcx
add    %rcx,%rax
add    -0x38(%rbp),%rax
mov    %rax,-0x38(%rbp)
mov    -0x20(%rbp),%rax
shl    $0x1e,%rax
mov    -0x20(%rbp),%rcx
shr    $0x2,%rcx
or     %rcx,%rax
mov    %rax,-0x20(%rbp)
mov    -0x38(%rbp),%rax
shl    $0x5,%rax
mov    -0x38(%rbp),%rcx
shr    $0x1b,%rcx
or     %rcx,%rax
mov    -0x18(%rbp),%rcx
mov    -0x20(%rbp),%rdx
or     -0x28(%rbp),%rdx
and    %rdx,%rcx
mov    -0x20(%rbp),%rdx
and    -0x28(%rbp),%rdx
or     %rdx,%rcx
add    %rcx,%rax
mov    -0x78(%rbp),%rcx
xor    -0x68(%rbp),%rcx
xor    -0xb8(%rbp),%rcx
xor    -0x90(%rbp),%rcx
shl    $0x1,%rcx
mov    -0x78(%rbp),%rdx
xor    -0x68(%rbp),%rdx
xor    -0xb8(%rbp),%rdx
xor    -0x90(%rbp),%rdx
shr    $0x1f,%rdx
or     %rdx,%rcx
mov    %rcx,-0x78(%rbp)
add    %rcx,%rax
movabs $0x8f1bbcdc,%rcx
add    %rcx,%rax
add    -0x30(%rbp),%rax
mov    %rax,-0x30(%rbp)
mov    -0x18(%rbp),%rax
shl    $0x1e,%rax
mov    -0x18(%rbp),%rcx
shr    $0x2,%rcx
or     %rcx,%rax
mov    %rax,-0x18(%rbp)
mov    -0x30(%rbp),%rax
shl    $0x5,%rax
mov    -0x30(%rbp),%rcx
shr    $0x1b,%rcx
or     %rcx,%rax
mov    -0x38(%rbp),%rcx
mov    -0x18(%rbp),%rdx
or     -0x20(%rbp),%rdx
and    %rdx,%rcx
mov    -0x18(%rbp),%rdx
and    -0x20(%rbp),%rdx
or     %rdx,%rcx
add    %rcx,%rax
mov    -0x70(%rbp),%rcx
xor    -0x60(%rbp),%rcx
xor    -0xb0(%rbp),%rcx
xor    -0x88(%rbp),%rcx
shl    $0x1,%rcx
mov    -0x70(%rbp),%rdx
xor    -0x60(%rbp),%rdx
xor    -0xb0(%rbp),%rdx
xor    -0x88(%rbp),%rdx
shr    $0x1f,%rdx
or     %rdx,%rcx
mov    %rcx,-0x70(%rbp)
add    %rcx,%rax
movabs $0x8f1bbcdc,%rcx
add    %rcx,%rax
add    -0x28(%rbp),%rax
mov    %rax,-0x28(%rbp)
mov    -0x38(%rbp),%rax
shl    $0x1e,%rax
mov    -0x38(%rbp),%rcx
shr    $0x2,%rcx
or     %rcx,%rax
mov    %rax,-0x38(%rbp)
mov    -0x28(%rbp),%rax
shl    $0x5,%rax
mov    -0x28(%rbp),%rcx
shr    $0x1b,%rcx
or     %rcx,%rax
mov    -0x30(%rbp),%rcx
mov    -0x38(%rbp),%rdx
or     -0x18(%rbp),%rdx
and    %rdx,%rcx
mov    -0x38(%rbp),%rdx
and    -0x18(%rbp),%rdx
or     %rdx,%rcx
add    %rcx,%rax
mov    -0x68(%rbp),%rcx
xor    -0x58(%rbp),%rcx
xor    -0xa8(%rbp),%rcx
xor    -0x80(%rbp),%rcx
shl    $0x1,%rcx
mov    -0x68(%rbp),%rdx
xor    -0x58(%rbp),%rdx
xor    -0xa8(%rbp),%rdx
xor    -0x80(%rbp),%rdx
shr    $0x1f,%rdx
or     %rdx,%rcx
mov    %rcx,-0x68(%rbp)
add    %rcx,%rax
movabs $0x8f1bbcdc,%rcx
add    %rcx,%rax
add    -0x20(%rbp),%rax
mov    %rax,-0x20(%rbp)
mov    -0x30(%rbp),%rax
shl    $0x1e,%rax
mov    -0x30(%rbp),%rcx
shr    $0x2,%rcx
or     %rcx,%rax
mov    %rax,-0x30(%rbp)
mov    -0x20(%rbp),%rax
shl    $0x5,%rax
mov    -0x20(%rbp),%rcx
shr    $0x1b,%rcx
or     %rcx,%rax
mov    -0x28(%rbp),%rcx
mov    -0x30(%rbp),%rdx
or     -0x38(%rbp),%rdx
and    %rdx,%rcx
mov    -0x30(%rbp),%rdx
and    -0x38(%rbp),%rdx
or     %rdx,%rcx
add    %rcx,%rax
mov    -0x60(%rbp),%rcx
xor    -0x50(%rbp),%rcx
xor    -0xa0(%rbp),%rcx
xor    -0x78(%rbp),%rcx
shl    $0x1,%rcx
mov    -0x60(%rbp),%rdx
xor    -0x50(%rbp),%rdx
xor    -0xa0(%rbp),%rdx
xor    -0x78(%rbp),%rdx
shr    $0x1f,%rdx
or     %rdx,%rcx
mov    %rcx,-0x60(%rbp)
add    %rcx,%rax
movabs $0x8f1bbcdc,%rcx
add    %rcx,%rax
add    -0x18(%rbp),%rax
mov    %rax,-0x18(%rbp)
mov    -0x28(%rbp),%rax
shl    $0x1e,%rax
mov    -0x28(%rbp),%rcx
shr    $0x2,%rcx
or     %rcx,%rax
mov    %rax,-0x28(%rbp)
mov    -0x18(%rbp),%rax
shl    $0x5,%rax
mov    -0x18(%rbp),%rcx
shr    $0x1b,%rcx
or     %rcx,%rax
mov    -0x20(%rbp),%rcx
mov    -0x28(%rbp),%rdx
or     -0x30(%rbp),%rdx
and    %rdx,%rcx
mov    -0x28(%rbp),%rdx
and    -0x30(%rbp),%rdx
or     %rdx,%rcx
add    %rcx,%rax
mov    -0x58(%rbp),%rcx
xor    -0x48(%rbp),%rcx
xor    -0x98(%rbp),%rcx
xor    -0x70(%rbp),%rcx
shl    $0x1,%rcx
mov    -0x58(%rbp),%rdx
xor    -0x48(%rbp),%rdx
xor    -0x98(%rbp),%rdx
xor    -0x70(%rbp),%rdx
shr    $0x1f,%rdx
or     %rdx,%rcx
mov    %rcx,-0x58(%rbp)
add    %rcx,%rax
movabs $0x8f1bbcdc,%rcx
add    %rcx,%rax
add    -0x38(%rbp),%rax
mov    %rax,-0x38(%rbp)
mov    -0x20(%rbp),%rax
shl    $0x1e,%rax
mov    -0x20(%rbp),%rcx
shr    $0x2,%rcx
or     %rcx,%rax
mov    %rax,-0x20(%rbp)
mov    -0x38(%rbp),%rax
shl    $0x5,%rax
mov    -0x38(%rbp),%rcx
shr    $0x1b,%rcx
or     %rcx,%rax
mov    -0x18(%rbp),%rcx
mov    -0x20(%rbp),%rdx
or     -0x28(%rbp),%rdx
and    %rdx,%rcx
mov    -0x20(%rbp),%rdx
and    -0x28(%rbp),%rdx
or     %rdx,%rcx
add    %rcx,%rax
mov    -0x50(%rbp),%rcx
xor    -0xc0(%rbp),%rcx
xor    -0x90(%rbp),%rcx
xor    -0x68(%rbp),%rcx
shl    $0x1,%rcx
mov    -0x50(%rbp),%rdx
xor    -0xc0(%rbp),%rdx
xor    -0x90(%rbp),%rdx
xor    -0x68(%rbp),%rdx
shr    $0x1f,%rdx
or     %rdx,%rcx
mov    %rcx,-0x50(%rbp)
add    %rcx,%rax
movabs $0x8f1bbcdc,%rcx
add    %rcx,%rax
add    -0x30(%rbp),%rax
mov    %rax,-0x30(%rbp)
mov    -0x18(%rbp),%rax
shl    $0x1e,%rax
mov    -0x18(%rbp),%rcx
shr    $0x2,%rcx
or     %rcx,%rax
mov    %rax,-0x18(%rbp)
mov    -0x30(%rbp),%rax
shl    $0x5,%rax
mov    -0x30(%rbp),%rcx
shr    $0x1b,%rcx
or     %rcx,%rax
mov    -0x38(%rbp),%rcx
mov    -0x18(%rbp),%rdx
or     -0x20(%rbp),%rdx
and    %rdx,%rcx
mov    -0x18(%rbp),%rdx
and    -0x20(%rbp),%rdx
or     %rdx,%rcx
add    %rcx,%rax
mov    -0x48(%rbp),%rcx
xor    -0xb8(%rbp),%rcx
xor    -0x88(%rbp),%rcx
xor    -0x60(%rbp),%rcx
shl    $0x1,%rcx
mov    -0x48(%rbp),%rdx
xor    -0xb8(%rbp),%rdx
xor    -0x88(%rbp),%rdx
xor    -0x60(%rbp),%rdx
shr    $0x1f,%rdx
or     %rdx,%rcx
mov    %rcx,-0x48(%rbp)
add    %rcx,%rax
movabs $0x8f1bbcdc,%rcx
add    %rcx,%rax
add    -0x28(%rbp),%rax
mov    %rax,-0x28(%rbp)
mov    -0x38(%rbp),%rax
shl    $0x1e,%rax
mov    -0x38(%rbp),%rcx
shr    $0x2,%rcx
or     %rcx,%rax
mov    %rax,-0x38(%rbp)
mov    -0x28(%rbp),%rax
shl    $0x5,%rax
mov    -0x28(%rbp),%rcx
shr    $0x1b,%rcx
or     %rcx,%rax
mov    -0x30(%rbp),%rcx
mov    -0x38(%rbp),%rdx
or     -0x18(%rbp),%rdx
and    %rdx,%rcx
mov    -0x38(%rbp),%rdx
and    -0x18(%rbp),%rdx
or     %rdx,%rcx
add    %rcx,%rax
mov    -0xc0(%rbp),%rcx
xor    -0xb0(%rbp),%rcx
xor    -0x80(%rbp),%rcx
xor    -0x58(%rbp),%rcx
shl    $0x1,%rcx
mov    -0xc0(%rbp),%rdx
xor    -0xb0(%rbp),%rdx
xor    -0x80(%rbp),%rdx
xor    -0x58(%rbp),%rdx
shr    $0x1f,%rdx
or     %rdx,%rcx
mov    %rcx,-0xc0(%rbp)
add    %rcx,%rax
movabs $0x8f1bbcdc,%rcx
add    %rcx,%rax
add    -0x20(%rbp),%rax
mov    %rax,-0x20(%rbp)
mov    -0x30(%rbp),%rax
shl    $0x1e,%rax
mov    -0x30(%rbp),%rcx
shr    $0x2,%rcx
or     %rcx,%rax
mov    %rax,-0x30(%rbp)
mov    -0x20(%rbp),%rax
shl    $0x5,%rax
mov    -0x20(%rbp),%rcx
shr    $0x1b,%rcx
or     %rcx,%rax
mov    -0x28(%rbp),%rcx
mov    -0x30(%rbp),%rdx
or     -0x38(%rbp),%rdx
and    %rdx,%rcx
mov    -0x30(%rbp),%rdx
and    -0x38(%rbp),%rdx
or     %rdx,%rcx
add    %rcx,%rax
mov    -0xb8(%rbp),%rcx
xor    -0xa8(%rbp),%rcx
xor    -0x78(%rbp),%rcx
xor    -0x50(%rbp),%rcx
shl    $0x1,%rcx
mov    -0xb8(%rbp),%rdx
xor    -0xa8(%rbp),%rdx
xor    -0x78(%rbp),%rdx
xor    -0x50(%rbp),%rdx
shr    $0x1f,%rdx
or     %rdx,%rcx
mov    %rcx,-0xb8(%rbp)
add    %rcx,%rax
movabs $0x8f1bbcdc,%rcx
add    %rcx,%rax
add    -0x18(%rbp),%rax
mov    %rax,-0x18(%rbp)
mov    -0x28(%rbp),%rax
shl    $0x1e,%rax
mov    -0x28(%rbp),%rcx
shr    $0x2,%rcx
or     %rcx,%rax
mov    %rax,-0x28(%rbp)
mov    -0x18(%rbp),%rax
shl    $0x5,%rax
mov    -0x18(%rbp),%rcx
shr    $0x1b,%rcx
or     %rcx,%rax
mov    -0x20(%rbp),%rcx
mov    -0x28(%rbp),%rdx
or     -0x30(%rbp),%rdx
and    %rdx,%rcx
mov    -0x28(%rbp),%rdx
and    -0x30(%rbp),%rdx
or     %rdx,%rcx
add    %rcx,%rax
mov    -0xb0(%rbp),%rcx
xor    -0xa0(%rbp),%rcx
xor    -0x70(%rbp),%rcx
xor    -0x48(%rbp),%rcx
shl    $0x1,%rcx
mov    -0xb0(%rbp),%rdx
xor    -0xa0(%rbp),%rdx
xor    -0x70(%rbp),%rdx
xor    -0x48(%rbp),%rdx
shr    $0x1f,%rdx
or     %rdx,%rcx
mov    %rcx,-0xb0(%rbp)
add    %rcx,%rax
movabs $0x8f1bbcdc,%rcx
add    %rcx,%rax
add    -0x38(%rbp),%rax
mov    %rax,-0x38(%rbp)
mov    -0x20(%rbp),%rax
shl    $0x1e,%rax
mov    -0x20(%rbp),%rcx
shr    $0x2,%rcx
or     %rcx,%rax
mov    %rax,-0x20(%rbp)
mov    -0x38(%rbp),%rax
shl    $0x5,%rax
mov    -0x38(%rbp),%rcx
shr    $0x1b,%rcx
or     %rcx,%rax
mov    -0x18(%rbp),%rcx
mov    -0x20(%rbp),%rdx
or     -0x28(%rbp),%rdx
and    %rdx,%rcx
mov    -0x20(%rbp),%rdx
and    -0x28(%rbp),%rdx
or     %rdx,%rcx
add    %rcx,%rax
mov    -0xa8(%rbp),%rcx
xor    -0x98(%rbp),%rcx
xor    -0x68(%rbp),%rcx
xor    -0xc0(%rbp),%rcx
shl    $0x1,%rcx
mov    -0xa8(%rbp),%rdx
xor    -0x98(%rbp),%rdx
xor    -0x68(%rbp),%rdx
xor    -0xc0(%rbp),%rdx
shr    $0x1f,%rdx
or     %rdx,%rcx
mov    %rcx,-0xa8(%rbp)
add    %rcx,%rax
movabs $0x8f1bbcdc,%rcx
add    %rcx,%rax
add    -0x30(%rbp),%rax
mov    %rax,-0x30(%rbp)
mov    -0x18(%rbp),%rax
shl    $0x1e,%rax
mov    -0x18(%rbp),%rcx
shr    $0x2,%rcx
or     %rcx,%rax
mov    %rax,-0x18(%rbp)
mov    -0x30(%rbp),%rax
shl    $0x5,%rax
mov    -0x30(%rbp),%rcx
shr    $0x1b,%rcx
or     %rcx,%rax
mov    -0x38(%rbp),%rcx
mov    -0x18(%rbp),%rdx
or     -0x20(%rbp),%rdx
and    %rdx,%rcx
mov    -0x18(%rbp),%rdx
and    -0x20(%rbp),%rdx
or     %rdx,%rcx
add    %rcx,%rax
mov    -0xa0(%rbp),%rcx
xor    -0x90(%rbp),%rcx
xor    -0x60(%rbp),%rcx
xor    -0xb8(%rbp),%rcx
shl    $0x1,%rcx
mov    -0xa0(%rbp),%rdx
xor    -0x90(%rbp),%rdx
xor    -0x60(%rbp),%rdx
xor    -0xb8(%rbp),%rdx
shr    $0x1f,%rdx
or     %rdx,%rcx
mov    %rcx,-0xa0(%rbp)
add    %rcx,%rax
movabs $0x8f1bbcdc,%rcx
add    %rcx,%rax
add    -0x28(%rbp),%rax
mov    %rax,-0x28(%rbp)
mov    -0x38(%rbp),%rax
shl    $0x1e,%rax
mov    -0x38(%rbp),%rcx
shr    $0x2,%rcx
or     %rcx,%rax
mov    %rax,-0x38(%rbp)
mov    -0x28(%rbp),%rax
shl    $0x5,%rax
mov    -0x28(%rbp),%rcx
shr    $0x1b,%rcx
or     %rcx,%rax
mov    -0x30(%rbp),%rcx
mov    -0x38(%rbp),%rdx
or     -0x18(%rbp),%rdx
and    %rdx,%rcx
mov    -0x38(%rbp),%rdx
and    -0x18(%rbp),%rdx
or     %rdx,%rcx
add    %rcx,%rax
mov    -0x98(%rbp),%rcx
xor    -0x88(%rbp),%rcx
xor    -0x58(%rbp),%rcx
xor    -0xb0(%rbp),%rcx
shl    $0x1,%rcx
mov    -0x98(%rbp),%rdx
xor    -0x88(%rbp),%rdx
xor    -0x58(%rbp),%rdx
xor    -0xb0(%rbp),%rdx
shr    $0x1f,%rdx
or     %rdx,%rcx
mov    %rcx,-0x98(%rbp)
add    %rcx,%rax
movabs $0x8f1bbcdc,%rcx
add    %rcx,%rax
add    -0x20(%rbp),%rax
mov    %rax,-0x20(%rbp)
mov    -0x30(%rbp),%rax
shl    $0x1e,%rax
mov    -0x30(%rbp),%rcx
shr    $0x2,%rcx
or     %rcx,%rax
mov    %rax,-0x30(%rbp)
mov    -0x20(%rbp),%rax
shl    $0x5,%rax
mov    -0x20(%rbp),%rcx
shr    $0x1b,%rcx
or     %rcx,%rax
mov    -0x28(%rbp),%rcx
mov    -0x30(%rbp),%rdx
or     -0x38(%rbp),%rdx
and    %rdx,%rcx
mov    -0x30(%rbp),%rdx
and    -0x38(%rbp),%rdx
or     %rdx,%rcx
add    %rcx,%rax
mov    -0x90(%rbp),%rcx
xor    -0x80(%rbp),%rcx
xor    -0x50(%rbp),%rcx
xor    -0xa8(%rbp),%rcx
shl    $0x1,%rcx
mov    -0x90(%rbp),%rdx
xor    -0x80(%rbp),%rdx
xor    -0x50(%rbp),%rdx
xor    -0xa8(%rbp),%rdx
shr    $0x1f,%rdx
or     %rdx,%rcx
mov    %rcx,-0x90(%rbp)
add    %rcx,%rax
movabs $0x8f1bbcdc,%rcx
add    %rcx,%rax
add    -0x18(%rbp),%rax
mov    %rax,-0x18(%rbp)
mov    -0x28(%rbp),%rax
shl    $0x1e,%rax
mov    -0x28(%rbp),%rcx
shr    $0x2,%rcx
or     %rcx,%rax
mov    %rax,-0x28(%rbp)
mov    -0x18(%rbp),%rax
shl    $0x5,%rax
mov    -0x18(%rbp),%rcx
shr    $0x1b,%rcx
or     %rcx,%rax
mov    -0x20(%rbp),%rcx
mov    -0x28(%rbp),%rdx
or     -0x30(%rbp),%rdx
and    %rdx,%rcx
mov    -0x28(%rbp),%rdx
and    -0x30(%rbp),%rdx
or     %rdx,%rcx
add    %rcx,%rax
mov    -0x88(%rbp),%rcx
xor    -0x78(%rbp),%rcx
xor    -0x48(%rbp),%rcx
xor    -0xa0(%rbp),%rcx
shl    $0x1,%rcx
mov    -0x88(%rbp),%rdx
xor    -0x78(%rbp),%rdx
xor    -0x48(%rbp),%rdx
xor    -0xa0(%rbp),%rdx
shr    $0x1f,%rdx
or     %rdx,%rcx
mov    %rcx,-0x88(%rbp)
add    %rcx,%rax
movabs $0x8f1bbcdc,%rcx
add    %rcx,%rax
add    -0x38(%rbp),%rax
mov    %rax,-0x38(%rbp)
mov    -0x20(%rbp),%rax
shl    $0x1e,%rax
mov    -0x20(%rbp),%rcx
shr    $0x2,%rcx
or     %rcx,%rax
mov    %rax,-0x20(%rbp)
mov    -0x38(%rbp),%rax
shl    $0x5,%rax
mov    -0x38(%rbp),%rcx
shr    $0x1b,%rcx
or     %rcx,%rax
mov    -0x18(%rbp),%rcx
mov    -0x20(%rbp),%rdx
or     -0x28(%rbp),%rdx
and    %rdx,%rcx
mov    -0x20(%rbp),%rdx
and    -0x28(%rbp),%rdx
or     %rdx,%rcx
add    %rcx,%rax
mov    -0x80(%rbp),%rcx
xor    -0x70(%rbp),%rcx
xor    -0xc0(%rbp),%rcx
xor    -0x98(%rbp),%rcx
shl    $0x1,%rcx
mov    -0x80(%rbp),%rdx
xor    -0x70(%rbp),%rdx
xor    -0xc0(%rbp),%rdx
xor    -0x98(%rbp),%rdx
shr    $0x1f,%rdx
or     %rdx,%rcx
mov    %rcx,-0x80(%rbp)
add    %rcx,%rax
movabs $0x8f1bbcdc,%rcx
add    %rcx,%rax
add    -0x30(%rbp),%rax
mov    %rax,-0x30(%rbp)
mov    -0x18(%rbp),%rax
shl    $0x1e,%rax
mov    -0x18(%rbp),%rcx
shr    $0x2,%rcx
or     %rcx,%rax
mov    %rax,-0x18(%rbp)
mov    -0x30(%rbp),%rax
shl    $0x5,%rax
mov    -0x30(%rbp),%rcx
shr    $0x1b,%rcx
or     %rcx,%rax
mov    -0x38(%rbp),%rcx
mov    -0x18(%rbp),%rdx
or     -0x20(%rbp),%rdx
and    %rdx,%rcx
mov    -0x18(%rbp),%rdx
and    -0x20(%rbp),%rdx
or     %rdx,%rcx
add    %rcx,%rax
mov    -0x78(%rbp),%rcx
xor    -0x68(%rbp),%rcx
xor    -0xb8(%rbp),%rcx
xor    -0x90(%rbp),%rcx
shl    $0x1,%rcx
mov    -0x78(%rbp),%rdx
xor    -0x68(%rbp),%rdx
xor    -0xb8(%rbp),%rdx
xor    -0x90(%rbp),%rdx
shr    $0x1f,%rdx
or     %rdx,%rcx
mov    %rcx,-0x78(%rbp)
add    %rcx,%rax
movabs $0x8f1bbcdc,%rcx
add    %rcx,%rax
add    -0x28(%rbp),%rax
mov    %rax,-0x28(%rbp)
mov    -0x38(%rbp),%rax
shl    $0x1e,%rax
mov    -0x38(%rbp),%rcx
shr    $0x2,%rcx
or     %rcx,%rax
mov    %rax,-0x38(%rbp)
mov    -0x28(%rbp),%rax
shl    $0x5,%rax
mov    -0x28(%rbp),%rcx
shr    $0x1b,%rcx
or     %rcx,%rax
mov    -0x30(%rbp),%rcx
mov    -0x38(%rbp),%rdx
or     -0x18(%rbp),%rdx
and    %rdx,%rcx
mov    -0x38(%rbp),%rdx
and    -0x18(%rbp),%rdx
or     %rdx,%rcx
add    %rcx,%rax
mov    -0x70(%rbp),%rcx
xor    -0x60(%rbp),%rcx
xor    -0xb0(%rbp),%rcx
xor    -0x88(%rbp),%rcx
shl    $0x1,%rcx
mov    -0x70(%rbp),%rdx
xor    -0x60(%rbp),%rdx
xor    -0xb0(%rbp),%rdx
xor    -0x88(%rbp),%rdx
shr    $0x1f,%rdx
or     %rdx,%rcx
mov    %rcx,-0x70(%rbp)
add    %rcx,%rax
movabs $0x8f1bbcdc,%rcx
add    %rcx,%rax
add    -0x20(%rbp),%rax
mov    %rax,-0x20(%rbp)
mov    -0x30(%rbp),%rax
shl    $0x1e,%rax
mov    -0x30(%rbp),%rcx
shr    $0x2,%rcx
or     %rcx,%rax
mov    %rax,-0x30(%rbp)
mov    -0x20(%rbp),%rax
shl    $0x5,%rax
mov    -0x20(%rbp),%rcx
shr    $0x1b,%rcx
or     %rcx,%rax
mov    -0x28(%rbp),%rcx
mov    -0x30(%rbp),%rdx
or     -0x38(%rbp),%rdx
and    %rdx,%rcx
mov    -0x30(%rbp),%rdx
and    -0x38(%rbp),%rdx
or     %rdx,%rcx
add    %rcx,%rax
mov    -0x68(%rbp),%rcx
xor    -0x58(%rbp),%rcx
xor    -0xa8(%rbp),%rcx
xor    -0x80(%rbp),%rcx
shl    $0x1,%rcx
mov    -0x68(%rbp),%rdx
xor    -0x58(%rbp),%rdx
xor    -0xa8(%rbp),%rdx
xor    -0x80(%rbp),%rdx
shr    $0x1f,%rdx
or     %rdx,%rcx
mov    %rcx,-0x68(%rbp)
add    %rcx,%rax
movabs $0x8f1bbcdc,%rcx
add    %rcx,%rax
add    -0x18(%rbp),%rax
mov    %rax,-0x18(%rbp)
mov    -0x28(%rbp),%rax
shl    $0x1e,%rax
mov    -0x28(%rbp),%rcx
shr    $0x2,%rcx
or     %rcx,%rax
mov    %rax,-0x28(%rbp)
mov    -0x18(%rbp),%rax
shl    $0x5,%rax
mov    -0x18(%rbp),%rcx
shr    $0x1b,%rcx
or     %rcx,%rax
mov    -0x20(%rbp),%rcx
xor    -0x28(%rbp),%rcx
xor    -0x30(%rbp),%rcx
add    %rcx,%rax
mov    -0x60(%rbp),%rcx
xor    -0x50(%rbp),%rcx
xor    -0xa0(%rbp),%rcx
xor    -0x78(%rbp),%rcx
shl    $0x1,%rcx
mov    -0x60(%rbp),%rdx
xor    -0x50(%rbp),%rdx
xor    -0xa0(%rbp),%rdx
xor    -0x78(%rbp),%rdx
shr    $0x1f,%rdx
or     %rdx,%rcx
mov    %rcx,-0x60(%rbp)
add    %rcx,%rax
movabs $0xca62c1d6,%rcx
add    %rcx,%rax
add    -0x38(%rbp),%rax
mov    %rax,-0x38(%rbp)
mov    -0x20(%rbp),%rax
shl    $0x1e,%rax
mov    -0x20(%rbp),%rcx
shr    $0x2,%rcx
or     %rcx,%rax
mov    %rax,-0x20(%rbp)
mov    -0x38(%rbp),%rax
shl    $0x5,%rax
mov    -0x38(%rbp),%rcx
shr    $0x1b,%rcx
or     %rcx,%rax
mov    -0x18(%rbp),%rcx
xor    -0x20(%rbp),%rcx
xor    -0x28(%rbp),%rcx
add    %rcx,%rax
mov    -0x58(%rbp),%rcx
xor    -0x48(%rbp),%rcx
xor    -0x98(%rbp),%rcx
xor    -0x70(%rbp),%rcx
shl    $0x1,%rcx
mov    -0x58(%rbp),%rdx
xor    -0x48(%rbp),%rdx
xor    -0x98(%rbp),%rdx
xor    -0x70(%rbp),%rdx
shr    $0x1f,%rdx
or     %rdx,%rcx
mov    %rcx,-0x58(%rbp)
add    %rcx,%rax
movabs $0xca62c1d6,%rcx
add    %rcx,%rax
add    -0x30(%rbp),%rax
mov    %rax,-0x30(%rbp)
mov    -0x18(%rbp),%rax
shl    $0x1e,%rax
mov    -0x18(%rbp),%rcx
shr    $0x2,%rcx
or     %rcx,%rax
mov    %rax,-0x18(%rbp)
mov    -0x30(%rbp),%rax
shl    $0x5,%rax
mov    -0x30(%rbp),%rcx
shr    $0x1b,%rcx
or     %rcx,%rax
mov    -0x38(%rbp),%rcx
xor    -0x18(%rbp),%rcx
xor    -0x20(%rbp),%rcx
add    %rcx,%rax
mov    -0x50(%rbp),%rcx
xor    -0xc0(%rbp),%rcx
xor    -0x90(%rbp),%rcx
xor    -0x68(%rbp),%rcx
shl    $0x1,%rcx
mov    -0x50(%rbp),%rdx
xor    -0xc0(%rbp),%rdx
xor    -0x90(%rbp),%rdx
xor    -0x68(%rbp),%rdx
shr    $0x1f,%rdx
or     %rdx,%rcx
mov    %rcx,-0x50(%rbp)
add    %rcx,%rax
movabs $0xca62c1d6,%rcx
add    %rcx,%rax
add    -0x28(%rbp),%rax
mov    %rax,-0x28(%rbp)
mov    -0x38(%rbp),%rax
shl    $0x1e,%rax
mov    -0x38(%rbp),%rcx
shr    $0x2,%rcx
or     %rcx,%rax
mov    %rax,-0x38(%rbp)
mov    -0x28(%rbp),%rax
shl    $0x5,%rax
mov    -0x28(%rbp),%rcx
shr    $0x1b,%rcx
or     %rcx,%rax
mov    -0x30(%rbp),%rcx
xor    -0x38(%rbp),%rcx
xor    -0x18(%rbp),%rcx
add    %rcx,%rax
mov    -0x48(%rbp),%rcx
xor    -0xb8(%rbp),%rcx
xor    -0x88(%rbp),%rcx
xor    -0x60(%rbp),%rcx
shl    $0x1,%rcx
mov    -0x48(%rbp),%rdx
xor    -0xb8(%rbp),%rdx
xor    -0x88(%rbp),%rdx
xor    -0x60(%rbp),%rdx
shr    $0x1f,%rdx
or     %rdx,%rcx
mov    %rcx,-0x48(%rbp)
add    %rcx,%rax
movabs $0xca62c1d6,%rcx
add    %rcx,%rax
add    -0x20(%rbp),%rax
mov    %rax,-0x20(%rbp)
mov    -0x30(%rbp),%rax
shl    $0x1e,%rax
mov    -0x30(%rbp),%rcx
shr    $0x2,%rcx
or     %rcx,%rax
mov    %rax,-0x30(%rbp)
mov    -0x20(%rbp),%rax
shl    $0x5,%rax
mov    -0x20(%rbp),%rcx
shr    $0x1b,%rcx
or     %rcx,%rax
mov    -0x28(%rbp),%rcx
xor    -0x30(%rbp),%rcx
xor    -0x38(%rbp),%rcx
add    %rcx,%rax
mov    -0xc0(%rbp),%rcx
xor    -0xb0(%rbp),%rcx
xor    -0x80(%rbp),%rcx
xor    -0x58(%rbp),%rcx
shl    $0x1,%rcx
mov    -0xc0(%rbp),%rdx
xor    -0xb0(%rbp),%rdx
xor    -0x80(%rbp),%rdx
xor    -0x58(%rbp),%rdx
shr    $0x1f,%rdx
or     %rdx,%rcx
mov    %rcx,-0xc0(%rbp)
add    %rcx,%rax
movabs $0xca62c1d6,%rcx
add    %rcx,%rax
add    -0x18(%rbp),%rax
mov    %rax,-0x18(%rbp)
mov    -0x28(%rbp),%rax
shl    $0x1e,%rax
mov    -0x28(%rbp),%rcx
shr    $0x2,%rcx
or     %rcx,%rax
mov    %rax,-0x28(%rbp)
mov    -0x18(%rbp),%rax
shl    $0x5,%rax
mov    -0x18(%rbp),%rcx
shr    $0x1b,%rcx
or     %rcx,%rax
mov    -0x20(%rbp),%rcx
xor    -0x28(%rbp),%rcx
xor    -0x30(%rbp),%rcx
add    %rcx,%rax
mov    -0xb8(%rbp),%rcx
xor    -0xa8(%rbp),%rcx
xor    -0x78(%rbp),%rcx
xor    -0x50(%rbp),%rcx
shl    $0x1,%rcx
mov    -0xb8(%rbp),%rdx
xor    -0xa8(%rbp),%rdx
xor    -0x78(%rbp),%rdx
xor    -0x50(%rbp),%rdx
shr    $0x1f,%rdx
or     %rdx,%rcx
mov    %rcx,-0xb8(%rbp)
add    %rcx,%rax
movabs $0xca62c1d6,%rcx
add    %rcx,%rax
add    -0x38(%rbp),%rax
mov    %rax,-0x38(%rbp)
mov    -0x20(%rbp),%rax
shl    $0x1e,%rax
mov    -0x20(%rbp),%rcx
shr    $0x2,%rcx
or     %rcx,%rax
mov    %rax,-0x20(%rbp)
mov    -0x38(%rbp),%rax
shl    $0x5,%rax
mov    -0x38(%rbp),%rcx
shr    $0x1b,%rcx
or     %rcx,%rax
mov    -0x18(%rbp),%rcx
xor    -0x20(%rbp),%rcx
xor    -0x28(%rbp),%rcx
add    %rcx,%rax
mov    -0xb0(%rbp),%rcx
xor    -0xa0(%rbp),%rcx
xor    -0x70(%rbp),%rcx
xor    -0x48(%rbp),%rcx
shl    $0x1,%rcx
mov    -0xb0(%rbp),%rdx
xor    -0xa0(%rbp),%rdx
xor    -0x70(%rbp),%rdx
xor    -0x48(%rbp),%rdx
shr    $0x1f,%rdx
or     %rdx,%rcx
mov    %rcx,-0xb0(%rbp)
add    %rcx,%rax
movabs $0xca62c1d6,%rcx
add    %rcx,%rax
add    -0x30(%rbp),%rax
mov    %rax,-0x30(%rbp)
mov    -0x18(%rbp),%rax
shl    $0x1e,%rax
mov    -0x18(%rbp),%rcx
shr    $0x2,%rcx
or     %rcx,%rax
mov    %rax,-0x18(%rbp)
mov    -0x30(%rbp),%rax
shl    $0x5,%rax
mov    -0x30(%rbp),%rcx
shr    $0x1b,%rcx
or     %rcx,%rax
mov    -0x38(%rbp),%rcx
xor    -0x18(%rbp),%rcx
xor    -0x20(%rbp),%rcx
add    %rcx,%rax
mov    -0xa8(%rbp),%rcx
xor    -0x98(%rbp),%rcx
xor    -0x68(%rbp),%rcx
xor    -0xc0(%rbp),%rcx
shl    $0x1,%rcx
mov    -0xa8(%rbp),%rdx
xor    -0x98(%rbp),%rdx
xor    -0x68(%rbp),%rdx
xor    -0xc0(%rbp),%rdx
shr    $0x1f,%rdx
or     %rdx,%rcx
mov    %rcx,-0xa8(%rbp)
add    %rcx,%rax
movabs $0xca62c1d6,%rcx
add    %rcx,%rax
add    -0x28(%rbp),%rax
mov    %rax,-0x28(%rbp)
mov    -0x38(%rbp),%rax
shl    $0x1e,%rax
mov    -0x38(%rbp),%rcx
shr    $0x2,%rcx
or     %rcx,%rax
mov    %rax,-0x38(%rbp)
mov    -0x28(%rbp),%rax
shl    $0x5,%rax
mov    -0x28(%rbp),%rcx
shr    $0x1b,%rcx
or     %rcx,%rax
mov    -0x30(%rbp),%rcx
xor    -0x38(%rbp),%rcx
xor    -0x18(%rbp),%rcx
add    %rcx,%rax
mov    -0xa0(%rbp),%rcx
xor    -0x90(%rbp),%rcx
xor    -0x60(%rbp),%rcx
xor    -0xb8(%rbp),%rcx
shl    $0x1,%rcx
mov    -0xa0(%rbp),%rdx
xor    -0x90(%rbp),%rdx
xor    -0x60(%rbp),%rdx
xor    -0xb8(%rbp),%rdx
shr    $0x1f,%rdx
or     %rdx,%rcx
mov    %rcx,-0xa0(%rbp)
add    %rcx,%rax
movabs $0xca62c1d6,%rcx
add    %rcx,%rax
add    -0x20(%rbp),%rax
mov    %rax,-0x20(%rbp)
mov    -0x30(%rbp),%rax
shl    $0x1e,%rax
mov    -0x30(%rbp),%rcx
shr    $0x2,%rcx
or     %rcx,%rax
mov    %rax,-0x30(%rbp)
mov    -0x20(%rbp),%rax
shl    $0x5,%rax
mov    -0x20(%rbp),%rcx
shr    $0x1b,%rcx
or     %rcx,%rax
mov    -0x28(%rbp),%rcx
xor    -0x30(%rbp),%rcx
xor    -0x38(%rbp),%rcx
add    %rcx,%rax
mov    -0x98(%rbp),%rcx
xor    -0x88(%rbp),%rcx
xor    -0x58(%rbp),%rcx
xor    -0xb0(%rbp),%rcx
shl    $0x1,%rcx
mov    -0x98(%rbp),%rdx
xor    -0x88(%rbp),%rdx
xor    -0x58(%rbp),%rdx
xor    -0xb0(%rbp),%rdx
shr    $0x1f,%rdx
or     %rdx,%rcx
mov    %rcx,-0x98(%rbp)
add    %rcx,%rax
movabs $0xca62c1d6,%rcx
add    %rcx,%rax
add    -0x18(%rbp),%rax
mov    %rax,-0x18(%rbp)
mov    -0x28(%rbp),%rax
shl    $0x1e,%rax
mov    -0x28(%rbp),%rcx
shr    $0x2,%rcx
or     %rcx,%rax
mov    %rax,-0x28(%rbp)
mov    -0x18(%rbp),%rax
shl    $0x5,%rax
mov    -0x18(%rbp),%rcx
shr    $0x1b,%rcx
or     %rcx,%rax
mov    -0x20(%rbp),%rcx
xor    -0x28(%rbp),%rcx
xor    -0x30(%rbp),%rcx
add    %rcx,%rax
mov    -0x90(%rbp),%rcx
xor    -0x80(%rbp),%rcx
xor    -0x50(%rbp),%rcx
xor    -0xa8(%rbp),%rcx
shl    $0x1,%rcx
mov    -0x90(%rbp),%rdx
xor    -0x80(%rbp),%rdx
xor    -0x50(%rbp),%rdx
xor    -0xa8(%rbp),%rdx
shr    $0x1f,%rdx
or     %rdx,%rcx
mov    %rcx,-0x90(%rbp)
add    %rcx,%rax
movabs $0xca62c1d6,%rcx
add    %rcx,%rax
add    -0x38(%rbp),%rax
mov    %rax,-0x38(%rbp)
mov    -0x20(%rbp),%rax
shl    $0x1e,%rax
mov    -0x20(%rbp),%rcx
shr    $0x2,%rcx
or     %rcx,%rax
mov    %rax,-0x20(%rbp)
mov    -0x38(%rbp),%rax
shl    $0x5,%rax
mov    -0x38(%rbp),%rcx
shr    $0x1b,%rcx
or     %rcx,%rax
mov    -0x18(%rbp),%rcx
xor    -0x20(%rbp),%rcx
xor    -0x28(%rbp),%rcx
add    %rcx,%rax
mov    -0x88(%rbp),%rcx
xor    -0x78(%rbp),%rcx
xor    -0x48(%rbp),%rcx
xor    -0xa0(%rbp),%rcx
shl    $0x1,%rcx
mov    -0x88(%rbp),%rdx
xor    -0x78(%rbp),%rdx
xor    -0x48(%rbp),%rdx
xor    -0xa0(%rbp),%rdx
shr    $0x1f,%rdx
or     %rdx,%rcx
mov    %rcx,-0x88(%rbp)
add    %rcx,%rax
movabs $0xca62c1d6,%rcx
add    %rcx,%rax
add    -0x30(%rbp),%rax
mov    %rax,-0x30(%rbp)
mov    -0x18(%rbp),%rax
shl    $0x1e,%rax
mov    -0x18(%rbp),%rcx
shr    $0x2,%rcx
or     %rcx,%rax
mov    %rax,-0x18(%rbp)
mov    -0x30(%rbp),%rax
shl    $0x5,%rax
mov    -0x30(%rbp),%rcx
shr    $0x1b,%rcx
or     %rcx,%rax
mov    -0x38(%rbp),%rcx
xor    -0x18(%rbp),%rcx
xor    -0x20(%rbp),%rcx
add    %rcx,%rax
mov    -0x80(%rbp),%rcx
xor    -0x70(%rbp),%rcx
xor    -0xc0(%rbp),%rcx
xor    -0x98(%rbp),%rcx
shl    $0x1,%rcx
mov    -0x80(%rbp),%rdx
xor    -0x70(%rbp),%rdx
xor    -0xc0(%rbp),%rdx
xor    -0x98(%rbp),%rdx
shr    $0x1f,%rdx
or     %rdx,%rcx
mov    %rcx,-0x80(%rbp)
add    %rcx,%rax
movabs $0xca62c1d6,%rcx
add    %rcx,%rax
add    -0x28(%rbp),%rax
mov    %rax,-0x28(%rbp)
mov    -0x38(%rbp),%rax
shl    $0x1e,%rax
mov    -0x38(%rbp),%rcx
shr    $0x2,%rcx
or     %rcx,%rax
mov    %rax,-0x38(%rbp)
mov    -0x28(%rbp),%rax
shl    $0x5,%rax
mov    -0x28(%rbp),%rcx
shr    $0x1b,%rcx
or     %rcx,%rax
mov    -0x30(%rbp),%rcx
xor    -0x38(%rbp),%rcx
xor    -0x18(%rbp),%rcx
add    %rcx,%rax
mov    -0x78(%rbp),%rcx
xor    -0x68(%rbp),%rcx
xor    -0xb8(%rbp),%rcx
xor    -0x90(%rbp),%rcx
shl    $0x1,%rcx
mov    -0x78(%rbp),%rdx
xor    -0x68(%rbp),%rdx
xor    -0xb8(%rbp),%rdx
xor    -0x90(%rbp),%rdx
shr    $0x1f,%rdx
or     %rdx,%rcx
mov    %rcx,-0x78(%rbp)
add    %rcx,%rax
movabs $0xca62c1d6,%rcx
add    %rcx,%rax
add    -0x20(%rbp),%rax
mov    %rax,-0x20(%rbp)
mov    -0x30(%rbp),%rax
shl    $0x1e,%rax
mov    -0x30(%rbp),%rcx
shr    $0x2,%rcx
or     %rcx,%rax
mov    %rax,-0x30(%rbp)
mov    -0x20(%rbp),%rax
shl    $0x5,%rax
mov    -0x20(%rbp),%rcx
shr    $0x1b,%rcx
or     %rcx,%rax
mov    -0x28(%rbp),%rcx
xor    -0x30(%rbp),%rcx
xor    -0x38(%rbp),%rcx
add    %rcx,%rax
mov    -0x70(%rbp),%rcx
xor    -0x60(%rbp),%rcx
xor    -0xb0(%rbp),%rcx
xor    -0x88(%rbp),%rcx
shl    $0x1,%rcx
mov    -0x70(%rbp),%rdx
xor    -0x60(%rbp),%rdx
xor    -0xb0(%rbp),%rdx
xor    -0x88(%rbp),%rdx
shr    $0x1f,%rdx
or     %rdx,%rcx
mov    %rcx,-0x70(%rbp)
add    %rcx,%rax
movabs $0xca62c1d6,%rcx
add    %rcx,%rax
add    -0x18(%rbp),%rax
mov    %rax,-0x18(%rbp)
mov    -0x28(%rbp),%rax
shl    $0x1e,%rax
mov    -0x28(%rbp),%rcx
shr    $0x2,%rcx
or     %rcx,%rax
mov    %rax,-0x28(%rbp)
mov    -0x18(%rbp),%rax
shl    $0x5,%rax
mov    -0x18(%rbp),%rcx
shr    $0x1b,%rcx
or     %rcx,%rax
mov    -0x20(%rbp),%rcx
xor    -0x28(%rbp),%rcx
xor    -0x30(%rbp),%rcx
add    %rcx,%rax
mov    -0x68(%rbp),%rcx
xor    -0x58(%rbp),%rcx
xor    -0xa8(%rbp),%rcx
xor    -0x80(%rbp),%rcx
shl    $0x1,%rcx
mov    -0x68(%rbp),%rdx
xor    -0x58(%rbp),%rdx
xor    -0xa8(%rbp),%rdx
xor    -0x80(%rbp),%rdx
shr    $0x1f,%rdx
or     %rdx,%rcx
mov    %rcx,-0x68(%rbp)
add    %rcx,%rax
movabs $0xca62c1d6,%rcx
add    %rcx,%rax
add    -0x38(%rbp),%rax
mov    %rax,-0x38(%rbp)
mov    -0x20(%rbp),%rax
shl    $0x1e,%rax
mov    -0x20(%rbp),%rcx
shr    $0x2,%rcx
or     %rcx,%rax
mov    %rax,-0x20(%rbp)
mov    -0x38(%rbp),%rax
shl    $0x5,%rax
mov    -0x38(%rbp),%rcx
shr    $0x1b,%rcx
or     %rcx,%rax
mov    -0x18(%rbp),%rcx
xor    -0x20(%rbp),%rcx
xor    -0x28(%rbp),%rcx
add    %rcx,%rax
mov    -0x60(%rbp),%rcx
xor    -0x50(%rbp),%rcx
xor    -0xa0(%rbp),%rcx
xor    -0x78(%rbp),%rcx
shl    $0x1,%rcx
mov    -0x60(%rbp),%rdx
xor    -0x50(%rbp),%rdx
xor    -0xa0(%rbp),%rdx
xor    -0x78(%rbp),%rdx
shr    $0x1f,%rdx
or     %rdx,%rcx
mov    %rcx,-0x60(%rbp)
add    %rcx,%rax
movabs $0xca62c1d6,%rcx
add    %rcx,%rax
add    -0x30(%rbp),%rax
mov    %rax,-0x30(%rbp)
mov    -0x18(%rbp),%rax
shl    $0x1e,%rax
mov    -0x18(%rbp),%rcx
shr    $0x2,%rcx
or     %rcx,%rax
mov    %rax,-0x18(%rbp)
mov    -0x30(%rbp),%rax
shl    $0x5,%rax
mov    -0x30(%rbp),%rcx
shr    $0x1b,%rcx
or     %rcx,%rax
mov    -0x38(%rbp),%rcx
xor    -0x18(%rbp),%rcx
xor    -0x20(%rbp),%rcx
add    %rcx,%rax
mov    -0x58(%rbp),%rcx
xor    -0x48(%rbp),%rcx
xor    -0x98(%rbp),%rcx
xor    -0x70(%rbp),%rcx
shl    $0x1,%rcx
mov    -0x58(%rbp),%rdx
xor    -0x48(%rbp),%rdx
xor    -0x98(%rbp),%rdx
xor    -0x70(%rbp),%rdx
shr    $0x1f,%rdx
or     %rdx,%rcx
mov    %rcx,-0x58(%rbp)
add    %rcx,%rax
movabs $0xca62c1d6,%rcx
add    %rcx,%rax
add    -0x28(%rbp),%rax
mov    %rax,-0x28(%rbp)
mov    -0x38(%rbp),%rax
shl    $0x1e,%rax
mov    -0x38(%rbp),%rcx
shr    $0x2,%rcx
or     %rcx,%rax
mov    %rax,-0x38(%rbp)
mov    -0x28(%rbp),%rax
shl    $0x5,%rax
mov    -0x28(%rbp),%rcx
shr    $0x1b,%rcx
or     %rcx,%rax
mov    -0x30(%rbp),%rcx
xor    -0x38(%rbp),%rcx
xor    -0x18(%rbp),%rcx
add    %rcx,%rax
mov    -0x50(%rbp),%rcx
xor    -0xc0(%rbp),%rcx
xor    -0x90(%rbp),%rcx
xor    -0x68(%rbp),%rcx
shl    $0x1,%rcx
mov    -0x50(%rbp),%rdx
xor    -0xc0(%rbp),%rdx
xor    -0x90(%rbp),%rdx
xor    -0x68(%rbp),%rdx
shr    $0x1f,%rdx
or     %rdx,%rcx
mov    %rcx,-0x50(%rbp)
add    %rcx,%rax
movabs $0xca62c1d6,%rcx
add    %rcx,%rax
add    -0x20(%rbp),%rax
mov    %rax,-0x20(%rbp)
mov    -0x30(%rbp),%rax
shl    $0x1e,%rax
mov    -0x30(%rbp),%rcx
shr    $0x2,%rcx
or     %rcx,%rax
mov    %rax,-0x30(%rbp)
mov    -0x20(%rbp),%rax
shl    $0x5,%rax
mov    -0x20(%rbp),%rcx
shr    $0x1b,%rcx
or     %rcx,%rax
mov    -0x28(%rbp),%rcx
xor    -0x30(%rbp),%rcx
xor    -0x38(%rbp),%rcx
add    %rcx,%rax
mov    -0x48(%rbp),%rcx
xor    -0xb8(%rbp),%rcx
xor    -0x88(%rbp),%rcx
xor    -0x60(%rbp),%rcx
shl    $0x1,%rcx
mov    -0x48(%rbp),%rdx
xor    -0xb8(%rbp),%rdx
xor    -0x88(%rbp),%rdx
xor    -0x60(%rbp),%rdx
shr    $0x1f,%rdx
or     %rdx,%rcx
mov    %rcx,-0x48(%rbp)
add    %rcx,%rax
movabs $0xca62c1d6,%rcx
add    %rcx,%rax
add    -0x18(%rbp),%rax
mov    %rax,-0x18(%rbp)
mov    -0x28(%rbp),%rax
shl    $0x1e,%rax
mov    -0x28(%rbp),%rcx
shr    $0x2,%rcx
or     %rcx,%rax
mov    %rax,-0x28(%rbp)
mov    -0x18(%rbp),%rcx
mov    -0x8(%rbp),%rax
add    (%rax),%rcx
mov    %rcx,(%rax)
mov    -0x20(%rbp),%rcx
mov    -0x8(%rbp),%rax
add    0x8(%rax),%rcx
mov    %rcx,0x8(%rax)
mov    -0x28(%rbp),%rcx
mov    -0x8(%rbp),%rax
add    0x10(%rax),%rcx
mov    %rcx,0x10(%rax)
mov    -0x30(%rbp),%rcx
mov    -0x8(%rbp),%rax
add    0x18(%rax),%rcx
mov    %rcx,0x18(%rax)
mov    -0x38(%rbp),%rcx
mov    -0x8(%rbp),%rax
add    0x20(%rax),%rcx
mov    %rcx,0x20(%rax)
add    $0xc0,%rsp
pop    %rbp
ret

x86 assembly (clang, -O2):
<SHA1_Transform_HC>:
push   %rbp
push   %r15
push   %r14
push   %r13
push   %r12
push   %rbx
sub    $0x30,%rsp
mov    %rdi,0x28(%rsp)
mov    (%rdi),%rbx
mov    0x8(%rdi),%rcx
mov    0x10(%rdi),%r10
mov    %r10,0x8(%rsp)
mov    0x18(%rdi),%rbp
mov    0x20(%rdi),%r9
mov    %r9,0x20(%rsp)
mov    (%rsi),%r13
mov    %rbx,%rax
mov    %rcx,%rdi
shl    $0x1e,%rcx
mov    %rdi,%rdx
mov    %rdi,%r11
mov    %rdi,0x18(%rsp)
shr    $0x2,%rdx
or     %rcx,%rdx
mov    %rdx,%rcx
xor    %r10,%rcx
mov    %rbx,%rdi
and    %rbx,%rcx
mov    %rbx,%r8
mov    %rbx,(%rsp)
shl    $0x5,%rdi
shr    $0x1b,%rax
or     %rdi,%rax
mov    %rbp,%rdi
xor    %r10,%rdi
and    %r11,%rdi
xor    %rbp,%rdi
mov    %rbp,%r11
mov    %rbp,0x10(%rsp)
add    %r9,%rax
add    %r13,%rax
add    %rdi,%rax
add    $0x5a827999,%rax
mov    %rax,%rbp
shl    $0x5,%rbp
mov    %rax,%rdi
shr    $0x1b,%rdi
or     %rbp,%rdi
mov    0x8(%rsi),%rbp
mov    %rbp,-0x80(%rsp)
xor    %r10,%rcx
add    %r11,%rcx
add    %rbp,%rcx
lea    (%rdi,%rcx,1),%r9
add    $0x5a827999,%r9
shl    $0x1e,%r8
shr    $0x2,%rbx
or     %r8,%rbx
mov    %r9,%rdi
shl    $0x5,%rdi
mov    %r9,%rcx
shr    $0x1b,%rcx
or     %rdi,%rcx
mov    %rdx,%rdi
xor    %rbx,%rdi
and    %rax,%rdi
xor    %rdx,%rdi
mov    0x10(%rsi),%r11
add    %r10,%rdi
add    %r11,%rdi
lea    (%rcx,%rdi,1),%rbp
add    $0x5a827999,%rbp
mov    %rax,%rcx
shl    $0x1e,%rcx
shr    $0x2,%rax
or     %rcx,%rax
mov    %rbp,%rcx
shl    $0x5,%rcx
mov    %rbp,%rdi
shr    $0x1b,%rdi
or     %rcx,%rdi
mov    %rax,%rcx
xor    %rbx,%rcx
and    %r9,%rcx
xor    %rbx,%rcx
mov    0x18(%rsi),%r10
add    %r10,%rdx
add    %rcx,%rdx
lea    (%rdi,%rdx,1),%r8
add    $0x5a827999,%r8
mov    %r9,%rcx
shl    $0x1e,%rcx
shr    $0x2,%r9
or     %rcx,%r9
mov    %r8,%rcx
shl    $0x5,%rcx
mov    %r8,%rdx
shr    $0x1b,%rdx
or     %rcx,%rdx
mov    %r9,%rcx
xor    %rax,%rcx
and    %rbp,%rcx
xor    %rax,%rcx
mov    0x20(%rsi),%r14
add    %r14,%rbx
add    %rcx,%rbx
add    %rdx,%rbx
add    $0x5a827999,%rbx
mov    %rbp,%rcx
shl    $0x1e,%rcx
shr    $0x2,%rbp
or     %rcx,%rbp
mov    %rbx,%rcx
shl    $0x5,%rcx
mov    %rbx,%rdx
shr    $0x1b,%rdx
or     %rcx,%rdx
mov    %rbp,%rcx
xor    %r9,%rcx
and    %r8,%rcx
xor    %r9,%rcx
mov    0x28(%rsi),%r12
add    %r12,%rax
add    %rcx,%rax
add    %rax,%rdx
add    $0x5a827999,%rdx
mov    %r8,%rax
shl    $0x1e,%rax
shr    $0x2,%r8
or     %rax,%r8
mov    %rdx,%rax
shl    $0x5,%rax
mov    %rdx,%rcx
shr    $0x1b,%rcx
or     %rax,%rcx
mov    %r8,%rax
xor    %rbp,%rax
and    %rbx,%rax
xor    %rbp,%rax
mov    0x30(%rsi),%r15
add    %r15,%r9
add    %rax,%r9
add    %r9,%rcx
add    $0x5a827999,%rcx
mov    %rbx,%rax
shl    $0x1e,%rax
shr    $0x2,%rbx
or     %rax,%rbx
mov    %rcx,%rax
shl    $0x5,%rax
mov    %rcx,%rdi
shr    $0x1b,%rdi
or     %rax,%rdi
mov    0x38(%rsi),%rsi
mov    %rsi,-0x50(%rsp)
mov    %rbx,%rax
xor    %r8,%rax
and    %rdx,%rax
xor    %r8,%rax
add    %rsi,%rbp
add    %rax,%rbp
lea    (%rdi,%rbp,1),%rax
add    $0x5a827999,%rax
mov    %rdx,%rsi
shl    $0x1e,%rsi
shr    $0x2,%rdx
or     %rsi,%rdx
mov    %rax,%rsi
shl    $0x5,%rsi
mov    %rax,%rdi
shr    $0x1b,%rdi
or     %rsi,%rdi
mov    %rdx,%rsi
xor    %rbx,%rsi
and    %rcx,%rsi
xor    %rbx,%rsi
add    %r8,%rsi
lea    (%rdi,%rsi,1),%r8
add    $0x5a827999,%r8
mov    %rcx,%rdi
shl    $0x1e,%rdi
shr    $0x2,%rcx
or     %rdi,%rcx
mov    %r8,%rdi
shl    $0x5,%rdi
mov    %r8,%rsi
shr    $0x1b,%rsi
or     %rdi,%rsi
mov    %rcx,%rdi
xor    %rdx,%rdi
and    %rax,%rdi
xor    %rdx,%rdi
add    %rbx,%rdi
lea    (%rsi,%rdi,1),%rbx
add    $0x5a827999,%rbx
mov    %rax,%rsi
shl    $0x1e,%rsi
shr    $0x2,%rax
or     %rsi,%rax
mov    %rbx,%rsi
shl    $0x5,%rsi
mov    %rbx,%rdi
shr    $0x1b,%rdi
or     %rsi,%rdi
mov    %rax,%rsi
xor    %rcx,%rsi
and    %r8,%rsi
xor    %rcx,%rsi
add    %rdx,%rsi
lea    (%rdi,%rsi,1),%rbp
add    $0x5a827999,%rbp
mov    %r8,%rdx
shl    $0x1e,%rdx
shr    $0x2,%r8
or     %rdx,%r8
mov    %rbp,%rdx
shl    $0x5,%rdx
mov    %rbp,%rsi
shr    $0x1b,%rsi
or     %rdx,%rsi
mov    %r8,%rdx
xor    %rax,%rdx
and    %rbx,%rdx
xor    %rax,%rdx
add    %rcx,%rdx
lea    (%rsi,%rdx,1),%rcx
add    $0x5a827999,%rcx
mov    %rbx,%rdx
shl    $0x1e,%rdx
shr    $0x2,%rbx
or     %rdx,%rbx
mov    %rcx,%rdx
shl    $0x5,%rdx
mov    %rcx,%rsi
shr    $0x1b,%rsi
or     %rdx,%rsi
mov    %rbx,%rdx
xor    %r8,%rdx
and    %rbp,%rdx
xor    %r8,%rdx
add    %rax,%rdx
add    %rsi,%rdx
add    $0x5a827999,%rdx
mov    %rbp,%rax
shl    $0x1e,%rax
shr    $0x2,%rbp
or     %rax,%rbp
mov    %rdx,%rax
shl    $0x5,%rax
mov    %rdx,%rsi
shr    $0x1b,%rsi
or     %rax,%rsi
mov    %rbp,%rax
xor    %rbx,%rax
and    %rcx,%rax
xor    %rbx,%rax
add    %r8,%rax
add    %rax,%rsi
add    $0x5a827999,%rsi
mov    %rcx,%rax
shl    $0x1e,%rax
shr    $0x2,%rcx
or     %rax,%rcx
mov    %rsi,%rax
shl    $0x5,%rax
mov    %rsi,%rdi
shr    $0x1b,%rdi
or     %rax,%rdi
mov    %rcx,%rax
xor    %rbp,%rax
and    %rdx,%rax
xor    %rbp,%rax
add    %rbx,%rax
lea    (%rdi,%rax,1),%rbx
add    $0x5a827999,%rbx
mov    %rdx,%rax
shl    $0x1e,%rax
shr    $0x2,%rdx
or     %rax,%rdx
mov    %rbx,%rax
shl    $0x5,%rax
mov    %rbx,%rdi
shr    $0x1b,%rdi
or     %rax,%rdi
mov    %rdx,%rax
xor    %rcx,%rax
and    %rsi,%rax
xor    %rcx,%rax
add    %rbp,%rax
lea    (%rdi,%rax,1),%rbp
add    $0x5a827999,%rbp
mov    %rsi,%rdi
shl    $0x1e,%rdi
shr    $0x2,%rsi
or     %rdi,%rsi
mov    %rbp,%rdi
shl    $0x5,%rdi
mov    %rbp,%rax
shr    $0x1b,%rax
or     %rdi,%rax
xor    %r11,%r13
mov    %r13,%rdi
add    %r13,%rdi
shr    $0x1f,%r13
or     %rdi,%r13
mov    %rsi,%rdi
xor    %rdx,%rdi
and    %rbx,%rdi
xor    %rdx,%rdi
add    %r13,%rcx
mov    %r13,%r9
mov    %r13,-0x18(%rsp)
add    %rdi,%rcx
lea    (%rax,%rcx,1),%r13
add    $0x5a827999,%r13
mov    %rbx,%rax
shl    $0x1e,%rax
shr    $0x2,%rbx
or     %rax,%rbx
mov    %r13,%rax
shl    $0x5,%rax
mov    %r13,%rdi
shr    $0x1b,%rdi
or     %rax,%rdi
mov    -0x80(%rsp),%rcx
xor    %r10,%rcx
lea    (%rcx,%rcx,1),%rax
shr    $0x1f,%rcx
or     %rax,%rcx
mov    %rbx,%rax
xor    %rsi,%rax
and    %rbp,%rax
xor    %rsi,%rax
add    %rcx,%rdx
mov    %rcx,-0x80(%rsp)
add    %rax,%rdx
add    %rdi,%rdx
add    $0x5a827999,%rdx
mov    %rbp,%rax
shl    $0x1e,%rax
shr    $0x2,%rbp
or     %rax,%rbp
mov    %rdx,%rax
shl    $0x5,%rax
mov    %rdx,%rdi
shr    $0x1b,%rdi
or     %rax,%rdi
xor    %r14,%r11
lea    (%r11,%r11,1),%rax
shr    $0x1f,%r11
or     %rax,%r11
mov    %rbp,%rax
xor    %rbx,%rax
and    %r13,%rax
xor    %rbx,%rax
add    %r11,%rsi
mov    %r11,-0x58(%rsp)
add    %rax,%rsi
lea    (%rdi,%rsi,1),%r8
add    $0x5a827999,%r8
mov    %r13,%rax
shl    $0x1e,%rax
shr    $0x2,%r13
or     %rax,%r13
mov    %r8,%rax
shl    $0x5,%rax
mov    %r8,%rdi
shr    $0x1b,%rdi
or     %rax,%rdi
xor    %r12,%r10
xor    %r9,%r10
lea    (%r10,%r10,1),%rax
shr    $0x1f,%r10
or     %rax,%r10
mov    %r13,%rax
xor    %rbp,%rax
and    %rdx,%rax
xor    %rbp,%rax
add    %r10,%rbx
mov    %r10,-0x78(%rsp)
add    %rax,%rbx
lea    (%rdi,%rbx,1),%r9
add    $0x5a827999,%r9
mov    %rdx,%rdi
shl    $0x1e,%rdi
shr    $0x2,%rdx
or     %rdi,%rdx
mov    %r9,%rdi
shl    $0x5,%rdi
mov    %r9,%rax
shr    $0x1b,%rax
or     %rdi,%rax
xor    %r15,%r14
xor    %rcx,%r14
lea    (%r14,%r14,1),%rdi
shr    $0x1f,%r14
or     %rdi,%r14
mov    %rdx,%rdi
xor    %r13,%rdi
xor    %r8,%rdi
add    %r14,%rbp
add    %rdi,%rbp
lea    (%rax,%rbp,1),%rbx
add    $0x6ed9eba1,%rbx
mov    %r8,%rax
shl    $0x1e,%rax
shr    $0x2,%r8
or     %rax,%r8
mov    %rbx,%rax
shl    $0x5,%rax
mov    %rbx,%rdi
shr    $0x1b,%rdi
or     %rax,%rdi
mov    -0x50(%rsp),%rsi
xor    %rsi,%r12
xor    %r11,%r12
lea    (%r12,%r12,1),%rax
shr    $0x1f,%r12
or     %rax,%r12
mov    %r8,%rax
xor    %rdx,%rax
xor    %r9,%rax
add    %r12,%r13
add    %rax,%r13
lea    (%rdi,%r13,1),%rcx
add    $0x6ed9eba1,%rcx
mov    %r9,%rax
shl    $0x1e,%rax
shr    $0x2,%r9
or     %rax,%r9
mov    %rcx,%rax
shl    $0x5,%rax
mov    %rcx,%rdi
shr    $0x1b,%rdi
or     %rax,%rdi
xor    %r10,%r15
lea    (%r15,%r15,1),%rax
shr    $0x1f,%r15
or     %rax,%r15
mov    %r9,%rax
xor    %r8,%rax
xor    %rbx,%rax
add    %r15,%rdx
add    %rax,%rdx
add    %rdi,%rdx
add    $0x6ed9eba1,%rdx
mov    %rbx,%rax
shl    $0x1e,%rax
shr    $0x2,%rbx
or     %rax,%rbx
mov    %rdx,%rax
shl    $0x5,%rax
mov    %rdx,%rdi
shr    $0x1b,%rdi
or     %rax,%rdi
mov    %rsi,%r11
xor    %r14,%r11
mov    %r14,%r13
mov    %r14,-0x48(%rsp)
lea    (%r11,%r11,1),%rax
shr    $0x1f,%r11
or     %rax,%r11
mov    %rbx,%rax
xor    %r9,%rax
xor    %rcx,%rax
add    %r11,%r8
mov    %r11,-0x50(%rsp)
add    %rax,%r8
lea    (%rdi,%r8,1),%rsi
add    $0x6ed9eba1,%rsi
mov    %rcx,%rax
shl    $0x1e,%rax
shr    $0x2,%rcx
or     %rax,%rcx
mov    %rsi,%rax
shl    $0x5,%rax
mov    %rsi,%rdi
shr    $0x1b,%rdi
or     %rax,%rdi
mov    %r12,%rbp
mov    %r12,-0x30(%rsp)
xor    -0x18(%rsp),%rbp
mov    %rbp,%rax
add    %rbp,%rax
shr    $0x1f,%rbp
or     %rax,%rbp
mov    %rcx,%rax
xor    %rbx,%rax
xor    %rdx,%rax
add    %rbp,%r9
mov    %rbp,%r10
mov    %rbp,-0x68(%rsp)
add    %rax,%r9
lea    (%rdi,%r9,1),%r8
add    $0x6ed9eba1,%r8
mov    %rdx,%rdi
shl    $0x1e,%rdi
shr    $0x2,%rdx
or     %rdi,%rdx
mov    %r8,%rdi
shl    $0x5,%rdi
mov    %r8,%rax
shr    $0x1b,%rax
or     %rdi,%rax
mov    %r15,%rbp
mov    %r15,%r14
mov    %r15,-0x60(%rsp)
xor    -0x80(%rsp),%rbp
mov    %rbp,%rdi
add    %rbp,%rdi
shr    $0x1f,%rbp
or     %rdi,%rbp
mov    %rdx,%rdi
xor    %rcx,%rdi
xor    %rsi,%rdi
add    %rbp,%rbx
mov    %rbp,%r15
mov    %rbp,-0x38(%rsp)
add    %rdi,%rbx
lea    (%rax,%rbx,1),%r9
add    $0x6ed9eba1,%r9
mov    %rsi,%rax
shl    $0x1e,%rax
shr    $0x2,%rsi
or     %rax,%rsi
mov    %r9,%rax
shl    $0x5,%rax
mov    %r9,%rdi
shr    $0x1b,%rdi
or     %rax,%rdi
mov    %r11,%rbx
xor    -0x58(%rsp),%rbx
lea    (%rbx,%rbx,1),%rax
shr    $0x1f,%rbx
or     %rax,%rbx
mov    %rsi,%rax
xor    %rdx,%rax
xor    %r8,%rax
add    %rbx,%rcx
mov    %rbx,%r11
mov    %rbx,-0x10(%rsp)
add    %rax,%rcx
add    %rdi,%rcx
add    $0x6ed9eba1,%rcx
mov    %r8,%rax
shl    $0x1e,%rax
shr    $0x2,%r8
or     %rax,%r8
mov    %rcx,%rax
shl    $0x5,%rax
mov    %rcx,%rdi
shr    $0x1b,%rdi
or     %rax,%rdi
mov    %r10,%rbx
xor    -0x78(%rsp),%rbx
lea    (%rbx,%rbx,1),%rax
shr    $0x1f,%rbx
or     %rax,%rbx
mov    %r8,%rax
xor    %rsi,%rax
xor    %r9,%rax
add    %rbx,%rdx
mov    %rbx,-0x70(%rsp)
add    %rax,%rdx
add    %rdi,%rdx
add    $0x6ed9eba1,%rdx
mov    %r9,%rax
shl    $0x1e,%rax
shr    $0x2,%r9
or     %rax,%r9
mov    %rdx,%rax
shl    $0x5,%rax
mov    %rdx,%rdi
shr    $0x1b,%rdi
or     %rax,%rdi
xor    %r13,%r15
lea    (%r15,%r15,1),%rax
shr    $0x1f,%r15
or     %rax,%r15
mov    %r9,%rax
xor    %r8,%rax
xor    %rcx,%rax
add    %r15,%rsi
mov    %r15,-0x28(%rsp)
add    %rax,%rsi
add    %rdi,%rsi
add    $0x6ed9eba1,%rsi
mov    %rcx,%rax
shl    $0x1e,%rax
shr    $0x2,%rcx
or     %rax,%rcx
mov    %rsi,%rax
shl    $0x5,%rax
mov    %rsi,%rdi
shr    $0x1b,%rdi
or     %rax,%rdi
mov    %r11,%rbp
xor    %r12,%rbp
mov    %rbp,%rax
add    %rbp,%rax
shr    $0x1f,%rbp
or     %rax,%rbp
mov    %rcx,%rax
xor    %r9,%rax
xor    %rdx,%rax
add    %rbp,%r8
add    %rax,%r8
add    %rdi,%r8
add    $0x6ed9eba1,%r8
mov    %rdx,%rdi
shl    $0x1e,%rdi
shr    $0x2,%rdx
or     %rdi,%rdx
mov    %r8,%rdi
shl    $0x5,%rdi
mov    %r8,%rax
shr    $0x1b,%rax
or     %rdi,%rax
mov    %r14,%r12
mov    -0x18(%rsp),%r11
xor    %r11,%r12
xor    %rbx,%r12
lea    (%r12,%r12,1),%rdi
shr    $0x1f,%r12
or     %rdi,%r12
mov    %rdx,%rdi
xor    %rcx,%rdi
xor    %rsi,%rdi
add    %r12,%r9
mov    %r12,-0x20(%rsp)
add    %rdi,%r9
lea    (%rax,%r9,1),%r10
add    $0x6ed9eba1,%r10
mov    %rsi,%rax
shl    $0x1e,%rax
shr    $0x2,%rsi
or     %rax,%rsi
mov    %r10,%rax
shl    $0x5,%rax
mov    %r10,%rdi
shr    $0x1b,%rdi
or     %rax,%rdi
mov    -0x50(%rsp),%rbx
mov    -0x80(%rsp),%r14
xor    %r14,%rbx
xor    %r15,%rbx
lea    (%rbx,%rbx,1),%rax
shr    $0x1f,%rbx
or     %rax,%rbx
mov    %rsi,%rax
xor    %rdx,%rax
xor    %r8,%rax
add    %rbx,%rcx
mov    %rbx,-0x40(%rsp)
add    %rax,%rcx
lea    (%rdi,%rcx,1),%r9
add    $0x6ed9eba1,%r9
mov    %r8,%rax
shl    $0x1e,%rax
shr    $0x2,%r8
or     %rax,%r8
mov    %r9,%rax
shl    $0x5,%rax
mov    %r9,%rcx
shr    $0x1b,%rcx
or     %rax,%rcx
mov    %r11,%rdi
mov    -0x58(%rsp),%r15
xor    %r15,%rdi
xor    -0x68(%rsp),%rdi
xor    %rbp,%rdi
lea    (%rdi,%rdi,1),%rax
shr    $0x1f,%rdi
or     %rax,%rdi
mov    %r8,%rax
xor    %rsi,%rax
xor    %r10,%rax
add    %rdi,%rdx
mov    %rdi,%r13
mov    %rdi,-0x18(%rsp)
add    %rax,%rdx
lea    (%rcx,%rdx,1),%r11
add    $0x6ed9eba1,%r11
mov    %r10,%rax
shl    $0x1e,%rax
shr    $0x2,%r10
or     %rax,%r10
mov    %r11,%rax
shl    $0x5,%rax
mov    %r11,%rdx
shr    $0x1b,%rdx
or     %rax,%rdx
mov    -0x78(%rsp),%rdi
xor    %rdi,%r14
xor    -0x38(%rsp),%r14
xor    %r12,%r14
lea    (%r14,%r14,1),%rax
shr    $0x1f,%r14
or     %rax,%r14
mov    %r10,%rax
xor    %r8,%rax
xor    %r9,%rax
add    %r14,%rsi
mov    %r14,%r12
mov    %r14,-0x80(%rsp)
add    %rax,%rsi
add    %rsi,%rdx
add    $0x6ed9eba1,%rdx
mov    %r9,%rax
shl    $0x1e,%rax
shr    $0x2,%r9
or     %rax,%r9
mov    %rdx,%rax
shl    $0x5,%rax
mov    %rdx,%rsi
shr    $0x1b,%rsi
or     %rax,%rsi
mov    %r15,%rcx
mov    -0x48(%rsp),%r14
xor    %r14,%rcx
xor    -0x10(%rsp),%rcx
xor    %rbx,%rcx
lea    (%rcx,%rcx,1),%rax
shr    $0x1f,%rcx
or     %rax,%rcx
mov    %r9,%rax
xor    %r10,%rax
xor    %r11,%rax
add    %rcx,%r8
mov    %rcx,%r15
mov    %rcx,-0x58(%rsp)
add    %rax,%r8
add    %rsi,%r8
add    $0x6ed9eba1,%r8
mov    %r11,%rax
shl    $0x1e,%rax
shr    $0x2,%r11
or     %rax,%r11
mov    %r8,%rax
shl    $0x5,%rax
mov    %r8,%rsi
shr    $0x1b,%rsi
or     %rax,%rsi
mov    %rdi,%rcx
mov    -0x30(%rsp),%rdi
xor    %rdi,%rcx
xor    -0x70(%rsp),%rcx
xor    %r13,%rcx
lea    (%rcx,%rcx,1),%rax
shr    $0x1f,%rcx
or     %rax,%rcx
mov    %rcx,-0x78(%rsp)
mov    %r11,%rax
xor    %r9,%rax
xor    %rdx,%rax
add    %rcx,%r10
add    %rax,%r10
lea    (%rsi,%r10,1),%rbx
add    $0x6ed9eba1,%rbx
mov    %rdx,%rax
shl    $0x1e,%rax
shr    $0x2,%rdx
or     %rax,%rdx
mov    %rbx,%rax
shl    $0x5,%rax
mov    %rbx,%rsi
shr    $0x1b,%rsi
or     %rax,%rsi
mov    %r14,%rcx
mov    -0x60(%rsp),%r13
xor    %r13,%rcx
xor    -0x28(%rsp),%rcx
xor    %r12,%rcx
lea    (%rcx,%rcx,1),%rax
shr    $0x1f,%rcx
or     %rax,%rcx
mov    %rcx,-0x48(%rsp)
mov    %rdx,%rax
xor    %r11,%rax
xor    %r8,%rax
add    %rcx,%r9
add    %rax,%r9
lea    (%rsi,%r9,1),%rax
add    $0x6ed9eba1,%rax
mov    %r8,%rsi
shl    $0x1e,%rsi
shr    $0x2,%r8
or     %rsi,%r8
mov    %rax,%rsi
shl    $0x5,%rsi
mov    %rax,%rcx
shr    $0x1b,%rcx
or     %rsi,%rcx
mov    -0x50(%rsp),%r10
xor    %r10,%rdi
xor    %rbp,%rdi
xor    %r15,%rdi
lea    (%rdi,%rdi,1),%rsi
shr    $0x1f,%rdi
or     %rsi,%rdi
mov    %r8,%rsi
xor    %rdx,%rsi
xor    %rbx,%rsi
add    %rdi,%r11
mov    %rdi,%r15
mov    %rdi,-0x30(%rsp)
add    %rsi,%r11
add    %rcx,%r11
add    $0x6ed9eba1,%r11
mov    %rbx,%rcx
shl    $0x1e,%rcx
shr    $0x2,%rbx
or     %rcx,%rbx
mov    %r11,%rcx
shl    $0x5,%rcx
mov    %r11,%r9
shr    $0x1b,%r9
or     %rcx,%r9
mov    %r13,%rsi
mov    -0x68(%rsp),%r13
xor    %r13,%rsi
xor    -0x20(%rsp),%rsi
xor    -0x78(%rsp),%rsi
lea    (%rsi,%rsi,1),%rcx
shr    $0x1f,%rsi
or     %rcx,%rsi
mov    %rsi,-0x60(%rsp)
mov    %rbx,%rcx
xor    %r8,%rcx
xor    %rax,%rcx
add    %rsi,%rdx
add    %rcx,%rdx
lea    (%r9,%rdx,1),%rdi
add    $0x6ed9eba1,%rdi
mov    %rax,%rdx
shl    $0x1e,%rdx
shr    $0x2,%rax
or     %rdx,%rax
mov    %rdi,%rdx
shl    $0x5,%rdx
mov    %rdi,%r9
shr    $0x1b,%r9
or     %rdx,%r9
mov    -0x38(%rsp),%r12
xor    %r12,%r10
xor    -0x40(%rsp),%r10
xor    -0x48(%rsp),%r10
lea    (%r10,%r10,1),%rdx
shr    $0x1f,%r10
or     %rdx,%r10
mov    %rax,%rdx
xor    %rbx,%rdx
xor    %r11,%rdx
add    %r10,%r8
mov    %r10,%rsi
mov    %r10,-0x50(%rsp)
add    %rdx,%r8
lea    (%r9,%r8,1),%r14
add    $0x6ed9eba1,%r14
mov    %r11,%r8
shl    $0x1e,%r8
shr    $0x2,%r11
or     %r8,%r11
mov    %r14,%r8
shl    $0x5,%r8
mov    %r14,%r9
shr    $0x1b,%r9
or     %r8,%r9
mov    %r11,%r8
or     %rax,%r8
and    %rdi,%r8
mov    %r11,%r10
and    %rax,%r10
or     %r8,%r10
mov    -0x10(%rsp),%rdx
xor    %rdx,%r13
xor    -0x18(%rsp),%r13
xor    %r15,%r13
mov    %r13,%r8
add    %r13,%r8
shr    $0x1f,%r13
or     %r8,%r13
mov    %r13,-0x68(%rsp)
add    %r13,%rbx
add    %r10,%rbx
add    %r9,%rbx
mov    %rdi,%r8
shl    $0x1e,%r8
shr    $0x2,%rdi
or     %r8,%rdi
mov    $0x8f1bbcdc,%ecx
add    %rcx,%rbx
mov    $0x8f1bbcdc,%r15d
mov    %rbx,%r8
shl    $0x5,%r8
mov    %rbx,%r9
shr    $0x1b,%r9
or     %r8,%r9
mov    %rdi,%r8
or     %r11,%r8
and    %r14,%r8
mov    %rdi,%r10
and    %r11,%r10
or     %r8,%r10
mov    -0x70(%rsp),%rcx
xor    %rcx,%r12
xor    -0x80(%rsp),%r12
xor    -0x60(%rsp),%r12
lea    (%r12,%r12,1),%r8
shr    $0x1f,%r12
or     %r8,%r12
add    %r12,%rax
mov    %r12,%r13
mov    %r12,-0x38(%rsp)
add    %r10,%rax
add    %r9,%rax
mov    %r14,%r8
shl    $0x1e,%r8
shr    $0x2,%r14
or     %r8,%r14
add    %r15,%rax
mov    %rax,%r8
shl    $0x5,%r8
mov    %rax,%r9
shr    $0x1b,%r9
or     %r8,%r9
mov    %r14,%r8
or     %rdi,%r8
and    %rbx,%r8
mov    %r14,%r10
and    %rdi,%r10
or     %r8,%r10
mov    %rdx,%r12
mov    -0x28(%rsp),%rdx
xor    %rdx,%r12
xor    -0x58(%rsp),%r12
xor    %rsi,%r12
lea    (%r12,%r12,1),%r8
shr    $0x1f,%r12
or     %r8,%r12
add    %r12,%r11
mov    %r12,-0x10(%rsp)
add    %r10,%r11
add    %r9,%r11
mov    %rbx,%r8
shl    $0x1e,%r8
shr    $0x2,%rbx
or     %r8,%rbx
mov    $0x8f1bbcdc,%esi
add    %rsi,%r11
mov    %r11,%r8
shl    $0x5,%r8
mov    %r11,%r9
shr    $0x1b,%r9
or     %r8,%r9
mov    %rbx,%r8
or     %r14,%r8
and    %rax,%r8
mov    %rbx,%r10
and    %r14,%r10
or     %r8,%r10
xor    %rbp,%rcx
xor    -0x78(%rsp),%rcx
xor    -0x68(%rsp),%rcx
lea    (%rcx,%rcx,1),%r8
shr    $0x1f,%rcx
or     %r8,%rcx
add    %rcx,%rdi
mov    %rcx,%rsi
mov    %rcx,-0x70(%rsp)
add    %r10,%rdi
add    %r9,%rdi
mov    %rax,%r8
shl    $0x1e,%r8
shr    $0x2,%rax
or     %r8,%rax
mov    $0x8f1bbcdc,%ecx
add    %rcx,%rdi
mov    %rdi,%r8
shl    $0x5,%r8
mov    %rdi,%r9
shr    $0x1b,%r9
or     %r8,%r9
mov    %rax,%r8
or     %rbx,%r8
and    %r11,%r8
mov    %rax,%r10
and    %rbx,%r10
or     %r8,%r10
mov    -0x20(%rsp),%r15
xor    %r15,%rdx
xor    -0x48(%rsp),%rdx
xor    %r13,%rdx
lea    (%rdx,%rdx,1),%r8
shr    $0x1f,%rdx
or     %r8,%rdx
add    %rdx,%r14
mov    %rdx,%r13
mov    %rdx,-0x28(%rsp)
add    %r10,%r14
add    %r9,%r14
mov    %r11,%r8
shl    $0x1e,%r8
shr    $0x2,%r11
or     %r8,%r11
mov    $0x8f1bbcdc,%edx
add    %rdx,%r14
mov    %r14,%r8
shl    $0x5,%r8
mov    %r14,%r9
shr    $0x1b,%r9
or     %r8,%r9
mov    %r11,%r8
or     %rax,%r8
and    %rdi,%r8
mov    %r11,%r10
and    %rax,%r10
or     %r8,%r10
mov    -0x40(%rsp),%rcx
xor    %rcx,%rbp
xor    -0x30(%rsp),%rbp
xor    %r12,%rbp
mov    %rbp,%r8
add    %rbp,%r8
shr    $0x1f,%rbp
or     %r8,%rbp
add    %rbp,%rbx
add    %r10,%rbx
add    %r9,%rbx
mov    %rdi,%r8
shl    $0x1e,%r8
shr    $0x2,%rdi
or     %r8,%rdi
add    %rdx,%rbx
mov    %rbx,%r8
shl    $0x5,%r8
mov    %rbx,%r9
shr    $0x1b,%r9
or     %r8,%r9
mov    %rdi,%r8
or     %r11,%r8
and    %r14,%r8
mov    %rdi,%r10
and    %r11,%r10
or     %r8,%r10
mov    %r15,%rdx
mov    -0x18(%rsp),%r12
xor    %r12,%rdx
xor    -0x60(%rsp),%rdx
xor    %rsi,%rdx
lea    (%rdx,%rdx,1),%r8
shr    $0x1f,%rdx
or     %r8,%rdx
add    %rdx,%rax
mov    %rdx,%r15
mov    %rdx,-0x20(%rsp)
add    %r10,%rax
add    %r9,%rax
mov    %r14,%r8
shl    $0x1e,%r8
shr    $0x2,%r14
or     %r8,%r14
mov    $0x8f1bbcdc,%edx
add    %rdx,%rax
mov    %rax,%r8
shl    $0x5,%r8
mov    %rax,%r9
shr    $0x1b,%r9
or     %r8,%r9
mov    %r14,%r8
or     %rdi,%r8
and    %rbx,%r8
mov    %r14,%r10
and    %rdi,%r10
or     %r8,%r10
xor    -0x80(%rsp),%rcx
xor    -0x50(%rsp),%rcx
xor    %r13,%rcx
lea    (%rcx,%rcx,1),%r8
shr    $0x1f,%rcx
or     %r8,%rcx
mov    %rcx,-0x40(%rsp)
add    %rcx,%r11
add    %r10,%r11
add    %r9,%r11
mov    %rbx,%r8
shl    $0x1e,%r8
shr    $0x2,%rbx
or     %r8,%rbx
mov    $0x8f1bbcdc,%ecx
add    %rcx,%r11
mov    %r11,%r8
shl    $0x5,%r8
mov    %r11,%r9
shr    $0x1b,%r9
or     %r8,%r9
mov    %rbx,%r8
or     %r14,%r8
and    %rax,%r8
mov    %rbx,%r10
and    %r14,%r10
or     %r8,%r10
mov    %r12,%rdx
mov    -0x58(%rsp),%rsi
xor    %rsi,%rdx
xor    -0x68(%rsp),%rdx
xor    %rbp,%rdx
mov    %rbp,-0x8(%rsp)
lea    (%rdx,%rdx,1),%r8
shr    $0x1f,%rdx
or     %r8,%rdx
add    %rdx,%rdi
mov    %rdx,%r12
mov    %rdx,-0x18(%rsp)
add    %r10,%rdi
add    %r9,%rdi
mov    %rax,%r8
shl    $0x1e,%r8
shr    $0x2,%rax
or     %r8,%rax
add    %rcx,%rdi
mov    $0x8f1bbcdc,%r13d
mov    %rdi,%r8
shl    $0x5,%r8
mov    %rdi,%r9
shr    $0x1b,%r9
or     %r8,%r9
mov    %rax,%r8
or     %rbx,%r8
and    %r11,%r8
mov    %rax,%r10
and    %rbx,%r10
or     %r8,%r10
mov    -0x80(%rsp),%rdx
mov    -0x78(%rsp),%rcx
xor    %rcx,%rdx
xor    -0x38(%rsp),%rdx
xor    %r15,%rdx
lea    (%rdx,%rdx,1),%r8
shr    $0x1f,%rdx
or     %r8,%rdx
mov    %rdx,-0x80(%rsp)
add    %rdx,%r14
add    %r10,%r14
add    %r9,%r14
mov    %r11,%r8
shl    $0x1e,%r8
shr    $0x2,%r11
or     %r8,%r11
add    %r13,%r14
mov    $0x8f1bbcdc,%r15d
mov    %r14,%r8
shl    $0x5,%r8
mov    %r14,%r9
shr    $0x1b,%r9
or     %r8,%r9
mov    %r11,%r8
or     %rax,%r8
and    %rdi,%r8
mov    %r11,%r10
and    %rax,%r10
or     %r8,%r10
mov    %rsi,%rdx
mov    -0x48(%rsp),%rsi
xor    %rsi,%rdx
xor    -0x10(%rsp),%rdx
xor    -0x40(%rsp),%rdx
lea    (%rdx,%rdx,1),%r8
shr    $0x1f,%rdx
or     %r8,%rdx
add    %rdx,%rbx
mov    %rdx,%r13
add    %r10,%rbx
add    %r9,%rbx
mov    %rdi,%r8
shl    $0x1e,%r8
shr    $0x2,%rdi
or     %r8,%rdi
add    %r15,%rbx
mov    %rbx,%r8
shl    $0x5,%r8
mov    %rbx,%r9
shr    $0x1b,%r9
or     %r8,%r9
mov    %rdi,%r8
or     %r11,%r8
and    %r14,%r8
mov    %rdi,%r10
and    %r11,%r10
or     %r8,%r10
mov    -0x30(%rsp),%r15
xor    %r15,%rcx
xor    -0x70(%rsp),%rcx
xor    %r12,%rcx
lea    (%rcx,%rcx,1),%r8
shr    $0x1f,%rcx
or     %r8,%rcx
add    %rcx,%rax
mov    %rcx,%r12
mov    %rcx,-0x78(%rsp)
add    %r10,%rax
add    %r9,%rax
mov    %r14,%r8
shl    $0x1e,%r8
shr    $0x2,%r14
or     %r8,%r14
mov    $0x8f1bbcdc,%edx
add    %rdx,%rax
mov    %rax,%r8
shl    $0x5,%r8
mov    %rax,%r9
shr    $0x1b,%r9
or     %r8,%r9
mov    %r14,%r8
or     %rdi,%r8
and    %rbx,%r8
mov    %r14,%r10
and    %rdi,%r10
or     %r8,%r10
mov    %rsi,%rcx
mov    -0x60(%rsp),%rsi
xor    %rsi,%rcx
xor    -0x28(%rsp),%rcx
xor    -0x80(%rsp),%rcx
lea    (%rcx,%rcx,1),%r8
shr    $0x1f,%rcx
or     %r8,%rcx
mov    %rcx,-0x48(%rsp)
add    %rcx,%r11
add    %r10,%r11
add    %r9,%r11
mov    %rbx,%r8
shl    $0x1e,%r8
shr    $0x2,%rbx
or     %r8,%rbx
add    %rdx,%r11
mov    %r11,%r8
shl    $0x5,%r8
mov    %r11,%r9
shr    $0x1b,%r9
or     %r8,%r9
mov    %rbx,%r8
or     %r14,%r8
and    %rax,%r8
mov    %rbx,%r10
and    %r14,%r10
or     %r8,%r10
mov    -0x50(%rsp),%rcx
xor    %rcx,%r15
xor    %rbp,%r15
mov    %r13,-0x58(%rsp)
xor    %r13,%r15
lea    (%r15,%r15,1),%r8
shr    $0x1f,%r15
or     %r8,%r15
add    %r15,%rdi
mov    %r15,-0x30(%rsp)
add    %r10,%rdi
add    %r9,%rdi
mov    %rax,%r8
shl    $0x1e,%r8
shr    $0x2,%rax
or     %r8,%rax
mov    $0x8f1bbcdc,%edx
add    %rdx,%rdi
mov    %rdi,%r8
shl    $0x5,%r8
mov    %rdi,%r9
shr    $0x1b,%r9
or     %r8,%r9
mov    %rax,%r8
or     %rbx,%r8
and    %r11,%r8
mov    %rax,%r10
and    %rbx,%r10
or     %r8,%r10
mov    -0x68(%rsp),%r13
xor    %r13,%rsi
xor    -0x20(%rsp),%rsi
xor    %r12,%rsi
lea    (%rsi,%rsi,1),%r8
shr    $0x1f,%rsi
or     %r8,%rsi
mov    %rsi,-0x60(%rsp)
add    %rsi,%r14
add    %r10,%r14
add    %r9,%r14
mov    %r11,%r8
shl    $0x1e,%r8
shr    $0x2,%r11
or     %r8,%r11
add    %rdx,%r14
mov    $0x8f1bbcdc,%edx
mov    %r14,%r8
shl    $0x5,%r8
mov    %r14,%r9
shr    $0x1b,%r9
or     %r8,%r9
mov    %r11,%r8
or     %rax,%r8
and    %rdi,%r8
mov    %r11,%r10
and    %rax,%r10
or     %r8,%r10
mov    -0x38(%rsp),%rbp
xor    %rbp,%rcx
xor    -0x40(%rsp),%rcx
xor    -0x48(%rsp),%rcx
lea    (%rcx,%rcx,1),%r8
shr    $0x1f,%rcx
or     %r8,%rcx
mov    %rcx,-0x50(%rsp)
add    %rcx,%rbx
add    %r10,%rbx
add    %r9,%rbx
mov    %rdi,%r8
shl    $0x1e,%r8
shr    $0x2,%rdi
or     %r8,%rdi
add    %rdx,%rbx
mov    $0x8f1bbcdc,%edx
mov    %rbx,%r8
shl    $0x5,%r8
mov    %rbx,%r9
shr    $0x1b,%r9
or     %r8,%r9
mov    %rdi,%r8
or     %r11,%r8
and    %r14,%r8
mov    %rdi,%r10
and    %r11,%r10
or     %r8,%r10
mov    -0x10(%rsp),%rsi
mov    %r13,%rcx
xor    %rsi,%rcx
xor    -0x18(%rsp),%rcx
xor    %r15,%rcx
lea    (%rcx,%rcx,1),%r8
shr    $0x1f,%rcx
or     %r8,%rcx
mov    %rcx,-0x68(%rsp)
add    %rcx,%rax
add    %r10,%rax
add    %r9,%rax
mov    %r14,%r8
shl    $0x1e,%r8
shr    $0x2,%r14
or     %r8,%r14
add    %rdx,%rax
mov    $0x8f1bbcdc,%ecx
mov    %rax,%r8
shl    $0x5,%r8
mov    %rax,%r9
shr    $0x1b,%r9
or     %r8,%r9
mov    %r14,%r8
or     %rdi,%r8
and    %rbx,%r8
mov    %r14,%r10
and    %rdi,%r10
or     %r8,%r10
mov    -0x70(%rsp),%rdx
xor    %rdx,%rbp
xor    -0x80(%rsp),%rbp
xor    -0x60(%rsp),%rbp
mov    %rbp,%r8
add    %rbp,%r8
shr    $0x1f,%rbp
or     %r8,%rbp
add    %rbp,%r11
mov    %rbp,-0x38(%rsp)
add    %r10,%r11
add    %r9,%r11
mov    %rbx,%r8
shl    $0x1e,%r8
shr    $0x2,%rbx
or     %r8,%rbx
add    %rcx,%r11
mov    %r11,%r8
shl    $0x5,%r8
mov    %r11,%r13
shr    $0x1b,%r13
or     %r8,%r13
mov    %rsi,%rcx
mov    -0x28(%rsp),%r10
xor    %r10,%rcx
xor    -0x58(%rsp),%rcx
xor    -0x50(%rsp),%rcx
lea    (%rcx,%rcx,1),%r8
shr    $0x1f,%rcx
or     %r8,%rcx
mov    %rcx,%rsi
mov    %rbx,%r12
or     %r14,%r12
and    %rax,%r12
mov    %rax,%r8
shl    $0x1e,%r8
shr    $0x2,%rax
or     %r8,%rax
mov    %rax,%r15
or     %rbx,%r15
and    %r11,%r15
mov    %r11,%r8
shl    $0x1e,%r8
shr    $0x2,%r11
or     %r8,%r11
xor    -0x20(%rsp),%r10
xor    -0x48(%rsp),%r10
xor    %rbp,%r10
lea    (%r10,%r10,1),%r8
shr    $0x1f,%r10
or     %r8,%r10
mov    %r10,-0x28(%rsp)
mov    -0x8(%rsp),%rcx
xor    %rcx,%rdx
mov    %rdx,-0x70(%rsp)
mov    -0x40(%rsp),%rbp
xor    %rbp,%rcx
xor    -0x30(%rsp),%rcx
mov    %rsi,%rdx
mov    %rsi,-0x10(%rsp)
xor    %rsi,%rcx
lea    (%rcx,%rcx,1),%r8
shr    $0x1f,%rcx
or     %r8,%rcx
mov    %rcx,-0x8(%rsp)
mov    %r11,%rsi
xor    %rax,%rsi
mov    $0x8f1bbcdc,%r9d
lea    (%rcx,%r9,1),%r8
add    $0x3b4704fa,%r8
add    %rax,%r8
and    %rbx,%rax
lea    (%r10,%r9,1),%rcx
add    $0x3b4704fa,%rcx
add    %rbx,%rcx
and    %r14,%rbx
or     %r12,%rbx
add    %rdx,%rdi
add    %rbx,%rdi
add    %r13,%rdi
add    %r9,%rdi
mov    $0x8f1bbcdc,%r12d
mov    %rdi,%r10
shl    $0x5,%r10
mov    %rdi,%rbx
shr    $0x1b,%rbx
or     %r10,%rbx
or     %r15,%rax
mov    -0x70(%rsp),%rdx
xor    -0x78(%rsp),%rdx
xor    -0x68(%rsp),%rdx
lea    (%rdx,%rdx,1),%r9
shr    $0x1f,%rdx
or     %r9,%rdx
add    %rdx,%r14
mov    %rdx,-0x70(%rsp)
add    %rax,%r14
add    %rbx,%r14
add    %r12,%r14
mov    $0x8f1bbcdc,%r15d
mov    %r14,%rax
shl    $0x5,%rax
mov    %r14,%rbx
shr    $0x1b,%rbx
or     %rax,%rbx
xor    %rdi,%rsi
add    %rsi,%rcx
add    %rbx,%rcx
mov    %rdi,%rax
shl    $0x1e,%rax
shr    $0x2,%rdi
or     %rax,%rdi
mov    %rcx,%rax
shl    $0x5,%rax
mov    %rcx,%rsi
shr    $0x1b,%rsi
or     %rax,%rsi
mov    %rdi,%rax
xor    %r11,%rax
xor    %r14,%rax
add    %rax,%r8
add    %rsi,%r8
mov    %r14,%rax
shl    $0x1e,%rax
shr    $0x2,%r14
or     %rax,%r14
mov    %r8,%rax
shl    $0x5,%rax
mov    %r8,%rsi
shr    $0x1b,%rsi
or     %rax,%rsi
mov    -0x20(%rsp),%r12
mov    -0x18(%rsp),%r10
xor    %r10,%r12
xor    -0x60(%rsp),%r12
xor    %rdx,%r12
lea    (%r12,%r12,1),%rax
shr    $0x1f,%r12
or     %rax,%r12
lea    (%r12,%r15,1),%rax
add    $0x3b4704fa,%rax
mov    $0x8f1bbcdc,%r9d
mov    %r12,-0x20(%rsp)
add    %r11,%rax
mov    %r14,%rdx
xor    %rdi,%rdx
xor    %rcx,%rdx
add    %rdx,%rax
add    %rsi,%rax
mov    %rcx,%rdx
shl    $0x1e,%rdx
shr    $0x2,%rcx
or     %rdx,%rcx
mov    %rax,%rdx
shl    $0x5,%rdx
mov    %rax,%rsi
shr    $0x1b,%rsi
or     %rdx,%rsi
mov    -0x80(%rsp),%r15
xor    %r15,%rbp
xor    -0x50(%rsp),%rbp
xor    -0x28(%rsp),%rbp
mov    %rbp,%rdx
add    %rbp,%rdx
shr    $0x1f,%rbp
or     %rdx,%rbp
mov    %rbp,-0x40(%rsp)
add    %rbp,%r9
add    $0x3b4704fa,%r9
mov    $0x8f1bbcdc,%r13d
add    %rdi,%r9
mov    %rcx,%rdx
xor    %r14,%rdx
xor    %r8,%rdx
add    %rdx,%r9
add    %rsi,%r9
mov    %r8,%rdx
shl    $0x1e,%rdx
shr    $0x2,%r8
or     %rdx,%r8
mov    %r9,%rdx
shl    $0x5,%rdx
mov    %r9,%rsi
shr    $0x1b,%rsi
or     %rdx,%rsi
mov    %r10,%r11
mov    -0x58(%rsp),%r10
xor    %r10,%r11
xor    -0x68(%rsp),%r11
mov    -0x8(%rsp),%rbp
xor    %rbp,%r11
lea    (%r11,%r11,1),%rdx
shr    $0x1f,%r11
or     %rdx,%r11
lea    (%r11,%r13,1),%rdi
add    $0x3b4704fa,%rdi
mov    %r11,%r13
add    %r14,%rdi
mov    %r8,%rdx
xor    %rcx,%rdx
xor    %rax,%rdx
add    %rdx,%rdi
add    %rsi,%rdi
mov    %rax,%rdx
shl    $0x1e,%rdx
shr    $0x2,%rax
or     %rdx,%rax
mov    %rdi,%rdx
shl    $0x5,%rdx
mov    %rdi,%rsi
shr    $0x1b,%rsi
or     %rdx,%rsi
mov    %r15,%r14
mov    -0x78(%rsp),%r15
xor    %r15,%r14
xor    -0x38(%rsp),%r14
xor    %r12,%r14
lea    (%r14,%r14,1),%rdx
shr    $0x1f,%r14
or     %rdx,%r14
mov    $0x8f1bbcdc,%r12d
lea    (%r14,%r12,1),%rbx
add    $0x3b4704fa,%rbx
mov    %r14,%r11
mov    %r14,-0x80(%rsp)
add    %rcx,%rbx
mov    %rax,%rcx
xor    %r8,%rcx
xor    %r9,%rcx
add    %rcx,%rbx
add    %rsi,%rbx
mov    %r9,%rcx
shl    $0x1e,%rcx
shr    $0x2,%r9
or     %rcx,%r9
mov    %rbx,%rcx
shl    $0x5,%rcx
mov    %rbx,%rdx
shr    $0x1b,%rdx
or     %rcx,%rdx
mov    %r10,%rcx
mov    -0x48(%rsp),%r14
xor    %r14,%rcx
xor    -0x10(%rsp),%rcx
xor    -0x40(%rsp),%rcx
lea    (%rcx,%rcx,1),%rsi
shr    $0x1f,%rcx
or     %rsi,%rcx
mov    %rcx,-0x58(%rsp)
lea    (%rcx,%r12,1),%rsi
add    $0x3b4704fa,%rsi
mov    $0x8f1bbcdc,%r10d
add    %r8,%rsi
mov    %r9,%rcx
xor    %rax,%rcx
xor    %rdi,%rcx
add    %rcx,%rsi
add    %rdx,%rsi
mov    %rdi,%rcx
shl    $0x1e,%rcx
shr    $0x2,%rdi
or     %rcx,%rdi
mov    %rsi,%rcx
shl    $0x5,%rcx
mov    %rsi,%rdx
shr    $0x1b,%rdx
or     %rcx,%rdx
mov    %r15,%rcx
mov    -0x30(%rsp),%r15
xor    %r15,%rcx
xor    -0x70(%rsp),%rcx
xor    %r13,%rcx
lea    (%rcx,%rcx,1),%r8
shr    $0x1f,%rcx
or     %r8,%rcx
mov    %rcx,-0x78(%rsp)
add    %rcx,%r10
add    $0x3b4704fa,%r10
mov    $0x8f1bbcdc,%r8d
add    %rax,%r10
mov    %rdi,%rax
xor    %r9,%rax
xor    %rbx,%rax
add    %rax,%r10
add    %rdx,%r10
mov    %rbx,%rax
shl    $0x1e,%rax
shr    $0x2,%rbx
or     %rax,%rbx
mov    %r10,%rax
shl    $0x5,%rax
mov    %r10,%rcx
shr    $0x1b,%rcx
or     %rax,%rcx
mov    %r14,%r12
mov    -0x60(%rsp),%r14
xor    %r14,%r12
xor    -0x28(%rsp),%r12
xor    %r11,%r12
lea    (%r12,%r12,1),%rax
shr    $0x1f,%r12
or     %rax,%r12
add    %r12,%r8
add    $0x3b4704fa,%r8
mov    $0x8f1bbcdc,%r11d
mov    %r12,-0x48(%rsp)
add    %r9,%r8
mov    %rbx,%rax
xor    %rdi,%rax
xor    %rsi,%rax
add    %rax,%r8
add    %rcx,%r8
mov    %rsi,%rax
shl    $0x1e,%rax
shr    $0x2,%rsi
or     %rax,%rsi
mov    %r8,%rax
shl    $0x5,%rax
mov    %r8,%rcx
shr    $0x1b,%rcx
or     %rax,%rcx
mov    %r15,%rdx
mov    -0x50(%rsp),%r15
xor    %r15,%rdx
xor    %rbp,%rdx
xor    -0x58(%rsp),%rdx
lea    (%rdx,%rdx,1),%rax
shr    $0x1f,%rdx
or     %rax,%rdx
mov    %rdx,-0x30(%rsp)
lea    (%rdx,%r11,1),%r9
add    $0x3b4704fa,%r9
mov    $0x8f1bbcdc,%ebp
add    %rdi,%r9
mov    %rsi,%rdx
xor    %rbx,%rdx
xor    %r10,%rdx
add    %rdx,%r9
add    %rcx,%r9
mov    %r10,%rcx
shl    $0x1e,%rcx
shr    $0x2,%r10
or     %rcx,%r10
mov    %r9,%rcx
shl    $0x5,%rcx
mov    %r9,%rdx
shr    $0x1b,%rdx
or     %rcx,%rdx
mov    %r14,%rax
mov    -0x68(%rsp),%r11
xor    %r11,%rax
xor    -0x20(%rsp),%rax
xor    -0x78(%rsp),%rax
lea    (%rax,%rax,1),%rcx
shr    $0x1f,%rax
or     %rcx,%rax
mov    %rax,-0x60(%rsp)
lea    (%rax,%rbp,1),%rcx
add    $0x3b4704fa,%rcx
add    %rbx,%rcx
mov    %r10,%rdi
xor    %rsi,%rdi
xor    %r8,%rdi
add    %rdi,%rcx
add    %rdx,%rcx
mov    %r8,%rdx
shl    $0x1e,%rdx
shr    $0x2,%r8
or     %rdx,%r8
mov    %rcx,%rdx
shl    $0x5,%rdx
mov    %rcx,%rdi
shr    $0x1b,%rdi
or     %rdx,%rdi
mov    %r15,%r14
mov    -0x38(%rsp),%r15
xor    %r15,%r14
xor    -0x40(%rsp),%r14
xor    %r12,%r14
lea    (%r14,%r14,1),%rdx
shr    $0x1f,%r14
or     %rdx,%r14
mov    $0x8f1bbcdc,%eax
lea    (%r14,%rax,1),%rdx
add    $0x3b4704fa,%rdx
add    %rsi,%rdx
mov    %r8,%rsi
xor    %r10,%rsi
xor    %r9,%rsi
add    %rsi,%rdx
add    %rdi,%rdx
mov    %r9,%rsi
shl    $0x1e,%rsi
shr    $0x2,%r9
or     %rsi,%r9
mov    %rdx,%rsi
shl    $0x5,%rsi
mov    %rdx,%rdi
shr    $0x1b,%rdi
or     %rsi,%rdi
mov    %r11,%rbx
mov    -0x10(%rsp),%r12
xor    %r12,%rbx
xor    %r13,%rbx
xor    -0x30(%rsp),%rbx
lea    (%rbx,%rbx,1),%rsi
shr    $0x1f,%rbx
or     %rsi,%rbx
mov    %rbx,-0x68(%rsp)
add    %rax,%rbx
add    $0x3b4704fa,%rbx
add    %r10,%rbx
mov    %r9,%rax
xor    %r8,%rax
xor    %rcx,%rax
add    %rax,%rbx
add    %rdi,%rbx
mov    %rcx,%rax
shl    $0x1e,%rax
shr    $0x2,%rcx
or     %rax,%rcx
mov    %rbx,%rax
shl    $0x5,%rax
mov    %rbx,%rsi
shr    $0x1b,%rsi
or     %rax,%rsi
mov    %r15,%rdi
mov    -0x70(%rsp),%r10
xor    %r10,%rdi
xor    -0x80(%rsp),%rdi
xor    -0x60(%rsp),%rdi
lea    (%rdi,%rdi,1),%rax
shr    $0x1f,%rdi
or     %rax,%rdi
mov    %rdi,-0x38(%rsp)
mov    $0x8f1bbcdc,%ebp
add    %rbp,%rdi
add    $0x3b4704fa,%rdi
add    %r8,%rdi
mov    %rcx,%rax
xor    %r9,%rax
xor    %rdx,%rax
add    %rax,%rdi
add    %rsi,%rdi
mov    %rdx,%rax
shl    $0x1e,%rax
shr    $0x2,%rdx
or     %rax,%rdx
mov    %rdi,%rax
shl    $0x5,%rax
mov    %rdi,%rsi
shr    $0x1b,%rsi
or     %rax,%rsi
mov    %r12,%r15
mov    -0x28(%rsp),%r11
xor    %r11,%r15
xor    -0x58(%rsp),%r15
mov    %r14,%r12
xor    %r14,%r15
lea    (%r15,%r15,1),%rax
shr    $0x1f,%r15
or     %rax,%r15
lea    (%r15,%rbp,1),%r8
add    $0x3b4704fa,%r8
mov    $0x8f1bbcdc,%r14d
add    %r9,%r8
mov    %rdx,%rax
xor    %rcx,%rax
xor    %rbx,%rax
add    %rax,%r8
add    %rsi,%r8
mov    %rbx,%rax
shl    $0x1e,%rax
shr    $0x2,%rbx
or     %rax,%rbx
mov    %r8,%rax
shl    $0x5,%rax
mov    %r8,%rsi
shr    $0x1b,%rsi
or     %rax,%rsi
mov    -0x8(%rsp),%rbp
xor    %rbp,%r10
xor    -0x78(%rsp),%r10
xor    -0x68(%rsp),%r10
lea    (%r10,%r10,1),%r9
shr    $0x1f,%r10
or     %r9,%r10
mov    %r10,-0x70(%rsp)
add    %r14,%r10
add    $0x3b4704fa,%r10
add    %rcx,%r10
mov    %rbx,%rcx
xor    %rdx,%rcx
xor    %rdi,%rcx
add    %rcx,%r10
add    %rsi,%r10
mov    %rdi,%rcx
shl    $0x1e,%rcx
shr    $0x2,%rdi
or     %rcx,%rdi
mov    %r10,%rcx
shl    $0x5,%rcx
mov    %r10,%rsi
shr    $0x1b,%rsi
or     %rcx,%rsi
mov    %r11,%r14
mov    -0x20(%rsp),%r11
xor    %r11,%r14
xor    -0x48(%rsp),%r14
xor    -0x38(%rsp),%r14
lea    (%r14,%r14,1),%rcx
shr    $0x1f,%r14
or     %rcx,%r14
mov    $0x8f1bbcdc,%eax
lea    (%r14,%rax,1),%rcx
add    $0x3b4704fa,%rcx
add    %rdx,%rcx
mov    %rdi,%rdx
xor    %rbx,%rdx
xor    %r8,%rdx
add    %rdx,%rcx
add    %rsi,%rcx
mov    %r8,%rdx
shl    $0x1e,%rdx
shr    $0x2,%r8
or     %rdx,%r8
mov    %rcx,%rdx
shl    $0x5,%rdx
mov    %rcx,%rsi
shr    $0x1b,%rsi
or     %rdx,%rsi
mov    -0x40(%rsp),%r9
xor    %r9,%rbp
xor    -0x30(%rsp),%rbp
xor    %r15,%rbp
mov    %rbp,%rdx
add    %rbp,%rdx
shr    $0x1f,%rbp
or     %rdx,%rbp
add    %rbp,%rax
add    $0x3b4704fa,%rax
add    %rbx,%rax
mov    %r8,%rbp
xor    %rdi,%rbp
xor    %r10,%rbp
add    %rbp,%rax
add    %rsi,%rax
mov    %r10,%rsi
shl    $0x1e,%rsi
shr    $0x2,%r10
or     %rsi,%r10
mov    %rax,%rbp
shl    $0x5,%rbp
mov    %rax,%rsi
shr    $0x1b,%rsi
or     %rbp,%rsi
xor    %r11,%r13
xor    -0x60(%rsp),%r13
xor    -0x70(%rsp),%r13
mov    %r13,%rbp
add    %r13,%rbp
shr    $0x1f,%r13
or     %rbp,%r13
mov    (%rsp),%rdx
mov    $0x8f1bbcdc,%ebx
lea    (%rdx,%rbx,1),%rbp
add    $0x3b4704fa,%rbp
add    %r13,%rbx
add    $0x3b4704fa,%rbx
add    %rdi,%rbx
mov    %r10,%rdi
xor    %r8,%rdi
xor    %rcx,%rdi
add    %rdi,%rbx
add    %rsi,%rbx
mov    %rcx,%rsi
shl    $0x1e,%rsi
shr    $0x2,%rcx
or     %rsi,%rcx
mov    %rbx,%rsi
shl    $0x5,%rsi
mov    %rbx,%rdi
shr    $0x1b,%rdi
or     %rsi,%rdi
mov    -0x80(%rsp),%rdx
xor    %r9,%rdx
xor    %r12,%rdx
mov    %rcx,%rsi
xor    %r10,%rsi
xor    %rax,%rsi
xor    %r14,%rdx
lea    (%rdx,%rdx,1),%r9
shr    $0x1f,%rdx
or     %r9,%rdx
mov    %rdx,%r9
mov    %rax,%rdx
shl    $0x1e,%rdx
shr    $0x2,%rax
or     %rdx,%rax
add    %r9,%rbp
add    %r8,%rbp
add    %rsi,%rbp
add    %rdi,%rbp
mov    0x28(%rsp),%rdx
mov    %rbp,(%rdx)
add    0x18(%rsp),%rbx
mov    %rbx,0x8(%rdx)
add    0x8(%rsp),%rax
mov    %rax,0x10(%rdx)
add    0x10(%rsp),%rcx
mov    %rcx,0x18(%rdx)
add    0x20(%rsp),%r10
mov    %r10,0x20(%rdx)
add    $0x30,%rsp
pop    %rbx
pop    %r12
pop    %r13
pop    %r14
pop    %r15
pop    %rbp
ret

LLVM IR (-O0):
define void @SHA1_Transform_HC(i64* %0, i8* %1) {
%3 = alloca i64*
%4 = alloca i8*
%5 = alloca i64
%6 = alloca i64
%7 = alloca i64
%8 = alloca i64
%9 = alloca i64
%10 = alloca [16 x i64]
store i64* %0, i64** %3
store i8* %1, i8** %4
%11 = load i64*, i64** %3
%12 = getelementptr inbounds i64, i64* %11, i64 0
%13 = load i64, i64* %12
store i64 %13, i64* %5
%14 = load i64*, i64** %3
%15 = getelementptr inbounds i64, i64* %14, i64 1
%16 = load i64, i64* %15
store i64 %16, i64* %6
%17 = load i64*, i64** %3
%18 = getelementptr inbounds i64, i64* %17, i64 2
%19 = load i64, i64* %18
store i64 %19, i64* %7
%20 = load i64*, i64** %3
%21 = getelementptr inbounds i64, i64* %20, i64 3
%22 = load i64, i64* %21
store i64 %22, i64* %8
%23 = load i64*, i64** %3
%24 = getelementptr inbounds i64, i64* %23, i64 4
%25 = load i64, i64* %24
store i64 %25, i64* %9
%26 = bitcast [16 x i64]* %10 to i8*
%27 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 0
%28 = bitcast i64* %27 to i8*
%29 = load i8*, i8** %4
%30 = load i64, i64* %5
%31 = shl i64 %30, 5
%32 = load i64, i64* %5
%33 = lshr i64 %32, 27
%34 = or i64 %31, %33
%35 = load i64, i64* %8
%36 = load i64, i64* %6
%37 = load i64, i64* %7
%38 = load i64, i64* %8
%39 = xor i64 %37, %38
%40 = and i64 %36, %39
%41 = xor i64 %35, %40
%42 = add i64 %34, %41
%43 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 0
%44 = load i64, i64* %43
%45 = add i64 %42, %44
%46 = add i64 %45, 1518500249
%47 = load i64, i64* %9
%48 = add i64 %47, %46
store i64 %48, i64* %9
%49 = load i64, i64* %6
%50 = shl i64 %49, 30
%51 = load i64, i64* %6
%52 = lshr i64 %51, 2
%53 = or i64 %50, %52
store i64 %53, i64* %6
%54 = load i64, i64* %9
%55 = shl i64 %54, 5
%56 = load i64, i64* %9
%57 = lshr i64 %56, 27
%58 = or i64 %55, %57
%59 = load i64, i64* %7
%60 = load i64, i64* %5
%61 = load i64, i64* %6
%62 = load i64, i64* %7
%63 = xor i64 %61, %62
%64 = and i64 %60, %63
%65 = xor i64 %59, %64
%66 = add i64 %58, %65
%67 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 1
%68 = load i64, i64* %67
%69 = add i64 %66, %68
%70 = add i64 %69, 1518500249
%71 = load i64, i64* %8
%72 = add i64 %71, %70
store i64 %72, i64* %8
%73 = load i64, i64* %5
%74 = shl i64 %73, 30
%75 = load i64, i64* %5
%76 = lshr i64 %75, 2
%77 = or i64 %74, %76
store i64 %77, i64* %5
%78 = load i64, i64* %8
%79 = shl i64 %78, 5
%80 = load i64, i64* %8
%81 = lshr i64 %80, 27
%82 = or i64 %79, %81
%83 = load i64, i64* %6
%84 = load i64, i64* %9
%85 = load i64, i64* %5
%86 = load i64, i64* %6
%87 = xor i64 %85, %86
%88 = and i64 %84, %87
%89 = xor i64 %83, %88
%90 = add i64 %82, %89
%91 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 2
%92 = load i64, i64* %91
%93 = add i64 %90, %92
%94 = add i64 %93, 1518500249
%95 = load i64, i64* %7
%96 = add i64 %95, %94
store i64 %96, i64* %7
%97 = load i64, i64* %9
%98 = shl i64 %97, 30
%99 = load i64, i64* %9
%100 = lshr i64 %99, 2
%101 = or i64 %98, %100
store i64 %101, i64* %9
%102 = load i64, i64* %7
%103 = shl i64 %102, 5
%104 = load i64, i64* %7
%105 = lshr i64 %104, 27
%106 = or i64 %103, %105
%107 = load i64, i64* %5
%108 = load i64, i64* %8
%109 = load i64, i64* %9
%110 = load i64, i64* %5
%111 = xor i64 %109, %110
%112 = and i64 %108, %111
%113 = xor i64 %107, %112
%114 = add i64 %106, %113
%115 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 3
%116 = load i64, i64* %115
%117 = add i64 %114, %116
%118 = add i64 %117, 1518500249
%119 = load i64, i64* %6
%120 = add i64 %119, %118
store i64 %120, i64* %6
%121 = load i64, i64* %8
%122 = shl i64 %121, 30
%123 = load i64, i64* %8
%124 = lshr i64 %123, 2
%125 = or i64 %122, %124
store i64 %125, i64* %8
%126 = load i64, i64* %6
%127 = shl i64 %126, 5
%128 = load i64, i64* %6
%129 = lshr i64 %128, 27
%130 = or i64 %127, %129
%131 = load i64, i64* %9
%132 = load i64, i64* %7
%133 = load i64, i64* %8
%134 = load i64, i64* %9
%135 = xor i64 %133, %134
%136 = and i64 %132, %135
%137 = xor i64 %131, %136
%138 = add i64 %130, %137
%139 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 4
%140 = load i64, i64* %139
%141 = add i64 %138, %140
%142 = add i64 %141, 1518500249
%143 = load i64, i64* %5
%144 = add i64 %143, %142
store i64 %144, i64* %5
%145 = load i64, i64* %7
%146 = shl i64 %145, 30
%147 = load i64, i64* %7
%148 = lshr i64 %147, 2
%149 = or i64 %146, %148
store i64 %149, i64* %7
%150 = load i64, i64* %5
%151 = shl i64 %150, 5
%152 = load i64, i64* %5
%153 = lshr i64 %152, 27
%154 = or i64 %151, %153
%155 = load i64, i64* %8
%156 = load i64, i64* %6
%157 = load i64, i64* %7
%158 = load i64, i64* %8
%159 = xor i64 %157, %158
%160 = and i64 %156, %159
%161 = xor i64 %155, %160
%162 = add i64 %154, %161
%163 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 5
%164 = load i64, i64* %163
%165 = add i64 %162, %164
%166 = add i64 %165, 1518500249
%167 = load i64, i64* %9
%168 = add i64 %167, %166
store i64 %168, i64* %9
%169 = load i64, i64* %6
%170 = shl i64 %169, 30
%171 = load i64, i64* %6
%172 = lshr i64 %171, 2
%173 = or i64 %170, %172
store i64 %173, i64* %6
%174 = load i64, i64* %9
%175 = shl i64 %174, 5
%176 = load i64, i64* %9
%177 = lshr i64 %176, 27
%178 = or i64 %175, %177
%179 = load i64, i64* %7
%180 = load i64, i64* %5
%181 = load i64, i64* %6
%182 = load i64, i64* %7
%183 = xor i64 %181, %182
%184 = and i64 %180, %183
%185 = xor i64 %179, %184
%186 = add i64 %178, %185
%187 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 6
%188 = load i64, i64* %187
%189 = add i64 %186, %188
%190 = add i64 %189, 1518500249
%191 = load i64, i64* %8
%192 = add i64 %191, %190
store i64 %192, i64* %8
%193 = load i64, i64* %5
%194 = shl i64 %193, 30
%195 = load i64, i64* %5
%196 = lshr i64 %195, 2
%197 = or i64 %194, %196
store i64 %197, i64* %5
%198 = load i64, i64* %8
%199 = shl i64 %198, 5
%200 = load i64, i64* %8
%201 = lshr i64 %200, 27
%202 = or i64 %199, %201
%203 = load i64, i64* %6
%204 = load i64, i64* %9
%205 = load i64, i64* %5
%206 = load i64, i64* %6
%207 = xor i64 %205, %206
%208 = and i64 %204, %207
%209 = xor i64 %203, %208
%210 = add i64 %202, %209
%211 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 7
%212 = load i64, i64* %211
%213 = add i64 %210, %212
%214 = add i64 %213, 1518500249
%215 = load i64, i64* %7
%216 = add i64 %215, %214
store i64 %216, i64* %7
%217 = load i64, i64* %9
%218 = shl i64 %217, 30
%219 = load i64, i64* %9
%220 = lshr i64 %219, 2
%221 = or i64 %218, %220
store i64 %221, i64* %9
%222 = load i64, i64* %7
%223 = shl i64 %222, 5
%224 = load i64, i64* %7
%225 = lshr i64 %224, 27
%226 = or i64 %223, %225
%227 = load i64, i64* %5
%228 = load i64, i64* %8
%229 = load i64, i64* %9
%230 = load i64, i64* %5
%231 = xor i64 %229, %230
%232 = and i64 %228, %231
%233 = xor i64 %227, %232
%234 = add i64 %226, %233
%235 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 8
%236 = load i64, i64* %235
%237 = add i64 %234, %236
%238 = add i64 %237, 1518500249
%239 = load i64, i64* %6
%240 = add i64 %239, %238
store i64 %240, i64* %6
%241 = load i64, i64* %8
%242 = shl i64 %241, 30
%243 = load i64, i64* %8
%244 = lshr i64 %243, 2
%245 = or i64 %242, %244
store i64 %245, i64* %8
%246 = load i64, i64* %6
%247 = shl i64 %246, 5
%248 = load i64, i64* %6
%249 = lshr i64 %248, 27
%250 = or i64 %247, %249
%251 = load i64, i64* %9
%252 = load i64, i64* %7
%253 = load i64, i64* %8
%254 = load i64, i64* %9
%255 = xor i64 %253, %254
%256 = and i64 %252, %255
%257 = xor i64 %251, %256
%258 = add i64 %250, %257
%259 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 9
%260 = load i64, i64* %259
%261 = add i64 %258, %260
%262 = add i64 %261, 1518500249
%263 = load i64, i64* %5
%264 = add i64 %263, %262
store i64 %264, i64* %5
%265 = load i64, i64* %7
%266 = shl i64 %265, 30
%267 = load i64, i64* %7
%268 = lshr i64 %267, 2
%269 = or i64 %266, %268
store i64 %269, i64* %7
%270 = load i64, i64* %5
%271 = shl i64 %270, 5
%272 = load i64, i64* %5
%273 = lshr i64 %272, 27
%274 = or i64 %271, %273
%275 = load i64, i64* %8
%276 = load i64, i64* %6
%277 = load i64, i64* %7
%278 = load i64, i64* %8
%279 = xor i64 %277, %278
%280 = and i64 %276, %279
%281 = xor i64 %275, %280
%282 = add i64 %274, %281
%283 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 10
%284 = load i64, i64* %283
%285 = add i64 %282, %284
%286 = add i64 %285, 1518500249
%287 = load i64, i64* %9
%288 = add i64 %287, %286
store i64 %288, i64* %9
%289 = load i64, i64* %6
%290 = shl i64 %289, 30
%291 = load i64, i64* %6
%292 = lshr i64 %291, 2
%293 = or i64 %290, %292
store i64 %293, i64* %6
%294 = load i64, i64* %9
%295 = shl i64 %294, 5
%296 = load i64, i64* %9
%297 = lshr i64 %296, 27
%298 = or i64 %295, %297
%299 = load i64, i64* %7
%300 = load i64, i64* %5
%301 = load i64, i64* %6
%302 = load i64, i64* %7
%303 = xor i64 %301, %302
%304 = and i64 %300, %303
%305 = xor i64 %299, %304
%306 = add i64 %298, %305
%307 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 11
%308 = load i64, i64* %307
%309 = add i64 %306, %308
%310 = add i64 %309, 1518500249
%311 = load i64, i64* %8
%312 = add i64 %311, %310
store i64 %312, i64* %8
%313 = load i64, i64* %5
%314 = shl i64 %313, 30
%315 = load i64, i64* %5
%316 = lshr i64 %315, 2
%317 = or i64 %314, %316
store i64 %317, i64* %5
%318 = load i64, i64* %8
%319 = shl i64 %318, 5
%320 = load i64, i64* %8
%321 = lshr i64 %320, 27
%322 = or i64 %319, %321
%323 = load i64, i64* %6
%324 = load i64, i64* %9
%325 = load i64, i64* %5
%326 = load i64, i64* %6
%327 = xor i64 %325, %326
%328 = and i64 %324, %327
%329 = xor i64 %323, %328
%330 = add i64 %322, %329
%331 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 12
%332 = load i64, i64* %331
%333 = add i64 %330, %332
%334 = add i64 %333, 1518500249
%335 = load i64, i64* %7
%336 = add i64 %335, %334
store i64 %336, i64* %7
%337 = load i64, i64* %9
%338 = shl i64 %337, 30
%339 = load i64, i64* %9
%340 = lshr i64 %339, 2
%341 = or i64 %338, %340
store i64 %341, i64* %9
%342 = load i64, i64* %7
%343 = shl i64 %342, 5
%344 = load i64, i64* %7
%345 = lshr i64 %344, 27
%346 = or i64 %343, %345
%347 = load i64, i64* %5
%348 = load i64, i64* %8
%349 = load i64, i64* %9
%350 = load i64, i64* %5
%351 = xor i64 %349, %350
%352 = and i64 %348, %351
%353 = xor i64 %347, %352
%354 = add i64 %346, %353
%355 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 13
%356 = load i64, i64* %355
%357 = add i64 %354, %356
%358 = add i64 %357, 1518500249
%359 = load i64, i64* %6
%360 = add i64 %359, %358
store i64 %360, i64* %6
%361 = load i64, i64* %8
%362 = shl i64 %361, 30
%363 = load i64, i64* %8
%364 = lshr i64 %363, 2
%365 = or i64 %362, %364
store i64 %365, i64* %8
%366 = load i64, i64* %6
%367 = shl i64 %366, 5
%368 = load i64, i64* %6
%369 = lshr i64 %368, 27
%370 = or i64 %367, %369
%371 = load i64, i64* %9
%372 = load i64, i64* %7
%373 = load i64, i64* %8
%374 = load i64, i64* %9
%375 = xor i64 %373, %374
%376 = and i64 %372, %375
%377 = xor i64 %371, %376
%378 = add i64 %370, %377
%379 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 14
%380 = load i64, i64* %379
%381 = add i64 %378, %380
%382 = add i64 %381, 1518500249
%383 = load i64, i64* %5
%384 = add i64 %383, %382
store i64 %384, i64* %5
%385 = load i64, i64* %7
%386 = shl i64 %385, 30
%387 = load i64, i64* %7
%388 = lshr i64 %387, 2
%389 = or i64 %386, %388
store i64 %389, i64* %7
%390 = load i64, i64* %5
%391 = shl i64 %390, 5
%392 = load i64, i64* %5
%393 = lshr i64 %392, 27
%394 = or i64 %391, %393
%395 = load i64, i64* %8
%396 = load i64, i64* %6
%397 = load i64, i64* %7
%398 = load i64, i64* %8
%399 = xor i64 %397, %398
%400 = and i64 %396, %399
%401 = xor i64 %395, %400
%402 = add i64 %394, %401
%403 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 15
%404 = load i64, i64* %403
%405 = add i64 %402, %404
%406 = add i64 %405, 1518500249
%407 = load i64, i64* %9
%408 = add i64 %407, %406
store i64 %408, i64* %9
%409 = load i64, i64* %6
%410 = shl i64 %409, 30
%411 = load i64, i64* %6
%412 = lshr i64 %411, 2
%413 = or i64 %410, %412
store i64 %413, i64* %6
%414 = load i64, i64* %9
%415 = shl i64 %414, 5
%416 = load i64, i64* %9
%417 = lshr i64 %416, 27
%418 = or i64 %415, %417
%419 = load i64, i64* %7
%420 = load i64, i64* %5
%421 = load i64, i64* %6
%422 = load i64, i64* %7
%423 = xor i64 %421, %422
%424 = and i64 %420, %423
%425 = xor i64 %419, %424
%426 = add i64 %418, %425
%427 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 0
%428 = load i64, i64* %427
%429 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 2
%430 = load i64, i64* %429
%431 = xor i64 %428, %430
%432 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 8
%433 = load i64, i64* %432
%434 = xor i64 %431, %433
%435 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 13
%436 = load i64, i64* %435
%437 = xor i64 %434, %436
%438 = shl i64 %437, 1
%439 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 0
%440 = load i64, i64* %439
%441 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 2
%442 = load i64, i64* %441
%443 = xor i64 %440, %442
%444 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 8
%445 = load i64, i64* %444
%446 = xor i64 %443, %445
%447 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 13
%448 = load i64, i64* %447
%449 = xor i64 %446, %448
%450 = lshr i64 %449, 31
%451 = or i64 %438, %450
%452 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 0
store i64 %451, i64* %452
%453 = add i64 %426, %451
%454 = add i64 %453, 1518500249
%455 = load i64, i64* %8
%456 = add i64 %455, %454
store i64 %456, i64* %8
%457 = load i64, i64* %5
%458 = shl i64 %457, 30
%459 = load i64, i64* %5
%460 = lshr i64 %459, 2
%461 = or i64 %458, %460
store i64 %461, i64* %5
%462 = load i64, i64* %8
%463 = shl i64 %462, 5
%464 = load i64, i64* %8
%465 = lshr i64 %464, 27
%466 = or i64 %463, %465
%467 = load i64, i64* %6
%468 = load i64, i64* %9
%469 = load i64, i64* %5
%470 = load i64, i64* %6
%471 = xor i64 %469, %470
%472 = and i64 %468, %471
%473 = xor i64 %467, %472
%474 = add i64 %466, %473
%475 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 1
%476 = load i64, i64* %475
%477 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 3
%478 = load i64, i64* %477
%479 = xor i64 %476, %478
%480 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 9
%481 = load i64, i64* %480
%482 = xor i64 %479, %481
%483 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 14
%484 = load i64, i64* %483
%485 = xor i64 %482, %484
%486 = shl i64 %485, 1
%487 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 1
%488 = load i64, i64* %487
%489 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 3
%490 = load i64, i64* %489
%491 = xor i64 %488, %490
%492 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 9
%493 = load i64, i64* %492
%494 = xor i64 %491, %493
%495 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 14
%496 = load i64, i64* %495
%497 = xor i64 %494, %496
%498 = lshr i64 %497, 31
%499 = or i64 %486, %498
%500 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 1
store i64 %499, i64* %500
%501 = add i64 %474, %499
%502 = add i64 %501, 1518500249
%503 = load i64, i64* %7
%504 = add i64 %503, %502
store i64 %504, i64* %7
%505 = load i64, i64* %9
%506 = shl i64 %505, 30
%507 = load i64, i64* %9
%508 = lshr i64 %507, 2
%509 = or i64 %506, %508
store i64 %509, i64* %9
%510 = load i64, i64* %7
%511 = shl i64 %510, 5
%512 = load i64, i64* %7
%513 = lshr i64 %512, 27
%514 = or i64 %511, %513
%515 = load i64, i64* %5
%516 = load i64, i64* %8
%517 = load i64, i64* %9
%518 = load i64, i64* %5
%519 = xor i64 %517, %518
%520 = and i64 %516, %519
%521 = xor i64 %515, %520
%522 = add i64 %514, %521
%523 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 2
%524 = load i64, i64* %523
%525 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 4
%526 = load i64, i64* %525
%527 = xor i64 %524, %526
%528 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 10
%529 = load i64, i64* %528
%530 = xor i64 %527, %529
%531 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 15
%532 = load i64, i64* %531
%533 = xor i64 %530, %532
%534 = shl i64 %533, 1
%535 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 2
%536 = load i64, i64* %535
%537 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 4
%538 = load i64, i64* %537
%539 = xor i64 %536, %538
%540 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 10
%541 = load i64, i64* %540
%542 = xor i64 %539, %541
%543 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 15
%544 = load i64, i64* %543
%545 = xor i64 %542, %544
%546 = lshr i64 %545, 31
%547 = or i64 %534, %546
%548 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 2
store i64 %547, i64* %548
%549 = add i64 %522, %547
%550 = add i64 %549, 1518500249
%551 = load i64, i64* %6
%552 = add i64 %551, %550
store i64 %552, i64* %6
%553 = load i64, i64* %8
%554 = shl i64 %553, 30
%555 = load i64, i64* %8
%556 = lshr i64 %555, 2
%557 = or i64 %554, %556
store i64 %557, i64* %8
%558 = load i64, i64* %6
%559 = shl i64 %558, 5
%560 = load i64, i64* %6
%561 = lshr i64 %560, 27
%562 = or i64 %559, %561
%563 = load i64, i64* %9
%564 = load i64, i64* %7
%565 = load i64, i64* %8
%566 = load i64, i64* %9
%567 = xor i64 %565, %566
%568 = and i64 %564, %567
%569 = xor i64 %563, %568
%570 = add i64 %562, %569
%571 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 3
%572 = load i64, i64* %571
%573 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 5
%574 = load i64, i64* %573
%575 = xor i64 %572, %574
%576 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 11
%577 = load i64, i64* %576
%578 = xor i64 %575, %577
%579 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 0
%580 = load i64, i64* %579
%581 = xor i64 %578, %580
%582 = shl i64 %581, 1
%583 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 3
%584 = load i64, i64* %583
%585 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 5
%586 = load i64, i64* %585
%587 = xor i64 %584, %586
%588 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 11
%589 = load i64, i64* %588
%590 = xor i64 %587, %589
%591 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 0
%592 = load i64, i64* %591
%593 = xor i64 %590, %592
%594 = lshr i64 %593, 31
%595 = or i64 %582, %594
%596 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 3
store i64 %595, i64* %596
%597 = add i64 %570, %595
%598 = add i64 %597, 1518500249
%599 = load i64, i64* %5
%600 = add i64 %599, %598
store i64 %600, i64* %5
%601 = load i64, i64* %7
%602 = shl i64 %601, 30
%603 = load i64, i64* %7
%604 = lshr i64 %603, 2
%605 = or i64 %602, %604
store i64 %605, i64* %7
%606 = load i64, i64* %5
%607 = shl i64 %606, 5
%608 = load i64, i64* %5
%609 = lshr i64 %608, 27
%610 = or i64 %607, %609
%611 = load i64, i64* %6
%612 = load i64, i64* %7
%613 = xor i64 %611, %612
%614 = load i64, i64* %8
%615 = xor i64 %613, %614
%616 = add i64 %610, %615
%617 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 4
%618 = load i64, i64* %617
%619 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 6
%620 = load i64, i64* %619
%621 = xor i64 %618, %620
%622 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 12
%623 = load i64, i64* %622
%624 = xor i64 %621, %623
%625 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 1
%626 = load i64, i64* %625
%627 = xor i64 %624, %626
%628 = shl i64 %627, 1
%629 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 4
%630 = load i64, i64* %629
%631 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 6
%632 = load i64, i64* %631
%633 = xor i64 %630, %632
%634 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 12
%635 = load i64, i64* %634
%636 = xor i64 %633, %635
%637 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 1
%638 = load i64, i64* %637
%639 = xor i64 %636, %638
%640 = lshr i64 %639, 31
%641 = or i64 %628, %640
%642 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 4
store i64 %641, i64* %642
%643 = add i64 %616, %641
%644 = add i64 %643, 1859775393
%645 = load i64, i64* %9
%646 = add i64 %645, %644
store i64 %646, i64* %9
%647 = load i64, i64* %6
%648 = shl i64 %647, 30
%649 = load i64, i64* %6
%650 = lshr i64 %649, 2
%651 = or i64 %648, %650
store i64 %651, i64* %6
%652 = load i64, i64* %9
%653 = shl i64 %652, 5
%654 = load i64, i64* %9
%655 = lshr i64 %654, 27
%656 = or i64 %653, %655
%657 = load i64, i64* %5
%658 = load i64, i64* %6
%659 = xor i64 %657, %658
%660 = load i64, i64* %7
%661 = xor i64 %659, %660
%662 = add i64 %656, %661
%663 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 5
%664 = load i64, i64* %663
%665 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 7
%666 = load i64, i64* %665
%667 = xor i64 %664, %666
%668 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 13
%669 = load i64, i64* %668
%670 = xor i64 %667, %669
%671 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 2
%672 = load i64, i64* %671
%673 = xor i64 %670, %672
%674 = shl i64 %673, 1
%675 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 5
%676 = load i64, i64* %675
%677 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 7
%678 = load i64, i64* %677
%679 = xor i64 %676, %678
%680 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 13
%681 = load i64, i64* %680
%682 = xor i64 %679, %681
%683 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 2
%684 = load i64, i64* %683
%685 = xor i64 %682, %684
%686 = lshr i64 %685, 31
%687 = or i64 %674, %686
%688 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 5
store i64 %687, i64* %688
%689 = add i64 %662, %687
%690 = add i64 %689, 1859775393
%691 = load i64, i64* %8
%692 = add i64 %691, %690
store i64 %692, i64* %8
%693 = load i64, i64* %5
%694 = shl i64 %693, 30
%695 = load i64, i64* %5
%696 = lshr i64 %695, 2
%697 = or i64 %694, %696
store i64 %697, i64* %5
%698 = load i64, i64* %8
%699 = shl i64 %698, 5
%700 = load i64, i64* %8
%701 = lshr i64 %700, 27
%702 = or i64 %699, %701
%703 = load i64, i64* %9
%704 = load i64, i64* %5
%705 = xor i64 %703, %704
%706 = load i64, i64* %6
%707 = xor i64 %705, %706
%708 = add i64 %702, %707
%709 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 6
%710 = load i64, i64* %709
%711 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 8
%712 = load i64, i64* %711
%713 = xor i64 %710, %712
%714 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 14
%715 = load i64, i64* %714
%716 = xor i64 %713, %715
%717 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 3
%718 = load i64, i64* %717
%719 = xor i64 %716, %718
%720 = shl i64 %719, 1
%721 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 6
%722 = load i64, i64* %721
%723 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 8
%724 = load i64, i64* %723
%725 = xor i64 %722, %724
%726 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 14
%727 = load i64, i64* %726
%728 = xor i64 %725, %727
%729 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 3
%730 = load i64, i64* %729
%731 = xor i64 %728, %730
%732 = lshr i64 %731, 31
%733 = or i64 %720, %732
%734 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 6
store i64 %733, i64* %734
%735 = add i64 %708, %733
%736 = add i64 %735, 1859775393
%737 = load i64, i64* %7
%738 = add i64 %737, %736
store i64 %738, i64* %7
%739 = load i64, i64* %9
%740 = shl i64 %739, 30
%741 = load i64, i64* %9
%742 = lshr i64 %741, 2
%743 = or i64 %740, %742
store i64 %743, i64* %9
%744 = load i64, i64* %7
%745 = shl i64 %744, 5
%746 = load i64, i64* %7
%747 = lshr i64 %746, 27
%748 = or i64 %745, %747
%749 = load i64, i64* %8
%750 = load i64, i64* %9
%751 = xor i64 %749, %750
%752 = load i64, i64* %5
%753 = xor i64 %751, %752
%754 = add i64 %748, %753
%755 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 7
%756 = load i64, i64* %755
%757 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 9
%758 = load i64, i64* %757
%759 = xor i64 %756, %758
%760 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 15
%761 = load i64, i64* %760
%762 = xor i64 %759, %761
%763 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 4
%764 = load i64, i64* %763
%765 = xor i64 %762, %764
%766 = shl i64 %765, 1
%767 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 7
%768 = load i64, i64* %767
%769 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 9
%770 = load i64, i64* %769
%771 = xor i64 %768, %770
%772 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 15
%773 = load i64, i64* %772
%774 = xor i64 %771, %773
%775 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 4
%776 = load i64, i64* %775
%777 = xor i64 %774, %776
%778 = lshr i64 %777, 31
%779 = or i64 %766, %778
%780 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 7
store i64 %779, i64* %780
%781 = add i64 %754, %779
%782 = add i64 %781, 1859775393
%783 = load i64, i64* %6
%784 = add i64 %783, %782
store i64 %784, i64* %6
%785 = load i64, i64* %8
%786 = shl i64 %785, 30
%787 = load i64, i64* %8
%788 = lshr i64 %787, 2
%789 = or i64 %786, %788
store i64 %789, i64* %8
%790 = load i64, i64* %6
%791 = shl i64 %790, 5
%792 = load i64, i64* %6
%793 = lshr i64 %792, 27
%794 = or i64 %791, %793
%795 = load i64, i64* %7
%796 = load i64, i64* %8
%797 = xor i64 %795, %796
%798 = load i64, i64* %9
%799 = xor i64 %797, %798
%800 = add i64 %794, %799
%801 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 8
%802 = load i64, i64* %801
%803 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 10
%804 = load i64, i64* %803
%805 = xor i64 %802, %804
%806 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 0
%807 = load i64, i64* %806
%808 = xor i64 %805, %807
%809 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 5
%810 = load i64, i64* %809
%811 = xor i64 %808, %810
%812 = shl i64 %811, 1
%813 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 8
%814 = load i64, i64* %813
%815 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 10
%816 = load i64, i64* %815
%817 = xor i64 %814, %816
%818 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 0
%819 = load i64, i64* %818
%820 = xor i64 %817, %819
%821 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 5
%822 = load i64, i64* %821
%823 = xor i64 %820, %822
%824 = lshr i64 %823, 31
%825 = or i64 %812, %824
%826 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 8
store i64 %825, i64* %826
%827 = add i64 %800, %825
%828 = add i64 %827, 1859775393
%829 = load i64, i64* %5
%830 = add i64 %829, %828
store i64 %830, i64* %5
%831 = load i64, i64* %7
%832 = shl i64 %831, 30
%833 = load i64, i64* %7
%834 = lshr i64 %833, 2
%835 = or i64 %832, %834
store i64 %835, i64* %7
%836 = load i64, i64* %5
%837 = shl i64 %836, 5
%838 = load i64, i64* %5
%839 = lshr i64 %838, 27
%840 = or i64 %837, %839
%841 = load i64, i64* %6
%842 = load i64, i64* %7
%843 = xor i64 %841, %842
%844 = load i64, i64* %8
%845 = xor i64 %843, %844
%846 = add i64 %840, %845
%847 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 9
%848 = load i64, i64* %847
%849 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 11
%850 = load i64, i64* %849
%851 = xor i64 %848, %850
%852 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 1
%853 = load i64, i64* %852
%854 = xor i64 %851, %853
%855 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 6
%856 = load i64, i64* %855
%857 = xor i64 %854, %856
%858 = shl i64 %857, 1
%859 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 9
%860 = load i64, i64* %859
%861 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 11
%862 = load i64, i64* %861
%863 = xor i64 %860, %862
%864 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 1
%865 = load i64, i64* %864
%866 = xor i64 %863, %865
%867 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 6
%868 = load i64, i64* %867
%869 = xor i64 %866, %868
%870 = lshr i64 %869, 31
%871 = or i64 %858, %870
%872 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 9
store i64 %871, i64* %872
%873 = add i64 %846, %871
%874 = add i64 %873, 1859775393
%875 = load i64, i64* %9
%876 = add i64 %875, %874
store i64 %876, i64* %9
%877 = load i64, i64* %6
%878 = shl i64 %877, 30
%879 = load i64, i64* %6
%880 = lshr i64 %879, 2
%881 = or i64 %878, %880
store i64 %881, i64* %6
%882 = load i64, i64* %9
%883 = shl i64 %882, 5
%884 = load i64, i64* %9
%885 = lshr i64 %884, 27
%886 = or i64 %883, %885
%887 = load i64, i64* %5
%888 = load i64, i64* %6
%889 = xor i64 %887, %888
%890 = load i64, i64* %7
%891 = xor i64 %889, %890
%892 = add i64 %886, %891
%893 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 10
%894 = load i64, i64* %893
%895 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 12
%896 = load i64, i64* %895
%897 = xor i64 %894, %896
%898 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 2
%899 = load i64, i64* %898
%900 = xor i64 %897, %899
%901 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 7
%902 = load i64, i64* %901
%903 = xor i64 %900, %902
%904 = shl i64 %903, 1
%905 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 10
%906 = load i64, i64* %905
%907 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 12
%908 = load i64, i64* %907
%909 = xor i64 %906, %908
%910 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 2
%911 = load i64, i64* %910
%912 = xor i64 %909, %911
%913 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 7
%914 = load i64, i64* %913
%915 = xor i64 %912, %914
%916 = lshr i64 %915, 31
%917 = or i64 %904, %916
%918 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 10
store i64 %917, i64* %918
%919 = add i64 %892, %917
%920 = add i64 %919, 1859775393
%921 = load i64, i64* %8
%922 = add i64 %921, %920
store i64 %922, i64* %8
%923 = load i64, i64* %5
%924 = shl i64 %923, 30
%925 = load i64, i64* %5
%926 = lshr i64 %925, 2
%927 = or i64 %924, %926
store i64 %927, i64* %5
%928 = load i64, i64* %8
%929 = shl i64 %928, 5
%930 = load i64, i64* %8
%931 = lshr i64 %930, 27
%932 = or i64 %929, %931
%933 = load i64, i64* %9
%934 = load i64, i64* %5
%935 = xor i64 %933, %934
%936 = load i64, i64* %6
%937 = xor i64 %935, %936
%938 = add i64 %932, %937
%939 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 11
%940 = load i64, i64* %939
%941 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 13
%942 = load i64, i64* %941
%943 = xor i64 %940, %942
%944 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 3
%945 = load i64, i64* %944
%946 = xor i64 %943, %945
%947 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 8
%948 = load i64, i64* %947
%949 = xor i64 %946, %948
%950 = shl i64 %949, 1
%951 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 11
%952 = load i64, i64* %951
%953 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 13
%954 = load i64, i64* %953
%955 = xor i64 %952, %954
%956 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 3
%957 = load i64, i64* %956
%958 = xor i64 %955, %957
%959 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 8
%960 = load i64, i64* %959
%961 = xor i64 %958, %960
%962 = lshr i64 %961, 31
%963 = or i64 %950, %962
%964 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 11
store i64 %963, i64* %964
%965 = add i64 %938, %963
%966 = add i64 %965, 1859775393
%967 = load i64, i64* %7
%968 = add i64 %967, %966
store i64 %968, i64* %7
%969 = load i64, i64* %9
%970 = shl i64 %969, 30
%971 = load i64, i64* %9
%972 = lshr i64 %971, 2
%973 = or i64 %970, %972
store i64 %973, i64* %9
%974 = load i64, i64* %7
%975 = shl i64 %974, 5
%976 = load i64, i64* %7
%977 = lshr i64 %976, 27
%978 = or i64 %975, %977
%979 = load i64, i64* %8
%980 = load i64, i64* %9
%981 = xor i64 %979, %980
%982 = load i64, i64* %5
%983 = xor i64 %981, %982
%984 = add i64 %978, %983
%985 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 12
%986 = load i64, i64* %985
%987 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 14
%988 = load i64, i64* %987
%989 = xor i64 %986, %988
%990 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 4
%991 = load i64, i64* %990
%992 = xor i64 %989, %991
%993 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 9
%994 = load i64, i64* %993
%995 = xor i64 %992, %994
%996 = shl i64 %995, 1
%997 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 12
%998 = load i64, i64* %997
%999 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 14
%1000 = load i64, i64* %999
%1001 = xor i64 %998, %1000
%1002 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 4
%1003 = load i64, i64* %1002
%1004 = xor i64 %1001, %1003
%1005 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 9
%1006 = load i64, i64* %1005
%1007 = xor i64 %1004, %1006
%1008 = lshr i64 %1007, 31
%1009 = or i64 %996, %1008
%1010 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 12
store i64 %1009, i64* %1010
%1011 = add i64 %984, %1009
%1012 = add i64 %1011, 1859775393
%1013 = load i64, i64* %6
%1014 = add i64 %1013, %1012
store i64 %1014, i64* %6
%1015 = load i64, i64* %8
%1016 = shl i64 %1015, 30
%1017 = load i64, i64* %8
%1018 = lshr i64 %1017, 2
%1019 = or i64 %1016, %1018
store i64 %1019, i64* %8
%1020 = load i64, i64* %6
%1021 = shl i64 %1020, 5
%1022 = load i64, i64* %6
%1023 = lshr i64 %1022, 27
%1024 = or i64 %1021, %1023
%1025 = load i64, i64* %7
%1026 = load i64, i64* %8
%1027 = xor i64 %1025, %1026
%1028 = load i64, i64* %9
%1029 = xor i64 %1027, %1028
%1030 = add i64 %1024, %1029
%1031 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 13
%1032 = load i64, i64* %1031
%1033 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 15
%1034 = load i64, i64* %1033
%1035 = xor i64 %1032, %1034
%1036 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 5
%1037 = load i64, i64* %1036
%1038 = xor i64 %1035, %1037
%1039 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 10
%1040 = load i64, i64* %1039
%1041 = xor i64 %1038, %1040
%1042 = shl i64 %1041, 1
%1043 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 13
%1044 = load i64, i64* %1043
%1045 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 15
%1046 = load i64, i64* %1045
%1047 = xor i64 %1044, %1046
%1048 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 5
%1049 = load i64, i64* %1048
%1050 = xor i64 %1047, %1049
%1051 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 10
%1052 = load i64, i64* %1051
%1053 = xor i64 %1050, %1052
%1054 = lshr i64 %1053, 31
%1055 = or i64 %1042, %1054
%1056 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 13
store i64 %1055, i64* %1056
%1057 = add i64 %1030, %1055
%1058 = add i64 %1057, 1859775393
%1059 = load i64, i64* %5
%1060 = add i64 %1059, %1058
store i64 %1060, i64* %5
%1061 = load i64, i64* %7
%1062 = shl i64 %1061, 30
%1063 = load i64, i64* %7
%1064 = lshr i64 %1063, 2
%1065 = or i64 %1062, %1064
store i64 %1065, i64* %7
%1066 = load i64, i64* %5
%1067 = shl i64 %1066, 5
%1068 = load i64, i64* %5
%1069 = lshr i64 %1068, 27
%1070 = or i64 %1067, %1069
%1071 = load i64, i64* %6
%1072 = load i64, i64* %7
%1073 = xor i64 %1071, %1072
%1074 = load i64, i64* %8
%1075 = xor i64 %1073, %1074
%1076 = add i64 %1070, %1075
%1077 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 14
%1078 = load i64, i64* %1077
%1079 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 0
%1080 = load i64, i64* %1079
%1081 = xor i64 %1078, %1080
%1082 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 6
%1083 = load i64, i64* %1082
%1084 = xor i64 %1081, %1083
%1085 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 11
%1086 = load i64, i64* %1085
%1087 = xor i64 %1084, %1086
%1088 = shl i64 %1087, 1
%1089 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 14
%1090 = load i64, i64* %1089
%1091 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 0
%1092 = load i64, i64* %1091
%1093 = xor i64 %1090, %1092
%1094 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 6
%1095 = load i64, i64* %1094
%1096 = xor i64 %1093, %1095
%1097 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 11
%1098 = load i64, i64* %1097
%1099 = xor i64 %1096, %1098
%1100 = lshr i64 %1099, 31
%1101 = or i64 %1088, %1100
%1102 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 14
store i64 %1101, i64* %1102
%1103 = add i64 %1076, %1101
%1104 = add i64 %1103, 1859775393
%1105 = load i64, i64* %9
%1106 = add i64 %1105, %1104
store i64 %1106, i64* %9
%1107 = load i64, i64* %6
%1108 = shl i64 %1107, 30
%1109 = load i64, i64* %6
%1110 = lshr i64 %1109, 2
%1111 = or i64 %1108, %1110
store i64 %1111, i64* %6
%1112 = load i64, i64* %9
%1113 = shl i64 %1112, 5
%1114 = load i64, i64* %9
%1115 = lshr i64 %1114, 27
%1116 = or i64 %1113, %1115
%1117 = load i64, i64* %5
%1118 = load i64, i64* %6
%1119 = xor i64 %1117, %1118
%1120 = load i64, i64* %7
%1121 = xor i64 %1119, %1120
%1122 = add i64 %1116, %1121
%1123 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 15
%1124 = load i64, i64* %1123
%1125 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 1
%1126 = load i64, i64* %1125
%1127 = xor i64 %1124, %1126
%1128 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 7
%1129 = load i64, i64* %1128
%1130 = xor i64 %1127, %1129
%1131 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 12
%1132 = load i64, i64* %1131
%1133 = xor i64 %1130, %1132
%1134 = shl i64 %1133, 1
%1135 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 15
%1136 = load i64, i64* %1135
%1137 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 1
%1138 = load i64, i64* %1137
%1139 = xor i64 %1136, %1138
%1140 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 7
%1141 = load i64, i64* %1140
%1142 = xor i64 %1139, %1141
%1143 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 12
%1144 = load i64, i64* %1143
%1145 = xor i64 %1142, %1144
%1146 = lshr i64 %1145, 31
%1147 = or i64 %1134, %1146
%1148 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 15
store i64 %1147, i64* %1148
%1149 = add i64 %1122, %1147
%1150 = add i64 %1149, 1859775393
%1151 = load i64, i64* %8
%1152 = add i64 %1151, %1150
store i64 %1152, i64* %8
%1153 = load i64, i64* %5
%1154 = shl i64 %1153, 30
%1155 = load i64, i64* %5
%1156 = lshr i64 %1155, 2
%1157 = or i64 %1154, %1156
store i64 %1157, i64* %5
%1158 = load i64, i64* %8
%1159 = shl i64 %1158, 5
%1160 = load i64, i64* %8
%1161 = lshr i64 %1160, 27
%1162 = or i64 %1159, %1161
%1163 = load i64, i64* %9
%1164 = load i64, i64* %5
%1165 = xor i64 %1163, %1164
%1166 = load i64, i64* %6
%1167 = xor i64 %1165, %1166
%1168 = add i64 %1162, %1167
%1169 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 0
%1170 = load i64, i64* %1169
%1171 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 2
%1172 = load i64, i64* %1171
%1173 = xor i64 %1170, %1172
%1174 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 8
%1175 = load i64, i64* %1174
%1176 = xor i64 %1173, %1175
%1177 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 13
%1178 = load i64, i64* %1177
%1179 = xor i64 %1176, %1178
%1180 = shl i64 %1179, 1
%1181 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 0
%1182 = load i64, i64* %1181
%1183 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 2
%1184 = load i64, i64* %1183
%1185 = xor i64 %1182, %1184
%1186 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 8
%1187 = load i64, i64* %1186
%1188 = xor i64 %1185, %1187
%1189 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 13
%1190 = load i64, i64* %1189
%1191 = xor i64 %1188, %1190
%1192 = lshr i64 %1191, 31
%1193 = or i64 %1180, %1192
%1194 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 0
store i64 %1193, i64* %1194
%1195 = add i64 %1168, %1193
%1196 = add i64 %1195, 1859775393
%1197 = load i64, i64* %7
%1198 = add i64 %1197, %1196
store i64 %1198, i64* %7
%1199 = load i64, i64* %9
%1200 = shl i64 %1199, 30
%1201 = load i64, i64* %9
%1202 = lshr i64 %1201, 2
%1203 = or i64 %1200, %1202
store i64 %1203, i64* %9
%1204 = load i64, i64* %7
%1205 = shl i64 %1204, 5
%1206 = load i64, i64* %7
%1207 = lshr i64 %1206, 27
%1208 = or i64 %1205, %1207
%1209 = load i64, i64* %8
%1210 = load i64, i64* %9
%1211 = xor i64 %1209, %1210
%1212 = load i64, i64* %5
%1213 = xor i64 %1211, %1212
%1214 = add i64 %1208, %1213
%1215 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 1
%1216 = load i64, i64* %1215
%1217 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 3
%1218 = load i64, i64* %1217
%1219 = xor i64 %1216, %1218
%1220 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 9
%1221 = load i64, i64* %1220
%1222 = xor i64 %1219, %1221
%1223 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 14
%1224 = load i64, i64* %1223
%1225 = xor i64 %1222, %1224
%1226 = shl i64 %1225, 1
%1227 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 1
%1228 = load i64, i64* %1227
%1229 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 3
%1230 = load i64, i64* %1229
%1231 = xor i64 %1228, %1230
%1232 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 9
%1233 = load i64, i64* %1232
%1234 = xor i64 %1231, %1233
%1235 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 14
%1236 = load i64, i64* %1235
%1237 = xor i64 %1234, %1236
%1238 = lshr i64 %1237, 31
%1239 = or i64 %1226, %1238
%1240 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 1
store i64 %1239, i64* %1240
%1241 = add i64 %1214, %1239
%1242 = add i64 %1241, 1859775393
%1243 = load i64, i64* %6
%1244 = add i64 %1243, %1242
store i64 %1244, i64* %6
%1245 = load i64, i64* %8
%1246 = shl i64 %1245, 30
%1247 = load i64, i64* %8
%1248 = lshr i64 %1247, 2
%1249 = or i64 %1246, %1248
store i64 %1249, i64* %8
%1250 = load i64, i64* %6
%1251 = shl i64 %1250, 5
%1252 = load i64, i64* %6
%1253 = lshr i64 %1252, 27
%1254 = or i64 %1251, %1253
%1255 = load i64, i64* %7
%1256 = load i64, i64* %8
%1257 = xor i64 %1255, %1256
%1258 = load i64, i64* %9
%1259 = xor i64 %1257, %1258
%1260 = add i64 %1254, %1259
%1261 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 2
%1262 = load i64, i64* %1261
%1263 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 4
%1264 = load i64, i64* %1263
%1265 = xor i64 %1262, %1264
%1266 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 10
%1267 = load i64, i64* %1266
%1268 = xor i64 %1265, %1267
%1269 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 15
%1270 = load i64, i64* %1269
%1271 = xor i64 %1268, %1270
%1272 = shl i64 %1271, 1
%1273 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 2
%1274 = load i64, i64* %1273
%1275 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 4
%1276 = load i64, i64* %1275
%1277 = xor i64 %1274, %1276
%1278 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 10
%1279 = load i64, i64* %1278
%1280 = xor i64 %1277, %1279
%1281 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 15
%1282 = load i64, i64* %1281
%1283 = xor i64 %1280, %1282
%1284 = lshr i64 %1283, 31
%1285 = or i64 %1272, %1284
%1286 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 2
store i64 %1285, i64* %1286
%1287 = add i64 %1260, %1285
%1288 = add i64 %1287, 1859775393
%1289 = load i64, i64* %5
%1290 = add i64 %1289, %1288
store i64 %1290, i64* %5
%1291 = load i64, i64* %7
%1292 = shl i64 %1291, 30
%1293 = load i64, i64* %7
%1294 = lshr i64 %1293, 2
%1295 = or i64 %1292, %1294
store i64 %1295, i64* %7
%1296 = load i64, i64* %5
%1297 = shl i64 %1296, 5
%1298 = load i64, i64* %5
%1299 = lshr i64 %1298, 27
%1300 = or i64 %1297, %1299
%1301 = load i64, i64* %6
%1302 = load i64, i64* %7
%1303 = xor i64 %1301, %1302
%1304 = load i64, i64* %8
%1305 = xor i64 %1303, %1304
%1306 = add i64 %1300, %1305
%1307 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 3
%1308 = load i64, i64* %1307
%1309 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 5
%1310 = load i64, i64* %1309
%1311 = xor i64 %1308, %1310
%1312 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 11
%1313 = load i64, i64* %1312
%1314 = xor i64 %1311, %1313
%1315 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 0
%1316 = load i64, i64* %1315
%1317 = xor i64 %1314, %1316
%1318 = shl i64 %1317, 1
%1319 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 3
%1320 = load i64, i64* %1319
%1321 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 5
%1322 = load i64, i64* %1321
%1323 = xor i64 %1320, %1322
%1324 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 11
%1325 = load i64, i64* %1324
%1326 = xor i64 %1323, %1325
%1327 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 0
%1328 = load i64, i64* %1327
%1329 = xor i64 %1326, %1328
%1330 = lshr i64 %1329, 31
%1331 = or i64 %1318, %1330
%1332 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 3
store i64 %1331, i64* %1332
%1333 = add i64 %1306, %1331
%1334 = add i64 %1333, 1859775393
%1335 = load i64, i64* %9
%1336 = add i64 %1335, %1334
store i64 %1336, i64* %9
%1337 = load i64, i64* %6
%1338 = shl i64 %1337, 30
%1339 = load i64, i64* %6
%1340 = lshr i64 %1339, 2
%1341 = or i64 %1338, %1340
store i64 %1341, i64* %6
%1342 = load i64, i64* %9
%1343 = shl i64 %1342, 5
%1344 = load i64, i64* %9
%1345 = lshr i64 %1344, 27
%1346 = or i64 %1343, %1345
%1347 = load i64, i64* %5
%1348 = load i64, i64* %6
%1349 = xor i64 %1347, %1348
%1350 = load i64, i64* %7
%1351 = xor i64 %1349, %1350
%1352 = add i64 %1346, %1351
%1353 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 4
%1354 = load i64, i64* %1353
%1355 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 6
%1356 = load i64, i64* %1355
%1357 = xor i64 %1354, %1356
%1358 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 12
%1359 = load i64, i64* %1358
%1360 = xor i64 %1357, %1359
%1361 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 1
%1362 = load i64, i64* %1361
%1363 = xor i64 %1360, %1362
%1364 = shl i64 %1363, 1
%1365 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 4
%1366 = load i64, i64* %1365
%1367 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 6
%1368 = load i64, i64* %1367
%1369 = xor i64 %1366, %1368
%1370 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 12
%1371 = load i64, i64* %1370
%1372 = xor i64 %1369, %1371
%1373 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 1
%1374 = load i64, i64* %1373
%1375 = xor i64 %1372, %1374
%1376 = lshr i64 %1375, 31
%1377 = or i64 %1364, %1376
%1378 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 4
store i64 %1377, i64* %1378
%1379 = add i64 %1352, %1377
%1380 = add i64 %1379, 1859775393
%1381 = load i64, i64* %8
%1382 = add i64 %1381, %1380
store i64 %1382, i64* %8
%1383 = load i64, i64* %5
%1384 = shl i64 %1383, 30
%1385 = load i64, i64* %5
%1386 = lshr i64 %1385, 2
%1387 = or i64 %1384, %1386
store i64 %1387, i64* %5
%1388 = load i64, i64* %8
%1389 = shl i64 %1388, 5
%1390 = load i64, i64* %8
%1391 = lshr i64 %1390, 27
%1392 = or i64 %1389, %1391
%1393 = load i64, i64* %9
%1394 = load i64, i64* %5
%1395 = xor i64 %1393, %1394
%1396 = load i64, i64* %6
%1397 = xor i64 %1395, %1396
%1398 = add i64 %1392, %1397
%1399 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 5
%1400 = load i64, i64* %1399
%1401 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 7
%1402 = load i64, i64* %1401
%1403 = xor i64 %1400, %1402
%1404 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 13
%1405 = load i64, i64* %1404
%1406 = xor i64 %1403, %1405
%1407 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 2
%1408 = load i64, i64* %1407
%1409 = xor i64 %1406, %1408
%1410 = shl i64 %1409, 1
%1411 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 5
%1412 = load i64, i64* %1411
%1413 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 7
%1414 = load i64, i64* %1413
%1415 = xor i64 %1412, %1414
%1416 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 13
%1417 = load i64, i64* %1416
%1418 = xor i64 %1415, %1417
%1419 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 2
%1420 = load i64, i64* %1419
%1421 = xor i64 %1418, %1420
%1422 = lshr i64 %1421, 31
%1423 = or i64 %1410, %1422
%1424 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 5
store i64 %1423, i64* %1424
%1425 = add i64 %1398, %1423
%1426 = add i64 %1425, 1859775393
%1427 = load i64, i64* %7
%1428 = add i64 %1427, %1426
store i64 %1428, i64* %7
%1429 = load i64, i64* %9
%1430 = shl i64 %1429, 30
%1431 = load i64, i64* %9
%1432 = lshr i64 %1431, 2
%1433 = or i64 %1430, %1432
store i64 %1433, i64* %9
%1434 = load i64, i64* %7
%1435 = shl i64 %1434, 5
%1436 = load i64, i64* %7
%1437 = lshr i64 %1436, 27
%1438 = or i64 %1435, %1437
%1439 = load i64, i64* %8
%1440 = load i64, i64* %9
%1441 = xor i64 %1439, %1440
%1442 = load i64, i64* %5
%1443 = xor i64 %1441, %1442
%1444 = add i64 %1438, %1443
%1445 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 6
%1446 = load i64, i64* %1445
%1447 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 8
%1448 = load i64, i64* %1447
%1449 = xor i64 %1446, %1448
%1450 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 14
%1451 = load i64, i64* %1450
%1452 = xor i64 %1449, %1451
%1453 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 3
%1454 = load i64, i64* %1453
%1455 = xor i64 %1452, %1454
%1456 = shl i64 %1455, 1
%1457 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 6
%1458 = load i64, i64* %1457
%1459 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 8
%1460 = load i64, i64* %1459
%1461 = xor i64 %1458, %1460
%1462 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 14
%1463 = load i64, i64* %1462
%1464 = xor i64 %1461, %1463
%1465 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 3
%1466 = load i64, i64* %1465
%1467 = xor i64 %1464, %1466
%1468 = lshr i64 %1467, 31
%1469 = or i64 %1456, %1468
%1470 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 6
store i64 %1469, i64* %1470
%1471 = add i64 %1444, %1469
%1472 = add i64 %1471, 1859775393
%1473 = load i64, i64* %6
%1474 = add i64 %1473, %1472
store i64 %1474, i64* %6
%1475 = load i64, i64* %8
%1476 = shl i64 %1475, 30
%1477 = load i64, i64* %8
%1478 = lshr i64 %1477, 2
%1479 = or i64 %1476, %1478
store i64 %1479, i64* %8
%1480 = load i64, i64* %6
%1481 = shl i64 %1480, 5
%1482 = load i64, i64* %6
%1483 = lshr i64 %1482, 27
%1484 = or i64 %1481, %1483
%1485 = load i64, i64* %7
%1486 = load i64, i64* %8
%1487 = xor i64 %1485, %1486
%1488 = load i64, i64* %9
%1489 = xor i64 %1487, %1488
%1490 = add i64 %1484, %1489
%1491 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 7
%1492 = load i64, i64* %1491
%1493 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 9
%1494 = load i64, i64* %1493
%1495 = xor i64 %1492, %1494
%1496 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 15
%1497 = load i64, i64* %1496
%1498 = xor i64 %1495, %1497
%1499 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 4
%1500 = load i64, i64* %1499
%1501 = xor i64 %1498, %1500
%1502 = shl i64 %1501, 1
%1503 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 7
%1504 = load i64, i64* %1503
%1505 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 9
%1506 = load i64, i64* %1505
%1507 = xor i64 %1504, %1506
%1508 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 15
%1509 = load i64, i64* %1508
%1510 = xor i64 %1507, %1509
%1511 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 4
%1512 = load i64, i64* %1511
%1513 = xor i64 %1510, %1512
%1514 = lshr i64 %1513, 31
%1515 = or i64 %1502, %1514
%1516 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 7
store i64 %1515, i64* %1516
%1517 = add i64 %1490, %1515
%1518 = add i64 %1517, 1859775393
%1519 = load i64, i64* %5
%1520 = add i64 %1519, %1518
store i64 %1520, i64* %5
%1521 = load i64, i64* %7
%1522 = shl i64 %1521, 30
%1523 = load i64, i64* %7
%1524 = lshr i64 %1523, 2
%1525 = or i64 %1522, %1524
store i64 %1525, i64* %7
%1526 = load i64, i64* %5
%1527 = shl i64 %1526, 5
%1528 = load i64, i64* %5
%1529 = lshr i64 %1528, 27
%1530 = or i64 %1527, %1529
%1531 = load i64, i64* %6
%1532 = load i64, i64* %7
%1533 = load i64, i64* %8
%1534 = or i64 %1532, %1533
%1535 = and i64 %1531, %1534
%1536 = load i64, i64* %7
%1537 = load i64, i64* %8
%1538 = and i64 %1536, %1537
%1539 = or i64 %1535, %1538
%1540 = add i64 %1530, %1539
%1541 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 8
%1542 = load i64, i64* %1541
%1543 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 10
%1544 = load i64, i64* %1543
%1545 = xor i64 %1542, %1544
%1546 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 0
%1547 = load i64, i64* %1546
%1548 = xor i64 %1545, %1547
%1549 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 5
%1550 = load i64, i64* %1549
%1551 = xor i64 %1548, %1550
%1552 = shl i64 %1551, 1
%1553 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 8
%1554 = load i64, i64* %1553
%1555 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 10
%1556 = load i64, i64* %1555
%1557 = xor i64 %1554, %1556
%1558 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 0
%1559 = load i64, i64* %1558
%1560 = xor i64 %1557, %1559
%1561 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 5
%1562 = load i64, i64* %1561
%1563 = xor i64 %1560, %1562
%1564 = lshr i64 %1563, 31
%1565 = or i64 %1552, %1564
%1566 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 8
store i64 %1565, i64* %1566
%1567 = add i64 %1540, %1565
%1568 = add i64 %1567, 2400959708
%1569 = load i64, i64* %9
%1570 = add i64 %1569, %1568
store i64 %1570, i64* %9
%1571 = load i64, i64* %6
%1572 = shl i64 %1571, 30
%1573 = load i64, i64* %6
%1574 = lshr i64 %1573, 2
%1575 = or i64 %1572, %1574
store i64 %1575, i64* %6
%1576 = load i64, i64* %9
%1577 = shl i64 %1576, 5
%1578 = load i64, i64* %9
%1579 = lshr i64 %1578, 27
%1580 = or i64 %1577, %1579
%1581 = load i64, i64* %5
%1582 = load i64, i64* %6
%1583 = load i64, i64* %7
%1584 = or i64 %1582, %1583
%1585 = and i64 %1581, %1584
%1586 = load i64, i64* %6
%1587 = load i64, i64* %7
%1588 = and i64 %1586, %1587
%1589 = or i64 %1585, %1588
%1590 = add i64 %1580, %1589
%1591 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 9
%1592 = load i64, i64* %1591
%1593 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 11
%1594 = load i64, i64* %1593
%1595 = xor i64 %1592, %1594
%1596 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 1
%1597 = load i64, i64* %1596
%1598 = xor i64 %1595, %1597
%1599 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 6
%1600 = load i64, i64* %1599
%1601 = xor i64 %1598, %1600
%1602 = shl i64 %1601, 1
%1603 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 9
%1604 = load i64, i64* %1603
%1605 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 11
%1606 = load i64, i64* %1605
%1607 = xor i64 %1604, %1606
%1608 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 1
%1609 = load i64, i64* %1608
%1610 = xor i64 %1607, %1609
%1611 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 6
%1612 = load i64, i64* %1611
%1613 = xor i64 %1610, %1612
%1614 = lshr i64 %1613, 31
%1615 = or i64 %1602, %1614
%1616 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 9
store i64 %1615, i64* %1616
%1617 = add i64 %1590, %1615
%1618 = add i64 %1617, 2400959708
%1619 = load i64, i64* %8
%1620 = add i64 %1619, %1618
store i64 %1620, i64* %8
%1621 = load i64, i64* %5
%1622 = shl i64 %1621, 30
%1623 = load i64, i64* %5
%1624 = lshr i64 %1623, 2
%1625 = or i64 %1622, %1624
store i64 %1625, i64* %5
%1626 = load i64, i64* %8
%1627 = shl i64 %1626, 5
%1628 = load i64, i64* %8
%1629 = lshr i64 %1628, 27
%1630 = or i64 %1627, %1629
%1631 = load i64, i64* %9
%1632 = load i64, i64* %5
%1633 = load i64, i64* %6
%1634 = or i64 %1632, %1633
%1635 = and i64 %1631, %1634
%1636 = load i64, i64* %5
%1637 = load i64, i64* %6
%1638 = and i64 %1636, %1637
%1639 = or i64 %1635, %1638
%1640 = add i64 %1630, %1639
%1641 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 10
%1642 = load i64, i64* %1641
%1643 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 12
%1644 = load i64, i64* %1643
%1645 = xor i64 %1642, %1644
%1646 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 2
%1647 = load i64, i64* %1646
%1648 = xor i64 %1645, %1647
%1649 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 7
%1650 = load i64, i64* %1649
%1651 = xor i64 %1648, %1650
%1652 = shl i64 %1651, 1
%1653 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 10
%1654 = load i64, i64* %1653
%1655 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 12
%1656 = load i64, i64* %1655
%1657 = xor i64 %1654, %1656
%1658 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 2
%1659 = load i64, i64* %1658
%1660 = xor i64 %1657, %1659
%1661 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 7
%1662 = load i64, i64* %1661
%1663 = xor i64 %1660, %1662
%1664 = lshr i64 %1663, 31
%1665 = or i64 %1652, %1664
%1666 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 10
store i64 %1665, i64* %1666
%1667 = add i64 %1640, %1665
%1668 = add i64 %1667, 2400959708
%1669 = load i64, i64* %7
%1670 = add i64 %1669, %1668
store i64 %1670, i64* %7
%1671 = load i64, i64* %9
%1672 = shl i64 %1671, 30
%1673 = load i64, i64* %9
%1674 = lshr i64 %1673, 2
%1675 = or i64 %1672, %1674
store i64 %1675, i64* %9
%1676 = load i64, i64* %7
%1677 = shl i64 %1676, 5
%1678 = load i64, i64* %7
%1679 = lshr i64 %1678, 27
%1680 = or i64 %1677, %1679
%1681 = load i64, i64* %8
%1682 = load i64, i64* %9
%1683 = load i64, i64* %5
%1684 = or i64 %1682, %1683
%1685 = and i64 %1681, %1684
%1686 = load i64, i64* %9
%1687 = load i64, i64* %5
%1688 = and i64 %1686, %1687
%1689 = or i64 %1685, %1688
%1690 = add i64 %1680, %1689
%1691 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 11
%1692 = load i64, i64* %1691
%1693 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 13
%1694 = load i64, i64* %1693
%1695 = xor i64 %1692, %1694
%1696 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 3
%1697 = load i64, i64* %1696
%1698 = xor i64 %1695, %1697
%1699 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 8
%1700 = load i64, i64* %1699
%1701 = xor i64 %1698, %1700
%1702 = shl i64 %1701, 1
%1703 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 11
%1704 = load i64, i64* %1703
%1705 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 13
%1706 = load i64, i64* %1705
%1707 = xor i64 %1704, %1706
%1708 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 3
%1709 = load i64, i64* %1708
%1710 = xor i64 %1707, %1709
%1711 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 8
%1712 = load i64, i64* %1711
%1713 = xor i64 %1710, %1712
%1714 = lshr i64 %1713, 31
%1715 = or i64 %1702, %1714
%1716 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 11
store i64 %1715, i64* %1716
%1717 = add i64 %1690, %1715
%1718 = add i64 %1717, 2400959708
%1719 = load i64, i64* %6
%1720 = add i64 %1719, %1718
store i64 %1720, i64* %6
%1721 = load i64, i64* %8
%1722 = shl i64 %1721, 30
%1723 = load i64, i64* %8
%1724 = lshr i64 %1723, 2
%1725 = or i64 %1722, %1724
store i64 %1725, i64* %8
%1726 = load i64, i64* %6
%1727 = shl i64 %1726, 5
%1728 = load i64, i64* %6
%1729 = lshr i64 %1728, 27
%1730 = or i64 %1727, %1729
%1731 = load i64, i64* %7
%1732 = load i64, i64* %8
%1733 = load i64, i64* %9
%1734 = or i64 %1732, %1733
%1735 = and i64 %1731, %1734
%1736 = load i64, i64* %8
%1737 = load i64, i64* %9
%1738 = and i64 %1736, %1737
%1739 = or i64 %1735, %1738
%1740 = add i64 %1730, %1739
%1741 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 12
%1742 = load i64, i64* %1741
%1743 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 14
%1744 = load i64, i64* %1743
%1745 = xor i64 %1742, %1744
%1746 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 4
%1747 = load i64, i64* %1746
%1748 = xor i64 %1745, %1747
%1749 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 9
%1750 = load i64, i64* %1749
%1751 = xor i64 %1748, %1750
%1752 = shl i64 %1751, 1
%1753 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 12
%1754 = load i64, i64* %1753
%1755 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 14
%1756 = load i64, i64* %1755
%1757 = xor i64 %1754, %1756
%1758 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 4
%1759 = load i64, i64* %1758
%1760 = xor i64 %1757, %1759
%1761 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 9
%1762 = load i64, i64* %1761
%1763 = xor i64 %1760, %1762
%1764 = lshr i64 %1763, 31
%1765 = or i64 %1752, %1764
%1766 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 12
store i64 %1765, i64* %1766
%1767 = add i64 %1740, %1765
%1768 = add i64 %1767, 2400959708
%1769 = load i64, i64* %5
%1770 = add i64 %1769, %1768
store i64 %1770, i64* %5
%1771 = load i64, i64* %7
%1772 = shl i64 %1771, 30
%1773 = load i64, i64* %7
%1774 = lshr i64 %1773, 2
%1775 = or i64 %1772, %1774
store i64 %1775, i64* %7
%1776 = load i64, i64* %5
%1777 = shl i64 %1776, 5
%1778 = load i64, i64* %5
%1779 = lshr i64 %1778, 27
%1780 = or i64 %1777, %1779
%1781 = load i64, i64* %6
%1782 = load i64, i64* %7
%1783 = load i64, i64* %8
%1784 = or i64 %1782, %1783
%1785 = and i64 %1781, %1784
%1786 = load i64, i64* %7
%1787 = load i64, i64* %8
%1788 = and i64 %1786, %1787
%1789 = or i64 %1785, %1788
%1790 = add i64 %1780, %1789
%1791 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 13
%1792 = load i64, i64* %1791
%1793 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 15
%1794 = load i64, i64* %1793
%1795 = xor i64 %1792, %1794
%1796 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 5
%1797 = load i64, i64* %1796
%1798 = xor i64 %1795, %1797
%1799 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 10
%1800 = load i64, i64* %1799
%1801 = xor i64 %1798, %1800
%1802 = shl i64 %1801, 1
%1803 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 13
%1804 = load i64, i64* %1803
%1805 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 15
%1806 = load i64, i64* %1805
%1807 = xor i64 %1804, %1806
%1808 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 5
%1809 = load i64, i64* %1808
%1810 = xor i64 %1807, %1809
%1811 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 10
%1812 = load i64, i64* %1811
%1813 = xor i64 %1810, %1812
%1814 = lshr i64 %1813, 31
%1815 = or i64 %1802, %1814
%1816 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 13
store i64 %1815, i64* %1816
%1817 = add i64 %1790, %1815
%1818 = add i64 %1817, 2400959708
%1819 = load i64, i64* %9
%1820 = add i64 %1819, %1818
store i64 %1820, i64* %9
%1821 = load i64, i64* %6
%1822 = shl i64 %1821, 30
%1823 = load i64, i64* %6
%1824 = lshr i64 %1823, 2
%1825 = or i64 %1822, %1824
store i64 %1825, i64* %6
%1826 = load i64, i64* %9
%1827 = shl i64 %1826, 5
%1828 = load i64, i64* %9
%1829 = lshr i64 %1828, 27
%1830 = or i64 %1827, %1829
%1831 = load i64, i64* %5
%1832 = load i64, i64* %6
%1833 = load i64, i64* %7
%1834 = or i64 %1832, %1833
%1835 = and i64 %1831, %1834
%1836 = load i64, i64* %6
%1837 = load i64, i64* %7
%1838 = and i64 %1836, %1837
%1839 = or i64 %1835, %1838
%1840 = add i64 %1830, %1839
%1841 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 14
%1842 = load i64, i64* %1841
%1843 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 0
%1844 = load i64, i64* %1843
%1845 = xor i64 %1842, %1844
%1846 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 6
%1847 = load i64, i64* %1846
%1848 = xor i64 %1845, %1847
%1849 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 11
%1850 = load i64, i64* %1849
%1851 = xor i64 %1848, %1850
%1852 = shl i64 %1851, 1
%1853 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 14
%1854 = load i64, i64* %1853
%1855 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 0
%1856 = load i64, i64* %1855
%1857 = xor i64 %1854, %1856
%1858 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 6
%1859 = load i64, i64* %1858
%1860 = xor i64 %1857, %1859
%1861 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 11
%1862 = load i64, i64* %1861
%1863 = xor i64 %1860, %1862
%1864 = lshr i64 %1863, 31
%1865 = or i64 %1852, %1864
%1866 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 14
store i64 %1865, i64* %1866
%1867 = add i64 %1840, %1865
%1868 = add i64 %1867, 2400959708
%1869 = load i64, i64* %8
%1870 = add i64 %1869, %1868
store i64 %1870, i64* %8
%1871 = load i64, i64* %5
%1872 = shl i64 %1871, 30
%1873 = load i64, i64* %5
%1874 = lshr i64 %1873, 2
%1875 = or i64 %1872, %1874
store i64 %1875, i64* %5
%1876 = load i64, i64* %8
%1877 = shl i64 %1876, 5
%1878 = load i64, i64* %8
%1879 = lshr i64 %1878, 27
%1880 = or i64 %1877, %1879
%1881 = load i64, i64* %9
%1882 = load i64, i64* %5
%1883 = load i64, i64* %6
%1884 = or i64 %1882, %1883
%1885 = and i64 %1881, %1884
%1886 = load i64, i64* %5
%1887 = load i64, i64* %6
%1888 = and i64 %1886, %1887
%1889 = or i64 %1885, %1888
%1890 = add i64 %1880, %1889
%1891 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 15
%1892 = load i64, i64* %1891
%1893 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 1
%1894 = load i64, i64* %1893
%1895 = xor i64 %1892, %1894
%1896 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 7
%1897 = load i64, i64* %1896
%1898 = xor i64 %1895, %1897
%1899 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 12
%1900 = load i64, i64* %1899
%1901 = xor i64 %1898, %1900
%1902 = shl i64 %1901, 1
%1903 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 15
%1904 = load i64, i64* %1903
%1905 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 1
%1906 = load i64, i64* %1905
%1907 = xor i64 %1904, %1906
%1908 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 7
%1909 = load i64, i64* %1908
%1910 = xor i64 %1907, %1909
%1911 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 12
%1912 = load i64, i64* %1911
%1913 = xor i64 %1910, %1912
%1914 = lshr i64 %1913, 31
%1915 = or i64 %1902, %1914
%1916 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 15
store i64 %1915, i64* %1916
%1917 = add i64 %1890, %1915
%1918 = add i64 %1917, 2400959708
%1919 = load i64, i64* %7
%1920 = add i64 %1919, %1918
store i64 %1920, i64* %7
%1921 = load i64, i64* %9
%1922 = shl i64 %1921, 30
%1923 = load i64, i64* %9
%1924 = lshr i64 %1923, 2
%1925 = or i64 %1922, %1924
store i64 %1925, i64* %9
%1926 = load i64, i64* %7
%1927 = shl i64 %1926, 5
%1928 = load i64, i64* %7
%1929 = lshr i64 %1928, 27
%1930 = or i64 %1927, %1929
%1931 = load i64, i64* %8
%1932 = load i64, i64* %9
%1933 = load i64, i64* %5
%1934 = or i64 %1932, %1933
%1935 = and i64 %1931, %1934
%1936 = load i64, i64* %9
%1937 = load i64, i64* %5
%1938 = and i64 %1936, %1937
%1939 = or i64 %1935, %1938
%1940 = add i64 %1930, %1939
%1941 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 0
%1942 = load i64, i64* %1941
%1943 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 2
%1944 = load i64, i64* %1943
%1945 = xor i64 %1942, %1944
%1946 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 8
%1947 = load i64, i64* %1946
%1948 = xor i64 %1945, %1947
%1949 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 13
%1950 = load i64, i64* %1949
%1951 = xor i64 %1948, %1950
%1952 = shl i64 %1951, 1
%1953 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 0
%1954 = load i64, i64* %1953
%1955 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 2
%1956 = load i64, i64* %1955
%1957 = xor i64 %1954, %1956
%1958 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 8
%1959 = load i64, i64* %1958
%1960 = xor i64 %1957, %1959
%1961 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 13
%1962 = load i64, i64* %1961
%1963 = xor i64 %1960, %1962
%1964 = lshr i64 %1963, 31
%1965 = or i64 %1952, %1964
%1966 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 0
store i64 %1965, i64* %1966
%1967 = add i64 %1940, %1965
%1968 = add i64 %1967, 2400959708
%1969 = load i64, i64* %6
%1970 = add i64 %1969, %1968
store i64 %1970, i64* %6
%1971 = load i64, i64* %8
%1972 = shl i64 %1971, 30
%1973 = load i64, i64* %8
%1974 = lshr i64 %1973, 2
%1975 = or i64 %1972, %1974
store i64 %1975, i64* %8
%1976 = load i64, i64* %6
%1977 = shl i64 %1976, 5
%1978 = load i64, i64* %6
%1979 = lshr i64 %1978, 27
%1980 = or i64 %1977, %1979
%1981 = load i64, i64* %7
%1982 = load i64, i64* %8
%1983 = load i64, i64* %9
%1984 = or i64 %1982, %1983
%1985 = and i64 %1981, %1984
%1986 = load i64, i64* %8
%1987 = load i64, i64* %9
%1988 = and i64 %1986, %1987
%1989 = or i64 %1985, %1988
%1990 = add i64 %1980, %1989
%1991 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 1
%1992 = load i64, i64* %1991
%1993 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 3
%1994 = load i64, i64* %1993
%1995 = xor i64 %1992, %1994
%1996 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 9
%1997 = load i64, i64* %1996
%1998 = xor i64 %1995, %1997
%1999 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 14
%2000 = load i64, i64* %1999
%2001 = xor i64 %1998, %2000
%2002 = shl i64 %2001, 1
%2003 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 1
%2004 = load i64, i64* %2003
%2005 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 3
%2006 = load i64, i64* %2005
%2007 = xor i64 %2004, %2006
%2008 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 9
%2009 = load i64, i64* %2008
%2010 = xor i64 %2007, %2009
%2011 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 14
%2012 = load i64, i64* %2011
%2013 = xor i64 %2010, %2012
%2014 = lshr i64 %2013, 31
%2015 = or i64 %2002, %2014
%2016 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 1
store i64 %2015, i64* %2016
%2017 = add i64 %1990, %2015
%2018 = add i64 %2017, 2400959708
%2019 = load i64, i64* %5
%2020 = add i64 %2019, %2018
store i64 %2020, i64* %5
%2021 = load i64, i64* %7
%2022 = shl i64 %2021, 30
%2023 = load i64, i64* %7
%2024 = lshr i64 %2023, 2
%2025 = or i64 %2022, %2024
store i64 %2025, i64* %7
%2026 = load i64, i64* %5
%2027 = shl i64 %2026, 5
%2028 = load i64, i64* %5
%2029 = lshr i64 %2028, 27
%2030 = or i64 %2027, %2029
%2031 = load i64, i64* %6
%2032 = load i64, i64* %7
%2033 = load i64, i64* %8
%2034 = or i64 %2032, %2033
%2035 = and i64 %2031, %2034
%2036 = load i64, i64* %7
%2037 = load i64, i64* %8
%2038 = and i64 %2036, %2037
%2039 = or i64 %2035, %2038
%2040 = add i64 %2030, %2039
%2041 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 2
%2042 = load i64, i64* %2041
%2043 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 4
%2044 = load i64, i64* %2043
%2045 = xor i64 %2042, %2044
%2046 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 10
%2047 = load i64, i64* %2046
%2048 = xor i64 %2045, %2047
%2049 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 15
%2050 = load i64, i64* %2049
%2051 = xor i64 %2048, %2050
%2052 = shl i64 %2051, 1
%2053 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 2
%2054 = load i64, i64* %2053
%2055 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 4
%2056 = load i64, i64* %2055
%2057 = xor i64 %2054, %2056
%2058 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 10
%2059 = load i64, i64* %2058
%2060 = xor i64 %2057, %2059
%2061 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 15
%2062 = load i64, i64* %2061
%2063 = xor i64 %2060, %2062
%2064 = lshr i64 %2063, 31
%2065 = or i64 %2052, %2064
%2066 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 2
store i64 %2065, i64* %2066
%2067 = add i64 %2040, %2065
%2068 = add i64 %2067, 2400959708
%2069 = load i64, i64* %9
%2070 = add i64 %2069, %2068
store i64 %2070, i64* %9
%2071 = load i64, i64* %6
%2072 = shl i64 %2071, 30
%2073 = load i64, i64* %6
%2074 = lshr i64 %2073, 2
%2075 = or i64 %2072, %2074
store i64 %2075, i64* %6
%2076 = load i64, i64* %9
%2077 = shl i64 %2076, 5
%2078 = load i64, i64* %9
%2079 = lshr i64 %2078, 27
%2080 = or i64 %2077, %2079
%2081 = load i64, i64* %5
%2082 = load i64, i64* %6
%2083 = load i64, i64* %7
%2084 = or i64 %2082, %2083
%2085 = and i64 %2081, %2084
%2086 = load i64, i64* %6
%2087 = load i64, i64* %7
%2088 = and i64 %2086, %2087
%2089 = or i64 %2085, %2088
%2090 = add i64 %2080, %2089
%2091 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 3
%2092 = load i64, i64* %2091
%2093 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 5
%2094 = load i64, i64* %2093
%2095 = xor i64 %2092, %2094
%2096 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 11
%2097 = load i64, i64* %2096
%2098 = xor i64 %2095, %2097
%2099 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 0
%2100 = load i64, i64* %2099
%2101 = xor i64 %2098, %2100
%2102 = shl i64 %2101, 1
%2103 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 3
%2104 = load i64, i64* %2103
%2105 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 5
%2106 = load i64, i64* %2105
%2107 = xor i64 %2104, %2106
%2108 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 11
%2109 = load i64, i64* %2108
%2110 = xor i64 %2107, %2109
%2111 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 0
%2112 = load i64, i64* %2111
%2113 = xor i64 %2110, %2112
%2114 = lshr i64 %2113, 31
%2115 = or i64 %2102, %2114
%2116 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 3
store i64 %2115, i64* %2116
%2117 = add i64 %2090, %2115
%2118 = add i64 %2117, 2400959708
%2119 = load i64, i64* %8
%2120 = add i64 %2119, %2118
store i64 %2120, i64* %8
%2121 = load i64, i64* %5
%2122 = shl i64 %2121, 30
%2123 = load i64, i64* %5
%2124 = lshr i64 %2123, 2
%2125 = or i64 %2122, %2124
store i64 %2125, i64* %5
%2126 = load i64, i64* %8
%2127 = shl i64 %2126, 5
%2128 = load i64, i64* %8
%2129 = lshr i64 %2128, 27
%2130 = or i64 %2127, %2129
%2131 = load i64, i64* %9
%2132 = load i64, i64* %5
%2133 = load i64, i64* %6
%2134 = or i64 %2132, %2133
%2135 = and i64 %2131, %2134
%2136 = load i64, i64* %5
%2137 = load i64, i64* %6
%2138 = and i64 %2136, %2137
%2139 = or i64 %2135, %2138
%2140 = add i64 %2130, %2139
%2141 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 4
%2142 = load i64, i64* %2141
%2143 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 6
%2144 = load i64, i64* %2143
%2145 = xor i64 %2142, %2144
%2146 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 12
%2147 = load i64, i64* %2146
%2148 = xor i64 %2145, %2147
%2149 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 1
%2150 = load i64, i64* %2149
%2151 = xor i64 %2148, %2150
%2152 = shl i64 %2151, 1
%2153 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 4
%2154 = load i64, i64* %2153
%2155 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 6
%2156 = load i64, i64* %2155
%2157 = xor i64 %2154, %2156
%2158 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 12
%2159 = load i64, i64* %2158
%2160 = xor i64 %2157, %2159
%2161 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 1
%2162 = load i64, i64* %2161
%2163 = xor i64 %2160, %2162
%2164 = lshr i64 %2163, 31
%2165 = or i64 %2152, %2164
%2166 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 4
store i64 %2165, i64* %2166
%2167 = add i64 %2140, %2165
%2168 = add i64 %2167, 2400959708
%2169 = load i64, i64* %7
%2170 = add i64 %2169, %2168
store i64 %2170, i64* %7
%2171 = load i64, i64* %9
%2172 = shl i64 %2171, 30
%2173 = load i64, i64* %9
%2174 = lshr i64 %2173, 2
%2175 = or i64 %2172, %2174
store i64 %2175, i64* %9
%2176 = load i64, i64* %7
%2177 = shl i64 %2176, 5
%2178 = load i64, i64* %7
%2179 = lshr i64 %2178, 27
%2180 = or i64 %2177, %2179
%2181 = load i64, i64* %8
%2182 = load i64, i64* %9
%2183 = load i64, i64* %5
%2184 = or i64 %2182, %2183
%2185 = and i64 %2181, %2184
%2186 = load i64, i64* %9
%2187 = load i64, i64* %5
%2188 = and i64 %2186, %2187
%2189 = or i64 %2185, %2188
%2190 = add i64 %2180, %2189
%2191 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 5
%2192 = load i64, i64* %2191
%2193 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 7
%2194 = load i64, i64* %2193
%2195 = xor i64 %2192, %2194
%2196 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 13
%2197 = load i64, i64* %2196
%2198 = xor i64 %2195, %2197
%2199 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 2
%2200 = load i64, i64* %2199
%2201 = xor i64 %2198, %2200
%2202 = shl i64 %2201, 1
%2203 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 5
%2204 = load i64, i64* %2203
%2205 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 7
%2206 = load i64, i64* %2205
%2207 = xor i64 %2204, %2206
%2208 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 13
%2209 = load i64, i64* %2208
%2210 = xor i64 %2207, %2209
%2211 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 2
%2212 = load i64, i64* %2211
%2213 = xor i64 %2210, %2212
%2214 = lshr i64 %2213, 31
%2215 = or i64 %2202, %2214
%2216 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 5
store i64 %2215, i64* %2216
%2217 = add i64 %2190, %2215
%2218 = add i64 %2217, 2400959708
%2219 = load i64, i64* %6
%2220 = add i64 %2219, %2218
store i64 %2220, i64* %6
%2221 = load i64, i64* %8
%2222 = shl i64 %2221, 30
%2223 = load i64, i64* %8
%2224 = lshr i64 %2223, 2
%2225 = or i64 %2222, %2224
store i64 %2225, i64* %8
%2226 = load i64, i64* %6
%2227 = shl i64 %2226, 5
%2228 = load i64, i64* %6
%2229 = lshr i64 %2228, 27
%2230 = or i64 %2227, %2229
%2231 = load i64, i64* %7
%2232 = load i64, i64* %8
%2233 = load i64, i64* %9
%2234 = or i64 %2232, %2233
%2235 = and i64 %2231, %2234
%2236 = load i64, i64* %8
%2237 = load i64, i64* %9
%2238 = and i64 %2236, %2237
%2239 = or i64 %2235, %2238
%2240 = add i64 %2230, %2239
%2241 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 6
%2242 = load i64, i64* %2241
%2243 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 8
%2244 = load i64, i64* %2243
%2245 = xor i64 %2242, %2244
%2246 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 14
%2247 = load i64, i64* %2246
%2248 = xor i64 %2245, %2247
%2249 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 3
%2250 = load i64, i64* %2249
%2251 = xor i64 %2248, %2250
%2252 = shl i64 %2251, 1
%2253 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 6
%2254 = load i64, i64* %2253
%2255 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 8
%2256 = load i64, i64* %2255
%2257 = xor i64 %2254, %2256
%2258 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 14
%2259 = load i64, i64* %2258
%2260 = xor i64 %2257, %2259
%2261 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 3
%2262 = load i64, i64* %2261
%2263 = xor i64 %2260, %2262
%2264 = lshr i64 %2263, 31
%2265 = or i64 %2252, %2264
%2266 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 6
store i64 %2265, i64* %2266
%2267 = add i64 %2240, %2265
%2268 = add i64 %2267, 2400959708
%2269 = load i64, i64* %5
%2270 = add i64 %2269, %2268
store i64 %2270, i64* %5
%2271 = load i64, i64* %7
%2272 = shl i64 %2271, 30
%2273 = load i64, i64* %7
%2274 = lshr i64 %2273, 2
%2275 = or i64 %2272, %2274
store i64 %2275, i64* %7
%2276 = load i64, i64* %5
%2277 = shl i64 %2276, 5
%2278 = load i64, i64* %5
%2279 = lshr i64 %2278, 27
%2280 = or i64 %2277, %2279
%2281 = load i64, i64* %6
%2282 = load i64, i64* %7
%2283 = load i64, i64* %8
%2284 = or i64 %2282, %2283
%2285 = and i64 %2281, %2284
%2286 = load i64, i64* %7
%2287 = load i64, i64* %8
%2288 = and i64 %2286, %2287
%2289 = or i64 %2285, %2288
%2290 = add i64 %2280, %2289
%2291 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 7
%2292 = load i64, i64* %2291
%2293 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 9
%2294 = load i64, i64* %2293
%2295 = xor i64 %2292, %2294
%2296 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 15
%2297 = load i64, i64* %2296
%2298 = xor i64 %2295, %2297
%2299 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 4
%2300 = load i64, i64* %2299
%2301 = xor i64 %2298, %2300
%2302 = shl i64 %2301, 1
%2303 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 7
%2304 = load i64, i64* %2303
%2305 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 9
%2306 = load i64, i64* %2305
%2307 = xor i64 %2304, %2306
%2308 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 15
%2309 = load i64, i64* %2308
%2310 = xor i64 %2307, %2309
%2311 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 4
%2312 = load i64, i64* %2311
%2313 = xor i64 %2310, %2312
%2314 = lshr i64 %2313, 31
%2315 = or i64 %2302, %2314
%2316 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 7
store i64 %2315, i64* %2316
%2317 = add i64 %2290, %2315
%2318 = add i64 %2317, 2400959708
%2319 = load i64, i64* %9
%2320 = add i64 %2319, %2318
store i64 %2320, i64* %9
%2321 = load i64, i64* %6
%2322 = shl i64 %2321, 30
%2323 = load i64, i64* %6
%2324 = lshr i64 %2323, 2
%2325 = or i64 %2322, %2324
store i64 %2325, i64* %6
%2326 = load i64, i64* %9
%2327 = shl i64 %2326, 5
%2328 = load i64, i64* %9
%2329 = lshr i64 %2328, 27
%2330 = or i64 %2327, %2329
%2331 = load i64, i64* %5
%2332 = load i64, i64* %6
%2333 = load i64, i64* %7
%2334 = or i64 %2332, %2333
%2335 = and i64 %2331, %2334
%2336 = load i64, i64* %6
%2337 = load i64, i64* %7
%2338 = and i64 %2336, %2337
%2339 = or i64 %2335, %2338
%2340 = add i64 %2330, %2339
%2341 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 8
%2342 = load i64, i64* %2341
%2343 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 10
%2344 = load i64, i64* %2343
%2345 = xor i64 %2342, %2344
%2346 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 0
%2347 = load i64, i64* %2346
%2348 = xor i64 %2345, %2347
%2349 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 5
%2350 = load i64, i64* %2349
%2351 = xor i64 %2348, %2350
%2352 = shl i64 %2351, 1
%2353 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 8
%2354 = load i64, i64* %2353
%2355 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 10
%2356 = load i64, i64* %2355
%2357 = xor i64 %2354, %2356
%2358 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 0
%2359 = load i64, i64* %2358
%2360 = xor i64 %2357, %2359
%2361 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 5
%2362 = load i64, i64* %2361
%2363 = xor i64 %2360, %2362
%2364 = lshr i64 %2363, 31
%2365 = or i64 %2352, %2364
%2366 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 8
store i64 %2365, i64* %2366
%2367 = add i64 %2340, %2365
%2368 = add i64 %2367, 2400959708
%2369 = load i64, i64* %8
%2370 = add i64 %2369, %2368
store i64 %2370, i64* %8
%2371 = load i64, i64* %5
%2372 = shl i64 %2371, 30
%2373 = load i64, i64* %5
%2374 = lshr i64 %2373, 2
%2375 = or i64 %2372, %2374
store i64 %2375, i64* %5
%2376 = load i64, i64* %8
%2377 = shl i64 %2376, 5
%2378 = load i64, i64* %8
%2379 = lshr i64 %2378, 27
%2380 = or i64 %2377, %2379
%2381 = load i64, i64* %9
%2382 = load i64, i64* %5
%2383 = load i64, i64* %6
%2384 = or i64 %2382, %2383
%2385 = and i64 %2381, %2384
%2386 = load i64, i64* %5
%2387 = load i64, i64* %6
%2388 = and i64 %2386, %2387
%2389 = or i64 %2385, %2388
%2390 = add i64 %2380, %2389
%2391 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 9
%2392 = load i64, i64* %2391
%2393 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 11
%2394 = load i64, i64* %2393
%2395 = xor i64 %2392, %2394
%2396 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 1
%2397 = load i64, i64* %2396
%2398 = xor i64 %2395, %2397
%2399 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 6
%2400 = load i64, i64* %2399
%2401 = xor i64 %2398, %2400
%2402 = shl i64 %2401, 1
%2403 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 9
%2404 = load i64, i64* %2403
%2405 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 11
%2406 = load i64, i64* %2405
%2407 = xor i64 %2404, %2406
%2408 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 1
%2409 = load i64, i64* %2408
%2410 = xor i64 %2407, %2409
%2411 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 6
%2412 = load i64, i64* %2411
%2413 = xor i64 %2410, %2412
%2414 = lshr i64 %2413, 31
%2415 = or i64 %2402, %2414
%2416 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 9
store i64 %2415, i64* %2416
%2417 = add i64 %2390, %2415
%2418 = add i64 %2417, 2400959708
%2419 = load i64, i64* %7
%2420 = add i64 %2419, %2418
store i64 %2420, i64* %7
%2421 = load i64, i64* %9
%2422 = shl i64 %2421, 30
%2423 = load i64, i64* %9
%2424 = lshr i64 %2423, 2
%2425 = or i64 %2422, %2424
store i64 %2425, i64* %9
%2426 = load i64, i64* %7
%2427 = shl i64 %2426, 5
%2428 = load i64, i64* %7
%2429 = lshr i64 %2428, 27
%2430 = or i64 %2427, %2429
%2431 = load i64, i64* %8
%2432 = load i64, i64* %9
%2433 = load i64, i64* %5
%2434 = or i64 %2432, %2433
%2435 = and i64 %2431, %2434
%2436 = load i64, i64* %9
%2437 = load i64, i64* %5
%2438 = and i64 %2436, %2437
%2439 = or i64 %2435, %2438
%2440 = add i64 %2430, %2439
%2441 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 10
%2442 = load i64, i64* %2441
%2443 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 12
%2444 = load i64, i64* %2443
%2445 = xor i64 %2442, %2444
%2446 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 2
%2447 = load i64, i64* %2446
%2448 = xor i64 %2445, %2447
%2449 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 7
%2450 = load i64, i64* %2449
%2451 = xor i64 %2448, %2450
%2452 = shl i64 %2451, 1
%2453 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 10
%2454 = load i64, i64* %2453
%2455 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 12
%2456 = load i64, i64* %2455
%2457 = xor i64 %2454, %2456
%2458 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 2
%2459 = load i64, i64* %2458
%2460 = xor i64 %2457, %2459
%2461 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 7
%2462 = load i64, i64* %2461
%2463 = xor i64 %2460, %2462
%2464 = lshr i64 %2463, 31
%2465 = or i64 %2452, %2464
%2466 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 10
store i64 %2465, i64* %2466
%2467 = add i64 %2440, %2465
%2468 = add i64 %2467, 2400959708
%2469 = load i64, i64* %6
%2470 = add i64 %2469, %2468
store i64 %2470, i64* %6
%2471 = load i64, i64* %8
%2472 = shl i64 %2471, 30
%2473 = load i64, i64* %8
%2474 = lshr i64 %2473, 2
%2475 = or i64 %2472, %2474
store i64 %2475, i64* %8
%2476 = load i64, i64* %6
%2477 = shl i64 %2476, 5
%2478 = load i64, i64* %6
%2479 = lshr i64 %2478, 27
%2480 = or i64 %2477, %2479
%2481 = load i64, i64* %7
%2482 = load i64, i64* %8
%2483 = load i64, i64* %9
%2484 = or i64 %2482, %2483
%2485 = and i64 %2481, %2484
%2486 = load i64, i64* %8
%2487 = load i64, i64* %9
%2488 = and i64 %2486, %2487
%2489 = or i64 %2485, %2488
%2490 = add i64 %2480, %2489
%2491 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 11
%2492 = load i64, i64* %2491
%2493 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 13
%2494 = load i64, i64* %2493
%2495 = xor i64 %2492, %2494
%2496 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 3
%2497 = load i64, i64* %2496
%2498 = xor i64 %2495, %2497
%2499 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 8
%2500 = load i64, i64* %2499
%2501 = xor i64 %2498, %2500
%2502 = shl i64 %2501, 1
%2503 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 11
%2504 = load i64, i64* %2503
%2505 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 13
%2506 = load i64, i64* %2505
%2507 = xor i64 %2504, %2506
%2508 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 3
%2509 = load i64, i64* %2508
%2510 = xor i64 %2507, %2509
%2511 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 8
%2512 = load i64, i64* %2511
%2513 = xor i64 %2510, %2512
%2514 = lshr i64 %2513, 31
%2515 = or i64 %2502, %2514
%2516 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 11
store i64 %2515, i64* %2516
%2517 = add i64 %2490, %2515
%2518 = add i64 %2517, 2400959708
%2519 = load i64, i64* %5
%2520 = add i64 %2519, %2518
store i64 %2520, i64* %5
%2521 = load i64, i64* %7
%2522 = shl i64 %2521, 30
%2523 = load i64, i64* %7
%2524 = lshr i64 %2523, 2
%2525 = or i64 %2522, %2524
store i64 %2525, i64* %7
%2526 = load i64, i64* %5
%2527 = shl i64 %2526, 5
%2528 = load i64, i64* %5
%2529 = lshr i64 %2528, 27
%2530 = or i64 %2527, %2529
%2531 = load i64, i64* %6
%2532 = load i64, i64* %7
%2533 = xor i64 %2531, %2532
%2534 = load i64, i64* %8
%2535 = xor i64 %2533, %2534
%2536 = add i64 %2530, %2535
%2537 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 12
%2538 = load i64, i64* %2537
%2539 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 14
%2540 = load i64, i64* %2539
%2541 = xor i64 %2538, %2540
%2542 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 4
%2543 = load i64, i64* %2542
%2544 = xor i64 %2541, %2543
%2545 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 9
%2546 = load i64, i64* %2545
%2547 = xor i64 %2544, %2546
%2548 = shl i64 %2547, 1
%2549 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 12
%2550 = load i64, i64* %2549
%2551 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 14
%2552 = load i64, i64* %2551
%2553 = xor i64 %2550, %2552
%2554 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 4
%2555 = load i64, i64* %2554
%2556 = xor i64 %2553, %2555
%2557 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 9
%2558 = load i64, i64* %2557
%2559 = xor i64 %2556, %2558
%2560 = lshr i64 %2559, 31
%2561 = or i64 %2548, %2560
%2562 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 12
store i64 %2561, i64* %2562
%2563 = add i64 %2536, %2561
%2564 = add i64 %2563, 3395469782
%2565 = load i64, i64* %9
%2566 = add i64 %2565, %2564
store i64 %2566, i64* %9
%2567 = load i64, i64* %6
%2568 = shl i64 %2567, 30
%2569 = load i64, i64* %6
%2570 = lshr i64 %2569, 2
%2571 = or i64 %2568, %2570
store i64 %2571, i64* %6
%2572 = load i64, i64* %9
%2573 = shl i64 %2572, 5
%2574 = load i64, i64* %9
%2575 = lshr i64 %2574, 27
%2576 = or i64 %2573, %2575
%2577 = load i64, i64* %5
%2578 = load i64, i64* %6
%2579 = xor i64 %2577, %2578
%2580 = load i64, i64* %7
%2581 = xor i64 %2579, %2580
%2582 = add i64 %2576, %2581
%2583 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 13
%2584 = load i64, i64* %2583
%2585 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 15
%2586 = load i64, i64* %2585
%2587 = xor i64 %2584, %2586
%2588 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 5
%2589 = load i64, i64* %2588
%2590 = xor i64 %2587, %2589
%2591 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 10
%2592 = load i64, i64* %2591
%2593 = xor i64 %2590, %2592
%2594 = shl i64 %2593, 1
%2595 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 13
%2596 = load i64, i64* %2595
%2597 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 15
%2598 = load i64, i64* %2597
%2599 = xor i64 %2596, %2598
%2600 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 5
%2601 = load i64, i64* %2600
%2602 = xor i64 %2599, %2601
%2603 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 10
%2604 = load i64, i64* %2603
%2605 = xor i64 %2602, %2604
%2606 = lshr i64 %2605, 31
%2607 = or i64 %2594, %2606
%2608 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 13
store i64 %2607, i64* %2608
%2609 = add i64 %2582, %2607
%2610 = add i64 %2609, 3395469782
%2611 = load i64, i64* %8
%2612 = add i64 %2611, %2610
store i64 %2612, i64* %8
%2613 = load i64, i64* %5
%2614 = shl i64 %2613, 30
%2615 = load i64, i64* %5
%2616 = lshr i64 %2615, 2
%2617 = or i64 %2614, %2616
store i64 %2617, i64* %5
%2618 = load i64, i64* %8
%2619 = shl i64 %2618, 5
%2620 = load i64, i64* %8
%2621 = lshr i64 %2620, 27
%2622 = or i64 %2619, %2621
%2623 = load i64, i64* %9
%2624 = load i64, i64* %5
%2625 = xor i64 %2623, %2624
%2626 = load i64, i64* %6
%2627 = xor i64 %2625, %2626
%2628 = add i64 %2622, %2627
%2629 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 14
%2630 = load i64, i64* %2629
%2631 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 0
%2632 = load i64, i64* %2631
%2633 = xor i64 %2630, %2632
%2634 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 6
%2635 = load i64, i64* %2634
%2636 = xor i64 %2633, %2635
%2637 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 11
%2638 = load i64, i64* %2637
%2639 = xor i64 %2636, %2638
%2640 = shl i64 %2639, 1
%2641 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 14
%2642 = load i64, i64* %2641
%2643 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 0
%2644 = load i64, i64* %2643
%2645 = xor i64 %2642, %2644
%2646 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 6
%2647 = load i64, i64* %2646
%2648 = xor i64 %2645, %2647
%2649 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 11
%2650 = load i64, i64* %2649
%2651 = xor i64 %2648, %2650
%2652 = lshr i64 %2651, 31
%2653 = or i64 %2640, %2652
%2654 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 14
store i64 %2653, i64* %2654
%2655 = add i64 %2628, %2653
%2656 = add i64 %2655, 3395469782
%2657 = load i64, i64* %7
%2658 = add i64 %2657, %2656
store i64 %2658, i64* %7
%2659 = load i64, i64* %9
%2660 = shl i64 %2659, 30
%2661 = load i64, i64* %9
%2662 = lshr i64 %2661, 2
%2663 = or i64 %2660, %2662
store i64 %2663, i64* %9
%2664 = load i64, i64* %7
%2665 = shl i64 %2664, 5
%2666 = load i64, i64* %7
%2667 = lshr i64 %2666, 27
%2668 = or i64 %2665, %2667
%2669 = load i64, i64* %8
%2670 = load i64, i64* %9
%2671 = xor i64 %2669, %2670
%2672 = load i64, i64* %5
%2673 = xor i64 %2671, %2672
%2674 = add i64 %2668, %2673
%2675 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 15
%2676 = load i64, i64* %2675
%2677 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 1
%2678 = load i64, i64* %2677
%2679 = xor i64 %2676, %2678
%2680 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 7
%2681 = load i64, i64* %2680
%2682 = xor i64 %2679, %2681
%2683 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 12
%2684 = load i64, i64* %2683
%2685 = xor i64 %2682, %2684
%2686 = shl i64 %2685, 1
%2687 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 15
%2688 = load i64, i64* %2687
%2689 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 1
%2690 = load i64, i64* %2689
%2691 = xor i64 %2688, %2690
%2692 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 7
%2693 = load i64, i64* %2692
%2694 = xor i64 %2691, %2693
%2695 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 12
%2696 = load i64, i64* %2695
%2697 = xor i64 %2694, %2696
%2698 = lshr i64 %2697, 31
%2699 = or i64 %2686, %2698
%2700 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 15
store i64 %2699, i64* %2700
%2701 = add i64 %2674, %2699
%2702 = add i64 %2701, 3395469782
%2703 = load i64, i64* %6
%2704 = add i64 %2703, %2702
store i64 %2704, i64* %6
%2705 = load i64, i64* %8
%2706 = shl i64 %2705, 30
%2707 = load i64, i64* %8
%2708 = lshr i64 %2707, 2
%2709 = or i64 %2706, %2708
store i64 %2709, i64* %8
%2710 = load i64, i64* %6
%2711 = shl i64 %2710, 5
%2712 = load i64, i64* %6
%2713 = lshr i64 %2712, 27
%2714 = or i64 %2711, %2713
%2715 = load i64, i64* %7
%2716 = load i64, i64* %8
%2717 = xor i64 %2715, %2716
%2718 = load i64, i64* %9
%2719 = xor i64 %2717, %2718
%2720 = add i64 %2714, %2719
%2721 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 0
%2722 = load i64, i64* %2721
%2723 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 2
%2724 = load i64, i64* %2723
%2725 = xor i64 %2722, %2724
%2726 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 8
%2727 = load i64, i64* %2726
%2728 = xor i64 %2725, %2727
%2729 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 13
%2730 = load i64, i64* %2729
%2731 = xor i64 %2728, %2730
%2732 = shl i64 %2731, 1
%2733 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 0
%2734 = load i64, i64* %2733
%2735 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 2
%2736 = load i64, i64* %2735
%2737 = xor i64 %2734, %2736
%2738 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 8
%2739 = load i64, i64* %2738
%2740 = xor i64 %2737, %2739
%2741 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 13
%2742 = load i64, i64* %2741
%2743 = xor i64 %2740, %2742
%2744 = lshr i64 %2743, 31
%2745 = or i64 %2732, %2744
%2746 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 0
store i64 %2745, i64* %2746
%2747 = add i64 %2720, %2745
%2748 = add i64 %2747, 3395469782
%2749 = load i64, i64* %5
%2750 = add i64 %2749, %2748
store i64 %2750, i64* %5
%2751 = load i64, i64* %7
%2752 = shl i64 %2751, 30
%2753 = load i64, i64* %7
%2754 = lshr i64 %2753, 2
%2755 = or i64 %2752, %2754
store i64 %2755, i64* %7
%2756 = load i64, i64* %5
%2757 = shl i64 %2756, 5
%2758 = load i64, i64* %5
%2759 = lshr i64 %2758, 27
%2760 = or i64 %2757, %2759
%2761 = load i64, i64* %6
%2762 = load i64, i64* %7
%2763 = xor i64 %2761, %2762
%2764 = load i64, i64* %8
%2765 = xor i64 %2763, %2764
%2766 = add i64 %2760, %2765
%2767 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 1
%2768 = load i64, i64* %2767
%2769 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 3
%2770 = load i64, i64* %2769
%2771 = xor i64 %2768, %2770
%2772 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 9
%2773 = load i64, i64* %2772
%2774 = xor i64 %2771, %2773
%2775 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 14
%2776 = load i64, i64* %2775
%2777 = xor i64 %2774, %2776
%2778 = shl i64 %2777, 1
%2779 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 1
%2780 = load i64, i64* %2779
%2781 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 3
%2782 = load i64, i64* %2781
%2783 = xor i64 %2780, %2782
%2784 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 9
%2785 = load i64, i64* %2784
%2786 = xor i64 %2783, %2785
%2787 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 14
%2788 = load i64, i64* %2787
%2789 = xor i64 %2786, %2788
%2790 = lshr i64 %2789, 31
%2791 = or i64 %2778, %2790
%2792 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 1
store i64 %2791, i64* %2792
%2793 = add i64 %2766, %2791
%2794 = add i64 %2793, 3395469782
%2795 = load i64, i64* %9
%2796 = add i64 %2795, %2794
store i64 %2796, i64* %9
%2797 = load i64, i64* %6
%2798 = shl i64 %2797, 30
%2799 = load i64, i64* %6
%2800 = lshr i64 %2799, 2
%2801 = or i64 %2798, %2800
store i64 %2801, i64* %6
%2802 = load i64, i64* %9
%2803 = shl i64 %2802, 5
%2804 = load i64, i64* %9
%2805 = lshr i64 %2804, 27
%2806 = or i64 %2803, %2805
%2807 = load i64, i64* %5
%2808 = load i64, i64* %6
%2809 = xor i64 %2807, %2808
%2810 = load i64, i64* %7
%2811 = xor i64 %2809, %2810
%2812 = add i64 %2806, %2811
%2813 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 2
%2814 = load i64, i64* %2813
%2815 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 4
%2816 = load i64, i64* %2815
%2817 = xor i64 %2814, %2816
%2818 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 10
%2819 = load i64, i64* %2818
%2820 = xor i64 %2817, %2819
%2821 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 15
%2822 = load i64, i64* %2821
%2823 = xor i64 %2820, %2822
%2824 = shl i64 %2823, 1
%2825 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 2
%2826 = load i64, i64* %2825
%2827 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 4
%2828 = load i64, i64* %2827
%2829 = xor i64 %2826, %2828
%2830 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 10
%2831 = load i64, i64* %2830
%2832 = xor i64 %2829, %2831
%2833 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 15
%2834 = load i64, i64* %2833
%2835 = xor i64 %2832, %2834
%2836 = lshr i64 %2835, 31
%2837 = or i64 %2824, %2836
%2838 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 2
store i64 %2837, i64* %2838
%2839 = add i64 %2812, %2837
%2840 = add i64 %2839, 3395469782
%2841 = load i64, i64* %8
%2842 = add i64 %2841, %2840
store i64 %2842, i64* %8
%2843 = load i64, i64* %5
%2844 = shl i64 %2843, 30
%2845 = load i64, i64* %5
%2846 = lshr i64 %2845, 2
%2847 = or i64 %2844, %2846
store i64 %2847, i64* %5
%2848 = load i64, i64* %8
%2849 = shl i64 %2848, 5
%2850 = load i64, i64* %8
%2851 = lshr i64 %2850, 27
%2852 = or i64 %2849, %2851
%2853 = load i64, i64* %9
%2854 = load i64, i64* %5
%2855 = xor i64 %2853, %2854
%2856 = load i64, i64* %6
%2857 = xor i64 %2855, %2856
%2858 = add i64 %2852, %2857
%2859 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 3
%2860 = load i64, i64* %2859
%2861 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 5
%2862 = load i64, i64* %2861
%2863 = xor i64 %2860, %2862
%2864 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 11
%2865 = load i64, i64* %2864
%2866 = xor i64 %2863, %2865
%2867 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 0
%2868 = load i64, i64* %2867
%2869 = xor i64 %2866, %2868
%2870 = shl i64 %2869, 1
%2871 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 3
%2872 = load i64, i64* %2871
%2873 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 5
%2874 = load i64, i64* %2873
%2875 = xor i64 %2872, %2874
%2876 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 11
%2877 = load i64, i64* %2876
%2878 = xor i64 %2875, %2877
%2879 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 0
%2880 = load i64, i64* %2879
%2881 = xor i64 %2878, %2880
%2882 = lshr i64 %2881, 31
%2883 = or i64 %2870, %2882
%2884 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 3
store i64 %2883, i64* %2884
%2885 = add i64 %2858, %2883
%2886 = add i64 %2885, 3395469782
%2887 = load i64, i64* %7
%2888 = add i64 %2887, %2886
store i64 %2888, i64* %7
%2889 = load i64, i64* %9
%2890 = shl i64 %2889, 30
%2891 = load i64, i64* %9
%2892 = lshr i64 %2891, 2
%2893 = or i64 %2890, %2892
store i64 %2893, i64* %9
%2894 = load i64, i64* %7
%2895 = shl i64 %2894, 5
%2896 = load i64, i64* %7
%2897 = lshr i64 %2896, 27
%2898 = or i64 %2895, %2897
%2899 = load i64, i64* %8
%2900 = load i64, i64* %9
%2901 = xor i64 %2899, %2900
%2902 = load i64, i64* %5
%2903 = xor i64 %2901, %2902
%2904 = add i64 %2898, %2903
%2905 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 4
%2906 = load i64, i64* %2905
%2907 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 6
%2908 = load i64, i64* %2907
%2909 = xor i64 %2906, %2908
%2910 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 12
%2911 = load i64, i64* %2910
%2912 = xor i64 %2909, %2911
%2913 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 1
%2914 = load i64, i64* %2913
%2915 = xor i64 %2912, %2914
%2916 = shl i64 %2915, 1
%2917 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 4
%2918 = load i64, i64* %2917
%2919 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 6
%2920 = load i64, i64* %2919
%2921 = xor i64 %2918, %2920
%2922 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 12
%2923 = load i64, i64* %2922
%2924 = xor i64 %2921, %2923
%2925 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 1
%2926 = load i64, i64* %2925
%2927 = xor i64 %2924, %2926
%2928 = lshr i64 %2927, 31
%2929 = or i64 %2916, %2928
%2930 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 4
store i64 %2929, i64* %2930
%2931 = add i64 %2904, %2929
%2932 = add i64 %2931, 3395469782
%2933 = load i64, i64* %6
%2934 = add i64 %2933, %2932
store i64 %2934, i64* %6
%2935 = load i64, i64* %8
%2936 = shl i64 %2935, 30
%2937 = load i64, i64* %8
%2938 = lshr i64 %2937, 2
%2939 = or i64 %2936, %2938
store i64 %2939, i64* %8
%2940 = load i64, i64* %6
%2941 = shl i64 %2940, 5
%2942 = load i64, i64* %6
%2943 = lshr i64 %2942, 27
%2944 = or i64 %2941, %2943
%2945 = load i64, i64* %7
%2946 = load i64, i64* %8
%2947 = xor i64 %2945, %2946
%2948 = load i64, i64* %9
%2949 = xor i64 %2947, %2948
%2950 = add i64 %2944, %2949
%2951 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 5
%2952 = load i64, i64* %2951
%2953 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 7
%2954 = load i64, i64* %2953
%2955 = xor i64 %2952, %2954
%2956 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 13
%2957 = load i64, i64* %2956
%2958 = xor i64 %2955, %2957
%2959 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 2
%2960 = load i64, i64* %2959
%2961 = xor i64 %2958, %2960
%2962 = shl i64 %2961, 1
%2963 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 5
%2964 = load i64, i64* %2963
%2965 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 7
%2966 = load i64, i64* %2965
%2967 = xor i64 %2964, %2966
%2968 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 13
%2969 = load i64, i64* %2968
%2970 = xor i64 %2967, %2969
%2971 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 2
%2972 = load i64, i64* %2971
%2973 = xor i64 %2970, %2972
%2974 = lshr i64 %2973, 31
%2975 = or i64 %2962, %2974
%2976 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 5
store i64 %2975, i64* %2976
%2977 = add i64 %2950, %2975
%2978 = add i64 %2977, 3395469782
%2979 = load i64, i64* %5
%2980 = add i64 %2979, %2978
store i64 %2980, i64* %5
%2981 = load i64, i64* %7
%2982 = shl i64 %2981, 30
%2983 = load i64, i64* %7
%2984 = lshr i64 %2983, 2
%2985 = or i64 %2982, %2984
store i64 %2985, i64* %7
%2986 = load i64, i64* %5
%2987 = shl i64 %2986, 5
%2988 = load i64, i64* %5
%2989 = lshr i64 %2988, 27
%2990 = or i64 %2987, %2989
%2991 = load i64, i64* %6
%2992 = load i64, i64* %7
%2993 = xor i64 %2991, %2992
%2994 = load i64, i64* %8
%2995 = xor i64 %2993, %2994
%2996 = add i64 %2990, %2995
%2997 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 6
%2998 = load i64, i64* %2997
%2999 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 8
%3000 = load i64, i64* %2999
%3001 = xor i64 %2998, %3000
%3002 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 14
%3003 = load i64, i64* %3002
%3004 = xor i64 %3001, %3003
%3005 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 3
%3006 = load i64, i64* %3005
%3007 = xor i64 %3004, %3006
%3008 = shl i64 %3007, 1
%3009 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 6
%3010 = load i64, i64* %3009
%3011 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 8
%3012 = load i64, i64* %3011
%3013 = xor i64 %3010, %3012
%3014 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 14
%3015 = load i64, i64* %3014
%3016 = xor i64 %3013, %3015
%3017 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 3
%3018 = load i64, i64* %3017
%3019 = xor i64 %3016, %3018
%3020 = lshr i64 %3019, 31
%3021 = or i64 %3008, %3020
%3022 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 6
store i64 %3021, i64* %3022
%3023 = add i64 %2996, %3021
%3024 = add i64 %3023, 3395469782
%3025 = load i64, i64* %9
%3026 = add i64 %3025, %3024
store i64 %3026, i64* %9
%3027 = load i64, i64* %6
%3028 = shl i64 %3027, 30
%3029 = load i64, i64* %6
%3030 = lshr i64 %3029, 2
%3031 = or i64 %3028, %3030
store i64 %3031, i64* %6
%3032 = load i64, i64* %9
%3033 = shl i64 %3032, 5
%3034 = load i64, i64* %9
%3035 = lshr i64 %3034, 27
%3036 = or i64 %3033, %3035
%3037 = load i64, i64* %5
%3038 = load i64, i64* %6
%3039 = xor i64 %3037, %3038
%3040 = load i64, i64* %7
%3041 = xor i64 %3039, %3040
%3042 = add i64 %3036, %3041
%3043 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 7
%3044 = load i64, i64* %3043
%3045 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 9
%3046 = load i64, i64* %3045
%3047 = xor i64 %3044, %3046
%3048 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 15
%3049 = load i64, i64* %3048
%3050 = xor i64 %3047, %3049
%3051 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 4
%3052 = load i64, i64* %3051
%3053 = xor i64 %3050, %3052
%3054 = shl i64 %3053, 1
%3055 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 7
%3056 = load i64, i64* %3055
%3057 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 9
%3058 = load i64, i64* %3057
%3059 = xor i64 %3056, %3058
%3060 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 15
%3061 = load i64, i64* %3060
%3062 = xor i64 %3059, %3061
%3063 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 4
%3064 = load i64, i64* %3063
%3065 = xor i64 %3062, %3064
%3066 = lshr i64 %3065, 31
%3067 = or i64 %3054, %3066
%3068 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 7
store i64 %3067, i64* %3068
%3069 = add i64 %3042, %3067
%3070 = add i64 %3069, 3395469782
%3071 = load i64, i64* %8
%3072 = add i64 %3071, %3070
store i64 %3072, i64* %8
%3073 = load i64, i64* %5
%3074 = shl i64 %3073, 30
%3075 = load i64, i64* %5
%3076 = lshr i64 %3075, 2
%3077 = or i64 %3074, %3076
store i64 %3077, i64* %5
%3078 = load i64, i64* %8
%3079 = shl i64 %3078, 5
%3080 = load i64, i64* %8
%3081 = lshr i64 %3080, 27
%3082 = or i64 %3079, %3081
%3083 = load i64, i64* %9
%3084 = load i64, i64* %5
%3085 = xor i64 %3083, %3084
%3086 = load i64, i64* %6
%3087 = xor i64 %3085, %3086
%3088 = add i64 %3082, %3087
%3089 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 8
%3090 = load i64, i64* %3089
%3091 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 10
%3092 = load i64, i64* %3091
%3093 = xor i64 %3090, %3092
%3094 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 0
%3095 = load i64, i64* %3094
%3096 = xor i64 %3093, %3095
%3097 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 5
%3098 = load i64, i64* %3097
%3099 = xor i64 %3096, %3098
%3100 = shl i64 %3099, 1
%3101 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 8
%3102 = load i64, i64* %3101
%3103 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 10
%3104 = load i64, i64* %3103
%3105 = xor i64 %3102, %3104
%3106 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 0
%3107 = load i64, i64* %3106
%3108 = xor i64 %3105, %3107
%3109 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 5
%3110 = load i64, i64* %3109
%3111 = xor i64 %3108, %3110
%3112 = lshr i64 %3111, 31
%3113 = or i64 %3100, %3112
%3114 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 8
store i64 %3113, i64* %3114
%3115 = add i64 %3088, %3113
%3116 = add i64 %3115, 3395469782
%3117 = load i64, i64* %7
%3118 = add i64 %3117, %3116
store i64 %3118, i64* %7
%3119 = load i64, i64* %9
%3120 = shl i64 %3119, 30
%3121 = load i64, i64* %9
%3122 = lshr i64 %3121, 2
%3123 = or i64 %3120, %3122
store i64 %3123, i64* %9
%3124 = load i64, i64* %7
%3125 = shl i64 %3124, 5
%3126 = load i64, i64* %7
%3127 = lshr i64 %3126, 27
%3128 = or i64 %3125, %3127
%3129 = load i64, i64* %8
%3130 = load i64, i64* %9
%3131 = xor i64 %3129, %3130
%3132 = load i64, i64* %5
%3133 = xor i64 %3131, %3132
%3134 = add i64 %3128, %3133
%3135 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 9
%3136 = load i64, i64* %3135
%3137 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 11
%3138 = load i64, i64* %3137
%3139 = xor i64 %3136, %3138
%3140 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 1
%3141 = load i64, i64* %3140
%3142 = xor i64 %3139, %3141
%3143 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 6
%3144 = load i64, i64* %3143
%3145 = xor i64 %3142, %3144
%3146 = shl i64 %3145, 1
%3147 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 9
%3148 = load i64, i64* %3147
%3149 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 11
%3150 = load i64, i64* %3149
%3151 = xor i64 %3148, %3150
%3152 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 1
%3153 = load i64, i64* %3152
%3154 = xor i64 %3151, %3153
%3155 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 6
%3156 = load i64, i64* %3155
%3157 = xor i64 %3154, %3156
%3158 = lshr i64 %3157, 31
%3159 = or i64 %3146, %3158
%3160 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 9
store i64 %3159, i64* %3160
%3161 = add i64 %3134, %3159
%3162 = add i64 %3161, 3395469782
%3163 = load i64, i64* %6
%3164 = add i64 %3163, %3162
store i64 %3164, i64* %6
%3165 = load i64, i64* %8
%3166 = shl i64 %3165, 30
%3167 = load i64, i64* %8
%3168 = lshr i64 %3167, 2
%3169 = or i64 %3166, %3168
store i64 %3169, i64* %8
%3170 = load i64, i64* %6
%3171 = shl i64 %3170, 5
%3172 = load i64, i64* %6
%3173 = lshr i64 %3172, 27
%3174 = or i64 %3171, %3173
%3175 = load i64, i64* %7
%3176 = load i64, i64* %8
%3177 = xor i64 %3175, %3176
%3178 = load i64, i64* %9
%3179 = xor i64 %3177, %3178
%3180 = add i64 %3174, %3179
%3181 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 10
%3182 = load i64, i64* %3181
%3183 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 12
%3184 = load i64, i64* %3183
%3185 = xor i64 %3182, %3184
%3186 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 2
%3187 = load i64, i64* %3186
%3188 = xor i64 %3185, %3187
%3189 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 7
%3190 = load i64, i64* %3189
%3191 = xor i64 %3188, %3190
%3192 = shl i64 %3191, 1
%3193 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 10
%3194 = load i64, i64* %3193
%3195 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 12
%3196 = load i64, i64* %3195
%3197 = xor i64 %3194, %3196
%3198 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 2
%3199 = load i64, i64* %3198
%3200 = xor i64 %3197, %3199
%3201 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 7
%3202 = load i64, i64* %3201
%3203 = xor i64 %3200, %3202
%3204 = lshr i64 %3203, 31
%3205 = or i64 %3192, %3204
%3206 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 10
store i64 %3205, i64* %3206
%3207 = add i64 %3180, %3205
%3208 = add i64 %3207, 3395469782
%3209 = load i64, i64* %5
%3210 = add i64 %3209, %3208
store i64 %3210, i64* %5
%3211 = load i64, i64* %7
%3212 = shl i64 %3211, 30
%3213 = load i64, i64* %7
%3214 = lshr i64 %3213, 2
%3215 = or i64 %3212, %3214
store i64 %3215, i64* %7
%3216 = load i64, i64* %5
%3217 = shl i64 %3216, 5
%3218 = load i64, i64* %5
%3219 = lshr i64 %3218, 27
%3220 = or i64 %3217, %3219
%3221 = load i64, i64* %6
%3222 = load i64, i64* %7
%3223 = xor i64 %3221, %3222
%3224 = load i64, i64* %8
%3225 = xor i64 %3223, %3224
%3226 = add i64 %3220, %3225
%3227 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 11
%3228 = load i64, i64* %3227
%3229 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 13
%3230 = load i64, i64* %3229
%3231 = xor i64 %3228, %3230
%3232 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 3
%3233 = load i64, i64* %3232
%3234 = xor i64 %3231, %3233
%3235 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 8
%3236 = load i64, i64* %3235
%3237 = xor i64 %3234, %3236
%3238 = shl i64 %3237, 1
%3239 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 11
%3240 = load i64, i64* %3239
%3241 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 13
%3242 = load i64, i64* %3241
%3243 = xor i64 %3240, %3242
%3244 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 3
%3245 = load i64, i64* %3244
%3246 = xor i64 %3243, %3245
%3247 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 8
%3248 = load i64, i64* %3247
%3249 = xor i64 %3246, %3248
%3250 = lshr i64 %3249, 31
%3251 = or i64 %3238, %3250
%3252 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 11
store i64 %3251, i64* %3252
%3253 = add i64 %3226, %3251
%3254 = add i64 %3253, 3395469782
%3255 = load i64, i64* %9
%3256 = add i64 %3255, %3254
store i64 %3256, i64* %9
%3257 = load i64, i64* %6
%3258 = shl i64 %3257, 30
%3259 = load i64, i64* %6
%3260 = lshr i64 %3259, 2
%3261 = or i64 %3258, %3260
store i64 %3261, i64* %6
%3262 = load i64, i64* %9
%3263 = shl i64 %3262, 5
%3264 = load i64, i64* %9
%3265 = lshr i64 %3264, 27
%3266 = or i64 %3263, %3265
%3267 = load i64, i64* %5
%3268 = load i64, i64* %6
%3269 = xor i64 %3267, %3268
%3270 = load i64, i64* %7
%3271 = xor i64 %3269, %3270
%3272 = add i64 %3266, %3271
%3273 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 12
%3274 = load i64, i64* %3273
%3275 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 14
%3276 = load i64, i64* %3275
%3277 = xor i64 %3274, %3276
%3278 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 4
%3279 = load i64, i64* %3278
%3280 = xor i64 %3277, %3279
%3281 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 9
%3282 = load i64, i64* %3281
%3283 = xor i64 %3280, %3282
%3284 = shl i64 %3283, 1
%3285 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 12
%3286 = load i64, i64* %3285
%3287 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 14
%3288 = load i64, i64* %3287
%3289 = xor i64 %3286, %3288
%3290 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 4
%3291 = load i64, i64* %3290
%3292 = xor i64 %3289, %3291
%3293 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 9
%3294 = load i64, i64* %3293
%3295 = xor i64 %3292, %3294
%3296 = lshr i64 %3295, 31
%3297 = or i64 %3284, %3296
%3298 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 12
store i64 %3297, i64* %3298
%3299 = add i64 %3272, %3297
%3300 = add i64 %3299, 3395469782
%3301 = load i64, i64* %8
%3302 = add i64 %3301, %3300
store i64 %3302, i64* %8
%3303 = load i64, i64* %5
%3304 = shl i64 %3303, 30
%3305 = load i64, i64* %5
%3306 = lshr i64 %3305, 2
%3307 = or i64 %3304, %3306
store i64 %3307, i64* %5
%3308 = load i64, i64* %8
%3309 = shl i64 %3308, 5
%3310 = load i64, i64* %8
%3311 = lshr i64 %3310, 27
%3312 = or i64 %3309, %3311
%3313 = load i64, i64* %9
%3314 = load i64, i64* %5
%3315 = xor i64 %3313, %3314
%3316 = load i64, i64* %6
%3317 = xor i64 %3315, %3316
%3318 = add i64 %3312, %3317
%3319 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 13
%3320 = load i64, i64* %3319
%3321 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 15
%3322 = load i64, i64* %3321
%3323 = xor i64 %3320, %3322
%3324 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 5
%3325 = load i64, i64* %3324
%3326 = xor i64 %3323, %3325
%3327 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 10
%3328 = load i64, i64* %3327
%3329 = xor i64 %3326, %3328
%3330 = shl i64 %3329, 1
%3331 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 13
%3332 = load i64, i64* %3331
%3333 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 15
%3334 = load i64, i64* %3333
%3335 = xor i64 %3332, %3334
%3336 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 5
%3337 = load i64, i64* %3336
%3338 = xor i64 %3335, %3337
%3339 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 10
%3340 = load i64, i64* %3339
%3341 = xor i64 %3338, %3340
%3342 = lshr i64 %3341, 31
%3343 = or i64 %3330, %3342
%3344 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 13
store i64 %3343, i64* %3344
%3345 = add i64 %3318, %3343
%3346 = add i64 %3345, 3395469782
%3347 = load i64, i64* %7
%3348 = add i64 %3347, %3346
store i64 %3348, i64* %7
%3349 = load i64, i64* %9
%3350 = shl i64 %3349, 30
%3351 = load i64, i64* %9
%3352 = lshr i64 %3351, 2
%3353 = or i64 %3350, %3352
store i64 %3353, i64* %9
%3354 = load i64, i64* %7
%3355 = shl i64 %3354, 5
%3356 = load i64, i64* %7
%3357 = lshr i64 %3356, 27
%3358 = or i64 %3355, %3357
%3359 = load i64, i64* %8
%3360 = load i64, i64* %9
%3361 = xor i64 %3359, %3360
%3362 = load i64, i64* %5
%3363 = xor i64 %3361, %3362
%3364 = add i64 %3358, %3363
%3365 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 14
%3366 = load i64, i64* %3365
%3367 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 0
%3368 = load i64, i64* %3367
%3369 = xor i64 %3366, %3368
%3370 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 6
%3371 = load i64, i64* %3370
%3372 = xor i64 %3369, %3371
%3373 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 11
%3374 = load i64, i64* %3373
%3375 = xor i64 %3372, %3374
%3376 = shl i64 %3375, 1
%3377 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 14
%3378 = load i64, i64* %3377
%3379 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 0
%3380 = load i64, i64* %3379
%3381 = xor i64 %3378, %3380
%3382 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 6
%3383 = load i64, i64* %3382
%3384 = xor i64 %3381, %3383
%3385 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 11
%3386 = load i64, i64* %3385
%3387 = xor i64 %3384, %3386
%3388 = lshr i64 %3387, 31
%3389 = or i64 %3376, %3388
%3390 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 14
store i64 %3389, i64* %3390
%3391 = add i64 %3364, %3389
%3392 = add i64 %3391, 3395469782
%3393 = load i64, i64* %6
%3394 = add i64 %3393, %3392
store i64 %3394, i64* %6
%3395 = load i64, i64* %8
%3396 = shl i64 %3395, 30
%3397 = load i64, i64* %8
%3398 = lshr i64 %3397, 2
%3399 = or i64 %3396, %3398
store i64 %3399, i64* %8
%3400 = load i64, i64* %6
%3401 = shl i64 %3400, 5
%3402 = load i64, i64* %6
%3403 = lshr i64 %3402, 27
%3404 = or i64 %3401, %3403
%3405 = load i64, i64* %7
%3406 = load i64, i64* %8
%3407 = xor i64 %3405, %3406
%3408 = load i64, i64* %9
%3409 = xor i64 %3407, %3408
%3410 = add i64 %3404, %3409
%3411 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 15
%3412 = load i64, i64* %3411
%3413 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 1
%3414 = load i64, i64* %3413
%3415 = xor i64 %3412, %3414
%3416 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 7
%3417 = load i64, i64* %3416
%3418 = xor i64 %3415, %3417
%3419 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 12
%3420 = load i64, i64* %3419
%3421 = xor i64 %3418, %3420
%3422 = shl i64 %3421, 1
%3423 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 15
%3424 = load i64, i64* %3423
%3425 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 1
%3426 = load i64, i64* %3425
%3427 = xor i64 %3424, %3426
%3428 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 7
%3429 = load i64, i64* %3428
%3430 = xor i64 %3427, %3429
%3431 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 12
%3432 = load i64, i64* %3431
%3433 = xor i64 %3430, %3432
%3434 = lshr i64 %3433, 31
%3435 = or i64 %3422, %3434
%3436 = getelementptr inbounds [16 x i64], [16 x i64]* %10, i64 0, i64 15
store i64 %3435, i64* %3436
%3437 = add i64 %3410, %3435
%3438 = add i64 %3437, 3395469782
%3439 = load i64, i64* %5
%3440 = add i64 %3439, %3438
store i64 %3440, i64* %5
%3441 = load i64, i64* %7
%3442 = shl i64 %3441, 30
%3443 = load i64, i64* %7
%3444 = lshr i64 %3443, 2
%3445 = or i64 %3442, %3444
store i64 %3445, i64* %7
%3446 = load i64, i64* %5
%3447 = load i64*, i64** %3
%3448 = getelementptr inbounds i64, i64* %3447, i64 0
%3449 = load i64, i64* %3448
%3450 = add i64 %3449, %3446
store i64 %3450, i64* %3448
%3451 = load i64, i64* %6
%3452 = load i64*, i64** %3
%3453 = getelementptr inbounds i64, i64* %3452, i64 1
%3454 = load i64, i64* %3453
%3455 = add i64 %3454, %3451
store i64 %3455, i64* %3453
%3456 = load i64, i64* %7
%3457 = load i64*, i64** %3
%3458 = getelementptr inbounds i64, i64* %3457, i64 2
%3459 = load i64, i64* %3458
%3460 = add i64 %3459, %3456
store i64 %3460, i64* %3458
%3461 = load i64, i64* %8
%3462 = load i64*, i64** %3
%3463 = getelementptr inbounds i64, i64* %3462, i64 3
%3464 = load i64, i64* %3463
%3465 = add i64 %3464, %3461
store i64 %3465, i64* %3463
%3466 = load i64, i64* %9
%3467 = load i64*, i64** %3
%3468 = getelementptr inbounds i64, i64* %3467, i64 4
%3469 = load i64, i64* %3468
%3470 = add i64 %3469, %3466
store i64 %3470, i64* %3468
ret void
}

LLVM IR (-O2):
define void @SHA1_Transform_HC(i64* nocapture %0, i8* nocapture %1) {
%3 = load i64, i64* %0
%4 = getelementptr inbounds i64, i64* %0, i64 1
%5 = load i64, i64* %4
%6 = getelementptr inbounds i64, i64* %0, i64 2
%7 = load i64, i64* %6
%8 = getelementptr inbounds i64, i64* %0, i64 3
%9 = load i64, i64* %8
%10 = getelementptr inbounds i64, i64* %0, i64 4
%11 = load i64, i64* %10
%12 = bitcast i8* %1 to i64*
%13 = load i64, i64* %12
%14 = getelementptr inbounds i8, i8* %1, i64 8
%15 = bitcast i8* %14 to i64*
%16 = load i64, i64* %15
%17 = getelementptr inbounds i8, i8* %1, i64 16
%18 = bitcast i8* %17 to i64*
%19 = load i64, i64* %18
%20 = getelementptr inbounds i8, i8* %1, i64 24
%21 = bitcast i8* %20 to i64*
%22 = load i64, i64* %21
%23 = getelementptr inbounds i8, i8* %1, i64 32
%24 = bitcast i8* %23 to i64*
%25 = load i64, i64* %24
%26 = getelementptr inbounds i8, i8* %1, i64 40
%27 = bitcast i8* %26 to i64*
%28 = load i64, i64* %27
%29 = getelementptr inbounds i8, i8* %1, i64 48
%30 = bitcast i8* %29 to i64*
%31 = load i64, i64* %30
%32 = getelementptr inbounds i8, i8* %1, i64 56
%33 = bitcast i8* %32 to i64*
%34 = load i64, i64* %33
%35 = shl i64 %3, 5
%36 = lshr i64 %3, 27
%37 = or i64 %35, %36
%38 = xor i64 %9, %7
%39 = and i64 %38, %5
%40 = xor i64 %39, %9
%41 = add i64 %37, 1518500249
%42 = add i64 %41, %11
%43 = add i64 %42, %13
%44 = add i64 %43, %40
%45 = shl i64 %5, 30
%46 = lshr i64 %5, 2
%47 = or i64 %45, %46
%48 = shl i64 %44, 5
%49 = lshr i64 %44, 27
%50 = or i64 %48, %49
%51 = xor i64 %47, %7
%52 = and i64 %51, %3
%53 = xor i64 %52, %7
%54 = add i64 %9, 1518500249
%55 = add i64 %54, %53
%56 = add i64 %55, %16
%57 = add i64 %56, %50
%58 = shl i64 %3, 30
%59 = lshr i64 %3, 2
%60 = or i64 %58, %59
%61 = shl i64 %57, 5
%62 = lshr i64 %57, 27
%63 = or i64 %61, %62
%64 = xor i64 %47, %60
%65 = and i64 %44, %64
%66 = xor i64 %65, %47
%67 = add i64 %7, 1518500249
%68 = add i64 %67, %19
%69 = add i64 %68, %66
%70 = add i64 %69, %63
%71 = shl i64 %44, 30
%72 = lshr i64 %44, 2
%73 = or i64 %71, %72
%74 = shl i64 %70, 5
%75 = lshr i64 %70, 27
%76 = or i64 %74, %75
%77 = xor i64 %73, %60
%78 = and i64 %57, %77
%79 = xor i64 %78, %60
%80 = add i64 %47, 1518500249
%81 = add i64 %80, %22
%82 = add i64 %81, %79
%83 = add i64 %82, %76
%84 = shl i64 %57, 30
%85 = lshr i64 %57, 2
%86 = or i64 %84, %85
%87 = shl i64 %83, 5
%88 = lshr i64 %83, 27
%89 = or i64 %87, %88
%90 = xor i64 %86, %73
%91 = and i64 %70, %90
%92 = xor i64 %91, %73
%93 = add i64 %60, 1518500249
%94 = add i64 %93, %25
%95 = add i64 %94, %92
%96 = add i64 %95, %89
%97 = shl i64 %70, 30
%98 = lshr i64 %70, 2
%99 = or i64 %97, %98
%100 = shl i64 %96, 5
%101 = lshr i64 %96, 27
%102 = or i64 %100, %101
%103 = xor i64 %99, %86
%104 = and i64 %83, %103
%105 = xor i64 %104, %86
%106 = add i64 %28, 1518500249
%107 = add i64 %106, %73
%108 = add i64 %107, %105
%109 = add i64 %108, %102
%110 = shl i64 %83, 30
%111 = lshr i64 %83, 2
%112 = or i64 %110, %111
%113 = shl i64 %109, 5
%114 = lshr i64 %109, 27
%115 = or i64 %113, %114
%116 = xor i64 %112, %99
%117 = and i64 %96, %116
%118 = xor i64 %117, %99
%119 = add i64 %31, 1518500249
%120 = add i64 %119, %86
%121 = add i64 %120, %118
%122 = add i64 %121, %115
%123 = shl i64 %96, 30
%124 = lshr i64 %96, 2
%125 = or i64 %123, %124
%126 = shl i64 %122, 5
%127 = lshr i64 %122, 27
%128 = or i64 %126, %127
%129 = xor i64 %125, %112
%130 = and i64 %109, %129
%131 = xor i64 %130, %112
%132 = add i64 %34, 1518500249
%133 = add i64 %132, %99
%134 = add i64 %133, %131
%135 = add i64 %134, %128
%136 = shl i64 %109, 30
%137 = lshr i64 %109, 2
%138 = or i64 %136, %137
%139 = shl i64 %135, 5
%140 = lshr i64 %135, 27
%141 = or i64 %139, %140
%142 = xor i64 %138, %125
%143 = and i64 %122, %142
%144 = xor i64 %143, %125
%145 = add i64 %112, 1518500249
%146 = add i64 %145, %144
%147 = add i64 %146, %141
%148 = shl i64 %122, 30
%149 = lshr i64 %122, 2
%150 = or i64 %148, %149
%151 = shl i64 %147, 5
%152 = lshr i64 %147, 27
%153 = or i64 %151, %152
%154 = xor i64 %150, %138
%155 = and i64 %135, %154
%156 = xor i64 %155, %138
%157 = add i64 %125, 1518500249
%158 = add i64 %157, %156
%159 = add i64 %158, %153
%160 = shl i64 %135, 30
%161 = lshr i64 %135, 2
%162 = or i64 %160, %161
%163 = shl i64 %159, 5
%164 = lshr i64 %159, 27
%165 = or i64 %163, %164
%166 = xor i64 %162, %150
%167 = and i64 %147, %166
%168 = xor i64 %167, %150
%169 = add i64 %138, 1518500249
%170 = add i64 %169, %168
%171 = add i64 %170, %165
%172 = shl i64 %147, 30
%173 = lshr i64 %147, 2
%174 = or i64 %172, %173
%175 = shl i64 %171, 5
%176 = lshr i64 %171, 27
%177 = or i64 %175, %176
%178 = xor i64 %174, %162
%179 = and i64 %159, %178
%180 = xor i64 %179, %162
%181 = add i64 %150, 1518500249
%182 = add i64 %181, %180
%183 = add i64 %182, %177
%184 = shl i64 %159, 30
%185 = lshr i64 %159, 2
%186 = or i64 %184, %185
%187 = shl i64 %183, 5
%188 = lshr i64 %183, 27
%189 = or i64 %187, %188
%190 = xor i64 %186, %174
%191 = and i64 %171, %190
%192 = xor i64 %191, %174
%193 = add i64 %162, 1518500249
%194 = add i64 %193, %192
%195 = add i64 %194, %189
%196 = shl i64 %171, 30
%197 = lshr i64 %171, 2
%198 = or i64 %196, %197
%199 = shl i64 %195, 5
%200 = lshr i64 %195, 27
%201 = or i64 %199, %200
%202 = xor i64 %198, %186
%203 = and i64 %183, %202
%204 = xor i64 %203, %186
%205 = add i64 %174, 1518500249
%206 = add i64 %205, %204
%207 = add i64 %206, %201
%208 = shl i64 %183, 30
%209 = lshr i64 %183, 2
%210 = or i64 %208, %209
%211 = shl i64 %207, 5
%212 = lshr i64 %207, 27
%213 = or i64 %211, %212
%214 = xor i64 %210, %198
%215 = and i64 %195, %214
%216 = xor i64 %215, %198
%217 = add i64 %186, 1518500249
%218 = add i64 %217, %216
%219 = add i64 %218, %213
%220 = shl i64 %195, 30
%221 = lshr i64 %195, 2
%222 = or i64 %220, %221
%223 = shl i64 %219, 5
%224 = lshr i64 %219, 27
%225 = or i64 %223, %224
%226 = xor i64 %222, %210
%227 = and i64 %207, %226
%228 = xor i64 %227, %210
%229 = add i64 %198, 1518500249
%230 = add i64 %229, %228
%231 = add i64 %230, %225
%232 = shl i64 %207, 30
%233 = lshr i64 %207, 2
%234 = or i64 %232, %233
%235 = shl i64 %231, 5
%236 = lshr i64 %231, 27
%237 = or i64 %235, %236
%238 = xor i64 %234, %222
%239 = and i64 %219, %238
%240 = xor i64 %239, %222
%241 = xor i64 %19, %13
%242 = shl i64 %241, 1
%243 = lshr i64 %241, 31
%244 = or i64 %242, %243
%245 = add i64 %244, 1518500249
%246 = add i64 %245, %210
%247 = add i64 %246, %240
%248 = add i64 %247, %237
%249 = shl i64 %219, 30
%250 = lshr i64 %219, 2
%251 = or i64 %249, %250
%252 = shl i64 %248, 5
%253 = lshr i64 %248, 27
%254 = or i64 %252, %253
%255 = xor i64 %251, %234
%256 = and i64 %231, %255
%257 = xor i64 %256, %234
%258 = xor i64 %22, %16
%259 = shl i64 %258, 1
%260 = lshr i64 %258, 31
%261 = or i64 %259, %260
%262 = add i64 %261, 1518500249
%263 = add i64 %262, %222
%264 = add i64 %263, %257
%265 = add i64 %264, %254
%266 = shl i64 %231, 30
%267 = lshr i64 %231, 2
%268 = or i64 %266, %267
%269 = shl i64 %265, 5
%270 = lshr i64 %265, 27
%271 = or i64 %269, %270
%272 = xor i64 %268, %251
%273 = and i64 %248, %272
%274 = xor i64 %273, %251
%275 = xor i64 %25, %19
%276 = shl i64 %275, 1
%277 = lshr i64 %275, 31
%278 = or i64 %276, %277
%279 = add i64 %278, 1518500249
%280 = add i64 %279, %234
%281 = add i64 %280, %274
%282 = add i64 %281, %271
%283 = shl i64 %248, 30
%284 = lshr i64 %248, 2
%285 = or i64 %283, %284
%286 = shl i64 %282, 5
%287 = lshr i64 %282, 27
%288 = or i64 %286, %287
%289 = xor i64 %285, %268
%290 = and i64 %265, %289
%291 = xor i64 %290, %268
%292 = xor i64 %28, %22
%293 = xor i64 %292, %244
%294 = shl i64 %293, 1
%295 = lshr i64 %293, 31
%296 = or i64 %294, %295
%297 = add i64 %296, 1518500249
%298 = add i64 %297, %251
%299 = add i64 %298, %291
%300 = add i64 %299, %288
%301 = shl i64 %265, 30
%302 = lshr i64 %265, 2
%303 = or i64 %301, %302
%304 = shl i64 %300, 5
%305 = lshr i64 %300, 27
%306 = or i64 %304, %305
%307 = xor i64 %303, %285
%308 = xor i64 %307, %282
%309 = xor i64 %31, %25
%310 = xor i64 %309, %261
%311 = shl i64 %310, 1
%312 = lshr i64 %310, 31
%313 = or i64 %311, %312
%314 = add i64 %313, 1859775393
%315 = add i64 %314, %268
%316 = add i64 %315, %308
%317 = add i64 %316, %306
%318 = shl i64 %282, 30
%319 = lshr i64 %282, 2
%320 = or i64 %318, %319
%321 = shl i64 %317, 5
%322 = lshr i64 %317, 27
%323 = or i64 %321, %322
%324 = xor i64 %320, %303
%325 = xor i64 %324, %300
%326 = xor i64 %34, %28
%327 = xor i64 %326, %278
%328 = shl i64 %327, 1
%329 = lshr i64 %327, 31
%330 = or i64 %328, %329
%331 = add i64 %330, 1859775393
%332 = add i64 %331, %285
%333 = add i64 %332, %325
%334 = add i64 %333, %323
%335 = shl i64 %300, 30
%336 = lshr i64 %300, 2
%337 = or i64 %335, %336
%338 = shl i64 %334, 5
%339 = lshr i64 %334, 27
%340 = or i64 %338, %339
%341 = xor i64 %337, %320
%342 = xor i64 %341, %317
%343 = xor i64 %296, %31
%344 = shl i64 %343, 1
%345 = lshr i64 %343, 31
%346 = or i64 %344, %345
%347 = add i64 %346, 1859775393
%348 = add i64 %347, %303
%349 = add i64 %348, %342
%350 = add i64 %349, %340
%351 = shl i64 %317, 30
%352 = lshr i64 %317, 2
%353 = or i64 %351, %352
%354 = shl i64 %350, 5
%355 = lshr i64 %350, 27
%356 = or i64 %354, %355
%357 = xor i64 %353, %337
%358 = xor i64 %357, %334
%359 = xor i64 %313, %34
%360 = shl i64 %359, 1
%361 = lshr i64 %359, 31
%362 = or i64 %360, %361
%363 = add i64 %362, 1859775393
%364 = add i64 %363, %320
%365 = add i64 %364, %358
%366 = add i64 %365, %356
%367 = shl i64 %334, 30
%368 = lshr i64 %334, 2
%369 = or i64 %367, %368
%370 = shl i64 %366, 5
%371 = lshr i64 %366, 27
%372 = or i64 %370, %371
%373 = xor i64 %369, %353
%374 = xor i64 %373, %350
%375 = xor i64 %330, %244
%376 = shl i64 %375, 1
%377 = lshr i64 %375, 31
%378 = or i64 %376, %377
%379 = add i64 %378, 1859775393
%380 = add i64 %379, %337
%381 = add i64 %380, %374
%382 = add i64 %381, %372
%383 = shl i64 %350, 30
%384 = lshr i64 %350, 2
%385 = or i64 %383, %384
%386 = shl i64 %382, 5
%387 = lshr i64 %382, 27
%388 = or i64 %386, %387
%389 = xor i64 %385, %369
%390 = xor i64 %389, %366
%391 = xor i64 %346, %261
%392 = shl i64 %391, 1
%393 = lshr i64 %391, 31
%394 = or i64 %392, %393
%395 = add i64 %394, 1859775393
%396 = add i64 %395, %353
%397 = add i64 %396, %390
%398 = add i64 %397, %388
%399 = shl i64 %366, 30
%400 = lshr i64 %366, 2
%401 = or i64 %399, %400
%402 = shl i64 %398, 5
%403 = lshr i64 %398, 27
%404 = or i64 %402, %403
%405 = xor i64 %401, %385
%406 = xor i64 %405, %382
%407 = xor i64 %362, %278
%408 = shl i64 %407, 1
%409 = lshr i64 %407, 31
%410 = or i64 %408, %409
%411 = add i64 %410, 1859775393
%412 = add i64 %411, %369
%413 = add i64 %412, %406
%414 = add i64 %413, %404
%415 = shl i64 %382, 30
%416 = lshr i64 %382, 2
%417 = or i64 %415, %416
%418 = shl i64 %414, 5
%419 = lshr i64 %414, 27
%420 = or i64 %418, %419
%421 = xor i64 %417, %401
%422 = xor i64 %421, %398
%423 = xor i64 %378, %296
%424 = shl i64 %423, 1
%425 = lshr i64 %423, 31
%426 = or i64 %424, %425
%427 = add i64 %426, 1859775393
%428 = add i64 %427, %385
%429 = add i64 %428, %422
%430 = add i64 %429, %420
%431 = shl i64 %398, 30
%432 = lshr i64 %398, 2
%433 = or i64 %431, %432
%434 = shl i64 %430, 5
%435 = lshr i64 %430, 27
%436 = or i64 %434, %435
%437 = xor i64 %433, %417
%438 = xor i64 %437, %414
%439 = xor i64 %394, %313
%440 = shl i64 %439, 1
%441 = lshr i64 %439, 31
%442 = or i64 %440, %441
%443 = add i64 %442, 1859775393
%444 = add i64 %443, %401
%445 = add i64 %444, %438
%446 = add i64 %445, %436
%447 = shl i64 %414, 30
%448 = lshr i64 %414, 2
%449 = or i64 %447, %448
%450 = shl i64 %446, 5
%451 = lshr i64 %446, 27
%452 = or i64 %450, %451
%453 = xor i64 %449, %433
%454 = xor i64 %453, %430
%455 = xor i64 %410, %330
%456 = shl i64 %455, 1
%457 = lshr i64 %455, 31
%458 = or i64 %456, %457
%459 = add i64 %458, 1859775393
%460 = add i64 %459, %417
%461 = add i64 %460, %454
%462 = add i64 %461, %452
%463 = shl i64 %430, 30
%464 = lshr i64 %430, 2
%465 = or i64 %463, %464
%466 = shl i64 %462, 5
%467 = lshr i64 %462, 27
%468 = or i64 %466, %467
%469 = xor i64 %465, %449
%470 = xor i64 %469, %446
%471 = xor i64 %346, %244
%472 = xor i64 %471, %426
%473 = shl i64 %472, 1
%474 = lshr i64 %472, 31
%475 = or i64 %473, %474
%476 = add i64 %475, 1859775393
%477 = add i64 %476, %433
%478 = add i64 %477, %470
%479 = add i64 %478, %468
%480 = shl i64 %446, 30
%481 = lshr i64 %446, 2
%482 = or i64 %480, %481
%483 = shl i64 %479, 5
%484 = lshr i64 %479, 27
%485 = or i64 %483, %484
%486 = xor i64 %482, %465
%487 = xor i64 %486, %462
%488 = xor i64 %362, %261
%489 = xor i64 %488, %442
%490 = shl i64 %489, 1
%491 = lshr i64 %489, 31
%492 = or i64 %490, %491
%493 = add i64 %492, 1859775393
%494 = add i64 %493, %449
%495 = add i64 %494, %487
%496 = add i64 %495, %485
%497 = shl i64 %462, 30
%498 = lshr i64 %462, 2
%499 = or i64 %497, %498
%500 = shl i64 %496, 5
%501 = lshr i64 %496, 27
%502 = or i64 %500, %501
%503 = xor i64 %499, %482
%504 = xor i64 %503, %479
%505 = xor i64 %278, %244
%506 = xor i64 %505, %378
%507 = xor i64 %506, %458
%508 = shl i64 %507, 1
%509 = lshr i64 %507, 31
%510 = or i64 %508, %509
%511 = add i64 %510, 1859775393
%512 = add i64 %511, %465
%513 = add i64 %512, %504
%514 = add i64 %513, %502
%515 = shl i64 %479, 30
%516 = lshr i64 %479, 2
%517 = or i64 %515, %516
%518 = shl i64 %514, 5
%519 = lshr i64 %514, 27
%520 = or i64 %518, %519
%521 = xor i64 %517, %499
%522 = xor i64 %521, %496
%523 = xor i64 %296, %261
%524 = xor i64 %523, %394
%525 = xor i64 %524, %475
%526 = shl i64 %525, 1
%527 = lshr i64 %525, 31
%528 = or i64 %526, %527
%529 = add i64 %528, 1859775393
%530 = add i64 %529, %482
%531 = add i64 %530, %522
%532 = add i64 %531, %520
%533 = shl i64 %496, 30
%534 = lshr i64 %496, 2
%535 = or i64 %533, %534
%536 = shl i64 %532, 5
%537 = lshr i64 %532, 27
%538 = or i64 %536, %537
%539 = xor i64 %535, %517
%540 = xor i64 %539, %514
%541 = xor i64 %313, %278
%542 = xor i64 %541, %410
%543 = xor i64 %542, %492
%544 = shl i64 %543, 1
%545 = lshr i64 %543, 31
%546 = or i64 %544, %545
%547 = add i64 %546, 1859775393
%548 = add i64 %547, %499
%549 = add i64 %548, %540
%550 = add i64 %549, %538
%551 = shl i64 %514, 30
%552 = lshr i64 %514, 2
%553 = or i64 %551, %552
%554 = shl i64 %550, 5
%555 = lshr i64 %550, 27
%556 = or i64 %554, %555
%557 = xor i64 %553, %535
%558 = xor i64 %557, %532
%559 = xor i64 %330, %296
%560 = xor i64 %559, %426
%561 = xor i64 %560, %510
%562 = shl i64 %561, 1
%563 = lshr i64 %561, 31
%564 = or i64 %562, %563
%565 = add i64 %564, 1859775393
%566 = add i64 %565, %517
%567 = add i64 %566, %558
%568 = add i64 %567, %556
%569 = shl i64 %532, 30
%570 = lshr i64 %532, 2
%571 = or i64 %569, %570
%572 = shl i64 %568, 5
%573 = lshr i64 %568, 27
%574 = or i64 %572, %573
%575 = xor i64 %571, %553
%576 = xor i64 %575, %550
%577 = xor i64 %346, %313
%578 = xor i64 %577, %442
%579 = xor i64 %578, %528
%580 = shl i64 %579, 1
%581 = lshr i64 %579, 31
%582 = or i64 %580, %581
%583 = add i64 %582, 1859775393
%584 = add i64 %583, %535
%585 = add i64 %584, %576
%586 = add i64 %585, %574
%587 = shl i64 %550, 30
%588 = lshr i64 %550, 2
%589 = or i64 %587, %588
%590 = shl i64 %586, 5
%591 = lshr i64 %586, 27
%592 = or i64 %590, %591
%593 = xor i64 %589, %571
%594 = xor i64 %593, %568
%595 = xor i64 %362, %330
%596 = xor i64 %595, %458
%597 = xor i64 %596, %546
%598 = shl i64 %597, 1
%599 = lshr i64 %597, 31
%600 = or i64 %598, %599
%601 = add i64 %600, 1859775393
%602 = add i64 %601, %553
%603 = add i64 %602, %594
%604 = add i64 %603, %592
%605 = shl i64 %568, 30
%606 = lshr i64 %568, 2
%607 = or i64 %605, %606
%608 = shl i64 %604, 5
%609 = lshr i64 %604, 27
%610 = or i64 %608, %609
%611 = xor i64 %607, %589
%612 = xor i64 %611, %586
%613 = xor i64 %378, %346
%614 = xor i64 %613, %475
%615 = xor i64 %614, %564
%616 = shl i64 %615, 1
%617 = lshr i64 %615, 31
%618 = or i64 %616, %617
%619 = add i64 %618, 1859775393
%620 = add i64 %619, %571
%621 = add i64 %620, %612
%622 = add i64 %621, %610
%623 = shl i64 %586, 30
%624 = lshr i64 %586, 2
%625 = or i64 %623, %624
%626 = shl i64 %622, 5
%627 = lshr i64 %622, 27
%628 = or i64 %626, %627
%629 = xor i64 %625, %607
%630 = xor i64 %629, %604
%631 = xor i64 %394, %362
%632 = xor i64 %631, %492
%633 = xor i64 %632, %582
%634 = shl i64 %633, 1
%635 = lshr i64 %633, 31
%636 = or i64 %634, %635
%637 = add i64 %636, 1859775393
%638 = add i64 %637, %589
%639 = add i64 %638, %630
%640 = add i64 %639, %628
%641 = shl i64 %604, 30
%642 = lshr i64 %604, 2
%643 = or i64 %641, %642
%644 = shl i64 %640, 5
%645 = lshr i64 %640, 27
%646 = or i64 %644, %645
%647 = or i64 %643, %625
%648 = and i64 %622, %647
%649 = and i64 %643, %625
%650 = or i64 %648, %649
%651 = xor i64 %410, %378
%652 = xor i64 %651, %510
%653 = xor i64 %652, %600
%654 = shl i64 %653, 1
%655 = lshr i64 %653, 31
%656 = or i64 %654, %655
%657 = add i64 %656, 2400959708
%658 = add i64 %657, %607
%659 = add i64 %658, %650
%660 = add i64 %659, %646
%661 = shl i64 %622, 30
%662 = lshr i64 %622, 2
%663 = or i64 %661, %662
%664 = shl i64 %660, 5
%665 = lshr i64 %660, 27
%666 = or i64 %664, %665
%667 = or i64 %663, %643
%668 = and i64 %640, %667
%669 = and i64 %663, %643
%670 = or i64 %668, %669
%671 = xor i64 %426, %394
%672 = xor i64 %671, %528
%673 = xor i64 %672, %618
%674 = shl i64 %673, 1
%675 = lshr i64 %673, 31
%676 = or i64 %674, %675
%677 = add i64 %676, 2400959708
%678 = add i64 %677, %625
%679 = add i64 %678, %670
%680 = add i64 %679, %666
%681 = shl i64 %640, 30
%682 = lshr i64 %640, 2
%683 = or i64 %681, %682
%684 = shl i64 %680, 5
%685 = lshr i64 %680, 27
%686 = or i64 %684, %685
%687 = or i64 %683, %663
%688 = and i64 %660, %687
%689 = and i64 %683, %663
%690 = or i64 %688, %689
%691 = xor i64 %442, %410
%692 = xor i64 %691, %546
%693 = xor i64 %692, %636
%694 = shl i64 %693, 1
%695 = lshr i64 %693, 31
%696 = or i64 %694, %695
%697 = add i64 %696, 2400959708
%698 = add i64 %697, %643
%699 = add i64 %698, %690
%700 = add i64 %699, %686
%701 = shl i64 %660, 30
%702 = lshr i64 %660, 2
%703 = or i64 %701, %702
%704 = shl i64 %700, 5
%705 = lshr i64 %700, 27
%706 = or i64 %704, %705
%707 = or i64 %703, %683
%708 = and i64 %680, %707
%709 = and i64 %703, %683
%710 = or i64 %708, %709
%711 = xor i64 %458, %426
%712 = xor i64 %711, %564
%713 = xor i64 %712, %656
%714 = shl i64 %713, 1
%715 = lshr i64 %713, 31
%716 = or i64 %714, %715
%717 = add i64 %716, 2400959708
%718 = add i64 %717, %663
%719 = add i64 %718, %710
%720 = add i64 %719, %706
%721 = shl i64 %680, 30
%722 = lshr i64 %680, 2
%723 = or i64 %721, %722
%724 = shl i64 %720, 5
%725 = lshr i64 %720, 27
%726 = or i64 %724, %725
%727 = or i64 %723, %703
%728 = and i64 %700, %727
%729 = and i64 %723, %703
%730 = or i64 %728, %729
%731 = xor i64 %475, %442
%732 = xor i64 %731, %582
%733 = xor i64 %732, %676
%734 = shl i64 %733, 1
%735 = lshr i64 %733, 31
%736 = or i64 %734, %735
%737 = add i64 %736, 2400959708
%738 = add i64 %737, %683
%739 = add i64 %738, %730
%740 = add i64 %739, %726
%741 = shl i64 %700, 30
%742 = lshr i64 %700, 2
%743 = or i64 %741, %742
%744 = shl i64 %740, 5
%745 = lshr i64 %740, 27
%746 = or i64 %744, %745
%747 = or i64 %743, %723
%748 = and i64 %720, %747
%749 = and i64 %743, %723
%750 = or i64 %748, %749
%751 = xor i64 %492, %458
%752 = xor i64 %751, %600
%753 = xor i64 %752, %696
%754 = shl i64 %753, 1
%755 = lshr i64 %753, 31
%756 = or i64 %754, %755
%757 = add i64 %756, 2400959708
%758 = add i64 %757, %703
%759 = add i64 %758, %750
%760 = add i64 %759, %746
%761 = shl i64 %720, 30
%762 = lshr i64 %720, 2
%763 = or i64 %761, %762
%764 = shl i64 %760, 5
%765 = lshr i64 %760, 27
%766 = or i64 %764, %765
%767 = or i64 %763, %743
%768 = and i64 %740, %767
%769 = and i64 %763, %743
%770 = or i64 %768, %769
%771 = xor i64 %510, %475
%772 = xor i64 %771, %618
%773 = xor i64 %772, %716
%774 = shl i64 %773, 1
%775 = lshr i64 %773, 31
%776 = or i64 %774, %775
%777 = add i64 %776, 2400959708
%778 = add i64 %777, %723
%779 = add i64 %778, %770
%780 = add i64 %779, %766
%781 = shl i64 %740, 30
%782 = lshr i64 %740, 2
%783 = or i64 %781, %782
%784 = shl i64 %780, 5
%785 = lshr i64 %780, 27
%786 = or i64 %784, %785
%787 = or i64 %783, %763
%788 = and i64 %760, %787
%789 = and i64 %783, %763
%790 = or i64 %788, %789
%791 = xor i64 %528, %492
%792 = xor i64 %791, %636
%793 = xor i64 %792, %736
%794 = shl i64 %793, 1
%795 = lshr i64 %793, 31
%796 = or i64 %794, %795
%797 = add i64 %796, 2400959708
%798 = add i64 %797, %743
%799 = add i64 %798, %790
%800 = add i64 %799, %786
%801 = shl i64 %760, 30
%802 = lshr i64 %760, 2
%803 = or i64 %801, %802
%804 = shl i64 %800, 5
%805 = lshr i64 %800, 27
%806 = or i64 %804, %805
%807 = or i64 %803, %783
%808 = and i64 %780, %807
%809 = and i64 %803, %783
%810 = or i64 %808, %809
%811 = xor i64 %546, %510
%812 = xor i64 %811, %656
%813 = xor i64 %812, %756
%814 = shl i64 %813, 1
%815 = lshr i64 %813, 31
%816 = or i64 %814, %815
%817 = add i64 %816, 2400959708
%818 = add i64 %817, %763
%819 = add i64 %818, %810
%820 = add i64 %819, %806
%821 = shl i64 %780, 30
%822 = lshr i64 %780, 2
%823 = or i64 %821, %822
%824 = shl i64 %820, 5
%825 = lshr i64 %820, 27
%826 = or i64 %824, %825
%827 = or i64 %823, %803
%828 = and i64 %800, %827
%829 = and i64 %823, %803
%830 = or i64 %828, %829
%831 = xor i64 %564, %528
%832 = xor i64 %831, %676
%833 = xor i64 %832, %776
%834 = shl i64 %833, 1
%835 = lshr i64 %833, 31
%836 = or i64 %834, %835
%837 = add i64 %836, 2400959708
%838 = add i64 %837, %783
%839 = add i64 %838, %830
%840 = add i64 %839, %826
%841 = shl i64 %800, 30
%842 = lshr i64 %800, 2
%843 = or i64 %841, %842
%844 = shl i64 %840, 5
%845 = lshr i64 %840, 27
%846 = or i64 %844, %845
%847 = or i64 %843, %823
%848 = and i64 %820, %847
%849 = and i64 %843, %823
%850 = or i64 %848, %849
%851 = xor i64 %582, %546
%852 = xor i64 %851, %696
%853 = xor i64 %852, %796
%854 = shl i64 %853, 1
%855 = lshr i64 %853, 31
%856 = or i64 %854, %855
%857 = add i64 %856, 2400959708
%858 = add i64 %857, %803
%859 = add i64 %858, %850
%860 = add i64 %859, %846
%861 = shl i64 %820, 30
%862 = lshr i64 %820, 2
%863 = or i64 %861, %862
%864 = shl i64 %860, 5
%865 = lshr i64 %860, 27
%866 = or i64 %864, %865
%867 = or i64 %863, %843
%868 = and i64 %840, %867
%869 = and i64 %863, %843
%870 = or i64 %868, %869
%871 = xor i64 %600, %564
%872 = xor i64 %871, %716
%873 = xor i64 %872, %816
%874 = shl i64 %873, 1
%875 = lshr i64 %873, 31
%876 = or i64 %874, %875
%877 = add i64 %876, 2400959708
%878 = add i64 %877, %823
%879 = add i64 %878, %870
%880 = add i64 %879, %866
%881 = shl i64 %840, 30
%882 = lshr i64 %840, 2
%883 = or i64 %881, %882
%884 = shl i64 %880, 5
%885 = lshr i64 %880, 27
%886 = or i64 %884, %885
%887 = or i64 %883, %863
%888 = and i64 %860, %887
%889 = and i64 %883, %863
%890 = or i64 %888, %889
%891 = xor i64 %618, %582
%892 = xor i64 %891, %736
%893 = xor i64 %892, %836
%894 = shl i64 %893, 1
%895 = lshr i64 %893, 31
%896 = or i64 %894, %895
%897 = add i64 %896, 2400959708
%898 = add i64 %897, %843
%899 = add i64 %898, %890
%900 = add i64 %899, %886
%901 = shl i64 %860, 30
%902 = lshr i64 %860, 2
%903 = or i64 %901, %902
%904 = shl i64 %900, 5
%905 = lshr i64 %900, 27
%906 = or i64 %904, %905
%907 = or i64 %903, %883
%908 = and i64 %880, %907
%909 = and i64 %903, %883
%910 = or i64 %908, %909
%911 = xor i64 %636, %600
%912 = xor i64 %911, %756
%913 = xor i64 %912, %856
%914 = shl i64 %913, 1
%915 = lshr i64 %913, 31
%916 = or i64 %914, %915
%917 = add i64 %916, 2400959708
%918 = add i64 %917, %863
%919 = add i64 %918, %910
%920 = add i64 %919, %906
%921 = shl i64 %880, 30
%922 = lshr i64 %880, 2
%923 = or i64 %921, %922
%924 = shl i64 %920, 5
%925 = lshr i64 %920, 27
%926 = or i64 %924, %925
%927 = or i64 %923, %903
%928 = and i64 %900, %927
%929 = and i64 %923, %903
%930 = or i64 %928, %929
%931 = xor i64 %656, %618
%932 = xor i64 %931, %776
%933 = xor i64 %932, %876
%934 = shl i64 %933, 1
%935 = lshr i64 %933, 31
%936 = or i64 %934, %935
%937 = add i64 %936, 2400959708
%938 = add i64 %937, %883
%939 = add i64 %938, %930
%940 = add i64 %939, %926
%941 = shl i64 %900, 30
%942 = lshr i64 %900, 2
%943 = or i64 %941, %942
%944 = shl i64 %940, 5
%945 = lshr i64 %940, 27
%946 = or i64 %944, %945
%947 = or i64 %943, %923
%948 = and i64 %920, %947
%949 = and i64 %943, %923
%950 = or i64 %948, %949
%951 = xor i64 %676, %636
%952 = xor i64 %951, %796
%953 = xor i64 %952, %896
%954 = shl i64 %953, 1
%955 = lshr i64 %953, 31
%956 = or i64 %954, %955
%957 = add i64 %956, 2400959708
%958 = add i64 %957, %903
%959 = add i64 %958, %950
%960 = add i64 %959, %946
%961 = shl i64 %920, 30
%962 = lshr i64 %920, 2
%963 = or i64 %961, %962
%964 = shl i64 %960, 5
%965 = lshr i64 %960, 27
%966 = or i64 %964, %965
%967 = or i64 %963, %943
%968 = and i64 %940, %967
%969 = and i64 %963, %943
%970 = or i64 %968, %969
%971 = xor i64 %696, %656
%972 = xor i64 %971, %816
%973 = xor i64 %972, %916
%974 = shl i64 %973, 1
%975 = lshr i64 %973, 31
%976 = or i64 %974, %975
%977 = add i64 %976, 2400959708
%978 = add i64 %977, %923
%979 = add i64 %978, %970
%980 = add i64 %979, %966
%981 = shl i64 %940, 30
%982 = lshr i64 %940, 2
%983 = or i64 %981, %982
%984 = shl i64 %980, 5
%985 = lshr i64 %980, 27
%986 = or i64 %984, %985
%987 = or i64 %983, %963
%988 = and i64 %960, %987
%989 = and i64 %983, %963
%990 = or i64 %988, %989
%991 = xor i64 %716, %676
%992 = xor i64 %991, %836
%993 = xor i64 %992, %936
%994 = shl i64 %993, 1
%995 = lshr i64 %993, 31
%996 = or i64 %994, %995
%997 = add i64 %996, 2400959708
%998 = add i64 %997, %943
%999 = add i64 %998, %990
%1000 = add i64 %999, %986
%1001 = shl i64 %960, 30
%1002 = lshr i64 %960, 2
%1003 = or i64 %1001, %1002
%1004 = shl i64 %1000, 5
%1005 = lshr i64 %1000, 27
%1006 = or i64 %1004, %1005
%1007 = or i64 %1003, %983
%1008 = and i64 %980, %1007
%1009 = and i64 %1003, %983
%1010 = or i64 %1008, %1009
%1011 = xor i64 %736, %696
%1012 = xor i64 %1011, %856
%1013 = xor i64 %1012, %956
%1014 = shl i64 %1013, 1
%1015 = lshr i64 %1013, 31
%1016 = or i64 %1014, %1015
%1017 = add i64 %1016, 2400959708
%1018 = add i64 %1017, %963
%1019 = add i64 %1018, %1010
%1020 = add i64 %1019, %1006
%1021 = shl i64 %980, 30
%1022 = lshr i64 %980, 2
%1023 = or i64 %1021, %1022
%1024 = shl i64 %1020, 5
%1025 = lshr i64 %1020, 27
%1026 = or i64 %1024, %1025
%1027 = or i64 %1023, %1003
%1028 = and i64 %1000, %1027
%1029 = and i64 %1023, %1003
%1030 = or i64 %1028, %1029
%1031 = xor i64 %756, %716
%1032 = xor i64 %1031, %876
%1033 = xor i64 %1032, %976
%1034 = shl i64 %1033, 1
%1035 = lshr i64 %1033, 31
%1036 = or i64 %1034, %1035
%1037 = add i64 %1036, 2400959708
%1038 = add i64 %1037, %983
%1039 = add i64 %1038, %1030
%1040 = add i64 %1039, %1026
%1041 = shl i64 %1000, 30
%1042 = lshr i64 %1000, 2
%1043 = or i64 %1041, %1042
%1044 = shl i64 %1040, 5
%1045 = lshr i64 %1040, 27
%1046 = or i64 %1044, %1045
%1047 = xor i64 %1043, %1023
%1048 = xor i64 %1047, %1020
%1049 = xor i64 %776, %736
%1050 = xor i64 %1049, %896
%1051 = xor i64 %1050, %996
%1052 = shl i64 %1051, 1
%1053 = lshr i64 %1051, 31
%1054 = or i64 %1052, %1053
%1055 = add i64 %1054, 3395469782
%1056 = add i64 %1055, %1003
%1057 = add i64 %1056, %1048
%1058 = add i64 %1057, %1046
%1059 = shl i64 %1020, 30
%1060 = lshr i64 %1020, 2
%1061 = or i64 %1059, %1060
%1062 = shl i64 %1058, 5
%1063 = lshr i64 %1058, 27
%1064 = or i64 %1062, %1063
%1065 = xor i64 %1061, %1043
%1066 = xor i64 %1065, %1040
%1067 = xor i64 %796, %756
%1068 = xor i64 %1067, %916
%1069 = xor i64 %1068, %1016
%1070 = shl i64 %1069, 1
%1071 = lshr i64 %1069, 31
%1072 = or i64 %1070, %1071
%1073 = add i64 %1072, 3395469782
%1074 = add i64 %1073, %1023
%1075 = add i64 %1074, %1066
%1076 = add i64 %1075, %1064
%1077 = shl i64 %1040, 30
%1078 = lshr i64 %1040, 2
%1079 = or i64 %1077, %1078
%1080 = shl i64 %1076, 5
%1081 = lshr i64 %1076, 27
%1082 = or i64 %1080, %1081
%1083 = xor i64 %1079, %1061
%1084 = xor i64 %1083, %1058
%1085 = xor i64 %816, %776
%1086 = xor i64 %1085, %936
%1087 = xor i64 %1086, %1036
%1088 = shl i64 %1087, 1
%1089 = lshr i64 %1087, 31
%1090 = or i64 %1088, %1089
%1091 = add i64 %1090, 3395469782
%1092 = add i64 %1091, %1043
%1093 = add i64 %1092, %1084
%1094 = add i64 %1093, %1082
%1095 = shl i64 %1058, 30
%1096 = lshr i64 %1058, 2
%1097 = or i64 %1095, %1096
%1098 = shl i64 %1094, 5
%1099 = lshr i64 %1094, 27
%1100 = or i64 %1098, %1099
%1101 = xor i64 %1097, %1079
%1102 = xor i64 %1101, %1076
%1103 = xor i64 %836, %796
%1104 = xor i64 %1103, %956
%1105 = xor i64 %1104, %1054
%1106 = shl i64 %1105, 1
%1107 = lshr i64 %1105, 31
%1108 = or i64 %1106, %1107
%1109 = add i64 %1108, 3395469782
%1110 = add i64 %1109, %1061
%1111 = add i64 %1110, %1102
%1112 = add i64 %1111, %1100
%1113 = shl i64 %1076, 30
%1114 = lshr i64 %1076, 2
%1115 = or i64 %1113, %1114
%1116 = shl i64 %1112, 5
%1117 = lshr i64 %1112, 27
%1118 = or i64 %1116, %1117
%1119 = xor i64 %1115, %1097
%1120 = xor i64 %1119, %1094
%1121 = xor i64 %856, %816
%1122 = xor i64 %1121, %976
%1123 = xor i64 %1122, %1072
%1124 = shl i64 %1123, 1
%1125 = lshr i64 %1123, 31
%1126 = or i64 %1124, %1125
%1127 = add i64 %1126, 3395469782
%1128 = add i64 %1127, %1079
%1129 = add i64 %1128, %1120
%1130 = add i64 %1129, %1118
%1131 = shl i64 %1094, 30
%1132 = lshr i64 %1094, 2
%1133 = or i64 %1131, %1132
%1134 = shl i64 %1130, 5
%1135 = lshr i64 %1130, 27
%1136 = or i64 %1134, %1135
%1137 = xor i64 %1133, %1115
%1138 = xor i64 %1137, %1112
%1139 = xor i64 %876, %836
%1140 = xor i64 %1139, %996
%1141 = xor i64 %1140, %1090
%1142 = shl i64 %1141, 1
%1143 = lshr i64 %1141, 31
%1144 = or i64 %1142, %1143
%1145 = add i64 %1144, 3395469782
%1146 = add i64 %1145, %1097
%1147 = add i64 %1146, %1138
%1148 = add i64 %1147, %1136
%1149 = shl i64 %1112, 30
%1150 = lshr i64 %1112, 2
%1151 = or i64 %1149, %1150
%1152 = shl i64 %1148, 5
%1153 = lshr i64 %1148, 27
%1154 = or i64 %1152, %1153
%1155 = xor i64 %1151, %1133
%1156 = xor i64 %1155, %1130
%1157 = xor i64 %896, %856
%1158 = xor i64 %1157, %1016
%1159 = xor i64 %1158, %1108
%1160 = shl i64 %1159, 1
%1161 = lshr i64 %1159, 31
%1162 = or i64 %1160, %1161
%1163 = add i64 %1162, 3395469782
%1164 = add i64 %1163, %1115
%1165 = add i64 %1164, %1156
%1166 = add i64 %1165, %1154
%1167 = shl i64 %1130, 30
%1168 = lshr i64 %1130, 2
%1169 = or i64 %1167, %1168
%1170 = shl i64 %1166, 5
%1171 = lshr i64 %1166, 27
%1172 = or i64 %1170, %1171
%1173 = xor i64 %1169, %1151
%1174 = xor i64 %1173, %1148
%1175 = xor i64 %916, %876
%1176 = xor i64 %1175, %1036
%1177 = xor i64 %1176, %1126
%1178 = shl i64 %1177, 1
%1179 = lshr i64 %1177, 31
%1180 = or i64 %1178, %1179
%1181 = add i64 %1180, 3395469782
%1182 = add i64 %1181, %1133
%1183 = add i64 %1182, %1174
%1184 = add i64 %1183, %1172
%1185 = shl i64 %1148, 30
%1186 = lshr i64 %1148, 2
%1187 = or i64 %1185, %1186
%1188 = shl i64 %1184, 5
%1189 = lshr i64 %1184, 27
%1190 = or i64 %1188, %1189
%1191 = xor i64 %1187, %1169
%1192 = xor i64 %1191, %1166
%1193 = xor i64 %936, %896
%1194 = xor i64 %1193, %1054
%1195 = xor i64 %1194, %1144
%1196 = shl i64 %1195, 1
%1197 = lshr i64 %1195, 31
%1198 = or i64 %1196, %1197
%1199 = add i64 %1198, 3395469782
%1200 = add i64 %1199, %1151
%1201 = add i64 %1200, %1192
%1202 = add i64 %1201, %1190
%1203 = shl i64 %1166, 30
%1204 = lshr i64 %1166, 2
%1205 = or i64 %1203, %1204
%1206 = shl i64 %1202, 5
%1207 = lshr i64 %1202, 27
%1208 = or i64 %1206, %1207
%1209 = xor i64 %1205, %1187
%1210 = xor i64 %1209, %1184
%1211 = xor i64 %956, %916
%1212 = xor i64 %1211, %1072
%1213 = xor i64 %1212, %1162
%1214 = shl i64 %1213, 1
%1215 = lshr i64 %1213, 31
%1216 = or i64 %1214, %1215
%1217 = add i64 %1216, 3395469782
%1218 = add i64 %1217, %1169
%1219 = add i64 %1218, %1210
%1220 = add i64 %1219, %1208
%1221 = shl i64 %1184, 30
%1222 = lshr i64 %1184, 2
%1223 = or i64 %1221, %1222
%1224 = shl i64 %1220, 5
%1225 = lshr i64 %1220, 27
%1226 = or i64 %1224, %1225
%1227 = xor i64 %1223, %1205
%1228 = xor i64 %1227, %1202
%1229 = xor i64 %976, %936
%1230 = xor i64 %1229, %1090
%1231 = xor i64 %1230, %1180
%1232 = shl i64 %1231, 1
%1233 = lshr i64 %1231, 31
%1234 = or i64 %1232, %1233
%1235 = add i64 %1234, 3395469782
%1236 = add i64 %1235, %1187
%1237 = add i64 %1236, %1228
%1238 = add i64 %1237, %1226
%1239 = shl i64 %1202, 30
%1240 = lshr i64 %1202, 2
%1241 = or i64 %1239, %1240
%1242 = shl i64 %1238, 5
%1243 = lshr i64 %1238, 27
%1244 = or i64 %1242, %1243
%1245 = xor i64 %1241, %1223
%1246 = xor i64 %1245, %1220
%1247 = xor i64 %996, %956
%1248 = xor i64 %1247, %1108
%1249 = xor i64 %1248, %1198
%1250 = shl i64 %1249, 1
%1251 = lshr i64 %1249, 31
%1252 = or i64 %1250, %1251
%1253 = add i64 %1252, 3395469782
%1254 = add i64 %1253, %1205
%1255 = add i64 %1254, %1246
%1256 = add i64 %1255, %1244
%1257 = shl i64 %1220, 30
%1258 = lshr i64 %1220, 2
%1259 = or i64 %1257, %1258
%1260 = shl i64 %1256, 5
%1261 = lshr i64 %1256, 27
%1262 = or i64 %1260, %1261
%1263 = xor i64 %1259, %1241
%1264 = xor i64 %1263, %1238
%1265 = xor i64 %1016, %976
%1266 = xor i64 %1265, %1126
%1267 = xor i64 %1266, %1216
%1268 = shl i64 %1267, 1
%1269 = lshr i64 %1267, 31
%1270 = or i64 %1268, %1269
%1271 = add i64 %1270, 3395469782
%1272 = add i64 %1271, %1223
%1273 = add i64 %1272, %1264
%1274 = add i64 %1273, %1262
%1275 = shl i64 %1238, 30
%1276 = lshr i64 %1238, 2
%1277 = or i64 %1275, %1276
%1278 = shl i64 %1274, 5
%1279 = lshr i64 %1274, 27
%1280 = or i64 %1278, %1279
%1281 = xor i64 %1277, %1259
%1282 = xor i64 %1281, %1256
%1283 = xor i64 %1036, %996
%1284 = xor i64 %1283, %1144
%1285 = xor i64 %1284, %1234
%1286 = shl i64 %1285, 1
%1287 = lshr i64 %1285, 31
%1288 = or i64 %1286, %1287
%1289 = add i64 %1288, 3395469782
%1290 = add i64 %1289, %1241
%1291 = add i64 %1290, %1282
%1292 = add i64 %1291, %1280
%1293 = shl i64 %1256, 30
%1294 = lshr i64 %1256, 2
%1295 = or i64 %1293, %1294
%1296 = shl i64 %1292, 5
%1297 = lshr i64 %1292, 27
%1298 = or i64 %1296, %1297
%1299 = xor i64 %1295, %1277
%1300 = xor i64 %1299, %1274
%1301 = xor i64 %1054, %1016
%1302 = xor i64 %1301, %1162
%1303 = xor i64 %1302, %1252
%1304 = shl i64 %1303, 1
%1305 = lshr i64 %1303, 31
%1306 = or i64 %1304, %1305
%1307 = add i64 %1306, 3395469782
%1308 = add i64 %1307, %1259
%1309 = add i64 %1308, %1300
%1310 = add i64 %1309, %1298
%1311 = shl i64 %1274, 30
%1312 = lshr i64 %1274, 2
%1313 = or i64 %1311, %1312
%1314 = shl i64 %1310, 5
%1315 = lshr i64 %1310, 27
%1316 = or i64 %1314, %1315
%1317 = xor i64 %1313, %1295
%1318 = xor i64 %1317, %1292
%1319 = xor i64 %1072, %1036
%1320 = xor i64 %1319, %1180
%1321 = xor i64 %1320, %1270
%1322 = shl i64 %1321, 1
%1323 = lshr i64 %1321, 31
%1324 = or i64 %1322, %1323
%1325 = add i64 %1324, 3395469782
%1326 = add i64 %1325, %1277
%1327 = add i64 %1326, %1318
%1328 = add i64 %1327, %1316
%1329 = shl i64 %1292, 30
%1330 = lshr i64 %1292, 2
%1331 = or i64 %1329, %1330
%1332 = shl i64 %1328, 5
%1333 = lshr i64 %1328, 27
%1334 = or i64 %1332, %1333
%1335 = xor i64 %1331, %1313
%1336 = xor i64 %1335, %1310
%1337 = xor i64 %1090, %1054
%1338 = xor i64 %1337, %1198
%1339 = xor i64 %1338, %1288
%1340 = shl i64 %1339, 1
%1341 = lshr i64 %1339, 31
%1342 = or i64 %1340, %1341
%1343 = add i64 %1342, 3395469782
%1344 = add i64 %1343, %1295
%1345 = add i64 %1344, %1336
%1346 = add i64 %1345, %1334
%1347 = shl i64 %1310, 30
%1348 = lshr i64 %1310, 2
%1349 = or i64 %1347, %1348
%1350 = shl i64 %1346, 5
%1351 = lshr i64 %1346, 27
%1352 = or i64 %1350, %1351
%1353 = xor i64 %1349, %1331
%1354 = xor i64 %1353, %1328
%1355 = xor i64 %1108, %1072
%1356 = xor i64 %1355, %1216
%1357 = xor i64 %1356, %1306
%1358 = shl i64 %1357, 1
%1359 = lshr i64 %1357, 31
%1360 = or i64 %1358, %1359
%1361 = add i64 %1360, 3395469782
%1362 = add i64 %1361, %1313
%1363 = add i64 %1362, %1354
%1364 = add i64 %1363, %1352
%1365 = shl i64 %1328, 30
%1366 = lshr i64 %1328, 2
%1367 = or i64 %1365, %1366
%1368 = shl i64 %1364, 5
%1369 = lshr i64 %1364, 27
%1370 = or i64 %1368, %1369
%1371 = xor i64 %1367, %1349
%1372 = xor i64 %1371, %1346
%1373 = xor i64 %1126, %1090
%1374 = xor i64 %1373, %1234
%1375 = xor i64 %1374, %1324
%1376 = shl i64 %1375, 1
%1377 = lshr i64 %1375, 31
%1378 = or i64 %1376, %1377
%1379 = add i64 %1378, 3395469782
%1380 = add i64 %1379, %1331
%1381 = add i64 %1380, %1372
%1382 = add i64 %1381, %1370
%1383 = shl i64 %1346, 30
%1384 = lshr i64 %1346, 2
%1385 = or i64 %1383, %1384
%1386 = shl i64 %1382, 5
%1387 = lshr i64 %1382, 27
%1388 = or i64 %1386, %1387
%1389 = xor i64 %1385, %1367
%1390 = xor i64 %1389, %1364
%1391 = xor i64 %1144, %1108
%1392 = xor i64 %1391, %1252
%1393 = xor i64 %1392, %1342
%1394 = shl i64 %1393, 1
%1395 = lshr i64 %1393, 31
%1396 = or i64 %1394, %1395
%1397 = shl i64 %1364, 30
%1398 = lshr i64 %1364, 2
%1399 = or i64 %1397, %1398
%1400 = add i64 %3, 3395469782
%1401 = add i64 %1400, %1396
%1402 = add i64 %1401, %1349
%1403 = add i64 %1402, %1390
%1404 = add i64 %1403, %1388
store i64 %1404, i64* %0
%1405 = add i64 %1382, %5
store i64 %1405, i64* %4
%1406 = add i64 %1399, %7
store i64 %1406, i64* %6
%1407 = add i64 %1385, %9
store i64 %1407, i64* %8
%1408 = add i64 %1367, %11
store i64 %1408, i64* %10
ret void
}