clarify the purpose of this project
[nyanglibc.git] / libio / fileops.shared.s
blob145e2fe5c511bd3a8fd175ea04102fab640905e3
1 .text
2 #APP
3 memmove = __GI_memmove
4 memset = __GI_memset
5 memcpy = __GI_memcpy
6 .symver _IO_new_do_write,_IO_do_write@@GLIBC_2.2.5
7 .symver _IO_new_file_attach,_IO_file_attach@@GLIBC_2.2.5
8 .symver _IO_new_file_close_it,_IO_file_close_it@@GLIBC_2.2.5
9 .symver _IO_new_file_finish,_IO_file_finish@@GLIBC_2.2.5
10 .symver _IO_new_file_fopen,_IO_file_fopen@@GLIBC_2.2.5
11 .symver _IO_new_file_init,_IO_file_init@@GLIBC_2.2.5
12 .symver _IO_new_file_setbuf,_IO_file_setbuf@@GLIBC_2.2.5
13 .symver _IO_new_file_sync,_IO_file_sync@@GLIBC_2.2.5
14 .symver _IO_new_file_overflow,_IO_file_overflow@@GLIBC_2.2.5
15 .symver _IO_new_file_seekoff,_IO_file_seekoff@@GLIBC_2.2.5
16 .symver _IO_new_file_underflow,_IO_file_underflow@@GLIBC_2.2.5
17 .symver _IO_new_file_write,_IO_file_write@@GLIBC_2.2.5
18 .symver _IO_new_file_xsputn,_IO_file_xsputn@@GLIBC_2.2.5
19 #NO_APP
20 .p2align 4,,15
21 .globl _IO_new_file_sync
22 .type _IO_new_file_sync, @function
23 _IO_new_file_sync:
24 .LFB102:
25 pushq %rbp
26 pushq %rbx
27 movq %rdi, %rbx
28 subq $24, %rsp
29 movq 40(%rdi), %rdx
30 movq 32(%rdi), %rsi
31 cmpq %rsi, %rdx
32 jbe .L7
33 movl 192(%rdi), %eax
34 testl %eax, %eax
35 jle .L18
36 movq 160(%rdi), %rax
37 movq 24(%rax), %rsi
38 movq 32(%rax), %rdx
39 subq %rsi, %rdx
40 sarq $2, %rdx
41 call __GI__IO_wdo_write
42 testl %eax, %eax
43 setne %al
44 .L6:
45 testb %al, %al
46 jne .L12
47 .L7:
48 movq 8(%rbx), %rsi
49 subq 16(%rbx), %rsi
50 je .L9
51 movq 216(%rbx), %rbp
52 leaq __start___libc_IO_vtables(%rip), %rdx
53 leaq __stop___libc_IO_vtables(%rip), %rax
54 subq %rdx, %rax
55 movq %rbp, %rcx
56 subq %rdx, %rcx
57 cmpq %rcx, %rax
58 jbe .L19
59 .L10:
60 movl $1, %edx
61 movq %rbx, %rdi
62 call *128(%rbp)
63 cmpq $-1, %rax
64 je .L11
65 movq 8(%rbx), %rax
66 movq %rax, 16(%rbx)
67 .L9:
68 movq $-1, 144(%rbx)
69 xorl %eax, %eax
70 .L1:
71 addq $24, %rsp
72 popq %rbx
73 popq %rbp
74 ret
75 .p2align 4,,10
76 .p2align 3
77 .L18:
78 subq %rsi, %rdx
79 call __GI__IO_do_write
80 testl %eax, %eax
81 setne %al
82 jmp .L6
83 .p2align 4,,10
84 .p2align 3
85 .L11:
86 movq __libc_errno@gottpoff(%rip), %rax
87 cmpl $29, %fs:(%rax)
88 je .L9
89 .L12:
90 movl $-1, %eax
91 jmp .L1
92 .p2align 4,,10
93 .p2align 3
94 .L19:
95 movq %rsi, 8(%rsp)
96 call _IO_vtable_check
97 movq 8(%rsp), %rsi
98 jmp .L10
99 .LFE102:
100 .size _IO_new_file_sync, .-_IO_new_file_sync
101 .globl __GI__IO_file_sync
102 .set __GI__IO_file_sync,_IO_new_file_sync
103 .p2align 4,,15
104 .type _IO_file_seekoff_maybe_mmap, @function
105 _IO_file_seekoff_maybe_mmap:
106 .LFB107:
107 pushq %rbp
108 pushq %rbx
109 leaq __start___libc_IO_vtables(%rip), %rcx
110 leaq __stop___libc_IO_vtables(%rip), %rax
111 movq %rdi, %rbx
112 subq $24, %rsp
113 movq 216(%rdi), %rbp
114 subq %rcx, %rax
115 movq %rbp, %rdi
116 subq %rcx, %rdi
117 cmpq %rdi, %rax
118 jbe .L25
119 .L21:
120 movq %rbx, %rdi
121 call *128(%rbp)
122 testq %rax, %rax
123 js .L23
124 movq %rax, 144(%rbx)
125 .L20:
126 addq $24, %rsp
127 popq %rbx
128 popq %rbp
130 .p2align 4,,10
131 .p2align 3
132 .L25:
133 movl %edx, 12(%rsp)
134 movq %rsi, (%rsp)
135 call _IO_vtable_check
136 movl 12(%rsp), %edx
137 movq (%rsp), %rsi
138 jmp .L21
139 .p2align 4,,10
140 .p2align 3
141 .L23:
142 movq $-1, %rax
143 jmp .L20
144 .LFE107:
145 .size _IO_file_seekoff_maybe_mmap, .-_IO_file_seekoff_maybe_mmap
146 .p2align 4,,15
147 .globl __GI__IO_file_close
148 .hidden __GI__IO_file_close
149 .type __GI__IO_file_close, @function
150 __GI__IO_file_close:
151 .LFB112:
152 movl 112(%rdi), %edi
153 jmp __GI___close_nocancel
154 .LFE112:
155 .size __GI__IO_file_close, .-__GI__IO_file_close
156 .globl _IO_file_close
157 .set _IO_file_close,__GI__IO_file_close
158 .p2align 4,,15
159 .globl _IO_new_file_setbuf
160 .type _IO_new_file_setbuf, @function
161 _IO_new_file_setbuf:
162 .LFB92:
163 pushq %rbx
164 movq %rdi, %rbx
165 call _IO_default_setbuf@PLT
166 testq %rax, %rax
167 je .L27
168 movq 56(%rbx), %rax
169 movq %rax, 48(%rbx)
170 movq %rax, 40(%rbx)
171 movq %rax, 32(%rbx)
172 movq %rax, 24(%rbx)
173 movq %rax, 8(%rbx)
174 movq %rax, 16(%rbx)
175 movq %rbx, %rax
176 .L27:
177 popq %rbx
179 .LFE92:
180 .size _IO_new_file_setbuf, .-_IO_new_file_setbuf
181 .globl __GI__IO_file_setbuf
182 .set __GI__IO_file_setbuf,_IO_new_file_setbuf
183 .p2align 4,,15
184 .globl _IO_file_setbuf_mmap
185 .type _IO_file_setbuf_mmap, @function
186 _IO_file_setbuf_mmap:
187 .LFB93:
188 leaq __GI__IO_file_jumps(%rip), %rax
189 pushq %rbx
190 leaq __GI__IO_wfile_jumps(%rip), %rcx
191 movq %rdi, %rbx
192 movq %rax, 216(%rdi)
193 movq 160(%rdi), %rax
194 movq %rcx, 224(%rax)
195 call _IO_new_file_setbuf@PLT
196 testq %rax, %rax
197 je .L36
198 popq %rbx
200 .p2align 4,,10
201 .p2align 3
202 .L36:
203 movq 160(%rbx), %rdx
204 leaq _IO_file_jumps_mmap(%rip), %rcx
205 leaq _IO_wfile_jumps_mmap(%rip), %rdi
206 movq %rcx, 216(%rbx)
207 movq %rdi, 224(%rdx)
208 popq %rbx
210 .LFE93:
211 .size _IO_file_setbuf_mmap, .-_IO_file_setbuf_mmap
212 .p2align 4,,15
213 .type new_do_write, @function
214 new_do_write:
215 .LFB95:
216 pushq %r15
217 pushq %r14
218 leaq __start___libc_IO_vtables(%rip), %r14
219 pushq %r13
220 pushq %r12
221 movq %rsi, %r13
222 pushq %rbp
223 pushq %rbx
224 leaq __stop___libc_IO_vtables(%rip), %rbp
225 movq %rdi, %rbx
226 movq %rdx, %r15
227 subq $8, %rsp
228 movq 216(%rdi), %r12
229 subq %r14, %rbp
230 movq %r12, %rax
231 subq %r14, %rax
232 testl $4096, (%rdi)
233 je .L38
234 movq $-1, 144(%rdi)
235 .L39:
236 cmpq %rax, %rbp
237 jbe .L55
238 .L42:
239 movq %rbx, %rdi
240 movq %r15, %rdx
241 movq %r13, %rsi
242 call *120(%r12)
243 testq %rax, %rax
244 movq %rax, %r12
245 movzwl 128(%rbx), %edi
246 je .L43
247 testw %di, %di
248 jne .L56
249 .L43:
250 movl 192(%rbx), %edx
251 movq 56(%rbx), %rax
252 testl %edx, %edx
253 movq %rax, 24(%rbx)
254 movq %rax, 8(%rbx)
255 movq %rax, 16(%rbx)
256 movq %rax, 40(%rbx)
257 movq %rax, 32(%rbx)
258 jle .L57
259 .L44:
260 movq 64(%rbx), %rax
261 .L45:
262 movq %rax, 48(%rbx)
263 .L37:
264 addq $8, %rsp
265 movq %r12, %rax
266 popq %rbx
267 popq %rbp
268 popq %r12
269 popq %r13
270 popq %r14
271 popq %r15
273 .p2align 4,,10
274 .p2align 3
275 .L38:
276 movq 16(%rdi), %rdx
277 movq 32(%rdi), %rsi
278 cmpq %rsi, %rdx
279 je .L39
280 cmpq %rax, %rbp
281 jbe .L58
282 .L40:
283 subq %rdx, %rsi
284 movq %rbx, %rdi
285 movl $1, %edx
286 call *128(%r12)
287 xorl %r12d, %r12d
288 cmpq $-1, %rax
289 je .L37
290 movq 216(%rbx), %r12
291 movq %rax, 144(%rbx)
292 movq %r12, %rax
293 subq %r14, %rax
294 jmp .L39
295 .p2align 4,,10
296 .p2align 3
297 .L57:
298 testl $514, (%rbx)
299 jne .L45
300 jmp .L44
301 .p2align 4,,10
302 .p2align 3
303 .L56:
304 subl $1, %edi
305 movl %eax, %edx
306 movq %r13, %rsi
307 call __GI__IO_adjust_column
308 addl $1, %eax
309 movw %ax, 128(%rbx)
310 jmp .L43
311 .p2align 4,,10
312 .p2align 3
313 .L55:
314 call _IO_vtable_check
315 jmp .L42
316 .p2align 4,,10
317 .p2align 3
318 .L58:
319 call _IO_vtable_check
320 movq 32(%rbx), %rsi
321 movq 16(%rbx), %rdx
322 jmp .L40
323 .LFE95:
324 .size new_do_write, .-new_do_write
325 .p2align 4,,15
326 .globl _IO_file_close_mmap
327 .type _IO_file_close_mmap, @function
328 _IO_file_close_mmap:
329 .LFB111:
330 pushq %rbx
331 movq %rdi, %rbx
332 movq 56(%rdi), %rdi
333 movq 64(%rbx), %rsi
334 subq %rdi, %rsi
335 call __GI___munmap
336 movq $0, 64(%rbx)
337 movq $0, 56(%rbx)
338 movl 112(%rbx), %edi
339 popq %rbx
340 jmp __GI___close_nocancel
341 .LFE111:
342 .size _IO_file_close_mmap, .-_IO_file_close_mmap
343 .p2align 4,,15
344 .type mmap_remap_check, @function
345 mmap_remap_check:
346 .LFB97:
347 pushq %r12
348 pushq %rbp
349 leaq __start___libc_IO_vtables(%rip), %rdx
350 pushq %rbx
351 leaq __stop___libc_IO_vtables(%rip), %rax
352 movq %rdi, %rbx
353 subq $160, %rsp
354 movq 216(%rdi), %rbp
355 subq %rdx, %rax
356 movq %rbp, %rcx
357 subq %rdx, %rcx
358 cmpq %rcx, %rax
359 jbe .L79
360 .L62:
361 leaq 16(%rsp), %rsi
362 movq %rbx, %rdi
363 call *144(%rbp)
364 movq 56(%rbx), %rdi
365 movq 64(%rbx), %rsi
366 movl %eax, %ebp
367 subq %rdi, %rsi
368 testl %eax, %eax
369 jne .L64
370 movl 40(%rsp), %eax
371 andl $61440, %eax
372 cmpl $32768, %eax
373 je .L80
374 .L64:
375 call __GI___munmap
376 .L69:
377 movl 192(%rbx), %eax
378 movq $0, 64(%rbx)
379 movq $0, 56(%rbx)
380 movq $0, 24(%rbx)
381 movq $0, 8(%rbx)
382 movq $0, 16(%rbx)
383 testl %eax, %eax
384 jle .L81
385 leaq __GI__IO_wfile_jumps(%rip), %rax
386 movq %rax, 216(%rbx)
387 .L74:
388 movq 160(%rbx), %rdx
389 movl $1, %ebp
390 movq %rax, 224(%rdx)
391 .L61:
392 addq $160, %rsp
393 movl %ebp, %eax
394 popq %rbx
395 popq %rbp
396 popq %r12
398 .p2align 4,,10
399 .p2align 3
400 .L80:
401 movq 64(%rsp), %r12
402 testq %r12, %r12
403 je .L64
404 movq %rsi, 8(%rsp)
405 movq %rdi, (%rsp)
406 call __GI___getpagesize
407 movq 8(%rsp), %rsi
408 cltq
409 movq (%rsp), %rdi
410 movq %rax, %rcx
411 leaq -1(%r12,%rax), %rdx
412 negq %rcx
413 leaq -1(%rax,%rsi), %rsi
414 andq %rcx, %rdx
415 andq %rcx, %rsi
416 cmpq %rsi, %rdx
417 jb .L82
418 ja .L83
419 addq %rdi, %r12
420 movq %r12, 64(%rbx)
421 .L66:
422 movq 16(%rbx), %rax
423 subq 8(%rbx), %rax
424 movq %r12, %rsi
425 movq 144(%rbx), %rcx
426 subq %rdi, %rsi
427 movq %rdi, 24(%rbx)
428 subq %rax, %rcx
429 cmpq %rsi, %rcx
430 movq %rcx, 144(%rbx)
431 jge .L70
432 addq %rcx, %rdi
433 xorl %edx, %edx
434 movq %r12, 16(%rbx)
435 movq %rdi, 8(%rbx)
436 movl 112(%rbx), %edi
437 call __lseek64
438 movq 64(%rbx), %rdx
439 subq 56(%rbx), %rdx
440 cmpq %rax, %rdx
441 je .L71
442 orl $32, (%rbx)
443 jmp .L61
444 .p2align 4,,10
445 .p2align 3
446 .L81:
447 leaq __GI__IO_file_jumps(%rip), %rax
448 movq %rax, 216(%rbx)
449 leaq __GI__IO_wfile_jumps(%rip), %rax
450 jmp .L74
451 .p2align 4,,10
452 .p2align 3
453 .L79:
454 call _IO_vtable_check
455 jmp .L62
456 .p2align 4,,10
457 .p2align 3
458 .L70:
459 movq %r12, 8(%rbx)
460 movq %r12, 16(%rbx)
461 jmp .L61
462 .p2align 4,,10
463 .p2align 3
464 .L71:
465 movq %rdx, 144(%rbx)
466 jmp .L61
467 .p2align 4,,10
468 .p2align 3
469 .L82:
470 addq %rdx, %rdi
471 subq %rdx, %rsi
472 call __GI___munmap
473 movq 56(%rbx), %rdi
474 movq 64(%rsp), %r12
475 addq %rdi, %r12
476 movq %r12, 64(%rbx)
477 jmp .L66
478 .p2align 4,,10
479 .p2align 3
480 .L83:
481 xorl %eax, %eax
482 movl $1, %ecx
483 call __GI___mremap
484 cmpq $-1, %rax
485 movq %rax, %rdi
486 je .L84
487 movq 64(%rsp), %r12
488 movq %rax, 56(%rbx)
489 addq %rax, %r12
490 movq %r12, 64(%rbx)
491 jmp .L66
492 .L84:
493 movq 56(%rbx), %rdi
494 movq 64(%rbx), %rsi
495 subq %rdi, %rsi
496 call __GI___munmap
497 jmp .L69
498 .LFE97:
499 .size mmap_remap_check, .-mmap_remap_check
500 .p2align 4,,15
501 .globl __GI__IO_file_seek
502 .hidden __GI__IO_file_seek
503 .type __GI__IO_file_seek, @function
504 __GI__IO_file_seek:
505 .LFB109:
506 movl 112(%rdi), %edi
507 jmp __lseek64
508 .LFE109:
509 .size __GI__IO_file_seek, .-__GI__IO_file_seek
510 .globl _IO_file_seek
511 .set _IO_file_seek,__GI__IO_file_seek
512 .p2align 4,,15
513 .type _IO_file_sync_mmap, @function
514 _IO_file_sync_mmap:
515 .LFB103:
516 pushq %rbx
517 movq 8(%rdi), %rdx
518 movq %rdi, %rbx
519 movq %rdx, %rax
520 subq 56(%rdi), %rax
521 cmpq 16(%rdi), %rdx
522 je .L87
523 movl 112(%rdi), %edi
524 xorl %edx, %edx
525 movq %rax, %rsi
526 call __lseek64
527 movq 8(%rbx), %rdx
528 subq 56(%rbx), %rdx
529 cmpq %rax, %rdx
530 jne .L90
531 .L87:
532 movq %rax, 144(%rbx)
533 movq 24(%rbx), %rax
534 movq %rax, 8(%rbx)
535 movq %rax, 16(%rbx)
536 xorl %eax, %eax
537 popq %rbx
539 .p2align 4,,10
540 .p2align 3
541 .L90:
542 orl $32, (%rbx)
543 movl $-1, %eax
544 popq %rbx
546 .LFE103:
547 .size _IO_file_sync_mmap, .-_IO_file_sync_mmap
548 .p2align 4,,15
549 .type decide_maybe_mmap, @function
550 decide_maybe_mmap:
551 .LFB99:
552 pushq %rbp
553 pushq %rbx
554 leaq __start___libc_IO_vtables(%rip), %rdx
555 leaq __stop___libc_IO_vtables(%rip), %rax
556 movq %rdi, %rbx
557 subq $152, %rsp
558 movq 216(%rdi), %rbp
559 subq %rdx, %rax
560 movq %rbp, %rcx
561 subq %rdx, %rcx
562 cmpq %rcx, %rax
563 jbe .L115
564 .L92:
565 movq %rsp, %rsi
566 movq %rbx, %rdi
567 call *144(%rbp)
568 testl %eax, %eax
569 jne .L96
570 movl 24(%rsp), %eax
571 andl $61440, %eax
572 cmpl $32768, %eax
573 je .L116
574 .L96:
575 movl 192(%rbx), %eax
576 testl %eax, %eax
577 jle .L117
578 leaq __GI__IO_wfile_jumps(%rip), %rax
579 movq %rax, 216(%rbx)
580 .L102:
581 movq 160(%rbx), %rdx
582 movq %rax, 224(%rdx)
583 addq $152, %rsp
584 popq %rbx
585 popq %rbp
587 .p2align 4,,10
588 .p2align 3
589 .L117:
590 leaq __GI__IO_file_jumps(%rip), %rax
591 movq %rax, 216(%rbx)
592 leaq __GI__IO_wfile_jumps(%rip), %rax
593 jmp .L102
594 .p2align 4,,10
595 .p2align 3
596 .L116:
597 movq 48(%rsp), %rsi
598 testq %rsi, %rsi
599 je .L96
600 movq 144(%rbx), %rax
601 cmpq %rax, %rsi
602 jge .L104
603 cmpq $-1, %rax
604 jne .L96
605 .L104:
606 movl 112(%rbx), %r8d
607 xorl %r9d, %r9d
608 xorl %edi, %edi
609 movl $1, %ecx
610 movl $1, %edx
611 call __GI___mmap64
612 cmpq $-1, %rax
613 movq %rax, %rbp
614 je .L96
615 movq 48(%rsp), %rsi
616 movl 112(%rbx), %edi
617 xorl %edx, %edx
618 call __lseek64
619 movq 48(%rsp), %rsi
620 cmpq %rax, %rsi
621 je .L95
622 movq %rbp, %rdi
623 call __GI___munmap
624 movq $-1, 144(%rbx)
625 jmp .L96
626 .p2align 4,,10
627 .p2align 3
628 .L115:
629 call _IO_vtable_check
630 jmp .L92
631 .L95:
632 leaq 0(%rbp,%rsi), %rdx
633 xorl %ecx, %ecx
634 movq %rbp, %rsi
635 movq %rbx, %rdi
636 call __GI__IO_setb
637 movq 144(%rbx), %rdx
638 movq %rbp, 24(%rbx)
639 leaq 0(%rbp,%rdx), %rax
640 cmpq $-1, %rdx
641 movl 192(%rbx), %edx
642 cmove %rbp, %rax
643 movq %rax, 8(%rbx)
644 movq 48(%rsp), %rax
645 addq %rax, %rbp
646 testl %edx, %edx
647 movq %rax, 144(%rbx)
648 movq %rbp, 16(%rbx)
649 jle .L118
650 leaq _IO_wfile_jumps_mmap(%rip), %rax
651 movq %rax, 216(%rbx)
652 jmp .L102
653 .L118:
654 leaq _IO_file_jumps_mmap(%rip), %rax
655 movq %rax, 216(%rbx)
656 leaq _IO_wfile_jumps_mmap(%rip), %rax
657 jmp .L102
658 .LFE99:
659 .size decide_maybe_mmap, .-decide_maybe_mmap
660 .p2align 4,,15
661 .globl _IO_file_underflow_maybe_mmap
662 .type _IO_file_underflow_maybe_mmap, @function
663 _IO_file_underflow_maybe_mmap:
664 .LFB100:
665 pushq %rbp
666 pushq %rbx
667 movq %rdi, %rbx
668 subq $8, %rsp
669 call decide_maybe_mmap
670 movq 216(%rbx), %rbp
671 leaq __start___libc_IO_vtables(%rip), %rdx
672 leaq __stop___libc_IO_vtables(%rip), %rax
673 subq %rdx, %rax
674 movq %rbp, %rcx
675 subq %rdx, %rcx
676 cmpq %rcx, %rax
677 jbe .L122
678 movq 32(%rbp), %rax
679 addq $8, %rsp
680 movq %rbx, %rdi
681 popq %rbx
682 popq %rbp
683 jmp *%rax
684 .p2align 4,,10
685 .p2align 3
686 .L122:
687 call _IO_vtable_check
688 movq 32(%rbp), %rax
689 addq $8, %rsp
690 movq %rbx, %rdi
691 popq %rbx
692 popq %rbp
693 jmp *%rax
694 .LFE100:
695 .size _IO_file_underflow_maybe_mmap, .-_IO_file_underflow_maybe_mmap
696 .p2align 4,,15
697 .type _IO_file_xsgetn_maybe_mmap, @function
698 _IO_file_xsgetn_maybe_mmap:
699 .LFB117:
700 pushq %r13
701 pushq %r12
702 movq %rdx, %r13
703 pushq %rbp
704 pushq %rbx
705 movq %rdi, %rbx
706 movq %rsi, %r12
707 subq $8, %rsp
708 call decide_maybe_mmap
709 movq 216(%rbx), %rbp
710 leaq __start___libc_IO_vtables(%rip), %rcx
711 leaq __stop___libc_IO_vtables(%rip), %rax
712 subq %rcx, %rax
713 movq %rbp, %rdx
714 subq %rcx, %rdx
715 cmpq %rdx, %rax
716 jbe .L126
717 .L124:
718 movq 64(%rbp), %rax
719 addq $8, %rsp
720 movq %r13, %rdx
721 movq %r12, %rsi
722 movq %rbx, %rdi
723 popq %rbx
724 popq %rbp
725 popq %r12
726 popq %r13
727 jmp *%rax
728 .p2align 4,,10
729 .p2align 3
730 .L126:
731 call _IO_vtable_check
732 jmp .L124
733 .LFE117:
734 .size _IO_file_xsgetn_maybe_mmap, .-_IO_file_xsgetn_maybe_mmap
735 .p2align 4,,15
736 .globl _IO_new_file_seekoff
737 .type _IO_new_file_seekoff, @function
738 _IO_new_file_seekoff:
739 .LFB105:
740 pushq %r15
741 pushq %r14
742 pushq %r13
743 pushq %r12
744 pushq %rbp
745 pushq %rbx
746 movq %rdi, %rbx
747 subq $184, %rsp
748 testl %ecx, %ecx
749 je .L196
750 movl %edx, %r13d
751 movq 32(%rdi), %rax
752 movq 40(%rdi), %rdx
753 movq 16(%rdi), %rdi
754 cmpq %rdi, 24(%rbx)
755 movq %rsi, %rbp
756 je .L197
757 .L142:
758 xorl %r15d, %r15d
759 cmpq %rax, %rdx
760 jbe .L143
761 .L144:
762 movq %rbx, %rdi
763 call __GI__IO_switch_to_get_mode
764 testl %eax, %eax
765 jne .L194
766 cmpq $0, 56(%rbx)
767 je .L198
768 .L145:
769 cmpl $1, %r13d
770 je .L148
771 .L202:
772 cmpl $2, %r13d
773 jne .L147
774 movq 216(%rbx), %rax
775 leaq __start___libc_IO_vtables(%rip), %r14
776 leaq __stop___libc_IO_vtables(%rip), %r12
777 subq %r14, %r12
778 movq %rax, %rdx
779 subq %r14, %rdx
780 cmpq %rdx, %r12
781 jbe .L199
782 .L152:
783 leaq 32(%rsp), %rsi
784 movq %rbx, %rdi
785 call *144(%rax)
786 testl %eax, %eax
787 je .L200
788 .L154:
789 movq %rbx, %rdi
790 call __GI__IO_unsave_markers
791 movq 216(%rbx), %r15
792 movq %r15, %rax
793 subq %r14, %rax
794 cmpq %r12, %rax
795 jnb .L201
796 .L164:
797 movl %r13d, %edx
798 movq %rbp, %rsi
799 movq %rbx, %rdi
800 call *128(%r15)
801 cmpq $-1, %rax
802 je .L127
803 movq 56(%rbx), %rdx
804 andl $-17, (%rbx)
805 movq %rax, 144(%rbx)
806 movq %rdx, 24(%rbx)
807 movq %rdx, 8(%rbx)
808 movq %rdx, 16(%rbx)
809 movq %rdx, 40(%rbx)
810 movq %rdx, 32(%rbx)
811 movq %rdx, 48(%rbx)
812 .L127:
813 addq $184, %rsp
814 popq %rbx
815 popq %rbp
816 popq %r12
817 popq %r13
818 popq %r14
819 popq %r15
821 .p2align 4,,10
822 .p2align 3
823 .L197:
824 cmpq %rax, %rdx
825 jne .L142
826 movl $1, %r15d
827 .p2align 4,,10
828 .p2align 3
829 .L143:
830 testl $2048, (%rbx)
831 jne .L144
832 cmpq $0, 56(%rbx)
833 jne .L145
834 .L198:
835 movq 24(%rbx), %rdi
836 testq %rdi, %rdi
837 je .L146
838 call free@PLT
839 andl $-257, (%rbx)
840 .L146:
841 movq %rbx, %rdi
842 call __GI__IO_doallocbuf
843 movq 56(%rbx), %rax
844 cmpl $1, %r13d
845 movq %rax, 40(%rbx)
846 movq %rax, 32(%rbx)
847 movq %rax, 48(%rbx)
848 movq %rax, 24(%rbx)
849 movq %rax, 8(%rbx)
850 movq %rax, 16(%rbx)
851 jne .L202
852 .L148:
853 movq 16(%rbx), %rax
854 subq 8(%rbx), %rax
855 subq %rax, %rbp
856 movq 144(%rbx), %rax
857 cmpq $-1, %rax
858 je .L150
859 addq %rax, %rbp
860 js .L151
861 .L193:
862 xorl %r13d, %r13d
863 .L147:
864 movq %rbx, %rdi
865 call __GI__IO_free_backup_area
866 movq 144(%rbx), %rsi
867 movl (%rbx), %eax
868 cmpq $-1, %rsi
869 je .L156
870 cmpq $0, 24(%rbx)
871 je .L156
872 testb $1, %ah
873 jne .L156
874 movq 56(%rbx), %rdx
875 movq %rdx, %rcx
876 subq 16(%rbx), %rcx
877 addq %rsi, %rcx
878 cmpq %rcx, %rbp
879 jl .L156
880 cmpq %rbp, %rsi
881 jg .L203
882 .p2align 4,,10
883 .p2align 3
884 .L156:
885 leaq __start___libc_IO_vtables(%rip), %rcx
886 leaq __stop___libc_IO_vtables(%rip), %r12
887 subq %rcx, %r12
888 testb $4, %al
889 movq %rcx, %r14
890 jne .L154
891 movq 56(%rbx), %rdx
892 movq 64(%rbx), %rax
893 movq %rbp, %r13
894 movq %rdx, %rsi
895 subq %rax, %rsi
896 subq %rdx, %rax
897 andq %rbp, %rsi
898 subq %rsi, %r13
899 cmpq %r13, %rax
900 jge .L158
901 movq %rbp, %rsi
902 xorl %r13d, %r13d
903 .L158:
904 movq 216(%rbx), %rax
905 movq %rax, %rdx
906 subq %rcx, %rdx
907 cmpq %r12, %rdx
908 jnb .L204
909 .L159:
910 xorl %edx, %edx
911 movq %rcx, 8(%rsp)
912 movq %rbx, %rdi
913 call *128(%rax)
914 testq %rax, %rax
915 movq %rax, %r8
916 js .L194
917 testq %r13, %r13
918 je .L170
919 movq 216(%rbx), %rax
920 movq 8(%rsp), %rcx
921 movq %rax, %rdx
922 subq %rcx, %rdx
923 cmpq %r12, %rdx
924 jnb .L205
925 .L161:
926 testl %r15d, %r15d
927 movq 112(%rax), %rax
928 movq 56(%rbx), %rsi
929 movq %r13, %rdx
930 jne .L162
931 movq 64(%rbx), %rdx
932 subq %rsi, %rdx
933 .L162:
934 movq %r8, 8(%rsp)
935 movq %rbx, %rdi
936 call *%rax
937 cmpq %rax, %r13
938 jle .L206
939 cmpq $-1, %rax
940 movq %r13, %rbp
941 movl $1, %r13d
942 je .L154
943 subq %rax, %rbp
944 movl $1, %r13d
945 jmp .L154
946 .p2align 4,,10
947 .p2align 3
948 .L196:
949 cmpq $0, 56(%rdi)
950 je .L207
951 movq 40(%rdi), %r13
952 movq 32(%rdi), %rbp
953 movl (%rdi), %r12d
954 andl $4096, %r12d
955 cmpq %rbp, %r13
956 jbe .L173
957 testl %r12d, %r12d
958 je .L173
959 movq 216(%rdi), %r14
960 leaq __start___libc_IO_vtables(%rip), %rdx
961 leaq __stop___libc_IO_vtables(%rip), %rax
962 subq %rdx, %rax
963 movq %r14, %rcx
964 subq %rdx, %rcx
965 cmpq %rcx, %rax
966 jbe .L208
967 .L134:
968 xorl %esi, %esi
969 movl $2, %edx
970 movq %rbx, %rdi
971 call *128(%r14)
972 cmpq $-1, %rax
973 je .L194
974 cmpq %rbp, %r13
975 movq %rax, 144(%rbx)
976 ja .L137
977 .L210:
978 movq 8(%rbx), %rbp
979 subq 16(%rbx), %rbp
980 .L130:
981 cmpq $-1, %rax
982 je .L209
983 .L139:
984 addq %rbp, %rax
985 jns .L127
986 .L151:
987 movq __libc_errno@gottpoff(%rip), %rax
988 movl $22, %fs:(%rax)
989 .p2align 4,,10
990 .p2align 3
991 .L194:
992 movq $-1, %rax
993 jmp .L127
994 .p2align 4,,10
995 .p2align 3
996 .L200:
997 movl 56(%rsp), %eax
998 andl $61440, %eax
999 cmpl $32768, %eax
1000 jne .L154
1001 addq 80(%rsp), %rbp
1002 jmp .L193
1003 .p2align 4,,10
1004 .p2align 3
1005 .L150:
1006 leaq __start___libc_IO_vtables(%rip), %r14
1007 leaq __stop___libc_IO_vtables(%rip), %r12
1008 subq %r14, %r12
1009 jmp .L154
1010 .p2align 4,,10
1011 .p2align 3
1012 .L173:
1013 cmpq %rbp, %r13
1014 movq 144(%rbx), %rax
1015 jbe .L210
1016 .L137:
1017 testl %r12d, %r12d
1018 movq 40(%rbx), %rbp
1019 je .L138
1020 subq 32(%rbx), %rbp
1021 jmp .L130
1022 .p2align 4,,10
1023 .p2align 3
1024 .L209:
1025 movq 216(%rbx), %r12
1026 leaq __start___libc_IO_vtables(%rip), %rdx
1027 leaq __stop___libc_IO_vtables(%rip), %rax
1028 subq %rdx, %rax
1029 movq %r12, %rcx
1030 subq %rdx, %rcx
1031 cmpq %rcx, %rax
1032 jbe .L211
1033 .L140:
1034 xorl %esi, %esi
1035 movl $1, %edx
1036 movq %rbx, %rdi
1037 call *128(%r12)
1038 cmpq $-1, %rax
1039 je .L194
1040 jmp .L139
1041 .p2align 4,,10
1042 .p2align 3
1043 .L170:
1044 xorl %eax, %eax
1045 .L160:
1046 movq 56(%rbx), %rdx
1047 andl $-17, (%rbx)
1048 movq %r8, 144(%rbx)
1049 addq %rdx, %r13
1050 addq %rdx, %rax
1051 movq %rdx, 24(%rbx)
1052 movq %r13, 8(%rbx)
1053 movq %rax, 16(%rbx)
1054 movq %rdx, 40(%rbx)
1055 movq %rdx, 32(%rbx)
1056 movq %rdx, 48(%rbx)
1057 .L195:
1058 movq %rbp, %rax
1059 jmp .L127
1060 .p2align 4,,10
1061 .p2align 3
1062 .L207:
1063 movq 144(%rdi), %rax
1064 xorl %ebp, %ebp
1065 jmp .L130
1066 .p2align 4,,10
1067 .p2align 3
1068 .L201:
1069 call _IO_vtable_check
1070 jmp .L164
1071 .p2align 4,,10
1072 .p2align 3
1073 .L138:
1074 subq 16(%rbx), %rbp
1075 jmp .L130
1076 .p2align 4,,10
1077 .p2align 3
1078 .L203:
1079 movq %rbp, %rdi
1080 andl $-17, %eax
1081 movq %rdx, 24(%rbx)
1082 subq %rcx, %rdi
1083 movq %rdx, 40(%rbx)
1084 movq %rdx, 32(%rbx)
1085 movq %rdi, %rcx
1086 movq %rdx, 48(%rbx)
1087 movl %eax, (%rbx)
1088 addq %rdx, %rcx
1089 testq %rsi, %rsi
1090 movq %rcx, 8(%rbx)
1091 js .L195
1092 movq 216(%rbx), %r12
1093 leaq __start___libc_IO_vtables(%rip), %rdx
1094 leaq __stop___libc_IO_vtables(%rip), %rax
1095 subq %rdx, %rax
1096 movq %r12, %rdi
1097 subq %rdx, %rdi
1098 cmpq %rdi, %rax
1099 jbe .L212
1100 .L165:
1101 xorl %edx, %edx
1102 movq %rbx, %rdi
1103 call *128(%r12)
1104 movq %rbp, %rax
1105 jmp .L127
1106 .p2align 4,,10
1107 .p2align 3
1108 .L204:
1109 movq %rcx, 24(%rsp)
1110 movq %rsi, 16(%rsp)
1111 movq %rax, 8(%rsp)
1112 call _IO_vtable_check
1113 movq 24(%rsp), %rcx
1114 movq 16(%rsp), %rsi
1115 movq 8(%rsp), %rax
1116 jmp .L159
1117 .p2align 4,,10
1118 .p2align 3
1119 .L206:
1120 movq 8(%rsp), %r8
1121 addq %rax, %r8
1122 jmp .L160
1123 .p2align 4,,10
1124 .p2align 3
1125 .L199:
1126 movq %rax, 8(%rsp)
1127 call _IO_vtable_check
1128 movq 8(%rsp), %rax
1129 jmp .L152
1130 .p2align 4,,10
1131 .p2align 3
1132 .L205:
1133 movq %r8, 16(%rsp)
1134 movq %rax, 8(%rsp)
1135 call _IO_vtable_check
1136 movq 16(%rsp), %r8
1137 movq 8(%rsp), %rax
1138 jmp .L161
1139 .p2align 4,,10
1140 .p2align 3
1141 .L208:
1142 call _IO_vtable_check
1143 jmp .L134
1144 .L211:
1145 call _IO_vtable_check
1146 jmp .L140
1147 .L212:
1148 call _IO_vtable_check
1149 movq 144(%rbx), %rsi
1150 jmp .L165
1151 .LFE105:
1152 .size _IO_new_file_seekoff, .-_IO_new_file_seekoff
1153 .globl __GI__IO_file_seekoff
1154 .set __GI__IO_file_seekoff,_IO_new_file_seekoff
1155 .p2align 4,,15
1156 .globl __GI__IO_file_stat
1157 .hidden __GI__IO_file_stat
1158 .type __GI__IO_file_stat, @function
1159 __GI__IO_file_stat:
1160 .LFB110:
1161 movl 112(%rdi), %edi
1162 jmp __GI___fstat64
1163 .LFE110:
1164 .size __GI__IO_file_stat, .-__GI__IO_file_stat
1165 .globl _IO_file_stat
1166 .set _IO_file_stat,__GI__IO_file_stat
1167 .p2align 4,,15
1168 .globl _IO_new_file_write
1169 .type _IO_new_file_write, @function
1170 _IO_new_file_write:
1171 .LFB113:
1172 pushq %r13
1173 pushq %r12
1174 movq %rdi, %r12
1175 pushq %rbp
1176 pushq %rbx
1177 subq $8, %rsp
1178 testq %rdx, %rdx
1179 jle .L221
1180 movq %rsi, %rbp
1181 movq %rdx, %r13
1182 movq %rdx, %rbx
1183 jmp .L219
1184 .p2align 4,,10
1185 .p2align 3
1186 .L216:
1187 call __GI___write
1188 testq %rax, %rax
1189 js .L224
1190 .L218:
1191 subq %rax, %rbx
1192 addq %rax, %rbp
1193 testq %rbx, %rbx
1194 jle .L225
1195 .L219:
1196 testb $2, 116(%r12)
1197 movl 112(%r12), %edi
1198 movq %rbx, %rdx
1199 movq %rbp, %rsi
1200 je .L216
1201 call __GI___write_nocancel
1202 testq %rax, %rax
1203 jns .L218
1204 .p2align 4,,10
1205 .p2align 3
1206 .L224:
1207 orl $32, (%r12)
1208 movq %r13, %rax
1209 subq %rbx, %rax
1210 .L215:
1211 movq 144(%r12), %rdx
1212 testq %rdx, %rdx
1213 js .L214
1214 addq %rax, %rdx
1215 movq %rdx, 144(%r12)
1216 .L214:
1217 addq $8, %rsp
1218 popq %rbx
1219 popq %rbp
1220 popq %r12
1221 popq %r13
1223 .p2align 4,,10
1224 .p2align 3
1225 .L225:
1226 movq %r13, %rax
1227 subq %rbx, %rax
1228 jmp .L215
1229 .p2align 4,,10
1230 .p2align 3
1231 .L221:
1232 xorl %eax, %eax
1233 jmp .L215
1234 .LFE113:
1235 .size _IO_new_file_write, .-_IO_new_file_write
1236 .p2align 4,,15
1237 .type _IO_file_xsgetn_mmap, @function
1238 _IO_file_xsgetn_mmap:
1239 .LFB116:
1240 pushq %r15
1241 pushq %r14
1242 movq %rsi, %r15
1243 pushq %r13
1244 pushq %r12
1245 movq %rdx, %r14
1246 pushq %rbp
1247 pushq %rbx
1248 movq %rdi, %r12
1249 movq %rsi, %rbp
1250 subq $24, %rsp
1251 movq 8(%rdi), %r13
1252 movq 16(%rdi), %rbx
1253 subq %r13, %rbx
1254 cmpq %rdx, %rbx
1255 jnb .L227
1256 testl $256, (%rdi)
1257 movq %rsi, %rdx
1258 jne .L242
1259 .L228:
1260 movq %r12, %rdi
1261 movq %rdx, (%rsp)
1262 call mmap_remap_check
1263 testl %eax, %eax
1264 movq (%rsp), %rdx
1265 jne .L243
1266 movq 8(%r12), %r13
1267 movq 16(%r12), %rbx
1268 subq %r13, %rbx
1269 cmpq %rbx, %r14
1270 jbe .L236
1271 orl $16, (%r12)
1272 movq %rdx, %rbp
1273 .L227:
1274 testq %rbx, %rbx
1275 jne .L229
1276 .L233:
1277 movq %rbp, %rax
1278 subq %r15, %rax
1279 .L226:
1280 addq $24, %rsp
1281 popq %rbx
1282 popq %rbp
1283 popq %r12
1284 popq %r13
1285 popq %r14
1286 popq %r15
1288 .p2align 4,,10
1289 .p2align 3
1290 .L242:
1291 movq %rbx, %rdx
1292 movq %r13, %rsi
1293 movq %rbp, %rdi
1294 call __GI_mempcpy@PLT
1295 movq %r12, %rdi
1296 movq %rax, 8(%rsp)
1297 movq %rax, (%rsp)
1298 subq %rbx, %r14
1299 call _IO_switch_to_main_get_area@PLT
1300 movq 8(%r12), %r13
1301 movq 16(%r12), %rbx
1302 movq (%rsp), %rdx
1303 movq 8(%rsp), %rax
1304 subq %r13, %rbx
1305 cmpq %rbx, %r14
1306 ja .L228
1307 movq %rax, %rbp
1308 .p2align 4,,10
1309 .p2align 3
1310 .L229:
1311 cmpq %r14, %rbx
1312 movq %rbp, %rdi
1313 movq %r13, %rsi
1314 cmova %r14, %rbx
1315 movq %rbx, %rdx
1316 addq %r13, %rbx
1317 call __GI_mempcpy@PLT
1318 movq %rbx, 8(%r12)
1319 movq %rax, %rbp
1320 jmp .L233
1321 .p2align 4,,10
1322 .p2align 3
1323 .L243:
1324 movq 216(%r12), %r13
1325 subq %rbp, %rdx
1326 leaq __stop___libc_IO_vtables(%rip), %rax
1327 movq %rdx, %rbx
1328 leaq __start___libc_IO_vtables(%rip), %rdx
1329 movq %r13, %rcx
1330 subq %rdx, %rax
1331 subq %rdx, %rcx
1332 cmpq %rcx, %rax
1333 jbe .L244
1334 .L231:
1335 movq %r14, %rdx
1336 movq %rbp, %rsi
1337 movq %r12, %rdi
1338 call *64(%r13)
1339 addq %rbx, %rax
1340 jmp .L226
1341 .L244:
1342 call _IO_vtable_check
1343 jmp .L231
1344 .L236:
1345 movq %rdx, %rbp
1346 jmp .L227
1347 .LFE116:
1348 .size _IO_file_xsgetn_mmap, .-_IO_file_xsgetn_mmap
1349 .p2align 4,,15
1350 .globl __GI__IO_file_xsgetn
1351 .hidden __GI__IO_file_xsgetn
1352 .type __GI__IO_file_xsgetn, @function
1353 __GI__IO_file_xsgetn:
1354 .LFB115:
1355 pushq %r15
1356 pushq %r14
1357 pushq %r13
1358 pushq %r12
1359 movq %rdx, %r13
1360 pushq %rbp
1361 pushq %rbx
1362 movq %rsi, %r12
1363 movq %rdi, %rbx
1364 subq $24, %rsp
1365 cmpq $0, 56(%rdi)
1366 je .L277
1367 .L246:
1368 testq %r13, %r13
1369 je .L245
1370 movq 8(%rbx), %rsi
1371 movq 16(%rbx), %rbp
1372 movq %r13, %r15
1373 subq %rsi, %rbp
1374 cmpq %rbp, %r13
1375 jbe .L250
1376 leaq __stop___libc_IO_vtables(%rip), %r14
1377 leaq __start___libc_IO_vtables(%rip), %rax
1378 subq %rax, %r14
1379 jmp .L251
1380 .p2align 4,,10
1381 .p2align 3
1382 .L252:
1383 testl $256, (%rbx)
1384 jne .L278
1385 .L253:
1386 movq 56(%rbx), %rax
1387 testq %rax, %rax
1388 je .L255
1389 movq 64(%rbx), %rsi
1390 subq %rax, %rsi
1391 cmpq %r15, %rsi
1392 ja .L279
1393 cmpq $127, %rsi
1394 movq %rax, 24(%rbx)
1395 movq %rax, 8(%rbx)
1396 movq %rax, 16(%rbx)
1397 movq %rax, 40(%rbx)
1398 movq %rax, 32(%rbx)
1399 movq %rax, 48(%rbx)
1400 jbe .L276
1401 movq %r15, %rax
1402 xorl %edx, %edx
1403 divq %rsi
1404 movq %r15, %rax
1405 subq %rdx, %rax
1406 movq %rax, %rdx
1407 .L263:
1408 movq 216(%rbx), %rbp
1409 leaq __start___libc_IO_vtables(%rip), %rcx
1410 movq %rbp, %rax
1411 subq %rcx, %rax
1412 cmpq %rax, %r14
1413 jbe .L280
1414 movq %r12, %rsi
1415 movq %rbx, %rdi
1416 call *112(%rbp)
1417 testq %rax, %rax
1418 jle .L281
1419 .L258:
1420 movq 144(%rbx), %rdx
1421 addq %rax, %r12
1422 subq %rax, %r15
1423 cmpq $-1, %rdx
1424 je .L254
1425 addq %rdx, %rax
1426 movq %rax, 144(%rbx)
1427 .L254:
1428 testq %r15, %r15
1429 je .L245
1430 .L260:
1431 movq 8(%rbx), %rsi
1432 movq 16(%rbx), %rbp
1433 subq %rsi, %rbp
1434 cmpq %rbp, %r15
1435 jbe .L250
1436 .L251:
1437 testq %rbp, %rbp
1438 je .L252
1439 movq %r12, %rdi
1440 movq %rbp, %rdx
1441 subq %rbp, %r15
1442 call __GI_mempcpy@PLT
1443 addq %rbp, 8(%rbx)
1444 testl $256, (%rbx)
1445 movq %rax, %r12
1446 je .L253
1447 .L278:
1448 movq %rbx, %rdi
1449 call _IO_switch_to_main_get_area@PLT
1450 testq %r15, %r15
1451 jne .L260
1452 .L245:
1453 addq $24, %rsp
1454 movq %r13, %rax
1455 popq %rbx
1456 popq %rbp
1457 popq %r12
1458 popq %r13
1459 popq %r14
1460 popq %r15
1462 .p2align 4,,10
1463 .p2align 3
1464 .L255:
1465 movq $0, 24(%rbx)
1466 movq $0, 8(%rbx)
1467 movq $0, 16(%rbx)
1468 movq $0, 40(%rbx)
1469 movq $0, 32(%rbx)
1470 movq $0, 48(%rbx)
1471 .L276:
1472 movq %r15, %rdx
1473 jmp .L263
1474 .p2align 4,,10
1475 .p2align 3
1476 .L279:
1477 movq %rbx, %rdi
1478 call __GI___underflow
1479 cmpl $-1, %eax
1480 jne .L254
1481 subq %r15, %r13
1482 jmp .L245
1483 .p2align 4,,10
1484 .p2align 3
1485 .L280:
1486 movq %rdx, 8(%rsp)
1487 call _IO_vtable_check
1488 movq 8(%rsp), %rdx
1489 movq %r12, %rsi
1490 movq %rbx, %rdi
1491 call *112(%rbp)
1492 testq %rax, %rax
1493 jg .L258
1494 .p2align 4,,10
1495 .p2align 3
1496 .L281:
1497 movl (%rbx), %edx
1498 subq %r15, %r13
1499 movl %edx, %ecx
1500 orl $16, %edx
1501 orl $32, %ecx
1502 testq %rax, %rax
1503 cmovne %ecx, %edx
1504 movl %edx, (%rbx)
1505 jmp .L245
1506 .p2align 4,,10
1507 .p2align 3
1508 .L277:
1509 movq 72(%rdi), %rdi
1510 testq %rdi, %rdi
1511 je .L247
1512 call free@PLT
1513 andl $-257, (%rbx)
1514 .L247:
1515 movq %rbx, %rdi
1516 call __GI__IO_doallocbuf
1517 jmp .L246
1518 .p2align 4,,10
1519 .p2align 3
1520 .L250:
1521 movq %r15, %rdx
1522 movq %r12, %rdi
1523 call __GI_memcpy@PLT
1524 addq %r15, 8(%rbx)
1525 jmp .L245
1526 .LFE115:
1527 .size __GI__IO_file_xsgetn, .-__GI__IO_file_xsgetn
1528 .globl _IO_file_xsgetn
1529 .set _IO_file_xsgetn,__GI__IO_file_xsgetn
1530 .p2align 4,,15
1531 .globl _IO_file_seekoff_mmap
1532 .type _IO_file_seekoff_mmap, @function
1533 _IO_file_seekoff_mmap:
1534 .LFB106:
1535 testl %ecx, %ecx
1536 pushq %r12
1537 pushq %rbp
1538 pushq %rbx
1539 je .L296
1540 cmpl $1, %edx
1541 je .L286
1542 cmpl $2, %edx
1543 je .L287
1544 movq %rsi, %rbp
1545 .L285:
1546 testq %rbp, %rbp
1547 js .L297
1548 movq 216(%rdi), %r12
1549 leaq __start___libc_IO_vtables(%rip), %rdx
1550 leaq __stop___libc_IO_vtables(%rip), %rax
1551 movq %rdi, %rbx
1552 subq %rdx, %rax
1553 movq %r12, %rsi
1554 subq %rdx, %rsi
1555 cmpq %rsi, %rax
1556 jbe .L298
1557 .L289:
1558 xorl %edx, %edx
1559 movq %rbp, %rsi
1560 movq %rbx, %rdi
1561 call *128(%r12)
1562 testq %rax, %rax
1563 js .L293
1564 movq 64(%rbx), %rcx
1565 movq 56(%rbx), %rdx
1566 movq %rcx, %rsi
1567 movq %rdx, 24(%rbx)
1568 subq %rdx, %rsi
1569 cmpq %rsi, %rbp
1570 jle .L290
1571 movq %rcx, 8(%rbx)
1572 movq %rcx, 16(%rbx)
1573 .L291:
1574 andl $-17, (%rbx)
1575 movq %rax, 144(%rbx)
1576 movq %rbp, %rax
1577 popq %rbx
1578 popq %rbp
1579 popq %r12
1581 .p2align 4,,10
1582 .p2align 3
1583 .L296:
1584 movq 16(%rdi), %rax
1585 subq 8(%rdi), %rax
1586 movq 144(%rdi), %rbp
1587 subq %rax, %rbp
1588 .L282:
1589 movq %rbp, %rax
1590 popq %rbx
1591 popq %rbp
1592 popq %r12
1594 .p2align 4,,10
1595 .p2align 3
1596 .L287:
1597 movq 64(%rdi), %rbp
1598 subq 56(%rdi), %rbp
1599 addq %rsi, %rbp
1600 jmp .L285
1601 .p2align 4,,10
1602 .p2align 3
1603 .L286:
1604 movq 8(%rdi), %rbp
1605 subq 24(%rdi), %rbp
1606 addq %rsi, %rbp
1607 jmp .L285
1608 .p2align 4,,10
1609 .p2align 3
1610 .L290:
1611 addq %rbp, %rdx
1612 movq %rdx, 8(%rbx)
1613 movq %rdx, 16(%rbx)
1614 jmp .L291
1615 .p2align 4,,10
1616 .p2align 3
1617 .L298:
1618 call _IO_vtable_check
1619 jmp .L289
1620 .L297:
1621 movq __libc_errno@gottpoff(%rip), %rax
1622 movq $-1, %rbp
1623 movl $22, %fs:(%rax)
1624 jmp .L282
1625 .L293:
1626 movq $-1, %rbp
1627 jmp .L282
1628 .LFE106:
1629 .size _IO_file_seekoff_mmap, .-_IO_file_seekoff_mmap
1630 .p2align 4,,15
1631 .globl _IO_file_underflow_mmap
1632 .type _IO_file_underflow_mmap, @function
1633 _IO_file_underflow_mmap:
1634 .LFB98:
1635 movq 8(%rdi), %rax
1636 cmpq 16(%rdi), %rax
1637 jnb .L300
1638 movzbl (%rax), %eax
1640 .p2align 4,,10
1641 .p2align 3
1642 .L300:
1643 pushq %rbp
1644 pushq %rbx
1645 movq %rdi, %rbx
1646 subq $8, %rsp
1647 call mmap_remap_check
1648 testl %eax, %eax
1649 jne .L308
1650 movq 8(%rbx), %rax
1651 cmpq 16(%rbx), %rax
1652 jnb .L304
1653 movzbl (%rax), %eax
1654 .L299:
1655 addq $8, %rsp
1656 popq %rbx
1657 popq %rbp
1659 .p2align 4,,10
1660 .p2align 3
1661 .L308:
1662 movq 216(%rbx), %rbp
1663 leaq __start___libc_IO_vtables(%rip), %rdx
1664 leaq __stop___libc_IO_vtables(%rip), %rax
1665 subq %rdx, %rax
1666 movq %rbp, %rcx
1667 subq %rdx, %rcx
1668 cmpq %rcx, %rax
1669 jbe .L309
1670 .L303:
1671 movq 32(%rbp), %rax
1672 addq $8, %rsp
1673 movq %rbx, %rdi
1674 popq %rbx
1675 popq %rbp
1676 jmp *%rax
1677 .L304:
1678 orl $16, (%rbx)
1679 movl $-1, %eax
1680 jmp .L299
1681 .L309:
1682 call _IO_vtable_check
1683 jmp .L303
1684 .LFE98:
1685 .size _IO_file_underflow_mmap, .-_IO_file_underflow_mmap
1686 .p2align 4,,15
1687 .globl __GI__IO_file_read
1688 .hidden __GI__IO_file_read
1689 .type __GI__IO_file_read, @function
1690 __GI__IO_file_read:
1691 .LFB108:
1692 movq %rdi, %rax
1693 movl 112(%rdi), %edi
1694 testb $2, 116(%rax)
1695 jne .L312
1696 jmp __GI___read
1697 .p2align 4,,10
1698 .p2align 3
1699 .L312:
1700 jmp __GI___read_nocancel
1701 .LFE108:
1702 .size __GI__IO_file_read, .-__GI__IO_file_read
1703 .globl _IO_file_read
1704 .set _IO_file_read,__GI__IO_file_read
1705 .p2align 4,,15
1706 .globl _IO_new_file_xsputn
1707 .type _IO_new_file_xsputn, @function
1708 _IO_new_file_xsputn:
1709 .LFB114:
1710 pushq %r15
1711 pushq %r14
1712 pushq %r13
1713 pushq %r12
1714 xorl %r12d, %r12d
1715 pushq %rbp
1716 pushq %rbx
1717 subq $8, %rsp
1718 testq %rdx, %rdx
1719 je .L313
1720 movq %rdi, %rbx
1721 movq %rsi, %r13
1722 movq %rdx, %rbp
1723 movl (%rbx), %eax
1724 movq 40(%rdi), %rdi
1725 andl $2560, %eax
1726 cmpl $2560, %eax
1727 je .L344
1728 movq 48(%rbx), %rdx
1729 cmpq %rdi, %rdx
1730 jbe .L331
1731 subq %rdi, %rdx
1732 .L316:
1733 testq %rdx, %rdx
1734 je .L331
1735 .L335:
1736 xorl %r14d, %r14d
1737 .L317:
1738 cmpq %rdx, %rbp
1739 movq %r13, %rsi
1740 movq %rbp, %r15
1741 cmovbe %rbp, %rdx
1742 movq %rdx, %r12
1743 addq %r12, %r13
1744 subq %r12, %r15
1745 call __GI_mempcpy@PLT
1746 movq %rax, 40(%rbx)
1747 .L320:
1748 addq %r15, %r14
1749 jne .L322
1750 .L343:
1751 subq %r15, %rbp
1752 movq %rbp, %r12
1753 .L313:
1754 addq $8, %rsp
1755 movq %r12, %rax
1756 popq %rbx
1757 popq %rbp
1758 popq %r12
1759 popq %r13
1760 popq %r14
1761 popq %r15
1763 .p2align 4,,10
1764 .p2align 3
1765 .L331:
1766 movq %rbp, %r15
1767 .L322:
1768 movq 216(%rbx), %r12
1769 leaq __start___libc_IO_vtables(%rip), %rdx
1770 leaq __stop___libc_IO_vtables(%rip), %rax
1771 subq %rdx, %rax
1772 movq %r12, %rcx
1773 subq %rdx, %rcx
1774 cmpq %rcx, %rax
1775 jbe .L345
1776 .L324:
1777 movl $-1, %esi
1778 movq %rbx, %rdi
1779 call *24(%r12)
1780 cmpl $-1, %eax
1781 je .L346
1782 movq 64(%rbx), %rcx
1783 subq 56(%rbx), %rcx
1784 movq %r15, %r14
1785 cmpq $127, %rcx
1786 jbe .L326
1787 movq %r15, %rax
1788 xorl %edx, %edx
1789 divq %rcx
1790 subq %rdx, %r14
1791 .L326:
1792 testq %r14, %r14
1793 jne .L347
1794 .L327:
1795 testq %r15, %r15
1796 movq %rbp, %r12
1797 je .L313
1798 leaq 0(%r13,%r14), %rsi
1799 movq %r15, %rdx
1800 movq %rbx, %rdi
1801 call __GI__IO_default_xsputn
1802 subq %rax, %r15
1803 subq %r15, %r12
1804 jmp .L313
1805 .p2align 4,,10
1806 .p2align 3
1807 .L344:
1808 movq 64(%rbx), %rdx
1809 subq %rdi, %rdx
1810 cmpq %rdx, %rbp
1811 ja .L316
1812 leaq (%rsi,%rbp), %rcx
1813 cmpq %rcx, %rsi
1814 jnb .L335
1815 cmpb $10, -1(%rcx)
1816 leaq -1(%rcx), %rax
1817 jne .L319
1818 jmp .L318
1819 .p2align 4,,10
1820 .p2align 3
1821 .L321:
1822 subq $1, %rax
1823 cmpb $10, (%rax)
1824 je .L318
1825 .L319:
1826 cmpq %rax, %r13
1827 jne .L321
1828 jmp .L335
1829 .p2align 4,,10
1830 .p2align 3
1831 .L346:
1832 subq %r15, %rbp
1833 movq $-1, %r12
1834 testq %r15, %r15
1835 cmovne %rbp, %r12
1836 jmp .L313
1837 .p2align 4,,10
1838 .p2align 3
1839 .L347:
1840 movq %r14, %rdx
1841 movq %r13, %rsi
1842 movq %rbx, %rdi
1843 call new_do_write
1844 subq %rax, %r15
1845 cmpq %r14, %rax
1846 jnb .L327
1847 jmp .L343
1848 .p2align 4,,10
1849 .p2align 3
1850 .L318:
1851 subq %r13, %rax
1852 addq $1, %rax
1853 movq %rax, %rdx
1854 jne .L330
1855 movq %rbp, %r15
1856 movl $1, %r14d
1857 jmp .L320
1858 .p2align 4,,10
1859 .p2align 3
1860 .L345:
1861 call _IO_vtable_check
1862 jmp .L324
1863 .p2align 4,,10
1864 .p2align 3
1865 .L330:
1866 movl $1, %r14d
1867 jmp .L317
1868 .LFE114:
1869 .size _IO_new_file_xsputn, .-_IO_new_file_xsputn
1870 .globl __GI__IO_file_xsputn
1871 .set __GI__IO_file_xsputn,_IO_new_file_xsputn
1872 .p2align 4,,15
1873 .globl _IO_new_file_init_internal
1874 .hidden _IO_new_file_init_internal
1875 .type _IO_new_file_init_internal, @function
1876 _IO_new_file_init_internal:
1877 .LFB85:
1878 pushq %rbp
1879 pushq %rbx
1880 movq $-1, %rbp
1881 movq %rdi, %rbx
1882 subq $8, %rsp
1883 orl $9228, (%rdi)
1884 movq %rbp, 144(%rdi)
1885 call __GI__IO_link_in
1886 movl %ebp, 112(%rbx)
1887 addq $8, %rsp
1888 popq %rbx
1889 popq %rbp
1891 .LFE85:
1892 .size _IO_new_file_init_internal, .-_IO_new_file_init_internal
1893 .p2align 4,,15
1894 .globl _IO_new_file_init
1895 .type _IO_new_file_init, @function
1896 _IO_new_file_init:
1897 .LFB86:
1898 pushq %rbp
1899 pushq %rbx
1900 leaq _IO_vtable_check(%rip), %rax
1901 #APP
1902 # 915 "libioP.h" 1
1903 xor %fs:48, %rax
1904 rol $2*8+1, %rax
1905 # 0 "" 2
1906 #NO_APP
1907 subq $8, %rsp
1908 movq $-1, %rbp
1909 movq %rdi, %rbx
1910 movq %rax, IO_accept_foreign_vtables(%rip)
1911 orl $9228, (%rdi)
1912 movq %rbp, 144(%rdi)
1913 call __GI__IO_link_in
1914 movl %ebp, 112(%rbx)
1915 addq $8, %rsp
1916 popq %rbx
1917 popq %rbp
1919 .LFE86:
1920 .size _IO_new_file_init, .-_IO_new_file_init
1921 .p2align 4,,15
1922 .globl _IO_new_file_close_it
1923 .type _IO_new_file_close_it, @function
1924 _IO_new_file_close_it:
1925 .LFB87:
1926 pushq %r12
1927 pushq %rbp
1928 pushq %rbx
1929 movl 112(%rdi), %ebp
1930 cmpl $-1, %ebp
1931 je .L352
1932 movl (%rdi), %eax
1933 xorl %r12d, %r12d
1934 movq %rdi, %rbx
1935 andl $2056, %eax
1936 cmpl $2048, %eax
1937 je .L366
1938 .L354:
1939 movq %rbx, %rdi
1940 xorl %ebp, %ebp
1941 call __GI__IO_unsave_markers
1942 testb $32, 116(%rbx)
1943 jne .L356
1944 movq 216(%rbx), %rbp
1945 leaq __start___libc_IO_vtables(%rip), %rdx
1946 leaq __stop___libc_IO_vtables(%rip), %rax
1947 subq %rdx, %rax
1948 movq %rbp, %rcx
1949 subq %rdx, %rcx
1950 cmpq %rcx, %rax
1951 jbe .L367
1952 .L357:
1953 movq %rbx, %rdi
1954 call *136(%rbp)
1955 movl %eax, %ebp
1956 .L356:
1957 movl 192(%rbx), %eax
1958 testl %eax, %eax
1959 jle .L358
1960 movq 160(%rbx), %rax
1961 cmpq $0, 64(%rax)
1962 je .L359
1963 movq %rbx, %rdi
1964 call __GI__IO_free_wbackup_area
1965 .L359:
1966 xorl %ecx, %ecx
1967 xorl %edx, %edx
1968 xorl %esi, %esi
1969 movq %rbx, %rdi
1970 call __GI__IO_wsetb
1971 movq 160(%rbx), %rax
1972 movq $0, 16(%rax)
1973 movq $0, (%rax)
1974 movq $0, 8(%rax)
1975 movq $0, 32(%rax)
1976 movq $0, 24(%rax)
1977 movq $0, 40(%rax)
1978 .L358:
1979 xorl %ecx, %ecx
1980 xorl %edx, %edx
1981 xorl %esi, %esi
1982 movq %rbx, %rdi
1983 call __GI__IO_setb
1984 movq $0, 24(%rbx)
1985 movq $0, 8(%rbx)
1986 movq %rbx, %rdi
1987 movq $0, 16(%rbx)
1988 movq $0, 40(%rbx)
1989 movq $0, 32(%rbx)
1990 movq $0, 48(%rbx)
1991 call __GI__IO_un_link
1992 testl %ebp, %ebp
1993 movl $-72539124, (%rbx)
1994 movl $-1, 112(%rbx)
1995 movq $-1, 144(%rbx)
1996 cmove %r12d, %ebp
1997 .L352:
1998 movl %ebp, %eax
1999 popq %rbx
2000 popq %rbp
2001 popq %r12
2003 .p2align 4,,10
2004 .p2align 3
2005 .L366:
2006 movl 192(%rdi), %edx
2007 testl %edx, %edx
2008 jle .L368
2009 movq 160(%rdi), %rax
2010 movq 24(%rax), %rsi
2011 movq 32(%rax), %rdx
2012 subq %rsi, %rdx
2013 sarq $2, %rdx
2014 call __GI__IO_wdo_write
2015 movl %eax, %r12d
2016 jmp .L354
2017 .p2align 4,,10
2018 .p2align 3
2019 .L368:
2020 movq 32(%rdi), %rsi
2021 movq 40(%rdi), %rdx
2022 subq %rsi, %rdx
2023 call __GI__IO_do_write
2024 movl %eax, %r12d
2025 jmp .L354
2026 .p2align 4,,10
2027 .p2align 3
2028 .L367:
2029 call _IO_vtable_check
2030 jmp .L357
2031 .LFE87:
2032 .size _IO_new_file_close_it, .-_IO_new_file_close_it
2033 .globl __GI__IO_file_close_it
2034 .set __GI__IO_file_close_it,_IO_new_file_close_it
2035 .p2align 4,,15
2036 .globl _IO_new_file_finish
2037 .type _IO_new_file_finish, @function
2038 _IO_new_file_finish:
2039 .LFB88:
2040 pushq %rbp
2041 pushq %rbx
2042 movq %rdi, %rbx
2043 subq $8, %rsp
2044 cmpl $-1, 112(%rdi)
2045 je .L371
2046 movl 192(%rdi), %eax
2047 testl %eax, %eax
2048 jle .L377
2049 movq 160(%rdi), %rax
2050 movq 24(%rax), %rsi
2051 movq 32(%rax), %rdx
2052 subq %rsi, %rdx
2053 sarq $2, %rdx
2054 call __GI__IO_wdo_write
2055 .L373:
2056 testb $64, (%rbx)
2057 jne .L371
2058 movq 216(%rbx), %rbp
2059 leaq __start___libc_IO_vtables(%rip), %rdx
2060 leaq __stop___libc_IO_vtables(%rip), %rax
2061 subq %rdx, %rax
2062 movq %rbp, %rcx
2063 subq %rdx, %rcx
2064 cmpq %rcx, %rax
2065 jbe .L378
2066 .L375:
2067 movq %rbx, %rdi
2068 call *136(%rbp)
2069 .L371:
2070 addq $8, %rsp
2071 movq %rbx, %rdi
2072 xorl %esi, %esi
2073 popq %rbx
2074 popq %rbp
2075 jmp __GI__IO_default_finish
2076 .p2align 4,,10
2077 .p2align 3
2078 .L377:
2079 movq 32(%rdi), %rsi
2080 movq 40(%rdi), %rdx
2081 subq %rsi, %rdx
2082 call __GI__IO_do_write
2083 jmp .L373
2084 .p2align 4,,10
2085 .p2align 3
2086 .L378:
2087 call _IO_vtable_check
2088 jmp .L375
2089 .LFE88:
2090 .size _IO_new_file_finish, .-_IO_new_file_finish
2091 .globl __GI__IO_file_finish
2092 .set __GI__IO_file_finish,_IO_new_file_finish
2093 .p2align 4,,15
2094 .globl __GI__IO_file_open
2095 .hidden __GI__IO_file_open
2096 .type __GI__IO_file_open, @function
2097 __GI__IO_file_open:
2098 .LFB89:
2099 pushq %r12
2100 pushq %rbp
2101 xorl %eax, %eax
2102 pushq %rbx
2103 movq %rdi, %rbx
2104 movl %r8d, %ebp
2105 testb $2, 116(%rbx)
2106 movq %rsi, %rdi
2107 movl %edx, %esi
2108 movl %ecx, %edx
2109 jne .L387
2110 call __GI___open
2111 movl %eax, %r12d
2112 .L381:
2113 testl %r12d, %r12d
2114 js .L385
2115 movl (%rbx), %eax
2116 movl %ebp, %edx
2117 andl $4100, %ebp
2118 andl $4108, %edx
2119 movl %r12d, 112(%rbx)
2120 andl $-4109, %eax
2121 orl %edx, %eax
2122 cmpl $4100, %ebp
2123 movl %eax, (%rbx)
2124 jne .L383
2125 movq 216(%rbx), %rbp
2126 leaq __start___libc_IO_vtables(%rip), %rdx
2127 leaq __stop___libc_IO_vtables(%rip), %rax
2128 subq %rdx, %rax
2129 movq %rbp, %rcx
2130 subq %rdx, %rcx
2131 cmpq %rcx, %rax
2132 jbe .L388
2133 .L384:
2134 xorl %esi, %esi
2135 movl $2, %edx
2136 movq %rbx, %rdi
2137 call *128(%rbp)
2138 cmpq $-1, %rax
2139 je .L389
2140 .L383:
2141 movq %rbx, %rdi
2142 call __GI__IO_link_in
2143 movq %rbx, %rax
2144 .L379:
2145 popq %rbx
2146 popq %rbp
2147 popq %r12
2149 .p2align 4,,10
2150 .p2align 3
2151 .L389:
2152 movq __libc_errno@gottpoff(%rip), %rax
2153 cmpl $29, %fs:(%rax)
2154 je .L383
2155 movl %r12d, %edi
2156 call __GI___close_nocancel
2157 xorl %eax, %eax
2158 jmp .L379
2159 .p2align 4,,10
2160 .p2align 3
2161 .L387:
2162 call __GI___open_nocancel
2163 movl %eax, %r12d
2164 jmp .L381
2165 .p2align 4,,10
2166 .p2align 3
2167 .L385:
2168 xorl %eax, %eax
2169 jmp .L379
2170 .p2align 4,,10
2171 .p2align 3
2172 .L388:
2173 call _IO_vtable_check
2174 jmp .L384
2175 .LFE89:
2176 .size __GI__IO_file_open, .-__GI__IO_file_open
2177 .globl _IO_file_open
2178 .set _IO_file_open,__GI__IO_file_open
2179 .section .rodata.str1.1,"aMS",@progbits,1
2180 .LC0:
2181 .string ",ccs="
2182 .LC1:
2183 .string "fileops.c"
2184 .LC2:
2185 .string "fcts.towc_nsteps == 1"
2186 .LC3:
2187 .string "fcts.tomb_nsteps == 1"
2188 .text
2189 .p2align 4,,15
2190 .globl _IO_new_file_fopen
2191 .type _IO_new_file_fopen, @function
2192 _IO_new_file_fopen:
2193 .LFB90:
2194 pushq %r15
2195 pushq %r14
2196 pushq %r13
2197 pushq %r12
2198 pushq %rbp
2199 pushq %rbx
2200 subq $40, %rsp
2201 cmpl $-1, 112(%rdi)
2202 jne .L409
2203 movzbl (%rdx), %eax
2204 movq %rdi, %rbx
2205 cmpb $114, %al
2206 je .L394
2207 cmpb $119, %al
2208 je .L423
2209 cmpb $97, %al
2210 je .L443
2211 movq __libc_errno@gottpoff(%rip), %rax
2212 xorl %ebp, %ebp
2213 movl $22, %fs:(%rax)
2214 .L390:
2215 addq $40, %rsp
2216 movq %rbp, %rax
2217 popq %rbx
2218 popq %rbp
2219 popq %r12
2220 popq %r13
2221 popq %r14
2222 popq %r15
2224 .p2align 4,,10
2225 .p2align 3
2226 .L423:
2227 movl $4, %r8d
2228 movl $1, %r9d
2229 movl $576, %r10d
2230 .L395:
2231 leaq 6(%rdx), %rdi
2232 movq %rdx, %r12
2233 .L406:
2234 addq $1, %rdx
2235 movzbl (%rdx), %eax
2236 cmpb $99, %al
2237 je .L398
2238 jg .L399
2239 cmpb $43, %al
2240 je .L400
2241 cmpb $98, %al
2242 je .L442
2243 testb %al, %al
2244 je .L402
2245 .p2align 4,,10
2246 .p2align 3
2247 .L397:
2248 cmpq %rdi, %rdx
2249 jne .L406
2250 .L402:
2251 movl %r10d, %edx
2252 movq %rbx, %rdi
2253 orl %r9d, %edx
2254 movl %ecx, %r9d
2255 movl $438, %ecx
2256 call __GI__IO_file_open
2257 testq %rax, %rax
2258 movq %rax, %rbp
2259 je .L409
2260 leaq 1(%r12), %rdi
2261 leaq .LC0(%rip), %rsi
2262 call __GI_strstr
2263 testq %rax, %rax
2264 movq %rax, %r13
2265 je .L390
2266 leaq 5(%rax), %r15
2267 movl $44, %esi
2268 movq %r15, %rdi
2269 call __strchrnul@PLT
2270 subq %r15, %rax
2271 leaq 3(%rax), %rdi
2272 movq %rax, %r14
2273 call malloc@PLT
2274 testq %rax, %rax
2275 movq %rax, %r12
2276 je .L444
2277 movq %r14, %rdx
2278 movq %r15, %rsi
2279 movq %rax, %rdi
2280 call __GI_mempcpy@PLT
2281 movb $0, (%rax)
2282 movzbl (%r12), %edx
2283 testb %dl, %dl
2284 je .L445
2285 movq 104+_nl_C_locobj(%rip), %r11
2286 movq 120+_nl_C_locobj(%rip), %r14
2287 movq %r12, %rdi
2288 movq %r12, %rsi
2289 xorl %r9d, %r9d
2290 movabsq $2251799813701639, %r10
2291 .p2align 4,,10
2292 .p2align 3
2293 .L416:
2294 movsbq %dl, %r8
2295 leal -44(%rdx), %ecx
2296 movzwl (%r11,%r8,2), %eax
2297 shrw $3, %ax
2298 andl $1, %eax
2299 cmpb $51, %cl
2300 ja .L412
2301 movq %r10, %r15
2302 shrq %cl, %r15
2303 movq %r15, %rcx
2304 andl $1, %ecx
2305 orl %ecx, %eax
2306 .L412:
2307 testb %al, %al
2308 leal 1(%r9), %ecx
2309 je .L413
2310 movl (%r14,%r8,4), %eax
2311 addq $1, %rsi
2312 movb %al, -1(%rsi)
2313 .L414:
2314 addq $1, %rdi
2315 movzbl (%rdi), %edx
2316 testb %dl, %dl
2317 jne .L416
2318 cmpl $1, %r9d
2319 jg .L415
2320 cmpl $1, %ecx
2321 leaq 1(%rsi), %rax
2322 movb $47, (%rsi)
2323 jne .L424
2324 .L411:
2325 leaq 1(%rax), %rsi
2326 movb $47, (%rax)
2327 .L415:
2328 movb $0, (%rsi)
2329 cmpb $0, 2(%r12)
2330 je .L446
2331 .L418:
2332 movq %rsp, %rdi
2333 movq %r12, %rsi
2334 call __wcsmbs_named_conv
2335 testl %eax, %eax
2336 jne .L447
2337 movq %r12, %rdi
2338 call free@PLT
2339 cmpq $1, 8(%rsp)
2340 jne .L448
2341 cmpq $1, 24(%rsp)
2342 jne .L449
2343 movq 160(%rbx), %rax
2344 movq 16(%rsp), %rcx
2345 movq 8(%rax), %rdx
2346 movq $0, 88(%rax)
2347 movq %rdx, (%rax)
2348 movq 24(%rax), %rdx
2349 movq %rdx, 32(%rax)
2350 movq 160(%rbx), %rax
2351 movq $0, 96(%rax)
2352 movq 160(%rbx), %rax
2353 movq 160(%rbp), %rsi
2354 leaq 104(%rax), %rdx
2355 movq %rdx, 152(%rbx)
2356 movq (%rsp), %rdx
2357 movq $1, 128(%rax)
2358 movl $1, 136(%rax)
2359 movq %rcx, 160(%rax)
2360 movq $9, 184(%rax)
2361 movq %rdx, 104(%rax)
2362 leaq 88(%rsi), %rdx
2363 movl $1, 192(%rax)
2364 movq %rdx, 144(%rax)
2365 movq %rdx, 200(%rax)
2366 movq 224(%rax), %rax
2367 movq %rax, 216(%rbx)
2368 movl $1, 192(%rbp)
2369 jmp .L390
2370 .p2align 4,,10
2371 .p2align 3
2372 .L399:
2373 cmpb $109, %al
2374 je .L403
2375 cmpb $120, %al
2376 je .L404
2377 cmpb $101, %al
2378 jne .L397
2379 orl $524288, %r10d
2380 orl $64, 116(%rbx)
2381 jmp .L397
2382 .p2align 4,,10
2383 .p2align 3
2384 .L404:
2385 orb $-128, %r10b
2386 .L442:
2387 movq %rdx, %r12
2388 jmp .L397
2389 .L444:
2390 movq __libc_errno@gottpoff(%rip), %rbp
2391 movq %rbx, %rdi
2392 movl %fs:0(%rbp), %r12d
2393 call __GI__IO_file_close_it
2394 movl %r12d, %fs:0(%rbp)
2395 .p2align 4,,10
2396 .p2align 3
2397 .L409:
2398 xorl %ebp, %ebp
2399 jmp .L390
2400 .p2align 4,,10
2401 .p2align 3
2402 .L403:
2403 orl $1, 116(%rbx)
2404 jmp .L397
2405 .p2align 4,,10
2406 .p2align 3
2407 .L400:
2408 andl $4096, %r8d
2409 movq %rdx, %r12
2410 movl $2, %r9d
2411 jmp .L397
2412 .p2align 4,,10
2413 .p2align 3
2414 .L398:
2415 orl $2, 116(%rbx)
2416 jmp .L397
2417 .p2align 4,,10
2418 .p2align 3
2419 .L394:
2420 movl $8, %r8d
2421 xorl %r9d, %r9d
2422 xorl %r10d, %r10d
2423 jmp .L395
2424 .p2align 4,,10
2425 .p2align 3
2426 .L443:
2427 movl $4100, %r8d
2428 movl $1, %r9d
2429 movl $1088, %r10d
2430 jmp .L395
2431 .p2align 4,,10
2432 .p2align 3
2433 .L446:
2434 movq 120+_nl_C_locobj(%rip), %rcx
2435 xorl %eax, %eax
2436 .p2align 4,,10
2437 .p2align 3
2438 .L419:
2439 movsbq 5(%r13,%rax), %rdx
2440 movl (%rcx,%rdx,4), %edx
2441 movb %dl, (%r12,%rax)
2442 addq $1, %rax
2443 testb %dl, %dl
2444 jne .L419
2445 jmp .L418
2446 .p2align 4,,10
2447 .p2align 3
2448 .L413:
2449 cmpb $47, %dl
2450 jne .L414
2451 cmpl $3, %ecx
2452 je .L415
2453 leal 2(%r9), %eax
2454 movb $47, (%rsi)
2455 movl %ecx, %r9d
2456 addq $1, %rsi
2457 movl %eax, %ecx
2458 jmp .L414
2459 .p2align 4,,10
2460 .p2align 3
2461 .L424:
2462 movq %rax, %rsi
2463 jmp .L415
2464 .L447:
2465 movq %rbx, %rdi
2466 xorl %ebp, %ebp
2467 call __GI__IO_file_close_it
2468 movq %r12, %rdi
2469 call free@PLT
2470 movq __libc_errno@gottpoff(%rip), %rax
2471 movl $22, %fs:(%rax)
2472 jmp .L390
2473 .L445:
2474 leaq 1(%r12), %rax
2475 movb $47, (%r12)
2476 jmp .L411
2477 .L448:
2478 leaq __PRETTY_FUNCTION__.12613(%rip), %rcx
2479 leaq .LC1(%rip), %rsi
2480 leaq .LC2(%rip), %rdi
2481 movl $322, %edx
2482 call __GI___assert_fail
2483 .L449:
2484 leaq __PRETTY_FUNCTION__.12613(%rip), %rcx
2485 leaq .LC1(%rip), %rsi
2486 leaq .LC3(%rip), %rdi
2487 movl $323, %edx
2488 call __GI___assert_fail
2489 .LFE90:
2490 .size _IO_new_file_fopen, .-_IO_new_file_fopen
2491 .globl __GI__IO_file_fopen
2492 .set __GI__IO_file_fopen,_IO_new_file_fopen
2493 .p2align 4,,15
2494 .globl _IO_new_file_attach
2495 .type _IO_new_file_attach, @function
2496 _IO_new_file_attach:
2497 .LFB91:
2498 cmpl $-1, 112(%rdi)
2499 jne .L459
2500 pushq %r13
2501 pushq %r12
2502 leaq __start___libc_IO_vtables(%rip), %rdx
2503 pushq %rbp
2504 pushq %rbx
2505 movq %rdi, %rbx
2506 subq $8, %rsp
2507 movl (%rdi), %eax
2508 movq 216(%rdi), %r12
2509 movq __libc_errno@gottpoff(%rip), %rbp
2510 movl %esi, 112(%rdi)
2511 movq $-1, 144(%rdi)
2512 andl $-13, %eax
2513 movq %r12, %rcx
2514 orl $64, %eax
2515 subq %rdx, %rcx
2516 movl %fs:0(%rbp), %r13d
2517 movl %eax, (%rdi)
2518 leaq __stop___libc_IO_vtables(%rip), %rax
2519 subq %rdx, %rax
2520 cmpq %rcx, %rax
2521 jbe .L460
2522 .L453:
2523 xorl %esi, %esi
2524 movl $3, %ecx
2525 movl $1, %edx
2526 movq %rbx, %rdi
2527 call *72(%r12)
2528 cmpq $-1, %rax
2529 je .L461
2530 .L454:
2531 movl %r13d, %fs:0(%rbp)
2532 addq $8, %rsp
2533 movq %rbx, %rax
2534 popq %rbx
2535 popq %rbp
2536 popq %r12
2537 popq %r13
2539 .p2align 4,,10
2540 .p2align 3
2541 .L461:
2542 cmpl $29, %fs:0(%rbp)
2543 je .L454
2544 addq $8, %rsp
2545 xorl %eax, %eax
2546 popq %rbx
2547 popq %rbp
2548 popq %r12
2549 popq %r13
2551 .p2align 4,,10
2552 .p2align 3
2553 .L460:
2554 call _IO_vtable_check
2555 jmp .L453
2556 .p2align 4,,10
2557 .p2align 3
2558 .L459:
2559 xorl %eax, %eax
2561 .LFE91:
2562 .size _IO_new_file_attach, .-_IO_new_file_attach
2563 .globl __GI__IO_file_attach
2564 .set __GI__IO_file_attach,_IO_new_file_attach
2565 .p2align 4,,15
2566 .globl _IO_new_do_write
2567 .type _IO_new_do_write, @function
2568 _IO_new_do_write:
2569 .LFB94:
2570 testq %rdx, %rdx
2571 jne .L471
2572 xorl %eax, %eax
2574 .p2align 4,,10
2575 .p2align 3
2576 .L471:
2577 pushq %rbx
2578 movq %rdx, %rbx
2579 call new_do_write
2580 cmpq %rax, %rbx
2581 setne %al
2582 movzbl %al, %eax
2583 negl %eax
2584 popq %rbx
2586 .LFE94:
2587 .size _IO_new_do_write, .-_IO_new_do_write
2588 .globl __GI__IO_do_write
2589 .set __GI__IO_do_write,_IO_new_do_write
2590 .p2align 4,,15
2591 .globl _IO_new_file_underflow
2592 .type _IO_new_file_underflow, @function
2593 _IO_new_file_underflow:
2594 .LFB96:
2595 movl (%rdi), %eax
2596 testb $16, %al
2597 jne .L501
2598 testb $4, %al
2599 jne .L511
2600 movq 8(%rdi), %rdx
2601 cmpq 16(%rdi), %rdx
2602 jb .L512
2603 pushq %r15
2604 pushq %r14
2605 pushq %r13
2606 pushq %r12
2607 pushq %rbp
2608 pushq %rbx
2609 movq %rdi, %rbx
2610 subq $24, %rsp
2611 cmpq $0, 56(%rdi)
2612 je .L513
2613 testl $514, %eax
2614 je .L514
2615 .L478:
2616 movq stdout@GOTPCREL(%rip), %rax
2617 movq (%rax), %r12
2618 movl (%r12), %edx
2619 movl %edx, %esi
2620 andl $32768, %esi
2621 je .L515
2622 movq %r12, %rdi
2623 .L480:
2624 leaq __stop___libc_IO_vtables(%rip), %r15
2625 leaq __start___libc_IO_vtables(%rip), %rbp
2626 andl $648, %edx
2627 movq %r15, %r13
2628 movq %rbp, %r14
2629 subq %rbp, %r13
2630 cmpl $640, %edx
2631 je .L486
2632 .L490:
2633 testl $32768, (%r12)
2634 jne .L488
2635 movq 136(%r12), %rdi
2636 movl 4(%rdi), %eax
2637 subl $1, %eax
2638 testl %eax, %eax
2639 movl %eax, 4(%rdi)
2640 jne .L488
2641 movq $0, 8(%rdi)
2642 #APP
2643 # 885 "libioP.h" 1
2644 movl %fs:24,%edx
2645 # 0 "" 2
2646 #NO_APP
2647 testl %edx, %edx
2648 jne .L491
2649 subl $1, (%rdi)
2650 .p2align 4,,10
2651 .p2align 3
2652 .L479:
2653 movq %rbx, %rdi
2654 .LEHB0:
2655 call __GI__IO_switch_to_get_mode
2656 movq 216(%rbx), %rbp
2657 movq 56(%rbx), %rsi
2658 movq %rbp, %rax
2659 subq %r14, %rax
2660 movq %rsi, 8(%rbx)
2661 movq %rsi, 24(%rbx)
2662 cmpq %r13, %rax
2663 movq %rsi, 16(%rbx)
2664 movq %rsi, 48(%rbx)
2665 movq %rsi, 40(%rbx)
2666 movq %rsi, 32(%rbx)
2667 jnb .L516
2668 .L492:
2669 movq 64(%rbx), %rdx
2670 movq %rbx, %rdi
2671 subq %rsi, %rdx
2672 call *112(%rbp)
2673 .LEHE0:
2674 testq %rax, %rax
2675 jle .L517
2676 movq 144(%rbx), %rdx
2677 addq %rax, 16(%rbx)
2678 cmpq $-1, %rdx
2679 je .L497
2680 addq %rdx, %rax
2681 movq %rax, 144(%rbx)
2682 .L497:
2683 movq 8(%rbx), %rax
2684 movzbl (%rax), %eax
2685 addq $24, %rsp
2686 popq %rbx
2687 popq %rbp
2688 popq %r12
2689 popq %r13
2690 popq %r14
2691 popq %r15
2693 .p2align 4,,10
2694 .p2align 3
2695 .L512:
2696 movzbl (%rdx), %eax
2698 .p2align 4,,10
2699 .p2align 3
2700 .L515:
2701 movq 136(%r12), %rcx
2702 movq %fs:16, %rbp
2703 cmpq %rbp, 8(%rcx)
2704 je .L503
2705 #APP
2706 # 497 "fileops.c" 1
2707 movl %fs:24,%eax
2708 # 0 "" 2
2709 #NO_APP
2710 testl %eax, %eax
2711 movl $1, %edx
2712 jne .L482
2713 #APP
2714 # 47 "../sysdeps/unix/sysv/linux/x86/lowlevellock.h" 1
2715 cmpxchgl %edx, (%rcx)
2716 # 0 "" 2
2717 #NO_APP
2718 .L483:
2719 movq stdout@GOTPCREL(%rip), %rax
2720 movq 136(%r12), %rcx
2721 movq (%rax), %rdi
2722 movq %rbp, 8(%rcx)
2723 movl (%rdi), %edx
2724 .L481:
2725 addl $1, 4(%rcx)
2726 jmp .L480
2727 .p2align 4,,10
2728 .p2align 3
2729 .L514:
2730 leaq __stop___libc_IO_vtables(%rip), %r15
2731 leaq __start___libc_IO_vtables(%rip), %rbp
2732 .L488:
2733 subq %rbp, %r15
2734 leaq __start___libc_IO_vtables(%rip), %r14
2735 movq %r15, %r13
2736 jmp .L479
2737 .p2align 4,,10
2738 .p2align 3
2739 .L513:
2740 movq 72(%rdi), %rdi
2741 testq %rdi, %rdi
2742 je .L477
2743 call free@PLT
2744 andl $-257, (%rbx)
2745 .L477:
2746 movq %rbx, %rdi
2747 call __GI__IO_doallocbuf
2748 movl (%rbx), %eax
2749 testl $514, %eax
2750 jne .L478
2751 jmp .L514
2752 .p2align 4,,10
2753 .p2align 3
2754 .L517:
2755 movl (%rbx), %edx
2756 movl %edx, %ecx
2757 orl $16, %edx
2758 orl $32, %ecx
2759 testq %rax, %rax
2760 movq $-1, %rax
2761 cmovne %ecx, %edx
2762 movq %rax, 144(%rbx)
2763 movl %edx, (%rbx)
2764 addq $24, %rsp
2765 popq %rbx
2766 popq %rbp
2767 popq %r12
2768 popq %r13
2769 popq %r14
2770 popq %r15
2772 .p2align 4,,10
2773 .p2align 3
2774 .L486:
2775 movq 216(%rdi), %rax
2776 movq %rax, 8(%rsp)
2777 subq %rbp, %rax
2778 cmpq %r13, %rax
2779 jnb .L518
2780 .L489:
2781 movq 8(%rsp), %rax
2782 movl $-1, %esi
2783 .LEHB1:
2784 call *24(%rax)
2785 .LEHE1:
2786 jmp .L490
2787 .p2align 4,,10
2788 .p2align 3
2789 .L503:
2790 movq %r12, %rdi
2791 jmp .L481
2792 .p2align 4,,10
2793 .p2align 3
2794 .L516:
2795 .LEHB2:
2796 call _IO_vtable_check
2797 .LEHE2:
2798 movq 56(%rbx), %rsi
2799 jmp .L492
2800 .p2align 4,,10
2801 .p2align 3
2802 .L501:
2803 movl $-1, %eax
2805 .p2align 4,,10
2806 .p2align 3
2807 .L511:
2808 orl $32, %eax
2809 movl %eax, (%rdi)
2810 movq __libc_errno@gottpoff(%rip), %rax
2811 movl $9, %fs:(%rax)
2812 movl $-1, %eax
2814 .p2align 4,,10
2815 .p2align 3
2816 .L482:
2817 movl %esi, %eax
2818 lock cmpxchgl %edx, (%rcx)
2819 je .L483
2820 movq %rcx, %rdi
2821 .LEHB3:
2822 call __lll_lock_wait_private
2823 jmp .L483
2824 .p2align 4,,10
2825 .p2align 3
2826 .L518:
2827 call _IO_vtable_check
2828 .LEHE3:
2829 movq stdout@GOTPCREL(%rip), %rax
2830 movq (%rax), %rdi
2831 jmp .L489
2832 .L491:
2833 #APP
2834 # 885 "libioP.h" 1
2835 xchgl %eax, (%rdi)
2836 # 0 "" 2
2837 #NO_APP
2838 cmpl $1, %eax
2839 jle .L488
2840 xorl %r10d, %r10d
2841 movl $1, %edx
2842 movl $129, %esi
2843 movl $202, %eax
2844 #APP
2845 # 885 "libioP.h" 1
2846 syscall
2848 # 0 "" 2
2849 #NO_APP
2850 jmp .L479
2851 .L504:
2852 testl $32768, (%r12)
2853 movq %rax, %r8
2854 jne .L499
2855 movq 136(%r12), %rdi
2856 movl 4(%rdi), %eax
2857 subl $1, %eax
2858 testl %eax, %eax
2859 movl %eax, 4(%rdi)
2860 jne .L499
2861 movq $0, 8(%rdi)
2862 #APP
2863 # 885 "libioP.h" 1
2864 movl %fs:24,%edx
2865 # 0 "" 2
2866 #NO_APP
2867 testl %edx, %edx
2868 jne .L500
2869 subl $1, (%rdi)
2870 .L499:
2871 movq %r8, %rdi
2872 .LEHB4:
2873 call _Unwind_Resume@PLT
2874 .LEHE4:
2875 .L500:
2876 #APP
2877 # 885 "libioP.h" 1
2878 xchgl %eax, (%rdi)
2879 # 0 "" 2
2880 #NO_APP
2881 subl $1, %eax
2882 jle .L499
2883 xorl %r10d, %r10d
2884 movl $1, %edx
2885 movl $129, %esi
2886 movl $202, %eax
2887 #APP
2888 # 885 "libioP.h" 1
2889 syscall
2891 # 0 "" 2
2892 #NO_APP
2893 jmp .L499
2894 .LFE96:
2895 .globl __gcc_personality_v0
2896 .section .gcc_except_table,"a",@progbits
2897 .LLSDA96:
2898 .byte 0xff
2899 .byte 0xff
2900 .byte 0x1
2901 .uleb128 .LLSDACSE96-.LLSDACSB96
2902 .LLSDACSB96:
2903 .uleb128 .LEHB0-.LFB96
2904 .uleb128 .LEHE0-.LEHB0
2905 .uleb128 0
2906 .uleb128 0
2907 .uleb128 .LEHB1-.LFB96
2908 .uleb128 .LEHE1-.LEHB1
2909 .uleb128 .L504-.LFB96
2910 .uleb128 0
2911 .uleb128 .LEHB2-.LFB96
2912 .uleb128 .LEHE2-.LEHB2
2913 .uleb128 0
2914 .uleb128 0
2915 .uleb128 .LEHB3-.LFB96
2916 .uleb128 .LEHE3-.LEHB3
2917 .uleb128 .L504-.LFB96
2918 .uleb128 0
2919 .uleb128 .LEHB4-.LFB96
2920 .uleb128 .LEHE4-.LEHB4
2921 .uleb128 0
2922 .uleb128 0
2923 .LLSDACSE96:
2924 .text
2925 .size _IO_new_file_underflow, .-_IO_new_file_underflow
2926 .globl __GI__IO_file_underflow
2927 .set __GI__IO_file_underflow,_IO_new_file_underflow
2928 .p2align 4,,15
2929 .globl _IO_new_file_overflow
2930 .type _IO_new_file_overflow, @function
2931 _IO_new_file_overflow:
2932 .LFB101:
2933 movl (%rdi), %ecx
2934 testb $8, %cl
2935 jne .L561
2936 testb $8, %ch
2937 pushq %r12
2938 pushq %rbp
2939 movl %esi, %ebp
2940 pushq %rbx
2941 movq %rdi, %rbx
2942 movq 32(%rdi), %rax
2943 je .L522
2944 testq %rax, %rax
2945 je .L523
2946 movq 40(%rdi), %rdx
2947 .L524:
2948 cmpl $-1, %ebp
2949 je .L562
2950 .L531:
2951 cmpq %rdx, 64(%rbx)
2952 je .L563
2953 .L532:
2954 leaq 1(%rdx), %rax
2955 movq %rax, 40(%rbx)
2956 movb %bpl, (%rdx)
2957 movl (%rbx), %eax
2958 testb $2, %al
2959 jne .L536
2960 testb $2, %ah
2961 je .L539
2962 cmpl $10, %ebp
2963 je .L536
2964 .L539:
2965 movzbl %bpl, %eax
2966 .L519:
2967 popq %rbx
2968 popq %rbp
2969 popq %r12
2971 .p2align 4,,10
2972 .p2align 3
2973 .L522:
2974 testq %rax, %rax
2975 je .L523
2976 movq 8(%rdi), %rdx
2977 .L525:
2978 testb $1, %ch
2979 jne .L564
2980 .L526:
2981 movq 64(%rbx), %rax
2982 cmpq %rdx, %rax
2983 je .L529
2984 movq 16(%rbx), %rsi
2985 .L530:
2986 movq %rsi, 8(%rbx)
2987 movq %rsi, 24(%rbx)
2988 movl 192(%rbx), %esi
2989 movq %rax, 48(%rbx)
2990 movl %ecx, %eax
2991 orb $8, %ah
2992 movq %rdx, 40(%rbx)
2993 movq %rdx, 32(%rbx)
2994 movl %eax, (%rbx)
2995 testl %esi, %esi
2996 jg .L524
2997 andl $514, %ecx
2998 je .L524
2999 cmpl $-1, %ebp
3000 movq %rdx, 48(%rbx)
3001 jne .L531
3002 .L562:
3003 movq 32(%rbx), %rsi
3004 movq %rbx, %rdi
3005 popq %rbx
3006 popq %rbp
3007 popq %r12
3008 subq %rsi, %rdx
3009 jmp __GI__IO_do_write
3010 .p2align 4,,10
3011 .p2align 3
3012 .L536:
3013 movq 32(%rbx), %rsi
3014 movq 40(%rbx), %rdx
3015 movq %rbx, %rdi
3016 subq %rsi, %rdx
3017 call __GI__IO_do_write
3018 cmpl $-1, %eax
3019 jne .L539
3020 .L538:
3021 movl $-1, %eax
3022 jmp .L519
3023 .p2align 4,,10
3024 .p2align 3
3025 .L563:
3026 movl 192(%rbx), %eax
3027 testl %eax, %eax
3028 jle .L565
3029 movq 160(%rbx), %rax
3030 movq %rbx, %rdi
3031 movq 24(%rax), %rsi
3032 movq 32(%rax), %rdx
3033 subq %rsi, %rdx
3034 sarq $2, %rdx
3035 call __GI__IO_wdo_write
3036 cmpl $-1, %eax
3037 sete %al
3038 .L534:
3039 testb %al, %al
3040 jne .L538
3041 movq 40(%rbx), %rdx
3042 jmp .L532
3043 .p2align 4,,10
3044 .p2align 3
3045 .L565:
3046 movq 32(%rbx), %rsi
3047 movq %rbx, %rdi
3048 subq %rsi, %rdx
3049 call __GI__IO_do_write
3050 cmpl $-1, %eax
3051 sete %al
3052 jmp .L534
3053 .p2align 4,,10
3054 .p2align 3
3055 .L529:
3056 movq 56(%rbx), %rdx
3057 movq %rdx, 16(%rbx)
3058 movq %rdx, %rsi
3059 jmp .L530
3060 .p2align 4,,10
3061 .p2align 3
3062 .L523:
3063 movq %rbx, %rdi
3064 call __GI__IO_doallocbuf
3065 movq 56(%rbx), %rdx
3066 movl (%rbx), %ecx
3067 movq %rdx, 24(%rbx)
3068 movq %rdx, 8(%rbx)
3069 movq %rdx, 16(%rbx)
3070 jmp .L525
3071 .p2align 4,,10
3072 .p2align 3
3073 .L564:
3074 movq 16(%rbx), %r12
3075 movq %rbx, %rdi
3076 subq %rdx, %r12
3077 call __GI__IO_free_backup_area
3078 movq 24(%rbx), %rdx
3079 movq %r12, %rsi
3080 negq %rsi
3081 movq %rdx, %rcx
3082 subq 56(%rbx), %rcx
3083 movq %rcx, %rax
3084 negq %rax
3085 cmpq %r12, %rcx
3086 movl (%rbx), %ecx
3087 cmova %rsi, %rax
3088 addq %rax, %rdx
3089 movq %rdx, 24(%rbx)
3090 movq %rdx, 8(%rbx)
3091 jmp .L526
3092 .p2align 4,,10
3093 .p2align 3
3094 .L561:
3095 movq __libc_errno@gottpoff(%rip), %rax
3096 orl $32, %ecx
3097 movl %ecx, (%rdi)
3098 movl $9, %fs:(%rax)
3099 movl $-1, %eax
3101 .LFE101:
3102 .size _IO_new_file_overflow, .-_IO_new_file_overflow
3103 .globl __GI__IO_file_overflow
3104 .set __GI__IO_file_overflow,_IO_new_file_overflow
3105 .section .rodata.str1.16,"aMS",@progbits,1
3106 .align 16
3107 .type __PRETTY_FUNCTION__.12613, @object
3108 .size __PRETTY_FUNCTION__.12613, 19
3109 __PRETTY_FUNCTION__.12613:
3110 .string "_IO_new_file_fopen"
3111 .hidden _IO_file_jumps_maybe_mmap
3112 .globl _IO_file_jumps_maybe_mmap
3113 .section __libc_IO_vtables,"aw",@progbits
3114 .align 32
3115 .type _IO_file_jumps_maybe_mmap, @object
3116 .size _IO_file_jumps_maybe_mmap, 168
3117 _IO_file_jumps_maybe_mmap:
3118 .quad 0
3119 .quad 0
3120 .quad __GI__IO_file_finish
3121 .quad __GI__IO_file_overflow
3122 .quad _IO_file_underflow_maybe_mmap
3123 .quad __GI__IO_default_uflow
3124 .quad __GI__IO_default_pbackfail
3125 .quad _IO_new_file_xsputn
3126 .quad _IO_file_xsgetn_maybe_mmap
3127 .quad _IO_file_seekoff_maybe_mmap
3128 .quad _IO_default_seekpos
3129 .quad _IO_file_setbuf_mmap
3130 .quad _IO_new_file_sync
3131 .quad __GI__IO_file_doallocate
3132 .quad __GI__IO_file_read
3133 .quad _IO_new_file_write
3134 .quad __GI__IO_file_seek
3135 .quad __GI__IO_file_close
3136 .quad __GI__IO_file_stat
3137 .quad _IO_default_showmanyc
3138 .quad _IO_default_imbue
3139 .hidden _IO_file_jumps_mmap
3140 .globl _IO_file_jumps_mmap
3141 .align 32
3142 .type _IO_file_jumps_mmap, @object
3143 .size _IO_file_jumps_mmap, 168
3144 _IO_file_jumps_mmap:
3145 .quad 0
3146 .quad 0
3147 .quad __GI__IO_file_finish
3148 .quad __GI__IO_file_overflow
3149 .quad _IO_file_underflow_mmap
3150 .quad __GI__IO_default_uflow
3151 .quad __GI__IO_default_pbackfail
3152 .quad _IO_new_file_xsputn
3153 .quad _IO_file_xsgetn_mmap
3154 .quad _IO_file_seekoff_mmap
3155 .quad _IO_default_seekpos
3156 .quad _IO_file_setbuf_mmap
3157 .quad _IO_file_sync_mmap
3158 .quad __GI__IO_file_doallocate
3159 .quad __GI__IO_file_read
3160 .quad _IO_new_file_write
3161 .quad __GI__IO_file_seek
3162 .quad _IO_file_close_mmap
3163 .quad __GI__IO_file_stat
3164 .quad _IO_default_showmanyc
3165 .quad _IO_default_imbue
3166 .hidden __GI__IO_file_jumps
3167 .globl __GI__IO_file_jumps
3168 .align 32
3169 .type __GI__IO_file_jumps, @object
3170 .size __GI__IO_file_jumps, 168
3171 __GI__IO_file_jumps:
3172 .quad 0
3173 .quad 0
3174 .quad __GI__IO_file_finish
3175 .quad __GI__IO_file_overflow
3176 .quad __GI__IO_file_underflow
3177 .quad __GI__IO_default_uflow
3178 .quad __GI__IO_default_pbackfail
3179 .quad __GI__IO_file_xsputn
3180 .quad __GI__IO_file_xsgetn
3181 .quad _IO_new_file_seekoff
3182 .quad _IO_default_seekpos
3183 .quad _IO_new_file_setbuf
3184 .quad _IO_new_file_sync
3185 .quad __GI__IO_file_doallocate
3186 .quad __GI__IO_file_read
3187 .quad _IO_new_file_write
3188 .quad __GI__IO_file_seek
3189 .quad __GI__IO_file_close
3190 .quad __GI__IO_file_stat
3191 .quad _IO_default_showmanyc
3192 .quad _IO_default_imbue
3193 .globl _IO_file_jumps
3194 .set _IO_file_jumps,__GI__IO_file_jumps
3195 .hidden DW.ref.__gcc_personality_v0
3196 .weak DW.ref.__gcc_personality_v0
3197 .section .data.DW.ref.__gcc_personality_v0,"awG",@progbits,DW.ref.__gcc_personality_v0,comdat
3198 .align 8
3199 .type DW.ref.__gcc_personality_v0, @object
3200 .size DW.ref.__gcc_personality_v0, 8
3201 DW.ref.__gcc_personality_v0:
3202 .quad __gcc_personality_v0
3203 .hidden __lll_lock_wait_private
3204 .hidden __wcsmbs_named_conv
3205 .hidden _nl_C_locobj
3206 .hidden IO_accept_foreign_vtables
3207 .hidden __lseek64
3208 .hidden _IO_wfile_jumps_mmap
3209 .hidden _IO_vtable_check
3210 .hidden __stop___libc_IO_vtables
3211 .hidden __start___libc_IO_vtables