...

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

Documentation: crypto/internal/fips140/sha512

     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)
     8TEXT ·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
    27loop:
    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
  4498end:
  4499	RET
  4500
  4501DATA PSHUFFLE_BYTE_FLIP_MASK<>+0(SB)/8, $0x0001020304050607
  4502DATA PSHUFFLE_BYTE_FLIP_MASK<>+8(SB)/8, $0x08090a0b0c0d0e0f
  4503DATA PSHUFFLE_BYTE_FLIP_MASK<>+16(SB)/8, $0x1011121314151617
  4504DATA PSHUFFLE_BYTE_FLIP_MASK<>+24(SB)/8, $0x18191a1b1c1d1e1f
  4505GLOBL PSHUFFLE_BYTE_FLIP_MASK<>(SB), RODATA|NOPTR, $32
  4506
  4507// func blockAVX2(dig *Digest, p []byte)
  4508// Requires: AVX, AVX2, BMI2
  4509TEXT ·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
  4528loop0:
  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
  4541loop1:
  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
  5143loop2:
  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
  5390done_hash:
  5391	VZEROUPPER
  5392	RET
  5393
  5394DATA MASK_YMM_LO<>+0(SB)/8, $0x0000000000000000
  5395DATA MASK_YMM_LO<>+8(SB)/8, $0x0000000000000000
  5396DATA MASK_YMM_LO<>+16(SB)/8, $0xffffffffffffffff
  5397DATA MASK_YMM_LO<>+24(SB)/8, $0xffffffffffffffff
  5398GLOBL MASK_YMM_LO<>(SB), RODATA|NOPTR, $32

View as plain text