[*] Binary protection state of systemd-mount

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


[*] Function sprintf tear down of systemd-mount

    ; assembly                           | /* r2dec pseudo code output */
                                         | /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/bin/systemd-mount @ 0x63c0 */
                                         | #include <stdint.h>
                                         |  
    ; (fcn) fcn.000063c0 ()              | void fcn_000063c0 () {
    0x000063c0 lui gp, 2                 |     
    0x000063c4 addiu gp, gp, -0x3370     |     
    0x000063c8 addu gp, gp, t9           |     gp += t9;
    0x000063cc addiu sp, sp, -0x60       |     
    0x000063d0 sw s1, 0x50(sp)           |     *(var_50h) = s1;
    0x000063d4 lw s1, -0x7eec(gp)        |     s1 = *((gp - 8123));
    0x000063d8 sw gp, 0x28(sp)           |     *(var_28h) = gp;
    0x000063dc sw ra, 0x5c(sp)           |     *(var_5ch) = ra;
    0x000063e0 sw s3, 0x58(sp)           |     *(var_58h) = s3;
    0x000063e4 sw s2, 0x54(sp)           |     *(var_54h) = s2;
    0x000063e8 sw s0, 0x4c(sp)           |     *(var_4ch) = s0;
    0x000063ec lw v0, (s1)               |     v0 = *(s1);
    0x000063f0 sw zero, 0x3c(sp)         |     *(var_3ch) = 0;
    0x000063f4 sw v0, 0x44(sp)           |     *(var_44h) = v0;
    0x000063f8 lw t9, -0x7fdc(gp)        |     t9 = *((gp - 8183));
                                         |     if (a0 == 0) {
    0x000063fc beqz a0, 0x66b4           |         goto label_5;
                                         |     }
    0x00006400 lw v0, -0x7fd4(gp)        |     v0 = *((gp - 8181));
    0x00006404 addiu a1, zero, 1         |     a1 = 1;
    0x00006408 lw a2, -0x4d58(v0)        |     a2 = *((v0 - 4950));
    0x0000640c addiu t9, t9, 0x61c0      |     t9 += fcn.000061c0;
    0x00006410 move s0, a0               |     s0 = a0;
    0x00006414 bal 0x61c0                |     fcn_000061c0 ();
    0x00006418 lw gp, 0x28(sp)           |     gp = *(var_28h);
                                         |     if (v0 < 0) {
    0x0000641c bltz v0, 0x6554           |         goto label_1;
                                         |     }
    0x00006420 lw s3, -0x7fd4(gp)        |     s3 = *((gp - 8181));
    0x00006424 lw v0, -0x4d44(s3)        |     v0 = *((s3 - 4945));
    0x00006428 lw a3, -0x7fd0(gp)        |     a3 = *((gp - 8180));
                                         |     if (v0 != 0) {
    0x0000642c beqz v0, 0x645c           |         
    0x00006430 lw a2, -0x7fd0(gp)        |         a2 = *((gp - 8180));
    0x00006434 lw a1, -0x7fd0(gp)        |         a1 = *((gp - 8180));
    0x00006438 lw t9, -0x7e5c(gp)        |         t9 = sym.imp.sd_bus_message_append;
    0x0000643c sw v0, 0x10(sp)           |         *(var_10h) = v0;
    0x00006440 addiu a3, a3, -0x6380     |         a3 += -0x6380;
    0x00006444 addiu a2, a2, -0x6a44     |         a2 += -0x6a44;
    0x00006448 addiu a1, a1, -0x6a84     |         a1 += -0x6a84;
    0x0000644c move a0, s0               |         a0 = s0;
    0x00006450 jalr t9                   |         t9 ();
    0x00006454 lw gp, 0x28(sp)           |         gp = *(var_28h);
                                         |         if (v0 < 0) {
    0x00006458 bltz v0, 0x6554           |             goto label_1;
                                         |         }
                                         |     }
    0x0000645c lw v0, -0x7fd4(gp)        |     v0 = *((gp - 8181));
    0x00006460 lw v0, -0x4d4c(v0)        |     v0 = *((v0 - 4947));
    0x00006464 lw a3, -0x7fd0(gp)        |     a3 = *((gp - 8180));
                                         |     if (v0 != 0) {
    0x00006468 beqz v0, 0x6498           |         
    0x0000646c lw a2, -0x7fd0(gp)        |         a2 = *((gp - 8180));
    0x00006470 lw a1, -0x7fd0(gp)        |         a1 = *((gp - 8180));
    0x00006474 lw t9, -0x7e5c(gp)        |         t9 = sym.imp.sd_bus_message_append;
    0x00006478 sw v0, 0x10(sp)           |         *(var_10h) = v0;
    0x0000647c addiu a3, a3, -0x6380     |         a3 += -0x6380;
    0x00006480 addiu a2, a2, -0x6a3c     |         a2 += -0x6a3c;
    0x00006484 addiu a1, a1, -0x6a84     |         a1 += -0x6a84;
    0x00006488 move a0, s0               |         a0 = s0;
    0x0000648c jalr t9                   |         t9 ();
    0x00006490 lw gp, 0x28(sp)           |         gp = *(var_28h);
                                         |         if (v0 < 0) {
    0x00006494 bltz v0, 0x6554           |             goto label_1;
                                         |         }
                                         |     }
    0x00006498 lw v1, -0x7fd4(gp)        |     v1 = *((gp - 8181));
    0x0000649c addiu v0, zero, -1        |     v0 = -1;
    0x000064a0 lw a3, -0x4ff8(v1)        |     a3 = *((v1 - 5118));
    0x000064a4 lw v1, -0x7fd4(gp)        |     v1 = *((gp - 8181));
                                         |     if (a3 != v0) {
    0x000064a8 beq a3, v0, 0x64f0        |         
    0x000064ac lw v0, -0x7fd4(gp)        |         v0 = *((gp - 8181));
    0x000064b0 lw v1, -0x4d50(v1)        |         v1 = *((v1 - 4948));
    0x000064b4 lw a0, -0x4ffc(v0)        |         a0 = *((v0 - 5119));
                                         |         if (v1 == 0) {
    0x000064b8 beqz v1, 0x66dc           |             goto label_6;
                                         |         }
    0x000064bc lw v0, -0x7fd0(gp)        |         v0 = *((gp - 8180));
    0x000064c0 addiu v0, v0, -0x6a48     |         v0 += -0x6a48;
                                         | label_2:
    0x000064c4 lw a2, -0x7fd0(gp)        |         a2 = *((gp - 8180));
    0x000064c8 lw t9, -0x7e9c(gp)        |         t9 = sym.imp.__asprintf_chk
    0x000064cc sw a0, 0x10(sp)           |         *(var_10h) = a0;
    0x000064d0 sw v1, 0x18(sp)           |         *(var_18h) = v1;
    0x000064d4 sw v0, 0x14(sp)           |         *(var_14h) = v0;
    0x000064d8 addiu a2, a2, -0x6a34     |         a2 += -0x6a34;
    0x000064dc addiu a1, zero, 1         |         a1 = 1;
    0x000064e0 addiu a0, sp, 0x3c        |         a0 = sp + 0x3c;
    0x000064e4 jalr t9                   |         t9 ();
    0x000064e8 lw gp, 0x28(sp)           |         gp = *(var_28h);
                                         |         if (v0 < 0) {
    0x000064ec bltz v0, 0x6730           |             goto label_7;
                                         |         }
                                         |     }
    0x000064f0 lw t9, -0x7fa0(gp)        |     t9 = sym.imp.log_get_max_level_realm;
    0x000064f4 lw s2, 0x3c(sp)           |     s2 = *(var_3ch);
    0x000064f8 move a0, zero             |     a0 = 0;
    0x000064fc jalr t9                   |     t9 ();
    0x00006500 lw gp, 0x28(sp)           |     gp = *(var_28h);
                                         |     if (s2 == 0) {
    0x00006504 beqz s2, 0x6594           |         goto label_8;
                                         |     }
    0x00006508 slti v0, v0, 7            |     v0 = (v0 < 7) ? 1 : 0;
    0x0000650c lw v0, -0x7fd0(gp)        |     v0 = *((gp - 8180));
    0x00006510 beqz v0, 0x65ac           |     
                                         |     while (s2 != 0) {
                                         | label_0:
    0x00006514 lw a3, -0x7fd0(gp)        |         a3 = *((gp - 8180));
    0x00006518 lw a2, -0x7fd0(gp)        |         a2 = *((gp - 8180));
    0x0000651c lw a1, -0x7fd0(gp)        |         a1 = *((gp - 8180));
    0x00006520 lw t9, -0x7e5c(gp)        |         t9 = sym.imp.sd_bus_message_append;
    0x00006524 sw s2, 0x10(sp)           |         *(var_10h) = s2;
    0x00006528 addiu a3, a3, -0x6380     |         a3 += -0x6380;
    0x0000652c addiu a2, a2, -0x6a08     |         a2 += -0x6a08;
    0x00006530 addiu a1, a1, -0x6a84     |         a1 += -0x6a84;
    0x00006534 move a0, s0               |         a0 = s0;
    0x00006538 jalr t9                   |         t9 ();
    0x0000653c lw gp, 0x28(sp)           |         gp = *(var_28h);
                                         |         if (v0 >= 0) {
    0x00006540 bltz v0, 0x6554           |             
                                         | label_4:
    0x00006544 lw v0, -0x7fd4(gp)        |             v0 = *((gp - 8181));
                                         | label_3:
    0x00006548 lbu v0, -0x5000(v0)       |             v0 = *((v0 - 20480));
    0x0000654c move v0, zero             |             v0 = 0;
                                         |             if (v0 != 0) {
    0x00006550 bnez v0, 0x65f8           |                 goto label_9;
                                         |             }
                                         |         }
                                         | label_1:
    0x00006554 lw t9, -0x7e7c(gp)        |         t9 = sym.imp.free;
    0x00006558 lw a0, 0x3c(sp)           |         a0 = *(var_3ch);
    0x0000655c sw v0, 0x34(sp)           |         *(var_34h) = v0;
    0x00006560 jalr t9                   |         t9 ();
    0x00006564 lw a0, 0x44(sp)           |         a0 = *(var_44h);
    0x00006568 lw v1, (s1)               |         v1 = *(s1);
    0x0000656c lw gp, 0x28(sp)           |         gp = *(var_28h);
    0x00006570 lw v0, 0x34(sp)           |         v0 = *(var_34h);
                                         |         if (a0 != v1) {
    0x00006574 bne a0, v1, 0x6738        |             goto label_10;
                                         |         }
    0x00006578 lw ra, 0x5c(sp)           |         ra = *(var_5ch);
    0x0000657c lw s3, 0x58(sp)           |         s3 = *(var_58h);
    0x00006580 lw s2, 0x54(sp)           |         s2 = *(var_54h);
    0x00006584 lw s1, 0x50(sp)           |         s1 = *(var_50h);
    0x00006588 lw s0, 0x4c(sp)           |         s0 = *(var_4ch);
    0x0000658c addiu sp, sp, 0x60        |         
    0x00006590 jr ra                     |         return v0;
                                         | label_8:
    0x00006594 lw v1, -0x7fd4(gp)        |         v1 = *((gp - 8181));
    0x00006598 lw s2, -0x4d50(v1)        |         s2 = *((v1 - 4948));
    0x0000659c slti v0, v0, 7            |         v0 = (v0 < 7) ? 1 : 0;
                                         |         if (s2 == 0) {
    0x000065a0 beqz s2, 0x66ec           |             goto label_11;
                                         |         }
    0x000065a4 lw v0, -0x7fd0(gp)        |         v0 = *((gp - 8180));
                                         |         if (v0 != 0) {
    0x000065a8 bnez v0, 0x65f0           |             goto label_12;
                                         |         }
    0x000065ac lw a2, -0x7fd0(gp)        |         a2 = *((gp - 8180));
    0x000065b0 addiu v0, v0, -0x6a20     |         v0 += -0x6a20;
    0x000065b4 sw v0, 0x14(sp)           |         *(var_14h) = v0;
    0x000065b8 lw v0, -0x7fd0(gp)        |         v0 = *((gp - 8180));
    0x000065bc lw t9, -0x7f20(gp)        |         t9 = sym.imp.log_internal_realm;
    0x000065c0 addiu v0, v0, -0x5fa0     |         v0 += -0x5fa0;
    0x000065c4 sw s2, 0x18(sp)           |         *(var_18h) = s2;
    0x000065c8 sw v0, 0x10(sp)           |         *(var_10h) = v0;
    0x000065cc addiu a3, zero, 0x1da     |         a3 = 0x1da;
    0x000065d0 addiu a2, a2, -0x7681     |         a2 += -0x7681;
    0x000065d4 move a1, zero             |         a1 = 0;
    0x000065d8 addiu a0, zero, 7         |         a0 = 7;
    0x000065dc jalr t9                   |         t9 ();
    0x000065e0 lw s2, 0x3c(sp)           |         s2 = *(var_3ch);
    0x000065e4 lw gp, 0x28(sp)           |         gp = *(var_28h);
    0x000065e8 bnez s2, 0x6514           |         
                                         |     }
    0x000065ec lw v1, -0x7fd4(gp)        |     v1 = *((gp - 8181));
                                         | label_12:
    0x000065f0 lw s2, -0x4d50(v1)        |     s2 = *((v1 - 4948));
    0x000065f4 b 0x6514                  |     goto label_0;
                                         | label_9:
    0x000065f8 lw a2, -0x7fd0(gp)        |     a2 = *((gp - 8180));
    0x000065fc lw a0, -0x7fd0(gp)        |     a0 = *((gp - 8180));
    0x00006600 lw t9, -0x7eac(gp)        |     t9 = sym.imp.unit_name_from_path_instance;
    0x00006604 lw a1, -0x4d44(s3)        |     a1 = *((s3 - 4945));
    0x00006608 addiu a3, sp, 0x40        |     a3 = sp + 0x40;
    0x0000660c addiu a2, a2, -0x69e4     |     a2 += -0x69e4;
    0x00006610 addiu a0, a0, -0x69d8     |     a0 += -0x69d8;
    0x00006614 sw zero, 0x40(sp)         |     *(var_40h_4) = 0;
    0x00006618 jalr t9                   |     t9 ();
    0x0000661c lw gp, 0x28(sp)           |     gp = *(var_28h);
                                         |     if (v0 >= 0) {
    0x00006620 bltz v0, 0x6698           |         
    0x00006624 lw a3, -0x7fd0(gp)        |         a3 = *((gp - 8180));
    0x00006628 lw v0, -0x7fd0(gp)        |         v0 = *((gp - 8180));
    0x0000662c lw a0, 0x40(sp)           |         a0 = *(var_40h_4);
    0x00006630 lw a2, -0x7fd0(gp)        |         a2 = *((gp - 8180));
    0x00006634 lw a1, -0x7fd0(gp)        |         a1 = *((gp - 8180));
    0x00006638 addiu v1, zero, 1         |         v1 = 1;
    0x0000663c lw t9, -0x7e5c(gp)        |         t9 = sym.imp.sd_bus_message_append;
    0x00006640 addiu a3, a3, -0x6a94     |         a3 += -0x6a94;
    0x00006644 addiu v0, v0, -0x6a90     |         v0 += -0x6a90;
    0x00006648 sw a0, 0x24(sp)           |         *(var_24h_5) = a0;
    0x0000664c sw a0, 0x14(sp)           |         *(var_14h) = a0;
    0x00006650 sw v1, 0x20(sp)           |         *(var_20h_10) = v1;
    0x00006654 sw a3, 0x1c(sp)           |         *(var_1ch_2) = a3;
    0x00006658 sw v0, 0x18(sp)           |         *(var_18h) = v0;
    0x0000665c sw v1, 0x10(sp)           |         *(var_10h) = v1;
    0x00006660 addiu a2, a2, -0x69c8     |         a2 += -0x69c8;
    0x00006664 addiu a1, a1, -0x6a88     |         a1 += -0x6a88;
    0x00006668 move a0, s0               |         a0 = s0;
    0x0000666c jalr t9                   |         t9 ();
    0x00006670 lw gp, 0x28(sp)           |         gp = *(var_28h);
                                         |         if (v0 < 0) {
    0x00006674 bltz v0, 0x6698           |             goto label_13;
                                         |         }
    0x00006678 lw t9, -0x7e7c(gp)        |         t9 = sym.imp.free;
    0x0000667c move v0, zero             |         v0 = 0;
    0x00006680 lw a0, 0x40(sp)           |         a0 = *(var_40h_4);
    0x00006684 sw v0, 0x34(sp)           |         *(var_34h) = v0;
    0x00006688 jalr t9                   |         t9 ();
    0x0000668c lw gp, 0x28(sp)           |         gp = *(var_28h);
    0x00006690 lw v0, 0x34(sp)           |         v0 = *(var_34h);
    0x00006694 b 0x6554                  |         goto label_1;
                                         |     }
                                         | label_13:
    0x00006698 lw t9, -0x7e7c(gp)        |     t9 = sym.imp.free;
    0x0000669c lw a0, 0x40(sp)           |     a0 = *(var_40h_4);
    0x000066a0 sw v0, 0x34(sp)           |     *(var_34h) = v0;
    0x000066a4 jalr t9                   |     t9 ();
    0x000066a8 lw gp, 0x28(sp)           |     gp = *(var_28h);
    0x000066ac lw v0, 0x34(sp)           |     v0 = *(var_34h);
    0x000066b0 b 0x6554                  |     goto label_1;
                                         | label_5:
    0x000066b4 lw v0, -0x7fd0(gp)        |     v0 = *((gp - 8180));
    0x000066b8 lw a2, -0x7fd0(gp)        |     a2 = *((gp - 8180));
    0x000066bc lw a1, -0x7fd0(gp)        |     a1 = *((gp - 8180));
    0x000066c0 addiu v0, v0, -0x5f80     |     v0 += -0x5f80;
    0x000066c4 lw t9, -0x7e68(gp)        |     t9 = sym.imp.log_assert_failed_realm;
    0x000066c8 sw v0, 0x10(sp)           |     *(var_10h) = v0;
    0x000066cc addiu a3, zero, 0x1bd     |     a3 = 0x1bd;
    0x000066d0 addiu a2, a2, -0x7681     |     a2 += -0x7681;
    0x000066d4 addiu a1, a1, -0x64d4     |     a1 += -0x64d4;
    0x000066d8 jalr t9                   |     t9 ();
                                         | label_6:
    0x000066dc lw v0, -0x7fd0(gp)        |     v0 = *((gp - 8180));
    0x000066e0 addiu v0, v0, -0x604c     |     v0 += -0x604c;
    0x000066e4 move v1, v0               |     v1 = v0;
    0x000066e8 b 0x64c4                  |     goto label_2;
                                         | label_11:
    0x000066ec lw v0, -0x7fd4(gp)        |     v0 = *((gp - 8181));
                                         |     if (v0 != 0) {
    0x000066f0 bnez v0, 0x6548           |         goto label_3;
                                         |     }
    0x000066f4 lw v0, -0x7fd0(gp)        |     v0 = *((gp - 8180));
    0x000066f8 lw a2, -0x7fd0(gp)        |     a2 = *((gp - 8180));
    0x000066fc addiu v0, v0, -0x6a00     |     v0 += -0x6a00;
    0x00006700 sw v0, 0x14(sp)           |     *(var_14h) = v0;
    0x00006704 lw v0, -0x7fd0(gp)        |     v0 = *((gp - 8180));
    0x00006708 lw t9, -0x7f20(gp)        |     t9 = sym.imp.log_internal_realm;
    0x0000670c addiu v0, v0, -0x5fa0     |     v0 += -0x5fa0;
    0x00006710 sw v0, 0x10(sp)           |     *(var_10h) = v0;
    0x00006714 addiu a3, zero, 0x1e0     |     a3 = 0x1e0;
    0x00006718 addiu a2, a2, -0x7681     |     a2 += -0x7681;
    0x0000671c move a1, zero             |     a1 = 0;
    0x00006720 addiu a0, zero, 7         |     a0 = 7;
    0x00006724 jalr t9                   |     t9 ();
    0x00006728 lw gp, 0x28(sp)           |     gp = *(var_28h);
    0x0000672c b 0x6544                  |     goto label_4;
                                         | label_7:
    0x00006730 addiu v0, zero, -0xc      |     v0 = -0xc;
    0x00006734 b 0x6554                  |     goto label_1;
                                         | label_10:
    0x00006738 lw t9, -0x7f28(gp)        |     t9 = sym.imp.__stack_chk_fail;
    0x0000673c jalr t9                   |     t9 ();
    0x00006740 nop                       |     
                                         | }

[*] Function sprintf used 2 times systemd-mount