[*] Binary protection state of dbus-monitor

  
  	Partial RELRO  No Canary found   NX disabled  No PIE       No RPATH     No RUNPATH   No Symbols


[*] Function fprintf tear down of dbus-monitor

    ; assembly                               | /* r2dec pseudo code output */
                                             | /* /logs/firmware/unblob_extracted/firmware_extract/56048-12514271.gzip_extract/gzip.uncompressed_extract/5243916-15068666.gzip_extract/gzip.uncompressed_extract/usr/bin/dbus-monitor @ 0x11d48 */
                                             | #include <stdint.h>
                                             |  
    ; (fcn) fcn.00011d48 ()                  | void fcn_00011d48 (int32_t arg1, int32_t arg2) {
                                             |     int32_t var_0h;
                                             |     int32_t var_4h;
                                             |     int32_t var_8h;
                                             |     int32_t var_ch;
                                             |     int32_t var_10h;
                                             |     int32_t var_14h;
                                             |     int32_t var_18h;
                                             |     int32_t var_1ch;
                                             |     int32_t var_24h;
                                             |     r0 = arg1;
                                             |     r1 = arg2;
    0x00011d48 ldr r3, [pc, 0x1c]            |     r3 = *(0x11d68);
    0x00011d4c push {r4, lr}                 |     
    0x00011d50 mov r2, r0                    |     r2 = r0;
    0x00011d54 mov r4, r1                    |     r4 = r1;
    0x00011d58 ldr r0, [r3]                  |     r0 = *(0x11d68);
    0x00011d5c ldr r1, [pc, 0xc]             |     r1 = stderr;
    0x00011d60 bl 0x11480                    |     fprintf (r0, r1, r2, r3, r4)
    0x00011d64 mov r0, r4                    |     r0 = r4;
    0x00011d68 bl 0x11468                    |     exit (r0);
                                             |     if (? != ?) {
    0x00011d6c andeq r4, r2, r4, lsr 2       |         r4 = r2 & (r4 >> 2);
                                             |     }
                                             |     if (? != ?) {
    0x00011d70 andeq r2, r1, r0, asr 27      |         r2 = r1 & (r0 >> 27);
                                             |     }
    0x00011d74 push {r4, r5, lr}             |     
    0x00011d78 mov r4, r1                    |     r4 = r1;
    0x00011d7c sub sp, sp, 0x24              |     
    0x00011d80 mov r5, r2                    |     r5 = r2;
    0x00011d84 mov r1, sp                    |     r1 = sp;
    0x00011d88 add r2, sp, 4                 |     r2 += var_4h;
    0x00011d8c mov r0, r4                    |     r0 = r4;
    0x00011d90 bl 0x11438                    |     r0 = dbus_message_marshal ();
    0x00011d94 cmp r0, 0                     |     
                                             |     if (r0 == 0) {
    0x00011d98 bne 0x11da4                   |         
    0x00011d9c ldr r0, [pc, 0xa4]            |         r0 = *(0x11e44);
    0x00011da0 bl 0x12c3c                    |         fcn_00012c3c (r0);
                                             |     }
    0x00011da4 cmp r5, 2                     |     
                                             |     if (r5 != 2) {
    0x00011da8 bne 0x11e08                   |         goto label_1;
                                             |     }
    0x00011dac ldr r3, [sp, 4]               |     r3 = var_4h;
    0x00011db0 mov r2, 0                     |     r2 = 0;
    0x00011db4 add r1, sp, 0xc               |     r1 += var_ch;
    0x00011db8 add r0, sp, 8                 |     r0 += var_8h;
    0x00011dbc str r2, [sp, 0x10]            |     var_10h = r2;
    0x00011dc0 str r2, [sp, 0x14]            |     var_14h = r2;
    0x00011dc4 str r3, [sp, 0x18]            |     var_18h = r3;
    0x00011dc8 str r3, [sp, 0x1c]            |     var_1ch = r3;
    0x00011dcc bl 0x114b0                    |     dbus_get_real_time ();
    0x00011dd0 ldr r3, [sp, 8]               |     r3 = var_8h;
    0x00011dd4 mov r2, 0x10                  |     r2 = 0x10;
    0x00011dd8 str r3, [sp, 0x10]            |     var_10h = r3;
    0x00011ddc ldr r3, [sp, 0xc]             |     r3 = var_ch;
    0x00011de0 add r1, sp, r2                |     r1 = sp + r2;
    0x00011de4 mov r0, 1                     |     r0 = 1;
    0x00011de8 str r3, [sp, 0x14]            |     var_14h = r3;
    0x00011dec bl 0x12c64                    |     r0 = fcn_00012c64 (r0, r1);
    0x00011df0 cmp r0, 0                     |     
    0x00011df4 bne 0x11e08                   |     
                                             |     while (r0 == 0) {
    0x00011df8 ldr r0, [pc, 0x4c]            |         r0 = "retrieving message";
    0x00011dfc bl 0x113fc                    |         perror ("retrieving message");
    0x00011e00 mov r0, 1                     |         r0 = 1;
                                             | label_0:
    0x00011e04 bl 0x11468                    |         exit (r0);
                                             | label_1:
    0x00011e08 ldm sp, {r1, r2}              |         r1 = *(sp);
                                             |         r2 = *((sp + 4));
    0x00011e0c mov r0, 1                     |         r0 = 1;
    0x00011e10 bl 0x12c64                    |         r0 = fcn_00012c64 (r0, r1);
    0x00011e14 cmp r0, 0                     |         
    0x00011e18 beq 0x11df8                   |         
                                             |     }
    0x00011e1c ldr r0, [sp]                  |     r0 = *(sp);
    0x00011e20 bl 0x11558                    |     dbus_free ();
    0x00011e24 ldr r2, [pc, 0x24]            |     r2 = "dbus_monitor:_write";
    0x00011e28 ldr r1, [pc, 0x24]            |     r1 = "Disconnected";
    0x00011e2c mov r0, r4                    |     r0 = r4;
    0x00011e30 bl 0x1130c                    |     r0 = dbus_message_is_signal ();
    0x00011e34 cmp r0, 0                     |     
                                             |     if (r0 != 0) {
    0x00011e38 movne r0, 0                   |         r0 = 0;
                                             |         goto label_2;
                                             |     }
                                             |     if (r0 != 0) {
                                             | label_2:
    0x00011e3c bne 0x11e04                   |         goto label_0;
                                             |     }
    0x00011e40 add sp, sp, 0x24              |     
    0x00011e44 pop {r4, r5, pc}              |     
                                             | }
    ; assembly                                   | /* r2dec pseudo code output */
                                                 | /* /logs/firmware/unblob_extracted/firmware_extract/56048-12514271.gzip_extract/gzip.uncompressed_extract/5243916-15068666.gzip_extract/gzip.uncompressed_extract/usr/bin/dbus-monitor @ 0x12c3c */
                                                 | #include <stdint.h>
                                                 |  
    ; (fcn) fcn.00012c3c ()                      | void fcn_00012c3c (int32_t arg1) {
                                                 |     r0 = arg1;
    0x00012c3c ldr r3, [pc, 0x18]                |     r3 = *(0x12c58);
    0x00012c40 push {r4, lr}                     |     
    0x00012c44 ldr r1, [pc, 0x14]                |     r1 = stderr;
    0x00012c48 mov r2, r0                        |     r2 = r0;
    0x00012c4c ldr r0, [r3]                      |     r0 = *(0x12c58);
    0x00012c50 bl 0x11480                        |     fprintf (r0, r1, r2, r3, r4)
    0x00012c54 mov r0, 1                         |     r0 = 1;
    0x00012c58 bl 0x11468                        |     exit (r0);
                                                 |     if (? != ?) {
    0x00012c5c andeq r4, r2, r4, lsr 2           |         r4 = r2 & (r4 >> 2);
                                                 |     }
                                                 |     /* Beware that this jump is a conditional jump.
                                                 |      * r2dec transformed it as a return, due being the
                                                 |      * last instruction. Please, check 'pdda' output
                                                 |      * for more hints. */
    0x00012c60 andeq r3, r1, r0, asr r5          |     return r3 = r1 & (r0 >> r5);
                                                 | }
    ; assembly                                               | /* r2dec pseudo code output */
                                                             | /* /logs/firmware/unblob_extracted/firmware_extract/56048-12514271.gzip_extract/gzip.uncompressed_extract/5243916-15068666.gzip_extract/gzip.uncompressed_extract/usr/bin/dbus-monitor @ 0x115fc */
                                                             | #include <stdint.h>
                                                             |  
    ; (fcn) main ()                                          | int32_t main (int32_t argc, char ** argv) {
                                                             |     int32_t var_0h;
                                                             |     int32_t var_ch;
                                                             |     void * ptr;
                                                             |     int32_t var_14h;
                                                             |     size_t size;
                                                             |     int32_t var_1ch;
                                                             |     int32_t var_24h;
                                                             |     int32_t var_28h;
                                                             |     int32_t var_2ch;
                                                             |     void * s;
                                                             |     int32_t var_38h_2;
                                                             |     int32_t var_40h;
                                                             |     int32_t var_48h;
                                                             |     int32_t var_80h;
                                                             |     r0 = argc;
                                                             |     r1 = argv;
    0x000115fc push {r4, r5, r6, r7, r8, sb, sl, fp, lr}     |     
    0x00011600 sub sp, sp, 0xbc                              |     
    0x00011604 str r0, [sp, 0x1c]                            |     var_1ch = r0;
    0x00011608 ldr r0, [pc, 0x580]                           |     
    0x0001160c mov r3, 0                                     |     r3 = 0;
    0x00011610 mov r8, r1                                    |     r8 = r1;
    0x00011614 mov r2, 1                                     |     r2 = 1;
    0x00011618 mov r1, r3                                    |     r1 = r3;
    0x0001161c ldr r0, [r0]                                  |     r0 = *(0x11b8c);
    0x00011620 bl 0x112ac                                    |     setvbuf (r0, r1, r2, r3);
    0x00011624 ldr r3, [pc, 0x568]                           |     r3 = stdout;
    0x00011628 mov r4, 0                                     |     r4 = 0;
    0x0001162c mov sb, r4                                    |     sb = r4;
    0x00011630 mov r7, 1                                     |     r7 = 1;
    0x00011634 mov fp, r4                                    |     
    0x00011638 mov r6, r4                                    |     r6 = r4;
    0x0001163c str r4, [sp, 0x10]                            |     ptr = r4;
    0x00011640 str r3, [sp, 0xc]                             |     var_ch = r3;
    0x00011644 str r4, [sp, 0x14]                            |     var_14h = r4;
                                                             | label_1:
    0x00011648 ldr r3, [sp, 0x1c]                            |     r3 = var_1ch;
    0x0001164c cmp r7, r3                                    |     
                                                             |     if (r7 >= r3) {
    0x00011650 blt 0x116ac                                   |         
    0x00011654 add r0, sp, 0x28                              |         r0 += var_28h;
    0x00011658 bl 0x112c4                                    |         dbus_error_init ();
    0x0001165c cmp r6, 0                                     |         
    0x00011660 add r1, sp, 0x28                              |         r1 += var_28h;
                                                             |         if (r6 == 0) {
    0x00011664 beq 0x11888                                   |             goto label_13;
                                                             |         }
    0x00011668 mov r0, r6                                    |         r0 = r6;
    0x0001166c bl 0x11408                                    |         r0 = dbus_connection_open ();
    0x00011670 subs r4, r0, 0                                |         r4 = r0 - 0;
                                                             |         if (r4 == r0) {
    0x00011674 beq 0x118ac                                   |             goto label_14;
                                                             |         }
    0x00011678 add r1, sp, 0x28                              |         r1 += var_28h;
    0x0001167c bl 0x113c0                                    |         r0 = dbus_bus_register ();
    0x00011680 cmp r0, 0                                     |         
                                                             |         if (r0 != 0) {
    0x00011684 bne 0x118bc                                   |             goto label_15;
                                                             |         }
    0x00011688 ldr r3, [sp, 0x2c]                            |         r3 = var_2ch;
    0x0001168c ldr r1, [pc, 0x504]                           |         r1 = *(0x11b94);
    0x00011690 mov r2, r6                                    |         r2 = r6;
                                                             | label_5:
    0x00011694 ldr r0, [pc, 0x500]                           |         
    0x00011698 ldr r0, [r0]                                  |         r0 = "Failed_to_register_connection_to_bus_at__s:__s";
    0x0001169c bl 0x11480                                    |         fprintf ("Failed_to_register_connection_to_bus_at__s:__s", r1, r2, r3)
    0x000116a0 add r0, sp, 0x28                              |         r0 += var_28h;
    0x000116a4 bl 0x113e4                                    |         dbus_error_free ();
    0x000116a8 b 0x118f4                                     |         goto label_9;
                                                             |     }
    0x000116ac ldr r5, [r8, r7, lsl 2]                       |     offset_0 = r7 << 2;
                                                             |     r5 = *((r8 + offset_0));
    0x000116b0 ldr r1, [pc, 0x4e8]                           |     r1 = stderr;
    0x000116b4 mov r0, r5                                    |     r0 = r5;
    0x000116b8 bl 0x11360                                    |     strcmp (r0, r1);
    0x000116bc lsl sl, r7, 2                                 |     sl = r7 << 2;
    0x000116c0 cmp r0, 0                                     |     
                                                             |     if (r0 != 0) {
    0x000116c4 bne 0x116d8                                   |         goto label_16;
                                                             |     }
    0x000116c8 cmp r4, 0                                     |     
                                                             |     if (r4 == 0) {
    0x000116cc beq 0x1184c                                   |         goto label_17;
                                                             |     }
                                                             |     do {
    0x000116d0 ldr r0, [r8]                                  |         r0 = *(r8);
                                                             | label_0:
    0x000116d4 bl 0x115d0                                    |         fcn_000115d0 (r0);
                                                             | label_16:
    0x000116d8 ldr r1, [pc, 0x4c4]                           |         r1 = "--system";
    0x000116dc mov r0, r5                                    |         r0 = r5;
    0x000116e0 bl 0x11360                                    |         r0 = strcmp (r0, "--system");
    0x000116e4 cmp r0, 0                                     |         
                                                             |         if (r0 != 0) {
    0x000116e8 bne 0x11700                                   |             goto label_18;
                                                             |         }
    0x000116ec cmp r4, 0                                     |         
    0x000116f0 bne 0x116d0                                   |         
                                                             |     } while (r4 != 0);
    0x000116f4 mov r4, 1                                     |     r4 = 1;
    0x000116f8 str r0, [sp, 0x14]                            |     var_14h = r0;
    0x000116fc b 0x1173c                                     |     goto label_2;
                                                             | label_18:
    0x00011700 ldr r1, [pc, 0x4a0]                           |     r1 = "__session";
    0x00011704 mov r0, r5                                    |     r0 = r5;
    0x00011708 bl 0x11360                                    |     r0 = strcmp (r0, "__session");
    0x0001170c cmp r0, 0                                     |     
                                                             |     if (r0 != 0) {
    0x00011710 bne 0x1174c                                   |         goto label_19;
                                                             |     }
    0x00011714 cmp r4, 0                                     |     
    0x00011718 ldr r0, [r8]                                  |     r0 = *(r8);
                                                             |     if (r4 != 0) {
    0x0001171c bne 0x116d4                                   |         goto label_0;
                                                             |     }
    0x00011720 ldr r3, [sp, 0x1c]                            |     r3 = var_1ch;
    0x00011724 add r7, r7, 1                                 |     r7++;
    0x00011728 cmp r7, r3                                    |     
                                                             |     if (r7 < r3) {
    0x0001172c bge 0x11744                                   |         
    0x00011730 add sl, r8, sl                                |         sl = r8 + sl;
    0x00011734 ldr r6, [sl, 4]                               |         r6 = *((sl + 4));
    0x00011738 mov r4, 1                                     |         r4 = 1;
                                                             | label_2:
    0x0001173c add r7, r7, 1                                 |         r7++;
    0x00011740 b 0x11648                                     |         goto label_1;
                                                             |     }
    0x00011744 mov r1, 1                                     |     r1 = 1;
                                                             |     do {
    0x00011748 bl 0x11d48                                    |         fcn_00011d48 (r0, r1);
                                                             | label_19:
    0x0001174c ldr r1, [pc, 0x458]                           |         r1 = "__address";
    0x00011750 mov r0, r5                                    |         r0 = r5;
    0x00011754 bl 0x11360                                    |         r0 = strcmp (r0, "__address");
    0x00011758 subs r1, r0, 0                                |         r1 = r0 - 0;
                                                             |         if (r1 != r0) {
    0x0001175c bne 0x11768                                   |             goto label_20;
                                                             |         }
                                                             | label_3:
    0x00011760 ldr r0, [r8]                                  |         r0 = *(r8);
    0x00011764 b 0x11748                                     |         
                                                             |     } while (1);
                                                             | label_20:
    0x00011768 ldr r1, [pc, 0x440]                           |     r1 = "__help";
    0x0001176c mov r0, r5                                    |     r0 = r5;
    0x00011770 bl 0x11360                                    |     r0 = strcmp (r0, "__help");
    0x00011774 cmp r0, 0                                     |     
                                                             |     if (r0 == 0) {
    0x00011778 beq 0x11858                                   |         goto label_21;
                                                             |     }
    0x0001177c ldr r1, [pc, 0x430]                           |     r1 = "--monitor";
    0x00011780 mov r0, r5                                    |     r0 = r5;
    0x00011784 bl 0x11360                                    |     r0 = strcmp (r0, "--monitor");
    0x00011788 cmp r0, 0                                     |     
                                                             |     if (r0 == 0) {
    0x0001178c beq 0x11868                                   |         goto label_22;
                                                             |     }
    0x00011790 ldr r1, [pc, 0x420]                           |     r1 = "--profile";
    0x00011794 mov r0, r5                                    |     r0 = r5;
    0x00011798 bl 0x11360                                    |     r0 = strcmp (r0, "--profile");
    0x0001179c cmp r0, 0                                     |     
                                                             |     if (r0 == 0) {
    0x000117a0 beq 0x11874                                   |         goto label_23;
                                                             |     }
    0x000117a4 ldr r1, [pc, 0x410]                           |     r1 = "--binary";
    0x000117a8 mov r0, r5                                    |     r0 = r5;
    0x000117ac bl 0x11360                                    |     r0 = strcmp (r0, "--binary");
    0x000117b0 cmp r0, 0                                     |     
                                                             |     if (r0 == 0) {
    0x000117b4 beq 0x11880                                   |         goto label_24;
                                                             |     }
    0x000117b8 ldr r1, [pc, 0x400]                           |     r1 = "__pcap";
    0x000117bc mov r0, r5                                    |     r0 = r5;
    0x000117c0 bl 0x11360                                    |     r0 = strcmp (r0, "__pcap");
    0x000117c4 cmp r0, 0                                     |     
                                                             |     if (r0 == 0) {
    0x000117c8 beq 0x1173c                                   |         goto label_2;
                                                             |     }
    0x000117cc ldrb r3, [r5]                                 |     r3 = *(r5);
    0x000117d0 cmp r3, 0x2d                                  |     
                                                             |     if (r3 == 0x2d) {
    0x000117d4 moveq r1, 1                                   |         r1 = 1;
                                                             |         goto label_25;
                                                             |     }
                                                             |     if (r3 == 0x2d) {
                                                             | label_25:
    0x000117d8 beq 0x11760                                   |         goto label_3;
                                                             |     }
    0x000117dc mov r0, r5                                    |     r0 = r5;
    0x000117e0 bl 0x115b8                                    |     strlen (r0);
    0x000117e4 add sb, sb, 1                                 |     sb++;
    0x000117e8 lsl sl, sb, 2                                 |     sl = sb << 2;
    0x000117ec mov r1, sl                                    |     r1 = sl;
    0x000117f0 add r3, r0, 0x10                              |     r3 = r0 + 0x10;
    0x000117f4 ldr r0, [sp, 0x10]                            |     r0 = ptr;
    0x000117f8 str r3, [sp, 0x18]                            |     size = r3;
    0x000117fc bl 0x112dc                                    |     r0 = realloc (r0, r1);
    0x00011800 subs r3, r0, 0                                |     r3 = r0 - 0;
    0x00011804 str r3, [sp, 0x10]                            |     ptr = r3;
                                                             |     if (r3 != r0) {
    0x00011808 bne 0x11814                                   |         goto label_26;
                                                             |     }
    0x0001180c ldr r0, [pc, 0x3b0]                           |     r0 = *(0x11bc0);
                                                             |     do {
                                                             | label_6:
    0x00011810 bl 0x12c3c                                    |         fcn_00012c3c (r0);
                                                             | label_26:
    0x00011814 ldr r0, [sp, 0x18]                            |         r0 = size;
    0x00011818 bl 0x11378                                    |         malloc (r0);
    0x0001181c ldr r2, [sp, 0x10]                            |         r2 = ptr;
    0x00011820 add sl, r2, sl                                |         sl = r2 + sl;
    0x00011824 cmp r0, 0                                     |         
    0x00011828 str r0, [sl, -4]                              |         *((sl - 4)) = r0;
                                                             |         if (r0 != 0) {
    0x0001182c ldreq r0, [pc, 0x394]                         |             r0 = "adding a new filter";
                                                             |         }
    0x00011830 beq 0x11810                                   |         
                                                             |     } while (r0 == 0);
    0x00011834 str r5, [sp]                                  |     *(sp) = r5;
    0x00011838 ldr r3, [pc, 0x38c]                           |     r3 = "adding a new filter";
    0x0001183c ldr r2, [pc, 0x38c]                           |     r2 = "eavesdrop=true";
    0x00011840 ldr r1, [sp, 0x18]                            |     r1 = size;
    0x00011844 bl 0x11330                                    |     snprintf (r0, r1, "eavesdrop=true", "adding a new filter");
    0x00011848 b 0x1173c                                     |     goto label_2;
                                                             | label_17:
    0x0001184c mov r4, 1                                     |     r4 = 1;
    0x00011850 str r4, [sp, 0x14]                            |     var_14h = r4;
    0x00011854 b 0x1173c                                     |     goto label_2;
                                                             | label_21:
    0x00011858 ldr r3, [pc, 0x334]                           |     r3 = stdout;
    0x0001185c mov fp, r0                                    |     
                                                             |     do {
                                                             | label_4:
    0x00011860 str r3, [sp, 0xc]                             |         var_ch = r3;
    0x00011864 b 0x1173c                                     |         goto label_2;
                                                             | label_22:
    0x00011868 mov fp, r0                                    |         
    0x0001186c ldr r3, [pc, 0x360]                           |         r3 = "_s__s";
    0x00011870 b 0x11860                                     |         
                                                             |     } while (1);
                                                             | label_23:
    0x00011874 mov fp, 1                                     |     
                                                             |     do {
    0x00011878 ldr r3, [pc, 0x358]                           |         r3 = *(0x11bd4);
    0x0001187c b 0x11860                                     |         goto label_4;
                                                             | label_24:
    0x00011880 mov fp, 2                                     |         
    0x00011884 b 0x11878                                     |         
                                                             |     } while (1);
                                                             | label_13:
    0x00011888 ldr r0, [sp, 0x14]                            |     r0 = var_14h;
    0x0001188c bl 0x1148c                                    |     r0 = dbus_bus_get ();
    0x00011890 subs r4, r0, 0                                |     r4 = r0 - 0;
                                                             |     if (r4 == r0) {
    0x00011894 bne 0x118bc                                   |         
    0x00011898 ldr r2, [sp, 0x14]                            |         r2 = var_14h;
    0x0001189c ldr r3, [pc, 0x338]                           |         r3 = *(0x11bd8);
    0x000118a0 cmp r2, 0                                     |         
    0x000118a4 ldr r6, [pc, 0x334]                           |         r6 = "session_bus";
                                                             |         if (r2 != 0) {
    0x000118a8 moveq r6, r3                                  |             r6 = r3;
                                                             |         }
                                                             | label_14:
    0x000118ac ldr r3, [sp, 0x2c]                            |         r3 = var_2ch;
    0x000118b0 mov r2, r6                                    |         r2 = r6;
    0x000118b4 ldr r1, [pc, 0x328]                           |         r1 = "system_bus";
    0x000118b8 b 0x11694                                     |         goto label_5;
                                                             |     }
                                                             | label_15:
    0x000118bc mov r1, 1                                     |     r1 = 1;
    0x000118c0 mov r0, r4                                    |     r0 = r4;
    0x000118c4 bl 0x113cc                                    |     dbus_connection_set_route_peer_messages ();
    0x000118c8 mov r3, 0                                     |     r3 = 0;
    0x000118cc mov r2, fp                                    |     r2 = fp;
    0x000118d0 ldr r1, [sp, 0xc]                             |     r1 = var_ch;
    0x000118d4 mov r0, r4                                    |     r0 = r4;
    0x000118d8 bl 0x11390                                    |     r0 = dbus_connection_add_filter ();
    0x000118dc cmp r0, 0                                     |     
                                                             |     if (r0 == 0) {
    0x000118e0 bne 0x118fc                                   |         
    0x000118e4 ldr r3, [pc, 0x2b0]                           |         r3 = "Failed_to_register_connection_to_bus_at__s:__s";
    0x000118e8 ldr r0, [pc, 0x2f8]                           |         r0 = "Failed_to_open_connection_to__s:__s";
    0x000118ec ldr r1, [r3]                                  |         r1 = "Failed_to_register_connection_to_bus_at__s:__s";
    0x000118f0 bl 0x114f8                                    |         fputs ("Failed_to_open_connection_to__s:__s", "Failed_to_register_connection_to_bus_at__s:__s");
                                                             | label_9:
    0x000118f4 mov r0, 1                                     |         r0 = 1;
    0x000118f8 b 0x11b8c                                     |         goto label_27;
                                                             |     }
    0x000118fc mov r2, 0x10                                  |     r2 = 0x10;
    0x00011900 mov r1, 0                                     |     r1 = 0;
    0x00011904 add r0, sp, 0x38                              |     r0 += s;
    0x00011908 bl 0x1136c                                    |     memset (r0, r1, r2);
    0x0001190c mov r3, 1                                     |     r3 = 1;
    0x00011910 strb r3, [sp, 0x40]                           |     var_40h = r3;
    0x00011914 mov r5, 0                                     |     r5 = 0;
    0x00011918 ldr r3, [pc, 0x2cc]                           |     r3 = "Couldn't add filter!\n";
    0x0001191c ldr r2, [pc, 0x2cc]                           |     r2 = "BecomeMonitor";
    0x00011920 ldr r1, [pc, 0x2cc]                           |     r1 = "org.freedesktop.DBus.Monitoring";
    0x00011924 ldr r0, [pc, 0x2cc]                           |     r0 = "/org/freedesktop/DBus";
    0x00011928 str r5, [sp, 0x24]                            |     var_24h = r5;
    0x0001192c bl 0x113d8                                    |     r0 = dbus_message_new_method_call ();
    0x00011930 subs r6, r0, 0                                |     r6 = r0 - 0;
                                                             |     if (r6 == r0) {
    0x00011934 ldreq r0, [pc, 0x2c0]                         |         r0 = "becoming a monitor";
                                                             |         goto label_28;
                                                             |     }
                                                             |     if (r6 == r0) {
                                                             | label_28:
    0x00011938 beq 0x11810                                   |         goto label_6;
                                                             |     }
    0x0001193c add r1, sp, 0x48                              |     r1 += var_48h;
    0x00011940 bl 0x112b8                                    |     dbus_message_iter_init_append ();
    0x00011944 add r3, sp, 0x80                              |     r3 += var_80h;
    0x00011948 ldr r2, [pc, 0x2b0]                           |     r2 = "becoming a monitor";
    0x0001194c mov r1, 0x61                                  |     r1 = 0x61;
    0x00011950 add r0, sp, 0x48                              |     r0 += var_48h;
    0x00011954 bl 0x11318                                    |     r0 = dbus_message_iter_open_container ();
    0x00011958 cmp r0, 0                                     |     
                                                             |     if (r0 == 0) {
    0x0001195c ldreq r0, [pc, 0x2a0]                         |         r0 = "opening string array";
                                                             |         goto label_29;
                                                             |     }
                                                             |     if (r0 == 0) {
                                                             | label_29:
    0x00011960 beq 0x11810                                   |         goto label_6;
                                                             |     }
                                                             | label_7:
    0x00011964 cmp sb, r5                                    |     
                                                             |     if (sb == r5) {
    0x00011968 bne 0x11988                                   |         
    0x0001196c add r1, sp, 0x80                              |         r1 += var_80h;
    0x00011970 add r0, sp, 0x48                              |         r0 += var_48h;
    0x00011974 bl 0x115c4                                    |         r0 = dbus_message_iter_close_container ();
    0x00011978 cmp r0, 0                                     |         
                                                             |         if (r0 != 0) {
    0x0001197c bne 0x119b0                                   |             goto label_30;
                                                             |         }
                                                             | label_8:
    0x00011980 ldr r0, [pc, 0x280]                           |         r0 = "opening string array";
    0x00011984 b 0x11810                                     |         goto label_6;
                                                             |     }
    0x00011988 ldr r3, [sp, 0x10]                            |     r3 = ptr;
    0x0001198c mov r1, 0x73                                  |     r1 = 0x73;
    0x00011990 add r2, r3, r5, lsl 2                         |     r2 = r3 + (r5 << 2);
    0x00011994 add r0, sp, 0x80                              |     r0 += var_80h;
    0x00011998 bl 0x1133c                                    |     r0 = dbus_message_iter_append_basic ();
    0x0001199c cmp r0, 0                                     |     
                                                             |     if (r0 == 0) {
    0x000119a0 ldreq r0, [pc, 0x264]                         |         r0 = "adding filter to array";
                                                             |         goto label_31;
                                                             |     }
                                                             |     if (r0 == 0) {
                                                             | label_31:
    0x000119a4 beq 0x11810                                   |         goto label_6;
                                                             |     }
    0x000119a8 add r5, r5, 1                                 |     r5++;
    0x000119ac b 0x11964                                     |     goto label_7;
                                                             | label_30:
    0x000119b0 add r2, sp, 0x24                              |     r2 += var_24h;
    0x000119b4 mov r1, 0x75                                  |     r1 = 0x75;
    0x000119b8 add r0, sp, 0x48                              |     r0 += var_48h;
    0x000119bc bl 0x1133c                                    |     r0 = dbus_message_iter_append_basic ();
    0x000119c0 cmp r0, 0                                     |     
                                                             |     if (r0 == 0) {
    0x000119c4 beq 0x11980                                   |         goto label_8;
                                                             |     }
    0x000119c8 add r3, sp, 0x38                              |     r3 += s;
    0x000119cc mvn r2, 0                                     |     r2 = ~0;
    0x000119d0 mov r1, r6                                    |     r1 = r6;
    0x000119d4 mov r0, r4                                    |     r0 = r4;
    0x000119d8 bl 0x113b4                                    |     r0 = dbus_connection_send_with_reply_and_block ();
    0x000119dc subs r5, r0, 0                                |     r5 = r0 - 0;
                                                             |     if (r5 == r0) {
    0x000119e0 beq 0x11a3c                                   |         goto label_32;
                                                             |     }
    0x000119e4 bl 0x114bc                                    |     dbus_message_unref ();
                                                             |     do {
    0x000119e8 mov r0, r6                                    |         r0 = r6;
    0x000119ec bl 0x114bc                                    |         dbus_message_unref ();
    0x000119f0 cmp r5, 0                                     |         
                                                             |         if (r5 == 0) {
    0x000119f4 beq 0x11a80                                   |             goto label_33;
                                                             |         }
                                                             | label_12:
    0x000119f8 cmp fp, 2                                     |         
                                                             |         if (fp != 2) {
    0x000119fc bne 0x11b78                                   |             goto label_34;
                                                             |         }
    0x00011a00 ldr lr, [pc, 0x208]                           |         
    0x00011a04 add ip, sp, 0x80                              |         
    0x00011a08 ldm lr!, {r0, r1, r2, r3}                     |         r0 = *(lr!);
                                                             |         r1 = *((lr! + 4));
                                                             |         r2 = *((lr! + 8));
                                                             |         r3 = *((lr! + 12));
    0x00011a0c stm ip!, {r0, r1, r2, r3}                     |         *(ip!) = r0;
                                                             |         *((ip! + 4)) = r1;
                                                             |         *((ip! + 8)) = r2;
                                                             |         *((ip! + 12)) = r3;
    0x00011a10 ldm lr, {r0, r1}                              |         r0 = *(lr);
                                                             |         r1 = *((lr + 4));
    0x00011a14 mov r2, 0x18                                  |         r2 = 0x18;
    0x00011a18 stm ip, {r0, r1}                              |         *(ip) = r0;
                                                             |         *((ip + 4)) = r1;
    0x00011a1c add r1, sp, 0x80                              |         r1 += var_80h;
    0x00011a20 mov r0, 1                                     |         r0 = 1;
    0x00011a24 bl 0x12c64                                    |         r0 = fcn_00012c64 (r0, r1);
    0x00011a28 cmp r0, 0                                     |         
                                                             |         if (r0 != 0) {
    0x00011a2c bne 0x11b78                                   |             goto label_34;
                                                             |         }
    0x00011a30 ldr r0, [pc, 0x1dc]                           |         r0 = *(0x11c10);
    0x00011a34 bl 0x113fc                                    |         perror (r0);
    0x00011a38 b 0x118f4                                     |         goto label_9;
                                                             | label_32:
    0x00011a3c ldr r1, [pc, 0x1d4]                           |         r1 = "dbus_monitor:_write";
    0x00011a40 add r0, sp, 0x38                              |         r0 += s;
    0x00011a44 bl 0x11498                                    |         r0 = dbus_error_has_name ();
    0x00011a48 cmp r0, 0                                     |         
    0x00011a4c ldr r0, [pc, 0x148]                           |         r0 = "Failed_to_register_connection_to_bus_at__s:__s";
                                                             |         if (r0 == 0) {
    0x00011a50 beq 0x11a6c                                   |             goto label_35;
                                                             |         }
    0x00011a54 ldr r1, [r0]                                  |         r1 = *(r0);
    0x00011a58 ldr r0, [pc, 0x1bc]                           |         r0 = "org.freedesktop.DBus.Error.UnknownInterface";
    0x00011a5c bl 0x114f8                                    |         fputs ("org.freedesktop.DBus.Error.UnknownInterface", r1);
                                                             | label_10:
    0x00011a60 add r0, sp, 0x38                              |         r0 += s;
    0x00011a64 bl 0x113e4                                    |         dbus_error_free ();
    0x00011a68 b 0x119e8                                     |         
                                                             |     } while (1);
                                                             | label_35:
    0x00011a6c ldrd r2, r3, [sp, 0x38]                       |     __asm ("ldrd r2, r3, [s]");
    0x00011a70 ldr r1, [pc, 0x1a8]                           |     r1 = "dbus-monitor: unable to enable new-style monitoring, your dbus-daemon is too old. Falling back to eavesdropping.\n";
    0x00011a74 ldr r0, [r0]                                  |     r0 = *(r0);
    0x00011a78 bl 0x11480                                    |     fprintf (r0, "dbus-monitor: unable to enable new-style monitoring, your dbus-daemon is too old. Falling back to eavesdropping.\n", r2)
    0x00011a7c b 0x11a60                                     |     goto label_10;
                                                             | label_33:
    0x00011a80 cmp sb, 0                                     |     
                                                             |     if (sb == 0) {
    0x00011a84 beq 0x11b18                                   |         goto label_36;
                                                             |     }
    0x00011a88 ldr r6, [sp, 0x10]                            |     r6 = ptr;
    0x00011a8c mov r7, r5                                    |     r7 = r5;
                                                             | label_11:
    0x00011a90 mov r8, r6                                    |     r8 = r6;
    0x00011a94 ldr r1, [r8]                                  |     r1 = *(r8);
    0x00011a98 add r2, sp, 0x28                              |     r2 += var_28h;
    0x00011a9c add r1, r1, r5                                |     r1 += r5;
    0x00011aa0 mov r0, r4                                    |     r0 = r4;
    0x00011aa4 bl 0x1151c                                    |     dbus_bus_add_match ();
    0x00011aa8 add r0, sp, 0x28                              |     r0 += var_28h;
    0x00011aac bl 0x11300                                    |     dbus_error_is_set ();
    0x00011ab0 add r6, r6, 4                                 |     r6 += 4;
    0x00011ab4 cmp r0, 0                                     |     
                                                             |     if (r0 != 0) {
    0x00011ab8 beq 0x11ae4                                   |         
    0x00011abc orrs r3, r5, r7                               |         r3 = r5 | r7;
                                                             |         if (r3 != r5) {
    0x00011ac0 bne 0x11ae4                                   |             goto label_37;
                                                             |         }
    0x00011ac4 add r0, sp, 0x28                              |         r0 += var_28h;
    0x00011ac8 bl 0x113e4                                    |         dbus_error_free ();
    0x00011acc ldr r1, [r6, -4]                              |         r1 = *((r6 - 4));
    0x00011ad0 add r2, sp, 0x28                              |         r2 += var_28h;
    0x00011ad4 add r1, r1, 0xf                               |         r1 += 0xf;
    0x00011ad8 mov r0, r4                                    |         r0 = r4;
    0x00011adc bl 0x1151c                                    |         dbus_bus_add_match ();
    0x00011ae0 mov r5, 0xf                                   |         r5 = 0xf;
                                                             |     }
                                                             | label_37:
    0x00011ae4 add r0, sp, 0x28                              |     r0 += var_28h;
    0x00011ae8 bl 0x11300                                    |     r0 = dbus_error_is_set ();
    0x00011aec cmp r0, 0                                     |     
                                                             |     if (r0 == 0) {
    0x00011af0 ldrne r3, [sp, 0x2c]                          |         r3 = var_2ch;
                                                             |     }
                                                             |     if (r0 == 0) {
    0x00011af4 ldrne r2, [r8]                                |         r2 = *(r8);
                                                             |     }
                                                             |     if (r0 != 0) {
    0x00011af8 ldrne r1, [pc, 0x124]                         |         r1 = "Failed_to_setup_match___s_:__s";
                                                             |         goto label_38;
                                                             |     }
                                                             |     if (r0 != 0) {
                                                             | label_38:
    0x00011afc bne 0x11694                                   |         goto label_5;
                                                             |     }
    0x00011b00 ldr r0, [r6, -4]                              |     r0 = *((r6 - 4));
    0x00011b04 bl 0x11540                                    |     free (r0);
    0x00011b08 add r7, r7, 1                                 |     r7++;
    0x00011b0c cmp sb, r7                                    |     
                                                             |     if (sb != r7) {
    0x00011b10 bne 0x11a90                                   |         goto label_11;
                                                             |     }
    0x00011b14 b 0x119f8                                     |     goto label_12;
                                                             | label_36:
    0x00011b18 add r2, sp, 0x28                              |     r2 += var_28h;
    0x00011b1c ldr r1, [pc, 0xa8]                            |     r1 = "adding a new filter";
    0x00011b20 mov r0, r4                                    |     r0 = r4;
    0x00011b24 bl 0x1151c                                    |     dbus_bus_add_match ();
    0x00011b28 add r0, sp, 0x28                              |     r0 += var_28h;
    0x00011b2c bl 0x11300                                    |     r0 = dbus_error_is_set ();
    0x00011b30 cmp r0, 0                                     |     
                                                             |     if (r0 == 0) {
    0x00011b34 beq 0x119f8                                   |         goto label_12;
                                                             |     }
    0x00011b38 add r0, sp, 0x28                              |     r0 += var_28h;
    0x00011b3c bl 0x113e4                                    |     dbus_error_free ();
    0x00011b40 add r2, sp, 0x28                              |     r2 += var_28h;
    0x00011b44 ldr r1, [pc, 0xdc]                            |     r1 = "Failed_to_setup_match___s_:__s";
    0x00011b48 mov r0, r4                                    |     r0 = r4;
    0x00011b4c bl 0x1151c                                    |     dbus_bus_add_match ();
    0x00011b50 add r0, sp, 0x28                              |     r0 += var_28h;
    0x00011b54 bl 0x11300                                    |     r0 = dbus_error_is_set ();
    0x00011b58 cmp r0, 0                                     |     
                                                             |     if (r0 == 0) {
    0x00011b5c beq 0x119f8                                   |         goto label_12;
                                                             |     }
    0x00011b60 ldr r3, [pc, 0x34]                            |     r3 = "Failed_to_register_connection_to_bus_at__s:__s";
    0x00011b64 ldr r2, [sp, 0x2c]                            |     r2 = var_2ch;
    0x00011b68 ldr r1, [pc, 0xbc]                            |     r1 = *(0x11c28);
    0x00011b6c ldr r0, [r3]                                  |     r0 = "Failed_to_register_connection_to_bus_at__s:__s";
    0x00011b70 bl 0x11480                                    |     fprintf ("Failed_to_register_connection_to_bus_at__s:__s", r1, r2, "Failed_to_register_connection_to_bus_at__s:__s")
    0x00011b74 b 0x118f4                                     |     goto label_9;
                                                             |     do {
                                                             | label_34:
    0x00011b78 mvn r1, 0                                     |         r1 = ~0;
    0x00011b7c mov r0, r4                                    |         r0 = r4;
    0x00011b80 bl 0x114c8                                    |         r0 = dbus_connection_read_write_dispatch ();
    0x00011b84 cmp r0, 0                                     |         
    0x00011b88 bne 0x11b78                                   |         
                                                             |     } while (r0 != 0);
                                                             | label_27:
    0x00011b8c bl 0x11468                                    |     exit (r0);
                                                             |     if (r0 != 0) {
    0x00011b90 andeq r4, r2, r8, lsr 2                       |         r4 = r2 & (r8 >> 2);
                                                             |     }
                                                             |     if (r0 != 0) {
    0x00011b94 andeq r2, r1, r8, ror 1                       |         r2 = r1 & (r8 >>> 1);
                                                             |     }
    0x00011b98 ldrdeq r2, r3, [r1], -r8                      |     __asm ("ldrdeq r2, r3, [r1], -r8");
                                                             |     if (r0 != 0) {
    0x00011b9c andeq r4, r2, r4, lsr 2                       |         r4 = r2 & (r4 >> 2);
                                                             |     }
                                                             |     if (r0 != 0) {
    0x00011ba0 andeq r2, r1, fp, asr 30                      |         r2 = r1 & (fp >> 30);
                                                             |     }
                                                             |     if (r0 != 0) {
    0x00011ba4 andeq r2, r1, r4, asr pc                      |         r2 = r1 & (r4 >> pc);
                                                             |     }
                                                             |     if (r0 != 0) {
    0x00011ba8 andeq r2, r1, lr, asr pc                      |         r2 = r1 & (lr >> pc);
                                                             |     }
                                                             |     if (r0 != 0) {
    0x00011bac andeq r2, r1, r8, ror 30                      |         r2 = r1 & (r8 >>> 30);
                                                             |     }
                                                             |     if (r0 != 0) {
    0x00011bb0 andeq r2, r1, pc, ror 30                      |         r2 = r1 & (pc >>> 30);
                                                             |     }
                                                             |     if (r0 != 0) {
    0x00011bb4 andeq r2, r1, sb, ror pc                      |         r2 = r1 & (sb >>> pc);
                                                             |     }
                                                             |     if (r0 != 0) {
    0x00011bb8 andeq r2, r1, r3, lsl 31                      |         r2 = r1 & (r3 << 31);
                                                             |     }
                                                             |     if (r0 != 0) {
    0x00011bbc andeq r2, r1, ip, lsl 31                      |         r2 = r1 & (ip << 31);
                                                             |     }
                                                             |     if (r0 != 0) {
    0x00011bc0 muleq r1, r3, pc                              |         r1 = r3 * pc;
                                                             |     }
                                                             |     if (r0 != 0) {
    0x00011bc4 muleq r1, r6, pc                              |         r1 = r6 * pc;
                                                             |     }
                                                             |     if (r0 != 0) {
    0x00011bc8 andeq r2, r1, pc, lsr 31                      |         r2 = r1 & (pc >> 31);
                                                             |     }
                                                             |     if (r0 != 0) {
    0x00011bcc andeq r2, r1, r3, asr 31                      |         r2 = r1 & (r3 >> 31);
                                                             |     }
    0x00011bd0 ldrdeq r2, r3, [r1], -r2                      |     __asm ("ldrdeq r2, r3, [r1], -r2");
    0x00011bd4 strheq r1, [r1], -r4                          |     __asm ("strheq r1, [r1], -r4");
                                                             |     if (r0 != 0) {
    0x00011bd8 andeq r1, r1, r4, ror sp                      |         r1 &= (r4 >>> sp);
                                                             |     }
                                                             |     if (r0 != 0) {
    0x00011bdc andeq r2, r1, r4, lsr pc                      |         r2 = r1 & (r4 >> pc);
                                                             |     }
                                                             |     if (r0 != 0) {
    0x00011be0 andeq r2, r1, r0, asr 30                      |         r2 = r1 & (r0 >> 30);
                                                             |     }
                                                             |     if (r0 != 0) {
    0x00011be4 andeq r3, r1, r8                              |         r3 = r1 & r8;
                                                             |     }
                                                             |     if (r0 != 0) {
    0x00011be8 andeq r3, r1, sp, lsr 32                      |         r3 = r1 & (sp >> 32);
                                                             |     }
                                                             |     if (r0 != 0) {
    0x00011bec andeq r3, r1, r3, asr 32                      |         r3 = r1 & (r3 >> 32);
                                                             |     }
                                                             |     if (r0 != 0) {
    0x00011bf0 andeq r3, r1, r1, asr r0                      |         r3 = r1 & (r1 >> r0);
                                                             |     }
                                                             |     if (r0 != 0) {
    0x00011bf4 andeq r3, r1, r1, ror r0                      |         r3 = r1 & (r1 >>> r0);
                                                             |     }
                                                             |     if (r0 != 0) {
    0x00011bf8 andeq r3, r1, r7, lsl 1                       |         r3 = r1 & (r7 << 1);
                                                             |     }
                                                             |     if (r0 != 0) {
    0x00011bfc muleq r1, ip, r0                              |         r1 = ip * r0;
                                                             |     }
                                                             |     if (r0 != 0) {
    0x00011c00 andeq r2, r1, r0, lsr 29                      |         r2 = r1 & (r0 >> 29);
                                                             |     }
                                                             |     if (r0 != 0) {
    0x00011c04 andeq r3, r1, pc, lsr 1                       |         r3 = r1 & (pc >> 1);
                                                             |     }
    0x00011c08 ldrdeq r3, r4, [r1], -fp                      |     __asm ("ldrdeq r3, r4, [r1], -fp");
                                                             |     if (r0 != 0) {
    0x00011c0c andeq r3, r1, r4, asr 1                       |         r3 = r1 & (r4 >> 1);
                                                             |     }
                                                             |     if (r0 != 0) {
    0x00011c10 andeq r2, r1, r8, lsr 27                      |         r2 = r1 & (r8 >> 27);
                                                             |     }
                                                             |     if (r0 != 0) {
    0x00011c14 andeq r2, r1, sl, asr 28                      |         r2 = r1 & (sl >> 28);
                                                             |     }
                                                             |     if (r0 != 0) {
    0x00011c18 andeq r3, r1, pc, ror 1                       |         r3 = r1 & (pc >>> 1);
                                                             |     }
                                                             |     if (r0 != 0) {
    0x00011c1c andeq r3, r1, fp, lsl r1                      |         r3 = r1 & (fp << r1);
                                                             |     }
                                                             |     if (r0 != 0) {
    0x00011c20 andeq r3, r1, sp, lsl 3                       |         r3 = r1 & (sp << 3);
                                                             |     }
                                                             |     if (r0 != 0) {
    0x00011c24 andeq r3, r1, ip, ror 3                       |         r3 = r1 & (ip >>> 3);
                                                             |     }
                                                             |     if (r0 != 0) {
    0x00011c28 andeq r2, r1, r3, lsr pc                      |         r2 = r1 & (r3 >> pc);
                                                             |     }
                                                             |     /* Beware that this jump is a conditional jump.
                                                             |      * r2dec transformed it as a return, due being the
                                                             |      * last instruction. Please, check 'pdda' output
                                                             |      * for more hints. */
    0x00011c2c andeq r3, r1, ip, lsl 4                       |     return r3 = r1 & (ip << 4);
                                                             | }

[*] Function fprintf used 6 times dbus-monitor