[*] Binary protection state of debugfs
Full RELRO Canary found NX disabled PIE enabled No RPATH No RUNPATH No Symbols
[*] Function printf tear down of debugfs
; assembly | /* r2dec pseudo code output */
| /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/sbin/debugfs @ 0x6ca8 */
| #include <stdint.h>
|
; (fcn) fcn.00006ca8 () | void fcn_00006ca8 () {
0x00006ca8 lui gp, 4 |
0x00006cac addiu gp, gp, 0x7498 |
0x00006cb0 addu gp, gp, t9 | gp += t9;
0x00006cb4 lw v0, -0x7aa4(gp) | v0 = *((gp - 7849));
0x00006cb8 addiu sp, sp, -0x58 |
0x00006cbc or a3, a2, a3 | a3 = a2 | a3;
0x00006cc0 lw v1, (v0) | v1 = *(v0);
0x00006cc4 sw gp, 0x18(sp) | *(var_18h) = gp;
0x00006cc8 sw v1, 0x2c(sp) | *(var_2ch) = v1;
0x00006ccc lw v1, -0x7d44(gp) | v1 = *((gp - 8017));
0x00006cd0 sw s7, 0x4c(sp) | *(var_4ch) = s7;
0x00006cd4 sw s5, 0x44(sp) | *(var_44h) = s5;
0x00006cd8 sw s4, 0x40(sp) | *(var_40h) = s4;
0x00006cdc sw s3, 0x3c(sp) | *(var_3ch) = s3;
0x00006ce0 sw s2, 0x38(sp) | *(var_38h) = s2;
0x00006ce4 sw s1, 0x34(sp) | *(var_34h) = s1;
0x00006ce8 sw s0, 0x30(sp) | *(var_30h) = s0;
0x00006cec sw v0, 0x20(sp) | *(var_20h) = v0;
0x00006cf0 sw ra, 0x54(sp) | *(var_54h) = ra;
0x00006cf4 sw fp, 0x50(sp) | *(var_50h) = fp;
0x00006cf8 sw s6, 0x48(sp) | *(var_48h) = s6;
0x00006cfc move s3, a2 | s3 = a2;
0x00006d00 move s4, a0 | s4 = a0;
0x00006d04 move s0, a1 | s0 = a1;
0x00006d08 lw s7, 0x68(sp) | s7 = *(arg_68h);
0x00006d0c lw v0, 0x6c(sp) | v0 = *(arg_6ch);
0x00006d10 lw s1, 0x74(sp) | s1 = *(arg_74h);
0x00006d14 lw s2, 0x78(sp) | s2 = *(arg_78h);
0x00006d18 sw zero, 0x28(sp) | *(var_28h) = 0;
0x00006d1c lw s5, (v1) | s5 = *(v1);
| if (a3 != 0) {
0x00006d20 beqz a3, 0x6d30 |
0x00006d24 or v0, s7, v0 | v0 = s7 | v0;
0x00006d28 lw a2, -0x7fdc(gp) | a2 = *(gp);
| if (v0 == 0) {
0x00006d2c beqz v0, 0x6edc | goto label_9;
| }
| }
0x00006d30 andi v0, s0, 0x2000 | v0 = s0 & 0x2000;
| if (s1 != 0) {
0x00006d34 beqz s1, 0x6d58 |
0x00006d38 addiu a2, sp, 0x28 | a2 = sp + 0x28;
| if (v0 == 0) {
0x00006d3c beqz v0, 0x7094 | goto label_10;
| }
0x00006d40 lw t9, 8(s5) | t9 = *((s5 + 2));
0x00006d44 move a1, zero | a1 = 0;
0x00006d48 move a0, s1 | a0 = s1;
0x00006d4c jalr t9 | t9 ();
0x00006d50 lw gp, 0x18(sp) | gp = *(var_18h);
| if (v0 != 0) {
0x00006d54 bnez v0, 0x6efc | goto label_11;
| }
| }
0x00006d58 lw v0, 0x70(sp) | v0 = *(arg_70h);
0x00006d5c lui v0, 0x90 | v0 = 0x900000;
| if (v0 != 0) {
0x00006d60 beqz v0, 0x6d68 |
0x00006d64 or s0, s0, v0 | s0 |= v0;
| }
0x00006d68 lw fp, -0x7fdc(gp) | fp = *(gp);
| if (s2 != 0) {
0x00006d6c beqz s2, 0x6dc0 |
0x00006d70 lb v0, (s2) | v0 = *(s2);
0x00006d74 lw a0, -0x7fdc(gp) | a0 = *(gp);
| if (v0 != 0) {
0x00006d78 bnez v0, 0x6f24 | goto label_12;
| }
0x00006d7c lw t9, -0x7a84(gp) | t9 = sym.imp.ss_safe_getenv;
| /* str.E2FSPROGS_UNDO_DIR */
0x00006d80 addiu a0, a0, -0x1be0 | a0 += -0x1be0;
0x00006d84 jalr t9 | t9 ();
0x00006d88 move s6, v0 | s6 = v0;
0x00006d8c lw gp, 0x18(sp) | gp = *(var_18h);
| if (v0 == 0) {
0x00006d90 beqz v0, 0x6f64 | goto label_13;
| }
0x00006d94 lw a1, -0x7fdc(gp) | a1 = *(gp);
0x00006d98 lw t9, -0x7a28(gp) | t9 = sym.imp.strcmp;
| /* str.none */
0x00006d9c addiu a1, a1, -0x1bcc | a1 += -0x1bcc;
0x00006da0 move a0, v0 | a0 = v0;
0x00006da4 jalr t9 | t9 ();
0x00006da8 lw gp, 0x18(sp) | gp = *(var_18h);
| if (v0 != 0) {
0x00006dac beqz v0, 0x6dbc |
0x00006db0 lb v0, (s6) | v0 = *(s6);
0x00006db4 lw t9, -0x7cb4(gp) | t9 = sym.imp.access;
| if (v0 != 0) {
0x00006db8 bnez v0, 0x6f70 | goto label_14;
| }
| }
| label_1:
0x00006dbc lw fp, -0x7fdc(gp) | fp = *(gp);
| }
0x00006dc0 lui s2, 0x7f2b | s2 = 0x7f2b0000;
0x00006dc4 lw s6, -0x7fd8(gp) | s6 = *(gp);
0x00006dc8 ori s2, s2, 0xb798 | s2 |= 0xb798;
0x00006dcc lui s1, 0x20 | s1 = 0x200000;
| /* str.Checksum_errors_in_superblock___Retrying... */
0x00006dd0 addiu fp, fp, -0x1b64 | fp += -0x1b64;
0x00006dd4 b 0x6df4 |
| while (v0 == s2) {
0x00006dd8 and v0, s0, s1 | v0 = s0 & s1;
0x00006ddc lw t9, -0x7be8(gp) | t9 = sym.imp.puts;
| if (v0 != 0) {
0x00006de0 bnez v0, 0x70bc | goto label_15;
| }
0x00006de4 move a0, fp | a0 = fp;
0x00006de8 jalr t9 | t9 ();
0x00006dec lw gp, 0x18(sp) | gp = *(var_18h);
0x00006df0 or s0, s0, s1 | s0 |= s1;
0x00006df4 lw t9, -0x7b00(gp) | t9 = sym.imp.ext2fs_open;
0x00006df8 sw s6, 0x14(sp) | *(var_14h) = s6;
0x00006dfc sw s5, 0x10(sp) | *(var_10h) = s5;
0x00006e00 move a3, s7 | a3 = s7;
0x00006e04 move a2, s3 | a2 = s3;
0x00006e08 move a1, s0 | a1 = s0;
0x00006e0c move a0, s4 | a0 = s4;
0x00006e10 jalr t9 | t9 ();
0x00006e14 lw gp, 0x18(sp) | gp = *(var_18h);
0x00006e18 beq v0, s2, 0x6dd8 |
| }
0x00006e1c lw v1, -0x7fd4(gp) | v1 = *(gp);
| if (v0 != 0) {
0x00006e20 bnez v0, 0x71f8 | goto label_16;
| }
0x00006e24 lw a0, (s6) | a0 = *(s6);
0x00006e28 addiu v0, zero, 2 | v0 = 2;
0x00006e2c sh v0, 0x68(a0) | *((a0 + 52)) = v0;
0x00006e30 lw v0, 0x70(sp) | v0 = *(arg_70h);
0x00006e34 lw a2, -0x7fdc(gp) | a2 = *(gp);
| if (v0 != 0) {
0x00006e38 bnez v0, 0x6ec0 | goto label_17;
| }
0x00006e3c lw t9, -0x7a64(gp) | t9 = sym.imp.ext2fs_read_bitmaps;
0x00006e40 jalr t9 | t9 ();
0x00006e44 nop |
0x00006e48 lw gp, 0x18(sp) | gp = *(var_18h);
| if (v0 != 0) {
0x00006e4c bnez v0, 0x70e8 | goto label_18;
| }
| do {
0x00006e50 lw a1, 0x28(sp) | a1 = *(var_28h);
0x00006e54 lw t9, -0x7a10(gp) | t9 = sym.imp.ext2fs_set_data_io;
| if (a1 != 0) {
0x00006e58 beqz a1, 0x6e6c |
0x00006e5c lw a0, (s6) | a0 = *(s6);
0x00006e60 jalr t9 | t9 ();
0x00006e64 lw gp, 0x18(sp) | gp = *(var_18h);
| if (v0 != 0) {
0x00006e68 bnez v0, 0x713c | goto label_19;
| }
| }
0x00006e6c lw v1, -0x7fd0(gp) | v1 = *(gp);
0x00006e70 addiu v0, zero, 2 | v0 = 2;
0x00006e74 sw v0, (v1) | *(v1) = v0;
0x00006e78 lw v1, -0x7fcc(gp) | v1 = *(gp);
0x00006e7c sw v0, (v1) | *(v1) = v0;
| label_0:
0x00006e80 lw v0, 0x20(sp) | v0 = *(var_20h);
0x00006e84 lw v1, 0x2c(sp) | v1 = *(var_2ch);
0x00006e88 lw v0, (v0) | v0 = *(v0);
0x00006e8c lw ra, 0x54(sp) | ra = *(var_54h);
| if (v1 != v0) {
0x00006e90 bne v1, v0, 0x72cc | goto label_20;
| }
0x00006e94 lw fp, 0x50(sp) | fp = *(var_50h);
0x00006e98 lw s7, 0x4c(sp) | s7 = *(var_4ch);
0x00006e9c lw s6, 0x48(sp) | s6 = *(var_48h);
0x00006ea0 lw s5, 0x44(sp) | s5 = *(var_44h);
0x00006ea4 lw s4, 0x40(sp) | s4 = *(var_40h);
0x00006ea8 lw s3, 0x3c(sp) | s3 = *(var_3ch);
0x00006eac lw s2, 0x38(sp) | s2 = *(var_38h);
0x00006eb0 lw s1, 0x34(sp) | s1 = *(var_34h);
0x00006eb4 lw s0, 0x30(sp) | s0 = *(var_30h);
0x00006eb8 addiu sp, sp, 0x58 |
0x00006ebc jr ra | return v0;
| label_17:
0x00006ec0 lw t9, -0x7b4c(gp) | t9 = sym.imp.com_err;
| /* str.catastrophic_mode___not_reading_inode_or_group_bitmaps */
0x00006ec4 addiu a2, a2, -0x1b20 | a2 += -0x1b20;
0x00006ec8 move a1, zero | a1 = 0;
0x00006ecc move a0, s4 | a0 = s4;
0x00006ed0 jalr t9 | t9 ();
0x00006ed4 lw gp, 0x18(sp) | gp = *(var_18h);
0x00006ed8 b 0x6e50 |
| } while (1);
| label_9:
0x00006edc lw t9, -0x7b4c(gp) | t9 = sym.imp.com_err;
| /* str.if_you_specify_the_superblock__you_must_also_specify_the_block_size */
0x00006ee0 addiu a2, a2, -0x1cd8 | a2 += -0x1cd8;
0x00006ee4 move a1, zero | a1 = 0;
0x00006ee8 jalr t9 | t9 ();
0x00006eec lw gp, 0x18(sp) | gp = *(var_18h);
0x00006ef0 lw v0, -0x7fd8(gp) | v0 = *(gp);
0x00006ef4 sw zero, (v0) | *(v0) = 0;
0x00006ef8 b 0x6e80 | goto label_0;
| label_11:
0x00006efc lw a2, -0x7fdc(gp) | a2 = *(gp);
0x00006f00 lw t9, -0x7b4c(gp) | t9 = sym.imp.com_err;
| /* str.while_opening_data_source */
0x00006f04 addiu a2, a2, -0x1c58 | a2 += -0x1c58;
0x00006f08 move a1, zero | a1 = 0;
0x00006f0c move a0, s1 | a0 = s1;
0x00006f10 jalr t9 | t9 ();
0x00006f14 lw gp, 0x18(sp) | gp = *(var_18h);
0x00006f18 lw v0, -0x7fd8(gp) | v0 = *(gp);
0x00006f1c sw zero, (v0) | *(v0) = 0;
0x00006f20 b 0x6e80 | goto label_0;
| label_12:
0x00006f24 lw t9, -0x7c08(gp) | t9 = sym.imp.set_undo_io_backing_manager;
0x00006f28 move a0, s5 | a0 = s5;
0x00006f2c jalr t9 | t9 ();
0x00006f30 lw gp, 0x18(sp) | gp = *(var_18h);
| if (v0 == 0) {
0x00006f34 beqz v0, 0x715c | goto label_21;
| }
| label_4:
0x00006f38 lw a2, -0x7fdc(gp) | a2 = *(gp);
0x00006f3c lw t9, -0x7b4c(gp) | t9 = sym.imp.com_err;
| /* str.while_trying_to_setup_undo_file_n */
0x00006f40 addiu a2, a2, -0x1bc4 | a2 += -0x1bc4;
| label_2:
0x00006f44 lw a0, -0x7fdc(gp) | a0 = *(gp);
0x00006f48 move a1, v0 | a1 = v0;
| /* str.debugfs */
0x00006f4c addiu a0, a0, -0x1ba0 | a0 += -0x1ba0;
0x00006f50 jalr t9 | t9 ();
0x00006f54 lw gp, 0x18(sp) | gp = *(var_18h);
| label_7:
0x00006f58 lw t9, -0x7bfc(gp) | t9 = sym.imp.exit;
| label_5:
0x00006f5c addiu a0, zero, 1 | a0 = 1;
0x00006f60 jalr t9 | t9 ();
| label_13:
0x00006f64 lw s6, -0x7fdc(gp) | s6 = *(gp);
| /* str._var_lib_e2fsprogs */
0x00006f68 addiu s6, s6, -0x1cec | s6 += -0x1cec;
0x00006f6c lw t9, -0x7cb4(gp) | t9 = sym.imp.access;
| label_14:
0x00006f70 addiu a1, zero, 2 | a1 = 2;
0x00006f74 move a0, s6 | a0 = s6;
0x00006f78 jalr t9 | t9 ();
0x00006f7c lw gp, 0x18(sp) | gp = *(var_18h);
| if (v0 != 0) {
0x00006f80 bnez v0, 0x6dbc | goto label_1;
| }
0x00006f84 lw t9, -0x7a90(gp) | t9 = sym.imp.strdup;
0x00006f88 move a0, s4 | a0 = s4;
0x00006f8c jalr t9 | t9 ();
0x00006f90 move fp, v0 | fp = v0;
0x00006f94 lw gp, 0x18(sp) | gp = *(var_18h);
| if (v0 == 0) {
0x00006f98 beqz v0, 0x7258 | goto label_22;
| }
0x00006f9c lw t9, -0x7c9c(gp) | t9 = sym.imp.__xpg_basename;
0x00006fa0 move a0, v0 | a0 = v0;
0x00006fa4 jalr t9 | t9 ();
0x00006fa8 lw gp, 0x18(sp) | gp = *(var_18h);
0x00006fac move a0, s6 | a0 = s6;
0x00006fb0 lw t9, -0x7c30(gp) | t9 = sym.imp.strlen;
0x00006fb4 move s2, v0 | s2 = v0;
0x00006fb8 jalr t9 | t9 ();
0x00006fbc lw gp, 0x18(sp) | gp = *(var_18h);
0x00006fc0 move a0, s2 | a0 = s2;
0x00006fc4 lw t9, -0x7c30(gp) | t9 = sym.imp.strlen;
0x00006fc8 move s1, v0 | s1 = v0;
0x00006fcc jalr t9 | t9 ();
0x00006fd0 lw gp, 0x18(sp) | gp = *(var_18h);
0x00006fd4 addu v0, s1, v0 | v0 = s1 + v0;
0x00006fd8 lw t9, -0x7bd4(gp) | t9 = sym.imp.malloc;
0x00006fdc addiu a0, v0, 0x11 | a0 = v0 + 0x11;
0x00006fe0 jalr t9 | t9 ();
0x00006fe4 move s1, v0 | s1 = v0;
0x00006fe8 lw gp, 0x18(sp) | gp = *(var_18h);
| if (v0 == 0) {
0x00006fec beqz v0, 0x7248 | goto label_23;
| }
0x00006ff0 lw a3, -0x7fdc(gp) | a3 = *(gp);
0x00006ff4 lw t9, -0x7e0c(gp) | t9 = sym.imp.__sprintf_chk
| /* str._s_debugfs__s.e2undo */
0x00006ff8 addiu a3, a3, -0x1b98 | a3 += -0x1b98;
0x00006ffc addiu a2, zero, -1 | a2 = -1;
0x00007000 addiu a1, zero, 1 | a1 = 1;
0x00007004 move a0, v0 | a0 = v0;
0x00007008 sw s2, 0x14(sp) | *(var_14h) = s2;
0x0000700c sw s6, 0x10(sp) | *(var_10h) = s6;
0x00007010 jalr t9 | t9 ();
0x00007014 lw gp, 0x18(sp) | gp = *(var_18h);
0x00007018 lw t9, -0x7a8c(gp) | t9 = sym.imp.free;
0x0000701c move a0, fp | a0 = fp;
0x00007020 jalr t9 | t9 ();
0x00007024 lw gp, 0x18(sp) | gp = *(var_18h);
0x00007028 lw t9, -0x7b2c(gp) | t9 = sym.imp.unlink;
0x0000702c move a0, s1 | a0 = s1;
0x00007030 jalr t9 | t9 ();
0x00007034 lw gp, 0x18(sp) | gp = *(var_18h);
| if (v0 < 0) {
0x00007038 bgez v0, 0x7058 |
0x0000703c lw t9, -0x7c74(gp) | t9 = sym.imp.__errno_location;
0x00007040 jalr t9 | t9 ();
0x00007044 nop |
0x00007048 lw s2, (v0) | s2 = *(v0);
0x0000704c addiu v0, zero, 2 | v0 = 2;
0x00007050 lw gp, 0x18(sp) | gp = *(var_18h);
| if (s2 != v0) {
0x00007054 bne s2, v0, 0x719c | goto label_24;
| }
| }
0x00007058 lw t9, -0x7c08(gp) | t9 = sym.imp.set_undo_io_backing_manager;
0x0000705c move a0, s5 | a0 = s5;
0x00007060 jalr t9 | t9 ();
0x00007064 lw gp, 0x18(sp) | gp = *(var_18h);
| if (v0 == 0) {
0x00007068 beqz v0, 0x727c | goto label_25;
| }
| label_8:
0x0000706c lw t9, -0x7a8c(gp) | t9 = sym.imp.free;
0x00007070 sw v0, 0x20(sp) | *(var_20h) = v0;
0x00007074 move a0, s1 | a0 = s1;
0x00007078 jalr t9 | t9 ();
0x0000707c lw gp, 0x18(sp) | gp = *(var_18h);
0x00007080 lw v0, 0x20(sp) | v0 = *(var_20h);
0x00007084 lw a2, -0x7fdc(gp) | a2 = *(gp);
0x00007088 lw t9, -0x7b4c(gp) | t9 = sym.imp.com_err;
| /* str.while_trying_to_setup_undo_file_n */
0x0000708c addiu a2, a2, -0x1bc4 | a2 += -0x1bc4;
0x00007090 b 0x6f44 | goto label_2;
| label_10:
0x00007094 lw a2, -0x7fdc(gp) | a2 = *(gp);
0x00007098 lw t9, -0x7b4c(gp) | t9 = sym.imp.com_err;
| /* str.The__d_option_is_only_valid_when_reading_an_e2image_file */
0x0000709c addiu a2, a2, -0x1c94 | a2 += -0x1c94;
0x000070a0 move a1, zero | a1 = 0;
0x000070a4 move a0, s4 | a0 = s4;
0x000070a8 jalr t9 | t9 ();
0x000070ac lw gp, 0x18(sp) | gp = *(var_18h);
0x000070b0 lw v0, -0x7fd8(gp) | v0 = *(gp);
0x000070b4 sw zero, (v0) | *(v0) = 0;
0x000070b8 b 0x6e80 | goto label_0;
| label_15:
0x000070bc lw v0, -0x7fd4(gp) | v0 = *(gp);
0x000070c0 lw a2, -0x7fdc(gp) | a2 = *(gp);
0x000070c4 lw t9, -0x7b4c(gp) | t9 = sym.imp.com_err;
0x000070c8 lw a0, (v0) | a0 = *(v0);
0x000070cc move a3, s4 | a3 = s4;
| /* str.while_trying_to_open__s */
0x000070d0 addiu a2, a2, -0x1b38 | a2 += -0x1b38;
0x000070d4 move a1, s2 | a1 = s2;
0x000070d8 jalr t9 | t9 ();
0x000070dc lw gp, 0x18(sp) | gp = *(var_18h);
| label_6:
0x000070e0 sw zero, (s6) | *(s6) = 0;
0x000070e4 b 0x6e80 | goto label_0;
| label_18:
0x000070e8 lw a2, -0x7fdc(gp) | a2 = *(gp);
0x000070ec lw t9, -0x7b4c(gp) | t9 = sym.imp.com_err;
| /* str.while_reading_allocation_bitmaps */
0x000070f0 addiu a2, a2, -0x1ae8 | a2 += -0x1ae8;
0x000070f4 move a1, v0 | a1 = v0;
0x000070f8 move a0, s4 | a0 = s4;
0x000070fc jalr t9 | t9 ();
0x00007100 nop |
| label_3:
0x00007104 nop |
0x00007108 lw a0, -0x7fd8(gp) | a0 = *(gp);
0x0000710c jalr t9 | t9 ();
0x00007110 nop |
0x00007114 lw gp, 0x18(sp) | gp = *(var_18h);
| if (v0 == 0) {
0x00007118 beqz v0, 0x6e80 | goto label_0;
| }
0x0000711c lw a2, -0x7fdc(gp) | a2 = *(gp);
0x00007120 lw t9, -0x7b4c(gp) | t9 = sym.imp.com_err;
| /* str.while_trying_to_close_filesystem */
0x00007124 addiu a2, a2, -0x1aa8 | a2 += -0x1aa8;
0x00007128 move a1, v0 | a1 = v0;
0x0000712c move a0, s4 | a0 = s4;
0x00007130 jalr t9 | t9 ();
0x00007134 lw gp, 0x18(sp) | gp = *(var_18h);
0x00007138 b 0x6e80 | goto label_0;
| label_19:
0x0000713c lw a2, -0x7fdc(gp) | a2 = *(gp);
0x00007140 lw t9, -0x7b4c(gp) | t9 = sym.imp.com_err;
| /* str.while_setting_data_source */
0x00007144 addiu a2, a2, -0x1ac4 | a2 += -0x1ac4;
0x00007148 move a1, v0 | a1 = v0;
0x0000714c move a0, s4 | a0 = s4;
0x00007150 jalr t9 | t9 ();
0x00007154 lw gp, 0x18(sp) | gp = *(var_18h);
0x00007158 b 0x7104 | goto label_3;
| label_21:
0x0000715c lw v0, -0x7d5c(gp) | v0 = *((gp - 8023));
0x00007160 lw t9, -0x7cd0(gp) | t9 = sym.imp.set_undo_io_backup_file;
0x00007164 move a0, s2 | a0 = s2;
0x00007168 lw s5, (v0) | s5 = *(v0);
0x0000716c jalr t9 | t9 ();
0x00007170 lw gp, 0x18(sp) | gp = *(var_18h);
| if (v0 != 0) {
0x00007174 bnez v0, 0x6f38 | goto label_4;
| }
0x00007178 lw a1, -0x7fdc(gp) | a1 = *(gp);
0x0000717c lw t9, -0x7cd4(gp) | t9 = sym.imp.__printf_chk
0x00007180 move a3, s4 | a3 = s4;
0x00007184 move a2, s2 | a2 = s2;
| /* str.Overwriting_existing_filesystem__this_can_be_undone_using_the_command:_n____e2undo__s__s_n_n */
0x00007188 addiu a1, a1, -0x1c3c | a1 += -0x1c3c;
0x0000718c addiu a0, zero, 1 | a0 = 1;
0x00007190 jalr t9 | t9 ();
0x00007194 lw gp, 0x18(sp) | gp = *(var_18h);
0x00007198 b 0x6dbc | goto label_1;
| label_24:
0x0000719c lw s6, -0x7fdc(gp) | s6 = *(gp);
0x000071a0 lw a2, -0x7fdc(gp) | a2 = *(gp);
0x000071a4 lw t9, -0x7b4c(gp) | t9 = sym.imp.com_err;
0x000071a8 move a3, s1 | a3 = s1;
| /* str.while_trying_to_delete__s */
0x000071ac addiu a2, a2, -0x1b80 | a2 += -0x1b80;
0x000071b0 move a1, s2 | a1 = s2;
| /* str.debugfs */
0x000071b4 addiu a0, s6, -0x1ba0 | a0 = s6 + -0x1ba0;
0x000071b8 jalr t9 | t9 ();
0x000071bc lw gp, 0x18(sp) | gp = *(var_18h);
0x000071c0 lw t9, -0x7a8c(gp) | t9 = sym.imp.free;
0x000071c4 move a0, s1 | a0 = s1;
0x000071c8 jalr t9 | t9 ();
0x000071cc lw gp, 0x18(sp) | gp = *(var_18h);
0x000071d0 move a1, s2 | a1 = s2;
| /* str.debugfs */
0x000071d4 addiu a0, s6, -0x1ba0 | a0 = s6 + -0x1ba0;
0x000071d8 lw a2, -0x7fdc(gp) | a2 = *(gp);
0x000071dc lw t9, -0x7b4c(gp) | t9 = sym.imp.com_err;
| /* str.while_trying_to_setup_undo_file_n */
0x000071e0 addiu a2, a2, -0x1bc4 | a2 += -0x1bc4;
0x000071e4 jalr t9 | t9 ();
0x000071e8 lw gp, 0x18(sp) | gp = *(var_18h);
| if (s2 == 0) {
0x000071ec beqz s2, 0x6dbc | goto label_1;
| }
0x000071f0 lw t9, -0x7bfc(gp) | t9 = sym.imp.exit;
0x000071f4 b 0x6f5c | goto label_5;
| label_16:
0x000071f8 lw a2, -0x7fdc(gp) | a2 = *(gp);
0x000071fc lw t9, -0x7b4c(gp) | t9 = sym.imp.com_err;
0x00007200 lw a0, (v1) | a0 = *(v1);
0x00007204 move a1, v0 | a1 = v0;
0x00007208 sw v0, 0x24(sp) | *(var_24h) = v0;
0x0000720c move a3, s4 | a3 = s4;
| /* str.while_trying_to_open__s */
0x00007210 addiu a2, a2, -0x1b38 | a2 += -0x1b38;
0x00007214 jalr t9 | t9 ();
0x00007218 lw v0, 0x24(sp) | v0 = *(var_24h);
0x0000721c addiu s2, s2, -0x85 | s2 += -0x85;
0x00007220 lw gp, 0x18(sp) | gp = *(var_18h);
| if (v0 != s2) {
0x00007224 bne v0, s2, 0x70e0 | goto label_6;
| }
0x00007228 lw t9, -0x7fc8(gp) | t9 = sym.check_plausibility;
0x0000722c move a2, zero | a2 = 0;
0x00007230 addiu a1, zero, 4 | a1 = 4;
0x00007234 move a0, s4 | a0 = s4;
0x00007238 bal 0x25ec0 | sym_check_plausibility ();
0x0000723c lw gp, 0x18(sp) | gp = *(var_18h);
0x00007240 sw zero, (s6) | *(s6) = 0;
0x00007244 b 0x6e80 | goto label_0;
| label_23:
0x00007248 lw t9, -0x7a8c(gp) | t9 = sym.imp.free;
0x0000724c move a0, fp | a0 = fp;
0x00007250 jalr t9 | t9 ();
0x00007254 lw gp, 0x18(sp) | gp = *(var_18h);
| label_22:
0x00007258 lw a2, -0x7fdc(gp) | a2 = *(gp);
0x0000725c lw a0, -0x7fdc(gp) | a0 = *(gp);
0x00007260 lw t9, -0x7b4c(gp) | t9 = sym.imp.com_err;
| /* str.while_trying_to_setup_undo_file_n */
0x00007264 addiu a2, a2, -0x1bc4 | a2 += -0x1bc4;
0x00007268 addiu a1, zero, 0xc | a1 = 0xc;
| /* str.debugfs */
0x0000726c addiu a0, a0, -0x1ba0 | a0 += -0x1ba0;
0x00007270 jalr t9 | t9 ();
0x00007274 lw gp, 0x18(sp) | gp = *(var_18h);
0x00007278 b 0x6f58 | goto label_7;
| label_25:
0x0000727c lw v0, -0x7d5c(gp) | v0 = *((gp - 8023));
0x00007280 lw t9, -0x7cd0(gp) | t9 = sym.imp.set_undo_io_backup_file;
0x00007284 move a0, s1 | a0 = s1;
0x00007288 lw s5, (v0) | s5 = *(v0);
0x0000728c jalr t9 | t9 ();
0x00007290 lw gp, 0x18(sp) | gp = *(var_18h);
| if (v0 != 0) {
0x00007294 bnez v0, 0x706c | goto label_8;
| }
0x00007298 lw a1, -0x7fdc(gp) | a1 = *(gp);
0x0000729c lw t9, -0x7cd4(gp) | t9 = sym.imp.__printf_chk
0x000072a0 move a3, s4 | a3 = s4;
0x000072a4 move a2, s1 | a2 = s1;
| /* str.Overwriting_existing_filesystem__this_can_be_undone_using_the_command:_n____e2undo__s__s_n_n */
0x000072a8 addiu a1, a1, -0x1c3c | a1 += -0x1c3c;
0x000072ac addiu a0, zero, 1 | a0 = 1;
0x000072b0 jalr t9 | t9 ();
0x000072b4 lw gp, 0x18(sp) | gp = *(var_18h);
0x000072b8 lw t9, -0x7a8c(gp) | t9 = sym.imp.free;
0x000072bc move a0, s1 | a0 = s1;
0x000072c0 jalr t9 | t9 ();
0x000072c4 lw gp, 0x18(sp) | gp = *(var_18h);
0x000072c8 b 0x6dbc | goto label_1;
| label_20:
0x000072cc lw t9, -0x7b08(gp) | t9 = sym.imp.__stack_chk_fail;
0x000072d0 jalr t9 | t9 ();
0x000072d4 nop |
| }
; assembly | /* r2dec pseudo code output */
| /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/sbin/debugfs @ 0x78e4 */
| #include <stdint.h>
|
; (fcn) fcn.000078e4 () | void fcn_000078e4 () {
0x000078e4 lui gp, 4 |
0x000078e8 addiu gp, gp, 0x685c |
0x000078ec addu gp, gp, t9 | gp += t9;
0x000078f0 addiu sp, sp, -0x108 |
0x000078f4 lhu v1, (a3) | v1 = *(a3);
0x000078f8 sw s1, 0xf4(sp) | *(var_f4h_2) = s1;
0x000078fc lw s1, -0x7aa4(gp) | s1 = *((gp - 7849));
0x00007900 lw t9, -0x7e0c(gp) | t9 = sym.imp.__sprintf_chk
0x00007904 sw s0, 0xf0(sp) | *(var_f0h_2) = s0;
0x00007908 lw v0, (s1) | v0 = *(s1);
0x0000790c addiu s0, sp, 0x24 | s0 = sp + 0x24;
0x00007910 sw ra, 0x104(sp) | *(var_104h) = ra;
0x00007914 sw gp, 0x18(sp) | *(var_18h) = gp;
0x00007918 sw v1, 0x10(sp) | *(var_10h) = v1;
0x0000791c sw s4, 0x100(sp) | *(var_100h) = s4;
0x00007920 sw s3, 0xfc(sp) | *(var_fch) = s3;
0x00007924 sw s2, 0xf8(sp) | *(var_f8h) = s2;
0x00007928 move s4, a1 | s4 = a1;
0x0000792c move s2, a3 | s2 = a3;
0x00007930 addiu a1, zero, 1 | a1 = 1;
0x00007934 move a3, a2 | a3 = a2;
0x00007938 move s3, a0 | s3 = a0;
0x0000793c addiu a2, zero, 0xc8 | a2 = 0xc8;
0x00007940 move a0, s0 | a0 = s0;
0x00007944 sw v0, 0xec(sp) | *(var_ech_2) = v0;
0x00007948 jalr t9 | t9 ();
0x0000794c nop |
0x00007950 lw gp, 0x18(sp) | gp = *(var_18h);
0x00007954 move a3, s0 | a3 = s0;
0x00007958 move a2, s4 | a2 = s4;
0x0000795c lw a1, -0x7fdc(gp) | a1 = *(gp);
0x00007960 lw t9, -0x7cd4(gp) | t9 = sym.imp.__printf_chk
| /* str._30s______s__ */
0x00007964 addiu a1, a1, -0x1948 | a1 += -0x1948;
0x00007968 addiu a0, zero, 1 | a0 = 1;
0x0000796c jalr t9 | t9 ();
0x00007970 lw gp, 0x18(sp) | gp = *(var_18h);
0x00007974 addiu a1, zero, 0xc8 | a1 = 0xc8;
0x00007978 move a0, s0 | a0 = s0;
0x0000797c lw v0, -0x7c50(gp) | v0 = *((gp - 7956));
0x00007980 lw t9, -0x7ab8(gp) | t9 = sym.imp.fgets;
0x00007984 lw a2, (v0) | a2 = *(v0);
0x00007988 jalr t9 | t9 ();
0x0000798c lw gp, 0x18(sp) | gp = *(var_18h);
| if (v0 == 0) {
0x00007990 beqz v0, 0x79cc | goto label_0;
| }
0x00007994 lw t9, -0x7c30(gp) | t9 = sym.imp.strlen;
0x00007998 move a0, s0 | a0 = s0;
0x0000799c jalr t9 | t9 ();
0x000079a0 addiu v0, v0, -1 | v0 += -1;
0x000079a4 addiu v1, sp, 0xf0 | v1 = sp + 0xf0;
0x000079a8 addu v0, v1, v0 | v0 = v1 + v0;
0x000079ac addiu v1, zero, 0xa | v1 = 0xa;
0x000079b0 lb a0, -0xcc(v0) | a0 = *((v0 - 204));
0x000079b4 lw gp, 0x18(sp) | gp = *(var_18h);
| if (a0 == v1) {
0x000079b8 bne a0, v1, 0x79c0 |
0x000079bc sb zero, -0xcc(v0) | *((v0 - 204)) = 0;
| }
0x000079c0 lb v0, 0x24(sp) | v0 = *(var_24h);
0x000079c4 lw t9, -0x7c24(gp) | t9 = sym.imp.strtoul;
0x000079c8 bnez v0, 0x79f8 |
| while (1) {
| label_0:
0x000079cc lw v1, 0xec(sp) | v1 = *(var_ech_2);
0x000079d0 lw v0, (s1) | v0 = *(s1);
0x000079d4 lw ra, 0x104(sp) | ra = *(var_104h);
| if (v1 != v0) {
0x000079d8 bne v1, v0, 0x7a44 | goto label_1;
| }
0x000079dc lw s4, 0x100(sp) | s4 = *(var_100h);
0x000079e0 lw s3, 0xfc(sp) | s3 = *(var_fch);
0x000079e4 lw s2, 0xf8(sp) | s2 = *(var_f8h);
0x000079e8 lw s1, 0xf4(sp) | s1 = *(var_f4h_2);
0x000079ec lw s0, 0xf0(sp) | s0 = *(var_f0h_2);
0x000079f0 addiu sp, sp, 0x108 |
0x000079f4 jr ra | return v0;
0x000079f8 move a2, zero | a2 = 0;
0x000079fc addiu a1, sp, 0x20 | a1 = sp + 0x20;
0x00007a00 move a0, s0 | a0 = s0;
0x00007a04 jalr t9 | t9 ();
0x00007a08 lw v1, 0x20(sp) | v1 = *(var_20h_3);
0x00007a0c lb v1, (v1) | v1 = *(v1);
0x00007a10 lw gp, 0x18(sp) | gp = *(var_18h);
| if (v1 != 0) {
0x00007a14 bnez v1, 0x7a20 | goto label_2;
| }
0x00007a18 sh v0, (s2) | *(s2) = v0;
0x00007a1c b 0x79cc |
| }
| label_2:
0x00007a20 lw a2, -0x7fdc(gp) | a2 = *(gp);
0x00007a24 lw t9, -0x7b4c(gp) | t9 = sym.imp.com_err;
0x00007a28 move a3, s0 | a3 = s0;
| /* str.Bad_value____s */
0x00007a2c addiu a2, a2, -0x1938 | a2 += -0x1938;
0x00007a30 move a1, zero | a1 = 0;
0x00007a34 move a0, s3 | a0 = s3;
0x00007a38 jalr t9 | t9 ();
0x00007a3c lw gp, 0x18(sp) | gp = *(var_18h);
0x00007a40 b 0x79cc | goto label_0;
| label_1:
0x00007a44 lw t9, -0x7b08(gp) | t9 = sym.imp.__stack_chk_fail;
0x00007a48 jalr t9 | t9 ();
0x00007a4c nop |
| }
; assembly | /* r2dec pseudo code output */
| /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/sbin/debugfs @ 0x7a50 */
| #include <stdint.h>
|
; (fcn) fcn.00007a50 () | void fcn_00007a50 () {
0x00007a50 lui gp, 4 |
0x00007a54 addiu gp, gp, 0x66f0 |
0x00007a58 addu gp, gp, t9 | gp += t9;
0x00007a5c addiu sp, sp, -0x108 |
0x00007a60 lw v1, (a3) | v1 = *(a3);
0x00007a64 sw s1, 0xf4(sp) | *(var_f4h_3) = s1;
0x00007a68 lw s1, -0x7aa4(gp) | s1 = *((gp - 7849));
0x00007a6c lw t9, -0x7e0c(gp) | t9 = sym.imp.__sprintf_chk
0x00007a70 sw s0, 0xf0(sp) | *(var_f0h_3) = s0;
0x00007a74 lw v0, (s1) | v0 = *(s1);
0x00007a78 addiu s0, sp, 0x24 | s0 = sp + 0x24;
0x00007a7c sw ra, 0x104(sp) | *(var_104h_2) = ra;
0x00007a80 sw gp, 0x18(sp) | *(var_18h_2) = gp;
0x00007a84 sw v1, 0x10(sp) | *(var_10h_2) = v1;
0x00007a88 sw s4, 0x100(sp) | *(var_100h_2) = s4;
0x00007a8c sw s3, 0xfc(sp) | *(var_fch_2) = s3;
0x00007a90 sw s2, 0xf8(sp) | *(var_f8h_2) = s2;
0x00007a94 move s4, a1 | s4 = a1;
0x00007a98 move s2, a3 | s2 = a3;
0x00007a9c addiu a1, zero, 1 | a1 = 1;
0x00007aa0 move a3, a2 | a3 = a2;
0x00007aa4 move s3, a0 | s3 = a0;
0x00007aa8 addiu a2, zero, 0xc8 | a2 = 0xc8;
0x00007aac move a0, s0 | a0 = s0;
0x00007ab0 sw v0, 0xec(sp) | *(var_ech_3) = v0;
0x00007ab4 jalr t9 | t9 ();
0x00007ab8 nop |
0x00007abc lw gp, 0x18(sp) | gp = *(var_18h_2);
0x00007ac0 move a3, s0 | a3 = s0;
0x00007ac4 move a2, s4 | a2 = s4;
0x00007ac8 lw a1, -0x7fdc(gp) | a1 = *(gp);
0x00007acc lw t9, -0x7cd4(gp) | t9 = sym.imp.__printf_chk
| /* str._30s______s__ */
0x00007ad0 addiu a1, a1, -0x1948 | a1 += -0x1948;
0x00007ad4 addiu a0, zero, 1 | a0 = 1;
0x00007ad8 jalr t9 | t9 ();
0x00007adc lw gp, 0x18(sp) | gp = *(var_18h_2);
0x00007ae0 addiu a1, zero, 0xc8 | a1 = 0xc8;
0x00007ae4 move a0, s0 | a0 = s0;
0x00007ae8 lw v0, -0x7c50(gp) | v0 = *((gp - 7956));
0x00007aec lw t9, -0x7ab8(gp) | t9 = sym.imp.fgets;
0x00007af0 lw a2, (v0) | a2 = *(v0);
0x00007af4 jalr t9 | t9 ();
0x00007af8 lw gp, 0x18(sp) | gp = *(var_18h_2);
| if (v0 == 0) {
0x00007afc beqz v0, 0x7b38 | goto label_0;
| }
0x00007b00 lw t9, -0x7c30(gp) | t9 = sym.imp.strlen;
0x00007b04 move a0, s0 | a0 = s0;
0x00007b08 jalr t9 | t9 ();
0x00007b0c addiu v0, v0, -1 | v0 += -1;
0x00007b10 addiu v1, sp, 0xf0 | v1 = sp + 0xf0;
0x00007b14 addu v0, v1, v0 | v0 = v1 + v0;
0x00007b18 addiu v1, zero, 0xa | v1 = 0xa;
0x00007b1c lb a0, -0xcc(v0) | a0 = *((v0 - 204));
0x00007b20 lw gp, 0x18(sp) | gp = *(var_18h_2);
| if (a0 == v1) {
0x00007b24 bne a0, v1, 0x7b2c |
0x00007b28 sb zero, -0xcc(v0) | *((v0 - 204)) = 0;
| }
0x00007b2c lb v0, 0x24(sp) | v0 = *(var_24h_2);
0x00007b30 lw t9, -0x7c24(gp) | t9 = sym.imp.strtoul;
0x00007b34 bnez v0, 0x7b64 |
| while (1) {
| label_0:
0x00007b38 lw v1, 0xec(sp) | v1 = *(var_ech_3);
0x00007b3c lw v0, (s1) | v0 = *(s1);
0x00007b40 lw ra, 0x104(sp) | ra = *(var_104h_2);
| if (v1 != v0) {
0x00007b44 bne v1, v0, 0x7bb0 | goto label_1;
| }
0x00007b48 lw s4, 0x100(sp) | s4 = *(var_100h_2);
0x00007b4c lw s3, 0xfc(sp) | s3 = *(var_fch_2);
0x00007b50 lw s2, 0xf8(sp) | s2 = *(var_f8h_2);
0x00007b54 lw s1, 0xf4(sp) | s1 = *(var_f4h_3);
0x00007b58 lw s0, 0xf0(sp) | s0 = *(var_f0h_3);
0x00007b5c addiu sp, sp, 0x108 |
0x00007b60 jr ra | return v0;
0x00007b64 move a2, zero | a2 = 0;
0x00007b68 addiu a1, sp, 0x20 | a1 = sp + 0x20;
0x00007b6c move a0, s0 | a0 = s0;
0x00007b70 jalr t9 | t9 ();
0x00007b74 lw v1, 0x20(sp) | v1 = *(var_20h_2);
0x00007b78 lb v1, (v1) | v1 = *(v1);
0x00007b7c lw gp, 0x18(sp) | gp = *(var_18h_2);
| if (v1 != 0) {
0x00007b80 bnez v1, 0x7b8c | goto label_2;
| }
0x00007b84 sw v0, (s2) | *(s2) = v0;
0x00007b88 b 0x7b38 |
| }
| label_2:
0x00007b8c lw a2, -0x7fdc(gp) | a2 = *(gp);
0x00007b90 lw t9, -0x7b4c(gp) | t9 = sym.imp.com_err;
0x00007b94 move a3, s0 | a3 = s0;
| /* str.Bad_value____s */
0x00007b98 addiu a2, a2, -0x1938 | a2 += -0x1938;
0x00007b9c move a1, zero | a1 = 0;
0x00007ba0 move a0, s3 | a0 = s3;
0x00007ba4 jalr t9 | t9 ();
0x00007ba8 lw gp, 0x18(sp) | gp = *(var_18h_2);
0x00007bac b 0x7b38 | goto label_0;
| label_1:
0x00007bb0 lw t9, -0x7b08(gp) | t9 = sym.imp.__stack_chk_fail;
0x00007bb4 jalr t9 | t9 ();
0x00007bb8 nop |
| }
; assembly | /* r2dec pseudo code output */
| /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/sbin/debugfs @ 0x88e4 */
| #include <stdint.h>
|
; (fcn) fcn.000088e4 () | void fcn_000088e4 () {
0x000088e4 lui gp, 4 |
0x000088e8 addiu gp, gp, 0x585c |
0x000088ec addu gp, gp, t9 | gp += t9;
0x000088f0 addiu sp, sp, -0x108 |
0x000088f4 lw a3, -0x7fdc(gp) | a3 = *(gp);
0x000088f8 sw s1, 0xf4(sp) | *(var_f4h) = s1;
0x000088fc lw s1, -0x7aa4(gp) | s1 = *((gp - 7849));
0x00008900 sw ra, 0x104(sp) | *(var_104h) = ra;
0x00008904 sw gp, 0x18(sp) | *(var_18h) = gp;
0x00008908 sw s4, 0x100(sp) | *(var_100h) = s4;
0x0000890c sw s3, 0xfc(sp) | *(var_fch) = s3;
0x00008910 sw s2, 0xf8(sp) | *(var_f8h) = s2;
0x00008914 sw s0, 0xf0(sp) | *(var_f0h) = s0;
0x00008918 lbu v1, (a2) | v1 = *(a2);
0x0000891c lw v0, (s1) | v0 = *(s1);
0x00008920 lw t9, -0x7e0c(gp) | t9 = sym.imp.__sprintf_chk
0x00008924 addiu s0, sp, 0x24 | s0 = sp + 0x24;
0x00008928 sw v1, 0x10(sp) | *(var_10h) = v1;
0x0000892c move s4, a1 | s4 = a1;
| /* esilref: '&d' */
0x00008930 addiu a3, a3, 0x810 | a3 += 0x810;
0x00008934 addiu a1, zero, 1 | a1 = 1;
0x00008938 move s2, a2 | s2 = a2;
0x0000893c move s3, a0 | s3 = a0;
0x00008940 addiu a2, zero, 0xc8 | a2 = 0xc8;
0x00008944 move a0, s0 | a0 = s0;
0x00008948 sw v0, 0xec(sp) | *(var_ech) = v0;
0x0000894c jalr t9 | t9 ();
0x00008950 nop |
0x00008954 lw gp, 0x18(sp) | gp = *(var_18h);
0x00008958 move a3, s0 | a3 = s0;
0x0000895c move a2, s4 | a2 = s4;
0x00008960 lw a1, -0x7fdc(gp) | a1 = *(gp);
0x00008964 lw t9, -0x7cd4(gp) | t9 = sym.imp.__printf_chk
| /* str._30s______s__ */
0x00008968 addiu a1, a1, -0x1948 | a1 += -0x1948;
0x0000896c addiu a0, zero, 1 | a0 = 1;
0x00008970 jalr t9 | t9 ();
0x00008974 lw gp, 0x18(sp) | gp = *(var_18h);
0x00008978 addiu a1, zero, 0xc8 | a1 = 0xc8;
0x0000897c move a0, s0 | a0 = s0;
0x00008980 lw v0, -0x7c50(gp) | v0 = *((gp - 7956));
0x00008984 lw t9, -0x7ab8(gp) | t9 = sym.imp.fgets;
0x00008988 lw a2, (v0) | a2 = *(v0);
0x0000898c jalr t9 | t9 ();
0x00008990 lw gp, 0x18(sp) | gp = *(var_18h);
| if (v0 == 0) {
0x00008994 beqz v0, 0x89d0 | goto label_0;
| }
0x00008998 lw t9, -0x7c30(gp) | t9 = sym.imp.strlen;
0x0000899c move a0, s0 | a0 = s0;
0x000089a0 jalr t9 | t9 ();
0x000089a4 addiu v0, v0, -1 | v0 += -1;
0x000089a8 addiu v1, sp, 0xf0 | v1 = sp + 0xf0;
0x000089ac addu v0, v1, v0 | v0 = v1 + v0;
0x000089b0 addiu v1, zero, 0xa | v1 = 0xa;
0x000089b4 lb a0, -0xcc(v0) | a0 = *(var_1h);
0x000089b8 lw gp, 0x18(sp) | gp = *(var_18h);
| if (a0 == v1) {
0x000089bc bne a0, v1, 0x89c4 |
0x000089c0 sb zero, -0xcc(v0) | *(var_1h) = 0;
| }
0x000089c4 lb v0, 0x24(sp) | v0 = *(var_24h);
0x000089c8 lw t9, -0x7c24(gp) | t9 = sym.imp.strtoul;
0x000089cc bnez v0, 0x89fc |
| while (1) {
| label_0:
0x000089d0 lw v1, 0xec(sp) | v1 = *(var_ech);
0x000089d4 lw v0, (s1) | v0 = *(s1);
0x000089d8 lw ra, 0x104(sp) | ra = *(var_104h);
| if (v1 != v0) {
0x000089dc bne v1, v0, 0x8a48 | goto label_2;
| }
0x000089e0 lw s4, 0x100(sp) | s4 = *(var_100h);
0x000089e4 lw s3, 0xfc(sp) | s3 = *(var_fch);
0x000089e8 lw s2, 0xf8(sp) | s2 = *(var_f8h);
0x000089ec lw s1, 0xf4(sp) | s1 = *(var_f4h);
0x000089f0 lw s0, 0xf0(sp) | s0 = *(var_f0h);
0x000089f4 addiu sp, sp, 0x108 |
0x000089f8 jr ra | return v0;
0x000089fc move a2, zero | a2 = 0;
0x00008a00 addiu a1, sp, 0x20 | a1 = sp + 0x20;
0x00008a04 move a0, s0 | a0 = s0;
0x00008a08 jalr t9 | t9 ();
0x00008a0c lw v1, 0x20(sp) | v1 = *(var_20h_3);
0x00008a10 lb v1, (v1) | v1 = *(v1);
0x00008a14 lw gp, 0x18(sp) | gp = *(var_18h);
| if (v1 != 0) {
0x00008a18 bnez v1, 0x8a24 | goto label_3;
| }
0x00008a1c sb v0, (s2) | *(s2) = v0;
0x00008a20 b 0x89d0 |
| }
| label_3:
0x00008a24 lw a2, -0x7fdc(gp) | a2 = *(gp);
0x00008a28 lw t9, -0x7b4c(gp) | t9 = sym.imp.com_err;
0x00008a2c move a3, s0 | a3 = s0;
| /* str.Bad_value____s */
0x00008a30 addiu a2, a2, -0x1938 | a2 += -0x1938;
0x00008a34 move a1, zero | a1 = 0;
0x00008a38 move a0, s3 | a0 = s3;
0x00008a3c jalr t9 | t9 ();
0x00008a40 lw gp, 0x18(sp) | gp = *(var_18h);
0x00008a44 b 0x89d0 | goto label_0;
| label_2:
0x00008a48 lw t9, -0x7b08(gp) | t9 = sym.imp.__stack_chk_fail;
0x00008a4c jalr t9 | t9 ();
0x00008a50 nop |
0x00008a54 lui gp, 4 |
0x00008a58 addiu gp, gp, 0x56ec |
0x00008a5c addu gp, gp, t9 | gp += t9;
0x00008a60 addiu sp, sp, -0x80 |
0x00008a64 lw t9, -0x7fa4(gp) | t9 = sym.reset_getopt;
0x00008a68 sw s5, 0x6c(sp) | *(var_6ch) = s5;
0x00008a6c lw s5, -0x7aa4(gp) | s5 = *((gp - 7849));
0x00008a70 move v1, zero | v1 = 0;
0x00008a74 sw gp, 0x28(sp) | *(var_28h) = gp;
0x00008a78 lw v0, (s5) | v0 = *(s5);
0x00008a7c sw fp, 0x78(sp) | *(var_78h) = fp;
0x00008a80 sw v0, 0x54(sp) | *(var_54h) = v0;
0x00008a84 move v0, zero | v0 = 0;
0x00008a88 sw s7, 0x74(sp) | *(var_74h) = s7;
0x00008a8c sw s6, 0x70(sp) | *(var_70h) = s6;
0x00008a90 sw s4, 0x68(sp) | *(var_68h) = s4;
0x00008a94 sw s3, 0x64(sp) | *(var_64h) = s3;
0x00008a98 sw s2, 0x60(sp) | *(var_60h) = s2;
0x00008a9c sw s1, 0x5c(sp) | *(var_5ch) = s1;
0x00008aa0 sw s0, 0x58(sp) | *(var_58h) = s0;
0x00008aa4 sw v0, 0x48(sp) | *(var_48h) = v0;
0x00008aa8 sw ra, 0x7c(sp) | *(var_7ch) = ra;
0x00008aac sw v1, 0x4c(sp) | *(var_4ch) = v1;
0x00008ab0 move s3, a0 | s3 = a0;
0x00008ab4 move s0, a1 | s0 = a1;
0x00008ab8 bal 0xe400 | sym_reset_getopt ();
0x00008abc lw gp, 0x28(sp) | gp = *(var_28h);
0x00008ac0 lui s2, 2 | s2 = 0x20000;
0x00008ac4 move fp, zero | fp = 0;
0x00008ac8 lw v0, -0x7fdc(gp) | v0 = *(gp);
0x00008acc lw s1, -0x7fdc(gp) | s1 = *(gp);
| /* str.superblock_block_number */
0x00008ad0 addiu v0, v0, -0x1890 | v0 += -0x1890;
0x00008ad4 sw v0, 0x38(sp) | *(var_38h) = v0;
0x00008ad8 lw v0, -0x7fdc(gp) | v0 = *(gp);
0x00008adc lw s4, -0x7fdc(gp) | s4 = *(gp);
0x00008ae0 sw zero, 0x34(sp) | *(var_34h) = 0;
0x00008ae4 ori s2, s2, 0x8000 | s2 |= 0x8000;
0x00008ae8 move s7, zero | s7 = 0;
0x00008aec move s6, zero | s6 = 0;
0x00008af0 addiu s1, s1, -0x710 | s1 += -0x710;
0x00008af4 sw v0, 0x3c(sp) | *(var_3ch) = v0;
0x00008af8 lw t9, -0x7c40(gp) | t9 = sym.imp.getopt;
| /* str.iwfecb:s:d:Dz: */
0x00008afc addiu a2, s4, -0x1878 | a2 = s4 + -0x1878;
0x00008b00 move a1, s0 | a1 = s0;
0x00008b04 move a0, s3 | a0 = s3;
0x00008b08 jalr t9 | t9 ();
0x00008b0c addiu v1, zero, -1 | v1 = -1;
0x00008b10 lw gp, 0x28(sp) | gp = *(var_28h);
| if (v0 == v1) {
0x00008b14 beq v0, v1, 0x8c50 | goto label_4;
| }
| /* esilref: 'Dec' */
0x00008b18 addiu v0, v0, -0x44 | v0 += -0x44;
0x00008b1c sltiu v1, v0, 0x37 | v1 = (v0 < 0x37) ? 1 : 0;
0x00008b20 sll v0, v0, 2 | v0 <<= 2;
| if (v1 != 0) {
0x00008b24 beqz v1, 0x8bf0 |
0x00008b28 lwx v0, v0(s1) | __asm ("lwx v0, v0(s1)");
0x00008b2c addu v0, v0, gp | v0 += gp;
0x00008b30 jr v0 | v0 ();
0x00008b34 nop |
| }
0x00008bf0 lw a3, (s0) | a3 = *(s0);
| do {
0x00008bf4 lw v0, -0x7a6c(gp) | v0 = *((gp - 7835));
0x00008bf8 lw a2, -0x7fdc(gp) | a2 = *(gp);
0x00008bfc lw t9, -0x7d90(gp) | t9 = sym.imp.__fprintf_chk
0x00008c00 lw a0, (v0) | a0 = *(v0);
| /* str._s:_Usage:_open___s_superblock____b_blocksize____d_image_filename____z_undo_file____c____i____f____e____D____w___device__n */
0x00008c04 addiu a2, a2, -0x1868 | a2 += -0x1868;
0x00008c08 addiu a1, zero, 1 | a1 = 1;
0x00008c0c jalr t9 | t9 ();
0x00008c10 lw gp, 0x28(sp) | gp = *(var_28h);
| label_1:
0x00008c14 lw v1, 0x54(sp) | v1 = *(var_54h);
0x00008c18 lw v0, (s5) | v0 = *(s5);
0x00008c1c lw ra, 0x7c(sp) | ra = *(var_7ch);
| if (v1 != v0) {
0x00008c20 bne v1, v0, 0x8cbc | goto label_5;
| }
0x00008c24 lw fp, 0x78(sp) | fp = *(var_78h);
0x00008c28 lw s7, 0x74(sp) | s7 = *(var_74h);
0x00008c2c lw s6, 0x70(sp) | s6 = *(var_70h);
0x00008c30 lw s5, 0x6c(sp) | s5 = *(var_6ch);
0x00008c34 lw s4, 0x68(sp) | s4 = *(var_68h);
0x00008c38 lw s3, 0x64(sp) | s3 = *(var_64h);
0x00008c3c lw s2, 0x60(sp) | s2 = *(var_60h);
0x00008c40 lw s1, 0x5c(sp) | s1 = *(var_5ch);
0x00008c44 lw s0, 0x58(sp) | s0 = *(var_58h);
0x00008c48 addiu sp, sp, 0x80 |
0x00008c4c jr ra | return v0;
| label_4:
0x00008c50 lw s1, -0x7af8(gp) | s1 = *((gp - 7870));
0x00008c54 addiu s3, s3, -1 | s3 += -1;
0x00008c58 lw v0, (s1) | v0 = *(s1);
0x00008c5c lw a3, (s0) | a3 = *(s0);
0x00008c60 bne s3, v0, 0x8bf4 |
| } while (s3 != v0);
0x00008c64 lw t9, -0x7f98(gp) | t9 = sym.check_fs_not_open;
0x00008c68 move a0, a3 | a0 = a3;
0x00008c6c bal 0xe7c8 | sym_check_fs_not_open ();
0x00008c70 lw gp, 0x28(sp) | gp = *(var_28h);
| if (v0 != 0) {
0x00008c74 bnez v0, 0x8c14 | goto label_1;
| }
0x00008c78 lw a0, (s1) | a0 = *(s1);
0x00008c7c lw t9, -0x7fac(gp) | t9 = *((gp - 8171));
0x00008c80 sll a0, a0, 2 | a0 <<= 2;
0x00008c84 lw v0, 0x34(sp) | v0 = *(var_34h);
0x00008c88 lwx a0, a0(s0) | __asm ("lwx a0, a0(s0)");
0x00008c8c lw a2, 0x48(sp) | a2 = *(var_48h);
0x00008c90 lw a3, 0x4c(sp) | a3 = *(var_4ch);
0x00008c94 sw fp, 0x20(sp) | *(var_20h_2) = fp;
0x00008c98 sw v0, 0x1c(sp) | *(var_1ch) = v0;
0x00008c9c sw s6, 0x18(sp) | *(var_18h_3) = s6;
0x00008ca0 sw s7, 0x10(sp) | *(var_10h_3) = s7;
0x00008ca4 sw zero, 0x14(sp) | *(var_14h) = 0;
0x00008ca8 addiu t9, t9, 0x6ca8 | t9 += fcn.00006ca8;
0x00008cac move a1, s2 | a1 = s2;
0x00008cb0 bal 0x6ca8 | fcn_00006ca8 ();
0x00008cb4 lw gp, 0x28(sp) | gp = *(var_28h);
0x00008cb8 b 0x8c14 | goto label_1;
| label_5:
0x00008cbc lw t9, -0x7b08(gp) | t9 = sym.imp.__stack_chk_fail;
0x00008cc0 jalr t9 | t9 ();
0x00008cc4 nop |
0x00008cc8 lui gp, 4 |
0x00008ccc addiu gp, gp, 0x5478 |
0x00008cd0 addu gp, gp, t9 | gp += t9;
0x00008cd4 addiu sp, sp, -0x28 |
0x00008cd8 addiu v0, zero, 2 | v0 = 2;
0x00008cdc sw gp, 0x18(sp) | *(var_18h_2) = gp;
0x00008ce0 sw s0, 0x20(sp) | *(var_20h) = s0;
0x00008ce4 sw ra, 0x24(sp) | *(var_24h_2) = ra;
0x00008ce8 move s0, a1 | s0 = a1;
| if (a0 == v0) {
0x00008cec beq a0, v0, 0x8d28 | goto label_6;
| }
0x00008cf0 lw v0, -0x7fdc(gp) | v0 = *(gp);
0x00008cf4 lw a3, (a1) | a3 = *(a1);
0x00008cf8 lw a2, -0x7fdc(gp) | a2 = *(gp);
0x00008cfc lw t9, -0x7b4c(gp) | t9 = sym.imp.com_err;
| /* str._native_dir_ */
0x00008d00 addiu v0, v0, -0x17dc | v0 += -0x17dc;
0x00008d04 sw v0, 0x10(sp) | *(var_10h_2) = v0;
| /* str.Usage:__s__s */
0x00008d08 addiu a2, a2, -0x17ec | a2 += -0x17ec;
0x00008d0c move a1, zero | a1 = 0;
0x00008d10 move a0, a3 | a0 = a3;
0x00008d14 jalr t9 | t9 ();
| do {
0x00008d18 lw ra, 0x24(sp) | ra = *(var_24h_2);
0x00008d1c lw s0, 0x20(sp) | s0 = *(var_20h);
0x00008d20 addiu sp, sp, 0x28 |
0x00008d24 jr ra | return v0;
| label_6:
0x00008d28 lw t9, -0x7af0(gp) | t9 = sym.imp.chdir;
0x00008d2c lw a0, 4(a1) | a0 = *((a1 + 1));
0x00008d30 jalr t9 | t9 ();
0x00008d34 addiu v1, zero, -1 | v1 = -1;
0x00008d38 lw gp, 0x18(sp) | gp = *(var_18h_2);
0x00008d3c bne v0, v1, 0x8d18 |
| } while (v0 != v1);
0x00008d40 lw t9, -0x7c74(gp) | t9 = sym.imp.__errno_location;
0x00008d44 jalr t9 | t9 ();
0x00008d48 nop |
0x00008d4c lw gp, 0x18(sp) | gp = *(var_18h_2);
0x00008d50 lw a3, 4(s0) | a3 = *((s0 + 1));
0x00008d54 lw a0, (s0) | a0 = *(s0);
0x00008d58 lw a2, -0x7fdc(gp) | a2 = *(gp);
0x00008d5c lw ra, 0x24(sp) | ra = *(var_24h_2);
0x00008d60 lw s0, 0x20(sp) | s0 = *(var_20h);
0x00008d64 lw a1, (v0) | a1 = *(v0);
0x00008d68 lw t9, -0x7b4c(gp) | t9 = sym.imp.com_err;
| /* str.while_trying_to_change_native_directory_to__s */
0x00008d6c addiu a2, a2, -0x17cc | a2 += -0x17cc;
0x00008d70 addiu sp, sp, 0x28 |
0x00008d74 jr t9 | return t9 ();
| }
; assembly | /* r2dec pseudo code output */
| /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/sbin/debugfs @ 0x11b80 */
| #include <stdint.h>
|
; (fcn) fcn.00011b80 () | void fcn_00011b80 () {
| label_5:
0x00011b80 lui gp, 4 |
0x00011b84 addiu gp, gp, -0x3a40 |
0x00011b88 addu gp, gp, t9 | gp += t9;
0x00011b8c addiu sp, sp, -0x50 |
0x00011b90 lw t9, -0x7c30(gp) | t9 = sym.imp.strlen;
0x00011b94 sw s2, 0x38(sp) | *(var_38h_2) = s2;
0x00011b98 lw s2, -0x7aa4(gp) | s2 = *((gp - 7849));
0x00011b9c sw ra, 0x4c(sp) | *(var_4ch) = ra;
0x00011ba0 sw gp, 0x18(sp) | *(var_18h_2) = gp;
0x00011ba4 lw v0, (s2) | v0 = *(s2);
0x00011ba8 sw s5, 0x44(sp) | *(var_44h) = s5;
0x00011bac sw s4, 0x40(sp) | *(var_40h) = s4;
0x00011bb0 sw s3, 0x3c(sp) | *(var_3ch_2) = s3;
0x00011bb4 sw s1, 0x34(sp) | *(var_34h_2) = s1;
0x00011bb8 sw s0, 0x30(sp) | *(var_30h_2) = s0;
0x00011bbc sw s6, 0x48(sp) | *(var_48h) = s6;
0x00011bc0 move s4, a0 | s4 = a0;
0x00011bc4 sw v0, 0x2c(sp) | *(var_2ch_3) = v0;
0x00011bc8 move a0, a3 | a0 = a3;
0x00011bcc move s1, a2 | s1 = a2;
0x00011bd0 move s5, a3 | s5 = a3;
0x00011bd4 move s3, a1 | s3 = a1;
0x00011bd8 jalr t9 | t9 ();
0x00011bdc lw gp, 0x18(sp) | gp = *(var_18h_2);
0x00011be0 move a0, s1 | a0 = s1;
0x00011be4 lw t9, -0x7c30(gp) | t9 = sym.imp.strlen;
0x00011be8 move s0, v0 | s0 = v0;
0x00011bec jalr t9 | t9 ();
0x00011bf0 lw gp, 0x18(sp) | gp = *(var_18h_2);
0x00011bf4 addu v0, s0, v0 | v0 = s0 + v0;
0x00011bf8 lw t9, -0x7bd4(gp) | t9 = sym.imp.malloc;
0x00011bfc addiu a0, v0, 2 | a0 = v0 + 2;
0x00011c00 jalr t9 | t9 ();
0x00011c04 lw gp, 0x18(sp) | gp = *(var_18h_2);
| if (v0 == 0) {
0x00011c08 beqz v0, 0x11d50 | goto label_6;
| }
0x00011c0c lw a3, -0x7fdc(gp) | a3 = *(gp);
0x00011c10 lw t9, -0x7e0c(gp) | t9 = sym.imp.__sprintf_chk
0x00011c14 sw s1, 0x14(sp) | *(var_14h) = s1;
0x00011c18 sw s5, 0x10(sp) | *(var_1d0h) = s5;
| /* str._s__s */
0x00011c1c addiu a3, a3, -0x530 | a3 += -0x530;
0x00011c20 addiu a2, zero, -1 | a2 = -1;
0x00011c24 addiu a1, zero, 1 | a1 = 1;
0x00011c28 move a0, v0 | a0 = v0;
0x00011c2c move s0, v0 | s0 = v0;
0x00011c30 jalr t9 | t9 ();
0x00011c34 lhu v0, (s3) | v0 = *(s3);
0x00011c38 ori v1, zero, 0xa000 | v1 = 0xa000;
0x00011c3c andi v0, v0, 0xf000 | v0 &= 0xf000;
0x00011c40 lw gp, 0x18(sp) | gp = *(var_18h_2);
| if (v0 == v1) {
0x00011c44 beq v0, v1, 0x11db4 | goto label_7;
| }
0x00011c48 ori v1, zero, 0x8000 | v1 = 0x8000;
0x00011c4c addiu v1, zero, 0x4000 | v1 = 0x4000;
| if (v0 == v1) {
0x00011c50 beq v0, v1, 0x11e28 | goto label_8;
| }
0x00011c54 lw a1, -0x7fdc(gp) | a1 = *(gp);
0x00011c58 beq v0, v1, 0x11c98 |
| while (v0 == 0) {
| label_0:
0x00011c5c lw v1, 0x2c(sp) | v1 = *(var_2ch_3);
0x00011c60 lw v0, (s2) | v0 = *(s2);
0x00011c64 lw ra, 0x4c(sp) | ra = *(var_4ch);
| if (v1 != v0) {
0x00011c68 bne v1, v0, 0x120a4 | goto label_9;
| }
0x00011c6c lw s6, 0x48(sp) | s6 = *(var_48h);
0x00011c70 lw s5, 0x44(sp) | s5 = *(var_44h);
0x00011c74 lw s4, 0x40(sp) | s4 = *(var_40h);
0x00011c78 lw s3, 0x3c(sp) | s3 = *(var_3ch_2);
0x00011c7c lw s2, 0x38(sp) | s2 = *(var_38h_2);
0x00011c80 lw s1, 0x34(sp) | s1 = *(var_34h_2);
0x00011c84 move a0, s0 | a0 = s0;
0x00011c88 lw t9, -0x7a8c(gp) | t9 = sym.imp.free;
0x00011c8c lw s0, 0x30(sp) | s0 = *(var_30h_2);
0x00011c90 addiu sp, sp, 0x50 |
0x00011c94 jr t9 | t9 ();
0x00011c98 lw t9, -0x7a28(gp) | t9 = sym.imp.strcmp;
| /* esilref: '(' */
0x00011c9c addiu a1, a1, -0x314 | a1 += -0x314;
0x00011ca0 move a0, s1 | a0 = s1;
0x00011ca4 jalr t9 | t9 ();
0x00011ca8 lw gp, 0x18(sp) | gp = *(var_18h_2);
0x00011cac beqz v0, 0x11c5c |
| }
0x00011cb0 lw a1, -0x7fdc(gp) | a1 = *(gp);
0x00011cb4 lw t9, -0x7a28(gp) | t9 = sym.imp.strcmp;
| /* esilref: '..' */
0x00011cb8 addiu a1, a1, 0x288 | a1 += 0x288;
0x00011cbc move a0, s1 | a0 = s1;
0x00011cc0 jalr t9 | t9 ();
0x00011cc4 lw gp, 0x18(sp) | gp = *(var_18h_2);
| if (v0 == 0) {
0x00011cc8 beqz v0, 0x11c5c | goto label_0;
| }
0x00011ccc lb v0, (s1) | v0 = *(s1);
0x00011cd0 lw v0, -0x7fd8(gp) | v0 = *(gp);
| if (v0 != 0) {
0x00011cd4 beqz v0, 0x11cf8 |
0x00011cd8 lw t9, -0x7c64(gp) | t9 = sym.imp.mkdir;
0x00011cdc addiu a1, zero, 0x1c0 | a1 = 0x1c0;
0x00011ce0 move a0, s0 | a0 = s0;
0x00011ce4 jalr t9 | t9 ();
0x00011ce8 addiu v1, zero, -1 | v1 = -1;
0x00011cec lw gp, 0x18(sp) | gp = *(var_18h_2);
| if (v0 == v1) {
0x00011cf0 beq v0, v1, 0x1206c | goto label_10;
| }
0x00011cf4 lw v0, -0x7fd8(gp) | v0 = *(gp);
| }
0x00011cf8 lw t9, -0x7c2c(gp) | t9 = sym.imp.ext2fs_dir_iterate;
0x00011cfc move a3, zero | a3 = 0;
0x00011d00 lw a0, (v0) | a0 = *(v0);
0x00011d04 lw v0, -0x7fa8(gp) | v0 = *(gp);
0x00011d08 sw s0, 0x14(sp) | *(var_14h) = s0;
0x00011d0c addiu v0, v0, 0x20b0 | v0 += 0x20b0;
0x00011d10 sw v0, 0x10(sp) | *(var_1d0h) = v0;
0x00011d14 move a2, zero | a2 = 0;
0x00011d18 move a1, s4 | a1 = s4;
0x00011d1c jalr t9 | t9 ();
0x00011d20 lw gp, 0x18(sp) | gp = *(var_18h_2);
0x00011d24 lw s1, -0x7fdc(gp) | s1 = *(gp);
| if (v0 != 0) {
0x00011d28 bnez v0, 0x11ffc | goto label_11;
| }
| label_3:
0x00011d2c lw t9, -0x7fa8(gp) | t9 = *(gp);
0x00011d30 move a3, s0 | a3 = s0;
0x00011d34 addiu a2, zero, -1 | a2 = -1;
0x00011d38 move a1, s3 | a1 = s3;
| /* fcn.000116b0 */
0x00011d3c addiu t9, t9, 0x16b0 | t9 += aav.0x000016b0;
| /* str.rdump */
0x00011d40 addiu a0, s1, -0x1f74 | a0 = s1 + -0x1f74;
0x00011d44 bal 0x116b0 | fcn_000116b0 ();
0x00011d48 lw gp, 0x18(sp) | gp = *(var_18h_2);
0x00011d4c b 0x11c5c | goto label_0;
| label_6:
0x00011d50 lw t9, -0x7c74(gp) | t9 = sym.imp.__errno_location;
0x00011d54 jalr t9 | t9 ();
0x00011d58 nop |
0x00011d5c lw gp, 0x18(sp) | gp = *(var_18h_2);
0x00011d60 lw a1, (v0) | a1 = *(v0);
0x00011d64 lw a2, -0x7fdc(gp) | a2 = *(gp);
0x00011d68 lw a0, -0x7fdc(gp) | a0 = *(gp);
0x00011d6c lw t9, -0x7b4c(gp) | t9 = sym.imp.com_err;
| /* str.while_allocating_memory */
0x00011d70 addiu a2, a2, -0xab4 | a2 += -0xab4;
| /* str.rdump */
0x00011d74 addiu a0, a0, -0x1f74 | a0 += -0x1f74;
0x00011d78 jalr t9 | t9 ();
0x00011d7c lw v1, 0x2c(sp) | v1 = *(var_2ch_3);
0x00011d80 lw v0, (s2) | v0 = *(s2);
0x00011d84 lw gp, 0x18(sp) | gp = *(var_18h_2);
| if (v1 != v0) {
0x00011d88 bne v1, v0, 0x120a4 | goto label_9;
| }
0x00011d8c lw ra, 0x4c(sp) | ra = *(var_4ch);
0x00011d90 lw s6, 0x48(sp) | s6 = *(var_48h);
0x00011d94 lw s5, 0x44(sp) | s5 = *(var_44h);
0x00011d98 lw s4, 0x40(sp) | s4 = *(var_40h);
0x00011d9c lw s3, 0x3c(sp) | s3 = *(var_3ch_2);
0x00011da0 lw s2, 0x38(sp) | s2 = *(var_38h_2);
0x00011da4 lw s1, 0x34(sp) | s1 = *(var_34h_2);
0x00011da8 lw s0, 0x30(sp) | s0 = *(var_30h_2);
0x00011dac addiu sp, sp, 0x50 |
0x00011db0 jr ra | return v0;
| label_7:
0x00011db4 lw a0, 4(s3) | a0 = *((s3 + 1));
0x00011db8 lw t9, -0x7bd4(gp) | t9 = sym.imp.malloc;
0x00011dbc addiu a0, a0, 1 | a0++;
0x00011dc0 jalr t9 | t9 ();
0x00011dc4 move s5, v0 | s5 = v0;
0x00011dc8 lw gp, 0x18(sp) | gp = *(var_18h_2);
| if (v0 == 0) {
0x00011dcc beqz v0, 0x11f90 | goto label_12;
| }
0x00011dd0 lw t9, -0x7a14(gp) | t9 = sym.imp.ext2fs_is_fast_symlink;
0x00011dd4 move a0, s3 | a0 = s3;
0x00011dd8 jalr t9 | t9 ();
0x00011ddc lw gp, 0x18(sp) | gp = *(var_18h_2);
| if (v0 == 0) {
0x00011de0 beqz v0, 0x11ebc | goto label_13;
| }
0x00011de4 lw t9, -0x7b98(gp) | t9 = sym.imp.strcpy;
0x00011de8 addiu a1, s3, 0x28 | a1 = s3 + 0x28;
0x00011dec move a0, s5 | a0 = s5;
0x00011df0 jalr t9 | t9 ();
0x00011df4 lw gp, 0x18(sp) | gp = *(var_18h_2);
| label_2:
0x00011df8 lw t9, -0x7d40(gp) | t9 = sym.imp.symlink;
0x00011dfc move a1, s0 | a1 = s0;
0x00011e00 move a0, s5 | a0 = s5;
0x00011e04 jalr t9 | t9 ();
0x00011e08 addiu v1, zero, -1 | v1 = -1;
0x00011e0c lw gp, 0x18(sp) | gp = *(var_18h_2);
| if (v0 == v1) {
0x00011e10 beq v0, v1, 0x12030 | goto label_14;
| }
| label_1:
0x00011e14 lw t9, -0x7a8c(gp) | t9 = sym.imp.free;
0x00011e18 move a0, s5 | a0 = s5;
0x00011e1c jalr t9 | t9 ();
0x00011e20 lw gp, 0x18(sp) | gp = *(var_18h_2);
0x00011e24 b 0x11c5c | goto label_0;
| label_8:
0x00011e28 lw t9, -0x7c0c(gp) | t9 = sym.imp.open;
0x00011e2c addiu a2, zero, 0x1c0 | a2 = 0x1c0;
0x00011e30 addiu a1, zero, 0x2301 | a1 = 0x2301;
0x00011e34 move a0, s0 | a0 = s0;
0x00011e38 jalr t9 | t9 ();
0x00011e3c move s1, v0 | s1 = v0;
0x00011e40 addiu v0, zero, -1 | v0 = -1;
0x00011e44 lw gp, 0x18(sp) | gp = *(var_18h_2);
| if (s1 == v0) {
0x00011e48 beq s1, v0, 0x11fc4 | goto label_15;
| }
0x00011e4c lw s3, -0x7fdc(gp) | s3 = *(gp);
0x00011e50 lw t9, -0x7fa8(gp) | t9 = *(gp);
0x00011e54 addiu a3, zero, 1 | a3 = 1;
0x00011e58 move a2, s1 | a2 = s1;
0x00011e5c move a1, s4 | a1 = s4;
| /* str.rdump */
0x00011e60 addiu a0, s3, -0x1f74 | a0 = s3 + -0x1f74;
| /* fcn.00011910 */
0x00011e64 addiu t9, t9, 0x1910 | t9 += 0x1910;
0x00011e68 sw s0, 0x10(sp) | *(var_1d0h) = s0;
0x00011e6c bal 0x11910 | fcn_00011910 ();
0x00011e70 lw gp, 0x18(sp) | gp = *(var_18h_2);
0x00011e74 lw t9, -0x7de8(gp) | t9 = sym.imp.close;
0x00011e78 move a0, s1 | a0 = s1;
0x00011e7c jalr t9 | t9 ();
0x00011e80 lw gp, 0x18(sp) | gp = *(var_18h_2);
| if (v0 == 0) {
0x00011e84 beqz v0, 0x11c5c | goto label_0;
| }
0x00011e88 lw t9, -0x7c74(gp) | t9 = sym.imp.__errno_location;
0x00011e8c jalr t9 | t9 ();
0x00011e90 nop |
0x00011e94 lw gp, 0x18(sp) | gp = *(var_18h_2);
0x00011e98 lw a1, (v0) | a1 = *(v0);
0x00011e9c move a3, s0 | a3 = s0;
0x00011ea0 lw a2, -0x7fdc(gp) | a2 = *(gp);
0x00011ea4 lw t9, -0x7b4c(gp) | t9 = sym.imp.com_err;
| /* str.while_closing__s */
0x00011ea8 addiu a2, a2, 0x274 | a2 += aav.0x00000274;
| /* str.rdump */
0x00011eac addiu a0, s3, -0x1f74 | a0 = s3 + -0x1f74;
0x00011eb0 jalr t9 | t9 ();
0x00011eb4 lw gp, 0x18(sp) | gp = *(var_18h_2);
0x00011eb8 b 0x11c5c | goto label_0;
| label_13:
0x00011ebc lw v0, -0x7fd8(gp) | v0 = *(gp);
0x00011ec0 lw t9, -0x7abc(gp) | t9 = sym.imp.ext2fs_file_open;
0x00011ec4 addiu a3, sp, 0x24 | a3 = sp + 0x24;
0x00011ec8 lw a0, (v0) | a0 = *(v0);
0x00011ecc move a2, zero | a2 = 0;
0x00011ed0 move a1, s4 | a1 = s4;
0x00011ed4 lw s1, 4(s3) | s1 = *((s3 + 1));
0x00011ed8 jalr t9 | t9 ();
0x00011edc lw gp, 0x18(sp) | gp = *(var_18h_2);
| if (v0 != 0) {
0x00011ee0 bnez v0, 0x12020 | goto label_16;
| }
0x00011ee4 move s4, s5 | s4 = s5;
0x00011ee8 addiu s6, sp, 0x28 | s6 = sp + 0x28;
0x00011eec b 0x11f08 |
| while (v0 == 0) {
0x00011ef0 lw v0, 0x28(sp) | v0 = *(var_28h_3);
0x00011ef4 subu s1, s1, v0 | __asm ("subu s1, s1, v0");
0x00011ef8 addu s4, s4, v0 | s4 += v0;
| if (v0 == 0) {
0x00011efc beqz v0, 0x11f4c | goto label_17;
| }
| if (s1 == 0) {
0x00011f00 beql s1, zero, 0x11f50 | goto label_18;
| }
0x00011f04 lw v0, 4(s3) | v0 = *((s3 + 1));
0x00011f08 lw t9, -0x7a30(gp) | t9 = sym.imp.ext2fs_file_read;
0x00011f0c lw a0, 0x24(sp) | a0 = *(var_24h_4);
0x00011f10 move a3, s6 | a3 = s6;
0x00011f14 move a2, s1 | a2 = s1;
0x00011f18 move a1, s4 | a1 = s4;
0x00011f1c jalr t9 | t9 ();
0x00011f20 lw gp, 0x18(sp) | gp = *(var_18h_2);
0x00011f24 beqz v0, 0x11ef0 |
| }
0x00011f28 lw a2, -0x7fdc(gp) | a2 = *(gp);
0x00011f2c lw t9, -0x7b4c(gp) | t9 = sym.imp.com_err;
| /* str.while_reading_symlink */
0x00011f30 addiu a2, a2, 0x210 | a2 += 0x210;
| label_4:
0x00011f34 lw a0, -0x7fdc(gp) | a0 = *(gp);
0x00011f38 move a1, v0 | a1 = v0;
| /* str.rdump */
0x00011f3c addiu a0, a0, -0x1f74 | a0 += -0x1f74;
0x00011f40 jalr t9 | t9 ();
0x00011f44 lw gp, 0x18(sp) | gp = *(var_18h_2);
0x00011f48 b 0x11e14 | goto label_1;
| label_17:
0x00011f4c lw v0, 4(s3) | v0 = *((s3 + 1));
| label_18:
0x00011f50 lw t9, -0x7a80(gp) | t9 = sym.imp.ext2fs_file_close;
0x00011f54 addu v0, s5, v0 | v0 = s5 + v0;
0x00011f58 lw a0, 0x24(sp) | a0 = *(var_24h_4);
0x00011f5c sb zero, (v0) | *(v0) = 0;
0x00011f60 jalr t9 | t9 ();
0x00011f64 lw gp, 0x18(sp) | gp = *(var_18h_2);
| if (v0 == 0) {
0x00011f68 beqz v0, 0x11df8 | goto label_2;
| }
0x00011f6c lw a2, -0x7fdc(gp) | a2 = *(gp);
0x00011f70 lw a0, -0x7fdc(gp) | a0 = *(gp);
0x00011f74 lw t9, -0x7b4c(gp) | t9 = sym.imp.com_err;
| /* str.while_closing_symlink */
0x00011f78 addiu a2, a2, 0x228 | a2 += aav.0x00000228;
0x00011f7c move a1, v0 | a1 = v0;
| /* str.rdump */
0x00011f80 addiu a0, a0, -0x1f74 | a0 += -0x1f74;
0x00011f84 jalr t9 | t9 ();
0x00011f88 lw gp, 0x18(sp) | gp = *(var_18h_2);
0x00011f8c b 0x11df8 | goto label_2;
| label_12:
0x00011f90 lw t9, -0x7c74(gp) | t9 = sym.imp.__errno_location;
0x00011f94 jalr t9 | t9 ();
0x00011f98 nop |
0x00011f9c lw gp, 0x18(sp) | gp = *(var_18h_2);
0x00011fa0 lw a1, (v0) | a1 = *(v0);
0x00011fa4 lw a2, -0x7fdc(gp) | a2 = *(gp);
0x00011fa8 lw a0, -0x7fdc(gp) | a0 = *(gp);
0x00011fac lw t9, -0x7b4c(gp) | t9 = sym.imp.com_err;
| /* str.while_allocating_for_symlink */
0x00011fb0 addiu a2, a2, 0x1d8 | a2 += 0x1d8;
| /* str.rdump */
0x00011fb4 addiu a0, a0, -0x1f74 | a0 += -0x1f74;
0x00011fb8 jalr t9 | t9 ();
0x00011fbc lw gp, 0x18(sp) | gp = *(var_18h_2);
0x00011fc0 b 0x11e14 | goto label_1;
| label_15:
0x00011fc4 lw t9, -0x7c74(gp) | t9 = sym.imp.__errno_location;
0x00011fc8 jalr t9 | t9 ();
0x00011fcc nop |
0x00011fd0 lw gp, 0x18(sp) | gp = *(var_18h_2);
0x00011fd4 lw a1, (v0) | a1 = *(v0);
0x00011fd8 move a3, s0 | a3 = s0;
0x00011fdc lw a2, -0x7fdc(gp) | a2 = *(gp);
0x00011fe0 lw a0, -0x7fdc(gp) | a0 = *(gp);
0x00011fe4 lw t9, -0x7b4c(gp) | t9 = sym.imp.com_err;
| /* str.while_opening__s */
0x00011fe8 addiu a2, a2, 0x260 | a2 += 0x260;
| /* str.rdump */
0x00011fec addiu a0, a0, -0x1f74 | a0 += -0x1f74;
0x00011ff0 jalr t9 | t9 ();
0x00011ff4 lw gp, 0x18(sp) | gp = *(var_18h_2);
0x00011ff8 b 0x11c5c | goto label_0;
| label_11:
0x00011ffc lw a2, -0x7fdc(gp) | a2 = *(gp);
0x00012000 lw t9, -0x7b4c(gp) | t9 = sym.imp.com_err;
0x00012004 move a3, s0 | a3 = s0;
| /* str.while_dumping__s */
0x00012008 addiu a2, a2, 0x2a8 | a2 += 0x2a8;
0x0001200c move a1, v0 | a1 = v0;
| /* str.rdump */
0x00012010 addiu a0, s1, -0x1f74 | a0 = s1 + -0x1f74;
0x00012014 jalr t9 | t9 ();
0x00012018 lw gp, 0x18(sp) | gp = *(var_18h_2);
0x0001201c b 0x11d2c | goto label_3;
| label_16:
0x00012020 lw a2, -0x7fdc(gp) | a2 = *(gp);
0x00012024 lw t9, -0x7b4c(gp) | t9 = sym.imp.com_err;
| /* str.while_opening_symlink */
0x00012028 addiu a2, a2, 0x1f8 | a2 += segment.DYNAMIC;
0x0001202c b 0x11f34 | goto label_4;
| label_14:
0x00012030 lw t9, -0x7c74(gp) | t9 = sym.imp.__errno_location;
0x00012034 jalr t9 | t9 ();
0x00012038 nop |
0x0001203c lw gp, 0x18(sp) | gp = *(var_18h_2);
0x00012040 lw a1, (v0) | a1 = *(v0);
0x00012044 move a3, s5 | a3 = s5;
0x00012048 lw a2, -0x7fdc(gp) | a2 = *(gp);
0x0001204c lw a0, -0x7fdc(gp) | a0 = *(gp);
0x00012050 lw t9, -0x7b4c(gp) | t9 = sym.imp.com_err;
0x00012054 sw s0, 0x10(sp) | *(var_1d0h) = s0;
| /* str.while_creating_symlink__s_____s */
0x00012058 addiu a2, a2, 0x240 | a2 += 0x240;
| /* str.rdump */
0x0001205c addiu a0, a0, -0x1f74 | a0 += -0x1f74;
0x00012060 jalr t9 | t9 ();
0x00012064 lw gp, 0x18(sp) | gp = *(var_18h_2);
0x00012068 b 0x11e14 | goto label_1;
| label_10:
0x0001206c lw t9, -0x7c74(gp) | t9 = sym.imp.__errno_location;
0x00012070 jalr t9 | t9 ();
0x00012074 nop |
0x00012078 lw gp, 0x18(sp) | gp = *(var_18h_2);
0x0001207c lw a1, (v0) | a1 = *(v0);
0x00012080 move a3, s0 | a3 = s0;
0x00012084 lw a2, -0x7fdc(gp) | a2 = *(gp);
0x00012088 lw a0, -0x7fdc(gp) | a0 = *(gp);
0x0001208c lw t9, -0x7b4c(gp) | t9 = sym.imp.com_err;
| /* str.while_making_directory__s */
0x00012090 addiu a2, a2, 0x28c | a2 += 0x28c;
| /* str.rdump */
0x00012094 addiu a0, a0, -0x1f74 | a0 += -0x1f74;
0x00012098 jalr t9 | t9 ();
0x0001209c lw gp, 0x18(sp) | gp = *(var_18h_2);
0x000120a0 b 0x11c5c | goto label_0;
| label_9:
0x000120a4 lw t9, -0x7b08(gp) | t9 = sym.imp.__stack_chk_fail;
0x000120a8 jalr t9 | t9 ();
0x000120ac nop |
0x000120b0 lui gp, 4 |
0x000120b4 addiu gp, gp, -0x3f70 |
0x000120b8 addu gp, gp, t9 | gp += t9;
0x000120bc addiu sp, sp, -0x1c0 |
0x000120c0 lw t9, -0x7cb0(gp) | t9 = sym.imp.__strncpy_chk;
0x000120c4 sw s3, 0x1b0(sp) | *(var_1b0h) = s3;
0x000120c8 lw s3, -0x7aa4(gp) | s3 = *((gp - 7849));
0x000120cc sw s0, 0x1a4(sp) | *(var_1a4h) = s0;
0x000120d0 lbu s0, 6(a0) | s0 = *((a0 + 6));
0x000120d4 lw v0, (s3) | v0 = *(s3);
0x000120d8 sw s2, 0x1ac(sp) | *(var_1ach) = s2;
0x000120dc addiu s2, sp, 0x9c | s2 = sp + 0x9c;
0x000120e0 sw gp, 0x10(sp) | *(var_10h_3) = gp;
0x000120e4 move a2, s0 | a2 = s0;
0x000120e8 addiu a1, a0, 8 | a1 = a0 + 8;
0x000120ec sw ra, 0x1bc(sp) | *(var_1bch) = ra;
0x000120f0 sw s5, 0x1b8(sp) | *(var_1b8h) = s5;
0x000120f4 sw s4, 0x1b4(sp) | *(var_1b4h) = s4;
0x000120f8 sw s1, 0x1a8(sp) | *(var_1a8h) = s1;
0x000120fc addiu a3, zero, 0x100 | a3 = aav.0x00000100;
0x00012100 move s1, a0 | s1 = a0;
0x00012104 sw v0, 0x19c(sp) | *(var_19ch) = v0;
0x00012108 move a0, s2 | a0 = s2;
0x0001210c lw s5, 0x1d0(sp) | s5 = *(var_1d0h);
0x00012110 jalr t9 | t9 ();
0x00012114 lw gp, 0x10(sp) | gp = *(var_10h_3);
0x00012118 addiu v0, sp, 0x1a0 | v0 = sp + 0x1a0;
0x0001211c addu s0, v0, s0 | s0 = v0 + s0;
0x00012120 addiu s4, sp, 0x1c | s4 = sp + 0x1c;
0x00012124 lw t9, -0x7fb8(gp) | t9 = sym.debugfs_read_inode;
0x00012128 lw a0, (s1) | a0 = *(s1);
0x0001212c move a2, s2 | a2 = s2;
0x00012130 move a1, s4 | a1 = s4;
0x00012134 sb zero, -0x104(s0) | *(s0) = 0;
0x00012138 bal 0xf3cc | sym_debugfs_read_inode ();
0x0001213c lw gp, 0x10(sp) | gp = *(var_10h_3);
| if (v0 == 0) {
0x00012140 bnez v0, 0x12164 |
0x00012144 lw t9, -0x7fa8(gp) | t9 = *(gp);
0x00012148 lw a0, (s1) | a0 = *(s1);
0x0001214c move a3, s5 | a3 = s5;
0x00012150 move a2, s2 | a2 = s2;
| /* fcn.00011b80 */
0x00012154 addiu t9, t9, 0x1b80 | t9 += 0x1b80;
0x00012158 move a1, s4 | a1 = s4;
0x0001215c bal 0x11b80 | fcn_00011b80 ();
| goto label_5;
0x00012160 lw gp, 0x10(sp) | gp = *(var_10h_3);
| }
0x00012164 lw a0, 0x19c(sp) | a0 = *(var_19ch);
0x00012168 lw v1, (s3) | v1 = *(s3);
0x0001216c move v0, zero | v0 = 0;
| if (a0 == v1) {
0x00012170 bne a0, v1, 0x12198 |
0x00012174 lw ra, 0x1bc(sp) | ra = *(var_1bch);
0x00012178 lw s5, 0x1b8(sp) | s5 = *(var_1b8h);
0x0001217c lw s4, 0x1b4(sp) | s4 = *(var_1b4h);
0x00012180 lw s3, 0x1b0(sp) | s3 = *(var_1b0h);
0x00012184 lw s2, 0x1ac(sp) | s2 = *(var_1ach);
0x00012188 lw s1, 0x1a8(sp) | s1 = *(var_1a8h);
0x0001218c lw s0, 0x1a4(sp) | s0 = *(var_1a4h);
0x00012190 addiu sp, sp, 0x1c0 |
0x00012194 jr ra | return v0;
| }
0x00012198 lw t9, -0x7b08(gp) | t9 = sym.imp.__stack_chk_fail;
0x0001219c jalr t9 | t9 ();
0x000121a0 nop |
0x000121a4 lui gp, 4 |
0x000121a8 addiu gp, gp, -0x4064 |
0x000121ac addu gp, gp, t9 | gp += t9;
0x000121b0 addiu sp, sp, -0x40 |
0x000121b4 lw t9, -0x7fa4(gp) | t9 = sym.reset_getopt;
0x000121b8 sw gp, 0x18(sp) | *(var_18h_3) = gp;
0x000121bc sw s5, 0x38(sp) | *(var_38h_3) = s5;
0x000121c0 sw s4, 0x34(sp) | *(var_34h_3) = s4;
0x000121c4 sw s3, 0x30(sp) | *(var_30h_3) = s3;
0x000121c8 sw s2, 0x2c(sp) | *(var_2ch_4) = s2;
0x000121cc sw s1, 0x28(sp) | *(var_28h_2) = s1;
0x000121d0 sw s0, 0x24(sp) | *(var_24h_3) = s0;
0x000121d4 sw ra, 0x3c(sp) | *(var_3ch_3) = ra;
0x000121d8 move s2, a0 | s2 = a0;
0x000121dc move s3, a1 | s3 = a1;
0x000121e0 bal 0xe400 | sym_reset_getopt ();
0x000121e4 lw gp, 0x18(sp) | gp = *(var_18h_3);
0x000121e8 move s0, zero | s0 = 0;
0x000121ec addiu s4, zero, -1 | s4 = -1;
0x000121f0 lw s1, -0x7fdc(gp) | s1 = *(gp);
0x000121f4 addiu s5, zero, 0x70 | s5 = 0x70;
0x000121f8 addiu s1, s1, -0x1a6c | s1 += -0x1a6c;
0x000121fc b 0x12208 |
| while (v0 != s4) {
0x00012200 addiu s0, s0, 1 | s0++;
| if (v0 != s5) {
0x00012204 bne v0, s5, 0x1226c | goto label_19;
| }
0x00012208 lw t9, -0x7c40(gp) | t9 = sym.imp.getopt;
0x0001220c move a2, s1 | a2 = s1;
0x00012210 move a1, s3 | a1 = s3;
0x00012214 move a0, s2 | a0 = s2;
0x00012218 jalr t9 | t9 ();
0x0001221c lw gp, 0x18(sp) | gp = *(var_18h_3);
0x00012220 bne v0, s4, 0x12200 |
| }
0x00012224 lw s1, -0x7af8(gp) | s1 = *((gp - 7870));
0x00012228 addiu s2, s2, -2 | s2 += -2;
0x0001222c lw v0, (s1) | v0 = *(s1);
0x00012230 lw a0, (s3) | a0 = *(s3);
| if (s2 != v0) {
0x00012234 beq s2, v0, 0x122a4 |
0x00012238 lw a2, -0x7fdc(gp) | a2 = *(gp);
0x0001223c lw ra, 0x3c(sp) | ra = *(var_3ch_3);
0x00012240 lw s5, 0x38(sp) | s5 = *(var_38h_3);
0x00012244 lw s4, 0x34(sp) | s4 = *(var_34h_3);
0x00012248 lw s3, 0x30(sp) | s3 = *(var_30h_3);
0x0001224c lw s2, 0x2c(sp) | s2 = *(var_2ch_4);
0x00012250 lw s1, 0x28(sp) | s1 = *(var_28h_2);
0x00012254 lw s0, 0x24(sp) | s0 = *(var_24h_3);
0x00012258 lw t9, -0x7b4c(gp) | t9 = sym.imp.com_err;
| /* str.Usage:_dump_inode___p___file___output_file_ */
0x0001225c addiu a2, a2, 0x2bc | a2 += 0x2bc;
0x00012260 move a1, zero | a1 = 0;
0x00012264 addiu sp, sp, 0x40 |
0x00012268 jr t9 | t9 ();
| label_19:
0x0001226c lw a2, -0x7fdc(gp) | a2 = *(gp);
0x00012270 lw a0, (s3) | a0 = *(s3);
0x00012274 lw ra, 0x3c(sp) | ra = *(var_3ch_3);
0x00012278 lw s5, 0x38(sp) | s5 = *(var_38h_3);
0x0001227c lw s4, 0x34(sp) | s4 = *(var_34h_3);
0x00012280 lw s3, 0x30(sp) | s3 = *(var_30h_3);
0x00012284 lw s2, 0x2c(sp) | s2 = *(var_2ch_4);
0x00012288 lw s1, 0x28(sp) | s1 = *(var_28h_2);
0x0001228c lw s0, 0x24(sp) | s0 = *(var_24h_3);
0x00012290 lw t9, -0x7b4c(gp) | t9 = sym.imp.com_err;
| /* str.Usage:_dump_inode___p___file___output_file_ */
0x00012294 addiu a2, a2, 0x2bc | a2 += 0x2bc;
0x00012298 move a1, zero | a1 = 0;
0x0001229c addiu sp, sp, 0x40 |
0x000122a0 jr t9 | t9 ();
| }
0x000122a4 lw t9, -0x7f94(gp) | t9 = sym.check_fs_open;
0x000122a8 bal 0xe778 | sym_check_fs_open ();
0x000122ac nop |
0x000122b0 lw gp, 0x18(sp) | gp = *(var_18h_3);
| if (v0 != 0) {
0x000122b4 bnez v0, 0x122e0 | goto label_20;
| }
0x000122b8 lw v0, (s1) | v0 = *(s1);
0x000122bc lw t9, -0x7fbc(gp) | t9 = sym.string_to_inode;
0x000122c0 sll v0, v0, 2 | v0 <<= 2;
0x000122c4 addu v0, s3, v0 | v0 = s3 + v0;
0x000122c8 lw a0, (v0) | a0 = *(v0);
0x000122cc lw s2, 4(v0) | s2 = *((v0 + 1));
0x000122d0 bal 0xe600 | sym_string_to_inode ();
0x000122d4 move s1, v0 | s1 = v0;
0x000122d8 lw gp, 0x18(sp) | gp = *(var_18h_3);
0x000122dc bnez v0, 0x12304 |
| while (v0 == 0) {
| label_20:
0x000122e0 lw ra, 0x3c(sp) | ra = *(var_3ch_3);
0x000122e4 lw s5, 0x38(sp) | s5 = *(var_38h_3);
0x000122e8 lw s4, 0x34(sp) | s4 = *(var_34h_3);
0x000122ec lw s3, 0x30(sp) | s3 = *(var_30h_3);
0x000122f0 lw s2, 0x2c(sp) | s2 = *(var_2ch_4);
0x000122f4 lw s1, 0x28(sp) | s1 = *(var_28h_2);
0x000122f8 lw s0, 0x24(sp) | s0 = *(var_24h_3);
0x000122fc addiu sp, sp, 0x40 |
0x00012300 jr ra | return v0;
0x00012304 lw t9, -0x7c0c(gp) | t9 = sym.imp.open;
0x00012308 addiu a2, zero, 0x1b6 | a2 = 0x1b6;
0x0001230c addiu a1, zero, 0x2301 | a1 = 0x2301;
0x00012310 move a0, s2 | a0 = s2;
0x00012314 jalr t9 | t9 ();
0x00012318 move s4, v0 | s4 = v0;
0x0001231c lw gp, 0x18(sp) | gp = *(var_18h_3);
| if (v0 < 0) {
0x00012320 bltz v0, 0x123a8 | goto label_21;
| }
0x00012324 lw t9, -0x7fa8(gp) | t9 = *(gp);
0x00012328 lw a0, (s3) | a0 = *(s3);
0x0001232c move a3, s0 | a3 = s0;
0x00012330 move a2, v0 | a2 = v0;
0x00012334 move a1, s1 | a1 = s1;
| /* fcn.00011910 */
0x00012338 addiu t9, t9, 0x1910 | t9 += 0x1910;
0x0001233c sw s2, 0x10(sp) | *(var_10h_4) = s2;
0x00012340 bal 0x11910 | fcn_00011910 ();
0x00012344 lw gp, 0x18(sp) | gp = *(var_18h_3);
0x00012348 lw t9, -0x7de8(gp) | t9 = sym.imp.close;
0x0001234c move a0, s4 | a0 = s4;
0x00012350 jalr t9 | t9 ();
0x00012354 lw gp, 0x18(sp) | gp = *(var_18h_3);
0x00012358 beqz v0, 0x122e0 |
| }
0x0001235c lw t9, -0x7c74(gp) | t9 = sym.imp.__errno_location;
0x00012360 jalr t9 | t9 ();
0x00012364 nop |
0x00012368 lw gp, 0x18(sp) | gp = *(var_18h_3);
0x0001236c lw a1, (v0) | a1 = *(v0);
0x00012370 lw a0, (s3) | a0 = *(s3);
0x00012374 lw a2, -0x7fdc(gp) | a2 = *(gp);
0x00012378 lw t9, -0x7b4c(gp) | t9 = sym.imp.com_err;
0x0001237c move a3, s2 | a3 = s2;
| /* str.while_closing__s_for_dump_inode */
0x00012380 addiu a2, a2, 0x308 | a2 += 0x308;
| do {
0x00012384 lw ra, 0x3c(sp) | ra = *(var_3ch_3);
0x00012388 lw s5, 0x38(sp) | s5 = *(var_38h_3);
0x0001238c lw s4, 0x34(sp) | s4 = *(var_34h_3);
0x00012390 lw s3, 0x30(sp) | s3 = *(var_30h_3);
0x00012394 lw s2, 0x2c(sp) | s2 = *(var_2ch_4);
0x00012398 lw s1, 0x28(sp) | s1 = *(var_28h_2);
0x0001239c lw s0, 0x24(sp) | s0 = *(var_24h_3);
0x000123a0 addiu sp, sp, 0x40 |
0x000123a4 jr t9 | t9 ();
| label_21:
0x000123a8 lw t9, -0x7c74(gp) | t9 = sym.imp.__errno_location;
0x000123ac jalr t9 | t9 ();
0x000123b0 nop |
0x000123b4 lw gp, 0x18(sp) | gp = *(var_18h_3);
0x000123b8 lw a1, (v0) | a1 = *(v0);
0x000123bc lw a0, (s3) | a0 = *(s3);
0x000123c0 lw a2, -0x7fdc(gp) | a2 = *(gp);
0x000123c4 lw t9, -0x7b4c(gp) | t9 = sym.imp.com_err;
0x000123c8 move a3, s2 | a3 = s2;
| /* str.while_opening__s_for_dump_inode */
0x000123cc addiu a2, a2, 0x2e8 | a2 += aav.0x000002e8;
0x000123d0 b 0x12384 |
| } while (1);
| }
; assembly | /* r2dec pseudo code output */
| /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/sbin/debugfs @ 0x133b4 */
| #include <stdint.h>
|
; (fcn) fcn.000133b4 () | void fcn_000133b4 () {
0x000133b4 lui gp, 4 |
0x000133b8 addiu gp, gp, -0x5274 |
0x000133bc addu gp, gp, t9 | gp += t9;
0x000133c0 lw v0, -0x7aa4(gp) | v0 = *((gp - 7849));
0x000133c4 addiu sp, sp, -0xb0 |
0x000133c8 sw s7, 0xa4(sp) | *(var_a4h) = s7;
0x000133cc sw v0, 0x2c(sp) | *(var_2ch) = v0;
0x000133d0 move s7, a0 | s7 = a0;
0x000133d4 lw a0, (v0) | a0 = *(v0);
0x000133d8 lw v0, -0x7f30(gp) | v0 = *((gp - 8140));
0x000133dc sw gp, 0x18(sp) | *(var_18h) = gp;
| /* esilref: 'inodes_count' */
0x000133e0 addiu v0, v0, 0x575c | v0 += 0x575c;
0x000133e4 sw ra, 0xac(sp) | *(var_ach) = ra;
0x000133e8 sw fp, 0xa8(sp) | *(var_a8h) = fp;
0x000133ec sw s6, 0xa0(sp) | *(var_a0h) = s6;
0x000133f0 sw s5, 0x9c(sp) | *(var_9ch) = s5;
0x000133f4 sw s4, 0x98(sp) | *(var_98h) = s4;
0x000133f8 sw s3, 0x94(sp) | *(var_94h) = s3;
0x000133fc sw s2, 0x90(sp) | *(var_90h) = s2;
0x00013400 sw s1, 0x8c(sp) | *(var_8ch) = s1;
0x00013404 sw s0, 0x88(sp) | *(var_88h) = s0;
0x00013408 sw a0, 0x84(sp) | *(var_84h) = a0;
0x0001340c lw v0, -0x7f30(gp) | v0 = *((gp - 8140));
| if (s7 == v0) {
0x00013410 beq s7, v0, 0x1368c | goto label_5;
| }
| /* esilref: 'mode' */
0x00013414 addiu v0, v0, 0x53c0 | v0 += 0x53c0;
0x00013418 lw v0, -0x7f30(gp) | v0 = *((gp - 8140));
| if (s7 == v0) {
0x0001341c beq s7, v0, 0x135dc | goto label_6;
| }
| /* esilref: 'clear' */
0x00013420 addiu v0, v0, 0x5040 | v0 += 0x5040;
0x00013424 lw s2, -0x7fdc(gp) | s2 = *(gp);
| if (s7 == v0) {
0x00013428 beq s7, v0, 0x136b4 | goto label_7;
| }
0x0001342c lw s2, -0x7fdc(gp) | s2 = *(gp);
0x00013430 lw s0, -0x7fdc(gp) | s0 = *(gp);
| /* str.set_block_group */
0x00013434 addiu s2, s2, -0x1fb4 | s2 += -0x1fb4;
| /* str.Block_group_descriptor */
0x00013438 addiu s0, s0, 0x520 | s0 += 0x520;
| label_1:
0x0001343c lw t9, -0x7f8c(gp) | t9 = sym.open_pager;
0x00013440 bal 0xe418 | sym_open_pager ();
0x00013444 nop |
0x00013448 lw gp, 0x18(sp) | gp = *(var_18h);
0x0001344c addiu a1, zero, 1 | a1 = 1;
0x00013450 sw s2, 0x10(sp) | *(var_10h) = s2;
0x00013454 lw a2, -0x7fdc(gp) | a2 = *(gp);
0x00013458 lw t9, -0x7d90(gp) | t9 = sym.imp.__fprintf_chk
0x0001345c move a3, s0 | a3 = s0;
| /* str._s_fields_supported_by_the__s_command:_n */
0x00013460 addiu a2, a2, 0x5c4 | a2 += 0x5c4;
0x00013464 move a0, v0 | a0 = v0;
0x00013468 move s1, v0 | s1 = v0;
0x0001346c jalr t9 | t9 ();
0x00013470 lw a1, (s7) | a1 = *(s7);
0x00013474 lw gp, 0x18(sp) | gp = *(var_18h);
| if (a1 == 0) {
0x00013478 beqz a1, 0x13618 | goto label_8;
| }
0x0001347c lw v0, -0x7fdc(gp) | v0 = *(gp);
0x00013480 lw s6, -0x7fdc(gp) | s6 = *(gp);
0x00013484 sw v0, 0x24(sp) | *(var_24h_3) = v0;
0x00013488 lw v0, -0x7fdc(gp) | v0 = *(gp);
0x0001348c lw s2, -0x7fa8(gp) | s2 = *(gp);
0x00013490 lw s4, -0x7fa8(gp) | s4 = *(gp);
0x00013494 lw s5, -0x7fa8(gp) | s5 = *(gp);
0x00013498 sw v0, 0x28(sp) | *(var_28h_2) = v0;
| /* str.string */
0x0001349c addiu v0, s6, 0x560 | v0 = s6 + 0x560;
0x000134a0 lw s3, -0x7fdc(gp) | s3 = *(gp);
0x000134a4 addiu s2, s2, 0x2740 | s2 += 0x2740;
0x000134a8 addiu fp, sp, 0x34 | fp = sp + 0x34;
0x000134ac sw v0, 0x20(sp) | *(var_20h_3) = v0;
0x000134b0 addiu s4, s4, 0x3164 | s4 += 0x3164;
0x000134b4 addiu s5, s5, 0x2940 | s5 += 0x2940;
0x000134b8 b 0x135c8 |
| while (v0 != s2) {
| if (v0 == s4) {
0x000134bc beql v0, s4, 0x135f0 | goto label_9;
| }
0x000134c0 lw v0, 0x24(sp) | v0 = *(var_24h_3);
0x000134c4 lw a0, -0x7fa8(gp) | a0 = *(gp);
| if (v0 == s5) {
0x000134c8 beq v0, s5, 0x1360c | goto label_10;
| }
0x000134cc addiu a0, a0, 0x27ec | a0 += 0x27ec;
0x000134d0 lw a0, -0x7fa8(gp) | a0 = *(gp);
| if (v0 == a0) {
0x000134d4 beq v0, a0, 0x13668 | goto label_11;
| }
0x000134d8 addiu a0, a0, 0x30e4 | a0 += 0x30e4;
0x000134dc lw a0, -0x7fa8(gp) | a0 = *(gp);
| if (v0 == a0) {
0x000134e0 beq v0, a0, 0x13674 | goto label_12;
| }
0x000134e4 addiu a0, a0, 0x327c | a0 += 0x327c;
0x000134e8 lw a0, -0x7fa8(gp) | a0 = *(gp);
| if (v0 == a0) {
0x000134ec beq v0, a0, 0x13680 | goto label_13;
| }
0x000134f0 addiu a0, a0, 0x36d0 | a0 += 0x36d0;
0x000134f4 lw a0, -0x7fa8(gp) | a0 = *(gp);
| if (v0 == a0) {
0x000134f8 beq v0, a0, 0x136a0 | goto label_14;
| }
0x000134fc addiu a0, a0, 0x2d6c | a0 += 0x2d6c;
0x00013500 lw s0, -0x7fdc(gp) | s0 = *(gp);
| if (v0 == a0) {
0x00013504 beq v0, a0, 0x136ac | goto label_15;
| }
0x00013508 lw s0, -0x7fdc(gp) | s0 = *(gp);
| /* str.unknown */
0x0001350c addiu s0, s0, 0x558 | s0 += 0x558;
| label_2:
0x00013510 lw t9, -0x7cbc(gp) | t9 = sym.imp.__strcpy_chk;
| label_0:
0x00013514 addiu a2, zero, 0x28 | a2 = 0x28;
0x00013518 move a0, fp | a0 = fp;
0x0001351c jalr t9 | t9 ();
0x00013520 lw v0, 0x14(s7) | v0 = *((s7 + 5));
0x00013524 andi v0, v0, 1 | v0 &= 1;
0x00013528 lw gp, 0x18(sp) | gp = *(var_18h);
| if (v0 != 0) {
0x0001352c beqz v0, 0x13578 |
0x00013530 lw v0, 0x18(s7) | v0 = *((s7 + 6));
0x00013534 lw a3, -0x7fdc(gp) | a3 = *(gp);
| if (v0 <= 0) {
0x00013538 blez v0, 0x135f8 | goto label_16;
| }
0x0001353c lw t9, -0x7e0c(gp) | t9 = sym.imp.__sprintf_chk
0x00013540 addiu s6, sp, 0x5c | s6 = sp + 0x5c;
0x00013544 sw v0, 0x10(sp) | *(var_10h) = v0;
| /* str.__d_ */
0x00013548 addiu a3, a3, 0x5ec | a3 += 0x5ec;
0x0001354c addiu a2, zero, 0x28 | a2 = 0x28;
0x00013550 addiu a1, zero, 1 | a1 = 1;
0x00013554 move a0, s6 | a0 = s6;
0x00013558 jalr t9 | t9 ();
0x0001355c lw gp, 0x18(sp) | gp = *(var_18h);
| label_3:
0x00013560 lw t9, -0x79f4(gp) | t9 = sym.imp.__strcat_chk;
0x00013564 addiu a2, zero, 0x28 | a2 = 0x28;
0x00013568 move a1, s6 | a1 = s6;
0x0001356c move a0, fp | a0 = fp;
0x00013570 jalr t9 | t9 ();
0x00013574 lw gp, 0x18(sp) | gp = *(var_18h);
| }
0x00013578 lw v0, 8(s7) | v0 = *((s7 + 2));
0x0001357c lw a1, -0x7fdc(gp) | a1 = *(gp);
| if (v0 != 0) {
0x00013580 beqz v0, 0x1359c |
0x00013584 lw t9, -0x79f4(gp) | t9 = sym.imp.__strcat_chk;
0x00013588 addiu a2, zero, 0x28 | a2 = 0x28;
| /* str.__hi_lo_ */
0x0001358c addiu a1, a1, 0x5f4 | a1 += 0x5f4;
0x00013590 move a0, fp | a0 = fp;
0x00013594 jalr t9 | t9 ();
0x00013598 lw gp, 0x18(sp) | gp = *(var_18h);
| }
0x0001359c lw t9, -0x7d90(gp) | t9 = sym.imp.__fprintf_chk
0x000135a0 addiu s7, s7, 0x1c | s7 += 0x1c;
0x000135a4 addiu a1, zero, 1 | a1 = 1;
0x000135a8 sw s0, 0x10(sp) | *(var_10h) = s0;
0x000135ac move a3, fp | a3 = fp;
| /* str._t__25s_t_s_n */
0x000135b0 addiu a2, s3, 0x600 | a2 = s3 + 0x600;
0x000135b4 move a0, s1 | a0 = s1;
0x000135b8 jalr t9 | t9 ();
0x000135bc lw a1, (s7) | a1 = *(s7);
0x000135c0 lw gp, 0x18(sp) | gp = *(var_18h);
| if (a1 == 0) {
0x000135c4 beqz a1, 0x13618 | goto label_8;
| }
0x000135c8 lw v0, 0x10(s7) | v0 = *((s7 + 4));
0x000135cc lw s0, 0x20(sp) | s0 = *(var_20h_3);
0x000135d0 bne v0, s2, 0x134bc |
| }
0x000135d4 lw t9, -0x7cbc(gp) | t9 = sym.imp.__strcpy_chk;
0x000135d8 b 0x13514 | goto label_0;
| label_6:
0x000135dc lw s2, -0x7fdc(gp) | s2 = *(gp);
0x000135e0 lw s0, -0x7fdc(gp) | s0 = *(gp);
| /* str.set_inode */
0x000135e4 addiu s2, s2, 0x50c | s2 += 0x50c;
| /* str.Inode */
0x000135e8 addiu s0, s0, 0x518 | s0 += 0x518;
0x000135ec b 0x1343c | goto label_1;
| label_9:
0x000135f0 addiu s0, v0, 0x568 | s0 = v0 + 0x568;
0x000135f4 b 0x13510 | goto label_2;
| label_16:
0x000135f8 addiu s6, sp, 0x5c | s6 = sp + 0x5c;
0x000135fc addiu v0, zero, 0x5d5b | v0 = 0x5d5b;
0x00013600 sh v0, 0x5c(sp) | *(var_5ch_2) = v0;
0x00013604 sb zero, 2(s6) | *(var_2h) = 0;
0x00013608 b 0x13560 | goto label_3;
| label_10:
0x0001360c lw v0, 0x28(sp) | v0 = *(var_28h_2);
0x00013610 addiu s0, v0, 0x570 | s0 = v0 + 0x570;
0x00013614 b 0x13510 | goto label_2;
| label_8:
0x00013618 lw t9, -0x7f88(gp) | t9 = sym.close_pager;
0x0001361c move a0, s1 | a0 = s1;
0x00013620 bal 0xe5d0 | sym_close_pager ();
0x00013624 lw v0, 0x2c(sp) | v0 = *(var_2ch);
0x00013628 lw v1, 0x84(sp) | v1 = *(var_84h);
0x0001362c lw gp, 0x18(sp) | gp = *(var_18h);
0x00013630 lw v0, (v0) | v0 = *(v0);
0x00013634 lw ra, 0xac(sp) | ra = *(var_ach);
| if (v1 == v0) {
0x00013638 bne v1, v0, 0x136c4 |
0x0001363c lw fp, 0xa8(sp) | fp = *(var_a8h);
0x00013640 lw s7, 0xa4(sp) | s7 = *(var_a4h);
0x00013644 lw s6, 0xa0(sp) | s6 = *(var_a0h);
0x00013648 lw s5, 0x9c(sp) | s5 = *(var_9ch);
0x0001364c lw s4, 0x98(sp) | s4 = *(var_98h);
0x00013650 lw s3, 0x94(sp) | s3 = *(var_94h);
0x00013654 lw s2, 0x90(sp) | s2 = *(var_90h);
0x00013658 lw s1, 0x8c(sp) | s1 = *(var_8ch);
0x0001365c lw s0, 0x88(sp) | s0 = *(var_88h);
0x00013660 addiu sp, sp, 0xb0 |
0x00013664 jr ra | return v0;
| label_11:
0x00013668 lw s0, -0x7fdc(gp) | s0 = *(gp);
| /* str.UUID */
0x0001366c addiu s0, s0, 0x584 | s0 += 0x584;
0x00013670 b 0x13510 | goto label_2;
| label_12:
0x00013674 lw s0, -0x7fdc(gp) | s0 = *(gp);
| /* str.hash_algorithm */
0x00013678 addiu s0, s0, 0x58c | s0 += 0x58c;
0x0001367c b 0x13510 | goto label_2;
| label_13:
0x00013680 lw s0, -0x7fdc(gp) | s0 = *(gp);
| /* str.date_time */
0x00013684 addiu s0, s0, 0x59c | s0 += 0x59c;
0x00013688 b 0x13510 | goto label_2;
| label_5:
0x0001368c lw s2, -0x7fdc(gp) | s2 = *(gp);
0x00013690 lw s0, -0x7fdc(gp) | s0 = *(gp);
| /* str.set_super_value */
0x00013694 addiu s2, s2, -0x1f88 | s2 += -0x1f88;
| /* str.Superblock */
0x00013698 addiu s0, s0, 0x500 | s0 += aav.0x00000500;
0x0001369c b 0x1343c | goto label_1;
| label_14:
0x000136a0 lw s0, -0x7fdc(gp) | s0 = *(gp);
| /* str.set_physical__logical_block_map */
0x000136a4 addiu s0, s0, 0x538 | s0 += 0x538;
0x000136a8 b 0x13510 | goto label_2;
| /* str.unsigned_integer_OR__calc_ */
| label_15:
0x000136ac addiu s0, s0, 0x5a8 | s0 += 0x5a8;
0x000136b0 b 0x13510 | goto label_2;
| label_7:
0x000136b4 lw s0, -0x7fdc(gp) | s0 = *(gp);
| /* str.set_mmp_value */
0x000136b8 addiu s2, s2, -0x2074 | s2 += -0x2074;
| /* esilref: 'MMP' */
0x000136bc addiu s0, s0, 0x4fc | s0 += 0x4fc;
0x000136c0 b 0x1343c | goto label_1;
| }
0x000136c4 lw t9, -0x7b08(gp) | t9 = sym.imp.__stack_chk_fail;
0x000136c8 jalr t9 | t9 ();
0x000136cc nop |
0x000136d0 lui gp, 4 |
0x000136d4 addiu gp, gp, -0x5590 |
0x000136d8 addu gp, gp, t9 | gp += t9;
0x000136dc addiu sp, sp, -0x60 |
0x000136e0 lw t9, -0x7c80(gp) | t9 = sym.imp.strtoull;
0x000136e4 sw s0, 0x50(sp) | *(var_50h) = s0;
0x000136e8 lw s0, -0x7aa4(gp) | s0 = *((gp - 7849));
0x000136ec sw s1, 0x54(sp) | *(var_54h) = s1;
0x000136f0 move s1, a2 | s1 = a2;
0x000136f4 lw v0, (s0) | v0 = *(s0);
0x000136f8 sw gp, 0x28(sp) | *(var_28h) = gp;
0x000136fc sw s2, 0x58(sp) | *(var_58h) = s2;
0x00013700 sw ra, 0x5c(sp) | *(var_5ch) = ra;
0x00013704 move s2, a0 | s2 = a0;
0x00013708 move a2, zero | a2 = 0;
0x0001370c addiu a1, sp, 0x3c | a1 = sp + 0x3c;
0x00013710 move a0, s1 | a0 = s1;
0x00013714 sw v0, 0x4c(sp) | *(var_4ch) = v0;
0x00013718 jalr t9 | t9 ();
0x0001371c nop |
0x00013720 sw v0, 0x40(sp) | *(var_40h) = v0;
0x00013724 lw v0, 0x3c(sp) | v0 = *(var_3ch);
0x00013728 sw v1, 0x44(sp) | *(var_44h) = v1;
0x0001372c lb v0, (v0) | v0 = *(v0);
0x00013730 lw gp, 0x28(sp) | gp = *(var_28h);
| if (v0 != 0) {
0x00013734 bnez v0, 0x137dc | goto label_17;
| }
0x00013738 lw a0, -0x7f30(gp) | a0 = *((gp - 8140));
0x0001373c lw v0, -0x7f30(gp) | v0 = *((gp - 8140));
0x00013740 addiu a2, sp, 0x40 | a2 = sp + 0x40;
0x00013744 lw a1, 0x6798(a0) | a1 = *((a0 + 6630));
0x00013748 lw a0, -0x7fd8(gp) | a0 = *(gp);
0x0001374c lw v0, 0x6794(v0) | v0 = *((v0 + 6629));
0x00013750 lw t9, -0x7c1c(gp) | t9 = sym.imp.ext2fs_bmap2;
0x00013754 lw a0, (a0) | a0 = *(a0);
0x00013758 sw a2, 0x24(sp) | *(var_24h_2) = a2;
0x0001375c lw a2, -0x7f30(gp) | a2 = *((gp - 8140));
0x00013760 sra v1, v0, 0x1f | v1 = v0 >> 0x1f;
0x00013764 sw v0, 0x18(sp) | *(var_18h_2) = v0;
0x00013768 addiu v0, zero, 3 | v0 = 3;
0x0001376c sw zero, 0x20(sp) | *(var_20h_2) = 0;
0x00013770 sw v1, 0x1c(sp) | *(var_1ch_2) = v1;
0x00013774 sw v0, 0x10(sp) | *(var_10h_2) = v0;
0x00013778 move a3, zero | a3 = 0;
0x0001377c addiu a2, a2, 0x6c00 | a2 += 0x6c00;
0x00013780 jalr t9 | t9 ();
0x00013784 lw gp, 0x28(sp) | gp = *(var_28h);
0x00013788 bnez v0, 0x137b0 |
| while (1) {
| label_4:
0x0001378c lw a0, 0x4c(sp) | a0 = *(var_4ch);
0x00013790 lw v1, (s0) | v1 = *(s0);
0x00013794 lw ra, 0x5c(sp) | ra = *(var_5ch);
| if (a0 != v1) {
0x00013798 bne a0, v1, 0x13810 | goto label_18;
| }
0x0001379c lw s2, 0x58(sp) | s2 = *(var_58h);
0x000137a0 lw s1, 0x54(sp) | s1 = *(var_54h);
0x000137a4 lw s0, 0x50(sp) | s0 = *(var_50h);
0x000137a8 addiu sp, sp, 0x60 |
0x000137ac jr ra | return v0;
0x000137b0 lw a2, -0x7fdc(gp) | a2 = *(gp);
0x000137b4 lw a0, -0x7fdc(gp) | a0 = *(gp);
0x000137b8 lw t9, -0x7b4c(gp) | t9 = sym.imp.com_err;
0x000137bc move a1, v0 | a1 = v0;
0x000137c0 sw v0, 0x34(sp) | *(var_34h) = v0;
| /* str.while_setting_block_map */
0x000137c4 addiu a2, a2, 0x60c | a2 += 0x60c;
| /* str.set_inode */
0x000137c8 addiu a0, a0, 0x50c | a0 += 0x50c;
0x000137cc jalr t9 | t9 ();
0x000137d0 lw gp, 0x28(sp) | gp = *(var_28h);
0x000137d4 lw v0, 0x34(sp) | v0 = *(var_34h);
0x000137d8 b 0x1378c |
| }
| label_17:
0x000137dc lw v1, -0x7a6c(gp) | v1 = *((gp - 7835));
0x000137e0 lw a2, -0x7fdc(gp) | a2 = *(gp);
0x000137e4 lw v0, (s2) | v0 = *(s2);
0x000137e8 lw t9, -0x7d90(gp) | t9 = sym.imp.__fprintf_chk
0x000137ec lw a0, (v1) | a0 = *(v1);
0x000137f0 move a3, s1 | a3 = s1;
0x000137f4 sw v0, 0x10(sp) | *(var_10h_2) = v0;
| /* str.Couldnt_parse__s_for_field__s._n */
0x000137f8 addiu a2, a2, 0x428 | a2 += 0x428;
0x000137fc addiu a1, zero, 1 | a1 = 1;
0x00013800 jalr t9 | t9 ();
0x00013804 lw gp, 0x28(sp) | gp = *(var_28h);
0x00013808 addiu v0, zero, 0x16 | v0 = 0x16;
0x0001380c b 0x1378c | goto label_4;
| label_18:
0x00013810 lw t9, -0x7b08(gp) | t9 = sym.imp.__stack_chk_fail;
0x00013814 jalr t9 | t9 ();
0x00013818 nop |
0x0001381c lui gp, 4 |
0x00013820 addiu gp, gp, -0x56dc |
0x00013824 addu gp, gp, t9 | gp += t9;
0x00013828 addiu sp, sp, -0x28 |
0x0001382c lw t9, -0x7cdc(gp) | t9 = sym.imp.ext2fs_mmp_clear;
0x00013830 sw s0, 0x1c(sp) | *(var_1ch) = s0;
0x00013834 lw s0, -0x7fd8(gp) | s0 = *(gp);
0x00013838 sw s1, 0x20(sp) | *(var_20h) = s1;
0x0001383c move s1, a0 | s1 = a0;
0x00013840 lw a0, (s0) | a0 = *(s0);
0x00013844 sw gp, 0x10(sp) | *(var_10h_3) = gp;
0x00013848 sw ra, 0x24(sp) | *(var_24h) = ra;
0x0001384c jalr t9 | t9 ();
0x00013850 nop |
0x00013854 lw gp, 0x10(sp) | gp = *(var_10h_3);
| if (v0 != 0) {
0x00013858 beqz v0, 0x13890 |
0x0001385c lw a2, -0x7fdc(gp) | a2 = *(gp);
0x00013860 lw a0, -0x7fdc(gp) | a0 = *(gp);
0x00013864 lw t9, -0x7b4c(gp) | t9 = sym.imp.com_err;
0x00013868 move a1, v0 | a1 = v0;
| /* str.while_clearing_MMP_block_n */
0x0001386c addiu a2, a2, 0x624 | a2 += 0x624;
| /* str.set_mmp_value */
0x00013870 addiu a0, a0, -0x2074 | a0 += -0x2074;
0x00013874 jalr t9 | t9 ();
0x00013878 lw ra, 0x24(sp) | ra = *(var_24h);
0x0001387c lw s1, 0x20(sp) | s1 = *(var_20h);
0x00013880 lw s0, 0x1c(sp) | s0 = *(var_1ch);
0x00013884 addiu v0, zero, 1 | v0 = 1;
0x00013888 addiu sp, sp, 0x28 |
0x0001388c jr ra | return v0;
| }
0x00013890 lw v0, (s0) | v0 = *(s0);
0x00013894 lw t9, -0x7aa0(gp) | t9 = sym.imp.memcpy;
0x00013898 lw a2, 0xc(s1) | a2 = *((s1 + 3));
0x0001389c lw a0, 4(s1) | a0 = *((s1 + 1));
0x000138a0 lw a1, 0x98(v0) | a1 = *((v0 + 38));
0x000138a4 jalr t9 | t9 ();
0x000138a8 lw ra, 0x24(sp) | ra = *(var_24h);
0x000138ac lw s1, 0x20(sp) | s1 = *(var_20h);
0x000138b0 lw s0, 0x1c(sp) | s0 = *(var_1ch);
0x000138b4 addiu v0, zero, 1 | v0 = 1;
0x000138b8 addiu sp, sp, 0x28 |
0x000138bc jr ra | return v0;
| }
; assembly | /* r2dec pseudo code output */
| /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/sbin/debugfs @ 0x18250 */
| #include <stdint.h>
|
; (fcn) fcn.00018250 () | void fcn_00018250 () {
| label_3:
0x00018250 lui gp, 3 |
0x00018254 addiu gp, gp, 0x5ef0 |
0x00018258 addu gp, gp, t9 | gp += t9;
0x0001825c addiu sp, sp, -0x1c8 |
0x00018260 lw t9, -0x7cb0(gp) | t9 = sym.imp.__strncpy_chk;
0x00018264 sw s3, 0x1b8(sp) | *(var_1b8h) = s3;
0x00018268 lw s3, -0x7aa4(gp) | s3 = *((gp - 7849));
0x0001826c sw s0, 0x1ac(sp) | *(var_1ach) = s0;
0x00018270 lbu s0, 6(a0) | s0 = *((a0 + 6));
0x00018274 lw v0, (s3) | v0 = *(s3);
0x00018278 sw s2, 0x1b4(sp) | *(var_1b4h) = s2;
0x0001827c sw s1, 0x1b0(sp) | *(var_1b0h) = s1;
0x00018280 move s2, a0 | s2 = a0;
0x00018284 addiu s1, sp, 0xa4 | s1 = sp + 0xa4;
0x00018288 sw gp, 0x18(sp) | *(var_18h) = gp;
0x0001828c move a2, s0 | a2 = s0;
0x00018290 sw ra, 0x1c4(sp) | *(var_1c4h) = ra;
0x00018294 sw s4, 0x1bc(sp) | *(var_1bch) = s4;
0x00018298 addiu a3, zero, 0x100 | a3 = aav.0x00000100;
0x0001829c move a0, s1 | a0 = s1;
0x000182a0 sw s5, 0x1c0(sp) | *(var_1c0h) = s5;
0x000182a4 move s4, a1 | s4 = a1;
0x000182a8 sw v0, 0x1a4(sp) | *(var_1a4h) = v0;
0x000182ac addiu a1, s2, 8 | a1 = s2 + 8;
0x000182b0 jalr t9 | t9 ();
0x000182b4 lw gp, 0x18(sp) | gp = *(var_18h);
0x000182b8 addiu v0, sp, 0x1a8 | v0 = sp + 0x1a8;
0x000182bc addu s0, v0, s0 | s0 = v0 + s0;
0x000182c0 lw a1, -0x7fdc(gp) | a1 = *(gp);
0x000182c4 lw t9, -0x7a28(gp) | t9 = sym.imp.strcmp;
| /* esilref: '(' */
0x000182c8 addiu a1, a1, -0x314 | a1 += -0x314;
0x000182cc move a0, s1 | a0 = s1;
0x000182d0 sb zero, -0x104(s0) | *(s0) = 0;
0x000182d4 jalr t9 | t9 ();
0x000182d8 lw gp, 0x18(sp) | gp = *(var_18h);
| if (v0 == 0) {
0x000182dc beqz v0, 0x182fc | goto label_2;
| }
0x000182e0 lw a1, -0x7fdc(gp) | a1 = *(gp);
0x000182e4 lw t9, -0x7a28(gp) | t9 = sym.imp.strcmp;
| /* esilref: '..' */
0x000182e8 addiu a1, a1, 0x288 | a1 += 0x288;
0x000182ec move a0, s1 | a0 = s1;
0x000182f0 jalr t9 | t9 ();
0x000182f4 lw gp, 0x18(sp) | gp = *(var_18h);
0x000182f8 bnez v0, 0x1832c |
| while (1) {
| label_2:
0x000182fc lw v1, 0x1a4(sp) | v1 = *(var_1a4h);
0x00018300 lw v0, (s3) | v0 = *(s3);
0x00018304 lw ra, 0x1c4(sp) | ra = *(var_1c4h);
| if (v1 != v0) {
0x00018308 bne v1, v0, 0x184a8 | goto label_4;
| }
0x0001830c lw s5, 0x1c0(sp) | s5 = *(var_1c0h);
0x00018310 lw s4, 0x1bc(sp) | s4 = *(var_1bch);
0x00018314 lw s3, 0x1b8(sp) | s3 = *(var_1b8h);
0x00018318 lw s2, 0x1b4(sp) | s2 = *(var_1b4h);
0x0001831c lw s1, 0x1b0(sp) | s1 = *(var_1b0h);
0x00018320 lw s0, 0x1ac(sp) | s0 = *(var_1ach);
0x00018324 addiu sp, sp, 0x1c8 |
0x00018328 jr ra | return v0;
0x0001832c lw s5, 8(s4) | s5 = *((s4 + 2));
0x00018330 lw t9, -0x7c30(gp) | t9 = sym.imp.strlen;
0x00018334 move a0, s5 | a0 = s5;
0x00018338 jalr t9 | t9 ();
0x0001833c lw gp, 0x18(sp) | gp = *(var_18h);
0x00018340 move a0, s1 | a0 = s1;
0x00018344 lw t9, -0x7c30(gp) | t9 = sym.imp.strlen;
0x00018348 move s0, v0 | s0 = v0;
0x0001834c jalr t9 | t9 ();
0x00018350 lw gp, 0x18(sp) | gp = *(var_18h);
0x00018354 addu v0, s0, v0 | v0 = s0 + v0;
0x00018358 addiu a0, v0, 2 | a0 = v0 + 2;
0x0001835c lw t9, -0x7bd4(gp) | t9 = sym.imp.malloc;
0x00018360 lw s2, (s2) | s2 = *(s2);
0x00018364 jalr t9 | t9 ();
0x00018368 move s0, v0 | s0 = v0;
0x0001836c lw gp, 0x18(sp) | gp = *(var_18h);
| if (v0 == 0) {
0x00018370 beqz v0, 0x18448 | goto label_5;
| }
0x00018374 lw a3, -0x7fdc(gp) | a3 = *(gp);
0x00018378 lw t9, -0x7e0c(gp) | t9 = sym.imp.__sprintf_chk
| /* str._s__s */
0x0001837c addiu a3, a3, -0x530 | a3 += -0x530;
0x00018380 addiu a2, zero, -1 | a2 = -1;
0x00018384 addiu a1, zero, 1 | a1 = 1;
0x00018388 move a0, v0 | a0 = v0;
0x0001838c sw s1, 0x14(sp) | *(var_14h) = s1;
0x00018390 sw s5, 0x10(sp) | *(var_10h_2) = s5;
0x00018394 jalr t9 | t9 ();
0x00018398 lw gp, 0x18(sp) | gp = *(var_18h);
0x0001839c addiu s1, sp, 0x24 | s1 = sp + 0x24;
0x000183a0 sw s0, 4(s4) | *((s4 + 1)) = s0;
0x000183a4 lw t9, -0x7fb8(gp) | t9 = sym.debugfs_read_inode;
0x000183a8 move a2, s0 | a2 = s0;
0x000183ac move a1, s1 | a1 = s1;
0x000183b0 move a0, s2 | a0 = s2;
0x000183b4 bal 0xf3cc | sym_debugfs_read_inode ();
0x000183b8 lw gp, 0x18(sp) | gp = *(var_18h);
| if (v0 == 0) {
0x000183bc beqz v0, 0x183d8 | goto label_6;
| }
| label_0:
0x000183c0 lw t9, -0x7a8c(gp) | t9 = sym.imp.free;
| label_1:
0x000183c4 move a0, s0 | a0 = s0;
0x000183c8 jalr t9 | t9 ();
0x000183cc lw gp, 0x18(sp) | gp = *(var_18h);
0x000183d0 sw zero, 4(s4) | *((s4 + 1)) = 0;
0x000183d4 b 0x182fc |
| }
| label_6:
0x000183d8 lw t9, -0x7fa8(gp) | t9 = *(gp);
0x000183dc move a2, s4 | a2 = s4;
0x000183e0 move a1, s1 | a1 = s1;
| /* fcn.00017d04 */
0x000183e4 addiu t9, t9, 0x7d04 | t9 += 0x7d04;
0x000183e8 move a0, s2 | a0 = s2;
0x000183ec bal 0x17d04 | fcn_00017d04 ();
0x000183f0 lw v0, 0xc(s4) | v0 = *((s4 + 3));
0x000183f4 andi v0, v0, 4 | v0 &= 4;
0x000183f8 lw gp, 0x18(sp) | gp = *(var_18h);
| if (v0 == 0) {
0x000183fc beqz v0, 0x183c0 | goto label_0;
| }
0x00018400 lhu v0, 0x24(sp) | v0 = *(var_24h);
0x00018404 addiu v1, zero, 0x4000 | v1 = 0x4000;
0x00018408 andi v0, v0, 0xf000 | v0 &= 0xf000;
0x0001840c lw t9, -0x7a8c(gp) | t9 = sym.imp.free;
| if (v0 != v1) {
0x00018410 bne v0, v1, 0x183c4 | goto label_1;
| }
0x00018414 lw t9, -0x7bd4(gp) | t9 = sym.imp.malloc;
0x00018418 addiu a0, zero, 0xc | a0 = 0xc;
0x0001841c jalr t9 | t9 ();
0x00018420 lw gp, 0x18(sp) | gp = *(var_18h);
| if (v0 != 0) {
0x00018424 beqz v0, 0x18474 |
0x00018428 lw v1, 0x44(s4) | v1 = *((s4 + 17));
0x0001842c sw zero, 8(v0) | *((v0 + 2)) = 0;
0x00018430 sw s0, (v0) | *(v0) = s0;
0x00018434 sw s2, 4(v0) | *((v0 + 1)) = s2;
| if (v1 == 0) {
0x00018438 beqz v1, 0x1849c | goto label_7;
| }
0x0001843c sw v0, 8(v1) | *((v1 + 2)) = v0;
0x00018440 sw v0, 0x44(s4) | *((s4 + 17)) = v0;
0x00018444 b 0x182fc | goto label_2;
| label_5:
0x00018448 lw v0, -0x7a6c(gp) | v0 = *((gp - 7835));
0x0001844c lw a2, -0x7fdc(gp) | a2 = *(gp);
0x00018450 lw t9, -0x7d90(gp) | t9 = sym.imp.__fprintf_chk
0x00018454 lw a0, (v0) | a0 = *(v0);
0x00018458 move a3, s5 | a3 = s5;
0x0001845c sw s1, 0x10(sp) | *(var_10h_2) = s1;
| /* str.Couldnt_allocate_memory_for__s__s_n */
0x00018460 addiu a2, a2, 0x1dac | a2 += 0x1dac;
0x00018464 addiu a1, zero, 1 | a1 = 1;
0x00018468 jalr t9 | t9 ();
0x0001846c lw gp, 0x18(sp) | gp = *(var_18h);
0x00018470 b 0x182fc | goto label_2;
| }
0x00018474 lw v0, -0x7a6c(gp) | v0 = *((gp - 7835));
0x00018478 lw a2, -0x7fdc(gp) | a2 = *(gp);
0x0001847c lw t9, -0x7d90(gp) | t9 = sym.imp.__fprintf_chk
0x00018480 lw a3, 4(s4) | a3 = *((s4 + 1));
0x00018484 lw a0, (v0) | a0 = *(v0);
| /* str.Couldnt_allocate_dir_list_for__s_n */
0x00018488 addiu a2, a2, 0x1dd0 | a2 += 0x1dd0;
0x0001848c addiu a1, zero, 1 | a1 = 1;
0x00018490 jalr t9 | t9 ();
0x00018494 lw gp, 0x18(sp) | gp = *(var_18h);
0x00018498 b 0x183c0 | goto label_0;
| label_7:
0x0001849c sw v0, 0x40(s4) | *((s4 + 16)) = v0;
0x000184a0 sw v0, 0x44(s4) | *((s4 + 17)) = v0;
0x000184a4 b 0x182fc | goto label_2;
| label_4:
0x000184a8 lw t9, -0x7b08(gp) | t9 = sym.imp.__stack_chk_fail;
0x000184ac jalr t9 | t9 ();
0x000184b0 nop |
0x000184b4 lui gp, 3 |
0x000184b8 addiu gp, gp, 0x5c8c |
0x000184bc addu gp, gp, t9 | gp += t9;
0x000184c0 addiu v0, zero, 4 | v0 = 4;
0x000184c4 lw t9, -0x7f0c(gp) | t9 = *(gp);
| if (a1 != v0) {
0x000184c8 beq a1, v0, 0x184f8 |
0x000184cc addiu sp, sp, -0x20 |
0x000184d0 lw a1, 0x38(sp) | a1 = *(var_18h);
0x000184d4 sw ra, 0x1c(sp) | *(var_1ch) = ra;
0x000184d8 sw gp, 0x10(sp) | *(var_10h) = gp;
| /* fcn.00018250 */
0x000184dc addiu t9, t9, -0x7db0 | t9 += -0x7db0;
0x000184e0 move a0, a2 | a0 = a2;
0x000184e4 bal 0x18250 | fcn_00018250 ();
| goto label_3;
0x000184e8 lw ra, 0x1c(sp) | ra = *(var_1ch);
0x000184ec move v0, zero | v0 = 0;
0x000184f0 addiu sp, sp, 0x20 |
0x000184f4 jr ra | return v0;
| }
0x000184f8 move v0, zero | v0 = 0;
0x000184fc jr ra | return v0;
| }
; assembly | /* r2dec pseudo code output */
| /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/sbin/debugfs @ 0x1bef4 */
| #include <stdint.h>
|
; (fcn) fcn.0001bef4 () | void fcn_0001bef4 () {
0x0001bef4 lui gp, 3 |
0x0001bef8 addiu gp, gp, 0x224c |
0x0001befc addu gp, gp, t9 | gp += t9;
0x0001bf00 addiu sp, sp, -0x1d0 |
0x0001bf04 lw v0, -0x7aa4(gp) | v0 = *((gp - 7849));
0x0001bf08 lw v1, 0x1e0(sp) | v1 = *(arg_1e0h);
0x0001bf0c sw v0, 0x44(sp) | *(var_44h) = v0;
0x0001bf10 sw v1, 0x3c(sp) | *(var_3ch) = v1;
0x0001bf14 lw v0, (v0) | v0 = *(v0);
0x0001bf18 lw v1, 0x1e8(sp) | v1 = *(arg_1e8h);
0x0001bf1c lw t9, -0x7af0(gp) | t9 = sym.imp.chdir;
0x0001bf20 sw gp, 0x20(sp) | *(var_20h) = gp;
0x0001bf24 sw s3, 0x1b4(sp) | *(var_1b4h) = s3;
0x0001bf28 sw s1, 0x1ac(sp) | *(var_1ach) = s1;
0x0001bf2c sw s0, 0x1a8(sp) | *(var_1a8h) = s0;
0x0001bf30 sw ra, 0x1cc(sp) | *(var_1cch) = ra;
0x0001bf34 sw fp, 0x1c8(sp) | *(var_1c8h) = fp;
0x0001bf38 sw s7, 0x1c4(sp) | *(var_1c4h) = s7;
0x0001bf3c sw s6, 0x1c0(sp) | *(var_1c0h) = s6;
0x0001bf40 sw s5, 0x1bc(sp) | *(var_1bch) = s5;
0x0001bf44 sw s4, 0x1b8(sp) | *(var_1b8h) = s4;
0x0001bf48 sw s2, 0x1b0(sp) | *(var_1b0h) = s2;
0x0001bf4c move s1, a0 | s1 = a0;
0x0001bf50 sw a1, 0x1d4(sp) | *(arg_1d4h) = a1;
0x0001bf54 move a0, a2 | a0 = a2;
0x0001bf58 sw a3, 0x1dc(sp) | *(arg_1dch) = a3;
0x0001bf5c sw v1, 0x2c(sp) | *(var_2ch) = v1;
0x0001bf60 sw v0, 0x1a4(sp) | *(var_1a4h) = v0;
0x0001bf64 move s0, a2 | s0 = a2;
0x0001bf68 lw s3, 0x1e4(sp) | s3 = *(arg_1e4h);
0x0001bf6c jalr t9 | t9 ();
0x0001bf70 lw gp, 0x20(sp) | gp = *(var_20h);
| if (v0 < 0) {
0x0001bf74 bltz v0, 0x1c840 | goto label_25;
| }
0x0001bf78 lw v0, -0x7fdc(gp) | v0 = *(gp);
0x0001bf7c lw t9, -0x7dc0(gp) | t9 = sym.imp.scandir64;
0x0001bf80 lw a3, -0x7a50(gp) | a3 = *(gp);
0x0001bf84 sw v0, 0x30(sp) | *(var_30h) = v0;
0x0001bf88 move a2, zero | a2 = 0;
0x0001bf8c addiu a1, sp, 0x74 | a1 = sp + 0x74;
| /* esilref: '(' */
0x0001bf90 addiu a0, v0, -0x314 | a0 = v0 + -0x314;
0x0001bf94 jalr t9 | t9 ();
0x0001bf98 move s6, v0 | s6 = v0;
0x0001bf9c lw gp, 0x20(sp) | gp = *(var_20h);
| if (v0 < 0) {
0x0001bfa0 bltz v0, 0x1cac4 | goto label_26;
| }
0x0001bfa4 move s0, zero | s0 = 0;
| if (v0 == 0) {
0x0001bfa8 beqz v0, 0x1c358 | goto label_27;
| }
0x0001bfac lw v0, -0x7fdc(gp) | v0 = *(gp);
0x0001bfb0 move s5, s1 | s5 = s1;
| /* esilref: '..' */
0x0001bfb4 addiu v0, v0, 0x288 | v0 += 0x288;
0x0001bfb8 sw v0, 0x34(sp) | *(var_34h) = v0;
0x0001bfbc lw v0, -0x7fdc(gp) | v0 = *(gp);
0x0001bfc0 sw v0, 0x40(sp) | *(var_40h) = v0;
0x0001bfc4 lw v0, -0x7fdc(gp) | v0 = *(gp);
| /* str.while_listing_attributes_of___s_ */
0x0001bfc8 addiu v0, v0, 0x28f4 | v0 += 0x28f4;
0x0001bfcc sw v0, 0x54(sp) | *(var_54h_2) = v0;
0x0001bfd0 lw v0, -0x7fdc(gp) | v0 = *(gp);
0x0001bfd4 sw v0, 0x50(sp) | *(var_50h) = v0;
0x0001bfd8 lw v0, -0x7f0c(gp) | v0 = *(gp);
| /* fcn.0001bef4 */
0x0001bfdc addiu v0, v0, -0x410c | v0 += -0x410c;
0x0001bfe0 sw v0, 0x4c(sp) | *(var_4ch_2) = v0;
| do {
0x0001bfe4 lw s4, 0x74(sp) | s4 = *(var_74h);
0x0001bfe8 sll s2, s0, 2 | s2 = s0 << 2;
0x0001bfec lw v0, 0x30(sp) | v0 = *(var_30h);
0x0001bff0 lwx s4, s2(s4) | __asm ("lwx s4, s2(s4)");
0x0001bff4 lw t9, -0x7a28(gp) | t9 = sym.imp.strcmp;
0x0001bff8 addiu s1, s4, 0x13 | s1 = s4 + 0x13;
0x0001bffc addiu a1, v0, -0x314 | a1 = v0 + -0x314;
0x0001c000 move a0, s1 | a0 = s1;
0x0001c004 jalr t9 | t9 ();
0x0001c008 lw gp, 0x20(sp) | gp = *(var_20h);
| if (v0 != 0) {
0x0001c00c beqz v0, 0x1c340 |
0x0001c010 lw t9, -0x7a28(gp) | t9 = sym.imp.strcmp;
0x0001c014 lw a1, 0x34(sp) | a1 = *(var_34h);
0x0001c018 move a0, s1 | a0 = s1;
0x0001c01c jalr t9 | t9 ();
0x0001c020 lw gp, 0x20(sp) | gp = *(var_20h);
| if (v0 == 0) {
0x0001c024 beqz v0, 0x1c340 | goto label_28;
| }
0x0001c028 lw t9, -0x7dd8(gp) | t9 = sym.imp.__lxstat64;
0x0001c02c addiu a2, sp, 0x100 | a2 = sp + aav.0x00000100;
0x0001c030 move a1, s1 | a1 = s1;
0x0001c034 addiu a0, zero, 3 | a0 = 3;
0x0001c038 jalr t9 | t9 ();
0x0001c03c lw gp, 0x20(sp) | gp = *(var_20h);
| if (v0 != 0) {
0x0001c040 bnez v0, 0x1caec | goto label_29;
| }
0x0001c044 lw v0, 0x118(sp) | v0 = *(var_118h);
0x0001c048 addiu v1, zero, 0x4000 | v1 = 0x4000;
0x0001c04c andi v0, v0, 0xf000 | v0 &= 0xf000;
0x0001c050 ori v1, zero, 0xa000 | v1 = 0xa000;
| if (v0 != v1) {
0x0001c054 beq v0, v1, 0x1c070 |
| if (v0 == v1) {
0x0001c058 beql v0, v1, 0x1c074 | goto label_11;
| }
0x0001c05c sw zero, 0x38(sp) | *(var_38h) = 0;
0x0001c060 lw v0, 0x11c(sp) | v0 = *(var_11ch);
0x0001c064 sltiu v0, v0, 2 | v0 = (v0 < 2) ? 1 : 0;
| if (v0 == 0) {
0x0001c068 beql v0, zero, 0x1c584 | goto label_30;
| }
0x0001c06c lw v0, 0x3c(sp) | v0 = *(var_3ch);
| }
0x0001c070 sw zero, 0x38(sp) | *(var_38h) = 0;
| label_11:
0x0001c074 lw t9, -0x7c30(gp) | t9 = sym.imp.strlen;
0x0001c078 lw s4, 4(s3) | s4 = *((s3 + 1));
0x0001c07c move a0, s1 | a0 = s1;
0x0001c080 jalr t9 | t9 ();
0x0001c084 lw a1, 8(s3) | a1 = *((s3 + 2));
0x0001c088 addiu v1, s4, 1 | v1 = s4 + 1;
0x0001c08c addu v1, v1, v0 | v1 += v0;
0x0001c090 sltu v1, a1, v1 | v1 = (a1 < v1) ? 1 : 0;
0x0001c094 lw gp, 0x20(sp) | gp = *(var_20h);
0x0001c098 lw v0, (s3) | v0 = *(s3);
| if (v1 == 0) {
0x0001c09c beqz v1, 0x1c520 | goto label_31;
| }
0x0001c0a0 lw t9, -0x7bc8(gp) | t9 = sym.imp.realloc;
0x0001c0a4 sll a1, a1, 1 | a1 <<= 1;
0x0001c0a8 move a0, v0 | a0 = v0;
0x0001c0ac sw a1, 8(s3) | *((s3 + 2)) = a1;
0x0001c0b0 jalr t9 | t9 ();
0x0001c0b4 lw gp, 0x20(sp) | gp = *(var_20h);
| if (v0 == 0) {
0x0001c0b8 beqz v0, 0x1ca48 | goto label_32;
| }
0x0001c0bc lw a0, 4(s3) | a0 = *((s3 + 1));
0x0001c0c0 sw v0, (s3) | *(s3) = v0;
| label_2:
0x0001c0c4 lw v1, 0x40(sp) | v1 = *(var_40h);
0x0001c0c8 lw t9, -0x7e0c(gp) | t9 = sym.imp.__sprintf_chk
0x0001c0cc addiu a3, v1, 0x27d8 | a3 = v1 + 0x27d8;
0x0001c0d0 sw s1, 0x10(sp) | *(var_80h) = s1;
0x0001c0d4 addiu a2, zero, -1 | a2 = -1;
0x0001c0d8 addiu a1, zero, 1 | a1 = 1;
0x0001c0dc addu a0, v0, a0 | a0 = v0 + a0;
0x0001c0e0 jalr t9 | t9 ();
0x0001c0e4 lw v1, 4(s3) | v1 = *((s3 + 1));
0x0001c0e8 lw gp, 0x20(sp) | gp = *(var_20h);
0x0001c0ec addu v0, v1, v0 | v0 = v1 + v0;
0x0001c0f0 sw v0, 4(s3) | *((s3 + 1)) = v0;
0x0001c0f4 lw v0, 0x2c(sp) | v0 = *(var_2ch);
0x0001c0f8 lw a3, 0x118(sp) | a3 = *(var_118h);
| if (v0 != 0) {
0x0001c0fc beqz v0, 0x1c13c |
0x0001c100 lw v0, 0x2c(sp) | v0 = *(var_2ch);
0x0001c104 lw t9, (v0) | t9 = *(v0);
0x0001c108 andi v0, a3, 0xf000 | v0 = a3 & 0xf000;
| if (t9 == 0) {
0x0001c10c beqz t9, 0x1c140 | goto label_33;
| }
0x0001c110 lw a1, (s3) | a1 = *(s3);
0x0001c114 sw v0, 0x14(sp) | *(var_14h) = v0;
0x0001c118 lw v0, 0x1dc(sp) | v0 = *(arg_1dch);
0x0001c11c lw a3, 0x1d4(sp) | a3 = *(arg_1d4h);
0x0001c120 sw v0, 0x10(sp) | *(var_80h) = v0;
0x0001c124 move a2, s1 | a2 = s1;
0x0001c128 move a0, s5 | a0 = s5;
0x0001c12c jalr t9 | t9 ();
0x0001c130 lw gp, 0x20(sp) | gp = *(var_20h);
| if (v0 != 0) {
0x0001c134 bnez v0, 0x1cb14 | goto label_34;
| }
0x0001c138 lw a3, 0x118(sp) | a3 = *(var_118h);
| }
0x0001c13c andi v0, a3, 0xf000 | v0 = a3 & 0xf000;
| label_33:
0x0001c140 addiu v1, zero, 0x6000 | v1 = 0x6000;
0x0001c144 sltiu v1, v0, 0x6001 | v1 = (v0 < 0x6001) ? 1 : 0;
| if (v0 == v1) {
0x0001c148 beq v0, v1, 0x1c7dc | goto label_35;
| }
0x0001c14c ori v1, zero, 0xa000 | v1 = 0xa000;
| if (v1 != 0) {
0x0001c150 bnez v1, 0x1c3b0 | goto label_36;
| }
0x0001c154 ori v1, zero, 0xc000 | v1 = 0xc000;
| if (v0 == v1) {
0x0001c158 beq v0, v1, 0x1c720 | goto label_37;
| }
0x0001c15c ori v1, zero, 0x8000 | v1 = 0x8000;
| if (v0 == v1) {
0x0001c160 beq v0, v1, 0x1c7dc | goto label_35;
| }
0x0001c164 lw v0, 0x1dc(sp) | v0 = *(arg_1dch);
| if (v0 != v1) {
0x0001c168 bne v0, v1, 0x1c4f4 | goto label_38;
| }
0x0001c16c lw t9, -0x7f5c(gp) | t9 = sym.do_write_internal;
0x0001c170 lw a1, 0x1d4(sp) | a1 = *(arg_1d4h);
0x0001c174 sw v0, 0x10(sp) | *(var_80h) = v0;
0x0001c178 move a3, s1 | a3 = s1;
0x0001c17c move a2, s1 | a2 = s1;
0x0001c180 move a0, s5 | a0 = s5;
0x0001c184 bal 0x1b57c | sym_do_write_internal ();
0x0001c188 lw gp, 0x20(sp) | gp = *(var_20h);
| if (v0 != 0) {
0x0001c18c bnez v0, 0x1cb58 | goto label_39;
| }
| label_9:
0x0001c190 addiu s7, sp, 0x78 | s7 = sp + 0x78;
| label_0:
0x0001c194 lw t9, -0x7ac0(gp) | t9 = sym.imp.ext2fs_namei;
0x0001c198 lw a2, 0x1d4(sp) | a2 = *(arg_1d4h);
0x0001c19c lw a1, 0x1dc(sp) | a1 = *(arg_1dch);
0x0001c1a0 sw s7, 0x10(sp) | *(var_80h) = s7;
0x0001c1a4 move a3, s1 | a3 = s1;
0x0001c1a8 move a0, s5 | a0 = s5;
0x0001c1ac jalr t9 | t9 ();
0x0001c1b0 lw gp, 0x20(sp) | gp = *(var_20h);
| if (v0 != 0) {
0x0001c1b4 bnez v0, 0x1cb70 | goto label_40;
| }
0x0001c1b8 lw fp, 0x78(sp) | fp = *(var_78h);
0x0001c1bc lw t9, -0x7a08(gp) | t9 = sym.imp.ext2fs_read_inode;
0x0001c1c0 addiu s7, sp, 0x80 | s7 = sp + 0x80;
0x0001c1c4 move a2, s7 | a2 = s7;
0x0001c1c8 move a1, fp | a1 = fp;
0x0001c1cc move a0, s5 | a0 = s5;
0x0001c1d0 jalr t9 | t9 ();
0x0001c1d4 lw gp, 0x20(sp) | gp = *(var_20h);
| if (v0 != 0) {
0x0001c1d8 bnez v0, 0x1c818 | goto label_41;
| }
0x0001c1dc lw a1, 0x120(sp) | a1 = *(var_120h);
0x0001c1e0 lw v0, 0x118(sp) | v0 = *(var_118h);
0x0001c1e4 sh a1, 0x82(sp) | *(var_82h) = a1;
0x0001c1e8 lw a1, 0x124(sp) | a1 = *(var_124h);
0x0001c1ec andi a0, v0, 0xf000 | a0 = v0 & 0xf000;
0x0001c1f0 addiu v1, zero, 0x4000 | v1 = 0x4000;
0x0001c1f4 sh a1, 0x98(sp) | *(var_98h) = a1;
0x0001c1f8 andi v0, v0, 0xffff | v0 &= 0xffff;
| if (a0 == v1) {
0x0001c1fc beq a0, v1, 0x1c528 | goto label_42;
| }
0x0001c200 lhu v1, 0x80(sp) | v1 = *(var_80h_2);
0x0001c204 or v0, v0, v1 | v0 |= v1;
| label_3:
0x0001c208 sh v0, 0x80(sp) | *(var_80h_2) = v0;
0x0001c20c lw v0, 0x140(sp) | v0 = *(var_140h);
0x0001c210 lw t9, -0x7cc0(gp) | t9 = sym.imp.ext2fs_write_inode;
0x0001c214 sw v0, 0x88(sp) | *(var_88h) = v0;
0x0001c218 lw v0, 0x148(sp) | v0 = *(var_148h);
0x0001c21c move a2, s7 | a2 = s7;
0x0001c220 sw v0, 0x90(sp) | *(var_90h) = v0;
0x0001c224 lw v0, 0x150(sp) | v0 = *(var_150h);
0x0001c228 move a1, fp | a1 = fp;
0x0001c22c move a0, s5 | a0 = s5;
0x0001c230 sw v0, 0x8c(sp) | *(var_8ch) = v0;
0x0001c234 jalr t9 | t9 ();
0x0001c238 lw gp, 0x20(sp) | gp = *(var_20h);
| if (v0 != 0) {
0x0001c23c bnez v0, 0x1c530 | goto label_43;
| }
0x0001c240 lw v0, -0x7f00(gp) | v0 = *(gp);
0x0001c244 lw s7, (v0) | s7 = *(v0);
0x0001c248 lw v0, 0x2c(sp) | v0 = *(var_2ch);
| if (s7 == 0) {
0x0001c24c bnez s7, 0x1c288 |
0x0001c250 lw v0, 0x78(sp) | v0 = *(var_78h);
0x0001c254 lw t9, -0x7a9c(gp) | t9 = sym.imp.llistxattr;
0x0001c258 move a2, zero | a2 = 0;
0x0001c25c move a1, zero | a1 = 0;
0x0001c260 move a0, s1 | a0 = s1;
0x0001c264 sw v0, 0x48(sp) | *(var_48h) = v0;
0x0001c268 jalr t9 | t9 ();
0x0001c26c addiu v1, zero, -1 | v1 = -1;
0x0001c270 lw gp, 0x20(sp) | gp = *(var_20h);
0x0001c274 move fp, v0 | fp = v0;
| if (v0 == v1) {
0x0001c278 beq v0, v1, 0x1ca78 | goto label_44;
| }
0x0001c27c lw t9, -0x7aa8(gp) | t9 = sym.imp.ext2fs_xattrs_open;
| if (v0 != 0) {
0x0001c280 bnez v0, 0x1c6b4 | goto label_45;
| }
| label_18:
0x0001c284 lw v0, 0x2c(sp) | v0 = *(var_2ch);
| }
| label_7:
0x0001c288 lw v0, 0x2c(sp) | v0 = *(var_2ch);
| if (v0 != 0) {
0x0001c28c beqz v0, 0x1c2c8 |
0x0001c290 lw t9, 4(v0) | t9 = *((v0 + 1));
0x0001c294 lw v0, 0x118(sp) | v0 = *(var_118h);
| if (t9 == 0) {
0x0001c298 beqz t9, 0x1c2c8 | goto label_46;
| }
0x0001c29c lw a1, (s3) | a1 = *(s3);
0x0001c2a0 andi v0, v0, 0xf000 | v0 &= 0xf000;
0x0001c2a4 sw v0, 0x14(sp) | *(var_14h) = v0;
0x0001c2a8 lw v0, 0x1dc(sp) | v0 = *(arg_1dch);
0x0001c2ac lw a3, 0x1d4(sp) | a3 = *(arg_1d4h);
0x0001c2b0 sw v0, 0x10(sp) | *(var_80h) = v0;
0x0001c2b4 move a2, s1 | a2 = s1;
0x0001c2b8 move a0, s5 | a0 = s5;
0x0001c2bc jalr t9 | t9 ();
0x0001c2c0 lw gp, 0x20(sp) | gp = *(var_20h);
| if (v0 != 0) {
0x0001c2c4 bnez v0, 0x1cb14 | goto label_34;
| }
| }
| label_46:
0x0001c2c8 lw v0, 0x38(sp) | v0 = *(var_38h);
| if (v0 != 0) {
0x0001c2cc beql v0, zero, 0x1c32c |
0x0001c2d0 lw v0, (s3) | v0 = *(s3);
0x0001c2d4 lw v0, 0x3c(sp) | v0 = *(var_3ch);
0x0001c2d8 lw v1, (v0) | v1 = *(v0);
0x0001c2dc lw a0, 4(v0) | a0 = *((v0 + 1));
0x0001c2e0 lw v0, 8(v0) | v0 = *((v0 + 2));
| if (v1 == a0) {
0x0001c2e4 beq v1, a0, 0x1c87c | goto label_47;
| }
| label_13:
0x0001c2e8 sll a0, v1, 1 | a0 = v1 << 1;
0x0001c2ec addu a0, a0, v1 | a0 += v1;
0x0001c2f0 sll a0, a0, 3 | a0 <<= 3;
0x0001c2f4 addu v0, v0, a0 | v0 += a0;
0x0001c2f8 lw a1, 0x114(sp) | a1 = *(var_114h);
0x0001c2fc lw a0, 0x110(sp) | a0 = *(var_110h);
0x0001c300 lw a2, 0x78(sp) | a2 = *(var_78h);
0x0001c304 lw a3, 0x100(sp) | a3 = *(var_100h);
0x0001c308 sw zero, 4(v0) | *((v0 + 1)) = 0;
0x0001c30c sw a3, (v0) | *(v0) = a3;
0x0001c310 sw a0, 8(v0) | *((v0 + 2)) = a0;
0x0001c314 sw a1, 0xc(v0) | *((v0 + 3)) = a1;
0x0001c318 sw a2, 0x10(v0) | *((v0 + 4)) = a2;
0x0001c31c lw v0, 0x3c(sp) | v0 = *(var_3ch);
0x0001c320 addiu v1, v1, 1 | v1++;
0x0001c324 sw v1, (v0) | *(v0) = v1;
0x0001c328 lw v0, (s3) | v0 = *(s3);
| }
0x0001c32c sw s4, 4(s3) | *((s3 + 1)) = s4;
0x0001c330 addu s4, v0, s4 | s4 = v0 + s4;
0x0001c334 sb zero, (s4) | *(s4) = 0;
| label_6:
0x0001c338 lw s4, 0x74(sp) | s4 = *(var_74h);
0x0001c33c lwx s4, s2(s4) | __asm ("lwx s4, s2(s4)");
| }
| label_28:
0x0001c340 lw t9, -0x7a8c(gp) | t9 = sym.imp.free;
0x0001c344 move a0, s4 | a0 = s4;
0x0001c348 addiu s0, s0, 1 | s0++;
0x0001c34c jalr t9 | t9 ();
0x0001c350 lw gp, 0x20(sp) | gp = *(var_20h);
0x0001c354 bne s6, s0, 0x1bfe4 |
| } while (s6 != s0);
| label_27:
0x0001c358 move fp, zero | fp = 0;
0x0001c35c lw t9, -0x7a8c(gp) | t9 = sym.imp.free;
| label_1:
0x0001c360 lw a0, 0x74(sp) | a0 = *(var_74h);
0x0001c364 jalr t9 | t9 ();
0x0001c368 lw gp, 0x20(sp) | gp = *(var_20h);
| label_12:
0x0001c36c lw v0, 0x44(sp) | v0 = *(var_44h);
0x0001c370 lw a1, 0x1a4(sp) | a1 = *(var_1a4h);
0x0001c374 lw a0, (v0) | a0 = *(v0);
0x0001c378 move v0, fp | v0 = fp;
| if (a1 != a0) {
0x0001c37c bne a1, a0, 0x1cf78 | goto label_48;
| }
0x0001c380 lw ra, 0x1cc(sp) | ra = *(var_1cch);
0x0001c384 lw fp, 0x1c8(sp) | fp = *(var_1c8h);
0x0001c388 lw s7, 0x1c4(sp) | s7 = *(var_1c4h);
0x0001c38c lw s6, 0x1c0(sp) | s6 = *(var_1c0h);
0x0001c390 lw s5, 0x1bc(sp) | s5 = *(var_1bch);
0x0001c394 lw s4, 0x1b8(sp) | s4 = *(var_1b8h);
0x0001c398 lw s3, 0x1b4(sp) | s3 = *(var_1b4h);
0x0001c39c lw s2, 0x1b0(sp) | s2 = *(var_1b0h);
0x0001c3a0 lw s1, 0x1ac(sp) | s1 = *(var_1ach);
0x0001c3a4 lw s0, 0x1a8(sp) | s0 = *(var_1a8h);
0x0001c3a8 addiu sp, sp, 0x1d0 |
0x0001c3ac jr ra | return v0;
| label_36:
0x0001c3b0 addiu v1, zero, 0x2000 | v1 = 0x2000;
0x0001c3b4 addiu v1, zero, 0x4000 | v1 = 0x4000;
| if (v0 == v1) {
0x0001c3b8 beq v0, v1, 0x1c7dc | goto label_35;
| }
0x0001c3bc lw v1, 0x1d4(sp) | v1 = *(arg_1d4h);
| if (v0 != v1) {
0x0001c3c0 bne v0, v1, 0x1c4e8 | goto label_49;
| }
0x0001c3c4 addiu v0, zero, 2 | v0 = 2;
0x0001c3c8 lw a1, -0x7fdc(gp) | a1 = *(gp);
| if (v1 == v0) {
0x0001c3cc bne v1, v0, 0x1c3e8 |
0x0001c3d0 lw t9, -0x7a28(gp) | t9 = sym.imp.strcmp;
| /* str.lostfound */
0x0001c3d4 addiu a1, a1, 0x28a0 | a1 += 0x28a0;
0x0001c3d8 move a0, s1 | a0 = s1;
0x0001c3dc jalr t9 | t9 ();
0x0001c3e0 lw gp, 0x20(sp) | gp = *(var_20h);
| if (v0 == 0) {
0x0001c3e4 beqz v0, 0x1c408 | goto label_50;
| }
| }
0x0001c3e8 lw t9, -0x7f54(gp) | t9 = sym.do_mkdir_internal;
0x0001c3ec lw a3, 0x1dc(sp) | a3 = *(arg_1dch);
0x0001c3f0 lw a1, 0x1d4(sp) | a1 = *(arg_1d4h);
0x0001c3f4 move a2, s1 | a2 = s1;
0x0001c3f8 move a0, s5 | a0 = s5;
0x0001c3fc bal 0x1b3b0 | sym_do_mkdir_internal ();
0x0001c400 lw gp, 0x20(sp) | gp = *(var_20h);
| if (v0 != 0) {
0x0001c404 bnez v0, 0x1cee0 | goto label_51;
| }
| label_50:
0x0001c408 lw t9, -0x7ac0(gp) | t9 = sym.imp.ext2fs_namei;
0x0001c40c addiu s7, sp, 0x78 | s7 = sp + 0x78;
0x0001c410 lw a2, 0x1d4(sp) | a2 = *(arg_1d4h);
0x0001c414 lw a1, 0x1dc(sp) | a1 = *(arg_1dch);
0x0001c418 sw s7, 0x10(sp) | *(var_80h) = s7;
0x0001c41c move a3, s1 | a3 = s1;
0x0001c420 move a0, s5 | a0 = s5;
0x0001c424 jalr t9 | t9 ();
0x0001c428 lw gp, 0x20(sp) | gp = *(var_20h);
| if (v0 != 0) {
0x0001c42c bnez v0, 0x1ceb8 | goto label_52;
| }
0x0001c430 lw v0, 0x2c(sp) | v0 = *(var_2ch);
0x0001c434 lw a1, 0x78(sp) | a1 = *(var_78h);
0x0001c438 sw v0, 0x18(sp) | *(var_18h) = v0;
0x0001c43c lw v0, 0x3c(sp) | v0 = *(var_3ch);
0x0001c440 lw a3, 0x1dc(sp) | a3 = *(arg_1dch);
0x0001c444 lw t9, 0x4c(sp) | t9 = *(var_4ch_2);
0x0001c448 sw s3, 0x14(sp) | *(var_14h) = s3;
0x0001c44c sw v0, 0x10(sp) | *(var_80h) = v0;
0x0001c450 move a2, s1 | a2 = s1;
0x0001c454 move a0, s5 | a0 = s5;
0x0001c458 jalr t9 | t9 ();
0x0001c45c lw gp, 0x20(sp) | gp = *(var_20h);
| if (v0 != 0) {
0x0001c460 bnez v0, 0x1cb14 | goto label_34;
| }
0x0001c464 lw t9, -0x7af0(gp) | t9 = sym.imp.chdir;
0x0001c468 lw a0, 0x34(sp) | a0 = *(var_34h);
0x0001c46c jalr t9 | t9 ();
0x0001c470 lw gp, 0x20(sp) | gp = *(var_20h);
| if (v0 == 0) {
0x0001c474 beqz v0, 0x1c194 | goto label_0;
| }
0x0001c478 lw t9, -0x7c74(gp) | t9 = sym.imp.__errno_location;
0x0001c47c jalr t9 | t9 ();
0x0001c480 nop |
0x0001c484 lw gp, 0x20(sp) | gp = *(var_20h);
0x0001c488 lw fp, (v0) | fp = *(v0);
0x0001c48c lw a2, -0x7fdc(gp) | a2 = *(gp);
0x0001c490 lw a0, -0x7fdc(gp) | a0 = *(gp);
0x0001c494 lw t9, -0x7b4c(gp) | t9 = sym.imp.com_err;
| /* str.while_changing_directory */
0x0001c498 addiu a2, a2, 0x28c4 | a2 += 0x28c4;
0x0001c49c move a1, fp | a1 = fp;
| /* str.__populate_fs */
0x0001c4a0 addiu a0, a0, 0x2a5c | a0 += 0x2a5c;
0x0001c4a4 jalr t9 | t9 ();
0x0001c4a8 lw gp, 0x20(sp) | gp = *(var_20h);
| label_4:
0x0001c4ac slt v0, s0, s6 | v0 = (s0 < s6) ? 1 : 0;
0x0001c4b0 move a0, s2 | a0 = s2;
| if (v0 != 0) {
0x0001c4b4 bnez v0, 0x1c4c4 | goto label_53;
| }
0x0001c4b8 lw t9, -0x7a8c(gp) | t9 = sym.imp.free;
0x0001c4bc b 0x1c360 | goto label_1;
| do {
0x0001c4c0 sll a0, s0, 2 | a0 = s0 << 2;
| label_53:
0x0001c4c4 lw v0, 0x74(sp) | v0 = *(var_74h);
0x0001c4c8 lw t9, -0x7a8c(gp) | t9 = sym.imp.free;
0x0001c4cc addiu s0, s0, 1 | s0++;
0x0001c4d0 lwx a0, a0(v0) | __asm ("lwx a0, a0(v0)");
0x0001c4d4 jalr t9 | t9 ();
0x0001c4d8 lw gp, 0x20(sp) | gp = *(var_20h);
0x0001c4dc bne s6, s0, 0x1c4c0 |
| } while (s6 != s0);
0x0001c4e0 lw t9, -0x7a8c(gp) | t9 = sym.imp.free;
0x0001c4e4 b 0x1c360 | goto label_1;
| label_49:
0x0001c4e8 addiu v1, zero, 0x1000 | v1 = 0x1000;
0x0001c4ec lw v0, 0x128(sp) | v0 = *(var_128h);
| if (v0 == v1) {
0x0001c4f0 beq v0, v1, 0x1c7e0 | goto label_54;
| }
| label_38:
0x0001c4f4 lw a2, -0x7fdc(gp) | a2 = *(gp);
0x0001c4f8 lw a0, -0x7fdc(gp) | a0 = *(gp);
0x0001c4fc lw t9, -0x7b4c(gp) | t9 = sym.imp.com_err;
0x0001c500 move a3, s1 | a3 = s1;
| /* str.ignoring_entry___s_ */
0x0001c504 addiu a2, a2, 0x28e0 | a2 += 0x28e0;
0x0001c508 move a1, zero | a1 = 0;
| /* str.__populate_fs */
0x0001c50c addiu a0, a0, 0x2a5c | a0 += 0x2a5c;
0x0001c510 jalr t9 | t9 ();
0x0001c514 addiu s7, sp, 0x78 | s7 = sp + 0x78;
0x0001c518 lw gp, 0x20(sp) | gp = *(var_20h);
0x0001c51c b 0x1c194 | goto label_0;
| label_31:
0x0001c520 move a0, s4 | a0 = s4;
0x0001c524 b 0x1c0c4 | goto label_2;
| label_42:
0x0001c528 ori v0, v0, 0x4000 | v0 |= 0x4000;
0x0001c52c b 0x1c208 | goto label_3;
| label_43:
0x0001c530 lw a2, -0x7fdc(gp) | a2 = *(gp);
0x0001c534 move s7, fp | s7 = fp;
0x0001c538 lw t9, -0x7b4c(gp) | t9 = sym.imp.com_err;
0x0001c53c move fp, v0 | fp = v0;
0x0001c540 move a3, s7 | a3 = s7;
| /* str.while_writing_inode__u */
0x0001c544 addiu a2, a2, -0x3f0 | a2 += -0x3f0;
| label_10:
0x0001c548 lw a0, -0x7fdc(gp) | a0 = *(gp);
0x0001c54c move a1, fp | a1 = fp;
| /* str.set_inode_extra */
0x0001c550 addiu a0, a0, 0x2a40 | a0 += 0x2a40;
0x0001c554 jalr t9 | t9 ();
0x0001c558 lw gp, 0x20(sp) | gp = *(var_20h);
0x0001c55c move a3, s1 | a3 = s1;
0x0001c560 lw a2, -0x7fdc(gp) | a2 = *(gp);
0x0001c564 lw t9, -0x7b4c(gp) | t9 = sym.imp.com_err;
| /* str.while_setting_inode_for___s_ */
0x0001c568 addiu a2, a2, 0x29e8 | a2 += 0x29e8;
| label_8:
0x0001c56c lw a0, -0x7fdc(gp) | a0 = *(gp);
0x0001c570 move a1, fp | a1 = fp;
| /* str.__populate_fs */
0x0001c574 addiu a0, a0, 0x2a5c | a0 += 0x2a5c;
0x0001c578 jalr t9 | t9 ();
0x0001c57c lw gp, 0x20(sp) | gp = *(var_20h);
0x0001c580 b 0x1c4ac | goto label_4;
| label_30:
0x0001c584 lw a2, 0x100(sp) | a2 = *(var_100h);
0x0001c588 lw a3, 0x110(sp) | a3 = *(var_110h);
0x0001c58c lw a1, (v0) | a1 = *(v0);
0x0001c590 lw t0, 0x114(sp) | t0 = *(var_114h);
| if (a1 <= 0) {
0x0001c594 blez a1, 0x1c834 | goto label_55;
| }
0x0001c598 lw v0, 8(v0) | v0 = *((v0 + 2));
0x0001c59c move v1, zero | v1 = 0;
0x0001c5a0 b 0x1c5ac |
| while (a0 == a2) {
| label_5:
0x0001c5a4 addiu v0, v0, 0x18 | v0 += 0x18;
| if (a1 == v1) {
0x0001c5a8 beq a1, v1, 0x1c834 | goto label_55;
| }
0x0001c5ac lw a0, (v0) | a0 = *(v0);
0x0001c5b0 addiu v1, v1, 1 | v1++;
0x0001c5b4 bnel a0, a2, 0x1c5a4 |
| }
0x0001c5b8 lw a0, 4(v0) | a0 = *((v0 + 1));
0x0001c5bc addiu v1, v1, 1 | v1++;
| if (a0 != 0) {
0x0001c5c0 bnez a0, 0x1c5a4 | goto label_5;
| }
0x0001c5c4 lw a0, 8(v0) | a0 = *((v0 + 2));
| if (a0 != a3) {
0x0001c5c8 bne a0, a3, 0x1c5a4 | goto label_5;
| }
0x0001c5cc nop |
0x0001c5d0 lw a0, 0xc(v0) | a0 = *((v0 + 3));
0x0001c5d4 lw t9, -0x7a08(gp) | t9 = sym.imp.ext2fs_read_inode;
| if (a0 != t0) {
0x0001c5d8 bne a0, t0, 0x1c5a4 | goto label_5;
| }
0x0001c5dc lw s4, 0x10(v0) | s4 = *((v0 + 4));
0x0001c5e0 addiu s7, sp, 0x80 | s7 = sp + 0x80;
0x0001c5e4 move a2, s7 | a2 = s7;
0x0001c5e8 move a1, s4 | a1 = s4;
0x0001c5ec move a0, s5 | a0 = s5;
0x0001c5f0 jalr t9 | t9 ();
0x0001c5f4 lw gp, 0x20(sp) | gp = *(var_20h);
| if (v0 != 0) {
0x0001c5f8 bnez v0, 0x1cb98 | goto label_56;
| }
0x0001c5fc lhu v0, 0x80(sp) | v0 = *(var_80h_2);
0x0001c600 ori v1, zero, 0x8000 | v1 = 0x8000;
0x0001c604 andi v0, v0, 0xf000 | v0 &= 0xf000;
0x0001c608 addiu v1, zero, 0x4000 | v1 = 0x4000;
| if (v0 == v1) {
0x0001c60c beq v0, v1, 0x1cbb0 | goto label_57;
| }
0x0001c610 addiu v1, zero, 0x2000 | v1 = 0x2000;
| if (v0 == v1) {
0x0001c614 beq v0, v1, 0x1cda8 | goto label_58;
| }
0x0001c618 addiu v1, zero, 0x6000 | v1 = 0x6000;
| if (v0 == v1) {
0x0001c61c beq v0, v1, 0x1cdb0 | goto label_59;
| }
0x0001c620 ori v1, zero, 0xa000 | v1 = 0xa000;
| if (v0 == v1) {
0x0001c624 beq v0, v1, 0x1cdb8 | goto label_60;
| }
0x0001c628 addiu v1, zero, 0x1000 | v1 = 0x1000;
| if (v0 == v1) {
0x0001c62c beq v0, v1, 0x1cdf8 | goto label_61;
| }
0x0001c630 addiu v1, zero, 6 | v1 = 6;
| if (v0 == v1) {
0x0001c634 beq v0, v1, 0x1ced8 | goto label_62;
| }
0x0001c638 xori v0, v0, 0xc000 | v0 ^= 0xc000;
| if (v0 == 0) {
0x0001c63c movn v1, zero, v0 | v1 = 0;
| }
0x0001c640 move v0, v1 | v0 = v1;
| label_16:
0x0001c644 lw t9, -0x7d78(gp) | t9 = sym.imp.ext2fs_link;
0x0001c648 lw a1, 0x1d4(sp) | a1 = *(arg_1d4h);
0x0001c64c sw v0, 0x10(sp) | *(var_80h) = v0;
0x0001c650 move a3, s4 | a3 = s4;
0x0001c654 move a2, s1 | a2 = s1;
0x0001c658 move a0, s5 | a0 = s5;
0x0001c65c jalr t9 | t9 ();
0x0001c660 lui v1, 0x7f2b | v1 = 0x7f2bb726;
0x0001c664 ori v1, v1, 0xb726 |
0x0001c668 lw gp, 0x20(sp) | gp = *(var_20h);
| if (v0 == v1) {
0x0001c66c beq v0, v1, 0x1cbb8 | goto label_63;
| }
| label_17:
0x0001c670 move a1, s4 | a1 = s4;
| if (v0 != 0) {
0x0001c674 bnez v0, 0x1cb1c | goto label_64;
| }
0x0001c678 lhu v0, 0x9a(sp) | v0 = *(var_9ah);
0x0001c67c lw t9, -0x7cc0(gp) | t9 = sym.imp.ext2fs_write_inode;
0x0001c680 addiu v0, v0, 1 | v0++;
0x0001c684 move a2, s7 | a2 = s7;
0x0001c688 move a0, s5 | a0 = s5;
0x0001c68c sh v0, 0x9a(sp) | *(var_9ah) = v0;
0x0001c690 jalr t9 | t9 ();
0x0001c694 lw gp, 0x20(sp) | gp = *(var_20h);
| if (v0 == 0) {
0x0001c698 beqz v0, 0x1c338 | goto label_6;
| }
0x0001c69c lw a2, -0x7fdc(gp) | a2 = *(gp);
0x0001c6a0 move fp, v0 | fp = v0;
0x0001c6a4 lw t9, -0x7b4c(gp) | t9 = sym.imp.com_err;
0x0001c6a8 move a3, s4 | a3 = s4;
| /* str.while_writing_inode__u */
0x0001c6ac addiu a2, a2, -0x3f0 | a2 += -0x3f0;
0x0001c6b0 b 0x1cb30 | goto label_65;
| label_45:
0x0001c6b4 addiu v0, sp, 0x7c | v0 = sp + 0x7c;
0x0001c6b8 lw a1, 0x48(sp) | a1 = *(var_48h);
0x0001c6bc sw v0, 0x58(sp) | *(var_58h_2) = v0;
0x0001c6c0 move a2, v0 | a2 = v0;
0x0001c6c4 move a0, s5 | a0 = s5;
0x0001c6c8 jalr t9 | t9 ();
0x0001c6cc lw gp, 0x20(sp) | gp = *(var_20h);
| if (v0 == 0) {
0x0001c6d0 beqz v0, 0x1c8bc | goto label_66;
| }
0x0001c6d4 lui v1, 0x7f2b | v1 = 0x7f2bb7a4;
0x0001c6d8 ori v1, v1, 0xb7a4 |
| if (v0 == v1) {
0x0001c6dc beql v0, v1, 0x1c288 | goto label_7;
| }
0x0001c6e0 lw v0, 0x2c(sp) | v0 = *(var_2ch);
0x0001c6e4 lw a2, -0x7fdc(gp) | a2 = *(gp);
0x0001c6e8 lw a0, -0x7fdc(gp) | a0 = *(gp);
0x0001c6ec lw t9, -0x7b4c(gp) | t9 = sym.imp.com_err;
0x0001c6f0 lw a3, 0x48(sp) | a3 = *(var_48h);
| /* str.while_opening_inode__u */
0x0001c6f4 addiu a2, a2, 0x2918 | a2 += 0x2918;
0x0001c6f8 move a1, v0 | a1 = v0;
| /* str.set_inode_xattr */
0x0001c6fc addiu a0, a0, 0x2a30 | a0 += 0x2a30;
0x0001c700 move fp, v0 | fp = v0;
0x0001c704 jalr t9 | t9 ();
0x0001c708 lw gp, 0x20(sp) | gp = *(var_20h);
| label_14:
0x0001c70c lw a2, -0x7fdc(gp) | a2 = *(gp);
0x0001c710 lw t9, -0x7b4c(gp) | t9 = sym.imp.com_err;
0x0001c714 move a3, s1 | a3 = s1;
| /* str.while_setting_xattrs_for___s_ */
0x0001c718 addiu a2, a2, 0x299c | a2 += 0x299c;
0x0001c71c b 0x1c56c | goto label_8;
| label_37:
0x0001c720 lw fp, 0x138(sp) | fp = *(var_138h);
0x0001c724 lw t9, -0x7bd4(gp) | t9 = sym.imp.malloc;
0x0001c728 addiu fp, fp, 1 | fp++;
0x0001c72c move a0, fp | a0 = fp;
0x0001c730 jalr t9 | t9 ();
0x0001c734 move s7, v0 | s7 = v0;
0x0001c738 lw gp, 0x20(sp) | gp = *(var_20h);
| if (v0 == 0) {
0x0001c73c beqz v0, 0x1ce00 | goto label_67;
| }
0x0001c740 lw t9, -0x7b48(gp) | t9 = sym.imp.readlink;
0x0001c744 move a2, fp | a2 = fp;
0x0001c748 move a1, v0 | a1 = v0;
0x0001c74c move a0, s1 | a0 = s1;
0x0001c750 jalr t9 | t9 ();
0x0001c754 addiu v1, zero, -1 | v1 = -1;
0x0001c758 lw gp, 0x20(sp) | gp = *(var_20h);
| if (v0 == v1) {
0x0001c75c beq v0, v1, 0x1ce6c | goto label_68;
| }
0x0001c760 lw a0, 0x13c(sp) | a0 = *(var_13ch);
0x0001c764 sra v1, v0, 0x1f | v1 = v0 >> 0x1f;
0x0001c768 slt a1, a0, v1 | a1 = (a0 < v1) ? 1 : 0;
0x0001c76c lw a2, -0x7fdc(gp) | a2 = *(gp);
| if (a1 != 0) {
0x0001c770 bnez a1, 0x1ce38 | goto label_69;
| }
0x0001c774 lw v1, 0x138(sp) | v1 = *(var_138h);
| if (a0 == v1) {
0x0001c778 beq a0, v1, 0x1ce28 | goto label_70;
| }
0x0001c77c lw v1, 0x1dc(sp) | v1 = *(arg_1dch);
| label_22:
0x0001c780 addu v0, s7, v0 | v0 = s7 + v0;
0x0001c784 lw t9, -0x7f44(gp) | t9 = sym.do_symlink_internal;
0x0001c788 lw a1, 0x1d4(sp) | a1 = *(arg_1d4h);
0x0001c78c sw v1, 0x10(sp) | *(var_80h) = v1;
0x0001c790 move a3, s7 | a3 = s7;
0x0001c794 move a2, s1 | a2 = s1;
0x0001c798 move a0, s5 | a0 = s5;
0x0001c79c sb zero, (v0) | *(v0) = 0;
0x0001c7a0 bal 0x1b1e4 | sym_do_symlink_internal ();
0x0001c7a4 lw gp, 0x20(sp) | gp = *(var_20h);
0x0001c7a8 sw v0, 0x48(sp) | *(var_48h) = v0;
0x0001c7ac lw t9, -0x7a8c(gp) | t9 = sym.imp.free;
0x0001c7b0 move a0, s7 | a0 = s7;
0x0001c7b4 jalr t9 | t9 ();
0x0001c7b8 lw v0, 0x48(sp) | v0 = *(var_48h);
0x0001c7bc lw gp, 0x20(sp) | gp = *(var_20h);
| if (v0 == 0) {
0x0001c7c0 beqz v0, 0x1c190 | goto label_9;
| }
0x0001c7c4 lw a2, -0x7fdc(gp) | a2 = *(gp);
0x0001c7c8 move fp, v0 | fp = v0;
0x0001c7cc lw t9, -0x7b4c(gp) | t9 = sym.imp.com_err;
0x0001c7d0 move a3, s1 | a3 = s1;
| /* str.while_writing_symlink__s_ */
0x0001c7d4 addiu a2, a2, 0x286c | a2 += 0x286c;
0x0001c7d8 b 0x1c56c | goto label_8;
| label_35:
0x0001c7dc lw v0, 0x128(sp) | v0 = *(var_128h);
| label_54:
0x0001c7e0 lw t9, -0x7f58(gp) | t9 = sym.do_mknod_internal;
0x0001c7e4 lw a1, 0x1d4(sp) | a1 = *(arg_1d4h);
0x0001c7e8 sw v0, 0x10(sp) | *(var_80h) = v0;
0x0001c7ec move a2, s1 | a2 = s1;
0x0001c7f0 move a0, s5 | a0 = s5;
0x0001c7f4 bal 0x1ae84 | sym_do_mknod_internal ();
0x0001c7f8 lw gp, 0x20(sp) | gp = *(var_20h);
| if (v0 == 0) {
0x0001c7fc beqz v0, 0x1c190 | goto label_9;
| }
0x0001c800 lw a2, -0x7fdc(gp) | a2 = *(gp);
0x0001c804 move fp, v0 | fp = v0;
0x0001c808 lw t9, -0x7b4c(gp) | t9 = sym.imp.com_err;
0x0001c80c move a3, s1 | a3 = s1;
| /* str.while_creating_special_file___s_ */
0x0001c810 addiu a2, a2, 0x27dc | a2 += 0x27dc;
0x0001c814 b 0x1c56c | goto label_8;
| label_41:
0x0001c818 lw a2, -0x7fdc(gp) | a2 = *(gp);
0x0001c81c move s7, fp | s7 = fp;
0x0001c820 lw t9, -0x7b4c(gp) | t9 = sym.imp.com_err;
0x0001c824 move fp, v0 | fp = v0;
0x0001c828 move a3, s7 | a3 = s7;
| /* str.while_reading_inode__u */
0x0001c82c addiu a2, a2, -0xa9c | a2 += -0xa9c;
0x0001c830 b 0x1c548 | goto label_10;
| label_55:
0x0001c834 addiu v0, zero, 1 | v0 = 1;
0x0001c838 sw v0, 0x38(sp) | *(var_38h) = v0;
0x0001c83c b 0x1c074 | goto label_11;
| label_25:
0x0001c840 lw t9, -0x7c74(gp) | t9 = sym.imp.__errno_location;
0x0001c844 jalr t9 | t9 ();
0x0001c848 nop |
0x0001c84c lw gp, 0x20(sp) | gp = *(var_20h);
0x0001c850 lw fp, (v0) | fp = *(v0);
0x0001c854 move a3, s0 | a3 = s0;
0x0001c858 lw a2, -0x7fdc(gp) | a2 = *(gp);
0x0001c85c lw t9, -0x7b4c(gp) | t9 = sym.imp.com_err;
| /* str.while_changing_working_directory_to___s_ */
0x0001c860 addiu a2, a2, 0x2750 | a2 += 0x2750;
| label_15:
0x0001c864 lw a0, -0x7fdc(gp) | a0 = *(gp);
0x0001c868 move a1, fp | a1 = fp;
| /* str.__populate_fs */
0x0001c86c addiu a0, a0, 0x2a5c | a0 += 0x2a5c;
0x0001c870 jalr t9 | t9 ();
0x0001c874 lw gp, 0x20(sp) | gp = *(var_20h);
0x0001c878 b 0x1c36c | goto label_12;
| label_47:
0x0001c87c addiu v1, v1, 4 | v1 += 4;
0x0001c880 sll a1, v1, 1 | a1 = v1 << 1;
0x0001c884 lw t9, -0x7bc8(gp) | t9 = sym.imp.realloc;
0x0001c888 addu a1, a1, v1 | a1 += v1;
0x0001c88c move a0, v0 | a0 = v0;
0x0001c890 sll a1, a1, 3 | a1 <<= 3;
0x0001c894 jalr t9 | t9 ();
0x0001c898 lw gp, 0x20(sp) | gp = *(var_20h);
| if (v0 == 0) {
0x0001c89c beqz v0, 0x1cf28 | goto label_71;
| }
0x0001c8a0 lw a1, 0x3c(sp) | a1 = *(var_3ch);
0x0001c8a4 lw a0, 4(a1) | a0 = *((a1 + 1));
0x0001c8a8 lw v1, (a1) | v1 = *(a1);
0x0001c8ac addiu a0, a0, 4 | a0 += 4;
0x0001c8b0 sw v0, 8(a1) | *((a1 + 2)) = v0;
0x0001c8b4 sw a0, 4(a1) | *((a1 + 1)) = a0;
0x0001c8b8 b 0x1c2e8 | goto label_13;
| label_66:
0x0001c8bc lw t9, -0x7bd4(gp) | t9 = sym.imp.malloc;
0x0001c8c0 move a0, fp | a0 = fp;
0x0001c8c4 jalr t9 | t9 ();
0x0001c8c8 sw v0, 0x5c(sp) | *(var_5ch_2) = v0;
0x0001c8cc lw gp, 0x20(sp) | gp = *(var_20h);
0x0001c8d0 move a1, v0 | a1 = v0;
| if (v0 == 0) {
0x0001c8d4 beqz v0, 0x1c9d8 | goto label_72;
| }
0x0001c8d8 lw t9, -0x7a9c(gp) | t9 = sym.imp.llistxattr;
0x0001c8dc move a2, fp | a2 = fp;
0x0001c8e0 move a0, s1 | a0 = s1;
0x0001c8e4 jalr t9 | t9 ();
0x0001c8e8 addiu v1, zero, -1 | v1 = -1;
0x0001c8ec lw gp, 0x20(sp) | gp = *(var_20h);
| if (v0 == v1) {
0x0001c8f0 beq v0, v1, 0x1cdc0 | goto label_73;
| }
0x0001c8f4 lw t9, -0x7a8c(gp) | t9 = sym.imp.free;
| if (v0 <= 0) {
0x0001c8f8 blez v0, 0x1cc50 | goto label_74;
| }
0x0001c8fc sw s4, 0x64(sp) | *(var_64h_2) = s4;
0x0001c900 sw s3, 0x6c(sp) | *(var_6ch_2) = s3;
0x0001c904 sw s0, 0x60(sp) | *(var_60h_2) = s0;
0x0001c908 move s4, v0 | s4 = v0;
0x0001c90c sw s5, 0x68(sp) | *(var_68h_2) = s5;
0x0001c910 lw s3, 0x5c(sp) | s3 = *(var_5ch_2);
0x0001c914 b 0x1c990 |
| while (v0 != 0) {
0x0001c918 lw t9, -0x7ad0(gp) | t9 = sym.imp.lgetxattr;
0x0001c91c move a3, s5 | a3 = s5;
0x0001c920 move a2, v0 | a2 = v0;
0x0001c924 move a1, fp | a1 = fp;
0x0001c928 move a0, s1 | a0 = s1;
0x0001c92c jalr t9 | t9 ();
0x0001c930 addiu v1, zero, -1 | v1 = -1;
0x0001c934 lw gp, 0x20(sp) | gp = *(var_20h);
| if (v0 == v1) {
0x0001c938 beq v0, v1, 0x1cd44 | goto label_75;
| }
0x0001c93c lw t9, -0x7d58(gp) | t9 = sym.imp.ext2fs_xattr_set;
0x0001c940 lw a0, 0x7c(sp) | a0 = *(var_7ch);
0x0001c944 move a3, v0 | a3 = v0;
0x0001c948 move a2, s0 | a2 = s0;
0x0001c94c move a1, fp | a1 = fp;
0x0001c950 jalr t9 | t9 ();
0x0001c954 lw gp, 0x20(sp) | gp = *(var_20h);
0x0001c958 move s5, v0 | s5 = v0;
0x0001c95c lw t9, -0x7a8c(gp) | t9 = sym.imp.free;
0x0001c960 move a0, s0 | a0 = s0;
0x0001c964 jalr t9 | t9 ();
0x0001c968 lw gp, 0x20(sp) | gp = *(var_20h);
| if (s5 != 0) {
0x0001c96c bnez s5, 0x1cd6c | goto label_76;
| }
0x0001c970 lw t9, -0x7c30(gp) | t9 = sym.imp.strlen;
0x0001c974 move a0, fp | a0 = fp;
0x0001c978 jalr t9 | t9 ();
0x0001c97c addiu s7, s7, 1 | s7++;
0x0001c980 addu s7, s7, v0 | s7 += v0;
0x0001c984 slt v0, s7, s4 | v0 = (s7 < s4) ? 1 : 0;
0x0001c988 lw gp, 0x20(sp) | gp = *(var_20h);
| if (v0 == 0) {
0x0001c98c beqz v0, 0x1cc3c | goto label_77;
| }
0x0001c990 lw t9, -0x7ad0(gp) | t9 = sym.imp.lgetxattr;
0x0001c994 addu fp, s3, s7 | fp = s3 + s7;
0x0001c998 move a3, zero | a3 = 0;
0x0001c99c move a2, zero | a2 = 0;
0x0001c9a0 move a1, fp | a1 = fp;
0x0001c9a4 move a0, s1 | a0 = s1;
0x0001c9a8 jalr t9 | t9 ();
0x0001c9ac move s5, v0 | s5 = v0;
0x0001c9b0 addiu v0, zero, -1 | v0 = -1;
0x0001c9b4 lw gp, 0x20(sp) | gp = *(var_20h);
| if (s5 == v0) {
0x0001c9b8 beq s5, v0, 0x1cc9c | goto label_78;
| }
0x0001c9bc lw t9, -0x7bd4(gp) | t9 = sym.imp.malloc;
0x0001c9c0 move a0, s5 | a0 = s5;
0x0001c9c4 jalr t9 | t9 ();
0x0001c9c8 move s0, v0 | s0 = v0;
0x0001c9cc lw gp, 0x20(sp) | gp = *(var_20h);
0x0001c9d0 bnez v0, 0x1c918 |
| }
0x0001c9d4 lw s0, 0x60(sp) | s0 = *(var_60h_2);
| label_72:
0x0001c9d8 lw s3, -0x7fdc(gp) | s3 = *(gp);
0x0001c9dc lw a2, -0x7fdc(gp) | a2 = *(gp);
0x0001c9e0 lw t9, -0x7b4c(gp) | t9 = sym.imp.com_err;
0x0001c9e4 lui fp, 0x7f2b | fp = 0x7f2b0000;
0x0001c9e8 ori a1, fp, 0xb746 | a1 = 0x7f2bb746;
| /* str.while_allocating_memory */
0x0001c9ec addiu a2, a2, -0xab4 | a2 += -0xab4;
| /* str.set_inode_xattr */
0x0001c9f0 addiu a0, s3, 0x2a30 | a0 = s3 + 0x2a30;
0x0001c9f4 jalr t9 | t9 ();
0x0001c9f8 lw gp, 0x20(sp) | gp = *(var_20h);
0x0001c9fc ori fp, fp, 0xb746 | fp |= 0xb746;
| label_20:
0x0001ca00 lw t9, -0x7a8c(gp) | t9 = sym.imp.free;
0x0001ca04 lw a0, 0x5c(sp) | a0 = *(var_5ch_2);
0x0001ca08 jalr t9 | t9 ();
0x0001ca0c lw gp, 0x20(sp) | gp = *(var_20h);
0x0001ca10 lw t9, -0x7dc4(gp) | t9 = sym.imp.ext2fs_xattrs_close;
0x0001ca14 lw a0, 0x58(sp) | a0 = *(var_58h_2);
0x0001ca18 jalr t9 | t9 ();
0x0001ca1c lw gp, 0x20(sp) | gp = *(var_20h);
| if (v0 == 0) {
0x0001ca20 beqz v0, 0x1c70c | goto label_14;
| }
0x0001ca24 lw a2, -0x7fdc(gp) | a2 = *(gp);
0x0001ca28 lw t9, -0x7b4c(gp) | t9 = sym.imp.com_err;
0x0001ca2c lw a3, 0x48(sp) | a3 = *(var_48h);
| /* str.while_closing_inode__u */
0x0001ca30 addiu a2, a2, 0x2984 | a2 += 0x2984;
0x0001ca34 move a1, fp | a1 = fp;
| /* str.set_inode_xattr */
0x0001ca38 addiu a0, s3, 0x2a30 | a0 = s3 + 0x2a30;
0x0001ca3c jalr t9 | t9 ();
0x0001ca40 lw gp, 0x20(sp) | gp = *(var_20h);
0x0001ca44 b 0x1c70c | goto label_14;
| label_32:
0x0001ca48 lw a2, -0x7fdc(gp) | a2 = *(gp);
0x0001ca4c lw a0, -0x7fdc(gp) | a0 = *(gp);
0x0001ca50 lw t9, -0x7b4c(gp) | t9 = sym.imp.com_err;
0x0001ca54 lui fp, 0x7f2b | fp = 0x7f2b0000;
0x0001ca58 ori a1, fp, 0xb746 | a1 = 0x7f2bb746;
0x0001ca5c move a3, s1 | a3 = s1;
| /* str.while_appending__s */
0x0001ca60 addiu a2, a2, 0x27c4 | a2 += 0x27c4;
| /* str.__populate_fs */
0x0001ca64 addiu a0, a0, 0x2a5c | a0 += 0x2a5c;
0x0001ca68 jalr t9 | t9 ();
0x0001ca6c ori fp, fp, 0xb746 | fp |= 0xb746;
0x0001ca70 lw gp, 0x20(sp) | gp = *(var_20h);
0x0001ca74 b 0x1c4ac | goto label_4;
| label_44:
0x0001ca78 lw t9, -0x7c74(gp) | t9 = sym.imp.__errno_location;
0x0001ca7c jalr t9 | t9 ();
0x0001ca80 nop |
0x0001ca84 lw v0, (v0) | v0 = *(v0);
0x0001ca88 lw gp, 0x20(sp) | gp = *(var_20h);
0x0001ca8c move a1, v0 | a1 = v0;
0x0001ca90 sw v0, 0x48(sp) | *(var_48h) = v0;
0x0001ca94 lw v0, 0x50(sp) | v0 = *(var_50h);
0x0001ca98 lw a2, 0x54(sp) | a2 = *(var_54h_2);
0x0001ca9c lw t9, -0x7b4c(gp) | t9 = sym.imp.com_err;
0x0001caa0 addiu a0, v0, 0x2a30 | a0 = v0 + 0x2a30;
0x0001caa4 move a3, s1 | a3 = s1;
0x0001caa8 jalr t9 | t9 ();
0x0001caac lw gp, 0x20(sp) | gp = *(var_20h);
0x0001cab0 lw v0, 0x48(sp) | v0 = *(var_48h);
| if (v0 == 0) {
| label_19:
0x0001cab4 beql v0, zero, 0x1c288 | goto label_7;
| }
0x0001cab8 lw v0, 0x2c(sp) | v0 = *(var_2ch);
0x0001cabc move fp, v0 | fp = v0;
0x0001cac0 b 0x1c70c | goto label_14;
| label_26:
0x0001cac4 lw t9, -0x7c74(gp) | t9 = sym.imp.__errno_location;
0x0001cac8 jalr t9 | t9 ();
0x0001cacc nop |
0x0001cad0 lw gp, 0x20(sp) | gp = *(var_20h);
0x0001cad4 lw fp, (v0) | fp = *(v0);
0x0001cad8 move a3, s0 | a3 = s0;
0x0001cadc lw a2, -0x7fdc(gp) | a2 = *(gp);
0x0001cae0 lw t9, -0x7b4c(gp) | t9 = sym.imp.com_err;
| /* str.while_scanning_directory___s_ */
0x0001cae4 addiu a2, a2, 0x277c | a2 += 0x277c;
0x0001cae8 b 0x1c864 | goto label_15;
| label_29:
0x0001caec lw t9, -0x7c74(gp) | t9 = sym.imp.__errno_location;
0x0001caf0 jalr t9 | t9 ();
0x0001caf4 nop |
0x0001caf8 lw gp, 0x20(sp) | gp = *(var_20h);
0x0001cafc lw fp, (v0) | fp = *(v0);
0x0001cb00 move a3, s1 | a3 = s1;
0x0001cb04 lw a2, -0x7fdc(gp) | a2 = *(gp);
0x0001cb08 lw t9, -0x7b4c(gp) | t9 = sym.imp.com_err;
| /* str.while_lstat___s_ */
0x0001cb0c addiu a2, a2, 0x279c | a2 += 0x279c;
0x0001cb10 b 0x1c56c | goto label_8;
| label_34:
0x0001cb14 move fp, v0 | fp = v0;
0x0001cb18 b 0x1c4ac | goto label_4;
| label_64:
0x0001cb1c lw a2, -0x7fdc(gp) | a2 = *(gp);
0x0001cb20 lw t9, -0x7b4c(gp) | t9 = sym.imp.com_err;
0x0001cb24 move fp, v0 | fp = v0;
0x0001cb28 move a3, s1 | a3 = s1;
| /* str.while_linking___s_ */
0x0001cb2c addiu a2, a2, 0x27b0 | a2 += 0x27b0;
| do {
| label_65:
0x0001cb30 lw a0, -0x7fdc(gp) | a0 = *(gp);
0x0001cb34 move a1, fp | a1 = fp;
| /* str.add_link */
0x0001cb38 addiu a0, a0, 0x2a50 | a0 += 0x2a50;
0x0001cb3c jalr t9 | t9 ();
0x0001cb40 lw gp, 0x20(sp) | gp = *(var_20h);
| label_23:
0x0001cb44 lw a2, -0x7fdc(gp) | a2 = *(gp);
0x0001cb48 lw t9, -0x7b4c(gp) | t9 = sym.imp.com_err;
0x0001cb4c move a3, s1 | a3 = s1;
| /* str.while_linking__s */
0x0001cb50 addiu a2, a2, 0x29d4 | a2 += 0x29d4;
0x0001cb54 b 0x1c56c | goto label_8;
| label_39:
0x0001cb58 lw a2, -0x7fdc(gp) | a2 = *(gp);
0x0001cb5c move fp, v0 | fp = v0;
0x0001cb60 lw t9, -0x7b4c(gp) | t9 = sym.imp.com_err;
0x0001cb64 move a3, s1 | a3 = s1;
| /* str.while_writing_file___s_ */
0x0001cb68 addiu a2, a2, 0x2888 | a2 += 0x2888;
0x0001cb6c b 0x1c56c | goto label_8;
| label_40:
0x0001cb70 lw a2, -0x7fdc(gp) | a2 = *(gp);
0x0001cb74 lw t9, -0x7b4c(gp) | t9 = sym.imp.com_err;
0x0001cb78 move a3, s1 | a3 = s1;
| /* str.while_looking_up___s_ */
0x0001cb7c addiu a2, a2, 0x26ec | a2 += 0x26ec;
0x0001cb80 move a1, v0 | a1 = v0;
0x0001cb84 move a0, s1 | a0 = s1;
0x0001cb88 move fp, v0 | fp = v0;
0x0001cb8c jalr t9 | t9 ();
0x0001cb90 lw gp, 0x20(sp) | gp = *(var_20h);
0x0001cb94 b 0x1c4ac | goto label_4;
| label_56:
0x0001cb98 lw a2, -0x7fdc(gp) | a2 = *(gp);
0x0001cb9c move fp, v0 | fp = v0;
0x0001cba0 lw t9, -0x7b4c(gp) | t9 = sym.imp.com_err;
0x0001cba4 move a3, s4 | a3 = s4;
| /* str.while_reading_inode__u */
0x0001cba8 addiu a2, a2, -0xa9c | a2 += -0xa9c;
0x0001cbac b 0x1cb30 |
| } while (1);
| label_57:
0x0001cbb0 addiu v0, zero, 1 | v0 = 1;
0x0001cbb4 b 0x1c644 | goto label_16;
| label_63:
0x0001cbb8 lw t9, -0x7c54(gp) | t9 = sym.imp.ext2fs_expand_dir;
0x0001cbbc lw a1, 0x1d4(sp) | a1 = *(arg_1d4h);
0x0001cbc0 move a0, s5 | a0 = s5;
0x0001cbc4 jalr t9 | t9 ();
0x0001cbc8 lw gp, 0x20(sp) | gp = *(var_20h);
| if (v0 != 0) {
0x0001cbcc bnez v0, 0x1cef8 | goto label_79;
| }
0x0001cbd0 lhu v0, 0x80(sp) | v0 = *(var_80h_2);
0x0001cbd4 ori v1, zero, 0x8000 | v1 = 0x8000;
0x0001cbd8 andi v0, v0, 0xf000 | v0 &= 0xf000;
0x0001cbdc addiu v1, zero, 0x4000 | v1 = 0x4000;
| if (v0 == v1) {
0x0001cbe0 beq v0, v1, 0x1cf20 | goto label_80;
| }
0x0001cbe4 addiu v1, zero, 0x2000 | v1 = 0x2000;
| if (v0 == v1) {
0x0001cbe8 beq v0, v1, 0x1cf58 | goto label_81;
| }
0x0001cbec addiu v1, zero, 0x6000 | v1 = 0x6000;
| if (v0 == v1) {
0x0001cbf0 beq v0, v1, 0x1cf50 | goto label_82;
| }
0x0001cbf4 ori v1, zero, 0xa000 | v1 = 0xa000;
| if (v0 == v1) {
0x0001cbf8 beq v0, v1, 0x1cf70 | goto label_83;
| }
0x0001cbfc addiu v1, zero, 0x1000 | v1 = 0x1000;
| if (v0 == v1) {
0x0001cc00 beq v0, v1, 0x1cf68 | goto label_84;
| }
0x0001cc04 addiu v1, zero, 6 | v1 = 6;
| if (v0 == v1) {
0x0001cc08 beq v0, v1, 0x1cf60 | goto label_85;
| }
0x0001cc0c xori v0, v0, 0xc000 | v0 ^= 0xc000;
| if (v0 == 0) {
0x0001cc10 movn v1, zero, v0 | v1 = 0;
| }
0x0001cc14 move v0, v1 | v0 = v1;
| label_24:
0x0001cc18 lw t9, -0x7d78(gp) | t9 = sym.imp.ext2fs_link;
0x0001cc1c lw a1, 0x1d4(sp) | a1 = *(arg_1d4h);
0x0001cc20 sw v0, 0x10(sp) | *(var_80h) = v0;
0x0001cc24 move a3, s4 | a3 = s4;
0x0001cc28 move a2, s1 | a2 = s1;
0x0001cc2c move a0, s5 | a0 = s5;
0x0001cc30 jalr t9 | t9 ();
0x0001cc34 lw gp, 0x20(sp) | gp = *(var_20h);
0x0001cc38 b 0x1c670 | goto label_17;
| label_77:
0x0001cc3c lw s4, 0x64(sp) | s4 = *(var_64h_2);
0x0001cc40 lw s0, 0x60(sp) | s0 = *(var_60h_2);
0x0001cc44 lw s5, 0x68(sp) | s5 = *(var_68h_2);
0x0001cc48 lw s3, 0x6c(sp) | s3 = *(var_6ch_2);
0x0001cc4c lw t9, -0x7a8c(gp) | t9 = sym.imp.free;
| label_74:
0x0001cc50 lw a0, 0x5c(sp) | a0 = *(var_5ch_2);
0x0001cc54 jalr t9 | t9 ();
0x0001cc58 lw gp, 0x20(sp) | gp = *(var_20h);
0x0001cc5c lw t9, -0x7dc4(gp) | t9 = sym.imp.ext2fs_xattrs_close;
0x0001cc60 lw a0, 0x58(sp) | a0 = *(var_58h_2);
0x0001cc64 jalr t9 | t9 ();
0x0001cc68 lw gp, 0x20(sp) | gp = *(var_20h);
| if (v0 == 0) {
0x0001cc6c beqz v0, 0x1c284 | goto label_18;
| }
0x0001cc70 lw a2, -0x7fdc(gp) | a2 = *(gp);
0x0001cc74 lw a0, -0x7fdc(gp) | a0 = *(gp);
0x0001cc78 lw t9, -0x7b4c(gp) | t9 = sym.imp.com_err;
0x0001cc7c lw a3, 0x48(sp) | a3 = *(var_48h);
| /* str.while_closing_inode__u */
0x0001cc80 addiu a2, a2, 0x2984 | a2 += 0x2984;
0x0001cc84 move a1, zero | a1 = 0;
| /* str.set_inode_xattr */
0x0001cc88 addiu a0, a0, 0x2a30 | a0 += 0x2a30;
0x0001cc8c move fp, v0 | fp = v0;
0x0001cc90 jalr t9 | t9 ();
0x0001cc94 lw gp, 0x20(sp) | gp = *(var_20h);
0x0001cc98 b 0x1c70c | goto label_14;
| label_78:
0x0001cc9c lw s4, 0x64(sp) | s4 = *(var_64h_2);
0x0001cca0 lw s0, 0x60(sp) | s0 = *(var_60h_2);
0x0001cca4 lw s5, 0x68(sp) | s5 = *(var_68h_2);
0x0001cca8 lw s3, 0x6c(sp) | s3 = *(var_6ch_2);
| do {
0x0001ccac lw t9, -0x7c74(gp) | t9 = sym.imp.__errno_location;
0x0001ccb0 jalr t9 | t9 ();
0x0001ccb4 nop |
0x0001ccb8 lw gp, 0x20(sp) | gp = *(var_20h);
0x0001ccbc lw s7, (v0) | s7 = *(v0);
0x0001ccc0 lw v0, 0x50(sp) | v0 = *(var_50h);
0x0001ccc4 lw a2, -0x7fdc(gp) | a2 = *(gp);
0x0001ccc8 lw t9, -0x7b4c(gp) | t9 = sym.imp.com_err;
0x0001cccc sw s1, 0x10(sp) | *(var_80h) = s1;
0x0001ccd0 move a3, fp | a3 = fp;
| /* str.while_reading_attribute___s__of___s_ */
0x0001ccd4 addiu a2, a2, 0x2930 | a2 += aav.0x00002930;
0x0001ccd8 move a1, s7 | a1 = s7;
0x0001ccdc addiu a0, v0, 0x2a30 | a0 = v0 + 0x2a30;
0x0001cce0 jalr t9 | t9 ();
0x0001cce4 lw gp, 0x20(sp) | gp = *(var_20h);
| label_21:
0x0001cce8 lw t9, -0x7a8c(gp) | t9 = sym.imp.free;
0x0001ccec lw a0, 0x5c(sp) | a0 = *(var_5ch_2);
0x0001ccf0 jalr t9 | t9 ();
0x0001ccf4 lw gp, 0x20(sp) | gp = *(var_20h);
0x0001ccf8 lw t9, -0x7dc4(gp) | t9 = sym.imp.ext2fs_xattrs_close;
0x0001ccfc lw a0, 0x58(sp) | a0 = *(var_58h_2);
0x0001cd00 jalr t9 | t9 ();
0x0001cd04 lw gp, 0x20(sp) | gp = *(var_20h);
| if (v0 == 0) {
0x0001cd08 bnez v0, 0x1cd14 |
0x0001cd0c move v0, s7 | v0 = s7;
0x0001cd10 b 0x1cab4 | goto label_19;
| }
0x0001cd14 lw a2, -0x7fdc(gp) | a2 = *(gp);
0x0001cd18 move fp, v0 | fp = v0;
0x0001cd1c lw v0, 0x50(sp) | v0 = *(var_50h);
0x0001cd20 lw t9, -0x7b4c(gp) | t9 = sym.imp.com_err;
0x0001cd24 lw a3, 0x48(sp) | a3 = *(var_48h);
| /* str.while_closing_inode__u */
0x0001cd28 addiu a2, a2, 0x2984 | a2 += 0x2984;
0x0001cd2c move a1, s7 | a1 = s7;
0x0001cd30 addiu a0, v0, 0x2a30 | a0 = v0 + 0x2a30;
0x0001cd34 jalr t9 | t9 ();
| if (s7 == 0) {
0x0001cd38 movn fp, s7, s7 | fp = s7;
| }
0x0001cd3c lw gp, 0x20(sp) | gp = *(var_20h);
0x0001cd40 b 0x1c70c | goto label_14;
| label_75:
0x0001cd44 move v1, s0 | v1 = s0;
0x0001cd48 lw t9, -0x7a8c(gp) | t9 = sym.imp.free;
0x0001cd4c move a0, v1 | a0 = v1;
0x0001cd50 lw s4, 0x64(sp) | s4 = *(var_64h_2);
0x0001cd54 lw s5, 0x68(sp) | s5 = *(var_68h_2);
0x0001cd58 lw s3, 0x6c(sp) | s3 = *(var_6ch_2);
0x0001cd5c lw s0, 0x60(sp) | s0 = *(var_60h_2);
0x0001cd60 jalr t9 | t9 ();
0x0001cd64 lw gp, 0x20(sp) | gp = *(var_20h);
0x0001cd68 b 0x1ccac |
| } while (1);
| label_76:
0x0001cd6c lw s3, -0x7fdc(gp) | s3 = *(gp);
0x0001cd70 lw a2, -0x7fdc(gp) | a2 = *(gp);
0x0001cd74 lw v0, 0x48(sp) | v0 = *(var_48h);
0x0001cd78 lw t9, -0x7b4c(gp) | t9 = sym.imp.com_err;
0x0001cd7c move s7, fp | s7 = fp;
0x0001cd80 sw v0, 0x10(sp) | *(var_80h) = v0;
0x0001cd84 move a3, s7 | a3 = s7;
| /* str.while_writing_attribute___s__to_inode__u */
0x0001cd88 addiu a2, a2, 0x2958 | a2 += 0x2958;
0x0001cd8c move a1, s5 | a1 = s5;
| /* str.set_inode_xattr */
0x0001cd90 addiu a0, s3, 0x2a30 | a0 = s3 + 0x2a30;
0x0001cd94 lw s0, 0x60(sp) | s0 = *(var_60h_2);
0x0001cd98 move fp, s5 | fp = s5;
0x0001cd9c jalr t9 | t9 ();
0x0001cda0 lw gp, 0x20(sp) | gp = *(var_20h);
0x0001cda4 b 0x1ca00 | goto label_20;
| label_58:
0x0001cda8 addiu v0, zero, 2 | v0 = 2;
0x0001cdac b 0x1c644 | goto label_16;
| label_59:
0x0001cdb0 addiu v0, zero, 3 | v0 = 3;
0x0001cdb4 b 0x1c644 | goto label_16;
| label_60:
0x0001cdb8 addiu v0, zero, 4 | v0 = 4;
0x0001cdbc b 0x1c644 | goto label_16;
| label_73:
0x0001cdc0 lw t9, -0x7c74(gp) | t9 = sym.imp.__errno_location;
0x0001cdc4 jalr t9 | t9 ();
0x0001cdc8 nop |
0x0001cdcc lw gp, 0x20(sp) | gp = *(var_20h);
0x0001cdd0 lw s7, (v0) | s7 = *(v0);
0x0001cdd4 lw v0, 0x50(sp) | v0 = *(var_50h);
0x0001cdd8 lw a2, 0x54(sp) | a2 = *(var_54h_2);
0x0001cddc lw t9, -0x7b4c(gp) | t9 = sym.imp.com_err;
0x0001cde0 move a3, s1 | a3 = s1;
0x0001cde4 move a1, s7 | a1 = s7;
0x0001cde8 addiu a0, v0, 0x2a30 | a0 = v0 + 0x2a30;
0x0001cdec jalr t9 | t9 ();
0x0001cdf0 lw gp, 0x20(sp) | gp = *(var_20h);
0x0001cdf4 b 0x1cce8 | goto label_21;
| label_61:
0x0001cdf8 addiu v0, zero, 7 | v0 = 7;
0x0001cdfc b 0x1c644 | goto label_16;
| label_67:
0x0001ce00 lw a2, -0x7fdc(gp) | a2 = *(gp);
0x0001ce04 lw a0, -0x7fdc(gp) | a0 = *(gp);
0x0001ce08 lw t9, -0x7b4c(gp) | t9 = sym.imp.com_err;
| /* str.malloc_failed */
0x0001ce0c addiu a2, a2, 0x2800 | a2 += 0x2800;
0x0001ce10 move a1, zero | a1 = 0;
| /* str.__populate_fs */
0x0001ce14 addiu a0, a0, 0x2a5c | a0 += 0x2a5c;
0x0001ce18 jalr t9 | t9 ();
0x0001ce1c move fp, zero | fp = 0;
0x0001ce20 lw gp, 0x20(sp) | gp = *(var_20h);
0x0001ce24 b 0x1c4ac | goto label_4;
| label_70:
0x0001ce28 sltu v1, v1, v0 | v1 = (v1 < v0) ? 1 : 0;
0x0001ce2c lw v1, 0x1dc(sp) | v1 = *(arg_1dch);
| if (v1 == 0) {
0x0001ce30 beqz v1, 0x1c780 | goto label_22;
| }
0x0001ce34 lw a2, -0x7fdc(gp) | a2 = *(gp);
| label_69:
0x0001ce38 lw a0, -0x7fdc(gp) | a0 = *(gp);
0x0001ce3c lw t9, -0x7b4c(gp) | t9 = sym.imp.com_err;
| /* str.symlink_increased_in_size_between_lstat___and_readlink__ */
0x0001ce40 addiu a2, a2, 0x2830 | a2 += 0x2830;
0x0001ce44 move a1, zero | a1 = 0;
| /* str.__populate_fs */
0x0001ce48 addiu a0, a0, 0x2a5c | a0 += 0x2a5c;
0x0001ce4c jalr t9 | t9 ();
0x0001ce50 lw gp, 0x20(sp) | gp = *(var_20h);
0x0001ce54 move a0, s7 | a0 = s7;
0x0001ce58 lw t9, -0x7a8c(gp) | t9 = sym.imp.free;
0x0001ce5c move fp, zero | fp = 0;
0x0001ce60 jalr t9 | t9 ();
0x0001ce64 lw gp, 0x20(sp) | gp = *(var_20h);
0x0001ce68 b 0x1c4ac | goto label_4;
| label_68:
0x0001ce6c lw t9, -0x7c74(gp) | t9 = sym.imp.__errno_location;
0x0001ce70 jalr t9 | t9 ();
0x0001ce74 nop |
0x0001ce78 lw gp, 0x20(sp) | gp = *(var_20h);
0x0001ce7c lw fp, (v0) | fp = *(v0);
0x0001ce80 move a3, s1 | a3 = s1;
0x0001ce84 lw a2, -0x7fdc(gp) | a2 = *(gp);
0x0001ce88 lw a0, -0x7fdc(gp) | a0 = *(gp);
0x0001ce8c lw t9, -0x7b4c(gp) | t9 = sym.imp.com_err;
| /* str.while_trying_to_read_link___s_ */
0x0001ce90 addiu a2, a2, 0x2810 | a2 += aav.0x00002810;
0x0001ce94 move a1, fp | a1 = fp;
| /* str.__populate_fs */
0x0001ce98 addiu a0, a0, 0x2a5c | a0 += 0x2a5c;
0x0001ce9c jalr t9 | t9 ();
0x0001cea0 lw gp, 0x20(sp) | gp = *(var_20h);
0x0001cea4 lw t9, -0x7a8c(gp) | t9 = sym.imp.free;
0x0001cea8 move a0, s7 | a0 = s7;
0x0001ceac jalr t9 | t9 ();
0x0001ceb0 lw gp, 0x20(sp) | gp = *(var_20h);
0x0001ceb4 b 0x1c4ac | goto label_4;
| label_52:
0x0001ceb8 lw t9, -0x7b4c(gp) | t9 = sym.imp.com_err;
0x0001cebc move a2, zero | a2 = 0;
0x0001cec0 move a1, v0 | a1 = v0;
0x0001cec4 move a0, s1 | a0 = s1;
0x0001cec8 move fp, v0 | fp = v0;
0x0001cecc jalr t9 | t9 ();
0x0001ced0 lw gp, 0x20(sp) | gp = *(var_20h);
0x0001ced4 b 0x1c4ac | goto label_4;
| label_62:
0x0001ced8 addiu v0, zero, 5 | v0 = 5;
0x0001cedc b 0x1c644 | goto label_16;
| label_51:
0x0001cee0 lw a2, -0x7fdc(gp) | a2 = *(gp);
0x0001cee4 move fp, v0 | fp = v0;
0x0001cee8 lw t9, -0x7b4c(gp) | t9 = sym.imp.com_err;
0x0001ceec move a3, s1 | a3 = s1;
| /* str.while_making_dir___s_ */
0x0001cef0 addiu a2, a2, 0x28ac | a2 += 0x28ac;
0x0001cef4 b 0x1c56c | goto label_8;
| label_79:
0x0001cef8 lw a2, -0x7fdc(gp) | a2 = *(gp);
0x0001cefc lw a0, -0x7fdc(gp) | a0 = *(gp);
0x0001cf00 lw t9, -0x7b4c(gp) | t9 = sym.imp.com_err;
| /* str.while_expanding_directory */
0x0001cf04 addiu a2, a2, 0x2674 | a2 += 0x2674;
0x0001cf08 move a1, v0 | a1 = v0;
| /* str.add_link */
0x0001cf0c addiu a0, a0, 0x2a50 | a0 += 0x2a50;
0x0001cf10 move fp, v0 | fp = v0;
0x0001cf14 jalr t9 | t9 ();
0x0001cf18 lw gp, 0x20(sp) | gp = *(var_20h);
0x0001cf1c b 0x1cb44 | goto label_23;
| label_80:
0x0001cf20 addiu v0, zero, 1 | v0 = 1;
0x0001cf24 b 0x1cc18 | goto label_24;
| label_71:
0x0001cf28 lw a2, -0x7fdc(gp) | a2 = *(gp);
0x0001cf2c lw t9, -0x7b4c(gp) | t9 = sym.imp.com_err;
0x0001cf30 lui fp, 0x7f2b | fp = 0x7f2b0000;
0x0001cf34 ori a1, fp, 0xb746 | a1 = 0x7f2bb746;
| /* str.while_saving_inode_data */
0x0001cf38 addiu a2, a2, 0x29bc | a2 += 0x29bc;
0x0001cf3c move a0, s1 | a0 = s1;
0x0001cf40 jalr t9 | t9 ();
0x0001cf44 ori fp, fp, 0xb746 | fp |= 0xb746;
0x0001cf48 lw gp, 0x20(sp) | gp = *(var_20h);
0x0001cf4c b 0x1c4ac | goto label_4;
| label_82:
0x0001cf50 addiu v0, zero, 3 | v0 = 3;
0x0001cf54 b 0x1cc18 | goto label_24;
| label_81:
0x0001cf58 addiu v0, zero, 2 | v0 = 2;
0x0001cf5c b 0x1cc18 | goto label_24;
| label_85:
0x0001cf60 addiu v0, zero, 5 | v0 = 5;
0x0001cf64 b 0x1cc18 | goto label_24;
| label_84:
0x0001cf68 addiu v0, zero, 7 | v0 = 7;
0x0001cf6c b 0x1cc18 | goto label_24;
| label_83:
0x0001cf70 addiu v0, zero, 4 | v0 = 4;
0x0001cf74 b 0x1cc18 | goto label_24;
| label_48:
0x0001cf78 lw t9, -0x7b08(gp) | t9 = sym.imp.__stack_chk_fail;
0x0001cf7c jalr t9 | t9 ();
0x0001cf80 nop |
| }
; assembly | /* r2dec pseudo code output */
| /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/sbin/debugfs @ 0xe418 */
| #include <stdint.h>
|
; (fcn) sym.open_pager () | void open_pager () {
0x0000e418 lui gp, 4 |
0x0000e41c addiu gp, gp, -0x2d8 |
0x0000e420 addu gp, gp, t9 | gp += t9;
0x0000e424 addiu sp, sp, -0x98 |
0x0000e428 lw a0, -0x7fdc(gp) | a0 = *(gp);
0x0000e42c sw s2, 0x84(sp) | *(var_84h) = s2;
0x0000e430 lw s2, -0x7aa4(gp) | s2 = *((gp - 7849));
0x0000e434 lw t9, -0x7a84(gp) | t9 = sym.imp.ss_safe_getenv;
0x0000e438 sw ra, 0x94(sp) | *(var_94h) = ra;
0x0000e43c lw v0, (s2) | v0 = *(s2);
0x0000e440 sw gp, 0x18(sp) | *(var_18h) = gp;
0x0000e444 sw s0, 0x7c(sp) | *(var_7ch) = s0;
| /* str.DEBUGFS_PAGER */
0x0000e448 addiu a0, a0, -0x540 | a0 += -0x540;
0x0000e44c sw s5, 0x90(sp) | *(var_90h) = s5;
0x0000e450 sw s4, 0x8c(sp) | *(var_8ch) = s4;
0x0000e454 sw s3, 0x88(sp) | *(var_88h) = s3;
0x0000e458 sw s1, 0x80(sp) | *(var_80h) = s1;
0x0000e45c sw v0, 0x74(sp) | *(var_74h) = v0;
0x0000e460 jalr t9 | t9 ();
0x0000e464 nop |
0x0000e468 lw gp, 0x18(sp) | gp = *(var_18h);
0x0000e46c addiu a1, zero, 1 | a1 = 1;
0x0000e470 addiu a0, zero, 0xd | a0 = 0xd;
0x0000e474 lw t9, -0x7ad4(gp) | t9 = sym.imp.signal;
0x0000e478 move s0, v0 | s0 = v0;
0x0000e47c jalr t9 | t9 ();
0x0000e480 lw gp, 0x18(sp) | gp = *(var_18h);
0x0000e484 lw t9, -0x7db0(gp) | t9 = sym.imp.isatty;
0x0000e488 addiu a0, zero, 1 | a0 = 1;
0x0000e48c jalr t9 | t9 ();
0x0000e490 lw gp, 0x18(sp) | gp = *(var_18h);
| if (v0 != 0) {
0x0000e494 beqz v0, 0xe4bc |
0x0000e498 lw a0, -0x7fdc(gp) | a0 = *(gp);
| if (s0 == 0) {
0x0000e49c beqz s0, 0xe518 | goto label_5;
| }
| label_1:
0x0000e4a0 lw a1, -0x7fdc(gp) | a1 = *(gp);
0x0000e4a4 lw t9, -0x7a28(gp) | t9 = sym.imp.strcmp;
| /* str.__none__ */
0x0000e4a8 addiu a1, a1, -0x524 | a1 += -0x524;
0x0000e4ac move a0, s0 | a0 = s0;
0x0000e4b0 jalr t9 | t9 ();
0x0000e4b4 lw gp, 0x18(sp) | gp = *(var_18h);
| if (v0 != 0) {
0x0000e4b8 bnez v0, 0xe4f4 | goto label_6;
| }
| }
| label_2:
0x0000e4bc lw v0, -0x7cb8(gp) | v0 = *((gp - 7982));
| label_0:
0x0000e4c0 lw v0, (v0) | v0 = *(v0);
| do {
0x0000e4c4 lw a0, 0x74(sp) | a0 = *(var_74h);
0x0000e4c8 lw v1, (s2) | v1 = *(s2);
0x0000e4cc lw ra, 0x94(sp) | ra = *(var_94h);
| if (a0 != v1) {
0x0000e4d0 bne a0, v1, 0xe5c4 | goto label_7;
| }
0x0000e4d4 lw s5, 0x90(sp) | s5 = *(var_90h);
0x0000e4d8 lw s4, 0x8c(sp) | s4 = *(var_8ch);
0x0000e4dc lw s3, 0x88(sp) | s3 = *(var_88h);
0x0000e4e0 lw s2, 0x84(sp) | s2 = *(var_84h);
0x0000e4e4 lw s1, 0x80(sp) | s1 = *(var_80h);
0x0000e4e8 lw s0, 0x7c(sp) | s0 = *(var_7ch);
0x0000e4ec addiu sp, sp, 0x98 |
0x0000e4f0 jr ra | return v0;
| label_6:
0x0000e4f4 lw a1, -0x7fdc(gp) | a1 = *(gp);
0x0000e4f8 lw t9, -0x7d00(gp) | t9 = sym.imp.popen;
0x0000e4fc addiu a1, a1, -0x528 | a1 += -0x528;
0x0000e500 move a0, s0 | a0 = s0;
0x0000e504 jalr t9 | t9 ();
0x0000e508 lw gp, 0x18(sp) | gp = *(var_18h);
0x0000e50c bnez v0, 0xe4c4 |
| } while (v0 != 0);
0x0000e510 lw v0, -0x7cb8(gp) | v0 = *((gp - 7982));
0x0000e514 b 0xe4c0 | goto label_0;
| label_5:
0x0000e518 lw t9, -0x7a84(gp) | t9 = sym.imp.ss_safe_getenv;
| /* esilref: 'PAGER' */
0x0000e51c addiu a0, a0, -0x538 | a0 += -0x538;
0x0000e520 jalr t9 | t9 ();
0x0000e524 move s0, v0 | s0 = v0;
0x0000e528 lw gp, 0x18(sp) | gp = *(var_18h);
| if (v0 != 0) {
0x0000e52c bnez v0, 0xe4a0 | goto label_1;
| }
0x0000e530 lw s5, -0x7f30(gp) | s5 = *((gp - 8140));
0x0000e534 lw v0, 0x502c(s5) | v0 = *((s5 + 5131));
0x0000e538 lw s3, -0x7fdc(gp) | s3 = *(gp);
| if (v0 == 0) {
0x0000e53c beqz v0, 0xe4bc | goto label_2;
| }
0x0000e540 lw s4, -0x7f30(gp) | s4 = *((gp - 8140));
| /* esilref: 'pager' */
0x0000e544 addiu s5, s5, 0x502c | s5 += 0x502c;
0x0000e548 addiu s0, sp, 0x24 | s0 = sp + 0x24;
| /* str._s__s */
0x0000e54c addiu s3, s3, -0x530 | s3 += -0x530;
0x0000e550 lw v0, 0x5020(s4) | v0 = *((s4 + 5128));
| /* esilref: '/usr/bin' */
| label_4:
0x0000e554 addiu s1, s4, 0x5020 | s1 = s4 + 0x5020;
| if (v0 == 0) {
0x0000e558 beqz v0, 0xe5ac | goto label_8;
| }
0x0000e55c lw v1, (s5) | v1 = *(s5);
| label_3:
0x0000e560 lw t9, -0x7e0c(gp) | t9 = sym.imp.__sprintf_chk
0x0000e564 move a3, s3 | a3 = s3;
0x0000e568 addiu a2, zero, 0x50 | a2 = 0x50;
0x0000e56c addiu a1, zero, 1 | a1 = 1;
0x0000e570 move a0, s0 | a0 = s0;
0x0000e574 sw v1, 0x14(sp) | *(var_14h) = v1;
0x0000e578 sw v0, 0x10(sp) | *(var_10h) = v0;
0x0000e57c jalr t9 | t9 ();
0x0000e580 lw gp, 0x18(sp) | gp = *(var_18h);
0x0000e584 addiu a1, zero, 1 | a1 = 1;
0x0000e588 lw t9, -0x7cb4(gp) | t9 = sym.imp.access;
0x0000e58c move a0, s0 | a0 = s0;
0x0000e590 jalr t9 | t9 ();
0x0000e594 lw gp, 0x18(sp) | gp = *(var_18h);
| if (v0 == 0) {
0x0000e598 beqz v0, 0xe4a0 | goto label_1;
| }
0x0000e59c addiu s1, s1, 4 | s1 += 4;
0x0000e5a0 lw v0, (s1) | v0 = *(s1);
0x0000e5a4 lw v1, (s5) | v1 = *(s5);
| if (v0 == 0) {
0x0000e5a8 bnel v0, zero, 0xe560 | goto label_3;
| }
| label_8:
0x0000e5ac addiu s5, s5, 4 | s5 += 4;
0x0000e5b0 lw v0, (s5) | v0 = *(s5);
0x0000e5b4 lw v0, 0x5020(s4) | v0 = *((s4 + 5128));
| if (v0 == 0) {
0x0000e5b8 bnel v0, zero, 0xe554 | goto label_4;
| }
0x0000e5bc lw v0, -0x7cb8(gp) | v0 = *((gp - 7982));
0x0000e5c0 b 0xe4c0 | goto label_0;
| label_7:
0x0000e5c4 lw t9, -0x7b08(gp) | t9 = sym.imp.__stack_chk_fail;
0x0000e5c8 jalr t9 | t9 ();
0x0000e5cc nop |
| }
[*] Function printf used 21 times debugfs