[*] Binary protection state of scheduled

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


[*] Function printf tear down of scheduled

    ; assembly                           | /* r2dec pseudo code output */
                                         | /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/bin/scheduled @ 0x4618 */
                                         | #include <stdint.h>
                                         |  
    ; (fcn) fcn.00004618 ()              | void fcn_00004618 () {
    0x00004618 lui gp, 2                 |     
    0x0000461c addiu gp, gp, 0x39f8      |     
    0x00004620 addu gp, gp, t9           |     gp += t9;
    0x00004624 lw v0, -0x7d84(gp)        |     v0 = *((gp - 8033));
    0x00004628 addiu sp, sp, -0x478      |     
    0x0000462c lw t9, -0x7eb0(gp)        |     t9 = sym.imp.g_dir_open;
    0x00004630 sw s4, 0x460(sp)          |     *(var_460h) = s4;
    0x00004634 sw v0, 0x30(sp)           |     *(var_30h) = v0;
    0x00004638 lw s4, -0x7fdc(gp)        |     s4 = *((gp - 8183));
    0x0000463c lw v0, (v0)               |     v0 = *(v0);
    0x00004640 sw s5, 0x464(sp)          |     *(var_464h) = s5;
    0x00004644 addiu s5, sp, 0x38        |     s5 = sp + 0x38;
    0x00004648 sw gp, 0x18(sp)           |     *(var_18h) = gp;
    0x0000464c sw a0, 0x28(sp)           |     *(var_28h) = a0;
    0x00004650 sw a1, 0x34(sp)           |     *(var_34h) = a1;
    0x00004654 sw ra, 0x474(sp)          |     *(var_474h) = ra;
    0x00004658 sw fp, 0x470(sp)          |     *(var_470h) = fp;
    0x0000465c sw s7, 0x46c(sp)          |     *(var_46ch) = s7;
    0x00004660 sw s6, 0x468(sp)          |     *(var_468h) = s6;
    0x00004664 sw s3, 0x45c(sp)          |     *(var_45ch) = s3;
    0x00004668 sw s2, 0x458(sp)          |     *(var_458h) = s2;
    0x0000466c sw s1, 0x454(sp)          |     *(var_454h) = s1;
    0x00004670 sw s0, 0x450(sp)          |     *(var_450h) = s0;
    0x00004674 move a2, s5               |     a2 = s5;
    0x00004678 move a1, zero             |     a1 = 0;
    0x0000467c addiu a0, s4, -0x1768     |     a0 = s4 + -0x1768;
    0x00004680 sw v0, 0x44c(sp)          |     *(var_44ch) = v0;
    0x00004684 sw zero, 0x38(sp)         |     *(var_38h) = 0;
    0x00004688 jalr t9                   |     t9 ();
    0x0000468c nop                       |     
    0x00004690 lw gp, 0x18(sp)           |     gp = *(var_18h);
                                         |     if (v0 == 0) {
    0x00004694 beqz v0, 0x4988           |         goto label_4;
                                         |     }
    0x00004698 move s2, v0               |     s2 = v0;
    0x0000469c lw v0, -0x7fc0(gp)        |     v0 = *((gp - 8176));
    0x000046a0 lw s3, -0x7fdc(gp)        |     s3 = *((gp - 8183));
    0x000046a4 addiu v0, v0, 0x4004      |     v0 += fcn.00004004;
    0x000046a8 sw v0, 0x24(sp)           |     *(var_24h_2) = v0;
    0x000046ac lw v0, -0x7fc0(gp)        |     v0 = *((gp - 8176));
    0x000046b0 lw s6, -0x7fdc(gp)        |     s6 = *((gp - 8183));
    0x000046b4 addiu v0, v0, 0x4398      |     v0 += fcn.00004398;
    0x000046b8 lw s7, -0x7fdc(gp)        |     s7 = *((gp - 8183));
    0x000046bc addiu s3, s3, -0x1740     |     s3 += -0x1740;
    0x000046c0 sw v0, 0x2c(sp)           |     *(var_2ch_3) = v0;
                                         |     do {
                                         | label_1:
    0x000046c4 lw t9, -0x7c3c(gp)        |         t9 = sym.imp.g_dir_read_name;
    0x000046c8 move a0, s2               |         a0 = s2;
    0x000046cc jalr t9                   |         t9 ();
    0x000046d0 move s0, v0               |         s0 = v0;
    0x000046d4 lw gp, 0x18(sp)           |         gp = *(var_18h);
                                         |         if (v0 == 0) {
    0x000046d8 beqz v0, 0x4890           |             goto label_5;
                                         |         }
                                         | label_0:
    0x000046dc lw t9, -0x7e70(gp)        |         t9 = sym.imp.g_sprintf
    0x000046e0 addiu s1, sp, 0x4c        |         s1 = sp + 0x4c;
    0x000046e4 move a3, s0               |         a3 = s0;
    0x000046e8 addiu a2, s4, -0x1768     |         a2 = s4 + -0x1768;
    0x000046ec addiu a1, s6, -0x1748     |         a1 = s6 + -0x1748;
    0x000046f0 move a0, s1               |         a0 = s1;
    0x000046f4 sw zero, 0x3c(sp)         |         *(var_3ch_3) = 0;
    0x000046f8 sw zero, 0x40(sp)         |         *(var_40h) = 0;
    0x000046fc sw zero, 0x44(sp)         |         *(var_44h) = 0;
    0x00004700 jalr t9                   |         t9 ();
    0x00004704 lw gp, 0x18(sp)           |         gp = *(var_18h);
    0x00004708 move a1, s3               |         a1 = s3;
    0x0000470c lw t9, -0x7e5c(gp)        |         t9 = sym.imp.g_str_has_suffix;
    0x00004710 move a0, s0               |         a0 = s0;
    0x00004714 jalr t9                   |         t9 ();
    0x00004718 lw gp, 0x18(sp)           |         gp = *(var_18h);
                                         |         if (v0 == 0) {
    0x0000471c beqz v0, 0x48f8           |             goto label_6;
                                         |         }
    0x00004720 lw t9, -0x7eb4(gp)        |         t9 = sym.imp.g_file_test;
    0x00004724 addiu a1, zero, 1         |         a1 = 1;
    0x00004728 move a0, s1               |         a0 = s1;
    0x0000472c jalr t9                   |         t9 ();
    0x00004730 lw gp, 0x18(sp)           |         gp = *(var_18h);
                                         |         if (v0 == 0) {
    0x00004734 beqz v0, 0x48f8           |             goto label_6;
                                         |         }
    0x00004738 lw t9, -0x7d54(gp)        |         t9 = sym.imp.strlen;
    0x0000473c move a0, s0               |         a0 = s0;
    0x00004740 jalr t9                   |         t9 ();
    0x00004744 lw gp, 0x18(sp)           |         gp = *(var_18h);
    0x00004748 move a0, s0               |         a0 = s0;
    0x0000474c lw t9, -0x7cc8(gp)        |         t9 = sym.imp.g_strndup;
    0x00004750 addiu a1, v0, -5          |         a1 = v0 + -5;
    0x00004754 jalr t9                   |         t9 ();
    0x00004758 lw gp, 0x18(sp)           |         gp = *(var_18h);
    0x0000475c move a2, s5               |         a2 = s5;
    0x00004760 move a1, s1               |         a1 = s1;
    0x00004764 lw t9, -0x7ea4(gp)        |         t9 = sym.imp.schedule_deserialize;
    0x00004768 move a0, v0               |         a0 = v0;
    0x0000476c move s0, v0               |         s0 = v0;
    0x00004770 jalr t9                   |         t9 ();
    0x00004774 move fp, v0               |         fp = v0;
    0x00004778 lw gp, 0x18(sp)           |         gp = *(var_18h);
                                         |         if (v0 == 0) {
    0x0000477c beqz v0, 0x4918           |             goto label_7;
                                         |         }
    0x00004780 lw a0, 0x14(v0)           |         a0 = *((v0 + 5));
    0x00004784 lw t9, 0x24(sp)           |         t9 = *(var_24h_2);
    0x00004788 addiu v0, sp, 0x48        |         v0 = sp + 0x48;
    0x0000478c sw s5, 0x14(sp)           |         *(var_14h_2) = s5;
    0x00004790 sw v0, 0x10(sp)           |         *(var_10h_4) = v0;
    0x00004794 addiu a3, sp, 0x44        |         a3 = sp + 0x44;
    0x00004798 addiu a2, sp, 0x40        |         a2 = sp + 0x40;
    0x0000479c addiu a1, sp, 0x3c        |         a1 = sp + 0x3c;
    0x000047a0 jalr t9                   |         t9 ();
    0x000047a4 lw gp, 0x18(sp)           |         gp = *(var_18h);
                                         |         if (v0 == 0) {
    0x000047a8 beqz v0, 0x4940           |             goto label_8;
                                         |         }
    0x000047ac lw v0, 0x48(sp)           |         v0 = *(var_48h);
    0x000047b0 lw t9, -0x7fa4(gp)        |         t9 = sym.scheduled_event_new;
    0x000047b4 lw a3, 0x44(sp)           |         a3 = *(var_44h);
    0x000047b8 lw a2, 0x40(sp)           |         a2 = *(var_40h);
    0x000047bc lw a1, 0x3c(sp)           |         a1 = *(var_3ch_3);
    0x000047c0 sw s5, 0x14(sp)           |         *(var_14h_2) = s5;
    0x000047c4 sw v0, 0x10(sp)           |         *(var_10h_4) = v0;
    0x000047c8 move a0, fp               |         a0 = fp;
    0x000047cc bal 0x72ec                |         sym_scheduled_event_new ();
    0x000047d0 move s1, v0               |         s1 = v0;
    0x000047d4 lw gp, 0x18(sp)           |         gp = *(var_18h);
                                         |         if (v0 == 0) {
    0x000047d8 beqz v0, 0x496c           |             goto label_9;
                                         |         }
    0x000047dc lw t9, -0x7c58(gp)        |         t9 = *((gp - 7958));
    0x000047e0 move a0, fp               |         a0 = fp;
    0x000047e4 jalr t9                   |         t9 ();
    0x000047e8 lw gp, 0x18(sp)           |         gp = *(var_18h);
    0x000047ec lw t9, -0x7fac(gp)        |         t9 = sym.scheduled_entity_get_type;
    0x000047f0 bal 0x6338                |         sym_scheduled_entity_get_type ();
    0x000047f4 nop                       |         
    0x000047f8 lw gp, 0x18(sp)           |         gp = *(var_18h);
    0x000047fc move a1, v0               |         a1 = v0;
    0x00004800 lw t9, -0x7dd0(gp)        |         t9 = sym.imp.g_type_check_instance_cast;
    0x00004804 move a0, s1               |         a0 = s1;
    0x00004808 jalr t9                   |         t9 ();
    0x0000480c lw a0, 0x28(sp)           |         a0 = *(var_28h);
    0x00004810 lw t9, 0x2c(sp)           |         t9 = *(var_2ch_3);
    0x00004814 move a1, v0               |         a1 = v0;
    0x00004818 jalr t9                   |         t9 ();
    0x0000481c lw gp, 0x18(sp)           |         gp = *(var_18h);
    0x00004820 lw t9, -0x7bf0(gp)        |         t9 = *((gp - 7932));
    0x00004824 move a0, s0               |         a0 = s0;
    0x00004828 jalr t9                   |         t9 ();
    0x0000482c lw a0, 0x3c(sp)           |         a0 = *(var_3ch_3);
    0x00004830 lw gp, 0x18(sp)           |         gp = *(var_18h);
                                         |         if (a0 != 0) {
    0x00004834 beqz a0, 0x4848           |             
    0x00004838 lw t9, -0x7de4(gp)        |             t9 = sym.imp.date_time_free;
    0x0000483c jalr t9                   |             t9 ();
    0x00004840 nop                       |             
    0x00004844 lw gp, 0x18(sp)           |             gp = *(var_18h);
                                         |         }
    0x00004848 lw a0, 0x40(sp)           |         a0 = *(var_40h);
    0x0000484c lw t9, -0x7de4(gp)        |         t9 = sym.imp.date_time_free;
                                         |         if (a0 != 0) {
    0x00004850 beqz a0, 0x4860           |             
    0x00004854 jalr t9                   |             t9 ();
    0x00004858 nop                       |             
    0x0000485c lw gp, 0x18(sp)           |             gp = *(var_18h);
                                         |         }
    0x00004860 lw a0, 0x44(sp)           |         a0 = *(var_44h);
    0x00004864 lw t9, -0x7c58(gp)        |         t9 = *((gp - 7958));
    0x00004868 beqz a0, 0x46c4           |         
                                         |     } while (a0 == 0);
    0x0000486c jalr t9                   |     t9 ();
    0x00004870 nop                       |     
    0x00004874 lw gp, 0x18(sp)           |     gp = *(var_18h);
    0x00004878 lw t9, -0x7c3c(gp)        |     t9 = sym.imp.g_dir_read_name;
    0x0000487c move a0, s2               |     a0 = s2;
    0x00004880 jalr t9                   |     t9 ();
    0x00004884 move s0, v0               |     s0 = v0;
    0x00004888 lw gp, 0x18(sp)           |     gp = *(var_18h);
                                         |     if (v0 != 0) {
    0x0000488c bnez v0, 0x46dc           |         goto label_0;
                                         |     }
                                         | label_5:
    0x00004890 addiu s1, zero, 1         |     s1 = 1;
                                         |     do {
                                         | label_2:
    0x00004894 lw t9, -0x7c20(gp)        |         t9 = sym.imp.g_dir_close;
    0x00004898 move a0, s2               |         a0 = s2;
    0x0000489c jalr t9                   |         t9 ();
    0x000048a0 lw gp, 0x18(sp)           |         gp = *(var_18h);
                                         | label_3:
    0x000048a4 lw t9, -0x7bf0(gp)        |         t9 = *((gp - 7932));
    0x000048a8 move a0, s0               |         a0 = s0;
    0x000048ac jalr t9                   |         t9 ();
    0x000048b0 lw v0, 0x30(sp)           |         v0 = *(var_30h);
    0x000048b4 lw a0, 0x44c(sp)          |         a0 = *(var_44ch);
    0x000048b8 lw gp, 0x18(sp)           |         gp = *(var_18h);
    0x000048bc lw v1, (v0)               |         v1 = *(v0);
    0x000048c0 move v0, s1               |         v0 = s1;
                                         |         if (a0 != v1) {
    0x000048c4 bne a0, v1, 0x49a8        |             goto label_10;
                                         |         }
    0x000048c8 lw ra, 0x474(sp)          |         ra = *(var_474h);
    0x000048cc lw fp, 0x470(sp)          |         fp = *(var_470h);
    0x000048d0 lw s7, 0x46c(sp)          |         s7 = *(var_46ch);
    0x000048d4 lw s6, 0x468(sp)          |         s6 = *(var_468h);
    0x000048d8 lw s5, 0x464(sp)          |         s5 = *(var_464h);
    0x000048dc lw s4, 0x460(sp)          |         s4 = *(var_460h);
    0x000048e0 lw s3, 0x45c(sp)          |         s3 = *(var_45ch);
    0x000048e4 lw s2, 0x458(sp)          |         s2 = *(var_458h);
    0x000048e8 lw s1, 0x454(sp)          |         s1 = *(var_454h);
    0x000048ec lw s0, 0x450(sp)          |         s0 = *(var_450h);
    0x000048f0 addiu sp, sp, 0x478       |         
    0x000048f4 jr ra                     |         return v0;
                                         | label_6:
    0x000048f8 lw t9, -0x7ea0(gp)        |         t9 = sym.imp.g_log;
    0x000048fc move a3, s0               |         a3 = s0;
    0x00004900 addiu a2, s7, -0x1738     |         a2 = s7 + -0x1738;
    0x00004904 addiu a1, zero, 0x10      |         a1 = 0x10;
    0x00004908 move a0, zero             |         a0 = 0;
    0x0000490c jalr t9                   |         t9 ();
    0x00004910 lw gp, 0x18(sp)           |         gp = *(var_18h);
    0x00004914 b 0x46c4                  |         goto label_1;
                                         | label_7:
    0x00004918 lw a2, -0x7fdc(gp)        |         a2 = *((gp - 8183));
    0x0000491c lw t9, -0x7cf8(gp)        |         t9 = sym.imp.g_propagate_prefixed_error;
    0x00004920 lw a1, 0x38(sp)           |         a1 = *(var_38h);
    0x00004924 lw a0, 0x34(sp)           |         a0 = *(var_34h);
    0x00004928 move a3, s1               |         a3 = s1;
    0x0000492c addiu a2, a2, -0x170c     |         a2 += -0x170c;
    0x00004930 jalr t9                   |         t9 ();
    0x00004934 move s1, zero             |         s1 = 0;
    0x00004938 lw gp, 0x18(sp)           |         gp = *(var_18h);
    0x0000493c b 0x4894                  |         
                                         |     } while (1);
                                         | label_8:
    0x00004940 lw t9, -0x7d50(gp)        |     t9 = sym.imp.g_propagate_error;
    0x00004944 lw a1, 0x38(sp)           |     a1 = *(var_38h);
    0x00004948 lw a0, 0x34(sp)           |     a0 = *(var_34h);
    0x0000494c move s1, zero             |     s1 = 0;
    0x00004950 jalr t9                   |     t9 ();
    0x00004954 lw gp, 0x18(sp)           |     gp = *(var_18h);
    0x00004958 lw t9, -0x7c58(gp)        |     t9 = *((gp - 7958));
    0x0000495c move a0, fp               |     a0 = fp;
    0x00004960 jalr t9                   |     t9 ();
    0x00004964 lw gp, 0x18(sp)           |     gp = *(var_18h);
    0x00004968 b 0x4894                  |     goto label_2;
                                         | label_9:
    0x0000496c lw t9, -0x7d50(gp)        |     t9 = sym.imp.g_propagate_error;
    0x00004970 lw a1, 0x38(sp)           |     a1 = *(var_38h);
    0x00004974 lw a0, 0x34(sp)           |     a0 = *(var_34h);
    0x00004978 move s1, zero             |     s1 = 0;
    0x0000497c jalr t9                   |     t9 ();
    0x00004980 lw gp, 0x18(sp)           |     gp = *(var_18h);
    0x00004984 b 0x4894                  |     goto label_2;
                                         | label_4:
    0x00004988 lw t9, -0x7d50(gp)        |     t9 = sym.imp.g_propagate_error;
    0x0000498c lw a1, 0x38(sp)           |     a1 = *(var_38h);
    0x00004990 lw a0, 0x34(sp)           |     a0 = *(var_34h);
    0x00004994 move s1, zero             |     s1 = 0;
    0x00004998 jalr t9                   |     t9 ();
    0x0000499c move s0, zero             |     s0 = 0;
    0x000049a0 lw gp, 0x18(sp)           |     gp = *(var_18h);
    0x000049a4 b 0x48a4                  |     goto label_3;
                                         | label_10:
    0x000049a8 lw t9, -0x7dd4(gp)        |     t9 = sym.imp.__stack_chk_fail;
    0x000049ac jalr t9                   |     t9 ();
    0x000049b0 nop                       |     
                                         | }

[*] Function printf used 2 times scheduled