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

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


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

    ; assembly                                               | /* r2dec pseudo code output */
                                                             | /* /logs/firmware/patool_extraction/rootfs.img_unblob_extracted/rootfs.img_extract/0-50593792.squashfs_v4_le_extract/usr/bin/dbus-update-activation-environment @ 0x1090 */
                                                             | #include <stdint.h>
                                                             |  
    ; (fcn) fcn.00001090 ()                                  | void fcn_00001090 (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_50h, 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_4:
    0x00000bb6 ldr r3, [sp, 0xc]                             |     r3 = *(arg_ch);
    0x00000bb8 cmp r4, r3                                    |     
                                                             |     if (r4 < r3) {
    0x00000bba bge 0xbc2                                     |         
    0x00000bbc cmp r5, 0                                     |         
                                                             |         if (r5 != 0) {
    0x00000bbe bne.w 0xf5e                                   |             goto label_9;
                                                             |         }
                                                             |     }
    0x00000bc2 ldr r1, [sp, 0x18]                            |     r1 = *(arg_18h);
    0x00000bc4 movs r0, 0                                    |     r0 = 0;
    0x00000bc6 blx 0x97c                                     |     dbus_bus_get ();
    0x00000bca str r0, [sp, 0x20]                            |     *(arg_20h) = r0;
    0x00000bcc cmp r0, 0                                     |     
                                                             |     if (r0 == 0) {
    0x00000bce beq.w 0xf78                                   |         goto label_10;
                                                             |     }
    0x00000bd2 ldr r2, [pc, 0x3f0]                           |     r2 = *(0xfc6);
                                                             | label_8:
    0x00000bd4 ldr r3, [pc, 0x3f0]                           |     
    0x00000bd6 ldr r1, [pc, 0x3f4]                           |     
    0x00000bd8 add r2, pc                                    |     r2 += pc;
    0x00000bda add r3, pc                                    |     r3 = 0x1ba6;
    0x00000bdc mov r0, r2                                    |     r0 = r2;
    0x00000bde add r1, pc                                    |     r1 = 0x1bb0;
    0x00000be0 blx 0xa84                                     |     dbus_message_new_method_call ();
    0x00000be4 str r0, [sp, 0x1c]                            |     *(arg_1ch) = r0;
    0x00000be6 cmp r0, 0                                     |     
                                                             |     if (r0 == 0) {
    0x00000be8 beq.w 0xe74                                   |         goto label_11;
                                                             |     }
    0x00000bec add r3, sp, 0x50                              |     r3 += arg_50h;
    0x00000bee add.w sl, sp, 0x88                            |     sl += arg_88h;
    0x00000bf2 mov r1, r3                                    |     r1 = r3;
    0x00000bf4 mov r7, r3                                    |     r7 = r3;
    0x00000bf6 str r3, [sp, 0x28]                            |     *(arg_28h) = r3;
    0x00000bf8 blx 0x994                                     |     dbus_message_iter_init_append ();
    0x00000bfc ldr r2, [pc, 0x3d0]                           |     
    0x00000bfe mov r3, sl                                    |     r3 = sl;
    0x00000c00 movs r1, 0x61                                 |     r1 = 0x61;
    0x00000c02 mov r0, r7                                    |     r0 = r7;
    0x00000c04 add r2, pc                                    |     r2 = 0x1bd8;
    0x00000c06 blx 0xa9c                                     |     r0 = dbus_message_iter_open_container ();
    0x00000c0a cmp r0, 0                                     |     
                                                             |     if (r0 == 0) {
    0x00000c0c beq.w 0xe74                                   |         goto label_11;
                                                             |     }
    0x00000c10 ldr r3, [sp, 8]                               |     r3 = *(arg_8h);
    0x00000c12 cmp r3, 0                                     |     
                                                             |     if (r3 != 0) {
    0x00000c14 bne.w 0xe0e                                   |         goto label_12;
                                                             |     }
    0x00000c16 strh r3, [r7, 6]                              |     *((r7 + 6)) = r3;
    0x00000c18 ldr r3, [sp, 8]                               |     r3 = *(arg_8h);
    0x00000c1a str r3, [sp, 0x2c]                            |     *(arg_2ch) = r3;
                                                             | label_3:
    0x00000c1c ldr r3, [pc, 0x3b4]                           |     
    0x00000c1e cmp r5, 0                                     |     
    0x00000c20 ldr.w fp, [pc, 0x3b4]                         |     
    0x00000c24 it ne                                         |     
                                                             |     if (r5 == 0) {
    0x00000c26 movne r4, 0                                   |         r4 = 0;
                                                             |     }
    0x00000c28 mov r8, r4                                    |     r8 = r4;
    0x00000c2a add r3, pc                                    |     r3 = 0x1c02;
    0x00000c2c str r3, [sp, 0x14]                            |     *(arg_14h) = r3;
    0x00000c2e add fp, pc                                    |     fp = 0x1c0a;
    0x00000c30 ldr r3, [pc, 0x3a8]                           |     
    0x00000c32 add r3, pc                                    |     r3 = 0x1c12;
    0x00000c34 str r3, [sp, 0x24]                            |     *(arg_24h) = r3;
    0x00000c36 cmp r5, 0                                     |     
                                                             |     if (r5 == 0) {
    0x00000c38 beq 0xd10                                     |         goto label_13;
                                                             |     }
                                                             |     do {
    0x00000c3a ldr r3, [pc, 0x3a4]                           |         
    0x00000c3c ldr r3, [r6, r3]                              |         r3 = *((r6 + r3));
    0x00000c3e ldr r3, [r3]                                  |         r3 = *(0xfe2);
    0x00000c40 ldr.w r4, [r3, r8, lsl 2]                     |         r4 = *(0xfe2);
    0x00000c44 cmp r4, 0                                     |         
                                                             |         if (r4 == 0) {
    0x00000c46 beq.w 0xd88                                   |             goto label_14;
                                                             |         }
                                                             | label_0:
    0x00000c4a mov r0, r4                                    |         r0 = r4;
    0x00000c4c add r7, sp, 0x30                              |         r7 += arg_30h;
    0x00000c4e blx 0x9f4                                     |         strdup (r0);
    0x00000c52 str r0, [r7]                                  |         *(r7) = r0;
    0x00000c54 cmp r0, 0                                     |         
                                                             |         if (r0 == 0) {
    0x00000c56 beq.w 0xe74                                   |             goto label_11;
                                                             |         }
    0x00000c5a movs r1, 0                                    |         r1 = 0;
    0x00000c5c mov r0, r4                                    |         r0 = r4;
    0x00000c5e blx 0x9dc                                     |         r0 = dbus_validate_utf8 ();
    0x00000c62 cmp r0, 0                                     |         
                                                             |         if (r0 == 0) {
    0x00000c64 beq 0xd58                                     |             goto label_15;
                                                             |         }
    0x00000c66 ldr r0, [r7]                                  |         r0 = *(r7);
    0x00000c68 movs r1, 0x3d                                 |         r1 = 0x3d;
    0x00000c6a blx 0xa90                                     |         r0 = strchr (r0, r1);
    0x00000c6e cmp r0, 0                                     |         
                                                             |         if (r0 == 0) {
    0x00000c70 beq 0xd1e                                     |             goto label_16;
                                                             |         }
    0x00000c72 movs r3, 0                                    |         r3 = 0;
    0x00000c74 add.w sb, sp, 0x34                            |         sb += arg_34h;
    0x00000c78 strb r3, [r0], 1                              |         *(r0) = r3;
                                                             |         r0++;
    0x00000c7c str.w r0, [sb]                                |         __asm ("str.w r0, [sb]");
                                                             | label_2:
    0x00000c80 ldr r3, [sp, 8]                               |         r3 = *(arg_8h);
                                                             |         if (r3 != 0) {
    0x00000c82 cbz r3, 0xcb4                                 |             
    0x00000c84 ldr.w r3, [sb]                                |             r3 = *(sb);
    0x00000c88 add r4, sp, 0x38                              |             r4 += ptr;
    0x00000c8a ldr r2, [sp, 0x14]                            |             r2 = *(arg_14h);
    0x00000c8c movs r1, 1                                    |             r1 = 1;
    0x00000c8e mov r0, r4                                    |             r0 = r4;
    0x00000c90 str r3, [sp]                                  |             *(sp) = r3;
    0x00000c92 ldr r3, [r7]                                  |             r3 = *(r7);
    0x00000c94 blx 0xa48                                     |             r0 = asprintf_chk ()
    0x00000c98 cmp r0, 0                                     |             
                                                             |             if (r0 < 0) {
    0x00000c9a blt.w 0xe74                                   |                 goto label_11;
                                                             |             }
    0x00000c9e mov r2, r4                                    |             r2 = r4;
    0x00000ca0 movs r1, 0x73                                 |             r1 = 0x73;
    0x00000ca2 add r0, sp, 0xf8                              |             r0 += arg_f8h;
    0x00000ca4 blx 0x9c4                                     |             r0 = dbus_message_iter_append_basic ();
    0x00000ca8 cmp r0, 0                                     |             
                                                             |             if (r0 == 0) {
    0x00000caa beq.w 0xe74                                   |                 goto label_11;
                                                             |             }
    0x00000cae ldr r0, [sp, 0x38]                            |             r0 = *(ptr);
    0x00000cb0 blx 0x9d0                                     |             free (r0);
                                                             |         }
    0x00000cb4 add r4, sp, 0x130                             |         r4 += arg_130h;
    0x00000cb6 movs r2, 0                                    |         r2 = 0;
    0x00000cb8 mov r3, r4                                    |         r3 = r4;
    0x00000cba movs r1, 0x65                                 |         r1 = 0x65;
    0x00000cbc mov r0, sl                                    |         r0 = sl;
    0x00000cbe blx 0xa9c                                     |         r0 = dbus_message_iter_open_container ();
    0x00000cc2 cmp r0, 0                                     |         
                                                             |         if (r0 == 0) {
    0x00000cc4 beq.w 0xe74                                   |             goto label_11;
                                                             |         }
    0x00000cc8 ldr r1, [r7]                                  |         r1 = *(r7);
    0x00000cca mov r0, fp                                    |         r0 = fp;
    0x00000ccc ldr.w r2, [sb]                                |         r2 = *(sb);
    0x00000cd0 bl 0x1158                                     |         fcn_00001158 ();
    0x00000cd4 mov r2, r7                                    |         r2 = r7;
    0x00000cd6 movs r1, 0x73                                 |         r1 = 0x73;
    0x00000cd8 mov r0, r4                                    |         r0 = r4;
    0x00000cda blx 0x9c4                                     |         r0 = dbus_message_iter_append_basic ();
    0x00000cde cmp r0, 0                                     |         
                                                             |         if (r0 == 0) {
    0x00000ce0 beq.w 0xe74                                   |             goto label_11;
                                                             |         }
    0x00000ce4 mov r2, sb                                    |         r2 = sb;
    0x00000ce6 movs r1, 0x73                                 |         r1 = 0x73;
    0x00000ce8 mov r0, r4                                    |         r0 = r4;
    0x00000cea blx 0x9c4                                     |         r0 = dbus_message_iter_append_basic ();
    0x00000cee cmp r0, 0                                     |         
                                                             |         if (r0 == 0) {
    0x00000cf0 beq.w 0xe74                                   |             goto label_11;
                                                             |         }
    0x00000cf4 mov r1, r4                                    |         r1 = r4;
    0x00000cf6 mov r0, sl                                    |         r0 = sl;
    0x00000cf8 blx 0xa24                                     |         r0 = dbus_message_iter_close_container ();
    0x00000cfc cmp r0, 0                                     |         
                                                             |         if (r0 == 0) {
    0x00000cfe beq.w 0xe74                                   |             goto label_11;
                                                             |         }
                                                             | label_1:
    0x00000d02 ldr r0, [r7]                                  |         r0 = *(r7);
    0x00000d04 add.w r8, r8, 1                               |         r8++;
    0x00000d08 blx 0x9d0                                     |         free (r0);
    0x00000d0c cmp r5, 0                                     |         
    0x00000d0e bne 0xc3a                                     |         
                                                             |     } while (r5 != 0);
                                                             | label_13:
    0x00000d10 ldr r3, [sp, 0xc]                             |     r3 = *(arg_ch);
    0x00000d12 cmp r8, r3                                    |     
                                                             |     if (r8 >= r3) {
    0x00000d14 bge 0xd88                                     |         goto label_14;
                                                             |     }
    0x00000d16 ldr r3, [sp, 0x10]                            |     r3 = *(arg_10h);
    0x00000d18 ldr.w r4, [r3, r8, lsl 2]                     |     offset_0 = r8 << 2;
                                                             |     r4 = *((r3 + offset_0));
    0x00000d1c b 0xc4a                                       |     goto label_0;
                                                             |     if (r5 != 0) {
                                                             | label_16:
    0x00000d1e cbnz r5, 0xd70                                |         goto label_17;
                                                             |     }
    0x00000d20 mov r0, r4                                    |     r0 = r4;
    0x00000d22 add.w sb, sp, 0x34                            |     sb += arg_34h;
    0x00000d26 blx 0xa54                                     |     getenv (r0);
    0x00000d2a str.w r0, [sb]                                |     __asm ("str.w r0, [sb]");
    0x00000d2e cmp r0, 0                                     |     
                                                             |     if (r0 == 0) {
    0x00000d30 beq 0xd02                                     |         goto label_1;
                                                             |     }
    0x00000d32 mov r1, r5                                    |     r1 = r5;
    0x00000d34 blx 0x9dc                                     |     r0 = dbus_validate_utf8 ();
    0x00000d38 cmp r0, 0                                     |     
                                                             |     if (r0 != 0) {
    0x00000d3a bne 0xc80                                     |         goto label_2;
                                                             |     }
    0x00000d3c ldr.w r2, [sb]                                |     r2 = *(sb);
    0x00000d40 movs r1, 1                                    |     r1 = 1;
    0x00000d42 ldr r3, [pc, 0x2a0]                           |     r3 = *(0xfe6);
    0x00000d44 ldr r3, [r6, r3]                              |     r3 = *((r6 + r3));
    0x00000d46 strd r4, r2, [sp]                             |     __asm ("strd r4, r2, [sp]");
    0x00000d4a ldr r2, [pc, 0x29c]                           |     
    0x00000d4c ldr r0, [r3]                                  |     r0 = *(0xfe6);
    0x00000d4e ldr r3, [sp, 0x24]                            |     r3 = *(arg_24h);
    0x00000d50 add r2, pc                                    |     r2 = 0x1d3e;
    0x00000d52 blx 0xac0                                     |     fprintf_chk ();
    0x00000d56 b 0xd02                                       |     goto label_1;
                                                             | label_15:
    0x00000d58 ldr r3, [pc, 0x288]                           |     r3 = *(0xfe4);
    0x00000d5a movs r1, 1                                    |     r1 = 1;
    0x00000d5c ldr r2, [pc, 0x28c]                           |     
    0x00000d5e ldr r3, [r6, r3]                              |     r3 = *((r6 + r3));
    0x00000d60 str r4, [sp]                                  |     *(sp) = r4;
    0x00000d62 add r2, pc                                    |     r2 = 0x1d52;
    0x00000d64 ldr r0, [r3]                                  |     r0 = *(0xfe4);
    0x00000d66 ldr r3, [pc, 0x288]                           |     
    0x00000d68 add r3, pc                                    |     r3 = 0x1d5e;
    0x00000d6a blx 0xac0                                     |     fprintf_chk ();
    0x00000d6e b 0xd02                                       |     goto label_1;
                                                             | label_17:
    0x00000d70 ldr r3, [pc, 0x270]                           |     r3 = *(0xfe4);
    0x00000d72 movs r1, 1                                    |     r1 = 1;
    0x00000d74 ldr r2, [pc, 0x27c]                           |     
    0x00000d76 ldr r3, [r6, r3]                              |     r3 = *((r6 + r3));
    0x00000d78 str r4, [sp]                                  |     *(sp) = r4;
    0x00000d7a add r2, pc                                    |     r2 = 0x1d72;
    0x00000d7c ldr r0, [r3]                                  |     r0 = *(0xfe4);
    0x00000d7e ldr r3, [pc, 0x278]                           |     
    0x00000d80 add r3, pc                                    |     r3 = 0x1d7e;
    0x00000d82 blx 0xac0                                     |     fprintf_chk ();
    0x00000d86 b 0xd02                                       |     goto label_1;
                                                             | label_14:
    0x00000d88 ldr r0, [sp, 0x28]                            |     r0 = *(arg_28h);
    0x00000d8a mov r1, sl                                    |     r1 = sl;
    0x00000d8c blx 0xa24                                     |     r0 = dbus_message_iter_close_container ();
    0x00000d90 cmp r0, 0                                     |     
                                                             |     if (r0 == 0) {
    0x00000d92 beq 0xe74                                     |         goto label_11;
                                                             |     }
    0x00000d94 ldr r3, [sp, 8]                               |     r3 = *(arg_8h);
                                                             |     if (r3 != 0) {
    0x00000d96 cbz r3, 0xda4                                 |         
    0x00000d98 add r1, sp, 0xf8                              |         r1 += arg_f8h;
    0x00000d9a add r0, sp, 0xc0                              |         r0 += arg_c0h;
    0x00000d9c blx 0xa24                                     |         r0 = dbus_message_iter_close_container ();
    0x00000da0 cmp r0, 0                                     |         
                                                             |         if (r0 == 0) {
    0x00000da2 beq 0xe74                                     |             goto label_11;
                                                             |         }
                                                             |     }
    0x00000da4 ldr r3, [sp, 0x18]                            |     r3 = *(arg_18h);
    0x00000da6 mov.w r2, -1                                  |     r2 = -1;
    0x00000daa ldrd r1, r0, [sp, 0x1c]                       |     __asm ("ldrd r1, r0, [arg_1ch]");
    0x00000dae blx 0xa3c                                     |     r0 = dbus_connection_send_with_reply_and_block ();
    0x00000db2 mov r4, r0                                    |     r4 = r0;
    0x00000db4 cmp r0, 0                                     |     
                                                             |     if (r0 == 0) {
    0x00000db6 beq.w 0xf48                                   |         goto label_18;
                                                             |     }
    0x00000dba ldrd r0, r1, [sp, 0x18]                       |     __asm ("ldrd r0, r1, [arg_18h]");
    0x00000dbe blx 0xad8                                     |     r0 = dbus_set_error_from_message ();
    0x00000dc2 mov r2, r0                                    |     r2 = r0;
    0x00000dc4 cmp r0, 0                                     |     
                                                             |     if (r0 != 0) {
    0x00000dc6 bne.w 0xf20                                   |         goto label_19;
                                                             |     }
    0x00000dca ldrd r1, r0, [sp, 0x18]                       |     __asm ("ldrd r1, r0, [arg_18h]");
    0x00000dce blx 0x9e8                                     |     r0 = dbus_message_get_args ();
    0x00000dd2 cmp r0, 0                                     |     
                                                             |     if (r0 == 0) {
    0x00000dd4 beq.w 0xf20                                   |         goto label_19;
                                                             |     }
    0x00000dd8 mov r0, r4                                    |     r0 = r4;
    0x00000dda blx 0xa18                                     |     dbus_message_unref ();
    0x00000dde ldr r3, [sp, 8]                               |     r3 = *(arg_8h);
    0x00000de0 cmp r3, 0                                     |     
                                                             |     if (r3 != 0) {
    0x00000de2 bne 0xe82                                     |         goto label_20;
                                                             |     }
                                                             | label_5:
    0x00000de4 ldr r0, [sp, 0x1c]                            |     r0 = *(arg_1ch);
    0x00000de6 blx 0xa18                                     |     dbus_message_unref ();
    0x00000dea ldr r0, [sp, 0x20]                            |     r0 = *(arg_20h);
    0x00000dec blx 0x988                                     |     dbus_connection_unref ();
    0x00000df0 ldr r2, [pc, 0x208]                           |     
    0x00000df2 ldr r3, [pc, 0x1b8]                           |     r3 = *(0xfae);
    0x00000df4 add r2, pc                                    |     r2 = 0x1df4;
    0x00000df6 ldr r3, [r2, r3]                              |     r3 = *(0x1df4);
    0x00000df8 ldr r2, [r3]                                  |     r2 = *(0x1df4);
    0x00000dfa ldr r3, [sp, 0x19c]                           |     r3 = *(arg_19ch);
    0x00000dfc eors r2, r3                                   |     r2 ^= r3;
    0x00000dfe mov.w r3, 0                                   |     r3 = 0;
                                                             |     if (r2 != r3) {
    0x00000e02 bne.w 0xf44                                   |         goto label_21;
                                                             |     }
    0x00000e06 movs r0, 0                                    |     r0 = 0;
    0x00000e08 add sp, 0x1a4                                 |     
    0x00000e0a pop.w {r4, r5, r6, r7, r8, sb, sl, fp, pc}    |     
                                                             | label_12:
    0x00000e0e ldr r0, [pc, 0x1f0]                           |     
    0x00000e10 add r0, pc                                    |     r0 = 0x1e16;
    0x00000e12 blx 0xa54                                     |     r0 = getenv (r0);
    0x00000e16 mov r3, r0                                    |     r3 = r0;
    0x00000e18 cmp r0, 0                                     |     
                                                             |     if (r0 == 0) {
    0x00000e1a beq 0xee8                                     |         goto label_22;
                                                             |     }
    0x00000e1c ldr r2, [pc, 0x1e4]                           |     
    0x00000e1e add r7, sp, 0x3c                              |     r7 += arg_3ch;
    0x00000e20 movs r1, 1                                    |     r1 = 1;
    0x00000e22 mov r0, r7                                    |     r0 = r7;
    0x00000e24 add r2, pc                                    |     r2 = 0x1e2c;
    0x00000e26 blx 0xa48                                     |     r0 = asprintf_chk ()
    0x00000e2a cmp r0, 0                                     |     
                                                             |     if (r0 < 0) {
    0x00000e2c blt 0xe74                                     |         goto label_11;
                                                             |     }
    0x00000e2e ldr r0, [r7]                                  |     r0 = *(r7);
    0x00000e30 add r1, sp, 0x130                             |     r1 += arg_130h;
    0x00000e32 blx 0xa0c                                     |     r0 = stat64 ();
    0x00000e36 cmp r0, 0                                     |     
                                                             |     if (r0 != 0) {
    0x00000e38 bne 0xee2                                     |         goto label_23;
                                                             |     }
    0x00000e3a ldr r0, [r7]                                  |     r0 = *(r7);
    0x00000e3c blx 0x9d0                                     |     free (r0);
    0x00000e40 ldr r3, [pc, 0x1c4]                           |     
    0x00000e42 ldr r2, [pc, 0x1c8]                           |     
    0x00000e44 ldr r1, [pc, 0x1c8]                           |     
    0x00000e46 ldr r0, [pc, 0x1cc]                           |     
    0x00000e48 add r3, pc                                    |     r3 = 0x1e54;
    0x00000e4a add r2, pc                                    |     r2 = 0x1e5c;
    0x00000e4c add r1, pc                                    |     r1 = 0x1e60;
    0x00000e4e add r0, pc                                    |     r0 = 0x1e68;
    0x00000e50 blx 0xa84                                     |     dbus_message_new_method_call ();
    0x00000e54 str r0, [sp, 0x2c]                            |     *(arg_2ch) = r0;
                                                             |     if (r0 == 0) {
    0x00000e56 cbz r0, 0xe74                                 |         goto label_11;
                                                             |     }
    0x00000e58 add r7, sp, 0xc0                              |     r7 += arg_c0h;
    0x00000e5a mov r1, r7                                    |     r1 = r7;
    0x00000e5c blx 0x994                                     |     dbus_message_iter_init_append ();
    0x00000e60 ldr r2, [pc, 0x1b4]                           |     
    0x00000e62 mov r0, r7                                    |     r0 = r7;
    0x00000e64 add r3, sp, 0xf8                              |     r3 += arg_f8h;
    0x00000e66 movs r1, 0x61                                 |     r1 = 0x61;
    0x00000e68 add r2, pc                                    |     r2 = 0x1e84;
    0x00000e6a blx 0xa9c                                     |     r0 = dbus_message_iter_open_container ();
    0x00000e6e cmp r0, 0                                     |     
                                                             |     if (r0 != 0) {
    0x00000e70 bne.w 0xc1c                                   |         goto label_3;
                                                             |     }
                                                             | label_11:
    0x00000e74 ldr r0, [pc, 0x1a4]                           |     
    0x00000e76 add r0, pc                                    |     r0 = 0x1e96;
    0x00000e78 bl 0x11e8                                     |     fcn_000011e8 (r0);
    0x00000e7c ldr r6, [sp, 0x1c]                            |     r6 = *(arg_1ch);
    0x00000e7e adds r4, 1                                    |     r4++;
    0x00000e80 b 0xbb6                                       |     goto label_4;
                                                             | label_20:
    0x00000e82 ldr r3, [sp, 0x18]                            |     r3 = *(arg_18h);
    0x00000e84 mov.w r2, -1                                  |     r2 = -1;
    0x00000e88 ldr r1, [sp, 0x2c]                            |     r1 = *(arg_2ch);
    0x00000e8a ldr r0, [sp, 0x20]                            |     r0 = *(arg_20h);
    0x00000e8c blx 0xa3c                                     |     r0 = dbus_connection_send_with_reply_and_block ();
    0x00000e90 mov r4, r0                                    |     r4 = r0;
    0x00000e92 cmp r0, 0                                     |     
                                                             |     if (r0 == 0) {
    0x00000e94 beq 0xef8                                     |         goto label_24;
                                                             |     }
    0x00000e96 ldrd r0, r1, [sp, 0x18]                       |     __asm ("ldrd r0, r1, [arg_18h]");
    0x00000e9a blx 0xad8                                     |     r0 = dbus_set_error_from_message ();
    0x00000e9e mov r2, r0                                    |     r2 = r0;
    0x00000ea0 cbz r0, 0xed4                                 |     
                                                             |     while (r0 == 0) {
    0x00000ea2 ldr r3, [pc, 0x140]                           |         r3 = *(0xfe6);
    0x00000ea4 movs r1, 1                                    |         r1 = 1;
    0x00000ea6 ldr r2, [sp, 0x18]                            |         r2 = *(arg_18h);
    0x00000ea8 ldr r3, [r6, r3]                              |         r3 = *((r6 + r3));
    0x00000eaa ldr r0, [r3]                                  |         r0 = *(0xfe6);
    0x00000eac ldr r3, [r2, 4]                               |         r3 = *((r2 + 4));
    0x00000eae str r3, [sp, 4]                               |         var_4h = r3;
    0x00000eb0 ldr r3, [r2]                                  |         r3 = *(r2);
    0x00000eb2 ldr r2, [pc, 0x16c]                           |         
    0x00000eb4 str r3, [sp]                                  |         *(sp) = r3;
    0x00000eb6 ldr r3, [pc, 0x16c]                           |         
    0x00000eb8 add r2, pc                                    |         r2 = 0x1ede;
    0x00000eba add r3, pc                                    |         r3 = 0x1ee4;
    0x00000ebc blx 0xac0                                     |         fprintf_chk ();
                                                             | label_6:
    0x00000ec0 mov r0, r4                                    |         r0 = r4;
    0x00000ec2 blx 0xa18                                     |         dbus_message_unref ();
                                                             | label_7:
    0x00000ec6 ldr r0, [sp, 0x2c]                            |         r0 = *(arg_2ch);
    0x00000ec8 blx 0xa18                                     |         dbus_message_unref ();
    0x00000ecc ldr r0, [sp, 0x18]                            |         r0 = *(arg_18h);
    0x00000ece blx 0xa30                                     |         dbus_error_free ();
    0x00000ed2 b 0xde4                                       |         goto label_5;
    0x00000ed4 ldrd r1, r0, [sp, 0x18]                       |         __asm ("ldrd r1, r0, [arg_18h]");
    0x00000ed8 blx 0x9e8                                     |         r0 = dbus_message_get_args ();
    0x00000edc cmp r0, 0                                     |         
    0x00000ede beq 0xea2                                     |         
                                                             |     }
    0x00000ee0 b 0xec0                                       |     goto label_6;
                                                             | label_23:
    0x00000ee2 ldr r0, [r7]                                  |     r0 = *(r7);
    0x00000ee4 blx 0x9d0                                     |     free (r0);
                                                             | label_22:
    0x00000ee8 ldr r0, [pc, 0x13c]                           |     
    0x00000eea add r0, pc                                    |     r0 = 0x1f16;
    0x00000eec bl 0x1158                                     |     fcn_00001158 ();
    0x00000ef0 movs r3, 0                                    |     r3 = 0;
    0x00000ef2 str r3, [sp, 8]                               |     *(arg_8h) = r3;
    0x00000ef4 str r3, [sp, 0x2c]                            |     *(arg_2ch) = r3;
    0x00000ef6 b 0xc1c                                       |     goto label_3;
                                                             | label_24:
    0x00000ef8 ldr r3, [pc, 0xe8]                            |     r3 = *(0xfe4);
    0x00000efa movs r1, 1                                    |     r1 = 1;
    0x00000efc ldr r2, [sp, 0x18]                            |     r2 = *(arg_18h);
    0x00000efe ldr r3, [r6, r3]                              |     r3 = *((r6 + r3));
    0x00000f00 ldr r0, [r3]                                  |     r0 = *(0xfe4);
    0x00000f02 ldr r3, [r2, 4]                               |     r3 = *((r2 + 4));
    0x00000f04 str r3, [sp, 4]                               |     var_4h = r3;
    0x00000f06 ldr r3, [r2]                                  |     r3 = *(r2);
    0x00000f08 ldr r2, [pc, 0x120]                           |     
    0x00000f0a str r3, [sp]                                  |     *(sp) = r3;
    0x00000f0c ldr r3, [pc, 0x120]                           |     
    0x00000f0e add r2, pc                                    |     r2 = 0x1f3e;
    0x00000f10 add r3, pc                                    |     r3 = 0x1f44;
    0x00000f12 blx 0xac0                                     |     fprintf_chk ();
    0x00000f16 b 0xec6                                       |     goto label_7;
                                                             | label_19:
    0x00000f20 ldr r2, [pc, 0xc0]                            |     r2 = *(0xfe4);
    0x00000f22 ldr r3, [sp, 0x18]                            |     r3 = *(arg_18h);
    0x00000f24 ldr r0, [r6, r2]                              |     r0 = *((r6 + r2));
    0x00000f26 ldrd r4, r1, [r3]                             |     __asm ("ldrd r4, r1, [r3]");
    0x00000f2a ldr r2, [pc, 0x108]                           |     
    0x00000f2c ldr r3, [pc, 0x108]                           |     
    0x00000f2e str r1, [sp, 4]                               |     var_4h = r1;
    0x00000f30 add r2, pc                                    |     r2 = 0x1f6a;
    0x00000f32 add r3, pc                                    |     r3 = 0x1f6e;
                                                             |     do {
    0x00000f34 str r4, [sp]                                  |         *(sp) = r4;
    0x00000f36 movs r1, 1                                    |         r1 = 1;
    0x00000f38 ldr r0, [r0]                                  |         r0 = *(r0);
    0x00000f3a blx 0xac0                                     |         fprintf_chk ();
    0x00000f3e movs r0, 0x45                                 |         r0 = 0x45;
    0x00000f40 blx 0xa78                                     |         r0 = exit (r0);
                                                             | label_21:
    0x00000f44 blx 0xa00                                     |         stack_chk_fail ();
                                                             | label_18:
    0x00000f48 ldr r2, [pc, 0x98]                            |         r2 = *(0xfe4);
    0x00000f4a ldr r3, [sp, 0x18]                            |         r3 = *(arg_18h);
    0x00000f4c ldr r0, [r6, r2]                              |         r0 = *((r6 + r2));
    0x00000f4e ldrd r4, r1, [r3]                             |         __asm ("ldrd r4, r1, [r3]");
    0x00000f52 ldr r2, [pc, 0xe8]                            |         
    0x00000f54 ldr r3, [pc, 0xe8]                            |         
    0x00000f56 str r1, [sp, 4]                               |         var_4h = r1;
    0x00000f58 add r2, pc                                    |         r2 = 0x1f9a;
    0x00000f5a add r3, pc                                    |         r3 = 0x1f9e;
    0x00000f5c b 0xf34                                       |         
                                                             |     } while (1);
                                                             | label_9:
    0x00000f5e ldr r3, [pc, 0xe4]                            |     
    0x00000f60 ldr r2, [pc, 0xe4]                            |     
    0x00000f62 ldr r0, [pc, 0x80]                            |     r0 = *(0xfe6);
    0x00000f64 add r3, pc                                    |     r3 = 0x1fae;
    0x00000f66 add r2, pc                                    |     r2 = 0x1fb2;
                                                             |     do {
    0x00000f68 ldr r0, [r6, r0]                              |         r0 = *((r6 + r0));
    0x00000f6a movs r1, 1                                    |         r1 = 1;
    0x00000f6c ldr r0, [r0]                                  |         r0 = *(r0);
    0x00000f6e blx 0xac0                                     |         fprintf_chk ();
    0x00000f72 movs r0, 0x40                                 |         r0 = 0x40;
    0x00000f74 blx 0xa78                                     |         exit (r0);
                                                             | label_10:
    0x00000f78 ldr r3, [sp, 0x18]                            |         r3 = *(arg_18h);
    0x00000f7a ldr r1, [pc, 0x68]                            |         r1 = *(0xfe6);
    0x00000f7c ldr r2, [pc, 0xcc]                            |         
    0x00000f7e ldr r4, [r3, 4]                               |         r4 = *((r3 + 4));
    0x00000f80 ldr r0, [r6, r1]                              |         r0 = *((r6 + r1));
    0x00000f82 movs r1, 1                                    |         r1 = 1;
    0x00000f84 ldr r3, [pc, 0xc8]                            |         
    0x00000f86 add r2, pc                                    |         r2 = 0x1fd6;
    0x00000f88 str r4, [sp]                                  |         *(sp) = r4;
    0x00000f8a ldr r0, [r0]                                  |         r0 = *(r0);
    0x00000f8c add r3, pc                                    |         r3 = 0x1fe0;
    0x00000f8e blx 0xac0                                     |         fprintf_chk ();
    0x00000f92 movs r0, 0x47                                 |         r0 = 0x47;
    0x00000f94 blx 0xa78                                     |         exit (r0);
    0x00000f98 ldr r3, [pc, 0xb8]                            |         
    0x00000f9a ldr r2, [pc, 0xbc]                            |         
    0x00000f9c ldr r6, [sp, 0x1c]                            |         r6 = *(arg_1ch);
    0x00000f9e ldr r0, [pc, 0x44]                            |         r0 = *(0xfe6);
    0x00000fa0 add r3, pc                                    |         r3 = 0x1ff8;
    0x00000fa2 add r2, pc                                    |         r2 = 0x2000;
    0x00000fa4 b 0xf68                                       |         
                                                             |     } while (1);
    0x00001090 adds r0, 0x14                                 |     r0 += 0x14;
    0x00001092 b 0xbd4                                       |     goto label_8;
                                                             | }

[*] Function sprintf used 3 times dbus-update-activation-environment