brintos

brintos / llvm-project-archived public Read only

0
0
Text · 67.6 KiB · d69a170 Raw
2310 lines · plain
1#if defined(__x86_64__)2 3#include "llvm_blake3_prefix.h"4 5#if defined(__ELF__) && !(defined(__sun__) && defined(__svr4__))6.section .note.GNU-stack,"",%progbits7#endif8 9#if defined(__ELF__) && defined(__CET__) && defined(__has_include)10#if __has_include(<cet.h>)11#include <cet.h>12#endif13#endif14 15#if !defined(_CET_ENDBR)16#define _CET_ENDBR17#endif18 19#ifdef __APPLE__20#define HIDDEN .private_extern21#else22#define HIDDEN .hidden23#endif24 25.intel_syntax noprefix26HIDDEN blake3_hash_many_sse227HIDDEN _blake3_hash_many_sse228HIDDEN blake3_compress_in_place_sse229HIDDEN _blake3_compress_in_place_sse230HIDDEN blake3_compress_xof_sse231HIDDEN _blake3_compress_xof_sse232.global blake3_hash_many_sse233.global _blake3_hash_many_sse234.global blake3_compress_in_place_sse235.global _blake3_compress_in_place_sse236.global blake3_compress_xof_sse237.global _blake3_compress_xof_sse238#ifdef __APPLE__39.text40#else41.section .text42#endif43        .p2align  644_blake3_hash_many_sse2:45blake3_hash_many_sse2:46        _CET_ENDBR47        push    r1548        push    r1449        push    r1350        push    r1251        push    rbx52        push    rbp53        mov     rbp, rsp54        sub     rsp, 36055        and     rsp, 0xFFFFFFFFFFFFFFC056        neg     r9d57        movd    xmm0, r9d58        pshufd  xmm0, xmm0, 0x0059        movdqa  xmmword ptr [rsp+0x130], xmm060        movdqa  xmm1, xmm061        pand    xmm1, xmmword ptr [ADD0+rip]62        pand    xmm0, xmmword ptr [ADD1+rip]63        movdqa  xmmword ptr [rsp+0x150], xmm064        movd    xmm0, r8d65        pshufd  xmm0, xmm0, 0x0066        paddd   xmm0, xmm167        movdqa  xmmword ptr [rsp+0x110], xmm068        pxor    xmm0, xmmword ptr [CMP_MSB_MASK+rip]69        pxor    xmm1, xmmword ptr [CMP_MSB_MASK+rip]70        pcmpgtd xmm1, xmm071        shr     r8, 3272        movd    xmm2, r8d73        pshufd  xmm2, xmm2, 0x0074        psubd   xmm2, xmm175        movdqa  xmmword ptr [rsp+0x120], xmm276        mov     rbx, qword ptr [rbp+0x50]77        mov     r15, rdx78        shl     r15, 679        movzx   r13d, byte ptr [rbp+0x38]80        movzx   r12d, byte ptr [rbp+0x48]81        cmp     rsi, 482        jc      3f832:84        movdqu  xmm3, xmmword ptr [rcx]85        pshufd  xmm0, xmm3, 0x0086        pshufd  xmm1, xmm3, 0x5587        pshufd  xmm2, xmm3, 0xAA88        pshufd  xmm3, xmm3, 0xFF89        movdqu  xmm7, xmmword ptr [rcx+0x10]90        pshufd  xmm4, xmm7, 0x0091        pshufd  xmm5, xmm7, 0x5592        pshufd  xmm6, xmm7, 0xAA93        pshufd  xmm7, xmm7, 0xFF94        mov     r8, qword ptr [rdi]95        mov     r9, qword ptr [rdi+0x8]96        mov     r10, qword ptr [rdi+0x10]97        mov     r11, qword ptr [rdi+0x18]98        movzx   eax, byte ptr [rbp+0x40]99        or      eax, r13d100        xor     edx, edx1019:102        mov     r14d, eax103        or      eax, r12d104        add     rdx, 64105        cmp     rdx, r15106        cmovne  eax, r14d107        movdqu  xmm8, xmmword ptr [r8+rdx-0x40]108        movdqu  xmm9, xmmword ptr [r9+rdx-0x40]109        movdqu  xmm10, xmmword ptr [r10+rdx-0x40]110        movdqu  xmm11, xmmword ptr [r11+rdx-0x40]111        movdqa  xmm12, xmm8112        punpckldq xmm8, xmm9113        punpckhdq xmm12, xmm9114        movdqa  xmm14, xmm10115        punpckldq xmm10, xmm11116        punpckhdq xmm14, xmm11117        movdqa  xmm9, xmm8118        punpcklqdq xmm8, xmm10119        punpckhqdq xmm9, xmm10120        movdqa  xmm13, xmm12121        punpcklqdq xmm12, xmm14122        punpckhqdq xmm13, xmm14123        movdqa  xmmword ptr [rsp], xmm8124        movdqa  xmmword ptr [rsp+0x10], xmm9125        movdqa  xmmword ptr [rsp+0x20], xmm12126        movdqa  xmmword ptr [rsp+0x30], xmm13127        movdqu  xmm8, xmmword ptr [r8+rdx-0x30]128        movdqu  xmm9, xmmword ptr [r9+rdx-0x30]129        movdqu  xmm10, xmmword ptr [r10+rdx-0x30]130        movdqu  xmm11, xmmword ptr [r11+rdx-0x30]131        movdqa  xmm12, xmm8132        punpckldq xmm8, xmm9133        punpckhdq xmm12, xmm9134        movdqa  xmm14, xmm10135        punpckldq xmm10, xmm11136        punpckhdq xmm14, xmm11137        movdqa  xmm9, xmm8138        punpcklqdq xmm8, xmm10139        punpckhqdq xmm9, xmm10140        movdqa  xmm13, xmm12141        punpcklqdq xmm12, xmm14142        punpckhqdq xmm13, xmm14143        movdqa  xmmword ptr [rsp+0x40], xmm8144        movdqa  xmmword ptr [rsp+0x50], xmm9145        movdqa  xmmword ptr [rsp+0x60], xmm12146        movdqa  xmmword ptr [rsp+0x70], xmm13147        movdqu  xmm8, xmmword ptr [r8+rdx-0x20]148        movdqu  xmm9, xmmword ptr [r9+rdx-0x20]149        movdqu  xmm10, xmmword ptr [r10+rdx-0x20]150        movdqu  xmm11, xmmword ptr [r11+rdx-0x20]151        movdqa  xmm12, xmm8152        punpckldq xmm8, xmm9153        punpckhdq xmm12, xmm9154        movdqa  xmm14, xmm10155        punpckldq xmm10, xmm11156        punpckhdq xmm14, xmm11157        movdqa  xmm9, xmm8158        punpcklqdq xmm8, xmm10159        punpckhqdq xmm9, xmm10160        movdqa  xmm13, xmm12161        punpcklqdq xmm12, xmm14162        punpckhqdq xmm13, xmm14163        movdqa  xmmword ptr [rsp+0x80], xmm8164        movdqa  xmmword ptr [rsp+0x90], xmm9165        movdqa  xmmword ptr [rsp+0xA0], xmm12166        movdqa  xmmword ptr [rsp+0xB0], xmm13167        movdqu  xmm8, xmmword ptr [r8+rdx-0x10]168        movdqu  xmm9, xmmword ptr [r9+rdx-0x10]169        movdqu  xmm10, xmmword ptr [r10+rdx-0x10]170        movdqu  xmm11, xmmword ptr [r11+rdx-0x10]171        movdqa  xmm12, xmm8172        punpckldq xmm8, xmm9173        punpckhdq xmm12, xmm9174        movdqa  xmm14, xmm10175        punpckldq xmm10, xmm11176        punpckhdq xmm14, xmm11177        movdqa  xmm9, xmm8178        punpcklqdq xmm8, xmm10179        punpckhqdq xmm9, xmm10180        movdqa  xmm13, xmm12181        punpcklqdq xmm12, xmm14182        punpckhqdq xmm13, xmm14183        movdqa  xmmword ptr [rsp+0xC0], xmm8184        movdqa  xmmword ptr [rsp+0xD0], xmm9185        movdqa  xmmword ptr [rsp+0xE0], xmm12186        movdqa  xmmword ptr [rsp+0xF0], xmm13187        movdqa  xmm9, xmmword ptr [BLAKE3_IV_1+rip]188        movdqa  xmm10, xmmword ptr [BLAKE3_IV_2+rip]189        movdqa  xmm11, xmmword ptr [BLAKE3_IV_3+rip]190        movdqa  xmm12, xmmword ptr [rsp+0x110]191        movdqa  xmm13, xmmword ptr [rsp+0x120]192        movdqa  xmm14, xmmword ptr [BLAKE3_BLOCK_LEN+rip]193        movd    xmm15, eax194        pshufd  xmm15, xmm15, 0x00195        prefetcht0 [r8+rdx+0x80]196        prefetcht0 [r9+rdx+0x80]197        prefetcht0 [r10+rdx+0x80]198        prefetcht0 [r11+rdx+0x80]199        paddd   xmm0, xmmword ptr [rsp]200        paddd   xmm1, xmmword ptr [rsp+0x20]201        paddd   xmm2, xmmword ptr [rsp+0x40]202        paddd   xmm3, xmmword ptr [rsp+0x60]203        paddd   xmm0, xmm4204        paddd   xmm1, xmm5205        paddd   xmm2, xmm6206        paddd   xmm3, xmm7207        pxor    xmm12, xmm0208        pxor    xmm13, xmm1209        pxor    xmm14, xmm2210        pxor    xmm15, xmm3211        pshuflw xmm12, xmm12, 0xB1212        pshufhw xmm12, xmm12, 0xB1213        pshuflw xmm13, xmm13, 0xB1214        pshufhw xmm13, xmm13, 0xB1215        pshuflw xmm14, xmm14, 0xB1216        pshufhw xmm14, xmm14, 0xB1217        pshuflw xmm15, xmm15, 0xB1218        pshufhw xmm15, xmm15, 0xB1219        movdqa  xmm8, xmmword ptr [BLAKE3_IV_0+rip]220        paddd   xmm8, xmm12221        paddd   xmm9, xmm13222        paddd   xmm10, xmm14223        paddd   xmm11, xmm15224        pxor    xmm4, xmm8225        pxor    xmm5, xmm9226        pxor    xmm6, xmm10227        pxor    xmm7, xmm11228        movdqa  xmmword ptr [rsp+0x100], xmm8229        movdqa  xmm8, xmm4230        psrld   xmm8, 12231        pslld   xmm4, 20232        por     xmm4, xmm8233        movdqa  xmm8, xmm5234        psrld   xmm8, 12235        pslld   xmm5, 20236        por     xmm5, xmm8237        movdqa  xmm8, xmm6238        psrld   xmm8, 12239        pslld   xmm6, 20240        por     xmm6, xmm8241        movdqa  xmm8, xmm7242        psrld   xmm8, 12243        pslld   xmm7, 20244        por     xmm7, xmm8245        paddd   xmm0, xmmword ptr [rsp+0x10]246        paddd   xmm1, xmmword ptr [rsp+0x30]247        paddd   xmm2, xmmword ptr [rsp+0x50]248        paddd   xmm3, xmmword ptr [rsp+0x70]249        paddd   xmm0, xmm4250        paddd   xmm1, xmm5251        paddd   xmm2, xmm6252        paddd   xmm3, xmm7253        pxor    xmm12, xmm0254        pxor    xmm13, xmm1255        pxor    xmm14, xmm2256        pxor    xmm15, xmm3257        movdqa  xmm8, xmm12258        psrld   xmm12, 8259        pslld   xmm8, 24260        pxor    xmm12, xmm8261        movdqa  xmm8, xmm13262        psrld   xmm13, 8263        pslld   xmm8, 24264        pxor    xmm13, xmm8265        movdqa  xmm8, xmm14266        psrld   xmm14, 8267        pslld   xmm8, 24268        pxor    xmm14, xmm8269        movdqa  xmm8, xmm15270        psrld   xmm15, 8271        pslld   xmm8, 24272        pxor    xmm15, xmm8273        movdqa  xmm8, xmmword ptr [rsp+0x100]274        paddd   xmm8, xmm12275        paddd   xmm9, xmm13276        paddd   xmm10, xmm14277        paddd   xmm11, xmm15278        pxor    xmm4, xmm8279        pxor    xmm5, xmm9280        pxor    xmm6, xmm10281        pxor    xmm7, xmm11282        movdqa  xmmword ptr [rsp+0x100], xmm8283        movdqa  xmm8, xmm4284        psrld   xmm8, 7285        pslld   xmm4, 25286        por     xmm4, xmm8287        movdqa  xmm8, xmm5288        psrld   xmm8, 7289        pslld   xmm5, 25290        por     xmm5, xmm8291        movdqa  xmm8, xmm6292        psrld   xmm8, 7293        pslld   xmm6, 25294        por     xmm6, xmm8295        movdqa  xmm8, xmm7296        psrld   xmm8, 7297        pslld   xmm7, 25298        por     xmm7, xmm8299        paddd   xmm0, xmmword ptr [rsp+0x80]300        paddd   xmm1, xmmword ptr [rsp+0xA0]301        paddd   xmm2, xmmword ptr [rsp+0xC0]302        paddd   xmm3, xmmword ptr [rsp+0xE0]303        paddd   xmm0, xmm5304        paddd   xmm1, xmm6305        paddd   xmm2, xmm7306        paddd   xmm3, xmm4307        pxor    xmm15, xmm0308        pxor    xmm12, xmm1309        pxor    xmm13, xmm2310        pxor    xmm14, xmm3311        pshuflw xmm15, xmm15, 0xB1312        pshufhw xmm15, xmm15, 0xB1313        pshuflw xmm12, xmm12, 0xB1314        pshufhw xmm12, xmm12, 0xB1315        pshuflw xmm13, xmm13, 0xB1316        pshufhw xmm13, xmm13, 0xB1317        pshuflw xmm14, xmm14, 0xB1318        pshufhw xmm14, xmm14, 0xB1319        paddd   xmm10, xmm15320        paddd   xmm11, xmm12321        movdqa  xmm8, xmmword ptr [rsp+0x100]322        paddd   xmm8, xmm13323        paddd   xmm9, xmm14324        pxor    xmm5, xmm10325        pxor    xmm6, xmm11326        pxor    xmm7, xmm8327        pxor    xmm4, xmm9328        movdqa  xmmword ptr [rsp+0x100], xmm8329        movdqa  xmm8, xmm5330        psrld   xmm8, 12331        pslld   xmm5, 20332        por     xmm5, xmm8333        movdqa  xmm8, xmm6334        psrld   xmm8, 12335        pslld   xmm6, 20336        por     xmm6, xmm8337        movdqa  xmm8, xmm7338        psrld   xmm8, 12339        pslld   xmm7, 20340        por     xmm7, xmm8341        movdqa  xmm8, xmm4342        psrld   xmm8, 12343        pslld   xmm4, 20344        por     xmm4, xmm8345        paddd   xmm0, xmmword ptr [rsp+0x90]346        paddd   xmm1, xmmword ptr [rsp+0xB0]347        paddd   xmm2, xmmword ptr [rsp+0xD0]348        paddd   xmm3, xmmword ptr [rsp+0xF0]349        paddd   xmm0, xmm5350        paddd   xmm1, xmm6351        paddd   xmm2, xmm7352        paddd   xmm3, xmm4353        pxor    xmm15, xmm0354        pxor    xmm12, xmm1355        pxor    xmm13, xmm2356        pxor    xmm14, xmm3357        movdqa  xmm8, xmm15358        psrld   xmm15, 8359        pslld   xmm8, 24360        pxor    xmm15, xmm8361        movdqa  xmm8, xmm12362        psrld   xmm12, 8363        pslld   xmm8, 24364        pxor    xmm12, xmm8365        movdqa  xmm8, xmm13366        psrld   xmm13, 8367        pslld   xmm8, 24368        pxor    xmm13, xmm8369        movdqa  xmm8, xmm14370        psrld   xmm14, 8371        pslld   xmm8, 24372        pxor    xmm14, xmm8373        paddd   xmm10, xmm15374        paddd   xmm11, xmm12375        movdqa  xmm8, xmmword ptr [rsp+0x100]376        paddd   xmm8, xmm13377        paddd   xmm9, xmm14378        pxor    xmm5, xmm10379        pxor    xmm6, xmm11380        pxor    xmm7, xmm8381        pxor    xmm4, xmm9382        movdqa  xmmword ptr [rsp+0x100], xmm8383        movdqa  xmm8, xmm5384        psrld   xmm8, 7385        pslld   xmm5, 25386        por     xmm5, xmm8387        movdqa  xmm8, xmm6388        psrld   xmm8, 7389        pslld   xmm6, 25390        por     xmm6, xmm8391        movdqa  xmm8, xmm7392        psrld   xmm8, 7393        pslld   xmm7, 25394        por     xmm7, xmm8395        movdqa  xmm8, xmm4396        psrld   xmm8, 7397        pslld   xmm4, 25398        por     xmm4, xmm8399        paddd   xmm0, xmmword ptr [rsp+0x20]400        paddd   xmm1, xmmword ptr [rsp+0x30]401        paddd   xmm2, xmmword ptr [rsp+0x70]402        paddd   xmm3, xmmword ptr [rsp+0x40]403        paddd   xmm0, xmm4404        paddd   xmm1, xmm5405        paddd   xmm2, xmm6406        paddd   xmm3, xmm7407        pxor    xmm12, xmm0408        pxor    xmm13, xmm1409        pxor    xmm14, xmm2410        pxor    xmm15, xmm3411        pshuflw xmm12, xmm12, 0xB1412        pshufhw xmm12, xmm12, 0xB1413        pshuflw xmm13, xmm13, 0xB1414        pshufhw xmm13, xmm13, 0xB1415        pshuflw xmm14, xmm14, 0xB1416        pshufhw xmm14, xmm14, 0xB1417        pshuflw xmm15, xmm15, 0xB1418        pshufhw xmm15, xmm15, 0xB1419        movdqa  xmm8, xmmword ptr [rsp+0x100]420        paddd   xmm8, xmm12421        paddd   xmm9, xmm13422        paddd   xmm10, xmm14423        paddd   xmm11, xmm15424        pxor    xmm4, xmm8425        pxor    xmm5, xmm9426        pxor    xmm6, xmm10427        pxor    xmm7, xmm11428        movdqa  xmmword ptr [rsp+0x100], xmm8429        movdqa  xmm8, xmm4430        psrld   xmm8, 12431        pslld   xmm4, 20432        por     xmm4, xmm8433        movdqa  xmm8, xmm5434        psrld   xmm8, 12435        pslld   xmm5, 20436        por     xmm5, xmm8437        movdqa  xmm8, xmm6438        psrld   xmm8, 12439        pslld   xmm6, 20440        por     xmm6, xmm8441        movdqa  xmm8, xmm7442        psrld   xmm8, 12443        pslld   xmm7, 20444        por     xmm7, xmm8445        paddd   xmm0, xmmword ptr [rsp+0x60]446        paddd   xmm1, xmmword ptr [rsp+0xA0]447        paddd   xmm2, xmmword ptr [rsp]448        paddd   xmm3, xmmword ptr [rsp+0xD0]449        paddd   xmm0, xmm4450        paddd   xmm1, xmm5451        paddd   xmm2, xmm6452        paddd   xmm3, xmm7453        pxor    xmm12, xmm0454        pxor    xmm13, xmm1455        pxor    xmm14, xmm2456        pxor    xmm15, xmm3457        movdqa  xmm8, xmm12458        psrld   xmm12, 8459        pslld   xmm8, 24460        pxor    xmm12, xmm8461        movdqa  xmm8, xmm13462        psrld   xmm13, 8463        pslld   xmm8, 24464        pxor    xmm13, xmm8465        movdqa  xmm8, xmm14466        psrld   xmm14, 8467        pslld   xmm8, 24468        pxor    xmm14, xmm8469        movdqa  xmm8, xmm15470        psrld   xmm15, 8471        pslld   xmm8, 24472        pxor    xmm15, xmm8473        movdqa  xmm8, xmmword ptr [rsp+0x100]474        paddd   xmm8, xmm12475        paddd   xmm9, xmm13476        paddd   xmm10, xmm14477        paddd   xmm11, xmm15478        pxor    xmm4, xmm8479        pxor    xmm5, xmm9480        pxor    xmm6, xmm10481        pxor    xmm7, xmm11482        movdqa  xmmword ptr [rsp+0x100], xmm8483        movdqa  xmm8, xmm4484        psrld   xmm8, 7485        pslld   xmm4, 25486        por     xmm4, xmm8487        movdqa  xmm8, xmm5488        psrld   xmm8, 7489        pslld   xmm5, 25490        por     xmm5, xmm8491        movdqa  xmm8, xmm6492        psrld   xmm8, 7493        pslld   xmm6, 25494        por     xmm6, xmm8495        movdqa  xmm8, xmm7496        psrld   xmm8, 7497        pslld   xmm7, 25498        por     xmm7, xmm8499        paddd   xmm0, xmmword ptr [rsp+0x10]500        paddd   xmm1, xmmword ptr [rsp+0xC0]501        paddd   xmm2, xmmword ptr [rsp+0x90]502        paddd   xmm3, xmmword ptr [rsp+0xF0]503        paddd   xmm0, xmm5504        paddd   xmm1, xmm6505        paddd   xmm2, xmm7506        paddd   xmm3, xmm4507        pxor    xmm15, xmm0508        pxor    xmm12, xmm1509        pxor    xmm13, xmm2510        pxor    xmm14, xmm3511        pshuflw xmm15, xmm15, 0xB1512        pshufhw xmm15, xmm15, 0xB1513        pshuflw xmm12, xmm12, 0xB1514        pshufhw xmm12, xmm12, 0xB1515        pshuflw xmm13, xmm13, 0xB1516        pshufhw xmm13, xmm13, 0xB1517        pshuflw xmm14, xmm14, 0xB1518        pshufhw xmm14, xmm14, 0xB1519        paddd   xmm10, xmm15520        paddd   xmm11, xmm12521        movdqa  xmm8, xmmword ptr [rsp+0x100]522        paddd   xmm8, xmm13523        paddd   xmm9, xmm14524        pxor    xmm5, xmm10525        pxor    xmm6, xmm11526        pxor    xmm7, xmm8527        pxor    xmm4, xmm9528        movdqa  xmmword ptr [rsp+0x100], xmm8529        movdqa  xmm8, xmm5530        psrld   xmm8, 12531        pslld   xmm5, 20532        por     xmm5, xmm8533        movdqa  xmm8, xmm6534        psrld   xmm8, 12535        pslld   xmm6, 20536        por     xmm6, xmm8537        movdqa  xmm8, xmm7538        psrld   xmm8, 12539        pslld   xmm7, 20540        por     xmm7, xmm8541        movdqa  xmm8, xmm4542        psrld   xmm8, 12543        pslld   xmm4, 20544        por     xmm4, xmm8545        paddd   xmm0, xmmword ptr [rsp+0xB0]546        paddd   xmm1, xmmword ptr [rsp+0x50]547        paddd   xmm2, xmmword ptr [rsp+0xE0]548        paddd   xmm3, xmmword ptr [rsp+0x80]549        paddd   xmm0, xmm5550        paddd   xmm1, xmm6551        paddd   xmm2, xmm7552        paddd   xmm3, xmm4553        pxor    xmm15, xmm0554        pxor    xmm12, xmm1555        pxor    xmm13, xmm2556        pxor    xmm14, xmm3557        movdqa  xmm8, xmm15558        psrld   xmm15, 8559        pslld   xmm8, 24560        pxor    xmm15, xmm8561        movdqa  xmm8, xmm12562        psrld   xmm12, 8563        pslld   xmm8, 24564        pxor    xmm12, xmm8565        movdqa  xmm8, xmm13566        psrld   xmm13, 8567        pslld   xmm8, 24568        pxor    xmm13, xmm8569        movdqa  xmm8, xmm14570        psrld   xmm14, 8571        pslld   xmm8, 24572        pxor    xmm14, xmm8573        paddd   xmm10, xmm15574        paddd   xmm11, xmm12575        movdqa  xmm8, xmmword ptr [rsp+0x100]576        paddd   xmm8, xmm13577        paddd   xmm9, xmm14578        pxor    xmm5, xmm10579        pxor    xmm6, xmm11580        pxor    xmm7, xmm8581        pxor    xmm4, xmm9582        movdqa  xmmword ptr [rsp+0x100], xmm8583        movdqa  xmm8, xmm5584        psrld   xmm8, 7585        pslld   xmm5, 25586        por     xmm5, xmm8587        movdqa  xmm8, xmm6588        psrld   xmm8, 7589        pslld   xmm6, 25590        por     xmm6, xmm8591        movdqa  xmm8, xmm7592        psrld   xmm8, 7593        pslld   xmm7, 25594        por     xmm7, xmm8595        movdqa  xmm8, xmm4596        psrld   xmm8, 7597        pslld   xmm4, 25598        por     xmm4, xmm8599        paddd   xmm0, xmmword ptr [rsp+0x30]600        paddd   xmm1, xmmword ptr [rsp+0xA0]601        paddd   xmm2, xmmword ptr [rsp+0xD0]602        paddd   xmm3, xmmword ptr [rsp+0x70]603        paddd   xmm0, xmm4604        paddd   xmm1, xmm5605        paddd   xmm2, xmm6606        paddd   xmm3, xmm7607        pxor    xmm12, xmm0608        pxor    xmm13, xmm1609        pxor    xmm14, xmm2610        pxor    xmm15, xmm3611        pshuflw xmm12, xmm12, 0xB1612        pshufhw xmm12, xmm12, 0xB1613        pshuflw xmm13, xmm13, 0xB1614        pshufhw xmm13, xmm13, 0xB1615        pshuflw xmm14, xmm14, 0xB1616        pshufhw xmm14, xmm14, 0xB1617        pshuflw xmm15, xmm15, 0xB1618        pshufhw xmm15, xmm15, 0xB1619        movdqa  xmm8, xmmword ptr [rsp+0x100]620        paddd   xmm8, xmm12621        paddd   xmm9, xmm13622        paddd   xmm10, xmm14623        paddd   xmm11, xmm15624        pxor    xmm4, xmm8625        pxor    xmm5, xmm9626        pxor    xmm6, xmm10627        pxor    xmm7, xmm11628        movdqa  xmmword ptr [rsp+0x100], xmm8629        movdqa  xmm8, xmm4630        psrld   xmm8, 12631        pslld   xmm4, 20632        por     xmm4, xmm8633        movdqa  xmm8, xmm5634        psrld   xmm8, 12635        pslld   xmm5, 20636        por     xmm5, xmm8637        movdqa  xmm8, xmm6638        psrld   xmm8, 12639        pslld   xmm6, 20640        por     xmm6, xmm8641        movdqa  xmm8, xmm7642        psrld   xmm8, 12643        pslld   xmm7, 20644        por     xmm7, xmm8645        paddd   xmm0, xmmword ptr [rsp+0x40]646        paddd   xmm1, xmmword ptr [rsp+0xC0]647        paddd   xmm2, xmmword ptr [rsp+0x20]648        paddd   xmm3, xmmword ptr [rsp+0xE0]649        paddd   xmm0, xmm4650        paddd   xmm1, xmm5651        paddd   xmm2, xmm6652        paddd   xmm3, xmm7653        pxor    xmm12, xmm0654        pxor    xmm13, xmm1655        pxor    xmm14, xmm2656        pxor    xmm15, xmm3657        movdqa  xmm8, xmm12658        psrld   xmm12, 8659        pslld   xmm8, 24660        pxor    xmm12, xmm8661        movdqa  xmm8, xmm13662        psrld   xmm13, 8663        pslld   xmm8, 24664        pxor    xmm13, xmm8665        movdqa  xmm8, xmm14666        psrld   xmm14, 8667        pslld   xmm8, 24668        pxor    xmm14, xmm8669        movdqa  xmm8, xmm15670        psrld   xmm15, 8671        pslld   xmm8, 24672        pxor    xmm15, xmm8673        movdqa  xmm8, xmmword ptr [rsp+0x100]674        paddd   xmm8, xmm12675        paddd   xmm9, xmm13676        paddd   xmm10, xmm14677        paddd   xmm11, xmm15678        pxor    xmm4, xmm8679        pxor    xmm5, xmm9680        pxor    xmm6, xmm10681        pxor    xmm7, xmm11682        movdqa  xmmword ptr [rsp+0x100], xmm8683        movdqa  xmm8, xmm4684        psrld   xmm8, 7685        pslld   xmm4, 25686        por     xmm4, xmm8687        movdqa  xmm8, xmm5688        psrld   xmm8, 7689        pslld   xmm5, 25690        por     xmm5, xmm8691        movdqa  xmm8, xmm6692        psrld   xmm8, 7693        pslld   xmm6, 25694        por     xmm6, xmm8695        movdqa  xmm8, xmm7696        psrld   xmm8, 7697        pslld   xmm7, 25698        por     xmm7, xmm8699        paddd   xmm0, xmmword ptr [rsp+0x60]700        paddd   xmm1, xmmword ptr [rsp+0x90]701        paddd   xmm2, xmmword ptr [rsp+0xB0]702        paddd   xmm3, xmmword ptr [rsp+0x80]703        paddd   xmm0, xmm5704        paddd   xmm1, xmm6705        paddd   xmm2, xmm7706        paddd   xmm3, xmm4707        pxor    xmm15, xmm0708        pxor    xmm12, xmm1709        pxor    xmm13, xmm2710        pxor    xmm14, xmm3711        pshuflw xmm15, xmm15, 0xB1712        pshufhw xmm15, xmm15, 0xB1713        pshuflw xmm12, xmm12, 0xB1714        pshufhw xmm12, xmm12, 0xB1715        pshuflw xmm13, xmm13, 0xB1716        pshufhw xmm13, xmm13, 0xB1717        pshuflw xmm14, xmm14, 0xB1718        pshufhw xmm14, xmm14, 0xB1719        paddd   xmm10, xmm15720        paddd   xmm11, xmm12721        movdqa  xmm8, xmmword ptr [rsp+0x100]722        paddd   xmm8, xmm13723        paddd   xmm9, xmm14724        pxor    xmm5, xmm10725        pxor    xmm6, xmm11726        pxor    xmm7, xmm8727        pxor    xmm4, xmm9728        movdqa  xmmword ptr [rsp+0x100], xmm8729        movdqa  xmm8, xmm5730        psrld   xmm8, 12731        pslld   xmm5, 20732        por     xmm5, xmm8733        movdqa  xmm8, xmm6734        psrld   xmm8, 12735        pslld   xmm6, 20736        por     xmm6, xmm8737        movdqa  xmm8, xmm7738        psrld   xmm8, 12739        pslld   xmm7, 20740        por     xmm7, xmm8741        movdqa  xmm8, xmm4742        psrld   xmm8, 12743        pslld   xmm4, 20744        por     xmm4, xmm8745        paddd   xmm0, xmmword ptr [rsp+0x50]746        paddd   xmm1, xmmword ptr [rsp]747        paddd   xmm2, xmmword ptr [rsp+0xF0]748        paddd   xmm3, xmmword ptr [rsp+0x10]749        paddd   xmm0, xmm5750        paddd   xmm1, xmm6751        paddd   xmm2, xmm7752        paddd   xmm3, xmm4753        pxor    xmm15, xmm0754        pxor    xmm12, xmm1755        pxor    xmm13, xmm2756        pxor    xmm14, xmm3757        movdqa  xmm8, xmm15758        psrld   xmm15, 8759        pslld   xmm8, 24760        pxor    xmm15, xmm8761        movdqa  xmm8, xmm12762        psrld   xmm12, 8763        pslld   xmm8, 24764        pxor    xmm12, xmm8765        movdqa  xmm8, xmm13766        psrld   xmm13, 8767        pslld   xmm8, 24768        pxor    xmm13, xmm8769        movdqa  xmm8, xmm14770        psrld   xmm14, 8771        pslld   xmm8, 24772        pxor    xmm14, xmm8773        paddd   xmm10, xmm15774        paddd   xmm11, xmm12775        movdqa  xmm8, xmmword ptr [rsp+0x100]776        paddd   xmm8, xmm13777        paddd   xmm9, xmm14778        pxor    xmm5, xmm10779        pxor    xmm6, xmm11780        pxor    xmm7, xmm8781        pxor    xmm4, xmm9782        movdqa  xmmword ptr [rsp+0x100], xmm8783        movdqa  xmm8, xmm5784        psrld   xmm8, 7785        pslld   xmm5, 25786        por     xmm5, xmm8787        movdqa  xmm8, xmm6788        psrld   xmm8, 7789        pslld   xmm6, 25790        por     xmm6, xmm8791        movdqa  xmm8, xmm7792        psrld   xmm8, 7793        pslld   xmm7, 25794        por     xmm7, xmm8795        movdqa  xmm8, xmm4796        psrld   xmm8, 7797        pslld   xmm4, 25798        por     xmm4, xmm8799        paddd   xmm0, xmmword ptr [rsp+0xA0]800        paddd   xmm1, xmmword ptr [rsp+0xC0]801        paddd   xmm2, xmmword ptr [rsp+0xE0]802        paddd   xmm3, xmmword ptr [rsp+0xD0]803        paddd   xmm0, xmm4804        paddd   xmm1, xmm5805        paddd   xmm2, xmm6806        paddd   xmm3, xmm7807        pxor    xmm12, xmm0808        pxor    xmm13, xmm1809        pxor    xmm14, xmm2810        pxor    xmm15, xmm3811        pshuflw xmm12, xmm12, 0xB1812        pshufhw xmm12, xmm12, 0xB1813        pshuflw xmm13, xmm13, 0xB1814        pshufhw xmm13, xmm13, 0xB1815        pshuflw xmm14, xmm14, 0xB1816        pshufhw xmm14, xmm14, 0xB1817        pshuflw xmm15, xmm15, 0xB1818        pshufhw xmm15, xmm15, 0xB1819        movdqa  xmm8, xmmword ptr [rsp+0x100]820        paddd   xmm8, xmm12821        paddd   xmm9, xmm13822        paddd   xmm10, xmm14823        paddd   xmm11, xmm15824        pxor    xmm4, xmm8825        pxor    xmm5, xmm9826        pxor    xmm6, xmm10827        pxor    xmm7, xmm11828        movdqa  xmmword ptr [rsp+0x100], xmm8829        movdqa  xmm8, xmm4830        psrld   xmm8, 12831        pslld   xmm4, 20832        por     xmm4, xmm8833        movdqa  xmm8, xmm5834        psrld   xmm8, 12835        pslld   xmm5, 20836        por     xmm5, xmm8837        movdqa  xmm8, xmm6838        psrld   xmm8, 12839        pslld   xmm6, 20840        por     xmm6, xmm8841        movdqa  xmm8, xmm7842        psrld   xmm8, 12843        pslld   xmm7, 20844        por     xmm7, xmm8845        paddd   xmm0, xmmword ptr [rsp+0x70]846        paddd   xmm1, xmmword ptr [rsp+0x90]847        paddd   xmm2, xmmword ptr [rsp+0x30]848        paddd   xmm3, xmmword ptr [rsp+0xF0]849        paddd   xmm0, xmm4850        paddd   xmm1, xmm5851        paddd   xmm2, xmm6852        paddd   xmm3, xmm7853        pxor    xmm12, xmm0854        pxor    xmm13, xmm1855        pxor    xmm14, xmm2856        pxor    xmm15, xmm3857        movdqa  xmm8, xmm12858        psrld   xmm12, 8859        pslld   xmm8, 24860        pxor    xmm12, xmm8861        movdqa  xmm8, xmm13862        psrld   xmm13, 8863        pslld   xmm8, 24864        pxor    xmm13, xmm8865        movdqa  xmm8, xmm14866        psrld   xmm14, 8867        pslld   xmm8, 24868        pxor    xmm14, xmm8869        movdqa  xmm8, xmm15870        psrld   xmm15, 8871        pslld   xmm8, 24872        pxor    xmm15, xmm8873        movdqa  xmm8, xmmword ptr [rsp+0x100]874        paddd   xmm8, xmm12875        paddd   xmm9, xmm13876        paddd   xmm10, xmm14877        paddd   xmm11, xmm15878        pxor    xmm4, xmm8879        pxor    xmm5, xmm9880        pxor    xmm6, xmm10881        pxor    xmm7, xmm11882        movdqa  xmmword ptr [rsp+0x100], xmm8883        movdqa  xmm8, xmm4884        psrld   xmm8, 7885        pslld   xmm4, 25886        por     xmm4, xmm8887        movdqa  xmm8, xmm5888        psrld   xmm8, 7889        pslld   xmm5, 25890        por     xmm5, xmm8891        movdqa  xmm8, xmm6892        psrld   xmm8, 7893        pslld   xmm6, 25894        por     xmm6, xmm8895        movdqa  xmm8, xmm7896        psrld   xmm8, 7897        pslld   xmm7, 25898        por     xmm7, xmm8899        paddd   xmm0, xmmword ptr [rsp+0x40]900        paddd   xmm1, xmmword ptr [rsp+0xB0]901        paddd   xmm2, xmmword ptr [rsp+0x50]902        paddd   xmm3, xmmword ptr [rsp+0x10]903        paddd   xmm0, xmm5904        paddd   xmm1, xmm6905        paddd   xmm2, xmm7906        paddd   xmm3, xmm4907        pxor    xmm15, xmm0908        pxor    xmm12, xmm1909        pxor    xmm13, xmm2910        pxor    xmm14, xmm3911        pshuflw xmm15, xmm15, 0xB1912        pshufhw xmm15, xmm15, 0xB1913        pshuflw xmm12, xmm12, 0xB1914        pshufhw xmm12, xmm12, 0xB1915        pshuflw xmm13, xmm13, 0xB1916        pshufhw xmm13, xmm13, 0xB1917        pshuflw xmm14, xmm14, 0xB1918        pshufhw xmm14, xmm14, 0xB1919        paddd   xmm10, xmm15920        paddd   xmm11, xmm12921        movdqa  xmm8, xmmword ptr [rsp+0x100]922        paddd   xmm8, xmm13923        paddd   xmm9, xmm14924        pxor    xmm5, xmm10925        pxor    xmm6, xmm11926        pxor    xmm7, xmm8927        pxor    xmm4, xmm9928        movdqa  xmmword ptr [rsp+0x100], xmm8929        movdqa  xmm8, xmm5930        psrld   xmm8, 12931        pslld   xmm5, 20932        por     xmm5, xmm8933        movdqa  xmm8, xmm6934        psrld   xmm8, 12935        pslld   xmm6, 20936        por     xmm6, xmm8937        movdqa  xmm8, xmm7938        psrld   xmm8, 12939        pslld   xmm7, 20940        por     xmm7, xmm8941        movdqa  xmm8, xmm4942        psrld   xmm8, 12943        pslld   xmm4, 20944        por     xmm4, xmm8945        paddd   xmm0, xmmword ptr [rsp]946        paddd   xmm1, xmmword ptr [rsp+0x20]947        paddd   xmm2, xmmword ptr [rsp+0x80]948        paddd   xmm3, xmmword ptr [rsp+0x60]949        paddd   xmm0, xmm5950        paddd   xmm1, xmm6951        paddd   xmm2, xmm7952        paddd   xmm3, xmm4953        pxor    xmm15, xmm0954        pxor    xmm12, xmm1955        pxor    xmm13, xmm2956        pxor    xmm14, xmm3957        movdqa  xmm8, xmm15958        psrld   xmm15, 8959        pslld   xmm8, 24960        pxor    xmm15, xmm8961        movdqa  xmm8, xmm12962        psrld   xmm12, 8963        pslld   xmm8, 24964        pxor    xmm12, xmm8965        movdqa  xmm8, xmm13966        psrld   xmm13, 8967        pslld   xmm8, 24968        pxor    xmm13, xmm8969        movdqa  xmm8, xmm14970        psrld   xmm14, 8971        pslld   xmm8, 24972        pxor    xmm14, xmm8973        paddd   xmm10, xmm15974        paddd   xmm11, xmm12975        movdqa  xmm8, xmmword ptr [rsp+0x100]976        paddd   xmm8, xmm13977        paddd   xmm9, xmm14978        pxor    xmm5, xmm10979        pxor    xmm6, xmm11980        pxor    xmm7, xmm8981        pxor    xmm4, xmm9982        movdqa  xmmword ptr [rsp+0x100], xmm8983        movdqa  xmm8, xmm5984        psrld   xmm8, 7985        pslld   xmm5, 25986        por     xmm5, xmm8987        movdqa  xmm8, xmm6988        psrld   xmm8, 7989        pslld   xmm6, 25990        por     xmm6, xmm8991        movdqa  xmm8, xmm7992        psrld   xmm8, 7993        pslld   xmm7, 25994        por     xmm7, xmm8995        movdqa  xmm8, xmm4996        psrld   xmm8, 7997        pslld   xmm4, 25998        por     xmm4, xmm8999        paddd   xmm0, xmmword ptr [rsp+0xC0]1000        paddd   xmm1, xmmword ptr [rsp+0x90]1001        paddd   xmm2, xmmword ptr [rsp+0xF0]1002        paddd   xmm3, xmmword ptr [rsp+0xE0]1003        paddd   xmm0, xmm41004        paddd   xmm1, xmm51005        paddd   xmm2, xmm61006        paddd   xmm3, xmm71007        pxor    xmm12, xmm01008        pxor    xmm13, xmm11009        pxor    xmm14, xmm21010        pxor    xmm15, xmm31011        pshuflw xmm12, xmm12, 0xB11012        pshufhw xmm12, xmm12, 0xB11013        pshuflw xmm13, xmm13, 0xB11014        pshufhw xmm13, xmm13, 0xB11015        pshuflw xmm14, xmm14, 0xB11016        pshufhw xmm14, xmm14, 0xB11017        pshuflw xmm15, xmm15, 0xB11018        pshufhw xmm15, xmm15, 0xB11019        movdqa  xmm8, xmmword ptr [rsp+0x100]1020        paddd   xmm8, xmm121021        paddd   xmm9, xmm131022        paddd   xmm10, xmm141023        paddd   xmm11, xmm151024        pxor    xmm4, xmm81025        pxor    xmm5, xmm91026        pxor    xmm6, xmm101027        pxor    xmm7, xmm111028        movdqa  xmmword ptr [rsp+0x100], xmm81029        movdqa  xmm8, xmm41030        psrld   xmm8, 121031        pslld   xmm4, 201032        por     xmm4, xmm81033        movdqa  xmm8, xmm51034        psrld   xmm8, 121035        pslld   xmm5, 201036        por     xmm5, xmm81037        movdqa  xmm8, xmm61038        psrld   xmm8, 121039        pslld   xmm6, 201040        por     xmm6, xmm81041        movdqa  xmm8, xmm71042        psrld   xmm8, 121043        pslld   xmm7, 201044        por     xmm7, xmm81045        paddd   xmm0, xmmword ptr [rsp+0xD0]1046        paddd   xmm1, xmmword ptr [rsp+0xB0]1047        paddd   xmm2, xmmword ptr [rsp+0xA0]1048        paddd   xmm3, xmmword ptr [rsp+0x80]1049        paddd   xmm0, xmm41050        paddd   xmm1, xmm51051        paddd   xmm2, xmm61052        paddd   xmm3, xmm71053        pxor    xmm12, xmm01054        pxor    xmm13, xmm11055        pxor    xmm14, xmm21056        pxor    xmm15, xmm31057        movdqa  xmm8, xmm121058        psrld   xmm12, 81059        pslld   xmm8, 241060        pxor    xmm12, xmm81061        movdqa  xmm8, xmm131062        psrld   xmm13, 81063        pslld   xmm8, 241064        pxor    xmm13, xmm81065        movdqa  xmm8, xmm141066        psrld   xmm14, 81067        pslld   xmm8, 241068        pxor    xmm14, xmm81069        movdqa  xmm8, xmm151070        psrld   xmm15, 81071        pslld   xmm8, 241072        pxor    xmm15, xmm81073        movdqa  xmm8, xmmword ptr [rsp+0x100]1074        paddd   xmm8, xmm121075        paddd   xmm9, xmm131076        paddd   xmm10, xmm141077        paddd   xmm11, xmm151078        pxor    xmm4, xmm81079        pxor    xmm5, xmm91080        pxor    xmm6, xmm101081        pxor    xmm7, xmm111082        movdqa  xmmword ptr [rsp+0x100], xmm81083        movdqa  xmm8, xmm41084        psrld   xmm8, 71085        pslld   xmm4, 251086        por     xmm4, xmm81087        movdqa  xmm8, xmm51088        psrld   xmm8, 71089        pslld   xmm5, 251090        por     xmm5, xmm81091        movdqa  xmm8, xmm61092        psrld   xmm8, 71093        pslld   xmm6, 251094        por     xmm6, xmm81095        movdqa  xmm8, xmm71096        psrld   xmm8, 71097        pslld   xmm7, 251098        por     xmm7, xmm81099        paddd   xmm0, xmmword ptr [rsp+0x70]1100        paddd   xmm1, xmmword ptr [rsp+0x50]1101        paddd   xmm2, xmmword ptr [rsp]1102        paddd   xmm3, xmmword ptr [rsp+0x60]1103        paddd   xmm0, xmm51104        paddd   xmm1, xmm61105        paddd   xmm2, xmm71106        paddd   xmm3, xmm41107        pxor    xmm15, xmm01108        pxor    xmm12, xmm11109        pxor    xmm13, xmm21110        pxor    xmm14, xmm31111        pshuflw xmm15, xmm15, 0xB11112        pshufhw xmm15, xmm15, 0xB11113        pshuflw xmm12, xmm12, 0xB11114        pshufhw xmm12, xmm12, 0xB11115        pshuflw xmm13, xmm13, 0xB11116        pshufhw xmm13, xmm13, 0xB11117        pshuflw xmm14, xmm14, 0xB11118        pshufhw xmm14, xmm14, 0xB11119        paddd   xmm10, xmm151120        paddd   xmm11, xmm121121        movdqa  xmm8, xmmword ptr [rsp+0x100]1122        paddd   xmm8, xmm131123        paddd   xmm9, xmm141124        pxor    xmm5, xmm101125        pxor    xmm6, xmm111126        pxor    xmm7, xmm81127        pxor    xmm4, xmm91128        movdqa  xmmword ptr [rsp+0x100], xmm81129        movdqa  xmm8, xmm51130        psrld   xmm8, 121131        pslld   xmm5, 201132        por     xmm5, xmm81133        movdqa  xmm8, xmm61134        psrld   xmm8, 121135        pslld   xmm6, 201136        por     xmm6, xmm81137        movdqa  xmm8, xmm71138        psrld   xmm8, 121139        pslld   xmm7, 201140        por     xmm7, xmm81141        movdqa  xmm8, xmm41142        psrld   xmm8, 121143        pslld   xmm4, 201144        por     xmm4, xmm81145        paddd   xmm0, xmmword ptr [rsp+0x20]1146        paddd   xmm1, xmmword ptr [rsp+0x30]1147        paddd   xmm2, xmmword ptr [rsp+0x10]1148        paddd   xmm3, xmmword ptr [rsp+0x40]1149        paddd   xmm0, xmm51150        paddd   xmm1, xmm61151        paddd   xmm2, xmm71152        paddd   xmm3, xmm41153        pxor    xmm15, xmm01154        pxor    xmm12, xmm11155        pxor    xmm13, xmm21156        pxor    xmm14, xmm31157        movdqa  xmm8, xmm151158        psrld   xmm15, 81159        pslld   xmm8, 241160        pxor    xmm15, xmm81161        movdqa  xmm8, xmm121162        psrld   xmm12, 81163        pslld   xmm8, 241164        pxor    xmm12, xmm81165        movdqa  xmm8, xmm131166        psrld   xmm13, 81167        pslld   xmm8, 241168        pxor    xmm13, xmm81169        movdqa  xmm8, xmm141170        psrld   xmm14, 81171        pslld   xmm8, 241172        pxor    xmm14, xmm81173        paddd   xmm10, xmm151174        paddd   xmm11, xmm121175        movdqa  xmm8, xmmword ptr [rsp+0x100]1176        paddd   xmm8, xmm131177        paddd   xmm9, xmm141178        pxor    xmm5, xmm101179        pxor    xmm6, xmm111180        pxor    xmm7, xmm81181        pxor    xmm4, xmm91182        movdqa  xmmword ptr [rsp+0x100], xmm81183        movdqa  xmm8, xmm51184        psrld   xmm8, 71185        pslld   xmm5, 251186        por     xmm5, xmm81187        movdqa  xmm8, xmm61188        psrld   xmm8, 71189        pslld   xmm6, 251190        por     xmm6, xmm81191        movdqa  xmm8, xmm71192        psrld   xmm8, 71193        pslld   xmm7, 251194        por     xmm7, xmm81195        movdqa  xmm8, xmm41196        psrld   xmm8, 71197        pslld   xmm4, 251198        por     xmm4, xmm81199        paddd   xmm0, xmmword ptr [rsp+0x90]1200        paddd   xmm1, xmmword ptr [rsp+0xB0]1201        paddd   xmm2, xmmword ptr [rsp+0x80]1202        paddd   xmm3, xmmword ptr [rsp+0xF0]1203        paddd   xmm0, xmm41204        paddd   xmm1, xmm51205        paddd   xmm2, xmm61206        paddd   xmm3, xmm71207        pxor    xmm12, xmm01208        pxor    xmm13, xmm11209        pxor    xmm14, xmm21210        pxor    xmm15, xmm31211        pshuflw xmm12, xmm12, 0xB11212        pshufhw xmm12, xmm12, 0xB11213        pshuflw xmm13, xmm13, 0xB11214        pshufhw xmm13, xmm13, 0xB11215        pshuflw xmm14, xmm14, 0xB11216        pshufhw xmm14, xmm14, 0xB11217        pshuflw xmm15, xmm15, 0xB11218        pshufhw xmm15, xmm15, 0xB11219        movdqa  xmm8, xmmword ptr [rsp+0x100]1220        paddd   xmm8, xmm121221        paddd   xmm9, xmm131222        paddd   xmm10, xmm141223        paddd   xmm11, xmm151224        pxor    xmm4, xmm81225        pxor    xmm5, xmm91226        pxor    xmm6, xmm101227        pxor    xmm7, xmm111228        movdqa  xmmword ptr [rsp+0x100], xmm81229        movdqa  xmm8, xmm41230        psrld   xmm8, 121231        pslld   xmm4, 201232        por     xmm4, xmm81233        movdqa  xmm8, xmm51234        psrld   xmm8, 121235        pslld   xmm5, 201236        por     xmm5, xmm81237        movdqa  xmm8, xmm61238        psrld   xmm8, 121239        pslld   xmm6, 201240        por     xmm6, xmm81241        movdqa  xmm8, xmm71242        psrld   xmm8, 121243        pslld   xmm7, 201244        por     xmm7, xmm81245        paddd   xmm0, xmmword ptr [rsp+0xE0]1246        paddd   xmm1, xmmword ptr [rsp+0x50]1247        paddd   xmm2, xmmword ptr [rsp+0xC0]1248        paddd   xmm3, xmmword ptr [rsp+0x10]1249        paddd   xmm0, xmm41250        paddd   xmm1, xmm51251        paddd   xmm2, xmm61252        paddd   xmm3, xmm71253        pxor    xmm12, xmm01254        pxor    xmm13, xmm11255        pxor    xmm14, xmm21256        pxor    xmm15, xmm31257        movdqa  xmm8, xmm121258        psrld   xmm12, 81259        pslld   xmm8, 241260        pxor    xmm12, xmm81261        movdqa  xmm8, xmm131262        psrld   xmm13, 81263        pslld   xmm8, 241264        pxor    xmm13, xmm81265        movdqa  xmm8, xmm141266        psrld   xmm14, 81267        pslld   xmm8, 241268        pxor    xmm14, xmm81269        movdqa  xmm8, xmm151270        psrld   xmm15, 81271        pslld   xmm8, 241272        pxor    xmm15, xmm81273        movdqa  xmm8, xmmword ptr [rsp+0x100]1274        paddd   xmm8, xmm121275        paddd   xmm9, xmm131276        paddd   xmm10, xmm141277        paddd   xmm11, xmm151278        pxor    xmm4, xmm81279        pxor    xmm5, xmm91280        pxor    xmm6, xmm101281        pxor    xmm7, xmm111282        movdqa  xmmword ptr [rsp+0x100], xmm81283        movdqa  xmm8, xmm41284        psrld   xmm8, 71285        pslld   xmm4, 251286        por     xmm4, xmm81287        movdqa  xmm8, xmm51288        psrld   xmm8, 71289        pslld   xmm5, 251290        por     xmm5, xmm81291        movdqa  xmm8, xmm61292        psrld   xmm8, 71293        pslld   xmm6, 251294        por     xmm6, xmm81295        movdqa  xmm8, xmm71296        psrld   xmm8, 71297        pslld   xmm7, 251298        por     xmm7, xmm81299        paddd   xmm0, xmmword ptr [rsp+0xD0]1300        paddd   xmm1, xmmword ptr [rsp]1301        paddd   xmm2, xmmword ptr [rsp+0x20]1302        paddd   xmm3, xmmword ptr [rsp+0x40]1303        paddd   xmm0, xmm51304        paddd   xmm1, xmm61305        paddd   xmm2, xmm71306        paddd   xmm3, xmm41307        pxor    xmm15, xmm01308        pxor    xmm12, xmm11309        pxor    xmm13, xmm21310        pxor    xmm14, xmm31311        pshuflw xmm15, xmm15, 0xB11312        pshufhw xmm15, xmm15, 0xB11313        pshuflw xmm12, xmm12, 0xB11314        pshufhw xmm12, xmm12, 0xB11315        pshuflw xmm13, xmm13, 0xB11316        pshufhw xmm13, xmm13, 0xB11317        pshuflw xmm14, xmm14, 0xB11318        pshufhw xmm14, xmm14, 0xB11319        paddd   xmm10, xmm151320        paddd   xmm11, xmm121321        movdqa  xmm8, xmmword ptr [rsp+0x100]1322        paddd   xmm8, xmm131323        paddd   xmm9, xmm141324        pxor    xmm5, xmm101325        pxor    xmm6, xmm111326        pxor    xmm7, xmm81327        pxor    xmm4, xmm91328        movdqa  xmmword ptr [rsp+0x100], xmm81329        movdqa  xmm8, xmm51330        psrld   xmm8, 121331        pslld   xmm5, 201332        por     xmm5, xmm81333        movdqa  xmm8, xmm61334        psrld   xmm8, 121335        pslld   xmm6, 201336        por     xmm6, xmm81337        movdqa  xmm8, xmm71338        psrld   xmm8, 121339        pslld   xmm7, 201340        por     xmm7, xmm81341        movdqa  xmm8, xmm41342        psrld   xmm8, 121343        pslld   xmm4, 201344        por     xmm4, xmm81345        paddd   xmm0, xmmword ptr [rsp+0x30]1346        paddd   xmm1, xmmword ptr [rsp+0xA0]1347        paddd   xmm2, xmmword ptr [rsp+0x60]1348        paddd   xmm3, xmmword ptr [rsp+0x70]1349        paddd   xmm0, xmm51350        paddd   xmm1, xmm61351        paddd   xmm2, xmm71352        paddd   xmm3, xmm41353        pxor    xmm15, xmm01354        pxor    xmm12, xmm11355        pxor    xmm13, xmm21356        pxor    xmm14, xmm31357        movdqa  xmm8, xmm151358        psrld   xmm15, 81359        pslld   xmm8, 241360        pxor    xmm15, xmm81361        movdqa  xmm8, xmm121362        psrld   xmm12, 81363        pslld   xmm8, 241364        pxor    xmm12, xmm81365        movdqa  xmm8, xmm131366        psrld   xmm13, 81367        pslld   xmm8, 241368        pxor    xmm13, xmm81369        movdqa  xmm8, xmm141370        psrld   xmm14, 81371        pslld   xmm8, 241372        pxor    xmm14, xmm81373        paddd   xmm10, xmm151374        paddd   xmm11, xmm121375        movdqa  xmm8, xmmword ptr [rsp+0x100]1376        paddd   xmm8, xmm131377        paddd   xmm9, xmm141378        pxor    xmm5, xmm101379        pxor    xmm6, xmm111380        pxor    xmm7, xmm81381        pxor    xmm4, xmm91382        movdqa  xmmword ptr [rsp+0x100], xmm81383        movdqa  xmm8, xmm51384        psrld   xmm8, 71385        pslld   xmm5, 251386        por     xmm5, xmm81387        movdqa  xmm8, xmm61388        psrld   xmm8, 71389        pslld   xmm6, 251390        por     xmm6, xmm81391        movdqa  xmm8, xmm71392        psrld   xmm8, 71393        pslld   xmm7, 251394        por     xmm7, xmm81395        movdqa  xmm8, xmm41396        psrld   xmm8, 71397        pslld   xmm4, 251398        por     xmm4, xmm81399        paddd   xmm0, xmmword ptr [rsp+0xB0]1400        paddd   xmm1, xmmword ptr [rsp+0x50]1401        paddd   xmm2, xmmword ptr [rsp+0x10]1402        paddd   xmm3, xmmword ptr [rsp+0x80]1403        paddd   xmm0, xmm41404        paddd   xmm1, xmm51405        paddd   xmm2, xmm61406        paddd   xmm3, xmm71407        pxor    xmm12, xmm01408        pxor    xmm13, xmm11409        pxor    xmm14, xmm21410        pxor    xmm15, xmm31411        pshuflw xmm12, xmm12, 0xB11412        pshufhw xmm12, xmm12, 0xB11413        pshuflw xmm13, xmm13, 0xB11414        pshufhw xmm13, xmm13, 0xB11415        pshuflw xmm14, xmm14, 0xB11416        pshufhw xmm14, xmm14, 0xB11417        pshuflw xmm15, xmm15, 0xB11418        pshufhw xmm15, xmm15, 0xB11419        movdqa  xmm8, xmmword ptr [rsp+0x100]1420        paddd   xmm8, xmm121421        paddd   xmm9, xmm131422        paddd   xmm10, xmm141423        paddd   xmm11, xmm151424        pxor    xmm4, xmm81425        pxor    xmm5, xmm91426        pxor    xmm6, xmm101427        pxor    xmm7, xmm111428        movdqa  xmmword ptr [rsp+0x100], xmm81429        movdqa  xmm8, xmm41430        psrld   xmm8, 121431        pslld   xmm4, 201432        por     xmm4, xmm81433        movdqa  xmm8, xmm51434        psrld   xmm8, 121435        pslld   xmm5, 201436        por     xmm5, xmm81437        movdqa  xmm8, xmm61438        psrld   xmm8, 121439        pslld   xmm6, 201440        por     xmm6, xmm81441        movdqa  xmm8, xmm71442        psrld   xmm8, 121443        pslld   xmm7, 201444        por     xmm7, xmm81445        paddd   xmm0, xmmword ptr [rsp+0xF0]1446        paddd   xmm1, xmmword ptr [rsp]1447        paddd   xmm2, xmmword ptr [rsp+0x90]1448        paddd   xmm3, xmmword ptr [rsp+0x60]1449        paddd   xmm0, xmm41450        paddd   xmm1, xmm51451        paddd   xmm2, xmm61452        paddd   xmm3, xmm71453        pxor    xmm12, xmm01454        pxor    xmm13, xmm11455        pxor    xmm14, xmm21456        pxor    xmm15, xmm31457        movdqa  xmm8, xmm121458        psrld   xmm12, 81459        pslld   xmm8, 241460        pxor    xmm12, xmm81461        movdqa  xmm8, xmm131462        psrld   xmm13, 81463        pslld   xmm8, 241464        pxor    xmm13, xmm81465        movdqa  xmm8, xmm141466        psrld   xmm14, 81467        pslld   xmm8, 241468        pxor    xmm14, xmm81469        movdqa  xmm8, xmm151470        psrld   xmm15, 81471        pslld   xmm8, 241472        pxor    xmm15, xmm81473        movdqa  xmm8, xmmword ptr [rsp+0x100]1474        paddd   xmm8, xmm121475        paddd   xmm9, xmm131476        paddd   xmm10, xmm141477        paddd   xmm11, xmm151478        pxor    xmm4, xmm81479        pxor    xmm5, xmm91480        pxor    xmm6, xmm101481        pxor    xmm7, xmm111482        movdqa  xmmword ptr [rsp+0x100], xmm81483        movdqa  xmm8, xmm41484        psrld   xmm8, 71485        pslld   xmm4, 251486        por     xmm4, xmm81487        movdqa  xmm8, xmm51488        psrld   xmm8, 71489        pslld   xmm5, 251490        por     xmm5, xmm81491        movdqa  xmm8, xmm61492        psrld   xmm8, 71493        pslld   xmm6, 251494        por     xmm6, xmm81495        movdqa  xmm8, xmm71496        psrld   xmm8, 71497        pslld   xmm7, 251498        por     xmm7, xmm81499        paddd   xmm0, xmmword ptr [rsp+0xE0]1500        paddd   xmm1, xmmword ptr [rsp+0x20]1501        paddd   xmm2, xmmword ptr [rsp+0x30]1502        paddd   xmm3, xmmword ptr [rsp+0x70]1503        paddd   xmm0, xmm51504        paddd   xmm1, xmm61505        paddd   xmm2, xmm71506        paddd   xmm3, xmm41507        pxor    xmm15, xmm01508        pxor    xmm12, xmm11509        pxor    xmm13, xmm21510        pxor    xmm14, xmm31511        pshuflw xmm15, xmm15, 0xB11512        pshufhw xmm15, xmm15, 0xB11513        pshuflw xmm12, xmm12, 0xB11514        pshufhw xmm12, xmm12, 0xB11515        pshuflw xmm13, xmm13, 0xB11516        pshufhw xmm13, xmm13, 0xB11517        pshuflw xmm14, xmm14, 0xB11518        pshufhw xmm14, xmm14, 0xB11519        paddd   xmm10, xmm151520        paddd   xmm11, xmm121521        movdqa  xmm8, xmmword ptr [rsp+0x100]1522        paddd   xmm8, xmm131523        paddd   xmm9, xmm141524        pxor    xmm5, xmm101525        pxor    xmm6, xmm111526        pxor    xmm7, xmm81527        pxor    xmm4, xmm91528        movdqa  xmmword ptr [rsp+0x100], xmm81529        movdqa  xmm8, xmm51530        psrld   xmm8, 121531        pslld   xmm5, 201532        por     xmm5, xmm81533        movdqa  xmm8, xmm61534        psrld   xmm8, 121535        pslld   xmm6, 201536        por     xmm6, xmm81537        movdqa  xmm8, xmm71538        psrld   xmm8, 121539        pslld   xmm7, 201540        por     xmm7, xmm81541        movdqa  xmm8, xmm41542        psrld   xmm8, 121543        pslld   xmm4, 201544        por     xmm4, xmm81545        paddd   xmm0, xmmword ptr [rsp+0xA0]1546        paddd   xmm1, xmmword ptr [rsp+0xC0]1547        paddd   xmm2, xmmword ptr [rsp+0x40]1548        paddd   xmm3, xmmword ptr [rsp+0xD0]1549        paddd   xmm0, xmm51550        paddd   xmm1, xmm61551        paddd   xmm2, xmm71552        paddd   xmm3, xmm41553        pxor    xmm15, xmm01554        pxor    xmm12, xmm11555        pxor    xmm13, xmm21556        pxor    xmm14, xmm31557        movdqa  xmm8, xmm151558        psrld   xmm15, 81559        pslld   xmm8, 241560        pxor    xmm15, xmm81561        movdqa  xmm8, xmm121562        psrld   xmm12, 81563        pslld   xmm8, 241564        pxor    xmm12, xmm81565        movdqa  xmm8, xmm131566        psrld   xmm13, 81567        pslld   xmm8, 241568        pxor    xmm13, xmm81569        movdqa  xmm8, xmm141570        psrld   xmm14, 81571        pslld   xmm8, 241572        pxor    xmm14, xmm81573        paddd   xmm10, xmm151574        paddd   xmm11, xmm121575        movdqa  xmm8, xmmword ptr [rsp+0x100]1576        paddd   xmm8, xmm131577        paddd   xmm9, xmm141578        pxor    xmm5, xmm101579        pxor    xmm6, xmm111580        pxor    xmm7, xmm81581        pxor    xmm4, xmm91582        pxor    xmm0, xmm81583        pxor    xmm1, xmm91584        pxor    xmm2, xmm101585        pxor    xmm3, xmm111586        movdqa  xmm8, xmm51587        psrld   xmm8, 71588        pslld   xmm5, 251589        por     xmm5, xmm81590        movdqa  xmm8, xmm61591        psrld   xmm8, 71592        pslld   xmm6, 251593        por     xmm6, xmm81594        movdqa  xmm8, xmm71595        psrld   xmm8, 71596        pslld   xmm7, 251597        por     xmm7, xmm81598        movdqa  xmm8, xmm41599        psrld   xmm8, 71600        pslld   xmm4, 251601        por     xmm4, xmm81602        pxor    xmm4, xmm121603        pxor    xmm5, xmm131604        pxor    xmm6, xmm141605        pxor    xmm7, xmm151606        mov     eax, r13d1607        jne     9b1608        movdqa  xmm9, xmm01609        punpckldq xmm0, xmm11610        punpckhdq xmm9, xmm11611        movdqa  xmm11, xmm21612        punpckldq xmm2, xmm31613        punpckhdq xmm11, xmm31614        movdqa  xmm1, xmm01615        punpcklqdq xmm0, xmm21616        punpckhqdq xmm1, xmm21617        movdqa  xmm3, xmm91618        punpcklqdq xmm9, xmm111619        punpckhqdq xmm3, xmm111620        movdqu  xmmword ptr [rbx], xmm01621        movdqu  xmmword ptr [rbx+0x20], xmm11622        movdqu  xmmword ptr [rbx+0x40], xmm91623        movdqu  xmmword ptr [rbx+0x60], xmm31624        movdqa  xmm9, xmm41625        punpckldq xmm4, xmm51626        punpckhdq xmm9, xmm51627        movdqa  xmm11, xmm61628        punpckldq xmm6, xmm71629        punpckhdq xmm11, xmm71630        movdqa  xmm5, xmm41631        punpcklqdq xmm4, xmm61632        punpckhqdq xmm5, xmm61633        movdqa  xmm7, xmm91634        punpcklqdq xmm9, xmm111635        punpckhqdq xmm7, xmm111636        movdqu  xmmword ptr [rbx+0x10], xmm41637        movdqu  xmmword ptr [rbx+0x30], xmm51638        movdqu  xmmword ptr [rbx+0x50], xmm91639        movdqu  xmmword ptr [rbx+0x70], xmm71640        movdqa  xmm1, xmmword ptr [rsp+0x110]1641        movdqa  xmm0, xmm11642        paddd   xmm1, xmmword ptr [rsp+0x150]1643        movdqa  xmmword ptr [rsp+0x110], xmm11644        pxor    xmm0, xmmword ptr [CMP_MSB_MASK+rip]1645        pxor    xmm1, xmmword ptr [CMP_MSB_MASK+rip]1646        pcmpgtd xmm0, xmm11647        movdqa  xmm1, xmmword ptr [rsp+0x120]1648        psubd   xmm1, xmm01649        movdqa  xmmword ptr [rsp+0x120], xmm11650        add     rbx, 1281651        add     rdi, 321652        sub     rsi, 41653        cmp     rsi, 41654        jnc     2b1655        test    rsi, rsi1656        jnz     3f16574:1658        mov     rsp, rbp1659        pop     rbp1660        pop     rbx1661        pop     r121662        pop     r131663        pop     r141664        pop     r151665        ret1666.p2align 516673:1668        test    esi, 0x21669        je      3f1670        movups  xmm0, xmmword ptr [rcx]1671        movups  xmm1, xmmword ptr [rcx+0x10]1672        movaps  xmm8, xmm01673        movaps  xmm9, xmm11674        movd    xmm13, dword ptr [rsp+0x110]1675        movd    xmm14, dword ptr [rsp+0x120]1676        punpckldq xmm13, xmm141677        movaps  xmmword ptr [rsp], xmm131678        movd    xmm14, dword ptr [rsp+0x114]1679        movd    xmm13, dword ptr [rsp+0x124]1680        punpckldq xmm14, xmm131681        movaps  xmmword ptr [rsp+0x10], xmm141682        mov     r8, qword ptr [rdi]1683        mov     r9, qword ptr [rdi+0x8]1684        movzx   eax, byte ptr [rbp+0x40]1685        or      eax, r13d1686        xor     edx, edx16872:1688        mov     r14d, eax1689        or      eax, r12d1690        add     rdx, 641691        cmp     rdx, r151692        cmovne  eax, r14d1693        movaps  xmm2, xmmword ptr [BLAKE3_IV+rip]1694        movaps  xmm10, xmm21695        movups  xmm4, xmmword ptr [r8+rdx-0x40]1696        movups  xmm5, xmmword ptr [r8+rdx-0x30]1697        movaps  xmm3, xmm41698        shufps  xmm4, xmm5, 1361699        shufps  xmm3, xmm5, 2211700        movaps  xmm5, xmm31701        movups  xmm6, xmmword ptr [r8+rdx-0x20]1702        movups  xmm7, xmmword ptr [r8+rdx-0x10]1703        movaps  xmm3, xmm61704        shufps  xmm6, xmm7, 1361705        pshufd  xmm6, xmm6, 0x931706        shufps  xmm3, xmm7, 2211707        pshufd  xmm7, xmm3, 0x931708        movups  xmm12, xmmword ptr [r9+rdx-0x40]1709        movups  xmm13, xmmword ptr [r9+rdx-0x30]1710        movaps  xmm11, xmm121711        shufps  xmm12, xmm13, 1361712        shufps  xmm11, xmm13, 2211713        movaps  xmm13, xmm111714        movups  xmm14, xmmword ptr [r9+rdx-0x20]1715        movups  xmm15, xmmword ptr [r9+rdx-0x10]1716        movaps  xmm11, xmm141717        shufps  xmm14, xmm15, 1361718        pshufd  xmm14, xmm14, 0x931719        shufps  xmm11, xmm15, 2211720        pshufd  xmm15, xmm11, 0x931721        shl     rax, 0x201722        or      rax, 0x401723        movq    xmm3, rax1724        movdqa  xmmword ptr [rsp+0x20], xmm31725        movaps  xmm3, xmmword ptr [rsp]1726        movaps  xmm11, xmmword ptr [rsp+0x10]1727        punpcklqdq xmm3, xmmword ptr [rsp+0x20]1728        punpcklqdq xmm11, xmmword ptr [rsp+0x20]1729        mov     al, 717309:1731        paddd   xmm0, xmm41732        paddd   xmm8, xmm121733        movaps  xmmword ptr [rsp+0x20], xmm41734        movaps  xmmword ptr [rsp+0x30], xmm121735        paddd   xmm0, xmm11736        paddd   xmm8, xmm91737        pxor    xmm3, xmm01738        pxor    xmm11, xmm81739        pshuflw xmm3, xmm3, 0xB11740        pshufhw xmm3, xmm3, 0xB11741        pshuflw xmm11, xmm11, 0xB11742        pshufhw xmm11, xmm11, 0xB11743        paddd   xmm2, xmm31744        paddd   xmm10, xmm111745        pxor    xmm1, xmm21746        pxor    xmm9, xmm101747        movdqa  xmm4, xmm11748        pslld   xmm1, 201749        psrld   xmm4, 121750        por     xmm1, xmm41751        movdqa  xmm4, xmm91752        pslld   xmm9, 201753        psrld   xmm4, 121754        por     xmm9, xmm41755        paddd   xmm0, xmm51756        paddd   xmm8, xmm131757        movaps  xmmword ptr [rsp+0x40], xmm51758        movaps  xmmword ptr [rsp+0x50], xmm131759        paddd   xmm0, xmm11760        paddd   xmm8, xmm91761        pxor    xmm3, xmm01762        pxor    xmm11, xmm81763        movdqa  xmm13, xmm31764        psrld   xmm3, 81765        pslld   xmm13, 241766        pxor    xmm3, xmm131767        movdqa  xmm13, xmm111768        psrld   xmm11, 81769        pslld   xmm13, 241770        pxor    xmm11, xmm131771        paddd   xmm2, xmm31772        paddd   xmm10, xmm111773        pxor    xmm1, xmm21774        pxor    xmm9, xmm101775        movdqa  xmm4, xmm11776        pslld   xmm1, 251777        psrld   xmm4, 71778        por     xmm1, xmm41779        movdqa  xmm4, xmm91780        pslld   xmm9, 251781        psrld   xmm4, 71782        por     xmm9, xmm41783        pshufd  xmm0, xmm0, 0x931784        pshufd  xmm8, xmm8, 0x931785        pshufd  xmm3, xmm3, 0x4E1786        pshufd  xmm11, xmm11, 0x4E1787        pshufd  xmm2, xmm2, 0x391788        pshufd  xmm10, xmm10, 0x391789        paddd   xmm0, xmm61790        paddd   xmm8, xmm141791        paddd   xmm0, xmm11792        paddd   xmm8, xmm91793        pxor    xmm3, xmm01794        pxor    xmm11, xmm81795        pshuflw xmm3, xmm3, 0xB11796        pshufhw xmm3, xmm3, 0xB11797        pshuflw xmm11, xmm11, 0xB11798        pshufhw xmm11, xmm11, 0xB11799        paddd   xmm2, xmm31800        paddd   xmm10, xmm111801        pxor    xmm1, xmm21802        pxor    xmm9, xmm101803        movdqa  xmm4, xmm11804        pslld   xmm1, 201805        psrld   xmm4, 121806        por     xmm1, xmm41807        movdqa  xmm4, xmm91808        pslld   xmm9, 201809        psrld   xmm4, 121810        por     xmm9, xmm41811        paddd   xmm0, xmm71812        paddd   xmm8, xmm151813        paddd   xmm0, xmm11814        paddd   xmm8, xmm91815        pxor    xmm3, xmm01816        pxor    xmm11, xmm81817        movdqa  xmm13, xmm31818        psrld   xmm3, 81819        pslld   xmm13, 241820        pxor    xmm3, xmm131821        movdqa  xmm13, xmm111822        psrld   xmm11, 81823        pslld   xmm13, 241824        pxor    xmm11, xmm131825        paddd   xmm2, xmm31826        paddd   xmm10, xmm111827        pxor    xmm1, xmm21828        pxor    xmm9, xmm101829        movdqa  xmm4, xmm11830        pslld   xmm1, 251831        psrld   xmm4, 71832        por     xmm1, xmm41833        movdqa  xmm4, xmm91834        pslld   xmm9, 251835        psrld   xmm4, 71836        por     xmm9, xmm41837        pshufd  xmm0, xmm0, 0x391838        pshufd  xmm8, xmm8, 0x391839        pshufd  xmm3, xmm3, 0x4E1840        pshufd  xmm11, xmm11, 0x4E1841        pshufd  xmm2, xmm2, 0x931842        pshufd  xmm10, xmm10, 0x931843        dec     al1844        je      9f1845        movdqa  xmm12, xmmword ptr [rsp+0x20]1846        movdqa  xmm5, xmmword ptr [rsp+0x40]1847        pshufd  xmm13, xmm12, 0x0F1848        shufps  xmm12, xmm5, 2141849        pshufd  xmm4, xmm12, 0x391850        movdqa  xmm12, xmm61851        shufps  xmm12, xmm7, 2501852        pand    xmm13, xmmword ptr [PBLENDW_0x33_MASK+rip]1853        pand    xmm12, xmmword ptr [PBLENDW_0xCC_MASK+rip]1854        por     xmm13, xmm121855        movdqa  xmmword ptr [rsp+0x20], xmm131856        movdqa  xmm12, xmm71857        punpcklqdq xmm12, xmm51858        movdqa  xmm13, xmm61859        pand    xmm12, xmmword ptr [PBLENDW_0x3F_MASK+rip]1860        pand    xmm13, xmmword ptr [PBLENDW_0xC0_MASK+rip]1861        por     xmm12, xmm131862        pshufd  xmm12, xmm12, 0x781863        punpckhdq xmm5, xmm71864        punpckldq xmm6, xmm51865        pshufd  xmm7, xmm6, 0x1E1866        movdqa  xmmword ptr [rsp+0x40], xmm121867        movdqa  xmm5, xmmword ptr [rsp+0x30]1868        movdqa  xmm13, xmmword ptr [rsp+0x50]1869        pshufd  xmm6, xmm5, 0x0F1870        shufps  xmm5, xmm13, 2141871        pshufd  xmm12, xmm5, 0x391872        movdqa  xmm5, xmm141873        shufps  xmm5, xmm15, 2501874        pand    xmm6, xmmword ptr [PBLENDW_0x33_MASK+rip]1875        pand    xmm5, xmmword ptr [PBLENDW_0xCC_MASK+rip]1876        por     xmm6, xmm51877        movdqa  xmm5, xmm151878        punpcklqdq xmm5, xmm131879        movdqa  xmmword ptr [rsp+0x30], xmm21880        movdqa  xmm2, xmm141881        pand    xmm5, xmmword ptr [PBLENDW_0x3F_MASK+rip]1882        pand    xmm2, xmmword ptr [PBLENDW_0xC0_MASK+rip]1883        por     xmm5, xmm21884        movdqa  xmm2, xmmword ptr [rsp+0x30]1885        pshufd  xmm5, xmm5, 0x781886        punpckhdq xmm13, xmm151887        punpckldq xmm14, xmm131888        pshufd  xmm15, xmm14, 0x1E1889        movdqa  xmm13, xmm61890        movdqa  xmm14, xmm51891        movdqa  xmm5, xmmword ptr [rsp+0x20]1892        movdqa  xmm6, xmmword ptr [rsp+0x40]1893        jmp     9b18949:1895        pxor    xmm0, xmm21896        pxor    xmm1, xmm31897        pxor    xmm8, xmm101898        pxor    xmm9, xmm111899        mov     eax, r13d1900        cmp     rdx, r151901        jne     2b1902        movups  xmmword ptr [rbx], xmm01903        movups  xmmword ptr [rbx+0x10], xmm11904        movups  xmmword ptr [rbx+0x20], xmm81905        movups  xmmword ptr [rbx+0x30], xmm91906        mov     eax, dword ptr [rsp+0x130]1907        neg     eax1908        mov    r10d, dword ptr [rsp+0x110+8*rax]1909        mov    r11d, dword ptr [rsp+0x120+8*rax]1910        mov dword ptr [rsp+0x110], r10d1911        mov dword ptr [rsp+0x120], r11d1912        add     rdi, 161913        add     rbx, 641914        sub     rsi, 219153:1916        test    esi, 0x11917        je      4b1918        movups  xmm0, xmmword ptr [rcx]1919        movups  xmm1, xmmword ptr [rcx+0x10]1920        movd    xmm13, dword ptr [rsp+0x110]1921        movd    xmm14, dword ptr [rsp+0x120]1922        punpckldq xmm13, xmm141923        mov     r8, qword ptr [rdi]1924        movzx   eax, byte ptr [rbp+0x40]1925        or      eax, r13d1926        xor     edx, edx19272:1928        mov     r14d, eax1929        or      eax, r12d1930        add     rdx, 641931        cmp     rdx, r151932        cmovne  eax, r14d1933        movaps  xmm2, xmmword ptr [BLAKE3_IV+rip]1934        shl     rax, 321935        or      rax, 641936        movq    xmm12, rax1937        movdqa  xmm3, xmm131938        punpcklqdq xmm3, xmm121939        movups  xmm4, xmmword ptr [r8+rdx-0x40]1940        movups  xmm5, xmmword ptr [r8+rdx-0x30]1941        movaps  xmm8, xmm41942        shufps  xmm4, xmm5, 1361943        shufps  xmm8, xmm5, 2211944        movaps  xmm5, xmm81945        movups  xmm6, xmmword ptr [r8+rdx-0x20]1946        movups  xmm7, xmmword ptr [r8+rdx-0x10]1947        movaps  xmm8, xmm61948        shufps  xmm6, xmm7, 1361949        pshufd  xmm6, xmm6, 0x931950        shufps  xmm8, xmm7, 2211951        pshufd  xmm7, xmm8, 0x931952        mov     al, 719539:1954        paddd   xmm0, xmm41955        paddd   xmm0, xmm11956        pxor    xmm3, xmm01957        pshuflw xmm3, xmm3, 0xB11958        pshufhw xmm3, xmm3, 0xB11959        paddd   xmm2, xmm31960        pxor    xmm1, xmm21961        movdqa  xmm11, xmm11962        pslld   xmm1, 201963        psrld   xmm11, 121964        por     xmm1, xmm111965        paddd   xmm0, xmm51966        paddd   xmm0, xmm11967        pxor    xmm3, xmm01968        movdqa  xmm14, xmm31969        psrld   xmm3, 81970        pslld   xmm14, 241971        pxor    xmm3, xmm141972        paddd   xmm2, xmm31973        pxor    xmm1, xmm21974        movdqa  xmm11, xmm11975        pslld   xmm1, 251976        psrld   xmm11, 71977        por     xmm1, xmm111978        pshufd  xmm0, xmm0, 0x931979        pshufd  xmm3, xmm3, 0x4E1980        pshufd  xmm2, xmm2, 0x391981        paddd   xmm0, xmm61982        paddd   xmm0, xmm11983        pxor    xmm3, xmm01984        pshuflw xmm3, xmm3, 0xB11985        pshufhw xmm3, xmm3, 0xB11986        paddd   xmm2, xmm31987        pxor    xmm1, xmm21988        movdqa  xmm11, xmm11989        pslld   xmm1, 201990        psrld   xmm11, 121991        por     xmm1, xmm111992        paddd   xmm0, xmm71993        paddd   xmm0, xmm11994        pxor    xmm3, xmm01995        movdqa  xmm14, xmm31996        psrld   xmm3, 81997        pslld   xmm14, 241998        pxor    xmm3, xmm141999        paddd   xmm2, xmm32000        pxor    xmm1, xmm22001        movdqa  xmm11, xmm12002        pslld   xmm1, 252003        psrld   xmm11, 72004        por     xmm1, xmm112005        pshufd  xmm0, xmm0, 0x392006        pshufd  xmm3, xmm3, 0x4E2007        pshufd  xmm2, xmm2, 0x932008        dec     al2009        jz      9f2010        movdqa  xmm8, xmm42011        shufps  xmm8, xmm5, 2142012        pshufd  xmm9, xmm4, 0x0F2013        pshufd  xmm4, xmm8, 0x392014        movdqa  xmm8, xmm62015        shufps  xmm8, xmm7, 2502016        pand    xmm9, xmmword ptr [PBLENDW_0x33_MASK+rip]2017        pand    xmm8, xmmword ptr [PBLENDW_0xCC_MASK+rip]2018        por     xmm9, xmm82019        movdqa  xmm8, xmm72020        punpcklqdq xmm8, xmm52021        movdqa  xmm10, xmm62022        pand    xmm8, xmmword ptr [PBLENDW_0x3F_MASK+rip]2023        pand    xmm10, xmmword ptr [PBLENDW_0xC0_MASK+rip]2024        por     xmm8, xmm102025        pshufd  xmm8, xmm8, 0x782026        punpckhdq xmm5, xmm72027        punpckldq xmm6, xmm52028        pshufd  xmm7, xmm6, 0x1E2029        movdqa  xmm5, xmm92030        movdqa  xmm6, xmm82031        jmp     9b20329:2033        pxor    xmm0, xmm22034        pxor    xmm1, xmm32035        mov     eax, r13d2036        cmp     rdx, r152037        jne     2b2038        movups  xmmword ptr [rbx], xmm02039        movups  xmmword ptr [rbx+0x10], xmm12040        jmp     4b2041 2042.p2align 62043blake3_compress_in_place_sse2:2044_blake3_compress_in_place_sse2:2045        _CET_ENDBR2046        movups  xmm0, xmmword ptr [rdi]2047        movups  xmm1, xmmword ptr [rdi+0x10]2048        movaps  xmm2, xmmword ptr [BLAKE3_IV+rip]2049        shl     r8, 322050        add     rdx, r82051        movq    xmm3, rcx2052        movq    xmm4, rdx2053        punpcklqdq xmm3, xmm42054        movups  xmm4, xmmword ptr [rsi]2055        movups  xmm5, xmmword ptr [rsi+0x10]2056        movaps  xmm8, xmm42057        shufps  xmm4, xmm5, 1362058        shufps  xmm8, xmm5, 2212059        movaps  xmm5, xmm82060        movups  xmm6, xmmword ptr [rsi+0x20]2061        movups  xmm7, xmmword ptr [rsi+0x30]2062        movaps  xmm8, xmm62063        shufps  xmm6, xmm7, 1362064        pshufd  xmm6, xmm6, 0x932065        shufps  xmm8, xmm7, 2212066        pshufd  xmm7, xmm8, 0x932067        mov     al, 720689:2069        paddd   xmm0, xmm42070        paddd   xmm0, xmm12071        pxor    xmm3, xmm02072        pshuflw xmm3, xmm3, 0xB12073        pshufhw xmm3, xmm3, 0xB12074        paddd   xmm2, xmm32075        pxor    xmm1, xmm22076        movdqa  xmm11, xmm12077        pslld   xmm1, 202078        psrld   xmm11, 122079        por     xmm1, xmm112080        paddd   xmm0, xmm52081        paddd   xmm0, xmm12082        pxor    xmm3, xmm02083        movdqa  xmm14, xmm32084        psrld   xmm3, 82085        pslld   xmm14, 242086        pxor    xmm3, xmm142087        paddd   xmm2, xmm32088        pxor    xmm1, xmm22089        movdqa  xmm11, xmm12090        pslld   xmm1, 252091        psrld   xmm11, 72092        por     xmm1, xmm112093        pshufd  xmm0, xmm0, 0x932094        pshufd  xmm3, xmm3, 0x4E2095        pshufd  xmm2, xmm2, 0x392096        paddd   xmm0, xmm62097        paddd   xmm0, xmm12098        pxor    xmm3, xmm02099        pshuflw xmm3, xmm3, 0xB12100        pshufhw xmm3, xmm3, 0xB12101        paddd   xmm2, xmm32102        pxor    xmm1, xmm22103        movdqa  xmm11, xmm12104        pslld   xmm1, 202105        psrld   xmm11, 122106        por     xmm1, xmm112107        paddd   xmm0, xmm72108        paddd   xmm0, xmm12109        pxor    xmm3, xmm02110        movdqa  xmm14, xmm32111        psrld   xmm3, 82112        pslld   xmm14, 242113        pxor    xmm3, xmm142114        paddd   xmm2, xmm32115        pxor    xmm1, xmm22116        movdqa  xmm11, xmm12117        pslld   xmm1, 252118        psrld   xmm11, 72119        por     xmm1, xmm112120        pshufd  xmm0, xmm0, 0x392121        pshufd  xmm3, xmm3, 0x4E2122        pshufd  xmm2, xmm2, 0x932123        dec     al2124        jz      9f2125        movdqa  xmm8, xmm42126        shufps  xmm8, xmm5, 2142127        pshufd  xmm9, xmm4, 0x0F2128        pshufd  xmm4, xmm8, 0x392129        movdqa  xmm8, xmm62130        shufps  xmm8, xmm7, 2502131        pand    xmm9, xmmword ptr [PBLENDW_0x33_MASK+rip]2132        pand    xmm8, xmmword ptr [PBLENDW_0xCC_MASK+rip]2133        por     xmm9, xmm82134        movdqa  xmm8, xmm72135        punpcklqdq xmm8, xmm52136        movdqa  xmm10, xmm62137        pand    xmm8, xmmword ptr [PBLENDW_0x3F_MASK+rip]2138        pand    xmm10, xmmword ptr [PBLENDW_0xC0_MASK+rip]2139        por     xmm8, xmm102140        pshufd  xmm8, xmm8, 0x782141        punpckhdq xmm5, xmm72142        punpckldq xmm6, xmm52143        pshufd  xmm7, xmm6, 0x1E2144        movdqa  xmm5, xmm92145        movdqa  xmm6, xmm82146        jmp     9b21479:2148        pxor    xmm0, xmm22149        pxor    xmm1, xmm32150        movups  xmmword ptr [rdi], xmm02151        movups  xmmword ptr [rdi+0x10], xmm12152        ret2153 2154.p2align 62155blake3_compress_xof_sse2:2156_blake3_compress_xof_sse2:2157        _CET_ENDBR2158        movups  xmm0, xmmword ptr [rdi]2159        movups  xmm1, xmmword ptr [rdi+0x10]2160        movaps  xmm2, xmmword ptr [BLAKE3_IV+rip]2161        movzx   eax, r8b2162        movzx   edx, dl2163        shl     rax, 322164        add     rdx, rax2165        movq    xmm3, rcx2166        movq    xmm4, rdx2167        punpcklqdq xmm3, xmm42168        movups  xmm4, xmmword ptr [rsi]2169        movups  xmm5, xmmword ptr [rsi+0x10]2170        movaps  xmm8, xmm42171        shufps  xmm4, xmm5, 1362172        shufps  xmm8, xmm5, 2212173        movaps  xmm5, xmm82174        movups  xmm6, xmmword ptr [rsi+0x20]2175        movups  xmm7, xmmword ptr [rsi+0x30]2176        movaps  xmm8, xmm62177        shufps  xmm6, xmm7, 1362178        pshufd  xmm6, xmm6, 0x932179        shufps  xmm8, xmm7, 2212180        pshufd  xmm7, xmm8, 0x932181        mov     al, 721829:2183        paddd   xmm0, xmm42184        paddd   xmm0, xmm12185        pxor    xmm3, xmm02186        pshuflw xmm3, xmm3, 0xB12187        pshufhw xmm3, xmm3, 0xB12188        paddd   xmm2, xmm32189        pxor    xmm1, xmm22190        movdqa  xmm11, xmm12191        pslld   xmm1, 202192        psrld   xmm11, 122193        por     xmm1, xmm112194        paddd   xmm0, xmm52195        paddd   xmm0, xmm12196        pxor    xmm3, xmm02197        movdqa  xmm14, xmm32198        psrld   xmm3, 82199        pslld   xmm14, 242200        pxor    xmm3, xmm142201        paddd   xmm2, xmm32202        pxor    xmm1, xmm22203        movdqa  xmm11, xmm12204        pslld   xmm1, 252205        psrld   xmm11, 72206        por     xmm1, xmm112207        pshufd  xmm0, xmm0, 0x932208        pshufd  xmm3, xmm3, 0x4E2209        pshufd  xmm2, xmm2, 0x392210        paddd   xmm0, xmm62211        paddd   xmm0, xmm12212        pxor    xmm3, xmm02213        pshuflw xmm3, xmm3, 0xB12214        pshufhw xmm3, xmm3, 0xB12215        paddd   xmm2, xmm32216        pxor    xmm1, xmm22217        movdqa  xmm11, xmm12218        pslld   xmm1, 202219        psrld   xmm11, 122220        por     xmm1, xmm112221        paddd   xmm0, xmm72222        paddd   xmm0, xmm12223        pxor    xmm3, xmm02224        movdqa  xmm14, xmm32225        psrld   xmm3, 82226        pslld   xmm14, 242227        pxor    xmm3, xmm142228        paddd   xmm2, xmm32229        pxor    xmm1, xmm22230        movdqa  xmm11, xmm12231        pslld   xmm1, 252232        psrld   xmm11, 72233        por     xmm1, xmm112234        pshufd  xmm0, xmm0, 0x392235        pshufd  xmm3, xmm3, 0x4E2236        pshufd  xmm2, xmm2, 0x932237        dec     al2238        jz      9f2239        movdqa  xmm8, xmm42240        shufps  xmm8, xmm5, 2142241        pshufd  xmm9, xmm4, 0x0F2242        pshufd  xmm4, xmm8, 0x392243        movdqa  xmm8, xmm62244        shufps  xmm8, xmm7, 2502245        pand    xmm9, xmmword ptr [PBLENDW_0x33_MASK+rip]2246        pand    xmm8, xmmword ptr [PBLENDW_0xCC_MASK+rip]2247        por     xmm9, xmm82248        movdqa  xmm8, xmm72249        punpcklqdq xmm8, xmm52250        movdqa  xmm10, xmm62251        pand    xmm8, xmmword ptr [PBLENDW_0x3F_MASK+rip]2252        pand    xmm10, xmmword ptr [PBLENDW_0xC0_MASK+rip]2253        por     xmm8, xmm102254        pshufd  xmm8, xmm8, 0x782255        punpckhdq xmm5, xmm72256        punpckldq xmm6, xmm52257        pshufd  xmm7, xmm6, 0x1E2258        movdqa  xmm5, xmm92259        movdqa  xmm6, xmm82260        jmp     9b22619:2262        movdqu  xmm4, xmmword ptr [rdi]2263        movdqu  xmm5, xmmword ptr [rdi+0x10]2264        pxor    xmm0, xmm22265        pxor    xmm1, xmm32266        pxor    xmm2, xmm42267        pxor    xmm3, xmm52268        movups  xmmword ptr [r9], xmm02269        movups  xmmword ptr [r9+0x10], xmm12270        movups  xmmword ptr [r9+0x20], xmm22271        movups  xmmword ptr [r9+0x30], xmm32272        ret2273 2274 2275#ifdef __APPLE__2276.static_data2277#else2278.section .rodata2279#endif2280.p2align  62281BLAKE3_IV:2282        .long  0x6A09E667, 0xBB67AE852283        .long  0x3C6EF372, 0xA54FF53A2284ADD0:	2285        .long  0, 1, 2, 32286ADD1:2287	.long  4, 4, 4, 42288BLAKE3_IV_0:2289	.long  0x6A09E667, 0x6A09E667, 0x6A09E667, 0x6A09E6672290BLAKE3_IV_1:2291	.long  0xBB67AE85, 0xBB67AE85, 0xBB67AE85, 0xBB67AE852292BLAKE3_IV_2:2293	.long  0x3C6EF372, 0x3C6EF372, 0x3C6EF372, 0x3C6EF3722294BLAKE3_IV_3:2295	.long  0xA54FF53A, 0xA54FF53A, 0xA54FF53A, 0xA54FF53A2296BLAKE3_BLOCK_LEN:2297	.long  64, 64, 64, 642298CMP_MSB_MASK:2299	.long  0x80000000, 0x80000000, 0x80000000, 0x800000002300PBLENDW_0x33_MASK:2301	.long  0xFFFFFFFF, 0x00000000, 0xFFFFFFFF, 0x000000002302PBLENDW_0xCC_MASK:2303	.long  0x00000000, 0xFFFFFFFF, 0x00000000, 0xFFFFFFFF2304PBLENDW_0x3F_MASK:2305	.long  0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0x000000002306PBLENDW_0xC0_MASK:2307	.long  0x00000000, 0x00000000, 0x00000000, 0xFFFFFFFF2308 2309#endif2310