[*] Binary protection state of dbus-update-activation-environment

  
  	Full RELRO     Canary found      NX enabled   PIE enabled  No RPATH     No RUNPATH   No Symbols


[*] Function printf tear down of dbus-update-activation-environment

    ; assembly                                               | /* r2dec pseudo code output */
                                                             | /* /logs/firmware/patool_extraction/rootfs.img_unblob_extracted/rootfs.img_extract/0-80367616.squashfs_v4_le_extract/usr/bin/dbus-update-activation-environment @ 0x1348 */
                                                             | #include <stdint.h>
                                                             |  
    ; (fcn) fcn.00001348 ()                                  | void fcn_00001348 (int16_t arg_8h, int16_t arg_ch, int16_t arg_10h, int16_t arg_14h, int16_t arg_18h, int16_t arg_1ch, int16_t arg_20h, int16_t arg_24h, int16_t arg_28h, int16_t arg_2ch, int16_t arg_30h, int16_t arg_34h, void * ptr, int16_t arg_3ch, int16_t arg_88h, int16_t arg_c0h, int16_t arg_f8h, int16_t arg_130h, int16_t arg_19ch) {
                                                             |     int16_t var_0h;
                                                             |     int16_t var_4h;
                                                             | label_5:
    0x00000e50 ldr r3, [sp, 0xc]                             |     r3 = *(arg_ch);
    0x00000e52 cmp r4, r3                                    |     
                                                             |     if (r4 < r3) {
    0x00000e54 bge 0xe5c                                     |         
    0x00000e56 cmp r5, 0                                     |         
                                                             |         if (r5 != 0) {
    0x00000e58 bne.w 0x11d8                                  |             goto label_11;
                                                             |         }
                                                             |     }
    0x00000e5c ldr r1, [sp, 0x18]                            |     r1 = *(arg_18h);
    0x00000e5e movs r0, 0                                    |     r0 = 0;
    0x00000e60 blx 0xcbc                                     |     r0 = dbus_bus_get ();
    0x00000e64 mov r8, r0                                    |     r8 = r0;
    0x00000e66 cmp r0, 0                                     |     
                                                             |     if (r0 == 0) {
    0x00000e68 beq.w 0x11f2                                  |         goto label_12;
                                                             |     }
    0x00000e6c ldr.w r2, [pc, 0x40c]                         |     
    0x00000e70 ldr.w r3, [pc, 0x40c]                         |     r3 = *(0x00001280);
    0x00000e74 ldr.w r1, [pc, 0x40c]                         |     r1 = *(0x00001284);
    0x00000e78 add r2, pc                                    |     r2 = 0x20f8;
    0x00000e7a add r3, pc                                    |     r3 += pc;
    0x00000e7c mov r0, r2                                    |     r0 = r2;
    0x00000e7e add r1, pc                                    |     r1 += pc;
    0x00000e80 blx 0xca4                                     |     dbus_message_new_method_call ();
    0x00000e84 str r0, [sp, 0x1c]                            |     *(arg_1ch) = r0;
    0x00000e86 cmp r0, 0                                     |     
                                                             |     if (r0 == 0) {
    0x00000e88 beq.w 0x1134                                  |         goto label_13;
                                                             |     }
                                                             | label_10:
    0x00000e8c add.w fp, sp, 0x50                            |     
    0x00000e90 add.w sl, sp, 0x88                            |     sl += arg_88h;
    0x00000e94 mov r1, fp                                    |     r1 = fp;
    0x00000e96 blx 0xc2c                                     |     dbus_message_iter_init_append ();
    0x00000e9a ldr r2, [pc, 0x3ec]                           |     
    0x00000e9c mov r3, sl                                    |     r3 = sl;
    0x00000e9e movs r1, 0x61                                 |     r1 = 0x61;
    0x00000ea0 mov r0, fp                                    |     r0 = fp;
    0x00000ea2 add r2, pc                                    |     r2 = 0x2130;
    0x00000ea4 blx 0xcc8                                     |     r0 = dbus_message_iter_open_container ();
    0x00000ea8 cmp r0, 0                                     |     
                                                             |     if (r0 == 0) {
    0x00000eaa beq.w 0x1134                                  |         goto label_13;
                                                             |     }
    0x00000eae ldr r3, [sp, 8]                               |     r3 = *(arg_8h);
    0x00000eb0 cmp r3, 0                                     |     
                                                             |     if (r3 != 0) {
    0x00000eb2 bne.w 0x10ce                                  |         goto label_14;
                                                             |     }
                                                             | label_7:
    0x00000eb6 movs r3, 0                                    |     r3 = 0;
    0x00000eb8 mov sb, r3                                    |     sb = r3;
    0x00000eba str r3, [sp, 8]                               |     *(arg_8h) = r3;
                                                             | label_4:
    0x00000ebc ldr r2, [pc, 0x3cc]                           |     
    0x00000ebe cmp r5, 0                                     |     
    0x00000ec0 ldr r3, [pc, 0x3cc]                           |     
    0x00000ec2 it ne                                         |     
                                                             |     if (r5 == 0) {
    0x00000ec4 movne r4, 0                                   |         r4 = 0;
                                                             |     }
    0x00000ec6 str.w r8, [sp, 0x28]                          |     __asm ("str.w r8, [arg_28h]");
    0x00000eca mov r8, r4                                    |     r8 = r4;
    0x00000ecc add r2, pc                                    |     r2 = 0x215c;
    0x00000ece str.w fp, [sp, 0x2c]                          |     __asm ("str.w fp, [arg_2ch]");
    0x00000ed2 str r2, [sp, 0x14]                            |     *(arg_14h) = r2;
    0x00000ed4 add r3, pc                                    |     r3 = 0x2168;
    0x00000ed6 ldr r2, [pc, 0x3bc]                           |     
    0x00000ed8 mov fp, r3                                    |     
    0x00000eda add r2, pc                                    |     r2 = 0x2174;
    0x00000edc strd r2, sb, [sp, 0x20]                       |     __asm ("strd r2, sb, [sp, 0x20]");
    0x00000ee0 cmp r5, 0                                     |     
                                                             |     if (r5 == 0) {
    0x00000ee2 beq 0xfba                                     |         goto label_15;
                                                             |     }
                                                             |     do {
    0x00000ee4 ldr r3, [pc, 0x3b0]                           |         
    0x00000ee6 ldr r3, [r6, r3]                              |         r3 = *((r6 + r3));
    0x00000ee8 ldr r3, [r3]                                  |         r3 = *(0x1298);
    0x00000eea ldr.w r4, [r3, r8, lsl 2]                     |         r4 = *(0x1298);
    0x00000eee cmp r4, 0                                     |         
                                                             |         if (r4 == 0) {
    0x00000ef0 beq.w 0x1040                                  |             goto label_16;
                                                             |         }
                                                             | label_0:
    0x00000ef4 mov r0, r4                                    |         r0 = r4;
    0x00000ef6 add r7, sp, 0x30                              |         r7 += arg_30h;
    0x00000ef8 blx 0xcec                                     |         strdup (r0);
    0x00000efc str r0, [r7]                                  |         *(r7) = r0;
    0x00000efe cmp r0, 0                                     |         
                                                             |         if (r0 == 0) {
    0x00000f00 beq.w 0x1134                                  |             goto label_13;
                                                             |         }
    0x00000f04 movs r1, 0                                    |         r1 = 0;
    0x00000f06 mov r0, r4                                    |         r0 = r4;
    0x00000f08 blx 0xc5c                                     |         r0 = dbus_validate_utf8 ();
    0x00000f0c cmp r0, 0                                     |         
                                                             |         if (r0 == 0) {
    0x00000f0e beq 0x1002                                    |             goto label_17;
                                                             |         }
    0x00000f10 ldr r0, [r7]                                  |         r0 = *(r7);
    0x00000f12 movs r1, 0x3d                                 |         r1 = 0x3d;
    0x00000f14 blx 0xc50                                     |         strchr (r0, r1);
    0x00000f16 cdp p8, 9, c2, c12, c0, 0                     |         __asm ("cdp p8, 9, c2, c12, c0, 0");
                                                             |         if (r1 == 0x3d) {
    0x00000f1a beq 0xfc8                                     |             goto label_18;
                                                             |         }
    0x00000f1c movs r3, 0                                    |         r3 = 0;
    0x00000f1e add.w sb, sp, 0x34                            |         sb += arg_34h;
    0x00000f22 strb r3, [r0], 1                              |         *(r0) = r3;
                                                             |         r0++;
    0x00000f26 str.w r0, [sb]                                |         __asm ("str.w r0, [sb]");
                                                             | label_1:
    0x00000f2a ldr r3, [sp, 8]                               |         r3 = *(arg_8h);
                                                             |         if (r3 != 0) {
    0x00000f2c cbz r3, 0xf5e                                 |             
    0x00000f2e ldr.w r3, [sb]                                |             r3 = *(sb);
    0x00000f32 add r4, sp, 0x38                              |             r4 += ptr;
    0x00000f34 ldr r2, [sp, 0x14]                            |             r2 = *(arg_14h);
    0x00000f36 movs r1, 1                                    |             r1 = 1;
    0x00000f38 mov r0, r4                                    |             r0 = r4;
    0x00000f3a str r3, [sp]                                  |             *(sp) = r3;
    0x00000f3c ldr r3, [r7]                                  |             r3 = *(r7);
    0x00000f3e blx 0xc98                                     |             r0 = asprintf_chk ()
    0x00000f42 cmp r0, 0                                     |             
                                                             |             if (r0 < 0) {
    0x00000f44 blt.w 0x1134                                  |                 goto label_13;
                                                             |             }
    0x00000f48 mov r2, r4                                    |             r2 = r4;
    0x00000f4a movs r1, 0x73                                 |             r1 = 0x73;
    0x00000f4c add r0, sp, 0xf8                              |             r0 += arg_f8h;
    0x00000f4e blx 0xc68                                     |             r0 = dbus_message_iter_append_basic ();
    0x00000f52 cmp r0, 0                                     |             
                                                             |             if (r0 == 0) {
    0x00000f54 beq.w 0x1134                                  |                 goto label_13;
                                                             |             }
    0x00000f58 ldr r0, [sp, 0x38]                            |             r0 = *(ptr);
    0x00000f5a blx 0xc74                                     |             free (r0);
                                                             |         }
    0x00000f5e add r4, sp, 0x130                             |         r4 += arg_130h;
    0x00000f60 movs r2, 0                                    |         r2 = 0;
    0x00000f62 mov r3, r4                                    |         r3 = r4;
    0x00000f64 movs r1, 0x65                                 |         r1 = 0x65;
    0x00000f66 mov r0, sl                                    |         r0 = sl;
    0x00000f68 blx 0xcc8                                     |         r0 = dbus_message_iter_open_container ();
    0x00000f6c cmp r0, 0                                     |         
                                                             |         if (r0 == 0) {
    0x00000f6e beq.w 0x1134                                  |             goto label_13;
                                                             |         }
    0x00000f72 ldr r1, [r7]                                  |         r1 = *(r7);
    0x00000f74 mov r0, fp                                    |         r0 = fp;
    0x00000f76 ldr.w r2, [sb]                                |         r2 = *(sb);
    0x00000f7a bl 0x1410                                     |         fcn_00001410 ();
    0x00000f7e mov r2, r7                                    |         r2 = r7;
    0x00000f80 movs r1, 0x73                                 |         r1 = 0x73;
    0x00000f82 mov r0, r4                                    |         r0 = r4;
    0x00000f84 blx 0xc68                                     |         r0 = dbus_message_iter_append_basic ();
    0x00000f88 cmp r0, 0                                     |         
                                                             |         if (r0 == 0) {
    0x00000f8a beq.w 0x1134                                  |             goto label_13;
                                                             |         }
    0x00000f8e mov r2, sb                                    |         r2 = sb;
    0x00000f90 movs r1, 0x73                                 |         r1 = 0x73;
    0x00000f92 mov r0, r4                                    |         r0 = r4;
    0x00000f94 blx 0xc68                                     |         r0 = dbus_message_iter_append_basic ();
    0x00000f98 cmp r0, 0                                     |         
                                                             |         if (r0 == 0) {
    0x00000f9a beq.w 0x1134                                  |             goto label_13;
                                                             |         }
    0x00000f9e mov r1, r4                                    |         r1 = r4;
    0x00000fa0 mov r0, sl                                    |         r0 = sl;
    0x00000fa2 blx 0xd10                                     |         r0 = dbus_message_iter_close_container ();
    0x00000fa6 cmp r0, 0                                     |         
                                                             |         if (r0 == 0) {
    0x00000fa8 beq.w 0x1134                                  |             goto label_13;
                                                             |         }
                                                             | label_2:
    0x00000fac ldr r0, [r7]                                  |         r0 = *(r7);
    0x00000fae add.w r8, r8, 1                               |         r8++;
    0x00000fb2 blx 0xc74                                     |         free (r0);
    0x00000fb6 cmp r5, 0                                     |         
    0x00000fb8 bne 0xee4                                     |         
                                                             |     } while (r5 != 0);
                                                             | label_15:
    0x00000fba ldr r3, [sp, 0xc]                             |     r3 = *(arg_ch);
    0x00000fbc cmp r3, r8                                    |     
                                                             |     if (r3 <= r8) {
    0x00000fbe ble 0x1040                                    |         goto label_16;
                                                             |     }
                                                             | label_3:
    0x00000fc0 ldr r3, [sp, 0x10]                            |     r3 = *(arg_10h);
    0x00000fc2 ldr.w r4, [r3, r8, lsl 2]                     |     offset_0 = r8 << 2;
                                                             |     r4 = *((r3 + offset_0));
    0x00000fc6 b 0xef4                                       |     goto label_0;
                                                             |     if (r5 != 0) {
                                                             | label_18:
    0x00000fc8 cbnz r5, 0x101a                               |         goto label_19;
                                                             |     }
    0x00000fca mov r0, r4                                    |     r0 = r4;
    0x00000fcc add.w sb, sp, 0x34                            |     sb += arg_34h;
    0x00000fd0 blx 0xc44                                     |     getenv (r0);
    0x00000fd4 str.w r0, [sb]                                |     __asm ("str.w r0, [sb]");
                                                             |     if (r0 == 0) {
    0x00000fd8 cbz r0, 0x1030                                |         goto label_20;
                                                             |     }
    0x00000fda mov r1, r5                                    |     r1 = r5;
    0x00000fdc blx 0xc5c                                     |     r0 = dbus_validate_utf8 ();
    0x00000fe0 cmp r0, 0                                     |     
                                                             |     if (r0 != 0) {
    0x00000fe2 bne 0xf2a                                     |         goto label_1;
                                                             |     }
    0x00000fe4 ldr r3, [pc, 0x2b4]                           |     r3 = *(0x129c);
    0x00000fe6 movs r1, 1                                    |     r1 = 1;
    0x00000fe8 ldr.w r2, [sb]                                |     r2 = *(sb);
    0x00000fec ldr r3, [r6, r3]                              |     r3 = *((r6 + r3));
    0x00000fee strd r4, r2, [sp]                             |     __asm ("strd r4, r2, [sp]");
    0x00000ff2 ldr r2, [pc, 0x2ac]                           |     
    0x00000ff4 ldr r0, [r3]                                  |     r0 = *(0x129c);
    0x00000ff6 ldr r3, [pc, 0x2ac]                           |     
    0x00000ff8 add r2, pc                                    |     r2 = 0x229e;
    0x00000ffa add r3, pc                                    |     r3 = 0x22a4;
    0x00000ffc blx 0xd04                                     |     fprintf_chk ()
    0x00001000 b 0xfac                                       |     goto label_2;
                                                             | label_17:
    0x00001002 ldr r3, [pc, 0x298]                           |     r3 = *(0x129e);
    0x00001004 movs r1, 1                                    |     r1 = 1;
    0x00001006 ldr r2, [pc, 0x2a0]                           |     
    0x00001008 ldr r3, [r6, r3]                              |     r3 = *((r6 + r3));
    0x0000100a str r4, [sp]                                  |     *(sp) = r4;
    0x0000100c add r2, pc                                    |     r2 = 0x22ba;
    0x0000100e ldr r0, [r3]                                  |     r0 = *(0x129e);
    0x00001010 ldr r3, [pc, 0x298]                           |     
    0x00001012 add r3, pc                                    |     r3 = 0x22c2;
    0x00001014 blx 0xd04                                     |     fprintf_chk ()
    0x00001018 b 0xfac                                       |     goto label_2;
                                                             | label_19:
    0x0000101a ldr r3, [pc, 0x280]                           |     r3 = *(0x129e);
    0x0000101c movs r1, 1                                    |     r1 = 1;
    0x0000101e ldr r2, [pc, 0x290]                           |     
    0x00001020 ldr r3, [r6, r3]                              |     r3 = *((r6 + r3));
    0x00001022 add r2, pc                                    |     r2 = 0x22d8;
    0x00001024 str r4, [sp]                                  |     *(sp) = r4;
    0x00001026 ldr r0, [r3]                                  |     r0 = *(0x129e);
    0x00001028 ldr r3, [sp, 0x20]                            |     r3 = *(arg_20h);
    0x0000102a blx 0xd04                                     |     fprintf_chk ()
    0x0000102e b 0xfac                                       |     goto label_2;
                                                             | label_20:
    0x00001030 ldr r0, [r7]                                  |     r0 = *(r7);
    0x00001032 add.w r8, r8, 1                               |     r8++;
    0x00001036 blx 0xc74                                     |     free (r0);
    0x0000103a ldr r3, [sp, 0xc]                             |     r3 = *(arg_ch);
    0x0000103c cmp r3, r8                                    |     
                                                             |     if (r3 > r8) {
    0x0000103e bgt 0xfc0                                     |         goto label_3;
                                                             |     }
                                                             | label_16:
    0x00001040 ldr.w fp, [sp, 0x2c]                          |     fp = *(arg_2ch);
    0x00001044 mov r1, sl                                    |     r1 = sl;
    0x00001046 ldrd sb, r8, [sp, 0x24]                       |     __asm ("ldrd sb, r8, [arg_24h]");
    0x0000104a mov r0, fp                                    |     r0 = fp;
    0x0000104c blx 0xd10                                     |     r0 = dbus_message_iter_close_container ();
    0x00001050 cmp r0, 0                                     |     
                                                             |     if (r0 == 0) {
    0x00001052 beq 0x1134                                    |         goto label_13;
                                                             |     }
    0x00001054 ldr r3, [sp, 8]                               |     r3 = *(arg_8h);
                                                             |     if (r3 != 0) {
    0x00001056 cbz r3, 0x1064                                |         
    0x00001058 add r1, sp, 0xf8                              |         r1 += arg_f8h;
    0x0000105a add r0, sp, 0xc0                              |         r0 += arg_c0h;
    0x0000105c blx 0xd10                                     |         r0 = dbus_message_iter_close_container ();
    0x00001060 cmp r0, 0                                     |         
                                                             |         if (r0 == 0) {
    0x00001062 beq 0x1134                                    |             goto label_13;
                                                             |         }
                                                             |     }
    0x00001064 ldr r3, [sp, 0x18]                            |     r3 = *(arg_18h);
    0x00001066 mov.w r2, -1                                  |     r2 = -1;
    0x0000106a ldr r1, [sp, 0x1c]                            |     r1 = *(arg_1ch);
    0x0000106c mov r0, r8                                    |     r0 = r8;
    0x0000106e blx 0xcd4                                     |     r0 = dbus_connection_send_with_reply_and_block ();
    0x00001072 mov r4, r0                                    |     r4 = r0;
    0x00001074 cmp r0, 0                                     |     
                                                             |     if (r0 == 0) {
    0x00001076 beq.w 0x1220                                  |         goto label_21;
                                                             |     }
    0x0000107a ldrd r0, r1, [sp, 0x18]                       |     __asm ("ldrd r0, r1, [arg_18h]");
    0x0000107e blx 0xd34                                     |     r0 = dbus_set_error_from_message ();
    0x00001082 mov r2, r0                                    |     r2 = r0;
    0x00001084 cmp r0, 0                                     |     
                                                             |     if (r0 != 0) {
    0x00001086 bne.w 0x1244                                  |         goto label_22;
                                                             |     }
    0x0000108a ldrd r1, r0, [sp, 0x18]                       |     __asm ("ldrd r1, r0, [arg_18h]");
    0x0000108e blx 0xd70                                     |     r0 = dbus_message_get_args ();
    0x00001092 cmp r0, 0                                     |     
                                                             |     if (r0 == 0) {
    0x00001094 beq.w 0x1244                                  |         goto label_22;
                                                             |     }
    0x00001098 mov r0, r4                                    |     r0 = r4;
    0x0000109a blx 0xcb0                                     |     dbus_message_unref ();
    0x0000109e ldr r3, [sp, 8]                               |     r3 = *(arg_8h);
    0x000010a0 cmp r3, 0                                     |     
                                                             |     if (r3 != 0) {
    0x000010a2 bne 0x1142                                    |         goto label_23;
                                                             |     }
                                                             | label_6:
    0x000010a4 ldr r0, [sp, 0x1c]                            |     r0 = *(arg_1ch);
    0x000010a6 blx 0xcb0                                     |     dbus_message_unref ();
    0x000010aa mov r0, r8                                    |     r0 = r8;
    0x000010ac blx 0xc14                                     |     dbus_connection_unref ();
    0x000010b0 ldr r2, [pc, 0x200]                           |     
    0x000010b2 ldr r3, [pc, 0x1b0]                           |     r3 = *(0x1266);
    0x000010b4 add r2, pc                                    |     r2 = 0x236c;
    0x000010b6 ldr r3, [r2, r3]                              |     r3 = *(0x236c);
    0x000010b8 ldr r2, [r3]                                  |     r2 = *(0x236c);
    0x000010ba ldr r3, [sp, 0x19c]                           |     r3 = *(arg_19ch);
    0x000010bc eors r2, r3                                   |     r2 ^= r3;
    0x000010be mov.w r3, 0                                   |     r3 = 0;
                                                             |     if (r2 != r3) {
    0x000010c2 bne.w 0x125a                                  |         goto label_24;
                                                             |     }
    0x000010c6 movs r0, 0                                    |     r0 = 0;
    0x000010c8 add sp, 0x1a4                                 |     
    0x000010ca pop.w {r4, r5, r6, r7, r8, sb, sl, fp, pc}    |     
                                                             | label_14:
    0x000010ce ldr r0, [pc, 0x1e8]                           |     
    0x000010d0 add r0, pc                                    |     r0 = 0x238e;
    0x000010d2 blx 0xc44                                     |     r0 = getenv (r0);
    0x000010d6 mov r3, r0                                    |     r3 = r0;
    0x000010d8 cmp r0, 0                                     |     
                                                             |     if (r0 == 0) {
    0x000010da beq 0x1198                                    |         goto label_25;
                                                             |     }
    0x000010dc ldr r2, [pc, 0x1dc]                           |     
    0x000010de add r7, sp, 0x3c                              |     r7 += arg_3ch;
    0x000010e0 movs r1, 1                                    |     r1 = 1;
    0x000010e2 mov r0, r7                                    |     r0 = r7;
    0x000010e4 add r2, pc                                    |     r2 = 0x23a4;
    0x000010e6 blx 0xc98                                     |     r0 = asprintf_chk ()
    0x000010ea cmp r0, 0                                     |     
                                                             |     if (r0 < 0) {
    0x000010ec blt 0x1134                                    |         goto label_13;
                                                             |     }
    0x000010ee ldr r0, [r7]                                  |     r0 = *(r7);
    0x000010f0 add r1, sp, 0x130                             |     r1 += arg_130h;
    0x000010f2 blx 0xc8c                                     |     r0 = stat64 ();
    0x000010f6 cmp r0, 0                                     |     
                                                             |     if (r0 != 0) {
    0x000010f8 bne 0x1192                                    |         goto label_26;
                                                             |     }
    0x000010fa ldr r0, [r7]                                  |     r0 = *(r7);
    0x000010fc blx 0xc74                                     |     free (r0);
    0x00001100 ldr r3, [pc, 0x1bc]                           |     
    0x00001102 ldr r2, [pc, 0x1c0]                           |     
    0x00001104 ldr r1, [pc, 0x1c0]                           |     
    0x00001106 ldr r0, [pc, 0x1c4]                           |     
    0x00001108 add r3, pc                                    |     r3 = 0x23cc;
    0x0000110a add r2, pc                                    |     r2 = 0x23d4;
    0x0000110c add r1, pc                                    |     r1 = 0x23d8;
    0x0000110e add r0, pc                                    |     r0 = 0x23e0;
    0x00001110 blx 0xca4                                     |     r0 = dbus_message_new_method_call ();
    0x00001114 mov sb, r0                                    |     sb = r0;
                                                             |     if (r0 == 0) {
    0x00001116 cbz r0, 0x1134                                |         goto label_13;
                                                             |     }
    0x00001118 add r7, sp, 0xc0                              |     r7 += arg_c0h;
    0x0000111a mov r1, r7                                    |     r1 = r7;
    0x0000111c blx 0xc2c                                     |     dbus_message_iter_init_append ();
    0x00001120 ldr r2, [pc, 0x1ac]                           |     
    0x00001122 mov r0, r7                                    |     r0 = r7;
    0x00001124 add r3, sp, 0xf8                              |     r3 += arg_f8h;
    0x00001126 movs r1, 0x61                                 |     r1 = 0x61;
    0x00001128 add r2, pc                                    |     r2 = 0x23fc;
    0x0000112a blx 0xcc8                                     |     r0 = dbus_message_iter_open_container ();
    0x0000112e cmp r0, 0                                     |     
                                                             |     if (r0 != 0) {
    0x00001130 bne.w 0xebc                                   |         goto label_4;
                                                             |     }
                                                             | label_13:
    0x00001134 ldr r0, [pc, 0x19c]                           |     
    0x00001136 add r0, pc                                    |     r0 = 0x240e;
    0x00001138 bl 0x14a0                                     |     tool_oom ();
    0x0000113c ldr r6, [sp, 0x1c]                            |     r6 = *(arg_1ch);
    0x0000113e adds r4, 1                                    |     r4++;
    0x00001140 b 0xe50                                       |     goto label_5;
                                                             | label_23:
    0x00001142 ldr r3, [sp, 0x18]                            |     r3 = *(arg_18h);
    0x00001144 mov.w r2, -1                                  |     r2 = -1;
    0x00001148 mov r1, sb                                    |     r1 = sb;
    0x0000114a mov r0, r8                                    |     r0 = r8;
    0x0000114c blx 0xcd4                                     |     r0 = dbus_connection_send_with_reply_and_block ();
    0x00001150 mov r4, r0                                    |     r4 = r0;
                                                             |     if (r0 == 0) {
    0x00001152 cbz r0, 0x11b0                                |         goto label_27;
                                                             |     }
    0x00001154 ldrd r0, r1, [sp, 0x18]                       |     __asm ("ldrd r0, r1, [arg_18h]");
    0x00001158 blx 0xd34                                     |     r0 = dbus_set_error_from_message ();
    0x0000115c mov r2, r0                                    |     r2 = r0;
    0x0000115e cbz r0, 0x11a2                                |     
                                                             |     while (r0 == 0) {
    0x00001160 ldr r3, [pc, 0x138]                           |         r3 = *(0x129c);
    0x00001162 movs r1, 1                                    |         r1 = 1;
    0x00001164 ldr r2, [sp, 0x18]                            |         r2 = *(arg_18h);
    0x00001166 ldr r3, [r6, r3]                              |         r3 = *((r6 + r3));
    0x00001168 ldr r0, [r3]                                  |         r0 = *(0x129c);
    0x0000116a ldr r3, [r2, 4]                               |         r3 = *((r2 + 4));
    0x0000116c str r3, [sp, 4]                               |         var_4h = r3;
    0x0000116e ldr r3, [r2]                                  |         r3 = *(r2);
    0x00001170 ldr r2, [pc, 0x164]                           |         
    0x00001172 str r3, [sp]                                  |         *(sp) = r3;
    0x00001174 ldr r3, [pc, 0x164]                           |         
    0x00001176 add r2, pc                                    |         r2 = 0x2452;
    0x00001178 add r3, pc                                    |         r3 = 0x2458;
    0x0000117a blx 0xd04                                     |         fprintf_chk ()
                                                             | label_8:
    0x0000117e mov r0, r4                                    |         r0 = r4;
    0x00001180 blx 0xcb0                                     |         dbus_message_unref ();
                                                             | label_9:
    0x00001184 mov r0, sb                                    |         r0 = sb;
    0x00001186 blx 0xcb0                                     |         dbus_message_unref ();
    0x0000118a ldr r0, [sp, 0x18]                            |         r0 = *(arg_18h);
    0x0000118c blx 0xd28                                     |         dbus_error_free ();
    0x00001190 b 0x10a4                                      |         goto label_6;
                                                             | label_26:
    0x00001192 ldr r0, [r7]                                  |         r0 = *(r7);
    0x00001194 blx 0xc74                                     |         free (r0);
                                                             | label_25:
    0x00001198 ldr r0, [pc, 0x144]                           |         
    0x0000119a add r0, pc                                    |         r0 = 0x247e;
    0x0000119c bl 0x1410                                     |         fcn_00001410 ();
    0x000011a0 b 0xeb6                                       |         goto label_7;
    0x000011a2 ldrd r1, r0, [sp, 0x18]                       |         __asm ("ldrd r1, r0, [arg_18h]");
    0x000011a6 blx 0xd70                                     |         r0 = dbus_message_get_args ();
    0x000011aa cmp r0, 0                                     |         
    0x000011ac beq 0x1160                                    |         
                                                             |     }
    0x000011ae b 0x117e                                      |     goto label_8;
                                                             | label_27:
    0x000011b0 ldr r3, [pc, 0xe8]                            |     r3 = *(0x129c);
    0x000011b2 movs r1, 1                                    |     r1 = 1;
    0x000011b4 ldr r2, [sp, 0x18]                            |     r2 = *(arg_18h);
    0x000011b6 ldr r3, [r6, r3]                              |     r3 = *((r6 + r3));
    0x000011b8 ldr r0, [r3]                                  |     r0 = *(0x129c);
    0x000011ba ldr r3, [r2, 4]                               |     r3 = *((r2 + 4));
    0x000011bc str r3, [sp, 4]                               |     var_4h = r3;
    0x000011be ldr r3, [r2]                                  |     r3 = *(r2);
    0x000011c0 ldr r2, [pc, 0x120]                           |     
    0x000011c2 str r3, [sp]                                  |     *(sp) = r3;
    0x000011c4 ldr r3, [pc, 0x120]                           |     
    0x000011c6 add r2, pc                                    |     r2 = 0x24ae;
    0x000011c8 add r3, pc                                    |     r3 = 0x24b4;
    0x000011ca blx 0xd04                                     |     fprintf_chk ()
    0x000011ce b 0x1184                                      |     goto label_9;
                                                             | label_11:
    0x000011d8 ldr r3, [pc, 0x110]                           |     
    0x000011da ldr r2, [pc, 0x114]                           |     
    0x000011dc ldr r0, [pc, 0xbc]                            |     r0 = *(0x129c);
    0x000011de add r3, pc                                    |     r3 = 0x24ce;
    0x000011e0 add r2, pc                                    |     r2 = 0x24d6;
                                                             |     do {
    0x000011e2 ldr r0, [r6, r0]                              |         r0 = *((r6 + r0));
    0x000011e4 movs r1, 1                                    |         r1 = 1;
    0x000011e6 ldr r0, [r0]                                  |         r0 = *(r0);
    0x000011e8 blx 0xd04                                     |         fprintf_chk ()
    0x000011ec movs r0, 0x40                                 |         r0 = 0x40;
    0x000011ee blx 0xd58                                     |         exit (r0);
                                                             | label_12:
    0x000011f2 ldr r3, [sp, 0x18]                            |         r3 = *(arg_18h);
    0x000011f4 ldr r1, [pc, 0xa4]                            |         r1 = *(0x129c);
    0x000011f6 ldr r2, [pc, 0xfc]                            |         
    0x000011f8 ldr r4, [r3, 4]                               |         r4 = *((r3 + 4));
    0x000011fa ldr r0, [r6, r1]                              |         r0 = *((r6 + r1));
    0x000011fc movs r1, 1                                    |         r1 = 1;
    0x000011fe ldr r3, [pc, 0xf8]                            |         
    0x00001200 add r2, pc                                    |         r2 = 0x24fa;
    0x00001202 str r4, [sp]                                  |         *(sp) = r4;
    0x00001204 ldr r0, [r0]                                  |         r0 = *(r0);
    0x00001206 add r3, pc                                    |         r3 = 0x2504;
    0x00001208 blx 0xd04                                     |         fprintf_chk ()
    0x0000120c movs r0, 0x47                                 |         r0 = 0x47;
    0x0000120e blx 0xd58                                     |         exit (r0);
    0x00001212 ldr r3, [pc, 0xe8]                            |         
    0x00001214 ldr r2, [pc, 0xe8]                            |         
    0x00001216 ldr r6, [sp, 0x1c]                            |         r6 = *(arg_1ch);
    0x00001218 ldr r0, [pc, 0x80]                            |         r0 = *(0x129c);
    0x0000121a add r3, pc                                    |         r3 = 0x251c;
    0x0000121c add r2, pc                                    |         r2 = 0x2520;
    0x0000121e b 0x11e2                                      |         
                                                             |     } while (1);
                                                             | label_21:
    0x00001220 ldr r2, [pc, 0x78]                            |     r2 = *(0x129c);
    0x00001222 ldr r3, [sp, 0x18]                            |     r3 = *(arg_18h);
    0x00001224 ldr r0, [r6, r2]                              |     r0 = *((r6 + r2));
    0x00001226 ldrd r4, r1, [r3]                             |     __asm ("ldrd r4, r1, [r3]");
    0x0000122a ldr r2, [pc, 0xd8]                            |     
    0x0000122c ldr r3, [pc, 0xd8]                            |     
    0x0000122e str r1, [sp, 4]                               |     var_4h = r1;
    0x00001230 add r2, pc                                    |     r2 = 0x253a;
    0x00001232 add r3, pc                                    |     r3 = 0x253e;
                                                             |     do {
    0x00001234 str r4, [sp]                                  |         *(sp) = r4;
    0x00001236 movs r1, 1                                    |         r1 = 1;
    0x00001238 ldr r0, [r0]                                  |         r0 = *(r0);
    0x0000123a blx 0xd04                                     |         fprintf_chk ()
    0x0000123e movs r0, 0x45                                 |         r0 = 0x45;
    0x00001240 blx 0xd58                                     |         exit (r0);
                                                             | label_22:
    0x00001244 ldr r2, [pc, 0x54]                            |         r2 = *(0x129c);
    0x00001246 ldr r3, [sp, 0x18]                            |         r3 = *(arg_18h);
    0x00001248 ldr r0, [r6, r2]                              |         r0 = *((r6 + r2));
    0x0000124a ldrd r4, r1, [r3]                             |         __asm ("ldrd r4, r1, [r3]");
    0x0000124e ldr r2, [pc, 0xbc]                            |         
    0x00001250 ldr r3, [pc, 0xbc]                            |         
    0x00001252 str r1, [sp, 4]                               |         var_4h = r1;
    0x00001254 add r2, pc                                    |         r2 = 0x2566;
    0x00001256 add r3, pc                                    |         r3 = 0x256a;
    0x00001258 b 0x1234                                      |         
                                                             |     } while (1);
                                                             | label_24:
    0x0000125a blx 0xcf8                                     |     stack_chk_fail ();
    0x0000125e nop                                           |     
    0x00001260 movs r1, 0xac                                 |     r1 = 0xac;
    0x00001262 movs r0, r0                                   |     
    0x00001264 lsls r0, r3, 2                                |     r0 = r3 << 2;
    0x00001266 movs r0, r0                                   |     
    0x00001268 movs r1, 0xa2                                 |     r1 = 0xa2;
    0x0000126a movs r0, r0                                   |     
    0x0000126c lsrs r2, r0, 1                                |     r2 = r0 >> 1;
    0x0000126e movs r0, r0                                   |     
    0x00001270 lsrs r0, r5, 0x20                             |     r0 = r5 >> 0x20;
    0x00001272 movs r0, r0                                   |     
    0x00001274 lsrs r6, r5, 0x20                             |     r6 = r5 >> 0x20;
    0x00001276 movs r0, r0                                   |     
    0x00001278 movs r2, 0x1e                                 |     r2 = 0x1e;
    0x0000127a movs r0, r0                                   |     
    0x0000127c lsrs r0, r4, 9                                |     r0 = r4 >> 9;
    0x0000127e movs r0, r0                                   |     
    0x00001280 lsrs r2, r0, 9                                |     r2 = r0 >> 9;
    0x00001282 movs r0, r0                                   |     
    0x00001284 lsrs r2, r6, 9                                |     r2 = r6 >> 9;
    0x00001286 movs r0, r0                                   |     
    0x00001288 lsrs r6, r7, 9                                |     r6 = r7 >> 9;
    0x0000128a movs r0, r0                                   |     
    0x0000128c lsrs r0, r0, 0xf                              |     r0 >>= 0xf;
    0x0000128e movs r0, r0                                   |     
    0x00001290 lsrs r0, r6, 0xe                              |     r0 = r6 >> 0xe;
    0x00001292 movs r0, r0                                   |     
    0x00001294 lsls r6, r0, 0x1c                             |     r6 = r0 << 0x1c;
    0x00001296 movs r0, r0                                   |     
    0x00001298 lsls r4, r2, 2                                |     r4 = r2 << 2;
    0x0000129a movs r0, r0                                   |     
    0x0000129c lsls r4, r3, 2                                |     r4 = r3 << 2;
    0x0000129e movs r0, r0                                   |     
    0x000012a0 lsrs r0, r3, 9                                |     r0 = r3 >> 9;
    0x000012a2 movs r0, r0                                   |     
    0x000012a4 lsls r6, r4, 0x17                             |     r6 = r4 << 0x17;
    0x000012a6 movs r0, r0                                   |     
    0x000012a8 lsrs r4, r3, 7                                |     r4 = r3 >> 7;
    0x000012aa movs r0, r0                                   |     
    0x000012ac lsls r6, r1, 0x17                             |     r6 = r1 << 0x17;
    0x000012ae movs r0, r0                                   |     
    0x000012b0 lsrs r2, r7, 7                                |     r2 = r7 >> 7;
    0x000012b2 movs r0, r0                                   |     
    0x000012b4 subs r0, r4, 2                                |     r0 = r4 - 2;
    0x000012b6 movs r0, r0                                   |     
    0x000012b8 lsrs r0, r3, 1                                |     r0 = r3 >> 1;
    0x000012ba movs r0, r0                                   |     
    0x000012bc lsrs r4, r2, 1                                |     r4 = r2 >> 1;
    0x000012be movs r0, r0                                   |     
    0x000012c0 lsrs r4, r7, 0x20                             |     r4 = r7 >> 0x20;
    0x000012c2 movs r0, r0                                   |     
    0x000012c4 lsrs r2, r1, 1                                |     r2 = r1 >> 1;
    0x000012c6 movs r0, r0                                   |     
    0x000012c8 lsrs r4, r5, 1                                |     r4 = r5 >> 1;
    0x000012ca movs r0, r0                                   |     
    0x000012cc lsrs r6, r0, 2                                |     r6 = r0 >> 2;
    0x000012ce movs r0, r0                                   |     
    0x000012d0 lsrs r0, r5, 5                                |     r0 = r5 >> 5;
    0x000012d2 movs r0, r0                                   |     
    0x000012d4 lsls r2, r2, 0x1f                             |     r2 <<= 0x1f;
    0x000012d6 movs r0, r0                                   |     
    0x000012d8 lsrs r6, r3, 6                                |     r6 = r3 >> 6;
    0x000012da movs r0, r0                                   |     
    0x000012dc lsls r0, r5, 0x11                             |     r0 = r5 << 0x11;
    0x000012de movs r0, r0                                   |     
    0x000012e0 lsrs r6, r2, 0x20                             |     r6 = r2 >> 0x20;
    0x000012e2 movs r0, r0                                   |     
    0x000012e4 lsrs r6, r3, 4                                |     r6 = r3 >> 4;
    0x000012e6 movs r0, r0                                   |     
    0x000012e8 lsls r0, r3, 0x10                             |     r0 = r3 << 0x10;
    0x000012ea movs r0, r0                                   |     
    0x000012ec lsls r2, r0, 0x10                             |     r2 = r0 << 0x10;
    0x000012ee movs r0, r0                                   |     
    0x000012f0 lsls r0, r6, 0x19                             |     r0 = r6 << 0x19;
    0x000012f2 movs r0, r0                                   |     
    0x000012f4 lsls r0, r2, 0x1a                             |     r0 = r2 << 0x1a;
    0x000012f6 movs r0, r0                                   |     
    0x000012f8 lsls r2, r3, 0xf                              |     r2 = r3 << 0xf;
    0x000012fa movs r0, r0                                   |     
    0x000012fc lsls r6, r0, 0xf                              |     r6 = r0 << 0xf;
    0x000012fe movs r0, r0                                   |     
    0x00001300 lsls r0, r2, 0x10                             |     r0 = r2 << 0x10;
    0x00001302 movs r0, r0                                   |     
    0x00001304 lsrs r4, r4, 1                                |     r4 >>= 1;
    0x00001306 movs r0, r0                                   |     
    0x00001308 lsls r6, r5, 0xe                              |     r6 = r5 << 0xe;
    0x0000130a movs r0, r0                                   |     
    0x0000130c lsrs r4, r5, 1                                |     r4 = r5 >> 1;
    0x0000130e movs r0, r0                                   |     
    0x00001310 lsls r2, r1, 0xe                              |     r2 = r1 << 0xe;
    0x00001312 movs r0, r0                                   |     
    0x00001348 adds r0, 0x14                                 |     r0 += 0x14;
    0x0000134a b 0xe8c                                       |     goto label_10;
                                                             | }

[*] Function printf used 11 times dbus-update-activation-environment