[*] Binary protection state of iostat
Full RELRO Canary found NX disabled PIE enabled No RPATH No RUNPATH No Symbols
[*] Function strcat tear down of iostat
; 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 |
| }
[*] Function strcat used 2 times iostat