clarify the purpose of this project
[nyanglibc.git] / iconvdata / ibm274.shared.s
blobd24d2e5559f1967d793d8adf306334891c98e229
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 "IBM274//"
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 $9, %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 $9, %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 %rdi, %rax
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), %r14d
116 movq %rdi, 40(%rsp)
117 leaq 48(%r12), %rdi
118 movq %rdx, 8(%rsp)
119 movq %r8, 32(%rsp)
120 movq %r9, 16(%rsp)
121 testb $1, %r14b
122 movl 208(%rsp), %ebx
123 movq %rsi, 80(%rsp)
124 movq %rdi, 72(%rsp)
125 movq $0, 64(%rsp)
126 jne .L15
127 cmpq $0, 104(%rax)
128 movq 144(%rax), %rsi
129 movq %rsi, 64(%rsp)
130 je .L15
131 movq %rsi, %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, 64(%rsp)
139 .L15:
140 testl %ebx, %ebx
141 jne .L216
142 movq 8(%rsp), %rax
143 movq 32(%rsp), %rcx
144 leaq 112(%rsp), %rdx
145 movl 216(%rsp), %ebx
146 movq 8(%r12), %r10
147 testq %rcx, %rcx
148 movq (%rax), %r13
149 movq %rcx, %rax
150 cmove %r12, %rax
151 cmpq $0, 16(%rsp)
152 movq (%rax), %r15
153 movl $0, %eax
154 movq $0, 112(%rsp)
155 cmovne %rdx, %rax
156 testl %ebx, %ebx
157 movq %rax, 96(%rsp)
158 movq 40(%rsp), %rax
159 setne 95(%rsp)
160 movzbl 95(%rsp), %esi
161 movq 96(%rax), %rax
162 testq %rax, %rax
163 je .L113
164 testb %sil, %sil
165 je .L113
166 movq 32(%r12), %rbx
167 movl (%rbx), %esi
168 movl %esi, %edx
169 andl $7, %edx
170 jne .L217
171 .L113:
172 movq $0, 24(%rsp)
173 .L22:
174 leaq 136(%rsp), %rsi
175 movq %rsi, 104(%rsp)
176 .p2align 4,,10
177 .p2align 3
178 .L103:
179 movq 16(%rsp), %rdi
180 testq %rdi, %rdi
181 je .L53
182 movq (%rdi), %rcx
183 addq %rcx, 24(%rsp)
184 .L53:
185 testq %rax, %rax
186 je .L218
187 leaq 128(%rsp), %rsi
188 movq %r13, 128(%rsp)
189 movq %r15, %rbx
190 movq %r15, 136(%rsp)
191 movq %r13, %rax
192 movl $4, %r11d
193 andl $2, %r14d
194 movq %rsi, 48(%rsp)
195 .L61:
196 cmpq %rax, %rbp
197 je .L62
198 .L69:
199 leaq 4(%rax), %rsi
200 cmpq %rsi, %rbp
201 jb .L121
202 cmpq %rbx, %r10
203 jbe .L122
204 movl (%rax), %edx
205 cmpl $249, %edx
206 ja .L63
207 leaq from_ucs4(%rip), %rdi
208 movl %edx, %ecx
209 movzbl (%rdi,%rcx), %ecx
210 testb %cl, %cl
211 jne .L64
212 testl %edx, %edx
213 jne .L63
214 .L64:
215 leaq 1(%rbx), %rdx
216 movq %rdx, 136(%rsp)
217 movb %cl, (%rbx)
218 movq 128(%rsp), %rax
219 movq 136(%rsp), %rbx
220 addq $4, %rax
221 cmpq %rax, %rbp
222 movq %rax, 128(%rsp)
223 jne .L69
224 .p2align 4,,10
225 .p2align 3
226 .L62:
227 cmpq $0, 32(%rsp)
228 movq 8(%rsp), %rdi
229 movq %rax, (%rdi)
230 jne .L219
231 .L70:
232 addl $1, 20(%r12)
233 testb $1, 16(%r12)
234 jne .L220
235 cmpq %rbx, %r15
236 jnb .L125
237 movq 64(%rsp), %r14
238 movq (%r12), %rax
239 movl %r11d, 56(%rsp)
240 movq %r10, 48(%rsp)
241 movq %r14, %rdi
242 movq %rax, 120(%rsp)
243 call _dl_mcount_wrapper_check@PLT
244 movl 216(%rsp), %eax
245 leaq 120(%rsp), %rdx
246 xorl %r8d, %r8d
247 movq %rbx, %rcx
248 pushq %rax
249 pushq $0
250 movq 32(%rsp), %r9
251 movq 88(%rsp), %rsi
252 movq 96(%rsp), %rdi
253 call *%r14
254 popq %rsi
255 cmpl $4, %eax
256 movl %eax, %r14d
257 popq %rdi
258 movq 48(%rsp), %r10
259 movl 56(%rsp), %r11d
260 je .L74
261 movq 120(%rsp), %r11
262 cmpq %rbx, %r11
263 jne .L221
264 .L73:
265 testl %r14d, %r14d
266 jne .L136
267 .L102:
268 movq 112(%rsp), %rax
269 movq 8(%rsp), %rdi
270 movl 16(%r12), %r14d
271 movq (%r12), %r15
272 movq %rax, 24(%rsp)
273 movq 40(%rsp), %rax
274 movq (%rdi), %r13
275 movq 96(%rax), %rax
276 jmp .L103
277 .p2align 4,,10
278 .p2align 3
279 .L63:
280 shrl $7, %edx
281 cmpl $7168, %edx
282 je .L222
283 cmpq $0, 96(%rsp)
284 je .L124
285 testb $8, 16(%r12)
286 jne .L223
287 .L67:
288 testl %r14d, %r14d
289 jne .L224
290 .L124:
291 movl $6, %r11d
292 jmp .L62
293 .p2align 4,,10
294 .p2align 3
295 .L218:
296 cmpq %r13, %rbp
297 je .L116
298 leaq 4(%r15), %rdx
299 cmpq %rdx, %r10
300 jb .L117
301 movq %r13, %rax
302 movq %r15, %rbx
303 movl $4, %r11d
304 andl $2, %r14d
305 .p2align 4,,10
306 .p2align 3
307 .L56:
308 movzbl (%rax), %esi
309 leaq to_ucs4(%rip), %r9
310 movq %rax, %rdi
311 movq %rsi, %rcx
312 movl (%r9,%rsi,4), %esi
313 testb %cl, %cl
314 je .L57
315 testl %esi, %esi
316 je .L225
317 .L57:
318 addq $1, %rax
319 movl %esi, (%rbx)
320 movq %rdx, %rbx
321 movq %rax, %rdi
322 .L58:
323 cmpq %rax, %rbp
324 je .L55
325 leaq 4(%rbx), %rdx
326 cmpq %rdx, %r10
327 jnb .L56
328 movl $5, %r11d
329 .L55:
330 cmpq $0, 32(%rsp)
331 movq 8(%rsp), %rax
332 movq %rdi, (%rax)
333 je .L70
334 .L219:
335 movq 32(%rsp), %rax
336 movl %r11d, %r8d
337 movq %rbx, (%rax)
338 .L14:
339 addq $152, %rsp
340 movl %r8d, %eax
341 popq %rbx
342 popq %rbp
343 popq %r12
344 popq %r13
345 popq %r14
346 popq %r15
348 .p2align 4,,10
349 .p2align 3
350 .L121:
351 movl $7, %r11d
352 jmp .L62
353 .p2align 4,,10
354 .p2align 3
355 .L74:
356 cmpl $5, %r11d
357 movl %r11d, %r14d
358 jne .L73
359 jmp .L102
360 .p2align 4,,10
361 .p2align 3
362 .L122:
363 movl $5, %r11d
364 jmp .L62
365 .p2align 4,,10
366 .p2align 3
367 .L220:
368 movq 16(%rsp), %rdi
369 movq %rbx, (%r12)
370 movl %r11d, %r8d
371 movq 112(%rsp), %rax
372 addq %rax, (%rdi)
373 .L72:
374 movq 40(%rsp), %rax
375 cmpq $0, 96(%rax)
376 setne %al
377 testb %al, 95(%rsp)
378 je .L14
379 cmpl $7, %r8d
380 jne .L14
381 movq 8(%rsp), %rax
382 movq %rbp, %rdx
383 movq (%rax), %rdi
384 subq %rdi, %rdx
385 cmpq $4, %rdx
386 ja .L105
387 xorl %eax, %eax
388 testq %rdx, %rdx
389 movq 32(%r12), %rsi
390 je .L107
391 .L106:
392 movzbl (%rdi,%rax), %ecx
393 movb %cl, 4(%rsi,%rax)
394 addq $1, %rax
395 cmpq %rax, %rdx
396 jne .L106
397 .L107:
398 movq 8(%rsp), %rax
399 movq %rbp, (%rax)
400 movl (%rsi), %eax
401 andl $-8, %eax
402 orl %eax, %edx
403 movl %edx, (%rsi)
404 jmp .L14
405 .p2align 4,,10
406 .p2align 3
407 .L125:
408 movl %r11d, %r14d
409 jmp .L73
410 .p2align 4,,10
411 .p2align 3
412 .L225:
413 cmpq $0, 96(%rsp)
414 je .L120
415 testl %r14d, %r14d
416 jne .L226
417 .L120:
418 movl $6, %r11d
419 jmp .L55
420 .p2align 4,,10
421 .p2align 3
422 .L223:
423 movq %r10, 56(%rsp)
424 subq $8, %rsp
425 movq %rbp, %r8
426 pushq 104(%rsp)
427 movq 24(%rsp), %rax
428 movq %r12, %rsi
429 movq 120(%rsp), %r9
430 movq 64(%rsp), %rcx
431 movq 56(%rsp), %rdi
432 movq (%rax), %rdx
433 call __gconv_transliterate@PLT
434 movl %eax, %r11d
435 popq %r8
436 cmpl $6, %r11d
437 popq %r9
438 movq 128(%rsp), %rax
439 movq 136(%rsp), %rbx
440 movq 56(%rsp), %r10
441 je .L67
442 cmpl $5, %r11d
443 jne .L61
444 jmp .L62
445 .p2align 4,,10
446 .p2align 3
447 .L222:
448 movq %rsi, 128(%rsp)
449 movq %rsi, %rax
450 jmp .L61
451 .p2align 4,,10
452 .p2align 3
453 .L224:
454 movq 96(%rsp), %rdi
455 addq $4, %rax
456 movl $6, %r11d
457 movq %rax, 128(%rsp)
458 addq $1, (%rdi)
459 jmp .L61
460 .p2align 4,,10
461 .p2align 3
462 .L221:
463 movq 16(%rsp), %rsi
464 xorl %eax, %eax
465 testq %rsi, %rsi
466 je .L76
467 movq (%rsi), %rax
468 .L76:
469 addq 112(%rsp), %rax
470 cmpq 24(%rsp), %rax
471 movq 8(%rsp), %rax
472 je .L227
473 movq %r13, (%rax)
474 movq 40(%rsp), %rax
475 movl 16(%r12), %ecx
476 cmpq $0, 96(%rax)
477 je .L228
478 andl $2, %ecx
479 leaq 128(%rsp), %rbx
480 movq %r13, 128(%rsp)
481 movq %r15, 136(%rsp)
482 movq %r15, %rdx
483 movl $4, %eax
484 movl %ecx, 24(%rsp)
485 .L91:
486 cmpq %r13, %rbp
487 je .L229
488 .L99:
489 leaq 4(%r13), %rdi
490 cmpq %rdi, %rbp
491 jb .L130
492 cmpq %rdx, %r11
493 jbe .L133
494 movl 0(%r13), %ecx
495 cmpl $249, %ecx
496 ja .L93
497 leaq from_ucs4(%rip), %r8
498 movl %ecx, %esi
499 movzbl (%r8,%rsi), %esi
500 testb %sil, %sil
501 jne .L94
502 testl %ecx, %ecx
503 jne .L93
504 .L94:
505 leaq 1(%rdx), %rcx
506 movq %rcx, 136(%rsp)
507 movb %sil, (%rdx)
508 movq 128(%rsp), %rcx
509 movq 136(%rsp), %rdx
510 leaq 4(%rcx), %r13
511 cmpq %r13, %rbp
512 movq %r13, 128(%rsp)
513 jne .L99
514 .L229:
515 movslq %eax, %rdi
516 movq %rbp, %r13
517 .L92:
518 movq 8(%rsp), %rax
519 movq 120(%rsp), %r11
520 movq %r13, (%rax)
521 .L90:
522 cmpq %r11, %rdx
523 jne .L82
524 cmpq $5, %rdi
525 jne .L81
526 cmpq %rdx, %r15
527 jne .L73
528 .L84:
529 subl $1, 20(%r12)
530 jmp .L73
531 .p2align 4,,10
532 .p2align 3
533 .L217:
534 testq %rcx, %rcx
535 jne .L230
536 cmpl $4, %edx
537 movq %r13, 128(%rsp)
538 movq %r15, 136(%rsp)
539 ja .L24
540 leaq 120(%rsp), %rdi
541 movslq %edx, %rdx
542 xorl %eax, %eax
543 movq %rdx, %r11
544 movq %rdi, 24(%rsp)
545 .L25:
546 movzbl 4(%rbx,%rax), %ecx
547 movb %cl, (%rdi,%rax)
548 addq $1, %rax
549 cmpq %rdx, %rax
550 jne .L25
551 movq %r13, %rcx
552 subq %rax, %rcx
553 addq $4, %rcx
554 cmpq %rcx, %rbp
555 jb .L231
556 cmpq %r10, %r15
557 movl $5, %r8d
558 jnb .L14
559 leaq 1(%r13), %rax
560 leaq 119(%rsp), %r8
561 .L33:
562 movq %rax, 128(%rsp)
563 movzbl -1(%rax), %ecx
564 addq $1, %r11
565 movq %rax, %rdi
566 addq $1, %rax
567 cmpq $3, %r11
568 movb %cl, (%r8,%r11)
569 ja .L138
570 cmpq %rdi, %rbp
571 ja .L33
572 .L138:
573 movq 24(%rsp), %rax
574 movq %rax, 128(%rsp)
575 movl 120(%rsp), %eax
576 cmpl $249, %eax
577 ja .L35
578 leaq from_ucs4(%rip), %rdi
579 movl %eax, %ecx
580 movzbl (%rdi,%rcx), %ecx
581 testb %cl, %cl
582 jne .L36
583 testl %eax, %eax
584 je .L36
585 .L35:
586 shrl $7, %eax
587 cmpl $7168, %eax
588 je .L232
589 cmpq $0, 96(%rsp)
590 je .L114
591 testb $8, %r14b
592 jne .L233
593 andl $2, %r14d
594 movl $6, %r8d
595 movq 24(%rsp), %rax
596 je .L14
597 .L43:
598 movq 96(%rsp), %rsi
599 addq $4, %rax
600 movq %rax, 128(%rsp)
601 addq $1, (%rsi)
602 .L44:
603 cmpq 24(%rsp), %rax
604 jne .L215
605 .L114:
606 movl $6, %r8d
607 jmp .L14
608 .p2align 4,,10
609 .p2align 3
610 .L227:
611 movq 40(%rsp), %rsi
612 subq %r11, %rbx
613 movq (%rax), %rax
614 cmpq $0, 96(%rsi)
615 je .L234
616 salq $2, %rbx
617 subq %rbx, %rax
618 movq 8(%rsp), %rbx
619 movq %rax, (%rbx)
620 jmp .L73
621 .L36:
622 leaq 1(%r15), %rax
623 movq %rax, 136(%rsp)
624 movb %cl, (%r15)
625 movq 128(%rsp), %rax
626 addq $4, %rax
627 cmpq 24(%rsp), %rax
628 movq %rax, 128(%rsp)
629 je .L45
630 .L215:
631 movl (%rbx), %esi
632 movl %esi, %edx
633 andl $7, %edx
634 .L38:
635 subq 24(%rsp), %rax
636 cmpq %rdx, %rax
637 jle .L235
638 movq 8(%rsp), %rdi
639 subq %rdx, %rax
640 andl $-8, %esi
641 movq 136(%rsp), %r15
642 movl 16(%r12), %r14d
643 addq (%rdi), %rax
644 movq %rax, (%rdi)
645 movq %rax, %r13
646 movq 112(%rsp), %rax
647 movl %esi, (%rbx)
648 movq %rax, 24(%rsp)
649 movq 40(%rsp), %rax
650 movq 96(%rax), %rax
651 jmp .L22
652 .p2align 4,,10
653 .p2align 3
654 .L117:
655 movq %r13, %rdi
656 movq %r15, %rbx
657 movl $5, %r11d
658 jmp .L55
659 .L226:
660 movq 96(%rsp), %rsi
661 leaq 1(%rax), %rax
662 movl $6, %r11d
663 movq %rax, %rdi
664 addq $1, (%rsi)
665 jmp .L58
666 .L216:
667 cmpq $0, 32(%rsp)
668 jne .L236
669 movq 32(%r12), %rax
670 xorl %r8d, %r8d
671 movq $0, (%rax)
672 testb $1, 16(%r12)
673 jne .L14
674 movq 64(%rsp), %r15
675 movq %r15, %rdi
676 call _dl_mcount_wrapper_check@PLT
677 movl 216(%rsp), %eax
678 xorl %r8d, %r8d
679 xorl %ecx, %ecx
680 xorl %edx, %edx
681 pushq %rax
682 pushq %rbx
683 movq 32(%rsp), %r9
684 movq 88(%rsp), %rsi
685 movq 96(%rsp), %rdi
686 call *%r15
687 popq %rbp
688 movl %eax, %r8d
689 popq %r12
690 jmp .L14
691 .L136:
692 movl %r14d, %r8d
693 jmp .L72
694 .L234:
695 leaq 3(%rbx), %rdx
696 testq %rbx, %rbx
697 cmovs %rdx, %rbx
698 sarq $2, %rbx
699 subq %rbx, %rax
700 movq 8(%rsp), %rbx
701 movq %rax, (%rbx)
702 jmp .L73
703 .L116:
704 movq %rbp, %rdi
705 movq %r15, %rbx
706 movl $4, %r11d
707 jmp .L55
708 .L228:
709 cmpq %r13, %rbp
710 je .L237
711 leaq 4(%r15), %rax
712 cmpq %r11, %rax
713 ja .L238
714 andl $2, %ecx
715 movq %r15, %rdx
716 movl $4, %edi
717 movl %ecx, %r9d
718 movq %r13, %rcx
719 .p2align 4,,10
720 .p2align 3
721 .L85:
722 movzbl (%rcx), %esi
723 leaq to_ucs4(%rip), %r13
724 movq %rcx, %r8
725 movq %rsi, %rbx
726 movl 0(%r13,%rsi,4), %esi
727 testl %esi, %esi
728 jne .L87
729 testb %bl, %bl
730 jne .L239
731 .L87:
732 addq $1, %rcx
733 movl %esi, (%rdx)
734 movq %rax, %rdx
735 movq %rcx, %r8
736 .L88:
737 cmpq %rcx, %rbp
738 je .L240
739 leaq 4(%rdx), %rax
740 cmpq %rax, %r11
741 jnb .L85
742 movl $5, %edi
743 .L86:
744 movq 8(%rsp), %rax
745 movq %r8, (%rax)
746 jmp .L90
747 .L93:
748 shrl $7, %ecx
749 cmpl $7168, %ecx
750 je .L241
751 cmpq $0, 96(%rsp)
752 je .L134
753 testb $8, 16(%r12)
754 jne .L242
755 .L97:
756 movl 24(%rsp), %eax
757 testl %eax, %eax
758 jne .L243
759 .L134:
760 movl $6, %edi
761 jmp .L92
762 .L130:
763 movl $7, %edi
764 jmp .L92
765 .L242:
766 movq %r11, 56(%rsp)
767 movq %r10, 48(%rsp)
768 subq $8, %rsp
769 pushq 104(%rsp)
770 movq 24(%rsp), %rax
771 movq %rbx, %rcx
772 movq 120(%rsp), %r9
773 movq 56(%rsp), %rdi
774 movq %rbp, %r8
775 movq %r12, %rsi
776 movq (%rax), %rdx
777 call __gconv_transliterate@PLT
778 popq %rdx
779 cmpl $6, %eax
780 popq %rcx
781 movq 128(%rsp), %r13
782 movq 136(%rsp), %rdx
783 movq 48(%rsp), %r10
784 movq 56(%rsp), %r11
785 je .L97
786 cmpl $5, %eax
787 jne .L91
788 .L133:
789 movl $5, %edi
790 jmp .L92
791 .L231:
792 movq %rbp, %rdx
793 movq 8(%rsp), %rsi
794 subq %r13, %rdx
795 addq %rax, %rdx
796 cmpq $4, %rdx
797 movq %rbp, (%rsi)
798 ja .L27
799 addq $1, %r13
800 cmpq %rax, %rdx
801 jbe .L29
802 .L30:
803 movq %r13, 128(%rsp)
804 movzbl -1(%r13), %eax
805 addq $1, %r13
806 movb %al, 4(%rbx,%r11)
807 addq $1, %r11
808 cmpq %r11, %rdx
809 jne .L30
810 .L29:
811 movl $7, %r8d
812 jmp .L14
813 .L239:
814 cmpq $0, 96(%rsp)
815 je .L129
816 testl %r9d, %r9d
817 jne .L244
818 .L129:
819 movl $6, %edi
820 jmp .L86
821 .L243:
822 movq 96(%rsp), %rax
823 addq $4, %r13
824 movq %r13, 128(%rsp)
825 addq $1, (%rax)
826 movl $6, %eax
827 jmp .L91
828 .L241:
829 movq %rdi, 128(%rsp)
830 movq %rdi, %r13
831 jmp .L91
832 .L240:
833 movq %rbp, %r8
834 jmp .L86
835 .L48:
836 testl %r8d, %r8d
837 jne .L14
838 .L45:
839 movq 112(%rsp), %rax
840 movq 8(%rsp), %rbx
841 movl 16(%r12), %r14d
842 movq %rax, 24(%rsp)
843 movq 40(%rsp), %rax
844 movq (%rbx), %r13
845 movq 96(%rax), %rax
846 jmp .L22
847 .L238:
848 cmpq %r15, %r11
849 je .L84
850 .L82:
851 leaq __PRETTY_FUNCTION__.9138(%rip), %rcx
852 leaq .LC1(%rip), %rsi
853 leaq .LC10(%rip), %rdi
854 movl $746, %edx
855 call __assert_fail@PLT
856 .p2align 4,,10
857 .p2align 3
858 .L244:
859 movq 96(%rsp), %rax
860 leaq 1(%rcx), %rcx
861 movl $6, %edi
862 movq %rcx, %r8
863 addq $1, (%rax)
864 jmp .L88
865 .L232:
866 movq 24(%rsp), %rax
867 addq $4, %rax
868 movq %rax, 128(%rsp)
869 jmp .L38
870 .L233:
871 movq 24(%rsp), %rax
872 movq %r10, 104(%rsp)
873 leaq 128(%rsp), %rcx
874 movq %r11, 56(%rsp)
875 subq $8, %rsp
876 movq %r13, %rdx
877 movq %r12, %rsi
878 addq %r11, %rax
879 movq %rax, 56(%rsp)
880 pushq 104(%rsp)
881 movq %rax, %r8
882 movq 56(%rsp), %rdi
883 leaq 152(%rsp), %r9
884 call __gconv_transliterate@PLT
885 popq %r10
886 cmpl $6, %eax
887 movl %eax, %r8d
888 popq %r11
889 movq 56(%rsp), %r11
890 movq 104(%rsp), %r10
891 je .L245
892 movq 128(%rsp), %rax
893 cmpq 24(%rsp), %rax
894 jne .L215
895 cmpl $7, %r8d
896 jne .L48
897 movq 24(%rsp), %rax
898 addq $4, %rax
899 cmpq %rax, 48(%rsp)
900 je .L246
901 movl (%rbx), %eax
902 movq 8(%rsp), %rdi
903 movq %r11, %rsi
904 movl %eax, %edx
905 andl $-8, %eax
906 andl $7, %edx
907 subq %rdx, %rsi
908 movslq %eax, %rdx
909 addq %rsi, (%rdi)
910 cmpq %rdx, %r11
911 jle .L247
912 cmpq $4, %r11
913 ja .L248
914 orl %r11d, %eax
915 testq %r11, %r11
916 movl %eax, (%rbx)
917 je .L29
918 movq 24(%rsp), %rcx
919 xorl %eax, %eax
920 .L52:
921 movzbl (%rcx,%rax), %edx
922 movb %dl, 4(%rbx,%rax)
923 addq $1, %rax
924 cmpq %rax, %r11
925 jne .L52
926 jmp .L29
927 .L237:
928 cmpq %r15, %r11
929 jne .L82
930 .L81:
931 leaq __PRETTY_FUNCTION__.9138(%rip), %rcx
932 leaq .LC1(%rip), %rsi
933 leaq .LC11(%rip), %rdi
934 movl $747, %edx
935 call __assert_fail@PLT
936 .p2align 4,,10
937 .p2align 3
938 .L245:
939 andl $2, %r14d
940 movq 128(%rsp), %rax
941 je .L44
942 jmp .L43
943 .L248:
944 leaq __PRETTY_FUNCTION__.9064(%rip), %rcx
945 leaq .LC3(%rip), %rsi
946 leaq .LC9(%rip), %rdi
947 movl $488, %edx
948 call __assert_fail@PLT
949 .L247:
950 leaq __PRETTY_FUNCTION__.9064(%rip), %rcx
951 leaq .LC3(%rip), %rsi
952 leaq .LC8(%rip), %rdi
953 movl $487, %edx
954 call __assert_fail@PLT
955 .L246:
956 leaq __PRETTY_FUNCTION__.9064(%rip), %rcx
957 leaq .LC3(%rip), %rsi
958 leaq .LC7(%rip), %rdi
959 movl $477, %edx
960 call __assert_fail@PLT
961 .L236:
962 leaq __PRETTY_FUNCTION__.9138(%rip), %rcx
963 leaq .LC1(%rip), %rsi
964 leaq .LC2(%rip), %rdi
965 movl $420, %edx
966 call __assert_fail@PLT
967 .L105:
968 leaq __PRETTY_FUNCTION__.9138(%rip), %rcx
969 leaq .LC1(%rip), %rsi
970 leaq .LC12(%rip), %rdi
971 movl $799, %edx
972 call __assert_fail@PLT
973 .L235:
974 leaq __PRETTY_FUNCTION__.9064(%rip), %rcx
975 leaq .LC3(%rip), %rsi
976 leaq .LC6(%rip), %rdi
977 movl $459, %edx
978 call __assert_fail@PLT
979 .L27:
980 leaq __PRETTY_FUNCTION__.9064(%rip), %rcx
981 leaq .LC3(%rip), %rsi
982 leaq .LC5(%rip), %rdi
983 movl $424, %edx
984 call __assert_fail@PLT
985 .L24:
986 leaq __PRETTY_FUNCTION__.9064(%rip), %rcx
987 leaq .LC3(%rip), %rsi
988 leaq .LC4(%rip), %rdi
989 movl $395, %edx
990 call __assert_fail@PLT
991 .L230:
992 leaq __PRETTY_FUNCTION__.9138(%rip), %rcx
993 leaq .LC1(%rip), %rsi
994 leaq .LC2(%rip), %rdi
995 movl $564, %edx
996 call __assert_fail@PLT
997 .size gconv, .-gconv
998 .section .rodata.str1.16,"aMS",@progbits,1
999 .align 16
1000 .type __PRETTY_FUNCTION__.9064, @object
1001 .size __PRETTY_FUNCTION__.9064, 18
1002 __PRETTY_FUNCTION__.9064:
1003 .string "to_generic_single"
1004 .section .rodata.str1.1
1005 .type __PRETTY_FUNCTION__.9138, @object
1006 .size __PRETTY_FUNCTION__.9138, 6
1007 __PRETTY_FUNCTION__.9138:
1008 .string "gconv"
1009 .section .rodata
1010 .align 32
1011 .type from_ucs4, @object
1012 .size from_ucs4, 250
1013 from_ucs4:
1014 .zero 1
1015 .byte 1
1016 .byte 2
1017 .byte 3
1018 .byte 55
1019 .byte 45
1020 .byte 46
1021 .byte 47
1022 .byte 22
1023 .byte 5
1024 .byte 37
1025 .byte 11
1026 .byte 12
1027 .byte 13
1028 .byte 14
1029 .byte 15
1030 .byte 16
1031 .byte 17
1032 .byte 18
1033 .byte 19
1034 .byte 60
1035 .byte 61
1036 .byte 50
1037 .byte 38
1038 .byte 24
1039 .byte 25
1040 .byte 63
1041 .byte 39
1042 .byte 28
1043 .byte 29
1044 .byte 30
1045 .byte 31
1046 .byte 64
1047 .byte 79
1048 .byte 127
1049 .byte 123
1050 .byte 91
1051 .byte 108
1052 .byte 80
1053 .byte 125
1054 .byte 77
1055 .byte 93
1056 .byte 92
1057 .byte 78
1058 .byte 107
1059 .byte 96
1060 .byte 75
1061 .byte 97
1062 .byte -16
1063 .byte -15
1064 .byte -14
1065 .byte -13
1066 .byte -12
1067 .byte -11
1068 .byte -10
1069 .byte -9
1070 .byte -8
1071 .byte -7
1072 .byte 122
1073 .byte 94
1074 .byte 76
1075 .byte 126
1076 .byte 110
1077 .byte 111
1078 .zero 1
1079 .byte -63
1080 .byte -62
1081 .byte -61
1082 .byte -60
1083 .byte -59
1084 .byte -58
1085 .byte -57
1086 .byte -56
1087 .byte -55
1088 .byte -47
1089 .byte -46
1090 .byte -45
1091 .byte -44
1092 .byte -43
1093 .byte -42
1094 .byte -41
1095 .byte -40
1096 .byte -39
1097 .byte -30
1098 .byte -29
1099 .byte -28
1100 .byte -27
1101 .byte -26
1102 .byte -25
1103 .byte -24
1104 .byte -23
1105 .byte 74
1106 .zero 1
1107 .byte 90
1108 .byte 95
1109 .byte 109
1110 .byte 121
1111 .byte -127
1112 .byte -126
1113 .byte -125
1114 .byte -124
1115 .byte -123
1116 .byte -122
1117 .byte -121
1118 .byte -120
1119 .byte -119
1120 .byte -111
1121 .byte -110
1122 .byte -109
1123 .byte -108
1124 .byte -107
1125 .byte -106
1126 .byte -105
1127 .byte -104
1128 .byte -103
1129 .byte -94
1130 .byte -93
1131 .byte -92
1132 .byte -91
1133 .byte -90
1134 .byte -89
1135 .byte -88
1136 .byte -87
1137 .zero 4
1138 .byte 7
1139 .byte 32
1140 .byte 33
1141 .byte 34
1142 .byte 35
1143 .byte 36
1144 .byte 21
1145 .byte 6
1146 .byte 23
1147 .byte 40
1148 .byte 41
1149 .byte 42
1150 .byte 43
1151 .byte 44
1152 .byte 9
1153 .byte 10
1154 .byte 27
1155 .byte 48
1156 .byte 49
1157 .byte 26
1158 .byte 51
1159 .byte 52
1160 .byte 53
1161 .byte 54
1162 .byte 8
1163 .byte 56
1164 .byte 57
1165 .byte 58
1166 .byte 59
1167 .byte 4
1168 .byte 20
1169 .byte 62
1170 .byte -1
1171 .zero 8
1172 .byte -95
1173 .zero 55
1174 .byte 124
1175 .zero 6
1176 .byte -32
1177 .byte -48
1178 .byte -64
1179 .zero 15
1180 .byte 106
1181 .align 32
1182 .type to_ucs4, @object
1183 .size to_ucs4, 1024
1184 to_ucs4:
1185 .zero 4
1186 .long 1
1187 .long 2
1188 .long 3
1189 .long 156
1190 .long 9
1191 .long 134
1192 .long 127
1193 .long 151
1194 .long 141
1195 .long 142
1196 .long 11
1197 .long 12
1198 .long 13
1199 .long 14
1200 .long 15
1201 .long 16
1202 .long 17
1203 .long 18
1204 .long 19
1205 .long 157
1206 .long 133
1207 .long 8
1208 .long 135
1209 .long 24
1210 .long 25
1211 .long 146
1212 .long 143
1213 .long 28
1214 .long 29
1215 .long 30
1216 .long 31
1217 .long 128
1218 .long 129
1219 .long 130
1220 .long 131
1221 .long 132
1222 .long 10
1223 .long 23
1224 .long 27
1225 .long 136
1226 .long 137
1227 .long 138
1228 .long 139
1229 .long 140
1230 .long 5
1231 .long 6
1232 .long 7
1233 .long 144
1234 .long 145
1235 .long 22
1236 .long 147
1237 .long 148
1238 .long 149
1239 .long 150
1240 .long 4
1241 .long 152
1242 .long 153
1243 .long 154
1244 .long 155
1245 .long 20
1246 .long 21
1247 .long 158
1248 .long 26
1249 .long 32
1250 .zero 36
1251 .long 91
1252 .long 46
1253 .long 60
1254 .long 40
1255 .long 43
1256 .long 33
1257 .long 38
1258 .zero 36
1259 .long 93
1260 .long 36
1261 .long 42
1262 .long 41
1263 .long 59
1264 .long 94
1265 .long 45
1266 .long 47
1267 .zero 32
1268 .long 249
1269 .long 44
1270 .long 37
1271 .long 95
1272 .long 62
1273 .long 63
1274 .zero 36
1275 .long 96
1276 .long 58
1277 .long 35
1278 .long 224
1279 .long 39
1280 .long 61
1281 .long 34
1282 .zero 4
1283 .long 97
1284 .long 98
1285 .long 99
1286 .long 100
1287 .long 101
1288 .long 102
1289 .long 103
1290 .long 104
1291 .long 105
1292 .zero 28
1293 .long 106
1294 .long 107
1295 .long 108
1296 .long 109
1297 .long 110
1298 .long 111
1299 .long 112
1300 .long 113
1301 .long 114
1302 .zero 28
1303 .long 168
1304 .long 115
1305 .long 116
1306 .long 117
1307 .long 118
1308 .long 119
1309 .long 120
1310 .long 121
1311 .long 122
1312 .zero 88
1313 .long 233
1314 .long 65
1315 .long 66
1316 .long 67
1317 .long 68
1318 .long 69
1319 .long 70
1320 .long 71
1321 .long 72
1322 .long 73
1323 .zero 24
1324 .long 232
1325 .long 74
1326 .long 75
1327 .long 76
1328 .long 77
1329 .long 78
1330 .long 79
1331 .long 80
1332 .long 81
1333 .long 82
1334 .zero 24
1335 .long 231
1336 .zero 4
1337 .long 83
1338 .long 84
1339 .long 85
1340 .long 86
1341 .long 87
1342 .long 88
1343 .long 89
1344 .long 90
1345 .zero 24
1346 .long 48
1347 .long 49
1348 .long 50
1349 .long 51
1350 .long 52
1351 .long 53
1352 .long 54
1353 .long 55
1354 .long 56
1355 .long 57
1356 .zero 20
1357 .long 159