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