[*] Binary protection state of iostat
Full RELRO Canary found NX disabled PIE enabled No RPATH No RUNPATH No Symbols
[*] Function sprintf tear down of iostat
; assembly | /* r2dec pseudo code output */
| /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/bin/iostat @ 0x2b48 */
| #include <stdint.h>
|
; (fcn) fcn.00002b48 () | void fcn_00002b48 () {
0x00002b48 lui gp, 2 |
0x00002b4c addiu gp, gp, 0x6568 |
0x00002b50 addu gp, gp, t9 | gp += t9;
0x00002b54 addiu sp, sp, -0x1c0 |
0x00002b58 lw a1, -0x7fcc(gp) | a1 = *(gp);
0x00002b5c sw s7, 0x1b4(sp) | *(var_1b4h) = s7;
0x00002b60 lw s7, -0x7d3c(gp) | s7 = *((gp - 8015));
0x00002b64 sw fp, 0x1b8(sp) | *(var_1b8h) = fp;
0x00002b68 lw v1, 0x1d4(sp) | v1 = *(arg_1d4h);
0x00002b6c lw fp, -0x7fd4(gp) | fp = *(gp);
0x00002b70 lw v0, (s7) | v0 = *(s7);
0x00002b74 lw t9, -0x7fd0(gp) | t9 = sym.xprintf0;
0x00002b78 sw s4, 0x1a8(sp) | *(var_1a8h) = s4;
0x00002b7c move s4, a2 | s4 = a2;
0x00002b80 lw a2, 0x1e0(sp) | a2 = *(arg_1e0h);
0x00002b84 sw gp, 0x70(sp) | *(var_70h) = gp;
0x00002b88 sw s6, 0x1b0(sp) | *(var_1b0h) = s6;
0x00002b8c sw s5, 0x1ac(sp) | *(var_1ach) = s5;
0x00002b90 sw s2, 0x1a0(sp) | *(var_1a0h) = s2;
0x00002b94 sw s1, 0x19c(sp) | *(var_19ch) = s1;
0x00002b98 sw s0, 0x198(sp) | *(var_198h) = s0;
0x00002b9c addiu a1, a1, -0x9fc | a1 += -0x9fc;
0x00002ba0 sw v0, 0x194(sp) | *(var_194h) = v0;
0x00002ba4 sw ra, 0x1bc(sp) | *(var_1bch) = ra;
0x00002ba8 sw s3, 0x1a4(sp) | *(var_1a4h) = s3;
0x00002bac sw v1, 0x7c(sp) | *(var_7ch) = v1;
0x00002bb0 move s5, a3 | s5 = a3;
0x00002bb4 lw s2, 0x1d8(sp) | s2 = *(arg_1d8h);
0x00002bb8 lw s1, 0x1dc(sp) | s1 = *(arg_1dch);
0x00002bbc lw s6, 0x1e4(sp) | s6 = *(arg_1e4h);
0x00002bc0 lw s0, 0x1e8(sp) | s0 = *(arg_1e8h);
0x00002bc4 bal 0xa0b4 | sym_xprintf0 ();
0x00002bc8 lw gp, 0x70(sp) | gp = *(var_70h);
0x00002bcc lw v0, (fp) | v0 = *(fp);
0x00002bd0 move a0, s4 | a0 = s4;
0x00002bd4 ext v0, v0, 0x15, 1 | __asm ("ext v0, v0, 0x15, 1");
0x00002bd8 lw t9, -0x7fc8(gp) | t9 = *(gp);
0x00002bdc move a1, s5 | a1 = s5;
| if (v0 == 0) {
0x00002be0 beqz v0, 0x2e64 | goto label_2;
| }
0x00002be4 bal 0xef40 | fcn_0000ef40 ();
0x00002be8 nop |
0x00002bec lw a1, 0x14(s2) | a1 = *((s2 + 5));
0x00002bf0 lw a0, 0xc(s2) | a0 = *((s2 + 3));
0x00002bf4 lw a2, 0x1c(s2) | a2 = *((s2 + 7));
0x00002bf8 lw gp, 0x70(sp) | gp = *(var_70h);
0x00002bfc addu a0, a0, a1 | a0 += a1;
0x00002c00 lw a1, 0xc(s1) | a1 = *((s1 + 3));
0x00002c04 addu a0, a0, a2 | a0 += a2;
0x00002c08 lw a3, 0x14(s1) | a3 = *((s1 + 5));
0x00002c0c subu a1, a0, a1 | __asm ("subu a1, a0, a1");
0x00002c10 lw a2, 0x1c(s1) | a2 = *((s1 + 7));
0x00002c14 subu a0, a1, a3 | __asm ("subu a0, a1, a3");
0x00002c18 lw t9, -0x7fc4(gp) | t9 = *(gp);
0x00002c1c subu a0, a0, a2 | __asm ("subu a0, a0, a2");
0x00002c20 lw s3, -0x7fcc(gp) | s3 = *(gp);
0x00002c24 move s4, v0 | s4 = v0;
0x00002c28 move s5, v1 | s5 = v1;
0x00002c2c bal 0xeea0 | fcn_0000eea0 ();
0x00002c30 lw gp, 0x70(sp) | gp = *(var_70h);
0x00002c34 move a2, s4 | a2 = s4;
0x00002c38 move a3, s5 | a3 = s5;
0x00002c3c lw t9, -0x7fc0(gp) | t9 = *(gp);
0x00002c40 move a0, v0 | a0 = v0;
0x00002c44 move a1, v1 | a1 = v1;
0x00002c48 bal 0xddc0 | fcn_0000ddc0 ();
0x00002c4c lw gp, 0x70(sp) | gp = *(var_70h);
0x00002c50 lw a2, 0x18(s3) | a2 = *((s3 + 6));
0x00002c54 lw a3, 0x1c(s3) | a3 = *((s3 + 7));
0x00002c58 lw t9, -0x7fbc(gp) | t9 = *(gp);
0x00002c5c move a0, v0 | a0 = v0;
0x00002c60 move a1, v1 | a1 = v1;
0x00002c64 bal 0xe820 | fcn_0000e820 ();
0x00002c68 lw gp, 0x70(sp) | gp = *(var_70h);
0x00002c6c move a3, v1 | a3 = v1;
0x00002c70 move a2, v0 | a2 = v0;
0x00002c74 lw a1, -0x7fcc(gp) | a1 = *(gp);
0x00002c78 lw t9, -0x7dd4(gp) | t9 = sym.imp.__printf_chk;
0x00002c7c addiu a1, a1, -0x9e4 | a1 += -0x9e4;
0x00002c80 addiu a0, zero, 1 | a0 = 1;
0x00002c84 jalr t9 | t9 ();
0x00002c88 lw v0, (fp) | v0 = *(fp);
0x00002c8c andi v1, v0, 0x200 | v1 = v0 & aav.0x00000200;
0x00002c90 lw gp, 0x70(sp) | gp = *(var_70h);
| if (v1 != 0) {
0x00002c94 bnez v1, 0x3420 | goto label_3;
| }
0x00002c98 andi v0, v0, 0x20 | v0 &= 0x20;
0x00002c9c lw t9, -0x7dd4(gp) | t9 = sym.imp.__printf_chk;
| if (v0 != 0) {
0x00002ca0 bnez v0, 0x3408 | goto label_4;
| }
0x00002ca4 lw a1, -0x7fcc(gp) | a1 = *(gp);
0x00002ca8 addiu a0, zero, 1 | a0 = 1;
0x00002cac addiu a1, a1, -0x9c4 | a1 += -0x9c4;
0x00002cb0 jalr t9 | t9 ();
0x00002cb4 lw gp, 0x70(sp) | gp = *(var_70h);
| label_1:
0x00002cb8 lw t9, -0x7fb8(gp) | t9 = *(gp);
0x00002cbc lw a0, 0x1d0(sp) | a0 = *(arg_1d0h);
0x00002cc0 bal 0xedc0 | fcn_0000edc0 ();
0x00002cc4 lw gp, 0x70(sp) | gp = *(var_70h);
0x00002cc8 lw a0, 0x30(s0) | a0 = *((s0 + 12));
0x00002ccc lw a1, 0x34(s0) | a1 = *((s0 + 13));
0x00002cd0 lw t9, -0x7fc0(gp) | t9 = *(gp);
0x00002cd4 move a2, v0 | a2 = v0;
0x00002cd8 move a3, v1 | a3 = v1;
0x00002cdc bal 0xddc0 | fcn_0000ddc0 ();
0x00002ce0 lw gp, 0x70(sp) | gp = *(var_70h);
0x00002ce4 lw a1, 0x38(s2) | a1 = *((s2 + 14));
0x00002ce8 lw a0, 0x38(s1) | a0 = *((s1 + 14));
0x00002cec lw t9, -0x7fc4(gp) | t9 = *(gp);
0x00002cf0 subu a0, a1, a0 | __asm ("subu a0, a1, a0");
0x00002cf4 sw v0, 0x30(s0) | *((s0 + 12)) = v0;
0x00002cf8 sw v1, 0x34(s0) | *((s0 + 13)) = v1;
0x00002cfc sw v0, 0x80(sp) | *(var_80h) = v0;
0x00002d00 sw v1, 0x84(sp) | *(var_84h) = v1;
0x00002d04 bal 0xeea0 | fcn_0000eea0 ();
0x00002d08 lw gp, 0x70(sp) | gp = *(var_70h);
0x00002d0c move a2, s4 | a2 = s4;
0x00002d10 move a3, s5 | a3 = s5;
0x00002d14 lw t9, -0x7fc0(gp) | t9 = *(gp);
0x00002d18 move a0, v0 | a0 = v0;
0x00002d1c move a1, v1 | a1 = v1;
0x00002d20 bal 0xddc0 | fcn_0000ddc0 ();
0x00002d24 lw gp, 0x70(sp) | gp = *(var_70h);
0x00002d28 lw a2, 0x18(s3) | a2 = *((s3 + 6));
0x00002d2c lw a3, 0x1c(s3) | a3 = *((s3 + 7));
0x00002d30 lw t9, -0x7fbc(gp) | t9 = *(gp);
0x00002d34 move a0, v0 | a0 = v0;
0x00002d38 move a1, v1 | a1 = v1;
0x00002d3c bal 0xe820 | fcn_0000e820 ();
0x00002d40 lw gp, 0x70(sp) | gp = *(var_70h);
0x00002d44 move a0, v0 | a0 = v0;
0x00002d48 move a1, v1 | a1 = v1;
0x00002d4c lw v0, -0x7fcc(gp) | v0 = *(gp);
0x00002d50 lw t9, -0x7fc0(gp) | t9 = *(gp);
0x00002d54 lw a2, 0x20(v0) | a2 = *((v0 + 8));
0x00002d58 lw a3, 0x24(v0) | a3 = *((v0 + 9));
0x00002d5c bal 0xddc0 | fcn_0000ddc0 ();
0x00002d60 lw gp, 0x70(sp) | gp = *(var_70h);
0x00002d64 lw a0, 0x10(s6) | a0 = *((s6 + 4));
0x00002d68 lw a1, 0x14(s6) | a1 = *((s6 + 5));
0x00002d6c lw a2, -0x7fcc(gp) | a2 = *(gp);
0x00002d70 lw t9, -0x7fbc(gp) | t9 = *(gp);
0x00002d74 sw v0, 0x28(sp) | *(var_28h) = v0;
0x00002d78 lw a3, 0x2c(a2) | a3 = *((a2 + 11));
0x00002d7c lw a2, 0x28(a2) | a2 = *((a2 + 10));
0x00002d80 sw v1, 0x2c(sp) | *(var_2ch) = v1;
0x00002d84 bal 0xe820 | fcn_0000e820 ();
0x00002d88 lw a1, 0x18(s2) | a1 = *((s2 + 6));
0x00002d8c lw a0, 0x10(s2) | a0 = *((s2 + 4));
0x00002d90 lw a2, 0x20(s2) | a2 = *((s2 + 8));
0x00002d94 lw gp, 0x70(sp) | gp = *(var_70h);
0x00002d98 addu a0, a0, a1 | a0 += a1;
0x00002d9c lw a1, 0x10(s1) | a1 = *((s1 + 4));
0x00002da0 lw t3, 0x18(s1) | t3 = *((s1 + 6));
0x00002da4 addu a0, a0, a2 | a0 += a2;
0x00002da8 lw t2, 0x20(s1) | t2 = *((s1 + 8));
0x00002dac lw a2, 8(s6) | a2 = *((s6 + 2));
0x00002db0 lw a3, 0xc(s6) | a3 = *((s6 + 3));
0x00002db4 subu a1, a0, a1 | __asm ("subu a1, a0, a1");
0x00002db8 subu a0, a1, t3 | __asm ("subu a0, a1, t3");
0x00002dbc lw t9, -0x7fc4(gp) | t9 = *(gp);
0x00002dc0 subu a0, a0, t2 | __asm ("subu a0, a0, t2");
0x00002dc4 sw a2, 0x18(sp) | *(var_18h) = a2;
0x00002dc8 sw a3, 0x1c(sp) | *(var_1ch) = a3;
0x00002dcc sw v0, 0x20(sp) | *(var_20h) = v0;
0x00002dd0 sw v1, 0x24(sp) | *(var_24h) = v1;
0x00002dd4 bal 0xeea0 | fcn_0000eea0 ();
0x00002dd8 lw gp, 0x70(sp) | gp = *(var_70h);
0x00002ddc move a2, s4 | a2 = s4;
0x00002de0 move a3, s5 | a3 = s5;
0x00002de4 lw t9, -0x7fc0(gp) | t9 = *(gp);
0x00002de8 move a0, v0 | a0 = v0;
0x00002dec move a1, v1 | a1 = v1;
0x00002df0 bal 0xddc0 | fcn_0000ddc0 ();
0x00002df4 lw gp, 0x70(sp) | gp = *(var_70h);
0x00002df8 lw a2, 0x18(s3) | a2 = *((s3 + 6));
0x00002dfc lw a3, 0x1c(s3) | a3 = *((s3 + 7));
0x00002e00 lw t9, -0x7fbc(gp) | t9 = *(gp);
0x00002e04 move a0, v0 | a0 = v0;
0x00002e08 move a1, v1 | a1 = v1;
0x00002e0c bal 0xe820 | fcn_0000e820 ();
0x00002e10 lw gp, 0x70(sp) | gp = *(var_70h);
0x00002e14 lw t0, 0x80(sp) | t0 = *(var_80h);
0x00002e18 lw t1, 0x84(sp) | t1 = *(var_84h);
0x00002e1c lw a1, -0x7fcc(gp) | a1 = *(gp);
0x00002e20 lw t9, -0x7dd4(gp) | t9 = sym.imp.__printf_chk;
0x00002e24 addiu a0, zero, 1 | a0 = 1;
0x00002e28 sw v0, 0x10(sp) | *(var_10h) = v0;
0x00002e2c sw v1, 0x14(sp) | *(var_14h) = v1;
0x00002e30 move a2, t0 | a2 = t0;
0x00002e34 move a3, t1 | a3 = t1;
0x00002e38 addiu a1, a1, -0x9bc | a1 += -0x9bc;
0x00002e3c jalr t9 | t9 ();
0x00002e40 lw v0, 0x7c(sp) | v0 = *(var_7ch);
0x00002e44 lw a0, 0x80(v0) | a0 = *((v0 + 32));
0x00002e48 slti v0, a0, 4 | v0 = (a0 < 4) ? 1 : 0;
0x00002e4c lw gp, 0x70(sp) | gp = *(var_70h);
| if (v0 == 0) {
0x00002e50 beqz v0, 0x334c | goto label_5;
| }
| do {
0x00002e54 lw v0, -0x7fcc(gp) | v0 = *(gp);
0x00002e58 lw s0, 0x10(v0) | s0 = *((v0 + 4));
0x00002e5c lw s1, 0x14(v0) | s1 = *((v0 + 5));
0x00002e60 b 0x3364 | goto label_6;
| label_2:
0x00002e64 bal 0xef40 | fcn_0000ef40 ();
0x00002e68 nop |
0x00002e6c lw gp, 0x70(sp) | gp = *(var_70h);
0x00002e70 lw a1, 0xc(s2) | a1 = *((s2 + 3));
0x00002e74 lw a0, 0xc(s1) | a0 = *((s1 + 3));
0x00002e78 lw t9, -0x7fc4(gp) | t9 = *(gp);
0x00002e7c subu a0, a1, a0 | __asm ("subu a0, a1, a0");
0x00002e80 lw s3, -0x7fcc(gp) | s3 = *(gp);
0x00002e84 move s4, v0 | s4 = v0;
0x00002e88 move s5, v1 | s5 = v1;
0x00002e8c bal 0xeea0 | fcn_0000eea0 ();
0x00002e90 lw gp, 0x70(sp) | gp = *(var_70h);
0x00002e94 move a2, s4 | a2 = s4;
0x00002e98 move a3, s5 | a3 = s5;
0x00002e9c lw t9, -0x7fc0(gp) | t9 = *(gp);
0x00002ea0 move a0, v0 | a0 = v0;
0x00002ea4 move a1, v1 | a1 = v1;
0x00002ea8 bal 0xddc0 | fcn_0000ddc0 ();
0x00002eac lw gp, 0x70(sp) | gp = *(var_70h);
0x00002eb0 lw a2, 0x18(s3) | a2 = *((s3 + 6));
0x00002eb4 lw a3, 0x1c(s3) | a3 = *((s3 + 7));
0x00002eb8 lw t9, -0x7fbc(gp) | t9 = *(gp);
0x00002ebc move a0, v0 | a0 = v0;
0x00002ec0 move a1, v1 | a1 = v1;
0x00002ec4 bal 0xe820 | fcn_0000e820 ();
0x00002ec8 lw gp, 0x70(sp) | gp = *(var_70h);
0x00002ecc lw a1, 0x1c(s2) | a1 = *((s2 + 7));
0x00002ed0 lw a0, 0x1c(s1) | a0 = *((s1 + 7));
0x00002ed4 lw t9, -0x7fc4(gp) | t9 = *(gp);
0x00002ed8 subu a0, a1, a0 | __asm ("subu a0, a1, a0");
0x00002edc sw v0, 0x80(sp) | *(var_80h) = v0;
0x00002ee0 sw v1, 0x84(sp) | *(var_84h) = v1;
0x00002ee4 bal 0xeea0 | fcn_0000eea0 ();
0x00002ee8 lw gp, 0x70(sp) | gp = *(var_70h);
0x00002eec move a2, s4 | a2 = s4;
0x00002ef0 move a3, s5 | a3 = s5;
0x00002ef4 lw t9, -0x7fc0(gp) | t9 = *(gp);
0x00002ef8 move a0, v0 | a0 = v0;
0x00002efc move a1, v1 | a1 = v1;
0x00002f00 bal 0xddc0 | fcn_0000ddc0 ();
0x00002f04 lw gp, 0x70(sp) | gp = *(var_70h);
0x00002f08 lw a2, 0x18(s3) | a2 = *((s3 + 6));
0x00002f0c lw a3, 0x1c(s3) | a3 = *((s3 + 7));
0x00002f10 lw t9, -0x7fbc(gp) | t9 = *(gp);
0x00002f14 move a0, v0 | a0 = v0;
0x00002f18 move a1, v1 | a1 = v1;
0x00002f1c bal 0xe820 | fcn_0000e820 ();
0x00002f20 lw gp, 0x70(sp) | gp = *(var_70h);
0x00002f24 lw a1, 0x14(s2) | a1 = *((s2 + 5));
0x00002f28 lw a0, 0x14(s1) | a0 = *((s1 + 5));
0x00002f2c lw t9, -0x7fc4(gp) | t9 = *(gp);
0x00002f30 subu a0, a1, a0 | __asm ("subu a0, a1, a0");
0x00002f34 sw v0, 0x18(sp) | *(var_18h) = v0;
0x00002f38 sw v1, 0x1c(sp) | *(var_1ch) = v1;
0x00002f3c bal 0xeea0 | fcn_0000eea0 ();
0x00002f40 lw gp, 0x70(sp) | gp = *(var_70h);
0x00002f44 move a2, s4 | a2 = s4;
0x00002f48 move a3, s5 | a3 = s5;
0x00002f4c lw t9, -0x7fc0(gp) | t9 = *(gp);
0x00002f50 move a0, v0 | a0 = v0;
0x00002f54 move a1, v1 | a1 = v1;
0x00002f58 bal 0xddc0 | fcn_0000ddc0 ();
0x00002f5c lw gp, 0x70(sp) | gp = *(var_70h);
0x00002f60 lw a2, 0x18(s3) | a2 = *((s3 + 6));
0x00002f64 lw a3, 0x1c(s3) | a3 = *((s3 + 7));
0x00002f68 lw t9, -0x7fbc(gp) | t9 = *(gp);
0x00002f6c move a0, v0 | a0 = v0;
0x00002f70 move a1, v1 | a1 = v1;
0x00002f74 bal 0xe820 | fcn_0000e820 ();
0x00002f78 lw gp, 0x70(sp) | gp = *(var_70h);
0x00002f7c lw t0, 0x80(sp) | t0 = *(var_80h);
0x00002f80 lw t1, 0x84(sp) | t1 = *(var_84h);
0x00002f84 lw a1, -0x7fcc(gp) | a1 = *(gp);
0x00002f88 lw t9, -0x7dd4(gp) | t9 = sym.imp.__printf_chk;
0x00002f8c sw v1, 0x14(sp) | *(var_14h) = v1;
0x00002f90 sw v0, 0x10(sp) | *(var_10h) = v0;
0x00002f94 move a2, t0 | a2 = t0;
0x00002f98 move a3, t1 | a3 = t1;
0x00002f9c addiu a1, a1, -0x970 | a1 += -0x970;
0x00002fa0 addiu a0, zero, 1 | a0 = 1;
0x00002fa4 jalr t9 | t9 ();
0x00002fa8 lw v0, (fp) | v0 = *(fp);
0x00002fac andi v1, v0, 0x200 | v1 = v0 & aav.0x00000200;
0x00002fb0 lw gp, 0x70(sp) | gp = *(var_70h);
| if (v1 != 0) {
0x00002fb4 bnez v1, 0x343c | goto label_7;
| }
0x00002fb8 andi v0, v0, 0x20 | v0 &= 0x20;
0x00002fbc lw t9, -0x7e24(gp) | t9 = sym.imp.__sprintf_chk
0x00002fc0 addiu fp, sp, 0x94 | fp = sp + 0x94;
| if (v0 != 0) {
0x00002fc4 bnez v0, 0x33fc | goto label_8;
| }
0x00002fc8 lw a3, -0x7fcc(gp) | a3 = *(gp);
0x00002fcc addiu a3, a3, -0x8e0 | a3 += -0x8e0;
| label_0:
0x00002fd0 addiu a2, zero, 0x100 | a2 = aav.0x00000100;
0x00002fd4 addiu a1, zero, 1 | a1 = 1;
0x00002fd8 move a0, fp | a0 = fp;
0x00002fdc jalr t9 | t9 ();
0x00002fe0 lw gp, 0x70(sp) | gp = *(var_70h);
0x00002fe4 lw t9, -0x7fb8(gp) | t9 = *(gp);
0x00002fe8 lw a0, 0x1d0(sp) | a0 = *(arg_1d0h);
0x00002fec bal 0xedc0 | fcn_0000edc0 ();
0x00002ff0 lw gp, 0x70(sp) | gp = *(var_70h);
0x00002ff4 lw a0, 0x18(s0) | a0 = *((s0 + 6));
0x00002ff8 lw a1, 0x1c(s0) | a1 = *((s0 + 7));
0x00002ffc lw t9, -0x7fc0(gp) | t9 = *(gp);
0x00003000 move a2, v0 | a2 = v0;
0x00003004 move a3, v1 | a3 = v1;
0x00003008 sw v0, 0x80(sp) | *(var_80h) = v0;
0x0000300c sw v1, 0x84(sp) | *(var_84h) = v1;
0x00003010 bal 0xddc0 | fcn_0000ddc0 ();
0x00003014 lw gp, 0x70(sp) | gp = *(var_70h);
0x00003018 lw t0, 0x80(sp) | t0 = *(var_80h);
0x0000301c lw t1, 0x84(sp) | t1 = *(var_84h);
0x00003020 lw a0, 0x20(s0) | a0 = *((s0 + 8));
0x00003024 lw t9, -0x7fc0(gp) | t9 = *(gp);
0x00003028 lw a1, 0x24(s0) | a1 = *((s0 + 9));
0x0000302c move a2, t0 | a2 = t0;
0x00003030 move a3, t1 | a3 = t1;
0x00003034 sw v0, 0x18(s0) | *((s0 + 6)) = v0;
0x00003038 sw v1, 0x1c(s0) | *((s0 + 7)) = v1;
0x0000303c sw v0, 0x88(sp) | *(var_88h) = v0;
0x00003040 sw v1, 0x8c(sp) | *(var_8ch) = v1;
0x00003044 bal 0xddc0 | fcn_0000ddc0 ();
0x00003048 lw gp, 0x70(sp) | gp = *(var_70h);
0x0000304c lw t0, 0x80(sp) | t0 = *(var_80h);
0x00003050 lw t1, 0x84(sp) | t1 = *(var_84h);
0x00003054 lw a0, 0x28(s0) | a0 = *((s0 + 10));
0x00003058 lw t9, -0x7fc0(gp) | t9 = *(gp);
0x0000305c lw a1, 0x2c(s0) | a1 = *((s0 + 11));
0x00003060 move a2, t0 | a2 = t0;
0x00003064 move a3, t1 | a3 = t1;
0x00003068 sw v0, 0x20(s0) | *((s0 + 8)) = v0;
0x0000306c sw v1, 0x24(s0) | *((s0 + 9)) = v1;
0x00003070 sw v0, 0x80(sp) | *(var_80h) = v0;
0x00003074 sw v1, 0x84(sp) | *(var_84h) = v1;
0x00003078 bal 0xddc0 | fcn_0000ddc0 ();
0x0000307c lw gp, 0x70(sp) | gp = *(var_70h);
0x00003080 lw t2, 0x88(sp) | t2 = *(var_88h);
0x00003084 lw t3, 0x8c(sp) | t3 = *(var_8ch);
0x00003088 lw t4, 0x80(sp) | t4 = *(var_80h);
0x0000308c lw t5, 0x84(sp) | t5 = *(var_84h);
0x00003090 lw t9, -0x7dd4(gp) | t9 = sym.imp.__printf_chk;
0x00003094 move a2, t2 | a2 = t2;
0x00003098 move a3, t3 | a3 = t3;
0x0000309c sw v1, 0x2c(s0) | *((s0 + 11)) = v1;
0x000030a0 sw v0, 0x28(s0) | *((s0 + 10)) = v0;
0x000030a4 move a1, fp | a1 = fp;
0x000030a8 sw t4, 0x10(sp) | *(var_10h) = t4;
0x000030ac sw t5, 0x14(sp) | *(var_14h) = t5;
0x000030b0 addiu a0, zero, 1 | a0 = 1;
0x000030b4 sw v1, 0x1c(sp) | *(var_1ch) = v1;
0x000030b8 sw v0, 0x18(sp) | *(var_18h) = v0;
0x000030bc jalr t9 | t9 ();
0x000030c0 lw gp, 0x70(sp) | gp = *(var_70h);
0x000030c4 lw a0, 0x10(s2) | a0 = *((s2 + 4));
0x000030c8 lw v0, 0x10(s1) | v0 = *((s1 + 4));
0x000030cc lw t9, -0x7fc4(gp) | t9 = *(gp);
0x000030d0 subu a0, a0, v0 | __asm ("subu a0, a0, v0");
0x000030d4 bal 0xeea0 | fcn_0000eea0 ();
0x000030d8 lw gp, 0x70(sp) | gp = *(var_70h);
0x000030dc move a2, s4 | a2 = s4;
0x000030e0 move a3, s5 | a3 = s5;
0x000030e4 lw t9, -0x7fc0(gp) | t9 = *(gp);
0x000030e8 move a0, v0 | a0 = v0;
0x000030ec move a1, v1 | a1 = v1;
0x000030f0 bal 0xddc0 | fcn_0000ddc0 ();
0x000030f4 lw gp, 0x70(sp) | gp = *(var_70h);
0x000030f8 lw a2, 0x18(s3) | a2 = *((s3 + 6));
0x000030fc lw a3, 0x1c(s3) | a3 = *((s3 + 7));
0x00003100 lw t9, -0x7fbc(gp) | t9 = *(gp);
0x00003104 move a0, v0 | a0 = v0;
0x00003108 move a1, v1 | a1 = v1;
0x0000310c bal 0xe820 | fcn_0000e820 ();
0x00003110 lw gp, 0x70(sp) | gp = *(var_70h);
0x00003114 lw a1, 0x38(s2) | a1 = *((s2 + 14));
0x00003118 lw a0, 0x38(s1) | a0 = *((s1 + 14));
0x0000311c lw t9, -0x7fc4(gp) | t9 = *(gp);
0x00003120 subu a0, a1, a0 | __asm ("subu a0, a1, a0");
0x00003124 sw v0, 0x80(sp) | *(var_80h) = v0;
0x00003128 sw v1, 0x84(sp) | *(var_84h) = v1;
0x0000312c bal 0xeea0 | fcn_0000eea0 ();
0x00003130 lw gp, 0x70(sp) | gp = *(var_70h);
0x00003134 move a2, s4 | a2 = s4;
0x00003138 move a3, s5 | a3 = s5;
0x0000313c lw t9, -0x7fc0(gp) | t9 = *(gp);
0x00003140 move a0, v0 | a0 = v0;
0x00003144 move a1, v1 | a1 = v1;
0x00003148 bal 0xddc0 | fcn_0000ddc0 ();
0x0000314c lw gp, 0x70(sp) | gp = *(var_70h);
0x00003150 lw a2, 0x18(s3) | a2 = *((s3 + 6));
0x00003154 lw a3, 0x1c(s3) | a3 = *((s3 + 7));
0x00003158 lw t9, -0x7fbc(gp) | t9 = *(gp);
0x0000315c move a0, v0 | a0 = v0;
0x00003160 move a1, v1 | a1 = v1;
0x00003164 bal 0xe820 | fcn_0000e820 ();
0x00003168 lw gp, 0x70(sp) | gp = *(var_70h);
0x0000316c move a1, v1 | a1 = v1;
0x00003170 lw a0, -0x7fcc(gp) | a0 = *(gp);
0x00003174 lw t9, -0x7fc0(gp) | t9 = *(gp);
0x00003178 lw fp, -0x7fcc(gp) | fp = *(gp);
0x0000317c lw a2, 0x20(a0) | a2 = *((a0 + 8));
0x00003180 lw a3, 0x24(a0) | a3 = *((a0 + 9));
0x00003184 move a0, v0 | a0 = v0;
0x00003188 bal 0xddc0 | fcn_0000ddc0 ();
0x0000318c lw gp, 0x70(sp) | gp = *(var_70h);
0x00003190 lw a0, 0x60(s0) | a0 = *((s0 + 24));
0x00003194 lw a1, 0x64(s0) | a1 = *((s0 + 25));
0x00003198 lw a2, 0x28(fp) | a2 = *(arg_1e8h);
0x0000319c lw t9, -0x7fbc(gp) | t9 = *(gp);
0x000031a0 lw a3, 0x2c(fp) | a3 = *(arg_2ch);
0x000031a4 sw v0, 0x68(sp) | *(var_68h) = v0;
0x000031a8 sw v1, 0x6c(sp) | *(var_6ch) = v1;
0x000031ac bal 0xe820 | fcn_0000e820 ();
0x000031b0 lw gp, 0x70(sp) | gp = *(var_70h);
0x000031b4 lw a0, 0x58(s0) | a0 = *((s0 + 22));
0x000031b8 lw a1, 0x5c(s0) | a1 = *((s0 + 23));
0x000031bc lw a2, 0x28(fp) | a2 = *(arg_1e8h);
0x000031c0 lw t9, -0x7fbc(gp) | t9 = *(gp);
0x000031c4 lw a3, 0x2c(fp) | a3 = *(arg_2ch);
0x000031c8 sw v0, 0x60(sp) | *(var_60h) = v0;
0x000031cc sw v1, 0x64(sp) | *(var_64h) = v1;
0x000031d0 bal 0xe820 | fcn_0000e820 ();
0x000031d4 lw gp, 0x70(sp) | gp = *(var_70h);
0x000031d8 lw a0, 0x50(s0) | a0 = *((s0 + 20));
0x000031dc lw a1, 0x54(s0) | a1 = *((s0 + 21));
0x000031e0 lw a2, 0x28(fp) | a2 = *(arg_1e8h);
0x000031e4 lw t9, -0x7fbc(gp) | t9 = *(gp);
0x000031e8 lw a3, 0x2c(fp) | a3 = *(arg_2ch);
0x000031ec sw v0, 0x58(sp) | *(var_58h) = v0;
0x000031f0 sw v1, 0x5c(sp) | *(var_5ch) = v1;
0x000031f4 bal 0xe820 | fcn_0000e820 ();
0x000031f8 lw t2, 0x10(s0) | t2 = *((s0 + 4));
0x000031fc lw t3, 0x14(s0) | t3 = *((s0 + 5));
0x00003200 lw t4, 0x48(s0) | t4 = *((s0 + 18));
0x00003204 lw t5, 0x4c(s0) | t5 = *((s0 + 19));
0x00003208 lw a2, 8(s0) | a2 = *((s0 + 2));
0x0000320c lw a3, 0xc(s0) | a3 = *((s0 + 3));
0x00003210 lw a0, (s0) | a0 = *(s0);
0x00003214 lw a1, 4(s0) | a1 = *((s0 + 1));
0x00003218 lw gp, 0x70(sp) | gp = *(var_70h);
0x0000321c sw t2, 0x48(sp) | *(var_48h) = t2;
0x00003220 sw t3, 0x4c(sp) | *(var_4ch) = t3;
0x00003224 sw t4, 0x30(sp) | *(var_30h) = t4;
0x00003228 sw t5, 0x34(sp) | *(var_34h) = t5;
0x0000322c sw v0, 0x50(sp) | *(var_50h) = v0;
0x00003230 sw v1, 0x54(sp) | *(var_54h) = v1;
0x00003234 sw a2, 0x40(sp) | *(var_40h) = a2;
0x00003238 sw a3, 0x44(sp) | *(var_44h) = a3;
0x0000323c sw a0, 0x38(sp) | *(var_38h) = a0;
0x00003240 sw a1, 0x3c(sp) | *(var_3ch) = a1;
0x00003244 lw a1, 0x20(s2) | a1 = *((s2 + 8));
0x00003248 lw a2, 0x40(s0) | a2 = *((s0 + 16));
0x0000324c lw a3, 0x44(s0) | a3 = *((s0 + 17));
0x00003250 lw a0, 0x20(s1) | a0 = *((s1 + 8));
0x00003254 lw v0, 0x38(s0) | v0 = *((s0 + 14));
0x00003258 lw v1, 0x3c(s0) | v1 = *((s0 + 15));
0x0000325c lw t9, -0x7fc4(gp) | t9 = *(gp);
0x00003260 subu a0, a1, a0 | __asm ("subu a0, a1, a0");
0x00003264 sw a2, 0x28(sp) | *(var_28h) = a2;
0x00003268 sw a3, 0x2c(sp) | *(var_2ch) = a3;
0x0000326c sw v0, 0x20(sp) | *(var_20h) = v0;
0x00003270 sw v1, 0x24(sp) | *(var_24h) = v1;
0x00003274 bal 0xeea0 | fcn_0000eea0 ();
0x00003278 lw gp, 0x70(sp) | gp = *(var_70h);
0x0000327c move a2, s4 | a2 = s4;
0x00003280 move a3, s5 | a3 = s5;
0x00003284 lw t9, -0x7fc0(gp) | t9 = *(gp);
0x00003288 move a0, v0 | a0 = v0;
0x0000328c move a1, v1 | a1 = v1;
0x00003290 bal 0xddc0 | fcn_0000ddc0 ();
0x00003294 lw gp, 0x70(sp) | gp = *(var_70h);
0x00003298 lw a2, 0x18(s3) | a2 = *((s3 + 6));
0x0000329c lw a3, 0x1c(s3) | a3 = *((s3 + 7));
0x000032a0 lw t9, -0x7fbc(gp) | t9 = *(gp);
0x000032a4 move a0, v0 | a0 = v0;
0x000032a8 move a1, v1 | a1 = v1;
0x000032ac bal 0xe820 | fcn_0000e820 ();
0x000032b0 lw gp, 0x70(sp) | gp = *(var_70h);
0x000032b4 lw a1, 0x18(s2) | a1 = *((s2 + 6));
0x000032b8 lw a0, 0x18(s1) | a0 = *((s1 + 6));
0x000032bc lw t9, -0x7fc4(gp) | t9 = *(gp);
0x000032c0 subu a0, a1, a0 | __asm ("subu a0, a1, a0");
0x000032c4 sw v0, 0x18(sp) | *(var_18h) = v0;
0x000032c8 sw v1, 0x1c(sp) | *(var_1ch) = v1;
0x000032cc bal 0xeea0 | fcn_0000eea0 ();
0x000032d0 lw gp, 0x70(sp) | gp = *(var_70h);
0x000032d4 move a2, s4 | a2 = s4;
0x000032d8 move a3, s5 | a3 = s5;
0x000032dc lw t9, -0x7fc0(gp) | t9 = *(gp);
0x000032e0 move a0, v0 | a0 = v0;
0x000032e4 move a1, v1 | a1 = v1;
0x000032e8 bal 0xddc0 | fcn_0000ddc0 ();
0x000032ec lw gp, 0x70(sp) | gp = *(var_70h);
0x000032f0 lw a2, 0x18(s3) | a2 = *((s3 + 6));
0x000032f4 lw a3, 0x1c(s3) | a3 = *((s3 + 7));
0x000032f8 lw t9, -0x7fbc(gp) | t9 = *(gp);
0x000032fc move a0, v0 | a0 = v0;
0x00003300 move a1, v1 | a1 = v1;
0x00003304 bal 0xe820 | fcn_0000e820 ();
0x00003308 lw gp, 0x70(sp) | gp = *(var_70h);
0x0000330c lw t0, 0x80(sp) | t0 = *(var_80h);
0x00003310 lw t1, 0x84(sp) | t1 = *(var_84h);
0x00003314 lw a1, -0x7fcc(gp) | a1 = *(gp);
0x00003318 lw t9, -0x7dd4(gp) | t9 = sym.imp.__printf_chk;
0x0000331c addiu a0, zero, 1 | a0 = 1;
0x00003320 sw v0, 0x10(sp) | *(var_10h) = v0;
0x00003324 sw v1, 0x14(sp) | *(var_14h) = v1;
0x00003328 move a2, t0 | a2 = t0;
0x0000332c move a3, t1 | a3 = t1;
0x00003330 addiu a1, a1, -0x8ac | a1 += -0x8ac;
0x00003334 jalr t9 | t9 ();
0x00003338 lw v0, 0x7c(sp) | v0 = *(var_7ch);
0x0000333c lw a0, 0x80(v0) | a0 = *((v0 + 32));
0x00003340 slti v0, a0, 4 | v0 = (a0 < 4) ? 1 : 0;
0x00003344 lw gp, 0x70(sp) | gp = *(var_70h);
0x00003348 bnez v0, 0x2e54 |
| } while (v0 != 0);
| label_5:
0x0000334c lw t9, -0x7fb8(gp) | t9 = *(gp);
0x00003350 addiu a0, a0, -3 | a0 += -3;
0x00003354 bal 0xedc0 | fcn_0000edc0 ();
0x00003358 lw gp, 0x70(sp) | gp = *(var_70h);
0x0000335c move s0, v0 | s0 = v0;
0x00003360 move s1, v1 | s1 = v1;
| label_6:
0x00003364 lw v0, -0x7fcc(gp) | v0 = *(gp);
0x00003368 lw t9, -0x7fc0(gp) | t9 = *(gp);
0x0000336c lw a0, (s6) | a0 = *(s6);
0x00003370 lw a1, 4(s6) | a1 = *((s6 + 1));
0x00003374 lw a2, 0x30(v0) | a2 = *((v0 + 12));
0x00003378 lw a3, 0x34(v0) | a3 = *((v0 + 13));
0x0000337c bal 0xddc0 | fcn_0000ddc0 ();
0x00003380 lw gp, 0x70(sp) | gp = *(var_70h);
0x00003384 move a0, v0 | a0 = v0;
0x00003388 move a1, v1 | a1 = v1;
0x0000338c lw t9, -0x7fc0(gp) | t9 = *(gp);
0x00003390 move a2, s0 | a2 = s0;
0x00003394 move a3, s1 | a3 = s1;
0x00003398 bal 0xddc0 | fcn_0000ddc0 ();
0x0000339c lw gp, 0x70(sp) | gp = *(var_70h);
0x000033a0 move a3, v1 | a3 = v1;
0x000033a4 move a2, v0 | a2 = v0;
0x000033a8 lw a1, -0x7fcc(gp) | a1 = *(gp);
0x000033ac lw t9, -0x7dd4(gp) | t9 = sym.imp.__printf_chk;
0x000033b0 addiu a1, a1, -0x7d8 | a1 += -0x7d8;
0x000033b4 addiu a0, zero, 1 | a0 = 1;
0x000033b8 jalr t9 | t9 ();
0x000033bc lw v1, 0x194(sp) | v1 = *(var_194h);
0x000033c0 lw v0, (s7) | v0 = *(s7);
0x000033c4 lw gp, 0x70(sp) | gp = *(var_70h);
| if (v1 == v0) {
0x000033c8 bne v1, v0, 0x3450 |
0x000033cc lw ra, 0x1bc(sp) | ra = *(var_1bch);
0x000033d0 lw fp, 0x1b8(sp) | fp = *(var_1b8h);
0x000033d4 lw s7, 0x1b4(sp) | s7 = *(var_1b4h);
0x000033d8 lw s6, 0x1b0(sp) | s6 = *(var_1b0h);
0x000033dc lw s5, 0x1ac(sp) | s5 = *(var_1ach);
0x000033e0 lw s4, 0x1a8(sp) | s4 = *(var_1a8h);
0x000033e4 lw s3, 0x1a4(sp) | s3 = *(var_1a4h);
0x000033e8 lw s2, 0x1a0(sp) | s2 = *(var_1a0h);
0x000033ec lw s1, 0x19c(sp) | s1 = *(var_19ch);
0x000033f0 lw s0, 0x198(sp) | s0 = *(var_198h);
0x000033f4 addiu sp, sp, 0x1c0 |
0x000033f8 jr ra | return v1;
| label_8:
0x000033fc lw a3, -0x7fcc(gp) | a3 = *(gp);
0x00003400 addiu a3, a3, -0x914 | a3 += -0x914;
0x00003404 b 0x2fd0 | goto label_0;
| label_4:
0x00003408 lw a1, -0x7fcc(gp) | a1 = *(gp);
0x0000340c addiu a0, zero, 1 | a0 = 1;
0x00003410 addiu a1, a1, -0x9cc | a1 += -0x9cc;
0x00003414 jalr t9 | t9 ();
0x00003418 lw gp, 0x70(sp) | gp = *(var_70h);
0x0000341c b 0x2cb8 | goto label_1;
| label_3:
0x00003420 lw a1, -0x7fcc(gp) | a1 = *(gp);
0x00003424 lw t9, -0x7dd4(gp) | t9 = sym.imp.__printf_chk;
0x00003428 addiu a1, a1, -0x9d4 | a1 += -0x9d4;
0x0000342c addiu a0, zero, 1 | a0 = 1;
0x00003430 jalr t9 | t9 ();
0x00003434 lw gp, 0x70(sp) | gp = *(var_70h);
0x00003438 b 0x2cb8 | goto label_1;
| label_7:
0x0000343c lw a3, -0x7fcc(gp) | a3 = *(gp);
0x00003440 lw t9, -0x7e24(gp) | t9 = sym.imp.__sprintf_chk
0x00003444 addiu fp, sp, 0x94 | fp = sp + 0x94;
0x00003448 addiu a3, a3, -0x948 | a3 += -0x948;
0x0000344c b 0x2fd0 | goto label_0;
| }
0x00003450 lw t9, -0x7d50(gp) | t9 = sym.imp.__stack_chk_fail;
0x00003454 jalr t9 | t9 ();
0x00003458 nop |
| }
; assembly | /* r2dec pseudo code output */
| /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/bin/iostat @ 0xc21c */
| #include <stdint.h>
|
; (fcn) sym.ioc_init () | void ioc_init () {
0x0000c21c lui gp, 2 |
0x0000c220 addiu gp, gp, -0x316c |
0x0000c224 addu gp, gp, t9 | gp += t9;
0x0000c228 lw v0, -0x7d3c(gp) | v0 = *((gp - 8015));
0x0000c22c addiu sp, sp, -0x248 |
0x0000c230 lw t9, -0x7d30(gp) | t9 = sym.imp.fopen;
0x0000c234 sw s1, 0x224(sp) | *(var_224h) = s1;
0x0000c238 sw s0, 0x220(sp) | *(var_220h) = s0;
0x0000c23c lw s1, -0x7fcc(gp) | s1 = *(gp);
0x0000c240 lw s0, -0x7fcc(gp) | s0 = *(gp);
0x0000c244 sw v0, 0x50(sp) | *(var_50h) = v0;
0x0000c248 lw v0, (v0) | v0 = *(v0);
0x0000c24c sw gp, 0x30(sp) | *(var_30h) = gp;
0x0000c250 sw ra, 0x244(sp) | *(var_244h) = ra;
0x0000c254 sw fp, 0x240(sp) | *(var_240h) = fp;
0x0000c258 sw s7, 0x23c(sp) | *(var_23ch) = s7;
0x0000c25c sw s6, 0x238(sp) | *(var_238h) = s6;
0x0000c260 sw s5, 0x234(sp) | *(var_234h) = s5;
0x0000c264 sw s4, 0x230(sp) | *(var_230h) = s4;
0x0000c268 sw s3, 0x22c(sp) | *(var_22ch) = s3;
0x0000c26c sw s2, 0x228(sp) | *(var_228h) = s2;
0x0000c270 addiu a1, s1, 0x2fc | a1 = s1 + aav.0x000002fc;
| /* str._etc_sysconfig_sysstat.ioconf */
0x0000c274 addiu a0, s0, 0x524 | a0 = s0 + aav.0x00000524;
0x0000c278 sw v0, 0x21c(sp) | *(var_21ch) = v0;
0x0000c27c jalr t9 | t9 ();
0x0000c280 nop |
0x0000c284 lw gp, 0x30(sp) | gp = *(var_30h);
| if (v0 == 0) {
0x0000c288 beqz v0, 0xc9ec | goto label_13;
| }
0x0000c28c lw t9, -0x7db8(gp) | t9 = sym.imp.strncpy;
0x0000c290 addiu s7, sp, 0xdc | s7 = sp + 0xdc;
0x0000c294 addiu a2, zero, 0x40 | a2 = 0x40;
| /* str._etc_sysconfig_sysstat.ioconf */
0x0000c298 addiu a1, s0, 0x524 | a1 = s0 + aav.0x00000524;
0x0000c29c move a0, s7 | a0 = s7;
0x0000c2a0 move s6, v0 | s6 = v0;
0x0000c2a4 jalr t9 | t9 ();
0x0000c2a8 lw gp, 0x30(sp) | gp = *(var_30h);
| label_12:
0x0000c2ac lw v0, -0x7eb0(gp) | v0 = *((gp - 8108));
0x0000c2b0 lw t9, -0x7dac(gp) | t9 = sym.imp.memset;
0x0000c2b4 addiu v0, v0, 0x4ef4 | v0 += 0x4ef4;
0x0000c2b8 sw v0, 0x4c(sp) | *(var_4ch) = v0;
0x0000c2bc addiu a2, zero, 0x800 | a2 = 0x800;
0x0000c2c0 move a1, zero | a1 = 0;
0x0000c2c4 move a0, v0 | a0 = v0;
0x0000c2c8 sb zero, 0x11b(sp) | *(var_11bh) = 0;
0x0000c2cc jalr t9 | t9 ();
0x0000c2d0 lw gp, 0x30(sp) | gp = *(var_30h);
0x0000c2d4 move s2, zero | s2 = 0;
0x0000c2d8 move s0, zero | s0 = 0;
0x0000c2dc lw v0, -0x7fcc(gp) | v0 = *(gp);
0x0000c2e0 sw zero, 0x48(sp) | *(var_48h) = 0;
0x0000c2e4 sw v0, 0x3c(sp) | *(var_3ch) = v0;
0x0000c2e8 lw v0, -0x7eb0(gp) | v0 = *((gp - 8108));
0x0000c2ec addiu fp, sp, 0x11c | fp = sp + 0x11c;
0x0000c2f0 addiu v0, v0, 0x56f4 | v0 += 0x56f4;
0x0000c2f4 sw v0, 0x40(sp) | *(var_40h) = v0;
0x0000c2f8 lw v0, -0x7fcc(gp) | v0 = *(gp);
| /* str._s:_Indirect_record__u:_u:_u:..._references_not_yet_seen_major__u_n */
0x0000c2fc addiu v0, v0, 0x5b4 | v0 += 0x5b4;
0x0000c300 sw v0, 0x5c(sp) | *(var_5ch) = v0;
0x0000c304 lw v0, -0x7fcc(gp) | v0 = *(gp);
0x0000c308 sw v0, 0x54(sp) | *(var_54h) = v0;
0x0000c30c lw v0, -0x7fcc(gp) | v0 = *(gp);
0x0000c310 addiu v0, v0, 0x6ac | v0 += 0x6ac;
0x0000c314 sw v0, 0x58(sp) | *(var_58h) = v0;
| do {
| label_2:
0x0000c318 lw t9, -0x7d40(gp) | t9 = sym.imp.fgets;
| label_0:
0x0000c31c move a2, s6 | a2 = s6;
0x0000c320 addiu a1, zero, 0xff | a1 = 0xff;
0x0000c324 move a0, fp | a0 = fp;
0x0000c328 jalr t9 | t9 ();
0x0000c32c lw gp, 0x30(sp) | gp = *(var_30h);
| if (v0 == 0) {
0x0000c330 beqz v0, 0xc598 | goto label_14;
| }
| label_1:
0x0000c334 lb v0, 0x11c(sp) | v0 = *(var_11ch);
0x0000c338 addiu a0, zero, 0x23 | a0 = 0x23;
0x0000c33c addiu a0, zero, 0xa | a0 = 0xa;
0x0000c340 beq v0, a0, 0xc318 |
| } while (v0 == a0);
0x0000c344 lw t9, -0x7d40(gp) | t9 = sym.imp.fgets;
| if (v0 == a0) {
0x0000c348 beq v0, a0, 0xc31c | goto label_0;
| }
0x0000c34c lw t9, -0x7d7c(gp) | t9 = sym.imp.malloc;
| if (s2 == 0) {
0x0000c350 beqz s2, 0xc74c | goto label_15;
| }
| label_5:
0x0000c354 lw t9, -0x7d7c(gp) | t9 = sym.imp.malloc;
| if (s0 == 0) {
0x0000c358 beqz s0, 0xc6e8 | goto label_16;
| }
| label_3:
0x0000c35c lw t9, -0x7dac(gp) | t9 = sym.imp.memset;
0x0000c360 addiu a2, zero, 0xf0 | a2 = 0xf0;
0x0000c364 move a1, zero | a1 = 0;
0x0000c368 move a0, s2 | a0 = s2;
0x0000c36c jalr t9 | t9 ();
0x0000c370 lw gp, 0x30(sp) | gp = *(var_30h);
0x0000c374 lw v0, 0x3c(sp) | v0 = *(var_3ch);
0x0000c378 addiu s4, s0, 4 | s4 = s0 + 4;
0x0000c37c lw t9, -0x7da8(gp) | t9 = sym.imp.__isoc99_sscanf;
0x0000c380 addiu s5, sp, 0x68 | s5 = sp + 0x68;
0x0000c384 addiu s3, sp, 0x64 | s3 = sp + 0x64;
0x0000c388 addiu s1, sp, 0x9c | s1 = sp + 0x9c;
0x0000c38c sw zero, (s0) | *(s0) = 0;
0x0000c390 sw zero, 4(s0) | *((s0 + 1)) = 0;
0x0000c394 sw zero, 8(s0) | *((s0 + 2)) = 0;
0x0000c398 sw zero, 0xc(s0) | *((s0 + 3)) = 0;
0x0000c39c sw zero, 0x10(s0) | *((s0 + 4)) = 0;
0x0000c3a0 move a0, fp | a0 = fp;
0x0000c3a4 move a3, s5 | a3 = s5;
0x0000c3a8 sw s1, 0x14(sp) | *(var_14h) = s1;
0x0000c3ac sw s4, 0x10(sp) | *(var_10h) = s4;
0x0000c3b0 move a2, s3 | a2 = s3;
0x0000c3b4 addiu a1, v0, 0x558 | a1 = v0 + 0x558;
0x0000c3b8 jalr t9 | t9 ();
0x0000c3bc addiu a0, zero, 4 | a0 = 4;
0x0000c3c0 lw gp, 0x30(sp) | gp = *(var_30h);
| if (v0 == a0) {
0x0000c3c4 beq v0, a0, 0xc618 | goto label_17;
| }
0x0000c3c8 lw a1, -0x7fcc(gp) | a1 = *(gp);
0x0000c3cc lw t9, -0x7da8(gp) | t9 = sym.imp.__isoc99_sscanf;
0x0000c3d0 move a0, fp | a0 = fp;
0x0000c3d4 sw s4, 0x10(sp) | *(var_10h) = s4;
0x0000c3d8 move a3, s5 | a3 = s5;
0x0000c3dc move a2, s3 | a2 = s3;
| /* str._u:_u:_u */
0x0000c3e0 addiu a1, a1, 0x564 | a1 += aav.0x00000564;
0x0000c3e4 jalr t9 | t9 ();
0x0000c3e8 addiu a0, v0, -3 | a0 = v0 + -3;
0x0000c3ec sltiu a0, a0, 2 | a0 = (a0 < 2) ? 1 : 0;
0x0000c3f0 lw gp, 0x30(sp) | gp = *(var_30h);
| if (a0 != 0) {
0x0000c3f4 bnez a0, 0xc61c | goto label_18;
| }
0x0000c3f8 addiu v0, sp, 0x8c | v0 = sp + 0x8c;
0x0000c3fc move v1, v0 | v1 = v0;
0x0000c400 lw a1, -0x7fcc(gp) | a1 = *(gp);
0x0000c404 sw v0, 0x44(sp) | *(var_44h) = v0;
0x0000c408 addiu v0, s2, 0x7c | v0 = s2 + 0x7c;
0x0000c40c lw t9, -0x7da8(gp) | t9 = sym.imp.__isoc99_sscanf;
0x0000c410 addiu a0, s2, 0x80 | a0 = s2 + 0x80;
0x0000c414 sw v0, 0x1c(sp) | *(var_1ch) = v0;
0x0000c418 addiu s5, sp, 0x6c | s5 = sp + 0x6c;
0x0000c41c addiu v0, sp, 0x7c | v0 = sp + 0x7c;
0x0000c420 sw a0, 0x24(sp) | *(var_24h) = a0;
0x0000c424 sw s1, 0x28(sp) | *(var_28h) = s1;
0x0000c428 move a0, fp | a0 = fp;
0x0000c42c sw v1, 0x20(sp) | *(var_20h) = v1;
0x0000c430 sw v0, 0x18(sp) | *(var_18h) = v0;
0x0000c434 sw s4, 0x14(sp) | *(var_14h) = s4;
0x0000c438 sw s5, 0x10(sp) | *(var_10h) = s5;
0x0000c43c move a3, s2 | a3 = s2;
0x0000c440 move a2, s3 | a2 = s3;
| /* str._u:__:_:__:_:_u:__:_:_u:__:_:_u:_s */
0x0000c444 addiu a1, a1, 0x5fc | a1 += 0x5fc;
0x0000c448 jalr t9 | t9 ();
0x0000c44c addiu a0, zero, 9 | a0 = 9;
0x0000c450 lw gp, 0x30(sp) | gp = *(var_30h);
| if (v0 != a0) {
0x0000c454 bne v0, a0, 0xc7a4 | goto label_19;
| }
0x0000c458 lw a1, 0x64(sp) | a1 = *(var_64h);
0x0000c45c addiu v0, a1, -1 | v0 = a1 + -1;
0x0000c460 sltiu v0, v0, 0x1fe | v0 = (v0 < 0x1fe) ? 1 : 0;
0x0000c464 lb v0, 0x6c(sp) | v0 = *(var_6ch);
| if (v0 == 0) {
0x0000c468 beqz v0, 0xc8f0 | goto label_20;
| }
0x0000c46c addiu a0, zero, 0x78 | a0 = 0x78;
0x0000c470 lw v1, 0x40(sp) | v1 = *(var_40h);
| if (v0 == a0) {
0x0000c474 beq v0, a0, 0xc848 | goto label_21;
| }
0x0000c478 addiu a1, zero, 0x2a | a1 = 0x2a;
0x0000c47c addiu a0, s2, 0x20 | a0 = s2 + 0x20;
| if (v0 == a1) {
0x0000c480 beq v0, a1, 0xc928 | goto label_22;
| }
0x0000c484 lw a3, -0x7fcc(gp) | a3 = *(gp);
0x0000c488 lw t9, -0x7e24(gp) | t9 = sym.imp.__sprintf_chk
0x0000c48c sw s5, 0x14(sp) | *(var_14h) = s5;
0x0000c490 sw s2, 0x10(sp) | *(var_10h) = s2;
| /* str._s_s__d */
0x0000c494 addiu a3, a3, 0x6f4 | a3 += 0x6f4;
0x0000c498 addiu a2, zero, 0x33 | a2 = 0x33;
0x0000c49c addiu a1, zero, 1 | a1 = 1;
0x0000c4a0 jalr t9 | t9 ();
0x0000c4a4 lw v0, 0x78(s2) | v0 = *((s2 + 30));
0x0000c4a8 lw gp, 0x30(sp) | gp = *(var_30h);
0x0000c4ac addiu v0, v0, 1 | v0++;
0x0000c4b0 sw v0, 0x78(s2) | *((s2 + 30)) = v0;
0x0000c4b4 lb v0, 0x7c(sp) | v0 = *(var_7ch);
0x0000c4b8 addiu a0, zero, 0x61 | a0 = 0x61;
0x0000c4bc sb zero, 0x53(s2) | *((s2 + 83)) = 0;
| if (v0 == a0) {
0x0000c4c0 beq v0, a0, 0xc950 | goto label_23;
| }
| label_8:
0x0000c4c4 addiu a0, zero, 0x64 | a0 = 0x64;
0x0000c4c8 addiu a3, s2, 0x53 | a3 = s2 + 0x53;
| if (v0 == a0) {
0x0000c4cc beq v0, a0, 0xc9c4 | goto label_24;
| }
0x0000c4d0 addiu a0, zero, 0x25 | a0 = 0x25;
0x0000c4d4 lw t9, -0x7db8(gp) | t9 = sym.imp.strncpy;
| if (v0 == a0) {
0x0000c4d8 beq v0, a0, 0xc9a8 | goto label_25;
| }
| label_9:
0x0000c4dc lb a1, 0x8c(sp) | a1 = *(var_8ch);
0x0000c4e0 addiu v0, zero, 0x2a | v0 = 0x2a;
0x0000c4e4 addiu a0, s2, 0x63 | a0 = s2 + 0x63;
| if (a1 == v0) {
0x0000c4e8 beq a1, v0, 0xc920 | goto label_26;
| }
0x0000c4ec lw v0, 0x44(sp) | v0 = *(var_44h);
| label_7:
0x0000c4f0 lw a3, -0x7fcc(gp) | a3 = *(gp);
0x0000c4f4 lw t9, -0x7e24(gp) | t9 = sym.imp.__sprintf_chk
0x0000c4f8 addiu a1, zero, 1 | a1 = 1;
0x0000c4fc sw v0, 0x10(sp) | *(var_10h) = v0;
| /* str._s__d */
0x0000c500 addiu a3, a3, 0x6fc | a3 += 0x6fc;
0x0000c504 addiu a2, zero, 0x12 | a2 = 0x12;
0x0000c508 jalr t9 | t9 ();
0x0000c50c lw a0, 0x64(sp) | a0 = *(var_64h);
0x0000c510 lw v1, 0x40(sp) | v1 = *(var_40h);
0x0000c514 sll v0, a0, 2 | v0 = a0 << 2;
0x0000c518 addu v0, v0, v1 | v0 += v1;
0x0000c51c addiu a1, zero, 1 | a1 = 1;
0x0000c520 lw gp, 0x30(sp) | gp = *(var_30h);
0x0000c524 sw s2, 0x10(s0) | *((s0 + 4)) = s2;
0x0000c528 sw a1, (s0) | *(s0) = a1;
0x0000c52c sw zero, 0xc(s0) | *((s0 + 3)) = 0;
0x0000c530 sw a0, 8(s0) | *((s0 + 2)) = a0;
0x0000c534 sw s0, (v0) | *(v0) = s0;
0x0000c538 addiu s2, s2, 0x84 | s2 += 0x84;
| do {
0x0000c53c lw a2, (s1) | a2 = *(s1);
0x0000c540 lw a1, 4(s1) | a1 = *((s1 + 1));
0x0000c544 lw a0, 8(s1) | a0 = *((s1 + 2));
0x0000c548 lw v0, 0xc(s1) | v0 = *((s1 + 3));
0x0000c54c addiu s1, s1, 0x10 | s1 += 0x10;
0x0000c550 sw a2, (s2) | *(s2) = a2;
0x0000c554 sw a1, 4(s2) | *((s2 + 1)) = a1;
0x0000c558 sw a0, 8(s2) | *((s2 + 2)) = a0;
0x0000c55c sw v0, 0xc(s2) | *((s2 + 3)) = v0;
0x0000c560 addiu s2, s2, 0x10 | s2 += 0x10;
0x0000c564 bne s1, s7, 0xc53c |
| } while (s1 != s7);
0x0000c568 lw v0, 0x48(sp) | v0 = *(var_48h);
0x0000c56c lw t9, -0x7d40(gp) | t9 = sym.imp.fgets;
0x0000c570 addiu v0, v0, 1 | v0++;
0x0000c574 sw v0, 0x48(sp) | *(var_48h) = v0;
0x0000c578 move a2, s6 | a2 = s6;
0x0000c57c addiu a1, zero, 0xff | a1 = 0xff;
0x0000c580 move a0, fp | a0 = fp;
0x0000c584 jalr t9 | t9 ();
0x0000c588 move s2, zero | s2 = 0;
0x0000c58c move s0, zero | s0 = 0;
0x0000c590 lw gp, 0x30(sp) | gp = *(var_30h);
| if (v0 != 0) {
0x0000c594 bnez v0, 0xc334 | goto label_1;
| }
| label_14:
0x0000c598 lw t9, -0x7dec(gp) | t9 = sym.imp.fclose;
0x0000c59c move a0, s6 | a0 = s6;
0x0000c5a0 jalr t9 | t9 ();
0x0000c5a4 lw gp, 0x30(sp) | gp = *(var_30h);
0x0000c5a8 lw t9, -0x7d38(gp) | t9 = sym.imp.free;
0x0000c5ac move a0, s2 | a0 = s2;
0x0000c5b0 jalr t9 | t9 ();
0x0000c5b4 lw gp, 0x30(sp) | gp = *(var_30h);
0x0000c5b8 lw t9, -0x7d38(gp) | t9 = sym.imp.free;
0x0000c5bc move a0, s0 | a0 = s0;
0x0000c5c0 jalr t9 | t9 ();
0x0000c5c4 lw gp, 0x30(sp) | gp = *(var_30h);
0x0000c5c8 addiu a0, zero, 1 | a0 = 1;
0x0000c5cc lw v0, 0x48(sp) | v0 = *(var_48h);
0x0000c5d0 lw v1, -0x7eb0(gp) | v1 = *((gp - 8108));
0x0000c5d4 sw a0, 0x5ef4(v1) | *((v1 + 6077)) = a0;
| label_4:
0x0000c5d8 lw v1, 0x50(sp) | v1 = *(var_50h);
0x0000c5dc lw a0, 0x21c(sp) | a0 = *(var_21ch);
0x0000c5e0 lw v1, (v1) | v1 = *(v1);
0x0000c5e4 lw ra, 0x244(sp) | ra = *(var_244h);
| if (a0 != v1) {
0x0000c5e8 bne a0, v1, 0xca8c | goto label_27;
| }
0x0000c5ec lw fp, 0x240(sp) | fp = *(var_240h);
0x0000c5f0 lw s7, 0x23c(sp) | s7 = *(var_23ch);
0x0000c5f4 lw s6, 0x238(sp) | s6 = *(var_238h);
0x0000c5f8 lw s5, 0x234(sp) | s5 = *(var_234h);
0x0000c5fc lw s4, 0x230(sp) | s4 = *(var_230h);
0x0000c600 lw s3, 0x22c(sp) | s3 = *(var_22ch);
0x0000c604 lw s2, 0x228(sp) | s2 = *(var_228h);
0x0000c608 lw s1, 0x224(sp) | s1 = *(var_224h);
0x0000c60c lw s0, 0x220(sp) | s0 = *(var_220h);
0x0000c610 addiu sp, sp, 0x248 |
0x0000c614 jr ra | return v0;
| label_17:
0x0000c618 addiu v0, zero, 4 | v0 = 4;
| label_18:
0x0000c61c lw a1, 0x68(sp) | a1 = *(var_68h);
0x0000c620 sltiu a0, a1, 0x200 | a0 = (a1 < aav.0x00000200) ? 1 : 0;
| if (a1 == 0) {
0x0000c624 beqz a1, 0xc318 | goto label_2;
| }
0x0000c628 lw a2, 0x64(sp) | a2 = *(var_64h);
| if (a0 == 0) {
0x0000c62c beqz a0, 0xc898 | goto label_28;
| }
0x0000c630 sltiu a0, a2, 0x200 | a0 = (a2 < aav.0x00000200) ? 1 : 0;
0x0000c634 lw v1, 0x40(sp) | v1 = *(var_40h);
| if (a0 == 0) {
0x0000c638 beqz a0, 0xc8c4 | goto label_29;
| }
0x0000c63c sll a0, a1, 2 | a0 = a1 << 2;
0x0000c640 lwx a3, a0(v1) | __asm ("lwx a3, a0(v1)");
0x0000c644 addiu t0, zero, 3 | t0 = 3;
| if (a3 == 0) {
0x0000c648 beqz a3, 0xca2c | goto label_30;
| }
| if (v0 == t0) {
0x0000c64c beql v0, t0, 0xc970 | goto label_31;
| }
0x0000c650 lw v0, 0x10(a3) | v0 = *((a3 + 4));
0x0000c654 lw v0, 0xc(s0) | v0 = *((s0 + 3));
0x0000c658 lw t9, -0x7d7c(gp) | t9 = sym.imp.malloc;
| if (v0 == 0) {
0x0000c65c beqz v0, 0xc7d4 | goto label_32;
| }
| do {
| label_6:
0x0000c660 lw a3, (s1) | a3 = *(s1);
0x0000c664 lw a2, 4(s1) | a2 = *((s1 + 1));
0x0000c668 lw a1, 8(s1) | a1 = *((s1 + 2));
0x0000c66c lw a0, 0xc(s1) | a0 = *((s1 + 3));
0x0000c670 swl a3, 3(v0) | __asm ("swl a3, 3(v0)");
0x0000c674 swr a3, (v0) | __asm ("swr a3, (v0)");
0x0000c678 swl a2, 7(v0) | __asm ("swl a2, 7(v0)");
0x0000c67c swr a2, 4(v0) | __asm ("swr a2, 4(v0)");
0x0000c680 swl a1, 0xb(v0) | __asm ("swl a1, 0xb(v0)");
0x0000c684 swr a1, 8(v0) | __asm ("swr a1, 8(v0)");
0x0000c688 swl a0, 0xf(v0) | __asm ("swl a0, 0xf(v0)");
0x0000c68c addiu s1, s1, 0x10 | s1 += 0x10;
0x0000c690 swr a0, 0xc(v0) | __asm ("swr a0, 0xc(v0)");
0x0000c694 addiu v0, v0, 0x10 | v0 += 0x10;
0x0000c698 bne s1, s7, 0xc660 |
| } while (s1 != s7);
0x0000c69c lw a1, 0x68(sp) | a1 = *(var_68h);
0x0000c6a0 lw a2, 0x64(sp) | a2 = *(var_64h);
0x0000c6a4 sll a0, a1, 2 | a0 = a1 << 2;
| label_10:
0x0000c6a8 lw v0, 0x40(sp) | v0 = *(var_40h);
0x0000c6ac sll a2, a2, 2 | a2 <<= 2;
0x0000c6b0 addu a2, v0, a2 | a2 = v0 + a2;
0x0000c6b4 lw v1, 0x4c(sp) | v1 = *(var_4ch);
0x0000c6b8 sw s0, (a2) | *(a2) = s0;
0x0000c6bc addu a3, v1, a0 | a3 = v1 + a0;
0x0000c6c0 lwx a0, a0(v0) | __asm ("lwx a0, a0(v0)");
0x0000c6c4 lw v0, (a3) | v0 = *(a3);
0x0000c6c8 sw a1, 8(s0) | *((s0 + 2)) = a1;
0x0000c6cc lw a0, 0x10(a0) | a0 = *((a0 + 4));
0x0000c6d0 addiu v0, v0, 1 | v0++;
0x0000c6d4 sw a0, 0x10(s0) | *((s0 + 4)) = a0;
0x0000c6d8 sw zero, (s0) | *(s0) = 0;
0x0000c6dc sw v0, (a3) | *(a3) = v0;
0x0000c6e0 move s0, zero | s0 = 0;
0x0000c6e4 b 0xc318 | goto label_2;
| label_16:
0x0000c6e8 addiu a0, zero, 0x14 | a0 = 0x14;
0x0000c6ec jalr t9 | t9 ();
0x0000c6f0 move s0, v0 | s0 = v0;
0x0000c6f4 lw gp, 0x30(sp) | gp = *(var_30h);
| if (v0 != 0) {
0x0000c6f8 bnez v0, 0xc35c | goto label_3;
| }
0x0000c6fc lw a0, -0x7fcc(gp) | a0 = *(gp);
0x0000c700 lw t9, -0x7d6c(gp) | t9 = sym.imp.perror;
0x0000c704 addiu a0, a0, -0x674 | a0 += -0x674;
0x0000c708 jalr t9 | t9 ();
0x0000c70c lw gp, 0x30(sp) | gp = *(var_30h);
0x0000c710 lw t9, -0x7fcc(gp) | t9 = *(gp);
0x0000c714 addiu t9, t9, -0x3ec8 | t9 += -0x3ec8;
0x0000c718 bal 0xc138 | fcn_0000c138 ();
0x0000c71c nop |
0x0000c720 lw gp, 0x30(sp) | gp = *(var_30h);
0x0000c724 lw t9, -0x7dec(gp) | t9 = sym.imp.fclose;
0x0000c728 move a0, s6 | a0 = s6;
0x0000c72c jalr t9 | t9 ();
0x0000c730 lw gp, 0x30(sp) | gp = *(var_30h);
0x0000c734 lw t9, -0x7d38(gp) | t9 = sym.imp.free;
0x0000c738 move a0, s2 | a0 = s2;
0x0000c73c jalr t9 | t9 ();
0x0000c740 lw gp, 0x30(sp) | gp = *(var_30h);
| label_11:
0x0000c744 move v0, zero | v0 = 0;
0x0000c748 b 0xc5d8 | goto label_4;
| label_15:
0x0000c74c addiu a0, zero, 0xf0 | a0 = 0xf0;
0x0000c750 jalr t9 | t9 ();
0x0000c754 move s2, v0 | s2 = v0;
0x0000c758 lw gp, 0x30(sp) | gp = *(var_30h);
| if (v0 != 0) {
0x0000c75c bnez v0, 0xc354 | goto label_5;
| }
0x0000c760 lw a0, -0x7fcc(gp) | a0 = *(gp);
0x0000c764 lw t9, -0x7d6c(gp) | t9 = sym.imp.perror;
0x0000c768 addiu a0, a0, -0x674 | a0 += -0x674;
0x0000c76c jalr t9 | t9 ();
0x0000c770 lw gp, 0x30(sp) | gp = *(var_30h);
0x0000c774 lw t9, -0x7fcc(gp) | t9 = *(gp);
0x0000c778 addiu t9, t9, -0x3ec8 | t9 += -0x3ec8;
0x0000c77c bal 0xc138 | fcn_0000c138 ();
0x0000c780 nop |
0x0000c784 lw gp, 0x30(sp) | gp = *(var_30h);
0x0000c788 lw t9, -0x7dec(gp) | t9 = sym.imp.fclose;
0x0000c78c move a0, s6 | a0 = s6;
0x0000c790 jalr t9 | t9 ();
0x0000c794 lw gp, 0x30(sp) | gp = *(var_30h);
| if (s0 != 0) {
0x0000c798 bnez s0, 0xc830 | goto label_33;
| }
0x0000c79c move v0, zero | v0 = 0;
0x0000c7a0 b 0xc5d8 | goto label_4;
| label_19:
0x0000c7a4 lw a0, -0x7d34(gp) | a0 = *((gp - 8013));
0x0000c7a8 lw a2, -0x7fcc(gp) | a2 = *(gp);
0x0000c7ac lw t9, -0x7df4(gp) | t9 = sym.imp.__fprintf_chk;
0x0000c7b0 lw a0, (a0) | a0 = *(a0);
0x0000c7b4 move a3, s7 | a3 = s7;
0x0000c7b8 sw fp, 0x14(sp) | *(var_14h) = fp;
0x0000c7bc sw v0, 0x10(sp) | *(var_10h) = v0;
| /* str._s:_Malformed__u_field_record:__s_n */
0x0000c7c0 addiu a2, a2, 0x624 | a2 += 0x624;
0x0000c7c4 addiu a1, zero, 1 | a1 = 1;
0x0000c7c8 jalr t9 | t9 ();
0x0000c7cc lw gp, 0x30(sp) | gp = *(var_30h);
0x0000c7d0 b 0xc318 | goto label_2;
| label_32:
0x0000c7d4 addiu a0, zero, 0x40 | a0 = 0x40;
0x0000c7d8 jalr t9 | t9 ();
0x0000c7dc lw gp, 0x30(sp) | gp = *(var_30h);
0x0000c7e0 sw v0, 0xc(s0) | *((s0 + 3)) = v0;
| if (v0 != 0) {
0x0000c7e4 bnez v0, 0xc660 | goto label_6;
| }
0x0000c7e8 lw a0, -0x7fcc(gp) | a0 = *(gp);
0x0000c7ec lw t9, -0x7d6c(gp) | t9 = sym.imp.perror;
0x0000c7f0 addiu a0, a0, -0x674 | a0 += -0x674;
0x0000c7f4 jalr t9 | t9 ();
0x0000c7f8 lw gp, 0x30(sp) | gp = *(var_30h);
0x0000c7fc lw t9, -0x7fcc(gp) | t9 = *(gp);
0x0000c800 addiu t9, t9, -0x3ec8 | t9 += -0x3ec8;
0x0000c804 bal 0xc138 | fcn_0000c138 ();
0x0000c808 nop |
0x0000c80c lw gp, 0x30(sp) | gp = *(var_30h);
0x0000c810 lw t9, -0x7dec(gp) | t9 = sym.imp.fclose;
0x0000c814 move a0, s6 | a0 = s6;
0x0000c818 jalr t9 | t9 ();
0x0000c81c lw gp, 0x30(sp) | gp = *(var_30h);
0x0000c820 lw t9, -0x7d38(gp) | t9 = sym.imp.free;
0x0000c824 move a0, s2 | a0 = s2;
0x0000c828 jalr t9 | t9 ();
0x0000c82c lw gp, 0x30(sp) | gp = *(var_30h);
| label_33:
0x0000c830 lw t9, -0x7d38(gp) | t9 = sym.imp.free;
0x0000c834 move a0, s0 | a0 = s0;
0x0000c838 jalr t9 | t9 ();
0x0000c83c lw gp, 0x30(sp) | gp = *(var_30h);
0x0000c840 move v0, zero | v0 = 0;
0x0000c844 b 0xc5d8 | goto label_4;
| label_21:
0x0000c848 sll v0, a1, 2 | v0 = a1 << 2;
0x0000c84c lwx v0, v0(v1) | __asm ("lwx v0, v0(v1)");
| if (v0 == 0) {
0x0000c850 beql v0, zero, 0xca64 | goto label_34;
| }
0x0000c854 lw v0, -0x7d34(gp) | v0 = *((gp - 8013));
0x0000c858 lw s1, 0x10(v0) | s1 = *((v0 + 4));
0x0000c85c lw v0, 0xe8(s1) | v0 = *((s1 + 58));
| if (v0 == 0) {
0x0000c860 beql v0, zero, 0xc97c | goto label_35;
| }
0x0000c864 lw v0, 4(s0) | v0 = *((s0 + 1));
0x0000c868 lw v0, -0x7d34(gp) | v0 = *((gp - 8013));
0x0000c86c lw a2, -0x7fcc(gp) | a2 = *(gp);
0x0000c870 lw t9, -0x7df4(gp) | t9 = sym.imp.__fprintf_chk;
0x0000c874 lw a0, (v0) | a0 = *(v0);
0x0000c878 move a3, s7 | a3 = s7;
0x0000c87c sw a1, 0x10(sp) | *(var_10h) = a1;
0x0000c880 sw fp, 0x14(sp) | *(var_14h) = fp;
| /* str._s:_duplicate_x_record_for_major__u___ignored_ninput_line:__s_n */
0x0000c884 addiu a2, a2, 0x6b0 | a2 += 0x6b0;
0x0000c888 addiu a1, zero, 1 | a1 = 1;
0x0000c88c jalr t9 | t9 ();
0x0000c890 lw gp, 0x30(sp) | gp = *(var_30h);
0x0000c894 b 0xc318 | goto label_2;
| label_28:
0x0000c898 lw v0, -0x7d34(gp) | v0 = *((gp - 8013));
0x0000c89c lw a2, -0x7fcc(gp) | a2 = *(gp);
0x0000c8a0 lw t9, -0x7df4(gp) | t9 = sym.imp.__fprintf_chk;
0x0000c8a4 lw a0, (v0) | a0 = *(v0);
0x0000c8a8 move a3, s7 | a3 = s7;
0x0000c8ac sw a1, 0x10(sp) | *(var_10h) = a1;
| /* str._s:_Indirect_major__u_out_of_range_n */
0x0000c8b0 addiu a2, a2, 0x570 | a2 += 0x570;
0x0000c8b4 addiu a1, zero, 1 | a1 = 1;
0x0000c8b8 jalr t9 | t9 ();
0x0000c8bc lw gp, 0x30(sp) | gp = *(var_30h);
0x0000c8c0 b 0xc318 | goto label_2;
| label_29:
0x0000c8c4 lw v0, -0x7d34(gp) | v0 = *((gp - 8013));
0x0000c8c8 sw a2, 0x10(sp) | *(var_10h) = a2;
0x0000c8cc lw t9, -0x7df4(gp) | t9 = sym.imp.__fprintf_chk;
0x0000c8d0 lw a0, (v0) | a0 = *(v0);
0x0000c8d4 lw v0, 0x54(sp) | v0 = *(var_54h);
0x0000c8d8 move a3, s7 | a3 = s7;
0x0000c8dc addiu a2, v0, 0x598 | a2 = v0 + 0x598;
0x0000c8e0 addiu a1, zero, 1 | a1 = 1;
0x0000c8e4 jalr t9 | t9 ();
0x0000c8e8 lw gp, 0x30(sp) | gp = *(var_30h);
0x0000c8ec b 0xc318 | goto label_2;
| label_20:
0x0000c8f0 lw v0, -0x7d34(gp) | v0 = *((gp - 8013));
0x0000c8f4 lw a3, -0x7fcc(gp) | a3 = *(gp);
0x0000c8f8 lw a2, -0x7fcc(gp) | a2 = *(gp);
0x0000c8fc lw t9, -0x7df4(gp) | t9 = sym.imp.__fprintf_chk;
0x0000c900 lw a0, (v0) | a0 = *(v0);
| /* str.ioc_init */
0x0000c904 addiu a3, a3, 0x710 | a3 += 0x710;
0x0000c908 sw a1, 0x10(sp) | *(var_10h) = a1;
| /* str._s:_major__u_out_of_range_n */
0x0000c90c addiu a2, a2, 0x648 | a2 += 0x648;
0x0000c910 addiu a1, zero, 1 | a1 = 1;
0x0000c914 jalr t9 | t9 ();
0x0000c918 lw gp, 0x30(sp) | gp = *(var_30h);
0x0000c91c b 0xc318 | goto label_2;
| label_26:
0x0000c920 lw v0, 0x58(sp) | v0 = *(var_58h);
0x0000c924 b 0xc4f0 | goto label_7;
| label_22:
0x0000c928 lw t9, -0x7db8(gp) | t9 = sym.imp.strncpy;
0x0000c92c addiu a2, zero, 0x32 | a2 = 0x32;
0x0000c930 move a1, s2 | a1 = s2;
0x0000c934 jalr t9 | t9 ();
0x0000c938 lb v0, 0x7c(sp) | v0 = *(var_7ch);
0x0000c93c addiu a0, zero, 0x61 | a0 = 0x61;
0x0000c940 lw gp, 0x30(sp) | gp = *(var_30h);
0x0000c944 sb zero, 0x52(s2) | *((s2 + 82)) = 0;
0x0000c948 sb zero, 0x53(s2) | *((s2 + 83)) = 0;
| if (v0 != a0) {
0x0000c94c bne v0, a0, 0xc4c4 | goto label_8;
| }
| label_23:
0x0000c950 lw a0, -0x7e50(gp) | a0 = sym.ioc_ito26;
0x0000c954 sb zero, 0x55(s2) | *((s2 + 85)) = 0;
0x0000c958 sw a0, 0xc4(s2) | *((s2 + 49)) = a0;
0x0000c95c addiu a0, zero, 0x25 | a0 = 0x25;
0x0000c960 sb a0, 0x53(s2) | *((s2 + 83)) = a0;
0x0000c964 addiu a0, zero, 0x73 | a0 = 0x73;
0x0000c968 sb a0, 0x54(s2) | *((s2 + 84)) = a0;
0x0000c96c b 0xc4dc | goto label_9;
| label_31:
0x0000c970 addiu v0, v0, 0x84 | v0 += 0x84;
0x0000c974 sw v0, 0xc(s0) | *((s0 + 3)) = v0;
0x0000c978 b 0xc6a8 | goto label_10;
| label_35:
0x0000c97c lw t9, -0x7db8(gp) | t9 = sym.imp.strncpy;
0x0000c980 sw v0, 0xec(s1) | *((s1 + 59)) = v0;
0x0000c984 addiu a2, zero, 0x20 | a2 = 0x20;
0x0000c988 move a1, s2 | a1 = s2;
0x0000c98c addiu a0, s1, 0xc8 | a0 = s1 + 0xc8;
0x0000c990 jalr t9 | t9 ();
0x0000c994 addiu v0, zero, 1 | v0 = 1;
0x0000c998 lw gp, 0x30(sp) | gp = *(var_30h);
0x0000c99c sb zero, 0xe7(s1) | *((s1 + 231)) = 0;
0x0000c9a0 sw v0, 0xe8(s1) | *((s1 + 58)) = v0;
0x0000c9a4 b 0xc318 | goto label_2;
| label_25:
0x0000c9a8 addiu a3, s2, 0x53 | a3 = s2 + 0x53;
0x0000c9ac move a0, a3 | a0 = a3;
0x0000c9b0 addiu a2, zero, 0xf | a2 = 0xf;
0x0000c9b4 addiu a1, sp, 0x7d | a1 = sp + 0x7d;
0x0000c9b8 jalr t9 | t9 ();
0x0000c9bc lw gp, 0x30(sp) | gp = *(var_30h);
0x0000c9c0 move a3, v0 | a3 = v0;
| label_24:
0x0000c9c4 lw v0, -0x7e4c(gp) | v0 = sym.ioc_ito10;
0x0000c9c8 lw a1, -0x7fcc(gp) | a1 = *(gp);
0x0000c9cc lw t9, -0x7d08(gp) | t9 = sym.imp.__strcat_chk;
0x0000c9d0 sw v0, 0xc4(s2) | *((s2 + 49)) = v0;
0x0000c9d4 addiu a2, zero, 0x10 | a2 = 0x10;
| /* esilref: '&s' */
0x0000c9d8 addiu a1, a1, 0x620 | a1 += 0x620;
0x0000c9dc move a0, a3 | a0 = a3;
0x0000c9e0 jalr t9 | t9 ();
0x0000c9e4 lw gp, 0x30(sp) | gp = *(var_30h);
0x0000c9e8 b 0xc4dc | goto label_9;
| label_13:
0x0000c9ec lw s0, -0x7fcc(gp) | s0 = *(gp);
0x0000c9f0 lw t9, -0x7d30(gp) | t9 = sym.imp.fopen;
0x0000c9f4 addiu a1, s1, 0x2fc | a1 = s1 + aav.0x000002fc;
| /* str.._sysstat.ioconf */
0x0000c9f8 addiu a0, s0, 0x544 | a0 = s0 + aav.0x00000544;
0x0000c9fc jalr t9 | t9 ();
0x0000ca00 move s6, v0 | s6 = v0;
0x0000ca04 lw gp, 0x30(sp) | gp = *(var_30h);
| if (v0 == 0) {
0x0000ca08 beqz v0, 0xc744 | goto label_11;
| }
0x0000ca0c lw t9, -0x7db8(gp) | t9 = sym.imp.strncpy;
0x0000ca10 addiu s7, sp, 0xdc | s7 = sp + 0xdc;
0x0000ca14 addiu a2, zero, 0x40 | a2 = 0x40;
| /* str.._sysstat.ioconf */
0x0000ca18 addiu a1, s0, 0x544 | a1 = s0 + aav.0x00000544;
0x0000ca1c move a0, s7 | a0 = s7;
0x0000ca20 jalr t9 | t9 ();
0x0000ca24 lw gp, 0x30(sp) | gp = *(var_30h);
0x0000ca28 b 0xc2ac | goto label_12;
| label_30:
0x0000ca2c lw a0, -0x7d34(gp) | a0 = *((gp - 8013));
0x0000ca30 sw a2, 0x1c(sp) | *(var_1ch) = a2;
0x0000ca34 lw v0, 4(s0) | v0 = *((s0 + 1));
0x0000ca38 lw a0, (a0) | a0 = *(a0);
0x0000ca3c lw t9, -0x7df4(gp) | t9 = sym.imp.__fprintf_chk;
0x0000ca40 sw a2, 0x10(sp) | *(var_10h) = a2;
0x0000ca44 lw a2, 0x5c(sp) | a2 = *(var_5ch);
0x0000ca48 sw a1, 0x14(sp) | *(var_14h) = a1;
0x0000ca4c sw v0, 0x18(sp) | *(var_18h) = v0;
0x0000ca50 move a3, s7 | a3 = s7;
0x0000ca54 addiu a1, zero, 1 | a1 = 1;
0x0000ca58 jalr t9 | t9 ();
0x0000ca5c lw gp, 0x30(sp) | gp = *(var_30h);
0x0000ca60 b 0xc318 | goto label_2;
| label_34:
0x0000ca64 lw a2, -0x7fcc(gp) | a2 = *(gp);
0x0000ca68 lw t9, -0x7df4(gp) | t9 = sym.imp.__fprintf_chk;
0x0000ca6c lw a0, (v0) | a0 = *(v0);
0x0000ca70 move a3, s7 | a3 = s7;
0x0000ca74 sw a1, 0x10(sp) | *(var_10h) = a1;
| /* str._s:_type_x_record_for_major__u_must_follow_the_base_record___ignored_n */
0x0000ca78 addiu a2, a2, 0x664 | a2 += 0x664;
0x0000ca7c addiu a1, zero, 1 | a1 = 1;
0x0000ca80 jalr t9 | t9 ();
0x0000ca84 lw gp, 0x30(sp) | gp = *(var_30h);
0x0000ca88 b 0xc318 | goto label_2;
| label_27:
0x0000ca8c lw t9, -0x7d50(gp) | t9 = sym.imp.__stack_chk_fail;
0x0000ca90 jalr t9 | t9 ();
0x0000ca94 nop |
| }
; assembly | /* r2dec pseudo code output */
| /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/bin/iostat @ 0xca98 */
| #include <stdint.h>
|
; (fcn) sym.ioc_name () | void ioc_name () {
0x0000ca98 lui gp, 2 |
0x0000ca9c addiu gp, gp, -0x39e8 |
0x0000caa0 addu gp, gp, t9 | gp += t9;
0x0000caa4 sltiu v0, a0, 0x200 | v0 = (a0 < aav.0x00000200) ? 1 : 0;
| if (v0 == 0) {
0x0000caa8 beqz v0, 0xcd40 | goto label_1;
| }
0x0000caac nop |
0x0000cab0 lui v0, 0x10 | v0 = 0x100000;
0x0000cab4 sltu v0, a1, v0 | v0 = (a1 < v0) ? 1 : 0;
| if (v0 == 0) {
0x0000cab8 beqz v0, 0xcd40 | goto label_1;
| }
0x0000cabc nop |
0x0000cac0 lw v0, -0x7eb0(gp) | v0 = *((gp - 8108));
0x0000cac4 addiu sp, sp, -0x40 |
0x0000cac8 lw v0, 0x5ef4(v0) | v0 = *((v0 + 6077));
0x0000cacc sw gp, 0x18(sp) | *(var_18h) = gp;
0x0000cad0 sw s1, 0x24(sp) | *(var_24h) = s1;
0x0000cad4 sw s0, 0x20(sp) | *(var_20h) = s0;
0x0000cad8 sw ra, 0x3c(sp) | *(var_3ch) = ra;
0x0000cadc sw s6, 0x38(sp) | *(var_38h) = s6;
0x0000cae0 sw s5, 0x34(sp) | *(var_34h) = s5;
0x0000cae4 sw s4, 0x30(sp) | *(var_30h) = s4;
0x0000cae8 sw s3, 0x2c(sp) | *(var_2ch) = s3;
0x0000caec sw s2, 0x28(sp) | *(var_28h) = s2;
0x0000caf0 move s1, a1 | s1 = a1;
0x0000caf4 move s0, a0 | s0 = a0;
0x0000caf8 beqz v0, 0xcc48 |
| while (v0 != 0) {
0x0000cafc lw s4, -0x7eb0(gp) | s4 = *((gp - 8108));
0x0000cb00 sll s0, s0, 2 | s0 <<= 2;
0x0000cb04 addiu s4, s4, 0x56f4 | s4 += 0x56f4;
0x0000cb08 lwx s5, s0(s4) | __asm ("lwx s5, s0(s4)");
0x0000cb0c andi v0, s1, 0xff | v0 = s1 & 0xff;
| if (s5 == 0) {
0x0000cb10 beqz s5, 0xcc88 | goto label_2;
| }
0x0000cb14 lw a3, 0x10(s5) | a3 = *((s5 + 4));
0x0000cb18 lw a0, 0x7c(a3) | a0 = *((a3 + 31));
0x0000cb1c lw s2, 0x80(a3) | s2 = *((a3 + 32));
0x0000cb20 mul v1, a0, s2 | __asm ("mul v1, a0, s2");
0x0000cb24 sltu v1, v0, v1 | v1 = (v0 < v1) ? 1 : 0;
| if (v1 == 0) {
0x0000cb28 beql v1, zero, 0xcc8c | goto label_3;
| }
0x0000cb2c lw a0, -0x7eb0(gp) | a0 = *((gp - 8108));
0x0000cb30 lw v1, 0xe8(a3) | v1 = *((a3 + 58));
| if (v1 != 0) {
0x0000cb34 beql v1, zero, 0xcb4c |
0x0000cb38 lw t0, 4(s5) | t0 = *((s5 + 1));
0x0000cb3c lw v1, 0xec(a3) | v1 = *((a3 + 59));
| if (v1 == s1) {
0x0000cb40 beql v1, s1, 0xcd48 | goto label_4;
| }
0x0000cb44 lw s0, -0x7eb0(gp) | s0 = *((gp - 8108));
0x0000cb48 lw t0, 4(s5) | t0 = *((s5 + 1));
| }
0x0000cb4c sltiu v1, s1, 0x100 | v1 = (s1 < aav.0x00000100) ? 1 : 0;
0x0000cb50 mul a2, a0, t0 | __asm ("mul a2, a0, t0");
| if (v1 == 0) {
0x0000cb54 bnez v1, 0xcb80 |
0x0000cb58 lw v1, 8(s5) | v1 = *((s5 + 2));
0x0000cb5c srl a1, s1, 8 | a1 = s1 >> 8;
0x0000cb60 sll t1, v1, 2 | t1 = v1 << 2;
0x0000cb64 lw v1, -0x7eb0(gp) | v1 = *((gp - 8108));
0x0000cb68 mul a0, a1, a0 | __asm ("mul a0, a1, a0");
0x0000cb6c addiu v1, v1, 0x4ef4 | v1 += 0x4ef4;
0x0000cb70 lwx v1, t1(v1) | __asm ("lwx v1, t1(v1)");
0x0000cb74 addiu v1, v1, 1 | v1++;
0x0000cb78 mul a1, v1, a0 | __asm ("mul a1, v1, a0");
0x0000cb7c addu a2, a1, a2 | a2 = a1 + a2;
| }
0x0000cb80 divu zero, v0, s2 | __asm ("divu zero, v0, s2");
0x0000cb84 teq s2, zero, 7 | __asm ("teq s2, zero, 7");
0x0000cb88 lw v1, 0x78(a3) | v1 = *((a3 + 30));
0x0000cb8c mflo s2 | __asm ("mflo s2");
| if (v1 == 0) {
0x0000cb90 beqz v1, 0xcccc | goto label_5;
| }
| label_0:
0x0000cb94 lw s3, -0x7eb0(gp) | s3 = *((gp - 8108));
0x0000cb98 lw t9, -0x7e24(gp) | t9 = sym.imp.__sprintf_chk
0x0000cb9c addiu a3, a3, 0x20 | a3 += 0x20;
0x0000cba0 addiu a2, zero, 0x30 | a2 = 0x30;
0x0000cba4 addiu a1, zero, 1 | a1 = 1;
0x0000cba8 sw t0, 0x10(sp) | *(var_10h) = t0;
0x0000cbac addiu a0, s3, 0x4eb0 | a0 = s3 + 0x4eb0;
0x0000cbb0 jalr t9 | t9 ();
0x0000cbb4 lw gp, 0x18(sp) | gp = *(var_18h);
0x0000cbb8 addiu a0, s3, 0x4eb0 | a0 = s3 + 0x4eb0;
0x0000cbbc lw t9, -0x7d9c(gp) | t9 = sym.imp.strlen;
0x0000cbc0 addiu s3, s3, 0x4eb0 | s3 += 0x4eb0;
0x0000cbc4 jalr t9 | t9 ();
0x0000cbc8 lw s6, 0x10(s5) | s6 = *((s5 + 4));
0x0000cbcc move a0, s2 | a0 = s2;
0x0000cbd0 lw t9, 0xc4(s6) | t9 = *((s6 + 49));
0x0000cbd4 move s2, v0 | s2 = v0;
0x0000cbd8 jalr t9 | t9 ();
0x0000cbdc lw gp, 0x18(sp) | gp = *(var_18h);
0x0000cbe0 sw v0, 0x10(sp) | *(var_10h) = v0;
0x0000cbe4 addiu a3, s6, 0x53 | a3 = s6 + 0x53;
0x0000cbe8 lw t9, -0x7e24(gp) | t9 = sym.imp.__sprintf_chk
0x0000cbec addiu a2, zero, -1 | a2 = -1;
0x0000cbf0 addiu a1, zero, 1 | a1 = 1;
0x0000cbf4 addu a0, s3, s2 | a0 = s3 + s2;
0x0000cbf8 jalr t9 | t9 ();
0x0000cbfc lwx s0, s0(s4) | __asm ("lwx s0, s0(s4)");
0x0000cc00 lw v0, 0x10(s0) | v0 = *((s0 + 4));
0x0000cc04 lw v0, 0x80(v0) | v0 = *((v0 + 32));
0x0000cc08 divu zero, s1, v0 | __asm ("divu zero, s1, v0");
0x0000cc0c teq v0, zero, 7 | __asm ("teq v0, zero, 7");
0x0000cc10 mfhi v0 | __asm ("mfhi v0");
0x0000cc14 lw gp, 0x18(sp) | gp = *(var_18h);
| if (v0 != 0) {
0x0000cc18 bnez v0, 0xccd4 | goto label_6;
| }
0x0000cc1c lw ra, 0x3c(sp) | ra = *(var_3ch);
0x0000cc20 move v0, s3 | v0 = s3;
0x0000cc24 lw s6, 0x38(sp) | s6 = *(var_38h);
0x0000cc28 lw s5, 0x34(sp) | s5 = *(var_34h);
0x0000cc2c lw s4, 0x30(sp) | s4 = *(var_30h);
0x0000cc30 lw s3, 0x2c(sp) | s3 = *(var_2ch);
0x0000cc34 lw s2, 0x28(sp) | s2 = *(var_28h);
0x0000cc38 lw s1, 0x24(sp) | s1 = *(var_24h);
0x0000cc3c lw s0, 0x20(sp) | s0 = *(var_20h);
0x0000cc40 addiu sp, sp, 0x40 |
0x0000cc44 jr ra | return v0;
0x0000cc48 lw t9, -0x7e48(gp) | t9 = sym.ioc_init;
0x0000cc4c bal 0xc21c | sym_ioc_init ();
0x0000cc50 nop |
0x0000cc54 lw gp, 0x18(sp) | gp = *(var_18h);
0x0000cc58 bnez v0, 0xcafc |
| }
0x0000cc5c lw ra, 0x3c(sp) | ra = *(var_3ch);
0x0000cc60 lw s6, 0x38(sp) | s6 = *(var_38h);
0x0000cc64 lw s5, 0x34(sp) | s5 = *(var_34h);
0x0000cc68 lw s4, 0x30(sp) | s4 = *(var_30h);
0x0000cc6c lw s3, 0x2c(sp) | s3 = *(var_2ch);
0x0000cc70 lw s2, 0x28(sp) | s2 = *(var_28h);
0x0000cc74 lw s1, 0x24(sp) | s1 = *(var_24h);
0x0000cc78 lw s0, 0x20(sp) | s0 = *(var_20h);
0x0000cc7c move v0, zero | v0 = 0;
0x0000cc80 addiu sp, sp, 0x40 |
0x0000cc84 jr ra | return v0;
| label_2:
0x0000cc88 lw a0, -0x7eb0(gp) | a0 = *((gp - 8108));
| label_3:
0x0000cc8c lui v1, 0x6564 | v1 = 0x65646f6e;
0x0000cc90 addiu v1, v1, 0x6f6e |
0x0000cc94 addiu v0, a0, 0x4eb0 | v0 = a0 + 0x4eb0;
0x0000cc98 sw v1, 0x4eb0(a0) | *((a0 + 5036)) = v1;
0x0000cc9c addiu v1, zero, 0x76 | v1 = 0x76;
0x0000cca0 sh v1, 4(v0) | *((v0 + 2)) = v1;
| do {
0x0000cca4 lw ra, 0x3c(sp) | ra = *(var_3ch);
0x0000cca8 lw s6, 0x38(sp) | s6 = *(var_38h);
0x0000ccac lw s5, 0x34(sp) | s5 = *(var_34h);
0x0000ccb0 lw s4, 0x30(sp) | s4 = *(var_30h);
0x0000ccb4 lw s3, 0x2c(sp) | s3 = *(var_2ch);
0x0000ccb8 lw s2, 0x28(sp) | s2 = *(var_28h);
0x0000ccbc lw s1, 0x24(sp) | s1 = *(var_24h);
0x0000ccc0 lw s0, 0x20(sp) | s0 = *(var_20h);
0x0000ccc4 addiu sp, sp, 0x40 |
0x0000ccc8 jr ra | return v0;
| label_5:
0x0000cccc addu s2, a2, s2 | s2 = a2 + s2;
0x0000ccd0 b 0xcb94 | goto label_0;
| label_6:
0x0000ccd4 lw t9, -0x7d9c(gp) | t9 = sym.imp.strlen;
0x0000ccd8 move a0, s3 | a0 = s3;
0x0000ccdc jalr t9 | t9 ();
0x0000cce0 lw v1, 0x10(s5) | v1 = *((s5 + 4));
0x0000cce4 lw gp, 0x18(sp) | gp = *(var_18h);
0x0000cce8 addu a0, s3, v0 | a0 = s3 + v0;
0x0000ccec lw a1, 0x80(v1) | a1 = *((v1 + 32));
0x0000ccf0 lw t9, -0x7e24(gp) | t9 = sym.imp.__sprintf_chk
0x0000ccf4 divu zero, s1, a1 | __asm ("divu zero, s1, a1");
0x0000ccf8 teq a1, zero, 7 | __asm ("teq a1, zero, 7");
0x0000ccfc addiu a3, v1, 0x63 | a3 = v1 + 0x63;
0x0000cd00 addiu a2, zero, -1 | a2 = -1;
0x0000cd04 addiu a1, zero, 1 | a1 = 1;
0x0000cd08 mfhi s1 | __asm ("mfhi s1");
0x0000cd0c sw s1, 0x10(sp) | *(var_10h) = s1;
0x0000cd10 jalr t9 | t9 ();
0x0000cd14 lw ra, 0x3c(sp) | ra = *(var_3ch);
0x0000cd18 move v0, s3 | v0 = s3;
0x0000cd1c lw s6, 0x38(sp) | s6 = *(var_38h);
0x0000cd20 lw s5, 0x34(sp) | s5 = *(var_34h);
0x0000cd24 lw s4, 0x30(sp) | s4 = *(var_30h);
0x0000cd28 lw s3, 0x2c(sp) | s3 = *(var_2ch);
0x0000cd2c lw s2, 0x28(sp) | s2 = *(var_28h);
0x0000cd30 lw s1, 0x24(sp) | s1 = *(var_24h);
0x0000cd34 lw s0, 0x20(sp) | s0 = *(var_20h);
0x0000cd38 addiu sp, sp, 0x40 |
0x0000cd3c jr ra | return v0;
| label_1:
0x0000cd40 move v0, zero | v0 = 0;
0x0000cd44 jr ra | return v0;
| label_4:
0x0000cd48 lw t9, -0x7db8(gp) | t9 = sym.imp.strncpy;
0x0000cd4c addiu a0, s0, 0x4eb0 | a0 = s0 + 0x4eb0;
0x0000cd50 addiu s0, s0, 0x4eb0 | s0 += 0x4eb0;
0x0000cd54 addiu a2, zero, 0x30 | a2 = 0x30;
0x0000cd58 addiu a1, a3, 0xc8 | a1 = a3 + 0xc8;
0x0000cd5c jalr t9 | t9 ();
0x0000cd60 move v0, s0 | v0 = s0;
0x0000cd64 sb zero, 0x2f(s0) | *((s0 + 47)) = 0;
0x0000cd68 b 0xcca4 |
| } while (1);
| }
; assembly | /* r2dec pseudo code output */
| /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/bin/iostat @ 0x6d54 */
| #include <stdint.h>
|
; (fcn) sym.write_json_basic_stat () | void write_json_basic_stat () {
0x00006d54 lui gp, 2 |
0x00006d58 addiu gp, gp, 0x235c |
0x00006d5c addu gp, gp, t9 | gp += t9;
0x00006d60 lw v0, -0x7d3c(gp) | v0 = *((gp - 8015));
0x00006d64 addiu sp, sp, -0x180 |
0x00006d68 lw t9, -0x7fc8(gp) | t9 = *(gp);
0x00006d6c sw fp, 0x178(sp) | *(var_178h) = fp;
0x00006d70 sw v0, 0x40(sp) | *(var_40h) = v0;
0x00006d74 lw fp, 0x194(sp) | fp = *(arg_194h);
0x00006d78 lw v0, (v0) | v0 = *(v0);
0x00006d7c sw ra, 0x17c(sp) | *(var_17ch) = ra;
0x00006d80 sw gp, 0x38(sp) | *(var_38h) = gp;
0x00006d84 move a1, a3 | a1 = a3;
0x00006d88 sw s7, 0x174(sp) | *(var_174h) = s7;
0x00006d8c sw s3, 0x164(sp) | *(var_164h) = s3;
0x00006d90 lw s7, 0x198(sp) | s7 = *(arg_198h);
0x00006d94 sw s2, 0x160(sp) | *(var_160h) = s2;
0x00006d98 sw s1, 0x15c(sp) | *(var_15ch) = s1;
0x00006d9c sw s0, 0x158(sp) | *(var_158h) = s0;
0x00006da0 sw s6, 0x170(sp) | *(var_170h) = s6;
0x00006da4 move s0, a0 | s0 = a0;
0x00006da8 sw s5, 0x16c(sp) | *(var_16ch) = s5;
0x00006dac move a0, a2 | a0 = a2;
0x00006db0 sw s4, 0x168(sp) | *(var_168h) = s4;
0x00006db4 sw v0, 0x154(sp) | *(var_154h) = v0;
0x00006db8 bal 0xef40 | fcn_0000ef40 ();
0x00006dbc nop |
0x00006dc0 lw a1, 0x14(fp) | a1 = *(arg_194h);
0x00006dc4 lw a0, 0xc(fp) | a0 = *(arg_ch);
0x00006dc8 lw a2, 0x1c(fp) | a2 = *(arg_1ch);
0x00006dcc lw gp, 0x38(sp) | gp = *(var_38h);
0x00006dd0 addu a0, a0, a1 | a0 += a1;
0x00006dd4 lw a1, 0xc(s7) | a1 = *((s7 + 3));
0x00006dd8 addu a0, a0, a2 | a0 += a2;
0x00006ddc lw a3, 0x14(s7) | a3 = *((s7 + 5));
0x00006de0 subu a1, a0, a1 | __asm ("subu a1, a0, a1");
0x00006de4 lw a2, 0x1c(s7) | a2 = *((s7 + 7));
0x00006de8 subu a0, a1, a3 | __asm ("subu a0, a1, a3");
0x00006dec lw t9, -0x7fc4(gp) | t9 = *(gp);
0x00006df0 subu a0, a0, a2 | __asm ("subu a0, a0, a2");
0x00006df4 lw s1, -0x7fcc(gp) | s1 = *(gp);
0x00006df8 move s2, v0 | s2 = v0;
0x00006dfc move s3, v1 | s3 = v1;
0x00006e00 bal 0xeea0 | fcn_0000eea0 ();
0x00006e04 lw gp, 0x38(sp) | gp = *(var_38h);
0x00006e08 move a2, s2 | a2 = s2;
0x00006e0c move a3, s3 | a3 = s3;
0x00006e10 lw t9, -0x7fc0(gp) | t9 = *(gp);
0x00006e14 move a0, v0 | a0 = v0;
0x00006e18 move a1, v1 | a1 = v1;
0x00006e1c bal 0xddc0 | fcn_0000ddc0 ();
0x00006e20 lw gp, 0x38(sp) | gp = *(var_38h);
0x00006e24 lw a2, 0x18(s1) | a2 = *((s1 + 6));
0x00006e28 lw a3, 0x1c(s1) | a3 = *((s1 + 7));
0x00006e2c lw t9, -0x7fbc(gp) | t9 = *(gp);
0x00006e30 move a0, v0 | a0 = v0;
0x00006e34 move a1, v1 | a1 = v1;
0x00006e38 bal 0xe820 | fcn_0000e820 ();
0x00006e3c lw gp, 0x38(sp) | gp = *(var_38h);
0x00006e40 lw a2, 0x19c(sp) | a2 = *(arg_1ch);
0x00006e44 sw v0, 0x10(sp) | *(var_10h) = v0;
0x00006e48 lw a1, -0x7fcc(gp) | a1 = *(gp);
0x00006e4c lw t9, -0x7fd0(gp) | t9 = sym.xprintf0;
0x00006e50 sw v1, 0x14(sp) | *(var_14h) = v1;
0x00006e54 move a0, s0 | a0 = s0;
0x00006e58 addiu a1, a1, -0x2dc | a1 += -aav.0x000002dc;
0x00006e5c lw s0, 0x190(sp) | s0 = *(arg_190h);
0x00006e60 bal 0xa0b4 | sym_xprintf0 ();
0x00006e64 lw gp, 0x38(sp) | gp = *(var_38h);
0x00006e68 lw v0, -0x7fd4(gp) | v0 = *(gp);
0x00006e6c lw v0, (v0) | v0 = *(v0);
0x00006e70 andi v1, v0, 0x20 | v1 = v0 & 0x20;
0x00006e74 lw a3, -0x7fcc(gp) | a3 = *(gp);
| if (v1 != 0) {
0x00006e78 bnez v1, 0x7108 | goto label_1;
| }
0x00006e7c andi v0, v0, 0x200 | v0 &= aav.0x00000200;
0x00006e80 lw t9, -0x7e24(gp) | t9 = sym.imp.__sprintf_chk
| if (v0 != 0) {
0x00006e84 bnez v0, 0x70f4 | goto label_2;
| }
0x00006e88 lw a3, -0x7fcc(gp) | a3 = *(gp);
0x00006e8c addiu v0, sp, 0x54 | v0 = sp + 0x54;
0x00006e90 sw v0, 0x44(sp) | *(var_44h) = v0;
0x00006e94 addiu a3, a3, -0x1d0 | a3 += -0x1d0;
| do {
| label_0:
0x00006e98 addiu a2, zero, 0x100 | a2 = aav.0x00000100;
0x00006e9c addiu a1, zero, 1 | a1 = 1;
0x00006ea0 move a0, v0 | a0 = v0;
0x00006ea4 jalr t9 | t9 ();
0x00006ea8 lw gp, 0x38(sp) | gp = *(var_38h);
0x00006eac move a0, s0 | a0 = s0;
0x00006eb0 lw t9, -0x7fb8(gp) | t9 = *(gp);
0x00006eb4 sra s6, s0, 0x1f | s6 = s0 >> 0x1f;
0x00006eb8 bal 0xedc0 | fcn_0000edc0 ();
0x00006ebc lw gp, 0x38(sp) | gp = *(var_38h);
0x00006ec0 lw a1, (fp) | a1 = *(fp);
0x00006ec4 lw a0, (s7) | a0 = *(s7);
0x00006ec8 lw t9, -0x7fc4(gp) | t9 = *(gp);
0x00006ecc subu a0, a1, a0 | __asm ("subu a0, a1, a0");
0x00006ed0 move s4, v0 | s4 = v0;
0x00006ed4 move s5, v1 | s5 = v1;
0x00006ed8 bal 0xeea0 | fcn_0000eea0 ();
0x00006edc lw gp, 0x38(sp) | gp = *(var_38h);
0x00006ee0 move a2, s2 | a2 = s2;
0x00006ee4 move a3, s3 | a3 = s3;
0x00006ee8 lw t9, -0x7fc0(gp) | t9 = *(gp);
0x00006eec move a0, v0 | a0 = v0;
0x00006ef0 move a1, v1 | a1 = v1;
0x00006ef4 bal 0xddc0 | fcn_0000ddc0 ();
0x00006ef8 lw gp, 0x38(sp) | gp = *(var_38h);
0x00006efc lw a2, 0x18(s1) | a2 = *((s1 + 6));
0x00006f00 lw a3, 0x1c(s1) | a3 = *((s1 + 7));
0x00006f04 lw t9, -0x7fbc(gp) | t9 = *(gp);
0x00006f08 move a0, v0 | a0 = v0;
0x00006f0c move a1, v1 | a1 = v1;
0x00006f10 bal 0xe820 | fcn_0000e820 ();
0x00006f14 lw gp, 0x38(sp) | gp = *(var_38h);
0x00006f18 move a2, s4 | a2 = s4;
0x00006f1c move a3, s5 | a3 = s5;
0x00006f20 lw t9, -0x7fc0(gp) | t9 = *(gp);
0x00006f24 move a0, v0 | a0 = v0;
0x00006f28 move a1, v1 | a1 = v1;
0x00006f2c bal 0xddc0 | fcn_0000ddc0 ();
0x00006f30 lw gp, 0x38(sp) | gp = *(var_38h);
0x00006f34 lw a0, 0x1b0(sp) | a0 = *(arg_1b0h);
0x00006f38 lw a1, 0x1b4(sp) | a1 = *(arg_1b4h);
0x00006f3c lw t9, -0x7f58(gp) | t9 = *(gp);
0x00006f40 move a2, s0 | a2 = s0;
0x00006f44 move a3, s6 | a3 = s6;
0x00006f48 sw v0, 0x48(sp) | *(var_48h) = v0;
0x00006f4c sw v1, 0x4c(sp) | *(var_4ch) = v1;
0x00006f50 bal 0xcff0 | fcn_0000cff0 ();
0x00006f54 lw gp, 0x38(sp) | gp = *(var_38h);
0x00006f58 lw a0, 0x1a8(sp) | a0 = *(arg_1a8h);
0x00006f5c lw a1, 0x1ac(sp) | a1 = *(arg_1ach);
0x00006f60 lw t9, -0x7f58(gp) | t9 = *(gp);
0x00006f64 move a2, s0 | a2 = s0;
0x00006f68 move a3, s6 | a3 = s6;
0x00006f6c sw v0, 0x30(sp) | *(var_30h) = v0;
0x00006f70 sw v1, 0x34(sp) | *(var_34h) = v1;
0x00006f74 bal 0xcff0 | fcn_0000cff0 ();
0x00006f78 lw gp, 0x38(sp) | gp = *(var_38h);
0x00006f7c lw a0, 0x1a0(sp) | a0 = *(arg_1a0h);
0x00006f80 lw a1, 0x1a4(sp) | a1 = *(arg_1a4h);
0x00006f84 lw t9, -0x7f58(gp) | t9 = *(gp);
0x00006f88 move a2, s0 | a2 = s0;
0x00006f8c move a3, s6 | a3 = s6;
0x00006f90 sw v0, 0x28(sp) | *(var_28h) = v0;
0x00006f94 sw v1, 0x2c(sp) | *(var_2ch) = v1;
0x00006f98 bal 0xcff0 | fcn_0000cff0 ();
0x00006f9c lw gp, 0x38(sp) | gp = *(var_38h);
0x00006fa0 lw a1, 8(fp) | a1 = *(arg_8h);
0x00006fa4 lw a0, 8(s7) | a0 = *((s7 + 2));
0x00006fa8 lw t9, -0x7fc4(gp) | t9 = *(gp);
0x00006fac subu a0, a1, a0 | __asm ("subu a0, a1, a0");
0x00006fb0 sw v0, 0x20(sp) | *(var_20h) = v0;
0x00006fb4 sw v1, 0x24(sp) | *(var_24h) = v1;
0x00006fb8 bal 0xeea0 | fcn_0000eea0 ();
0x00006fbc lw gp, 0x38(sp) | gp = *(var_38h);
0x00006fc0 move a2, s2 | a2 = s2;
0x00006fc4 move a3, s3 | a3 = s3;
0x00006fc8 lw t9, -0x7fc0(gp) | t9 = *(gp);
0x00006fcc move a0, v0 | a0 = v0;
0x00006fd0 move a1, v1 | a1 = v1;
0x00006fd4 bal 0xddc0 | fcn_0000ddc0 ();
0x00006fd8 lw gp, 0x38(sp) | gp = *(var_38h);
0x00006fdc lw a2, 0x18(s1) | a2 = *((s1 + 6));
0x00006fe0 lw a3, 0x1c(s1) | a3 = *((s1 + 7));
0x00006fe4 lw t9, -0x7fbc(gp) | t9 = *(gp);
0x00006fe8 move a0, v0 | a0 = v0;
0x00006fec move a1, v1 | a1 = v1;
0x00006ff0 bal 0xe820 | fcn_0000e820 ();
0x00006ff4 lw gp, 0x38(sp) | gp = *(var_38h);
0x00006ff8 move a2, s4 | a2 = s4;
0x00006ffc move a3, s5 | a3 = s5;
0x00007000 lw t9, -0x7fc0(gp) | t9 = *(gp);
0x00007004 move a0, v0 | a0 = v0;
0x00007008 move a1, v1 | a1 = v1;
0x0000700c bal 0xddc0 | fcn_0000ddc0 ();
0x00007010 lw gp, 0x38(sp) | gp = *(var_38h);
0x00007014 lw a1, 4(fp) | a1 = *(arg_4h);
0x00007018 lw a0, 4(s7) | a0 = *((s7 + 1));
0x0000701c lw t9, -0x7fc4(gp) | t9 = *(gp);
0x00007020 subu a0, a1, a0 | __asm ("subu a0, a1, a0");
0x00007024 sw v0, 0x18(sp) | *(var_18h) = v0;
0x00007028 sw v1, 0x1c(sp) | *(var_1ch) = v1;
0x0000702c bal 0xeea0 | fcn_0000eea0 ();
0x00007030 lw gp, 0x38(sp) | gp = *(var_38h);
0x00007034 move a2, s2 | a2 = s2;
0x00007038 move a3, s3 | a3 = s3;
0x0000703c lw t9, -0x7fc0(gp) | t9 = *(gp);
0x00007040 move a0, v0 | a0 = v0;
0x00007044 move a1, v1 | a1 = v1;
0x00007048 bal 0xddc0 | fcn_0000ddc0 ();
0x0000704c lw gp, 0x38(sp) | gp = *(var_38h);
0x00007050 lw a2, 0x18(s1) | a2 = *((s1 + 6));
0x00007054 lw a3, 0x1c(s1) | a3 = *((s1 + 7));
0x00007058 lw t9, -0x7fbc(gp) | t9 = *(gp);
0x0000705c move a0, v0 | a0 = v0;
0x00007060 move a1, v1 | a1 = v1;
0x00007064 bal 0xe820 | fcn_0000e820 ();
0x00007068 lw gp, 0x38(sp) | gp = *(var_38h);
0x0000706c move a0, v0 | a0 = v0;
0x00007070 move a1, v1 | a1 = v1;
0x00007074 lw t9, -0x7fc0(gp) | t9 = *(gp);
0x00007078 move a2, s4 | a2 = s4;
0x0000707c move a3, s5 | a3 = s5;
0x00007080 bal 0xddc0 | fcn_0000ddc0 ();
0x00007084 lw gp, 0x38(sp) | gp = *(var_38h);
0x00007088 lw t0, 0x48(sp) | t0 = *(var_48h);
0x0000708c lw t1, 0x4c(sp) | t1 = *(var_4ch);
0x00007090 lw a1, 0x44(sp) | a1 = *(var_44h);
0x00007094 lw t9, -0x7dd4(gp) | t9 = sym.imp.__printf_chk;
0x00007098 sw v1, 0x14(sp) | *(var_14h) = v1;
0x0000709c sw v0, 0x10(sp) | *(var_10h) = v0;
0x000070a0 move a2, t0 | a2 = t0;
0x000070a4 move a3, t1 | a3 = t1;
0x000070a8 addiu a0, zero, 1 | a0 = 1;
0x000070ac jalr t9 | t9 ();
0x000070b0 lw v0, 0x40(sp) | v0 = *(var_40h);
0x000070b4 lw v1, 0x154(sp) | v1 = *(var_154h);
0x000070b8 lw gp, 0x38(sp) | gp = *(var_38h);
0x000070bc lw v0, (v0) | v0 = *(v0);
0x000070c0 lw ra, 0x17c(sp) | ra = *(var_17ch);
| if (v1 != v0) {
0x000070c4 bne v1, v0, 0x711c | goto label_3;
| }
0x000070c8 lw fp, 0x178(sp) | fp = *(var_178h);
0x000070cc lw s7, 0x174(sp) | s7 = *(var_174h);
0x000070d0 lw s6, 0x170(sp) | s6 = *(var_170h);
0x000070d4 lw s5, 0x16c(sp) | s5 = *(var_16ch);
0x000070d8 lw s4, 0x168(sp) | s4 = *(var_168h);
0x000070dc lw s3, 0x164(sp) | s3 = *(var_164h);
0x000070e0 lw s2, 0x160(sp) | s2 = *(var_160h);
0x000070e4 lw s1, 0x15c(sp) | s1 = *(var_15ch);
0x000070e8 lw s0, 0x158(sp) | s0 = *(var_158h);
0x000070ec addiu sp, sp, 0x180 |
0x000070f0 jr ra | return v0;
| label_2:
0x000070f4 lw a3, -0x7fcc(gp) | a3 = *(gp);
0x000070f8 addiu v0, sp, 0x54 | v0 = sp + 0x54;
0x000070fc sw v0, 0x44(sp) | *(var_44h) = v0;
0x00007100 addiu a3, a3, -0x244 | a3 += -aav.0x00000244;
0x00007104 b 0x6e98 |
| } while (1);
| label_1:
0x00007108 addiu v0, sp, 0x54 | v0 = sp + 0x54;
0x0000710c lw t9, -0x7e24(gp) | t9 = sym.imp.__sprintf_chk
0x00007110 sw v0, 0x44(sp) | *(var_44h) = v0;
0x00007114 addiu a3, a3, -0x2b8 | a3 += -0x2b8;
0x00007118 b 0x6e98 | goto label_0;
| label_3:
0x0000711c lw t9, -0x7d50(gp) | t9 = sym.imp.__stack_chk_fail;
0x00007120 jalr t9 | t9 ();
0x00007124 nop |
| }
[*] Function sprintf used 10 times iostat