clarify the purpose of this project
[nyanglibc.git] / string / strxfrm_l.shared.s
blobd970ca0defc401f87d71d3ea20eeb9f6e3c115fe
1 .text
2 #APP
3 memmove = __GI_memmove
4 memset = __GI_memset
5 memcpy = __GI_memcpy
6 #NO_APP
7 .p2align 4,,15
8 .type utf8_encode.part.0, @function
9 utf8_encode.part.0:
10 testl $-2048, %esi
11 je .L4
12 testl $-65536, %esi
13 je .L5
14 testl $-2097152, %esi
15 je .L6
16 movl %esi, %eax
17 andl $-67108864, %eax
18 cmpl $1, %eax
19 sbbl %edx, %edx
20 addl $5, %edx
21 cmpl $1, %eax
22 sbbl %ecx, %ecx
23 andl $-4, %ecx
24 subl $4, %ecx
25 cmpl $1, %eax
26 sbbl %eax, %eax
27 addl $6, %eax
28 .L2:
29 movb %cl, (%rdi)
30 movslq %edx, %rdx
31 .L3:
32 movl %esi, %ecx
33 sarl $6, %esi
34 andl $63, %ecx
35 orl $-128, %ecx
36 movb %cl, (%rdi,%rdx)
37 subq $1, %rdx
38 testl %edx, %edx
39 jne .L3
40 orb %sil, (%rdi)
41 ret
42 .p2align 4,,10
43 .p2align 3
44 .L4:
45 movl $1, %edx
46 movl $-64, %ecx
47 movl $2, %eax
48 jmp .L2
49 .p2align 4,,10
50 .p2align 3
51 .L5:
52 movl $2, %edx
53 movl $-32, %ecx
54 movl $3, %eax
55 jmp .L2
56 .p2align 4,,10
57 .p2align 3
58 .L6:
59 movl $3, %edx
60 movl $-16, %ecx
61 movl $4, %eax
62 jmp .L2
63 .size utf8_encode.part.0, .-utf8_encode.part.0
64 .section .rodata.str1.1,"aMS",@progbits,1
65 .LC0:
66 .string "strxfrm_l.c"
67 .section .rodata.str1.8,"aMS",@progbits,1
68 .align 8
69 .LC1:
70 .string "((uintptr_t) l_data.table) % __alignof__ (l_data.table[0]) == 0"
71 .align 8
72 .LC2:
73 .string "((uintptr_t) l_data.indirect) % __alignof__ (l_data.indirect[0]) == 0"
74 .text
75 .p2align 4,,15
76 .globl __GI___strxfrm_l
77 .hidden __GI___strxfrm_l
78 .type __GI___strxfrm_l, @function
79 __GI___strxfrm_l:
80 pushq %rbp
81 movq %rsp, %rbp
82 pushq %r15
83 pushq %r14
84 pushq %r13
85 pushq %r12
86 pushq %rbx
87 subq $184, %rsp
88 movq 24(%rcx), %rax
89 movq %rdi, -128(%rbp)
90 movq %rsi, -208(%rbp)
91 movq %rdx, -96(%rbp)
92 movl 64(%rax), %ebx
93 testq %rbx, %rbx
94 movq %rbx, -104(%rbp)
95 jne .L11
96 movq %rdx, %r15
97 movq %rsi, %rdi
98 call __GI_strlen
99 testq %r15, %r15
100 movq %rax, -88(%rbp)
101 jne .L662
102 .L10:
103 movq -88(%rbp), %rax
104 leaq -40(%rbp), %rsp
105 popq %rbx
106 popq %r12
107 popq %r13
108 popq %r14
109 popq %r15
110 popq %rbp
112 .L11:
113 movq -208(%rbp), %rbx
114 cmpb $0, (%rbx)
115 je .L663
116 movq 72(%rax), %rbx
117 movq 96(%rax), %rdi
118 movq 88(%rax), %r15
119 movq %rbx, -200(%rbp)
120 movq 80(%rax), %rbx
121 movq 104(%rax), %rax
122 movq %rdi, -120(%rbp)
123 movq %rbx, -72(%rbp)
124 andl $3, %ebx
125 movq %rax, -144(%rbp)
126 jne .L664
127 testb $3, -144(%rbp)
128 jne .L665
129 subq $16400, %rsp
130 movq %r15, -88(%rbp)
131 movq -208(%rbp), %rsi
132 leaq 15(%rsp), %rax
133 subq $4112, %rsp
134 xorl %r14d, %r14d
135 andq $-16, %rax
136 movq %rax, -80(%rbp)
137 leaq 15(%rsp), %rax
138 andq $-16, %rax
139 movq %rax, -112(%rbp)
140 movq %rax, %r15
141 jmp .L35
142 .p2align 4,,10
143 .p2align 3
144 .L364:
145 movq %r12, %rsi
146 .L16:
147 movl %r8d, %eax
148 andl $16777215, %r8d
149 leaq 1(%r14), %r13
150 sarl $24, %eax
151 cmpb $0, (%rsi)
152 movb %al, (%r15,%r14)
153 movq -80(%rbp), %rax
154 movl %r8d, (%rax,%r14,4)
155 je .L34
156 cmpq $4095, %r13
157 je .L666
158 movq %r13, %r14
159 .L35:
160 movzbl (%rsi), %eax
161 movq -72(%rbp), %rbx
162 leaq 1(%rsi), %r12
163 movslq (%rbx,%rax,4), %rax
164 testq %rax, %rax
165 movq %rax, %r8
166 jns .L364
167 movq -120(%rbp), %rdx
168 subq %rax, %rdx
169 .p2align 4,,10
170 .p2align 3
171 .L17:
172 movslq (%rdx), %r8
173 leaq 5(%rdx), %rcx
174 movzbl 4(%rdx), %eax
175 testl %r8d, %r8d
176 js .L667
177 .L18:
178 testq %rax, %rax
179 je .L367
180 movzbl 5(%rdx), %ebx
181 cmpb %bl, 1(%rsi)
182 jne .L23
183 xorl %edx, %edx
184 jmp .L24
185 .p2align 4,,10
186 .p2align 3
187 .L25:
188 movzbl 1(%rsi,%rdx), %ebx
189 cmpb %bl, (%rcx,%rdx)
190 jne .L23
191 .L24:
192 addq $1, %rdx
193 cmpq %rdx, %rax
194 jne .L25
195 jmp .L22
196 .L663:
197 cmpq $0, -96(%rbp)
198 movq $0, -88(%rbp)
199 je .L10
200 movq -128(%rbp), %rax
201 movb $0, (%rax)
202 jmp .L10
203 .p2align 4,,10
204 .p2align 3
205 .L23:
206 leaq (%rcx,%rax), %rdx
207 addq $1, %rax
208 andl $3, %eax
209 je .L17
210 movl $4, %ebx
211 subq %rax, %rbx
212 addq %rbx, %rdx
213 movslq (%rdx), %r8
214 leaq 5(%rdx), %rcx
215 movzbl 4(%rdx), %eax
216 testl %r8d, %r8d
217 jns .L18
218 .L667:
219 testq %rax, %rax
220 je .L365
221 movzbl 5(%rdx), %r9d
222 movzbl 1(%rsi), %edi
223 cmpb %r9b, %dil
224 jne .L366
225 xorl %edx, %edx
226 jmp .L21
227 .p2align 4,,10
228 .p2align 3
229 .L27:
230 movzbl (%rcx,%rdx), %r11d
231 movzbl 1(%rsi,%rdx), %r10d
232 cmpb %r10b, %r11b
233 jne .L20
234 .L21:
235 addq $1, %rdx
236 cmpq %rdx, %rax
237 jne .L27
238 xorl %eax, %eax
239 .L19:
240 movq -144(%rbp), %rbx
241 subq %r8, %rax
242 leaq (%r12,%rdx), %rsi
243 movl (%rbx,%rax,4), %r8d
244 jmp .L16
245 .L366:
246 movl %edi, %r10d
247 movl %r9d, %r11d
248 .L20:
249 cmpb %r10b, %r11b
250 ja .L325
251 leaq (%rcx,%rax), %rbx
252 movzbl (%rbx), %r13d
253 cmpb %r13b, %dil
254 jne .L368
255 xorl %edx, %edx
256 jmp .L29
257 .p2align 4,,10
258 .p2align 3
259 .L30:
260 movzbl (%rbx,%rdx), %r11d
261 movzbl 1(%rsi,%rdx), %r10d
262 cmpb %r10b, %r11b
263 jne .L28
264 .L29:
265 addq $1, %rdx
266 cmpq %rdx, %rax
267 jne .L30
268 movzbl %r13b, %edi
269 .L326:
270 xorl %r10d, %r10d
271 cmpb %dil, %r9b
272 jne .L32
273 .p2align 4,,10
274 .p2align 3
275 .L31:
276 addq $1, %r10
277 movzbl (%rcx,%r10), %r9d
278 movzbl 1(%rsi,%r10), %edi
279 cmpb %dil, %r9b
280 je .L31
281 .L32:
282 xorl %eax, %eax
283 jmp .L33
284 .p2align 4,,10
285 .p2align 3
286 .L668:
287 movzbl 1(%rsi,%r10), %edi
288 movzbl (%rcx,%r10), %r9d
289 .L33:
290 subl %r9d, %edi
291 salq $8, %rax
292 addq $1, %r10
293 movslq %edi, %rdi
294 addq %rdi, %rax
295 cmpq %rdx, %r10
296 jb .L668
297 jmp .L19
298 .L325:
299 addq %rax, %rax
300 leaq 4(%rax), %rdx
301 addq $1, %rax
302 andl $3, %eax
303 subq %rax, %rdx
304 addq %rcx, %rdx
305 jmp .L17
306 .L368:
307 movl %edi, %r10d
308 movl %r13d, %r11d
309 .L28:
310 cmpb %r10b, %r11b
311 jb .L325
312 movq %rax, %rdx
313 jmp .L326
314 .L367:
315 xorl %edx, %edx
316 .p2align 4,,10
317 .p2align 3
318 .L22:
319 leaq (%r12,%rdx), %rsi
320 jmp .L16
321 .L34:
322 movq -112(%rbp), %rax
323 movq -88(%rbp), %r15
324 movq $0, -136(%rbp)
325 movq $0, -120(%rbp)
326 movb $0, (%rax,%r13)
327 movq -80(%rbp), %rax
328 leaq -4(%rax,%r14,4), %rbx
329 leaq -4(%rax,%r13,4), %rax
330 movq %rax, -176(%rbp)
331 leaq -55(%rbp), %rax
332 movq %rbx, -168(%rbp)
333 movq %rax, -144(%rbp)
334 .L86:
335 movq -112(%rbp), %rax
336 movq -200(%rbp), %rbx
337 addq -120(%rbp), %rbx
338 movzbl (%rax), %eax
339 imulq -104(%rbp), %rax
340 movq %rbx, -72(%rbp)
341 movzbl (%rbx,%rax), %r9d
342 movl %r9d, %eax
343 testb $4, %al
344 jne .L371
345 movq -80(%rbp), %rax
346 movq %r14, -160(%rbp)
347 xorl %esi, %esi
348 movq -136(%rbp), %r10
349 movq -96(%rbp), %r14
350 movq $-1, %rdx
351 leaq -4(%rax), %r12
352 movq %r12, -152(%rbp)
353 movq %rax, %r12
354 .p2align 4,,10
355 .p2align 3
356 .L47:
357 andl $1, %r9d
358 je .L38
359 cmpq $-1, %rdx
360 je .L39
361 cmpq %rsi, %rdx
362 jnb .L39
363 movq -152(%rbp), %rax
364 leaq (%rax,%rsi,4), %rcx
365 leaq (%rax,%rdx,4), %r11
366 jmp .L43
367 .p2align 4,,10
368 .p2align 3
369 .L40:
370 addl %edi, %edx
371 movq %r9, %r10
372 movl %edx, (%rcx)
373 .L41:
374 subq $4, %rcx
375 cmpq %rcx, %r11
376 je .L39
377 .L43:
378 movslq (%rcx), %rax
379 movzbl (%r15,%rax), %edi
380 leal 1(%rax), %edx
381 movq %rax, %r8
382 movl %edx, (%rcx)
383 leaq (%rdi,%r10), %r9
384 cmpq %r9, %r14
385 jbe .L40
386 testq %rdi, %rdi
387 leaq -1(%rdi), %rbx
388 je .L41
389 movq -128(%rbp), %rax
390 movslq %edx, %rdx
391 movq %rcx, -88(%rbp)
392 addq %r15, %rdx
393 addq %rax, %r10
394 xorl %eax, %eax
395 .p2align 4,,10
396 .p2align 3
397 .L42:
398 movzbl (%rdx,%rax), %ecx
399 movb %cl, (%r10,%rax)
400 addq $1, %rax
401 cmpq %rax, %rdi
402 jne .L42
403 movq -88(%rbp), %rcx
404 leal 2(%r8,%rbx), %eax
405 movq %r9, %r10
406 movl %eax, (%rcx)
407 subq $4, %rcx
408 cmpq %rcx, %r11
409 jne .L43
410 .L39:
411 movslq (%r12,%rsi,4), %rdx
412 movzbl (%r15,%rdx), %ecx
413 leal 1(%rdx), %eax
414 movq %rdx, %rdi
415 movl %eax, (%r12,%rsi,4)
416 leaq (%rcx,%r10), %r8
417 cmpq %r8, %r14
418 ja .L669
419 addl %ecx, %eax
420 movq %r8, %r10
421 movq $-1, %rdx
422 movl %eax, (%r12,%rsi,4)
423 .L45:
424 movq -112(%rbp), %rax
425 addq $1, %rsi
426 movq -72(%rbp), %rbx
427 movzbl (%rax,%rsi), %eax
428 imulq -104(%rbp), %rax
429 cmpq %rsi, %r13
430 movzbl (%rbx,%rax), %r9d
431 jne .L47
432 cmpq $-1, %rdx
433 movq -160(%rbp), %r14
434 movq %r10, -88(%rbp)
435 je .L48
436 cmpq %rdx, %r13
437 jbe .L48
438 movq -80(%rbp), %rax
439 movq -176(%rbp), %rcx
440 movq -96(%rbp), %r8
441 leaq -4(%rax,%rdx,4), %r11
442 jmp .L52
443 .L49:
444 addl %esi, %edx
445 movq %rdi, %r10
446 movl %edx, (%rcx)
447 .L50:
448 subq $4, %rcx
449 cmpq %rcx, %r11
450 je .L670
451 .L52:
452 movslq (%rcx), %rax
453 movzbl (%r15,%rax), %esi
454 leal 1(%rax), %edx
455 movq %rax, %r9
456 movl %edx, (%rcx)
457 leaq (%rsi,%r10), %rdi
458 cmpq %rdi, %r8
459 jbe .L49
460 testq %rsi, %rsi
461 leaq -1(%rsi), %rbx
462 je .L50
463 movq -128(%rbp), %r12
464 movslq %edx, %rdx
465 xorl %eax, %eax
466 addq %r12, %r10
467 leaq (%r15,%rdx), %r12
468 .p2align 4,,10
469 .p2align 3
470 .L51:
471 movzbl (%r12,%rax), %edx
472 movb %dl, (%r10,%rax)
473 addq $1, %rax
474 cmpq %rax, %rsi
475 jne .L51
476 leal 2(%r9,%rbx), %eax
477 subq $4, %rcx
478 movq %rdi, %r10
479 movl %eax, 4(%rcx)
480 cmpq %rcx, %r11
481 jne .L52
482 .L670:
483 movq %r10, -88(%rbp)
484 .L48:
485 addq $1, -120(%rbp)
486 movq -88(%rbp), %rbx
487 cmpq %rbx, -96(%rbp)
488 movq -120(%rbp), %rax
489 jbe .L85
490 cmpq %rax, -104(%rbp)
491 movq -128(%rbp), %rax
492 seta (%rax,%rbx)
493 .L85:
494 movq -88(%rbp), %rax
495 movq -120(%rbp), %rdi
496 addq $1, %rax
497 cmpq %rdi, -104(%rbp)
498 je .L671
499 movq %rax, -136(%rbp)
500 jmp .L86
501 .L38:
502 cmpq $-1, %rdx
503 cmove %rsi, %rdx
504 jmp .L45
505 .L371:
506 movq -136(%rbp), %rdi
507 movq %r13, -88(%rbp)
508 movl $1, %esi
509 movq -144(%rbp), %r13
510 movq %r14, -160(%rbp)
511 xorl %r12d, %r12d
512 movq $-1, %rax
513 movl %r9d, %ebx
514 movq %rdi, %r14
515 .p2align 4,,10
516 .p2align 3
517 .L37:
518 andl $1, %ebx
519 je .L53
520 cmpq $-1, %rax
521 je .L54
522 cmpq %r12, %rax
523 jnb .L54
524 movq -80(%rbp), %rdi
525 movq %r12, -152(%rbp)
526 leaq -4(%rdi), %rdx
527 leaq (%rdx,%rax,4), %rax
528 leaq (%rdx,%r12,4), %r8
529 movq %rax, %r12
530 jmp .L64
531 .L675:
532 cmpl $127, %esi
533 jg .L672
534 leaq 1(%r14), %rdi
535 movb %sil, -55(%rbp)
536 movl $1, %edx
537 leaq (%r10,%rdi), %rax
538 cmpq %rax, -96(%rbp)
539 ja .L673
540 .L58:
541 addl %r9d, %r11d
542 addq %r10, %r14
543 subq $4, %r8
544 movl %r11d, 4(%r8)
545 addq %rdx, %r14
546 cmpq %r8, %r12
547 movl %ebx, %esi
548 je .L674
549 .L64:
550 movslq (%r8), %rax
551 movzbl (%r15,%rax), %r10d
552 leal 1(%rax), %r11d
553 movl %r11d, (%r8)
554 testq %r10, %r10
555 movq %r10, %r9
556 jne .L675
557 subq $4, %r8
558 addl $1, %esi
559 cmpq %r8, %r12
560 jne .L64
561 .L674:
562 movq -152(%rbp), %r12
563 .L54:
564 movq -80(%rbp), %rdi
565 movslq (%rdi,%r12,4), %rax
566 movzbl (%r15,%rax), %r8d
567 leal 1(%rax), %r10d
568 movl %r10d, (%rdi,%r12,4)
569 testq %r8, %r8
570 movq %r8, %r9
571 je .L65
572 cmpl $127, %esi
573 jg .L676
574 leaq 1(%r14), %rdi
575 movb %sil, -55(%rbp)
576 movl $1, %edx
577 leaq (%r8,%rdi), %rax
578 cmpq %rax, -96(%rbp)
579 ja .L677
580 .L68:
581 movq -80(%rbp), %rax
582 addq %r8, %r14
583 addl %r9d, %r10d
584 addq %rdx, %r14
585 movl %ebx, %esi
586 movl %r10d, (%rax,%r12,4)
587 movq $-1, %rax
588 .L73:
589 movq -112(%rbp), %rbx
590 addq $1, %r12
591 movzbl (%rbx,%r12), %edx
592 movq -72(%rbp), %rbx
593 imulq -104(%rbp), %rdx
594 cmpq %r12, -88(%rbp)
595 movzbl (%rbx,%rdx), %ebx
596 jne .L37
597 cmpq $-1, %rax
598 movq -88(%rbp), %r13
599 movq %r14, %r12
600 movq %r14, -88(%rbp)
601 movq -160(%rbp), %r14
602 je .L48
603 cmpq %rax, %r14
604 jbe .L48
605 movq -80(%rbp), %rbx
606 movq %r13, -72(%rbp)
607 movq -168(%rbp), %r11
608 movq -144(%rbp), %r13
609 leaq -4(%rbx,%rax,4), %rbx
610 jmp .L84
611 .L681:
612 cmpl $127, %esi
613 jg .L678
614 leaq 1(%r12), %rdi
615 movb %sil, -55(%rbp)
616 movl $1, %edx
617 leaq (%r9,%rdi), %rax
618 cmpq %rax, -96(%rbp)
619 ja .L679
620 .L78:
621 addl %r8d, %r10d
622 addq %r9, %r12
623 subq $4, %r11
624 movl %r10d, 4(%r11)
625 addq %rdx, %r12
626 cmpq %r11, %rbx
627 movl $1, %esi
628 je .L680
629 .L84:
630 movslq (%r11), %rax
631 movzbl (%r15,%rax), %r9d
632 leal 1(%rax), %r10d
633 movl %r10d, (%r11)
634 testq %r9, %r9
635 movq %r9, %r8
636 jne .L681
637 subq $4, %r11
638 addl $1, %esi
639 cmpq %r11, %rbx
640 jne .L84
641 .L680:
642 movq -72(%rbp), %r13
643 movq %r12, -88(%rbp)
644 jmp .L48
645 .L53:
646 cmpq $-1, %rax
647 cmove %r12, %rax
648 jmp .L73
649 .L65:
650 addl $1, %esi
651 movq $-1, %rax
652 jmp .L73
653 .L672:
654 movq %r13, %rdi
655 call utf8_encode.part.0
656 movslq %eax, %rdx
657 leaq (%rdx,%r14), %rdi
658 leaq (%r10,%rdi), %rax
659 cmpq %rax, -96(%rbp)
660 jbe .L58
661 testq %rdx, %rdx
662 je .L60
663 movq -128(%rbp), %rsi
664 movzbl -55(%rbp), %ecx
665 xorl %eax, %eax
666 addq %r14, %rsi
667 jmp .L61
668 .p2align 4,,10
669 .p2align 3
670 .L682:
671 movzbl 0(%r13,%rax), %ecx
672 .L61:
673 movb %cl, (%rsi,%rax)
674 addq $1, %rax
675 cmpq %rax, %rdx
676 ja .L682
677 jmp .L60
678 .L669:
679 testq %rcx, %rcx
680 leaq -1(%rcx), %r11
681 movq $-1, %rdx
682 je .L45
683 movq -128(%rbp), %rbx
684 cltq
685 xorl %edx, %edx
686 addq %r15, %rax
687 leaq (%rbx,%r10), %r9
688 .p2align 4,,10
689 .p2align 3
690 .L46:
691 movzbl (%rax,%rdx), %r10d
692 movb %r10b, (%r9,%rdx)
693 addq $1, %rdx
694 cmpq %rdx, %rcx
695 jne .L46
696 leal 2(%rdi,%r11), %eax
697 movq %r8, %r10
698 movq $-1, %rdx
699 movl %eax, (%r12,%rsi,4)
700 jmp .L45
701 .L673:
702 movq -128(%rbp), %rax
703 movl $1, %edx
704 movb %sil, (%rax,%r14)
705 .L60:
706 movq -128(%rbp), %rsi
707 movslq %r11d, %rcx
708 xorl %eax, %eax
709 addq %r15, %rcx
710 addq %rdi, %rsi
711 .p2align 4,,10
712 .p2align 3
713 .L62:
714 movzbl (%rcx,%rax), %edi
715 movb %dil, (%rsi,%rax)
716 addq $1, %rax
717 cmpq %rax, %r10
718 jne .L62
719 jmp .L58
720 .L662:
721 addq $1, %rax
722 movq %r15, %rbx
723 movq -208(%rbp), %rsi
724 cmpq %r15, %rax
725 movq -128(%rbp), %rdi
726 cmovbe %rax, %rbx
727 movq %rbx, %rdx
728 call __GI___stpncpy
729 jmp .L10
730 .L365:
731 xorl %edx, %edx
732 jmp .L19
733 .L676:
734 movq %r13, %rdi
735 call utf8_encode.part.0
736 movslq %eax, %rdx
737 leaq (%rdx,%r14), %rdi
738 leaq (%r8,%rdi), %rax
739 cmpq %rax, -96(%rbp)
740 jbe .L68
741 testq %rdx, %rdx
742 je .L70
743 movq -128(%rbp), %rsi
744 movzbl -55(%rbp), %ecx
745 xorl %eax, %eax
746 addq %r14, %rsi
747 jmp .L71
748 .p2align 4,,10
749 .p2align 3
750 .L683:
751 movzbl 0(%r13,%rax), %ecx
752 .L71:
753 movb %cl, (%rsi,%rax)
754 addq $1, %rax
755 cmpq %rax, %rdx
756 ja .L683
757 .L70:
758 movq -128(%rbp), %rsi
759 movslq %r10d, %rcx
760 xorl %eax, %eax
761 addq %r15, %rcx
762 addq %rdi, %rsi
763 .L72:
764 movzbl (%rcx,%rax), %edi
765 movb %dil, (%rsi,%rax)
766 addq $1, %rax
767 cmpq %rax, %r8
768 jne .L72
769 jmp .L68
770 .L678:
771 movq %r13, %rdi
772 call utf8_encode.part.0
773 movslq %eax, %rdx
774 leaq (%rdx,%r12), %rdi
775 leaq (%r9,%rdi), %rax
776 cmpq %rax, -96(%rbp)
777 jbe .L78
778 testq %rdx, %rdx
779 je .L80
780 movq -128(%rbp), %rsi
781 movzbl -55(%rbp), %ecx
782 xorl %eax, %eax
783 addq %r12, %rsi
784 jmp .L81
785 .p2align 4,,10
786 .p2align 3
787 .L684:
788 movzbl 0(%r13,%rax), %ecx
789 .L81:
790 movb %cl, (%rsi,%rax)
791 addq $1, %rax
792 cmpq %rax, %rdx
793 ja .L684
794 .L80:
795 movq -128(%rbp), %rsi
796 movslq %r10d, %rcx
797 xorl %eax, %eax
798 addq %r15, %rcx
799 addq %rdi, %rsi
800 .L82:
801 movzbl (%rcx,%rax), %edi
802 movb %dil, (%rsi,%rax)
803 addq $1, %rax
804 cmpq %rax, %r9
805 jne .L82
806 jmp .L78
807 .L677:
808 movq -128(%rbp), %rax
809 movl $1, %edx
810 movb %sil, (%rax,%r14)
811 jmp .L70
812 .L679:
813 movq -128(%rbp), %rax
814 movl $1, %edx
815 movb %sil, (%rax,%r12)
816 jmp .L80
817 .L671:
818 cmpq $2, %rax
819 jbe .L10
820 movq -136(%rbp), %rdx
821 addq $1, %rdx
822 cmpq %rdx, %rax
823 jne .L10
824 .L661:
825 movq -88(%rbp), %rbx
826 cmpq %rbx, -96(%rbp)
827 leaq -1(%rbx), %rax
828 jb .L659
829 movq -128(%rbp), %rdi
830 movb $0, -1(%rdi,%rbx)
831 .L659:
832 movq %rax, -88(%rbp)
833 jmp .L10
834 .L666:
835 movq -112(%rbp), %rax
836 movq -88(%rbp), %r15
837 movq $0, -216(%rbp)
838 movq $0, -152(%rbp)
839 movb $0, 4095(%rax)
840 leaq -55(%rbp), %rax
841 movq %rax, -224(%rbp)
842 .L321:
843 movq -208(%rbp), %rax
844 movq -72(%rbp), %rbx
845 movl -152(%rbp), %r14d
846 movzbl (%rax), %edx
847 movq %rdx, %rax
848 movslq (%rbx,%rdx,4), %rdx
849 testq %rdx, %rdx
850 movq %rdx, %rbx
851 js .L685
852 .L88:
853 sarl $24, %ebx
854 movslq %r14d, %rcx
855 movzbl %bl, %edx
856 imulq -104(%rbp), %rdx
857 addq -200(%rbp), %rdx
858 testb $4, (%rdx,%rcx)
859 je .L381
860 movq -216(%rbp), %rbx
861 xorl %r12d, %r12d
862 testb %al, %al
863 movq -208(%rbp), %rsi
864 movl $1, -112(%rbp)
865 movq %r12, %r13
866 movq $0, -80(%rbp)
867 movq %rbx, -88(%rbp)
868 movl %r14d, %ebx
869 movq %r15, %r14
870 movl %ebx, %r15d
871 je .L686
872 .p2align 4,,10
873 .p2align 3
874 .L266:
875 leaq 1(%rsi), %rbx
876 movq %rbx, -176(%rbp)
877 movq -72(%rbp), %rbx
878 movslq (%rbx,%rax,4), %rax
879 testq %rax, %rax
880 movq %rax, %rdi
881 js .L687
882 .L182:
883 movl %edi, %eax
884 andl $16777215, %edi
885 leal 1(%rdi), %ebx
886 movslq %edi, %rdi
887 shrl $24, %eax
888 movzbl (%r14,%rdi), %ecx
889 testl %r15d, %r15d
890 movl %ebx, -188(%rbp)
891 movq %rcx, -160(%rbp)
892 jle .L200
893 xorl %edx, %edx
894 movl %ebx, %edi
895 .p2align 4,,10
896 .p2align 3
897 .L201:
898 addl %edi, %ecx
899 addl $1, %edx
900 leal 1(%rcx), %edi
901 cmpl %edx, %r15d
902 movslq %ecx, %rcx
903 movzbl (%r14,%rcx), %ecx
904 jne .L201
905 movl %edi, -188(%rbp)
906 movq %rcx, -160(%rbp)
907 .L200:
908 movzbl %al, %eax
909 movq -200(%rbp), %rdx
910 addq -152(%rbp), %rdx
911 imulq -104(%rbp), %rax
912 testb $1, (%rdx,%rax)
913 je .L202
914 testq %r13, %r13
915 je .L203
916 cmpq $0, -80(%rbp)
917 je .L203
918 leaq 1(%r13), %rax
919 movq %rax, -184(%rbp)
920 .p2align 4,,10
921 .p2align 3
922 .L255:
923 movzbl 0(%r13), %eax
924 movq -72(%rbp), %rbx
925 movq -184(%rbp), %rcx
926 movslq (%rbx,%rax,4), %rax
927 testq %rax, %rax
928 movq %rax, %rsi
929 js .L688
930 .L204:
931 andl $16777215, %esi
932 testl %r15d, %r15d
933 leal 1(%rsi), %r9d
934 movslq %esi, %rsi
935 movzbl (%r14,%rsi), %r8d
936 jle .L222
937 xorl %eax, %eax
938 .p2align 4,,10
939 .p2align 3
940 .L223:
941 addl %r9d, %r8d
942 addl $1, %eax
943 leal 1(%r8), %r9d
944 cmpl %eax, %r15d
945 movslq %r8d, %r8
946 movzbl (%r14,%r8), %r8d
947 jne .L223
948 .L222:
949 cmpq $1, -80(%rbp)
950 jbe .L224
951 movl $1, %r12d
952 movq %r13, -168(%rbp)
953 .p2align 4,,10
954 .p2align 3
955 .L245:
956 movzbl (%rcx), %eax
957 movq -72(%rbp), %rbx
958 leaq 1(%rcx), %r13
959 movslq (%rbx,%rax,4), %rax
960 testq %rax, %rax
961 movq %rax, %rdi
962 js .L689
963 movq %r13, %rcx
964 .L225:
965 andl $16777215, %edi
966 testl %r15d, %r15d
967 leal 1(%rdi), %r9d
968 movslq %edi, %rdi
969 movzbl (%r14,%rdi), %eax
970 jle .L243
971 xorl %edx, %edx
972 .p2align 4,,10
973 .p2align 3
974 .L244:
975 addl %r9d, %eax
976 addl $1, %edx
977 leal 1(%rax), %r9d
978 cmpl %edx, %r15d
979 cltq
980 movzbl (%r14,%rax), %eax
981 jne .L244
982 .L243:
983 addq $1, %r12
984 cmpq -80(%rbp), %r12
985 jne .L245
986 movq -168(%rbp), %r13
987 movq %rax, %r8
988 .L224:
989 testq %r8, %r8
990 je .L246
991 cmpl $127, -112(%rbp)
992 jg .L690
993 movzbl -112(%rbp), %eax
994 movl $1, %edx
995 movb %al, -55(%rbp)
996 movq -88(%rbp), %rax
997 leaq 1(%rax), %rsi
998 leaq (%rsi,%r8), %rax
999 cmpq %rax, -96(%rbp)
1000 ja .L691
1001 .L249:
1002 addq -88(%rbp), %r8
1003 movl $1, -112(%rbp)
1004 leaq (%rdx,%r8), %rax
1005 movq %rax, -88(%rbp)
1006 .L254:
1007 subq $1, -80(%rbp)
1008 jne .L255
1009 .L203:
1010 cmpq $0, -160(%rbp)
1011 je .L256
1012 cmpl $127, -112(%rbp)
1013 jg .L692
1014 movzbl -112(%rbp), %eax
1015 movl $1, %esi
1016 movb %al, -55(%rbp)
1017 movq -88(%rbp), %rax
1018 leaq 1(%rax), %rdi
1019 movq -160(%rbp), %rax
1020 addq %rdi, %rax
1021 cmpq %rax, -96(%rbp)
1022 ja .L693
1023 .L259:
1024 movq -88(%rbp), %r8
1025 addq -160(%rbp), %r8
1026 xorl %r13d, %r13d
1027 movl $1, -112(%rbp)
1028 leaq (%rsi,%r8), %rax
1029 movq %rax, -88(%rbp)
1030 .L264:
1031 movq -176(%rbp), %rsi
1032 movzbl (%rsi), %eax
1033 testb %al, %al
1034 jne .L266
1035 .L686:
1036 movl %r15d, %eax
1037 testq %r13, %r13
1038 movq %r14, %r15
1039 movl %eax, %r14d
1040 je .L157
1041 cmpq $0, -80(%rbp)
1042 je .L157
1043 leaq 1(%r13), %rax
1044 movq %rax, -168(%rbp)
1045 .L319:
1046 movzbl 0(%r13), %eax
1047 movq -72(%rbp), %rbx
1048 movq -168(%rbp), %rcx
1049 movslq (%rbx,%rax,4), %rax
1050 testq %rax, %rax
1051 movq %rax, %rsi
1052 js .L694
1053 .L268:
1054 andl $16777215, %esi
1055 testl %r14d, %r14d
1056 leal 1(%rsi), %r9d
1057 movslq %esi, %rsi
1058 movzbl (%r15,%rsi), %r8d
1059 jle .L286
1060 xorl %eax, %eax
1061 .p2align 4,,10
1062 .p2align 3
1063 .L287:
1064 leal (%r9,%r8), %edx
1065 addl $1, %eax
1066 cmpl %eax, %r14d
1067 leal 1(%rdx), %r9d
1068 movslq %edx, %rdx
1069 movzbl (%r15,%rdx), %r8d
1070 jne .L287
1071 .L286:
1072 cmpq $1, -80(%rbp)
1073 jbe .L288
1074 movl $1, %r12d
1075 movq %r13, -160(%rbp)
1076 .p2align 4,,10
1077 .p2align 3
1078 .L309:
1079 movzbl (%rcx), %eax
1080 movq -72(%rbp), %rbx
1081 leaq 1(%rcx), %r13
1082 movslq (%rbx,%rax,4), %rax
1083 testq %rax, %rax
1084 movq %rax, %rdi
1085 js .L695
1086 movq %r13, %rcx
1087 .L289:
1088 andl $16777215, %edi
1089 testl %r14d, %r14d
1090 leal 1(%rdi), %r9d
1091 movslq %edi, %rdi
1092 movzbl (%r15,%rdi), %eax
1093 jle .L307
1094 xorl %edx, %edx
1095 .p2align 4,,10
1096 .p2align 3
1097 .L308:
1098 addl %r9d, %eax
1099 addl $1, %edx
1100 leal 1(%rax), %r9d
1101 cmpl %edx, %r14d
1102 cltq
1103 movzbl (%r15,%rax), %eax
1104 jne .L308
1105 .L307:
1106 addq $1, %r12
1107 cmpq -80(%rbp), %r12
1108 jne .L309
1109 movq -160(%rbp), %r13
1110 movq %rax, %r8
1111 .L288:
1112 testq %r8, %r8
1113 je .L310
1114 cmpl $127, -112(%rbp)
1115 jg .L696
1116 movzbl -112(%rbp), %eax
1117 movl $1, %edx
1118 movb %al, -55(%rbp)
1119 movq -88(%rbp), %rax
1120 leaq 1(%rax), %rsi
1121 leaq (%rsi,%r8), %rax
1122 cmpq %rax, -96(%rbp)
1123 ja .L697
1124 .L313:
1125 addq -88(%rbp), %r8
1126 movl $1, -112(%rbp)
1127 leaq (%rdx,%r8), %rax
1128 movq %rax, -88(%rbp)
1129 .L318:
1130 subq $1, -80(%rbp)
1131 jne .L319
1132 .L157:
1133 addq $1, -152(%rbp)
1134 movq -88(%rbp), %rbx
1135 cmpq %rbx, -96(%rbp)
1136 movq -152(%rbp), %rax
1137 jbe .L320
1138 cmpq %rax, -104(%rbp)
1139 movq -128(%rbp), %rax
1140 seta (%rax,%rbx)
1141 .L320:
1142 movq -88(%rbp), %rax
1143 movq -152(%rbp), %rdi
1144 addq $1, %rax
1145 cmpq %rdi, -104(%rbp)
1146 je .L698
1147 movq %rax, -216(%rbp)
1148 jmp .L321
1149 .p2align 4,,10
1150 .p2align 3
1151 .L689:
1152 movq -120(%rbp), %rdx
1153 subq %rax, %rdx
1154 .p2align 4,,10
1155 .p2align 3
1156 .L226:
1157 movslq (%rdx), %rdi
1158 leaq 5(%rdx), %rsi
1159 movzbl 4(%rdx), %eax
1160 testl %edi, %edi
1161 js .L699
1162 .L227:
1163 testq %rax, %rax
1164 je .L417
1165 movzbl 1(%rcx), %ebx
1166 cmpb %bl, 5(%rdx)
1167 jne .L232
1168 xorl %edx, %edx
1169 jmp .L233
1170 .p2align 4,,10
1171 .p2align 3
1172 .L234:
1173 movzbl 1(%rcx,%rdx), %ebx
1174 cmpb %bl, (%rsi,%rdx)
1175 jne .L232
1176 .L233:
1177 addq $1, %rdx
1178 cmpq %rdx, %rax
1179 jne .L234
1180 leaq 0(%r13,%rdx), %rcx
1181 jmp .L225
1182 .p2align 4,,10
1183 .p2align 3
1184 .L232:
1185 leaq (%rsi,%rax), %rdx
1186 addq $1, %rax
1187 andl $3, %eax
1188 je .L226
1189 movl $4, %ebx
1190 subq %rax, %rbx
1191 addq %rbx, %rdx
1192 movslq (%rdx), %rdi
1193 leaq 5(%rdx), %rsi
1194 movzbl 4(%rdx), %eax
1195 testl %edi, %edi
1196 jns .L227
1197 .L699:
1198 testq %rax, %rax
1199 je .L415
1200 movzbl 5(%rdx), %r9d
1201 movzbl 1(%rcx), %r8d
1202 cmpb %r9b, %r8b
1203 jne .L416
1204 xorl %edx, %edx
1205 jmp .L230
1206 .p2align 4,,10
1207 .p2align 3
1208 .L236:
1209 movzbl (%rsi,%rdx), %r11d
1210 movzbl 1(%rcx,%rdx), %r10d
1211 cmpb %r10b, %r11b
1212 jne .L229
1213 .L230:
1214 addq $1, %rdx
1215 cmpq %rdx, %rax
1216 jne .L236
1217 xorl %eax, %eax
1218 .L228:
1219 movq -144(%rbp), %rbx
1220 subq %rdi, %rax
1221 leaq 0(%r13,%rdx), %rcx
1222 movl (%rbx,%rax,4), %edi
1223 jmp .L225
1224 .L416:
1225 movl %r8d, %r10d
1226 movl %r9d, %r11d
1227 .p2align 4,,10
1228 .p2align 3
1229 .L229:
1230 cmpb %r10b, %r11b
1231 ja .L339
1232 leaq (%rsi,%rax), %rbx
1233 movzbl (%rbx), %edx
1234 cmpb %dl, %r8b
1235 movb %dl, -136(%rbp)
1236 jne .L418
1237 xorl %edx, %edx
1238 jmp .L238
1239 .p2align 4,,10
1240 .p2align 3
1241 .L239:
1242 movzbl (%rbx,%rdx), %r11d
1243 movzbl 1(%rcx,%rdx), %r10d
1244 cmpb %r10b, %r11b
1245 jne .L237
1246 .L238:
1247 addq $1, %rdx
1248 cmpq %rdx, %rax
1249 jne .L239
1250 movzbl -136(%rbp), %r8d
1251 .L340:
1252 xorl %r10d, %r10d
1253 cmpb %r8b, %r9b
1254 jne .L241
1255 .p2align 4,,10
1256 .p2align 3
1257 .L240:
1258 addq $1, %r10
1259 movzbl (%rsi,%r10), %r9d
1260 movzbl 1(%rcx,%r10), %r8d
1261 cmpb %r8b, %r9b
1262 je .L240
1263 .L241:
1264 movl %r9d, %r11d
1265 xorl %eax, %eax
1266 movl %r8d, %r9d
1267 jmp .L242
1268 .p2align 4,,10
1269 .p2align 3
1270 .L700:
1271 movzbl 1(%rcx,%r10), %r9d
1272 movzbl (%rsi,%r10), %r11d
1273 .L242:
1274 movzbl %r9b, %r8d
1275 movzbl %r11b, %r9d
1276 salq $8, %rax
1277 subl %r9d, %r8d
1278 addq $1, %r10
1279 movslq %r8d, %r8
1280 addq %r8, %rax
1281 cmpq %r10, %rdx
1282 ja .L700
1283 jmp .L228
1284 .p2align 4,,10
1285 .p2align 3
1286 .L339:
1287 addq %rax, %rax
1288 leaq 4(%rax), %rdx
1289 addq $1, %rax
1290 andl $3, %eax
1291 subq %rax, %rdx
1292 addq %rsi, %rdx
1293 jmp .L226
1294 .L418:
1295 movzbl -136(%rbp), %r11d
1296 movl %r8d, %r10d
1297 .p2align 4,,10
1298 .p2align 3
1299 .L237:
1300 cmpb %r10b, %r11b
1301 jb .L339
1302 movq %rax, %rdx
1303 jmp .L340
1304 .p2align 4,,10
1305 .p2align 3
1306 .L417:
1307 xorl %edx, %edx
1308 leaq 0(%r13,%rdx), %rcx
1309 jmp .L225
1310 .p2align 4,,10
1311 .p2align 3
1312 .L246:
1313 addl $1, -112(%rbp)
1314 jmp .L254
1315 .L202:
1316 testq %r13, %r13
1317 cmove %rsi, %r13
1318 addq $1, -80(%rbp)
1319 jmp .L264
1320 .L415:
1321 xorl %edx, %edx
1322 jmp .L228
1323 .L688:
1324 movq -120(%rbp), %rcx
1325 movl $4, %r12d
1326 subq %rax, %rcx
1327 .p2align 4,,10
1328 .p2align 3
1329 .L205:
1330 movslq (%rcx), %rsi
1331 leaq 5(%rcx), %rdx
1332 movzbl 4(%rcx), %eax
1333 testl %esi, %esi
1334 js .L701
1335 .L206:
1336 testq %rax, %rax
1337 je .L411
1338 movzbl 5(%rcx), %ebx
1339 cmpb %bl, 1(%r13)
1340 jne .L211
1341 xorl %ecx, %ecx
1342 jmp .L212
1343 .p2align 4,,10
1344 .p2align 3
1345 .L213:
1346 movzbl 1(%r13,%rcx), %ebx
1347 cmpb %bl, (%rdx,%rcx)
1348 jne .L211
1349 .L212:
1350 addq $1, %rcx
1351 cmpq %rcx, %rax
1352 jne .L213
1353 addq -184(%rbp), %rcx
1354 jmp .L204
1355 .p2align 4,,10
1356 .p2align 3
1357 .L211:
1358 leaq (%rdx,%rax), %rcx
1359 addq $1, %rax
1360 andl $3, %eax
1361 je .L205
1362 movq %r12, %rbx
1363 subq %rax, %rbx
1364 addq %rbx, %rcx
1365 movslq (%rcx), %rsi
1366 leaq 5(%rcx), %rdx
1367 movzbl 4(%rcx), %eax
1368 testl %esi, %esi
1369 jns .L206
1370 .L701:
1371 testq %rax, %rax
1372 je .L409
1373 movzbl 5(%rcx), %r8d
1374 movzbl 1(%r13), %edi
1375 cmpb %r8b, %dil
1376 jne .L410
1377 xorl %ecx, %ecx
1378 jmp .L209
1379 .p2align 4,,10
1380 .p2align 3
1381 .L215:
1382 movzbl (%rdx,%rcx), %r10d
1383 movzbl 1(%r13,%rcx), %r9d
1384 cmpb %r9b, %r10b
1385 jne .L208
1386 .L209:
1387 addq $1, %rcx
1388 cmpq %rcx, %rax
1389 jne .L215
1390 xorl %eax, %eax
1391 .L207:
1392 movq -144(%rbp), %rbx
1393 subq %rsi, %rax
1394 addq -184(%rbp), %rcx
1395 movl (%rbx,%rax,4), %esi
1396 jmp .L204
1397 .L410:
1398 movl %edi, %r9d
1399 movl %r8d, %r10d
1400 .L208:
1401 cmpb %r9b, %r10b
1402 ja .L337
1403 leaq (%rdx,%rax), %r11
1404 movzbl (%r11), %ebx
1405 cmpb %bl, %dil
1406 jne .L412
1407 xorl %ecx, %ecx
1408 jmp .L217
1409 .p2align 4,,10
1410 .p2align 3
1411 .L218:
1412 movzbl (%r11,%rcx), %r10d
1413 movzbl 1(%r13,%rcx), %r9d
1414 cmpb %r9b, %r10b
1415 jne .L216
1416 .L217:
1417 addq $1, %rcx
1418 cmpq %rcx, %rax
1419 jne .L218
1420 movzbl %bl, %edi
1421 .L338:
1422 xorl %r9d, %r9d
1423 cmpb %dil, %r8b
1424 jne .L220
1425 .p2align 4,,10
1426 .p2align 3
1427 .L219:
1428 addq $1, %r9
1429 movzbl (%rdx,%r9), %r8d
1430 movzbl 1(%r13,%r9), %edi
1431 cmpb %dil, %r8b
1432 je .L219
1433 .L220:
1434 xorl %eax, %eax
1435 jmp .L221
1436 .p2align 4,,10
1437 .p2align 3
1438 .L702:
1439 movzbl 1(%r13,%r9), %edi
1440 movzbl (%rdx,%r9), %r8d
1441 .L221:
1442 subl %r8d, %edi
1443 salq $8, %rax
1444 addq $1, %r9
1445 movslq %edi, %rdi
1446 addq %rdi, %rax
1447 cmpq %rcx, %r9
1448 jb .L702
1449 jmp .L207
1450 .L337:
1451 addq %rax, %rax
1452 leaq 4(%rax), %rcx
1453 addq $1, %rax
1454 andl $3, %eax
1455 subq %rax, %rcx
1456 addq %rdx, %rcx
1457 jmp .L205
1458 .L412:
1459 movl %edi, %r9d
1460 movl %ebx, %r10d
1461 .L216:
1462 cmpb %r9b, %r10b
1463 jb .L337
1464 movq %rax, %rcx
1465 jmp .L338
1466 .L690:
1467 movl -112(%rbp), %esi
1468 movq -224(%rbp), %rdi
1469 call utf8_encode.part.0
1470 movslq %eax, %rdx
1471 movq -88(%rbp), %rax
1472 leaq (%rdx,%rax), %rsi
1473 leaq (%rsi,%r8), %rax
1474 cmpq %rax, -96(%rbp)
1475 jbe .L249
1476 testq %rdx, %rdx
1477 je .L251
1478 movq -128(%rbp), %rbx
1479 movq -88(%rbp), %rdi
1480 xorl %eax, %eax
1481 movzbl -55(%rbp), %ecx
1482 movq -224(%rbp), %r10
1483 addq %rbx, %rdi
1484 jmp .L252
1485 .p2align 4,,10
1486 .p2align 3
1487 .L703:
1488 movzbl (%r10,%rax), %ecx
1489 .L252:
1490 movb %cl, (%rdi,%rax)
1491 addq $1, %rax
1492 cmpq %rax, %rdx
1493 ja .L703
1494 .L251:
1495 movq -128(%rbp), %rbx
1496 movslq %r9d, %r9
1497 xorl %eax, %eax
1498 leaq (%rbx,%rsi), %rcx
1499 leaq (%r14,%r9), %rsi
1500 .p2align 4,,10
1501 .p2align 3
1502 .L253:
1503 movzbl (%rsi,%rax), %edi
1504 movb %dil, (%rcx,%rax)
1505 addq $1, %rax
1506 cmpq %r8, %rax
1507 jne .L253
1508 jmp .L249
1509 .L256:
1510 addl $1, -112(%rbp)
1511 xorl %r13d, %r13d
1512 jmp .L264
1513 .L687:
1514 movq -120(%rbp), %rdx
1515 movl $4, %r12d
1516 subq %rax, %rdx
1517 .p2align 4,,10
1518 .p2align 3
1519 .L183:
1520 movslq (%rdx), %rdi
1521 leaq 5(%rdx), %rcx
1522 movzbl 4(%rdx), %eax
1523 testl %edi, %edi
1524 js .L704
1525 .L184:
1526 testq %rax, %rax
1527 je .L405
1528 movzbl 5(%rdx), %ebx
1529 cmpb %bl, 1(%rsi)
1530 jne .L189
1531 xorl %edx, %edx
1532 jmp .L190
1533 .p2align 4,,10
1534 .p2align 3
1535 .L191:
1536 movzbl 1(%rsi,%rdx), %ebx
1537 cmpb %bl, (%rcx,%rdx)
1538 jne .L189
1539 .L190:
1540 addq $1, %rdx
1541 cmpq %rdx, %rax
1542 jne .L191
1543 addq %rdx, -176(%rbp)
1544 jmp .L182
1545 .p2align 4,,10
1546 .p2align 3
1547 .L189:
1548 leaq (%rcx,%rax), %rdx
1549 addq $1, %rax
1550 andl $3, %eax
1551 je .L183
1552 movq %r12, %rbx
1553 subq %rax, %rbx
1554 addq %rbx, %rdx
1555 movslq (%rdx), %rdi
1556 leaq 5(%rdx), %rcx
1557 movzbl 4(%rdx), %eax
1558 testl %edi, %edi
1559 jns .L184
1560 .L704:
1561 testq %rax, %rax
1562 je .L403
1563 movzbl 5(%rdx), %r9d
1564 movzbl 1(%rsi), %r8d
1565 cmpb %r9b, %r8b
1566 jne .L404
1567 xorl %edx, %edx
1568 jmp .L187
1569 .p2align 4,,10
1570 .p2align 3
1571 .L193:
1572 movzbl (%rcx,%rdx), %r11d
1573 movzbl 1(%rsi,%rdx), %r10d
1574 cmpb %r10b, %r11b
1575 jne .L186
1576 .L187:
1577 addq $1, %rdx
1578 cmpq %rdx, %rax
1579 jne .L193
1580 xorl %eax, %eax
1581 .L185:
1582 movq -144(%rbp), %rbx
1583 subq %rdi, %rax
1584 addq %rdx, -176(%rbp)
1585 movl (%rbx,%rax,4), %edi
1586 jmp .L182
1587 .L404:
1588 movl %r8d, %r10d
1589 movl %r9d, %r11d
1590 .L186:
1591 cmpb %r10b, %r11b
1592 ja .L335
1593 leaq (%rcx,%rax), %rbx
1594 movzbl (%rbx), %edx
1595 cmpb %dl, %r8b
1596 movb %dl, -136(%rbp)
1597 jne .L406
1598 xorl %edx, %edx
1599 jmp .L195
1600 .p2align 4,,10
1601 .p2align 3
1602 .L196:
1603 movzbl (%rbx,%rdx), %r11d
1604 movzbl 1(%rsi,%rdx), %r10d
1605 cmpb %r10b, %r11b
1606 jne .L194
1607 .L195:
1608 addq $1, %rdx
1609 cmpq %rdx, %rax
1610 jne .L196
1611 movzbl -136(%rbp), %r8d
1612 .L336:
1613 xorl %r10d, %r10d
1614 cmpb %r8b, %r9b
1615 jne .L198
1616 .p2align 4,,10
1617 .p2align 3
1618 .L197:
1619 addq $1, %r10
1620 movzbl (%rcx,%r10), %r9d
1621 movzbl 1(%rsi,%r10), %r8d
1622 cmpb %r8b, %r9b
1623 je .L197
1624 .L198:
1625 xorl %eax, %eax
1626 jmp .L199
1627 .p2align 4,,10
1628 .p2align 3
1629 .L705:
1630 movzbl 1(%rsi,%r10), %r8d
1631 movzbl (%rcx,%r10), %r9d
1632 .L199:
1633 salq $8, %rax
1634 addq $1, %r10
1635 movq %rax, %r11
1636 movzbl %r8b, %eax
1637 movzbl %r9b, %r8d
1638 subl %r8d, %eax
1639 cltq
1640 addq %r11, %rax
1641 cmpq %rdx, %r10
1642 jb .L705
1643 jmp .L185
1644 .L335:
1645 addq %rax, %rax
1646 leaq 4(%rax), %rdx
1647 addq $1, %rax
1648 andl $3, %eax
1649 subq %rax, %rdx
1650 addq %rcx, %rdx
1651 jmp .L183
1652 .L406:
1653 movzbl -136(%rbp), %r11d
1654 movl %r8d, %r10d
1655 .L194:
1656 cmpb %r10b, %r11b
1657 jb .L335
1658 movq %rax, %rdx
1659 jmp .L336
1660 .p2align 4,,10
1661 .p2align 3
1662 .L695:
1663 movq -120(%rbp), %rdx
1664 subq %rax, %rdx
1665 .p2align 4,,10
1666 .p2align 3
1667 .L290:
1668 movslq (%rdx), %rdi
1669 leaq 5(%rdx), %rsi
1670 movzbl 4(%rdx), %eax
1671 testl %edi, %edi
1672 js .L706
1673 .L291:
1674 testq %rax, %rax
1675 je .L430
1676 movzbl 5(%rdx), %ebx
1677 cmpb %bl, 1(%rcx)
1678 jne .L296
1679 xorl %edx, %edx
1680 jmp .L297
1681 .p2align 4,,10
1682 .p2align 3
1683 .L298:
1684 movzbl 1(%rcx,%rdx), %ebx
1685 cmpb %bl, (%rsi,%rdx)
1686 jne .L296
1687 .L297:
1688 addq $1, %rdx
1689 cmpq %rdx, %rax
1690 jne .L298
1691 leaq 0(%r13,%rdx), %rcx
1692 jmp .L289
1693 .p2align 4,,10
1694 .p2align 3
1695 .L296:
1696 leaq (%rsi,%rax), %rdx
1697 addq $1, %rax
1698 andl $3, %eax
1699 je .L290
1700 movl $4, %ebx
1701 subq %rax, %rbx
1702 addq %rbx, %rdx
1703 movslq (%rdx), %rdi
1704 leaq 5(%rdx), %rsi
1705 movzbl 4(%rdx), %eax
1706 testl %edi, %edi
1707 jns .L291
1708 .L706:
1709 testq %rax, %rax
1710 je .L428
1711 movzbl 5(%rdx), %r9d
1712 movzbl 1(%rcx), %r8d
1713 cmpb %r8b, %r9b
1714 jne .L429
1715 xorl %edx, %edx
1716 jmp .L294
1717 .p2align 4,,10
1718 .p2align 3
1719 .L300:
1720 movzbl (%rsi,%rdx), %r11d
1721 movzbl 1(%rcx,%rdx), %r10d
1722 cmpb %r10b, %r11b
1723 jne .L293
1724 .L294:
1725 addq $1, %rdx
1726 cmpq %rdx, %rax
1727 jne .L300
1728 xorl %eax, %eax
1729 .L292:
1730 movq -144(%rbp), %rbx
1731 subq %rdi, %rax
1732 leaq 0(%r13,%rdx), %rcx
1733 movl (%rbx,%rax,4), %edi
1734 jmp .L289
1735 .L429:
1736 movl %r8d, %r10d
1737 movl %r9d, %r11d
1738 .p2align 4,,10
1739 .p2align 3
1740 .L293:
1741 cmpb %r10b, %r11b
1742 ja .L343
1743 leaq (%rsi,%rax), %rbx
1744 movzbl (%rbx), %edx
1745 cmpb %r8b, %dl
1746 movb %dl, -136(%rbp)
1747 jne .L431
1748 xorl %edx, %edx
1749 jmp .L302
1750 .p2align 4,,10
1751 .p2align 3
1752 .L303:
1753 movzbl (%rbx,%rdx), %r11d
1754 movzbl 1(%rcx,%rdx), %r10d
1755 cmpb %r10b, %r11b
1756 jne .L301
1757 .L302:
1758 addq $1, %rdx
1759 cmpq %rdx, %rax
1760 jne .L303
1761 movzbl -136(%rbp), %r8d
1762 .L344:
1763 xorl %r10d, %r10d
1764 cmpb %r8b, %r9b
1765 jne .L305
1766 .p2align 4,,10
1767 .p2align 3
1768 .L304:
1769 addq $1, %r10
1770 movzbl (%rsi,%r10), %r9d
1771 movzbl 1(%rcx,%r10), %r8d
1772 cmpb %r8b, %r9b
1773 je .L304
1774 .L305:
1775 xorl %eax, %eax
1776 jmp .L306
1777 .p2align 4,,10
1778 .p2align 3
1779 .L707:
1780 movzbl 1(%rcx,%r10), %r8d
1781 movzbl (%rsi,%r10), %r9d
1782 .L306:
1783 subl %r9d, %r8d
1784 salq $8, %rax
1785 addq $1, %r10
1786 movslq %r8d, %r8
1787 addq %r8, %rax
1788 cmpq %r10, %rdx
1789 ja .L707
1790 jmp .L292
1791 .p2align 4,,10
1792 .p2align 3
1793 .L343:
1794 addq %rax, %rax
1795 leaq 4(%rax), %rdx
1796 addq $1, %rax
1797 andl $3, %eax
1798 subq %rax, %rdx
1799 addq %rsi, %rdx
1800 jmp .L290
1801 .L431:
1802 movzbl -136(%rbp), %r11d
1803 movl %r8d, %r10d
1804 .L301:
1805 cmpb %r10b, %r11b
1806 jb .L343
1807 movq %rax, %rdx
1808 jmp .L344
1809 .L430:
1810 xorl %edx, %edx
1811 leaq 0(%r13,%rdx), %rcx
1812 jmp .L289
1813 .L310:
1814 addl $1, -112(%rbp)
1815 jmp .L318
1816 .L691:
1817 movzbl -112(%rbp), %edi
1818 movq -128(%rbp), %rax
1819 movl $1, %edx
1820 movq -88(%rbp), %rbx
1821 movb %dil, (%rax,%rbx)
1822 jmp .L251
1823 .L381:
1824 movq -216(%rbp), %rbx
1825 xorl %r13d, %r13d
1826 movq -208(%rbp), %rdi
1827 movq $0, -112(%rbp)
1828 movq %rbx, -88(%rbp)
1829 movq -200(%rbp), %rbx
1830 addq -152(%rbp), %rbx
1831 testb %al, %al
1832 movq %rbx, -136(%rbp)
1833 je .L708
1834 .p2align 4,,10
1835 .p2align 3
1836 .L156:
1837 leaq 1(%rdi), %rbx
1838 movq %rbx, -80(%rbp)
1839 movq -72(%rbp), %rbx
1840 movslq (%rbx,%rax,4), %rax
1841 testq %rax, %rax
1842 movq %rax, %rsi
1843 js .L709
1844 .L107:
1845 movl %esi, %eax
1846 andl $16777215, %esi
1847 shrl $24, %eax
1848 leal 1(%rsi), %r12d
1849 testl %r14d, %r14d
1850 movslq %esi, %rsi
1851 movzbl (%r15,%rsi), %esi
1852 jle .L125
1853 xorl %edx, %edx
1854 .p2align 4,,10
1855 .p2align 3
1856 .L126:
1857 leal (%r12,%rsi), %ecx
1858 addl $1, %edx
1859 cmpl %edx, %r14d
1860 leal 1(%rcx), %r12d
1861 movslq %ecx, %rcx
1862 movzbl (%r15,%rcx), %esi
1863 jne .L126
1864 .L125:
1865 movzbl %al, %eax
1866 movq -136(%rbp), %rbx
1867 imulq -104(%rbp), %rax
1868 testb $1, (%rbx,%rax)
1869 je .L127
1870 testq %r13, %r13
1871 movq -88(%rbp), %rax
1872 je .L128
1873 movq -112(%rbp), %rax
1874 testq %rax, %rax
1875 je .L129
1876 movq %rax, %rbx
1877 movl %r12d, -168(%rbp)
1878 movq %rsi, -176(%rbp)
1879 .p2align 4,,10
1880 .p2align 3
1881 .L152:
1882 movzbl 0(%r13), %eax
1883 movq -72(%rbp), %rdi
1884 leaq 1(%r13), %r12
1885 movslq (%rdi,%rax,4), %rax
1886 testq %rax, %rax
1887 movq %rax, %rsi
1888 js .L710
1889 movq %r12, %r13
1890 .L130:
1891 andl $16777215, %esi
1892 testl %r14d, %r14d
1893 leal 1(%rsi), %ecx
1894 movslq %esi, %rsi
1895 movzbl (%r15,%rsi), %eax
1896 jle .L148
1897 xorl %edx, %edx
1898 .p2align 4,,10
1899 .p2align 3
1900 .L149:
1901 addl %ecx, %eax
1902 addl $1, %edx
1903 leal 1(%rax), %ecx
1904 cmpl %edx, %r14d
1905 cltq
1906 movzbl (%r15,%rax), %eax
1907 jne .L149
1908 .L148:
1909 movq -88(%rbp), %rdi
1910 leaq (%rdi,%rbx), %rsi
1911 cmpq %rsi, -96(%rbp)
1912 ja .L711
1913 .L150:
1914 subq %rax, %rbx
1915 jne .L152
1916 movl -168(%rbp), %r12d
1917 movq -176(%rbp), %rsi
1918 .L129:
1919 movq -88(%rbp), %rax
1920 addq -112(%rbp), %rax
1921 movq $0, -112(%rbp)
1922 .L128:
1923 leaq (%rax,%rsi), %rbx
1924 xorl %r13d, %r13d
1925 cmpq %rbx, -96(%rbp)
1926 movq %rbx, -88(%rbp)
1927 ja .L712
1928 .L153:
1929 movq -80(%rbp), %rdi
1930 movzbl (%rdi), %eax
1931 testb %al, %al
1932 jne .L156
1933 .L708:
1934 testq %r13, %r13
1935 je .L157
1936 movq -112(%rbp), %r9
1937 testq %r9, %r9
1938 je .L158
1939 movl $4, %r12d
1940 .L181:
1941 movzbl 0(%r13), %eax
1942 movq -72(%rbp), %rdi
1943 leaq 1(%r13), %rbx
1944 movslq (%rdi,%rax,4), %rax
1945 testq %rax, %rax
1946 movq %rax, %rsi
1947 js .L713
1948 movq %rbx, %r13
1949 .L159:
1950 andl $16777215, %esi
1951 testl %r14d, %r14d
1952 leal 1(%rsi), %ecx
1953 movslq %esi, %rsi
1954 movzbl (%r15,%rsi), %eax
1955 jle .L177
1956 xorl %edx, %edx
1957 .p2align 4,,10
1958 .p2align 3
1959 .L178:
1960 addl %ecx, %eax
1961 addl $1, %edx
1962 leal 1(%rax), %ecx
1963 cmpl %edx, %r14d
1964 cltq
1965 movzbl (%r15,%rax), %eax
1966 jne .L178
1967 .L177:
1968 movq -88(%rbp), %rbx
1969 leaq (%rbx,%r9), %rdi
1970 cmpq %rdi, -96(%rbp)
1971 ja .L714
1972 .L179:
1973 subq %rax, %r9
1974 jne .L181
1975 .L158:
1976 movq -112(%rbp), %rbx
1977 addq %rbx, -88(%rbp)
1978 jmp .L157
1979 .L711:
1980 testq %rax, %rax
1981 je .L150
1982 subq %rax, %rsi
1983 addq -128(%rbp), %rsi
1984 movslq %ecx, %rcx
1985 leaq (%r15,%rcx), %rdi
1986 xorl %edx, %edx
1987 .p2align 4,,10
1988 .p2align 3
1989 .L151:
1990 movzbl (%rdi,%rdx), %ecx
1991 movb %cl, (%rsi,%rdx)
1992 addq $1, %rdx
1993 cmpq %rdx, %rax
1994 jne .L151
1995 jmp .L150
1996 .L127:
1997 testq %r13, %r13
1998 cmove %rdi, %r13
1999 addq %rsi, -112(%rbp)
2000 jmp .L153
2001 .L710:
2002 movq -120(%rbp), %rdx
2003 subq %rax, %rdx
2004 .p2align 4,,10
2005 .p2align 3
2006 .L131:
2007 movslq (%rdx), %rsi
2008 leaq 5(%rdx), %rcx
2009 movzbl 4(%rdx), %eax
2010 testl %esi, %esi
2011 js .L715
2012 .L132:
2013 testq %rax, %rax
2014 je .L391
2015 movzbl 1(%r13), %edi
2016 cmpb %dil, 5(%rdx)
2017 jne .L137
2018 xorl %edx, %edx
2019 jmp .L138
2020 .p2align 4,,10
2021 .p2align 3
2022 .L139:
2023 movzbl 1(%r13,%rdx), %edi
2024 cmpb %dil, (%rcx,%rdx)
2025 jne .L137
2026 .L138:
2027 addq $1, %rdx
2028 cmpq %rdx, %rax
2029 jne .L139
2030 leaq (%r12,%rdx), %r13
2031 jmp .L130
2032 .p2align 4,,10
2033 .p2align 3
2034 .L137:
2035 leaq (%rcx,%rax), %rdx
2036 addq $1, %rax
2037 andl $3, %eax
2038 je .L131
2039 movl $4, %edi
2040 subq %rax, %rdi
2041 addq %rdi, %rdx
2042 movslq (%rdx), %rsi
2043 leaq 5(%rdx), %rcx
2044 movzbl 4(%rdx), %eax
2045 testl %esi, %esi
2046 jns .L132
2047 .L715:
2048 testq %rax, %rax
2049 je .L389
2050 movzbl 5(%rdx), %r8d
2051 movzbl 1(%r13), %edi
2052 cmpb %r8b, %dil
2053 jne .L390
2054 xorl %edx, %edx
2055 jmp .L135
2056 .p2align 4,,10
2057 .p2align 3
2058 .L141:
2059 movzbl (%rcx,%rdx), %r10d
2060 movzbl 1(%r13,%rdx), %r9d
2061 cmpb %r9b, %r10b
2062 jne .L134
2063 .L135:
2064 addq $1, %rdx
2065 cmpq %rdx, %rax
2066 jne .L141
2067 xorl %eax, %eax
2068 .L133:
2069 movq -144(%rbp), %rdi
2070 subq %rsi, %rax
2071 leaq (%r12,%rdx), %r13
2072 movl (%rdi,%rax,4), %esi
2073 jmp .L130
2074 .L390:
2075 movl %edi, %r9d
2076 movl %r8d, %r10d
2077 .L134:
2078 cmpb %r9b, %r10b
2079 ja .L331
2080 leaq (%rcx,%rax), %r11
2081 movzbl (%r11), %edx
2082 cmpb %dl, %dil
2083 movb %dl, -160(%rbp)
2084 jne .L392
2085 xorl %edx, %edx
2086 jmp .L143
2087 .p2align 4,,10
2088 .p2align 3
2089 .L144:
2090 movzbl (%r11,%rdx), %r10d
2091 movzbl 1(%r13,%rdx), %r9d
2092 cmpb %r9b, %r10b
2093 jne .L142
2094 .L143:
2095 addq $1, %rdx
2096 cmpq %rdx, %rax
2097 jne .L144
2098 movzbl -160(%rbp), %edi
2099 .L332:
2100 xorl %r9d, %r9d
2101 cmpb %dil, %r8b
2102 jne .L146
2103 .p2align 4,,10
2104 .p2align 3
2105 .L145:
2106 addq $1, %r9
2107 movzbl (%rcx,%r9), %r8d
2108 movzbl 1(%r13,%r9), %edi
2109 cmpb %dil, %r8b
2110 je .L145
2111 .L146:
2112 xorl %eax, %eax
2113 jmp .L147
2114 .p2align 4,,10
2115 .p2align 3
2116 .L716:
2117 movzbl 1(%r13,%r9), %edi
2118 movzbl (%rcx,%r9), %r8d
2119 .L147:
2120 subl %r8d, %edi
2121 salq $8, %rax
2122 addq $1, %r9
2123 movslq %edi, %rdi
2124 addq %rdi, %rax
2125 cmpq %rdx, %r9
2126 jb .L716
2127 jmp .L133
2128 .L331:
2129 addq %rax, %rax
2130 leaq 4(%rax), %rdx
2131 addq $1, %rax
2132 andl $3, %eax
2133 subq %rax, %rdx
2134 addq %rcx, %rdx
2135 jmp .L131
2136 .L392:
2137 movzbl -160(%rbp), %r10d
2138 movl %edi, %r9d
2139 .L142:
2140 cmpb %r9b, %r10b
2141 jb .L331
2142 movq %rax, %rdx
2143 jmp .L332
2144 .L709:
2145 movq -120(%rbp), %rdx
2146 subq %rax, %rdx
2147 .p2align 4,,10
2148 .p2align 3
2149 .L108:
2150 movslq (%rdx), %rsi
2151 leaq 5(%rdx), %rcx
2152 movzbl 4(%rdx), %eax
2153 testl %esi, %esi
2154 js .L717
2155 .L109:
2156 testq %rax, %rax
2157 je .L384
2158 movzbl 1(%rdi), %ebx
2159 cmpb %bl, 5(%rdx)
2160 jne .L114
2161 xorl %edx, %edx
2162 jmp .L115
2163 .p2align 4,,10
2164 .p2align 3
2165 .L116:
2166 movzbl 1(%rdi,%rdx), %ebx
2167 cmpb %bl, (%rcx,%rdx)
2168 jne .L114
2169 .L115:
2170 addq $1, %rdx
2171 cmpq %rdx, %rax
2172 jne .L116
2173 addq %rdx, -80(%rbp)
2174 jmp .L107
2175 .p2align 4,,10
2176 .p2align 3
2177 .L114:
2178 leaq (%rcx,%rax), %rdx
2179 addq $1, %rax
2180 andl $3, %eax
2181 je .L108
2182 movl $4, %ebx
2183 subq %rax, %rbx
2184 addq %rbx, %rdx
2185 movslq (%rdx), %rsi
2186 leaq 5(%rdx), %rcx
2187 movzbl 4(%rdx), %eax
2188 testl %esi, %esi
2189 jns .L109
2190 .L717:
2191 testq %rax, %rax
2192 je .L382
2193 movzbl 5(%rdx), %r9d
2194 movzbl 1(%rdi), %r8d
2195 cmpb %r9b, %r8b
2196 jne .L383
2197 xorl %edx, %edx
2198 jmp .L112
2199 .p2align 4,,10
2200 .p2align 3
2201 .L118:
2202 movzbl (%rcx,%rdx), %r11d
2203 movzbl 1(%rdi,%rdx), %r10d
2204 cmpb %r10b, %r11b
2205 jne .L111
2206 .L112:
2207 addq $1, %rdx
2208 cmpq %rdx, %rax
2209 jne .L118
2210 xorl %eax, %eax
2211 .L110:
2212 movq -144(%rbp), %rbx
2213 subq %rsi, %rax
2214 addq %rdx, -80(%rbp)
2215 movl (%rbx,%rax,4), %esi
2216 jmp .L107
2217 .L383:
2218 movl %r8d, %r10d
2219 movl %r9d, %r11d
2220 .L111:
2221 cmpb %r10b, %r11b
2222 ja .L329
2223 leaq (%rcx,%rax), %rbx
2224 movzbl (%rbx), %r12d
2225 cmpb %r12b, %r8b
2226 jne .L385
2227 xorl %edx, %edx
2228 jmp .L120
2229 .p2align 4,,10
2230 .p2align 3
2231 .L121:
2232 movzbl (%rbx,%rdx), %r11d
2233 movzbl 1(%rdi,%rdx), %r10d
2234 cmpb %r10b, %r11b
2235 jne .L119
2236 .L120:
2237 addq $1, %rdx
2238 cmpq %rdx, %rax
2239 jne .L121
2240 movl %r12d, %r8d
2241 .L330:
2242 xorl %r10d, %r10d
2243 cmpb %r8b, %r9b
2244 jne .L123
2245 .p2align 4,,10
2246 .p2align 3
2247 .L122:
2248 addq $1, %r10
2249 movzbl (%rcx,%r10), %r9d
2250 movzbl 1(%rdi,%r10), %r8d
2251 cmpb %r8b, %r9b
2252 je .L122
2253 .L123:
2254 xorl %eax, %eax
2255 jmp .L124
2256 .p2align 4,,10
2257 .p2align 3
2258 .L718:
2259 movzbl 1(%rdi,%r10), %r8d
2260 movzbl (%rcx,%r10), %r9d
2261 .L124:
2262 salq $8, %rax
2263 addq $1, %r10
2264 movq %rax, %r11
2265 movzbl %r8b, %eax
2266 movzbl %r9b, %r8d
2267 subl %r8d, %eax
2268 cltq
2269 addq %r11, %rax
2270 cmpq %rdx, %r10
2271 jb .L718
2272 jmp .L110
2273 .L329:
2274 addq %rax, %rax
2275 leaq 4(%rax), %rdx
2276 addq $1, %rax
2277 andl $3, %eax
2278 subq %rax, %rdx
2279 addq %rcx, %rdx
2280 jmp .L108
2281 .L385:
2282 movl %r8d, %r10d
2283 movl %r12d, %r11d
2284 .L119:
2285 cmpb %r10b, %r11b
2286 jb .L329
2287 movq %rax, %rdx
2288 jmp .L330
2289 .L714:
2290 testq %rax, %rax
2291 je .L179
2292 movq -128(%rbp), %rbx
2293 subq %rax, %rdi
2294 movslq %ecx, %rdx
2295 xorl %esi, %esi
2296 addq %r15, %rdx
2297 leaq (%rbx,%rdi), %rcx
2298 .p2align 4,,10
2299 .p2align 3
2300 .L180:
2301 movzbl (%rdx,%rsi), %edi
2302 movb %dil, (%rcx,%rsi)
2303 addq $1, %rsi
2304 cmpq %rsi, %rax
2305 jne .L180
2306 jmp .L179
2307 .L712:
2308 testq %rsi, %rsi
2309 je .L395
2310 movq -128(%rbp), %rbx
2311 xorl %edx, %edx
2312 leaq (%rbx,%rax), %rcx
2313 movslq %r12d, %rax
2314 addq %r15, %rax
2315 .p2align 4,,10
2316 .p2align 3
2317 .L154:
2318 movzbl (%rax,%rdx), %edi
2319 movb %dil, (%rcx,%rdx)
2320 addq $1, %rdx
2321 cmpq %rdx, %rsi
2322 jne .L154
2323 xorl %r13d, %r13d
2324 jmp .L153
2325 .L428:
2326 xorl %edx, %edx
2327 jmp .L292
2328 .L391:
2329 xorl %edx, %edx
2330 leaq (%r12,%rdx), %r13
2331 jmp .L130
2332 .L411:
2333 xorl %ecx, %ecx
2334 addq -184(%rbp), %rcx
2335 jmp .L204
2336 .L685:
2337 movq -120(%rbp), %rsi
2338 movq -208(%rbp), %rdi
2339 movl $4, %r12d
2340 subq %rdx, %rsi
2341 .p2align 4,,10
2342 .p2align 3
2343 .L89:
2344 movslq (%rsi), %rbx
2345 leaq 5(%rsi), %rcx
2346 movzbl 4(%rsi), %edx
2347 testl %ebx, %ebx
2348 js .L719
2349 .L90:
2350 testq %rdx, %rdx
2351 je .L88
2352 movzbl 5(%rsi), %esi
2353 cmpb %sil, 1(%rdi)
2354 jne .L94
2355 xorl %esi, %esi
2356 .p2align 4,,10
2357 .p2align 3
2358 .L95:
2359 addq $1, %rsi
2360 cmpq %rsi, %rdx
2361 je .L88
2362 movzbl 1(%rdi,%rsi), %r11d
2363 cmpb %r11b, (%rcx,%rsi)
2364 je .L95
2365 .L94:
2366 leaq (%rcx,%rdx), %rsi
2367 addq $1, %rdx
2368 andl $3, %edx
2369 je .L89
2370 movq %r12, %rbx
2371 subq %rdx, %rbx
2372 addq %rbx, %rsi
2373 movslq (%rsi), %rbx
2374 leaq 5(%rsi), %rcx
2375 movzbl 4(%rsi), %edx
2376 testl %ebx, %ebx
2377 jns .L90
2378 .L719:
2379 testq %rdx, %rdx
2380 je .L377
2381 movzbl 5(%rsi), %esi
2382 movzbl 1(%rdi), %r8d
2383 cmpb %r8b, %sil
2384 jne .L378
2385 xorl %r9d, %r9d
2386 jmp .L93
2387 .p2align 4,,10
2388 .p2align 3
2389 .L98:
2390 movzbl (%rcx,%r9), %r11d
2391 movzbl 1(%rdi,%r9), %r10d
2392 cmpb %r10b, %r11b
2393 jne .L92
2394 .L93:
2395 addq $1, %r9
2396 cmpq %r9, %rdx
2397 jne .L98
2398 .L377:
2399 xorl %edi, %edi
2400 .L91:
2401 subq %rbx, %rdi
2402 movq -144(%rbp), %rbx
2403 movl (%rbx,%rdi,4), %ebx
2404 jmp .L88
2405 .L378:
2406 movl %r8d, %r10d
2407 movl %esi, %r11d
2408 .L92:
2409 cmpb %r10b, %r11b
2410 ja .L327
2411 leaq (%rcx,%rdx), %r13
2412 movzbl 0(%r13), %r11d
2413 cmpb %r11b, %r8b
2414 movb %r11b, -80(%rbp)
2415 jne .L379
2416 xorl %r9d, %r9d
2417 jmp .L100
2418 .p2align 4,,10
2419 .p2align 3
2420 .L101:
2421 movzbl 0(%r13,%r9), %r11d
2422 movzbl 1(%rdi,%r9), %r10d
2423 cmpb %r10b, %r11b
2424 jne .L99
2425 .L100:
2426 addq $1, %r9
2427 cmpq %r9, %rdx
2428 jne .L101
2429 movzbl -80(%rbp), %r13d
2430 movl %r13d, %r8d
2431 .L328:
2432 xorl %r9d, %r9d
2433 cmpb %r8b, %sil
2434 movq -208(%rbp), %rdi
2435 jne .L103
2436 .L102:
2437 addq $1, %r9
2438 movzbl (%rcx,%r9), %esi
2439 movzbl 1(%rdi,%r9), %r8d
2440 cmpb %r8b, %sil
2441 je .L102
2442 .L103:
2443 xorl %edi, %edi
2444 movq -208(%rbp), %r11
2445 jmp .L104
2446 .L720:
2447 movzbl 1(%r11,%r9), %r8d
2448 movzbl (%rcx,%r9), %esi
2449 .L104:
2450 salq $8, %rdi
2451 addq $1, %r9
2452 movq %rdi, %r10
2453 movzbl %r8b, %edi
2454 subl %esi, %edi
2455 cmpq %rdx, %r9
2456 movslq %edi, %rsi
2457 leaq (%rsi,%r10), %rdi
2458 jb .L720
2459 jmp .L91
2460 .L379:
2461 movzbl -80(%rbp), %r11d
2462 movl %r8d, %r10d
2463 .L99:
2464 cmpb %r10b, %r11b
2465 jnb .L328
2466 .L327:
2467 addq %rdx, %rdx
2468 leaq 4(%rdx), %rsi
2469 addq $1, %rdx
2470 andl $3, %edx
2471 subq %rdx, %rsi
2472 addq %rcx, %rsi
2473 jmp .L89
2474 .L713:
2475 movq -120(%rbp), %rdx
2476 subq %rax, %rdx
2477 .p2align 4,,10
2478 .p2align 3
2479 .L160:
2480 movslq (%rdx), %rsi
2481 leaq 5(%rdx), %rcx
2482 movzbl 4(%rdx), %eax
2483 testl %esi, %esi
2484 js .L721
2485 .L161:
2486 testq %rax, %rax
2487 je .L400
2488 movzbl 1(%r13), %edi
2489 cmpb %dil, 5(%rdx)
2490 jne .L166
2491 xorl %edx, %edx
2492 jmp .L167
2493 .p2align 4,,10
2494 .p2align 3
2495 .L168:
2496 movzbl 1(%r13,%rdx), %edi
2497 cmpb %dil, (%rcx,%rdx)
2498 jne .L166
2499 .L167:
2500 addq $1, %rdx
2501 cmpq %rdx, %rax
2502 jne .L168
2503 leaq (%rbx,%rdx), %r13
2504 jmp .L159
2505 .p2align 4,,10
2506 .p2align 3
2507 .L166:
2508 leaq (%rcx,%rax), %rdx
2509 addq $1, %rax
2510 andl $3, %eax
2511 je .L160
2512 movq %r12, %rdi
2513 subq %rax, %rdi
2514 addq %rdi, %rdx
2515 movslq (%rdx), %rsi
2516 leaq 5(%rdx), %rcx
2517 movzbl 4(%rdx), %eax
2518 testl %esi, %esi
2519 jns .L161
2520 .L721:
2521 testq %rax, %rax
2522 je .L398
2523 movzbl 5(%rdx), %edi
2524 movl %edi, %edx
2525 movb %dil, -80(%rbp)
2526 movzbl 1(%r13), %edi
2527 cmpb %dl, %dil
2528 jne .L399
2529 xorl %edx, %edx
2530 jmp .L164
2531 .p2align 4,,10
2532 .p2align 3
2533 .L170:
2534 movzbl (%rcx,%rdx), %r10d
2535 movzbl 1(%r13,%rdx), %r8d
2536 cmpb %r8b, %r10b
2537 jne .L163
2538 .L164:
2539 addq $1, %rdx
2540 cmpq %rdx, %rax
2541 jne .L170
2542 xorl %eax, %eax
2543 .L162:
2544 leaq (%rbx,%rdx), %r13
2545 movq -144(%rbp), %rbx
2546 subq %rsi, %rax
2547 movl (%rbx,%rax,4), %esi
2548 jmp .L159
2549 .L399:
2550 movzbl -80(%rbp), %r10d
2551 movl %edi, %r8d
2552 .L163:
2553 cmpb %r8b, %r10b
2554 ja .L333
2555 leaq (%rcx,%rax), %r11
2556 movzbl (%r11), %edx
2557 cmpb %dl, %dil
2558 movb %dl, -136(%rbp)
2559 jne .L401
2560 xorl %edx, %edx
2561 jmp .L172
2562 .p2align 4,,10
2563 .p2align 3
2564 .L173:
2565 movzbl (%r11,%rdx), %r10d
2566 movzbl 1(%r13,%rdx), %r8d
2567 cmpb %r8b, %r10b
2568 jne .L171
2569 .L172:
2570 addq $1, %rdx
2571 cmpq %rdx, %rax
2572 jne .L173
2573 movzbl -80(%rbp), %r8d
2574 movzbl -136(%rbp), %edi
2575 .L334:
2576 xorl %r10d, %r10d
2577 cmpb %r8b, %dil
2578 jne .L175
2579 .L174:
2580 addq $1, %r10
2581 movzbl (%rcx,%r10), %r8d
2582 movzbl 1(%r13,%r10), %edi
2583 cmpb %dil, %r8b
2584 je .L174
2585 .L175:
2586 xorl %eax, %eax
2587 movq %rax, %r11
2588 jmp .L176
2589 .L722:
2590 movzbl 1(%r13,%r10), %edi
2591 movzbl (%rcx,%r10), %r8d
2592 .L176:
2593 subl %r8d, %edi
2594 salq $8, %r11
2595 addq $1, %r10
2596 movslq %edi, %rax
2597 addq %rax, %r11
2598 cmpq %rdx, %r10
2599 jb .L722
2600 movq %r11, %rax
2601 jmp .L162
2602 .L333:
2603 addq %rax, %rax
2604 leaq 4(%rax), %rdx
2605 addq $1, %rax
2606 andl $3, %eax
2607 subq %rax, %rdx
2608 addq %rcx, %rdx
2609 jmp .L160
2610 .L401:
2611 movzbl -136(%rbp), %r10d
2612 movl %edi, %r8d
2613 .L171:
2614 cmpb %r8b, %r10b
2615 jb .L333
2616 movzbl -80(%rbp), %r8d
2617 movq %rax, %rdx
2618 jmp .L334
2619 .L694:
2620 movq -120(%rbp), %rcx
2621 movl $4, %ebx
2622 subq %rax, %rcx
2623 .p2align 4,,10
2624 .p2align 3
2625 .L269:
2626 movslq (%rcx), %rsi
2627 leaq 5(%rcx), %rdx
2628 movzbl 4(%rcx), %eax
2629 testl %esi, %esi
2630 js .L723
2631 .L270:
2632 testq %rax, %rax
2633 je .L424
2634 movzbl 5(%rcx), %edi
2635 cmpb %dil, 1(%r13)
2636 jne .L275
2637 xorl %ecx, %ecx
2638 jmp .L276
2639 .p2align 4,,10
2640 .p2align 3
2641 .L277:
2642 movzbl 1(%r13,%rcx), %edi
2643 cmpb %dil, (%rdx,%rcx)
2644 jne .L275
2645 .L276:
2646 addq $1, %rcx
2647 cmpq %rcx, %rax
2648 jne .L277
2649 addq -168(%rbp), %rcx
2650 jmp .L268
2651 .p2align 4,,10
2652 .p2align 3
2653 .L275:
2654 leaq (%rdx,%rax), %rcx
2655 addq $1, %rax
2656 andl $3, %eax
2657 je .L269
2658 movq %rbx, %rdi
2659 subq %rax, %rdi
2660 addq %rdi, %rcx
2661 movslq (%rcx), %rsi
2662 leaq 5(%rcx), %rdx
2663 movzbl 4(%rcx), %eax
2664 testl %esi, %esi
2665 jns .L270
2666 .L723:
2667 testq %rax, %rax
2668 je .L422
2669 movzbl 5(%rcx), %r8d
2670 movzbl 1(%r13), %edi
2671 cmpb %dil, %r8b
2672 jne .L423
2673 xorl %ecx, %ecx
2674 jmp .L273
2675 .p2align 4,,10
2676 .p2align 3
2677 .L279:
2678 movzbl (%rdx,%rcx), %r10d
2679 movzbl 1(%r13,%rcx), %r9d
2680 cmpb %r9b, %r10b
2681 jne .L272
2682 .L273:
2683 addq $1, %rcx
2684 cmpq %rcx, %rax
2685 jne .L279
2686 xorl %eax, %eax
2687 .L271:
2688 movq -144(%rbp), %rbx
2689 subq %rsi, %rax
2690 addq -168(%rbp), %rcx
2691 movl (%rbx,%rax,4), %esi
2692 jmp .L268
2693 .L423:
2694 movl %edi, %r9d
2695 movl %r8d, %r10d
2696 .L272:
2697 cmpb %r9b, %r10b
2698 ja .L341
2699 leaq (%rdx,%rax), %r11
2700 movzbl (%r11), %r12d
2701 cmpb %r12b, %dil
2702 jne .L425
2703 xorl %ecx, %ecx
2704 jmp .L281
2705 .p2align 4,,10
2706 .p2align 3
2707 .L282:
2708 movzbl (%r11,%rcx), %r10d
2709 movzbl 1(%r13,%rcx), %r9d
2710 cmpb %r9b, %r10b
2711 jne .L280
2712 .L281:
2713 addq $1, %rcx
2714 cmpq %rcx, %rax
2715 jne .L282
2716 movzbl %r12b, %edi
2717 .L342:
2718 xorl %r9d, %r9d
2719 cmpb %dil, %r8b
2720 jne .L284
2721 .L283:
2722 addq $1, %r9
2723 movzbl (%rdx,%r9), %r8d
2724 movzbl 1(%r13,%r9), %edi
2725 cmpb %dil, %r8b
2726 je .L283
2727 .L284:
2728 xorl %eax, %eax
2729 jmp .L285
2730 .L724:
2731 movzbl 1(%r13,%r9), %edi
2732 movzbl (%rdx,%r9), %r8d
2733 .L285:
2734 salq $8, %rax
2735 addq $1, %r9
2736 movq %rax, %r10
2737 movzbl %r8b, %eax
2738 subl %eax, %edi
2739 movslq %edi, %rax
2740 addq %r10, %rax
2741 cmpq %r9, %rcx
2742 ja .L724
2743 jmp .L271
2744 .L341:
2745 addq %rax, %rax
2746 leaq 4(%rax), %rcx
2747 addq $1, %rax
2748 andl $3, %eax
2749 subq %rax, %rcx
2750 addq %rdx, %rcx
2751 jmp .L269
2752 .L425:
2753 movl %edi, %r9d
2754 movl %r12d, %r10d
2755 .L280:
2756 cmpb %r9b, %r10b
2757 jb .L341
2758 movq %rax, %rcx
2759 jmp .L342
2760 .L384:
2761 xorl %edx, %edx
2762 addq %rdx, -80(%rbp)
2763 jmp .L107
2764 .L696:
2765 movl -112(%rbp), %esi
2766 movq -224(%rbp), %rdi
2767 call utf8_encode.part.0
2768 movslq %eax, %rdx
2769 movq -88(%rbp), %rax
2770 leaq (%rdx,%rax), %rsi
2771 leaq (%rsi,%r8), %rax
2772 cmpq %rax, -96(%rbp)
2773 jbe .L313
2774 testq %rdx, %rdx
2775 je .L315
2776 movq -128(%rbp), %rbx
2777 movq -88(%rbp), %rdi
2778 xorl %eax, %eax
2779 movzbl -55(%rbp), %ecx
2780 movq -224(%rbp), %r10
2781 addq %rbx, %rdi
2782 jmp .L316
2783 .p2align 4,,10
2784 .p2align 3
2785 .L725:
2786 movzbl (%r10,%rax), %ecx
2787 .L316:
2788 movb %cl, (%rdi,%rax)
2789 addq $1, %rax
2790 cmpq %rax, %rdx
2791 ja .L725
2792 .L315:
2793 movq -128(%rbp), %rbx
2794 movslq %r9d, %r9
2795 xorl %eax, %eax
2796 leaq (%rbx,%rsi), %rcx
2797 leaq (%r15,%r9), %rsi
2798 .L317:
2799 movzbl (%rsi,%rax), %edi
2800 movb %dil, (%rcx,%rax)
2801 addq $1, %rax
2802 cmpq %r8, %rax
2803 jne .L317
2804 jmp .L313
2805 .L405:
2806 xorl %edx, %edx
2807 addq %rdx, -176(%rbp)
2808 jmp .L182
2809 .L692:
2810 movl -112(%rbp), %esi
2811 movq -224(%rbp), %rdi
2812 call utf8_encode.part.0
2813 movslq %eax, %rsi
2814 movq -88(%rbp), %rax
2815 leaq (%rsi,%rax), %rdi
2816 movq -160(%rbp), %rax
2817 addq %rdi, %rax
2818 cmpq %rax, -96(%rbp)
2819 jbe .L259
2820 testq %rsi, %rsi
2821 je .L261
2822 movq -128(%rbp), %rbx
2823 movq -88(%rbp), %rcx
2824 xorl %eax, %eax
2825 movzbl -55(%rbp), %edx
2826 movq -224(%rbp), %r8
2827 addq %rbx, %rcx
2828 jmp .L262
2829 .p2align 4,,10
2830 .p2align 3
2831 .L726:
2832 movzbl (%r8,%rax), %edx
2833 .L262:
2834 movb %dl, (%rcx,%rax)
2835 addq $1, %rax
2836 cmpq %rax, %rsi
2837 ja .L726
2838 .L261:
2839 movslq -188(%rbp), %rdx
2840 movq -128(%rbp), %rbx
2841 xorl %eax, %eax
2842 movq -160(%rbp), %r8
2843 leaq (%rbx,%rdi), %rcx
2844 addq %r14, %rdx
2845 .L263:
2846 movzbl (%rdx,%rax), %edi
2847 movb %dil, (%rcx,%rax)
2848 addq $1, %rax
2849 cmpq %r8, %rax
2850 jne .L263
2851 jmp .L259
2852 .L389:
2853 xorl %edx, %edx
2854 jmp .L133
2855 .L409:
2856 xorl %ecx, %ecx
2857 jmp .L207
2858 .L697:
2859 movzbl -112(%rbp), %edi
2860 movq -128(%rbp), %rax
2861 movl $1, %edx
2862 movq -88(%rbp), %rbx
2863 movb %dil, (%rax,%rbx)
2864 jmp .L315
2865 .L698:
2866 cmpq $2, %rax
2867 jbe .L10
2868 movq -216(%rbp), %rdx
2869 addq $1, %rdx
2870 cmpq %rdx, %rax
2871 jne .L10
2872 jmp .L661
2873 .L424:
2874 xorl %ecx, %ecx
2875 addq -168(%rbp), %rcx
2876 jmp .L268
2877 .L400:
2878 xorl %edx, %edx
2879 leaq (%rbx,%rdx), %r13
2880 jmp .L159
2881 .L382:
2882 xorl %edx, %edx
2883 jmp .L110
2884 .L693:
2885 movzbl -112(%rbp), %esi
2886 movq -128(%rbp), %rax
2887 movq -88(%rbp), %rbx
2888 movb %sil, (%rax,%rbx)
2889 movl $1, %esi
2890 jmp .L261
2891 .L403:
2892 xorl %edx, %edx
2893 jmp .L185
2894 .L422:
2895 xorl %ecx, %ecx
2896 jmp .L271
2897 .L398:
2898 xorl %edx, %edx
2899 jmp .L162
2900 .L395:
2901 movq %rax, -88(%rbp)
2902 jmp .L153
2903 .L665:
2904 leaq __PRETTY_FUNCTION__.8190(%rip), %rcx
2905 leaq .LC0(%rip), %rsi
2906 leaq .LC2(%rip), %rdi
2907 movl $708, %edx
2908 call __GI___assert_fail
2909 .L664:
2910 leaq __PRETTY_FUNCTION__.8190(%rip), %rcx
2911 leaq .LC0(%rip), %rsi
2912 leaq .LC1(%rip), %rdi
2913 movl $705, %edx
2914 call __GI___assert_fail
2915 .size __GI___strxfrm_l, .-__GI___strxfrm_l
2916 .globl __strxfrm_l
2917 .set __strxfrm_l,__GI___strxfrm_l
2918 .weak strxfrm_l
2919 .set strxfrm_l,__strxfrm_l
2920 .section .rodata.str1.8
2921 .align 8
2922 .type __PRETTY_FUNCTION__.8190, @object
2923 .size __PRETTY_FUNCTION__.8190, 12
2924 __PRETTY_FUNCTION__.8190:
2925 .string "__strxfrm_l"