clarify the purpose of this project
[nyanglibc.git] / stdlib / strfmon_l.s
blobe4d532cd72c3b4a9d18267d6841b0b14a817f0f8
1 .text
2 .section .rodata.str1.1,"aMS",@progbits,1
3 .LC0:
4 .string "-"
5 .globl __lttf2
6 .text
7 .p2align 4,,15
8 .globl __vstrfmon_l_internal
9 .hidden __vstrfmon_l_internal
10 .type __vstrfmon_l_internal, @function
11 __vstrfmon_l_internal:
12 pushq %r15
13 pushq %r14
14 movq %rdi, %r11
15 pushq %r13
16 pushq %r12
17 movq %rsi, %r15
18 pushq %rbp
19 pushq %rbx
20 movq %rcx, %r14
21 pxor %xmm2, %xmm2
22 subq $552, %rsp
23 movq 32(%rdx), %r10
24 movq %r8, 72(%rsp)
25 movq %rdx, 64(%rsp)
26 movq %rdi, %r8
27 movl %r9d, 96(%rsp)
28 .L2:
29 movzbl (%r14), %eax
30 testb %al, %al
31 je .L359
32 .L145:
33 cmpb $37, %al
34 je .L3
35 leaq -1(%r11,%r15), %rdx
36 cmpq %rdx, %r8
37 jnb .L21
38 addq $1, %r14
39 movb %al, (%r8)
40 addq $1, %r8
41 movzbl (%r14), %eax
42 testb %al, %al
43 jne .L145
44 .L359:
45 movq %r8, %rax
46 movb $0, (%r8)
47 subq %r11, %rax
48 jmp .L1
49 .p2align 4,,10
50 .p2align 3
51 .L3:
52 movzbl 1(%r14), %eax
53 cmpb $37, %al
54 jne .L171
55 leaq -1(%r11,%r15), %rax
56 cmpq %rax, %r8
57 jnb .L21
58 movb $37, (%r8)
59 addq $2, %r14
60 addq $1, %r8
61 jmp .L2
62 .p2align 4,,10
63 .p2align 3
64 .L171:
65 movl $-2, %ebp
66 cmpb $43, %al
67 movl $0, 28(%rsp)
68 movl %ebp, %r13d
69 movb $32, 149(%rsp)
70 movl $1, (%rsp)
71 movl $1, 24(%rsp)
72 leaq 1(%r14), %rdx
73 je .L12
74 .p2align 4,,10
75 .p2align 3
76 .L367:
77 jle .L360
78 cmpb $61, %al
79 je .L15
80 cmpb $94, %al
81 je .L9
82 cmpb $45, %al
83 je .L361
84 .L11:
85 movsbl %al, %ecx
86 movq $-1, %rbx
87 subl $48, %ecx
88 cmpl $9, %ecx
89 jbe .L362
90 cmpb $35, %al
91 movl $-1, %r9d
92 je .L363
93 .L24:
94 cmpb $46, %al
95 movl $-1, %r12d
96 je .L364
97 .L26:
98 cmpb $76, %al
99 leaq 1(%rdx), %r14
100 movl $0, 100(%rsp)
101 movl $0, 144(%rsp)
102 je .L365
103 cmpb $105, %al
104 je .L30
105 .L369:
106 cmpb $110, %al
107 jne .L330
108 movq 72(%r10), %rax
109 movq %r11, 104(%rsp)
110 movq %r8, 80(%rsp)
111 movl %r9d, 40(%rsp)
112 movaps %xmm2, 48(%rsp)
113 movq %rax, %rdi
114 movq %r10, 32(%rsp)
115 movq %rax, 136(%rsp)
116 call strlen
117 cmpl $-2, %r13d
118 movq %rax, 120(%rsp)
119 movq 32(%rsp), %r10
120 movl 40(%rsp), %r9d
121 movq 80(%rsp), %r8
122 movdqa 48(%rsp), %xmm2
123 movq 104(%rsp), %r11
124 jne .L357
125 movq 168(%r10), %rax
126 movsbl (%rax), %r13d
127 .L357:
128 cmpl $-2, %ebp
129 jne .L352
130 movq 176(%r10), %rax
131 movsbl (%rax), %ebp
132 .L352:
133 xorl %edx, %edx
134 cmpl $-1, %r12d
135 movb $32, 151(%rsp)
136 je .L218
137 .L36:
138 movzbl (%rsp), %eax
139 andl $1, %eax
140 cmpl $-1, %r9d
141 movb %al, 150(%rsp)
142 je .L37
143 testb %al, %al
144 je .L37
145 movq 96(%r10), %rsi
146 movl %r9d, %edi
147 movq %r11, 104(%rsp)
148 movq %r8, 80(%rsp)
149 movl %edx, 40(%rsp)
150 movaps %xmm2, 48(%rsp)
151 movq %r10, 32(%rsp)
152 movl %r9d, (%rsp)
153 call __guess_grouping
154 movl (%rsp), %r9d
155 movq 104(%rsp), %r11
156 movq 80(%rsp), %r8
157 movl 40(%rsp), %edx
158 movq 32(%rsp), %r10
159 movdqa 48(%rsp), %xmm2
160 addl %eax, %r9d
161 .L37:
162 cmpl $1, 144(%rsp)
163 movq 72(%rsp), %rsi
164 je .L366
165 movl 4(%rsi), %ecx
166 cmpl $175, %ecx
167 ja .L47
168 movl %ecx, %eax
169 addl $16, %ecx
170 addq 16(%rsi), %rax
171 movl %ecx, 4(%rsi)
172 jmp .L48
173 .p2align 4,,10
174 .p2align 3
175 .L360:
176 cmpb $33, %al
177 je .L172
178 cmpb $40, %al
179 jne .L11
180 cmpl $-2, %ebp
181 jne .L330
182 xorl %ebp, %ebp
183 xorl %r13d, %r13d
184 .p2align 4,,10
185 .p2align 3
186 .L10:
187 movzbl 1(%rdx), %eax
188 movq %rdx, %r14
189 leaq 1(%r14), %rdx
190 cmpb $43, %al
191 jne .L367
192 .L12:
193 cmpl $-2, %ebp
194 jne .L330
195 movq 168(%r10), %rax
196 movsbl (%rax), %r13d
197 movq 176(%r10), %rax
198 movsbl (%rax), %ebp
199 jmp .L10
200 .p2align 4,,10
201 .p2align 3
202 .L15:
203 movzbl 2(%r14), %eax
204 leaq 2(%r14), %rdx
205 testb %al, %al
206 movb %al, 149(%rsp)
207 jne .L10
208 .p2align 4,,10
209 .p2align 3
210 .L330:
211 movq __libc_errno@gottpoff(%rip), %rax
212 movl $22, %fs:(%rax)
213 jmp .L5
214 .p2align 4,,10
215 .p2align 3
216 .L172:
217 movl $0, 24(%rsp)
218 jmp .L10
219 .p2align 4,,10
220 .p2align 3
221 .L361:
222 movl $1, 28(%rsp)
223 jmp .L10
224 .p2align 4,,10
225 .p2align 3
226 .L9:
227 movl $0, (%rsp)
228 jmp .L10
229 .L381:
230 movq 136(%rsp), %rax
231 movzbl (%rax), %edx
232 testb %dl, %dl
233 je .L104
234 movq 40(%rsp), %rsi
235 cmpq %rsi, %r13
236 jnb .L21
237 movq %rsi, %rcx
238 subq %r13, %rcx
239 addq %rax, %rcx
240 jmp .L105
241 .p2align 4,,10
242 .p2align 3
243 .L106:
244 cmpq %rcx, %rax
245 je .L21
246 .L105:
247 addq $1, %rax
248 addq $1, %r13
249 movb %dl, -1(%r13)
250 movzbl (%rax), %edx
251 testb %dl, %dl
252 jne .L106
253 .L104:
254 cmpl $4, %ebp
255 jne .L107
256 cmpl $2, (%rsp)
257 jne .L108
258 cmpq 40(%rsp), %r13
259 jnb .L21
260 movzbl 151(%rsp), %eax
261 addq $1, %r13
262 movb %al, -1(%r13)
263 .L108:
264 movq 112(%rsp), %rax
265 movzbl (%rax), %edx
266 testb %dl, %dl
267 je .L110
268 movq 40(%rsp), %rsi
269 cmpq %rsi, %r13
270 jnb .L21
271 movq %rsi, %rcx
272 subq %r13, %rcx
273 addq %rax, %rcx
274 jmp .L111
275 .p2align 4,,10
276 .p2align 3
277 .L109:
278 cmpq %rcx, %rax
279 je .L21
280 .L111:
281 addq $1, %rax
282 addq $1, %r13
283 movb %dl, -1(%r13)
284 movzbl (%rax), %edx
285 testb %dl, %dl
286 jne .L109
287 .L110:
288 cmpl $1, (%rsp)
289 jne .L112
290 cmpq 40(%rsp), %r13
291 jnb .L21
292 movb $32, 0(%r13)
293 addq $1, %r13
294 .p2align 4,,10
295 .p2align 3
296 .L112:
297 leaq 304(%rsp), %rax
298 xorl %esi, %esi
299 movq %r10, 208(%rsp)
300 movq %r8, 176(%rsp)
301 movl %r9d, 128(%rsp)
302 movq %rax, %rdi
303 movq %rax, 80(%rsp)
304 movq %r11, 152(%rsp)
305 movaps %xmm2, 160(%rsp)
306 movq $0, 440(%rsp)
307 call _IO_init_internal
308 leaq _IO_str_jumps(%rip), %rsi
309 movq %r13, %rcx
310 movq 152(%rsp), %r11
311 movq 80(%rsp), %rdi
312 movq %rsi, 520(%rsp)
313 movq %r13, %rsi
314 leaq (%r11,%r15), %rdx
315 subq %r13, %rdx
316 call _IO_str_init_static_internal@PLT
317 movl 128(%rsp), %r9d
318 movzbl 150(%rsp), %ecx
319 testl %r12d, %r12d
320 movq 40(%rsp), %rsi
321 movl $0, 284(%rsp)
322 leaq 272(%rsp), %rdx
323 movq 80(%rsp), %rdi
324 movl %r12d, 272(%rsp)
325 leal 1(%r9,%r12), %eax
326 movl $102, 280(%rsp)
327 movb $0, (%rsi)
328 movq 64(%rsp), %rsi
329 cmovne %eax, %r9d
330 sall $7, %ecx
331 orb 144(%rsp), %cl
332 movzbl 100(%rsp), %eax
333 movl %r9d, 276(%rsp)
334 movb %cl, 284(%rsp)
335 movsbl 149(%rsp), %ecx
336 sall $4, %eax
337 orl $1, %eax
338 movb %al, 285(%rsp)
339 leaq 256(%rsp), %rax
340 movl %ecx, 288(%rsp)
341 leaq 248(%rsp), %rcx
342 movq %rax, 248(%rsp)
343 call __printf_fp_l
344 testl %eax, %eax
345 js .L5
346 movq 40(%rsp), %rsi
347 cmpb $0, (%rsi)
348 jne .L21
349 cltq
350 movq 152(%rsp), %r11
351 movq 176(%rsp), %r8
352 leaq 0(%r13,%rax), %rdi
353 movl 32(%rsp), %r13d
354 movq 208(%rsp), %r10
355 movdqa 160(%rsp), %xmm2
356 testl %r13d, %r13d
357 jne .L116
358 cmpl $3, %ebp
359 jne .L117
360 cmpl $1, (%rsp)
361 je .L368
362 .L118:
363 movq 112(%rsp), %rax
364 movzbl (%rax), %edx
365 testb %dl, %dl
366 je .L120
367 movq 40(%rsp), %rsi
368 cmpq %rsi, %rdi
369 jnb .L21
370 movq %rsi, %rcx
371 subq %rdi, %rcx
372 addq %rax, %rcx
373 jmp .L121
374 .p2align 4,,10
375 .p2align 3
376 .L119:
377 cmpq %rcx, %rax
378 je .L21
379 .L121:
380 addq $1, %rax
381 addq $1, %rdi
382 movb %dl, -1(%rdi)
383 movzbl (%rax), %edx
384 testb %dl, %dl
385 jne .L119
386 .L120:
387 movl 24(%rsp), %r12d
388 testl %r12d, %r12d
389 je .L122
390 cmpl $2, (%rsp)
391 jne .L159
392 .L123:
393 cmpq 40(%rsp), %rdi
394 jnb .L21
395 movzbl 151(%rsp), %eax
396 leaq 1(%rdi), %rcx
397 movb %al, (%rdi)
398 .L124:
399 movq 120(%rsp), %rax
400 testl %eax, %eax
401 jle .L206
402 movq 40(%rsp), %rsi
403 cmpq %rsi, %rcx
404 jnb .L21
405 movq 136(%rsp), %rdi
406 subl $1, %eax
407 leaq 1(%rdi,%rax), %rdx
408 movq %rsi, %rax
409 movq %rdi, %rsi
410 subq %rcx, %rax
411 addq %rdi, %rax
412 movq %rcx, %rdi
413 .p2align 4,,10
414 .p2align 3
415 .L126:
416 movsb
417 cmpq %rdx, %rsi
418 je .L125
419 cmpq %rax, %rsi
420 jne .L126
421 .p2align 4,,10
422 .p2align 3
423 .L21:
424 movq __libc_errno@gottpoff(%rip), %rax
425 movl $7, %fs:(%rax)
426 .L5:
427 movq $-1, %rax
428 .L1:
429 addq $552, %rsp
430 popq %rbx
431 popq %rbp
432 popq %r12
433 popq %r13
434 popq %r14
435 popq %r15
437 .p2align 4,,10
438 .p2align 3
439 .L362:
440 movsbl 2(%r14), %eax
441 movslq %ecx, %rbx
442 leaq 2(%r14), %rdx
443 movabsq $922337203685477580, %rcx
444 subl $48, %eax
445 cmpl $9, %eax
446 jbe .L23
447 jmp .L20
448 .p2align 4,,10
449 .p2align 3
450 .L22:
451 cmpq %rcx, %rbx
452 jg .L21
453 .L23:
454 leaq (%rbx,%rbx,4), %rsi
455 cltq
456 addq $1, %rdx
457 leaq (%rax,%rsi,2), %rbx
458 movsbl (%rdx), %eax
459 subl $48, %eax
460 cmpl $9, %eax
461 jbe .L22
462 .L20:
463 movq %r8, %rax
464 movq %r15, %rsi
465 subq %r11, %rax
466 subq %rax, %rsi
467 cmpq %rbx, %rsi
468 jbe .L21
469 movzbl (%rdx), %eax
470 movl $-1, %r9d
471 cmpb $35, %al
472 jne .L24
473 jmp .L363
474 .p2align 4,,10
475 .p2align 3
476 .L364:
477 movsbl 1(%rdx), %r12d
478 subl $48, %r12d
479 cmpl $9, %r12d
480 ja .L330
481 leaq 2(%rdx), %rcx
482 movsbl 2(%rdx), %edx
483 movl %edx, %eax
484 subl $48, %edx
485 cmpl $9, %edx
486 ja .L177
487 .p2align 4,,10
488 .p2align 3
489 .L27:
490 leal (%r12,%r12,4), %eax
491 addq $1, %rcx
492 leal (%rdx,%rax,2), %r12d
493 movsbl (%rcx), %edx
494 movl %edx, %eax
495 subl $48, %edx
496 cmpl $9, %edx
497 jbe .L27
498 .L177:
499 movq %rcx, %rdx
500 jmp .L26
501 .p2align 4,,10
502 .p2align 3
503 .L365:
504 movl 96(%rsp), %edi
505 leaq 2(%rdx), %r14
506 movl %edi, %eax
507 notl %eax
508 andl $1, %eax
509 andl $2, %edi
510 movl $0, %edi
511 movl %eax, %esi
512 movl %eax, 144(%rsp)
513 movzbl 1(%rdx), %eax
514 cmovne %esi, %edi
515 movl %edi, 100(%rsp)
516 cmpb $105, %al
517 jne .L369
518 .L30:
519 movq 64(%r10), %rax
520 leaq 244(%rsp), %rcx
521 movl $3, %edx
522 movq %r11, 112(%rsp)
523 movq %r8, 104(%rsp)
524 movq %rcx, %rdi
525 movl %r9d, 48(%rsp)
526 movq %r10, 40(%rsp)
527 movq %rax, %rsi
528 movq %rax, 32(%rsp)
529 movaps %xmm2, 80(%rsp)
530 call strncpy
531 movq %rax, %rcx
532 cmpl $-2, %r13d
533 movq 32(%rsp), %rax
534 movb $0, 247(%rsp)
535 movq 40(%rsp), %r10
536 movl 48(%rsp), %r9d
537 movdqa 80(%rsp), %xmm2
538 movzbl 3(%rax), %eax
539 movq 104(%rsp), %r8
540 movq 112(%rsp), %r11
541 movb %al, 151(%rsp)
542 jne .L355
543 movq 224(%r10), %rax
544 movsbl (%rax), %r13d
545 .L355:
546 cmpl $-2, %ebp
547 jne .L349
548 movq 232(%r10), %rax
549 movsbl (%rax), %ebp
550 .L349:
551 cmpl $-1, %r12d
552 movq $3, 120(%rsp)
553 movq %rcx, 136(%rsp)
554 movl $1, %edx
555 jne .L36
556 movl $7, %eax
557 .L147:
558 movq 64(%r10,%rax,8), %rax
559 movsbl (%rax), %r12d
560 movl $2, %eax
561 cmpl $-1, %r12d
562 cmove %eax, %r12d
563 jmp .L36
564 .p2align 4,,10
565 .p2align 3
566 .L363:
567 movsbl 1(%rdx), %eax
568 subl $48, %eax
569 cmpl $9, %eax
570 ja .L330
571 leaq 2(%rdx), %rcx
572 movsbl 2(%rdx), %edx
573 movl %eax, %r9d
574 movl %edx, %eax
575 subl $48, %edx
576 cmpl $9, %edx
577 ja .L175
578 .p2align 4,,10
579 .p2align 3
580 .L25:
581 leal (%r9,%r9,4), %eax
582 addq $1, %rcx
583 leal (%rdx,%rax,2), %r9d
584 movsbl (%rcx), %edx
585 movl %edx, %eax
586 subl $48, %edx
587 cmpl $9, %edx
588 jbe .L25
589 .L175:
590 cmpb $46, %al
591 movq %rcx, %rdx
592 movl $-1, %r12d
593 jne .L26
594 jmp .L364
595 .p2align 4,,10
596 .p2align 3
597 .L366:
598 cmpl $1, 100(%rsp)
599 je .L370
600 movq 8(%rsi), %rax
601 movq %rax, (%rsp)
602 addq $15, %rax
603 andq $-16, %rax
604 leaq 16(%rax), %rcx
605 movq %rcx, 8(%rsi)
606 fldt (%rax)
607 fldz
608 fucomip %st(1), %st
609 ja .L45
610 fstpt 256(%rsp)
611 seta %sil
612 movzbl %sil, %esi
613 .L46:
614 movq 104(%r10), %rax
615 testl %esi, %esi
616 movq %rax, 112(%rsp)
617 movq 112(%r10), %rax
618 movzbl (%rax), %ecx
619 jne .L371
620 testl %edx, %edx
621 je .L372
622 movq 192(%r10), %rdx
623 testb %cl, %cl
624 movsbl (%rdx), %edi
625 movq 200(%r10), %rdx
626 movl %edi, 32(%rsp)
627 movsbl (%rdx), %edi
628 movq 208(%r10), %rdx
629 movsbl (%rdx), %ecx
630 leaq .LC0(%rip), %rdx
631 movl %edi, (%rsp)
632 cmovne %rax, %rdx
633 movl $19, %eax
634 movq %rdx, 128(%rsp)
635 .L154:
636 movq 64(%r10,%rax,8), %rax
637 movl %ebp, %edx
638 movl %r13d, %ebp
639 movl %edx, %r13d
640 movsbl (%rax), %eax
641 .L55:
642 movl 32(%rsp), %edx
643 testl %edx, %edx
644 movl $0, %edx
645 setne 152(%rsp)
646 testl %ecx, %ecx
647 movl %edx, %edi
648 setne 80(%rsp)
649 cmpl $-1, (%rsp)
650 cmovne (%rsp), %edi
651 cmpl $-1, %eax
652 movl %edi, (%rsp)
653 leaq -1(%r11,%r15), %rdi
654 movq %rdi, 40(%rsp)
655 je .L373
656 movl %esi, %edi
657 andl $1, %edi
658 cmpl $-1, %ebp
659 movb %dil, 48(%rsp)
660 je .L374
661 cmpl $-1, %r13d
662 je .L375
663 .L67:
664 cmpl $2, (%rsp)
665 je .L77
666 testl %ebp, %ebp
667 sete 104(%rsp)
668 movzbl 104(%rsp), %edi
669 andb %dil, 48(%rsp)
670 .L66:
671 cmpl $2, %eax
672 je .L376
673 .L80:
674 cmpl $-1, %r9d
675 je .L196
676 .L163:
677 movl 32(%rsp), %edi
678 xorl %edx, %edx
679 testl %edi, %edi
680 je .L76
681 cmpl $1, (%rsp)
682 movl 120(%rsp), %edx
683 sbbl $-1, %edx
684 .L76:
685 testl %ecx, %ecx
686 movl $0, 80(%rsp)
687 je .L85
688 movl 120(%rsp), %edi
689 testl %eax, %eax
690 movl %edi, 80(%rsp)
691 je .L85
692 .L165:
693 addl $1, 80(%rsp)
694 .L85:
695 cmpb $0, 48(%rsp)
696 je .L86
697 .L166:
698 addl $1, %edx
699 .L87:
700 cmpl $1, %r13d
701 je .L377
702 testl %ecx, %ecx
703 jne .L378
704 .L93:
705 movl 80(%rsp), %eax
706 cmpl %edx, %eax
707 jle .L199
708 movl %eax, %r13d
709 .L347:
710 subl %edx, %r13d
711 cmpq 40(%rsp), %r8
712 jnb .L21
713 leal -1(%r13), %eax
714 movq 40(%rsp), %rcx
715 leaq 1(%r8,%rax), %rdx
716 movq %r8, %rax
717 .p2align 4,,10
718 .p2align 3
719 .L96:
720 addq $1, %rax
721 movb $32, -1(%rax)
722 cmpq %rdx, %rax
723 je .L75
724 cmpq %rcx, %rax
725 jne .L96
726 jmp .L21
727 .p2align 4,,10
728 .p2align 3
729 .L373:
730 cmpl $-1, %ebp
731 je .L379
732 movl %esi, %eax
733 andl $1, %eax
734 movb %al, 48(%rsp)
735 xorl %eax, %eax
736 cmpl $-1, %r13d
737 jne .L67
738 cmpl $2, (%rsp)
739 je .L380
740 testl %ebp, %ebp
741 movl $1, %r13d
742 sete 104(%rsp)
743 movzbl 104(%rsp), %edi
744 andb %dil, 48(%rsp)
745 jmp .L80
746 .p2align 4,,10
747 .p2align 3
748 .L196:
749 movq %r8, %rdx
750 xorl %r9d, %r9d
751 .L75:
752 cmpb $0, 48(%rsp)
753 je .L200
754 cmpq 40(%rsp), %rdx
755 jnb .L21
756 movl 32(%rsp), %eax
757 leaq 1(%rdx), %r13
758 movb $40, (%rdx)
759 testl %eax, %eax
760 je .L99
761 .L98:
762 movl 24(%rsp), %eax
763 testl %eax, %eax
764 jne .L381
765 cmpl $4, %ebp
766 jne .L112
767 jmp .L108
768 .p2align 4,,10
769 .p2align 3
770 .L86:
771 cmpl $1, %ebp
772 je .L382
773 .L88:
774 movl 32(%rsp), %eax
775 testl %eax, %eax
776 je .L89
777 leal -3(%rbp), %eax
778 cmpl $1, %eax
779 ja .L89
780 movq 112(%rsp), %rdi
781 movq %r11, 232(%rsp)
782 movq %r10, 224(%rsp)
783 movq %r8, 216(%rsp)
784 movaps %xmm2, 192(%rsp)
785 movl %r9d, 208(%rsp)
786 movl %edx, 176(%rsp)
787 movl %ecx, 160(%rsp)
788 movl %esi, 152(%rsp)
789 call strlen
790 movl 176(%rsp), %edx
791 movq 232(%rsp), %r11
792 movq 224(%rsp), %r10
793 movq 216(%rsp), %r8
794 movl 208(%rsp), %r9d
795 movl 160(%rsp), %ecx
796 movl 152(%rsp), %esi
797 addl %eax, %edx
798 movdqa 192(%rsp), %xmm2
799 .p2align 4,,10
800 .p2align 3
801 .L89:
802 orl %r13d, %esi
803 jne .L87
804 movl 80(%rsp), %r13d
805 addl $1, %r13d
806 cmpl %r13d, %edx
807 jl .L347
808 movq %r8, %r13
809 .L91:
810 movl 32(%rsp), %eax
811 testl %eax, %eax
812 jne .L383
813 movb $0, 48(%rsp)
814 .L99:
815 leal -2(%rbp), %eax
816 cmpl $3, %eax
817 jbe .L112
818 testl %ebp, %ebp
819 je .L112
820 .L169:
821 movq 112(%rsp), %rax
822 movzbl (%rax), %edx
823 testb %dl, %dl
824 je .L112
825 movq 40(%rsp), %rsi
826 cmpq %r13, %rsi
827 jbe .L21
828 movq %rsi, %rcx
829 subq %r13, %rcx
830 addq %rax, %rcx
831 jmp .L113
832 .p2align 4,,10
833 .p2align 3
834 .L114:
835 cmpq %rcx, %rax
836 je .L21
837 .L113:
838 addq $1, %rax
839 addq $1, %r13
840 movb %dl, -1(%r13)
841 movzbl (%rax), %edx
842 testb %dl, %dl
843 jne .L114
844 jmp .L112
845 .p2align 4,,10
846 .p2align 3
847 .L116:
848 cmpl $2, %ebp
849 je .L384
850 .L122:
851 cmpb $0, 48(%rsp)
852 je .L207
853 cmpq 40(%rsp), %rdi
854 jnb .L21
855 leaq 1(%rdi), %rdx
856 movb $41, (%rdi)
857 .L135:
858 movq %rdx, %rax
859 subq %r8, %rax
860 cmpq %rbx, %rax
861 jge .L136
862 movl 28(%rsp), %r9d
863 testl %r9d, %r9d
864 je .L137
865 cmpq 40(%rsp), %rdx
866 jnb .L21
867 leaq 1(%rdx), %rax
868 movb $32, (%rdx)
869 movq 40(%rsp), %rcx
870 movq %rax, %rdx
871 subq %r8, %rdx
872 cmpq %rdx, %rbx
873 jg .L138
874 jmp .L208
875 .p2align 4,,10
876 .p2align 3
877 .L339:
878 addq $1, %rax
879 movb $32, -1(%rax)
880 movq %rax, %rdx
881 subq %r8, %rdx
882 cmpq %rbx, %rdx
883 jge .L208
884 .L138:
885 cmpq %rcx, %rax
886 jne .L339
887 jmp .L21
888 .p2align 4,,10
889 .p2align 3
890 .L372:
891 movq 136(%r10), %rdx
892 testb %cl, %cl
893 movsbl (%rdx), %edi
894 movq 144(%r10), %rdx
895 movl %edi, 32(%rsp)
896 movsbl (%rdx), %edi
897 movq 152(%r10), %rdx
898 movsbl (%rdx), %ecx
899 leaq .LC0(%rip), %rdx
900 movl %edi, (%rsp)
901 cmovne %rax, %rdx
902 movl $12, %eax
903 movq %rdx, 128(%rsp)
904 jmp .L154
905 .p2align 4,,10
906 .p2align 3
907 .L376:
908 xorl %eax, %eax
909 testl %r13d, %r13d
910 je .L80
911 cmpl $1, %r13d
912 sete %dl
913 jmp .L155
914 .p2align 4,,10
915 .p2align 3
916 .L374:
917 cmpl $-1, %r13d
918 je .L65
919 cmpl $2, (%rsp)
920 je .L62
921 .L346:
922 movb $0, 48(%rsp)
923 movb $0, 104(%rsp)
924 movl $1, %ebp
925 jmp .L66
926 .p2align 4,,10
927 .p2align 3
928 .L218:
929 movl $8, %eax
930 jmp .L147
931 .p2align 4,,10
932 .p2align 3
933 .L199:
934 movq %r8, %rdx
935 jmp .L75
936 .p2align 4,,10
937 .p2align 3
938 .L77:
939 testl %ebp, %ebp
940 movl $0, (%rsp)
941 movb $1, 104(%rsp)
942 je .L66
943 cmpl $1, %ebp
944 movb $0, 48(%rsp)
945 movb $0, 104(%rsp)
946 sete %dl
947 .L73:
948 movl 32(%rsp), %edi
949 testl %edi, %edi
950 jne .L222
951 testb %dl, %dl
952 movl $0, (%rsp)
953 jne .L66
954 .L222:
955 cmpl $2, %ebp
956 jne .L223
957 cmpb $0, 152(%rsp)
958 je .L223
959 movl $0, (%rsp)
960 jmp .L66
961 .p2align 4,,10
962 .p2align 3
963 .L375:
964 cmpl $2, (%rsp)
965 je .L385
966 testl %ebp, %ebp
967 sete 104(%rsp)
968 movzbl 104(%rsp), %edi
969 andb %dil, 48(%rsp)
970 .L161:
971 cmpl $2, %eax
972 movl $1, %edx
973 movl $1, %r13d
974 jne .L80
975 .L155:
976 testl %ecx, %ecx
977 jne .L224
978 testb %dl, %dl
979 je .L224
980 movl $1, %r13d
981 xorl %eax, %eax
982 jmp .L80
983 .p2align 4,,10
984 .p2align 3
985 .L371:
986 movq 112(%rsp), %rsi
987 movq %rsi, 128(%rsp)
988 .L160:
989 testb %cl, %cl
990 leaq .LC0(%rip), %rcx
991 cmovne %rax, %rcx
992 testl %edx, %edx
993 movq %rcx, 112(%rsp)
994 je .L386
995 movq 208(%r10), %rax
996 movsbl (%rax), %eax
997 movl %eax, 32(%rsp)
998 movq 216(%r10), %rax
999 movsbl (%rax), %eax
1000 movl %eax, (%rsp)
1001 movq 192(%r10), %rax
1002 movsbl (%rax), %ecx
1003 movl $17, %eax
1004 .L150:
1005 movq 64(%r10,%rax,8), %rax
1006 movl $1, %esi
1007 movsbl (%rax), %eax
1008 jmp .L55
1009 .p2align 4,,10
1010 .p2align 3
1011 .L386:
1012 movq 152(%r10), %rax
1013 movsbl (%rax), %eax
1014 movl %eax, 32(%rsp)
1015 movq 160(%r10), %rax
1016 movsbl (%rax), %eax
1017 movl %eax, (%rsp)
1018 movq 136(%r10), %rax
1019 movsbl (%rax), %ecx
1020 movl $10, %eax
1021 jmp .L150
1022 .L117:
1023 movl 24(%rsp), %ecx
1024 testl %ecx, %ecx
1025 jne .L159
1026 .L125:
1027 cmpl $4, %ebp
1028 jne .L116
1029 cmpl $2, (%rsp)
1030 je .L387
1031 .L128:
1032 movq 112(%rsp), %rcx
1033 movzbl (%rcx), %eax
1034 testb %al, %al
1035 je .L207
1036 movq 40(%rsp), %rsi
1037 cmpq %rsi, %rdi
1038 jnb .L21
1039 movq %rsi, %rdx
1040 subq %rdi, %rdx
1041 addq %rcx, %rdx
1042 jmp .L131
1043 .p2align 4,,10
1044 .p2align 3
1045 .L129:
1046 cmpq %rdx, %rcx
1047 je .L21
1048 .L131:
1049 addq $1, %rcx
1050 addq $1, %rdi
1051 movb %al, -1(%rdi)
1052 movzbl (%rcx), %eax
1053 testb %al, %al
1054 jne .L129
1055 .L207:
1056 movq %rdi, %rdx
1057 jmp .L135
1058 .L383:
1059 testl $-3, %ebp
1060 je .L388
1061 .L170:
1062 leal -4(%rbp), %eax
1063 movb $0, 48(%rsp)
1064 cmpl $1, %eax
1065 jbe .L98
1066 .L168:
1067 movq 112(%rsp), %rax
1068 movzbl (%rax), %edx
1069 testb %dl, %dl
1070 je .L100
1071 movq 40(%rsp), %rsi
1072 cmpq %r13, %rsi
1073 jbe .L21
1074 movq %rsi, %rcx
1075 subq %r13, %rcx
1076 addq %rax, %rcx
1077 jmp .L101
1078 .p2align 4,,10
1079 .p2align 3
1080 .L102:
1081 cmpq %rcx, %rax
1082 je .L21
1083 .L101:
1084 addq $1, %rax
1085 addq $1, %r13
1086 movb %dl, -1(%r13)
1087 movzbl (%rax), %edx
1088 testb %dl, %dl
1089 jne .L102
1090 .L100:
1091 cmpl $2, (%rsp)
1092 movb $0, 48(%rsp)
1093 jne .L98
1094 cmpq 40(%rsp), %r13
1095 jnb .L21
1096 movb $32, 0(%r13)
1097 addq $1, %r13
1098 jmp .L98
1099 .p2align 4,,10
1100 .p2align 3
1101 .L378:
1102 leal -3(%r13), %eax
1103 cmpl $1, %eax
1104 ja .L93
1105 movq 128(%rsp), %rdi
1106 movq %r11, 216(%rsp)
1107 movq %r10, 192(%rsp)
1108 movq %r8, 208(%rsp)
1109 movaps %xmm2, 176(%rsp)
1110 movl %r9d, 160(%rsp)
1111 movl %edx, 152(%rsp)
1112 call strlen
1113 movq 216(%rsp), %r11
1114 addl %eax, 80(%rsp)
1115 movq 192(%rsp), %r10
1116 movq 208(%rsp), %r8
1117 movdqa 176(%rsp), %xmm2
1118 movl 160(%rsp), %r9d
1119 movl 152(%rsp), %edx
1120 jmp .L93
1121 .L215:
1122 xorl %eax, %eax
1123 .L62:
1124 cmpl $1, 32(%rsp)
1125 sbbl %edi, %edi
1126 notl %edi
1127 andl $2, %edi
1128 movl %edi, (%rsp)
1129 jmp .L346
1130 .L385:
1131 testl %ebp, %ebp
1132 jne .L70
1133 cmpl $2, %eax
1134 jne .L69
1135 testl %ecx, %ecx
1136 je .L156
1137 cmpl $-1, %r9d
1138 je .L211
1139 movl 32(%rsp), %edi
1140 movq 120(%rsp), %rax
1141 movl $0, %edx
1142 movl $0, (%rsp)
1143 movb $1, 104(%rsp)
1144 movl $1, %r13d
1145 testl %edi, %edi
1146 movl %eax, 80(%rsp)
1147 cmovne %rax, %rdx
1148 jmp .L165
1149 .L208:
1150 movq %rax, %rdx
1151 .p2align 4,,10
1152 .p2align 3
1153 .L136:
1154 movq %rdx, %r8
1155 jmp .L2
1156 .L379:
1157 cmpl $-1, %r13d
1158 je .L389
1159 cmpl $2, (%rsp)
1160 je .L215
1161 cmpl $-1, %r9d
1162 je .L162
1163 movb $0, 48(%rsp)
1164 movb $0, 104(%rsp)
1165 movl $1, %ebp
1166 xorl %eax, %eax
1167 jmp .L163
1168 .L377:
1169 movq 128(%rsp), %rdi
1170 movq %r11, 216(%rsp)
1171 movq %r10, 192(%rsp)
1172 movq %r8, 208(%rsp)
1173 movaps %xmm2, 176(%rsp)
1174 movl %r9d, 160(%rsp)
1175 movl %edx, 152(%rsp)
1176 call strlen
1177 movl 152(%rsp), %edx
1178 addl %eax, 80(%rsp)
1179 movl 160(%rsp), %r9d
1180 movq 208(%rsp), %r8
1181 movdqa 176(%rsp), %xmm2
1182 movq 192(%rsp), %r10
1183 movq 216(%rsp), %r11
1184 jmp .L93
1185 .L382:
1186 movq 112(%rsp), %rdi
1187 movq %r11, 232(%rsp)
1188 movq %r10, 224(%rsp)
1189 movq %r8, 216(%rsp)
1190 movaps %xmm2, 192(%rsp)
1191 movl %r9d, 208(%rsp)
1192 movl %edx, 176(%rsp)
1193 movl %ecx, 160(%rsp)
1194 movl %esi, 152(%rsp)
1195 call strlen
1196 movl 176(%rsp), %edx
1197 movl 152(%rsp), %esi
1198 movl 160(%rsp), %ecx
1199 movl 208(%rsp), %r9d
1200 movdqa 192(%rsp), %xmm2
1201 addl %eax, %edx
1202 movq 216(%rsp), %r8
1203 movq 224(%rsp), %r10
1204 movq 232(%rsp), %r11
1205 jmp .L89
1206 .L384:
1207 cmpl $2, (%rsp)
1208 je .L390
1209 .L132:
1210 movq 112(%rsp), %rcx
1211 movzbl (%rcx), %eax
1212 testb %al, %al
1213 je .L207
1214 movq 40(%rsp), %rsi
1215 cmpq %rsi, %rdi
1216 jnb .L21
1217 movq %rsi, %rdx
1218 subq %rdi, %rdx
1219 addq %rcx, %rdx
1220 jmp .L134
1221 .p2align 4,,10
1222 .p2align 3
1223 .L133:
1224 cmpq %rdx, %rcx
1225 je .L21
1226 .L134:
1227 addq $1, %rcx
1228 addq $1, %rdi
1229 movb %al, -1(%rdi)
1230 movzbl (%rcx), %eax
1231 testb %al, %al
1232 jne .L133
1233 jmp .L207
1234 .L45:
1235 fchs
1236 fstpt 256(%rsp)
1237 .L44:
1238 movq 104(%r10), %rax
1239 movq %rax, 128(%rsp)
1240 movq 112(%r10), %rax
1241 movzbl (%rax), %ecx
1242 jmp .L160
1243 .L65:
1244 cmpl $2, (%rsp)
1245 je .L214
1246 movb $0, 48(%rsp)
1247 movb $0, 104(%rsp)
1248 movl $1, %ebp
1249 jmp .L161
1250 .L224:
1251 cmpl $2, %r13d
1252 jne .L225
1253 xorl %eax, %eax
1254 cmpb $0, 80(%rsp)
1255 jne .L80
1256 .L225:
1257 movl $2, %eax
1258 jmp .L80
1259 .L200:
1260 movq %rdx, %r13
1261 jmp .L91
1262 .L137:
1263 subq %rax, %rbx
1264 leaq -1(%rdx), %rax
1265 cmpq %rax, %r8
1266 ja .L140
1267 leaq -1(%r8), %rsi
1268 .p2align 4,,10
1269 .p2align 3
1270 .L141:
1271 movzbl (%rax), %ecx
1272 subq $1, %rax
1273 movb %cl, 1(%rax,%rbx)
1274 cmpq %rax, %rsi
1275 jne .L141
1276 .L140:
1277 addq %rbx, %rdx
1278 .p2align 4,,10
1279 .p2align 3
1280 .L142:
1281 subq $1, %rbx
1282 testq %rbx, %rbx
1283 movb $32, (%r8,%rbx)
1284 jne .L142
1285 jmp .L136
1286 .L159:
1287 leal -2(%rbp), %eax
1288 andl $-3, %eax
1289 sete %al
1290 cmpl $1, %ebp
1291 sete %dl
1292 orb 104(%rsp), %dl
1293 orl %edx, %eax
1294 cmpl $1, (%rsp)
1295 sete %dl
1296 testb %dl, %al
1297 jne .L123
1298 movq %rdi, %rcx
1299 jmp .L124
1300 .L389:
1301 cmpl $2, (%rsp)
1302 je .L391
1303 cmpl $-1, %r9d
1304 je .L164
1305 movb $0, 48(%rsp)
1306 movb $0, 104(%rsp)
1307 movl $1, %r13d
1308 movl $1, %ebp
1309 xorl %eax, %eax
1310 jmp .L163
1311 .L69:
1312 cmpl $-1, %r9d
1313 je .L186
1314 movl 32(%rsp), %ebp
1315 movl $0, %edx
1316 movb $1, 104(%rsp)
1317 movl $0, (%rsp)
1318 movl $1, %r13d
1319 testl %ebp, %ebp
1320 cmovne 120(%rsp), %edx
1321 xorl %ebp, %ebp
1322 jmp .L76
1323 .L390:
1324 cmpq 40(%rsp), %rdi
1325 jnb .L21
1326 movb $32, (%rdi)
1327 addq $1, %rdi
1328 jmp .L132
1329 .L380:
1330 testl %ebp, %ebp
1331 je .L69
1332 .L70:
1333 cmpl $1, %ebp
1334 movl $1, %r13d
1335 sete %dl
1336 testl %ebp, %ebp
1337 sete 104(%rsp)
1338 movzbl 104(%rsp), %edi
1339 andb %dil, 48(%rsp)
1340 jmp .L73
1341 .L214:
1342 movl $1, %r13d
1343 jmp .L62
1344 .L368:
1345 cmpq %rsi, %rdi
1346 jnb .L21
1347 movb $32, (%rdi)
1348 addq $1, %rdi
1349 jmp .L118
1350 .L162:
1351 movl 32(%rsp), %eax
1352 testl %eax, %eax
1353 je .L392
1354 movq %r8, %r13
1355 movb $0, 104(%rsp)
1356 movl $1, %ebp
1357 xorl %r9d, %r9d
1358 jmp .L170
1359 .L387:
1360 cmpq 40(%rsp), %rdi
1361 jnb .L21
1362 movb $32, (%rdi)
1363 addq $1, %rdi
1364 jmp .L128
1365 .L186:
1366 movq %r8, %rdx
1367 movb $1, 104(%rsp)
1368 movl $0, (%rsp)
1369 xorl %ebp, %ebp
1370 xorl %r9d, %r9d
1371 jmp .L75
1372 .L391:
1373 xorl %eax, %eax
1374 movl $1, %r13d
1375 jmp .L62
1376 .L156:
1377 cmpl $-1, %r9d
1378 je .L211
1379 movl 32(%rsp), %ebp
1380 movl $0, %edx
1381 testl %ebp, %ebp
1382 cmovne 120(%rsp), %rdx
1383 cmpb $0, 48(%rsp)
1384 je .L337
1385 movzbl 48(%rsp), %eax
1386 movl $0, (%rsp)
1387 movl %ecx, %ebp
1388 movl $0, 80(%rsp)
1389 movl $1, %r13d
1390 movb %al, 104(%rsp)
1391 jmp .L166
1392 .L164:
1393 movl 32(%rsp), %edx
1394 xorl %r9d, %r9d
1395 movq %r8, %r13
1396 movl $1, %ebp
1397 movb $0, 104(%rsp)
1398 testl %edx, %edx
1399 jne .L168
1400 movb $0, 48(%rsp)
1401 jmp .L169
1402 .L392:
1403 xorl %r9d, %r9d
1404 movq %r8, %r13
1405 movl $1, %ebp
1406 movb $0, 48(%rsp)
1407 movb $0, 104(%rsp)
1408 jmp .L99
1409 .L211:
1410 movl $0, (%rsp)
1411 xorl %r9d, %r9d
1412 movq %r8, %rdx
1413 movb $1, 104(%rsp)
1414 jmp .L75
1415 .L107:
1416 cmpl $1, (%rsp)
1417 jne .L112
1418 cmpq 40(%rsp), %r13
1419 jnb .L21
1420 movzbl 151(%rsp), %eax
1421 addq $1, %r13
1422 movb %al, -1(%r13)
1423 jmp .L112
1424 .L206:
1425 movq %rcx, %rdi
1426 jmp .L125
1427 .L337:
1428 movl $0, (%rsp)
1429 movl %ecx, %ebp
1430 movl $0, 80(%rsp)
1431 movl $1, %r13d
1432 movb $1, 104(%rsp)
1433 jmp .L88
1434 .L388:
1435 movb $0, 48(%rsp)
1436 jmp .L98
1437 .L223:
1438 movl $2, (%rsp)
1439 jmp .L66
1440 .L47:
1441 movq 72(%rsp), %rsi
1442 movq 8(%rsi), %rax
1443 leaq 8(%rax), %rcx
1444 movq %rcx, 8(%rsi)
1445 .L48:
1446 pxor %xmm1, %xmm1
1447 movsd (%rax), %xmm0
1448 ucomisd %xmm0, %xmm1
1449 ja .L49
1450 seta %sil
1451 movsd %xmm0, 256(%rsp)
1452 movzbl %sil, %esi
1453 jmp .L46
1454 .p2align 4,,10
1455 .p2align 3
1456 .L49:
1457 xorpd .LC5(%rip), %xmm0
1458 movsd %xmm0, 256(%rsp)
1459 jmp .L44
1460 .L370:
1461 movl 4(%rsi), %ecx
1462 cmpl $175, %ecx
1463 ja .L40
1464 movl %ecx, %eax
1465 addq 16(%rsi), %rax
1466 addl $16, %ecx
1467 movl %ecx, 4(%rsi)
1468 .L41:
1469 movdqa (%rax), %xmm3
1470 pxor %xmm1, %xmm1
1471 movq %r11, 112(%rsp)
1472 movq %r10, 104(%rsp)
1473 movdqa %xmm3, %xmm0
1474 movq %r8, 80(%rsp)
1475 movl %r9d, 40(%rsp)
1476 movaps %xmm2, 48(%rsp)
1477 movl %edx, 32(%rsp)
1478 movaps %xmm3, (%rsp)
1479 call __lttf2@PLT
1480 testq %rax, %rax
1481 movdqa (%rsp), %xmm3
1482 movl 32(%rsp), %edx
1483 movl 40(%rsp), %r9d
1484 movdqa 48(%rsp), %xmm2
1485 movq 80(%rsp), %r8
1486 movq 104(%rsp), %r10
1487 movq 112(%rsp), %r11
1488 js .L393
1489 movdqa %xmm2, %xmm1
1490 movdqa %xmm3, %xmm0
1491 movq %r11, 104(%rsp)
1492 movq %r10, 80(%rsp)
1493 movq %r8, 48(%rsp)
1494 movl %r9d, 40(%rsp)
1495 movl %edx, 32(%rsp)
1496 movaps %xmm2, (%rsp)
1497 movaps %xmm3, 256(%rsp)
1498 call __lttf2@PLT
1499 xorl %esi, %esi
1500 testq %rax, %rax
1501 sets %sil
1502 movq 104(%rsp), %r11
1503 movq 80(%rsp), %r10
1504 movq 48(%rsp), %r8
1505 movl 40(%rsp), %r9d
1506 movl 32(%rsp), %edx
1507 movdqa (%rsp), %xmm2
1508 jmp .L46
1509 .L393:
1510 pxor .LC2(%rip), %xmm3
1511 movaps %xmm3, 256(%rsp)
1512 jmp .L44
1513 .L40:
1514 movq 72(%rsp), %rsi
1515 movq 8(%rsi), %rax
1516 movq %rax, (%rsp)
1517 addq $15, %rax
1518 andq $-16, %rax
1519 leaq 16(%rax), %rcx
1520 movq %rcx, 8(%rsi)
1521 jmp .L41
1522 .size __vstrfmon_l_internal, .-__vstrfmon_l_internal
1523 .p2align 4,,15
1524 .globl ___strfmon_l
1525 .type ___strfmon_l, @function
1526 ___strfmon_l:
1527 subq $216, %rsp
1528 testb %al, %al
1529 movq %r8, 64(%rsp)
1530 movq %r9, 72(%rsp)
1531 je .L396
1532 movaps %xmm0, 80(%rsp)
1533 movaps %xmm1, 96(%rsp)
1534 movaps %xmm2, 112(%rsp)
1535 movaps %xmm3, 128(%rsp)
1536 movaps %xmm4, 144(%rsp)
1537 movaps %xmm5, 160(%rsp)
1538 movaps %xmm6, 176(%rsp)
1539 movaps %xmm7, 192(%rsp)
1540 .L396:
1541 leaq 224(%rsp), %rax
1542 leaq 8(%rsp), %r8
1543 xorl %r9d, %r9d
1544 movq %rax, 16(%rsp)
1545 leaq 32(%rsp), %rax
1546 movl $32, 8(%rsp)
1547 movl $48, 12(%rsp)
1548 movq %rax, 24(%rsp)
1549 call __vstrfmon_l_internal
1550 addq $216, %rsp
1552 .size ___strfmon_l, .-___strfmon_l
1553 .weak strfmon_l
1554 .set strfmon_l,___strfmon_l
1555 .globl __strfmon_l
1556 .set __strfmon_l,___strfmon_l
1557 .section .rodata.cst16,"aM",@progbits,16
1558 .align 16
1559 .LC2:
1560 .long 0
1561 .long 0
1562 .long 0
1563 .long -2147483648
1564 .align 16
1565 .LC5:
1566 .long 0
1567 .long -2147483648
1568 .long 0
1569 .long 0
1570 .hidden strncpy
1571 .hidden __printf_fp_l
1572 .hidden _IO_str_jumps
1573 .hidden _IO_init_internal
1574 .hidden __guess_grouping
1575 .hidden strlen