clarify the purpose of this project
[nyanglibc.git] / iconvdata / ibm500.shared.s
blob8659550dcc7534f6c23000a84348233bb1f16360
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 "IBM500//"
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 $255, %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 $255, %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 $255, %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, 256
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 .byte 124
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 .byte -32
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 .byte -64
1138 .byte -69
1139 .byte -48
1140 .byte -95
1141 .byte 7
1142 .byte 32
1143 .byte 33
1144 .byte 34
1145 .byte 35
1146 .byte 36
1147 .byte 21
1148 .byte 6
1149 .byte 23
1150 .byte 40
1151 .byte 41
1152 .byte 42
1153 .byte 43
1154 .byte 44
1155 .byte 9
1156 .byte 10
1157 .byte 27
1158 .byte 48
1159 .byte 49
1160 .byte 26
1161 .byte 51
1162 .byte 52
1163 .byte 53
1164 .byte 54
1165 .byte 8
1166 .byte 56
1167 .byte 57
1168 .byte 58
1169 .byte 59
1170 .byte 4
1171 .byte 20
1172 .byte 62
1173 .byte -1
1174 .byte 65
1175 .byte -86
1176 .byte -80
1177 .byte -79
1178 .byte -97
1179 .byte -78
1180 .byte 106
1181 .byte -75
1182 .byte -67
1183 .byte -76
1184 .byte -102
1185 .byte -118
1186 .byte -70
1187 .byte -54
1188 .byte -81
1189 .byte -68
1190 .byte -112
1191 .byte -113
1192 .byte -22
1193 .byte -6
1194 .byte -66
1195 .byte -96
1196 .byte -74
1197 .byte -77
1198 .byte -99
1199 .byte -38
1200 .byte -101
1201 .byte -117
1202 .byte -73
1203 .byte -72
1204 .byte -71
1205 .byte -85
1206 .byte 100
1207 .byte 101
1208 .byte 98
1209 .byte 102
1210 .byte 99
1211 .byte 103
1212 .byte -98
1213 .byte 104
1214 .byte 116
1215 .byte 113
1216 .byte 114
1217 .byte 115
1218 .byte 120
1219 .byte 117
1220 .byte 118
1221 .byte 119
1222 .byte -84
1223 .byte 105
1224 .byte -19
1225 .byte -18
1226 .byte -21
1227 .byte -17
1228 .byte -20
1229 .byte -65
1230 .byte -128
1231 .byte -3
1232 .byte -2
1233 .byte -5
1234 .byte -4
1235 .byte -83
1236 .byte -82
1237 .byte 89
1238 .byte 68
1239 .byte 69
1240 .byte 66
1241 .byte 70
1242 .byte 67
1243 .byte 71
1244 .byte -100
1245 .byte 72
1246 .byte 84
1247 .byte 81
1248 .byte 82
1249 .byte 83
1250 .byte 88
1251 .byte 85
1252 .byte 86
1253 .byte 87
1254 .byte -116
1255 .byte 73
1256 .byte -51
1257 .byte -50
1258 .byte -53
1259 .byte -49
1260 .byte -52
1261 .byte -31
1262 .byte 112
1263 .byte -35
1264 .byte -34
1265 .byte -37
1266 .byte -36
1267 .byte -115
1268 .byte -114
1269 .byte -33
1270 .align 32
1271 .type to_ucs4, @object
1272 .size to_ucs4, 1024
1273 to_ucs4:
1274 .zero 4
1275 .long 1
1276 .long 2
1277 .long 3
1278 .long 156
1279 .long 9
1280 .long 134
1281 .long 127
1282 .long 151
1283 .long 141
1284 .long 142
1285 .long 11
1286 .long 12
1287 .long 13
1288 .long 14
1289 .long 15
1290 .long 16
1291 .long 17
1292 .long 18
1293 .long 19
1294 .long 157
1295 .long 133
1296 .long 8
1297 .long 135
1298 .long 24
1299 .long 25
1300 .long 146
1301 .long 143
1302 .long 28
1303 .long 29
1304 .long 30
1305 .long 31
1306 .long 128
1307 .long 129
1308 .long 130
1309 .long 131
1310 .long 132
1311 .long 10
1312 .long 23
1313 .long 27
1314 .long 136
1315 .long 137
1316 .long 138
1317 .long 139
1318 .long 140
1319 .long 5
1320 .long 6
1321 .long 7
1322 .long 144
1323 .long 145
1324 .long 22
1325 .long 147
1326 .long 148
1327 .long 149
1328 .long 150
1329 .long 4
1330 .long 152
1331 .long 153
1332 .long 154
1333 .long 155
1334 .long 20
1335 .long 21
1336 .long 158
1337 .long 26
1338 .long 32
1339 .long 160
1340 .long 226
1341 .long 228
1342 .long 224
1343 .long 225
1344 .long 227
1345 .long 229
1346 .long 231
1347 .long 241
1348 .long 91
1349 .long 46
1350 .long 60
1351 .long 40
1352 .long 43
1353 .long 33
1354 .long 38
1355 .long 233
1356 .long 234
1357 .long 235
1358 .long 232
1359 .long 237
1360 .long 238
1361 .long 239
1362 .long 236
1363 .long 223
1364 .long 93
1365 .long 36
1366 .long 42
1367 .long 41
1368 .long 59
1369 .long 94
1370 .long 45
1371 .long 47
1372 .long 194
1373 .long 196
1374 .long 192
1375 .long 193
1376 .long 195
1377 .long 197
1378 .long 199
1379 .long 209
1380 .long 166
1381 .long 44
1382 .long 37
1383 .long 95
1384 .long 62
1385 .long 63
1386 .long 248
1387 .long 201
1388 .long 202
1389 .long 203
1390 .long 200
1391 .long 205
1392 .long 206
1393 .long 207
1394 .long 204
1395 .long 96
1396 .long 58
1397 .long 35
1398 .long 64
1399 .long 39
1400 .long 61
1401 .long 34
1402 .long 216
1403 .long 97
1404 .long 98
1405 .long 99
1406 .long 100
1407 .long 101
1408 .long 102
1409 .long 103
1410 .long 104
1411 .long 105
1412 .long 171
1413 .long 187
1414 .long 240
1415 .long 253
1416 .long 254
1417 .long 177
1418 .long 176
1419 .long 106
1420 .long 107
1421 .long 108
1422 .long 109
1423 .long 110
1424 .long 111
1425 .long 112
1426 .long 113
1427 .long 114
1428 .long 170
1429 .long 186
1430 .long 230
1431 .long 184
1432 .long 198
1433 .long 164
1434 .long 181
1435 .long 126
1436 .long 115
1437 .long 116
1438 .long 117
1439 .long 118
1440 .long 119
1441 .long 120
1442 .long 121
1443 .long 122
1444 .long 161
1445 .long 191
1446 .long 208
1447 .long 221
1448 .long 222
1449 .long 174
1450 .long 162
1451 .long 163
1452 .long 165
1453 .long 183
1454 .long 169
1455 .long 167
1456 .long 182
1457 .long 188
1458 .long 189
1459 .long 190
1460 .long 172
1461 .long 124
1462 .long 175
1463 .long 168
1464 .long 180
1465 .long 215
1466 .long 123
1467 .long 65
1468 .long 66
1469 .long 67
1470 .long 68
1471 .long 69
1472 .long 70
1473 .long 71
1474 .long 72
1475 .long 73
1476 .long 173
1477 .long 244
1478 .long 246
1479 .long 242
1480 .long 243
1481 .long 245
1482 .long 125
1483 .long 74
1484 .long 75
1485 .long 76
1486 .long 77
1487 .long 78
1488 .long 79
1489 .long 80
1490 .long 81
1491 .long 82
1492 .long 185
1493 .long 251
1494 .long 252
1495 .long 249
1496 .long 250
1497 .long 255
1498 .long 92
1499 .long 247
1500 .long 83
1501 .long 84
1502 .long 85
1503 .long 86
1504 .long 87
1505 .long 88
1506 .long 89
1507 .long 90
1508 .long 178
1509 .long 212
1510 .long 214
1511 .long 210
1512 .long 211
1513 .long 213
1514 .long 48
1515 .long 49
1516 .long 50
1517 .long 51
1518 .long 52
1519 .long 53
1520 .long 54
1521 .long 55
1522 .long 56
1523 .long 57
1524 .long 179
1525 .long 219
1526 .long 220
1527 .long 217
1528 .long 218
1529 .long 159