[*] Binary protection state of libmonolith.so

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


[*] Function printf tear down of libmonolith.so

    ; assembly                                               | /* r2dec pseudo code output */
                                                             | /* /logs/firmware/patool_extraction/rootfs.img_unblob_extracted/rootfs.img_extract/0-80367616.squashfs_v4_le_extract/usr/lib/actionengine_plugins/libmonolith.so @ 0x2f3c */
                                                             | #include <stdint.h>
                                                             |  
    ; (fcn) sym.plugin_create ()                             | void plugin_create (int16_t arg_74h, int16_t arg_7ch, int16_t arg1, int16_t arg2, int16_t arg3, int16_t arg4) {
                                                             |     int16_t var_0h;
                                                             |     int16_t var_8h;
                                                             |     int16_t var_ch;
                                                             |     int16_t var_10h;
                                                             |     int16_t var_14h;
                                                             |     int16_t var_18h;
                                                             |     int16_t var_1ch;
                                                             |     int16_t var_24h;
                                                             |     int16_t var_28h;
                                                             |     int16_t var_2ch;
                                                             |     int16_t var_44h;
                                                             |     r0 = arg1;
                                                             |     r1 = arg2;
                                                             |     r2 = arg3;
                                                             |     r3 = arg4;
    0x00002f3c svcmi 0xf0e92d                                |     __asm ("svcmi 0xf0e92d");
    0x00002f40 sub sp, 0x4c                                  |     
    0x00002f42 ldrd sb, r3, [sp, 0x74]                       |     __asm ("ldrd sb, r3, [arg_74h]");
    0x00002f46 mov r6, r2                                    |     r6 = r2;
    0x00002f48 mov r5, r0                                    |     r5 = r0;
    0x00002f4a movs r0, 0x6c                                 |     r0 = 0x6c;
    0x00002f4c ldr.w r2, [pc, 0x6b4]                         |     
    0x00002f50 mov r7, r1                                    |     r7 = r1;
    0x00002f52 str r3, [sp, 0xc]                             |     var_ch = r3;
    0x00002f54 ldr.w r3, [pc, 0x6b0]                         |     r3 = *(0x3608);
    0x00002f58 add r2, pc                                    |     r2 = 0x6560;
    0x00002f5a ldr.w sl, [pc, 0x6b0]                         |     
    0x00002f5e ldr r3, [r2, r3]                              |     
    0x00002f60 add sl, pc                                    |     sl = 0x6572;
    0x00002f62 ldr r3, [r3]                                  |     r3 = *(0x6560);
    0x00002f64 str r3, [sp, 0x44]                            |     var_44h = r3;
    0x00002f66 mov.w r3, 0                                   |     r3 = 0;
    0x00002f6a ldr r3, [sp, 0x7c]                            |     r3 = *(arg_7ch);
    0x00002f6c str r3, [sp, 8]                               |     var_8h = r3;
    0x00002f6e blx 0x17a4                                    |     g_bus_get_sync ();
    0x00002f72 cmp r6, 0                                     |     
                                                             |     if (r6 == 0) {
    0x00002f74 beq.w 0x311c                                  |         goto label_18;
                                                             |     }
    0x00002f78 cmp r7, 0                                     |     
                                                             |     if (r7 == 0) {
    0x00002f7a beq.w 0x3132                                  |         goto label_19;
                                                             |     }
    0x00002f7e mov r4, r0                                    |     r4 = r0;
    0x00002f80 mov r0, r5                                    |     r0 = r5;
    0x00002f82 blx 0x16fc                                    |     r0 = g_variant_builder_new ();
    0x00002f86 mov r8, r0                                    |     r8 = r0;
    0x00002f88 blx 0x15dc                                    |     r0 = g_strdup_printf ()
    0x00002f8c cmp r0, 3                                     |     
                                                             |     if (r0 != 3) {
    0x00002f8e beq 0x2fe0                                    |         
    0x00002f90 blx 0x17bc                                    |         r0 = g_source_destroy ();
    0x00002f94 mov r5, r0                                    |         r5 = r0;
    0x00002f96 mov r0, r8                                    |         r0 = r8;
    0x00002f98 blx 0x15dc                                    |         r0 = g_strdup_printf ()
    0x00002f9c mov r3, r0                                    |         r3 = r0;
    0x00002f9e mov r1, r5                                    |         r1 = r5;
    0x00002fa0 str r3, [sp]                                  |         *(sp) = r3;
    0x00002fa2 movs r2, 0                                    |         r2 = 0;
    0x00002fa4 ldr.w r3, [pc, 0x668]                         |         
    0x00002fa8 ldr r0, [sp, 8]                               |         r0 = var_8h;
    0x00002faa add r3, pc                                    |         r3 = 0x65be;
    0x00002fac blx 0x16c0                                    |         g_hash_table_ref ();
                                                             | label_2:
    0x00002fb0 mov r0, r4                                    |         r0 = r4;
    0x00002fb2 movs r4, 0                                    |         r4 = 0;
    0x00002fb4 blx 0x15d0                                    |         g_list_length ();
                                                             | label_3:
    0x00002fb8 mov r0, r8                                    |         r0 = r8;
    0x00002fba blx 0x1570                                    |         xmlnode_find_tag ();
                                                             | label_1:
    0x00002fbe ldr.w r2, [pc, 0x654]                         |         
    0x00002fc2 ldr.w r3, [pc, 0x644]                         |         r3 = *(0x360a);
    0x00002fc6 add r2, pc                                    |         r2 = 0x65e0;
    0x00002fc8 ldr r3, [r2, r3]                              |         r3 = *(0x65e0);
    0x00002fca ldr r2, [r3]                                  |         r2 = *(0x65e0);
    0x00002fcc ldr r3, [sp, 0x44]                            |         r3 = var_44h;
    0x00002fce eors r2, r3                                   |         r2 ^= r3;
    0x00002fd0 mov.w r3, 0                                   |         r3 = 0;
                                                             |         if (r2 != r3) {
    0x00002fd4 bne.w 0x35fe                                  |             goto label_20;
                                                             |         }
    0x00002fd8 mov r0, r4                                    |         r0 = r4;
    0x00002fda add sp, 0x4c                                  |         
    0x00002fdc pop.w {r4, r5, r6, r7, r8, sb, sl, fp, pc}    |         
                                                             |     }
    0x00002fe0 ldr.w fp, [pc, 0x634]                         |     
    0x00002fe4 mov r0, r5                                    |     r0 = r5;
    0x00002fe6 add fp, pc                                    |     fp = 0x6602;
    0x00002fe8 mov r1, fp                                    |     r1 = fp;
    0x00002fea blx 0x157c                                    |     r0 = g_dbus_proxy_call_sync ();
    0x00002fee cmp r0, 0                                     |     
                                                             |     if (r0 == 0) {
    0x00002ff0 beq.w 0x33ba                                  |         goto label_21;
                                                             |     }
    0x00002ff4 ldr.w fp, [pc, 0x624]                         |     
    0x00002ff8 mov r0, r5                                    |     r0 = r5;
    0x00002ffa add fp, pc                                    |     fp = 0x661a;
    0x00002ffc mov r1, fp                                    |     r1 = fp;
    0x00002ffe blx 0x157c                                    |     r0 = g_dbus_proxy_call_sync ();
    0x00003002 cmp r0, 0                                     |     
                                                             |     if (r0 == 0) {
    0x00003004 beq.w 0x33f6                                  |         goto label_22;
                                                             |     }
    0x00003008 ldr.w r1, [pc, 0x614]                         |     
    0x0000300c mov r0, r5                                    |     r0 = r5;
    0x0000300e add r1, pc                                    |     r1 = 0x6632;
    0x00003010 str r1, [sp, 0x10]                            |     var_10h = r1;
    0x00003012 blx 0x157c                                    |     g_dbus_proxy_call_sync ();
    0x00003016 ldr r1, [sp, 0x10]                            |     r1 = var_10h;
    0x00003018 mov fp, r0                                    |     
    0x0000301a cmp r0, 0                                     |     
                                                             |     if (r0 == 0) {
    0x0000301c beq.w 0x3146                                  |         goto label_23;
                                                             |     }
    0x00003020 mov r0, r5                                    |     r0 = r5;
    0x00003022 blx 0x157c                                    |     g_dbus_proxy_call_sync ();
    0x00003026 ldr r0, [r0, 8]                               |     r0 = *((r0 + 8));
    0x00003028 blx 0x1540                                    |     fcn_00001540 ();
    0x0000302c ldr.w r1, [pc, 0x5f4]                         |     
    0x00003030 str r0, [r4, 8]                               |     *((r4 + 8)) = r0;
    0x00003032 mov r0, r6                                    |     r0 = r6;
    0x00003034 add r1, pc                                    |     r1 = 0x665c;
    0x00003036 blx 0x178c                                    |     r0 = fcn_0000178c ();
    0x0000303a mov fp, r0                                    |     
    0x0000303c cmp r0, 0                                     |     
                                                             |     if (r0 == 0) {
    0x0000303e beq.w 0x3410                                  |         goto label_24;
                                                             |     }
    0x00003042 ldr.w r1, [pc, 0x5e4]                         |     
    0x00003046 mov r0, r6                                    |     r0 = r6;
    0x00003048 add r1, pc                                    |     r1 = 0x6676;
    0x0000304a blx 0x178c                                    |     fcn_0000178c ();
    0x0000304e ldr.w r1, [pc, 0x5dc]                         |     
    0x00003052 str r0, [sp, 0x14]                            |     var_14h = r0;
    0x00003054 mov r0, r6                                    |     r0 = r6;
    0x00003056 add r1, pc                                    |     r1 = 0x6688;
    0x00003058 blx 0x178c                                    |     fcn_0000178c ();
    0x0000305c ldr.w r1, [pc, 0x5d0]                         |     
    0x00003060 mov r3, r0                                    |     r3 = r0;
    0x00003062 mov r0, r6                                    |     r0 = r6;
    0x00003064 str r3, [sp, 0x18]                            |     var_18h = r3;
    0x00003066 add r6, sp, 0x2c                              |     r6 += var_2ch;
    0x00003068 add r1, pc                                    |     r1 = 0x669c;
    0x0000306a blx 0x178c                                    |     fcn_0000178c ();
    0x0000306e ldr r3, [sp, 0xc]                             |     r3 = var_ch;
    0x00003070 str r0, [sp, 0x10]                            |     var_10h = r0;
    0x00003072 strd sb, r3, [r4]                             |     __asm ("strd sb, r3, [r4]");
    0x00003076 add.w sb, sp, 0x28                            |     sb += var_28h;
    0x0000307a ldr.w r3, [pc, 0x5b8]                         |     r3 = *(0x3636);
    0x0000307e ldr.w r3, [sl, r3]                            |     r3 = *((sl + r3));
    0x00003082 str r3, [sp, 0xc]                             |     var_ch = r3;
    0x00003084 ldr.w r3, [pc, 0x5b0]                         |     r3 = *(0x3638);
    0x00003088 ldr.w r3, [sl, r3]                            |     r3 = *((sl + r3));
    0x0000308c str r3, [sp, 0x1c]                            |     var_1ch = r3;
    0x0000308e mov r1, r3                                    |     r1 = r3;
    0x00003090 ldr.w r3, [pc, 0x5a8]                         |     r3 = *(0x363c);
    0x00003094 ldr.w r3, [sl, r3]                            |     r3 = *((sl + r3));
    0x00003098 mov r0, r3                                    |     r0 = r3;
    0x0000309a str r3, [sp, 0x1c]                            |     var_1ch = r3;
    0x0000309c ldr r3, [sp, 0xc]                             |     r3 = var_ch;
    0x0000309e mov r2, r3                                    |     r2 = r3;
    0x000030a0 blx 0x1630                                    |     g_dbus_proxy_call ();
    0x000030a4 vmov.i32 d16, 0                               |     __asm ("vmov.i32 d16, 0");
    0x000030a8 add.w r2, r4, 0x48                            |     r2 = r4 + 0x48;
    0x000030ac movs r3, 0                                    |     r3 = 0;
    0x000030ae str r0, [r4, 0x34]                            |     *((r4 + 0x34)) = r0;
    0x000030b0 str r3, [r4, 0x54]                            |     *((r4 + 0x54)) = r3;
    0x000030b2 mov r1, r7                                    |     r1 = r7;
    0x000030b4 strh.w r3, [r4, 0x58]                         |     *((r4 + 0x58)) = r3;
    0x000030b8 mov r0, r6                                    |     r0 = r6;
    0x000030ba str r3, [r4, 0x5c]                            |     *((r4 + 0x5c)) = r3;
    0x000030bc add r7, sp, 0x24                              |     r7 += var_24h;
    0x000030be vst1.32 {d16}, [r2]                           |     __asm ("vst1.32 {d16}, [r2]");
    0x000030c2 str r3, [r4, 0x14]                            |     *((r4 + 0x14)) = r3;
    0x000030c4 blx 0x1624                                    |     g_hash_table_new_full ();
    0x000030c8 ldr.w r3, [pc, 0x574]                         |     
    0x000030cc add r3, pc                                    |     r3 = 0x6710;
    0x000030ce str r3, [sp, 0xc]                             |     var_ch = r3;
                                                             |     do {
                                                             | label_0:
    0x000030d0 mov r2, sb                                    |         r2 = sb;
    0x000030d2 mov r1, r7                                    |         r1 = r7;
    0x000030d4 mov r0, r6                                    |         r0 = r6;
    0x000030d6 blx 0x1618                                    |         r0 = g_hash_table_iter_init ();
    0x000030da cmp r0, 0                                     |         
                                                             |         if (r0 == 0) {
    0x000030dc beq 0x3162                                    |             goto label_25;
                                                             |         }
    0x000030de ldr r0, [sp, 0x24]                            |         r0 = var_24h;
    0x000030e0 cmp r0, 0                                     |         
    0x000030e2 beq 0x30d0                                    |         
                                                             |     } while (r0 == 0);
    0x000030e4 ldr r3, [sp, 0x28]                            |     r3 = var_28h;
    0x000030e6 cmp r3, 0                                     |     
                                                             |     if (r3 == 0) {
    0x000030e8 beq 0x30d0                                    |         goto label_0;
                                                             |     }
    0x000030ea ldr r1, [sp, 0xc]                             |     r1 = var_ch;
    0x000030ec blx 0x1534                                    |     r0 = g_strdup ();
    0x000030f0 cmp r0, 0                                     |     
                                                             |     if (r0 == 0) {
    0x000030f2 beq 0x30d0                                    |         goto label_0;
                                                             |     }
    0x000030f4 ldr r0, [sp, 0x28]                            |     r0 = var_28h;
    0x000030f6 ldr r1, [sp, 0xc]                             |     r1 = var_ch;
    0x000030f8 blx 0x1534                                    |     r0 = g_strdup ();
    0x000030fc cmp r0, 0                                     |     
                                                             |     if (r0 == 0) {
    0x000030fe beq 0x30d0                                    |         goto label_0;
                                                             |     }
    0x00003100 ldr r5, [r4, 0x34]                            |     r5 = *((r4 + 0x34));
    0x00003102 ldr r0, [sp, 0x24]                            |     r0 = var_24h;
    0x00003104 blx 0x1540                                    |     fcn_00001540 ();
    0x00003108 str r0, [sp, 0x1c]                            |     var_1ch = r0;
    0x0000310a ldr r0, [sp, 0x28]                            |     r0 = var_28h;
    0x0000310c blx 0x1540                                    |     fcn_00001540 ();
    0x00003110 ldr r1, [sp, 0x1c]                            |     r1 = var_1ch;
    0x00003112 mov r2, r0                                    |     r2 = r0;
    0x00003114 mov r0, r5                                    |     r0 = r5;
    0x00003116 blx 0x1564                                    |     g_list_free ();
    0x0000311a b 0x30d0                                      |     goto label_0;
                                                             | label_18:
    0x0000311c ldr.w r2, [pc, 0x524]                         |     
    0x00003120 mov r0, r6                                    |     r0 = r6;
    0x00003122 ldr.w r1, [pc, 0x524]                         |     
    0x00003126 add r2, pc                                    |     r2 = 0x676e;
    0x00003128 add r1, pc                                    |     r1 = 0x6776;
    0x0000312a blx 0x1684                                    |     cert_util_get_ca_path ();
                                                             |     do {
                                                             | label_5:
    0x0000312e movs r4, 0                                    |         r4 = 0;
    0x00003130 b 0x2fbe                                      |         goto label_1;
                                                             | label_19:
    0x00003132 ldr.w r2, [pc, 0x518]                         |         
    0x00003136 mov r0, r7                                    |         r0 = r7;
    0x00003138 ldr.w r1, [pc, 0x514]                         |         
    0x0000313c add r2, pc                                    |         r2 = 0x678e;
    0x0000313e add r1, pc                                    |         r1 = 0x6792;
    0x00003140 blx 0x1684                                    |         cert_util_get_ca_path ();
    0x00003144 b 0x312e                                      |         
                                                             |     } while (1);
                                                             | label_23:
    0x00003146 str r1, [sp, 0xc]                             |     var_ch = r1;
    0x00003148 blx 0x17bc                                    |     g_source_destroy ();
    0x0000314c ldr r1, [sp, 0xc]                             |     r1 = var_ch;
    0x0000314e mov r2, fp                                    |     r2 = fp;
    0x00003150 ldr.w r3, [pc, 0x500]                         |     
    0x00003154 str r1, [sp]                                  |     *(sp) = r1;
    0x00003156 mov r1, r0                                    |     r1 = r0;
    0x00003158 add r3, pc                                    |     r3 = 0x67b0;
    0x0000315a ldr r0, [sp, 8]                               |     r0 = var_8h;
    0x0000315c blx 0x16c0                                    |     g_hash_table_ref ();
    0x00003160 b 0x2fb0                                      |     goto label_2;
                                                             | label_25:
    0x00003162 ldr.w r1, [pc, 0x4f4]                         |     
    0x00003166 mov r5, r0                                    |     r5 = r0;
    0x00003168 ldr r0, [r4, 0x34]                            |     r0 = *((r4 + 0x34));
    0x0000316a add r1, pc                                    |     r1 = 0x67c8;
    0x0000316c blx 0x178c                                    |     r0 = fcn_0000178c ();
                                                             |     if (r0 != 0) {
    0x00003170 cbz r0, 0x318e                                |         
    0x00003172 ldr.w r1, [pc, 0x4e8]                         |         
    0x00003176 add r1, pc                                    |         r1 = 0x67d8;
    0x00003178 blx 0x1534                                    |         r0 = g_strdup ();
                                                             |         if (r0 == 0) {
    0x0000317c cbnz r0, 0x3182                               |             
    0x0000317e movs r3, 1                                    |             r3 = 1;
    0x00003180 str r3, [r4, 0x64]                            |             *((r4 + 0x64)) = r3;
                                                             |         }
    0x00003182 ldr.w r1, [pc, 0x4dc]                         |         
    0x00003186 ldr r0, [r4, 0x34]                            |         r0 = *((r4 + 0x34));
    0x00003188 add r1, pc                                    |         r1 = 0x67ee;
    0x0000318a blx 0x15ac                                    |         g_dbus_proxy_new_sync ();
                                                             |     }
    0x0000318e ldr r3, [sp, 0x18]                            |     r3 = var_18h;
    0x00003190 ldr r2, [sp, 0x10]                            |     r2 = var_10h;
    0x00003192 ldr r6, [r4, 0x34]                            |     r6 = *((r4 + 0x34));
    0x00003194 cmp r3, 0                                     |     
    0x00003196 it ne                                         |     
                                                             |     if (r3 != 0) {
    0x00003198 cmpne r2, 0                                   |         __asm ("cmpne r2, 0");
                                                             |     }
    0x0000319a ite ne                                        |     
                                                             |     if (r3 == 0) {
    0x0000319c movne sb, 1                                   |         sb = 1;
                                                             |     }
                                                             |     if (r3 == 0) {
    0x000031a0 mov.w sb, 0                                   |         sb = 0;
                                                             |     }
                                                             |     if (r3 != 0) {
    0x000031a4 bne.w 0x343c                                  |         goto label_26;
                                                             |     }
                                                             | label_7:
    0x000031a8 ldr.w r0, [pc, 0x4b8]                         |     
    0x000031ac add r0, pc                                    |     r0 = 0x6814;
    0x000031ae blx 0x1540                                    |     r0 = fcn_00001540 ();
    0x000031b2 mov r7, r0                                    |     r7 = r0;
    0x000031b4 ldr.w r0, [pc, 0x4b0]                         |     
    0x000031b8 mov r1, sb                                    |     r1 = sb;
    0x000031ba add r0, pc                                    |     r0 = 0x6826;
    0x000031bc blx 0x15e8                                    |     g_string_free ();
    0x000031c0 mov r1, r7                                    |     r1 = r7;
    0x000031c2 mov r2, r0                                    |     r2 = r0;
    0x000031c4 mov r0, r6                                    |     r0 = r6;
    0x000031c6 blx 0x1564                                    |     g_list_free ();
    0x000031ca ldr.w r1, [pc, 0x4a0]                         |     
    0x000031ce ldr r0, [r4, 8]                               |     r0 = *((r4 + 8));
    0x000031d0 add r1, pc                                    |     r1 = 0x6842;
    0x000031d2 blx 0x1528                                    |     r0 = g_strcmp0 ();
    0x000031d6 cmp r0, 0                                     |     
                                                             |     if (r0 != 0) {
    0x000031d8 beq 0x32da                                    |         
    0x000031da ldr.w r1, [pc, 0x494]                         |         
    0x000031de ldr r0, [r4, 8]                               |         r0 = *((r4 + 8));
    0x000031e0 ldr r6, [r4, 0x34]                            |         r6 = *((r4 + 0x34));
    0x000031e2 add r1, pc                                    |         r1 = 0x6858;
    0x000031e4 blx 0x1528                                    |         r0 = g_strcmp0 ();
    0x000031e8 cmp r0, 0                                     |         
                                                             |         if (r0 == 0) {
    0x000031ea beq.w 0x3504                                  |             goto label_27;
                                                             |         }
    0x000031ee ldr.w r0, [pc, 0x484]                         |         
    0x000031f2 add r0, pc                                    |         r0 = 0x686c;
    0x000031f4 blx 0x15a0                                    |         r0 = g_hash_table_remove ();
    0x000031f8 mov sb, r0                                    |         sb = r0;
    0x000031fa movs r3, 1                                    |         r3 = 1;
    0x000031fc str r3, [sp, 0x18]                            |         var_18h = r3;
                                                             | label_11:
    0x000031fe ldr.w r1, [pc, 0x478]                         |         
    0x00003202 mov r0, r6                                    |         r0 = r6;
    0x00003204 add r1, pc                                    |         r1 = 0x6882;
    0x00003206 blx 0x178c                                    |         fcn_0000178c ();
    0x0000320a ldr.w r1, [pc, 0x470]                         |         
    0x0000320e str r0, [sp, 0x1c]                            |         var_1ch = r0;
    0x00003210 mov r0, r6                                    |         r0 = r6;
    0x00003212 add r1, pc                                    |         
    0x00003214 blx 0x178c                                    |         fcn_0000178c ();
    0x00003216 invalid                                       |         
    0x0000321a asrs r4, r4, 0x11                             |         r4 >>= 0x11;
    0x0000321c str r0, [sp, 0x10]                            |         var_10h = r0;
    0x0000321e mov r0, r6                                    |         r0 = r6;
    0x00003220 add r1, pc                                    |         r1 = 0x9ab8;
    0x00003222 blx 0x178c                                    |         fcn_0000178c ();
    0x00003226 ldr.w r1, [pc, 0x45c]                         |         
    0x0000322a mov r7, r0                                    |         r7 = r0;
    0x0000322c mov r0, r6                                    |         r0 = r6;
    0x0000322e add r1, pc                                    |         r1 = 0x68b8;
    0x00003230 blx 0x178c                                    |         fcn_0000178c ();
    0x00003234 ldr r3, [sp, 0x1c]                            |         r3 = var_1ch;
    0x00003236 str r0, [sp, 0xc]                             |         var_ch = r0;
                                                             |         if (r3 != 0) {
    0x00003238 cbz r3, 0x3242                                |             
    0x0000323a ldrb r2, [r3]                                 |             r2 = *(r3);
    0x0000323c cmp r2, 0                                     |             
                                                             |             if (r2 != 0) {
    0x0000323e bne.w 0x3554                                  |                 goto label_28;
                                                             |             }
                                                             |         }
                                                             | label_13:
    0x00003242 ldr r3, [sp, 0x10]                            |         r3 = var_10h;
                                                             |         if (r3 != 0) {
    0x00003244 cbz r3, 0x324e                                |             
    0x00003246 ldrb r3, [r3]                                 |             r3 = *(r3);
    0x00003248 cmp r3, 0                                     |             
                                                             |             if (r3 != 0) {
    0x0000324a bne.w 0x3576                                  |                 goto label_29;
                                                             |             }
                                                             |         }
                                                             | label_14:
    0x0000324e ldr r3, [sp, 0x18]                            |         r3 = var_18h;
    0x00003250 cmp r3, 0                                     |         
                                                             |         if (r3 != 0) {
    0x00003252 bne.w 0x3492                                  |             goto label_30;
                                                             |         }
                                                             |         if (r7 != 0) {
    0x00003256 cbz r7, 0x3260                                |             
    0x00003258 ldrb r3, [r7]                                 |             r3 = *(r7);
    0x0000325a cmp r3, 0                                     |             
                                                             |             if (r3 != 0) {
    0x0000325c bne.w 0x35bc                                  |                 goto label_31;
                                                             |             }
                                                             |         }
    0x00003260 ldr.w r1, [pc, 0x424]                         |         
    0x00003264 mov r0, sb                                    |         r0 = sb;
    0x00003266 add r1, pc                                    |         r1 = 0x68f2;
    0x00003268 blx 0x184c                                    |         g_string_append_printf ()
                                                             | label_16:
    0x0000326c ldr r3, [sp, 0xc]                             |         r3 = var_ch;
    0x0000326e cmp r3, 0                                     |         
                                                             |         if (r3 == 0) {
    0x00003270 beq.w 0x3512                                  |             goto label_32;
                                                             |         }
    0x00003274 ldr r3, [sp, 0xc]                             |         r3 = var_ch;
    0x00003276 mov r0, r6                                    |         r0 = r6;
    0x00003278 ldr.w r1, [pc, 0x410]                         |         
    0x0000327c ldrb r5, [r3]                                 |         r5 = *(r3);
    0x0000327e add r1, pc                                    |         r1 = 0x690e;
    0x00003280 subs r5, 0                                    |         
    0x00003282 it ne                                         |         
                                                             |         if (r5 == 0) {
    0x00003284 movne r5, 1                                   |             r5 = 1;
                                                             |         }
    0x00003286 blx 0x15ac                                    |         g_dbus_proxy_new_sync ();
    0x0000328a ldr.w r1, [pc, 0x404]                         |         
    0x0000328e mov r0, r6                                    |         r0 = r6;
    0x00003290 add r1, pc                                    |         r1 = 0x6926;
    0x00003292 blx 0x15ac                                    |         g_dbus_proxy_new_sync ();
    0x00003296 ldr r1, [pc, 0x3fc]                           |         
    0x00003298 mov r0, r6                                    |         r0 = r6;
    0x0000329a add r1, pc                                    |         r1 = 0x6934;
    0x0000329c blx 0x15ac                                    |         g_dbus_proxy_new_sync ();
                                                             | label_10:
    0x000032a0 ldr r0, [pc, 0x3f4]                           |         
    0x000032a2 add r0, pc                                    |         r0 = 0x693e;
    0x000032a4 blx 0x1540                                    |         fcn_00001540 ();
    0x000032a8 movs r1, 0                                    |         r1 = 0;
    0x000032aa mov r7, r0                                    |         r7 = r0;
    0x000032ac mov r0, sb                                    |         r0 = sb;
    0x000032ae blx 0x15f4                                    |         g_variant_type_checked_ ();
    0x000032b2 mov r1, r7                                    |         r1 = r7;
    0x000032b4 mov r2, r0                                    |         r2 = r0;
    0x000032b6 mov r0, r6                                    |         r0 = r6;
    0x000032b8 blx 0x1564                                    |         g_list_free ();
                                                             |         if (r5 == 0) {
    0x000032bc cbz r5, 0x32da                                |             goto label_12;
                                                             |         }
    0x000032be ldr r0, [pc, 0x3dc]                           |         
    0x000032c0 add r0, pc                                    |         r0 = 0x6962;
    0x000032c2 blx 0x1540                                    |         r0 = fcn_00001540 ();
    0x000032c6 mov r5, r0                                    |         r5 = r0;
    0x000032c8 ldr r0, [pc, 0x3d4]                           |         
    0x000032ca add r0, pc                                    |         r0 = 0x696e;
    0x000032cc blx 0x1540                                    |         fcn_00001540 ();
    0x000032d0 mov r1, r5                                    |         r1 = r5;
    0x000032d2 mov r2, r0                                    |         r2 = r0;
    0x000032d4 mov r0, r6                                    |         r0 = r6;
    0x000032d6 blx 0x1564                                    |         g_list_free ();
                                                             |     }
                                                             | label_12:
    0x000032da ldr r1, [pc, 0x3c8]                           |     
    0x000032dc ldr r0, [r4, 8]                               |     r0 = *((r4 + 8));
    0x000032de add r1, pc                                    |     r1 = 0x6988;
    0x000032e0 blx 0x1528                                    |     r0 = g_strcmp0 ();
                                                             |     if (r0 != 0) {
    0x000032e4 cbz r0, 0x32ec                                |         
    0x000032e6 ldr r0, [r4, 0x34]                            |         r0 = *((r4 + 0x34));
    0x000032e8 bl 0x1a74                                     |         fcn_00001a74 (r0, r1);
                                                             |     }
    0x000032ec ldr r1, [pc, 0x3b8]                           |     
    0x000032ee ldr r0, [r4, 8]                               |     r0 = *((r4 + 8));
    0x000032f0 add r1, pc                                    |     r1 = 0x699c;
    0x000032f2 blx 0x1528                                    |     r0 = g_strcmp0 ();
    0x000032f6 cmp r0, 0                                     |     
                                                             |     if (r0 == 0) {
    0x000032f8 beq.w 0x3450                                  |         goto label_33;
                                                             |     }
                                                             | label_8:
    0x000032fc ldr r0, [pc, 0x3ac]                           |     
    0x000032fe ldr r6, [r4, 0x34]                            |     r6 = *((r4 + 0x34));
    0x00003300 add r0, pc                                    |     r0 = 0x69b0;
    0x00003302 blx 0x1540                                    |     r0 = fcn_00001540 ();
    0x00003306 mov r5, r0                                    |     r5 = r0;
    0x00003308 ldr r0, [pc, 0x3a4]                           |     
    0x0000330a add r0, pc                                    |     r0 = 0x69be;
    0x0000330c blx 0x1540                                    |     fcn_00001540 ();
    0x00003310 mov r1, r5                                    |     r1 = r5;
    0x00003312 mov r2, r0                                    |     r2 = r0;
    0x00003314 mov r0, r6                                    |     r0 = r6;
    0x00003316 blx 0x1564                                    |     g_list_free ();
                                                             | label_9:
    0x0000331a ldr r1, [pc, 0x398]                           |     
    0x0000331c mov r0, fp                                    |     r0 = fp;
    0x0000331e add r1, pc                                    |     r1 = 0x69d8;
    0x00003320 blx 0x1534                                    |     r0 = g_strdup ();
    0x00003324 mov r5, r0                                    |     r5 = r0;
    0x00003326 cmp r0, 0                                     |     
                                                             |     if (r0 != 0) {
    0x00003328 bne 0x33d4                                    |         goto label_34;
                                                             |     }
    0x0000332a ldr r0, [pc, 0x38c]                           |     
    0x0000332c ldr r7, [r4, 0x34]                            |     r7 = *((r4 + 0x34));
    0x0000332e add r0, pc                                    |     r0 = 0x69ec;
    0x00003330 blx 0x1540                                    |     r0 = fcn_00001540 ();
    0x00003334 mov r6, r0                                    |     r6 = r0;
    0x00003336 ldr r0, [pc, 0x384]                           |     
    0x00003338 add r0, pc                                    |     r0 = 0x69fa;
    0x0000333a blx 0x1540                                    |     fcn_00001540 ();
    0x0000333e mov r1, r6                                    |     r1 = r6;
    0x00003340 mov r2, r0                                    |     r2 = r0;
    0x00003342 mov r0, r7                                    |     r0 = r7;
    0x00003344 blx 0x1564                                    |     g_list_free ();
                                                             | label_4:
    0x00003348 ldr r7, [sp, 0x14]                            |     r7 = var_14h;
    0x0000334a str r5, [r4, 0x30]                            |     *((r4 + 0x30)) = r5;
                                                             |     if (r7 != 0) {
    0x0000334c cbz r7, 0x336a                                |         
    0x0000334e ldr r0, [pc, 0x370]                           |         
    0x00003350 ldr r6, [r4, 0x34]                            |         r6 = *((r4 + 0x34));
    0x00003352 add r0, pc                                    |         r0 = 0x6a18;
    0x00003354 blx 0x1540                                    |         r0 = fcn_00001540 ();
    0x00003358 mov r5, r0                                    |         r5 = r0;
    0x0000335a mov r0, r7                                    |         r0 = r7;
    0x0000335c blx 0x1540                                    |         fcn_00001540 ();
    0x00003360 mov r1, r5                                    |         r1 = r5;
    0x00003362 mov r2, r0                                    |         r2 = r0;
    0x00003364 mov r0, r6                                    |         r0 = r6;
    0x00003366 blx 0x1564                                    |         g_list_free ();
                                                             |     }
    0x0000336a ldr r1, [pc, 0x358]                           |     
    0x0000336c ldr r0, [r4, 0x34]                            |     r0 = *((r4 + 0x34));
    0x0000336e add r1, pc                                    |     r1 = 0x6a38;
    0x00003370 blx 0x178c                                    |     fcn_0000178c ();
    0x00003374 ldr r1, [pc, 0x350]                           |     
    0x00003376 mov r5, r0                                    |     r5 = r0;
    0x00003378 ldr r0, [r4, 0x34]                            |     r0 = *((r4 + 0x34));
    0x0000337a add r1, pc                                    |     r1 = 0x6a46;
    0x0000337c blx 0x178c                                    |     fcn_0000178c ();
    0x00003380 ldr r1, [pc, 0x348]                           |     
    0x00003382 mov r6, r0                                    |     r6 = r0;
    0x00003384 ldr r0, [r4, 0x34]                            |     r0 = *((r4 + 0x34));
    0x00003386 add r1, pc                                    |     r1 = 0x6a56;
    0x00003388 blx 0x178c                                    |     r0 = fcn_0000178c ();
    0x0000338c orrs.w r3, r5, r0                             |     r3 = r5 | r0;
                                                             |     if (r3 != r5) {
    0x00003390 bne 0x341e                                    |         goto label_35;
                                                             |     }
                                                             | label_6:
    0x00003392 ldr r1, [pc, 0x33c]                           |     
    0x00003394 ldr r0, [r4, 0x34]                            |     r0 = *((r4 + 0x34));
    0x00003396 add r1, pc                                    |     r1 = 0x6a6c;
    0x00003398 blx 0x15ac                                    |     g_dbus_proxy_new_sync ();
    0x0000339c ldr r1, [pc, 0x334]                           |     
    0x0000339e ldr r0, [r4, 0x34]                            |     r0 = *((r4 + 0x34));
    0x000033a0 add r1, pc                                    |     r1 = 0x6a78;
    0x000033a2 blx 0x15ac                                    |     g_dbus_proxy_new_sync ();
    0x000033a6 ldr r2, [sp, 8]                               |     r2 = var_8h;
    0x000033a8 movs r1, 0                                    |     r1 = 0;
    0x000033aa movs r0, 1                                    |     r0 = 1;
    0x000033ac blx 0x17b0                                    |     ae_error_quark ();
    0x000033b0 str r0, [r4, 0x38]                            |     *((r4 + 0x38)) = r0;
    0x000033b2 cmp r0, 0                                     |     
                                                             |     if (r0 != 0) {
    0x000033b4 bne.w 0x2fb8                                  |         goto label_3;
                                                             |     }
    0x000033b8 b 0x2fb0                                      |     goto label_2;
                                                             | label_21:
    0x000033ba str r0, [sp, 0xc]                             |     var_ch = r0;
    0x000033bc blx 0x17bc                                    |     g_source_destroy ();
    0x000033c0 ldr r3, [pc, 0x314]                           |     
    0x000033c2 mov r1, r0                                    |     r1 = r0;
    0x000033c4 str.w fp, [sp]                                |     __asm ("str.w fp, [sp]");
    0x000033c8 ldrd r0, r2, [sp, 8]                          |     __asm ("ldrd r0, r2, [var_ch]");
    0x000033cc add r3, pc                                    |     r3 = 0x6aa8;
    0x000033ce blx 0x16c0                                    |     g_hash_table_ref ();
    0x000033d2 b 0x2fb0                                      |     goto label_2;
                                                             | label_34:
    0x000033d4 ldr r0, [pc, 0x304]                           |     
    0x000033d6 ldr r6, [r4, 0x34]                            |     r6 = *((r4 + 0x34));
    0x000033d8 add r0, pc                                    |     r0 = 0x6ab8;
    0x000033da blx 0x1540                                    |     r0 = fcn_00001540 ();
    0x000033de mov r5, r0                                    |     r5 = r0;
    0x000033e0 ldr r0, [pc, 0x2fc]                           |     
    0x000033e2 add r0, pc                                    |     r0 = 0x6ac6;
    0x000033e4 blx 0x1540                                    |     fcn_00001540 ();
    0x000033e8 mov r1, r5                                    |     r1 = r5;
    0x000033ea mov r2, r0                                    |     r2 = r0;
    0x000033ec mov r0, r6                                    |     r0 = r6;
    0x000033ee movs r5, 1                                    |     r5 = 1;
    0x000033f0 blx 0x1564                                    |     g_list_free ();
    0x000033f4 b 0x3348                                      |     goto label_4;
                                                             | label_22:
    0x000033f6 str r0, [sp, 0xc]                             |     var_ch = r0;
    0x000033f8 blx 0x17bc                                    |     g_source_destroy ();
    0x000033fc ldr r3, [pc, 0x2e4]                           |     
    0x000033fe mov r1, r0                                    |     r1 = r0;
    0x00003400 str.w fp, [sp]                                |     __asm ("str.w fp, [sp]");
    0x00003404 ldrd r0, r2, [sp, 8]                          |     __asm ("ldrd r0, r2, [var_ch]");
    0x00003408 add r3, pc                                    |     r3 = 0x6af0;
    0x0000340a blx 0x16c0                                    |     g_hash_table_ref ();
    0x0000340e b 0x2fb0                                      |     goto label_2;
                                                             | label_24:
    0x00003410 ldr r2, [pc, 0x2d4]                           |     
    0x00003412 ldr r1, [pc, 0x2d8]                           |     
    0x00003414 add r2, pc                                    |     r2 = 0x6b00;
    0x00003416 add r1, pc                                    |     r1 = 0x6b08;
    0x00003418 blx 0x1684                                    |     cert_util_get_ca_path ();
    0x0000341c b 0x312e                                      |     goto label_5;
                                                             | label_35:
    0x0000341e mov r2, r6                                    |     r2 = r6;
    0x00003420 mov r1, r0                                    |     r1 = r0;
    0x00003422 mov r0, r5                                    |     r0 = r5;
    0x00003424 blx 0x1798                                    |     g_malloc0 ();
    0x00003428 ldr r3, [pc, 0x2c4]                           |     r3 = *(0x36f0);
    0x0000342a mov r2, r4                                    |     r2 = r4;
    0x0000342c str r0, [r4, 0x50]                            |     *((r4 + 0x50)) = r0;
    0x0000342e ldr.w r3, [sl, r3]                            |     r3 = *((sl + r3));
    0x00003432 mov r1, r3                                    |     r1 = r3;
    0x00003434 str r3, [sp, 0xc]                             |     var_ch = r3;
    0x00003436 blx 0x17d4                                    |     g_hash_table_unref ();
    0x0000343a b 0x3392                                      |     goto label_6;
                                                             | label_26:
    0x0000343c mov r0, r2                                    |     r0 = r2;
    0x0000343e movs r1, 0                                    |     r1 = 0;
    0x00003440 movs r2, 0xa                                  |     r2 = 0xa;
    0x00003442 blx 0x16b4                                    |     g_set_error ();
    0x00003446 mov.w r3, 0x3e8                               |     r3 = 0x3e8;
    0x0000344a mul sb, r3, r0                                |     sb = r3 * r0;
    0x0000344e b 0x31a8                                      |     goto label_7;
                                                             | label_33:
    0x00003450 ldr r1, [pc, 0x2a0]                           |     
    0x00003452 ldr r0, [r4, 8]                               |     r0 = *((r4 + 8));
    0x00003454 add r1, pc                                    |     r1 = 0x6b4c;
    0x00003456 blx 0x1528                                    |     r0 = g_strcmp0 ();
    0x0000345a cmp r0, 0                                     |     
                                                             |     if (r0 != 0) {
    0x0000345c bne.w 0x32fc                                  |         goto label_8;
                                                             |     }
    0x00003460 ldr r1, [pc, 0x294]                           |     
    0x00003462 ldr r0, [r4, 8]                               |     r0 = *((r4 + 8));
    0x00003464 add r1, pc                                    |     r1 = 0x6b60;
    0x00003466 blx 0x1528                                    |     r0 = g_strcmp0 ();
    0x0000346a cmp r0, 0                                     |     
                                                             |     if (r0 != 0) {
    0x0000346c bne.w 0x32fc                                  |         goto label_8;
                                                             |     }
    0x00003470 ldr r1, [pc, 0x288]                           |     
    0x00003472 ldr r0, [r4, 8]                               |     r0 = *((r4 + 8));
    0x00003474 add r1, pc                                    |     r1 = 0x6b74;
    0x00003476 blx 0x1528                                    |     r0 = g_strcmp0 ();
    0x0000347a cmp r0, 0                                     |     
                                                             |     if (r0 != 0) {
    0x0000347c bne.w 0x32fc                                  |         goto label_8;
                                                             |     }
    0x00003480 ldr r1, [pc, 0x27c]                           |     
    0x00003482 ldr r0, [r4, 8]                               |     r0 = *((r4 + 8));
    0x00003484 add r1, pc                                    |     r1 = 0x6b88;
    0x00003486 blx 0x1528                                    |     r0 = g_strcmp0 ();
    0x0000348a cmp r0, 0                                     |     
                                                             |     if (r0 != 0) {
    0x0000348c bne.w 0x32fc                                  |         goto label_8;
                                                             |     }
    0x00003490 b 0x331a                                      |     goto label_9;
                                                             | label_30:
    0x00003492 cmp r7, 0                                     |     
                                                             |     if (r7 == 0) {
    0x00003494 beq 0x3584                                    |         goto label_36;
                                                             |     }
    0x00003496 ldrb r3, [r7]                                 |     r3 = *(r7);
    0x00003498 cmp r3, 0                                     |     
                                                             |     if (r3 == 0) {
    0x0000349a beq 0x3584                                    |         goto label_36;
                                                             |     }
    0x0000349c cmp r3, 0x2f                                  |     
    0x0000349e mov r2, r7                                    |     r2 = r7;
                                                             |     if (r3 == 0x2f) {
    0x000034a0 beq.w 0x35f2                                  |         goto label_37;
                                                             |     }
    0x000034a4 ldr r1, [pc, 0x25c]                           |     
    0x000034a6 mov r0, sb                                    |     r0 = sb;
    0x000034a8 add r1, pc                                    |     r1 = 0x6bb0;
    0x000034aa blx 0x1858                                    |     g_log ();
    0x000034ae ldr r3, [sp, 0xc]                             |     r3 = var_ch;
                                                             |     if (r3 == 0) {
    0x000034b0 cbz r3, 0x3512                                |         goto label_32;
                                                             |     }
    0x000034b2 ldr r3, [sp, 0xc]                             |     r3 = var_ch;
    0x000034b4 mov r0, r6                                    |     r0 = r6;
    0x000034b6 ldr r1, [pc, 0x250]                           |     
    0x000034b8 ldrb r5, [r3]                                 |     r5 = *(r3);
    0x000034ba add r1, pc                                    |     r1 = 0x6bc8;
    0x000034bc subs r5, 0                                    |     
    0x000034be it ne                                         |     
                                                             |     if (r5 == 0) {
    0x000034c0 movne r5, 1                                   |         r5 = 1;
                                                             |     }
    0x000034c2 blx 0x15ac                                    |     g_dbus_proxy_new_sync ();
    0x000034c6 ldr r1, [pc, 0x244]                           |     
    0x000034c8 mov r0, r6                                    |     r0 = r6;
    0x000034ca add r1, pc                                    |     r1 = 0x6bdc;
    0x000034cc blx 0x15ac                                    |     g_dbus_proxy_new_sync ();
    0x000034d0 ldr r1, [pc, 0x23c]                           |     
    0x000034d2 mov r0, r6                                    |     r0 = r6;
    0x000034d4 add r1, pc                                    |     r1 = 0x6be8;
    0x000034d6 blx 0x15ac                                    |     g_dbus_proxy_new_sync ();
                                                             |     do {
                                                             | label_15:
    0x000034da ldr r1, [pc, 0x238]                           |         
    0x000034dc mov r0, r6                                    |         r0 = r6;
    0x000034de add r1, pc                                    |         r1 = 0x6bf8;
    0x000034e0 blx 0x15ac                                    |         g_dbus_proxy_new_sync ();
    0x000034e4 ldr r1, [pc, 0x230]                           |         
    0x000034e6 mov r0, r6                                    |         r0 = r6;
    0x000034e8 add r1, pc                                    |         r1 = 0x6c04;
    0x000034ea blx 0x15ac                                    |         g_dbus_proxy_new_sync ();
    0x000034ee ldr r1, [pc, 0x22c]                           |         
    0x000034f0 mov r0, r6                                    |         r0 = r6;
    0x000034f2 add r1, pc                                    |         r1 = 0x6c14;
    0x000034f4 blx 0x15ac                                    |         g_dbus_proxy_new_sync ();
    0x000034f8 ldr r1, [pc, 0x224]                           |         
    0x000034fa mov r0, r6                                    |         r0 = r6;
    0x000034fc add r1, pc                                    |         r1 = 0x6c20;
    0x000034fe blx 0x15ac                                    |         g_dbus_proxy_new_sync ();
    0x00003502 b 0x32a0                                      |         goto label_10;
                                                             | label_27:
    0x00003504 str r0, [sp, 0x18]                            |         var_18h = r0;
    0x00003506 ldr r0, [pc, 0x21c]                           |         
    0x00003508 add r0, pc                                    |         r0 = 0x6c32;
    0x0000350a blx 0x15a0                                    |         r0 = g_hash_table_remove ();
    0x0000350e mov sb, r0                                    |         sb = r0;
    0x00003510 b 0x31fe                                      |         goto label_11;
                                                             | label_32:
    0x00003512 ldr r1, [pc, 0x214]                           |         
    0x00003514 mov r0, r6                                    |         r0 = r6;
    0x00003516 add r1, pc                                    |         r1 = 0x6c44;
    0x00003518 blx 0x15ac                                    |         g_dbus_proxy_new_sync ();
    0x0000351c ldr r1, [pc, 0x20c]                           |         
    0x0000351e mov r0, r6                                    |         r0 = r6;
    0x00003520 add r1, pc                                    |         r1 = 0x6c50;
    0x00003522 blx 0x15ac                                    |         g_dbus_proxy_new_sync ();
    0x00003526 ldr r1, [pc, 0x208]                           |         
    0x00003528 mov r0, r6                                    |         r0 = r6;
    0x0000352a add r1, pc                                    |         r1 = 0x6c60;
    0x0000352c blx 0x15ac                                    |         g_dbus_proxy_new_sync ();
    0x00003530 ldr r3, [sp, 0x18]                            |         r3 = var_18h;
    0x00003532 cmp r3, 0                                     |         
    0x00003534 bne 0x34da                                    |         
                                                             |     } while (r3 != 0);
    0x00003536 ldr r0, [pc, 0x1fc]                           |     
    0x00003538 add r0, pc                                    |     r0 = 0x6c72;
    0x0000353a blx 0x1540                                    |     fcn_00001540 ();
    0x0000353e movs r1, 0                                    |     r1 = 0;
    0x00003540 mov r5, r0                                    |     r5 = r0;
    0x00003542 mov r0, sb                                    |     r0 = sb;
    0x00003544 blx 0x15f4                                    |     g_variant_type_checked_ ();
    0x00003548 mov r1, r5                                    |     r1 = r5;
    0x0000354a mov r2, r0                                    |     r2 = r0;
    0x0000354c mov r0, r6                                    |     r0 = r6;
    0x0000354e blx 0x1564                                    |     g_list_free ();
    0x00003552 b 0x32da                                      |     goto label_12;
                                                             | label_28:
    0x00003554 mov r0, r3                                    |     r0 = r3;
    0x00003556 bl 0x19f4                                     |     fcn_000019f4 ();
    0x0000355a ldr r3, [sp, 0x1c]                            |     r3 = var_1ch;
    0x0000355c cmp r0, 0                                     |     
                                                             |     if (r0 == 0) {
    0x0000355e beq 0x35ca                                    |         goto label_38;
                                                             |     }
    0x00003560 ldr r2, [pc, 0x1d4]                           |     
    0x00003562 ldr r1, [pc, 0x1d8]                           |     
    0x00003564 add r2, pc                                    |     r2 = 0x6ca0;
    0x00003566 add r1, pc                                    |     r1 = 0x6ca8;
                                                             |     do {
    0x00003568 str r1, [sp]                                  |         *(sp) = r1;
    0x0000356a mov r0, sb                                    |         r0 = sb;
    0x0000356c ldr r1, [pc, 0x1d0]                           |         
    0x0000356e add r1, pc                                    |         r1 = 0x6cb2;
    0x00003570 blx 0x1858                                    |         g_log ();
    0x00003574 b 0x3242                                      |         goto label_13;
                                                             | label_29:
    0x00003576 ldr r1, [pc, 0x1cc]                           |         
    0x00003578 mov r0, sb                                    |         r0 = sb;
    0x0000357a ldr r2, [sp, 0x10]                            |         r2 = var_10h;
    0x0000357c add r1, pc                                    |         r1 = 0x6cc6;
    0x0000357e blx 0x1858                                    |         g_log ();
    0x00003582 b 0x324e                                      |         goto label_14;
                                                             | label_36:
    0x00003584 ldr r1, [pc, 0x1c0]                           |         
    0x00003586 mov r0, sb                                    |         r0 = sb;
    0x00003588 add r1, pc                                    |         r1 = 0x6cd4;
    0x0000358a blx 0x184c                                    |         g_string_append_printf ()
                                                             | label_17:
    0x0000358e ldr r3, [sp, 0xc]                             |         r3 = var_ch;
                                                             |         if (r3 == 0) {
    0x00003590 cbz r3, 0x35d2                                |             goto label_39;
                                                             |         }
    0x00003592 ldr r3, [sp, 0xc]                             |         r3 = var_ch;
    0x00003594 mov r0, r6                                    |         r0 = r6;
    0x00003596 ldr r1, [pc, 0x1b4]                           |         
    0x00003598 ldrb r5, [r3]                                 |         r5 = *(r3);
    0x0000359a add r1, pc                                    |         r1 = 0x6cec;
    0x0000359c subs r5, 0                                    |         
    0x0000359e it ne                                         |         
                                                             |         if (r5 == 0) {
    0x000035a0 movne r5, 1                                   |             r5 = 1;
                                                             |         }
    0x000035a2 blx 0x15ac                                    |         g_dbus_proxy_new_sync ();
    0x000035a6 ldr r1, [pc, 0x1a8]                           |         
    0x000035a8 mov r0, r6                                    |         r0 = r6;
    0x000035aa add r1, pc                                    |         r1 = 0x6d00;
    0x000035ac blx 0x15ac                                    |         g_dbus_proxy_new_sync ();
    0x000035b0 ldr r1, [pc, 0x1a0]                           |         
    0x000035b2 mov r0, r6                                    |         r0 = r6;
    0x000035b4 add r1, pc                                    |         r1 = 0x6d0c;
    0x000035b6 blx 0x15ac                                    |         g_dbus_proxy_new_sync ();
    0x000035ba b 0x34da                                      |         goto label_15;
                                                             | label_31:
    0x000035bc ldr r1, [pc, 0x198]                           |         
    0x000035be mov r2, r7                                    |         r2 = r7;
    0x000035c0 mov r0, sb                                    |         r0 = sb;
    0x000035c2 add r1, pc                                    |         r1 = 0x6d1e;
    0x000035c4 blx 0x1858                                    |         g_log ();
    0x000035c8 b 0x326c                                      |         goto label_16;
                                                             | label_38:
    0x000035ca ldr r2, [pc, 0x190]                           |         
    0x000035cc add r2, pc                                    |         r2 = 0x6d2e;
    0x000035ce mov r1, r2                                    |         r1 = r2;
    0x000035d0 b 0x3568                                      |         
                                                             |     } while (1);
                                                             | label_39:
    0x000035d2 ldr r1, [pc, 0x18c]                           |     
    0x000035d4 mov r0, r6                                    |     r0 = r6;
    0x000035d6 add r1, pc                                    |     r1 = 0x6d3c;
    0x000035d8 blx 0x15ac                                    |     g_dbus_proxy_new_sync ();
    0x000035dc ldr r1, [pc, 0x184]                           |     
    0x000035de mov r0, r6                                    |     r0 = r6;
    0x000035e0 add r1, pc                                    |     r1 = 0x6d48;
    0x000035e2 blx 0x15ac                                    |     g_dbus_proxy_new_sync ();
    0x000035e6 ldr r1, [pc, 0x180]                           |     
    0x000035e8 mov r0, r6                                    |     r0 = r6;
    0x000035ea add r1, pc                                    |     r1 = 0x6d58;
    0x000035ec blx 0x15ac                                    |     g_dbus_proxy_new_sync ();
    0x000035f0 b 0x34da                                      |     goto label_15;
                                                             | label_37:
    0x000035f2 ldr r1, [pc, 0x178]                           |     
    0x000035f4 mov r0, sb                                    |     r0 = sb;
    0x000035f6 add r1, pc                                    |     r1 = 0x6d68;
    0x000035f8 blx 0x1858                                    |     g_log ();
    0x000035fc b 0x358e                                      |     goto label_17;
                                                             | label_20:
    0x000035fe blx 0x1750                                    |     g_hash_table_contains ();
    0x00003602 nop                                           |     
    0x00003604 cmp r7, 0x28                                  |     
    0x00003606 movs r0, r0                                   |     
    0x00003608 lsls r0, r6, 5                                |     r0 = r6 << 5;
    0x0000360a movs r0, r0                                   |     
    0x0000360c cmp r7, 0x20                                  |     
    0x0000360e movs r0, r0                                   |     
    0x00003610 lsrs r2, r2, 0x1a                             |     r2 >>= 0x1a;
    0x00003612 movs r0, r0                                   |     
    0x00003614 cmp r6, 0xba                                  |     
    0x00003616 movs r0, r0                                   |     
    0x00003618 lsrs r6, r2, 0x1a                             |     r6 = r2 >> 0x1a;
    0x0000361a movs r0, r0                                   |     
    0x0000361c lsrs r6, r0, 0x1b                             |     r6 = r0 >> 0x1b;
    0x0000361e movs r0, r0                                   |     
    0x00003620 lsrs r2, r7, 0x1a                             |     r2 = r7 >> 0x1a;
    0x00003622 movs r0, r0                                   |     
    0x00003624 lsrs r0, r4, 0x1a                             |     r0 = r4 >> 0x1a;
    0x00003626 movs r0, r0                                   |     
    0x00003628 lsrs r4, r7, 0x1a                             |     r4 = r7 >> 0x1a;
    0x0000362a movs r0, r0                                   |     
    0x0000362c lsrs r2, r1, 0x1b                             |     r2 = r1 >> 0x1b;
    0x0000362e movs r0, r0                                   |     
    0x00003630 lsrs r4, r3, 0x1b                             |     r4 = r3 >> 0x1b;
    0x00003632 movs r0, r0                                   |     
    0x00003634 lsls r0, r3, 5                                |     r0 = r3 << 5;
    0x00003636 movs r0, r0                                   |     
    0x00003638 lsls r4, r6, 5                                |     r4 = r6 << 5;
    0x0000363a movs r0, r0                                   |     
    0x0000363c lsls r0, r4, 5                                |     r0 = r4 << 5;
    0x0000363e movs r0, r0                                   |     
    0x00003640 lsrs r4, r4, 0x10                             |     r4 >>= 0x10;
    0x00003642 movs r0, r0                                   |     
    0x00003644 lsrs r6, r4, 0x13                             |     r6 = r4 >> 0x13;
    0x00003646 movs r0, r0                                   |     
    0x00003648 lsrs r4, r6, 0x1d                             |     r4 = r6 >> 0x1d;
    0x0000364a movs r0, r0                                   |     
    0x0000364c lsrs r4, r5, 0x13                             |     r4 = r5 >> 0x13;
    0x0000364e movs r0, r0                                   |     
    0x00003650 lsrs r6, r3, 0x1d                             |     r6 = r3 >> 0x1d;
    0x00003652 movs r0, r0                                   |     
    0x00003654 lsrs r4, r5, 0x14                             |     r4 = r5 >> 0x14;
    0x00003656 movs r0, r0                                   |     
    0x00003658 lsrs r2, r7, 0x17                             |     r2 = r7 >> 0x17;
    0x0000365a movs r0, r0                                   |     
    0x0000365c lsrs r2, r2, 7                                |     r2 >>= 7;
    0x0000365e movs r0, r0                                   |     
    0x00003660 lsrs r4, r3, 0x17                             |     r4 = r3 >> 0x17;
    0x00003662 movs r0, r0                                   |     
    0x00003664 lsrs r0, r2, 0x17                             |     r0 = r2 >> 0x17;
    0x00003666 movs r0, r0                                   |     
    0x00003668 lsrs r2, r1, 0x17                             |     r2 = r1 >> 0x17;
    0x0000366a movs r0, r0                                   |     
    0x0000366c lsrs r0, r7, 0x16                             |     r0 = r7 >> 0x16;
    0x0000366e movs r0, r0                                   |     
    0x00003670 lsrs r2, r5, 0x16                             |     r2 = r5 >> 0x16;
    0x00003672 movs r0, r0                                   |     
    0x00003674 lsrs r2, r5, 0x16                             |     r2 = r5 >> 0x16;
    0x00003676 movs r0, r0                                   |     
    0x00003678 lsls r4, r7, 0x1a                             |     r4 = r7 << 0x1a;
    0x0000367a movs r0, r0                                   |     
    0x0000367c lsls r2, r7, 0x1a                             |     r2 = r7 << 0x1a;
    0x0000367e movs r0, r0                                   |     
    0x00003680 lsrs r4, r0, 0x16                             |     r4 = r0 >> 0x16;
    0x00003682 movs r0, r0                                   |     
    0x00003684 lsrs r2, r0, 0x16                             |     r2 = r0 >> 0x16;
    0x00003686 movs r0, r0                                   |     
    0x00003688 lsrs r2, r5, 0x15                             |     r2 = r5 >> 0x15;
    0x0000368a movs r0, r0                                   |     
    0x0000368c lsls r2, r0, 0x19                             |     r2 = r0 << 0x19;
    0x0000368e movs r0, r0                                   |     
    0x00003690 lsls r4, r7, 0x18                             |     r4 = r7 << 0x18;
    0x00003692 movs r0, r0                                   |     
    0x00003694 lsrs r2, r1, 0x14                             |     r2 = r1 >> 0x14;
    0x00003696 movs r0, r0                                   |     
    0x00003698 lsls r2, r2, 0x1a                             |     r2 <<= 0x1a;
    0x0000369a movs r0, r0                                   |     
    0x0000369c lsrs r4, r5, 0x15                             |     r4 = r5 >> 0x15;
    0x0000369e movs r0, r0                                   |     
    0x000036a0 lsrs r6, r7, 1                                |     r6 = r7 >> 1;
    0x000036a2 movs r0, r0                                   |     
    0x000036a4 lsrs r2, r3, 0x15                             |     r2 = r3 >> 0x15;
    0x000036a6 movs r0, r0                                   |     
    0x000036a8 lsrs r0, r3, 0x12                             |     r0 = r3 >> 0x12;
    0x000036aa movs r0, r0                                   |     
    0x000036ac lsrs r0, r0, 0x15                             |     r0 >>= 0x15;
    0x000036ae movs r0, r0                                   |     
    0x000036b0 lsrs r6, r7, 0x14                             |     r6 = r7 >> 0x14;
    0x000036b2 movs r0, r0                                   |     
    0x000036b4 lsrs r6, r7, 0x14                             |     r6 = r7 >> 0x14;
    0x000036b6 movs r0, r0                                   |     
    0x000036b8 lsrs r2, r7, 0x14                             |     r2 = r7 >> 0x14;
    0x000036ba movs r0, r0                                   |     
    0x000036bc lsls r4, r3, 0x18                             |     r4 = r3 << 0x18;
    0x000036be movs r0, r0                                   |     
    0x000036c0 lsrs r2, r5, 0x14                             |     r2 = r5 >> 0x14;
    0x000036c2 movs r0, r0                                   |     
    0x000036c4 lsrs r6, r2, 0x14                             |     r6 = r2 >> 0x14;
    0x000036c6 movs r0, r0                                   |     
    0x000036c8 lsrs r2, r5, 0x10                             |     r2 = r5 >> 0x10;
    0x000036ca movs r0, r0                                   |     
    0x000036cc lsrs r2, r1, 0x14                             |     r2 = r1 >> 0x14;
    0x000036ce movs r0, r0                                   |     
    0x000036d0 lsrs r6, r5, 0x13                             |     r6 = r5 >> 0x13;
    0x000036d2 movs r0, r0                                   |     
    0x000036d4 lsrs r4, r0, 0x10                             |     r4 = r0 >> 0x10;
    0x000036d6 movs r0, r0                                   |     
    0x000036d8 lsrs r0, r7, 0xa                              |     r0 = r7 >> 0xa;
    0x000036da movs r0, r0                                   |     
    0x000036dc lsrs r0, r2, 0x12                             |     r0 = r2 >> 0x12;
    0x000036de movs r0, r0                                   |     
    0x000036e0 lsls r6, r4, 0x1d                             |     r6 = r4 << 0x1d;
    0x000036e2 movs r0, r0                                   |     
    0x000036e4 lsrs r4, r7, 9                                |     r4 = r7 >> 9;
    0x000036e6 movs r0, r0                                   |     
    0x000036e8 lsrs r4, r3, 0xb                              |     r4 = r3 >> 0xb;
    0x000036ea movs r0, r0                                   |     
    0x000036ec lsrs r6, r0, 0x12                             |     r6 = r0 >> 0x12;
    0x000036ee movs r0, r0                                   |     
    0x000036f0 lsls r4, r3, 5                                |     r4 = r3 << 5;
    0x000036f2 movs r0, r0                                   |     
    0x000036f4 lsrs r0, r7, 0xc                              |     r0 = r7 >> 0xc;
    0x000036f6 movs r0, r0                                   |     
    0x000036f8 lsrs r4, r2, 0xf                              |     r4 = r2 >> 0xf;
    0x000036fa movs r0, r0                                   |     
    0x000036fc lsrs r0, r3, 0xf                              |     r0 = r3 >> 0xf;
    0x000036fe movs r0, r0                                   |     
    0x00003700 lsrs r0, r2, 0xf                              |     r0 = r2 >> 0xf;
    0x00003702 movs r0, r0                                   |     
    0x00003704 lsrs r0, r6, 0xc                              |     r0 = r6 >> 0xc;
    0x00003706 movs r0, r0                                   |     
    0x00003708 lsls r6, r0, 0x10                             |     r6 = r0 << 0x10;
    0x0000370a movs r0, r0                                   |     
    0x0000370c lsls r2, r0, 0x10                             |     r2 = r0 << 0x10;
    0x0000370e movs r0, r0                                   |     
    0x00003710 lsrs r0, r2, 0xb                              |     r0 = r2 >> 0xb;
    0x00003712 movs r0, r0                                   |     
    0x00003714 lsrs r6, r0, 0xc                              |     r6 = r0 >> 0xc;
    0x00003716 movs r0, r0                                   |     
    0x00003718 lsrs r4, r1, 0xc                              |     r4 = r1 >> 0xc;
    0x0000371a movs r0, r0                                   |     
    0x0000371c lsrs r2, r2, 0xc                              |     r2 >>= 0xc;
    0x0000371e movs r0, r0                                   |     
    0x00003720 lsrs r4, r4, 0xc                              |     r4 >>= 0xc;
    0x00003722 movs r0, r0                                   |     
    0x00003724 lsrs r4, r1, 0xa                              |     r4 = r1 >> 0xa;
    0x00003726 movs r0, r0                                   |     
    0x00003728 lsls r2, r5, 0xe                              |     r2 = r5 << 0xe;
    0x0000372a movs r0, r0                                   |     
    0x0000372c lsls r4, r5, 0xe                              |     r4 = r5 << 0xe;
    0x0000372e movs r0, r0                                   |     
    0x00003730 lsrs r2, r7, 9                                |     r2 = r7 >> 9;
    0x00003732 movs r0, r0                                   |     
    0x00003734 lsls r4, r7, 0xf                              |     r4 = r7 << 0xf;
    0x00003736 movs r0, r0                                   |     
    0x00003738 lsls r0, r2, 0xd                              |     r0 = r2 << 0xd;
    0x0000373a movs r0, r0                                   |     
    0x0000373c lsls r2, r2, 0xd                              |     r2 <<= 0xd;
    0x0000373e movs r0, r0                                   |     
    0x00003740 lsrs r2, r2, 9                                |     r2 >>= 9;
    0x00003742 movs r0, r0                                   |     
    0x00003744 lsls r0, r0, 0xe                              |     r0 <<= 0xe;
    0x00003746 movs r0, r0                                   |     
    0x00003748 lsrs r0, r3, 9                                |     r0 = r3 >> 9;
    0x0000374a movs r0, r0                                   |     
    0x0000374c lsls r6, r4, 0xc                              |     r6 = r4 << 0xc;
    0x0000374e movs r0, r0                                   |     
    0x00003750 lsls r2, r4, 0xc                              |     r2 = r4 << 0xc;
    0x00003752 movs r0, r0                                   |     
    0x00003754 lsrs r0, r6, 7                                |     r0 = r6 >> 7;
    0x00003756 movs r0, r0                                   |     
    0x00003758 lsrs r6, r0, 8                                |     r6 = r0 >> 8;
    0x0000375a movs r0, r0                                   |     
    0x0000375c lsls r4, r4, 0x1c                             |     r4 <<= 0x1c;
    0x0000375e movs r0, r0                                   |     
    0x00003760 lsls r2, r5, 0xb                              |     r2 = r5 << 0xb;
    0x00003762 movs r0, r0                                   |     
    0x00003764 lsls r4, r5, 0xb                              |     r4 = r5 << 0xb;
    0x00003766 movs r0, r0                                   |     
    0x00003768 lsrs r2, r7, 6                                |     r2 = r7 >> 6;
    0x0000376a movs r0, r0                                   |     
    0x0000376c lsrs r6, r3, 7                                |     r6 = r3 >> 7;
    0x0000376e movs r0, r0                                   |     
                                                             | }

[*] Function printf used 5 times libmonolith.so