clarify the purpose of this project
[nyanglibc.git] / iconvdata / dec-mcs.shared.s
blob1516009d08b0148627f6109fa3ef34ab704be089
1 .text
2 .p2align 4,,15
3 .type gconv_btowc, @function
4 gconv_btowc:
5 leaq to_ucs4(%rip), %rax
6 movzbl %sil, %edx
7 testb %sil, %sil
8 movl (%rax,%rdx,4), %eax
9 je .L1
10 testl %eax, %eax
11 movl $-1, %edx
12 cmove %edx, %eax
13 .L1:
14 rep ret
15 .size gconv_btowc, .-gconv_btowc
16 .section .rodata.str1.1,"aMS",@progbits,1
17 .LC0:
18 .string "DEC-MCS//"
19 .text
20 .p2align 4,,15
21 .globl gconv_init
22 .type gconv_init, @function
23 gconv_init:
24 movq 24(%rdi), %rsi
25 leaq .LC0(%rip), %rdx
26 movq %rdi, %rax
27 movl $10, %ecx
28 movq %rdx, %rdi
29 repz cmpsb
30 jne .L10
31 movabsq $4294967297, %rdx
32 movabsq $17179869188, %rdi
33 movq $0, 96(%rax)
34 movq %rdx, 72(%rax)
35 leaq gconv_btowc(%rip), %rdx
36 movq %rdi, 80(%rax)
37 movl $0, 88(%rax)
38 movq %rdx, 48(%rax)
39 xorl %eax, %eax
40 ret
41 .p2align 4,,10
42 .p2align 3
43 .L10:
44 movq 32(%rax), %rsi
45 movl $10, %ecx
46 movq %rdx, %rdi
47 repz cmpsb
48 jne .L13
49 movabsq $17179869188, %rdi
50 movabsq $4294967297, %rdx
51 movq $-1, 96(%rax)
52 movq %rdi, 72(%rax)
53 movq %rdx, 80(%rax)
54 movl $0, 88(%rax)
55 xorl %eax, %eax
56 ret
57 .p2align 4,,10
58 .p2align 3
59 .L13:
60 movl $1, %eax
61 ret
62 .size gconv_init, .-gconv_init
63 .section .rodata.str1.1
64 .LC1:
65 .string "../iconv/skeleton.c"
66 .LC2:
67 .string "outbufstart == NULL"
68 .LC3:
69 .string "../iconv/loop.c"
70 .section .rodata.str1.8,"aMS",@progbits,1
71 .align 8
72 .LC4:
73 .string "(state->__count & 7) <= sizeof (state->__value)"
74 .align 8
75 .LC5:
76 .string "inlen_after <= sizeof (state->__value.__wchb)"
77 .align 8
78 .LC6:
79 .string "inptr - bytebuf > (state->__count & 7)"
80 .align 8
81 .LC7:
82 .string "inend != &bytebuf[MAX_NEEDED_INPUT]"
83 .align 8
84 .LC8:
85 .string "inend - inptr > (state->__count & ~7)"
86 .align 8
87 .LC9:
88 .string "inend - inptr <= sizeof (state->__value.__wchb)"
89 .section .rodata.str1.1
90 .LC10:
91 .string "outbuf == outerr"
92 .section .rodata.str1.8
93 .align 8
94 .LC11:
95 .string "nstatus == __GCONV_FULL_OUTPUT"
96 .align 8
97 .LC12:
98 .string "cnt_after <= sizeof (data->__statep->__value.__wchb)"
99 .text
100 .p2align 4,,15
101 .globl gconv
102 .type gconv, @function
103 gconv:
104 pushq %r15
105 pushq %r14
106 movq %r9, %r14
107 pushq %r13
108 pushq %r12
109 movq %rsi, %r12
110 pushq %rbp
111 pushq %rbx
112 leaq 104(%rdi), %rsi
113 movq %rcx, %rbp
114 subq $152, %rsp
115 movl 16(%r12), %r10d
116 movq %rsi, 80(%rsp)
117 leaq 48(%r12), %rsi
118 movq %rdi, 40(%rsp)
119 movq %rdx, 8(%rsp)
120 movq %r8, 48(%rsp)
121 testb $1, %r10b
122 movl 208(%rsp), %ebx
123 movq %rsi, 72(%rsp)
124 movq $0, 24(%rsp)
125 jne .L15
126 movq %rdi, %rax
127 movq 144(%rdi), %rdi
128 cmpq $0, 104(%rax)
129 movq %rdi, 24(%rsp)
130 je .L15
131 movq %rdi, %rax
132 #APP
133 # 410 "../iconv/skeleton.c" 1
134 ror $2*8+1, %rax
135 xor %fs:48, %rax
136 # 0 "" 2
137 #NO_APP
138 movq %rax, 24(%rsp)
139 .L15:
140 testl %ebx, %ebx
141 jne .L227
142 movq 8(%rsp), %rax
143 movq 48(%rsp), %rdi
144 leaq 112(%rsp), %rdx
145 movl 216(%rsp), %ecx
146 movq 8(%r12), %r11
147 testq %rdi, %rdi
148 movq (%rax), %r15
149 movq %rdi, %rax
150 cmove %r12, %rax
151 testq %r14, %r14
152 movq (%rax), %r13
153 movl $0, %eax
154 movq $0, 112(%rsp)
155 cmovne %rdx, %rax
156 testl %ecx, %ecx
157 movq %rax, 64(%rsp)
158 movq 40(%rsp), %rax
159 setne 103(%rsp)
160 movzbl 103(%rsp), %esi
161 movq 96(%rax), %rax
162 testq %rax, %rax
163 je .L121
164 testb %sil, %sil
165 je .L121
166 movq 32(%r12), %rbx
167 movl (%rbx), %edx
168 andl $7, %edx
169 jne .L228
170 .L121:
171 movq $0, 32(%rsp)
172 .L22:
173 movq %r14, 16(%rsp)
174 movq %r11, %r14
175 .p2align 4,,10
176 .p2align 3
177 .L110:
178 movq 16(%rsp), %rbx
179 testq %rbx, %rbx
180 je .L54
181 movq (%rbx), %rbx
182 addq %rbx, 32(%rsp)
183 .L54:
184 testq %rax, %rax
185 je .L229
186 leaq 136(%rsp), %rax
187 movq %r15, 128(%rsp)
188 movq %r13, %rbx
189 movq %r13, 136(%rsp)
190 movq %r15, %rdi
191 movl $4, %r11d
192 movq %rax, 56(%rsp)
193 leaq 128(%rsp), %rax
194 movq %rax, 88(%rsp)
195 .L62:
196 cmpq %rdi, %rbp
197 je .L63
198 .L73:
199 leaq 4(%rdi), %rax
200 cmpq %rax, %rbp
201 jb .L129
202 cmpq %rbx, %r14
203 jbe .L130
204 movl (%rdi), %r8d
205 cmpl $65534, %r8d
206 ja .L64
207 cmpl $255, %r8d
208 movl $339, %edx
209 leaq from_idx(%rip), %rsi
210 ja .L65
211 jmp .L230
212 .p2align 4,,10
213 .p2align 3
214 .L231:
215 movzwl 10(%rcx), %edx
216 movq %rcx, %rsi
217 .L65:
218 cmpl %edx, %r8d
219 leaq 8(%rsi), %rcx
220 ja .L231
221 movzwl (%rcx), %eax
222 cmpl %eax, %r8d
223 jb .L67
224 movl %r8d, %edx
225 addl 12(%rsi), %edx
226 .L66:
227 leaq from_ucs4(%rip), %rax
228 movzbl (%rax,%rdx), %eax
229 testb %al, %al
230 jne .L150
231 testl %r8d, %r8d
232 jne .L67
233 .L150:
234 leaq 1(%rbx), %rdx
235 movq %rdx, 136(%rsp)
236 movb %al, (%rbx)
237 movq 128(%rsp), %rax
238 movq 136(%rsp), %rbx
239 leaq 4(%rax), %rdi
240 cmpq %rdi, %rbp
241 movq %rdi, 128(%rsp)
242 jne .L73
243 .p2align 4,,10
244 .p2align 3
245 .L63:
246 cmpq $0, 48(%rsp)
247 movq 8(%rsp), %rax
248 movq %rdi, (%rax)
249 jne .L232
250 .L74:
251 addl $1, 20(%r12)
252 testb $1, 16(%r12)
253 jne .L233
254 cmpq %rbx, %r13
255 jnb .L134
256 movq 24(%rsp), %rdi
257 movq (%r12), %rax
258 movl %r11d, 56(%rsp)
259 movq %rax, 120(%rsp)
260 call _dl_mcount_wrapper_check@PLT
261 movl 216(%rsp), %edi
262 leaq 120(%rsp), %rdx
263 xorl %r8d, %r8d
264 movq %rbx, %rcx
265 pushq %rdi
266 pushq $0
267 movq 32(%rsp), %r9
268 movq 88(%rsp), %rsi
269 movq 96(%rsp), %rdi
270 movq 40(%rsp), %rax
271 call *%rax
272 popq %r8
273 cmpl $4, %eax
274 movl %eax, %r10d
275 popq %r9
276 movl 56(%rsp), %r11d
277 je .L78
278 movq 120(%rsp), %r11
279 cmpq %rbx, %r11
280 jne .L234
281 .L77:
282 testl %r10d, %r10d
283 jne .L146
284 .L109:
285 movq 112(%rsp), %rax
286 movq 8(%rsp), %rdi
287 movl 16(%r12), %r10d
288 movq (%r12), %r13
289 movq %rax, 32(%rsp)
290 movq 40(%rsp), %rax
291 movq (%rdi), %r15
292 movq 96(%rax), %rax
293 jmp .L110
294 .p2align 4,,10
295 .p2align 3
296 .L64:
297 shrl $7, %r8d
298 cmpl $7168, %r8d
299 je .L235
300 .L67:
301 cmpq $0, 64(%rsp)
302 je .L133
303 testb $8, 16(%r12)
304 jne .L236
305 .L71:
306 testb $2, %r10b
307 jne .L237
308 .L133:
309 cmpq $0, 48(%rsp)
310 movq 8(%rsp), %rax
311 movl $6, %r11d
312 movq %rdi, (%rax)
313 je .L74
314 .L232:
315 movq 48(%rsp), %rax
316 movl %r11d, %r9d
317 movq %rbx, (%rax)
318 .L14:
319 addq $152, %rsp
320 movl %r9d, %eax
321 popq %rbx
322 popq %rbp
323 popq %r12
324 popq %r13
325 popq %r14
326 popq %r15
328 .p2align 4,,10
329 .p2align 3
330 .L229:
331 cmpq %r15, %rbp
332 je .L124
333 leaq 4(%r13), %rdx
334 cmpq %rdx, %r14
335 jb .L125
336 movq %r15, %rax
337 movq %r13, %rbx
338 movl $4, %r11d
339 andl $2, %r10d
340 .p2align 4,,10
341 .p2align 3
342 .L57:
343 movzbl (%rax), %ecx
344 leaq to_ucs4(%rip), %r9
345 movq %rax, %rdi
346 movq %rcx, %rsi
347 movl (%r9,%rcx,4), %ecx
348 testl %ecx, %ecx
349 jne .L58
350 testb %sil, %sil
351 jne .L238
352 .L58:
353 addq $1, %rax
354 movl %ecx, (%rbx)
355 movq %rdx, %rbx
356 movq %rax, %rdi
357 .L59:
358 cmpq %rax, %rbp
359 je .L63
360 leaq 4(%rbx), %rdx
361 cmpq %rdx, %r14
362 jnb .L57
363 .L130:
364 movl $5, %r11d
365 jmp .L63
366 .p2align 4,,10
367 .p2align 3
368 .L78:
369 cmpl $5, %r11d
370 movl %r11d, %r10d
371 jne .L77
372 jmp .L109
373 .p2align 4,,10
374 .p2align 3
375 .L230:
376 movl %r8d, %edx
377 jmp .L66
378 .p2align 4,,10
379 .p2align 3
380 .L129:
381 movl $7, %r11d
382 jmp .L63
383 .p2align 4,,10
384 .p2align 3
385 .L236:
386 movl %r10d, 104(%rsp)
387 subq $8, %rsp
388 movq %rbp, %r8
389 pushq 72(%rsp)
390 movq 24(%rsp), %rax
391 movq %r12, %rsi
392 movq 56(%rsp), %rdi
393 movq 72(%rsp), %r9
394 movq 104(%rsp), %rcx
395 movq (%rax), %rdx
396 call __gconv_transliterate@PLT
397 popq %r10
398 cmpl $6, %eax
399 movl %eax, %r11d
400 popq %rbx
401 movq 128(%rsp), %rdi
402 movq 136(%rsp), %rbx
403 movl 104(%rsp), %r10d
404 je .L71
405 cmpl $5, %eax
406 jne .L62
407 jmp .L63
408 .p2align 4,,10
409 .p2align 3
410 .L237:
411 movq 64(%rsp), %rax
412 addq $4, %rdi
413 movl $6, %r11d
414 movq %rdi, 128(%rsp)
415 addq $1, (%rax)
416 jmp .L62
417 .L233:
418 movq 16(%rsp), %r14
419 movq %rbx, (%r12)
420 movl %r11d, %r9d
421 movq 112(%rsp), %rax
422 addq %rax, (%r14)
423 .L76:
424 movq 40(%rsp), %rax
425 cmpq $0, 96(%rax)
426 setne %al
427 testb %al, 103(%rsp)
428 je .L14
429 cmpl $7, %r9d
430 jne .L14
431 movq 8(%rsp), %rax
432 movq (%rax), %rsi
433 movq %rbp, %rax
434 subq %rsi, %rax
435 cmpq $4, %rax
436 ja .L112
437 xorl %edx, %edx
438 testq %rax, %rax
439 movq 32(%r12), %rcx
440 je .L114
441 .L113:
442 movzbl (%rsi,%rdx), %edi
443 movb %dil, 4(%rcx,%rdx)
444 addq $1, %rdx
445 cmpq %rdx, %rax
446 jne .L113
447 .L114:
448 movl (%rcx), %edx
449 movq 8(%rsp), %rbx
450 andl $-8, %edx
451 movq %rbp, (%rbx)
452 orl %edx, %eax
453 movl %eax, (%rcx)
454 jmp .L14
455 .p2align 4,,10
456 .p2align 3
457 .L134:
458 movl %r11d, %r10d
459 jmp .L77
460 .L238:
461 cmpq $0, 64(%rsp)
462 je .L133
463 testl %r10d, %r10d
464 je .L133
465 movq 64(%rsp), %rsi
466 leaq 1(%rax), %rax
467 movl $6, %r11d
468 movq %rax, %rdi
469 addq $1, (%rsi)
470 jmp .L59
471 .L234:
472 movq 16(%rsp), %rsi
473 xorl %eax, %eax
474 testq %rsi, %rsi
475 je .L80
476 movq (%rsi), %rax
477 .L80:
478 addq 112(%rsp), %rax
479 cmpq 32(%rsp), %rax
480 movq 8(%rsp), %rax
481 je .L239
482 movq %r15, (%rax)
483 movq 40(%rsp), %rax
484 movl 16(%r12), %ebx
485 cmpq $0, 96(%rax)
486 je .L240
487 leaq 136(%rsp), %rdi
488 movq %r15, 128(%rsp)
489 movq %r13, 136(%rsp)
490 movq %r13, %rdx
491 movl $4, %eax
492 movq %rdi, 32(%rsp)
493 leaq 128(%rsp), %rdi
494 movq %rdi, 56(%rsp)
495 .L95:
496 cmpq %r15, %rbp
497 je .L241
498 leaq 4(%r15), %rcx
499 cmpq %rcx, %rbp
500 jb .L139
501 cmpq %rdx, %r11
502 jbe .L143
503 movl (%r15), %r8d
504 cmpl $65534, %r8d
505 ja .L97
506 cmpl $255, %r8d
507 movl $339, %ecx
508 leaq from_idx(%rip), %rdi
509 ja .L98
510 jmp .L242
511 .p2align 4,,10
512 .p2align 3
513 .L243:
514 movzwl 10(%rsi), %ecx
515 movq %rsi, %rdi
516 .L98:
517 cmpl %ecx, %r8d
518 leaq 8(%rdi), %rsi
519 ja .L243
520 movzwl (%rsi), %ecx
521 cmpl %ecx, %r8d
522 jb .L100
523 movl %r8d, %ecx
524 addl 12(%rdi), %ecx
525 .L99:
526 leaq from_ucs4(%rip), %rdi
527 testl %r8d, %r8d
528 movzbl (%rdi,%rcx), %ecx
529 je .L151
530 testb %cl, %cl
531 je .L100
532 .L151:
533 leaq 1(%rdx), %rsi
534 movq %rsi, 136(%rsp)
535 movb %cl, (%rdx)
536 movq 128(%rsp), %rdi
537 movq 136(%rsp), %rdx
538 leaq 4(%rdi), %r15
539 movq %r15, 128(%rsp)
540 jmp .L95
541 .L228:
542 testq %rdi, %rdi
543 jne .L244
544 cmpl $4, %edx
545 movq %r15, 128(%rsp)
546 movq %r13, 136(%rsp)
547 ja .L24
548 leaq 120(%rsp), %rsi
549 movslq %edx, %rcx
550 xorl %eax, %eax
551 movq %rcx, 16(%rsp)
552 movq %rsi, 32(%rsp)
553 .L25:
554 movzbl 4(%rbx,%rax), %edx
555 movb %dl, (%rsi,%rax)
556 addq $1, %rax
557 cmpq %rcx, %rax
558 jne .L25
559 movq %r15, %rax
560 subq 16(%rsp), %rax
561 addq $4, %rax
562 cmpq %rax, %rbp
563 jb .L245
564 cmpq %r11, %r13
565 movl $5, %r9d
566 jnb .L14
567 movq 16(%rsp), %rdx
568 leaq 1(%r15), %rax
569 leaq 119(%rsp), %rsi
570 .L33:
571 movq %rax, 128(%rsp)
572 movzbl -1(%rax), %edi
573 addq $1, %rdx
574 movq %rax, %rcx
575 addq $1, %rax
576 cmpq $3, %rdx
577 movb %dil, (%rsi,%rdx)
578 ja .L148
579 cmpq %rcx, %rbp
580 ja .L33
581 .L148:
582 movl 120(%rsp), %ecx
583 movq 32(%rsp), %rax
584 movq %rdx, 16(%rsp)
585 cmpl $65534, %ecx
586 movq %rax, 128(%rsp)
587 ja .L35
588 cmpl $255, %ecx
589 movl $339, %eax
590 leaq from_idx(%rip), %rsi
591 ja .L36
592 jmp .L246
593 .p2align 4,,10
594 .p2align 3
595 .L247:
596 movzwl 10(%rdx), %eax
597 movq %rdx, %rsi
598 .L36:
599 cmpl %eax, %ecx
600 leaq 8(%rsi), %rdx
601 ja .L247
602 movzwl (%rdx), %eax
603 cmpl %eax, %ecx
604 jb .L38
605 movl %ecx, %eax
606 addl 12(%rsi), %eax
607 .L37:
608 leaq from_ucs4(%rip), %rdx
609 testl %ecx, %ecx
610 movzbl (%rdx,%rax), %eax
611 je .L149
612 testb %al, %al
613 jne .L149
614 .L38:
615 cmpq $0, 64(%rsp)
616 je .L123
617 testb $8, %r10b
618 jne .L248
619 andl $2, %r10d
620 je .L123
621 movq 32(%rsp), %rax
622 .L116:
623 movq 64(%rsp), %rsi
624 addq $4, %rax
625 movq %rax, 128(%rsp)
626 addq $1, (%rsi)
627 .L46:
628 cmpq 32(%rsp), %rax
629 jne .L39
630 .L123:
631 movl $6, %r9d
632 jmp .L14
633 .p2align 4,,10
634 .p2align 3
635 .L235:
636 movq %rax, 128(%rsp)
637 movq %rax, %rdi
638 jmp .L62
639 .L239:
640 movq 40(%rsp), %rdi
641 subq %r11, %rbx
642 movq (%rax), %rax
643 cmpq $0, 96(%rdi)
644 je .L249
645 salq $2, %rbx
646 subq %rbx, %rax
647 movq 8(%rsp), %rbx
648 movq %rax, (%rbx)
649 jmp .L77
650 .L149:
651 leaq 1(%r13), %rdx
652 movq %rdx, 136(%rsp)
653 movb %al, 0(%r13)
654 movq 128(%rsp), %rax
655 addq $4, %rax
656 cmpq 32(%rsp), %rax
657 movq %rax, 128(%rsp)
658 je .L220
659 .L39:
660 movl (%rbx), %edx
661 subq 32(%rsp), %rax
662 movl %edx, %ecx
663 andl $7, %ecx
664 cmpq %rcx, %rax
665 jle .L250
666 movq 8(%rsp), %rdi
667 subq %rcx, %rax
668 andl $-8, %edx
669 movq 136(%rsp), %r13
670 movl 16(%r12), %r10d
671 addq (%rdi), %rax
672 movq %rax, (%rdi)
673 movq %rax, %r15
674 movq 112(%rsp), %rax
675 movl %edx, (%rbx)
676 movq %rax, 32(%rsp)
677 movq 40(%rsp), %rax
678 movq 96(%rax), %rax
679 jmp .L22
680 .L125:
681 movq %r15, %rdi
682 movq %r13, %rbx
683 movl $5, %r11d
684 jmp .L63
685 .L227:
686 cmpq $0, 48(%rsp)
687 jne .L251
688 movq 32(%r12), %rax
689 xorl %r9d, %r9d
690 movq $0, (%rax)
691 testb $1, 16(%r12)
692 jne .L14
693 movq 24(%rsp), %r15
694 movq %r15, %rdi
695 call _dl_mcount_wrapper_check@PLT
696 movl 216(%rsp), %eax
697 movq %r14, %r9
698 xorl %r8d, %r8d
699 xorl %ecx, %ecx
700 xorl %edx, %edx
701 pushq %rax
702 pushq %rbx
703 movq 88(%rsp), %rsi
704 movq 96(%rsp), %rdi
705 call *%r15
706 popq %rsi
707 movl %eax, %r9d
708 popq %rdi
709 jmp .L14
710 .L146:
711 movl %r10d, %r9d
712 jmp .L76
713 .L100:
714 cmpq $0, 64(%rsp)
715 je .L144
716 testb $8, 16(%r12)
717 jne .L252
718 .L104:
719 testb $2, %bl
720 jne .L253
721 .L144:
722 movl $6, %eax
723 .L96:
724 movq 8(%rsp), %rbx
725 movq 120(%rsp), %r11
726 movq %r15, (%rbx)
727 .L94:
728 cmpq %r11, %rdx
729 jne .L86
730 cmpq $5, %rax
731 jne .L85
732 cmpq %rdx, %r13
733 jne .L77
734 .L88:
735 subl $1, 20(%r12)
736 jmp .L77
737 .L124:
738 movq %rbp, %rdi
739 movq %r13, %rbx
740 movl $4, %r11d
741 jmp .L63
742 .L252:
743 movq %r11, 104(%rsp)
744 movl %r10d, 88(%rsp)
745 subq $8, %rsp
746 pushq 72(%rsp)
747 movq 24(%rsp), %rax
748 movq %rbp, %r8
749 movq 48(%rsp), %r9
750 movq 72(%rsp), %rcx
751 movq %r12, %rsi
752 movq 56(%rsp), %rdi
753 movq (%rax), %rdx
754 call __gconv_transliterate@PLT
755 popq %rdx
756 cmpl $6, %eax
757 popq %rcx
758 movq 128(%rsp), %r15
759 movq 136(%rsp), %rdx
760 movl 88(%rsp), %r10d
761 movq 104(%rsp), %r11
762 je .L104
763 cmpl $5, %eax
764 jne .L95
765 .L143:
766 movl $5, %eax
767 jmp .L96
768 .L240:
769 cmpq %r15, %rbp
770 je .L254
771 leaq 4(%r13), %rcx
772 cmpq %r11, %rcx
773 ja .L255
774 movq 64(%rsp), %r9
775 andl $2, %ebx
776 movq %r13, %rdx
777 movl $4, %eax
778 movq %r15, %rdi
779 movl %ebx, 32(%rsp)
780 .L89:
781 movzbl (%rdi), %r8d
782 leaq to_ucs4(%rip), %rbx
783 movq %rdi, %rsi
784 movq %r8, %r15
785 movl (%rbx,%r8,4), %r8d
786 testl %r8d, %r8d
787 jne .L91
788 testb %r15b, %r15b
789 jne .L256
790 .L91:
791 addq $1, %rdi
792 movl %r8d, (%rdx)
793 movq %rcx, %rdx
794 movq %rdi, %rsi
795 .L92:
796 cmpq %rdi, %rbp
797 je .L257
798 leaq 4(%rdx), %rcx
799 cmpq %rcx, %r11
800 jnb .L89
801 movl $5, %eax
802 .L90:
803 movq 8(%rsp), %rbx
804 movq %rsi, (%rbx)
805 jmp .L94
806 .L242:
807 movl %r8d, %ecx
808 jmp .L99
809 .L139:
810 movl $7, %eax
811 jmp .L96
812 .L97:
813 shrl $7, %r8d
814 cmpl $7168, %r8d
815 jne .L100
816 movq %rcx, 128(%rsp)
817 movq %rcx, %r15
818 jmp .L95
819 .L249:
820 leaq 3(%rbx), %rdx
821 testq %rbx, %rbx
822 cmovs %rdx, %rbx
823 sarq $2, %rbx
824 subq %rbx, %rax
825 movq 8(%rsp), %rbx
826 movq %rax, (%rbx)
827 jmp .L77
828 .L245:
829 movq 8(%rsp), %rax
830 movq 16(%rsp), %rsi
831 movq %rbp, (%rax)
832 movq %rbp, %rax
833 subq %r15, %rax
834 addq %rsi, %rax
835 cmpq $4, %rax
836 ja .L27
837 cmpq %rsi, %rax
838 leaq 1(%r15), %rdx
839 movq 16(%rsp), %rcx
840 jbe .L29
841 .L30:
842 movq %rdx, 128(%rsp)
843 movzbl -1(%rdx), %esi
844 addq $1, %rdx
845 movb %sil, 4(%rbx,%rcx)
846 addq $1, %rcx
847 cmpq %rcx, %rax
848 jne .L30
849 .L29:
850 movl $7, %r9d
851 jmp .L14
852 .L253:
853 movq 64(%rsp), %rax
854 addq $4, %r15
855 movq %r15, 128(%rsp)
856 addq $1, (%rax)
857 movl $6, %eax
858 jmp .L95
859 .L257:
860 movq %rbp, %rsi
861 jmp .L90
862 .L246:
863 movl %ecx, %eax
864 jmp .L37
865 .L35:
866 shrl $7, %ecx
867 cmpl $7168, %ecx
868 jne .L38
869 movq 32(%rsp), %rax
870 addq $4, %rax
871 movq %rax, 128(%rsp)
872 jmp .L39
873 .p2align 4,,10
874 .p2align 3
875 .L241:
876 cltq
877 movq %rbp, %r15
878 jmp .L96
879 .L256:
880 testq %r9, %r9
881 je .L138
882 movl 32(%rsp), %edi
883 testl %edi, %edi
884 jne .L258
885 .L138:
886 movl $6, %eax
887 jmp .L90
888 .L258:
889 leaq 1(%rsi), %rdi
890 addq $1, (%r9)
891 movl $6, %eax
892 movq %rdi, %rsi
893 jmp .L92
894 .L248:
895 movq 32(%rsp), %rax
896 addq 16(%rsp), %rax
897 leaq 128(%rsp), %rcx
898 movq %r11, 104(%rsp)
899 movl %r10d, 88(%rsp)
900 subq $8, %rsp
901 movq %r15, %rdx
902 movq %r12, %rsi
903 movq %rax, 64(%rsp)
904 pushq 72(%rsp)
905 movq %rax, %r8
906 movq 56(%rsp), %rdi
907 leaq 152(%rsp), %r9
908 call __gconv_transliterate@PLT
909 popq %r15
910 cmpl $6, %eax
911 movl %eax, %r9d
912 popq %rdx
913 movl 88(%rsp), %r10d
914 movq 104(%rsp), %r11
915 movq 128(%rsp), %rax
916 je .L259
917 cmpq 32(%rsp), %rax
918 jne .L39
919 cmpl $7, %r9d
920 jne .L49
921 movq 32(%rsp), %rax
922 addq $4, %rax
923 cmpq %rax, 56(%rsp)
924 je .L260
925 movl (%rbx), %eax
926 movq 16(%rsp), %rsi
927 movl %eax, %edx
928 movq %rsi, %rdi
929 andl $-8, %eax
930 andl $7, %edx
931 subq %rdx, %rdi
932 movq %rdi, %rdx
933 movq 8(%rsp), %rdi
934 addq %rdx, (%rdi)
935 movslq %eax, %rdx
936 cmpq %rdx, %rsi
937 jle .L261
938 cmpq $4, 16(%rsp)
939 ja .L262
940 movq 16(%rsp), %rsi
941 orl %esi, %eax
942 testq %rsi, %rsi
943 movl %eax, (%rbx)
944 je .L29
945 movq 32(%rsp), %rcx
946 xorl %eax, %eax
947 .L53:
948 movzbl (%rcx,%rax), %edx
949 movb %dl, 4(%rbx,%rax)
950 addq $1, %rax
951 cmpq %rax, 16(%rsp)
952 jne .L53
953 jmp .L29
954 .L49:
955 testl %r9d, %r9d
956 jne .L14
957 .L220:
958 movq 112(%rsp), %rax
959 movq 8(%rsp), %rbx
960 movl 16(%r12), %r10d
961 movq %rax, 32(%rsp)
962 movq 40(%rsp), %rax
963 movq (%rbx), %r15
964 movq 96(%rax), %rax
965 jmp .L22
966 .L255:
967 cmpq %r13, %r11
968 je .L88
969 .L86:
970 leaq __PRETTY_FUNCTION__.9153(%rip), %rcx
971 leaq .LC1(%rip), %rsi
972 leaq .LC10(%rip), %rdi
973 movl $746, %edx
974 call __assert_fail@PLT
975 .L250:
976 leaq __PRETTY_FUNCTION__.9074(%rip), %rcx
977 leaq .LC3(%rip), %rsi
978 leaq .LC6(%rip), %rdi
979 movl $459, %edx
980 call __assert_fail@PLT
981 .L262:
982 leaq __PRETTY_FUNCTION__.9074(%rip), %rcx
983 leaq .LC3(%rip), %rsi
984 leaq .LC9(%rip), %rdi
985 movl $488, %edx
986 call __assert_fail@PLT
987 .L261:
988 leaq __PRETTY_FUNCTION__.9074(%rip), %rcx
989 leaq .LC3(%rip), %rsi
990 leaq .LC8(%rip), %rdi
991 movl $487, %edx
992 call __assert_fail@PLT
993 .L260:
994 leaq __PRETTY_FUNCTION__.9074(%rip), %rcx
995 leaq .LC3(%rip), %rsi
996 leaq .LC7(%rip), %rdi
997 movl $477, %edx
998 call __assert_fail@PLT
999 .L259:
1000 andb $2, %r10b
1001 je .L46
1002 jmp .L116
1003 .L27:
1004 leaq __PRETTY_FUNCTION__.9074(%rip), %rcx
1005 leaq .LC3(%rip), %rsi
1006 leaq .LC5(%rip), %rdi
1007 movl $424, %edx
1008 call __assert_fail@PLT
1009 .L254:
1010 cmpq %r13, %r11
1011 jne .L86
1012 .L85:
1013 leaq __PRETTY_FUNCTION__.9153(%rip), %rcx
1014 leaq .LC1(%rip), %rsi
1015 leaq .LC11(%rip), %rdi
1016 movl $747, %edx
1017 call __assert_fail@PLT
1018 .L112:
1019 leaq __PRETTY_FUNCTION__.9153(%rip), %rcx
1020 leaq .LC1(%rip), %rsi
1021 leaq .LC12(%rip), %rdi
1022 movl $799, %edx
1023 call __assert_fail@PLT
1024 .L251:
1025 leaq __PRETTY_FUNCTION__.9153(%rip), %rcx
1026 leaq .LC1(%rip), %rsi
1027 leaq .LC2(%rip), %rdi
1028 movl $420, %edx
1029 call __assert_fail@PLT
1030 .L24:
1031 leaq __PRETTY_FUNCTION__.9074(%rip), %rcx
1032 leaq .LC3(%rip), %rsi
1033 leaq .LC4(%rip), %rdi
1034 movl $395, %edx
1035 call __assert_fail@PLT
1036 .L244:
1037 leaq __PRETTY_FUNCTION__.9153(%rip), %rcx
1038 leaq .LC1(%rip), %rsi
1039 leaq .LC2(%rip), %rdi
1040 movl $564, %edx
1041 call __assert_fail@PLT
1042 .size gconv, .-gconv
1043 .section .rodata.str1.8
1044 .align 8
1045 .type __PRETTY_FUNCTION__.9074, @object
1046 .size __PRETTY_FUNCTION__.9074, 14
1047 __PRETTY_FUNCTION__.9074:
1048 .string "to_gap_single"
1049 .section .rodata.str1.1
1050 .type __PRETTY_FUNCTION__.9153, @object
1051 .size __PRETTY_FUNCTION__.9153, 6
1052 __PRETTY_FUNCTION__.9153:
1053 .string "gconv"
1054 .section .rodata
1055 .align 32
1056 .type from_ucs4, @object
1057 .size from_ucs4, 259
1058 from_ucs4:
1059 .byte 0
1060 .byte 1
1061 .byte 2
1062 .byte 3
1063 .byte 4
1064 .byte 5
1065 .byte 6
1066 .byte 7
1067 .byte 8
1068 .byte 9
1069 .byte 10
1070 .byte 11
1071 .byte 12
1072 .byte 13
1073 .byte 14
1074 .byte 15
1075 .byte 16
1076 .byte 17
1077 .byte 18
1078 .byte 19
1079 .byte 20
1080 .byte 21
1081 .byte 22
1082 .byte 23
1083 .byte 24
1084 .byte 25
1085 .byte 26
1086 .byte 27
1087 .byte 28
1088 .byte 29
1089 .byte 30
1090 .byte 31
1091 .byte 32
1092 .byte 33
1093 .byte 34
1094 .byte 35
1095 .byte 36
1096 .byte 37
1097 .byte 38
1098 .byte 39
1099 .byte 40
1100 .byte 41
1101 .byte 42
1102 .byte 43
1103 .byte 44
1104 .byte 45
1105 .byte 46
1106 .byte 47
1107 .byte 48
1108 .byte 49
1109 .byte 50
1110 .byte 51
1111 .byte 52
1112 .byte 53
1113 .byte 54
1114 .byte 55
1115 .byte 56
1116 .byte 57
1117 .byte 58
1118 .byte 59
1119 .byte 60
1120 .byte 61
1121 .byte 62
1122 .byte 63
1123 .byte 64
1124 .byte 65
1125 .byte 66
1126 .byte 67
1127 .byte 68
1128 .byte 69
1129 .byte 70
1130 .byte 71
1131 .byte 72
1132 .byte 73
1133 .byte 74
1134 .byte 75
1135 .byte 76
1136 .byte 77
1137 .byte 78
1138 .byte 79
1139 .byte 80
1140 .byte 81
1141 .byte 82
1142 .byte 83
1143 .byte 84
1144 .byte 85
1145 .byte 86
1146 .byte 87
1147 .byte 88
1148 .byte 89
1149 .byte 90
1150 .byte 91
1151 .byte 92
1152 .byte 93
1153 .byte 94
1154 .byte 95
1155 .byte 96
1156 .byte 97
1157 .byte 98
1158 .byte 99
1159 .byte 100
1160 .byte 101
1161 .byte 102
1162 .byte 103
1163 .byte 104
1164 .byte 105
1165 .byte 106
1166 .byte 107
1167 .byte 108
1168 .byte 109
1169 .byte 110
1170 .byte 111
1171 .byte 112
1172 .byte 113
1173 .byte 114
1174 .byte 115
1175 .byte 116
1176 .byte 117
1177 .byte 118
1178 .byte 119
1179 .byte 120
1180 .byte 121
1181 .byte 122
1182 .byte 123
1183 .byte 124
1184 .byte 125
1185 .byte 126
1186 .byte 127
1187 .byte -128
1188 .byte -127
1189 .byte -126
1190 .byte -125
1191 .byte -124
1192 .byte -123
1193 .byte -122
1194 .byte -121
1195 .byte -120
1196 .byte -119
1197 .byte -118
1198 .byte -117
1199 .byte -116
1200 .byte -115
1201 .byte -114
1202 .byte -113
1203 .byte -112
1204 .byte -111
1205 .byte -110
1206 .byte -109
1207 .byte -108
1208 .byte -107
1209 .byte -106
1210 .byte -105
1211 .byte -104
1212 .byte -103
1213 .byte -102
1214 .byte -101
1215 .byte -100
1216 .byte -99
1217 .byte -98
1218 .byte -97
1219 .byte 0
1220 .byte -95
1221 .byte -94
1222 .byte -93
1223 .byte -88
1224 .byte -91
1225 .byte 0
1226 .byte -89
1227 .byte 0
1228 .byte -87
1229 .byte -86
1230 .byte -85
1231 .byte 0
1232 .byte 0
1233 .byte 0
1234 .byte 0
1235 .byte -80
1236 .byte -79
1237 .byte -78
1238 .byte -77
1239 .byte 0
1240 .byte -75
1241 .byte -74
1242 .byte -73
1243 .byte 0
1244 .byte -71
1245 .byte -70
1246 .byte -69
1247 .byte -68
1248 .byte -67
1249 .byte 0
1250 .byte -65
1251 .byte -64
1252 .byte -63
1253 .byte -62
1254 .byte -61
1255 .byte -60
1256 .byte -59
1257 .byte -58
1258 .byte -57
1259 .byte -56
1260 .byte -55
1261 .byte -54
1262 .byte -53
1263 .byte -52
1264 .byte -51
1265 .byte -50
1266 .byte -49
1267 .byte 0
1268 .byte -47
1269 .byte -46
1270 .byte -45
1271 .byte -44
1272 .byte -43
1273 .byte -42
1274 .byte 0
1275 .byte -40
1276 .byte -39
1277 .byte -38
1278 .byte -37
1279 .byte -36
1280 .byte 0
1281 .byte 0
1282 .byte -33
1283 .byte -32
1284 .byte -31
1285 .byte -30
1286 .byte -29
1287 .byte -28
1288 .byte -27
1289 .byte -26
1290 .byte -25
1291 .byte -24
1292 .byte -23
1293 .byte -22
1294 .byte -21
1295 .byte -20
1296 .byte -19
1297 .byte -18
1298 .byte -17
1299 .byte 0
1300 .byte -15
1301 .byte -14
1302 .byte -13
1303 .byte -12
1304 .byte -11
1305 .byte -10
1306 .byte 0
1307 .byte -8
1308 .byte -7
1309 .byte -6
1310 .byte -5
1311 .byte -4
1312 .byte 0
1313 .byte 0
1314 .byte -3
1315 .byte -41
1316 .byte -9
1317 .byte -35
1318 .align 32
1319 .type from_idx, @object
1320 .size from_idx, 32
1321 from_idx:
1322 .value 0
1323 .value 255
1324 .long 0
1325 .value 338
1326 .value 339
1327 .long -82
1328 .value 376
1329 .value 376
1330 .long -118
1331 .value -1
1332 .value -1
1333 .long 0
1334 .align 32
1335 .type to_ucs4, @object
1336 .size to_ucs4, 1024
1337 to_ucs4:
1338 .zero 4
1339 .long 1
1340 .long 2
1341 .long 3
1342 .long 4
1343 .long 5
1344 .long 6
1345 .long 7
1346 .long 8
1347 .long 9
1348 .long 10
1349 .long 11
1350 .long 12
1351 .long 13
1352 .long 14
1353 .long 15
1354 .long 16
1355 .long 17
1356 .long 18
1357 .long 19
1358 .long 20
1359 .long 21
1360 .long 22
1361 .long 23
1362 .long 24
1363 .long 25
1364 .long 26
1365 .long 27
1366 .long 28
1367 .long 29
1368 .long 30
1369 .long 31
1370 .long 32
1371 .long 33
1372 .long 34
1373 .long 35
1374 .long 36
1375 .long 37
1376 .long 38
1377 .long 39
1378 .long 40
1379 .long 41
1380 .long 42
1381 .long 43
1382 .long 44
1383 .long 45
1384 .long 46
1385 .long 47
1386 .long 48
1387 .long 49
1388 .long 50
1389 .long 51
1390 .long 52
1391 .long 53
1392 .long 54
1393 .long 55
1394 .long 56
1395 .long 57
1396 .long 58
1397 .long 59
1398 .long 60
1399 .long 61
1400 .long 62
1401 .long 63
1402 .long 64
1403 .long 65
1404 .long 66
1405 .long 67
1406 .long 68
1407 .long 69
1408 .long 70
1409 .long 71
1410 .long 72
1411 .long 73
1412 .long 74
1413 .long 75
1414 .long 76
1415 .long 77
1416 .long 78
1417 .long 79
1418 .long 80
1419 .long 81
1420 .long 82
1421 .long 83
1422 .long 84
1423 .long 85
1424 .long 86
1425 .long 87
1426 .long 88
1427 .long 89
1428 .long 90
1429 .long 91
1430 .long 92
1431 .long 93
1432 .long 94
1433 .long 95
1434 .long 96
1435 .long 97
1436 .long 98
1437 .long 99
1438 .long 100
1439 .long 101
1440 .long 102
1441 .long 103
1442 .long 104
1443 .long 105
1444 .long 106
1445 .long 107
1446 .long 108
1447 .long 109
1448 .long 110
1449 .long 111
1450 .long 112
1451 .long 113
1452 .long 114
1453 .long 115
1454 .long 116
1455 .long 117
1456 .long 118
1457 .long 119
1458 .long 120
1459 .long 121
1460 .long 122
1461 .long 123
1462 .long 124
1463 .long 125
1464 .long 126
1465 .long 127
1466 .long 128
1467 .long 129
1468 .long 130
1469 .long 131
1470 .long 132
1471 .long 133
1472 .long 134
1473 .long 135
1474 .long 136
1475 .long 137
1476 .long 138
1477 .long 139
1478 .long 140
1479 .long 141
1480 .long 142
1481 .long 143
1482 .long 144
1483 .long 145
1484 .long 146
1485 .long 147
1486 .long 148
1487 .long 149
1488 .long 150
1489 .long 151
1490 .long 152
1491 .long 153
1492 .long 154
1493 .long 155
1494 .long 156
1495 .long 157
1496 .long 158
1497 .long 159
1498 .zero 4
1499 .long 161
1500 .long 162
1501 .long 163
1502 .zero 4
1503 .long 165
1504 .zero 4
1505 .long 167
1506 .long 164
1507 .long 169
1508 .long 170
1509 .long 171
1510 .zero 16
1511 .long 176
1512 .long 177
1513 .long 178
1514 .long 179
1515 .zero 4
1516 .long 181
1517 .long 182
1518 .long 183
1519 .zero 4
1520 .long 185
1521 .long 186
1522 .long 187
1523 .long 188
1524 .long 189
1525 .zero 4
1526 .long 191
1527 .long 192
1528 .long 193
1529 .long 194
1530 .long 195
1531 .long 196
1532 .long 197
1533 .long 198
1534 .long 199
1535 .long 200
1536 .long 201
1537 .long 202
1538 .long 203
1539 .long 204
1540 .long 205
1541 .long 206
1542 .long 207
1543 .zero 4
1544 .long 209
1545 .long 210
1546 .long 211
1547 .long 212
1548 .long 213
1549 .long 214
1550 .long 338
1551 .long 216
1552 .long 217
1553 .long 218
1554 .long 219
1555 .long 220
1556 .long 376
1557 .zero 4
1558 .long 223
1559 .long 224
1560 .long 225
1561 .long 226
1562 .long 227
1563 .long 228
1564 .long 229
1565 .long 230
1566 .long 231
1567 .long 232
1568 .long 233
1569 .long 234
1570 .long 235
1571 .long 236
1572 .long 237
1573 .long 238
1574 .long 239
1575 .zero 4
1576 .long 241
1577 .long 242
1578 .long 243
1579 .long 244
1580 .long 245
1581 .long 246
1582 .long 339
1583 .long 248
1584 .long 249
1585 .long 250
1586 .long 251
1587 .long 252
1588 .long 255
1589 .zero 8