[*] Binary protection state of param_upgrader

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


[*] Function printf tear down of param_upgrader

    ; assembly                                   | /* r2dec pseudo code output */
                                                 | /* /logs/firmware/patool_extraction/rootfs.img_unblob_extracted/rootfs.img_extract/0-50593792.squashfs_v4_le_extract/usr/bin/param_upgrader @ 0x29c4 */
                                                 | #include <stdint.h>
                                                 |  
    ; (fcn) fcn.000029c4 ()                      | void fcn_000029c4 (int16_t arg1, int16_t arg2) {
                                                 |     r0 = arg1;
                                                 |     r1 = arg2;
    0x000029c4 push {r3, r4, r5, r6, r7, lr}     |     
    0x000029c6 mov r4, r0                        |     r4 = r0;
    0x000029c8 bl 0x281c                         |     r0 = fcn_0000281c (r0, r1);
                                                 |     if (r0 != 0) {
    0x000029cc cbz r0, 0x2a06                    |         
    0x000029ce mov r5, r0                        |         r5 = r0;
    0x000029d0 subs r7, r5, r4                   |         r7 = r5 - r4;
    0x000029d2 bl 0x2718                         |         r0 = fcn_00002718 ();
    0x000029d6 mov r6, r0                        |         r6 = r0;
                                                 |         if (r0 == 0) {
    0x000029d8 cbz r0, 0x2a0a                    |             goto label_0;
                                                 |         }
    0x000029da subs r5, r6, r5                   |         r5 = r6 - r5;
    0x000029dc mov r0, r4                        |         r0 = r4;
    0x000029de rsb.w r5, r5, 1                   |         r5 = 1 - r5;
    0x000029e2 blx 0x1218                        |         fcn_00001218 ();
    0x000029e6 add r0, r5                        |         r0 += r5;
    0x000029e8 blx 0x119c                        |         g_dbus_proxy_get_object_path ();
    0x000029ec mov r1, r4                        |         r1 = r4;
    0x000029ee mov r2, r7                        |         r2 = r7;
    0x000029f0 mov r4, r0                        |         r4 = r0;
    0x000029f2 blx 0x1224                        |         fcn_00001224 ();
    0x000029f6 mov r0, r6                        |         r0 = r6;
    0x000029f8 blx 0x1218                        |         fcn_00001218 ();
    0x000029fc mov r1, r6                        |         r1 = r6;
    0x000029fe adds r2, r0, 1                    |         r2 = r0 + 1;
    0x00002a00 adds r0, r4, r7                   |         r0 = r4 + r7;
    0x00002a02 blx 0x1224                        |         fcn_00001224 ();
                                                 |     }
    0x00002a06 mov r0, r4                        |     r0 = r4;
    0x00002a08 pop {r3, r4, r5, r6, r7, pc}      |     
                                                 | label_0:
    0x00002a0a mov r1, r7                        |     r1 = r7;
    0x00002a0c mov r0, r4                        |     r0 = r4;
    0x00002a0e pop.w {r3, r4, r5, r6, r7, lr}    |     
    0x00002a12 b.w 0x11cc                        |     return void (*0x11cc)() ();
                                                 | }
    ; assembly                                       | /* r2dec pseudo code output */
                                                     | /* /logs/firmware/patool_extraction/rootfs.img_unblob_extracted/rootfs.img_extract/0-50593792.squashfs_v4_le_extract/usr/bin/param_upgrader @ 0x2d8c */
                                                     | #include <stdint.h>
                                                     |  
    ; (fcn) fcn.00002d8c ()                          | void fcn_00002d8c (int16_t arg1, int16_t arg2, int16_t arg3) {
                                                     |     r0 = arg1;
                                                     |     r1 = arg2;
                                                     |     r2 = arg3;
    0x00002d8c invalid                               |     
    0x00002d90 bl 0x2b98                             |     r0 = fcn_00002b98 (r0, r1, r2);
                                                     |     if (r0 != 0) {
    0x00002d94 cbz r0, 0x2dce                        |         
    0x00002d96 mov r5, r0                            |         r5 = r0;
    0x00002d98 subs r7, r5, r4                       |         r7 = r5 - r4;
    0x00002d9a bl 0x2718                             |         r0 = fcn_00002718 ();
    0x00002d9e mov r6, r0                            |         r6 = r0;
                                                     |         if (r0 == 0) {
    0x00002da0 cbz r0, 0x2dd2                        |             goto label_0;
                                                     |         }
    0x00002da2 subs r5, r6, r5                       |         r5 = r6 - r5;
    0x00002da4 mov r0, r4                            |         r0 = r4;
    0x00002da6 rsb.w r5, r5, 1                       |         r5 = 1 - r5;
    0x00002daa blx 0x1218                            |         fcn_00001218 ();
    0x00002dae add r0, r5                            |         r0 += r5;
    0x00002db0 blx 0x119c                            |         g_dbus_proxy_get_object_path ();
    0x00002db4 mov r1, r4                            |         r1 = r4;
    0x00002db6 mov r2, r7                            |         r2 = r7;
    0x00002db8 mov r4, r0                            |         r4 = r0;
    0x00002dba blx 0x1224                            |         fcn_00001224 ();
    0x00002dbe mov r0, r6                            |         r0 = r6;
    0x00002dc0 blx 0x1218                            |         fcn_00001218 ();
    0x00002dc4 mov r1, r6                            |         r1 = r6;
    0x00002dc6 adds r2, r0, 1                        |         r2 = r0 + 1;
    0x00002dc8 adds r0, r4, r7                       |         r0 = r4 + r7;
    0x00002dca blx 0x1224                            |         fcn_00001224 ();
                                                     |     }
    0x00002dce mov r0, r4                            |     r0 = r4;
    0x00002dd0 pop {r3, r4, r5, r6, r7, pc}          |     
                                                     | label_0:
    0x00002dd2 mov r1, r7                            |     r1 = r7;
    0x00002dd4 mov r0, r4                            |     r0 = r4;
    0x00002dd6 pop.w {r3, r4, r5, r6, r7, lr}        |     
    0x00002dda b.w 0x11cc                            |     return void (*0x11cc)() ();
                                                     | }

[*] Function printf used 1 times param_upgrader