...

Text file src/github.com/apache/arrow/go/v15/parquet/internal/utils/bit_packing_avx2_amd64.s

Documentation: github.com/apache/arrow/go/v15/parquet/internal/utils

     1//+build !noasm !appengine
     2// AUTO-GENERATED BY C2GOASM -- DO NOT EDIT
     3
     4DATA LCDATA1<>+0x000(SB)/8, $0x7fffffff7fffffff
     5DATA LCDATA1<>+0x008(SB)/8, $0x3fffffff3fffffff
     6DATA LCDATA1<>+0x010(SB)/8, $0x1fffffff1fffffff
     7DATA LCDATA1<>+0x018(SB)/8, $0x0fffffff0fffffff
     8DATA LCDATA1<>+0x020(SB)/8, $0x07ffffff07ffffff
     9DATA LCDATA1<>+0x028(SB)/8, $0x03ffffff03ffffff
    10DATA LCDATA1<>+0x030(SB)/8, $0x0000000a00000010
    11DATA LCDATA1<>+0x038(SB)/8, $0x0000001600000010
    12DATA LCDATA1<>+0x040(SB)/8, $0x01ffffff01ffffff
    13DATA LCDATA1<>+0x048(SB)/8, $0x007fffff007fffff
    14DATA LCDATA1<>+0x050(SB)/8, $0x003fffff003fffff
    15DATA LCDATA1<>+0x058(SB)/8, $0x001fffff001fffff
    16DATA LCDATA1<>+0x060(SB)/8, $0x000fffff000fffff
    17DATA LCDATA1<>+0x068(SB)/8, $0x0007ffff0007ffff
    18DATA LCDATA1<>+0x070(SB)/8, $0x0003ffff0003ffff
    19DATA LCDATA1<>+0x078(SB)/8, $0x0001ffff0001ffff
    20DATA LCDATA1<>+0x080(SB)/8, $0x0000001000000000
    21DATA LCDATA1<>+0x088(SB)/8, $0x00007fff00007fff
    22DATA LCDATA1<>+0x090(SB)/8, $0x00003fff00003fff
    23DATA LCDATA1<>+0x098(SB)/8, $0x00001fff00001fff
    24DATA LCDATA1<>+0x0a0(SB)/8, $0x00000fff00000fff
    25DATA LCDATA1<>+0x0a8(SB)/8, $0x000007ff000007ff
    26DATA LCDATA1<>+0x0b0(SB)/8, $0x000003ff000003ff
    27DATA LCDATA1<>+0x0b8(SB)/8, $0x000001ff000001ff
    28DATA LCDATA1<>+0x0c0(SB)/8, $0x0000007f0000007f
    29DATA LCDATA1<>+0x0c8(SB)/8, $0x0000003f0000003f
    30DATA LCDATA1<>+0x0d0(SB)/8, $0x0000001f0000001f
    31DATA LCDATA1<>+0x0d8(SB)/8, $0x0000000f0000000f
    32DATA LCDATA1<>+0x0e0(SB)/8, $0x0000000700000007
    33DATA LCDATA1<>+0x0e8(SB)/8, $0x0000000300000003
    34DATA LCDATA1<>+0x0f0(SB)/8, $0x0000000100000001
    35DATA LCDATA1<>+0x0f8(SB)/8, $0x0000000000000000
    36DATA LCDATA1<>+0x100(SB)/8, $0x0000001700000018
    37DATA LCDATA1<>+0x108(SB)/8, $0x0000001500000016
    38DATA LCDATA1<>+0x110(SB)/8, $0x0000001300000014
    39DATA LCDATA1<>+0x118(SB)/8, $0x0000001100000012
    40DATA LCDATA1<>+0x120(SB)/8, $0x0000000900000008
    41DATA LCDATA1<>+0x128(SB)/8, $0x0000000b0000000a
    42DATA LCDATA1<>+0x130(SB)/8, $0x0000000d0000000c
    43DATA LCDATA1<>+0x138(SB)/8, $0x0000000f0000000e
    44DATA LCDATA1<>+0x140(SB)/8, $0x0000000f00000010
    45DATA LCDATA1<>+0x148(SB)/8, $0x0000000d0000000e
    46DATA LCDATA1<>+0x150(SB)/8, $0x0000000b0000000c
    47DATA LCDATA1<>+0x158(SB)/8, $0x000000090000000a
    48DATA LCDATA1<>+0x160(SB)/8, $0x0000001100000010
    49DATA LCDATA1<>+0x168(SB)/8, $0x0000001300000012
    50DATA LCDATA1<>+0x170(SB)/8, $0x0000001500000014
    51DATA LCDATA1<>+0x178(SB)/8, $0x0000001700000016
    52DATA LCDATA1<>+0x180(SB)/8, $0x0000000000000000
    53DATA LCDATA1<>+0x188(SB)/8, $0x0000000000000000
    54DATA LCDATA1<>+0x190(SB)/8, $0x0000000000000000
    55DATA LCDATA1<>+0x198(SB)/8, $0x0000000100000000
    56DATA LCDATA1<>+0x1a0(SB)/8, $0x0000000000000000
    57DATA LCDATA1<>+0x1a8(SB)/8, $0x0000000000000000
    58DATA LCDATA1<>+0x1b0(SB)/8, $0x0000000000000000
    59DATA LCDATA1<>+0x1b8(SB)/8, $0x0000000200000000
    60DATA LCDATA1<>+0x1c0(SB)/8, $0x0000000000000000
    61DATA LCDATA1<>+0x1c8(SB)/8, $0x0000000000000002
    62DATA LCDATA1<>+0x1d0(SB)/8, $0x0000000000000000
    63DATA LCDATA1<>+0x1d8(SB)/8, $0x0000000000000000
    64DATA LCDATA1<>+0x1e0(SB)/8, $0x0000000000000000
    65DATA LCDATA1<>+0x1e8(SB)/8, $0x0000000000000000
    66DATA LCDATA1<>+0x1f0(SB)/8, $0x0000000100000000
    67DATA LCDATA1<>+0x1f8(SB)/8, $0x0000000000000000
    68DATA LCDATA1<>+0x200(SB)/8, $0x0000000000000000
    69DATA LCDATA1<>+0x208(SB)/8, $0x0000000000000000
    70DATA LCDATA1<>+0x210(SB)/8, $0x0000000000000000
    71DATA LCDATA1<>+0x218(SB)/8, $0x0000000300000000
    72DATA LCDATA1<>+0x220(SB)/8, $0x0000000000000000
    73DATA LCDATA1<>+0x228(SB)/8, $0x0000000000000000
    74DATA LCDATA1<>+0x230(SB)/8, $0x0000000000000000
    75DATA LCDATA1<>+0x238(SB)/8, $0x0000000400000000
    76DATA LCDATA1<>+0x240(SB)/8, $0x0000000000000000
    77DATA LCDATA1<>+0x248(SB)/8, $0x0000000000000000
    78DATA LCDATA1<>+0x250(SB)/8, $0x0000000000000000
    79DATA LCDATA1<>+0x258(SB)/8, $0x0000000000000002
    80DATA LCDATA1<>+0x260(SB)/8, $0x0000000000000000
    81DATA LCDATA1<>+0x268(SB)/8, $0x0000000000000000
    82DATA LCDATA1<>+0x270(SB)/8, $0x0000000000000004
    83DATA LCDATA1<>+0x278(SB)/8, $0x0000000000000000
    84DATA LCDATA1<>+0x280(SB)/8, $0x0000000000000000
    85DATA LCDATA1<>+0x288(SB)/8, $0x0000000100000000
    86DATA LCDATA1<>+0x290(SB)/8, $0x0000000000000000
    87DATA LCDATA1<>+0x298(SB)/8, $0x0000000000000000
    88DATA LCDATA1<>+0x2a0(SB)/8, $0x0000000300000000
    89DATA LCDATA1<>+0x2a8(SB)/8, $0x0000000000000000
    90DATA LCDATA1<>+0x2b0(SB)/8, $0x0000000000000000
    91DATA LCDATA1<>+0x2b8(SB)/8, $0x0000000500000000
    92DATA LCDATA1<>+0x2c0(SB)/8, $0x0000000000000000
    93DATA LCDATA1<>+0x2c8(SB)/8, $0x0000000000000000
    94DATA LCDATA1<>+0x2d0(SB)/8, $0x0000000200000000
    95DATA LCDATA1<>+0x2d8(SB)/8, $0x0000000000000000
    96DATA LCDATA1<>+0x2e0(SB)/8, $0x0000000000000000
    97DATA LCDATA1<>+0x2e8(SB)/8, $0x0000000000000004
    98DATA LCDATA1<>+0x2f0(SB)/8, $0x0000000000000000
    99DATA LCDATA1<>+0x2f8(SB)/8, $0x0000000600000000
   100DATA LCDATA1<>+0x300(SB)/8, $0x0000000100000000
   101DATA LCDATA1<>+0x308(SB)/8, $0x0000000000000000
   102DATA LCDATA1<>+0x310(SB)/8, $0x0000000500000000
   103DATA LCDATA1<>+0x318(SB)/8, $0x0000000000000000
   104DATA LCDATA1<>+0x320(SB)/8, $0x0000000000000000
   105DATA LCDATA1<>+0x328(SB)/8, $0x0000000000000002
   106DATA LCDATA1<>+0x330(SB)/8, $0x0000000000000000
   107DATA LCDATA1<>+0x338(SB)/8, $0x0000000000000006
   108DATA LCDATA1<>+0x340(SB)/8, $0x0000000000000000
   109DATA LCDATA1<>+0x348(SB)/8, $0x0000000300000000
   110DATA LCDATA1<>+0x350(SB)/8, $0x0000000000000000
   111DATA LCDATA1<>+0x358(SB)/8, $0x0000000700000000
   112DATA LCDATA1<>+0x360(SB)/8, $0x0000000000000000
   113DATA LCDATA1<>+0x368(SB)/8, $0x0000000500000000
   114DATA LCDATA1<>+0x370(SB)/8, $0x0000000000000000
   115DATA LCDATA1<>+0x378(SB)/8, $0x0000000100000000
   116DATA LCDATA1<>+0x380(SB)/8, $0x0000000000000000
   117DATA LCDATA1<>+0x388(SB)/8, $0x0000000000000006
   118DATA LCDATA1<>+0x390(SB)/8, $0x0000000000000000
   119DATA LCDATA1<>+0x398(SB)/8, $0x0000000000000002
   120DATA LCDATA1<>+0x3a0(SB)/8, $0x0000000700000000
   121DATA LCDATA1<>+0x3a8(SB)/8, $0x0000000000000000
   122DATA LCDATA1<>+0x3b0(SB)/8, $0x0000000300000000
   123DATA LCDATA1<>+0x3b8(SB)/8, $0x0000000000000000
   124DATA LCDATA1<>+0x3c0(SB)/8, $0x0000000000000008
   125DATA LCDATA1<>+0x3c8(SB)/8, $0x0000000000000000
   126DATA LCDATA1<>+0x3d0(SB)/8, $0x0000000000000004
   127DATA LCDATA1<>+0x3d8(SB)/8, $0x0000000900000000
   128DATA LCDATA1<>+0x3e0(SB)/8, $0x0000000000000000
   129DATA LCDATA1<>+0x3e8(SB)/8, $0x0000000200000000
   130DATA LCDATA1<>+0x3f0(SB)/8, $0x0000000000000000
   131DATA LCDATA1<>+0x3f8(SB)/8, $0x0000000000000004
   132DATA LCDATA1<>+0x400(SB)/8, $0x0000000600000000
   133DATA LCDATA1<>+0x408(SB)/8, $0x0000000000000000
   134DATA LCDATA1<>+0x410(SB)/8, $0x0000000000000008
   135DATA LCDATA1<>+0x418(SB)/8, $0x0000000a00000000
   136DATA LCDATA1<>+0x420(SB)/8, $0x0000000000000000
   137DATA LCDATA1<>+0x428(SB)/8, $0x000000000000000a
   138DATA LCDATA1<>+0x430(SB)/8, $0x0000000900000000
   139DATA LCDATA1<>+0x438(SB)/8, $0x0000000000000000
   140DATA LCDATA1<>+0x440(SB)/8, $0x0000000000000008
   141DATA LCDATA1<>+0x448(SB)/8, $0x0000000700000000
   142DATA LCDATA1<>+0x450(SB)/8, $0x0000000000000000
   143DATA LCDATA1<>+0x458(SB)/8, $0x0000000000000006
   144DATA LCDATA1<>+0x460(SB)/8, $0x0000000500000000
   145DATA LCDATA1<>+0x468(SB)/8, $0x0000000000000000
   146DATA LCDATA1<>+0x470(SB)/8, $0x0000000000000004
   147DATA LCDATA1<>+0x478(SB)/8, $0x0000000300000000
   148DATA LCDATA1<>+0x480(SB)/8, $0x0000000000000000
   149DATA LCDATA1<>+0x488(SB)/8, $0x0000000000000002
   150DATA LCDATA1<>+0x490(SB)/8, $0x0000000100000000
   151DATA LCDATA1<>+0x498(SB)/8, $0x0000000b00000000
   152DATA LCDATA1<>+0x4a0(SB)/8, $0x0000000000000000
   153DATA LCDATA1<>+0x4a8(SB)/8, $0x0000000000000008
   154DATA LCDATA1<>+0x4b0(SB)/8, $0x0000000400000000
   155DATA LCDATA1<>+0x4b8(SB)/8, $0x0000000c00000000
   156DATA LCDATA1<>+0x4c0(SB)/8, $0x0000000000000000
   157DATA LCDATA1<>+0x4c8(SB)/8, $0x0000000000000006
   158DATA LCDATA1<>+0x4d0(SB)/8, $0x000000000000000c
   159DATA LCDATA1<>+0x4d8(SB)/8, $0x0000000500000000
   160DATA LCDATA1<>+0x4e0(SB)/8, $0x0000000b00000000
   161DATA LCDATA1<>+0x4e8(SB)/8, $0x0000000000000000
   162DATA LCDATA1<>+0x4f0(SB)/8, $0x0000000000000004
   163DATA LCDATA1<>+0x4f8(SB)/8, $0x000000000000000a
   164DATA LCDATA1<>+0x500(SB)/8, $0x0000000300000000
   165DATA LCDATA1<>+0x508(SB)/8, $0x0000000900000000
   166DATA LCDATA1<>+0x510(SB)/8, $0x0000000000000000
   167DATA LCDATA1<>+0x518(SB)/8, $0x0000000000000002
   168DATA LCDATA1<>+0x520(SB)/8, $0x0000000000000008
   169DATA LCDATA1<>+0x528(SB)/8, $0x0000000100000000
   170DATA LCDATA1<>+0x530(SB)/8, $0x0000000700000000
   171DATA LCDATA1<>+0x538(SB)/8, $0x0000000d00000000
   172DATA LCDATA1<>+0x540(SB)/8, $0x0000000000000000
   173DATA LCDATA1<>+0x548(SB)/8, $0x0000000000000004
   174DATA LCDATA1<>+0x550(SB)/8, $0x0000000000000008
   175DATA LCDATA1<>+0x558(SB)/8, $0x000000000000000c
   176DATA LCDATA1<>+0x560(SB)/8, $0x0000000200000000
   177DATA LCDATA1<>+0x568(SB)/8, $0x0000000600000000
   178DATA LCDATA1<>+0x570(SB)/8, $0x0000000a00000000
   179DATA LCDATA1<>+0x578(SB)/8, $0x0000000e00000000
   180DATA LCDATA1<>+0x580(SB)/8, $0x0000000000000000
   181DATA LCDATA1<>+0x588(SB)/8, $0x0000000000000002
   182DATA LCDATA1<>+0x590(SB)/8, $0x0000000000000004
   183DATA LCDATA1<>+0x598(SB)/8, $0x0000000000000006
   184DATA LCDATA1<>+0x5a0(SB)/8, $0x0000000000000008
   185DATA LCDATA1<>+0x5a8(SB)/8, $0x000000000000000a
   186DATA LCDATA1<>+0x5b0(SB)/8, $0x000000000000000c
   187DATA LCDATA1<>+0x5b8(SB)/8, $0x000000000000000e
   188DATA LCDATA1<>+0x5c0(SB)/8, $0x0000000100000000
   189DATA LCDATA1<>+0x5c8(SB)/8, $0x0000000300000000
   190DATA LCDATA1<>+0x5d0(SB)/8, $0x0000000500000000
   191DATA LCDATA1<>+0x5d8(SB)/8, $0x0000000700000000
   192DATA LCDATA1<>+0x5e0(SB)/8, $0x0000000900000000
   193DATA LCDATA1<>+0x5e8(SB)/8, $0x0000000b00000000
   194DATA LCDATA1<>+0x5f0(SB)/8, $0x0000000d00000000
   195DATA LCDATA1<>+0x5f8(SB)/8, $0x0000000f00000000
   196DATA LCDATA1<>+0x600(SB)/8, $0x0000000f00000000
   197DATA LCDATA1<>+0x608(SB)/8, $0x0000000d00000000
   198DATA LCDATA1<>+0x610(SB)/8, $0x0000000b00000000
   199DATA LCDATA1<>+0x618(SB)/8, $0x0000000900000000
   200DATA LCDATA1<>+0x620(SB)/8, $0x0000000700000000
   201DATA LCDATA1<>+0x628(SB)/8, $0x0000000500000000
   202DATA LCDATA1<>+0x630(SB)/8, $0x0000000300000000
   203DATA LCDATA1<>+0x638(SB)/8, $0x0000000100000000
   204DATA LCDATA1<>+0x640(SB)/8, $0x0000000000000010
   205DATA LCDATA1<>+0x648(SB)/8, $0x000000000000000e
   206DATA LCDATA1<>+0x650(SB)/8, $0x000000000000000c
   207DATA LCDATA1<>+0x658(SB)/8, $0x000000000000000a
   208DATA LCDATA1<>+0x660(SB)/8, $0x0000000000000008
   209DATA LCDATA1<>+0x668(SB)/8, $0x0000000000000006
   210DATA LCDATA1<>+0x670(SB)/8, $0x0000000000000004
   211DATA LCDATA1<>+0x678(SB)/8, $0x0000001100000002
   212DATA LCDATA1<>+0x680(SB)/8, $0x0000000e00000000
   213DATA LCDATA1<>+0x688(SB)/8, $0x0000000a00000000
   214DATA LCDATA1<>+0x690(SB)/8, $0x0000000600000000
   215DATA LCDATA1<>+0x698(SB)/8, $0x0000000200000000
   216DATA LCDATA1<>+0x6a0(SB)/8, $0x0000000000000010
   217DATA LCDATA1<>+0x6a8(SB)/8, $0x000000000000000c
   218DATA LCDATA1<>+0x6b0(SB)/8, $0x0000000000000008
   219DATA LCDATA1<>+0x6b8(SB)/8, $0x0000001200000004
   220DATA LCDATA1<>+0x6c0(SB)/8, $0x0000000d00000000
   221DATA LCDATA1<>+0x6c8(SB)/8, $0x0000000700000000
   222DATA LCDATA1<>+0x6d0(SB)/8, $0x0000000100000000
   223DATA LCDATA1<>+0x6d8(SB)/8, $0x000000000000000e
   224DATA LCDATA1<>+0x6e0(SB)/8, $0x0000000000000008
   225DATA LCDATA1<>+0x6e8(SB)/8, $0x0000000f00000002
   226DATA LCDATA1<>+0x6f0(SB)/8, $0x0000000900000000
   227DATA LCDATA1<>+0x6f8(SB)/8, $0x0000000300000000
   228DATA LCDATA1<>+0x700(SB)/8, $0x0000000000000010
   229DATA LCDATA1<>+0x708(SB)/8, $0x000000000000000a
   230DATA LCDATA1<>+0x710(SB)/8, $0x0000001100000004
   231DATA LCDATA1<>+0x718(SB)/8, $0x0000000b00000000
   232DATA LCDATA1<>+0x720(SB)/8, $0x0000000500000000
   233DATA LCDATA1<>+0x728(SB)/8, $0x0000000000000012
   234DATA LCDATA1<>+0x730(SB)/8, $0x000000000000000c
   235DATA LCDATA1<>+0x738(SB)/8, $0x0000001300000006
   236DATA LCDATA1<>+0x740(SB)/8, $0x0000000c00000000
   237DATA LCDATA1<>+0x748(SB)/8, $0x0000000400000000
   238DATA LCDATA1<>+0x750(SB)/8, $0x0000000000000010
   239DATA LCDATA1<>+0x758(SB)/8, $0x0000001400000008
   240DATA LCDATA1<>+0x760(SB)/8, $0x0000000b00000000
   241DATA LCDATA1<>+0x768(SB)/8, $0x0000000100000000
   242DATA LCDATA1<>+0x770(SB)/8, $0x000000000000000c
   243DATA LCDATA1<>+0x778(SB)/8, $0x0000000d00000002
   244DATA LCDATA1<>+0x780(SB)/8, $0x0000000300000000
   245DATA LCDATA1<>+0x788(SB)/8, $0x000000000000000e
   246DATA LCDATA1<>+0x790(SB)/8, $0x0000000f00000004
   247DATA LCDATA1<>+0x798(SB)/8, $0x0000000500000000
   248DATA LCDATA1<>+0x7a0(SB)/8, $0x0000000000000010
   249DATA LCDATA1<>+0x7a8(SB)/8, $0x0000001100000006
   250DATA LCDATA1<>+0x7b0(SB)/8, $0x0000000700000000
   251DATA LCDATA1<>+0x7b8(SB)/8, $0x0000000000000012
   252DATA LCDATA1<>+0x7c0(SB)/8, $0x0000001300000008
   253DATA LCDATA1<>+0x7c8(SB)/8, $0x0000000900000000
   254DATA LCDATA1<>+0x7d0(SB)/8, $0x0000000000000014
   255DATA LCDATA1<>+0x7d8(SB)/8, $0x000000150000000a
   256DATA LCDATA1<>+0x7e0(SB)/8, $0x0000000a00000000
   257DATA LCDATA1<>+0x7e8(SB)/8, $0x0000000000000014
   258DATA LCDATA1<>+0x7f0(SB)/8, $0x0000001200000008
   259DATA LCDATA1<>+0x7f8(SB)/8, $0x0000000600000000
   260DATA LCDATA1<>+0x800(SB)/8, $0x0000000000000010
   261DATA LCDATA1<>+0x808(SB)/8, $0x0000000e00000004
   262DATA LCDATA1<>+0x810(SB)/8, $0x0000000200000000
   263DATA LCDATA1<>+0x818(SB)/8, $0x000000160000000c
   264DATA LCDATA1<>+0x820(SB)/8, $0x0000000900000000
   265DATA LCDATA1<>+0x828(SB)/8, $0x0000000000000012
   266DATA LCDATA1<>+0x830(SB)/8, $0x0000000d00000004
   267DATA LCDATA1<>+0x838(SB)/8, $0x0000000000000016
   268DATA LCDATA1<>+0x840(SB)/8, $0x0000001100000008
   269DATA LCDATA1<>+0x848(SB)/8, $0x0000000300000000
   270DATA LCDATA1<>+0x850(SB)/8, $0x000000150000000c
   271DATA LCDATA1<>+0x858(SB)/8, $0x0000000700000000
   272DATA LCDATA1<>+0x860(SB)/8, $0x0000000000000010
   273DATA LCDATA1<>+0x868(SB)/8, $0x0000000b00000002
   274DATA LCDATA1<>+0x870(SB)/8, $0x0000000000000014
   275DATA LCDATA1<>+0x878(SB)/8, $0x0000000f00000006
   276DATA LCDATA1<>+0x880(SB)/8, $0x0000000100000000
   277DATA LCDATA1<>+0x888(SB)/8, $0x000000130000000a
   278DATA LCDATA1<>+0x890(SB)/8, $0x0000000500000000
   279DATA LCDATA1<>+0x898(SB)/8, $0x000000170000000e
   280DATA LCDATA1<>+0x8a0(SB)/8, $0x0000000700000000
   281DATA LCDATA1<>+0x8a8(SB)/8, $0x000000150000000e
   282DATA LCDATA1<>+0x8b0(SB)/8, $0x0000000300000000
   283DATA LCDATA1<>+0x8b8(SB)/8, $0x000000110000000a
   284DATA LCDATA1<>+0x8c0(SB)/8, $0x0000000000000018
   285DATA LCDATA1<>+0x8c8(SB)/8, $0x0000000d00000006
   286DATA LCDATA1<>+0x8d0(SB)/8, $0x0000000000000014
   287DATA LCDATA1<>+0x8d8(SB)/8, $0x0000000900000002
   288DATA LCDATA1<>+0x8e0(SB)/8, $0x0000001700000010
   289DATA LCDATA1<>+0x8e8(SB)/8, $0x0000000500000000
   290DATA LCDATA1<>+0x8f0(SB)/8, $0x000000130000000c
   291DATA LCDATA1<>+0x8f8(SB)/8, $0x0000000100000000
   292DATA LCDATA1<>+0x900(SB)/8, $0x0000000f00000008
   293DATA LCDATA1<>+0x908(SB)/8, $0x0000000000000016
   294DATA LCDATA1<>+0x910(SB)/8, $0x0000000b00000004
   295DATA LCDATA1<>+0x918(SB)/8, $0x0000001900000012
   296DATA LCDATA1<>+0x920(SB)/8, $0x0000000600000000
   297DATA LCDATA1<>+0x928(SB)/8, $0x000000120000000c
   298DATA LCDATA1<>+0x930(SB)/8, $0x0000000000000018
   299DATA LCDATA1<>+0x938(SB)/8, $0x0000000a00000004
   300DATA LCDATA1<>+0x940(SB)/8, $0x0000001600000010
   301DATA LCDATA1<>+0x948(SB)/8, $0x0000000200000000
   302DATA LCDATA1<>+0x950(SB)/8, $0x0000000e00000008
   303DATA LCDATA1<>+0x958(SB)/8, $0x0000001a00000014
   304DATA LCDATA1<>+0x960(SB)/8, $0x0000000500000000
   305DATA LCDATA1<>+0x968(SB)/8, $0x0000000f0000000a
   306DATA LCDATA1<>+0x970(SB)/8, $0x0000001900000014
   307DATA LCDATA1<>+0x978(SB)/8, $0x0000000300000000
   308DATA LCDATA1<>+0x980(SB)/8, $0x0000000d00000008
   309DATA LCDATA1<>+0x988(SB)/8, $0x0000001700000012
   310DATA LCDATA1<>+0x990(SB)/8, $0x0000000100000000
   311DATA LCDATA1<>+0x998(SB)/8, $0x0000000b00000006
   312DATA LCDATA1<>+0x9a0(SB)/8, $0x0000001500000010
   313DATA LCDATA1<>+0x9a8(SB)/8, $0x000000000000001a
   314DATA LCDATA1<>+0x9b0(SB)/8, $0x0000000900000004
   315DATA LCDATA1<>+0x9b8(SB)/8, $0x000000130000000e
   316DATA LCDATA1<>+0x9c0(SB)/8, $0x0000000000000018
   317DATA LCDATA1<>+0x9c8(SB)/8, $0x0000000700000002
   318DATA LCDATA1<>+0x9d0(SB)/8, $0x000000110000000c
   319DATA LCDATA1<>+0x9d8(SB)/8, $0x0000001b00000016
   320DATA LCDATA1<>+0x9e0(SB)/8, $0x0000000400000000
   321DATA LCDATA1<>+0x9e8(SB)/8, $0x0000000c00000008
   322DATA LCDATA1<>+0x9f0(SB)/8, $0x0000001400000010
   323DATA LCDATA1<>+0x9f8(SB)/8, $0x0000001c00000018
   324DATA LCDATA1<>+0xa00(SB)/8, $0x0000000300000000
   325DATA LCDATA1<>+0xa08(SB)/8, $0x0000000900000006
   326DATA LCDATA1<>+0xa10(SB)/8, $0x0000000f0000000c
   327DATA LCDATA1<>+0xa18(SB)/8, $0x0000001500000012
   328DATA LCDATA1<>+0xa20(SB)/8, $0x0000001b00000018
   329DATA LCDATA1<>+0xa28(SB)/8, $0x0000000100000000
   330DATA LCDATA1<>+0xa30(SB)/8, $0x0000000700000004
   331DATA LCDATA1<>+0xa38(SB)/8, $0x0000000d0000000a
   332DATA LCDATA1<>+0xa40(SB)/8, $0x0000001300000010
   333DATA LCDATA1<>+0xa48(SB)/8, $0x0000001900000016
   334DATA LCDATA1<>+0xa50(SB)/8, $0x000000000000001c
   335DATA LCDATA1<>+0xa58(SB)/8, $0x0000000500000002
   336DATA LCDATA1<>+0xa60(SB)/8, $0x0000000b00000008
   337DATA LCDATA1<>+0xa68(SB)/8, $0x000000110000000e
   338DATA LCDATA1<>+0xa70(SB)/8, $0x0000001700000014
   339DATA LCDATA1<>+0xa78(SB)/8, $0x0000001d0000001a
   340DATA LCDATA1<>+0xa80(SB)/8, $0x0000000200000000
   341DATA LCDATA1<>+0xa88(SB)/8, $0x0000000600000004
   342DATA LCDATA1<>+0xa90(SB)/8, $0x0000000a00000008
   343DATA LCDATA1<>+0xa98(SB)/8, $0x0000000e0000000c
   344DATA LCDATA1<>+0xaa0(SB)/8, $0x0000001200000010
   345DATA LCDATA1<>+0xaa8(SB)/8, $0x0000001600000014
   346DATA LCDATA1<>+0xab0(SB)/8, $0x0000001a00000018
   347DATA LCDATA1<>+0xab8(SB)/8, $0x0000001e0000001c
   348DATA LCDATA1<>+0xac0(SB)/8, $0x0000000100000000
   349DATA LCDATA1<>+0xac8(SB)/8, $0x0000000300000002
   350DATA LCDATA1<>+0xad0(SB)/8, $0x0000000500000004
   351DATA LCDATA1<>+0xad8(SB)/8, $0x0000000700000006
   352DATA LCDATA1<>+0xae0(SB)/8, $0x0000001900000018
   353DATA LCDATA1<>+0xae8(SB)/8, $0x0000001b0000001a
   354DATA LCDATA1<>+0xaf0(SB)/8, $0x0000001d0000001c
   355DATA LCDATA1<>+0xaf8(SB)/8, $0x0000001f0000001e
   356DATA LCDATA1<>+0xb00(SB)/8, $0x0000000700000008
   357DATA LCDATA1<>+0xb08(SB)/8, $0x0000000500000006
   358DATA LCDATA1<>+0xb10(SB)/8, $0x0000001900000018
   359DATA LCDATA1<>+0xb18(SB)/8, $0x0000001b0000001a
   360DATA LCDATA1<>+0xb20(SB)/8, $0x0000000e00000010
   361DATA LCDATA1<>+0xb28(SB)/8, $0x0000000a0000000c
   362DATA LCDATA1<>+0xb30(SB)/8, $0x0000001200000010
   363DATA LCDATA1<>+0xb38(SB)/8, $0x0000001600000014
   364DATA LCDATA1<>+0xb40(SB)/8, $0x0000000500000008
   365DATA LCDATA1<>+0xb48(SB)/8, $0x0000000000000000
   366DATA LCDATA1<>+0xb50(SB)/8, $0x0000001b00000018
   367DATA LCDATA1<>+0xb58(SB)/8, $0x0000000000000000
   368DATA LCDATA1<>+0xb60(SB)/8, $0x0000000d00000010
   369DATA LCDATA1<>+0xb68(SB)/8, $0x000000070000000a
   370DATA LCDATA1<>+0xb70(SB)/8, $0x0000001300000010
   371DATA LCDATA1<>+0xb78(SB)/8, $0x0000001900000016
   372DATA LCDATA1<>+0xb80(SB)/8, $0x0000001500000018
   373DATA LCDATA1<>+0xb88(SB)/8, $0x0000000f00000012
   374DATA LCDATA1<>+0xb90(SB)/8, $0x0000000b00000008
   375DATA LCDATA1<>+0xb98(SB)/8, $0x000000110000000e
   376DATA LCDATA1<>+0xba0(SB)/8, $0x0000001300000018
   377DATA LCDATA1<>+0xba8(SB)/8, $0x000000090000000e
   378DATA LCDATA1<>+0xbb0(SB)/8, $0x0000000d00000008
   379DATA LCDATA1<>+0xbb8(SB)/8, $0x0000001700000012
   380DATA LCDATA1<>+0xbc0(SB)/8, $0x0000000b00000010
   381DATA LCDATA1<>+0xbc8(SB)/8, $0x0000000000000000
   382DATA LCDATA1<>+0xbd0(SB)/8, $0x0000001500000010
   383DATA LCDATA1<>+0xbd8(SB)/8, $0x0000000000000000
   384DATA LCDATA1<>+0xbe0(SB)/8, $0x0000000900000010
   385DATA LCDATA1<>+0xbe8(SB)/8, $0x0000000000000000
   386DATA LCDATA1<>+0xbf0(SB)/8, $0x0000001700000010
   387DATA LCDATA1<>+0xbf8(SB)/8, $0x0000000000000000
   388DATA LCDATA1<>+0xc00(SB)/8, $0x0000001100000018
   389DATA LCDATA1<>+0xc08(SB)/8, $0x0000000000000000
   390DATA LCDATA1<>+0xc10(SB)/8, $0x0000000f00000008
   391DATA LCDATA1<>+0xc18(SB)/8, $0x0000000000000000
   392DATA LCDATA1<>+0xc20(SB)/8, $0x0000000000000000
   393DATA LCDATA1<>+0xc28(SB)/8, $0x0000000800000000
   394DATA LCDATA1<>+0xc30(SB)/8, $0x0000000f00000018
   395DATA LCDATA1<>+0xc38(SB)/8, $0x0000000000000000
   396DATA LCDATA1<>+0xc40(SB)/8, $0x0000001100000008
   397DATA LCDATA1<>+0xc48(SB)/8, $0x0000000000000000
   398DATA LCDATA1<>+0xc50(SB)/8, $0x0000000d00000018
   399DATA LCDATA1<>+0xc58(SB)/8, $0x0000000000000000
   400DATA LCDATA1<>+0xc60(SB)/8, $0x0000001300000008
   401DATA LCDATA1<>+0xc68(SB)/8, $0x0000000000000000
   402DATA LCDATA1<>+0xc70(SB)/8, $0x0000000800000000
   403DATA LCDATA1<>+0xc78(SB)/8, $0x0000001800000010
   404DATA LCDATA1<>+0xc80(SB)/8, $0x000000ff00ffffff
   405GLOBL LCDATA1<>(SB), 8, $3208
   406
   407TEXT ·_unpack32_avx2(SB), $24-40
   408
   409	MOVQ in+0(FP), DI
   410	MOVQ out+8(FP), SI
   411	MOVQ batchSize+16(FP), DX
   412	MOVQ nbits+24(FP), CX
   413	MOVQ SP, BP
   414	ADDQ $16, SP
   415	ANDQ $-16, SP
   416	MOVQ BP, 0(SP)
   417	LEAQ LCDATA1<>(SB), BP
   418
   419	WORD $0x8949; BYTE $0xf7 // mov    r15, rsi
   420	WORD $0x8948; BYTE $0xfb // mov    rbx, rdi
   421	LONG $0x1f728d44         // lea    r14d, [rdx + 31]
   422	WORD $0xd285             // test    edx, edx
   423	LONG $0xf2490f44         // cmovns    r14d, edx
   424	LONG $0x05fec141         // sar    r14d, 5
   425	WORD $0xf983; BYTE $0x0f // cmp    ecx, 15
   426	JLE  LBB0_1
   427	WORD $0xf983; BYTE $0x17 // cmp    ecx, 23
   428	JLE  LBB0_49
   429	WORD $0xf983; BYTE $0x1b // cmp    ecx, 27
   430	JLE  LBB0_73
   431	WORD $0xf983; BYTE $0x1d // cmp    ecx, 29
   432	JLE  LBB0_85
   433	WORD $0xf983; BYTE $0x1e // cmp    ecx, 30
   434	JE   LBB0_99
   435	WORD $0xf983; BYTE $0x1f // cmp    ecx, 31
   436	JE   LBB0_96
   437	WORD $0xf983; BYTE $0x20 // cmp    ecx, 32
   438	JNE  LBB0_147
   439	WORD $0xfa83; BYTE $0x20 // cmp    edx, 32
   440	JL   LBB0_147
   441	WORD $0x8945; BYTE $0xf4 // mov    r12d, r14d
   442
   443LBB0_95:
   444	LONG $0x000080ba; BYTE $0x00 // mov    edx, 128
   445	WORD $0x894c; BYTE $0xff     // mov    rdi, r15
   446	WORD $0x8948; BYTE $0xde     // mov    rsi, rbx
   447	CALL clib·_memcpy(SB)
   448	LONG $0x80eb8348             // sub    rbx, -128
   449	LONG $0x80ef8349             // sub    r15, -128
   450	LONG $0xffc48349             // add    r12, -1
   451	JNE  LBB0_95
   452	JMP  LBB0_147
   453
   454LBB0_1:
   455	WORD $0xf983; BYTE $0x07             // cmp    ecx, 7
   456	JG   LBB0_25
   457	WORD $0xf983; BYTE $0x03             // cmp    ecx, 3
   458	JG   LBB0_14
   459	WORD $0xf983; BYTE $0x01             // cmp    ecx, 1
   460	JG   LBB0_9
   461	WORD $0xc985                         // test    ecx, ecx
   462	JE   LBB0_144
   463	WORD $0xf983; BYTE $0x01             // cmp    ecx, 1
   464	JNE  LBB0_147
   465	WORD $0xfa83; BYTE $0x20             // cmp    edx, 32
   466	JL   LBB0_147
   467	WORD $0x8944; BYTE $0xf0             // mov    eax, r14d
   468	LONG $0x60c78349                     // add    r15, 96
   469	WORD $0xc931                         // xor    ecx, ecx
   470	QUAD $0x0000f085597de2c4; BYTE $0x00 // vpbroadcastq    ymm0, qword 240[rbp] /* [rip + .LCPI0_135] */
   471	QUAD $0x00000ac08d6ffdc5             // vmovdqa    ymm1, yword 2752[rbp] /* [rip + .LCPI0_134] */
   472	QUAD $0x00000120956ffdc5             // vmovdqa    ymm2, yword 288[rbp] /* [rip + .LCPI0_2] */
   473	QUAD $0x000001609d6ffdc5             // vmovdqa    ymm3, yword 352[rbp] /* [rip + .LCPI0_4] */
   474	QUAD $0x00000ae0a56ffdc5             // vmovdqa    ymm4, yword 2784[rbp] /* [rip + .LCPI0_136] */
   475
   476LBB0_8:
   477	LONG $0x587de2c4; WORD $0x8b2c // vpbroadcastd    ymm5, dword [rbx + 4*rcx]
   478	LONG $0x4555e2c4; BYTE $0xe9   // vpsrlvd    ymm5, ymm5, ymm1
   479	LONG $0xe8dbd5c5               // vpand    ymm5, ymm5, ymm0
   480	LONG $0x7f7ec1c4; WORD $0xa06f // vmovdqu    yword [r15 - 96], ymm5
   481	LONG $0x587de2c4; WORD $0x8b2c // vpbroadcastd    ymm5, dword [rbx + 4*rcx]
   482	LONG $0x4555e2c4; BYTE $0xea   // vpsrlvd    ymm5, ymm5, ymm2
   483	LONG $0xe8dbd5c5               // vpand    ymm5, ymm5, ymm0
   484	LONG $0x7f7ec1c4; WORD $0xc06f // vmovdqu    yword [r15 - 64], ymm5
   485	LONG $0x587de2c4; WORD $0x8b2c // vpbroadcastd    ymm5, dword [rbx + 4*rcx]
   486	LONG $0x4555e2c4; BYTE $0xeb   // vpsrlvd    ymm5, ymm5, ymm3
   487	LONG $0xe8dbd5c5               // vpand    ymm5, ymm5, ymm0
   488	LONG $0x7f7ec1c4; WORD $0xe06f // vmovdqu    yword [r15 - 32], ymm5
   489	LONG $0x587de2c4; WORD $0x8b2c // vpbroadcastd    ymm5, dword [rbx + 4*rcx]
   490	LONG $0x4555e2c4; BYTE $0xec   // vpsrlvd    ymm5, ymm5, ymm4
   491	LONG $0xe8dbd5c5               // vpand    ymm5, ymm5, ymm0
   492	LONG $0x7f7ec1c4; BYTE $0x2f   // vmovdqu    yword [r15], ymm5
   493	LONG $0x01c18348               // add    rcx, 1
   494	LONG $0x80ef8349               // sub    r15, -128
   495	WORD $0x3948; BYTE $0xc8       // cmp    rax, rcx
   496	JNE  LBB0_8
   497	JMP  LBB0_147
   498
   499LBB0_49:
   500	WORD $0xf983; BYTE $0x13       // cmp    ecx, 19
   501	JG   LBB0_61
   502	WORD $0xf983; BYTE $0x11       // cmp    ecx, 17
   503	JG   LBB0_56
   504	WORD $0xf983; BYTE $0x10       // cmp    ecx, 16
   505	JE   LBB0_120
   506	WORD $0xf983; BYTE $0x11       // cmp    ecx, 17
   507	JNE  LBB0_147
   508	WORD $0xfa83; BYTE $0x20       // cmp    edx, 32
   509	JL   LBB0_147
   510	WORD $0x8945; BYTE $0xf0       // mov    r8d, r14d
   511	LONG $0x60c78349               // add    r15, 96
   512	LONG $0x40c38348               // add    rbx, 64
   513	LONG $0x597de2c4; WORD $0x7845 // vpbroadcastq    ymm0, qword 120[rbp] /* [rip + .LCPI0_76] */
   514	QUAD $0x000005808d6ffdc5       // vmovdqa    ymm1, yword 1408[rbp] /* [rip + .LCPI0_75] */
   515	QUAD $0x000005a0956ffdc5       // vmovdqa    ymm2, yword 1440[rbp] /* [rip + .LCPI0_77] */
   516	QUAD $0x000005c09d6ffdc5       // vmovdqa    ymm3, yword 1472[rbp] /* [rip + .LCPI0_78] */
   517	QUAD $0x000005e0a56ffdc5       // vmovdqa    ymm4, yword 1504[rbp] /* [rip + .LCPI0_79] */
   518
   519LBB0_55:
   520	WORD $0x4b8b; BYTE $0xcc       // mov    ecx, dword [rbx - 52]
   521	LONG $0xd0538b44               // mov    r10d, dword [rbx - 48]
   522	LONG $0xcaa40f41; BYTE $0x09   // shld    r10d, ecx, 9
   523	WORD $0x738b; BYTE $0xc8       // mov    esi, dword [rbx - 56]
   524	WORD $0xcf89                   // mov    edi, ecx
   525	LONG $0x0bf7a40f               // shld    edi, esi, 11
   526	LONG $0xc04b8b44               // mov    r9d, dword [rbx - 64]
   527	WORD $0x538b; BYTE $0xc4       // mov    edx, dword [rbx - 60]
   528	WORD $0xd089                   // mov    eax, edx
   529	LONG $0xc8a40f44; BYTE $0x0f   // shld    eax, r9d, 15
   530	LONG $0xee6ef9c5               // vmovd    xmm5, esi
   531	LONG $0x0dd6a40f               // shld    esi, edx, 13
   532	LONG $0x2251e3c4; WORD $0x01ef // vpinsrd    xmm5, xmm5, edi, 1
   533	LONG $0x2251e3c4; WORD $0x02e9 // vpinsrd    xmm5, xmm5, ecx, 2
   534	LONG $0x2251c3c4; WORD $0x03ea // vpinsrd    xmm5, xmm5, r10d, 3
   535	LONG $0x6e79c1c4; BYTE $0xf1   // vmovd    xmm6, r9d
   536	LONG $0x2249e3c4; WORD $0x01f0 // vpinsrd    xmm6, xmm6, eax, 1
   537	LONG $0x2249e3c4; WORD $0x02f2 // vpinsrd    xmm6, xmm6, edx, 2
   538	LONG $0x2249e3c4; WORD $0x03f6 // vpinsrd    xmm6, xmm6, esi, 3
   539	LONG $0x384de3c4; WORD $0x01ed // vinserti128    ymm5, ymm6, xmm5, 1
   540	LONG $0x4555e2c4; BYTE $0xe9   // vpsrlvd    ymm5, ymm5, ymm1
   541	LONG $0xe8dbd5c5               // vpand    ymm5, ymm5, ymm0
   542	LONG $0x7f7ec1c4; WORD $0xa06f // vmovdqu    yword [r15 - 96], ymm5
   543	WORD $0x438b; BYTE $0xdc       // mov    eax, dword [rbx - 36]
   544	LONG $0xe0538b44               // mov    r10d, dword [rbx - 32]
   545	LONG $0xc2a40f41; BYTE $0x01   // shld    r10d, eax, 1
   546	WORD $0x538b; BYTE $0xd8       // mov    edx, dword [rbx - 40]
   547	WORD $0xc689                   // mov    esi, eax
   548	LONG $0x03d6a40f               // shld    esi, edx, 3
   549	LONG $0xd04b8b44               // mov    r9d, dword [rbx - 48]
   550	WORD $0x4b8b; BYTE $0xd4       // mov    ecx, dword [rbx - 44]
   551	WORD $0xcf89                   // mov    edi, ecx
   552	LONG $0xcfa40f44; BYTE $0x07   // shld    edi, r9d, 7
   553	LONG $0xea6ef9c5               // vmovd    xmm5, edx
   554	LONG $0x05caa40f               // shld    edx, ecx, 5
   555	LONG $0x2251e3c4; WORD $0x01ee // vpinsrd    xmm5, xmm5, esi, 1
   556	LONG $0x2251e3c4; WORD $0x02e8 // vpinsrd    xmm5, xmm5, eax, 2
   557	LONG $0x2251c3c4; WORD $0x03ea // vpinsrd    xmm5, xmm5, r10d, 3
   558	LONG $0x6e79c1c4; BYTE $0xf1   // vmovd    xmm6, r9d
   559	LONG $0x2249e3c4; WORD $0x01f7 // vpinsrd    xmm6, xmm6, edi, 1
   560	LONG $0x2249e3c4; WORD $0x02f1 // vpinsrd    xmm6, xmm6, ecx, 2
   561	LONG $0x2249e3c4; WORD $0x03f2 // vpinsrd    xmm6, xmm6, edx, 3
   562	LONG $0x384de3c4; WORD $0x01ed // vinserti128    ymm5, ymm6, xmm5, 1
   563	LONG $0x4555e2c4; BYTE $0xea   // vpsrlvd    ymm5, ymm5, ymm2
   564	LONG $0xe8dbd5c5               // vpand    ymm5, ymm5, ymm0
   565	LONG $0x7f7ec1c4; WORD $0xc06f // vmovdqu    yword [r15 - 64], ymm5
   566	LONG $0xf04b8b44               // mov    r9d, dword [rbx - 16]
   567	LONG $0xec5b8b44               // mov    r11d, dword [rbx - 20]
   568	WORD $0x8944; BYTE $0xca       // mov    edx, r9d
   569	LONG $0xdaa40f44; BYTE $0x0a   // shld    edx, r11d, 10
   570	LONG $0xe8538b44               // mov    r10d, dword [rbx - 24]
   571	WORD $0x8944; BYTE $0xdf       // mov    edi, r11d
   572	LONG $0xd7a40f44; BYTE $0x0c   // shld    edi, r10d, 12
   573	WORD $0x438b; BYTE $0xe4       // mov    eax, dword [rbx - 28]
   574	WORD $0x8944; BYTE $0xd6       // mov    esi, r10d
   575	LONG $0x0ec6a40f               // shld    esi, eax, 14
   576	WORD $0x4b8b; BYTE $0xe0       // mov    ecx, dword [rbx - 32]
   577	LONG $0x10c1ac0f               // shrd    ecx, eax, 16
   578	LONG $0xef6ef9c5               // vmovd    xmm5, edi
   579	LONG $0x2251c3c4; WORD $0x01eb // vpinsrd    xmm5, xmm5, r11d, 1
   580	LONG $0x2251e3c4; WORD $0x02ea // vpinsrd    xmm5, xmm5, edx, 2
   581	LONG $0x2251c3c4; WORD $0x03e9 // vpinsrd    xmm5, xmm5, r9d, 3
   582	LONG $0xf16ef9c5               // vmovd    xmm6, ecx
   583	LONG $0x2249e3c4; WORD $0x01f0 // vpinsrd    xmm6, xmm6, eax, 1
   584	LONG $0x2249e3c4; WORD $0x02f6 // vpinsrd    xmm6, xmm6, esi, 2
   585	LONG $0x2249c3c4; WORD $0x03f2 // vpinsrd    xmm6, xmm6, r10d, 3
   586	LONG $0x384de3c4; WORD $0x01ed // vinserti128    ymm5, ymm6, xmm5, 1
   587	LONG $0x4555e2c4; BYTE $0xeb   // vpsrlvd    ymm5, ymm5, ymm3
   588	LONG $0xe8dbd5c5               // vpand    ymm5, ymm5, ymm0
   589	LONG $0x7f7ec1c4; WORD $0xe06f // vmovdqu    yword [r15 - 32], ymm5
   590	WORD $0x8b44; BYTE $0x0b       // mov    r9d, dword [rbx]
   591	LONG $0xfc5b8b44               // mov    r11d, dword [rbx - 4]
   592	WORD $0x8944; BYTE $0xca       // mov    edx, r9d
   593	LONG $0xdaa40f44; BYTE $0x02   // shld    edx, r11d, 2
   594	LONG $0xf8538b44               // mov    r10d, dword [rbx - 8]
   595	WORD $0x8944; BYTE $0xdf       // mov    edi, r11d
   596	LONG $0xd7a40f44; BYTE $0x04   // shld    edi, r10d, 4
   597	WORD $0x438b; BYTE $0xf0       // mov    eax, dword [rbx - 16]
   598	WORD $0x738b; BYTE $0xf4       // mov    esi, dword [rbx - 12]
   599	WORD $0x8944; BYTE $0xd1       // mov    ecx, r10d
   600	LONG $0x06f1a40f               // shld    ecx, esi, 6
   601	LONG $0x18f0ac0f               // shrd    eax, esi, 24
   602	LONG $0xef6ef9c5               // vmovd    xmm5, edi
   603	LONG $0x2251c3c4; WORD $0x01eb // vpinsrd    xmm5, xmm5, r11d, 1
   604	LONG $0x2251e3c4; WORD $0x02ea // vpinsrd    xmm5, xmm5, edx, 2
   605	LONG $0x2251c3c4; WORD $0x03e9 // vpinsrd    xmm5, xmm5, r9d, 3
   606	LONG $0xf06ef9c5               // vmovd    xmm6, eax
   607	LONG $0x2249e3c4; WORD $0x01f6 // vpinsrd    xmm6, xmm6, esi, 1
   608	LONG $0x2249e3c4; WORD $0x02f1 // vpinsrd    xmm6, xmm6, ecx, 2
   609	LONG $0x2249c3c4; WORD $0x03f2 // vpinsrd    xmm6, xmm6, r10d, 3
   610	LONG $0x384de3c4; WORD $0x01ed // vinserti128    ymm5, ymm6, xmm5, 1
   611	LONG $0x4555e2c4; BYTE $0xec   // vpsrlvd    ymm5, ymm5, ymm4
   612	LONG $0xe8dbd5c5               // vpand    ymm5, ymm5, ymm0
   613	LONG $0x7f7ec1c4; BYTE $0x2f   // vmovdqu    yword [r15], ymm5
   614	LONG $0x80ef8349               // sub    r15, -128
   615	LONG $0x44c38348               // add    rbx, 68
   616	LONG $0xffc08349               // add    r8, -1
   617	JNE  LBB0_55
   618	JMP  LBB0_147
   619
   620LBB0_25:
   621	WORD $0xf983; BYTE $0x0b             // cmp    ecx, 11
   622	JG   LBB0_37
   623	WORD $0xf983; BYTE $0x09             // cmp    ecx, 9
   624	JG   LBB0_32
   625	WORD $0xf983; BYTE $0x08             // cmp    ecx, 8
   626	JE   LBB0_132
   627	WORD $0xf983; BYTE $0x09             // cmp    ecx, 9
   628	JNE  LBB0_147
   629	WORD $0xfa83; BYTE $0x20             // cmp    edx, 32
   630	JL   LBB0_147
   631	WORD $0x8945; BYTE $0xf0             // mov    r8d, r14d
   632	LONG $0x60c78349                     // add    r15, 96
   633	LONG $0x20c38348                     // add    rbx, 32
   634	QUAD $0x0000b885597de2c4; BYTE $0x00 // vpbroadcastq    ymm0, qword 184[rbp] /* [rip + .LCPI0_105] */
   635	QUAD $0x000008208d6ffdc5             // vmovdqa    ymm1, yword 2080[rbp] /* [rip + .LCPI0_104] */
   636	QUAD $0x00000840956ffdc5             // vmovdqa    ymm2, yword 2112[rbp] /* [rip + .LCPI0_106] */
   637	QUAD $0x000008609d6ffdc5             // vmovdqa    ymm3, yword 2144[rbp] /* [rip + .LCPI0_107] */
   638	QUAD $0x00000880a56ffdc5             // vmovdqa    ymm4, yword 2176[rbp] /* [rip + .LCPI0_108] */
   639
   640LBB0_31:
   641	WORD $0x4b8b; BYTE $0xe0       // mov    ecx, dword [rbx - 32]
   642	WORD $0x538b; BYTE $0xe4       // mov    edx, dword [rbx - 28]
   643	WORD $0x738b; BYTE $0xe8       // mov    esi, dword [rbx - 24]
   644	LONG $0x01d6a40f               // shld    esi, edx, 1
   645	LONG $0xea6ef9c5               // vmovd    xmm5, edx
   646	LONG $0x2251e3c4; WORD $0x01ea // vpinsrd    xmm5, xmm5, edx, 1
   647	LONG $0x2251e3c4; WORD $0x02ea // vpinsrd    xmm5, xmm5, edx, 2
   648	LONG $0x05caa40f               // shld    edx, ecx, 5
   649	LONG $0x2251e3c4; WORD $0x03ee // vpinsrd    xmm5, xmm5, esi, 3
   650	LONG $0xf16ef9c5               // vmovd    xmm6, ecx
   651	LONG $0x2249e3c4; WORD $0x01f1 // vpinsrd    xmm6, xmm6, ecx, 1
   652	LONG $0x2249e3c4; WORD $0x02f1 // vpinsrd    xmm6, xmm6, ecx, 2
   653	LONG $0x2249e3c4; WORD $0x03f2 // vpinsrd    xmm6, xmm6, edx, 3
   654	LONG $0x384de3c4; WORD $0x01ed // vinserti128    ymm5, ymm6, xmm5, 1
   655	LONG $0x4555e2c4; BYTE $0xe9   // vpsrlvd    ymm5, ymm5, ymm1
   656	LONG $0xe8dbd5c5               // vpand    ymm5, ymm5, ymm0
   657	LONG $0x7f7ec1c4; WORD $0xa06f // vmovdqu    yword [r15 - 96], ymm5
   658	WORD $0x4b8b; BYTE $0xf0       // mov    ecx, dword [rbx - 16]
   659	WORD $0x538b; BYTE $0xe8       // mov    edx, dword [rbx - 24]
   660	WORD $0x738b; BYTE $0xec       // mov    esi, dword [rbx - 20]
   661	WORD $0xcf89                   // mov    edi, ecx
   662	LONG $0x02f7a40f               // shld    edi, esi, 2
   663	WORD $0xf089                   // mov    eax, esi
   664	LONG $0x06d0a40f               // shld    eax, edx, 6
   665	LONG $0xee6ef9c5               // vmovd    xmm5, esi
   666	LONG $0x2251e3c4; WORD $0x01ee // vpinsrd    xmm5, xmm5, esi, 1
   667	LONG $0x2251e3c4; WORD $0x02ef // vpinsrd    xmm5, xmm5, edi, 2
   668	LONG $0x2251e3c4; WORD $0x03e9 // vpinsrd    xmm5, xmm5, ecx, 3
   669	LONG $0xf26ef9c5               // vmovd    xmm6, edx
   670	LONG $0x2249e3c4; WORD $0x01f2 // vpinsrd    xmm6, xmm6, edx, 1
   671	LONG $0x2249e3c4; WORD $0x02f0 // vpinsrd    xmm6, xmm6, eax, 2
   672	LONG $0x2249e3c4; WORD $0x03f6 // vpinsrd    xmm6, xmm6, esi, 3
   673	LONG $0x384de3c4; WORD $0x01ed // vinserti128    ymm5, ymm6, xmm5, 1
   674	LONG $0x4555e2c4; BYTE $0xea   // vpsrlvd    ymm5, ymm5, ymm2
   675	LONG $0xe8dbd5c5               // vpand    ymm5, ymm5, ymm0
   676	LONG $0x7f7ec1c4; WORD $0xc06f // vmovdqu    yword [r15 - 64], ymm5
   677	WORD $0x438b; BYTE $0xf8       // mov    eax, dword [rbx - 8]
   678	WORD $0x4b8b; BYTE $0xf0       // mov    ecx, dword [rbx - 16]
   679	WORD $0x538b; BYTE $0xf4       // mov    edx, dword [rbx - 12]
   680	WORD $0xc689                   // mov    esi, eax
   681	LONG $0x03d6a40f               // shld    esi, edx, 3
   682	WORD $0xd789                   // mov    edi, edx
   683	LONG $0x07cfa40f               // shld    edi, ecx, 7
   684	LONG $0xea6ef9c5               // vmovd    xmm5, edx
   685	LONG $0x2251e3c4; WORD $0x01ee // vpinsrd    xmm5, xmm5, esi, 1
   686	LONG $0x2251e3c4; WORD $0x02e8 // vpinsrd    xmm5, xmm5, eax, 2
   687	LONG $0x2251e3c4; WORD $0x03e8 // vpinsrd    xmm5, xmm5, eax, 3
   688	LONG $0xf16ef9c5               // vmovd    xmm6, ecx
   689	LONG $0x2249e3c4; WORD $0x01f7 // vpinsrd    xmm6, xmm6, edi, 1
   690	LONG $0x2249e3c4; WORD $0x02f2 // vpinsrd    xmm6, xmm6, edx, 2
   691	LONG $0x2249e3c4; WORD $0x03f2 // vpinsrd    xmm6, xmm6, edx, 3
   692	LONG $0x384de3c4; WORD $0x01ed // vinserti128    ymm5, ymm6, xmm5, 1
   693	LONG $0x4555e2c4; BYTE $0xeb   // vpsrlvd    ymm5, ymm5, ymm3
   694	LONG $0xe8dbd5c5               // vpand    ymm5, ymm5, ymm0
   695	LONG $0x7f7ec1c4; WORD $0xe06f // vmovdqu    yword [r15 - 32], ymm5
   696	WORD $0x038b                   // mov    eax, dword [rbx]
   697	WORD $0x4b8b; BYTE $0xf8       // mov    ecx, dword [rbx - 8]
   698	WORD $0x538b; BYTE $0xfc       // mov    edx, dword [rbx - 4]
   699	WORD $0xc689                   // mov    esi, eax
   700	LONG $0x04d6a40f               // shld    esi, edx, 4
   701	LONG $0x18d1ac0f               // shrd    ecx, edx, 24
   702	LONG $0xee6ef9c5               // vmovd    xmm5, esi
   703	LONG $0x2251e3c4; WORD $0x01e8 // vpinsrd    xmm5, xmm5, eax, 1
   704	LONG $0x2251e3c4; WORD $0x02e8 // vpinsrd    xmm5, xmm5, eax, 2
   705	LONG $0x2251e3c4; WORD $0x03e8 // vpinsrd    xmm5, xmm5, eax, 3
   706	LONG $0xf16ef9c5               // vmovd    xmm6, ecx
   707	LONG $0x2249e3c4; WORD $0x01f2 // vpinsrd    xmm6, xmm6, edx, 1
   708	LONG $0x2249e3c4; WORD $0x02f2 // vpinsrd    xmm6, xmm6, edx, 2
   709	LONG $0x2249e3c4; WORD $0x03f2 // vpinsrd    xmm6, xmm6, edx, 3
   710	LONG $0x384de3c4; WORD $0x01ed // vinserti128    ymm5, ymm6, xmm5, 1
   711	LONG $0x4555e2c4; BYTE $0xec   // vpsrlvd    ymm5, ymm5, ymm4
   712	LONG $0xe8dbd5c5               // vpand    ymm5, ymm5, ymm0
   713	LONG $0x7f7ec1c4; BYTE $0x2f   // vmovdqu    yword [r15], ymm5
   714	LONG $0x80ef8349               // sub    r15, -128
   715	LONG $0x24c38348               // add    rbx, 36
   716	LONG $0xffc08349               // add    r8, -1
   717	JNE  LBB0_31
   718	JMP  LBB0_147
   719
   720LBB0_73:
   721	WORD $0xf983; BYTE $0x19       // cmp    ecx, 25
   722	JG   LBB0_79
   723	WORD $0xf983; BYTE $0x18       // cmp    ecx, 24
   724	JE   LBB0_108
   725	WORD $0xf983; BYTE $0x19       // cmp    ecx, 25
   726	JNE  LBB0_147
   727	WORD $0xfa83; BYTE $0x20       // cmp    edx, 32
   728	JL   LBB0_147
   729	WORD $0x8945; BYTE $0xf0       // mov    r8d, r14d
   730	LONG $0x60c78349               // add    r15, 96
   731	LONG $0x60c38348               // add    rbx, 96
   732	LONG $0x597de2c4; WORD $0x4045 // vpbroadcastq    ymm0, qword 64[rbp] /* [rip + .LCPI0_38] */
   733	QUAD $0x000002608d6f7dc5       // vmovdqa    ymm9, yword 608[rbp] /* [rip + .LCPI0_28] */
   734	QUAD $0x00000300956f7dc5       // vmovdqa    ymm10, yword 768[rbp] /* [rip + .LCPI0_39] */
   735	QUAD $0x00000be09d6f79c5       // vmovdqa    xmm11, oword 3040[rbp] /* [rip + .LCPI0_40] */
   736	QUAD $0x00000bf0a56ff9c5       // vmovdqa    xmm4, oword 3056[rbp] /* [rip + .LCPI0_41] */
   737	QUAD $0x00000320ad6ffdc5       // vmovdqa    ymm5, yword 800[rbp] /* [rip + .LCPI0_42] */
   738	QUAD $0x00000c00b56ff9c5       // vmovdqa    xmm6, oword 3072[rbp] /* [rip + .LCPI0_43] */
   739	QUAD $0x00000c10bd6ff9c5       // vmovdqa    xmm7, oword 3088[rbp] /* [rip + .LCPI0_44] */
   740	QUAD $0x00000340856f7dc5       // vmovdqa    ymm8, yword 832[rbp] /* [rip + .LCPI0_45] */
   741
   742LBB0_78:
   743	WORD $0x4b8b; BYTE $0xb4       // mov    ecx, dword [rbx - 76]
   744	LONG $0xb84b8b44               // mov    r9d, dword [rbx - 72]
   745	LONG $0xc9a40f41; BYTE $0x11   // shld    r9d, ecx, 17
   746	WORD $0x738b; BYTE $0xb0       // mov    esi, dword [rbx - 80]
   747	LONG $0x0af1a40f               // shld    ecx, esi, 10
   748	WORD $0x7b8b; BYTE $0xac       // mov    edi, dword [rbx - 84]
   749	LONG $0x03fea40f               // shld    esi, edi, 3
   750	WORD $0x438b; BYTE $0xa8       // mov    eax, dword [rbx - 88]
   751	LONG $0xcf6ef9c5               // vmovd    xmm1, edi
   752	LONG $0x15c7a40f               // shld    edi, eax, 21
   753	LONG $0xa0538b44               // mov    r10d, dword [rbx - 96]
   754	WORD $0x538b; BYTE $0xa4       // mov    edx, dword [rbx - 92]
   755	LONG $0x0ed0a40f               // shld    eax, edx, 14
   756	LONG $0xd2a40f44; BYTE $0x07   // shld    edx, r10d, 7
   757	LONG $0x2271e3c4; WORD $0x01ce // vpinsrd    xmm1, xmm1, esi, 1
   758	LONG $0x6e79c1c4; BYTE $0xd2   // vmovd    xmm2, r10d
   759	LONG $0x2271e3c4; WORD $0x02c9 // vpinsrd    xmm1, xmm1, ecx, 2
   760	LONG $0x2269e3c4; WORD $0x01d2 // vpinsrd    xmm2, xmm2, edx, 1
   761	LONG $0x2271c3c4; WORD $0x03c9 // vpinsrd    xmm1, xmm1, r9d, 3
   762	LONG $0x2269e3c4; WORD $0x02d0 // vpinsrd    xmm2, xmm2, eax, 2
   763	LONG $0x2269e3c4; WORD $0x03d7 // vpinsrd    xmm2, xmm2, edi, 3
   764	LONG $0x386de3c4; WORD $0x01c9 // vinserti128    ymm1, ymm2, xmm1, 1
   765	LONG $0x4575c2c4; BYTE $0xc9   // vpsrlvd    ymm1, ymm1, ymm9
   766	LONG $0xc8dbf5c5               // vpand    ymm1, ymm1, ymm0
   767	LONG $0x7f7ec1c4; WORD $0xa04f // vmovdqu    yword [r15 - 96], ymm1
   768	LONG $0xcc5b8b44               // mov    r11d, dword [rbx - 52]
   769	LONG $0xd04b8b44               // mov    r9d, dword [rbx - 48]
   770	LONG $0xd9a40f45; BYTE $0x09   // shld    r9d, r11d, 9
   771	LONG $0xc8538b44               // mov    r10d, dword [rbx - 56]
   772	LONG $0xd3a40f45; BYTE $0x02   // shld    r11d, r10d, 2
   773	WORD $0x738b; BYTE $0xc4       // mov    esi, dword [rbx - 60]
   774	WORD $0x8944; BYTE $0xd7       // mov    edi, r10d
   775	WORD $0x4b8b; BYTE $0xc0       // mov    ecx, dword [rbx - 64]
   776	LONG $0x14f7a40f               // shld    edi, esi, 20
   777	WORD $0x538b; BYTE $0xb8       // mov    edx, dword [rbx - 72]
   778	WORD $0x438b; BYTE $0xbc       // mov    eax, dword [rbx - 68]
   779	LONG $0x0dcea40f               // shld    esi, ecx, 13
   780	LONG $0x08c2ac0f               // shrd    edx, eax, 8
   781	LONG $0x06c1a40f               // shld    ecx, eax, 6
   782	LONG $0xcf6ef9c5               // vmovd    xmm1, edi
   783	LONG $0x2271c3c4; WORD $0x01ca // vpinsrd    xmm1, xmm1, r10d, 1
   784	LONG $0xd26ef9c5               // vmovd    xmm2, edx
   785	LONG $0x2271c3c4; WORD $0x02cb // vpinsrd    xmm1, xmm1, r11d, 2
   786	LONG $0x2269e3c4; WORD $0x01d0 // vpinsrd    xmm2, xmm2, eax, 1
   787	LONG $0x2271c3c4; WORD $0x03c9 // vpinsrd    xmm1, xmm1, r9d, 3
   788	LONG $0x2269e3c4; WORD $0x02d1 // vpinsrd    xmm2, xmm2, ecx, 2
   789	LONG $0x2269e3c4; WORD $0x03d6 // vpinsrd    xmm2, xmm2, esi, 3
   790	LONG $0x386de3c4; WORD $0x01c9 // vinserti128    ymm1, ymm2, xmm1, 1
   791	LONG $0x4575c2c4; BYTE $0xca   // vpsrlvd    ymm1, ymm1, ymm10
   792	LONG $0xc8dbf5c5               // vpand    ymm1, ymm1, ymm0
   793	LONG $0x7f7ec1c4; WORD $0xc04f // vmovdqu    yword [r15 - 64], ymm1
   794	WORD $0x438b; BYTE $0xe4       // mov    eax, dword [rbx - 28]
   795	LONG $0xe84b8b44               // mov    r9d, dword [rbx - 24]
   796	LONG $0xc1a40f41; BYTE $0x01   // shld    r9d, eax, 1
   797	WORD $0x538b; BYTE $0xe0       // mov    edx, dword [rbx - 32]
   798	WORD $0xc689                   // mov    esi, eax
   799	LONG $0x13d6a40f               // shld    esi, edx, 19
   800	WORD $0x7b8b; BYTE $0xd8       // mov    edi, dword [rbx - 40]
   801	WORD $0x4b8b; BYTE $0xdc       // mov    ecx, dword [rbx - 36]
   802	LONG $0x0ccaa40f               // shld    edx, ecx, 12
   803	LONG $0x05f9a40f               // shld    ecx, edi, 5
   804	LONG $0x4b7efac5; BYTE $0xd0   // vmovq    xmm1, qword [rbx - 48]
   805	LONG $0x4571c2c4; BYTE $0xd3   // vpsrlvd    xmm2, xmm1, xmm11
   806	LONG $0xc970f9c5; BYTE $0xe5   // vpshufd    xmm1, xmm1, 229
   807	LONG $0x2271e3c4; WORD $0x01cf // vpinsrd    xmm1, xmm1, edi, 1
   808	LONG $0x4771e2c4; BYTE $0xcc   // vpsllvd    xmm1, xmm1, xmm4
   809	LONG $0xc9ebe9c5               // vpor    xmm1, xmm2, xmm1
   810	LONG $0xd26ef9c5               // vmovd    xmm2, edx
   811	LONG $0x2269e3c4; WORD $0x01d6 // vpinsrd    xmm2, xmm2, esi, 1
   812	LONG $0x2269e3c4; WORD $0x02d0 // vpinsrd    xmm2, xmm2, eax, 2
   813	LONG $0x2269c3c4; WORD $0x03d1 // vpinsrd    xmm2, xmm2, r9d, 3
   814	LONG $0x2271e3c4; WORD $0x02cf // vpinsrd    xmm1, xmm1, edi, 2
   815	LONG $0x2271e3c4; WORD $0x03c9 // vpinsrd    xmm1, xmm1, ecx, 3
   816	LONG $0x3875e3c4; WORD $0x01ca // vinserti128    ymm1, ymm1, xmm2, 1
   817	LONG $0x4575e2c4; BYTE $0xcd   // vpsrlvd    ymm1, ymm1, ymm5
   818	LONG $0xc8dbf5c5               // vpand    ymm1, ymm1, ymm0
   819	LONG $0x7f7ec1c4; WORD $0xe04f // vmovdqu    yword [r15 - 32], ymm1
   820	WORD $0x8b44; BYTE $0x0b       // mov    r9d, dword [rbx]
   821	WORD $0x4b8b; BYTE $0xfc       // mov    ecx, dword [rbx - 4]
   822	WORD $0x8944; BYTE $0xca       // mov    edx, r9d
   823	LONG $0x12caa40f               // shld    edx, ecx, 18
   824	WORD $0x738b; BYTE $0xf8       // mov    esi, dword [rbx - 8]
   825	LONG $0x0bf1a40f               // shld    ecx, esi, 11
   826	LONG $0xf0538b44               // mov    r10d, dword [rbx - 16]
   827	WORD $0x7b8b; BYTE $0xf4       // mov    edi, dword [rbx - 12]
   828	LONG $0x04fea40f               // shld    esi, edi, 4
   829	WORD $0xf889                   // mov    eax, edi
   830	LONG $0xd0a40f44; BYTE $0x16   // shld    eax, r10d, 22
   831	LONG $0x4b7efac5; BYTE $0xe8   // vmovq    xmm1, qword [rbx - 24]
   832	LONG $0x4571e2c4; BYTE $0xd6   // vpsrlvd    xmm2, xmm1, xmm6
   833	LONG $0xc970f9c5; BYTE $0xe5   // vpshufd    xmm1, xmm1, 229
   834	LONG $0x2271c3c4; WORD $0x01ca // vpinsrd    xmm1, xmm1, r10d, 1
   835	LONG $0x4771e2c4; BYTE $0xcf   // vpsllvd    xmm1, xmm1, xmm7
   836	LONG $0xde6ef9c5               // vmovd    xmm3, esi
   837	LONG $0x2261e3c4; WORD $0x01d9 // vpinsrd    xmm3, xmm3, ecx, 1
   838	LONG $0xc9ebe9c5               // vpor    xmm1, xmm2, xmm1
   839	LONG $0x2261e3c4; WORD $0x02d2 // vpinsrd    xmm2, xmm3, edx, 2
   840	LONG $0x2269c3c4; WORD $0x03d1 // vpinsrd    xmm2, xmm2, r9d, 3
   841	LONG $0x2271e3c4; WORD $0x02c8 // vpinsrd    xmm1, xmm1, eax, 2
   842	LONG $0x2271e3c4; WORD $0x03cf // vpinsrd    xmm1, xmm1, edi, 3
   843	LONG $0x3875e3c4; WORD $0x01ca // vinserti128    ymm1, ymm1, xmm2, 1
   844	LONG $0x4575c2c4; BYTE $0xc8   // vpsrlvd    ymm1, ymm1, ymm8
   845	LONG $0xc8dbf5c5               // vpand    ymm1, ymm1, ymm0
   846	LONG $0x7f7ec1c4; BYTE $0x0f   // vmovdqu    yword [r15], ymm1
   847	LONG $0x80ef8349               // sub    r15, -128
   848	LONG $0x64c38348               // add    rbx, 100
   849	LONG $0xffc08349               // add    r8, -1
   850	JNE  LBB0_78
   851	JMP  LBB0_147
   852
   853LBB0_14:
   854	WORD $0xf983; BYTE $0x05             // cmp    ecx, 5
   855	JG   LBB0_20
   856	WORD $0xf983; BYTE $0x04             // cmp    ecx, 4
   857	JE   LBB0_138
   858	WORD $0xf983; BYTE $0x05             // cmp    ecx, 5
   859	JNE  LBB0_147
   860	WORD $0xfa83; BYTE $0x20             // cmp    edx, 32
   861	JL   LBB0_147
   862	WORD $0x8944; BYTE $0xf0             // mov    eax, r14d
   863	LONG $0x60c78349                     // add    r15, 96
   864	LONG $0x10c38348                     // add    rbx, 16
   865	QUAD $0x0000d085597de2c4; BYTE $0x00 // vpbroadcastq    ymm0, qword 208[rbp] /* [rip + .LCPI0_120] */
   866	QUAD $0x000009608d6ffdc5             // vmovdqa    ymm1, yword 2400[rbp] /* [rip + .LCPI0_119] */
   867	QUAD $0x00000980956ffdc5             // vmovdqa    ymm2, yword 2432[rbp] /* [rip + .LCPI0_121] */
   868	QUAD $0x000009a09d6ffdc5             // vmovdqa    ymm3, yword 2464[rbp] /* [rip + .LCPI0_122] */
   869	QUAD $0x000009c0a56ffdc5             // vmovdqa    ymm4, yword 2496[rbp] /* [rip + .LCPI0_123] */
   870
   871LBB0_19:
   872	WORD $0x4b8b; BYTE $0xf0       // mov    ecx, dword [rbx - 16]
   873	WORD $0x538b; BYTE $0xf4       // mov    edx, dword [rbx - 12]
   874	WORD $0xd689                   // mov    esi, edx
   875	LONG $0x02cea40f               // shld    esi, ecx, 2
   876	LONG $0xe96ef9c5               // vmovd    xmm5, ecx
   877	LONG $0x5879e2c4; BYTE $0xf5   // vpbroadcastd    xmm6, xmm5
   878	LONG $0x2251e3c4; WORD $0x01e9 // vpinsrd    xmm5, xmm5, ecx, 1
   879	LONG $0x2251e3c4; WORD $0x02ee // vpinsrd    xmm5, xmm5, esi, 2
   880	LONG $0x2251e3c4; WORD $0x03ea // vpinsrd    xmm5, xmm5, edx, 3
   881	LONG $0x384de3c4; WORD $0x01ed // vinserti128    ymm5, ymm6, xmm5, 1
   882	LONG $0x4555e2c4; BYTE $0xe9   // vpsrlvd    ymm5, ymm5, ymm1
   883	LONG $0xe8dbd5c5               // vpand    ymm5, ymm5, ymm0
   884	LONG $0x7f7ec1c4; WORD $0xa06f // vmovdqu    yword [r15 - 96], ymm5
   885	WORD $0x4b8b; BYTE $0xf4       // mov    ecx, dword [rbx - 12]
   886	WORD $0x538b; BYTE $0xf8       // mov    edx, dword [rbx - 8]
   887	WORD $0xd689                   // mov    esi, edx
   888	LONG $0x04cea40f               // shld    esi, ecx, 4
   889	LONG $0xe96ef9c5               // vmovd    xmm5, ecx
   890	LONG $0x5879e2c4; BYTE $0xed   // vpbroadcastd    xmm5, xmm5
   891	LONG $0xf66ef9c5               // vmovd    xmm6, esi
   892	LONG $0x2249e3c4; WORD $0x01f2 // vpinsrd    xmm6, xmm6, edx, 1
   893	LONG $0x2249e3c4; WORD $0x02f2 // vpinsrd    xmm6, xmm6, edx, 2
   894	LONG $0x2249e3c4; WORD $0x03f2 // vpinsrd    xmm6, xmm6, edx, 3
   895	LONG $0x3855e3c4; WORD $0x01ee // vinserti128    ymm5, ymm5, xmm6, 1
   896	LONG $0x4555e2c4; BYTE $0xea   // vpsrlvd    ymm5, ymm5, ymm2
   897	LONG $0xe8dbd5c5               // vpand    ymm5, ymm5, ymm0
   898	LONG $0x7f7ec1c4; WORD $0xc06f // vmovdqu    yword [r15 - 64], ymm5
   899	WORD $0x4b8b; BYTE $0xf8       // mov    ecx, dword [rbx - 8]
   900	WORD $0x538b; BYTE $0xfc       // mov    edx, dword [rbx - 4]
   901	LONG $0xea6ef9c5               // vmovd    xmm5, edx
   902	LONG $0x01caa40f               // shld    edx, ecx, 1
   903	LONG $0xf16ef9c5               // vmovd    xmm6, ecx
   904	LONG $0x2249e3c4; WORD $0x01f1 // vpinsrd    xmm6, xmm6, ecx, 1
   905	LONG $0x2249e3c4; WORD $0x02f1 // vpinsrd    xmm6, xmm6, ecx, 2
   906	LONG $0x2249e3c4; WORD $0x03f2 // vpinsrd    xmm6, xmm6, edx, 3
   907	LONG $0x5879e2c4; BYTE $0xed   // vpbroadcastd    xmm5, xmm5
   908	LONG $0x384de3c4; WORD $0x01ed // vinserti128    ymm5, ymm6, xmm5, 1
   909	LONG $0x4555e2c4; BYTE $0xeb   // vpsrlvd    ymm5, ymm5, ymm3
   910	LONG $0xe8dbd5c5               // vpand    ymm5, ymm5, ymm0
   911	LONG $0x7f7ec1c4; WORD $0xe06f // vmovdqu    yword [r15 - 32], ymm5
   912	WORD $0x4b8b; BYTE $0xfc       // mov    ecx, dword [rbx - 4]
   913	WORD $0x138b                   // mov    edx, dword [rbx]
   914	WORD $0xd689                   // mov    esi, edx
   915	LONG $0x03cea40f               // shld    esi, ecx, 3
   916	LONG $0xe96ef9c5               // vmovd    xmm5, ecx
   917	LONG $0x2251e3c4; WORD $0x01ee // vpinsrd    xmm5, xmm5, esi, 1
   918	LONG $0x2251e3c4; WORD $0x02ea // vpinsrd    xmm5, xmm5, edx, 2
   919	LONG $0x2251e3c4; WORD $0x03ea // vpinsrd    xmm5, xmm5, edx, 3
   920	LONG $0xf26ef9c5               // vmovd    xmm6, edx
   921	LONG $0x5879e2c4; BYTE $0xf6   // vpbroadcastd    xmm6, xmm6
   922	LONG $0x3855e3c4; WORD $0x01ee // vinserti128    ymm5, ymm5, xmm6, 1
   923	LONG $0x4555e2c4; BYTE $0xec   // vpsrlvd    ymm5, ymm5, ymm4
   924	LONG $0xe8dbd5c5               // vpand    ymm5, ymm5, ymm0
   925	LONG $0x7f7ec1c4; BYTE $0x2f   // vmovdqu    yword [r15], ymm5
   926	LONG $0x80ef8349               // sub    r15, -128
   927	LONG $0x14c38348               // add    rbx, 20
   928	LONG $0xffc08348               // add    rax, -1
   929	JNE  LBB0_19
   930	JMP  LBB0_147
   931
   932LBB0_61:
   933	WORD $0xf983; BYTE $0x15       // cmp    ecx, 21
   934	JG   LBB0_67
   935	WORD $0xf983; BYTE $0x14       // cmp    ecx, 20
   936	JE   LBB0_114
   937	WORD $0xf983; BYTE $0x15       // cmp    ecx, 21
   938	JNE  LBB0_147
   939	WORD $0xfa83; BYTE $0x20       // cmp    edx, 32
   940	JL   LBB0_147
   941	WORD $0x8945; BYTE $0xf0       // mov    r8d, r14d
   942	LONG $0x60c78349               // add    r15, 96
   943	LONG $0x50c38348               // add    rbx, 80
   944	QUAD $0x00000420856f7dc5       // vmovdqa    ymm8, yword 1056[rbp] /* [rip + .LCPI0_58] */
   945	LONG $0x597de2c4; WORD $0x584d // vpbroadcastq    ymm1, qword 88[rbp] /* [rip + .LCPI0_59] */
   946	QUAD $0x00000440956ffdc5       // vmovdqa    ymm2, yword 1088[rbp] /* [rip + .LCPI0_60] */
   947	QUAD $0x000004609d6ffdc5       // vmovdqa    ymm3, yword 1120[rbp] /* [rip + .LCPI0_61] */
   948	QUAD $0x00000c50a56ff9c5       // vmovdqa    xmm4, oword 3152[rbp] /* [rip + .LCPI0_62] */
   949	QUAD $0x00000c60ad6ff9c5       // vmovdqa    xmm5, oword 3168[rbp] /* [rip + .LCPI0_63] */
   950	QUAD $0x00000480b56ffdc5       // vmovdqa    ymm6, yword 1152[rbp] /* [rip + .LCPI0_64] */
   951
   952LBB0_66:
   953	WORD $0x4b8b; BYTE $0xc0       // mov    ecx, dword [rbx - 64]
   954	LONG $0xc44b8b44               // mov    r9d, dword [rbx - 60]
   955	LONG $0xc9a40f41; BYTE $0x0d   // shld    r9d, ecx, 13
   956	LONG $0xbc5b8b44               // mov    r11d, dword [rbx - 68]
   957	LONG $0xd9a40f44; BYTE $0x02   // shld    ecx, r11d, 2
   958	WORD $0x7b8b; BYTE $0xb8       // mov    edi, dword [rbx - 72]
   959	WORD $0x8944; BYTE $0xde       // mov    esi, r11d
   960	LONG $0x0cfea40f               // shld    esi, edi, 12
   961	LONG $0xb0538b44               // mov    r10d, dword [rbx - 80]
   962	WORD $0x438b; BYTE $0xb4       // mov    eax, dword [rbx - 76]
   963	LONG $0x01c7a40f               // shld    edi, eax, 1
   964	WORD $0xc289                   // mov    edx, eax
   965	LONG $0xd2a40f44; BYTE $0x0b   // shld    edx, r10d, 11
   966	LONG $0x6e79c1c4; BYTE $0xfa   // vmovd    xmm7, r10d
   967	LONG $0xc66ef9c5               // vmovd    xmm0, esi
   968	LONG $0x2241e3c4; WORD $0x01fa // vpinsrd    xmm7, xmm7, edx, 1
   969	LONG $0x2279c3c4; WORD $0x01c3 // vpinsrd    xmm0, xmm0, r11d, 1
   970	LONG $0x2241e3c4; WORD $0x02f8 // vpinsrd    xmm7, xmm7, eax, 2
   971	LONG $0x2279e3c4; WORD $0x02c1 // vpinsrd    xmm0, xmm0, ecx, 2
   972	LONG $0x2241e3c4; WORD $0x03ff // vpinsrd    xmm7, xmm7, edi, 3
   973	LONG $0x2279c3c4; WORD $0x03c1 // vpinsrd    xmm0, xmm0, r9d, 3
   974	LONG $0x3845e3c4; WORD $0x01c0 // vinserti128    ymm0, ymm7, xmm0, 1
   975	LONG $0x457dc2c4; BYTE $0xc0   // vpsrlvd    ymm0, ymm0, ymm8
   976	LONG $0xc1dbfdc5               // vpand    ymm0, ymm0, ymm1
   977	LONG $0x7f7ec1c4; WORD $0xa047 // vmovdqu    yword [r15 - 96], ymm0
   978	LONG $0xd4538b44               // mov    r10d, dword [rbx - 44]
   979	LONG $0xd84b8b44               // mov    r9d, dword [rbx - 40]
   980	LONG $0xd1a40f45; BYTE $0x05   // shld    r9d, r10d, 5
   981	WORD $0x538b; BYTE $0xd0       // mov    edx, dword [rbx - 48]
   982	WORD $0x8944; BYTE $0xd6       // mov    esi, r10d
   983	LONG $0x0fd6a40f               // shld    esi, edx, 15
   984	WORD $0x4b8b; BYTE $0xcc       // mov    ecx, dword [rbx - 52]
   985	LONG $0x04caa40f               // shld    edx, ecx, 4
   986	LONG $0xc45b8b44               // mov    r11d, dword [rbx - 60]
   987	WORD $0x438b; BYTE $0xc8       // mov    eax, dword [rbx - 56]
   988	WORD $0xcf89                   // mov    edi, ecx
   989	LONG $0x0ec7a40f               // shld    edi, eax, 14
   990	LONG $0xd8a40f44; BYTE $0x03   // shld    eax, r11d, 3
   991	LONG $0x6e79c1c4; BYTE $0xc3   // vmovd    xmm0, r11d
   992	LONG $0xfa6ef9c5               // vmovd    xmm7, edx
   993	LONG $0x2279e3c4; WORD $0x01c0 // vpinsrd    xmm0, xmm0, eax, 1
   994	LONG $0x2241e3c4; WORD $0x01fe // vpinsrd    xmm7, xmm7, esi, 1
   995	LONG $0x2279e3c4; WORD $0x02c7 // vpinsrd    xmm0, xmm0, edi, 2
   996	LONG $0x2241c3c4; WORD $0x02fa // vpinsrd    xmm7, xmm7, r10d, 2
   997	LONG $0x2279e3c4; WORD $0x03c1 // vpinsrd    xmm0, xmm0, ecx, 3
   998	LONG $0x2241c3c4; WORD $0x03f9 // vpinsrd    xmm7, xmm7, r9d, 3
   999	LONG $0x387de3c4; WORD $0x01c7 // vinserti128    ymm0, ymm0, xmm7, 1
  1000	LONG $0x457de2c4; BYTE $0xc2   // vpsrlvd    ymm0, ymm0, ymm2
  1001	LONG $0xc1dbfdc5               // vpand    ymm0, ymm0, ymm1
  1002	LONG $0x7f7ec1c4; WORD $0xc047 // vmovdqu    yword [r15 - 64], ymm0
  1003	LONG $0xec4b8b44               // mov    r9d, dword [rbx - 20]
  1004	WORD $0x4b8b; BYTE $0xe8       // mov    ecx, dword [rbx - 24]
  1005	WORD $0x8945; BYTE $0xca       // mov    r10d, r9d
  1006	LONG $0xcaa40f41; BYTE $0x12   // shld    r10d, ecx, 18
  1007	WORD $0x738b; BYTE $0xe4       // mov    esi, dword [rbx - 28]
  1008	LONG $0x07f1a40f               // shld    ecx, esi, 7
  1009	WORD $0x7b8b; BYTE $0xe0       // mov    edi, dword [rbx - 32]
  1010	LONG $0xc66ef9c5               // vmovd    xmm0, esi
  1011	LONG $0x11fea40f               // shld    esi, edi, 17
  1012	WORD $0x438b; BYTE $0xd8       // mov    eax, dword [rbx - 40]
  1013	WORD $0x538b; BYTE $0xdc       // mov    edx, dword [rbx - 36]
  1014	LONG $0x06d7a40f               // shld    edi, edx, 6
  1015	LONG $0x10d0ac0f               // shrd    eax, edx, 16
  1016	LONG $0x2279e3c4; WORD $0x01c1 // vpinsrd    xmm0, xmm0, ecx, 1
  1017	LONG $0xf86ef9c5               // vmovd    xmm7, eax
  1018	LONG $0x2279c3c4; WORD $0x02c2 // vpinsrd    xmm0, xmm0, r10d, 2
  1019	LONG $0x2241e3c4; WORD $0x01fa // vpinsrd    xmm7, xmm7, edx, 1
  1020	LONG $0x2279c3c4; WORD $0x03c1 // vpinsrd    xmm0, xmm0, r9d, 3
  1021	LONG $0x2241e3c4; WORD $0x02ff // vpinsrd    xmm7, xmm7, edi, 2
  1022	LONG $0x2241e3c4; WORD $0x03fe // vpinsrd    xmm7, xmm7, esi, 3
  1023	LONG $0x3845e3c4; WORD $0x01c0 // vinserti128    ymm0, ymm7, xmm0, 1
  1024	LONG $0x457de2c4; BYTE $0xc3   // vpsrlvd    ymm0, ymm0, ymm3
  1025	LONG $0xc1dbfdc5               // vpand    ymm0, ymm0, ymm1
  1026	LONG $0x7f7ec1c4; WORD $0xe047 // vmovdqu    yword [r15 - 32], ymm0
  1027	WORD $0x8b44; BYTE $0x0b       // mov    r9d, dword [rbx]
  1028	WORD $0x438b; BYTE $0xfc       // mov    eax, dword [rbx - 4]
  1029	WORD $0x8944; BYTE $0xca       // mov    edx, r9d
  1030	LONG $0x0ac2a40f               // shld    edx, eax, 10
  1031	WORD $0x738b; BYTE $0xf4       // mov    esi, dword [rbx - 12]
  1032	WORD $0x7b8b; BYTE $0xf8       // mov    edi, dword [rbx - 8]
  1033	WORD $0xc189                   // mov    ecx, eax
  1034	LONG $0x14f9a40f               // shld    ecx, edi, 20
  1035	LONG $0x09f7a40f               // shld    edi, esi, 9
  1036	LONG $0x437efac5; BYTE $0xec   // vmovq    xmm0, qword [rbx - 20]
  1037	LONG $0x4579e2c4; BYTE $0xfc   // vpsrlvd    xmm7, xmm0, xmm4
  1038	LONG $0xc070f9c5; BYTE $0xe5   // vpshufd    xmm0, xmm0, 229
  1039	LONG $0x2279e3c4; WORD $0x01c6 // vpinsrd    xmm0, xmm0, esi, 1
  1040	LONG $0x4779e2c4; BYTE $0xc5   // vpsllvd    xmm0, xmm0, xmm5
  1041	LONG $0xc0ebc1c5               // vpor    xmm0, xmm7, xmm0
  1042	LONG $0xf96ef9c5               // vmovd    xmm7, ecx
  1043	LONG $0x2241e3c4; WORD $0x01f8 // vpinsrd    xmm7, xmm7, eax, 1
  1044	LONG $0x2241e3c4; WORD $0x02fa // vpinsrd    xmm7, xmm7, edx, 2
  1045	LONG $0x2241c3c4; WORD $0x03f9 // vpinsrd    xmm7, xmm7, r9d, 3
  1046	LONG $0x2279e3c4; WORD $0x02c6 // vpinsrd    xmm0, xmm0, esi, 2
  1047	LONG $0x2279e3c4; WORD $0x03c7 // vpinsrd    xmm0, xmm0, edi, 3
  1048	LONG $0x387de3c4; WORD $0x01c7 // vinserti128    ymm0, ymm0, xmm7, 1
  1049	LONG $0x457de2c4; BYTE $0xc6   // vpsrlvd    ymm0, ymm0, ymm6
  1050	LONG $0xc1dbfdc5               // vpand    ymm0, ymm0, ymm1
  1051	LONG $0x7f7ec1c4; BYTE $0x07   // vmovdqu    yword [r15], ymm0
  1052	LONG $0x80ef8349               // sub    r15, -128
  1053	LONG $0x54c38348               // add    rbx, 84
  1054	LONG $0xffc08349               // add    r8, -1
  1055	JNE  LBB0_66
  1056	JMP  LBB0_147
  1057
  1058LBB0_37:
  1059	WORD $0xf983; BYTE $0x0d             // cmp    ecx, 13
  1060	JG   LBB0_43
  1061	WORD $0xf983; BYTE $0x0c             // cmp    ecx, 12
  1062	JE   LBB0_126
  1063	WORD $0xf983; BYTE $0x0d             // cmp    ecx, 13
  1064	JNE  LBB0_147
  1065	WORD $0xfa83; BYTE $0x20             // cmp    edx, 32
  1066	JL   LBB0_147
  1067	WORD $0x8945; BYTE $0xf0             // mov    r8d, r14d
  1068	LONG $0x60c78349                     // add    r15, 96
  1069	LONG $0x30c38348                     // add    rbx, 48
  1070	QUAD $0x00009885597de2c4; BYTE $0x00 // vpbroadcastq    ymm0, qword 152[rbp] /* [rip + .LCPI0_90] */
  1071	QUAD $0x000006c08d6ffdc5             // vmovdqa    ymm1, yword 1728[rbp] /* [rip + .LCPI0_89] */
  1072	QUAD $0x000006e0956ffdc5             // vmovdqa    ymm2, yword 1760[rbp] /* [rip + .LCPI0_91] */
  1073	QUAD $0x000007009d6ffdc5             // vmovdqa    ymm3, yword 1792[rbp] /* [rip + .LCPI0_92] */
  1074	QUAD $0x00000720a56ffdc5             // vmovdqa    ymm4, yword 1824[rbp] /* [rip + .LCPI0_93] */
  1075
  1076LBB0_42:
  1077	WORD $0x438b; BYTE $0xd8       // mov    eax, dword [rbx - 40]
  1078	LONG $0xdc4b8b44               // mov    r9d, dword [rbx - 36]
  1079	LONG $0xc1a40f41; BYTE $0x05   // shld    r9d, eax, 5
  1080	WORD $0x738b; BYTE $0xd0       // mov    esi, dword [rbx - 48]
  1081	WORD $0x538b; BYTE $0xd4       // mov    edx, dword [rbx - 44]
  1082	WORD $0xc189                   // mov    ecx, eax
  1083	LONG $0x0cd1a40f               // shld    ecx, edx, 12
  1084	WORD $0xd789                   // mov    edi, edx
  1085	LONG $0x06f7a40f               // shld    edi, esi, 6
  1086	LONG $0xe96ef9c5               // vmovd    xmm5, ecx
  1087	LONG $0x2251e3c4; WORD $0x01e8 // vpinsrd    xmm5, xmm5, eax, 1
  1088	LONG $0x2251e3c4; WORD $0x02e8 // vpinsrd    xmm5, xmm5, eax, 2
  1089	LONG $0x2251c3c4; WORD $0x03e9 // vpinsrd    xmm5, xmm5, r9d, 3
  1090	LONG $0xf66ef9c5               // vmovd    xmm6, esi
  1091	LONG $0x2249e3c4; WORD $0x01f6 // vpinsrd    xmm6, xmm6, esi, 1
  1092	LONG $0x2249e3c4; WORD $0x02f7 // vpinsrd    xmm6, xmm6, edi, 2
  1093	LONG $0x2249e3c4; WORD $0x03f2 // vpinsrd    xmm6, xmm6, edx, 3
  1094	LONG $0x384de3c4; WORD $0x01ed // vinserti128    ymm5, ymm6, xmm5, 1
  1095	LONG $0x4555e2c4; BYTE $0xe9   // vpsrlvd    ymm5, ymm5, ymm1
  1096	LONG $0xe8dbd5c5               // vpand    ymm5, ymm5, ymm0
  1097	LONG $0x7f7ec1c4; WORD $0xa06f // vmovdqu    yword [r15 - 96], ymm5
  1098	LONG $0xe84b8b44               // mov    r9d, dword [rbx - 24]
  1099	WORD $0x4b8b; BYTE $0xe4       // mov    ecx, dword [rbx - 28]
  1100	WORD $0x8944; BYTE $0xca       // mov    edx, r9d
  1101	LONG $0x0acaa40f               // shld    edx, ecx, 10
  1102	WORD $0x738b; BYTE $0xe0       // mov    esi, dword [rbx - 32]
  1103	WORD $0xcf89                   // mov    edi, ecx
  1104	LONG $0x04f7a40f               // shld    edi, esi, 4
  1105	LONG $0xdc538b44               // mov    r10d, dword [rbx - 36]
  1106	WORD $0xf089                   // mov    eax, esi
  1107	LONG $0xd0a40f44; BYTE $0x0b   // shld    eax, r10d, 11
  1108	LONG $0xef6ef9c5               // vmovd    xmm5, edi
  1109	LONG $0x2251e3c4; WORD $0x01e9 // vpinsrd    xmm5, xmm5, ecx, 1
  1110	LONG $0x2251e3c4; WORD $0x02ea // vpinsrd    xmm5, xmm5, edx, 2
  1111	LONG $0x2251c3c4; WORD $0x03e9 // vpinsrd    xmm5, xmm5, r9d, 3
  1112	LONG $0x6e79c1c4; BYTE $0xf2   // vmovd    xmm6, r10d
  1113	LONG $0x2249e3c4; WORD $0x01f0 // vpinsrd    xmm6, xmm6, eax, 1
  1114	LONG $0x2249e3c4; WORD $0x02f6 // vpinsrd    xmm6, xmm6, esi, 2
  1115	LONG $0x2249e3c4; WORD $0x03f6 // vpinsrd    xmm6, xmm6, esi, 3
  1116	LONG $0x384de3c4; WORD $0x01ed // vinserti128    ymm5, ymm6, xmm5, 1
  1117	LONG $0x4555e2c4; BYTE $0xea   // vpsrlvd    ymm5, ymm5, ymm2
  1118	LONG $0xe8dbd5c5               // vpand    ymm5, ymm5, ymm0
  1119	LONG $0x7f7ec1c4; WORD $0xc06f // vmovdqu    yword [r15 - 64], ymm5
  1120	LONG $0xf44b8b44               // mov    r9d, dword [rbx - 12]
  1121	WORD $0x4b8b; BYTE $0xf0       // mov    ecx, dword [rbx - 16]
  1122	WORD $0x8944; BYTE $0xca       // mov    edx, r9d
  1123	LONG $0x02caa40f               // shld    edx, ecx, 2
  1124	WORD $0x738b; BYTE $0xe8       // mov    esi, dword [rbx - 24]
  1125	WORD $0x438b; BYTE $0xec       // mov    eax, dword [rbx - 20]
  1126	LONG $0xe96ef9c5               // vmovd    xmm5, ecx
  1127	LONG $0x2251e3c4; WORD $0x01e9 // vpinsrd    xmm5, xmm5, ecx, 1
  1128	LONG $0x09c1a40f               // shld    ecx, eax, 9
  1129	WORD $0xc789                   // mov    edi, eax
  1130	LONG $0x03f7a40f               // shld    edi, esi, 3
  1131	LONG $0x2251e3c4; WORD $0x02ea // vpinsrd    xmm5, xmm5, edx, 2
  1132	LONG $0x2251c3c4; WORD $0x03e9 // vpinsrd    xmm5, xmm5, r9d, 3
  1133	LONG $0xf66ef9c5               // vmovd    xmm6, esi
  1134	LONG $0x2249e3c4; WORD $0x01f7 // vpinsrd    xmm6, xmm6, edi, 1
  1135	LONG $0x2249e3c4; WORD $0x02f0 // vpinsrd    xmm6, xmm6, eax, 2
  1136	LONG $0x2249e3c4; WORD $0x03f1 // vpinsrd    xmm6, xmm6, ecx, 3
  1137	LONG $0x384de3c4; WORD $0x01ed // vinserti128    ymm5, ymm6, xmm5, 1
  1138	LONG $0x4555e2c4; BYTE $0xeb   // vpsrlvd    ymm5, ymm5, ymm3
  1139	LONG $0xe8dbd5c5               // vpand    ymm5, ymm5, ymm0
  1140	LONG $0x7f7ec1c4; WORD $0xe06f // vmovdqu    yword [r15 - 32], ymm5
  1141	WORD $0x038b                   // mov    eax, dword [rbx]
  1142	WORD $0x4b8b; BYTE $0xfc       // mov    ecx, dword [rbx - 4]
  1143	WORD $0xc289                   // mov    edx, eax
  1144	LONG $0x07caa40f               // shld    edx, ecx, 7
  1145	WORD $0x738b; BYTE $0xf8       // mov    esi, dword [rbx - 8]
  1146	LONG $0xe96ef9c5               // vmovd    xmm5, ecx
  1147	LONG $0x01f1a40f               // shld    ecx, esi, 1
  1148	WORD $0x7b8b; BYTE $0xf4       // mov    edi, dword [rbx - 12]
  1149	LONG $0x18f7ac0f               // shrd    edi, esi, 24
  1150	LONG $0xf76ef9c5               // vmovd    xmm6, edi
  1151	LONG $0x2249e3c4; WORD $0x01f6 // vpinsrd    xmm6, xmm6, esi, 1
  1152	LONG $0x2249e3c4; WORD $0x02f6 // vpinsrd    xmm6, xmm6, esi, 2
  1153	LONG $0x2249e3c4; WORD $0x03f1 // vpinsrd    xmm6, xmm6, ecx, 3
  1154	LONG $0x2251e3c4; WORD $0x01ea // vpinsrd    xmm5, xmm5, edx, 1
  1155	LONG $0x2251e3c4; WORD $0x02e8 // vpinsrd    xmm5, xmm5, eax, 2
  1156	LONG $0x2251e3c4; WORD $0x03e8 // vpinsrd    xmm5, xmm5, eax, 3
  1157	LONG $0x384de3c4; WORD $0x01ed // vinserti128    ymm5, ymm6, xmm5, 1
  1158	LONG $0x4555e2c4; BYTE $0xec   // vpsrlvd    ymm5, ymm5, ymm4
  1159	LONG $0xe8dbd5c5               // vpand    ymm5, ymm5, ymm0
  1160	LONG $0x7f7ec1c4; BYTE $0x2f   // vmovdqu    yword [r15], ymm5
  1161	LONG $0x80ef8349               // sub    r15, -128
  1162	LONG $0x34c38348               // add    rbx, 52
  1163	LONG $0xffc08349               // add    r8, -1
  1164	JNE  LBB0_42
  1165	JMP  LBB0_147
  1166
  1167LBB0_85:
  1168	WORD $0xf983; BYTE $0x1c       // cmp    ecx, 28
  1169	JE   LBB0_102
  1170	WORD $0xf983; BYTE $0x1d       // cmp    ecx, 29
  1171	JNE  LBB0_147
  1172	WORD $0xfa83; BYTE $0x20       // cmp    edx, 32
  1173	JL   LBB0_147
  1174	WORD $0x8945; BYTE $0xf0       // mov    r8d, r14d
  1175	LONG $0x60c78349               // add    r15, 96
  1176	LONG $0x597de2c4; WORD $0x1045 // vpbroadcastq    ymm0, qword 16[rbp] /* [rip + .LCPI0_12] */
  1177	QUAD $0x00000b40856f79c5       // vmovdqa    xmm8, oword 2880[rbp] /* [rip + .LCPI0_13] */
  1178	QUAD $0x00000b50956f79c5       // vmovdqa    xmm10, oword 2896[rbp] /* [rip + .LCPI0_14] */
  1179	QUAD $0x000001c09d6f7dc5       // vmovdqa    ymm11, yword 448[rbp] /* [rip + .LCPI0_15] */
  1180	QUAD $0x00000b60a56f79c5       // vmovdqa    xmm12, oword 2912[rbp] /* [rip + .LCPI0_16] */
  1181	QUAD $0x00000b70ad6ff9c5       // vmovdqa    xmm5, oword 2928[rbp] /* [rip + .LCPI0_17] */
  1182	QUAD $0x000001e0b56ffdc5       // vmovdqa    ymm6, yword 480[rbp] /* [rip + .LCPI0_18] */
  1183	QUAD $0x00000b80bd6ff9c5       // vmovdqa    xmm7, oword 2944[rbp] /* [rip + .LCPI0_19] */
  1184	QUAD $0x00000b908d6ff9c5       // vmovdqa    xmm1, oword 2960[rbp] /* [rip + .LCPI0_20] */
  1185	QUAD $0x000002008d6f7dc5       // vmovdqa    ymm9, yword 512[rbp] /* [rip + .LCPI0_21] */
  1186
  1187LBB0_89:
  1188	LONG $0x185b8b44               // mov    r11d, dword [rbx + 24]
  1189	LONG $0x1c4b8b44               // mov    r9d, dword [rbx + 28]
  1190	LONG $0xd9a40f45; BYTE $0x15   // shld    r9d, r11d, 21
  1191	WORD $0x738b; BYTE $0x14       // mov    esi, dword [rbx + 20]
  1192	LONG $0xf3a40f41; BYTE $0x12   // shld    r11d, esi, 18
  1193	WORD $0x7b8b; BYTE $0x10       // mov    edi, dword [rbx + 16]
  1194	LONG $0x0ffea40f               // shld    esi, edi, 15
  1195	WORD $0x438b; BYTE $0x0c       // mov    eax, dword [rbx + 12]
  1196	LONG $0x0cc7a40f               // shld    edi, eax, 12
  1197	WORD $0x538b; BYTE $0x08       // mov    edx, dword [rbx + 8]
  1198	LONG $0x09d0a40f               // shld    eax, edx, 9
  1199	WORD $0x8b44; BYTE $0x13       // mov    r10d, dword [rbx]
  1200	WORD $0x4b8b; BYTE $0x04       // mov    ecx, dword [rbx + 4]
  1201	LONG $0x06caa40f               // shld    edx, ecx, 6
  1202	LONG $0xd1a40f44; BYTE $0x03   // shld    ecx, r10d, 3
  1203	LONG $0x6e79c1c4; BYTE $0xd2   // vmovd    xmm2, r10d
  1204	LONG $0xdf6ef9c5               // vmovd    xmm3, edi
  1205	LONG $0x2269e3c4; WORD $0x01d1 // vpinsrd    xmm2, xmm2, ecx, 1
  1206	LONG $0x2261e3c4; WORD $0x01de // vpinsrd    xmm3, xmm3, esi, 1
  1207	LONG $0x2269e3c4; WORD $0x02d2 // vpinsrd    xmm2, xmm2, edx, 2
  1208	LONG $0x2261c3c4; WORD $0x02db // vpinsrd    xmm3, xmm3, r11d, 2
  1209	LONG $0x2269e3c4; WORD $0x03d0 // vpinsrd    xmm2, xmm2, eax, 3
  1210	LONG $0x2261c3c4; WORD $0x03d9 // vpinsrd    xmm3, xmm3, r9d, 3
  1211	LONG $0x386de3c4; WORD $0x01d3 // vinserti128    ymm2, ymm2, xmm3, 1
  1212	LONG $0xd0dbedc5               // vpand    ymm2, ymm2, ymm0
  1213	LONG $0x7f7ec1c4; WORD $0xa057 // vmovdqu    yword [r15 - 96], ymm2
  1214	WORD $0x438b; BYTE $0x34       // mov    eax, dword [rbx + 52]
  1215	LONG $0x384b8b44               // mov    r9d, dword [rbx + 56]
  1216	LONG $0xc1a40f41; BYTE $0x0d   // shld    r9d, eax, 13
  1217	WORD $0x538b; BYTE $0x30       // mov    edx, dword [rbx + 48]
  1218	LONG $0x0ad0a40f               // shld    eax, edx, 10
  1219	WORD $0x738b; BYTE $0x2c       // mov    esi, dword [rbx + 44]
  1220	LONG $0x07f2a40f               // shld    edx, esi, 7
  1221	WORD $0x7b8b; BYTE $0x24       // mov    edi, dword [rbx + 36]
  1222	WORD $0x4b8b; BYTE $0x28       // mov    ecx, dword [rbx + 40]
  1223	LONG $0x04cea40f               // shld    esi, ecx, 4
  1224	LONG $0x01f9a40f               // shld    ecx, edi, 1
  1225	LONG $0x537efac5; BYTE $0x1c   // vmovq    xmm2, qword [rbx + 28]
  1226	LONG $0x4569c2c4; BYTE $0xd8   // vpsrlvd    xmm3, xmm2, xmm8
  1227	LONG $0xd270f9c5; BYTE $0xe5   // vpshufd    xmm2, xmm2, 229
  1228	LONG $0x2269e3c4; WORD $0x01d7 // vpinsrd    xmm2, xmm2, edi, 1
  1229	LONG $0x4769c2c4; BYTE $0xd2   // vpsllvd    xmm2, xmm2, xmm10
  1230	LONG $0xd2ebe1c5               // vpor    xmm2, xmm3, xmm2
  1231	LONG $0xde6ef9c5               // vmovd    xmm3, esi
  1232	LONG $0x2261e3c4; WORD $0x01da // vpinsrd    xmm3, xmm3, edx, 1
  1233	LONG $0x2261e3c4; WORD $0x02d8 // vpinsrd    xmm3, xmm3, eax, 2
  1234	LONG $0x2261c3c4; WORD $0x03d9 // vpinsrd    xmm3, xmm3, r9d, 3
  1235	LONG $0x2269e3c4; WORD $0x02d7 // vpinsrd    xmm2, xmm2, edi, 2
  1236	LONG $0x2269e3c4; WORD $0x03d1 // vpinsrd    xmm2, xmm2, ecx, 3
  1237	LONG $0x386de3c4; WORD $0x01d3 // vinserti128    ymm2, ymm2, xmm3, 1
  1238	LONG $0x456dc2c4; BYTE $0xd3   // vpsrlvd    ymm2, ymm2, ymm11
  1239	LONG $0xd0dbedc5               // vpand    ymm2, ymm2, ymm0
  1240	LONG $0x7f7ec1c4; WORD $0xc057 // vmovdqu    yword [r15 - 64], ymm2
  1241	WORD $0x438b; BYTE $0x50       // mov    eax, dword [rbx + 80]
  1242	WORD $0x4b8b; BYTE $0x54       // mov    ecx, dword [rbx + 84]
  1243	LONG $0x05c1a40f               // shld    ecx, eax, 5
  1244	WORD $0x538b; BYTE $0x4c       // mov    edx, dword [rbx + 76]
  1245	WORD $0x738b; BYTE $0x48       // mov    esi, dword [rbx + 72]
  1246	LONG $0x02d0a40f               // shld    eax, edx, 2
  1247	WORD $0xd789                   // mov    edi, edx
  1248	LONG $0x1cf7a40f               // shld    edi, esi, 28
  1249	LONG $0x536ffac5; BYTE $0x38   // vmovdqu    xmm2, oword [rbx + 56]
  1250	LONG $0x4569c2c4; BYTE $0xdc   // vpsrlvd    xmm3, xmm2, xmm12
  1251	LONG $0xd270f9c5; BYTE $0xf9   // vpshufd    xmm2, xmm2, 249
  1252	LONG $0x2269e3c4; WORD $0x03d6 // vpinsrd    xmm2, xmm2, esi, 3
  1253	LONG $0xe76ef9c5               // vmovd    xmm4, edi
  1254	LONG $0x2259e3c4; WORD $0x01e2 // vpinsrd    xmm4, xmm4, edx, 1
  1255	LONG $0x2259e3c4; WORD $0x02e0 // vpinsrd    xmm4, xmm4, eax, 2
  1256	LONG $0x4769e2c4; BYTE $0xd5   // vpsllvd    xmm2, xmm2, xmm5
  1257	LONG $0x2259e3c4; WORD $0x03e1 // vpinsrd    xmm4, xmm4, ecx, 3
  1258	LONG $0xd2ebe1c5               // vpor    xmm2, xmm3, xmm2
  1259	LONG $0x386de3c4; WORD $0x01d4 // vinserti128    ymm2, ymm2, xmm4, 1
  1260	LONG $0x456de2c4; BYTE $0xd6   // vpsrlvd    ymm2, ymm2, ymm6
  1261	LONG $0xd0dbedc5               // vpand    ymm2, ymm2, ymm0
  1262	LONG $0x7f7ec1c4; WORD $0xe057 // vmovdqu    yword [r15 - 32], ymm2
  1263	WORD $0x438b; BYTE $0x70       // mov    eax, dword [rbx + 112]
  1264	WORD $0x4b8b; BYTE $0x6c       // mov    ecx, dword [rbx + 108]
  1265	WORD $0xc289                   // mov    edx, eax
  1266	LONG $0x1acaa40f               // shld    edx, ecx, 26
  1267	WORD $0x738b; BYTE $0x68       // mov    esi, dword [rbx + 104]
  1268	LONG $0x17f1a40f               // shld    ecx, esi, 23
  1269	WORD $0x7b8b; BYTE $0x64       // mov    edi, dword [rbx + 100]
  1270	LONG $0x536ffac5; BYTE $0x54   // vmovdqu    xmm2, oword [rbx + 84]
  1271	LONG $0x14fea40f               // shld    esi, edi, 20
  1272	LONG $0x4569e2c4; BYTE $0xdf   // vpsrlvd    xmm3, xmm2, xmm7
  1273	LONG $0xd270f9c5; BYTE $0xf9   // vpshufd    xmm2, xmm2, 249
  1274	LONG $0x2269e3c4; WORD $0x03d7 // vpinsrd    xmm2, xmm2, edi, 3
  1275	LONG $0xe66ef9c5               // vmovd    xmm4, esi
  1276	LONG $0x2259e3c4; WORD $0x01e1 // vpinsrd    xmm4, xmm4, ecx, 1
  1277	LONG $0x4769e2c4; BYTE $0xd1   // vpsllvd    xmm2, xmm2, xmm1
  1278	LONG $0x2259e3c4; WORD $0x02e2 // vpinsrd    xmm4, xmm4, edx, 2
  1279	LONG $0x2259e3c4; WORD $0x03e0 // vpinsrd    xmm4, xmm4, eax, 3
  1280	LONG $0xd2ebe1c5               // vpor    xmm2, xmm3, xmm2
  1281	LONG $0x386de3c4; WORD $0x01d4 // vinserti128    ymm2, ymm2, xmm4, 1
  1282	LONG $0x456dc2c4; BYTE $0xd1   // vpsrlvd    ymm2, ymm2, ymm9
  1283	LONG $0xd0dbedc5               // vpand    ymm2, ymm2, ymm0
  1284	LONG $0x7f7ec1c4; BYTE $0x17   // vmovdqu    yword [r15], ymm2
  1285	LONG $0x74c38348               // add    rbx, 116
  1286	LONG $0x80ef8349               // sub    r15, -128
  1287	LONG $0xffc08349               // add    r8, -1
  1288	JNE  LBB0_89
  1289	JMP  LBB0_147
  1290
  1291LBB0_9:
  1292	WORD $0xf983; BYTE $0x02             // cmp    ecx, 2
  1293	JE   LBB0_141
  1294	WORD $0xf983; BYTE $0x03             // cmp    ecx, 3
  1295	JNE  LBB0_147
  1296	WORD $0xfa83; BYTE $0x20             // cmp    edx, 32
  1297	JL   LBB0_147
  1298	WORD $0x8944; BYTE $0xf0             // mov    eax, r14d
  1299	LONG $0x60c78349                     // add    r15, 96
  1300	QUAD $0x0000e085597de2c4; BYTE $0x00 // vpbroadcastq    ymm0, qword 224[rbp] /* [rip + .LCPI0_127] */
  1301	QUAD $0x00000a008d6ffdc5             // vmovdqa    ymm1, yword 2560[rbp] /* [rip + .LCPI0_126] */
  1302	QUAD $0x00000a20956ffdc5             // vmovdqa    ymm2, yword 2592[rbp] /* [rip + .LCPI0_128] */
  1303	QUAD $0x00000a409d6ffdc5             // vmovdqa    ymm3, yword 2624[rbp] /* [rip + .LCPI0_129] */
  1304	QUAD $0x00000a60a56ffdc5             // vmovdqa    ymm4, yword 2656[rbp] /* [rip + .LCPI0_130] */
  1305
  1306LBB0_13:
  1307	LONG $0x587de2c4; BYTE $0x2b   // vpbroadcastd    ymm5, dword [rbx]
  1308	LONG $0x4555e2c4; BYTE $0xe9   // vpsrlvd    ymm5, ymm5, ymm1
  1309	LONG $0xe8dbd5c5               // vpand    ymm5, ymm5, ymm0
  1310	LONG $0x7f7ec1c4; WORD $0xa06f // vmovdqu    yword [r15 - 96], ymm5
  1311	WORD $0x0b8b                   // mov    ecx, dword [rbx]
  1312	WORD $0x538b; BYTE $0x04       // mov    edx, dword [rbx + 4]
  1313	WORD $0xd689                   // mov    esi, edx
  1314	LONG $0x02cea40f               // shld    esi, ecx, 2
  1315	LONG $0xe96ef9c5               // vmovd    xmm5, ecx
  1316	LONG $0x2251e3c4; WORD $0x01e9 // vpinsrd    xmm5, xmm5, ecx, 1
  1317	LONG $0x2251e3c4; WORD $0x02ee // vpinsrd    xmm5, xmm5, esi, 2
  1318	LONG $0x2251e3c4; WORD $0x03ea // vpinsrd    xmm5, xmm5, edx, 3
  1319	LONG $0xf26ef9c5               // vmovd    xmm6, edx
  1320	LONG $0x5879e2c4; BYTE $0xf6   // vpbroadcastd    xmm6, xmm6
  1321	LONG $0x3855e3c4; WORD $0x01ee // vinserti128    ymm5, ymm5, xmm6, 1
  1322	LONG $0x4555e2c4; BYTE $0xea   // vpsrlvd    ymm5, ymm5, ymm2
  1323	LONG $0xe8dbd5c5               // vpand    ymm5, ymm5, ymm0
  1324	LONG $0x7f7ec1c4; WORD $0xc06f // vmovdqu    yword [r15 - 64], ymm5
  1325	WORD $0x4b8b; BYTE $0x04       // mov    ecx, dword [rbx + 4]
  1326	WORD $0x538b; BYTE $0x08       // mov    edx, dword [rbx + 8]
  1327	WORD $0xd689                   // mov    esi, edx
  1328	LONG $0x01cea40f               // shld    esi, ecx, 1
  1329	LONG $0xe96ef9c5               // vmovd    xmm5, ecx
  1330	LONG $0x5879e2c4; BYTE $0xf5   // vpbroadcastd    xmm6, xmm5
  1331	LONG $0x2251e3c4; WORD $0x01ee // vpinsrd    xmm5, xmm5, esi, 1
  1332	LONG $0x2251e3c4; WORD $0x02ea // vpinsrd    xmm5, xmm5, edx, 2
  1333	LONG $0x2251e3c4; WORD $0x03ea // vpinsrd    xmm5, xmm5, edx, 3
  1334	LONG $0x384de3c4; WORD $0x01ed // vinserti128    ymm5, ymm6, xmm5, 1
  1335	LONG $0x4555e2c4; BYTE $0xeb   // vpsrlvd    ymm5, ymm5, ymm3
  1336	LONG $0xe8dbd5c5               // vpand    ymm5, ymm5, ymm0
  1337	LONG $0x7f7ec1c4; WORD $0xe06f // vmovdqu    yword [r15 - 32], ymm5
  1338	LONG $0x587de2c4; WORD $0x086b // vpbroadcastd    ymm5, dword [rbx + 8]
  1339	LONG $0x4555e2c4; BYTE $0xec   // vpsrlvd    ymm5, ymm5, ymm4
  1340	LONG $0xe8dbd5c5               // vpand    ymm5, ymm5, ymm0
  1341	LONG $0x7f7ec1c4; BYTE $0x2f   // vmovdqu    yword [r15], ymm5
  1342	LONG $0x80ef8349               // sub    r15, -128
  1343	LONG $0x0cc38348               // add    rbx, 12
  1344	LONG $0xffc08348               // add    rax, -1
  1345	JNE  LBB0_13
  1346	JMP  LBB0_147
  1347
  1348LBB0_56:
  1349	WORD $0xf983; BYTE $0x12       // cmp    ecx, 18
  1350	JE   LBB0_117
  1351	WORD $0xf983; BYTE $0x13       // cmp    ecx, 19
  1352	JNE  LBB0_147
  1353	WORD $0xfa83; BYTE $0x20       // cmp    edx, 32
  1354	JL   LBB0_147
  1355	WORD $0x8945; BYTE $0xf0       // mov    r8d, r14d
  1356	LONG $0x60c78349               // add    r15, 96
  1357	LONG $0x48c38348               // add    rbx, 72
  1358	LONG $0x597de2c4; WORD $0x6845 // vpbroadcastq    ymm0, qword 104[rbp] /* [rip + .LCPI0_68] */
  1359	QUAD $0x000004c08d6ffdc5       // vmovdqa    ymm1, yword 1216[rbp] /* [rip + .LCPI0_67] */
  1360	QUAD $0x000004e0956ffdc5       // vmovdqa    ymm2, yword 1248[rbp] /* [rip + .LCPI0_69] */
  1361	QUAD $0x000005009d6ffdc5       // vmovdqa    ymm3, yword 1280[rbp] /* [rip + .LCPI0_70] */
  1362	QUAD $0x00000520a56ffdc5       // vmovdqa    ymm4, yword 1312[rbp] /* [rip + .LCPI0_71] */
  1363
  1364LBB0_60:
  1365	LONG $0xc84b8b44               // mov    r9d, dword [rbx - 56]
  1366	WORD $0x538b; BYTE $0xc4       // mov    edx, dword [rbx - 60]
  1367	WORD $0x8944; BYTE $0xce       // mov    esi, r9d
  1368	LONG $0x0ed6a40f               // shld    esi, edx, 14
  1369	WORD $0x7b8b; BYTE $0xc0       // mov    edi, dword [rbx - 64]
  1370	LONG $0xb8538b44               // mov    r10d, dword [rbx - 72]
  1371	LONG $0x01faa40f               // shld    edx, edi, 1
  1372	WORD $0x438b; BYTE $0xbc       // mov    eax, dword [rbx - 68]
  1373	WORD $0xc189                   // mov    ecx, eax
  1374	LONG $0xd1a40f44; BYTE $0x0d   // shld    ecx, r10d, 13
  1375	LONG $0xef6ef9c5               // vmovd    xmm5, edi
  1376	LONG $0x07c7a40f               // shld    edi, eax, 7
  1377	LONG $0x2251e3c4; WORD $0x01ea // vpinsrd    xmm5, xmm5, edx, 1
  1378	LONG $0x6e79c1c4; BYTE $0xf2   // vmovd    xmm6, r10d
  1379	LONG $0x2251e3c4; WORD $0x02ee // vpinsrd    xmm5, xmm5, esi, 2
  1380	LONG $0x2249e3c4; WORD $0x01f1 // vpinsrd    xmm6, xmm6, ecx, 1
  1381	LONG $0x2251c3c4; WORD $0x03e9 // vpinsrd    xmm5, xmm5, r9d, 3
  1382	LONG $0x2249e3c4; WORD $0x02f0 // vpinsrd    xmm6, xmm6, eax, 2
  1383	LONG $0x2249e3c4; WORD $0x03f7 // vpinsrd    xmm6, xmm6, edi, 3
  1384	LONG $0x384de3c4; WORD $0x01ed // vinserti128    ymm5, ymm6, xmm5, 1
  1385	LONG $0x4555e2c4; BYTE $0xe9   // vpsrlvd    ymm5, ymm5, ymm1
  1386	LONG $0xe8dbd5c5               // vpand    ymm5, ymm5, ymm0
  1387	LONG $0x7f7ec1c4; WORD $0xa06f // vmovdqu    yword [r15 - 96], ymm5
  1388	LONG $0xd8538b44               // mov    r10d, dword [rbx - 40]
  1389	LONG $0xdc4b8b44               // mov    r9d, dword [rbx - 36]
  1390	LONG $0xd1a40f45; BYTE $0x03   // shld    r9d, r10d, 3
  1391	WORD $0x538b; BYTE $0xd4       // mov    edx, dword [rbx - 44]
  1392	WORD $0x8944; BYTE $0xd6       // mov    esi, r10d
  1393	LONG $0x09d6a40f               // shld    esi, edx, 9
  1394	WORD $0x7b8b; BYTE $0xd0       // mov    edi, dword [rbx - 48]
  1395	LONG $0xea6ef9c5               // vmovd    xmm5, edx
  1396	LONG $0x0ffaa40f               // shld    edx, edi, 15
  1397	WORD $0x4b8b; BYTE $0xc8       // mov    ecx, dword [rbx - 56]
  1398	WORD $0x438b; BYTE $0xcc       // mov    eax, dword [rbx - 52]
  1399	LONG $0x02c7a40f               // shld    edi, eax, 2
  1400	LONG $0x18c1ac0f               // shrd    ecx, eax, 24
  1401	LONG $0x2251e3c4; WORD $0x01ee // vpinsrd    xmm5, xmm5, esi, 1
  1402	LONG $0xf16ef9c5               // vmovd    xmm6, ecx
  1403	LONG $0x2251c3c4; WORD $0x02ea // vpinsrd    xmm5, xmm5, r10d, 2
  1404	LONG $0x2249e3c4; WORD $0x01f0 // vpinsrd    xmm6, xmm6, eax, 1
  1405	LONG $0x2251c3c4; WORD $0x03e9 // vpinsrd    xmm5, xmm5, r9d, 3
  1406	LONG $0x2249e3c4; WORD $0x02f7 // vpinsrd    xmm6, xmm6, edi, 2
  1407	LONG $0x2249e3c4; WORD $0x03f2 // vpinsrd    xmm6, xmm6, edx, 3
  1408	LONG $0x384de3c4; WORD $0x01ed // vinserti128    ymm5, ymm6, xmm5, 1
  1409	LONG $0x4555e2c4; BYTE $0xea   // vpsrlvd    ymm5, ymm5, ymm2
  1410	LONG $0xe8dbd5c5               // vpand    ymm5, ymm5, ymm0
  1411	LONG $0x7f7ec1c4; WORD $0xc06f // vmovdqu    yword [r15 - 64], ymm5
  1412	LONG $0xec538b44               // mov    r10d, dword [rbx - 20]
  1413	LONG $0xf04b8b44               // mov    r9d, dword [rbx - 16]
  1414	LONG $0xd1a40f45; BYTE $0x0b   // shld    r9d, r10d, 11
  1415	WORD $0x538b; BYTE $0xe8       // mov    edx, dword [rbx - 24]
  1416	WORD $0x8944; BYTE $0xd6       // mov    esi, r10d
  1417	LONG $0xe45b8b44               // mov    r11d, dword [rbx - 28]
  1418	LONG $0x11d6a40f               // shld    esi, edx, 17
  1419	WORD $0x4b8b; BYTE $0xdc       // mov    ecx, dword [rbx - 36]
  1420	WORD $0x438b; BYTE $0xe0       // mov    eax, dword [rbx - 32]
  1421	LONG $0xdaa40f44; BYTE $0x04   // shld    edx, r11d, 4
  1422	WORD $0x8944; BYTE $0xdf       // mov    edi, r11d
  1423	LONG $0x0ac7a40f               // shld    edi, eax, 10
  1424	LONG $0x10c1ac0f               // shrd    ecx, eax, 16
  1425	LONG $0xea6ef9c5               // vmovd    xmm5, edx
  1426	LONG $0x2251e3c4; WORD $0x01ee // vpinsrd    xmm5, xmm5, esi, 1
  1427	LONG $0xf16ef9c5               // vmovd    xmm6, ecx
  1428	LONG $0x2251c3c4; WORD $0x02ea // vpinsrd    xmm5, xmm5, r10d, 2
  1429	LONG $0x2249e3c4; WORD $0x01f0 // vpinsrd    xmm6, xmm6, eax, 1
  1430	LONG $0x2251c3c4; WORD $0x03e9 // vpinsrd    xmm5, xmm5, r9d, 3
  1431	LONG $0x2249e3c4; WORD $0x02f7 // vpinsrd    xmm6, xmm6, edi, 2
  1432	LONG $0x2249c3c4; WORD $0x03f3 // vpinsrd    xmm6, xmm6, r11d, 3
  1433	LONG $0x384de3c4; WORD $0x01ed // vinserti128    ymm5, ymm6, xmm5, 1
  1434	LONG $0x4555e2c4; BYTE $0xeb   // vpsrlvd    ymm5, ymm5, ymm3
  1435	LONG $0xe8dbd5c5               // vpand    ymm5, ymm5, ymm0
  1436	LONG $0x7f7ec1c4; WORD $0xe06f // vmovdqu    yword [r15 - 32], ymm5
  1437	WORD $0x8b44; BYTE $0x0b       // mov    r9d, dword [rbx]
  1438	LONG $0xfc5b8b44               // mov    r11d, dword [rbx - 4]
  1439	WORD $0x8944; BYTE $0xca       // mov    edx, r9d
  1440	LONG $0xdaa40f44; BYTE $0x06   // shld    edx, r11d, 6
  1441	WORD $0x4b8b; BYTE $0xf8       // mov    ecx, dword [rbx - 8]
  1442	WORD $0x8944; BYTE $0xdf       // mov    edi, r11d
  1443	LONG $0x0ccfa40f               // shld    edi, ecx, 12
  1444	LONG $0xf0538b44               // mov    r10d, dword [rbx - 16]
  1445	WORD $0x438b; BYTE $0xf4       // mov    eax, dword [rbx - 12]
  1446	WORD $0xce89                   // mov    esi, ecx
  1447	LONG $0x12c6a40f               // shld    esi, eax, 18
  1448	LONG $0xd0a40f44; BYTE $0x05   // shld    eax, r10d, 5
  1449	LONG $0x6e79c1c4; BYTE $0xea   // vmovd    xmm5, r10d
  1450	LONG $0xf76ef9c5               // vmovd    xmm6, edi
  1451	LONG $0x2251e3c4; WORD $0x01e8 // vpinsrd    xmm5, xmm5, eax, 1
  1452	LONG $0x2249c3c4; WORD $0x01f3 // vpinsrd    xmm6, xmm6, r11d, 1
  1453	LONG $0x2251e3c4; WORD $0x02ee // vpinsrd    xmm5, xmm5, esi, 2
  1454	LONG $0x2249e3c4; WORD $0x02f2 // vpinsrd    xmm6, xmm6, edx, 2
  1455	LONG $0x2251e3c4; WORD $0x03e9 // vpinsrd    xmm5, xmm5, ecx, 3
  1456	LONG $0x2249c3c4; WORD $0x03f1 // vpinsrd    xmm6, xmm6, r9d, 3
  1457	LONG $0x3855e3c4; WORD $0x01ee // vinserti128    ymm5, ymm5, xmm6, 1
  1458	LONG $0x4555e2c4; BYTE $0xec   // vpsrlvd    ymm5, ymm5, ymm4
  1459	LONG $0xe8dbd5c5               // vpand    ymm5, ymm5, ymm0
  1460	LONG $0x7f7ec1c4; BYTE $0x2f   // vmovdqu    yword [r15], ymm5
  1461	LONG $0x80ef8349               // sub    r15, -128
  1462	LONG $0x4cc38348               // add    rbx, 76
  1463	LONG $0xffc08349               // add    r8, -1
  1464	JNE  LBB0_60
  1465	JMP  LBB0_147
  1466
  1467LBB0_32:
  1468	WORD $0xf983; BYTE $0x0a             // cmp    ecx, 10
  1469	JE   LBB0_129
  1470	WORD $0xf983; BYTE $0x0b             // cmp    ecx, 11
  1471	JNE  LBB0_147
  1472	WORD $0xfa83; BYTE $0x20             // cmp    edx, 32
  1473	JL   LBB0_147
  1474	WORD $0x8945; BYTE $0xf0             // mov    r8d, r14d
  1475	LONG $0x60c78349                     // add    r15, 96
  1476	LONG $0x28c38348                     // add    rbx, 40
  1477	QUAD $0x0000a885597de2c4; BYTE $0x00 // vpbroadcastq    ymm0, qword 168[rbp] /* [rip + .LCPI0_97] */
  1478	QUAD $0x000007608d6ffdc5             // vmovdqa    ymm1, yword 1888[rbp] /* [rip + .LCPI0_96] */
  1479	QUAD $0x00000780956ffdc5             // vmovdqa    ymm2, yword 1920[rbp] /* [rip + .LCPI0_98] */
  1480	QUAD $0x000007a09d6ffdc5             // vmovdqa    ymm3, yword 1952[rbp] /* [rip + .LCPI0_99] */
  1481	QUAD $0x000007c0a56ffdc5             // vmovdqa    ymm4, yword 1984[rbp] /* [rip + .LCPI0_100] */
  1482
  1483LBB0_36:
  1484	WORD $0x4b8b; BYTE $0xe0       // mov    ecx, dword [rbx - 32]
  1485	WORD $0x538b; BYTE $0xd8       // mov    edx, dword [rbx - 40]
  1486	WORD $0x738b; BYTE $0xdc       // mov    esi, dword [rbx - 36]
  1487	WORD $0xcf89                   // mov    edi, ecx
  1488	LONG $0x09f7a40f               // shld    edi, esi, 9
  1489	WORD $0xf089                   // mov    eax, esi
  1490	LONG $0x0ad0a40f               // shld    eax, edx, 10
  1491	LONG $0xee6ef9c5               // vmovd    xmm5, esi
  1492	LONG $0x2251e3c4; WORD $0x01ef // vpinsrd    xmm5, xmm5, edi, 1
  1493	LONG $0x2251e3c4; WORD $0x02e9 // vpinsrd    xmm5, xmm5, ecx, 2
  1494	LONG $0x2251e3c4; WORD $0x03e9 // vpinsrd    xmm5, xmm5, ecx, 3
  1495	LONG $0xf26ef9c5               // vmovd    xmm6, edx
  1496	LONG $0x2249e3c4; WORD $0x01f2 // vpinsrd    xmm6, xmm6, edx, 1
  1497	LONG $0x2249e3c4; WORD $0x02f0 // vpinsrd    xmm6, xmm6, eax, 2
  1498	LONG $0x2249e3c4; WORD $0x03f6 // vpinsrd    xmm6, xmm6, esi, 3
  1499	LONG $0x384de3c4; WORD $0x01ed // vinserti128    ymm5, ymm6, xmm5, 1
  1500	LONG $0x4555e2c4; BYTE $0xe9   // vpsrlvd    ymm5, ymm5, ymm1
  1501	LONG $0xe8dbd5c5               // vpand    ymm5, ymm5, ymm0
  1502	LONG $0x7f7ec1c4; WORD $0xa06f // vmovdqu    yword [r15 - 96], ymm5
  1503	WORD $0x438b; BYTE $0xec       // mov    eax, dword [rbx - 20]
  1504	WORD $0x4b8b; BYTE $0xe8       // mov    ecx, dword [rbx - 24]
  1505	WORD $0xc289                   // mov    edx, eax
  1506	LONG $0x06caa40f               // shld    edx, ecx, 6
  1507	WORD $0x738b; BYTE $0xe0       // mov    esi, dword [rbx - 32]
  1508	WORD $0x7b8b; BYTE $0xe4       // mov    edi, dword [rbx - 28]
  1509	LONG $0xe96ef9c5               // vmovd    xmm5, ecx
  1510	LONG $0x2251e3c4; WORD $0x01e9 // vpinsrd    xmm5, xmm5, ecx, 1
  1511	LONG $0x07f9a40f               // shld    ecx, edi, 7
  1512	LONG $0x18feac0f               // shrd    esi, edi, 24
  1513	LONG $0x2251e3c4; WORD $0x02ea // vpinsrd    xmm5, xmm5, edx, 2
  1514	LONG $0x2251e3c4; WORD $0x03e8 // vpinsrd    xmm5, xmm5, eax, 3
  1515	LONG $0xf66ef9c5               // vmovd    xmm6, esi
  1516	LONG $0x2249e3c4; WORD $0x01f7 // vpinsrd    xmm6, xmm6, edi, 1
  1517	LONG $0x2249e3c4; WORD $0x02f7 // vpinsrd    xmm6, xmm6, edi, 2
  1518	LONG $0x2249e3c4; WORD $0x03f1 // vpinsrd    xmm6, xmm6, ecx, 3
  1519	LONG $0x384de3c4; WORD $0x01ed // vinserti128    ymm5, ymm6, xmm5, 1
  1520	LONG $0x4555e2c4; BYTE $0xea   // vpsrlvd    ymm5, ymm5, ymm2
  1521	LONG $0xe8dbd5c5               // vpand    ymm5, ymm5, ymm0
  1522	LONG $0x7f7ec1c4; WORD $0xc06f // vmovdqu    yword [r15 - 64], ymm5
  1523	WORD $0x438b; BYTE $0xf4       // mov    eax, dword [rbx - 12]
  1524	WORD $0x4b8b; BYTE $0xf8       // mov    ecx, dword [rbx - 8]
  1525	LONG $0x03c1a40f               // shld    ecx, eax, 3
  1526	LONG $0xec4b8b44               // mov    r9d, dword [rbx - 20]
  1527	WORD $0x738b; BYTE $0xf0       // mov    esi, dword [rbx - 16]
  1528	WORD $0xc789                   // mov    edi, eax
  1529	LONG $0x04f7a40f               // shld    edi, esi, 4
  1530	WORD $0xf289                   // mov    edx, esi
  1531	LONG $0xcaa40f44; BYTE $0x05   // shld    edx, r9d, 5
  1532	LONG $0xef6ef9c5               // vmovd    xmm5, edi
  1533	LONG $0x2251e3c4; WORD $0x01e8 // vpinsrd    xmm5, xmm5, eax, 1
  1534	LONG $0x2251e3c4; WORD $0x02e8 // vpinsrd    xmm5, xmm5, eax, 2
  1535	LONG $0x2251e3c4; WORD $0x03e9 // vpinsrd    xmm5, xmm5, ecx, 3
  1536	LONG $0x6e79c1c4; BYTE $0xf1   // vmovd    xmm6, r9d
  1537	LONG $0x2249e3c4; WORD $0x01f2 // vpinsrd    xmm6, xmm6, edx, 1
  1538	LONG $0x2249e3c4; WORD $0x02f6 // vpinsrd    xmm6, xmm6, esi, 2
  1539	LONG $0x2249e3c4; WORD $0x03f6 // vpinsrd    xmm6, xmm6, esi, 3
  1540	LONG $0x384de3c4; WORD $0x01ed // vinserti128    ymm5, ymm6, xmm5, 1
  1541	LONG $0x4555e2c4; BYTE $0xeb   // vpsrlvd    ymm5, ymm5, ymm3
  1542	LONG $0xe8dbd5c5               // vpand    ymm5, ymm5, ymm0
  1543	LONG $0x7f7ec1c4; WORD $0xe06f // vmovdqu    yword [r15 - 32], ymm5
  1544	WORD $0x038b                   // mov    eax, dword [rbx]
  1545	WORD $0x4b8b; BYTE $0xf8       // mov    ecx, dword [rbx - 8]
  1546	WORD $0x538b; BYTE $0xfc       // mov    edx, dword [rbx - 4]
  1547	WORD $0xc689                   // mov    esi, eax
  1548	LONG $0x01d6a40f               // shld    esi, edx, 1
  1549	WORD $0xd789                   // mov    edi, edx
  1550	LONG $0x02cfa40f               // shld    edi, ecx, 2
  1551	LONG $0xea6ef9c5               // vmovd    xmm5, edx
  1552	LONG $0x2251e3c4; WORD $0x01ee // vpinsrd    xmm5, xmm5, esi, 1
  1553	LONG $0x2251e3c4; WORD $0x02e8 // vpinsrd    xmm5, xmm5, eax, 2
  1554	LONG $0x2251e3c4; WORD $0x03e8 // vpinsrd    xmm5, xmm5, eax, 3
  1555	LONG $0xf16ef9c5               // vmovd    xmm6, ecx
  1556	LONG $0x2249e3c4; WORD $0x01f1 // vpinsrd    xmm6, xmm6, ecx, 1
  1557	LONG $0x2249e3c4; WORD $0x02f7 // vpinsrd    xmm6, xmm6, edi, 2
  1558	LONG $0x2249e3c4; WORD $0x03f2 // vpinsrd    xmm6, xmm6, edx, 3
  1559	LONG $0x384de3c4; WORD $0x01ed // vinserti128    ymm5, ymm6, xmm5, 1
  1560	LONG $0x4555e2c4; BYTE $0xec   // vpsrlvd    ymm5, ymm5, ymm4
  1561	LONG $0xe8dbd5c5               // vpand    ymm5, ymm5, ymm0
  1562	LONG $0x7f7ec1c4; BYTE $0x2f   // vmovdqu    yword [r15], ymm5
  1563	LONG $0x80ef8349               // sub    r15, -128
  1564	LONG $0x2cc38348               // add    rbx, 44
  1565	LONG $0xffc08349               // add    r8, -1
  1566	JNE  LBB0_36
  1567	JMP  LBB0_147
  1568
  1569LBB0_79:
  1570	WORD $0xf983; BYTE $0x1a       // cmp    ecx, 26
  1571	JE   LBB0_105
  1572	WORD $0xf983; BYTE $0x1b       // cmp    ecx, 27
  1573	JNE  LBB0_147
  1574	WORD $0xfa83; BYTE $0x20       // cmp    edx, 32
  1575	JL   LBB0_147
  1576	WORD $0x8945; BYTE $0xf0       // mov    r8d, r14d
  1577	LONG $0x60c78349               // add    r15, 96
  1578	LONG $0x68c38348               // add    rbx, 104
  1579	LONG $0x597de2c4; WORD $0x2045 // vpbroadcastq    ymm0, qword 32[rbp] /* [rip + .LCPI0_25] */
  1580	QUAD $0x000002408d6f7dc5       // vmovdqa    ymm9, yword 576[rbp] /* [rip + .LCPI0_24] */
  1581	QUAD $0x00000ba0956f79c5       // vmovdqa    xmm10, oword 2976[rbp] /* [rip + .LCPI0_26] */
  1582	QUAD $0x00000bb09d6f79c5       // vmovdqa    xmm11, oword 2992[rbp] /* [rip + .LCPI0_27] */
  1583	QUAD $0x00000260a56ffdc5       // vmovdqa    ymm4, yword 608[rbp] /* [rip + .LCPI0_28] */
  1584	QUAD $0x00000bc0ad6ff9c5       // vmovdqa    xmm5, oword 3008[rbp] /* [rip + .LCPI0_29] */
  1585	QUAD $0x00000bd0b56ff9c5       // vmovdqa    xmm6, oword 3024[rbp] /* [rip + .LCPI0_30] */
  1586	QUAD $0x00000280bd6ffdc5       // vmovdqa    ymm7, yword 640[rbp] /* [rip + .LCPI0_31] */
  1587	QUAD $0x000002a0856f7dc5       // vmovdqa    ymm8, yword 672[rbp] /* [rip + .LCPI0_32] */
  1588
  1589LBB0_83:
  1590	LONG $0xac538b44               // mov    r10d, dword [rbx - 84]
  1591	LONG $0xb04b8b44               // mov    r9d, dword [rbx - 80]
  1592	LONG $0xd1a40f45; BYTE $0x03   // shld    r9d, r10d, 3
  1593	WORD $0x738b; BYTE $0xa8       // mov    esi, dword [rbx - 88]
  1594	WORD $0x8944; BYTE $0xd7       // mov    edi, r10d
  1595	LONG $0x19f7a40f               // shld    edi, esi, 25
  1596	WORD $0x438b; BYTE $0xa4       // mov    eax, dword [rbx - 92]
  1597	LONG $0x14c6a40f               // shld    esi, eax, 20
  1598	WORD $0x538b; BYTE $0xa0       // mov    edx, dword [rbx - 96]
  1599	LONG $0x0fd0a40f               // shld    eax, edx, 15
  1600	LONG $0x985b8b44               // mov    r11d, dword [rbx - 104]
  1601	WORD $0x4b8b; BYTE $0x9c       // mov    ecx, dword [rbx - 100]
  1602	LONG $0x0acaa40f               // shld    edx, ecx, 10
  1603	LONG $0xd9a40f44; BYTE $0x05   // shld    ecx, r11d, 5
  1604	LONG $0x6e79c1c4; BYTE $0xcb   // vmovd    xmm1, r11d
  1605	LONG $0xd66ef9c5               // vmovd    xmm2, esi
  1606	LONG $0x2271e3c4; WORD $0x01c9 // vpinsrd    xmm1, xmm1, ecx, 1
  1607	LONG $0x2269e3c4; WORD $0x01d7 // vpinsrd    xmm2, xmm2, edi, 1
  1608	LONG $0x2271e3c4; WORD $0x02ca // vpinsrd    xmm1, xmm1, edx, 2
  1609	LONG $0x2269c3c4; WORD $0x02d2 // vpinsrd    xmm2, xmm2, r10d, 2
  1610	LONG $0x2271e3c4; WORD $0x03c8 // vpinsrd    xmm1, xmm1, eax, 3
  1611	LONG $0x2269c3c4; WORD $0x03d1 // vpinsrd    xmm2, xmm2, r9d, 3
  1612	LONG $0x3875e3c4; WORD $0x01ca // vinserti128    ymm1, ymm1, xmm2, 1
  1613	LONG $0x4575c2c4; BYTE $0xc9   // vpsrlvd    ymm1, ymm1, ymm9
  1614	LONG $0xc8dbf5c5               // vpand    ymm1, ymm1, ymm0
  1615	LONG $0x7f7ec1c4; WORD $0xa04f // vmovdqu    yword [r15 - 96], ymm1
  1616	WORD $0x438b; BYTE $0xc8       // mov    eax, dword [rbx - 56]
  1617	WORD $0x4b8b; BYTE $0xcc       // mov    ecx, dword [rbx - 52]
  1618	LONG $0x0bc1a40f               // shld    ecx, eax, 11
  1619	WORD $0x538b; BYTE $0xc4       // mov    edx, dword [rbx - 60]
  1620	WORD $0x738b; BYTE $0xc0       // mov    esi, dword [rbx - 64]
  1621	LONG $0x06d0a40f               // shld    eax, edx, 6
  1622	LONG $0x01f2a40f               // shld    edx, esi, 1
  1623	LONG $0x4b6ffac5; BYTE $0xb0   // vmovdqu    xmm1, oword [rbx - 80]
  1624	LONG $0x4571c2c4; BYTE $0xd2   // vpsrlvd    xmm2, xmm1, xmm10
  1625	LONG $0xc970f9c5; BYTE $0xf9   // vpshufd    xmm1, xmm1, 249
  1626	LONG $0xde6ef9c5               // vmovd    xmm3, esi
  1627	LONG $0x2271e3c4; WORD $0x03ce // vpinsrd    xmm1, xmm1, esi, 3
  1628	LONG $0x2261e3c4; WORD $0x01da // vpinsrd    xmm3, xmm3, edx, 1
  1629	LONG $0x2261e3c4; WORD $0x02d8 // vpinsrd    xmm3, xmm3, eax, 2
  1630	LONG $0x4771c2c4; BYTE $0xcb   // vpsllvd    xmm1, xmm1, xmm11
  1631	LONG $0x2261e3c4; WORD $0x03d9 // vpinsrd    xmm3, xmm3, ecx, 3
  1632	LONG $0xc9ebe9c5               // vpor    xmm1, xmm2, xmm1
  1633	LONG $0x3875e3c4; WORD $0x01cb // vinserti128    ymm1, ymm1, xmm3, 1
  1634	LONG $0x4575e2c4; BYTE $0xcc   // vpsrlvd    ymm1, ymm1, ymm4
  1635	LONG $0xc8dbf5c5               // vpand    ymm1, ymm1, ymm0
  1636	LONG $0x7f7ec1c4; WORD $0xc04f // vmovdqu    yword [r15 - 64], ymm1
  1637	WORD $0x438b; BYTE $0xe4       // mov    eax, dword [rbx - 28]
  1638	LONG $0xe84b8b44               // mov    r9d, dword [rbx - 24]
  1639	LONG $0xc1a40f41; BYTE $0x13   // shld    r9d, eax, 19
  1640	WORD $0x538b; BYTE $0xe0       // mov    edx, dword [rbx - 32]
  1641	LONG $0x0ed0a40f               // shld    eax, edx, 14
  1642	WORD $0x738b; BYTE $0xdc       // mov    esi, dword [rbx - 36]
  1643	LONG $0x09f2a40f               // shld    edx, esi, 9
  1644	LONG $0xd4538b44               // mov    r10d, dword [rbx - 44]
  1645	WORD $0x7b8b; BYTE $0xd8       // mov    edi, dword [rbx - 40]
  1646	LONG $0x04fea40f               // shld    esi, edi, 4
  1647	WORD $0xf989                   // mov    ecx, edi
  1648	LONG $0xd1a40f44; BYTE $0x1a   // shld    ecx, r10d, 26
  1649	LONG $0x4b7efac5; BYTE $0xcc   // vmovq    xmm1, qword [rbx - 52]
  1650	LONG $0x4571e2c4; BYTE $0xd5   // vpsrlvd    xmm2, xmm1, xmm5
  1651	LONG $0xc970f9c5; BYTE $0xe5   // vpshufd    xmm1, xmm1, 229
  1652	LONG $0x2271c3c4; WORD $0x01ca // vpinsrd    xmm1, xmm1, r10d, 1
  1653	LONG $0x4771e2c4; BYTE $0xce   // vpsllvd    xmm1, xmm1, xmm6
  1654	LONG $0xde6ef9c5               // vmovd    xmm3, esi
  1655	LONG $0x2261e3c4; WORD $0x01da // vpinsrd    xmm3, xmm3, edx, 1
  1656	LONG $0xc9ebe9c5               // vpor    xmm1, xmm2, xmm1
  1657	LONG $0x2261e3c4; WORD $0x02d0 // vpinsrd    xmm2, xmm3, eax, 2
  1658	LONG $0x2269c3c4; WORD $0x03d1 // vpinsrd    xmm2, xmm2, r9d, 3
  1659	LONG $0x2271e3c4; WORD $0x02c9 // vpinsrd    xmm1, xmm1, ecx, 2
  1660	LONG $0x2271e3c4; WORD $0x03cf // vpinsrd    xmm1, xmm1, edi, 3
  1661	LONG $0x3875e3c4; WORD $0x01ca // vinserti128    ymm1, ymm1, xmm2, 1
  1662	LONG $0x4575e2c4; BYTE $0xcf   // vpsrlvd    ymm1, ymm1, ymm7
  1663	LONG $0xc8dbf5c5               // vpand    ymm1, ymm1, ymm0
  1664	LONG $0x7f7ec1c4; WORD $0xe04f // vmovdqu    yword [r15 - 32], ymm1
  1665	WORD $0x8b44; BYTE $0x0b       // mov    r9d, dword [rbx]
  1666	LONG $0xfc5b8b44               // mov    r11d, dword [rbx - 4]
  1667	WORD $0x8945; BYTE $0xca       // mov    r10d, r9d
  1668	LONG $0xdaa40f45; BYTE $0x16   // shld    r10d, r11d, 22
  1669	WORD $0x738b; BYTE $0xf8       // mov    esi, dword [rbx - 8]
  1670	LONG $0xf3a40f41; BYTE $0x11   // shld    r11d, esi, 17
  1671	WORD $0x7b8b; BYTE $0xf4       // mov    edi, dword [rbx - 12]
  1672	WORD $0x438b; BYTE $0xf0       // mov    eax, dword [rbx - 16]
  1673	LONG $0x0cfea40f               // shld    esi, edi, 12
  1674	WORD $0x538b; BYTE $0xe8       // mov    edx, dword [rbx - 24]
  1675	WORD $0x4b8b; BYTE $0xec       // mov    ecx, dword [rbx - 20]
  1676	LONG $0x07c7a40f               // shld    edi, eax, 7
  1677	LONG $0x08caac0f               // shrd    edx, ecx, 8
  1678	LONG $0x02c8a40f               // shld    eax, ecx, 2
  1679	LONG $0xce6ef9c5               // vmovd    xmm1, esi
  1680	LONG $0x2271c3c4; WORD $0x01cb // vpinsrd    xmm1, xmm1, r11d, 1
  1681	LONG $0xd26ef9c5               // vmovd    xmm2, edx
  1682	LONG $0x2271c3c4; WORD $0x02ca // vpinsrd    xmm1, xmm1, r10d, 2
  1683	LONG $0x2269e3c4; WORD $0x01d1 // vpinsrd    xmm2, xmm2, ecx, 1
  1684	LONG $0x2271c3c4; WORD $0x03c9 // vpinsrd    xmm1, xmm1, r9d, 3
  1685	LONG $0x2269e3c4; WORD $0x02d0 // vpinsrd    xmm2, xmm2, eax, 2
  1686	LONG $0x2269e3c4; WORD $0x03d7 // vpinsrd    xmm2, xmm2, edi, 3
  1687	LONG $0x386de3c4; WORD $0x01c9 // vinserti128    ymm1, ymm2, xmm1, 1
  1688	LONG $0x4575c2c4; BYTE $0xc8   // vpsrlvd    ymm1, ymm1, ymm8
  1689	LONG $0xc8dbf5c5               // vpand    ymm1, ymm1, ymm0
  1690	LONG $0x7f7ec1c4; BYTE $0x0f   // vmovdqu    yword [r15], ymm1
  1691	LONG $0x80ef8349               // sub    r15, -128
  1692	LONG $0x6cc38348               // add    rbx, 108
  1693	LONG $0xffc08349               // add    r8, -1
  1694	JNE  LBB0_83
  1695	JMP  LBB0_147
  1696
  1697LBB0_20:
  1698	WORD $0xf983; BYTE $0x06             // cmp    ecx, 6
  1699	JE   LBB0_135
  1700	WORD $0xf983; BYTE $0x07             // cmp    ecx, 7
  1701	JNE  LBB0_147
  1702	WORD $0xfa83; BYTE $0x20             // cmp    edx, 32
  1703	JL   LBB0_147
  1704	WORD $0x8945; BYTE $0xf0             // mov    r8d, r14d
  1705	LONG $0x60c78349                     // add    r15, 96
  1706	LONG $0x18c38348                     // add    rbx, 24
  1707	QUAD $0x0000c085597de2c4; BYTE $0x00 // vpbroadcastq    ymm0, qword 192[rbp] /* [rip + .LCPI0_112] */
  1708	QUAD $0x000008a08d6ffdc5             // vmovdqa    ymm1, yword 2208[rbp] /* [rip + .LCPI0_111] */
  1709	QUAD $0x000008c0956ffdc5             // vmovdqa    ymm2, yword 2240[rbp] /* [rip + .LCPI0_113] */
  1710	QUAD $0x000008e09d6ffdc5             // vmovdqa    ymm3, yword 2272[rbp] /* [rip + .LCPI0_114] */
  1711	QUAD $0x00000900a56ffdc5             // vmovdqa    ymm4, yword 2304[rbp] /* [rip + .LCPI0_115] */
  1712
  1713LBB0_24:
  1714	WORD $0x4b8b; BYTE $0xe8       // mov    ecx, dword [rbx - 24]
  1715	WORD $0x538b; BYTE $0xec       // mov    edx, dword [rbx - 20]
  1716	WORD $0xd689                   // mov    esi, edx
  1717	LONG $0x04cea40f               // shld    esi, ecx, 4
  1718	LONG $0xe96ef9c5               // vmovd    xmm5, ecx
  1719	LONG $0xf66ef9c5               // vmovd    xmm6, esi
  1720	LONG $0x2249e3c4; WORD $0x01f2 // vpinsrd    xmm6, xmm6, edx, 1
  1721	LONG $0x2249e3c4; WORD $0x02f2 // vpinsrd    xmm6, xmm6, edx, 2
  1722	LONG $0x2249e3c4; WORD $0x03f2 // vpinsrd    xmm6, xmm6, edx, 3
  1723	LONG $0x5879e2c4; BYTE $0xed   // vpbroadcastd    xmm5, xmm5
  1724	LONG $0x3855e3c4; WORD $0x01ee // vinserti128    ymm5, ymm5, xmm6, 1
  1725	LONG $0x4555e2c4; BYTE $0xe9   // vpsrlvd    ymm5, ymm5, ymm1
  1726	LONG $0xe8dbd5c5               // vpand    ymm5, ymm5, ymm0
  1727	LONG $0x7f7ec1c4; WORD $0xa06f // vmovdqu    yword [r15 - 96], ymm5
  1728	WORD $0x4b8b; BYTE $0xf4       // mov    ecx, dword [rbx - 12]
  1729	WORD $0x538b; BYTE $0xec       // mov    edx, dword [rbx - 20]
  1730	WORD $0x738b; BYTE $0xf0       // mov    esi, dword [rbx - 16]
  1731	WORD $0xcf89                   // mov    edi, ecx
  1732	LONG $0x05f7a40f               // shld    edi, esi, 5
  1733	WORD $0xf089                   // mov    eax, esi
  1734	LONG $0x01d0a40f               // shld    eax, edx, 1
  1735	LONG $0xee6ef9c5               // vmovd    xmm5, esi
  1736	LONG $0x2251e3c4; WORD $0x01ef // vpinsrd    xmm5, xmm5, edi, 1
  1737	LONG $0x2251e3c4; WORD $0x02e9 // vpinsrd    xmm5, xmm5, ecx, 2
  1738	LONG $0x2251e3c4; WORD $0x03e9 // vpinsrd    xmm5, xmm5, ecx, 3
  1739	LONG $0xf26ef9c5               // vmovd    xmm6, edx
  1740	LONG $0x2249e3c4; WORD $0x01f0 // vpinsrd    xmm6, xmm6, eax, 1
  1741	LONG $0x2249e3c4; WORD $0x02f6 // vpinsrd    xmm6, xmm6, esi, 2
  1742	LONG $0x2249e3c4; WORD $0x03f6 // vpinsrd    xmm6, xmm6, esi, 3
  1743	LONG $0x384de3c4; WORD $0x01ed // vinserti128    ymm5, ymm6, xmm5, 1
  1744	LONG $0x4555e2c4; BYTE $0xea   // vpsrlvd    ymm5, ymm5, ymm2
  1745	LONG $0xe8dbd5c5               // vpand    ymm5, ymm5, ymm0
  1746	LONG $0x7f7ec1c4; WORD $0xc06f // vmovdqu    yword [r15 - 64], ymm5
  1747	WORD $0x438b; BYTE $0xfc       // mov    eax, dword [rbx - 4]
  1748	WORD $0x4b8b; BYTE $0xf4       // mov    ecx, dword [rbx - 12]
  1749	WORD $0x538b; BYTE $0xf8       // mov    edx, dword [rbx - 8]
  1750	WORD $0xc689                   // mov    esi, eax
  1751	LONG $0x06d6a40f               // shld    esi, edx, 6
  1752	WORD $0xd789                   // mov    edi, edx
  1753	LONG $0x02cfa40f               // shld    edi, ecx, 2
  1754	LONG $0xea6ef9c5               // vmovd    xmm5, edx
  1755	LONG $0x2251e3c4; WORD $0x01ea // vpinsrd    xmm5, xmm5, edx, 1
  1756	LONG $0x2251e3c4; WORD $0x02ee // vpinsrd    xmm5, xmm5, esi, 2
  1757	LONG $0x2251e3c4; WORD $0x03e8 // vpinsrd    xmm5, xmm5, eax, 3
  1758	LONG $0xf16ef9c5               // vmovd    xmm6, ecx
  1759	LONG $0x2249e3c4; WORD $0x01f1 // vpinsrd    xmm6, xmm6, ecx, 1
  1760	LONG $0x2249e3c4; WORD $0x02f7 // vpinsrd    xmm6, xmm6, edi, 2
  1761	LONG $0x2249e3c4; WORD $0x03f2 // vpinsrd    xmm6, xmm6, edx, 3
  1762	LONG $0x384de3c4; WORD $0x01ed // vinserti128    ymm5, ymm6, xmm5, 1
  1763	LONG $0x4555e2c4; BYTE $0xeb   // vpsrlvd    ymm5, ymm5, ymm3
  1764	LONG $0xe8dbd5c5               // vpand    ymm5, ymm5, ymm0
  1765	LONG $0x7f7ec1c4; WORD $0xe06f // vmovdqu    yword [r15 - 32], ymm5
  1766	WORD $0x438b; BYTE $0xfc       // mov    eax, dword [rbx - 4]
  1767	WORD $0x0b8b                   // mov    ecx, dword [rbx]
  1768	WORD $0xca89                   // mov    edx, ecx
  1769	LONG $0x03c2a40f               // shld    edx, eax, 3
  1770	LONG $0xe96ef9c5               // vmovd    xmm5, ecx
  1771	LONG $0xf06ef9c5               // vmovd    xmm6, eax
  1772	LONG $0x2249e3c4; WORD $0x01f0 // vpinsrd    xmm6, xmm6, eax, 1
  1773	LONG $0x2249e3c4; WORD $0x02f0 // vpinsrd    xmm6, xmm6, eax, 2
  1774	LONG $0x2249e3c4; WORD $0x03f2 // vpinsrd    xmm6, xmm6, edx, 3
  1775	LONG $0x5879e2c4; BYTE $0xed   // vpbroadcastd    xmm5, xmm5
  1776	LONG $0x384de3c4; WORD $0x01ed // vinserti128    ymm5, ymm6, xmm5, 1
  1777	LONG $0x4555e2c4; BYTE $0xec   // vpsrlvd    ymm5, ymm5, ymm4
  1778	LONG $0xe8dbd5c5               // vpand    ymm5, ymm5, ymm0
  1779	LONG $0x7f7ec1c4; BYTE $0x2f   // vmovdqu    yword [r15], ymm5
  1780	LONG $0x80ef8349               // sub    r15, -128
  1781	LONG $0x1cc38348               // add    rbx, 28
  1782	LONG $0xffc08349               // add    r8, -1
  1783	JNE  LBB0_24
  1784	JMP  LBB0_147
  1785
  1786LBB0_67:
  1787	WORD $0xf983; BYTE $0x16       // cmp    ecx, 22
  1788	JE   LBB0_111
  1789	WORD $0xf983; BYTE $0x17       // cmp    ecx, 23
  1790	JNE  LBB0_147
  1791	WORD $0xfa83; BYTE $0x20       // cmp    edx, 32
  1792	JL   LBB0_147
  1793	WORD $0x8945; BYTE $0xf0       // mov    r8d, r14d
  1794	LONG $0x60c78349               // add    r15, 96
  1795	LONG $0x58c38348               // add    rbx, 88
  1796	QUAD $0x00000360856f7dc5       // vmovdqa    ymm8, yword 864[rbp] /* [rip + .LCPI0_48] */
  1797	LONG $0x597de2c4; WORD $0x484d // vpbroadcastq    ymm1, qword 72[rbp] /* [rip + .LCPI0_49] */
  1798	QUAD $0x00000c30956ff9c5       // vmovdqa    xmm2, oword 3120[rbp] /* [rip + .LCPI0_50] */
  1799	QUAD $0x00000c409d6ff9c5       // vmovdqa    xmm3, oword 3136[rbp] /* [rip + .LCPI0_51] */
  1800	QUAD $0x00000380a56ffdc5       // vmovdqa    ymm4, yword 896[rbp] /* [rip + .LCPI0_52] */
  1801	QUAD $0x000003a0ad6ffdc5       // vmovdqa    ymm5, yword 928[rbp] /* [rip + .LCPI0_53] */
  1802	QUAD $0x000003c0b56ffdc5       // vmovdqa    ymm6, yword 960[rbp] /* [rip + .LCPI0_54] */
  1803
  1804LBB0_71:
  1805	LONG $0xbc4b8b44               // mov    r9d, dword [rbx - 68]
  1806	WORD $0x538b; BYTE $0xb8       // mov    edx, dword [rbx - 72]
  1807	WORD $0x8945; BYTE $0xcb       // mov    r11d, r9d
  1808	LONG $0xd3a40f41; BYTE $0x16   // shld    r11d, edx, 22
  1809	WORD $0x7b8b; BYTE $0xb4       // mov    edi, dword [rbx - 76]
  1810	LONG $0x0dfaa40f               // shld    edx, edi, 13
  1811	WORD $0x738b; BYTE $0xb0       // mov    esi, dword [rbx - 80]
  1812	LONG $0x04f7a40f               // shld    edi, esi, 4
  1813	LONG $0xa8538b44               // mov    r10d, dword [rbx - 88]
  1814	WORD $0x4b8b; BYTE $0xac       // mov    ecx, dword [rbx - 84]
  1815	WORD $0xf089                   // mov    eax, esi
  1816	LONG $0x12c8a40f               // shld    eax, ecx, 18
  1817	LONG $0xd1a40f44; BYTE $0x09   // shld    ecx, r10d, 9
  1818	LONG $0x6e79c1c4; BYTE $0xfa   // vmovd    xmm7, r10d
  1819	LONG $0xc76ef9c5               // vmovd    xmm0, edi
  1820	LONG $0x2241e3c4; WORD $0x01f9 // vpinsrd    xmm7, xmm7, ecx, 1
  1821	LONG $0x2279e3c4; WORD $0x01c2 // vpinsrd    xmm0, xmm0, edx, 1
  1822	LONG $0x2241e3c4; WORD $0x02f8 // vpinsrd    xmm7, xmm7, eax, 2
  1823	LONG $0x2279c3c4; WORD $0x02c3 // vpinsrd    xmm0, xmm0, r11d, 2
  1824	LONG $0x2241e3c4; WORD $0x03fe // vpinsrd    xmm7, xmm7, esi, 3
  1825	LONG $0x2279c3c4; WORD $0x03c1 // vpinsrd    xmm0, xmm0, r9d, 3
  1826	LONG $0x3845e3c4; WORD $0x01c0 // vinserti128    ymm0, ymm7, xmm0, 1
  1827	LONG $0x457dc2c4; BYTE $0xc0   // vpsrlvd    ymm0, ymm0, ymm8
  1828	LONG $0xc1dbfdc5               // vpand    ymm0, ymm0, ymm1
  1829	LONG $0x7f7ec1c4; WORD $0xa047 // vmovdqu    yword [r15 - 96], ymm0
  1830	WORD $0x438b; BYTE $0xd0       // mov    eax, dword [rbx - 48]
  1831	LONG $0xd44b8b44               // mov    r9d, dword [rbx - 44]
  1832	LONG $0xc1a40f41; BYTE $0x07   // shld    r9d, eax, 7
  1833	WORD $0x538b; BYTE $0xcc       // mov    edx, dword [rbx - 52]
  1834	WORD $0xc689                   // mov    esi, eax
  1835	LONG $0x15d6a40f               // shld    esi, edx, 21
  1836	WORD $0x7b8b; BYTE $0xc4       // mov    edi, dword [rbx - 60]
  1837	WORD $0x4b8b; BYTE $0xc8       // mov    ecx, dword [rbx - 56]
  1838	LONG $0x0ccaa40f               // shld    edx, ecx, 12
  1839	LONG $0x03f9a40f               // shld    ecx, edi, 3
  1840	LONG $0x437efac5; BYTE $0xbc   // vmovq    xmm0, qword [rbx - 68]
  1841	LONG $0x4579e2c4; BYTE $0xfa   // vpsrlvd    xmm7, xmm0, xmm2
  1842	LONG $0xc070f9c5; BYTE $0xe5   // vpshufd    xmm0, xmm0, 229
  1843	LONG $0x2279e3c4; WORD $0x01c7 // vpinsrd    xmm0, xmm0, edi, 1
  1844	LONG $0x4779e2c4; BYTE $0xc3   // vpsllvd    xmm0, xmm0, xmm3
  1845	LONG $0xc0ebc1c5               // vpor    xmm0, xmm7, xmm0
  1846	LONG $0xfa6ef9c5               // vmovd    xmm7, edx
  1847	LONG $0x2241e3c4; WORD $0x01fe // vpinsrd    xmm7, xmm7, esi, 1
  1848	LONG $0x2241e3c4; WORD $0x02f8 // vpinsrd    xmm7, xmm7, eax, 2
  1849	LONG $0x2241c3c4; WORD $0x03f9 // vpinsrd    xmm7, xmm7, r9d, 3
  1850	LONG $0x2279e3c4; WORD $0x02c7 // vpinsrd    xmm0, xmm0, edi, 2
  1851	LONG $0x2279e3c4; WORD $0x03c1 // vpinsrd    xmm0, xmm0, ecx, 3
  1852	LONG $0x387de3c4; WORD $0x01c7 // vinserti128    ymm0, ymm0, xmm7, 1
  1853	LONG $0x457de2c4; BYTE $0xc4   // vpsrlvd    ymm0, ymm0, ymm4
  1854	LONG $0xc1dbfdc5               // vpand    ymm0, ymm0, ymm1
  1855	LONG $0x7f7ec1c4; WORD $0xc047 // vmovdqu    yword [r15 - 64], ymm0
  1856	LONG $0xe85b8b44               // mov    r11d, dword [rbx - 24]
  1857	LONG $0xec4b8b44               // mov    r9d, dword [rbx - 20]
  1858	LONG $0xd9a40f45; BYTE $0x0f   // shld    r9d, r11d, 15
  1859	LONG $0xe4538b44               // mov    r10d, dword [rbx - 28]
  1860	LONG $0xd3a40f45; BYTE $0x06   // shld    r11d, r10d, 6
  1861	WORD $0x738b; BYTE $0xe0       // mov    esi, dword [rbx - 32]
  1862	WORD $0x8944; BYTE $0xd7       // mov    edi, r10d
  1863	WORD $0x4b8b; BYTE $0xdc       // mov    ecx, dword [rbx - 36]
  1864	LONG $0x14f7a40f               // shld    edi, esi, 20
  1865	WORD $0x538b; BYTE $0xd4       // mov    edx, dword [rbx - 44]
  1866	WORD $0x438b; BYTE $0xd8       // mov    eax, dword [rbx - 40]
  1867	LONG $0x0bcea40f               // shld    esi, ecx, 11
  1868	LONG $0x10c2ac0f               // shrd    edx, eax, 16
  1869	LONG $0x02c1a40f               // shld    ecx, eax, 2
  1870	LONG $0xc76ef9c5               // vmovd    xmm0, edi
  1871	LONG $0x2279c3c4; WORD $0x01c2 // vpinsrd    xmm0, xmm0, r10d, 1
  1872	LONG $0xfa6ef9c5               // vmovd    xmm7, edx
  1873	LONG $0x2279c3c4; WORD $0x02c3 // vpinsrd    xmm0, xmm0, r11d, 2
  1874	LONG $0x2241e3c4; WORD $0x01f8 // vpinsrd    xmm7, xmm7, eax, 1
  1875	LONG $0x2279c3c4; WORD $0x03c1 // vpinsrd    xmm0, xmm0, r9d, 3
  1876	LONG $0x2241e3c4; WORD $0x02f9 // vpinsrd    xmm7, xmm7, ecx, 2
  1877	LONG $0x2241e3c4; WORD $0x03fe // vpinsrd    xmm7, xmm7, esi, 3
  1878	LONG $0x3845e3c4; WORD $0x01c0 // vinserti128    ymm0, ymm7, xmm0, 1
  1879	LONG $0x457de2c4; BYTE $0xc5   // vpsrlvd    ymm0, ymm0, ymm5
  1880	LONG $0xc1dbfdc5               // vpand    ymm0, ymm0, ymm1
  1881	LONG $0x7f7ec1c4; WORD $0xe047 // vmovdqu    yword [r15 - 32], ymm0
  1882	WORD $0x8b44; BYTE $0x0b       // mov    r9d, dword [rbx]
  1883	WORD $0x4b8b; BYTE $0xfc       // mov    ecx, dword [rbx - 4]
  1884	WORD $0x8944; BYTE $0xca       // mov    edx, r9d
  1885	LONG $0x0ecaa40f               // shld    edx, ecx, 14
  1886	WORD $0x738b; BYTE $0xf8       // mov    esi, dword [rbx - 8]
  1887	LONG $0x05f1a40f               // shld    ecx, esi, 5
  1888	WORD $0x7b8b; BYTE $0xf4       // mov    edi, dword [rbx - 12]
  1889	LONG $0xc66ef9c5               // vmovd    xmm0, esi
  1890	LONG $0x13fea40f               // shld    esi, edi, 19
  1891	LONG $0xec538b44               // mov    r10d, dword [rbx - 20]
  1892	WORD $0x438b; BYTE $0xf0       // mov    eax, dword [rbx - 16]
  1893	LONG $0x0ac7a40f               // shld    edi, eax, 10
  1894	LONG $0xd0a40f44; BYTE $0x01   // shld    eax, r10d, 1
  1895	LONG $0x2279e3c4; WORD $0x01c1 // vpinsrd    xmm0, xmm0, ecx, 1
  1896	LONG $0x6e79c1c4; BYTE $0xfa   // vmovd    xmm7, r10d
  1897	LONG $0x2279e3c4; WORD $0x02c2 // vpinsrd    xmm0, xmm0, edx, 2
  1898	LONG $0x2241e3c4; WORD $0x01f8 // vpinsrd    xmm7, xmm7, eax, 1
  1899	LONG $0x2279c3c4; WORD $0x03c1 // vpinsrd    xmm0, xmm0, r9d, 3
  1900	LONG $0x2241e3c4; WORD $0x02ff // vpinsrd    xmm7, xmm7, edi, 2
  1901	LONG $0x2241e3c4; WORD $0x03fe // vpinsrd    xmm7, xmm7, esi, 3
  1902	LONG $0x3845e3c4; WORD $0x01c0 // vinserti128    ymm0, ymm7, xmm0, 1
  1903	LONG $0x457de2c4; BYTE $0xc6   // vpsrlvd    ymm0, ymm0, ymm6
  1904	LONG $0xc1dbfdc5               // vpand    ymm0, ymm0, ymm1
  1905	LONG $0x7f7ec1c4; BYTE $0x07   // vmovdqu    yword [r15], ymm0
  1906	LONG $0x80ef8349               // sub    r15, -128
  1907	LONG $0x5cc38348               // add    rbx, 92
  1908	LONG $0xffc08349               // add    r8, -1
  1909	JNE  LBB0_71
  1910	JMP  LBB0_147
  1911
  1912LBB0_43:
  1913	WORD $0xf983; BYTE $0x0e             // cmp    ecx, 14
  1914	JE   LBB0_123
  1915	WORD $0xf983; BYTE $0x0f             // cmp    ecx, 15
  1916	JNE  LBB0_147
  1917	WORD $0xfa83; BYTE $0x20             // cmp    edx, 32
  1918	JL   LBB0_147
  1919	WORD $0x8945; BYTE $0xf0             // mov    r8d, r14d
  1920	LONG $0x60c78349                     // add    r15, 96
  1921	LONG $0x38c38348                     // add    rbx, 56
  1922	QUAD $0x00008885597de2c4; BYTE $0x00 // vpbroadcastq    ymm0, qword 136[rbp] /* [rip + .LCPI0_82] */
  1923	QUAD $0x000006008d6ffdc5             // vmovdqa    ymm1, yword 1536[rbp] /* [rip + .LCPI0_81] */
  1924	QUAD $0x00000620956ffdc5             // vmovdqa    ymm2, yword 1568[rbp] /* [rip + .LCPI0_83] */
  1925	QUAD $0x000006409d6ffdc5             // vmovdqa    ymm3, yword 1600[rbp] /* [rip + .LCPI0_84] */
  1926	QUAD $0x00000660a56ffdc5             // vmovdqa    ymm4, yword 1632[rbp] /* [rip + .LCPI0_85] */
  1927
  1928LBB0_47:
  1929	LONG $0xd44b8b44               // mov    r9d, dword [rbx - 44]
  1930	WORD $0x438b; BYTE $0xd0       // mov    eax, dword [rbx - 48]
  1931	WORD $0x8944; BYTE $0xce       // mov    esi, r9d
  1932	LONG $0x06c6a40f               // shld    esi, eax, 6
  1933	LONG $0xcc538b44               // mov    r10d, dword [rbx - 52]
  1934	WORD $0xc289                   // mov    edx, eax
  1935	LONG $0xd2a40f44; BYTE $0x04   // shld    edx, r10d, 4
  1936	WORD $0x4b8b; BYTE $0xc8       // mov    ecx, dword [rbx - 56]
  1937	WORD $0x8944; BYTE $0xd7       // mov    edi, r10d
  1938	LONG $0x02cfa40f               // shld    edi, ecx, 2
  1939	LONG $0xea6ef9c5               // vmovd    xmm5, edx
  1940	LONG $0x2251e3c4; WORD $0x01e8 // vpinsrd    xmm5, xmm5, eax, 1
  1941	LONG $0x2251e3c4; WORD $0x02ee // vpinsrd    xmm5, xmm5, esi, 2
  1942	LONG $0x2251c3c4; WORD $0x03e9 // vpinsrd    xmm5, xmm5, r9d, 3
  1943	LONG $0xf16ef9c5               // vmovd    xmm6, ecx
  1944	LONG $0x2249e3c4; WORD $0x01f1 // vpinsrd    xmm6, xmm6, ecx, 1
  1945	LONG $0x2249e3c4; WORD $0x02f7 // vpinsrd    xmm6, xmm6, edi, 2
  1946	LONG $0x2249c3c4; WORD $0x03f2 // vpinsrd    xmm6, xmm6, r10d, 3
  1947	LONG $0x384de3c4; WORD $0x01ed // vinserti128    ymm5, ymm6, xmm5, 1
  1948	LONG $0x4555e2c4; BYTE $0xe9   // vpsrlvd    ymm5, ymm5, ymm1
  1949	LONG $0xe8dbd5c5               // vpand    ymm5, ymm5, ymm0
  1950	LONG $0x7f7ec1c4; WORD $0xa06f // vmovdqu    yword [r15 - 96], ymm5
  1951	LONG $0xe44b8b44               // mov    r9d, dword [rbx - 28]
  1952	LONG $0xe05b8b44               // mov    r11d, dword [rbx - 32]
  1953	WORD $0x8944; BYTE $0xca       // mov    edx, r9d
  1954	LONG $0xdaa40f44; BYTE $0x0e   // shld    edx, r11d, 14
  1955	LONG $0xdc538b44               // mov    r10d, dword [rbx - 36]
  1956	WORD $0x8944; BYTE $0xdf       // mov    edi, r11d
  1957	LONG $0xd7a40f44; BYTE $0x0c   // shld    edi, r10d, 12
  1958	WORD $0x438b; BYTE $0xd4       // mov    eax, dword [rbx - 44]
  1959	WORD $0x738b; BYTE $0xd8       // mov    esi, dword [rbx - 40]
  1960	WORD $0x8944; BYTE $0xd1       // mov    ecx, r10d
  1961	LONG $0x0af1a40f               // shld    ecx, esi, 10
  1962	LONG $0x18f0ac0f               // shrd    eax, esi, 24
  1963	LONG $0xef6ef9c5               // vmovd    xmm5, edi
  1964	LONG $0x2251c3c4; WORD $0x01eb // vpinsrd    xmm5, xmm5, r11d, 1
  1965	LONG $0x2251e3c4; WORD $0x02ea // vpinsrd    xmm5, xmm5, edx, 2
  1966	LONG $0x2251c3c4; WORD $0x03e9 // vpinsrd    xmm5, xmm5, r9d, 3
  1967	LONG $0xf06ef9c5               // vmovd    xmm6, eax
  1968	LONG $0x2249e3c4; WORD $0x01f6 // vpinsrd    xmm6, xmm6, esi, 1
  1969	LONG $0x2249e3c4; WORD $0x02f1 // vpinsrd    xmm6, xmm6, ecx, 2
  1970	LONG $0x2249c3c4; WORD $0x03f2 // vpinsrd    xmm6, xmm6, r10d, 3
  1971	LONG $0x384de3c4; WORD $0x01ed // vinserti128    ymm5, ymm6, xmm5, 1
  1972	LONG $0x4555e2c4; BYTE $0xea   // vpsrlvd    ymm5, ymm5, ymm2
  1973	LONG $0xe8dbd5c5               // vpand    ymm5, ymm5, ymm0
  1974	LONG $0x7f7ec1c4; WORD $0xc06f // vmovdqu    yword [r15 - 64], ymm5
  1975	WORD $0x438b; BYTE $0xf0       // mov    eax, dword [rbx - 16]
  1976	LONG $0xf4538b44               // mov    r10d, dword [rbx - 12]
  1977	LONG $0xc2a40f41; BYTE $0x07   // shld    r10d, eax, 7
  1978	WORD $0x538b; BYTE $0xec       // mov    edx, dword [rbx - 20]
  1979	WORD $0xc689                   // mov    esi, eax
  1980	LONG $0x05d6a40f               // shld    esi, edx, 5
  1981	LONG $0xe44b8b44               // mov    r9d, dword [rbx - 28]
  1982	WORD $0x4b8b; BYTE $0xe8       // mov    ecx, dword [rbx - 24]
  1983	WORD $0xcf89                   // mov    edi, ecx
  1984	LONG $0xcfa40f44; BYTE $0x01   // shld    edi, r9d, 1
  1985	LONG $0xea6ef9c5               // vmovd    xmm5, edx
  1986	LONG $0x03caa40f               // shld    edx, ecx, 3
  1987	LONG $0x2251e3c4; WORD $0x01ee // vpinsrd    xmm5, xmm5, esi, 1
  1988	LONG $0x2251e3c4; WORD $0x02e8 // vpinsrd    xmm5, xmm5, eax, 2
  1989	LONG $0x2251c3c4; WORD $0x03ea // vpinsrd    xmm5, xmm5, r10d, 3
  1990	LONG $0x6e79c1c4; BYTE $0xf1   // vmovd    xmm6, r9d
  1991	LONG $0x2249e3c4; WORD $0x01f7 // vpinsrd    xmm6, xmm6, edi, 1
  1992	LONG $0x2249e3c4; WORD $0x02f1 // vpinsrd    xmm6, xmm6, ecx, 2
  1993	LONG $0x2249e3c4; WORD $0x03f2 // vpinsrd    xmm6, xmm6, edx, 3
  1994	LONG $0x384de3c4; WORD $0x01ed // vinserti128    ymm5, ymm6, xmm5, 1
  1995	LONG $0x4555e2c4; BYTE $0xeb   // vpsrlvd    ymm5, ymm5, ymm3
  1996	LONG $0xe8dbd5c5               // vpand    ymm5, ymm5, ymm0
  1997	LONG $0x7f7ec1c4; WORD $0xe06f // vmovdqu    yword [r15 - 32], ymm5
  1998	WORD $0x8b44; BYTE $0x0b       // mov    r9d, dword [rbx]
  1999	WORD $0x4b8b; BYTE $0xfc       // mov    ecx, dword [rbx - 4]
  2000	WORD $0x8944; BYTE $0xca       // mov    edx, r9d
  2001	LONG $0x0dcaa40f               // shld    edx, ecx, 13
  2002	WORD $0x438b; BYTE $0xf8       // mov    eax, dword [rbx - 8]
  2003	LONG $0xe96ef9c5               // vmovd    xmm5, ecx
  2004	LONG $0x0bc1a40f               // shld    ecx, eax, 11
  2005	WORD $0x7b8b; BYTE $0xf4       // mov    edi, dword [rbx - 12]
  2006	WORD $0xc689                   // mov    esi, eax
  2007	LONG $0x09fea40f               // shld    esi, edi, 9
  2008	LONG $0xf76ef9c5               // vmovd    xmm6, edi
  2009	LONG $0x2249e3c4; WORD $0x01f6 // vpinsrd    xmm6, xmm6, esi, 1
  2010	LONG $0x2249e3c4; WORD $0x02f0 // vpinsrd    xmm6, xmm6, eax, 2
  2011	LONG $0x2249e3c4; WORD $0x03f1 // vpinsrd    xmm6, xmm6, ecx, 3
  2012	LONG $0x2251e3c4; WORD $0x01ea // vpinsrd    xmm5, xmm5, edx, 1
  2013	LONG $0x2251c3c4; WORD $0x02e9 // vpinsrd    xmm5, xmm5, r9d, 2
  2014	LONG $0x2251c3c4; WORD $0x03e9 // vpinsrd    xmm5, xmm5, r9d, 3
  2015	LONG $0x384de3c4; WORD $0x01ed // vinserti128    ymm5, ymm6, xmm5, 1
  2016	LONG $0x4555e2c4; BYTE $0xec   // vpsrlvd    ymm5, ymm5, ymm4
  2017	LONG $0xe8dbd5c5               // vpand    ymm5, ymm5, ymm0
  2018	LONG $0x7f7ec1c4; BYTE $0x2f   // vmovdqu    yword [r15], ymm5
  2019	LONG $0x80ef8349               // sub    r15, -128
  2020	LONG $0x3cc38348               // add    rbx, 60
  2021	LONG $0xffc08349               // add    r8, -1
  2022	JNE  LBB0_47
  2023	JMP  LBB0_147
  2024
  2025LBB0_96:
  2026	WORD $0xfa83; BYTE $0x20       // cmp    edx, 32
  2027	JL   LBB0_147
  2028	WORD $0x8945; BYTE $0xf0       // mov    r8d, r14d
  2029	LONG $0x597de2c4; WORD $0x0045 // vpbroadcastq    ymm0, qword 0[rbp] /* [rip + .LCPI0_0] */
  2030	LONG $0x60c78349               // add    r15, 96
  2031	QUAD $0x00000100856f7dc5       // vmovdqa    ymm8, yword 256[rbp] /* [rip + .LCPI0_1] */
  2032	QUAD $0x000001208d6f7dc5       // vmovdqa    ymm9, yword 288[rbp] /* [rip + .LCPI0_2] */
  2033	QUAD $0x00000140956f7dc5       // vmovdqa    ymm10, yword 320[rbp] /* [rip + .LCPI0_3] */
  2034	QUAD $0x00000160a56ffdc5       // vmovdqa    ymm4, yword 352[rbp] /* [rip + .LCPI0_4] */
  2035	QUAD $0x00000b00ad6ff9c5       // vmovdqa    xmm5, oword 2816[rbp] /* [rip + .LCPI0_5] */
  2036	QUAD $0x00000b10b56ff9c5       // vmovdqa    xmm6, oword 2832[rbp] /* [rip + .LCPI0_6] */
  2037	QUAD $0x00000180bd6ffdc5       // vmovdqa    ymm7, yword 384[rbp] /* [rip + .LCPI0_7] */
  2038
  2039LBB0_98:
  2040	LONG $0x18538b44                           // mov    r10d, dword [rbx + 24]
  2041	LONG $0x1c4b8b44                           // mov    r9d, dword [rbx + 28]
  2042	LONG $0xd1a40f45; BYTE $0x07               // shld    r9d, r10d, 7
  2043	WORD $0x738b; BYTE $0x14                   // mov    esi, dword [rbx + 20]
  2044	LONG $0xf2a40f41; BYTE $0x06               // shld    r10d, esi, 6
  2045	WORD $0x7b8b; BYTE $0x10                   // mov    edi, dword [rbx + 16]
  2046	LONG $0x05fea40f                           // shld    esi, edi, 5
  2047	WORD $0x438b; BYTE $0x0c                   // mov    eax, dword [rbx + 12]
  2048	LONG $0x04c7a40f                           // shld    edi, eax, 4
  2049	WORD $0x538b; BYTE $0x08                   // mov    edx, dword [rbx + 8]
  2050	LONG $0x03d0a40f                           // shld    eax, edx, 3
  2051	WORD $0x4b8b; BYTE $0x04                   // mov    ecx, dword [rbx + 4]
  2052	LONG $0x02caa40f                           // shld    edx, ecx, 2
  2053	WORD $0x8b44; BYTE $0x1b                   // mov    r11d, dword [rbx]
  2054	LONG $0xd9a40f44; BYTE $0x01               // shld    ecx, r11d, 1
  2055	LONG $0xcf6ef9c5                           // vmovd    xmm1, edi
  2056	LONG $0x2271e3c4; WORD $0x01ce             // vpinsrd    xmm1, xmm1, esi, 1
  2057	LONG $0x2271c3c4; WORD $0x02ca             // vpinsrd    xmm1, xmm1, r10d, 2
  2058	LONG $0x2271c3c4; WORD $0x03c9             // vpinsrd    xmm1, xmm1, r9d, 3
  2059	LONG $0x6e79c1c4; BYTE $0xd3               // vmovd    xmm2, r11d
  2060	LONG $0x2269e3c4; WORD $0x01d1             // vpinsrd    xmm2, xmm2, ecx, 1
  2061	LONG $0x2269e3c4; WORD $0x02d2             // vpinsrd    xmm2, xmm2, edx, 2
  2062	LONG $0x2269e3c4; WORD $0x03d0             // vpinsrd    xmm2, xmm2, eax, 3
  2063	LONG $0x386de3c4; WORD $0x01c9             // vinserti128    ymm1, ymm2, xmm1, 1
  2064	LONG $0xc8dbf5c5                           // vpand    ymm1, ymm1, ymm0
  2065	LONG $0x7f7ec1c4; WORD $0xa04f             // vmovdqu    yword [r15 - 96], ymm1
  2066	LONG $0x4b6ffec5; BYTE $0x1c               // vmovdqu    ymm1, yword [rbx + 28]
  2067	LONG $0x4575c2c4; BYTE $0xc8               // vpsrlvd    ymm1, ymm1, ymm8
  2068	LONG $0x536ffac5; BYTE $0x2c               // vmovdqu    xmm2, oword [rbx + 44]
  2069	LONG $0xda70f9c5; BYTE $0xf9               // vpshufd    xmm3, xmm2, 249
  2070	LONG $0x2261e3c4; WORD $0x3c5b; BYTE $0x03 // vpinsrd    xmm3, xmm3, dword [rbx + 60], 3
  2071	LONG $0x0f69e3c4; WORD $0x1c53; BYTE $0x04 // vpalignr    xmm2, xmm2, oword [rbx + 28], 4
  2072	LONG $0x386de3c4; WORD $0x01d3             // vinserti128    ymm2, ymm2, xmm3, 1
  2073	LONG $0x476dc2c4; BYTE $0xd1               // vpsllvd    ymm2, ymm2, ymm9
  2074	LONG $0xcaebf5c5                           // vpor    ymm1, ymm1, ymm2
  2075	LONG $0xc8dbf5c5                           // vpand    ymm1, ymm1, ymm0
  2076	LONG $0x7f7ec1c4; WORD $0xc04f             // vmovdqu    yword [r15 - 64], ymm1
  2077	LONG $0x4b6ffec5; BYTE $0x3c               // vmovdqu    ymm1, yword [rbx + 60]
  2078	LONG $0x536ffac5; BYTE $0x4c               // vmovdqu    xmm2, oword [rbx + 76]
  2079	LONG $0xda70f9c5; BYTE $0xf9               // vpshufd    xmm3, xmm2, 249
  2080	LONG $0x2261e3c4; WORD $0x5c5b; BYTE $0x03 // vpinsrd    xmm3, xmm3, dword [rbx + 92], 3
  2081	LONG $0x4575c2c4; BYTE $0xca               // vpsrlvd    ymm1, ymm1, ymm10
  2082	LONG $0x0f69e3c4; WORD $0x3c53; BYTE $0x04 // vpalignr    xmm2, xmm2, oword [rbx + 60], 4
  2083	LONG $0x386de3c4; WORD $0x01d3             // vinserti128    ymm2, ymm2, xmm3, 1
  2084	LONG $0x476de2c4; BYTE $0xd4               // vpsllvd    ymm2, ymm2, ymm4
  2085	LONG $0xcaebf5c5                           // vpor    ymm1, ymm1, ymm2
  2086	LONG $0xc8dbf5c5                           // vpand    ymm1, ymm1, ymm0
  2087	LONG $0x7f7ec1c4; WORD $0xe04f             // vmovdqu    yword [r15 - 32], ymm1
  2088	WORD $0x438b; BYTE $0x78                   // mov    eax, dword [rbx + 120]
  2089	WORD $0x4b8b; BYTE $0x74                   // mov    ecx, dword [rbx + 116]
  2090	WORD $0xc289                               // mov    edx, eax
  2091	LONG $0x1ecaa40f                           // shld    edx, ecx, 30
  2092	WORD $0x738b; BYTE $0x70                   // mov    esi, dword [rbx + 112]
  2093	LONG $0x1df1a40f                           // shld    ecx, esi, 29
  2094	WORD $0x7b8b; BYTE $0x6c                   // mov    edi, dword [rbx + 108]
  2095	LONG $0x1cfea40f                           // shld    esi, edi, 28
  2096	LONG $0x4b6ffac5; BYTE $0x5c               // vmovdqu    xmm1, oword [rbx + 92]
  2097	LONG $0x4571e2c4; BYTE $0xd5               // vpsrlvd    xmm2, xmm1, xmm5
  2098	LONG $0xc970f9c5; BYTE $0xf9               // vpshufd    xmm1, xmm1, 249
  2099	LONG $0x2271e3c4; WORD $0x03cf             // vpinsrd    xmm1, xmm1, edi, 3
  2100	LONG $0x4771e2c4; BYTE $0xce               // vpsllvd    xmm1, xmm1, xmm6
  2101	LONG $0xde6ef9c5                           // vmovd    xmm3, esi
  2102	LONG $0x2261e3c4; WORD $0x01d9             // vpinsrd    xmm3, xmm3, ecx, 1
  2103	LONG $0x2261e3c4; WORD $0x02da             // vpinsrd    xmm3, xmm3, edx, 2
  2104	LONG $0x2261e3c4; WORD $0x03d8             // vpinsrd    xmm3, xmm3, eax, 3
  2105	LONG $0xc9ebe9c5                           // vpor    xmm1, xmm2, xmm1
  2106	LONG $0x3875e3c4; WORD $0x01cb             // vinserti128    ymm1, ymm1, xmm3, 1
  2107	LONG $0x4575e2c4; BYTE $0xcf               // vpsrlvd    ymm1, ymm1, ymm7
  2108	LONG $0xc8dbf5c5                           // vpand    ymm1, ymm1, ymm0
  2109	LONG $0x7f7ec1c4; BYTE $0x0f               // vmovdqu    yword [r15], ymm1
  2110	LONG $0x7cc38348                           // add    rbx, 124
  2111	LONG $0x80ef8349                           // sub    r15, -128
  2112	LONG $0xffc08349                           // add    r8, -1
  2113	JNE  LBB0_98
  2114	JMP  LBB0_147
  2115
  2116LBB0_144:
  2117	WORD $0xfa83; BYTE $0x20 // cmp    edx, 32
  2118	JL   LBB0_147
  2119	WORD $0x8944; BYTE $0xf3 // mov    ebx, r14d
  2120
  2121LBB0_146:
  2122	LONG $0x000080ba; BYTE $0x00 // mov    edx, 128
  2123	WORD $0x894c; BYTE $0xff     // mov    rdi, r15
  2124	WORD $0xf631                 // xor    esi, esi
  2125	CALL clib·_memset(SB)
  2126	LONG $0x80ef8349             // sub    r15, -128
  2127	LONG $0xffc38348             // add    rbx, -1
  2128	JNE  LBB0_146
  2129	JMP  LBB0_147
  2130
  2131LBB0_120:
  2132	WORD $0xfa83; BYTE $0x20             // cmp    edx, 32
  2133	JL   LBB0_147
  2134	WORD $0x8944; BYTE $0xf0             // mov    eax, r14d
  2135	WORD $0xc931                         // xor    ecx, ecx
  2136	QUAD $0x00008085597de2c4; BYTE $0x00 // vpbroadcastq    ymm0, qword 128[rbp] /* [rip + .LCPI0_80] */
  2137	LONG $0xc9eff1c5                     // vpxor    xmm1, xmm1, xmm1
  2138
  2139LBB0_122:
  2140	LONG $0x146ffac5; BYTE $0x0b               // vmovdqu    xmm2, oword [rbx + rcx]
  2141	LONG $0x00fde3c4; WORD $0xd8d2             // vpermq    ymm2, ymm2, 216
  2142	LONG $0xd270fdc5; BYTE $0x50               // vpshufd    ymm2, ymm2, 80
  2143	LONG $0x456de2c4; BYTE $0xd0               // vpsrlvd    ymm2, ymm2, ymm0
  2144	LONG $0x0e6de3c4; WORD $0xaad1             // vpblendw    ymm2, ymm2, ymm1, 170
  2145	LONG $0x7f7ec1c4; WORD $0x4f14             // vmovdqu    yword [r15 + 2*rcx], ymm2
  2146	LONG $0x546ffac5; WORD $0x100b             // vmovdqu    xmm2, oword [rbx + rcx + 16]
  2147	LONG $0x00fde3c4; WORD $0xd8d2             // vpermq    ymm2, ymm2, 216
  2148	LONG $0xd270fdc5; BYTE $0x50               // vpshufd    ymm2, ymm2, 80
  2149	LONG $0x456de2c4; BYTE $0xd0               // vpsrlvd    ymm2, ymm2, ymm0
  2150	LONG $0x0e6de3c4; WORD $0xaad1             // vpblendw    ymm2, ymm2, ymm1, 170
  2151	LONG $0x7f7ec1c4; WORD $0x4f54; BYTE $0x20 // vmovdqu    yword [r15 + 2*rcx + 32], ymm2
  2152	LONG $0x546ffac5; WORD $0x200b             // vmovdqu    xmm2, oword [rbx + rcx + 32]
  2153	LONG $0x00fde3c4; WORD $0xd8d2             // vpermq    ymm2, ymm2, 216
  2154	LONG $0xd270fdc5; BYTE $0x50               // vpshufd    ymm2, ymm2, 80
  2155	LONG $0x456de2c4; BYTE $0xd0               // vpsrlvd    ymm2, ymm2, ymm0
  2156	LONG $0x0e6de3c4; WORD $0xaad1             // vpblendw    ymm2, ymm2, ymm1, 170
  2157	LONG $0x7f7ec1c4; WORD $0x4f54; BYTE $0x40 // vmovdqu    yword [r15 + 2*rcx + 64], ymm2
  2158	LONG $0x546ffac5; WORD $0x300b             // vmovdqu    xmm2, oword [rbx + rcx + 48]
  2159	LONG $0x00fde3c4; WORD $0xd8d2             // vpermq    ymm2, ymm2, 216
  2160	LONG $0xd270fdc5; BYTE $0x50               // vpshufd    ymm2, ymm2, 80
  2161	LONG $0x456de2c4; BYTE $0xd0               // vpsrlvd    ymm2, ymm2, ymm0
  2162	LONG $0x0e6de3c4; WORD $0xaad1             // vpblendw    ymm2, ymm2, ymm1, 170
  2163	LONG $0x7f7ec1c4; WORD $0x4f54; BYTE $0x60 // vmovdqu    yword [r15 + 2*rcx + 96], ymm2
  2164	LONG $0x40c18348                           // add    rcx, 64
  2165	LONG $0xffc08348                           // add    rax, -1
  2166	JNE  LBB0_122
  2167	JMP  LBB0_147
  2168
  2169LBB0_132:
  2170	WORD $0xfa83; BYTE $0x20             // cmp    edx, 32
  2171	JL   LBB0_147
  2172	WORD $0x8944; BYTE $0xf0             // mov    eax, r14d
  2173	WORD $0xc931                         // xor    ecx, ecx
  2174	QUAD $0x000c70855a7de2c4; BYTE $0x00 // vbroadcasti128    ymm0, oword 3184[rbp] /* [rip + .LCPI0_109] */
  2175	QUAD $0x000c848d587de2c4; BYTE $0x00 // vpbroadcastd    ymm1, dword 3204[rbp] /* [rip + .LCPI0_110] */
  2176
  2177LBB0_134:
  2178	LONG $0x147efac5; BYTE $0x0b               // vmovq    xmm2, qword [rbx + rcx]
  2179	LONG $0xd270f9c5; BYTE $0x50               // vpshufd    xmm2, xmm2, 80
  2180	LONG $0x00fde3c4; WORD $0x50d2             // vpermq    ymm2, ymm2, 80
  2181	LONG $0x456de2c4; BYTE $0xd0               // vpsrlvd    ymm2, ymm2, ymm0
  2182	LONG $0xd1dbedc5                           // vpand    ymm2, ymm2, ymm1
  2183	LONG $0x7f7ec1c4; WORD $0x8f14             // vmovdqu    yword [r15 + 4*rcx], ymm2
  2184	LONG $0x547efac5; WORD $0x080b             // vmovq    xmm2, qword [rbx + rcx + 8]
  2185	LONG $0xd270f9c5; BYTE $0x50               // vpshufd    xmm2, xmm2, 80
  2186	LONG $0x00fde3c4; WORD $0x50d2             // vpermq    ymm2, ymm2, 80
  2187	LONG $0x456de2c4; BYTE $0xd0               // vpsrlvd    ymm2, ymm2, ymm0
  2188	LONG $0xd1dbedc5                           // vpand    ymm2, ymm2, ymm1
  2189	LONG $0x7f7ec1c4; WORD $0x8f54; BYTE $0x20 // vmovdqu    yword [r15 + 4*rcx + 32], ymm2
  2190	LONG $0x547efac5; WORD $0x100b             // vmovq    xmm2, qword [rbx + rcx + 16]
  2191	LONG $0xd270f9c5; BYTE $0x50               // vpshufd    xmm2, xmm2, 80
  2192	LONG $0x00fde3c4; WORD $0x50d2             // vpermq    ymm2, ymm2, 80
  2193	LONG $0x456de2c4; BYTE $0xd0               // vpsrlvd    ymm2, ymm2, ymm0
  2194	LONG $0xd1dbedc5                           // vpand    ymm2, ymm2, ymm1
  2195	LONG $0x7f7ec1c4; WORD $0x8f54; BYTE $0x40 // vmovdqu    yword [r15 + 4*rcx + 64], ymm2
  2196	LONG $0x547efac5; WORD $0x180b             // vmovq    xmm2, qword [rbx + rcx + 24]
  2197	LONG $0xd270f9c5; BYTE $0x50               // vpshufd    xmm2, xmm2, 80
  2198	LONG $0x00fde3c4; WORD $0x50d2             // vpermq    ymm2, ymm2, 80
  2199	LONG $0x456de2c4; BYTE $0xd0               // vpsrlvd    ymm2, ymm2, ymm0
  2200	LONG $0xd1dbedc5                           // vpand    ymm2, ymm2, ymm1
  2201	LONG $0x7f7ec1c4; WORD $0x8f54; BYTE $0x60 // vmovdqu    yword [r15 + 4*rcx + 96], ymm2
  2202	LONG $0x20c18348                           // add    rcx, 32
  2203	LONG $0xffc08348                           // add    rax, -1
  2204	JNE  LBB0_134
  2205	JMP  LBB0_147
  2206
  2207LBB0_108:
  2208	WORD $0xfa83; BYTE $0x20             // cmp    edx, 32
  2209	JL   LBB0_147
  2210	WORD $0x8945; BYTE $0xf0             // mov    r8d, r14d
  2211	LONG $0x60c78349                     // add    r15, 96
  2212	LONG $0x5cc38348                     // add    rbx, 92
  2213	QUAD $0x000c20855a7de2c4; BYTE $0x00 // vbroadcasti128    ymm0, oword 3104[rbp] /* [rip + .LCPI0_46] */
  2214	QUAD $0x000c808d587de2c4; BYTE $0x00 // vpbroadcastd    ymm1, dword 3200[rbp] /* [rip + .LCPI0_47] */
  2215
  2216LBB0_110:
  2217	LONG $0xb84b8b44               // mov    r9d, dword [rbx - 72]
  2218	WORD $0x538b; BYTE $0xb4       // mov    edx, dword [rbx - 76]
  2219	WORD $0x8944; BYTE $0xce       // mov    esi, r9d
  2220	WORD $0x7b8b; BYTE $0xb0       // mov    edi, dword [rbx - 80]
  2221	LONG $0xac538b44               // mov    r10d, dword [rbx - 84]
  2222	LONG $0x10d6a40f               // shld    esi, edx, 16
  2223	LONG $0xa45b8b44               // mov    r11d, dword [rbx - 92]
  2224	WORD $0x438b; BYTE $0xa8       // mov    eax, dword [rbx - 88]
  2225	LONG $0x08faa40f               // shld    edx, edi, 8
  2226	WORD $0x8944; BYTE $0xd1       // mov    ecx, r10d
  2227	LONG $0x10c1a40f               // shld    ecx, eax, 16
  2228	LONG $0xd8a40f44; BYTE $0x08   // shld    eax, r11d, 8
  2229	LONG $0xd76ef9c5               // vmovd    xmm2, edi
  2230	LONG $0x6e79c1c4; BYTE $0xdb   // vmovd    xmm3, r11d
  2231	LONG $0x2269e3c4; WORD $0x01d2 // vpinsrd    xmm2, xmm2, edx, 1
  2232	LONG $0x2261e3c4; WORD $0x01d8 // vpinsrd    xmm3, xmm3, eax, 1
  2233	LONG $0x2269e3c4; WORD $0x02d6 // vpinsrd    xmm2, xmm2, esi, 2
  2234	LONG $0x2261e3c4; WORD $0x02d9 // vpinsrd    xmm3, xmm3, ecx, 2
  2235	LONG $0x2269c3c4; WORD $0x03d1 // vpinsrd    xmm2, xmm2, r9d, 3
  2236	LONG $0x2261c3c4; WORD $0x03da // vpinsrd    xmm3, xmm3, r10d, 3
  2237	LONG $0x3865e3c4; WORD $0x01d2 // vinserti128    ymm2, ymm3, xmm2, 1
  2238	LONG $0x456de2c4; BYTE $0xd0   // vpsrlvd    ymm2, ymm2, ymm0
  2239	LONG $0xd1dbedc5               // vpand    ymm2, ymm2, ymm1
  2240	LONG $0x7f7ec1c4; WORD $0xa057 // vmovdqu    yword [r15 - 96], ymm2
  2241	LONG $0xd04b8b44               // mov    r9d, dword [rbx - 48]
  2242	WORD $0x4b8b; BYTE $0xcc       // mov    ecx, dword [rbx - 52]
  2243	WORD $0x8944; BYTE $0xca       // mov    edx, r9d
  2244	WORD $0x738b; BYTE $0xc8       // mov    esi, dword [rbx - 56]
  2245	LONG $0xc4538b44               // mov    r10d, dword [rbx - 60]
  2246	LONG $0x10caa40f               // shld    edx, ecx, 16
  2247	LONG $0xbc5b8b44               // mov    r11d, dword [rbx - 68]
  2248	WORD $0x7b8b; BYTE $0xc0       // mov    edi, dword [rbx - 64]
  2249	LONG $0x08f1a40f               // shld    ecx, esi, 8
  2250	WORD $0x8944; BYTE $0xd0       // mov    eax, r10d
  2251	LONG $0x10f8a40f               // shld    eax, edi, 16
  2252	LONG $0xdfa40f44; BYTE $0x08   // shld    edi, r11d, 8
  2253	LONG $0xd66ef9c5               // vmovd    xmm2, esi
  2254	LONG $0x6e79c1c4; BYTE $0xdb   // vmovd    xmm3, r11d
  2255	LONG $0x2269e3c4; WORD $0x01d1 // vpinsrd    xmm2, xmm2, ecx, 1
  2256	LONG $0x2261e3c4; WORD $0x01df // vpinsrd    xmm3, xmm3, edi, 1
  2257	LONG $0x2269e3c4; WORD $0x02d2 // vpinsrd    xmm2, xmm2, edx, 2
  2258	LONG $0x2261e3c4; WORD $0x02d8 // vpinsrd    xmm3, xmm3, eax, 2
  2259	LONG $0x2269c3c4; WORD $0x03d1 // vpinsrd    xmm2, xmm2, r9d, 3
  2260	LONG $0x2261c3c4; WORD $0x03da // vpinsrd    xmm3, xmm3, r10d, 3
  2261	LONG $0x3865e3c4; WORD $0x01d2 // vinserti128    ymm2, ymm3, xmm2, 1
  2262	LONG $0x456de2c4; BYTE $0xd0   // vpsrlvd    ymm2, ymm2, ymm0
  2263	LONG $0xd1dbedc5               // vpand    ymm2, ymm2, ymm1
  2264	LONG $0x7f7ec1c4; WORD $0xc057 // vmovdqu    yword [r15 - 64], ymm2
  2265	LONG $0xe84b8b44               // mov    r9d, dword [rbx - 24]
  2266	WORD $0x4b8b; BYTE $0xe4       // mov    ecx, dword [rbx - 28]
  2267	WORD $0x8944; BYTE $0xca       // mov    edx, r9d
  2268	WORD $0x738b; BYTE $0xe0       // mov    esi, dword [rbx - 32]
  2269	LONG $0xdc538b44               // mov    r10d, dword [rbx - 36]
  2270	LONG $0x10caa40f               // shld    edx, ecx, 16
  2271	LONG $0xd45b8b44               // mov    r11d, dword [rbx - 44]
  2272	WORD $0x7b8b; BYTE $0xd8       // mov    edi, dword [rbx - 40]
  2273	LONG $0x08f1a40f               // shld    ecx, esi, 8
  2274	WORD $0x8944; BYTE $0xd0       // mov    eax, r10d
  2275	LONG $0x10f8a40f               // shld    eax, edi, 16
  2276	LONG $0xdfa40f44; BYTE $0x08   // shld    edi, r11d, 8
  2277	LONG $0xd66ef9c5               // vmovd    xmm2, esi
  2278	LONG $0x6e79c1c4; BYTE $0xdb   // vmovd    xmm3, r11d
  2279	LONG $0x2269e3c4; WORD $0x01d1 // vpinsrd    xmm2, xmm2, ecx, 1
  2280	LONG $0x2261e3c4; WORD $0x01df // vpinsrd    xmm3, xmm3, edi, 1
  2281	LONG $0x2269e3c4; WORD $0x02d2 // vpinsrd    xmm2, xmm2, edx, 2
  2282	LONG $0x2261e3c4; WORD $0x02d8 // vpinsrd    xmm3, xmm3, eax, 2
  2283	LONG $0x2269c3c4; WORD $0x03d1 // vpinsrd    xmm2, xmm2, r9d, 3
  2284	LONG $0x2261c3c4; WORD $0x03da // vpinsrd    xmm3, xmm3, r10d, 3
  2285	LONG $0x3865e3c4; WORD $0x01d2 // vinserti128    ymm2, ymm3, xmm2, 1
  2286	LONG $0x456de2c4; BYTE $0xd0   // vpsrlvd    ymm2, ymm2, ymm0
  2287	LONG $0xd1dbedc5               // vpand    ymm2, ymm2, ymm1
  2288	LONG $0x7f7ec1c4; WORD $0xe057 // vmovdqu    yword [r15 - 32], ymm2
  2289	WORD $0x8b44; BYTE $0x0b       // mov    r9d, dword [rbx]
  2290	WORD $0x4b8b; BYTE $0xfc       // mov    ecx, dword [rbx - 4]
  2291	WORD $0x8944; BYTE $0xca       // mov    edx, r9d
  2292	WORD $0x738b; BYTE $0xf8       // mov    esi, dword [rbx - 8]
  2293	LONG $0xf4538b44               // mov    r10d, dword [rbx - 12]
  2294	LONG $0x10caa40f               // shld    edx, ecx, 16
  2295	LONG $0xec5b8b44               // mov    r11d, dword [rbx - 20]
  2296	WORD $0x7b8b; BYTE $0xf0       // mov    edi, dword [rbx - 16]
  2297	LONG $0x08f1a40f               // shld    ecx, esi, 8
  2298	WORD $0x8944; BYTE $0xd0       // mov    eax, r10d
  2299	LONG $0x10f8a40f               // shld    eax, edi, 16
  2300	LONG $0xdfa40f44; BYTE $0x08   // shld    edi, r11d, 8
  2301	LONG $0xd66ef9c5               // vmovd    xmm2, esi
  2302	LONG $0x2269e3c4; WORD $0x01d1 // vpinsrd    xmm2, xmm2, ecx, 1
  2303	LONG $0x6e79c1c4; BYTE $0xdb   // vmovd    xmm3, r11d
  2304	LONG $0x2269e3c4; WORD $0x02d2 // vpinsrd    xmm2, xmm2, edx, 2
  2305	LONG $0x2261e3c4; WORD $0x01df // vpinsrd    xmm3, xmm3, edi, 1
  2306	LONG $0x2269c3c4; WORD $0x03d1 // vpinsrd    xmm2, xmm2, r9d, 3
  2307	LONG $0x2261e3c4; WORD $0x02d8 // vpinsrd    xmm3, xmm3, eax, 2
  2308	LONG $0x2261c3c4; WORD $0x03da // vpinsrd    xmm3, xmm3, r10d, 3
  2309	LONG $0x3865e3c4; WORD $0x01d2 // vinserti128    ymm2, ymm3, xmm2, 1
  2310	LONG $0x456de2c4; BYTE $0xd0   // vpsrlvd    ymm2, ymm2, ymm0
  2311	LONG $0xd1dbedc5               // vpand    ymm2, ymm2, ymm1
  2312	LONG $0x7f7ec1c4; BYTE $0x17   // vmovdqu    yword [r15], ymm2
  2313	LONG $0x80ef8349               // sub    r15, -128
  2314	LONG $0x60c38348               // add    rbx, 96
  2315	LONG $0xffc08349               // add    r8, -1
  2316	JNE  LBB0_110
  2317	JMP  LBB0_147
  2318
  2319LBB0_138:
  2320	WORD $0xfa83; BYTE $0x20             // cmp    edx, 32
  2321	JL   LBB0_147
  2322	WORD $0x8944; BYTE $0xf0             // mov    eax, r14d
  2323	WORD $0xc931                         // xor    ecx, ecx
  2324	QUAD $0x000009e0856ffdc5             // vmovdqa    ymm0, yword 2528[rbp] /* [rip + .LCPI0_124] */
  2325	QUAD $0x0000d88d597de2c4; BYTE $0x00 // vpbroadcastq    ymm1, qword 216[rbp] /* [rip + .LCPI0_125] */
  2326
  2327LBB0_140:
  2328	LONG $0x587de2c4; WORD $0x0b14             // vpbroadcastd    ymm2, dword [rbx + rcx]
  2329	LONG $0x456de2c4; BYTE $0xd0               // vpsrlvd    ymm2, ymm2, ymm0
  2330	LONG $0xd1dbedc5                           // vpand    ymm2, ymm2, ymm1
  2331	LONG $0x7f7ec1c4; WORD $0xcf14             // vmovdqu    yword [r15 + 8*rcx], ymm2
  2332	LONG $0x587de2c4; WORD $0x0b54; BYTE $0x04 // vpbroadcastd    ymm2, dword [rbx + rcx + 4]
  2333	LONG $0x456de2c4; BYTE $0xd0               // vpsrlvd    ymm2, ymm2, ymm0
  2334	LONG $0xd1dbedc5                           // vpand    ymm2, ymm2, ymm1
  2335	LONG $0x7f7ec1c4; WORD $0xcf54; BYTE $0x20 // vmovdqu    yword [r15 + 8*rcx + 32], ymm2
  2336	LONG $0x587de2c4; WORD $0x0b54; BYTE $0x08 // vpbroadcastd    ymm2, dword [rbx + rcx + 8]
  2337	LONG $0x456de2c4; BYTE $0xd0               // vpsrlvd    ymm2, ymm2, ymm0
  2338	LONG $0xd1dbedc5                           // vpand    ymm2, ymm2, ymm1
  2339	LONG $0x7f7ec1c4; WORD $0xcf54; BYTE $0x40 // vmovdqu    yword [r15 + 8*rcx + 64], ymm2
  2340	LONG $0x587de2c4; WORD $0x0b54; BYTE $0x0c // vpbroadcastd    ymm2, dword [rbx + rcx + 12]
  2341	LONG $0x456de2c4; BYTE $0xd0               // vpsrlvd    ymm2, ymm2, ymm0
  2342	LONG $0xd1dbedc5                           // vpand    ymm2, ymm2, ymm1
  2343	LONG $0x7f7ec1c4; WORD $0xcf54; BYTE $0x60 // vmovdqu    yword [r15 + 8*rcx + 96], ymm2
  2344	LONG $0x10c18348                           // add    rcx, 16
  2345	LONG $0xffc08348                           // add    rax, -1
  2346	JNE  LBB0_140
  2347	JMP  LBB0_147
  2348
  2349LBB0_114:
  2350	WORD $0xfa83; BYTE $0x20       // cmp    edx, 32
  2351	JL   LBB0_147
  2352	WORD $0x8945; BYTE $0xf0       // mov    r8d, r14d
  2353	LONG $0x60c78349               // add    r15, 96
  2354	LONG $0x4cc38348               // add    rbx, 76
  2355	QUAD $0x000004a0856ffdc5       // vmovdqa    ymm0, yword 1184[rbp] /* [rip + .LCPI0_65] */
  2356	LONG $0x597de2c4; WORD $0x604d // vpbroadcastq    ymm1, qword 96[rbp] /* [rip + .LCPI0_66] */
  2357
  2358LBB0_116:
  2359	LONG $0xc44b8b44               // mov    r9d, dword [rbx - 60]
  2360	LONG $0xc05b8b44               // mov    r11d, dword [rbx - 64]
  2361	WORD $0x8944; BYTE $0xce       // mov    esi, r9d
  2362	LONG $0xdea40f44; BYTE $0x08   // shld    esi, r11d, 8
  2363	WORD $0x7b8b; BYTE $0xbc       // mov    edi, dword [rbx - 68]
  2364	WORD $0x8944; BYTE $0xda       // mov    edx, r11d
  2365	LONG $0x10faa40f               // shld    edx, edi, 16
  2366	WORD $0x438b; BYTE $0xb8       // mov    eax, dword [rbx - 72]
  2367	LONG $0x04c7a40f               // shld    edi, eax, 4
  2368	LONG $0xb4538b44               // mov    r10d, dword [rbx - 76]
  2369	WORD $0xc189                   // mov    ecx, eax
  2370	LONG $0xd1a40f44; BYTE $0x0c   // shld    ecx, r10d, 12
  2371	LONG $0xd26ef9c5               // vmovd    xmm2, edx
  2372	LONG $0x2269c3c4; WORD $0x01d3 // vpinsrd    xmm2, xmm2, r11d, 1
  2373	LONG $0x2269e3c4; WORD $0x02d6 // vpinsrd    xmm2, xmm2, esi, 2
  2374	LONG $0x2269c3c4; WORD $0x03d1 // vpinsrd    xmm2, xmm2, r9d, 3
  2375	LONG $0x6e79c1c4; BYTE $0xda   // vmovd    xmm3, r10d
  2376	LONG $0x2261e3c4; WORD $0x01d9 // vpinsrd    xmm3, xmm3, ecx, 1
  2377	LONG $0x2261e3c4; WORD $0x02d8 // vpinsrd    xmm3, xmm3, eax, 2
  2378	LONG $0x2261e3c4; WORD $0x03df // vpinsrd    xmm3, xmm3, edi, 3
  2379	LONG $0x3865e3c4; WORD $0x01d2 // vinserti128    ymm2, ymm3, xmm2, 1
  2380	LONG $0x456de2c4; BYTE $0xd0   // vpsrlvd    ymm2, ymm2, ymm0
  2381	LONG $0xd1dbedc5               // vpand    ymm2, ymm2, ymm1
  2382	LONG $0x7f7ec1c4; WORD $0xa057 // vmovdqu    yword [r15 - 96], ymm2
  2383	LONG $0xd84b8b44               // mov    r9d, dword [rbx - 40]
  2384	LONG $0xd45b8b44               // mov    r11d, dword [rbx - 44]
  2385	WORD $0x8944; BYTE $0xca       // mov    edx, r9d
  2386	LONG $0xdaa40f44; BYTE $0x08   // shld    edx, r11d, 8
  2387	WORD $0x738b; BYTE $0xd0       // mov    esi, dword [rbx - 48]
  2388	WORD $0x8944; BYTE $0xdf       // mov    edi, r11d
  2389	LONG $0x10f7a40f               // shld    edi, esi, 16
  2390	LONG $0xc8538b44               // mov    r10d, dword [rbx - 56]
  2391	WORD $0x4b8b; BYTE $0xcc       // mov    ecx, dword [rbx - 52]
  2392	LONG $0x04cea40f               // shld    esi, ecx, 4
  2393	WORD $0xc889                   // mov    eax, ecx
  2394	LONG $0xd0a40f44; BYTE $0x0c   // shld    eax, r10d, 12
  2395	LONG $0xd76ef9c5               // vmovd    xmm2, edi
  2396	LONG $0x2269c3c4; WORD $0x01d3 // vpinsrd    xmm2, xmm2, r11d, 1
  2397	LONG $0x2269e3c4; WORD $0x02d2 // vpinsrd    xmm2, xmm2, edx, 2
  2398	LONG $0x2269c3c4; WORD $0x03d1 // vpinsrd    xmm2, xmm2, r9d, 3
  2399	LONG $0x6e79c1c4; BYTE $0xda   // vmovd    xmm3, r10d
  2400	LONG $0x2261e3c4; WORD $0x01d8 // vpinsrd    xmm3, xmm3, eax, 1
  2401	LONG $0x2261e3c4; WORD $0x02d9 // vpinsrd    xmm3, xmm3, ecx, 2
  2402	LONG $0x2261e3c4; WORD $0x03de // vpinsrd    xmm3, xmm3, esi, 3
  2403	LONG $0x3865e3c4; WORD $0x01d2 // vinserti128    ymm2, ymm3, xmm2, 1
  2404	LONG $0x456de2c4; BYTE $0xd0   // vpsrlvd    ymm2, ymm2, ymm0
  2405	LONG $0xd1dbedc5               // vpand    ymm2, ymm2, ymm1
  2406	LONG $0x7f7ec1c4; WORD $0xc057 // vmovdqu    yword [r15 - 64], ymm2
  2407	LONG $0xec4b8b44               // mov    r9d, dword [rbx - 20]
  2408	LONG $0xe85b8b44               // mov    r11d, dword [rbx - 24]
  2409	WORD $0x8944; BYTE $0xca       // mov    edx, r9d
  2410	LONG $0xdaa40f44; BYTE $0x08   // shld    edx, r11d, 8
  2411	WORD $0x738b; BYTE $0xe4       // mov    esi, dword [rbx - 28]
  2412	WORD $0x8944; BYTE $0xdf       // mov    edi, r11d
  2413	LONG $0x10f7a40f               // shld    edi, esi, 16
  2414	WORD $0x4b8b; BYTE $0xe0       // mov    ecx, dword [rbx - 32]
  2415	LONG $0x04cea40f               // shld    esi, ecx, 4
  2416	LONG $0xdc538b44               // mov    r10d, dword [rbx - 36]
  2417	WORD $0xc889                   // mov    eax, ecx
  2418	LONG $0xd0a40f44; BYTE $0x0c   // shld    eax, r10d, 12
  2419	LONG $0xd76ef9c5               // vmovd    xmm2, edi
  2420	LONG $0x2269c3c4; WORD $0x01d3 // vpinsrd    xmm2, xmm2, r11d, 1
  2421	LONG $0x2269e3c4; WORD $0x02d2 // vpinsrd    xmm2, xmm2, edx, 2
  2422	LONG $0x2269c3c4; WORD $0x03d1 // vpinsrd    xmm2, xmm2, r9d, 3
  2423	LONG $0x6e79c1c4; BYTE $0xda   // vmovd    xmm3, r10d
  2424	LONG $0x2261e3c4; WORD $0x01d8 // vpinsrd    xmm3, xmm3, eax, 1
  2425	LONG $0x2261e3c4; WORD $0x02d9 // vpinsrd    xmm3, xmm3, ecx, 2
  2426	LONG $0x2261e3c4; WORD $0x03de // vpinsrd    xmm3, xmm3, esi, 3
  2427	LONG $0x3865e3c4; WORD $0x01d2 // vinserti128    ymm2, ymm3, xmm2, 1
  2428	LONG $0x456de2c4; BYTE $0xd0   // vpsrlvd    ymm2, ymm2, ymm0
  2429	LONG $0xd1dbedc5               // vpand    ymm2, ymm2, ymm1
  2430	LONG $0x7f7ec1c4; WORD $0xe057 // vmovdqu    yword [r15 - 32], ymm2
  2431	WORD $0x8b44; BYTE $0x0b       // mov    r9d, dword [rbx]
  2432	LONG $0xfc5b8b44               // mov    r11d, dword [rbx - 4]
  2433	WORD $0x8944; BYTE $0xca       // mov    edx, r9d
  2434	LONG $0xdaa40f44; BYTE $0x08   // shld    edx, r11d, 8
  2435	WORD $0x738b; BYTE $0xf8       // mov    esi, dword [rbx - 8]
  2436	WORD $0x8944; BYTE $0xdf       // mov    edi, r11d
  2437	LONG $0x10f7a40f               // shld    edi, esi, 16
  2438	LONG $0xf0538b44               // mov    r10d, dword [rbx - 16]
  2439	WORD $0x4b8b; BYTE $0xf4       // mov    ecx, dword [rbx - 12]
  2440	LONG $0x04cea40f               // shld    esi, ecx, 4
  2441	WORD $0xc889                   // mov    eax, ecx
  2442	LONG $0xd0a40f44; BYTE $0x0c   // shld    eax, r10d, 12
  2443	LONG $0xd76ef9c5               // vmovd    xmm2, edi
  2444	LONG $0x2269c3c4; WORD $0x01d3 // vpinsrd    xmm2, xmm2, r11d, 1
  2445	LONG $0x2269e3c4; WORD $0x02d2 // vpinsrd    xmm2, xmm2, edx, 2
  2446	LONG $0x2269c3c4; WORD $0x03d1 // vpinsrd    xmm2, xmm2, r9d, 3
  2447	LONG $0x6e79c1c4; BYTE $0xda   // vmovd    xmm3, r10d
  2448	LONG $0x2261e3c4; WORD $0x01d8 // vpinsrd    xmm3, xmm3, eax, 1
  2449	LONG $0x2261e3c4; WORD $0x02d9 // vpinsrd    xmm3, xmm3, ecx, 2
  2450	LONG $0x2261e3c4; WORD $0x03de // vpinsrd    xmm3, xmm3, esi, 3
  2451	LONG $0x3865e3c4; WORD $0x01d2 // vinserti128    ymm2, ymm3, xmm2, 1
  2452	LONG $0x456de2c4; BYTE $0xd0   // vpsrlvd    ymm2, ymm2, ymm0
  2453	LONG $0xd1dbedc5               // vpand    ymm2, ymm2, ymm1
  2454	LONG $0x7f7ec1c4; BYTE $0x17   // vmovdqu    yword [r15], ymm2
  2455	LONG $0x80ef8349               // sub    r15, -128
  2456	LONG $0x50c38348               // add    rbx, 80
  2457	LONG $0xffc08349               // add    r8, -1
  2458	JNE  LBB0_116
  2459	JMP  LBB0_147
  2460
  2461LBB0_126:
  2462	WORD $0xfa83; BYTE $0x20             // cmp    edx, 32
  2463	JL   LBB0_147
  2464	WORD $0x8945; BYTE $0xf0             // mov    r8d, r14d
  2465	LONG $0x60c78349                     // add    r15, 96
  2466	LONG $0x2cc38348                     // add    rbx, 44
  2467	QUAD $0x00000740856ffdc5             // vmovdqa    ymm0, yword 1856[rbp] /* [rip + .LCPI0_94] */
  2468	QUAD $0x0000a08d597de2c4; BYTE $0x00 // vpbroadcastq    ymm1, qword 160[rbp] /* [rip + .LCPI0_95] */
  2469
  2470LBB0_128:
  2471	WORD $0x4b8b; BYTE $0xdc       // mov    ecx, dword [rbx - 36]
  2472	WORD $0x538b; BYTE $0xd4       // mov    edx, dword [rbx - 44]
  2473	WORD $0x738b; BYTE $0xd8       // mov    esi, dword [rbx - 40]
  2474	WORD $0xcf89                   // mov    edi, ecx
  2475	LONG $0x04f7a40f               // shld    edi, esi, 4
  2476	WORD $0xf089                   // mov    eax, esi
  2477	LONG $0x08d0a40f               // shld    eax, edx, 8
  2478	LONG $0xd66ef9c5               // vmovd    xmm2, esi
  2479	LONG $0x2269e3c4; WORD $0x01d7 // vpinsrd    xmm2, xmm2, edi, 1
  2480	LONG $0x2269e3c4; WORD $0x02d1 // vpinsrd    xmm2, xmm2, ecx, 2
  2481	LONG $0x2269e3c4; WORD $0x03d1 // vpinsrd    xmm2, xmm2, ecx, 3
  2482	LONG $0xda6ef9c5               // vmovd    xmm3, edx
  2483	LONG $0x2261e3c4; WORD $0x01da // vpinsrd    xmm3, xmm3, edx, 1
  2484	LONG $0x2261e3c4; WORD $0x02d8 // vpinsrd    xmm3, xmm3, eax, 2
  2485	LONG $0x2261e3c4; WORD $0x03de // vpinsrd    xmm3, xmm3, esi, 3
  2486	LONG $0x3865e3c4; WORD $0x01d2 // vinserti128    ymm2, ymm3, xmm2, 1
  2487	LONG $0x456de2c4; BYTE $0xd0   // vpsrlvd    ymm2, ymm2, ymm0
  2488	LONG $0xd1dbedc5               // vpand    ymm2, ymm2, ymm1
  2489	LONG $0x7f7ec1c4; WORD $0xa057 // vmovdqu    yword [r15 - 96], ymm2
  2490	WORD $0x438b; BYTE $0xe8       // mov    eax, dword [rbx - 24]
  2491	WORD $0x4b8b; BYTE $0xe0       // mov    ecx, dword [rbx - 32]
  2492	WORD $0x538b; BYTE $0xe4       // mov    edx, dword [rbx - 28]
  2493	WORD $0xc689                   // mov    esi, eax
  2494	LONG $0x04d6a40f               // shld    esi, edx, 4
  2495	WORD $0xd789                   // mov    edi, edx
  2496	LONG $0x08cfa40f               // shld    edi, ecx, 8
  2497	LONG $0xd26ef9c5               // vmovd    xmm2, edx
  2498	LONG $0x2269e3c4; WORD $0x01d6 // vpinsrd    xmm2, xmm2, esi, 1
  2499	LONG $0x2269e3c4; WORD $0x02d0 // vpinsrd    xmm2, xmm2, eax, 2
  2500	LONG $0x2269e3c4; WORD $0x03d0 // vpinsrd    xmm2, xmm2, eax, 3
  2501	LONG $0xd96ef9c5               // vmovd    xmm3, ecx
  2502	LONG $0x2261e3c4; WORD $0x01d9 // vpinsrd    xmm3, xmm3, ecx, 1
  2503	LONG $0x2261e3c4; WORD $0x02df // vpinsrd    xmm3, xmm3, edi, 2
  2504	LONG $0x2261e3c4; WORD $0x03da // vpinsrd    xmm3, xmm3, edx, 3
  2505	LONG $0x3865e3c4; WORD $0x01d2 // vinserti128    ymm2, ymm3, xmm2, 1
  2506	LONG $0x456de2c4; BYTE $0xd0   // vpsrlvd    ymm2, ymm2, ymm0
  2507	LONG $0xd1dbedc5               // vpand    ymm2, ymm2, ymm1
  2508	LONG $0x7f7ec1c4; WORD $0xc057 // vmovdqu    yword [r15 - 64], ymm2
  2509	WORD $0x438b; BYTE $0xf4       // mov    eax, dword [rbx - 12]
  2510	WORD $0x4b8b; BYTE $0xec       // mov    ecx, dword [rbx - 20]
  2511	WORD $0x538b; BYTE $0xf0       // mov    edx, dword [rbx - 16]
  2512	WORD $0xc689                   // mov    esi, eax
  2513	LONG $0x04d6a40f               // shld    esi, edx, 4
  2514	WORD $0xd789                   // mov    edi, edx
  2515	LONG $0x08cfa40f               // shld    edi, ecx, 8
  2516	LONG $0xd26ef9c5               // vmovd    xmm2, edx
  2517	LONG $0x2269e3c4; WORD $0x01d6 // vpinsrd    xmm2, xmm2, esi, 1
  2518	LONG $0x2269e3c4; WORD $0x02d0 // vpinsrd    xmm2, xmm2, eax, 2
  2519	LONG $0x2269e3c4; WORD $0x03d0 // vpinsrd    xmm2, xmm2, eax, 3
  2520	LONG $0xd96ef9c5               // vmovd    xmm3, ecx
  2521	LONG $0x2261e3c4; WORD $0x01d9 // vpinsrd    xmm3, xmm3, ecx, 1
  2522	LONG $0x2261e3c4; WORD $0x02df // vpinsrd    xmm3, xmm3, edi, 2
  2523	LONG $0x2261e3c4; WORD $0x03da // vpinsrd    xmm3, xmm3, edx, 3
  2524	LONG $0x3865e3c4; WORD $0x01d2 // vinserti128    ymm2, ymm3, xmm2, 1
  2525	LONG $0x456de2c4; BYTE $0xd0   // vpsrlvd    ymm2, ymm2, ymm0
  2526	LONG $0xd1dbedc5               // vpand    ymm2, ymm2, ymm1
  2527	LONG $0x7f7ec1c4; WORD $0xe057 // vmovdqu    yword [r15 - 32], ymm2
  2528	WORD $0x038b                   // mov    eax, dword [rbx]
  2529	WORD $0x4b8b; BYTE $0xf8       // mov    ecx, dword [rbx - 8]
  2530	WORD $0x538b; BYTE $0xfc       // mov    edx, dword [rbx - 4]
  2531	WORD $0xc689                   // mov    esi, eax
  2532	LONG $0x04d6a40f               // shld    esi, edx, 4
  2533	WORD $0xd789                   // mov    edi, edx
  2534	LONG $0x08cfa40f               // shld    edi, ecx, 8
  2535	LONG $0xd26ef9c5               // vmovd    xmm2, edx
  2536	LONG $0x2269e3c4; WORD $0x01d6 // vpinsrd    xmm2, xmm2, esi, 1
  2537	LONG $0x2269e3c4; WORD $0x02d0 // vpinsrd    xmm2, xmm2, eax, 2
  2538	LONG $0x2269e3c4; WORD $0x03d0 // vpinsrd    xmm2, xmm2, eax, 3
  2539	LONG $0xd96ef9c5               // vmovd    xmm3, ecx
  2540	LONG $0x2261e3c4; WORD $0x01d9 // vpinsrd    xmm3, xmm3, ecx, 1
  2541	LONG $0x2261e3c4; WORD $0x02df // vpinsrd    xmm3, xmm3, edi, 2
  2542	LONG $0x2261e3c4; WORD $0x03da // vpinsrd    xmm3, xmm3, edx, 3
  2543	LONG $0x3865e3c4; WORD $0x01d2 // vinserti128    ymm2, ymm3, xmm2, 1
  2544	LONG $0x456de2c4; BYTE $0xd0   // vpsrlvd    ymm2, ymm2, ymm0
  2545	LONG $0xd1dbedc5               // vpand    ymm2, ymm2, ymm1
  2546	LONG $0x7f7ec1c4; BYTE $0x17   // vmovdqu    yword [r15], ymm2
  2547	LONG $0x80ef8349               // sub    r15, -128
  2548	LONG $0x30c38348               // add    rbx, 48
  2549	LONG $0xffc08349               // add    r8, -1
  2550	JNE  LBB0_128
  2551	JMP  LBB0_147
  2552
  2553LBB0_102:
  2554	WORD $0xfa83; BYTE $0x20       // cmp    edx, 32
  2555	JL   LBB0_147
  2556	WORD $0x8945; BYTE $0xf0       // mov    r8d, r14d
  2557	LONG $0x60c78349               // add    r15, 96
  2558	LONG $0x6cc38348               // add    rbx, 108
  2559	QUAD $0x00000220856ffdc5       // vmovdqa    ymm0, yword 544[rbp] /* [rip + .LCPI0_22] */
  2560	LONG $0x597de2c4; WORD $0x184d // vpbroadcastq    ymm1, qword 24[rbp] /* [rip + .LCPI0_23] */
  2561
  2562LBB0_104:
  2563	LONG $0xac4b8b44               // mov    r9d, dword [rbx - 84]
  2564	WORD $0x538b; BYTE $0xa8       // mov    edx, dword [rbx - 88]
  2565	WORD $0x8945; BYTE $0xca       // mov    r10d, r9d
  2566	LONG $0xd2a40f41; BYTE $0x18   // shld    r10d, edx, 24
  2567	WORD $0x7b8b; BYTE $0xa4       // mov    edi, dword [rbx - 92]
  2568	LONG $0x14faa40f               // shld    edx, edi, 20
  2569	WORD $0x438b; BYTE $0xa0       // mov    eax, dword [rbx - 96]
  2570	LONG $0x10c7a40f               // shld    edi, eax, 16
  2571	WORD $0x4b8b; BYTE $0x9c       // mov    ecx, dword [rbx - 100]
  2572	LONG $0x0cc8a40f               // shld    eax, ecx, 12
  2573	LONG $0x945b8b44               // mov    r11d, dword [rbx - 108]
  2574	WORD $0x738b; BYTE $0x98       // mov    esi, dword [rbx - 104]
  2575	LONG $0x08f1a40f               // shld    ecx, esi, 8
  2576	LONG $0xdea40f44; BYTE $0x04   // shld    esi, r11d, 4
  2577	LONG $0x6e79c1c4; BYTE $0xd3   // vmovd    xmm2, r11d
  2578	LONG $0xdf6ef9c5               // vmovd    xmm3, edi
  2579	LONG $0x2269e3c4; WORD $0x01d6 // vpinsrd    xmm2, xmm2, esi, 1
  2580	LONG $0x2261e3c4; WORD $0x01da // vpinsrd    xmm3, xmm3, edx, 1
  2581	LONG $0x2269e3c4; WORD $0x02d1 // vpinsrd    xmm2, xmm2, ecx, 2
  2582	LONG $0x2261c3c4; WORD $0x02da // vpinsrd    xmm3, xmm3, r10d, 2
  2583	LONG $0x2269e3c4; WORD $0x03d0 // vpinsrd    xmm2, xmm2, eax, 3
  2584	LONG $0x2261c3c4; WORD $0x03d9 // vpinsrd    xmm3, xmm3, r9d, 3
  2585	LONG $0x386de3c4; WORD $0x01d3 // vinserti128    ymm2, ymm2, xmm3, 1
  2586	LONG $0x456de2c4; BYTE $0xd0   // vpsrlvd    ymm2, ymm2, ymm0
  2587	LONG $0xd1dbedc5               // vpand    ymm2, ymm2, ymm1
  2588	LONG $0x7f7ec1c4; WORD $0xa057 // vmovdqu    yword [r15 - 96], ymm2
  2589	LONG $0xc84b8b44               // mov    r9d, dword [rbx - 56]
  2590	WORD $0x4b8b; BYTE $0xc4       // mov    ecx, dword [rbx - 60]
  2591	WORD $0x8945; BYTE $0xca       // mov    r10d, r9d
  2592	LONG $0xcaa40f41; BYTE $0x18   // shld    r10d, ecx, 24
  2593	WORD $0x738b; BYTE $0xc0       // mov    esi, dword [rbx - 64]
  2594	LONG $0x14f1a40f               // shld    ecx, esi, 20
  2595	WORD $0x7b8b; BYTE $0xbc       // mov    edi, dword [rbx - 68]
  2596	LONG $0x10fea40f               // shld    esi, edi, 16
  2597	WORD $0x438b; BYTE $0xb8       // mov    eax, dword [rbx - 72]
  2598	LONG $0x0cc7a40f               // shld    edi, eax, 12
  2599	LONG $0xb05b8b44               // mov    r11d, dword [rbx - 80]
  2600	WORD $0x538b; BYTE $0xb4       // mov    edx, dword [rbx - 76]
  2601	LONG $0x08d0a40f               // shld    eax, edx, 8
  2602	LONG $0xdaa40f44; BYTE $0x04   // shld    edx, r11d, 4
  2603	LONG $0x6e79c1c4; BYTE $0xd3   // vmovd    xmm2, r11d
  2604	LONG $0xde6ef9c5               // vmovd    xmm3, esi
  2605	LONG $0x2269e3c4; WORD $0x01d2 // vpinsrd    xmm2, xmm2, edx, 1
  2606	LONG $0x2261e3c4; WORD $0x01d9 // vpinsrd    xmm3, xmm3, ecx, 1
  2607	LONG $0x2269e3c4; WORD $0x02d0 // vpinsrd    xmm2, xmm2, eax, 2
  2608	LONG $0x2261c3c4; WORD $0x02da // vpinsrd    xmm3, xmm3, r10d, 2
  2609	LONG $0x2269e3c4; WORD $0x03d7 // vpinsrd    xmm2, xmm2, edi, 3
  2610	LONG $0x2261c3c4; WORD $0x03d9 // vpinsrd    xmm3, xmm3, r9d, 3
  2611	LONG $0x386de3c4; WORD $0x01d3 // vinserti128    ymm2, ymm2, xmm3, 1
  2612	LONG $0x456de2c4; BYTE $0xd0   // vpsrlvd    ymm2, ymm2, ymm0
  2613	LONG $0xd1dbedc5               // vpand    ymm2, ymm2, ymm1
  2614	LONG $0x7f7ec1c4; WORD $0xc057 // vmovdqu    yword [r15 - 64], ymm2
  2615	LONG $0xe44b8b44               // mov    r9d, dword [rbx - 28]
  2616	WORD $0x4b8b; BYTE $0xe0       // mov    ecx, dword [rbx - 32]
  2617	WORD $0x8945; BYTE $0xca       // mov    r10d, r9d
  2618	LONG $0xcaa40f41; BYTE $0x18   // shld    r10d, ecx, 24
  2619	WORD $0x738b; BYTE $0xdc       // mov    esi, dword [rbx - 36]
  2620	LONG $0x14f1a40f               // shld    ecx, esi, 20
  2621	WORD $0x7b8b; BYTE $0xd8       // mov    edi, dword [rbx - 40]
  2622	LONG $0x10fea40f               // shld    esi, edi, 16
  2623	WORD $0x438b; BYTE $0xd4       // mov    eax, dword [rbx - 44]
  2624	LONG $0x0cc7a40f               // shld    edi, eax, 12
  2625	LONG $0xcc5b8b44               // mov    r11d, dword [rbx - 52]
  2626	WORD $0x538b; BYTE $0xd0       // mov    edx, dword [rbx - 48]
  2627	LONG $0x08d0a40f               // shld    eax, edx, 8
  2628	LONG $0xdaa40f44; BYTE $0x04   // shld    edx, r11d, 4
  2629	LONG $0x6e79c1c4; BYTE $0xd3   // vmovd    xmm2, r11d
  2630	LONG $0xde6ef9c5               // vmovd    xmm3, esi
  2631	LONG $0x2269e3c4; WORD $0x01d2 // vpinsrd    xmm2, xmm2, edx, 1
  2632	LONG $0x2261e3c4; WORD $0x01d9 // vpinsrd    xmm3, xmm3, ecx, 1
  2633	LONG $0x2269e3c4; WORD $0x02d0 // vpinsrd    xmm2, xmm2, eax, 2
  2634	LONG $0x2261c3c4; WORD $0x02da // vpinsrd    xmm3, xmm3, r10d, 2
  2635	LONG $0x2269e3c4; WORD $0x03d7 // vpinsrd    xmm2, xmm2, edi, 3
  2636	LONG $0x2261c3c4; WORD $0x03d9 // vpinsrd    xmm3, xmm3, r9d, 3
  2637	LONG $0x386de3c4; WORD $0x01d3 // vinserti128    ymm2, ymm2, xmm3, 1
  2638	LONG $0x456de2c4; BYTE $0xd0   // vpsrlvd    ymm2, ymm2, ymm0
  2639	LONG $0xd1dbedc5               // vpand    ymm2, ymm2, ymm1
  2640	LONG $0x7f7ec1c4; WORD $0xe057 // vmovdqu    yword [r15 - 32], ymm2
  2641	WORD $0x8b44; BYTE $0x0b       // mov    r9d, dword [rbx]
  2642	WORD $0x4b8b; BYTE $0xfc       // mov    ecx, dword [rbx - 4]
  2643	WORD $0x8945; BYTE $0xca       // mov    r10d, r9d
  2644	LONG $0xcaa40f41; BYTE $0x18   // shld    r10d, ecx, 24
  2645	WORD $0x738b; BYTE $0xf8       // mov    esi, dword [rbx - 8]
  2646	LONG $0x14f1a40f               // shld    ecx, esi, 20
  2647	WORD $0x7b8b; BYTE $0xf4       // mov    edi, dword [rbx - 12]
  2648	LONG $0x10fea40f               // shld    esi, edi, 16
  2649	WORD $0x438b; BYTE $0xf0       // mov    eax, dword [rbx - 16]
  2650	LONG $0x0cc7a40f               // shld    edi, eax, 12
  2651	LONG $0xe85b8b44               // mov    r11d, dword [rbx - 24]
  2652	WORD $0x538b; BYTE $0xec       // mov    edx, dword [rbx - 20]
  2653	LONG $0x08d0a40f               // shld    eax, edx, 8
  2654	LONG $0xdaa40f44; BYTE $0x04   // shld    edx, r11d, 4
  2655	LONG $0x6e79c1c4; BYTE $0xd3   // vmovd    xmm2, r11d
  2656	LONG $0xde6ef9c5               // vmovd    xmm3, esi
  2657	LONG $0x2269e3c4; WORD $0x01d2 // vpinsrd    xmm2, xmm2, edx, 1
  2658	LONG $0x2261e3c4; WORD $0x01d9 // vpinsrd    xmm3, xmm3, ecx, 1
  2659	LONG $0x2269e3c4; WORD $0x02d0 // vpinsrd    xmm2, xmm2, eax, 2
  2660	LONG $0x2261c3c4; WORD $0x02da // vpinsrd    xmm3, xmm3, r10d, 2
  2661	LONG $0x2269e3c4; WORD $0x03d7 // vpinsrd    xmm2, xmm2, edi, 3
  2662	LONG $0x2261c3c4; WORD $0x03d9 // vpinsrd    xmm3, xmm3, r9d, 3
  2663	LONG $0x386de3c4; WORD $0x01d3 // vinserti128    ymm2, ymm2, xmm3, 1
  2664	LONG $0x456de2c4; BYTE $0xd0   // vpsrlvd    ymm2, ymm2, ymm0
  2665	LONG $0xd1dbedc5               // vpand    ymm2, ymm2, ymm1
  2666	LONG $0x7f7ec1c4; BYTE $0x17   // vmovdqu    yword [r15], ymm2
  2667	LONG $0x80ef8349               // sub    r15, -128
  2668	LONG $0x70c38348               // add    rbx, 112
  2669	LONG $0xffc08349               // add    r8, -1
  2670	JNE  LBB0_104
  2671	JMP  LBB0_147
  2672
  2673LBB0_141:
  2674	WORD $0xfa83; BYTE $0x20             // cmp    edx, 32
  2675	JL   LBB0_147
  2676	WORD $0x8944; BYTE $0xf0             // mov    eax, r14d
  2677	LONG $0x60c78349                     // add    r15, 96
  2678	WORD $0xc931                         // xor    ecx, ecx
  2679	QUAD $0x00000a80856ffdc5             // vmovdqa    ymm0, yword 2688[rbp] /* [rip + .LCPI0_131] */
  2680	QUAD $0x0000e88d597de2c4; BYTE $0x00 // vpbroadcastq    ymm1, qword 232[rbp] /* [rip + .LCPI0_132] */
  2681	QUAD $0x00000aa0956ffdc5             // vmovdqa    ymm2, yword 2720[rbp] /* [rip + .LCPI0_133] */
  2682
  2683LBB0_143:
  2684	LONG $0x587de2c4; WORD $0xcb1c             // vpbroadcastd    ymm3, dword [rbx + 8*rcx]
  2685	LONG $0x4565e2c4; BYTE $0xd8               // vpsrlvd    ymm3, ymm3, ymm0
  2686	LONG $0xd9dbe5c5                           // vpand    ymm3, ymm3, ymm1
  2687	LONG $0x7f7ec1c4; WORD $0xa05f             // vmovdqu    yword [r15 - 96], ymm3
  2688	LONG $0x587de2c4; WORD $0xcb1c             // vpbroadcastd    ymm3, dword [rbx + 8*rcx]
  2689	LONG $0x4565e2c4; BYTE $0xda               // vpsrlvd    ymm3, ymm3, ymm2
  2690	LONG $0xd9dbe5c5                           // vpand    ymm3, ymm3, ymm1
  2691	LONG $0x7f7ec1c4; WORD $0xc05f             // vmovdqu    yword [r15 - 64], ymm3
  2692	LONG $0x587de2c4; WORD $0xcb5c; BYTE $0x04 // vpbroadcastd    ymm3, dword [rbx + 8*rcx + 4]
  2693	LONG $0x4565e2c4; BYTE $0xd8               // vpsrlvd    ymm3, ymm3, ymm0
  2694	LONG $0xd9dbe5c5                           // vpand    ymm3, ymm3, ymm1
  2695	LONG $0x7f7ec1c4; WORD $0xe05f             // vmovdqu    yword [r15 - 32], ymm3
  2696	LONG $0x587de2c4; WORD $0xcb5c; BYTE $0x04 // vpbroadcastd    ymm3, dword [rbx + 8*rcx + 4]
  2697	LONG $0x4565e2c4; BYTE $0xda               // vpsrlvd    ymm3, ymm3, ymm2
  2698	LONG $0xd9dbe5c5                           // vpand    ymm3, ymm3, ymm1
  2699	LONG $0x7f7ec1c4; BYTE $0x1f               // vmovdqu    yword [r15], ymm3
  2700	LONG $0x01c18348                           // add    rcx, 1
  2701	LONG $0x80ef8349                           // sub    r15, -128
  2702	WORD $0x3948; BYTE $0xc8                   // cmp    rax, rcx
  2703	JNE  LBB0_143
  2704	JMP  LBB0_147
  2705
  2706LBB0_117:
  2707	WORD $0xfa83; BYTE $0x20       // cmp    edx, 32
  2708	JL   LBB0_147
  2709	WORD $0x8945; BYTE $0xf0       // mov    r8d, r14d
  2710	LONG $0x60c78349               // add    r15, 96
  2711	LONG $0x44c38348               // add    rbx, 68
  2712	QUAD $0x00000540856ffdc5       // vmovdqa    ymm0, yword 1344[rbp] /* [rip + .LCPI0_72] */
  2713	LONG $0x597de2c4; WORD $0x704d // vpbroadcastq    ymm1, qword 112[rbp] /* [rip + .LCPI0_73] */
  2714	QUAD $0x00000560956ffdc5       // vmovdqa    ymm2, yword 1376[rbp] /* [rip + .LCPI0_74] */
  2715
  2716LBB0_119:
  2717	WORD $0x4b8b; BYTE $0xc8       // mov    ecx, dword [rbx - 56]
  2718	LONG $0xcc538b44               // mov    r10d, dword [rbx - 52]
  2719	LONG $0xcaa40f41; BYTE $0x02   // shld    r10d, ecx, 2
  2720	WORD $0x738b; BYTE $0xc4       // mov    esi, dword [rbx - 60]
  2721	WORD $0xcf89                   // mov    edi, ecx
  2722	LONG $0x06f7a40f               // shld    edi, esi, 6
  2723	LONG $0xbc4b8b44               // mov    r9d, dword [rbx - 68]
  2724	WORD $0x538b; BYTE $0xc0       // mov    edx, dword [rbx - 64]
  2725	WORD $0xd089                   // mov    eax, edx
  2726	LONG $0xc8a40f44; BYTE $0x0e   // shld    eax, r9d, 14
  2727	LONG $0xde6ef9c5               // vmovd    xmm3, esi
  2728	LONG $0x0ad6a40f               // shld    esi, edx, 10
  2729	LONG $0x2261e3c4; WORD $0x01df // vpinsrd    xmm3, xmm3, edi, 1
  2730	LONG $0x2261e3c4; WORD $0x02d9 // vpinsrd    xmm3, xmm3, ecx, 2
  2731	LONG $0x2261c3c4; WORD $0x03da // vpinsrd    xmm3, xmm3, r10d, 3
  2732	LONG $0x6e79c1c4; BYTE $0xe1   // vmovd    xmm4, r9d
  2733	LONG $0x2259e3c4; WORD $0x01e0 // vpinsrd    xmm4, xmm4, eax, 1
  2734	LONG $0x2259e3c4; WORD $0x02e2 // vpinsrd    xmm4, xmm4, edx, 2
  2735	LONG $0x2259e3c4; WORD $0x03e6 // vpinsrd    xmm4, xmm4, esi, 3
  2736	LONG $0x385de3c4; WORD $0x01db // vinserti128    ymm3, ymm4, xmm3, 1
  2737	LONG $0x4565e2c4; BYTE $0xd8   // vpsrlvd    ymm3, ymm3, ymm0
  2738	LONG $0xd9dbe5c5               // vpand    ymm3, ymm3, ymm1
  2739	LONG $0x7f7ec1c4; WORD $0xa05f // vmovdqu    yword [r15 - 96], ymm3
  2740	LONG $0xdc4b8b44               // mov    r9d, dword [rbx - 36]
  2741	LONG $0xd85b8b44               // mov    r11d, dword [rbx - 40]
  2742	WORD $0x8944; BYTE $0xca       // mov    edx, r9d
  2743	LONG $0xdaa40f44; BYTE $0x04   // shld    edx, r11d, 4
  2744	LONG $0xd4538b44               // mov    r10d, dword [rbx - 44]
  2745	WORD $0x8944; BYTE $0xdf       // mov    edi, r11d
  2746	LONG $0xd7a40f44; BYTE $0x08   // shld    edi, r10d, 8
  2747	WORD $0x438b; BYTE $0xcc       // mov    eax, dword [rbx - 52]
  2748	WORD $0x738b; BYTE $0xd0       // mov    esi, dword [rbx - 48]
  2749	WORD $0x8944; BYTE $0xd1       // mov    ecx, r10d
  2750	LONG $0x0cf1a40f               // shld    ecx, esi, 12
  2751	LONG $0x10f0ac0f               // shrd    eax, esi, 16
  2752	LONG $0xdf6ef9c5               // vmovd    xmm3, edi
  2753	LONG $0x2261c3c4; WORD $0x01db // vpinsrd    xmm3, xmm3, r11d, 1
  2754	LONG $0x2261e3c4; WORD $0x02da // vpinsrd    xmm3, xmm3, edx, 2
  2755	LONG $0x2261c3c4; WORD $0x03d9 // vpinsrd    xmm3, xmm3, r9d, 3
  2756	LONG $0xe06ef9c5               // vmovd    xmm4, eax
  2757	LONG $0x2259e3c4; WORD $0x01e6 // vpinsrd    xmm4, xmm4, esi, 1
  2758	LONG $0x2259e3c4; WORD $0x02e1 // vpinsrd    xmm4, xmm4, ecx, 2
  2759	LONG $0x2259c3c4; WORD $0x03e2 // vpinsrd    xmm4, xmm4, r10d, 3
  2760	LONG $0x385de3c4; WORD $0x01db // vinserti128    ymm3, ymm4, xmm3, 1
  2761	LONG $0x4565e2c4; BYTE $0xda   // vpsrlvd    ymm3, ymm3, ymm2
  2762	LONG $0xd9dbe5c5               // vpand    ymm3, ymm3, ymm1
  2763	LONG $0x7f7ec1c4; WORD $0xc05f // vmovdqu    yword [r15 - 64], ymm3
  2764	WORD $0x438b; BYTE $0xec       // mov    eax, dword [rbx - 20]
  2765	LONG $0xf0538b44               // mov    r10d, dword [rbx - 16]
  2766	LONG $0xc2a40f41; BYTE $0x02   // shld    r10d, eax, 2
  2767	WORD $0x538b; BYTE $0xe8       // mov    edx, dword [rbx - 24]
  2768	WORD $0xc689                   // mov    esi, eax
  2769	LONG $0x06d6a40f               // shld    esi, edx, 6
  2770	LONG $0xe04b8b44               // mov    r9d, dword [rbx - 32]
  2771	WORD $0x4b8b; BYTE $0xe4       // mov    ecx, dword [rbx - 28]
  2772	WORD $0xcf89                   // mov    edi, ecx
  2773	LONG $0xcfa40f44; BYTE $0x0e   // shld    edi, r9d, 14
  2774	LONG $0xda6ef9c5               // vmovd    xmm3, edx
  2775	LONG $0x0acaa40f               // shld    edx, ecx, 10
  2776	LONG $0x2261e3c4; WORD $0x01de // vpinsrd    xmm3, xmm3, esi, 1
  2777	LONG $0x2261e3c4; WORD $0x02d8 // vpinsrd    xmm3, xmm3, eax, 2
  2778	LONG $0x2261c3c4; WORD $0x03da // vpinsrd    xmm3, xmm3, r10d, 3
  2779	LONG $0x6e79c1c4; BYTE $0xe1   // vmovd    xmm4, r9d
  2780	LONG $0x2259e3c4; WORD $0x01e7 // vpinsrd    xmm4, xmm4, edi, 1
  2781	LONG $0x2259e3c4; WORD $0x02e1 // vpinsrd    xmm4, xmm4, ecx, 2
  2782	LONG $0x2259e3c4; WORD $0x03e2 // vpinsrd    xmm4, xmm4, edx, 3
  2783	LONG $0x385de3c4; WORD $0x01db // vinserti128    ymm3, ymm4, xmm3, 1
  2784	LONG $0x4565e2c4; BYTE $0xd8   // vpsrlvd    ymm3, ymm3, ymm0
  2785	LONG $0xd9dbe5c5               // vpand    ymm3, ymm3, ymm1
  2786	LONG $0x7f7ec1c4; WORD $0xe05f // vmovdqu    yword [r15 - 32], ymm3
  2787	WORD $0x8b44; BYTE $0x0b       // mov    r9d, dword [rbx]
  2788	LONG $0xfc5b8b44               // mov    r11d, dword [rbx - 4]
  2789	WORD $0x8944; BYTE $0xca       // mov    edx, r9d
  2790	LONG $0xdaa40f44; BYTE $0x04   // shld    edx, r11d, 4
  2791	LONG $0xf8538b44               // mov    r10d, dword [rbx - 8]
  2792	WORD $0x8944; BYTE $0xdf       // mov    edi, r11d
  2793	LONG $0xd7a40f44; BYTE $0x08   // shld    edi, r10d, 8
  2794	WORD $0x438b; BYTE $0xf0       // mov    eax, dword [rbx - 16]
  2795	WORD $0x738b; BYTE $0xf4       // mov    esi, dword [rbx - 12]
  2796	WORD $0x8944; BYTE $0xd1       // mov    ecx, r10d
  2797	LONG $0x0cf1a40f               // shld    ecx, esi, 12
  2798	LONG $0x10f0ac0f               // shrd    eax, esi, 16
  2799	LONG $0xdf6ef9c5               // vmovd    xmm3, edi
  2800	LONG $0x2261c3c4; WORD $0x01db // vpinsrd    xmm3, xmm3, r11d, 1
  2801	LONG $0x2261e3c4; WORD $0x02da // vpinsrd    xmm3, xmm3, edx, 2
  2802	LONG $0x2261c3c4; WORD $0x03d9 // vpinsrd    xmm3, xmm3, r9d, 3
  2803	LONG $0xe06ef9c5               // vmovd    xmm4, eax
  2804	LONG $0x2259e3c4; WORD $0x01e6 // vpinsrd    xmm4, xmm4, esi, 1
  2805	LONG $0x2259e3c4; WORD $0x02e1 // vpinsrd    xmm4, xmm4, ecx, 2
  2806	LONG $0x2259c3c4; WORD $0x03e2 // vpinsrd    xmm4, xmm4, r10d, 3
  2807	LONG $0x385de3c4; WORD $0x01db // vinserti128    ymm3, ymm4, xmm3, 1
  2808	LONG $0x4565e2c4; BYTE $0xda   // vpsrlvd    ymm3, ymm3, ymm2
  2809	LONG $0xd9dbe5c5               // vpand    ymm3, ymm3, ymm1
  2810	LONG $0x7f7ec1c4; BYTE $0x1f   // vmovdqu    yword [r15], ymm3
  2811	LONG $0x80ef8349               // sub    r15, -128
  2812	LONG $0x48c38348               // add    rbx, 72
  2813	LONG $0xffc08349               // add    r8, -1
  2814	JNE  LBB0_119
  2815	JMP  LBB0_147
  2816
  2817LBB0_129:
  2818	WORD $0xfa83; BYTE $0x20             // cmp    edx, 32
  2819	JL   LBB0_147
  2820	WORD $0x8945; BYTE $0xf0             // mov    r8d, r14d
  2821	LONG $0x60c78349                     // add    r15, 96
  2822	LONG $0x24c38348                     // add    rbx, 36
  2823	QUAD $0x000007e0856ffdc5             // vmovdqa    ymm0, yword 2016[rbp] /* [rip + .LCPI0_101] */
  2824	QUAD $0x0000b08d597de2c4; BYTE $0x00 // vpbroadcastq    ymm1, qword 176[rbp] /* [rip + .LCPI0_102] */
  2825	QUAD $0x00000800956ffdc5             // vmovdqa    ymm2, yword 2048[rbp] /* [rip + .LCPI0_103] */
  2826
  2827LBB0_131:
  2828	WORD $0x4b8b; BYTE $0xe4       // mov    ecx, dword [rbx - 28]
  2829	WORD $0x538b; BYTE $0xdc       // mov    edx, dword [rbx - 36]
  2830	WORD $0x738b; BYTE $0xe0       // mov    esi, dword [rbx - 32]
  2831	WORD $0xcf89                   // mov    edi, ecx
  2832	LONG $0x04f7a40f               // shld    edi, esi, 4
  2833	LONG $0xde6ef9c5               // vmovd    xmm3, esi
  2834	LONG $0x2261e3c4; WORD $0x01de // vpinsrd    xmm3, xmm3, esi, 1
  2835	LONG $0x02d6a40f               // shld    esi, edx, 2
  2836	LONG $0x2261e3c4; WORD $0x02df // vpinsrd    xmm3, xmm3, edi, 2
  2837	LONG $0x2261e3c4; WORD $0x03d9 // vpinsrd    xmm3, xmm3, ecx, 3
  2838	LONG $0xe26ef9c5               // vmovd    xmm4, edx
  2839	LONG $0x2259e3c4; WORD $0x01e2 // vpinsrd    xmm4, xmm4, edx, 1
  2840	LONG $0x2259e3c4; WORD $0x02e2 // vpinsrd    xmm4, xmm4, edx, 2
  2841	LONG $0x2259e3c4; WORD $0x03e6 // vpinsrd    xmm4, xmm4, esi, 3
  2842	LONG $0x385de3c4; WORD $0x01db // vinserti128    ymm3, ymm4, xmm3, 1
  2843	LONG $0x4565e2c4; BYTE $0xd8   // vpsrlvd    ymm3, ymm3, ymm0
  2844	LONG $0xd9dbe5c5               // vpand    ymm3, ymm3, ymm1
  2845	LONG $0x7f7ec1c4; WORD $0xa05f // vmovdqu    yword [r15 - 96], ymm3
  2846	WORD $0x4b8b; BYTE $0xec       // mov    ecx, dword [rbx - 20]
  2847	WORD $0x538b; BYTE $0xe8       // mov    edx, dword [rbx - 24]
  2848	WORD $0xce89                   // mov    esi, ecx
  2849	LONG $0x08d6a40f               // shld    esi, edx, 8
  2850	WORD $0x7b8b; BYTE $0xe4       // mov    edi, dword [rbx - 28]
  2851	WORD $0xd089                   // mov    eax, edx
  2852	LONG $0x06f8a40f               // shld    eax, edi, 6
  2853	LONG $0xde6ef9c5               // vmovd    xmm3, esi
  2854	LONG $0x2261e3c4; WORD $0x01d9 // vpinsrd    xmm3, xmm3, ecx, 1
  2855	LONG $0x2261e3c4; WORD $0x02d9 // vpinsrd    xmm3, xmm3, ecx, 2
  2856	LONG $0x2261e3c4; WORD $0x03d9 // vpinsrd    xmm3, xmm3, ecx, 3
  2857	LONG $0xe76ef9c5               // vmovd    xmm4, edi
  2858	LONG $0x2259e3c4; WORD $0x01e0 // vpinsrd    xmm4, xmm4, eax, 1
  2859	LONG $0x2259e3c4; WORD $0x02e2 // vpinsrd    xmm4, xmm4, edx, 2
  2860	LONG $0x2259e3c4; WORD $0x03e2 // vpinsrd    xmm4, xmm4, edx, 3
  2861	LONG $0x385de3c4; WORD $0x01db // vinserti128    ymm3, ymm4, xmm3, 1
  2862	LONG $0x4565e2c4; BYTE $0xda   // vpsrlvd    ymm3, ymm3, ymm2
  2863	LONG $0xd9dbe5c5               // vpand    ymm3, ymm3, ymm1
  2864	LONG $0x7f7ec1c4; WORD $0xc05f // vmovdqu    yword [r15 - 64], ymm3
  2865	WORD $0x438b; BYTE $0xf8       // mov    eax, dword [rbx - 8]
  2866	WORD $0x4b8b; BYTE $0xf0       // mov    ecx, dword [rbx - 16]
  2867	WORD $0x538b; BYTE $0xf4       // mov    edx, dword [rbx - 12]
  2868	WORD $0xc689                   // mov    esi, eax
  2869	LONG $0x04d6a40f               // shld    esi, edx, 4
  2870	LONG $0xda6ef9c5               // vmovd    xmm3, edx
  2871	LONG $0x2261e3c4; WORD $0x01da // vpinsrd    xmm3, xmm3, edx, 1
  2872	LONG $0x02caa40f               // shld    edx, ecx, 2
  2873	LONG $0x2261e3c4; WORD $0x02de // vpinsrd    xmm3, xmm3, esi, 2
  2874	LONG $0x2261e3c4; WORD $0x03d8 // vpinsrd    xmm3, xmm3, eax, 3
  2875	LONG $0xe16ef9c5               // vmovd    xmm4, ecx
  2876	LONG $0x2259e3c4; WORD $0x01e1 // vpinsrd    xmm4, xmm4, ecx, 1
  2877	LONG $0x2259e3c4; WORD $0x02e1 // vpinsrd    xmm4, xmm4, ecx, 2
  2878	LONG $0x2259e3c4; WORD $0x03e2 // vpinsrd    xmm4, xmm4, edx, 3
  2879	LONG $0x385de3c4; WORD $0x01db // vinserti128    ymm3, ymm4, xmm3, 1
  2880	LONG $0x4565e2c4; BYTE $0xd8   // vpsrlvd    ymm3, ymm3, ymm0
  2881	LONG $0xd9dbe5c5               // vpand    ymm3, ymm3, ymm1
  2882	LONG $0x7f7ec1c4; WORD $0xe05f // vmovdqu    yword [r15 - 32], ymm3
  2883	WORD $0x038b                   // mov    eax, dword [rbx]
  2884	WORD $0x4b8b; BYTE $0xf8       // mov    ecx, dword [rbx - 8]
  2885	WORD $0x538b; BYTE $0xfc       // mov    edx, dword [rbx - 4]
  2886	WORD $0xc689                   // mov    esi, eax
  2887	LONG $0x08d6a40f               // shld    esi, edx, 8
  2888	WORD $0xd789                   // mov    edi, edx
  2889	LONG $0x06cfa40f               // shld    edi, ecx, 6
  2890	LONG $0xde6ef9c5               // vmovd    xmm3, esi
  2891	LONG $0x2261e3c4; WORD $0x01d8 // vpinsrd    xmm3, xmm3, eax, 1
  2892	LONG $0x2261e3c4; WORD $0x02d8 // vpinsrd    xmm3, xmm3, eax, 2
  2893	LONG $0x2261e3c4; WORD $0x03d8 // vpinsrd    xmm3, xmm3, eax, 3
  2894	LONG $0xe16ef9c5               // vmovd    xmm4, ecx
  2895	LONG $0x2259e3c4; WORD $0x01e7 // vpinsrd    xmm4, xmm4, edi, 1
  2896	LONG $0x2259e3c4; WORD $0x02e2 // vpinsrd    xmm4, xmm4, edx, 2
  2897	LONG $0x2259e3c4; WORD $0x03e2 // vpinsrd    xmm4, xmm4, edx, 3
  2898	LONG $0x385de3c4; WORD $0x01db // vinserti128    ymm3, ymm4, xmm3, 1
  2899	LONG $0x4565e2c4; BYTE $0xda   // vpsrlvd    ymm3, ymm3, ymm2
  2900	LONG $0xd9dbe5c5               // vpand    ymm3, ymm3, ymm1
  2901	LONG $0x7f7ec1c4; BYTE $0x1f   // vmovdqu    yword [r15], ymm3
  2902	LONG $0x80ef8349               // sub    r15, -128
  2903	LONG $0x28c38348               // add    rbx, 40
  2904	LONG $0xffc08349               // add    r8, -1
  2905	JNE  LBB0_131
  2906	JMP  LBB0_147
  2907
  2908LBB0_105:
  2909	WORD $0xfa83; BYTE $0x20       // cmp    edx, 32
  2910	JL   LBB0_147
  2911	WORD $0x8945; BYTE $0xf0       // mov    r8d, r14d
  2912	LONG $0x60c78349               // add    r15, 96
  2913	LONG $0x64c38348               // add    rbx, 100
  2914	LONG $0x597de2c4; WORD $0x2845 // vpbroadcastq    ymm0, qword 40[rbp] /* [rip + .LCPI0_34] */
  2915	LONG $0x5979e2c4; WORD $0x304d // vpbroadcastq    xmm1, qword 48[rbp] /* [rip + .LCPI0_35] */
  2916	QUAD $0x000002c0956ffdc5       // vmovdqa    ymm2, yword 704[rbp] /* [rip + .LCPI0_33] */
  2917	LONG $0x5979e2c4; WORD $0x385d // vpbroadcastq    xmm3, qword 56[rbp] /* [rip + .LCPI0_36] */
  2918	QUAD $0x000002e0a56ffdc5       // vmovdqa    ymm4, yword 736[rbp] /* [rip + .LCPI0_37] */
  2919
  2920LBB0_107:
  2921	WORD $0x4b8b; BYTE $0xb0       // mov    ecx, dword [rbx - 80]
  2922	LONG $0xb44b8b44               // mov    r9d, dword [rbx - 76]
  2923	LONG $0xc9a40f41; BYTE $0x0a   // shld    r9d, ecx, 10
  2924	LONG $0xac5b8b44               // mov    r11d, dword [rbx - 84]
  2925	LONG $0xd9a40f44; BYTE $0x04   // shld    ecx, r11d, 4
  2926	WORD $0x7b8b; BYTE $0xa8       // mov    edi, dword [rbx - 88]
  2927	WORD $0x8944; BYTE $0xde       // mov    esi, r11d
  2928	LONG $0x18fea40f               // shld    esi, edi, 24
  2929	WORD $0x538b; BYTE $0xa4       // mov    edx, dword [rbx - 92]
  2930	LONG $0x12d7a40f               // shld    edi, edx, 18
  2931	LONG $0x9c538b44               // mov    r10d, dword [rbx - 100]
  2932	WORD $0x438b; BYTE $0xa0       // mov    eax, dword [rbx - 96]
  2933	LONG $0x0cc2a40f               // shld    edx, eax, 12
  2934	LONG $0xd0a40f44; BYTE $0x06   // shld    eax, r10d, 6
  2935	LONG $0x6e79c1c4; BYTE $0xea   // vmovd    xmm5, r10d
  2936	LONG $0xf66ef9c5               // vmovd    xmm6, esi
  2937	LONG $0x2251e3c4; WORD $0x01e8 // vpinsrd    xmm5, xmm5, eax, 1
  2938	LONG $0x2249c3c4; WORD $0x01f3 // vpinsrd    xmm6, xmm6, r11d, 1
  2939	LONG $0x2251e3c4; WORD $0x02ea // vpinsrd    xmm5, xmm5, edx, 2
  2940	LONG $0x2249e3c4; WORD $0x02f1 // vpinsrd    xmm6, xmm6, ecx, 2
  2941	LONG $0x2251e3c4; WORD $0x03ef // vpinsrd    xmm5, xmm5, edi, 3
  2942	LONG $0x2249c3c4; WORD $0x03f1 // vpinsrd    xmm6, xmm6, r9d, 3
  2943	LONG $0x3855e3c4; WORD $0x01ee // vinserti128    ymm5, ymm5, xmm6, 1
  2944	LONG $0x4555e2c4; BYTE $0xea   // vpsrlvd    ymm5, ymm5, ymm2
  2945	LONG $0xe8dbd5c5               // vpand    ymm5, ymm5, ymm0
  2946	LONG $0x7f7ec1c4; WORD $0xa06f // vmovdqu    yword [r15 - 96], ymm5
  2947	LONG $0xcc4b8b44               // mov    r9d, dword [rbx - 52]
  2948	WORD $0x4b8b; BYTE $0xc8       // mov    ecx, dword [rbx - 56]
  2949	WORD $0x8944; BYTE $0xca       // mov    edx, r9d
  2950	LONG $0x14caa40f               // shld    edx, ecx, 20
  2951	WORD $0x738b; BYTE $0xc4       // mov    esi, dword [rbx - 60]
  2952	LONG $0x0ef1a40f               // shld    ecx, esi, 14
  2953	WORD $0x7b8b; BYTE $0xbc       // mov    edi, dword [rbx - 68]
  2954	WORD $0x438b; BYTE $0xc0       // mov    eax, dword [rbx - 64]
  2955	LONG $0x08c6a40f               // shld    esi, eax, 8
  2956	LONG $0x02f8a40f               // shld    eax, edi, 2
  2957	LONG $0x6b7efac5; BYTE $0xb4   // vmovq    xmm5, qword [rbx - 76]
  2958	LONG $0x4551e2c4; BYTE $0xf1   // vpsrlvd    xmm6, xmm5, xmm1
  2959	LONG $0xed70f9c5; BYTE $0xe5   // vpshufd    xmm5, xmm5, 229
  2960	LONG $0x2251e3c4; WORD $0x01ef // vpinsrd    xmm5, xmm5, edi, 1
  2961	LONG $0x4751e2c4; BYTE $0xeb   // vpsllvd    xmm5, xmm5, xmm3
  2962	LONG $0xedebc9c5               // vpor    xmm5, xmm6, xmm5
  2963	LONG $0xf66ef9c5               // vmovd    xmm6, esi
  2964	LONG $0x2249e3c4; WORD $0x01f1 // vpinsrd    xmm6, xmm6, ecx, 1
  2965	LONG $0x2249e3c4; WORD $0x02f2 // vpinsrd    xmm6, xmm6, edx, 2
  2966	LONG $0x2249c3c4; WORD $0x03f1 // vpinsrd    xmm6, xmm6, r9d, 3
  2967	LONG $0x2251e3c4; WORD $0x02ef // vpinsrd    xmm5, xmm5, edi, 2
  2968	LONG $0x2251e3c4; WORD $0x03e8 // vpinsrd    xmm5, xmm5, eax, 3
  2969	LONG $0x3855e3c4; WORD $0x01ee // vinserti128    ymm5, ymm5, xmm6, 1
  2970	LONG $0x4555e2c4; BYTE $0xec   // vpsrlvd    ymm5, ymm5, ymm4
  2971	LONG $0xe8dbd5c5               // vpand    ymm5, ymm5, ymm0
  2972	LONG $0x7f7ec1c4; WORD $0xc06f // vmovdqu    yword [r15 - 64], ymm5
  2973	WORD $0x438b; BYTE $0xe4       // mov    eax, dword [rbx - 28]
  2974	LONG $0xe84b8b44               // mov    r9d, dword [rbx - 24]
  2975	LONG $0xc1a40f41; BYTE $0x0a   // shld    r9d, eax, 10
  2976	LONG $0xe05b8b44               // mov    r11d, dword [rbx - 32]
  2977	LONG $0xd8a40f44; BYTE $0x04   // shld    eax, r11d, 4
  2978	WORD $0x738b; BYTE $0xdc       // mov    esi, dword [rbx - 36]
  2979	WORD $0x8944; BYTE $0xdf       // mov    edi, r11d
  2980	LONG $0x18f7a40f               // shld    edi, esi, 24
  2981	WORD $0x4b8b; BYTE $0xd8       // mov    ecx, dword [rbx - 40]
  2982	LONG $0x12cea40f               // shld    esi, ecx, 18
  2983	LONG $0xd0538b44               // mov    r10d, dword [rbx - 48]
  2984	WORD $0x538b; BYTE $0xd4       // mov    edx, dword [rbx - 44]
  2985	LONG $0x0cd1a40f               // shld    ecx, edx, 12
  2986	LONG $0xd2a40f44; BYTE $0x06   // shld    edx, r10d, 6
  2987	LONG $0x6e79c1c4; BYTE $0xea   // vmovd    xmm5, r10d
  2988	LONG $0xf76ef9c5               // vmovd    xmm6, edi
  2989	LONG $0x2251e3c4; WORD $0x01ea // vpinsrd    xmm5, xmm5, edx, 1
  2990	LONG $0x2249c3c4; WORD $0x01f3 // vpinsrd    xmm6, xmm6, r11d, 1
  2991	LONG $0x2251e3c4; WORD $0x02e9 // vpinsrd    xmm5, xmm5, ecx, 2
  2992	LONG $0x2249e3c4; WORD $0x02f0 // vpinsrd    xmm6, xmm6, eax, 2
  2993	LONG $0x2251e3c4; WORD $0x03ee // vpinsrd    xmm5, xmm5, esi, 3
  2994	LONG $0x2249c3c4; WORD $0x03f1 // vpinsrd    xmm6, xmm6, r9d, 3
  2995	LONG $0x3855e3c4; WORD $0x01ee // vinserti128    ymm5, ymm5, xmm6, 1
  2996	LONG $0x4555e2c4; BYTE $0xea   // vpsrlvd    ymm5, ymm5, ymm2
  2997	LONG $0xe8dbd5c5               // vpand    ymm5, ymm5, ymm0
  2998	LONG $0x7f7ec1c4; WORD $0xe06f // vmovdqu    yword [r15 - 32], ymm5
  2999	WORD $0x8b44; BYTE $0x0b       // mov    r9d, dword [rbx]
  3000	WORD $0x4b8b; BYTE $0xfc       // mov    ecx, dword [rbx - 4]
  3001	WORD $0x8944; BYTE $0xca       // mov    edx, r9d
  3002	LONG $0x14caa40f               // shld    edx, ecx, 20
  3003	WORD $0x738b; BYTE $0xf8       // mov    esi, dword [rbx - 8]
  3004	LONG $0x0ef1a40f               // shld    ecx, esi, 14
  3005	WORD $0x7b8b; BYTE $0xf0       // mov    edi, dword [rbx - 16]
  3006	WORD $0x438b; BYTE $0xf4       // mov    eax, dword [rbx - 12]
  3007	LONG $0x08c6a40f               // shld    esi, eax, 8
  3008	LONG $0x02f8a40f               // shld    eax, edi, 2
  3009	LONG $0x6b7efac5; BYTE $0xe8   // vmovq    xmm5, qword [rbx - 24]
  3010	LONG $0x4551e2c4; BYTE $0xf1   // vpsrlvd    xmm6, xmm5, xmm1
  3011	LONG $0xed70f9c5; BYTE $0xe5   // vpshufd    xmm5, xmm5, 229
  3012	LONG $0x2251e3c4; WORD $0x01ef // vpinsrd    xmm5, xmm5, edi, 1
  3013	LONG $0x4751e2c4; BYTE $0xeb   // vpsllvd    xmm5, xmm5, xmm3
  3014	LONG $0xedebc9c5               // vpor    xmm5, xmm6, xmm5
  3015	LONG $0xf66ef9c5               // vmovd    xmm6, esi
  3016	LONG $0x2249e3c4; WORD $0x01f1 // vpinsrd    xmm6, xmm6, ecx, 1
  3017	LONG $0x2249e3c4; WORD $0x02f2 // vpinsrd    xmm6, xmm6, edx, 2
  3018	LONG $0x2249c3c4; WORD $0x03f1 // vpinsrd    xmm6, xmm6, r9d, 3
  3019	LONG $0x2251e3c4; WORD $0x02ef // vpinsrd    xmm5, xmm5, edi, 2
  3020	LONG $0x2251e3c4; WORD $0x03e8 // vpinsrd    xmm5, xmm5, eax, 3
  3021	LONG $0x3855e3c4; WORD $0x01ee // vinserti128    ymm5, ymm5, xmm6, 1
  3022	LONG $0x4555e2c4; BYTE $0xec   // vpsrlvd    ymm5, ymm5, ymm4
  3023	LONG $0xe8dbd5c5               // vpand    ymm5, ymm5, ymm0
  3024	LONG $0x7f7ec1c4; BYTE $0x2f   // vmovdqu    yword [r15], ymm5
  3025	LONG $0x80ef8349               // sub    r15, -128
  3026	LONG $0x68c38348               // add    rbx, 104
  3027	LONG $0xffc08349               // add    r8, -1
  3028	JNE  LBB0_107
  3029	JMP  LBB0_147
  3030
  3031LBB0_135:
  3032	WORD $0xfa83; BYTE $0x20             // cmp    edx, 32
  3033	JL   LBB0_147
  3034	WORD $0x8944; BYTE $0xf0             // mov    eax, r14d
  3035	LONG $0x60c78349                     // add    r15, 96
  3036	LONG $0x14c38348                     // add    rbx, 20
  3037	QUAD $0x00000920856ffdc5             // vmovdqa    ymm0, yword 2336[rbp] /* [rip + .LCPI0_116] */
  3038	QUAD $0x0000c88d597de2c4; BYTE $0x00 // vpbroadcastq    ymm1, qword 200[rbp] /* [rip + .LCPI0_117] */
  3039	QUAD $0x00000940956ffdc5             // vmovdqa    ymm2, yword 2368[rbp] /* [rip + .LCPI0_118] */
  3040
  3041LBB0_137:
  3042	WORD $0x4b8b; BYTE $0xec       // mov    ecx, dword [rbx - 20]
  3043	WORD $0x538b; BYTE $0xf0       // mov    edx, dword [rbx - 16]
  3044	WORD $0xd689                   // mov    esi, edx
  3045	LONG $0x02cea40f               // shld    esi, ecx, 2
  3046	LONG $0xd96ef9c5               // vmovd    xmm3, ecx
  3047	LONG $0x5879e2c4; BYTE $0xe3   // vpbroadcastd    xmm4, xmm3
  3048	LONG $0x2261e3c4; WORD $0x01de // vpinsrd    xmm3, xmm3, esi, 1
  3049	LONG $0x2261e3c4; WORD $0x02da // vpinsrd    xmm3, xmm3, edx, 2
  3050	LONG $0x2261e3c4; WORD $0x03da // vpinsrd    xmm3, xmm3, edx, 3
  3051	LONG $0x385de3c4; WORD $0x01db // vinserti128    ymm3, ymm4, xmm3, 1
  3052	LONG $0x4565e2c4; BYTE $0xd8   // vpsrlvd    ymm3, ymm3, ymm0
  3053	LONG $0xd9dbe5c5               // vpand    ymm3, ymm3, ymm1
  3054	LONG $0x7f7ec1c4; WORD $0xa05f // vmovdqu    yword [r15 - 96], ymm3
  3055	WORD $0x4b8b; BYTE $0xf0       // mov    ecx, dword [rbx - 16]
  3056	WORD $0x538b; BYTE $0xf4       // mov    edx, dword [rbx - 12]
  3057	WORD $0xd689                   // mov    esi, edx
  3058	LONG $0x04cea40f               // shld    esi, ecx, 4
  3059	LONG $0xd96ef9c5               // vmovd    xmm3, ecx
  3060	LONG $0x2261e3c4; WORD $0x01d9 // vpinsrd    xmm3, xmm3, ecx, 1
  3061	LONG $0x2261e3c4; WORD $0x02de // vpinsrd    xmm3, xmm3, esi, 2
  3062	LONG $0x2261e3c4; WORD $0x03da // vpinsrd    xmm3, xmm3, edx, 3
  3063	LONG $0xe26ef9c5               // vmovd    xmm4, edx
  3064	LONG $0x5879e2c4; BYTE $0xe4   // vpbroadcastd    xmm4, xmm4
  3065	LONG $0x3865e3c4; WORD $0x01dc // vinserti128    ymm3, ymm3, xmm4, 1
  3066	LONG $0x4565e2c4; BYTE $0xda   // vpsrlvd    ymm3, ymm3, ymm2
  3067	LONG $0xd9dbe5c5               // vpand    ymm3, ymm3, ymm1
  3068	LONG $0x7f7ec1c4; WORD $0xc05f // vmovdqu    yword [r15 - 64], ymm3
  3069	WORD $0x4b8b; BYTE $0xf8       // mov    ecx, dword [rbx - 8]
  3070	WORD $0x538b; BYTE $0xfc       // mov    edx, dword [rbx - 4]
  3071	WORD $0xd689                   // mov    esi, edx
  3072	LONG $0x02cea40f               // shld    esi, ecx, 2
  3073	LONG $0xd96ef9c5               // vmovd    xmm3, ecx
  3074	LONG $0x2261e3c4; WORD $0x01e6 // vpinsrd    xmm4, xmm3, esi, 1
  3075	LONG $0x2259e3c4; WORD $0x02e2 // vpinsrd    xmm4, xmm4, edx, 2
  3076	LONG $0x5879e2c4; BYTE $0xdb   // vpbroadcastd    xmm3, xmm3
  3077	LONG $0x2259e3c4; WORD $0x03e2 // vpinsrd    xmm4, xmm4, edx, 3
  3078	LONG $0x3865e3c4; WORD $0x01dc // vinserti128    ymm3, ymm3, xmm4, 1
  3079	LONG $0x4565e2c4; BYTE $0xd8   // vpsrlvd    ymm3, ymm3, ymm0
  3080	LONG $0xd9dbe5c5               // vpand    ymm3, ymm3, ymm1
  3081	LONG $0x7f7ec1c4; WORD $0xe05f // vmovdqu    yword [r15 - 32], ymm3
  3082	WORD $0x4b8b; BYTE $0xfc       // mov    ecx, dword [rbx - 4]
  3083	WORD $0x138b                   // mov    edx, dword [rbx]
  3084	WORD $0xd689                   // mov    esi, edx
  3085	LONG $0x04cea40f               // shld    esi, ecx, 4
  3086	LONG $0xd96ef9c5               // vmovd    xmm3, ecx
  3087	LONG $0x2261e3c4; WORD $0x01d9 // vpinsrd    xmm3, xmm3, ecx, 1
  3088	LONG $0x2261e3c4; WORD $0x02de // vpinsrd    xmm3, xmm3, esi, 2
  3089	LONG $0x2261e3c4; WORD $0x03da // vpinsrd    xmm3, xmm3, edx, 3
  3090	LONG $0xe26ef9c5               // vmovd    xmm4, edx
  3091	LONG $0x5879e2c4; BYTE $0xe4   // vpbroadcastd    xmm4, xmm4
  3092	LONG $0x3865e3c4; WORD $0x01dc // vinserti128    ymm3, ymm3, xmm4, 1
  3093	LONG $0x4565e2c4; BYTE $0xda   // vpsrlvd    ymm3, ymm3, ymm2
  3094	LONG $0xd9dbe5c5               // vpand    ymm3, ymm3, ymm1
  3095	LONG $0x7f7ec1c4; BYTE $0x1f   // vmovdqu    yword [r15], ymm3
  3096	LONG $0x80ef8349               // sub    r15, -128
  3097	LONG $0x18c38348               // add    rbx, 24
  3098	LONG $0xffc08348               // add    rax, -1
  3099	JNE  LBB0_137
  3100	JMP  LBB0_147
  3101
  3102LBB0_111:
  3103	WORD $0xfa83; BYTE $0x20       // cmp    edx, 32
  3104	JL   LBB0_147
  3105	WORD $0x8945; BYTE $0xf0       // mov    r8d, r14d
  3106	LONG $0x60c78349               // add    r15, 96
  3107	LONG $0x54c38348               // add    rbx, 84
  3108	QUAD $0x000003e0856ffdc5       // vmovdqa    ymm0, yword 992[rbp] /* [rip + .LCPI0_55] */
  3109	LONG $0x597de2c4; WORD $0x504d // vpbroadcastq    ymm1, qword 80[rbp] /* [rip + .LCPI0_56] */
  3110	QUAD $0x00000400956ffdc5       // vmovdqa    ymm2, yword 1024[rbp] /* [rip + .LCPI0_57] */
  3111
  3112LBB0_113:
  3113	LONG $0xbc538b44               // mov    r10d, dword [rbx - 68]
  3114	LONG $0xc04b8b44               // mov    r9d, dword [rbx - 64]
  3115	LONG $0xd1a40f45; BYTE $0x06   // shld    r9d, r10d, 6
  3116	WORD $0x738b; BYTE $0xb8       // mov    esi, dword [rbx - 72]
  3117	WORD $0x8944; BYTE $0xd7       // mov    edi, r10d
  3118	LONG $0x12f7a40f               // shld    edi, esi, 18
  3119	WORD $0x538b; BYTE $0xb4       // mov    edx, dword [rbx - 76]
  3120	LONG $0x08d6a40f               // shld    esi, edx, 8
  3121	LONG $0xac5b8b44               // mov    r11d, dword [rbx - 84]
  3122	WORD $0x4b8b; BYTE $0xb0       // mov    ecx, dword [rbx - 80]
  3123	WORD $0xd089                   // mov    eax, edx
  3124	LONG $0x14c8a40f               // shld    eax, ecx, 20
  3125	LONG $0xd9a40f44; BYTE $0x0a   // shld    ecx, r11d, 10
  3126	LONG $0x6e79c1c4; BYTE $0xdb   // vmovd    xmm3, r11d
  3127	LONG $0xe66ef9c5               // vmovd    xmm4, esi
  3128	LONG $0x2261e3c4; WORD $0x01d9 // vpinsrd    xmm3, xmm3, ecx, 1
  3129	LONG $0x2259e3c4; WORD $0x01e7 // vpinsrd    xmm4, xmm4, edi, 1
  3130	LONG $0x2261e3c4; WORD $0x02d8 // vpinsrd    xmm3, xmm3, eax, 2
  3131	LONG $0x2259c3c4; WORD $0x02e2 // vpinsrd    xmm4, xmm4, r10d, 2
  3132	LONG $0x2261e3c4; WORD $0x03da // vpinsrd    xmm3, xmm3, edx, 3
  3133	LONG $0x2259c3c4; WORD $0x03e1 // vpinsrd    xmm4, xmm4, r9d, 3
  3134	LONG $0x3865e3c4; WORD $0x01dc // vinserti128    ymm3, ymm3, xmm4, 1
  3135	LONG $0x4565e2c4; BYTE $0xd8   // vpsrlvd    ymm3, ymm3, ymm0
  3136	LONG $0xd9dbe5c5               // vpand    ymm3, ymm3, ymm1
  3137	LONG $0x7f7ec1c4; WORD $0xa05f // vmovdqu    yword [r15 - 96], ymm3
  3138	LONG $0xd44b8b44               // mov    r9d, dword [rbx - 44]
  3139	WORD $0x4b8b; BYTE $0xd0       // mov    ecx, dword [rbx - 48]
  3140	WORD $0x8945; BYTE $0xca       // mov    r10d, r9d
  3141	LONG $0xcaa40f41; BYTE $0x0c   // shld    r10d, ecx, 12
  3142	WORD $0x738b; BYTE $0xcc       // mov    esi, dword [rbx - 52]
  3143	LONG $0x02f1a40f               // shld    ecx, esi, 2
  3144	WORD $0x7b8b; BYTE $0xc8       // mov    edi, dword [rbx - 56]
  3145	LONG $0xde6ef9c5               // vmovd    xmm3, esi
  3146	LONG $0x0efea40f               // shld    esi, edi, 14
  3147	WORD $0x438b; BYTE $0xc0       // mov    eax, dword [rbx - 64]
  3148	WORD $0x538b; BYTE $0xc4       // mov    edx, dword [rbx - 60]
  3149	LONG $0x04d7a40f               // shld    edi, edx, 4
  3150	LONG $0x10d0ac0f               // shrd    eax, edx, 16
  3151	LONG $0x2261e3c4; WORD $0x01d9 // vpinsrd    xmm3, xmm3, ecx, 1
  3152	LONG $0xe06ef9c5               // vmovd    xmm4, eax
  3153	LONG $0x2261c3c4; WORD $0x02da // vpinsrd    xmm3, xmm3, r10d, 2
  3154	LONG $0x2259e3c4; WORD $0x01e2 // vpinsrd    xmm4, xmm4, edx, 1
  3155	LONG $0x2261c3c4; WORD $0x03d9 // vpinsrd    xmm3, xmm3, r9d, 3
  3156	LONG $0x2259e3c4; WORD $0x02e7 // vpinsrd    xmm4, xmm4, edi, 2
  3157	LONG $0x2259e3c4; WORD $0x03e6 // vpinsrd    xmm4, xmm4, esi, 3
  3158	LONG $0x385de3c4; WORD $0x01db // vinserti128    ymm3, ymm4, xmm3, 1
  3159	LONG $0x4565e2c4; BYTE $0xda   // vpsrlvd    ymm3, ymm3, ymm2
  3160	LONG $0xd9dbe5c5               // vpand    ymm3, ymm3, ymm1
  3161	LONG $0x7f7ec1c4; WORD $0xc05f // vmovdqu    yword [r15 - 64], ymm3
  3162	LONG $0xe8538b44               // mov    r10d, dword [rbx - 24]
  3163	LONG $0xec4b8b44               // mov    r9d, dword [rbx - 20]
  3164	LONG $0xd1a40f45; BYTE $0x06   // shld    r9d, r10d, 6
  3165	WORD $0x538b; BYTE $0xe4       // mov    edx, dword [rbx - 28]
  3166	WORD $0x8944; BYTE $0xd6       // mov    esi, r10d
  3167	LONG $0x12d6a40f               // shld    esi, edx, 18
  3168	WORD $0x4b8b; BYTE $0xe0       // mov    ecx, dword [rbx - 32]
  3169	LONG $0x08caa40f               // shld    edx, ecx, 8
  3170	LONG $0xd85b8b44               // mov    r11d, dword [rbx - 40]
  3171	WORD $0x438b; BYTE $0xdc       // mov    eax, dword [rbx - 36]
  3172	WORD $0xcf89                   // mov    edi, ecx
  3173	LONG $0x14c7a40f               // shld    edi, eax, 20
  3174	LONG $0xd8a40f44; BYTE $0x0a   // shld    eax, r11d, 10
  3175	LONG $0x6e79c1c4; BYTE $0xdb   // vmovd    xmm3, r11d
  3176	LONG $0xe26ef9c5               // vmovd    xmm4, edx
  3177	LONG $0x2261e3c4; WORD $0x01d8 // vpinsrd    xmm3, xmm3, eax, 1
  3178	LONG $0x2259e3c4; WORD $0x01e6 // vpinsrd    xmm4, xmm4, esi, 1
  3179	LONG $0x2261e3c4; WORD $0x02df // vpinsrd    xmm3, xmm3, edi, 2
  3180	LONG $0x2259c3c4; WORD $0x02e2 // vpinsrd    xmm4, xmm4, r10d, 2
  3181	LONG $0x2261e3c4; WORD $0x03d9 // vpinsrd    xmm3, xmm3, ecx, 3
  3182	LONG $0x2259c3c4; WORD $0x03e1 // vpinsrd    xmm4, xmm4, r9d, 3
  3183	LONG $0x3865e3c4; WORD $0x01dc // vinserti128    ymm3, ymm3, xmm4, 1
  3184	LONG $0x4565e2c4; BYTE $0xd8   // vpsrlvd    ymm3, ymm3, ymm0
  3185	LONG $0xd9dbe5c5               // vpand    ymm3, ymm3, ymm1
  3186	LONG $0x7f7ec1c4; WORD $0xe05f // vmovdqu    yword [r15 - 32], ymm3
  3187	WORD $0x8b44; BYTE $0x0b       // mov    r9d, dword [rbx]
  3188	WORD $0x4b8b; BYTE $0xfc       // mov    ecx, dword [rbx - 4]
  3189	WORD $0x8945; BYTE $0xca       // mov    r10d, r9d
  3190	LONG $0xcaa40f41; BYTE $0x0c   // shld    r10d, ecx, 12
  3191	WORD $0x738b; BYTE $0xf8       // mov    esi, dword [rbx - 8]
  3192	LONG $0x02f1a40f               // shld    ecx, esi, 2
  3193	WORD $0x7b8b; BYTE $0xf4       // mov    edi, dword [rbx - 12]
  3194	LONG $0xde6ef9c5               // vmovd    xmm3, esi
  3195	LONG $0x0efea40f               // shld    esi, edi, 14
  3196	WORD $0x438b; BYTE $0xec       // mov    eax, dword [rbx - 20]
  3197	WORD $0x538b; BYTE $0xf0       // mov    edx, dword [rbx - 16]
  3198	LONG $0x04d7a40f               // shld    edi, edx, 4
  3199	LONG $0x10d0ac0f               // shrd    eax, edx, 16
  3200	LONG $0x2261e3c4; WORD $0x01d9 // vpinsrd    xmm3, xmm3, ecx, 1
  3201	LONG $0xe06ef9c5               // vmovd    xmm4, eax
  3202	LONG $0x2261c3c4; WORD $0x02da // vpinsrd    xmm3, xmm3, r10d, 2
  3203	LONG $0x2259e3c4; WORD $0x01e2 // vpinsrd    xmm4, xmm4, edx, 1
  3204	LONG $0x2261c3c4; WORD $0x03d9 // vpinsrd    xmm3, xmm3, r9d, 3
  3205	LONG $0x2259e3c4; WORD $0x02e7 // vpinsrd    xmm4, xmm4, edi, 2
  3206	LONG $0x2259e3c4; WORD $0x03e6 // vpinsrd    xmm4, xmm4, esi, 3
  3207	LONG $0x385de3c4; WORD $0x01db // vinserti128    ymm3, ymm4, xmm3, 1
  3208	LONG $0x4565e2c4; BYTE $0xda   // vpsrlvd    ymm3, ymm3, ymm2
  3209	LONG $0xd9dbe5c5               // vpand    ymm3, ymm3, ymm1
  3210	LONG $0x7f7ec1c4; BYTE $0x1f   // vmovdqu    yword [r15], ymm3
  3211	LONG $0x80ef8349               // sub    r15, -128
  3212	LONG $0x58c38348               // add    rbx, 88
  3213	LONG $0xffc08349               // add    r8, -1
  3214	JNE  LBB0_113
  3215	JMP  LBB0_147
  3216
  3217LBB0_123:
  3218	WORD $0xfa83; BYTE $0x20             // cmp    edx, 32
  3219	JL   LBB0_147
  3220	WORD $0x8945; BYTE $0xf0             // mov    r8d, r14d
  3221	LONG $0x60c78349                     // add    r15, 96
  3222	LONG $0x34c38348                     // add    rbx, 52
  3223	QUAD $0x00000680856ffdc5             // vmovdqa    ymm0, yword 1664[rbp] /* [rip + .LCPI0_86] */
  3224	QUAD $0x0000908d597de2c4; BYTE $0x00 // vpbroadcastq    ymm1, qword 144[rbp] /* [rip + .LCPI0_87] */
  3225	QUAD $0x000006a0956ffdc5             // vmovdqa    ymm2, yword 1696[rbp] /* [rip + .LCPI0_88] */
  3226
  3227LBB0_125:
  3228	LONG $0xd84b8b44               // mov    r9d, dword [rbx - 40]
  3229	WORD $0x4b8b; BYTE $0xd4       // mov    ecx, dword [rbx - 44]
  3230	WORD $0x8944; BYTE $0xce       // mov    esi, r9d
  3231	LONG $0x0ccea40f               // shld    esi, ecx, 12
  3232	WORD $0x7b8b; BYTE $0xcc       // mov    edi, dword [rbx - 52]
  3233	LONG $0xd0538b44               // mov    r10d, dword [rbx - 48]
  3234	WORD $0xca89                   // mov    edx, ecx
  3235	LONG $0xd2a40f44; BYTE $0x08   // shld    edx, r10d, 8
  3236	WORD $0x8944; BYTE $0xd0       // mov    eax, r10d
  3237	LONG $0x04f8a40f               // shld    eax, edi, 4
  3238	LONG $0xda6ef9c5               // vmovd    xmm3, edx
  3239	LONG $0x2261e3c4; WORD $0x01d9 // vpinsrd    xmm3, xmm3, ecx, 1
  3240	LONG $0x2261e3c4; WORD $0x02de // vpinsrd    xmm3, xmm3, esi, 2
  3241	LONG $0x2261c3c4; WORD $0x03d9 // vpinsrd    xmm3, xmm3, r9d, 3
  3242	LONG $0xe76ef9c5               // vmovd    xmm4, edi
  3243	LONG $0x2259e3c4; WORD $0x01e7 // vpinsrd    xmm4, xmm4, edi, 1
  3244	LONG $0x2259e3c4; WORD $0x02e0 // vpinsrd    xmm4, xmm4, eax, 2
  3245	LONG $0x2259c3c4; WORD $0x03e2 // vpinsrd    xmm4, xmm4, r10d, 3
  3246	LONG $0x385de3c4; WORD $0x01db // vinserti128    ymm3, ymm4, xmm3, 1
  3247	LONG $0x4565e2c4; BYTE $0xd8   // vpsrlvd    ymm3, ymm3, ymm0
  3248	LONG $0xd9dbe5c5               // vpand    ymm3, ymm3, ymm1
  3249	LONG $0x7f7ec1c4; WORD $0xa05f // vmovdqu    yword [r15 - 96], ymm3
  3250	WORD $0x438b; BYTE $0xe4       // mov    eax, dword [rbx - 28]
  3251	WORD $0x4b8b; BYTE $0xe0       // mov    ecx, dword [rbx - 32]
  3252	WORD $0xc289                   // mov    edx, eax
  3253	LONG $0x0acaa40f               // shld    edx, ecx, 10
  3254	LONG $0xd84b8b44               // mov    r9d, dword [rbx - 40]
  3255	WORD $0x738b; BYTE $0xdc       // mov    esi, dword [rbx - 36]
  3256	LONG $0xd96ef9c5               // vmovd    xmm3, ecx
  3257	LONG $0x06f1a40f               // shld    ecx, esi, 6
  3258	WORD $0xf789                   // mov    edi, esi
  3259	LONG $0xcfa40f44; BYTE $0x02   // shld    edi, r9d, 2
  3260	LONG $0x6e79c1c4; BYTE $0xe1   // vmovd    xmm4, r9d
  3261	LONG $0x2259e3c4; WORD $0x01e7 // vpinsrd    xmm4, xmm4, edi, 1
  3262	LONG $0x2259e3c4; WORD $0x02e6 // vpinsrd    xmm4, xmm4, esi, 2
  3263	LONG $0x2259e3c4; WORD $0x03e1 // vpinsrd    xmm4, xmm4, ecx, 3
  3264	LONG $0x2261e3c4; WORD $0x01da // vpinsrd    xmm3, xmm3, edx, 1
  3265	LONG $0x2261e3c4; WORD $0x02d8 // vpinsrd    xmm3, xmm3, eax, 2
  3266	LONG $0x2261e3c4; WORD $0x03d8 // vpinsrd    xmm3, xmm3, eax, 3
  3267	LONG $0x385de3c4; WORD $0x01db // vinserti128    ymm3, ymm4, xmm3, 1
  3268	LONG $0x4565e2c4; BYTE $0xda   // vpsrlvd    ymm3, ymm3, ymm2
  3269	LONG $0xd9dbe5c5               // vpand    ymm3, ymm3, ymm1
  3270	LONG $0x7f7ec1c4; WORD $0xc05f // vmovdqu    yword [r15 - 64], ymm3
  3271	LONG $0xf44b8b44               // mov    r9d, dword [rbx - 12]
  3272	WORD $0x438b; BYTE $0xf0       // mov    eax, dword [rbx - 16]
  3273	WORD $0x8944; BYTE $0xca       // mov    edx, r9d
  3274	LONG $0x0cc2a40f               // shld    edx, eax, 12
  3275	WORD $0x738b; BYTE $0xe8       // mov    esi, dword [rbx - 24]
  3276	LONG $0xec538b44               // mov    r10d, dword [rbx - 20]
  3277	WORD $0xc189                   // mov    ecx, eax
  3278	LONG $0xd1a40f44; BYTE $0x08   // shld    ecx, r10d, 8
  3279	WORD $0x8944; BYTE $0xd7       // mov    edi, r10d
  3280	LONG $0x04f7a40f               // shld    edi, esi, 4
  3281	LONG $0xd96ef9c5               // vmovd    xmm3, ecx
  3282	LONG $0x2261e3c4; WORD $0x01d8 // vpinsrd    xmm3, xmm3, eax, 1
  3283	LONG $0x2261e3c4; WORD $0x02da // vpinsrd    xmm3, xmm3, edx, 2
  3284	LONG $0x2261c3c4; WORD $0x03d9 // vpinsrd    xmm3, xmm3, r9d, 3
  3285	LONG $0xe66ef9c5               // vmovd    xmm4, esi
  3286	LONG $0x2259e3c4; WORD $0x01e6 // vpinsrd    xmm4, xmm4, esi, 1
  3287	LONG $0x2259e3c4; WORD $0x02e7 // vpinsrd    xmm4, xmm4, edi, 2
  3288	LONG $0x2259c3c4; WORD $0x03e2 // vpinsrd    xmm4, xmm4, r10d, 3
  3289	LONG $0x385de3c4; WORD $0x01db // vinserti128    ymm3, ymm4, xmm3, 1
  3290	LONG $0x4565e2c4; BYTE $0xd8   // vpsrlvd    ymm3, ymm3, ymm0
  3291	LONG $0xd9dbe5c5               // vpand    ymm3, ymm3, ymm1
  3292	LONG $0x7f7ec1c4; WORD $0xe05f // vmovdqu    yword [r15 - 32], ymm3
  3293	WORD $0x8b44; BYTE $0x0b       // mov    r9d, dword [rbx]
  3294	WORD $0x4b8b; BYTE $0xfc       // mov    ecx, dword [rbx - 4]
  3295	WORD $0x8944; BYTE $0xca       // mov    edx, r9d
  3296	LONG $0x0acaa40f               // shld    edx, ecx, 10
  3297	WORD $0x438b; BYTE $0xf8       // mov    eax, dword [rbx - 8]
  3298	LONG $0xd96ef9c5               // vmovd    xmm3, ecx
  3299	LONG $0x06c1a40f               // shld    ecx, eax, 6
  3300	WORD $0x7b8b; BYTE $0xf4       // mov    edi, dword [rbx - 12]
  3301	WORD $0xc689                   // mov    esi, eax
  3302	LONG $0x02fea40f               // shld    esi, edi, 2
  3303	LONG $0xe76ef9c5               // vmovd    xmm4, edi
  3304	LONG $0x2259e3c4; WORD $0x01e6 // vpinsrd    xmm4, xmm4, esi, 1
  3305	LONG $0x2259e3c4; WORD $0x02e0 // vpinsrd    xmm4, xmm4, eax, 2
  3306	LONG $0x2259e3c4; WORD $0x03e1 // vpinsrd    xmm4, xmm4, ecx, 3
  3307	LONG $0x2261e3c4; WORD $0x01da // vpinsrd    xmm3, xmm3, edx, 1
  3308	LONG $0x2261c3c4; WORD $0x02d9 // vpinsrd    xmm3, xmm3, r9d, 2
  3309	LONG $0x2261c3c4; WORD $0x03d9 // vpinsrd    xmm3, xmm3, r9d, 3
  3310	LONG $0x385de3c4; WORD $0x01db // vinserti128    ymm3, ymm4, xmm3, 1
  3311	LONG $0x4565e2c4; BYTE $0xda   // vpsrlvd    ymm3, ymm3, ymm2
  3312	LONG $0xd9dbe5c5               // vpand    ymm3, ymm3, ymm1
  3313	LONG $0x7f7ec1c4; BYTE $0x1f   // vmovdqu    yword [r15], ymm3
  3314	LONG $0x80ef8349               // sub    r15, -128
  3315	LONG $0x38c38348               // add    rbx, 56
  3316	LONG $0xffc08349               // add    r8, -1
  3317	JNE  LBB0_125
  3318	JMP  LBB0_147
  3319
  3320LBB0_99:
  3321	WORD $0xfa83; BYTE $0x20       // cmp    edx, 32
  3322	JL   LBB0_147
  3323	WORD $0x8945; BYTE $0xf0       // mov    r8d, r14d
  3324	LONG $0x60c78349               // add    r15, 96
  3325	LONG $0x597de2c4; WORD $0x0845 // vpbroadcastq    ymm0, qword 8[rbp] /* [rip + .LCPI0_8] */
  3326	LONG $0x74c38348               // add    rbx, 116
  3327	QUAD $0x00000b208d6ff9c5       // vmovdqa    xmm1, oword 2848[rbp] /* [rip + .LCPI0_9] */
  3328	QUAD $0x00000b30956ff9c5       // vmovdqa    xmm2, oword 2864[rbp] /* [rip + .LCPI0_10] */
  3329	QUAD $0x000001a09d6ffdc5       // vmovdqa    ymm3, yword 416[rbp] /* [rip + .LCPI0_11] */
  3330
  3331LBB0_101:
  3332	LONG $0xa45b8b44               // mov    r11d, dword [rbx - 92]
  3333	LONG $0xa84b8b44               // mov    r9d, dword [rbx - 88]
  3334	LONG $0xd9a40f45; BYTE $0x0e   // shld    r9d, r11d, 14
  3335	WORD $0x738b; BYTE $0xa0       // mov    esi, dword [rbx - 96]
  3336	LONG $0xf3a40f41; BYTE $0x0c   // shld    r11d, esi, 12
  3337	WORD $0x7b8b; BYTE $0x9c       // mov    edi, dword [rbx - 100]
  3338	LONG $0x0afea40f               // shld    esi, edi, 10
  3339	WORD $0x438b; BYTE $0x98       // mov    eax, dword [rbx - 104]
  3340	LONG $0x08c7a40f               // shld    edi, eax, 8
  3341	WORD $0x538b; BYTE $0x94       // mov    edx, dword [rbx - 108]
  3342	LONG $0x06d0a40f               // shld    eax, edx, 6
  3343	LONG $0x8c538b44               // mov    r10d, dword [rbx - 116]
  3344	WORD $0x4b8b; BYTE $0x90       // mov    ecx, dword [rbx - 112]
  3345	LONG $0x04caa40f               // shld    edx, ecx, 4
  3346	LONG $0xd1a40f44; BYTE $0x02   // shld    ecx, r10d, 2
  3347	LONG $0x6e79c1c4; BYTE $0xe2   // vmovd    xmm4, r10d
  3348	LONG $0xef6ef9c5               // vmovd    xmm5, edi
  3349	LONG $0x2259e3c4; WORD $0x01e1 // vpinsrd    xmm4, xmm4, ecx, 1
  3350	LONG $0x2251e3c4; WORD $0x01ee // vpinsrd    xmm5, xmm5, esi, 1
  3351	LONG $0x2259e3c4; WORD $0x02e2 // vpinsrd    xmm4, xmm4, edx, 2
  3352	LONG $0x2251c3c4; WORD $0x02eb // vpinsrd    xmm5, xmm5, r11d, 2
  3353	LONG $0x2259e3c4; WORD $0x03e0 // vpinsrd    xmm4, xmm4, eax, 3
  3354	LONG $0x2251c3c4; WORD $0x03e9 // vpinsrd    xmm5, xmm5, r9d, 3
  3355	LONG $0x385de3c4; WORD $0x01e5 // vinserti128    ymm4, ymm4, xmm5, 1
  3356	LONG $0xe0dbddc5               // vpand    ymm4, ymm4, ymm0
  3357	LONG $0x7f7ec1c4; WORD $0xa067 // vmovdqu    yword [r15 - 96], ymm4
  3358	WORD $0x438b; BYTE $0xc4       // mov    eax, dword [rbx - 60]
  3359	WORD $0x4b8b; BYTE $0xc0       // mov    ecx, dword [rbx - 64]
  3360	WORD $0xc289                   // mov    edx, eax
  3361	LONG $0x1ccaa40f               // shld    edx, ecx, 28
  3362	WORD $0x738b; BYTE $0xbc       // mov    esi, dword [rbx - 68]
  3363	WORD $0x7b8b; BYTE $0xb8       // mov    edi, dword [rbx - 72]
  3364	LONG $0x1af1a40f               // shld    ecx, esi, 26
  3365	LONG $0x18fea40f               // shld    esi, edi, 24
  3366	LONG $0x636ffac5; BYTE $0xa8   // vmovdqu    xmm4, oword [rbx - 88]
  3367	LONG $0x4559e2c4; BYTE $0xe9   // vpsrlvd    xmm5, xmm4, xmm1
  3368	LONG $0xe470f9c5; BYTE $0xf9   // vpshufd    xmm4, xmm4, 249
  3369	LONG $0x2259e3c4; WORD $0x03e7 // vpinsrd    xmm4, xmm4, edi, 3
  3370	LONG $0xf66ef9c5               // vmovd    xmm6, esi
  3371	LONG $0x2249e3c4; WORD $0x01f1 // vpinsrd    xmm6, xmm6, ecx, 1
  3372	LONG $0x2249e3c4; WORD $0x02f2 // vpinsrd    xmm6, xmm6, edx, 2
  3373	LONG $0x4759e2c4; BYTE $0xe2   // vpsllvd    xmm4, xmm4, xmm2
  3374	LONG $0x2249e3c4; WORD $0x03f0 // vpinsrd    xmm6, xmm6, eax, 3
  3375	LONG $0xe4ebd1c5               // vpor    xmm4, xmm5, xmm4
  3376	LONG $0x385de3c4; WORD $0x01e6 // vinserti128    ymm4, ymm4, xmm6, 1
  3377	LONG $0x455de2c4; BYTE $0xe3   // vpsrlvd    ymm4, ymm4, ymm3
  3378	LONG $0xe0dbddc5               // vpand    ymm4, ymm4, ymm0
  3379	LONG $0x7f7ec1c4; WORD $0xc067 // vmovdqu    yword [r15 - 64], ymm4
  3380	LONG $0xe05b8b44               // mov    r11d, dword [rbx - 32]
  3381	LONG $0xe44b8b44               // mov    r9d, dword [rbx - 28]
  3382	LONG $0xd9a40f45; BYTE $0x0e   // shld    r9d, r11d, 14
  3383	WORD $0x538b; BYTE $0xdc       // mov    edx, dword [rbx - 36]
  3384	LONG $0xd3a40f41; BYTE $0x0c   // shld    r11d, edx, 12
  3385	WORD $0x738b; BYTE $0xd8       // mov    esi, dword [rbx - 40]
  3386	LONG $0x0af2a40f               // shld    edx, esi, 10
  3387	WORD $0x7b8b; BYTE $0xd4       // mov    edi, dword [rbx - 44]
  3388	LONG $0x08fea40f               // shld    esi, edi, 8
  3389	WORD $0x4b8b; BYTE $0xd0       // mov    ecx, dword [rbx - 48]
  3390	LONG $0x06cfa40f               // shld    edi, ecx, 6
  3391	LONG $0xc8538b44               // mov    r10d, dword [rbx - 56]
  3392	WORD $0x438b; BYTE $0xcc       // mov    eax, dword [rbx - 52]
  3393	LONG $0x04c1a40f               // shld    ecx, eax, 4
  3394	LONG $0xd0a40f44; BYTE $0x02   // shld    eax, r10d, 2
  3395	LONG $0x6e79c1c4; BYTE $0xe2   // vmovd    xmm4, r10d
  3396	LONG $0xee6ef9c5               // vmovd    xmm5, esi
  3397	LONG $0x2259e3c4; WORD $0x01e0 // vpinsrd    xmm4, xmm4, eax, 1
  3398	LONG $0x2251e3c4; WORD $0x01ea // vpinsrd    xmm5, xmm5, edx, 1
  3399	LONG $0x2259e3c4; WORD $0x02e1 // vpinsrd    xmm4, xmm4, ecx, 2
  3400	LONG $0x2251c3c4; WORD $0x02eb // vpinsrd    xmm5, xmm5, r11d, 2
  3401	LONG $0x2259e3c4; WORD $0x03e7 // vpinsrd    xmm4, xmm4, edi, 3
  3402	LONG $0x2251c3c4; WORD $0x03e9 // vpinsrd    xmm5, xmm5, r9d, 3
  3403	LONG $0x385de3c4; WORD $0x01e5 // vinserti128    ymm4, ymm4, xmm5, 1
  3404	LONG $0xe0dbddc5               // vpand    ymm4, ymm4, ymm0
  3405	LONG $0x7f7ec1c4; WORD $0xe067 // vmovdqu    yword [r15 - 32], ymm4
  3406	WORD $0x038b                   // mov    eax, dword [rbx]
  3407	WORD $0x4b8b; BYTE $0xfc       // mov    ecx, dword [rbx - 4]
  3408	WORD $0xc289                   // mov    edx, eax
  3409	LONG $0x1ccaa40f               // shld    edx, ecx, 28
  3410	WORD $0x738b; BYTE $0xf8       // mov    esi, dword [rbx - 8]
  3411	LONG $0x1af1a40f               // shld    ecx, esi, 26
  3412	WORD $0x7b8b; BYTE $0xf4       // mov    edi, dword [rbx - 12]
  3413	LONG $0x636ffac5; BYTE $0xe4   // vmovdqu    xmm4, oword [rbx - 28]
  3414	LONG $0x18fea40f               // shld    esi, edi, 24
  3415	LONG $0x4559e2c4; BYTE $0xe9   // vpsrlvd    xmm5, xmm4, xmm1
  3416	LONG $0xe470f9c5; BYTE $0xf9   // vpshufd    xmm4, xmm4, 249
  3417	LONG $0x2259e3c4; WORD $0x03e7 // vpinsrd    xmm4, xmm4, edi, 3
  3418	LONG $0xf66ef9c5               // vmovd    xmm6, esi
  3419	LONG $0x2249e3c4; WORD $0x01f1 // vpinsrd    xmm6, xmm6, ecx, 1
  3420	LONG $0x4759e2c4; BYTE $0xe2   // vpsllvd    xmm4, xmm4, xmm2
  3421	LONG $0x2249e3c4; WORD $0x02f2 // vpinsrd    xmm6, xmm6, edx, 2
  3422	LONG $0x2249e3c4; WORD $0x03f0 // vpinsrd    xmm6, xmm6, eax, 3
  3423	LONG $0xe4ebd1c5               // vpor    xmm4, xmm5, xmm4
  3424	LONG $0x385de3c4; WORD $0x01e6 // vinserti128    ymm4, ymm4, xmm6, 1
  3425	LONG $0x455de2c4; BYTE $0xe3   // vpsrlvd    ymm4, ymm4, ymm3
  3426	LONG $0xe0dbddc5               // vpand    ymm4, ymm4, ymm0
  3427	LONG $0x7f7ec1c4; BYTE $0x27   // vmovdqu    yword [r15], ymm4
  3428	LONG $0x80ef8349               // sub    r15, -128
  3429	LONG $0x78c38348               // add    rbx, 120
  3430	LONG $0xffc08349               // add    r8, -1
  3431	JNE  LBB0_101
  3432
  3433LBB0_147:
  3434	LONG $0x05e6c141         // shl    r14d, 5
  3435	WORD $0x8944; BYTE $0xf0 // mov    eax, r14d
  3436	MOVQ 0(SP), SP
  3437	VZEROUPPER
  3438	MOVQ AX, num+32(FP)
  3439	RET

View as plain text