[*] Binary protection state of fsck.util-linux
Full RELRO Canary found NX disabled PIE enabled No RPATH No RUNPATH No Symbols
[*] Function printf 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 printf used 8 times fsck.util-linux