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