[*] Binary protection state of ntpconfd

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


[*] Function printf tear down of ntpconfd

    ; assembly                           | /* r2dec pseudo code output */
                                         | /* /logs/firmware/patool_extraction/rootfs.img_unblob_extracted/rootfs.img_extract/0-80367616.squashfs_v4_le_extract/usr/sbin/ntpconfd @ 0x2198 */
                                         | #include <stdint.h>
                                         |  
    ; (fcn) fcn.00002198 ()              | void fcn_00002198 (int16_t arg1) {
                                         |     r0 = arg1;
                                         |     if (r0 == 0) {
    0x00002198 cbz r0, 0x21d6            |         goto label_0;
                                         |     }
    0x0000219a ldr r1, [pc, 0x58]        |     
    0x0000219c movs r2, 0                |     r2 = 0;
    0x0000219e push {r4, r5, r6, lr}     |     
    0x000021a0 add r1, pc                |     r1 = 0x439a;
    0x000021a2 blx 0x1c64                |     r0 = g_variant_ref_sink ();
    0x000021a6 mov r6, r0                |     r6 = r0;
                                         |     if (r0 == 0) {
    0x000021a8 cbz r0, 0x21dc            |         goto label_1;
                                         |     }
    0x000021aa ldr r3, [r0]              |     r3 = *(r0);
    0x000021ac mov r5, r0                |     r5 = r0;
    0x000021ae movs r4, 0                |     r4 = 0;
                                         |     if (r3 == 0) {
    0x000021b0 cbz r3, 0x21dc            |         goto label_1;
                                         |     }
                                         |     do {
    0x000021b2 mov r0, r3                |         r0 = r3;
    0x000021b4 blx 0x1be0                |         r0 = g_strdup_printf ()
    0x000021b8 mov r1, r0                |         r1 = r0;
    0x000021ba mov r0, r4                |         r0 = r4;
    0x000021bc blx 0x1b44                |         g_variant_new_int32 ();
    0x000021c0 ldr r3, [r5, 4]!          |         r3 = *((r5 += 4));
    0x000021c4 mov r4, r0                |         r4 = r0;
    0x000021c6 cmp r3, 0                 |         
    0x000021c8 bne 0x21b2                |         
                                         |     } while (r3 != 0);
    0x000021ca mov r0, r6                |     r0 = r6;
    0x000021cc blx 0x1cdc                |     g_list_free_full ();
                                         |     if (r4 != 0) {
    0x000021d0 cbz r4, 0x21e0            |         
    0x000021d2 mov r0, r4                |         r0 = r4;
    0x000021d4 pop {r4, r5, r6, pc}      |         
                                         | label_0:
    0x000021d6 mov r1, r0                |         r1 = r0;
    0x000021d8 b.w 0x1b40                |         void (*0x1b40)() ();
                                         | label_1:
    0x000021dc blx 0x1cdc                |         g_list_free_full ();
                                         |     }
    0x000021e0 ldr r0, [pc, 0x14]        |     
    0x000021e2 add r0, pc                |     r0 = 0x43de;
    0x000021e4 blx 0x1be0                |     g_strdup_printf ()
    0x000021e8 pop.w {r4, r5, r6, lr}    |     
    0x000021ec mov r1, r0                |     r1 = r0;
    0x000021ee movs r0, 0                |     r0 = 0;
    0x000021f0 b.w 0x1b40                |     return void (*0x1b40)() ();
                                         | }
    ; assembly                                                       | /* r2dec pseudo code output */
                                                                     | /* /logs/firmware/patool_extraction/rootfs.img_unblob_extracted/rootfs.img_extract/0-80367616.squashfs_v4_le_extract/usr/sbin/ntpconfd @ 0x2a00 */
                                                                     | #include <stdint.h>
                                                                     |  
    ; (fcn) fcn.00002a00 ()                                          | void fcn_00002a00 (uint32_t arg1, uint32_t arg2, uint32_t arg3, int16_t arg4) {
                                                                     |     int16_t var_0h_2;
                                                                     |     int16_t var_0h;
                                                                     |     int16_t var_8h;
                                                                     |     r0 = arg1;
                                                                     |     r1 = arg2;
                                                                     |     r2 = arg3;
                                                                     |     r3 = arg4;
    0x00002a00 push.w {r4, r5, r6, r7, r8, sb, sl, fp, lr}           |     
    0x00002a04 sub sp, 0xc                                           |     
    0x00002a06 ldrd fp, sl, [sp, 0x30]                               |     __asm ("ldrd fp, sl, [var_0h]");
    0x00002a0a ldr.w sb, [sp, 0x38]                                  |     sb = var_8h;
    0x00002a0e cmp r0, 0                                             |     
                                                                     |     if (r0 == 0) {
    0x00002a10 beq 0x2a96                                            |         goto label_0;
                                                                     |     }
    0x00002a12 mov r5, r1                                            |     r5 = r1;
    0x00002a14 cmp r1, 0                                             |     
                                                                     |     if (r1 == 0) {
    0x00002a16 beq 0x2aae                                            |         goto label_1;
                                                                     |     }
    0x00002a18 mov r6, r2                                            |     r6 = r2;
    0x00002a1a cmp r2, 0                                             |     
                                                                     |     if (r2 == 0) {
    0x00002a1c beq 0x2ac8                                            |         goto label_2;
                                                                     |     }
    0x00002a1e mov r8, r3                                            |     r8 = r3;
    0x00002a20 cmp r3, 0                                             |     
                                                                     |     if (r3 == 0) {
    0x00002a22 beq 0x2ae2                                            |         goto label_3;
                                                                     |     }
    0x00002a24 mov r7, r0                                            |     r7 = r0;
    0x00002a26 movs r0, 0x1c                                         |     r0 = 0x1c;
    0x00002a28 blx 0x1ea8                                            |     r0 = fcn_00001ea8 ();
    0x00002a2c mov r4, r0                                            |     r4 = r0;
    0x00002a2e mov r0, r7                                            |     r0 = r7;
    0x00002a30 blx 0x1be0                                            |     g_strdup_printf ()
    0x00002a34 str r0, [r4]                                          |     *(r4) = r0;
    0x00002a36 mov r0, r5                                            |     r0 = r5;
    0x00002a38 blx 0x1be0                                            |     g_strdup_printf ()
    0x00002a3c str r0, [r4, 4]                                       |     *((r4 + 4)) = r0;
    0x00002a3e mov r0, r6                                            |     r0 = r6;
    0x00002a40 blx 0x1be0                                            |     g_strdup_printf ()
    0x00002a44 str r0, [r4, 8]                                       |     *((r4 + 8)) = r0;
    0x00002a46 mov r0, r8                                            |     r0 = r8;
    0x00002a48 blx 0x1be0                                            |     g_strdup_printf ()
    0x00002a4c str r0, [r4, 0xc]                                     |     *((r4 + 0xc)) = r0;
    0x00002a4e cmp.w fp, 0                                           |     
                                                                     |     if (fp == 0) {
    0x00002a52 beq 0x2a74                                            |         goto label_4;
                                                                     |     }
    0x00002a54 mov r0, fp                                            |     r0 = fp;
    0x00002a56 blx 0x1c88                                            |     g_dbus_connection_signal_subscribe ();
    0x00002a5a ldr r3, [pc, 0xa0]                                    |     
    0x00002a5c strd r0, sl, [r4, 0x10]                               |     __asm ("strd r0, sl, [r4, 0x10]");
    0x00002a60 str.w sb, [r4, 0x18]                                  |     __asm ("str.w sb, [r4, 0x18]");
    0x00002a62 str r0, [sp, 0x60]                                    |     *((sp + 0x60)) = r0;
    0x00002a64 add r3, pc                                            |     
    0x00002a66 ldr r3, [r3, 0x10]                                    |     r3 = *(0x5576);
                                                                     |     if (r3 == 0) {
    0x00002a68 cbz r3, 0x2a82                                        |         goto label_5;
                                                                     |     }
                                                                     |     do {
    0x00002a6a mov r0, r4                                            |         r0 = r4;
    0x00002a6c add sp, 0xc                                           |         
    0x00002a6e pop.w {r4, r5, r6, r7, r8, sb, sl, fp, lr}            |         
    0x00002a72 b 0x24ac                                              |         void (*0x24ac)() ();
                                                                     | label_4:
    0x00002a74 ldr r3, [pc, 0x88]                                    |         
    0x00002a76 strd sl, sb, [r4, 0x14]                               |         __asm ("strd sl, sb, [r4, 0x14]");
    0x00002a7a add r3, pc                                            |         
    0x00002a7c ldr r3, [r3, 0x10]                                    |         r3 = *(0x558e);
    0x00002a7e cmp r3, 0                                             |         
    0x00002a80 bne 0x2a6a                                            |         
                                                                     |     } while (r3 != 0);
                                                                     | label_5:
    0x00002a82 ldr r5, [pc, 0x80]                                    |     
    0x00002a84 mov r1, r4                                            |     r1 = r4;
    0x00002a86 add r5, pc                                            |     r5 = 0x5590;
    0x00002a88 ldr r0, [r5, 0x28]                                    |     r0 = *(0x55b8);
    0x00002a8a blx 0x1b44                                            |     g_variant_new_int32 ();
    0x00002a8e str r0, [r5, 0x28]                                    |     *((r5 + 0x28)) = r0;
    0x00002a90 add sp, 0xc                                           |     
    0x00002a92 pop.w {r4, r5, r6, r7, r8, sb, sl, fp, pc}            |     
                                                                     | label_0:
    0x00002a96 ldr r3, [pc, 0x70]                                    |     
    0x00002a98 movw r2, 0x1b5                                        |     r2 = 0x1b5;
    0x00002a9c ldr r4, [pc, 0x6c]                                    |     
    0x00002a9e ldr r1, [pc, 0x70]                                    |     
    0x00002aa0 add r3, pc                                            |     r3 = 0x55ae;
    0x00002aa2 add r4, pc                                            |     r4 = 0x55b2;
    0x00002aa4 adds r3, 0x98                                         |     r3 += 0x98;
    0x00002aa6 add r1, pc                                            |     r1 = 0x55bc;
    0x00002aa8 str r4, [sp]                                          |     *(sp) = r4;
    0x00002aaa blx 0x1ed8                                            |     fcn_00001ed8 ();
                                                                     | label_1:
    0x00002aae ldr r3, [pc, 0x64]                                    |     
    0x00002ab0 mov.w r2, 0x1b6                                       |     r2 = 0x1b6;
    0x00002ab4 ldr r4, [pc, 0x60]                                    |     
    0x00002ab6 mov r0, r5                                            |     r0 = r5;
    0x00002ab8 ldr r1, [pc, 0x60]                                    |     
    0x00002aba add r3, pc                                            |     r3 = 0x55d4;
    0x00002abc add r4, pc                                            |     r4 = 0x55d8;
    0x00002abe adds r3, 0x98                                         |     r3 += 0x98;
    0x00002ac0 add r1, pc                                            |     r1 = 0x55e0;
    0x00002ac2 str r4, [sp]                                          |     *(sp) = r4;
    0x00002ac4 blx 0x1ed8                                            |     fcn_00001ed8 ();
                                                                     | label_2:
    0x00002ac8 ldr r3, [pc, 0x54]                                    |     
    0x00002aca movw r2, 0x1b7                                        |     r2 = 0x1b7;
    0x00002ace ldr r4, [pc, 0x54]                                    |     
    0x00002ad0 mov r0, r6                                            |     r0 = r6;
    0x00002ad2 ldr r1, [pc, 0x54]                                    |     
    0x00002ad4 add r3, pc                                            |     r3 = 0x55f8;
    0x00002ad6 add r4, pc                                            |     r4 = 0x5600;
    0x00002ad8 adds r3, 0x98                                         |     r3 += 0x98;
    0x00002ada add r1, pc                                            |     r1 = 0x5608;
    0x00002adc str r4, [sp]                                          |     *(sp) = r4;
    0x00002ade blx 0x1ed8                                            |     fcn_00001ed8 ();
                                                                     | label_3:
    0x00002ae2 ldr r3, [pc, 0x48]                                    |     
    0x00002ae4 mov.w r2, 0x1b8                                       |     r2 = 0x1b8;
    0x00002ae8 ldr r4, [pc, 0x44]                                    |     
    0x00002aea mov r0, r8                                            |     r0 = r8;
    0x00002aec ldr r1, [pc, 0x44]                                    |     
    0x00002aee add r3, pc                                            |     r3 = 0x5620;
    0x00002af0 add r4, pc                                            |     r4 = 0x5624;
    0x00002af2 adds r3, 0x98                                         |     r3 += 0x98;
    0x00002af4 add r1, pc                                            |     r1 = 0x562c;
    0x00002af6 str r4, [sp]                                          |     *(sp) = r4;
    0x00002af8 blx 0x1ed8                                            |     fcn_00001ed8 ();
    0x00002afc stm r5!, {r5, r6, r7}                                 |     *(r5!) = r5;
                                                                     |     *((r5! + 4)) = r6;
                                                                     |     *((r5! + 8)) = r7;
    0x00002afe movs r0, r0                                           |     
    0x00002b00 stm r5!, {r1, r3, r6, r7}                             |     *(r5!) = r1;
                                                                     |     *((r5! + 4)) = r3;
                                                                     |     *((r5! + 8)) = r6;
                                                                     |     *((r5! + 12)) = r7;
    0x00002b02 movs r0, r0                                           |     
    0x00002b04 stm r5!, {r1, r2, r3, r4, r5, r7}                     |     *(r5!) = r1;
                                                                     |     *((r5! + 4)) = r2;
                                                                     |     *((r5! + 8)) = r3;
                                                                     |     *((r5! + 12)) = r4;
                                                                     |     *((r5! + 16)) = r5;
                                                                     |     *((r5! + 20)) = r7;
    0x00002b06 movs r0, r0                                           |     
    0x00002b08 ldrsh r0, [r1, r5]                                    |     r0 = *((r1 + r5));
    0x00002b0a movs r0, r0                                           |     
    0x00002b0c ldrb r6, [r1, r3]                                     |     r6 = *((r1 + r3));
    0x00002b0e movs r0, r0                                           |     
    0x00002b10 ldrh r6, [r5, r1]                                     |     r6 = *((r5 + r1));
    0x00002b12 movs r0, r0                                           |     
    0x00002b14 ldrsh r6, [r5, r4]                                    |     r6 = *((r5 + r4));
    0x00002b16 movs r0, r0                                           |     
    0x00002b18 ldrb r4, [r0, r3]                                     |     r4 = *((r0 + r3));
    0x00002b1a movs r0, r0                                           |     
    0x00002b1c ldrh r4, [r2, r1]                                     |     r4 = *((r2 + r1));
    0x00002b1e movs r0, r0                                           |     
    0x00002b20 ldrsh r4, [r2, r4]                                    |     r4 = *((r2 + r4));
    0x00002b22 movs r0, r0                                           |     
    0x00002b24 ldrb r2, [r7, r2]                                     |     r2 = *((r7 + r2));
    0x00002b26 movs r0, r0                                           |     
    0x00002b28 ldrh r2, [r7, r0]                                     |     r2 = *((r7 + r0));
    0x00002b2a movs r0, r0                                           |     
    0x00002b2c ldrsh r2, [r7, r3]                                    |     r2 = *((r7 + r3));
    0x00002b2e movs r0, r0                                           |     
    0x00002b30 ldrb r4, [r6, r2]                                     |     r4 = *((r6 + r2));
    0x00002b32 movs r0, r0                                           |     
    0x00002b34 ldrh r0, [r4, r0]                                     |     r0 = *((r4 + r0));
    0x00002b36 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/sbin/ntpconfd @ 0x3484 */
                                                             | #include <stdint.h>
                                                             |  
    ; (fcn) fcn.00003484 ()                                  | void fcn_00003484 (int16_t arg_d8h, int16_t arg_1e0h, int16_t arg_3b0h) {
                                                             |     int16_t var_0h_2;
                                                             |     int16_t var_8h_2;
                                                             |     int16_t var_ch;
                                                             |     int16_t var_10h;
                                                             |     int16_t var_14h;
                                                             |     int16_t var_8h_3;
                                                             |     int16_t var_0h;
                                                             |     int32_t var_38h;
                                                             |     int16_t var_8h;
                                                             |     int16_t var_ch_2;
                                                             |     int16_t var_4ch_2;
                                                             |     int16_t var_4ch;
                                                             |     int16_t var_68h_2;
                                                             |     int16_t var_4h;
                                                             |     int16_t var_68h;
                                                             |     int16_t var_6ch;
                                                             |     int16_t var_78h;
                                                             |     int16_t var_44h;
    0x00003484 blmi 0x815d08                                 |     __asm ("blmi aav.0x0000b970");
    0x00003488 push {r4, r5, r6, lr}                         |     
    0x0000348a sub sp, 0x48                                  |     
    0x0000348c add r2, pc                                    |     r2 += pc;
    0x0000348e ldr r3, [r2, r3]                              |     r3 = *((r2 + r3));
    0x00003490 ldr r3, [r3]                                  |     r3 = *(r3);
    0x00003492 str r3, [sp, 0x44]                            |     var_44h = r3;
    0x00003494 mov.w r3, 0                                   |     r3 = 0;
                                                             |     if (r0 == 0) {
    0x00003498 cbz r0, 0x34e6                                |         goto label_13;
                                                             |     }
    0x0000349a bl 0x7f40                                     |     r0 = fcn_00007f40 ();
    0x0000349e mov r4, r0                                    |     r4 = r0;
                                                             | label_0:
    0x000034a0 ldr r1, [pc, 0x68]                            |     
    0x000034a2 add r5, sp, 4                                 |     r5 += var_4h;
    0x000034a4 mov r0, r5                                    |     r0 = r5;
    0x000034a6 add r1, pc                                    |     r1 = 0x69b6;
    0x000034a8 blx 0x1c70                                    |     clock_gettime ();
                                                             |     if (r4 == 0) {
    0x000034ac cbz r4, 0x34ee                                |         goto label_14;
                                                             |     }
    0x000034ae ldr r2, [r4]                                  |     r2 = *(r4);
                                                             |     if (r2 == 0) {
    0x000034b0 cbz r2, 0x34ee                                |         goto label_14;
                                                             |     }
    0x000034b2 ldr r6, [pc, 0x5c]                            |     
    0x000034b4 add r6, pc                                    |     r6 = 0x69ca;
                                                             |     do {
    0x000034b6 mov r1, r6                                    |         r1 = r6;
    0x000034b8 mov r0, r5                                    |         r0 = r5;
    0x000034ba blx 0x1ee4                                    |         fcn_00001ee4 ();
    0x000034be ldr r4, [r4, 4]                               |         r4 = *((r4 + 4));
                                                             |         if (r4 == 0) {
    0x000034c0 cbz r4, 0x34c8                                |             goto label_15;
                                                             |         }
    0x000034c2 ldr r2, [r4]                                  |         r2 = *(r4);
    0x000034c4 cmp r2, 0                                     |         
    0x000034c6 bne 0x34b6                                    |         
                                                             |     } while (r2 != 0);
                                                             |     do {
                                                             | label_15:
    0x000034c8 mov r0, r5                                    |         r0 = r5;
    0x000034ca blx 0x1a90                                    |         g_variant_builder_end ();
    0x000034ce ldr r2, [pc, 0x44]                            |         
    0x000034d0 ldr r3, [pc, 0x34]                            |         r3 = *(0x3508);
    0x000034d2 add r2, pc                                    |         r2 = 0x69ec;
    0x000034d4 ldr r3, [r2, r3]                              |         r3 = *(0x69ec);
    0x000034d6 ldr r2, [r3]                                  |         r2 = *(0x69ec);
    0x000034d8 ldr r3, [sp, 0x44]                            |         r3 = var_44h;
    0x000034da eors r2, r3                                   |         r2 ^= r3;
    0x000034dc mov.w r3, 0                                   |         r3 = 0;
                                                             |         if (r2 != r3) {
    0x000034e0 bne 0x34fe                                    |             goto label_16;
                                                             |         }
    0x000034e2 add sp, 0x48                                  |         
    0x000034e4 pop {r4, r5, r6, pc}                          |         
                                                             | label_13:
    0x000034e6 bl 0x7f34                                     |         r0 = fcn_00007f34 ();
    0x000034ea mov r4, r0                                    |         r4 = r0;
    0x000034ec b 0x34a0                                      |         goto label_0;
                                                             | label_14:
    0x000034ee ldr r2, [pc, 0x28]                            |         
    0x000034f0 mov r0, r5                                    |         r0 = r5;
    0x000034f2 ldr r1, [pc, 0x28]                            |         
    0x000034f4 add r2, pc                                    |         r2 = 0x6a12;
    0x000034f6 add r1, pc                                    |         r1 = 0x6a18;
    0x000034f8 blx 0x1ee4                                    |         fcn_00001ee4 ();
    0x000034fc b 0x34c8                                      |         
                                                             |     } while (1);
                                                             | label_16:
    0x000034fe blx 0x1d1c                                    |     fcn_00001d1c ();
    0x00003502 nop                                           |     
                                                             |     if (r0 == 0) {
    0x00003504 cbnz r0, 0x3524                               |         
    0x00003506 movs r0, r0                                   |         
    0x00003508 lsls r4, r3, 7                                |         r4 = r3 << 7;
    0x0000350a movs r0, r0                                   |         
    0x0000350c strb r2, [r5, r1]                             |         *((r5 + r1)) = r2;
    0x0000350e movs r0, r0                                   |         
    0x00003510 adr r1, 0x1c0                                 |         r1 = 0x1c0;
    0x00003512 movs r0, r0                                   |         
                                                             |         if (r2 == 0) {
    0x00003514 cbnz r2, 0x3522                               |             
    0x00003516 movs r0, r0                                   |             
    0x00003518 ldr r7, [sp, 0x3b0]                           |             r7 = *(arg_3b0h);
    0x0000351a movs r0, r0                                   |             
    0x0000351c adr r1, 0xb8                                  |             r1 = 0xb8;
    0x0000351e movs r0, r0                                   |             
    0x00003520 ldr r1, [pc, 0x2dc]                           |             r1 = *(0x3800);
                                                             |         }
    0x00003522 push.w {r4, r5, r6, r7, r8, lr}               |         
                                                             |     }
    0x00003524 rors r0, r6                                   |     __asm ("rors r0, r6");
    0x00003526 mov r5, r2                                    |     r5 = r2;
    0x00003528 ldr r2, [pc, 0x2d8]                           |     
    0x0000352a mov r4, r3                                    |     r4 = r3;
    0x0000352c add r1, pc                                    |     r1 += pc;
    0x0000352e sub sp, 0x50                                  |     
    0x00003530 ldr r3, [pc, 0x2d4]                           |     r3 = *(0x3808);
    0x00003532 mov.w r8, 0                                   |     r8 = 0;
    0x00003536 add r2, pc                                    |     r2 = 0x6d3e;
    0x00003538 ldr r0, [r1]                                  |     r0 = *(r1);
    0x0000353a ldr r7, [sp, 0x68]                            |     r7 = var_68h;
    0x0000353c ldr r3, [r2, r3]                              |     
    0x0000353e ldr r6, [sp, 0x6c]                            |     r6 = var_4h;
    0x00003540 ldr r3, [r3]                                  |     r3 = *(0x6d3e);
    0x00003542 str r3, [sp, 0x4c]                            |     var_4ch = r3;
    0x00003544 mov.w r3, 0                                   |     r3 = 0;
    0x00003548 str.w r8, [sp, 8]                             |     __asm ("str.w r8, [var_8h]");
    0x0000354c cmp r0, 0                                     |     
                                                             |     if (r0 == 0) {
    0x0000354e beq 0x362e                                    |         goto label_17;
                                                             |     }
    0x00003550 ldr r1, [pc, 0x2b8]                           |     
    0x00003552 mov r0, r5                                    |     r0 = r5;
    0x00003554 add r1, pc                                    |     r1 = 0x6d64;
    0x00003556 blx 0x1f5c                                    |     r0 = fcn_00001f5c ();
    0x0000355a cmp r0, 0                                     |     
                                                             |     if (r0 != 0) {
    0x0000355c bne.w 0x3674                                  |         goto label_18;
                                                             |     }
    0x00003560 ldr r1, [pc, 0x2ac]                           |     
    0x00003562 mov r0, r4                                    |     r0 = r4;
    0x00003564 add r1, pc                                    |     r1 = 0x6d78;
    0x00003566 blx 0x1f5c                                    |     r0 = fcn_00001f5c ();
    0x0000356a cmp r0, 0                                     |     
                                                             |     if (r0 != 0) {
    0x0000356c bne 0x35ec                                    |         goto label_19;
                                                             |     }
    0x0000356e ldr r1, [pc, 0x2a4]                           |     
    0x00003570 mov r0, r7                                    |     r0 = r7;
    0x00003572 add r1, pc                                    |     r1 = 0x6d8c;
    0x00003574 blx 0x1f5c                                    |     r0 = fcn_00001f5c ();
    0x00003578 cmp r0, 0                                     |     
                                                             |     if (r0 == 0) {
    0x0000357a beq 0x3646                                    |         goto label_20;
                                                             |     }
    0x0000357c ldr r1, [pc, 0x298]                           |     
    0x0000357e mov r0, r7                                    |     r0 = r7;
    0x00003580 add r1, pc                                    |     r1 = 0x6d9c;
    0x00003582 blx 0x1f5c                                    |     r0 = fcn_00001f5c ();
    0x00003586 cmp r0, 0                                     |     
                                                             |     if (r0 == 0) {
    0x00003588 beq.w 0x36a0                                  |         goto label_21;
                                                             |     }
    0x0000358c ldr r1, [pc, 0x28c]                           |     
    0x0000358e mov r0, r7                                    |     r0 = r7;
    0x00003590 add r1, pc                                    |     r1 = 0x6db0;
    0x00003592 blx 0x1f5c                                    |     r0 = fcn_00001f5c ();
    0x00003596 cmp r0, 0                                     |     
                                                             |     if (r0 == 0) {
    0x00003598 beq.w 0x369e                                  |         goto label_22;
                                                             |     }
    0x0000359c ldr r1, [pc, 0x280]                           |     
    0x0000359e mov r0, r7                                    |     r0 = r7;
    0x000035a0 add r1, pc                                    |     r1 = 0x6dc4;
    0x000035a2 blx 0x1f5c                                    |     r0 = fcn_00001f5c ();
    0x000035a6 cmp r0, 0                                     |     
                                                             |     if (r0 != 0) {
    0x000035a8 bne.w 0x3768                                  |         goto label_23;
                                                             |     }
    0x000035ac bl 0x7f58                                     |     r0 = fcn_00007f58 ();
    0x000035b0 cmp r0, 0                                     |     
                                                             |     if (r0 == 0) {
    0x000035b2 beq.w 0x3762                                  |         goto label_7;
                                                             |     }
    0x000035b6 cmp r0, 1                                     |     
                                                             |     if (r0 == 1) {
    0x000035b8 beq.w 0x3762                                  |         goto label_7;
                                                             |     }
    0x000035bc ldr r0, [pc, 0x264]                           |     
    0x000035be add r0, pc                                    |     r0 = 0x6de6;
    0x000035c0 blx 0x1be0                                    |     g_strdup_printf ()
    0x000035c4 str r0, [sp, 8]                               |     var_8h = r0;
                                                             |     do {
                                                             | label_4:
    0x000035c6 blx 0x19c4                                    |         g_dbus_error_quark ();
    0x000035ca ldr r4, [sp, 8]                               |         r4 = var_8h;
    0x000035cc mov r1, r0                                    |         r1 = r0;
    0x000035ce cmp r4, 0                                     |         
                                                             |         if (r4 == 0) {
    0x000035d0 beq.w 0x3722                                  |             goto label_24;
                                                             |         }
                                                             | label_3:
    0x000035d4 ldr r3, [pc, 0x250]                           |         
    0x000035d6 mov r0, r6                                    |         r0 = r6;
    0x000035d8 movs r2, 0                                    |         r2 = 0;
    0x000035da str r4, [sp]                                  |         *(sp) = r4;
    0x000035dc add r3, pc                                    |         r3 = 0x6e08;
    0x000035de blx 0x1efc                                    |         fcn_00001efc ();
    0x000035e2 ldr r0, [sp, 8]                               |         r0 = var_8h;
    0x000035e4 blx 0x1d44                                    |         fcn_00001d44 ();
                                                             | label_2:
    0x000035e8 movs r0, 0                                    |         r0 = 0;
    0x000035ea b 0x3612                                      |         goto label_25;
                                                             | label_19:
    0x000035ec ldr r1, [pc, 0x23c]                           |         
    0x000035ee mov r0, r4                                    |         r0 = r4;
    0x000035f0 add r1, pc                                    |         r1 = 0x6e20;
    0x000035f2 blx 0x1f5c                                    |         r0 = fcn_00001f5c ();
                                                             |         if (r0 != 0) {
    0x000035f6 cbnz r0, 0x3650                               |             goto label_26;
                                                             |         }
    0x000035f8 ldr r1, [pc, 0x234]                           |         
    0x000035fa mov r0, r7                                    |         r0 = r7;
    0x000035fc add r1, pc                                    |         r1 = 0x6e30;
    0x000035fe blx 0x1f5c                                    |         r0 = fcn_00001f5c ();
    0x00003602 cmp r0, 0                                     |         
                                                             |         if (r0 != 0) {
    0x00003604 bne 0x36a6                                    |             goto label_27;
                                                             |         }
    0x00003606 bl 0x7f10                                     |         fcn_00007f10 ();
                                                             | label_5:
    0x0000360a blx 0x1a78                                    |         r0 = g_variant_new_boolean ();
                                                             | label_1:
    0x0000360e cmp r0, 0                                     |         
    0x00003610 beq 0x35c6                                    |         
                                                             |     } while (r0 == 0);
                                                             | label_25:
    0x00003612 ldr r2, [pc, 0x220]                           |     
    0x00003614 ldr r3, [pc, 0x1f0]                           |     r3 = *(0x3808);
    0x00003616 add r2, pc                                    |     r2 = 0x6e50;
    0x00003618 ldr r3, [r2, r3]                              |     r3 = *(0x6e50);
    0x0000361a ldr r2, [r3]                                  |     r2 = *(0x6e50);
    0x0000361c ldr r3, [sp, 0x4c]                            |     r3 = var_4ch;
    0x0000361e eors r2, r3                                   |     r2 ^= r3;
    0x00003620 mov.w r3, 0                                   |     r3 = 0;
                                                             |     if (r2 != r3) {
    0x00003624 bne.w 0x37fa                                  |         goto label_28;
                                                             |     }
    0x00003628 add sp, 0x50                                  |     
    0x0000362a pop.w {r4, r5, r6, r7, r8, pc}                |     
                                                             | label_17:
    0x0000362e ldr r3, [pc, 0x208]                           |     
    0x00003630 movw r2, 0x25f                                |     r2 = 0x25f;
    0x00003634 ldr r4, [pc, 0x204]                           |     
    0x00003636 ldr r1, [pc, 0x208]                           |     
    0x00003638 add r3, pc                                    |     r3 = 0x6e76;
    0x0000363a add r4, pc                                    |     r4 = 0x6e7a;
    0x0000363c adds r3, 0x58                                 |     r3 += 0x58;
    0x0000363e add r1, pc                                    |     r1 = 0x6e84;
    0x00003640 str r4, [sp]                                  |     *(sp) = r4;
    0x00003642 blx 0x1ed8                                    |     fcn_00001ed8 ();
                                                             | label_20:
    0x00003646 bl 0x7f04                                     |     fcn_00007f04 ();
    0x0000364a blx 0x1a78                                    |     g_variant_new_boolean ();
    0x0000364e b 0x360e                                      |     goto label_1;
                                                             | label_26:
    0x00003650 ldr r1, [pc, 0x1f0]                           |     
    0x00003652 mov r0, r4                                    |     r0 = r4;
    0x00003654 add r1, pc                                    |     r1 = 0x6e9c;
    0x00003656 blx 0x1f5c                                    |     r0 = fcn_00001f5c ();
    0x0000365a cmp r0, 0                                     |     
                                                             |     if (r0 != 0) {
    0x0000365c bne 0x3728                                    |         goto label_29;
                                                             |     }
    0x0000365e ldr r1, [pc, 0x1e8]                           |     
    0x00003660 mov r0, r7                                    |     r0 = r7;
    0x00003662 add r1, pc                                    |     r1 = 0x6eb0;
    0x00003664 blx 0x1f5c                                    |     r0 = fcn_00001f5c ();
                                                             |     if (r0 == 0) {
    0x00003668 cbnz r0, 0x36cc                               |         
    0x0000366a bl 0x7f98                                     |         fcn_00007f98 ();
    0x0000366e blx 0x1a78                                    |         g_variant_new_boolean ();
    0x00003672 b 0x360e                                      |         goto label_1;
                                                             | label_18:
    0x00003674 ldr r3, [pc, 0x1d4]                           |         
    0x00003676 mov r0, r8                                    |         r0 = r8;
    0x00003678 ldr r2, [pc, 0x1d4]                           |         
    0x0000367a mov.w r1, 0x100                               |         r1 = 0x100;
    0x0000367e str r5, [sp]                                  |         *(sp) = r5;
    0x00003680 add r3, pc                                    |         r3 = 0x6ed0;
    0x00003682 add r2, pc                                    |         r2 = 0x6ed6;
    0x00003684 blx 0x1b00                                    |         fcn_00001b00 ();
    0x00003688 blx 0x19c4                                    |         g_dbus_error_quark ();
    0x0000368c ldr r3, [pc, 0x1c4]                           |         
    0x0000368e mov r1, r0                                    |         r1 = r0;
    0x00003690 movs r2, 0x29                                 |         r2 = 0x29;
    0x00003692 mov r0, r6                                    |         r0 = r6;
    0x00003694 str r5, [sp]                                  |         *(sp) = r5;
    0x00003696 add r3, pc                                    |         r3 = 0x6eee;
    0x00003698 blx 0x1efc                                    |         fcn_00001efc ();
    0x0000369c b 0x35e8                                      |         goto label_2;
                                                             | label_22:
    0x0000369e movs r0, 1                                    |         r0 = 1;
                                                             | label_21:
    0x000036a0 bl 0x3484                                     |         fcn_00003484 (r0, r1, r2);
    0x000036a4 b 0x360e                                      |         goto label_1;
                                                             | label_27:
    0x000036a6 ldr r1, [pc, 0x1b0]                           |         
    0x000036a8 mov r0, r7                                    |         r0 = r7;
    0x000036aa add r1, pc                                    |         r1 = 0x6f08;
    0x000036ac blx 0x1f5c                                    |         r0 = fcn_00001f5c ();
    0x000036b0 cmp r0, 0                                     |         
                                                             |         if (r0 == 0) {
    0x000036b2 beq 0x373e                                    |             goto label_30;
                                                             |         }
    0x000036b4 ldr r1, [pc, 0x1a4]                           |         
    0x000036b6 mov r0, r7                                    |         r0 = r7;
    0x000036b8 add r1, pc                                    |         r1 = 0x6f18;
    0x000036ba blx 0x1f5c                                    |         r0 = fcn_00001f5c ();
    0x000036be cmp r0, 0                                     |         
                                                             |         if (r0 != 0) {
    0x000036c0 bne 0x3752                                    |             goto label_31;
                                                             |         }
    0x000036c2 bl 0x7f70                                     |         fcn_00007f70 ();
    0x000036c6 blx 0x1a54                                    |         g_variant_new_uint32 ();
    0x000036ca b 0x360e                                      |         goto label_1;
                                                             |     }
    0x000036cc ldr r1, [pc, 0x190]                           |     
    0x000036ce mov r0, r7                                    |     r0 = r7;
    0x000036d0 add r1, pc                                    |     r1 = 0x6f34;
    0x000036d2 blx 0x1f5c                                    |     r0 = fcn_00001f5c ();
    0x000036d6 cmp r0, 0                                     |     
                                                             |     if (r0 == 0) {
    0x000036d8 beq 0x3748                                    |         goto label_32;
                                                             |     }
    0x000036da ldr r1, [pc, 0x188]                           |     
    0x000036dc mov r0, r7                                    |     r0 = r7;
    0x000036de add r1, pc                                    |     r1 = 0x6f48;
    0x000036e0 blx 0x1f5c                                    |     r0 = fcn_00001f5c ();
    0x000036e4 cmp r0, 0                                     |     
                                                             |     if (r0 != 0) {
    0x000036e6 bne 0x37b4                                    |         goto label_33;
                                                             |     }
    0x000036e8 bl 0x7f4c                                     |     fcn_00007f4c ();
    0x000036ec ldr r1, [pc, 0x178]                           |     
    0x000036ee mov r4, r0                                    |     r4 = r0;
    0x000036f0 add r5, sp, 0xc                               |     r5 += var_ch_2;
    0x000036f2 mov r0, r5                                    |     r0 = r5;
    0x000036f4 add r1, pc                                    |     r1 = 0x6f60;
    0x000036f6 blx 0x1c70                                    |     clock_gettime ();
    0x000036fa cmp r4, 0                                     |     
                                                             |     if (r4 == 0) {
    0x000036fc beq 0x37a4                                    |         goto label_34;
                                                             |     }
    0x000036fe ldr r2, [r4]                                  |     r2 = *(r4);
    0x00003700 cmp r2, 0                                     |     
                                                             |     if (r2 == 0) {
    0x00003702 beq 0x37a4                                    |         goto label_34;
                                                             |     }
    0x00003704 ldr r7, [pc, 0x164]                           |     
    0x00003706 add r7, pc                                    |     r7 = 0x6f76;
                                                             |     do {
    0x00003708 mov r1, r7                                    |         r1 = r7;
    0x0000370a mov r0, r5                                    |         r0 = r5;
    0x0000370c blx 0x1ee4                                    |         fcn_00001ee4 ();
    0x00003710 ldr r4, [r4, 4]                               |         r4 = *((r4 + 4));
                                                             |         if (r4 == 0) {
    0x00003712 cbz r4, 0x371a                                |             goto label_6;
                                                             |         }
    0x00003714 ldr r2, [r4]                                  |         r2 = *(r4);
    0x00003716 cmp r2, 0                                     |         
    0x00003718 bne 0x3708                                    |         
                                                             |     } while (r2 != 0);
                                                             | label_6:
    0x0000371a mov r0, r5                                    |     r0 = r5;
    0x0000371c blx 0x1a90                                    |     g_variant_builder_end ();
    0x00003720 b 0x360e                                      |     goto label_1;
                                                             | label_24:
    0x00003722 ldr r4, [pc, 0x14c]                           |     
    0x00003724 add r4, pc                                    |     r4 = 0x6f9a;
    0x00003726 b 0x35d4                                      |     goto label_3;
                                                             | label_29:
    0x00003728 blx 0x19c4                                    |     g_dbus_error_quark ();
    0x0000372c ldr r3, [pc, 0x144]                           |     
    0x0000372e mov r1, r0                                    |     r1 = r0;
    0x00003730 movs r2, 0x2a                                 |     r2 = 0x2a;
    0x00003732 mov r0, r6                                    |     r0 = r6;
    0x00003734 str r4, [sp]                                  |     *(sp) = r4;
    0x00003736 add r3, pc                                    |     r3 = 0x6fae;
    0x00003738 blx 0x1efc                                    |     fcn_00001efc ();
    0x0000373c b 0x35c6                                      |     goto label_4;
                                                             | label_30:
    0x0000373e bl 0x7f64                                     |     fcn_00007f64 ();
    0x00003742 blx 0x1a78                                    |     g_variant_new_boolean ();
    0x00003746 b 0x360e                                      |     goto label_1;
                                                             | label_32:
    0x00003748 bl 0x7f1c                                     |     fcn_00007f1c ();
    0x0000374c blx 0x1a78                                    |     g_variant_new_boolean ();
    0x00003750 b 0x360e                                      |     goto label_1;
                                                             | label_31:
    0x00003752 ldr r1, [pc, 0x124]                           |     
    0x00003754 mov r0, r7                                    |     r0 = r7;
    0x00003756 add r1, pc                                    |     r1 = 0x6fd4;
    0x00003758 blx 0x1f5c                                    |     r0 = fcn_00001f5c ();
                                                             |     if (r0 != 0) {
    0x0000375c cbnz r0, 0x37c2                               |         goto label_35;
                                                             |     }
    0x0000375e bl 0x7f7c                                     |     fcn_00007f7c ();
                                                             | label_7:
    0x00003762 blx 0x1a54                                    |     g_variant_new_uint32 ();
    0x00003766 b 0x360e                                      |     goto label_1;
                                                             | label_23:
    0x00003768 ldr r1, [pc, 0x110]                           |     
    0x0000376a mov r0, r7                                    |     r0 = r7;
    0x0000376c add r1, pc                                    |     r1 = 0x6fec;
    0x0000376e blx 0x1f5c                                    |     r0 = fcn_00001f5c ();
                                                             |     if (r0 != 0) {
    0x00003772 cbnz r0, 0x3784                               |         goto label_36;
                                                             |     }
    0x00003774 add r0, sp, 8                                 |     r0 += var_8h;
    0x00003776 bl 0x7f88                                     |     fcn_00007f88 ();
    0x0000377a ldr r3, [sp, 8]                               |     r3 = var_8h;
    0x0000377c cmp r3, 0                                     |     
                                                             |     if (r3 != 0) {
    0x0000377e bne.w 0x35c6                                  |         goto label_4;
                                                             |     }
    0x00003782 b 0x360a                                      |     goto label_5;
                                                             | label_36:
    0x00003784 ldr r1, [pc, 0xf8]                            |     
    0x00003786 mov r0, r7                                    |     r0 = r7;
    0x00003788 add r1, pc                                    |     r1 = 0x700c;
    0x0000378a blx 0x1f5c                                    |     r0 = fcn_00001f5c ();
                                                             |     if (r0 != 0) {
    0x0000378e cbnz r0, 0x37d0                               |         goto label_37;
                                                             |     }
    0x00003790 add r0, sp, 8                                 |     r0 += var_8h;
    0x00003792 bl 0x7f8c                                     |     fcn_00007f8c (r0);
    0x00003796 ldr r3, [sp, 8]                               |     r3 = var_8h;
    0x00003798 cmp r3, 0                                     |     
                                                             |     if (r3 != 0) {
    0x0000379a bne.w 0x35c6                                  |         goto label_4;
                                                             |     }
    0x0000379e blx 0x1de8                                    |     fcn_00001de8 ();
    0x000037a2 b 0x360e                                      |     goto label_1;
                                                             | label_34:
    0x000037a4 ldr r2, [pc, 0xdc]                            |     
    0x000037a6 mov r0, r5                                    |     r0 = r5;
    0x000037a8 ldr r1, [pc, 0xdc]                            |     
    0x000037aa add r2, pc                                    |     r2 = 0x7032;
    0x000037ac add r1, pc                                    |     r1 = 0x7038;
    0x000037ae blx 0x1ee4                                    |     fcn_00001ee4 ();
    0x000037b2 b 0x371a                                      |     goto label_6;
                                                             | label_33:
    0x000037b4 ldr r0, [pc, 0xd4]                            |     
    0x000037b6 mov r1, r7                                    |     r1 = r7;
    0x000037b8 add r0, pc                                    |     r0 = 0x7048;
    0x000037ba blx 0x1c04                                    |     g_list_remove ();
    0x000037be str r0, [sp, 8]                               |     var_8h = r0;
    0x000037c0 b 0x35c6                                      |     goto label_4;
                                                             | label_35:
    0x000037c2 ldr r0, [pc, 0xcc]                            |     
    0x000037c4 mov r1, r7                                    |     r1 = r7;
    0x000037c6 add r0, pc                                    |     r0 = 0x705c;
    0x000037c8 blx 0x1c04                                    |     g_list_remove ();
    0x000037cc str r0, [sp, 8]                               |     var_8h = r0;
    0x000037ce b 0x35c6                                      |     goto label_4;
                                                             | label_37:
    0x000037d0 ldr r1, [pc, 0xc0]                            |     
    0x000037d2 mov r0, r7                                    |     r0 = r7;
    0x000037d4 add r1, pc                                    |     r1 = 0x706c;
    0x000037d6 blx 0x1f5c                                    |     r0 = fcn_00001f5c ();
                                                             |     if (r0 != 0) {
    0x000037da cbnz r0, 0x37ec                               |         goto label_38;
                                                             |     }
    0x000037dc add r0, sp, 8                                 |     r0 += var_8h;
    0x000037de bl 0x7f94                                     |     fcn_00007f94 (r0);
    0x000037e2 ldr r3, [sp, 8]                               |     r3 = var_8h;
    0x000037e4 cmp r3, 0                                     |     
                                                             |     if (r3 != 0) {
    0x000037e6 bne.w 0x35c6                                  |         goto label_4;
                                                             |     }
    0x000037ea b 0x3762                                      |     goto label_7;
                                                             | label_38:
    0x000037ec ldr r0, [pc, 0xa8]                            |     
    0x000037ee mov r1, r7                                    |     r1 = r7;
    0x000037f0 add r0, pc                                    |     r0 = 0x708c;
    0x000037f2 blx 0x1c04                                    |     g_list_remove ();
    0x000037f6 str r0, [sp, 8]                               |     var_8h = r0;
    0x000037f8 b 0x35c6                                      |     goto label_4;
                                                             | label_28:
    0x000037fa blx 0x1d1c                                    |     fcn_00001d1c ();
    0x000037fe nop                                           |     
                                                             |     if (r4 == 0) {
    0x00003800 cbnz r4, 0x3856                               |         
    0x00003802 movs r0, r0                                   |         
    0x00003804 invalid                                       |         
                                                             |     }
    0x00003856 movs r0, r0                                   |     
    0x00003858 strb r2, [r0, r5]                             |     *((r0 + r5)) = r2;
    0x0000385a movs r0, r0                                   |     
    0x0000385c strb r4, [r1, r5]                             |     *((r1 + r5)) = r4;
    0x0000385e movs r0, r0                                   |     
    0x00003860 ldrsb r0, [r3, r1]                            |     r0 = *((r3 + r1));
    0x00003862 movs r0, r0                                   |     
    0x00003864 ldrsb r6, [r2, r1]                            |     r6 = *((r2 + r1));
    0x00003866 movs r0, r0                                   |     
    0x00003868 strh r4, [r3, r0]                             |     *((r3 + r0)) = r4;
    0x0000386a movs r0, r0                                   |     
    0x0000386c ldr r7, [sp, 0x78]                            |     r7 = var_78h;
    0x0000386e movs r0, r0                                   |     
    0x00003870 strb r0, [r5, r4]                             |     *((r5 + r4)) = r0;
    0x00003872 movs r0, r0                                   |     
    0x00003874 ldrsb r2, [r2, r0]                            |     r2 = *((r2 + r0));
    0x00003876 movs r0, r0                                   |     
    0x00003878 strb r6, [r0, r3]                             |     *((r0 + r3)) = r6;
    0x0000387a movs r0, r0                                   |     
    0x0000387c strb r4, [r2, r5]                             |     *((r2 + r5)) = r4;
    0x0000387e movs r0, r0                                   |     
    0x00003880 strb r0, [r0, r5]                             |     *((r0 + r5)) = r0;
    0x00003882 movs r0, r0                                   |     
    0x00003884 ldr r5, [sp, 0xd8]                            |     r5 = *(arg_d8h);
    0x00003886 movs r0, r0                                   |     
    0x00003888 ldr r6, [sp, 0x1e0]                           |     r6 = *(arg_1e0h);
    0x0000388a movs r0, r0                                   |     
    0x0000388c strb r4, [r5, r4]                             |     *((r5 + r4)) = r4;
    0x0000388e movs r0, r0                                   |     
    0x00003890 strb r6, [r3, r4]                             |     *((r3 + r4)) = r6;
    0x00003892 movs r0, r0                                   |     
    0x00003894 strb r0, [r0, r4]                             |     *((r0 + r4)) = r0;
    0x00003896 movs r0, r0                                   |     
    0x00003898 strb r4, [r6, r3]                             |     *((r6 + r3)) = r4;
    0x0000389a movs r0, r0                                   |     
    0x0000389c push.w {r4, r5, r6, r7, r8, sb, sl, lr}       |     
    0x000038a0 mov r5, r2                                    |     r5 = r2;
    0x000038a2 ldr.w r2, [pc, 0x5a4]                         |     
    0x000038a6 mov r4, r3                                    |     r4 = r3;
    0x000038a8 sub sp, 0x18                                  |     
    0x000038aa ldr.w r3, [pc, 0x5a0]                         |     r3 = *(0x3e4e);
    0x000038ae add r2, pc                                    |     r2 = 0x76fc;
    0x000038b0 ldrd r8, sl, [sp, 0x38]                       |     __asm ("ldrd r8, sl, [var_0h]");
    0x000038b4 ldr.w sb, [sp, 0x40]                          |     sb = var_8h;
    0x000038b8 ldr r3, [r2, r3]                              |     
    0x000038ba ldr r3, [r3]                                  |     r3 = *(0x76fc);
    0x000038bc str r3, [sp, 0x14]                            |     var_14h = r3;
    0x000038be mov.w r3, 0                                   |     r3 = 0;
    0x000038c2 ldr.w r3, [pc, 0x58c]                         |     
    0x000038c6 add r3, pc                                    |     r3 = 0x771c;
    0x000038c8 ldr r0, [r3]                                  |     r0 = *(0x771c);
    0x000038ca cmp r0, 0                                     |     
                                                             |     if (r0 == 0) {
    0x000038cc beq.w 0x3a20                                  |         goto label_39;
                                                             |     }
    0x000038d0 mov r7, r1                                    |     r7 = r1;
    0x000038d2 ldr.w r1, [pc, 0x580]                         |     
    0x000038d6 mov r0, r5                                    |     r0 = r5;
    0x000038d8 add r1, pc                                    |     r1 = 0x7732;
    0x000038da blx 0x1f5c                                    |     r0 = fcn_00001f5c ();
    0x000038de mov r6, r0                                    |     r6 = r0;
    0x000038e0 cmp r0, 0                                     |     
                                                             |     if (r0 != 0) {
    0x000038e2 bne 0x39d4                                    |         goto label_40;
                                                             |     }
    0x000038e4 ldr.w r1, [pc, 0x570]                         |     
    0x000038e8 mov r0, r4                                    |     r0 = r4;
    0x000038ea add r1, pc                                    |     r1 = 0x7746;
    0x000038ec blx 0x1f5c                                    |     r0 = fcn_00001f5c ();
    0x000038f0 mov r5, r0                                    |     r5 = r0;
    0x000038f2 cmp r0, 0                                     |     
                                                             |     if (r0 != 0) {
    0x000038f4 bne 0x397a                                    |         goto label_41;
                                                             |     }
    0x000038f6 mov r1, r4                                    |     r1 = r4;
    0x000038f8 mov r0, r7                                    |     r0 = r7;
    0x000038fa mov r2, r8                                    |     r2 = r8;
    0x000038fc bl 0x28e8                                     |     r0 = fcn_000028e8 (r0, r1, r2, r3);
    0x00003900 cmp r0, 0                                     |     
                                                             |     if (r0 == 0) {
    0x00003902 beq.w 0x3ab4                                  |         goto label_42;
                                                             |     }
    0x00003906 ldr.w r1, [pc, 0x554]                         |     
    0x0000390a mov r0, r8                                    |     r0 = r8;
    0x0000390c str r5, [sp, 8]                               |     var_8h_2 = r5;
    0x0000390e add r1, pc                                    |     r1 = 0x7770;
    0x00003910 blx 0x1f5c                                    |     r0 = fcn_00001f5c ();
    0x00003914 cmp r0, 0                                     |     
                                                             |     if (r0 != 0) {
    0x00003916 bne.w 0x3aec                                  |         goto label_43;
                                                             |     }
    0x0000391a bl 0x7360                                     |     fcn_00007360 ();
    0x0000391e ldr r0, [sp, 8]                               |     r0 = var_8h_2;
                                                             | label_9:
    0x00003920 cmp r0, 0                                     |     
                                                             |     if (r0 == 0) {
    0x00003922 beq.w 0x3ae2                                  |         goto label_44;
                                                             |     }
    0x00003926 ldr.w r3, [pc, 0x538]                         |     
    0x0000392a movs r1, 0x10                                 |     r1 = 0x10;
    0x0000392c ldr.w r2, [pc, 0x534]                         |     
    0x00003930 str r0, [sp]                                  |     *(sp) = r0;
    0x00003932 movs r0, 0                                    |     r0 = 0;
    0x00003934 add r3, pc                                    |     r3 = 0x779a;
    0x00003936 add r2, pc                                    |     r2 = 0x779e;
    0x00003938 blx 0x1b00                                    |     fcn_00001b00 ();
    0x0000393c blx 0x19c4                                    |     g_dbus_error_quark ();
    0x00003940 ldr.w r3, [pc, 0x524]                         |     
    0x00003944 mov r1, r0                                    |     r1 = r0;
    0x00003946 ldr r4, [sp, 8]                               |     r4 = var_8h_2;
    0x00003948 mov r0, sb                                    |     r0 = sb;
    0x0000394a add r3, pc                                    |     r3 = 0x77b6;
                                                             |     do {
    0x0000394c movs r2, 0x10                                 |         r2 = 0x10;
    0x0000394e str r4, [sp]                                  |         *(sp) = r4;
    0x00003950 blx 0x1da0                                    |         fcn_00001da0 ();
    0x00003954 ldr r0, [sp, 8]                               |         r0 = var_8h_2;
    0x00003956 blx 0x1d44                                    |         fcn_00001d44 ();
                                                             | label_8:
    0x0000395a ldr.w r2, [pc, 0x510]                         |         
    0x0000395e ldr.w r3, [pc, 0x4ec]                         |         r3 = *(0x3e4e);
    0x00003962 add r2, pc                                    |         r2 = 0x77d4;
    0x00003964 ldr r3, [r2, r3]                              |         r3 = *(0x77d4);
    0x00003966 ldr r2, [r3]                                  |         r2 = *(0x77d4);
    0x00003968 ldr r3, [sp, 0x14]                            |         r3 = var_14h;
    0x0000396a eors r2, r3                                   |         r2 ^= r3;
    0x0000396c mov.w r3, 0                                   |         r3 = 0;
                                                             |         if (r2 != r3) {
    0x00003970 bne.w 0x3e2e                                  |             goto label_45;
                                                             |         }
    0x00003974 add sp, 0x18                                  |         
    0x00003976 pop.w {r4, r5, r6, r7, r8, sb, sl, pc}        |         
                                                             | label_41:
    0x0000397a ldr.w r1, [pc, 0x4f4]                         |         
    0x0000397e mov r0, r4                                    |         r0 = r4;
    0x00003980 add r1, pc                                    |         r1 = 0x77f6;
    0x00003982 blx 0x1f5c                                    |         r0 = fcn_00001f5c ();
    0x00003986 mov r5, r0                                    |         r5 = r0;
    0x00003988 cmp r0, 0                                     |         
                                                             |         if (r0 != 0) {
    0x0000398a bne 0x3a3e                                    |             goto label_46;
                                                             |         }
    0x0000398c ldr.w r1, [pc, 0x4e4]                         |         
    0x00003990 str r0, [sp, 8]                               |         var_8h_2 = r0;
    0x00003992 mov r0, r8                                    |         r0 = r8;
    0x00003994 add r1, pc                                    |         r1 = 0x780c;
    0x00003996 blx 0x1f5c                                    |         r0 = fcn_00001f5c ();
    0x0000399a cmp r0, 0                                     |         
                                                             |         if (r0 != 0) {
    0x0000399c bne.w 0x3b62                                  |             goto label_47;
                                                             |         }
    0x000039a0 bl 0x7e08                                     |         fcn_00007e08 ();
    0x000039a4 ldr r0, [sp, 8]                               |         r0 = var_8h_2;
                                                             | label_10:
    0x000039a6 cmp r0, 0                                     |         
                                                             |         if (r0 == 0) {
    0x000039a8 beq.w 0x3ae2                                  |             goto label_44;
                                                             |         }
    0x000039ac ldr.w r3, [pc, 0x4c8]                         |         
    0x000039b0 movs r1, 0x10                                 |         r1 = 0x10;
    0x000039b2 ldr.w r2, [pc, 0x4c8]                         |         
    0x000039b6 str r0, [sp]                                  |         *(sp) = r0;
    0x000039b8 movs r0, 0                                    |         r0 = 0;
    0x000039ba add r3, pc                                    |         r3 = 0x7836;
    0x000039bc add r2, pc                                    |         r2 = 0x783e;
    0x000039be blx 0x1b00                                    |         fcn_00001b00 ();
    0x000039c2 blx 0x19c4                                    |         g_dbus_error_quark ();
    0x000039c6 ldr.w r3, [pc, 0x4b8]                         |         
    0x000039ca mov r1, r0                                    |         r1 = r0;
    0x000039cc ldr r4, [sp, 8]                               |         r4 = var_8h_2;
    0x000039ce mov r0, sb                                    |         r0 = sb;
    0x000039d0 add r3, pc                                    |         r3 = 0x7856;
    0x000039d2 b 0x394c                                      |         
                                                             |     } while (1);
                                                             | label_40:
    0x000039d4 ldr.w r3, [pc, 0x4ac]                         |     
    0x000039d8 mov.w r1, 0x100                               |     r1 = 0x100;
    0x000039dc ldr.w r2, [pc, 0x4a8]                         |     
    0x000039e0 movs r0, 0                                    |     r0 = 0;
    0x000039e2 str r5, [sp]                                  |     *(sp) = r5;
    0x000039e4 add r3, pc                                    |     r3 = 0x786c;
    0x000039e6 add r2, pc                                    |     r2 = 0x7872;
    0x000039e8 blx 0x1b00                                    |     fcn_00001b00 ();
    0x000039ec blx 0x19c4                                    |     g_dbus_error_quark ();
    0x000039f0 ldr.w r2, [pc, 0x498]                         |     
    0x000039f4 mov r1, r0                                    |     r1 = r0;
    0x000039f6 ldr.w r3, [pc, 0x454]                         |     r3 = *(0x3e4e);
    0x000039fa add r2, pc                                    |     r2 = 0x788a;
    0x000039fc ldr r3, [r2, r3]                              |     r3 = *(0x788a);
    0x000039fe ldr r2, [r3]                                  |     r2 = *(0x788a);
    0x00003a00 ldr r3, [sp, 0x14]                            |     r3 = var_14h;
    0x00003a02 eors r2, r3                                   |     r2 ^= r3;
    0x00003a04 mov.w r3, 0                                   |     r3 = 0;
                                                             |     if (r2 != r3) {
    0x00003a08 bne.w 0x3e2e                                  |         goto label_45;
                                                             |     }
    0x00003a0c ldr.w r3, [pc, 0x480]                         |     
    0x00003a10 movs r2, 0x29                                 |     r2 = 0x29;
    0x00003a12 add r3, pc                                    |     r3 = 0x78a6;
                                                             | label_11:
    0x00003a14 mov r0, sb                                    |     r0 = sb;
    0x00003a16 add sp, 0x18                                  |     
    0x00003a18 pop.w {r4, r5, r6, r7, r8, sb, sl, lr}        |     
    0x00003a1c b.w 0x1d9c                                    |     void (*0x1d9c)() ();
                                                             | label_39:
    0x00003a20 ldr.w r3, [pc, 0x470]                         |     
    0x00003a24 movw r2, 0x187                                |     r2 = 0x187;
    0x00003a28 ldr.w r4, [pc, 0x46c]                         |     
    0x00003a2c ldr.w r1, [pc, 0x46c]                         |     
    0x00003a30 add r3, pc                                    |     r3 = 0x78c8;
    0x00003a32 add r4, pc                                    |     r4 = 0x78ce;
    0x00003a34 adds r3, 0x74                                 |     r3 += 0x74;
    0x00003a36 add r1, pc                                    |     r1 = 0x78d6;
    0x00003a38 str r4, [sp]                                  |     *(sp) = r4;
    0x00003a3a blx 0x1ed8                                    |     fcn_00001ed8 ();
                                                             | label_46:
    0x00003a3e ldr.w r1, [pc, 0x460]                         |     
    0x00003a42 mov r0, r4                                    |     r0 = r4;
    0x00003a44 add r1, pc                                    |     r1 = 0x78ea;
    0x00003a46 blx 0x1f5c                                    |     r0 = fcn_00001f5c ();
    0x00003a4a mov r5, r0                                    |     r5 = r0;
    0x00003a4c cmp r0, 0                                     |     
                                                             |     if (r0 != 0) {
    0x00003a4e bne.w 0x3b84                                  |         goto label_48;
                                                             |     }
    0x00003a52 mov r1, r4                                    |     r1 = r4;
    0x00003a54 mov r0, r7                                    |     r0 = r7;
    0x00003a56 mov r2, r8                                    |     r2 = r8;
    0x00003a58 bl 0x28e8                                     |     r0 = fcn_000028e8 (r0, r1, r2, r3);
    0x00003a5c cmp r0, 0                                     |     
                                                             |     if (r0 == 0) {
    0x00003a5e beq.w 0x3bcc                                  |         goto label_49;
                                                             |     }
    0x00003a62 ldr.w r1, [pc, 0x440]                         |     
    0x00003a66 mov r0, r8                                    |     r0 = r8;
    0x00003a68 str r5, [sp, 0xc]                             |     var_ch = r5;
    0x00003a6a add r1, pc                                    |     r1 = 0x7914;
    0x00003a6c blx 0x1f5c                                    |     r0 = fcn_00001f5c ();
    0x00003a70 cmp r0, 0                                     |     
                                                             |     if (r0 != 0) {
    0x00003a72 bne.w 0x3c3a                                  |         goto label_50;
                                                             |     }
    0x00003a76 bl 0x74e4                                     |     fcn_000074e4 ();
                                                             | label_12:
    0x00003a7a ldr r0, [sp, 0xc]                             |     r0 = var_ch;
                                                             |     if (r0 != 0) {
    0x00003a7c cbz r0, 0x3ae2                                |         
    0x00003a7e ldr.w r3, [pc, 0x428]                         |         
    0x00003a82 movs r1, 0x10                                 |         r1 = 0x10;
    0x00003a84 ldr.w r2, [pc, 0x424]                         |         
    0x00003a88 str r0, [sp]                                  |         *(sp) = r0;
    0x00003a8a movs r0, 0                                    |         r0 = 0;
    0x00003a8c add r3, pc                                    |         r3 = 0x793a;
    0x00003a8e add r2, pc                                    |         r2 = 0x793e;
    0x00003a90 blx 0x1b00                                    |         fcn_00001b00 ();
    0x00003a94 blx 0x19c4                                    |         g_dbus_error_quark ();
    0x00003a98 ldr r4, [sp, 0xc]                             |         r4 = var_ch;
    0x00003a9a mov r1, r0                                    |         r1 = r0;
    0x00003a9c ldr.w r3, [pc, 0x410]                         |         
    0x00003aa0 mov r0, sb                                    |         r0 = sb;
    0x00003aa2 movs r2, 0x10                                 |         r2 = 0x10;
    0x00003aa4 str r4, [sp]                                  |         *(sp) = r4;
    0x00003aa6 add r3, pc                                    |         r3 = 0x795a;
    0x00003aa8 blx 0x1da0                                    |         fcn_00001da0 ();
    0x00003aac ldr r0, [sp, 0xc]                             |         r0 = var_ch;
    0x00003aae blx 0x1d44                                    |         fcn_00001d44 ();
    0x00003ab2 b 0x395a                                      |         goto label_8;
                                                             | label_42:
    0x00003ab4 blx 0x19c4                                    |         g_dbus_error_quark ();
    0x00003ab8 ldr r2, [pc, 0x3f8]                           |         
    0x00003aba mov r1, r0                                    |         r1 = r0;
    0x00003abc ldr r3, [pc, 0x38c]                           |         r3 = *(0x3e4c);
    0x00003abe add r2, pc                                    |         r2 = 0x7976;
    0x00003ac0 ldr r3, [r2, r3]                              |         r3 = *(0x7976);
    0x00003ac2 ldr r2, [r3]                                  |         r2 = *(0x7976);
    0x00003ac4 ldr r3, [sp, 0x14]                            |         r3 = var_14h;
    0x00003ac6 eors r2, r3                                   |         r2 ^= r3;
    0x00003ac8 mov.w r3, 0                                   |         r3 = 0;
                                                             |         if (r2 != r3) {
    0x00003acc bne.w 0x3e2e                                  |             goto label_45;
                                                             |         }
    0x00003ad0 ldr r3, [pc, 0x3e4]                           |         
    0x00003ad2 movs r2, 9                                    |         r2 = 9;
    0x00003ad4 mov r0, sb                                    |         r0 = sb;
    0x00003ad6 add r3, pc                                    |         r3 = 0x7992;
    0x00003ad8 add sp, 0x18                                  |         
    0x00003ada pop.w {r4, r5, r6, r7, r8, sb, sl, lr}        |         
    0x00003ade b.w 0x1d9c                                    |         void (*0x1d9c)() ();
                                                             |     }
                                                             | label_44:
    0x00003ae2 mov r1, r0                                    |     r1 = r0;
    0x00003ae4 mov r0, sb                                    |     r0 = sb;
    0x00003ae6 blx 0x1d6c                                    |     g_dbus_method_invocation_return_error ();
    0x00003aea b 0x395a                                      |     goto label_8;
                                                             | label_43:
    0x00003aec ldr r1, [pc, 0x3cc]                           |     
    0x00003aee mov r0, r8                                    |     r0 = r8;
    0x00003af0 add r1, pc                                    |     r1 = 0x79b0;
    0x00003af2 blx 0x1f5c                                    |     r0 = fcn_00001f5c ();
    0x00003af6 cmp r0, 0                                     |     
                                                             |     if (r0 == 0) {
    0x00003af8 beq 0x3bbc                                    |         goto label_51;
                                                             |     }
    0x00003afa ldr r1, [pc, 0x3c4]                           |     
    0x00003afc mov r0, r8                                    |     r0 = r8;
    0x00003afe add r1, pc                                    |     r1 = 0x79c4;
    0x00003b00 blx 0x1f5c                                    |     r0 = fcn_00001f5c ();
    0x00003b04 mov r6, r0                                    |     r6 = r0;
    0x00003b06 cmp r0, 0                                     |     
                                                             |     if (r0 != 0) {
    0x00003b08 bne 0x3bf0                                    |         goto label_52;
                                                             |     }
    0x00003b0a ldr r1, [pc, 0x3b8]                           |     
    0x00003b0c movs r2, 1                                    |     r2 = 1;
    0x00003b0e mov r0, sl                                    |     r0 = sl;
    0x00003b10 add r1, pc                                    |     r1 = 0x79da;
    0x00003b12 blx 0x1b68                                    |     r0 = g_dbus_connection_new_for_address ();
    0x00003b16 cmp r0, 0                                     |     
                                                             |     if (r0 == 0) {
    0x00003b18 beq.w 0x3cdc                                  |         goto label_53;
                                                             |     }
    0x00003b1c ldr r2, [pc, 0x3a8]                           |     
    0x00003b1e add r3, sp, 0xc                               |     r3 += var_ch;
    0x00003b20 ldr r7, [pc, 0x3a8]                           |     
    0x00003b22 mov r0, sl                                    |     r0 = sl;
    0x00003b24 mov r1, r6                                    |     r1 = r6;
    0x00003b26 str r6, [sp, 0xc]                             |     var_ch = r6;
    0x00003b28 add r2, pc                                    |     r2 = 0x79f4;
    0x00003b2a mov r4, r6                                    |     r4 = r6;
    0x00003b2c blx 0x1b18                                    |     fcn_00001b18 ();
    0x00003b30 add r7, pc                                    |     r7 = 0x7a00;
    0x00003b32 add r5, sp, 0x10                              |     r5 += var_10h;
    0x00003b34 str r6, [sp, 0x10]                            |     var_10h = r6;
    0x00003b36 b 0x3b42                                      |     
                                                             |     while (r0 != 0) {
    0x00003b38 mov r0, r4                                    |         r0 = r4;
    0x00003b3a ldr r1, [sp, 0x10]                            |         r1 = var_10h;
    0x00003b3c blx 0x1b44                                    |         r0 = g_variant_new_int32 ();
    0x00003b40 mov r4, r0                                    |         r4 = r0;
    0x00003b42 ldr r0, [sp, 0xc]                             |         r0 = var_ch;
    0x00003b44 mov r2, r5                                    |         r2 = r5;
    0x00003b46 mov r1, r7                                    |         r1 = r7;
    0x00003b48 blx 0x1ca0                                    |         r0 = net_device_switching_get_active_devices ();
    0x00003b4c cmp r0, 0                                     |         
    0x00003b4e bne 0x3b38                                    |         
                                                             |     }
    0x00003b50 ldr r0, [sp, 0xc]                             |     r0 = var_ch;
    0x00003b52 blx 0x19dc                                    |     g_variant_iter_free ();
    0x00003b56 add r1, sp, 8                                 |     r1 += var_8h_2;
    0x00003b58 mov r0, r4                                    |     r0 = r4;
    0x00003b5a bl 0x7784                                     |     fcn_00007784 (r0, r1);
    0x00003b5e ldr r0, [sp, 8]                               |     r0 = var_8h_2;
    0x00003b60 b 0x3920                                      |     goto label_9;
                                                             | label_47:
    0x00003b62 ldr r1, [pc, 0x36c]                           |     
    0x00003b64 mov r0, r8                                    |     r0 = r8;
    0x00003b66 add r1, pc                                    |     r1 = 0x7a3c;
    0x00003b68 blx 0x1f5c                                    |     r0 = fcn_00001f5c ();
                                                             |     if (r0 != 0) {
    0x00003b6c cbz r0, 0x3bc4                                |         
    0x00003b6e ldr r1, [pc, 0x364]                           |         
    0x00003b70 mov r0, r8                                    |         r0 = r8;
    0x00003b72 add r1, pc                                    |         r1 = 0x7a4c;
    0x00003b74 blx 0x1f5c                                    |         r0 = fcn_00001f5c ();
    0x00003b78 cmp r0, 0                                     |         
                                                             |         if (r0 != 0) {
    0x00003b7a bne 0x3c4c                                    |             goto label_54;
                                                             |         }
    0x00003b7c bl 0x75f4                                     |         fcn_000075f4 ();
    0x00003b80 ldr r0, [sp, 8]                               |         r0 = var_8h_2;
    0x00003b82 b 0x39a6                                      |         goto label_10;
                                                             | label_48:
    0x00003b84 ldr r3, [pc, 0x350]                           |         
    0x00003b86 mov.w r1, 0x100                               |         r1 = 0x100;
    0x00003b8a ldr r2, [pc, 0x350]                           |         
    0x00003b8c mov r0, r6                                    |         r0 = r6;
    0x00003b8e str r4, [sp]                                  |         *(sp) = r4;
    0x00003b90 add r3, pc                                    |         r3 = 0x7a6c;
    0x00003b92 add r2, pc                                    |         r2 = 0x7a74;
    0x00003b94 blx 0x1b00                                    |         fcn_00001b00 ();
    0x00003b98 blx 0x19c4                                    |         g_dbus_error_quark ();
    0x00003b9c ldr r2, [pc, 0x340]                           |         
    0x00003b9e mov r1, r0                                    |         r1 = r0;
    0x00003ba0 ldr r3, [pc, 0x2a8]                           |         r3 = *(0x3e4c);
    0x00003ba2 add r2, pc                                    |         r2 = 0x7a86;
    0x00003ba4 ldr r3, [r2, r3]                              |         r3 = *(0x7a86);
    0x00003ba6 ldr r2, [r3]                                  |         r2 = *(0x7a86);
    0x00003ba8 ldr r3, [sp, 0x14]                            |         r3 = var_14h;
    0x00003baa eors r2, r3                                   |         r2 ^= r3;
    0x00003bac mov.w r3, 0                                   |         r3 = 0;
                                                             |         if (r2 != r3) {
    0x00003bb0 bne.w 0x3e2e                                  |             goto label_45;
                                                             |         }
    0x00003bb4 ldr r3, [pc, 0x32c]                           |         
    0x00003bb6 movs r2, 0x2a                                 |         r2 = 0x2a;
    0x00003bb8 add r3, pc                                    |         r3 = 0x7aa0;
    0x00003bba b 0x3a14                                      |         goto label_11;
                                                             | label_51:
    0x00003bbc bl 0x7438                                     |         fcn_00007438 ();
    0x00003bc0 ldr r0, [sp, 8]                               |         r0 = var_8h_2;
    0x00003bc2 b 0x3920                                      |         goto label_9;
                                                             |     }
    0x00003bc4 bl 0x7e88                                     |     fcn_00007e88 ();
    0x00003bc8 ldr r0, [sp, 8]                               |     r0 = var_8h_2;
    0x00003bca b 0x39a6                                      |     goto label_10;
                                                             | label_49:
    0x00003bcc blx 0x19c4                                    |     g_dbus_error_quark ();
    0x00003bd0 ldr r2, [pc, 0x314]                           |     
    0x00003bd2 mov r1, r0                                    |     r1 = r0;
    0x00003bd4 ldr r3, [pc, 0x274]                           |     r3 = *(0x3e4c);
    0x00003bd6 add r2, pc                                    |     r2 = 0x7ac2;
    0x00003bd8 ldr r3, [r2, r3]                              |     r3 = *(0x7ac2);
    0x00003bda ldr r2, [r3]                                  |     r2 = *(0x7ac2);
    0x00003bdc ldr r3, [sp, 0x14]                            |     r3 = var_14h;
    0x00003bde eors r2, r3                                   |     r2 ^= r3;
    0x00003be0 mov.w r3, 0                                   |     r3 = 0;
                                                             |     if (r2 != r3) {
    0x00003be4 bne.w 0x3e2e                                  |         goto label_45;
                                                             |     }
    0x00003be8 ldr r3, [pc, 0x300]                           |     
    0x00003bea movs r2, 9                                    |     r2 = 9;
    0x00003bec add r3, pc                                    |     r3 = 0x7adc;
    0x00003bee b 0x3a14                                      |     goto label_11;
                                                             | label_52:
    0x00003bf0 ldr r1, [pc, 0x2fc]                           |     
    0x00003bf2 mov r0, r8                                    |     r0 = r8;
    0x00003bf4 add r1, pc                                    |     r1 = 0x7ae8;
    0x00003bf6 blx 0x1f5c                                    |     r0 = fcn_00001f5c ();
    0x00003bfa mov r4, r0                                    |     r4 = r0;
    0x00003bfc cmp r0, 0                                     |     
                                                             |     if (r0 != 0) {
    0x00003bfe bne 0x3cf0                                    |         goto label_55;
                                                             |     }
    0x00003c00 ldr r1, [pc, 0x2f0]                           |     
    0x00003c02 movs r2, 1                                    |     r2 = 1;
    0x00003c04 mov r0, sl                                    |     r0 = sl;
    0x00003c06 add r1, pc                                    |     r1 = 0x7afe;
    0x00003c08 blx 0x1b68                                    |     r0 = g_dbus_connection_new_for_address ();
    0x00003c0c cmp r0, 0                                     |     
                                                             |     if (r0 == 0) {
    0x00003c0e beq.w 0x3d2c                                  |         goto label_56;
                                                             |     }
    0x00003c12 ldr r2, [pc, 0x2e4]                           |     
    0x00003c14 mov r0, sl                                    |     r0 = sl;
    0x00003c16 add r3, sp, 0x10                              |     r3 += var_10h;
    0x00003c18 mov r1, r4                                    |     r1 = r4;
    0x00003c1a add r2, pc                                    |     r2 = 0x7b18;
    0x00003c1c blx 0x1b18                                    |     fcn_00001b18 ();
    0x00003c20 ldr r0, [sp, 0x10]                            |     r0 = var_10h;
    0x00003c22 cmp r0, 0                                     |     
                                                             |     if (r0 == 0) {
    0x00003c24 beq.w 0x3d40                                  |         goto label_57;
                                                             |     }
    0x00003c28 cmp r0, 1                                     |     
                                                             |     if (r0 == 1) {
    0x00003c2a beq.w 0x3d40                                  |         goto label_57;
                                                             |     }
    0x00003c2e ldr r0, [pc, 0x2cc]                           |     
    0x00003c30 add r0, pc                                    |     r0 = 0x7b32;
    0x00003c32 blx 0x1be0                                    |     g_strdup_printf ()
    0x00003c36 str r0, [sp, 8]                               |     var_8h_2 = r0;
    0x00003c38 b 0x3920                                      |     goto label_9;
                                                             | label_50:
    0x00003c3a ldr r1, [pc, 0x2c4]                           |     
    0x00003c3c mov r0, r8                                    |     r0 = r8;
    0x00003c3e add r1, pc                                    |     r1 = 0x7b44;
    0x00003c40 blx 0x1f5c                                    |     r0 = fcn_00001f5c ();
                                                             |     if (r0 == 0) {
    0x00003c44 cbnz r0, 0x3c60                               |         
    0x00003c46 bl 0x7570                                     |         fcn_00007570 ();
    0x00003c4a b 0x3a7a                                      |         goto label_12;
                                                             | label_54:
    0x00003c4c ldr r1, [pc, 0x2b4]                           |         
    0x00003c4e mov r0, r8                                    |         r0 = r8;
    0x00003c50 add r1, pc                                    |         r1 = 0x7b58;
    0x00003c52 blx 0x1f5c                                    |         r0 = fcn_00001f5c ();
                                                             |         if (r0 != 0) {
    0x00003c56 cbnz r0, 0x3c74                               |             goto label_58;
                                                             |         }
    0x00003c58 bl 0x7674                                     |         fcn_00007674 ();
    0x00003c5c ldr r0, [sp, 8]                               |         r0 = var_8h_2;
    0x00003c5e b 0x39a6                                      |         goto label_10;
                                                             |     }
    0x00003c60 ldr r1, [pc, 0x2a4]                           |     
    0x00003c62 mov r0, r8                                    |     r0 = r8;
    0x00003c64 add r1, pc                                    |     r1 = 0x7b70;
    0x00003c66 blx 0x1f5c                                    |     r0 = fcn_00001f5c ();
    0x00003c6a cmp r0, 0                                     |     
                                                             |     if (r0 != 0) {
    0x00003c6c bne 0x3d1a                                    |         goto label_59;
                                                             |     }
    0x00003c6e bl 0x7bcc                                     |     fcn_00007bcc ();
    0x00003c72 b 0x3a7a                                      |     goto label_12;
                                                             | label_58:
    0x00003c74 ldr r1, [pc, 0x294]                           |     
    0x00003c76 mov r0, r8                                    |     r0 = r8;
    0x00003c78 add r1, pc                                    |     r1 = 0x7b88;
    0x00003c7a blx 0x1f5c                                    |     r0 = fcn_00001f5c ();
    0x00003c7e cmp r0, 0                                     |     
                                                             |     if (r0 != 0) {
    0x00003c80 bne 0x3d4a                                    |         goto label_60;
                                                             |     }
    0x00003c82 ldr r1, [pc, 0x28c]                           |     
    0x00003c84 movs r2, 1                                    |     r2 = 1;
    0x00003c86 mov r0, sl                                    |     r0 = sl;
    0x00003c88 add r1, pc                                    |     r1 = 0x7b9e;
    0x00003c8a blx 0x1b68                                    |     r0 = g_dbus_connection_new_for_address ();
    0x00003c8e cmp r0, 0                                     |     
                                                             |     if (r0 == 0) {
    0x00003c90 beq.w 0x3da8                                  |         goto label_61;
                                                             |     }
    0x00003c94 ldr r2, [pc, 0x27c]                           |     
    0x00003c96 movs r7, 0                                    |     r7 = 0;
    0x00003c98 ldr r6, [pc, 0x27c]                           |     
    0x00003c9a add r3, sp, 0xc                               |     r3 += var_ch;
    0x00003c9c mov r0, sl                                    |     r0 = sl;
    0x00003c9e mov r1, r7                                    |     r1 = r7;
    0x00003ca0 add r2, pc                                    |     r2 = 0x7bb8;
    0x00003ca2 str r7, [sp, 0xc]                             |     var_ch = r7;
    0x00003ca4 add r6, pc                                    |     r6 = 0x7bc0;
    0x00003ca6 mov r4, r7                                    |     r4 = r7;
    0x00003ca8 blx 0x1b18                                    |     fcn_00001b18 ();
    0x00003cac add r5, sp, 0x10                              |     r5 += var_10h;
    0x00003cae str r7, [sp, 0x10]                            |     var_10h = r7;
    0x00003cb0 b 0x3cbc                                      |     
                                                             |     while (r0 != 0) {
    0x00003cb2 mov r0, r4                                    |         r0 = r4;
    0x00003cb4 ldr r1, [sp, 0x10]                            |         r1 = var_10h;
    0x00003cb6 blx 0x1b44                                    |         r0 = g_variant_new_int32 ();
    0x00003cba mov r4, r0                                    |         r4 = r0;
    0x00003cbc ldr r0, [sp, 0xc]                             |         r0 = var_ch;
    0x00003cbe mov r2, r5                                    |         r2 = r5;
    0x00003cc0 mov r1, r6                                    |         r1 = r6;
    0x00003cc2 blx 0x1ca0                                    |         r0 = net_device_switching_get_active_devices ();
    0x00003cc6 cmp r0, 0                                     |         
    0x00003cc8 bne 0x3cb2                                    |         
                                                             |     }
    0x00003cca ldr r0, [sp, 0xc]                             |     r0 = var_ch;
    0x00003ccc blx 0x19dc                                    |     g_variant_iter_free ();
    0x00003cd0 add r1, sp, 8                                 |     r1 += var_8h_2;
    0x00003cd2 mov r0, r4                                    |     r0 = r4;
    0x00003cd4 bl 0x7950                                     |     fcn_00007950 (r0, r1);
    0x00003cd8 ldr r0, [sp, 8]                               |     r0 = var_8h_2;
    0x00003cda b 0x39a6                                      |     goto label_10;
                                                             | label_53:
    0x00003cdc mov r0, sl                                    |     r0 = sl;
    0x00003cde blx 0x1aac                                    |     r0 = fcn_00001aac ();
    0x00003ce2 mov r1, r0                                    |     r1 = r0;
    0x00003ce4 ldr r0, [pc, 0x234]                           |     
    0x00003ce6 add r0, pc                                    |     r0 = 0x7c06;
    0x00003ce8 blx 0x1c04                                    |     g_list_remove ();
    0x00003cec str r0, [sp, 8]                               |     var_8h_2 = r0;
    0x00003cee b 0x3920                                      |     goto label_9;
                                                             | label_55:
    0x00003cf0 ldr r3, [pc, 0x22c]                           |     
    0x00003cf2 mov r0, r5                                    |     r0 = r5;
    0x00003cf4 ldr r2, [pc, 0x22c]                           |     
    0x00003cf6 mov.w r1, 0x100                               |     r1 = 0x100;
    0x00003cfa str.w r8, [sp]                                |     __asm ("str.w r8, [sp]");
    0x00003cfe add r3, pc                                    |     r3 = 0x7c22;
    0x00003d00 add r2, pc                                    |     r2 = 0x7c28;
    0x00003d02 blx 0x1b00                                    |     fcn_00001b00 ();
    0x00003d06 blx 0x19c4                                    |     g_dbus_error_quark ();
    0x00003d0a ldr r3, [pc, 0x21c]                           |     
    0x00003d0c mov r1, r0                                    |     r1 = r0;
    0x00003d0e movs r2, 0x13                                 |     r2 = 0x13;
    0x00003d10 mov r0, sb                                    |     r0 = sb;
    0x00003d12 add r3, pc                                    |     r3 = 0x7c40;
    0x00003d14 blx 0x1da0                                    |     fcn_00001da0 ();
    0x00003d16 strex r6, lr, [r4, 0x7c]                      |     __asm ("strex r6, lr, [r4, 0x7c]");
                                                             | label_59:
    0x00003d1a ldr r1, [pc, 0x210]                           |     
    0x00003d1c mov r0, r8                                    |     r0 = r8;
    0x00003d1e add r1, pc                                    |     r1 = 0x7c50;
    0x00003d20 blx 0x1f5c                                    |     r0 = fcn_00001f5c ();
                                                             |     if (r0 == 0) {
    0x00003d24 cbnz r0, 0x3d74                               |         
    0x00003d26 bl 0x7c48                                     |         fcn_00007c48 ();
    0x00003d2a b 0x3a7a                                      |         goto label_12;
                                                             | label_56:
    0x00003d2c mov r0, sl                                    |         r0 = sl;
    0x00003d2e blx 0x1aac                                    |         r0 = fcn_00001aac ();
    0x00003d32 mov r1, r0                                    |         r1 = r0;
    0x00003d34 ldr r0, [pc, 0x1f8]                           |         
    0x00003d36 add r0, pc                                    |         r0 = 0x7c6a;
    0x00003d38 blx 0x1c04                                    |         g_list_remove ();
    0x00003d3c str r0, [sp, 8]                               |         var_8h_2 = r0;
    0x00003d3e b 0x3920                                      |         goto label_9;
                                                             | label_57:
    0x00003d40 add r1, sp, 8                                 |         r1 += var_8h_2;
    0x00003d42 bl 0x7b00                                     |         fcn_00007b00 (r0, r1);
    0x00003d46 ldr r0, [sp, 8]                               |         r0 = var_8h_2;
    0x00003d48 b 0x3920                                      |         goto label_9;
                                                             | label_60:
    0x00003d4a ldr r3, [pc, 0x1e8]                           |         
    0x00003d4c mov r0, r5                                    |         r0 = r5;
    0x00003d4e ldr r2, [pc, 0x1e8]                           |         
    0x00003d50 mov.w r1, 0x100                               |         r1 = 0x100;
    0x00003d54 str.w r8, [sp]                                |         __asm ("str.w r8, [sp]");
    0x00003d58 add r3, pc                                    |         r3 = 0x7c92;
    0x00003d5a add r2, pc                                    |         r2 = 0x7c98;
    0x00003d5c blx 0x1b00                                    |         fcn_00001b00 ();
    0x00003d60 blx 0x19c4                                    |         g_dbus_error_quark ();
    0x00003d64 ldr r3, [pc, 0x1d4]                           |         
    0x00003d66 mov r1, r0                                    |         r1 = r0;
    0x00003d68 movs r2, 0x13                                 |         r2 = 0x13;
    0x00003d6a mov r0, sb                                    |         r0 = sb;
    0x00003d6c add r3, pc                                    |         r3 = 0x7cac;
    0x00003d6e blx 0x1da0                                    |         fcn_00001da0 ();
    0x00003d72 b 0x395a                                      |         goto label_8;
                                                             |     }
    0x00003d74 ldr r1, [pc, 0x1c8]                           |     
    0x00003d76 mov r0, r8                                    |     r0 = r8;
    0x00003d78 add r1, pc                                    |     r1 = 0x7cbc;
    0x00003d7a blx 0x1f5c                                    |     r0 = fcn_00001f5c ();
    0x00003d7e mov r4, r0                                    |     r4 = r0;
                                                             |     if (r0 == 0) {
    0x00003d80 cbnz r0, 0x3dbc                               |         
    0x00003d82 ldr r1, [pc, 0x1c0]                           |         
    0x00003d84 movs r2, 1                                    |         r2 = 1;
    0x00003d86 mov r0, sl                                    |         r0 = sl;
    0x00003d88 add r1, pc                                    |         r1 = 0x7cd2;
    0x00003d8a blx 0x1b68                                    |         r0 = g_dbus_connection_new_for_address ();
                                                             |         if (r0 == 0) {
    0x00003d8e cbz r0, 0x3df0                                |             goto label_62;
                                                             |         }
    0x00003d90 ldr r2, [pc, 0x1b4]                           |         
    0x00003d92 mov r1, r4                                    |         r1 = r4;
    0x00003d94 mov r0, sl                                    |         r0 = sl;
    0x00003d96 add r3, sp, 0x10                              |         r3 += var_10h;
    0x00003d98 add r2, pc                                    |         r2 = 0x7ce4;
    0x00003d9a blx 0x1b18                                    |         fcn_00001b18 ();
    0x00003d9e ldr r0, [sp, 0x10]                            |         r0 = var_10h;
    0x00003da0 add r1, sp, 0xc                               |         r1 += var_ch;
    0x00003da2 bl 0x7cc0                                     |         fcn_00007cc0 (r0, r1);
    0x00003da6 b 0x3a7a                                      |         goto label_12;
                                                             | label_61:
    0x00003da8 mov r0, sl                                    |         r0 = sl;
    0x00003daa blx 0x1aac                                    |         r0 = fcn_00001aac ();
    0x00003dae mov r1, r0                                    |         r1 = r0;
    0x00003db0 ldr r0, [pc, 0x198]                           |         
    0x00003db2 add r0, pc                                    |         r0 = 0x7d02;
    0x00003db4 blx 0x1c04                                    |         g_list_remove ();
    0x00003db8 str r0, [sp, 8]                               |         var_8h_2 = r0;
    0x00003dba b 0x39a6                                      |         goto label_10;
                                                             |     }
    0x00003dbc ldr r1, [pc, 0x190]                           |     
    0x00003dbe mov r0, r8                                    |     r0 = r8;
    0x00003dc0 add r1, pc                                    |     r1 = 0x7d14;
    0x00003dc2 blx 0x1f5c                                    |     r0 = fcn_00001f5c ();
    0x00003dc6 mov r4, r0                                    |     r4 = r0;
                                                             |     if (r0 == 0) {
    0x00003dc8 cbnz r0, 0x3e04                               |         
    0x00003dca ldr r1, [pc, 0x188]                           |         
    0x00003dcc movs r2, 1                                    |         r2 = 1;
    0x00003dce mov r0, sl                                    |         r0 = sl;
    0x00003dd0 add r1, pc                                    |         r1 = 0x7d2a;
    0x00003dd2 blx 0x1b68                                    |         r0 = g_dbus_connection_new_for_address ();
                                                             |         if (r0 == 0) {
    0x00003dd6 cbz r0, 0x3e32                                |             goto label_63;
                                                             |         }
    0x00003dd8 ldr r2, [pc, 0x17c]                           |         
    0x00003dda mov r1, r4                                    |         r1 = r4;
    0x00003ddc mov r0, sl                                    |         r0 = sl;
    0x00003dde add r3, sp, 0x10                              |         r3 += var_10h;
    0x00003de0 add r2, pc                                    |         r2 = 0x7d3c;
    0x00003de2 blx 0x1b18                                    |         fcn_00001b18 ();
    0x00003de6 ldr r0, [sp, 0x10]                            |         r0 = var_10h;
    0x00003de8 add r1, sp, 0xc                               |         r1 += var_ch;
    0x00003dea bl 0x7d64                                     |         fcn_00007d64 (r0, r1);
    0x00003dee b 0x3a7a                                      |         goto label_12;
                                                             | label_62:
    0x00003df0 mov r0, sl                                    |         r0 = sl;
    0x00003df2 blx 0x1aac                                    |         r0 = fcn_00001aac ();
    0x00003df6 mov r1, r0                                    |         r1 = r0;
    0x00003df8 ldr r0, [pc, 0x160]                           |         
    0x00003dfa add r0, pc                                    |         r0 = 0x7d5a;
    0x00003dfc blx 0x1c04                                    |         g_list_remove ();
    0x00003e00 str r0, [sp, 0xc]                             |         var_ch = r0;
    0x00003e02 b 0x3a7a                                      |         goto label_12;
                                                             |     }
    0x00003e04 ldr r3, [pc, 0x158]                           |     
    0x00003e06 mov.w r1, 0x100                               |     r1 = 0x100;
    0x00003e0a ldr r2, [pc, 0x158]                           |     
    0x00003e0c movs r0, 0                                    |     r0 = 0;
    0x00003e0e str.w r8, [sp]                                |     __asm ("str.w r8, [sp]");
    0x00003e12 add r3, pc                                    |     r3 = 0x7d76;
    0x00003e14 add r2, pc                                    |     r2 = 0x7d7e;
    0x00003e16 blx 0x1b00                                    |     fcn_00001b00 ();
    0x00003e1a blx 0x19c4                                    |     g_dbus_error_quark ();
    0x00003e1e ldr r3, [pc, 0x148]                           |     
    0x00003e20 mov r1, r0                                    |     r1 = r0;
    0x00003e22 movs r2, 0x13                                 |     r2 = 0x13;
    0x00003e24 mov r0, sb                                    |     r0 = sb;
    0x00003e26 add r3, pc                                    |     r3 = 0x7d94;
    0x00003e28 blx 0x1da0                                    |     fcn_00001da0 ();
    0x00003e2c b 0x395a                                      |     goto label_8;
                                                             | label_45:
    0x00003e2e blx 0x1d1c                                    |     fcn_00001d1c ();
                                                             | label_63:
    0x00003e32 mov r0, sl                                    |     r0 = sl;
    0x00003e34 blx 0x1aac                                    |     r0 = fcn_00001aac ();
    0x00003e38 mov r1, r0                                    |     r1 = r0;
    0x00003e3a ldr r0, [pc, 0x130]                           |     
    0x00003e3c add r0, pc                                    |     r0 = 0x7dae;
    0x00003e3e blx 0x1c04                                    |     g_list_remove ();
    0x00003e42 str r0, [sp, 0xc]                             |     var_ch = r0;
    0x00003e44 b 0x3a7a                                      |     goto label_12;
                                                             | }
    ; assembly                                                   | /* r2dec pseudo code output */
                                                                 | /* /logs/firmware/patool_extraction/rootfs.img_unblob_extracted/rootfs.img_extract/0-80367616.squashfs_v4_le_extract/usr/sbin/ntpconfd @ 0x401c */
                                                                 | #include <stdint.h>
                                                                 |  
    ; (fcn) fcn.0000401c ()                                      | void fcn_0000401c (int16_t arg_58h, int16_t arg_80h, int16_t arg_d0h, int16_t arg_178h, int16_t arg_198h, int16_t arg_190h, int16_t arg_1b8h, int16_t arg_300h, int16_t arg_338h, int16_t arg_368h, int16_t arg_3a0h, int16_t arg_3f0h, int16_t arg_3e8h) {
                                                                 |     int16_t var_4h_2;
                                                                 |     int16_t var_8h_2;
                                                                 |     int16_t var_ch_2;
                                                                 |     int16_t var_10h;
                                                                 |     int16_t var_14h;
                                                                 |     int16_t var_0h;
                                                                 |     int16_t var_4h;
                                                                 |     int16_t var_8h;
                                                                 |     int16_t var_ch;
    0x0000401c push.w {r4, r5, r6, r7, r8, sb, sl, lr}           |     
    0x00004020 movs r0, 0                                        |     r0 = 0;
    0x00004022 ldr r4, [pc, 0x1f0]                               |     
    0x00004024 sub sp, 0x10                                      |     
    0x00004026 ldr r2, [pc, 0x1f0]                               |     
    0x00004028 ldr r3, [pc, 0x1f0]                               |     r3 = *(0x421c);
    0x0000402a add r4, pc                                        |     r4 = 0x8244;
    0x0000402c ldr r6, [r4]                                      |     r6 = *(0x8244);
    0x0000402e add r2, pc                                        |     r2 = 0x824c;
    0x00004030 ldr r3, [r2, r3]                                  |     
    0x00004032 ldr r3, [r3]                                      |     r3 = *(0x824c);
    0x00004034 str r3, [sp, 0xc]                                 |     var_ch = r3;
    0x00004036 mov.w r3, 0                                       |     r3 = 0;
    0x0000403a str r0, [sp, 8]                                   |     var_8h = r0;
                                                                 |     if (r6 != 0) {
    0x0000403c cbz r6, 0x4056                                    |         
    0x0000403e ldr r3, [pc, 0x1e0]                               |         
    0x00004040 mov.w r2, 0x348                                   |         r2 = 0x348;
    0x00004044 ldr r4, [pc, 0x1dc]                               |         
    0x00004046 ldr r1, [pc, 0x1e0]                               |         
    0x00004048 add r3, pc                                        |         r3 = 0x826e;
    0x0000404a add r4, pc                                        |         r4 = 0x8272;
    0x0000404c adds r3, 0x8c                                     |         r3 += 0x8c;
    0x0000404e add r1, pc                                        |         r1 = 0x827c;
    0x00004050 str r4, [sp]                                      |         *(sp) = r4;
    0x00004052 blx 0x1ed8                                        |         fcn_00001ed8 ();
                                                                 |     }
    0x00004056 ldr.w r8, [pc, 0x1d4]                             |     
    0x0000405a movs r0, 0xc                                      |     r0 = 0xc;
    0x0000405c add r7, sp, 8                                     |     r7 += var_8h;
    0x0000405e blx 0x1ea8                                        |     fcn_00001ea8 ();
    0x00004062 add r8, pc                                        |     r8 = 0x8294;
    0x00004064 str r0, [r4]                                      |     *(r4) = r0;
    0x00004066 mov r1, r7                                        |     r1 = r7;
    0x00004068 mov r0, r8                                        |     r0 = r8;
    0x0000406a blx 0x1e6c                                        |     r0 = fcn_00001e6c ();
    0x0000406e mov r5, r0                                        |     r5 = r0;
    0x00004070 cmp r0, 0                                         |     
                                                                 |     if (r0 == 0) {
    0x00004072 beq.w 0x41ba                                      |         goto label_8;
                                                                 |     }
    0x00004076 ldr.w sl, [r4]                                    |     sl = *(r4);
    0x0000407a mov r1, r0                                        |     r1 = r0;
    0x0000407c ldr.w sb, [pc, 0x1b0]                             |     
    0x00004080 ldr.w r8, [pc, 0x1b0]                             |     
    0x00004084 ldr.w r0, [sl]                                    |     r0 = *(sl);
    0x00004088 blx 0x1b44                                        |     g_variant_new_int32 ();
    0x0000408c ldr r3, [r5, 8]                                   |     r3 = *((r5 + 8));
    0x0000408e add sb, pc                                        |     sb = 0x82c2;
    0x00004090 add r8, pc                                        |     r8 = 0x82c8;
    0x00004092 str.w r0, [sl]                                    |     __asm ("str.w r0, [sl]");
    0x00004096 mov r2, sb                                        |     r2 = sb;
    0x00004098 mov r0, r8                                        |     r0 = r8;
    0x0000409a ldr r1, [r3]                                      |     r1 = *(r3);
    0x0000409c strd r6, r6, [sp]                                 |     __asm ("strd r6, r6, [sp]");
    0x000040a0 ldr r3, [r4]                                      |     r3 = *(r4);
    0x000040a2 bl 0x27e8                                         |     r0 = fcn_000027e8 (r0, r1, r2, r3, r4, r5);
    0x000040a6 mov r1, r0                                        |     r1 = r0;
    0x000040a8 cmp r0, 0                                         |     
                                                                 |     if (r0 != 0) {
    0x000040aa beq 0x4172                                        |         
    0x000040ac ldr r5, [r4]                                      |         r5 = *(r4);
    0x000040ae ldr.w sl, [pc, 0x188]                             |         
    0x000040b2 ldr r0, [r5, 4]                                   |         r0 = *((r5 + 4));
    0x000040b4 add sl, pc                                        |         sl = 0x82f2;
    0x000040b6 blx 0x1b44                                        |         g_variant_new_int32 ();
    0x000040ba mov r1, r7                                        |         r1 = r7;
    0x000040bc str r0, [r5, 4]                                   |         *((r5 + 4)) = r0;
    0x000040be mov r0, sl                                        |         r0 = sl;
    0x000040c0 blx 0x1e6c                                        |         r0 = fcn_00001e6c ();
    0x000040c4 mov r5, r0                                        |         r5 = r0;
    0x000040c6 cmp r0, 0                                         |         
                                                                 |         if (r0 == 0) {
    0x000040c8 beq.w 0x41e0                                      |             goto label_9;
                                                                 |         }
    0x000040cc ldr.w sl, [r4]                                    |         sl = *(r4);
    0x000040d0 mov r1, r0                                        |         r1 = r0;
    0x000040d2 ldr.w r0, [sl]                                    |         r0 = *(sl);
    0x000040d6 blx 0x1b44                                        |         g_variant_new_int32 ();
    0x000040da ldr r3, [r5, 8]                                   |         r3 = *((r5 + 8));
    0x000040dc mov r2, sb                                        |         r2 = sb;
    0x000040de str.w r0, [sl]                                    |         __asm ("str.w r0, [sl]");
    0x000040e2 mov r0, r8                                        |         r0 = r8;
    0x000040e4 ldr r1, [r3]                                      |         r1 = *(r3);
    0x000040e6 strd r6, r6, [sp]                                 |         __asm ("strd r6, r6, [sp]");
    0x000040ea ldr r3, [r4]                                      |         r3 = *(r4);
    0x000040ec bl 0x27e8                                         |         r0 = fcn_000027e8 (r0, r1, r2, r3, r4, r5);
    0x000040f0 mov r1, r0                                        |         r1 = r0;
    0x000040f2 cmp r0, 0                                         |         
                                                                 |         if (r0 == 0) {
    0x000040f4 beq 0x4172                                        |             goto label_10;
                                                                 |         }
    0x000040f6 ldr r5, [r4]                                      |         r5 = *(r4);
    0x000040f8 ldr.w sl, [pc, 0x140]                             |         
    0x000040fc ldr r0, [r5, 4]                                   |         r0 = *((r5 + 4));
    0x000040fe add sl, pc                                        |         sl = 0x833e;
    0x00004100 blx 0x1b44                                        |         g_variant_new_int32 ();
    0x00004104 mov r1, r7                                        |         r1 = r7;
    0x00004106 str r0, [r5, 4]                                   |         *((r5 + 4)) = r0;
    0x00004108 mov r0, sl                                        |         r0 = sl;
    0x0000410a blx 0x1e6c                                        |         r0 = fcn_00001e6c ();
    0x0000410e mov r5, r0                                        |         r5 = r0;
    0x00004110 cmp r0, 0                                         |         
                                                                 |         if (r0 == 0) {
    0x00004112 beq 0x41f2                                        |             goto label_11;
                                                                 |         }
    0x00004114 ldr r7, [r4]                                      |         r7 = *(r4);
    0x00004116 mov r1, r0                                        |         r1 = r0;
    0x00004118 ldr r0, [r7]                                      |         r0 = *(r7);
    0x0000411a blx 0x1b44                                        |         g_variant_new_int32 ();
    0x0000411e ldr r3, [r5, 8]                                   |         r3 = *((r5 + 8));
    0x00004120 mov r2, sb                                        |         r2 = sb;
    0x00004122 str r0, [r7]                                      |         *(r7) = r0;
    0x00004124 mov r0, r8                                        |         r0 = r8;
    0x00004126 ldr r1, [r3]                                      |         r1 = *(r3);
    0x00004128 strd r6, r6, [sp]                                 |         __asm ("strd r6, r6, [sp]");
    0x0000412c ldr r3, [r4]                                      |         r3 = *(r4);
    0x0000412e bl 0x27e8                                         |         r0 = fcn_000027e8 (r0, r1, r2, r3, r4, r5);
    0x00004132 mov r1, r0                                        |         r1 = r0;
    0x00004134 cmp r0, 0                                         |         
                                                                 |         if (r0 == 0) {
    0x00004136 beq 0x41a4                                        |             goto label_12;
                                                                 |         }
    0x00004138 ldr r4, [r4]                                      |         r4 = *(r4);
    0x0000413a ldr r0, [r4, 4]                                   |         r0 = *((r4 + 4));
    0x0000413c blx 0x1b44                                        |         g_variant_new_int32 ();
    0x00004140 ldr r3, [pc, 0xfc]                                |         
    0x00004142 str r0, [r4, 4]                                   |         *((r4 + 4)) = r0;
    0x00004144 ldr r2, [pc, 0xfc]                                |         
    0x00004146 ldr r1, [pc, 0x100]                               |         
    0x00004148 add r3, pc                                        |         r3 = 0x838c;
    0x0000414a ldr r0, [pc, 0x100]                               |         
    0x0000414c add r2, pc                                        |         r2 = 0x8394;
    0x0000414e str r6, [sp]                                      |         *(sp) = r6;
    0x00004150 add r1, pc                                        |         r1 = 0x839e;
    0x00004152 add r0, pc                                        |         r0 = 0x83a4;
    0x00004154 bl 0x2b38                                         |         r0 = fcn_00002b38 (r0, r1, r2, r3);
    0x00004158 mov r4, r0                                        |         r4 = r0;
    0x0000415a cmp r0, 0                                         |         
                                                                 |         if (r0 == 0) {
    0x0000415c beq 0x41fe                                        |             goto label_13;
                                                                 |         }
                                                                 | label_2:
    0x0000415e ldr r3, [pc, 0xf0]                                |         
    0x00004160 ldr r0, [pc, 0xf0]                                |         
    0x00004162 add r3, pc                                        |         
    0x00004164 ldr r3, [r3]                                      |         r3 = *(0x83b8);
    0x00004166 add r0, pc                                        |         r0 = 0x83be;
    0x00004168 str r4, [r3, 8]                                   |         *((r3 + 8)) = r4;
    0x0000416a bl 0x6eb8                                         |         fcn_00006eb8 (r0);
    0x0000416e movs r0, 1                                        |         r0 = 1;
    0x00004170 b 0x418a                                          |         goto label_14;
                                                                 |     }
                                                                 | label_10:
    0x00004172 ldr r3, [pc, 0xe4]                                |     
    0x00004174 mov.w r1, 0x100                                   |     r1 = 0x100;
    0x00004178 ldr r2, [pc, 0xe0]                                |     
    0x0000417a movs r0, 0                                        |     r0 = 0;
    0x0000417c add r3, pc                                        |     r3 = 0x83da;
    0x0000417e add r2, pc                                        |     r2 = 0x83de;
    0x00004180 blx 0x1b00                                        |     fcn_00001b00 ();
    0x00004184 bl 0x3f70                                         |     fcn_00003f70 ();
                                                                 |     do {
                                                                 | label_0:
    0x00004188 movs r0, 0                                        |         r0 = 0;
                                                                 | label_14:
    0x0000418a ldr r2, [pc, 0xd4]                                |         
    0x0000418c ldr r3, [pc, 0x8c]                                |         r3 = *(0x421c);
    0x0000418e add r2, pc                                        |         r2 = 0x83f4;
    0x00004190 ldr r3, [r2, r3]                                  |         r3 = *(0x83f4);
    0x00004192 ldr r2, [r3]                                      |         r2 = *(0x83f4);
    0x00004194 ldr r3, [sp, 0xc]                                 |         r3 = var_ch;
    0x00004196 eors r2, r3                                       |         r2 ^= r3;
    0x00004198 mov.w r3, 0                                       |         r3 = 0;
                                                                 |         if (r2 != r3) {
    0x0000419c bne 0x4210                                        |             goto label_15;
                                                                 |         }
    0x0000419e add sp, 0x10                                      |         
    0x000041a0 pop.w {r4, r5, r6, r7, r8, sb, sl, pc}            |         
                                                                 | label_12:
    0x000041a4 ldr r3, [pc, 0xbc]                                |         
    0x000041a6 mov.w r1, 0x100                                   |         r1 = 0x100;
    0x000041aa ldr r2, [pc, 0xbc]                                |         
    0x000041ac add r3, pc                                        |         r3 = 0x8414;
    0x000041ae add r2, pc                                        |         r2 = 0x841c;
    0x000041b0 blx 0x1b00                                        |         fcn_00001b00 ();
    0x000041b4 bl 0x3f70                                         |         fcn_00003f70 ();
    0x000041b8 b 0x4188                                          |         
                                                                 |     } while (1);
                                                                 | label_8:
    0x000041ba ldr r3, [pc, 0xb0]                                |     
    0x000041bc ldr r2, [pc, 0xb0]                                |     
    0x000041be ldr r1, [sp, 8]                                   |     r1 = var_8h;
    0x000041c0 add r3, pc                                        |     r3 = 0x8432;
    0x000041c2 add r2, pc                                        |     r2 = 0x8436;
    0x000041c4 ldr r1, [r1, 8]                                   |     r1 = *((r1 + 8));
    0x000041c6 str.w r8, [sp]                                    |     __asm ("str.w r8, [sp]");
                                                                 |     do {
    0x000041ca str r1, [sp, 4]                                   |         var_4h = r1;
    0x000041cc mov.w r1, 0x100                                   |         r1 = 0x100;
    0x000041d0 blx 0x1b00                                        |         fcn_00001b00 ();
    0x000041d4 ldr r0, [sp, 8]                                   |         r0 = var_8h;
    0x000041d6 blx 0x1a60                                        |         g_error_free ();
    0x000041da bl 0x3f70                                         |         fcn_00003f70 ();
    0x000041de b 0x4188                                          |         goto label_0;
                                                                 | label_9:
    0x000041e0 ldr r3, [pc, 0x90]                                |         
    0x000041e2 ldr r2, [pc, 0x94]                                |         
    0x000041e4 ldr r1, [sp, 8]                                   |         r1 = var_8h;
    0x000041e6 add r3, pc                                        |         r3 = 0x845e;
    0x000041e8 add r2, pc                                        |         r2 = 0x8466;
                                                                 | label_1:
    0x000041ea ldr r1, [r1, 8]                                   |         r1 = *((r1 + 8));
    0x000041ec str.w sl, [sp]                                    |         __asm ("str.w sl, [sp]");
    0x000041f0 b 0x41ca                                          |         
                                                                 |     } while (1);
                                                                 | label_11:
    0x000041f2 ldr r3, [pc, 0x88]                                |     
    0x000041f4 ldr r2, [pc, 0x88]                                |     
    0x000041f6 ldr r1, [sp, 8]                                   |     r1 = var_8h;
    0x000041f8 add r3, pc                                        |     r3 = 0x847a;
    0x000041fa add r2, pc                                        |     r2 = 0x847e;
    0x000041fc b 0x41ea                                          |     goto label_1;
                                                                 | label_13:
    0x000041fe ldr r3, [pc, 0x84]                                |     
    0x00004200 mov.w r1, 0x100                                   |     r1 = 0x100;
    0x00004204 ldr r2, [pc, 0x80]                                |     
    0x00004206 add r3, pc                                        |     r3 = 0x8490;
    0x00004208 add r2, pc                                        |     r2 = 0x8494;
    0x0000420a blx 0x1b00                                        |     fcn_00001b00 ();
    0x0000420e b 0x415e                                          |     goto label_2;
                                                                 | label_15:
    0x00004210 blx 0x1d1c                                        |     fcn_00001d1c ();
    0x00004214 add sp, 0x138                                     |     
    0x00004216 movs r0, r0                                       |     
    0x00004218 add r5, sp, 0x338                                 |     r5 += arg_338h;
    0x0000421a movs r0, r0                                       |     
    0x0000421c lsls r4, r3, 7                                    |     r4 = r3 << 7;
    0x0000421e movs r0, r0                                       |     
    0x00004220 ldrh r0, [r4]                                     |     r0 = *(r4);
    0x00004222 movs r0, r0                                       |     
    0x00004224 str r2, [r7, 0x50]                                |     *((r7 + 0x50)) = r2;
    0x00004226 movs r0, r0                                       |     
    0x00004228 ldr r2, [pc, 0x3f8]                               |     r2 = *(0x4624);
    0x0000422a movs r0, r0                                       |     
    0x0000422c str r2, [r1, r0]                                  |     *((r1 + r0)) = r2;
    0x0000422e movs r0, r0                                       |     
    0x00004230 add r3, sp, 0x338                                 |     r3 += arg_338h;
    0x00004232 movs r0, r0                                       |     
    0x00004234 ldr r3, [pc, 0xf0]                                |     r3 = *(0x4328);
    0x00004236 movs r0, r0                                       |     
    0x00004238 str r4, [r7, 0x50]                                |     *((r7 + 0x50)) = r4;
    0x0000423a movs r0, r0                                       |     
    0x0000423c strb r2, [r7, 0x13]                               |     *((r7 + 0x13)) = r2;
    0x0000423e movs r0, r0                                       |     
    0x00004240 bl 0x33a242                                       |     void (*0x33a242)(uint32_t, uint32_t, uint32_t) (r0, r2, r3);
    0x00004244 strh r0, [r4, 0x34]                               |     *((r4 + 0x34)) = r0;
    0x00004246 movs r0, r0                                       |     
    0x00004248 strh r4, [r6, 0x34]                               |     *((r6 + 0x34)) = r4;
    0x0000424a movs r0, r0                                       |     
    0x0000424c strh r6, [r7, 0x34]                               |     *((r7 + 0x34)) = r6;
    0x0000424e movs r0, r0                                       |     
    0x00004250 add r7, sp, 0x58                                  |     r7 += arg_58h;
    0x00004252 movs r0, r0                                       |     
    0x00004254 bl 0x12c256                                       |     void (*0x12c256)(uint32_t) (r0);
    0x00004258 str r3, [sp, 0x190]                               |     *(arg_190h) = r3;
    0x0000425a movs r0, r0                                       |     
    0x0000425c str r2, [r7, 0x40]                                |     *((r7 + 0x40)) = r2;
    0x0000425e movs r0, r0                                       |     
    0x00004260 add r4, sp, 0x1b8                                 |     r4 += arg_1b8h;
    0x00004262 movs r0, r0                                       |     
    0x00004264 str r3, [sp, 0xd0]                                |     *(arg_d0h) = r3;
    0x00004266 movs r0, r0                                       |     
    0x00004268 strh r2, [r0, 0x30]                               |     *((r0 + 0x30)) = r2;
    0x0000426a movs r0, r0                                       |     
    0x0000426c str r3, [sp, 0x80]                                |     *(arg_80h) = r3;
    0x0000426e movs r0, r0                                       |     
    0x00004270 str r2, [r2, 0x3c]                                |     *((r2 + 0x3c)) = r2;
    0x00004272 movs r0, r0                                       |     
    0x00004274 str r2, [sp, 0x3e8]                               |     *(arg_3e8h) = r2;
    0x00004276 movs r0, r0                                       |     
    0x00004278 str r4, [r5, 0x38]                                |     *((r5 + 0x38)) = r4;
    0x0000427a movs r0, r0                                       |     
    0x0000427c str r2, [sp, 0x3a0]                               |     *(arg_3a0h) = r2;
    0x0000427e movs r0, r0                                       |     
    0x00004280 str r2, [r3, 0x38]                                |     *((r3 + 0x38)) = r2;
    0x00004282 movs r0, r0                                       |     
    0x00004284 str r2, [sp, 0x368]                               |     *(arg_368h) = r2;
    0x00004286 movs r0, r0                                       |     
    0x00004288 strh r0, [r4, 0x30]                               |     *((r4 + 0x30)) = r0;
    0x0000428a movs r0, r0                                       |     
    0x0000428c ldr r2, [pc, 0x188]                               |     
    0x0000428e ldr r3, [pc, 0x18c]                               |     r3 = *(0x441e);
    0x00004290 push.w {r4, r5, r6, r7, r8, sb, sl, fp, lr}       |     
    0x00004294 sub sp, 0x1c                                      |     
    0x00004296 add r2, pc                                        |     r2 = 0x86b2;
    0x00004298 ldr.w sb, [pc, 0x184]                             |     
    0x0000429c ldr r3, [r2, r3]                                  |     
    0x0000429e add sb, pc                                        |     sb = 0x86c2;
    0x000042a0 ldr r3, [r3]                                      |     r3 = *(0x86b2);
    0x000042a2 str r3, [sp, 0x14]                                |     var_14h = r3;
    0x000042a4 mov.w r3, 0                                       |     r3 = 0;
    0x000042a8 cmp r0, 0                                         |     
                                                                 |     if (r0 == 0) {
    0x000042aa beq.w 0x43da                                      |         goto label_16;
                                                                 |     }
    0x000042ac strh r6, [r2, 4]                                  |     *((r2 + 4)) = r6;
    0x000042ae ldr.w r8, [pc, 0x174]                             |     
    0x000042b2 movs r7, 0                                        |     r7 = 0;
    0x000042b4 ldr.w fp, [pc, 0x170]                             |     
    0x000042b8 mov r4, r0                                        |     r4 = r0;
    0x000042ba ldr.w sl, [pc, 0x170]                             |     
    0x000042be mov r6, r7                                        |     r6 = r7;
    0x000042c0 add r8, pc                                        |     r8 = 0x86ea;
    0x000042c2 add fp, pc                                        |     fp = 0x86ee;
    0x000042c4 add sl, pc                                        |     sl = 0x86f6;
                                                                 |     do {
    0x000042c6 ldr r3, [r4]                                      |         r3 = *(r4);
                                                                 |         if (r3 == 0) {
    0x000042c8 cbz r3, 0x4310                                    |             goto label_17;
                                                                 |         }
    0x000042ca movs r5, 0                                        |         r5 = 0;
    0x000042cc mov r0, r4                                        |         r0 = r4;
    0x000042ce add r1, sp, 8                                     |         r1 += var_8h_2;
    0x000042d0 add r3, sp, 0x10                                  |         r3 += var_10h;
    0x000042d2 add r2, sp, 0xc                                   |         r2 += var_ch_2;
    0x000042d4 str r5, [sp, 8]                                   |         var_8h_2 = r5;
    0x000042d6 str r5, [sp, 0x10]                                |         var_10h = r5;
    0x000042d8 bl 0x2d04                                         |         fcn_00002d04 (r0, r1, r2, r3);
    0x000042dc ldr r0, [sp, 8]                                   |         r0 = var_8h_2;
    0x000042de mov r1, r8                                        |         r1 = r8;
    0x000042e0 blx 0x1f5c                                        |         r0 = fcn_00001f5c ();
    0x000042e4 cmp r0, 0                                         |         
                                                                 |         if (r0 != 0) {
    0x000042e6 bne 0x4362                                        |             goto label_18;
                                                                 |         }
                                                                 |         if (r7 == 0) {
                                                                 | label_3:
    0x000042e8 cbnz r7, 0x430a                                   |             
    0x000042ea bl 0x7f04                                         |             r0 = fcn_00007f04 ();
    0x000042ee cmp r0, 0                                         |             
                                                                 |             if (r0 == 0) {
    0x000042f0 beq 0x439c                                        |                 goto label_19;
                                                                 |             }
    0x000042f2 ldr r0, [pc, 0x13c]                               |             
    0x000042f4 add r0, pc                                        |             r0 = 0x872a;
    0x000042f6 blx 0x1be0                                        |             r0 = g_strdup_printf ()
    0x000042fa mov r3, r0                                        |             r3 = r0;
                                                                 | label_5:
    0x000042fc mov r0, r6                                        |             r0 = r6;
    0x000042fe movs r2, 4                                        |             r2 = 4;
    0x00004300 mov r1, sl                                        |             r1 = sl;
    0x00004302 movs r7, 1                                        |             r7 = 1;
    0x00004304 bl 0x2cb4                                         |             r0 = fcn_00002cb4 (r0, r1, r2, r3);
    0x00004308 mov r6, r0                                        |             r6 = r0;
                                                                 |         }
                                                                 | label_4:
    0x0000430a ldr r4, [r4, 4]                                   |         r4 = *((r4 + 4));
    0x0000430c cmp r4, 0                                         |         
    0x0000430e bne 0x42c6                                        |         
                                                                 |     } while (r4 != 0);
                                                                 | label_17:
    0x00004310 cmp r6, 0                                         |     
                                                                 |     if (r6 == 0) {
    0x00004312 beq 0x43da                                        |         goto label_16;
                                                                 |     }
    0x00004314 ldr r3, [pc, 0x11c]                               |     
    0x00004316 movs r2, 1                                        |     r2 = 1;
    0x00004318 ldr r1, [pc, 0x11c]                               |     
    0x0000431a mov r0, r6                                        |     r0 = r6;
    0x0000431c mov r4, r6                                        |     r4 = r6;
    0x0000431e add r3, pc                                        |     r3 = 0x8756;
    0x00004320 add r1, pc                                        |     r1 = 0x875c;
    0x00004322 bl 0x2da0                                         |     fcn_00002da0 (r0, r1, r2, r3);
    0x00004326 b 0x4332                                          |     
                                                                 |     while (r3 != 0) {
    0x00004328 ldr r0, [r3, 8]                                   |         r0 = *((r3 + 8));
    0x0000432a blx 0x1d44                                        |         fcn_00001d44 ();
    0x0000432e ldr r4, [r4, 4]                                   |         r4 = *((r4 + 4));
                                                                 |         if (r4 == 0) {
    0x00004330 cbz r4, 0x4338                                    |             goto label_6;
                                                                 |         }
    0x00004332 ldr r3, [r4]                                      |         r3 = *(r4);
    0x00004334 cmp r3, 0                                         |         
    0x00004336 bne 0x4328                                        |         
                                                                 |     }
                                                                 | label_6:
    0x00004338 ldr r2, [pc, 0x100]                               |     
    0x0000433a ldr r3, [pc, 0xe0]                                |     r3 = *(0x441e);
    0x0000433c add r2, pc                                        |     r2 = 0x877c;
    0x0000433e ldr r3, [r2, r3]                                  |     r3 = *(0x877c);
    0x00004340 ldr r2, [r3]                                      |     r2 = *(0x877c);
    0x00004342 ldr r3, [sp, 0x14]                                |     r3 = var_14h;
    0x00004344 eors r2, r3                                       |     r2 ^= r3;
    0x00004346 mov.w r3, 0                                       |     r3 = 0;
                                                                 |     if (r2 != r3) {
    0x0000434a bne 0x4412                                        |         goto label_20;
                                                                 |     }
    0x0000434c ldr r3, [pc, 0xf0]                                |     r3 = *(0x4440);
    0x0000434e mov r0, r6                                        |     r0 = r6;
    0x00004350 ldr.w r3, [sb, r3]                                |     r3 = *((sb + r3));
    0x00004354 mov r1, r3                                        |     r1 = r3;
    0x00004356 str r3, [sp, 4]                                   |     var_4h_2 = r3;
    0x00004358 add sp, 0x1c                                      |     
    0x0000435a pop.w {r4, r5, r6, r7, r8, sb, sl, fp, lr}        |     
    0x0000435e b.w 0x1d00                                        |     void (*0x1d00)() ();
                                                                 | label_18:
    0x00004362 ldr r0, [sp, 8]                                   |     r0 = var_8h_2;
    0x00004364 mov r1, fp                                        |     r1 = fp;
    0x00004366 blx 0x1f5c                                        |     r0 = fcn_00001f5c ();
    0x0000436a cmp r0, 0                                         |     
                                                                 |     if (r0 == 0) {
    0x0000436c beq 0x42e8                                        |         goto label_3;
                                                                 |     }
    0x0000436e ldr r1, [pc, 0xd4]                                |     
    0x00004370 ldr r0, [sp, 8]                                   |     r0 = var_8h_2;
    0x00004372 add r1, pc                                        |     r1 = 0x87bc;
    0x00004374 blx 0x1f5c                                        |     r0 = fcn_00001f5c ();
                                                                 |     if (r0 != 0) {
    0x00004378 cbnz r0, 0x43b4                                   |         goto label_21;
                                                                 |     }
    0x0000437a bl 0x7f58                                         |     r0 = fcn_00007f58 ();
    0x0000437e cmp r0, 0                                         |     
                                                                 |     if (r0 != 0) {
    0x00004380 bne 0x4406                                        |         goto label_22;
                                                                 |     }
    0x00004382 ldr r0, [pc, 0xc4]                                |     
    0x00004384 add r0, pc                                        |     r0 = 0x87d2;
    0x00004386 blx 0x1be0                                        |     r0 = g_strdup_printf ()
    0x0000438a mov r3, r0                                        |     r3 = r0;
                                                                 | label_7:
    0x0000438c ldr r1, [pc, 0xbc]                                |     
    0x0000438e mov r0, r6                                        |     r0 = r6;
    0x00004390 movs r2, 4                                        |     r2 = 4;
    0x00004392 add r1, pc                                        |     r1 = 0x87e2;
    0x00004394 bl 0x2cb4                                         |     r0 = fcn_00002cb4 (r0, r1, r2, r3);
    0x00004398 mov r6, r0                                        |     r6 = r0;
    0x0000439a b 0x430a                                          |     goto label_4;
                                                                 | label_19:
    0x0000439c bl 0x7f28                                         |     r0 = fcn_00007f28 ();
                                                                 |     if (r0 == 0) {
    0x000043a0 cbz r0, 0x43ae                                    |         goto label_23;
                                                                 |     }
    0x000043a2 ldr r0, [pc, 0xac]                                |     
    0x000043a4 add r0, pc                                        |     r0 = 0x87fa;
                                                                 |     do {
    0x000043a6 blx 0x1be0                                        |         r0 = g_strdup_printf ()
    0x000043aa mov r3, r0                                        |         r3 = r0;
    0x000043ac b 0x42fc                                          |         goto label_5;
                                                                 | label_23:
    0x000043ae ldr r0, [pc, 0xa4]                                |         
    0x000043b0 add r0, pc                                        |         r0 = 0x880a;
    0x000043b2 b 0x43a6                                          |         
                                                                 |     } while (1);
                                                                 | label_21:
    0x000043b4 ldr r1, [pc, 0xa0]                                |     
    0x000043b6 ldr r0, [sp, 8]                                   |     r0 = var_8h_2;
    0x000043b8 add r1, pc                                        |     r1 = 0x8814;
    0x000043ba blx 0x1f5c                                        |     r0 = fcn_00001f5c ();
                                                                 |     if (r0 == 0) {
    0x000043be cbnz r0, 0x43de                                   |         
    0x000043c0 bl 0x7f40                                         |         fcn_00007f40 ();
    0x000043c4 bl 0x213c                                         |         fcn_0000213c (r0);
    0x000043c8 ldr r1, [pc, 0x90]                                |         
    0x000043ca mov r3, r0                                        |         r3 = r0;
    0x000043cc movs r2, 4                                        |         r2 = 4;
    0x000043ce mov r0, r6                                        |         r0 = r6;
    0x000043d0 add r1, pc                                        |         r1 = 0x8830;
    0x000043d2 bl 0x2cb4                                         |         r0 = fcn_00002cb4 (r0, r1, r2, r3);
    0x000043d6 mov r6, r0                                        |         r6 = r0;
    0x000043d8 b 0x430a                                          |         goto label_4;
                                                                 | label_16:
    0x000043da movs r6, 0                                        |         r6 = 0;
    0x000043dc b 0x4338                                          |         goto label_6;
                                                                 |     }
    0x000043de ldr r1, [pc, 0x80]                                |     
    0x000043e0 ldr r0, [sp, 8]                                   |     r0 = var_8h_2;
    0x000043e2 add r1, pc                                        |     r1 = 0x8848;
    0x000043e4 blx 0x1f5c                                        |     r0 = fcn_00001f5c ();
    0x000043e8 cmp r0, 0                                         |     
                                                                 |     if (r0 != 0) {
    0x000043ea bne 0x430a                                        |         goto label_4;
                                                                 |     }
    0x000043ec bl 0x7f34                                         |     fcn_00007f34 ();
    0x000043f0 bl 0x213c                                         |     fcn_0000213c (r0);
    0x000043f4 ldr r1, [pc, 0x6c]                                |     
    0x000043f6 mov r3, r0                                        |     r3 = r0;
    0x000043f8 movs r2, 4                                        |     r2 = 4;
    0x000043fa mov r0, r6                                        |     r0 = r6;
    0x000043fc add r1, pc                                        |     r1 = 0x8864;
    0x000043fe bl 0x2cb4                                         |     r0 = fcn_00002cb4 (r0, r1, r2, r3);
    0x00004402 mov r6, r0                                        |     r6 = r0;
    0x00004404 b 0x430a                                          |     goto label_4;
                                                                 | label_22:
    0x00004406 ldr r0, [pc, 0x60]                                |     
    0x00004408 add r0, pc                                        |     r0 = 0x8876;
    0x0000440a blx 0x1be0                                        |     r0 = g_strdup_printf ()
    0x0000440e mov r3, r0                                        |     r3 = r0;
    0x00004410 b 0x438c                                          |     goto label_7;
                                                                 | label_20:
    0x00004412 blx 0x1d1c                                        |     fcn_00001d1c ();
    0x00004416 nop                                               |     
    0x00004418 add r3, sp, 0x198                                 |     r3 += arg_198h;
    0x0000441a movs r0, r0                                       |     
    0x0000441c lsls r4, r3, 7                                    |     r4 = r3 << 7;
    0x0000441e movs r0, r0                                       |     
    0x00004420 add r3, sp, 0x178                                 |     r3 += arg_178h;
    0x00004422 movs r0, r0                                       |     
    0x00004424 ldr r0, [pc, 0x1f0]                               |     r0 = *(0x4618);
    0x00004426 movs r0, r0                                       |     
    0x00004428 strh r2, [r2, 0x32]                               |     *((r2 + 0x32)) = r2;
    0x0000442a movs r0, r0                                       |     
    0x0000442c strh r0, [r2, 0x32]                               |     *((r2 + 0x32)) = r0;
    0x0000442e movs r0, r0                                       |     
    0x00004430 str r2, [sp, 0x3f0]                               |     *(arg_3f0h) = r2;
    0x00004432 movs r0, r0                                       |     
    0x00004434 strh r2, [r0, 0x32]                               |     *((r0 + 0x32)) = r2;
    0x00004436 movs r0, r0                                       |     
    0x00004438 strh r0, [r3, 0x32]                               |     *((r3 + 0x32)) = r0;
    0x0000443a movs r0, r0                                       |     
    0x0000443c add r2, sp, 0x300                                 |     r2 += arg_300h;
    0x0000443e movs r0, r0                                       |     
    0x00004440 lsls r0, r5, 7                                    |     r0 = r5 << 7;
    0x00004442 movs r0, r0                                       |     
    0x00004444 ldr r0, [pc, 0x98]                                |     r0 = *(0x44e0);
    0x00004446 movs r0, r0                                       |     
    0x00004448 strh r0, [r4, 0x2c]                               |     *((r4 + 0x2c)) = r0;
    0x0000444a movs r0, r0                                       |     
    0x0000444c strh r2, [r3, 0x2c]                               |     *((r3 + 0x2c)) = r2;
    0x0000444e movs r0, r0                                       |     
    0x00004450 strh r4, [r4, 0x2a]                               |     *((r4 + 0x2a)) = r4;
    0x00004452 movs r0, r0                                       |     
    0x00004454 strh r4, [r3, 0x2a]                               |     *((r3 + 0x2a)) = r4;
    0x00004456 movs r0, r0                                       |     
    0x00004458 ldr r0, [pc, 0]                                   |     r0 = *(0x445c);
    0x0000445a movs r0, r0                                       |     
    0x0000445c strh r0, [r6, 0x2a]                               |     *((r6 + 0x2a)) = r0;
    0x0000445e movs r0, r0                                       |     
    0x00004460 invalid                                           |     
                                                                 | }


r2dec has crashed (info: /logs/firmware/patool_extraction/rootfs.img_unblob_extracted/rootfs.img_extract/0-80367616.squashfs_v4_le_extract/usr/sbin/ntpconfd @ 0x525c).
Please report the bug at https://github.com/radareorg/r2dec-js/issues
Use the option '--issue' or the command 'pddi' to generate 
the needed data for the issue.
    ; assembly                                           | /* r2dec pseudo code output */
                                                         | /* /logs/firmware/patool_extraction/rootfs.img_unblob_extracted/rootfs.img_extract/0-80367616.squashfs_v4_le_extract/usr/sbin/ntpconfd @ 0x5538 */
                                                         | #include <stdint.h>
                                                         |  
    ; (fcn) fcn.00005538 ()                              | void fcn_00005538 (int16_t arg_288h, int16_t arg_308h, uint32_t arg1) {
                                                         |     int16_t var_0h_3;
                                                         |     int16_t var_44h;
                                                         |     int16_t var_50h;
                                                         |     int16_t var_58h;
                                                         |     int16_t var_e0h;
                                                         |     int16_t var_f8h;
                                                         |     int16_t var_0h_5;
                                                         |     int16_t var_8h;
                                                         |     int16_t var_ch;
                                                         |     int16_t var_18h;
                                                         |     int16_t var_0h_4;
                                                         |     int16_t var_ch_2;
                                                         |     int16_t var_10h;
                                                         |     int16_t var_14h;
                                                         |     int16_t var_18h_2;
                                                         |     int16_t var_1ch;
                                                         |     int16_t var_28h;
                                                         |     r0 = arg1;
    0x00005538 mvnsmi lr, 0xb4000                        |     __asm ("mvnsmi lr, 0xb4000");
    0x0000553c sub sp, 0xc                               |     
    0x0000553e cmp r0, 0                                 |     
                                                         |     if (var_0h_3 != ) {
    0x00005540 beq 0x55ea                                |         
    0x00005542 mov r5, r0                                |         r5 = r0;
    0x00005544 movs r0, 0x24                             |         r0 = 0x24;
    0x00005546 ldr r6, [pc, 0xb8]                        |         
    0x00005548 blx 0x1ea8                                |         r0 = fcn_00001ea8 ();
    0x0000554c mov r4, r0                                |         r4 = r0;
    0x0000554e mov r0, r5                                |         r0 = r5;
    0x00005550 blx 0x1be0                                |         g_strdup_printf ()
    0x00005552 adc.w r4, r6, lr, ror 17                  |         __asm ("adc.w r4, r6, lr, ror 17");
    0x00005554 add r6, pc                                |         r6 = 0xab5a;
    0x00005556 mov r3, r0                                |         r3 = r0;
    0x00005558 str r3, [r4]                              |         *(r4) = r3;
    0x0000555a mov r0, r6                                |         r0 = r6;
    0x0000555c blx 0x1be0                                |         r0 = g_strdup_printf ()
    0x00005560 mov r3, r0                                |         r3 = r0;
    0x00005562 ldr r7, [pc, 0xa0]                        |         
    0x00005564 str r3, [r4, 0x1c]                        |         *((r4 + 0x1c)) = r3;
    0x00005566 mov r0, r6                                |         r0 = r6;
    0x00005568 blx 0x1be0                                |         g_strdup_printf ()
    0x0000556c ldr r2, [r4]                              |         r2 = *(r4);
    0x0000556e add r7, pc                                |         r7 = 0xab78;
    0x00005570 str r4, [sp]                              |         *(sp) = r4;
    0x00005572 mov r3, r7                                |         r3 = r7;
    0x00005574 str r0, [r4, 0x20]                        |         *((r4 + 0x20)) = r0;
    0x00005576 ldr r1, [pc, 0x90]                        |         
    0x00005578 ldr r0, [pc, 0x90]                        |         
    0x0000557a add r1, pc                                |         r1 = 0xab88;
    0x0000557c add r0, pc                                |         r0 = 0xab8c;
    0x0000557e bl 0x2b38                                 |         fcn_00002b38 (r0, r1, r2, r3);
    0x00005582 ldr r3, [pc, 0x8c]                        |         
    0x00005584 str r0, [r4, 8]                           |         *((r4 + 8)) = r0;
    0x00005586 add r3, pc                                |         
    0x00005588 ldr r3, [r3, 0xc]                         |         r3 = *(0xaba8);
                                                         |         if (r3 != 0) {
    0x0000558a cbz r3, 0x55e2                            |             
    0x0000558c ldr.w r8, [pc, 0x84]                      |             
    0x00005590 mov r3, r7                                |             r3 = r7;
    0x00005592 ldr.w sb, [pc, 0x84]                      |             
    0x00005596 ldr r6, [pc, 0x84]                        |             
    0x00005598 ldr r5, [pc, 0x84]                        |             
    0x0000559a add r8, pc                                |             r8 = 0xabb2;
    0x0000559c add sb, pc                                |             sb = 0xabba;
    0x0000559e mov r1, r8                                |             r1 = r8;
    0x000055a0 add r6, pc                                |             r6 = 0xabc2;
    0x000055a2 str r4, [sp]                              |             *(sp) = r4;
    0x000055a4 mov r0, sb                                |             r0 = sb;
    0x000055a6 ldr r2, [r4]                              |             r2 = *(r4);
    0x000055a8 bl 0x2b38                                 |             fcn_00002b38 (r0, r1, r2, r3);
    0x000055ac add r5, pc                                |             r5 = 0xabd0;
    0x000055ae str r0, [r4, 0xc]                         |             *((r4 + 0xc)) = r0;
    0x000055b0 mov r3, r7                                |             r3 = r7;
    0x000055b2 mov r1, r6                                |             r1 = r6;
    0x000055b4 str r4, [sp]                              |             *(sp) = r4;
    0x000055b6 mov r0, sb                                |             r0 = sb;
    0x000055b8 ldr r2, [r4]                              |             r2 = *(r4);
    0x000055ba bl 0x2b38                                 |             fcn_00002b38 (r0, r1, r2, r3);
    0x000055be mov r1, r8                                |             r1 = r8;
    0x000055c0 str r0, [r4, 0x10]                        |             *((r4 + 0x10)) = r0;
    0x000055c2 mov r3, r7                                |             r3 = r7;
    0x000055c4 str r4, [sp]                              |             *(sp) = r4;
    0x000055c6 mov r0, r5                                |             r0 = r5;
    0x000055c8 ldr r2, [r4]                              |             r2 = *(r4);
    0x000055ca bl 0x2b38                                 |             r0 = fcn_00002b38 (r0, r1, r2, r3);
    0x000055ce mov r2, r0                                |             r2 = r0;
    0x000055d0 str r4, [sp]                              |             *(sp) = r4;
    0x000055d2 mov r3, r7                                |             r3 = r7;
    0x000055d4 str r2, [r4, 0x14]                        |             *((r4 + 0x14)) = r2;
    0x000055d6 mov r1, r6                                |             r1 = r6;
    0x000055d8 ldr r2, [r4]                              |             r2 = *(r4);
    0x000055da mov r0, r5                                |             r0 = r5;
    0x000055dc bl 0x2b38                                 |             fcn_00002b38 (r0, r1, r2, r3);
    0x000055e0 str r0, [r4, 0x18]                        |             *((r4 + 0x18)) = r0;
                                                         |         }
    0x000055e2 mov r0, r4                                |         r0 = r4;
    0x000055e4 add sp, 0xc                               |         
    0x000055e6 pop.w {r4, r5, r6, r7, r8, sb, pc}        |         
                                                         |     }
    0x000055ea ldr r3, [pc, 0x38]                        |     
    0x000055ec movs r2, 0x5a                             |     r2 = 0x5a;
    0x000055ee ldr r4, [pc, 0x38]                        |     
    0x000055f0 ldr r1, [pc, 0x38]                        |     
    0x000055f2 add r3, pc                                |     r3 = 0xac1c;
    0x000055f4 add r4, pc                                |     r4 = 0xac22;
    0x000055f6 adds r3, 0x14                             |     r3 += 0x14;
    0x000055f8 add r1, pc                                |     r1 = 0xac28;
    0x000055fa str r4, [sp]                              |     *(sp) = r4;
    0x000055fc blx 0x1ed8                                |     fcn_00001ed8 ();
    0x00005600 ldrb r4, [r1, 0x1e]                       |     r4 = *((r1 + 0x1e));
    0x00005602 movs r0, r0                               |     
    0x00005604 lsls r7, r7, 2                            |     r7 <<= 2;
    0x00005606 movs r0, r0                               |     
    0x00005608 adds r2, 0xd6                             |     r2 += 0xd6;
    0x0000560a movs r0, r0                               |     
    0x0000560c adds r2, 0xb4                             |     r2 += 0xb4;
    0x0000560e movs r0, r0                               |     
    0x00005610 ldr r3, [sp, 0x58]                        |     r3 = var_58h;
    0x00005612 movs r0, r0                               |     
    0x00005614 ldrb r6, [r4, 2]                          |     r6 = *((r4 + 2));
    0x00005616 movs r0, r0                               |     
    0x00005618 strb r0, [r6, 0x1e]                       |     *((r6 + 0x1e)) = r0;
    0x0000561a movs r0, r0                               |     
    0x0000561c ldrb r0, [r6, 2]                          |     r0 = *((r6 + 2));
    0x0000561e movs r0, r0                               |     
    0x00005620 strb r4, [r7, 0x1e]                       |     *((r7 + 0x1e)) = r4;
    0x00005622 movs r0, r0                               |     
    0x00005624 ldrb r2, [r5, 0xd]                        |     r2 = *((r5 + 0xd));
    0x00005626 movs r0, r0                               |     
    0x00005628 ldrb r0, [r0, 1]                          |     r0 = *((r0 + 1));
    0x0000562a movs r0, r0                               |     
    0x0000562c ldrb r0, [r0]                             |     r0 = *(r0);
    0x0000562e movs r0, r0                               |     
    0x00005630 ldr r2, [pc, 0x214]                       |     
    0x00005632 ldr r3, [pc, 0x218]                       |     r3 = *(0x584e);
    0x00005634 push.w {r4, r5, r6, r7, r8, sb, lr}       |     
    0x00005638 sub sp, 0x24                              |     
    0x0000563a add r2, pc                                |     r2 = 0xae86;
    0x0000563c ldr r6, [sp, 0x40]                        |     r6 = var_0h_3;
    0x0000563e movs r4, 0                                |     r4 = 0;
    0x00005640 ldr r1, [pc, 0x20c]                       |     
    0x00005642 ldr r3, [r2, r3]                          |     
    0x00005644 mov r0, r6                                |     r0 = r6;
    0x00005646 ldrd r8, r7, [sp, 0x44]                   |     __asm ("ldrd r8, r7, [var_44h]");
    0x0000564a add r1, pc                                |     r1 = 0xae9e;
    0x0000564c ldr r3, [r3]                              |     r3 = *(0xae86);
    0x0000564e str r3, [sp, 0x1c]                        |     var_1ch = r3;
    0x00005650 mov.w r3, 0                               |     r3 = 0;
    0x00005654 strd r4, r4, [sp, 0xc]                    |     __asm ("strd r4, r4, [var_ch]");
    0x00005656 add r3, r0                                |     r3 += r0;
    0x00005658 strd r4, r4, [sp, 0x14]                   |     __asm ("strd r4, r4, [var_18h]");
    0x0000565c blx 0x1f5c                                |     r0 = fcn_00001f5c ();
    0x00005660 cmp r0, 0                                 |     
                                                         |     if (r0 != 0) {
    0x00005662 bne 0x56cc                                |         goto label_7;
                                                         |     }
    0x00005664 ldr r6, [pc, 0x1ec]                       |     
    0x00005666 mov r5, r0                                |     r5 = r0;
    0x00005668 movs r2, 1                                |     r2 = 1;
    0x0000566a mov r0, r8                                |     r0 = r8;
    0x0000566c add r6, pc                                |     r6 = 0xaec4;
    0x0000566e mov r1, r6                                |     r1 = r6;
    0x00005670 blx 0x1b68                                |     r0 = g_dbus_connection_new_for_address ();
    0x00005674 mov r4, r0                                |     r4 = r0;
    0x00005676 cmp r0, 0                                 |     
                                                         |     if (r0 == 0) {
    0x00005678 beq 0x5700                                |         goto label_8;
                                                         |     }
    0x0000567a mov r1, r6                                |     r1 = r6;
    0x0000567c mov r0, r8                                |     r0 = r8;
    0x0000567e ldr r6, [pc, 0x1d8]                       |     
    0x00005680 add r3, sp, 0x18                          |     r3 += var_18h_2;
    0x00005682 ldr.w r8, [pc, 0x1d8]                     |     
    0x00005686 add r2, sp, 0xc                           |     r2 += var_ch_2;
    0x00005688 str r5, [sp]                              |     *(sp) = r5;
    0x0000568a add r4, sp, 0x10                          |     r4 += var_10h;
    0x0000568c add r6, pc                                |     r6 = 0xaeea;
    0x0000568e add r5, sp, 0x14                          |     r5 += var_14h;
    0x00005690 add r8, pc                                |     r8 = 0xaef2;
    0x00005692 blx 0x1d10                                |     fcn_00001d10 ();
    0x00005696 b 0x56a4                                  |     
                                                         |     while (r0 != 0) {
                                                         | label_0:
    0x00005698 ldr r0, [sp, 0x10]                        |         r0 = var_10h;
    0x0000569a blx 0x1d44                                |         fcn_00001d44 ();
    0x0000569e ldr r0, [sp, 0x14]                        |         r0 = var_14h;
    0x000056a0 blx 0x1d5c                                |         fcn_00001d5c ();
    0x000056a4 ldr r0, [sp, 0x18]                        |         r0 = var_18h_2;
    0x000056a6 mov r3, r5                                |         r3 = r5;
    0x000056a8 mov r2, r4                                |         r2 = r4;
    0x000056aa mov r1, r6                                |         r1 = r6;
    0x000056ac blx 0x1ca0                                |         r0 = net_device_switching_get_active_devices ();
    0x000056b0 cmp r0, 0                                 |         
                                                         |         if (r0 == 0) {
    0x000056b2 beq 0x571c                                |             goto label_9;
                                                         |         }
    0x000056b4 ldr r0, [sp, 0x10]                        |         r0 = var_10h;
    0x000056b6 mov r1, r8                                |         r1 = r8;
    0x000056b8 blx 0x1f5c                                |         r0 = fcn_00001f5c ();
    0x000056bc cmp r0, 0                                 |         
    0x000056be bne 0x5698                                |         
                                                         |     }
    0x000056c0 ldr r2, [sp, 0xc]                         |     r2 = var_ch_2;
    0x000056c2 mov r1, r7                                |     r1 = r7;
    0x000056c4 ldr r0, [sp, 0x14]                        |     r0 = var_14h;
    0x000056c6 bl 0x525c                                 |     fcn_0000525c (r0, r1, r2, r3, r4, r5, r6);
    0x000056ca b 0x5698                                  |     goto label_0;
                                                         | label_7:
    0x000056cc ldr r1, [pc, 0x190]                       |     
    0x000056ce mov r0, r6                                |     r0 = r6;
    0x000056d0 add r1, pc                                |     r1 = 0xaf34;
    0x000056d2 blx 0x1f5c                                |     r0 = fcn_00001f5c ();
                                                         |     if (r0 != 0) {
    0x000056d6 cbnz r0, 0x572a                           |         goto label_10;
                                                         |     }
                                                         | label_2:
    0x000056d8 ldr r3, [pc, 0x188]                       |     
    0x000056da add r3, pc                                |     r3 = 0xaf42;
    0x000056dc ldr r0, [r3, 0xc]                         |     r0 = *(0xaf4e);
    0x000056de cmp r0, 0                                 |     
                                                         |     if (r0 == 0) {
    0x000056e0 beq 0x57a4                                |         goto label_11;
                                                         |     }
    0x000056e2 blx r0                                    |     uint32_t (*r0)(uint32_t) (r0);
                                                         |     do {
                                                         | label_1:
    0x000056e4 ldr r2, [pc, 0x180]                       |         
    0x000056e6 ldr r3, [pc, 0x164]                       |         r3 = *(0x584e);
    0x000056e8 add r2, pc                                |         r2 = 0xaf54;
    0x000056ea ldr r3, [r2, r3]                          |         r3 = *(0xaf54);
    0x000056ec ldr r2, [r3]                              |         r2 = *(0xaf54);
    0x000056ee ldr r3, [sp, 0x1c]                        |         r3 = var_1ch;
    0x000056f0 eors r2, r3                               |         r2 ^= r3;
    0x000056f2 mov.w r3, 0                               |         r3 = 0;
    0x000056f4 lsls r0, r0, 0xc                          |         r0 <<= 0xc;
                                                         |         if (r0 != r0) {
    0x000056f6 bne.w 0x5844                              |             goto label_12;
                                                         |         }
    0x000056fa add sp, 0x24                              |         
    0x000056fc pop.w {r4, r5, r6, r7, r8, sb, pc}        |         
                                                         | label_8:
    0x00005700 mov r0, r8                                |         r0 = r8;
    0x00005702 blx 0x1aac                                |         fcn_00001aac ();
    0x00005706 ldr r3, [pc, 0x164]                       |         
    0x00005708 mov r5, r0                                |         r5 = r0;
    0x0000570a ldr r2, [pc, 0x164]                       |         
    0x0000570c movs r1, 0x10                             |         r1 = 0x10;
    0x0000570e mov r0, r4                                |         r0 = r4;
    0x00005710 str r5, [sp]                              |         *(sp) = r5;
    0x00005712 add r3, pc                                |         r3 = 0xaf84;
    0x00005714 add r2, pc                                |         r2 = 0xaf8a;
    0x00005716 blx 0x1b00                                |         fcn_00001b00 ();
    0x0000571a b 0x56e4                                  |         
                                                         |     } while (1);
                                                         | label_9:
    0x0000571c ldr r0, [sp, 0xc]                         |     r0 = var_ch_2;
    0x0000571e blx 0x1d44                                |     fcn_00001d44 ();
    0x00005722 ldr r0, [sp, 0x18]                        |     r0 = var_18h_2;
    0x00005724 blx 0x19dc                                |     g_variant_iter_free ();
    0x00005728 b 0x56e4                                  |     goto label_1;
                                                         | label_10:
    0x0000572a ldr r1, [pc, 0x148]                       |     
    0x0000572c mov r0, r6                                |     r0 = r6;
    0x0000572e add r1, pc                                |     r1 = 0xafa8;
    0x00005730 blx 0x1f5c                                |     r0 = fcn_00001f5c ();
    0x00005734 cmp r0, 0                                 |     
                                                         |     if (r0 == 0) {
    0x00005736 beq 0x56d8                                |         goto label_2;
                                                         |     }
    0x00005738 ldr r1, [pc, 0x13c]                       |     
    0x0000573a movs r2, 1                                |     r2 = 1;
    0x0000573c mov r0, r8                                |     r0 = r8;
    0x0000573e add r1, pc                                |     r1 = 0xafba;
    0x00005740 blx 0x1b68                                |     r0 = g_dbus_connection_new_for_address ();
    0x00005744 mov r5, r0                                |     r5 = r0;
    0x00005746 cmp r0, 0                                 |     
                                                         |     if (r0 == 0) {
    0x00005748 beq 0x57b6                                |         goto label_13;
                                                         |     }
    0x0000574a mov r1, r4                                |     r1 = r4;
    0x0000574c mov r0, r8                                |     r0 = r8;
    0x0000574e blx 0x1a48                                |     g_variant_get_child_value ();
    0x00005752 mov r1, r4                                |     r1 = r4;
    0x00005754 mov sb, r0                                |     sb = r0;
    0x00005756 blx 0x1e90                                |     fcn_00001e90 ();
    0x0000575a ldr r3, [pc, 0x120]                       |     
    0x0000575c mov r7, r0                                |     r7 = r0;
    0x0000575e add r3, pc                                |     r3 = 0xafe0;
    0x00005760 ldr r4, [r3]                              |     r4 = *(0xafe0);
                                                         |     if (r4 != 0) {
    0x00005762 cbnz r4, 0x576c                           |         goto label_14;
                                                         |     }
    0x00005764 b 0x581a                                  |     goto label_15;
                                                         |     do {
    0x00005766 ldr r4, [r4, 4]                           |         r4 = *((r4 + 4));
    0x00005768 cmp r4, 0                                 |         
                                                         |         if (r4 == 0) {
    0x0000576a beq 0x57d2                                |             goto label_16;
                                                         |         }
                                                         | label_14:
    0x0000576c ldr r5, [r4]                              |         r5 = *(r4);
    0x0000576e mov r1, r7                                |         r1 = r7;
    0x00005770 ldr r0, [r5]                              |         r0 = *(r5);
    0x00005772 blx 0x1f5c                                |         r0 = fcn_00001f5c ();
    0x00005776 cmp r0, 0                                 |         
    0x00005778 bne 0x5766                                |         
                                                         |     } while (r0 != 0);
    0x0000577a ldr r1, [pc, 0x104]                       |     
    0x0000577c mov r0, r6                                |     r0 = r6;
    0x0000577e add r1, pc                                |     r1 = 0xb004;
    0x00005780 blx 0x1f5c                                |     r0 = fcn_00001f5c ();
    0x00005784 cmp r0, 0                                 |     
                                                         |     if (r0 != 0) {
    0x00005786 bne 0x5838                                |         goto label_17;
                                                         |     }
    0x00005788 ldr r4, [pc, 0xf8]                        |     
    0x0000578a mov r0, r5                                |     r0 = r5;
    0x0000578c bl 0x54cc                                 |     void (*0x54cc)(uint32_t, uint32_t, uint32_t, uint32_t, uint32_t, uint32_t, uint32_t) (r0, r1, r2, r3, r4, r5, r6);
    0x00005790 mov r1, r5                                |     r1 = r5;
    0x00005792 add r4, pc                                |     r4 = 0xb01a;
    0x00005794 ldr r0, [r4]                              |     r0 = *(0xb01a);
    0x00005796 blx 0x1c28                                |     g_file_set_contents ();
    0x0000579a str r0, [r4]                              |     *(r4) = r0;
                                                         |     do {
                                                         | label_3:
    0x0000579c mov r0, sb                                |         r0 = sb;
    0x0000579e blx 0x1d5c                                |         fcn_00001d5c ();
    0x000057a2 b 0x56e4                                  |         goto label_1;
                                                         | label_11:
    0x000057a4 ldr r3, [pc, 0xe0]                        |         
    0x000057a6 movs r1, 0x10                             |         r1 = 0x10;
    0x000057a8 ldr r2, [pc, 0xe0]                        |         
    0x000057aa str r6, [sp]                              |         *(sp) = r6;
    0x000057ac add r3, pc                                |         r3 = 0xb038;
    0x000057ae add r2, pc                                |         r2 = 0xb03e;
    0x000057b0 blx 0x1b00                                |         fcn_00001b00 ();
    0x000057b4 b 0x56e4                                  |         goto label_1;
                                                         | label_13:
    0x000057b6 mov r0, r8                                |         r0 = r8;
    0x000057b8 blx 0x1aac                                |         fcn_00001aac ();
    0x000057bc ldr r3, [pc, 0xd0]                        |         
    0x000057be mov r4, r0                                |         r4 = r0;
    0x000057c0 ldr r2, [pc, 0xd0]                        |         
    0x000057c2 movs r1, 0x10                             |         r1 = 0x10;
    0x000057c4 mov r0, r5                                |         r0 = r5;
    0x000057c6 str r4, [sp]                              |         *(sp) = r4;
    0x000057c8 add r3, pc                                |         r3 = 0xb05c;
    0x000057ca add r2, pc                                |         r2 = 0xb062;
    0x000057cc blx 0x1b00                                |         fcn_00001b00 ();
    0x000057d0 b 0x56e4                                  |         goto label_1;
                                                         | label_16:
    0x000057d2 ldr r1, [pc, 0xc4]                        |         
    0x000057d4 mov r0, r6                                |         r0 = r6;
    0x000057d6 add r1, pc                                |         r1 = 0xb074;
    0x000057d8 blx 0x1f5c                                |         r0 = fcn_00001f5c ();
                                                         |         if (r0 != 0) {
    0x000057dc cbnz r0, 0x5828                           |             goto label_18;
                                                         |         }
                                                         | label_4:
    0x000057de ldr r1, [pc, 0xbc]                        |         
    0x000057e0 mov r0, r6                                |         r0 = r6;
    0x000057e2 add r1, pc                                |         r1 = 0xb084;
    0x000057e4 blx 0x1f5c                                |         r0 = fcn_00001f5c ();
    0x000057e8 cmp r0, 0                                 |         
    0x000057ea bne 0x579c                                |         
                                                         |     } while (r0 != 0);
                                                         | label_5:
    0x000057ec mov r0, r7                                |     r0 = r7;
    0x000057ee ldr r5, [pc, 0xb0]                        |     
    0x000057f0 bl 0x5538                                 |     fcn_00005538 (r0, r1, r2);
    0x000057f4 movs r1, 1                                |     r1 = 1;
    0x000057f6 mov r4, r0                                |     r4 = r0;
    0x000057f8 mov r0, r8                                |     r0 = r8;
    0x000057fa add r5, pc                                |     r5 = 0xb0a0;
    0x000057fc blx 0x1a48                                |     g_variant_get_child_value ();
    0x00005800 ldr r2, [pc, 0xa0]                        |     
    0x00005802 adds r3, r4, 4                            |     r3 = r4 + 4;
    0x00005804 ldr r1, [pc, 0xa0]                        |     
    0x00005806 add r2, pc                                |     r2 = 0xb0ae;
    0x00005808 add r1, pc                                |     r1 = 0xb0b4;
    0x0000580a blx 0x1d50                                |     fcn_00001d50 ();
    0x0000580c invalid                                   |     
    0x00005810 mov r1, r4                                |     r1 = r4;
    0x00005812 blx 0x1b44                                |     g_variant_new_int32 ();
    0x00005816 str r0, [r5]                              |     *(r5) = r0;
    0x00005818 b 0x579c                                  |     goto label_3;
                                                         | label_15:
    0x0000581a ldr r1, [pc, 0x90]                        |     
    0x0000581c mov r0, r6                                |     r0 = r6;
    0x0000581e add r1, pc                                |     r1 = 0xb0d0;
    0x00005820 blx 0x1f5c                                |     r0 = fcn_00001f5c ();
    0x00005824 cmp r0, 0                                 |     
                                                         |     if (r0 == 0) {
    0x00005826 beq 0x57de                                |         goto label_4;
                                                         |     }
                                                         | label_18:
    0x00005828 ldr r1, [pc, 0x84]                        |     
    0x0000582a mov r0, r6                                |     r0 = r6;
    0x0000582c add r1, pc                                |     r1 = 0xb0e0;
    0x0000582e blx 0x1f5c                                |     r0 = fcn_00001f5c ();
    0x00005832 cmp r0, 0                                 |     
                                                         |     if (r0 != 0) {
    0x00005834 bne 0x579c                                |         goto label_3;
                                                         |     }
    0x00005836 b 0x57ec                                  |     goto label_5;
                                                         | label_17:
    0x00005838 ldr r1, [pc, 0x78]                        |     
    0x0000583a mov r0, r6                                |     r0 = r6;
    0x0000583c add r1, pc                                |     r1 = 0xb0f4;
    0x0000583e blx 0x1f5c                                |     fcn_00001f5c ();
    0x00005842 b 0x579c                                  |     goto label_3;
                                                         | label_12:
    0x00005844 blx 0x1d1c                                |     fcn_00001d1c ();
    0x00005848 str r7, [sp, 0x308]                       |     *(arg_308h) = r7;
    0x0000584a movs r0, r0                               |     
    0x0000584c lsls r4, r3, 7                            |     r4 = r3 << 7;
    0x0000584e movs r0, r0                               |     
    0x00005850 adds r2, 6                                |     r2 += 6;
    0x00005852 movs r0, r0                               |     
    0x00005854 adds r2, 0x3c                             |     r2 += 0x3c;
    0x00005856 movs r0, r0                               |     
    0x00005858 adds r2, 0xb0                             |     r2 += 0xb0;
    0x0000585a movs r0, r0                               |     
    0x0000585c ldrb r4, [r0]                             |     r4 = *(r0);
    0x0000585e movs r0, r0                               |     
    0x00005860 strb r0, [r6, 0x1d]                       |     *((r6 + 0x1d)) = r0;
    0x00005862 movs r0, r0                               |     
    0x00005864 ldr r1, [sp, 0x308]                       |     r1 = *(arg_308h);
    0x00005866 movs r0, r0                               |     
    0x00005868 str r7, [sp, 0x50]                        |     var_50h = r7;
    0x0000586a movs r0, r0                               |     
    0x0000586c ldrb r6, [r1, 0x17]                       |     r6 = *((r1 + 0x17));
    0x0000586e movs r0, r0                               |     
    0x00005870 strb r4, [r1, 0x1d]                       |     *((r1 + 0x1d)) = r4;
    0x00005872 movs r0, r0                               |     
    0x00005874 strb r2, [r4, 0x1c]                       |     *((r4 + 0x1c)) = r2;
    0x00005876 movs r0, r0                               |     
    0x00005878 strb r2, [r3, 0x1e]                       |     *((r3 + 0x1e)) = r2;
    0x0000587a movs r0, r0                               |     
    0x0000587c ldr r1, [sp, 0xf8]                        |     r1 = var_f8h;
    0x0000587e movs r0, r0                               |     
    0x00005880 strb r2, [r4, 0x1e]                       |     *((r4 + 0x1e)) = r2;
    0x00005882 movs r0, r0                               |     
    0x00005884 ldr r1, [sp, 0x28]                        |     r1 = var_0h_4;
    0x00005886 movs r0, r0                               |     
    0x00005888 ldrb r4, [r6, 0x14]                       |     r4 = *((r6 + 0x14));
    0x0000588a movs r0, r0                               |     
    0x0000588c strb r6, [r6, 0x1b]                       |     *((r6 + 0x1b)) = r6;
    0x0000588e movs r0, r0                               |     
    0x00005890 ldrb r0, [r3, 0x14]                       |     r0 = *((r3 + 0x14));
    0x00005892 movs r0, r0                               |     
    0x00005894 strb r2, [r3, 0x1c]                       |     *((r3 + 0x1c)) = r2;
    0x00005896 movs r0, r0                               |     
    0x00005898 strb r2, [r1, 0x1d]                       |     *((r1 + 0x1d)) = r2;
    0x0000589a movs r0, r0                               |     
    0x0000589c strb r6, [r1, 0x1d]                       |     *((r1 + 0x1d)) = r6;
    0x0000589e movs r0, r0                               |     
    0x000058a0 ldr r0, [sp, 0x288]                       |     r0 = *(arg_288h);
    0x000058a2 movs r0, r0                               |     
    0x000058a4 ldrb r6, [r3, 0x18]                       |     r6 = *((r3 + 0x18));
    0x000058a6 movs r0, r0                               |     
    0x000058a8 strb r4, [r6, 0x1c]                       |     *((r6 + 0x1c)) = r4;
    0x000058aa movs r0, r0                               |     
    0x000058ac strb r2, [r0, 0x1c]                       |     *((r0 + 0x1c)) = r2;
    0x000058ae movs r0, r0                               |     
    0x000058b0 strb r4, [r0, 0x1c]                       |     *((r0 + 0x1c)) = r4;
    0x000058b2 movs r0, r0                               |     
    0x000058b4 strb r4, [r6, 0x1b]                       |     *((r6 + 0x1b)) = r4;
    0x000058b6 movs r0, r0                               |     
    0x000058b8 push {r4, r5, r6, r7, lr}                 |     
    0x000058ba mov r5, r2                                |     r5 = r2;
    0x000058bc ldr r2, [pc, 0xa4]                        |     
    0x000058be sub sp, 0x14                              |     
    0x000058c0 movs r6, 0                                |     r6 = 0;
    0x000058c2 ldr r3, [pc, 0xa4]                        |     r3 = *(0x596a);
    0x000058c4 add r2, pc                                |     r2 = 0xb22c;
    0x000058c6 ldr r3, [r2, r3]                          |     
    0x000058c8 ldr r3, [r3]                              |     r3 = *(0xb22c);
    0x000058ca str r3, [sp, 0xc]                         |     var_ch = r3;
    0x000058cc mov.w r3, 0                               |     r3 = 0;
    0x000058d0 str r6, [sp, 8]                           |     var_8h = r6;
                                                         |     if (r1 == 0) {
    0x000058d2 cbz r1, 0x590a                            |         goto label_19;
                                                         |     }
    0x000058d4 mov r4, r1                                |     r4 = r1;
    0x000058d6 ldr r3, [pc, 0x94]                        |     
    0x000058d8 ldr r1, [r1, 8]                           |     r1 = *((r1 + 8));
    0x000058da mov r0, r6                                |     r0 = r6;
    0x000058dc ldr r2, [pc, 0x90]                        |     
    0x000058de add r3, pc                                |     r3 = 0xb250;
    0x000058e0 str r1, [sp]                              |     *(sp) = r1;
    0x000058e2 mov.w r1, 0x100                           |     r1 = 0x100;
    0x000058e4 strb r0, [r0, 6]                          |     *((r0 + 6)) = r0;
    0x000058e6 add r2, pc                                |     r2 = 0xb25a;
    0x000058e8 blx 0x1b00                                |     fcn_00001b00 ();
    0x000058ec mov r0, r4                                |     r0 = r4;
    0x000058ee blx 0x1a60                                |     g_error_free ();
                                                         |     do {
    0x000058f2 ldr r2, [pc, 0x80]                        |         
    0x000058f4 ldr r3, [pc, 0x70]                        |         r3 = *(0x5968);
    0x000058f6 add r2, pc                                |         r2 = 0xb270;
    0x000058f8 ldr r3, [r2, r3]                          |         r3 = *(0xb270);
    0x000058fa ldr r2, [r3]                              |         r2 = *(0xb270);
    0x000058fc ldr r3, [sp, 0xc]                         |         r3 = var_ch;
    0x000058fe eors r2, r3                               |         r2 ^= r3;
    0x00005900 mov.w r3, 0                               |         r3 = 0;
                                                         |         if (r2 != r3) {
    0x00005904 bne 0x5960                                |             goto label_20;
                                                         |         }
    0x00005906 add sp, 0x14                              |         
    0x00005908 pop {r4, r5, r6, r7, pc}                  |         
                                                         | label_19:
    0x0000590a ldr r6, [pc, 0x6c]                        |         
    0x0000590c movs r2, 1                                |         r2 = 1;
    0x0000590e mov r7, r0                                |         r7 = r0;
    0x00005910 add r6, pc                                |         r6 = 0xb28e;
    0x00005912 mov r1, r6                                |         r1 = r6;
    0x00005914 blx 0x1b68                                |         g_dbus_connection_new_for_address ();
    0x00005916 stmdb r8!, {r2, sb, sl, lr}               |         __asm ("stmdb r8!, {r2, sb, sl, lr}");
                                                         |         if (r0 == 0) {
    0x0000591a cbz r0, 0x5944                            |             goto label_21;
                                                         |         }
    0x0000591c add r2, sp, 8                             |         r2 += var_8h;
    0x0000591e mov r1, r6                                |         r1 = r6;
    0x00005920 mov r0, r7                                |         r0 = r7;
    0x00005922 blx 0x1d10                                |         fcn_00001d10 ();
    0x00005926 ldr r0, [sp, 8]                           |         r0 = var_8h;
    0x00005928 ldrd r1, r2, [r5]                         |         __asm ("ldrd r1, r2, [r5]");
    0x0000592c bl 0x525c                                 |         fcn_0000525c (r0, r1, r2, r3, r4, r5, r6);
    0x00005930 ldr r0, [sp, 8]                           |         r0 = var_8h;
    0x00005932 blx 0x1d5c                                |         fcn_00001d5c ();
                                                         | label_6:
    0x00005936 mov r0, r5                                |         r0 = r5;
    0x00005938 blx 0x1d44                                |         fcn_00001d44 ();
    0x0000593a and.w r6, r4, r8, ror 16                  |         r6 = r4 & (r8 >>> 16);
    0x0000593e blx 0x1d5c                                |         fcn_00001d5c ();
    0x00005942 b 0x58f2                                  |         
                                                         |     } while (1);
                                                         | label_21:
    0x00005944 mov r0, r7                                |     r0 = r7;
    0x00005946 blx 0x1aac                                |     r0 = fcn_00001aac ();
    0x0000594a mov r2, r0                                |     r2 = r0;
    0x0000594c ldr r3, [pc, 0x2c]                        |     
    0x0000594e str r2, [sp]                              |     *(sp) = r2;
    0x00005950 mov r0, r4                                |     r0 = r4;
    0x00005952 ldr r2, [pc, 0x2c]                        |     
    0x00005954 movs r1, 0x10                             |     r1 = 0x10;
    0x00005956 add r3, pc                                |     r3 = 0xb2d6;
    0x00005958 add r2, pc                                |     r2 = 0xb2de;
    0x0000595a blx 0x1b00                                |     fcn_00001b00 ();
    0x0000595e b 0x5936                                  |     goto label_6;
                                                         | label_20:
    0x00005960 blx 0x1d1c                                |     fcn_00001d1c ();
    0x00005964 str r5, [sp, 0xe0]                        |     var_e0h = r5;
    0x00005966 movs r0, r0                               |     
    0x00005968 lsls r4, r3, 7                            |     r4 = r3 << 7;
    0x0000596a movs r0, r0                               |     
    0x0000596c ldrb r2, [r0, 0x10]                       |     r2 = *((r0 + 0x10));
    0x0000596e movs r0, r0                               |     
    0x00005970 strb r6, [r3, 0x19]                       |     *((r3 + 0x19)) = r6;
    0x00005972 movs r0, r0                               |     
    0x00005974 str r5, [sp, 0x18]                        |     var_18h = r5;
    0x00005976 movs r0, r0                               |     
    0x00005978 strb r0, [r3, 0x19]                       |     *((r3 + 0x19)) = r0;
    0x0000597a movs r0, r0                               |     
    0x0000597c ldrb r2, [r1, 0xe]                        |     r2 = *((r1 + 0xe));
    0x0000597e movs r0, r0                               |     
    0x00005980 strb r4, [r2, 0x18]                       |     *((r2 + 0x18)) = r4;
    0x00005982 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/sbin/ntpconfd @ 0x63e0 */
                                                     | #include <stdint.h>
                                                     |  
    ; (fcn) fcn.000063e0 ()                          | void fcn_000063e0 (int16_t arg1) {
                                                     |     int16_t var_0h;
                                                     |     int16_t var_ch;
                                                     |     int16_t var_10h;
                                                     |     int16_t var_14h;
                                                     |     r0 = arg1;
    0x000063e0 blmi 0xfe618e44                       |     __asm ("blmi aav.0x00008a12");
    0x000063e4 push.w {r4, r5, r6, r7, r8, lr}       |     
    0x000063e8 mov r5, r0                            |     r5 = r0;
    0x000063ea add r2, pc                            |     r2 += pc;
    0x000063ec ldr r0, [pc, 0x258]                   |     
    0x000063ee sub sp, 0x18                          |     
    0x000063f0 ldr r3, [r2, r3]                      |     r3 = *((r2 + r3));
    0x000063f2 add r0, pc                            |     r0 = 0xca3e;
    0x000063f4 ldr r3, [r3]                          |     r3 = *(r3);
    0x000063f6 str r3, [sp, 0x14]                    |     var_14h = r3;
    0x000063f8 mov.w r3, 0                           |     r3 = 0;
    0x000063fc blx 0x1be0                            |     g_strdup_printf ()
    0x00006400 ldr r3, [pc, 0x248]                   |     
    0x00006402 mov r4, r0                            |     r4 = r0;
    0x00006404 add r3, pc                            |     
    0x00006406 ldr r3, [r3]                          |     r3 = *(0xca54);
    0x00006408 cmp r3, 0                             |     
                                                     |     if (r3 != 0) {
    0x0000640a bne 0x649a                            |         goto label_10;
                                                     |     }
    0x0000640c ldr r3, [pc, 0x240]                   |     
    0x0000640e add r3, pc                            |     
    0x00006410 ldr r3, [r3, 0x14]                    |     r3 = *(0xca76);
    0x00006412 cmp r3, 0                             |     
                                                     |     if (r3 == 0) {
    0x00006414 beq.w 0x65e4                          |         goto label_11;
                                                     |     }
                                                     | label_4:
    0x00006418 movs r6, 0                            |     r6 = 0;
                                                     | label_6:
    0x0000641a cmp r5, 0                             |     
                                                     |     if (r5 != 0) {
    0x0000641c bne.w 0x657e                          |         goto label_12;
                                                     |     }
                                                     | label_2:
    0x00006420 ldr r1, [pc, 0x230]                   |     
    0x00006422 movs r7, 0                            |     r7 = 0;
    0x00006424 add r1, pc                            |     r1 = 0xca7c;
                                                     | label_1:
    0x00006426 ldr r0, [pc, 0x230]                   |     
    0x00006428 add r0, pc                            |     r0 = 0xca86;
    0x0000642a blx 0x1c04                            |     r0 = g_list_remove ();
    0x0000642e mov r5, r0                            |     r5 = r0;
    0x00006430 mov r0, r7                            |     r0 = r7;
    0x00006432 blx 0x1d44                            |     fcn_00001d44 ();
    0x00006436 orrs.w r3, r5, r6                     |     r3 = r5 | r6;
                                                     |     if (r3 == r5) {
    0x0000643a beq.w 0x65e4                          |         goto label_11;
                                                     |     }
    0x0000643e mov r7, r6                            |     r7 = r6;
    0x00006440 cmp r6, 0                             |     
                                                     |     if (r6 == 0) {
    0x00006442 beq.w 0x6598                          |         goto label_13;
                                                     |     }
                                                     | label_3:
    0x00006446 mov r8, r5                            |     r8 = r5;
    0x00006448 cmp r5, 0                             |     
    0x0000644a beq.w 0x6554                          |     
                                                     |     while (1) {
    0x0000644e ldr r0, [pc, 0x20c]                   |         
    0x00006450 mov r3, r5                            |         r3 = r5;
    0x00006452 mov r2, r7                            |         r2 = r7;
    0x00006454 mov r1, r4                            |         r1 = r4;
    0x00006456 add r0, pc                            |         r0 = 0xcab8;
    0x00006458 blx 0x1c04                            |         r0 = g_list_remove ();
    0x0000645c mov r5, r0                            |         r5 = r0;
    0x0000645e bl 0x8238                             |         fcn_00008238 (r0);
    0x00006462 mov r0, r5                            |         r0 = r5;
    0x00006464 movs r5, 1                            |         r5 = 1;
    0x00006466 blx 0x1d44                            |         fcn_00001d44 ();
                                                     | label_5:
    0x0000646a mov r0, r4                            |         r0 = r4;
    0x0000646c blx 0x1d44                            |         fcn_00001d44 ();
    0x00006470 mov r0, r6                            |         r0 = r6;
    0x00006472 blx 0x1d44                            |         fcn_00001d44 ();
    0x00006474 stcl p6, c4, [r8], -0x100             |         __asm ("stcl p6, c4, [r8], -0x100");
    0x00006478 blx 0x1d44                            |         fcn_00001d44 ();
    0x0000647c ldr r2, [pc, 0x1e0]                   |         
    0x0000647e ldr r3, [pc, 0x1c4]                   |         r3 = *(0x6646);
    0x00006480 add r2, pc                            |         r2 = 0xcae4;
    0x00006482 ldr r3, [r2, r3]                      |         r3 = *(0xcae4);
    0x00006484 ldr r2, [r3]                          |         r2 = *(0xcae4);
    0x00006486 ldr r3, [sp, 0x14]                    |         r3 = var_14h;
    0x00006488 eors r2, r3                           |         r2 ^= r3;
    0x0000648a mov.w r3, 0                           |         r3 = 0;
                                                     |         if (r2 != r3) {
    0x0000648e bne.w 0x663a                          |             goto label_14;
                                                     |         }
    0x00006492 mov r0, r5                            |         r0 = r5;
    0x00006494 add sp, 0x18                          |         
    0x00006496 pop.w {r4, r5, r6, r7, r8, pc}        |         
                                                     | label_10:
    0x0000649a ldr r6, [pc, 0x1c8]                   |         
    0x0000649c add r6, pc                            |         r6 = 0xcb06;
    0x0000649e ldr r3, [r6, 8]                       |         r3 = *(0xcb0e);
    0x000064a0 cmp r3, 0                             |         
                                                     |         if (r3 == 0) {
    0x000064a2 beq 0x655e                            |             goto label_15;
                                                     |         }
    0x000064a4 blx 0x1dd0                            |         fcn_00001dd0 ();
    0x000064a8 movs r1, 1                            |         r1 = 1;
    0x000064aa mov r3, r0                            |         r3 = r0;
    0x000064ac ldr r0, [r6, 4]                       |         r0 = *((r6 + 4));
    0x000064ae mov r6, r3                            |         r6 = r3;
    0x000064b0 bl 0x6350                             |         r0 = fcn_00006350 (r0, r1);
    0x000064b4 mov r7, r0                            |         r7 = r0;
    0x000064b6 cmp r0, 0                             |         
                                                     |         if (r0 == 0) {
    0x000064b8 beq.w 0x6622                          |             goto label_16;
                                                     |         }
    0x000064bc mov r2, r0                            |         r2 = r0;
    0x000064be ldr r0, [pc, 0x1a8]                   |         
    0x000064c0 mov r1, r6                            |         r1 = r6;
    0x000064c2 add r0, pc                            |         r0 = 0xcb30;
    0x000064c4 blx 0x1c04                            |         r0 = g_list_remove ();
    0x000064c8 mov r6, r0                            |         r6 = r0;
    0x000064ca mov r0, r7                            |         r0 = r7;
    0x000064cc blx 0x1d44                            |         fcn_00001d44 ();
                                                     | label_0:
    0x000064d0 cmp r6, 0                             |         
                                                     |         if (r6 == 0) {
    0x000064d2 beq.w 0x6636                          |             goto label_17;
                                                     |         }
    0x000064d6 mov.w r8, 0                           |         r8 = 0;
    0x000064da str.w r8, [sp, 0xc]                   |         __asm ("str.w r8, [var_ch]");
    0x000064de blx 0x1ab8                            |         r0 = fcn_00001ab8 ();
    0x000064e2 mov r7, r0                            |         r7 = r0;
    0x000064e4 cmp r0, 0                             |         
                                                     |         if (r0 != 0) {
    0x000064e6 bne.w 0x65f2                          |             goto label_18;
                                                     |         }
    0x000064ea add r0, sp, 0xc                       |         r0 += var_ch;
    0x000064ec blx 0x1cc4                            |         r0 = g_strv_length ();
    0x000064f0 mov r8, r0                            |         r8 = r0;
    0x000064f2 cmp r0, 0                             |         
                                                     |         if (r0 != 0) {
    0x000064f4 bne.w 0x6606                          |             goto label_19;
                                                     |         }
    0x000064f6 strh r7, [r0, 4]                      |         *((r0 + 4)) = r7;
    0x000064f8 ldr r3, [sp, 0xc]                     |         r3 = var_ch;
    0x000064fa cmp r3, 0                             |         
                                                     |         if (r3 == 0) {
    0x000064fc beq 0x65b0                            |             goto label_20;
                                                     |         }
    0x000064fe ldr r0, [r3]                          |         r0 = *(r3);
    0x00006500 cmp r0, 0                             |         
                                                     |         if (r0 == 0) {
    0x00006502 beq 0x65b0                            |             goto label_20;
                                                     |         }
    0x00006504 add r1, sp, 0x10                      |         r1 += var_10h;
    0x00006506 blx 0x1b50                            |         r0 = g_variant_check_format_string ();
    0x0000650a mov r3, r0                            |         r3 = r0;
    0x0000650c cmp r0, 0                             |         
                                                     |         if (r0 != 0) {
    0x0000650e bne 0x659e                            |             goto label_21;
                                                     |         }
    0x00006510 ldr r0, [sp, 0x10]                    |         r0 = var_10h;
    0x00006512 blx 0x1be0                            |         r0 = g_strdup_printf ()
    0x00006516 mov r8, r0                            |         r8 = r0;
    0x00006518 blx 0x1ddc                            |         fcn_00001ddc ();
    0x0000651c ldr r0, [sp, 0xc]                     |         r0 = var_ch;
                                                     |         if (r0 != 0) {
    0x0000651e cbz r0, 0x6524                        |             
    0x00006520 blx 0x19e8                            |             net_device_array_free ();
                                                     |         }
    0x00006524 cmp.w r8, 0                           |         
                                                     |         if (r8 == 0) {
    0x00006528 beq 0x65bc                            |             goto label_7;
                                                     |         }
    0x0000652a ldr r0, [pc, 0x140]                   |         
    0x0000652c mov r2, r6                            |         r2 = r6;
    0x0000652e mov r1, r8                            |         r1 = r8;
    0x00006530 add r0, pc                            |         r0 = 0xcba2;
    0x00006532 blx 0x1c04                            |         r0 = g_list_remove ();
    0x00006536 mov r7, r0                            |         r7 = r0;
    0x00006538 mov r0, r8                            |         r0 = r8;
    0x0000653a blx 0x1d44                            |         fcn_00001d44 ();
    0x0000653c invalid                               |         
    0x00006540 blx 0x1d44                            |         fcn_00001d44 ();
    0x00006544 ldr r3, [pc, 0x128]                   |         
    0x00006546 add r3, pc                            |         
    0x00006548 ldr r3, [r3, 0x14]                    |         r3 = *(0xcbce);
    0x0000654a cmp r3, 0                             |         
                                                     |         if (r3 != 0) {
    0x0000654c bne 0x65ee                            |             goto label_22;
                                                     |         }
    0x0000654e cmp r7, 0                             |         
                                                     |         if (r7 == 0) {
    0x00006550 beq 0x65e4                            |             goto label_11;
                                                     |         }
    0x00006552 mov r6, r7                            |         r6 = r7;
    0x00006554 ldr r5, [pc, 0x11c]                   |         
    0x00006556 mov.w r8, 0                           |         r8 = 0;
    0x0000655a add r5, pc                            |         r5 = 0xcbd2;
    0x0000655c b 0x644e                              |         
                                                     |     }
                                                     | label_15:
    0x0000655e ldr r3, [r6, 0x10]                    |     r3 = *((r6 + 0x10));
    0x00006560 ldr r0, [r6]                          |     r0 = *(r6);
                                                     |     if (r3 == 0) {
    0x00006562 cbnz r3, 0x6574                       |         
    0x00006564 ldr r3, [r6, 0x20]                    |         r3 = *((r6 + 0x20));
                                                     |         if (r3 == 0) {
    0x00006566 cbz r3, 0x6574                        |             goto label_23;
                                                     |         }
    0x00006568 ldr r2, [r3]                          |         r2 = *(r3);
                                                     |         if (r2 == 0) {
    0x0000656a cbz r2, 0x6574                        |             goto label_23;
                                                     |         }
    0x0000656c ldrb r2, [r2]                         |         r2 = *(r2);
    0x0000656e cmp r2, 0                             |         
    0x00006570 it ne                                 |         
                                                     |         if (r2 != 0) {
    0x00006572 movne r0, r3                          |             r0 = r3;
                                                     |             goto label_23;
                                                     |         }
                                                     |     }
                                                     | label_23:
    0x00006574 movs r1, 0                            |     r1 = 0;
    0x00006576 bl 0x6350                             |     r0 = fcn_00006350 (r0, r1);
    0x0000657a mov r6, r0                            |     r6 = r0;
    0x0000657c b 0x64d0                              |     goto label_0;
                                                     | label_12:
    0x0000657e ldr r3, [pc, 0xf8]                    |     
    0x00006580 ldr r0, [pc, 0xf8]                    |     
    0x00006582 add r3, pc                            |     r3 = 0xcc00;
    0x00006584 ldr r1, [r3, 8]                       |     r1 = *(0xcc08);
    0x00006586 add r0, pc                            |     r0 = 0xcc06;
    0x00006588 blx 0x1c04                            |     r0 = g_list_remove ();
    0x0000658c mov r1, r0                            |     r1 = r0;
    0x0000658e mov r7, r0                            |     r7 = r0;
    0x00006590 cmp r0, 0                             |     
                                                     |     if (r0 != 0) {
    0x00006592 bne.w 0x6426                          |         goto label_1;
                                                     |     }
    0x00006596 b 0x6420                              |     goto label_2;
                                                     | label_13:
    0x00006598 ldr r7, [pc, 0xe4]                    |     
    0x0000659a add r7, pc                            |     r7 = 0xcc1e;
    0x0000659c b 0x6446                              |     goto label_3;
                                                     | label_21:
    0x0000659e ldr r2, [pc, 0xe4]                    |     
    0x000065a0 mov r0, r8                            |     r0 = r8;
    0x000065a2 str r3, [sp]                          |     *(sp) = r3;
    0x000065a4 movs r1, 0x10                         |     r1 = 0x10;
    0x000065a6 ldr r3, [pc, 0xe0]                    |     
    0x000065a8 add r2, pc                            |     r2 = 0xcc32;
    0x000065aa add r3, pc                            |     r3 = 0xcc38;
    0x000065ac blx 0x1b00                            |     fcn_00001b00 ();
                                                     | label_20:
    0x000065b0 blx 0x1ddc                            |     fcn_00001ddc ();
    0x000065b4 ldr r0, [sp, 0xc]                     |     r0 = var_ch;
                                                     |     if (r0 != 0) {
    0x000065b6 cbz r0, 0x65bc                        |         
                                                     | label_8:
    0x000065b8 blx 0x19e8                            |         net_device_array_free ();
                                                     |     }
                                                     | label_7:
    0x000065bc ldr r3, [pc, 0xcc]                    |     
    0x000065be movs r1, 0x40                         |     r1 = 0x40;
    0x000065c0 ldr r2, [pc, 0xcc]                    |     
    0x000065c2 movs r0, 0                            |     r0 = 0;
    0x000065c4 add r3, pc                            |     r3 = 0xcc54;
    0x000065c6 add r2, pc                            |     r2 = 0xcc5a;
    0x000065c8 blx 0x1b00                            |     fcn_00001b00 ();
                                                     | label_9:
    0x000065cc movs r0, 0                            |     r0 = 0;
    0x000065ce blx 0x1d44                            |     fcn_00001d44 ();
    0x000065d2 mov r0, r6                            |     r0 = r6;
    0x000065d4 blx 0x1d44                            |     fcn_00001d44 ();
    0x000065d8 ldr r3, [pc, 0xb8]                    |     
    0x000065da add r3, pc                            |     
    0x000065dc ldr r3, [r3, 0x14]                    |     r3 = *(0xcc86);
    0x000065de cmp r3, 0                             |     
                                                     |     if (r3 != 0) {
    0x000065e0 bne.w 0x6418                          |         goto label_4;
                                                     |     }
                                                     | label_11:
    0x000065e4 mov.w r8, 0                           |     r8 = 0;
    0x000065e8 mov r6, r8                            |     r6 = r8;
    0x000065ea mov r5, r8                            |     r5 = r8;
    0x000065ec b 0x646a                              |     goto label_5;
                                                     | label_22:
    0x000065ee mov r6, r7                            |     r6 = r7;
    0x000065f0 b 0x641a                              |     goto label_6;
                                                     | label_18:
    0x000065f2 ldr r3, [pc, 0xa4]                    |     
    0x000065f4 mov r0, r8                            |     r0 = r8;
    0x000065f6 ldr r2, [pc, 0xa4]                    |     
    0x000065f8 movs r1, 0x10                         |     r1 = 0x10;
    0x000065fa str r7, [sp]                          |     *(sp) = r7;
    0x000065fc add r3, pc                            |     r3 = 0xcc9a;
    0x000065fe add r2, pc                            |     r2 = 0xcca0;
    0x00006600 blx 0x1b00                            |     fcn_00001b00 ();
    0x00006604 b 0x65bc                              |     goto label_7;
                                                     | label_19:
    0x00006606 ldr r3, [pc, 0x98]                    |     
    0x00006608 mov r0, r7                            |     r0 = r7;
    0x0000660a ldr r2, [pc, 0x98]                    |     
    0x0000660c movs r1, 0x40                         |     r1 = 0x40;
    0x0000660e add r3, pc                            |     r3 = 0xccb4;
    0x00006610 add r2, pc                            |     r2 = 0xccba;
    0x00006612 blx 0x1b00                            |     fcn_00001b00 ();
    0x00006616 blx 0x1ddc                            |     fcn_00001ddc ();
    0x0000661a ldr r0, [sp, 0xc]                     |     r0 = var_ch;
    0x0000661c cmp r0, 0                             |     
                                                     |     if (r0 != 0) {
    0x0000661e bne 0x65b8                            |         goto label_8;
                                                     |     }
    0x00006620 b 0x65bc                              |     goto label_7;
                                                     | label_16:
    0x00006622 ldr r3, [pc, 0x84]                    |     
    0x00006624 movs r1, 0x40                         |     r1 = 0x40;
    0x00006626 ldr r2, [pc, 0x84]                    |     
    0x00006628 add r3, pc                            |     r3 = 0xccd6;
    0x0000662a add r2, pc                            |     r2 = 0xccdc;
    0x0000662c blx 0x1b00                            |     fcn_00001b00 ();
    0x00006630 mov r0, r7                            |     r0 = r7;
    0x00006632 blx 0x1d44                            |     fcn_00001d44 ();
                                                     | label_17:
    0x00006636 movs r6, 0                            |     r6 = 0;
    0x00006638 b 0x65cc                              |     goto label_9;
                                                     | label_14:
    0x0000663a blx 0x1d1c                            |     fcn_00001d1c ();
    0x0000663e nop                                   |     
    0x00006640 ldrh r2, [r2, 0x10]                   |     r2 = *((r2 + 0x10));
    0x00006642 movs r0, r0                           |     
    0x00006644 lsls r4, r3, 7                        |     r4 = r3 << 7;
    0x00006646 movs r0, r0                           |     
    0x00006648 ldr r6, [r6, 0x78]                    |     r6 = *((r6 + 0x78));
    0x0000664a movs r0, r0                           |     
    0x0000664c ldrh r0, [r0, 0x20]                   |     r0 = *((r0 + 0x20));
    0x0000664e movs r0, r0                           |     
    0x00006650 ldrh r6, [r4, 0x24]                   |     r6 = *((r4 + 0x24));
    0x00006652 movs r0, r0                           |     
    0x00006654 strb r4, [r7, 2]                      |     *((r7 + 2)) = r4;
    0x00006656 movs r0, r0                           |     
    0x00006658 strb r0, [r6, 2]                      |     *((r6 + 2)) = r0;
    0x0000665a movs r0, r0                           |     
    0x0000665c strb r6, [r1, 2]                      |     *((r1 + 2)) = r6;
    0x0000665e movs r0, r0                           |     
    0x00006660 ldrh r4, [r7, 0xa]                    |     r4 = *((r7 + 0xa));
    0x00006662 movs r0, r0                           |     
    0x00006664 ldrh r0, [r3, 0x20]                   |     r0 = *((r3 + 0x20));
    0x00006666 movs r0, r0                           |     
    0x00006668 ldr r2, [r7, 0x70]                    |     r2 = *((r7 + 0x70));
    0x0000666a movs r0, r0                           |     
    0x0000666c ldr r0, [r0, 0x78]                    |     r0 = *((r0 + 0x78));
    0x0000666e movs r0, r0                           |     
    0x00006670 ldrh r6, [r5, 0x1a]                   |     r6 = *((r5 + 0x1a));
    0x00006672 movs r0, r0                           |     
    0x00006674 ldr r6, [r0, 0x78]                    |     r6 = *((r0 + 0x78));
    0x00006676 movs r0, r0                           |     
    0x00006678 ldrh r2, [r0, 0x14]                   |     r2 = *((r0 + 0x14));
    0x0000667a movs r0, r0                           |     
    0x0000667c ldr r6, [r7, 0x70]                    |     r6 = *((r7 + 0x70));
    0x0000667e movs r0, r0                           |     
    0x00006680 ldr r6, [r0, 0x74]                    |     r6 = *((r0 + 0x74));
    0x00006682 movs r0, r0                           |     
    0x00006684 ldr r0, [r5, 0x68]                    |     r0 = *((r5 + 0x68));
    0x00006686 movs r0, r0                           |     
    0x00006688 ldr r6, [r6, 0x70]                    |     r6 = *((r6 + 0x70));
    0x0000668a movs r0, r0                           |     
    0x0000668c ldr r4, [r3, 0x70]                    |     r4 = *((r3 + 0x70));
    0x0000668e movs r0, r0                           |     
    0x00006690 ldr r6, [r6, 0x68]                    |     r6 = *((r6 + 0x68));
    0x00006692 movs r0, r0                           |     
    0x00006694 ldrh r2, [r3, 0x16]                   |     r2 = *((r3 + 0x16));
    0x00006696 movs r0, r0                           |     
    0x00006698 ldr r4, [r4, 0x6c]                    |     r4 = *((r4 + 0x6c));
    0x0000669a movs r0, r0                           |     
    0x0000669c ldr r6, [r1, 0x2c]                    |     r6 = *((r1 + 0x2c));
    0x0000669e movs r0, r0                           |     
    0x000066a0 ldr r2, [r2, 0x6c]                    |     r2 = *((r2 + 0x6c));
    0x000066a2 movs r0, r0                           |     
    0x000066a4 ldr r4, [r4, 0x60]                    |     r4 = *((r4 + 0x60));
    0x000066a6 movs r0, r0                           |     
    0x000066a8 ldr r0, [r7, 0x68]                    |     r0 = *((r7 + 0x68));
    0x000066aa movs r0, r0                           |     
    0x000066ac ldr r6, [r6, 0x58]                    |     r6 = *((r6 + 0x58));
    0x000066ae 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/sbin/ntpconfd @ 0x7784 */
                                                         | #include <stdint.h>
                                                         |  
    ; (fcn) fcn.00007784 ()                              | void fcn_00007784 (int16_t arg1, int16_t arg2) {
                                                         |     r0 = arg1;
                                                         |     r1 = arg2;
    0x00007784 invalid                                   |     
    0x00007788 mov r4, r0                                |     r4 = r0;
    0x0000778a ldr r7, [pc, 0x184]                       |     
    0x0000778c mov r5, r1                                |     r5 = r1;
    0x0000778e blx 0x1af0                                |     r0 = g_log ();
    0x00007792 cmp r0, 5                                 |     
    0x00007794 add r7, pc                                |     r7 = 0xf0aa;
                                                         |     if (r0 > 5) {
    0x00007796 bhi 0x7860                                |         goto label_4;
                                                         |     }
                                                         |     if (r4 == 0) {
    0x00007798 cbz r4, 0x77da                            |         goto label_5;
                                                         |     }
    0x0000779a ldr r0, [r4]                              |     r0 = *(r4);
                                                         |     if (r0 == 0) {
    0x0000779c cbz r0, 0x77da                            |         goto label_5;
                                                         |     }
    0x0000779e ldrb r3, [r0]                             |     r3 = *(r0);
                                                         |     if (r3 == 0) {
    0x000077a0 cbz r3, 0x77da                            |         goto label_5;
                                                         |     }
    0x000077a2 ldr r1, [pc, 0x170]                       |     
    0x000077a4 mov r6, r4                                |     r6 = r4;
    0x000077a6 add r1, pc                                |     r1 = 0xf0c0;
    0x000077a8 blx 0x1f5c                                |     r0 = fcn_00001f5c ();
                                                         |     if (r0 != 0) {
    0x000077ac cbnz r0, 0x77b8                           |         goto label_6;
                                                         |     }
    0x000077ae b 0x77da                                  |     goto label_5;
                                                         |     do {
    0x000077b0 ldr r6, [r6, 4]                           |         r6 = *((r6 + 4));
    0x000077b2 cmp r6, 0                                 |         
                                                         |         if (r6 == 0) {
    0x000077b4 beq.w 0x78fe                              |             goto label_7;
                                                         |         }
                                                         | label_6:
    0x000077b8 ldr r0, [r6]                              |         r0 = *(r6);
    0x000077ba bl 0x2290                                 |         fcn_00002290 (r0);
    0x000077bc stc2l p8, c2, [sb, -0]!                   |         __asm ("stc2l p8, c2, [sb, -0]!");
    0x000077c0 bne 0x77b0                                |         
                                                         |     } while (r6 != 0);
    0x000077c2 cmp r5, 0                                 |     
                                                         |     if (r5 == 0) {
    0x000077c4 beq 0x786c                                |         goto label_8;
                                                         |     }
    0x000077c6 ldr r1, [r6]                              |     r1 = *(r6);
    0x000077c8 cmp r1, 0                                 |     
                                                         |     if (r1 == 0) {
    0x000077ca beq.w 0x7904                              |         goto label_9;
                                                         |     }
                                                         | label_2:
    0x000077ce ldr r0, [pc, 0x148]                       |     
    0x000077d0 add r0, pc                                |     r0 = 0xf0ee;
    0x000077d2 blx 0x1c04                                |     g_list_remove ();
    0x000077d6 str r0, [r5]                              |     *(r5) = r0;
    0x000077d8 b 0x786c                                  |     goto label_8;
                                                         | label_5:
    0x000077da mov r0, r4                                |     r0 = r4;
    0x000077dc blx 0x1af0                                |     r0 = g_log ();
    0x000077e0 cmp r0, 1                                 |     
    0x000077e2 bhi 0x784e                                |     
                                                         |     while (1) {
    0x000077e4 ldr r3, [pc, 0x134]                       |         r3 = *(0x791c);
    0x000077e6 mov r0, r4                                |         r0 = r4;
    0x000077e8 ldr r7, [r7, r3]                          |         r7 = *((r7 + r3));
    0x000077ea mov r1, r7                                |         r1 = r7;
    0x000077ec blx 0x1d04                                |         fcn_00001d04 ();
    0x000077f0 movs r1, 0                                |         r1 = 0;
    0x000077f2 mov r0, r1                                |         r0 = r1;
    0x000077f4 blx 0x1b44                                |         r0 = g_variant_new_int32 ();
    0x000077f8 mov r4, r0                                |         r4 = r0;
                                                         | label_1:
    0x000077fa ldr.w r8, [pc, 0x124]                     |         
    0x000077fe mov r0, r4                                |         r0 = r4;
    0x00007800 movs r6, 1                                |         r6 = 1;
    0x00007802 add r8, pc                                |         r8 = 0xf128;
    0x00007804 ldr.w r1, [r8]                            |         r1 = imp.__stack_chk_guard;
    0x00007808 bl 0x21fc                                 |         r0 = fcn_000021fc (r0, r1, r2);
                                                         |         if (r0 != 0) {
    0x0000780c cbz r0, 0x781c                            |             
                                                         | label_0:
    0x0000780e mov r0, r4                                |             r0 = r4;
    0x00007810 mov r1, r7                                |             r1 = r7;
    0x00007812 blx 0x1d04                                |             fcn_00001d04 ();
    0x00007816 mov r0, r6                                |             r0 = r6;
    0x00007818 pop.w {r3, r4, r5, r6, r7, r8, sb, pc}    |             
                                                         |         }
    0x0000781c ldr.w sb, [r8]                            |         sb = *(r8);
    0x00007820 str.w r4, [r8]                            |         __asm ("str.w r4, [r8]");
    0x00007824 bl 0x6178                                 |         r0 = fcn_00006178 ();
    0x00007828 mov r6, r0                                |         r6 = r0;
                                                         |         if (r0 != 0) {
    0x0000782a cbnz r0, 0x7874                           |             goto label_10;
                                                         |         }
                                                         |         if (r5 != 0) {
    0x0000782c cbz r5, 0x7838                            |             
    0x0000782e ldr r0, [pc, 0xf4]                        |             
    0x00007830 add r0, pc                                |             r0 = 0xf15a;
    0x00007832 blx 0x1c04                                |             g_list_remove ();
    0x00007836 str r0, [r5]                              |             *(r5) = r0;
                                                         |         }
    0x00007838 ldr r3, [pc, 0xec]                        |         
    0x0000783a mov r0, r4                                |         r0 = r4;
    0x0000783c mov r1, r7                                |         r1 = r7;
    0x0000783e add r3, pc                                |         r3 = 0xf16a;
    0x00007840 str.w sb, [r3]                            |         __asm ("str.w sb, [r3]");
    0x00007844 blx 0x1d04                                |         fcn_00001d04 ();
    0x00007848 mov r0, r6                                |         r0 = r6;
    0x0000784a pop.w {r3, r4, r5, r6, r7, r8, sb, pc}    |         
    0x0000784e ldr r3, [pc, 0xdc]                        |         
    0x00007850 movs r1, 0x10                             |         r1 = 0x10;
    0x00007852 ldr r2, [pc, 0xdc]                        |         
    0x00007854 movs r0, 0                                |         r0 = 0;
    0x00007856 add r3, pc                                |         r3 = 0xf188;
    0x00007858 add r2, pc                                |         r2 = 0xf18e;
    0x0000785a blx 0x1b00                                |         fcn_00001b00 ();
    0x0000785e b 0x77e4                                  |         
                                                         |     }
                                                         |     if (r5 != 0) {
                                                         | label_4:
    0x00007860 cbz r5, 0x786c                            |         
    0x00007862 ldr r0, [pc, 0xd0]                        |         
    0x00007864 add r0, pc                                |         r0 = 0xf19e;
    0x00007866 blx 0x1be0                                |         g_strdup_printf ()
    0x0000786a str r0, [r5]                              |         *(r5) = r0;
                                                         |     }
                                                         | label_8:
    0x0000786c ldr r3, [pc, 0xac]                        |     r3 = *(0x791c);
    0x0000786e movs r6, 0                                |     r6 = 0;
    0x00007870 ldr r7, [r7, r3]                          |     r7 = *((r7 + r3));
    0x00007872 b 0x780e                                  |     goto label_0;
                                                         | label_10:
    0x00007874 mov r1, r7                                |     r1 = r7;
    0x00007876 mov r0, sb                                |     r0 = sb;
    0x00007878 blx 0x1d04                                |     fcn_00001d04 ();
    0x0000787c ldr r3, [pc, 0xb8]                        |     
    0x0000787e add r3, pc                                |     
    0x00007880 ldr r3, [r3]                              |     r3 = imp.__stack_chk_guard;
                                                         |     if (r3 != 0) {
    0x00007882 cbz r3, 0x78bc                            |         
    0x00007884 ldr.w r3, [r8, 8]                         |         r3 = *((r8 + 8));
                                                         |         if (r3 != 0) {
    0x00007888 cbnz r3, 0x78bc                           |             goto label_3;
                                                         |         }
    0x0000788a ldr.w r3, [r8, 0x10]                      |         r3 = *((r8 + 0x10));
    0x0000788e cmp r3, 1                                 |         
                                                         |         if (r3 != 1) {
    0x00007890 beq 0x78a0                                |             
    0x00007892 ldr.w r3, [r8, 0x20]                      |             r3 = *((r8 + 0x20));
                                                         |             if (r3 == 0) {
    0x00007896 cbz r3, 0x78a0                            |                 goto label_11;
                                                         |             }
    0x00007898 ldr r3, [r3]                              |             r3 = *(r3);
                                                         |             if (r3 == 0) {
    0x0000789a cbz r3, 0x78a0                            |                 goto label_11;
                                                         |             }
    0x0000789c ldrb r3, [r3]                             |             r3 = *(r3);
                                                         |             if (r3 != 0) {
    0x0000789e cbnz r3, 0x78bc                           |                 goto label_3;
                                                         |             }
                                                         |         }
                                                         | label_11:
    0x000078a0 ldr r3, [pc, 0x98]                        |         
    0x000078a2 add r3, pc                                |         
    0x000078a4 ldr r3, [r3]                              |         r3 = imp.__stack_chk_guard;
                                                         |         if (r3 != 0) {
    0x000078a6 cbz r3, 0x78b0                            |             
    0x000078a8 ldr r3, [r3]                              |             r3 = *(r3);
                                                         |             if (r3 == 0) {
    0x000078aa cbz r3, 0x78b0                            |                 goto label_12;
                                                         |             }
    0x000078ac ldrb r3, [r3]                             |             r3 = *(r3);
                                                         |             if (r3 != 0) {
    0x000078ae cbnz r3, 0x78b8                           |                 goto label_13;
                                                         |             }
                                                         |         }
                                                         | label_12:
    0x000078b0 ldr r3, [pc, 0x8c]                        |         
    0x000078b2 add r3, pc                                |         
    0x000078b4 ldr r3, [r3, 0x14]                        |         r3 = imp.__stack_chk_guard;
                                                         |         if (r3 == 0) {
    0x000078b6 cbz r3, 0x790a                            |             goto label_14;
                                                         |         }
                                                         | label_13:
    0x000078b8 bl 0x6988                                 |         fcn_00006988 ();
                                                         |     }
                                                         | label_3:
    0x000078bc ldr r4, [pc, 0x84]                        |     
    0x000078be movs r2, 5                                |     r2 = 5;
    0x000078c0 ldr r1, [pc, 0x84]                        |     
    0x000078c2 movs r0, 0                                |     r0 = 0;
    0x000078c4 add r4, pc                                |     
    0x000078c6 ldr r3, [r4]                              |     r3 = imp.__stack_chk_guard;
    0x000078c8 add r1, pc                                |     r1 = 0xf214;
    0x000078ca bl 0x2cb4                                 |     fcn_00002cb4 (r0, r1, r2, r3);
    0x000078ce ldr r4, [r4, 0x3c]                        |     r4 = imp.__stack_chk_guard;
    0x000078d0 mov r5, r0                                |     r5 = r0;
                                                         |     if (r4 != 0) {
    0x000078d2 cbnz r4, 0x78dc                           |         goto label_15;
                                                         |     }
    0x000078d4 b 0x78e4                                  |     goto label_16;
                                                         |     do {
    0x000078d6 blx r3                                    |         uint32_t (*r3)() ();
    0x000078d8 ldr r4, [r4, 4]                           |         r4 = *((r4 + 4));
                                                         |         if (r4 == 0) {
    0x000078da cbz r4, 0x78e4                            |             goto label_16;
                                                         |         }
                                                         | label_15:
    0x000078dc ldr r3, [r4]                              |         r3 = *(r4);
    0x000078de mov r0, r5                                |         r0 = r5;
    0x000078e0 cmp r3, 0                                 |         
    0x000078e2 bne 0x78d6                                |         
                                                         |     } while (r3 != 0);
                                                         | label_16:
    0x000078e4 mov r1, r7                                |     r1 = r7;
    0x000078e6 mov r0, r5                                |     r0 = r5;
    0x000078e8 movs r4, 0                                |     r4 = 0;
    0x000078ea movs r6, 1                                |     r6 = 1;
    0x000078ec blx 0x1d04                                |     fcn_00001d04 ();
    0x000078f0 mov r0, r4                                |     r0 = r4;
    0x000078f2 mov r1, r7                                |     r1 = r7;
    0x000078f4 blx 0x1d04                                |     fcn_00001d04 ();
    0x000078f8 mov r0, r6                                |     r0 = r6;
    0x000078fa pop.w {r3, r4, r5, r6, r7, r8, sb, pc}    |     
                                                         | label_7:
    0x000078fe ldr r3, [pc, 0x1c]                        |     r3 = *(0x791e);
    0x00007900 ldr r7, [r7, r3]                          |     r7 = *((r7 + r3));
    0x00007902 b 0x77fa                                  |     goto label_1;
                                                         | label_9:
    0x00007904 ldr r1, [pc, 0x44]                        |     
    0x00007906 add r1, pc                                |     r1 = 0xf256;
    0x00007908 b 0x77ce                                  |     goto label_2;
                                                         | label_14:
    0x0000790a bl 0x6754                                 |     fcn_00006754 ();
    0x0000790e b 0x78bc                                  |     goto label_3;
                                                         | }
    ; assembly                                               | /* r2dec pseudo code output */
                                                             | /* /logs/firmware/patool_extraction/rootfs.img_unblob_extracted/rootfs.img_extract/0-80367616.squashfs_v4_le_extract/usr/sbin/ntpconfd @ 0x7950 */
                                                             | #include <stdint.h>
                                                             |  
    ; (fcn) fcn.00007950 ()                                  | void fcn_00007950 (int16_t arg1, int16_t arg2) {
                                                             |     r0 = arg1;
                                                             |     r1 = arg2;
    0x00007950 push.w {r3, r4, r5, r6, r7, r8, sb, lr}       |     
    0x00007954 mov r4, r0                                    |     r4 = r0;
    0x00007956 ldr r7, [pc, 0x16c]                           |     
    0x00007958 mov r5, r1                                    |     r5 = r1;
    0x0000795a blx 0x1af0                                    |     r0 = g_log ();
    0x0000795e cmp r0, 5                                     |     
    0x00007960 add r7, pc                                    |     r7 = 0xf42a;
                                                             |     if (r0 > 5) {
    0x00007962 bhi 0x7a2c                                    |         goto label_4;
                                                             |     }
                                                             |     if (r4 == 0) {
    0x00007964 cbz r4, 0x79a6                                |         goto label_5;
                                                             |     }
    0x00007966 ldr r0, [r4]                                  |     r0 = *(r4);
                                                             |     if (r0 == 0) {
    0x00007968 cbz r0, 0x79a6                                |         goto label_5;
                                                             |     }
    0x0000796a ldrb r3, [r0]                                 |     r3 = *(r0);
                                                             |     if (r3 == 0) {
    0x0000796c cbz r3, 0x79a6                                |         goto label_5;
                                                             |     }
    0x0000796e ldr r1, [pc, 0x158]                           |     
    0x00007970 mov r6, r4                                    |     r6 = r4;
    0x00007972 add r1, pc                                    |     r1 = 0xf440;
    0x00007974 blx 0x1f5c                                    |     fcn_00001f5c ();
    0x00007976 invalid                                       |     
    0x0000797a b 0x79a6                                      |     goto label_5;
                                                             |     do {
    0x0000797c ldr r6, [r6, 4]                               |         r6 = *((r6 + 4));
    0x0000797e cmp r6, 0                                     |         
                                                             |         if (r6 == 0) {
    0x00007980 beq.w 0x7ab2                                  |             goto label_6;
                                                             |         }
    0x00007984 ldr r0, [r6]                                  |         r0 = *(r6);
    0x00007986 bl 0x2290                                     |         r0 = fcn_00002290 (r0);
    0x0000798a cmp r0, 0                                     |         
    0x0000798c bne 0x797c                                    |         
                                                             |     } while (r0 != 0);
    0x0000798e cmp r5, 0                                     |     
                                                             |     if (r5 == 0) {
    0x00007990 beq 0x7a38                                    |         goto label_7;
                                                             |     }
    0x00007992 ldr r1, [r6]                                  |     r1 = *(r6);
    0x00007994 cmp r1, 0                                     |     
                                                             |     if (r1 == 0) {
    0x00007996 beq.w 0x7abe                                  |         goto label_8;
                                                             |     }
                                                             | label_3:
    0x0000799a ldr r0, [pc, 0x130]                           |     
    0x0000799c add r0, pc                                    |     r0 = 0xf46e;
    0x0000799e blx 0x1c04                                    |     g_list_remove ();
    0x000079a2 str r0, [r5]                                  |     *(r5) = r0;
    0x000079a4 b 0x7a38                                      |     goto label_7;
                                                             | label_5:
    0x000079a6 mov r0, r4                                    |     r0 = r4;
    0x000079a8 blx 0x1af0                                    |     r0 = g_log ();
    0x000079ac cmp r0, 1                                     |     
    0x000079ae bhi 0x7a1a                                    |     
                                                             |     while (1) {
    0x000079b0 ldr r3, [pc, 0x11c]                           |         r3 = *(0x7ad0);
    0x000079b2 mov r0, r4                                    |         r0 = r4;
    0x000079b4 ldr r7, [r7, r3]                              |         r7 = *((r7 + r3));
    0x000079b6 mov r1, r7                                    |         r1 = r7;
    0x000079b8 blx 0x1d04                                    |         fcn_00001d04 ();
    0x000079bc movs r1, 0                                    |         r1 = 0;
    0x000079be mov r0, r1                                    |         r0 = r1;
    0x000079c0 blx 0x1b44                                    |         r0 = g_variant_new_int32 ();
    0x000079c4 mov r4, r0                                    |         r4 = r0;
                                                             | label_1:
    0x000079c6 ldr.w r8, [pc, 0x10c]                         |         
    0x000079ca mov r0, r4                                    |         r0 = r4;
    0x000079cc movs r6, 1                                    |         r6 = 1;
    0x000079ce add r8, pc                                    |         r8 = 0xf4a8;
    0x000079d0 ldr.w r1, [r8, 4]                             |         r1 = *(0xf4ac);
    0x000079d4 bl 0x21fc                                     |         r0 = fcn_000021fc (r0, r1, r2);
                                                             |         if (r0 != 0) {
    0x000079d8 cbz r0, 0x79e8                                |             
                                                             | label_0:
    0x000079da mov r0, r4                                    |             r0 = r4;
    0x000079dc mov r1, r7                                    |             r1 = r7;
    0x000079de blx 0x1d04                                    |             fcn_00001d04 ();
    0x000079e2 mov r0, r6                                    |             r0 = r6;
    0x000079e4 pop.w {r3, r4, r5, r6, r7, r8, sb, pc}        |             
                                                             |         }
    0x000079e8 ldr.w sb, [r8, 4]                             |         sb = *((r8 + 4));
    0x000079ec str.w r4, [r8, 4]                             |         __asm ("str.w r4, [r8, 4]");
    0x000079f0 bl 0x6178                                     |         fcn_00006178 ();
    0x000079f2 smlal r4, r6, r2, r6                          |         __asm ("smlal r4, r6, r2, r6");
                                                             |         if (r0 != 0) {
    0x000079f6 cbnz r0, 0x7a40                               |             goto label_9;
                                                             |         }
                                                             |         if (r5 != 0) {
    0x000079f8 cbz r5, 0x7a04                                |             
    0x000079fa ldr r0, [pc, 0xdc]                            |             
    0x000079fc add r0, pc                                    |             r0 = 0xf4da;
    0x000079fe blx 0x1c04                                    |             g_list_remove ();
    0x00007a02 str r0, [r5]                                  |             *(r5) = r0;
                                                             |         }
    0x00007a04 ldr r3, [pc, 0xd4]                            |         
    0x00007a06 mov r0, r4                                    |         r0 = r4;
    0x00007a08 mov r1, r7                                    |         r1 = r7;
    0x00007a0a add r3, pc                                    |         r3 = 0xf4ea;
    0x00007a0c str.w sb, [r3, 4]                             |         __asm ("str.w sb, [r3, 4]");
    0x00007a10 blx 0x1d04                                    |         fcn_00001d04 ();
    0x00007a14 mov r0, r6                                    |         r0 = r6;
    0x00007a16 pop.w {r3, r4, r5, r6, r7, r8, sb, pc}        |         
    0x00007a1a ldr r3, [pc, 0xc4]                            |         
    0x00007a1c movs r1, 0x10                                 |         r1 = 0x10;
    0x00007a1e ldr r2, [pc, 0xc4]                            |         
    0x00007a20 movs r0, 0                                    |         r0 = 0;
    0x00007a22 add r3, pc                                    |         r3 = 0xf508;
    0x00007a24 add r2, pc                                    |         r2 = 0xf50e;
    0x00007a26 blx 0x1b00                                    |         fcn_00001b00 ();
    0x00007a2a b 0x79b0                                      |         
                                                             |     }
                                                             |     if (r5 != 0) {
                                                             | label_4:
    0x00007a2c cbz r5, 0x7a38                                |         
    0x00007a2e ldr r0, [pc, 0xb8]                            |         
    0x00007a30 add r0, pc                                    |         r0 = 0xf51e;
    0x00007a32 blx 0x1be0                                    |         g_strdup_printf ()
    0x00007a36 str r0, [r5]                                  |         *(r5) = r0;
                                                             |     }
                                                             | label_7:
    0x00007a38 ldr r3, [pc, 0x94]                            |     r3 = *(0x7ad0);
    0x00007a3a movs r6, 0                                    |     r6 = 0;
    0x00007a3c ldr r7, [r7, r3]                              |     r7 = *((r7 + r3));
    0x00007a3e b 0x79da                                      |     goto label_0;
                                                             | label_9:
    0x00007a40 mov r1, r7                                    |     r1 = r7;
    0x00007a42 mov r0, sb                                    |     r0 = sb;
    0x00007a44 blx 0x1d04                                    |     fcn_00001d04 ();
    0x00007a48 ldr r3, [pc, 0xa0]                            |     
    0x00007a4a add r3, pc                                    |     
    0x00007a4c ldr r3, [r3]                                  |     r3 = *(0xf53a);
                                                             |     if (r3 != 0) {
    0x00007a4e cbz r3, 0x7a70                                |         
    0x00007a50 ldr.w r3, [r8, 8]                             |         r3 = *((r8 + 8));
                                                             |         if (r3 == 0) {
    0x00007a54 cbz r3, 0x7a70                                |             goto label_2;
                                                             |         }
    0x00007a56 ldr.w r3, [r8, 4]                             |         r3 = *((r8 + 4));
                                                             |         if (r3 != 0) {
    0x00007a5a cbz r3, 0x7a64                                |             
    0x00007a5c ldr r3, [r3]                                  |             r3 = *(r3);
                                                             |             if (r3 == 0) {
    0x00007a5e cbz r3, 0x7a64                                |                 goto label_10;
                                                             |             }
    0x00007a60 ldrb r3, [r3]                                 |             r3 = *(r3);
                                                             |             if (r3 != 0) {
    0x00007a62 cbnz r3, 0x7a6c                               |                 goto label_11;
                                                             |             }
                                                             |         }
                                                             | label_10:
    0x00007a64 ldr r3, [pc, 0x88]                            |         
    0x00007a66 add r3, pc                                    |         
    0x00007a68 ldr r3, [r3, 0x14]                            |         r3 = *(0xf56e);
                                                             |         if (r3 == 0) {
    0x00007a6a cbz r3, 0x7ab8                                |             goto label_12;
                                                             |         }
                                                             | label_11:
    0x00007a6c bl 0x6988                                     |         fcn_00006988 ();
                                                             |     }
                                                             | label_2:
    0x00007a70 ldr r4, [pc, 0x80]                            |     
    0x00007a72 movs r2, 5                                    |     r2 = 5;
    0x00007a74 ldr r1, [pc, 0x80]                            |     
    0x00007a76 movs r0, 0                                    |     r0 = 0;
    0x00007a78 add r4, pc                                    |     
    0x00007a7a ldr r3, [r4, 4]                               |     r3 = *(0xf574);
    0x00007a7c add r1, pc                                    |     r1 = 0xf578;
    0x00007a7e bl 0x2cb4                                     |     fcn_00002cb4 (r0, r1, r2, r3);
    0x00007a82 ldr r4, [r4, 0x3c]                            |     r4 = *(0xf5ac);
    0x00007a84 mov r5, r0                                    |     r5 = r0;
                                                             |     if (r4 != 0) {
    0x00007a86 cbnz r4, 0x7a90                               |         goto label_13;
                                                             |     }
    0x00007a88 b 0x7a98                                      |     goto label_14;
                                                             |     do {
    0x00007a8a blx r3                                        |         uint32_t (*r3)() ();
    0x00007a8c ldr r4, [r4, 4]                               |         r4 = *((r4 + 4));
                                                             |         if (r4 == 0) {
    0x00007a8e cbz r4, 0x7a98                                |             goto label_14;
                                                             |         }
                                                             | label_13:
    0x00007a90 ldr r3, [r4]                                  |         r3 = *(r4);
    0x00007a92 mov r0, r5                                    |         r0 = r5;
    0x00007a94 cmp r3, 0                                     |         
    0x00007a96 bne 0x7a8a                                    |         
                                                             |     } while (r3 != 0);
                                                             | label_14:
    0x00007a98 mov r1, r7                                    |     r1 = r7;
    0x00007a9a mov r0, r5                                    |     r0 = r5;
    0x00007a9c movs r4, 0                                    |     r4 = 0;
    0x00007a9e movs r6, 1                                    |     r6 = 1;
    0x00007aa0 blx 0x1d04                                    |     fcn_00001d04 ();
    0x00007aa4 mov r0, r4                                    |     r0 = r4;
    0x00007aa6 mov r1, r7                                    |     r1 = r7;
    0x00007aa8 blx 0x1d04                                    |     fcn_00001d04 ();
    0x00007aac mov r0, r6                                    |     r0 = r6;
    0x00007aae pop.w {r3, r4, r5, r6, r7, r8, sb, pc}        |     
                                                             | label_6:
    0x00007ab2 ldr r3, [pc, 0x1c]                            |     r3 = *(0x7ad2);
    0x00007ab4 ldr r7, [r7, r3]                              |     r7 = *((r7 + r3));
    0x00007ab6 b 0x79c6                                      |     goto label_1;
                                                             | label_12:
    0x00007ab8 bl 0x6754                                     |     fcn_00006754 ();
    0x00007abc b 0x7a70                                      |     goto label_2;
                                                             | label_8:
    0x00007abe ldr r1, [pc, 0x3c]                            |     
    0x00007ac0 add r1, pc                                    |     r1 = 0xf5c2;
    0x00007ac2 b 0x799a                                      |     goto label_3;
                                                             | }
    ; assembly                               | /* r2dec pseudo code output */
                                             | /* /logs/firmware/patool_extraction/rootfs.img_unblob_extracted/rootfs.img_extract/0-80367616.squashfs_v4_le_extract/usr/sbin/ntpconfd @ 0x7b00 */
                                             | #include <stdint.h>
                                             |  
    ; (fcn) fcn.00007b00 ()                  | void fcn_00007b00 (uint32_t arg1, int16_t arg2) {
                                             |     int16_t var_4h;
                                             |     r0 = arg1;
                                             |     r1 = arg2;
    0x00007b00 push {r4, r5, r6, lr}         |     
    0x00007b02 cmp r0, 1                     |     
    0x00007b04 ldr r6, [pc, 0xa4]            |     
    0x00007b06 sub sp, 8                     |     
    0x00007b08 add r6, pc                    |     r6 = 0xf6b8;
                                             |     if (r0 > 1) {
    0x00007b0a bhi 0x7b92                    |         goto label_1;
                                             |     }
    0x00007b0c ldr r4, [pc, 0xa0]            |     
    0x00007b0e add r4, pc                    |     r4 = 0xf6c2;
    0x00007b10 ldr r3, [r4, 0x10]            |     r3 = *(0xf6d2);
    0x00007b12 cmp r3, r0                    |     
                                             |     if (r3 == r0) {
    0x00007b14 bne 0x7b1c                    |         
                                             | label_0:
    0x00007b16 movs r0, 1                    |         r0 = 1;
    0x00007b18 add sp, 8                     |         
    0x00007b1a pop {r4, r5, r6, pc}          |         
                                             |     }
    0x00007b1c ldr r1, [pc, 0x94]            |     
    0x00007b1e mov r3, r4                    |     r3 = r4;
    0x00007b20 str r0, [r3, 0x10]!           |     *((r3 += 0x10)) = r0;
    0x00007b24 movs r2, 1                    |     r2 = 1;
    0x00007b26 movs r0, 0                    |     r0 = 0;
    0x00007b28 add r1, pc                    |     r1 = 0xf6e0;
    0x00007b2a bl 0x2cb4                     |     r0 = fcn_00002cb4 (r0, r1, r2, r3);
    0x00007b2e mov r5, r0                    |     r5 = r0;
    0x00007b30 bl 0x6178                     |     fcn_00006178 ();
    0x00007b34 ldr r4, [r4, 0x3c]            |     r4 = *((r4 + 0x3c));
                                             |     if (r4 != 0) {
    0x00007b36 cbnz r4, 0x7b40               |         goto label_2;
                                             |     }
    0x00007b38 b 0x7b48                      |     goto label_3;
                                             |     do {
    0x00007b3a blx r3                        |         uint32_t (*r3)() ();
    0x00007b3c ldr r4, [r4, 4]               |         r4 = *((r4 + 4));
                                             |         if (r4 == 0) {
    0x00007b3e cbz r4, 0x7b48                |             goto label_3;
                                             |         }
                                             | label_2:
    0x00007b40 ldr r3, [r4]                  |         r3 = *(r4);
    0x00007b42 mov r0, r5                    |         r0 = r5;
    0x00007b44 cmp r3, 0                     |         
    0x00007b46 bne 0x7b3a                    |         
                                             |     } while (r3 != 0);
                                             | label_3:
    0x00007b48 ldr r3, [pc, 0x6c]            |     
    0x00007b4a add r3, pc                    |     
    0x00007b4c ldr r3, [r3]                  |     r3 = *(0xf706);
                                             |     if (r3 == 0) {
    0x00007b4e cbz r3, 0x7b82                |         goto label_4;
                                             |     }
    0x00007b50 ldr r3, [pc, 0x68]            |     
    0x00007b52 add r3, pc                    |     r3 = 0xf712;
    0x00007b54 ldr r2, [r3, 8]               |     r2 = *(0xf71a);
                                             |     if (r2 != 0) {
    0x00007b56 cbnz r2, 0x7b82               |         goto label_4;
                                             |     }
    0x00007b58 ldr r2, [r3, 0x20]            |     r2 = *((r3 + 0x20));
                                             |     if (r2 == 0) {
    0x00007b5a cbz r2, 0x7b82                |         goto label_4;
                                             |     }
    0x00007b5c ldr r2, [r2]                  |     r2 = *(r2);
                                             |     if (r2 == 0) {
    0x00007b5e cbz r2, 0x7b82                |         goto label_4;
                                             |     }
    0x00007b60 ldrb r2, [r2]                 |     r2 = *(r2);
                                             |     if (r2 == 0) {
    0x00007b62 cbz r2, 0x7b82                |         goto label_4;
                                             |     }
    0x00007b64 ldr r2, [r3, 0x10]            |     r2 = *((r3 + 0x10));
    0x00007b66 cmp r2, 1                     |     
                                             |     if (r2 == 1) {
    0x00007b68 bne 0x7b7e                    |         
    0x00007b6a ldr r3, [r3]                  |         r3 = *(r3);
                                             |         if (r3 != 0) {
    0x00007b6c cbz r3, 0x7b76                |             
    0x00007b6e ldr r3, [r3]                  |             r3 = *(r3);
                                             |             if (r3 == 0) {
    0x00007b70 cbz r3, 0x7b76                |                 goto label_5;
                                             |             }
    0x00007b72 ldrb r3, [r3]                 |             r3 = *(r3);
                                             |             if (r3 != 0) {
    0x00007b74 cbnz r3, 0x7b7e               |                 goto label_6;
                                             |             }
                                             |         }
                                             | label_5:
    0x00007b76 ldr r3, [pc, 0x48]            |         
    0x00007b78 add r3, pc                    |         
    0x00007b7a ldr r3, [r3, 0x14]            |         r3 = *(0xf752);
                                             |         if (r3 == 0) {
    0x00007b7c cbz r3, 0x7ba6                |             goto label_7;
                                             |         }
                                             |     }
                                             | label_6:
    0x00007b7e bl 0x6988                     |     fcn_00006988 ();
                                             |     do {
                                             | label_4:
    0x00007b82 ldr r3, [pc, 0x40]            |         r3 = *(0x7bc6);
    0x00007b84 mov r0, r5                    |         r0 = r5;
    0x00007b86 ldr r3, [r6, r3]              |         r3 = *((r6 + r3));
    0x00007b88 mov r1, r3                    |         r1 = r3;
    0x00007b8a str r3, [sp, 4]               |         var_4h = r3;
    0x00007b8c blx 0x1d04                    |         fcn_00001d04 ();
    0x00007b90 b 0x7b16                      |         goto label_0;
                                             | label_1:
    0x00007b92 mov r4, r1                    |         r4 = r1;
                                             |         if (r1 != 0) {
    0x00007b94 cbz r1, 0x7ba0                |             
    0x00007b96 ldr r0, [pc, 0x30]            |             
    0x00007b98 add r0, pc                    |             r0 = 0xf766;
    0x00007b9a blx 0x1be0                    |             g_strdup_printf ()
    0x00007b9e str r0, [r4]                  |             *(r4) = r0;
                                             |         }
    0x00007ba0 movs r0, 0                    |         r0 = 0;
    0x00007ba2 add sp, 8                     |         
    0x00007ba4 pop {r4, r5, r6, pc}          |         
                                             | label_7:
    0x00007ba6 bl 0x6754                     |         fcn_00006754 ();
    0x00007baa b 0x7b82                      |         
                                             |     } 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/sbin/ntpconfd @ 0x8110 */
                                                                 | #include <stdint.h>
                                                                 |  
    ; (fcn) fcn.00008110 ()                                      | void fcn_00008110 () {
                                                                 |     int16_t var_ch_2;
                                                                 |     int16_t var_10h;
                                                                 |     int16_t var_14h;
    0x00008110 push.w {r4, r5, r6, r7, r8, sb, sl, fp, lr}       |     
    0x00008114 movs r5, 0                                        |     r5 = 0;
    0x00008116 ldr r6, [pc, 0xf4]                                |     
    0x00008118 sub sp, 0x1c                                      |     
    0x0000811a add r3, sp, 0x10                                  |     r3 += var_10h;
    0x0000811c mov r2, r5                                        |     r2 = r5;
    0x0000811e ldr r4, [pc, 0xf0]                                |     r4 = *(0x8212);
    0x00008120 add r1, sp, 0xc                                   |     r1 += var_ch_2;
    0x00008122 add r6, pc                                        |     r6 = 0x10334;
    0x00008124 ldr r0, [pc, 0xec]                                |     
    0x00008126 ldr r4, [r6, r4]                                  |     
    0x00008128 add r0, pc                                        |     r0 = 0x10340;
    0x0000812a ldr r4, [r4]                                      |     r4 = *(0x10334);
    0x0000812c str r4, [sp, 0x14]                                |     var_14h = r4;
    0x0000812e mov.w r4, 0                                       |     r4 = 0;
    0x00008132 strd r5, r5, [sp, 0xc]                            |     __asm ("strd r5, r5, [sp, 0xc]");
    0x00008136 blx 0x1cd0                                        |     r0 = g_dbus_connection_emit_signal ();
    0x0000813a cmp r0, 0                                         |     
                                                                 |     if (r0 == 0) {
    0x0000813c beq 0x81fe                                        |         goto label_3;
                                                                 |     }
    0x0000813e ldr r1, [pc, 0xd8]                                |     
    0x00008140 mov r2, r5                                        |     r2 = r5;
    0x00008142 ldr r0, [sp, 0xc]                                 |     r0 = var_ch_2;
    0x00008144 add r1, pc                                        |     r1 = 0x10362;
    0x00008146 blx 0x1c64                                        |     r0 = g_variant_ref_sink ();
    0x0000814a mov r7, r0                                        |     r7 = r0;
    0x0000814c cmp r0, 0                                         |     
                                                                 |     if (r0 == 0) {
    0x0000814e beq 0x81fe                                        |         goto label_3;
                                                                 |     }
    0x00008150 ldr.w fp, [r0]                                    |     fp = *(r0);
    0x00008154 cmp.w fp, 0                                       |     
                                                                 |     if (fp == 0) {
    0x00008158 beq 0x8204                                        |         goto label_4;
                                                                 |     }
    0x0000815a ldr.w sl, [pc, 0xc0]                              |     
    0x0000815e mov r6, r0                                        |     r6 = r0;
    0x00008160 ldr.w sb, [pc, 0xbc]                              |     
    0x00008164 ldr.w r8, [pc, 0xbc]                              |     
    0x00008168 add sl, pc                                        |     sl = 0x1038a;
    0x0000816a add sb, pc                                        |     sb = 0x1038e;
    0x0000816c add r8, pc                                        |     r8 = 0x10394;
    0x0000816e b 0x81a0                                          |     goto label_1;
                                                                 | label_0:
    0x00008170 movs r3, 0                                        |     r3 = 0;
    0x00008172 mov r0, fp                                        |     r0 = fp;
    0x00008174 strb r3, [r4], 1                                  |     *(r4) = r3;
                                                                 |     r4++;
    0x00008178 blx 0x1be0                                        |     r0 = g_strdup_printf ()
    0x0000817c mov r1, r0                                        |     r1 = r0;
    0x0000817e mov r0, r5                                        |     r0 = r5;
    0x00008180 blx 0x1b44                                        |     r0 = g_variant_new_int32 ();
    0x00008184 mov r5, r0                                        |     r5 = r0;
    0x00008186 mov r0, r4                                        |     r0 = r4;
    0x00008188 blx 0x1be0                                        |     r0 = g_strdup_printf ()
    0x0000818c mov r1, r0                                        |     r1 = r0;
    0x0000818e mov r0, r5                                        |     r0 = r5;
    0x00008190 blx 0x1b44                                        |     r0 = g_variant_new_int32 ();
    0x00008194 mov r5, r0                                        |     r5 = r0;
                                                                 |     do {
    0x00008196 ldr fp, [r6, 4]!                                  |         fp = *((r6 += 4));
    0x0000819a cmp.w fp, 0                                       |         
                                                                 |         if (fp == 0) {
    0x0000819e beq 0x81ce                                        |             goto label_2;
                                                                 |         }
                                                                 | label_1:
    0x000081a0 ldrb.w r3, [fp]                                   |         r3 = *(fp);
    0x000081a4 cmp r3, 0                                         |         
    0x000081a6 beq 0x8196                                        |         
                                                                 |     } while (r3 == 0);
    0x000081a8 movs r1, 0x20                                     |     r1 = 0x20;
    0x000081aa mov r0, fp                                        |     r0 = fp;
    0x000081ac blx 0x1f2c                                        |     r0 = fcn_00001f2c ();
    0x000081b0 mov r4, r0                                        |     r4 = r0;
    0x000081b2 cmp r0, 0                                         |     
                                                                 |     if (r0 != 0) {
    0x000081b4 bne 0x8170                                        |         goto label_0;
                                                                 |     }
    0x000081b6 strd fp, r8, [sp]                                 |     __asm ("strd fp, r8, [sp]");
    0x000081ba mov r3, sl                                        |     r3 = sl;
    0x000081bc mov r2, sb                                        |     r2 = sb;
    0x000081be movs r1, 0x10                                     |     r1 = 0x10;
    0x000081c0 blx 0x1b00                                        |     fcn_00001b00 ();
    0x000081c4 ldr fp, [r6, 4]!                                  |     fp = *((r6 += 4));
    0x000081c8 cmp.w fp, 0                                       |     
                                                                 |     if (fp != 0) {
    0x000081cc bne 0x81a0                                        |         goto label_1;
                                                                 |     }
                                                                 |     do {
                                                                 | label_2:
    0x000081ce ldr r0, [sp, 0xc]                                 |         r0 = var_ch_2;
    0x000081d0 blx 0x1d44                                        |         fcn_00001d44 ();
    0x000081d4 mov r0, r7                                        |         r0 = r7;
    0x000081d6 blx 0x1cdc                                        |         g_list_free_full ();
    0x000081da ldr r0, [sp, 0x10]                                |         r0 = var_10h;
                                                                 |         if (r0 != 0) {
    0x000081dc cbz r0, 0x81e2                                    |             
    0x000081de blx 0x1a60                                        |             g_error_free ();
                                                                 |         }
    0x000081e2 ldr r2, [pc, 0x44]                                |         
    0x000081e4 ldr r3, [pc, 0x28]                                |         r3 = *(0x8210);
    0x000081e6 add r2, pc                                        |         r2 = 0x10414;
    0x000081e8 ldr r3, [r2, r3]                                  |         r3 = *(0x10414);
    0x000081ea ldr r2, [r3]                                      |         r2 = *(0x10414);
    0x000081ec ldr r3, [sp, 0x14]                                |         r3 = var_14h;
    0x000081ee eors r2, r3                                       |         r2 ^= r3;
    0x000081f0 mov.w r3, 0                                       |         r3 = 0;
                                                                 |         if (r2 != r3) {
    0x000081f4 bne 0x8208                                        |             goto label_5;
                                                                 |         }
    0x000081f6 mov r0, r5                                        |         r0 = r5;
    0x000081f8 add sp, 0x1c                                      |         
    0x000081fa pop.w {r4, r5, r6, r7, r8, sb, sl, fp, pc}        |         
                                                                 | label_3:
    0x000081fe movs r5, 0                                        |         r5 = 0;
    0x00008200 mov r7, r5                                        |         r7 = r5;
    0x00008202 b 0x81ce                                          |         
                                                                 |     } while (1);
                                                                 | label_4:
    0x00008204 mov r5, fp                                        |     r5 = fp;
    0x00008206 b 0x81ce                                          |     goto label_2;
                                                                 | label_5:
    0x00008208 blx 0x1d1c                                        |     fcn_00001d1c ();
    0x0000820c ldr r2, [r3, 0x4c]                                |     r2 = *((r3 + 0x4c));
    0x0000820e movs r0, r0                                       |     
    0x00008210 lsls r4, r3, 7                                    |     r4 = r3 << 7;
    0x00008212 movs r0, r0                                       |     
    0x00008214 ldr r4, [r3, r3]                                  |     r4 = *((r3 + r3));
    0x00008216 movs r0, r0                                       |     
    0x00008218 strh r0, [r4, r1]                                 |     *((r4 + r1)) = r0;
    0x0000821a movs r0, r0                                       |     
    0x0000821c strh r0, [r7, r5]                                 |     *((r7 + r5)) = r0;
    0x0000821e movs r0, r0                                       |     
    0x00008220 ldr r6, [r6, r2]                                  |     r6 = *((r6 + r2));
    0x00008222 movs r0, r0                                       |     
    0x00008224 ldr r0, [r3, r2]                                  |     r0 = *((r3 + r2));
    0x00008226 movs r0, r0                                       |     
    0x00008228 ldr r6, [r2, 0x40]                                |     r6 = *((r2 + 0x40));
    0x0000822a movs r0, r0                                       |     
                                                                 | }

[*] Function printf used 23 times ntpconfd