github.com/bytedance/sonic@v1.11.7-0.20240517092252-d2edb31b167b/internal/native/sse/skip_number_text_amd64.go (about)

     1  // +build amd64
     2  // Code generated by asm2asm, DO NOT EDIT.
     3  
     4  package sse
     5  
     6  var _text_skip_number = []byte{
     7  	// .p2align 4, 0x00
     8  	// LCPI0_0
     9  	0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, // QUAD $0x2f2f2f2f2f2f2f2f; QUAD $0x2f2f2f2f2f2f2f2f  // .space 16, '////////////////'
    10  	//0x00000010 LCPI0_1
    11  	0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, //0x00000010 QUAD $0x3a3a3a3a3a3a3a3a; QUAD $0x3a3a3a3a3a3a3a3a  // .space 16, '::::::::::::::::'
    12  	//0x00000020 LCPI0_2
    13  	0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, //0x00000020 QUAD $0x2b2b2b2b2b2b2b2b; QUAD $0x2b2b2b2b2b2b2b2b  // .space 16, '++++++++++++++++'
    14  	//0x00000030 LCPI0_3
    15  	0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, //0x00000030 QUAD $0x2d2d2d2d2d2d2d2d; QUAD $0x2d2d2d2d2d2d2d2d  // .space 16, '----------------'
    16  	//0x00000040 LCPI0_4
    17  	0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, //0x00000040 QUAD $0x2020202020202020; QUAD $0x2020202020202020  // .space 16, '                '
    18  	//0x00000050 LCPI0_5
    19  	0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, //0x00000050 QUAD $0x2e2e2e2e2e2e2e2e; QUAD $0x2e2e2e2e2e2e2e2e  // .space 16, '................'
    20  	//0x00000060 LCPI0_6
    21  	0x65, 0x65, 0x65, 0x65, 0x65, 0x65, 0x65, 0x65, 0x65, 0x65, 0x65, 0x65, 0x65, 0x65, 0x65, 0x65, //0x00000060 QUAD $0x6565656565656565; QUAD $0x6565656565656565  // .space 16, 'eeeeeeeeeeeeeeee'
    22  	//0x00000070 .p2align 4, 0x90
    23  	//0x00000070 _skip_number
    24  	0x55, //0x00000070 pushq        %rbp
    25  	0x48, 0x89, 0xe5, //0x00000071 movq         %rsp, %rbp
    26  	0x41, 0x57, //0x00000074 pushq        %r15
    27  	0x41, 0x56, //0x00000076 pushq        %r14
    28  	0x41, 0x55, //0x00000078 pushq        %r13
    29  	0x41, 0x54, //0x0000007a pushq        %r12
    30  	0x53, //0x0000007c pushq        %rbx
    31  	0x48, 0x83, 0xec, 0x18, //0x0000007d subq         $24, %rsp
    32  	0x48, 0x8b, 0x1f, //0x00000081 movq         (%rdi), %rbx
    33  	0x4c, 0x8b, 0x4f, 0x08, //0x00000084 movq         $8(%rdi), %r9
    34  	0x48, 0x8b, 0x16, //0x00000088 movq         (%rsi), %rdx
    35  	0x49, 0x29, 0xd1, //0x0000008b subq         %rdx, %r9
    36  	0x31, 0xc0, //0x0000008e xorl         %eax, %eax
    37  	0x80, 0x3c, 0x13, 0x2d, //0x00000090 cmpb         $45, (%rbx,%rdx)
    38  	0x4c, 0x8d, 0x3c, 0x13, //0x00000094 leaq         (%rbx,%rdx), %r15
    39  	0x0f, 0x94, 0xc0, //0x00000098 sete         %al
    40  	0x49, 0x01, 0xc7, //0x0000009b addq         %rax, %r15
    41  	0x49, 0x29, 0xc1, //0x0000009e subq         %rax, %r9
    42  	0x0f, 0x84, 0x03, 0x04, 0x00, 0x00, //0x000000a1 je           LBB0_1
    43  	0x41, 0x8a, 0x3f, //0x000000a7 movb         (%r15), %dil
    44  	0x8d, 0x4f, 0xd0, //0x000000aa leal         $-48(%rdi), %ecx
    45  	0x48, 0xc7, 0xc0, 0xfe, 0xff, 0xff, 0xff, //0x000000ad movq         $-2, %rax
    46  	0x80, 0xf9, 0x09, //0x000000b4 cmpb         $9, %cl
    47  	0x0f, 0x87, 0xc3, 0x03, 0x00, 0x00, //0x000000b7 ja           LBB0_57
    48  	0x40, 0x80, 0xff, 0x30, //0x000000bd cmpb         $48, %dil
    49  	0x0f, 0x85, 0x35, 0x00, 0x00, 0x00, //0x000000c1 jne          LBB0_7
    50  	0x41, 0xbb, 0x01, 0x00, 0x00, 0x00, //0x000000c7 movl         $1, %r11d
    51  	0x49, 0x83, 0xf9, 0x01, //0x000000cd cmpq         $1, %r9
    52  	0x0f, 0x84, 0x7e, 0x03, 0x00, 0x00, //0x000000d1 je           LBB0_56
    53  	0x41, 0x8a, 0x47, 0x01, //0x000000d7 movb         $1(%r15), %al
    54  	0x04, 0xd2, //0x000000db addb         $-46, %al
    55  	0x3c, 0x37, //0x000000dd cmpb         $55, %al
    56  	0x0f, 0x87, 0x70, 0x03, 0x00, 0x00, //0x000000df ja           LBB0_56
    57  	0x0f, 0xb6, 0xc0, //0x000000e5 movzbl       %al, %eax
    58  	0x48, 0xb9, 0x01, 0x00, 0x80, 0x00, 0x00, 0x00, 0x80, 0x00, //0x000000e8 movabsq      $36028797027352577, %rcx
    59  	0x48, 0x0f, 0xa3, 0xc1, //0x000000f2 btq          %rax, %rcx
    60  	0x0f, 0x83, 0x59, 0x03, 0x00, 0x00, //0x000000f6 jae          LBB0_56
    61  	//0x000000fc LBB0_7
    62  	0x48, 0x89, 0x55, 0xd0, //0x000000fc movq         %rdx, $-48(%rbp)
    63  	0x49, 0x83, 0xf9, 0x10, //0x00000100 cmpq         $16, %r9
    64  	0x0f, 0x82, 0xac, 0x03, 0x00, 0x00, //0x00000104 jb           LBB0_8
    65  	0x48, 0x89, 0x5d, 0xc8, //0x0000010a movq         %rbx, $-56(%rbp)
    66  	0x48, 0x89, 0x75, 0xc0, //0x0000010e movq         %rsi, $-64(%rbp)
    67  	0x4d, 0x8d, 0x69, 0xf0, //0x00000112 leaq         $-16(%r9), %r13
    68  	0x4c, 0x89, 0xe8, //0x00000116 movq         %r13, %rax
    69  	0x48, 0x83, 0xe0, 0xf0, //0x00000119 andq         $-16, %rax
    70  	0x4e, 0x8d, 0x64, 0x38, 0x10, //0x0000011d leaq         $16(%rax,%r15), %r12
    71  	0x41, 0x83, 0xe5, 0x0f, //0x00000122 andl         $15, %r13d
    72  	0x49, 0xc7, 0xc0, 0xff, 0xff, 0xff, 0xff, //0x00000126 movq         $-1, %r8
    73  	0xf3, 0x44, 0x0f, 0x6f, 0x05, 0xca, 0xfe, 0xff, 0xff, //0x0000012d movdqu       $-310(%rip), %xmm8  /* LCPI0_0+0(%rip) */
    74  	0xf3, 0x44, 0x0f, 0x6f, 0x15, 0xd1, 0xfe, 0xff, 0xff, //0x00000136 movdqu       $-303(%rip), %xmm10  /* LCPI0_1+0(%rip) */
    75  	0xf3, 0x44, 0x0f, 0x6f, 0x0d, 0xd8, 0xfe, 0xff, 0xff, //0x0000013f movdqu       $-296(%rip), %xmm9  /* LCPI0_2+0(%rip) */
    76  	0xf3, 0x0f, 0x6f, 0x1d, 0xe0, 0xfe, 0xff, 0xff, //0x00000148 movdqu       $-288(%rip), %xmm3  /* LCPI0_3+0(%rip) */
    77  	0xf3, 0x0f, 0x6f, 0x25, 0xe8, 0xfe, 0xff, 0xff, //0x00000150 movdqu       $-280(%rip), %xmm4  /* LCPI0_4+0(%rip) */
    78  	0xf3, 0x0f, 0x6f, 0x2d, 0xf0, 0xfe, 0xff, 0xff, //0x00000158 movdqu       $-272(%rip), %xmm5  /* LCPI0_5+0(%rip) */
    79  	0xf3, 0x0f, 0x6f, 0x35, 0xf8, 0xfe, 0xff, 0xff, //0x00000160 movdqu       $-264(%rip), %xmm6  /* LCPI0_6+0(%rip) */
    80  	0x49, 0xc7, 0xc6, 0xff, 0xff, 0xff, 0xff, //0x00000168 movq         $-1, %r14
    81  	0x49, 0xc7, 0xc2, 0xff, 0xff, 0xff, 0xff, //0x0000016f movq         $-1, %r10
    82  	0x4c, 0x89, 0xfb, //0x00000176 movq         %r15, %rbx
    83  	0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x00000179 .p2align 4, 0x90
    84  	//0x00000180 LBB0_10
    85  	0xf3, 0x0f, 0x6f, 0x3b, //0x00000180 movdqu       (%rbx), %xmm7
    86  	0x66, 0x0f, 0x6f, 0xc7, //0x00000184 movdqa       %xmm7, %xmm0
    87  	0x66, 0x41, 0x0f, 0x64, 0xc0, //0x00000188 pcmpgtb      %xmm8, %xmm0
    88  	0x66, 0x41, 0x0f, 0x6f, 0xca, //0x0000018d movdqa       %xmm10, %xmm1
    89  	0x66, 0x0f, 0x64, 0xcf, //0x00000192 pcmpgtb      %xmm7, %xmm1
    90  	0x66, 0x0f, 0xdb, 0xc8, //0x00000196 pand         %xmm0, %xmm1
    91  	0x66, 0x0f, 0x6f, 0xc7, //0x0000019a movdqa       %xmm7, %xmm0
    92  	0x66, 0x41, 0x0f, 0x74, 0xc1, //0x0000019e pcmpeqb      %xmm9, %xmm0
    93  	0x66, 0x0f, 0x6f, 0xd7, //0x000001a3 movdqa       %xmm7, %xmm2
    94  	0x66, 0x0f, 0x74, 0xd3, //0x000001a7 pcmpeqb      %xmm3, %xmm2
    95  	0x66, 0x0f, 0xeb, 0xd0, //0x000001ab por          %xmm0, %xmm2
    96  	0x66, 0x0f, 0x6f, 0xc7, //0x000001af movdqa       %xmm7, %xmm0
    97  	0x66, 0x0f, 0xeb, 0xc4, //0x000001b3 por          %xmm4, %xmm0
    98  	0x66, 0x0f, 0x74, 0xc6, //0x000001b7 pcmpeqb      %xmm6, %xmm0
    99  	0x66, 0x0f, 0x74, 0xfd, //0x000001bb pcmpeqb      %xmm5, %xmm7
   100  	0x66, 0x0f, 0xd7, 0xf0, //0x000001bf pmovmskb     %xmm0, %esi
   101  	0x66, 0x0f, 0xeb, 0xc7, //0x000001c3 por          %xmm7, %xmm0
   102  	0x66, 0x0f, 0xeb, 0xca, //0x000001c7 por          %xmm2, %xmm1
   103  	0x66, 0x0f, 0xeb, 0xc8, //0x000001cb por          %xmm0, %xmm1
   104  	0x66, 0x0f, 0xd7, 0xff, //0x000001cf pmovmskb     %xmm7, %edi
   105  	0x66, 0x0f, 0xd7, 0xc2, //0x000001d3 pmovmskb     %xmm2, %eax
   106  	0x66, 0x0f, 0xd7, 0xc9, //0x000001d7 pmovmskb     %xmm1, %ecx
   107  	0xba, 0xff, 0xff, 0xff, 0xff, //0x000001db movl         $4294967295, %edx
   108  	0x48, 0x31, 0xd1, //0x000001e0 xorq         %rdx, %rcx
   109  	0x48, 0x0f, 0xbc, 0xc9, //0x000001e3 bsfq         %rcx, %rcx
   110  	0x83, 0xf9, 0x10, //0x000001e7 cmpl         $16, %ecx
   111  	0x0f, 0x84, 0x11, 0x00, 0x00, 0x00, //0x000001ea je           LBB0_12
   112  	0xba, 0xff, 0xff, 0xff, 0xff, //0x000001f0 movl         $-1, %edx
   113  	0xd3, 0xe2, //0x000001f5 shll         %cl, %edx
   114  	0xf7, 0xd2, //0x000001f7 notl         %edx
   115  	0x21, 0xd7, //0x000001f9 andl         %edx, %edi
   116  	0x21, 0xd6, //0x000001fb andl         %edx, %esi
   117  	0x21, 0xc2, //0x000001fd andl         %eax, %edx
   118  	0x89, 0xd0, //0x000001ff movl         %edx, %eax
   119  	//0x00000201 LBB0_12
   120  	0x8d, 0x57, 0xff, //0x00000201 leal         $-1(%rdi), %edx
   121  	0x21, 0xfa, //0x00000204 andl         %edi, %edx
   122  	0x0f, 0x85, 0x27, 0x02, 0x00, 0x00, //0x00000206 jne          LBB0_13
   123  	0x8d, 0x56, 0xff, //0x0000020c leal         $-1(%rsi), %edx
   124  	0x21, 0xf2, //0x0000020f andl         %esi, %edx
   125  	0x0f, 0x85, 0x1c, 0x02, 0x00, 0x00, //0x00000211 jne          LBB0_13
   126  	0x8d, 0x50, 0xff, //0x00000217 leal         $-1(%rax), %edx
   127  	0x21, 0xc2, //0x0000021a andl         %eax, %edx
   128  	0x0f, 0x85, 0x11, 0x02, 0x00, 0x00, //0x0000021c jne          LBB0_13
   129  	0x85, 0xff, //0x00000222 testl        %edi, %edi
   130  	0x0f, 0x84, 0x1a, 0x00, 0x00, 0x00, //0x00000224 je           LBB0_20
   131  	0x48, 0x89, 0xda, //0x0000022a movq         %rbx, %rdx
   132  	0x4c, 0x29, 0xfa, //0x0000022d subq         %r15, %rdx
   133  	0x44, 0x0f, 0xbc, 0xdf, //0x00000230 bsfl         %edi, %r11d
   134  	0x49, 0x01, 0xd3, //0x00000234 addq         %rdx, %r11
   135  	0x49, 0x83, 0xfa, 0xff, //0x00000237 cmpq         $-1, %r10
   136  	0x0f, 0x85, 0xfc, 0x01, 0x00, 0x00, //0x0000023b jne          LBB0_14
   137  	0x4d, 0x89, 0xda, //0x00000241 movq         %r11, %r10
   138  	//0x00000244 LBB0_20
   139  	0x85, 0xf6, //0x00000244 testl        %esi, %esi
   140  	0x0f, 0x84, 0x1a, 0x00, 0x00, 0x00, //0x00000246 je           LBB0_23
   141  	0x48, 0x89, 0xda, //0x0000024c movq         %rbx, %rdx
   142  	0x4c, 0x29, 0xfa, //0x0000024f subq         %r15, %rdx
   143  	0x44, 0x0f, 0xbc, 0xde, //0x00000252 bsfl         %esi, %r11d
   144  	0x49, 0x01, 0xd3, //0x00000256 addq         %rdx, %r11
   145  	0x49, 0x83, 0xfe, 0xff, //0x00000259 cmpq         $-1, %r14
   146  	0x0f, 0x85, 0xda, 0x01, 0x00, 0x00, //0x0000025d jne          LBB0_14
   147  	0x4d, 0x89, 0xde, //0x00000263 movq         %r11, %r14
   148  	//0x00000266 LBB0_23
   149  	0x85, 0xc0, //0x00000266 testl        %eax, %eax
   150  	0x0f, 0x84, 0x1a, 0x00, 0x00, 0x00, //0x00000268 je           LBB0_26
   151  	0x48, 0x89, 0xda, //0x0000026e movq         %rbx, %rdx
   152  	0x4c, 0x29, 0xfa, //0x00000271 subq         %r15, %rdx
   153  	0x44, 0x0f, 0xbc, 0xd8, //0x00000274 bsfl         %eax, %r11d
   154  	0x49, 0x01, 0xd3, //0x00000278 addq         %rdx, %r11
   155  	0x49, 0x83, 0xf8, 0xff, //0x0000027b cmpq         $-1, %r8
   156  	0x0f, 0x85, 0xb8, 0x01, 0x00, 0x00, //0x0000027f jne          LBB0_14
   157  	0x4d, 0x89, 0xd8, //0x00000285 movq         %r11, %r8
   158  	//0x00000288 LBB0_26
   159  	0x83, 0xf9, 0x10, //0x00000288 cmpl         $16, %ecx
   160  	0x0f, 0x85, 0xbb, 0x00, 0x00, 0x00, //0x0000028b jne          LBB0_58
   161  	0x48, 0x83, 0xc3, 0x10, //0x00000291 addq         $16, %rbx
   162  	0x49, 0x83, 0xc1, 0xf0, //0x00000295 addq         $-16, %r9
   163  	0x49, 0x83, 0xf9, 0x0f, //0x00000299 cmpq         $15, %r9
   164  	0x0f, 0x87, 0xdd, 0xfe, 0xff, 0xff, //0x0000029d ja           LBB0_10
   165  	0x4d, 0x85, 0xed, //0x000002a3 testq        %r13, %r13
   166  	0x48, 0x8b, 0x75, 0xc0, //0x000002a6 movq         $-64(%rbp), %rsi
   167  	0x48, 0x8b, 0x5d, 0xc8, //0x000002aa movq         $-56(%rbp), %rbx
   168  	0x0f, 0x84, 0xa6, 0x00, 0x00, 0x00, //0x000002ae je           LBB0_40
   169  	//0x000002b4 LBB0_29
   170  	0x4b, 0x8d, 0x04, 0x2c, //0x000002b4 leaq         (%r12,%r13), %rax
   171  	0x48, 0x8d, 0x0d, 0x19, 0x02, 0x00, 0x00, //0x000002b8 leaq         $537(%rip), %rcx  /* LJTI0_0+0(%rip) */
   172  	0xe9, 0x18, 0x00, 0x00, 0x00, //0x000002bf jmp          LBB0_30
   173  	0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, //0x000002c4 .p2align 4, 0x90
   174  	//0x000002d0 LBB0_38
   175  	0x49, 0x89, 0xd4, //0x000002d0 movq         %rdx, %r12
   176  	0x49, 0xff, 0xcd, //0x000002d3 decq         %r13
   177  	0x0f, 0x84, 0x84, 0x01, 0x00, 0x00, //0x000002d6 je           LBB0_39
   178  	//0x000002dc LBB0_30
   179  	0x41, 0x0f, 0xbe, 0x3c, 0x24, //0x000002dc movsbl       (%r12), %edi
   180  	0x83, 0xc7, 0xd5, //0x000002e1 addl         $-43, %edi
   181  	0x83, 0xff, 0x3a, //0x000002e4 cmpl         $58, %edi
   182  	0x0f, 0x87, 0x6d, 0x00, 0x00, 0x00, //0x000002e7 ja           LBB0_40
   183  	0x49, 0x8d, 0x54, 0x24, 0x01, //0x000002ed leaq         $1(%r12), %rdx
   184  	0x48, 0x63, 0x3c, 0xb9, //0x000002f2 movslq       (%rcx,%rdi,4), %rdi
   185  	0x48, 0x01, 0xcf, //0x000002f6 addq         %rcx, %rdi
   186  	0xff, 0xe7, //0x000002f9 jmpq         *%rdi
   187  	//0x000002fb LBB0_36
   188  	0x49, 0x89, 0xd3, //0x000002fb movq         %rdx, %r11
   189  	0x4d, 0x29, 0xfb, //0x000002fe subq         %r15, %r11
   190  	0x49, 0x83, 0xf8, 0xff, //0x00000301 cmpq         $-1, %r8
   191  	0x0f, 0x85, 0x8a, 0x01, 0x00, 0x00, //0x00000305 jne          LBB0_59
   192  	0x49, 0xff, 0xcb, //0x0000030b decq         %r11
   193  	0x4d, 0x89, 0xd8, //0x0000030e movq         %r11, %r8
   194  	0xe9, 0xba, 0xff, 0xff, 0xff, //0x00000311 jmp          LBB0_38
   195  	//0x00000316 LBB0_34
   196  	0x49, 0x89, 0xd3, //0x00000316 movq         %rdx, %r11
   197  	0x4d, 0x29, 0xfb, //0x00000319 subq         %r15, %r11
   198  	0x49, 0x83, 0xfe, 0xff, //0x0000031c cmpq         $-1, %r14
   199  	0x0f, 0x85, 0x6f, 0x01, 0x00, 0x00, //0x00000320 jne          LBB0_59
   200  	0x49, 0xff, 0xcb, //0x00000326 decq         %r11
   201  	0x4d, 0x89, 0xde, //0x00000329 movq         %r11, %r14
   202  	0xe9, 0x9f, 0xff, 0xff, 0xff, //0x0000032c jmp          LBB0_38
   203  	//0x00000331 LBB0_32
   204  	0x49, 0x89, 0xd3, //0x00000331 movq         %rdx, %r11
   205  	0x4d, 0x29, 0xfb, //0x00000334 subq         %r15, %r11
   206  	0x49, 0x83, 0xfa, 0xff, //0x00000337 cmpq         $-1, %r10
   207  	0x0f, 0x85, 0x54, 0x01, 0x00, 0x00, //0x0000033b jne          LBB0_59
   208  	0x49, 0xff, 0xcb, //0x00000341 decq         %r11
   209  	0x4d, 0x89, 0xda, //0x00000344 movq         %r11, %r10
   210  	0xe9, 0x84, 0xff, 0xff, 0xff, //0x00000347 jmp          LBB0_38
   211  	//0x0000034c LBB0_58
   212  	0x48, 0x01, 0xcb, //0x0000034c addq         %rcx, %rbx
   213  	0x49, 0x89, 0xdc, //0x0000034f movq         %rbx, %r12
   214  	0x48, 0x8b, 0x75, 0xc0, //0x00000352 movq         $-64(%rbp), %rsi
   215  	0x48, 0x8b, 0x5d, 0xc8, //0x00000356 movq         $-56(%rbp), %rbx
   216  	//0x0000035a LBB0_40
   217  	0x49, 0xc7, 0xc3, 0xff, 0xff, 0xff, 0xff, //0x0000035a movq         $-1, %r11
   218  	0x4d, 0x85, 0xf6, //0x00000361 testq        %r14, %r14
   219  	0x0f, 0x84, 0x09, 0x01, 0x00, 0x00, //0x00000364 je           LBB0_55
   220  	//0x0000036a LBB0_41
   221  	0x4d, 0x85, 0xc0, //0x0000036a testq        %r8, %r8
   222  	0x0f, 0x84, 0x00, 0x01, 0x00, 0x00, //0x0000036d je           LBB0_55
   223  	0x4d, 0x85, 0xd2, //0x00000373 testq        %r10, %r10
   224  	0x48, 0x8b, 0x55, 0xd0, //0x00000376 movq         $-48(%rbp), %rdx
   225  	0x0f, 0x84, 0xf3, 0x00, 0x00, 0x00, //0x0000037a je           LBB0_55
   226  	0x4d, 0x29, 0xfc, //0x00000380 subq         %r15, %r12
   227  	0x49, 0x8d, 0x44, 0x24, 0xff, //0x00000383 leaq         $-1(%r12), %rax
   228  	0x49, 0x39, 0xc6, //0x00000388 cmpq         %rax, %r14
   229  	0x0f, 0x84, 0x3c, 0x00, 0x00, 0x00, //0x0000038b je           LBB0_46
   230  	0x49, 0x39, 0xc2, //0x00000391 cmpq         %rax, %r10
   231  	0x0f, 0x84, 0x33, 0x00, 0x00, 0x00, //0x00000394 je           LBB0_46
   232  	0x49, 0x39, 0xc0, //0x0000039a cmpq         %rax, %r8
   233  	0x0f, 0x84, 0x2a, 0x00, 0x00, 0x00, //0x0000039d je           LBB0_46
   234  	0x4d, 0x85, 0xc0, //0x000003a3 testq        %r8, %r8
   235  	0x0f, 0x8e, 0x35, 0x00, 0x00, 0x00, //0x000003a6 jle          LBB0_50
   236  	0x49, 0x8d, 0x40, 0xff, //0x000003ac leaq         $-1(%r8), %rax
   237  	0x49, 0x39, 0xc6, //0x000003b0 cmpq         %rax, %r14
   238  	0x0f, 0x84, 0x28, 0x00, 0x00, 0x00, //0x000003b3 je           LBB0_50
   239  	0x49, 0xf7, 0xd0, //0x000003b9 notq         %r8
   240  	0x4d, 0x89, 0xc3, //0x000003bc movq         %r8, %r11
   241  	0x4d, 0x85, 0xdb, //0x000003bf testq        %r11, %r11
   242  	0x0f, 0x89, 0x8d, 0x00, 0x00, 0x00, //0x000003c2 jns          LBB0_56
   243  	0xe9, 0xa6, 0x00, 0x00, 0x00, //0x000003c8 jmp          LBB0_55
   244  	//0x000003cd LBB0_46
   245  	0x49, 0xf7, 0xdc, //0x000003cd negq         %r12
   246  	0x4d, 0x89, 0xe3, //0x000003d0 movq         %r12, %r11
   247  	0x4d, 0x85, 0xdb, //0x000003d3 testq        %r11, %r11
   248  	0x0f, 0x89, 0x79, 0x00, 0x00, 0x00, //0x000003d6 jns          LBB0_56
   249  	0xe9, 0x92, 0x00, 0x00, 0x00, //0x000003dc jmp          LBB0_55
   250  	//0x000003e1 LBB0_50
   251  	0x4c, 0x89, 0xd0, //0x000003e1 movq         %r10, %rax
   252  	0x4c, 0x09, 0xf0, //0x000003e4 orq          %r14, %rax
   253  	0x4d, 0x39, 0xf2, //0x000003e7 cmpq         %r14, %r10
   254  	0x0f, 0x8c, 0x1d, 0x00, 0x00, 0x00, //0x000003ea jl           LBB0_53
   255  	0x48, 0x85, 0xc0, //0x000003f0 testq        %rax, %rax
   256  	0x0f, 0x88, 0x14, 0x00, 0x00, 0x00, //0x000003f3 js           LBB0_53
   257  	0x49, 0xf7, 0xd2, //0x000003f9 notq         %r10
   258  	0x4d, 0x89, 0xd3, //0x000003fc movq         %r10, %r11
   259  	0x4d, 0x85, 0xdb, //0x000003ff testq        %r11, %r11
   260  	0x0f, 0x89, 0x4d, 0x00, 0x00, 0x00, //0x00000402 jns          LBB0_56
   261  	0xe9, 0x66, 0x00, 0x00, 0x00, //0x00000408 jmp          LBB0_55
   262  	//0x0000040d LBB0_53
   263  	0x48, 0x85, 0xc0, //0x0000040d testq        %rax, %rax
   264  	0x49, 0x8d, 0x46, 0xff, //0x00000410 leaq         $-1(%r14), %rax
   265  	0x49, 0xf7, 0xd6, //0x00000414 notq         %r14
   266  	0x4d, 0x0f, 0x48, 0xf4, //0x00000417 cmovsq       %r12, %r14
   267  	0x49, 0x39, 0xc2, //0x0000041b cmpq         %rax, %r10
   268  	0x4d, 0x0f, 0x45, 0xf4, //0x0000041e cmovneq      %r12, %r14
   269  	0x4d, 0x89, 0xf3, //0x00000422 movq         %r14, %r11
   270  	0x4d, 0x85, 0xdb, //0x00000425 testq        %r11, %r11
   271  	0x0f, 0x89, 0x27, 0x00, 0x00, 0x00, //0x00000428 jns          LBB0_56
   272  	0xe9, 0x40, 0x00, 0x00, 0x00, //0x0000042e jmp          LBB0_55
   273  	//0x00000433 LBB0_13
   274  	0x4c, 0x29, 0xfb, //0x00000433 subq         %r15, %rbx
   275  	0x44, 0x0f, 0xbc, 0xda, //0x00000436 bsfl         %edx, %r11d
   276  	0x49, 0x01, 0xdb, //0x0000043a addq         %rbx, %r11
   277  	//0x0000043d LBB0_14
   278  	0x49, 0xf7, 0xd3, //0x0000043d notq         %r11
   279  	0x48, 0x8b, 0x75, 0xc0, //0x00000440 movq         $-64(%rbp), %rsi
   280  	0x48, 0x8b, 0x5d, 0xc8, //0x00000444 movq         $-56(%rbp), %rbx
   281  	0x48, 0x8b, 0x55, 0xd0, //0x00000448 movq         $-48(%rbp), %rdx
   282  	0x4d, 0x85, 0xdb, //0x0000044c testq        %r11, %r11
   283  	0x0f, 0x88, 0x1e, 0x00, 0x00, 0x00, //0x0000044f js           LBB0_55
   284  	//0x00000455 LBB0_56
   285  	0x4d, 0x01, 0xdf, //0x00000455 addq         %r11, %r15
   286  	0x48, 0x89, 0xd0, //0x00000458 movq         %rdx, %rax
   287  	0xe9, 0x20, 0x00, 0x00, 0x00, //0x0000045b jmp          LBB0_57
   288  	//0x00000460 LBB0_39
   289  	0x49, 0x89, 0xc4, //0x00000460 movq         %rax, %r12
   290  	0x49, 0xc7, 0xc3, 0xff, 0xff, 0xff, 0xff, //0x00000463 movq         $-1, %r11
   291  	0x4d, 0x85, 0xf6, //0x0000046a testq        %r14, %r14
   292  	0x0f, 0x85, 0xf7, 0xfe, 0xff, 0xff, //0x0000046d jne          LBB0_41
   293  	//0x00000473 LBB0_55
   294  	0x49, 0xf7, 0xd3, //0x00000473 notq         %r11
   295  	0x4d, 0x01, 0xdf, //0x00000476 addq         %r11, %r15
   296  	0x48, 0xc7, 0xc0, 0xfe, 0xff, 0xff, 0xff, //0x00000479 movq         $-2, %rax
   297  	//0x00000480 LBB0_57
   298  	0x49, 0x29, 0xdf, //0x00000480 subq         %rbx, %r15
   299  	0x4c, 0x89, 0x3e, //0x00000483 movq         %r15, (%rsi)
   300  	0x48, 0x83, 0xc4, 0x18, //0x00000486 addq         $24, %rsp
   301  	0x5b, //0x0000048a popq         %rbx
   302  	0x41, 0x5c, //0x0000048b popq         %r12
   303  	0x41, 0x5d, //0x0000048d popq         %r13
   304  	0x41, 0x5e, //0x0000048f popq         %r14
   305  	0x41, 0x5f, //0x00000491 popq         %r15
   306  	0x5d, //0x00000493 popq         %rbp
   307  	0xc3, //0x00000494 retq         
   308  	//0x00000495 LBB0_59
   309  	0x49, 0xf7, 0xdb, //0x00000495 negq         %r11
   310  	0x48, 0x8b, 0x55, 0xd0, //0x00000498 movq         $-48(%rbp), %rdx
   311  	0x4d, 0x85, 0xdb, //0x0000049c testq        %r11, %r11
   312  	0x0f, 0x89, 0xb0, 0xff, 0xff, 0xff, //0x0000049f jns          LBB0_56
   313  	0xe9, 0xc9, 0xff, 0xff, 0xff, //0x000004a5 jmp          LBB0_55
   314  	//0x000004aa LBB0_1
   315  	0x48, 0xc7, 0xc0, 0xff, 0xff, 0xff, 0xff, //0x000004aa movq         $-1, %rax
   316  	0xe9, 0xca, 0xff, 0xff, 0xff, //0x000004b1 jmp          LBB0_57
   317  	//0x000004b6 LBB0_8
   318  	0x49, 0xc7, 0xc2, 0xff, 0xff, 0xff, 0xff, //0x000004b6 movq         $-1, %r10
   319  	0x4d, 0x89, 0xfc, //0x000004bd movq         %r15, %r12
   320  	0x4d, 0x89, 0xcd, //0x000004c0 movq         %r9, %r13
   321  	0x49, 0xc7, 0xc6, 0xff, 0xff, 0xff, 0xff, //0x000004c3 movq         $-1, %r14
   322  	0x49, 0xc7, 0xc0, 0xff, 0xff, 0xff, 0xff, //0x000004ca movq         $-1, %r8
   323  	0xe9, 0xde, 0xfd, 0xff, 0xff, //0x000004d1 jmp          LBB0_29
   324  	0x90, 0x90, //0x000004d6 .p2align 2, 0x90
   325  	// // .set L0_0_set_36, LBB0_36-LJTI0_0
   326  	// // .set L0_0_set_40, LBB0_40-LJTI0_0
   327  	// // .set L0_0_set_32, LBB0_32-LJTI0_0
   328  	// // .set L0_0_set_38, LBB0_38-LJTI0_0
   329  	// // .set L0_0_set_34, LBB0_34-LJTI0_0
   330  	//0x000004d8 LJTI0_0
   331  	0x23, 0xfe, 0xff, 0xff, //0x000004d8 .long L0_0_set_36
   332  	0x82, 0xfe, 0xff, 0xff, //0x000004dc .long L0_0_set_40
   333  	0x23, 0xfe, 0xff, 0xff, //0x000004e0 .long L0_0_set_36
   334  	0x59, 0xfe, 0xff, 0xff, //0x000004e4 .long L0_0_set_32
   335  	0x82, 0xfe, 0xff, 0xff, //0x000004e8 .long L0_0_set_40
   336  	0xf8, 0xfd, 0xff, 0xff, //0x000004ec .long L0_0_set_38
   337  	0xf8, 0xfd, 0xff, 0xff, //0x000004f0 .long L0_0_set_38
   338  	0xf8, 0xfd, 0xff, 0xff, //0x000004f4 .long L0_0_set_38
   339  	0xf8, 0xfd, 0xff, 0xff, //0x000004f8 .long L0_0_set_38
   340  	0xf8, 0xfd, 0xff, 0xff, //0x000004fc .long L0_0_set_38
   341  	0xf8, 0xfd, 0xff, 0xff, //0x00000500 .long L0_0_set_38
   342  	0xf8, 0xfd, 0xff, 0xff, //0x00000504 .long L0_0_set_38
   343  	0xf8, 0xfd, 0xff, 0xff, //0x00000508 .long L0_0_set_38
   344  	0xf8, 0xfd, 0xff, 0xff, //0x0000050c .long L0_0_set_38
   345  	0xf8, 0xfd, 0xff, 0xff, //0x00000510 .long L0_0_set_38
   346  	0x82, 0xfe, 0xff, 0xff, //0x00000514 .long L0_0_set_40
   347  	0x82, 0xfe, 0xff, 0xff, //0x00000518 .long L0_0_set_40
   348  	0x82, 0xfe, 0xff, 0xff, //0x0000051c .long L0_0_set_40
   349  	0x82, 0xfe, 0xff, 0xff, //0x00000520 .long L0_0_set_40
   350  	0x82, 0xfe, 0xff, 0xff, //0x00000524 .long L0_0_set_40
   351  	0x82, 0xfe, 0xff, 0xff, //0x00000528 .long L0_0_set_40
   352  	0x82, 0xfe, 0xff, 0xff, //0x0000052c .long L0_0_set_40
   353  	0x82, 0xfe, 0xff, 0xff, //0x00000530 .long L0_0_set_40
   354  	0x82, 0xfe, 0xff, 0xff, //0x00000534 .long L0_0_set_40
   355  	0x82, 0xfe, 0xff, 0xff, //0x00000538 .long L0_0_set_40
   356  	0x82, 0xfe, 0xff, 0xff, //0x0000053c .long L0_0_set_40
   357  	0x3e, 0xfe, 0xff, 0xff, //0x00000540 .long L0_0_set_34
   358  	0x82, 0xfe, 0xff, 0xff, //0x00000544 .long L0_0_set_40
   359  	0x82, 0xfe, 0xff, 0xff, //0x00000548 .long L0_0_set_40
   360  	0x82, 0xfe, 0xff, 0xff, //0x0000054c .long L0_0_set_40
   361  	0x82, 0xfe, 0xff, 0xff, //0x00000550 .long L0_0_set_40
   362  	0x82, 0xfe, 0xff, 0xff, //0x00000554 .long L0_0_set_40
   363  	0x82, 0xfe, 0xff, 0xff, //0x00000558 .long L0_0_set_40
   364  	0x82, 0xfe, 0xff, 0xff, //0x0000055c .long L0_0_set_40
   365  	0x82, 0xfe, 0xff, 0xff, //0x00000560 .long L0_0_set_40
   366  	0x82, 0xfe, 0xff, 0xff, //0x00000564 .long L0_0_set_40
   367  	0x82, 0xfe, 0xff, 0xff, //0x00000568 .long L0_0_set_40
   368  	0x82, 0xfe, 0xff, 0xff, //0x0000056c .long L0_0_set_40
   369  	0x82, 0xfe, 0xff, 0xff, //0x00000570 .long L0_0_set_40
   370  	0x82, 0xfe, 0xff, 0xff, //0x00000574 .long L0_0_set_40
   371  	0x82, 0xfe, 0xff, 0xff, //0x00000578 .long L0_0_set_40
   372  	0x82, 0xfe, 0xff, 0xff, //0x0000057c .long L0_0_set_40
   373  	0x82, 0xfe, 0xff, 0xff, //0x00000580 .long L0_0_set_40
   374  	0x82, 0xfe, 0xff, 0xff, //0x00000584 .long L0_0_set_40
   375  	0x82, 0xfe, 0xff, 0xff, //0x00000588 .long L0_0_set_40
   376  	0x82, 0xfe, 0xff, 0xff, //0x0000058c .long L0_0_set_40
   377  	0x82, 0xfe, 0xff, 0xff, //0x00000590 .long L0_0_set_40
   378  	0x82, 0xfe, 0xff, 0xff, //0x00000594 .long L0_0_set_40
   379  	0x82, 0xfe, 0xff, 0xff, //0x00000598 .long L0_0_set_40
   380  	0x82, 0xfe, 0xff, 0xff, //0x0000059c .long L0_0_set_40
   381  	0x82, 0xfe, 0xff, 0xff, //0x000005a0 .long L0_0_set_40
   382  	0x82, 0xfe, 0xff, 0xff, //0x000005a4 .long L0_0_set_40
   383  	0x82, 0xfe, 0xff, 0xff, //0x000005a8 .long L0_0_set_40
   384  	0x82, 0xfe, 0xff, 0xff, //0x000005ac .long L0_0_set_40
   385  	0x82, 0xfe, 0xff, 0xff, //0x000005b0 .long L0_0_set_40
   386  	0x82, 0xfe, 0xff, 0xff, //0x000005b4 .long L0_0_set_40
   387  	0x82, 0xfe, 0xff, 0xff, //0x000005b8 .long L0_0_set_40
   388  	0x82, 0xfe, 0xff, 0xff, //0x000005bc .long L0_0_set_40
   389  	0x3e, 0xfe, 0xff, 0xff, //0x000005c0 .long L0_0_set_34
   390  	//0x000005c4 .p2align 2, 0x00
   391  	//0x000005c4 _MASK_USE_NUMBER
   392  	0x02, 0x00, 0x00, 0x00, //0x000005c4 .long 2
   393  }
   394