daily pastebin goal
72%
SHARE
TWEET

Untitled

a guest Feb 22nd, 2019 81 Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. ~$ objdump -d -S a.out
  2.  
  3. a.out:     file format elf64-x86-64
  4.  
  5.  
  6. Disassembly of section .init:
  7.  
  8. 00000000000006e0 <_init>:
  9.  6e0:   48 83 ec 08             sub    $0x8,%rsp
  10.  6e4:   48 8b 05 fd 18 20 00    mov    0x2018fd(%rip),%rax        # 201fe8 <__gmon_start__>
  11.  6eb:   48 85 c0                test   %rax,%rax
  12.  6ee:   74 02                   je     6f2 <_init+0x12>
  13.  6f0:   ff d0                   callq  *%rax
  14.  6f2:   48 83 c4 08             add    $0x8,%rsp
  15.  6f6:   c3                      retq
  16.  
  17. Disassembly of section .plt:
  18.  
  19. 0000000000000700 <.plt>:
  20.  700:   ff 35 7a 18 20 00       pushq  0x20187a(%rip)        # 201f80 <_GLOBAL_OFFSET_TABLE_+0x8>
  21.  706:   ff 25 7c 18 20 00       jmpq   *0x20187c(%rip)        # 201f88 <_GLOBAL_OFFSET_TABLE_+0x10>
  22.  70c:   0f 1f 40 00             nopl   0x0(%rax)
  23.  
  24. 0000000000000710 <puts@plt>:
  25.  710:   ff 25 7a 18 20 00       jmpq   *0x20187a(%rip)        # 201f90 <puts@GLIBC_2.2.5>
  26.  716:   68 00 00 00 00          pushq  $0x0
  27.  71b:   e9 e0 ff ff ff          jmpq   700 <.plt>
  28.  
  29. 0000000000000720 <pathconf@plt>:
  30.  720:   ff 25 72 18 20 00       jmpq   *0x201872(%rip)        # 201f98 <pathconf@GLIBC_2.2.5>
  31.  726:   68 01 00 00 00          pushq  $0x1
  32.  72b:   e9 d0 ff ff ff          jmpq   700 <.plt>
  33.  
  34. 0000000000000730 <printf@plt>:
  35.  730:   ff 25 6a 18 20 00       jmpq   *0x20186a(%rip)        # 201fa0 <printf@GLIBC_2.2.5>
  36.  736:   68 02 00 00 00          pushq  $0x2
  37.  73b:   e9 c0 ff ff ff          jmpq   700 <.plt>
  38.  
  39. 0000000000000740 <getcwd@plt>:
  40.  740:   ff 25 62 18 20 00       jmpq   *0x201862(%rip)        # 201fa8 <getcwd@GLIBC_2.2.5>
  41.  746:   68 03 00 00 00          pushq  $0x3
  42.  74b:   e9 b0 ff ff ff          jmpq   700 <.plt>
  43.  
  44. 0000000000000750 <read@plt>:
  45.  750:   ff 25 5a 18 20 00       jmpq   *0x20185a(%rip)        # 201fb0 <read@GLIBC_2.2.5>
  46.  756:   68 04 00 00 00          pushq  $0x4
  47.  75b:   e9 a0 ff ff ff          jmpq   700 <.plt>
  48.  
  49. 0000000000000760 <inotify_init@plt>:
  50.  760:   ff 25 52 18 20 00       jmpq   *0x201852(%rip)        # 201fb8 <inotify_init@GLIBC_2.4>
  51.  766:   68 05 00 00 00          pushq  $0x5
  52.  76b:   e9 90 ff ff ff          jmpq   700 <.plt>
  53.  
  54. 0000000000000770 <malloc@plt>:
  55.  770:   ff 25 4a 18 20 00       jmpq   *0x20184a(%rip)        # 201fc0 <malloc@GLIBC_2.2.5>
  56.  776:   68 06 00 00 00          pushq  $0x6
  57.  77b:   e9 80 ff ff ff          jmpq   700 <.plt>
  58.  
  59. 0000000000000780 <inotify_add_watch@plt>:
  60.  780:   ff 25 42 18 20 00       jmpq   *0x201842(%rip)        # 201fc8 <inotify_add_watch@GLIBC_2.4>
  61.  786:   68 07 00 00 00          pushq  $0x7
  62.  78b:   e9 70 ff ff ff          jmpq   700 <.plt>
  63.  
  64. 0000000000000790 <exit@plt>:
  65.  790:   ff 25 3a 18 20 00       jmpq   *0x20183a(%rip)        # 201fd0 <exit@GLIBC_2.2.5>
  66.  796:   68 08 00 00 00          pushq  $0x8
  67.  79b:   e9 60 ff ff ff          jmpq   700 <.plt>
  68.  
  69. Disassembly of section .plt.got:
  70.  
  71. 00000000000007a0 <__cxa_finalize@plt>:
  72.  7a0:   ff 25 52 18 20 00       jmpq   *0x201852(%rip)        # 201ff8 <__cxa_finalize@GLIBC_2.2.5>
  73.  7a6:   66 90                   xchg   %ax,%ax
  74.  
  75. Disassembly of section .text:
  76.  
  77. 00000000000007b0 <_start>:
  78.  7b0:   31 ed                   xor    %ebp,%ebp
  79.  7b2:   49 89 d1                mov    %rdx,%r9
  80.  7b5:   5e                      pop    %rsi
  81.  7b6:   48 89 e2                mov    %rsp,%rdx
  82.  7b9:   48 83 e4 f0             and    $0xfffffffffffffff0,%rsp
  83.  7bd:   50                      push   %rax
  84.  7be:   54                      push   %rsp
  85.  7bf:   4c 8d 05 1a 04 00 00    lea    0x41a(%rip),%r8        # be0 <__libc_csu_fini>
  86.  7c6:   48 8d 0d a3 03 00 00    lea    0x3a3(%rip),%rcx        # b70 <__libc_csu_init>
  87.  7cd:   48 8d 3d e6 00 00 00    lea    0xe6(%rip),%rdi        # 8ba <main>
  88.  7d4:   ff 15 06 18 20 00       callq  *0x201806(%rip)        # 201fe0 <__libc_start_main@GLIBC_2.2.5>
  89.  7da:   f4                      hlt
  90.  7db:   0f 1f 44 00 00          nopl   0x0(%rax,%rax,1)
  91.  
  92. 00000000000007e0 <deregister_tm_clones>:
  93.  7e0:   48 8d 3d 29 18 20 00    lea    0x201829(%rip),%rdi        # 202010 <__TMC_END__>
  94.  7e7:   55                      push   %rbp
  95.  7e8:   48 8d 05 21 18 20 00    lea    0x201821(%rip),%rax        # 202010 <__TMC_END__>
  96.  7ef:   48 39 f8                cmp    %rdi,%rax
  97.  7f2:   48 89 e5                mov    %rsp,%rbp
  98.  7f5:   74 19                   je     810 <deregister_tm_clones+0x30>
  99.  7f7:   48 8b 05 da 17 20 00    mov    0x2017da(%rip),%rax        # 201fd8 <_ITM_deregisterTMCloneTable>
  100.  7fe:   48 85 c0                test   %rax,%rax
  101.  801:   74 0d                   je     810 <deregister_tm_clones+0x30>
  102.  803:   5d                      pop    %rbp
  103.  804:   ff e0                   jmpq   *%rax
  104.  806:   66 2e 0f 1f 84 00 00    nopw   %cs:0x0(%rax,%rax,1)
  105.  80d:   00 00 00
  106.  810:   5d                      pop    %rbp
  107.  811:   c3                      retq
  108.  812:   0f 1f 40 00             nopl   0x0(%rax)
  109.  816:   66 2e 0f 1f 84 00 00    nopw   %cs:0x0(%rax,%rax,1)
  110.  81d:   00 00 00
  111.  
  112. 0000000000000820 <register_tm_clones>:
  113.  820:   48 8d 3d e9 17 20 00    lea    0x2017e9(%rip),%rdi        # 202010 <__TMC_END__>
  114.  827:   48 8d 35 e2 17 20 00    lea    0x2017e2(%rip),%rsi        # 202010 <__TMC_END__>
  115.  82e:   55                      push   %rbp
  116.  82f:   48 29 fe                sub    %rdi,%rsi
  117.  832:   48 89 e5                mov    %rsp,%rbp
  118.  835:   48 c1 fe 03             sar    $0x3,%rsi
  119.  839:   48 89 f0                mov    %rsi,%rax
  120.  83c:   48 c1 e8 3f             shr    $0x3f,%rax
  121.  840:   48 01 c6                add    %rax,%rsi
  122.  843:   48 d1 fe                sar    %rsi
  123.  846:   74 18                   je     860 <register_tm_clones+0x40>
  124.  848:   48 8b 05 a1 17 20 00    mov    0x2017a1(%rip),%rax        # 201ff0 <_ITM_registerTMCloneTable>
  125.  84f:   48 85 c0                test   %rax,%rax
  126.  852:   74 0c                   je     860 <register_tm_clones+0x40>
  127.  854:   5d                      pop    %rbp
  128.  855:   ff e0                   jmpq   *%rax
  129.  857:   66 0f 1f 84 00 00 00    nopw   0x0(%rax,%rax,1)
  130.  85e:   00 00
  131.  860:   5d                      pop    %rbp
  132.  861:   c3                      retq
  133.  862:   0f 1f 40 00             nopl   0x0(%rax)
  134.  866:   66 2e 0f 1f 84 00 00    nopw   %cs:0x0(%rax,%rax,1)
  135.  86d:   00 00 00
  136.  
  137. 0000000000000870 <__do_global_dtors_aux>:
  138.  870:   80 3d 99 17 20 00 00    cmpb   $0x0,0x201799(%rip)        # 202010 <__TMC_END__>
  139.  877:   75 2f                   jne    8a8 <__do_global_dtors_aux+0x38>
  140.  879:   48 83 3d 77 17 20 00    cmpq   $0x0,0x201777(%rip)        # 201ff8 <__cxa_finalize@GLIBC_2.2.5>
  141.  880:   00
  142.  881:   55                      push   %rbp
  143.  882:   48 89 e5                mov    %rsp,%rbp
  144.  885:   74 0c                   je     893 <__do_global_dtors_aux+0x23>
  145.  887:   48 8b 3d 7a 17 20 00    mov    0x20177a(%rip),%rdi        # 202008 <__dso_handle>
  146.  88e:   e8 0d ff ff ff          callq  7a0 <__cxa_finalize@plt>
  147.  893:   e8 48 ff ff ff          callq  7e0 <deregister_tm_clones>
  148.  898:   c6 05 71 17 20 00 01    movb   $0x1,0x201771(%rip)        # 202010 <__TMC_END__>
  149.  89f:   5d                      pop    %rbp
  150.  8a0:   c3                      retq
  151.  8a1:   0f 1f 80 00 00 00 00    nopl   0x0(%rax)
  152.  8a8:   f3 c3                   repz retq
  153.  8aa:   66 0f 1f 44 00 00       nopw   0x0(%rax,%rax,1)
  154.  
  155. 00000000000008b0 <frame_dummy>:
  156.  8b0:   55                      push   %rbp
  157.  8b1:   48 89 e5                mov    %rsp,%rbp
  158.  8b4:   5d                      pop    %rbp
  159.  8b5:   e9 66 ff ff ff          jmpq   820 <register_tm_clones>
  160.  
  161. 00000000000008ba <main>:
  162. #include <string.h>
  163. #define EVENT_SIZE  ( sizeof (struct inotify_event) )
  164. #define EVENT_BUF_LEN     ( 1024 * ( EVENT_SIZE + 16 ) )
  165. #define BUF_LEN (10 * (sizeof(struct inotify_event) + NAME_MAX + 1))
  166.  
  167. int main(){
  168.  8ba:   55                      push   %rbp
  169.  8bb:   48 89 e5                mov    %rsp,%rbp
  170.  8be:   48 81 ec 00 0b 00 00    sub    $0xb00,%rsp
  171.  8c5:   64 48 8b 04 25 28 00    mov    %fs:0x28,%rax
  172.  8cc:   00 00
  173.  8ce:   48 89 45 f8             mov    %rax,-0x8(%rbp)
  174.  8d2:   31 c0                   xor    %eax,%eax
  175.   char *bufPtr, *bufPtr2;
  176.   ssize_t numRead;
  177.   char buf[BUF_LEN] __attribute__ ((aligned(8)));
  178.   struct inotify_event* event;
  179.   char *p;
  180.   int      inotifyFd = inotify_init();
  181.  8d4:   e8 87 fe ff ff          callq  760 <inotify_init@plt>
  182.  8d9:   89 85 04 f5 ff ff       mov    %eax,-0xafc(%rbp)
  183.   printf("inotify started\n");
  184.  8df:   48 8d 3d 12 03 00 00    lea    0x312(%rip),%rdi        # bf8 <_IO_stdin_used+0x8>
  185.  8e6:   e8 25 fe ff ff          callq  710 <puts@plt>
  186.   long size = pathconf(".", _PC_PATH_MAX);
  187.  8eb:   be 04 00 00 00          mov    $0x4,%esi
  188.  8f0:   48 8d 3d 11 03 00 00    lea    0x311(%rip),%rdi        # c08 <_IO_stdin_used+0x18>
  189.  8f7:   e8 24 fe ff ff          callq  720 <pathconf@plt>
  190.  8fc:   48 89 85 18 f5 ff ff    mov    %rax,-0xae8(%rbp)
  191.   if ((bufPtr = (char *)malloc((size_t)size)) != NULL){
  192.  903:   48 8b 85 18 f5 ff ff    mov    -0xae8(%rbp),%rax
  193.  90a:   48 89 c7                mov    %rax,%rdi
  194.  90d:   e8 5e fe ff ff          callq  770 <malloc@plt>
  195.  912:   48 89 85 20 f5 ff ff    mov    %rax,-0xae0(%rbp)
  196.  919:   48 83 bd 20 f5 ff ff    cmpq   $0x0,-0xae0(%rbp)
  197.  920:   00
  198.  921:   74 20                   je     943 <main+0x89>
  199.     ptr = getcwd(bufPtr, (size_t)size);
  200.  923:   48 8b 95 18 f5 ff ff    mov    -0xae8(%rbp),%rdx
  201.  92a:   48 8b 85 20 f5 ff ff    mov    -0xae0(%rbp),%rax
  202.  931:   48 89 d6                mov    %rdx,%rsi
  203.  934:   48 89 c7                mov    %rax,%rdi
  204.  937:   e8 04 fe ff ff          callq  740 <getcwd@plt>
  205.  93c:   48 89 85 28 f5 ff ff    mov    %rax,-0xad8(%rbp)
  206.   }
  207.   printf("added notify to %s\n", bufPtr);
  208.  943:   48 8b 85 20 f5 ff ff    mov    -0xae0(%rbp),%rax
  209.  94a:   48 89 c6                mov    %rax,%rsi
  210.  94d:   48 8d 3d b6 02 00 00    lea    0x2b6(%rip),%rdi        # c0a <_IO_stdin_used+0x1a>
  211.  954:   b8 00 00 00 00          mov    $0x0,%eax
  212.  959:   e8 d2 fd ff ff          callq  730 <printf@plt>
  213.   size = pathconf("..", _PC_PATH_MAX);
  214.  95e:   be 04 00 00 00          mov    $0x4,%esi
  215.  963:   48 8d 3d b4 02 00 00    lea    0x2b4(%rip),%rdi        # c1e <_IO_stdin_used+0x2e>
  216.  96a:   e8 b1 fd ff ff          callq  720 <pathconf@plt>
  217.  96f:   48 89 85 18 f5 ff ff    mov    %rax,-0xae8(%rbp)
  218.   if ((bufPtr2 = (char *)malloc((size_t)size+3)) != NULL){
  219.  976:   48 8b 85 18 f5 ff ff    mov    -0xae8(%rbp),%rax
  220.  97d:   48 83 c0 03             add    $0x3,%rax
  221.  981:   48 89 c7                mov    %rax,%rdi
  222.  984:   e8 e7 fd ff ff          callq  770 <malloc@plt>
  223.  989:   48 89 85 30 f5 ff ff    mov    %rax,-0xad0(%rbp)
  224.  990:   48 83 bd 30 f5 ff ff    cmpq   $0x0,-0xad0(%rbp)
  225.  997:   00
  226.  998:   74 4d                   je     9e7 <main+0x12d>
  227.     ptr2 = strcat(getcwd(bufPtr2, (size_t)size), "/..");
  228.  99a:   48 8b 95 18 f5 ff ff    mov    -0xae8(%rbp),%rdx
  229.  9a1:   48 8b 85 30 f5 ff ff    mov    -0xad0(%rbp),%rax
  230.  9a8:   48 89 d6                mov    %rdx,%rsi
  231.  9ab:   48 89 c7                mov    %rax,%rdi
  232.  9ae:   e8 8d fd ff ff          callq  740 <getcwd@plt>
  233.  9b3:   48 89 c2                mov    %rax,%rdx
  234.  9b6:   48 89 d0                mov    %rdx,%rax
  235.  9b9:   48 c7 c1 ff ff ff ff    mov    $0xffffffffffffffff,%rcx
  236.  9c0:   48 89 c6                mov    %rax,%rsi
  237.  9c3:   b8 00 00 00 00          mov    $0x0,%eax
  238.  9c8:   48 89 f7                mov    %rsi,%rdi
  239.  9cb:   f2 ae                   repnz scas %es:(%rdi),%al
  240.  9cd:   48 89 c8                mov    %rcx,%rax
  241.  9d0:   48 f7 d0                not    %rax
  242.  9d3:   48 83 e8 01             sub    $0x1,%rax
  243.  9d7:   48 01 d0                add    %rdx,%rax
  244.  9da:   c7 00 2f 2e 2e 00       movl   $0x2e2e2f,(%rax)
  245.  9e0:   48 89 95 38 f5 ff ff    mov    %rdx,-0xac8(%rbp)
  246.   }
  247.   printf("added notify to %s\n", bufPtr2);
  248.  9e7:   48 8b 85 30 f5 ff ff    mov    -0xad0(%rbp),%rax
  249.  9ee:   48 89 c6                mov    %rax,%rsi
  250.  9f1:   48 8d 3d 12 02 00 00    lea    0x212(%rip),%rdi        # c0a <_IO_stdin_used+0x1a>
  251.  9f8:   b8 00 00 00 00          mov    $0x0,%eax
  252.  9fd:   e8 2e fd ff ff          callq  730 <printf@plt>
  253.   int wd = inotify_add_watch( inotifyFd, bufPtr, IN_ALL_EVENTS );
  254.  a02:   48 8b 8d 20 f5 ff ff    mov    -0xae0(%rbp),%rcx
  255.  a09:   8b 85 04 f5 ff ff       mov    -0xafc(%rbp),%eax
  256.  a0f:   ba ff 0f 00 00          mov    $0xfff,%edx
  257.  a14:   48 89 ce                mov    %rcx,%rsi
  258.  a17:   89 c7                   mov    %eax,%edi
  259.  a19:   e8 62 fd ff ff          callq  780 <inotify_add_watch@plt>
  260.  a1e:   89 85 08 f5 ff ff       mov    %eax,-0xaf8(%rbp)
  261.  
  262.   int wd2 = inotify_add_watch( inotifyFd, bufPtr2, IN_ALL_EVENTS );
  263.  a24:   48 8b 8d 30 f5 ff ff    mov    -0xad0(%rbp),%rcx
  264.  a2b:   8b 85 04 f5 ff ff       mov    -0xafc(%rbp),%eax
  265.  a31:   ba ff 0f 00 00          mov    $0xfff,%edx
  266.  a36:   48 89 ce                mov    %rcx,%rsi
  267.  a39:   89 c7                   mov    %eax,%edi
  268.  a3b:   e8 40 fd ff ff          callq  780 <inotify_add_watch@plt>
  269.  a40:   89 85 0c f5 ff ff       mov    %eax,-0xaf4(%rbp)
  270.  
  271.   for(;;){
  272.     numRead = read(inotifyFd, buf, BUF_LEN);
  273.  a46:   48 8d 8d 50 f5 ff ff    lea    -0xab0(%rbp),%rcx
  274.  a4d:   8b 85 04 f5 ff ff       mov    -0xafc(%rbp),%eax
  275.  a53:   ba a0 0a 00 00          mov    $0xaa0,%edx
  276.  a58:   48 89 ce                mov    %rcx,%rsi
  277.  a5b:   89 c7                   mov    %eax,%edi
  278.  a5d:   e8 ee fc ff ff          callq  750 <read@plt>
  279.  a62:   48 89 85 40 f5 ff ff    mov    %rax,-0xac0(%rbp)
  280.     if (numRead == 0){
  281.  a69:   48 83 bd 40 f5 ff ff    cmpq   $0x0,-0xac0(%rbp)
  282.  a70:   00
  283.  a71:   75 16                   jne    a89 <main+0x1cf>
  284.       printf("read() from inotify fd returned 0!\n");
  285.  a73:   48 8d 3d ae 01 00 00    lea    0x1ae(%rip),%rdi        # c28 <_IO_stdin_used+0x38>
  286.  a7a:   e8 91 fc ff ff          callq  710 <puts@plt>
  287.       exit(1);
  288.  a7f:   bf 01 00 00 00          mov    $0x1,%edi
  289.  a84:   e8 07 fd ff ff          callq  790 <exit@plt>
  290.     }
  291.  
  292.     for (p = buf; p < buf + numRead; ) {
  293.  a89:   48 8d 85 50 f5 ff ff    lea    -0xab0(%rbp),%rax
  294.  a90:   48 89 85 10 f5 ff ff    mov    %rax,-0xaf0(%rbp)
  295.  a97:   e9 ab 00 00 00          jmpq   b47 <main+0x28d>
  296.       event = (struct inotify_event *) p;
  297.  a9c:   48 8b 85 10 f5 ff ff    mov    -0xaf0(%rbp),%rax
  298.  aa3:   48 89 85 48 f5 ff ff    mov    %rax,-0xab8(%rbp)
  299.       if(event->wd == wd){
  300.  aaa:   48 8b 85 48 f5 ff ff    mov    -0xab8(%rbp),%rax
  301.  ab1:   8b 00                   mov    (%rax),%eax
  302.  ab3:   39 85 08 f5 ff ff       cmp    %eax,-0xaf8(%rbp)
  303.  ab9:   75 33                   jne    aee <main+0x234>
  304.       if(event->mask & IN_OPEN){
  305.  abb:   48 8b 85 48 f5 ff ff    mov    -0xab8(%rbp),%rax
  306.  ac2:   8b 40 04                mov    0x4(%rax),%eax
  307.  ac5:   83 e0 20                and    $0x20,%eax
  308.  ac8:   85 c0                   test   %eax,%eax
  309.  aca:   74 64                   je     b30 <main+0x276>
  310.         printf("event from current directory: %d\n", event->mask & IN_OPEN);
  311.  acc:   48 8b 85 48 f5 ff ff    mov    -0xab8(%rbp),%rax
  312.  ad3:   8b 40 04                mov    0x4(%rax),%eax
  313.  ad6:   83 e0 20                and    $0x20,%eax
  314.  ad9:   89 c6                   mov    %eax,%esi
  315.  adb:   48 8d 3d 6e 01 00 00    lea    0x16e(%rip),%rdi        # c50 <_IO_stdin_used+0x60>
  316.  ae2:   b8 00 00 00 00          mov    $0x0,%eax
  317.  ae7:   e8 44 fc ff ff          callq  730 <printf@plt>
  318.  aec:   eb 42                   jmp    b30 <main+0x276>
  319.  
  320.       }
  321.       }
  322.       else if(event->wd == wd2){
  323.  aee:   48 8b 85 48 f5 ff ff    mov    -0xab8(%rbp),%rax
  324.  af5:   8b 00                   mov    (%rax),%eax
  325.  af7:   39 85 0c f5 ff ff       cmp    %eax,-0xaf4(%rbp)
  326.  afd:   75 31                   jne    b30 <main+0x276>
  327.       if(event->mask & IN_OPEN){
  328.  aff:   48 8b 85 48 f5 ff ff    mov    -0xab8(%rbp),%rax
  329.  b06:   8b 40 04                mov    0x4(%rax),%eax
  330.  b09:   83 e0 20                and    $0x20,%eax
  331.  b0c:   85 c0                   test   %eax,%eax
  332.  b0e:   74 20                   je     b30 <main+0x276>
  333.         printf("event from parent: %d\n", event->mask & IN_OPEN);
  334.  b10:   48 8b 85 48 f5 ff ff    mov    -0xab8(%rbp),%rax
  335.  b17:   8b 40 04                mov    0x4(%rax),%eax
  336.  b1a:   83 e0 20                and    $0x20,%eax
  337.  b1d:   89 c6                   mov    %eax,%esi
  338.  b1f:   48 8d 3d 4c 01 00 00    lea    0x14c(%rip),%rdi        # c72 <_IO_stdin_used+0x82>
  339.  b26:   b8 00 00 00 00          mov    $0x0,%eax
  340.  b2b:   e8 00 fc ff ff          callq  730 <printf@plt>
  341.  
  342.       }
  343.       }
  344.       p += sizeof(struct inotify_event) + event->len;
  345.  b30:   48 8b 85 48 f5 ff ff    mov    -0xab8(%rbp),%rax
  346.  b37:   8b 40 0c                mov    0xc(%rax),%eax
  347.  b3a:   89 c0                   mov    %eax,%eax
  348.  b3c:   48 83 c0 10             add    $0x10,%rax
  349.  b40:   48 01 85 10 f5 ff ff    add    %rax,-0xaf0(%rbp)
  350.     for (p = buf; p < buf + numRead; ) {
  351.  b47:   48 8b 85 40 f5 ff ff    mov    -0xac0(%rbp),%rax
  352.  b4e:   48 8d 95 50 f5 ff ff    lea    -0xab0(%rbp),%rdx
  353.  b55:   48 01 d0                add    %rdx,%rax
  354.  b58:   48 39 85 10 f5 ff ff    cmp    %rax,-0xaf0(%rbp)
  355.  b5f:   0f 82 37 ff ff ff       jb     a9c <main+0x1e2>
  356.     numRead = read(inotifyFd, buf, BUF_LEN);
  357.  b65:   e9 dc fe ff ff          jmpq   a46 <main+0x18c>
  358.  b6a:   66 0f 1f 44 00 00       nopw   0x0(%rax,%rax,1)
  359.  
  360. 0000000000000b70 <__libc_csu_init>:
  361.  b70:   41 57                   push   %r15
  362.  b72:   41 56                   push   %r14
  363.  b74:   49 89 d7                mov    %rdx,%r15
  364.  b77:   41 55                   push   %r13
  365.  b79:   41 54                   push   %r12
  366.  b7b:   4c 8d 25 f6 11 20 00    lea    0x2011f6(%rip),%r12        # 201d78 <__frame_dummy_init_array_entry>
  367.  b82:   55                      push   %rbp
  368.  b83:   48 8d 2d f6 11 20 00    lea    0x2011f6(%rip),%rbp        # 201d80 <__init_array_end>
  369.  b8a:   53                      push   %rbx
  370.  b8b:   41 89 fd                mov    %edi,%r13d
  371.  b8e:   49 89 f6                mov    %rsi,%r14
  372.  b91:   4c 29 e5                sub    %r12,%rbp
  373.  b94:   48 83 ec 08             sub    $0x8,%rsp
  374.  b98:   48 c1 fd 03             sar    $0x3,%rbp
  375.  b9c:   e8 3f fb ff ff          callq  6e0 <_init>
  376.  ba1:   48 85 ed                test   %rbp,%rbp
  377.  ba4:   74 20                   je     bc6 <__libc_csu_init+0x56>
  378.  ba6:   31 db                   xor    %ebx,%ebx
  379.  ba8:   0f 1f 84 00 00 00 00    nopl   0x0(%rax,%rax,1)
  380.  baf:   00
  381.  bb0:   4c 89 fa                mov    %r15,%rdx
  382.  bb3:   4c 89 f6                mov    %r14,%rsi
  383.  bb6:   44 89 ef                mov    %r13d,%edi
  384.  bb9:   41 ff 14 dc             callq  *(%r12,%rbx,8)
  385.  bbd:   48 83 c3 01             add    $0x1,%rbx
  386.  bc1:   48 39 dd                cmp    %rbx,%rbp
  387.  bc4:   75 ea                   jne    bb0 <__libc_csu_init+0x40>
  388.  bc6:   48 83 c4 08             add    $0x8,%rsp
  389.  bca:   5b                      pop    %rbx
  390.  bcb:   5d                      pop    %rbp
  391.  bcc:   41 5c                   pop    %r12
  392.  bce:   41 5d                   pop    %r13
  393.  bd0:   41 5e                   pop    %r14
  394.  bd2:   41 5f                   pop    %r15
  395.  bd4:   c3                      retq
  396.  bd5:   90                      nop
  397.  bd6:   66 2e 0f 1f 84 00 00    nopw   %cs:0x0(%rax,%rax,1)
  398.  bdd:   00 00 00
  399.  
  400. 0000000000000be0 <__libc_csu_fini>:
  401.  be0:   f3 c3                   repz retq
  402.  
  403. Disassembly of section .fini:
  404.  
  405. 0000000000000be4 <_fini>:
  406.  be4:   48 83 ec 08             sub    $0x8,%rsp
  407.  be8:   48 83 c4 08             add    $0x8,%rsp
  408.  bec:   c3                      retq
RAW Paste Data
We use cookies for various purposes including analytics. By continuing to use Pastebin, you agree to our use of cookies as described in the Cookies Policy. OK, I Understand
 
Top