[*] Binary protection state of syslog-ng-ctl

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


[*] Function printf tear down of syslog-ng-ctl

    ; assembly                               | /* r2dec pseudo code output */
                                             | /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/sbin/syslog-ng-ctl @ 0x2a64 */
                                             | #include <stdint.h>
                                             |  
    ; (fcn) fcn.00002a64 ()                  | void fcn_00002a64 () {
                                             | label_0:
    0x00002a64 lui gp, 2                     |     
    0x00002a68 addiu gp, gp, -0x6714         |     
    0x00002a6c addu gp, gp, t9               |     gp += t9;
    0x00002a70 addiu sp, sp, -0x38           |     
    0x00002a74 lw t9, -0x7fc8(gp)            |     t9 = sym.get_mode;
    0x00002a78 sw s2, 0x2c(sp)               |     *(var_2ch) = s2;
    0x00002a7c move s2, a1                   |     s2 = a1;
    0x00002a80 sw gp, 0x18(sp)               |     *(var_18h) = gp;
    0x00002a84 sw s3, 0x30(sp)               |     *(var_30h) = s3;
    0x00002a88 sw s0, 0x24(sp)               |     *(var_24h) = s0;
    0x00002a8c sw ra, 0x34(sp)               |     *(var_34h) = ra;
    0x00002a90 sw s1, 0x28(sp)               |     *(var_28h) = s1;
    0x00002a94 move s0, a0                   |     s0 = a0;
    0x00002a98 addiu a1, sp, 0x40            |     a1 = sp + 0x40;
    0x00002a9c move a0, s2                   |     a0 = s2;
    0x00002aa0 sw a2, 0x40(sp)               |     *(arg_40h) = a2;
    0x00002aa4 move s3, a3                   |     s3 = a3;
    0x00002aa8 bal 0x2980                    |     sym_get_mode ();
    0x00002aac lw gp, 0x18(sp)               |     gp = *(var_18h);
                                             |     if (v0 == 0) {
    0x00002ab0 beqz v0, 0x2bb8               |         goto label_1;
                                             |     }
    0x00002ab4 lw a0, (s0)                   |     a0 = *(s0);
    0x00002ab8 move s1, v0                   |     s1 = v0;
                                             |     if (a0 != 0) {
    0x00002abc bnez a0, 0x2ad8               |         goto label_2;
                                             |     }
    0x00002ac0 lw ra, 0x34(sp)               |     ra = *(var_34h);
    0x00002ac4 b 0x2b14                      |     goto label_3;
                                             |     do {
    0x00002ac8 addiu s0, s0, 0x14            |         s0 += 0x14;
    0x00002acc lw a0, (s0)                   |         a0 = *(s0);
    0x00002ad0 lw ra, 0x34(sp)               |         ra = *(var_34h);
                                             |         if (a0 == 0) {
    0x00002ad4 beqz a0, 0x2b14               |             goto label_3;
                                             |         }
                                             | label_2:
    0x00002ad8 lw t9, -0x7f00(gp)            |         t9 = sym.imp.strcmp;
    0x00002adc move a1, s1                   |         a1 = s1;
    0x00002ae0 jalr t9                       |         t9 ();
    0x00002ae4 lw gp, 0x18(sp)               |         gp = *(var_18h);
    0x00002ae8 bnez v0, 0x2ac8               |         
                                             |     } while (v0 != 0);
    0x00002aec lw v0, 0xc(s0)                |     v0 = *((s0 + 3));
    0x00002af0 lw ra, 0x34(sp)               |     ra = *(var_34h);
                                             |     if (v0 != 0) {
    0x00002af4 beqz v0, 0x2b30               |         
    0x00002af8 move v0, s0                   |         v0 = s0;
    0x00002afc lw s3, 0x30(sp)               |         s3 = *(var_30h);
    0x00002b00 lw s2, 0x2c(sp)               |         s2 = *(var_2ch);
    0x00002b04 lw s1, 0x28(sp)               |         s1 = *(var_28h);
    0x00002b08 lw s0, 0x24(sp)               |         s0 = *(var_24h);
    0x00002b0c addiu sp, sp, 0x38            |         
    0x00002b10 jr ra                         |         return v0;
                                             | label_3:
    0x00002b14 lw s3, 0x30(sp)               |         s3 = *(var_30h);
    0x00002b18 lw s2, 0x2c(sp)               |         s2 = *(var_2ch);
    0x00002b1c lw s1, 0x28(sp)               |         s1 = *(var_28h);
    0x00002b20 lw s0, 0x24(sp)               |         s0 = *(var_24h);
    0x00002b24 move v0, zero                 |         v0 = 0;
    0x00002b28 addiu sp, sp, 0x38            |         
    0x00002b2c jr ra                         |         return v0;
                                             |     }
    0x00002b30 lw v0, 0x10(s0)               |     v0 = *((s0 + 4));
    0x00002b34 lw t9, -0x7f8c(gp)            |     t9 = sym.imp.g_string_append_printf
                                             |     if (v0 != 0) {
    0x00002b38 beqz v0, 0x2b8c               |         
    0x00002b3c lw a1, -0x7fdc(gp)            |         a1 = *((gp - 8183));
    0x00002b40 move a2, s1                   |         a2 = s1;
    0x00002b44 move a0, s3                   |         a0 = s3;
    0x00002b48 addiu a1, a1, 0x36b4          |         a1 += 0x36b4;
    0x00002b4c jalr t9                       |         t9 ();
    0x00002b50 lw gp, 0x18(sp)               |         gp = *(var_18h);
    0x00002b54 lw a2, 0x40(sp)               |         a2 = *(arg_40h);
    0x00002b58 lw a0, 0x10(s0)               |         a0 = *((s0 + 4));
    0x00002b5c lw t9, -0x7fdc(gp)            |         t9 = *((gp - 8183));
    0x00002b60 move a3, s3                   |         a3 = s3;
    0x00002b64 addiu t9, t9, 0x2a64          |         t9 += fcn.00002a64;
    0x00002b68 move a1, s2                   |         a1 = s2;
    0x00002b6c bal 0x2a64                    |         fcn_00002a64 ();
                                             |         goto label_0;
    0x00002b70 lw ra, 0x34(sp)               |         ra = *(var_34h);
    0x00002b74 lw s3, 0x30(sp)               |         s3 = *(var_30h);
    0x00002b78 lw s2, 0x2c(sp)               |         s2 = *(var_2ch);
    0x00002b7c lw s1, 0x28(sp)               |         s1 = *(var_28h);
    0x00002b80 lw s0, 0x24(sp)               |         s0 = *(var_24h);
    0x00002b84 addiu sp, sp, 0x38            |         
    0x00002b88 jr ra                         |         return v0;
                                             |     }
    0x00002b8c lw v0, -0x7fdc(gp)            |     v0 = *((gp - 8183));
    0x00002b90 lw a3, -0x7fdc(gp)            |     a3 = *((gp - 8183));
    0x00002b94 lw a1, -0x7fdc(gp)            |     a1 = *((gp - 8183));
    0x00002b98 addiu v0, v0, 0x370c          |     v0 += str.descriptors_mode_.subcommands;
    0x00002b9c lw t9, -0x7f78(gp)            |     t9 = sym.imp.g_assertion_message_expr;
    0x00002ba0 sw v0, 0x10(sp)               |     *(var_10h) = v0;
    0x00002ba4 addiu a3, a3, 0x3b30          |     a3 += str.find_active_mode;
    0x00002ba8 addiu a2, zero, 0x278         |     a2 = 0x278;
    0x00002bac addiu a1, a1, 0x35f4          |     a1 += str..._syslog_ng_3.19.1_syslog_ng_ctl_syslog_ng_ctl.c;
    0x00002bb0 move a0, zero                 |     a0 = 0;
    0x00002bb4 jalr t9                       |     t9 ();
                                             | label_1:
    0x00002bb8 lw t9, -0x7fdc(gp)            |     t9 = *((gp - 8183));
    0x00002bbc lw a0, (s3)                   |     a0 = *(s3);
    0x00002bc0 addiu t9, t9, 0x1ae0          |     t9 += fcn.00001ae0;
    0x00002bc4 move a1, s0                   |     a1 = s0;
    0x00002bc8 bal 0x1ae0                    |     fcn_00001ae0 ();
    0x00002bcc lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x00002bd0 lw t9, -0x7f40(gp)            |     t9 = sym.imp.exit;
    0x00002bd4 addiu a0, zero, 1             |     a0 = 1;
    0x00002bd8 jalr t9                       |     return t9 ();
                                             | }

[*] Function printf used 2 times syslog-ng-ctl