[*] Binary protection state of dbus-send

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


[*] Function fprintf tear down of dbus-send

    ; assembly                               | /* r2dec pseudo code output */
                                             | /* /logs/firmware/patool_extraction/rootfs.img_unblob_extracted/rootfs.img_extract/0-80367616.squashfs_v4_le_extract/usr/bin/dbus-send @ 0x2204 */
                                             | #include <stdint.h>
                                             |  
    ; (fcn) fcn.00002204 ()                  | void fcn_00002204 (int16_t arg_ch, int16_t arg_10h, int16_t arg_14h, int16_t arg_18h, char * arg_1ch, int16_t arg_20h, char * s2, char * arg_28h, int16_t arg_2ch, int16_t arg_30h, int16_t arg_34h, int16_t arg_38h, int16_t arg_40h, int16_t arg_44h, int16_t arg_50h, int16_t arg_88h, int16_t arg_c0h, int16_t arg_f8h, int16_t arg_f9h, int16_t arg_fch, int16_t arg_fdh, int16_t arg_feh, int16_t arg_ffh, int16_t arg_100h) {
                                             |     int16_t var_0h;
                                             |     do {
    0x00001870 ldr r4, [r6, 4]!              |         r4 = *((r6 += 4));
    0x00001874 mov r1, sb                    |         r1 = sb;
    0x00001876 mov r0, r4                    |         r0 = r4;
    0x00001878 blx 0x17d8                    |         r0 = strcmp (r0, r1);
    0x0000187c cmp r0, 0                     |         
                                             |         if (r0 != 0) {
    0x0000187e beq 0x1912                    |             
    0x00001880 ldr.w r1, [pc, 0x870]         |             r1 = *(0x000020f4);
    0x00001884 mov r0, r4                    |             r0 = r4;
    0x00001886 add r1, pc                    |             r1 += pc;
    0x00001888 blx 0x17d8                    |             r0 = strcmp (r0, r1);
    0x0000188c cmp r0, 0                     |             
                                             |             if (r0 == 0) {
    0x0000188e beq 0x1924                    |                 goto label_26;
                                             |             }
    0x00001890 ldr.w r1, [pc, 0x864]         |             
    0x00001894 movs r2, 6                    |             r2 = 6;
    0x00001896 mov r0, r4                    |             r0 = r4;
    0x00001898 add r1, pc                    |             r1 = 0x3994;
    0x0000189a blx 0x17b4                    |             r0 = strncmp (r0, r1, r2);
    0x0000189e cmp r0, 0                     |             
                                             |             if (r0 == 0) {
    0x000018a0 beq 0x192c                    |                 goto label_27;
                                             |             }
    0x000018a2 ldr.w r1, [pc, 0x858]         |             r1 = *(0x000020fc);
    0x000018a6 movs r2, 7                    |             r2 = 7;
    0x000018a8 mov r0, r4                    |             r0 = r4;
    0x000018aa add r1, pc                    |             r1 += pc;
    0x000018ac blx 0x17b4                    |             r0 = strncmp (r0, r1, r2);
    0x000018b0 cmp r0, 0                     |             
                                             |             if (r0 == 0) {
    0x000018b2 beq 0x192c                    |                 goto label_27;
                                             |             }
    0x000018b4 ldr.w r1, [pc, 0x848]         |             
    0x000018b8 movs r2, 0xa                  |             r2 = 0xa;
    0x000018ba mov r0, r4                    |             r0 = r4;
    0x000018bc add r1, pc                    |             r1 = 0x39c0;
    0x000018be blx 0x17b4                    |             r0 = strncmp (r0, r1, r2);
                                             |             if (r0 == 0) {
    0x000018c2 cbz r0, 0x192c                |                 goto label_27;
                                             |             }
    0x000018c4 ldr.w r1, [pc, 0x83c]         |             
    0x000018c8 movs r2, 9                    |             r2 = 9;
    0x000018ca mov r0, r4                    |             r0 = r4;
    0x000018cc add r1, pc                    |             r1 = "error";
    0x000018ce blx 0x17b4                    |             r0 = strncmp (r0, "error", r2);
    0x000018d2 cmp r0, 0                     |             
                                             |             if (r0 == 0) {
    0x000018d4 beq.w 0x1a0a                  |                 goto label_28;
                                             |             }
    0x000018d8 ldr.w r1, [pc, 0x82c]         |             r1 = case.0x2322.17;
    0x000018dc movs r2, 0xd                  |             r2 = 0xd;
    0x000018de mov r0, r4                    |             r0 = r4;
    0x000018e0 add r1, pc                    |             r1 += pc;
    0x000018e2 blx 0x17b4                    |             r0 = strncmp (r0, r1, r2);
    0x000018e6 cmp r0, 0                     |             
                                             |             if (r0 != 0) {
    0x000018e8 bne 0x195a                    |                 goto label_29;
                                             |             }
    0x000018ea ldr.w r1, [pc, 0x820]         |             r1 = *(0x0000210c);
    0x000018ee add.w r3, r4, 0xd             |             r3 = r4 + 0xd;
    0x000018f2 mov r0, r3                    |             r0 = r3;
    0x000018f4 str r3, [sp, 0x1c]            |             *(arg_1ch) = r3;
    0x000018f6 add r1, pc                    |             r1 += pc;
    0x000018f8 blx 0x17d8                    |             r0 = strcmp (r0, r1);
    0x000018fc cmp r0, 0                     |             
                                             |             if (r0 == 0) {
    0x000018fe beq.w 0x1a2c                  |                 goto label_30;
                                             |             }
    0x00001902 ldrb r3, [r4, 0xd]            |             r3 = *((r4 + 0xd));
    0x00001904 cmp r3, 0                     |             
                                             |             if (r3 != 0) {
    0x00001906 bne.w 0x1d00                  |                 goto label_31;
                                             |             }
    0x0000190a movs r3, 1                    |             r3 = 1;
    0x0000190c strd r3, r3, [sp, 0x1c]       |             __asm ("strd r3, r3, [sp, 0x1c]");
    0x00001910 b 0x1918                      |             
                                             |         } else {
    0x00001912 mov.w fp, 1                   |             
    0x00001916 mov sl, fp                    |             sl = fp;
                                             |         }
                                             | label_0:
    0x00001918 adds r5, 1                    |         r5++;
    0x0000191a cmp r7, r5                    |         
    0x0000191c bne 0x1870                    |         
                                             |     } while (r7 != r5);
                                             | label_2:
    0x0000191e movs r0, 1                    |     r0 = 1;
                                             | label_1:
    0x00001920 bl 0x2ff4                     |     r0 = fcn_00002ff4 (r0);
                                             | label_26:
    0x00001924 mov sl, r0                    |     sl = r0;
    0x00001926 mov.w fp, 1                   |     
    0x0000192a b 0x1918                      |     goto label_0;
                                             | label_27:
    0x0000192c ldrb r3, [r4, 2]              |     r3 = *((r4 + 2));
    0x0000192e mov r0, r4                    |     r0 = r4;
    0x00001930 movs r1, 0x3d                 |     r1 = 0x3d;
    0x00001932 sub.w r3, r3, 0x62            |     r3 -= 0x62;
    0x00001936 clz r3, r3                    |     r3 &= r3;
    0x0000193a lsrs r3, r3, 5                |     r3 >>= 5;
    0x0000193c str r3, [sp, 0xc]             |     *(arg_ch) = r3;
    0x0000193e blx 0x1508                    |     strchr (r0, r1);
    0x00001942 ldrb r3, [r0, 1]              |     r3 = *((r0 + 1));
    0x00001944 add.w r8, r0, 1               |     r8 = r0 + 1;
    0x00001948 cmp r3, 0                     |     
                                             |     if (r3 != 0) {
    0x0000194a bne 0x1918                    |         goto label_0;
                                             |     }
    0x0000194c ldr.w r0, [pc, 0x7c0]         |     r0 = *(0x00002110);
    0x00001950 movs r2, 0x2a                 |     r2 = 0x2a;
    0x00001952 ldr.w r3, [pc, 0x7c0]         |     r3 = *(0x2116);
    0x00001956 add r0, pc                    |     r0 += pc;
    0x00001958 b 0x1aa0                      |     goto label_13;
                                             | label_29:
    0x0000195a ldr.w r1, [pc, 0x7bc]         |     r1 = *(0x00002118);
    0x0000195e movs r2, 0x10                 |     r2 = 0x10;
    0x00001960 mov r0, r4                    |     r0 = r4;
    0x00001962 add r1, pc                    |     r1 += pc;
    0x00001964 blx 0x17b4                    |     r0 = strncmp (r0, r1, r2);
    0x00001968 cmp r0, 0                     |     
                                             |     if (r0 == 0) {
    0x0000196a beq 0x1a36                    |         goto label_32;
                                             |     }
    0x0000196c ldr.w r1, [pc, 0x7ac]         |     
    0x00001970 movs r2, 7                    |     r2 = 7;
    0x00001972 mov r0, r4                    |     r0 = r4;
    0x00001974 add r1, pc                    |     r1 = 0x3a94;
    0x00001976 blx 0x17b4                    |     r0 = strncmp (r0, r1, r2);
    0x0000197a cmp r0, 0                     |     
                                             |     if (r0 == 0) {
    0x0000197c beq 0x1a7e                    |         goto label_33;
                                             |     }
    0x0000197e ldr.w r1, [pc, 0x7a0]         |     r1 = *(0x00002120);
    0x00001982 movs r2, 7                    |     r2 = 7;
    0x00001984 mov r0, r4                    |     r0 = r4;
    0x00001986 add r1, pc                    |     r1 += pc;
    0x00001988 blx 0x17b4                    |     r0 = strncmp (r0, r1, r2);
    0x0000198c cmp r0, 0                     |     
                                             |     if (r0 == 0) {
    0x0000198e beq.w 0x1b56                  |         goto label_34;
                                             |     }
    0x00001992 ldr.w r1, [pc, 0x790]         |     
    0x00001996 mov r0, r4                    |     r0 = r4;
    0x00001998 add r1, pc                    |     r1 = 0x3ac2;
    0x0000199a blx 0x17d8                    |     r0 = strcmp (r0, r1);
    0x0000199e cmp r0, 0                     |     
                                             |     if (r0 == 0) {
    0x000019a0 beq 0x1920                    |         goto label_1;
                                             |     }
    0x000019a2 ldrb r3, [r4]                 |     r3 = *(r4);
    0x000019a4 cmp r3, 0x2d                  |     
                                             |     if (r3 == 0x2d) {
    0x000019a6 beq 0x191e                    |         goto label_2;
                                             |     }
    0x000019a8 ldr r3, [sp, 0x28]            |     r3 = *(arg_28h);
    0x000019aa cmp r3, 0                     |     
                                             |     if (r3 == 0) {
    0x000019ac beq 0x1aae                    |         goto label_35;
                                             |     }
    0x000019ae subs.w r2, r8, 0              |     r2 = r8 - 0;
    0x000019b2 it ne                         |     
                                             |     if (r2 == r8) {
    0x000019b4 movne r2, 1                   |         r2 = 1;
                                             |     }
    0x000019b6 cmp.w fp, 0                   |     
                                             |     if (fp != 0) {
    0x000019ba beq 0x19c0                    |         
    0x000019bc cmp r2, 0                     |         
                                             |         if (r2 != 0) {
    0x000019be bne 0x1a94                    |             goto label_36;
                                             |         }
                                             |     }
    0x000019c0 ldr r3, [sp, 0x14]            |     r3 = *(arg_14h);
    0x000019c2 cmp r3, 0                     |     
                                             |     if (r3 == 0) {
    0x000019c4 beq 0x1ab2                    |         goto label_37;
                                             |     }
    0x000019c6 cmp r2, 0                     |     
                                             |     if (r2 == 0) {
    0x000019c8 beq 0x1ab2                    |         goto label_37;
                                             |     }
    0x000019ca ldr r3, [sp, 0xc]             |     r3 = *(arg_ch);
    0x000019cc cmp r3, 0                     |     
                                             |     if (r3 == 0) {
    0x000019ce beq.w 0x1b8c                  |         goto label_38;
                                             |     }
    0x000019d2 ldr r3, [sp, 0x24]            |     r3 = *(s2);
    0x000019d4 cmp r3, 0                     |     
                                             |     if (r3 == 0) {
    0x000019d6 beq.w 0x1bf2                  |         goto label_39;
                                             |     }
                                             | label_3:
    0x000019da ldr r6, [sp, 0x24]            |     r6 = *(s2);
    0x000019dc mov r0, r6                    |     r0 = r6;
    0x000019de blx 0x149c                    |     r0 = dbus_message_type_from_string ();
    0x000019e2 cmp r0, 1                     |     
    0x000019e4 str r0, [sp, 0x1c]            |     *(arg_1ch) = r0;
                                             |     if (r0 == 1) {
    0x000019e6 beq 0x1ab8                    |         goto label_40;
                                             |     }
    0x000019e8 cmp r0, 4                     |     
                                             |     if (r0 == 4) {
    0x000019ea beq 0x1ab8                    |         goto label_40;
                                             |     }
    0x000019ec ldr.w r2, [pc, 0x738]         |     r2 = *(0x00002128);
    0x000019f0 mov r3, r6                    |     r3 = r6;
    0x000019f2 ldr.w r0, [pc, 0x720]         |     r0 = *(0x2116);
    0x000019f6 add r2, pc                    |     r2 += pc;
                                             | label_10:
    0x000019f8 ldr r4, [sp, 0x10]            |     r4 = *(arg_10h);
    0x000019fa movs r1, 1                    |     r1 = 1;
    0x000019fc ldr r0, [r4, r0]              |     r0 = *((r4 + r0));
    0x000019fe ldr r0, [r0]                  |     r0 = *(r0);
    0x00001a00 blx 0x16e8                    |     fprintf_chk ()
    0x00001a04 movs r0, 1                    |     r0 = 1;
    0x00001a06 blx 0x17e4                    |     exit (r0);
                                             | label_28:
    0x00001a0a mov r0, r4                    |     r0 = r4;
    0x00001a0c movs r1, 0x3d                 |     r1 = 0x3d;
    0x00001a0e blx 0x1508                    |     strchr (r0, r1);
    0x00001a12 ldrb r3, [r0, 1]              |     r3 = *((r0 + 1));
    0x00001a14 adds r2, r0, 1                |     r2 = r0 + 1;
    0x00001a16 str r2, [sp, 0x14]            |     *(arg_14h) = r2;
    0x00001a18 cmp r3, 0                     |     
                                             |     if (r3 != 0) {
    0x00001a1a bne.w 0x1918                  |         goto label_0;
                                             |     }
    0x00001a1e ldr.w r0, [pc, 0x70c]         |     
    0x00001a22 movs r2, 0x1c                 |     r2 = 0x1c;
    0x00001a24 ldr.w r3, [pc, 0x6ec]         |     r3 = *(0x2114);
    0x00001a28 add r0, pc                    |     r0 = 0x3b5a;
    0x00001a2a b 0x1aa0                      |     goto label_13;
                                             | label_30:
    0x00001a2c movs r3, 1                    |     r3 = 1;
    0x00001a2e str r3, [sp, 0x1c]            |     *(arg_1ch) = r3;
    0x00001a30 str r3, [sp, 0x30]            |     *(arg_30h) = r3;
    0x00001a32 str r3, [sp, 0x20]            |     *(arg_20h) = r3;
    0x00001a34 b 0x1918                      |     goto label_0;
                                             | label_32:
    0x00001a36 str r0, [sp, 0x34]            |     *(arg_34h) = r0;
    0x00001a38 movs r1, 0x3d                 |     r1 = 0x3d;
    0x00001a3a mov r0, r4                    |     r0 = r4;
    0x00001a3c blx 0x1508                    |     strchr (r0, r1);
    0x00001a40 ldrb r2, [r0, 1]              |     r2 = *((r0 + 1));
    0x00001a42 ldr r3, [sp, 0x34]            |     r3 = *(arg_34h);
    0x00001a44 cmp r2, 0                     |     
                                             |     if (r2 == 0) {
    0x00001a46 beq.w 0x1d12                  |         goto label_41;
                                             |     }
    0x00001a4a mov r1, r3                    |     r1 = r3;
    0x00001a4c adds r0, 1                    |     r0++;
    0x00001a4e movs r2, 0xa                  |     r2 = 0xa;
    0x00001a50 blx 0x1664                    |     r0 = strtol (r0, r1, r2);
    0x00001a54 subs r3, r0, 0                |     r3 = r0 - 0;
    0x00001a56 str r3, [sp, 0x34]            |     *(arg_34h) = r3;
                                             |     if (r3 > r0) {
    0x00001a58 bgt.w 0x1918                  |         goto label_0;
                                             |     }
    0x00001a5c movs r1, 0x3d                 |     r1 = 0x3d;
    0x00001a5e mov r0, r4                    |     r0 = r4;
    0x00001a60 blx 0x1508                    |     strchr (r0, r1);
    0x00001a64 ldr.w r2, [pc, 0x6c8]         |     r2 = *(0x00002130);
    0x00001a68 adds r3, r0, 1                |     r3 = r0 + 1;
    0x00001a6a ldr.w r4, [pc, 0x6a8]         |     r4 = *(0x2116);
    0x00001a6e movs r1, 1                    |     r1 = 1;
    0x00001a70 ldr r0, [sp, 0x10]            |     r0 = *(arg_10h);
    0x00001a72 add r2, pc                    |     r2 += pc;
                                             | label_12:
    0x00001a74 ldr r0, [r0, r4]              |     r0 = *((r0 + r4));
    0x00001a76 ldr r0, [r0]                  |     r0 = *(r0);
    0x00001a78 blx 0x16e8                    |     fprintf_chk ()
    0x00001a7c b 0x191e                      |     goto label_2;
                                             | label_33:
    0x00001a7e mov r0, r4                    |     r0 = r4;
    0x00001a80 movs r1, 0x3d                 |     r1 = 0x3d;
    0x00001a82 blx 0x1508                    |     strchr (r0, r1);
    0x00001a86 ldrb r3, [r0, 1]              |     r3 = *((r0 + 1));
    0x00001a88 cmp r3, 0                     |     
                                             |     if (r3 == 0) {
    0x00001a8a beq.w 0x1d3a                  |         goto label_42;
                                             |     }
    0x00001a8e adds r3, r0, 1                |     r3 = r0 + 1;
    0x00001a90 str r3, [sp, 0x2c]            |     *(arg_2ch) = r3;
    0x00001a92 b 0x1918                      |     goto label_0;
                                             | label_36:
    0x00001a94 ldr.w r0, [pc, 0x69c]         |     r0 = *(0x00002134);
    0x00001a98 movs r2, 0x44                 |     r2 = 0x44;
    0x00001a9a ldr.w r3, [pc, 0x678]         |     r3 = *(0x2116);
    0x00001a9e add r0, pc                    |     r0 += pc;
                                             | label_13:
    0x00001aa0 ldr r4, [sp, 0x10]            |     r4 = *(arg_10h);
    0x00001aa2 movs r1, 1                    |     r1 = 1;
    0x00001aa4 ldr r3, [r4, r3]              |     r3 = *((r4 + r3));
    0x00001aa6 ldr r3, [r3]                  |     r3 = *(r3);
    0x00001aa8 blx 0x16ac                    |     fwrite (r0, r1, r2, r3);
    0x00001aac b 0x191e                      |     goto label_2;
                                             | label_35:
    0x00001aae str r4, [sp, 0x28]            |     *(arg_28h) = r4;
    0x00001ab0 b 0x1918                      |     goto label_0;
                                             | label_37:
    0x00001ab2 ldr r3, [sp, 0x24]            |     r3 = *(s2);
    0x00001ab4 cmp r3, 0                     |     
                                             |     if (r3 != 0) {
    0x00001ab6 bne 0x19da                    |         goto label_3;
                                             |     }
                                             | label_40:
    0x00001ab8 add r6, sp, 0x40              |     r6 += arg_40h;
    0x00001aba mov r0, r6                    |     r0 = r6;
    0x00001abc blx 0x1700                    |     dbus_error_init ();
    0x00001ac0 ldr r3, [sp, 0x2c]            |     r3 = *(arg_2ch);
                                             |     if (r3 != 0) {
    0x00001ac2 cbz r3, 0x1ad2                |         
    0x00001ac4 mov r1, r6                    |         r1 = r6;
    0x00001ac6 mov r0, r3                    |         r0 = r3;
    0x00001ac8 blx 0x16d0                    |         r0 = dbus_validate_bus_name ();
    0x00001acc cmp r0, 0                     |         
                                             |         if (r0 == 0) {
    0x00001ace beq.w 0x1c10                  |             goto label_43;
                                             |         }
                                             |     }
    0x00001ad2 ldr r3, [sp, 0x14]            |     r3 = *(arg_14h);
    0x00001ad4 cbz r3, 0x1ae2                |     
                                             |     while (r3 == 0) {
                                             | label_4:
    0x00001ad6 ldr r0, [sp, 0x14]            |         r0 = *(arg_14h);
    0x00001ad8 mov r1, r6                    |         r1 = r6;
    0x00001ada blx 0x16d0                    |         r0 = dbus_validate_bus_name ();
    0x00001ade cmp r0, 0                     |         
                                             |         if (r0 != 0) {
    0x00001ae0 beq 0x1bce                    |             
    0x00001ae2 ldr r0, [sp, 0x28]            |             r0 = *(arg_28h);
    0x00001ae4 mov r1, r6                    |             r1 = r6;
    0x00001ae6 blx 0x1694                    |             r0 = dbus_validate_path ();
    0x00001aea cmp r0, 0                     |             
                                             |             if (r0 != 0) {
    0x00001aec beq 0x1baa                    |                 
    0x00001aee mov r1, r6                    |                 r1 = r6;
    0x00001af0 cmp.w r8, 0                   |                 
                                             |                 if (r8 == 0) {
    0x00001af4 beq.w 0x1c58                  |                     goto label_44;
                                             |                 }
    0x00001af8 mov r0, r8                    |                 r0 = r8;
    0x00001afa blx 0x16b8                    |                 r0 = dbus_connection_open ();
    0x00001afe mov sb, r0                    |                 sb = r0;
                                             |                 if (r0 != 0) {
    0x00001b00 cbz r0, 0x1b64                |                     
    0x00001b02 ldr r3, [sp, 0xc]             |                     r3 = *(arg_ch);
                                             |                     if (r3 != 0) {
    0x00001b04 cbz r3, 0x1b12                |                         
    0x00001b06 mov r1, r6                    |                         r1 = r6;
    0x00001b08 blx 0x1520                    |                         r0 = dbus_bus_register ();
    0x00001b0c cmp r0, 0                     |                         
                                             |                         if (r0 == 0) {
    0x00001b0e beq.w 0x1d1e                  |                             goto label_45;
                                             |                         }
                                             |                     }
                                             | label_7:
    0x00001b12 ldr r1, [sp, 0x14]            |                     r1 = *(arg_14h);
    0x00001b14 cmp r1, 0                     |                     
                                             |                     if (r1 == 0) {
    0x00001b16 beq.w 0x1c1e                  |                         goto label_46;
                                             |                     }
    0x00001b1a mov r3, r6                    |                     r3 = r6;
    0x00001b1c movs r2, 4                    |                     r2 = 4;
    0x00001b1e mov r0, sb                    |                     r0 = sb;
    0x00001b20 blx 0x1754                    |                     r0 = dbus_bus_request_name ();
    0x00001b24 cmp r0, 1                     |                     
    0x00001b26 mov r1, r0                    |                     r1 = r0;
                                             |                     if (r0 == 1) {
    0x00001b28 beq 0x1c1e                    |                         goto label_46;
                                             |                     }
    0x00001b2a cmp r0, 3                     |                     
                                             |                     if (r0 == 3) {
    0x00001b2c beq.w 0x1cd8                  |                         goto label_47;
                                             |                     }
    0x00001b30 adds r3, r0, 1                |                     r3 = r0 + 1;
                                             |                     if (r3 == r0) {
    0x00001b32 beq.w 0x1ce6                  |                         goto label_48;
                                             |                     }
    0x00001b36 ldr.w r2, [pc, 0x600]         |                     r2 = *(0x00002138);
    0x00001b3a ldr.w r0, [pc, 0x5d8]         |                     r0 = *(0x2116);
    0x00001b3e ldrd r4, r3, [sp, 0x10]       |                     __asm ("ldrd r4, r3, [arg_10h]");
    0x00001b42 add r2, pc                    |                     r2 += pc;
    0x00001b44 ldr r0, [r4, r0]              |                     r0 = *((r4 + r0));
    0x00001b46 str r1, [sp]                  |                     *(sp) = r1;
                                             | label_23:
    0x00001b48 ldr r0, [r0]                  |                     r0 = *(r0);
    0x00001b4a movs r1, 1                    |                     r1 = 1;
    0x00001b4c blx 0x16e8                    |                     fprintf_chk ()
    0x00001b50 movs r0, 1                    |                     r0 = 1;
    0x00001b52 blx 0x17e4                    |                     exit (r0);
                                             | label_34:
    0x00001b56 mov r0, r4                    |                     r0 = r4;
    0x00001b58 movs r1, 0x3d                 |                     r1 = 0x3d;
    0x00001b5a blx 0x1508                    |                     r0 = strchr (r0, r1);
    0x00001b5e adds r3, r0, 1                |                     r3 = r0 + 1;
    0x00001b60 str r3, [sp, 0x24]            |                     *(s2) = r3;
    0x00001b62 b 0x1918                      |                     goto label_0;
                                             |                 }
    0x00001b64 ldr.w r3, [pc, 0x5ac]         |                 r3 = *(0x2114);
    0x00001b68 ldr r2, [sp, 0x10]            |                 r2 = *(arg_10h);
    0x00001b6a ldr r3, [r2, r3]              |                 r3 = *((r2 + r3));
    0x00001b6c ldr r0, [r3]                  |                 r0 = *(0x2114);
                                             | label_8:
    0x00001b6e ldr r1, [sp, 0x44]            |                 r1 = *(arg_44h);
    0x00001b70 mov r3, r8                    |                 r3 = r8;
    0x00001b72 ldr.w r2, [pc, 0x5c8]         |                 r2 = *(0x0000213c);
    0x00001b76 str r1, [sp]                  |                 *(sp) = r1;
    0x00001b78 movs r1, 1                    |                 r1 = 1;
    0x00001b7a add r2, pc                    |                 r2 += pc;
                                             | label_11:
    0x00001b7c blx 0x16e8                    |                 fprintf_chk ()
    0x00001b80 mov r0, r6                    |                 r0 = r6;
    0x00001b82 blx 0x1790                    |                 dbus_error_free ();
    0x00001b86 movs r0, 1                    |                 r0 = 1;
    0x00001b88 blx 0x17e4                    |                 exit (r0);
                                             | label_38:
    0x00001b8c ldr.w r0, [pc, 0x5b0]         |                 r0 = *(0x00002140);
    0x00001b90 movs r2, 0x29                 |                 r2 = 0x29;
    0x00001b92 ldr.w r3, [pc, 0x580]         |                 r3 = *(0x2116);
    0x00001b96 add r0, pc                    |                 r0 += pc;
                                             | label_9:
    0x00001b98 ldr r4, [sp, 0x10]            |                 r4 = *(arg_10h);
    0x00001b9a movs r1, 1                    |                 r1 = 1;
    0x00001b9c ldr r3, [r4, r3]              |                 r3 = *((r4 + r3));
    0x00001b9e ldr r3, [r3]                  |                 r3 = *(r3);
    0x00001ba0 blx 0x16ac                    |                 fwrite (r0, r1, r2, r3);
    0x00001ba4 movs r0, 1                    |                 r0 = 1;
    0x00001ba6 blx 0x17e4                    |                 exit (r0);
                                             |             }
    0x00001baa ldr.w r2, [pc, 0x598]         |             
    0x00001bae ldr.w r1, [pc, 0x564]         |             r1 = *(0x2116);
    0x00001bb2 ldr r3, [sp, 0x44]            |             r3 = *(arg_44h);
    0x00001bb4 add r2, pc                    |             r2 = 0x3cfe;
                                             | label_6:
    0x00001bb6 ldr r0, [sp, 0x10]            |             r0 = *(arg_10h);
    0x00001bb8 ldr r1, [r0, r1]              |             r1 = *((r0 + r1));
    0x00001bba ldr r0, [r1]                  |             r0 = *(r1);
    0x00001bbc movs r1, 1                    |             r1 = 1;
    0x00001bbe blx 0x16e8                    |             fprintf_chk ()
    0x00001bc2 mov r0, r6                    |             r0 = r6;
    0x00001bc4 blx 0x1790                    |             dbus_error_free ();
    0x00001bc8 movs r0, 1                    |             r0 = 1;
    0x00001bca blx 0x17e4                    |             exit (r0);
                                             |         }
    0x00001bce ldr.w r2, [pc, 0x578]         |         
    0x00001bd2 ldr.w r1, [pc, 0x540]         |         r1 = *(0x2116);
    0x00001bd6 ldr r3, [sp, 0x14]            |         r3 = *(arg_14h);
    0x00001bd8 add r2, pc                    |         r2 = 0x3d26;
                                             | label_5:
    0x00001bda ldr r0, [sp, 0x10]            |         r0 = *(arg_10h);
    0x00001bdc ldr r1, [r0, r1]              |         r1 = *((r0 + r1));
    0x00001bde ldr r0, [r1]                  |         r0 = *(r1);
    0x00001be0 movs r1, 1                    |         r1 = 1;
    0x00001be2 blx 0x16e8                    |         fprintf_chk ()
    0x00001be6 mov r0, r6                    |         r0 = r6;
    0x00001be8 blx 0x1790                    |         dbus_error_free ();
    0x00001bec movs r0, 1                    |         r0 = 1;
    0x00001bee bl 0x2ff4                     |         fcn_00002ff4 (r0);
                                             | label_39:
    0x00001bf2 add r6, sp, 0x40              |         r6 += arg_40h;
    0x00001bf4 mov r0, r6                    |         r0 = r6;
    0x00001bf6 blx 0x1700                    |         dbus_error_init ();
    0x00001bfa ldr r3, [sp, 0x2c]            |         r3 = *(arg_2ch);
    0x00001bfc cmp r3, 0                     |         
    0x00001bfe beq.w 0x1ad6                  |         
                                             |     }
    0x00001c02 ldr r0, [sp, 0x2c]            |     r0 = *(arg_2ch);
    0x00001c04 mov r1, r6                    |     r1 = r6;
    0x00001c06 blx 0x16d0                    |     r0 = dbus_validate_bus_name ();
    0x00001c0a cmp r0, 0                     |     
                                             |     if (r0 != 0) {
    0x00001c0c bne.w 0x1ad6                  |         goto label_4;
                                             |     }
                                             | label_43:
    0x00001c10 ldr.w r2, [pc, 0x538]         |     r2 = *(0x0000214c);
    0x00001c14 ldr.w r1, [pc, 0x4fc]         |     r1 = *(0x2114);
    0x00001c16 asrs r4, r7, 0x13             |     r4 = r7 >> 0x13;
    0x00001c18 ldr r3, [sp, 0x2c]            |     r3 = *(arg_2ch);
    0x00001c1a add r2, pc                    |     r2 += pc;
    0x00001c1c b 0x1bda                      |     goto label_5;
                                             | label_46:
    0x00001c1e ldr r3, [sp, 0x1c]            |     r3 = *(arg_1ch);
    0x00001c20 cmp r3, 1                     |     
                                             |     if (r3 == 1) {
    0x00001c22 beq 0x1c8c                    |         goto label_49;
                                             |     }
    0x00001c24 ldr r3, [sp, 0x1c]            |     r3 = *(arg_1ch);
    0x00001c26 cmp r3, 4                     |     
                                             |     if (r3 != 4) {
    0x00001c28 bne 0x1c7e                    |         goto label_50;
                                             |     }
    0x00001c2a movs r1, 0x2e                 |     r1 = 0x2e;
    0x00001c2c mov r0, r4                    |     r0 = r4;
    0x00001c2e blx 0x1550                    |     r0 = strrchr (r0, r1);
    0x00001c32 mov r8, r0                    |     r8 = r0;
    0x00001c34 cmp r0, 0                     |     
                                             |     if (r0 == 0) {
    0x00001c36 beq.w 0x1d60                  |         goto label_51;
                                             |     }
    0x00001c3a movs r3, 0                    |     r3 = 0;
    0x00001c3c mov r1, r6                    |     r1 = r6;
    0x00001c3e strb r3, [r0]                 |     *(r0) = r3;
    0x00001c40 mov r0, r4                    |     r0 = r4;
    0x00001c42 blx 0x1658                    |     r0 = dbus_validate_interface ();
    0x00001c46 cmp r0, 0                     |     
                                             |     if (r0 != 0) {
    0x00001c48 bne 0x1d46                    |         goto label_52;
                                             |     }
    0x00001c4a ldr.w r2, [pc, 0x504]         |     
    0x00001c4e ldr.w r1, [pc, 0x4c4]         |     r1 = *(0x2116);
    0x00001c52 ldr r3, [sp, 0x44]            |     r3 = *(arg_44h);
    0x00001c54 add r2, pc                    |     r2 = 0x3daa;
    0x00001c56 b 0x1bb6                      |     goto label_6;
                                             | label_44:
    0x00001c58 mov r0, sl                    |     r0 = sl;
    0x00001c5a blx 0x161c                    |     r0 = dbus_bus_get ();
    0x00001c5e mov sb, r0                    |     sb = r0;
    0x00001c60 cmp r0, 0                     |     
                                             |     if (r0 != 0) {
    0x00001c62 bne.w 0x1b12                  |         goto label_7;
                                             |     }
    0x00001c66 ldr.w r3, [pc, 0x4ac]         |     r3 = *(0x2116);
    0x00001c6a ldr r2, [sp, 0x10]            |     r2 = *(arg_10h);
    0x00001c6c ldr r3, [r2, r3]              |     r3 = *((r2 + r3));
    0x00001c6e ldr r0, [r3]                  |     r0 = *(0x2116);
    0x00001c70 cmp.w sl, 0                   |     
                                             |     if (sl != 0) {
    0x00001c74 bne 0x1d32                    |         goto label_53;
                                             |     }
    0x00001c76 ldr.w r8, [pc, 0x4dc]         |     r8 = *(0x00002154);
    0x00001c7a add r8, pc                    |     r8 += pc;
    0x00001c7c b 0x1b6e                      |     goto label_8;
                                             | label_50:
    0x00001c7e ldr.w r0, [pc, 0x4d8]         |     
    0x00001c82 movs r2, 0x25                 |     r2 = 0x25;
    0x00001c84 ldr.w r3, [pc, 0x48c]         |     r3 = *(0x2114);
    0x00001c88 add r0, pc                    |     r0 = 0x3de6;
    0x00001c8a b 0x1b98                      |     goto label_9;
                                             | label_49:
    0x00001c8c movs r1, 0x2e                 |     r1 = 0x2e;
    0x00001c8e mov r0, r4                    |     r0 = r4;
    0x00001c90 blx 0x1550                    |     r0 = strrchr (r0, r1);
    0x00001c94 mov sl, r0                    |     sl = r0;
    0x00001c96 cmp r0, 0                     |     
                                             |     if (r0 == 0) {
    0x00001c98 beq.w 0x1fca                  |         goto label_54;
                                             |     }
    0x00001c9c mov.w r8, 0                   |     r8 = 0;
    0x00001ca0 mov r1, r6                    |     r1 = r6;
    0x00001ca2 strb.w r8, [r0]               |     *(r0) = r8;
    0x00001ca6 mov r0, r4                    |     r0 = r4;
    0x00001ca8 blx 0x1658                    |     r0 = dbus_validate_interface ();
    0x00001cac cmp r0, 0                     |     
                                             |     if (r0 != 0) {
    0x00001cae bne.w 0x1fac                  |         goto label_55;
                                             |     }
    0x00001cb2 ldr.w r2, [pc, 0x460]         |     
    0x00001cb6 ldr r1, [sp, 0x10]            |     r1 = *(arg_10h);
    0x00001cb8 ldr r3, [sp, 0x44]            |     r3 = *(arg_44h);
    0x00001cba ldr r2, [r1, r2]              |     r2 = *((r1 + r2));
    0x00001cbc ldr r0, [r2]                  |     r0 = *(0x2116);
    0x00001cbe ldr.w r2, [pc, 0x49c]         |     r2 = *(0x0000215c);
    0x00001cc2 add r2, pc                    |     r2 = 0x3ddc;
                                             | label_20:
    0x00001cc4 ldr r4, [sp, 0x1c]            |     r4 = *(arg_1ch);
    0x00001cc6 mov r1, r4                    |     r1 = r4;
    0x00001cc8 blx 0x16e8                    |     fprintf_chk ()
    0x00001ccc mov r0, r6                    |     r0 = r6;
    0x00001cce blx 0x1790                    |     dbus_error_free ();
    0x00001cd2 mov r0, r4                    |     r0 = r4;
    0x00001cd4 blx 0x17e4                    |     exit (r0);
                                             | label_47:
    0x00001cd8 ldr.w r2, [pc, 0x484]         |     r2 = *(0x00002160);
    0x00001cdc ldr.w r0, [pc, 0x434]         |     r0 = *(0x2114);
    0x00001ce0 ldr r3, [sp, 0x14]            |     r3 = *(arg_14h);
    0x00001ce2 add r2, pc                    |     r2 += pc;
    0x00001ce4 b 0x19f8                      |     goto label_10;
                                             | label_48:
    0x00001ce6 ldr.w r2, [pc, 0x42c]         |     r2 = *(0x2116);
    0x00001cea ldrd r0, r3, [sp, 0x10]       |     __asm ("ldrd r0, r3, [arg_10h]");
    0x00001cee ldr r1, [sp, 0x44]            |     r1 = *(arg_44h);
    0x00001cf0 ldr r0, [r0, r2]              |     r0 = *((r0 + r2));
    0x00001cf2 ldr.w r2, [pc, 0x470]         |     
    0x00001cf6 str r1, [sp]                  |     *(sp) = r1;
    0x00001cf8 add r2, pc                    |     r2 = 0x3e62;
                                             |     do {
    0x00001cfa ldr r0, [r0]                  |         r0 = *(r0);
    0x00001cfc movs r1, 1                    |         r1 = 1;
    0x00001cfe b 0x1b7c                      |         goto label_11;
                                             | label_31:
    0x00001d00 ldr.w r2, [pc, 0x464]         |         r2 = *(0x00002168);
    0x00001d04 movs r1, 1                    |         r1 = 1;
    0x00001d06 ldr.w r0, [pc, 0x40c]         |         r0 = *(0x2116);
    0x00001d0a ldr r3, [sp, 0x1c]            |         r3 = *(arg_1ch);
    0x00001d0c ldr r4, [sp, 0x10]            |         r4 = *(arg_10h);
    0x00001d0e add r2, pc                    |         r2 += pc;
    0x00001d10 b 0x1a74                      |         goto label_12;
                                             | label_41:
    0x00001d12 ldr.w r0, [pc, 0x458]         |         r0 = *(0x0000216c);
    0x00001d16 movs r2, 0x24                 |         r2 = 0x24;
    0x00001d18 ldr r3, [pc, 0x3f8]           |         r3 = *(0x2114);
    0x00001d1a add r0, pc                    |         r0 += pc;
    0x00001d1c b 0x1aa0                      |         goto label_13;
                                             | label_45:
    0x00001d1e ldr r2, [pc, 0x3f4]           |         
    0x00001d20 mov r3, r8                    |         r3 = r8;
    0x00001d22 ldr r0, [sp, 0x10]            |         r0 = *(arg_10h);
    0x00001d24 ldr r1, [sp, 0x44]            |         r1 = *(arg_44h);
    0x00001d26 ldr r0, [r0, r2]              |         r0 = *((r0 + r2));
    0x00001d28 ldr.w r2, [pc, 0x444]         |         r2 = *(0x00002170);
    0x00001d2c str r1, [sp]                  |         *(sp) = r1;
    0x00001d2e add r2, pc                    |         r2 = 0x3e48;
    0x00001d30 b 0x1cfa                      |         
                                             |     } while (1);
                                             | label_53:
    0x00001d32 ldr.w r8, [pc, 0x440]         |     r8 = *(0x00002174);
    0x00001d36 add r8, pc                    |     r8 += pc;
    0x00001d38 b 0x1b6e                      |     goto label_8;
                                             | label_42:
    0x00001d3a ldr.w r0, [pc, 0x43c]         |     r0 = *(0x00002178);
    0x00001d3e movs r2, 0x1b                 |     r2 = 0x1b;
    0x00001d40 ldr r3, [pc, 0x3d0]           |     r3 = *(0x2114);
    0x00001d42 add r0, pc                    |     r0 += pc;
    0x00001d44 b 0x1aa0                      |     goto label_13;
                                             | label_52:
    0x00001d46 add.w r8, r8, 1               |     r8++;
                                             | label_25:
    0x00001d48 lsrs r1, r0, 0x20             |     r1 = r0 >> 0x20;
    0x00001d4a mov r1, r6                    |     r1 = r6;
    0x00001d4c mov r0, r8                    |     r0 = r8;
    0x00001d4e blx 0x1748                    |     r0 = dbus_validate_member ();
                                             |     if (r0 == 0) {
    0x00001d52 cbnz r0, 0x1d6c               |         
    0x00001d54 ldr.w r2, [pc, 0x424]         |         
    0x00001d58 ldr r1, [pc, 0x3b8]           |         r1 = *(0x2114);
    0x00001d5a ldr r3, [sp, 0x44]            |         r3 = *(arg_44h);
    0x00001d5c add r2, pc                    |         r2 = 0x3edc;
    0x00001d5e b 0x1bb6                      |         goto label_6;
                                             | label_51:
    0x00001d60 ldr.w r2, [pc, 0x41c]         |         
    0x00001d64 mov r3, r4                    |         r3 = r4;
    0x00001d66 ldr r0, [pc, 0x3ac]           |         r0 = *(0x2116);
    0x00001d68 add r2, pc                    |         r2 = 0x3eec;
    0x00001d6a b 0x19f8                      |         goto label_10;
                                             |     }
    0x00001d6c mov r2, r8                    |     r2 = r8;
    0x00001d6e ldr r0, [sp, 0x28]            |     r0 = *(arg_28h);
    0x00001d70 mov r1, r4                    |     r1 = r4;
    0x00001d72 blx 0x173c                    |     r0 = dbus_message_new_signal ();
    0x00001d76 mov r8, r0                    |     r8 = r0;
    0x00001d78 cmp r0, 0                     |     
                                             |     if (r0 == 0) {
    0x00001d7a beq.w 0x1e8e                  |         goto label_15;
                                             |     }
                                             | label_22:
    0x00001d7e ldr r3, [sp, 0x2c]            |     r3 = *(arg_2ch);
                                             |     if (r3 != 0) {
    0x00001d80 cbz r3, 0x1d90                |         
    0x00001d82 mov r1, r3                    |         r1 = r3;
    0x00001d84 mov r0, r8                    |         r0 = r8;
    0x00001d86 blx 0x1610                    |         r0 = dbus_message_set_destination ();
    0x00001d8a cmp r0, 0                     |         
                                             |         if (r0 == 0) {
    0x00001d8c beq.w 0x20d6                  |             goto label_56;
                                             |         }
                                             |     }
    0x00001d90 adds r3, r5, 1                |     r3 = r5 + 1;
    0x00001d92 mov r0, r8                    |     r0 = r8;
    0x00001d94 str r3, [sp, 0xc]             |     *(arg_ch) = r3;
    0x00001d96 add r3, sp, 0x50              |     r3 += arg_50h;
    0x00001d98 mov r1, r3                    |     r1 = r3;
    0x00001d9a str r3, [sp, 0x14]            |     *(arg_14h) = r3;
    0x00001d9c blx 0x14d8                    |     dbus_message_iter_init_append ();
    0x00001da0 ldr r3, [pc, 0x3e0]           |     
    0x00001da2 ldr.w fp, [pc, 0x3e4]         |     fp = *(0x00002188);
    0x00001da6 str.w r8, [sp, 0x2c]          |     __asm ("str.w r8, [arg_2ch]");
    0x00001daa add r3, pc                    |     r3 = 0x3f32;
    0x00001dac strd sb, r6, [sp, 0x38]       |     __asm ("strd sb, r6, [sp, 0x38]");
    0x00001db0 str r3, [sp, 0x24]            |     *(s2) = r3;
    0x00001db2 add fp, pc                    |     
    0x00001db4 ldr r3, [pc, 0x3d4]           |     
    0x00001db6 add r3, pc                    |     r3 = 0x3f46;
    0x00001db8 str r3, [sp, 0x28]            |     *(arg_28h) = r3;
    0x00001dba ldr r3, [pc, 0x3d4]           |     
    0x00001dbc add r3, pc                    |     r3 = 0x3f52;
    0x00001dbe str r3, [sp, 0x1c]            |     *(arg_1ch) = r3;
    0x00001dc0 b 0x1dfa                      |     
                                             |     while (r0 != 0) {
    0x00001dc2 ldr r1, [pc, 0x3d0]           |         
    0x00001dc4 mov r0, r4                    |         r0 = r4;
    0x00001dc6 add r1, pc                    |         r1 = 0x3f60;
    0x00001dc8 blx 0x17d8                    |         r0 = strcmp (r0, r1);
    0x00001dcc cmp r0, 0                     |         
                                             |         if (r0 == 0) {
    0x00001dce beq.w 0x1fa4                  |             goto label_57;
                                             |         }
    0x00001dd2 ldr r1, [pc, 0x3c4]           |         
    0x00001dd4 mov r0, r4                    |         r0 = r4;
    0x00001dd6 add r1, pc                    |         r1 = 0x3f74;
    0x00001dd8 blx 0x17d8                    |         r0 = strcmp (r0, r1);
    0x00001ddc cmp r0, 0                     |         
                                             |         if (r0 == 0) {
    0x00001dde beq.w 0x1fa8                  |             goto label_58;
                                             |         }
    0x00001de2 ldrb r3, [r4]                 |         r3 = *(r4);
    0x00001de4 cmp r3, 0                     |         
                                             |         if (r3 != 0) {
    0x00001de6 bne.w 0x1fe6                  |             goto label_59;
                                             |         }
    0x00001dea movs r1, 0x73                 |         r1 = 0x73;
                                             | label_21:
    0x00001dec ldr r0, [sp, 0x14]            |         r0 = *(arg_14h);
    0x00001dee mov r2, r5                    |         r2 = r5;
    0x00001df0 bl 0x317c                     |         fcn_0000317c (r0, r1, r2);
                                             | label_14:
    0x00001df4 ldr r3, [sp, 0xc]             |         r3 = *(arg_ch);
    0x00001df6 adds r3, 1                    |         r3++;
    0x00001df8 str r3, [sp, 0xc]             |         *(arg_ch) = r3;
    0x00001dfa ldr r3, [sp, 0xc]             |         r3 = *(arg_ch);
    0x00001dfc cmp r7, r3                    |         
                                             |         if (r7 <= r3) {
    0x00001dfe ble.w 0x200c                  |             goto label_60;
                                             |         }
    0x00001e02 ldr r3, [sp, 0x18]            |         r3 = *(arg_18h);
    0x00001e04 movs r1, 0x3a                 |         r1 = 0x3a;
    0x00001e06 ldr r2, [sp, 0xc]             |         r2 = *(arg_ch);
    0x00001e08 ldr.w r4, [r3, r2, lsl 2]     |         offset_0 = r2 << 2;
                                             |         r4 = *((r3 + offset_0));
    0x00001e0c mov r0, r4                    |         r0 = r4;
    0x00001e0e blx 0x1508                    |         r0 = strchr (r0, r1);
    0x00001e12 mov r8, r0                    |         r8 = r0;
    0x00001e14 cmp r0, 0                     |         
                                             |         if (r0 == 0) {
    0x00001e16 beq.w 0x20ca                  |             goto label_61;
                                             |         }
    0x00001e1a mov r5, r0                    |         r5 = r0;
    0x00001e1c movs r3, 0                    |         r3 = 0;
    0x00001e1e ldr r1, [sp, 0x24]            |         r1 = *(s2);
    0x00001e20 mov r0, r4                    |         r0 = r4;
    0x00001e22 strb r3, [r5], 1              |         *(r5) = r3;
                                             |         r5++;
    0x00001e26 blx 0x17d8                    |         r0 = strcmp (r0, r1);
    0x00001e2a cmp r0, 0                     |         
    0x00001e2c bne 0x1dc2                    |         
                                             |     }
    0x00001e2e movs r4, 0x76                 |     r4 = 0x76;
                                             | label_19:
    0x00001e30 movs r1, 0x3a                 |     r1 = 0x3a;
    0x00001e32 mov r0, r5                    |     r0 = r5;
    0x00001e34 blx 0x1508                    |     r0 = strchr (r0, r1);
    0x00001e38 mov sl, r0                    |     sl = r0;
    0x00001e3a cmp r0, 0                     |     
                                             |     if (r0 == 0) {
    0x00001e3c beq.w 0x20a4                  |         goto label_62;
                                             |     }
    0x00001e40 movs r3, 0                    |     r3 = 0;
    0x00001e42 strb r3, [sl], 1              |     *(sl) = r3;
                                             |     sl++;
    0x00001e46 ldrb.w r3, [r8, 1]            |     r3 = *((r8 + 1));
    0x00001e4a cmp r3, 0                     |     
                                             |     if (r3 != 0) {
    0x00001e4c bne.w 0x1f60                  |         goto label_63;
                                             |     }
    0x00001e50 mov.w sb, 0x73                |     sb = 0x73;
                                             | label_17:
    0x00001e54 cmp r4, 0x65                  |     
                                             |     if (r4 == 0x65) {
    0x00001e56 beq 0x1e92                    |         goto label_64;
                                             |     }
    0x00001e58 movs r3, 0                    |     r3 = 0;
    0x00001e5a add.w r8, sp, 0x88            |     r8 += arg_88h;
    0x00001e5e strb.w r3, [sp, 0xf9]         |     *(arg_f9h) = r3;
    0x00001e62 add r2, sp, 0xf8              |     r2 += arg_f8h;
    0x00001e64 ldr r0, [sp, 0x14]            |     r0 = *(arg_14h);
    0x00001e66 mov r3, r8                    |     r3 = r8;
    0x00001e68 mov r1, r4                    |     r1 = r4;
    0x00001e6a strb.w sb, [sp, 0xf8]         |     *(arg_f8h) = sb;
    0x00001e6e blx 0x1670                    |     r0 = dbus_message_iter_open_container ();
                                             |     if (r0 == 0) {
    0x00001e72 cbz r0, 0x1e8e                |         goto label_15;
                                             |     }
    0x00001e74 cmp r4, 0x61                  |     
                                             |     if (r4 == 0x61) {
    0x00001e76 beq 0x1f6a                    |         goto label_65;
                                             |     }
    0x00001e78 mov r2, sl                    |     r2 = sl;
    0x00001e7a mov r1, sb                    |     r1 = sb;
    0x00001e7c mov r0, r8                    |     r0 = r8;
    0x00001e7e bl 0x317c                     |     fcn_0000317c (r0, r1, r2);
                                             | label_18:
    0x00001e82 ldr r0, [sp, 0x14]            |     r0 = *(arg_14h);
    0x00001e84 mov r1, r8                    |     r1 = r8;
    0x00001e86 blx 0x16f4                    |     r0 = dbus_message_iter_close_container ();
    0x00001e8a cmp r0, 0                     |     
                                             |     if (r0 != 0) {
    0x00001e8c bne 0x1df4                    |         goto label_14;
                                             |     }
                                             |     do {
                                             | label_15:
    0x00001e8e bl 0x3144                     |         fcn_00003144 ();
                                             | label_64:
    0x00001e92 movs r1, 0x3a                 |         r1 = 0x3a;
    0x00001e94 mov r0, sl                    |         r0 = sl;
    0x00001e96 blx 0x1508                    |         r0 = strchr (r0, r1);
    0x00001e9a mov r4, r0                    |         r4 = r0;
    0x00001e9c cmp r0, 0                     |         
                                             |         if (r0 == 0) {
    0x00001e9e beq.w 0x20b6                  |             goto label_66;
                                             |         }
    0x00001ea2 movs r5, 0                    |         r5 = 0;
    0x00001ea4 mov r0, sl                    |         r0 = sl;
    0x00001ea6 strb r5, [r4], 1              |         *(r4) = r5;
                                             |         r4++;
    0x00001eaa add.w r8, sp, 0x88            |         r8 += arg_88h;
    0x00001eae bl 0x302c                     |         fcn_0000302c (r0);
    0x00001eb2 movs r3, 0x7b                 |         r3 = 0x7b;
    0x00001eb4 mov sl, r0                    |         sl = r0;
    0x00001eb6 strb.w r3, [sp, 0xfc]         |         *(arg_fch) = r3;
    0x00001eba movs r3, 0x7d                 |         r3 = 0x7d;
    0x00001ebc strb.w r0, [sp, 0xfe]         |         *(arg_feh) = r0;
    0x00001ec0 add r2, sp, 0xfc              |         r2 += arg_fch;
    0x00001ec2 strb.w r3, [sp, 0xff]         |         *(arg_ffh) = r3;
    0x00001ec6 movs r1, 0x61                 |         r1 = 0x61;
    0x00001ec8 ldr r0, [sp, 0x14]            |         r0 = *(arg_14h);
    0x00001eca mov r3, r8                    |         r3 = r8;
    0x00001ecc strb.w r5, [sp, 0x100]        |         *(arg_100h) = r5;
    0x00001ed0 strb.w sb, [sp, 0xfd]         |         *(arg_fdh) = sb;
    0x00001ed4 blx 0x1670                    |         r0 = dbus_message_iter_open_container ();
    0x00001ed8 cmp r0, 0                     |         
    0x00001eda beq 0x1e8e                    |         
                                             |     } while (r0 == 0);
    0x00001edc ldr r3, [pc, 0x2bc]           |     
    0x00001ede subs.w r0, sl, r5             |     r0 = sl - r5;
    0x00001ee2 ldr r2, [pc, 0x2bc]           |     
    0x00001ee4 it ne                         |     
                                             |     if (r0 == sl) {
    0x00001ee6 movne r0, 1                   |         r0 = 1;
                                             |     }
    0x00001ee8 ldr r1, [pc, 0x2b8]           |     
    0x00001eea add r3, pc                    |     r3 = 0x408a;
    0x00001eec add r2, pc                    |     r2 = 0x4092;
    0x00001eee str r3, [sp]                  |     *(sp) = r3;
    0x00001ef0 add r1, pc                    |     r1 = 0x4098;
    0x00001ef2 movw r3, 0x291                |     r3 = 0x291;
    0x00001ef6 blx 0x1724                    |     dbus_real_assert ();
    0x00001efa mov r0, r4                    |     r0 = r4;
    0x00001efc blx 0x16c4                    |     r0 = strdup (r0);
    0x00001f00 mov r6, r0                    |     r6 = r0;
    0x00001f02 cmp r0, 0                     |     
                                             |     if (r0 == 0) {
    0x00001f04 beq 0x1e8e                    |         goto label_15;
                                             |     }
    0x00001f06 ldr r1, [pc, 0x2a0]           |     
    0x00001f08 add r5, sp, 0xc0              |     r5 += arg_c0h;
    0x00001f0a add r1, pc                    |     r1 = 0x40b8;
    0x00001f0c blx 0x170c                    |     r0 = strtok (r0, r1);
    0x00001f10 mov r4, r0                    |     r4 = r0;
                                             | label_16:
    0x00001f12 cmp r4, 0                     |     
                                             |     if (r4 == 0) {
    0x00001f14 beq 0x1f94                    |         goto label_67;
                                             |     }
    0x00001f16 mov r3, r5                    |     r3 = r5;
    0x00001f18 movs r2, 0                    |     r2 = 0;
    0x00001f1a movs r1, 0x65                 |     r1 = 0x65;
    0x00001f1c mov r0, r8                    |     r0 = r8;
    0x00001f1e blx 0x1670                    |     r0 = dbus_message_iter_open_container ();
    0x00001f22 cmp r0, 0                     |     
                                             |     if (r0 == 0) {
    0x00001f24 beq 0x1e8e                    |         goto label_15;
                                             |     }
    0x00001f26 mov r2, r4                    |     r2 = r4;
    0x00001f28 mov r0, r5                    |     r0 = r5;
    0x00001f2a mov r1, sb                    |     r1 = sb;
    0x00001f2c bl 0x317c                     |     fcn_0000317c (r0, r1, r2);
    0x00001f30 mov r1, fp                    |     r1 = fp;
    0x00001f32 movs r0, 0                    |     r0 = 0;
    0x00001f34 blx 0x170c                    |     r0 = strtok (r0, r1);
    0x00001f38 mov r2, r0                    |     r2 = r0;
    0x00001f3a cmp r0, 0                     |     
                                             |     if (r0 == 0) {
    0x00001f3c beq.w 0x2086                  |         goto label_68;
                                             |     }
    0x00001f40 mov r1, sl                    |     r1 = sl;
    0x00001f42 mov r0, r5                    |     r0 = r5;
    0x00001f44 bl 0x317c                     |     fcn_0000317c (r0, r1, r2);
    0x00001f48 mov r1, r5                    |     r1 = r5;
    0x00001f4a mov r0, r8                    |     r0 = r8;
    0x00001f4c blx 0x16f4                    |     r0 = dbus_message_iter_close_container ();
    0x00001f50 cmp r0, 0                     |     
                                             |     if (r0 == 0) {
    0x00001f52 beq 0x1e8e                    |         goto label_15;
                                             |     }
    0x00001f54 mov r1, fp                    |     r1 = fp;
    0x00001f56 movs r0, 0                    |     r0 = 0;
    0x00001f58 blx 0x170c                    |     r0 = strtok (r0, r1);
    0x00001f5c mov r4, r0                    |     r4 = r0;
    0x00001f5e b 0x1f12                      |     goto label_16;
                                             | label_63:
    0x00001f60 mov r0, r5                    |     r0 = r5;
    0x00001f62 bl 0x302c                     |     r0 = fcn_0000302c (r0);
    0x00001f66 mov sb, r0                    |     sb = r0;
    0x00001f68 b 0x1e54                      |     goto label_17;
                                             | label_65:
    0x00001f6a mov r0, sl                    |     r0 = sl;
    0x00001f6c blx 0x16c4                    |     r0 = strdup (r0);
    0x00001f70 mov r4, r0                    |     r4 = r0;
    0x00001f72 cmp r0, 0                     |     
                                             |     if (r0 == 0) {
    0x00001f74 beq 0x1e8e                    |         goto label_15;
                                             |     }
    0x00001f76 ldr r1, [sp, 0x28]            |     r1 = *(arg_28h);
    0x00001f78 blx 0x170c                    |     r0 = strtok (r0, r1);
    0x00001f7c mov r2, r0                    |     r2 = r0;
                                             |     do {
                                             |         if (r2 == 0) {
    0x00001f7e cbz r2, 0x1f9c                |             goto label_69;
                                             |         }
    0x00001f80 mov r0, r8                    |         r0 = r8;
    0x00001f82 mov r1, sb                    |         r1 = sb;
    0x00001f84 bl 0x317c                     |         fcn_0000317c (r0, r1, r2);
    0x00001f88 ldr r1, [sp, 0x1c]            |         r1 = *(arg_1ch);
    0x00001f8a movs r0, 0                    |         r0 = 0;
    0x00001f8c blx 0x170c                    |         r0 = strtok (r0, r1);
    0x00001f90 mov r2, r0                    |         r2 = r0;
    0x00001f92 b 0x1f7e                      |         
                                             |     } while (1);
                                             | label_67:
    0x00001f94 mov r0, r6                    |     r0 = r6;
    0x00001f96 blx 0x1598                    |     free (r0);
    0x00001f9a b 0x1e82                      |     goto label_18;
                                             | label_69:
    0x00001f9c mov r0, r4                    |     r0 = r4;
    0x00001f9e blx 0x1598                    |     free (r0);
    0x00001fa2 b 0x1e82                      |     goto label_18;
                                             | label_57:
    0x00001fa4 movs r4, 0x61                 |     r4 = 0x61;
    0x00001fa6 b 0x1e30                      |     goto label_19;
                                             | label_58:
    0x00001fa8 movs r4, 0x65                 |     r4 = 0x65;
    0x00001faa b 0x1e30                      |     goto label_19;
                                             | label_55:
    0x00001fac add.w sl, sl, 1               |     sl++;
    0x00001fb0 mov r1, r6                    |     r1 = r6;
    0x00001fb2 mov r0, sl                    |     r0 = sl;
    0x00001fb4 blx 0x1748                    |     r0 = dbus_validate_member ();
                                             |     if (r0 == 0) {
    0x00001fb8 cbnz r0, 0x1ff0               |         
    0x00001fba ldr r2, [pc, 0x158]           |         r2 = *(0x2116);
    0x00001fbc ldr r1, [sp, 0x10]            |         r1 = *(arg_10h);
    0x00001fbe ldr r3, [sp, 0x44]            |         r3 = *(arg_44h);
    0x00001fc0 ldr r2, [r1, r2]              |         r2 = *((r1 + r2));
    0x00001fc2 ldr r0, [r2]                  |         r0 = *(0x2116);
    0x00001fc4 ldr r2, [pc, 0x1e4]           |         
    0x00001fc6 add r2, pc                    |         r2 = 0x4176;
    0x00001fc8 b 0x1cc4                      |         goto label_20;
                                             | label_54:
    0x00001fca ldr r0, [sp, 0x10]            |         r0 = *(arg_10h);
    0x00001fcc mov r3, r4                    |         r3 = r4;
    0x00001fce ldr r1, [pc, 0x144]           |         r1 = *(0x2116);
    0x00001fd0 ldr r4, [sp, 0x1c]            |         r4 = *(arg_1ch);
    0x00001fd2 ldr r2, [pc, 0x1dc]           |         
    0x00001fd4 ldr r1, [r0, r1]              |         r1 = *((r0 + r1));
    0x00001fd6 add r2, pc                    |         r2 = "Error %s: %s\n";
    0x00001fd8 ldr r0, [r1]                  |         r0 = *(0x2116);
    0x00001fda mov r1, r4                    |         r1 = r4;
    0x00001fdc blx 0x16e8                    |         fprintf_chk ()
    0x00001fe0 mov r0, r4                    |         r0 = r4;
    0x00001fe2 blx 0x17e4                    |         exit (r0);
                                             | label_59:
    0x00001fe6 mov r0, r4                    |         r0 = r4;
    0x00001fe8 bl 0x302c                     |         r0 = fcn_0000302c (r0);
    0x00001fec mov r1, r0                    |         r1 = r0;
    0x00001fee b 0x1dec                      |         goto label_21;
                                             |     }
    0x00001ff0 mov r0, r8                    |     r0 = r8;
    0x00001ff2 ldr r1, [sp, 0x28]            |     r1 = *(arg_28h);
    0x00001ff4 mov r3, sl                    |     r3 = sl;
    0x00001ff6 mov r2, r4                    |     r2 = r4;
    0x00001ff8 blx 0x15d4                    |     r0 = dbus_message_new_method_call ();
    0x00001ffc mov r8, r0                    |     r8 = r0;
    0x00001ffe cmp r0, 0                     |     
                                             |     if (r0 == 0) {
    0x00002000 beq.w 0x1e8e                  |         goto label_15;
                                             |     }
    0x00002004 ldr r1, [sp, 0x1c]            |     r1 = *(arg_1ch);
    0x00002006 blx 0x1760                    |     dbus_message_set_auto_start ();
    0x0000200a b 0x1d7e                      |     goto label_22;
                                             | label_60:
    0x0000200c ldr r3, [sp, 0x20]            |     r3 = *(arg_20h);
    0x0000200e ldr.w r8, [sp, 0x2c]          |     r8 = *(arg_2ch);
    0x00002012 ldrd sb, r6, [sp, 0x38]       |     __asm ("ldrd sb, r6, [arg_38h]");
                                             |     if (r3 == 0) {
    0x00002016 cbz r3, 0x2074                |         goto label_70;
                                             |     }
    0x00002018 mov r0, r6                    |     r0 = r6;
    0x0000201a blx 0x1700                    |     dbus_error_init ();
    0x0000201e ldr r2, [sp, 0x34]            |     r2 = *(arg_34h);
    0x00002020 mov r3, r6                    |     r3 = r6;
    0x00002022 mov r1, r8                    |     r1 = r8;
    0x00002024 mov r0, sb                    |     r0 = sb;
    0x00002026 blx 0x167c                    |     r0 = dbus_connection_send_with_reply_and_block ();
    0x0000202a mov r4, r0                    |     r4 = r0;
    0x0000202c mov r0, r6                    |     r0 = r6;
    0x0000202e blx 0x1778                    |     r0 = dbus_error_is_set ();
                                             |     if (r0 != 0) {
    0x00002032 cbnz r0, 0x2062               |         goto label_71;
                                             |     }
                                             |     if (r4 == 0) {
    0x00002034 cbz r4, 0x2050                |         goto label_72;
                                             |     }
    0x00002036 add r1, sp, 0xc0              |     r1 += arg_c0h;
    0x00002038 add r0, sp, 0x88              |     r0 += arg_88h;
    0x0000203a blx 0x179c                    |     dbus_get_real_time ();
    0x0000203e mov r0, r4                    |     r0 = r4;
    0x00002040 ldr r3, [sp, 0xc0]            |     r3 = *(arg_c0h);
    0x00002042 ldr r1, [sp, 0x30]            |     r1 = *(arg_30h);
    0x00002044 ldr r2, [sp, 0x88]            |     r2 = *(arg_88h);
    0x00002046 bl 0x2dc4                     |     print_message ();
    0x0000204a mov r0, r4                    |     r0 = r4;
    0x0000204c blx 0x1604                    |     dbus_message_unref ();
                                             |     do {
                                             | label_72:
    0x00002050 mov r0, r8                    |         r0 = r8;
    0x00002052 blx 0x1604                    |         dbus_message_unref ();
    0x00002056 mov r0, sb                    |         r0 = sb;
    0x00002058 blx 0x1460                    |         dbus_connection_unref ();
    0x0000205c movs r0, 0                    |         r0 = 0;
    0x0000205e blx 0x17e4                    |         exit (r0);
                                             | label_71:
    0x00002062 ldr r2, [pc, 0x150]           |         
    0x00002064 ldr r1, [pc, 0xac]            |         r1 = *(0x2114);
    0x00002066 ldrd r3, r4, [sp, 0x40]       |         __asm ("ldrd r3, r4, [arg_40h]");
    0x0000206a add r2, pc                    |         r2 = 0x4224;
                                             | label_24:
    0x0000206c ldr r0, [sp, 0x10]            |         r0 = *(arg_10h);
    0x0000206e ldr r0, [r0, r1]              |         r0 = *((r0 + r1));
    0x00002070 str r4, [sp]                  |         *(sp) = r4;
    0x00002072 b 0x1b48                      |         goto label_23;
                                             | label_70:
    0x00002074 ldr r2, [sp, 0x20]            |         r2 = *(arg_20h);
    0x00002076 mov r1, r8                    |         r1 = r8;
    0x00002078 mov r0, sb                    |         r0 = sb;
    0x0000207a blx 0x155c                    |         dbus_connection_send ();
    0x0000207e mov r0, sb                    |         r0 = sb;
    0x00002080 blx 0x15b0                    |         dbus_connection_flush ();
    0x00002084 b 0x2050                      |         
                                             |     } while (1);
                                             | label_68:
    0x00002086 ldr r4, [sp, 0x10]            |     r4 = *(arg_10h);
    0x00002088 movs r1, 1                    |     r1 = 1;
    0x0000208a ldr r0, [pc, 0x88]            |     
    0x0000208c ldr r3, [pc, 0x128]           |     
    0x0000208e ldr r2, [pc, 0x12c]           |     
    0x00002090 ldr r0, [r4, r0]              |     r0 = *((r4 + r0));
    0x00002092 add r3, pc                    |     
    0x00002094 ldr r3, [r3]                  |     r3 = *(0x424e);
    0x00002096 add r2, pc                    |     r2 = 0x4258;
    0x00002098 ldr r0, [r0]                  |     r0 = *(0x2116);
    0x0000209a blx 0x16e8                    |     fprintf_chk ()
    0x0000209e movs r0, 1                    |     r0 = 1;
    0x000020a0 blx 0x17e4                    |     exit (r0);
                                             | label_62:
    0x000020a4 ldr r1, [pc, 0x6c]            |     r1 = *(0x2114);
    0x000020a6 ldr r3, [sp, 0x18]            |     r3 = *(arg_18h);
    0x000020a8 ldr r2, [pc, 0x114]           |     
    0x000020aa ldr r0, [sp, 0x10]            |     r0 = *(arg_10h);
    0x000020ac ldr r3, [r3]                  |     r3 = *(r3);
    0x000020ae add r2, pc                    |     r2 = 0x4272;
    0x000020b0 ldr r0, [r0, r1]              |     r0 = *((r0 + r1));
    0x000020b2 str r5, [sp]                  |     *(sp) = r5;
    0x000020b4 b 0x1b48                      |     goto label_23;
                                             | label_66:
    0x000020b6 ldr r1, [pc, 0x5c]            |     r1 = *(0x2116);
    0x000020b8 ldr r3, [sp, 0x18]            |     r3 = *(arg_18h);
    0x000020ba ldr r2, [pc, 0x108]           |     
    0x000020bc ldr r0, [sp, 0x10]            |     r0 = *(arg_10h);
    0x000020be ldr r3, [r3]                  |     r3 = *(r3);
    0x000020c0 add r2, pc                    |     r2 = 0x428a;
    0x000020c2 ldr r0, [r0, r1]              |     r0 = *((r0 + r1));
    0x000020c4 str.w sl, [sp]                |     __asm ("str.w sl, [sp]");
    0x000020c8 b 0x1b48                      |     goto label_23;
                                             | label_61:
    0x000020ca ldr r3, [sp, 0x18]            |     r3 = *(arg_18h);
    0x000020cc ldr r2, [pc, 0xf8]            |     
    0x000020ce ldr r1, [pc, 0x44]            |     r1 = *(0x2116);
    0x000020d0 ldr r3, [r3]                  |     r3 = *(r3);
    0x000020d2 add r2, pc                    |     r2 = 0x429e;
    0x000020d4 b 0x206c                      |     goto label_24;
                                             | label_56:
    0x000020d6 ldr r0, [pc, 0xf4]            |     
    0x000020d8 movs r2, 0x12                 |     r2 = 0x12;
    0x000020da ldr r3, [pc, 0x38]            |     r3 = *(0x2116);
    0x000020dc add r0, pc                    |     r0 = 0x42ae;
    0x000020de b 0x1b98                      |     goto label_9;
    0x00002204 adds r0, 0x14                 |     r0 += 0x14;
    0x00002206 b 0x1d48                      |     goto label_25;
                                             | }
    ; assembly                           | /* r2dec pseudo code output */
                                         | /* /logs/firmware/patool_extraction/rootfs.img_unblob_extracted/rootfs.img_extract/0-80367616.squashfs_v4_le_extract/usr/bin/dbus-send @ 0x2ff4 */
                                         | #include <stdint.h>
                                         |  
    ; (fcn) fcn.00002ff4 ()              | void fcn_00002ff4 (int16_t arg1) {
                                         |     r0 = arg1;
    0x00002ff4 push {r3, lr}             |     
    0x00002ff6 mov r4, r0                |     r4 = r0;
    0x00002ff8 ldr r3, [pc, 0x20]        |     
    0x00002ffa ldr.w ip, [pc, 0x24]      |     ip = *(0x3022);
    0x00002ffe add r3, pc                |     r3 = 0x601e;
    0x00003000 ldr r1, [pc, 0x20]        |     
    0x00003002 ldr r2, [pc, 0x24]        |     
    0x00003004 ldr.w r0, [r3, ip]        |     
    0x00003008 add r1, pc                |     r1 = 0x6030;
    0x0000300a ldr r3, [r1]              |     r3 = imp.__aeabi_unwind_cpp_pr0;
    0x0000300c add r2, pc                |     r2 = 0x603a;
    0x0000300e ldr r0, [r0]              |     r0 = imp.__aeabi_unwind_cpp_pr0;
    0x00003010 movs r1, 1                |     r1 = 1;
    0x00003012 blx 0x16e8                |     fprintf_chk ()
    0x00003016 mov r0, r4                |     r0 = r4;
    0x00003018 blx 0x17e4                |     exit (r0);
    0x0000301c cmp r6, 0x9a              |     
    0x0000301e movs r0, r0               |     
    0x00003020 lsls r0, r3, 5            |     r0 = r3 << 5;
    0x00003022 movs r0, r0               |     
    0x00003024 adds r0, 0                |     r0 += 0;
    0x00003026 movs r0, r0               |     
    0x00003028 lsrs r4, r0, 0xb          |     r4 = r0 >> 0xb;
    0x0000302a movs r0, r0               |     
                                         | }
    ; assembly                               | /* r2dec pseudo code output */
                                             | /* /logs/firmware/patool_extraction/rootfs.img_unblob_extracted/rootfs.img_extract/0-80367616.squashfs_v4_le_extract/usr/bin/dbus-send @ 0x302c */
                                             | #include <stdint.h>
                                             |  
    ; (fcn) fcn.0000302c ()                  | void fcn_0000302c (int16_t arg1) {
                                             |     int16_t var_0h;
                                             |     r0 = arg1;
                                             |     if (? >= ?) {
    0x0000302c ldrlt r4, [r0, -0x936]!       |         r4 = *((r0 -= 0x936));
                                             |     }
    0x00003030 sub sp, 0xc                   |     
    0x00003032 ldr r5, [pc, 0xd8]            |     
    0x00003034 mov r4, r0                    |     r4 = r0;
    0x00003036 add r1, pc                    |     r1 += pc;
    0x00003038 blx 0x17d8                    |     strcmp (r0, r1);
    0x0000303c add r5, pc                    |     r5 = 0x614e;
                                             |     if (r0 != 0) {
    0x0000303e cbz r0, 0x3052                |         
    0x00003040 ldr r1, [pc, 0xcc]            |         
    0x00003042 mov r0, r4                    |         r0 = r4;
    0x00003044 add r1, pc                    |         r1 = 0x6158;
    0x00003046 blx 0x17d8                    |         r0 = strcmp (r0, r1);
                                             |         if (r0 != 0) {
    0x0000304a cbnz r0, 0x3058               |             goto label_1;
                                             |         }
    0x0000304c movs r0, 0x6e                 |         r0 = 0x6e;
    0x0000304e add sp, 0xc                   |         
    0x00003050 pop {r4, r5, pc}              |         
                                             |     }
    0x00003052 movs r0, 0x73                 |     r0 = 0x73;
                                             |     do {
                                             | label_0:
    0x00003054 add sp, 0xc                   |         
    0x00003056 pop {r4, r5, pc}              |         
                                             | label_1:
    0x00003058 ldr r1, [pc, 0xb8]            |         
    0x0000305a mov r0, r4                    |         r0 = r4;
    0x0000305c add r1, pc                    |         r1 = 0x6174;
    0x0000305e blx 0x17d8                    |         r0 = strcmp (r0, r1);
                                             |         if (r0 == 0) {
    0x00003062 cbz r0, 0x30c8                |             goto label_2;
                                             |         }
    0x00003064 ldr r1, [pc, 0xb0]            |         
    0x00003066 mov r0, r4                    |         r0 = r4;
    0x00003068 add r1, pc                    |         r1 = 0x6184;
    0x0000306a blx 0x17d8                    |         r0 = strcmp (r0, r1);
                                             |         if (r0 == 0) {
    0x0000306e cbz r0, 0x30ce                |             goto label_3;
                                             |         }
    0x00003070 ldr r1, [pc, 0xa8]            |         
    0x00003072 mov r0, r4                    |         r0 = r4;
    0x00003074 add r1, pc                    |         r1 = 0x6194;
    0x00003076 blx 0x17d8                    |         r0 = strcmp (r0, r1);
                                             |         if (r0 == 0) {
    0x0000307a cbz r0, 0x30d2                |             goto label_4;
                                             |         }
    0x0000307c ldr r1, [pc, 0xa0]            |         
    0x0000307e mov r0, r4                    |         r0 = r4;
    0x00003080 add r1, pc                    |         r1 = 0x61a4;
    0x00003082 blx 0x17d8                    |         r0 = strcmp (r0, r1);
                                             |         if (r0 == 0) {
    0x00003086 cbz r0, 0x30d6                |             goto label_5;
                                             |         }
    0x00003088 ldr r1, [pc, 0x98]            |         
    0x0000308a mov r0, r4                    |         r0 = r4;
    0x0000308c add r1, pc                    |         r1 = 0x61b4;
    0x0000308e blx 0x17d8                    |         r0 = strcmp (r0, r1);
                                             |         if (r0 == 0) {
    0x00003092 cbz r0, 0x30da                |             goto label_6;
                                             |         }
    0x00003094 ldr r1, [pc, 0x90]            |         
    0x00003096 mov r0, r4                    |         r0 = r4;
    0x00003098 add r1, pc                    |         r1 = 0x61c4;
    0x0000309a blx 0x17d8                    |         r0 = strcmp (r0, r1);
                                             |         if (r0 == 0) {
    0x0000309e cbz r0, 0x30de                |             goto label_7;
                                             |         }
    0x000030a0 ldr r1, [pc, 0x88]            |         
    0x000030a2 mov r0, r4                    |         r0 = r4;
    0x000030a4 add r1, pc                    |         r1 = 0x61d4;
    0x000030a6 blx 0x17d8                    |         r0 = strcmp (r0, r1);
                                             |         if (r0 == 0) {
    0x000030aa cbz r0, 0x30e2                |             goto label_8;
                                             |         }
    0x000030ac ldr r1, [pc, 0x80]            |         
    0x000030ae mov r0, r4                    |         r0 = r4;
    0x000030b0 add r1, pc                    |         r1 = 0x61e4;
    0x000030b2 blx 0x17d8                    |         r0 = strcmp (r0, r1);
                                             |         if (r0 == 0) {
    0x000030b6 cbz r0, 0x30e6                |             goto label_9;
                                             |         }
    0x000030b8 ldr r1, [pc, 0x78]            |         
    0x000030ba mov r0, r4                    |         r0 = r4;
    0x000030bc add r1, pc                    |         r1 = 0x61f4;
    0x000030be blx 0x17d8                    |         r0 = strcmp (r0, r1);
                                             |         if (r0 != 0) {
    0x000030c2 cbnz r0, 0x30ea               |             goto label_10;
                                             |         }
    0x000030c4 movs r0, 0x6f                 |         r0 = 0x6f;
    0x000030c6 b 0x3054                      |         
                                             |     } while (1);
                                             | label_2:
    0x000030c8 movs r0, 0x71                 |     r0 = 0x71;
    0x000030ca add sp, 0xc                   |     
    0x000030cc pop {r4, r5, pc}              |     
                                             | label_3:
    0x000030ce movs r0, 0x69                 |     r0 = 0x69;
    0x000030d0 b 0x3054                      |     goto label_0;
                                             | label_4:
    0x000030d2 movs r0, 0x75                 |     r0 = 0x75;
    0x000030d4 b 0x3054                      |     goto label_0;
                                             | label_5:
    0x000030d6 movs r0, 0x78                 |     r0 = 0x78;
    0x000030d8 b 0x3054                      |     goto label_0;
                                             | label_6:
    0x000030da movs r0, 0x74                 |     r0 = 0x74;
    0x000030dc b 0x3054                      |     goto label_0;
                                             | label_7:
    0x000030de movs r0, 0x64                 |     r0 = 0x64;
    0x000030e0 b 0x3054                      |     goto label_0;
                                             | label_8:
    0x000030e2 movs r0, 0x79                 |     r0 = 0x79;
    0x000030e4 b 0x3054                      |     goto label_0;
                                             | label_9:
    0x000030e6 movs r0, 0x62                 |     r0 = 0x62;
    0x000030e8 b 0x3054                      |     goto label_0;
                                             | label_10:
    0x000030ea ldr r1, [pc, 0x4c]            |     r1 = *(0x313a);
    0x000030ec ldr r3, [pc, 0x4c]            |     
    0x000030ee ldr r2, [pc, 0x50]            |     
    0x000030f0 ldr r0, [r5, r1]              |     r0 = *((r5 + r1));
    0x000030f2 movs r1, 1                    |     r1 = 1;
    0x000030f4 add r3, pc                    |     
    0x000030f6 ldr r3, [r3]                  |     r3 = *(0x6234);
    0x000030f8 add r2, pc                    |     r2 = 0x623e;
    0x000030fa str r4, [sp]                  |     *(sp) = r4;
    0x000030fc ldr r0, [r0]                  |     r0 = *(r0);
    0x000030fe blx 0x16e8                    |     fprintf_chk ()
    0x00003102 movs r0, 1                    |     r0 = 1;
    0x00003104 blx 0x17e4                    |     exit (r0);
    0x00003108 lsls r6, r3, 0x1f             |     r6 = r3 << 0x1f;
    0x0000310a movs r0, r0                   |     
    0x0000310c cmp r6, 0x5c                  |     
    0x0000310e movs r0, r0                   |     
    0x00003110 lsrs r0, r6, 0xd              |     r0 = r6 >> 0xd;
    0x00003112 movs r0, r0                   |     
    0x00003114 lsrs r0, r4, 0xd              |     r0 = r4 >> 0xd;
    0x00003116 movs r0, r0                   |     
    0x00003118 lsrs r4, r3, 0xd              |     r4 = r3 >> 0xd;
    0x0000311a movs r0, r0                   |     
    0x0000311c lsrs r0, r3, 0xd              |     r0 = r3 >> 0xd;
    0x0000311e movs r0, r0                   |     
    0x00003120 lsrs r4, r2, 0xd              |     r4 = r2 >> 0xd;
    0x00003122 movs r0, r0                   |     
    0x00003124 lsrs r0, r2, 0xd              |     r0 = r2 >> 0xd;
    0x00003126 movs r0, r0                   |     
    0x00003128 lsrs r4, r1, 0xd              |     r4 = r1 >> 0xd;
    0x0000312a movs r0, r0                   |     
    0x0000312c lsrs r0, r1, 0xd              |     r0 = r1 >> 0xd;
    0x0000312e movs r0, r0                   |     
    0x00003130 lsrs r4, r0, 0xd              |     r4 = r0 >> 0xd;
    0x00003132 movs r0, r0                   |     
    0x00003134 lsrs r0, r0, 0xd              |     r0 >>= 0xd;
    0x00003136 movs r0, r0                   |     
    0x00003138 lsls r0, r3, 5                |     r0 = r3 << 5;
    0x0000313a movs r0, r0                   |     
    0x0000313c cmp r7, 0x14                  |     
    0x0000313e movs r0, r0                   |     
    0x00003140 lsrs r4, r1, 0xc              |     r4 = r1 >> 0xc;
    0x00003142 movs r0, r0                   |     
                                             | }
    ; assembly                           | /* r2dec pseudo code output */
                                         | /* /logs/firmware/patool_extraction/rootfs.img_unblob_extracted/rootfs.img_extract/0-80367616.squashfs_v4_le_extract/usr/bin/dbus-send @ 0x3144 */
                                         | #include <stdint.h>
                                         |  
    ; (fcn) fcn.00003144 ()              | void fcn_00003144 () {
    0x00003144 mrshs fp, apsr            |     __asm ("mrshs fp, apsr");
    0x00003148 ldr r3, [pc, 0x20]        |     
    0x0000314a ldr.w ip, [pc, 0x24]      |     ip = *(0x3172);
    0x0000314e add r3, pc                |     r3 = 0x62be;
    0x00003150 ldr r0, [pc, 0x20]        |     
    0x00003152 ldr r2, [pc, 0x24]        |     
    0x00003154 ldr.w r4, [r3, ip]        |     r4 = *(0x62be);
    0x00003158 add r0, pc                |     r0 = 0x62d0;
    0x0000315a ldr r3, [r0]              |     r3 = *(0x62d0);
    0x0000315c add r2, pc                |     r2 = 0x62da;
    0x0000315e ldr r0, [r4]              |     r0 = *(0x62be);
    0x00003160 blx 0x16e8                |     fprintf_chk ()
    0x00003164 movs r0, 1                |     r0 = 1;
    0x00003166 blx 0x17e4                |     exit (r0);
    0x0000316a nop                       |     
    0x0000316c cmp r5, 0x4a              |     
    0x0000316e movs r0, r0               |     
    0x00003170 lsls r0, r3, 5            |     r0 = r3 << 5;
    0x00003172 movs r0, r0               |     
    0x00003174 cmp r6, 0xb0              |     
    0x00003176 movs r0, r0               |     
    0x00003178 lsrs r0, r0, 0xb          |     r0 >>= 0xb;
    0x0000317a movs r0, r0               |     
                                         | }
    ; assembly                               | /* r2dec pseudo code output */
                                             | /* /logs/firmware/patool_extraction/rootfs.img_unblob_extracted/rootfs.img_extract/0-80367616.squashfs_v4_le_extract/usr/bin/dbus-send @ 0x317c */
                                             | #include <stdint.h>
                                             |  
    ; (fcn) fcn.0000317c ()                  | void fcn_0000317c (int16_t arg1, int16_t arg2, char * arg3) {
                                             |     int16_t var_0h_2;
                                             |     char * str;
                                             |     int16_t var_17h;
                                             |     int16_t var_18h;
                                             |     int16_t var_1ah;
                                             |     int16_t var_1ch;
                                             |     int16_t var_20h;
                                             |     int16_t var_24h;
                                             |     int16_t var_28h;
                                             |     int16_t var_30h;
                                             |     int16_t var_38h;
                                             |     int16_t var_44h;
                                             |     r0 = arg1;
                                             |     r1 = arg2;
                                             |     r2 = arg3;
    0x0000317c invalid                       |     
    0x00003180 sub sp, 0x4c                  |     
    0x00003182 ldr r0, [pc, 0x1bc]           |     
    0x00003184 sub.w r3, r1, 0x62            |     r3 = r1 - 0x62;
    0x00003188 str r2, [sp, 0xc]             |     str = r2;
    0x0000318a ldr r2, [pc, 0x1b8]           |     r2 = *(0x3346);
    0x0000318c add r0, pc                    |     r0 = 0x64d2;
    0x0000318e ldr r5, [pc, 0x1b8]           |     
    0x00003190 ldr r2, [r0, r2]              |     
    0x00003192 add r5, pc                    |     r5 = 0x64e0;
    0x00003194 ldr r2, [r2]                  |     r2 = *(0x64d2);
    0x00003196 str r2, [sp, 0x44]            |     var_44h = r2;
    0x00003198 mov.w r2, 0                   |     r2 = 0;
    0x0000319c cmp r3, 0x17                  |     
                                             |     if (r3 > 0x17) {
    0x0000319e bhi.w 0x3304                  |         goto label_1;
                                             |     }
                                             |     /* switch table (24 cases) at 0x31a6 */
    0x000031a2 tbb [pc, r3]                  |     __asm ("tbb [0x000031a8]");
    0x000031be ldr r6, [sp, 0xc]             |     r6 = str;
    0x000031c0 ldr r1, [pc, 0x188]           |     
    0x000031c2 mov r0, r6                    |     r0 = r6;
    0x000031c4 add r1, pc                    |     r1 = 0x6514;
    0x000031c6 blx 0x17d8                    |     strcmp (r0, r1);
    0x000031ca movs r3, 1                    |     r3 = 1;
                                             |     if (r0 != 0) {
    0x000031cc cbz r0, 0x31e0                |         
    0x000031ce ldr r1, [pc, 0x180]           |         
    0x000031d0 mov r0, r6                    |         r0 = r6;
    0x000031d2 add r1, pc                    |         r1 = 0x6528;
    0x000031d4 blx 0x17d8                    |         r0 = strcmp (r0, r1);
    0x000031d8 mov r3, r0                    |         r3 = r0;
    0x000031da cmp r0, 0                     |         
                                             |         if (r0 != 0) {
    0x000031dc bne.w 0x332c                  |             goto label_2;
                                             |         }
                                             |     }
    0x000031e0 add r2, sp, 0x24              |     r2 += var_24h;
    0x000031e2 movs r1, 0x62                 |     r1 = 0x62;
    0x000031e4 mov r0, r4                    |     r0 = r4;
    0x000031e6 str r3, [sp, 0x24]            |     var_24h = r3;
    0x000031e8 blx 0x1544                    |     r0 = dbus_message_iter_append_basic ();
                                             |     do {
                                             | label_0:
    0x000031ec cmp r0, 0                     |         
                                             |         if (r0 == 0) {
    0x000031ee beq.w 0x3328                  |             goto label_3;
                                             |         }
    0x000031f2 ldr r2, [pc, 0x160]           |         
    0x000031f4 ldr r3, [pc, 0x14c]           |         r3 = *(0x3344);
    0x000031f6 add r2, pc                    |         r2 = 0x6550;
    0x000031f8 ldr r3, [r2, r3]              |         r3 = *(0x6550);
    0x000031fa ldr r2, [r3]                  |         r2 = *(0x6550);
    0x000031fc ldr r3, [sp, 0x44]            |         r3 = var_44h;
    0x000031fe eors r2, r3                   |         r2 ^= r3;
    0x00003200 mov.w r3, 0                   |         r3 = 0;
                                             |         if (r2 != r3) {
    0x00003204 bne.w 0x3324                  |             goto label_4;
                                             |         }
    0x00003208 add sp, 0x4c                  |         
    0x0000320a pop {r4, r5, r6, r7, pc}      |         
    0x0000320c ldr r0, [sp, 0xc]             |         r0 = str;
    0x0000320e movs r1, 0                    |         r1 = 0;
    0x00003210 blx 0x14fc                    |         strtod (r0, r1);
    0x00003214 add r2, sp, 0x38              |         r2 += var_38h;
    0x00003216 movs r1, 0x64                 |         r1 = 0x64;
    0x00003218 mov r0, r4                    |         r0 = r4;
    0x0000321a vstr d0, [sp, 0x38]           |         __asm ("vstr d0, [sp, 0x38]");
    0x0000321e blx 0x1544                    |         dbus_message_iter_append_basic ();
    0x00003222 b 0x31ec                      |         
                                             |     } while (1);
    0x00003224 movs r2, 0                    |     r2 = 0;
    0x00003226 ldr r0, [sp, 0xc]             |     r0 = str;
    0x00003228 mov r1, r2                    |     r1 = r2;
    0x0000322a blx 0x1664                    |     strtol (r0, r1, r2);
    0x0000322e add r2, sp, 0x20              |     r2 += var_20h;
    0x00003230 mov r3, r0                    |     r3 = r0;
    0x00003232 movs r1, 0x69                 |     r1 = 0x69;
    0x00003234 mov r0, r4                    |     r0 = r4;
    0x00003236 str r3, [sp, 0x20]            |     var_20h = r3;
    0x00003238 blx 0x1544                    |     dbus_message_iter_append_basic ();
    0x0000323c b 0x31ec                      |     goto label_0;
    0x0000323e movs r2, 0                    |     r2 = 0;
    0x00003240 ldr r0, [sp, 0xc]             |     r0 = str;
    0x00003242 mov r1, r2                    |     r1 = r2;
    0x00003244 blx 0x1664                    |     strtol (r0, r1, r2);
    0x00003248 add.w r2, sp, 0x1a            |     r2 += var_1ah;
    0x0000324c mov r3, r0                    |     r3 = r0;
    0x0000324e movs r1, 0x6e                 |     r1 = 0x6e;
    0x00003250 mov r0, r4                    |     r0 = r4;
    0x00003252 strh.w r3, [sp, 0x1a]         |     var_1ah = r3;
    0x00003256 blx 0x1544                    |     dbus_message_iter_append_basic ();
    0x0000325a b 0x31ec                      |     goto label_0;
    0x0000325c add r2, sp, 0xc               |     r2 += str;
    0x0000325e movs r1, 0x6f                 |     r1 = 0x6f;
    0x00003260 mov r0, r4                    |     r0 = r4;
    0x00003262 blx 0x1544                    |     dbus_message_iter_append_basic ();
    0x00003266 b 0x31ec                      |     goto label_0;
    0x00003268 movs r2, 0                    |     r2 = 0;
    0x0000326a ldr r0, [sp, 0xc]             |     r0 = str;
    0x0000326c mov r1, r2                    |     r1 = r2;
    0x0000326e blx 0x15f8                    |     strtoul (r0, r1, r2);
    0x00003272 add r2, sp, 0x18              |     r2 += var_18h;
    0x00003274 mov r3, r0                    |     r3 = r0;
    0x00003276 movs r1, 0x71                 |     r1 = 0x71;
    0x00003278 mov r0, r4                    |     r0 = r4;
    0x0000327a strh.w r3, [sp, 0x18]         |     var_18h = r3;
    0x0000327e blx 0x1544                    |     dbus_message_iter_append_basic ();
    0x00003282 b 0x31ec                      |     goto label_0;
    0x00003284 add r2, sp, 0xc               |     r2 += str;
    0x00003286 movs r1, 0x73                 |     r1 = 0x73;
    0x00003288 mov r0, r4                    |     r0 = r4;
    0x0000328a blx 0x1544                    |     dbus_message_iter_append_basic ();
    0x0000328e b 0x31ec                      |     goto label_0;
    0x00003290 movs r2, 0                    |     r2 = 0;
    0x00003292 ldr r0, [sp, 0xc]             |     r0 = str;
    0x00003294 mov r1, r2                    |     r1 = r2;
    0x00003296 blx 0x158c                    |     strtoull (r0, r1, r2);
    0x0000329a add r2, sp, 0x28              |     r2 += var_28h;
    0x0000329c mov r6, r0                    |     r6 = r0;
    0x0000329e mov r7, r1                    |     r7 = r1;
    0x000032a0 mov r0, r4                    |     r0 = r4;
    0x000032a2 movs r1, 0x74                 |     r1 = 0x74;
    0x000032a4 strd r6, r7, [sp, 0x28]       |     __asm ("strd r6, r7, [sp, 0x28]");
    0x000032a8 blx 0x1544                    |     dbus_message_iter_append_basic ();
    0x000032ac b 0x31ec                      |     goto label_0;
    0x000032ae movs r2, 0                    |     r2 = 0;
    0x000032b0 ldr r0, [sp, 0xc]             |     r0 = str;
    0x000032b2 mov r1, r2                    |     r1 = r2;
    0x000032b4 blx 0x15f8                    |     strtoul (r0, r1, r2);
    0x000032b8 add r2, sp, 0x1c              |     r2 += var_1ch;
    0x000032ba mov r3, r0                    |     r3 = r0;
    0x000032bc movs r1, 0x75                 |     r1 = 0x75;
    0x000032be mov r0, r4                    |     r0 = r4;
    0x000032c0 str r3, [sp, 0x1c]            |     var_1ch = r3;
    0x000032c2 blx 0x1544                    |     dbus_message_iter_append_basic ();
    0x000032c6 b 0x31ec                      |     goto label_0;
    0x000032c8 movs r2, 0                    |     r2 = 0;
    0x000032ca ldr r0, [sp, 0xc]             |     r0 = str;
    0x000032cc mov r1, r2                    |     r1 = r2;
    0x000032ce blx 0x1568                    |     strtoll (r0, r1, r2);
    0x000032d2 add r2, sp, 0x30              |     r2 += var_30h;
    0x000032d4 mov r6, r0                    |     r6 = r0;
    0x000032d6 mov r7, r1                    |     r7 = r1;
    0x000032d8 mov r0, r4                    |     r0 = r4;
    0x000032da movs r1, 0x78                 |     r1 = 0x78;
    0x000032dc strd r6, r7, [sp, 0x30]       |     __asm ("strd r6, r7, [sp, 0x30]");
    0x000032e0 blx 0x1544                    |     dbus_message_iter_append_basic ();
    0x000032e4 b 0x31ec                      |     goto label_0;
    0x000032e6 movs r2, 0                    |     r2 = 0;
    0x000032e8 ldr r0, [sp, 0xc]             |     r0 = str;
    0x000032ea mov r1, r2                    |     r1 = r2;
    0x000032ec blx 0x15f8                    |     strtoul (r0, r1, r2);
    0x000032f0 add.w r2, sp, 0x17            |     r2 += var_17h;
    0x000032f4 mov r3, r0                    |     r3 = r0;
    0x000032f6 movs r1, 0x79                 |     r1 = 0x79;
    0x000032f8 mov r0, r4                    |     r0 = r4;
    0x000032fa strb.w r3, [sp, 0x17]         |     var_17h = r3;
    0x000032fe blx 0x1544                    |     dbus_message_iter_append_basic ();
    0x00003302 b 0x31ec                      |     goto label_0;
                                             | label_1:
    0x00003304 ldr r2, [pc, 0x50]            |     
    0x00003306 uxtb r1, r1                   |     r1 = (int8_t) r1;
    0x00003308 ldr r3, [pc, 0x50]            |     
    0x0000330a ldr r0, [pc, 0x54]            |     r0 = *(0x3362);
    0x0000330c add r2, pc                    |     r2 = 0x6668;
    0x0000330e add r3, pc                    |     
    0x00003310 ldr r0, [r5, r0]              |     r0 = *((r5 + r0));
    0x00003312 ldr r3, [r3]                  |     r3 = *(0x666e);
    0x00003314 str r1, [sp]                  |     *(sp) = r1;
                                             |     do {
    0x00003316 ldr r0, [r0]                  |         r0 = *(r0);
    0x00003318 movs r1, 1                    |         r1 = 1;
    0x0000331a blx 0x16e8                    |         fprintf_chk ()
    0x0000331e movs r0, 1                    |         r0 = 1;
    0x00003320 blx 0x17e4                    |         r0 = exit (r0);
                                             | label_4:
    0x00003324 blx 0x16dc                    |         stack_chk_fail ();
                                             | label_3:
    0x00003328 bl 0x3144                     |         fcn_00003144 ();
                                             | label_2:
    0x0000332c ldr r3, [pc, 0x34]            |         
    0x0000332e ldr r1, [pc, 0x30]            |         r1 = *(0x3362);
    0x00003330 ldr r2, [pc, 0x34]            |         
    0x00003332 add r3, pc                    |         
    0x00003334 ldr r0, [r5, r1]              |         r0 = *((r5 + r1));
    0x00003336 ldr r3, [r3]                  |         r3 = *(0x669a);
    0x00003338 add r2, pc                    |         r2 = 0x66a4;
    0x0000333a str r6, [sp]                  |         *(sp) = r6;
    0x0000333c b 0x3316                      |         
                                             |     } while (1);
                                             | }
    ; assembly                           | /* r2dec pseudo code output */
                                         | /* /logs/firmware/patool_extraction/rootfs.img_unblob_extracted/rootfs.img_extract/0-80367616.squashfs_v4_le_extract/usr/bin/dbus-send @ 0x336c */
                                         | #include <stdint.h>
                                         |  
    ; (fcn) sym.tool_oom ()              | void tool_oom (int16_t arg1) {
                                         |     r0 = arg1;
    0x0000336c ldr.w ip, [pc, 0x24]      |     ip = *(0x00003394);
    0x00003370 movs r1, 1                |     r1 = 1;
    0x00003372 push {r3, lr}             |     
    0x00003374 mov r3, r0                |     r3 = r0;
    0x00003376 ldr.w lr, [pc, 0x20]      |     lr = *(0x339a);
    0x0000337a add ip, pc                |     
    0x0000337c ldr r2, [pc, 0x1c]        |     
    0x0000337e mov r0, ip                |     r0 = ip;
    0x00003380 ldr.w r4, [ip, lr]        |     r4 = *((ip + lr));
    0x00003384 add r2, pc                |     r2 = 0x6724;
    0x00003386 ldr r0, [r4]              |     r0 = *(r4);
    0x00003388 blx 0x16e8                |     fprintf_chk ()
    0x0000338c movs r0, 1                |     r0 = 1;
    0x0000338e blx 0x17e4                |     exit (r0);
    0x00003392 nop                       |     
    0x00003394 cmp r3, 0x1e              |     
    0x00003396 movs r0, r0               |     
    0x00003398 lsls r0, r3, 5            |     r0 = r3 << 5;
    0x0000339a movs r0, r0               |     
    0x0000339c lsrs r4, r3, 0x18         |     r4 = r3 >> 0x18;
    0x0000339e movs r0, r0               |     
                                         | }
    ; assembly                                   | /* r2dec pseudo code output */
                                                 | /* /logs/firmware/patool_extraction/rootfs.img_unblob_extracted/rootfs.img_extract/0-80367616.squashfs_v4_le_extract/usr/bin/dbus-send @ 0x33dc */
                                                 | #include <stdint.h>
                                                 |  
    ; (fcn) sym.tool_stderr_error ()             | void tool_stderr_error (int16_t arg1, int16_t arg2) {
                                                 |     int16_t var_0h;
                                                 |     int16_t var_4h;
                                                 |     r0 = arg1;
                                                 |     r1 = arg2;
                                                 |     if (? >= ?) {
    0x000033dc strmi r4, [r3], -sl, lsl 20       |         *(r3) = r4;
                                                 |         r3 += 20;
                                                 |     }
    0x000033e0 ldr.w ip, [pc, 0x28]              |     ip = *(0x340c);
    0x000033e4 push {r4, r5, lr}                 |     
    0x000033e6 sub sp, 0xc                       |     
    0x000033e8 add r2, pc                        |     r2 += pc;
    0x000033ea ldrd r4, r5, [r1]                 |     __asm ("ldrd r4, r5, [r1]");
    0x000033ee movs r1, 1                        |     r1 = 1;
    0x000033f0 ldr.w r0, [r2, ip]                |     r0 = *((r2 + ip));
    0x000033f4 ldr r2, [pc, 0x18]                |     
    0x000033f6 ldr r0, [r0]                      |     r0 = *(r0);
    0x000033f8 add r2, pc                        |     r2 = 0x680c;
    0x000033fa str r5, [sp, 4]                   |     var_4h = r5;
    0x000033fc str r4, [sp]                      |     *(sp) = r4;
    0x000033fe blx 0x16e8                        |     fprintf_chk ()
    0x00003402 add sp, 0xc                       |     
    0x00003404 pop {r4, r5, pc}                  |     
                                                 | }

[*] Function fprintf used 16 times dbus-send