Text file src/crypto/internal/fips/sha512/sha512block_amd64.s

     1  // Code generated by command: go run sha512block_amd64_asm.go -out ../sha512block_amd64.s. DO NOT EDIT.
     2  
     3  //go:build !purego
     4  
     5  #include "textflag.h"
     6  
     7  // func blockAMD64(dig *Digest, p []byte)
     8  TEXT ·blockAMD64(SB), $648-32
     9  	MOVQ p_base+8(FP), SI
    10  	MOVQ p_len+16(FP), DX
    11  	SHRQ $0x07, DX
    12  	SHLQ $0x07, DX
    13  	LEAQ (SI)(DX*1), DI
    14  	MOVQ DI, 640(SP)
    15  	CMPQ SI, DI
    16  	JEQ  end
    17  	MOVQ dig+0(FP), BP
    18  	MOVQ (BP), R8
    19  	MOVQ 8(BP), R9
    20  	MOVQ 16(BP), R10
    21  	MOVQ 24(BP), R11
    22  	MOVQ 32(BP), R12
    23  	MOVQ 40(BP), R13
    24  	MOVQ 48(BP), R14
    25  	MOVQ 56(BP), R15
    26  
    27  loop:
    28  	MOVQ   SP, BP
    29  	MOVQ   (SI), AX
    30  	BSWAPQ AX
    31  	MOVQ   AX, (BP)
    32  	MOVQ   $0x428a2f98d728ae22, DX
    33  	ADDQ   AX, R15
    34  	MOVQ   R12, AX
    35  	ADDQ   DX, R15
    36  	MOVQ   R12, CX
    37  	RORQ   $0x0e, AX
    38  	MOVQ   R12, DX
    39  	RORQ   $0x12, CX
    40  	XORQ   CX, AX
    41  	MOVQ   R12, CX
    42  	RORQ   $0x29, DX
    43  	ANDQ   R13, CX
    44  	XORQ   AX, DX
    45  	MOVQ   R12, AX
    46  	NOTQ   AX
    47  	ADDQ   DX, R15
    48  	ANDQ   R14, AX
    49  	XORQ   CX, AX
    50  	ADDQ   R15, AX
    51  	MOVQ   R8, DI
    52  	MOVQ   R10, BX
    53  	RORQ   $0x1c, DI
    54  	MOVQ   R8, DX
    55  	ANDQ   R9, BX
    56  	RORQ   $0x22, DX
    57  	MOVQ   R8, CX
    58  	ANDQ   R10, CX
    59  	XORQ   DX, DI
    60  	XORQ   CX, BX
    61  	MOVQ   R8, DX
    62  	MOVQ   R9, CX
    63  	RORQ   $0x27, DX
    64  	ANDQ   R8, CX
    65  	XORQ   CX, BX
    66  	XORQ   DX, DI
    67  	ADDQ   DI, BX
    68  	MOVQ   BX, R15
    69  	ADDQ   AX, R11
    70  	ADDQ   AX, R15
    71  	MOVQ   8(SI), AX
    72  	BSWAPQ AX
    73  	MOVQ   AX, 8(BP)
    74  	MOVQ   $0x7137449123ef65cd, DX
    75  	ADDQ   AX, R14
    76  	MOVQ   R11, AX
    77  	ADDQ   DX, R14
    78  	MOVQ   R11, CX
    79  	RORQ   $0x0e, AX
    80  	MOVQ   R11, DX
    81  	RORQ   $0x12, CX
    82  	XORQ   CX, AX
    83  	MOVQ   R11, CX
    84  	RORQ   $0x29, DX
    85  	ANDQ   R12, CX
    86  	XORQ   AX, DX
    87  	MOVQ   R11, AX
    88  	NOTQ   AX
    89  	ADDQ   DX, R14
    90  	ANDQ   R13, AX
    91  	XORQ   CX, AX
    92  	ADDQ   R14, AX
    93  	MOVQ   R15, DI
    94  	MOVQ   R9, BX
    95  	RORQ   $0x1c, DI
    96  	MOVQ   R15, DX
    97  	ANDQ   R8, BX
    98  	RORQ   $0x22, DX
    99  	MOVQ   R15, CX
   100  	ANDQ   R9, CX
   101  	XORQ   DX, DI
   102  	XORQ   CX, BX
   103  	MOVQ   R15, DX
   104  	MOVQ   R8, CX
   105  	RORQ   $0x27, DX
   106  	ANDQ   R15, CX
   107  	XORQ   CX, BX
   108  	XORQ   DX, DI
   109  	ADDQ   DI, BX
   110  	MOVQ   BX, R14
   111  	ADDQ   AX, R10
   112  	ADDQ   AX, R14
   113  	MOVQ   16(SI), AX
   114  	BSWAPQ AX
   115  	MOVQ   AX, 16(BP)
   116  	MOVQ   $0xb5c0fbcfec4d3b2f, DX
   117  	ADDQ   AX, R13
   118  	MOVQ   R10, AX
   119  	ADDQ   DX, R13
   120  	MOVQ   R10, CX
   121  	RORQ   $0x0e, AX
   122  	MOVQ   R10, DX
   123  	RORQ   $0x12, CX
   124  	XORQ   CX, AX
   125  	MOVQ   R10, CX
   126  	RORQ   $0x29, DX
   127  	ANDQ   R11, CX
   128  	XORQ   AX, DX
   129  	MOVQ   R10, AX
   130  	NOTQ   AX
   131  	ADDQ   DX, R13
   132  	ANDQ   R12, AX
   133  	XORQ   CX, AX
   134  	ADDQ   R13, AX
   135  	MOVQ   R14, DI
   136  	MOVQ   R8, BX
   137  	RORQ   $0x1c, DI
   138  	MOVQ   R14, DX
   139  	ANDQ   R15, BX
   140  	RORQ   $0x22, DX
   141  	MOVQ   R14, CX
   142  	ANDQ   R8, CX
   143  	XORQ   DX, DI
   144  	XORQ   CX, BX
   145  	MOVQ   R14, DX
   146  	MOVQ   R15, CX
   147  	RORQ   $0x27, DX
   148  	ANDQ   R14, CX
   149  	XORQ   CX, BX
   150  	XORQ   DX, DI
   151  	ADDQ   DI, BX
   152  	MOVQ   BX, R13
   153  	ADDQ   AX, R9
   154  	ADDQ   AX, R13
   155  	MOVQ   24(SI), AX
   156  	BSWAPQ AX
   157  	MOVQ   AX, 24(BP)
   158  	MOVQ   $0xe9b5dba58189dbbc, DX
   159  	ADDQ   AX, R12
   160  	MOVQ   R9, AX
   161  	ADDQ   DX, R12
   162  	MOVQ   R9, CX
   163  	RORQ   $0x0e, AX
   164  	MOVQ   R9, DX
   165  	RORQ   $0x12, CX
   166  	XORQ   CX, AX
   167  	MOVQ   R9, CX
   168  	RORQ   $0x29, DX
   169  	ANDQ   R10, CX
   170  	XORQ   AX, DX
   171  	MOVQ   R9, AX
   172  	NOTQ   AX
   173  	ADDQ   DX, R12
   174  	ANDQ   R11, AX
   175  	XORQ   CX, AX
   176  	ADDQ   R12, AX
   177  	MOVQ   R13, DI
   178  	MOVQ   R15, BX
   179  	RORQ   $0x1c, DI
   180  	MOVQ   R13, DX
   181  	ANDQ   R14, BX
   182  	RORQ   $0x22, DX
   183  	MOVQ   R13, CX
   184  	ANDQ   R15, CX
   185  	XORQ   DX, DI
   186  	XORQ   CX, BX
   187  	MOVQ   R13, DX
   188  	MOVQ   R14, CX
   189  	RORQ   $0x27, DX
   190  	ANDQ   R13, CX
   191  	XORQ   CX, BX
   192  	XORQ   DX, DI
   193  	ADDQ   DI, BX
   194  	MOVQ   BX, R12
   195  	ADDQ   AX, R8
   196  	ADDQ   AX, R12
   197  	MOVQ   32(SI), AX
   198  	BSWAPQ AX
   199  	MOVQ   AX, 32(BP)
   200  	MOVQ   $0x3956c25bf348b538, DX
   201  	ADDQ   AX, R11
   202  	MOVQ   R8, AX
   203  	ADDQ   DX, R11
   204  	MOVQ   R8, CX
   205  	RORQ   $0x0e, AX
   206  	MOVQ   R8, DX
   207  	RORQ   $0x12, CX
   208  	XORQ   CX, AX
   209  	MOVQ   R8, CX
   210  	RORQ   $0x29, DX
   211  	ANDQ   R9, CX
   212  	XORQ   AX, DX
   213  	MOVQ   R8, AX
   214  	NOTQ   AX
   215  	ADDQ   DX, R11
   216  	ANDQ   R10, AX
   217  	XORQ   CX, AX
   218  	ADDQ   R11, AX
   219  	MOVQ   R12, DI
   220  	MOVQ   R14, BX
   221  	RORQ   $0x1c, DI
   222  	MOVQ   R12, DX
   223  	ANDQ   R13, BX
   224  	RORQ   $0x22, DX
   225  	MOVQ   R12, CX
   226  	ANDQ   R14, CX
   227  	XORQ   DX, DI
   228  	XORQ   CX, BX
   229  	MOVQ   R12, DX
   230  	MOVQ   R13, CX
   231  	RORQ   $0x27, DX
   232  	ANDQ   R12, CX
   233  	XORQ   CX, BX
   234  	XORQ   DX, DI
   235  	ADDQ   DI, BX
   236  	MOVQ   BX, R11
   237  	ADDQ   AX, R15
   238  	ADDQ   AX, R11
   239  	MOVQ   40(SI), AX
   240  	BSWAPQ AX
   241  	MOVQ   AX, 40(BP)
   242  	MOVQ   $0x59f111f1b605d019, DX
   243  	ADDQ   AX, R10
   244  	MOVQ   R15, AX
   245  	ADDQ   DX, R10
   246  	MOVQ   R15, CX
   247  	RORQ   $0x0e, AX
   248  	MOVQ   R15, DX
   249  	RORQ   $0x12, CX
   250  	XORQ   CX, AX
   251  	MOVQ   R15, CX
   252  	RORQ   $0x29, DX
   253  	ANDQ   R8, CX
   254  	XORQ   AX, DX
   255  	MOVQ   R15, AX
   256  	NOTQ   AX
   257  	ADDQ   DX, R10
   258  	ANDQ   R9, AX
   259  	XORQ   CX, AX
   260  	ADDQ   R10, AX
   261  	MOVQ   R11, DI
   262  	MOVQ   R13, BX
   263  	RORQ   $0x1c, DI
   264  	MOVQ   R11, DX
   265  	ANDQ   R12, BX
   266  	RORQ   $0x22, DX
   267  	MOVQ   R11, CX
   268  	ANDQ   R13, CX
   269  	XORQ   DX, DI
   270  	XORQ   CX, BX
   271  	MOVQ   R11, DX
   272  	MOVQ   R12, CX
   273  	RORQ   $0x27, DX
   274  	ANDQ   R11, CX
   275  	XORQ   CX, BX
   276  	XORQ   DX, DI
   277  	ADDQ   DI, BX
   278  	MOVQ   BX, R10
   279  	ADDQ   AX, R14
   280  	ADDQ   AX, R10
   281  	MOVQ   48(SI), AX
   282  	BSWAPQ AX
   283  	MOVQ   AX, 48(BP)
   284  	MOVQ   $0x923f82a4af194f9b, DX
   285  	ADDQ   AX, R9
   286  	MOVQ   R14, AX
   287  	ADDQ   DX, R9
   288  	MOVQ   R14, CX
   289  	RORQ   $0x0e, AX
   290  	MOVQ   R14, DX
   291  	RORQ   $0x12, CX
   292  	XORQ   CX, AX
   293  	MOVQ   R14, CX
   294  	RORQ   $0x29, DX
   295  	ANDQ   R15, CX
   296  	XORQ   AX, DX
   297  	MOVQ   R14, AX
   298  	NOTQ   AX
   299  	ADDQ   DX, R9
   300  	ANDQ   R8, AX
   301  	XORQ   CX, AX
   302  	ADDQ   R9, AX
   303  	MOVQ   R10, DI
   304  	MOVQ   R12, BX
   305  	RORQ   $0x1c, DI
   306  	MOVQ   R10, DX
   307  	ANDQ   R11, BX
   308  	RORQ   $0x22, DX
   309  	MOVQ   R10, CX
   310  	ANDQ   R12, CX
   311  	XORQ   DX, DI
   312  	XORQ   CX, BX
   313  	MOVQ   R10, DX
   314  	MOVQ   R11, CX
   315  	RORQ   $0x27, DX
   316  	ANDQ   R10, CX
   317  	XORQ   CX, BX
   318  	XORQ   DX, DI
   319  	ADDQ   DI, BX
   320  	MOVQ   BX, R9
   321  	ADDQ   AX, R13
   322  	ADDQ   AX, R9
   323  	MOVQ   56(SI), AX
   324  	BSWAPQ AX
   325  	MOVQ   AX, 56(BP)
   326  	MOVQ   $0xab1c5ed5da6d8118, DX
   327  	ADDQ   AX, R8
   328  	MOVQ   R13, AX
   329  	ADDQ   DX, R8
   330  	MOVQ   R13, CX
   331  	RORQ   $0x0e, AX
   332  	MOVQ   R13, DX
   333  	RORQ   $0x12, CX
   334  	XORQ   CX, AX
   335  	MOVQ   R13, CX
   336  	RORQ   $0x29, DX
   337  	ANDQ   R14, CX
   338  	XORQ   AX, DX
   339  	MOVQ   R13, AX
   340  	NOTQ   AX
   341  	ADDQ   DX, R8
   342  	ANDQ   R15, AX
   343  	XORQ   CX, AX
   344  	ADDQ   R8, AX
   345  	MOVQ   R9, DI
   346  	MOVQ   R11, BX
   347  	RORQ   $0x1c, DI
   348  	MOVQ   R9, DX
   349  	ANDQ   R10, BX
   350  	RORQ   $0x22, DX
   351  	MOVQ   R9, CX
   352  	ANDQ   R11, CX
   353  	XORQ   DX, DI
   354  	XORQ   CX, BX
   355  	MOVQ   R9, DX
   356  	MOVQ   R10, CX
   357  	RORQ   $0x27, DX
   358  	ANDQ   R9, CX
   359  	XORQ   CX, BX
   360  	XORQ   DX, DI
   361  	ADDQ   DI, BX
   362  	MOVQ   BX, R8
   363  	ADDQ   AX, R12
   364  	ADDQ   AX, R8
   365  	MOVQ   64(SI), AX
   366  	BSWAPQ AX
   367  	MOVQ   AX, 64(BP)
   368  	MOVQ   $0xd807aa98a3030242, DX
   369  	ADDQ   AX, R15
   370  	MOVQ   R12, AX
   371  	ADDQ   DX, R15
   372  	MOVQ   R12, CX
   373  	RORQ   $0x0e, AX
   374  	MOVQ   R12, DX
   375  	RORQ   $0x12, CX
   376  	XORQ   CX, AX
   377  	MOVQ   R12, CX
   378  	RORQ   $0x29, DX
   379  	ANDQ   R13, CX
   380  	XORQ   AX, DX
   381  	MOVQ   R12, AX
   382  	NOTQ   AX
   383  	ADDQ   DX, R15
   384  	ANDQ   R14, AX
   385  	XORQ   CX, AX
   386  	ADDQ   R15, AX
   387  	MOVQ   R8, DI
   388  	MOVQ   R10, BX
   389  	RORQ   $0x1c, DI
   390  	MOVQ   R8, DX
   391  	ANDQ   R9, BX
   392  	RORQ   $0x22, DX
   393  	MOVQ   R8, CX
   394  	ANDQ   R10, CX
   395  	XORQ   DX, DI
   396  	XORQ   CX, BX
   397  	MOVQ   R8, DX
   398  	MOVQ   R9, CX
   399  	RORQ   $0x27, DX
   400  	ANDQ   R8, CX
   401  	XORQ   CX, BX
   402  	XORQ   DX, DI
   403  	ADDQ   DI, BX
   404  	MOVQ   BX, R15
   405  	ADDQ   AX, R11
   406  	ADDQ   AX, R15
   407  	MOVQ   72(SI), AX
   408  	BSWAPQ AX
   409  	MOVQ   AX, 72(BP)
   410  	MOVQ   $0x12835b0145706fbe, DX
   411  	ADDQ   AX, R14
   412  	MOVQ   R11, AX
   413  	ADDQ   DX, R14
   414  	MOVQ   R11, CX
   415  	RORQ   $0x0e, AX
   416  	MOVQ   R11, DX
   417  	RORQ   $0x12, CX
   418  	XORQ   CX, AX
   419  	MOVQ   R11, CX
   420  	RORQ   $0x29, DX
   421  	ANDQ   R12, CX
   422  	XORQ   AX, DX
   423  	MOVQ   R11, AX
   424  	NOTQ   AX
   425  	ADDQ   DX, R14
   426  	ANDQ   R13, AX
   427  	XORQ   CX, AX
   428  	ADDQ   R14, AX
   429  	MOVQ   R15, DI
   430  	MOVQ   R9, BX
   431  	RORQ   $0x1c, DI
   432  	MOVQ   R15, DX
   433  	ANDQ   R8, BX
   434  	RORQ   $0x22, DX
   435  	MOVQ   R15, CX
   436  	ANDQ   R9, CX
   437  	XORQ   DX, DI
   438  	XORQ   CX, BX
   439  	MOVQ   R15, DX
   440  	MOVQ   R8, CX
   441  	RORQ   $0x27, DX
   442  	ANDQ   R15, CX
   443  	XORQ   CX, BX
   444  	XORQ   DX, DI
   445  	ADDQ   DI, BX
   446  	MOVQ   BX, R14
   447  	ADDQ   AX, R10
   448  	ADDQ   AX, R14
   449  	MOVQ   80(SI), AX
   450  	BSWAPQ AX
   451  	MOVQ   AX, 80(BP)
   452  	MOVQ   $0x243185be4ee4b28c, DX
   453  	ADDQ   AX, R13
   454  	MOVQ   R10, AX
   455  	ADDQ   DX, R13
   456  	MOVQ   R10, CX
   457  	RORQ   $0x0e, AX
   458  	MOVQ   R10, DX
   459  	RORQ   $0x12, CX
   460  	XORQ   CX, AX
   461  	MOVQ   R10, CX
   462  	RORQ   $0x29, DX
   463  	ANDQ   R11, CX
   464  	XORQ   AX, DX
   465  	MOVQ   R10, AX
   466  	NOTQ   AX
   467  	ADDQ   DX, R13
   468  	ANDQ   R12, AX
   469  	XORQ   CX, AX
   470  	ADDQ   R13, AX
   471  	MOVQ   R14, DI
   472  	MOVQ   R8, BX
   473  	RORQ   $0x1c, DI
   474  	MOVQ   R14, DX
   475  	ANDQ   R15, BX
   476  	RORQ   $0x22, DX
   477  	MOVQ   R14, CX
   478  	ANDQ   R8, CX
   479  	XORQ   DX, DI
   480  	XORQ   CX, BX
   481  	MOVQ   R14, DX
   482  	MOVQ   R15, CX
   483  	RORQ   $0x27, DX
   484  	ANDQ   R14, CX
   485  	XORQ   CX, BX
   486  	XORQ   DX, DI
   487  	ADDQ   DI, BX
   488  	MOVQ   BX, R13
   489  	ADDQ   AX, R9
   490  	ADDQ   AX, R13
   491  	MOVQ   88(SI), AX
   492  	BSWAPQ AX
   493  	MOVQ   AX, 88(BP)
   494  	MOVQ   $0x550c7dc3d5ffb4e2, DX
   495  	ADDQ   AX, R12
   496  	MOVQ   R9, AX
   497  	ADDQ   DX, R12
   498  	MOVQ   R9, CX
   499  	RORQ   $0x0e, AX
   500  	MOVQ   R9, DX
   501  	RORQ   $0x12, CX
   502  	XORQ   CX, AX
   503  	MOVQ   R9, CX
   504  	RORQ   $0x29, DX
   505  	ANDQ   R10, CX
   506  	XORQ   AX, DX
   507  	MOVQ   R9, AX
   508  	NOTQ   AX
   509  	ADDQ   DX, R12
   510  	ANDQ   R11, AX
   511  	XORQ   CX, AX
   512  	ADDQ   R12, AX
   513  	MOVQ   R13, DI
   514  	MOVQ   R15, BX
   515  	RORQ   $0x1c, DI
   516  	MOVQ   R13, DX
   517  	ANDQ   R14, BX
   518  	RORQ   $0x22, DX
   519  	MOVQ   R13, CX
   520  	ANDQ   R15, CX
   521  	XORQ   DX, DI
   522  	XORQ   CX, BX
   523  	MOVQ   R13, DX
   524  	MOVQ   R14, CX
   525  	RORQ   $0x27, DX
   526  	ANDQ   R13, CX
   527  	XORQ   CX, BX
   528  	XORQ   DX, DI
   529  	ADDQ   DI, BX
   530  	MOVQ   BX, R12
   531  	ADDQ   AX, R8
   532  	ADDQ   AX, R12
   533  	MOVQ   96(SI), AX
   534  	BSWAPQ AX
   535  	MOVQ   AX, 96(BP)
   536  	MOVQ   $0x72be5d74f27b896f, DX
   537  	ADDQ   AX, R11
   538  	MOVQ   R8, AX
   539  	ADDQ   DX, R11
   540  	MOVQ   R8, CX
   541  	RORQ   $0x0e, AX
   542  	MOVQ   R8, DX
   543  	RORQ   $0x12, CX
   544  	XORQ   CX, AX
   545  	MOVQ   R8, CX
   546  	RORQ   $0x29, DX
   547  	ANDQ   R9, CX
   548  	XORQ   AX, DX
   549  	MOVQ   R8, AX
   550  	NOTQ   AX
   551  	ADDQ   DX, R11
   552  	ANDQ   R10, AX
   553  	XORQ   CX, AX
   554  	ADDQ   R11, AX
   555  	MOVQ   R12, DI
   556  	MOVQ   R14, BX
   557  	RORQ   $0x1c, DI
   558  	MOVQ   R12, DX
   559  	ANDQ   R13, BX
   560  	RORQ   $0x22, DX
   561  	MOVQ   R12, CX
   562  	ANDQ   R14, CX
   563  	XORQ   DX, DI
   564  	XORQ   CX, BX
   565  	MOVQ   R12, DX
   566  	MOVQ   R13, CX
   567  	RORQ   $0x27, DX
   568  	ANDQ   R12, CX
   569  	XORQ   CX, BX
   570  	XORQ   DX, DI
   571  	ADDQ   DI, BX
   572  	MOVQ   BX, R11
   573  	ADDQ   AX, R15
   574  	ADDQ   AX, R11
   575  	MOVQ   104(SI), AX
   576  	BSWAPQ AX
   577  	MOVQ   AX, 104(BP)
   578  	MOVQ   $0x80deb1fe3b1696b1, DX
   579  	ADDQ   AX, R10
   580  	MOVQ   R15, AX
   581  	ADDQ   DX, R10
   582  	MOVQ   R15, CX
   583  	RORQ   $0x0e, AX
   584  	MOVQ   R15, DX
   585  	RORQ   $0x12, CX
   586  	XORQ   CX, AX
   587  	MOVQ   R15, CX
   588  	RORQ   $0x29, DX
   589  	ANDQ   R8, CX
   590  	XORQ   AX, DX
   591  	MOVQ   R15, AX
   592  	NOTQ   AX
   593  	ADDQ   DX, R10
   594  	ANDQ   R9, AX
   595  	XORQ   CX, AX
   596  	ADDQ   R10, AX
   597  	MOVQ   R11, DI
   598  	MOVQ   R13, BX
   599  	RORQ   $0x1c, DI
   600  	MOVQ   R11, DX
   601  	ANDQ   R12, BX
   602  	RORQ   $0x22, DX
   603  	MOVQ   R11, CX
   604  	ANDQ   R13, CX
   605  	XORQ   DX, DI
   606  	XORQ   CX, BX
   607  	MOVQ   R11, DX
   608  	MOVQ   R12, CX
   609  	RORQ   $0x27, DX
   610  	ANDQ   R11, CX
   611  	XORQ   CX, BX
   612  	XORQ   DX, DI
   613  	ADDQ   DI, BX
   614  	MOVQ   BX, R10
   615  	ADDQ   AX, R14
   616  	ADDQ   AX, R10
   617  	MOVQ   112(SI), AX
   618  	BSWAPQ AX
   619  	MOVQ   AX, 112(BP)
   620  	MOVQ   $0x9bdc06a725c71235, DX
   621  	ADDQ   AX, R9
   622  	MOVQ   R14, AX
   623  	ADDQ   DX, R9
   624  	MOVQ   R14, CX
   625  	RORQ   $0x0e, AX
   626  	MOVQ   R14, DX
   627  	RORQ   $0x12, CX
   628  	XORQ   CX, AX
   629  	MOVQ   R14, CX
   630  	RORQ   $0x29, DX
   631  	ANDQ   R15, CX
   632  	XORQ   AX, DX
   633  	MOVQ   R14, AX
   634  	NOTQ   AX
   635  	ADDQ   DX, R9
   636  	ANDQ   R8, AX
   637  	XORQ   CX, AX
   638  	ADDQ   R9, AX
   639  	MOVQ   R10, DI
   640  	MOVQ   R12, BX
   641  	RORQ   $0x1c, DI
   642  	MOVQ   R10, DX
   643  	ANDQ   R11, BX
   644  	RORQ   $0x22, DX
   645  	MOVQ   R10, CX
   646  	ANDQ   R12, CX
   647  	XORQ   DX, DI
   648  	XORQ   CX, BX
   649  	MOVQ   R10, DX
   650  	MOVQ   R11, CX
   651  	RORQ   $0x27, DX
   652  	ANDQ   R10, CX
   653  	XORQ   CX, BX
   654  	XORQ   DX, DI
   655  	ADDQ   DI, BX
   656  	MOVQ   BX, R9
   657  	ADDQ   AX, R13
   658  	ADDQ   AX, R9
   659  	MOVQ   120(SI), AX
   660  	BSWAPQ AX
   661  	MOVQ   AX, 120(BP)
   662  	MOVQ   $0xc19bf174cf692694, DX
   663  	ADDQ   AX, R8
   664  	MOVQ   R13, AX
   665  	ADDQ   DX, R8
   666  	MOVQ   R13, CX
   667  	RORQ   $0x0e, AX
   668  	MOVQ   R13, DX
   669  	RORQ   $0x12, CX
   670  	XORQ   CX, AX
   671  	MOVQ   R13, CX
   672  	RORQ   $0x29, DX
   673  	ANDQ   R14, CX
   674  	XORQ   AX, DX
   675  	MOVQ   R13, AX
   676  	NOTQ   AX
   677  	ADDQ   DX, R8
   678  	ANDQ   R15, AX
   679  	XORQ   CX, AX
   680  	ADDQ   R8, AX
   681  	MOVQ   R9, DI
   682  	MOVQ   R11, BX
   683  	RORQ   $0x1c, DI
   684  	MOVQ   R9, DX
   685  	ANDQ   R10, BX
   686  	RORQ   $0x22, DX
   687  	MOVQ   R9, CX
   688  	ANDQ   R11, CX
   689  	XORQ   DX, DI
   690  	XORQ   CX, BX
   691  	MOVQ   R9, DX
   692  	MOVQ   R10, CX
   693  	RORQ   $0x27, DX
   694  	ANDQ   R9, CX
   695  	XORQ   CX, BX
   696  	XORQ   DX, DI
   697  	ADDQ   DI, BX
   698  	MOVQ   BX, R8
   699  	ADDQ   AX, R12
   700  	ADDQ   AX, R8
   701  	MOVQ   112(BP), AX
   702  	MOVQ   AX, CX
   703  	RORQ   $0x13, AX
   704  	MOVQ   CX, DX
   705  	RORQ   $0x3d, CX
   706  	SHRQ   $0x06, DX
   707  	MOVQ   8(BP), BX
   708  	XORQ   CX, AX
   709  	MOVQ   BX, CX
   710  	XORQ   DX, AX
   711  	RORQ   $0x01, BX
   712  	MOVQ   CX, DX
   713  	SHRQ   $0x07, DX
   714  	RORQ   $0x08, CX
   715  	ADDQ   72(BP), AX
   716  	XORQ   CX, BX
   717  	XORQ   DX, BX
   718  	ADDQ   (BP), BX
   719  	ADDQ   BX, AX
   720  	MOVQ   AX, 128(BP)
   721  	MOVQ   $0xe49b69c19ef14ad2, DX
   722  	ADDQ   AX, R15
   723  	MOVQ   R12, AX
   724  	ADDQ   DX, R15
   725  	MOVQ   R12, CX
   726  	RORQ   $0x0e, AX
   727  	MOVQ   R12, DX
   728  	RORQ   $0x12, CX
   729  	XORQ   CX, AX
   730  	MOVQ   R12, CX
   731  	RORQ   $0x29, DX
   732  	ANDQ   R13, CX
   733  	XORQ   AX, DX
   734  	MOVQ   R12, AX
   735  	NOTQ   AX
   736  	ADDQ   DX, R15
   737  	ANDQ   R14, AX
   738  	XORQ   CX, AX
   739  	ADDQ   R15, AX
   740  	MOVQ   R8, DI
   741  	MOVQ   R10, BX
   742  	RORQ   $0x1c, DI
   743  	MOVQ   R8, DX
   744  	ANDQ   R9, BX
   745  	RORQ   $0x22, DX
   746  	MOVQ   R8, CX
   747  	ANDQ   R10, CX
   748  	XORQ   DX, DI
   749  	XORQ   CX, BX
   750  	MOVQ   R8, DX
   751  	MOVQ   R9, CX
   752  	RORQ   $0x27, DX
   753  	ANDQ   R8, CX
   754  	XORQ   CX, BX
   755  	XORQ   DX, DI
   756  	ADDQ   DI, BX
   757  	MOVQ   BX, R15
   758  	ADDQ   AX, R11
   759  	ADDQ   AX, R15
   760  	MOVQ   120(BP), AX
   761  	MOVQ   AX, CX
   762  	RORQ   $0x13, AX
   763  	MOVQ   CX, DX
   764  	RORQ   $0x3d, CX
   765  	SHRQ   $0x06, DX
   766  	MOVQ   16(BP), BX
   767  	XORQ   CX, AX
   768  	MOVQ   BX, CX
   769  	XORQ   DX, AX
   770  	RORQ   $0x01, BX
   771  	MOVQ   CX, DX
   772  	SHRQ   $0x07, DX
   773  	RORQ   $0x08, CX
   774  	ADDQ   80(BP), AX
   775  	XORQ   CX, BX
   776  	XORQ   DX, BX
   777  	ADDQ   8(BP), BX
   778  	ADDQ   BX, AX
   779  	MOVQ   AX, 136(BP)
   780  	MOVQ   $0xefbe4786384f25e3, DX
   781  	ADDQ   AX, R14
   782  	MOVQ   R11, AX
   783  	ADDQ   DX, R14
   784  	MOVQ   R11, CX
   785  	RORQ   $0x0e, AX
   786  	MOVQ   R11, DX
   787  	RORQ   $0x12, CX
   788  	XORQ   CX, AX
   789  	MOVQ   R11, CX
   790  	RORQ   $0x29, DX
   791  	ANDQ   R12, CX
   792  	XORQ   AX, DX
   793  	MOVQ   R11, AX
   794  	NOTQ   AX
   795  	ADDQ   DX, R14
   796  	ANDQ   R13, AX
   797  	XORQ   CX, AX
   798  	ADDQ   R14, AX
   799  	MOVQ   R15, DI
   800  	MOVQ   R9, BX
   801  	RORQ   $0x1c, DI
   802  	MOVQ   R15, DX
   803  	ANDQ   R8, BX
   804  	RORQ   $0x22, DX
   805  	MOVQ   R15, CX
   806  	ANDQ   R9, CX
   807  	XORQ   DX, DI
   808  	XORQ   CX, BX
   809  	MOVQ   R15, DX
   810  	MOVQ   R8, CX
   811  	RORQ   $0x27, DX
   812  	ANDQ   R15, CX
   813  	XORQ   CX, BX
   814  	XORQ   DX, DI
   815  	ADDQ   DI, BX
   816  	MOVQ   BX, R14
   817  	ADDQ   AX, R10
   818  	ADDQ   AX, R14
   819  	MOVQ   128(BP), AX
   820  	MOVQ   AX, CX
   821  	RORQ   $0x13, AX
   822  	MOVQ   CX, DX
   823  	RORQ   $0x3d, CX
   824  	SHRQ   $0x06, DX
   825  	MOVQ   24(BP), BX
   826  	XORQ   CX, AX
   827  	MOVQ   BX, CX
   828  	XORQ   DX, AX
   829  	RORQ   $0x01, BX
   830  	MOVQ   CX, DX
   831  	SHRQ   $0x07, DX
   832  	RORQ   $0x08, CX
   833  	ADDQ   88(BP), AX
   834  	XORQ   CX, BX
   835  	XORQ   DX, BX
   836  	ADDQ   16(BP), BX
   837  	ADDQ   BX, AX
   838  	MOVQ   AX, 144(BP)
   839  	MOVQ   $0x0fc19dc68b8cd5b5, DX
   840  	ADDQ   AX, R13
   841  	MOVQ   R10, AX
   842  	ADDQ   DX, R13
   843  	MOVQ   R10, CX
   844  	RORQ   $0x0e, AX
   845  	MOVQ   R10, DX
   846  	RORQ   $0x12, CX
   847  	XORQ   CX, AX
   848  	MOVQ   R10, CX
   849  	RORQ   $0x29, DX
   850  	ANDQ   R11, CX
   851  	XORQ   AX, DX
   852  	MOVQ   R10, AX
   853  	NOTQ   AX
   854  	ADDQ   DX, R13
   855  	ANDQ   R12, AX
   856  	XORQ   CX, AX
   857  	ADDQ   R13, AX
   858  	MOVQ   R14, DI
   859  	MOVQ   R8, BX
   860  	RORQ   $0x1c, DI
   861  	MOVQ   R14, DX
   862  	ANDQ   R15, BX
   863  	RORQ   $0x22, DX
   864  	MOVQ   R14, CX
   865  	ANDQ   R8, CX
   866  	XORQ   DX, DI
   867  	XORQ   CX, BX
   868  	MOVQ   R14, DX
   869  	MOVQ   R15, CX
   870  	RORQ   $0x27, DX
   871  	ANDQ   R14, CX
   872  	XORQ   CX, BX
   873  	XORQ   DX, DI
   874  	ADDQ   DI, BX
   875  	MOVQ   BX, R13
   876  	ADDQ   AX, R9
   877  	ADDQ   AX, R13
   878  	MOVQ   136(BP), AX
   879  	MOVQ   AX, CX
   880  	RORQ   $0x13, AX
   881  	MOVQ   CX, DX
   882  	RORQ   $0x3d, CX
   883  	SHRQ   $0x06, DX
   884  	MOVQ   32(BP), BX
   885  	XORQ   CX, AX
   886  	MOVQ   BX, CX
   887  	XORQ   DX, AX
   888  	RORQ   $0x01, BX
   889  	MOVQ   CX, DX
   890  	SHRQ   $0x07, DX
   891  	RORQ   $0x08, CX
   892  	ADDQ   96(BP), AX
   893  	XORQ   CX, BX
   894  	XORQ   DX, BX
   895  	ADDQ   24(BP), BX
   896  	ADDQ   BX, AX
   897  	MOVQ   AX, 152(BP)
   898  	MOVQ   $0x240ca1cc77ac9c65, DX
   899  	ADDQ   AX, R12
   900  	MOVQ   R9, AX
   901  	ADDQ   DX, R12
   902  	MOVQ   R9, CX
   903  	RORQ   $0x0e, AX
   904  	MOVQ   R9, DX
   905  	RORQ   $0x12, CX
   906  	XORQ   CX, AX
   907  	MOVQ   R9, CX
   908  	RORQ   $0x29, DX
   909  	ANDQ   R10, CX
   910  	XORQ   AX, DX
   911  	MOVQ   R9, AX
   912  	NOTQ   AX
   913  	ADDQ   DX, R12
   914  	ANDQ   R11, AX
   915  	XORQ   CX, AX
   916  	ADDQ   R12, AX
   917  	MOVQ   R13, DI
   918  	MOVQ   R15, BX
   919  	RORQ   $0x1c, DI
   920  	MOVQ   R13, DX
   921  	ANDQ   R14, BX
   922  	RORQ   $0x22, DX
   923  	MOVQ   R13, CX
   924  	ANDQ   R15, CX
   925  	XORQ   DX, DI
   926  	XORQ   CX, BX
   927  	MOVQ   R13, DX
   928  	MOVQ   R14, CX
   929  	RORQ   $0x27, DX
   930  	ANDQ   R13, CX
   931  	XORQ   CX, BX
   932  	XORQ   DX, DI
   933  	ADDQ   DI, BX
   934  	MOVQ   BX, R12
   935  	ADDQ   AX, R8
   936  	ADDQ   AX, R12
   937  	MOVQ   144(BP), AX
   938  	MOVQ   AX, CX
   939  	RORQ   $0x13, AX
   940  	MOVQ   CX, DX
   941  	RORQ   $0x3d, CX
   942  	SHRQ   $0x06, DX
   943  	MOVQ   40(BP), BX
   944  	XORQ   CX, AX
   945  	MOVQ   BX, CX
   946  	XORQ   DX, AX
   947  	RORQ   $0x01, BX
   948  	MOVQ   CX, DX
   949  	SHRQ   $0x07, DX
   950  	RORQ   $0x08, CX
   951  	ADDQ   104(BP), AX
   952  	XORQ   CX, BX
   953  	XORQ   DX, BX
   954  	ADDQ   32(BP), BX
   955  	ADDQ   BX, AX
   956  	MOVQ   AX, 160(BP)
   957  	MOVQ   $0x2de92c6f592b0275, DX
   958  	ADDQ   AX, R11
   959  	MOVQ   R8, AX
   960  	ADDQ   DX, R11
   961  	MOVQ   R8, CX
   962  	RORQ   $0x0e, AX
   963  	MOVQ   R8, DX
   964  	RORQ   $0x12, CX
   965  	XORQ   CX, AX
   966  	MOVQ   R8, CX
   967  	RORQ   $0x29, DX
   968  	ANDQ   R9, CX
   969  	XORQ   AX, DX
   970  	MOVQ   R8, AX
   971  	NOTQ   AX
   972  	ADDQ   DX, R11
   973  	ANDQ   R10, AX
   974  	XORQ   CX, AX
   975  	ADDQ   R11, AX
   976  	MOVQ   R12, DI
   977  	MOVQ   R14, BX
   978  	RORQ   $0x1c, DI
   979  	MOVQ   R12, DX
   980  	ANDQ   R13, BX
   981  	RORQ   $0x22, DX
   982  	MOVQ   R12, CX
   983  	ANDQ   R14, CX
   984  	XORQ   DX, DI
   985  	XORQ   CX, BX
   986  	MOVQ   R12, DX
   987  	MOVQ   R13, CX
   988  	RORQ   $0x27, DX
   989  	ANDQ   R12, CX
   990  	XORQ   CX, BX
   991  	XORQ   DX, DI
   992  	ADDQ   DI, BX
   993  	MOVQ   BX, R11
   994  	ADDQ   AX, R15
   995  	ADDQ   AX, R11
   996  	MOVQ   152(BP), AX
   997  	MOVQ   AX, CX
   998  	RORQ   $0x13, AX
   999  	MOVQ   CX, DX
  1000  	RORQ   $0x3d, CX
  1001  	SHRQ   $0x06, DX
  1002  	MOVQ   48(BP), BX
  1003  	XORQ   CX, AX
  1004  	MOVQ   BX, CX
  1005  	XORQ   DX, AX
  1006  	RORQ   $0x01, BX
  1007  	MOVQ   CX, DX
  1008  	SHRQ   $0x07, DX
  1009  	RORQ   $0x08, CX
  1010  	ADDQ   112(BP), AX
  1011  	XORQ   CX, BX
  1012  	XORQ   DX, BX
  1013  	ADDQ   40(BP), BX
  1014  	ADDQ   BX, AX
  1015  	MOVQ   AX, 168(BP)
  1016  	MOVQ   $0x4a7484aa6ea6e483, DX
  1017  	ADDQ   AX, R10
  1018  	MOVQ   R15, AX
  1019  	ADDQ   DX, R10
  1020  	MOVQ   R15, CX
  1021  	RORQ   $0x0e, AX
  1022  	MOVQ   R15, DX
  1023  	RORQ   $0x12, CX
  1024  	XORQ   CX, AX
  1025  	MOVQ   R15, CX
  1026  	RORQ   $0x29, DX
  1027  	ANDQ   R8, CX
  1028  	XORQ   AX, DX
  1029  	MOVQ   R15, AX
  1030  	NOTQ   AX
  1031  	ADDQ   DX, R10
  1032  	ANDQ   R9, AX
  1033  	XORQ   CX, AX
  1034  	ADDQ   R10, AX
  1035  	MOVQ   R11, DI
  1036  	MOVQ   R13, BX
  1037  	RORQ   $0x1c, DI
  1038  	MOVQ   R11, DX
  1039  	ANDQ   R12, BX
  1040  	RORQ   $0x22, DX
  1041  	MOVQ   R11, CX
  1042  	ANDQ   R13, CX
  1043  	XORQ   DX, DI
  1044  	XORQ   CX, BX
  1045  	MOVQ   R11, DX
  1046  	MOVQ   R12, CX
  1047  	RORQ   $0x27, DX
  1048  	ANDQ   R11, CX
  1049  	XORQ   CX, BX
  1050  	XORQ   DX, DI
  1051  	ADDQ   DI, BX
  1052  	MOVQ   BX, R10
  1053  	ADDQ   AX, R14
  1054  	ADDQ   AX, R10
  1055  	MOVQ   160(BP), AX
  1056  	MOVQ   AX, CX
  1057  	RORQ   $0x13, AX
  1058  	MOVQ   CX, DX
  1059  	RORQ   $0x3d, CX
  1060  	SHRQ   $0x06, DX
  1061  	MOVQ   56(BP), BX
  1062  	XORQ   CX, AX
  1063  	MOVQ   BX, CX
  1064  	XORQ   DX, AX
  1065  	RORQ   $0x01, BX
  1066  	MOVQ   CX, DX
  1067  	SHRQ   $0x07, DX
  1068  	RORQ   $0x08, CX
  1069  	ADDQ   120(BP), AX
  1070  	XORQ   CX, BX
  1071  	XORQ   DX, BX
  1072  	ADDQ   48(BP), BX
  1073  	ADDQ   BX, AX
  1074  	MOVQ   AX, 176(BP)
  1075  	MOVQ   $0x5cb0a9dcbd41fbd4, DX
  1076  	ADDQ   AX, R9
  1077  	MOVQ   R14, AX
  1078  	ADDQ   DX, R9
  1079  	MOVQ   R14, CX
  1080  	RORQ   $0x0e, AX
  1081  	MOVQ   R14, DX
  1082  	RORQ   $0x12, CX
  1083  	XORQ   CX, AX
  1084  	MOVQ   R14, CX
  1085  	RORQ   $0x29, DX
  1086  	ANDQ   R15, CX
  1087  	XORQ   AX, DX
  1088  	MOVQ   R14, AX
  1089  	NOTQ   AX
  1090  	ADDQ   DX, R9
  1091  	ANDQ   R8, AX
  1092  	XORQ   CX, AX
  1093  	ADDQ   R9, AX
  1094  	MOVQ   R10, DI
  1095  	MOVQ   R12, BX
  1096  	RORQ   $0x1c, DI
  1097  	MOVQ   R10, DX
  1098  	ANDQ   R11, BX
  1099  	RORQ   $0x22, DX
  1100  	MOVQ   R10, CX
  1101  	ANDQ   R12, CX
  1102  	XORQ   DX, DI
  1103  	XORQ   CX, BX
  1104  	MOVQ   R10, DX
  1105  	MOVQ   R11, CX
  1106  	RORQ   $0x27, DX
  1107  	ANDQ   R10, CX
  1108  	XORQ   CX, BX
  1109  	XORQ   DX, DI
  1110  	ADDQ   DI, BX
  1111  	MOVQ   BX, R9
  1112  	ADDQ   AX, R13
  1113  	ADDQ   AX, R9
  1114  	MOVQ   168(BP), AX
  1115  	MOVQ   AX, CX
  1116  	RORQ   $0x13, AX
  1117  	MOVQ   CX, DX
  1118  	RORQ   $0x3d, CX
  1119  	SHRQ   $0x06, DX
  1120  	MOVQ   64(BP), BX
  1121  	XORQ   CX, AX
  1122  	MOVQ   BX, CX
  1123  	XORQ   DX, AX
  1124  	RORQ   $0x01, BX
  1125  	MOVQ   CX, DX
  1126  	SHRQ   $0x07, DX
  1127  	RORQ   $0x08, CX
  1128  	ADDQ   128(BP), AX
  1129  	XORQ   CX, BX
  1130  	XORQ   DX, BX
  1131  	ADDQ   56(BP), BX
  1132  	ADDQ   BX, AX
  1133  	MOVQ   AX, 184(BP)
  1134  	MOVQ   $0x76f988da831153b5, DX
  1135  	ADDQ   AX, R8
  1136  	MOVQ   R13, AX
  1137  	ADDQ   DX, R8
  1138  	MOVQ   R13, CX
  1139  	RORQ   $0x0e, AX
  1140  	MOVQ   R13, DX
  1141  	RORQ   $0x12, CX
  1142  	XORQ   CX, AX
  1143  	MOVQ   R13, CX
  1144  	RORQ   $0x29, DX
  1145  	ANDQ   R14, CX
  1146  	XORQ   AX, DX
  1147  	MOVQ   R13, AX
  1148  	NOTQ   AX
  1149  	ADDQ   DX, R8
  1150  	ANDQ   R15, AX
  1151  	XORQ   CX, AX
  1152  	ADDQ   R8, AX
  1153  	MOVQ   R9, DI
  1154  	MOVQ   R11, BX
  1155  	RORQ   $0x1c, DI
  1156  	MOVQ   R9, DX
  1157  	ANDQ   R10, BX
  1158  	RORQ   $0x22, DX
  1159  	MOVQ   R9, CX
  1160  	ANDQ   R11, CX
  1161  	XORQ   DX, DI
  1162  	XORQ   CX, BX
  1163  	MOVQ   R9, DX
  1164  	MOVQ   R10, CX
  1165  	RORQ   $0x27, DX
  1166  	ANDQ   R9, CX
  1167  	XORQ   CX, BX
  1168  	XORQ   DX, DI
  1169  	ADDQ   DI, BX
  1170  	MOVQ   BX, R8
  1171  	ADDQ   AX, R12
  1172  	ADDQ   AX, R8
  1173  	MOVQ   176(BP), AX
  1174  	MOVQ   AX, CX
  1175  	RORQ   $0x13, AX
  1176  	MOVQ   CX, DX
  1177  	RORQ   $0x3d, CX
  1178  	SHRQ   $0x06, DX
  1179  	MOVQ   72(BP), BX
  1180  	XORQ   CX, AX
  1181  	MOVQ   BX, CX
  1182  	XORQ   DX, AX
  1183  	RORQ   $0x01, BX
  1184  	MOVQ   CX, DX
  1185  	SHRQ   $0x07, DX
  1186  	RORQ   $0x08, CX
  1187  	ADDQ   136(BP), AX
  1188  	XORQ   CX, BX
  1189  	XORQ   DX, BX
  1190  	ADDQ   64(BP), BX
  1191  	ADDQ   BX, AX
  1192  	MOVQ   AX, 192(BP)
  1193  	MOVQ   $0x983e5152ee66dfab, DX
  1194  	ADDQ   AX, R15
  1195  	MOVQ   R12, AX
  1196  	ADDQ   DX, R15
  1197  	MOVQ   R12, CX
  1198  	RORQ   $0x0e, AX
  1199  	MOVQ   R12, DX
  1200  	RORQ   $0x12, CX
  1201  	XORQ   CX, AX
  1202  	MOVQ   R12, CX
  1203  	RORQ   $0x29, DX
  1204  	ANDQ   R13, CX
  1205  	XORQ   AX, DX
  1206  	MOVQ   R12, AX
  1207  	NOTQ   AX
  1208  	ADDQ   DX, R15
  1209  	ANDQ   R14, AX
  1210  	XORQ   CX, AX
  1211  	ADDQ   R15, AX
  1212  	MOVQ   R8, DI
  1213  	MOVQ   R10, BX
  1214  	RORQ   $0x1c, DI
  1215  	MOVQ   R8, DX
  1216  	ANDQ   R9, BX
  1217  	RORQ   $0x22, DX
  1218  	MOVQ   R8, CX
  1219  	ANDQ   R10, CX
  1220  	XORQ   DX, DI
  1221  	XORQ   CX, BX
  1222  	MOVQ   R8, DX
  1223  	MOVQ   R9, CX
  1224  	RORQ   $0x27, DX
  1225  	ANDQ   R8, CX
  1226  	XORQ   CX, BX
  1227  	XORQ   DX, DI
  1228  	ADDQ   DI, BX
  1229  	MOVQ   BX, R15
  1230  	ADDQ   AX, R11
  1231  	ADDQ   AX, R15
  1232  	MOVQ   184(BP), AX
  1233  	MOVQ   AX, CX
  1234  	RORQ   $0x13, AX
  1235  	MOVQ   CX, DX
  1236  	RORQ   $0x3d, CX
  1237  	SHRQ   $0x06, DX
  1238  	MOVQ   80(BP), BX
  1239  	XORQ   CX, AX
  1240  	MOVQ   BX, CX
  1241  	XORQ   DX, AX
  1242  	RORQ   $0x01, BX
  1243  	MOVQ   CX, DX
  1244  	SHRQ   $0x07, DX
  1245  	RORQ   $0x08, CX
  1246  	ADDQ   144(BP), AX
  1247  	XORQ   CX, BX
  1248  	XORQ   DX, BX
  1249  	ADDQ   72(BP), BX
  1250  	ADDQ   BX, AX
  1251  	MOVQ   AX, 200(BP)
  1252  	MOVQ   $0xa831c66d2db43210, DX
  1253  	ADDQ   AX, R14
  1254  	MOVQ   R11, AX
  1255  	ADDQ   DX, R14
  1256  	MOVQ   R11, CX
  1257  	RORQ   $0x0e, AX
  1258  	MOVQ   R11, DX
  1259  	RORQ   $0x12, CX
  1260  	XORQ   CX, AX
  1261  	MOVQ   R11, CX
  1262  	RORQ   $0x29, DX
  1263  	ANDQ   R12, CX
  1264  	XORQ   AX, DX
  1265  	MOVQ   R11, AX
  1266  	NOTQ   AX
  1267  	ADDQ   DX, R14
  1268  	ANDQ   R13, AX
  1269  	XORQ   CX, AX
  1270  	ADDQ   R14, AX
  1271  	MOVQ   R15, DI
  1272  	MOVQ   R9, BX
  1273  	RORQ   $0x1c, DI
  1274  	MOVQ   R15, DX
  1275  	ANDQ   R8, BX
  1276  	RORQ   $0x22, DX
  1277  	MOVQ   R15, CX
  1278  	ANDQ   R9, CX
  1279  	XORQ   DX, DI
  1280  	XORQ   CX, BX
  1281  	MOVQ   R15, DX
  1282  	MOVQ   R8, CX
  1283  	RORQ   $0x27, DX
  1284  	ANDQ   R15, CX
  1285  	XORQ   CX, BX
  1286  	XORQ   DX, DI
  1287  	ADDQ   DI, BX
  1288  	MOVQ   BX, R14
  1289  	ADDQ   AX, R10
  1290  	ADDQ   AX, R14
  1291  	MOVQ   192(BP), AX
  1292  	MOVQ   AX, CX
  1293  	RORQ   $0x13, AX
  1294  	MOVQ   CX, DX
  1295  	RORQ   $0x3d, CX
  1296  	SHRQ   $0x06, DX
  1297  	MOVQ   88(BP), BX
  1298  	XORQ   CX, AX
  1299  	MOVQ   BX, CX
  1300  	XORQ   DX, AX
  1301  	RORQ   $0x01, BX
  1302  	MOVQ   CX, DX
  1303  	SHRQ   $0x07, DX
  1304  	RORQ   $0x08, CX
  1305  	ADDQ   152(BP), AX
  1306  	XORQ   CX, BX
  1307  	XORQ   DX, BX
  1308  	ADDQ   80(BP), BX
  1309  	ADDQ   BX, AX
  1310  	MOVQ   AX, 208(BP)
  1311  	MOVQ   $0xb00327c898fb213f, DX
  1312  	ADDQ   AX, R13
  1313  	MOVQ   R10, AX
  1314  	ADDQ   DX, R13
  1315  	MOVQ   R10, CX
  1316  	RORQ   $0x0e, AX
  1317  	MOVQ   R10, DX
  1318  	RORQ   $0x12, CX
  1319  	XORQ   CX, AX
  1320  	MOVQ   R10, CX
  1321  	RORQ   $0x29, DX
  1322  	ANDQ   R11, CX
  1323  	XORQ   AX, DX
  1324  	MOVQ   R10, AX
  1325  	NOTQ   AX
  1326  	ADDQ   DX, R13
  1327  	ANDQ   R12, AX
  1328  	XORQ   CX, AX
  1329  	ADDQ   R13, AX
  1330  	MOVQ   R14, DI
  1331  	MOVQ   R8, BX
  1332  	RORQ   $0x1c, DI
  1333  	MOVQ   R14, DX
  1334  	ANDQ   R15, BX
  1335  	RORQ   $0x22, DX
  1336  	MOVQ   R14, CX
  1337  	ANDQ   R8, CX
  1338  	XORQ   DX, DI
  1339  	XORQ   CX, BX
  1340  	MOVQ   R14, DX
  1341  	MOVQ   R15, CX
  1342  	RORQ   $0x27, DX
  1343  	ANDQ   R14, CX
  1344  	XORQ   CX, BX
  1345  	XORQ   DX, DI
  1346  	ADDQ   DI, BX
  1347  	MOVQ   BX, R13
  1348  	ADDQ   AX, R9
  1349  	ADDQ   AX, R13
  1350  	MOVQ   200(BP), AX
  1351  	MOVQ   AX, CX
  1352  	RORQ   $0x13, AX
  1353  	MOVQ   CX, DX
  1354  	RORQ   $0x3d, CX
  1355  	SHRQ   $0x06, DX
  1356  	MOVQ   96(BP), BX
  1357  	XORQ   CX, AX
  1358  	MOVQ   BX, CX
  1359  	XORQ   DX, AX
  1360  	RORQ   $0x01, BX
  1361  	MOVQ   CX, DX
  1362  	SHRQ   $0x07, DX
  1363  	RORQ   $0x08, CX
  1364  	ADDQ   160(BP), AX
  1365  	XORQ   CX, BX
  1366  	XORQ   DX, BX
  1367  	ADDQ   88(BP), BX
  1368  	ADDQ   BX, AX
  1369  	MOVQ   AX, 216(BP)
  1370  	MOVQ   $0xbf597fc7beef0ee4, DX
  1371  	ADDQ   AX, R12
  1372  	MOVQ   R9, AX
  1373  	ADDQ   DX, R12
  1374  	MOVQ   R9, CX
  1375  	RORQ   $0x0e, AX
  1376  	MOVQ   R9, DX
  1377  	RORQ   $0x12, CX
  1378  	XORQ   CX, AX
  1379  	MOVQ   R9, CX
  1380  	RORQ   $0x29, DX
  1381  	ANDQ   R10, CX
  1382  	XORQ   AX, DX
  1383  	MOVQ   R9, AX
  1384  	NOTQ   AX
  1385  	ADDQ   DX, R12
  1386  	ANDQ   R11, AX
  1387  	XORQ   CX, AX
  1388  	ADDQ   R12, AX
  1389  	MOVQ   R13, DI
  1390  	MOVQ   R15, BX
  1391  	RORQ   $0x1c, DI
  1392  	MOVQ   R13, DX
  1393  	ANDQ   R14, BX
  1394  	RORQ   $0x22, DX
  1395  	MOVQ   R13, CX
  1396  	ANDQ   R15, CX
  1397  	XORQ   DX, DI
  1398  	XORQ   CX, BX
  1399  	MOVQ   R13, DX
  1400  	MOVQ   R14, CX
  1401  	RORQ   $0x27, DX
  1402  	ANDQ   R13, CX
  1403  	XORQ   CX, BX
  1404  	XORQ   DX, DI
  1405  	ADDQ   DI, BX
  1406  	MOVQ   BX, R12
  1407  	ADDQ   AX, R8
  1408  	ADDQ   AX, R12
  1409  	MOVQ   208(BP), AX
  1410  	MOVQ   AX, CX
  1411  	RORQ   $0x13, AX
  1412  	MOVQ   CX, DX
  1413  	RORQ   $0x3d, CX
  1414  	SHRQ   $0x06, DX
  1415  	MOVQ   104(BP), BX
  1416  	XORQ   CX, AX
  1417  	MOVQ   BX, CX
  1418  	XORQ   DX, AX
  1419  	RORQ   $0x01, BX
  1420  	MOVQ   CX, DX
  1421  	SHRQ   $0x07, DX
  1422  	RORQ   $0x08, CX
  1423  	ADDQ   168(BP), AX
  1424  	XORQ   CX, BX
  1425  	XORQ   DX, BX
  1426  	ADDQ   96(BP), BX
  1427  	ADDQ   BX, AX
  1428  	MOVQ   AX, 224(BP)
  1429  	MOVQ   $0xc6e00bf33da88fc2, DX
  1430  	ADDQ   AX, R11
  1431  	MOVQ   R8, AX
  1432  	ADDQ   DX, R11
  1433  	MOVQ   R8, CX
  1434  	RORQ   $0x0e, AX
  1435  	MOVQ   R8, DX
  1436  	RORQ   $0x12, CX
  1437  	XORQ   CX, AX
  1438  	MOVQ   R8, CX
  1439  	RORQ   $0x29, DX
  1440  	ANDQ   R9, CX
  1441  	XORQ   AX, DX
  1442  	MOVQ   R8, AX
  1443  	NOTQ   AX
  1444  	ADDQ   DX, R11
  1445  	ANDQ   R10, AX
  1446  	XORQ   CX, AX
  1447  	ADDQ   R11, AX
  1448  	MOVQ   R12, DI
  1449  	MOVQ   R14, BX
  1450  	RORQ   $0x1c, DI
  1451  	MOVQ   R12, DX
  1452  	ANDQ   R13, BX
  1453  	RORQ   $0x22, DX
  1454  	MOVQ   R12, CX
  1455  	ANDQ   R14, CX
  1456  	XORQ   DX, DI
  1457  	XORQ   CX, BX
  1458  	MOVQ   R12, DX
  1459  	MOVQ   R13, CX
  1460  	RORQ   $0x27, DX
  1461  	ANDQ   R12, CX
  1462  	XORQ   CX, BX
  1463  	XORQ   DX, DI
  1464  	ADDQ   DI, BX
  1465  	MOVQ   BX, R11
  1466  	ADDQ   AX, R15
  1467  	ADDQ   AX, R11
  1468  	MOVQ   216(BP), AX
  1469  	MOVQ   AX, CX
  1470  	RORQ   $0x13, AX
  1471  	MOVQ   CX, DX
  1472  	RORQ   $0x3d, CX
  1473  	SHRQ   $0x06, DX
  1474  	MOVQ   112(BP), BX
  1475  	XORQ   CX, AX
  1476  	MOVQ   BX, CX
  1477  	XORQ   DX, AX
  1478  	RORQ   $0x01, BX
  1479  	MOVQ   CX, DX
  1480  	SHRQ   $0x07, DX
  1481  	RORQ   $0x08, CX
  1482  	ADDQ   176(BP), AX
  1483  	XORQ   CX, BX
  1484  	XORQ   DX, BX
  1485  	ADDQ   104(BP), BX
  1486  	ADDQ   BX, AX
  1487  	MOVQ   AX, 232(BP)
  1488  	MOVQ   $0xd5a79147930aa725, DX
  1489  	ADDQ   AX, R10
  1490  	MOVQ   R15, AX
  1491  	ADDQ   DX, R10
  1492  	MOVQ   R15, CX
  1493  	RORQ   $0x0e, AX
  1494  	MOVQ   R15, DX
  1495  	RORQ   $0x12, CX
  1496  	XORQ   CX, AX
  1497  	MOVQ   R15, CX
  1498  	RORQ   $0x29, DX
  1499  	ANDQ   R8, CX
  1500  	XORQ   AX, DX
  1501  	MOVQ   R15, AX
  1502  	NOTQ   AX
  1503  	ADDQ   DX, R10
  1504  	ANDQ   R9, AX
  1505  	XORQ   CX, AX
  1506  	ADDQ   R10, AX
  1507  	MOVQ   R11, DI
  1508  	MOVQ   R13, BX
  1509  	RORQ   $0x1c, DI
  1510  	MOVQ   R11, DX
  1511  	ANDQ   R12, BX
  1512  	RORQ   $0x22, DX
  1513  	MOVQ   R11, CX
  1514  	ANDQ   R13, CX
  1515  	XORQ   DX, DI
  1516  	XORQ   CX, BX
  1517  	MOVQ   R11, DX
  1518  	MOVQ   R12, CX
  1519  	RORQ   $0x27, DX
  1520  	ANDQ   R11, CX
  1521  	XORQ   CX, BX
  1522  	XORQ   DX, DI
  1523  	ADDQ   DI, BX
  1524  	MOVQ   BX, R10
  1525  	ADDQ   AX, R14
  1526  	ADDQ   AX, R10
  1527  	MOVQ   224(BP), AX
  1528  	MOVQ   AX, CX
  1529  	RORQ   $0x13, AX
  1530  	MOVQ   CX, DX
  1531  	RORQ   $0x3d, CX
  1532  	SHRQ   $0x06, DX
  1533  	MOVQ   120(BP), BX
  1534  	XORQ   CX, AX
  1535  	MOVQ   BX, CX
  1536  	XORQ   DX, AX
  1537  	RORQ   $0x01, BX
  1538  	MOVQ   CX, DX
  1539  	SHRQ   $0x07, DX
  1540  	RORQ   $0x08, CX
  1541  	ADDQ   184(BP), AX
  1542  	XORQ   CX, BX
  1543  	XORQ   DX, BX
  1544  	ADDQ   112(BP), BX
  1545  	ADDQ   BX, AX
  1546  	MOVQ   AX, 240(BP)
  1547  	MOVQ   $0x06ca6351e003826f, DX
  1548  	ADDQ   AX, R9
  1549  	MOVQ   R14, AX
  1550  	ADDQ   DX, R9
  1551  	MOVQ   R14, CX
  1552  	RORQ   $0x0e, AX
  1553  	MOVQ   R14, DX
  1554  	RORQ   $0x12, CX
  1555  	XORQ   CX, AX
  1556  	MOVQ   R14, CX
  1557  	RORQ   $0x29, DX
  1558  	ANDQ   R15, CX
  1559  	XORQ   AX, DX
  1560  	MOVQ   R14, AX
  1561  	NOTQ   AX
  1562  	ADDQ   DX, R9
  1563  	ANDQ   R8, AX
  1564  	XORQ   CX, AX
  1565  	ADDQ   R9, AX
  1566  	MOVQ   R10, DI
  1567  	MOVQ   R12, BX
  1568  	RORQ   $0x1c, DI
  1569  	MOVQ   R10, DX
  1570  	ANDQ   R11, BX
  1571  	RORQ   $0x22, DX
  1572  	MOVQ   R10, CX
  1573  	ANDQ   R12, CX
  1574  	XORQ   DX, DI
  1575  	XORQ   CX, BX
  1576  	MOVQ   R10, DX
  1577  	MOVQ   R11, CX
  1578  	RORQ   $0x27, DX
  1579  	ANDQ   R10, CX
  1580  	XORQ   CX, BX
  1581  	XORQ   DX, DI
  1582  	ADDQ   DI, BX
  1583  	MOVQ   BX, R9
  1584  	ADDQ   AX, R13
  1585  	ADDQ   AX, R9
  1586  	MOVQ   232(BP), AX
  1587  	MOVQ   AX, CX
  1588  	RORQ   $0x13, AX
  1589  	MOVQ   CX, DX
  1590  	RORQ   $0x3d, CX
  1591  	SHRQ   $0x06, DX
  1592  	MOVQ   128(BP), BX
  1593  	XORQ   CX, AX
  1594  	MOVQ   BX, CX
  1595  	XORQ   DX, AX
  1596  	RORQ   $0x01, BX
  1597  	MOVQ   CX, DX
  1598  	SHRQ   $0x07, DX
  1599  	RORQ   $0x08, CX
  1600  	ADDQ   192(BP), AX
  1601  	XORQ   CX, BX
  1602  	XORQ   DX, BX
  1603  	ADDQ   120(BP), BX
  1604  	ADDQ   BX, AX
  1605  	MOVQ   AX, 248(BP)
  1606  	MOVQ   $0x142929670a0e6e70, DX
  1607  	ADDQ   AX, R8
  1608  	MOVQ   R13, AX
  1609  	ADDQ   DX, R8
  1610  	MOVQ   R13, CX
  1611  	RORQ   $0x0e, AX
  1612  	MOVQ   R13, DX
  1613  	RORQ   $0x12, CX
  1614  	XORQ   CX, AX
  1615  	MOVQ   R13, CX
  1616  	RORQ   $0x29, DX
  1617  	ANDQ   R14, CX
  1618  	XORQ   AX, DX
  1619  	MOVQ   R13, AX
  1620  	NOTQ   AX
  1621  	ADDQ   DX, R8
  1622  	ANDQ   R15, AX
  1623  	XORQ   CX, AX
  1624  	ADDQ   R8, AX
  1625  	MOVQ   R9, DI
  1626  	MOVQ   R11, BX
  1627  	RORQ   $0x1c, DI
  1628  	MOVQ   R9, DX
  1629  	ANDQ   R10, BX
  1630  	RORQ   $0x22, DX
  1631  	MOVQ   R9, CX
  1632  	ANDQ   R11, CX
  1633  	XORQ   DX, DI
  1634  	XORQ   CX, BX
  1635  	MOVQ   R9, DX
  1636  	MOVQ   R10, CX
  1637  	RORQ   $0x27, DX
  1638  	ANDQ   R9, CX
  1639  	XORQ   CX, BX
  1640  	XORQ   DX, DI
  1641  	ADDQ   DI, BX
  1642  	MOVQ   BX, R8
  1643  	ADDQ   AX, R12
  1644  	ADDQ   AX, R8
  1645  	MOVQ   240(BP), AX
  1646  	MOVQ   AX, CX
  1647  	RORQ   $0x13, AX
  1648  	MOVQ   CX, DX
  1649  	RORQ   $0x3d, CX
  1650  	SHRQ   $0x06, DX
  1651  	MOVQ   136(BP), BX
  1652  	XORQ   CX, AX
  1653  	MOVQ   BX, CX
  1654  	XORQ   DX, AX
  1655  	RORQ   $0x01, BX
  1656  	MOVQ   CX, DX
  1657  	SHRQ   $0x07, DX
  1658  	RORQ   $0x08, CX
  1659  	ADDQ   200(BP), AX
  1660  	XORQ   CX, BX
  1661  	XORQ   DX, BX
  1662  	ADDQ   128(BP), BX
  1663  	ADDQ   BX, AX
  1664  	MOVQ   AX, 256(BP)
  1665  	MOVQ   $0x27b70a8546d22ffc, DX
  1666  	ADDQ   AX, R15
  1667  	MOVQ   R12, AX
  1668  	ADDQ   DX, R15
  1669  	MOVQ   R12, CX
  1670  	RORQ   $0x0e, AX
  1671  	MOVQ   R12, DX
  1672  	RORQ   $0x12, CX
  1673  	XORQ   CX, AX
  1674  	MOVQ   R12, CX
  1675  	RORQ   $0x29, DX
  1676  	ANDQ   R13, CX
  1677  	XORQ   AX, DX
  1678  	MOVQ   R12, AX
  1679  	NOTQ   AX
  1680  	ADDQ   DX, R15
  1681  	ANDQ   R14, AX
  1682  	XORQ   CX, AX
  1683  	ADDQ   R15, AX
  1684  	MOVQ   R8, DI
  1685  	MOVQ   R10, BX
  1686  	RORQ   $0x1c, DI
  1687  	MOVQ   R8, DX
  1688  	ANDQ   R9, BX
  1689  	RORQ   $0x22, DX
  1690  	MOVQ   R8, CX
  1691  	ANDQ   R10, CX
  1692  	XORQ   DX, DI
  1693  	XORQ   CX, BX
  1694  	MOVQ   R8, DX
  1695  	MOVQ   R9, CX
  1696  	RORQ   $0x27, DX
  1697  	ANDQ   R8, CX
  1698  	XORQ   CX, BX
  1699  	XORQ   DX, DI
  1700  	ADDQ   DI, BX
  1701  	MOVQ   BX, R15
  1702  	ADDQ   AX, R11
  1703  	ADDQ   AX, R15
  1704  	MOVQ   248(BP), AX
  1705  	MOVQ   AX, CX
  1706  	RORQ   $0x13, AX
  1707  	MOVQ   CX, DX
  1708  	RORQ   $0x3d, CX
  1709  	SHRQ   $0x06, DX
  1710  	MOVQ   144(BP), BX
  1711  	XORQ   CX, AX
  1712  	MOVQ   BX, CX
  1713  	XORQ   DX, AX
  1714  	RORQ   $0x01, BX
  1715  	MOVQ   CX, DX
  1716  	SHRQ   $0x07, DX
  1717  	RORQ   $0x08, CX
  1718  	ADDQ   208(BP), AX
  1719  	XORQ   CX, BX
  1720  	XORQ   DX, BX
  1721  	ADDQ   136(BP), BX
  1722  	ADDQ   BX, AX
  1723  	MOVQ   AX, 264(BP)
  1724  	MOVQ   $0x2e1b21385c26c926, DX
  1725  	ADDQ   AX, R14
  1726  	MOVQ   R11, AX
  1727  	ADDQ   DX, R14
  1728  	MOVQ   R11, CX
  1729  	RORQ   $0x0e, AX
  1730  	MOVQ   R11, DX
  1731  	RORQ   $0x12, CX
  1732  	XORQ   CX, AX
  1733  	MOVQ   R11, CX
  1734  	RORQ   $0x29, DX
  1735  	ANDQ   R12, CX
  1736  	XORQ   AX, DX
  1737  	MOVQ   R11, AX
  1738  	NOTQ   AX
  1739  	ADDQ   DX, R14
  1740  	ANDQ   R13, AX
  1741  	XORQ   CX, AX
  1742  	ADDQ   R14, AX
  1743  	MOVQ   R15, DI
  1744  	MOVQ   R9, BX
  1745  	RORQ   $0x1c, DI
  1746  	MOVQ   R15, DX
  1747  	ANDQ   R8, BX
  1748  	RORQ   $0x22, DX
  1749  	MOVQ   R15, CX
  1750  	ANDQ   R9, CX
  1751  	XORQ   DX, DI
  1752  	XORQ   CX, BX
  1753  	MOVQ   R15, DX
  1754  	MOVQ   R8, CX
  1755  	RORQ   $0x27, DX
  1756  	ANDQ   R15, CX
  1757  	XORQ   CX, BX
  1758  	XORQ   DX, DI
  1759  	ADDQ   DI, BX
  1760  	MOVQ   BX, R14
  1761  	ADDQ   AX, R10
  1762  	ADDQ   AX, R14
  1763  	MOVQ   256(BP), AX
  1764  	MOVQ   AX, CX
  1765  	RORQ   $0x13, AX
  1766  	MOVQ   CX, DX
  1767  	RORQ   $0x3d, CX
  1768  	SHRQ   $0x06, DX
  1769  	MOVQ   152(BP), BX
  1770  	XORQ   CX, AX
  1771  	MOVQ   BX, CX
  1772  	XORQ   DX, AX
  1773  	RORQ   $0x01, BX
  1774  	MOVQ   CX, DX
  1775  	SHRQ   $0x07, DX
  1776  	RORQ   $0x08, CX
  1777  	ADDQ   216(BP), AX
  1778  	XORQ   CX, BX
  1779  	XORQ   DX, BX
  1780  	ADDQ   144(BP), BX
  1781  	ADDQ   BX, AX
  1782  	MOVQ   AX, 272(BP)
  1783  	MOVQ   $0x4d2c6dfc5ac42aed, DX
  1784  	ADDQ   AX, R13
  1785  	MOVQ   R10, AX
  1786  	ADDQ   DX, R13
  1787  	MOVQ   R10, CX
  1788  	RORQ   $0x0e, AX
  1789  	MOVQ   R10, DX
  1790  	RORQ   $0x12, CX
  1791  	XORQ   CX, AX
  1792  	MOVQ   R10, CX
  1793  	RORQ   $0x29, DX
  1794  	ANDQ   R11, CX
  1795  	XORQ   AX, DX
  1796  	MOVQ   R10, AX
  1797  	NOTQ   AX
  1798  	ADDQ   DX, R13
  1799  	ANDQ   R12, AX
  1800  	XORQ   CX, AX
  1801  	ADDQ   R13, AX
  1802  	MOVQ   R14, DI
  1803  	MOVQ   R8, BX
  1804  	RORQ   $0x1c, DI
  1805  	MOVQ   R14, DX
  1806  	ANDQ   R15, BX
  1807  	RORQ   $0x22, DX
  1808  	MOVQ   R14, CX
  1809  	ANDQ   R8, CX
  1810  	XORQ   DX, DI
  1811  	XORQ   CX, BX
  1812  	MOVQ   R14, DX
  1813  	MOVQ   R15, CX
  1814  	RORQ   $0x27, DX
  1815  	ANDQ   R14, CX
  1816  	XORQ   CX, BX
  1817  	XORQ   DX, DI
  1818  	ADDQ   DI, BX
  1819  	MOVQ   BX, R13
  1820  	ADDQ   AX, R9
  1821  	ADDQ   AX, R13
  1822  	MOVQ   264(BP), AX
  1823  	MOVQ   AX, CX
  1824  	RORQ   $0x13, AX
  1825  	MOVQ   CX, DX
  1826  	RORQ   $0x3d, CX
  1827  	SHRQ   $0x06, DX
  1828  	MOVQ   160(BP), BX
  1829  	XORQ   CX, AX
  1830  	MOVQ   BX, CX
  1831  	XORQ   DX, AX
  1832  	RORQ   $0x01, BX
  1833  	MOVQ   CX, DX
  1834  	SHRQ   $0x07, DX
  1835  	RORQ   $0x08, CX
  1836  	ADDQ   224(BP), AX
  1837  	XORQ   CX, BX
  1838  	XORQ   DX, BX
  1839  	ADDQ   152(BP), BX
  1840  	ADDQ   BX, AX
  1841  	MOVQ   AX, 280(BP)
  1842  	MOVQ   $0x53380d139d95b3df, DX
  1843  	ADDQ   AX, R12
  1844  	MOVQ   R9, AX
  1845  	ADDQ   DX, R12
  1846  	MOVQ   R9, CX
  1847  	RORQ   $0x0e, AX
  1848  	MOVQ   R9, DX
  1849  	RORQ   $0x12, CX
  1850  	XORQ   CX, AX
  1851  	MOVQ   R9, CX
  1852  	RORQ   $0x29, DX
  1853  	ANDQ   R10, CX
  1854  	XORQ   AX, DX
  1855  	MOVQ   R9, AX
  1856  	NOTQ   AX
  1857  	ADDQ   DX, R12
  1858  	ANDQ   R11, AX
  1859  	XORQ   CX, AX
  1860  	ADDQ   R12, AX
  1861  	MOVQ   R13, DI
  1862  	MOVQ   R15, BX
  1863  	RORQ   $0x1c, DI
  1864  	MOVQ   R13, DX
  1865  	ANDQ   R14, BX
  1866  	RORQ   $0x22, DX
  1867  	MOVQ   R13, CX
  1868  	ANDQ   R15, CX
  1869  	XORQ   DX, DI
  1870  	XORQ   CX, BX
  1871  	MOVQ   R13, DX
  1872  	MOVQ   R14, CX
  1873  	RORQ   $0x27, DX
  1874  	ANDQ   R13, CX
  1875  	XORQ   CX, BX
  1876  	XORQ   DX, DI
  1877  	ADDQ   DI, BX
  1878  	MOVQ   BX, R12
  1879  	ADDQ   AX, R8
  1880  	ADDQ   AX, R12
  1881  	MOVQ   272(BP), AX
  1882  	MOVQ   AX, CX
  1883  	RORQ   $0x13, AX
  1884  	MOVQ   CX, DX
  1885  	RORQ   $0x3d, CX
  1886  	SHRQ   $0x06, DX
  1887  	MOVQ   168(BP), BX
  1888  	XORQ   CX, AX
  1889  	MOVQ   BX, CX
  1890  	XORQ   DX, AX
  1891  	RORQ   $0x01, BX
  1892  	MOVQ   CX, DX
  1893  	SHRQ   $0x07, DX
  1894  	RORQ   $0x08, CX
  1895  	ADDQ   232(BP), AX
  1896  	XORQ   CX, BX
  1897  	XORQ   DX, BX
  1898  	ADDQ   160(BP), BX
  1899  	ADDQ   BX, AX
  1900  	MOVQ   AX, 288(BP)
  1901  	MOVQ   $0x650a73548baf63de, DX
  1902  	ADDQ   AX, R11
  1903  	MOVQ   R8, AX
  1904  	ADDQ   DX, R11
  1905  	MOVQ   R8, CX
  1906  	RORQ   $0x0e, AX
  1907  	MOVQ   R8, DX
  1908  	RORQ   $0x12, CX
  1909  	XORQ   CX, AX
  1910  	MOVQ   R8, CX
  1911  	RORQ   $0x29, DX
  1912  	ANDQ   R9, CX
  1913  	XORQ   AX, DX
  1914  	MOVQ   R8, AX
  1915  	NOTQ   AX
  1916  	ADDQ   DX, R11
  1917  	ANDQ   R10, AX
  1918  	XORQ   CX, AX
  1919  	ADDQ   R11, AX
  1920  	MOVQ   R12, DI
  1921  	MOVQ   R14, BX
  1922  	RORQ   $0x1c, DI
  1923  	MOVQ   R12, DX
  1924  	ANDQ   R13, BX
  1925  	RORQ   $0x22, DX
  1926  	MOVQ   R12, CX
  1927  	ANDQ   R14, CX
  1928  	XORQ   DX, DI
  1929  	XORQ   CX, BX
  1930  	MOVQ   R12, DX
  1931  	MOVQ   R13, CX
  1932  	RORQ   $0x27, DX
  1933  	ANDQ   R12, CX
  1934  	XORQ   CX, BX
  1935  	XORQ   DX, DI
  1936  	ADDQ   DI, BX
  1937  	MOVQ   BX, R11
  1938  	ADDQ   AX, R15
  1939  	ADDQ   AX, R11
  1940  	MOVQ   280(BP), AX
  1941  	MOVQ   AX, CX
  1942  	RORQ   $0x13, AX
  1943  	MOVQ   CX, DX
  1944  	RORQ   $0x3d, CX
  1945  	SHRQ   $0x06, DX
  1946  	MOVQ   176(BP), BX
  1947  	XORQ   CX, AX
  1948  	MOVQ   BX, CX
  1949  	XORQ   DX, AX
  1950  	RORQ   $0x01, BX
  1951  	MOVQ   CX, DX
  1952  	SHRQ   $0x07, DX
  1953  	RORQ   $0x08, CX
  1954  	ADDQ   240(BP), AX
  1955  	XORQ   CX, BX
  1956  	XORQ   DX, BX
  1957  	ADDQ   168(BP), BX
  1958  	ADDQ   BX, AX
  1959  	MOVQ   AX, 296(BP)
  1960  	MOVQ   $0x766a0abb3c77b2a8, DX
  1961  	ADDQ   AX, R10
  1962  	MOVQ   R15, AX
  1963  	ADDQ   DX, R10
  1964  	MOVQ   R15, CX
  1965  	RORQ   $0x0e, AX
  1966  	MOVQ   R15, DX
  1967  	RORQ   $0x12, CX
  1968  	XORQ   CX, AX
  1969  	MOVQ   R15, CX
  1970  	RORQ   $0x29, DX
  1971  	ANDQ   R8, CX
  1972  	XORQ   AX, DX
  1973  	MOVQ   R15, AX
  1974  	NOTQ   AX
  1975  	ADDQ   DX, R10
  1976  	ANDQ   R9, AX
  1977  	XORQ   CX, AX
  1978  	ADDQ   R10, AX
  1979  	MOVQ   R11, DI
  1980  	MOVQ   R13, BX
  1981  	RORQ   $0x1c, DI
  1982  	MOVQ   R11, DX
  1983  	ANDQ   R12, BX
  1984  	RORQ   $0x22, DX
  1985  	MOVQ   R11, CX
  1986  	ANDQ   R13, CX
  1987  	XORQ   DX, DI
  1988  	XORQ   CX, BX
  1989  	MOVQ   R11, DX
  1990  	MOVQ   R12, CX
  1991  	RORQ   $0x27, DX
  1992  	ANDQ   R11, CX
  1993  	XORQ   CX, BX
  1994  	XORQ   DX, DI
  1995  	ADDQ   DI, BX
  1996  	MOVQ   BX, R10
  1997  	ADDQ   AX, R14
  1998  	ADDQ   AX, R10
  1999  	MOVQ   288(BP), AX
  2000  	MOVQ   AX, CX
  2001  	RORQ   $0x13, AX
  2002  	MOVQ   CX, DX
  2003  	RORQ   $0x3d, CX
  2004  	SHRQ   $0x06, DX
  2005  	MOVQ   184(BP), BX
  2006  	XORQ   CX, AX
  2007  	MOVQ   BX, CX
  2008  	XORQ   DX, AX
  2009  	RORQ   $0x01, BX
  2010  	MOVQ   CX, DX
  2011  	SHRQ   $0x07, DX
  2012  	RORQ   $0x08, CX
  2013  	ADDQ   248(BP), AX
  2014  	XORQ   CX, BX
  2015  	XORQ   DX, BX
  2016  	ADDQ   176(BP), BX
  2017  	ADDQ   BX, AX
  2018  	MOVQ   AX, 304(BP)
  2019  	MOVQ   $0x81c2c92e47edaee6, DX
  2020  	ADDQ   AX, R9
  2021  	MOVQ   R14, AX
  2022  	ADDQ   DX, R9
  2023  	MOVQ   R14, CX
  2024  	RORQ   $0x0e, AX
  2025  	MOVQ   R14, DX
  2026  	RORQ   $0x12, CX
  2027  	XORQ   CX, AX
  2028  	MOVQ   R14, CX
  2029  	RORQ   $0x29, DX
  2030  	ANDQ   R15, CX
  2031  	XORQ   AX, DX
  2032  	MOVQ   R14, AX
  2033  	NOTQ   AX
  2034  	ADDQ   DX, R9
  2035  	ANDQ   R8, AX
  2036  	XORQ   CX, AX
  2037  	ADDQ   R9, AX
  2038  	MOVQ   R10, DI
  2039  	MOVQ   R12, BX
  2040  	RORQ   $0x1c, DI
  2041  	MOVQ   R10, DX
  2042  	ANDQ   R11, BX
  2043  	RORQ   $0x22, DX
  2044  	MOVQ   R10, CX
  2045  	ANDQ   R12, CX
  2046  	XORQ   DX, DI
  2047  	XORQ   CX, BX
  2048  	MOVQ   R10, DX
  2049  	MOVQ   R11, CX
  2050  	RORQ   $0x27, DX
  2051  	ANDQ   R10, CX
  2052  	XORQ   CX, BX
  2053  	XORQ   DX, DI
  2054  	ADDQ   DI, BX
  2055  	MOVQ   BX, R9
  2056  	ADDQ   AX, R13
  2057  	ADDQ   AX, R9
  2058  	MOVQ   296(BP), AX
  2059  	MOVQ   AX, CX
  2060  	RORQ   $0x13, AX
  2061  	MOVQ   CX, DX
  2062  	RORQ   $0x3d, CX
  2063  	SHRQ   $0x06, DX
  2064  	MOVQ   192(BP), BX
  2065  	XORQ   CX, AX
  2066  	MOVQ   BX, CX
  2067  	XORQ   DX, AX
  2068  	RORQ   $0x01, BX
  2069  	MOVQ   CX, DX
  2070  	SHRQ   $0x07, DX
  2071  	RORQ   $0x08, CX
  2072  	ADDQ   256(BP), AX
  2073  	XORQ   CX, BX
  2074  	XORQ   DX, BX
  2075  	ADDQ   184(BP), BX
  2076  	ADDQ   BX, AX
  2077  	MOVQ   AX, 312(BP)
  2078  	MOVQ   $0x92722c851482353b, DX
  2079  	ADDQ   AX, R8
  2080  	MOVQ   R13, AX
  2081  	ADDQ   DX, R8
  2082  	MOVQ   R13, CX
  2083  	RORQ   $0x0e, AX
  2084  	MOVQ   R13, DX
  2085  	RORQ   $0x12, CX
  2086  	XORQ   CX, AX
  2087  	MOVQ   R13, CX
  2088  	RORQ   $0x29, DX
  2089  	ANDQ   R14, CX
  2090  	XORQ   AX, DX
  2091  	MOVQ   R13, AX
  2092  	NOTQ   AX
  2093  	ADDQ   DX, R8
  2094  	ANDQ   R15, AX
  2095  	XORQ   CX, AX
  2096  	ADDQ   R8, AX
  2097  	MOVQ   R9, DI
  2098  	MOVQ   R11, BX
  2099  	RORQ   $0x1c, DI
  2100  	MOVQ   R9, DX
  2101  	ANDQ   R10, BX
  2102  	RORQ   $0x22, DX
  2103  	MOVQ   R9, CX
  2104  	ANDQ   R11, CX
  2105  	XORQ   DX, DI
  2106  	XORQ   CX, BX
  2107  	MOVQ   R9, DX
  2108  	MOVQ   R10, CX
  2109  	RORQ   $0x27, DX
  2110  	ANDQ   R9, CX
  2111  	XORQ   CX, BX
  2112  	XORQ   DX, DI
  2113  	ADDQ   DI, BX
  2114  	MOVQ   BX, R8
  2115  	ADDQ   AX, R12
  2116  	ADDQ   AX, R8
  2117  	MOVQ   304(BP), AX
  2118  	MOVQ   AX, CX
  2119  	RORQ   $0x13, AX
  2120  	MOVQ   CX, DX
  2121  	RORQ   $0x3d, CX
  2122  	SHRQ   $0x06, DX
  2123  	MOVQ   200(BP), BX
  2124  	XORQ   CX, AX
  2125  	MOVQ   BX, CX
  2126  	XORQ   DX, AX
  2127  	RORQ   $0x01, BX
  2128  	MOVQ   CX, DX
  2129  	SHRQ   $0x07, DX
  2130  	RORQ   $0x08, CX
  2131  	ADDQ   264(BP), AX
  2132  	XORQ   CX, BX
  2133  	XORQ   DX, BX
  2134  	ADDQ   192(BP), BX
  2135  	ADDQ   BX, AX
  2136  	MOVQ   AX, 320(BP)
  2137  	MOVQ   $0xa2bfe8a14cf10364, DX
  2138  	ADDQ   AX, R15
  2139  	MOVQ   R12, AX
  2140  	ADDQ   DX, R15
  2141  	MOVQ   R12, CX
  2142  	RORQ   $0x0e, AX
  2143  	MOVQ   R12, DX
  2144  	RORQ   $0x12, CX
  2145  	XORQ   CX, AX
  2146  	MOVQ   R12, CX
  2147  	RORQ   $0x29, DX
  2148  	ANDQ   R13, CX
  2149  	XORQ   AX, DX
  2150  	MOVQ   R12, AX
  2151  	NOTQ   AX
  2152  	ADDQ   DX, R15
  2153  	ANDQ   R14, AX
  2154  	XORQ   CX, AX
  2155  	ADDQ   R15, AX
  2156  	MOVQ   R8, DI
  2157  	MOVQ   R10, BX
  2158  	RORQ   $0x1c, DI
  2159  	MOVQ   R8, DX
  2160  	ANDQ   R9, BX
  2161  	RORQ   $0x22, DX
  2162  	MOVQ   R8, CX
  2163  	ANDQ   R10, CX
  2164  	XORQ   DX, DI
  2165  	XORQ   CX, BX
  2166  	MOVQ   R8, DX
  2167  	MOVQ   R9, CX
  2168  	RORQ   $0x27, DX
  2169  	ANDQ   R8, CX
  2170  	XORQ   CX, BX
  2171  	XORQ   DX, DI
  2172  	ADDQ   DI, BX
  2173  	MOVQ   BX, R15
  2174  	ADDQ   AX, R11
  2175  	ADDQ   AX, R15
  2176  	MOVQ   312(BP), AX
  2177  	MOVQ   AX, CX
  2178  	RORQ   $0x13, AX
  2179  	MOVQ   CX, DX
  2180  	RORQ   $0x3d, CX
  2181  	SHRQ   $0x06, DX
  2182  	MOVQ   208(BP), BX
  2183  	XORQ   CX, AX
  2184  	MOVQ   BX, CX
  2185  	XORQ   DX, AX
  2186  	RORQ   $0x01, BX
  2187  	MOVQ   CX, DX
  2188  	SHRQ   $0x07, DX
  2189  	RORQ   $0x08, CX
  2190  	ADDQ   272(BP), AX
  2191  	XORQ   CX, BX
  2192  	XORQ   DX, BX
  2193  	ADDQ   200(BP), BX
  2194  	ADDQ   BX, AX
  2195  	MOVQ   AX, 328(BP)
  2196  	MOVQ   $0xa81a664bbc423001, DX
  2197  	ADDQ   AX, R14
  2198  	MOVQ   R11, AX
  2199  	ADDQ   DX, R14
  2200  	MOVQ   R11, CX
  2201  	RORQ   $0x0e, AX
  2202  	MOVQ   R11, DX
  2203  	RORQ   $0x12, CX
  2204  	XORQ   CX, AX
  2205  	MOVQ   R11, CX
  2206  	RORQ   $0x29, DX
  2207  	ANDQ   R12, CX
  2208  	XORQ   AX, DX
  2209  	MOVQ   R11, AX
  2210  	NOTQ   AX
  2211  	ADDQ   DX, R14
  2212  	ANDQ   R13, AX
  2213  	XORQ   CX, AX
  2214  	ADDQ   R14, AX
  2215  	MOVQ   R15, DI
  2216  	MOVQ   R9, BX
  2217  	RORQ   $0x1c, DI
  2218  	MOVQ   R15, DX
  2219  	ANDQ   R8, BX
  2220  	RORQ   $0x22, DX
  2221  	MOVQ   R15, CX
  2222  	ANDQ   R9, CX
  2223  	XORQ   DX, DI
  2224  	XORQ   CX, BX
  2225  	MOVQ   R15, DX
  2226  	MOVQ   R8, CX
  2227  	RORQ   $0x27, DX
  2228  	ANDQ   R15, CX
  2229  	XORQ   CX, BX
  2230  	XORQ   DX, DI
  2231  	ADDQ   DI, BX
  2232  	MOVQ   BX, R14
  2233  	ADDQ   AX, R10
  2234  	ADDQ   AX, R14
  2235  	MOVQ   320(BP), AX
  2236  	MOVQ   AX, CX
  2237  	RORQ   $0x13, AX
  2238  	MOVQ   CX, DX
  2239  	RORQ   $0x3d, CX
  2240  	SHRQ   $0x06, DX
  2241  	MOVQ   216(BP), BX
  2242  	XORQ   CX, AX
  2243  	MOVQ   BX, CX
  2244  	XORQ   DX, AX
  2245  	RORQ   $0x01, BX
  2246  	MOVQ   CX, DX
  2247  	SHRQ   $0x07, DX
  2248  	RORQ   $0x08, CX
  2249  	ADDQ   280(BP), AX
  2250  	XORQ   CX, BX
  2251  	XORQ   DX, BX
  2252  	ADDQ   208(BP), BX
  2253  	ADDQ   BX, AX
  2254  	MOVQ   AX, 336(BP)
  2255  	MOVQ   $0xc24b8b70d0f89791, DX
  2256  	ADDQ   AX, R13
  2257  	MOVQ   R10, AX
  2258  	ADDQ   DX, R13
  2259  	MOVQ   R10, CX
  2260  	RORQ   $0x0e, AX
  2261  	MOVQ   R10, DX
  2262  	RORQ   $0x12, CX
  2263  	XORQ   CX, AX
  2264  	MOVQ   R10, CX
  2265  	RORQ   $0x29, DX
  2266  	ANDQ   R11, CX
  2267  	XORQ   AX, DX
  2268  	MOVQ   R10, AX
  2269  	NOTQ   AX
  2270  	ADDQ   DX, R13
  2271  	ANDQ   R12, AX
  2272  	XORQ   CX, AX
  2273  	ADDQ   R13, AX
  2274  	MOVQ   R14, DI
  2275  	MOVQ   R8, BX
  2276  	RORQ   $0x1c, DI
  2277  	MOVQ   R14, DX
  2278  	ANDQ   R15, BX
  2279  	RORQ   $0x22, DX
  2280  	MOVQ   R14, CX
  2281  	ANDQ   R8, CX
  2282  	XORQ   DX, DI
  2283  	XORQ   CX, BX
  2284  	MOVQ   R14, DX
  2285  	MOVQ   R15, CX
  2286  	RORQ   $0x27, DX
  2287  	ANDQ   R14, CX
  2288  	XORQ   CX, BX
  2289  	XORQ   DX, DI
  2290  	ADDQ   DI, BX
  2291  	MOVQ   BX, R13
  2292  	ADDQ   AX, R9
  2293  	ADDQ   AX, R13
  2294  	MOVQ   328(BP), AX
  2295  	MOVQ   AX, CX
  2296  	RORQ   $0x13, AX
  2297  	MOVQ   CX, DX
  2298  	RORQ   $0x3d, CX
  2299  	SHRQ   $0x06, DX
  2300  	MOVQ   224(BP), BX
  2301  	XORQ   CX, AX
  2302  	MOVQ   BX, CX
  2303  	XORQ   DX, AX
  2304  	RORQ   $0x01, BX
  2305  	MOVQ   CX, DX
  2306  	SHRQ   $0x07, DX
  2307  	RORQ   $0x08, CX
  2308  	ADDQ   288(BP), AX
  2309  	XORQ   CX, BX
  2310  	XORQ   DX, BX
  2311  	ADDQ   216(BP), BX
  2312  	ADDQ   BX, AX
  2313  	MOVQ   AX, 344(BP)
  2314  	MOVQ   $0xc76c51a30654be30, DX
  2315  	ADDQ   AX, R12
  2316  	MOVQ   R9, AX
  2317  	ADDQ   DX, R12
  2318  	MOVQ   R9, CX
  2319  	RORQ   $0x0e, AX
  2320  	MOVQ   R9, DX
  2321  	RORQ   $0x12, CX
  2322  	XORQ   CX, AX
  2323  	MOVQ   R9, CX
  2324  	RORQ   $0x29, DX
  2325  	ANDQ   R10, CX
  2326  	XORQ   AX, DX
  2327  	MOVQ   R9, AX
  2328  	NOTQ   AX
  2329  	ADDQ   DX, R12
  2330  	ANDQ   R11, AX
  2331  	XORQ   CX, AX
  2332  	ADDQ   R12, AX
  2333  	MOVQ   R13, DI
  2334  	MOVQ   R15, BX
  2335  	RORQ   $0x1c, DI
  2336  	MOVQ   R13, DX
  2337  	ANDQ   R14, BX
  2338  	RORQ   $0x22, DX
  2339  	MOVQ   R13, CX
  2340  	ANDQ   R15, CX
  2341  	XORQ   DX, DI
  2342  	XORQ   CX, BX
  2343  	MOVQ   R13, DX
  2344  	MOVQ   R14, CX
  2345  	RORQ   $0x27, DX
  2346  	ANDQ   R13, CX
  2347  	XORQ   CX, BX
  2348  	XORQ   DX, DI
  2349  	ADDQ   DI, BX
  2350  	MOVQ   BX, R12
  2351  	ADDQ   AX, R8
  2352  	ADDQ   AX, R12
  2353  	MOVQ   336(BP), AX
  2354  	MOVQ   AX, CX
  2355  	RORQ   $0x13, AX
  2356  	MOVQ   CX, DX
  2357  	RORQ   $0x3d, CX
  2358  	SHRQ   $0x06, DX
  2359  	MOVQ   232(BP), BX
  2360  	XORQ   CX, AX
  2361  	MOVQ   BX, CX
  2362  	XORQ   DX, AX
  2363  	RORQ   $0x01, BX
  2364  	MOVQ   CX, DX
  2365  	SHRQ   $0x07, DX
  2366  	RORQ   $0x08, CX
  2367  	ADDQ   296(BP), AX
  2368  	XORQ   CX, BX
  2369  	XORQ   DX, BX
  2370  	ADDQ   224(BP), BX
  2371  	ADDQ   BX, AX
  2372  	MOVQ   AX, 352(BP)
  2373  	MOVQ   $0xd192e819d6ef5218, DX
  2374  	ADDQ   AX, R11
  2375  	MOVQ   R8, AX
  2376  	ADDQ   DX, R11
  2377  	MOVQ   R8, CX
  2378  	RORQ   $0x0e, AX
  2379  	MOVQ   R8, DX
  2380  	RORQ   $0x12, CX
  2381  	XORQ   CX, AX
  2382  	MOVQ   R8, CX
  2383  	RORQ   $0x29, DX
  2384  	ANDQ   R9, CX
  2385  	XORQ   AX, DX
  2386  	MOVQ   R8, AX
  2387  	NOTQ   AX
  2388  	ADDQ   DX, R11
  2389  	ANDQ   R10, AX
  2390  	XORQ   CX, AX
  2391  	ADDQ   R11, AX
  2392  	MOVQ   R12, DI
  2393  	MOVQ   R14, BX
  2394  	RORQ   $0x1c, DI
  2395  	MOVQ   R12, DX
  2396  	ANDQ   R13, BX
  2397  	RORQ   $0x22, DX
  2398  	MOVQ   R12, CX
  2399  	ANDQ   R14, CX
  2400  	XORQ   DX, DI
  2401  	XORQ   CX, BX
  2402  	MOVQ   R12, DX
  2403  	MOVQ   R13, CX
  2404  	RORQ   $0x27, DX
  2405  	ANDQ   R12, CX
  2406  	XORQ   CX, BX
  2407  	XORQ   DX, DI
  2408  	ADDQ   DI, BX
  2409  	MOVQ   BX, R11
  2410  	ADDQ   AX, R15
  2411  	ADDQ   AX, R11
  2412  	MOVQ   344(BP), AX
  2413  	MOVQ   AX, CX
  2414  	RORQ   $0x13, AX
  2415  	MOVQ   CX, DX
  2416  	RORQ   $0x3d, CX
  2417  	SHRQ   $0x06, DX
  2418  	MOVQ   240(BP), BX
  2419  	XORQ   CX, AX
  2420  	MOVQ   BX, CX
  2421  	XORQ   DX, AX
  2422  	RORQ   $0x01, BX
  2423  	MOVQ   CX, DX
  2424  	SHRQ   $0x07, DX
  2425  	RORQ   $0x08, CX
  2426  	ADDQ   304(BP), AX
  2427  	XORQ   CX, BX
  2428  	XORQ   DX, BX
  2429  	ADDQ   232(BP), BX
  2430  	ADDQ   BX, AX
  2431  	MOVQ   AX, 360(BP)
  2432  	MOVQ   $0xd69906245565a910, DX
  2433  	ADDQ   AX, R10
  2434  	MOVQ   R15, AX
  2435  	ADDQ   DX, R10
  2436  	MOVQ   R15, CX
  2437  	RORQ   $0x0e, AX
  2438  	MOVQ   R15, DX
  2439  	RORQ   $0x12, CX
  2440  	XORQ   CX, AX
  2441  	MOVQ   R15, CX
  2442  	RORQ   $0x29, DX
  2443  	ANDQ   R8, CX
  2444  	XORQ   AX, DX
  2445  	MOVQ   R15, AX
  2446  	NOTQ   AX
  2447  	ADDQ   DX, R10
  2448  	ANDQ   R9, AX
  2449  	XORQ   CX, AX
  2450  	ADDQ   R10, AX
  2451  	MOVQ   R11, DI
  2452  	MOVQ   R13, BX
  2453  	RORQ   $0x1c, DI
  2454  	MOVQ   R11, DX
  2455  	ANDQ   R12, BX
  2456  	RORQ   $0x22, DX
  2457  	MOVQ   R11, CX
  2458  	ANDQ   R13, CX
  2459  	XORQ   DX, DI
  2460  	XORQ   CX, BX
  2461  	MOVQ   R11, DX
  2462  	MOVQ   R12, CX
  2463  	RORQ   $0x27, DX
  2464  	ANDQ   R11, CX
  2465  	XORQ   CX, BX
  2466  	XORQ   DX, DI
  2467  	ADDQ   DI, BX
  2468  	MOVQ   BX, R10
  2469  	ADDQ   AX, R14
  2470  	ADDQ   AX, R10
  2471  	MOVQ   352(BP), AX
  2472  	MOVQ   AX, CX
  2473  	RORQ   $0x13, AX
  2474  	MOVQ   CX, DX
  2475  	RORQ   $0x3d, CX
  2476  	SHRQ   $0x06, DX
  2477  	MOVQ   248(BP), BX
  2478  	XORQ   CX, AX
  2479  	MOVQ   BX, CX
  2480  	XORQ   DX, AX
  2481  	RORQ   $0x01, BX
  2482  	MOVQ   CX, DX
  2483  	SHRQ   $0x07, DX
  2484  	RORQ   $0x08, CX
  2485  	ADDQ   312(BP), AX
  2486  	XORQ   CX, BX
  2487  	XORQ   DX, BX
  2488  	ADDQ   240(BP), BX
  2489  	ADDQ   BX, AX
  2490  	MOVQ   AX, 368(BP)
  2491  	MOVQ   $0xf40e35855771202a, DX
  2492  	ADDQ   AX, R9
  2493  	MOVQ   R14, AX
  2494  	ADDQ   DX, R9
  2495  	MOVQ   R14, CX
  2496  	RORQ   $0x0e, AX
  2497  	MOVQ   R14, DX
  2498  	RORQ   $0x12, CX
  2499  	XORQ   CX, AX
  2500  	MOVQ   R14, CX
  2501  	RORQ   $0x29, DX
  2502  	ANDQ   R15, CX
  2503  	XORQ   AX, DX
  2504  	MOVQ   R14, AX
  2505  	NOTQ   AX
  2506  	ADDQ   DX, R9
  2507  	ANDQ   R8, AX
  2508  	XORQ   CX, AX
  2509  	ADDQ   R9, AX
  2510  	MOVQ   R10, DI
  2511  	MOVQ   R12, BX
  2512  	RORQ   $0x1c, DI
  2513  	MOVQ   R10, DX
  2514  	ANDQ   R11, BX
  2515  	RORQ   $0x22, DX
  2516  	MOVQ   R10, CX
  2517  	ANDQ   R12, CX
  2518  	XORQ   DX, DI
  2519  	XORQ   CX, BX
  2520  	MOVQ   R10, DX
  2521  	MOVQ   R11, CX
  2522  	RORQ   $0x27, DX
  2523  	ANDQ   R10, CX
  2524  	XORQ   CX, BX
  2525  	XORQ   DX, DI
  2526  	ADDQ   DI, BX
  2527  	MOVQ   BX, R9
  2528  	ADDQ   AX, R13
  2529  	ADDQ   AX, R9
  2530  	MOVQ   360(BP), AX
  2531  	MOVQ   AX, CX
  2532  	RORQ   $0x13, AX
  2533  	MOVQ   CX, DX
  2534  	RORQ   $0x3d, CX
  2535  	SHRQ   $0x06, DX
  2536  	MOVQ   256(BP), BX
  2537  	XORQ   CX, AX
  2538  	MOVQ   BX, CX
  2539  	XORQ   DX, AX
  2540  	RORQ   $0x01, BX
  2541  	MOVQ   CX, DX
  2542  	SHRQ   $0x07, DX
  2543  	RORQ   $0x08, CX
  2544  	ADDQ   320(BP), AX
  2545  	XORQ   CX, BX
  2546  	XORQ   DX, BX
  2547  	ADDQ   248(BP), BX
  2548  	ADDQ   BX, AX
  2549  	MOVQ   AX, 376(BP)
  2550  	MOVQ   $0x106aa07032bbd1b8, DX
  2551  	ADDQ   AX, R8
  2552  	MOVQ   R13, AX
  2553  	ADDQ   DX, R8
  2554  	MOVQ   R13, CX
  2555  	RORQ   $0x0e, AX
  2556  	MOVQ   R13, DX
  2557  	RORQ   $0x12, CX
  2558  	XORQ   CX, AX
  2559  	MOVQ   R13, CX
  2560  	RORQ   $0x29, DX
  2561  	ANDQ   R14, CX
  2562  	XORQ   AX, DX
  2563  	MOVQ   R13, AX
  2564  	NOTQ   AX
  2565  	ADDQ   DX, R8
  2566  	ANDQ   R15, AX
  2567  	XORQ   CX, AX
  2568  	ADDQ   R8, AX
  2569  	MOVQ   R9, DI
  2570  	MOVQ   R11, BX
  2571  	RORQ   $0x1c, DI
  2572  	MOVQ   R9, DX
  2573  	ANDQ   R10, BX
  2574  	RORQ   $0x22, DX
  2575  	MOVQ   R9, CX
  2576  	ANDQ   R11, CX
  2577  	XORQ   DX, DI
  2578  	XORQ   CX, BX
  2579  	MOVQ   R9, DX
  2580  	MOVQ   R10, CX
  2581  	RORQ   $0x27, DX
  2582  	ANDQ   R9, CX
  2583  	XORQ   CX, BX
  2584  	XORQ   DX, DI
  2585  	ADDQ   DI, BX
  2586  	MOVQ   BX, R8
  2587  	ADDQ   AX, R12
  2588  	ADDQ   AX, R8
  2589  	MOVQ   368(BP), AX
  2590  	MOVQ   AX, CX
  2591  	RORQ   $0x13, AX
  2592  	MOVQ   CX, DX
  2593  	RORQ   $0x3d, CX
  2594  	SHRQ   $0x06, DX
  2595  	MOVQ   264(BP), BX
  2596  	XORQ   CX, AX
  2597  	MOVQ   BX, CX
  2598  	XORQ   DX, AX
  2599  	RORQ   $0x01, BX
  2600  	MOVQ   CX, DX
  2601  	SHRQ   $0x07, DX
  2602  	RORQ   $0x08, CX
  2603  	ADDQ   328(BP), AX
  2604  	XORQ   CX, BX
  2605  	XORQ   DX, BX
  2606  	ADDQ   256(BP), BX
  2607  	ADDQ   BX, AX
  2608  	MOVQ   AX, 384(BP)
  2609  	MOVQ   $0x19a4c116b8d2d0c8, DX
  2610  	ADDQ   AX, R15
  2611  	MOVQ   R12, AX
  2612  	ADDQ   DX, R15
  2613  	MOVQ   R12, CX
  2614  	RORQ   $0x0e, AX
  2615  	MOVQ   R12, DX
  2616  	RORQ   $0x12, CX
  2617  	XORQ   CX, AX
  2618  	MOVQ   R12, CX
  2619  	RORQ   $0x29, DX
  2620  	ANDQ   R13, CX
  2621  	XORQ   AX, DX
  2622  	MOVQ   R12, AX
  2623  	NOTQ   AX
  2624  	ADDQ   DX, R15
  2625  	ANDQ   R14, AX
  2626  	XORQ   CX, AX
  2627  	ADDQ   R15, AX
  2628  	MOVQ   R8, DI
  2629  	MOVQ   R10, BX
  2630  	RORQ   $0x1c, DI
  2631  	MOVQ   R8, DX
  2632  	ANDQ   R9, BX
  2633  	RORQ   $0x22, DX
  2634  	MOVQ   R8, CX
  2635  	ANDQ   R10, CX
  2636  	XORQ   DX, DI
  2637  	XORQ   CX, BX
  2638  	MOVQ   R8, DX
  2639  	MOVQ   R9, CX
  2640  	RORQ   $0x27, DX
  2641  	ANDQ   R8, CX
  2642  	XORQ   CX, BX
  2643  	XORQ   DX, DI
  2644  	ADDQ   DI, BX
  2645  	MOVQ   BX, R15
  2646  	ADDQ   AX, R11
  2647  	ADDQ   AX, R15
  2648  	MOVQ   376(BP), AX
  2649  	MOVQ   AX, CX
  2650  	RORQ   $0x13, AX
  2651  	MOVQ   CX, DX
  2652  	RORQ   $0x3d, CX
  2653  	SHRQ   $0x06, DX
  2654  	MOVQ   272(BP), BX
  2655  	XORQ   CX, AX
  2656  	MOVQ   BX, CX
  2657  	XORQ   DX, AX
  2658  	RORQ   $0x01, BX
  2659  	MOVQ   CX, DX
  2660  	SHRQ   $0x07, DX
  2661  	RORQ   $0x08, CX
  2662  	ADDQ   336(BP), AX
  2663  	XORQ   CX, BX
  2664  	XORQ   DX, BX
  2665  	ADDQ   264(BP), BX
  2666  	ADDQ   BX, AX
  2667  	MOVQ   AX, 392(BP)
  2668  	MOVQ   $0x1e376c085141ab53, DX
  2669  	ADDQ   AX, R14
  2670  	MOVQ   R11, AX
  2671  	ADDQ   DX, R14
  2672  	MOVQ   R11, CX
  2673  	RORQ   $0x0e, AX
  2674  	MOVQ   R11, DX
  2675  	RORQ   $0x12, CX
  2676  	XORQ   CX, AX
  2677  	MOVQ   R11, CX
  2678  	RORQ   $0x29, DX
  2679  	ANDQ   R12, CX
  2680  	XORQ   AX, DX
  2681  	MOVQ   R11, AX
  2682  	NOTQ   AX
  2683  	ADDQ   DX, R14
  2684  	ANDQ   R13, AX
  2685  	XORQ   CX, AX
  2686  	ADDQ   R14, AX
  2687  	MOVQ   R15, DI
  2688  	MOVQ   R9, BX
  2689  	RORQ   $0x1c, DI
  2690  	MOVQ   R15, DX
  2691  	ANDQ   R8, BX
  2692  	RORQ   $0x22, DX
  2693  	MOVQ   R15, CX
  2694  	ANDQ   R9, CX
  2695  	XORQ   DX, DI
  2696  	XORQ   CX, BX
  2697  	MOVQ   R15, DX
  2698  	MOVQ   R8, CX
  2699  	RORQ   $0x27, DX
  2700  	ANDQ   R15, CX
  2701  	XORQ   CX, BX
  2702  	XORQ   DX, DI
  2703  	ADDQ   DI, BX
  2704  	MOVQ   BX, R14
  2705  	ADDQ   AX, R10
  2706  	ADDQ   AX, R14
  2707  	MOVQ   384(BP), AX
  2708  	MOVQ   AX, CX
  2709  	RORQ   $0x13, AX
  2710  	MOVQ   CX, DX
  2711  	RORQ   $0x3d, CX
  2712  	SHRQ   $0x06, DX
  2713  	MOVQ   280(BP), BX
  2714  	XORQ   CX, AX
  2715  	MOVQ   BX, CX
  2716  	XORQ   DX, AX
  2717  	RORQ   $0x01, BX
  2718  	MOVQ   CX, DX
  2719  	SHRQ   $0x07, DX
  2720  	RORQ   $0x08, CX
  2721  	ADDQ   344(BP), AX
  2722  	XORQ   CX, BX
  2723  	XORQ   DX, BX
  2724  	ADDQ   272(BP), BX
  2725  	ADDQ   BX, AX
  2726  	MOVQ   AX, 400(BP)
  2727  	MOVQ   $0x2748774cdf8eeb99, DX
  2728  	ADDQ   AX, R13
  2729  	MOVQ   R10, AX
  2730  	ADDQ   DX, R13
  2731  	MOVQ   R10, CX
  2732  	RORQ   $0x0e, AX
  2733  	MOVQ   R10, DX
  2734  	RORQ   $0x12, CX
  2735  	XORQ   CX, AX
  2736  	MOVQ   R10, CX
  2737  	RORQ   $0x29, DX
  2738  	ANDQ   R11, CX
  2739  	XORQ   AX, DX
  2740  	MOVQ   R10, AX
  2741  	NOTQ   AX
  2742  	ADDQ   DX, R13
  2743  	ANDQ   R12, AX
  2744  	XORQ   CX, AX
  2745  	ADDQ   R13, AX
  2746  	MOVQ   R14, DI
  2747  	MOVQ   R8, BX
  2748  	RORQ   $0x1c, DI
  2749  	MOVQ   R14, DX
  2750  	ANDQ   R15, BX
  2751  	RORQ   $0x22, DX
  2752  	MOVQ   R14, CX
  2753  	ANDQ   R8, CX
  2754  	XORQ   DX, DI
  2755  	XORQ   CX, BX
  2756  	MOVQ   R14, DX
  2757  	MOVQ   R15, CX
  2758  	RORQ   $0x27, DX
  2759  	ANDQ   R14, CX
  2760  	XORQ   CX, BX
  2761  	XORQ   DX, DI
  2762  	ADDQ   DI, BX
  2763  	MOVQ   BX, R13
  2764  	ADDQ   AX, R9
  2765  	ADDQ   AX, R13
  2766  	MOVQ   392(BP), AX
  2767  	MOVQ   AX, CX
  2768  	RORQ   $0x13, AX
  2769  	MOVQ   CX, DX
  2770  	RORQ   $0x3d, CX
  2771  	SHRQ   $0x06, DX
  2772  	MOVQ   288(BP), BX
  2773  	XORQ   CX, AX
  2774  	MOVQ   BX, CX
  2775  	XORQ   DX, AX
  2776  	RORQ   $0x01, BX
  2777  	MOVQ   CX, DX
  2778  	SHRQ   $0x07, DX
  2779  	RORQ   $0x08, CX
  2780  	ADDQ   352(BP), AX
  2781  	XORQ   CX, BX
  2782  	XORQ   DX, BX
  2783  	ADDQ   280(BP), BX
  2784  	ADDQ   BX, AX
  2785  	MOVQ   AX, 408(BP)
  2786  	MOVQ   $0x34b0bcb5e19b48a8, DX
  2787  	ADDQ   AX, R12
  2788  	MOVQ   R9, AX
  2789  	ADDQ   DX, R12
  2790  	MOVQ   R9, CX
  2791  	RORQ   $0x0e, AX
  2792  	MOVQ   R9, DX
  2793  	RORQ   $0x12, CX
  2794  	XORQ   CX, AX
  2795  	MOVQ   R9, CX
  2796  	RORQ   $0x29, DX
  2797  	ANDQ   R10, CX
  2798  	XORQ   AX, DX
  2799  	MOVQ   R9, AX
  2800  	NOTQ   AX
  2801  	ADDQ   DX, R12
  2802  	ANDQ   R11, AX
  2803  	XORQ   CX, AX
  2804  	ADDQ   R12, AX
  2805  	MOVQ   R13, DI
  2806  	MOVQ   R15, BX
  2807  	RORQ   $0x1c, DI
  2808  	MOVQ   R13, DX
  2809  	ANDQ   R14, BX
  2810  	RORQ   $0x22, DX
  2811  	MOVQ   R13, CX
  2812  	ANDQ   R15, CX
  2813  	XORQ   DX, DI
  2814  	XORQ   CX, BX
  2815  	MOVQ   R13, DX
  2816  	MOVQ   R14, CX
  2817  	RORQ   $0x27, DX
  2818  	ANDQ   R13, CX
  2819  	XORQ   CX, BX
  2820  	XORQ   DX, DI
  2821  	ADDQ   DI, BX
  2822  	MOVQ   BX, R12
  2823  	ADDQ   AX, R8
  2824  	ADDQ   AX, R12
  2825  	MOVQ   400(BP), AX
  2826  	MOVQ   AX, CX
  2827  	RORQ   $0x13, AX
  2828  	MOVQ   CX, DX
  2829  	RORQ   $0x3d, CX
  2830  	SHRQ   $0x06, DX
  2831  	MOVQ   296(BP), BX
  2832  	XORQ   CX, AX
  2833  	MOVQ   BX, CX
  2834  	XORQ   DX, AX
  2835  	RORQ   $0x01, BX
  2836  	MOVQ   CX, DX
  2837  	SHRQ   $0x07, DX
  2838  	RORQ   $0x08, CX
  2839  	ADDQ   360(BP), AX
  2840  	XORQ   CX, BX
  2841  	XORQ   DX, BX
  2842  	ADDQ   288(BP), BX
  2843  	ADDQ   BX, AX
  2844  	MOVQ   AX, 416(BP)
  2845  	MOVQ   $0x391c0cb3c5c95a63, DX
  2846  	ADDQ   AX, R11
  2847  	MOVQ   R8, AX
  2848  	ADDQ   DX, R11
  2849  	MOVQ   R8, CX
  2850  	RORQ   $0x0e, AX
  2851  	MOVQ   R8, DX
  2852  	RORQ   $0x12, CX
  2853  	XORQ   CX, AX
  2854  	MOVQ   R8, CX
  2855  	RORQ   $0x29, DX
  2856  	ANDQ   R9, CX
  2857  	XORQ   AX, DX
  2858  	MOVQ   R8, AX
  2859  	NOTQ   AX
  2860  	ADDQ   DX, R11
  2861  	ANDQ   R10, AX
  2862  	XORQ   CX, AX
  2863  	ADDQ   R11, AX
  2864  	MOVQ   R12, DI
  2865  	MOVQ   R14, BX
  2866  	RORQ   $0x1c, DI
  2867  	MOVQ   R12, DX
  2868  	ANDQ   R13, BX
  2869  	RORQ   $0x22, DX
  2870  	MOVQ   R12, CX
  2871  	ANDQ   R14, CX
  2872  	XORQ   DX, DI
  2873  	XORQ   CX, BX
  2874  	MOVQ   R12, DX
  2875  	MOVQ   R13, CX
  2876  	RORQ   $0x27, DX
  2877  	ANDQ   R12, CX
  2878  	XORQ   CX, BX
  2879  	XORQ   DX, DI
  2880  	ADDQ   DI, BX
  2881  	MOVQ   BX, R11
  2882  	ADDQ   AX, R15
  2883  	ADDQ   AX, R11
  2884  	MOVQ   408(BP), AX
  2885  	MOVQ   AX, CX
  2886  	RORQ   $0x13, AX
  2887  	MOVQ   CX, DX
  2888  	RORQ   $0x3d, CX
  2889  	SHRQ   $0x06, DX
  2890  	MOVQ   304(BP), BX
  2891  	XORQ   CX, AX
  2892  	MOVQ   BX, CX
  2893  	XORQ   DX, AX
  2894  	RORQ   $0x01, BX
  2895  	MOVQ   CX, DX
  2896  	SHRQ   $0x07, DX
  2897  	RORQ   $0x08, CX
  2898  	ADDQ   368(BP), AX
  2899  	XORQ   CX, BX
  2900  	XORQ   DX, BX
  2901  	ADDQ   296(BP), BX
  2902  	ADDQ   BX, AX
  2903  	MOVQ   AX, 424(BP)
  2904  	MOVQ   $0x4ed8aa4ae3418acb, DX
  2905  	ADDQ   AX, R10
  2906  	MOVQ   R15, AX
  2907  	ADDQ   DX, R10
  2908  	MOVQ   R15, CX
  2909  	RORQ   $0x0e, AX
  2910  	MOVQ   R15, DX
  2911  	RORQ   $0x12, CX
  2912  	XORQ   CX, AX
  2913  	MOVQ   R15, CX
  2914  	RORQ   $0x29, DX
  2915  	ANDQ   R8, CX
  2916  	XORQ   AX, DX
  2917  	MOVQ   R15, AX
  2918  	NOTQ   AX
  2919  	ADDQ   DX, R10
  2920  	ANDQ   R9, AX
  2921  	XORQ   CX, AX
  2922  	ADDQ   R10, AX
  2923  	MOVQ   R11, DI
  2924  	MOVQ   R13, BX
  2925  	RORQ   $0x1c, DI
  2926  	MOVQ   R11, DX
  2927  	ANDQ   R12, BX
  2928  	RORQ   $0x22, DX
  2929  	MOVQ   R11, CX
  2930  	ANDQ   R13, CX
  2931  	XORQ   DX, DI
  2932  	XORQ   CX, BX
  2933  	MOVQ   R11, DX
  2934  	MOVQ   R12, CX
  2935  	RORQ   $0x27, DX
  2936  	ANDQ   R11, CX
  2937  	XORQ   CX, BX
  2938  	XORQ   DX, DI
  2939  	ADDQ   DI, BX
  2940  	MOVQ   BX, R10
  2941  	ADDQ   AX, R14
  2942  	ADDQ   AX, R10
  2943  	MOVQ   416(BP), AX
  2944  	MOVQ   AX, CX
  2945  	RORQ   $0x13, AX
  2946  	MOVQ   CX, DX
  2947  	RORQ   $0x3d, CX
  2948  	SHRQ   $0x06, DX
  2949  	MOVQ   312(BP), BX
  2950  	XORQ   CX, AX
  2951  	MOVQ   BX, CX
  2952  	XORQ   DX, AX
  2953  	RORQ   $0x01, BX
  2954  	MOVQ   CX, DX
  2955  	SHRQ   $0x07, DX
  2956  	RORQ   $0x08, CX
  2957  	ADDQ   376(BP), AX
  2958  	XORQ   CX, BX
  2959  	XORQ   DX, BX
  2960  	ADDQ   304(BP), BX
  2961  	ADDQ   BX, AX
  2962  	MOVQ   AX, 432(BP)
  2963  	MOVQ   $0x5b9cca4f7763e373, DX
  2964  	ADDQ   AX, R9
  2965  	MOVQ   R14, AX
  2966  	ADDQ   DX, R9
  2967  	MOVQ   R14, CX
  2968  	RORQ   $0x0e, AX
  2969  	MOVQ   R14, DX
  2970  	RORQ   $0x12, CX
  2971  	XORQ   CX, AX
  2972  	MOVQ   R14, CX
  2973  	RORQ   $0x29, DX
  2974  	ANDQ   R15, CX
  2975  	XORQ   AX, DX
  2976  	MOVQ   R14, AX
  2977  	NOTQ   AX
  2978  	ADDQ   DX, R9
  2979  	ANDQ   R8, AX
  2980  	XORQ   CX, AX
  2981  	ADDQ   R9, AX
  2982  	MOVQ   R10, DI
  2983  	MOVQ   R12, BX
  2984  	RORQ   $0x1c, DI
  2985  	MOVQ   R10, DX
  2986  	ANDQ   R11, BX
  2987  	RORQ   $0x22, DX
  2988  	MOVQ   R10, CX
  2989  	ANDQ   R12, CX
  2990  	XORQ   DX, DI
  2991  	XORQ   CX, BX
  2992  	MOVQ   R10, DX
  2993  	MOVQ   R11, CX
  2994  	RORQ   $0x27, DX
  2995  	ANDQ   R10, CX
  2996  	XORQ   CX, BX
  2997  	XORQ   DX, DI
  2998  	ADDQ   DI, BX
  2999  	MOVQ   BX, R9
  3000  	ADDQ   AX, R13
  3001  	ADDQ   AX, R9
  3002  	MOVQ   424(BP), AX
  3003  	MOVQ   AX, CX
  3004  	RORQ   $0x13, AX
  3005  	MOVQ   CX, DX
  3006  	RORQ   $0x3d, CX
  3007  	SHRQ   $0x06, DX
  3008  	MOVQ   320(BP), BX
  3009  	XORQ   CX, AX
  3010  	MOVQ   BX, CX
  3011  	XORQ   DX, AX
  3012  	RORQ   $0x01, BX
  3013  	MOVQ   CX, DX
  3014  	SHRQ   $0x07, DX
  3015  	RORQ   $0x08, CX
  3016  	ADDQ   384(BP), AX
  3017  	XORQ   CX, BX
  3018  	XORQ   DX, BX
  3019  	ADDQ   312(BP), BX
  3020  	ADDQ   BX, AX
  3021  	MOVQ   AX, 440(BP)
  3022  	MOVQ   $0x682e6ff3d6b2b8a3, DX
  3023  	ADDQ   AX, R8
  3024  	MOVQ   R13, AX
  3025  	ADDQ   DX, R8
  3026  	MOVQ   R13, CX
  3027  	RORQ   $0x0e, AX
  3028  	MOVQ   R13, DX
  3029  	RORQ   $0x12, CX
  3030  	XORQ   CX, AX
  3031  	MOVQ   R13, CX
  3032  	RORQ   $0x29, DX
  3033  	ANDQ   R14, CX
  3034  	XORQ   AX, DX
  3035  	MOVQ   R13, AX
  3036  	NOTQ   AX
  3037  	ADDQ   DX, R8
  3038  	ANDQ   R15, AX
  3039  	XORQ   CX, AX
  3040  	ADDQ   R8, AX
  3041  	MOVQ   R9, DI
  3042  	MOVQ   R11, BX
  3043  	RORQ   $0x1c, DI
  3044  	MOVQ   R9, DX
  3045  	ANDQ   R10, BX
  3046  	RORQ   $0x22, DX
  3047  	MOVQ   R9, CX
  3048  	ANDQ   R11, CX
  3049  	XORQ   DX, DI
  3050  	XORQ   CX, BX
  3051  	MOVQ   R9, DX
  3052  	MOVQ   R10, CX
  3053  	RORQ   $0x27, DX
  3054  	ANDQ   R9, CX
  3055  	XORQ   CX, BX
  3056  	XORQ   DX, DI
  3057  	ADDQ   DI, BX
  3058  	MOVQ   BX, R8
  3059  	ADDQ   AX, R12
  3060  	ADDQ   AX, R8
  3061  	MOVQ   432(BP), AX
  3062  	MOVQ   AX, CX
  3063  	RORQ   $0x13, AX
  3064  	MOVQ   CX, DX
  3065  	RORQ   $0x3d, CX
  3066  	SHRQ   $0x06, DX
  3067  	MOVQ   328(BP), BX
  3068  	XORQ   CX, AX
  3069  	MOVQ   BX, CX
  3070  	XORQ   DX, AX
  3071  	RORQ   $0x01, BX
  3072  	MOVQ   CX, DX
  3073  	SHRQ   $0x07, DX
  3074  	RORQ   $0x08, CX
  3075  	ADDQ   392(BP), AX
  3076  	XORQ   CX, BX
  3077  	XORQ   DX, BX
  3078  	ADDQ   320(BP), BX
  3079  	ADDQ   BX, AX
  3080  	MOVQ   AX, 448(BP)
  3081  	MOVQ   $0x748f82ee5defb2fc, DX
  3082  	ADDQ   AX, R15
  3083  	MOVQ   R12, AX
  3084  	ADDQ   DX, R15
  3085  	MOVQ   R12, CX
  3086  	RORQ   $0x0e, AX
  3087  	MOVQ   R12, DX
  3088  	RORQ   $0x12, CX
  3089  	XORQ   CX, AX
  3090  	MOVQ   R12, CX
  3091  	RORQ   $0x29, DX
  3092  	ANDQ   R13, CX
  3093  	XORQ   AX, DX
  3094  	MOVQ   R12, AX
  3095  	NOTQ   AX
  3096  	ADDQ   DX, R15
  3097  	ANDQ   R14, AX
  3098  	XORQ   CX, AX
  3099  	ADDQ   R15, AX
  3100  	MOVQ   R8, DI
  3101  	MOVQ   R10, BX
  3102  	RORQ   $0x1c, DI
  3103  	MOVQ   R8, DX
  3104  	ANDQ   R9, BX
  3105  	RORQ   $0x22, DX
  3106  	MOVQ   R8, CX
  3107  	ANDQ   R10, CX
  3108  	XORQ   DX, DI
  3109  	XORQ   CX, BX
  3110  	MOVQ   R8, DX
  3111  	MOVQ   R9, CX
  3112  	RORQ   $0x27, DX
  3113  	ANDQ   R8, CX
  3114  	XORQ   CX, BX
  3115  	XORQ   DX, DI
  3116  	ADDQ   DI, BX
  3117  	MOVQ   BX, R15
  3118  	ADDQ   AX, R11
  3119  	ADDQ   AX, R15
  3120  	MOVQ   440(BP), AX
  3121  	MOVQ   AX, CX
  3122  	RORQ   $0x13, AX
  3123  	MOVQ   CX, DX
  3124  	RORQ   $0x3d, CX
  3125  	SHRQ   $0x06, DX
  3126  	MOVQ   336(BP), BX
  3127  	XORQ   CX, AX
  3128  	MOVQ   BX, CX
  3129  	XORQ   DX, AX
  3130  	RORQ   $0x01, BX
  3131  	MOVQ   CX, DX
  3132  	SHRQ   $0x07, DX
  3133  	RORQ   $0x08, CX
  3134  	ADDQ   400(BP), AX
  3135  	XORQ   CX, BX
  3136  	XORQ   DX, BX
  3137  	ADDQ   328(BP), BX
  3138  	ADDQ   BX, AX
  3139  	MOVQ   AX, 456(BP)
  3140  	MOVQ   $0x78a5636f43172f60, DX
  3141  	ADDQ   AX, R14
  3142  	MOVQ   R11, AX
  3143  	ADDQ   DX, R14
  3144  	MOVQ   R11, CX
  3145  	RORQ   $0x0e, AX
  3146  	MOVQ   R11, DX
  3147  	RORQ   $0x12, CX
  3148  	XORQ   CX, AX
  3149  	MOVQ   R11, CX
  3150  	RORQ   $0x29, DX
  3151  	ANDQ   R12, CX
  3152  	XORQ   AX, DX
  3153  	MOVQ   R11, AX
  3154  	NOTQ   AX
  3155  	ADDQ   DX, R14
  3156  	ANDQ   R13, AX
  3157  	XORQ   CX, AX
  3158  	ADDQ   R14, AX
  3159  	MOVQ   R15, DI
  3160  	MOVQ   R9, BX
  3161  	RORQ   $0x1c, DI
  3162  	MOVQ   R15, DX
  3163  	ANDQ   R8, BX
  3164  	RORQ   $0x22, DX
  3165  	MOVQ   R15, CX
  3166  	ANDQ   R9, CX
  3167  	XORQ   DX, DI
  3168  	XORQ   CX, BX
  3169  	MOVQ   R15, DX
  3170  	MOVQ   R8, CX
  3171  	RORQ   $0x27, DX
  3172  	ANDQ   R15, CX
  3173  	XORQ   CX, BX
  3174  	XORQ   DX, DI
  3175  	ADDQ   DI, BX
  3176  	MOVQ   BX, R14
  3177  	ADDQ   AX, R10
  3178  	ADDQ   AX, R14
  3179  	MOVQ   448(BP), AX
  3180  	MOVQ   AX, CX
  3181  	RORQ   $0x13, AX
  3182  	MOVQ   CX, DX
  3183  	RORQ   $0x3d, CX
  3184  	SHRQ   $0x06, DX
  3185  	MOVQ   344(BP), BX
  3186  	XORQ   CX, AX
  3187  	MOVQ   BX, CX
  3188  	XORQ   DX, AX
  3189  	RORQ   $0x01, BX
  3190  	MOVQ   CX, DX
  3191  	SHRQ   $0x07, DX
  3192  	RORQ   $0x08, CX
  3193  	ADDQ   408(BP), AX
  3194  	XORQ   CX, BX
  3195  	XORQ   DX, BX
  3196  	ADDQ   336(BP), BX
  3197  	ADDQ   BX, AX
  3198  	MOVQ   AX, 464(BP)
  3199  	MOVQ   $0x84c87814a1f0ab72, DX
  3200  	ADDQ   AX, R13
  3201  	MOVQ   R10, AX
  3202  	ADDQ   DX, R13
  3203  	MOVQ   R10, CX
  3204  	RORQ   $0x0e, AX
  3205  	MOVQ   R10, DX
  3206  	RORQ   $0x12, CX
  3207  	XORQ   CX, AX
  3208  	MOVQ   R10, CX
  3209  	RORQ   $0x29, DX
  3210  	ANDQ   R11, CX
  3211  	XORQ   AX, DX
  3212  	MOVQ   R10, AX
  3213  	NOTQ   AX
  3214  	ADDQ   DX, R13
  3215  	ANDQ   R12, AX
  3216  	XORQ   CX, AX
  3217  	ADDQ   R13, AX
  3218  	MOVQ   R14, DI
  3219  	MOVQ   R8, BX
  3220  	RORQ   $0x1c, DI
  3221  	MOVQ   R14, DX
  3222  	ANDQ   R15, BX
  3223  	RORQ   $0x22, DX
  3224  	MOVQ   R14, CX
  3225  	ANDQ   R8, CX
  3226  	XORQ   DX, DI
  3227  	XORQ   CX, BX
  3228  	MOVQ   R14, DX
  3229  	MOVQ   R15, CX
  3230  	RORQ   $0x27, DX
  3231  	ANDQ   R14, CX
  3232  	XORQ   CX, BX
  3233  	XORQ   DX, DI
  3234  	ADDQ   DI, BX
  3235  	MOVQ   BX, R13
  3236  	ADDQ   AX, R9
  3237  	ADDQ   AX, R13
  3238  	MOVQ   456(BP), AX
  3239  	MOVQ   AX, CX
  3240  	RORQ   $0x13, AX
  3241  	MOVQ   CX, DX
  3242  	RORQ   $0x3d, CX
  3243  	SHRQ   $0x06, DX
  3244  	MOVQ   352(BP), BX
  3245  	XORQ   CX, AX
  3246  	MOVQ   BX, CX
  3247  	XORQ   DX, AX
  3248  	RORQ   $0x01, BX
  3249  	MOVQ   CX, DX
  3250  	SHRQ   $0x07, DX
  3251  	RORQ   $0x08, CX
  3252  	ADDQ   416(BP), AX
  3253  	XORQ   CX, BX
  3254  	XORQ   DX, BX
  3255  	ADDQ   344(BP), BX
  3256  	ADDQ   BX, AX
  3257  	MOVQ   AX, 472(BP)
  3258  	MOVQ   $0x8cc702081a6439ec, DX
  3259  	ADDQ   AX, R12
  3260  	MOVQ   R9, AX
  3261  	ADDQ   DX, R12
  3262  	MOVQ   R9, CX
  3263  	RORQ   $0x0e, AX
  3264  	MOVQ   R9, DX
  3265  	RORQ   $0x12, CX
  3266  	XORQ   CX, AX
  3267  	MOVQ   R9, CX
  3268  	RORQ   $0x29, DX
  3269  	ANDQ   R10, CX
  3270  	XORQ   AX, DX
  3271  	MOVQ   R9, AX
  3272  	NOTQ   AX
  3273  	ADDQ   DX, R12
  3274  	ANDQ   R11, AX
  3275  	XORQ   CX, AX
  3276  	ADDQ   R12, AX
  3277  	MOVQ   R13, DI
  3278  	MOVQ   R15, BX
  3279  	RORQ   $0x1c, DI
  3280  	MOVQ   R13, DX
  3281  	ANDQ   R14, BX
  3282  	RORQ   $0x22, DX
  3283  	MOVQ   R13, CX
  3284  	ANDQ   R15, CX
  3285  	XORQ   DX, DI
  3286  	XORQ   CX, BX
  3287  	MOVQ   R13, DX
  3288  	MOVQ   R14, CX
  3289  	RORQ   $0x27, DX
  3290  	ANDQ   R13, CX
  3291  	XORQ   CX, BX
  3292  	XORQ   DX, DI
  3293  	ADDQ   DI, BX
  3294  	MOVQ   BX, R12
  3295  	ADDQ   AX, R8
  3296  	ADDQ   AX, R12
  3297  	MOVQ   464(BP), AX
  3298  	MOVQ   AX, CX
  3299  	RORQ   $0x13, AX
  3300  	MOVQ   CX, DX
  3301  	RORQ   $0x3d, CX
  3302  	SHRQ   $0x06, DX
  3303  	MOVQ   360(BP), BX
  3304  	XORQ   CX, AX
  3305  	MOVQ   BX, CX
  3306  	XORQ   DX, AX
  3307  	RORQ   $0x01, BX
  3308  	MOVQ   CX, DX
  3309  	SHRQ   $0x07, DX
  3310  	RORQ   $0x08, CX
  3311  	ADDQ   424(BP), AX
  3312  	XORQ   CX, BX
  3313  	XORQ   DX, BX
  3314  	ADDQ   352(BP), BX
  3315  	ADDQ   BX, AX
  3316  	MOVQ   AX, 480(BP)
  3317  	MOVQ   $0x90befffa23631e28, DX
  3318  	ADDQ   AX, R11
  3319  	MOVQ   R8, AX
  3320  	ADDQ   DX, R11
  3321  	MOVQ   R8, CX
  3322  	RORQ   $0x0e, AX
  3323  	MOVQ   R8, DX
  3324  	RORQ   $0x12, CX
  3325  	XORQ   CX, AX
  3326  	MOVQ   R8, CX
  3327  	RORQ   $0x29, DX
  3328  	ANDQ   R9, CX
  3329  	XORQ   AX, DX
  3330  	MOVQ   R8, AX
  3331  	NOTQ   AX
  3332  	ADDQ   DX, R11
  3333  	ANDQ   R10, AX
  3334  	XORQ   CX, AX
  3335  	ADDQ   R11, AX
  3336  	MOVQ   R12, DI
  3337  	MOVQ   R14, BX
  3338  	RORQ   $0x1c, DI
  3339  	MOVQ   R12, DX
  3340  	ANDQ   R13, BX
  3341  	RORQ   $0x22, DX
  3342  	MOVQ   R12, CX
  3343  	ANDQ   R14, CX
  3344  	XORQ   DX, DI
  3345  	XORQ   CX, BX
  3346  	MOVQ   R12, DX
  3347  	MOVQ   R13, CX
  3348  	RORQ   $0x27, DX
  3349  	ANDQ   R12, CX
  3350  	XORQ   CX, BX
  3351  	XORQ   DX, DI
  3352  	ADDQ   DI, BX
  3353  	MOVQ   BX, R11
  3354  	ADDQ   AX, R15
  3355  	ADDQ   AX, R11
  3356  	MOVQ   472(BP), AX
  3357  	MOVQ   AX, CX
  3358  	RORQ   $0x13, AX
  3359  	MOVQ   CX, DX
  3360  	RORQ   $0x3d, CX
  3361  	SHRQ   $0x06, DX
  3362  	MOVQ   368(BP), BX
  3363  	XORQ   CX, AX
  3364  	MOVQ   BX, CX
  3365  	XORQ   DX, AX
  3366  	RORQ   $0x01, BX
  3367  	MOVQ   CX, DX
  3368  	SHRQ   $0x07, DX
  3369  	RORQ   $0x08, CX
  3370  	ADDQ   432(BP), AX
  3371  	XORQ   CX, BX
  3372  	XORQ   DX, BX
  3373  	ADDQ   360(BP), BX
  3374  	ADDQ   BX, AX
  3375  	MOVQ   AX, 488(BP)
  3376  	MOVQ   $0xa4506cebde82bde9, DX
  3377  	ADDQ   AX, R10
  3378  	MOVQ   R15, AX
  3379  	ADDQ   DX, R10
  3380  	MOVQ   R15, CX
  3381  	RORQ   $0x0e, AX
  3382  	MOVQ   R15, DX
  3383  	RORQ   $0x12, CX
  3384  	XORQ   CX, AX
  3385  	MOVQ   R15, CX
  3386  	RORQ   $0x29, DX
  3387  	ANDQ   R8, CX
  3388  	XORQ   AX, DX
  3389  	MOVQ   R15, AX
  3390  	NOTQ   AX
  3391  	ADDQ   DX, R10
  3392  	ANDQ   R9, AX
  3393  	XORQ   CX, AX
  3394  	ADDQ   R10, AX
  3395  	MOVQ   R11, DI
  3396  	MOVQ   R13, BX
  3397  	RORQ   $0x1c, DI
  3398  	MOVQ   R11, DX
  3399  	ANDQ   R12, BX
  3400  	RORQ   $0x22, DX
  3401  	MOVQ   R11, CX
  3402  	ANDQ   R13, CX
  3403  	XORQ   DX, DI
  3404  	XORQ   CX, BX
  3405  	MOVQ   R11, DX
  3406  	MOVQ   R12, CX
  3407  	RORQ   $0x27, DX
  3408  	ANDQ   R11, CX
  3409  	XORQ   CX, BX
  3410  	XORQ   DX, DI
  3411  	ADDQ   DI, BX
  3412  	MOVQ   BX, R10
  3413  	ADDQ   AX, R14
  3414  	ADDQ   AX, R10
  3415  	MOVQ   480(BP), AX
  3416  	MOVQ   AX, CX
  3417  	RORQ   $0x13, AX
  3418  	MOVQ   CX, DX
  3419  	RORQ   $0x3d, CX
  3420  	SHRQ   $0x06, DX
  3421  	MOVQ   376(BP), BX
  3422  	XORQ   CX, AX
  3423  	MOVQ   BX, CX
  3424  	XORQ   DX, AX
  3425  	RORQ   $0x01, BX
  3426  	MOVQ   CX, DX
  3427  	SHRQ   $0x07, DX
  3428  	RORQ   $0x08, CX
  3429  	ADDQ   440(BP), AX
  3430  	XORQ   CX, BX
  3431  	XORQ   DX, BX
  3432  	ADDQ   368(BP), BX
  3433  	ADDQ   BX, AX
  3434  	MOVQ   AX, 496(BP)
  3435  	MOVQ   $0xbef9a3f7b2c67915, DX
  3436  	ADDQ   AX, R9
  3437  	MOVQ   R14, AX
  3438  	ADDQ   DX, R9
  3439  	MOVQ   R14, CX
  3440  	RORQ   $0x0e, AX
  3441  	MOVQ   R14, DX
  3442  	RORQ   $0x12, CX
  3443  	XORQ   CX, AX
  3444  	MOVQ   R14, CX
  3445  	RORQ   $0x29, DX
  3446  	ANDQ   R15, CX
  3447  	XORQ   AX, DX
  3448  	MOVQ   R14, AX
  3449  	NOTQ   AX
  3450  	ADDQ   DX, R9
  3451  	ANDQ   R8, AX
  3452  	XORQ   CX, AX
  3453  	ADDQ   R9, AX
  3454  	MOVQ   R10, DI
  3455  	MOVQ   R12, BX
  3456  	RORQ   $0x1c, DI
  3457  	MOVQ   R10, DX
  3458  	ANDQ   R11, BX
  3459  	RORQ   $0x22, DX
  3460  	MOVQ   R10, CX
  3461  	ANDQ   R12, CX
  3462  	XORQ   DX, DI
  3463  	XORQ   CX, BX
  3464  	MOVQ   R10, DX
  3465  	MOVQ   R11, CX
  3466  	RORQ   $0x27, DX
  3467  	ANDQ   R10, CX
  3468  	XORQ   CX, BX
  3469  	XORQ   DX, DI
  3470  	ADDQ   DI, BX
  3471  	MOVQ   BX, R9
  3472  	ADDQ   AX, R13
  3473  	ADDQ   AX, R9
  3474  	MOVQ   488(BP), AX
  3475  	MOVQ   AX, CX
  3476  	RORQ   $0x13, AX
  3477  	MOVQ   CX, DX
  3478  	RORQ   $0x3d, CX
  3479  	SHRQ   $0x06, DX
  3480  	MOVQ   384(BP), BX
  3481  	XORQ   CX, AX
  3482  	MOVQ   BX, CX
  3483  	XORQ   DX, AX
  3484  	RORQ   $0x01, BX
  3485  	MOVQ   CX, DX
  3486  	SHRQ   $0x07, DX
  3487  	RORQ   $0x08, CX
  3488  	ADDQ   448(BP), AX
  3489  	XORQ   CX, BX
  3490  	XORQ   DX, BX
  3491  	ADDQ   376(BP), BX
  3492  	ADDQ   BX, AX
  3493  	MOVQ   AX, 504(BP)
  3494  	MOVQ   $0xc67178f2e372532b, DX
  3495  	ADDQ   AX, R8
  3496  	MOVQ   R13, AX
  3497  	ADDQ   DX, R8
  3498  	MOVQ   R13, CX
  3499  	RORQ   $0x0e, AX
  3500  	MOVQ   R13, DX
  3501  	RORQ   $0x12, CX
  3502  	XORQ   CX, AX
  3503  	MOVQ   R13, CX
  3504  	RORQ   $0x29, DX
  3505  	ANDQ   R14, CX
  3506  	XORQ   AX, DX
  3507  	MOVQ   R13, AX
  3508  	NOTQ   AX
  3509  	ADDQ   DX, R8
  3510  	ANDQ   R15, AX
  3511  	XORQ   CX, AX
  3512  	ADDQ   R8, AX
  3513  	MOVQ   R9, DI
  3514  	MOVQ   R11, BX
  3515  	RORQ   $0x1c, DI
  3516  	MOVQ   R9, DX
  3517  	ANDQ   R10, BX
  3518  	RORQ   $0x22, DX
  3519  	MOVQ   R9, CX
  3520  	ANDQ   R11, CX
  3521  	XORQ   DX, DI
  3522  	XORQ   CX, BX
  3523  	MOVQ   R9, DX
  3524  	MOVQ   R10, CX
  3525  	RORQ   $0x27, DX
  3526  	ANDQ   R9, CX
  3527  	XORQ   CX, BX
  3528  	XORQ   DX, DI
  3529  	ADDQ   DI, BX
  3530  	MOVQ   BX, R8
  3531  	ADDQ   AX, R12
  3532  	ADDQ   AX, R8
  3533  	MOVQ   496(BP), AX
  3534  	MOVQ   AX, CX
  3535  	RORQ   $0x13, AX
  3536  	MOVQ   CX, DX
  3537  	RORQ   $0x3d, CX
  3538  	SHRQ   $0x06, DX
  3539  	MOVQ   392(BP), BX
  3540  	XORQ   CX, AX
  3541  	MOVQ   BX, CX
  3542  	XORQ   DX, AX
  3543  	RORQ   $0x01, BX
  3544  	MOVQ   CX, DX
  3545  	SHRQ   $0x07, DX
  3546  	RORQ   $0x08, CX
  3547  	ADDQ   456(BP), AX
  3548  	XORQ   CX, BX
  3549  	XORQ   DX, BX
  3550  	ADDQ   384(BP), BX
  3551  	ADDQ   BX, AX
  3552  	MOVQ   AX, 512(BP)
  3553  	MOVQ   $0xca273eceea26619c, DX
  3554  	ADDQ   AX, R15
  3555  	MOVQ   R12, AX
  3556  	ADDQ   DX, R15
  3557  	MOVQ   R12, CX
  3558  	RORQ   $0x0e, AX
  3559  	MOVQ   R12, DX
  3560  	RORQ   $0x12, CX
  3561  	XORQ   CX, AX
  3562  	MOVQ   R12, CX
  3563  	RORQ   $0x29, DX
  3564  	ANDQ   R13, CX
  3565  	XORQ   AX, DX
  3566  	MOVQ   R12, AX
  3567  	NOTQ   AX
  3568  	ADDQ   DX, R15
  3569  	ANDQ   R14, AX
  3570  	XORQ   CX, AX
  3571  	ADDQ   R15, AX
  3572  	MOVQ   R8, DI
  3573  	MOVQ   R10, BX
  3574  	RORQ   $0x1c, DI
  3575  	MOVQ   R8, DX
  3576  	ANDQ   R9, BX
  3577  	RORQ   $0x22, DX
  3578  	MOVQ   R8, CX
  3579  	ANDQ   R10, CX
  3580  	XORQ   DX, DI
  3581  	XORQ   CX, BX
  3582  	MOVQ   R8, DX
  3583  	MOVQ   R9, CX
  3584  	RORQ   $0x27, DX
  3585  	ANDQ   R8, CX
  3586  	XORQ   CX, BX
  3587  	XORQ   DX, DI
  3588  	ADDQ   DI, BX
  3589  	MOVQ   BX, R15
  3590  	ADDQ   AX, R11
  3591  	ADDQ   AX, R15
  3592  	MOVQ   504(BP), AX
  3593  	MOVQ   AX, CX
  3594  	RORQ   $0x13, AX
  3595  	MOVQ   CX, DX
  3596  	RORQ   $0x3d, CX
  3597  	SHRQ   $0x06, DX
  3598  	MOVQ   400(BP), BX
  3599  	XORQ   CX, AX
  3600  	MOVQ   BX, CX
  3601  	XORQ   DX, AX
  3602  	RORQ   $0x01, BX
  3603  	MOVQ   CX, DX
  3604  	SHRQ   $0x07, DX
  3605  	RORQ   $0x08, CX
  3606  	ADDQ   464(BP), AX
  3607  	XORQ   CX, BX
  3608  	XORQ   DX, BX
  3609  	ADDQ   392(BP), BX
  3610  	ADDQ   BX, AX
  3611  	MOVQ   AX, 520(BP)
  3612  	MOVQ   $0xd186b8c721c0c207, DX
  3613  	ADDQ   AX, R14
  3614  	MOVQ   R11, AX
  3615  	ADDQ   DX, R14
  3616  	MOVQ   R11, CX
  3617  	RORQ   $0x0e, AX
  3618  	MOVQ   R11, DX
  3619  	RORQ   $0x12, CX
  3620  	XORQ   CX, AX
  3621  	MOVQ   R11, CX
  3622  	RORQ   $0x29, DX
  3623  	ANDQ   R12, CX
  3624  	XORQ   AX, DX
  3625  	MOVQ   R11, AX
  3626  	NOTQ   AX
  3627  	ADDQ   DX, R14
  3628  	ANDQ   R13, AX
  3629  	XORQ   CX, AX
  3630  	ADDQ   R14, AX
  3631  	MOVQ   R15, DI
  3632  	MOVQ   R9, BX
  3633  	RORQ   $0x1c, DI
  3634  	MOVQ   R15, DX
  3635  	ANDQ   R8, BX
  3636  	RORQ   $0x22, DX
  3637  	MOVQ   R15, CX
  3638  	ANDQ   R9, CX
  3639  	XORQ   DX, DI
  3640  	XORQ   CX, BX
  3641  	MOVQ   R15, DX
  3642  	MOVQ   R8, CX
  3643  	RORQ   $0x27, DX
  3644  	ANDQ   R15, CX
  3645  	XORQ   CX, BX
  3646  	XORQ   DX, DI
  3647  	ADDQ   DI, BX
  3648  	MOVQ   BX, R14
  3649  	ADDQ   AX, R10
  3650  	ADDQ   AX, R14
  3651  	MOVQ   512(BP), AX
  3652  	MOVQ   AX, CX
  3653  	RORQ   $0x13, AX
  3654  	MOVQ   CX, DX
  3655  	RORQ   $0x3d, CX
  3656  	SHRQ   $0x06, DX
  3657  	MOVQ   408(BP), BX
  3658  	XORQ   CX, AX
  3659  	MOVQ   BX, CX
  3660  	XORQ   DX, AX
  3661  	RORQ   $0x01, BX
  3662  	MOVQ   CX, DX
  3663  	SHRQ   $0x07, DX
  3664  	RORQ   $0x08, CX
  3665  	ADDQ   472(BP), AX
  3666  	XORQ   CX, BX
  3667  	XORQ   DX, BX
  3668  	ADDQ   400(BP), BX
  3669  	ADDQ   BX, AX
  3670  	MOVQ   AX, 528(BP)
  3671  	MOVQ   $0xeada7dd6cde0eb1e, DX
  3672  	ADDQ   AX, R13
  3673  	MOVQ   R10, AX
  3674  	ADDQ   DX, R13
  3675  	MOVQ   R10, CX
  3676  	RORQ   $0x0e, AX
  3677  	MOVQ   R10, DX
  3678  	RORQ   $0x12, CX
  3679  	XORQ   CX, AX
  3680  	MOVQ   R10, CX
  3681  	RORQ   $0x29, DX
  3682  	ANDQ   R11, CX
  3683  	XORQ   AX, DX
  3684  	MOVQ   R10, AX
  3685  	NOTQ   AX
  3686  	ADDQ   DX, R13
  3687  	ANDQ   R12, AX
  3688  	XORQ   CX, AX
  3689  	ADDQ   R13, AX
  3690  	MOVQ   R14, DI
  3691  	MOVQ   R8, BX
  3692  	RORQ   $0x1c, DI
  3693  	MOVQ   R14, DX
  3694  	ANDQ   R15, BX
  3695  	RORQ   $0x22, DX
  3696  	MOVQ   R14, CX
  3697  	ANDQ   R8, CX
  3698  	XORQ   DX, DI
  3699  	XORQ   CX, BX
  3700  	MOVQ   R14, DX
  3701  	MOVQ   R15, CX
  3702  	RORQ   $0x27, DX
  3703  	ANDQ   R14, CX
  3704  	XORQ   CX, BX
  3705  	XORQ   DX, DI
  3706  	ADDQ   DI, BX
  3707  	MOVQ   BX, R13
  3708  	ADDQ   AX, R9
  3709  	ADDQ   AX, R13
  3710  	MOVQ   520(BP), AX
  3711  	MOVQ   AX, CX
  3712  	RORQ   $0x13, AX
  3713  	MOVQ   CX, DX
  3714  	RORQ   $0x3d, CX
  3715  	SHRQ   $0x06, DX
  3716  	MOVQ   416(BP), BX
  3717  	XORQ   CX, AX
  3718  	MOVQ   BX, CX
  3719  	XORQ   DX, AX
  3720  	RORQ   $0x01, BX
  3721  	MOVQ   CX, DX
  3722  	SHRQ   $0x07, DX
  3723  	RORQ   $0x08, CX
  3724  	ADDQ   480(BP), AX
  3725  	XORQ   CX, BX
  3726  	XORQ   DX, BX
  3727  	ADDQ   408(BP), BX
  3728  	ADDQ   BX, AX
  3729  	MOVQ   AX, 536(BP)
  3730  	MOVQ   $0xf57d4f7fee6ed178, DX
  3731  	ADDQ   AX, R12
  3732  	MOVQ   R9, AX
  3733  	ADDQ   DX, R12
  3734  	MOVQ   R9, CX
  3735  	RORQ   $0x0e, AX
  3736  	MOVQ   R9, DX
  3737  	RORQ   $0x12, CX
  3738  	XORQ   CX, AX
  3739  	MOVQ   R9, CX
  3740  	RORQ   $0x29, DX
  3741  	ANDQ   R10, CX
  3742  	XORQ   AX, DX
  3743  	MOVQ   R9, AX
  3744  	NOTQ   AX
  3745  	ADDQ   DX, R12
  3746  	ANDQ   R11, AX
  3747  	XORQ   CX, AX
  3748  	ADDQ   R12, AX
  3749  	MOVQ   R13, DI
  3750  	MOVQ   R15, BX
  3751  	RORQ   $0x1c, DI
  3752  	MOVQ   R13, DX
  3753  	ANDQ   R14, BX
  3754  	RORQ   $0x22, DX
  3755  	MOVQ   R13, CX
  3756  	ANDQ   R15, CX
  3757  	XORQ   DX, DI
  3758  	XORQ   CX, BX
  3759  	MOVQ   R13, DX
  3760  	MOVQ   R14, CX
  3761  	RORQ   $0x27, DX
  3762  	ANDQ   R13, CX
  3763  	XORQ   CX, BX
  3764  	XORQ   DX, DI
  3765  	ADDQ   DI, BX
  3766  	MOVQ   BX, R12
  3767  	ADDQ   AX, R8
  3768  	ADDQ   AX, R12
  3769  	MOVQ   528(BP), AX
  3770  	MOVQ   AX, CX
  3771  	RORQ   $0x13, AX
  3772  	MOVQ   CX, DX
  3773  	RORQ   $0x3d, CX
  3774  	SHRQ   $0x06, DX
  3775  	MOVQ   424(BP), BX
  3776  	XORQ   CX, AX
  3777  	MOVQ   BX, CX
  3778  	XORQ   DX, AX
  3779  	RORQ   $0x01, BX
  3780  	MOVQ   CX, DX
  3781  	SHRQ   $0x07, DX
  3782  	RORQ   $0x08, CX
  3783  	ADDQ   488(BP), AX
  3784  	XORQ   CX, BX
  3785  	XORQ   DX, BX
  3786  	ADDQ   416(BP), BX
  3787  	ADDQ   BX, AX
  3788  	MOVQ   AX, 544(BP)
  3789  	MOVQ   $0x06f067aa72176fba, DX
  3790  	ADDQ   AX, R11
  3791  	MOVQ   R8, AX
  3792  	ADDQ   DX, R11
  3793  	MOVQ   R8, CX
  3794  	RORQ   $0x0e, AX
  3795  	MOVQ   R8, DX
  3796  	RORQ   $0x12, CX
  3797  	XORQ   CX, AX
  3798  	MOVQ   R8, CX
  3799  	RORQ   $0x29, DX
  3800  	ANDQ   R9, CX
  3801  	XORQ   AX, DX
  3802  	MOVQ   R8, AX
  3803  	NOTQ   AX
  3804  	ADDQ   DX, R11
  3805  	ANDQ   R10, AX
  3806  	XORQ   CX, AX
  3807  	ADDQ   R11, AX
  3808  	MOVQ   R12, DI
  3809  	MOVQ   R14, BX
  3810  	RORQ   $0x1c, DI
  3811  	MOVQ   R12, DX
  3812  	ANDQ   R13, BX
  3813  	RORQ   $0x22, DX
  3814  	MOVQ   R12, CX
  3815  	ANDQ   R14, CX
  3816  	XORQ   DX, DI
  3817  	XORQ   CX, BX
  3818  	MOVQ   R12, DX
  3819  	MOVQ   R13, CX
  3820  	RORQ   $0x27, DX
  3821  	ANDQ   R12, CX
  3822  	XORQ   CX, BX
  3823  	XORQ   DX, DI
  3824  	ADDQ   DI, BX
  3825  	MOVQ   BX, R11
  3826  	ADDQ   AX, R15
  3827  	ADDQ   AX, R11
  3828  	MOVQ   536(BP), AX
  3829  	MOVQ   AX, CX
  3830  	RORQ   $0x13, AX
  3831  	MOVQ   CX, DX
  3832  	RORQ   $0x3d, CX
  3833  	SHRQ   $0x06, DX
  3834  	MOVQ   432(BP), BX
  3835  	XORQ   CX, AX
  3836  	MOVQ   BX, CX
  3837  	XORQ   DX, AX
  3838  	RORQ   $0x01, BX
  3839  	MOVQ   CX, DX
  3840  	SHRQ   $0x07, DX
  3841  	RORQ   $0x08, CX
  3842  	ADDQ   496(BP), AX
  3843  	XORQ   CX, BX
  3844  	XORQ   DX, BX
  3845  	ADDQ   424(BP), BX
  3846  	ADDQ   BX, AX
  3847  	MOVQ   AX, 552(BP)
  3848  	MOVQ   $0x0a637dc5a2c898a6, DX
  3849  	ADDQ   AX, R10
  3850  	MOVQ   R15, AX
  3851  	ADDQ   DX, R10
  3852  	MOVQ   R15, CX
  3853  	RORQ   $0x0e, AX
  3854  	MOVQ   R15, DX
  3855  	RORQ   $0x12, CX
  3856  	XORQ   CX, AX
  3857  	MOVQ   R15, CX
  3858  	RORQ   $0x29, DX
  3859  	ANDQ   R8, CX
  3860  	XORQ   AX, DX
  3861  	MOVQ   R15, AX
  3862  	NOTQ   AX
  3863  	ADDQ   DX, R10
  3864  	ANDQ   R9, AX
  3865  	XORQ   CX, AX
  3866  	ADDQ   R10, AX
  3867  	MOVQ   R11, DI
  3868  	MOVQ   R13, BX
  3869  	RORQ   $0x1c, DI
  3870  	MOVQ   R11, DX
  3871  	ANDQ   R12, BX
  3872  	RORQ   $0x22, DX
  3873  	MOVQ   R11, CX
  3874  	ANDQ   R13, CX
  3875  	XORQ   DX, DI
  3876  	XORQ   CX, BX
  3877  	MOVQ   R11, DX
  3878  	MOVQ   R12, CX
  3879  	RORQ   $0x27, DX
  3880  	ANDQ   R11, CX
  3881  	XORQ   CX, BX
  3882  	XORQ   DX, DI
  3883  	ADDQ   DI, BX
  3884  	MOVQ   BX, R10
  3885  	ADDQ   AX, R14
  3886  	ADDQ   AX, R10
  3887  	MOVQ   544(BP), AX
  3888  	MOVQ   AX, CX
  3889  	RORQ   $0x13, AX
  3890  	MOVQ   CX, DX
  3891  	RORQ   $0x3d, CX
  3892  	SHRQ   $0x06, DX
  3893  	MOVQ   440(BP), BX
  3894  	XORQ   CX, AX
  3895  	MOVQ   BX, CX
  3896  	XORQ   DX, AX
  3897  	RORQ   $0x01, BX
  3898  	MOVQ   CX, DX
  3899  	SHRQ   $0x07, DX
  3900  	RORQ   $0x08, CX
  3901  	ADDQ   504(BP), AX
  3902  	XORQ   CX, BX
  3903  	XORQ   DX, BX
  3904  	ADDQ   432(BP), BX
  3905  	ADDQ   BX, AX
  3906  	MOVQ   AX, 560(BP)
  3907  	MOVQ   $0x113f9804bef90dae, DX
  3908  	ADDQ   AX, R9
  3909  	MOVQ   R14, AX
  3910  	ADDQ   DX, R9
  3911  	MOVQ   R14, CX
  3912  	RORQ   $0x0e, AX
  3913  	MOVQ   R14, DX
  3914  	RORQ   $0x12, CX
  3915  	XORQ   CX, AX
  3916  	MOVQ   R14, CX
  3917  	RORQ   $0x29, DX
  3918  	ANDQ   R15, CX
  3919  	XORQ   AX, DX
  3920  	MOVQ   R14, AX
  3921  	NOTQ   AX
  3922  	ADDQ   DX, R9
  3923  	ANDQ   R8, AX
  3924  	XORQ   CX, AX
  3925  	ADDQ   R9, AX
  3926  	MOVQ   R10, DI
  3927  	MOVQ   R12, BX
  3928  	RORQ   $0x1c, DI
  3929  	MOVQ   R10, DX
  3930  	ANDQ   R11, BX
  3931  	RORQ   $0x22, DX
  3932  	MOVQ   R10, CX
  3933  	ANDQ   R12, CX
  3934  	XORQ   DX, DI
  3935  	XORQ   CX, BX
  3936  	MOVQ   R10, DX
  3937  	MOVQ   R11, CX
  3938  	RORQ   $0x27, DX
  3939  	ANDQ   R10, CX
  3940  	XORQ   CX, BX
  3941  	XORQ   DX, DI
  3942  	ADDQ   DI, BX
  3943  	MOVQ   BX, R9
  3944  	ADDQ   AX, R13
  3945  	ADDQ   AX, R9
  3946  	MOVQ   552(BP), AX
  3947  	MOVQ   AX, CX
  3948  	RORQ   $0x13, AX
  3949  	MOVQ   CX, DX
  3950  	RORQ   $0x3d, CX
  3951  	SHRQ   $0x06, DX
  3952  	MOVQ   448(BP), BX
  3953  	XORQ   CX, AX
  3954  	MOVQ   BX, CX
  3955  	XORQ   DX, AX
  3956  	RORQ   $0x01, BX
  3957  	MOVQ   CX, DX
  3958  	SHRQ   $0x07, DX
  3959  	RORQ   $0x08, CX
  3960  	ADDQ   512(BP), AX
  3961  	XORQ   CX, BX
  3962  	XORQ   DX, BX
  3963  	ADDQ   440(BP), BX
  3964  	ADDQ   BX, AX
  3965  	MOVQ   AX, 568(BP)
  3966  	MOVQ   $0x1b710b35131c471b, DX
  3967  	ADDQ   AX, R8
  3968  	MOVQ   R13, AX
  3969  	ADDQ   DX, R8
  3970  	MOVQ   R13, CX
  3971  	RORQ   $0x0e, AX
  3972  	MOVQ   R13, DX
  3973  	RORQ   $0x12, CX
  3974  	XORQ   CX, AX
  3975  	MOVQ   R13, CX
  3976  	RORQ   $0x29, DX
  3977  	ANDQ   R14, CX
  3978  	XORQ   AX, DX
  3979  	MOVQ   R13, AX
  3980  	NOTQ   AX
  3981  	ADDQ   DX, R8
  3982  	ANDQ   R15, AX
  3983  	XORQ   CX, AX
  3984  	ADDQ   R8, AX
  3985  	MOVQ   R9, DI
  3986  	MOVQ   R11, BX
  3987  	RORQ   $0x1c, DI
  3988  	MOVQ   R9, DX
  3989  	ANDQ   R10, BX
  3990  	RORQ   $0x22, DX
  3991  	MOVQ   R9, CX
  3992  	ANDQ   R11, CX
  3993  	XORQ   DX, DI
  3994  	XORQ   CX, BX
  3995  	MOVQ   R9, DX
  3996  	MOVQ   R10, CX
  3997  	RORQ   $0x27, DX
  3998  	ANDQ   R9, CX
  3999  	XORQ   CX, BX
  4000  	XORQ   DX, DI
  4001  	ADDQ   DI, BX
  4002  	MOVQ   BX, R8
  4003  	ADDQ   AX, R12
  4004  	ADDQ   AX, R8
  4005  	MOVQ   560(BP), AX
  4006  	MOVQ   AX, CX
  4007  	RORQ   $0x13, AX
  4008  	MOVQ   CX, DX
  4009  	RORQ   $0x3d, CX
  4010  	SHRQ   $0x06, DX
  4011  	MOVQ   456(BP), BX
  4012  	XORQ   CX, AX
  4013  	MOVQ   BX, CX
  4014  	XORQ   DX, AX
  4015  	RORQ   $0x01, BX
  4016  	MOVQ   CX, DX
  4017  	SHRQ   $0x07, DX
  4018  	RORQ   $0x08, CX
  4019  	ADDQ   520(BP), AX
  4020  	XORQ   CX, BX
  4021  	XORQ   DX, BX
  4022  	ADDQ   448(BP), BX
  4023  	ADDQ   BX, AX
  4024  	MOVQ   AX, 576(BP)
  4025  	MOVQ   $0x28db77f523047d84, DX
  4026  	ADDQ   AX, R15
  4027  	MOVQ   R12, AX
  4028  	ADDQ   DX, R15
  4029  	MOVQ   R12, CX
  4030  	RORQ   $0x0e, AX
  4031  	MOVQ   R12, DX
  4032  	RORQ   $0x12, CX
  4033  	XORQ   CX, AX
  4034  	MOVQ   R12, CX
  4035  	RORQ   $0x29, DX
  4036  	ANDQ   R13, CX
  4037  	XORQ   AX, DX
  4038  	MOVQ   R12, AX
  4039  	NOTQ   AX
  4040  	ADDQ   DX, R15
  4041  	ANDQ   R14, AX
  4042  	XORQ   CX, AX
  4043  	ADDQ   R15, AX
  4044  	MOVQ   R8, DI
  4045  	MOVQ   R10, BX
  4046  	RORQ   $0x1c, DI
  4047  	MOVQ   R8, DX
  4048  	ANDQ   R9, BX
  4049  	RORQ   $0x22, DX
  4050  	MOVQ   R8, CX
  4051  	ANDQ   R10, CX
  4052  	XORQ   DX, DI
  4053  	XORQ   CX, BX
  4054  	MOVQ   R8, DX
  4055  	MOVQ   R9, CX
  4056  	RORQ   $0x27, DX
  4057  	ANDQ   R8, CX
  4058  	XORQ   CX, BX
  4059  	XORQ   DX, DI
  4060  	ADDQ   DI, BX
  4061  	MOVQ   BX, R15
  4062  	ADDQ   AX, R11
  4063  	ADDQ   AX, R15
  4064  	MOVQ   568(BP), AX
  4065  	MOVQ   AX, CX
  4066  	RORQ   $0x13, AX
  4067  	MOVQ   CX, DX
  4068  	RORQ   $0x3d, CX
  4069  	SHRQ   $0x06, DX
  4070  	MOVQ   464(BP), BX
  4071  	XORQ   CX, AX
  4072  	MOVQ   BX, CX
  4073  	XORQ   DX, AX
  4074  	RORQ   $0x01, BX
  4075  	MOVQ   CX, DX
  4076  	SHRQ   $0x07, DX
  4077  	RORQ   $0x08, CX
  4078  	ADDQ   528(BP), AX
  4079  	XORQ   CX, BX
  4080  	XORQ   DX, BX
  4081  	ADDQ   456(BP), BX
  4082  	ADDQ   BX, AX
  4083  	MOVQ   AX, 584(BP)
  4084  	MOVQ   $0x32caab7b40c72493, DX
  4085  	ADDQ   AX, R14
  4086  	MOVQ   R11, AX
  4087  	ADDQ   DX, R14
  4088  	MOVQ   R11, CX
  4089  	RORQ   $0x0e, AX
  4090  	MOVQ   R11, DX
  4091  	RORQ   $0x12, CX
  4092  	XORQ   CX, AX
  4093  	MOVQ   R11, CX
  4094  	RORQ   $0x29, DX
  4095  	ANDQ   R12, CX
  4096  	XORQ   AX, DX
  4097  	MOVQ   R11, AX
  4098  	NOTQ   AX
  4099  	ADDQ   DX, R14
  4100  	ANDQ   R13, AX
  4101  	XORQ   CX, AX
  4102  	ADDQ   R14, AX
  4103  	MOVQ   R15, DI
  4104  	MOVQ   R9, BX
  4105  	RORQ   $0x1c, DI
  4106  	MOVQ   R15, DX
  4107  	ANDQ   R8, BX
  4108  	RORQ   $0x22, DX
  4109  	MOVQ   R15, CX
  4110  	ANDQ   R9, CX
  4111  	XORQ   DX, DI
  4112  	XORQ   CX, BX
  4113  	MOVQ   R15, DX
  4114  	MOVQ   R8, CX
  4115  	RORQ   $0x27, DX
  4116  	ANDQ   R15, CX
  4117  	XORQ   CX, BX
  4118  	XORQ   DX, DI
  4119  	ADDQ   DI, BX
  4120  	MOVQ   BX, R14
  4121  	ADDQ   AX, R10
  4122  	ADDQ   AX, R14
  4123  	MOVQ   576(BP), AX
  4124  	MOVQ   AX, CX
  4125  	RORQ   $0x13, AX
  4126  	MOVQ   CX, DX
  4127  	RORQ   $0x3d, CX
  4128  	SHRQ   $0x06, DX
  4129  	MOVQ   472(BP), BX
  4130  	XORQ   CX, AX
  4131  	MOVQ   BX, CX
  4132  	XORQ   DX, AX
  4133  	RORQ   $0x01, BX
  4134  	MOVQ   CX, DX
  4135  	SHRQ   $0x07, DX
  4136  	RORQ   $0x08, CX
  4137  	ADDQ   536(BP), AX
  4138  	XORQ   CX, BX
  4139  	XORQ   DX, BX
  4140  	ADDQ   464(BP), BX
  4141  	ADDQ   BX, AX
  4142  	MOVQ   AX, 592(BP)
  4143  	MOVQ   $0x3c9ebe0a15c9bebc, DX
  4144  	ADDQ   AX, R13
  4145  	MOVQ   R10, AX
  4146  	ADDQ   DX, R13
  4147  	MOVQ   R10, CX
  4148  	RORQ   $0x0e, AX
  4149  	MOVQ   R10, DX
  4150  	RORQ   $0x12, CX
  4151  	XORQ   CX, AX
  4152  	MOVQ   R10, CX
  4153  	RORQ   $0x29, DX
  4154  	ANDQ   R11, CX
  4155  	XORQ   AX, DX
  4156  	MOVQ   R10, AX
  4157  	NOTQ   AX
  4158  	ADDQ   DX, R13
  4159  	ANDQ   R12, AX
  4160  	XORQ   CX, AX
  4161  	ADDQ   R13, AX
  4162  	MOVQ   R14, DI
  4163  	MOVQ   R8, BX
  4164  	RORQ   $0x1c, DI
  4165  	MOVQ   R14, DX
  4166  	ANDQ   R15, BX
  4167  	RORQ   $0x22, DX
  4168  	MOVQ   R14, CX
  4169  	ANDQ   R8, CX
  4170  	XORQ   DX, DI
  4171  	XORQ   CX, BX
  4172  	MOVQ   R14, DX
  4173  	MOVQ   R15, CX
  4174  	RORQ   $0x27, DX
  4175  	ANDQ   R14, CX
  4176  	XORQ   CX, BX
  4177  	XORQ   DX, DI
  4178  	ADDQ   DI, BX
  4179  	MOVQ   BX, R13
  4180  	ADDQ   AX, R9
  4181  	ADDQ   AX, R13
  4182  	MOVQ   584(BP), AX
  4183  	MOVQ   AX, CX
  4184  	RORQ   $0x13, AX
  4185  	MOVQ   CX, DX
  4186  	RORQ   $0x3d, CX
  4187  	SHRQ   $0x06, DX
  4188  	MOVQ   480(BP), BX
  4189  	XORQ   CX, AX
  4190  	MOVQ   BX, CX
  4191  	XORQ   DX, AX
  4192  	RORQ   $0x01, BX
  4193  	MOVQ   CX, DX
  4194  	SHRQ   $0x07, DX
  4195  	RORQ   $0x08, CX
  4196  	ADDQ   544(BP), AX
  4197  	XORQ   CX, BX
  4198  	XORQ   DX, BX
  4199  	ADDQ   472(BP), BX
  4200  	ADDQ   BX, AX
  4201  	MOVQ   AX, 600(BP)
  4202  	MOVQ   $0x431d67c49c100d4c, DX
  4203  	ADDQ   AX, R12
  4204  	MOVQ   R9, AX
  4205  	ADDQ   DX, R12
  4206  	MOVQ   R9, CX
  4207  	RORQ   $0x0e, AX
  4208  	MOVQ   R9, DX
  4209  	RORQ   $0x12, CX
  4210  	XORQ   CX, AX
  4211  	MOVQ   R9, CX
  4212  	RORQ   $0x29, DX
  4213  	ANDQ   R10, CX
  4214  	XORQ   AX, DX
  4215  	MOVQ   R9, AX
  4216  	NOTQ   AX
  4217  	ADDQ   DX, R12
  4218  	ANDQ   R11, AX
  4219  	XORQ   CX, AX
  4220  	ADDQ   R12, AX
  4221  	MOVQ   R13, DI
  4222  	MOVQ   R15, BX
  4223  	RORQ   $0x1c, DI
  4224  	MOVQ   R13, DX
  4225  	ANDQ   R14, BX
  4226  	RORQ   $0x22, DX
  4227  	MOVQ   R13, CX
  4228  	ANDQ   R15, CX
  4229  	XORQ   DX, DI
  4230  	XORQ   CX, BX
  4231  	MOVQ   R13, DX
  4232  	MOVQ   R14, CX
  4233  	RORQ   $0x27, DX
  4234  	ANDQ   R13, CX
  4235  	XORQ   CX, BX
  4236  	XORQ   DX, DI
  4237  	ADDQ   DI, BX
  4238  	MOVQ   BX, R12
  4239  	ADDQ   AX, R8
  4240  	ADDQ   AX, R12
  4241  	MOVQ   592(BP), AX
  4242  	MOVQ   AX, CX
  4243  	RORQ   $0x13, AX
  4244  	MOVQ   CX, DX
  4245  	RORQ   $0x3d, CX
  4246  	SHRQ   $0x06, DX
  4247  	MOVQ   488(BP), BX
  4248  	XORQ   CX, AX
  4249  	MOVQ   BX, CX
  4250  	XORQ   DX, AX
  4251  	RORQ   $0x01, BX
  4252  	MOVQ   CX, DX
  4253  	SHRQ   $0x07, DX
  4254  	RORQ   $0x08, CX
  4255  	ADDQ   552(BP), AX
  4256  	XORQ   CX, BX
  4257  	XORQ   DX, BX
  4258  	ADDQ   480(BP), BX
  4259  	ADDQ   BX, AX
  4260  	MOVQ   AX, 608(BP)
  4261  	MOVQ   $0x4cc5d4becb3e42b6, DX
  4262  	ADDQ   AX, R11
  4263  	MOVQ   R8, AX
  4264  	ADDQ   DX, R11
  4265  	MOVQ   R8, CX
  4266  	RORQ   $0x0e, AX
  4267  	MOVQ   R8, DX
  4268  	RORQ   $0x12, CX
  4269  	XORQ   CX, AX
  4270  	MOVQ   R8, CX
  4271  	RORQ   $0x29, DX
  4272  	ANDQ   R9, CX
  4273  	XORQ   AX, DX
  4274  	MOVQ   R8, AX
  4275  	NOTQ   AX
  4276  	ADDQ   DX, R11
  4277  	ANDQ   R10, AX
  4278  	XORQ   CX, AX
  4279  	ADDQ   R11, AX
  4280  	MOVQ   R12, DI
  4281  	MOVQ   R14, BX
  4282  	RORQ   $0x1c, DI
  4283  	MOVQ   R12, DX
  4284  	ANDQ   R13, BX
  4285  	RORQ   $0x22, DX
  4286  	MOVQ   R12, CX
  4287  	ANDQ   R14, CX
  4288  	XORQ   DX, DI
  4289  	XORQ   CX, BX
  4290  	MOVQ   R12, DX
  4291  	MOVQ   R13, CX
  4292  	RORQ   $0x27, DX
  4293  	ANDQ   R12, CX
  4294  	XORQ   CX, BX
  4295  	XORQ   DX, DI
  4296  	ADDQ   DI, BX
  4297  	MOVQ   BX, R11
  4298  	ADDQ   AX, R15
  4299  	ADDQ   AX, R11
  4300  	MOVQ   600(BP), AX
  4301  	MOVQ   AX, CX
  4302  	RORQ   $0x13, AX
  4303  	MOVQ   CX, DX
  4304  	RORQ   $0x3d, CX
  4305  	SHRQ   $0x06, DX
  4306  	MOVQ   496(BP), BX
  4307  	XORQ   CX, AX
  4308  	MOVQ   BX, CX
  4309  	XORQ   DX, AX
  4310  	RORQ   $0x01, BX
  4311  	MOVQ   CX, DX
  4312  	SHRQ   $0x07, DX
  4313  	RORQ   $0x08, CX
  4314  	ADDQ   560(BP), AX
  4315  	XORQ   CX, BX
  4316  	XORQ   DX, BX
  4317  	ADDQ   488(BP), BX
  4318  	ADDQ   BX, AX
  4319  	MOVQ   AX, 616(BP)
  4320  	MOVQ   $0x597f299cfc657e2a, DX
  4321  	ADDQ   AX, R10
  4322  	MOVQ   R15, AX
  4323  	ADDQ   DX, R10
  4324  	MOVQ   R15, CX
  4325  	RORQ   $0x0e, AX
  4326  	MOVQ   R15, DX
  4327  	RORQ   $0x12, CX
  4328  	XORQ   CX, AX
  4329  	MOVQ   R15, CX
  4330  	RORQ   $0x29, DX
  4331  	ANDQ   R8, CX
  4332  	XORQ   AX, DX
  4333  	MOVQ   R15, AX
  4334  	NOTQ   AX
  4335  	ADDQ   DX, R10
  4336  	ANDQ   R9, AX
  4337  	XORQ   CX, AX
  4338  	ADDQ   R10, AX
  4339  	MOVQ   R11, DI
  4340  	MOVQ   R13, BX
  4341  	RORQ   $0x1c, DI
  4342  	MOVQ   R11, DX
  4343  	ANDQ   R12, BX
  4344  	RORQ   $0x22, DX
  4345  	MOVQ   R11, CX
  4346  	ANDQ   R13, CX
  4347  	XORQ   DX, DI
  4348  	XORQ   CX, BX
  4349  	MOVQ   R11, DX
  4350  	MOVQ   R12, CX
  4351  	RORQ   $0x27, DX
  4352  	ANDQ   R11, CX
  4353  	XORQ   CX, BX
  4354  	XORQ   DX, DI
  4355  	ADDQ   DI, BX
  4356  	MOVQ   BX, R10
  4357  	ADDQ   AX, R14
  4358  	ADDQ   AX, R10
  4359  	MOVQ   608(BP), AX
  4360  	MOVQ   AX, CX
  4361  	RORQ   $0x13, AX
  4362  	MOVQ   CX, DX
  4363  	RORQ   $0x3d, CX
  4364  	SHRQ   $0x06, DX
  4365  	MOVQ   504(BP), BX
  4366  	XORQ   CX, AX
  4367  	MOVQ   BX, CX
  4368  	XORQ   DX, AX
  4369  	RORQ   $0x01, BX
  4370  	MOVQ   CX, DX
  4371  	SHRQ   $0x07, DX
  4372  	RORQ   $0x08, CX
  4373  	ADDQ   568(BP), AX
  4374  	XORQ   CX, BX
  4375  	XORQ   DX, BX
  4376  	ADDQ   496(BP), BX
  4377  	ADDQ   BX, AX
  4378  	MOVQ   AX, 624(BP)
  4379  	MOVQ   $0x5fcb6fab3ad6faec, DX
  4380  	ADDQ   AX, R9
  4381  	MOVQ   R14, AX
  4382  	ADDQ   DX, R9
  4383  	MOVQ   R14, CX
  4384  	RORQ   $0x0e, AX
  4385  	MOVQ   R14, DX
  4386  	RORQ   $0x12, CX
  4387  	XORQ   CX, AX
  4388  	MOVQ   R14, CX
  4389  	RORQ   $0x29, DX
  4390  	ANDQ   R15, CX
  4391  	XORQ   AX, DX
  4392  	MOVQ   R14, AX
  4393  	NOTQ   AX
  4394  	ADDQ   DX, R9
  4395  	ANDQ   R8, AX
  4396  	XORQ   CX, AX
  4397  	ADDQ   R9, AX
  4398  	MOVQ   R10, DI
  4399  	MOVQ   R12, BX
  4400  	RORQ   $0x1c, DI
  4401  	MOVQ   R10, DX
  4402  	ANDQ   R11, BX
  4403  	RORQ   $0x22, DX
  4404  	MOVQ   R10, CX
  4405  	ANDQ   R12, CX
  4406  	XORQ   DX, DI
  4407  	XORQ   CX, BX
  4408  	MOVQ   R10, DX
  4409  	MOVQ   R11, CX
  4410  	RORQ   $0x27, DX
  4411  	ANDQ   R10, CX
  4412  	XORQ   CX, BX
  4413  	XORQ   DX, DI
  4414  	ADDQ   DI, BX
  4415  	MOVQ   BX, R9
  4416  	ADDQ   AX, R13
  4417  	ADDQ   AX, R9
  4418  	MOVQ   616(BP), AX
  4419  	MOVQ   AX, CX
  4420  	RORQ   $0x13, AX
  4421  	MOVQ   CX, DX
  4422  	RORQ   $0x3d, CX
  4423  	SHRQ   $0x06, DX
  4424  	MOVQ   512(BP), BX
  4425  	XORQ   CX, AX
  4426  	MOVQ   BX, CX
  4427  	XORQ   DX, AX
  4428  	RORQ   $0x01, BX
  4429  	MOVQ   CX, DX
  4430  	SHRQ   $0x07, DX
  4431  	RORQ   $0x08, CX
  4432  	ADDQ   576(BP), AX
  4433  	XORQ   CX, BX
  4434  	XORQ   DX, BX
  4435  	ADDQ   504(BP), BX
  4436  	ADDQ   BX, AX
  4437  	MOVQ   AX, 632(BP)
  4438  	MOVQ   $0x6c44198c4a475817, DX
  4439  	ADDQ   AX, R8
  4440  	MOVQ   R13, AX
  4441  	ADDQ   DX, R8
  4442  	MOVQ   R13, CX
  4443  	RORQ   $0x0e, AX
  4444  	MOVQ   R13, DX
  4445  	RORQ   $0x12, CX
  4446  	XORQ   CX, AX
  4447  	MOVQ   R13, CX
  4448  	RORQ   $0x29, DX
  4449  	ANDQ   R14, CX
  4450  	XORQ   AX, DX
  4451  	MOVQ   R13, AX
  4452  	NOTQ   AX
  4453  	ADDQ   DX, R8
  4454  	ANDQ   R15, AX
  4455  	XORQ   CX, AX
  4456  	ADDQ   R8, AX
  4457  	MOVQ   R9, DI
  4458  	MOVQ   R11, BX
  4459  	RORQ   $0x1c, DI
  4460  	MOVQ   R9, DX
  4461  	ANDQ   R10, BX
  4462  	RORQ   $0x22, DX
  4463  	MOVQ   R9, CX
  4464  	ANDQ   R11, CX
  4465  	XORQ   DX, DI
  4466  	XORQ   CX, BX
  4467  	MOVQ   R9, DX
  4468  	MOVQ   R10, CX
  4469  	RORQ   $0x27, DX
  4470  	ANDQ   R9, CX
  4471  	XORQ   CX, BX
  4472  	XORQ   DX, DI
  4473  	ADDQ   DI, BX
  4474  	MOVQ   BX, R8
  4475  	ADDQ   AX, R12
  4476  	ADDQ   AX, R8
  4477  	MOVQ   dig+0(FP), BP
  4478  	ADDQ   (BP), R8
  4479  	MOVQ   R8, (BP)
  4480  	ADDQ   8(BP), R9
  4481  	MOVQ   R9, 8(BP)
  4482  	ADDQ   16(BP), R10
  4483  	MOVQ   R10, 16(BP)
  4484  	ADDQ   24(BP), R11
  4485  	MOVQ   R11, 24(BP)
  4486  	ADDQ   32(BP), R12
  4487  	MOVQ   R12, 32(BP)
  4488  	ADDQ   40(BP), R13
  4489  	MOVQ   R13, 40(BP)
  4490  	ADDQ   48(BP), R14
  4491  	MOVQ   R14, 48(BP)
  4492  	ADDQ   56(BP), R15
  4493  	MOVQ   R15, 56(BP)
  4494  	ADDQ   $0x80, SI
  4495  	CMPQ   SI, 640(SP)
  4496  	JB     loop
  4497  
  4498  end:
  4499  	RET
  4500  
  4501  DATA PSHUFFLE_BYTE_FLIP_MASK<>+0(SB)/8, $0x0001020304050607
  4502  DATA PSHUFFLE_BYTE_FLIP_MASK<>+8(SB)/8, $0x08090a0b0c0d0e0f
  4503  DATA PSHUFFLE_BYTE_FLIP_MASK<>+16(SB)/8, $0x1011121314151617
  4504  DATA PSHUFFLE_BYTE_FLIP_MASK<>+24(SB)/8, $0x18191a1b1c1d1e1f
  4505  GLOBL PSHUFFLE_BYTE_FLIP_MASK<>(SB), RODATA|NOPTR, $32
  4506  
  4507  // func blockAVX2(dig *Digest, p []byte)
  4508  // Requires: AVX, AVX2, BMI2
  4509  TEXT ·blockAVX2(SB), NOSPLIT, $56-32
  4510  	MOVQ    dig+0(FP), SI
  4511  	MOVQ    p_base+8(FP), DI
  4512  	MOVQ    p_len+16(FP), DX
  4513  	SHRQ    $0x07, DX
  4514  	SHLQ    $0x07, DX
  4515  	JZ      done_hash
  4516  	ADDQ    DI, DX
  4517  	MOVQ    DX, 48(SP)
  4518  	MOVQ    (SI), AX
  4519  	MOVQ    8(SI), BX
  4520  	MOVQ    16(SI), CX
  4521  	MOVQ    24(SI), R8
  4522  	MOVQ    32(SI), DX
  4523  	MOVQ    40(SI), R9
  4524  	MOVQ    48(SI), R10
  4525  	MOVQ    56(SI), R11
  4526  	VMOVDQU PSHUFFLE_BYTE_FLIP_MASK<>+0(SB), Y9
  4527  
  4528  loop0:
  4529  	MOVQ    $·_K+0(SB), BP
  4530  	VMOVDQU (DI), Y4
  4531  	VPSHUFB Y9, Y4, Y4
  4532  	VMOVDQU 32(DI), Y5
  4533  	VPSHUFB Y9, Y5, Y5
  4534  	VMOVDQU 64(DI), Y6
  4535  	VPSHUFB Y9, Y6, Y6
  4536  	VMOVDQU 96(DI), Y7
  4537  	VPSHUFB Y9, Y7, Y7
  4538  	MOVQ    DI, 40(SP)
  4539  	MOVQ    $0x00000004, 32(SP)
  4540  
  4541  loop1:
  4542  	VPADDQ     (BP), Y4, Y0
  4543  	VMOVDQU    Y0, (SP)
  4544  	VPERM2F128 $0x03, Y6, Y7, Y0
  4545  	VPALIGNR   $0x08, Y6, Y0, Y0
  4546  	VPADDQ     Y4, Y0, Y0
  4547  	VPERM2F128 $0x03, Y4, Y5, Y1
  4548  	VPALIGNR   $0x08, Y4, Y1, Y1
  4549  	VPSRLQ     $0x01, Y1, Y2
  4550  	VPSLLQ     $0x3f, Y1, Y3
  4551  	VPOR       Y2, Y3, Y3
  4552  	VPSRLQ     $0x07, Y1, Y8
  4553  	MOVQ       AX, DI
  4554  	RORXQ      $0x29, DX, R13
  4555  	RORXQ      $0x12, DX, R14
  4556  	ADDQ       (SP), R11
  4557  	ORQ        CX, DI
  4558  	MOVQ       R9, R15
  4559  	RORXQ      $0x22, AX, R12
  4560  	XORQ       R14, R13
  4561  	XORQ       R10, R15
  4562  	RORXQ      $0x0e, DX, R14
  4563  	ANDQ       DX, R15
  4564  	XORQ       R14, R13
  4565  	RORXQ      $0x27, AX, R14
  4566  	ADDQ       R11, R8
  4567  	ANDQ       BX, DI
  4568  	XORQ       R12, R14
  4569  	RORXQ      $0x1c, AX, R12
  4570  	XORQ       R10, R15
  4571  	XORQ       R12, R14
  4572  	MOVQ       AX, R12
  4573  	ANDQ       CX, R12
  4574  	ADDQ       R13, R15
  4575  	ORQ        R12, DI
  4576  	ADDQ       R14, R11
  4577  	ADDQ       R15, R8
  4578  	ADDQ       R15, R11
  4579  	ADDQ       DI, R11
  4580  	VPSRLQ     $0x08, Y1, Y2
  4581  	VPSLLQ     $0x38, Y1, Y1
  4582  	VPOR       Y2, Y1, Y1
  4583  	VPXOR      Y8, Y3, Y3
  4584  	VPXOR      Y1, Y3, Y1
  4585  	VPADDQ     Y1, Y0, Y0
  4586  	VPERM2F128 $0x00, Y0, Y0, Y4
  4587  	VPAND      MASK_YMM_LO<>+0(SB), Y0, Y0
  4588  	VPERM2F128 $0x11, Y7, Y7, Y2
  4589  	VPSRLQ     $0x06, Y2, Y8
  4590  	MOVQ       R11, DI
  4591  	RORXQ      $0x29, R8, R13
  4592  	RORXQ      $0x12, R8, R14
  4593  	ADDQ       8(SP), R10
  4594  	ORQ        BX, DI
  4595  	MOVQ       DX, R15
  4596  	RORXQ      $0x22, R11, R12
  4597  	XORQ       R14, R13
  4598  	XORQ       R9, R15
  4599  	RORXQ      $0x0e, R8, R14
  4600  	XORQ       R14, R13
  4601  	RORXQ      $0x27, R11, R14
  4602  	ANDQ       R8, R15
  4603  	ADDQ       R10, CX
  4604  	ANDQ       AX, DI
  4605  	XORQ       R12, R14
  4606  	RORXQ      $0x1c, R11, R12
  4607  	XORQ       R9, R15
  4608  	XORQ       R12, R14
  4609  	MOVQ       R11, R12
  4610  	ANDQ       BX, R12
  4611  	ADDQ       R13, R15
  4612  	ORQ        R12, DI
  4613  	ADDQ       R14, R10
  4614  	ADDQ       R15, CX
  4615  	ADDQ       R15, R10
  4616  	ADDQ       DI, R10
  4617  	VPSRLQ     $0x13, Y2, Y3
  4618  	VPSLLQ     $0x2d, Y2, Y1
  4619  	VPOR       Y1, Y3, Y3
  4620  	VPXOR      Y3, Y8, Y8
  4621  	VPSRLQ     $0x3d, Y2, Y3
  4622  	VPSLLQ     $0x03, Y2, Y1
  4623  	VPOR       Y1, Y3, Y3
  4624  	VPXOR      Y3, Y8, Y8
  4625  	VPADDQ     Y8, Y4, Y4
  4626  	VPSRLQ     $0x06, Y4, Y8
  4627  	MOVQ       R10, DI
  4628  	RORXQ      $0x29, CX, R13
  4629  	ADDQ       16(SP), R9
  4630  	RORXQ      $0x12, CX, R14
  4631  	ORQ        AX, DI
  4632  	MOVQ       R8, R15
  4633  	XORQ       DX, R15
  4634  	RORXQ      $0x22, R10, R12
  4635  	XORQ       R14, R13
  4636  	ANDQ       CX, R15
  4637  	RORXQ      $0x0e, CX, R14
  4638  	ADDQ       R9, BX
  4639  	ANDQ       R11, DI
  4640  	XORQ       R14, R13
  4641  	RORXQ      $0x27, R10, R14
  4642  	XORQ       DX, R15
  4643  	XORQ       R12, R14
  4644  	RORXQ      $0x1c, R10, R12
  4645  	XORQ       R12, R14
  4646  	MOVQ       R10, R12
  4647  	ANDQ       AX, R12
  4648  	ADDQ       R13, R15
  4649  	ORQ        R12, DI
  4650  	ADDQ       R14, R9
  4651  	ADDQ       R15, BX
  4652  	ADDQ       R15, R9
  4653  	ADDQ       DI, R9
  4654  	VPSRLQ     $0x13, Y4, Y3
  4655  	VPSLLQ     $0x2d, Y4, Y1
  4656  	VPOR       Y1, Y3, Y3
  4657  	VPXOR      Y3, Y8, Y8
  4658  	VPSRLQ     $0x3d, Y4, Y3
  4659  	VPSLLQ     $0x03, Y4, Y1
  4660  	VPOR       Y1, Y3, Y3
  4661  	VPXOR      Y3, Y8, Y8
  4662  	VPADDQ     Y8, Y0, Y2
  4663  	VPBLENDD   $0xf0, Y2, Y4, Y4
  4664  	MOVQ       R9, DI
  4665  	RORXQ      $0x29, BX, R13
  4666  	RORXQ      $0x12, BX, R14
  4667  	ADDQ       24(SP), DX
  4668  	ORQ        R11, DI
  4669  	MOVQ       CX, R15
  4670  	RORXQ      $0x22, R9, R12
  4671  	XORQ       R14, R13
  4672  	XORQ       R8, R15
  4673  	RORXQ      $0x0e, BX, R14
  4674  	ANDQ       BX, R15
  4675  	ADDQ       DX, AX
  4676  	ANDQ       R10, DI
  4677  	XORQ       R14, R13
  4678  	XORQ       R8, R15
  4679  	RORXQ      $0x27, R9, R14
  4680  	ADDQ       R13, R15
  4681  	XORQ       R12, R14
  4682  	ADDQ       R15, AX
  4683  	RORXQ      $0x1c, R9, R12
  4684  	XORQ       R12, R14
  4685  	MOVQ       R9, R12
  4686  	ANDQ       R11, R12
  4687  	ORQ        R12, DI
  4688  	ADDQ       R14, DX
  4689  	ADDQ       R15, DX
  4690  	ADDQ       DI, DX
  4691  	VPADDQ     32(BP), Y5, Y0
  4692  	VMOVDQU    Y0, (SP)
  4693  	VPERM2F128 $0x03, Y7, Y4, Y0
  4694  	VPALIGNR   $0x08, Y7, Y0, Y0
  4695  	VPADDQ     Y5, Y0, Y0
  4696  	VPERM2F128 $0x03, Y5, Y6, Y1
  4697  	VPALIGNR   $0x08, Y5, Y1, Y1
  4698  	VPSRLQ     $0x01, Y1, Y2
  4699  	VPSLLQ     $0x3f, Y1, Y3
  4700  	VPOR       Y2, Y3, Y3
  4701  	VPSRLQ     $0x07, Y1, Y8
  4702  	MOVQ       DX, DI
  4703  	RORXQ      $0x29, AX, R13
  4704  	RORXQ      $0x12, AX, R14
  4705  	ADDQ       (SP), R8
  4706  	ORQ        R10, DI
  4707  	MOVQ       BX, R15
  4708  	RORXQ      $0x22, DX, R12
  4709  	XORQ       R14, R13
  4710  	XORQ       CX, R15
  4711  	RORXQ      $0x0e, AX, R14
  4712  	ANDQ       AX, R15
  4713  	XORQ       R14, R13
  4714  	RORXQ      $0x27, DX, R14
  4715  	ADDQ       R8, R11
  4716  	ANDQ       R9, DI
  4717  	XORQ       R12, R14
  4718  	RORXQ      $0x1c, DX, R12
  4719  	XORQ       CX, R15
  4720  	XORQ       R12, R14
  4721  	MOVQ       DX, R12
  4722  	ANDQ       R10, R12
  4723  	ADDQ       R13, R15
  4724  	ORQ        R12, DI
  4725  	ADDQ       R14, R8
  4726  	ADDQ       R15, R11
  4727  	ADDQ       R15, R8
  4728  	ADDQ       DI, R8
  4729  	VPSRLQ     $0x08, Y1, Y2
  4730  	VPSLLQ     $0x38, Y1, Y1
  4731  	VPOR       Y2, Y1, Y1
  4732  	VPXOR      Y8, Y3, Y3
  4733  	VPXOR      Y1, Y3, Y1
  4734  	VPADDQ     Y1, Y0, Y0
  4735  	VPERM2F128 $0x00, Y0, Y0, Y5
  4736  	VPAND      MASK_YMM_LO<>+0(SB), Y0, Y0
  4737  	VPERM2F128 $0x11, Y4, Y4, Y2
  4738  	VPSRLQ     $0x06, Y2, Y8
  4739  	MOVQ       R8, DI
  4740  	RORXQ      $0x29, R11, R13
  4741  	RORXQ      $0x12, R11, R14
  4742  	ADDQ       8(SP), CX
  4743  	ORQ        R9, DI
  4744  	MOVQ       AX, R15
  4745  	RORXQ      $0x22, R8, R12
  4746  	XORQ       R14, R13
  4747  	XORQ       BX, R15
  4748  	RORXQ      $0x0e, R11, R14
  4749  	XORQ       R14, R13
  4750  	RORXQ      $0x27, R8, R14
  4751  	ANDQ       R11, R15
  4752  	ADDQ       CX, R10
  4753  	ANDQ       DX, DI
  4754  	XORQ       R12, R14
  4755  	RORXQ      $0x1c, R8, R12
  4756  	XORQ       BX, R15
  4757  	XORQ       R12, R14
  4758  	MOVQ       R8, R12
  4759  	ANDQ       R9, R12
  4760  	ADDQ       R13, R15
  4761  	ORQ        R12, DI
  4762  	ADDQ       R14, CX
  4763  	ADDQ       R15, R10
  4764  	ADDQ       R15, CX
  4765  	ADDQ       DI, CX
  4766  	VPSRLQ     $0x13, Y2, Y3
  4767  	VPSLLQ     $0x2d, Y2, Y1
  4768  	VPOR       Y1, Y3, Y3
  4769  	VPXOR      Y3, Y8, Y8
  4770  	VPSRLQ     $0x3d, Y2, Y3
  4771  	VPSLLQ     $0x03, Y2, Y1
  4772  	VPOR       Y1, Y3, Y3
  4773  	VPXOR      Y3, Y8, Y8
  4774  	VPADDQ     Y8, Y5, Y5
  4775  	VPSRLQ     $0x06, Y5, Y8
  4776  	MOVQ       CX, DI
  4777  	RORXQ      $0x29, R10, R13
  4778  	ADDQ       16(SP), BX
  4779  	RORXQ      $0x12, R10, R14
  4780  	ORQ        DX, DI
  4781  	MOVQ       R11, R15
  4782  	XORQ       AX, R15
  4783  	RORXQ      $0x22, CX, R12
  4784  	XORQ       R14, R13
  4785  	ANDQ       R10, R15
  4786  	RORXQ      $0x0e, R10, R14
  4787  	ADDQ       BX, R9
  4788  	ANDQ       R8, DI
  4789  	XORQ       R14, R13
  4790  	RORXQ      $0x27, CX, R14
  4791  	XORQ       AX, R15
  4792  	XORQ       R12, R14
  4793  	RORXQ      $0x1c, CX, R12
  4794  	XORQ       R12, R14
  4795  	MOVQ       CX, R12
  4796  	ANDQ       DX, R12
  4797  	ADDQ       R13, R15
  4798  	ORQ        R12, DI
  4799  	ADDQ       R14, BX
  4800  	ADDQ       R15, R9
  4801  	ADDQ       R15, BX
  4802  	ADDQ       DI, BX
  4803  	VPSRLQ     $0x13, Y5, Y3
  4804  	VPSLLQ     $0x2d, Y5, Y1
  4805  	VPOR       Y1, Y3, Y3
  4806  	VPXOR      Y3, Y8, Y8
  4807  	VPSRLQ     $0x3d, Y5, Y3
  4808  	VPSLLQ     $0x03, Y5, Y1
  4809  	VPOR       Y1, Y3, Y3
  4810  	VPXOR      Y3, Y8, Y8
  4811  	VPADDQ     Y8, Y0, Y2
  4812  	VPBLENDD   $0xf0, Y2, Y5, Y5
  4813  	MOVQ       BX, DI
  4814  	RORXQ      $0x29, R9, R13
  4815  	RORXQ      $0x12, R9, R14
  4816  	ADDQ       24(SP), AX
  4817  	ORQ        R8, DI
  4818  	MOVQ       R10, R15
  4819  	RORXQ      $0x22, BX, R12
  4820  	XORQ       R14, R13
  4821  	XORQ       R11, R15
  4822  	RORXQ      $0x0e, R9, R14
  4823  	ANDQ       R9, R15
  4824  	ADDQ       AX, DX
  4825  	ANDQ       CX, DI
  4826  	XORQ       R14, R13
  4827  	XORQ       R11, R15
  4828  	RORXQ      $0x27, BX, R14
  4829  	ADDQ       R13, R15
  4830  	XORQ       R12, R14
  4831  	ADDQ       R15, DX
  4832  	RORXQ      $0x1c, BX, R12
  4833  	XORQ       R12, R14
  4834  	MOVQ       BX, R12
  4835  	ANDQ       R8, R12
  4836  	ORQ        R12, DI
  4837  	ADDQ       R14, AX
  4838  	ADDQ       R15, AX
  4839  	ADDQ       DI, AX
  4840  	VPADDQ     64(BP), Y6, Y0
  4841  	VMOVDQU    Y0, (SP)
  4842  	VPERM2F128 $0x03, Y4, Y5, Y0
  4843  	VPALIGNR   $0x08, Y4, Y0, Y0
  4844  	VPADDQ     Y6, Y0, Y0
  4845  	VPERM2F128 $0x03, Y6, Y7, Y1
  4846  	VPALIGNR   $0x08, Y6, Y1, Y1
  4847  	VPSRLQ     $0x01, Y1, Y2
  4848  	VPSLLQ     $0x3f, Y1, Y3
  4849  	VPOR       Y2, Y3, Y3
  4850  	VPSRLQ     $0x07, Y1, Y8
  4851  	MOVQ       AX, DI
  4852  	RORXQ      $0x29, DX, R13
  4853  	RORXQ      $0x12, DX, R14
  4854  	ADDQ       (SP), R11
  4855  	ORQ        CX, DI
  4856  	MOVQ       R9, R15
  4857  	RORXQ      $0x22, AX, R12
  4858  	XORQ       R14, R13
  4859  	XORQ       R10, R15
  4860  	RORXQ      $0x0e, DX, R14
  4861  	ANDQ       DX, R15
  4862  	XORQ       R14, R13
  4863  	RORXQ      $0x27, AX, R14
  4864  	ADDQ       R11, R8
  4865  	ANDQ       BX, DI
  4866  	XORQ       R12, R14
  4867  	RORXQ      $0x1c, AX, R12
  4868  	XORQ       R10, R15
  4869  	XORQ       R12, R14
  4870  	MOVQ       AX, R12
  4871  	ANDQ       CX, R12
  4872  	ADDQ       R13, R15
  4873  	ORQ        R12, DI
  4874  	ADDQ       R14, R11
  4875  	ADDQ       R15, R8
  4876  	ADDQ       R15, R11
  4877  	ADDQ       DI, R11
  4878  	VPSRLQ     $0x08, Y1, Y2
  4879  	VPSLLQ     $0x38, Y1, Y1
  4880  	VPOR       Y2, Y1, Y1
  4881  	VPXOR      Y8, Y3, Y3
  4882  	VPXOR      Y1, Y3, Y1
  4883  	VPADDQ     Y1, Y0, Y0
  4884  	VPERM2F128 $0x00, Y0, Y0, Y6
  4885  	VPAND      MASK_YMM_LO<>+0(SB), Y0, Y0
  4886  	VPERM2F128 $0x11, Y5, Y5, Y2
  4887  	VPSRLQ     $0x06, Y2, Y8
  4888  	MOVQ       R11, DI
  4889  	RORXQ      $0x29, R8, R13
  4890  	RORXQ      $0x12, R8, R14
  4891  	ADDQ       8(SP), R10
  4892  	ORQ        BX, DI
  4893  	MOVQ       DX, R15
  4894  	RORXQ      $0x22, R11, R12
  4895  	XORQ       R14, R13
  4896  	XORQ       R9, R15
  4897  	RORXQ      $0x0e, R8, R14
  4898  	XORQ       R14, R13
  4899  	RORXQ      $0x27, R11, R14
  4900  	ANDQ       R8, R15
  4901  	ADDQ       R10, CX
  4902  	ANDQ       AX, DI
  4903  	XORQ       R12, R14
  4904  	RORXQ      $0x1c, R11, R12
  4905  	XORQ       R9, R15
  4906  	XORQ       R12, R14
  4907  	MOVQ       R11, R12
  4908  	ANDQ       BX, R12
  4909  	ADDQ       R13, R15
  4910  	ORQ        R12, DI
  4911  	ADDQ       R14, R10
  4912  	ADDQ       R15, CX
  4913  	ADDQ       R15, R10
  4914  	ADDQ       DI, R10
  4915  	VPSRLQ     $0x13, Y2, Y3
  4916  	VPSLLQ     $0x2d, Y2, Y1
  4917  	VPOR       Y1, Y3, Y3
  4918  	VPXOR      Y3, Y8, Y8
  4919  	VPSRLQ     $0x3d, Y2, Y3
  4920  	VPSLLQ     $0x03, Y2, Y1
  4921  	VPOR       Y1, Y3, Y3
  4922  	VPXOR      Y3, Y8, Y8
  4923  	VPADDQ     Y8, Y6, Y6
  4924  	VPSRLQ     $0x06, Y6, Y8
  4925  	MOVQ       R10, DI
  4926  	RORXQ      $0x29, CX, R13
  4927  	ADDQ       16(SP), R9
  4928  	RORXQ      $0x12, CX, R14
  4929  	ORQ        AX, DI
  4930  	MOVQ       R8, R15
  4931  	XORQ       DX, R15
  4932  	RORXQ      $0x22, R10, R12
  4933  	XORQ       R14, R13
  4934  	ANDQ       CX, R15
  4935  	RORXQ      $0x0e, CX, R14
  4936  	ADDQ       R9, BX
  4937  	ANDQ       R11, DI
  4938  	XORQ       R14, R13
  4939  	RORXQ      $0x27, R10, R14
  4940  	XORQ       DX, R15
  4941  	XORQ       R12, R14
  4942  	RORXQ      $0x1c, R10, R12
  4943  	XORQ       R12, R14
  4944  	MOVQ       R10, R12
  4945  	ANDQ       AX, R12
  4946  	ADDQ       R13, R15
  4947  	ORQ        R12, DI
  4948  	ADDQ       R14, R9
  4949  	ADDQ       R15, BX
  4950  	ADDQ       R15, R9
  4951  	ADDQ       DI, R9
  4952  	VPSRLQ     $0x13, Y6, Y3
  4953  	VPSLLQ     $0x2d, Y6, Y1
  4954  	VPOR       Y1, Y3, Y3
  4955  	VPXOR      Y3, Y8, Y8
  4956  	VPSRLQ     $0x3d, Y6, Y3
  4957  	VPSLLQ     $0x03, Y6, Y1
  4958  	VPOR       Y1, Y3, Y3
  4959  	VPXOR      Y3, Y8, Y8
  4960  	VPADDQ     Y8, Y0, Y2
  4961  	VPBLENDD   $0xf0, Y2, Y6, Y6
  4962  	MOVQ       R9, DI
  4963  	RORXQ      $0x29, BX, R13
  4964  	RORXQ      $0x12, BX, R14
  4965  	ADDQ       24(SP), DX
  4966  	ORQ        R11, DI
  4967  	MOVQ       CX, R15
  4968  	RORXQ      $0x22, R9, R12
  4969  	XORQ       R14, R13
  4970  	XORQ       R8, R15
  4971  	RORXQ      $0x0e, BX, R14
  4972  	ANDQ       BX, R15
  4973  	ADDQ       DX, AX
  4974  	ANDQ       R10, DI
  4975  	XORQ       R14, R13
  4976  	XORQ       R8, R15
  4977  	RORXQ      $0x27, R9, R14
  4978  	ADDQ       R13, R15
  4979  	XORQ       R12, R14
  4980  	ADDQ       R15, AX
  4981  	RORXQ      $0x1c, R9, R12
  4982  	XORQ       R12, R14
  4983  	MOVQ       R9, R12
  4984  	ANDQ       R11, R12
  4985  	ORQ        R12, DI
  4986  	ADDQ       R14, DX
  4987  	ADDQ       R15, DX
  4988  	ADDQ       DI, DX
  4989  	VPADDQ     96(BP), Y7, Y0
  4990  	VMOVDQU    Y0, (SP)
  4991  	ADDQ       $0x80, BP
  4992  	VPERM2F128 $0x03, Y5, Y6, Y0
  4993  	VPALIGNR   $0x08, Y5, Y0, Y0
  4994  	VPADDQ     Y7, Y0, Y0
  4995  	VPERM2F128 $0x03, Y7, Y4, Y1
  4996  	VPALIGNR   $0x08, Y7, Y1, Y1
  4997  	VPSRLQ     $0x01, Y1, Y2
  4998  	VPSLLQ     $0x3f, Y1, Y3
  4999  	VPOR       Y2, Y3, Y3
  5000  	VPSRLQ     $0x07, Y1, Y8
  5001  	MOVQ       DX, DI
  5002  	RORXQ      $0x29, AX, R13
  5003  	RORXQ      $0x12, AX, R14
  5004  	ADDQ       (SP), R8
  5005  	ORQ        R10, DI
  5006  	MOVQ       BX, R15
  5007  	RORXQ      $0x22, DX, R12
  5008  	XORQ       R14, R13
  5009  	XORQ       CX, R15
  5010  	RORXQ      $0x0e, AX, R14
  5011  	ANDQ       AX, R15
  5012  	XORQ       R14, R13
  5013  	RORXQ      $0x27, DX, R14
  5014  	ADDQ       R8, R11
  5015  	ANDQ       R9, DI
  5016  	XORQ       R12, R14
  5017  	RORXQ      $0x1c, DX, R12
  5018  	XORQ       CX, R15
  5019  	XORQ       R12, R14
  5020  	MOVQ       DX, R12
  5021  	ANDQ       R10, R12
  5022  	ADDQ       R13, R15
  5023  	ORQ        R12, DI
  5024  	ADDQ       R14, R8
  5025  	ADDQ       R15, R11
  5026  	ADDQ       R15, R8
  5027  	ADDQ       DI, R8
  5028  	VPSRLQ     $0x08, Y1, Y2
  5029  	VPSLLQ     $0x38, Y1, Y1
  5030  	VPOR       Y2, Y1, Y1
  5031  	VPXOR      Y8, Y3, Y3
  5032  	VPXOR      Y1, Y3, Y1
  5033  	VPADDQ     Y1, Y0, Y0
  5034  	VPERM2F128 $0x00, Y0, Y0, Y7
  5035  	VPAND      MASK_YMM_LO<>+0(SB), Y0, Y0
  5036  	VPERM2F128 $0x11, Y6, Y6, Y2
  5037  	VPSRLQ     $0x06, Y2, Y8
  5038  	MOVQ       R8, DI
  5039  	RORXQ      $0x29, R11, R13
  5040  	RORXQ      $0x12, R11, R14
  5041  	ADDQ       8(SP), CX
  5042  	ORQ        R9, DI
  5043  	MOVQ       AX, R15
  5044  	RORXQ      $0x22, R8, R12
  5045  	XORQ       R14, R13
  5046  	XORQ       BX, R15
  5047  	RORXQ      $0x0e, R11, R14
  5048  	XORQ       R14, R13
  5049  	RORXQ      $0x27, R8, R14
  5050  	ANDQ       R11, R15
  5051  	ADDQ       CX, R10
  5052  	ANDQ       DX, DI
  5053  	XORQ       R12, R14
  5054  	RORXQ      $0x1c, R8, R12
  5055  	XORQ       BX, R15
  5056  	XORQ       R12, R14
  5057  	MOVQ       R8, R12
  5058  	ANDQ       R9, R12
  5059  	ADDQ       R13, R15
  5060  	ORQ        R12, DI
  5061  	ADDQ       R14, CX
  5062  	ADDQ       R15, R10
  5063  	ADDQ       R15, CX
  5064  	ADDQ       DI, CX
  5065  	VPSRLQ     $0x13, Y2, Y3
  5066  	VPSLLQ     $0x2d, Y2, Y1
  5067  	VPOR       Y1, Y3, Y3
  5068  	VPXOR      Y3, Y8, Y8
  5069  	VPSRLQ     $0x3d, Y2, Y3
  5070  	VPSLLQ     $0x03, Y2, Y1
  5071  	VPOR       Y1, Y3, Y3
  5072  	VPXOR      Y3, Y8, Y8
  5073  	VPADDQ     Y8, Y7, Y7
  5074  	VPSRLQ     $0x06, Y7, Y8
  5075  	MOVQ       CX, DI
  5076  	RORXQ      $0x29, R10, R13
  5077  	ADDQ       16(SP), BX
  5078  	RORXQ      $0x12, R10, R14
  5079  	ORQ        DX, DI
  5080  	MOVQ       R11, R15
  5081  	XORQ       AX, R15
  5082  	RORXQ      $0x22, CX, R12
  5083  	XORQ       R14, R13
  5084  	ANDQ       R10, R15
  5085  	RORXQ      $0x0e, R10, R14
  5086  	ADDQ       BX, R9
  5087  	ANDQ       R8, DI
  5088  	XORQ       R14, R13
  5089  	RORXQ      $0x27, CX, R14
  5090  	XORQ       AX, R15
  5091  	XORQ       R12, R14
  5092  	RORXQ      $0x1c, CX, R12
  5093  	XORQ       R12, R14
  5094  	MOVQ       CX, R12
  5095  	ANDQ       DX, R12
  5096  	ADDQ       R13, R15
  5097  	ORQ        R12, DI
  5098  	ADDQ       R14, BX
  5099  	ADDQ       R15, R9
  5100  	ADDQ       R15, BX
  5101  	ADDQ       DI, BX
  5102  	VPSRLQ     $0x13, Y7, Y3
  5103  	VPSLLQ     $0x2d, Y7, Y1
  5104  	VPOR       Y1, Y3, Y3
  5105  	VPXOR      Y3, Y8, Y8
  5106  	VPSRLQ     $0x3d, Y7, Y3
  5107  	VPSLLQ     $0x03, Y7, Y1
  5108  	VPOR       Y1, Y3, Y3
  5109  	VPXOR      Y3, Y8, Y8
  5110  	VPADDQ     Y8, Y0, Y2
  5111  	VPBLENDD   $0xf0, Y2, Y7, Y7
  5112  	MOVQ       BX, DI
  5113  	RORXQ      $0x29, R9, R13
  5114  	RORXQ      $0x12, R9, R14
  5115  	ADDQ       24(SP), AX
  5116  	ORQ        R8, DI
  5117  	MOVQ       R10, R15
  5118  	RORXQ      $0x22, BX, R12
  5119  	XORQ       R14, R13
  5120  	XORQ       R11, R15
  5121  	RORXQ      $0x0e, R9, R14
  5122  	ANDQ       R9, R15
  5123  	ADDQ       AX, DX
  5124  	ANDQ       CX, DI
  5125  	XORQ       R14, R13
  5126  	XORQ       R11, R15
  5127  	RORXQ      $0x27, BX, R14
  5128  	ADDQ       R13, R15
  5129  	XORQ       R12, R14
  5130  	ADDQ       R15, DX
  5131  	RORXQ      $0x1c, BX, R12
  5132  	XORQ       R12, R14
  5133  	MOVQ       BX, R12
  5134  	ANDQ       R8, R12
  5135  	ORQ        R12, DI
  5136  	ADDQ       R14, AX
  5137  	ADDQ       R15, AX
  5138  	ADDQ       DI, AX
  5139  	SUBQ       $0x01, 32(SP)
  5140  	JNE        loop1
  5141  	MOVQ       $0x00000002, 32(SP)
  5142  
  5143  loop2:
  5144  	VPADDQ  (BP), Y4, Y0
  5145  	VMOVDQU Y0, (SP)
  5146  	MOVQ    R9, R15
  5147  	RORXQ   $0x29, DX, R13
  5148  	RORXQ   $0x12, DX, R14
  5149  	XORQ    R10, R15
  5150  	XORQ    R14, R13
  5151  	RORXQ   $0x0e, DX, R14
  5152  	ANDQ    DX, R15
  5153  	XORQ    R14, R13
  5154  	RORXQ   $0x22, AX, R12
  5155  	XORQ    R10, R15
  5156  	RORXQ   $0x27, AX, R14
  5157  	MOVQ    AX, DI
  5158  	XORQ    R12, R14
  5159  	RORXQ   $0x1c, AX, R12
  5160  	ADDQ    (SP), R11
  5161  	ORQ     CX, DI
  5162  	XORQ    R12, R14
  5163  	MOVQ    AX, R12
  5164  	ANDQ    BX, DI
  5165  	ANDQ    CX, R12
  5166  	ADDQ    R13, R15
  5167  	ADDQ    R11, R8
  5168  	ORQ     R12, DI
  5169  	ADDQ    R14, R11
  5170  	ADDQ    R15, R8
  5171  	ADDQ    R15, R11
  5172  	MOVQ    DX, R15
  5173  	RORXQ   $0x29, R8, R13
  5174  	RORXQ   $0x12, R8, R14
  5175  	XORQ    R9, R15
  5176  	XORQ    R14, R13
  5177  	RORXQ   $0x0e, R8, R14
  5178  	ANDQ    R8, R15
  5179  	ADDQ    DI, R11
  5180  	XORQ    R14, R13
  5181  	RORXQ   $0x22, R11, R12
  5182  	XORQ    R9, R15
  5183  	RORXQ   $0x27, R11, R14
  5184  	MOVQ    R11, DI
  5185  	XORQ    R12, R14
  5186  	RORXQ   $0x1c, R11, R12
  5187  	ADDQ    8(SP), R10
  5188  	ORQ     BX, DI
  5189  	XORQ    R12, R14
  5190  	MOVQ    R11, R12
  5191  	ANDQ    AX, DI
  5192  	ANDQ    BX, R12
  5193  	ADDQ    R13, R15
  5194  	ADDQ    R10, CX
  5195  	ORQ     R12, DI
  5196  	ADDQ    R14, R10
  5197  	ADDQ    R15, CX
  5198  	ADDQ    R15, R10
  5199  	MOVQ    R8, R15
  5200  	RORXQ   $0x29, CX, R13
  5201  	RORXQ   $0x12, CX, R14
  5202  	XORQ    DX, R15
  5203  	XORQ    R14, R13
  5204  	RORXQ   $0x0e, CX, R14
  5205  	ANDQ    CX, R15
  5206  	ADDQ    DI, R10
  5207  	XORQ    R14, R13
  5208  	RORXQ   $0x22, R10, R12
  5209  	XORQ    DX, R15
  5210  	RORXQ   $0x27, R10, R14
  5211  	MOVQ    R10, DI
  5212  	XORQ    R12, R14
  5213  	RORXQ   $0x1c, R10, R12
  5214  	ADDQ    16(SP), R9
  5215  	ORQ     AX, DI
  5216  	XORQ    R12, R14
  5217  	MOVQ    R10, R12
  5218  	ANDQ    R11, DI
  5219  	ANDQ    AX, R12
  5220  	ADDQ    R13, R15
  5221  	ADDQ    R9, BX
  5222  	ORQ     R12, DI
  5223  	ADDQ    R14, R9
  5224  	ADDQ    R15, BX
  5225  	ADDQ    R15, R9
  5226  	MOVQ    CX, R15
  5227  	RORXQ   $0x29, BX, R13
  5228  	RORXQ   $0x12, BX, R14
  5229  	XORQ    R8, R15
  5230  	XORQ    R14, R13
  5231  	RORXQ   $0x0e, BX, R14
  5232  	ANDQ    BX, R15
  5233  	ADDQ    DI, R9
  5234  	XORQ    R14, R13
  5235  	RORXQ   $0x22, R9, R12
  5236  	XORQ    R8, R15
  5237  	RORXQ   $0x27, R9, R14
  5238  	MOVQ    R9, DI
  5239  	XORQ    R12, R14
  5240  	RORXQ   $0x1c, R9, R12
  5241  	ADDQ    24(SP), DX
  5242  	ORQ     R11, DI
  5243  	XORQ    R12, R14
  5244  	MOVQ    R9, R12
  5245  	ANDQ    R10, DI
  5246  	ANDQ    R11, R12
  5247  	ADDQ    R13, R15
  5248  	ADDQ    DX, AX
  5249  	ORQ     R12, DI
  5250  	ADDQ    R14, DX
  5251  	ADDQ    R15, AX
  5252  	ADDQ    R15, DX
  5253  	ADDQ    DI, DX
  5254  	VPADDQ  32(BP), Y5, Y0
  5255  	VMOVDQU Y0, (SP)
  5256  	ADDQ    $0x40, BP
  5257  	MOVQ    BX, R15
  5258  	RORXQ   $0x29, AX, R13
  5259  	RORXQ   $0x12, AX, R14
  5260  	XORQ    CX, R15
  5261  	XORQ    R14, R13
  5262  	RORXQ   $0x0e, AX, R14
  5263  	ANDQ    AX, R15
  5264  	XORQ    R14, R13
  5265  	RORXQ   $0x22, DX, R12
  5266  	XORQ    CX, R15
  5267  	RORXQ   $0x27, DX, R14
  5268  	MOVQ    DX, DI
  5269  	XORQ    R12, R14
  5270  	RORXQ   $0x1c, DX, R12
  5271  	ADDQ    (SP), R8
  5272  	ORQ     R10, DI
  5273  	XORQ    R12, R14
  5274  	MOVQ    DX, R12
  5275  	ANDQ    R9, DI
  5276  	ANDQ    R10, R12
  5277  	ADDQ    R13, R15
  5278  	ADDQ    R8, R11
  5279  	ORQ     R12, DI
  5280  	ADDQ    R14, R8
  5281  	ADDQ    R15, R11
  5282  	ADDQ    R15, R8
  5283  	MOVQ    AX, R15
  5284  	RORXQ   $0x29, R11, R13
  5285  	RORXQ   $0x12, R11, R14
  5286  	XORQ    BX, R15
  5287  	XORQ    R14, R13
  5288  	RORXQ   $0x0e, R11, R14
  5289  	ANDQ    R11, R15
  5290  	ADDQ    DI, R8
  5291  	XORQ    R14, R13
  5292  	RORXQ   $0x22, R8, R12
  5293  	XORQ    BX, R15
  5294  	RORXQ   $0x27, R8, R14
  5295  	MOVQ    R8, DI
  5296  	XORQ    R12, R14
  5297  	RORXQ   $0x1c, R8, R12
  5298  	ADDQ    8(SP), CX
  5299  	ORQ     R9, DI
  5300  	XORQ    R12, R14
  5301  	MOVQ    R8, R12
  5302  	ANDQ    DX, DI
  5303  	ANDQ    R9, R12
  5304  	ADDQ    R13, R15
  5305  	ADDQ    CX, R10
  5306  	ORQ     R12, DI
  5307  	ADDQ    R14, CX
  5308  	ADDQ    R15, R10
  5309  	ADDQ    R15, CX
  5310  	MOVQ    R11, R15
  5311  	RORXQ   $0x29, R10, R13
  5312  	RORXQ   $0x12, R10, R14
  5313  	XORQ    AX, R15
  5314  	XORQ    R14, R13
  5315  	RORXQ   $0x0e, R10, R14
  5316  	ANDQ    R10, R15
  5317  	ADDQ    DI, CX
  5318  	XORQ    R14, R13
  5319  	RORXQ   $0x22, CX, R12
  5320  	XORQ    AX, R15
  5321  	RORXQ   $0x27, CX, R14
  5322  	MOVQ    CX, DI
  5323  	XORQ    R12, R14
  5324  	RORXQ   $0x1c, CX, R12
  5325  	ADDQ    16(SP), BX
  5326  	ORQ     DX, DI
  5327  	XORQ    R12, R14
  5328  	MOVQ    CX, R12
  5329  	ANDQ    R8, DI
  5330  	ANDQ    DX, R12
  5331  	ADDQ    R13, R15
  5332  	ADDQ    BX, R9
  5333  	ORQ     R12, DI
  5334  	ADDQ    R14, BX
  5335  	ADDQ    R15, R9
  5336  	ADDQ    R15, BX
  5337  	MOVQ    R10, R15
  5338  	RORXQ   $0x29, R9, R13
  5339  	RORXQ   $0x12, R9, R14
  5340  	XORQ    R11, R15
  5341  	XORQ    R14, R13
  5342  	RORXQ   $0x0e, R9, R14
  5343  	ANDQ    R9, R15
  5344  	ADDQ    DI, BX
  5345  	XORQ    R14, R13
  5346  	RORXQ   $0x22, BX, R12
  5347  	XORQ    R11, R15
  5348  	RORXQ   $0x27, BX, R14
  5349  	MOVQ    BX, DI
  5350  	XORQ    R12, R14
  5351  	RORXQ   $0x1c, BX, R12
  5352  	ADDQ    24(SP), AX
  5353  	ORQ     R8, DI
  5354  	XORQ    R12, R14
  5355  	MOVQ    BX, R12
  5356  	ANDQ    CX, DI
  5357  	ANDQ    R8, R12
  5358  	ADDQ    R13, R15
  5359  	ADDQ    AX, DX
  5360  	ORQ     R12, DI
  5361  	ADDQ    R14, AX
  5362  	ADDQ    R15, DX
  5363  	ADDQ    R15, AX
  5364  	ADDQ    DI, AX
  5365  	VMOVDQU Y6, Y4
  5366  	VMOVDQU Y7, Y5
  5367  	SUBQ    $0x01, 32(SP)
  5368  	JNE     loop2
  5369  	ADDQ    (SI), AX
  5370  	MOVQ    AX, (SI)
  5371  	ADDQ    8(SI), BX
  5372  	MOVQ    BX, 8(SI)
  5373  	ADDQ    16(SI), CX
  5374  	MOVQ    CX, 16(SI)
  5375  	ADDQ    24(SI), R8
  5376  	MOVQ    R8, 24(SI)
  5377  	ADDQ    32(SI), DX
  5378  	MOVQ    DX, 32(SI)
  5379  	ADDQ    40(SI), R9
  5380  	MOVQ    R9, 40(SI)
  5381  	ADDQ    48(SI), R10
  5382  	MOVQ    R10, 48(SI)
  5383  	ADDQ    56(SI), R11
  5384  	MOVQ    R11, 56(SI)
  5385  	MOVQ    40(SP), DI
  5386  	ADDQ    $0x80, DI
  5387  	CMPQ    DI, 48(SP)
  5388  	JNE     loop0
  5389  
  5390  done_hash:
  5391  	VZEROUPPER
  5392  	RET
  5393  
  5394  DATA MASK_YMM_LO<>+0(SB)/8, $0x0000000000000000
  5395  DATA MASK_YMM_LO<>+8(SB)/8, $0x0000000000000000
  5396  DATA MASK_YMM_LO<>+16(SB)/8, $0xffffffffffffffff
  5397  DATA MASK_YMM_LO<>+24(SB)/8, $0xffffffffffffffff
  5398  GLOBL MASK_YMM_LO<>(SB), RODATA|NOPTR, $32
  5399  

View as plain text