[*] Binary protection state of handle_xml_conf_duplication

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


[*] Function printf tear down of handle_xml_conf_duplication

    ; assembly                                               | /* r2dec pseudo code output */
                                                             | /* /logs/firmware/patool_extraction/rootfs.img_unblob_extracted/rootfs.img_extract/0-80367616.squashfs_v4_le_extract/usr/bin/handle_xml_conf_duplication @ 0x14b0 */
                                                             | #include <stdint.h>
                                                             |  
    ; (fcn) fcn.000014b0 ()                                  | void fcn_000014b0 (int16_t arg_10h, int16_t arg_14h, int16_t arg_18h, int16_t arg_1ch, int16_t arg_20h, int16_t arg_24h, int16_t arg_28h, int16_t arg_3ch, int16_t arg_e4h) {
                                                             | label_4:
    0x00000ff4 ldr r3, [pc, 0x3e4]                           |     
    0x00000ff6 add r3, pc                                    |     r3 = 0x23d6;
    0x00000ff8 str r3, [sp, 0x20]                            |     *(arg_20h) = r3;
    0x00000ffa ldr r3, [pc, 0x3e4]                           |     
    0x00000ffc add r3, pc                                    |     r3 = 0x23e2;
    0x00000ffe str r3, [sp, 0x24]                            |     *(arg_24h) = r3;
    0x00001000 b 0x10f8                                      |     
                                                             |     while (r6 != 0) {
    0x00001002 ldrd r2, r1, [sp, 0x20]                       |         __asm ("ldrd r2, r1, [arg_20h]");
    0x00001006 mov r0, r5                                    |         r0 = r5;
    0x00001008 blx 0xbe0                                     |         xmlnode_add_attribute ();
                                                             | label_0:
    0x0000100c ldr r0, [sp, 0x18]                            |         r0 = *(arg_18h);
    0x0000100e mov r1, r5                                    |         r1 = r5;
    0x00001010 blx 0xcc4                                     |         xmlnode_add_child ();
    0x00001014 ldr r0, [sp, 0x14]                            |         r0 = *(arg_14h);
    0x00001016 mov r1, r5                                    |         r1 = r5;
    0x00001018 bl 0x1578                                     |         fcn_00001578 (r0, r1);
    0x0000101c ldr r0, [pc, 0x3c4]                           |         
    0x0000101e adds r6, 1                                    |         r6++;
    0x00001020 mov r1, r6                                    |         r1 = r6;
    0x00001022 add r0, pc                                    |         r0 = 0x240a;
    0x00001024 blx 0xc64                                     |         g_strdup_printf ()
    0x00001028 ldr r1, [pc, 0x3bc]                           |         
    0x0000102a mov r4, r0                                    |         r4 = r0;
    0x0000102c mov r0, r5                                    |         r0 = r5;
    0x0000102e add r1, pc                                    |         r1 = 0x241a;
    0x00001030 blx 0xbec                                     |         r0 = xmlnode_find_tag ();
                                                             |         if (r0 != 0) {
    0x00001034 cbz r0, 0x1040                                |             
    0x00001036 ldr r1, [pc, 0x3b4]                           |             
    0x00001038 mov r2, r4                                    |             r2 = r4;
    0x0000103a add r1, pc                                    |             r1 = 0x242c;
    0x0000103c blx 0xbe0                                     |             xmlnode_add_attribute ();
                                                             |         }
    0x00001040 ldr r3, [pc, 0x3ac]                           |         
    0x00001042 mov r0, r5                                    |         r0 = r5;
    0x00001044 ldr r2, [pc, 0x3ac]                           |         
    0x00001046 ldr r1, [pc, 0x3b0]                           |         
    0x00001048 add r3, pc                                    |         r3 = 0x243c;
    0x0000104a add r2, pc                                    |         r2 = 0x2442;
    0x0000104c add r1, pc                                    |         r1 = 0x244a;
    0x0000104e blx 0xd6c                                     |         r0 = xmlnode_find_tag_with_attribute ();
                                                             |         if (r0 != 0) {
    0x00001052 cbz r0, 0x105e                                |             
    0x00001054 ldr r1, [pc, 0x3a4]                           |             
    0x00001056 mov r2, r4                                    |             r2 = r4;
    0x00001058 add r1, pc                                    |             r1 = 0x2458;
    0x0000105a blx 0xbe0                                     |             xmlnode_add_attribute ();
                                                             |         }
    0x0000105e ldr r1, [pc, 0x3a0]                           |         
    0x00001060 mov r0, r5                                    |         r0 = r5;
    0x00001062 add r1, pc                                    |         r1 = 0x2468;
    0x00001064 blx 0xbec                                     |         r0 = xmlnode_find_tag ();
    0x00001068 mov r5, r0                                    |         r5 = r0;
    0x0000106a cmp r0, 0                                     |         
                                                             |         if (r0 != 0) {
    0x0000106c beq 0x10f2                                    |             
    0x0000106e ldr r3, [pc, 0x394]                           |             
    0x00001070 ldr.w r8, [pc, 0x394]                         |             
    0x00001074 add r3, pc                                    |             r3 = 0x247e;
    0x00001076 mov r1, r3                                    |             r1 = r3;
    0x00001078 mov sl, r3                                    |             sl = r3;
    0x0000107a blx 0xd30                                     |             r0 = xmlnode_get_attribute_value ();
    0x0000107e mov r7, r0                                    |             r7 = r0;
    0x00001080 add r8, pc                                    |             r8 = 0x248c;
    0x00001082 blx 0xc88                                     |             r0 = strlen (r0);
    0x00001086 mov r1, r0                                    |             r1 = r0;
    0x00001088 mov r0, r7                                    |             r0 = r7;
    0x0000108a subs r1, 1                                    |             r1--;
    0x0000108c blx 0xc34                                     |             g_strndup ();
    0x00001090 movs r2, 0                                    |             r2 = 0;
    0x00001092 mov r1, r4                                    |             r1 = r4;
    0x00001094 mov r7, r0                                    |             r7 = r0;
    0x00001096 blx 0xbd4                                     |             g_strconcat ();
    0x0000109a mov r1, sl                                    |             r1 = sl;
    0x0000109c mov r2, r0                                    |             r2 = r0;
    0x0000109e mov fp, r0                                    |             
    0x000010a0 mov r0, r5                                    |             r0 = r5;
    0x000010a2 blx 0xbe0                                     |             xmlnode_add_attribute ();
    0x000010a6 mov r0, fp                                    |             r0 = fp;
    0x000010a8 blx 0xb74                                     |             g_free ();
    0x000010ac mov r0, r7                                    |             r0 = r7;
    0x000010ae blx 0xb74                                     |             g_free ();
    0x000010b2 mov r1, r8                                    |             r1 = r8;
    0x000010b4 mov r0, r5                                    |             r0 = r5;
    0x000010b6 blx 0xd30                                     |             xmlnode_get_attribute_value ();
    0x000010ba ldr r1, [pc, 0x350]                           |             
    0x000010bc mov r7, r0                                    |             r7 = r0;
    0x000010be add r1, pc                                    |             r1 = 0x24d0;
    0x000010c0 blx 0xbb0                                     |             r0 = g_strrstr ();
    0x000010c4 cmp r0, 0                                     |             
                                                             |             if (r0 == 0) {
    0x000010c6 beq.w 0x12ee                                  |                 goto label_5;
                                                             |             }
    0x000010ca mov r0, r7                                    |             r0 = r7;
    0x000010cc blx 0xc88                                     |             r0 = strlen (r0);
    0x000010d0 subs r1, r0, 1                                |             r1 = r0 - 1;
    0x000010d2 mov r0, r7                                    |             r0 = r7;
    0x000010d4 blx 0xc34                                     |             g_strndup ();
    0x000010d8 movs r2, 0                                    |             r2 = 0;
    0x000010da mov r1, r4                                    |             r1 = r4;
    0x000010dc blx 0xbd4                                     |             r0 = g_strconcat ();
                                                             | label_1:
    0x000010e0 mov r7, r0                                    |             r7 = r0;
    0x000010e2 mov r1, r8                                    |             r1 = r8;
    0x000010e4 mov r0, r5                                    |             r0 = r5;
    0x000010e6 mov r2, r7                                    |             r2 = r7;
    0x000010e8 blx 0xbe0                                     |             xmlnode_add_attribute ();
    0x000010ec mov r0, r7                                    |             r0 = r7;
    0x000010ee blx 0xb74                                     |             g_free ();
                                                             |         }
    0x000010f2 mov r0, r4                                    |         r0 = r4;
    0x000010f4 blx 0xb74                                     |         g_free ();
    0x000010f8 cmp sb, r6                                    |         
                                                             |         if (sb <= r6) {
    0x000010fa ble.w 0x133a                                  |             goto label_6;
                                                             |         }
    0x000010fe blx 0xc40                                     |         r0 = xmlnode_create_node ();
    0x00001102 mov r5, r0                                    |         r5 = r0;
    0x00001104 cmp r0, 0                                     |         
                                                             |         if (r0 == 0) {
    0x00001106 beq.w 0x1348                                  |             goto label_7;
                                                             |         }
    0x0000110a ldr r1, [sp, 0x1c]                            |         r1 = *(arg_1ch);
    0x0000110c blx 0xd54                                     |         xmlnode_set_name ();
    0x00001110 cmp r6, 0                                     |         
    0x00001112 bne.w 0x1002                                  |         
                                                             |     }
    0x00001116 ldr r2, [pc, 0x2f8]                           |     
    0x00001118 mov r0, r5                                    |     r0 = r5;
    0x0000111a ldr r1, [pc, 0x2f8]                           |     
    0x0000111c add r2, pc                                    |     r2 = 0x2532;
    0x0000111e add r1, pc                                    |     r1 = 0x2538;
    0x00001120 blx 0xbe0                                     |     xmlnode_add_attribute ();
    0x00001124 b 0x100c                                      |     goto label_0;
                                                             |     do {
                                                             | label_2:
    0x00001144 mov r0, r4                                    |         r0 = r4;
    0x00001146 blx 0xbc8                                     |         xmlnode_free_tree ();
    0x0000114a mov r0, r5                                    |         r0 = r5;
    0x0000114c blx 0xbc8                                     |         xmlnode_free_tree ();
    0x00001150 ldr r2, [pc, 0x2c8]                           |         
    0x00001152 ldr r3, [pc, 0x240]                           |         r3 = *(0x1396);
    0x00001154 add r2, pc                                    |         r2 = 0x2574;
    0x00001156 ldr r3, [r2, r3]                              |         r3 = *(0x2574);
    0x00001158 ldr r2, [r3]                                  |         r2 = *(0x2574);
    0x0000115a ldr r3, [sp, 0xe4]                            |         r3 = *(arg_e4h);
    0x0000115c eors r2, r3                                   |         r2 ^= r3;
    0x0000115e mov.w r3, 0                                   |         r3 = 0;
                                                             |         if (r2 != r3) {
    0x00001162 bne.w 0x137e                                  |             goto label_8;
                                                             |         }
    0x00001166 ldr r0, [sp, 0x10]                            |         r0 = *(arg_10h);
    0x00001168 add sp, 0xec                                  |         
    0x0000116a pop.w {r4, r5, r6, r7, r8, sb, sl, fp, pc}    |         
                                                             | label_3:
    0x000012b6 cmp r6, 0                                     |         
                                                             |         if (r6 == 0) {
    0x000012b8 beq 0x133e                                    |             goto label_9;
                                                             |         }
    0x000012ba ldr r2, [pc, 0x194]                           |         
    0x000012bc mov r3, r6                                    |         r3 = r6;
    0x000012be movs r1, 1                                    |         r1 = 1;
    0x000012c0 movs r0, 4                                    |         r0 = 4;
    0x000012c2 add r2, pc                                    |         r2 = 0x2718;
    0x000012c4 blx 0xcdc                                     |         syslog_chk ();
    0x000012c8 movs r3, 1                                    |         r3 = 1;
    0x000012ca mov r0, r6                                    |         r0 = r6;
    0x000012cc str r3, [sp, 0x10]                            |         *(arg_10h) = r3;
    0x000012ce blx 0xb74                                     |         g_free ();
    0x000012d2 b 0x1144                                      |         
                                                             |     } while (1);
                                                             | label_5:
    0x000012ee ldr r1, [pc, 0x168]                           |     
    0x000012f0 mov r3, r0                                    |     r3 = r0;
    0x000012f2 mov r2, r4                                    |     r2 = r4;
    0x000012f4 mov r0, r7                                    |     r0 = r7;
    0x000012f6 add r1, pc                                    |     r1 = 0x2754;
    0x000012f8 blx 0xbd4                                     |     g_strconcat ();
    0x000012fc b 0x10e0                                      |     goto label_1;
                                                             | label_6:
    0x0000133a ldrd r4, r5, [sp, 0x28]                       |     __asm ("ldrd r4, r5, [arg_28h]");
                                                             | label_9:
    0x0000133e ldr r1, [sp, 0x3c]                            |     r1 = *(arg_3ch);
    0x00001340 mov r0, r4                                    |     r0 = r4;
    0x00001342 blx 0xc7c                                     |     xmlnode_save_file ();
    0x00001346 b 0x1144                                      |     goto label_2;
                                                             | label_7:
    0x00001348 ldr r0, [pc, 0x120]                           |     
    0x0000134a adds r1, r6, 1                                |     r1 = r6 + 1;
    0x0000134c ldrd r4, r5, [sp, 0x28]                       |     __asm ("ldrd r4, r5, [arg_28h]");
    0x00001350 add r0, pc                                    |     r0 = 0x27c0;
    0x00001352 blx 0xc64                                     |     r0 = g_strdup_printf ()
    0x00001356 mov r6, r0                                    |     r6 = r0;
    0x00001358 b 0x12b6                                      |     goto label_3;
                                                             | label_8:
    0x0000137e blx 0xce8                                     |     stack_chk_fail ();
    0x00001382 nop                                           |     
    0x00001384 lsrs r6, r5, 3                                |     r6 = r5 >> 3;
    0x00001386 movs r0, r0                                   |     
    0x00001388 lsrs r2, r2, 3                                |     r2 >>= 3;
    0x0000138a movs r0, r0                                   |     
    0x0000138c lsrs r6, r4, 5                                |     r6 = r4 >> 5;
    0x0000138e movs r0, r0                                   |     
    0x00001390 movs r1, 0x70                                 |     r1 = 0x70;
    0x00001392 movs r0, r0                                   |     
    0x00001394 lsls r4, r0, 3                                |     r4 = r0 << 3;
    0x00001396 movs r0, r0                                   |     
    0x00001398 lsrs r6, r6, 3                                |     r6 >>= 3;
    0x0000139a movs r0, r0                                   |     
    0x0000139c lsrs r6, r4, 4                                |     r6 = r4 >> 4;
    0x0000139e movs r0, r0                                   |     
    0x000013a0 lsrs r2, r7, 4                                |     r2 = r7 >> 4;
    0x000013a2 movs r0, r0                                   |     
    0x000013a4 lsrs r4, r6, 5                                |     r4 = r6 >> 5;
    0x000013a6 movs r0, r0                                   |     
    0x000013a8 lsrs r0, r7, 5                                |     r0 = r7 >> 5;
    0x000013aa movs r0, r0                                   |     
    0x000013ac lsrs r6, r4, 6                                |     r6 = r4 >> 6;
    0x000013ae movs r0, r0                                   |     
    0x000013b0 lsrs r6, r5, 8                                |     r6 = r5 >> 8;
    0x000013b2 movs r0, r0                                   |     
    0x000013b4 lsrs r2, r7, 8                                |     r2 = r7 >> 8;
    0x000013b6 movs r0, r0                                   |     
    0x000013b8 lsrs r6, r7, 8                                |     r6 = r7 >> 8;
    0x000013ba movs r0, r0                                   |     
    0x000013bc lsrs r4, r3, 7                                |     r4 = r3 >> 7;
    0x000013be movs r0, r0                                   |     
    0x000013c0 lsrs r6, r1, 8                                |     r6 = r1 >> 8;
    0x000013c2 movs r0, r0                                   |     
    0x000013c4 lsrs r2, r4, 8                                |     r2 = r4 >> 8;
    0x000013c6 movs r0, r0                                   |     
    0x000013c8 lsrs r4, r6, 8                                |     r4 = r6 >> 8;
    0x000013ca movs r0, r0                                   |     
    0x000013cc lsrs r6, r0, 9                                |     r6 = r0 >> 9;
    0x000013ce movs r0, r0                                   |     
    0x000013d0 lsrs r2, r3, 0xa                              |     r2 = r3 >> 0xa;
    0x000013d2 movs r0, r0                                   |     
    0x000013d4 lsrs r0, r2, 0xa                              |     r0 = r2 >> 0xa;
    0x000013d6 movs r0, r0                                   |     
    0x000013d8 lsrs r0, r3, 5                                |     r0 = r3 >> 5;
    0x000013da movs r0, r0                                   |     
    0x000013dc lsrs r6, r2, 0xa                              |     r6 = r2 >> 0xa;
    0x000013de movs r0, r0                                   |     
    0x000013e0 lsrs r0, r1, 0xa                              |     r0 = r1 >> 0xa;
    0x000013e2 movs r0, r0                                   |     
    0x000013e4 lsrs r6, r6, 9                                |     r6 >>= 9;
    0x000013e6 movs r0, r0                                   |     
    0x000013e8 lsrs r6, r4, 5                                |     r6 = r4 >> 5;
    0x000013ea movs r0, r0                                   |     
    0x000013ec lsrs r6, r2, 0xa                              |     r6 = r2 >> 0xa;
    0x000013ee movs r0, r0                                   |     
    0x000013f0 lsrs r0, r2, 0xa                              |     r0 = r2 >> 0xa;
    0x000013f2 movs r0, r0                                   |     
    0x000013f4 lsrs r2, r4, 7                                |     r2 = r4 >> 7;
    0x000013f6 movs r0, r0                                   |     
    0x000013f8 lsrs r4, r2, 0xa                              |     r4 = r2 >> 0xa;
    0x000013fa movs r0, r0                                   |     
    0x000013fc lsrs r0, r7, 9                                |     r0 = r7 >> 9;
    0x000013fe movs r0, r0                                   |     
    0x00001400 lsrs r2, r1, 0xa                              |     r2 = r1 >> 0xa;
    0x00001402 movs r0, r0                                   |     
    0x00001404 lsrs r0, r7, 6                                |     r0 = r7 >> 6;
    0x00001406 movs r0, r0                                   |     
    0x00001408 lsrs r0, r5, 6                                |     r0 = r5 >> 6;
    0x0000140a movs r0, r0                                   |     
    0x0000140c lsrs r6, r6, 8                                |     r6 >>= 8;
    0x0000140e movs r0, r0                                   |     
    0x00001410 lsrs r0, r4, 5                                |     r0 = r4 >> 5;
    0x00001412 movs r0, r0                                   |     
    0x00001414 lsrs r6, r4, 5                                |     r6 = r4 >> 5;
    0x00001416 movs r0, r0                                   |     
    0x00001418 lsls r4, r3, 0x1a                             |     r4 = r3 << 0x1a;
    0x0000141a movs r0, r0                                   |     
    0x0000141c adds r0, r3, 7                                |     r0 = r3 + 7;
    0x0000141e movs r0, r0                                   |     
    0x00001420 lsls r0, r2, 0x1a                             |     r0 = r2 << 0x1a;
    0x00001422 movs r0, r0                                   |     
    0x00001424 lsls r6, r4, 0x1a                             |     r6 = r4 << 0x1a;
    0x00001426 movs r0, r0                                   |     
    0x00001428 lsls r2, r5, 0x1a                             |     r2 = r5 << 0x1a;
    0x0000142a movs r0, r0                                   |     
    0x0000142c lsls r4, r1, 0x1b                             |     r4 = r1 << 0x1b;
    0x0000142e movs r0, r0                                   |     
    0x00001430 lsls r2, r2, 0x17                             |     r2 <<= 0x17;
    0x00001432 movs r0, r0                                   |     
    0x00001434 lsls r0, r2, 0x1b                             |     r0 = r2 << 0x1b;
    0x00001436 movs r0, r0                                   |     
    0x00001438 lsls r2, r3, 0x17                             |     r2 = r3 << 0x17;
    0x0000143a movs r0, r0                                   |     
    0x0000143c lsls r4, r2, 0x1b                             |     r4 = r2 << 0x1b;
    0x0000143e movs r0, r0                                   |     
    0x00001440 lsls r6, r1, 0x18                             |     r6 = r1 << 0x18;
    0x00001442 movs r0, r0                                   |     
    0x00001444 lsls r0, r3, 0x18                             |     r0 = r3 << 0x18;
    0x00001446 movs r0, r0                                   |     
    0x00001448 lsrs r2, r2, 2                                |     r2 >>= 2;
    0x0000144a movs r0, r0                                   |     
    0x0000144c lsls r6, r2, 0x1c                             |     r6 = r2 << 0x1c;
    0x0000144e movs r0, r0                                   |     
    0x00001450 lsrs r6, r0, 1                                |     r6 = r0 >> 1;
    0x00001452 movs r0, r0                                   |     
    0x00001454 lsls r0, r7, 0x17                             |     r0 = r7 << 0x17;
    0x00001456 movs r0, r0                                   |     
    0x00001458 lsrs r6, r0, 0x20                             |     r6 = r0 >> 0x20;
    0x0000145a movs r0, r0                                   |     
    0x0000145c lsls r0, r5, 0x18                             |     r0 = r5 << 0x18;
    0x0000145e movs r0, r0                                   |     
    0x00001460 lsls r4, r0, 0x19                             |     r4 = r0 << 0x19;
    0x00001462 movs r0, r0                                   |     
    0x00001464 lsls r0, r3, 0x19                             |     r0 = r3 << 0x19;
    0x00001466 movs r0, r0                                   |     
    0x00001468 lsls r4, r6, 0x19                             |     r4 = r6 << 0x19;
    0x0000146a movs r0, r0                                   |     
    0x0000146c lsls r4, r1, 0x1d                             |     r4 = r1 << 0x1d;
    0x0000146e movs r0, r0                                   |     
    0x00001470 lsls r4, r6, 0x17                             |     r4 = r6 << 0x17;
    0x00001472 movs r0, r0                                   |     
    0x00001474 lsls r4, r1, 0x1b                             |     r4 = r1 << 0x1b;
    0x00001476 movs r0, r0                                   |     
    0x00001478 lsls r4, r4, 0x1b                             |     r4 <<= 0x1b;
    0x0000147a movs r0, r0                                   |     
    0x000014b0 adds r0, 0x14                                 |     r0 += 0x14;
    0x000014b2 b 0xff4                                       |     goto label_4;
                                                             | }

[*] Function printf used 3 times handle_xml_conf_duplication