[*] Binary protection state of umount.util-linux

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


[*] Function fprintf tear down of umount.util-linux

    ; assembly                           | /* r2dec pseudo code output */
                                         | /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/bin/umount.util-linux @ 0x1cf0 */
                                         | #include <stdint.h>
                                         |  
    ; (fcn) main ()                      | int32_t main () {
                                         |     /* [13] -r-x section size 10832 named .text */
    0x00001cf0 lui gp, 2                 |     
    0x00001cf4 addiu gp, gp, -0x3ce0     |     
    0x00001cf8 addu gp, gp, t9           |     gp += t9;
    0x00001cfc lw v0, -0x7e24(gp)        |     v0 = *((gp - 8073));
    0x00001d00 addiu sp, sp, -0x1098     |     
    0x00001d04 lw t9, -0x7fd4(gp)        |     t9 = sym.sanitize_env;
    0x00001d08 sw v0, 0x3c(sp)           |     *(var_3ch) = v0;
    0x00001d0c lw v0, (v0)               |     v0 = *(v0);
    0x00001d10 sw ra, 0x1094(sp)         |     *(var_1094h) = ra;
    0x00001d14 sw gp, 0x18(sp)           |     *(var_18h) = gp;
    0x00001d18 sw s4, 0x1080(sp)         |     *(var_1080h) = s4;
    0x00001d1c sw s3, 0x107c(sp)         |     *(var_107ch) = s3;
    0x00001d20 sw v0, 0x106c(sp)         |     *(var_106ch) = v0;
    0x00001d24 sw fp, 0x1090(sp)         |     *(var_1090h) = fp;
    0x00001d28 sw s7, 0x108c(sp)         |     *(var_108ch) = s7;
    0x00001d2c sw s6, 0x1088(sp)         |     *(var_1088h) = s6;
    0x00001d30 sw s5, 0x1084(sp)         |     *(var_1084h) = s5;
    0x00001d34 sw s2, 0x1078(sp)         |     *(var_1078h) = s2;
    0x00001d38 sw s1, 0x1074(sp)         |     *(var_1074h) = s1;
    0x00001d3c sw s0, 0x1070(sp)         |     *(var_1070h) = s0;
    0x00001d40 sw zero, 0x58(sp)         |     *(var_58h) = 0;
    0x00001d44 sw zero, 0x5c(sp)         |     *(var_5ch) = 0;
    0x00001d48 sw zero, 0x60(sp)         |     *(var_60h) = 0;
    0x00001d4c sw zero, 0x64(sp)         |     *(var_64h) = 0;
    0x00001d50 sw zero, 0x68(sp)         |     *(var_68h) = 0;
    0x00001d54 move s3, a0               |     s3 = a0;
    0x00001d58 move s4, a1               |     s4 = a1;
    0x00001d5c bal 0x43f0                |     sym_sanitize_env ();
    0x00001d60 lw gp, 0x18(sp)           |     gp = *(var_18h);
    0x00001d64 addiu a0, zero, 6         |     a0 = 6;
    0x00001d68 lw a1, -0x7fdc(gp)        |     a1 = *((gp - 8183));
    0x00001d6c lw t9, -0x7f30(gp)        |     t9 = sym.imp.setlocale;
    0x00001d70 addiu a1, a1, 0x5438      |     a1 += 0x5438;
    0x00001d74 jalr t9                   |     t9 ();
    0x00001d78 lw gp, 0x18(sp)           |     gp = *(var_18h);
    0x00001d7c lw a0, -0x7fdc(gp)        |     a0 = *((gp - 8183));
    0x00001d80 lw t9, -0x7fd0(gp)        |     t9 = *(gp);
    0x00001d84 addiu a0, a0, 0x364c      |     a0 += 0x364c;
    0x00001d88 bal 0x4720                |     fcn_00004720 ();
    0x00001d8c lw gp, 0x18(sp)           |     gp = *(var_18h);
    0x00001d90 lw t9, -0x7ebc(gp)        |     t9 = sym.imp.mnt_init_debug;
    0x00001d94 move a0, zero             |     a0 = 0;
    0x00001d98 jalr t9                   |     t9 ();
    0x00001d9c lw gp, 0x18(sp)           |     gp = *(var_18h);
    0x00001da0 lw t9, -0x7e74(gp)        |     t9 = sym.imp.mnt_new_context;
    0x00001da4 jalr t9                   |     t9 ();
    0x00001da8 nop                       |     
    0x00001dac lw gp, 0x18(sp)           |     gp = *(var_18h);
                                         |     if (v0 == 0) {
    0x00001db0 beqz v0, 0x2d14           |         goto label_21;
                                         |     }
    0x00001db4 lw a1, -0x7fdc(gp)        |     a1 = *((gp - 8183));
    0x00001db8 lw t9, -0x7e70(gp)        |     t9 = sym.imp.mnt_context_set_tables_errcb;
    0x00001dbc addiu a1, a1, 0x2f90      |     a1 += 0x2f90;
    0x00001dc0 move a0, v0               |     a0 = v0;
    0x00001dc4 move s1, v0               |     s1 = v0;
    0x00001dc8 jalr t9                   |     t9 ();
    0x00001dcc lw gp, 0x18(sp)           |     gp = *(var_18h);
    0x00001dd0 sw zero, 0x30(sp)         |     *(var_30h) = 0;
    0x00001dd4 sw zero, 0x34(sp)         |     *(var_34h) = 0;
    0x00001dd8 lw v0, -0x7fdc(gp)        |     v0 = *((gp - 8183));
    0x00001ddc lw s2, -0x7fdc(gp)        |     s2 = *((gp - 8183));
    0x00001de0 sw v0, 0x20(sp)           |     *(var_20h) = v0;
    0x00001de4 lw v0, -0x7f84(gp)        |     v0 = *((gp - 8161));
    0x00001de8 lw s0, -0x7fd8(gp)        |     s0 = *((gp - 8182));
    0x00001dec sw v0, 0x28(sp)           |     *(var_28h) = v0;
    0x00001df0 lw v0, -0x7fdc(gp)        |     v0 = *((gp - 8183));
    0x00001df4 lw s5, -0x7fdc(gp)        |     s5 = *((gp - 8183));
    0x00001df8 addiu v0, v0, 0x50c0      |     v0 += str._proc__i_ns_mnt;
    0x00001dfc sw v0, 0x40(sp)           |     *(var_40h) = v0;
    0x00001e00 lw v0, -0x7fd8(gp)        |     v0 = *((gp - 8182));
    0x00001e04 lw s6, -0x7fdc(gp)        |     s6 = *((gp - 8183));
    0x00001e08 sw zero, 0x2c(sp)         |     *(var_2ch) = 0;
    0x00001e0c sw zero, 0x24(sp)         |     *(var_24h) = 0;
    0x00001e10 addiu s2, s2, 0x5840      |     s2 += 0x5840;
    0x00001e14 sw v0, 0x38(sp)           |     *(var_38h) = v0;
    0x00001e18 lw t9, -0x7ea0(gp)        |     t9 = sym.imp.getopt_long;
    0x00001e1c sw zero, 0x10(sp)         |     *(var_10h) = 0;
                                         |     /* section..data.rel.ro */
    0x00001e20 addiu a3, s0, 0x5e8c      |     a3 = s0 + 0x5e8c;
    0x00001e24 addiu a2, s5, 0x5698      |     a2 = s5 + str.aAcdfhilnqRrO:t:vVN:;
    0x00001e28 move a1, s4               |     a1 = s4;
    0x00001e2c move a0, s3               |     a0 = s3;
    0x00001e30 jalr t9                   |     t9 ();
    0x00001e34 move s7, v0               |     s7 = v0;
    0x00001e38 addiu v0, zero, -1        |     v0 = -1;
    0x00001e3c lw gp, 0x18(sp)           |     gp = *(var_18h);
                                         |     if (s7 == v0) {
    0x00001e40 beq s7, v0, 0x2258        |         goto label_22;
                                         |     }
    0x00001e44 lw t9, -0x7de0(gp)        |     t9 = sym.imp.mnt_context_is_restricted;
    0x00001e48 move a0, s1               |     a0 = s1;
    0x00001e4c jalr t9                   |     t9 ();
    0x00001e50 lw gp, 0x18(sp)           |     gp = *(var_18h);
                                         |     if (v0 != 0) {
    0x00001e54 beqz v0, 0x1e74           |         
    0x00001e58 lw v0, 0x20(sp)           |         v0 = *(var_20h);
    0x00001e5c lw t9, -0x7ea8(gp)        |         t9 = sym.imp.strchr;
    0x00001e60 move a1, s7               |         a1 = s7;
    0x00001e64 addiu a0, v0, 0x4fd0      |         a0 = v0 + str.hdilqVv;
    0x00001e68 jalr t9                   |         t9 ();
    0x00001e6c lw gp, 0x18(sp)           |         gp = *(var_18h);
                                         |         if (v0 == 0) {
    0x00001e70 beqz v0, 0x2d40           |             goto label_23;
                                         |         }
                                         |     }
    0x00001e74 slti v0, s7, 0x41         |     v0 = (s7 < 0x41) ? 1 : 0;
    0x00001e78 addiu v0, zero, 0x41      |     v0 = 0x41;
                                         |     if (v0 != 0) {
    0x00001e7c bnez v0, 0x1eec           |         goto label_24;
                                         |     }
    0x00001e80 addiu a0, sp, 0x58        |     a0 = sp + 0x58;
    0x00001e84 addiu fp, s6, 0x5940      |     fp = s6 + 0x5940;
    0x00001e88 slti a1, s7, 0x41         |     a1 = (s7 < 0x41) ? 1 : 0;
                                         | label_0:
    0x00001e8c addiu fp, fp, 0x40        |     fp += 0x40;
                                         |     if (a1 == 0) {
    0x00001e90 bnel a1, zero, 0x1ed4     |         goto label_1;
                                         |     }
                                         |     if (s7 == v0) {
    0x00001e94 beql s7, v0, 0x1ec4       |         goto label_25;
                                         |     }
    0x00001e98 lw v0, (a0)               |     v0 = *(a0);
    0x00001e9c move a1, fp               |     a1 = fp;
    0x00001ea0 addiu a1, a1, 4           |     a1 += 4;
                                         |     do {
    0x00001ea4 lw v0, (a1)               |         v0 = *(a1);
    0x00001ea8 slt a2, s7, v0            |         a2 = (s7 < v0) ? 1 : 0;
                                         |         if (v0 == 0) {
    0x00001eac beqz v0, 0x1ed0           |             goto label_26;
                                         |         }
    0x00001eb0 addiu fp, fp, 0x40        |         fp += 0x40;
                                         |         if (a2 == 0) {
    0x00001eb4 bnel a2, zero, 0x1ed4     |             goto label_1;
                                         |         }
    0x00001eb8 addiu a1, a1, 4           |         a1 += 4;
    0x00001ebc bnel s7, v0, 0x1ea4       |         
                                         |     } while (s7 == v0);
    0x00001ec0 lw v0, (a0)               |     v0 = *(a0);
                                         |     if (v0 != 0) {
                                         | label_25:
    0x00001ec4 bnez v0, 0x1f0c           |         goto label_27;
                                         |     }
    0x00001ec8 nop                       |     
    0x00001ecc sw s7, (a0)               |     *(a0) = s7;
                                         | label_26:
    0x00001ed0 addiu fp, fp, 0x40        |     fp += 0x40;
                                         | label_1:
    0x00001ed4 lw v0, (fp)               |     v0 = *(fp);
    0x00001ed8 addiu v1, s7, -0x41       |     v1 = s7 + -0x41;
                                         |     if (v0 == 0) {
    0x00001edc beqz v0, 0x1ef0           |         goto label_28;
                                         |     }
    0x00001ee0 slt a1, s7, v0            |     a1 = (s7 < v0) ? 1 : 0;
    0x00001ee4 addiu a0, a0, 4           |     a0 += 4;
                                         |     if (a1 == 0) {
    0x00001ee8 beqz a1, 0x1e8c           |         goto label_0;
                                         |     }
                                         | label_24:
    0x00001eec addiu v1, s7, -0x41       |     v1 = s7 + -0x41;
                                         | label_28:
    0x00001ef0 sltiu v0, v1, 0x40        |     v0 = (v1 < 0x40) ? 1 : 0;
    0x00001ef4 sll v1, v1, 2             |     v1 <<= 2;
                                         |     if (v0 == 0) {
    0x00001ef8 beqz v0, 0x2d28           |         goto label_29;
                                         |     }
    0x00001efc lwx v1, v1(s2)            |     __asm ("lwx v1, v1(s2)");
    0x00001f00 addu v1, v1, gp           |     v1 += gp;
    0x00001f04 jr v1                     |     v1 ();
    0x00001f08 nop                       |     
                                         |     if (s7 == v0) {
                                         | label_27:
    0x00001f0c beql s7, v0, 0x1ed4       |         goto label_1;
                                         |     }
    0x00001f10 addiu fp, fp, 0x40        |     fp += 0x40;
    0x00001f14 lw s4, -0x7e08(gp)        |     s4 = *((gp - 8066));
    0x00001f18 lw v0, -0x7f5c(gp)        |     v0 = *((gp - 8151));
    0x00001f1c lw a2, -0x7fdc(gp)        |     a2 = *((gp - 8183));
    0x00001f20 lw t9, -0x7f64(gp)        |     t9 = sym.imp.__fprintf_chk
    0x00001f24 lw a3, (v0)               |     a3 = *(v0);
    0x00001f28 lw a0, (s4)               |     a0 = *(s4);
    0x00001f2c addiu a1, zero, 1         |     a1 = 1;
    0x00001f30 addiu a2, a2, 0x5074      |     a2 += str._s:_mutually_exclusive_arguments:;
    0x00001f34 jalr t9                   |     t9 ();
    0x00001f38 lw v1, (fp)               |     v1 = *(fp);
    0x00001f3c lw gp, 0x18(sp)           |     gp = *(var_18h);
    0x00001f40 lw a1, (s4)               |     a1 = *(s4);
                                         |     if (v1 == 0) {
    0x00001f44 beqz v1, 0x1fdc           |         goto label_30;
                                         |     }
    0x00001f48 lw s7, -0x7fdc(gp)        |     s7 = *((gp - 8183));
    0x00001f4c lw s1, -0x7fdc(gp)        |     s1 = *((gp - 8183));
    0x00001f50 lw s6, -0x7fdc(gp)        |     s6 = *((gp - 8183));
    0x00001f54 lw s5, -0x7fdc(gp)        |     s5 = *((gp - 8183));
    0x00001f58 addiu s3, fp, 0x3c        |     s3 = fp + 0x3c;
    0x00001f5c addiu s2, zero, 0x61      |     s2 = 0x61;
    0x00001f60 addiu s7, s7, 0x4f34      |     s7 += 0x4f34;
    0x00001f64 addiu s1, s1, 0x4f38      |     s1 += str.all_targets;
    0x00001f68 addiu s6, s6, 0x5098      |     s6 += str.___c;
                                         | label_2:
    0x00001f6c move a3, s1               |     a3 = s1;
                                         |     if (v1 == s2) {
    0x00001f70 beq v1, s2, 0x1ff8        |         goto label_31;
                                         |     }
                                         |     /* section..data.rel.ro */
    0x00001f74 addiu v0, s0, 0x5e8c      |     v0 = s0 + 0x5e8c;
    0x00001f78 b 0x1f8c                  |     
                                         |     while (a3 != 0) {
    0x00001f7c lw a0, 0xc(v0)            |         a0 = *((v0 + 3));
    0x00001f80 lw t9, -0x7f64(gp)        |         t9 = sym.imp.__fprintf_chk
                                         |         if (a0 == v1) {
    0x00001f84 beq a0, v1, 0x2000        |             goto label_32;
                                         |         }
    0x00001f88 lw a3, 0x10(v0)           |         a3 = *((v0 + 4));
    0x00001f8c addiu v0, v0, 0x10        |         v0 += 0x10;
    0x00001f90 bnez a3, 0x1f7c           |         
                                         |     }
    0x00001f94 addiu v0, v1, -0x21       |     v0 = v1 + -0x21;
    0x00001f98 sltiu v0, v0, 0x5e        |     v0 = (v0 < 0x5e) ? 1 : 0;
                                         |     if (v0 != 0) {
    0x00001f9c beql v0, zero, 0x1fc8     |         
    0x00001fa0 addiu fp, fp, 4           |         fp += 4;
    0x00001fa4 lw t9, -0x7f64(gp)        |         t9 = sym.imp.__fprintf_chk
    0x00001fa8 move a0, a1               |         a0 = a1;
    0x00001fac move a3, v1               |         a3 = v1;
    0x00001fb0 addiu a1, zero, 1         |         a1 = 1;
    0x00001fb4 move a2, s6               |         a2 = s6;
    0x00001fb8 jalr t9                   |         t9 ();
    0x00001fbc lw gp, 0x18(sp)           |         gp = *(var_18h);
    0x00001fc0 lw a1, (s4)               |         a1 = *(s4);
                                         | label_3:
    0x00001fc4 addiu fp, fp, 4           |         fp += 4;
                                         |     }
    0x00001fc8 lw t9, -0x7f38(gp)        |     t9 = sym.imp.fputc;
                                         |     if (s3 == fp) {
    0x00001fcc beq s3, fp, 0x1fe0        |         goto label_33;
                                         |     }
    0x00001fd0 lw v1, (fp)               |     v1 = *(fp);
                                         |     if (v1 != 0) {
    0x00001fd4 bnez v1, 0x1f6c           |         goto label_2;
                                         |     }
    0x00001fd8 nop                       |     
                                         | label_30:
    0x00001fdc lw t9, -0x7f38(gp)        |     t9 = sym.imp.fputc;
                                         | label_33:
    0x00001fe0 addiu a0, zero, 0xa       |     a0 = 0xa;
    0x00001fe4 jalr t9                   |     t9 ();
    0x00001fe8 lw gp, 0x18(sp)           |     gp = *(var_18h);
    0x00001fec lw t9, -0x7e90(gp)        |     t9 = sym.imp.exit;
    0x00001ff0 addiu a0, zero, 1         |     a0 = 1;
    0x00001ff4 jalr t9                   |     t9 ();
                                         | label_31:
    0x00001ff8 move a3, s7               |     a3 = s7;
    0x00001ffc lw t9, -0x7f64(gp)        |     t9 = sym.imp.__fprintf_chk
                                         | label_32:
    0x00002000 move a0, a1               |     a0 = a1;
    0x00002004 addiu a2, s5, 0x5798      |     a2 = s5 + str.____s;
    0x00002008 addiu a1, zero, 1         |     a1 = 1;
    0x0000200c jalr t9                   |     t9 ();
    0x00002010 lw gp, 0x18(sp)           |     gp = *(var_18h);
    0x00002014 lw a1, (s4)               |     a1 = *(s4);
    0x00002018 b 0x1fc4                  |     goto label_3;
                                         | label_22:
    0x00002258 lw v0, -0x7e40(gp)        |     v0 = *((gp - 8080));
    0x0000225c lw v1, 0x24(sp)           |     v1 = *(var_24h);
    0x00002260 lw v0, (v0)               |     v0 = *(v0);
    0x00002264 subu s3, s3, v0           |     __asm ("subu s3, s3, v0");
                                         |     if (v1 == 0) {
    0x00002268 beqz v1, 0x239c           |         goto label_34;
                                         |     }
    0x0000226c lw v0, 0x30(sp)           |     v0 = *(var_30h);
                                         |     if (s3 != 0) {
    0x00002270 bnez s3, 0x2840           |         goto label_35;
                                         |     }
    0x00002274 lw v0, -0x7fdc(gp)        |     v0 = *((gp - 8183));
                                         |     if (v0 == 0) {
    0x00002278 beqz v0, 0x26a4           |         goto label_36;
                                         |     }
                                         | label_9:
    0x0000227c lw t9, -0x7f54(gp)        |     t9 = sym.imp.mnt_context_set_fstype_pattern;
    0x00002280 lw a1, 0x30(sp)           |     a1 = *(var_30h);
    0x00002284 move a0, s1               |     a0 = s1;
    0x00002288 jalr t9                   |     t9 ();
    0x0000228c lw gp, 0x18(sp)           |     gp = *(var_18h);
    0x00002290 lw t9, -0x7e30(gp)        |     t9 = sym.imp.mnt_new_iter;
    0x00002294 addiu a0, zero, 1         |     a0 = 1;
    0x00002298 jalr t9                   |     t9 ();
    0x0000229c move s0, v0               |     s0 = v0;
    0x000022a0 lw gp, 0x18(sp)           |     gp = *(var_18h);
                                         |     if (v0 == 0) {
    0x000022a4 beqz v0, 0x2824           |         goto label_37;
                                         |     }
    0x000022a8 lw s4, -0x7fdc(gp)        |     s4 = *((gp - 8183));
    0x000022ac lw s2, -0x7fdc(gp)        |     s2 = *((gp - 8183));
    0x000022b0 addiu v0, s4, 0x5708      |     v0 = s4 + str.__25s:_successfully_unmounted_n;
    0x000022b4 sw v0, 0x20(sp)           |     *(var_20h) = v0;
    0x000022b8 lw v0, -0x7fdc(gp)        |     v0 = *((gp - 8183));
    0x000022bc addiu s7, sp, 0x54        |     s7 = sp + 0x54;
    0x000022c0 addiu s5, sp, 0x50        |     s5 = sp + 0x50;
    0x000022c4 addiu fp, sp, 0x4c        |     fp = sp + 0x4c;
    0x000022c8 addiu s2, s2, 0x2fd4      |     s2 += fcn.00002fd4;
    0x000022cc sw v0, 0x24(sp)           |     *(var_24h) = v0;
                                         |     do {
                                         | label_4:
    0x000022d0 lw t9, -0x7df0(gp)        |         t9 = sym.imp.mnt_context_next_umount;
    0x000022d4 sw s7, 0x10(sp)           |         *(var_10h) = s7;
    0x000022d8 move a3, s5               |         a3 = s5;
    0x000022dc move a2, fp               |         a2 = fp;
    0x000022e0 move a1, s0               |         a1 = s0;
    0x000022e4 move a0, s1               |         a0 = s1;
    0x000022e8 jalr t9                   |         t9 ();
    0x000022ec lw gp, 0x18(sp)           |         gp = *(var_18h);
                                         |         if (v0 != 0) {
    0x000022f0 bnez v0, 0x254c           |             goto label_38;
                                         |         }
    0x000022f4 lw t9, -0x7e7c(gp)        |         t9 = sym.imp.mnt_fs_get_target;
    0x000022f8 lw a0, 0x4c(sp)           |         a0 = *(var_4ch);
    0x000022fc jalr t9                   |         t9 ();
    0x00002300 lw v1, 0x54(sp)           |         v1 = *(var_54h);
    0x00002304 lw gp, 0x18(sp)           |         gp = *(var_18h);
    0x00002308 move s6, v0               |         s6 = v0;
                                         |         if (v1 == 0) {
    0x0000230c beqz v1, 0x2344           |             goto label_39;
                                         |         }
    0x00002310 lw t9, -0x7ee4(gp)        |         t9 = sym.imp.mnt_context_is_verbose;
    0x00002314 move a0, s1               |         a0 = s1;
    0x00002318 jalr t9                   |         t9 ();
    0x0000231c lw gp, 0x18(sp)           |         gp = *(var_18h);
    0x00002320 beqz v0, 0x22d0           |         
                                         |     } while (v0 == 0);
    0x00002324 lw v0, 0x24(sp)           |     v0 = *(var_24h);
    0x00002328 lw t9, -0x7f0c(gp)        |     t9 = sym.imp.__printf_chk;
    0x0000232c move a2, s6               |     a2 = s6;
    0x00002330 addiu a1, v0, 0x56f8      |     a1 = v0 + str.__25s:_ignored_n;
    0x00002334 addiu a0, zero, 1         |     a0 = 1;
    0x00002338 jalr t9                   |     t9 ();
    0x0000233c lw gp, 0x18(sp)           |     gp = *(var_18h);
    0x00002340 b 0x22d0                  |     goto label_4;
                                         | label_39:
    0x00002344 lw a1, 0x50(sp)           |     a1 = *(var_50h);
    0x00002348 move t9, s2               |     t9 = s2;
    0x0000234c move a0, s1               |     a0 = s1;
    0x00002350 bal 0x2fd4                |     fcn_00002fd4 ();
    0x00002354 move s4, v0               |     s4 = v0;
    0x00002358 lw gp, 0x18(sp)           |     gp = *(var_18h);
    0x0000235c beqz v0, 0x2368           |     
                                         |     while (v0 == 0) {
    0x00002360 or s3, s3, s4             |         s3 |= s4;
    0x00002364 b 0x22d0                  |         goto label_4;
    0x00002368 lw t9, -0x7ee4(gp)        |         t9 = sym.imp.mnt_context_is_verbose;
    0x0000236c move a0, s1               |         a0 = s1;
    0x00002370 jalr t9                   |         t9 ();
    0x00002374 lw gp, 0x18(sp)           |         gp = *(var_18h);
    0x00002378 beqz v0, 0x2360           |         
                                         |     }
    0x0000237c lw t9, -0x7f0c(gp)        |     t9 = sym.imp.__printf_chk;
    0x00002380 lw a1, 0x20(sp)           |     a1 = *(var_20h);
    0x00002384 move a2, s6               |     a2 = s6;
    0x00002388 addiu a0, zero, 1         |     a0 = 1;
    0x0000238c jalr t9                   |     t9 ();
    0x00002390 or s3, s3, s4             |     s3 |= s4;
    0x00002394 lw gp, 0x18(sp)           |     gp = *(var_18h);
    0x00002398 b 0x22d0                  |     goto label_4;
                                         | label_34:
    0x0000239c sll v0, v0, 2             |     v0 <<= 2;
                                         |     if (s3 <= 0) {
    0x000023a0 blez s3, 0x288c           |         goto label_40;
                                         |     }
    0x000023a4 addu s4, s4, v0           |     s4 += v0;
    0x000023a8 lw v0, 0x34(sp)           |     v0 = *(var_34h);
    0x000023ac addiu s6, s3, -1          |     s6 = s3 + -1;
                                         |     if (v0 == 0) {
    0x000023b0 beqz v0, 0x25c0           |         goto label_41;
                                         |     }
    0x000023b4 lw v0, -0x7fdc(gp)        |     v0 = *((gp - 8183));
    0x000023b8 addiu s7, sp, 0x54        |     s7 = sp + 0x54;
    0x000023bc addiu v0, v0, 0x3130      |     v0 += fcn.00003130;
    0x000023c0 sw v0, 0x30(sp)           |     *(var_30h) = v0;
    0x000023c4 lw v0, -0x7fdc(gp)        |     v0 = *((gp - 8183));
    0x000023c8 addiu v0, v0, 0x33d8      |     v0 += 0x33d8;
    0x000023cc sw v0, 0x20(sp)           |     *(var_20h) = v0;
    0x000023d0 lw v0, -0x7fdc(gp)        |     v0 = *((gp - 8183));
    0x000023d4 addiu v0, v0, 0x34c8      |     v0 += 0x34c8;
    0x000023d8 sw v0, 0x28(sp)           |     *(var_28h) = v0;
                                         | label_6:
    0x000023dc addiu s4, s4, 4           |     s4 += 4;
    0x000023e0 lw s0, -4(s4)             |     s0 = *((s4 - 1));
    0x000023e4 lw t9, -0x7e3c(gp)        |     t9 = sym.imp.mnt_context_find_umount_fs;
    0x000023e8 move a2, s7               |     a2 = s7;
    0x000023ec move a1, s0               |     a1 = s0;
    0x000023f0 move a0, s1               |     a0 = s1;
    0x000023f4 jalr t9                   |     t9 ();
    0x000023f8 move s2, v0               |     s2 = v0;
    0x000023fc addiu v0, zero, 1         |     v0 = 1;
    0x00002400 lw gp, 0x18(sp)           |     gp = *(var_18h);
                                         |     if (s2 == v0) {
    0x00002404 beq s2, v0, 0x26f8        |         goto label_42;
                                         |     }
    0x00002408 lw t9, -0x7e94(gp)        |     t9 = sym.imp.mnt_fs_get_srcpath;
                                         |     if (s2 < 0) {
    0x0000240c bltz s2, 0x26d8           |         goto label_43;
                                         |     }
    0x00002410 lw a0, 0x54(sp)           |     a0 = *(var_54h);
    0x00002414 jalr t9                   |     t9 ();
    0x00002418 lw gp, 0x18(sp)           |     gp = *(var_18h);
                                         |     if (v0 == 0) {
    0x0000241c beqz v0, 0x28c8           |         goto label_44;
                                         |     }
    0x00002420 lw t9, -0x7f14(gp)        |     t9 = sym.imp.mnt_fs_get_devno;
    0x00002424 lw a0, 0x54(sp)           |     a0 = *(var_54h);
    0x00002428 jalr t9                   |     t9 ();
    0x0000242c or v0, v0, v1             |     v0 |= v1;
    0x00002430 lw gp, 0x18(sp)           |     gp = *(var_18h);
                                         |     if (v0 == 0) {
    0x00002434 beqz v0, 0x28c8           |         goto label_44;
                                         |     }
    0x00002438 lw t9, -0x7e30(gp)        |     t9 = sym.imp.mnt_new_iter;
    0x0000243c addiu a0, zero, 1         |     a0 = 1;
    0x00002440 jalr t9                   |     t9 ();
    0x00002444 move s3, v0               |     s3 = v0;
    0x00002448 lw gp, 0x18(sp)           |     gp = *(var_18h);
                                         |     if (v0 == 0) {
    0x0000244c beqz v0, 0x28b4           |         goto label_45;
                                         |     }
    0x00002450 lw t9, 0x30(sp)           |     t9 = *(var_30h);
    0x00002454 move a0, s1               |     a0 = s1;
    0x00002458 jalr t9                   |     t9 ();
    0x0000245c move s0, v0               |     s0 = v0;
    0x00002460 lw gp, 0x18(sp)           |     gp = *(var_18h);
                                         |     if (v0 == 0) {
    0x00002464 beqz v0, 0x273c           |         goto label_46;
                                         |     }
    0x00002468 lw t9, -0x7f14(gp)        |     t9 = sym.imp.mnt_fs_get_devno;
    0x0000246c lw a0, 0x54(sp)           |     a0 = *(var_54h);
    0x00002470 jalr t9                   |     t9 ();
    0x00002474 lw gp, 0x18(sp)           |     gp = *(var_18h);
    0x00002478 move a0, s1               |     a0 = s1;
    0x0000247c sw zero, 0x54(sp)         |     *(var_54h) = 0;
    0x00002480 lw t9, -0x7f20(gp)        |     t9 = sym.imp.mnt_reset_context;
    0x00002484 move s5, v0               |     s5 = v0;
    0x00002488 move fp, v1               |     fp = v1;
    0x0000248c jalr t9                   |     t9 ();
    0x00002490 lw gp, 0x18(sp)           |     gp = *(var_18h);
                                         |     do {
    0x00002494 lw t9, -0x7e1c(gp)        |         t9 = sym.imp.mnt_table_next_fs;
                                         | label_5:
    0x00002498 move a2, s7               |         a2 = s7;
    0x0000249c move a1, s3               |         a1 = s3;
    0x000024a0 move a0, s0               |         a0 = s0;
    0x000024a4 jalr t9                   |         t9 ();
    0x000024a8 lw gp, 0x18(sp)           |         gp = *(var_18h);
                                         |         if (v0 != 0) {
    0x000024ac bnez v0, 0x250c           |             goto label_13;
                                         |         }
    0x000024b0 lw t9, -0x7f14(gp)        |         t9 = sym.imp.mnt_fs_get_devno;
    0x000024b4 lw a0, 0x54(sp)           |         a0 = *(var_54h);
    0x000024b8 jalr t9                   |         t9 ();
    0x000024bc lw gp, 0x18(sp)           |         gp = *(var_18h);
    0x000024c0 bne s5, v0, 0x2494        |         
                                         |     } while (s5 != v0);
    0x000024c4 lw t9, -0x7e1c(gp)        |     t9 = sym.imp.mnt_table_next_fs;
                                         |     if (fp != v1) {
    0x000024c8 bne fp, v1, 0x2498        |         goto label_5;
                                         |     }
    0x000024cc lw t9, -0x7e38(gp)        |     t9 = sym.imp.mnt_context_disable_swapmatch;
    0x000024d0 addiu a1, zero, 1         |     a1 = 1;
    0x000024d4 move a0, s1               |     a0 = s1;
    0x000024d8 jalr t9                   |     t9 ();
    0x000024dc lw v0, 0x2c(sp)           |     v0 = *(var_2ch);
    0x000024e0 lw gp, 0x18(sp)           |     gp = *(var_18h);
                                         |     if (v0 == 0) {
    0x000024e4 beqz v0, 0x26b0           |         goto label_47;
                                         |     }
    0x000024e8 lw a2, 0x54(sp)           |     a2 = *(var_54h);
    0x000024ec lw t9, 0x28(sp)           |     t9 = *(var_28h);
    0x000024f0 move a1, s0               |     a1 = s0;
    0x000024f4 move a0, s1               |     a0 = s1;
    0x000024f8 jalr t9                   |     t9 ();
    0x000024fc lw gp, 0x18(sp)           |     gp = *(var_18h);
    0x00002500 move s2, v0               |     s2 = v0;
                                         | label_10:
    0x00002504 lw t9, -0x7e1c(gp)        |     t9 = sym.imp.mnt_table_next_fs;
                                         |     if (s2 == 0) {
    0x00002508 beqz s2, 0x2498           |         goto label_5;
                                         |     }
                                         | label_13:
    0x0000250c lw t9, -0x7ee0(gp)        |     t9 = sym.imp.mnt_free_iter;
    0x00002510 move a0, s3               |     a0 = s3;
    0x00002514 jalr t9                   |     t9 ();
    0x00002518 lw gp, 0x18(sp)           |     gp = *(var_18h);
    0x0000251c lw t9, -0x7de4(gp)        |     t9 = sym.imp.mnt_unref_table;
    0x00002520 move a0, s0               |     a0 = s0;
    0x00002524 jalr t9                   |     t9 ();
    0x00002528 lw gp, 0x18(sp)           |     gp = *(var_18h);
                                         | label_11:
    0x0000252c lw v1, 0x24(sp)           |     v1 = *(var_24h);
                                         | label_12:
    0x00002530 addiu s6, s6, -1          |     s6 += -1;
    0x00002534 addu v1, v1, s2           |     v1 += s2;
    0x00002538 addiu v0, zero, -1        |     v0 = -1;
    0x0000253c sw v1, 0x24(sp)           |     *(var_24h) = v1;
                                         |     if (s6 != v0) {
    0x00002540 bne s6, v0, 0x23dc        |         goto label_6;
                                         |     }
    0x00002544 lw t9, -0x7f48(gp)        |     t9 = sym.imp.mnt_free_context;
    0x00002548 b 0x2564                  |     goto label_48;
                                         | label_38:
    0x0000254c lw t9, -0x7ee0(gp)        |     t9 = sym.imp.mnt_free_iter;
    0x00002550 move a0, s0               |     a0 = s0;
    0x00002554 jalr t9                   |     t9 ();
    0x00002558 lw gp, 0x18(sp)           |     gp = *(var_18h);
                                         | label_18:
    0x0000255c sw s3, 0x24(sp)           |     *(var_24h) = s3;
                                         |     do {
                                         | label_15:
    0x00002560 lw t9, -0x7f48(gp)        |         t9 = sym.imp.mnt_free_context;
                                         | label_48:
    0x00002564 move a0, s1               |         a0 = s1;
    0x00002568 jalr t9                   |         t9 ();
    0x0000256c lw v0, 0x3c(sp)           |         v0 = *(var_3ch);
    0x00002570 lw a2, 0x24(sp)           |         a2 = *(var_24h);
    0x00002574 lw a0, 0x106c(sp)         |         a0 = *(var_106ch);
    0x00002578 lw v1, (v0)               |         v1 = *(v0);
    0x0000257c slti a1, a2, 0x100        |         a1 = (a2 < 0x100) ? 1 : 0;
    0x00002580 addiu v0, zero, 0xff      |         v0 = 0xff;
    0x00002584 lw gp, 0x18(sp)           |         gp = *(var_18h);
                                         |         if (a1 == 0) {
    0x00002588 movn v0, a2, a1           |             v0 = a2;
                                         |         }
                                         |         if (a0 != v1) {
    0x0000258c bne a0, v1, 0x2da8        |             goto label_49;
                                         |         }
    0x00002590 lw ra, 0x1094(sp)         |         ra = *(var_1094h);
    0x00002594 lw fp, 0x1090(sp)         |         fp = *(var_1090h);
    0x00002598 lw s7, 0x108c(sp)         |         s7 = *(var_108ch);
    0x0000259c lw s6, 0x1088(sp)         |         s6 = *(var_1088h);
    0x000025a0 lw s5, 0x1084(sp)         |         s5 = *(var_1084h);
    0x000025a4 lw s4, 0x1080(sp)         |         s4 = *(var_1080h);
    0x000025a8 lw s3, 0x107c(sp)         |         s3 = *(var_107ch);
    0x000025ac lw s2, 0x1078(sp)         |         s2 = *(var_1078h);
    0x000025b0 lw s1, 0x1074(sp)         |         s1 = *(var_1074h);
    0x000025b4 lw s0, 0x1070(sp)         |         s0 = *(var_1070h);
    0x000025b8 addiu sp, sp, 0x1098      |         
    0x000025bc jr ra                     |         return v0;
                                         | label_41:
    0x000025c0 lw v0, 0x2c(sp)           |         v0 = *(var_2ch);
                                         |         if (v0 == 0) {
    0x000025c4 beql v0, zero, 0x274c     |             goto label_50;
                                         |         }
    0x000025c8 lw s2, -0x7fdc(gp)        |         s2 = *((gp - 8183));
    0x000025cc lw v0, -0x7fdc(gp)        |         v0 = *((gp - 8183));
    0x000025d0 lw s5, -0x7fdc(gp)        |         s5 = *((gp - 8183));
    0x000025d4 addiu v0, v0, 0x4f9c      |         v0 += str._s:_not_found;
    0x000025d8 move fp, v0               |         fp = v0;
    0x000025dc lw v0, -0x7fdc(gp)        |         v0 = *((gp - 8183));
    0x000025e0 lw s7, -0x7fdc(gp)        |         s7 = *((gp - 8183));
    0x000025e4 addiu v0, v0, 0x34c8      |         v0 += 0x34c8;
    0x000025e8 lw s3, -0x7fd8(gp)        |         s3 = *((gp - 8182));
    0x000025ec addiu s5, s5, 0x3130      |         s5 += fcn.00003130;
    0x000025f0 addiu s7, s7, 0x4f8c      |         s7 += str._s:_not_mounted;
    0x000025f4 sw v0, 0x20(sp)           |         *(var_20h) = v0;
    0x000025f8 b 0x2640                  |         goto label_51;
                                         | label_7:
    0x000025fc lw t9, 0x20(sp)           |         t9 = *(var_20h);
    0x00002600 move a2, v0               |         a2 = v0;
    0x00002604 move a1, s0               |         a1 = s0;
    0x00002608 move a0, s1               |         a0 = s1;
    0x0000260c jalr t9                   |         t9 ();
    0x00002610 lw gp, 0x18(sp)           |         gp = *(var_18h);
    0x00002614 move s2, v0               |         s2 = v0;
                                         | label_8:
    0x00002618 lw t9, -0x7de4(gp)        |         t9 = sym.imp.mnt_unref_table;
    0x0000261c move a0, s0               |         a0 = s0;
    0x00002620 jalr t9                   |         t9 ();
    0x00002624 lw gp, 0x18(sp)           |         gp = *(var_18h);
                                         | label_14:
    0x00002628 lw v1, 0x24(sp)           |         v1 = *(var_24h);
    0x0000262c addiu s6, s6, -1          |         s6 += -1;
    0x00002630 addu v1, v1, s2           |         v1 += s2;
    0x00002634 addiu v0, zero, -1        |         v0 = -1;
    0x00002638 sw v1, 0x24(sp)           |         *(var_24h) = v1;
    0x0000263c beq s6, v0, 0x2560        |         
                                         |     } while (s6 == v0);
                                         | label_51:
    0x00002640 addiu s4, s4, 4           |     s4 += 4;
    0x00002644 move a0, s1               |     a0 = s1;
    0x00002648 move t9, s5               |     t9 = s5;
    0x0000264c lw s2, -4(s4)             |     s2 = *((s4 - 1));
    0x00002650 bal 0x3130                |     fcn_00003130 ();
    0x00002654 move s0, v0               |     s0 = v0;
    0x00002658 lw gp, 0x18(sp)           |     gp = *(var_18h);
                                         |     if (v0 == 0) {
    0x0000265c beqz v0, 0x2744           |         goto label_52;
                                         |     }
    0x00002660 lw t9, -0x7e38(gp)        |     t9 = sym.imp.mnt_context_disable_swapmatch;
    0x00002664 addiu a1, zero, 1         |     a1 = 1;
    0x00002668 move a0, s1               |     a0 = s1;
    0x0000266c jalr t9                   |     t9 ();
    0x00002670 lw gp, 0x18(sp)           |     gp = *(var_18h);
    0x00002674 addiu a2, zero, 1         |     a2 = 1;
    0x00002678 move a1, s2               |     a1 = s2;
    0x0000267c lw t9, -0x7f00(gp)        |     t9 = sym.imp.mnt_table_find_target;
    0x00002680 move a0, s0               |     a0 = s0;
    0x00002684 jalr t9                   |     t9 ();
    0x00002688 lw gp, 0x18(sp)           |     gp = *(var_18h);
                                         |     if (v0 != 0) {
    0x0000268c bnez v0, 0x25fc           |         goto label_7;
                                         |     }
    0x00002690 lw v0, 0x6250(s3)         |     v0 = *((s3 + 6292));
    0x00002694 lw t9, -0x7f04(gp)        |     t9 = sym.imp.access;
                                         |     if (v0 == 0) {
    0x00002698 beqz v0, 0x27e8           |         goto label_53;
                                         |     }
    0x0000269c lw s2, 0x2c(sp)           |     s2 = *(var_2ch);
    0x000026a0 b 0x2618                  |     goto label_8;
                                         | label_36:
    0x000026a4 addiu v0, v0, 0x4f4c      |     v0 += str.noproc_nodevfs_nodevpts_nosysfs_norpc_pipefs_nonfsd_noselinuxfs;
    0x000026a8 sw v0, 0x30(sp)           |     *(var_30h) = v0;
    0x000026ac b 0x227c                  |     goto label_9;
                                         | label_47:
    0x000026b0 lw t9, -0x7e7c(gp)        |     t9 = sym.imp.mnt_fs_get_target;
    0x000026b4 lw a0, 0x54(sp)           |     a0 = *(var_54h);
    0x000026b8 jalr t9                   |     t9 ();
    0x000026bc lw t9, 0x20(sp)           |     t9 = *(var_20h);
    0x000026c0 move a1, v0               |     a1 = v0;
    0x000026c4 move a0, s1               |     a0 = s1;
    0x000026c8 jalr t9                   |     t9 ();
    0x000026cc move s2, v0               |     s2 = v0;
    0x000026d0 lw gp, 0x18(sp)           |     gp = *(var_18h);
    0x000026d4 b 0x2504                  |     goto label_10;
                                         | label_43:
    0x000026d8 lw t9, -0x7fdc(gp)        |     t9 = *((gp - 8183));
    0x000026dc move a1, s2               |     a1 = s2;
    0x000026e0 addiu t9, t9, 0x2fd4      |     t9 += fcn.00002fd4;
    0x000026e4 move a0, s1               |     a0 = s1;
    0x000026e8 bal 0x2fd4                |     fcn_00002fd4 ();
    0x000026ec move s2, v0               |     s2 = v0;
    0x000026f0 lw gp, 0x18(sp)           |     gp = *(var_18h);
    0x000026f4 b 0x252c                  |     goto label_11;
                                         | label_42:
    0x000026f8 lw v0, -0x7fd8(gp)        |     v0 = *((gp - 8182));
    0x000026fc lw v0, 0x6250(v0)         |     v0 = *((v0 + 6292));
    0x00002700 lw v1, 0x24(sp)           |     v1 = *(var_24h);
                                         |     if (v0 != 0) {
    0x00002704 bnez v0, 0x2530           |         goto label_12;
                                         |     }
    0x00002708 lw t9, -0x7f04(gp)        |     t9 = sym.imp.access;
    0x0000270c move a1, zero             |     a1 = 0;
    0x00002710 move a0, s0               |     a0 = s0;
    0x00002714 jalr t9                   |     t9 ();
    0x00002718 lw gp, 0x18(sp)           |     gp = *(var_18h);
                                         |     if (v0 == 0) {
    0x0000271c beqz v0, 0x2818           |         goto label_54;
                                         |     }
    0x00002720 lw a0, -0x7fdc(gp)        |     a0 = *((gp - 8183));
    0x00002724 addiu a0, a0, 0x4f9c      |     a0 += str._s:_not_found;
                                         | label_17:
    0x00002728 lw t9, -0x7ec8(gp)        |     t9 = sym.imp.warnx;
    0x0000272c move a1, s0               |     a1 = s0;
    0x00002730 jalr t9                   |     t9 ();
    0x00002734 lw gp, 0x18(sp)           |     gp = *(var_18h);
    0x00002738 b 0x252c                  |     goto label_11;
                                         | label_46:
    0x0000273c addiu s2, zero, 4         |     s2 = 4;
    0x00002740 b 0x250c                  |     goto label_13;
                                         | label_52:
    0x00002744 addiu s2, zero, 4         |     s2 = 4;
    0x00002748 b 0x2628                  |     goto label_14;
                                         | label_50:
    0x0000274c addiu s3, zero, -1        |     s3 = -1;
    0x00002750 addiu s2, s2, 0x326c      |     s2 += fcn.0000326c;
    0x00002754 b 0x279c                  |     goto label_55;
                                         | label_16:
    0x00002758 move a0, s1               |     a0 = s1;
    0x0000275c move t9, s2               |     t9 = s2;
    0x00002760 move a1, s0               |     a1 = s0;
    0x00002764 bal 0x326c                |     fcn_0000326c ();
    0x00002768 lw a0, 0x24(sp)           |     a0 = *(var_24h);
    0x0000276c lw v1, (s4)               |     v1 = *(s4);
    0x00002770 addu v0, a0, v0           |     v0 = a0 + v0;
    0x00002774 lw gp, 0x18(sp)           |     gp = *(var_18h);
    0x00002778 sw v0, 0x24(sp)           |     *(var_24h) = v0;
                                         |     if (v1 != s0) {
    0x0000277c beq v1, s0, 0x2790        |         
    0x00002780 lw t9, -0x7e10(gp)        |         t9 = sym.imp.free;
    0x00002784 move a0, s0               |         a0 = s0;
    0x00002788 jalr t9                   |         t9 ();
    0x0000278c lw gp, 0x18(sp)           |         gp = *(var_18h);
                                         |     }
    0x00002790 addiu s6, s6, -1          |     s6 += -1;
    0x00002794 addiu s4, s4, 4           |     s4 += 4;
                                         |     if (s6 == s3) {
    0x00002798 beq s6, s3, 0x2560        |         goto label_15;
                                         |     }
                                         | label_55:
    0x0000279c lw t9, -0x7de0(gp)        |     t9 = sym.imp.mnt_context_is_restricted;
    0x000027a0 move a0, s1               |     a0 = s1;
    0x000027a4 lw s0, (s4)               |     s0 = *(s4);
    0x000027a8 jalr t9                   |     t9 ();
    0x000027ac lw gp, 0x18(sp)           |     gp = *(var_18h);
                                         |     if (v0 == 0) {
    0x000027b0 beqz v0, 0x2758           |         goto label_16;
                                         |     }
    0x000027b4 lw t9, -0x7f90(gp)        |     t9 = sym.imp.mnt_tag_is_valid;
    0x000027b8 move a0, s0               |     a0 = s0;
    0x000027bc jalr t9                   |     t9 ();
    0x000027c0 lw gp, 0x18(sp)           |     gp = *(var_18h);
                                         |     if (v0 != 0) {
    0x000027c4 bnez v0, 0x2758           |         goto label_16;
                                         |     }
    0x000027c8 lw t9, -0x7fcc(gp)        |     t9 = sym.canonicalize_path_restricted;
                                         |     if (s0 == 0) {
    0x000027cc beqz s0, 0x2758           |         goto label_16;
                                         |     }
    0x000027d0 move a0, s0               |     a0 = s0;
    0x000027d4 bal 0x3dc0                |     sym_canonicalize_path_restricted ();
    0x000027d8 lw gp, 0x18(sp)           |     gp = *(var_18h);
                                         |     if (v0 == 0) {
    0x000027dc beqz v0, 0x289c           |         goto label_56;
                                         |     }
    0x000027e0 move s0, v0               |     s0 = v0;
    0x000027e4 b 0x2758                  |     goto label_16;
                                         | label_53:
    0x000027e8 move a0, s2               |     a0 = s2;
    0x000027ec move a1, zero             |     a1 = 0;
    0x000027f0 jalr t9                   |     t9 ();
    0x000027f4 lw gp, 0x18(sp)           |     gp = *(var_18h);
    0x000027f8 move a0, fp               |     a0 = fp;
    0x000027fc move a1, s2               |     a1 = s2;
    0x00002800 lw t9, -0x7ec8(gp)        |     t9 = sym.imp.warnx;
                                         |     if (v0 != 0) {
    0x00002804 movz a0, s7, v0           |         a0 = s7;
                                         |     }
    0x00002808 jalr t9                   |     t9 ();
    0x0000280c lw gp, 0x18(sp)           |     gp = *(var_18h);
    0x00002810 lw s2, 0x2c(sp)           |     s2 = *(var_2ch);
    0x00002814 b 0x2618                  |     goto label_8;
                                         | label_54:
    0x00002818 lw a0, -0x7fdc(gp)        |     a0 = *((gp - 8183));
    0x0000281c addiu a0, a0, 0x4f8c      |     a0 += str._s:_not_mounted;
    0x00002820 b 0x2728                  |     goto label_17;
                                         | label_37:
    0x00002824 lw a0, -0x7fdc(gp)        |     a0 = *((gp - 8183));
    0x00002828 lw t9, -0x7f28(gp)        |     t9 = sym.imp.warn;
    0x0000282c addiu a0, a0, 0x56d0      |     a0 += str.failed_to_initialize_libmount_iterator;
    0x00002830 jalr t9                   |     t9 ();
    0x00002834 addiu s3, zero, 2         |     s3 = 2;
    0x00002838 lw gp, 0x18(sp)           |     gp = *(var_18h);
    0x0000283c b 0x255c                  |     goto label_18;
                                         | label_35:
    0x00002840 lw a0, -0x7fdc(gp)        |     a0 = *((gp - 8183));
    0x00002844 lw t9, -0x7ec8(gp)        |     t9 = sym.imp.warnx;
    0x00002848 addiu a0, a0, 0x56b0      |     a0 += str.unexpected_number_of_arguments;
                                         |     do {
    0x0000284c jalr t9                   |         t9 ();
    0x00002850 nop                       |         
    0x00002854 lw gp, 0x18(sp)           |         gp = *(var_18h);
    0x00002858 lw v0, -0x7f5c(gp)        |         v0 = *((gp - 8151));
    0x0000285c lw t9, -0x7f64(gp)        |         t9 = sym.imp.__fprintf_chk
    0x00002860 lw a3, (v0)               |         a3 = *(v0);
    0x00002864 lw v0, -0x7e08(gp)        |         v0 = *((gp - 8066));
    0x00002868 lw a0, (v0)               |         a0 = *(v0);
                                         | label_20:
    0x0000286c lw a2, -0x7fdc(gp)        |         a2 = *((gp - 8183));
    0x00002870 addiu a1, zero, 1         |         a1 = 1;
    0x00002874 addiu a2, a2, 0x5670      |         a2 += str.Try__s___help_for_more_information._n;
    0x00002878 jalr t9                   |         t9 ();
    0x0000287c lw gp, 0x18(sp)           |         gp = *(var_18h);
    0x00002880 lw t9, -0x7e90(gp)        |         t9 = sym.imp.exit;
    0x00002884 addiu a0, zero, 1         |         a0 = 1;
    0x00002888 jalr t9                   |         t9 ();
                                         | label_40:
    0x0000288c lw a0, -0x7fdc(gp)        |         a0 = *((gp - 8183));
    0x00002890 lw t9, -0x7ec8(gp)        |         t9 = sym.imp.warnx;
    0x00002894 addiu a0, a0, 0x5728      |         a0 += str.bad_usage;
    0x00002898 b 0x284c                  |         
                                         |     } while (1);
                                         | label_56:
    0x0000289c lw a1, -0x7fdc(gp)        |     a1 = *((gp - 8183));
    0x000028a0 lw t9, -0x7e5c(gp)        |     t9 = sym.imp.err;
    0x000028a4 move a2, s0               |     a2 = s0;
    0x000028a8 addiu a1, a1, 0x4ea0      |     a1 += 0x4ea0;
    0x000028ac addiu a0, zero, 1         |     a0 = 1;
    0x000028b0 jalr t9                   |     t9 ();
                                         | label_45:
    0x000028b4 lw a1, -0x7fdc(gp)        |     a1 = *((gp - 8183));
    0x000028b8 lw t9, -0x7e5c(gp)        |     t9 = sym.imp.err;
    0x000028bc addiu a1, a1, 0x4ee4      |     a1 += str.libmount_iterator_allocation_failed;
    0x000028c0 addiu a0, zero, 2         |     a0 = 2;
    0x000028c4 jalr t9                   |     t9 ();
                                         | label_44:
    0x000028c8 lw a1, -0x7fdc(gp)        |     a1 = *((gp - 8183));
    0x000028cc lw t9, -0x7f2c(gp)        |     t9 = sym.imp.errx;
    0x000028d0 move a2, s0               |     a2 = s0;
    0x000028d4 addiu a1, a1, 0x5734      |     a1 += str._s:_failed_to_determine_source____all_targets_is_unsupported_on_systems_with_regular_mtab_file_.;
    0x000028d8 addiu a0, zero, 1         |     a0 = 1;
    0x000028dc jalr t9                   |     t9 ();
    0x000028e0 lw t9, -0x7f48(gp)        |     t9 = sym.imp.mnt_free_context;
    0x000028e4 move a0, s1               |     a0 = s1;
    0x000028e8 jalr t9                   |     t9 ();
    0x000028ec lw gp, 0x18(sp)           |     gp = *(var_18h);
    0x000028f0 addiu a2, zero, 8         |     a2 = 8;
    0x000028f4 addiu a1, zero, 1         |     a1 = 1;
    0x000028f8 lw v0, -0x7f08(gp)        |     v0 = *((gp - 8130));
    0x000028fc lw a0, -0x7fdc(gp)        |     a0 = *((gp - 8183));
    0x00002900 lw t9, -0x7e68(gp)        |     t9 = sym.imp.fwrite;
    0x00002904 lw s0, (v0)               |     s0 = *(v0);
    0x00002908 addiu a0, a0, 0x50f8      |     a0 += str._nUsage:_n;
    0x0000290c move a3, s0               |     a3 = s0;
    0x00002910 jalr t9                   |     t9 ();
    0x00002914 lw gp, 0x18(sp)           |     gp = *(var_18h);
    0x00002918 addiu a1, zero, 1         |     a1 = 1;
    0x0000291c move a0, s0               |     a0 = s0;
    0x00002920 lw v0, -0x7f5c(gp)        |     v0 = *((gp - 8151));
    0x00002924 lw a2, -0x7fdc(gp)        |     a2 = *((gp - 8183));
    0x00002928 lw t9, -0x7f64(gp)        |     t9 = sym.imp.__fprintf_chk
    0x0000292c lw a3, (v0)               |     a3 = *(v0);
    0x00002930 addiu a2, a2, 0x5104      |     a2 += str.__1_s___hV__n__1_s__a__options__n__1_s__options___source____directory__n;
    0x00002934 jalr t9                   |     t9 ();
    0x00002938 lw gp, 0x18(sp)           |     gp = *(var_18h);
    0x0000293c move a1, s0               |     a1 = s0;
    0x00002940 lw t9, -0x7f38(gp)        |     t9 = sym.imp.fputc;
    0x00002944 addiu a0, zero, 0xa       |     a0 = 0xa;
    0x00002948 jalr t9                   |     t9 ();
    0x0000294c lw gp, 0x18(sp)           |     gp = *(var_18h);
    0x00002950 move a3, s0               |     a3 = s0;
    0x00002954 addiu a2, zero, 0x15      |     a2 = 0x15;
    0x00002958 lw a0, -0x7fdc(gp)        |     a0 = *((gp - 8183));
    0x0000295c lw t9, -0x7e68(gp)        |     t9 = sym.imp.fwrite;
    0x00002960 addiu a1, zero, 1         |     a1 = 1;
    0x00002964 addiu a0, a0, 0x514c      |     a0 += str.Unmount_filesystems._n;
    0x00002968 jalr t9                   |     t9 ();
    0x0000296c lw gp, 0x18(sp)           |     gp = *(var_18h);
    0x00002970 move a3, s0               |     a3 = s0;
    0x00002974 addiu a2, zero, 0xa       |     a2 = 0xa;
    0x00002978 lw a0, -0x7fdc(gp)        |     a0 = *((gp - 8183));
    0x0000297c lw t9, -0x7e68(gp)        |     t9 = sym.imp.fwrite;
    0x00002980 addiu a1, zero, 1         |     a1 = 1;
    0x00002984 addiu a0, a0, 0x5164      |     a0 += str._nOptions:_n;
    0x00002988 jalr t9                   |     t9 ();
    0x0000298c lw gp, 0x18(sp)           |     gp = *(var_18h);
    0x00002990 move a3, s0               |     a3 = s0;
    0x00002994 addiu a2, zero, 0x31      |     a2 = 0x31;
    0x00002998 lw a0, -0x7fdc(gp)        |     a0 = *((gp - 8183));
    0x0000299c lw t9, -0x7e68(gp)        |     t9 = sym.imp.fwrite;
    0x000029a0 addiu a1, zero, 1         |     a1 = 1;
    0x000029a4 addiu a0, a0, 0x5170      |     a0 += str.__a____all_______________unmount_all_filesystems_n;
    0x000029a8 jalr t9                   |     t9 ();
    0x000029ac lw gp, 0x18(sp)           |     gp = *(var_18h);
    0x000029b0 move a3, s0               |     a3 = s0;
    0x000029b4 addiu a2, zero, 0x7a      |     a2 = 0x7a;
    0x000029b8 lw a0, -0x7fdc(gp)        |     a0 = *((gp - 8183));
    0x000029bc lw t9, -0x7e68(gp)        |     t9 = sym.imp.fwrite;
    0x000029c0 addiu a1, zero, 1         |     a1 = 1;
    0x000029c4 addiu a0, a0, 0x51a4      |     a0 += str.__A____all_targets_______unmount_all_mountpoints_for_the_given_device_in_the_n___________________________current_namespace_n;
    0x000029c8 jalr t9                   |     t9 ();
    0x000029cc lw gp, 0x18(sp)           |     gp = *(var_18h);
    0x000029d0 move a3, s0               |     a3 = s0;
    0x000029d4 addiu a2, zero, 0x32      |     a2 = 0x32;
    0x000029d8 lw a0, -0x7fdc(gp)        |     a0 = *((gp - 8183));
    0x000029dc lw t9, -0x7e68(gp)        |     t9 = sym.imp.fwrite;
    0x000029e0 addiu a1, zero, 1         |     a1 = 1;
    0x000029e4 addiu a0, a0, 0x5220      |     a0 += str.__c____no_canonicalize___dont_canonicalize_paths_n;
    0x000029e8 jalr t9                   |     t9 ();
    0x000029ec lw gp, 0x18(sp)           |     gp = *(var_18h);
    0x000029f0 move a3, s0               |     a3 = s0;
    0x000029f4 addiu a2, zero, 0x4c      |     a2 = 0x4c;
    0x000029f8 lw a0, -0x7fdc(gp)        |     a0 = *((gp - 8183));
    0x000029fc lw t9, -0x7e68(gp)        |     t9 = sym.imp.fwrite;
    0x00002a00 addiu a1, zero, 1         |     a1 = 1;
    0x00002a04 addiu a0, a0, 0x5254      |     a0 += str.__d____detach_loop_______if_mounted_loop_device__also_free_this_loop_device_n;
    0x00002a08 jalr t9                   |     t9 ();
    0x00002a0c lw gp, 0x18(sp)           |     gp = *(var_18h);
    0x00002a10 move a3, s0               |     a3 = s0;
    0x00002a14 addiu a2, zero, 0x3d      |     a2 = 0x3d;
    0x00002a18 lw a0, -0x7fdc(gp)        |     a0 = *((gp - 8183));
    0x00002a1c lw t9, -0x7e68(gp)        |     t9 = sym.imp.fwrite;
    0x00002a20 addiu a1, zero, 1         |     a1 = 1;
    0x00002a24 addiu a0, a0, 0x52a4      |     a0 += str._______fake______________dry_run__skip_the_umount_2__syscall_n;
    0x00002a28 jalr t9                   |     t9 ();
    0x00002a2c lw gp, 0x18(sp)           |     gp = *(var_18h);
    0x00002a30 move a3, s0               |     a3 = s0;
    0x00002a34 addiu a2, zero, 0x4e      |     a2 = 0x4e;
    0x00002a38 lw a0, -0x7fdc(gp)        |     a0 = *((gp - 8183));
    0x00002a3c lw t9, -0x7e68(gp)        |     t9 = sym.imp.fwrite;
    0x00002a40 addiu a1, zero, 1         |     a1 = 1;
    0x00002a44 addiu a0, a0, 0x52e4      |     a0 += str.__f____force_____________force_unmount__in_case_of_an_unreachable_NFS_system__n;
    0x00002a48 jalr t9                   |     t9 ();
    0x00002a4c lw gp, 0x18(sp)           |     gp = *(var_18h);
    0x00002a50 move a3, s0               |     a3 = s0;
    0x00002a54 addiu a2, zero, 0x3e      |     a2 = 0x3e;
    0x00002a58 lw a0, -0x7fdc(gp)        |     a0 = *((gp - 8183));
    0x00002a5c lw t9, -0x7e68(gp)        |     t9 = sym.imp.fwrite;
    0x00002a60 addiu a1, zero, 1         |     a1 = 1;
    0x00002a64 addiu a0, a0, 0x5334      |     a0 += str.__i____internal_only_____dont_call_the_umount._type__helpers_n;
    0x00002a68 jalr t9                   |     t9 ();
    0x00002a6c lw gp, 0x18(sp)           |     gp = *(var_18h);
    0x00002a70 move a3, s0               |     a3 = s0;
    0x00002a74 addiu a2, zero, 0x32      |     a2 = 0x32;
    0x00002a78 lw a0, -0x7fdc(gp)        |     a0 = *((gp - 8183));
    0x00002a7c lw t9, -0x7e68(gp)        |     t9 = sym.imp.fwrite;
    0x00002a80 addiu a1, zero, 1         |     a1 = 1;
    0x00002a84 addiu a0, a0, 0x5374      |     a0 += str.__n____no_mtab___________dont_write_to__etc_mtab_n;
    0x00002a88 jalr t9                   |     t9 ();
    0x00002a8c lw gp, 0x18(sp)           |     gp = *(var_18h);
    0x00002a90 move a3, s0               |     a3 = s0;
    0x00002a94 addiu a2, zero, 0x4a      |     a2 = 0x4a;
    0x00002a98 lw a0, -0x7fdc(gp)        |     a0 = *((gp - 8183));
    0x00002a9c lw t9, -0x7e68(gp)        |     t9 = sym.imp.fwrite;
    0x00002aa0 addiu a1, zero, 1         |     a1 = 1;
    0x00002aa4 addiu a0, a0, 0x53a8      |     a0 += str.__l____lazy______________detach_the_filesystem_now__clean_up_things_later_n;
    0x00002aa8 jalr t9                   |     t9 ();
    0x00002aac lw gp, 0x18(sp)           |     gp = *(var_18h);
    0x00002ab0 move a3, s0               |     a3 = s0;
    0x00002ab4 addiu a2, zero, 0x44      |     a2 = 0x44;
    0x00002ab8 lw a0, -0x7fdc(gp)        |     a0 = *((gp - 8183));
    0x00002abc lw t9, -0x7e68(gp)        |     t9 = sym.imp.fwrite;
    0x00002ac0 addiu a1, zero, 1         |     a1 = 1;
    0x00002ac4 addiu a0, a0, 0x53f4      |     a0 += str.__O____test_opts__list___limit_the_set_of_filesystems__use_with__a__n;
    0x00002ac8 jalr t9                   |     t9 ();
    0x00002acc lw gp, 0x18(sp)           |     gp = *(var_18h);
    0x00002ad0 move a3, s0               |     a3 = s0;
    0x00002ad4 addiu a2, zero, 0x4c      |     a2 = 0x4c;
    0x00002ad8 lw a0, -0x7fdc(gp)        |     a0 = *((gp - 8183));
    0x00002adc lw t9, -0x7e68(gp)        |     t9 = sym.imp.fwrite;
    0x00002ae0 addiu a1, zero, 1         |     a1 = 1;
    0x00002ae4 addiu a0, a0, 0x543c      |     a0 += str.__R____recursive_________recursively_unmount_a_target_with_all_its_children_n;
    0x00002ae8 jalr t9                   |     t9 ();
    0x00002aec lw gp, 0x18(sp)           |     gp = *(var_18h);
    0x00002af0 move a3, s0               |     a3 = s0;
    0x00002af4 addiu a2, zero, 0x4c      |     a2 = 0x4c;
    0x00002af8 lw a0, -0x7fdc(gp)        |     a0 = *((gp - 8183));
    0x00002afc lw t9, -0x7e68(gp)        |     t9 = sym.imp.fwrite;
    0x00002b00 addiu a1, zero, 1         |     a1 = 1;
    0x00002b04 addiu a0, a0, 0x548c      |     a0 += str.__r____read_only_________in_case_unmounting_fails__try_to_remount_read_only_n;
    0x00002b08 jalr t9                   |     t9 ();
    0x00002b0c lw gp, 0x18(sp)           |     gp = *(var_18h);
    0x00002b10 move a3, s0               |     a3 = s0;
    0x00002b14 addiu a2, zero, 0x3b      |     a2 = 0x3b;
    0x00002b18 lw a0, -0x7fdc(gp)        |     a0 = *((gp - 8183));
    0x00002b1c lw t9, -0x7e68(gp)        |     t9 = sym.imp.fwrite;
    0x00002b20 addiu a1, zero, 1         |     a1 = 1;
    0x00002b24 addiu a0, a0, 0x54dc      |     a0 += str.__t____types__list_______limit_the_set_of_filesystem_types_n;
    0x00002b28 jalr t9                   |     t9 ();
    0x00002b2c lw gp, 0x18(sp)           |     gp = *(var_18h);
    0x00002b30 move a3, s0               |     a3 = s0;
    0x00002b34 addiu a2, zero, 0x30      |     a2 = 0x30;
    0x00002b38 lw a0, -0x7fdc(gp)        |     a0 = *((gp - 8183));
    0x00002b3c lw t9, -0x7e68(gp)        |     t9 = sym.imp.fwrite;
    0x00002b40 addiu a1, zero, 1         |     a1 = 1;
    0x00002b44 addiu a0, a0, 0x5518      |     a0 += str.__v____verbose___________say_what_is_being_done_n;
    0x00002b48 jalr t9                   |     t9 ();
    0x00002b4c lw gp, 0x18(sp)           |     gp = *(var_18h);
    0x00002b50 move a3, s0               |     a3 = s0;
    0x00002b54 addiu a2, zero, 0x3f      |     a2 = 0x3f;
    0x00002b58 lw a0, -0x7fdc(gp)        |     a0 = *((gp - 8183));
    0x00002b5c lw t9, -0x7e68(gp)        |     t9 = sym.imp.fwrite;
    0x00002b60 addiu a1, zero, 1         |     a1 = 1;
    0x00002b64 addiu a0, a0, 0x554c      |     a0 += str.__q____quiet_____________suppress_not_mounted_error_messages_n;
    0x00002b68 jalr t9                   |     t9 ();
    0x00002b6c lw gp, 0x18(sp)           |     gp = *(var_18h);
    0x00002b70 move a3, s0               |     a3 = s0;
    0x00002b74 addiu a2, zero, 0x3d      |     a2 = 0x3d;
    0x00002b78 lw a0, -0x7fdc(gp)        |     a0 = *((gp - 8183));
    0x00002b7c lw t9, -0x7e68(gp)        |     t9 = sym.imp.fwrite;
    0x00002b80 addiu a1, zero, 1         |     a1 = 1;
    0x00002b84 addiu a0, a0, 0x558c      |     a0 += str.__N____namespace__ns_____perform_umount_in_another_namespace_n;
    0x00002b88 jalr t9                   |     t9 ();
    0x00002b8c lw gp, 0x18(sp)           |     gp = *(var_18h);
    0x00002b90 move a1, s0               |     a1 = s0;
    0x00002b94 lw t9, -0x7f38(gp)        |     t9 = sym.imp.fputc;
    0x00002b98 addiu a0, zero, 0xa       |     a0 = 0xa;
    0x00002b9c jalr t9                   |     t9 ();
    0x00002ba0 lw gp, 0x18(sp)           |     gp = *(var_18h);
    0x00002ba4 addiu a0, zero, 1         |     a0 = 1;
    0x00002ba8 lw v0, -0x7fdc(gp)        |     v0 = *((gp - 8183));
    0x00002bac lw a3, -0x7fdc(gp)        |     a3 = *((gp - 8183));
    0x00002bb0 addiu v0, v0, 0x5600      |     v0 += str.display_version;
    0x00002bb4 sw v0, 0x14(sp)           |     *(var_14h_2) = v0;
    0x00002bb8 lw v0, -0x7fdc(gp)        |     v0 = *((gp - 8183));
    0x00002bbc lw a2, -0x7fdc(gp)        |     a2 = *((gp - 8183));
    0x00002bc0 lw a1, -0x7fdc(gp)        |     a1 = *((gp - 8183));
    0x00002bc4 lw t9, -0x7f0c(gp)        |     t9 = sym.imp.__printf_chk;
    0x00002bc8 addiu v0, v0, 0x5610      |     v0 += str.__V____version;
    0x00002bcc addiu a3, a3, 0x55cc      |     a3 += str.display_this_help;
    0x00002bd0 addiu a2, a2, 0x55e0      |     a2 += str.__h____help;
    0x00002bd4 addiu a1, a1, 0x55ec      |     a1 += str.__25s_s_n__25s_s_n;
    0x00002bd8 sw v0, 0x10(sp)           |     *(var_10h) = v0;
    0x00002bdc jalr t9                   |     t9 ();
    0x00002be0 lw gp, 0x18(sp)           |     gp = *(var_18h);
    0x00002be4 addiu a0, zero, 1         |     a0 = 1;
    0x00002be8 lw a2, -0x7fdc(gp)        |     a2 = *((gp - 8183));
    0x00002bec lw a1, -0x7fdc(gp)        |     a1 = *((gp - 8183));
    0x00002bf0 lw t9, -0x7f0c(gp)        |     t9 = sym.imp.__printf_chk;
    0x00002bf4 addiu a2, a2, 0x5620      |     a2 += str.umount_8_;
    0x00002bf8 addiu a1, a1, 0x562c      |     a1 += str._nFor_more_details_see__s._n;
    0x00002bfc jalr t9                   |     t9 ();
    0x00002c00 lw gp, 0x18(sp)           |     gp = *(var_18h);
    0x00002c04 lw t9, -0x7e90(gp)        |     t9 = sym.imp.exit;
    0x00002c08 move a0, zero             |     a0 = 0;
    0x00002c0c jalr t9                   |     t9 ();
    0x00002c10 lw t9, -0x7f48(gp)        |     t9 = sym.imp.mnt_free_context;
    0x00002c14 move a0, s1               |     a0 = s1;
    0x00002c18 jalr t9                   |     t9 ();
    0x00002c1c lw gp, 0x18(sp)           |     gp = *(var_18h);
    0x00002c20 addiu a0, sp, 0x50        |     a0 = sp + 0x50;
    0x00002c24 sw zero, 0x50(sp)         |     *(var_50h) = 0;
    0x00002c28 lw t9, -0x7f1c(gp)        |     t9 = sym.imp.mnt_get_library_version;
    0x00002c2c sw zero, 0x54(sp)         |     *(var_54h) = 0;
    0x00002c30 jalr t9                   |     t9 ();
    0x00002c34 lw gp, 0x18(sp)           |     gp = *(var_18h);
    0x00002c38 lw t9, -0x7e44(gp)        |     t9 = sym.imp.mnt_get_library_features;
    0x00002c3c addiu a0, sp, 0x54        |     a0 = sp + 0x54;
    0x00002c40 jalr t9                   |     t9 ();
    0x00002c44 lw gp, 0x18(sp)           |     gp = *(var_18h);
    0x00002c48 addiu a0, zero, 1         |     a0 = 1;
    0x00002c4c lw v0, -0x7f5c(gp)        |     v0 = *((gp - 8151));
    0x00002c50 lw a3, -0x7fdc(gp)        |     a3 = *((gp - 8183));
    0x00002c54 lw a1, -0x7fdc(gp)        |     a1 = *((gp - 8183));
    0x00002c58 lw a2, (v0)               |     a2 = *(v0);
    0x00002c5c lw v0, 0x50(sp)           |     v0 = *(var_50h);
    0x00002c60 lw t9, -0x7f0c(gp)        |     t9 = sym.imp.__printf_chk;
    0x00002c64 sw v0, 0x10(sp)           |     *(var_10h) = v0;
    0x00002c68 addiu a3, a3, 0x5648      |     a3 += str.util_linux_2.34;
    0x00002c6c addiu a1, a1, 0x5658      |     a1 += str._s_from__s__libmount__s;
    0x00002c70 jalr t9                   |     t9 ();
    0x00002c74 lw gp, 0x18(sp)           |     gp = *(var_18h);
    0x00002c78 lw s0, 0x54(sp)           |     s0 = *(var_54h);
    0x00002c7c lw s3, -0x7fdc(gp)        |     s3 = *((gp - 8183));
    0x00002c80 lw s2, -0x7fdc(gp)        |     s2 = *((gp - 8183));
    0x00002c84 lw s1, -0x7f08(gp)        |     s1 = *((gp - 8130));
    0x00002c88 addiu s3, s3, 0x4f44      |     s3 += 0x4f44;
    0x00002c8c addiu s2, s2, 0x4f48      |     s2 += 0x4f48;
    0x00002c90 b 0x2cc4                  |     
                                         |     while (v0 == s0) {
                                         | label_19:
    0x00002c94 lw t9, -0x7e68(gp)        |         t9 = sym.imp.fwrite;
    0x00002c98 lw a3, (s1)               |         a3 = *(s1);
    0x00002c9c addiu a2, zero, 2         |         a2 = 2;
    0x00002ca0 addiu a1, zero, 1         |         a1 = 1;
    0x00002ca4 jalr t9                   |         t9 ();
    0x00002ca8 lw gp, 0x18(sp)           |         gp = *(var_18h);
    0x00002cac addiu s0, s0, 4           |         s0 += 4;
    0x00002cb0 lw a1, (s1)               |         a1 = *(s1);
    0x00002cb4 lw t9, -0x7f88(gp)        |         t9 = sym.imp.fputs;
    0x00002cb8 lw a0, -4(s0)             |         a0 = *((s0 - 1));
    0x00002cbc jalr t9                   |         t9 ();
    0x00002cc0 lw gp, 0x18(sp)           |         gp = *(var_18h);
                                         |         if (s0 == 0) {
    0x00002cc4 beql s0, zero, 0x2cec     |             goto label_57;
                                         |         }
    0x00002cc8 lw a0, -0x7fdc(gp)        |         a0 = *((gp - 8183));
    0x00002ccc lw v0, (s0)               |         v0 = *(s0);
    0x00002cd0 lw v0, 0x54(sp)           |         v0 = *(var_54h);
                                         |         if (v0 == 0) {
    0x00002cd4 beqz v0, 0x2ce8           |             goto label_58;
                                         |         }
    0x00002cd8 move a0, s2               |         a0 = s2;
    0x00002cdc bnel v0, s0, 0x2c94       |         
                                         |     }
    0x00002ce0 move a0, s3               |     a0 = s3;
    0x00002ce4 b 0x2c94                  |     goto label_19;
                                         | label_58:
    0x00002ce8 lw a0, -0x7fdc(gp)        |     a0 = *((gp - 8183));
                                         | label_57:
    0x00002cec lw t9, -0x7e68(gp)        |     t9 = sym.imp.fwrite;
    0x00002cf0 lw a3, (s1)               |     a3 = *(s1);
    0x00002cf4 addiu a0, a0, 0x5330      |     a0 += 0x5330;
    0x00002cf8 addiu a2, zero, 2         |     a2 = 2;
    0x00002cfc addiu a1, zero, 1         |     a1 = 1;
    0x00002d00 jalr t9                   |     t9 ();
    0x00002d04 lw gp, 0x18(sp)           |     gp = *(var_18h);
    0x00002d08 lw t9, -0x7e90(gp)        |     t9 = sym.imp.exit;
    0x00002d0c move a0, zero             |     a0 = 0;
    0x00002d10 jalr t9                   |     t9 ();
                                         | label_21:
    0x00002d14 lw a1, -0x7fdc(gp)        |     a1 = *((gp - 8183));
    0x00002d18 lw t9, -0x7e5c(gp)        |     t9 = sym.imp.err;
    0x00002d1c addiu a1, a1, 0x4fac      |     a1 += str.libmount_context_allocation_failed;
    0x00002d20 addiu a0, zero, 2         |     a0 = 2;
    0x00002d24 jalr t9                   |     t9 ();
                                         | label_29:
    0x00002d28 lw v0, -0x7e08(gp)        |     v0 = *((gp - 8066));
    0x00002d2c lw t9, -0x7f64(gp)        |     t9 = sym.imp.__fprintf_chk
    0x00002d30 lw a0, (v0)               |     a0 = *(v0);
    0x00002d34 lw v0, -0x7f5c(gp)        |     v0 = *((gp - 8151));
    0x00002d38 lw a3, (v0)               |     a3 = *(v0);
    0x00002d3c b 0x286c                  |     goto label_20;
                                         | label_23:
    0x00002d40 lw a2, -0x7fdc(gp)        |     a2 = *((gp - 8183));
                                         |     /* section..data.rel.ro */
    0x00002d44 addiu s0, s0, 0x5e8c      |     s0 += 0x5e8c;
    0x00002d48 addiu a2, a2, 0x4f34      |     a2 += 0x4f34;
    0x00002d4c lw v0, 0xc(s0)            |     v0 = *((s0 + 3));
                                         |     do {
    0x00002d50 lw t9, -0x7e4c(gp)        |         t9 = sym.imp.getuid;
                                         |         if (s7 == v0) {
    0x00002d54 beq s7, v0, 0x2db4        |             goto label_59;
                                         |         }
    0x00002d58 addiu s0, s0, 0x10        |         s0 += 0x10;
    0x00002d5c lw a2, (s0)               |         a2 = *(s0);
    0x00002d60 lw v0, 0xc(s0)            |         v0 = *((s0 + 3));
    0x00002d64 bnel a2, zero, 0x2d50     |         
                                         |     } while (a2 == 0);
    0x00002d68 lw t9, -0x7e4c(gp)        |     t9 = sym.imp.getuid;
    0x00002d6c jalr t9                   |     t9 ();
    0x00002d70 nop                       |     
    0x00002d74 lw gp, 0x18(sp)           |     gp = *(var_18h);
    0x00002d78 lw t9, -0x7e54(gp)        |     t9 = sym.imp.geteuid;
    0x00002d7c move s0, v0               |     s0 = v0;
    0x00002d80 jalr t9                   |     t9 ();
    0x00002d84 lw gp, 0x18(sp)           |     gp = *(var_18h);
                                         |     if (s0 == 0) {
    0x00002d88 bnez s0, 0x2d94           |         
    0x00002d8c lw a1, -0x7fdc(gp)        |         a1 = *((gp - 8183));
                                         |         if (v0 != 0) {
    0x00002d90 bnez v0, 0x2dec           |             goto label_60;
                                         |         }
                                         |     }
    0x00002d94 lw a1, -0x7fdc(gp)        |     a1 = *((gp - 8183));
    0x00002d98 lw t9, -0x7f2c(gp)        |     t9 = sym.imp.errx;
    0x00002d9c addiu a1, a1, 0x505c      |     a1 += str.only_root_can_do_that;
    0x00002da0 addiu a0, zero, 1         |     a0 = 1;
    0x00002da4 jalr t9                   |     t9 ();
                                         | label_49:
    0x00002da8 lw t9, -0x7e48(gp)        |     t9 = sym.imp.__stack_chk_fail;
    0x00002dac jalr t9                   |     t9 ();
    0x00002db0 nop                       |     
                                         | label_59:
    0x00002db4 sw a2, 0x20(sp)           |     *(var_20h) = a2;
    0x00002db8 jalr t9                   |     t9 ();
    0x00002dbc lw gp, 0x18(sp)           |     gp = *(var_18h);
    0x00002dc0 lw t9, -0x7e54(gp)        |     t9 = sym.imp.geteuid;
    0x00002dc4 move s0, v0               |     s0 = v0;
    0x00002dc8 jalr t9                   |     t9 ();
    0x00002dcc lw gp, 0x18(sp)           |     gp = *(var_18h);
    0x00002dd0 lw a2, 0x20(sp)           |     a2 = *(var_20h);
    0x00002dd4 beqz s0, 0x2e00           |     
                                         |     while (v0 == 0) {
    0x00002dd8 lw a1, -0x7fdc(gp)        |         a1 = *((gp - 8183));
    0x00002ddc lw t9, -0x7f2c(gp)        |         t9 = sym.imp.errx;
    0x00002de0 addiu a1, a1, 0x503c      |         a1 += str.only_root_can_use_____s__option;
    0x00002de4 addiu a0, zero, 1         |         a0 = 1;
    0x00002de8 jalr t9                   |         t9 ();
                                         | label_60:
    0x00002dec lw t9, -0x7f2c(gp)        |         t9 = sym.imp.errx;
    0x00002df0 move a2, v0               |         a2 = v0;
    0x00002df4 addiu a1, a1, 0x5010      |         a1 += str.only_root_can_do_that__effective_UID_is__u_;
    0x00002df8 addiu a0, zero, 1         |         a0 = 1;
    0x00002dfc jalr t9                   |         t9 ();
    0x00002e00 lw t9, -0x7f2c(gp)        |         t9 = sym.imp.errx;
    0x00002e04 beqz v0, 0x2dd8           |         
                                         |     }
    0x00002e08 lw a1, -0x7fdc(gp)        |     a1 = *((gp - 8183));
    0x00002e0c move a3, v0               |     a3 = v0;
    0x00002e10 addiu a1, a1, 0x4fd8      |     a1 += str.only_root_can_use_____s__option__effective_UID_is__u_;
    0x00002e14 addiu a0, zero, 1         |     a0 = 1;
    0x00002e18 jalr t9                   |     t9 ();
    0x00002e1c nop                       |     
                                         | }

[*] Function fprintf used 8 times umount.util-linux