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