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