clarify the purpose of this project
[nyanglibc.git] / intl / dcigettext.s.in
blobc7449ea362f4728f3331f3a2c339087fe795a6e0
1 .text
2 .p2align 4,,15
3 .type plural_eval, @function
4 plural_eval:
5 pushq %r12
6 pushq %rbp
7 movq %rsi, %r12
8 pushq %rbx
9 movq %rdi, %rbx
10 movl (%rbx), %eax
11 cmpl $1, %eax
12 je .L3
13 .L41:
14 jle .L40
15 cmpl $2, %eax
16 je .L6
17 cmpl $3, %eax
18 jne .L2
19 movq 8(%rbx), %rdi
20 movq %r12, %rsi
21 call plural_eval
22 testq %rax, %rax
23 sete %al
24 movzbl %al, %eax
25 addl $1, %eax
26 cltq
27 movq 8(%rbx,%rax,8), %rbx
28 movl (%rbx), %eax
29 cmpl $1, %eax
30 jne .L41
31 .L3:
32 movq 8(%rbx), %rdi
33 movq %r12, %rsi
34 xorl %ebp, %ebp
35 call plural_eval
36 testq %rax, %rax
37 sete %bpl
38 .L1:
39 movq %rbp, %rax
40 popq %rbx
41 popq %rbp
42 popq %r12
43 ret
44 .p2align 4,,10
45 .p2align 3
46 .L6:
47 movq 8(%rbx), %rdi
48 movq %r12, %rsi
49 call plural_eval
50 movq %rax, %rbp
51 movl 4(%rbx), %eax
52 cmpl $15, %eax
53 je .L42
54 cmpl $14, %eax
55 jne .L12
56 testq %rbp, %rbp
57 je .L1
58 .L38:
59 movq 16(%rbx), %rdi
60 movq %r12, %rsi
61 xorl %ebp, %ebp
62 call plural_eval
63 testq %rax, %rax
64 setne %bpl
65 jmp .L1
66 .p2align 4,,10
67 .p2align 3
68 .L40:
69 testl %eax, %eax
70 jne .L2
71 movl 4(%rbx), %eax
72 movq %r12, %rbp
73 testl %eax, %eax
74 je .L1
75 cmpl $1, %eax
76 jne .L2
77 movq 8(%rbx), %rbp
78 jmp .L1
79 .p2align 4,,10
80 .p2align 3
81 .L2:
82 xorl %ebp, %ebp
83 movq %rbp, %rax
84 popq %rbx
85 popq %rbp
86 popq %r12
87 ret
88 .p2align 4,,10
89 .p2align 3
90 .L42:
91 testq %rbp, %rbp
92 je .L38
93 movl $1, %ebp
94 jmp .L1
95 .p2align 4,,10
96 .p2align 3
97 .L12:
98 movq 16(%rbx), %rdi
99 movq %r12, %rsi
100 call plural_eval
101 movq %rax, %r12
102 movl 4(%rbx), %eax
103 subl $3, %eax
104 cmpl $10, %eax
105 ja .L2
106 leaq .L15(%rip), %rdx
107 movslq (%rdx,%rax,4), %rax
108 addq %rdx, %rax
109 jmp *%rax
110 .section .rodata
111 .align 4
112 .align 4
113 .L15:
114 .long .L14-.L15
115 .long .L16-.L15
116 .long .L17-.L15
117 .long .L18-.L15
118 .long .L19-.L15
119 .long .L20-.L15
120 .long .L21-.L15
121 .long .L22-.L15
122 .long .L23-.L15
123 .long .L24-.L15
124 .long .L25-.L15
125 .text
126 .L24:
127 cmpq %r12, %rbp
128 sete %bpl
129 movzbl %bpl, %ebp
130 jmp .L1
131 .L23:
132 cmpq %r12, %rbp
133 setnb %bpl
134 movzbl %bpl, %ebp
135 jmp .L1
136 .L22:
137 cmpq %r12, %rbp
138 setbe %bpl
139 movzbl %bpl, %ebp
140 jmp .L1
141 .L21:
142 cmpq %r12, %rbp
143 seta %bpl
144 movzbl %bpl, %ebp
145 jmp .L1
146 .L20:
147 cmpq %r12, %rbp
148 setb %bpl
149 movzbl %bpl, %ebp
150 jmp .L1
151 .L19:
152 subq %r12, %rbp
153 jmp .L1
154 .L18:
155 addq %r12, %rbp
156 jmp .L1
157 .L17:
158 testq %r12, %r12
159 jne .L27
160 movl $8, %edi
161 call raise
162 .L27:
163 movq %rbp, %rax
164 xorl %edx, %edx
165 divq %r12
166 movq %rdx, %rbp
167 jmp .L1
168 .L16:
169 testq %r12, %r12
170 jne .L26
171 movl $8, %edi
172 call raise
173 .L26:
174 movq %rbp, %rax
175 xorl %edx, %edx
176 divq %r12
177 movq %rax, %rbp
178 jmp .L1
179 .L14:
180 imulq %r12, %rbp
181 jmp .L1
182 .L25:
183 cmpq %r12, %rbp
184 setne %bpl
185 movzbl %bpl, %ebp
186 jmp .L1
187 .size plural_eval, .-plural_eval
188 .section __libc_freeres_fn,"ax",@progbits
189 .p2align 4,,15
190 .type free_mem, @function
191 free_mem:
192 pushq %rbp
193 pushq %rbx
194 subq $8, %rsp
195 movq _nl_domain_bindings(%rip), %rbx
196 testq %rbx, %rbx
197 je .L44
198 leaq _nl_default_dirname(%rip), %rbp
199 .p2align 4,,10
200 .p2align 3
201 .L46:
202 movq 8(%rbx), %rdi
203 movq (%rbx), %rax
204 cmpq %rbp, %rdi
205 movq %rax, _nl_domain_bindings(%rip)
206 je .L45
207 call free@PLT
208 .L45:
209 movq 16(%rbx), %rdi
210 call free@PLT
211 movq %rbx, %rdi
212 call free@PLT
213 movq _nl_domain_bindings(%rip), %rbx
214 testq %rbx, %rbx
215 jne .L46
216 .L44:
217 movq _nl_current_default_domain(%rip), %rdi
218 leaq _nl_default_default_domain(%rip), %rax
219 cmpq %rax, %rdi
220 je .L47
221 call free@PLT
222 .L47:
223 movq root(%rip), %rdi
224 movq free@GOTPCREL(%rip), %rsi
225 call __tdestroy
226 movq transmem_list(%rip), %rdi
227 movq $0, root(%rip)
228 testq %rdi, %rdi
229 je .L43
230 .p2align 4,,10
231 .p2align 3
232 .L49:
233 movq (%rdi), %rbx
234 movq %rbx, transmem_list(%rip)
235 call free@PLT
236 testq %rbx, %rbx
237 movq %rbx, %rdi
238 jne .L49
239 .L43:
240 addq $8, %rsp
241 popq %rbx
242 popq %rbp
244 .size free_mem, .-free_mem
245 .text
246 .p2align 4,,15
247 .type transcmp, @function
248 transcmp:
249 pushq %rbp
250 pushq %rbx
251 movq %rdi, %rbp
252 movq %rsi, %rbx
253 subq $8, %rsp
254 cmpq $0, 32(%rsi)
255 je .L60
256 leaq 56(%rsi), %rsi
257 .L61:
258 cmpq $0, 32(%rbp)
259 leaq 56(%rbp), %rdi
260 je .L66
261 .L63:
262 call strcmp
263 testl %eax, %eax
264 jne .L59
265 movq (%rbx), %rsi
266 movq 0(%rbp), %rdi
267 call strcmp
268 testl %eax, %eax
269 jne .L59
270 movq 16(%rbx), %rsi
271 movq 16(%rbp), %rdi
272 call strcmp
273 testl %eax, %eax
274 jne .L59
275 movl 8(%rbp), %eax
276 subl 8(%rbx), %eax
277 .L59:
278 addq $8, %rsp
279 popq %rbx
280 popq %rbp
282 .p2align 4,,10
283 .p2align 3
284 .L66:
285 movq 56(%rbp), %rdi
286 jmp .L63
287 .p2align 4,,10
288 .p2align 3
289 .L60:
290 movq 56(%rsi), %rsi
291 jmp .L61
292 .size transcmp, .-transcmp
293 .p2align 4,,15
294 .type plural_lookup.isra.2, @function
295 plural_lookup.isra.2:
296 pushq %r13
297 pushq %r12
298 movq %rdi, %r13
299 pushq %rbp
300 pushq %rbx
301 movq %rdx, %r12
302 movq %rcx, %rbp
303 subq $8, %rsp
304 movq 184(%rdi), %rdi
305 call plural_eval
306 cmpq 192(%r13), %rax
307 jnb .L68
308 movq %rax, %rbx
309 movq %r12, %rdi
310 addq %r12, %rbp
311 .p2align 4,,10
312 .p2align 3
313 .L69:
314 subq $1, %rbx
315 cmpq $-1, %rbx
316 je .L72
317 xorl %esi, %esi
318 call __rawmemchr
319 leaq 1(%rax), %rdi
320 cmpq %rbp, %rdi
321 jb .L69
322 .L68:
323 addq $8, %rsp
324 movq %r12, %rax
325 popq %rbx
326 popq %rbp
327 popq %r12
328 popq %r13
330 .L72:
331 movq %rdi, %r12
332 jmp .L68
333 .size plural_lookup.isra.2, .-plural_lookup.isra.2
334 .section .rodata.str1.1,"aMS",@progbits,1
335 .LC0:
336 .string "OUTPUT_CHARSET"
337 .LC1:
338 .string ""
339 .LC2:
340 .string "charset="
341 .LC3:
342 .string " \t\n"
343 .text
344 .p2align 4,,15
345 .globl _nl_find_msg
346 .hidden _nl_find_msg
347 .type _nl_find_msg, @function
348 _nl_find_msg:
349 pushq %rbp
350 movq %rsp, %rbp
351 pushq %r15
352 pushq %r14
353 pushq %r13
354 pushq %r12
355 pushq %rbx
356 subq $152, %rsp
357 movl 8(%rdi), %r9d
358 movq %rdi, -136(%rbp)
359 movq %rsi, -184(%rbp)
360 movq %rdx, -104(%rbp)
361 movl %ecx, -164(%rbp)
362 movq %r8, -176(%rbp)
363 testl %r9d, %r9d
364 jle .L238
365 .L74:
366 movq -136(%rbp), %rax
367 movq 16(%rax), %r12
368 testq %r12, %r12
369 je .L235
370 cmpq $0, 96(%r12)
371 movl 40(%r12), %eax
372 movl %eax, -112(%rbp)
373 je .L77
374 movq -104(%rbp), %r15
375 movq %r15, %rdi
376 call strlen
377 movq %r15, %rdi
378 movq %rax, %rbx
379 movl %eax, -144(%rbp)
380 call __hash_string
381 movl 88(%r12), %esi
382 xorl %edx, %edx
383 movl %eax, %r15d
384 divl %esi
385 leal -2(%rsi), %ecx
386 movl %r15d, %eax
387 movl %edx, %r14d
388 xorl %edx, %edx
389 divl %ecx
390 movl %ebx, %eax
391 movl 104(%r12), %ecx
392 movq %rax, -128(%rbp)
393 movl %esi, %eax
394 leal 1(%rdx), %r15d
395 movq 96(%r12), %rdx
396 movl %r15d, %r13d
397 subl %r15d, %eax
398 subl %esi, %r13d
399 movl %eax, -120(%rbp)
400 movl %r13d, %r11d
401 movl %r15d, %r13d
402 movl %ecx, %r15d
403 .p2align 4,,10
404 .p2align 3
405 .L78:
406 movl %r14d, %eax
407 testl %r15d, %r15d
408 movl (%rdx,%rax,4), %ebx
409 movl %ebx, %eax
410 bswap %eax
411 cmovne %eax, %ebx
412 testl %ebx, %ebx
413 je .L235
414 subl $1, %ebx
415 cmpl %ebx, -112(%rbp)
416 jbe .L81
417 movq 48(%r12), %rax
418 movl 24(%r12), %r8d
419 leaq (%rax,%rbx,8), %rdi
420 testl %r8d, %r8d
421 movl (%rdi), %eax
422 je .L82
423 bswap %eax
424 cmpl %eax, -144(%rbp)
425 ja .L84
426 movl 4(%rdi), %esi
427 movq (%r12), %rax
428 bswap %esi
429 movl %esi, %esi
430 .L155:
431 movl %r11d, -160(%rbp)
432 movq %rdx, -152(%rbp)
433 addq %rax, %rsi
434 jmp .L231
435 .p2align 4,,10
436 .p2align 3
437 .L81:
438 movl %ebx, %eax
439 subl -112(%rbp), %eax
440 movq -128(%rbp), %rdi
441 salq $4, %rax
442 addq 72(%r12), %rax
443 cmpq %rdi, (%rax)
444 jbe .L84
445 movq 8(%rax), %rsi
446 movl %r11d, -160(%rbp)
447 movq %rdx, -152(%rbp)
448 .L231:
449 movq -104(%rbp), %rdi
450 call strcmp
451 testl %eax, %eax
452 movq -152(%rbp), %rdx
453 movl -160(%rbp), %r11d
454 je .L239
455 .L84:
456 cmpl %r14d, -120(%rbp)
457 leal (%r14,%r11), %eax
458 leal (%r14,%r13), %esi
459 cmova %esi, %eax
460 movl %eax, %r14d
461 jmp .L78
462 .p2align 4,,10
463 .p2align 3
464 .L82:
465 cmpl %eax, -144(%rbp)
466 ja .L84
467 movq (%r12), %rax
468 movl 4(%rdi), %esi
469 jmp .L155
470 .L251:
471 #APP
472 # 1288 "dcigettext.c" 1
473 movl %fs:24,%eax
474 # 0 "" 2
475 #NO_APP
476 testl %eax, %eax
477 jne .L144
478 subl $1, lock.10997(%rip)
479 .p2align 4,,10
480 .p2align 3
481 .L235:
482 movq $0, -104(%rbp)
483 .L73:
484 movq -104(%rbp), %rax
485 leaq -40(%rbp), %rsp
486 popq %rbx
487 popq %r12
488 popq %r13
489 popq %r14
490 popq %r15
491 popq %rbp
493 .p2align 4,,10
494 .p2align 3
495 .L239:
496 movl -112(%rbp), %eax
497 movq %rax, -144(%rbp)
498 .L87:
499 cmpq -144(%rbp), %rbx
500 jnb .L96
501 movq 56(%r12), %rax
502 movl 24(%r12), %esi
503 movq (%r12), %rcx
504 leaq (%rax,%rbx,8), %rdx
505 testl %esi, %esi
506 movl 4(%rdx), %eax
507 movl (%rdx), %edx
508 je .L97
509 bswap %eax
510 bswap %edx
511 movl %eax, %eax
512 addq %rcx, %rax
513 movq %rax, -104(%rbp)
514 leal 1(%rdx), %eax
515 movl -164(%rbp), %edx
516 movq %rax, -120(%rbp)
517 testl %edx, %edx
518 je .L99
519 .L244:
520 movq -184(%rbp), %rax
521 testq %rax, %rax
522 je .L100
523 movq 16(%rax), %rax
524 testq %rax, %rax
525 movq %rax, -128(%rbp)
526 je .L100
527 .L101:
528 cmpq $0, __pthread_rwlock_rdlock@GOTPCREL(%rip)
529 je .L108
530 leaq 128(%r12), %rdi
531 call __pthread_rwlock_rdlock@PLT
532 .L108:
533 movq 120(%r12), %r15
534 testq %r15, %r15
535 je .L109
536 movq 112(%r12), %rdx
537 leaq (%r15,%r15,2), %rax
538 movq %rbx, -144(%rbp)
539 movq -128(%rbp), %r13
540 movq %r15, %rbx
541 leaq -24(%rdx,%rax,8), %r14
542 jmp .L111
543 .p2align 4,,10
544 .p2align 3
545 .L241:
546 subq $24, %r14
547 testq %rbx, %rbx
548 je .L240
549 .L111:
550 movq (%r14), %rdi
551 movq %r13, %rsi
552 subq $1, %rbx
553 call strcmp
554 testl %eax, %eax
555 jne .L241
556 cmpq $0, __pthread_rwlock_unlock@GOTPCREL(%rip)
557 movq %r14, %r13
558 movq -144(%rbp), %rbx
559 je .L113
560 .L232:
561 leaq 128(%r12), %rdi
562 call __pthread_rwlock_unlock@PLT
563 .L113:
564 cmpq $-1, 8(%r13)
565 je .L99
566 movq 16(%r13), %rax
567 testq %rax, %rax
568 je .L242
569 .L128:
570 cmpq $-1, %rax
571 je .L236
572 movq (%rax,%rbx,8), %rax
573 testq %rax, %rax
574 je .L137
575 .L234:
576 movq (%rax), %rdx
577 movq %rdx, -120(%rbp)
578 .L138:
579 addq $8, %rax
580 movq %rax, -104(%rbp)
581 jmp .L99
582 .p2align 4,,10
583 .p2align 3
584 .L77:
585 movl -112(%rbp), %eax
586 xorl %r15d, %r15d
587 movq %r12, %r14
588 movq %r15, %r12
589 movq %rax, -144(%rbp)
590 movq %rax, %rbx
591 jmp .L90
592 .p2align 4,,10
593 .p2align 3
594 .L243:
595 je .L227
596 leaq 1(%r15), %r12
597 .L90:
598 cmpq %r12, %rbx
599 jbe .L235
600 movq (%r14), %rax
601 movq 48(%r14), %r13
602 movq %rax, -120(%rbp)
603 movl 24(%r14), %eax
604 movl %eax, -128(%rbp)
605 .L95:
606 leaq (%r12,%rbx), %r15
607 movl -128(%rbp), %edi
608 shrq %r15
609 movl 4(%r13,%r15,8), %esi
610 testl %edi, %edi
611 movq -104(%rbp), %rdi
612 movl %esi, %eax
613 bswap %eax
614 cmovne %eax, %esi
615 addq -120(%rbp), %rsi
616 call strcmp
617 testl %eax, %eax
618 jns .L243
619 cmpq %r15, %r12
620 movq %r15, %rbx
621 jb .L95
622 jmp .L235
623 .p2align 4,,10
624 .p2align 3
625 .L238:
626 call _nl_load_domain
627 jmp .L74
628 .p2align 4,,10
629 .p2align 3
630 .L96:
631 movq %rbx, %rax
632 subq -144(%rbp), %rax
633 salq $4, %rax
634 addq 80(%r12), %rax
635 movq 8(%rax), %rdx
636 movq (%rax), %rax
637 movq %rdx, -104(%rbp)
638 movq %rax, -120(%rbp)
639 .L98:
640 movl -164(%rbp), %edx
641 testl %edx, %edx
642 jne .L244
643 .L99:
644 movq -176(%rbp), %rax
645 movq -120(%rbp), %rdx
646 movq %rdx, (%rax)
647 jmp .L73
648 .p2align 4,,10
649 .p2align 3
650 .L97:
651 addq %rcx, %rax
652 movq %rax, -104(%rbp)
653 leal 1(%rdx), %eax
654 movq %rax, -120(%rbp)
655 jmp .L98
656 .p2align 4,,10
657 .p2align 3
658 .L227:
659 movq %r14, %r12
660 movq %r15, %rbx
661 jmp .L87
662 .p2align 4,,10
663 .p2align 3
664 .L100:
665 movl output_charset_cached.11189(%rip), %eax
666 testl %eax, %eax
667 je .L102
668 movq output_charset_cache.11188(%rip), %rax
669 movq %rax, -128(%rbp)
670 .L103:
671 cmpq $0, -128(%rbp)
672 jne .L101
673 movq _nl_current_LC_CTYPE@gottpoff(%rip), %rax
674 movq %fs:(%rax), %rax
675 movq (%rax), %rax
676 movq 176(%rax), %rax
677 movq %rax, -128(%rbp)
678 jmp .L101
679 .p2align 4,,10
680 .p2align 3
681 .L240:
682 movq -144(%rbp), %rbx
683 .L109:
684 cmpq $0, __pthread_rwlock_unlock@GOTPCREL(%rip)
685 jne .L245
686 .L112:
687 cmpq $0, __pthread_rwlock_wrlock@GOTPCREL(%rip)
688 je .L114
689 leaq 128(%r12), %rdi
690 call __pthread_rwlock_wrlock@PLT
691 .L114:
692 movq 120(%r12), %rcx
693 movq 112(%r12), %rdx
694 testq %rcx, %rcx
695 movq %rcx, -152(%rbp)
696 movq %rdx, -160(%rbp)
697 je .L115
698 leaq (%rcx,%rcx,2), %rax
699 movq %rbx, -144(%rbp)
700 movq -128(%rbp), %r15
701 movq %rcx, %rbx
702 leaq -24(%rdx,%rax,8), %rdx
703 movq %rdx, %r14
704 jmp .L117
705 .p2align 4,,10
706 .p2align 3
707 .L247:
708 subq $24, %r14
709 testq %rbx, %rbx
710 je .L246
711 .L117:
712 movq (%r14), %rdi
713 movq %r15, %rsi
714 subq $1, %rbx
715 movq %r14, %r13
716 call strcmp
717 testl %eax, %eax
718 jne .L247
719 movq -144(%rbp), %rbx
720 .L116:
721 cmpq $0, __pthread_rwlock_unlock@GOTPCREL(%rip)
722 jne .L232
723 jmp .L113
724 .L245:
725 leaq 128(%r12), %rdi
726 call __pthread_rwlock_unlock@PLT
727 jmp .L112
728 .L102:
729 leaq .LC0(%rip), %rdi
730 call getenv
731 testq %rax, %rax
732 movq %rax, %r13
733 je .L106
734 cmpb $0, (%rax)
735 jne .L248
736 .L106:
737 movq output_charset_cache.11188(%rip), %rax
738 movq %rax, -128(%rbp)
739 .L105:
740 movl $1, output_charset_cached.11189(%rip)
741 jmp .L103
742 .L137:
743 #APP
744 # 1255 "dcigettext.c" 1
745 movl %fs:24,%eax
746 # 0 "" 2
747 #NO_APP
748 testl %eax, %eax
749 jne .L139
750 movl $1, %edx
751 #APP
752 # 47 "../sysdeps/unix/sysv/linux/x86/lowlevellock.h" 1
753 cmpxchgl %edx, lock.10997(%rip)
754 # 0 "" 2
755 #NO_APP
756 .L133:
757 movq -104(%rbp), %rax
758 movq freemem_size.11041(%rip), %rcx
759 xorl %r15d, %r15d
760 movq %rbx, -144(%rbp)
761 movq -120(%rbp), %r14
762 movq %rax, -96(%rbp)
763 movq freemem.11040(%rip), %rax
764 addq $8, %rax
765 movq %rax, -88(%rbp)
766 leaq -80(%rbp), %rax
767 movq %rax, -112(%rbp)
768 leaq -88(%rbp), %rax
769 movq %rax, -128(%rbp)
770 leaq -96(%rbp), %rax
771 movq %rax, -136(%rbp)
772 jmp .L158
773 .p2align 4,,10
774 .p2align 3
775 .L250:
776 addl $1, %r15d
777 movq transmem_list(%rip), %r12
778 imull $4080, %r15d, %ecx
779 movq %r12, %rdi
780 movslq %ecx, %rbx
781 movq %rbx, %rsi
782 movq %rbx, freemem_size.11041(%rip)
783 call realloc@PLT
784 testq %rax, %rax
785 je .L147
786 leaq -8(%rbx), %rcx
787 movq %rax, transmem_list(%rip)
788 .L148:
789 leaq 8(%rax), %rdx
790 addq $16, %rax
791 movq %rcx, freemem_size.11041(%rip)
792 movq %rax, -88(%rbp)
793 movq %rdx, freemem.11040(%rip)
794 .L158:
795 cmpq $7, %rcx
796 ja .L249
797 .L141:
798 testl %r15d, %r15d
799 jne .L250
800 movl $4080, %edi
801 movq $4080, freemem_size.11041(%rip)
802 call malloc@PLT
803 testq %rax, %rax
804 je .L149
805 movq transmem_list(%rip), %rdx
806 movl $4072, %ecx
807 movq %rax, transmem_list(%rip)
808 movl $1, %r15d
809 movq %rdx, (%rax)
810 jmp .L148
811 .p2align 4,,10
812 .p2align 3
813 .L249:
814 movq -88(%rbp), %rax
815 movq -96(%rbp), %rdx
816 movq 8(%r13), %rdi
817 movq -112(%rbp), %r9
818 movq -136(%rbp), %rsi
819 leaq -8(%rax,%rcx), %r8
820 movq -128(%rbp), %rcx
821 addq %r14, %rdx
822 call __gconv
823 movl %eax, %edx
824 andl $-5, %edx
825 je .L142
826 cmpl $5, %eax
827 jne .L251
828 movq -104(%rbp), %rax
829 movq %rax, -96(%rbp)
830 jmp .L141
831 .L246:
832 movq -144(%rbp), %rbx
833 .L115:
834 movq -152(%rbp), %rax
835 movq -160(%rbp), %rdi
836 leaq 3(%rax,%rax,2), %r13
837 salq $3, %r13
838 testq %rdi, %rdi
839 je .L118
840 movq %r13, %rsi
841 call realloc@PLT
842 movq %rax, %rdx
843 .L119:
844 testq %rdx, %rdx
845 je .L122
846 movq -128(%rbp), %rdi
847 movq %rdx, 112(%r12)
848 movq %rdx, -144(%rbp)
849 call __strdup
850 testq %rax, %rax
851 movq %rax, %r15
852 je .L122
853 movq -144(%rbp), %rdx
854 movq -184(%rbp), %rsi
855 leaq -88(%rbp), %r8
856 movq -136(%rbp), %rdi
857 xorl %ecx, %ecx
858 leaq -24(%rdx,%r13), %r13
859 leaq .LC1(%rip), %rdx
860 movq %rax, 0(%r13)
861 movq $-1, 8(%r13)
862 call _nl_find_msg
863 cmpq $-1, %rax
864 je .L123
865 testq %rax, %rax
866 je .L124
867 leaq .LC2(%rip), %rsi
868 movq %rax, %rdi
869 call strstr
870 testq %rax, %rax
871 je .L124
872 leaq 8(%rax), %r8
873 leaq .LC3(%rip), %rsi
874 leaq -80(%rbp), %r14
875 movq %r8, %rdi
876 movq %r8, -128(%rbp)
877 call strcspn
878 leaq 31(%rax), %rcx
879 movq -128(%rbp), %r8
880 movq %rax, %rdx
881 andq $-16, %rcx
882 subq %rcx, %rsp
883 movq %r8, %rsi
884 leaq 15(%rsp), %rcx
885 andq $-16, %rcx
886 movq %rcx, %rdi
887 movq %rcx, -128(%rbp)
888 call __mempcpy
889 movq -128(%rbp), %rcx
890 movq %r15, %rdx
891 movq %r14, %rdi
892 movb $0, (%rax)
893 movq %rcx, %rsi
894 call __gconv_create_spec
895 leaq 8(%r13), %rsi
896 movl $1, %edx
897 movq %r14, %rdi
898 movb $1, -64(%rbp)
899 call __gconv_open
900 movq %r14, %rdi
901 movl %eax, -128(%rbp)
902 call __gconv_destroy_spec
903 movl -128(%rbp), %eax
904 testl %eax, %eax
905 jne .L252
906 .L124:
907 movq $0, 16(%r13)
908 addq $1, 120(%r12)
909 jmp .L116
910 .L147:
911 movq (%r12), %rax
912 movq %r12, %rdi
913 movq %rax, transmem_list(%rip)
914 call free@PLT
915 .L149:
916 movq $0, freemem.11040(%rip)
917 movq $0, freemem_size.11041(%rip)
918 #APP
919 # 1360 "dcigettext.c" 1
920 movl %fs:24,%eax
921 # 0 "" 2
922 #NO_APP
923 testl %eax, %eax
924 jne .L150
925 subl $1, lock.10997(%rip)
926 movq $-1, -104(%rbp)
927 jmp .L73
928 .L122:
929 cmpq $0, __pthread_rwlock_unlock@GOTPCREL(%rip)
930 je .L236
931 leaq 128(%r12), %rdi
932 call __pthread_rwlock_unlock@PLT
933 .L236:
934 movq $-1, -104(%rbp)
935 jmp .L73
936 .L242:
937 #APP
938 # 1218 "dcigettext.c" 1
939 movl %fs:24,%eax
940 # 0 "" 2
941 #NO_APP
942 testl %eax, %eax
943 jne .L129
944 movl $1, %edx
945 #APP
946 # 47 "../sysdeps/unix/sysv/linux/x86/lowlevellock.h" 1
947 cmpxchgl %edx, lock.10997(%rip)
948 # 0 "" 2
949 #NO_APP
950 .L130:
951 cmpq $0, 16(%r13)
952 je .L253
953 .L131:
954 #APP
955 # 1229 "dcigettext.c" 1
956 movl %fs:24,%eax
957 # 0 "" 2
958 #NO_APP
959 testl %eax, %eax
960 jne .L134
961 subl $1, lock.10997(%rip)
962 movq 16(%r13), %rax
963 jmp .L128
964 .L118:
965 movq %r13, %rdi
966 call malloc@PLT
967 movq %rax, %rdx
968 jmp .L119
969 .L248:
970 movq %rax, %rdi
971 call strlen
972 leaq 1(%rax), %r14
973 movq %r14, %rdi
974 call malloc@PLT
975 testq %rax, %rax
976 movq %rax, -128(%rbp)
977 je .L107
978 movq %r14, %rdx
979 movq %r13, %rsi
980 movq %rax, %rdi
981 call memcpy@PLT
982 .L107:
983 movq -128(%rbp), %rax
984 movq %rax, output_charset_cache.11188(%rip)
985 jmp .L105
986 .L142:
987 movq -88(%rbp), %rsi
988 movq freemem.11040(%rip), %rax
989 movq -144(%rbp), %rbx
990 movq %rsi, %rcx
991 subq %rax, %rcx
992 leaq 0(,%rbx,8), %r8
993 leaq -8(%rcx), %rdi
994 movq %rdi, (%rax)
995 movq %rdi, -120(%rbp)
996 movq 16(%r13), %rdi
997 movq %rax, (%rdi,%rbx,8)
998 movq freemem_size.11041(%rip), %rbx
999 subq %rcx, %rbx
1000 movq %rbx, %r9
1001 movq %rbx, %rcx
1002 andl $7, %r9d
1003 andq $-8, %rcx
1004 addq %r9, %rsi
1005 movq %rcx, freemem_size.11041(%rip)
1006 movq %rsi, freemem.11040(%rip)
1007 #APP
1008 # 1385 "dcigettext.c" 1
1009 movl %fs:24,%ecx
1010 # 0 "" 2
1011 #NO_APP
1012 testl %ecx, %ecx
1013 jne .L226
1014 subl $1, lock.10997(%rip)
1015 jmp .L138
1016 .L139:
1017 xorl %eax, %eax
1018 movl $1, %edx
1019 lock cmpxchgl %edx, lock.10997(%rip)
1020 je .L133
1021 leaq lock.10997(%rip), %rdi
1022 call __lll_lock_wait_private
1023 jmp .L133
1024 .L252:
1025 addl $1, %eax
1026 je .L126
1027 cmpq $0, __pthread_rwlock_unlock@GOTPCREL(%rip)
1028 je .L127
1029 leaq 128(%r12), %rdi
1030 call __pthread_rwlock_unlock@PLT
1031 .L127:
1032 movq %r15, %rdi
1033 call free@PLT
1034 xorl %eax, %eax
1035 .L123:
1036 movq %rax, -104(%rbp)
1037 jmp .L73
1038 .L150:
1039 xorl %eax, %eax
1040 #APP
1041 # 1360 "dcigettext.c" 1
1042 xchgl %eax, lock.10997(%rip)
1043 # 0 "" 2
1044 #NO_APP
1045 cmpl $1, %eax
1046 movq $-1, -104(%rbp)
1047 jle .L73
1048 .L237:
1049 xorl %r10d, %r10d
1050 movl $1, %edx
1051 movl $129, %esi
1052 leaq lock.10997(%rip), %rdi
1053 movl $202, %eax
1054 #APP
1055 # 1360 "dcigettext.c" 1
1056 syscall
1058 # 0 "" 2
1059 #NO_APP
1060 jmp .L73
1061 .L253:
1062 movl -112(%rbp), %edi
1063 addl 64(%r12), %edi
1064 movl $8, %esi
1065 call calloc@PLT
1066 testq %rax, %rax
1067 je .L132
1068 movq %rax, 16(%r13)
1069 jmp .L133
1070 .L129:
1071 xorl %eax, %eax
1072 movl $1, %edx
1073 lock cmpxchgl %edx, lock.10997(%rip)
1074 je .L130
1075 leaq lock.10997(%rip), %rdi
1076 call __lll_lock_wait_private
1077 jmp .L130
1078 .L134:
1079 xorl %eax, %eax
1080 #APP
1081 # 1229 "dcigettext.c" 1
1082 xchgl %eax, lock.10997(%rip)
1083 # 0 "" 2
1084 #NO_APP
1085 subl $1, %eax
1086 jg .L135
1087 .L233:
1088 movq 16(%r13), %rax
1089 jmp .L128
1090 .L132:
1091 movq $-1, 16(%r13)
1092 jmp .L131
1093 .L226:
1094 #APP
1095 # 1385 "dcigettext.c" 1
1096 xchgl %edx, lock.10997(%rip)
1097 # 0 "" 2
1098 #NO_APP
1099 subl $1, %edx
1100 jg .L154
1101 movq (%rdi,%r8), %rax
1102 movq (%rax), %rdx
1103 movq %rdx, -120(%rbp)
1104 jmp .L138
1105 .L144:
1106 xorl %eax, %eax
1107 #APP
1108 # 1288 "dcigettext.c" 1
1109 xchgl %eax, lock.10997(%rip)
1110 # 0 "" 2
1111 #NO_APP
1112 subl $1, %eax
1113 movq $0, -104(%rbp)
1114 jle .L73
1115 jmp .L237
1116 .L126:
1117 movq $-1, 8(%r13)
1118 jmp .L124
1119 .L135:
1120 xorl %r10d, %r10d
1121 movl $1, %edx
1122 movl $129, %esi
1123 leaq lock.10997(%rip), %rdi
1124 movl $202, %eax
1125 #APP
1126 # 1229 "dcigettext.c" 1
1127 syscall
1129 # 0 "" 2
1130 #NO_APP
1131 jmp .L233
1132 .L154:
1133 xorl %r10d, %r10d
1134 movl $1, %edx
1135 movl $129, %esi
1136 leaq lock.10997(%rip), %rdi
1137 movl $202, %eax
1138 #APP
1139 # 1385 "dcigettext.c" 1
1140 syscall
1142 # 0 "" 2
1143 #NO_APP
1144 movq 16(%r13), %rax
1145 movq (%rax,%r8), %rax
1146 jmp .L234
1147 .size _nl_find_msg, .-_nl_find_msg
1148 .section .rodata.str1.1
1149 .LC4:
1150 .string "%s/%s"
1151 .LC5:
1152 .string "C"
1153 .LC6:
1154 .string "LANGUAGE"
1155 .LC7:
1156 .string "POSIX"
1157 .text
1158 .p2align 4,,15
1159 .globl __dcigettext
1160 .hidden __dcigettext
1161 .type __dcigettext, @function
1162 __dcigettext:
1163 pushq %rbp
1164 movq %rsp, %rbp
1165 pushq %r15
1166 pushq %r14
1167 pushq %r13
1168 pushq %r12
1169 pushq %rbx
1170 subq $200, %rsp
1171 testq %rsi, %rsi
1172 movq %rdx, -176(%rbp)
1173 movl %ecx, -148(%rbp)
1174 movq %r8, -168(%rbp)
1175 movl %r9d, -152(%rbp)
1176 movq $0, -128(%rbp)
1177 je .L296
1178 cmpl $12, %r9d
1179 movq %rsi, %r14
1180 ja .L300
1181 cmpl $6, %r9d
1182 je .L300
1183 movq __libc_errno@gottpoff(%rip), %rax
1184 movq __pthread_rwlock_rdlock@GOTPCREL(%rip), %rbx
1185 movq %rdi, %r13
1186 movl %fs:(%rax), %eax
1187 testq %rbx, %rbx
1188 movl %eax, -196(%rbp)
1189 je .L260
1190 leaq __libc_setlocale_lock(%rip), %rdi
1191 call __pthread_rwlock_rdlock@PLT
1192 leaq _nl_state_lock(%rip), %rdi
1193 call __pthread_rwlock_rdlock@PLT
1194 testq %r13, %r13
1195 je .L264
1196 movl -152(%rbp), %eax
1197 movq $0, -80(%rbp)
1198 movq %r14, -56(%rbp)
1199 movq %r13, -112(%rbp)
1200 movl %eax, %edi
1201 movl %eax, -104(%rbp)
1202 call __current_locale_name
1203 movq %rax, -216(%rbp)
1204 movq %rax, -96(%rbp)
1205 .L262:
1206 leaq tree_lock(%rip), %rdi
1207 call __pthread_rwlock_rdlock@PLT
1208 .L263:
1209 leaq -112(%rbp), %rdi
1210 leaq transcmp(%rip), %rdx
1211 leaq root(%rip), %rsi
1212 call __tfind
1213 cmpq $0, __pthread_rwlock_unlock@GOTPCREL(%rip)
1214 movq %rax, -184(%rbp)
1215 je .L266
1216 leaq tree_lock(%rip), %rdi
1217 call __pthread_rwlock_unlock@PLT
1218 .L266:
1219 movq -184(%rbp), %rax
1220 testq %rax, %rax
1221 je .L267
1222 movq (%rax), %rax
1223 movl _nl_msg_cat_cntr(%rip), %ecx
1224 cmpl %ecx, 24(%rax)
1225 je .L377
1226 .L267:
1227 movq _nl_domain_bindings(%rip), %rbx
1228 testq %rbx, %rbx
1229 jne .L272
1230 jmp .L376
1231 .p2align 4,,10
1232 .p2align 3
1233 .L378:
1234 js .L298
1235 movq (%rbx), %rbx
1236 testq %rbx, %rbx
1237 je .L376
1238 .L272:
1239 leaq 24(%rbx), %rsi
1240 movq %r13, %rdi
1241 call strcmp
1242 testl %eax, %eax
1243 jne .L378
1244 movq 8(%rbx), %rax
1245 cmpb $47, (%rax)
1246 movq %rax, -136(%rbp)
1247 je .L270
1248 xorl %esi, %esi
1249 xorl %edi, %edi
1250 call __getcwd
1251 testq %rax, %rax
1252 movq %rax, %r12
1253 je .L273
1254 movq -136(%rbp), %rcx
1255 leaq -128(%rbp), %rdi
1256 leaq .LC4(%rip), %rsi
1257 movq %rax, %rdx
1258 xorl %eax, %eax
1259 call __asprintf
1260 movq %r12, %rdi
1261 movl %eax, %r15d
1262 call free@PLT
1263 testl %r15d, %r15d
1264 js .L273
1265 movq -128(%rbp), %rax
1266 movq %rax, -136(%rbp)
1267 .p2align 4,,10
1268 .p2align 3
1269 .L270:
1270 movslq -152(%rbp), %rax
1271 leaq _nl_category_name_idxs(%rip), %rdx
1272 movzbl (%rdx,%rax), %r12d
1273 movq %rax, %rdi
1274 leaq _nl_category_names(%rip), %rax
1275 addq %rax, %r12
1276 call __current_locale_name
1277 leaq .LC5(%rip), %rdi
1278 movl $2, %ecx
1279 movq %rax, %rsi
1280 movq %rax, %r15
1281 repz cmpsb
1282 jne .L379
1283 .L274:
1284 movq %r13, %rdi
1285 call strlen
1286 movq %r12, %rdi
1287 movq %rax, -208(%rbp)
1288 call strlen
1289 movq -208(%rbp), %rcx
1290 movq %r12, %rsi
1291 leaq 35(%rcx,%rax), %rax
1292 andq $-16, %rax
1293 subq %rax, %rsp
1294 leaq 15(%rsp), %rax
1295 andq $-16, %rax
1296 movq %rax, %rdi
1297 movq %rax, -160(%rbp)
1298 call __stpcpy@PLT
1299 movl $47, %edi
1300 movq -208(%rbp), %rdx
1301 movq %r13, %rsi
1302 movw %di, (%rax)
1303 leaq 1(%rax), %rdi
1304 call __mempcpy
1305 movq %r15, %rdi
1306 movl $7302446, (%rax)
1307 call strlen
1308 addq $31, %rax
1309 movq %r13, -192(%rbp)
1310 andq $-16, %rax
1311 subq %rax, %rsp
1312 leaq -120(%rbp), %rax
1313 leaq 15(%rsp), %r12
1314 movq %rax, -144(%rbp)
1315 andq $-16, %r12
1316 .p2align 4,,10
1317 .p2align 3
1318 .L275:
1319 movzbl (%r15), %eax
1320 cmpb $58, %al
1321 je .L276
1322 testb %al, %al
1323 jne .L299
1324 movl $67, %esi
1325 movw %si, (%r12)
1326 .L278:
1327 leaq .LC5(%rip), %rdi
1328 movl $2, %ecx
1329 movq %r12, %rsi
1330 repz cmpsb
1331 je .L273
1332 leaq .LC7(%rip), %rdi
1333 movl $6, %ecx
1334 movq %r12, %rsi
1335 repz cmpsb
1336 je .L273
1337 movq -160(%rbp), %rdx
1338 movq -136(%rbp), %rdi
1339 movq %rbx, %rcx
1340 movq %r12, %rsi
1341 call _nl_find_domain
1342 testq %rax, %rax
1343 movq %rax, %r13
1344 je .L275
1345 movq -144(%rbp), %r8
1346 movl $1, %ecx
1347 movq %r14, %rdx
1348 movq %rbx, %rsi
1349 movq %rax, %rdi
1350 call _nl_find_msg
1351 testq %rax, %rax
1352 je .L380
1353 cmpq $-1, %rax
1354 movq %r13, %r10
1355 movq %rax, %r8
1356 movq -192(%rbp), %r13
1357 jne .L283
1358 .L273:
1359 movq -128(%rbp), %rdi
1360 call free@PLT
1361 cmpq $0, __pthread_rwlock_unlock@GOTPCREL(%rip)
1362 je .L293
1363 leaq _nl_state_lock(%rip), %rdi
1364 call __pthread_rwlock_unlock@PLT
1365 leaq __libc_setlocale_lock(%rip), %rdi
1366 call __pthread_rwlock_unlock@PLT
1367 .L293:
1368 cmpq $1, -168(%rbp)
1369 movq __libc_errno@gottpoff(%rip), %rax
1370 movl -196(%rbp), %ecx
1371 movl %ecx, %fs:(%rax)
1372 je .L294
1373 movl -148(%rbp), %eax
1374 testl %eax, %eax
1375 je .L294
1376 .L258:
1377 movq -176(%rbp), %r8
1378 .L254:
1379 leaq -40(%rbp), %rsp
1380 movq %r8, %rax
1381 popq %rbx
1382 popq %r12
1383 popq %r13
1384 popq %r14
1385 popq %r15
1386 popq %rbp
1388 .p2align 4,,10
1389 .p2align 3
1390 .L300:
1391 movl -148(%rbp), %r10d
1392 testl %r10d, %r10d
1393 je .L294
1394 cmpq $1, -168(%rbp)
1395 jne .L258
1396 .L294:
1397 movq %r14, %r8
1398 jmp .L254
1399 .p2align 4,,10
1400 .p2align 3
1401 .L260:
1402 testq %rdi, %rdi
1403 je .L264
1404 movl -152(%rbp), %eax
1405 movq %rdi, -112(%rbp)
1406 movq $0, -80(%rbp)
1407 movq %rsi, -56(%rbp)
1408 movl %eax, %edi
1409 movl %eax, -104(%rbp)
1410 call __current_locale_name
1411 movq %rax, -216(%rbp)
1412 movq %rax, -96(%rbp)
1413 jmp .L263
1414 .p2align 4,,10
1415 .p2align 3
1416 .L264:
1417 movl -152(%rbp), %eax
1418 movq _nl_current_default_domain(%rip), %r13
1419 movq $0, -80(%rbp)
1420 movq %r14, -56(%rbp)
1421 movl %eax, %edi
1422 movq %r13, -112(%rbp)
1423 movl %eax, -104(%rbp)
1424 call __current_locale_name
1425 testq %rbx, %rbx
1426 movq %rax, -216(%rbp)
1427 movq %rax, -96(%rbp)
1428 jne .L262
1429 jmp .L263
1430 .p2align 4,,10
1431 .p2align 3
1432 .L276:
1433 addq $1, %r15
1434 jmp .L275
1435 .p2align 4,,10
1436 .p2align 3
1437 .L299:
1438 movq %r12, %rdx
1439 jmp .L277
1440 .p2align 4,,10
1441 .p2align 3
1442 .L381:
1443 cmpb $58, %al
1444 je .L301
1445 .L277:
1446 addq $1, %r15
1447 addq $1, %rdx
1448 movb %al, -1(%rdx)
1449 movzbl (%r15), %eax
1450 testb %al, %al
1451 jne .L381
1452 .L301:
1453 movl __libc_enable_secure(%rip), %ecx
1454 movb $0, (%rdx)
1455 testl %ecx, %ecx
1456 je .L278
1457 movl $47, %esi
1458 movq %r12, %rdi
1459 call strchr
1460 testq %rax, %rax
1461 jne .L275
1462 jmp .L278
1463 .p2align 4,,10
1464 .p2align 3
1465 .L298:
1466 xorl %ebx, %ebx
1467 .L376:
1468 leaq _nl_default_dirname(%rip), %rax
1469 movq %rax, -136(%rbp)
1470 jmp .L270
1471 .p2align 4,,10
1472 .p2align 3
1473 .L380:
1474 movq 32(%r13), %rdi
1475 testq %rdi, %rdi
1476 je .L275
1477 xorl %r9d, %r9d
1478 movq %r12, -232(%rbp)
1479 movq %r15, -224(%rbp)
1480 movq %r9, %r12
1481 jmp .L284
1482 .p2align 4,,10
1483 .p2align 3
1484 .L282:
1485 addq $1, %r12
1486 movq 32(%r13,%r12,8), %rdi
1487 testq %rdi, %rdi
1488 je .L382
1489 .L284:
1490 movq -144(%rbp), %r8
1491 movl $1, %ecx
1492 movq %r14, %rdx
1493 movq %rbx, %rsi
1494 call _nl_find_msg
1495 cmpq $-1, %rax
1496 je .L273
1497 testq %rax, %rax
1498 je .L282
1499 movq %r13, %r10
1500 movq %rax, %r8
1501 movslq %r12d, %rax
1502 movq -192(%rbp), %r13
1503 movq 32(%r10,%rax,8), %r10
1504 .L283:
1505 movq -128(%rbp), %rdi
1506 movq %r8, -144(%rbp)
1507 movq %r10, -136(%rbp)
1508 call free@PLT
1509 cmpq $0, -184(%rbp)
1510 movq -136(%rbp), %r10
1511 movq -144(%rbp), %r8
1512 je .L383
1513 movq -184(%rbp), %rax
1514 movl _nl_msg_cat_cntr(%rip), %edx
1515 movq (%rax), %rax
1516 movl %edx, 24(%rax)
1517 movq -120(%rbp), %rdx
1518 movq %r10, 32(%rax)
1519 movq %r8, 40(%rax)
1520 movq %rdx, 48(%rax)
1521 .L287:
1522 movl -148(%rbp), %edx
1523 movq __libc_errno@gottpoff(%rip), %rax
1524 movl -196(%rbp), %ecx
1525 testl %edx, %edx
1526 movl %ecx, %fs:(%rax)
1527 jne .L384
1528 .L292:
1529 cmpq $0, __pthread_rwlock_unlock@GOTPCREL(%rip)
1530 je .L254
1531 leaq _nl_state_lock(%rip), %rdi
1532 movq %r8, -136(%rbp)
1533 call __pthread_rwlock_unlock@PLT
1534 leaq __libc_setlocale_lock(%rip), %rdi
1535 call __pthread_rwlock_unlock@PLT
1536 movq -136(%rbp), %r8
1537 jmp .L254
1538 .p2align 4,,10
1539 .p2align 3
1540 .L377:
1541 movl -148(%rbp), %r9d
1542 movq 40(%rax), %r8
1543 testl %r9d, %r9d
1544 jne .L385
1545 .L268:
1546 cmpq $0, __pthread_rwlock_unlock@GOTPCREL(%rip)
1547 je .L269
1548 leaq _nl_state_lock(%rip), %rdi
1549 movq %r8, -136(%rbp)
1550 call __pthread_rwlock_unlock@PLT
1551 leaq __libc_setlocale_lock(%rip), %rdi
1552 call __pthread_rwlock_unlock@PLT
1553 movq -136(%rbp), %r8
1554 .L269:
1555 movq __libc_errno@gottpoff(%rip), %rax
1556 movl -196(%rbp), %ecx
1557 movl %ecx, %fs:(%rax)
1558 jmp .L254
1559 .p2align 4,,10
1560 .p2align 3
1561 .L379:
1562 leaq .LC6(%rip), %rdi
1563 call getenv
1564 testq %rax, %rax
1565 je .L274
1566 cmpb $0, (%rax)
1567 cmovne %rax, %r15
1568 jmp .L274
1569 .p2align 4,,10
1570 .p2align 3
1571 .L296:
1572 xorl %r8d, %r8d
1573 jmp .L254
1574 .p2align 4,,10
1575 .p2align 3
1576 .L385:
1577 movq 48(%rax), %rcx
1578 movq 32(%rax), %rax
1579 movq %r8, %rdx
1580 movq -168(%rbp), %rsi
1581 movq 16(%rax), %rdi
1582 call plural_lookup.isra.2
1583 movq %rax, %r8
1584 jmp .L268
1585 .L382:
1586 movq -224(%rbp), %r15
1587 movq -232(%rbp), %r12
1588 jmp .L275
1589 .L384:
1590 movq 16(%r10), %rdi
1591 movq -120(%rbp), %rcx
1592 movq %r8, %rdx
1593 movq -168(%rbp), %rsi
1594 call plural_lookup.isra.2
1595 movq %rax, %r8
1596 jmp .L292
1597 .L383:
1598 movq %r14, %rdi
1599 call strlen
1600 movq -216(%rbp), %rdi
1601 leaq 1(%rax), %rbx
1602 call strlen
1603 movq -208(%rbp), %r15
1604 leaq 58(%r15,%rax), %rdi
1605 addq %rbx, %rdi
1606 call malloc@PLT
1607 testq %rax, %rax
1608 movq %rax, %r12
1609 movq -136(%rbp), %r10
1610 movq -144(%rbp), %r8
1611 je .L287
1612 movq %r14, %rsi
1613 leaq 56(%rax), %rdi
1614 movq %r15, %r14
1615 movq %rbx, %rdx
1616 addq $1, %r14
1617 call __mempcpy
1618 movq %r14, %rdx
1619 movq %r13, %rsi
1620 movq %rax, %rdi
1621 movq %rax, %rbx
1622 call memcpy@PLT
1623 movq -216(%rbp), %rsi
1624 addq %rbx, %r14
1625 movq %r14, %rdi
1626 call strcpy
1627 movl -152(%rbp), %eax
1628 cmpq $0, __pthread_rwlock_wrlock@GOTPCREL(%rip)
1629 movq -136(%rbp), %r10
1630 movq -144(%rbp), %r8
1631 movq %rbx, (%r12)
1632 movq %r14, 16(%r12)
1633 movl %eax, 8(%r12)
1634 movl _nl_msg_cat_cntr(%rip), %eax
1635 movq %r10, 32(%r12)
1636 movq %r8, 40(%r12)
1637 movl %eax, 24(%r12)
1638 movq -120(%rbp), %rax
1639 movq %rax, 48(%r12)
1640 je .L288
1641 leaq tree_lock(%rip), %rdi
1642 call __pthread_rwlock_wrlock@PLT
1643 movq -144(%rbp), %r8
1644 movq -136(%rbp), %r10
1645 .L288:
1646 leaq transcmp(%rip), %rdx
1647 leaq root(%rip), %rsi
1648 movq %r12, %rdi
1649 movq %r8, -144(%rbp)
1650 movq %r10, -136(%rbp)
1651 call __tsearch
1652 cmpq $0, __pthread_rwlock_unlock@GOTPCREL(%rip)
1653 movq %rax, %rbx
1654 movq -136(%rbp), %r10
1655 movq -144(%rbp), %r8
1656 je .L289
1657 leaq tree_lock(%rip), %rdi
1658 call __pthread_rwlock_unlock@PLT
1659 movq -144(%rbp), %r8
1660 movq -136(%rbp), %r10
1661 .L289:
1662 testq %rbx, %rbx
1663 je .L290
1664 cmpq %r12, (%rbx)
1665 je .L287
1666 .L290:
1667 movq %r12, %rdi
1668 movq %r8, -144(%rbp)
1669 movq %r10, -136(%rbp)
1670 call free@PLT
1671 movq -136(%rbp), %r10
1672 movq -144(%rbp), %r8
1673 jmp .L287
1674 .size __dcigettext, .-__dcigettext
1675 .local output_charset_cache.11188
1676 .comm output_charset_cache.11188,8,8
1677 .local output_charset_cached.11189
1678 .comm output_charset_cached.11189,4,4
1679 .local freemem_size.11041
1680 .comm freemem_size.11041,8,8
1681 .local freemem.11040
1682 .comm freemem.11040,8,8
1683 .local lock.10997
1684 .comm lock.10997,4,4
1685 .section __libc_subfreeres,"aw",@progbits
1686 .align 8
1687 .type __elf_set___libc_subfreeres_element_free_mem__, @object
1688 .size __elf_set___libc_subfreeres_element_free_mem__, 8
1689 __elf_set___libc_subfreeres_element_free_mem__:
1690 .quad free_mem
1691 .hidden _nl_state_lock
1692 .globl _nl_state_lock
1693 .bss
1694 .align 32
1695 .type _nl_state_lock, @object
1696 .size _nl_state_lock, 56
1697 _nl_state_lock:
1698 .zero 56
1699 .local transmem_list
1700 .comm transmem_list,8,8
1701 .comm _nl_domain_bindings,8,8
1702 .hidden _nl_default_dirname
1703 .globl _nl_default_dirname
1704 .section .rodata.str1.32,"aMS",@progbits,1
1705 .align 32
1706 .type _nl_default_dirname, @object
1707 _nl_default_dirname:
1708 .string "CONF_PREFIX/share/locale"
1709 .size _nl_default_dirname,.-_nl_default_dirname
1710 .hidden _nl_current_default_domain
1711 .globl _nl_current_default_domain
1712 .section .data.rel.local,"aw",@progbits
1713 .align 8
1714 .type _nl_current_default_domain, @object
1715 .size _nl_current_default_domain, 8
1716 _nl_current_default_domain:
1717 .quad _nl_default_default_domain
1718 .hidden _nl_default_default_domain
1719 .globl _nl_default_default_domain
1720 .section .rodata.str1.8,"aMS",@progbits,1
1721 .align 8
1722 .type _nl_default_default_domain, @object
1723 .size _nl_default_default_domain, 9
1724 _nl_default_default_domain:
1725 .string "messages"
1726 .local root
1727 .comm root,8,8
1728 .local tree_lock
1729 .comm tree_lock,56,32
1730 .weak __pthread_rwlock_wrlock
1731 .weak __pthread_rwlock_unlock
1732 .weak __pthread_rwlock_rdlock
1733 .hidden __tsearch
1734 .hidden strcpy
1735 .hidden strchr
1736 .hidden _nl_find_domain
1737 .hidden _nl_category_names
1738 .hidden _nl_category_name_idxs
1739 .hidden __asprintf
1740 .hidden __getcwd
1741 .hidden __tfind
1742 .hidden __current_locale_name
1743 .hidden __libc_setlocale_lock
1744 .hidden __lll_lock_wait_private
1745 .hidden __gconv_destroy_spec
1746 .hidden __gconv_open
1747 .hidden __gconv_create_spec
1748 .hidden strcspn
1749 .hidden strstr
1750 .hidden __strdup
1751 .hidden __gconv
1752 .hidden getenv
1753 .hidden _nl_current_LC_CTYPE
1754 .hidden _nl_load_domain
1755 .hidden __hash_string
1756 .hidden strlen
1757 .hidden __rawmemchr
1758 .hidden strcmp
1759 .hidden __tdestroy
1760 .hidden raise