demo: file format elf64-x86-64 Disassembly of section .init: 0000000000000670 <_init>: 670: 48 83 ec 08 sub $0x8,%rsp 674: 48 8b 05 6d 19 20 00 mov 0x20196d(%rip),%rax # 201fe8 <__gmon_start__> 67b: 48 85 c0 test %rax,%rax 67e: 74 02 je 682 <_init+0x12> 680: ff d0 callq *%rax 682: 48 83 c4 08 add $0x8,%rsp 686: c3 retq Disassembly of section .plt: 0000000000000690 <.plt>: 690: ff 35 02 19 20 00 pushq 0x201902(%rip) # 201f98 <_GLOBAL_OFFSET_TABLE_+0x8> 696: ff 25 04 19 20 00 jmpq *0x201904(%rip) # 201fa0 <_GLOBAL_OFFSET_TABLE_+0x10> 69c: 0f 1f 40 00 nopl 0x0(%rax) 00000000000006a0 : 6a0: ff 25 02 19 20 00 jmpq *0x201902(%rip) # 201fa8 6a6: 68 00 00 00 00 pushq $0x0 6ab: e9 e0 ff ff ff jmpq 690 <.plt> 00000000000006b0 : 6b0: ff 25 fa 18 20 00 jmpq *0x2018fa(%rip) # 201fb0 6b6: 68 01 00 00 00 pushq $0x1 6bb: e9 d0 ff ff ff jmpq 690 <.plt> 00000000000006c0 <__stack_chk_fail@plt>: 6c0: ff 25 f2 18 20 00 jmpq *0x2018f2(%rip) # 201fb8 <__stack_chk_fail@GLIBC_2.4> 6c6: 68 02 00 00 00 pushq $0x2 6cb: e9 c0 ff ff ff jmpq 690 <.plt> 00000000000006d0 : 6d0: ff 25 ea 18 20 00 jmpq *0x2018ea(%rip) # 201fc0 6d6: 68 03 00 00 00 pushq $0x3 6db: e9 b0 ff ff ff jmpq 690 <.plt> 00000000000006e0 <__printf_chk@plt>: 6e0: ff 25 e2 18 20 00 jmpq *0x2018e2(%rip) # 201fc8 <__printf_chk@GLIBC_2.3.4> 6e6: 68 04 00 00 00 pushq $0x4 6eb: e9 a0 ff ff ff jmpq 690 <.plt> 00000000000006f0 <__isoc99_scanf@plt>: 6f0: ff 25 da 18 20 00 jmpq *0x2018da(%rip) # 201fd0 <__isoc99_scanf@GLIBC_2.7> 6f6: 68 05 00 00 00 pushq $0x5 6fb: e9 90 ff ff ff jmpq 690 <.plt> Disassembly of section .plt.got: 0000000000000700 <__cxa_finalize@plt>: 700: ff 25 f2 18 20 00 jmpq *0x2018f2(%rip) # 201ff8 <__cxa_finalize@GLIBC_2.2.5> 706: 66 90 xchg %ax,%ax Disassembly of section .text: 0000000000000710 <_start>: 710: 31 ed xor %ebp,%ebp 712: 49 89 d1 mov %rdx,%r9 715: 5e pop %rsi 716: 48 89 e2 mov %rsp,%rdx 719: 48 83 e4 f0 and $0xfffffffffffffff0,%rsp 71d: 50 push %rax 71e: 54 push %rsp 71f: 4c 8d 05 da 04 00 00 lea 0x4da(%rip),%r8 # c00 <__libc_csu_fini> 726: 48 8d 0d 63 04 00 00 lea 0x463(%rip),%rcx # b90 <__libc_csu_init> 72d: 48 8d 3d 0d 04 00 00 lea 0x40d(%rip),%rdi # b41
734: ff 15 a6 18 20 00 callq *0x2018a6(%rip) # 201fe0 <__libc_start_main@GLIBC_2.2.5> 73a: f4 hlt 73b: 0f 1f 44 00 00 nopl 0x0(%rax,%rax,1) 0000000000000740 : 740: 48 8d 3d c9 18 20 00 lea 0x2018c9(%rip),%rdi # 202010 <__TMC_END__> 747: 55 push %rbp 748: 48 8d 05 c1 18 20 00 lea 0x2018c1(%rip),%rax # 202010 <__TMC_END__> 74f: 48 39 f8 cmp %rdi,%rax 752: 48 89 e5 mov %rsp,%rbp 755: 74 19 je 770 757: 48 8b 05 7a 18 20 00 mov 0x20187a(%rip),%rax # 201fd8 <_ITM_deregisterTMCloneTable> 75e: 48 85 c0 test %rax,%rax 761: 74 0d je 770 763: 5d pop %rbp 764: ff e0 jmpq *%rax 766: 66 2e 0f 1f 84 00 00 nopw %cs:0x0(%rax,%rax,1) 76d: 00 00 00 770: 5d pop %rbp 771: c3 retq 772: 0f 1f 40 00 nopl 0x0(%rax) 776: 66 2e 0f 1f 84 00 00 nopw %cs:0x0(%rax,%rax,1) 77d: 00 00 00 0000000000000780 : 780: 48 8d 3d 89 18 20 00 lea 0x201889(%rip),%rdi # 202010 <__TMC_END__> 787: 48 8d 35 82 18 20 00 lea 0x201882(%rip),%rsi # 202010 <__TMC_END__> 78e: 55 push %rbp 78f: 48 29 fe sub %rdi,%rsi 792: 48 89 e5 mov %rsp,%rbp 795: 48 c1 fe 03 sar $0x3,%rsi 799: 48 89 f0 mov %rsi,%rax 79c: 48 c1 e8 3f shr $0x3f,%rax 7a0: 48 01 c6 add %rax,%rsi 7a3: 48 d1 fe sar %rsi 7a6: 74 18 je 7c0 7a8: 48 8b 05 41 18 20 00 mov 0x201841(%rip),%rax # 201ff0 <_ITM_registerTMCloneTable> 7af: 48 85 c0 test %rax,%rax 7b2: 74 0c je 7c0 7b4: 5d pop %rbp 7b5: ff e0 jmpq *%rax 7b7: 66 0f 1f 84 00 00 00 nopw 0x0(%rax,%rax,1) 7be: 00 00 7c0: 5d pop %rbp 7c1: c3 retq 7c2: 0f 1f 40 00 nopl 0x0(%rax) 7c6: 66 2e 0f 1f 84 00 00 nopw %cs:0x0(%rax,%rax,1) 7cd: 00 00 00 00000000000007d0 <__do_global_dtors_aux>: 7d0: 80 3d 39 18 20 00 00 cmpb $0x0,0x201839(%rip) # 202010 <__TMC_END__> 7d7: 75 2f jne 808 <__do_global_dtors_aux+0x38> 7d9: 48 83 3d 17 18 20 00 cmpq $0x0,0x201817(%rip) # 201ff8 <__cxa_finalize@GLIBC_2.2.5> 7e0: 00 7e1: 55 push %rbp 7e2: 48 89 e5 mov %rsp,%rbp 7e5: 74 0c je 7f3 <__do_global_dtors_aux+0x23> 7e7: 48 8b 3d 1a 18 20 00 mov 0x20181a(%rip),%rdi # 202008 <__dso_handle> 7ee: e8 0d ff ff ff callq 700 <__cxa_finalize@plt> 7f3: e8 48 ff ff ff callq 740 7f8: c6 05 11 18 20 00 01 movb $0x1,0x201811(%rip) # 202010 <__TMC_END__> 7ff: 5d pop %rbp 800: c3 retq 801: 0f 1f 80 00 00 00 00 nopl 0x0(%rax) 808: f3 c3 repz retq 80a: 66 0f 1f 44 00 00 nopw 0x0(%rax,%rax,1) 0000000000000810 : 810: 55 push %rbp 811: 48 89 e5 mov %rsp,%rbp 814: 5d pop %rbp 815: e9 66 ff ff ff jmpq 780 000000000000081a : 81a: 41 54 push %r12 81c: 55 push %rbp 81d: 53 push %rbx 81e: 41 89 fc mov %edi,%r12d 821: 48 89 f5 mov %rsi,%rbp 824: 48 89 d3 mov %rdx,%rbx 827: bf 18 00 00 00 mov $0x18,%edi 82c: e8 9f fe ff ff callq 6d0 831: 44 88 20 mov %r12b,(%rax) 834: 48 89 68 10 mov %rbp,0x10(%rax) 838: 48 89 58 08 mov %rbx,0x8(%rax) 83c: 5b pop %rbx 83d: 5d pop %rbp 83e: 41 5c pop %r12 840: c3 retq 0000000000000841 : 841: 53 push %rbx 842: ba 00 00 00 00 mov $0x0,%edx 847: be 00 00 00 00 mov $0x0,%esi 84c: bf 65 00 00 00 mov $0x65,%edi 851: e8 c4 ff ff ff callq 81a 856: 48 89 c3 mov %rax,%rbx 859: ba 00 00 00 00 mov $0x0,%edx 85e: be 00 00 00 00 mov $0x0,%esi 863: bf 64 00 00 00 mov $0x64,%edi 868: e8 ad ff ff ff callq 81a 86d: 48 89 da mov %rbx,%rdx 870: 48 89 c6 mov %rax,%rsi 873: bf 63 00 00 00 mov $0x63,%edi 878: e8 9d ff ff ff callq 81a 87d: 48 89 c3 mov %rax,%rbx 880: ba 00 00 00 00 mov $0x0,%edx 885: be 00 00 00 00 mov $0x0,%esi 88a: bf 62 00 00 00 mov $0x62,%edi 88f: e8 86 ff ff ff callq 81a 894: 48 89 da mov %rbx,%rdx 897: 48 89 c6 mov %rax,%rsi 89a: bf 61 00 00 00 mov $0x61,%edi 89f: e8 76 ff ff ff callq 81a 8a4: 5b pop %rbx 8a5: c3 retq 00000000000008a6 : 8a6: 48 85 ff test %rdi,%rdi 8a9: 75 02 jne 8ad 8ab: f3 c3 repz retq 8ad: 53 push %rbx 8ae: 48 89 fb mov %rdi,%rbx 8b1: 0f be 17 movsbl (%rdi),%edx 8b4: 48 8d 35 59 03 00 00 lea 0x359(%rip),%rsi # c14 <_IO_stdin_used+0x4> 8bb: bf 01 00 00 00 mov $0x1,%edi 8c0: b8 00 00 00 00 mov $0x0,%eax 8c5: e8 16 fe ff ff callq 6e0 <__printf_chk@plt> 8ca: 48 8b 7b 10 mov 0x10(%rbx),%rdi 8ce: e8 d3 ff ff ff callq 8a6 8d3: 48 8b 7b 08 mov 0x8(%rbx),%rdi 8d7: e8 ca ff ff ff callq 8a6 8dc: bf 29 00 00 00 mov $0x29,%edi 8e1: e8 ba fd ff ff callq 6a0 8e6: 5b pop %rbx 8e7: c3 retq 00000000000008e8 : 8e8: 83 ff 01 cmp $0x1,%edi 8eb: 7f 06 jg 8f3 8ed: b8 01 00 00 00 mov $0x1,%eax 8f2: c3 retq 8f3: 55 push %rbp 8f4: 53 push %rbx 8f5: 48 83 ec 08 sub $0x8,%rsp 8f9: 89 fb mov %edi,%ebx 8fb: 8d 7f ff lea -0x1(%rdi),%edi 8fe: e8 e5 ff ff ff callq 8e8 903: 89 c5 mov %eax,%ebp 905: 8d 7b fe lea -0x2(%rbx),%edi 908: e8 db ff ff ff callq 8e8 90d: 01 e8 add %ebp,%eax 90f: 48 83 c4 08 add $0x8,%rsp 913: 5b pop %rbx 914: 5d pop %rbp 915: c3 retq 0000000000000916 : 916: 8b 07 mov (%rdi),%eax 918: 8b 16 mov (%rsi),%edx 91a: 89 17 mov %edx,(%rdi) 91c: 89 06 mov %eax,(%rsi) 91e: c3 retq 000000000000091f : 91f: 41 57 push %r15 921: 41 56 push %r14 923: 41 55 push %r13 925: 41 54 push %r12 927: 55 push %rbp 928: 53 push %rbx 929: 49 89 fe mov %rdi,%r14 92c: 49 89 f5 mov %rsi,%r13 92f: 89 d3 mov %edx,%ebx 931: 41 89 cc mov %ecx,%r12d 934: 45 89 c7 mov %r8d,%r15d 937: 44 89 cd mov %r9d,%ebp 93a: e8 d7 ff ff ff callq 916 93f: 41 0f af 1e imul (%r14),%ebx 943: 89 d8 mov %ebx,%eax 945: 41 03 45 00 add 0x0(%r13),%eax 949: 43 8d 14 64 lea (%r12,%r12,2),%edx 94d: 42 8d 1c ba lea (%rdx,%r15,4),%ebx 951: 8d 54 ad 00 lea 0x0(%rbp,%rbp,4),%edx 955: 01 d3 add %edx,%ebx 957: 8b 74 24 38 mov 0x38(%rsp),%esi 95b: 8d 0c 76 lea (%rsi,%rsi,2),%ecx 95e: 8d 14 09 lea (%rcx,%rcx,1),%edx 961: 01 d3 add %edx,%ebx 963: 01 d8 add %ebx,%eax 965: 5b pop %rbx 966: 5d pop %rbp 967: 41 5c pop %r12 969: 41 5d pop %r13 96b: 41 5e pop %r14 96d: 41 5f pop %r15 96f: c3 retq 0000000000000970 : 970: 48 81 ec 88 00 00 00 sub $0x88,%rsp 977: 64 48 8b 04 25 28 00 mov %fs:0x28,%rax 97e: 00 00 980: 48 89 44 24 78 mov %rax,0x78(%rsp) 985: 31 c0 xor %eax,%eax 987: 66 c7 44 24 0d 25 73 movw $0x7325,0xd(%rsp) 98e: c6 44 24 0f 00 movb $0x0,0xf(%rsp) 993: 48 8d 3d 7f 02 00 00 lea 0x27f(%rip),%rdi # c19 <_IO_stdin_used+0x9> 99a: e8 11 fd ff ff callq 6b0 99f: 48 8d 35 0a 03 00 00 lea 0x30a(%rip),%rsi # cb0 <_IO_stdin_used+0xa0> 9a6: bf 01 00 00 00 mov $0x1,%edi 9ab: b8 00 00 00 00 mov $0x0,%eax 9b0: e8 2b fd ff ff callq 6e0 <__printf_chk@plt> 9b5: 48 8d 74 24 10 lea 0x10(%rsp),%rsi 9ba: 48 8d 7c 24 0d lea 0xd(%rsp),%rdi 9bf: b8 00 00 00 00 mov $0x0,%eax 9c4: e8 27 fd ff ff callq 6f0 <__isoc99_scanf@plt> 9c9: 83 f8 01 cmp $0x1,%eax 9cc: 74 24 je 9f2 9ce: 48 8d 3d 63 02 00 00 lea 0x263(%rip),%rdi # c38 <_IO_stdin_used+0x28> 9d5: e8 d6 fc ff ff callq 6b0 9da: 48 8b 44 24 78 mov 0x78(%rsp),%rax 9df: 64 48 33 04 25 28 00 xor %fs:0x28,%rax 9e6: 00 00 9e8: 75 25 jne a0f 9ea: 48 81 c4 88 00 00 00 add $0x88,%rsp 9f1: c3 retq 9f2: 48 8d 54 24 10 lea 0x10(%rsp),%rdx 9f7: 48 8d 35 28 02 00 00 lea 0x228(%rip),%rsi # c26 <_IO_stdin_used+0x16> 9fe: bf 01 00 00 00 mov $0x1,%edi a03: b8 00 00 00 00 mov $0x0,%eax a08: e8 d3 fc ff ff callq 6e0 <__printf_chk@plt> a0d: eb cb jmp 9da a0f: e8 ac fc ff ff callq 6c0 <__stack_chk_fail@plt> 0000000000000a14 : a14: 48 83 ec 18 sub $0x18,%rsp a18: 64 48 8b 04 25 28 00 mov %fs:0x28,%rax a1f: 00 00 a21: 48 89 44 24 08 mov %rax,0x8(%rsp) a26: 31 c0 xor %eax,%eax a28: c7 04 24 0c 00 00 00 movl $0xc,(%rsp) a2f: c7 44 24 04 22 00 00 movl $0x22,0x4(%rsp) a36: 00 a37: 48 8d 3d 0e 02 00 00 lea 0x20e(%rip),%rdi # c4c <_IO_stdin_used+0x3c> a3e: e8 6d fc ff ff callq 6b0 a43: 41 b9 00 00 00 00 mov $0x0,%r9d a49: 41 b8 05 00 00 00 mov $0x5,%r8d a4f: 8b 4c 24 04 mov 0x4(%rsp),%ecx a53: 8b 14 24 mov (%rsp),%edx a56: 48 8d 35 73 02 00 00 lea 0x273(%rip),%rsi # cd0 <_IO_stdin_used+0xc0> a5d: bf 01 00 00 00 mov $0x1,%edi a62: b8 00 00 00 00 mov $0x0,%eax a67: e8 74 fc ff ff callq 6e0 <__printf_chk@plt> a6c: 8b 04 24 mov (%rsp),%eax a6f: 8d 48 01 lea 0x1(%rax),%ecx a72: 48 8d 74 24 04 lea 0x4(%rsp),%rsi a77: 48 89 e7 mov %rsp,%rdi a7a: 48 83 ec 08 sub $0x8,%rsp a7e: 6a 0d pushq $0xd a80: 41 b9 08 00 00 00 mov $0x8,%r9d a86: 8b 44 24 14 mov 0x14(%rsp),%eax a8a: 44 8d 40 02 lea 0x2(%rax),%r8d a8e: ba 05 00 00 00 mov $0x5,%edx a93: e8 87 fe ff ff callq 91f a98: 41 89 c1 mov %eax,%r9d a9b: 41 b8 05 00 00 00 mov $0x5,%r8d aa1: 8b 4c 24 14 mov 0x14(%rsp),%ecx aa5: 8b 54 24 10 mov 0x10(%rsp),%edx aa9: 48 8d 35 50 02 00 00 lea 0x250(%rip),%rsi # d00 <_IO_stdin_used+0xf0> ab0: bf 01 00 00 00 mov $0x1,%edi ab5: b8 00 00 00 00 mov $0x0,%eax aba: e8 21 fc ff ff callq 6e0 <__printf_chk@plt> abf: 48 83 c4 10 add $0x10,%rsp ac3: 48 8b 44 24 08 mov 0x8(%rsp),%rax ac8: 64 48 33 04 25 28 00 xor %fs:0x28,%rax acf: 00 00 ad1: 75 05 jne ad8 ad3: 48 83 c4 18 add $0x18,%rsp ad7: c3 retq ad8: e8 e3 fb ff ff callq 6c0 <__stack_chk_fail@plt> 0000000000000add : add: 53 push %rbx ade: bf 05 00 00 00 mov $0x5,%edi ae3: e8 00 fe ff ff callq 8e8 ae8: 89 c3 mov %eax,%ebx aea: 48 8d 3d 67 01 00 00 lea 0x167(%rip),%rdi # c58 <_IO_stdin_used+0x48> af1: e8 ba fb ff ff callq 6b0 af6: 89 da mov %ebx,%edx af8: 48 8d 35 65 01 00 00 lea 0x165(%rip),%rsi # c64 <_IO_stdin_used+0x54> aff: bf 01 00 00 00 mov $0x1,%edi b04: b8 00 00 00 00 mov $0x0,%eax b09: e8 d2 fb ff ff callq 6e0 <__printf_chk@plt> b0e: 5b pop %rbx b0f: c3 retq 0000000000000b10 : b10: 48 83 ec 08 sub $0x8,%rsp b14: 48 8d 3d 5b 01 00 00 lea 0x15b(%rip),%rdi # c76 <_IO_stdin_used+0x66> b1b: e8 90 fb ff ff callq 6b0 b20: b8 00 00 00 00 mov $0x0,%eax b25: e8 17 fd ff ff callq 841 b2a: 48 89 c7 mov %rax,%rdi b2d: e8 74 fd ff ff callq 8a6 b32: bf 0a 00 00 00 mov $0xa,%edi b37: e8 64 fb ff ff callq 6a0 b3c: 48 83 c4 08 add $0x8,%rsp b40: c3 retq 0000000000000b41
: b41: 48 83 ec 08 sub $0x8,%rsp b45: 48 8d 3d 36 01 00 00 lea 0x136(%rip),%rdi # c82 <_IO_stdin_used+0x72> b4c: e8 5f fb ff ff callq 6b0 b51: b8 00 00 00 00 mov $0x0,%eax b56: e8 15 fe ff ff callq 970 b5b: b8 00 00 00 00 mov $0x0,%eax b60: e8 af fe ff ff callq a14 b65: b8 00 00 00 00 mov $0x0,%eax b6a: e8 6e ff ff ff callq add b6f: b8 00 00 00 00 mov $0x0,%eax b74: e8 97 ff ff ff callq b10 b79: 48 8d 3d 12 01 00 00 lea 0x112(%rip),%rdi # c92 <_IO_stdin_used+0x82> b80: e8 2b fb ff ff callq 6b0 b85: b8 00 00 00 00 mov $0x0,%eax b8a: 48 83 c4 08 add $0x8,%rsp b8e: c3 retq b8f: 90 nop 0000000000000b90 <__libc_csu_init>: b90: 41 57 push %r15 b92: 41 56 push %r14 b94: 49 89 d7 mov %rdx,%r15 b97: 41 55 push %r13 b99: 41 54 push %r12 b9b: 4c 8d 25 ee 11 20 00 lea 0x2011ee(%rip),%r12 # 201d90 <__frame_dummy_init_array_entry> ba2: 55 push %rbp ba3: 48 8d 2d ee 11 20 00 lea 0x2011ee(%rip),%rbp # 201d98 <__init_array_end> baa: 53 push %rbx bab: 41 89 fd mov %edi,%r13d bae: 49 89 f6 mov %rsi,%r14 bb1: 4c 29 e5 sub %r12,%rbp bb4: 48 83 ec 08 sub $0x8,%rsp bb8: 48 c1 fd 03 sar $0x3,%rbp bbc: e8 af fa ff ff callq 670 <_init> bc1: 48 85 ed test %rbp,%rbp bc4: 74 20 je be6 <__libc_csu_init+0x56> bc6: 31 db xor %ebx,%ebx bc8: 0f 1f 84 00 00 00 00 nopl 0x0(%rax,%rax,1) bcf: 00 bd0: 4c 89 fa mov %r15,%rdx bd3: 4c 89 f6 mov %r14,%rsi bd6: 44 89 ef mov %r13d,%edi bd9: 41 ff 14 dc callq *(%r12,%rbx,8) bdd: 48 83 c3 01 add $0x1,%rbx be1: 48 39 dd cmp %rbx,%rbp be4: 75 ea jne bd0 <__libc_csu_init+0x40> be6: 48 83 c4 08 add $0x8,%rsp bea: 5b pop %rbx beb: 5d pop %rbp bec: 41 5c pop %r12 bee: 41 5d pop %r13 bf0: 41 5e pop %r14 bf2: 41 5f pop %r15 bf4: c3 retq bf5: 90 nop bf6: 66 2e 0f 1f 84 00 00 nopw %cs:0x0(%rax,%rax,1) bfd: 00 00 00 0000000000000c00 <__libc_csu_fini>: c00: f3 c3 repz retq Disassembly of section .fini: 0000000000000c04 <_fini>: c04: 48 83 ec 08 sub $0x8,%rsp c08: 48 83 c4 08 add $0x8,%rsp c0c: c3 retq