[*] Binary protection state of iostat
Full RELRO Canary found NX disabled PIE enabled No RPATH No RUNPATH No Symbols
[*] Function fprintf tear down of iostat
; assembly | /* r2dec pseudo code output */
| /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/bin/iostat @ 0x9170 */
| #include <stdint.h>
|
; (fcn) sym.get_proc_cpu_nr () | void get_proc_cpu_nr () {
0x00009170 lui gp, 2 |
0x00009174 addiu gp, gp, -0xc0 |
0x00009178 addu gp, gp, t9 | gp += t9;
0x0000917c addiu sp, sp, -0x58 |
0x00009180 lw a1, -0x7fcc(gp) | a1 = *(gp);
0x00009184 sw s5, 0x4c(sp) | *(var_4ch) = s5;
0x00009188 lw s5, -0x7d3c(gp) | s5 = *((gp - 8015));
0x0000918c sw s0, 0x38(sp) | *(var_38h) = s0;
0x00009190 lw s0, -0x7fcc(gp) | s0 = *(gp);
0x00009194 lw v0, (s5) | v0 = *(s5);
0x00009198 lw t9, -0x7d30(gp) | t9 = sym.imp.fopen;
0x0000919c sw gp, 0x18(sp) | *(var_18h) = gp;
0x000091a0 sw ra, 0x54(sp) | *(var_54h) = ra;
0x000091a4 sw s6, 0x50(sp) | *(var_50h) = s6;
0x000091a8 sw s4, 0x48(sp) | *(var_48h) = s4;
0x000091ac sw s3, 0x44(sp) | *(var_44h) = s3;
0x000091b0 sw s2, 0x40(sp) | *(var_40h) = s2;
0x000091b4 sw s1, 0x3c(sp) | *(var_3ch) = s1;
0x000091b8 addiu a1, a1, 0x2fc | a1 += aav.0x000002fc;
| /* esilref: '/proc/stat' */
0x000091bc addiu a0, s0, 0x38 | a0 = s0 + 0x38;
0x000091c0 sw v0, 0x34(sp) | *(var_34h) = v0;
0x000091c4 jalr t9 | t9 ();
0x000091c8 nop |
0x000091cc lw gp, 0x18(sp) | gp = *(var_18h);
| if (v0 == 0) {
0x000091d0 beqz v0, 0x92d0 | goto label_2;
| }
0x000091d4 lw s2, -0x7fcc(gp) | s2 = *(gp);
0x000091d8 lw s3, -0x7fcc(gp) | s3 = *(gp);
0x000091dc lw s6, -0x7fcc(gp) | s6 = *(gp);
0x000091e0 move s1, v0 | s1 = v0;
0x000091e4 addiu s4, zero, -1 | s4 = -1;
0x000091e8 addiu s0, sp, 0x24 | s0 = sp + 0x24;
| /* str.cpu_ */
0x000091ec addiu s2, s2, 0x58 | s2 += 0x58;
| /* esilref: 'cpu' */
0x000091f0 addiu s3, s3, 0x1e4 | s3 += 0x1e4;
| do {
| label_0:
0x000091f4 lw t9, -0x7d40(gp) | t9 = sym.imp.fgets;
0x000091f8 move a2, s1 | a2 = s1;
0x000091fc addiu a1, zero, 0x10 | a1 = 0x10;
0x00009200 move a0, s0 | a0 = s0;
0x00009204 jalr t9 | t9 ();
0x00009208 lw gp, 0x18(sp) | gp = *(var_18h);
| if (v0 == 0) {
0x0000920c beqz v0, 0x9288 | goto label_3;
| }
| label_1:
0x00009210 lw t9, -0x7e00(gp) | t9 = sym.imp.strncmp;
0x00009214 addiu a2, zero, 4 | a2 = 4;
0x00009218 move a1, s2 | a1 = s2;
0x0000921c move a0, s0 | a0 = s0;
0x00009220 jalr t9 | t9 ();
0x00009224 lw gp, 0x18(sp) | gp = *(var_18h);
0x00009228 beqz v0, 0x91f4 |
| } while (v0 == 0);
0x0000922c lw t9, -0x7e00(gp) | t9 = sym.imp.strncmp;
0x00009230 addiu a2, zero, 3 | a2 = 3;
0x00009234 move a1, s3 | a1 = s3;
0x00009238 move a0, s0 | a0 = s0;
0x0000923c jalr t9 | t9 ();
0x00009240 lw gp, 0x18(sp) | gp = *(var_18h);
| if (v0 != 0) {
0x00009244 bnez v0, 0x91f4 | goto label_0;
| }
0x00009248 lw t9, -0x7da8(gp) | t9 = sym.imp.__isoc99_sscanf;
0x0000924c addiu a2, sp, 0x20 | a2 = sp + 0x20;
| /* esilref: '&d' */
0x00009250 addiu a1, s6, 0x1e8 | a1 = s6 + aav.0x000001e8;
0x00009254 addiu a0, sp, 0x27 | a0 = sp + 0x27;
0x00009258 jalr t9 | t9 ();
0x0000925c lw gp, 0x18(sp) | gp = *(var_18h);
0x00009260 lw v0, 0x20(sp) | v0 = *(var_20h_2);
0x00009264 move a2, s1 | a2 = s1;
0x00009268 lw t9, -0x7d40(gp) | t9 = sym.imp.fgets;
0x0000926c slt v1, s4, v0 | v1 = (s4 < v0) ? 1 : 0;
0x00009270 addiu a1, zero, 0x10 | a1 = 0x10;
0x00009274 move a0, s0 | a0 = s0;
| if (v1 == 0) {
0x00009278 movn s4, v0, v1 | s4 = v0;
| }
0x0000927c jalr t9 | t9 ();
0x00009280 lw gp, 0x18(sp) | gp = *(var_18h);
| if (v0 != 0) {
0x00009284 bnez v0, 0x9210 | goto label_1;
| }
| label_3:
0x00009288 lw t9, -0x7dec(gp) | t9 = sym.imp.fclose;
0x0000928c move a0, s1 | a0 = s1;
0x00009290 jalr t9 | t9 ();
0x00009294 lw a0, 0x34(sp) | a0 = *(var_34h);
0x00009298 lw v1, (s5) | v1 = *(s5);
0x0000929c lw gp, 0x18(sp) | gp = *(var_18h);
0x000092a0 addiu v0, s4, 1 | v0 = s4 + 1;
| if (a0 == v1) {
0x000092a4 bne a0, v1, 0x9324 |
0x000092a8 lw ra, 0x54(sp) | ra = *(var_54h);
0x000092ac lw s6, 0x50(sp) | s6 = *(var_50h);
0x000092b0 lw s5, 0x4c(sp) | s5 = *(var_4ch);
0x000092b4 lw s4, 0x48(sp) | s4 = *(var_48h);
0x000092b8 lw s3, 0x44(sp) | s3 = *(var_44h);
0x000092bc lw s2, 0x40(sp) | s2 = *(var_40h);
0x000092c0 lw s1, 0x3c(sp) | s1 = *(var_3ch);
0x000092c4 lw s0, 0x38(sp) | s0 = *(var_38h);
0x000092c8 addiu sp, sp, 0x58 |
0x000092cc jr ra | return v0;
| label_2:
0x000092d0 lw v0, -0x7d34(gp) | v0 = *((gp - 8013));
0x000092d4 lw t9, -0x7db4(gp) | t9 = sym.imp.__errno_location;
0x000092d8 lw s1, (v0) | s1 = *(v0);
0x000092dc jalr t9 | t9 ();
0x000092e0 lw gp, 0x18(sp) | gp = *(var_18h);
0x000092e4 lw t9, -0x7d84(gp) | t9 = sym.imp.strerror;
0x000092e8 lw a0, (v0) | a0 = *(v0);
0x000092ec jalr t9 | t9 ();
0x000092f0 lw gp, 0x18(sp) | gp = *(var_18h);
0x000092f4 move a0, s1 | a0 = s1;
0x000092f8 sw v0, 0x10(sp) | *(var_10h) = v0;
0x000092fc lw a2, -0x7fcc(gp) | a2 = *(gp);
0x00009300 lw t9, -0x7df4(gp) | t9 = sym.imp.__fprintf_chk
| /* esilref: '/proc/stat' */
0x00009304 addiu a3, s0, 0x38 | a3 = s0 + 0x38;
| /* str.Cannot_open__s:__s_n */
0x00009308 addiu a2, a2, 0x44 | a2 += 0x44;
0x0000930c addiu a1, zero, 1 | a1 = 1;
0x00009310 jalr t9 | t9 ();
0x00009314 lw gp, 0x18(sp) | gp = *(var_18h);
0x00009318 lw t9, -0x7d8c(gp) | t9 = sym.imp.exit;
0x0000931c addiu a0, zero, 1 | a0 = 1;
0x00009320 jalr t9 | t9 ();
| }
0x00009324 lw t9, -0x7d50(gp) | t9 = sym.imp.__stack_chk_fail;
0x00009328 jalr t9 | t9 ();
0x0000932c 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 @ 0x7ea0 */
| #include <stdint.h>
|
; (fcn) sym.read_stat_cpu () | void read_stat_cpu () {
0x00007ea0 lui gp, 2 |
0x00007ea4 addiu gp, gp, 0x1210 |
0x00007ea8 addu gp, gp, t9 | gp += t9;
0x00007eac lw v0, -0x7d3c(gp) | v0 = *((gp - 8015));
0x00007eb0 addiu sp, sp, -0x20d0 |
0x00007eb4 lw t9, -0x7d30(gp) | t9 = sym.imp.fopen;
0x00007eb8 sw s5, 0x20bc(sp) | *(arg_20bch) = s5;
0x00007ebc sw s2, 0x20b0(sp) | *(arg_20b0h) = s2;
0x00007ec0 sw v0, 0x44(sp) | *(arg_44h) = v0;
0x00007ec4 lw s2, -0x7fcc(gp) | s2 = *(gp);
0x00007ec8 lw v0, (v0) | v0 = *(v0);
0x00007ecc move s5, a1 | s5 = a1;
0x00007ed0 lw a1, -0x7fcc(gp) | a1 = *(gp);
0x00007ed4 sw gp, 0x38(sp) | *(arg_38h) = gp;
0x00007ed8 sw s0, 0x20a8(sp) | *(arg_20a8h) = s0;
0x00007edc sw ra, 0x20cc(sp) | *(arg_20cch) = ra;
0x00007ee0 sw fp, 0x20c8(sp) | *(arg_20c8h) = fp;
0x00007ee4 sw s7, 0x20c4(sp) | *(arg_20c4h) = s7;
0x00007ee8 sw s6, 0x20c0(sp) | *(arg_20c0h) = s6;
0x00007eec sw s4, 0x20b8(sp) | *(arg_20b8h) = s4;
0x00007ef0 sw s3, 0x20b4(sp) | *(arg_20b4h) = s3;
0x00007ef4 sw s1, 0x20ac(sp) | *(arg_20ach) = s1;
0x00007ef8 move s0, a0 | s0 = a0;
0x00007efc addiu a1, a1, 0x2fc | a1 += aav.0x000002fc;
| /* esilref: '/proc/stat' */
0x00007f00 addiu a0, s2, 0x38 | a0 = s2 + 0x38;
0x00007f04 sw v0, 0x20a4(sp) | *(arg_20a4h) = v0;
0x00007f08 jalr t9 | t9 ();
0x00007f0c nop |
0x00007f10 lw gp, 0x38(sp) | gp = *(arg_38h);
| if (v0 == 0) {
0x00007f14 beqz v0, 0x8190 | goto label_14;
| }
0x00007f18 move s1, v0 | s1 = v0;
0x00007f1c lw s2, -0x7fcc(gp) | s2 = *(gp);
0x00007f20 lw v0, -0x7fcc(gp) | v0 = *(gp);
0x00007f24 lw s4, -0x7fcc(gp) | s4 = *(gp);
0x00007f28 lw s6, -0x7fcc(gp) | s6 = *(gp);
0x00007f2c sw v0, 0x40(sp) | *(arg_40h) = v0;
0x00007f30 move s3, zero | s3 = 0;
0x00007f34 addiu s7, sp, 0xa4 | s7 = sp + 0xa4;
| /* str.cpu_ */
0x00007f38 addiu s2, s2, 0x58 | s2 += 0x58;
| /* esilref: 'cpu' */
0x00007f3c addiu s4, s4, 0x1e4 | s4 += 0x1e4;
0x00007f40 addiu fp, sp, 0x50 | fp = sp + 0x50;
| /* str._llu__llu__llu__llu__llu__llu__llu__llu__llu__llu */
0x00007f44 addiu s6, s6, 0x60 | s6 += 0x60;
| do {
0x00007f48 lw t9, -0x7d40(gp) | t9 = sym.imp.fgets;
| label_0:
0x00007f4c move a2, s1 | a2 = s1;
0x00007f50 addiu a1, zero, 0x2000 | a1 = 0x2000;
0x00007f54 move a0, s7 | a0 = s7;
0x00007f58 jalr t9 | t9 ();
0x00007f5c lw gp, 0x38(sp) | gp = *(arg_38h);
| if (v0 == 0) {
0x00007f60 beqz v0, 0x8098 | goto label_3;
| }
| label_1:
0x00007f64 lw t9, -0x7e00(gp) | t9 = sym.imp.strncmp;
0x00007f68 addiu a2, zero, 4 | a2 = 4;
0x00007f6c move a1, s2 | a1 = s2;
0x00007f70 move a0, s7 | a0 = s7;
0x00007f74 jalr t9 | t9 ();
0x00007f78 lw gp, 0x38(sp) | gp = *(arg_38h);
| if (v0 == 0) {
0x00007f7c beqz v0, 0x80ec | goto label_15;
| }
0x00007f80 lw t9, -0x7e00(gp) | t9 = sym.imp.strncmp;
0x00007f84 addiu a2, zero, 3 | a2 = 3;
0x00007f88 move a1, s4 | a1 = s4;
0x00007f8c move a0, s7 | a0 = s7;
0x00007f90 jalr t9 | t9 ();
0x00007f94 lw gp, 0x38(sp) | gp = *(arg_38h);
0x00007f98 bnez v0, 0x7f48 |
| } while (v0 != 0);
0x00007f9c lw t9, -0x7dac(gp) | t9 = sym.imp.memset;
0x00007fa0 addiu a2, zero, 0x50 | a2 = 0x50;
0x00007fa4 move a1, zero | a1 = 0;
0x00007fa8 move a0, fp | a0 = fp;
0x00007fac jalr t9 | t9 ();
0x00007fb0 addiu v0, sp, 0x98 | v0 = sp + 0x98;
0x00007fb4 sw v0, 0x30(sp) | *(arg_30h) = v0;
0x00007fb8 addiu v0, sp, 0x90 | v0 = sp + 0x90;
0x00007fbc sw v0, 0x2c(sp) | *(arg_2ch) = v0;
0x00007fc0 addiu v0, sp, 0x78 | v0 = sp + 0x78;
0x00007fc4 sw v0, 0x28(sp) | *(arg_28h) = v0;
0x00007fc8 addiu v0, sp, 0x88 | v0 = sp + 0x88;
0x00007fcc sw v0, 0x24(sp) | *(arg_24h) = v0;
0x00007fd0 addiu v0, sp, 0x80 | v0 = sp + 0x80;
0x00007fd4 sw v0, 0x20(sp) | *(arg_20h) = v0;
0x00007fd8 addiu v0, sp, 0x70 | v0 = sp + 0x70;
0x00007fdc sw v0, 0x1c(sp) | *(arg_1ch) = v0;
0x00007fe0 addiu v0, sp, 0x68 | v0 = sp + 0x68;
0x00007fe4 lw gp, 0x38(sp) | gp = *(arg_38h);
0x00007fe8 sw v0, 0x18(sp) | *(arg_18h) = v0;
0x00007fec addiu v0, sp, 0x60 | v0 = sp + 0x60;
0x00007ff0 sw v0, 0x14(sp) | *(arg_14h) = v0;
0x00007ff4 addiu v0, sp, 0x58 | v0 = sp + 0x58;
0x00007ff8 sw v0, 0x10(sp) | *(arg_10h) = v0;
0x00007ffc lw v0, 0x40(sp) | v0 = *(arg_40h);
0x00008000 lw t9, -0x7da8(gp) | t9 = sym.imp.__isoc99_sscanf;
0x00008004 addiu a0, sp, 0xa7 | a0 = sp + 0xa7;
0x00008008 move a3, fp | a3 = fp;
0x0000800c addiu a2, sp, 0x4c | a2 = sp + 0x4c;
0x00008010 addiu a1, v0, 0x94 | a1 = v0 + 0x94;
0x00008014 jalr t9 | t9 ();
0x00008018 lw t4, 0x4c(sp) | t4 = *(arg_4ch);
0x0000801c addiu a0, t4, 1 | a0 = t4 + 1;
0x00008020 slt v0, a0, s5 | v0 = (a0 < s5) ? 1 : 0;
0x00008024 lw gp, 0x38(sp) | gp = *(arg_38h);
| if (v0 == 0) {
0x00008028 beqz v0, 0x817c | goto label_16;
| }
0x0000802c sll v0, a0, 2 | v0 = a0 << 2;
0x00008030 addu v0, v0, a0 | v0 += a0;
0x00008034 sll v0, v0, 4 | v0 <<= 4;
0x00008038 move v1, fp | v1 = fp;
0x0000803c addu v0, s0, v0 | v0 = s0 + v0;
0x00008040 addiu t3, sp, 0xa0 | t3 = sp + 0xa0;
| do {
0x00008044 lw t2, (v1) | t2 = *(v1);
0x00008048 lw a3, 4(v1) | a3 = *((v1 + 1));
0x0000804c lw a2, 8(v1) | a2 = *((v1 + 2));
0x00008050 lw a1, 0xc(v1) | a1 = *((v1 + 3));
0x00008054 addiu v1, v1, 0x10 | v1 += 0x10;
0x00008058 sw t2, (v0) | *(v0) = t2;
0x0000805c sw a3, 4(v0) | *((v0 + 1)) = a3;
0x00008060 sw a2, 8(v0) | *((v0 + 2)) = a2;
0x00008064 sw a1, 0xc(v0) | *((v0 + 3)) = a1;
0x00008068 addiu v0, v0, 0x10 | v0 += 0x10;
0x0000806c bne v1, t3, 0x8044 |
| } while (v1 != t3);
0x00008070 slt a0, a0, s3 | a0 = (a0 < s3) ? 1 : 0;
0x00008074 lw t9, -0x7d40(gp) | t9 = sym.imp.fgets;
| if (a0 != 0) {
0x00008078 bnez a0, 0x7f4c | goto label_0;
| }
0x0000807c move a2, s1 | a2 = s1;
0x00008080 addiu a1, zero, 0x2000 | a1 = 0x2000;
0x00008084 move a0, s7 | a0 = s7;
0x00008088 addiu s3, t4, 2 | s3 = t4 + 2;
0x0000808c jalr t9 | t9 ();
0x00008090 lw gp, 0x38(sp) | gp = *(arg_38h);
| if (v0 != 0) {
0x00008094 bnez v0, 0x7f64 | goto label_1;
| }
| label_3:
0x00008098 lw t9, -0x7dec(gp) | t9 = sym.imp.fclose;
| label_2:
0x0000809c move a0, s1 | a0 = s1;
0x000080a0 jalr t9 | t9 ();
0x000080a4 lw v0, 0x44(sp) | v0 = *(arg_44h);
0x000080a8 lw a0, 0x20a4(sp) | a0 = *(arg_20a4h);
0x000080ac lw gp, 0x38(sp) | gp = *(arg_38h);
0x000080b0 lw v1, (v0) | v1 = *(v0);
0x000080b4 move v0, s3 | v0 = s3;
| if (a0 != v1) {
0x000080b8 bne a0, v1, 0x8184 | goto label_17;
| }
0x000080bc lw ra, 0x20cc(sp) | ra = *(arg_20cch);
0x000080c0 lw fp, 0x20c8(sp) | fp = *(arg_20c8h);
0x000080c4 lw s7, 0x20c4(sp) | s7 = *(arg_20c4h);
0x000080c8 lw s6, 0x20c0(sp) | s6 = *(arg_20c0h);
0x000080cc lw s5, 0x20bc(sp) | s5 = *(arg_20bch);
0x000080d0 lw s4, 0x20b8(sp) | s4 = *(arg_20b8h);
0x000080d4 lw s3, 0x20b4(sp) | s3 = *(arg_20b4h);
0x000080d8 lw s2, 0x20b0(sp) | s2 = *(arg_20b0h);
0x000080dc lw s1, 0x20ac(sp) | s1 = *(arg_20ach);
0x000080e0 lw s0, 0x20a8(sp) | s0 = *(arg_20a8h);
0x000080e4 addiu sp, sp, 0x20d0 |
0x000080e8 jr ra | return v0;
| label_15:
0x000080ec lw t9, -0x7dac(gp) | t9 = sym.imp.memset;
0x000080f0 addiu a2, zero, 0x50 | a2 = 0x50;
0x000080f4 move a1, zero | a1 = 0;
0x000080f8 move a0, s0 | a0 = s0;
0x000080fc jalr t9 | t9 ();
0x00008100 lw gp, 0x38(sp) | gp = *(arg_38h);
0x00008104 addiu t3, s0, 0x48 | t3 = s0 + 0x48;
0x00008108 addiu t2, s0, 0x40 | t2 = s0 + 0x40;
0x0000810c lw t9, -0x7da8(gp) | t9 = sym.imp.__isoc99_sscanf;
0x00008110 addiu a3, s0, 0x28 | a3 = s0 + 0x28;
0x00008114 addiu a2, s0, 0x38 | a2 = s0 + 0x38;
0x00008118 addiu a1, s0, 0x30 | a1 = s0 + 0x30;
0x0000811c addiu a0, s0, 0x20 | a0 = s0 + 0x20;
0x00008120 addiu v1, s0, 0x18 | v1 = s0 + 0x18;
0x00008124 addiu v0, s0, 0x10 | v0 = s0 + 0x10;
0x00008128 sw a3, 0x24(sp) | *(arg_24h) = a3;
0x0000812c sw a2, 0x20(sp) | *(arg_20h) = a2;
0x00008130 sw a1, 0x1c(sp) | *(arg_1ch) = a1;
0x00008134 sw a0, 0x18(sp) | *(arg_18h) = a0;
0x00008138 sw t3, 0x2c(sp) | *(arg_2ch) = t3;
0x0000813c sw t2, 0x28(sp) | *(arg_28h) = t2;
0x00008140 sw v1, 0x14(sp) | *(arg_14h) = v1;
0x00008144 sw v0, 0x10(sp) | *(arg_10h) = v0;
0x00008148 addiu a3, s0, 8 | a3 = s0 + 8;
0x0000814c move a2, s0 | a2 = s0;
0x00008150 move a1, s6 | a1 = s6;
0x00008154 addiu a0, sp, 0xa9 | a0 = sp + 0xa9;
0x00008158 jalr t9 | t9 ();
0x0000815c lw gp, 0x38(sp) | gp = *(arg_38h);
| if (s3 == 0) {
0x00008160 bnez s3, 0x8168 |
0x00008164 addiu s3, zero, 1 | s3 = 1;
| }
0x00008168 addiu v0, zero, 1 | v0 = 1;
0x0000816c lw t9, -0x7d40(gp) | t9 = sym.imp.fgets;
| if (s5 == v0) {
0x00008170 bnel s5, v0, 0x7f4c | goto label_0;
| }
0x00008174 lw t9, -0x7dec(gp) | t9 = sym.imp.fclose;
0x00008178 b 0x809c | goto label_2;
| label_16:
0x0000817c addiu s3, zero, -1 | s3 = -1;
0x00008180 b 0x8098 | goto label_3;
| label_17:
0x00008184 lw t9, -0x7d50(gp) | t9 = sym.imp.__stack_chk_fail;
0x00008188 jalr t9 | t9 ();
0x0000818c nop |
| label_14:
0x00008190 lw v0, -0x7d34(gp) | v0 = *((gp - 8013));
0x00008194 lw t9, -0x7db4(gp) | t9 = sym.imp.__errno_location;
0x00008198 lw s0, (v0) | s0 = *(v0);
0x0000819c jalr t9 | t9 ();
0x000081a0 lw gp, 0x38(sp) | gp = *(arg_38h);
0x000081a4 lw t9, -0x7d84(gp) | t9 = sym.imp.strerror;
0x000081a8 lw a0, (v0) | a0 = *(v0);
0x000081ac jalr t9 | t9 ();
0x000081b0 lw gp, 0x38(sp) | gp = *(arg_38h);
0x000081b4 move a0, s0 | a0 = s0;
0x000081b8 sw v0, 0x10(sp) | *(arg_10h) = v0;
0x000081bc lw a2, -0x7fcc(gp) | a2 = *(gp);
0x000081c0 lw t9, -0x7df4(gp) | t9 = sym.imp.__fprintf_chk
| /* esilref: '/proc/stat' */
0x000081c4 addiu a3, s2, 0x38 | a3 = s2 + 0x38;
| /* str.Cannot_open__s:__s_n */
0x000081c8 addiu a2, a2, 0x44 | a2 += 0x44;
0x000081cc addiu a1, zero, 1 | a1 = 1;
0x000081d0 jalr t9 | t9 ();
0x000081d4 lw gp, 0x38(sp) | gp = *(arg_38h);
0x000081d8 lw t9, -0x7d8c(gp) | t9 = sym.imp.exit;
0x000081dc addiu a0, zero, 2 | a0 = 2;
0x000081e0 jalr t9 | t9 ();
0x000081e4 lui gp, 2 |
0x000081e8 addiu gp, gp, 0xecc |
0x000081ec addu gp, gp, t9 | gp += t9;
0x000081f0 lw v0, -0x7d3c(gp) | v0 = *((gp - 8015));
0x000081f4 addiu sp, sp, -0x2058 |
0x000081f8 lw t9, -0x7d30(gp) | t9 = sym.imp.fopen;
0x000081fc sw s4, 0x2040(sp) | *(arg_2040h) = s4;
0x00008200 sw s3, 0x203c(sp) | *(arg_203ch) = s3;
0x00008204 sw v0, 0x1c(sp) | *(arg_1ch) = v0;
0x00008208 move s3, a0 | s3 = a0;
0x0000820c lw v0, (v0) | v0 = *(v0);
0x00008210 lw a0, -0x7fcc(gp) | a0 = *(gp);
0x00008214 move s4, a1 | s4 = a1;
0x00008218 lw a1, -0x7fcc(gp) | a1 = *(gp);
0x0000821c sw gp, 0x10(sp) | *(arg_10h) = gp;
0x00008220 sw ra, 0x2054(sp) | *(arg_2054h) = ra;
0x00008224 sw fp, 0x2050(sp) | *(arg_2050h) = fp;
0x00008228 sw s7, 0x204c(sp) | *(arg_204ch) = s7;
0x0000822c sw s6, 0x2048(sp) | *(arg_2048h) = s6;
0x00008230 sw s5, 0x2044(sp) | *(arg_2044h) = s5;
0x00008234 sw s2, 0x2038(sp) | *(arg_2038h) = s2;
0x00008238 sw s1, 0x2034(sp) | *(arg_2034h) = s1;
0x0000823c sw s0, 0x2030(sp) | *(arg_2030h) = s0;
| /* esilref: '/proc/stat' */
0x00008240 addiu a0, a0, 0x38 | a0 += 0x38;
0x00008244 addiu a1, a1, 0x2fc | a1 += aav.0x000002fc;
0x00008248 sw v0, 0x202c(sp) | *(arg_202ch) = v0;
0x0000824c jalr t9 | t9 ();
0x00008250 nop |
0x00008254 lw gp, 0x10(sp) | gp = *(arg_10h);
| if (v0 == 0) {
0x00008258 beqz v0, 0x83d0 | goto label_18;
| }
0x0000825c lw s1, -0x7fcc(gp) | s1 = *(gp);
0x00008260 move s2, v0 | s2 = v0;
0x00008264 addiu s0, sp, 0x2c | s0 = sp + 0x2c;
| /* str.intr_ */
0x00008268 addiu s1, s1, 0xcc | s1 += 0xcc;
0x0000826c b 0x828c |
| while (v0 != 0) {
0x00008270 lw t9, -0x7e00(gp) | t9 = sym.imp.strncmp;
0x00008274 addiu a2, zero, 5 | a2 = 5;
0x00008278 move a1, s1 | a1 = s1;
0x0000827c move a0, s0 | a0 = s0;
0x00008280 jalr t9 | t9 ();
0x00008284 lw gp, 0x10(sp) | gp = *(arg_10h);
| if (v0 == 0) {
0x00008288 beqz v0, 0x8300 | goto label_19;
| }
0x0000828c lw t9, -0x7d40(gp) | t9 = sym.imp.fgets;
0x00008290 move a2, s2 | a2 = s2;
0x00008294 addiu a1, zero, 0x2000 | a1 = 0x2000;
0x00008298 move a0, s0 | a0 = s0;
0x0000829c jalr t9 | t9 ();
0x000082a0 lw gp, 0x10(sp) | gp = *(arg_10h);
0x000082a4 bnez v0, 0x8270 |
| }
0x000082a8 move s6, zero | s6 = 0;
| do {
| label_4:
0x000082ac lw t9, -0x7dec(gp) | t9 = sym.imp.fclose;
0x000082b0 move a0, s2 | a0 = s2;
0x000082b4 jalr t9 | t9 ();
0x000082b8 lw gp, 0x10(sp) | gp = *(arg_10h);
| label_6:
0x000082bc lw v0, 0x1c(sp) | v0 = *(arg_1ch);
0x000082c0 lw a0, 0x202c(sp) | a0 = *(arg_202ch);
0x000082c4 lw v1, (v0) | v1 = *(v0);
0x000082c8 move v0, s6 | v0 = s6;
| if (a0 != v1) {
0x000082cc bne a0, v1, 0x83e0 | goto label_20;
| }
0x000082d0 lw ra, 0x2054(sp) | ra = *(arg_2054h);
0x000082d4 lw fp, 0x2050(sp) | fp = *(arg_2050h);
0x000082d8 lw s7, 0x204c(sp) | s7 = *(arg_204ch);
0x000082dc lw s6, 0x2048(sp) | s6 = *(arg_2048h);
0x000082e0 lw s5, 0x2044(sp) | s5 = *(arg_2044h);
0x000082e4 lw s4, 0x2040(sp) | s4 = *(arg_2040h);
0x000082e8 lw s3, 0x203c(sp) | s3 = *(arg_203ch);
0x000082ec lw s2, 0x2038(sp) | s2 = *(arg_2038h);
0x000082f0 lw s1, 0x2034(sp) | s1 = *(arg_2034h);
0x000082f4 lw s0, 0x2030(sp) | s0 = *(arg_2030h);
0x000082f8 addiu sp, sp, 0x2058 |
0x000082fc jr ra | return v0;
| label_19:
0x00008300 lw a1, -0x7fcc(gp) | a1 = *(gp);
0x00008304 lw t9, -0x7da8(gp) | t9 = sym.imp.__isoc99_sscanf;
0x00008308 addiu s1, sp, 0x31 | s1 = sp + 0x31;
0x0000830c move a2, s3 | a2 = s3;
| /* esilref: '&llu' */
0x00008310 addiu a1, a1, 0xc4 | a1 += 0xc4;
0x00008314 move a0, s1 | a0 = s1;
0x00008318 jalr t9 | t9 ();
0x0000831c addiu v0, zero, 1 | v0 = 1;
0x00008320 lw gp, 0x10(sp) | gp = *(arg_10h);
| if (s4 == v0) {
0x00008324 beq s4, v0, 0x83d8 | goto label_21;
| }
0x00008328 lw s7, -0x7fcc(gp) | s7 = *(gp);
0x0000832c lw t9, -0x7d28(gp) | t9 = sym.imp.strcspn;
0x00008330 addiu a1, s7, -0x488 | a1 = s7 + -0x488;
0x00008334 move a0, s1 | a0 = s1;
0x00008338 jalr t9 | t9 ();
0x0000833c lw gp, 0x10(sp) | gp = *(arg_10h);
0x00008340 addiu s1, v0, 5 | s1 = v0 + 5;
0x00008344 addiu s3, s3, 8 | s3 += 8;
0x00008348 lw fp, -0x7fcc(gp) | fp = *(gp);
0x0000834c addiu s6, zero, 1 | s6 = 1;
0x00008350 addiu s5, sp, 0x20 | s5 = sp + 0x20;
| /* esilref: ' &llu' */
0x00008354 addiu fp, fp, 0x8c | fp += 0x8c;
0x00008358 addiu s7, s7, -0x488 | s7 += -0x488;
0x0000835c b 0x83a0 | goto label_22;
| label_5:
0x00008360 lw v0, 0x20(sp) | v0 = *(arg_20h);
0x00008364 lw t9, -0x7d28(gp) | t9 = sym.imp.strcspn;
0x00008368 addiu a0, s1, 1 | a0 = s1 + 1;
0x0000836c sw v1, 4(s3) | *((s3 + 1)) = v1;
0x00008370 sw v0, (s3) | *(s3) = v0;
0x00008374 move a1, s7 | a1 = s7;
0x00008378 addu a0, s0, a0 | a0 = s0 + a0;
0x0000837c jalr t9 | t9 ();
0x00008380 addiu v1, v0, 1 | v1 = v0 + 1;
0x00008384 lw gp, 0x10(sp) | gp = *(arg_10h);
0x00008388 addiu s6, s6, 1 | s6++;
0x0000838c addu s1, s1, v1 | s1 += v1;
0x00008390 blez v0, 0x82ac |
| } while (v0 <= 0);
0x00008394 sltiu v0, s1, 0x1fff | v0 = (s1 < 0x1fff) ? 1 : 0;
0x00008398 addiu s3, s3, 8 | s3 += 8;
| if (v0 == 0) {
0x0000839c beqz v0, 0x82ac | goto label_4;
| }
| label_22:
0x000083a0 lw t9, -0x7da8(gp) | t9 = sym.imp.__isoc99_sscanf;
0x000083a4 move a2, s5 | a2 = s5;
0x000083a8 move a1, fp | a1 = fp;
0x000083ac addu a0, s0, s1 | a0 = s0 + s1;
0x000083b0 jalr t9 | t9 ();
0x000083b4 lw gp, 0x10(sp) | gp = *(arg_10h);
| if (v0 <= 0) {
0x000083b8 blez v0, 0x82ac | goto label_4;
| }
0x000083bc slt v0, s6, s4 | v0 = (s6 < s4) ? 1 : 0;
0x000083c0 lw v1, 0x24(sp) | v1 = *(arg_24h);
| if (v0 != 0) {
0x000083c4 bnez v0, 0x8360 | goto label_5;
| }
0x000083c8 addiu s6, zero, -1 | s6 = -1;
0x000083cc b 0x82ac | goto label_4;
| label_18:
0x000083d0 move s6, zero | s6 = 0;
0x000083d4 b 0x82bc | goto label_6;
| label_21:
0x000083d8 addiu s6, zero, 1 | s6 = 1;
0x000083dc b 0x82ac | goto label_4;
| label_20:
0x000083e0 lw t9, -0x7d50(gp) | t9 = sym.imp.__stack_chk_fail;
0x000083e4 jalr t9 | t9 ();
0x000083e8 nop |
0x000083ec lui gp, 2 |
0x000083f0 addiu gp, gp, 0xcc4 |
0x000083f4 addu gp, gp, t9 | gp += t9;
0x000083f8 addiu sp, sp, -0xc8 |
0x000083fc lw a1, -0x7fcc(gp) | a1 = *(gp);
0x00008400 sw s7, 0xbc(sp) | *(var_bch) = s7;
0x00008404 lw s7, -0x7d3c(gp) | s7 = *((gp - 8015));
0x00008408 sw s3, 0xac(sp) | *(var_ach) = s3;
0x0000840c move s3, a0 | s3 = a0;
0x00008410 lw v0, (s7) | v0 = *(s7);
0x00008414 lw a0, -0x7fcc(gp) | a0 = *(gp);
0x00008418 lw t9, -0x7d30(gp) | t9 = sym.imp.fopen;
0x0000841c sw gp, 0x10(sp) | *(var_10h) = gp;
0x00008420 sw ra, 0xc4(sp) | *(var_c4h) = ra;
0x00008424 sw fp, 0xc0(sp) | *(var_c0h) = fp;
0x00008428 sw s6, 0xb8(sp) | *(var_b8h) = s6;
0x0000842c sw s5, 0xb4(sp) | *(var_b4h) = s5;
0x00008430 sw s4, 0xb0(sp) | *(var_b0h) = s4;
0x00008434 sw s2, 0xa8(sp) | *(var_a8h) = s2;
0x00008438 sw s1, 0xa4(sp) | *(var_a4h) = s1;
0x0000843c sw s0, 0xa0(sp) | *(var_a0h) = s0;
0x00008440 addiu a1, a1, 0x2fc | a1 += aav.0x000002fc;
| /* str._proc_meminfo */
0x00008444 addiu a0, a0, 0xd4 | a0 += 0xd4;
0x00008448 sw v0, 0x9c(sp) | *(var_9ch) = v0;
0x0000844c jalr t9 | t9 ();
0x00008450 nop |
0x00008454 lw gp, 0x10(sp) | gp = *(var_10h);
| if (v0 == 0) {
0x00008458 beqz v0, 0x880c | goto label_23;
| }
0x0000845c lw s2, -0x7fcc(gp) | s2 = *(gp);
0x00008460 lw s4, -0x7fcc(gp) | s4 = *(gp);
0x00008464 lw s5, -0x7fcc(gp) | s5 = *(gp);
0x00008468 lw s6, -0x7fcc(gp) | s6 = *(gp);
0x0000846c lw fp, -0x7fcc(gp) | fp = *(gp);
0x00008470 move s1, v0 | s1 = v0;
0x00008474 addiu s0, sp, 0x1c | s0 = sp + 0x1c;
| /* str.MemTotal: */
0x00008478 addiu s2, s2, 0xe4 | s2 += 0xe4;
| /* str.MemFree: */
0x0000847c addiu s4, s4, 0xf0 | s4 += 0xf0;
| /* str.Buffers: */
0x00008480 addiu s5, s5, 0x10c | s5 += 0x10c;
| do {
| label_7:
0x00008484 lw t9, -0x7d40(gp) | t9 = sym.imp.fgets;
0x00008488 move a2, s1 | a2 = s1;
0x0000848c addiu a1, zero, 0x80 | a1 = 0x80;
0x00008490 move a0, s0 | a0 = s0;
0x00008494 jalr t9 | t9 ();
0x00008498 lw gp, 0x10(sp) | gp = *(var_10h);
| if (v0 == 0) {
0x0000849c beqz v0, 0x8704 | goto label_24;
| }
| label_8:
0x000084a0 lw t9, -0x7e00(gp) | t9 = sym.imp.strncmp;
0x000084a4 addiu a2, zero, 9 | a2 = 9;
0x000084a8 move a1, s2 | a1 = s2;
0x000084ac move a0, s0 | a0 = s0;
0x000084b0 jalr t9 | t9 ();
0x000084b4 lw gp, 0x10(sp) | gp = *(var_10h);
| if (v0 == 0) {
0x000084b8 beqz v0, 0x86cc | goto label_25;
| }
0x000084bc lw t9, -0x7e00(gp) | t9 = sym.imp.strncmp;
0x000084c0 addiu a2, zero, 8 | a2 = 8;
0x000084c4 move a1, s4 | a1 = s4;
0x000084c8 move a0, s0 | a0 = s0;
0x000084cc jalr t9 | t9 ();
0x000084d0 lw gp, 0x10(sp) | gp = *(var_10h);
| if (v0 == 0) {
0x000084d4 beqz v0, 0x8754 | goto label_26;
| }
0x000084d8 lw t9, -0x7e00(gp) | t9 = sym.imp.strncmp;
0x000084dc addiu a2, zero, 0xd | a2 = 0xd;
| /* str.MemAvailable: */
0x000084e0 addiu a1, s6, 0xfc | a1 = s6 + 0xfc;
0x000084e4 move a0, s0 | a0 = s0;
0x000084e8 jalr t9 | t9 ();
0x000084ec lw gp, 0x10(sp) | gp = *(var_10h);
| if (v0 == 0) {
0x000084f0 beqz v0, 0x8774 | goto label_27;
| }
0x000084f4 lw t9, -0x7e00(gp) | t9 = sym.imp.strncmp;
0x000084f8 addiu a2, zero, 8 | a2 = 8;
0x000084fc move a1, s5 | a1 = s5;
0x00008500 move a0, s0 | a0 = s0;
0x00008504 jalr t9 | t9 ();
0x00008508 lw gp, 0x10(sp) | gp = *(var_10h);
| if (v0 == 0) {
0x0000850c beqz v0, 0x8794 | goto label_28;
| }
0x00008510 lw t9, -0x7e00(gp) | t9 = sym.imp.strncmp;
0x00008514 addiu a2, zero, 7 | a2 = 7;
| /* esilref: 'Cached:' */
0x00008518 addiu a1, fp, 0x11c | a1 = fp + 0x11c;
0x0000851c move a0, s0 | a0 = s0;
0x00008520 jalr t9 | t9 ();
0x00008524 lw gp, 0x10(sp) | gp = *(var_10h);
| if (v0 == 0) {
0x00008528 beqz v0, 0x87a0 | goto label_29;
| }
0x0000852c lw a1, -0x7fcc(gp) | a1 = *(gp);
0x00008530 lw t9, -0x7e00(gp) | t9 = sym.imp.strncmp;
0x00008534 addiu a2, zero, 0xb | a2 = 0xb;
| /* str.SwapCached: */
0x00008538 addiu a1, a1, 0x118 | a1 += 0x118;
0x0000853c move a0, s0 | a0 = s0;
0x00008540 jalr t9 | t9 ();
0x00008544 lw gp, 0x10(sp) | gp = *(var_10h);
| if (v0 == 0) {
0x00008548 beqz v0, 0x87c0 | goto label_30;
| }
0x0000854c lw a1, -0x7fcc(gp) | a1 = *(gp);
0x00008550 lw t9, -0x7e00(gp) | t9 = sym.imp.strncmp;
0x00008554 addiu a2, zero, 7 | a2 = 7;
| /* str.Active: */
0x00008558 addiu a1, a1, 0x124 | a1 += 0x124;
0x0000855c move a0, s0 | a0 = s0;
0x00008560 jalr t9 | t9 ();
0x00008564 lw gp, 0x10(sp) | gp = *(var_10h);
| if (v0 == 0) {
0x00008568 beqz v0, 0x87e0 | goto label_31;
| }
0x0000856c lw a1, -0x7fcc(gp) | a1 = *(gp);
0x00008570 lw t9, -0x7e00(gp) | t9 = sym.imp.strncmp;
0x00008574 addiu a2, zero, 9 | a2 = 9;
| /* str.Inactive: */
0x00008578 addiu a1, a1, 0x12c | a1 += aav.0x0000012c;
0x0000857c move a0, s0 | a0 = s0;
0x00008580 jalr t9 | t9 ();
0x00008584 lw gp, 0x10(sp) | gp = *(var_10h);
| if (v0 == 0) {
0x00008588 beqz v0, 0x8814 | goto label_32;
| }
0x0000858c lw a1, -0x7fcc(gp) | a1 = *(gp);
0x00008590 lw t9, -0x7e00(gp) | t9 = sym.imp.strncmp;
0x00008594 addiu a2, zero, 0xa | a2 = 0xa;
| /* str.SwapTotal: */
0x00008598 addiu a1, a1, 0x138 | a1 += 0x138;
0x0000859c move a0, s0 | a0 = s0;
0x000085a0 jalr t9 | t9 ();
0x000085a4 lw gp, 0x10(sp) | gp = *(var_10h);
| if (v0 == 0) {
0x000085a8 beqz v0, 0x87ec | goto label_33;
| }
0x000085ac lw a1, -0x7fcc(gp) | a1 = *(gp);
0x000085b0 lw t9, -0x7e00(gp) | t9 = sym.imp.strncmp;
0x000085b4 addiu a2, zero, 9 | a2 = 9;
| /* str.SwapFree: */
0x000085b8 addiu a1, a1, 0x144 | a1 += 0x144;
0x000085bc move a0, s0 | a0 = s0;
0x000085c0 jalr t9 | t9 ();
0x000085c4 lw gp, 0x10(sp) | gp = *(var_10h);
| if (v0 == 0) {
0x000085c8 beqz v0, 0x8820 | goto label_34;
| }
0x000085cc lw a1, -0x7fcc(gp) | a1 = *(gp);
0x000085d0 lw t9, -0x7e00(gp) | t9 = sym.imp.strncmp;
0x000085d4 addiu a2, zero, 6 | a2 = 6;
| /* str.Dirty: */
0x000085d8 addiu a1, a1, 0x150 | a1 += 0x150;
0x000085dc move a0, s0 | a0 = s0;
0x000085e0 jalr t9 | t9 ();
0x000085e4 lw gp, 0x10(sp) | gp = *(var_10h);
| if (v0 == 0) {
0x000085e8 beqz v0, 0x8838 | goto label_35;
| }
0x000085ec lw a1, -0x7fcc(gp) | a1 = *(gp);
0x000085f0 lw t9, -0x7e00(gp) | t9 = sym.imp.strncmp;
0x000085f4 addiu a2, zero, 0xd | a2 = 0xd;
| /* str.Committed_AS: */
0x000085f8 addiu a1, a1, 0x158 | a1 += aav.0x00000158;
0x000085fc move a0, s0 | a0 = s0;
0x00008600 jalr t9 | t9 ();
0x00008604 lw gp, 0x10(sp) | gp = *(var_10h);
| if (v0 == 0) {
0x00008608 beqz v0, 0x8858 | goto label_36;
| }
0x0000860c lw a1, -0x7fcc(gp) | a1 = *(gp);
0x00008610 lw t9, -0x7e00(gp) | t9 = sym.imp.strncmp;
0x00008614 addiu a2, zero, 0xa | a2 = 0xa;
| /* str.AnonPages: */
0x00008618 addiu a1, a1, 0x168 | a1 += 0x168;
0x0000861c move a0, s0 | a0 = s0;
0x00008620 jalr t9 | t9 ();
0x00008624 lw gp, 0x10(sp) | gp = *(var_10h);
| if (v0 == 0) {
0x00008628 beqz v0, 0x882c | goto label_37;
| }
0x0000862c lw a1, -0x7fcc(gp) | a1 = *(gp);
0x00008630 lw t9, -0x7e00(gp) | t9 = sym.imp.strncmp;
0x00008634 addiu a2, zero, 5 | a2 = 5;
| /* str.Slab: */
0x00008638 addiu a1, a1, 0x174 | a1 += 0x174;
0x0000863c move a0, s0 | a0 = s0;
0x00008640 jalr t9 | t9 ();
0x00008644 lw gp, 0x10(sp) | gp = *(var_10h);
| if (v0 == 0) {
0x00008648 beqz v0, 0x8864 | goto label_38;
| }
0x0000864c lw a1, -0x7fcc(gp) | a1 = *(gp);
0x00008650 lw t9, -0x7e00(gp) | t9 = sym.imp.strncmp;
0x00008654 addiu a2, zero, 0xc | a2 = 0xc;
| /* str.KernelStack: */
0x00008658 addiu a1, a1, 0x17c | a1 += 0x17c;
0x0000865c move a0, s0 | a0 = s0;
0x00008660 jalr t9 | t9 ();
0x00008664 lw gp, 0x10(sp) | gp = *(var_10h);
| if (v0 == 0) {
0x00008668 beqz v0, 0x8884 | goto label_39;
| }
0x0000866c lw a1, -0x7fcc(gp) | a1 = *(gp);
0x00008670 lw t9, -0x7e00(gp) | t9 = sym.imp.strncmp;
0x00008674 addiu a2, zero, 0xb | a2 = 0xb;
| /* str.PageTables: */
0x00008678 addiu a1, a1, 0x18c | a1 += 0x18c;
0x0000867c move a0, s0 | a0 = s0;
0x00008680 jalr t9 | t9 ();
0x00008684 lw gp, 0x10(sp) | gp = *(var_10h);
| if (v0 == 0) {
0x00008688 beqz v0, 0x8890 | goto label_40;
| }
0x0000868c lw a1, -0x7fcc(gp) | a1 = *(gp);
0x00008690 lw t9, -0x7e00(gp) | t9 = sym.imp.strncmp;
0x00008694 addiu a2, zero, 0xc | a2 = 0xc;
| /* str.VmallocUsed: */
0x00008698 addiu a1, a1, 0x198 | a1 += aav.0x00000198;
0x0000869c move a0, s0 | a0 = s0;
0x000086a0 jalr t9 | t9 ();
0x000086a4 lw gp, 0x10(sp) | gp = *(var_10h);
0x000086a8 bnez v0, 0x8484 |
| } while (v0 != 0);
0x000086ac lw t9, -0x7da8(gp) | t9 = sym.imp.__isoc99_sscanf;
0x000086b0 addiu a2, s3, 0x78 | a2 = s3 + 0x78;
| label_12:
0x000086b4 lw a1, -0x7fcc(gp) | a1 = *(gp);
0x000086b8 addiu a0, sp, 0x28 | a0 = sp + 0x28;
| /* esilref: '&llu' */
0x000086bc addiu a1, a1, 0xc4 | a1 += 0xc4;
0x000086c0 jalr t9 | t9 ();
0x000086c4 lw gp, 0x10(sp) | gp = *(var_10h);
0x000086c8 b 0x8484 | goto label_7;
| label_25:
0x000086cc lw t9, -0x7da8(gp) | t9 = sym.imp.__isoc99_sscanf;
0x000086d0 addiu a2, s3, 0x18 | a2 = s3 + 0x18;
| label_10:
0x000086d4 lw a1, -0x7fcc(gp) | a1 = *(gp);
0x000086d8 addiu a0, sp, 0x25 | a0 = sp + 0x25;
| /* esilref: '&llu' */
0x000086dc addiu a1, a1, 0xc4 | a1 += 0xc4;
0x000086e0 jalr t9 | t9 ();
0x000086e4 lw gp, 0x10(sp) | gp = *(var_10h);
0x000086e8 move a2, s1 | a2 = s1;
0x000086ec addiu a1, zero, 0x80 | a1 = 0x80;
0x000086f0 lw t9, -0x7d40(gp) | t9 = sym.imp.fgets;
0x000086f4 move a0, s0 | a0 = s0;
0x000086f8 jalr t9 | t9 ();
0x000086fc lw gp, 0x10(sp) | gp = *(var_10h);
| if (v0 != 0) {
0x00008700 bnez v0, 0x84a0 | goto label_8;
| }
| label_24:
0x00008704 lw t9, -0x7dec(gp) | t9 = sym.imp.fclose;
0x00008708 move a0, s1 | a0 = s1;
0x0000870c jalr t9 | t9 ();
0x00008710 lw gp, 0x10(sp) | gp = *(var_10h);
0x00008714 addiu v0, zero, 1 | v0 = 1;
| label_9:
0x00008718 lw a0, 0x9c(sp) | a0 = *(var_9ch);
0x0000871c lw v1, (s7) | v1 = *(s7);
0x00008720 lw ra, 0xc4(sp) | ra = *(var_c4h);
| if (a0 != v1) {
0x00008724 bne a0, v1, 0x889c | goto label_41;
| }
0x00008728 lw fp, 0xc0(sp) | fp = *(var_c0h);
0x0000872c lw s7, 0xbc(sp) | s7 = *(var_bch);
0x00008730 lw s6, 0xb8(sp) | s6 = *(var_b8h);
0x00008734 lw s5, 0xb4(sp) | s5 = *(var_b4h);
0x00008738 lw s4, 0xb0(sp) | s4 = *(var_b0h);
0x0000873c lw s3, 0xac(sp) | s3 = *(var_ach);
0x00008740 lw s2, 0xa8(sp) | s2 = *(var_a8h);
0x00008744 lw s1, 0xa4(sp) | s1 = *(var_a4h);
0x00008748 lw s0, 0xa0(sp) | s0 = *(var_a0h);
0x0000874c addiu sp, sp, 0xc8 |
0x00008750 jr ra | return v0;
| label_26:
0x00008754 lw t9, -0x7da8(gp) | t9 = sym.imp.__isoc99_sscanf;
0x00008758 move a2, s3 | a2 = s3;
| do {
0x0000875c lw a1, -0x7fcc(gp) | a1 = *(gp);
0x00008760 addiu a0, sp, 0x24 | a0 = sp + 0x24;
| /* esilref: '&llu' */
0x00008764 addiu a1, a1, 0xc4 | a1 += 0xc4;
0x00008768 jalr t9 | t9 ();
0x0000876c lw gp, 0x10(sp) | gp = *(var_10h);
0x00008770 b 0x8484 | goto label_7;
| label_27:
0x00008774 lw t9, -0x7da8(gp) | t9 = sym.imp.__isoc99_sscanf;
0x00008778 addiu a2, s3, 0x80 | a2 = s3 + 0x80;
| label_11:
0x0000877c lw a1, -0x7fcc(gp) | a1 = *(gp);
0x00008780 addiu a0, sp, 0x29 | a0 = sp + 0x29;
| /* esilref: '&llu' */
0x00008784 addiu a1, a1, 0xc4 | a1 += 0xc4;
0x00008788 jalr t9 | t9 ();
0x0000878c lw gp, 0x10(sp) | gp = *(var_10h);
0x00008790 b 0x8484 | goto label_7;
| label_28:
0x00008794 lw t9, -0x7da8(gp) | t9 = sym.imp.__isoc99_sscanf;
0x00008798 addiu a2, s3, 8 | a2 = s3 + 8;
0x0000879c b 0x875c |
| } while (1);
| label_29:
0x000087a0 lw t9, -0x7da8(gp) | t9 = sym.imp.__isoc99_sscanf;
0x000087a4 addiu a2, s3, 0x10 | a2 = s3 + 0x10;
| do {
0x000087a8 lw a1, -0x7fcc(gp) | a1 = *(gp);
0x000087ac addiu a0, sp, 0x23 | a0 = sp + 0x23;
| /* esilref: '&llu' */
0x000087b0 addiu a1, a1, 0xc4 | a1 += 0xc4;
0x000087b4 jalr t9 | t9 ();
0x000087b8 lw gp, 0x10(sp) | gp = *(var_10h);
0x000087bc b 0x8484 | goto label_7;
| label_30:
0x000087c0 lw t9, -0x7da8(gp) | t9 = sym.imp.__isoc99_sscanf;
0x000087c4 addiu a2, s3, 0x30 | a2 = s3 + 0x30;
| label_13:
0x000087c8 lw a1, -0x7fcc(gp) | a1 = *(gp);
0x000087cc addiu a0, sp, 0x27 | a0 = sp + 0x27;
| /* esilref: '&llu' */
0x000087d0 addiu a1, a1, 0xc4 | a1 += 0xc4;
0x000087d4 jalr t9 | t9 ();
0x000087d8 lw gp, 0x10(sp) | gp = *(var_10h);
0x000087dc b 0x8484 | goto label_7;
| label_31:
0x000087e0 lw t9, -0x7da8(gp) | t9 = sym.imp.__isoc99_sscanf;
0x000087e4 addiu a2, s3, 0x40 | a2 = s3 + 0x40;
0x000087e8 b 0x87a8 |
| } while (1);
| label_33:
0x000087ec lw t9, -0x7da8(gp) | t9 = sym.imp.__isoc99_sscanf;
0x000087f0 addiu a2, s3, 0x28 | a2 = s3 + 0x28;
| do {
0x000087f4 lw a1, -0x7fcc(gp) | a1 = *(gp);
0x000087f8 addiu a0, sp, 0x26 | a0 = sp + 0x26;
| /* esilref: '&llu' */
0x000087fc addiu a1, a1, 0xc4 | a1 += 0xc4;
0x00008800 jalr t9 | t9 ();
0x00008804 lw gp, 0x10(sp) | gp = *(var_10h);
0x00008808 b 0x8484 | goto label_7;
| label_23:
0x0000880c move v0, zero | v0 = 0;
0x00008810 b 0x8718 | goto label_9;
| label_32:
0x00008814 lw t9, -0x7da8(gp) | t9 = sym.imp.__isoc99_sscanf;
0x00008818 addiu a2, s3, 0x48 | a2 = s3 + 0x48;
0x0000881c b 0x86d4 | goto label_10;
| label_34:
0x00008820 lw t9, -0x7da8(gp) | t9 = sym.imp.__isoc99_sscanf;
0x00008824 addiu a2, s3, 0x20 | a2 = s3 + 0x20;
0x00008828 b 0x86d4 | goto label_10;
| label_37:
0x0000882c lw t9, -0x7da8(gp) | t9 = sym.imp.__isoc99_sscanf;
0x00008830 addiu a2, s3, 0x58 | a2 = s3 + 0x58;
0x00008834 b 0x87f4 |
| } while (1);
| label_35:
0x00008838 lw a1, -0x7fcc(gp) | a1 = *(gp);
0x0000883c lw t9, -0x7da8(gp) | t9 = sym.imp.__isoc99_sscanf;
0x00008840 addiu a2, s3, 0x50 | a2 = s3 + 0x50;
| /* esilref: '&llu' */
0x00008844 addiu a1, a1, 0xc4 | a1 += 0xc4;
0x00008848 addiu a0, sp, 0x22 | a0 = sp + 0x22;
0x0000884c jalr t9 | t9 ();
0x00008850 lw gp, 0x10(sp) | gp = *(var_10h);
0x00008854 b 0x8484 | goto label_7;
| label_36:
0x00008858 lw t9, -0x7da8(gp) | t9 = sym.imp.__isoc99_sscanf;
0x0000885c addiu a2, s3, 0x38 | a2 = s3 + 0x38;
0x00008860 b 0x877c | goto label_11;
| label_38:
0x00008864 lw a1, -0x7fcc(gp) | a1 = *(gp);
0x00008868 lw t9, -0x7da8(gp) | t9 = sym.imp.__isoc99_sscanf;
0x0000886c addiu a2, s3, 0x60 | a2 = s3 + 0x60;
| /* esilref: '&llu' */
0x00008870 addiu a1, a1, 0xc4 | a1 += 0xc4;
0x00008874 addiu a0, sp, 0x21 | a0 = sp + 0x21;
0x00008878 jalr t9 | t9 ();
0x0000887c lw gp, 0x10(sp) | gp = *(var_10h);
0x00008880 b 0x8484 | goto label_7;
| label_39:
0x00008884 lw t9, -0x7da8(gp) | t9 = sym.imp.__isoc99_sscanf;
0x00008888 addiu a2, s3, 0x68 | a2 = s3 + 0x68;
0x0000888c b 0x86b4 | goto label_12;
| label_40:
0x00008890 lw t9, -0x7da8(gp) | t9 = sym.imp.__isoc99_sscanf;
0x00008894 addiu a2, s3, 0x70 | a2 = s3 + 0x70;
0x00008898 b 0x87c8 | goto label_13;
| label_41:
0x0000889c lw t9, -0x7d50(gp) | t9 = sym.imp.__stack_chk_fail;
0x000088a0 jalr t9 | t9 ();
0x000088a4 nop |
| }
; assembly | /* r2dec pseudo code output */
| /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/bin/iostat @ 0x88a8 */
| #include <stdint.h>
|
; (fcn) sym.read_uptime () | void read_uptime () {
0x000088a8 lui gp, 2 |
0x000088ac addiu gp, gp, 0x808 |
0x000088b0 addu gp, gp, t9 | gp += t9;
0x000088b4 addiu sp, sp, -0xc0 |
0x000088b8 lw a1, -0x7fcc(gp) | a1 = *(gp);
0x000088bc sw s1, 0xac(sp) | *(var_ach_2) = s1;
0x000088c0 lw s1, -0x7d3c(gp) | s1 = *((gp - 8015));
0x000088c4 sw s2, 0xb0(sp) | *(var_b0h_2) = s2;
0x000088c8 lw s2, -0x7fcc(gp) | s2 = *(gp);
0x000088cc lw v0, (s1) | v0 = *(s1);
0x000088d0 lw t9, -0x7d30(gp) | t9 = sym.imp.fopen;
0x000088d4 sw gp, 0x10(sp) | *(var_10h_2) = gp;
0x000088d8 sw s3, 0xb4(sp) | *(var_b4h_2) = s3;
0x000088dc sw ra, 0xbc(sp) | *(var_bch_2) = ra;
0x000088e0 sw s4, 0xb8(sp) | *(var_b8h_2) = s4;
0x000088e4 sw s0, 0xa8(sp) | *(var_a8h_2) = s0;
0x000088e8 move s3, a0 | s3 = a0;
0x000088ec addiu a1, a1, 0x2fc | a1 += aav.0x000002fc;
| /* str._proc_uptime */
0x000088f0 addiu a0, s2, 0x1a8 | a0 = s2 + aav.0x000001a8;
0x000088f4 sw v0, 0xa4(sp) | *(var_a4h_2) = v0;
0x000088f8 jalr t9 | t9 ();
0x000088fc nop |
0x00008900 lw gp, 0x10(sp) | gp = *(var_10h_2);
| if (v0 != 0) {
0x00008904 beqz v0, 0x8964 |
0x00008908 lw t9, -0x7d40(gp) | t9 = sym.imp.fgets;
0x0000890c addiu s4, sp, 0x24 | s4 = sp + 0x24;
0x00008910 move a2, v0 | a2 = v0;
0x00008914 addiu a1, zero, 0x80 | a1 = 0x80;
0x00008918 move a0, s4 | a0 = s4;
0x0000891c move s0, v0 | s0 = v0;
0x00008920 jalr t9 | t9 ();
0x00008924 lw gp, 0x10(sp) | gp = *(var_10h_2);
| if (v0 != 0) {
0x00008928 beqz v0, 0x8954 |
0x0000892c lw a1, -0x7fcc(gp) | a1 = *(gp);
0x00008930 lw t9, -0x7da8(gp) | t9 = sym.imp.__isoc99_sscanf;
0x00008934 addiu a3, sp, 0x20 | a3 = sp + 0x20;
0x00008938 addiu a2, sp, 0x1c | a2 = sp + 0x1c;
| /* str._lu._lu */
0x0000893c addiu a1, a1, 0x1b8 | a1 += aav.0x000001b8;
0x00008940 move a0, s4 | a0 = s4;
0x00008944 jalr t9 | t9 ();
0x00008948 addiu v1, zero, 2 | v1 = 2;
0x0000894c lw gp, 0x10(sp) | gp = *(var_10h_2);
| if (v0 == v1) {
0x00008950 beq v0, v1, 0x8994 | goto label_0;
| }
| }
0x00008954 lw t9, -0x7dec(gp) | t9 = sym.imp.fclose;
0x00008958 move a0, s0 | a0 = s0;
0x0000895c jalr t9 | t9 ();
0x00008960 lw gp, 0x10(sp) | gp = *(var_10h_2);
| }
0x00008964 lw v0, -0x7d34(gp) | v0 = *((gp - 8013));
0x00008968 lw a2, -0x7fcc(gp) | a2 = *(gp);
0x0000896c lw t9, -0x7df4(gp) | t9 = sym.imp.__fprintf_chk
0x00008970 lw a0, (v0) | a0 = *(v0);
| /* str._proc_uptime */
0x00008974 addiu a3, s2, 0x1a8 | a3 = s2 + aav.0x000001a8;
| /* str.Cannot_read__s_n */
0x00008978 addiu a2, a2, 0x1c0 | a2 += aav.0x000001c0;
0x0000897c addiu a1, zero, 1 | a1 = 1;
0x00008980 jalr t9 | t9 ();
0x00008984 lw gp, 0x10(sp) | gp = *(var_10h_2);
0x00008988 lw t9, -0x7d8c(gp) | t9 = sym.imp.exit;
0x0000898c addiu a0, zero, 2 | a0 = 2;
0x00008990 jalr t9 | t9 ();
| label_0:
0x00008994 lw v0, 0x20(sp) | v0 = *(var_20h);
0x00008998 move v1, zero | v1 = 0;
0x0000899c mtlo v0 | __asm ("mtlo v0");
0x000089a0 lw a1, 0x1c(sp) | a1 = *(var_1ch);
0x000089a4 mthi v1 | __asm ("mthi v1");
0x000089a8 addiu a0, zero, 0x64 | a0 = 0x64;
0x000089ac maddu a1, a0 | __asm ("maddu a1, a0");
0x000089b0 mfhi v1 | __asm ("mfhi v1");
0x000089b4 mflo v0 | __asm ("mflo v0");
0x000089b8 lw t9, -0x7dec(gp) | t9 = sym.imp.fclose;
0x000089bc move a0, s0 | a0 = s0;
0x000089c0 sw v1, 4(s3) | *((s3 + 1)) = v1;
0x000089c4 sw v0, (s3) | *(s3) = v0;
0x000089c8 jalr t9 | t9 ();
0x000089cc lw v1, 0xa4(sp) | v1 = *(var_a4h_2);
0x000089d0 lw v0, (s1) | v0 = *(s1);
0x000089d4 lw gp, 0x10(sp) | gp = *(var_10h_2);
| if (v1 == v0) {
0x000089d8 bne v1, v0, 0x89fc |
0x000089dc lw ra, 0xbc(sp) | ra = *(var_bch_2);
0x000089e0 lw s4, 0xb8(sp) | s4 = *(var_b8h_2);
0x000089e4 lw s3, 0xb4(sp) | s3 = *(var_b4h_2);
0x000089e8 lw s2, 0xb0(sp) | s2 = *(var_b0h_2);
0x000089ec lw s1, 0xac(sp) | s1 = *(var_ach_2);
0x000089f0 lw s0, 0xa8(sp) | s0 = *(var_a8h_2);
0x000089f4 addiu sp, sp, 0xc0 |
0x000089f8 jr ra | return v1;
| }
0x000089fc lw t9, -0x7d50(gp) | t9 = sym.imp.__stack_chk_fail;
0x00008a00 jalr t9 | t9 ();
0x00008a04 nop |
| }
; assembly | /* r2dec pseudo code output */
| /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/bin/iostat @ 0xce00 */
| #include <stdint.h>
|
; (fcn) sym.transform_devmapname () | void transform_devmapname () {
0x0000ce00 lui gp, 2 |
0x0000ce04 addiu gp, gp, -0x3d50 |
0x0000ce08 addu gp, gp, t9 | gp += t9;
0x0000ce0c addiu sp, sp, -0x2e8 |
0x0000ce10 lw t9, -0x7e14(gp) | t9 = sym.imp.opendir;
0x0000ce14 sw s6, 0x2d8(sp) | *(var_2d8h) = s6;
0x0000ce18 lw s6, -0x7d3c(gp) | s6 = *((gp - 8015));
0x0000ce1c sw s1, 0x2c4(sp) | *(var_2c4h) = s1;
0x0000ce20 lw s1, -0x7fcc(gp) | s1 = *(gp);
0x0000ce24 lw v0, (s6) | v0 = *(s6);
0x0000ce28 sw gp, 0x20(sp) | *(var_20h) = gp;
0x0000ce2c sw s5, 0x2d4(sp) | *(var_2d4h) = s5;
0x0000ce30 sw s4, 0x2d0(sp) | *(var_2d0h) = s4;
0x0000ce34 sw ra, 0x2e4(sp) | *(var_2e4h) = ra;
0x0000ce38 sw fp, 0x2e0(sp) | *(var_2e0h) = fp;
0x0000ce3c sw s7, 0x2dc(sp) | *(var_2dch) = s7;
0x0000ce40 sw s3, 0x2cc(sp) | *(var_2cch) = s3;
0x0000ce44 sw s2, 0x2c8(sp) | *(var_2c8h) = s2;
0x0000ce48 sw s0, 0x2c0(sp) | *(var_2c0h) = s0;
0x0000ce4c move s5, a0 | s5 = a0;
0x0000ce50 sw v0, 0x2bc(sp) | *(var_2bch) = v0;
| /* str._dev_mapper */
0x0000ce54 addiu a0, s1, 0x704 | a0 = s1 + aav.0x00000704;
0x0000ce58 move s4, a1 | s4 = a1;
0x0000ce5c jalr t9 | t9 ();
0x0000ce60 lw gp, 0x20(sp) | gp = *(var_20h);
| if (v0 == 0) {
0x0000ce64 beqz v0, 0xcf94 | goto label_2;
| }
0x0000ce68 lw s3, -0x7fcc(gp) | s3 = *(gp);
0x0000ce6c move s2, v0 | s2 = v0;
0x0000ce70 addiu s7, sp, 0xbc | s7 = sp + 0xbc;
| /* str._dev_mapper */
0x0000ce74 addiu s1, s1, 0x704 | s1 += aav.0x00000704;
0x0000ce78 addiu s3, s3, -0x618 | s3 += -0x618;
0x0000ce7c addiu fp, sp, 0x2c | fp = sp + 0x2c;
| do {
| label_1:
0x0000ce80 lw t9, -0x7de0(gp) | t9 = sym.imp.readdir;
| label_0:
0x0000ce84 move a0, s2 | a0 = s2;
0x0000ce88 jalr t9 | t9 ();
0x0000ce8c lw gp, 0x20(sp) | gp = *(var_20h);
| if (v0 == 0) {
0x0000ce90 beqz v0, 0xcf34 | goto label_3;
| }
0x0000ce94 lw t9, -0x7d10(gp) | t9 = sym.imp.__snprintf_chk;
0x0000ce98 addiu s0, v0, 0xb | s0 = v0 + 0xb;
0x0000ce9c addiu a3, zero, 0x200 | a3 = aav.0x00000200;
0x0000cea0 addiu a2, zero, 1 | a2 = 1;
0x0000cea4 addiu a1, zero, 0x200 | a1 = aav.0x00000200;
0x0000cea8 move a0, s7 | a0 = s7;
0x0000ceac sw s0, 0x18(sp) | *(var_18h) = s0;
0x0000ceb0 sw s1, 0x14(sp) | *(var_14h) = s1;
0x0000ceb4 sw s3, 0x10(sp) | *(var_10h) = s3;
0x0000ceb8 jalr t9 | t9 ();
0x0000cebc lw gp, 0x20(sp) | gp = *(var_20h);
0x0000cec0 move a2, fp | a2 = fp;
0x0000cec4 move a1, s7 | a1 = s7;
0x0000cec8 lw t9, -0x7d68(gp) | t9 = sym.imp.__xstat;
0x0000cecc addiu a0, zero, 3 | a0 = 3;
0x0000ced0 sb zero, 0x2bb(sp) | *(var_2bbh) = 0;
0x0000ced4 jalr t9 | t9 ();
0x0000ced8 lw gp, 0x20(sp) | gp = *(var_20h);
0x0000cedc bnez v0, 0xce80 |
| } while (v0 != 0);
0x0000cee0 lw v1, 0x50(sp) | v1 = *(var_50h);
0x0000cee4 addiu a1, zero, -0x100 | a1 = -aav.0x00000100;
0x0000cee8 srl v0, v1, 0xc | v0 = v1 >> 0xc;
0x0000ceec andi a0, v1, 0xff | a0 = v1 & 0xff;
0x0000cef0 and v0, v0, a1 | v0 &= a1;
0x0000cef4 or v0, v0, a0 | v0 |= a0;
0x0000cef8 lw t9, -0x7de0(gp) | t9 = sym.imp.readdir;
| if (s4 != v0) {
0x0000cefc bne s4, v0, 0xce84 | goto label_0;
| }
0x0000cf00 ext v1, v1, 8, 0xc | __asm ("ext v1, v1, 8, 0xc");
0x0000cf04 lw t9, -0x7db8(gp) | t9 = sym.imp.strncpy;
| if (s5 != v1) {
0x0000cf08 bne s5, v1, 0xce80 | goto label_1;
| }
0x0000cf0c lw s1, -0x7eb0(gp) | s1 = *((gp - 8108));
0x0000cf10 addiu a0, s1, 0x4e30 | a0 = s1 + 0x4e30;
0x0000cf14 addiu s1, s1, 0x4e30 | s1 += 0x4e30;
0x0000cf18 move a1, s0 | a1 = s0;
0x0000cf1c addiu a2, zero, 0x80 | a2 = 0x80;
0x0000cf20 jalr t9 | t9 ();
0x0000cf24 move s0, s1 | s0 = s1;
0x0000cf28 lw gp, 0x20(sp) | gp = *(var_20h);
0x0000cf2c sb zero, 0x7f(s1) | *((s1 + 127)) = 0;
0x0000cf30 b 0xcf38 | goto label_4;
| label_3:
0x0000cf34 move s0, zero | s0 = 0;
| label_4:
0x0000cf38 lw t9, -0x7e0c(gp) | t9 = sym.imp.closedir;
0x0000cf3c move a0, s2 | a0 = s2;
0x0000cf40 jalr t9 | t9 ();
0x0000cf44 lw a0, 0x2bc(sp) | a0 = *(var_2bch);
0x0000cf48 lw v1, (s6) | v1 = *(s6);
0x0000cf4c lw gp, 0x20(sp) | gp = *(var_20h);
0x0000cf50 move v0, s0 | v0 = s0;
| if (a0 == v1) {
0x0000cf54 bne a0, v1, 0xcf88 |
0x0000cf58 lw ra, 0x2e4(sp) | ra = *(var_2e4h);
0x0000cf5c lw fp, 0x2e0(sp) | fp = *(var_2e0h);
0x0000cf60 lw s7, 0x2dc(sp) | s7 = *(var_2dch);
0x0000cf64 lw s6, 0x2d8(sp) | s6 = *(var_2d8h);
0x0000cf68 lw s5, 0x2d4(sp) | s5 = *(var_2d4h);
0x0000cf6c lw s4, 0x2d0(sp) | s4 = *(var_2d0h);
0x0000cf70 lw s3, 0x2cc(sp) | s3 = *(var_2cch);
0x0000cf74 lw s2, 0x2c8(sp) | s2 = *(var_2c8h);
0x0000cf78 lw s1, 0x2c4(sp) | s1 = *(var_2c4h);
0x0000cf7c lw s0, 0x2c0(sp) | s0 = *(var_2c0h);
0x0000cf80 addiu sp, sp, 0x2e8 |
0x0000cf84 jr ra | return v0;
| }
0x0000cf88 lw t9, -0x7d50(gp) | t9 = sym.imp.__stack_chk_fail;
0x0000cf8c jalr t9 | t9 ();
0x0000cf90 nop |
| label_2:
0x0000cf94 lw v0, -0x7d34(gp) | v0 = *((gp - 8013));
0x0000cf98 lw t9, -0x7db4(gp) | t9 = sym.imp.__errno_location;
0x0000cf9c lw s0, (v0) | s0 = *(v0);
0x0000cfa0 jalr t9 | t9 ();
0x0000cfa4 lw gp, 0x20(sp) | gp = *(var_20h);
0x0000cfa8 lw t9, -0x7d84(gp) | t9 = sym.imp.strerror;
0x0000cfac lw a0, (v0) | a0 = *(v0);
0x0000cfb0 jalr t9 | t9 ();
0x0000cfb4 lw gp, 0x20(sp) | gp = *(var_20h);
0x0000cfb8 move a0, s0 | a0 = s0;
0x0000cfbc sw v0, 0x10(sp) | *(var_10h) = v0;
0x0000cfc0 lw a2, -0x7fcc(gp) | a2 = *(gp);
0x0000cfc4 lw t9, -0x7df4(gp) | t9 = sym.imp.__fprintf_chk
| /* str._dev_mapper */
0x0000cfc8 addiu a3, s1, 0x704 | a3 = s1 + aav.0x00000704;
| /* str.Cannot_open__s:__s_n */
0x0000cfcc addiu a2, a2, 0x44 | a2 += 0x44;
0x0000cfd0 addiu a1, zero, 1 | a1 = 1;
0x0000cfd4 jalr t9 | t9 ();
0x0000cfd8 lw gp, 0x20(sp) | gp = *(var_20h);
0x0000cfdc lw t9, -0x7d8c(gp) | t9 = sym.imp.exit;
0x0000cfe0 addiu a0, zero, 4 | a0 = 4;
0x0000cfe4 jalr t9 | t9 ();
0x0000cfe8 nop |
0x0000cfec nop |
| }
; assembly | /* r2dec pseudo code output */
| /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/bin/iostat @ 0x345c */
| #include <stdint.h>
|
; (fcn) sym.usage () | void usage () {
0x0000345c lui gp, 2 |
0x00003460 addiu gp, gp, 0x5c54 |
0x00003464 addu gp, gp, t9 | gp += t9;
0x00003468 addiu sp, sp, -0x20 |
0x0000346c lw a2, -0x7fcc(gp) | a2 = *(gp);
0x00003470 sw s0, 0x18(sp) | *(var_18h) = s0;
0x00003474 lw s0, -0x7d34(gp) | s0 = *((gp - 8013));
0x00003478 lw t9, -0x7df4(gp) | t9 = sym.imp.__fprintf_chk
0x0000347c move a3, a0 | a3 = a0;
0x00003480 lw a0, (s0) | a0 = *(s0);
0x00003484 sw gp, 0x10(sp) | *(var_10h) = gp;
0x00003488 sw ra, 0x1c(sp) | *(var_1ch) = ra;
0x0000348c addiu a2, a2, -0x7c8 | a2 += -0x7c8;
0x00003490 addiu a1, zero, 1 | a1 = 1;
0x00003494 jalr t9 | t9 ();
0x00003498 lw gp, 0x10(sp) | gp = *(var_10h);
0x0000349c lw a3, (s0) | a3 = *(s0);
0x000034a0 addiu a2, zero, 0x10e | a2 = 0x10e;
0x000034a4 lw a0, -0x7fcc(gp) | a0 = *(gp);
0x000034a8 lw t9, -0x7d70(gp) | t9 = sym.imp.fwrite;
0x000034ac addiu a0, a0, -0x794 | a0 += -0x794;
0x000034b0 addiu a1, zero, 1 | a1 = 1;
0x000034b4 jalr t9 | t9 ();
0x000034b8 lw gp, 0x10(sp) | gp = *(var_10h);
0x000034bc lw t9, -0x7d8c(gp) | t9 = sym.imp.exit;
0x000034c0 addiu a0, zero, 1 | a0 = 1;
0x000034c4 jalr t9 | return t9 ();
| }
[*] Function fprintf used 13 times iostat