brintos

brintos / llvm-project-archived public Read only

0
0
Text · 60.1 KiB · c5b103a Raw
2047 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_sse4127HIDDEN _blake3_hash_many_sse4128HIDDEN blake3_compress_in_place_sse4129HIDDEN _blake3_compress_in_place_sse4130HIDDEN blake3_compress_xof_sse4131HIDDEN _blake3_compress_xof_sse4132.global blake3_hash_many_sse4133.global _blake3_hash_many_sse4134.global blake3_compress_in_place_sse4135.global _blake3_compress_in_place_sse4136.global blake3_compress_xof_sse4137.global _blake3_compress_xof_sse4138#ifdef __APPLE__39.text40#else41.section .text42#endif43        .p2align  644_blake3_hash_many_sse41:45blake3_hash_many_sse41: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        movdqa  xmm8, xmmword ptr [ROT16+rip]212        pshufb  xmm12, xmm8213        pshufb  xmm13, xmm8214        pshufb  xmm14, xmm8215        pshufb  xmm15, xmm8216        movdqa  xmm8, xmmword ptr [BLAKE3_IV_0+rip]217        paddd   xmm8, xmm12218        paddd   xmm9, xmm13219        paddd   xmm10, xmm14220        paddd   xmm11, xmm15221        pxor    xmm4, xmm8222        pxor    xmm5, xmm9223        pxor    xmm6, xmm10224        pxor    xmm7, xmm11225        movdqa  xmmword ptr [rsp+0x100], xmm8226        movdqa  xmm8, xmm4227        psrld   xmm8, 12228        pslld   xmm4, 20229        por     xmm4, xmm8230        movdqa  xmm8, xmm5231        psrld   xmm8, 12232        pslld   xmm5, 20233        por     xmm5, xmm8234        movdqa  xmm8, xmm6235        psrld   xmm8, 12236        pslld   xmm6, 20237        por     xmm6, xmm8238        movdqa  xmm8, xmm7239        psrld   xmm8, 12240        pslld   xmm7, 20241        por     xmm7, xmm8242        paddd   xmm0, xmmword ptr [rsp+0x10]243        paddd   xmm1, xmmword ptr [rsp+0x30]244        paddd   xmm2, xmmword ptr [rsp+0x50]245        paddd   xmm3, xmmword ptr [rsp+0x70]246        paddd   xmm0, xmm4247        paddd   xmm1, xmm5248        paddd   xmm2, xmm6249        paddd   xmm3, xmm7250        pxor    xmm12, xmm0251        pxor    xmm13, xmm1252        pxor    xmm14, xmm2253        pxor    xmm15, xmm3254        movdqa  xmm8, xmmword ptr [ROT8+rip]255        pshufb  xmm12, xmm8256        pshufb  xmm13, xmm8257        pshufb  xmm14, xmm8258        pshufb  xmm15, xmm8259        movdqa  xmm8, xmmword ptr [rsp+0x100]260        paddd   xmm8, xmm12261        paddd   xmm9, xmm13262        paddd   xmm10, xmm14263        paddd   xmm11, xmm15264        pxor    xmm4, xmm8265        pxor    xmm5, xmm9266        pxor    xmm6, xmm10267        pxor    xmm7, xmm11268        movdqa  xmmword ptr [rsp+0x100], xmm8269        movdqa  xmm8, xmm4270        psrld   xmm8, 7271        pslld   xmm4, 25272        por     xmm4, xmm8273        movdqa  xmm8, xmm5274        psrld   xmm8, 7275        pslld   xmm5, 25276        por     xmm5, xmm8277        movdqa  xmm8, xmm6278        psrld   xmm8, 7279        pslld   xmm6, 25280        por     xmm6, xmm8281        movdqa  xmm8, xmm7282        psrld   xmm8, 7283        pslld   xmm7, 25284        por     xmm7, xmm8285        paddd   xmm0, xmmword ptr [rsp+0x80]286        paddd   xmm1, xmmword ptr [rsp+0xA0]287        paddd   xmm2, xmmword ptr [rsp+0xC0]288        paddd   xmm3, xmmword ptr [rsp+0xE0]289        paddd   xmm0, xmm5290        paddd   xmm1, xmm6291        paddd   xmm2, xmm7292        paddd   xmm3, xmm4293        pxor    xmm15, xmm0294        pxor    xmm12, xmm1295        pxor    xmm13, xmm2296        pxor    xmm14, xmm3297        movdqa  xmm8, xmmword ptr [ROT16+rip]298        pshufb  xmm15, xmm8299        pshufb  xmm12, xmm8300        pshufb  xmm13, xmm8301        pshufb  xmm14, xmm8302        paddd   xmm10, xmm15303        paddd   xmm11, xmm12304        movdqa  xmm8, xmmword ptr [rsp+0x100]305        paddd   xmm8, xmm13306        paddd   xmm9, xmm14307        pxor    xmm5, xmm10308        pxor    xmm6, xmm11309        pxor    xmm7, xmm8310        pxor    xmm4, xmm9311        movdqa  xmmword ptr [rsp+0x100], xmm8312        movdqa  xmm8, xmm5313        psrld   xmm8, 12314        pslld   xmm5, 20315        por     xmm5, xmm8316        movdqa  xmm8, xmm6317        psrld   xmm8, 12318        pslld   xmm6, 20319        por     xmm6, xmm8320        movdqa  xmm8, xmm7321        psrld   xmm8, 12322        pslld   xmm7, 20323        por     xmm7, xmm8324        movdqa  xmm8, xmm4325        psrld   xmm8, 12326        pslld   xmm4, 20327        por     xmm4, xmm8328        paddd   xmm0, xmmword ptr [rsp+0x90]329        paddd   xmm1, xmmword ptr [rsp+0xB0]330        paddd   xmm2, xmmword ptr [rsp+0xD0]331        paddd   xmm3, xmmword ptr [rsp+0xF0]332        paddd   xmm0, xmm5333        paddd   xmm1, xmm6334        paddd   xmm2, xmm7335        paddd   xmm3, xmm4336        pxor    xmm15, xmm0337        pxor    xmm12, xmm1338        pxor    xmm13, xmm2339        pxor    xmm14, xmm3340        movdqa  xmm8, xmmword ptr [ROT8+rip]341        pshufb  xmm15, xmm8342        pshufb  xmm12, xmm8343        pshufb  xmm13, xmm8344        pshufb  xmm14, xmm8345        paddd   xmm10, xmm15346        paddd   xmm11, xmm12347        movdqa  xmm8, xmmword ptr [rsp+0x100]348        paddd   xmm8, xmm13349        paddd   xmm9, xmm14350        pxor    xmm5, xmm10351        pxor    xmm6, xmm11352        pxor    xmm7, xmm8353        pxor    xmm4, xmm9354        movdqa  xmmword ptr [rsp+0x100], xmm8355        movdqa  xmm8, xmm5356        psrld   xmm8, 7357        pslld   xmm5, 25358        por     xmm5, xmm8359        movdqa  xmm8, xmm6360        psrld   xmm8, 7361        pslld   xmm6, 25362        por     xmm6, xmm8363        movdqa  xmm8, xmm7364        psrld   xmm8, 7365        pslld   xmm7, 25366        por     xmm7, xmm8367        movdqa  xmm8, xmm4368        psrld   xmm8, 7369        pslld   xmm4, 25370        por     xmm4, xmm8371        paddd   xmm0, xmmword ptr [rsp+0x20]372        paddd   xmm1, xmmword ptr [rsp+0x30]373        paddd   xmm2, xmmword ptr [rsp+0x70]374        paddd   xmm3, xmmword ptr [rsp+0x40]375        paddd   xmm0, xmm4376        paddd   xmm1, xmm5377        paddd   xmm2, xmm6378        paddd   xmm3, xmm7379        pxor    xmm12, xmm0380        pxor    xmm13, xmm1381        pxor    xmm14, xmm2382        pxor    xmm15, xmm3383        movdqa  xmm8, xmmword ptr [ROT16+rip]384        pshufb  xmm12, xmm8385        pshufb  xmm13, xmm8386        pshufb  xmm14, xmm8387        pshufb  xmm15, xmm8388        movdqa  xmm8, xmmword ptr [rsp+0x100]389        paddd   xmm8, xmm12390        paddd   xmm9, xmm13391        paddd   xmm10, xmm14392        paddd   xmm11, xmm15393        pxor    xmm4, xmm8394        pxor    xmm5, xmm9395        pxor    xmm6, xmm10396        pxor    xmm7, xmm11397        movdqa  xmmword ptr [rsp+0x100], xmm8398        movdqa  xmm8, xmm4399        psrld   xmm8, 12400        pslld   xmm4, 20401        por     xmm4, xmm8402        movdqa  xmm8, xmm5403        psrld   xmm8, 12404        pslld   xmm5, 20405        por     xmm5, xmm8406        movdqa  xmm8, xmm6407        psrld   xmm8, 12408        pslld   xmm6, 20409        por     xmm6, xmm8410        movdqa  xmm8, xmm7411        psrld   xmm8, 12412        pslld   xmm7, 20413        por     xmm7, xmm8414        paddd   xmm0, xmmword ptr [rsp+0x60]415        paddd   xmm1, xmmword ptr [rsp+0xA0]416        paddd   xmm2, xmmword ptr [rsp]417        paddd   xmm3, xmmword ptr [rsp+0xD0]418        paddd   xmm0, xmm4419        paddd   xmm1, xmm5420        paddd   xmm2, xmm6421        paddd   xmm3, xmm7422        pxor    xmm12, xmm0423        pxor    xmm13, xmm1424        pxor    xmm14, xmm2425        pxor    xmm15, xmm3426        movdqa  xmm8, xmmword ptr [ROT8+rip]427        pshufb  xmm12, xmm8428        pshufb  xmm13, xmm8429        pshufb  xmm14, xmm8430        pshufb  xmm15, xmm8431        movdqa  xmm8, xmmword ptr [rsp+0x100]432        paddd   xmm8, xmm12433        paddd   xmm9, xmm13434        paddd   xmm10, xmm14435        paddd   xmm11, xmm15436        pxor    xmm4, xmm8437        pxor    xmm5, xmm9438        pxor    xmm6, xmm10439        pxor    xmm7, xmm11440        movdqa  xmmword ptr [rsp+0x100], xmm8441        movdqa  xmm8, xmm4442        psrld   xmm8, 7443        pslld   xmm4, 25444        por     xmm4, xmm8445        movdqa  xmm8, xmm5446        psrld   xmm8, 7447        pslld   xmm5, 25448        por     xmm5, xmm8449        movdqa  xmm8, xmm6450        psrld   xmm8, 7451        pslld   xmm6, 25452        por     xmm6, xmm8453        movdqa  xmm8, xmm7454        psrld   xmm8, 7455        pslld   xmm7, 25456        por     xmm7, xmm8457        paddd   xmm0, xmmword ptr [rsp+0x10]458        paddd   xmm1, xmmword ptr [rsp+0xC0]459        paddd   xmm2, xmmword ptr [rsp+0x90]460        paddd   xmm3, xmmword ptr [rsp+0xF0]461        paddd   xmm0, xmm5462        paddd   xmm1, xmm6463        paddd   xmm2, xmm7464        paddd   xmm3, xmm4465        pxor    xmm15, xmm0466        pxor    xmm12, xmm1467        pxor    xmm13, xmm2468        pxor    xmm14, xmm3469        movdqa  xmm8, xmmword ptr [ROT16+rip]470        pshufb  xmm15, xmm8471        pshufb  xmm12, xmm8472        pshufb  xmm13, xmm8473        pshufb  xmm14, xmm8474        paddd   xmm10, xmm15475        paddd   xmm11, xmm12476        movdqa  xmm8, xmmword ptr [rsp+0x100]477        paddd   xmm8, xmm13478        paddd   xmm9, xmm14479        pxor    xmm5, xmm10480        pxor    xmm6, xmm11481        pxor    xmm7, xmm8482        pxor    xmm4, xmm9483        movdqa  xmmword ptr [rsp+0x100], xmm8484        movdqa  xmm8, xmm5485        psrld   xmm8, 12486        pslld   xmm5, 20487        por     xmm5, xmm8488        movdqa  xmm8, xmm6489        psrld   xmm8, 12490        pslld   xmm6, 20491        por     xmm6, xmm8492        movdqa  xmm8, xmm7493        psrld   xmm8, 12494        pslld   xmm7, 20495        por     xmm7, xmm8496        movdqa  xmm8, xmm4497        psrld   xmm8, 12498        pslld   xmm4, 20499        por     xmm4, xmm8500        paddd   xmm0, xmmword ptr [rsp+0xB0]501        paddd   xmm1, xmmword ptr [rsp+0x50]502        paddd   xmm2, xmmword ptr [rsp+0xE0]503        paddd   xmm3, xmmword ptr [rsp+0x80]504        paddd   xmm0, xmm5505        paddd   xmm1, xmm6506        paddd   xmm2, xmm7507        paddd   xmm3, xmm4508        pxor    xmm15, xmm0509        pxor    xmm12, xmm1510        pxor    xmm13, xmm2511        pxor    xmm14, xmm3512        movdqa  xmm8, xmmword ptr [ROT8+rip]513        pshufb  xmm15, xmm8514        pshufb  xmm12, xmm8515        pshufb  xmm13, xmm8516        pshufb  xmm14, xmm8517        paddd   xmm10, xmm15518        paddd   xmm11, xmm12519        movdqa  xmm8, xmmword ptr [rsp+0x100]520        paddd   xmm8, xmm13521        paddd   xmm9, xmm14522        pxor    xmm5, xmm10523        pxor    xmm6, xmm11524        pxor    xmm7, xmm8525        pxor    xmm4, xmm9526        movdqa  xmmword ptr [rsp+0x100], xmm8527        movdqa  xmm8, xmm5528        psrld   xmm8, 7529        pslld   xmm5, 25530        por     xmm5, xmm8531        movdqa  xmm8, xmm6532        psrld   xmm8, 7533        pslld   xmm6, 25534        por     xmm6, xmm8535        movdqa  xmm8, xmm7536        psrld   xmm8, 7537        pslld   xmm7, 25538        por     xmm7, xmm8539        movdqa  xmm8, xmm4540        psrld   xmm8, 7541        pslld   xmm4, 25542        por     xmm4, xmm8543        paddd   xmm0, xmmword ptr [rsp+0x30]544        paddd   xmm1, xmmword ptr [rsp+0xA0]545        paddd   xmm2, xmmword ptr [rsp+0xD0]546        paddd   xmm3, xmmword ptr [rsp+0x70]547        paddd   xmm0, xmm4548        paddd   xmm1, xmm5549        paddd   xmm2, xmm6550        paddd   xmm3, xmm7551        pxor    xmm12, xmm0552        pxor    xmm13, xmm1553        pxor    xmm14, xmm2554        pxor    xmm15, xmm3555        movdqa  xmm8, xmmword ptr [ROT16+rip]556        pshufb  xmm12, xmm8557        pshufb  xmm13, xmm8558        pshufb  xmm14, xmm8559        pshufb  xmm15, xmm8560        movdqa  xmm8, xmmword ptr [rsp+0x100]561        paddd   xmm8, xmm12562        paddd   xmm9, xmm13563        paddd   xmm10, xmm14564        paddd   xmm11, xmm15565        pxor    xmm4, xmm8566        pxor    xmm5, xmm9567        pxor    xmm6, xmm10568        pxor    xmm7, xmm11569        movdqa  xmmword ptr [rsp+0x100], xmm8570        movdqa  xmm8, xmm4571        psrld   xmm8, 12572        pslld   xmm4, 20573        por     xmm4, xmm8574        movdqa  xmm8, xmm5575        psrld   xmm8, 12576        pslld   xmm5, 20577        por     xmm5, xmm8578        movdqa  xmm8, xmm6579        psrld   xmm8, 12580        pslld   xmm6, 20581        por     xmm6, xmm8582        movdqa  xmm8, xmm7583        psrld   xmm8, 12584        pslld   xmm7, 20585        por     xmm7, xmm8586        paddd   xmm0, xmmword ptr [rsp+0x40]587        paddd   xmm1, xmmword ptr [rsp+0xC0]588        paddd   xmm2, xmmword ptr [rsp+0x20]589        paddd   xmm3, xmmword ptr [rsp+0xE0]590        paddd   xmm0, xmm4591        paddd   xmm1, xmm5592        paddd   xmm2, xmm6593        paddd   xmm3, xmm7594        pxor    xmm12, xmm0595        pxor    xmm13, xmm1596        pxor    xmm14, xmm2597        pxor    xmm15, xmm3598        movdqa  xmm8, xmmword ptr [ROT8+rip]599        pshufb  xmm12, xmm8600        pshufb  xmm13, xmm8601        pshufb  xmm14, xmm8602        pshufb  xmm15, xmm8603        movdqa  xmm8, xmmword ptr [rsp+0x100]604        paddd   xmm8, xmm12605        paddd   xmm9, xmm13606        paddd   xmm10, xmm14607        paddd   xmm11, xmm15608        pxor    xmm4, xmm8609        pxor    xmm5, xmm9610        pxor    xmm6, xmm10611        pxor    xmm7, xmm11612        movdqa  xmmword ptr [rsp+0x100], xmm8613        movdqa  xmm8, xmm4614        psrld   xmm8, 7615        pslld   xmm4, 25616        por     xmm4, xmm8617        movdqa  xmm8, xmm5618        psrld   xmm8, 7619        pslld   xmm5, 25620        por     xmm5, xmm8621        movdqa  xmm8, xmm6622        psrld   xmm8, 7623        pslld   xmm6, 25624        por     xmm6, xmm8625        movdqa  xmm8, xmm7626        psrld   xmm8, 7627        pslld   xmm7, 25628        por     xmm7, xmm8629        paddd   xmm0, xmmword ptr [rsp+0x60]630        paddd   xmm1, xmmword ptr [rsp+0x90]631        paddd   xmm2, xmmword ptr [rsp+0xB0]632        paddd   xmm3, xmmword ptr [rsp+0x80]633        paddd   xmm0, xmm5634        paddd   xmm1, xmm6635        paddd   xmm2, xmm7636        paddd   xmm3, xmm4637        pxor    xmm15, xmm0638        pxor    xmm12, xmm1639        pxor    xmm13, xmm2640        pxor    xmm14, xmm3641        movdqa  xmm8, xmmword ptr [ROT16+rip]642        pshufb  xmm15, xmm8643        pshufb  xmm12, xmm8644        pshufb  xmm13, xmm8645        pshufb  xmm14, xmm8646        paddd   xmm10, xmm15647        paddd   xmm11, xmm12648        movdqa  xmm8, xmmword ptr [rsp+0x100]649        paddd   xmm8, xmm13650        paddd   xmm9, xmm14651        pxor    xmm5, xmm10652        pxor    xmm6, xmm11653        pxor    xmm7, xmm8654        pxor    xmm4, xmm9655        movdqa  xmmword ptr [rsp+0x100], xmm8656        movdqa  xmm8, xmm5657        psrld   xmm8, 12658        pslld   xmm5, 20659        por     xmm5, xmm8660        movdqa  xmm8, xmm6661        psrld   xmm8, 12662        pslld   xmm6, 20663        por     xmm6, xmm8664        movdqa  xmm8, xmm7665        psrld   xmm8, 12666        pslld   xmm7, 20667        por     xmm7, xmm8668        movdqa  xmm8, xmm4669        psrld   xmm8, 12670        pslld   xmm4, 20671        por     xmm4, xmm8672        paddd   xmm0, xmmword ptr [rsp+0x50]673        paddd   xmm1, xmmword ptr [rsp]674        paddd   xmm2, xmmword ptr [rsp+0xF0]675        paddd   xmm3, xmmword ptr [rsp+0x10]676        paddd   xmm0, xmm5677        paddd   xmm1, xmm6678        paddd   xmm2, xmm7679        paddd   xmm3, xmm4680        pxor    xmm15, xmm0681        pxor    xmm12, xmm1682        pxor    xmm13, xmm2683        pxor    xmm14, xmm3684        movdqa  xmm8, xmmword ptr [ROT8+rip]685        pshufb  xmm15, xmm8686        pshufb  xmm12, xmm8687        pshufb  xmm13, xmm8688        pshufb  xmm14, xmm8689        paddd   xmm10, xmm15690        paddd   xmm11, xmm12691        movdqa  xmm8, xmmword ptr [rsp+0x100]692        paddd   xmm8, xmm13693        paddd   xmm9, xmm14694        pxor    xmm5, xmm10695        pxor    xmm6, xmm11696        pxor    xmm7, xmm8697        pxor    xmm4, xmm9698        movdqa  xmmword ptr [rsp+0x100], xmm8699        movdqa  xmm8, xmm5700        psrld   xmm8, 7701        pslld   xmm5, 25702        por     xmm5, xmm8703        movdqa  xmm8, xmm6704        psrld   xmm8, 7705        pslld   xmm6, 25706        por     xmm6, xmm8707        movdqa  xmm8, xmm7708        psrld   xmm8, 7709        pslld   xmm7, 25710        por     xmm7, xmm8711        movdqa  xmm8, xmm4712        psrld   xmm8, 7713        pslld   xmm4, 25714        por     xmm4, xmm8715        paddd   xmm0, xmmword ptr [rsp+0xA0]716        paddd   xmm1, xmmword ptr [rsp+0xC0]717        paddd   xmm2, xmmword ptr [rsp+0xE0]718        paddd   xmm3, xmmword ptr [rsp+0xD0]719        paddd   xmm0, xmm4720        paddd   xmm1, xmm5721        paddd   xmm2, xmm6722        paddd   xmm3, xmm7723        pxor    xmm12, xmm0724        pxor    xmm13, xmm1725        pxor    xmm14, xmm2726        pxor    xmm15, xmm3727        movdqa  xmm8, xmmword ptr [ROT16+rip]728        pshufb  xmm12, xmm8729        pshufb  xmm13, xmm8730        pshufb  xmm14, xmm8731        pshufb  xmm15, xmm8732        movdqa  xmm8, xmmword ptr [rsp+0x100]733        paddd   xmm8, xmm12734        paddd   xmm9, xmm13735        paddd   xmm10, xmm14736        paddd   xmm11, xmm15737        pxor    xmm4, xmm8738        pxor    xmm5, xmm9739        pxor    xmm6, xmm10740        pxor    xmm7, xmm11741        movdqa  xmmword ptr [rsp+0x100], xmm8742        movdqa  xmm8, xmm4743        psrld   xmm8, 12744        pslld   xmm4, 20745        por     xmm4, xmm8746        movdqa  xmm8, xmm5747        psrld   xmm8, 12748        pslld   xmm5, 20749        por     xmm5, xmm8750        movdqa  xmm8, xmm6751        psrld   xmm8, 12752        pslld   xmm6, 20753        por     xmm6, xmm8754        movdqa  xmm8, xmm7755        psrld   xmm8, 12756        pslld   xmm7, 20757        por     xmm7, xmm8758        paddd   xmm0, xmmword ptr [rsp+0x70]759        paddd   xmm1, xmmword ptr [rsp+0x90]760        paddd   xmm2, xmmword ptr [rsp+0x30]761        paddd   xmm3, xmmword ptr [rsp+0xF0]762        paddd   xmm0, xmm4763        paddd   xmm1, xmm5764        paddd   xmm2, xmm6765        paddd   xmm3, xmm7766        pxor    xmm12, xmm0767        pxor    xmm13, xmm1768        pxor    xmm14, xmm2769        pxor    xmm15, xmm3770        movdqa  xmm8, xmmword ptr [ROT8+rip]771        pshufb  xmm12, xmm8772        pshufb  xmm13, xmm8773        pshufb  xmm14, xmm8774        pshufb  xmm15, xmm8775        movdqa  xmm8, xmmword ptr [rsp+0x100]776        paddd   xmm8, xmm12777        paddd   xmm9, xmm13778        paddd   xmm10, xmm14779        paddd   xmm11, xmm15780        pxor    xmm4, xmm8781        pxor    xmm5, xmm9782        pxor    xmm6, xmm10783        pxor    xmm7, xmm11784        movdqa  xmmword ptr [rsp+0x100], xmm8785        movdqa  xmm8, xmm4786        psrld   xmm8, 7787        pslld   xmm4, 25788        por     xmm4, xmm8789        movdqa  xmm8, xmm5790        psrld   xmm8, 7791        pslld   xmm5, 25792        por     xmm5, xmm8793        movdqa  xmm8, xmm6794        psrld   xmm8, 7795        pslld   xmm6, 25796        por     xmm6, xmm8797        movdqa  xmm8, xmm7798        psrld   xmm8, 7799        pslld   xmm7, 25800        por     xmm7, xmm8801        paddd   xmm0, xmmword ptr [rsp+0x40]802        paddd   xmm1, xmmword ptr [rsp+0xB0]803        paddd   xmm2, xmmword ptr [rsp+0x50]804        paddd   xmm3, xmmword ptr [rsp+0x10]805        paddd   xmm0, xmm5806        paddd   xmm1, xmm6807        paddd   xmm2, xmm7808        paddd   xmm3, xmm4809        pxor    xmm15, xmm0810        pxor    xmm12, xmm1811        pxor    xmm13, xmm2812        pxor    xmm14, xmm3813        movdqa  xmm8, xmmword ptr [ROT16+rip]814        pshufb  xmm15, xmm8815        pshufb  xmm12, xmm8816        pshufb  xmm13, xmm8817        pshufb  xmm14, xmm8818        paddd   xmm10, xmm15819        paddd   xmm11, xmm12820        movdqa  xmm8, xmmword ptr [rsp+0x100]821        paddd   xmm8, xmm13822        paddd   xmm9, xmm14823        pxor    xmm5, xmm10824        pxor    xmm6, xmm11825        pxor    xmm7, xmm8826        pxor    xmm4, xmm9827        movdqa  xmmword ptr [rsp+0x100], xmm8828        movdqa  xmm8, xmm5829        psrld   xmm8, 12830        pslld   xmm5, 20831        por     xmm5, xmm8832        movdqa  xmm8, xmm6833        psrld   xmm8, 12834        pslld   xmm6, 20835        por     xmm6, xmm8836        movdqa  xmm8, xmm7837        psrld   xmm8, 12838        pslld   xmm7, 20839        por     xmm7, xmm8840        movdqa  xmm8, xmm4841        psrld   xmm8, 12842        pslld   xmm4, 20843        por     xmm4, xmm8844        paddd   xmm0, xmmword ptr [rsp]845        paddd   xmm1, xmmword ptr [rsp+0x20]846        paddd   xmm2, xmmword ptr [rsp+0x80]847        paddd   xmm3, xmmword ptr [rsp+0x60]848        paddd   xmm0, xmm5849        paddd   xmm1, xmm6850        paddd   xmm2, xmm7851        paddd   xmm3, xmm4852        pxor    xmm15, xmm0853        pxor    xmm12, xmm1854        pxor    xmm13, xmm2855        pxor    xmm14, xmm3856        movdqa  xmm8, xmmword ptr [ROT8+rip]857        pshufb  xmm15, xmm8858        pshufb  xmm12, xmm8859        pshufb  xmm13, xmm8860        pshufb  xmm14, xmm8861        paddd   xmm10, xmm15862        paddd   xmm11, xmm12863        movdqa  xmm8, xmmword ptr [rsp+0x100]864        paddd   xmm8, xmm13865        paddd   xmm9, xmm14866        pxor    xmm5, xmm10867        pxor    xmm6, xmm11868        pxor    xmm7, xmm8869        pxor    xmm4, xmm9870        movdqa  xmmword ptr [rsp+0x100], xmm8871        movdqa  xmm8, xmm5872        psrld   xmm8, 7873        pslld   xmm5, 25874        por     xmm5, xmm8875        movdqa  xmm8, xmm6876        psrld   xmm8, 7877        pslld   xmm6, 25878        por     xmm6, xmm8879        movdqa  xmm8, xmm7880        psrld   xmm8, 7881        pslld   xmm7, 25882        por     xmm7, xmm8883        movdqa  xmm8, xmm4884        psrld   xmm8, 7885        pslld   xmm4, 25886        por     xmm4, xmm8887        paddd   xmm0, xmmword ptr [rsp+0xC0]888        paddd   xmm1, xmmword ptr [rsp+0x90]889        paddd   xmm2, xmmword ptr [rsp+0xF0]890        paddd   xmm3, xmmword ptr [rsp+0xE0]891        paddd   xmm0, xmm4892        paddd   xmm1, xmm5893        paddd   xmm2, xmm6894        paddd   xmm3, xmm7895        pxor    xmm12, xmm0896        pxor    xmm13, xmm1897        pxor    xmm14, xmm2898        pxor    xmm15, xmm3899        movdqa  xmm8, xmmword ptr [ROT16+rip]900        pshufb  xmm12, xmm8901        pshufb  xmm13, xmm8902        pshufb  xmm14, xmm8903        pshufb  xmm15, xmm8904        movdqa  xmm8, xmmword ptr [rsp+0x100]905        paddd   xmm8, xmm12906        paddd   xmm9, xmm13907        paddd   xmm10, xmm14908        paddd   xmm11, xmm15909        pxor    xmm4, xmm8910        pxor    xmm5, xmm9911        pxor    xmm6, xmm10912        pxor    xmm7, xmm11913        movdqa  xmmword ptr [rsp+0x100], xmm8914        movdqa  xmm8, xmm4915        psrld   xmm8, 12916        pslld   xmm4, 20917        por     xmm4, xmm8918        movdqa  xmm8, xmm5919        psrld   xmm8, 12920        pslld   xmm5, 20921        por     xmm5, xmm8922        movdqa  xmm8, xmm6923        psrld   xmm8, 12924        pslld   xmm6, 20925        por     xmm6, xmm8926        movdqa  xmm8, xmm7927        psrld   xmm8, 12928        pslld   xmm7, 20929        por     xmm7, xmm8930        paddd   xmm0, xmmword ptr [rsp+0xD0]931        paddd   xmm1, xmmword ptr [rsp+0xB0]932        paddd   xmm2, xmmword ptr [rsp+0xA0]933        paddd   xmm3, xmmword ptr [rsp+0x80]934        paddd   xmm0, xmm4935        paddd   xmm1, xmm5936        paddd   xmm2, xmm6937        paddd   xmm3, xmm7938        pxor    xmm12, xmm0939        pxor    xmm13, xmm1940        pxor    xmm14, xmm2941        pxor    xmm15, xmm3942        movdqa  xmm8, xmmword ptr [ROT8+rip]943        pshufb  xmm12, xmm8944        pshufb  xmm13, xmm8945        pshufb  xmm14, xmm8946        pshufb  xmm15, xmm8947        movdqa  xmm8, xmmword ptr [rsp+0x100]948        paddd   xmm8, xmm12949        paddd   xmm9, xmm13950        paddd   xmm10, xmm14951        paddd   xmm11, xmm15952        pxor    xmm4, xmm8953        pxor    xmm5, xmm9954        pxor    xmm6, xmm10955        pxor    xmm7, xmm11956        movdqa  xmmword ptr [rsp+0x100], xmm8957        movdqa  xmm8, xmm4958        psrld   xmm8, 7959        pslld   xmm4, 25960        por     xmm4, xmm8961        movdqa  xmm8, xmm5962        psrld   xmm8, 7963        pslld   xmm5, 25964        por     xmm5, xmm8965        movdqa  xmm8, xmm6966        psrld   xmm8, 7967        pslld   xmm6, 25968        por     xmm6, xmm8969        movdqa  xmm8, xmm7970        psrld   xmm8, 7971        pslld   xmm7, 25972        por     xmm7, xmm8973        paddd   xmm0, xmmword ptr [rsp+0x70]974        paddd   xmm1, xmmword ptr [rsp+0x50]975        paddd   xmm2, xmmword ptr [rsp]976        paddd   xmm3, xmmword ptr [rsp+0x60]977        paddd   xmm0, xmm5978        paddd   xmm1, xmm6979        paddd   xmm2, xmm7980        paddd   xmm3, xmm4981        pxor    xmm15, xmm0982        pxor    xmm12, xmm1983        pxor    xmm13, xmm2984        pxor    xmm14, xmm3985        movdqa  xmm8, xmmword ptr [ROT16+rip]986        pshufb  xmm15, xmm8987        pshufb  xmm12, xmm8988        pshufb  xmm13, xmm8989        pshufb  xmm14, xmm8990        paddd   xmm10, xmm15991        paddd   xmm11, xmm12992        movdqa  xmm8, xmmword ptr [rsp+0x100]993        paddd   xmm8, xmm13994        paddd   xmm9, xmm14995        pxor    xmm5, xmm10996        pxor    xmm6, xmm11997        pxor    xmm7, xmm8998        pxor    xmm4, xmm9999        movdqa  xmmword ptr [rsp+0x100], xmm81000        movdqa  xmm8, xmm51001        psrld   xmm8, 121002        pslld   xmm5, 201003        por     xmm5, xmm81004        movdqa  xmm8, xmm61005        psrld   xmm8, 121006        pslld   xmm6, 201007        por     xmm6, xmm81008        movdqa  xmm8, xmm71009        psrld   xmm8, 121010        pslld   xmm7, 201011        por     xmm7, xmm81012        movdqa  xmm8, xmm41013        psrld   xmm8, 121014        pslld   xmm4, 201015        por     xmm4, xmm81016        paddd   xmm0, xmmword ptr [rsp+0x20]1017        paddd   xmm1, xmmword ptr [rsp+0x30]1018        paddd   xmm2, xmmword ptr [rsp+0x10]1019        paddd   xmm3, xmmword ptr [rsp+0x40]1020        paddd   xmm0, xmm51021        paddd   xmm1, xmm61022        paddd   xmm2, xmm71023        paddd   xmm3, xmm41024        pxor    xmm15, xmm01025        pxor    xmm12, xmm11026        pxor    xmm13, xmm21027        pxor    xmm14, xmm31028        movdqa  xmm8, xmmword ptr [ROT8+rip]1029        pshufb  xmm15, xmm81030        pshufb  xmm12, xmm81031        pshufb  xmm13, xmm81032        pshufb  xmm14, xmm81033        paddd   xmm10, xmm151034        paddd   xmm11, xmm121035        movdqa  xmm8, xmmword ptr [rsp+0x100]1036        paddd   xmm8, xmm131037        paddd   xmm9, xmm141038        pxor    xmm5, xmm101039        pxor    xmm6, xmm111040        pxor    xmm7, xmm81041        pxor    xmm4, xmm91042        movdqa  xmmword ptr [rsp+0x100], xmm81043        movdqa  xmm8, xmm51044        psrld   xmm8, 71045        pslld   xmm5, 251046        por     xmm5, xmm81047        movdqa  xmm8, xmm61048        psrld   xmm8, 71049        pslld   xmm6, 251050        por     xmm6, xmm81051        movdqa  xmm8, xmm71052        psrld   xmm8, 71053        pslld   xmm7, 251054        por     xmm7, xmm81055        movdqa  xmm8, xmm41056        psrld   xmm8, 71057        pslld   xmm4, 251058        por     xmm4, xmm81059        paddd   xmm0, xmmword ptr [rsp+0x90]1060        paddd   xmm1, xmmword ptr [rsp+0xB0]1061        paddd   xmm2, xmmword ptr [rsp+0x80]1062        paddd   xmm3, xmmword ptr [rsp+0xF0]1063        paddd   xmm0, xmm41064        paddd   xmm1, xmm51065        paddd   xmm2, xmm61066        paddd   xmm3, xmm71067        pxor    xmm12, xmm01068        pxor    xmm13, xmm11069        pxor    xmm14, xmm21070        pxor    xmm15, xmm31071        movdqa  xmm8, xmmword ptr [ROT16+rip]1072        pshufb  xmm12, xmm81073        pshufb  xmm13, xmm81074        pshufb  xmm14, xmm81075        pshufb  xmm15, xmm81076        movdqa  xmm8, xmmword ptr [rsp+0x100]1077        paddd   xmm8, xmm121078        paddd   xmm9, xmm131079        paddd   xmm10, xmm141080        paddd   xmm11, xmm151081        pxor    xmm4, xmm81082        pxor    xmm5, xmm91083        pxor    xmm6, xmm101084        pxor    xmm7, xmm111085        movdqa  xmmword ptr [rsp+0x100], xmm81086        movdqa  xmm8, xmm41087        psrld   xmm8, 121088        pslld   xmm4, 201089        por     xmm4, xmm81090        movdqa  xmm8, xmm51091        psrld   xmm8, 121092        pslld   xmm5, 201093        por     xmm5, xmm81094        movdqa  xmm8, xmm61095        psrld   xmm8, 121096        pslld   xmm6, 201097        por     xmm6, xmm81098        movdqa  xmm8, xmm71099        psrld   xmm8, 121100        pslld   xmm7, 201101        por     xmm7, xmm81102        paddd   xmm0, xmmword ptr [rsp+0xE0]1103        paddd   xmm1, xmmword ptr [rsp+0x50]1104        paddd   xmm2, xmmword ptr [rsp+0xC0]1105        paddd   xmm3, xmmword ptr [rsp+0x10]1106        paddd   xmm0, xmm41107        paddd   xmm1, xmm51108        paddd   xmm2, xmm61109        paddd   xmm3, xmm71110        pxor    xmm12, xmm01111        pxor    xmm13, xmm11112        pxor    xmm14, xmm21113        pxor    xmm15, xmm31114        movdqa  xmm8, xmmword ptr [ROT8+rip]1115        pshufb  xmm12, xmm81116        pshufb  xmm13, xmm81117        pshufb  xmm14, xmm81118        pshufb  xmm15, xmm81119        movdqa  xmm8, xmmword ptr [rsp+0x100]1120        paddd   xmm8, xmm121121        paddd   xmm9, xmm131122        paddd   xmm10, xmm141123        paddd   xmm11, xmm151124        pxor    xmm4, xmm81125        pxor    xmm5, xmm91126        pxor    xmm6, xmm101127        pxor    xmm7, xmm111128        movdqa  xmmword ptr [rsp+0x100], xmm81129        movdqa  xmm8, xmm41130        psrld   xmm8, 71131        pslld   xmm4, 251132        por     xmm4, xmm81133        movdqa  xmm8, xmm51134        psrld   xmm8, 71135        pslld   xmm5, 251136        por     xmm5, xmm81137        movdqa  xmm8, xmm61138        psrld   xmm8, 71139        pslld   xmm6, 251140        por     xmm6, xmm81141        movdqa  xmm8, xmm71142        psrld   xmm8, 71143        pslld   xmm7, 251144        por     xmm7, xmm81145        paddd   xmm0, xmmword ptr [rsp+0xD0]1146        paddd   xmm1, xmmword ptr [rsp]1147        paddd   xmm2, xmmword ptr [rsp+0x20]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, xmmword ptr [ROT16+rip]1158        pshufb  xmm15, xmm81159        pshufb  xmm12, xmm81160        pshufb  xmm13, xmm81161        pshufb  xmm14, xmm81162        paddd   xmm10, xmm151163        paddd   xmm11, xmm121164        movdqa  xmm8, xmmword ptr [rsp+0x100]1165        paddd   xmm8, xmm131166        paddd   xmm9, xmm141167        pxor    xmm5, xmm101168        pxor    xmm6, xmm111169        pxor    xmm7, xmm81170        pxor    xmm4, xmm91171        movdqa  xmmword ptr [rsp+0x100], xmm81172        movdqa  xmm8, xmm51173        psrld   xmm8, 121174        pslld   xmm5, 201175        por     xmm5, xmm81176        movdqa  xmm8, xmm61177        psrld   xmm8, 121178        pslld   xmm6, 201179        por     xmm6, xmm81180        movdqa  xmm8, xmm71181        psrld   xmm8, 121182        pslld   xmm7, 201183        por     xmm7, xmm81184        movdqa  xmm8, xmm41185        psrld   xmm8, 121186        pslld   xmm4, 201187        por     xmm4, xmm81188        paddd   xmm0, xmmword ptr [rsp+0x30]1189        paddd   xmm1, xmmword ptr [rsp+0xA0]1190        paddd   xmm2, xmmword ptr [rsp+0x60]1191        paddd   xmm3, xmmword ptr [rsp+0x70]1192        paddd   xmm0, xmm51193        paddd   xmm1, xmm61194        paddd   xmm2, xmm71195        paddd   xmm3, xmm41196        pxor    xmm15, xmm01197        pxor    xmm12, xmm11198        pxor    xmm13, xmm21199        pxor    xmm14, xmm31200        movdqa  xmm8, xmmword ptr [ROT8+rip]1201        pshufb  xmm15, xmm81202        pshufb  xmm12, xmm81203        pshufb  xmm13, xmm81204        pshufb  xmm14, xmm81205        paddd   xmm10, xmm151206        paddd   xmm11, xmm121207        movdqa  xmm8, xmmword ptr [rsp+0x100]1208        paddd   xmm8, xmm131209        paddd   xmm9, xmm141210        pxor    xmm5, xmm101211        pxor    xmm6, xmm111212        pxor    xmm7, xmm81213        pxor    xmm4, xmm91214        movdqa  xmmword ptr [rsp+0x100], xmm81215        movdqa  xmm8, xmm51216        psrld   xmm8, 71217        pslld   xmm5, 251218        por     xmm5, xmm81219        movdqa  xmm8, xmm61220        psrld   xmm8, 71221        pslld   xmm6, 251222        por     xmm6, xmm81223        movdqa  xmm8, xmm71224        psrld   xmm8, 71225        pslld   xmm7, 251226        por     xmm7, xmm81227        movdqa  xmm8, xmm41228        psrld   xmm8, 71229        pslld   xmm4, 251230        por     xmm4, xmm81231        paddd   xmm0, xmmword ptr [rsp+0xB0]1232        paddd   xmm1, xmmword ptr [rsp+0x50]1233        paddd   xmm2, xmmword ptr [rsp+0x10]1234        paddd   xmm3, xmmword ptr [rsp+0x80]1235        paddd   xmm0, xmm41236        paddd   xmm1, xmm51237        paddd   xmm2, xmm61238        paddd   xmm3, xmm71239        pxor    xmm12, xmm01240        pxor    xmm13, xmm11241        pxor    xmm14, xmm21242        pxor    xmm15, xmm31243        movdqa  xmm8, xmmword ptr [ROT16+rip]1244        pshufb  xmm12, xmm81245        pshufb  xmm13, xmm81246        pshufb  xmm14, xmm81247        pshufb  xmm15, xmm81248        movdqa  xmm8, xmmword ptr [rsp+0x100]1249        paddd   xmm8, xmm121250        paddd   xmm9, xmm131251        paddd   xmm10, xmm141252        paddd   xmm11, xmm151253        pxor    xmm4, xmm81254        pxor    xmm5, xmm91255        pxor    xmm6, xmm101256        pxor    xmm7, xmm111257        movdqa  xmmword ptr [rsp+0x100], xmm81258        movdqa  xmm8, xmm41259        psrld   xmm8, 121260        pslld   xmm4, 201261        por     xmm4, xmm81262        movdqa  xmm8, xmm51263        psrld   xmm8, 121264        pslld   xmm5, 201265        por     xmm5, xmm81266        movdqa  xmm8, xmm61267        psrld   xmm8, 121268        pslld   xmm6, 201269        por     xmm6, xmm81270        movdqa  xmm8, xmm71271        psrld   xmm8, 121272        pslld   xmm7, 201273        por     xmm7, xmm81274        paddd   xmm0, xmmword ptr [rsp+0xF0]1275        paddd   xmm1, xmmword ptr [rsp]1276        paddd   xmm2, xmmword ptr [rsp+0x90]1277        paddd   xmm3, xmmword ptr [rsp+0x60]1278        paddd   xmm0, xmm41279        paddd   xmm1, xmm51280        paddd   xmm2, xmm61281        paddd   xmm3, xmm71282        pxor    xmm12, xmm01283        pxor    xmm13, xmm11284        pxor    xmm14, xmm21285        pxor    xmm15, xmm31286        movdqa  xmm8, xmmword ptr [ROT8+rip]1287        pshufb  xmm12, xmm81288        pshufb  xmm13, xmm81289        pshufb  xmm14, xmm81290        pshufb  xmm15, xmm81291        movdqa  xmm8, xmmword ptr [rsp+0x100]1292        paddd   xmm8, xmm121293        paddd   xmm9, xmm131294        paddd   xmm10, xmm141295        paddd   xmm11, xmm151296        pxor    xmm4, xmm81297        pxor    xmm5, xmm91298        pxor    xmm6, xmm101299        pxor    xmm7, xmm111300        movdqa  xmmword ptr [rsp+0x100], xmm81301        movdqa  xmm8, xmm41302        psrld   xmm8, 71303        pslld   xmm4, 251304        por     xmm4, xmm81305        movdqa  xmm8, xmm51306        psrld   xmm8, 71307        pslld   xmm5, 251308        por     xmm5, xmm81309        movdqa  xmm8, xmm61310        psrld   xmm8, 71311        pslld   xmm6, 251312        por     xmm6, xmm81313        movdqa  xmm8, xmm71314        psrld   xmm8, 71315        pslld   xmm7, 251316        por     xmm7, xmm81317        paddd   xmm0, xmmword ptr [rsp+0xE0]1318        paddd   xmm1, xmmword ptr [rsp+0x20]1319        paddd   xmm2, xmmword ptr [rsp+0x30]1320        paddd   xmm3, xmmword ptr [rsp+0x70]1321        paddd   xmm0, xmm51322        paddd   xmm1, xmm61323        paddd   xmm2, xmm71324        paddd   xmm3, xmm41325        pxor    xmm15, xmm01326        pxor    xmm12, xmm11327        pxor    xmm13, xmm21328        pxor    xmm14, xmm31329        movdqa  xmm8, xmmword ptr [ROT16+rip]1330        pshufb  xmm15, xmm81331        pshufb  xmm12, xmm81332        pshufb  xmm13, xmm81333        pshufb  xmm14, xmm81334        paddd   xmm10, xmm151335        paddd   xmm11, xmm121336        movdqa  xmm8, xmmword ptr [rsp+0x100]1337        paddd   xmm8, xmm131338        paddd   xmm9, xmm141339        pxor    xmm5, xmm101340        pxor    xmm6, xmm111341        pxor    xmm7, xmm81342        pxor    xmm4, xmm91343        movdqa  xmmword ptr [rsp+0x100], xmm81344        movdqa  xmm8, xmm51345        psrld   xmm8, 121346        pslld   xmm5, 201347        por     xmm5, xmm81348        movdqa  xmm8, xmm61349        psrld   xmm8, 121350        pslld   xmm6, 201351        por     xmm6, xmm81352        movdqa  xmm8, xmm71353        psrld   xmm8, 121354        pslld   xmm7, 201355        por     xmm7, xmm81356        movdqa  xmm8, xmm41357        psrld   xmm8, 121358        pslld   xmm4, 201359        por     xmm4, xmm81360        paddd   xmm0, xmmword ptr [rsp+0xA0]1361        paddd   xmm1, xmmword ptr [rsp+0xC0]1362        paddd   xmm2, xmmword ptr [rsp+0x40]1363        paddd   xmm3, xmmword ptr [rsp+0xD0]1364        paddd   xmm0, xmm51365        paddd   xmm1, xmm61366        paddd   xmm2, xmm71367        paddd   xmm3, xmm41368        pxor    xmm15, xmm01369        pxor    xmm12, xmm11370        pxor    xmm13, xmm21371        pxor    xmm14, xmm31372        movdqa  xmm8, xmmword ptr [ROT8+rip]1373        pshufb  xmm15, xmm81374        pshufb  xmm12, xmm81375        pshufb  xmm13, xmm81376        pshufb  xmm14, xmm81377        paddd   xmm10, xmm151378        paddd   xmm11, xmm121379        movdqa  xmm8, xmmword ptr [rsp+0x100]1380        paddd   xmm8, xmm131381        paddd   xmm9, xmm141382        pxor    xmm5, xmm101383        pxor    xmm6, xmm111384        pxor    xmm7, xmm81385        pxor    xmm4, xmm91386        pxor    xmm0, xmm81387        pxor    xmm1, xmm91388        pxor    xmm2, xmm101389        pxor    xmm3, xmm111390        movdqa  xmm8, xmm51391        psrld   xmm8, 71392        pslld   xmm5, 251393        por     xmm5, xmm81394        movdqa  xmm8, xmm61395        psrld   xmm8, 71396        pslld   xmm6, 251397        por     xmm6, xmm81398        movdqa  xmm8, xmm71399        psrld   xmm8, 71400        pslld   xmm7, 251401        por     xmm7, xmm81402        movdqa  xmm8, xmm41403        psrld   xmm8, 71404        pslld   xmm4, 251405        por     xmm4, xmm81406        pxor    xmm4, xmm121407        pxor    xmm5, xmm131408        pxor    xmm6, xmm141409        pxor    xmm7, xmm151410        mov     eax, r13d1411        jne     9b1412        movdqa  xmm9, xmm01413        punpckldq xmm0, xmm11414        punpckhdq xmm9, xmm11415        movdqa  xmm11, xmm21416        punpckldq xmm2, xmm31417        punpckhdq xmm11, xmm31418        movdqa  xmm1, xmm01419        punpcklqdq xmm0, xmm21420        punpckhqdq xmm1, xmm21421        movdqa  xmm3, xmm91422        punpcklqdq xmm9, xmm111423        punpckhqdq xmm3, xmm111424        movdqu  xmmword ptr [rbx], xmm01425        movdqu  xmmword ptr [rbx+0x20], xmm11426        movdqu  xmmword ptr [rbx+0x40], xmm91427        movdqu  xmmword ptr [rbx+0x60], xmm31428        movdqa  xmm9, xmm41429        punpckldq xmm4, xmm51430        punpckhdq xmm9, xmm51431        movdqa  xmm11, xmm61432        punpckldq xmm6, xmm71433        punpckhdq xmm11, xmm71434        movdqa  xmm5, xmm41435        punpcklqdq xmm4, xmm61436        punpckhqdq xmm5, xmm61437        movdqa  xmm7, xmm91438        punpcklqdq xmm9, xmm111439        punpckhqdq xmm7, xmm111440        movdqu  xmmword ptr [rbx+0x10], xmm41441        movdqu  xmmword ptr [rbx+0x30], xmm51442        movdqu  xmmword ptr [rbx+0x50], xmm91443        movdqu  xmmword ptr [rbx+0x70], xmm71444        movdqa  xmm1, xmmword ptr [rsp+0x110]1445        movdqa  xmm0, xmm11446        paddd   xmm1, xmmword ptr [rsp+0x150]1447        movdqa  xmmword ptr [rsp+0x110], xmm11448        pxor    xmm0, xmmword ptr [CMP_MSB_MASK+rip]1449        pxor    xmm1, xmmword ptr [CMP_MSB_MASK+rip]1450        pcmpgtd xmm0, xmm11451        movdqa  xmm1, xmmword ptr [rsp+0x120]1452        psubd   xmm1, xmm01453        movdqa  xmmword ptr [rsp+0x120], xmm11454        add     rbx, 1281455        add     rdi, 321456        sub     rsi, 41457        cmp     rsi, 41458        jnc     2b1459        test    rsi, rsi1460        jnz     3f14614:1462        mov     rsp, rbp1463        pop     rbp1464        pop     rbx1465        pop     r121466        pop     r131467        pop     r141468        pop     r151469        ret1470.p2align 514713:1472        test    esi, 0x21473        je      3f1474        movups  xmm0, xmmword ptr [rcx]1475        movups  xmm1, xmmword ptr [rcx+0x10]1476        movaps  xmm8, xmm01477        movaps  xmm9, xmm11478        movd    xmm13, dword ptr [rsp+0x110]1479        pinsrd  xmm13, dword ptr [rsp+0x120], 11480        pinsrd  xmm13, dword ptr [BLAKE3_BLOCK_LEN+rip], 21481        movaps  xmmword ptr [rsp], xmm131482        movd    xmm14, dword ptr [rsp+0x114]1483        pinsrd  xmm14, dword ptr [rsp+0x124], 11484        pinsrd  xmm14, dword ptr [BLAKE3_BLOCK_LEN+rip], 21485        movaps  xmmword ptr [rsp+0x10], xmm141486        mov     r8, qword ptr [rdi]1487        mov     r9, qword ptr [rdi+0x8]1488        movzx   eax, byte ptr [rbp+0x40]1489        or      eax, r13d1490        xor     edx, edx14912:1492        mov     r14d, eax1493        or      eax, r12d1494        add     rdx, 641495        cmp     rdx, r151496        cmovne  eax, r14d1497        movaps  xmm2, xmmword ptr [BLAKE3_IV+rip]1498        movaps  xmm10, xmm21499        movups  xmm4, xmmword ptr [r8+rdx-0x40]1500        movups  xmm5, xmmword ptr [r8+rdx-0x30]1501        movaps  xmm3, xmm41502        shufps  xmm4, xmm5, 1361503        shufps  xmm3, xmm5, 2211504        movaps  xmm5, xmm31505        movups  xmm6, xmmword ptr [r8+rdx-0x20]1506        movups  xmm7, xmmword ptr [r8+rdx-0x10]1507        movaps  xmm3, xmm61508        shufps  xmm6, xmm7, 1361509        pshufd  xmm6, xmm6, 0x931510        shufps  xmm3, xmm7, 2211511        pshufd  xmm7, xmm3, 0x931512        movups  xmm12, xmmword ptr [r9+rdx-0x40]1513        movups  xmm13, xmmword ptr [r9+rdx-0x30]1514        movaps  xmm11, xmm121515        shufps  xmm12, xmm13, 1361516        shufps  xmm11, xmm13, 2211517        movaps  xmm13, xmm111518        movups  xmm14, xmmword ptr [r9+rdx-0x20]1519        movups  xmm15, xmmword ptr [r9+rdx-0x10]1520        movaps  xmm11, xmm141521        shufps  xmm14, xmm15, 1361522        pshufd  xmm14, xmm14, 0x931523        shufps  xmm11, xmm15, 2211524        pshufd  xmm15, xmm11, 0x931525        movaps  xmm3, xmmword ptr [rsp]1526        movaps  xmm11, xmmword ptr [rsp+0x10]1527        pinsrd  xmm3, eax, 31528        pinsrd  xmm11, eax, 31529        mov     al, 715309:1531        paddd   xmm0, xmm41532        paddd   xmm8, xmm121533        movaps  xmmword ptr [rsp+0x20], xmm41534        movaps  xmmword ptr [rsp+0x30], xmm121535        paddd   xmm0, xmm11536        paddd   xmm8, xmm91537        pxor    xmm3, xmm01538        pxor    xmm11, xmm81539        movaps  xmm12, xmmword ptr [ROT16+rip]1540        pshufb  xmm3, xmm121541        pshufb  xmm11, xmm121542        paddd   xmm2, xmm31543        paddd   xmm10, xmm111544        pxor    xmm1, xmm21545        pxor    xmm9, xmm101546        movdqa  xmm4, xmm11547        pslld   xmm1, 201548        psrld   xmm4, 121549        por     xmm1, xmm41550        movdqa  xmm4, xmm91551        pslld   xmm9, 201552        psrld   xmm4, 121553        por     xmm9, xmm41554        paddd   xmm0, xmm51555        paddd   xmm8, xmm131556        movaps  xmmword ptr [rsp+0x40], xmm51557        movaps  xmmword ptr [rsp+0x50], xmm131558        paddd   xmm0, xmm11559        paddd   xmm8, xmm91560        pxor    xmm3, xmm01561        pxor    xmm11, xmm81562        movaps  xmm13, xmmword ptr [ROT8+rip]1563        pshufb  xmm3, xmm131564        pshufb  xmm11, xmm131565        paddd   xmm2, xmm31566        paddd   xmm10, xmm111567        pxor    xmm1, xmm21568        pxor    xmm9, xmm101569        movdqa  xmm4, xmm11570        pslld   xmm1, 251571        psrld   xmm4, 71572        por     xmm1, xmm41573        movdqa  xmm4, xmm91574        pslld   xmm9, 251575        psrld   xmm4, 71576        por     xmm9, xmm41577        pshufd  xmm0, xmm0, 0x931578        pshufd  xmm8, xmm8, 0x931579        pshufd  xmm3, xmm3, 0x4E1580        pshufd  xmm11, xmm11, 0x4E1581        pshufd  xmm2, xmm2, 0x391582        pshufd  xmm10, xmm10, 0x391583        paddd   xmm0, xmm61584        paddd   xmm8, xmm141585        paddd   xmm0, xmm11586        paddd   xmm8, xmm91587        pxor    xmm3, xmm01588        pxor    xmm11, xmm81589        pshufb  xmm3, xmm121590        pshufb  xmm11, xmm121591        paddd   xmm2, xmm31592        paddd   xmm10, xmm111593        pxor    xmm1, xmm21594        pxor    xmm9, xmm101595        movdqa  xmm4, xmm11596        pslld   xmm1, 201597        psrld   xmm4, 121598        por     xmm1, xmm41599        movdqa  xmm4, xmm91600        pslld   xmm9, 201601        psrld   xmm4, 121602        por     xmm9, xmm41603        paddd   xmm0, xmm71604        paddd   xmm8, xmm151605        paddd   xmm0, xmm11606        paddd   xmm8, xmm91607        pxor    xmm3, xmm01608        pxor    xmm11, xmm81609        pshufb  xmm3, xmm131610        pshufb  xmm11, xmm131611        paddd   xmm2, xmm31612        paddd   xmm10, xmm111613        pxor    xmm1, xmm21614        pxor    xmm9, xmm101615        movdqa  xmm4, xmm11616        pslld   xmm1, 251617        psrld   xmm4, 71618        por     xmm1, xmm41619        movdqa  xmm4, xmm91620        pslld   xmm9, 251621        psrld   xmm4, 71622        por     xmm9, xmm41623        pshufd  xmm0, xmm0, 0x391624        pshufd  xmm8, xmm8, 0x391625        pshufd  xmm3, xmm3, 0x4E1626        pshufd  xmm11, xmm11, 0x4E1627        pshufd  xmm2, xmm2, 0x931628        pshufd  xmm10, xmm10, 0x931629        dec     al1630        je      9f1631        movdqa  xmm12, xmmword ptr [rsp+0x20]1632        movdqa  xmm5, xmmword ptr [rsp+0x40]1633        pshufd  xmm13, xmm12, 0x0F1634        shufps  xmm12, xmm5, 2141635        pshufd  xmm4, xmm12, 0x391636        movdqa  xmm12, xmm61637        shufps  xmm12, xmm7, 2501638        pblendw xmm13, xmm12, 0xCC1639        movdqa  xmm12, xmm71640        punpcklqdq xmm12, xmm51641        pblendw xmm12, xmm6, 0xC01642        pshufd  xmm12, xmm12, 0x781643        punpckhdq xmm5, xmm71644        punpckldq xmm6, xmm51645        pshufd  xmm7, xmm6, 0x1E1646        movdqa  xmmword ptr [rsp+0x20], xmm131647        movdqa  xmmword ptr [rsp+0x40], xmm121648        movdqa  xmm5, xmmword ptr [rsp+0x30]1649        movdqa  xmm13, xmmword ptr [rsp+0x50]1650        pshufd  xmm6, xmm5, 0x0F1651        shufps  xmm5, xmm13, 2141652        pshufd  xmm12, xmm5, 0x391653        movdqa  xmm5, xmm141654        shufps  xmm5, xmm15, 2501655        pblendw xmm6, xmm5, 0xCC1656        movdqa  xmm5, xmm151657        punpcklqdq xmm5, xmm131658        pblendw xmm5, xmm14, 0xC01659        pshufd  xmm5, xmm5, 0x781660        punpckhdq xmm13, xmm151661        punpckldq xmm14, xmm131662        pshufd  xmm15, xmm14, 0x1E1663        movdqa  xmm13, xmm61664        movdqa  xmm14, xmm51665        movdqa  xmm5, xmmword ptr [rsp+0x20]1666        movdqa  xmm6, xmmword ptr [rsp+0x40]1667        jmp     9b16689:1669        pxor    xmm0, xmm21670        pxor    xmm1, xmm31671        pxor    xmm8, xmm101672        pxor    xmm9, xmm111673        mov     eax, r13d1674        cmp     rdx, r151675        jne     2b1676        movups  xmmword ptr [rbx], xmm01677        movups  xmmword ptr [rbx+0x10], xmm11678        movups  xmmword ptr [rbx+0x20], xmm81679        movups  xmmword ptr [rbx+0x30], xmm91680        movdqa  xmm0, xmmword ptr [rsp+0x130]1681        movdqa  xmm1, xmmword ptr [rsp+0x110]1682        movdqa  xmm2, xmmword ptr [rsp+0x120]1683        movdqu  xmm3, xmmword ptr [rsp+0x118]1684        movdqu  xmm4, xmmword ptr [rsp+0x128]1685        blendvps xmm1, xmm3, xmm01686        blendvps xmm2, xmm4, xmm01687        movdqa  xmmword ptr [rsp+0x110], xmm11688        movdqa  xmmword ptr [rsp+0x120], xmm21689        add     rdi, 161690        add     rbx, 641691        sub     rsi, 216923:1693        test    esi, 0x11694        je      4b1695        movups  xmm0, xmmword ptr [rcx]1696        movups  xmm1, xmmword ptr [rcx+0x10]1697        movd    xmm13, dword ptr [rsp+0x110]1698        pinsrd  xmm13, dword ptr [rsp+0x120], 11699        pinsrd  xmm13, dword ptr [BLAKE3_BLOCK_LEN+rip], 21700        movaps  xmm14, xmmword ptr [ROT8+rip]1701        movaps  xmm15, xmmword ptr [ROT16+rip]1702        mov     r8, qword ptr [rdi]1703        movzx   eax, byte ptr [rbp+0x40]1704        or      eax, r13d1705        xor     edx, edx17062:1707        mov     r14d, eax1708        or      eax, r12d1709        add     rdx, 641710        cmp     rdx, r151711        cmovne  eax, r14d1712        movaps  xmm2, xmmword ptr [BLAKE3_IV+rip]1713        movaps  xmm3, xmm131714        pinsrd  xmm3, eax, 31715        movups  xmm4, xmmword ptr [r8+rdx-0x40]1716        movups  xmm5, xmmword ptr [r8+rdx-0x30]1717        movaps  xmm8, xmm41718        shufps  xmm4, xmm5, 1361719        shufps  xmm8, xmm5, 2211720        movaps  xmm5, xmm81721        movups  xmm6, xmmword ptr [r8+rdx-0x20]1722        movups  xmm7, xmmword ptr [r8+rdx-0x10]1723        movaps  xmm8, xmm61724        shufps  xmm6, xmm7, 1361725        pshufd  xmm6, xmm6, 0x931726        shufps  xmm8, xmm7, 2211727        pshufd  xmm7, xmm8, 0x931728        mov     al, 717299:1730        paddd   xmm0, xmm41731        paddd   xmm0, xmm11732        pxor    xmm3, xmm01733        pshufb  xmm3, xmm151734        paddd   xmm2, xmm31735        pxor    xmm1, xmm21736        movdqa  xmm11, xmm11737        pslld   xmm1, 201738        psrld   xmm11, 121739        por     xmm1, xmm111740        paddd   xmm0, xmm51741        paddd   xmm0, xmm11742        pxor    xmm3, xmm01743        pshufb  xmm3, xmm141744        paddd   xmm2, xmm31745        pxor    xmm1, xmm21746        movdqa  xmm11, xmm11747        pslld   xmm1, 251748        psrld   xmm11, 71749        por     xmm1, xmm111750        pshufd  xmm0, xmm0, 0x931751        pshufd  xmm3, xmm3, 0x4E1752        pshufd  xmm2, xmm2, 0x391753        paddd   xmm0, xmm61754        paddd   xmm0, xmm11755        pxor    xmm3, xmm01756        pshufb  xmm3, xmm151757        paddd   xmm2, xmm31758        pxor    xmm1, xmm21759        movdqa  xmm11, xmm11760        pslld   xmm1, 201761        psrld   xmm11, 121762        por     xmm1, xmm111763        paddd   xmm0, xmm71764        paddd   xmm0, xmm11765        pxor    xmm3, xmm01766        pshufb  xmm3, xmm141767        paddd   xmm2, xmm31768        pxor    xmm1, xmm21769        movdqa  xmm11, xmm11770        pslld   xmm1, 251771        psrld   xmm11, 71772        por     xmm1, xmm111773        pshufd  xmm0, xmm0, 0x391774        pshufd  xmm3, xmm3, 0x4E1775        pshufd  xmm2, xmm2, 0x931776        dec     al1777        jz      9f1778        movdqa  xmm8, xmm41779        shufps  xmm8, xmm5, 2141780        pshufd  xmm9, xmm4, 0x0F1781        pshufd  xmm4, xmm8, 0x391782        movdqa  xmm8, xmm61783        shufps  xmm8, xmm7, 2501784        pblendw xmm9, xmm8, 0xCC1785        movdqa  xmm8, xmm71786        punpcklqdq xmm8, xmm51787        pblendw xmm8, xmm6, 0xC01788        pshufd  xmm8, xmm8, 0x781789        punpckhdq xmm5, xmm71790        punpckldq xmm6, xmm51791        pshufd  xmm7, xmm6, 0x1E1792        movdqa  xmm5, xmm91793        movdqa  xmm6, xmm81794        jmp     9b17959:1796        pxor    xmm0, xmm21797        pxor    xmm1, xmm31798        mov     eax, r13d1799        cmp     rdx, r151800        jne     2b1801        movups  xmmword ptr [rbx], xmm01802        movups  xmmword ptr [rbx+0x10], xmm11803        jmp     4b1804 1805.p2align 61806blake3_compress_in_place_sse41:1807_blake3_compress_in_place_sse41:1808        _CET_ENDBR1809        movups  xmm0, xmmword ptr [rdi]1810        movups  xmm1, xmmword ptr [rdi+0x10]1811        movaps  xmm2, xmmword ptr [BLAKE3_IV+rip]1812        shl     r8, 321813        add     rdx, r81814        movq    xmm3, rcx1815        movq    xmm4, rdx1816        punpcklqdq xmm3, xmm41817        movups  xmm4, xmmword ptr [rsi]1818        movups  xmm5, xmmword ptr [rsi+0x10]1819        movaps  xmm8, xmm41820        shufps  xmm4, xmm5, 1361821        shufps  xmm8, xmm5, 2211822        movaps  xmm5, xmm81823        movups  xmm6, xmmword ptr [rsi+0x20]1824        movups  xmm7, xmmword ptr [rsi+0x30]1825        movaps  xmm8, xmm61826        shufps  xmm6, xmm7, 1361827        pshufd  xmm6, xmm6, 0x931828        shufps  xmm8, xmm7, 2211829        pshufd  xmm7, xmm8, 0x931830        movaps  xmm14, xmmword ptr [ROT8+rip]1831        movaps  xmm15, xmmword ptr [ROT16+rip]1832        mov     al, 718339:1834        paddd   xmm0, xmm41835        paddd   xmm0, xmm11836        pxor    xmm3, xmm01837        pshufb  xmm3, xmm151838        paddd   xmm2, xmm31839        pxor    xmm1, xmm21840        movdqa  xmm11, xmm11841        pslld   xmm1, 201842        psrld   xmm11, 121843        por     xmm1, xmm111844        paddd   xmm0, xmm51845        paddd   xmm0, xmm11846        pxor    xmm3, xmm01847        pshufb  xmm3, xmm141848        paddd   xmm2, xmm31849        pxor    xmm1, xmm21850        movdqa  xmm11, xmm11851        pslld   xmm1, 251852        psrld   xmm11, 71853        por     xmm1, xmm111854        pshufd  xmm0, xmm0, 0x931855        pshufd  xmm3, xmm3, 0x4E1856        pshufd  xmm2, xmm2, 0x391857        paddd   xmm0, xmm61858        paddd   xmm0, xmm11859        pxor    xmm3, xmm01860        pshufb  xmm3, xmm151861        paddd   xmm2, xmm31862        pxor    xmm1, xmm21863        movdqa  xmm11, xmm11864        pslld   xmm1, 201865        psrld   xmm11, 121866        por     xmm1, xmm111867        paddd   xmm0, xmm71868        paddd   xmm0, xmm11869        pxor    xmm3, xmm01870        pshufb  xmm3, xmm141871        paddd   xmm2, xmm31872        pxor    xmm1, xmm21873        movdqa  xmm11, xmm11874        pslld   xmm1, 251875        psrld   xmm11, 71876        por     xmm1, xmm111877        pshufd  xmm0, xmm0, 0x391878        pshufd  xmm3, xmm3, 0x4E1879        pshufd  xmm2, xmm2, 0x931880        dec     al1881        jz      9f1882        movdqa  xmm8, xmm41883        shufps  xmm8, xmm5, 2141884        pshufd  xmm9, xmm4, 0x0F1885        pshufd  xmm4, xmm8, 0x391886        movdqa  xmm8, xmm61887        shufps  xmm8, xmm7, 2501888        pblendw xmm9, xmm8, 0xCC1889        movdqa  xmm8, xmm71890        punpcklqdq xmm8, xmm51891        pblendw xmm8, xmm6, 0xC01892        pshufd  xmm8, xmm8, 0x781893        punpckhdq xmm5, xmm71894        punpckldq xmm6, xmm51895        pshufd  xmm7, xmm6, 0x1E1896        movdqa  xmm5, xmm91897        movdqa  xmm6, xmm81898        jmp     9b18999:1900        pxor    xmm0, xmm21901        pxor    xmm1, xmm31902        movups  xmmword ptr [rdi], xmm01903        movups  xmmword ptr [rdi+0x10], xmm11904        ret1905 1906.p2align 61907blake3_compress_xof_sse41:1908_blake3_compress_xof_sse41:1909        _CET_ENDBR1910        movups  xmm0, xmmword ptr [rdi]1911        movups  xmm1, xmmword ptr [rdi+0x10]1912        movaps  xmm2, xmmword ptr [BLAKE3_IV+rip]1913        movzx   eax, r8b1914        movzx   edx, dl1915        shl     rax, 321916        add     rdx, rax1917        movq    xmm3, rcx1918        movq    xmm4, rdx1919        punpcklqdq xmm3, xmm41920        movups  xmm4, xmmword ptr [rsi]1921        movups  xmm5, xmmword ptr [rsi+0x10]1922        movaps  xmm8, xmm41923        shufps  xmm4, xmm5, 1361924        shufps  xmm8, xmm5, 2211925        movaps  xmm5, xmm81926        movups  xmm6, xmmword ptr [rsi+0x20]1927        movups  xmm7, xmmword ptr [rsi+0x30]1928        movaps  xmm8, xmm61929        shufps  xmm6, xmm7, 1361930        pshufd  xmm6, xmm6, 0x931931        shufps  xmm8, xmm7, 2211932        pshufd  xmm7, xmm8, 0x931933        movaps  xmm14, xmmword ptr [ROT8+rip]1934        movaps  xmm15, xmmword ptr [ROT16+rip]1935        mov     al, 719369:1937        paddd   xmm0, xmm41938        paddd   xmm0, xmm11939        pxor    xmm3, xmm01940        pshufb  xmm3, xmm151941        paddd   xmm2, xmm31942        pxor    xmm1, xmm21943        movdqa  xmm11, xmm11944        pslld   xmm1, 201945        psrld   xmm11, 121946        por     xmm1, xmm111947        paddd   xmm0, xmm51948        paddd   xmm0, xmm11949        pxor    xmm3, xmm01950        pshufb  xmm3, xmm141951        paddd   xmm2, xmm31952        pxor    xmm1, xmm21953        movdqa  xmm11, xmm11954        pslld   xmm1, 251955        psrld   xmm11, 71956        por     xmm1, xmm111957        pshufd  xmm0, xmm0, 0x931958        pshufd  xmm3, xmm3, 0x4E1959        pshufd  xmm2, xmm2, 0x391960        paddd   xmm0, xmm61961        paddd   xmm0, xmm11962        pxor    xmm3, xmm01963        pshufb  xmm3, xmm151964        paddd   xmm2, xmm31965        pxor    xmm1, xmm21966        movdqa  xmm11, xmm11967        pslld   xmm1, 201968        psrld   xmm11, 121969        por     xmm1, xmm111970        paddd   xmm0, xmm71971        paddd   xmm0, xmm11972        pxor    xmm3, xmm01973        pshufb  xmm3, xmm141974        paddd   xmm2, xmm31975        pxor    xmm1, xmm21976        movdqa  xmm11, xmm11977        pslld   xmm1, 251978        psrld   xmm11, 71979        por     xmm1, xmm111980        pshufd  xmm0, xmm0, 0x391981        pshufd  xmm3, xmm3, 0x4E1982        pshufd  xmm2, xmm2, 0x931983        dec     al1984        jz      9f1985        movdqa  xmm8, xmm41986        shufps  xmm8, xmm5, 2141987        pshufd  xmm9, xmm4, 0x0F1988        pshufd  xmm4, xmm8, 0x391989        movdqa  xmm8, xmm61990        shufps  xmm8, xmm7, 2501991        pblendw xmm9, xmm8, 0xCC1992        movdqa  xmm8, xmm71993        punpcklqdq xmm8, xmm51994        pblendw xmm8, xmm6, 0xC01995        pshufd  xmm8, xmm8, 0x781996        punpckhdq xmm5, xmm71997        punpckldq xmm6, xmm51998        pshufd  xmm7, xmm6, 0x1E1999        movdqa  xmm5, xmm92000        movdqa  xmm6, xmm82001        jmp     9b20029:2003        movdqu  xmm4, xmmword ptr [rdi]2004        movdqu  xmm5, xmmword ptr [rdi+0x10]2005        pxor    xmm0, xmm22006        pxor    xmm1, xmm32007        pxor    xmm2, xmm42008        pxor    xmm3, xmm52009        movups  xmmword ptr [r9], xmm02010        movups  xmmword ptr [r9+0x10], xmm12011        movups  xmmword ptr [r9+0x20], xmm22012        movups  xmmword ptr [r9+0x30], xmm32013        ret2014 2015 2016#ifdef __APPLE__2017.static_data2018#else2019.section .rodata2020#endif2021.p2align  62022BLAKE3_IV:2023        .long  0x6A09E667, 0xBB67AE852024        .long  0x3C6EF372, 0xA54FF53A2025ROT16:2026        .byte  2, 3, 0, 1, 6, 7, 4, 5, 10, 11, 8, 9, 14, 15, 12, 132027ROT8:2028        .byte  1, 2, 3, 0, 5, 6, 7, 4, 9, 10, 11, 8, 13, 14, 15, 122029ADD0:	2030        .long  0, 1, 2, 32031ADD1:2032	.long  4, 4, 4, 42033BLAKE3_IV_0:2034	.long  0x6A09E667, 0x6A09E667, 0x6A09E667, 0x6A09E6672035BLAKE3_IV_1:2036	.long  0xBB67AE85, 0xBB67AE85, 0xBB67AE85, 0xBB67AE852037BLAKE3_IV_2:2038	.long  0x3C6EF372, 0x3C6EF372, 0x3C6EF372, 0x3C6EF3722039BLAKE3_IV_3:2040	.long  0xA54FF53A, 0xA54FF53A, 0xA54FF53A, 0xA54FF53A2041BLAKE3_BLOCK_LEN:2042	.long  64, 64, 64, 642043CMP_MSB_MASK:2044	.long  0x80000000, 0x80000000, 0x80000000, 0x800000002045 2046#endif2047