Facebook
From Mustard Marmoset, 7 Years ago, written in C++.
Embed
Download Paste or View Raw
Hits: 330
  1.  
  2. f15:     file format elf64-x86-64
  3.  
  4.  
  5. Disassembly of section .init:
  6.  
  7. 0000000000400468 <_init>:
  8.   400468:       48 83 ec 08             sub    $0x8,%rsp
  9.   40046c:       e8 8b 00 00 00          callq  4004fc <call_gmon_start>
  10.   400471:       e8 1a 01 00 00          callq  400590 <frame_dummy>
  11.   400476:       e8 a5 02 00 00          callq  400720 <__do_global_ctors_aux>
  12.   40047b:       48 83 c4 08             add    $0x8,%rsp
  13.   40047f:       c3                      retq  
  14.  
  15. Disassembly of section .plt:
  16.  
  17. 0000000000400480 <printf@plt-0x10>:
  18.   400480:       ff 35 6a 0b 20 00       pushq  0x200b6a(%rip)        # 600ff0 <_GLOBAL_OFFSET_TABLE_+0x8>
  19.   400486:       ff 25 6c 0b 20 00       jmpq   *0x200b6c(%rip)        # 600ff8 <_GLOBAL_OFFSET_TABLE_+0x10>
  20.   40048c:       0f 1f 40 00             nopl   0x0(%rax)
  21.  
  22. 0000000000400490 <printf@plt>:
  23.   400490:       ff 25 6a 0b 20 00       jmpq   *0x200b6a(%rip)        # 601000 <_GLOBAL_OFFSET_TABLE_+0x18>
  24.   400496:       68 00 00 00 00          pushq  $0x0
  25.   40049b:       e9 e0 ff ff ff          jmpq   400480 <_init+0x18>
  26.  
  27. 00000000004004a0 <putchar@plt>:
  28.   4004a0:       ff 25 62 0b 20 00       jmpq   *0x200b62(%rip)        # 601008 <_GLOBAL_OFFSET_TABLE_+0x20>
  29.   4004a6:       68 01 00 00 00          pushq  $0x1
  30.   4004ab:       e9 d0 ff ff ff          jmpq   400480 <_init+0x18>
  31.  
  32. 00000000004004b0 <__libc_start_main@plt>:
  33.   4004b0:       ff 25 5a 0b 20 00       jmpq   *0x200b5a(%rip)        # 601010 <_GLOBAL_OFFSET_TABLE_+0x28>
  34.   4004b6:       68 02 00 00 00          pushq  $0x2
  35.   4004bb:       e9 c0 ff ff ff          jmpq   400480 <_init+0x18>
  36.  
  37. 00000000004004c0 <atol@plt>:
  38.   4004c0:       ff 25 52 0b 20 00       jmpq   *0x200b52(%rip)        # 601018 <_GLOBAL_OFFSET_TABLE_+0x30>
  39.   4004c6:       68 03 00 00 00          pushq  $0x3
  40.   4004cb:       e9 b0 ff ff ff          jmpq   400480 <_init+0x18>
  41.  
  42. Disassembly of section .text:
  43.  
  44. 00000000004004d0 <_start>:
  45.   4004d0:       31 ed                   xor    %ebp,%ebp
  46.   4004d2:       49 89 d1                mov    %rdx,%r9
  47.   4004d5:       5e                      pop    %rsi
  48.   4004d6:       48 89 e2                mov    %rsp,%rdx
  49.   4004d9:       48 83 e4 f0             and    $0xfffffffffffffff0,%rsp
  50.   4004dd:       50                      push   %rax
  51.   4004de:       54                      push   %rsp
  52.   4004df:       49 c7 c0 80 06 40 00    mov    $0x400680,%r8
  53.   4004e6:       48 c7 c1 90 06 40 00    mov    $0x400690,%rcx
  54.   4004ed:       48 c7 c7 00 06 40 00    mov    $0x400600,%rdi
  55.   4004f4:       e8 b7 ff ff ff          callq  4004b0 <__libc_start_main@plt>
  56.   4004f9:       f4                      hlt    
  57.   4004fa:       90                      nop
  58.   4004fb:       90                      nop
  59.  
  60. 00000000004004fc <call_gmon_start>:
  61.   4004fc:       48 83 ec 08             sub    $0x8,%rsp
  62.   400500:       48 8b 05 d9 0a 20 00    mov    0x200ad9(%rip),%rax        # 600fe0 <_DYNAMIC+0x1a0>
  63.   400507:       48 85 c0                test   %rax,%rax
  64.   40050a:       74 02                   je     40050e <call_gmon_start+0x12>
  65.   40050c:       ff d0                   callq  *%rax
  66.   40050e:       48 83 c4 08             add    $0x8,%rsp
  67.   400512:       c3                      retq  
  68.   400513:       90                      nop
  69.   400514:       90                      nop
  70.   400515:       90                      nop
  71.   400516:       90                      nop
  72.   400517:       90                      nop
  73.   400518:       90                      nop
  74.   400519:       90                      nop
  75.   40051a:       90                      nop
  76.   40051b:       90                      nop
  77.   40051c:       90                      nop
  78.   40051d:       90                      nop
  79.   40051e:       90                      nop
  80.   40051f:       90                      nop
  81.  
  82. 0000000000400520 <__do_global_dtors_aux>:
  83.   400520:       55                      push   %rbp
  84.   400521:       48 89 e5                mov    %rsp,%rbp
  85.   400524:       53                      push   %rbx
  86.   400525:       48 83 ec 08             sub    $0x8,%rsp
  87.   400529:       80 3d 00 0b 20 00 00    cmpb   $0x0,0x200b00(%rip)        # 601030 <__bss_start>
  88.   400530:       75 4b                   jne    40057d <__do_global_dtors_aux+0x5d>
  89.   400532:       bb 30 0e 60 00          mov    $0x600e30,%ebx
  90.   400537:       48 8b 05 fa 0a 20 00    mov    0x200afa(%rip),%rax        # 601038 <dtor_idx.7384>
  91.   40053e:       48 81 eb 28 0e 60 00    sub    $0x600e28,%rbx
  92.   400545:       48 c1 fb 03             sar    $0x3,%rbx
  93.   400549:       48 83 eb 01             sub    $0x1,%rbx
  94.   40054d:       48 39 d8                cmp    %rbx,%rax
  95.   400550:       73 24                   jae    400576 <__do_global_dtors_aux+0x56>
  96.   400552:       66 0f 1f 44 00 00       nopw   0x0(%rax,%rax,1)
  97.   400558:       48 83 c0 01             add    $0x1,%rax
  98.   40055c:       48 89 05 d5 0a 20 00    mov    %rax,0x200ad5(%rip)        # 601038 <dtor_idx.7384>
  99.   400563:       ff 14 c5 28 0e 60 00    callq  *0x600e28(,%rax,8)
  100.   40056a:       48 8b 05 c7 0a 20 00    mov    0x200ac7(%rip),%rax        # 601038 <dtor_idx.7384>
  101.   400571:       48 39 d8                cmp    %rbx,%rax
  102.   400574:       72 e2                   jb     400558 <__do_global_dtors_aux+0x38>
  103.   400576:       c6 05 b3 0a 20 00 01    movb   $0x1,0x200ab3(%rip)        # 601030 <__bss_start>
  104.   40057d:       48 83 c4 08             add    $0x8,%rsp
  105.   400581:       5b                      pop    %rbx
  106.   400582:       c9                      leaveq
  107.   400583:       c3                      retq  
  108.   400584:       66 66 66 2e 0f 1f 84    data32 data32 nopw %cs:0x0(%rax,%rax,1)
  109.   40058b:       00 00 00 00 00
  110.  
  111. 0000000000400590 <frame_dummy>:
  112.   400590:       55                      push   %rbp
  113.   400591:       48 83 3d 9f 08 20 00    cmpq   $0x0,0x20089f(%rip)        # 600e38 <__JCR_END__>
  114.   400598:       00
  115.   400599:       48 89 e5                mov    %rsp,%rbp
  116.   40059c:       74 12                   je     4005b0 <frame_dummy+0x20>
  117.   40059e:       b8 00 00 00 00          mov    $0x0,%eax
  118.   4005a3:       48 85 c0                test   %rax,%rax
  119.   4005a6:       74 08                   je     4005b0 <frame_dummy+0x20>
  120.   4005a8:       bf 38 0e 60 00          mov    $0x600e38,%edi
  121.   4005ad:       c9                      leaveq
  122.   4005ae:       ff e0                   jmpq   *%rax
  123.   4005b0:       c9                      leaveq
  124.   4005b1:       c3                      retq  
  125.   4005b2:       90                      nop
  126.   4005b3:       90                      nop
  127.   4005b4:       90                      nop
  128.   4005b5:       90                      nop
  129.   4005b6:       90                      nop
  130.   4005b7:       90                      nop
  131.   4005b8:       90                      nop
  132.   4005b9:       90                      nop
  133.   4005ba:       90                      nop
  134.   4005bb:       90                      nop
  135.   4005bc:       90                      nop
  136.   4005bd:       90                      nop
  137.   4005be:       90                      nop
  138.   4005bf:       90                      nop
  139.  
  140. 00000000004005c0 <compute>:
  141.   4005c0:       48 83 ec 08             sub    $0x8,%rsp
  142.   4005c4:       31 c0                   xor    %eax,%eax
  143.   4005c6:       48 85 ff                test   %rdi,%rdi
  144.   4005c9:       74 2e                   je     4005f9 <compute+0x39>
  145.   4005cb:       48 8d 0c bd 00 00 00    lea    0x0(,%rdi,4),%rcx
  146.   4005d2:       00
  147.   4005d3:       48 bf 67 66 66 66 66    movabs $0x6666666666666667,%rdi
  148.   4005da:       66 66 66
  149.   4005dd:       48 89 c8                mov    %rcx,%rax
  150.   4005e0:       48 c1 f9 3f             sar    $0x3f,%rcx
  151.   4005e4:       48 f7 ef                imul   %rdi
  152.   4005e7:       48 89 d7                mov    %rdx,%rdi
  153.   4005ea:       48 d1 ff                sar    %rdi
  154.   4005ed:       48 29 cf                sub    %rcx,%rdi
  155.   4005f0:       e8 cb ff ff ff          callq  4005c0 <compute>
  156.   4005f5:       48 83 c0 01             add    $0x1,%rax
  157.   4005f9:       48 83 c4 08             add    $0x8,%rsp
  158.   4005fd:       c3                      retq  
  159.   4005fe:       90                      nop
  160.   4005ff:       90                      nop
  161.  
  162. 0000000000400600 <main>:
  163.   400600:       55                      push   %rbp
  164.   400601:       48 89 e5                mov    %rsp,%rbp
  165.   400604:       48 83 ec 20             sub    $0x20,%rsp
  166.   400608:       89 7d ec                mov    %edi,-0x14(%rbp)
  167.   40060b:       48 89 75 e0             mov    %rsi,-0x20(%rbp)
  168.   40060f:       48 8b 45 e0             mov    -0x20(%rbp),%rax
  169.   400613:       48 83 c0 08             add    $0x8,%rax
  170.   400617:       48 8b 00                mov    (%rax),%rax
  171.   40061a:       48 89 c7                mov    %rax,%rdi
  172.   40061d:       b8 00 00 00 00          mov    $0x0,%eax
  173.   400622:       e8 99 fe ff ff          callq  4004c0 <atol@plt>
  174.   400627:       48 98                   cltq  
  175.   400629:       48 89 45 f8             mov    %rax,-0x8(%rbp)
  176.   40062d:       48 c7 45 f0 00 00 00    movq   $0x0,-0x10(%rbp)
  177.   400634:       00
  178.   400635:       eb 29                   jmp    400660 <main+0x60>
  179.   400637:       48 8b 45 f0             mov    -0x10(%rbp),%rax
  180.   40063b:       48 89 c7                mov    %rax,%rdi
  181.   40063e:       e8 7d ff ff ff          callq  4005c0 <compute>
  182.   400643:       48 89 c2                mov    %rax,%rdx
  183.   400646:       b8 6c 07 40 00          mov    $0x40076c,%eax
  184.   40064b:       48 89 d6                mov    %rdx,%rsi
  185.   40064e:       48 89 c7                mov    %rax,%rdi
  186.   400651:       b8 00 00 00 00          mov    $0x0,%eax
  187.   400656:       e8 35 fe ff ff          callq  400490 <printf@plt>
  188.   40065b:       48 83 45 f0 01          addq   $0x1,-0x10(%rbp)
  189.   400660:       48 8b 45 f0             mov    -0x10(%rbp),%rax
  190.   400664:       48 3b 45 f8             cmp    -0x8(%rbp),%rax
  191.   400668:       7c cd                   jl     400637 <main+0x37>
  192.   40066a:       bf 0a 00 00 00          mov    $0xa,%edi
  193.   40066f:       e8 2c fe ff ff          callq  4004a0 <putchar@plt>
  194.   400674:       c9                      leaveq
  195.   400675:       c3                      retq  
  196.   400676:       90                      nop
  197.   400677:       90                      nop
  198.   400678:       90                      nop
  199.   400679:       90                      nop
  200.   40067a:       90                      nop
  201.   40067b:       90                      nop
  202.   40067c:       90                      nop
  203.   40067d:       90                      nop
  204.   40067e:       90                      nop
  205.   40067f:       90                      nop
  206.  
  207. 0000000000400680 <__libc_csu_fini>:
  208.   400680:       f3 c3                   repz retq
  209.   400682:       66 66 66 66 66 2e 0f    data32 data32 data32 data32 nopw %cs:0x0(%rax,%rax,1)
  210.   400689:       1f 84 00 00 00 00 00
  211.  
  212. 0000000000400690 <__libc_csu_init>:
  213.   400690:       48 89 6c 24 d8          mov    %rbp,-0x28(%rsp)
  214.   400695:       4c 89 64 24 e0          mov    %r12,-0x20(%rsp)
  215.   40069a:       48 8d 2d 73 07 20 00    lea    0x200773(%rip),%rbp        # 600e14 <__init_array_end>
  216.   4006a1:       4c 8d 25 6c 07 20 00    lea    0x20076c(%rip),%r12        # 600e14 <__init_array_end>
  217.   4006a8:       4c 89 6c 24 e8          mov    %r13,-0x18(%rsp)
  218.   4006ad:       4c 89 74 24 f0          mov    %r14,-0x10(%rsp)
  219.   4006b2:       4c 89 7c 24 f8          mov    %r15,-0x8(%rsp)
  220.   4006b7:       48 89 5c 24 d0          mov    %rbx,-0x30(%rsp)
  221.   4006bc:       48 83 ec 38             sub    $0x38,%rsp
  222.   4006c0:       4c 29 e5                sub    %r12,%rbp
  223.   4006c3:       41 89 fd                mov    %edi,%r13d
  224.   4006c6:       49 89 f6                mov    %rsi,%r14
  225.   4006c9:       48 c1 fd 03             sar    $0x3,%rbp
  226.   4006cd:       49 89 d7                mov    %rdx,%r15
  227.   4006d0:       e8 93 fd ff ff          callq  400468 <_init>
  228.   4006d5:       48 85 ed                test   %rbp,%rbp
  229.   4006d8:       74 1c                   je     4006f6 <__libc_csu_init+0x66>
  230.   4006da:       31 db                   xor    %ebx,%ebx
  231.   4006dc:       0f 1f 40 00             nopl   0x0(%rax)
  232.   4006e0:       4c 89 fa                mov    %r15,%rdx
  233.   4006e3:       4c 89 f6                mov    %r14,%rsi
  234.   4006e6:       44 89 ef                mov    %r13d,%edi
  235.   4006e9:       41 ff 14 dc             callq  *(%r12,%rbx,8)
  236.   4006ed:       48 83 c3 01             add    $0x1,%rbx
  237.   4006f1:       48 39 eb                cmp    %rbp,%rbx
  238.   4006f4:       72 ea                   jb     4006e0 <__libc_csu_init+0x50>
  239.   4006f6:       48 8b 5c 24 08          mov    0x8(%rsp),%rbx
  240.   4006fb:       48 8b 6c 24 10          mov    0x10(%rsp),%rbp
  241.   400700:       4c 8b 64 24 18          mov    0x18(%rsp),%r12
  242.   400705:       4c 8b 6c 24 20          mov    0x20(%rsp),%r13
  243.   40070a:       4c 8b 74 24 28          mov    0x28(%rsp),%r14
  244.   40070f:       4c 8b 7c 24 30          mov    0x30(%rsp),%r15
  245.   400714:       48 83 c4 38             add    $0x38,%rsp
  246.   400718:       c3                      retq  
  247.   400719:       90                      nop
  248.   40071a:       90                      nop
  249.   40071b:       90                      nop
  250.   40071c:       90                      nop
  251.   40071d:       90                      nop
  252.   40071e:       90                      nop
  253.   40071f:       90                      nop
  254.  
  255. 0000000000400720 <__do_global_ctors_aux>:
  256.   400720:       55                      push   %rbp
  257.   400721:       48 89 e5                mov    %rsp,%rbp
  258.   400724:       53                      push   %rbx
  259.   400725:       48 83 ec 08             sub    $0x8,%rsp
  260.   400729:       48 8b 05 e8 06 20 00    mov    0x2006e8(%rip),%rax        # 600e18 <__CTOR_LIST__>
  261.   400730:       48 83 f8 ff             cmp    $0xffffffffffffffff,%rax
  262.   400734:       74 19                   je     40074f <__do_global_ctors_aux+0x2f>
  263.   400736:       bb 18 0e 60 00          mov    $0x600e18,%ebx
  264.   40073b:       0f 1f 44 00 00          nopl   0x0(%rax,%rax,1)
  265.   400740:       48 83 eb 08             sub    $0x8,%rbx
  266.   400744:       ff d0                   callq  *%rax
  267.   400746:       48 8b 03                mov    (%rbx),%rax
  268.   400749:       48 83 f8 ff             cmp    $0xffffffffffffffff,%rax
  269.   40074d:       75 f1                   jne    400740 <__do_global_ctors_aux+0x20>
  270.   40074f:       48 83 c4 08             add    $0x8,%rsp
  271.   400753:       5b                      pop    %rbx
  272.   400754:       c9                      leaveq
  273.   400755:       c3                      retq  
  274.   400756:       90                      nop
  275.   400757:       90                      nop
  276.  
  277. Disassembly of section .fini:
  278.  
  279. 0000000000400758 <_fini>:
  280.   400758:       48 83 ec 08             sub    $0x8,%rsp
  281.   40075c:       e8 bf fd ff ff          callq  400520 <__do_global_dtors_aux>
  282.   400761:       48 83 c4 08             add    $0x8,%rsp
  283.   400765:       c3                      retq  
  284.