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

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


[*] Function printf tear down of sulogin.util-linux

    ; assembly                               | /* r2dec pseudo code output */
                                             | /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/sbin/sulogin.util-linux @ 0x1ab0 */
                                             | #include <stdint.h>
                                             |  
    ; (fcn) main ()                          | int32_t main () {
                                             |     /* [13] -r-x section size 37248 named .text */
    0x00001ab0 lui gp, 2                     |     
    0x00001ab4 addiu gp, gp, 0x2570          |     
    0x00001ab8 addu gp, gp, t9               |     gp += t9;
    0x00001abc addiu sp, sp, -0x2240         |     
    0x00001ac0 addiu v1, sp, 0x84            |     v1 = sp + 0x84;
    0x00001ac4 sw s7, 0x2234(sp)             |     *(arg_2234h) = s7;
    0x00001ac8 lw s7, -0x7dcc(gp)            |     s7 = *((gp - 8051));
    0x00001acc lw t9, -0x7ea4(gp)            |     t9 = sym.imp.memset;
    0x00001ad0 sw gp, 0x18(sp)               |     *(arg_18h) = gp;
    0x00001ad4 lw v0, (s7)                   |     v0 = *(s7);
    0x00001ad8 sw v1, 0x2c(sp)               |     *(arg_2ch) = v1;
    0x00001adc sw v0, 0x2214(sp)             |     *(arg_2214h) = v0;
    0x00001ae0 lui v0, 0x2fa                 |     v0 = 0x2faf080;
    0x00001ae4 ori v0, v0, 0xf080            |     
    0x00001ae8 sw ra, 0x223c(sp)             |     *(arg_223ch) = ra;
    0x00001aec sw s3, 0x2224(sp)             |     *(arg_2224h) = s3;
    0x00001af0 sw s2, 0x2220(sp)             |     *(arg_2220h) = s2;
    0x00001af4 sw s1, 0x221c(sp)             |     *(arg_221ch) = s1;
    0x00001af8 addiu a2, zero, 0x80          |     a2 = 0x80;
    0x00001afc sw fp, 0x2238(sp)             |     *(arg_2238h) = fp;
    0x00001b00 sw s6, 0x2230(sp)             |     *(arg_2230h) = s6;
    0x00001b04 sw s5, 0x222c(sp)             |     *(arg_222ch) = s5;
    0x00001b08 sw s4, 0x2228(sp)             |     *(arg_2228h) = s4;
    0x00001b0c sw s0, 0x2218(sp)             |     *(arg_2218h) = s0;
    0x00001b10 move s2, a0                   |     s2 = a0;
    0x00001b14 move s1, a1                   |     s1 = a1;
    0x00001b18 move a0, v1                   |     a0 = v1;
    0x00001b1c sw zero, 0x74(sp)             |     *(arg_74h) = 0;
    0x00001b20 sw v0, 0x78(sp)               |     *(arg_78h) = v0;
    0x00001b24 move a1, zero                 |     a1 = 0;
    0x00001b28 jalr t9                       |     t9 ();
    0x00001b2c lw gp, 0x18(sp)               |     gp = *(arg_18h);
    0x00001b30 addiu s3, sp, 0x6c            |     s3 = sp + 0x6c;
    0x00001b34 sw s3, 0x6c(sp)               |     *(arg_6ch) = s3;
    0x00001b38 lw t9, -0x7e24(gp)            |     t9 = sym.imp.getpid;
    0x00001b3c sw s3, 0x70(sp)               |     *(arg_70h) = s3;
    0x00001b40 jalr t9                       |     t9 ();
    0x00001b44 addiu v1, zero, 1             |     v1 = 1;
    0x00001b48 lw gp, 0x18(sp)               |     gp = *(arg_18h);
                                             |     if (v0 == v1) {
    0x00001b4c beq v0, v1, 0x1c60            |         goto label_46;
                                             |     }
                                             | label_0:
    0x00001b50 lw s6, -0x7fd4(gp)            |     s6 = *((gp - 8181));
    0x00001b54 lw t9, -0x7ee8(gp)            |     t9 = sym.imp.setlocale;
    0x00001b58 addiu a1, s6, -0x4488         |     a1 = s6 + -0x4488;
    0x00001b5c addiu a0, zero, 6             |     a0 = 6;
    0x00001b60 jalr t9                       |     t9 ();
    0x00001b64 lw gp, 0x18(sp)               |     gp = *(arg_18h);
    0x00001b68 lw a0, -0x7fcc(gp)            |     a0 = *((gp - 8179));
    0x00001b6c lw t9, -0x7fd0(gp)            |     t9 = *(gp);
    0x00001b70 addiu a0, a0, 0x41e8          |     a0 += 0x41e8;
    0x00001b74 bal 0xac10                    |     fcn_0000ac10 ();
    0x00001b78 lw gp, 0x18(sp)               |     gp = *(arg_18h);
    0x00001b7c sw zero, 0x20(sp)             |     *(arg_20h) = 0;
    0x00001b80 lw v0, -0x7fd4(gp)            |     v0 = *((gp - 8181));
    0x00001b84 lw s0, -0x7fd4(gp)            |     s0 = *((gp - 8181));
    0x00001b88 addiu v0, v0, -0x4bdc         |     v0 += -0x4bdc;
    0x00001b8c sw v0, 0x24(sp)               |     *(arg_24h) = v0;
    0x00001b90 lw v0, -0x7fdc(gp)            |     v0 = *((gp - 8183));
    0x00001b94 lw s5, -0x7fdc(gp)            |     s5 = *((gp - 8183));
    0x00001b98 lw s4, -0x7fd4(gp)            |     s4 = *((gp - 8181));
    0x00001b9c lw fp, -0x7fdc(gp)            |     fp = *((gp - 8183));
    0x00001ba0 addiu s0, s0, -0x46a0         |     s0 += -0x46a0;
    0x00001ba4 sw v0, 0x28(sp)               |     *(arg_28h) = v0;
                                             |     do {
    0x00001ba8 lw t9, -0x7e58(gp)            |         t9 = sym.imp.getopt_long;
    0x00001bac sw zero, 0x10(sp)             |         *(arg_10h) = 0;
                                             |         /* section..data.rel.ro */
    0x00001bb0 addiu a3, s5, -0x4060         |         a3 = s5 + -0x4060;
    0x00001bb4 addiu a2, s4, -0x4a14         |         a2 = s4 + -0x4a14;
    0x00001bb8 move a1, s1                   |         a1 = s1;
    0x00001bbc move a0, s2                   |         a0 = s2;
    0x00001bc0 jalr t9                       |         t9 ();
    0x00001bc4 addiu v1, zero, -1            |         v1 = -1;
    0x00001bc8 lw gp, 0x18(sp)               |         gp = *(arg_18h);
                                             |         if (v0 == v1) {
    0x00001bcc beq v0, v1, 0x1c8c            |             goto label_47;
                                             |         }
    0x00001bd0 addiu v0, v0, -0x56           |         v0 += -0x56;
    0x00001bd4 sltiu v1, v0, 0x1f            |         v1 = (v0 < 0x1f) ? 1 : 0;
    0x00001bd8 sll v0, v0, 2                 |         v0 <<= 2;
    0x00001bdc beqz v1, 0x1ba8               |         
                                             |     } while (v1 == 0);
    0x00001be0 lwx v0, v0(s0)                |     __asm ("lwx v0, v0(s0)");
    0x00001be4 addu v0, v0, gp               |     v0 += gp;
    0x00001be8 jr v0                         |     v0 ();
    0x00001bec nop                           |     
                                             | label_46:
    0x00001c60 lw t9, -0x7e54(gp)            |     t9 = sym.imp.setsid;
    0x00001c64 jalr t9                       |     t9 ();
    0x00001c68 nop                           |     
    0x00001c6c lw gp, 0x18(sp)               |     gp = *(arg_18h);
    0x00001c70 addiu a2, zero, 1             |     a2 = 1;
    0x00001c74 addiu a1, zero, 0x5480        |     a1 = 0x5480;
    0x00001c78 lw t9, -0x7e0c(gp)            |     t9 = sym.imp.ioctl;
    0x00001c7c move a0, zero                 |     a0 = 0;
    0x00001c80 jalr t9                       |     t9 ();
    0x00001c84 lw gp, 0x18(sp)               |     gp = *(arg_18h);
    0x00001c88 b 0x1b50                      |     goto label_0;
                                             | label_47:
    0x00001c8c lw t9, -0x7dfc(gp)            |     t9 = sym.imp.geteuid;
    0x00001c90 jalr t9                       |     t9 ();
    0x00001c94 nop                           |     
    0x00001c98 lw gp, 0x18(sp)               |     gp = *(arg_18h);
                                             |     if (v0 != 0) {
    0x00001c9c bnez v0, 0x3470               |         goto label_48;
                                             |     }
    0x00001ca0 lw fp, -0x7fdc(gp)            |     fp = *((gp - 8183));
    0x00001ca4 addiu s4, sp, 0x18c           |     s4 = sp + 0x18c;
    0x00001ca8 addiu s5, sp, 0x184           |     s5 = sp + 0x184;
    0x00001cac lw t9, -0x7edc(gp)            |     t9 = sym.imp.sigemptyset;
    0x00001cb0 addiu s0, zero, 1             |     s0 = 1;
    0x00001cb4 move a0, s4                   |     a0 = s4;
    0x00001cb8 sw s4, 0x30(sp)               |     *(arg_30h) = s4;
    0x00001cbc sw fp, 0x3c(sp)               |     *(arg_3ch) = fp;
    0x00001cc0 sw s5, 0x24(sp)               |     *(arg_24h) = s5;
    0x00001cc4 sw s0, 0x188(sp)              |     *(arg_188h) = s0;
    0x00001cc8 jalr t9                       |     t9 ();
    0x00001ccc lw gp, 0x18(sp)               |     gp = *(arg_18h);
    0x00001cd0 addiu a2, fp, 0x4488          |     a2 = fp + 0x4488;
    0x00001cd4 move a1, s5                   |     a1 = s5;
    0x00001cd8 lw t9, -0x7f28(gp)            |     t9 = sym.imp.sigaction;
    0x00001cdc addiu a0, zero, 3             |     a0 = 3;
    0x00001ce0 sw zero, 0x184(sp)            |     *(arg_184h) = 0;
    0x00001ce4 jalr t9                       |     t9 ();
    0x00001ce8 lw gp, 0x18(sp)               |     gp = *(arg_18h);
    0x00001cec move a0, s4                   |     a0 = s4;
    0x00001cf0 sw s0, 0x188(sp)              |     *(arg_188h) = s0;
    0x00001cf4 lw fp, -0x7fdc(gp)            |     fp = *((gp - 8183));
    0x00001cf8 lw t9, -0x7edc(gp)            |     t9 = sym.imp.sigemptyset;
    0x00001cfc sw fp, 0x34(sp)               |     *(arg_34h) = fp;
    0x00001d00 jalr t9                       |     t9 ();
    0x00001d04 lw gp, 0x18(sp)               |     gp = *(arg_18h);
    0x00001d08 addiu a2, fp, 0x4518          |     a2 = fp + 0x4518;
    0x00001d0c move a1, s5                   |     a1 = s5;
    0x00001d10 lw t9, -0x7f28(gp)            |     t9 = sym.imp.sigaction;
    0x00001d14 addiu a0, zero, 0x18          |     a0 = 0x18;
    0x00001d18 sw zero, 0x184(sp)            |     *(arg_184h) = 0;
    0x00001d1c jalr t9                       |     t9 ();
    0x00001d20 lw gp, 0x18(sp)               |     gp = *(arg_18h);
    0x00001d24 move a0, s4                   |     a0 = s4;
    0x00001d28 sw s0, 0x188(sp)              |     *(arg_188h) = s0;
    0x00001d2c lw fp, -0x7fdc(gp)            |     fp = *((gp - 8183));
    0x00001d30 lw t9, -0x7edc(gp)            |     t9 = sym.imp.sigemptyset;
    0x00001d34 sw fp, 0x38(sp)               |     *(arg_38h) = fp;
    0x00001d38 jalr t9                       |     t9 ();
    0x00001d3c lw gp, 0x18(sp)               |     gp = *(arg_18h);
    0x00001d40 addiu a2, fp, 0x45a8          |     a2 = fp + 0x45a8;
    0x00001d44 move a1, s5                   |     a1 = s5;
    0x00001d48 lw t9, -0x7f28(gp)            |     t9 = sym.imp.sigaction;
    0x00001d4c addiu a0, zero, 2             |     a0 = 2;
    0x00001d50 sw zero, 0x184(sp)            |     *(arg_184h) = 0;
    0x00001d54 jalr t9                       |     t9 ();
    0x00001d58 lw gp, 0x18(sp)               |     gp = *(arg_18h);
    0x00001d5c move a0, s4                   |     a0 = s4;
    0x00001d60 lw t9, -0x7edc(gp)            |     t9 = sym.imp.sigemptyset;
    0x00001d64 lw s4, -0x7fdc(gp)            |     s4 = *((gp - 8183));
    0x00001d68 sw s0, 0x188(sp)              |     *(arg_188h) = s0;
    0x00001d6c jalr t9                       |     t9 ();
    0x00001d70 lw gp, 0x18(sp)               |     gp = *(arg_18h);
    0x00001d74 addiu a2, s4, 0x43f8          |     a2 = s4 + 0x43f8;
    0x00001d78 move a1, s5                   |     a1 = s5;
    0x00001d7c lw t9, -0x7f28(gp)            |     t9 = sym.imp.sigaction;
    0x00001d80 addiu a0, zero, 1             |     a0 = 1;
    0x00001d84 sw zero, 0x184(sp)            |     *(arg_184h) = 0;
    0x00001d88 jalr t9                       |     t9 ();
    0x00001d8c lw gp, 0x18(sp)               |     gp = *(arg_18h);
    0x00001d90 lw t9, -0x7fc4(gp)            |     t9 = sym.emergency_do_mounts;
    0x00001d94 bal 0x49cc                    |     sym_emergency_do_mounts ();
    0x00001d98 nop                           |     
    0x00001d9c lw gp, 0x18(sp)               |     gp = *(arg_18h);
    0x00001da0 lw a0, -0x7fc0(gp)            |     a0 = sym.emergency_do_umounts;
    0x00001da4 lw t9, -0x7fd0(gp)            |     t9 = *(gp);
    0x00001da8 bal 0xac10                    |     fcn_0000ac10 ();
    0x00001dac nop                           |     
    0x00001db0 lw gp, 0x18(sp)               |     gp = *(arg_18h);
    0x00001db4 lw v0, -0x7dec(gp)            |     v0 = *((gp - 8059));
    0x00001db8 lw a0, (v0)                   |     a0 = *(v0);
    0x00001dbc slt s2, a0, s2                |     s2 = (a0 < s2) ? 1 : 0;
                                             |     if (s2 == 0) {
    0x00001dc0 beql s2, zero, 0x2094         |         goto label_49;
                                             |     }
    0x00001dc4 lw a0, -0x7fd4(gp)            |     a0 = *((gp - 8181));
    0x00001dc8 sll a0, a0, 2                 |     a0 <<= 2;
    0x00001dcc lwx a0, a0(s1)                |     __asm ("lwx a0, a0(s1)");
                                             |     if (a0 == 0) {
    0x00001dd0 beql a0, zero, 0x2094         |         goto label_49;
                                             |     }
    0x00001dd4 lw a0, -0x7fd4(gp)            |     a0 = *((gp - 8181));
    0x00001dd8 lb v0, (a0)                   |     v0 = *(a0);
                                             |     if (v0 == 0) {
    0x00001ddc beql v0, zero, 0x2094         |         goto label_49;
                                             |     }
    0x00001de0 lw a0, -0x7fd4(gp)            |     a0 = *((gp - 8181));
                                             | label_2:
    0x00001de4 lw t9, -0x7fbc(gp)            |     t9 = sym.detect_consoles;
    0x00001de8 move a2, s3                   |     a2 = s3;
    0x00001dec move a1, zero                 |     a1 = 0;
    0x00001df0 bal 0x49d4                    |     sym_detect_consoles ();
    0x00001df4 lw gp, 0x18(sp)               |     gp = *(arg_18h);
                                             |     if (v0 != 0) {
    0x00001df8 bnez v0, 0x2a10               |         goto label_50;
                                             |     }
                                             | label_18:
    0x00001dfc lw v0, 0x6c(sp)               |     v0 = *(arg_6ch);
    0x00001e00 lw v0, -0x7fd4(gp)            |     v0 = *((gp - 8181));
                                             |     if (v0 == s3) {
    0x00001e04 beq v0, s3, 0x343c            |         goto label_51;
                                             |     }
    0x00001e08 lw t9, -0x7d7c(gp)            |     t9 = sym.imp.getpwnam;
    0x00001e0c sw v0, 0x40(sp)               |     *(arg_40h) = v0;
    0x00001e10 addiu a0, v0, -0x49cc         |     a0 = v0 + -sym.emergency_do_mounts;
    0x00001e14 jalr t9                       |     t9 ();
    0x00001e18 sw v0, 0x28(sp)               |     *(arg_28h) = v0;
    0x00001e1c lw gp, 0x18(sp)               |     gp = *(arg_18h);
                                             |     if (v0 == 0) {
    0x00001e20 beqz v0, 0x296c               |         goto label_52;
                                             |     }
    0x00001e24 lw a1, -0x7fd4(gp)            |     a1 = *((gp - 8181));
    0x00001e28 lw t9, -0x7d8c(gp)            |     t9 = sym.imp.strcmp;
    0x00001e2c lw a0, 4(v0)                  |     a0 = *((v0 + 1));
    0x00001e30 addiu a1, a1, -0x4c0c         |     a1 += -0x4c0c;
    0x00001e34 jalr t9                       |     t9 ();
    0x00001e38 lw gp, 0x18(sp)               |     gp = *(arg_18h);
                                             |     if (v0 == 0) {
    0x00001e3c beqz v0, 0x30bc               |         goto label_53;
                                             |     }
                                             | label_20:
    0x00001e40 lw s5, 0x6c(sp)               |     s5 = *(arg_6ch);
    0x00001e44 move v1, s5                   |     v1 = s5;
                                             |     if (s5 == s3) {
    0x00001e48 beq s5, s3, 0x3304            |         goto label_54;
                                             |     }
    0x00001e4c lw v0, 0x18(s5)               |     v0 = *((s5 + 6));
    0x00001e50 slti v0, v0, 0x10             |     v0 = (v0 < 0x10) ? 1 : 0;
                                             |     if (v0 == 0) {
    0x00001e54 beql v0, zero, 0x1ed8         |         goto label_55;
                                             |     }
    0x00001e58 lw v0, (v1)                   |     v0 = *(v1);
    0x00001e5c lw s1, -0x7fcc(gp)            |     s1 = *((gp - 8179));
    0x00001e60 lw s0, -0x7fdc(gp)            |     s0 = *((gp - 8183));
    0x00001e64 addiu s2, zero, 1             |     s2 = 1;
    0x00001e68 addiu s1, s1, 0x3a98          |     s1 += fcn.00003a98;
    0x00001e6c b 0x1e7c                      |     
                                             |     while (s5 == s3) {
    0x00001e70 slti v0, v0, 0x10             |         v0 = (v0 < 0x10) ? 1 : 0;
    0x00001e74 lw v1, 0x6c(sp)               |         v1 = *(arg_6ch);
                                             |         if (v0 == 0) {
    0x00001e78 beqz v0, 0x1ed4               |             goto label_56;
                                             |         }
    0x00001e7c lw v0, 0x14(s5)               |         v0 = *((s5 + 5));
    0x00001e80 lw t9, -0x7e88(gp)            |         t9 = sym.imp.open64;
                                             |         if (v0 < 0) {
    0x00001e84 bgez v0, 0x1ea0               |             
    0x00001e88 lw a0, 8(s5)                  |             a0 = *((s5 + 2));
    0x00001e8c addiu a1, zero, 0x882         |             a1 = 0x882;
    0x00001e90 jalr t9                       |             t9 ();
    0x00001e94 lw gp, 0x18(sp)               |             gp = *(arg_18h);
    0x00001e98 sw v0, 0x14(s5)               |             *((s5 + 5)) = v0;
                                             |             if (v0 < 0) {
    0x00001e9c bltz v0, 0x1ec4               |                 goto label_57;
                                             |             }
                                             |         }
    0x00001ea0 lw v1, 0x4638(s0)             |         v1 = *((s0 + 4494));
    0x00001ea4 sllv v0, s2, v0               |         v0 = s2 << v0;
    0x00001ea8 or v0, v0, v1                 |         v0 |= v1;
    0x00001eac move a0, s5                   |         a0 = s5;
    0x00001eb0 sw v0, 0x4638(s0)             |         *((s0 + 4494)) = v0;
    0x00001eb4 move t9, s1                   |         t9 = s1;
    0x00001eb8 bal 0x3a98                    |         fcn_00003a98 ();
    0x00001ebc nop                           |         
    0x00001ec0 lw gp, 0x18(sp)               |         gp = *(arg_18h);
                                             | label_57:
    0x00001ec4 lw s5, (s5)                   |         s5 = *(s5);
    0x00001ec8 lw v0, 0x18(s5)               |         v0 = *((s5 + 6));
    0x00001ecc bnel s5, s3, 0x1e70           |         
                                             |     }
    0x00001ed0 lw v1, 0x6c(sp)               |     v1 = *(arg_6ch);
                                             | label_56:
    0x00001ed4 lw v0, (v1)                   |     v0 = *(v1);
                                             | label_55:
    0x00001ed8 move fp, v1                   |     fp = v1;
                                             |     if (v0 != s3) {
    0x00001edc beq v0, s3, 0x1f84            |         
    0x00001ee0 lw v0, -0x7fcc(gp)            |         v0 = *((gp - 8179));
    0x00001ee4 lw t9, -0x7edc(gp)            |         t9 = sym.imp.sigemptyset;
    0x00001ee8 lw a0, 0x30(sp)               |         a0 = *(arg_30h);
    0x00001eec addiu v0, v0, 0x3a74          |         v0 += 0x3a74;
    0x00001ef0 sw v0, 0x188(sp)              |         *(arg_188h) = v0;
    0x00001ef4 jalr t9                       |         t9 ();
    0x00001ef8 lw gp, 0x18(sp)               |         gp = *(arg_18h);
    0x00001efc lw a1, 0x24(sp)               |         a1 = *(arg_24h);
    0x00001f00 addiu a0, zero, 0x12          |         a0 = 0x12;
    0x00001f04 lw a2, -0x7fdc(gp)            |         a2 = *((gp - 8183));
    0x00001f08 lw t9, -0x7f28(gp)            |         t9 = sym.imp.sigaction;
    0x00001f0c addiu a2, a2, 0x4368          |         a2 += 0x4368;
    0x00001f10 sw zero, 0x184(sp)            |         *(arg_184h) = 0;
    0x00001f14 jalr t9                       |         t9 ();
    0x00001f18 lw gp, 0x18(sp)               |         gp = *(arg_18h);
    0x00001f1c addiu s1, zero, -1            |         s1 = -1;
    0x00001f20 lw s0, -0x7fd4(gp)            |         s0 = *((gp - 8181));
    0x00001f24 addiu s0, s0, -0x4710         |         s0 += -0x4710;
    0x00001f28 lw v0, 0x18(fp)               |         v0 = *(arg_18h);
                                             | label_3:
    0x00001f2c slti v0, v0, 0x10             |         v0 = (v0 < 0x10) ? 1 : 0;
    0x00001f30 lw t9, -0x7ed8(gp)            |         t9 = sym.imp.fork;
                                             |         if (v0 == 0) {
    0x00001f34 beqz v0, 0x20c8               |             goto label_58;
                                             |         }
    0x00001f38 jalr t9                       |         t9 ();
    0x00001f3c nop                           |         
    0x00001f40 lw gp, 0x18(sp)               |         gp = *(arg_18h);
    0x00001f44 sw v0, 0x1c(fp)               |         *(arg_1ch) = v0;
                                             |         if (v0 == s1) {
    0x00001f48 beq v0, s1, 0x20ac            |             goto label_59;
                                             |         }
    0x00001f4c lw fp, (fp)                   |         fp = *(fp);
                                             |         if (v0 == 0) {
    0x00001f50 bnel v0, zero, 0x20c0         |             goto label_60;
                                             |         }
    0x00001f54 lw t9, -0x7edc(gp)            |         t9 = sym.imp.sigemptyset;
    0x00001f58 lw a0, 0x30(sp)               |         a0 = *(arg_30h);
    0x00001f5c sw zero, 0x188(sp)            |         *(arg_188h) = 0;
    0x00001f60 jalr t9                       |         t9 ();
    0x00001f64 lw gp, 0x18(sp)               |         gp = *(arg_18h);
    0x00001f68 lw a1, 0x24(sp)               |         a1 = *(arg_24h);
    0x00001f6c move a2, zero                 |         a2 = 0;
    0x00001f70 lw t9, -0x7f28(gp)            |         t9 = sym.imp.sigaction;
    0x00001f74 addiu a0, zero, 0x12          |         a0 = 0x12;
    0x00001f78 sw zero, 0x184(sp)            |         *(arg_184h) = 0;
    0x00001f7c jalr t9                       |         t9 ();
    0x00001f80 lw gp, 0x18(sp)               |         gp = *(arg_18h);
                                             |     }
                                             | label_40:
    0x00001f84 lw t9, -0x7e24(gp)            |     t9 = sym.imp.getpid;
    0x00001f88 lw s0, 0x14(fp)               |     s0 = *(arg_14h);
    0x00001f8c jalr t9                       |     t9 ();
    0x00001f90 lw gp, 0x18(sp)               |     gp = *(arg_18h);
    0x00001f94 move a0, zero                 |     a0 = 0;
    0x00001f98 lw t9, -0x7ec8(gp)            |     t9 = sym.imp.getpgid;
    0x00001f9c move s3, v0                   |     s3 = v0;
    0x00001fa0 jalr t9                       |     t9 ();
    0x00001fa4 lw gp, 0x18(sp)               |     gp = *(arg_18h);
    0x00001fa8 lw t9, -0x7f0c(gp)            |     t9 = sym.imp.getppid;
    0x00001fac move s1, v0                   |     s1 = v0;
    0x00001fb0 jalr t9                       |     t9 ();
    0x00001fb4 lw gp, 0x18(sp)               |     gp = *(arg_18h);
    0x00001fb8 lw t9, -0x7ec8(gp)            |     t9 = sym.imp.getpgid;
    0x00001fbc move a0, v0                   |     a0 = v0;
    0x00001fc0 jalr t9                       |     t9 ();
    0x00001fc4 lw gp, 0x18(sp)               |     gp = *(arg_18h);
    0x00001fc8 move a0, s0                   |     a0 = s0;
    0x00001fcc lw t9, -0x7eb0(gp)            |     t9 = sym.imp.tcgetpgrp;
    0x00001fd0 move s2, v0                   |     s2 = v0;
    0x00001fd4 jalr t9                       |     t9 ();
    0x00001fd8 lw v1, 0x10(fp)               |     v1 = *(arg_10h);
    0x00001fdc lw gp, 0x18(sp)               |     gp = *(arg_18h);
    0x00001fe0 andi v1, v1, 2                |     v1 &= 2;
    0x00001fe4 move s5, v0                   |     s5 = v0;
                                             |     if (v1 != 0) {
    0x00001fe8 bnez v1, 0x2160               |         goto label_61;
                                             |     }
    0x00001fec lw t9, -0x7d80(gp)            |     t9 = sym.imp.dup2;
                                             |     if (s1 != v0) {
    0x00001ff0 beq s1, v0, 0x2000            |         
    0x00001ff4 lw t9, -0x7ed0(gp)            |         t9 = sym.imp.getsid;
                                             |         if (s2 != v0) {
    0x00001ff8 bne s2, v0, 0x2d04            |             goto label_62;
                                             |         }
                                             | label_21:
    0x00001ffc lw t9, -0x7d80(gp)            |         t9 = sym.imp.dup2;
                                             |     }
    0x00002000 move a0, s0                   |     a0 = s0;
    0x00002004 move a1, zero                 |     a1 = 0;
    0x00002008 jalr t9                       |     t9 ();
    0x0000200c lw gp, 0x18(sp)               |     gp = *(arg_18h);
    0x00002010 move a0, s0                   |     a0 = s0;
    0x00002014 addiu a1, zero, 1             |     a1 = 1;
    0x00002018 lw t9, -0x7d80(gp)            |     t9 = sym.imp.dup2;
    0x0000201c addiu s4, zero, 1             |     s4 = 1;
    0x00002020 jalr t9                       |     t9 ();
    0x00002024 lw gp, 0x18(sp)               |     gp = *(arg_18h);
    0x00002028 move a0, s0                   |     a0 = s0;
    0x0000202c addiu a1, zero, 2             |     a1 = 2;
    0x00002030 lw t9, -0x7d80(gp)            |     t9 = sym.imp.dup2;
    0x00002034 lw s2, -0x7fdc(gp)            |     s2 = *((gp - 8183));
    0x00002038 addiu s0, zero, 3             |     s0 = 3;
    0x0000203c jalr t9                       |     t9 ();
    0x00002040 addiu s3, zero, 0x20          |     s3 = 0x20;
    0x00002044 lw gp, 0x18(sp)               |     gp = *(arg_18h);
    0x00002048 sw zero, 0x14(fp)             |     *(arg_14h) = 0;
    0x0000204c b 0x2058                      |     
                                             |     while (v0 == 0) {
                                             | label_1:
    0x00002050 lw v0, -0x7fdc(gp)            |         v0 = *((gp - 8183));
                                             |         if (s0 == s3) {
    0x00002054 beq s0, s3, 0x2164            |             goto label_63;
                                             |         }
    0x00002058 lw v0, 0x4638(s2)             |         v0 = *((s2 + 4494));
    0x0000205c sllv s1, s4, s0               |         s1 = s4 << s0;
    0x00002060 and v0, s1, v0                |         v0 = s1 & v0;
    0x00002064 beql v0, zero, 0x2050         |         
                                             |     }
    0x00002068 addiu s0, s0, 1               |     s0++;
    0x0000206c lw t9, -0x7f48(gp)            |     t9 = sym.imp.close;
    0x00002070 move a0, s0                   |     a0 = s0;
    0x00002074 jalr t9                       |     t9 ();
    0x00002078 lw v0, 0x4638(s2)             |     v0 = *((s2 + 4494));
    0x0000207c nor s1, zero, s1              |     __asm ("nor s1, zero, s1");
    0x00002080 and s1, s1, v0                |     s1 &= v0;
    0x00002084 lw gp, 0x18(sp)               |     gp = *(arg_18h);
    0x00002088 sw s1, 0x4638(s2)             |     *((s2 + 4494)) = s1;
    0x0000208c addiu s0, s0, 1               |     s0++;
    0x00002090 b 0x2050                      |     goto label_1;
                                             | label_49:
    0x00002094 lw t9, -0x7e2c(gp)            |     t9 = sym.imp.getenv;
    0x00002098 addiu a0, a0, -0x49e8         |     a0 += -0x49e8;
    0x0000209c jalr t9                       |     t9 ();
    0x000020a0 move a0, v0                   |     a0 = v0;
    0x000020a4 lw gp, 0x18(sp)               |     gp = *(arg_18h);
    0x000020a8 b 0x1de4                      |     goto label_2;
                                             | label_59:
    0x000020ac lw t9, -0x7ee0(gp)            |     t9 = sym.imp.warn;
    0x000020b0 move a0, s0                   |     a0 = s0;
    0x000020b4 jalr t9                       |     t9 ();
    0x000020b8 lw gp, 0x18(sp)               |     gp = *(arg_18h);
    0x000020bc lw fp, (fp)                   |     fp = *(fp);
                                             | label_60:
    0x000020c0 lw v0, 0x18(fp)               |     v0 = *(arg_18h);
                                             |     if (fp == s3) {
    0x000020c4 bnel fp, s3, 0x1f2c           |         goto label_3;
                                             |     }
                                             | label_58:
    0x000020c8 addiu s0, zero, 0xa           |     s0 = 0xa;
    0x000020cc lw s1, 0x2c(sp)               |     s1 = *(arg_2ch);
    0x000020d0 b 0x20fc                      |     
                                             |     while (v0 != 0) {
    0x000020d4 lw t9, -0x7eac(gp)            |         t9 = sym.imp.__errno_location;
                                             |         if (v0 >= 0) {
    0x000020d8 bgez v0, 0x341c               |             goto label_64;
                                             |         }
    0x000020dc jalr t9                       |         t9 ();
    0x000020e0 nop                           |         
    0x000020e4 lw v0, (v0)                   |         v0 = *(v0);
    0x000020e8 lw gp, 0x18(sp)               |         gp = *(arg_18h);
                                             |         if (v0 == s0) {
    0x000020ec beq v0, s0, 0x2120            |             goto label_65;
                                             |         }
    0x000020f0 addiu v1, zero, 4             |         v1 = 4;
    0x000020f4 lw a1, -0x7fd4(gp)            |         a1 = *((gp - 8181));
                                             |         if (v0 != v1) {
    0x000020f8 bne v0, v1, 0x3420            |             goto label_66;
                                             |         }
    0x000020fc lw t9, -0x7e50(gp)            |         t9 = sym.imp.waitid;
    0x00002100 addiu a3, zero, 4             |         a3 = 4;
    0x00002104 move a2, s1                   |         a2 = s1;
    0x00002108 move a1, zero                 |         a1 = 0;
    0x0000210c move a0, zero                 |         a0 = 0;
    0x00002110 sw zero, 0x90(sp)             |         *(arg_90h) = 0;
    0x00002114 jalr t9                       |         t9 ();
    0x00002118 lw gp, 0x18(sp)               |         gp = *(arg_18h);
    0x0000211c bnez v0, 0x20d4               |         
                                             |     }
                                             | label_65:
    0x00002120 lw s1, 0x6c(sp)               |     s1 = *(arg_6ch);
    0x00002124 move s0, zero                 |     s0 = 0;
    0x00002128 addiu s2, zero, -1            |     s2 = -1;
                                             |     do {
                                             | label_4:
    0x0000212c lw t9, -0x7edc(gp)            |         t9 = sym.imp.sigemptyset;
                                             |         if (s1 == s3) {
    0x00002130 beq s1, s3, 0x3180            |             goto label_67;
                                             |         }
    0x00002134 lw v0, 0x14(s1)               |         v0 = *((s1 + 5));
    0x00002138 bltzl v0, 0x212c              |         
                                             |     } while (v0 < 0);
    0x0000213c lw s1, (s1)                   |     s1 = *(s1);
    0x00002140 lw a0, 0x1c(s1)               |     a0 = *((s1 + 7));
    0x00002144 lw v0, 0x90(sp)               |     v0 = *(arg_90h);
                                             |     if (a0 >= 0) {
    0x00002148 bltz a0, 0x2158               |         
    0x0000214c lw t9, -0x7e48(gp)            |         t9 = sym.imp.kill;
                                             |         if (a0 != v0) {
    0x00002150 bne a0, v0, 0x30ec            |             goto label_68;
                                             |         }
    0x00002154 sw s2, 0x1c(s1)               |         *((s1 + 7)) = s2;
                                             |     }
    0x00002158 lw s1, (s1)                   |     s1 = *(s1);
    0x0000215c b 0x212c                      |     goto label_4;
                                             | label_61:
    0x00002160 lw v0, -0x7fdc(gp)            |     v0 = *((gp - 8183));
                                             | label_63:
    0x00002164 sw v0, 0x4c(sp)               |     *(arg_4ch) = v0;
    0x00002168 addiu s7, v0, -0x3d40         |     s7 = v0 + -0x3d40;
    0x0000216c lw v0, -0x7fd4(gp)            |     v0 = *((gp - 8181));
    0x00002170 sw v0, 0x64(sp)               |     *(arg_64h) = v0;
    0x00002174 lw v0, -0x7fd4(gp)            |     v0 = *((gp - 8181));
    0x00002178 addiu v0, v0, -0x4868         |     v0 += -0x4868;
    0x0000217c sw v0, 0x44(sp)               |     *(arg_44h) = v0;
    0x00002180 lw v0, -0x7fd4(gp)            |     v0 = *((gp - 8181));
    0x00002184 sw v0, 0x5c(sp)               |     *(arg_5ch) = v0;
    0x00002188 lw v0, -0x7fcc(gp)            |     v0 = *((gp - 8179));
    0x0000218c addiu v0, v0, 0x3a50          |     v0 += 0x3a50;
    0x00002190 sw v0, 0x50(sp)               |     *(arg_50h) = v0;
    0x00002194 lw v0, -0x7fcc(gp)            |     v0 = *((gp - 8179));
    0x00002198 addiu v0, v0, 0x439c          |     v0 += fcn.0000439c;
    0x0000219c sw v0, 0x58(sp)               |     *(arg_58h) = v0;
                                             | label_8:
    0x000021a0 lw v0, 0x28(sp)               |     v0 = *(arg_28h);
    0x000021a4 lw s1, 4(v0)                  |     s1 = *((v0 + 1));
    0x000021a8 lw v0, 0x20(sp)               |     v0 = *(arg_20h);
    0x000021ac move s0, zero                 |     s0 = 0;
                                             |     if (v0 == 0) {
    0x000021b0 bnez v0, 0x21d0               |         
    0x000021b4 addiu v0, zero, 0x2a          |         v0 = 0x2a;
                                             |         if (s1 == 0) {
    0x000021b8 beqz s1, 0x2458               |             goto label_69;
                                             |         }
    0x000021bc lb s0, (s1)                   |         s0 = *(s1);
                                             |         if (s0 == v0) {
    0x000021c0 beql s0, v0, 0x21d0           |             goto label_5;
                                             |         }
    0x000021c4 addiu s0, zero, 1             |         s0 = 1;
    0x000021c8 xori s0, s0, 0x21             |         s0 ^= 0x21;
    0x000021cc sltiu s0, s0, 1               |         s0 = (s0 < 1) ? 1 : 0;
                                             |     }
                                             | label_5:
    0x000021d0 lw v0, 0x10(fp)               |     v0 = *(arg_10h);
    0x000021d4 andi v0, v0, 1                |     v0 &= 1;
    0x000021d8 lw v1, 0x24(sp)               |     v1 = *(arg_24h);
                                             |     if (v0 != 0) {
    0x000021dc bnez v0, 0x28e0               |         goto label_70;
                                             |     }
                                             | label_11:
    0x000021e0 lw a3, 0xc(fp)                |     a3 = *(arg_ch);
    0x000021e4 lw v0, 0x64(sp)               |     v0 = *(arg_64h);
                                             |     if (a3 == 0) {
    0x000021e8 beqz a3, 0x29ec               |         goto label_71;
                                             |     }
                                             | label_17:
    0x000021ec lw a0, -0x7fd4(gp)            |     a0 = *((gp - 8181));
                                             |     if (s0 != 0) {
    0x000021f0 bnez s0, 0x2944               |         goto label_72;
                                             |     }
    0x000021f4 lb v0, (s1)                   |     v0 = *(s1);
    0x000021f8 addiu v1, zero, 0x2a          |     v1 = 0x2a;
                                             |     if (v0 == 0) {
    0x000021fc beqz v0, 0x28a4               |         goto label_73;
                                             |     }
    0x00002200 addiu v1, zero, 0x21          |     v1 = 0x21;
                                             |     if (v0 == v1) {
    0x00002204 beq v0, v1, 0x28a4            |         goto label_73;
                                             |     }
    0x00002208 lw t9, -0x7e14(gp)            |     t9 = sym.imp.fwrite;
                                             |     if (v0 == v1) {
    0x0000220c beq v0, v1, 0x28a4            |         goto label_73;
                                             |     }
    0x00002210 lw a0, -0x7fd4(gp)            |     a0 = *((gp - 8181));
    0x00002214 addiu a2, zero, 0x23          |     a2 = 0x23;
    0x00002218 addiu a1, zero, 1             |     a1 = 1;
    0x0000221c addiu a0, a0, -0x48ac         |     a0 += -0x48ac;
    0x00002220 jalr t9                       |     t9 ();
    0x00002224 lw gp, 0x18(sp)               |     gp = *(arg_18h);
                                             | label_9:
    0x00002228 lw t9, -0x7e14(gp)            |     t9 = sym.imp.fwrite;
    0x0000222c lw a3, 0xc(fp)                |     a3 = *(arg_ch);
    0x00002230 lw a0, 0x44(sp)               |     a0 = *(arg_44h);
    0x00002234 addiu a2, zero, 0x22          |     a2 = 0x22;
    0x00002238 addiu a1, zero, 1             |     a1 = 1;
    0x0000223c jalr t9                       |     t9 ();
    0x00002240 lw gp, 0x18(sp)               |     gp = *(arg_18h);
                                             | label_12:
    0x00002244 lw t9, -0x7da4(gp)            |     t9 = sym.imp.fflush;
    0x00002248 lw a0, 0xc(fp)                |     a0 = *(arg_ch);
    0x0000224c jalr t9                       |     t9 ();
    0x00002250 lw gp, 0x18(sp)               |     gp = *(arg_18h);
                                             | label_16:
    0x00002254 lw v0, 0x10(fp)               |     v0 = *(arg_10h);
    0x00002258 andi v1, v0, 1                |     v1 = v0 & 1;
    0x0000225c lw t9, -0x7e28(gp)            |     t9 = sym.imp.tcsetattr;
                                             |     if (v1 != 0) {
    0x00002260 bnez v1, 0x28c4               |         goto label_74;
                                             |     }
                                             | label_10:
    0x00002264 andi v0, v0, 2                |     v0 &= 2;
    0x00002268 move s3, s7                   |     s3 = s7;
                                             |     if (v0 != 0) {
    0x0000226c bnez v0, 0x248c               |         goto label_75;
                                             |     }
    0x00002270 addiu s4, fp, 0x34            |     s4 = fp + 0x34;
    0x00002274 addiu a2, sp, 0x104           |     a2 = sp + 0x104;
    0x00002278 lw s2, 0x14(fp)               |     s2 = *(arg_14h);
    0x0000227c move v0, s4                   |     v0 = s4;
    0x00002280 move v1, a2                   |     v1 = a2;
    0x00002284 addiu t1, fp, 0x64            |     t1 = fp + 0x64;
                                             |     do {
    0x00002288 lw t0, (v0)                   |         t0 = *(v0);
    0x0000228c lw a3, 4(v0)                  |         a3 = *((v0 + 1));
    0x00002290 lw a1, 8(v0)                  |         a1 = *((v0 + 2));
    0x00002294 lw a0, 0xc(v0)                |         a0 = *((v0 + 3));
    0x00002298 addiu v0, v0, 0x10            |         v0 += 0x10;
    0x0000229c sw t0, (v1)                   |         *(v1) = t0;
    0x000022a0 sw a3, 4(v1)                  |         *((v1 + 1)) = a3;
    0x000022a4 sw a1, 8(v1)                  |         *((v1 + 2)) = a1;
    0x000022a8 sw a0, 0xc(v1)                |         *((v1 + 3)) = a0;
    0x000022ac addiu v1, v1, 0x10            |         v1 += 0x10;
    0x000022b0 bne v0, t1, 0x2288            |         
                                             |     } while (v0 != t1);
    0x000022b4 lw v0, (v0)                   |     v0 = *(v0);
    0x000022b8 lui a0, 0xffff                |     a0 = 0xffff0000;
    0x000022bc sw v0, (v1)                   |     *(v1) = v0;
    0x000022c0 lw v1, 0x104(sp)              |     v1 = *(arg_104h);
    0x000022c4 addiu v0, zero, -0x1e01       |     v0 = -0x1e01;
    0x000022c8 and v1, v1, v0                |     v1 &= v0;
    0x000022cc lw v0, 0x110(sp)              |     v0 = *(arg_110h);
    0x000022d0 addiu a0, a0, 0x7f86          |     a0 += 0x7f86;
    0x000022d4 lw t9, -0x7e28(gp)            |     t9 = sym.imp.tcsetattr;
    0x000022d8 and v0, v0, a0                |     v0 &= a0;
    0x000022dc addiu a1, zero, 0x5410        |     a1 = 0x5410;
    0x000022e0 sw v1, 0x104(sp)              |     *(arg_104h) = v1;
    0x000022e4 move a0, s2                   |     a0 = s2;
    0x000022e8 sw v0, 0x110(sp)              |     *(arg_110h) = v0;
    0x000022ec jalr t9                       |     t9 ();
    0x000022f0 lw gp, 0x18(sp)               |     gp = *(arg_18h);
    0x000022f4 lw a0, 0x30(sp)               |     a0 = *(arg_30h);
    0x000022f8 lw t9, -0x7edc(gp)            |     t9 = sym.imp.sigemptyset;
    0x000022fc sw v0, 0x48(sp)               |     *(arg_48h) = v0;
    0x00002300 jalr t9                       |     t9 ();
    0x00002304 lw gp, 0x18(sp)               |     gp = *(arg_18h);
    0x00002308 lw v0, 0x50(sp)               |     v0 = *(arg_50h);
    0x0000230c lw a1, 0x24(sp)               |     a1 = *(arg_24h);
    0x00002310 lw t9, -0x7f28(gp)            |     t9 = sym.imp.sigaction;
    0x00002314 addiu a0, zero, 0xe           |     a0 = 0xe;
    0x00002318 move a2, zero                 |     a2 = 0;
    0x0000231c sw v0, 0x188(sp)              |     *(arg_188h) = v0;
    0x00002320 sw zero, 0x184(sp)            |     *(arg_184h) = 0;
    0x00002324 jalr t9                       |     t9 ();
    0x00002328 lw gp, 0x18(sp)               |     gp = *(arg_18h);
    0x0000232c lw v0, -0x7fdc(gp)            |     v0 = *((gp - 8183));
    0x00002330 lw a0, 0x4640(v0)             |     a0 = *((v0 + 4496));
    0x00002334 lw t9, -0x7df0(gp)            |     t9 = sym.imp.alarm;
                                             |     if (a0 != 0) {
    0x00002338 bnez a0, 0x2a50               |         goto label_76;
                                             |     }
                                             | label_19:
    0x0000233c lw s3, -0x7fdc(gp)            |     s3 = *((gp - 8183));
    0x00002340 lw v0, 0x10(fp)               |     v0 = *(arg_10h);
    0x00002344 lw v1, 0x4c(sp)               |     v1 = *(arg_4ch);
    0x00002348 andi v0, v0, 1                |     v0 &= 1;
    0x0000234c sw s7, 0x435c(s3)             |     *((s3 + 4311)) = s7;
    0x00002350 sb zero, -0x3d40(v1)          |     *((v1 - 15680)) = 0;
    0x00002354 sw zero, 0x28(fp)             |     *(arg_28h) = 0;
                                             |     if (v0 == 0) {
    0x00002358 beqz v0, 0x2960               |         goto label_77;
                                             |     }
    0x0000235c lw v0, 0x10c(sp)              |     v0 = *(arg_10ch);
    0x00002360 andi v0, v0, 0x300            |     v0 &= 0x300;
    0x00002364 sltiu v0, v0, 1               |     v0 = (v0 < 1) ? 1 : 0;
    0x00002368 sw v0, 0x2c(sp)               |     *(arg_2ch) = v0;
                                             | label_13:
    0x0000236c lw v0, -0x7fdc(gp)            |     v0 = *((gp - 8183));
    0x00002370 addiu s5, sp, 0x6b            |     s5 = sp + 0x6b;
    0x00002374 sw v0, 0x54(sp)               |     *(arg_54h) = v0;
    0x00002378 lui v0, 0xee6                 |     v0 = 0xee60000;
    0x0000237c ori v0, v0, 0xb280            |     
    0x00002380 sw v0, 0x60(sp)               |     *(arg_60h) = v0;
    0x00002384 addiu s6, sp, 0x7c            |     s6 = sp + 0x7c;
    0x00002388 lw t9, -0x7d98(gp)            |     t9 = sym.imp.read;
                                             |     do {
    0x0000238c addiu a2, zero, 1             |         a2 = 1;
    0x00002390 move a1, s5                   |         a1 = s5;
    0x00002394 move a0, s2                   |         a0 = s2;
    0x00002398 jalr t9                       |         t9 ();
    0x0000239c lw gp, 0x18(sp)               |         gp = *(arg_18h);
                                             |         if (v0 <= 0) {
    0x000023a0 blez v0, 0x2508               |             goto label_78;
                                             |         }
    0x000023a4 lw v1, 0x2c(sp)               |         v1 = *(arg_2ch);
    0x000023a8 lb v0, 0x6b(sp)               |         v0 = *(arg_6bh);
                                             |         if (v1 == 0) {
    0x000023ac bnez v1, 0x23bc               |             
    0x000023b0 andi a2, v0, 0x7f             |             a2 = v0 & 0x7f;
    0x000023b4 addiu v1, zero, 7             |             v1 = 7;
                                             |             if (a2 != v0) {
    0x000023b8 bne a2, v0, 0x307c            |                 goto label_79;
                                             |             }
                                             |         }
                                             | label_29:
    0x000023bc addiu v1, zero, 0xa           |         v1 = 0xa;
    0x000023c0 slti v1, v0, 0xb              |         v1 = (v0 < 0xb) ? 1 : 0;
                                             |         if (v0 == v1) {
    0x000023c4 beq v0, v1, 0x247c            |             goto label_80;
                                             |         }
    0x000023c8 addiu v1, zero, 4             |         v1 = 4;
                                             |         if (v1 == 0) {
    0x000023cc beqz v1, 0x2460               |             goto label_81;
                                             |         }
    0x000023d0 addiu v1, zero, 8             |         v1 = 8;
                                             |         if (v0 == v1) {
    0x000023d4 beq v0, v1, 0x2540            |             goto label_25;
                                             |         }
    0x000023d8 lw v1, 0x435c(s3)             |         v1 = *((s3 + 4311));
                                             |         if (v0 == v1) {
    0x000023dc beq v0, v1, 0x3158            |             goto label_82;
                                             |         }
                                             |         if (v0 == 0) {
    0x000023e0 beql v0, zero, 0x311c         |             goto label_83;
                                             |         }
    0x000023e4 lw v0, 0x435c(s3)             |         v0 = *((s3 + 4311));
    0x000023e8 lw v1, 0x435c(s3)             |         v1 = *((s3 + 4311));
                                             | label_6:
    0x000023ec subu a0, v1, s7               |         __asm ("subu a0, v1, s7");
    0x000023f0 sltiu a0, a0, 0x7f            |         a0 = (a0 < 0x7f) ? 1 : 0;
                                             |         if (a0 == 0) {
    0x000023f4 beql a0, zero, 0x2f90         |             goto label_84;
                                             |         }
    0x000023f8 lw v0, -0x7db0(gp)            |         v0 = *((gp - 8044));
    0x000023fc addiu a0, v1, 1               |         a0 = v1 + 1;
    0x00002400 sw a0, 0x435c(s3)             |         *((s3 + 4311)) = a0;
    0x00002404 sb v0, (v1)                   |         *(v1) = v0;
                                             | label_7:
    0x00002408 lw v0, 0x28(fp)               |         v0 = *(arg_28h);
                                             | label_33:
    0x0000240c lw t9, -0x7d98(gp)            |         t9 = sym.imp.read;
    0x00002410 beqz v0, 0x238c               |         
                                             |     } while (v0 == 0);
                                             | label_32:
    0x00002414 lw t9, -0x7df0(gp)            |     t9 = sym.imp.alarm;
    0x00002418 move a0, zero                 |     a0 = 0;
    0x0000241c jalr t9                       |     t9 ();
    0x00002420 lw v0, 0x48(sp)               |     v0 = *(arg_48h);
    0x00002424 lw gp, 0x18(sp)               |     gp = *(arg_18h);
                                             |     if (v0 == 0) {
    0x00002428 beqz v0, 0x348c               |         goto label_85;
                                             |     }
    0x0000242c lw t9, 0x58(sp)               |     t9 = *(arg_58h);
    0x00002430 move a0, fp                   |     a0 = fp;
    0x00002434 jalr t9                       |     t9 ();
    0x00002438 lw gp, 0x18(sp)               |     gp = *(arg_18h);
    0x0000243c move s3, s7                   |     s3 = s7;
    0x00002440 lw a0, -0x7fd4(gp)            |     a0 = *((gp - 8181));
    0x00002444 lw t9, -0x7e38(gp)            |     t9 = sym.strnappend;
    0x00002448 addiu a0, a0, -0x4814         |     a0 += -0x4814;
    0x0000244c jalr t9                       |     t9 ();
    0x00002450 lw gp, 0x18(sp)               |     gp = *(arg_18h);
    0x00002454 b 0x248c                      |     goto label_75;
                                             | label_69:
    0x00002458 move s0, zero                 |     s0 = 0;
    0x0000245c b 0x21d0                      |     goto label_5;
                                             | label_81:
    0x00002460 addiu v1, zero, 0x15          |     v1 = 0x15;
    0x00002464 addiu v1, zero, 0x7f          |     v1 = 0x7f;
                                             |     if (v0 == v1) {
    0x00002468 beq v0, v1, 0x3124            |         goto label_86;
                                             |     }
    0x0000246c addiu v1, zero, 0xd           |     v1 = 0xd;
                                             |     if (v0 == v1) {
    0x00002470 beq v0, v1, 0x3154            |         goto label_87;
                                             |     }
    0x00002474 lw v1, 0x435c(s3)             |     v1 = *((s3 + 4311));
                                             |     if (v0 != v1) {
    0x00002478 bne v0, v1, 0x23ec            |         goto label_6;
                                             |     }
                                             | label_80:
    0x0000247c lw v1, 0x435c(s3)             |     v1 = *((s3 + 4311));
    0x00002480 sb zero, (v1)                 |     *(v1) = 0;
    0x00002484 sw v0, 0x28(fp)               |     *(arg_28h) = v0;
    0x00002488 b 0x2408                      |     goto label_7;
                                             |     do {
                                             | label_75:
    0x0000248c lw t9, -0x7e44(gp)            |         t9 = sym.imp.exit;
                                             |         if (s0 != 0) {
    0x00002490 bnez s0, 0x3484               |             goto label_88;
                                             |         }
    0x00002494 lb v0, (s1)                   |         v0 = *(s1);
    0x00002498 addiu v1, zero, 0x2a          |         v1 = 0x2a;
                                             |         if (v0 == 0) {
    0x0000249c beqz v0, 0x25b4               |             goto label_89;
                                             |         }
    0x000024a0 addiu v1, zero, 0x21          |         v1 = 0x21;
                                             |         if (v0 == v1) {
    0x000024a4 beq v0, v1, 0x25b4            |             goto label_89;
                                             |         }
    0x000024a8 lw t9, -0x7eec(gp)            |         t9 = sym.imp.crypt;
                                             |         if (v0 == v1) {
    0x000024ac beq v0, v1, 0x25b4            |             goto label_89;
                                             |         }
    0x000024b0 move a1, s1                   |         a1 = s1;
    0x000024b4 move a0, s3                   |         a0 = s3;
    0x000024b8 jalr t9                       |         t9 ();
    0x000024bc lw gp, 0x18(sp)               |         gp = *(arg_18h);
                                             |         if (v0 == 0) {
    0x000024c0 beqz v0, 0x3104               |             goto label_90;
                                             |         }
    0x000024c4 lw v1, 0x28(sp)               |         v1 = *(arg_28h);
    0x000024c8 lw t9, -0x7d8c(gp)            |         t9 = sym.imp.strcmp;
    0x000024cc move a0, v0                   |         a0 = v0;
    0x000024d0 lw a1, 4(v1)                  |         a1 = *((v1 + 1));
    0x000024d4 jalr t9                       |         t9 ();
    0x000024d8 lw gp, 0x18(sp)               |         gp = *(arg_18h);
                                             |         if (v0 == 0) {
    0x000024dc beqz v0, 0x25b4               |             goto label_89;
                                             |         }
                                             | label_31:
    0x000024e0 lw v0, -0x7db0(gp)            |         v0 = *((gp - 8044));
    0x000024e4 lw a0, -0x7fd4(gp)            |         a0 = *((gp - 8181));
    0x000024e8 lw t9, -0x7e14(gp)            |         t9 = sym.imp.fwrite;
    0x000024ec lw a3, (v0)                   |         a3 = *(v0);
    0x000024f0 addiu a2, zero, 0x11          |         a2 = 0x11;
    0x000024f4 addiu a1, zero, 1             |         a1 = 1;
    0x000024f8 addiu a0, a0, -0x4730         |         a0 += -0x4730;
    0x000024fc jalr t9                       |         t9 ();
    0x00002500 lw gp, 0x18(sp)               |         gp = *(arg_18h);
    0x00002504 b 0x21a0                      |         goto label_8;
                                             | label_78:
    0x00002508 lw t9, -0x7eac(gp)            |         t9 = sym.imp.__errno_location;
    0x0000250c jalr t9                       |         t9 ();
    0x00002510 nop                           |         
    0x00002514 lw v0, (v0)                   |         v0 = *(v0);
    0x00002518 addiu v1, zero, 4             |         v1 = 4;
    0x0000251c lw gp, 0x18(sp)               |         gp = *(arg_18h);
                                             |         if (v0 != v1) {
    0x00002520 beq v0, v1, 0x2530            |             
    0x00002524 addiu v1, zero, 0xb           |             v1 = 0xb;
    0x00002528 sltiu v1, v0, 0x17            |             v1 = (v0 < 0x17) ? 1 : 0;
                                             |             if (v0 != v1) {
    0x0000252c bne v0, v1, 0x33e0            |                 goto label_91;
                                             |             }
                                             |         }
    0x00002530 lw v0, 0x54(sp)               |         v0 = *(arg_54h);
    0x00002534 lw v0, 0x4364(v0)             |         v0 = *((v0 + 4313));
    0x00002538 lw v0, 0x60(sp)               |         v0 = *(arg_60h);
                                             |         if (v0 == 0) {
    0x0000253c beqz v0, 0x305c               |             goto label_92;
                                             |         }
                                             | label_25:
    0x00002540 lw t9, -0x7df0(gp)            |         t9 = sym.imp.alarm;
                                             | label_44:
    0x00002544 move a0, zero                 |         a0 = 0;
    0x00002548 jalr t9                       |         t9 ();
    0x0000254c lw v0, 0x48(sp)               |         v0 = *(arg_48h);
    0x00002550 lw gp, 0x18(sp)               |         gp = *(arg_18h);
                                             |         if (v0 != 0) {
    0x00002554 bnez v0, 0x330c               |             goto label_93;
                                             |         }
    0x00002558 move s3, zero                 |         s3 = 0;
                                             | label_45:
    0x0000255c lw t9, -0x7e28(gp)            |         t9 = sym.imp.tcsetattr;
    0x00002560 move a2, s4                   |         a2 = s4;
    0x00002564 addiu a1, zero, 0x5410        |         a1 = 0x5410;
    0x00002568 move a0, s2                   |         a0 = s2;
    0x0000256c jalr t9                       |         t9 ();
    0x00002570 lw t9, 0x58(sp)               |         t9 = *(arg_58h);
    0x00002574 move a0, fp                   |         a0 = fp;
    0x00002578 jalr t9                       |         t9 ();
    0x0000257c lw gp, 0x18(sp)               |         gp = *(arg_18h);
    0x00002580 lw a0, -0x7fd4(gp)            |         a0 = *((gp - 8181));
    0x00002584 lw t9, -0x7e38(gp)            |         t9 = sym.strnappend;
    0x00002588 addiu a0, a0, -0x4814         |         a0 += -0x4814;
    0x0000258c jalr t9                       |         t9 ();
    0x00002590 lw gp, 0x18(sp)               |         gp = *(arg_18h);
    0x00002594 bnez s3, 0x248c               |         
                                             |     } while (s3 != 0);
                                             |     do {
                                             | label_41:
    0x00002598 lw v0, -0x7fdc(gp)            |         v0 = *((gp - 8183));
    0x0000259c lw v0, 0x4364(v0)             |         v0 = *((v0 + 4313));
    0x000025a0 lw t9, -0x7fcc(gp)            |         t9 = *((gp - 8179));
                                             |         if (v0 != 0) {
    0x000025a4 bnez v0, 0x2fb4               |             goto label_94;
                                             |         }
                                             | label_26:
    0x000025a8 lw t9, -0x7e44(gp)            |         t9 = sym.imp.exit;
    0x000025ac move a0, zero                 |         a0 = 0;
    0x000025b0 jalr t9                       |         t9 ();
                                             | label_89:
    0x000025b4 lw v0, 0x28(sp)               |         v0 = *(arg_28h);
    0x000025b8 lw t9, -0x7de8(gp)            |         t9 = sym.imp.chdir;
    0x000025bc lw a0, 0x14(v0)               |         a0 = *((v0 + 5));
    0x000025c0 jalr t9                       |         t9 ();
    0x000025c4 lw gp, 0x18(sp)               |         gp = *(arg_18h);
                                             |         if (v0 != 0) {
    0x000025c8 bnez v0, 0x2fdc               |             goto label_95;
                                             |         }
                                             | label_27:
    0x000025cc lw a0, -0x7fd4(gp)            |         a0 = *((gp - 8181));
    0x000025d0 lw t9, -0x7e2c(gp)            |         t9 = sym.imp.getenv;
    0x000025d4 addiu a0, a0, -0x47a0         |         a0 += -0x47a0;
    0x000025d8 jalr t9                       |         t9 ();
    0x000025dc move s1, v0                   |         s1 = v0;
    0x000025e0 lw gp, 0x18(sp)               |         gp = *(arg_18h);
                                             |         if (v0 == 0) {
    0x000025e4 beqz v0, 0x2dd4               |             goto label_96;
                                             |         }
                                             | label_22:
    0x000025e8 lw s2, -0x7fd4(gp)            |         s2 = *((gp - 8181));
                                             | label_23:
    0x000025ec lw t9, -0x7ef0(gp)            |         t9 = sym.imp.strrchr;
    0x000025f0 addiu a1, zero, 0x2f          |         a1 = 0x2f;
    0x000025f4 move a0, s1                   |         a0 = s1;
    0x000025f8 jalr t9                       |         t9 ();
    0x000025fc lw gp, 0x18(sp)               |         gp = *(arg_18h);
                                             |         if (v0 == 0) {
    0x00002600 beqz v0, 0x30e4               |             goto label_97;
                                             |         }
    0x00002604 addiu v0, v0, 1               |         v0++;
                                             | label_30:
    0x00002608 lw s3, -0x7fdc(gp)            |         s3 = *((gp - 8183));
    0x0000260c lw v1, 0x463c(s3)             |         v1 = *((s3 + 4495));
    0x00002610 lw v1, -0x7fd4(gp)            |         v1 = *((gp - 8181));
                                             |         if (v1 != 0) {
    0x00002614 bnez v1, 0x29e4               |             goto label_98;
                                             |         }
    0x00002618 lw v1, -0x7fd4(gp)            |         v1 = *((gp - 8181));
    0x0000261c addiu v1, v1, -0x4838         |         v1 += -0x4838;
                                             | label_15:
    0x00002620 lw t9, -0x7d84(gp)            |         t9 = sym.imp.__snprintf_chk
    0x00002624 addiu s4, sp, 0x214           |         s4 = sp + 0x214;
    0x00002628 addiu a3, zero, 0x1000        |         a3 = 0x1000;
    0x0000262c addiu a2, zero, 1             |         a2 = 1;
    0x00002630 addiu a1, zero, 0x1000        |         a1 = 0x1000;
    0x00002634 move a0, s4                   |         a0 = s4;
    0x00002638 sw v1, 0x10(sp)               |         *(arg_10h) = v1;
    0x0000263c sw v0, 0x14(sp)               |         *(arg_14h) = v0;
    0x00002640 jalr t9                       |         t9 ();
    0x00002644 lw gp, 0x18(sp)               |         gp = *(arg_18h);
    0x00002648 addiu s0, sp, 0x1214          |         s0 = sp + 0x1214;
    0x0000264c addiu a1, zero, 0x1000        |         a1 = 0x1000;
    0x00002650 lw t9, -0x7e64(gp)            |         t9 = sym.imp.getcwd;
    0x00002654 move a0, s0                   |         a0 = s0;
    0x00002658 jalr t9                       |         t9 ();
    0x0000265c lw gp, 0x18(sp)               |         gp = *(arg_18h);
                                             |         if (v0 == 0) {
    0x00002660 beqz v0, 0x3174               |             goto label_99;
                                             |         }
                                             | label_34:
    0x00002664 move a1, s0                   |         a1 = s0;
    0x00002668 lw s0, -0x7fcc(gp)            |         s0 = *((gp - 8179));
    0x0000266c lw a0, -0x7fd4(gp)            |         a0 = *((gp - 8181));
    0x00002670 addiu s0, s0, 0x418c          |         s0 += fcn.0000418c;
    0x00002674 move t9, s0                   |         t9 = s0;
    0x00002678 addiu a0, a0, -0x4790         |         a0 += -0x4790;
    0x0000267c bal 0x418c                    |         fcn_0000418c ();
    0x00002680 lw gp, 0x18(sp)               |         gp = *(arg_18h);
    0x00002684 lw s5, 0x40(sp)               |         s5 = *(arg_40h);
    0x00002688 move t9, s0                   |         t9 = s0;
    0x0000268c lw a0, -0x7fd4(gp)            |         a0 = *((gp - 8181));
    0x00002690 addiu a1, s5, -0x49cc         |         a1 = s5 + -sym.emergency_do_mounts;
    0x00002694 addiu a0, a0, -0x4788         |         a0 += -0x4788;
    0x00002698 bal 0x418c                    |         fcn_0000418c ();
    0x0000269c lw gp, 0x18(sp)               |         gp = *(arg_18h);
    0x000026a0 addiu a1, s5, -0x49cc         |         a1 = s5 + -sym.emergency_do_mounts;
    0x000026a4 move t9, s0                   |         t9 = s0;
    0x000026a8 lw a0, -0x7fd4(gp)            |         a0 = *((gp - 8181));
    0x000026ac addiu a0, a0, -0x4780         |         a0 += -0x4780;
    0x000026b0 bal 0x418c                    |         fcn_0000418c ();
    0x000026b4 lw v0, 0x463c(s3)             |         v0 = *((s3 + 4495));
    0x000026b8 lw gp, 0x18(sp)               |         gp = *(arg_18h);
                                             |         if (v0 == 0) {
    0x000026bc beqz v0, 0x303c               |             goto label_100;
                                             |         }
                                             | label_28:
    0x000026c0 lw s5, -0x7fd4(gp)            |         s5 = *((gp - 8181));
    0x000026c4 move a1, s1                   |         a1 = s1;
    0x000026c8 move t9, s0                   |         t9 = s0;
    0x000026cc addiu a0, s5, -0x476c         |         a0 = s5 + -0x476c;
    0x000026d0 bal 0x418c                    |         fcn_0000418c ();
    0x000026d4 lw gp, 0x18(sp)               |         gp = *(arg_18h);
    0x000026d8 lw v0, 0x38(sp)               |         v0 = *(arg_38h);
    0x000026dc move a2, zero                 |         a2 = 0;
    0x000026e0 lw t9, -0x7f28(gp)            |         t9 = sym.imp.sigaction;
    0x000026e4 addiu a1, v0, 0x45a8          |         a1 = v0 + 0x45a8;
    0x000026e8 addiu a0, zero, 2             |         a0 = 2;
    0x000026ec jalr t9                       |         t9 ();
    0x000026f0 lw gp, 0x18(sp)               |         gp = *(arg_18h);
    0x000026f4 lw v0, 0x34(sp)               |         v0 = *(arg_34h);
    0x000026f8 move a2, zero                 |         a2 = 0;
    0x000026fc lw t9, -0x7f28(gp)            |         t9 = sym.imp.sigaction;
    0x00002700 addiu a1, v0, 0x4518          |         a1 = v0 + 0x4518;
    0x00002704 addiu a0, zero, 0x18          |         a0 = 0x18;
    0x00002708 jalr t9                       |         t9 ();
    0x0000270c lw gp, 0x18(sp)               |         gp = *(arg_18h);
    0x00002710 lw v0, 0x3c(sp)               |         v0 = *(arg_3ch);
    0x00002714 move a2, zero                 |         a2 = 0;
    0x00002718 lw t9, -0x7f28(gp)            |         t9 = sym.imp.sigaction;
    0x0000271c addiu a1, v0, 0x4488          |         a1 = v0 + 0x4488;
    0x00002720 addiu a0, zero, 3             |         a0 = 3;
    0x00002724 jalr t9                       |         t9 ();
    0x00002728 lw gp, 0x18(sp)               |         gp = *(arg_18h);
    0x0000272c lw a0, 0x30(sp)               |         a0 = *(arg_30h);
    0x00002730 lw t9, -0x7edc(gp)            |         t9 = sym.imp.sigemptyset;
    0x00002734 sw zero, 0x188(sp)            |         *(arg_188h) = 0;
    0x00002738 jalr t9                       |         t9 ();
    0x0000273c lw gp, 0x18(sp)               |         gp = *(arg_18h);
    0x00002740 lw a1, 0x24(sp)               |         a1 = *(arg_24h);
    0x00002744 move a2, zero                 |         a2 = 0;
    0x00002748 lw t9, -0x7f28(gp)            |         t9 = sym.imp.sigaction;
    0x0000274c addiu a0, zero, 1             |         a0 = 1;
    0x00002750 sw zero, 0x184(sp)            |         *(arg_184h) = 0;
    0x00002754 jalr t9                       |         t9 ();
    0x00002758 lw gp, 0x18(sp)               |         gp = *(arg_18h);
    0x0000275c move a2, zero                 |         a2 = 0;
    0x00002760 move a1, s4                   |         a1 = s4;
    0x00002764 lw t9, -0x7ebc(gp)            |         t9 = sym.imp.execl;
    0x00002768 lw s4, -0x7fd4(gp)            |         s4 = *((gp - 8181));
    0x0000276c move a0, s1                   |         a0 = s1;
    0x00002770 jalr t9                       |         t9 ();
    0x00002774 lw gp, 0x18(sp)               |         gp = *(arg_18h);
    0x00002778 move a1, s1                   |         a1 = s1;
    0x0000277c lw t9, -0x7ee0(gp)            |         t9 = sym.imp.warn;
    0x00002780 addiu a0, s4, -0x4764         |         a0 = s4 + -0x4764;
    0x00002784 jalr t9                       |         t9 ();
    0x00002788 addiu a1, s2, -0x4bf0         |         a1 = s2 + -0x4bf0;
    0x0000278c move t9, s0                   |         t9 = s0;
    0x00002790 addiu a0, s5, -0x476c         |         a0 = s5 + -0x476c;
    0x00002794 bal 0x418c                    |         fcn_0000418c ();
    0x00002798 lw v0, 0x463c(s3)             |         v0 = *((s3 + 4495));
    0x0000279c lw gp, 0x18(sp)               |         gp = *(arg_18h);
                                             |         if (v0 != 0) {
    0x000027a0 bnez v0, 0x29d8               |             goto label_101;
                                             |         }
    0x000027a4 lw a1, -0x7fd4(gp)            |         a1 = *((gp - 8181));
    0x000027a8 addiu a1, a1, -0x4be0         |         a1 += -0x4be0;
                                             | label_14:
    0x000027ac lw t9, -0x7ebc(gp)            |         t9 = sym.imp.execl;
    0x000027b0 move a2, zero                 |         a2 = 0;
    0x000027b4 addiu a0, s2, -0x4bf0         |         a0 = s2 + -0x4bf0;
    0x000027b8 jalr t9                       |         t9 ();
    0x000027bc lw gp, 0x18(sp)               |         gp = *(arg_18h);
    0x000027c0 addiu a1, s2, -0x4bf0         |         a1 = s2 + -0x4bf0;
    0x000027c4 addiu a0, s4, -0x4764         |         a0 = s4 + -0x4764;
    0x000027c8 lw t9, -0x7ee0(gp)            |         t9 = sym.imp.warn;
    0x000027cc addiu s0, zero, 1             |         s0 = 1;
    0x000027d0 jalr t9                       |         t9 ();
    0x000027d4 lw gp, 0x18(sp)               |         gp = *(arg_18h);
    0x000027d8 lw s2, 0x30(sp)               |         s2 = *(arg_30h);
    0x000027dc sw s0, 0x188(sp)              |         *(arg_188h) = s0;
    0x000027e0 lw t9, -0x7edc(gp)            |         t9 = sym.imp.sigemptyset;
    0x000027e4 move a0, s2                   |         a0 = s2;
    0x000027e8 jalr t9                       |         t9 ();
    0x000027ec lw gp, 0x18(sp)               |         gp = *(arg_18h);
    0x000027f0 lw s1, 0x24(sp)               |         s1 = *(arg_24h);
    0x000027f4 lw v0, 0x3c(sp)               |         v0 = *(arg_3ch);
    0x000027f8 lw t9, -0x7f28(gp)            |         t9 = sym.imp.sigaction;
    0x000027fc addiu a2, v0, 0x4488          |         a2 = v0 + 0x4488;
    0x00002800 move a1, s1                   |         a1 = s1;
    0x00002804 addiu a0, zero, 3             |         a0 = 3;
    0x00002808 sw zero, 0x184(sp)            |         *(arg_184h) = 0;
    0x0000280c jalr t9                       |         t9 ();
    0x00002810 lw gp, 0x18(sp)               |         gp = *(arg_18h);
    0x00002814 move a0, s2                   |         a0 = s2;
    0x00002818 lw t9, -0x7edc(gp)            |         t9 = sym.imp.sigemptyset;
    0x0000281c sw s0, 0x188(sp)              |         *(arg_188h) = s0;
    0x00002820 jalr t9                       |         t9 ();
    0x00002824 lw gp, 0x18(sp)               |         gp = *(arg_18h);
    0x00002828 lw v0, 0x34(sp)               |         v0 = *(arg_34h);
    0x0000282c move a1, s1                   |         a1 = s1;
    0x00002830 lw t9, -0x7f28(gp)            |         t9 = sym.imp.sigaction;
    0x00002834 addiu a2, v0, 0x4518          |         a2 = v0 + 0x4518;
    0x00002838 addiu a0, zero, 0x18          |         a0 = 0x18;
    0x0000283c sw zero, 0x184(sp)            |         *(arg_184h) = 0;
    0x00002840 jalr t9                       |         t9 ();
    0x00002844 lw gp, 0x18(sp)               |         gp = *(arg_18h);
    0x00002848 move a0, s2                   |         a0 = s2;
    0x0000284c lw t9, -0x7edc(gp)            |         t9 = sym.imp.sigemptyset;
    0x00002850 sw s0, 0x188(sp)              |         *(arg_188h) = s0;
    0x00002854 jalr t9                       |         t9 ();
    0x00002858 lw gp, 0x18(sp)               |         gp = *(arg_18h);
    0x0000285c lw v0, 0x38(sp)               |         v0 = *(arg_38h);
    0x00002860 move a1, s1                   |         a1 = s1;
    0x00002864 lw t9, -0x7f28(gp)            |         t9 = sym.imp.sigaction;
    0x00002868 addiu a2, v0, 0x45a8          |         a2 = v0 + 0x45a8;
    0x0000286c addiu a0, zero, 2             |         a0 = 2;
    0x00002870 sw zero, 0x184(sp)            |         *(arg_184h) = 0;
    0x00002874 jalr t9                       |         t9 ();
    0x00002878 lw gp, 0x18(sp)               |         gp = *(arg_18h);
    0x0000287c addiu a2, zero, 0x19          |         a2 = 0x19;
    0x00002880 addiu a1, zero, 1             |         a1 = 1;
    0x00002884 lw v0, -0x7db0(gp)            |         v0 = *((gp - 8044));
    0x00002888 lw a0, -0x7fd4(gp)            |         a0 = *((gp - 8181));
    0x0000288c lw t9, -0x7e14(gp)            |         t9 = sym.imp.fwrite;
    0x00002890 lw a3, (v0)                   |         a3 = *(v0);
    0x00002894 addiu a0, a0, -0x474c         |         a0 += -0x474c;
    0x00002898 jalr t9                       |         t9 ();
    0x0000289c lw gp, 0x18(sp)               |         gp = *(arg_18h);
    0x000028a0 b 0x2598                      |         
                                             |     } while (1);
                                             | label_73:
    0x000028a4 lw v0, 0x5c(sp)               |     v0 = *(arg_5ch);
    0x000028a8 lw t9, -0x7e14(gp)            |     t9 = sym.imp.fwrite;
    0x000028ac addiu a2, zero, 0x1c          |     a2 = 0x1c;
    0x000028b0 addiu a1, zero, 1             |     a1 = 1;
    0x000028b4 addiu a0, v0, -0x4888         |     a0 = v0 + -0x4888;
    0x000028b8 jalr t9                       |     t9 ();
    0x000028bc lw gp, 0x18(sp)               |     gp = *(arg_18h);
    0x000028c0 b 0x2228                      |     goto label_9;
                                             | label_74:
    0x000028c4 lw a0, 0x14(fp)               |     a0 = *(arg_14h);
    0x000028c8 addiu a2, fp, 0x34            |     a2 = fp + 0x34;
    0x000028cc addiu a1, zero, 0x540f        |     a1 = 0x540f;
    0x000028d0 jalr t9                       |     t9 ();
    0x000028d4 lw gp, 0x18(sp)               |     gp = *(arg_18h);
    0x000028d8 lw v0, 0x10(fp)               |     v0 = *(arg_10h);
    0x000028dc b 0x2264                      |     goto label_10;
                                             | label_70:
    0x000028e0 addiu v0, fp, 0x34            |     v0 = fp + 0x34;
    0x000028e4 addiu t0, fp, 0x64            |     t0 = fp + 0x64;
                                             |     do {
    0x000028e8 lw a3, (v0)                   |         a3 = *(v0);
    0x000028ec lw a2, 4(v0)                  |         a2 = *((v0 + 1));
    0x000028f0 lw a1, 8(v0)                  |         a1 = *((v0 + 2));
    0x000028f4 lw a0, 0xc(v0)                |         a0 = *((v0 + 3));
    0x000028f8 addiu v0, v0, 0x10            |         v0 += 0x10;
    0x000028fc sw a3, (v1)                   |         *(v1) = a3;
    0x00002900 sw a2, 4(v1)                  |         *((v1 + 1)) = a2;
    0x00002904 sw a1, 8(v1)                  |         *((v1 + 2)) = a1;
    0x00002908 sw a0, 0xc(v1)                |         *((v1 + 3)) = a0;
    0x0000290c addiu v1, v1, 0x10            |         v1 += 0x10;
    0x00002910 bne v0, t0, 0x28e8            |         
                                             |     } while (v0 != t0);
    0x00002914 lw v0, (v0)                   |     v0 = *(v0);
    0x00002918 lw t9, -0x7e28(gp)            |     t9 = sym.imp.tcsetattr;
    0x0000291c sw v0, (v1)                   |     *(v1) = v0;
    0x00002920 lw v0, 0x188(sp)              |     v0 = *(arg_188h);
    0x00002924 lw a0, 0x14(fp)               |     a0 = *(arg_14h);
    0x00002928 ori v0, v0, 5                 |     v0 |= 5;
    0x0000292c lw a2, 0x24(sp)               |     a2 = *(arg_24h);
    0x00002930 addiu a1, zero, 0x540f        |     a1 = 0x540f;
    0x00002934 sw v0, 0x188(sp)              |     *(arg_188h) = v0;
    0x00002938 jalr t9                       |     t9 ();
    0x0000293c lw gp, 0x18(sp)               |     gp = *(arg_18h);
    0x00002940 b 0x21e0                      |     goto label_11;
                                             | label_72:
    0x00002944 lw t9, -0x7e14(gp)            |     t9 = sym.imp.fwrite;
    0x00002948 addiu a2, zero, 0x80          |     a2 = 0x80;
    0x0000294c addiu a1, zero, 1             |     a1 = 1;
    0x00002950 addiu a0, a0, -0x4930         |     a0 += -0x4930;
    0x00002954 jalr t9                       |     t9 ();
    0x00002958 lw gp, 0x18(sp)               |     gp = *(arg_18h);
    0x0000295c b 0x2244                      |     goto label_12;
                                             | label_77:
    0x00002960 addiu v0, zero, 1             |     v0 = 1;
    0x00002964 sw v0, 0x2c(sp)               |     *(arg_2ch) = v0;
    0x00002968 b 0x236c                      |     goto label_13;
                                             | label_52:
    0x0000296c lw v0, 0x20(sp)               |     v0 = *(arg_20h);
    0x00002970 lw a0, -0x7fd4(gp)            |     a0 = *((gp - 8181));
                                             |     if (v0 != 0) {
    0x00002974 bnez v0, 0x2a60               |         goto label_102;
                                             |     }
    0x00002978 lw t9, -0x7e98(gp)            |     t9 = sym.imp.warnx;
    0x0000297c addiu a0, a0, -0x46e8         |     a0 += -0x46e8;
    0x00002980 jalr t9                       |     t9 ();
    0x00002984 lw gp, 0x18(sp)               |     gp = *(arg_18h);
    0x00002988 lw t9, -0x7de4(gp)            |     t9 = sym.imp.sleep;
    0x0000298c addiu a0, zero, 2             |     a0 = 2;
    0x00002990 jalr t9                       |     t9 ();
    0x00002994 lw gp, 0x18(sp)               |     gp = *(arg_18h);
    0x00002998 addiu v0, zero, 1             |     v0 = 1;
                                             | label_36:
    0x0000299c lw a0, 0x2214(sp)             |     a0 = *(arg_2214h);
    0x000029a0 lw v1, (s7)                   |     v1 = *(s7);
    0x000029a4 lw ra, 0x223c(sp)             |     ra = *(arg_223ch);
                                             |     if (a0 != v1) {
    0x000029a8 bne a0, v1, 0x3430            |         goto label_103;
                                             |     }
    0x000029ac lw fp, 0x2238(sp)             |     fp = *(arg_2238h);
    0x000029b0 lw s7, 0x2234(sp)             |     s7 = *(arg_2234h);
    0x000029b4 lw s6, 0x2230(sp)             |     s6 = *(arg_2230h);
    0x000029b8 lw s5, 0x222c(sp)             |     s5 = *(arg_222ch);
    0x000029bc lw s4, 0x2228(sp)             |     s4 = *(arg_2228h);
    0x000029c0 lw s3, 0x2224(sp)             |     s3 = *(arg_2224h);
    0x000029c4 lw s2, 0x2220(sp)             |     s2 = *(arg_2220h);
    0x000029c8 lw s1, 0x221c(sp)             |     s1 = *(arg_221ch);
    0x000029cc lw s0, 0x2218(sp)             |     s0 = *(arg_2218h);
    0x000029d0 addiu sp, sp, 0x2240          |     
    0x000029d4 jr ra                         |     return v1;
                                             | label_101:
    0x000029d8 lw a1, -0x7fd4(gp)            |     a1 = *((gp - 8181));
    0x000029dc addiu a1, a1, -0x4be4         |     a1 += -0x4be4;
    0x000029e0 b 0x27ac                      |     goto label_14;
                                             | label_98:
    0x000029e4 addiu v1, v1, -0x4be8         |     v1 += -0x4be8;
    0x000029e8 b 0x2620                      |     goto label_15;
                                             | label_71:
    0x000029ec lw t9, -0x7d88(gp)            |     t9 = sym.imp.fdopen;
    0x000029f0 lw a0, 0x14(fp)               |     a0 = *(arg_14h);
    0x000029f4 addiu a1, v0, -0x4934         |     a1 = v0 + -0x4934;
    0x000029f8 jalr t9                       |     t9 ();
    0x000029fc lw gp, 0x18(sp)               |     gp = *(arg_18h);
    0x00002a00 sw v0, 0xc(fp)                |     *(arg_ch) = v0;
                                             |     if (v0 == 0) {
    0x00002a04 beqz v0, 0x2254               |         goto label_16;
                                             |     }
    0x00002a08 move a3, v0                   |     a3 = v0;
    0x00002a0c b 0x21ec                      |     goto label_17;
                                             | label_50:
    0x00002a10 lw t9, -0x7f34(gp)            |     t9 = sym.imp.isatty;
    0x00002a14 addiu a0, zero, 1             |     a0 = 1;
    0x00002a18 jalr t9                       |     t9 ();
    0x00002a1c lw gp, 0x18(sp)               |     gp = *(arg_18h);
                                             |     if (v0 == 0) {
    0x00002a20 beqz v0, 0x2e0c               |         goto label_104;
                                             |     }
                                             | label_24:
    0x00002a24 lw t9, -0x7f34(gp)            |     t9 = sym.imp.isatty;
    0x00002a28 addiu a0, zero, 2             |     a0 = 2;
    0x00002a2c jalr t9                       |     t9 ();
    0x00002a30 lw gp, 0x18(sp)               |     gp = *(arg_18h);
                                             |     if (v0 != 0) {
    0x00002a34 bnez v0, 0x1dfc               |         goto label_18;
                                             |     }
    0x00002a38 lw t9, -0x7d80(gp)            |     t9 = sym.imp.dup2;
    0x00002a3c addiu a1, zero, 2             |     a1 = 2;
    0x00002a40 addiu a0, zero, 1             |     a0 = 1;
    0x00002a44 jalr t9                       |     t9 ();
    0x00002a48 lw gp, 0x18(sp)               |     gp = *(arg_18h);
    0x00002a4c b 0x1dfc                      |     goto label_18;
                                             | label_76:
    0x00002a50 jalr t9                       |     t9 ();
    0x00002a54 nop                           |     
    0x00002a58 lw gp, 0x18(sp)               |     gp = *(arg_18h);
    0x00002a5c b 0x233c                      |     goto label_19;
                                             | label_102:
    0x00002a60 lw v0, -0x7fdc(gp)            |     v0 = *((gp - 8183));
    0x00002a64 lw v1, 0x40(sp)               |     v1 = *(arg_40h);
    0x00002a68 addiu s0, v0, 0x4340          |     s0 = v0 + 0x4340;
    0x00002a6c addiu v1, v1, -0x49cc         |     v1 += -sym.emergency_do_mounts;
    0x00002a70 sw v1, 0x4340(v0)             |     *((v0 + 4304)) = v1;
    0x00002a74 lw v0, -0x7fd4(gp)            |     v0 = *((gp - 8181));
    0x00002a78 lw a0, -0x7fd4(gp)            |     a0 = *((gp - 8181));
    0x00002a7c addiu v0, v0, -0x49c4         |     v0 += -sym.emergency_do_umounts;
    0x00002a80 sw v0, 0x10(s0)               |     *((s0 + 4)) = v0;
    0x00002a84 lw v0, -0x7fd4(gp)            |     v0 = *((gp - 8181));
    0x00002a88 lw a2, -0x7fd4(gp)            |     a2 = *((gp - 8181));
    0x00002a8c lw t9, -0x7f08(gp)            |     t9 = sym.imp.fopen64;
    0x00002a90 addiu s6, s6, -0x4488         |     s6 += -0x4488;
    0x00002a94 addiu v0, v0, -0x49b8         |     v0 += -0x49b8;
    0x00002a98 sw a0, 0x28(sp)               |     *(arg_28h) = a0;
    0x00002a9c addiu a1, a0, -0x49b4         |     a1 = a0 + -0x49b4;
    0x00002aa0 sw a2, 0x44(sp)               |     *(arg_44h) = a2;
    0x00002aa4 addiu a0, a2, -0x49b0         |     a0 = a2 + -0x49b0;
    0x00002aa8 sw s6, 4(s0)                  |     *((s0 + 1)) = s6;
    0x00002aac sw v0, 0x14(s0)               |     *((s0 + 5)) = v0;
    0x00002ab0 sw s6, 0x18(s0)               |     *((s0 + 6)) = s6;
    0x00002ab4 sw zero, 8(s0)                |     *((s0 + 2)) = 0;
    0x00002ab8 sw zero, 0xc(s0)              |     *((s0 + 3)) = 0;
    0x00002abc jalr t9                       |     t9 ();
    0x00002ac0 move s2, v0                   |     s2 = v0;
    0x00002ac4 lw gp, 0x18(sp)               |     gp = *(arg_18h);
                                             |     if (v0 == 0) {
    0x00002ac8 beqz v0, 0x335c               |         goto label_105;
                                             |     }
    0x00002acc lw s6, -0x7fdc(gp)            |     s6 = *((gp - 8183));
    0x00002ad0 lw s1, -0x7fd4(gp)            |     s1 = *((gp - 8181));
    0x00002ad4 addiu s5, s6, 0x340           |     s5 = s6 + 0x340;
    0x00002ad8 addiu s1, s1, -0x4994         |     s1 += -0x4994;
                                             |     do {
    0x00002adc lw t9, -0x7dd8(gp)            |         t9 = sym.imp.fgets;
    0x00002ae0 move a2, s2                   |         a2 = s2;
    0x00002ae4 addiu a1, zero, 0x4000        |         a1 = 0x4000;
    0x00002ae8 move a0, s5                   |         a0 = s5;
    0x00002aec jalr t9                       |         t9 ();
    0x00002af0 move fp, v0                   |         fp = v0;
    0x00002af4 lw gp, 0x18(sp)               |         gp = *(arg_18h);
    0x00002af8 sw v0, 0x7c(sp)               |         *(arg_7ch) = v0;
                                             |         if (v0 == 0) {
    0x00002afc beqz v0, 0x2bd0               |             goto label_106;
                                             |         }
    0x00002b00 lw t9, -0x7f30(gp)            |         t9 = sym.imp.strncmp;
    0x00002b04 addiu a2, zero, 5             |         a2 = 5;
    0x00002b08 move a1, s1                   |         a1 = s1;
    0x00002b0c move a0, s5                   |         a0 = s5;
    0x00002b10 jalr t9                       |         t9 ();
    0x00002b14 lw gp, 0x18(sp)               |         gp = *(arg_18h);
    0x00002b18 bnez v0, 0x2adc               |         
                                             |     } while (v0 != 0);
    0x00002b1c lw s5, -0x7fd4(gp)            |     s5 = *((gp - 8181));
    0x00002b20 lw t9, -0x7e3c(gp)            |     t9 = sym.imp.strsep;
    0x00002b24 addiu v1, fp, 5               |     v1 = fp + 5;
    0x00002b28 addiu s1, sp, 0x7c            |     s1 = sp + 0x7c;
    0x00002b2c addiu a1, s5, -0x4990         |     a1 = s5 + -0x4990;
    0x00002b30 move a0, s1                   |     a0 = s1;
    0x00002b34 sw v1, 0x7c(sp)               |     *(arg_7ch) = v1;
    0x00002b38 jalr t9                       |     t9 ();
    0x00002b3c lw gp, 0x18(sp)               |     gp = *(arg_18h);
                                             |     if (v0 != 0) {
    0x00002b40 beqz v0, 0x2b48               |         
    0x00002b44 sw v0, 4(s0)                  |         *((s0 + 1)) = v0;
                                             |     }
    0x00002b48 lw t9, -0x7e3c(gp)            |     t9 = sym.imp.strsep;
    0x00002b4c addiu a1, s5, -0x4990         |     a1 = s5 + -0x4990;
    0x00002b50 move a0, s1                   |     a0 = s1;
    0x00002b54 jalr t9                       |     t9 ();
    0x00002b58 lw gp, 0x18(sp)               |     gp = *(arg_18h);
    0x00002b5c addiu a1, s5, -0x4990         |     a1 = s5 + -0x4990;
    0x00002b60 lw t9, -0x7e3c(gp)            |     t9 = sym.imp.strsep;
    0x00002b64 move a0, s1                   |     a0 = s1;
    0x00002b68 jalr t9                       |     t9 ();
    0x00002b6c lw gp, 0x18(sp)               |     gp = *(arg_18h);
    0x00002b70 addiu a1, s5, -0x4990         |     a1 = s5 + -0x4990;
    0x00002b74 lw t9, -0x7e3c(gp)            |     t9 = sym.imp.strsep;
    0x00002b78 move a0, s1                   |     a0 = s1;
    0x00002b7c jalr t9                       |     t9 ();
    0x00002b80 lw gp, 0x18(sp)               |     gp = *(arg_18h);
                                             |     if (v0 != 0) {
    0x00002b84 beqz v0, 0x2b8c               |         
    0x00002b88 sw v0, 0x10(s0)               |         *((s0 + 4)) = v0;
                                             |     }
    0x00002b8c lw t9, -0x7e3c(gp)            |     t9 = sym.imp.strsep;
    0x00002b90 addiu a1, s5, -0x4990         |     a1 = s5 + -0x4990;
    0x00002b94 move a0, s1                   |     a0 = s1;
    0x00002b98 jalr t9                       |     t9 ();
    0x00002b9c lw gp, 0x18(sp)               |     gp = *(arg_18h);
                                             |     if (v0 != 0) {
    0x00002ba0 beqz v0, 0x2ba8               |         
    0x00002ba4 sw v0, 0x14(s0)               |         *((s0 + 5)) = v0;
                                             |     }
    0x00002ba8 lw a1, -0x7fd4(gp)            |     a1 = *((gp - 8181));
    0x00002bac lw t9, -0x7e3c(gp)            |     t9 = sym.imp.strsep;
    0x00002bb0 addiu a1, a1, -0x4734         |     a1 += -0x4734;
    0x00002bb4 move a0, s1                   |     a0 = s1;
    0x00002bb8 jalr t9                       |     t9 ();
    0x00002bbc lw gp, 0x18(sp)               |     gp = *(arg_18h);
                                             |     if (v0 != 0) {
    0x00002bc0 beqz v0, 0x2bc8               |         
    0x00002bc4 sw v0, 0x18(s0)               |         *((s0 + 6)) = v0;
                                             |     }
    0x00002bc8 addiu s6, s6, 0x340           |     s6 += 0x340;
    0x00002bcc sw s6, 0x7c(sp)               |     *(arg_7ch) = s6;
                                             | label_106:
    0x00002bd0 lw t9, -0x7f00(gp)            |     t9 = sym.imp.fclose;
    0x00002bd4 move a0, s2                   |     a0 = s2;
    0x00002bd8 jalr t9                       |     t9 ();
    0x00002bdc lw v0, 0x7c(sp)               |     v0 = *(arg_7ch);
    0x00002be0 lw gp, 0x18(sp)               |     gp = *(arg_18h);
                                             |     if (v0 == 0) {
    0x00002be4 beqz v0, 0x3338               |         goto label_107;
                                             |     }
    0x00002be8 lw s1, -0x7fcc(gp)            |     s1 = *((gp - 8179));
    0x00002bec addiu s1, s1, 0x3f70          |     s1 += fcn.00003f70;
    0x00002bf0 move t9, s1                   |     t9 = s1;
    0x00002bf4 lw a0, 4(s0)                  |     a0 = *((s0 + 1));
    0x00002bf8 bal 0x3f70                    |     fcn_00003f70 ();
    0x00002bfc lw gp, 0x18(sp)               |     gp = *(arg_18h);
                                             |     if (v0 != 0) {
    0x00002c00 bnez v0, 0x2cfc               |         goto label_108;
                                             |     }
    0x00002c04 lw v0, 4(s0)                  |     v0 = *((s0 + 1));
    0x00002c08 lw v1, -0x7fd4(gp)            |     v1 = *((gp - 8181));
    0x00002c0c lw t9, -0x7f08(gp)            |     t9 = sym.imp.fopen64;
    0x00002c10 sb zero, (v0)                 |     *(v0) = 0;
    0x00002c14 lw v0, 0x28(sp)               |     v0 = *(arg_28h);
    0x00002c18 sw v1, 0x48(sp)               |     *(arg_48h) = v1;
    0x00002c1c addiu a1, v0, -0x49b4         |     a1 = v0 + -0x49b4;
    0x00002c20 addiu a0, v1, -0x4974         |     a0 = v1 + -0x4974;
    0x00002c24 jalr t9                       |     t9 ();
    0x00002c28 move s5, v0                   |     s5 = v0;
    0x00002c2c lw gp, 0x18(sp)               |     gp = *(arg_18h);
                                             |     if (v0 == 0) {
    0x00002c30 beqz v0, 0x335c               |         goto label_105;
                                             |     }
    0x00002c34 lw s6, -0x7fdc(gp)            |     s6 = *((gp - 8183));
    0x00002c38 lw fp, -0x7fd4(gp)            |     fp = *((gp - 8181));
    0x00002c3c addiu s6, s6, -0x3cc0         |     s6 += -0x3cc0;
    0x00002c40 addiu fp, fp, -0x4994         |     fp += -0x4994;
                                             |     do {
    0x00002c44 lw t9, -0x7dd8(gp)            |         t9 = sym.imp.fgets;
    0x00002c48 move a2, s5                   |         a2 = s5;
    0x00002c4c addiu a1, zero, 0x4000        |         a1 = 0x4000;
    0x00002c50 move a0, s6                   |         a0 = s6;
    0x00002c54 jalr t9                       |         t9 ();
    0x00002c58 move s2, v0                   |         s2 = v0;
    0x00002c5c lw gp, 0x18(sp)               |         gp = *(arg_18h);
    0x00002c60 sw v0, 0x7c(sp)               |         *(arg_7ch) = v0;
                                             |         if (v0 == 0) {
    0x00002c64 beqz v0, 0x2cac               |             goto label_109;
                                             |         }
    0x00002c68 lw t9, -0x7f30(gp)            |         t9 = sym.imp.strncmp;
    0x00002c6c addiu a2, zero, 5             |         a2 = 5;
    0x00002c70 move a1, fp                   |         a1 = fp;
    0x00002c74 move a0, s6                   |         a0 = s6;
    0x00002c78 jalr t9                       |         t9 ();
    0x00002c7c lw gp, 0x18(sp)               |         gp = *(arg_18h);
    0x00002c80 bnez v0, 0x2c44               |         
                                             |     } while (v0 != 0);
    0x00002c84 lw a1, -0x7fd4(gp)            |     a1 = *((gp - 8181));
    0x00002c88 lw t9, -0x7e3c(gp)            |     t9 = sym.imp.strsep;
    0x00002c8c addiu v1, s2, 5               |     v1 = s2 + 5;
    0x00002c90 addiu a1, a1, -0x4990         |     a1 += -0x4990;
    0x00002c94 addiu a0, sp, 0x7c            |     a0 = sp + 0x7c;
    0x00002c98 sw v1, 0x7c(sp)               |     *(arg_7ch) = v1;
    0x00002c9c jalr t9                       |     t9 ();
    0x00002ca0 lw gp, 0x18(sp)               |     gp = *(arg_18h);
                                             |     if (v0 != 0) {
    0x00002ca4 beqz v0, 0x2cac               |         
    0x00002ca8 sw v0, 4(s0)                  |         *((s0 + 1)) = v0;
                                             |     }
                                             | label_109:
    0x00002cac lw t9, -0x7f00(gp)            |     t9 = sym.imp.fclose;
    0x00002cb0 move a0, s5                   |     a0 = s5;
    0x00002cb4 jalr t9                       |     t9 ();
    0x00002cb8 lw v0, 0x7c(sp)               |     v0 = *(arg_7ch);
    0x00002cbc lw gp, 0x18(sp)               |     gp = *(arg_18h);
                                             |     if (v0 == 0) {
    0x00002cc0 beqz v0, 0x33b8               |         goto label_110;
                                             |     }
                                             | label_43:
    0x00002cc4 lw a0, 4(s0)                  |     a0 = *((s0 + 1));
    0x00002cc8 addiu v1, zero, 0x2a          |     v1 = 0x2a;
                                             |     if (a0 == 0) {
    0x00002ccc beqz a0, 0x2ce8               |         goto label_111;
                                             |     }
    0x00002cd0 lb v0, (a0)                   |     v0 = *(a0);
                                             |     if (v0 == v1) {
    0x00002cd4 beql v0, v1, 0x1e40           |         goto label_20;
                                             |     }
    0x00002cd8 sw s0, 0x28(sp)               |     *(arg_28h) = s0;
    0x00002cdc addiu v1, zero, 0x21          |     v1 = 0x21;
                                             |     if (v0 == v1) {
    0x00002ce0 beql v0, v1, 0x1e40           |         goto label_20;
                                             |     }
    0x00002ce4 sw s0, 0x28(sp)               |     *(arg_28h) = s0;
                                             | label_111:
    0x00002ce8 move t9, s1                   |     t9 = s1;
    0x00002cec bal 0x3f70                    |     fcn_00003f70 ();
    0x00002cf0 nop                           |     
    0x00002cf4 lw gp, 0x18(sp)               |     gp = *(arg_18h);
                                             |     if (v0 == 0) {
    0x00002cf8 beqz v0, 0x2e24               |         goto label_112;
                                             |     }
                                             | label_108:
    0x00002cfc sw s0, 0x28(sp)               |     *(arg_28h) = s0;
    0x00002d00 b 0x1e40                      |     goto label_20;
                                             | label_62:
    0x00002d04 move a0, zero                 |     a0 = 0;
    0x00002d08 jalr t9                       |     t9 ();
    0x00002d0c lw gp, 0x18(sp)               |     gp = *(arg_18h);
                                             |     if (s3 != v0) {
    0x00002d10 beq s3, v0, 0x2d38            |         
    0x00002d14 lw t9, -0x7ec8(gp)            |         t9 = sym.imp.getpgid;
    0x00002d18 move a0, zero                 |         a0 = 0;
    0x00002d1c jalr t9                       |         t9 ();
    0x00002d20 lw gp, 0x18(sp)               |         gp = *(arg_18h);
                                             |         if (s3 == v0) {
    0x00002d24 beq s3, v0, 0x3380            |             goto label_113;
                                             |         }
                                             | label_42:
    0x00002d28 lw t9, -0x7e54(gp)            |         t9 = sym.imp.setsid;
    0x00002d2c jalr t9                       |         t9 ();
    0x00002d30 nop                           |         
    0x00002d34 lw gp, 0x18(sp)               |         gp = *(arg_18h);
                                             |     }
    0x00002d38 lw t9, -0x7edc(gp)            |     t9 = sym.imp.sigemptyset;
    0x00002d3c lw a0, 0x30(sp)               |     a0 = *(arg_30h);
    0x00002d40 addiu v0, zero, 1             |     v0 = 1;
    0x00002d44 sw v0, 0x188(sp)              |     *(arg_188h) = v0;
    0x00002d48 jalr t9                       |     t9 ();
    0x00002d4c lw gp, 0x18(sp)               |     gp = *(arg_18h);
    0x00002d50 lw a1, 0x24(sp)               |     a1 = *(arg_24h);
    0x00002d54 addiu a2, s4, 0x43f8          |     a2 = s4 + 0x43f8;
    0x00002d58 lw t9, -0x7f28(gp)            |     t9 = sym.imp.sigaction;
    0x00002d5c addiu a0, zero, 1             |     a0 = 1;
    0x00002d60 sw zero, 0x184(sp)            |     *(arg_184h) = 0;
    0x00002d64 jalr t9                       |     t9 ();
    0x00002d68 lw gp, 0x18(sp)               |     gp = *(arg_18h);
                                             |     if (s5 > 0) {
    0x00002d6c blez s5, 0x2d88               |         
    0x00002d70 lw t9, -0x7e0c(gp)            |         t9 = sym.imp.ioctl;
    0x00002d74 addiu a2, zero, 1             |         a2 = 1;
    0x00002d78 addiu a1, zero, 0x5471        |         a1 = 0x5471;
    0x00002d7c move a0, zero                 |         a0 = 0;
    0x00002d80 jalr t9                       |         t9 ();
    0x00002d84 lw gp, 0x18(sp)               |         gp = *(arg_18h);
                                             |     }
    0x00002d88 lw t9, -0x7f28(gp)            |     t9 = sym.imp.sigaction;
    0x00002d8c move a2, zero                 |     a2 = 0;
    0x00002d90 addiu a1, s4, 0x43f8          |     a1 = s4 + 0x43f8;
    0x00002d94 addiu a0, zero, 1             |     a0 = 1;
    0x00002d98 jalr t9                       |     t9 ();
    0x00002d9c lw gp, 0x18(sp)               |     gp = *(arg_18h);
                                             |     if (s0 > 0) {
    0x00002da0 bgtz s0, 0x32c0               |         goto label_114;
                                             |     }
                                             | label_39:
    0x00002da4 lw t9, -0x7e0c(gp)            |     t9 = sym.imp.ioctl;
    0x00002da8 addiu a2, zero, 1             |     a2 = 1;
    0x00002dac addiu a1, zero, 0x5480        |     a1 = 0x5480;
    0x00002db0 move a0, s0                   |     a0 = s0;
    0x00002db4 jalr t9                       |     t9 ();
    0x00002db8 lw gp, 0x18(sp)               |     gp = *(arg_18h);
    0x00002dbc move a1, s2                   |     a1 = s2;
    0x00002dc0 lw t9, -0x7dd0(gp)            |     t9 = sym.imp.tcsetpgrp;
    0x00002dc4 move a0, s0                   |     a0 = s0;
    0x00002dc8 jalr t9                       |     t9 ();
    0x00002dcc lw gp, 0x18(sp)               |     gp = *(arg_18h);
    0x00002dd0 b 0x1ffc                      |     goto label_21;
                                             | label_96:
    0x00002dd4 lw a0, -0x7fd4(gp)            |     a0 = *((gp - 8181));
    0x00002dd8 lw t9, -0x7e2c(gp)            |     t9 = sym.imp.getenv;
    0x00002ddc addiu a0, a0, -0x4798         |     a0 += -0x4798;
    0x00002de0 jalr t9                       |     t9 ();
    0x00002de4 move s1, v0                   |     s1 = v0;
    0x00002de8 lw gp, 0x18(sp)               |     gp = *(arg_18h);
                                             |     if (v0 != 0) {
    0x00002dec bnez v0, 0x25e8               |         goto label_22;
                                             |     }
    0x00002df0 lw v0, 0x28(sp)               |     v0 = *(arg_28h);
    0x00002df4 lw s1, 0x18(v0)               |     s1 = *((v0 + 6));
    0x00002df8 lb v0, (s1)                   |     v0 = *(s1);
    0x00002dfc lw s2, -0x7fd4(gp)            |     s2 = *((gp - 8181));
                                             |     if (v0 != 0) {
    0x00002e00 bnez v0, 0x25ec               |         goto label_23;
                                             |     }
    0x00002e04 addiu s1, s2, -0x4bf0         |     s1 = s2 + -0x4bf0;
    0x00002e08 b 0x25ec                      |     goto label_23;
                                             | label_104:
    0x00002e0c lw t9, -0x7d80(gp)            |     t9 = sym.imp.dup2;
    0x00002e10 move a1, zero                 |     a1 = 0;
    0x00002e14 addiu a0, zero, 1             |     a0 = 1;
    0x00002e18 jalr t9                       |     t9 ();
    0x00002e1c lw gp, 0x18(sp)               |     gp = *(arg_18h);
    0x00002e20 b 0x2a24                      |     goto label_24;
                                             | label_112:
    0x00002e24 lw v0, 0x48(sp)               |     v0 = *(arg_48h);
    0x00002e28 lw a0, -0x7fd4(gp)            |     a0 = *((gp - 8181));
    0x00002e2c lw t9, -0x7e98(gp)            |     t9 = sym.imp.warnx;
    0x00002e30 addiu a1, v0, -0x4974         |     a1 = v0 + -0x4974;
    0x00002e34 addiu a0, a0, -0x4950         |     a0 += -0x4950;
    0x00002e38 jalr t9                       |     t9 ();
    0x00002e3c lw v0, 4(s0)                  |     v0 = *((s0 + 1));
    0x00002e40 lw gp, 0x18(sp)               |     gp = *(arg_18h);
    0x00002e44 sw s0, 0x28(sp)               |     *(arg_28h) = s0;
    0x00002e48 sb zero, (v0)                 |     *(v0) = 0;
    0x00002e4c b 0x1e40                      |     goto label_20;
                                             | label_84:
    0x00002f90 lw a2, -0x7fd4(gp)            |     a2 = *((gp - 8181));
    0x00002f94 lw t9, -0x7f24(gp)            |     t9 = sym.imp.__fprintf_chk
    0x00002f98 lw a3, 8(fp)                  |     a3 = *(arg_8h);
    0x00002f9c lw a0, (v0)                   |     a0 = *(v0);
    0x00002fa0 addiu a2, a2, -0x4834         |     a2 += -0x4834;
    0x00002fa4 addiu a1, zero, 1             |     a1 = 1;
    0x00002fa8 jalr t9                       |     t9 ();
    0x00002fac lw gp, 0x18(sp)               |     gp = *(arg_18h);
    0x00002fb0 b 0x2540                      |     goto label_25;
                                             | label_94:
    0x00002fb4 addiu t9, t9, 0x439c          |     t9 += fcn.0000439c;
    0x00002fb8 move a0, fp                   |     a0 = fp;
    0x00002fbc bal 0x439c                    |     fcn_0000439c ();
    0x00002fc0 lw gp, 0x18(sp)               |     gp = *(arg_18h);
    0x00002fc4 lw a0, -0x7fd4(gp)            |     a0 = *((gp - 8181));
    0x00002fc8 lw t9, -0x7e98(gp)            |     t9 = sym.imp.warnx;
    0x00002fcc addiu a0, a0, -0x471c         |     a0 += -0x471c;
    0x00002fd0 jalr t9                       |     t9 ();
    0x00002fd4 lw gp, 0x18(sp)               |     gp = *(arg_18h);
    0x00002fd8 b 0x25a8                      |     goto label_26;
                                             | label_95:
    0x00002fdc lw v0, 0x28(sp)               |     v0 = *(arg_28h);
    0x00002fe0 lw a0, -0x7fd4(gp)            |     a0 = *((gp - 8181));
    0x00002fe4 lw t9, -0x7ee0(gp)            |     t9 = sym.imp.warn;
    0x00002fe8 lw a1, 0x14(v0)               |     a1 = *((v0 + 5));
    0x00002fec addiu a0, a0, -0x4800         |     a0 += -0x4800;
    0x00002ff0 jalr t9                       |     t9 ();
    0x00002ff4 lw gp, 0x18(sp)               |     gp = *(arg_18h);
    0x00002ff8 lw a0, -0x7fd4(gp)            |     a0 = *((gp - 8181));
    0x00002ffc lw t9, -0x7e38(gp)            |     t9 = sym.strnappend;
    0x00003000 addiu a0, a0, -0x47e4         |     a0 += -0x47e4;
    0x00003004 jalr t9                       |     t9 ();
    0x00003008 lw gp, 0x18(sp)               |     gp = *(arg_18h);
    0x0000300c lw a0, -0x7fd4(gp)            |     a0 = *((gp - 8181));
    0x00003010 lw t9, -0x7de8(gp)            |     t9 = sym.imp.chdir;
    0x00003014 addiu a0, a0, -0x49b8         |     a0 += -0x49b8;
    0x00003018 jalr t9                       |     t9 ();
    0x0000301c lw gp, 0x18(sp)               |     gp = *(arg_18h);
                                             |     if (v0 == 0) {
    0x00003020 beqz v0, 0x25cc               |         goto label_27;
                                             |     }
    0x00003024 lw a0, -0x7fd4(gp)            |     a0 = *((gp - 8181));
    0x00003028 lw t9, -0x7ee0(gp)            |     t9 = sym.imp.warn;
    0x0000302c addiu a0, a0, -0x47c8         |     a0 += -0x47c8;
    0x00003030 jalr t9                       |     t9 ();
    0x00003034 lw gp, 0x18(sp)               |     gp = *(arg_18h);
    0x00003038 b 0x25cc                      |     goto label_27;
                                             | label_100:
    0x0000303c lw a1, -0x7fd4(gp)            |     a1 = *((gp - 8181));
    0x00003040 lw a0, -0x7fd4(gp)            |     a0 = *((gp - 8181));
    0x00003044 addiu a1, a1, -0x4778         |     a1 += -0x4778;
    0x00003048 move t9, s0                   |     t9 = s0;
    0x0000304c addiu a0, a0, -0x4774         |     a0 += -0x4774;
    0x00003050 bal 0x418c                    |     fcn_0000418c ();
    0x00003054 lw gp, 0x18(sp)               |     gp = *(arg_18h);
    0x00003058 b 0x26c0                      |     goto label_28;
                                             | label_92:
    0x0000305c lw t9, -0x7f18(gp)            |     t9 = sym.imp.nanosleep;
    0x00003060 move a1, zero                 |     a1 = 0;
    0x00003064 move a0, s6                   |     a0 = s6;
    0x00003068 sw zero, 0x7c(sp)             |     *(arg_7ch) = 0;
    0x0000306c sw v0, 0x80(sp)               |     *(arg_80h) = v0;
    0x00003070 jalr t9                       |     t9 ();
    0x00003074 lw gp, 0x18(sp)               |     gp = *(arg_18h);
    0x00003078 b 0x2408                      |     goto label_7;
                                             | label_79:
    0x0000307c addiu a0, zero, 1             |     a0 = 1;
    0x00003080 addiu v0, zero, 1             |     v0 = 1;
                                             |     do {
    0x00003084 and a1, a2, v0                |         a1 = a2 & v0;
    0x00003088 addiu a0, a0, 1               |         a0++;
                                             |         if (a1 != 0) {
    0x0000308c bnel a1, zero, 0x3090         |             
                                             |         }
    0x00003090 addiu v1, v1, -1              |         v1 += -1;
    0x00003094 sll v0, v0, 1                 |         v0 <<= 1;
    0x00003098 bnez v1, 0x3084               |         
                                             |     } while (v1 != 0);
    0x0000309c andi v0, a0, 1                |     v0 = a0 & 1;
    0x000030a0 lw v1, 0x2c(fp)               |     v1 = *(arg_2ch);
    0x000030a4 sltiu v0, v0, 1               |     v0 = (v0 < 1) ? 1 : 0;
    0x000030a8 addiu v0, v0, 1               |     v0++;
    0x000030ac or v0, v1, v0                 |     v0 = v1 | v0;
    0x000030b0 sw v0, 0x2c(fp)               |     *(arg_2ch) = v0;
    0x000030b4 move v0, a2                   |     v0 = a2;
    0x000030b8 b 0x23bc                      |     goto label_29;
                                             | label_53:
    0x000030bc lw v0, 0x40(sp)               |     v0 = *(arg_40h);
    0x000030c0 lw t9, -0x7db8(gp)            |     t9 = sym.imp.getspnam;
    0x000030c4 addiu a0, v0, -0x49cc         |     a0 = v0 + -sym.emergency_do_mounts;
    0x000030c8 jalr t9                       |     t9 ();
    0x000030cc lw gp, 0x18(sp)               |     gp = *(arg_18h);
                                             |     if (v0 == 0) {
    0x000030d0 beqz v0, 0x1e40               |         goto label_20;
                                             |     }
    0x000030d4 lw v1, 0x28(sp)               |     v1 = *(arg_28h);
    0x000030d8 lw v0, 4(v0)                  |     v0 = *((v0 + 1));
    0x000030dc sw v0, 4(v1)                  |     *((v1 + 1)) = v0;
    0x000030e0 b 0x1e40                      |     goto label_20;
                                             | label_97:
    0x000030e4 move v0, s1                   |     v0 = s1;
    0x000030e8 b 0x2608                      |     goto label_30;
                                             | label_68:
    0x000030ec addiu a1, zero, 0xf           |     a1 = 0xf;
    0x000030f0 jalr t9                       |     t9 ();
    0x000030f4 addiu s0, s0, 1               |     s0++;
    0x000030f8 lw gp, 0x18(sp)               |     gp = *(arg_18h);
    0x000030fc lw s1, (s1)                   |     s1 = *(s1);
    0x00003100 b 0x212c                      |     goto label_4;
                                             | label_90:
    0x00003104 lw a0, -0x7fd4(gp)            |     a0 = *((gp - 8181));
    0x00003108 lw t9, -0x7ee0(gp)            |     t9 = sym.imp.warn;
    0x0000310c addiu a0, a0, -0x4810         |     a0 += -aav.0x00004810;
    0x00003110 jalr t9                       |     t9 ();
    0x00003114 lw gp, 0x18(sp)               |     gp = *(arg_18h);
    0x00003118 b 0x24e0                      |     goto label_31;
                                             | label_83:
    0x0000311c sb zero, (v0)                 |     *(v0) = 0;
    0x00003120 b 0x2414                      |     goto label_32;
                                             | label_86:
    0x00003124 sw v0, 0x24(fp)               |     *(arg_24h) = v0;
    0x00003128 move a0, zero                 |     a0 = 0;
    0x0000312c lw v0, 0x435c(s3)             |     v0 = *((s3 + 4311));
    0x00003130 b 0x3138                      |     
                                             |     while (v1 == 0) {
    0x00003134 addiu a0, zero, 1             |         a0 = 1;
    0x00003138 sltu v1, s7, v0               |         v1 = (s7 < v0) ? 1 : 0;
    0x0000313c addiu v0, v0, -1              |         v0 += -1;
    0x00003140 bnel v1, zero, 0x3134         |         
                                             |     }
    0x00003144 sw v0, 0x435c(s3)             |     *((s3 + 4311)) = v0;
                                             |     if (a0 == 0) {
    0x00003148 bnel a0, zero, 0x2408         |         goto label_7;
                                             |     }
    0x0000314c lw v0, 0x28(fp)               |     v0 = *(arg_28h);
    0x00003150 b 0x240c                      |     goto label_33;
                                             | label_87:
    0x00003154 lw v1, 0x435c(s3)             |     v1 = *((s3 + 4311));
                                             | label_82:
    0x00003158 sw v0, 0x20(fp)               |     *(arg_20h) = v0;
    0x0000315c sltu v0, s7, v1               |     v0 = (s7 < v1) ? 1 : 0;
                                             |     if (v0 == 0) {
    0x00003160 beql v0, zero, 0x240c         |         goto label_33;
                                             |     }
    0x00003164 lw v0, 0x28(fp)               |     v0 = *(arg_28h);
    0x00003168 addiu v1, v1, -1              |     v1 += -1;
    0x0000316c sw v1, 0x435c(s3)             |     *((s3 + 4311)) = v1;
    0x00003170 b 0x2408                      |     goto label_7;
                                             | label_99:
    0x00003174 addiu v0, zero, 0x2f          |     v0 = 0x2f;
    0x00003178 sh v0, 0x1214(sp)             |     *(arg_1214h) = v0;
    0x0000317c b 0x2664                      |     goto label_34;
                                             | label_67:
    0x00003180 addiu s1, sp, 0x104           |     s1 = sp + 0x104;
    0x00003184 move a0, s1                   |     a0 = s1;
    0x00003188 jalr t9                       |     t9 ();
    0x0000318c lw gp, 0x18(sp)               |     gp = *(arg_18h);
    0x00003190 addiu a1, zero, 0x12          |     a1 = 0x12;
    0x00003194 move a0, s1                   |     a0 = s1;
    0x00003198 lw t9, -0x7e94(gp)            |     t9 = sym.imp.sigaddset;
    0x0000319c addiu s6, sp, 0x74            |     s6 = sp + 0x74;
    0x000031a0 jalr t9                       |     t9 ();
    0x000031a4 lw gp, 0x18(sp)               |     gp = *(arg_18h);
    0x000031a8 addiu s4, zero, 0xb           |     s4 = 0xb;
    0x000031ac addiu s5, zero, -1            |     s5 = -1;
    0x000031b0 addiu s2, zero, 0xa           |     s2 = 0xa;
                                             |     do {
                                             | label_35:
    0x000031b4 lw t9, -0x7e50(gp)            |         t9 = sym.imp.waitid;
                                             |         if (s0 == 0) {
    0x000031b8 beqz s0, 0x3220               |             goto label_115;
                                             |         }
    0x000031bc lw a2, 0x2c(sp)               |         a2 = *(arg_2ch);
    0x000031c0 addiu a3, zero, 5             |         a3 = 5;
    0x000031c4 move a1, zero                 |         a1 = 0;
    0x000031c8 move a0, zero                 |         a0 = 0;
    0x000031cc sw zero, 0x90(sp)             |         *(arg_90h) = 0;
    0x000031d0 jalr t9                       |         t9 ();
    0x000031d4 lw gp, 0x18(sp)               |         gp = *(arg_18h);
                                             |         if (v0 < 0) {
    0x000031d8 bltz v0, 0x3258               |             goto label_116;
                                             |         }
    0x000031dc lw a0, 0x90(sp)               |         a0 = *(arg_90h);
                                             |         if (v0 == 0) {
    0x000031e0 bnez v0, 0x31ec               |             
    0x000031e4 lw v0, 0x6c(sp)               |             v0 = *(arg_6ch);
                                             |             if (a0 > 0) {
    0x000031e8 bgtz a0, 0x3284               |                 goto label_38;
                                             |             }
                                             |         }
    0x000031ec lw t9, -0x7ea8(gp)            |         t9 = sym.imp.sigtimedwait;
                                             | label_37:
    0x000031f0 move a2, s6                   |         a2 = s6;
    0x000031f4 move a1, zero                 |         a1 = 0;
    0x000031f8 move a0, s1                   |         a0 = s1;
    0x000031fc jalr t9                       |         t9 ();
    0x00003200 lw gp, 0x18(sp)               |         gp = *(arg_18h);
    0x00003204 bgez v0, 0x31b4               |         
                                             |     } while (v0 >= 0);
    0x00003208 lw t9, -0x7eac(gp)            |     t9 = sym.imp.__errno_location;
    0x0000320c jalr t9                       |     t9 ();
    0x00003210 nop                           |     
    0x00003214 lw v0, (v0)                   |     v0 = *(v0);
    0x00003218 lw gp, 0x18(sp)               |     gp = *(arg_18h);
                                             |     if (v0 != s4) {
    0x0000321c bne v0, s4, 0x31b4            |         goto label_35;
                                             |     }
                                             |     do {
                                             | label_115:
    0x00003220 lw t9, -0x7edc(gp)            |         t9 = sym.imp.sigemptyset;
    0x00003224 lw a0, 0x30(sp)               |         a0 = *(arg_30h);
    0x00003228 sw zero, 0x188(sp)            |         *(arg_188h) = 0;
    0x0000322c jalr t9                       |         t9 ();
    0x00003230 lw gp, 0x18(sp)               |         gp = *(arg_18h);
    0x00003234 lw a1, 0x24(sp)               |         a1 = *(arg_24h);
    0x00003238 move a2, zero                 |         a2 = 0;
    0x0000323c lw t9, -0x7f28(gp)            |         t9 = sym.imp.sigaction;
    0x00003240 addiu a0, zero, 0x12          |         a0 = 0x12;
    0x00003244 sw zero, 0x184(sp)            |         *(arg_184h) = 0;
    0x00003248 jalr t9                       |         t9 ();
    0x0000324c lw gp, 0x18(sp)               |         gp = *(arg_18h);
    0x00003250 move v0, zero                 |         v0 = 0;
    0x00003254 b 0x299c                      |         goto label_36;
                                             | label_116:
    0x00003258 lw t9, -0x7eac(gp)            |         t9 = sym.imp.__errno_location;
    0x0000325c jalr t9                       |         t9 ();
    0x00003260 nop                           |         
    0x00003264 lw v0, (v0)                   |         v0 = *(v0);
    0x00003268 lw gp, 0x18(sp)               |         gp = *(arg_18h);
    0x0000326c beq v0, s2, 0x3220            |         
                                             |     } while (v0 == s2);
    0x00003270 addiu v1, zero, 4             |     v1 = 4;
    0x00003274 lw t9, -0x7ea8(gp)            |     t9 = sym.imp.sigtimedwait;
                                             |     if (v0 != v1) {
    0x00003278 bne v0, v1, 0x31f0            |         goto label_37;
                                             |     }
    0x0000327c b 0x31b4                      |     goto label_35;
    0x00003280 nop                           |     
                                             |     if (v0 == s3) {
                                             | label_38:
    0x00003284 beq v0, s3, 0x31b4            |         goto label_35;
                                             |     }
    0x00003288 nop                           |     
    0x0000328c lw v1, 0x14(v0)               |     v1 = *((v0 + 5));
                                             |     if (v1 < 0) {
    0x00003290 bltzl v1, 0x3284              |         goto label_38;
                                             |     }
    0x00003294 lw v0, (v0)                   |     v0 = *(v0);
    0x00003298 lw v1, 0x1c(v0)               |     v1 = *((v0 + 7));
                                             |     if (v1 < 0) {
    0x0000329c bltzl v1, 0x3284              |         goto label_38;
                                             |     }
    0x000032a0 lw v0, (v0)                   |     v0 = *(v0);
                                             |     if (a0 != v1) {
    0x000032a4 beql a0, v1, 0x32b4           |         
    0x000032a8 sw s5, 0x1c(v0)               |         *((v0 + 7)) = s5;
    0x000032ac lw v0, (v0)                   |         v0 = *(v0);
    0x000032b0 b 0x3284                      |         goto label_38;
                                             |     }
    0x000032b4 addiu s0, s0, -1              |     s0 += -1;
    0x000032b8 lw v0, (v0)                   |     v0 = *(v0);
    0x000032bc b 0x3284                      |     goto label_38;
                                             | label_114:
    0x000032c0 lw t9, -0x7f48(gp)            |     t9 = sym.imp.close;
    0x000032c4 move a0, zero                 |     a0 = 0;
    0x000032c8 jalr t9                       |     t9 ();
    0x000032cc addiu v0, zero, 1             |     v0 = 1;
    0x000032d0 lw gp, 0x18(sp)               |     gp = *(arg_18h);
                                             |     if (s0 == v0) {
    0x000032d4 beq s0, v0, 0x2da4            |         goto label_39;
                                             |     }
    0x000032d8 lw t9, -0x7f48(gp)            |     t9 = sym.imp.close;
    0x000032dc addiu a0, zero, 1             |     a0 = 1;
    0x000032e0 jalr t9                       |     t9 ();
    0x000032e4 addiu v0, zero, 2             |     v0 = 2;
    0x000032e8 lw gp, 0x18(sp)               |     gp = *(arg_18h);
                                             |     if (s0 == v0) {
    0x000032ec beq s0, v0, 0x2da4            |         goto label_39;
                                             |     }
    0x000032f0 lw t9, -0x7f48(gp)            |     t9 = sym.imp.close;
    0x000032f4 addiu a0, zero, 2             |     a0 = 2;
    0x000032f8 jalr t9                       |     t9 ();
    0x000032fc lw gp, 0x18(sp)               |     gp = *(arg_18h);
    0x00003300 b 0x2da4                      |     goto label_39;
                                             | label_54:
    0x00003304 move fp, s3                   |     fp = s3;
    0x00003308 b 0x1f84                      |     goto label_40;
                                             | label_93:
    0x0000330c lw t9, -0x7fcc(gp)            |     t9 = *((gp - 8179));
    0x00003310 addiu t9, t9, 0x439c          |     t9 += fcn.0000439c;
    0x00003314 move a0, fp                   |     a0 = fp;
    0x00003318 bal 0x439c                    |     fcn_0000439c ();
    0x0000331c lw gp, 0x18(sp)               |     gp = *(arg_18h);
    0x00003320 lw a0, -0x7fd4(gp)            |     a0 = *((gp - 8181));
    0x00003324 lw t9, -0x7e38(gp)            |     t9 = sym.strnappend;
    0x00003328 addiu a0, a0, -0x4814         |     a0 += -0x4814;
    0x0000332c jalr t9                       |     t9 ();
    0x00003330 lw gp, 0x18(sp)               |     gp = *(arg_18h);
    0x00003334 b 0x2598                      |     goto label_41;
                                             | label_107:
    0x00003338 lw a0, -0x7fd4(gp)            |     a0 = *((gp - 8181));
    0x0000333c lw v0, 0x44(sp)               |     v0 = *(arg_44h);
    0x00003340 lw t9, -0x7e98(gp)            |     t9 = sym.imp.warnx;
    0x00003344 addiu a1, v0, -0x49b0         |     a1 = v0 + -0x49b0;
    0x00003348 addiu a0, a0, -0x498c         |     a0 += -0x498c;
    0x0000334c jalr t9                       |     t9 ();
    0x00003350 lw gp, 0x18(sp)               |     gp = *(arg_18h);
    0x00003354 sw s0, 0x28(sp)               |     *(arg_28h) = s0;
    0x00003358 b 0x1e40                      |     goto label_20;
                                             | label_105:
    0x0000335c lw a0, -0x7fd4(gp)            |     a0 = *((gp - 8181));
    0x00003360 lw v0, 0x44(sp)               |     v0 = *(arg_44h);
    0x00003364 lw t9, -0x7ee0(gp)            |     t9 = sym.imp.warn;
    0x00003368 addiu a1, v0, -0x49b0         |     a1 = v0 + -0x49b0;
    0x0000336c addiu a0, a0, -0x49a4         |     a0 += -0x49a4;
    0x00003370 jalr t9                       |     t9 ();
    0x00003374 lw gp, 0x18(sp)               |     gp = *(arg_18h);
    0x00003378 sw s0, 0x28(sp)               |     *(arg_28h) = s0;
    0x0000337c b 0x1e40                      |     goto label_20;
                                             | label_113:
    0x00003380 lw t9, -0x7f0c(gp)            |     t9 = sym.imp.getppid;
    0x00003384 jalr t9                       |     t9 ();
    0x00003388 nop                           |     
    0x0000338c lw gp, 0x18(sp)               |     gp = *(arg_18h);
    0x00003390 lw t9, -0x7ec8(gp)            |     t9 = sym.imp.getpgid;
    0x00003394 move a0, v0                   |     a0 = v0;
    0x00003398 jalr t9                       |     t9 ();
    0x0000339c lw gp, 0x18(sp)               |     gp = *(arg_18h);
    0x000033a0 move a1, v0                   |     a1 = v0;
    0x000033a4 lw t9, -0x7efc(gp)            |     t9 = sym.imp.setpgid;
    0x000033a8 move a0, zero                 |     a0 = 0;
    0x000033ac jalr t9                       |     t9 ();
    0x000033b0 lw gp, 0x18(sp)               |     gp = *(arg_18h);
    0x000033b4 b 0x2d28                      |     goto label_42;
                                             | label_110:
    0x000033b8 lw v0, 0x48(sp)               |     v0 = *(arg_48h);
    0x000033bc lw a0, -0x7fd4(gp)            |     a0 = *((gp - 8181));
    0x000033c0 lw t9, -0x7e98(gp)            |     t9 = sym.imp.warnx;
    0x000033c4 addiu a1, v0, -0x4974         |     a1 = v0 + -0x4974;
    0x000033c8 addiu a0, a0, -0x4968         |     a0 += -0x4968;
    0x000033cc jalr t9                       |     t9 ();
    0x000033d0 lw v0, 4(s0)                  |     v0 = *((s0 + 1));
    0x000033d4 lw gp, 0x18(sp)               |     gp = *(arg_18h);
    0x000033d8 sb zero, (v0)                 |     *(v0) = 0;
    0x000033dc b 0x2cc4                      |     goto label_43;
                                             | label_91:
    0x000033e0 addiu v1, zero, 1             |     v1 = 1;
                                             |     if (v1 == 0) {
    0x000033e4 beqz v1, 0x3400               |         goto label_117;
                                             |     }
    0x000033e8 sllv v0, v1, v0               |     v0 = v1 << v0;
    0x000033ec lui v1, 0x40                  |     v1 = 0x40002d;
    0x000033f0 addiu v1, v1, 0x2d            |     
    0x000033f4 and v0, v0, v1                |     v0 &= v1;
    0x000033f8 lw t9, -0x7df0(gp)            |     t9 = sym.imp.alarm;
                                             |     if (v0 != 0) {
    0x000033fc bnez v0, 0x2544               |         goto label_44;
                                             |     }
                                             | label_117:
    0x00003400 lw a0, -0x7fd4(gp)            |     a0 = *((gp - 8181));
    0x00003404 lw t9, -0x7ee0(gp)            |     t9 = sym.imp.warn;
    0x00003408 lw a1, 8(fp)                  |     a1 = *(arg_8h);
    0x0000340c addiu a0, a0, -0x4844         |     a0 += -0x4844;
    0x00003410 jalr t9                       |     t9 ();
    0x00003414 lw gp, 0x18(sp)               |     gp = *(arg_18h);
    0x00003418 b 0x2540                      |     goto label_25;
                                             | label_64:
    0x0000341c lw a1, -0x7fd4(gp)            |     a1 = *((gp - 8181));
                                             | label_66:
    0x00003420 lw t9, -0x7ee4(gp)            |     t9 = sym.imp.errx;
    0x00003424 addiu a1, a1, -0x4704         |     a1 += -0x4704;
    0x00003428 addiu a0, zero, 1             |     a0 = 1;
    0x0000342c jalr t9                       |     t9 ();
                                             | label_103:
    0x00003430 lw t9, -0x7df4(gp)            |     t9 = sym.imp.__stack_chk_fail;
    0x00003434 jalr t9                       |     t9 ();
    0x00003438 nop                           |     
                                             | label_51:
    0x0000343c lw t9, -0x7eac(gp)            |     t9 = sym.imp.__errno_location;
    0x00003440 jalr t9                       |     t9 ();
    0x00003444 nop                           |     
    0x00003448 lw v1, (v0)                   |     v1 = *(v0);
    0x0000344c lw gp, 0x18(sp)               |     gp = *(arg_18h);
                                             |     if (v1 == 0) {
    0x00003450 bnez v1, 0x345c               |         
    0x00003454 addiu v1, zero, 2             |         v1 = 2;
    0x00003458 sw v1, (v0)                   |         *(v0) = v1;
                                             |     }
    0x0000345c lw a1, -0x7fd4(gp)            |     a1 = *((gp - 8181));
    0x00003460 lw t9, -0x7e00(gp)            |     t9 = sym.imp.err;
    0x00003464 addiu a1, a1, -0x49e0         |     a1 += -0x49e0;
    0x00003468 addiu a0, zero, 1             |     a0 = 1;
    0x0000346c jalr t9                       |     t9 ();
                                             | label_48:
    0x00003470 lw a1, -0x7fd4(gp)            |     a1 = *((gp - 8181));
    0x00003474 lw t9, -0x7ee4(gp)            |     t9 = sym.imp.errx;
    0x00003478 addiu a1, a1, -0x4a0c         |     a1 += -0x4a0c;
    0x0000347c addiu a0, zero, 1             |     a0 = 1;
    0x00003480 jalr t9                       |     t9 ();
                                             | label_88:
    0x00003484 addiu a0, zero, 1             |     a0 = 1;
    0x00003488 jalr t9                       |     t9 ();
                                             | label_85:
    0x0000348c move s3, s7                   |     s3 = s7;
    0x00003490 b 0x255c                      |     goto label_45;
                                             | }

[*] Function printf used 3 times sulogin.util-linux