[*] Binary protection state of dbus-cleanup-sockets

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


[*] Function fprintf tear down of dbus-cleanup-sockets

    ; 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-cleanup-sockets @ 0xf28 */
                                                                 | #include <stdint.h>
                                                                 |  
    ; (fcn) fcn.00000f28 ()                                      | void fcn_00000f28 (FILE * stream, char * dest, int16_t arg_ch, int16_t arg_10h, void * s2, int16_t arg_18h, int16_t arg_1ch, void * ptr, int16_t arg_24h, int16_t arg_28h, int16_t arg_2ch, void * s, char * arg_36h, int16_t arg_a4h) {
                                                                 |     int16_t var_0h;
                                                                 |     int16_t var_4h;
                                                                 | label_8:
    0x00000a10 movs r0, 8                                        |     r0 = 8;
    0x00000a12 blx 0x85c                                         |     malloc (r0);
    0x00000a16 str r0, [sp, 0x20]                                |     *(ptr) = r0;
    0x00000a18 cmp r0, 0                                         |     
                                                                 |     if (r0 == 0) {
    0x00000a1a beq.w 0xe04                                       |         goto label_11;
                                                                 |     }
    0x00000a1e ldr r0, [sp, 0x14]                                |     r0 = *(s2);
    0x00000a20 blx 0x850                                         |     r0 = opendir ();
    0x00000a24 mov r7, r0                                        |     r7 = r0;
    0x00000a26 cmp r0, 0                                         |     
                                                                 |     if (r0 == 0) {
    0x00000a28 beq.w 0xe0e                                       |         goto label_12;
                                                                 |     }
    0x00000a2c ldr.w r8, [pc, 0x45c]                             |     
    0x00000a30 mov.w sb, 0                                       |     sb = 0;
    0x00000a34 movs r3, 2                                        |     r3 = 2;
    0x00000a36 str.w fp, [sp, 0x18]                              |     __asm ("str.w fp, [arg_18h]");
    0x00000a3a str r3, [sp, 0x10]                                |     *(arg_10h) = r3;
    0x00000a3c add r8, pc                                        |     r8 = 0x18cc;
                                                                 |     do {
    0x00000a3e mov r0, r7                                        |         r0 = r7;
    0x00000a40 blx 0x8e0                                         |         r0 = readdir64 ();
    0x00000a44 cmp r0, 0                                         |         
                                                                 |         if (r0 == 0) {
    0x00000a46 beq 0xad4                                         |             goto label_13;
                                                                 |         }
                                                                 | label_0:
    0x00000a48 add.w r4, r0, 0x13                                |         r4 = r0 + 0x13;
    0x00000a4c movs r2, 5                                        |         r2 = 5;
    0x00000a4e mov r1, r8                                        |         r1 = r8;
    0x00000a50 mov r0, r4                                        |         r0 = r4;
    0x00000a52 blx 0x8f8                                         |         r0 = strncmp (r0, r1, r2);
    0x00000a56 mov r6, r0                                        |         r6 = r0;
    0x00000a58 cmp r0, 0                                         |         
    0x00000a5a bne 0xa3e                                         |         
                                                                 |     } while (r0 != 0);
    0x00000a5c movs r0, 0x10                                     |     r0 = 0x10;
    0x00000a5e blx 0x85c                                         |     r0 = malloc (r0);
    0x00000a62 mov sl, r0                                        |     sl = r0;
    0x00000a64 cmp r0, 0                                         |     
                                                                 |     if (r0 == 0) {
    0x00000a66 beq.w 0xe46                                       |         goto label_14;
                                                                 |     }
    0x00000a6a ldr r0, [sp, 0x14]                                |     r0 = *(s2);
                                                                 | label_10:
    0x00000a6c blx 0x88c                                         |     r0 = strlen (r0);
    0x00000a70 mov fp, r0                                        |     
    0x00000a72 mov r0, r4                                        |     r0 = r4;
    0x00000a74 blx 0x88c                                         |     r0 = strlen (r0);
    0x00000a78 add.w r1, fp, r0                                  |     r1 = fp + r0;
    0x00000a7c adds r5, r1, 2                                    |     r5 = r1 + 2;
    0x00000a7e mov r0, r5                                        |     r0 = r5;
    0x00000a80 blx 0x85c                                         |     r0 = malloc (r0);
    0x00000a84 cmp r0, 0                                         |     
                                                                 |     if (r0 == 0) {
    0x00000a86 beq.w 0xe38                                       |         goto label_15;
                                                                 |     }
    0x00000a8a ldr r1, [sp, 0x14]                                |     r1 = *(s2);
    0x00000a8c mov r2, fp                                        |     r2 = fp;
    0x00000a8e str.w r0, [sl]                                    |     __asm ("str.w r0, [sl]");
    0x00000a92 str r0, [sp, 0xc]                                 |     *(arg_ch) = r0;
    0x00000a94 blx 0x7fc                                         |     memcpy (r0, r1, r2);
    0x00000a98 ldr r3, [sp, 0xc]                                 |     r3 = *(arg_ch);
    0x00000a9a movs r0, 0x2f                                     |     r0 = 0x2f;
    0x00000a9c add.w r2, fp, 1                                   |     r2 += dest;
    0x00000aa0 mov r1, r4                                        |     r1 = r4;
    0x00000aa2 strb.w r0, [r3, fp]                               |     *((r3 + fp)) = r0;
    0x00000aa6 adds r0, r3, r2                                   |     r0 = r3 + r2;
    0x00000aa8 blx 0x844                                         |     strcpy (r0, r1);
    0x00000aac mov.w r3, -1                                      |     r3 = -1;
    0x00000ab0 str.w r6, [sl, 0xc]                               |     __asm ("str.w r6, [sl, 0xc]");
    0x00000ab4 strd r3, r6, [sl, 4]                              |     __asm ("strd r3, r6, [sl, 4]");
    0x00000ab8 ldr r3, [sp, 0x10]                                |     r3 = *(arg_10h);
    0x00000aba cmp r3, sb                                        |     
                                                                 |     if (r3 == sb) {
    0x00000abc beq.w 0xd44                                       |         goto label_16;
                                                                 |     }
                                                                 | label_6:
    0x00000ac0 ldr r3, [sp, 0x20]                                |     r3 = *(ptr);
    0x00000ac2 mov r0, r7                                        |     r0 = r7;
    0x00000ac4 str.w sl, [r3, sb, lsl 2]                         |     __asm ("str.w sl, [r3, sb, lsl 2]");
    0x00000ac8 add.w sb, sb, 1                                   |     sb++;
    0x00000acc blx 0x8e0                                         |     r0 = readdir64 ();
    0x00000ad0 cmp r0, 0                                         |     
                                                                 |     if (r0 != 0) {
    0x00000ad2 bne 0xa48                                         |         goto label_0;
                                                                 |     }
                                                                 | label_13:
    0x00000ad4 mov r0, r7                                        |     r0 = r7;
    0x00000ad6 ldr.w fp, [sp, 0x18]                              |     fp = *(arg_18h);
    0x00000ada blx 0x928                                         |     closedir ();
    0x00000ade ldr r3, [pc, 0x3b0]                               |     
    0x00000ae0 add r3, pc                                        |     r3 = 0x1976;
    0x00000ae2 str r3, [sp, 0x18]                                |     *(arg_18h) = r3;
    0x00000ae4 ldr r3, [pc, 0x3ac]                               |     
    0x00000ae6 add r3, pc                                        |     r3 = 0x197e;
    0x00000ae8 str r3, [sp, 0x24]                                |     *(arg_24h) = r3;
    0x00000aea ldr r3, [pc, 0x3ac]                               |     
    0x00000aec add r3, pc                                        |     r3 = 0x198a;
    0x00000aee str r3, [sp, 0x1c]                                |     *(arg_1ch) = r3;
    0x00000af0 ldr r3, [pc, 0x3a8]                               |     
    0x00000af2 add r3, pc                                        |     r3 = 0x1992;
    0x00000af4 str r3, [sp, 0x28]                                |     *(arg_28h) = r3;
    0x00000af6 cmp.w sb, 0                                       |     
                                                                 |     if (sb == 0) {
    0x00000afa beq 0xbce                                         |         goto label_17;
                                                                 |     }
                                                                 | label_2:
    0x00000afc ldr r3, [sp, 0x20]                                |     r3 = *(ptr);
    0x00000afe movs r6, 0                                        |     r6 = 0;
    0x00000b00 str r6, [sp, 0xc]                                 |     *(arg_ch) = r6;
    0x00000b02 subs r7, r3, 4                                    |     r7 = r3 - 4;
    0x00000b04 str r7, [sp, 0x2c]                                |     *(arg_2ch) = r7;
                                                                 | label_1:
    0x00000b06 ldr r4, [r7, 4]!                                  |     r4 = *((r7 += 4));
    0x00000b0a adds r6, 1                                        |     r6++;
    0x00000b0c ldrd r3, r8, [r4, 4]                              |     __asm ("ldrd r3, r8, [r4, 4]");
    0x00000b10 cmp r3, 0                                         |     
                                                                 |     if (r3 >= 0) {
    0x00000b12 bge.w 0xdca                                       |         goto label_18;
                                                                 |     }
    0x00000b16 cmp.w r8, 0                                       |     
                                                                 |     if (r8 != 0) {
    0x00000b1a bne 0xba2                                         |         goto label_3;
                                                                 |     }
    0x00000b1c ldr r3, [r4, 0xc]                                 |     r3 = *((r4 + 0xc));
    0x00000b1e cmp r3, 5                                         |     
                                                                 |     if (r3 > 5) {
    0x00000b20 bgt.w 0xc30                                       |         goto label_19;
                                                                 |     }
    0x00000b24 adds r3, 1                                        |     r3++;
    0x00000b26 movs r1, 1                                        |     r1 = 1;
    0x00000b28 mov r2, r8                                        |     r2 = r8;
    0x00000b2a mov r0, r1                                        |     r0 = r1;
    0x00000b2c str r3, [r4, 0xc]                                 |     *((r4 + 0xc)) = r3;
    0x00000b2e blx 0x8ec                                         |     r0 = socket (r0, r1, r2);
    0x00000b32 cmp r0, 0                                         |     
    0x00000b34 mov r5, r0                                        |     r5 = r0;
    0x00000b36 str r0, [r4, 4]                                   |     *((r4 + 4)) = r0;
                                                                 |     if (r0 < 0) {
    0x00000b38 blt.w 0xc4a                                       |         goto label_20;
                                                                 |     }
    0x00000b3c mov.w r2, 0x800                                   |     r2 = 0x800;
    0x00000b40 movs r1, 4                                        |     r1 = 4;
    0x00000b42 blx 0x8d4                                         |     r0 = fcntl64 ();
    0x00000b46 cmp r0, 0                                         |     
                                                                 |     if (r0 < 0) {
    0x00000b48 blt.w 0xcde                                       |         goto label_21;
                                                                 |     }
    0x00000b4c mov r1, r8                                        |     r1 = r8;
    0x00000b4e add.w r8, sp, 0x34                                |     r8 += s;
    0x00000b52 movs r2, 0x6e                                     |     r2 = 0x6e;
    0x00000b54 mov r0, r8                                        |     r0 = r8;
    0x00000b56 blx 0x8a4                                         |     memset (r0, r1, r2);
    0x00000b5a ldr.w sl, [r4]                                    |     sl = *(r4);
    0x00000b5e movs r3, 1                                        |     r3 = 1;
    0x00000b60 movs r2, 0x6b                                     |     r2 = 0x6b;
    0x00000b62 add.w r0, sp, 0x36                                |     r0 += arg_36h;
    0x00000b66 strh.w r3, [sp, 0x34]                             |     *(s) = r3;
    0x00000b6a mov r1, sl                                        |     r1 = sl;
    0x00000b6c blx 0x8b0                                         |     strncpy (r0, r1, r2);
    0x00000b70 b 0xb7c                                           |     
                                                                 |     while (r0 < 0) {
    0x00000b72 blx 0x898                                         |         r0 = errno_location ();
    0x00000b76 ldr r3, [r0]                                      |         r3 = *(r0);
    0x00000b78 cmp r3, 4                                         |         
                                                                 |         if (r3 != 4) {
    0x00000b7a bne 0xc76                                         |             goto label_22;
                                                                 |         }
    0x00000b7c movs r2, 0x6e                                     |         r2 = 0x6e;
    0x00000b7e mov r1, r8                                        |         r1 = r8;
    0x00000b80 mov r0, r5                                        |         r0 = r5;
    0x00000b82 blx 0x91c                                         |         r0 = connect (r0, r1, r2);
    0x00000b86 cmp r0, 0                                         |         
    0x00000b88 blt 0xb72                                         |         
                                                                 |     }
    0x00000b8a ldr r2, [sp, 0x18]                                |     r2 = *(arg_18h);
    0x00000b8c mov r0, r5                                        |     r0 = r5;
    0x00000b8e ldr r3, [r2, 8]                                   |     r3 = *((r2 + 8));
    0x00000b90 adds r3, 1                                        |     r3++;
    0x00000b92 str r3, [r2, 8]                                   |     *((r2 + 8)) = r3;
    0x00000b94 movs r3, 3                                        |     r3 = 3;
    0x00000b96 str r3, [r4, 8]                                   |     *((r4 + 8)) = r3;
    0x00000b98 blx 0x910                                         |     close (r0);
    0x00000b9c mov.w r3, -1                                      |     r3 = -1;
    0x00000ba0 str r3, [r4, 4]                                   |     *((r4 + 4)) = r3;
                                                                 | label_3:
    0x00000ba2 cmp sb, r6                                        |     
                                                                 |     if (sb != r6) {
    0x00000ba4 bne 0xb06                                         |         goto label_1;
                                                                 |     }
    0x00000ba6 ldr r3, [sp, 0xc]                                 |     r3 = *(arg_ch);
    0x00000ba8 cmp r3, 0                                         |     
                                                                 |     if (r3 == 0) {
    0x00000baa beq.w 0xd6a                                       |         goto label_23;
                                                                 |     }
    0x00000bae ldr r3, [pc, 0x2f0]                               |     
    0x00000bb0 movs r2, 0x41                                     |     r2 = 0x41;
    0x00000bb2 ldr r0, [pc, 0x2f0]                               |     
    0x00000bb4 movs r1, 1                                        |     r1 = 1;
    0x00000bb6 ldr.w r3, [fp, r3]                                |     r3 = *((fp + r3));
    0x00000bba add r0, pc                                        |     r0 = 0x1a64;
    0x00000bbc ldr r3, [r3]                                      |     r3 = *(0xea2);
    0x00000bbe blx 0x838                                         |     fwrite (r0, r1, r2, r3);
    0x00000bc2 movs r0, 2                                        |     r0 = 2;
    0x00000bc4 blx 0x808                                         |     sleep (r0);
    0x00000bc8 cmp.w sb, 0                                       |     
                                                                 |     if (sb != 0) {
    0x00000bcc bne 0xafc                                         |         goto label_2;
                                                                 |     }
                                                                 | label_17:
    0x00000bce ldr r2, [pc, 0x2d8]                               |     
    0x00000bd0 add r2, pc                                        |     r2 = 0x1a7e;
    0x00000bd2 ldr r3, [r2, 8]                                   |     r3 = *(0x1a86);
    0x00000bd4 ldr r1, [r2]                                      |     r1 = *(0x1a7e);
    0x00000bd6 rsbs r3, r3, 0                                    |     r3 -= ;
    0x00000bd8 subs r3, r3, r1                                   |     r3 -= r1;
    0x00000bda ldr r1, [r2, 4]                                   |     r1 = *(0x1a82);
    0x00000bdc add r3, r1                                        |     r3 += r1;
    0x00000bde str r3, [r2, 4]                                   |     *((r2 + 4)) = r3;
    0x00000be0 ldr r3, [sp, 0x20]                                |     r3 = *(ptr);
    0x00000be2 cmp r3, 0                                         |     
                                                                 |     if (r3 != 0) {
    0x00000be4 bne.w 0xdac                                       |         goto label_24;
                                                                 |     }
                                                                 | label_7:
    0x00000be8 ldr r4, [pc, 0x2c0]                               |     
    0x00000bea movs r0, 1                                        |     r0 = 1;
    0x00000bec ldr r1, [pc, 0x2c0]                               |     
    0x00000bee ldr r3, [sp, 0x14]                                |     r3 = *(s2);
    0x00000bf0 add r4, pc                                        |     
    0x00000bf2 ldrd r2, r5, [r4]                                 |     __asm ("ldrd r2, r5, [r4]");
    0x00000bf6 add r1, pc                                        |     r1 = 0x1aaa;
    0x00000bf8 str r5, [sp, 4]                                   |     var_4h = r5;
    0x00000bfa ldr r4, [r4, 8]                                   |     r4 = *(0x1aa8);
    0x00000bfc str r4, [sp]                                      |     *(sp) = r4;
    0x00000bfe blx 0x8bc                                         |     printf_chk ();
    0x00000c02 ldr r2, [pc, 0x2b0]                               |     
    0x00000c04 ldr r3, [pc, 0x274]                               |     r3 = *(0xe7c);
    0x00000c06 add r2, pc                                        |     r2 = 0x1ac0;
    0x00000c08 ldr r3, [r2, r3]                                  |     r3 = *(0x1ac0);
    0x00000c0a ldr r2, [r3]                                      |     r2 = *(0x1ac0);
    0x00000c0c ldr r3, [sp, 0xa4]                                |     r3 = *(arg_a4h);
    0x00000c0e eors r2, r3                                       |     r2 ^= r3;
    0x00000c10 mov.w r3, 0                                       |     r3 = 0;
                                                                 |     if (r2 != r3) {
    0x00000c14 bne.w 0xe54                                       |         goto label_25;
                                                                 |     }
    0x00000c16 strh r6, [r3, 8]                                  |     *((r3 + 8)) = r6;
    0x00000c18 movs r0, 0                                        |     r0 = 0;
    0x00000c1a add sp, 0xac                                      |     
    0x00000c1c pop.w {r4, r5, r6, r7, r8, sb, sl, fp, pc}        |     
                                                                 | label_19:
    0x00000c30 ldr r3, [pc, 0x26c]                               |     r3 = *(0xea0);
    0x00000c32 movs r1, 1                                        |     r1 = 1;
    0x00000c34 ldr r2, [pc, 0x280]                               |     
    0x00000c36 ldr.w r3, [fp, r3]                                |     r3 = *((fp + r3));
    0x00000c3a add r2, pc                                        |     r2 = 0x1af6;
    0x00000c3c ldr r0, [r3]                                      |     r0 = *(0xea0);
    0x00000c3e ldr r3, [r4]                                      |     r3 = *(r4);
    0x00000c40 blx 0x8c8                                         |     fprintf_chk ()
    0x00000c44 movs r3, 1                                        |     r3 = 1;
    0x00000c46 str r3, [r4, 8]                                   |     *((r4 + 8)) = r3;
    0x00000c48 b 0xba2                                           |     goto label_3;
                                                                 | label_20:
    0x00000c4a ldr r3, [pc, 0x254]                               |     r3 = *(0xea2);
    0x00000c4c ldr.w r3, [fp, r3]                                |     r3 = *((fp + r3));
    0x00000c50 ldr r5, [r3]                                      |     r5 = *(0xea2);
    0x00000c52 blx 0x898                                         |     r0 = errno_location ();
    0x00000c56 ldr r0, [r0]                                      |     r0 = *(r0);
    0x00000c58 blx 0x868                                         |     strerror (r0);
    0x00000c5c ldr r2, [pc, 0x25c]                               |     
    0x00000c5e mov r3, r0                                        |     r3 = r0;
    0x00000c60 movs r1, 1                                        |     r1 = 1;
    0x00000c62 mov r0, r5                                        |     r0 = r5;
    0x00000c64 add r2, pc                                        |     r2 = 0x1b24;
    0x00000c66 blx 0x8c8                                         |     fprintf_chk ()
    0x00000c6a str.w r8, [r4, 8]                                 |     __asm ("str.w r8, [r4, 8]");
                                                                 |     do {
                                                                 | label_4:
    0x00000c6e ldr r3, [sp, 0xc]                                 |         r3 = *(arg_ch);
    0x00000c70 adds r3, 1                                        |         r3++;
    0x00000c72 str r3, [sp, 0xc]                                 |         *(arg_ch) = r3;
    0x00000c74 b 0xba2                                           |         goto label_3;
                                                                 | label_22:
    0x00000c76 mov r2, r3                                        |         r2 = r3;
    0x00000c78 mov r3, r0                                        |         r3 = r0;
    0x00000c7a cmp r2, 0x6f                                      |         
    0x00000c7c mov r0, r2                                        |         r0 = r2;
                                                                 |         if (r2 != 0x6f) {
    0x00000c7e beq 0xcb6                                         |             
    0x00000c80 cmp r2, 0x73                                      |             
                                                                 |             if (r2 == 0x73) {
    0x00000c82 beq 0xd18                                         |                 goto label_26;
                                                                 |             }
    0x00000c84 cmp r2, 0xb                                       |             
                                                                 |             if (r2 == 0xb) {
    0x00000c86 beq 0xd18                                         |                 goto label_26;
                                                                 |             }
    0x00000c88 ldr r3, [pc, 0x214]                               |             r3 = *(0xea0);
    0x00000c8a ldr.w r3, [fp, r3]                                |             r3 = *((fp + r3));
    0x00000c8e ldr.w r8, [r3]                                    |             r8 = *(0xea0);
    0x00000c92 blx 0x868                                         |             strerror (r0);
    0x00000c96 ldr r2, [sp, 0x24]                                |             r2 = *(arg_24h);
    0x00000c98 mov r3, sl                                        |             r3 = sl;
    0x00000c9a str r0, [sp]                                      |             *(sp) = r0;
    0x00000c9c mov r0, r8                                        |             r0 = r8;
                                                                 | label_5:
    0x00000c9e movs r1, 1                                        |             r1 = 1;
    0x00000ca0 blx 0x8c8                                         |             fprintf_chk ()
    0x00000ca4 movs r3, 1                                        |             r3 = 1;
    0x00000ca6 mov r0, r5                                        |             r0 = r5;
    0x00000ca8 str r3, [r4, 8]                                   |             *((r4 + 8)) = r3;
    0x00000caa blx 0x910                                         |             close (r0);
    0x00000cae mov.w r3, -1                                      |             r3 = -1;
    0x00000cb2 str r3, [r4, 4]                                   |             *((r4 + 4)) = r3;
    0x00000cb4 b 0xba2                                           |             goto label_3;
                                                                 |         }
    0x00000cb6 str r3, [sp, 0x10]                                |         *(arg_10h) = r3;
    0x00000cb8 mov r0, sl                                        |         r0 = sl;
    0x00000cba ldr r3, [sp, 0x1c]                                |         r3 = *(arg_1ch);
    0x00000cbc ldr r2, [r3]                                      |         r2 = *(r3);
    0x00000cbe adds r2, 1                                        |         r2++;
    0x00000cc0 str r2, [r3]                                      |         *(r3) = r2;
    0x00000cc2 blx 0x820                                         |         r0 = unlink (r0);
    0x00000cc6 cmp r0, 0                                         |         
    0x00000cc8 ldr r3, [sp, 0x10]                                |         r3 = *(arg_10h);
                                                                 |         if (r0 < 0) {
    0x00000cca blt 0xd2a                                         |             goto label_27;
                                                                 |         }
    0x00000ccc movs r3, 4                                        |         r3 = 4;
    0x00000cce mov r0, r5                                        |         r0 = r5;
    0x00000cd0 str r3, [r4, 8]                                   |         *((r4 + 8)) = r3;
    0x00000cd2 blx 0x910                                         |         close (r0);
    0x00000cd6 mov.w r3, -1                                      |         r3 = -1;
    0x00000cda str r3, [r4, 4]                                   |         *((r4 + 4)) = r3;
    0x00000cdc b 0xba2                                           |         goto label_3;
                                                                 | label_21:
    0x00000cde ldr r3, [pc, 0x1c0]                               |         r3 = *(0xea2);
    0x00000ce0 ldr.w r3, [fp, r3]                                |         r3 = *((fp + r3));
    0x00000ce4 ldr.w sl, [r3]                                    |         sl = *(0xea2);
    0x00000ce8 ldr r3, [r4]                                      |         r3 = *(r4);
    0x00000cea str r3, [sp, 0x10]                                |         *(arg_10h) = r3;
    0x00000cec blx 0x898                                         |         r0 = errno_location ();
    0x00000cf0 ldr r0, [r0]                                      |         r0 = *(r0);
    0x00000cf2 blx 0x868                                         |         strerror (r0);
    0x00000cf6 ldr r2, [pc, 0x1c8]                               |         
    0x00000cf8 movs r1, 1                                        |         r1 = 1;
    0x00000cfa ldr r3, [sp, 0x10]                                |         r3 = *(arg_10h);
    0x00000cfc str r0, [sp]                                      |         *(sp) = r0;
    0x00000cfe mov r0, sl                                        |         r0 = sl;
    0x00000d00 add r2, pc                                        |         r2 = 0x1bc6;
    0x00000d02 blx 0x8c8                                         |         fprintf_chk ()
    0x00000d06 mov r0, r5                                        |         r0 = r5;
    0x00000d08 str.w r8, [r4, 8]                                 |         __asm ("str.w r8, [r4, 8]");
    0x00000d0c blx 0x910                                         |         close (r0);
    0x00000d10 mov.w r3, -1                                      |         r3 = -1;
    0x00000d14 str r3, [r4, 4]                                   |         *((r4 + 4)) = r3;
    0x00000d16 b 0xc6e                                           |         
                                                                 |     } while (1);
                                                                 | label_26:
    0x00000d18 movs r3, 0                                        |     r3 = 0;
    0x00000d1a mov r0, r5                                        |     r0 = r5;
    0x00000d1c str r3, [r4, 8]                                   |     *((r4 + 8)) = r3;
    0x00000d1e blx 0x910                                         |     close (r0);
    0x00000d22 mov.w r3, -1                                      |     r3 = -1;
    0x00000d26 str r3, [r4, 4]                                   |     *((r4 + 4)) = r3;
    0x00000d28 b 0xc6e                                           |     goto label_4;
                                                                 | label_27:
    0x00000d2a ldr r0, [r3]                                      |     r0 = *(r3);
    0x00000d2c ldr r3, [pc, 0x170]                               |     r3 = *(0xea0);
    0x00000d2e ldr.w r3, [fp, r3]                                |     r3 = *((fp + r3));
    0x00000d32 ldr.w r8, [r3]                                    |     r8 = *(0xea0);
    0x00000d36 blx 0x868                                         |     strerror (r0);
    0x00000d3a ldr r2, [sp, 0x28]                                |     r2 = *(arg_28h);
    0x00000d3c mov r3, sl                                        |     r3 = sl;
    0x00000d3e str r0, [sp]                                      |     *(sp) = r0;
    0x00000d40 mov r0, r8                                        |     r0 = r8;
    0x00000d42 b 0xc9e                                           |     goto label_5;
                                                                 | label_16:
    0x00000d44 lsls r3, r3, 1                                    |     r3 <<= 1;
    0x00000d46 ldr r0, [sp, 0x20]                                |     r0 = *(ptr);
    0x00000d48 lsls r4, r3, 2                                    |     r4 = r3 << 2;
    0x00000d4a str r3, [sp, 0x10]                                |     *(arg_10h) = r3;
                                                                 |     if (r4 == r3) {
    0x00000d4c beq 0xdbc                                         |         goto label_28;
                                                                 |     }
    0x00000d4e mov r1, r4                                        |     r1 = r4;
    0x00000d50 blx 0x82c                                         |     realloc (r0, r1);
    0x00000d54 str r0, [sp, 0x20]                                |     *(ptr) = r0;
    0x00000d56 cmp r0, 0                                         |     
                                                                 |     if (r0 != 0) {
    0x00000d58 bne.w 0xac0                                       |         goto label_6;
                                                                 |     }
    0x00000d5c ldr r2, [pc, 0x164]                               |     
    0x00000d5e mov r3, r4                                        |     r3 = r4;
    0x00000d60 ldr.w fp, [sp, 0x18]                              |     fp = *(arg_18h);
    0x00000d64 ldr r0, [pc, 0x138]                               |     r0 = *(0xea0);
    0x00000d66 add r2, pc                                        |     r2 = 0x1c2e;
    0x00000d68 b 0xdd2                                           |     goto label_9;
                                                                 | label_23:
    0x00000d6a ldr r2, [pc, 0x15c]                               |     
    0x00000d6c add r2, pc                                        |     r2 = 0x1c3a;
    0x00000d6e ldr r3, [r2, 8]                                   |     r3 = *(0x1c42);
    0x00000d70 ldr r1, [r2]                                      |     r1 = *(0x1c3a);
    0x00000d72 sub.w r3, sb, r3                                  |     r3 = sb - r3;
    0x00000d76 subs r3, r3, r1                                   |     r3 -= r1;
    0x00000d78 ldr r1, [r2, 4]                                   |     r1 = *(0x1c3e);
    0x00000d7a add r3, r1                                        |     r3 += r1;
    0x00000d7c str r3, [r2, 4]                                   |     *((r2 + 4)) = r3;
    0x00000d7e ldr r3, [sp, 0x20]                                |     r3 = *(ptr);
    0x00000d80 cmp r3, 0                                         |     
                                                                 |     if (r3 == 0) {
    0x00000d82 beq.w 0xbe8                                       |         goto label_7;
                                                                 |     }
    0x00000d86 ldr r5, [sp, 0x2c]                                |     r5 = *(arg_2ch);
    0x00000d88 ldr r6, [sp, 0xc]                                 |     r6 = *(arg_ch);
                                                                 |     do {
    0x00000d8a ldr r4, [r5, 4]!                                  |         r4 = *((r5 += 4));
                                                                 |         if (r4 != 0) {
    0x00000d8e cbz r4, 0xda6                                     |             
    0x00000d90 ldr r0, [r4]                                      |             r0 = *(r4);
    0x00000d92 blx 0x7f0                                         |             free (r0);
    0x00000d96 ldr r0, [r4, 4]                                   |             r0 = *((r4 + 4));
    0x00000d98 cmp r0, 0                                         |             
                                                                 |             if (r0 >= 0) {
    0x00000d9a blt 0xda0                                         |                 
    0x00000d9c blx 0x910                                         |                 close (r0);
                                                                 |             }
    0x00000da0 mov r0, r4                                        |             r0 = r4;
    0x00000da2 blx 0x7f0                                         |             free (r0);
                                                                 |         }
    0x00000da6 adds r6, 1                                        |         r6++;
    0x00000da8 cmp sb, r6                                        |         
    0x00000daa bne 0xd8a                                         |         
                                                                 |     } while (sb != r6);
                                                                 | label_24:
    0x00000dac ldr r0, [sp, 0x20]                                |     r0 = *(ptr);
    0x00000dae blx 0x7f0                                         |     free (r0);
    0x00000db2 b 0xbe8                                           |     goto label_7;
                                                                 | label_28:
    0x00000dbc blx 0x7f0                                         |     free (r0);
    0x00000dc0 str r4, [sp, 0x20]                                |     *(ptr) = r4;
    0x00000dc2 b 0xac0                                           |     goto label_6;
                                                                 | label_18:
    0x00000dca ldr r2, [pc, 0x104]                               |     
    0x00000dcc mov r3, r8                                        |     r3 = r8;
    0x00000dce ldr r0, [pc, 0xd0]                                |     r0 = *(0xea2);
    0x00000dd0 add r2, pc                                        |     r2 = 0x1ca6;
                                                                 |     do {
                                                                 | label_9:
    0x00000dd2 ldr.w r0, [fp, r0]                                |         r0 = *((fp + r0));
    0x00000dd6 movs r1, 1                                        |         r1 = 1;
    0x00000dd8 ldr r0, [r0]                                      |         r0 = *(r0);
    0x00000dda blx 0x8c8                                         |         fprintf_chk ()
    0x00000dde movs r0, 1                                        |         r0 = 1;
    0x00000de0 blx 0x880                                         |         exit (r0);
    0x00000de4 ldr r3, [pc, 0xec]                                |         
    0x00000de6 add r3, pc                                        |         r3 = 0x1cbe;
    0x00000de8 str r3, [sp, 0x14]                                |         *(s2) = r3;
    0x00000dea b 0xa10                                           |         goto label_8;
                                                                 | label_11:
    0x00000e04 ldr r2, [pc, 0xd8]                                |         
    0x00000e06 movs r3, 8                                        |         r3 = 8;
    0x00000e08 ldr r0, [pc, 0x94]                                |         r0 = *(0xea0);
    0x00000e0a add r2, pc                                        |         r2 = 0x1cee;
    0x00000e0c b 0xdd2                                           |         
                                                                 |     } while (1);
                                                                 | label_12:
    0x00000e0e ldr r3, [pc, 0x90]                                |     r3 = *(0xea2);
    0x00000e10 ldr.w r3, [fp, r3]                                |     r3 = *((fp + r3));
    0x00000e14 ldr r5, [r3]                                      |     r5 = *(0xea2);
    0x00000e16 blx 0x898                                         |     r0 = errno_location ();
    0x00000e1a ldr r0, [r0]                                      |     r0 = *(r0);
    0x00000e1c blx 0x868                                         |     strerror (r0);
    0x00000e20 ldr r2, [pc, 0xc0]                                |     
    0x00000e22 mov r4, r0                                        |     r4 = r0;
    0x00000e24 ldr r3, [sp, 0x14]                                |     r3 = *(s2);
    0x00000e26 movs r1, 1                                        |     r1 = 1;
    0x00000e28 mov r0, r5                                        |     r0 = r5;
    0x00000e2a str r4, [sp]                                      |     *(sp) = r4;
    0x00000e2c add r2, pc                                        |     r2 = 0x1d14;
    0x00000e2e blx 0x8c8                                         |     fprintf_chk ()
    0x00000e32 movs r0, 1                                        |     r0 = 1;
    0x00000e34 blx 0x880                                         |     exit (r0);
                                                                 | label_15:
    0x00000e38 ldr r2, [pc, 0xac]                                |     
    0x00000e3a mov r3, r5                                        |     r3 = r5;
    0x00000e3c ldr.w fp, [sp, 0x18]                              |     fp = *(arg_18h);
    0x00000e40 ldr r0, [pc, 0x5c]                                |     r0 = *(0xea0);
    0x00000e42 add r2, pc                                        |     r2 = 0x1d2e;
    0x00000e44 b 0xdd2                                           |     goto label_9;
                                                                 | label_14:
    0x00000e46 ldr r2, [pc, 0xa4]                                |     
    0x00000e48 movs r3, 0x10                                     |     r3 = 0x10;
    0x00000e4a ldr.w fp, [sp, 0x18]                              |     fp = *(arg_18h);
    0x00000e4e ldr r0, [pc, 0x50]                                |     r0 = *(0xea2);
    0x00000e50 add r2, pc                                        |     r2 = 0x1d42;
    0x00000e52 b 0xdd2                                           |     goto label_9;
                                                                 | label_25:
    0x00000e54 blx 0x814                                         |     stack_chk_fail ();
    0x00000e58 ldr.w fp, [sp, 0xc]                               |     fp = *(arg_ch);
    0x00000e5c movs r2, 0x3b                                     |     r2 = 0x3b;
    0x00000e5e ldr r3, [pc, 0x40]                                |     
    0x00000e60 movs r1, 1                                        |     r1 = 1;
    0x00000e62 ldr r0, [pc, 0x8c]                                |     
    0x00000e64 ldr.w r3, [fp, r3]                                |     r3 = *((fp + r3));
    0x00000e68 add r0, pc                                        |     r0 = 0x1d5e;
    0x00000e6a ldr r3, [r3]                                      |     r3 = *(0xea2);
    0x00000e6c blx 0x838                                         |     fwrite (r0, r1, r2, r3);
    0x00000e70 movs r0, 1                                        |     r0 = 1;
    0x00000e72 blx 0x880                                         |     exit (r0);
    0x00000e76 nop                                               |     
    0x00000e78 asrs r0, r3, 0x18                                 |     r0 = r3 >> 0x18;
    0x00000e7a movs r1, r0                                       |     r1 = r0;
    0x00000e7c lsls r4, r1, 2                                    |     r4 = r1 << 2;
    0x00000e7e movs r0, r0                                       |     
    0x00000e80 asrs r0, r2, 0x18                                 |     r0 = r2 >> 0x18;
    0x00000e82 movs r1, r0                                       |     r1 = r0;
    0x00000e84 lsls r6, r1, 0x1e                                 |     r6 = r1 << 0x1e;
    0x00000e86 movs r0, r0                                       |     
    0x00000e88 lsls r2, r2, 0x1e                                 |     r2 <<= 0x1e;
    0x00000e8a movs r0, r0                                       |     
    0x00000e8c lsrs r4, r2, 1                                    |     r4 = r2 >> 1;
    0x00000e8e movs r0, r0                                       |     
    0x00000e90 asrs r0, r5, 0x14                                 |     r0 = r5 >> 0x14;
    0x00000e92 movs r1, r0                                       |     r1 = r0;
    0x00000e94 lsrs r6, r3, 4                                    |     r6 = r3 >> 4;
    0x00000e96 movs r0, r0                                       |     
    0x00000e98 asrs r4, r3, 0x14                                 |     r4 = r3 >> 0x14;
    0x00000e9a movs r1, r0                                       |     r1 = r0;
    0x00000e9c lsrs r2, r1, 5                                    |     r2 = r1 >> 5;
    0x00000e9e movs r0, r0                                       |     
    0x00000ea0 lsls r0, r2, 2                                    |     r0 = r2 << 2;
    0x00000ea2 movs r0, r0                                       |     
    0x00000ea4 lsls r2, r0, 0x1c                                 |     r2 = r0 << 0x1c;
    0x00000ea6 movs r0, r0                                       |     
    0x00000ea8 asrs r0, r7, 0x10                                 |     r0 = r7 >> 0x10;
    0x00000eaa movs r1, r0                                       |     r1 = r0;
    0x00000eac asrs r0, r3, 0x10                                 |     r0 = r3 >> 0x10;
    0x00000eae movs r1, r0                                       |     r1 = r0;
    0x00000eb0 lsrs r2, r5, 1                                    |     r2 = r5 >> 1;
    0x00000eb2 movs r0, r0                                       |     
    0x00000eb4 asrs r6, r2, 0xd                                  |     r6 = r2 >> 0xd;
    0x00000eb6 movs r1, r0                                       |     r1 = r0;
    0x00000eb8 lsls r2, r0, 0x1c                                 |     r2 = r0 << 0x1c;
    0x00000eba movs r0, r0                                       |     
    0x00000ebc lsls r4, r6, 0x1c                                 |     r4 = r6 << 0x1c;
    0x00000ebe movs r0, r0                                       |     
    0x00000ec0 lsls r4, r2, 0x1b                                 |     r4 = r2 << 0x1b;
    0x00000ec2 movs r0, r0                                       |     
    0x00000ec4 lsls r2, r6, 0x14                                 |     r2 = r6 << 0x14;
    0x00000ec6 movs r0, r0                                       |     
    0x00000ec8 asrs r4, r3, 0xa                                  |     r4 = r3 >> 0xa;
    0x00000eca movs r1, r0                                       |     r1 = r0;
    0x00000ecc lsls r2, r7, 0xc                                  |     r2 = r7 << 0xc;
    0x00000ece movs r0, r0                                       |     
    0x00000ed0 lsls r0, r6, 0x14                                 |     r0 = r6 << 0x14;
    0x00000ed2 movs r0, r0                                       |     
    0x00000ed4 lsls r2, r1, 0xc                                  |     r2 = r1 << 0xc;
    0x00000ed6 movs r0, r0                                       |     
    0x00000ed8 lsls r0, r3, 0xc                                  |     r0 = r3 << 0xc;
    0x00000eda movs r0, r0                                       |     
    0x00000edc lsls r6, r3, 0xc                                  |     r6 = r3 << 0xc;
    0x00000ede movs r0, r0                                       |     
    0x00000ee0 lsls r2, r0, 0x11                                 |     r2 = r0 << 0x11;
    0x00000ee2 movs r0, r0                                       |     
    0x00000ee4 lsls r0, r0, 0x11                                 |     r0 <<= 0x11;
    0x00000ee6 movs r0, r0                                       |     
    0x00000ee8 lsls r2, r1, 0x10                                 |     r2 = r1 << 0x10;
    0x00000eea movs r0, r0                                       |     
    0x00000eec lsls r4, r7, 0xf                                  |     r4 = r7 << 0xf;
    0x00000eee movs r0, r0                                       |     
    0x00000ef0 lsls r0, r5, 0xe                                  |     r0 = r5 << 0xe;
    0x00000ef2 movs r0, r0                                       |     
    0x00000f28 adds r0, 0x14                                     |     r0 += 0x14;
    0x00000f2a b 0xa6c                                           |     goto label_10;
                                                                 | }

[*] Function fprintf used 7 times dbus-cleanup-sockets