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

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


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

    ; assembly                               | /* r2dec pseudo code output */
                                             | /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/sbin/fsck.util-linux @ 0x2a00 */
                                             | #include <stdint.h>
                                             |  
    ; (fcn) fcn.00002a00 ()                  | void fcn_00002a00 () {
    0x00002a00 lui gp, 2                     |     
    0x00002a04 addiu gp, gp, 0x2630          |     
    0x00002a08 addu gp, gp, t9               |     gp += t9;
    0x00002a0c lw v0, -0x7ebc(gp)            |     v0 = *((gp - 8111));
    0x00002a10 addiu sp, sp, -0x20           |     
    0x00002a14 lw a0, -0x7fd8(gp)            |     a0 = *((gp - 8182));
    0x00002a18 sw s0, 0x18(sp)               |     *(var_18h_4) = s0;
    0x00002a1c lw s0, (v0)                   |     s0 = *(v0);
    0x00002a20 lw t9, -0x7e0c(gp)            |     t9 = sym.imp.fwrite;
    0x00002a24 sw ra, 0x1c(sp)               |     *(var_1ch_2) = ra;
    0x00002a28 sw gp, 0x10(sp)               |     *(var_10h_4) = gp;
    0x00002a2c addiu a2, zero, 8             |     a2 = 8;
    0x00002a30 move a3, s0                   |     a3 = s0;
    0x00002a34 addiu a1, zero, 1             |     a1 = 1;
    0x00002a38 addiu a0, a0, -0x44c4         |     a0 += -0x44c4;
    0x00002a3c jalr t9                       |     t9 ();
    0x00002a40 lw gp, 0x10(sp)               |     gp = *(var_10h_4);
    0x00002a44 addiu a1, zero, 1             |     a1 = 1;
    0x00002a48 move a0, s0                   |     a0 = s0;
    0x00002a4c lw v0, -0x7f10(gp)            |     v0 = *((gp - 8132));
    0x00002a50 lw a2, -0x7fd8(gp)            |     a2 = *((gp - 8182));
    0x00002a54 lw t9, -0x7f18(gp)            |     t9 = sym.imp.__fprintf_chk
    0x00002a58 lw a3, (v0)                   |     a3 = *(v0);
    0x00002a5c addiu a2, a2, -0x44b8         |     a2 += -0x44b8;
    0x00002a60 jalr t9                       |     t9 ();
    0x00002a64 lw gp, 0x10(sp)               |     gp = *(var_10h_4);
    0x00002a68 move a1, s0                   |     a1 = s0;
    0x00002a6c lw t9, -0x7eec(gp)            |     t9 = sym.imp.fputc;
    0x00002a70 addiu a0, zero, 0xa           |     a0 = 0xa;
    0x00002a74 jalr t9                       |     t9 ();
    0x00002a78 lw gp, 0x10(sp)               |     gp = *(var_10h_4);
    0x00002a7c move a3, s0                   |     a3 = s0;
    0x00002a80 addiu a2, zero, 0x25          |     a2 = 0x25;
    0x00002a84 lw a0, -0x7fd8(gp)            |     a0 = *((gp - 8182));
    0x00002a88 lw t9, -0x7e0c(gp)            |     t9 = sym.imp.fwrite;
    0x00002a8c addiu a1, zero, 1             |     a1 = 1;
    0x00002a90 addiu a0, a0, -0x4484         |     a0 += -0x4484;
    0x00002a94 jalr t9                       |     t9 ();
    0x00002a98 lw gp, 0x10(sp)               |     gp = *(var_10h_4);
    0x00002a9c move a3, s0                   |     a3 = s0;
    0x00002aa0 addiu a2, zero, 0xa           |     a2 = 0xa;
    0x00002aa4 lw a0, -0x7fd8(gp)            |     a0 = *((gp - 8182));
    0x00002aa8 lw t9, -0x7e0c(gp)            |     t9 = sym.imp.fwrite;
    0x00002aac addiu a1, zero, 1             |     a1 = 1;
    0x00002ab0 addiu a0, a0, -0x445c         |     a0 += -0x445c;
    0x00002ab4 jalr t9                       |     t9 ();
    0x00002ab8 lw gp, 0x10(sp)               |     gp = *(var_10h_4);
    0x00002abc move a3, s0                   |     a3 = s0;
    0x00002ac0 addiu a2, zero, 0x22          |     a2 = 0x22;
    0x00002ac4 lw a0, -0x7fd8(gp)            |     a0 = *((gp - 8182));
    0x00002ac8 lw t9, -0x7e0c(gp)            |     t9 = sym.imp.fwrite;
    0x00002acc addiu a1, zero, 1             |     a1 = 1;
    0x00002ad0 addiu a0, a0, -0x4450         |     a0 += -0x4450;
    0x00002ad4 jalr t9                       |     t9 ();
    0x00002ad8 lw gp, 0x10(sp)               |     gp = *(var_10h_4);
    0x00002adc move a3, s0                   |     a3 = s0;
    0x00002ae0 addiu a2, zero, 0x3e          |     a2 = 0x3e;
    0x00002ae4 lw a0, -0x7fd8(gp)            |     a0 = *((gp - 8182));
    0x00002ae8 lw t9, -0x7e0c(gp)            |     t9 = sym.imp.fwrite;
    0x00002aec addiu a1, zero, 1             |     a1 = 1;
    0x00002af0 addiu a0, a0, -0x442c         |     a0 += -0x442c;
    0x00002af4 jalr t9                       |     t9 ();
    0x00002af8 lw gp, 0x10(sp)               |     gp = *(var_10h_4);
    0x00002afc move a3, s0                   |     a3 = s0;
    0x00002b00 addiu a2, zero, 0x3a          |     a2 = 0x3a;
    0x00002b04 lw a0, -0x7fd8(gp)            |     a0 = *((gp - 8182));
    0x00002b08 lw t9, -0x7e0c(gp)            |     t9 = sym.imp.fwrite;
    0x00002b0c addiu a1, zero, 1             |     a1 = 1;
    0x00002b10 addiu a0, a0, -0x43ec         |     a0 += -0x43ec;
    0x00002b14 jalr t9                       |     t9 ();
    0x00002b18 lw gp, 0x10(sp)               |     gp = *(var_10h_4);
    0x00002b1c move a3, s0                   |     a3 = s0;
    0x00002b20 addiu a2, zero, 0x2d          |     a2 = 0x2d;
    0x00002b24 lw a0, -0x7fd8(gp)            |     a0 = *((gp - 8182));
    0x00002b28 lw t9, -0x7e0c(gp)            |     t9 = sym.imp.fwrite;
    0x00002b2c addiu a1, zero, 1             |     a1 = 1;
    0x00002b30 addiu a0, a0, -0x43b0         |     a0 += -0x43b0;
    0x00002b34 jalr t9                       |     t9 ();
    0x00002b38 lw gp, 0x10(sp)               |     gp = *(var_10h_4);
    0x00002b3c move a3, s0                   |     a3 = s0;
    0x00002b40 addiu a2, zero, 0x39          |     a2 = 0x39;
    0x00002b44 lw a0, -0x7fd8(gp)            |     a0 = *((gp - 8182));
    0x00002b48 lw t9, -0x7e0c(gp)            |     t9 = sym.imp.fwrite;
    0x00002b4c addiu a1, zero, 1             |     a1 = 1;
    0x00002b50 addiu a0, a0, -0x4380         |     a0 += -0x4380;
    0x00002b54 jalr t9                       |     t9 ();
    0x00002b58 lw gp, 0x10(sp)               |     gp = *(var_10h_4);
    0x00002b5c move a3, s0                   |     a3 = s0;
    0x00002b60 addiu a2, zero, 0x3a          |     a2 = 0x3a;
    0x00002b64 lw a0, -0x7fd8(gp)            |     a0 = *((gp - 8182));
    0x00002b68 lw t9, -0x7e0c(gp)            |     t9 = sym.imp.fwrite;
    0x00002b6c addiu a1, zero, 1             |     a1 = 1;
    0x00002b70 addiu a0, a0, -0x4344         |     a0 += -0x4344;
    0x00002b74 jalr t9                       |     t9 ();
    0x00002b78 lw gp, 0x10(sp)               |     gp = *(var_10h_4);
    0x00002b7c move a3, s0                   |     a3 = s0;
    0x00002b80 addiu a2, zero, 0x38          |     a2 = 0x38;
    0x00002b84 lw a0, -0x7fd8(gp)            |     a0 = *((gp - 8182));
    0x00002b88 lw t9, -0x7e0c(gp)            |     t9 = sym.imp.fwrite;
    0x00002b8c addiu a1, zero, 1             |     a1 = 1;
    0x00002b90 addiu a0, a0, -0x4308         |     a0 += -0x4308;
    0x00002b94 jalr t9                       |     t9 ();
    0x00002b98 lw gp, 0x10(sp)               |     gp = *(var_10h_4);
    0x00002b9c move a3, s0                   |     a3 = s0;
    0x00002ba0 addiu a2, zero, 0x5f          |     a2 = 0x5f;
    0x00002ba4 lw a0, -0x7fd8(gp)            |     a0 = *((gp - 8182));
    0x00002ba8 lw t9, -0x7e0c(gp)            |     t9 = sym.imp.fwrite;
    0x00002bac addiu a1, zero, 1             |     a1 = 1;
    0x00002bb0 addiu a0, a0, -0x42cc         |     a0 += -0x42cc;
    0x00002bb4 jalr t9                       |     t9 ();
    0x00002bb8 lw gp, 0x10(sp)               |     gp = *(var_10h_4);
    0x00002bbc move a3, s0                   |     a3 = s0;
    0x00002bc0 addiu a2, zero, 0x2e          |     a2 = 0x2e;
    0x00002bc4 lw a0, -0x7fd8(gp)            |     a0 = *((gp - 8182));
    0x00002bc8 lw t9, -0x7e0c(gp)            |     t9 = sym.imp.fwrite;
    0x00002bcc addiu a1, zero, 1             |     a1 = 1;
    0x00002bd0 addiu a0, a0, -0x426c         |     a0 += -0x426c;
    0x00002bd4 jalr t9                       |     t9 ();
    0x00002bd8 lw gp, 0x10(sp)               |     gp = *(var_10h_4);
    0x00002bdc move a3, s0                   |     a3 = s0;
    0x00002be0 addiu a2, zero, 0x2d          |     a2 = 0x2d;
    0x00002be4 lw a0, -0x7fd8(gp)            |     a0 = *((gp - 8182));
    0x00002be8 lw t9, -0x7e0c(gp)            |     t9 = sym.imp.fwrite;
    0x00002bec addiu a1, zero, 1             |     a1 = 1;
    0x00002bf0 addiu a0, a0, -0x423c         |     a0 += -0x423c;
    0x00002bf4 jalr t9                       |     t9 ();
    0x00002bf8 lw gp, 0x10(sp)               |     gp = *(var_10h_4);
    0x00002bfc move a3, s0                   |     a3 = s0;
    0x00002c00 addiu a2, zero, 0x6f          |     a2 = 0x6f;
    0x00002c04 lw a0, -0x7fd8(gp)            |     a0 = *((gp - 8182));
    0x00002c08 lw t9, -0x7e0c(gp)            |     t9 = sym.imp.fwrite;
    0x00002c0c addiu a1, zero, 1             |     a1 = 1;
    0x00002c10 addiu a0, a0, -0x420c         |     a0 += -0x420c;
    0x00002c14 jalr t9                       |     t9 ();
    0x00002c18 lw gp, 0x10(sp)               |     gp = *(var_10h_4);
    0x00002c1c move a3, s0                   |     a3 = s0;
    0x00002c20 addiu a2, zero, 0x27          |     a2 = 0x27;
    0x00002c24 lw a0, -0x7fd8(gp)            |     a0 = *((gp - 8182));
    0x00002c28 lw t9, -0x7e0c(gp)            |     t9 = sym.imp.fwrite;
    0x00002c2c addiu a1, zero, 1             |     a1 = 1;
    0x00002c30 addiu a0, a0, -0x419c         |     a0 += -0x419c;
    0x00002c34 jalr t9                       |     t9 ();
    0x00002c38 lw gp, 0x10(sp)               |     gp = *(var_10h_4);
    0x00002c3c move a1, s0                   |     a1 = s0;
    0x00002c40 lw t9, -0x7eec(gp)            |     t9 = sym.imp.fputc;
    0x00002c44 addiu a0, zero, 0xa           |     a0 = 0xa;
    0x00002c48 jalr t9                       |     t9 ();
    0x00002c4c lw gp, 0x10(sp)               |     gp = *(var_10h_4);
    0x00002c50 addiu a0, zero, 1             |     a0 = 1;
    0x00002c54 lw a2, -0x7fd8(gp)            |     a2 = *((gp - 8182));
    0x00002c58 lw a1, -0x7fd8(gp)            |     a1 = *((gp - 8182));
    0x00002c5c lw t9, -0x7ec4(gp)            |     t9 = sym.imp.__printf_chk;
    0x00002c60 addiu a2, a2, -0x4174         |     a2 += -0x4174;
    0x00002c64 addiu a1, a1, -0x4160         |     a1 += -0x4160;
    0x00002c68 jalr t9                       |     t9 ();
    0x00002c6c lw gp, 0x10(sp)               |     gp = *(var_10h_4);
    0x00002c70 addiu a0, zero, 1             |     a0 = 1;
    0x00002c74 lw a2, -0x7fd8(gp)            |     a2 = *((gp - 8182));
    0x00002c78 lw a1, -0x7fd8(gp)            |     a1 = *((gp - 8182));
    0x00002c7c lw t9, -0x7ec4(gp)            |     t9 = sym.imp.__printf_chk;
    0x00002c80 addiu a2, a2, -0x414c         |     a2 += -0x414c;
    0x00002c84 addiu a1, a1, -0x413c         |     a1 += -0x413c;
    0x00002c88 jalr t9                       |     t9 ();
    0x00002c8c lw gp, 0x10(sp)               |     gp = *(var_10h_4);
    0x00002c90 move a1, s0                   |     a1 = s0;
    0x00002c94 lw t9, -0x7eec(gp)            |     t9 = sym.imp.fputc;
    0x00002c98 addiu a0, zero, 0xa           |     a0 = 0xa;
    0x00002c9c jalr t9                       |     t9 ();
    0x00002ca0 lw gp, 0x10(sp)               |     gp = *(var_10h_4);
    0x00002ca4 move a3, s0                   |     a3 = s0;
    0x00002ca8 addiu a2, zero, 0x3a          |     a2 = 0x3a;
    0x00002cac lw a0, -0x7fd8(gp)            |     a0 = *((gp - 8182));
    0x00002cb0 lw t9, -0x7e0c(gp)            |     t9 = sym.imp.fwrite;
    0x00002cb4 addiu a1, zero, 1             |     a1 = 1;
    0x00002cb8 addiu a0, a0, -0x4128         |     a0 += -0x4128;
    0x00002cbc jalr t9                       |     t9 ();
    0x00002cc0 lw gp, 0x10(sp)               |     gp = *(var_10h_4);
    0x00002cc4 addiu a0, zero, 1             |     a0 = 1;
    0x00002cc8 lw a2, -0x7fd8(gp)            |     a2 = *((gp - 8182));
    0x00002ccc lw a1, -0x7fd8(gp)            |     a1 = *((gp - 8182));
    0x00002cd0 lw t9, -0x7ec4(gp)            |     t9 = sym.imp.__printf_chk;
    0x00002cd4 addiu a2, a2, -0x40ec         |     a2 += -0x40ec;
    0x00002cd8 addiu a1, a1, -0x40e4         |     a1 += -0x40e4;
    0x00002cdc jalr t9                       |     t9 ();
    0x00002ce0 lw gp, 0x10(sp)               |     gp = *(var_10h_4);
    0x00002ce4 lw t9, -0x7e44(gp)            |     t9 = sym.imp.exit;
    0x00002ce8 move a0, zero                 |     a0 = 0;
    0x00002cec jalr t9                       |     return t9 ();
                                             | }
    ; assembly                           | /* r2dec pseudo code output */
                                         | /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/sbin/fsck.util-linux @ 0x3a0c */
                                         | #include <stdint.h>
                                         |  
    ; (fcn) fcn.00003a0c ()              | void fcn_00003a0c () {
    0x00003a0c lui gp, 2                 |     
    0x00003a10 addiu gp, gp, 0x1624      |     
    0x00003a14 addu gp, gp, t9           |     gp += t9;
    0x00003a18 addiu sp, sp, -0xc0       |     
    0x00003a1c lw v0, -0x7dcc(gp)        |     v0 = *((gp - 8051));
    0x00003a20 sw s2, 0xa0(sp)           |     *(var_a0h) = s2;
    0x00003a24 lw s2, -0x7fdc(gp)        |     s2 = *((gp - 8183));
    0x00003a28 sw fp, 0xb8(sp)           |     *(var_b8h) = fp;
    0x00003a2c sw v0, 0x38(sp)           |     *(var_38h) = v0;
    0x00003a30 lw fp, -0x2d14(s2)        |     fp = *((s2 - 2885));
    0x00003a34 lw v0, (v0)               |     v0 = *(v0);
    0x00003a38 sw gp, 0x30(sp)           |     *(var_30h_2) = gp;
    0x00003a3c sw ra, 0xbc(sp)           |     *(var_bch) = ra;
    0x00003a40 sw s7, 0xb4(sp)           |     *(var_b4h) = s7;
    0x00003a44 sw s6, 0xb0(sp)           |     *(var_b0h) = s6;
    0x00003a48 sw s5, 0xac(sp)           |     *(var_ach) = s5;
    0x00003a4c sw s4, 0xa8(sp)           |     *(var_a8h) = s4;
    0x00003a50 sw s3, 0xa4(sp)           |     *(var_a4h) = s3;
    0x00003a54 sw s1, 0x9c(sp)           |     *(var_9ch) = s1;
    0x00003a58 sw s0, 0x98(sp)           |     *(var_98h) = s0;
    0x00003a5c sw v0, 0x94(sp)           |     *(var_94h) = v0;
    0x00003a60 sw zero, 0x48(sp)         |     *(var_48h) = 0;
                                         |     if (fp == 0) {
    0x00003a64 beqz fp, 0x3f28           |         goto label_13;
                                         |     }
    0x00003a68 lw v0, -0x7fdc(gp)        |     v0 = *((gp - 8183));
    0x00003a6c sw v0, 0x44(sp)           |     *(var_44h) = v0;
    0x00003a70 lw v0, -0x2cd4(v0)        |     v0 = *((v0 - 2869));
    0x00003a74 lw v0, -0x7fd4(gp)        |     v0 = *((gp - 8181));
                                         |     if (v0 != 0) {
    0x00003a78 bnez v0, 0x3e2c           |         goto label_14;
                                         |     }
    0x00003a7c lw s5, -0x7fd8(gp)        |     s5 = *((gp - 8182));
    0x00003a80 addiu v0, v0, 0x3030      |     v0 += fcn.00003030;
    0x00003a84 lw s1, -0x7fdc(gp)        |     s1 = *((gp - 8183));
    0x00003a88 lw s3, -0x7fdc(gp)        |     s3 = *((gp - 8183));
    0x00003a8c move s0, a0               |     s0 = a0;
    0x00003a90 addiu s7, sp, 0x4c        |     s7 = sp + 0x4c;
    0x00003a94 addiu s6, sp, 0x48        |     s6 = sp + 0x48;
    0x00003a98 sw v0, 0x40(sp)           |     *(var_40h) = v0;
    0x00003a9c addiu s4, zero, 4         |     s4 = 4;
    0x00003aa0 addiu s5, s5, -0x3fe4     |     s5 += -0x3fe4;
                                         | label_3:
    0x00003aa4 lw t9, -0x7e34(gp)        |     t9 = sym.imp.wait4;
                                         |     do {
                                         | label_0:
    0x00003aa8 addiu a0, zero, -1        |         a0 = -1;
    0x00003aac move a3, s7               |         a3 = s7;
    0x00003ab0 move a2, s0               |         a2 = s0;
    0x00003ab4 move a1, s6               |         a1 = s6;
    0x00003ab8 jalr t9                   |         t9 ();
    0x00003abc lw v1, -0x2d08(s1)        |         v1 = *((s1 - 2882));
    0x00003ac0 lw gp, 0x30(sp)           |         gp = *(var_30h_2);
    0x00003ac4 move a0, v0               |         a0 = v0;
                                         |         if (v1 != 0) {
    0x00003ac8 beqz v1, 0x3ad8           |             
    0x00003acc lw v0, -0x2d0c(s3)        |             v0 = *((s3 - 2883));
    0x00003ad0 lw t9, 0x40(sp)           |             t9 = *(var_40h);
                                         |             if (v0 == 0) {
    0x00003ad4 beqz v0, 0x3db4           |                 goto label_15;
                                         |             }
                                         |         }
                                         |         if (a0 != 0) {
                                         | label_4:
    0x00003ad8 bnez a0, 0x3d74           |             goto label_16;
                                         |         }
    0x00003adc nop                       |         
    0x00003ae0 move fp, zero             |         fp = 0;
                                         |         if (s0 == 0) {
    0x00003ae4 bnel s0, zero, 0x3de8     |             goto label_8;
                                         |         }
                                         | label_2:
    0x00003ae8 lw t0, -0x2d14(s2)        |         t0 = *((s2 - 2885));
    0x00003aec lw t9, -0x7e34(gp)        |         t9 = sym.imp.wait4;
    0x00003af0 beqz t0, 0x3aa8           |         
                                         |     } while (t0 == 0);
    0x00003af4 lw v0, (t0)               |     v0 = *(t0);
    0x00003af8 lw fp, 0x78(t0)           |     fp = *((t0 + 30));
                                         |     if (a0 != v0) {
    0x00003afc bnel a0, v0, 0x3b0c       |         
    0x00003b00 move fp, t0               |         fp = t0;
    0x00003b04 b 0x3f30                  |         goto label_17;
                                         | label_1:
    0x00003b08 lw fp, 0x78(t0)           |         fp = *((t0 + 30));
                                         |     }
    0x00003b0c lw t9, -0x7e34(gp)        |     t9 = sym.imp.wait4;
                                         |     if (fp == 0) {
    0x00003b10 beqz fp, 0x3aa8           |         goto label_0;
                                         |     }
    0x00003b14 lw v0, (fp)               |     v0 = *(fp);
    0x00003b18 move t0, fp               |     t0 = fp;
                                         |     if (v0 == a0) {
    0x00003b1c bnel v0, a0, 0x3b08       |         goto label_1;
                                         |     }
                                         | label_9:
    0x00003b20 lw v0, 0x48(sp)           |     v0 = *(var_48h);
    0x00003b24 andi s0, v0, 0x7f         |     s0 = v0 & 0x7f;
    0x00003b28 addiu v0, s0, 1           |     v0 = s0 + 1;
                                         |     if (s0 == 0) {
    0x00003b2c bnel s0, zero, 0x3f00     |         goto label_18;
                                         |     }
    0x00003b30 ext v0, v0, 8, 8          |     __asm ("ext v0, v0, 8, 8");
    0x00003b34 sw v0, 0x48(sp)           |     *(var_48h) = v0;
                                         | label_7:
    0x00003b38 lw a0, 4(fp)              |     a0 = *(arg_4h);
    0x00003b3c lw t9, -0x7fd0(gp)        |     t9 = sym.gettime_monotonic;
    0x00003b40 ori a0, a0, 1             |     a0 |= 1;
    0x00003b44 sw t0, 0x3c(sp)           |     *(var_3ch) = t0;
    0x00003b48 sw a0, 4(fp)              |     *(arg_4h) = a0;
    0x00003b4c sw v0, 0x10(fp)           |     *(var_10h_4) = v0;
    0x00003b50 addiu a0, fp, 0x1c        |     a0 = fp + 0x1c;
    0x00003b54 bal 0x61c0                |     sym_gettime_monotonic ();
    0x00003b58 lw gp, 0x30(sp)           |     gp = *(var_30h_2);
    0x00003b5c lw t0, 0x3c(sp)           |     t0 = *(var_3ch);
    0x00003b60 move t1, s7               |     t1 = s7;
    0x00003b64 addiu v0, fp, 0x2c        |     v0 = fp + 0x2c;
    0x00003b68 addiu t2, sp, 0x8c        |     t2 = sp + 0x8c;
                                         |     do {
    0x00003b6c lw a3, (t1)               |         a3 = *(t1);
    0x00003b70 lw a2, 4(t1)              |         a2 = *((t1 + 1));
    0x00003b74 lw a1, 8(t1)              |         a1 = *((t1 + 2));
    0x00003b78 lw a0, 0xc(t1)            |         a0 = *((t1 + 3));
    0x00003b7c swl a3, 3(v0)             |         __asm ("swl a3, 3(v0)");
    0x00003b80 swr a3, (v0)              |         __asm ("swr a3, (v0)");
    0x00003b84 swl a2, 7(v0)             |         __asm ("swl a2, 7(v0)");
    0x00003b88 swr a2, 4(v0)             |         __asm ("swr a2, 4(v0)");
    0x00003b8c swl a1, 0xb(v0)           |         __asm ("swl a1, 0xb(v0)");
    0x00003b90 swr a1, 8(v0)             |         __asm ("swr a1, 8(v0)");
    0x00003b94 swl a0, 0xf(v0)           |         __asm ("swl a0, 0xf(v0)");
    0x00003b98 addiu t1, t1, 0x10        |         t1 += 0x10;
    0x00003b9c swr a0, 0xc(v0)           |         __asm ("swr a0, 0xc(v0)");
    0x00003ba0 addiu v0, v0, 0x10        |         v0 += 0x10;
    0x00003ba4 bne t1, t2, 0x3b6c        |         
                                         |     } while (t1 != t2);
    0x00003ba8 lw a1, (t1)               |     a1 = *(t1);
    0x00003bac lw a0, 4(t1)              |     a0 = *((t1 + 1));
    0x00003bb0 swl a1, 3(v0)             |     __asm ("swl a1, 3(v0)");
    0x00003bb4 swr a1, (v0)              |     __asm ("swr a1, (v0)");
    0x00003bb8 swl a0, 7(v0)             |     __asm ("swl a0, 7(v0)");
    0x00003bbc swr a0, 4(v0)             |     __asm ("swr a0, 4(v0)");
    0x00003bc0 lw v0, -0x7fdc(gp)        |     v0 = *((gp - 8183));
    0x00003bc4 lw v0, -0x2cec(v0)        |     v0 = *((v0 - 2875));
                                         |     if (v0 == 0) {
    0x00003bc8 beqz v0, 0x3cfc           |         goto label_11;
                                         |     }
    0x00003bcc nop                       |     
    0x00003bd0 lw v0, 4(fp)              |     v0 = *(arg_4h);
    0x00003bd4 andi v0, v0, 2            |     v0 &= 2;
    0x00003bd8 lw s6, -0x2d14(s2)        |     s6 = *((s2 - 2885));
                                         |     if (v0 == 0) {
    0x00003bdc beqz v0, 0x3cfc           |         goto label_11;
                                         |     }
    0x00003be0 move a0, s6               |     a0 = s6;
                                         |     if (s6 == 0) {
    0x00003be4 beqz s6, 0x3cfc           |         goto label_11;
                                         |     }
    0x00003be8 lw v0, 4(a0)              |     v0 = *((a0 + 1));
                                         |     do {
    0x00003bec andi a1, v0, 1            |         a1 = v0 & 1;
    0x00003bf0 andi v0, v0, 2            |         v0 &= 2;
                                         |         if (a1 == 0) {
    0x00003bf4 bnez a1, 0x3c00           |             
                                         |             if (v0 != 0) {
    0x00003bf8 bnez v0, 0x3cfc           |                 goto label_11;
                                         |             }
    0x00003bfc nop                       |             
                                         |         }
    0x00003c00 lw a0, 0x78(a0)           |         a0 = *((a0 + 30));
    0x00003c04 lw v0, 4(a0)              |         v0 = *((a0 + 1));
    0x00003c08 bnel a0, zero, 0x3bec     |         
                                         |     } while (a0 == 0);
    0x00003c0c lw s5, -0x7fd8(gp)        |     s5 = *((gp - 8182));
    0x00003c10 lw s4, -0x7fd8(gp)        |     s4 = *((gp - 8182));
    0x00003c14 lw s3, -0x7fd8(gp)        |     s3 = *((gp - 8182));
    0x00003c18 lw s1, -0x7fd8(gp)        |     s1 = *((gp - 8182));
    0x00003c1c addiu s5, s5, -0x3f74     |     s5 += -0x3f74;
    0x00003c20 addiu s4, s4, -0x3f6c     |     s4 += -0x3f6c;
    0x00003c24 addiu s3, s3, -0x3f64     |     s3 += -0x3f64;
    0x00003c28 addiu s1, s1, -0x3f5c     |     s1 += -0x3f5c;
    0x00003c2c lw v0, 4(s6)              |     v0 = *((s6 + 1));
                                         | label_10:
    0x00003c30 andi v0, v0, 1            |     v0 &= 1;
    0x00003c34 lw t9, -0x7d9c(gp)        |     t9 = sym.imp.strcmp;
                                         |     if (v0 != 0) {
    0x00003c38 bnez v0, 0x3fd4           |         goto label_19;
                                         |     }
    0x00003c3c lw s0, 0x28(s6)           |     s0 = *((s6 + 10));
    0x00003c40 sw t0, 0x3c(sp)           |     *(var_3ch) = t0;
    0x00003c44 move a1, s5               |     a1 = s5;
    0x00003c48 move a0, s0               |     a0 = s0;
    0x00003c4c jalr t9                   |     t9 ();
    0x00003c50 lw gp, 0x30(sp)           |     gp = *(var_30h_2);
    0x00003c54 lw t0, 0x3c(sp)           |     t0 = *(var_3ch);
                                         |     if (v0 != 0) {
    0x00003c58 beqz v0, 0x3cb0           |         
    0x00003c5c lw t9, -0x7d9c(gp)        |         t9 = sym.imp.strcmp;
    0x00003c60 move a1, s4               |         a1 = s4;
    0x00003c64 move a0, s0               |         a0 = s0;
    0x00003c68 jalr t9                   |         t9 ();
    0x00003c6c lw gp, 0x30(sp)           |         gp = *(var_30h_2);
    0x00003c70 lw t0, 0x3c(sp)           |         t0 = *(var_3ch);
                                         |         if (v0 == 0) {
    0x00003c74 beqz v0, 0x3cb0           |             goto label_20;
                                         |         }
    0x00003c78 lw t9, -0x7d9c(gp)        |         t9 = sym.imp.strcmp;
    0x00003c7c move a1, s3               |         a1 = s3;
    0x00003c80 move a0, s0               |         a0 = s0;
    0x00003c84 jalr t9                   |         t9 ();
    0x00003c88 lw gp, 0x30(sp)           |         gp = *(var_30h_2);
    0x00003c8c lw t0, 0x3c(sp)           |         t0 = *(var_3ch);
                                         |         if (v0 == 0) {
    0x00003c90 beqz v0, 0x3cb0           |             goto label_20;
                                         |         }
    0x00003c94 lw t9, -0x7d9c(gp)        |         t9 = sym.imp.strcmp;
    0x00003c98 move a1, s1               |         a1 = s1;
    0x00003c9c move a0, s0               |         a0 = s0;
    0x00003ca0 jalr t9                   |         t9 ();
    0x00003ca4 lw gp, 0x30(sp)           |         gp = *(var_30h_2);
    0x00003ca8 lw t0, 0x3c(sp)           |         t0 = *(var_3ch);
                                         |         if (v0 != 0) {
    0x00003cac bnez v0, 0x3fd4           |             goto label_19;
                                         |         }
                                         |     }
                                         | label_20:
    0x00003cb0 lw t9, -0x7ddc(gp)        |     t9 = sym.imp.time;
    0x00003cb4 sw t0, 0x3c(sp)           |     *(var_3ch) = t0;
    0x00003cb8 move a0, zero             |     a0 = 0;
    0x00003cbc jalr t9                   |     t9 ();
    0x00003cc0 lw a0, 0x14(s6)           |     a0 = *((s6 + 5));
    0x00003cc4 addiu v0, v0, 1           |     v0++;
    0x00003cc8 slt v0, v0, a0            |     v0 = (v0 < a0) ? 1 : 0;
    0x00003ccc lw gp, 0x30(sp)           |     gp = *(var_30h_2);
    0x00003cd0 lw t0, 0x3c(sp)           |     t0 = *(var_3ch);
                                         |     if (v0 != 0) {
    0x00003cd4 bnez v0, 0x4030           |         goto label_21;
                                         |     }
    0x00003cd8 lw t9, -0x7ed4(gp)        |     t9 = sym.imp.fork;
    0x00003cdc jalr t9                   |     t9 ();
    0x00003ce0 nop                       |     
    0x00003ce4 lw gp, 0x30(sp)           |     gp = *(var_30h_2);
    0x00003ce8 lw t0, 0x3c(sp)           |     t0 = *(var_3ch);
                                         |     if (v0 == 0) {
    0x00003cec beqz v0, 0x4050           |         goto label_22;
                                         |     }
                                         | label_12:
    0x00003cf0 lw v0, 4(s6)              |     v0 = *((s6 + 1));
    0x00003cf4 ori v0, v0, 2             |     v0 |= 2;
    0x00003cf8 sw v0, 4(s6)              |     *((s6 + 1)) = v0;
                                         | label_11:
    0x00003cfc lw v0, 0x78(fp)           |     v0 = *(arg_78h);
                                         |     if (t0 == 0) {
    0x00003d00 beqz t0, 0x3e34           |         goto label_23;
                                         |     }
    0x00003d04 sw v0, 0x78(t0)           |     *((t0 + 30)) = v0;
    0x00003d08 lw v0, -0x7fdc(gp)        |     v0 = *((gp - 8183));
    0x00003d0c lw v0, -0x2cf8(v0)        |     v0 = *((v0 - 2878));
    0x00003d10 lw v0, 0x44(sp)           |     v0 = *(var_44h);
                                         |     if (v0 != 0) {
    0x00003d14 bnez v0, 0x3e48           |         goto label_24;
                                         |     }
                                         | label_5:
    0x00003d18 lw v0, -0x7fdc(gp)        |     v0 = *((gp - 8183));
                                         | label_6:
    0x00003d1c lw v0, -0x2ccc(v0)        |     v0 = *((v0 - 2867));
    0x00003d20 slti v0, v0, 2            |     v0 = (v0 < 2) ? 1 : 0;
    0x00003d24 lw a0, -0x7fdc(gp)        |     a0 = *((gp - 8183));
                                         |     if (v0 == 0) {
    0x00003d28 bnez v0, 0x3d64           |         
    0x00003d2c lw t9, -0x7fd4(gp)        |         t9 = *((gp - 8181));
    0x00003d30 addiu t9, t9, 0x3634      |         t9 += fcn.00003634;
    0x00003d34 lw a0, 0x74(fp)           |         a0 = *(arg_74h);
    0x00003d38 bal 0x3634                |         fcn_00003634 ();
    0x00003d3c lw gp, 0x30(sp)           |         gp = *(var_30h_2);
    0x00003d40 lw a3, 0x10(fp)           |         a3 = *(var_10h_4);
    0x00003d44 move a2, v0               |         a2 = v0;
    0x00003d48 lw a1, -0x7fd8(gp)        |         a1 = *((gp - 8182));
    0x00003d4c lw t9, -0x7ec4(gp)        |         t9 = sym.imp.__printf_chk;
    0x00003d50 addiu a1, a1, -0x3ee0     |         a1 += -0x3ee0;
    0x00003d54 addiu a0, zero, 1         |         a0 = 1;
    0x00003d58 jalr t9                   |         t9 ();
    0x00003d5c lw gp, 0x30(sp)           |         gp = *(var_30h_2);
    0x00003d60 lw a0, -0x7fdc(gp)        |         a0 = *((gp - 8183));
                                         |     }
    0x00003d64 lw v0, -0x2d00(a0)        |     v0 = *((arg_4h - 180));
    0x00003d68 addiu v0, v0, -1          |     v0 += -1;
    0x00003d6c sw v0, -0x2d00(a0)        |     *((arg_4h - 720)) = v0;
    0x00003d70 b 0x3de8                  |     goto label_8;
                                         | label_16:
    0x00003d74 lw t9, -0x7e9c(gp)        |     t9 = sym.imp.__errno_location;
                                         |     if (a0 >= 0) {
    0x00003d78 bgez a0, 0x3ae8           |         goto label_2;
                                         |     }
    0x00003d7c jalr t9                   |     t9 ();
    0x00003d80 nop                       |     
    0x00003d84 lw v0, (v0)               |     v0 = *(v0);
    0x00003d88 lw gp, 0x30(sp)           |     gp = *(var_30h_2);
                                         |     if (v0 == s4) {
    0x00003d8c beq v0, s4, 0x3aa4        |         goto label_3;
                                         |     }
    0x00003d90 addiu v1, zero, 0xb       |     v1 = 0xb;
    0x00003d94 addiu v1, zero, 0xa       |     v1 = 0xa;
                                         |     if (v0 == v1) {
    0x00003d98 beq v0, v1, 0x3aa4        |         goto label_3;
                                         |     }
    0x00003d9c lw t9, -0x7ed8(gp)        |     t9 = sym.imp.warn;
                                         |     if (v0 != v1) {
    0x00003da0 beq v0, v1, 0x3dd0        |         
    0x00003da4 move a0, s5               |         a0 = s5;
    0x00003da8 jalr t9                   |         t9 ();
    0x00003dac lw gp, 0x30(sp)           |         gp = *(var_30h_2);
    0x00003db0 b 0x3aa4                  |         goto label_3;
                                         | label_15:
    0x00003db4 sw a0, 0x3c(sp)           |         *(var_3ch) = a0;
    0x00003db8 jalr t9                   |         t9 ();
    0x00003dbc addiu v0, zero, 1         |         v0 = 1;
    0x00003dc0 lw gp, 0x30(sp)           |         gp = *(var_30h_2);
    0x00003dc4 sw v0, -0x2d0c(s3)        |         *((s3 - 2883)) = v0;
    0x00003dc8 lw a0, 0x3c(sp)           |         a0 = *(var_3ch);
    0x00003dcc b 0x3ad8                  |         goto label_4;
                                         |     }
    0x00003dd0 lw a0, -0x7fd8(gp)        |     a0 = *((gp - 8182));
    0x00003dd4 lw t9, -0x7e78(gp)        |     t9 = sym.imp.warnx;
    0x00003dd8 addiu a0, a0, -0x4004     |     a0 += -0x4004;
    0x00003ddc jalr t9                   |     t9 ();
    0x00003de0 lw gp, 0x30(sp)           |     gp = *(var_30h_2);
    0x00003de4 move fp, zero             |     fp = 0;
                                         | label_8:
    0x00003de8 lw v0, 0x38(sp)           |     v0 = *(var_38h);
    0x00003dec lw a1, 0x94(sp)           |     a1 = *(var_94h);
    0x00003df0 lw a0, (v0)               |     a0 = *(v0);
    0x00003df4 move v0, fp               |     v0 = fp;
                                         |     if (a1 != a0) {
    0x00003df8 bne a1, a0, 0x4080        |         goto label_25;
                                         |     }
    0x00003dfc lw ra, 0xbc(sp)           |     ra = *(var_bch);
    0x00003e00 lw fp, 0xb8(sp)           |     fp = *(var_b8h);
    0x00003e04 lw s7, 0xb4(sp)           |     s7 = *(var_b4h);
    0x00003e08 lw s6, 0xb0(sp)           |     s6 = *(var_b0h);
    0x00003e0c lw s5, 0xac(sp)           |     s5 = *(var_ach);
    0x00003e10 lw s4, 0xa8(sp)           |     s4 = *(var_a8h);
    0x00003e14 lw s3, 0xa4(sp)           |     s3 = *(var_a4h);
    0x00003e18 lw s2, 0xa0(sp)           |     s2 = *(var_a0h);
    0x00003e1c lw s1, 0x9c(sp)           |     s1 = *(var_9ch);
    0x00003e20 lw s0, 0x98(sp)           |     s0 = *(var_98h);
    0x00003e24 addiu sp, sp, 0xc0        |     
    0x00003e28 jr ra                     |     return v0;
                                         | label_14:
    0x00003e2c lw v0, 0x78(fp)           |     v0 = *(arg_78h);
    0x00003e30 sw zero, 0x10(fp)         |     *(var_10h_4) = 0;
                                         | label_23:
    0x00003e34 sw v0, -0x2d14(s2)        |     *((s2 - 2885)) = v0;
    0x00003e38 lw v0, -0x7fdc(gp)        |     v0 = *((gp - 8183));
    0x00003e3c lw v0, -0x2cf8(v0)        |     v0 = *((v0 - 2878));
    0x00003e40 lw v0, 0x44(sp)           |     v0 = *(var_44h);
                                         |     if (v0 == 0) {
    0x00003e44 beqz v0, 0x3d18           |         goto label_5;
                                         |     }
                                         | label_24:
    0x00003e48 lw v0, -0x2cd4(v0)        |     v0 = *((v0 - 2869));
    0x00003e4c lw v0, -0x7fdc(gp)        |     v0 = *((gp - 8183));
                                         |     if (v0 != 0) {
    0x00003e50 bnez v0, 0x3d1c           |         goto label_6;
                                         |     }
    0x00003e54 lw s0, 0x20(fp)           |     s0 = *(var_20h_3);
    0x00003e58 lw a0, 0x18(fp)           |     a0 = *(var_18h_3);
    0x00003e5c lw s1, 0x1c(fp)           |     s1 = *(var_1ch_4);
    0x00003e60 lw v0, 0x14(fp)           |     v0 = *(var_14h);
    0x00003e64 subu s0, s0, a0           |     __asm ("subu s0, s0, a0");
    0x00003e68 subu s1, s1, v0           |     __asm ("subu s1, s1, v0");
                                         |     if (s0 < 0) {
    0x00003e6c bgez s0, 0x3e80           |         
    0x00003e70 lui v0, 0xf               |         v0 = 0xf4240;
    0x00003e74 addiu v0, v0, 0x4240      |         
    0x00003e78 addiu s1, s1, -1          |         s1 += -1;
    0x00003e7c addu s0, s0, v0           |         s0 += v0;
                                         |     }
    0x00003e80 lw v0, -0x7fdc(gp)        |     v0 = *((gp - 8183));
    0x00003e84 lw s2, -0x2cfc(v0)        |     s2 = *((v0 - 2879));
    0x00003e88 lw a0, 0x74(fp)           |     a0 = *(arg_74h);
                                         |     if (s2 == 0) {
    0x00003e8c beqz s2, 0x3f38           |         goto label_26;
                                         |     }
    0x00003e90 lw t9, -0x7fd4(gp)        |     t9 = *((gp - 8181));
    0x00003e94 addiu t9, t9, 0x3634      |     t9 += fcn.00003634;
    0x00003e98 bal 0x3634                |     fcn_00003634 ();
    0x00003e9c nop                       |     
    0x00003ea0 lw a0, 0x38(fp)           |     a0 = *(var_38h);
    0x00003ea4 lw gp, 0x30(sp)           |     gp = *(var_30h_2);
    0x00003ea8 sw a0, 0x2c(sp)           |     *(var_2ch_3) = a0;
    0x00003eac lw a0, 0x34(fp)           |     a0 = *(arg_34h);
    0x00003eb0 move a3, v0               |     a3 = v0;
    0x00003eb4 sw a0, 0x28(sp)           |     *(var_28h_3) = a0;
    0x00003eb8 lw a0, 0x30(fp)           |     a0 = *(var_30h_2);
    0x00003ebc lw a2, -0x7fd8(gp)        |     a2 = *((gp - 8182));
    0x00003ec0 sw a0, 0x24(sp)           |     *(var_24h_4) = a0;
    0x00003ec4 lw v0, 0x2c(fp)           |     v0 = *(var_2ch_3);
    0x00003ec8 sw s0, 0x1c(sp)           |     *(var_1ch_4) = s0;
    0x00003ecc sw v0, 0x20(sp)           |     *(var_20h_3) = v0;
    0x00003ed0 sw s1, 0x18(sp)           |     *(var_18h_3) = s1;
    0x00003ed4 lw v0, 0x3c(fp)           |     v0 = *(var_3ch);
    0x00003ed8 lw t9, -0x7f18(gp)        |     t9 = sym.imp.__fprintf_chk
    0x00003edc addiu a2, a2, -0x3f54     |     a2 += -0x3f54;
                                         |     do {
    0x00003ee0 sw v0, 0x14(sp)           |         *(var_14h) = v0;
    0x00003ee4 lw v0, 0x10(fp)           |         v0 = *(var_10h_4);
    0x00003ee8 addiu a1, zero, 1         |         a1 = 1;
    0x00003eec sw v0, 0x10(sp)           |         *(var_10h_4) = v0;
    0x00003ef0 move a0, s2               |         a0 = s2;
    0x00003ef4 jalr t9                   |         t9 ();
    0x00003ef8 lw gp, 0x30(sp)           |         gp = *(var_30h_2);
    0x00003efc b 0x3d18                  |         goto label_5;
                                         | label_18:
    0x00003f00 seb v0, v0                |         __asm ("seb v0, v0");
    0x00003f04 sra v0, v0, 1             |         v0 >>= 1;
    0x00003f08 lw t9, -0x7fd4(gp)        |         t9 = *((gp - 8181));
                                         |         if (v0 <= 0) {
    0x00003f0c blez v0, 0x3fe8           |             goto label_27;
                                         |         }
    0x00003f10 addiu v0, zero, 2         |         v0 = 2;
    0x00003f14 lw a0, 0x74(fp)           |         a0 = *(arg_74h);
                                         |         if (s0 == v0) {
    0x00003f18 bnel s0, v0, 0x3f90       |             goto label_28;
                                         |         }
    0x00003f1c addiu v0, zero, 4         |         v0 = 4;
    0x00003f20 sw v0, 0x48(sp)           |         *(var_48h) = v0;
    0x00003f24 b 0x3b38                  |         goto label_7;
                                         | label_13:
    0x00003f28 move fp, zero             |         fp = 0;
    0x00003f2c b 0x3de8                  |         goto label_8;
                                         | label_17:
    0x00003f30 move t0, zero             |         t0 = 0;
    0x00003f34 b 0x3b20                  |         goto label_9;
                                         | label_26:
    0x00003f38 lw v0, -0x7ebc(gp)        |         v0 = *((gp - 8111));
    0x00003f3c lw t9, -0x7fd4(gp)        |         t9 = *((gp - 8181));
    0x00003f40 addiu t9, t9, 0x3634      |         t9 += fcn.00003634;
    0x00003f44 lw s2, (v0)               |         s2 = *(v0);
    0x00003f48 bal 0x3634                |         fcn_00003634 ();
    0x00003f4c lw a0, 0x38(fp)           |         a0 = *(var_38h);
    0x00003f50 lw gp, 0x30(sp)           |         gp = *(var_30h_2);
    0x00003f54 sw a0, 0x2c(sp)           |         *(var_2ch_3) = a0;
    0x00003f58 lw a0, 0x34(fp)           |         a0 = *(arg_34h);
    0x00003f5c move a3, v0               |         a3 = v0;
    0x00003f60 sw a0, 0x28(sp)           |         *(var_28h_3) = a0;
    0x00003f64 lw a0, 0x30(fp)           |         a0 = *(var_30h_2);
    0x00003f68 lw a2, -0x7fd8(gp)        |         a2 = *((gp - 8182));
    0x00003f6c sw a0, 0x24(sp)           |         *(var_24h_4) = a0;
    0x00003f70 lw v0, 0x2c(fp)           |         v0 = *(var_2ch_3);
    0x00003f74 sw s0, 0x1c(sp)           |         *(var_1ch_4) = s0;
    0x00003f78 sw v0, 0x20(sp)           |         *(var_20h_3) = v0;
    0x00003f7c sw s1, 0x18(sp)           |         *(var_18h_3) = s1;
    0x00003f80 lw v0, 0x3c(fp)           |         v0 = *(var_3ch);
    0x00003f84 lw t9, -0x7f18(gp)        |         t9 = sym.imp.__fprintf_chk
    0x00003f88 addiu a2, a2, -0x3f28     |         a2 += -0x3f28;
    0x00003f8c b 0x3ee0                  |         
                                         |     } while (1);
                                         | label_28:
    0x00003f90 sw t0, 0x3c(sp)           |     *(var_3ch) = t0;
    0x00003f94 addiu t9, t9, 0x3634      |     t9 += fcn.00003634;
    0x00003f98 lw s1, 0x24(fp)           |     s1 = *(var_24h_4);
    0x00003f9c bal 0x3634                |     fcn_00003634 ();
    0x00003fa0 lw gp, 0x30(sp)           |     gp = *(var_30h_2);
    0x00003fa4 move a2, v0               |     a2 = v0;
    0x00003fa8 move a3, s0               |     a3 = s0;
    0x00003fac lw a0, -0x7fd8(gp)        |     a0 = *((gp - 8182));
    0x00003fb0 lw t9, -0x7e78(gp)        |     t9 = sym.imp.warnx;
    0x00003fb4 move a1, s1               |     a1 = s1;
    0x00003fb8 addiu a0, a0, -0x3fd4     |     a0 += -0x3fd4;
    0x00003fbc jalr t9                   |     t9 ();
    0x00003fc0 addiu v0, zero, 8         |     v0 = 8;
    0x00003fc4 lw gp, 0x30(sp)           |     gp = *(var_30h_2);
    0x00003fc8 sw v0, 0x48(sp)           |     *(var_48h) = v0;
    0x00003fcc lw t0, 0x3c(sp)           |     t0 = *(var_3ch);
    0x00003fd0 b 0x3b38                  |     goto label_7;
                                         | label_19:
    0x00003fd4 lw s6, 0x78(s6)           |     s6 = *((s6 + 30));
    0x00003fd8 lw v0, 4(s6)              |     v0 = *((s6 + 1));
                                         |     if (s6 == 0) {
    0x00003fdc bnel s6, zero, 0x3c30     |         goto label_10;
                                         |     }
    0x00003fe0 b 0x3cfc                  |     goto label_11;
    0x00003fe4 nop                       |     
                                         | label_27:
    0x00003fe8 lw a0, 0x74(fp)           |     a0 = *(arg_74h);
    0x00003fec sw t0, 0x3c(sp)           |     *(var_3ch) = t0;
    0x00003ff0 addiu t9, t9, 0x3634      |     t9 += fcn.00003634;
    0x00003ff4 lw s0, 0x24(fp)           |     s0 = *(var_24h_4);
    0x00003ff8 bal 0x3634                |     fcn_00003634 ();
    0x00003ffc lw gp, 0x30(sp)           |     gp = *(var_30h_2);
    0x00004000 lw a3, 0x48(sp)           |     a3 = *(var_48h);
    0x00004004 move a2, v0               |     a2 = v0;
    0x00004008 lw a0, -0x7fd8(gp)        |     a0 = *((gp - 8182));
    0x0000400c lw t9, -0x7e78(gp)        |     t9 = sym.imp.warnx;
    0x00004010 move a1, s0               |     a1 = s0;
    0x00004014 addiu a0, a0, -0x3fa0     |     a0 += -0x3fa0;
    0x00004018 jalr t9                   |     t9 ();
    0x0000401c addiu v0, zero, 8         |     v0 = 8;
    0x00004020 lw gp, 0x30(sp)           |     gp = *(var_30h_2);
    0x00004024 sw v0, 0x48(sp)           |     *(var_48h) = v0;
    0x00004028 lw t0, 0x3c(sp)           |     t0 = *(var_3ch);
    0x0000402c b 0x3b38                  |     goto label_7;
                                         | label_21:
    0x00004030 lw t9, -0x7e48(gp)        |     t9 = sym.imp.kill;
    0x00004034 lw a0, (s6)               |     a0 = *(s6);
    0x00004038 sw t0, 0x3c(sp)           |     *(var_3ch) = t0;
    0x0000403c addiu a1, zero, 0x10      |     a1 = 0x10;
    0x00004040 jalr t9                   |     t9 ();
    0x00004044 lw gp, 0x30(sp)           |     gp = *(var_30h_2);
    0x00004048 lw t0, 0x3c(sp)           |     t0 = *(var_3ch);
    0x0000404c b 0x3cf0                  |     goto label_12;
                                         | label_22:
    0x00004050 lw t9, -0x7de8(gp)        |     t9 = sym.imp.sleep;
    0x00004054 addiu a0, zero, 1         |     a0 = 1;
    0x00004058 jalr t9                   |     t9 ();
    0x0000405c lw gp, 0x30(sp)           |     gp = *(var_30h_2);
    0x00004060 lw a0, (s6)               |     a0 = *(s6);
    0x00004064 lw t9, -0x7e48(gp)        |     t9 = sym.imp.kill;
    0x00004068 addiu a1, zero, 0x10      |     a1 = 0x10;
    0x0000406c jalr t9                   |     t9 ();
    0x00004070 lw gp, 0x30(sp)           |     gp = *(var_30h_2);
    0x00004074 lw t9, -0x7e44(gp)        |     t9 = sym.imp.exit;
    0x00004078 move a0, zero             |     a0 = 0;
    0x0000407c jalr t9                   |     t9 ();
                                         | label_25:
    0x00004080 lw t9, -0x7dec(gp)        |     t9 = sym.imp.__stack_chk_fail;
    0x00004084 jalr t9                   |     t9 ();
    0x00004088 nop                       |     
                                         | }

[*] Function fprintf used 4 times fsck.util-linux