[*] Binary protection state of audio_file

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


[*] Function printf tear down of audio_file

    ; assembly                               | /* r2dec pseudo code output */
                                             | /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/bin/audio_file @ 0xdc0 */
                                             | #include <stdint.h>
                                             |  
    ; (fcn) main ()                          | int32_t main () {
                                             |     /* [13] -r-x section size 4400 named .text */
    0x00000dc0 lui gp, 2                     |     
    0x00000dc4 addiu gp, gp, -0x5d50         |     
    0x00000dc8 addu gp, gp, t9               |     gp += t9;
    0x00000dcc addiu sp, sp, -0x20           |     
    0x00000dd0 slti a0, a0, 3                |     a0 = (a0 < 3) ? 1 : 0;
    0x00000dd4 sw gp, 0x10(sp)               |     *(var_10h) = gp;
    0x00000dd8 sw s0, 0x18(sp)               |     *(var_18h) = s0;
    0x00000ddc sw ra, 0x1c(sp)               |     *(var_1ch) = ra;
    0x00000de0 move s0, a1                   |     s0 = a1;
                                             |     if (a0 == 0) {
    0x00000de4 bnez a0, 0xe04                |         
    0x00000de8 lw a0, -0x7fdc(gp)            |         a0 = *((gp - 8183));
    0x00000dec lw t9, -0x7f48(gp)            |         t9 = sym.imp.strcasecmp;
    0x00000df0 lw a1, 4(a1)                  |         a1 = *((a1 + 1));
    0x00000df4 addiu a0, a0, 0x2034          |         a0 += str.is_supported_audio;
    0x00000df8 jalr t9                       |         t9 ();
    0x00000dfc lw gp, 0x10(sp)               |         gp = *(var_10h);
                                             |         if (v0 == 0) {
    0x00000e00 beqz v0, 0xe40                |             goto label_0;
                                             |         }
                                             |     }
    0x00000e04 lw t9, -0x7f1c(gp)            |     t9 = sym.imp.basename;
    0x00000e08 lw a0, (s0)                   |     a0 = *(s0);
    0x00000e0c jalr t9                       |     t9 ();
    0x00000e10 lw gp, 0x10(sp)               |     gp = *(var_10h);
    0x00000e14 move a2, v0                   |     a2 = v0;
    0x00000e18 addiu a0, zero, 1             |     a0 = 1;
    0x00000e1c lw a1, -0x7fdc(gp)            |     a1 = *((gp - 8183));
    0x00000e20 lw t9, -0x7f54(gp)            |     t9 = sym.imp.__printf_chk
    0x00000e24 addiu a1, a1, 0x2048          |     a1 += str.Usage:__s__commands__ncommands_are:_is_supported_audio___file_path___n;
    0x00000e28 jalr t9                       |     t9 ();
    0x00000e2c addiu v0, zero, 1             |     v0 = 1;
                                             |     do {
    0x00000e30 lw ra, 0x1c(sp)               |         ra = *(var_1ch);
    0x00000e34 lw s0, 0x18(sp)               |         s0 = *(var_18h);
    0x00000e38 addiu sp, sp, 0x20            |         
    0x00000e3c jr ra                         |         return v0;
                                             | label_0:
    0x00000e40 lw t9, -0x7fd8(gp)            |         t9 = sym.is_supported_audio;
    0x00000e44 lw a0, 8(s0)                  |         a0 = *((s0 + 2));
    0x00000e48 bal 0x1dd0                    |         sym_is_supported_audio ();
    0x00000e4c xori v0, v0, 1                |         v0 ^= 1;
    0x00000e50 andi v0, v0, 0xff             |         v0 &= 0xff;
    0x00000e54 b 0xe30                       |         
                                             |     } while (1);
                                             | }

[*] Function printf used 2 times audio_file