[*] Binary protection state of fsck.ext3
Full RELRO Canary found NX disabled PIE enabled No RPATH No RUNPATH No Symbols
[*] Function strcpy tear down of fsck.ext3
; assembly | /* r2dec pseudo code output */
| /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/sbin/fsck.ext3 @ 0xc1c8 */
| #include <stdint.h>
|
; (fcn) fcn.0000c1c8 () | void fcn_0000c1c8 () {
0x0000c1c8 lui gp, 6 |
0x0000c1cc addiu gp, gp, -0x2408 |
0x0000c1d0 addu gp, gp, t9 | gp += t9;
0x0000c1d4 addiu sp, sp, -0x110 |
0x0000c1d8 lw t9, -0x7fcc(gp) | t9 = sym.e2fsck_allocate_context;
0x0000c1dc sw s7, 0x104(sp) | *(var_104h) = s7;
0x0000c1e0 lw s7, -0x7838(gp) | s7 = *((gp - 7694));
0x0000c1e4 sw gp, 0x18(sp) | *(var_18h) = gp;
0x0000c1e8 sw s6, 0x100(sp) | *(var_100h) = s6;
0x0000c1ec lw v0, (s7) | v0 = *(s7);
0x0000c1f0 sw s2, 0xf0(sp) | *(var_f0h) = s2;
0x0000c1f4 sw s1, 0xec(sp) | *(var_ech) = s1;
0x0000c1f8 sw s0, 0xe8(sp) | *(var_e8h) = s0;
0x0000c1fc sw ra, 0x10c(sp) | *(var_10ch) = ra;
0x0000c200 sw fp, 0x108(sp) | *(var_108h) = fp;
0x0000c204 sw s5, 0xfc(sp) | *(var_fch) = s5;
0x0000c208 sw s4, 0xf8(sp) | *(var_f8h) = s4;
0x0000c20c sw s3, 0xf4(sp) | *(var_f4h) = s3;
0x0000c210 move s0, a0 | s0 = a0;
0x0000c214 sw v0, 0xe4(sp) | *(var_e4h) = v0;
0x0000c218 addiu a0, sp, 0x4c | a0 = sp + 0x4c;
0x0000c21c move s1, a1 | s1 = a1;
0x0000c220 move s2, a2 | s2 = a2;
0x0000c224 bal 0xdff0 | sym_e2fsck_allocate_context ();
0x0000c228 move s6, v0 | s6 = v0;
0x0000c22c lw gp, 0x18(sp) | gp = *(var_18h);
| if (v0 != 0) {
0x0000c230 beqz v0, 0xc274 |
| label_0:
0x0000c234 lw a0, 0xe4(sp) | a0 = *(var_e4h);
0x0000c238 lw v1, (s7) | v1 = *(s7);
0x0000c23c move v0, s6 | v0 = s6;
| if (a0 != v1) {
0x0000c240 bne a0, v1, 0xd8d8 | goto label_26;
| }
0x0000c244 lw ra, 0x10c(sp) | ra = *(var_10ch);
0x0000c248 lw fp, 0x108(sp) | fp = *(var_108h);
0x0000c24c lw s7, 0x104(sp) | s7 = *(var_104h);
0x0000c250 lw s6, 0x100(sp) | s6 = *(var_100h);
0x0000c254 lw s5, 0xfc(sp) | s5 = *(var_fch);
0x0000c258 lw s4, 0xf8(sp) | s4 = *(var_f8h);
0x0000c25c lw s3, 0xf4(sp) | s3 = *(var_f4h);
0x0000c260 lw s2, 0xf0(sp) | s2 = *(var_f0h);
0x0000c264 lw s1, 0xec(sp) | s1 = *(var_ech);
0x0000c268 lw s0, 0xe8(sp) | s0 = *(var_e8h);
0x0000c26c addiu sp, sp, 0x110 |
0x0000c270 jr ra | return v0;
| }
0x0000c274 lw v1, -0x7b08(gp) | v1 = *((gp - 7874));
0x0000c278 lw s3, -0x77dc(gp) | s3 = *((gp - 7671));
0x0000c27c lw v0, 0x4c(sp) | v0 = *(var_4ch);
0x0000c280 lw a0, (v1) | a0 = *(v1);
0x0000c284 lw v1, -0x7fdc(gp) | v1 = *(gp);
0x0000c288 lw t9, -0x7a94(gp) | t9 = sym.imp.setvbuf;
0x0000c28c sw v0, (s2) | *(s2) = v0;
0x0000c290 addiu a3, zero, 0x2000 | a3 = 0x2000;
0x0000c294 sw v0, (v1) | *(v1) = v0;
0x0000c298 addiu a2, zero, 2 | a2 = 2;
0x0000c29c move a1, zero | a1 = 0;
0x0000c2a0 sw s3, 0x38(sp) | *(var_38h) = s3;
0x0000c2a4 jalr t9 | t9 ();
0x0000c2a8 lw gp, 0x18(sp) | gp = *(var_18h);
0x0000c2ac lw a0, (s3) | a0 = *(s3);
0x0000c2b0 addiu a3, zero, 0x2000 | a3 = 0x2000;
0x0000c2b4 lw t9, -0x7a94(gp) | t9 = sym.imp.setvbuf;
0x0000c2b8 addiu a2, zero, 2 | a2 = 2;
0x0000c2bc move a1, zero | a1 = 0;
0x0000c2c0 jalr t9 | t9 ();
0x0000c2c4 lw gp, 0x18(sp) | gp = *(var_18h);
0x0000c2c8 lw a0, -0x7fd0(gp) | a0 = *(gp);
0x0000c2cc lw t9, -0x79ac(gp) | t9 = sym.imp.getenv;
| /* str.E2FSCK_FORCE_INTERACTIVE */
0x0000c2d0 addiu a0, a0, 0x5004 | a0 += 0x5004;
0x0000c2d4 jalr t9 | t9 ();
0x0000c2d8 lw gp, 0x18(sp) | gp = *(var_18h);
| if (v0 == 0) {
0x0000c2dc beqz v0, 0xd34c | goto label_27;
| }
| label_19:
0x0000c2e0 lw v0, 0x4c(sp) | v0 = *(var_4ch);
0x0000c2e4 addiu v1, zero, 1 | v1 = 1;
0x0000c2e8 sw v1, 0x228(v0) | *(v0) = v1;
| label_7:
0x0000c2ec lw a0, -0x7fc8(gp) | a0 = *((gp - 8178));
0x0000c2f0 lw t9, -0x7a9c(gp) | t9 = sym.imp.memset;
0x0000c2f4 addiu a2, zero, 0x7f | a2 = 0x7f;
0x0000c2f8 addiu a1, zero, 0x3d | a1 = 0x3d;
0x0000c2fc addiu a0, a0, 0x2710 | a0 += 0x2710;
0x0000c300 jalr t9 | t9 ();
0x0000c304 lw gp, 0x18(sp) | gp = *(var_18h);
0x0000c308 addiu a2, zero, 0x7f | a2 = 0x7f;
0x0000c30c addiu a1, zero, 0x20 | a1 = 0x20;
0x0000c310 lw a0, -0x7fc8(gp) | a0 = *((gp - 8178));
0x0000c314 lw t9, -0x7a9c(gp) | t9 = sym.imp.memset;
0x0000c318 addiu a0, a0, 0x2690 | a0 += 0x2690;
0x0000c31c jalr t9 | t9 ();
0x0000c320 lw gp, 0x18(sp) | gp = *(var_18h);
0x0000c324 lw a0, -0x7c4c(gp) | a0 = *((gp - 7955));
0x0000c328 lw t9, -0x7c48(gp) | t9 = sym.imp.add_error_table;
0x0000c32c jalr t9 | t9 ();
0x0000c330 nop |
0x0000c334 lw gp, 0x18(sp) | gp = *(var_18h);
0x0000c338 lw a0, -0x7fc4(gp) | a0 = *(gp);
0x0000c33c lw t9, -0x7c48(gp) | t9 = sym.imp.add_error_table;
0x0000c340 jalr t9 | t9 ();
0x0000c344 nop |
0x0000c348 lw gp, 0x18(sp) | gp = *(var_18h);
0x0000c34c lw a0, 0x4c(sp) | a0 = *(var_4ch);
0x0000c350 move a1, zero | a1 = 0;
0x0000c354 lw t9, -0x7c7c(gp) | t9 = sym.imp.blkid_get_cache;
0x0000c358 addiu a0, a0, 0x5c | a0 += 0x5c;
0x0000c35c jalr t9 | t9 ();
0x0000c360 lw gp, 0x18(sp) | gp = *(var_18h);
0x0000c364 lw v1, 0x4c(sp) | v1 = *(var_4ch);
| if (s0 == 0) {
0x0000c368 beqz s0, 0xc790 | goto label_28;
| }
0x0000c36c lw v0, (s1) | v0 = *(s1);
| if (v0 == 0) {
0x0000c370 beql v0, zero, 0xc794 | goto label_29;
| }
0x0000c374 lw v0, -0x7fd0(gp) | v0 = *(gp);
| do {
0x0000c378 lw t9, -0x7fc0(gp) | t9 = sym.get_memory_size;
0x0000c37c sw v0, 4(v1) | *((v1 + 1)) = v0;
0x0000c380 sw zero, 0x2c(sp) | *(var_2ch) = 0;
0x0000c384 bal 0x2bed8 | sym_get_memory_size ();
0x0000c388 sw v0, 0x3c(sp) | *(var_3ch) = v0;
0x0000c38c lw gp, 0x18(sp) | gp = *(var_18h);
0x0000c390 lw v0, 0x4c(sp) | v0 = *(var_4ch);
0x0000c394 addiu a0, zero, -1 | a0 = -1;
0x0000c398 addiu a1, zero, -1 | a1 = -1;
0x0000c39c sw a0, 0x2c0(v0) | *((v0 + 176)) = a0;
0x0000c3a0 sw a1, 0x2c4(v0) | *(v0) = a1;
0x0000c3a4 lw v0, -0x7fc8(gp) | v0 = *((gp - 8178));
0x0000c3a8 lw s2, -0x7fd0(gp) | s2 = *(gp);
0x0000c3ac sw v0, 0x30(sp) | *(var_30h) = v0;
0x0000c3b0 lw v0, -0x7fd8(gp) | v0 = *(gp);
0x0000c3b4 lw s5, -0x7fd0(gp) | s5 = *(gp);
0x0000c3b8 addiu v0, v0, -0x2294 | v0 += -0x2294;
0x0000c3bc lw s3, -0x7fd0(gp) | s3 = *(gp);
0x0000c3c0 lw fp, -0x7fc8(gp) | fp = *((gp - 8178));
0x0000c3c4 sw v1, 0x40(sp) | *(var_40h) = v1;
0x0000c3c8 sw zero, 0x28(sp) | *(var_28h) = 0;
0x0000c3cc addiu s2, s2, 0x6840 | s2 += 0x6840;
| /* esilref: '&d' */
0x0000c3d0 addiu s5, s5, 0x5028 | s5 += 0x5028;
0x0000c3d4 sw v0, 0x34(sp) | *(var_34h) = v0;
0x0000c3d8 lw t9, -0x7a68(gp) | t9 = sym.imp.getopt;
| /* str.panyrcC:B:dE:fvtFVM:b:I:j:P:l:L:N:SsDkz: */
0x0000c3dc addiu a2, s3, 0x50dc | a2 = s3 + 0x50dc;
0x0000c3e0 move a1, s1 | a1 = s1;
0x0000c3e4 move a0, s0 | a0 = s0;
0x0000c3e8 jalr t9 | t9 ();
0x0000c3ec addiu v1, zero, -1 | v1 = -1;
0x0000c3f0 lw gp, 0x18(sp) | gp = *(var_18h);
0x0000c3f4 sw v0, 0x48(sp) | *(var_48h) = v0;
| if (v0 == v1) {
0x0000c3f8 beq v0, v1, 0xc7bc | goto label_30;
| }
0x0000c3fc addiu v0, v0, -0x42 | v0 += -0x42;
0x0000c400 sltiu v1, v0, 0x39 | v1 = (v0 < 0x39) ? 1 : 0;
0x0000c404 sll v0, v0, 2 | v0 <<= 2;
| if (v1 == 0) {
0x0000c408 beqz v1, 0xd554 | goto label_31;
| }
0x0000c40c lwx v0, v0(s2) | __asm ("lwx v0, v0(s2)");
0x0000c410 addu v0, v0, gp | v0 += gp;
0x0000c414 jr v0 | v0 ();
0x0000c418 nop |
| label_28:
0x0000c790 lw v0, -0x7fd0(gp) | v0 = *(gp);
| /* str.e2fsck */
| label_29:
0x0000c794 addiu v0, v0, 0x5020 | v0 += 0x5020;
0x0000c798 b 0xc378 |
| } while (1);
| label_30:
0x0000c7bc lw v0, -0x7fc8(gp) | v0 = *((gp - 8178));
0x0000c7c0 lw s2, 0x27a0(v0) | s2 = *((v0 + 2536));
0x0000c7c4 lw s3, -0x788c(gp) | s3 = *((gp - 7715));
| if (s2 != 0) {
0x0000c7c8 bnez s2, 0xc234 | goto label_0;
| }
0x0000c7cc addiu s0, s0, -1 | s0 += -1;
0x0000c7d0 lw v0, (s3) | v0 = *(s3);
0x0000c7d4 lw s4, 0x4c(sp) | s4 = *(var_4ch);
| if (s0 != v0) {
0x0000c7d8 bne s0, v0, 0xd898 | goto label_32;
| }
0x0000c7dc lw v0, 0x28(s4) | v0 = *((s4 + 10));
0x0000c7e0 addiu v1, zero, 0x408 | v1 = 0x408;
0x0000c7e4 andi v0, v0, 0x408 | v0 &= 0x408;
0x0000c7e8 lw a3, -0x7fd0(gp) | a3 = *(gp);
| if (v0 == v1) {
0x0000c7ec beq v0, v1, 0xd388 | goto label_33;
| }
| label_8:
0x0000c7f0 lw v0, 0x28(s4) | v0 = *((s4 + 10));
0x0000c7f4 andi v0, v0, 8 | v0 &= 8;
0x0000c7f8 lw v0, -0x7fc8(gp) | v0 = *((gp - 8178));
| if (v0 != 0) {
0x0000c7fc bnez v0, 0xcd74 | goto label_34;
| }
| label_2:
0x0000c800 lw a0, (s3) | a0 = *(s3);
| label_15:
0x0000c804 lw t9, -0x7a44(gp) | t9 = sym.imp.strchr;
0x0000c808 sll a0, a0, 2 | a0 <<= 2;
0x0000c80c addiu a1, zero, 0x3f | a1 = 0x3f;
0x0000c810 lwx a0, a0(s1) | __asm ("lwx a0, a0(s1)");
0x0000c814 jalr t9 | t9 ();
0x0000c818 lw gp, 0x18(sp) | gp = *(var_18h);
| if (v0 == 0) {
0x0000c81c beqz v0, 0xd344 | goto label_35;
| }
0x0000c820 addiu v1, v0, 1 | v1 = v0 + 1;
0x0000c824 sw v1, 0x10(s4) | *((s4 + 4)) = v1;
0x0000c828 sb zero, (v0) | *(v0) = 0;
0x0000c82c lw s4, 0x4c(sp) | s4 = *(var_4ch);
| label_6:
0x0000c830 lw a1, (s3) | a1 = *(s3);
0x0000c834 lw t9, -0x79cc(gp) | t9 = sym.imp.blkid_get_devname;
0x0000c838 sll a1, a1, 2 | a1 <<= 2;
0x0000c83c lw a0, 0x5c(s4) | a0 = *((s4 + 23));
0x0000c840 lwx a1, a1(s1) | __asm ("lwx a1, a1(s1)");
0x0000c844 move a2, zero | a2 = 0;
0x0000c848 jalr t9 | t9 ();
0x0000c84c lw v1, 0x4c(sp) | v1 = *(var_4ch);
0x0000c850 lw gp, 0x18(sp) | gp = *(var_18h);
0x0000c854 sw v0, 8(s4) | *((s4 + 2)) = v0;
0x0000c858 lw v0, 8(v1) | v0 = *((v1 + 2));
| if (v0 == 0) {
0x0000c85c beql v0, zero, 0xd500 | goto label_36;
| }
0x0000c860 lw a3, (s3) | a3 = *(s3);
| label_13:
0x0000c864 lw a1, 0x2c(sp) | a1 = *(var_2ch);
0x0000c868 lw s3, 0x4c(sp) | s3 = *(var_4ch);
| if (a1 == 0) {
0x0000c86c beqz a1, 0xc9ec | goto label_5;
| }
0x0000c870 lw t9, -0x7fbc(gp) | t9 = sym.string_copy;
0x0000c874 move a2, zero | a2 = 0;
0x0000c878 move a0, s3 | a0 = s3;
0x0000c87c bal 0x29f78 | sym_string_copy ();
0x0000c880 move s1, v0 | s1 = v0;
0x0000c884 lw gp, 0x18(sp) | gp = *(var_18h);
0x0000c888 sw v0, 0x30(sp) | *(var_30h) = v0;
| if (v0 == 0) {
0x0000c88c beqz v0, 0xc9dc | goto label_37;
| }
0x0000c890 lb v0, (v0) | v0 = *(v0);
0x0000c894 lw v0, -0x7fd0(gp) | v0 = *(gp);
| if (v0 == 0) {
0x0000c898 beqz v0, 0xc9dc | goto label_37;
| }
0x0000c89c lw fp, -0x7fd0(gp) | fp = *(gp);
0x0000c8a0 sw v0, 0x2c(sp) | *(var_2ch) = v0;
0x0000c8a4 lw v0, -0x7fd0(gp) | v0 = *(gp);
0x0000c8a8 lw s4, -0x7fd0(gp) | s4 = *(gp);
0x0000c8ac sw v0, 0x44(sp) | *(var_44h) = v0;
0x0000c8b0 lw v0, -0x7fd0(gp) | v0 = *(gp);
| /* str.readahead_kb */
0x0000c8b4 addiu fp, fp, 0x51a4 | fp += 0x51a4;
| /* str.fragcheck */
0x0000c8b8 addiu v0, v0, 0x51d4 | v0 += 0x51d4;
0x0000c8bc sw v0, 0x24(sp) | *(var_24h_2) = v0;
0x0000c8c0 lw v0, -0x7fd0(gp) | v0 = *(gp);
| /* str.discard */
0x0000c8c4 addiu v0, v0, 0x51f0 | v0 += 0x51f0;
0x0000c8c8 sw v0, 0x34(sp) | *(var_34h) = v0;
0x0000c8cc b 0xc920 |
| while (v0 == 0) {
0x0000c8d0 lw t9, -0x7a40(gp) | t9 = sym.imp.strtoul;
| if (s5 == 0) {
0x0000c8d4 beqz s5, 0xcf78 | goto label_24;
| }
0x0000c8d8 move a2, zero | a2 = 0;
0x0000c8dc addiu a1, sp, 0x50 | a1 = sp + 0x50;
0x0000c8e0 move a0, s5 | a0 = s5;
0x0000c8e4 jalr t9 | t9 ();
0x0000c8e8 lw v1, 0x50(sp) | v1 = *(var_50h);
0x0000c8ec lb v1, (v1) | v1 = *(v1);
0x0000c8f0 lw gp, 0x18(sp) | gp = *(var_18h);
| if (v1 != 0) {
0x0000c8f4 bnez v1, 0xcfcc | goto label_38;
| }
0x0000c8f8 addiu v1, v0, -1 | v1 = v0 + -1;
0x0000c8fc sltiu v1, v1, 2 | v1 = (v1 < 2) ? 1 : 0;
| if (v1 == 0) {
0x0000c900 beql v1, zero, 0xcfd0 | goto label_39;
| }
0x0000c904 lw v0, 0x38(sp) | v0 = *(var_38h);
0x0000c908 sw v0, 0x298(s3) | *((s3 + 166)) = v0;
| label_1:
0x0000c90c lw t9, -0x7814(gp) | t9 = sym.imp.free;
| if (s0 == 0) {
0x0000c910 beqz s0, 0xcff8 | goto label_40;
| }
0x0000c914 lb v0, (s0) | v0 = *(s0);
0x0000c918 move s1, s0 | s1 = s0;
| if (v0 == 0) {
0x0000c91c beqz v0, 0xcff8 | goto label_40;
| }
0x0000c920 lw t9, -0x7a44(gp) | t9 = sym.imp.strchr;
0x0000c924 addiu a1, zero, 0x2c | a1 = 0x2c;
0x0000c928 move a0, s1 | a0 = s1;
0x0000c92c jalr t9 | t9 ();
0x0000c930 move s0, v0 | s0 = v0;
0x0000c934 lw gp, 0x18(sp) | gp = *(var_18h);
0x0000c938 sw v0, 0x50(sp) | *(var_50h) = v0;
| if (v0 != 0) {
0x0000c93c beqz v0, 0xc94c |
0x0000c940 sb zero, (v0) | *(v0) = 0;
0x0000c944 lw s0, 0x50(sp) | s0 = *(var_50h);
0x0000c948 addiu s0, s0, 1 | s0++;
| }
0x0000c94c lw t9, -0x7a44(gp) | t9 = sym.imp.strchr;
0x0000c950 addiu a1, zero, 0x3d | a1 = 0x3d;
0x0000c954 move a0, s1 | a0 = s1;
0x0000c958 jalr t9 | t9 ();
0x0000c95c lw gp, 0x18(sp) | gp = *(var_18h);
0x0000c960 move s5, v0 | s5 = v0;
0x0000c964 lw t9, -0x778c(gp) | t9 = sym.imp.strcmp;
| if (v0 == 0) {
0x0000c968 beqz v0, 0xcf4c | goto label_41;
| }
0x0000c96c sb zero, (v0) | *(v0) = 0;
| /* str.ea_ver */
0x0000c970 addiu a1, s4, 0x5184 | a1 = s4 + 0x5184;
0x0000c974 move a0, s1 | a0 = s1;
0x0000c978 jalr t9 | t9 ();
0x0000c97c addiu s5, s5, 1 | s5++;
0x0000c980 lw gp, 0x18(sp) | gp = *(var_18h);
0x0000c984 beqz v0, 0xc8d0 |
| }
0x0000c988 lw t9, -0x778c(gp) | t9 = sym.imp.strcmp;
0x0000c98c move a1, fp | a1 = fp;
0x0000c990 move a0, s1 | a0 = s1;
0x0000c994 jalr t9 | t9 ();
0x0000c998 lw gp, 0x18(sp) | gp = *(var_18h);
| if (v0 != 0) {
0x0000c99c bnez v0, 0xcf80 | goto label_42;
| }
0x0000c9a0 lw t9, -0x7aac(gp) | t9 = sym.imp.strtoull;
| if (s5 == 0) {
0x0000c9a4 beqz s5, 0xcf78 | goto label_24;
| }
0x0000c9a8 addiu a1, sp, 0x50 | a1 = sp + 0x50;
0x0000c9ac move a0, s5 | a0 = s5;
0x0000c9b0 move a2, zero | a2 = 0;
0x0000c9b4 jalr t9 | t9 ();
0x0000c9b8 move a1, v1 | a1 = v1;
0x0000c9bc lw v1, 0x50(sp) | v1 = *(var_50h);
0x0000c9c0 lw gp, 0x18(sp) | gp = *(var_18h);
0x0000c9c4 lb v1, (v1) | v1 = *(v1);
0x0000c9c8 move a0, v0 | a0 = v0;
| if (v1 != 0) {
0x0000c9cc bnez v1, 0xd5b4 | goto label_43;
| }
0x0000c9d0 sw a0, 0x2c0(s3) | *((s3 + 176)) = a0;
0x0000c9d4 sw a1, 0x2c4(s3) | *(s3) = a1;
0x0000c9d8 b 0xc90c | goto label_1;
| label_37:
0x0000c9dc lw t9, -0x7814(gp) | t9 = sym.imp.free;
0x0000c9e0 lw a0, 0x30(sp) | a0 = *(var_30h);
0x0000c9e4 jalr t9 | t9 ();
0x0000c9e8 lw gp, 0x18(sp) | gp = *(var_18h);
| label_5:
0x0000c9ec lw a0, -0x7fd0(gp) | a0 = *(gp);
0x0000c9f0 lw t9, -0x79ac(gp) | t9 = sym.imp.getenv;
| /* str.E2FSCK_FIXES_ONLY */
0x0000c9f4 addiu a0, a0, 0x5444 | a0 += 0x5444;
0x0000c9f8 jalr t9 | t9 ();
0x0000c9fc lw gp, 0x18(sp) | gp = *(var_18h);
0x0000ca00 lw s4, 0x4c(sp) | s4 = *(var_4ch);
| if (v0 != 0) {
0x0000ca04 beqz v0, 0xca14 |
0x0000ca08 lw v0, 0x28(s4) | v0 = *((s4 + 10));
0x0000ca0c ori v0, v0, 0x8000 | v0 |= 0x8000;
0x0000ca10 sw v0, 0x28(s4) | *((s4 + 10)) = v0;
| }
0x0000ca14 lw v0, 0x28(s4) | v0 = *((s4 + 10));
0x0000ca18 ori v1, zero, 0x8400 | v1 = 0x8400;
0x0000ca1c andi v0, v0, 0x8400 | v0 &= 0x8400;
0x0000ca20 lw a3, -0x7fd0(gp) | a3 = *(gp);
| if (v0 == v1) {
0x0000ca24 beq v0, v1, 0xd4c4 | goto label_44;
| }
| label_12:
0x0000ca28 lw v0, 0x28(s4) | v0 = *((s4 + 10));
0x0000ca2c ori v1, zero, 0xc000 | v1 = 0xc000;
0x0000ca30 andi v0, v0, 0xc000 | v0 &= 0xc000;
0x0000ca34 lw a3, -0x7fd0(gp) | a3 = *(gp);
| if (v0 == v1) {
0x0000ca38 beq v0, v1, 0xd48c | goto label_45;
| }
| label_11:
0x0000ca3c lw a0, -0x7fd0(gp) | a0 = *(gp);
0x0000ca40 lw t9, -0x79ac(gp) | t9 = sym.imp.getenv;
| /* str.E2FSCK_CONFIG */
0x0000ca44 addiu a0, a0, 0x54c8 | a0 += 0x54c8;
0x0000ca48 jalr t9 | t9 ();
0x0000ca4c lw gp, 0x18(sp) | gp = *(var_18h);
0x0000ca50 lw s0, -0x7fc8(gp) | s0 = *((gp - 8178));
| if (v0 != 0) {
0x0000ca54 beqz v0, 0xca5c |
0x0000ca58 sw v0, -0xff0(s0) | *((s0 - 1020)) = v0;
| }
0x0000ca5c lw a0, -0x7fd8(gp) | a0 = *(gp);
0x0000ca60 lw t9, -0x7fb4(gp) | t9 = sym.profile_set_syntax_err_cb;
0x0000ca64 addiu a0, a0, -0x3f3c | a0 += -0x3f3c;
0x0000ca68 jalr t9 | t9 ();
0x0000ca6c lw gp, 0x18(sp) | gp = *(var_18h);
0x0000ca70 lw a1, 0x4c(sp) | a1 = *(var_4ch);
| /* esilref: '/etc/e2fsck.conf' */
0x0000ca74 addiu a0, s0, -0xff0 | a0 = s0 + -0xff0;
0x0000ca78 lw t9, -0x7fb0(gp) | t9 = sym.profile_init;
0x0000ca7c addiu a1, a1, 0x29c | a1 += 0x29c;
0x0000ca80 jalr t9 | t9 ();
0x0000ca84 lw gp, 0x18(sp) | gp = *(var_18h);
0x0000ca88 lw v0, 0x4c(sp) | v0 = *(var_4ch);
0x0000ca8c addiu s1, sp, 0x48 | s1 = sp + 0x48;
0x0000ca90 lw s0, -0x7fd0(gp) | s0 = *(gp);
0x0000ca94 lw a2, -0x7fd0(gp) | a2 = *(gp);
0x0000ca98 lw a0, 0x29c(v0) | a0 = *((v0 + 167));
0x0000ca9c lw t9, -0x7fac(gp) | t9 = sym.profile_get_boolean;
0x0000caa0 sw s1, 0x14(sp) | *(var_14h) = s1;
0x0000caa4 sw zero, 0x10(sp) | *(var_10h_2) = 0;
0x0000caa8 move a3, zero | a3 = 0;
| /* str.report_time */
0x0000caac addiu a2, a2, 0x54d8 | a2 += 0x54d8;
| /* str.options */
0x0000cab0 addiu a1, s0, 0x54e4 | a1 = s0 + 0x54e4;
0x0000cab4 jalr t9 | t9 ();
0x0000cab8 lw v0, 0x48(sp) | v0 = *(var_48h);
0x0000cabc lw gp, 0x18(sp) | gp = *(var_18h);
0x0000cac0 lw s4, 0x4c(sp) | s4 = *(var_4ch);
| if (v0 != 0) {
0x0000cac4 beqz v0, 0xcad4 |
0x0000cac8 lw v0, 0x28(s4) | v0 = *((s4 + 10));
0x0000cacc ori v0, v0, 0x30 | v0 |= 0x30;
0x0000cad0 sw v0, 0x28(s4) | *((s4 + 10)) = v0;
| }
0x0000cad4 lw a2, -0x7fd0(gp) | a2 = *(gp);
0x0000cad8 lw a0, 0x29c(s4) | a0 = *((s4 + 167));
0x0000cadc lw t9, -0x7fac(gp) | t9 = sym.profile_get_boolean;
0x0000cae0 sw s1, 0x14(sp) | *(var_14h) = s1;
0x0000cae4 sw zero, 0x10(sp) | *(var_10h_2) = 0;
0x0000cae8 move a3, zero | a3 = 0;
| /* str.report_verbose */
0x0000caec addiu a2, a2, 0x54ec | a2 += 0x54ec;
| /* str.options */
0x0000caf0 addiu a1, s0, 0x54e4 | a1 = s0 + 0x54e4;
0x0000caf4 jalr t9 | t9 ();
0x0000caf8 lw v0, 0x48(sp) | v0 = *(var_48h);
0x0000cafc lw gp, 0x18(sp) | gp = *(var_18h);
| if (v0 != 0) {
0x0000cb00 beqz v0, 0xcb10 |
0x0000cb04 lw v0, -0x7fc8(gp) | v0 = *((gp - 8178));
0x0000cb08 addiu v1, zero, 1 | v1 = 1;
0x0000cb0c sw v1, 0x279c(v0) | *((v0 + 2535)) = v1;
| }
0x0000cb10 lw v0, 0x4c(sp) | v0 = *(var_4ch);
0x0000cb14 lw a2, -0x7fd0(gp) | a2 = *(gp);
0x0000cb18 lw t9, -0x7fac(gp) | t9 = sym.profile_get_boolean;
0x0000cb1c lw a0, 0x29c(v0) | a0 = *((v0 + 167));
0x0000cb20 move a3, zero | a3 = 0;
0x0000cb24 sw s1, 0x14(sp) | *(var_14h) = s1;
0x0000cb28 sw zero, 0x10(sp) | *(var_10h_2) = 0;
| /* str.no_optimize_extents */
0x0000cb2c addiu a2, a2, 0x5218 | a2 += 0x5218;
| /* str.options */
0x0000cb30 addiu a1, s0, 0x54e4 | a1 = s0 + 0x54e4;
0x0000cb34 jalr t9 | t9 ();
0x0000cb38 lw v0, 0x48(sp) | v0 = *(var_48h);
0x0000cb3c lw gp, 0x18(sp) | gp = *(var_18h);
0x0000cb40 lw s4, 0x4c(sp) | s4 = *(var_4ch);
| if (v0 != 0) {
0x0000cb44 beqz v0, 0xcb58 |
0x0000cb48 lw v0, 0x28(s4) | v0 = *((s4 + 10));
0x0000cb4c lui v1, 1 | v1 = 0x10000;
0x0000cb50 or v0, v0, v1 | v0 |= v1;
0x0000cb54 sw v0, 0x28(s4) | *((s4 + 10)) = v0;
| }
0x0000cb58 lw a2, -0x7fd0(gp) | a2 = *(gp);
0x0000cb5c lw a0, 0x29c(s4) | a0 = *((s4 + 167));
0x0000cb60 lw t9, -0x7fac(gp) | t9 = sym.profile_get_boolean;
0x0000cb64 sw s1, 0x14(sp) | *(var_14h) = s1;
0x0000cb68 sw zero, 0x10(sp) | *(var_10h_2) = 0;
0x0000cb6c move a3, zero | a3 = 0;
| /* str.inode_count_fullmap */
0x0000cb70 addiu a2, a2, 0x522c | a2 += 0x522c;
| /* str.options */
0x0000cb74 addiu a1, s0, 0x54e4 | a1 = s0 + 0x54e4;
0x0000cb78 jalr t9 | t9 ();
0x0000cb7c lw v0, 0x48(sp) | v0 = *(var_48h);
0x0000cb80 lw gp, 0x18(sp) | gp = *(var_18h);
0x0000cb84 lw s4, 0x4c(sp) | s4 = *(var_4ch);
0x0000cb88 bnez v0, 0xcd60 |
| while (1) {
0x0000cb8c lw v0, 0x2c0(s4) | v0 = *((s4 + 176));
0x0000cb90 addiu v1, zero, -1 | v1 = -1;
| if (v0 == v1) {
0x0000cb94 beql v0, v1, 0xd3c4 | goto label_46;
| }
0x0000cb98 lw v1, 0x2c4(s4) | v1 = *(s4);
| label_10:
0x0000cb9c lw v0, 0x28(s4) | v0 = *((s4 + 10));
| label_9:
0x0000cba0 addiu v1, zero, 0x2008 | v1 = 0x2008;
0x0000cba4 andi a0, v0, 0x2008 | a0 = v0 & 0x2008;
0x0000cba8 addiu v1, zero, -0x2001 | v1 = -0x2001;
| if (a0 == v1) {
0x0000cbac beq a0, v1, 0xce50 | goto label_47;
| }
| label_3:
0x0000cbb0 lw v0, 0x28(sp) | v0 = *(var_28h);
0x0000cbb4 lw t9, -0x7a1c(gp) | t9 = sym.imp.open;
| if (v0 != 0) {
0x0000cbb8 bnez v0, 0xcf04 | goto label_48;
| }
| label_4:
0x0000cbbc lw v0, -0x7fc8(gp) | v0 = *((gp - 8178));
0x0000cbc0 lw v0, 0x27a4(v0) | v0 = *((v0 + 2537));
0x0000cbc4 addiu s0, sp, 0x54 | s0 = sp + 0x54;
| if (v0 == 0) {
0x0000cbc8 beqz v0, 0xce5c | goto label_49;
| }
0x0000cbcc lw v0, -0x7fc8(gp) | v0 = *((gp - 8178));
0x0000cbd0 lw v0, 0x2790(v0) | v0 = *((v0 + 2532));
0x0000cbd4 lw t9, -0x7a9c(gp) | t9 = sym.imp.memset;
| if (v0 != 0) {
0x0000cbd8 bnez v0, 0xd8a8 | goto label_50;
| }
0x0000cbdc addiu a2, zero, 0x90 | a2 = 0x90;
0x0000cbe0 move a1, zero | a1 = 0;
0x0000cbe4 move a0, s0 | a0 = s0;
0x0000cbe8 jalr t9 | t9 ();
0x0000cbec lw gp, 0x18(sp) | gp = *(var_18h);
0x0000cbf0 move a2, zero | a2 = 0;
0x0000cbf4 move a1, s0 | a1 = s0;
0x0000cbf8 lw v0, -0x7fd8(gp) | v0 = *(gp);
0x0000cbfc lw t9, -0x7c34(gp) | t9 = sym.imp.sigaction;
0x0000cc00 addiu v0, v0, -0x4104 | v0 += -0x4104;
0x0000cc04 addiu a0, zero, 2 | a0 = 2;
0x0000cc08 sw v0, 0x58(sp) | *(var_58h) = v0;
0x0000cc0c jalr t9 | t9 ();
0x0000cc10 lw gp, 0x18(sp) | gp = *(var_18h);
0x0000cc14 move a2, zero | a2 = 0;
0x0000cc18 move a1, s0 | a1 = s0;
0x0000cc1c lw t9, -0x7c34(gp) | t9 = sym.imp.sigaction;
0x0000cc20 addiu a0, zero, 0xf | a0 = 0xf;
0x0000cc24 jalr t9 | t9 ();
0x0000cc28 lw gp, 0x18(sp) | gp = *(var_18h);
0x0000cc2c lui v0, 0x1000 | v0 = 0x10000000;
0x0000cc30 sw v0, 0x54(sp) | *(var_54h) = v0;
0x0000cc34 lw v0, -0x7fd8(gp) | v0 = *(gp);
0x0000cc38 lw t9, -0x7c34(gp) | t9 = sym.imp.sigaction;
0x0000cc3c addiu v0, v0, -0x4130 | v0 += -0x4130;
0x0000cc40 move a2, zero | a2 = 0;
0x0000cc44 move a1, s0 | a1 = s0;
0x0000cc48 addiu a0, zero, 0x10 | a0 = 0x10;
0x0000cc4c sw v0, 0x58(sp) | *(var_58h) = v0;
0x0000cc50 jalr t9 | t9 ();
0x0000cc54 lw gp, 0x18(sp) | gp = *(var_18h);
0x0000cc58 move a2, zero | a2 = 0;
0x0000cc5c move a1, s0 | a1 = s0;
0x0000cc60 lw v0, -0x7fd8(gp) | v0 = *(gp);
0x0000cc64 lw t9, -0x7c34(gp) | t9 = sym.imp.sigaction;
0x0000cc68 addiu v0, v0, -0x26a0 | v0 += -0x26a0;
0x0000cc6c addiu a0, zero, 0x11 | a0 = 0x11;
0x0000cc70 sw v0, 0x58(sp) | *(var_58h) = v0;
0x0000cc74 jalr t9 | t9 ();
0x0000cc78 lw gp, 0x18(sp) | gp = *(var_18h);
0x0000cc7c lw a0, -0x7fd0(gp) | a0 = *(gp);
0x0000cc80 lw t9, -0x79ac(gp) | t9 = sym.imp.getenv;
| /* str.PATH */
0x0000cc84 addiu a0, a0, 0x55d8 | a0 += 0x55d8;
0x0000cc88 jalr t9 | t9 ();
0x0000cc8c move s1, v0 | s1 = v0;
0x0000cc90 lw gp, 0x18(sp) | gp = *(var_18h);
| if (v0 == 0) {
0x0000cc94 beqz v0, 0xd674 | goto label_51;
| }
0x0000cc98 lw t9, -0x7a54(gp) | t9 = sym.imp.strlen;
0x0000cc9c move a0, s1 | a0 = s1;
0x0000cca0 jalr t9 | t9 ();
0x0000cca4 lw gp, 0x18(sp) | gp = *(var_18h);
0x0000cca8 lw t9, -0x79bc(gp) | t9 = sym.imp.malloc;
0x0000ccac addiu a0, v0, 0xc | a0 = v0 + 0xc;
0x0000ccb0 jalr t9 | t9 ();
0x0000ccb4 move s0, v0 | s0 = v0;
0x0000ccb8 lw gp, 0x18(sp) | gp = *(var_18h);
| if (v0 == 0) {
0x0000ccbc beqz v0, 0xd7ec | goto label_52;
| }
0x0000ccc0 lw v1, -0x7fd0(gp) | v1 = *(gp);
| /* str.PATH_sbin */
0x0000ccc4 addiu v0, v1, 0x55e0 | v0 = v1 + 0x55e0;
0x0000ccc8 lw a1, 0x55e0(v1) | a1 = *((v1 + 5496));
0x0000cccc lw a0, 4(v0) | a0 = *((v0 + 1));
0x0000ccd0 lhu v1, 8(v0) | v1 = *((v0 + 4));
0x0000ccd4 lbu v0, 0xa(v0) | v0 = *((v0 + 10));
0x0000ccd8 sw a1, (s0) | *(s0) = a1;
0x0000ccdc sw a0, 4(s0) | *((s0 + 1)) = a0;
0x0000cce0 sh v1, 8(s0) | *((s0 + 4)) = v1;
0x0000cce4 sb v0, 0xa(s0) | *((s0 + 10)) = v0;
| label_25:
0x0000cce8 lw t9, -0x7a54(gp) | t9 = sym.imp.strlen;
0x0000ccec move a0, s0 | a0 = s0;
0x0000ccf0 jalr t9 | t9 ();
0x0000ccf4 lw gp, 0x18(sp) | gp = *(var_18h);
0x0000ccf8 addu v0, s0, v0 | v0 = s0 + v0;
0x0000ccfc addiu v1, zero, 0x3a | v1 = 0x3a;
0x0000cd00 lw t9, -0x7960(gp) | t9 = sym.imp.strcpy
0x0000cd04 sb v1, (v0) | *(v0) = v1;
0x0000cd08 sb zero, 1(v0) | *((v0 + 1)) = 0;
0x0000cd0c move a1, s1 | a1 = s1;
0x0000cd10 addiu a0, v0, 1 | a0 = v0 + 1;
0x0000cd14 jalr t9 | t9 ();
0x0000cd18 lw gp, 0x18(sp) | gp = *(var_18h);
| label_18:
0x0000cd1c lw t9, -0x7b74(gp) | t9 = sym.imp.putenv;
0x0000cd20 move a0, s0 | a0 = s0;
0x0000cd24 jalr t9 | t9 ();
0x0000cd28 lw gp, 0x18(sp) | gp = *(var_18h);
0x0000cd2c b 0xc234 | goto label_0;
0x0000cd60 lw v0, 0x28(s4) | v0 = *((s4 + 10));
0x0000cd64 lui v1, 2 | v1 = 0x20000;
0x0000cd68 or v0, v0, v1 | v0 |= v1;
0x0000cd6c sw v0, 0x28(s4) | *((s4 + 10)) = v0;
0x0000cd70 b 0xcb8c |
| }
| label_34:
0x0000cd74 lw v0, 0x27a4(v0) | v0 = *((v0 + 2537));
0x0000cd78 lw a3, -0x7fd0(gp) | a3 = *(gp);
| if (v0 != 0) {
0x0000cd7c bnez v0, 0xd568 | goto label_53;
| }
| label_14:
0x0000cd80 lw v0, -0x7fc8(gp) | v0 = *((gp - 8178));
0x0000cd84 lw v0, 0x2790(v0) | v0 = *((v0 + 2532));
0x0000cd88 lw a3, -0x7fd0(gp) | a3 = *(gp);
| if (v0 == 0) {
0x0000cd8c beqz v0, 0xd378 | goto label_54;
| }
0x0000cd90 lw a2, -0x7fd0(gp) | a2 = *(gp);
0x0000cd94 lw t9, -0x7914(gp) | t9 = sym.imp.com_err;
0x0000cd98 lw a0, 4(s4) | a0 = *((s4 + 1));
| /* str.The__n_and__l__L_options_are_incompatible. */
0x0000cd9c addiu a3, a3, 0x5158 | a3 += 0x5158;
| /* esilref: '&s' */
0x0000cda0 addiu a2, a2, 0x62f4 | a2 += 0x62f4;
0x0000cda4 move a1, zero | a1 = 0;
0x0000cda8 jalr t9 | t9 ();
0x0000cdac lw gp, 0x18(sp) | gp = *(var_18h);
0x0000cdb0 lw a0, 0x4c(sp) | a0 = *(var_4ch);
0x0000cdb4 lw t9, -0x7fb8(gp) | t9 = sym.fatal_error;
0x0000cdb8 move a1, zero | a1 = 0;
0x0000cdbc bal 0x29d10 | sym_fatal_error ();
0x0000cdc0 lw s4, 0x4c(sp) | s4 = *(var_4ch);
0x0000cdc4 lw v0, 0x28(s4) | v0 = *((s4 + 10));
0x0000cdc8 andi v1, v0, 8 | v1 = v0 & 8;
0x0000cdcc lw gp, 0x18(sp) | gp = *(var_18h);
| if (v1 == 0) {
0x0000cdd0 beqz v1, 0xc800 | goto label_2;
| }
0x0000cdd4 ori v0, v0, 1 | v0 |= 1;
0x0000cdd8 sw v0, 0x28(s4) | *((s4 + 10)) = v0;
0x0000cddc b 0xc800 | goto label_2;
| label_47:
0x0000ce50 and v0, v0, v1 | v0 &= v1;
0x0000ce54 sw v0, 0x28(s4) | *((s4 + 10)) = v0;
0x0000ce58 b 0xcbb0 | goto label_3;
| label_49:
0x0000ce5c lw t9, -0x7a9c(gp) | t9 = sym.imp.memset;
0x0000ce60 addiu a2, zero, 0x90 | a2 = 0x90;
0x0000ce64 move a1, zero | a1 = 0;
0x0000ce68 move a0, s0 | a0 = s0;
0x0000ce6c jalr t9 | t9 ();
0x0000ce70 lw gp, 0x18(sp) | gp = *(var_18h);
0x0000ce74 move a2, zero | a2 = 0;
0x0000ce78 move a1, s0 | a1 = s0;
0x0000ce7c lw v0, -0x7fd8(gp) | v0 = *(gp);
0x0000ce80 lw t9, -0x7c34(gp) | t9 = sym.imp.sigaction;
0x0000ce84 addiu v0, v0, -0x4104 | v0 += -0x4104;
0x0000ce88 addiu a0, zero, 2 | a0 = 2;
0x0000ce8c sw v0, 0x58(sp) | *(var_58h) = v0;
0x0000ce90 jalr t9 | t9 ();
0x0000ce94 lw gp, 0x18(sp) | gp = *(var_18h);
0x0000ce98 move a2, zero | a2 = 0;
0x0000ce9c move a1, s0 | a1 = s0;
0x0000cea0 lw t9, -0x7c34(gp) | t9 = sym.imp.sigaction;
0x0000cea4 addiu a0, zero, 0xf | a0 = 0xf;
0x0000cea8 jalr t9 | t9 ();
0x0000ceac lw gp, 0x18(sp) | gp = *(var_18h);
0x0000ceb0 lui v0, 0x1000 | v0 = 0x10000000;
0x0000ceb4 sw v0, 0x54(sp) | *(var_54h) = v0;
0x0000ceb8 lw v0, -0x7fd8(gp) | v0 = *(gp);
0x0000cebc lw t9, -0x7c34(gp) | t9 = sym.imp.sigaction;
0x0000cec0 addiu v0, v0, -0x4130 | v0 += -0x4130;
0x0000cec4 move a2, zero | a2 = 0;
0x0000cec8 move a1, s0 | a1 = s0;
0x0000cecc addiu a0, zero, 0x10 | a0 = 0x10;
0x0000ced0 sw v0, 0x58(sp) | *(var_58h) = v0;
0x0000ced4 jalr t9 | t9 ();
0x0000ced8 lw gp, 0x18(sp) | gp = *(var_18h);
0x0000cedc move a2, zero | a2 = 0;
0x0000cee0 move a1, s0 | a1 = s0;
0x0000cee4 lw v0, -0x7fd8(gp) | v0 = *(gp);
0x0000cee8 lw t9, -0x7c34(gp) | t9 = sym.imp.sigaction;
0x0000ceec addiu v0, v0, -0x26a0 | v0 += -0x26a0;
0x0000cef0 addiu a0, zero, 0x11 | a0 = 0x11;
0x0000cef4 sw v0, 0x58(sp) | *(var_58h) = v0;
0x0000cef8 jalr t9 | t9 ();
0x0000cefc lw gp, 0x18(sp) | gp = *(var_18h);
0x0000cf00 b 0xc234 | goto label_0;
| label_48:
0x0000cf04 lw a0, 8(s4) | a0 = *((s4 + 2));
0x0000cf08 move a2, zero | a2 = 0;
0x0000cf0c move a1, zero | a1 = 0;
0x0000cf10 jalr t9 | t9 ();
0x0000cf14 move s0, v0 | s0 = v0;
0x0000cf18 lw gp, 0x18(sp) | gp = *(var_18h);
| if (v0 < 0) {
0x0000cf1c bltz v0, 0xd6d4 | goto label_55;
| }
| label_21:
0x0000cf20 lw t9, -0x7818(gp) | t9 = sym.imp.ext2fs_sync_device;
0x0000cf24 addiu a1, zero, 1 | a1 = 1;
0x0000cf28 move a0, s0 | a0 = s0;
0x0000cf2c jalr t9 | t9 ();
0x0000cf30 lw gp, 0x18(sp) | gp = *(var_18h);
| if (v0 != 0) {
0x0000cf34 bnez v0, 0xd5f0 | goto label_56;
| }
| label_16:
0x0000cf38 lw t9, -0x7cb0(gp) | t9 = sym.imp.close;
0x0000cf3c move a0, s0 | a0 = s0;
0x0000cf40 jalr t9 | t9 ();
0x0000cf44 lw gp, 0x18(sp) | gp = *(var_18h);
0x0000cf48 b 0xcbbc | goto label_4;
| /* str.ea_ver */
| label_41:
0x0000cf4c addiu a1, s4, 0x5184 | a1 = s4 + 0x5184;
0x0000cf50 move a0, s1 | a0 = s1;
0x0000cf54 jalr t9 | t9 ();
0x0000cf58 lw gp, 0x18(sp) | gp = *(var_18h);
| if (v0 != 0) {
0x0000cf5c beqz v0, 0xcf78 |
0x0000cf60 lw t9, -0x778c(gp) | t9 = sym.imp.strcmp;
0x0000cf64 move a1, fp | a1 = fp;
0x0000cf68 move a0, s1 | a0 = s1;
0x0000cf6c jalr t9 | t9 ();
0x0000cf70 lw gp, 0x18(sp) | gp = *(var_18h);
| if (v0 != 0) {
0x0000cf74 bnez v0, 0xcf80 | goto label_42;
| }
| }
| label_24:
0x0000cf78 addiu s2, s2, 1 | s2++;
0x0000cf7c b 0xc90c | goto label_1;
| label_42:
0x0000cf80 lw t9, -0x778c(gp) | t9 = sym.imp.strcmp;
0x0000cf84 lw a1, 0x24(sp) | a1 = *(var_24h_2);
0x0000cf88 move a0, s1 | a0 = s1;
0x0000cf8c jalr t9 | t9 ();
0x0000cf90 lw gp, 0x18(sp) | gp = *(var_18h);
| if (v0 == 0) {
0x0000cf94 beqz v0, 0xd334 | goto label_57;
| }
0x0000cf98 lw v0, 0x2c(sp) | v0 = *(var_2ch);
0x0000cf9c lw t9, -0x778c(gp) | t9 = sym.imp.strcmp;
0x0000cfa0 addiu a1, v0, 0x51e0 | a1 = v0 + 0x51e0;
0x0000cfa4 move a0, s1 | a0 = s1;
0x0000cfa8 jalr t9 | t9 ();
0x0000cfac lw gp, 0x18(sp) | gp = *(var_18h);
| if (v0 != 0) {
0x0000cfb0 bnez v0, 0xd1ec | goto label_58;
| }
0x0000cfb4 addiu s2, s2, 1 | s2++;
| if (s5 == 0) {
0x0000cfb8 bnel s5, zero, 0xc90c | goto label_1;
| }
0x0000cfbc lw v0, 0x28(s3) | v0 = *((s3 + 10));
0x0000cfc0 ori v0, v0, 0x1000 | v0 |= 0x1000;
0x0000cfc4 sw v0, 0x28(s3) | *((s3 + 10)) = v0;
0x0000cfc8 b 0xc90c | goto label_1;
| label_38:
0x0000cfcc lw v0, 0x38(sp) | v0 = *(var_38h);
| label_39:
0x0000cfd0 lw a0, -0x7fd0(gp) | a0 = *(gp);
0x0000cfd4 lw t9, -0x7938(gp) | t9 = sym.imp.fwrite;
0x0000cfd8 lw a3, (v0) | a3 = *(v0);
0x0000cfdc addiu a2, zero, 0x14 | a2 = 0x14;
0x0000cfe0 addiu a1, zero, 1 | a1 = 1;
| /* str.Invalid_EA_version._n */
0x0000cfe4 addiu a0, a0, 0x518c | a0 += 0x518c;
0x0000cfe8 jalr t9 | t9 ();
0x0000cfec addiu s2, s2, 1 | s2++;
0x0000cff0 lw gp, 0x18(sp) | gp = *(var_18h);
0x0000cff4 b 0xc90c | goto label_1;
| label_40:
0x0000cff8 lw a0, 0x30(sp) | a0 = *(var_30h);
0x0000cffc jalr t9 | t9 ();
0x0000d000 lw gp, 0x18(sp) | gp = *(var_18h);
| if (s2 == 0) {
0x0000d004 beqz s2, 0xc9ec | goto label_5;
| }
0x0000d008 lw s0, 0x38(sp) | s0 = *(var_38h);
0x0000d00c lw a0, -0x7fd0(gp) | a0 = *(gp);
0x0000d010 lw t9, -0x7938(gp) | t9 = sym.imp.fwrite;
0x0000d014 lw a3, (s0) | a3 = *(s0);
0x0000d018 addiu a2, zero, 0x8c | a2 = 0x8c;
0x0000d01c addiu a1, zero, 1 | a1 = 1;
| /* str._nExtended_options_are_separated_by_commas__and_may_take_an_argument_which_nis_set_off_by_an_equals____sign.__Valid_extended_options_are:_n_n */
0x0000d020 addiu a0, a0, 0x52ac | a0 += 0x52ac;
0x0000d024 jalr t9 | t9 ();
0x0000d028 lw gp, 0x18(sp) | gp = *(var_18h);
0x0000d02c lw a3, (s0) | a3 = *(s0);
0x0000d030 addiu a2, zero, 0x1e | a2 = 0x1e;
0x0000d034 lw a0, -0x7fd0(gp) | a0 = *(gp);
0x0000d038 lw t9, -0x7938(gp) | t9 = sym.imp.fwrite;
0x0000d03c addiu a1, zero, 1 | a1 = 1;
| /* str._tea_ver_ea_version__1_or_2___n */
0x0000d040 addiu a0, a0, 0x533c | a0 += 0x533c;
0x0000d044 jalr t9 | t9 ();
0x0000d048 lw gp, 0x18(sp) | gp = *(var_18h);
0x0000d04c lw a3, (s0) | a3 = *(s0);
0x0000d050 addiu a2, zero, 0xb | a2 = 0xb;
0x0000d054 lw a0, -0x7fd0(gp) | a0 = *(gp);
0x0000d058 lw t9, -0x7938(gp) | t9 = sym.imp.fwrite;
0x0000d05c addiu a1, zero, 1 | a1 = 1;
| /* str._tfragcheck_n */
0x0000d060 addiu a0, a0, 0x535c | a0 += 0x535c;
0x0000d064 jalr t9 | t9 ();
0x0000d068 lw gp, 0x18(sp) | gp = *(var_18h);
0x0000d06c lw a3, (s0) | a3 = *(s0);
0x0000d070 addiu a2, zero, 0xe | a2 = 0xe;
0x0000d074 lw a0, -0x7fd0(gp) | a0 = *(gp);
0x0000d078 lw t9, -0x7938(gp) | t9 = sym.imp.fwrite;
0x0000d07c addiu a1, zero, 1 | a1 = 1;
| /* str._tjournal_only_n */
0x0000d080 addiu a0, a0, 0x5368 | a0 += 0x5368;
0x0000d084 jalr t9 | t9 ();
0x0000d088 lw gp, 0x18(sp) | gp = *(var_18h);
0x0000d08c lw a3, (s0) | a3 = *(s0);
0x0000d090 addiu a2, zero, 9 | a2 = 9;
0x0000d094 lw a0, -0x7fd0(gp) | a0 = *(gp);
0x0000d098 lw t9, -0x7938(gp) | t9 = sym.imp.fwrite;
0x0000d09c addiu a1, zero, 1 | a1 = 1;
| /* str._tdiscard_n */
0x0000d0a0 addiu a0, a0, 0x5378 | a0 += 0x5378;
0x0000d0a4 jalr t9 | t9 ();
0x0000d0a8 lw gp, 0x18(sp) | gp = *(var_18h);
0x0000d0ac lw a3, (s0) | a3 = *(s0);
0x0000d0b0 addiu a2, zero, 0xb | a2 = 0xb;
0x0000d0b4 lw a0, -0x7fd0(gp) | a0 = *(gp);
0x0000d0b8 lw t9, -0x7938(gp) | t9 = sym.imp.fwrite;
0x0000d0bc addiu a1, zero, 1 | a1 = 1;
| /* str._tnodiscard_n */
0x0000d0c0 addiu a0, a0, 0x5384 | a0 += 0x5384;
0x0000d0c4 jalr t9 | t9 ();
0x0000d0c8 lw gp, 0x18(sp) | gp = *(var_18h);
0x0000d0cc lw a3, (s0) | a3 = *(s0);
0x0000d0d0 addiu a2, zero, 0x12 | a2 = 0x12;
0x0000d0d4 lw a0, -0x7fd0(gp) | a0 = *(gp);
0x0000d0d8 lw t9, -0x7938(gp) | t9 = sym.imp.fwrite;
0x0000d0dc addiu a1, zero, 1 | a1 = 1;
| /* str._toptimize_extents_n */
0x0000d0e0 addiu a0, a0, 0x5390 | a0 += 0x5390;
0x0000d0e4 jalr t9 | t9 ();
0x0000d0e8 lw gp, 0x18(sp) | gp = *(var_18h);
0x0000d0ec lw a3, (s0) | a3 = *(s0);
0x0000d0f0 addiu a2, zero, 0x15 | a2 = 0x15;
0x0000d0f4 lw a0, -0x7fd0(gp) | a0 = *(gp);
0x0000d0f8 lw t9, -0x7938(gp) | t9 = sym.imp.fwrite;
0x0000d0fc addiu a1, zero, 1 | a1 = 1;
| /* str._tno_optimize_extents_n */
0x0000d100 addiu a0, a0, 0x53a4 | a0 += 0x53a4;
0x0000d104 jalr t9 | t9 ();
0x0000d108 lw gp, 0x18(sp) | gp = *(var_18h);
0x0000d10c lw a3, (s0) | a3 = *(s0);
0x0000d110 addiu a2, zero, 0x15 | a2 = 0x15;
0x0000d114 lw a0, -0x7fd0(gp) | a0 = *(gp);
0x0000d118 lw t9, -0x7938(gp) | t9 = sym.imp.fwrite;
0x0000d11c addiu a1, zero, 1 | a1 = 1;
| /* str._tinode_count_fullmap_n */
0x0000d120 addiu a0, a0, 0x53bc | a0 += 0x53bc;
0x0000d124 jalr t9 | t9 ();
0x0000d128 lw gp, 0x18(sp) | gp = *(var_18h);
0x0000d12c lw a3, (s0) | a3 = *(s0);
0x0000d130 addiu a2, zero, 0x18 | a2 = 0x18;
0x0000d134 lw a0, -0x7fd0(gp) | a0 = *(gp);
0x0000d138 lw t9, -0x7938(gp) | t9 = sym.imp.fwrite;
0x0000d13c addiu a1, zero, 1 | a1 = 1;
| /* str._tno_inode_count_fullmap_n */
0x0000d140 addiu a0, a0, 0x53d4 | a0 += 0x53d4;
0x0000d144 jalr t9 | t9 ();
0x0000d148 lw gp, 0x18(sp) | gp = *(var_18h);
0x0000d14c lw a3, (s0) | a3 = *(s0);
0x0000d150 addiu a2, zero, 0x1c | a2 = 0x1c;
0x0000d154 lw a0, -0x7fd0(gp) | a0 = *(gp);
0x0000d158 lw t9, -0x7938(gp) | t9 = sym.imp.fwrite;
0x0000d15c addiu a1, zero, 1 | a1 = 1;
| /* str._treadahead_kb_buffer_size__n */
0x0000d160 addiu a0, a0, 0x53f0 | a0 += 0x53f0;
0x0000d164 jalr t9 | t9 ();
0x0000d168 lw gp, 0x18(sp) | gp = *(var_18h);
0x0000d16c lw a3, (s0) | a3 = *(s0);
0x0000d170 addiu a2, zero, 0xd | a2 = 0xd;
0x0000d174 lw a0, -0x7fd0(gp) | a0 = *(gp);
0x0000d178 lw t9, -0x7938(gp) | t9 = sym.imp.fwrite;
0x0000d17c addiu a1, zero, 1 | a1 = 1;
| /* str._tbmap2extent_n */
0x0000d180 addiu a0, a0, 0x5410 | a0 += 0x5410;
0x0000d184 jalr t9 | t9 ();
0x0000d188 lw gp, 0x18(sp) | gp = *(var_18h);
0x0000d18c lw a3, (s0) | a3 = *(s0);
0x0000d190 addiu a2, zero, 0x10 | a2 = 0x10;
0x0000d194 lw a0, -0x7fd0(gp) | a0 = *(gp);
0x0000d198 lw t9, -0x7938(gp) | t9 = sym.imp.fwrite;
0x0000d19c addiu a1, zero, 1 | a1 = 1;
| /* str._tunshare_blocks_n */
0x0000d1a0 addiu a0, a0, 0x5420 | a0 += 0x5420;
0x0000d1a4 jalr t9 | t9 ();
0x0000d1a8 lw gp, 0x18(sp) | gp = *(var_18h);
0x0000d1ac lw a3, (s0) | a3 = *(s0);
0x0000d1b0 addiu a2, zero, 0xc | a2 = 0xc;
0x0000d1b4 lw a0, -0x7fd0(gp) | a0 = *(gp);
0x0000d1b8 lw t9, -0x7938(gp) | t9 = sym.imp.fwrite;
0x0000d1bc addiu a1, zero, 1 | a1 = 1;
| /* str._tfixes_only_n */
0x0000d1c0 addiu a0, a0, 0x5434 | a0 += 0x5434;
0x0000d1c4 jalr t9 | t9 ();
0x0000d1c8 lw gp, 0x18(sp) | gp = *(var_18h);
0x0000d1cc lw a1, (s0) | a1 = *(s0);
0x0000d1d0 lw t9, -0x7b94(gp) | t9 = sym.imp.fputc;
0x0000d1d4 addiu a0, zero, 0xa | a0 = 0xa;
0x0000d1d8 jalr t9 | t9 ();
0x0000d1dc lw gp, 0x18(sp) | gp = *(var_18h);
0x0000d1e0 lw t9, -0x7a08(gp) | t9 = sym.imp.exit;
0x0000d1e4 addiu a0, zero, 1 | a0 = 1;
0x0000d1e8 jalr t9 | t9 ();
| label_58:
0x0000d1ec lw t9, -0x778c(gp) | t9 = sym.imp.strcmp;
0x0000d1f0 lw a1, 0x34(sp) | a1 = *(var_34h);
0x0000d1f4 move a0, s1 | a0 = s1;
0x0000d1f8 jalr t9 | t9 ();
0x0000d1fc lw gp, 0x18(sp) | gp = *(var_18h);
| if (v0 == 0) {
0x0000d200 beqz v0, 0xd5e0 | goto label_59;
| }
0x0000d204 lw v0, 0x44(sp) | v0 = *(var_44h);
0x0000d208 lw t9, -0x778c(gp) | t9 = sym.imp.strcmp;
0x0000d20c addiu a1, v0, 0x51f8 | a1 = v0 + 0x51f8;
0x0000d210 move a0, s1 | a0 = s1;
0x0000d214 jalr t9 | t9 ();
0x0000d218 lw gp, 0x18(sp) | gp = *(var_18h);
| if (v0 == 0) {
0x0000d21c beqz v0, 0xd740 | goto label_60;
| }
0x0000d220 lw a1, -0x7fd0(gp) | a1 = *(gp);
0x0000d224 lw t9, -0x778c(gp) | t9 = sym.imp.strcmp;
| /* str.optimize_extents */
0x0000d228 addiu a1, a1, 0x5204 | a1 += 0x5204;
0x0000d22c move a0, s1 | a0 = s1;
0x0000d230 jalr t9 | t9 ();
0x0000d234 lw gp, 0x18(sp) | gp = *(var_18h);
| if (v0 == 0) {
0x0000d238 beqz v0, 0xd53c | goto label_61;
| }
0x0000d23c lw a1, -0x7fd0(gp) | a1 = *(gp);
0x0000d240 lw t9, -0x778c(gp) | t9 = sym.imp.strcmp;
| /* str.no_optimize_extents */
0x0000d244 addiu a1, a1, 0x5218 | a1 += 0x5218;
0x0000d248 move a0, s1 | a0 = s1;
0x0000d24c jalr t9 | t9 ();
0x0000d250 lw gp, 0x18(sp) | gp = *(var_18h);
| if (v0 == 0) {
0x0000d254 beqz v0, 0xd754 | goto label_62;
| }
0x0000d258 lw a1, -0x7fd0(gp) | a1 = *(gp);
0x0000d25c lw t9, -0x778c(gp) | t9 = sym.imp.strcmp;
| /* str.inode_count_fullmap */
0x0000d260 addiu a1, a1, 0x522c | a1 += 0x522c;
0x0000d264 move a0, s1 | a0 = s1;
0x0000d268 jalr t9 | t9 ();
0x0000d26c lw gp, 0x18(sp) | gp = *(var_18h);
| if (v0 == 0) {
0x0000d270 beqz v0, 0xd768 | goto label_63;
| }
0x0000d274 lw a1, -0x7fd0(gp) | a1 = *(gp);
0x0000d278 lw t9, -0x778c(gp) | t9 = sym.imp.strcmp;
| /* str.no_inode_count_fullmap */
0x0000d27c addiu a1, a1, 0x5240 | a1 += 0x5240;
0x0000d280 move a0, s1 | a0 = s1;
0x0000d284 jalr t9 | t9 ();
0x0000d288 lw gp, 0x18(sp) | gp = *(var_18h);
| if (v0 == 0) {
0x0000d28c beqz v0, 0xd77c | goto label_64;
| }
0x0000d290 lw a1, -0x7fa8(gp) | a1 = *((gp - 8170));
0x0000d294 lw t9, -0x778c(gp) | t9 = sym.imp.strcmp;
| /* esilref: 'log_filename' */
0x0000d298 addiu a1, a1, -0x3110 | a1 += -0x3110;
0x0000d29c move a0, s1 | a0 = s1;
0x0000d2a0 jalr t9 | t9 ();
0x0000d2a4 lw gp, 0x18(sp) | gp = *(var_18h);
| if (v0 == 0) {
0x0000d2a8 beqz v0, 0xd794 | goto label_65;
| }
0x0000d2ac lw a1, -0x7fd0(gp) | a1 = *(gp);
0x0000d2b0 lw t9, -0x778c(gp) | t9 = sym.imp.strcmp;
| /* str.problem_log */
0x0000d2b4 addiu a1, a1, 0x5258 | a1 += 0x5258;
0x0000d2b8 move a0, s1 | a0 = s1;
0x0000d2bc jalr t9 | t9 ();
0x0000d2c0 lw gp, 0x18(sp) | gp = *(var_18h);
| if (v0 == 0) {
0x0000d2c4 beqz v0, 0xd7c8 | goto label_66;
| }
0x0000d2c8 lw a1, -0x7fd0(gp) | a1 = *(gp);
0x0000d2cc lw t9, -0x778c(gp) | t9 = sym.imp.strcmp;
| /* str.bmap2extent */
0x0000d2d0 addiu a1, a1, 0x5264 | a1 += 0x5264;
0x0000d2d4 move a0, s1 | a0 = s1;
0x0000d2d8 jalr t9 | t9 ();
0x0000d2dc lw gp, 0x18(sp) | gp = *(var_18h);
| if (v0 == 0) {
0x0000d2e0 beqz v0, 0xd7b8 | goto label_67;
| }
0x0000d2e4 lw a1, -0x7fd0(gp) | a1 = *(gp);
0x0000d2e8 lw t9, -0x778c(gp) | t9 = sym.imp.strcmp;
| /* str.fixes_only */
0x0000d2ec addiu a1, a1, 0x5270 | a1 += 0x5270;
0x0000d2f0 move a0, s1 | a0 = s1;
0x0000d2f4 jalr t9 | t9 ();
0x0000d2f8 lw gp, 0x18(sp) | gp = *(var_18h);
| if (v0 == 0) {
0x0000d2fc beqz v0, 0xd888 | goto label_68;
| }
0x0000d300 lw a1, -0x7fd0(gp) | a1 = *(gp);
0x0000d304 lw t9, -0x778c(gp) | t9 = sym.imp.strcmp;
| /* str.unshare_blocks */
0x0000d308 addiu a1, a1, 0x527c | a1 += 0x527c;
0x0000d30c move a0, s1 | a0 = s1;
0x0000d310 jalr t9 | t9 ();
0x0000d314 lw gp, 0x18(sp) | gp = *(var_18h);
| if (v0 != 0) {
0x0000d318 bnez v0, 0xd85c | goto label_69;
| }
0x0000d31c lw v0, 0x28(s3) | v0 = *((s3 + 10));
0x0000d320 lui v1, 4 | v1 = 0x40000;
0x0000d324 addiu v1, v1, 0x100 |
0x0000d328 or v0, v0, v1 | v0 |= v1;
0x0000d32c sw v0, 0x28(s3) | *((s3 + 10)) = v0;
0x0000d330 b 0xc90c | goto label_1;
| label_57:
0x0000d334 lw v0, 0x28(s3) | v0 = *((s3 + 10));
0x0000d338 ori v0, v0, 0x800 | v0 |= 0x800;
0x0000d33c sw v0, 0x28(s3) | *((s3 + 10)) = v0;
0x0000d340 b 0xc90c | goto label_1;
| label_35:
0x0000d344 sw zero, 0x10(s4) | *((s4 + 4)) = 0;
0x0000d348 b 0xc830 | goto label_6;
| label_27:
0x0000d34c lw t9, -0x7c5c(gp) | t9 = sym.imp.isatty;
0x0000d350 move a0, zero | a0 = 0;
0x0000d354 jalr t9 | t9 ();
0x0000d358 lw gp, 0x18(sp) | gp = *(var_18h);
| if (v0 != 0) {
0x0000d35c bnez v0, 0xd6b8 | goto label_70;
| }
0x0000d360 lw v0, 0x4c(sp) | v0 = *(var_4ch);
| label_20:
0x0000d364 addiu v1, zero, 1 | v1 = 1;
0x0000d368 sb v1, 0x22c(v0) | *(v0) = v1;
0x0000d36c addiu v1, zero, 2 | v1 = 2;
0x0000d370 sb v1, 0x22e(v0) | *((v0 + 558)) = v1;
0x0000d374 b 0xc2ec | goto label_7;
| label_54:
0x0000d378 lw v0, 0x28(s4) | v0 = *((s4 + 10));
0x0000d37c ori v0, v0, 1 | v0 |= 1;
0x0000d380 sw v0, 0x28(s4) | *((s4 + 10)) = v0;
0x0000d384 b 0xc800 | goto label_2;
| label_33:
0x0000d388 lw a2, -0x7fd0(gp) | a2 = *(gp);
0x0000d38c lw t9, -0x7914(gp) | t9 = sym.imp.com_err;
0x0000d390 lw a0, 4(s4) | a0 = *((s4 + 1));
| /* str.The__n_and__D_options_are_incompatible. */
0x0000d394 addiu a3, a3, 0x5108 | a3 += 0x5108;
| /* esilref: '&s' */
0x0000d398 addiu a2, a2, 0x62f4 | a2 += 0x62f4;
0x0000d39c move a1, zero | a1 = 0;
0x0000d3a0 jalr t9 | t9 ();
0x0000d3a4 lw gp, 0x18(sp) | gp = *(var_18h);
0x0000d3a8 lw a0, 0x4c(sp) | a0 = *(var_4ch);
0x0000d3ac lw t9, -0x7fb8(gp) | t9 = sym.fatal_error;
0x0000d3b0 move a1, zero | a1 = 0;
0x0000d3b4 bal 0x29d10 | sym_fatal_error ();
0x0000d3b8 lw gp, 0x18(sp) | gp = *(var_18h);
0x0000d3bc lw s4, 0x4c(sp) | s4 = *(var_4ch);
0x0000d3c0 b 0xc7f0 | goto label_8;
| label_46:
0x0000d3c4 lw v0, 0x28(s4) | v0 = *((s4 + 10));
| if (v1 == v0) {
0x0000d3c8 bnel v1, v0, 0xcba0 | goto label_9;
| }
0x0000d3cc lw s3, 0x40(sp) | s3 = *(var_40h);
0x0000d3d0 lw a1, 0x3c(sp) | a1 = *(var_3ch);
0x0000d3d4 lw a2, -0x7fd0(gp) | a2 = *(gp);
0x0000d3d8 lw a0, 0x29c(s4) | a0 = *((s4 + 167));
0x0000d3dc lw t9, -0x7fa4(gp) | t9 = sym.profile_get_integer;
0x0000d3e0 sll v0, s3, 0x16 | v0 = s3 << 0x16;
0x0000d3e4 srl s2, a1, 0xa | s2 = a1 >> 0xa;
0x0000d3e8 sw s1, 0x14(sp) | *(var_14h) = s1;
0x0000d3ec sw v1, 0x10(sp) | *(var_10h_2) = v1;
0x0000d3f0 move a3, zero | a3 = 0;
| /* str.readahead_mem_pct */
0x0000d3f4 addiu a2, a2, 0x54fc | a2 += 0x54fc;
| /* str.options */
0x0000d3f8 addiu a1, s0, 0x54e4 | a1 = s0 + 0x54e4;
0x0000d3fc or s2, v0, s2 | s2 = v0 | s2;
0x0000d400 jalr t9 | t9 ();
0x0000d404 lw a0, 0x48(sp) | a0 = *(var_48h);
0x0000d408 lw gp, 0x18(sp) | gp = *(var_18h);
0x0000d40c sltiu v0, a0, 0x65 | v0 = (a0 < 0x65) ? 1 : 0;
0x0000d410 srl s3, s3, 0xa | s3 >>= 0xa;
| if (v0 != 0) {
0x0000d414 bnez v0, 0xd630 | goto label_71;
| }
0x0000d418 lw s4, 0x4c(sp) | s4 = *(var_4ch);
| label_17:
0x0000d41c lw a2, -0x7fd0(gp) | a2 = *(gp);
0x0000d420 lw a0, 0x29c(s4) | a0 = *((s4 + 167));
0x0000d424 lw t9, -0x7fa4(gp) | t9 = sym.profile_get_integer;
0x0000d428 addiu s5, zero, -1 | s5 = -1;
0x0000d42c sw s1, 0x14(sp) | *(var_14h) = s1;
0x0000d430 sw s5, 0x10(sp) | *(var_10h_2) = s5;
0x0000d434 move a3, zero | a3 = 0;
| /* str.readahead_kb */
0x0000d438 addiu a2, a2, 0x51a4 | a2 += 0x51a4;
| /* str.options */
0x0000d43c addiu a1, s0, 0x54e4 | a1 = s0 + 0x54e4;
0x0000d440 jalr t9 | t9 ();
0x0000d444 lw v0, 0x48(sp) | v0 = *(var_48h);
0x0000d448 lw gp, 0x18(sp) | gp = *(var_18h);
0x0000d44c lw s4, 0x4c(sp) | s4 = *(var_4ch);
| if (v0 < 0) {
0x0000d450 bltz v0, 0xd724 | goto label_72;
| }
0x0000d454 sra v1, v0, 0x1f | v1 = v0 >> 0x1f;
0x0000d458 sw v0, 0x2c0(s4) | *((s4 + 176)) = v0;
0x0000d45c sw v1, 0x2c4(s4) | *(s4) = v1;
| label_22:
0x0000d460 sltu a0, s3, v1 | a0 = (s3 < v1) ? 1 : 0;
| label_23:
0x0000d464 sw s2, 0x2c0(s4) | *((s4 + 176)) = s2;
| if (a0 == 0) {
0x0000d468 bnel a0, zero, 0xd484 | goto label_73;
| }
0x0000d46c lw v0, 0x28(s4) | v0 = *((s4 + 10));
| if (v1 == s3) {
0x0000d470 bnel v1, s3, 0xcba0 | goto label_9;
| }
0x0000d474 sltu v0, s2, v0 | v0 = (s2 < v0) ? 1 : 0;
| if (v0 == 0) {
0x0000d478 beql v0, zero, 0xcba0 | goto label_9;
| }
0x0000d47c lw v0, 0x28(s4) | v0 = *((s4 + 10));
0x0000d480 sw s2, 0x2c0(s4) | *((s4 + 176)) = s2;
| label_73:
0x0000d484 sw s3, 0x2c4(s4) | *(s4) = s3;
0x0000d488 b 0xcb9c | goto label_10;
| label_45:
0x0000d48c lw a2, -0x7fd0(gp) | a2 = *(gp);
0x0000d490 lw t9, -0x7914(gp) | t9 = sym.imp.com_err;
0x0000d494 lw a0, 4(s4) | a0 = *((s4 + 1));
| /* str.The__E_bmap2extent_and_fixes_only_options_are_incompatible. */
0x0000d498 addiu a3, a3, 0x548c | a3 += 0x548c;
| /* esilref: '&s' */
0x0000d49c addiu a2, a2, 0x62f4 | a2 += 0x62f4;
0x0000d4a0 move a1, zero | a1 = 0;
0x0000d4a4 jalr t9 | t9 ();
0x0000d4a8 lw gp, 0x18(sp) | gp = *(var_18h);
0x0000d4ac lw a0, 0x4c(sp) | a0 = *(var_4ch);
0x0000d4b0 lw t9, -0x7fb8(gp) | t9 = sym.fatal_error;
0x0000d4b4 move a1, zero | a1 = 0;
0x0000d4b8 bal 0x29d10 | sym_fatal_error ();
0x0000d4bc lw gp, 0x18(sp) | gp = *(var_18h);
0x0000d4c0 b 0xca3c | goto label_11;
| label_44:
0x0000d4c4 lw a2, -0x7fd0(gp) | a2 = *(gp);
0x0000d4c8 lw t9, -0x7914(gp) | t9 = sym.imp.com_err;
0x0000d4cc lw a0, 4(s4) | a0 = *((s4 + 1));
| /* str.The__D_and__E_fixes_only_options_are_incompatible. */
0x0000d4d0 addiu a3, a3, 0x5458 | a3 += 0x5458;
| /* esilref: '&s' */
0x0000d4d4 addiu a2, a2, 0x62f4 | a2 += 0x62f4;
0x0000d4d8 move a1, zero | a1 = 0;
0x0000d4dc jalr t9 | t9 ();
0x0000d4e0 lw gp, 0x18(sp) | gp = *(var_18h);
0x0000d4e4 lw a0, 0x4c(sp) | a0 = *(var_4ch);
0x0000d4e8 lw t9, -0x7fb8(gp) | t9 = sym.fatal_error;
0x0000d4ec move a1, zero | a1 = 0;
0x0000d4f0 bal 0x29d10 | sym_fatal_error ();
0x0000d4f4 lw gp, 0x18(sp) | gp = *(var_18h);
0x0000d4f8 lw s4, 0x4c(sp) | s4 = *(var_4ch);
0x0000d4fc b 0xca28 | goto label_12;
| label_36:
0x0000d500 lw a2, -0x7fd0(gp) | a2 = *(gp);
0x0000d504 sll a3, a3, 2 | a3 <<= 2;
0x0000d508 lw t9, -0x7914(gp) | t9 = sym.imp.com_err;
0x0000d50c lw a0, 4(v1) | a0 = *((v1 + 1));
0x0000d510 lwx a3, a3(s1) | __asm ("lwx a3, a3(s1)");
| /* str.Unable_to_resolve__s */
0x0000d514 addiu a2, a2, 0x50c4 | a2 += 0x50c4;
0x0000d518 move a1, zero | a1 = 0;
0x0000d51c jalr t9 | t9 ();
0x0000d520 lw gp, 0x18(sp) | gp = *(var_18h);
0x0000d524 lw a0, 0x4c(sp) | a0 = *(var_4ch);
0x0000d528 lw t9, -0x7fb8(gp) | t9 = sym.fatal_error;
0x0000d52c move a1, zero | a1 = 0;
0x0000d530 bal 0x29d10 | sym_fatal_error ();
0x0000d534 lw gp, 0x18(sp) | gp = *(var_18h);
0x0000d538 b 0xc864 | goto label_13;
| label_61:
0x0000d53c lw v0, 0x28(s3) | v0 = *((s3 + 10));
0x0000d540 lui v1, 0xfffe | v1 = 0xfffeffff;
0x0000d544 ori v1, v1, 0xffff |
0x0000d548 and v0, v0, v1 | v0 &= v1;
0x0000d54c sw v0, 0x28(s3) | *((s3 + 10)) = v0;
0x0000d550 b 0xc90c | goto label_1;
| label_31:
0x0000d554 lw v0, 0x4c(sp) | v0 = *(var_4ch);
0x0000d558 lw t9, -0x7fd8(gp) | t9 = *(gp);
0x0000d55c addiu t9, t9, -0x3ec4 | t9 += -0x3ec4;
0x0000d560 lw a0, 4(v0) | a0 = *((v0 + 1));
0x0000d564 bal 0xc13c | fcn_0000c13c ();
| label_53:
0x0000d568 lw a2, -0x7fd0(gp) | a2 = *(gp);
0x0000d56c lw t9, -0x7914(gp) | t9 = sym.imp.com_err;
0x0000d570 lw a0, 4(s4) | a0 = *((s4 + 1));
| /* str.The__n_and__c_options_are_incompatible. */
0x0000d574 addiu a3, a3, 0x5130 | a3 += 0x5130;
| /* esilref: '&s' */
0x0000d578 addiu a2, a2, 0x62f4 | a2 += 0x62f4;
0x0000d57c move a1, zero | a1 = 0;
0x0000d580 jalr t9 | t9 ();
0x0000d584 lw gp, 0x18(sp) | gp = *(var_18h);
0x0000d588 lw a0, 0x4c(sp) | a0 = *(var_4ch);
0x0000d58c lw t9, -0x7fb8(gp) | t9 = sym.fatal_error;
0x0000d590 move a1, zero | a1 = 0;
0x0000d594 bal 0x29d10 | sym_fatal_error ();
0x0000d598 lw s4, 0x4c(sp) | s4 = *(var_4ch);
0x0000d59c lw v0, 0x28(s4) | v0 = *((s4 + 10));
0x0000d5a0 andi v0, v0, 8 | v0 &= 8;
0x0000d5a4 lw gp, 0x18(sp) | gp = *(var_18h);
| if (v0 != 0) {
0x0000d5a8 bnez v0, 0xcd80 | goto label_14;
| }
0x0000d5ac lw a0, (s3) | a0 = *(s3);
0x0000d5b0 b 0xc804 | goto label_15;
| label_43:
0x0000d5b4 lw v0, 0x38(sp) | v0 = *(var_38h);
0x0000d5b8 lw a0, -0x7fd0(gp) | a0 = *(gp);
0x0000d5bc lw t9, -0x7938(gp) | t9 = sym.imp.fwrite;
0x0000d5c0 lw a3, (v0) | a3 = *(v0);
0x0000d5c4 addiu a2, zero, 0x1f | a2 = 0x1f;
0x0000d5c8 addiu a1, zero, 1 | a1 = 1;
| /* str.Invalid_readahead_buffer_size._n */
0x0000d5cc addiu a0, a0, 0x51b4 | a0 += 0x51b4;
0x0000d5d0 jalr t9 | t9 ();
0x0000d5d4 addiu s2, s2, 1 | s2++;
0x0000d5d8 lw gp, 0x18(sp) | gp = *(var_18h);
0x0000d5dc b 0xc90c | goto label_1;
| label_59:
0x0000d5e0 lw v0, 0x28(s3) | v0 = *((s3 + 10));
0x0000d5e4 ori v0, v0, 0x2000 | v0 |= 0x2000;
0x0000d5e8 sw v0, 0x28(s3) | *((s3 + 10)) = v0;
0x0000d5ec b 0xc90c | goto label_1;
| label_56:
0x0000d5f0 lw v1, 0x4c(sp) | v1 = *(var_4ch);
0x0000d5f4 lw a2, -0x7fd0(gp) | a2 = *(gp);
0x0000d5f8 lw a0, -0x7fd0(gp) | a0 = *(gp);
0x0000d5fc lw t9, -0x7914(gp) | t9 = sym.imp.com_err;
0x0000d600 lw a3, 8(v1) | a3 = *((v1 + 2));
0x0000d604 move a1, v0 | a1 = v0;
| /* str.while_trying_to_flush__s */
0x0000d608 addiu a2, a2, 0x5530 | a2 += 0x5530;
| /* str.ext2fs_sync_device */
0x0000d60c addiu a0, a0, 0x554c | a0 += 0x554c;
0x0000d610 jalr t9 | t9 ();
0x0000d614 lw gp, 0x18(sp) | gp = *(var_18h);
0x0000d618 lw a0, 0x4c(sp) | a0 = *(var_4ch);
0x0000d61c lw t9, -0x7fb8(gp) | t9 = sym.fatal_error;
0x0000d620 move a1, zero | a1 = 0;
0x0000d624 bal 0x29d10 | sym_fatal_error ();
0x0000d628 lw gp, 0x18(sp) | gp = *(var_18h);
0x0000d62c b 0xcf38 | goto label_16;
| label_71:
0x0000d630 sra v0, a0, 0x1f | v0 = a0 >> 0x1f;
0x0000d634 mult s3, a0 | __asm ("mult s3, a0");
0x0000d638 multu ac1, a0, s2 | __asm ("multu ac1, a0, s2");
0x0000d63c madd v0, s2 | __asm ("madd v0, s2");
0x0000d640 mfhi a1, ac1 | __asm ("mfhi a1, ac1");
0x0000d644 mflo v0 | __asm ("mflo v0");
0x0000d648 mflo a0, ac1 | __asm ("mflo a0, ac1");
0x0000d64c lw t9, -0x7fa0(gp) | t9 = *(gp);
0x0000d650 lw s4, 0x4c(sp) | s4 = *(var_4ch);
0x0000d654 addiu a2, zero, 0x64 | a2 = 0x64;
0x0000d658 addu a1, v0, a1 | a1 = v0 + a1;
0x0000d65c move a3, zero | a3 = 0;
0x0000d660 jalr t9 | t9 ();
0x0000d664 lw gp, 0x18(sp) | gp = *(var_18h);
0x0000d668 sw v0, 0x2c0(s4) | *((s4 + 176)) = v0;
0x0000d66c sw v1, 0x2c4(s4) | *(s4) = v1;
0x0000d670 b 0xd41c | goto label_17;
| label_51:
0x0000d674 lw t9, -0x79bc(gp) | t9 = sym.imp.malloc;
0x0000d678 addiu a0, zero, 0xc | a0 = 0xc;
0x0000d67c jalr t9 | t9 ();
0x0000d680 move s0, v0 | s0 = v0;
0x0000d684 lw gp, 0x18(sp) | gp = *(var_18h);
| if (v0 == 0) {
0x0000d688 beqz v0, 0xd824 | goto label_74;
| }
0x0000d68c lw v1, -0x7fd0(gp) | v1 = *(gp);
| /* str.PATH_sbin */
0x0000d690 addiu v0, v1, 0x55e0 | v0 = v1 + 0x55e0;
0x0000d694 lw a1, 0x55e0(v1) | a1 = *((v1 + 5496));
0x0000d698 lw a0, 4(v0) | a0 = *((v0 + 1));
0x0000d69c lhu v1, 8(v0) | v1 = *((v0 + 4));
0x0000d6a0 lbu v0, 0xa(v0) | v0 = *((v0 + 10));
0x0000d6a4 sw a1, (s0) | *(s0) = a1;
0x0000d6a8 sw a0, 4(s0) | *((s0 + 1)) = a0;
0x0000d6ac sh v1, 8(s0) | *((s0 + 4)) = v1;
0x0000d6b0 sb v0, 0xa(s0) | *((s0 + 10)) = v0;
0x0000d6b4 b 0xcd1c | goto label_18;
| label_70:
0x0000d6b8 lw t9, -0x7c5c(gp) | t9 = sym.imp.isatty;
0x0000d6bc addiu a0, zero, 1 | a0 = 1;
0x0000d6c0 jalr t9 | t9 ();
0x0000d6c4 lw gp, 0x18(sp) | gp = *(var_18h);
| if (v0 != 0) {
0x0000d6c8 bnez v0, 0xc2e0 | goto label_19;
| }
0x0000d6cc lw v0, 0x4c(sp) | v0 = *(var_4ch);
0x0000d6d0 b 0xd364 | goto label_20;
| label_55:
0x0000d6d4 lw t9, -0x7aa4(gp) | t9 = sym.imp.__errno_location;
0x0000d6d8 jalr t9 | t9 ();
0x0000d6dc nop |
0x0000d6e0 lw gp, 0x18(sp) | gp = *(var_18h);
0x0000d6e4 lw a1, (v0) | a1 = *(v0);
0x0000d6e8 lw v0, 0x4c(sp) | v0 = *(var_4ch);
0x0000d6ec lw a2, -0x7fd0(gp) | a2 = *(gp);
0x0000d6f0 lw a0, -0x7fa8(gp) | a0 = *((gp - 8170));
0x0000d6f4 lw a3, 8(v0) | a3 = *((v0 + 2));
0x0000d6f8 lw t9, -0x7914(gp) | t9 = sym.imp.com_err;
| /* str.while_opening__s_for_flushing */
0x0000d6fc addiu a2, a2, 0x5510 | a2 += 0x5510;
| /* esilref: 'open' */
0x0000d700 addiu a0, a0, -0x24a8 | a0 += -0x24a8;
0x0000d704 jalr t9 | t9 ();
0x0000d708 lw gp, 0x18(sp) | gp = *(var_18h);
0x0000d70c lw a0, 0x4c(sp) | a0 = *(var_4ch);
0x0000d710 lw t9, -0x7fb8(gp) | t9 = sym.fatal_error;
0x0000d714 move a1, zero | a1 = 0;
0x0000d718 bal 0x29d10 | sym_fatal_error ();
0x0000d71c lw gp, 0x18(sp) | gp = *(var_18h);
0x0000d720 b 0xcf20 | goto label_21;
| label_72:
0x0000d724 lw v0, 0x2c0(s4) | v0 = *((s4 + 176));
0x0000d728 lw v1, 0x2c4(s4) | v1 = *(s4);
| if (v0 != s5) {
0x0000d72c bne v0, s5, 0xd460 | goto label_22;
| }
| if (v1 == v0) {
0x0000d730 beql v1, v0, 0xcba0 | goto label_9;
| }
0x0000d734 lw v0, 0x28(s4) | v0 = *((s4 + 10));
0x0000d738 sltu a0, s3, v1 | a0 = (s3 < v1) ? 1 : 0;
0x0000d73c b 0xd464 | goto label_23;
| label_60:
0x0000d740 lw v0, 0x28(s3) | v0 = *((s3 + 10));
0x0000d744 addiu v1, zero, -0x2001 | v1 = -0x2001;
0x0000d748 and v0, v0, v1 | v0 &= v1;
0x0000d74c sw v0, 0x28(s3) | *((s3 + 10)) = v0;
0x0000d750 b 0xc90c | goto label_1;
| label_62:
0x0000d754 lw v0, 0x28(s3) | v0 = *((s3 + 10));
0x0000d758 lui v1, 1 | v1 = 0x10000;
0x0000d75c or v0, v0, v1 | v0 |= v1;
0x0000d760 sw v0, 0x28(s3) | *((s3 + 10)) = v0;
0x0000d764 b 0xc90c | goto label_1;
| label_63:
0x0000d768 lw v0, 0x28(s3) | v0 = *((s3 + 10));
0x0000d76c lui v1, 2 | v1 = 0x20000;
0x0000d770 or v0, v0, v1 | v0 |= v1;
0x0000d774 sw v0, 0x28(s3) | *((s3 + 10)) = v0;
0x0000d778 b 0xc90c | goto label_1;
| label_64:
0x0000d77c lw v0, 0x28(s3) | v0 = *((s3 + 10));
0x0000d780 lui v1, 0xfffd | v1 = 0xfffdffff;
0x0000d784 ori v1, v1, 0xffff |
0x0000d788 and v0, v0, v1 | v0 &= v1;
0x0000d78c sw v0, 0x28(s3) | *((s3 + 10)) = v0;
0x0000d790 b 0xc90c | goto label_1;
| label_65:
0x0000d794 lw t9, -0x7fbc(gp) | t9 = sym.string_copy;
| if (s5 == 0) {
0x0000d798 beqz s5, 0xcf78 | goto label_24;
| }
0x0000d79c move a2, zero | a2 = 0;
0x0000d7a0 move a1, s5 | a1 = s5;
0x0000d7a4 move a0, s3 | a0 = s3;
0x0000d7a8 bal 0x29f78 | sym_string_copy ();
0x0000d7ac lw gp, 0x18(sp) | gp = *(var_18h);
0x0000d7b0 sw v0, 0x18(s3) | *((s3 + 6)) = v0;
0x0000d7b4 b 0xc90c | goto label_1;
| label_67:
0x0000d7b8 lw v0, 0x28(s3) | v0 = *((s3 + 10));
0x0000d7bc ori v0, v0, 0x4000 | v0 |= 0x4000;
0x0000d7c0 sw v0, 0x28(s3) | *((s3 + 10)) = v0;
0x0000d7c4 b 0xc90c | goto label_1;
| label_66:
0x0000d7c8 lw t9, -0x7fbc(gp) | t9 = sym.string_copy;
| if (s5 == 0) {
0x0000d7cc beqz s5, 0xcf78 | goto label_24;
| }
0x0000d7d0 move a2, zero | a2 = 0;
0x0000d7d4 move a1, s5 | a1 = s5;
0x0000d7d8 move a0, s3 | a0 = s3;
0x0000d7dc bal 0x29f78 | sym_string_copy ();
0x0000d7e0 lw gp, 0x18(sp) | gp = *(var_18h);
0x0000d7e4 sw v0, 0x20(s3) | *((s3 + 8)) = v0;
0x0000d7e8 b 0xc90c | goto label_1;
| label_52:
0x0000d7ec lw a1, -0x7fd0(gp) | a1 = *(gp);
0x0000d7f0 lw t9, -0x7fb8(gp) | t9 = sym.fatal_error;
0x0000d7f4 lw a0, 0x4c(sp) | a0 = *(var_4ch);
| /* str.Couldnt_malloc___newpath */
0x0000d7f8 addiu a1, a1, 0x55ec | a1 += 0x55ec;
0x0000d7fc bal 0x29d10 | sym_fatal_error ();
0x0000d800 lw gp, 0x18(sp) | gp = *(var_18h);
0x0000d804 addiu a2, zero, 0xb | a2 = 0xb;
0x0000d808 move a0, zero | a0 = 0;
0x0000d80c lw a1, -0x7fd0(gp) | a1 = *(gp);
0x0000d810 lw t9, -0x7834(gp) | t9 = sym.imp.memcpy;
| /* str.PATH_sbin */
0x0000d814 addiu a1, a1, 0x55e0 | a1 += 0x55e0;
0x0000d818 jalr t9 | t9 ();
0x0000d81c lw gp, 0x18(sp) | gp = *(var_18h);
0x0000d820 b 0xcce8 | goto label_25;
| label_74:
0x0000d824 lw a1, -0x7fd0(gp) | a1 = *(gp);
0x0000d828 lw t9, -0x7fb8(gp) | t9 = sym.fatal_error;
0x0000d82c lw a0, 0x4c(sp) | a0 = *(var_4ch);
| /* str.Couldnt_malloc___newpath */
0x0000d830 addiu a1, a1, 0x55ec | a1 += 0x55ec;
0x0000d834 bal 0x29d10 | sym_fatal_error ();
0x0000d838 lw gp, 0x18(sp) | gp = *(var_18h);
0x0000d83c addiu a2, zero, 0xb | a2 = 0xb;
0x0000d840 move a0, zero | a0 = 0;
0x0000d844 lw a1, -0x7fd0(gp) | a1 = *(gp);
0x0000d848 lw t9, -0x7834(gp) | t9 = sym.imp.memcpy;
| /* str.PATH_sbin */
0x0000d84c addiu a1, a1, 0x55e0 | a1 += 0x55e0;
0x0000d850 jalr t9 | t9 ();
0x0000d854 lw gp, 0x18(sp) | gp = *(var_18h);
0x0000d858 b 0xcd1c | goto label_18;
| label_69:
0x0000d85c lw v0, 0x38(sp) | v0 = *(var_38h);
0x0000d860 lw a2, -0x7fd0(gp) | a2 = *(gp);
0x0000d864 lw t9, -0x7c2c(gp) | t9 = sym.imp.__fprintf_chk;
0x0000d868 lw a0, (v0) | a0 = *(v0);
0x0000d86c move a3, s1 | a3 = s1;
| /* str.Unknown_extended_option:__s_n */
0x0000d870 addiu a2, a2, 0x528c | a2 += 0x528c;
0x0000d874 addiu a1, zero, 1 | a1 = 1;
0x0000d878 jalr t9 | t9 ();
0x0000d87c addiu s2, s2, 1 | s2++;
0x0000d880 lw gp, 0x18(sp) | gp = *(var_18h);
0x0000d884 b 0xc90c | goto label_1;
| label_68:
0x0000d888 lw v0, 0x28(s3) | v0 = *((s3 + 10));
0x0000d88c ori v0, v0, 0x8000 | v0 |= 0x8000;
0x0000d890 sw v0, 0x28(s3) | *((s3 + 10)) = v0;
0x0000d894 b 0xc90c | goto label_1;
| label_32:
0x0000d898 lw t9, -0x7fd8(gp) | t9 = *(gp);
0x0000d89c addiu t9, t9, -0x3ec4 | t9 += -0x3ec4;
0x0000d8a0 lw a0, 4(s4) | a0 = *((s4 + 1));
0x0000d8a4 bal 0xc13c | fcn_0000c13c ();
| label_50:
0x0000d8a8 lw v0, 0x38(sp) | v0 = *(var_38h);
0x0000d8ac lw a0, -0x7fd0(gp) | a0 = *(gp);
0x0000d8b0 lw t9, -0x7938(gp) | t9 = sym.imp.fwrite;
0x0000d8b4 lw a3, (v0) | a3 = *(v0);
| /* str.The__c_and_the__l__L_options_may_not_be_both_used_at_the_same_time._n */
0x0000d8b8 addiu a0, a0, 0x5560 | a0 += 0x5560;
0x0000d8bc addiu a2, zero, 0x44 | a2 = 0x44;
0x0000d8c0 addiu a1, zero, 1 | a1 = 1;
0x0000d8c4 jalr t9 | t9 ();
0x0000d8c8 lw gp, 0x18(sp) | gp = *(var_18h);
0x0000d8cc lw t9, -0x7a08(gp) | t9 = sym.imp.exit;
0x0000d8d0 addiu a0, zero, 0x10 | a0 = 0x10;
0x0000d8d4 jalr t9 | t9 ();
| label_26:
0x0000d8d8 lw t9, -0x78a4(gp) | t9 = sym.imp.__stack_chk_fail;
0x0000d8dc jalr t9 | t9 ();
0x0000d8e0 nop |
| }
; assembly | /* r2dec pseudo code output */
| /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/sbin/fsck.ext3 @ 0x397d4 */
| #include <stdint.h>
|
; (fcn) fcn.000397d4 () | void fcn_000397d4 () {
| label_12:
0x000397d4 lui gp, 3 |
0x000397d8 addiu gp, gp, 0x5ec |
0x000397dc addu gp, gp, t9 | gp += t9;
0x000397e0 addiu sp, sp, -0x48 |
0x000397e4 lw v0, 8(a1) | v0 = *((a1 + 2));
0x000397e8 sw s2, 0x2c(sp) | *(var_2ch) = s2;
0x000397ec lw s2, -0x7838(gp) | s2 = *((gp - 7694));
0x000397f0 sw s0, 0x24(sp) | *(var_24h) = s0;
0x000397f4 lw v1, (a1) | v1 = *(a1);
0x000397f8 move s0, a1 | s0 = a1;
0x000397fc lw a2, (s2) | a2 = *(s2);
0x00039800 sw gp, 0x10(sp) | *(var_10h) = gp;
0x00039804 addiu v0, v0, 1 | v0++;
0x00039808 addiu a1, zero, 2 | a1 = 2;
0x0003980c sw ra, 0x44(sp) | *(var_44h) = ra;
0x00039810 sw s7, 0x40(sp) | *(var_40h) = s7;
0x00039814 sw s6, 0x3c(sp) | *(var_3ch) = s6;
0x00039818 sw s5, 0x38(sp) | *(var_38h) = s5;
0x0003981c sw s4, 0x34(sp) | *(var_34h) = s4;
0x00039820 sw s3, 0x30(sp) | *(var_30h) = s3;
0x00039824 sw s1, 0x28(sp) | *(var_28h) = s1;
0x00039828 sw a2, 0x1c(sp) | *(var_1ch) = a2;
0x0003982c sw v0, 8(s0) | *((s0 + 2)) = v0;
| if (v1 == a1) {
0x00039830 beq v1, a1, 0x39a18 | goto label_19;
| }
0x00039834 move s1, a0 | s1 = a0;
0x00039838 lb v0, (a0) | v0 = *(a0);
| if (v1 != 0) {
0x0003983c bnez v1, 0x39890 | goto label_20;
| }
0x00039840 addiu v1, zero, 0x5b | v1 = 0x5b;
0x00039844 addiu v0, zero, 1 | v0 = 1;
| if (v0 == v1) {
0x00039848 beq v0, v1, 0x39888 | goto label_21;
| }
| label_0:
0x0003984c move v0, zero | v0 = 0;
| do {
| label_1:
0x00039850 lw a0, 0x1c(sp) | a0 = *(var_1ch);
0x00039854 lw v1, (s2) | v1 = *(s2);
0x00039858 lw ra, 0x44(sp) | ra = *(var_44h);
| if (a0 != v1) {
0x0003985c bne a0, v1, 0x39dfc | goto label_22;
| }
0x00039860 lw s7, 0x40(sp) | s7 = *(var_40h);
0x00039864 lw s6, 0x3c(sp) | s6 = *(var_3ch);
0x00039868 lw s5, 0x38(sp) | s5 = *(var_38h);
0x0003986c lw s4, 0x34(sp) | s4 = *(var_34h);
0x00039870 lw s3, 0x30(sp) | s3 = *(var_30h);
0x00039874 lw s2, 0x2c(sp) | s2 = *(var_2ch);
0x00039878 lw s1, 0x28(sp) | s1 = *(var_28h);
0x0003987c lw s0, 0x24(sp) | s0 = *(var_24h);
0x00039880 addiu sp, sp, 0x48 |
0x00039884 jr ra | return v0;
| label_21:
0x00039888 sw v0, (s0) | *(s0) = v0;
0x0003988c lb v0, (a0) | v0 = *(a0);
| label_20:
0x00039890 move v0, zero | v0 = 0;
0x00039894 beqz v0, 0x39850 |
| } while (v0 == 0);
0x00039898 lw t9, -0x7a54(gp) | t9 = sym.imp.strlen;
0x0003989c move a0, s1 | a0 = s1;
0x000398a0 jalr t9 | t9 ();
0x000398a4 addu v0, s1, v0 | v0 = s1 + v0;
0x000398a8 sltu v1, s1, v0 | v1 = (s1 < v0) ? 1 : 0;
0x000398ac lw gp, 0x10(sp) | gp = *(var_10h);
| if (v1 == 0) {
0x000398b0 beqz v1, 0x398d8 | goto label_23;
| }
0x000398b4 addiu a1, zero, 0xa | a1 = 0xa;
0x000398b8 addiu a0, zero, 0xd | a0 = 0xd;
| do {
0x000398bc lb v1, -1(v0) | v1 = *((v0 - 1));
0x000398c0 addiu v0, v0, -1 | v0 += -1;
| if (v1 != a1) {
0x000398c4 beq v1, a1, 0x398d0 |
0x000398c8 lw s3, -0x7fd0(gp) | s3 = *(gp);
| if (v1 != a0) {
0x000398cc bne v1, a0, 0x398dc | goto label_24;
| }
| }
0x000398d0 sb zero, 1(v0) | *((v0 + 1)) = 0;
0x000398d4 bne s1, v0, 0x398bc |
| } while (s1 != v0);
| label_23:
0x000398d8 lw s3, -0x7fd0(gp) | s3 = *(gp);
| /* fcn.00039214 */
| label_24:
0x000398dc addiu s3, s3, -0x6dec | s3 += -0x6dec;
0x000398e0 move t9, s3 | t9 = s3;
0x000398e4 move a0, s1 | a0 = s1;
0x000398e8 bal 0x39214 | fcn_00039214 ();
0x000398ec move s1, v0 | s1 = v0;
0x000398f0 lb v0, (v0) | v0 = *(v0);
0x000398f4 lw gp, 0x10(sp) | gp = *(var_10h);
| if (v0 == 0) {
0x000398f8 beqz v0, 0x3984c | goto label_0;
| }
0x000398fc addiu v1, zero, 0x23 | v1 = 0x23;
0x00039900 addiu v1, zero, 0x3b | v1 = 0x3b;
| if (v0 == v1) {
0x00039904 beq v0, v1, 0x3984c | goto label_0;
| }
0x00039908 addiu v1, zero, 0x5b | v1 = 0x5b;
| if (v0 == v1) {
0x0003990c beq v0, v1, 0x3984c | goto label_0;
| }
0x00039910 addiu v1, zero, 0x7d | v1 = 0x7d;
| if (v0 != v1) {
0x00039914 beq v0, v1, 0x39b00 |
0x00039918 lw t9, -0x7a44(gp) | t9 = sym.imp.strchr;
| if (v0 != v1) {
0x0003991c beq v0, v1, 0x39a48 |
0x00039920 addiu a1, zero, 0x3d | a1 = 0x3d;
0x00039924 move a0, s1 | a0 = s1;
0x00039928 jalr t9 | t9 ();
0x0003992c move s4, v0 | s4 = v0;
0x00039930 lw gp, 0x10(sp) | gp = *(var_10h);
| if (v0 != 0) {
0x00039934 beqz v0, 0x39a0c |
| if (s1 == v0) {
0x00039938 beql s1, v0, 0x39a10 | goto label_25;
| }
0x0003993c lui v0, 0xaaca | v0 = 0xaaca0000;
0x00039940 sb zero, (v0) | *(v0) = 0;
0x00039944 lb v1, (s1) | v1 = *(s1);
0x00039948 addiu v0, zero, 0x22 | v0 = 0x22;
0x0003994c lw t9, -0x7fd0(gp) | t9 = *(gp);
| if (v1 == v0) {
0x00039950 beq v1, v0, 0x39d18 | goto label_26;
| }
0x00039954 lw t9, -0x7fd0(gp) | t9 = *(gp);
| /* fcn.00039734 */
0x00039958 addiu t9, t9, -0x68cc | t9 += -0x68cc;
0x0003995c move a0, s1 | a0 = s1;
0x00039960 bal 0x39734 | fcn_00039734 ();
0x00039964 lb v1, (v0) | v1 = *(v0);
0x00039968 move t9, s3 | t9 = s3;
| if (v1 != 0) {
0x0003996c beqz v1, 0x39978 |
0x00039970 sb zero, (v0) | *(v0) = 0;
0x00039974 addiu v0, v0, 1 | v0++;
| }
0x00039978 move a0, v0 | a0 = v0;
0x0003997c bal 0x39214 | fcn_00039214 ();
0x00039980 lb v0, (v0) | v0 = *(v0);
0x00039984 lw gp, 0x10(sp) | gp = *(var_10h);
| if (v0 != 0) {
0x00039988 bnez v0, 0x39a0c | goto label_27;
| }
0x0003998c move t9, s3 | t9 = s3;
| label_6:
0x00039990 addiu a0, s4, 1 | a0 = s4 + 1;
0x00039994 bal 0x39214 | fcn_00039214 ();
0x00039998 move s4, v0 | s4 = v0;
0x0003999c lb v0, (v0) | v0 = *(v0);
0x000399a0 addiu v1, zero, 0x22 | v1 = 0x22;
0x000399a4 lw gp, 0x10(sp) | gp = *(var_10h);
| if (v0 == v1) {
0x000399a8 beq v0, v1, 0x39a90 | goto label_28;
| }
| if (v0 == 0) {
0x000399ac beql v0, zero, 0x39cac | goto label_29;
| }
0x000399b0 addiu v0, zero, 2 | v0 = 2;
0x000399b4 addiu s5, zero, 0x23 | s5 = 0x23;
0x000399b8 addiu s6, zero, 0x3b | s6 = 0x3b;
| if (v0 == s5) {
0x000399bc beq v0, s5, 0x39ca8 | goto label_30;
| }
0x000399c0 addiu v1, zero, 0x7b | v1 = 0x7b;
| if (v0 == s6) {
0x000399c4 beq v0, s6, 0x39ca8 | goto label_30;
| }
0x000399c8 lw t9, -0x7fd0(gp) | t9 = *(gp);
| if (v0 == v1) {
0x000399cc beq v0, v1, 0x39db4 | goto label_31;
| }
| /* fcn.00039734 */
0x000399d0 addiu t9, t9, -0x68cc | t9 += -0x68cc;
0x000399d4 move a0, s4 | a0 = s4;
0x000399d8 bal 0x39734 | fcn_00039734 ();
0x000399dc move a0, v0 | a0 = v0;
0x000399e0 move t9, s3 | t9 = s3;
0x000399e4 move s7, v0 | s7 = v0;
0x000399e8 bal 0x39214 | fcn_00039214 ();
0x000399ec lb v0, (v0) | v0 = *(v0);
0x000399f0 lw gp, 0x10(sp) | gp = *(var_10h);
0x000399f4 sb zero, (s7) | *(s7) = 0;
| if (v0 == 0) {
0x000399f8 beqz v0, 0x39aa8 | goto label_32;
| }
0x000399fc lw t9, -0x7a44(gp) | t9 = sym.imp.strchr;
| if (v0 == s5) {
0x00039a00 beq v0, s5, 0x39aac | goto label_33;
| }
0x00039a04 addiu a1, zero, 0x2a | a1 = 0x2a;
| if (v0 == s6) {
0x00039a08 beq v0, s6, 0x39ab0 | goto label_34;
| }
| }
| label_27:
0x00039a0c lui v0, 0xaaca | v0 = 0xaaca600f;
| label_25:
0x00039a10 addiu v0, v0, 0x600f |
0x00039a14 b 0x39850 | goto label_1;
| label_19:
0x00039a18 lw t9, -0x7fd0(gp) | t9 = *(gp);
| /* fcn.00039214 */
0x00039a1c addiu t9, t9, -0x6dec | t9 += -0x6dec;
0x00039a20 bal 0x39214 | fcn_00039214 ();
0x00039a24 nop |
0x00039a28 lb v1, (v0) | v1 = *(v0);
0x00039a2c addiu v0, zero, 0x7b | v0 = 0x7b;
0x00039a30 lw gp, 0x10(sp) | gp = *(var_10h);
| if (v1 != v0) {
0x00039a34 bne v1, v0, 0x39a84 | goto label_35;
| }
0x00039a38 addiu v0, zero, 1 | v0 = 1;
0x00039a3c sw v0, (s0) | *(s0) = v0;
0x00039a40 move v0, zero | v0 = 0;
0x00039a44 b 0x39850 | goto label_1;
| }
0x00039a48 lw v0, 4(s0) | v0 = *((s0 + 1));
0x00039a4c addiu a0, zero, 0x2a | a0 = 0x2a;
| if (v0 == 0) {
0x00039a50 beqz v0, 0x39df0 | goto label_36;
| }
0x00039a54 lb a1, 1(s1) | a1 = *((s1 + 1));
0x00039a58 lw v1, 0x10(s0) | v1 = *((s0 + 4));
| if (a1 == a0) {
0x00039a5c bne a1, a0, 0x39a70 |
0x00039a60 lbu a0, 0x10(v1) | a0 = *((v1 + 16));
0x00039a64 addiu a1, zero, 1 | a1 = 1;
0x00039a68 ins a0, a1, 0, 1 | __asm ("ins a0, a1, 0, 1");
0x00039a6c sb a0, 0x10(v1) | *((v1 + 16)) = a0;
| }
0x00039a70 lw v1, 0x18(v1) | v1 = *((v1 + 6));
0x00039a74 addiu v0, v0, -1 | v0 += -1;
0x00039a78 sw v1, 0x10(s0) | *((s0 + 4)) = v1;
0x00039a7c sw v0, 4(s0) | *((s0 + 1)) = v0;
0x00039a80 b 0x3984c | goto label_0;
| label_35:
0x00039a84 lui v0, 0xaaca | v0 = 0xaaca6011;
0x00039a88 addiu v0, v0, 0x6011 |
0x00039a8c b 0x39850 | goto label_1;
| label_28:
0x00039a90 lw t9, -0x7fd0(gp) | t9 = *(gp);
0x00039a94 addiu s4, s4, 1 | s4++;
| /* fcn.00039150 */
0x00039a98 addiu t9, t9, -0x6eb0 | t9 += -0x6eb0;
0x00039a9c move a0, s4 | a0 = s4;
0x00039aa0 bal 0x39150 | fcn_00039150 ();
0x00039aa4 lw gp, 0x10(sp) | gp = *(var_10h);
| label_32:
0x00039aa8 lw t9, -0x7a44(gp) | t9 = sym.imp.strchr;
| label_33:
0x00039aac addiu a1, zero, 0x2a | a1 = 0x2a;
| label_34:
0x00039ab0 move a0, s1 | a0 = s1;
0x00039ab4 jalr t9 | t9 ();
0x00039ab8 lw gp, 0x10(sp) | gp = *(var_10h);
| if (v0 == 0) {
0x00039abc beqz v0, 0x39d8c | goto label_37;
| }
0x00039ac0 lw t9, -0x7fd0(gp) | t9 = *(gp);
0x00039ac4 sb zero, (v0) | *(v0) = 0;
0x00039ac8 lw a0, 0x10(s0) | a0 = *((s0 + 4));
0x00039acc move a1, s1 | a1 = s1;
0x00039ad0 addiu a3, sp, 0x18 | a3 = sp + 0x18;
| /* fcn.000394b8 */
0x00039ad4 addiu t9, t9, -0x6b48 | t9 += -0x6b48;
0x00039ad8 move a2, s4 | a2 = s4;
0x00039adc bal 0x394b8 | fcn_000394b8 ();
0x00039ae0 lw v1, 0x18(sp) | v1 = *(var_18h_2);
0x00039ae4 addiu a1, zero, 1 | a1 = 1;
0x00039ae8 lw gp, 0x10(sp) | gp = *(var_10h);
0x00039aec lbu a0, 0x10(v1) | a0 = *((v1 + 16));
0x00039af0 move v0, zero | v0 = 0;
0x00039af4 ins a0, a1, 0, 1 | __asm ("ins a0, a1, 0, 1");
0x00039af8 sb a0, 0x10(v1) | *((v1 + 16)) = a0;
0x00039afc b 0x39850 | goto label_1;
| }
0x00039b00 lw v0, 4(s0) | v0 = *((s0 + 1));
0x00039b04 move t9, s3 | t9 = s3;
| if (v0 > 0) {
0x00039b08 bgtz v0, 0x39de4 | goto label_38;
| }
0x00039b0c addiu a0, s1, 1 | a0 = s1 + 1;
0x00039b10 bal 0x39214 | fcn_00039214 ();
0x00039b14 lw gp, 0x10(sp) | gp = *(var_10h);
0x00039b18 addiu a1, zero, 0x5d | a1 = 0x5d;
0x00039b1c move a0, v0 | a0 = v0;
0x00039b20 lw t9, -0x7a44(gp) | t9 = sym.imp.strchr;
0x00039b24 move s4, v0 | s4 = v0;
0x00039b28 jalr t9 | t9 ();
0x00039b2c move s1, v0 | s1 = v0;
0x00039b30 lw gp, 0x10(sp) | gp = *(var_10h);
| if (v0 == 0) {
0x00039b34 beqz v0, 0x39c50 | goto label_39;
| }
0x00039b38 lb v1, (s4) | v1 = *(s4);
0x00039b3c addiu v0, zero, 0x22 | v0 = 0x22;
0x00039b40 lw t9, -0x7cc0(gp) | t9 = sym.imp.__ctype_b_loc;
| if (v1 == v0) {
0x00039b44 beq v1, v0, 0x39d70 | goto label_40;
| }
0x00039b48 sb zero, (s1) | *(s1) = 0;
0x00039b4c jalr t9 | t9 ();
0x00039b50 addiu s1, s1, -1 | s1 += -1;
0x00039b54 lw gp, 0x10(sp) | gp = *(var_10h);
0x00039b58 b 0x39b6c |
| if (v1 == 0) {
| while (v1 != 0) {
0x00039b5c beql v1, zero, 0x39b90 | goto label_41;
| }
0x00039b60 lb v0, (s4) | v0 = *(s4);
0x00039b64 addiu s1, s1, -1 | s1 += -1;
0x00039b68 sb zero, 1(s1) | *((s1 + 1)) = 0;
0x00039b6c lb a0, (s1) | a0 = *(s1);
0x00039b70 lw v1, (v0) | v1 = *(v0);
0x00039b74 sll a0, a0, 1 | a0 <<= 1;
0x00039b78 addu v1, v1, a0 | v1 += a0;
0x00039b7c lhu v1, (v1) | v1 = *(v1);
0x00039b80 andi v1, v1, 0x2000 | v1 &= 0x2000;
0x00039b84 sltu v1, s4, s1 | v1 = (s4 < s1) ? 1 : 0;
0x00039b88 bnez v1, 0x39b5c |
| }
0x00039b8c lb v0, (s4) | v0 = *(s4);
| label_41:
0x00039b90 lui v0, 0xaaca | v0 = 0xaaca0000;
| if (v0 == 0) {
0x00039b94 beqz v0, 0x39c54 | goto label_42;
| }
| label_9:
0x00039b98 lw s6, 0xc(s0) | s6 = *((s0 + 3));
0x00039b9c lui v0, 0xaaca | v0 = 0xaaca6001;
0x00039ba0 addiu v0, v0, 0x6001 |
0x00039ba4 lw v1, (s6) | v1 = *(s6);
| if (v1 != v0) {
0x00039ba8 bne v1, v0, 0x39850 | goto label_1;
| }
0x00039bac nop |
0x00039bb0 lw s5, 0x14(s6) | s5 = *((s6 + 5));
0x00039bb4 lw t9, -0x7fd0(gp) | t9 = *(gp);
| if (s5 == 0) {
0x00039bb8 beqz s5, 0x39bf0 | goto label_43;
| }
| do {
0x00039bbc lw t9, -0x778c(gp) | t9 = sym.imp.strcmp;
| if (s4 != 0) {
0x00039bc0 beqz s4, 0x39bd8 |
0x00039bc4 lw a0, 4(s5) | a0 = *((s5 + 1));
0x00039bc8 move a1, s4 | a1 = s4;
0x00039bcc jalr t9 | t9 ();
0x00039bd0 lw gp, 0x10(sp) | gp = *(var_10h);
| if (v0 != 0) {
0x00039bd4 bnez v0, 0x39be4 | goto label_44;
| }
| }
0x00039bd8 lw v0, 8(s5) | v0 = *((s5 + 2));
| if (v0 == 0) {
0x00039bdc beql v0, zero, 0x39c5c | goto label_45;
| }
0x00039be0 lbu v0, 0x10(s5) | v0 = *((s5 + 16));
| label_44:
0x00039be4 lw s5, 0x1c(s5) | s5 = *((s5 + 7));
| label_2:
0x00039be8 lw t9, -0x7fd0(gp) | t9 = *(gp);
0x00039bec bnez s5, 0x39bbc |
| } while (s5 != 0);
| label_43:
0x00039bf0 addiu a3, s0, 0x10 | a3 = s0 + 0x10;
0x00039bf4 move a2, zero | a2 = 0;
0x00039bf8 move a1, s4 | a1 = s4;
| /* fcn.000394b8 */
0x00039bfc addiu t9, t9, -0x6b48 | t9 += -0x6b48;
0x00039c00 move a0, s6 | a0 = s6;
0x00039c04 bal 0x394b8 | fcn_000394b8 ();
0x00039c08 lw gp, 0x10(sp) | gp = *(var_10h);
| if (v0 != 0) {
0x00039c0c bnez v0, 0x39850 | goto label_1;
| }
0x00039c10 lb v1, 1(s1) | v1 = *((s1 + 1));
| label_3:
0x00039c14 addiu v0, zero, 0x2a | v0 = 0x2a;
| if (v1 == v0) {
0x00039c18 beql v1, v0, 0x39d58 | goto label_46;
| }
0x00039c1c lw v0, 0x10(s0) | v0 = *((s0 + 4));
0x00039c20 addiu a0, s1, 1 | a0 = s1 + 1;
| label_8:
0x00039c24 move t9, s3 | t9 = s3;
0x00039c28 bal 0x39214 | fcn_00039214 ();
0x00039c2c nop |
0x00039c30 lb v0, (v0) | v0 = *(v0);
0x00039c34 lw gp, 0x10(sp) | gp = *(var_10h);
| if (v0 == 0) {
0x00039c38 beqz v0, 0x3984c | goto label_0;
| }
0x00039c3c addiu v1, zero, 0x23 | v1 = 0x23;
0x00039c40 addiu v1, zero, 0x3b | v1 = 0x3b;
| if (v0 == v1) {
0x00039c44 beq v0, v1, 0x3984c | goto label_0;
| }
| if (v0 == v1) {
0x00039c48 beql v0, v1, 0x39850 | goto label_1;
| }
0x00039c4c move v0, zero | v0 = 0;
| label_39:
0x00039c50 lui v0, 0xaaca | v0 = 0xaaca600e;
| label_42:
0x00039c54 addiu v0, v0, 0x600e |
0x00039c58 b 0x39850 | goto label_1;
| label_45:
0x00039c5c andi v0, v0, 2 | v0 &= 2;
0x00039c60 lw s5, 0x1c(s5) | s5 = *((s5 + 7));
| if (v0 == 0) {
0x00039c64 bnel v0, zero, 0x39be8 | goto label_2;
| }
0x00039c68 sw s5, 0x10(s0) | *((s0 + 4)) = s5;
| label_4:
0x00039c6c lw s5, 0x1c(s5) | s5 = *((s5 + 7));
| if (s5 == 0) {
| label_5:
0x00039c70 beql s5, zero, 0x39c14 | goto label_3;
| }
0x00039c74 lb v1, 1(s1) | v1 = *((s1 + 1));
0x00039c78 lw t9, -0x778c(gp) | t9 = sym.imp.strcmp;
| if (s4 == 0) {
0x00039c7c beqz s4, 0x39c94 | goto label_47;
| }
0x00039c80 lw a0, 4(s5) | a0 = *((s5 + 1));
0x00039c84 move a1, s4 | a1 = s4;
0x00039c88 jalr t9 | t9 ();
0x00039c8c lw gp, 0x10(sp) | gp = *(var_10h);
| if (v0 != 0) {
0x00039c90 bnez v0, 0x39c6c | goto label_4;
| }
| label_47:
0x00039c94 lw v0, 8(s5) | v0 = *((s5 + 2));
0x00039c98 lw s5, 0x1c(s5) | s5 = *((s5 + 7));
| if (v0 == 0) {
0x00039c9c bnel v0, zero, 0x39c70 | goto label_5;
| }
0x00039ca0 lb v1, 1(s1) | v1 = *((s1 + 1));
0x00039ca4 b 0x39c14 | goto label_3;
| label_30:
0x00039ca8 addiu v0, zero, 2 | v0 = 2;
| label_29:
0x00039cac sw v0, (s0) | *(s0) = v0;
| label_10:
0x00039cb0 lw t9, -0x7a44(gp) | t9 = sym.imp.strchr;
| label_11:
0x00039cb4 addiu a1, zero, 0x2a | a1 = 0x2a;
0x00039cb8 move a0, s1 | a0 = s1;
0x00039cbc jalr t9 | t9 ();
0x00039cc0 lw gp, 0x10(sp) | gp = *(var_10h);
0x00039cc4 addiu a3, s0, 0x10 | a3 = s0 + 0x10;
| if (v0 == 0) {
0x00039cc8 beqz v0, 0x39d30 | goto label_48;
| }
0x00039ccc lw t9, -0x7fd0(gp) | t9 = *(gp);
0x00039cd0 sb zero, (v0) | *(v0) = 0;
0x00039cd4 lw a0, 0x10(s0) | a0 = *((s0 + 4));
0x00039cd8 move a2, zero | a2 = 0;
| /* fcn.000394b8 */
0x00039cdc addiu t9, t9, -0x6b48 | t9 += -0x6b48;
0x00039ce0 move a1, s1 | a1 = s1;
0x00039ce4 bal 0x394b8 | fcn_000394b8 ();
0x00039ce8 lw gp, 0x10(sp) | gp = *(var_10h);
| if (v0 != 0) {
0x00039cec bnez v0, 0x39850 | goto label_1;
| }
0x00039cf0 lw v0, 0x10(s0) | v0 = *((s0 + 4));
0x00039cf4 addiu a0, zero, 1 | a0 = 1;
0x00039cf8 lbu v1, 0x10(v0) | v1 = *((v0 + 16));
0x00039cfc ins v1, a0, 0, 1 | __asm ("ins v1, a0, 0, 1");
0x00039d00 sb v1, 0x10(v0) | *((v0 + 16)) = v1;
0x00039d04 lw v1, 4(s0) | v1 = *((s0 + 1));
| label_7:
0x00039d08 move v0, zero | v0 = 0;
0x00039d0c addiu v1, v1, 1 | v1++;
0x00039d10 sw v1, 4(s0) | *((s0 + 1)) = v1;
0x00039d14 b 0x39850 | goto label_1;
| label_26:
0x00039d18 addiu s1, s1, 1 | s1++;
| /* fcn.00039150 */
0x00039d1c addiu t9, t9, -0x6eb0 | t9 += -0x6eb0;
0x00039d20 move a0, s1 | a0 = s1;
0x00039d24 bal 0x39150 | fcn_00039150 ();
0x00039d28 move t9, s3 | t9 = s3;
0x00039d2c b 0x39990 | goto label_6;
| label_48:
0x00039d30 lw t9, -0x7fd0(gp) | t9 = *(gp);
0x00039d34 lw a0, 0x10(s0) | a0 = *((s0 + 4));
0x00039d38 move a2, zero | a2 = 0;
| /* fcn.000394b8 */
0x00039d3c addiu t9, t9, -0x6b48 | t9 += -0x6b48;
0x00039d40 move a1, s1 | a1 = s1;
0x00039d44 bal 0x394b8 | fcn_000394b8 ();
0x00039d48 lw gp, 0x10(sp) | gp = *(var_10h);
| if (v0 != 0) {
0x00039d4c bnez v0, 0x39850 | goto label_1;
| }
0x00039d50 lw v1, 4(s0) | v1 = *((s0 + 1));
0x00039d54 b 0x39d08 | goto label_7;
| label_46:
0x00039d58 addiu a1, zero, 1 | a1 = 1;
0x00039d5c addiu a0, s1, 2 | a0 = s1 + 2;
0x00039d60 lbu v1, 0x10(v0) | v1 = *((v0 + 16));
0x00039d64 ins v1, a1, 0, 1 | __asm ("ins v1, a1, 0, 1");
0x00039d68 sb v1, 0x10(v0) | *((v0 + 16)) = v1;
0x00039d6c b 0x39c24 | goto label_8;
| label_40:
0x00039d70 lw t9, -0x7fd0(gp) | t9 = *(gp);
0x00039d74 addiu s4, s4, 1 | s4++;
| /* fcn.00039150 */
0x00039d78 addiu t9, t9, -0x6eb0 | t9 += -0x6eb0;
0x00039d7c move a0, s4 | a0 = s4;
0x00039d80 bal 0x39150 | fcn_00039150 ();
0x00039d84 lw gp, 0x10(sp) | gp = *(var_10h);
0x00039d88 b 0x39b98 | goto label_9;
| label_37:
0x00039d8c lw t9, -0x7fd0(gp) | t9 = *(gp);
0x00039d90 lw a0, 0x10(s0) | a0 = *((s0 + 4));
0x00039d94 addiu a3, sp, 0x18 | a3 = sp + 0x18;
0x00039d98 move a2, s4 | a2 = s4;
| /* fcn.000394b8 */
0x00039d9c addiu t9, t9, -0x6b48 | t9 += -0x6b48;
0x00039da0 move a1, s1 | a1 = s1;
0x00039da4 bal 0x394b8 | fcn_000394b8 ();
0x00039da8 lw gp, 0x10(sp) | gp = *(var_10h);
0x00039dac move v0, zero | v0 = 0;
0x00039db0 b 0x39850 | goto label_1;
| label_31:
0x00039db4 move t9, s3 | t9 = s3;
0x00039db8 addiu a0, s4, 1 | a0 = s4 + 1;
0x00039dbc bal 0x39214 | fcn_00039214 ();
0x00039dc0 lb v0, (v0) | v0 = *(v0);
0x00039dc4 lw gp, 0x10(sp) | gp = *(var_10h);
| if (v0 == 0) {
0x00039dc8 beqz v0, 0x39cb0 | goto label_10;
| }
0x00039dcc lw t9, -0x7a44(gp) | t9 = sym.imp.strchr;
| if (v0 == s5) {
0x00039dd0 beq v0, s5, 0x39cb4 | goto label_11;
| }
0x00039dd4 lui v0, 0xaaca | v0 = 0xaaca0000;
| if (v0 == s6) {
0x00039dd8 beq v0, s6, 0x39cb4 | goto label_11;
| }
0x00039ddc addiu v0, v0, 0x600f | v0 += 0x600f;
0x00039de0 b 0x39850 | goto label_1;
| label_38:
0x00039de4 lui v0, 0xaaca | v0 = 0xaaca600d;
0x00039de8 addiu v0, v0, 0x600d |
0x00039dec b 0x39850 | goto label_1;
| label_36:
0x00039df0 lui v0, 0xaaca | v0 = 0xaaca6010;
0x00039df4 addiu v0, v0, 0x6010 |
0x00039df8 b 0x39850 | goto label_1;
| label_22:
0x00039dfc lw t9, -0x78a4(gp) | t9 = sym.imp.__stack_chk_fail;
0x00039e00 jalr t9 | t9 ();
0x00039e04 nop |
| label_15:
0x00039e08 lui gp, 3 |
0x00039e0c addiu gp, gp, -0x48 |
0x00039e10 addu gp, gp, t9 | gp += t9;
0x00039e14 addiu sp, sp, -0x858 |
0x00039e18 lw t9, -0x7fd0(gp) | t9 = *(gp);
0x00039e1c sw s5, 0x848(sp) | *(var_848h) = s5;
0x00039e20 lw s5, -0x7838(gp) | s5 = *((gp - 7694));
0x00039e24 sw s6, 0x84c(sp) | *(var_84ch) = s6;
0x00039e28 sw s1, 0x838(sp) | *(var_838h) = s1;
0x00039e2c lw v0, (s5) | v0 = *(s5);
0x00039e30 addiu s1, sp, 0x18 | s1 = sp + 0x18;
0x00039e34 move s6, a0 | s6 = a0;
0x00039e38 lw a0, -0x7fa8(gp) | a0 = *((gp - 8170));
0x00039e3c sw gp, 0x10(sp) | *(var_10h_2) = gp;
0x00039e40 sw s4, 0x844(sp) | *(var_844h) = s4;
0x00039e44 sw ra, 0x854(sp) | *(var_854h) = ra;
0x00039e48 sw s7, 0x850(sp) | *(var_850h) = s7;
0x00039e4c sw s3, 0x840(sp) | *(var_840h) = s3;
0x00039e50 sw s2, 0x83c(sp) | *(var_83ch) = s2;
0x00039e54 sw s0, 0x834(sp) | *(var_834h) = s0;
0x00039e58 sw zero, 0x18(sp) | *(var_18h) = 0;
0x00039e5c addiu a2, sp, 0x24 | a2 = sp + 0x24;
0x00039e60 move a1, zero | a1 = 0;
| /* str._root_ */
0x00039e64 addiu a0, a0, -0x2870 | a0 += -0x2870;
0x00039e68 sw v0, 0x82c(sp) | *(var_82ch) = v0;
0x00039e6c sw zero, 4(s1) | *((s1 + 1)) = 0;
0x00039e70 sw zero, 8(s1) | *((s1 + 2)) = 0;
0x00039e74 sw zero, 0xc(s1) | *((s1 + 3)) = 0;
| /* fcn.000393c0 */
0x00039e78 addiu t9, t9, -0x6c40 | t9 += -0x6c40;
0x00039e7c sw zero, 0x10(s1) | *((s1 + 4)) = 0;
0x00039e80 bal 0x393c0 | fcn_000393c0 ();
0x00039e84 move s4, v0 | s4 = v0;
0x00039e88 lw gp, 0x10(sp) | gp = *(var_10h_2);
| if (v0 != 0) {
0x00039e8c beqz v0, 0x39ecc |
| label_13:
0x00039e90 lw a0, 0x82c(sp) | a0 = *(var_82ch);
0x00039e94 lw v1, (s5) | v1 = *(s5);
0x00039e98 move v0, s4 | v0 = s4;
| if (a0 != v1) {
0x00039e9c bne a0, v1, 0x39fd4 | goto label_49;
| }
0x00039ea0 lw ra, 0x854(sp) | ra = *(var_854h);
0x00039ea4 lw s7, 0x850(sp) | s7 = *(var_850h);
0x00039ea8 lw s6, 0x84c(sp) | s6 = *(var_84ch);
0x00039eac lw s5, 0x848(sp) | s5 = *(var_848h);
0x00039eb0 lw s4, 0x844(sp) | s4 = *(var_844h);
0x00039eb4 lw s3, 0x840(sp) | s3 = *(var_840h);
0x00039eb8 lw s2, 0x83c(sp) | s2 = *(var_83ch);
0x00039ebc lw s1, 0x838(sp) | s1 = *(var_838h);
0x00039ec0 lw s0, 0x834(sp) | s0 = *(var_834h);
0x00039ec4 addiu sp, sp, 0x858 |
0x00039ec8 jr ra | return v0;
| }
0x00039ecc lw t9, -0x7aa4(gp) | t9 = sym.imp.__errno_location;
0x00039ed0 jalr t9 | t9 ();
0x00039ed4 nop |
0x00039ed8 lw gp, 0x10(sp) | gp = *(var_10h_2);
0x00039edc lw a0, 4(s6) | a0 = *((s6 + 1));
0x00039ee0 sw zero, (v0) | *(v0) = 0;
0x00039ee4 lw a1, -0x7fa8(gp) | a1 = *((gp - 8170));
0x00039ee8 lw t9, -0x77cc(gp) | t9 = sym.imp.fopen;
0x00039eec addiu a1, a1, -0x3c5c | a1 += -0x3c5c;
0x00039ef0 move s2, v0 | s2 = v0;
0x00039ef4 jalr t9 | t9 ();
0x00039ef8 move s0, v0 | s0 = v0;
0x00039efc lw gp, 0x10(sp) | gp = *(var_10h_2);
| if (v0 == 0) {
0x00039f00 beqz v0, 0x39fc0 | goto label_50;
| }
0x00039f04 lw v0, 0x10(s6) | v0 = *((s6 + 4));
0x00039f08 lw s3, -0x7fd0(gp) | s3 = *(gp);
0x00039f0c addiu v0, v0, 1 | v0++;
0x00039f10 sw v0, 0x10(s6) | *((s6 + 4)) = v0;
0x00039f14 addiu s2, sp, 0x2c | s2 = sp + 0x2c;
| /* fcn.000397d4 */
0x00039f18 addiu s3, s3, -0x682c | s3 += -0x682c;
0x00039f1c b 0x39f58 |
| while (v0 == 0) {
0x00039f20 lw t9, -0x7848(gp) | t9 = sym.imp.fgets;
0x00039f24 move a2, s0 | a2 = s0;
0x00039f28 addiu a1, zero, 0x800 | a1 = 0x800;
0x00039f2c move a0, s2 | a0 = s2;
0x00039f30 jalr t9 | t9 ();
0x00039f34 lw gp, 0x10(sp) | gp = *(var_10h_2);
| if (v0 == 0) {
0x00039f38 beqz v0, 0x39f6c | goto label_51;
| }
0x00039f3c move a1, s1 | a1 = s1;
0x00039f40 move t9, s3 | t9 = s3;
0x00039f44 move a0, s2 | a0 = s2;
0x00039f48 bal 0x397d4 | fcn_000397d4 ();
| goto label_12;
0x00039f4c move s7, v0 | s7 = v0;
0x00039f50 lw gp, 0x10(sp) | gp = *(var_10h_2);
| if (v0 != 0) {
0x00039f54 bnez v0, 0x39f88 | goto label_52;
| }
0x00039f58 lw t9, -0x7a30(gp) | t9 = sym.imp.feof;
0x00039f5c move a0, s0 | a0 = s0;
0x00039f60 jalr t9 | t9 ();
0x00039f64 lw gp, 0x10(sp) | gp = *(var_10h_2);
0x00039f68 beqz v0, 0x39f20 |
| }
| label_51:
0x00039f6c lw v0, 0x24(sp) | v0 = *(var_24h_2);
0x00039f70 lw t9, -0x7bcc(gp) | t9 = sym.imp.fclose;
0x00039f74 sw v0, 0x14(s6) | *((s6 + 5)) = v0;
0x00039f78 move a0, s0 | a0 = s0;
0x00039f7c jalr t9 | t9 ();
0x00039f80 lw gp, 0x10(sp) | gp = *(var_10h_2);
0x00039f84 b 0x39e90 | goto label_13;
| label_52:
0x00039f88 lw v0, -0x7fc8(gp) | v0 = *((gp - 8178));
0x00039f8c lw t9, 0x2940(v0) | t9 = *((v0 + 2640));
0x00039f90 lw a2, 0x20(sp) | a2 = *(var_20h);
| if (t9 != 0) {
0x00039f94 beqz t9, 0x39fa8 |
0x00039f98 lw a0, 4(s6) | a0 = *((s6 + 1));
0x00039f9c move a1, s7 | a1 = s7;
0x00039fa0 jalr t9 | t9 ();
0x00039fa4 lw gp, 0x10(sp) | gp = *(var_10h_2);
| }
0x00039fa8 lw t9, -0x7bcc(gp) | t9 = sym.imp.fclose;
0x00039fac move a0, s0 | a0 = s0;
0x00039fb0 jalr t9 | t9 ();
0x00039fb4 move s4, s7 | s4 = s7;
0x00039fb8 lw gp, 0x10(sp) | gp = *(var_10h_2);
0x00039fbc b 0x39e90 | goto label_13;
| label_50:
0x00039fc0 lw s4, (s2) | s4 = *(s2);
| if (s4 == 0) {
0x00039fc4 beql s4, zero, 0x39e90 | goto label_13;
| }
0x00039fc8 addiu s4, zero, 2 | s4 = 2;
0x00039fcc b 0x39e90 | goto label_13;
0x00039fd0 nop |
| label_49:
0x00039fd4 lw t9, -0x78a4(gp) | t9 = sym.imp.__stack_chk_fail;
0x00039fd8 jalr t9 | t9 ();
0x00039fdc nop |
0x00039fe0 lui gp, 3 |
0x00039fe4 addiu gp, gp, -0x220 |
0x00039fe8 addu gp, gp, t9 | gp += t9;
0x00039fec addiu sp, sp, -0x40 |
0x00039ff0 lw t9, -0x79bc(gp) | t9 = sym.imp.malloc;
0x00039ff4 sw gp, 0x10(sp) | *(var_10h_3) = gp;
0x00039ff8 sw s3, 0x30(sp) | *(var_30h_2) = s3;
0x00039ffc sw s2, 0x2c(sp) | *(var_2ch_2) = s2;
0x0003a000 sw ra, 0x3c(sp) | *(var_3ch_2) = ra;
0x0003a004 sw s5, 0x38(sp) | *(var_38h_2) = s5;
0x0003a008 sw s4, 0x34(sp) | *(var_34h_2) = s4;
0x0003a00c sw s1, 0x28(sp) | *(var_28h_2) = s1;
0x0003a010 sw s0, 0x24(sp) | *(var_24h_3) = s0;
0x0003a014 move s2, a0 | s2 = a0;
0x0003a018 addiu a0, zero, 0x1c | a0 = 0x1c;
0x0003a01c move s3, a1 | s3 = a1;
0x0003a020 jalr t9 | t9 ();
0x0003a024 lw gp, 0x10(sp) | gp = *(var_10h_3);
| if (v0 == 0) {
0x0003a028 beqz v0, 0x3a1c4 | goto label_53;
| }
0x0003a02c sw zero, 4(v0) | *((v0 + 1)) = 0;
0x0003a030 sw zero, 8(v0) | *((v0 + 2)) = 0;
0x0003a034 sw zero, 0xc(v0) | *((v0 + 3)) = 0;
0x0003a038 sw zero, 0x10(v0) | *((v0 + 4)) = 0;
0x0003a03c sw zero, 0x14(v0) | *((v0 + 5)) = 0;
0x0003a040 sw zero, 0x18(v0) | *((v0 + 6)) = 0;
0x0003a044 move s0, v0 | s0 = v0;
0x0003a048 lui v0, 0xaaca | v0 = 0xaaca0000;
0x0003a04c lw t9, -0x7a54(gp) | t9 = sym.imp.strlen;
0x0003a050 addiu v0, v0, 0x6019 | v0 += 0x6019;
0x0003a054 move a0, s2 | a0 = s2;
0x0003a058 sw v0, (s0) | *(s0) = v0;
0x0003a05c jalr t9 | t9 ();
0x0003a060 lb a0, (s2) | a0 = *(s2);
0x0003a064 addiu v1, zero, 0x7e | v1 = 0x7e;
0x0003a068 lw gp, 0x10(sp) | gp = *(var_10h_3);
0x0003a06c addiu s4, v0, 1 | s4 = v0 + 1;
| if (a0 == v1) {
0x0003a070 beq a0, v1, 0x3a10c | goto label_54;
| }
0x0003a074 lw t9, -0x79bc(gp) | t9 = sym.imp.malloc;
| do {
0x0003a078 move a0, s4 | a0 = s4;
0x0003a07c jalr t9 | t9 ();
0x0003a080 move s1, v0 | s1 = v0;
0x0003a084 lw gp, 0x10(sp) | gp = *(var_10h_3);
| if (v0 == 0) {
0x0003a088 beqz v0, 0x3a204 | goto label_55;
| }
| label_18:
0x0003a08c lw t9, -0x7834(gp) | t9 = sym.imp.memcpy;
0x0003a090 move a2, s4 | a2 = s4;
0x0003a094 move a1, s2 | a1 = s2;
0x0003a098 move a0, s1 | a0 = s1;
0x0003a09c jalr t9 | t9 ();
0x0003a0a0 lw gp, 0x10(sp) | gp = *(var_10h_3);
| label_14:
0x0003a0a4 lw a1, -0x7fa8(gp) | a1 = *((gp - 8170));
0x0003a0a8 lw t9, -0x778c(gp) | t9 = sym.imp.strcmp;
0x0003a0ac sw s1, 4(s0) | *((s0 + 1)) = s1;
| /* str._default_ */
0x0003a0b0 addiu a1, a1, -0x2860 | a1 += -0x2860;
0x0003a0b4 move a0, s1 | a0 = s1;
0x0003a0b8 jalr t9 | t9 ();
0x0003a0bc lw gp, 0x10(sp) | gp = *(var_10h_3);
| if (v0 != 0) {
0x0003a0c0 beqz v0, 0x3a0e0 |
0x0003a0c4 lw v0, 0xc(s0) | v0 = *((s0 + 3));
0x0003a0c8 andi v0, v0, 4 | v0 &= 4;
0x0003a0cc sw s0, (s3) | *(s3) = s0;
| if (v0 == 0) {
0x0003a0d0 bnel v0, zero, 0x3a0e4 | goto label_56;
| }
0x0003a0d4 lw v0, 0x14(s0) | v0 = *((s0 + 5));
0x0003a0d8 lw t9, -0x7fd0(gp) | t9 = *(gp);
| if (v0 == 0) {
0x0003a0dc beqz v0, 0x3a194 | goto label_57;
| }
| }
| label_16:
0x0003a0e0 sw s0, (s3) | *(s3) = s0;
| label_56:
0x0003a0e4 move v0, zero | v0 = 0;
| label_17:
0x0003a0e8 lw ra, 0x3c(sp) | ra = *(var_3ch_2);
0x0003a0ec lw s5, 0x38(sp) | s5 = *(var_38h_2);
0x0003a0f0 lw s4, 0x34(sp) | s4 = *(var_34h_2);
0x0003a0f4 lw s3, 0x30(sp) | s3 = *(var_30h_2);
0x0003a0f8 lw s2, 0x2c(sp) | s2 = *(var_2ch_2);
0x0003a0fc lw s1, 0x28(sp) | s1 = *(var_28h_2);
0x0003a100 lw s0, 0x24(sp) | s0 = *(var_24h_3);
0x0003a104 addiu sp, sp, 0x40 |
0x0003a108 jr ra | return v0;
| label_54:
0x0003a10c lb v1, 1(s2) | v1 = *((s2 + 1));
0x0003a110 addiu v0, zero, 0x2f | v0 = 0x2f;
0x0003a114 lw t9, -0x79bc(gp) | t9 = sym.imp.malloc;
0x0003a118 bne v1, v0, 0x3a078 |
| } while (v1 != v0);
0x0003a11c lw a0, -0x7fa8(gp) | a0 = *((gp - 8170));
0x0003a120 lw t9, -0x79ac(gp) | t9 = sym.imp.getenv;
| /* str.HOME */
0x0003a124 addiu a0, a0, -0x2868 | a0 += -0x2868;
0x0003a128 jalr t9 | t9 ();
0x0003a12c lw gp, 0x10(sp) | gp = *(var_10h_3);
| if (v0 == 0) {
0x0003a130 beqz v0, 0x3a1ec | goto label_58;
| }
0x0003a134 lw t9, -0x7a54(gp) | t9 = sym.imp.strlen;
0x0003a138 move a0, v0 | a0 = v0;
0x0003a13c sw v0, 0x1c(sp) | *(var_1ch_2) = v0;
0x0003a140 jalr t9 | t9 ();
0x0003a144 lw gp, 0x10(sp) | gp = *(var_10h_3);
0x0003a148 addu a0, v0, s4 | a0 = v0 + s4;
0x0003a14c lw t9, -0x79bc(gp) | t9 = sym.imp.malloc;
0x0003a150 move s5, v0 | s5 = v0;
0x0003a154 jalr t9 | t9 ();
0x0003a158 move s1, v0 | s1 = v0;
0x0003a15c lw gp, 0x10(sp) | gp = *(var_10h_3);
| if (v0 == 0) {
0x0003a160 beqz v0, 0x3a204 | goto label_55;
| }
0x0003a164 lw t9, -0x7834(gp) | t9 = sym.imp.memcpy;
0x0003a168 lw a1, 0x1c(sp) | a1 = *(var_1ch_2);
0x0003a16c move a2, s5 | a2 = s5;
0x0003a170 move a0, v0 | a0 = v0;
0x0003a174 jalr t9 | t9 ();
0x0003a178 lw gp, 0x10(sp) | gp = *(var_10h_3);
0x0003a17c addiu a1, s2, 1 | a1 = s2 + 1;
0x0003a180 lw t9, -0x7960(gp) | t9 = sym.imp.strcpy
0x0003a184 addu a0, s1, s5 | a0 = s1 + s5;
0x0003a188 jalr t9 | t9 ();
0x0003a18c lw gp, 0x10(sp) | gp = *(var_10h_3);
0x0003a190 b 0x3a0a4 | goto label_14;
| label_57:
0x0003a194 addiu t9, t9, -0x61f8 | t9 += -0x61f8;
0x0003a198 move a0, s0 | a0 = s0;
0x0003a19c bal 0x39e08 | fcn_39e08 ();
| goto label_15;
0x0003a1a0 lw gp, 0x10(sp) | gp = *(var_10h_3);
| if (v0 == 0) {
0x0003a1a4 beqz v0, 0x3a0e0 | goto label_16;
| }
0x0003a1a8 lw t9, -0x7fd0(gp) | t9 = *(gp);
0x0003a1ac sw v0, 0x1c(sp) | *(var_1ch_2) = v0;
| /* fcn.00039348 */
0x0003a1b0 addiu t9, t9, -0x6cb8 | t9 += -0x6cb8;
0x0003a1b4 move a0, s0 | a0 = s0;
0x0003a1b8 bal 0x39348 | fcn_00039348 ();
0x0003a1bc lw v0, 0x1c(sp) | v0 = *(var_1ch_2);
0x0003a1c0 b 0x3a0e8 | goto label_17;
| label_53:
0x0003a1c4 lw ra, 0x3c(sp) | ra = *(var_3ch_2);
0x0003a1c8 lw s5, 0x38(sp) | s5 = *(var_38h_2);
0x0003a1cc lw s4, 0x34(sp) | s4 = *(var_34h_2);
0x0003a1d0 lw s3, 0x30(sp) | s3 = *(var_30h_2);
0x0003a1d4 lw s2, 0x2c(sp) | s2 = *(var_2ch_2);
0x0003a1d8 lw s1, 0x28(sp) | s1 = *(var_28h_2);
0x0003a1dc lw s0, 0x24(sp) | s0 = *(var_24h_3);
0x0003a1e0 addiu v0, zero, 0xc | v0 = 0xc;
0x0003a1e4 addiu sp, sp, 0x40 |
0x0003a1e8 jr ra | return v0;
| label_58:
0x0003a1ec lw t9, -0x79bc(gp) | t9 = sym.imp.malloc;
0x0003a1f0 move a0, s4 | a0 = s4;
0x0003a1f4 jalr t9 | t9 ();
0x0003a1f8 move s1, v0 | s1 = v0;
0x0003a1fc lw gp, 0x10(sp) | gp = *(var_10h_3);
| if (v0 != 0) {
0x0003a200 bnez v0, 0x3a08c | goto label_18;
| }
| label_55:
0x0003a204 lw t9, -0x7fd0(gp) | t9 = *(gp);
| /* fcn.00039348 */
0x0003a208 addiu t9, t9, -0x6cb8 | t9 += -0x6cb8;
0x0003a20c move a0, s0 | a0 = s0;
0x0003a210 bal 0x39348 | fcn_00039348 ();
0x0003a214 lw gp, 0x10(sp) | gp = *(var_10h_3);
0x0003a218 lw t9, -0x7aa4(gp) | t9 = sym.imp.__errno_location;
0x0003a21c jalr t9 | t9 ();
0x0003a220 nop |
0x0003a224 lw v0, (v0) | v0 = *(v0);
0x0003a228 b 0x3a0e8 | goto label_17;
| }
; assembly | /* r2dec pseudo code output */
| /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/sbin/fsck.ext3 @ 0x3b130 */
| #include <stdint.h>
|
; (fcn) sym.profile_get_string () | void profile_get_string () {
0x0003b130 lui gp, 3 |
0x0003b134 addiu gp, gp, -0x1370 |
0x0003b138 addu gp, gp, t9 | gp += t9;
0x0003b13c addiu sp, sp, -0x38 |
0x0003b140 sw s1, 0x2c(sp) | *(var_2ch) = s1;
0x0003b144 lw s1, -0x7838(gp) | s1 = *((gp - 7694));
0x0003b148 sw gp, 0x18(sp) | *(var_18h) = gp;
0x0003b14c sw s2, 0x30(sp) | *(var_30h) = s2;
0x0003b150 lw v0, (s1) | v0 = *(s1);
0x0003b154 sw s0, 0x28(sp) | *(var_28h) = s0;
0x0003b158 sw ra, 0x34(sp) | *(var_34h) = ra;
0x0003b15c lw s0, 0x48(sp) | s0 = *(arg_48h);
0x0003b160 lw s2, 0x4c(sp) | s2 = *(arg_4ch);
0x0003b164 sw v0, 0x24(sp) | *(var_24h) = v0;
0x0003b168 lw t9, -0x7fd0(gp) | t9 = *(gp);
| if (a0 == 0) {
0x0003b16c beqz a0, 0x3b20c | goto label_1;
| }
0x0003b170 addiu v0, sp, 0x20 | v0 = sp + 0x20;
| /* fcn.0003b034 */
0x0003b174 addiu t9, t9, -0x4fcc | t9 += -0x4fcc;
0x0003b178 sw v0, 0x10(sp) | *(var_58h) = v0;
0x0003b17c bal 0x3b034 | fcn_0003b034 ();
0x0003b180 lui v1, 0x5535 | v1 = 0x55359ffe;
0x0003b184 ori v1, v1, 0x9ffe |
0x0003b188 addu v1, v0, v1 | v1 = v0 + v1;
0x0003b18c sltiu v1, v1, 2 | v1 = (v1 < 2) ? 1 : 0;
0x0003b190 lw gp, 0x18(sp) | gp = *(var_18h);
| if (v1 != 0) {
0x0003b194 bnez v1, 0x3b20c | goto label_1;
| }
0x0003b198 lw s0, 0x20(sp) | s0 = *(var_20h);
| if (v0 != 0) {
0x0003b19c bnez v0, 0x3b1e8 | goto label_0;
| }
| if (s0 == 0) {
0x0003b1a0 beql s0, zero, 0x3b218 | goto label_2;
| }
0x0003b1a4 sw zero, (s2) | *(s2) = 0;
| do {
0x0003b1a8 lw t9, -0x7a54(gp) | t9 = sym.imp.strlen;
0x0003b1ac move a0, s0 | a0 = s0;
0x0003b1b0 jalr t9 | t9 ();
0x0003b1b4 lw gp, 0x18(sp) | gp = *(var_18h);
0x0003b1b8 lw t9, -0x79bc(gp) | t9 = sym.imp.malloc;
0x0003b1bc addiu a0, v0, 1 | a0 = v0 + 1;
0x0003b1c0 jalr t9 | t9 ();
0x0003b1c4 lw gp, 0x18(sp) | gp = *(var_18h);
0x0003b1c8 sw v0, (s2) | *(s2) = v0;
| if (v0 == 0) {
0x0003b1cc beqz v0, 0x3b220 | goto label_3;
| }
0x0003b1d0 lw t9, -0x7960(gp) | t9 = sym.imp.strcpy
0x0003b1d4 move a1, s0 | a1 = s0;
0x0003b1d8 move a0, v0 | a0 = v0;
0x0003b1dc jalr t9 | t9 ();
0x0003b1e0 lw gp, 0x18(sp) | gp = *(var_18h);
0x0003b1e4 move v0, zero | v0 = 0;
| label_0:
0x0003b1e8 lw a0, 0x24(sp) | a0 = *(var_24h);
0x0003b1ec lw v1, (s1) | v1 = *(s1);
0x0003b1f0 lw ra, 0x34(sp) | ra = *(var_34h);
| if (a0 != v1) {
0x0003b1f4 bne a0, v1, 0x3b228 | goto label_4;
| }
0x0003b1f8 lw s2, 0x30(sp) | s2 = *(var_30h);
0x0003b1fc lw s1, 0x2c(sp) | s1 = *(var_2ch);
0x0003b200 lw s0, 0x28(sp) | s0 = *(var_28h);
0x0003b204 addiu sp, sp, 0x38 |
0x0003b208 jr ra | return v0;
| label_1:
0x0003b20c sw s0, 0x20(sp) | *(var_20h) = s0;
0x0003b210 bnez s0, 0x3b1a8 |
| } while (s0 != 0);
0x0003b214 sw zero, (s2) | *(s2) = 0;
| label_2:
0x0003b218 move v0, zero | v0 = 0;
0x0003b21c b 0x3b1e8 | goto label_0;
| label_3:
0x0003b220 addiu v0, zero, 0xc | v0 = 0xc;
0x0003b224 b 0x3b1e8 | goto label_0;
| label_4:
0x0003b228 lw t9, -0x78a4(gp) | t9 = sym.imp.__stack_chk_fail;
0x0003b22c jalr t9 | t9 ();
0x0003b230 nop |
| }
; assembly | /* r2dec pseudo code output */
| /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/sbin/fsck.ext3 @ 0x3aaa8 */
| #include <stdint.h>
|
; (fcn) sym.profile_iterator_create () | void profile_iterator_create () {
0x0003aaa8 lui gp, 3 |
0x0003aaac addiu gp, gp, -0xce8 |
0x0003aab0 addu gp, gp, t9 | gp += t9;
0x0003aab4 lui v1, 0xaaca | v1 = 0xaaca0000;
| if (a0 == 0) {
0x0003aab8 beqz a0, 0x3aba4 | goto label_0;
| }
0x0003aabc lw t0, (a0) | t0 = *(a0);
0x0003aac0 addiu v0, v1, 0x6012 | v0 = v1 + 0x6012;
| if (t0 != v0) {
0x0003aac4 bne t0, v0, 0x3abb0 | goto label_1;
| }
0x0003aac8 nop |
| if (a1 == 0) {
0x0003aacc beqz a1, 0x3abb8 | goto label_2;
| }
0x0003aad0 nop |
0x0003aad4 addiu sp, sp, -0x30 |
0x0003aad8 andi v0, a2, 1 | v0 = a2 & 1;
0x0003aadc sw gp, 0x10(sp) | *(var_10h) = gp;
0x0003aae0 sw ra, 0x2c(sp) | *(var_2ch) = ra;
0x0003aae4 sw s4, 0x28(sp) | *(var_28h) = s4;
0x0003aae8 sw s3, 0x24(sp) | *(var_24h) = s3;
0x0003aaec sw s2, 0x20(sp) | *(var_20h) = s2;
0x0003aaf0 sw s1, 0x1c(sp) | *(var_1ch) = s1;
0x0003aaf4 sw s0, 0x18(sp) | *(var_18h) = s0;
0x0003aaf8 move s4, zero | s4 = 0;
| if (v0 == 0) {
0x0003aafc bnez v0, 0x3ab0c |
0x0003ab00 lw v0, (a1) | v0 = *(a1);
0x0003ab04 addiu s4, zero, 1 | s4 = 1;
| if (v0 == 0) {
0x0003ab08 beqz v0, 0x3abc0 | goto label_3;
| }
| }
0x0003ab0c lw t9, -0x79bc(gp) | t9 = sym.imp.malloc;
0x0003ab10 move s0, a0 | s0 = a0;
0x0003ab14 addiu a0, zero, 0x28 | a0 = 0x28;
0x0003ab18 move s3, a3 | s3 = a3;
0x0003ab1c move s2, a2 | s2 = a2;
0x0003ab20 move s1, a1 | s1 = a1;
0x0003ab24 jalr t9 | t9 ();
0x0003ab28 lw ra, 0x2c(sp) | ra = *(var_2ch);
| if (v0 == 0) {
0x0003ab2c beqz v0, 0x3ab84 | goto label_4;
| }
0x0003ab30 lw a0, 4(s0) | a0 = *((s0 + 1));
0x0003ab34 lui v1, 0xaaca | v1 = 0xaaca6009;
0x0003ab38 addiu v1, v1, 0x6009 |
0x0003ab3c sw v1, (v0) | *(v0) = v1;
0x0003ab40 sw s0, 4(v0) | *((v0 + 1)) = s0;
0x0003ab44 sw s1, 0xc(v0) | *((v0 + 3)) = s1;
0x0003ab48 sw s2, 8(v0) | *((v0 + 2)) = s2;
0x0003ab4c sw a0, 0x14(v0) | *((v0 + 5)) = a0;
0x0003ab50 sw s4, 0x1c(v0) | *((v0 + 7)) = s4;
0x0003ab54 sw zero, 0x20(v0) | *((v0 + 8)) = 0;
0x0003ab58 sw zero, 0x24(v0) | *((v0 + 9)) = 0;
0x0003ab5c sw v0, (s3) | *(s3) = v0;
0x0003ab60 move v0, zero | v0 = 0;
| do {
0x0003ab64 lw ra, 0x2c(sp) | ra = *(var_2ch);
0x0003ab68 lw s4, 0x28(sp) | s4 = *(var_28h);
0x0003ab6c lw s3, 0x24(sp) | s3 = *(var_24h);
0x0003ab70 lw s2, 0x20(sp) | s2 = *(var_20h);
0x0003ab74 lw s1, 0x1c(sp) | s1 = *(var_1ch);
0x0003ab78 lw s0, 0x18(sp) | s0 = *(var_18h);
0x0003ab7c addiu sp, sp, 0x30 |
0x0003ab80 jr ra | return v0;
| label_4:
0x0003ab84 lw s4, 0x28(sp) | s4 = *(var_28h);
0x0003ab88 lw s3, 0x24(sp) | s3 = *(var_24h);
0x0003ab8c lw s2, 0x20(sp) | s2 = *(var_20h);
0x0003ab90 lw s1, 0x1c(sp) | s1 = *(var_1ch);
0x0003ab94 lw s0, 0x18(sp) | s0 = *(var_18h);
0x0003ab98 addiu v0, zero, 0xc | v0 = 0xc;
0x0003ab9c addiu sp, sp, 0x30 |
0x0003aba0 jr ra | return v0;
| label_0:
0x0003aba4 lui v0, 0xaaca | v0 = 0xaaca6018;
0x0003aba8 addiu v0, v0, 0x6018 |
0x0003abac jr ra | return v0;
| label_1:
0x0003abb0 jr ra | return v0;
0x0003abb4 nop |
| label_2:
0x0003abb8 addiu v0, v1, 0x6017 | v0 = v1 + 0x6017;
0x0003abbc jr ra | return v0;
| label_3:
0x0003abc0 addiu v0, v1, 0x6017 | v0 = v1 + 0x6017;
0x0003abc4 b 0x3ab64 |
| } while (1);
| }
; assembly | /* r2dec pseudo code output */
| /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/sbin/fsck.ext3 @ 0x3abc8 */
| #include <stdint.h>
|
; (fcn) sym.profile_iterator_free () | void profile_iterator_free () {
0x0003abc8 lui gp, 3 |
0x0003abcc addiu gp, gp, -0xe08 |
0x0003abd0 addu gp, gp, t9 | gp += t9;
| if (a0 != 0) {
0x0003abd4 beqz a0, 0x3abf8 |
0x0003abd8 nop |
0x0003abdc lw v1, (a0) | v1 = *(a0);
0x0003abe0 lui v0, 0xaaca | v0 = 0xaaca0000;
| if (v1 == 0) {
0x0003abe4 beqz v1, 0x3abf8 | goto label_0;
| }
0x0003abe8 lw a1, (v1) | a1 = *(v1);
0x0003abec addiu v0, v0, 0x6009 | v0 += 0x6009;
0x0003abf0 lw t9, -0x7814(gp) | t9 = sym.imp.free;
| if (a1 == v0) {
0x0003abf4 beq a1, v0, 0x3ac00 | goto label_1;
| }
| }
| label_0:
0x0003abf8 jr ra | return v0;
0x0003abfc nop |
| label_1:
0x0003ac00 addiu sp, sp, -0x20 |
0x0003ac04 sw s0, 0x18(sp) | *(var_18h) = s0;
0x0003ac08 sw ra, 0x1c(sp) | *(var_1ch) = ra;
0x0003ac0c sw gp, 0x10(sp) | *(var_10h) = gp;
0x0003ac10 move s0, a0 | s0 = a0;
0x0003ac14 move a0, v1 | a0 = v1;
0x0003ac18 jalr t9 | t9 ();
0x0003ac1c lw ra, 0x1c(sp) | ra = *(var_1ch);
0x0003ac20 sw zero, (s0) | *(s0) = 0;
0x0003ac24 lw s0, 0x18(sp) | s0 = *(var_18h);
0x0003ac28 addiu sp, sp, 0x20 |
0x0003ac2c jr ra | return v0;
| }
; assembly | /* r2dec pseudo code output */
| /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/sbin/fsck.ext3 @ 0x3b79c */
| #include <stdint.h>
|
; (fcn) sym.profile_iterator () | void profile_iterator () {
0x0003b79c lui gp, 3 |
0x0003b7a0 addiu gp, gp, -0x19dc |
0x0003b7a4 addu gp, gp, t9 | gp += t9;
0x0003b7a8 addiu sp, sp, -0x40 |
0x0003b7ac lw t9, -0x7fd0(gp) | t9 = *(gp);
0x0003b7b0 sw s0, 0x2c(sp) | *(var_2ch) = s0;
0x0003b7b4 lw s0, -0x7838(gp) | s0 = *((gp - 7694));
0x0003b7b8 sw gp, 0x10(sp) | *(var_10h) = gp;
0x0003b7bc sw s2, 0x34(sp) | *(var_34h) = s2;
0x0003b7c0 lw v0, (s0) | v0 = *(s0);
0x0003b7c4 sw s1, 0x30(sp) | *(var_30h) = s1;
0x0003b7c8 sw ra, 0x3c(sp) | *(var_3ch) = ra;
0x0003b7cc sw s3, 0x38(sp) | *(var_38h) = s3;
0x0003b7d0 move s1, a1 | s1 = a1;
0x0003b7d4 move s2, a2 | s2 = a2;
0x0003b7d8 addiu a1, sp, 0x1c | a1 = sp + 0x1c;
0x0003b7dc addiu a2, sp, 0x20 | a2 = sp + 0x20;
0x0003b7e0 sw v0, 0x24(sp) | *(var_24h) = v0;
| /* fcn.0003ac30 */
0x0003b7e4 addiu t9, t9, -0x53d0 | t9 += -0x53d0;
0x0003b7e8 bal 0x3ac30 | fcn_0003ac30 ();
0x0003b7ec nop |
0x0003b7f0 lw gp, 0x10(sp) | gp = *(var_10h);
| if (v0 != 0) {
0x0003b7f4 bnez v0, 0x3b890 | goto label_0;
| }
0x0003b7f8 lw s3, 0x1c(sp) | s3 = *(var_1ch);
| if (s1 != 0) {
0x0003b7fc beqz s1, 0x3b840 |
0x0003b800 lw t9, -0x7a54(gp) | t9 = sym.imp.strlen;
| if (s3 == 0) {
0x0003b804 beqz s3, 0x3b8b8 | goto label_1;
| }
0x0003b808 move a0, s3 | a0 = s3;
0x0003b80c jalr t9 | t9 ();
0x0003b810 lw gp, 0x10(sp) | gp = *(var_10h);
0x0003b814 lw t9, -0x79bc(gp) | t9 = sym.imp.malloc;
0x0003b818 addiu a0, v0, 1 | a0 = v0 + 1;
0x0003b81c jalr t9 | t9 ();
0x0003b820 lw gp, 0x10(sp) | gp = *(var_10h);
0x0003b824 sw v0, (s1) | *(s1) = v0;
| if (v0 == 0) {
0x0003b828 beqz v0, 0x3b8e0 | goto label_2;
| }
0x0003b82c lw t9, -0x7960(gp) | t9 = sym.imp.strcpy
0x0003b830 move a1, s3 | a1 = s3;
0x0003b834 move a0, v0 | a0 = v0;
0x0003b838 jalr t9 | t9 ();
0x0003b83c lw gp, 0x10(sp) | gp = *(var_10h);
| }
0x0003b840 move v0, zero | v0 = 0;
0x0003b844 beqz s2, 0x3b890 |
| while (s2 != 0) {
0x0003b848 lw s3, 0x20(sp) | s3 = *(var_20h);
0x0003b84c lw t9, -0x7a54(gp) | t9 = sym.imp.strlen;
| if (s3 == 0) {
0x0003b850 beqz s3, 0x3b8e8 | goto label_3;
| }
0x0003b854 move a0, s3 | a0 = s3;
0x0003b858 jalr t9 | t9 ();
0x0003b85c lw gp, 0x10(sp) | gp = *(var_10h);
0x0003b860 lw t9, -0x79bc(gp) | t9 = sym.imp.malloc;
0x0003b864 addiu a0, v0, 1 | a0 = v0 + 1;
0x0003b868 jalr t9 | t9 ();
0x0003b86c lw gp, 0x10(sp) | gp = *(var_10h);
0x0003b870 sw v0, (s2) | *(s2) = v0;
| if (v0 == 0) {
0x0003b874 beqz v0, 0x3b8c8 | goto label_4;
| }
0x0003b878 lw t9, -0x7960(gp) | t9 = sym.imp.strcpy
0x0003b87c move a1, s3 | a1 = s3;
0x0003b880 move a0, v0 | a0 = v0;
0x0003b884 jalr t9 | t9 ();
0x0003b888 lw gp, 0x10(sp) | gp = *(var_10h);
0x0003b88c move v0, zero | v0 = 0;
| label_0:
0x0003b890 lw a0, 0x24(sp) | a0 = *(var_24h);
0x0003b894 lw v1, (s0) | v1 = *(s0);
0x0003b898 lw ra, 0x3c(sp) | ra = *(var_3ch);
| if (a0 != v1) {
0x0003b89c bne a0, v1, 0x3b8f4 | goto label_5;
| }
0x0003b8a0 lw s3, 0x38(sp) | s3 = *(var_38h);
0x0003b8a4 lw s2, 0x34(sp) | s2 = *(var_34h);
0x0003b8a8 lw s1, 0x30(sp) | s1 = *(var_30h);
0x0003b8ac lw s0, 0x2c(sp) | s0 = *(var_2ch);
0x0003b8b0 addiu sp, sp, 0x40 |
0x0003b8b4 jr ra | return v0;
| label_1:
0x0003b8b8 sw zero, (s1) | *(s1) = 0;
0x0003b8bc bnez s2, 0x3b848 |
| }
0x0003b8c0 move v0, zero | v0 = 0;
0x0003b8c4 b 0x3b890 | goto label_0;
| label_4:
0x0003b8c8 lw t9, -0x7814(gp) | t9 = sym.imp.free;
| if (s1 != 0) {
0x0003b8cc beqz s1, 0x3b8e0 |
0x0003b8d0 lw a0, (s1) | a0 = *(s1);
0x0003b8d4 jalr t9 | t9 ();
0x0003b8d8 lw gp, 0x10(sp) | gp = *(var_10h);
0x0003b8dc sw zero, (s1) | *(s1) = 0;
| }
| label_2:
0x0003b8e0 addiu v0, zero, 0xc | v0 = 0xc;
0x0003b8e4 b 0x3b890 | goto label_0;
| label_3:
0x0003b8e8 sw zero, (s2) | *(s2) = 0;
0x0003b8ec move v0, zero | v0 = 0;
0x0003b8f0 b 0x3b890 | goto label_0;
| label_5:
0x0003b8f4 lw t9, -0x78a4(gp) | t9 = sym.imp.__stack_chk_fail;
0x0003b8f8 jalr t9 | t9 ();
0x0003b8fc nop |
| }
[*] Function strcpy used 6 times fsck.ext3