[*] Binary protection state of mpstat
Full RELRO Canary found NX disabled PIE enabled No RPATH No RUNPATH No Symbols
[*] Function printf tear down of mpstat
; assembly | /* r2dec pseudo code output */
| /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/bin/mpstat @ 0x3844 */
| #include <stdint.h>
|
; (fcn) sym.write_plain_cpu_stats () | void write_plain_cpu_stats () {
0x00003844 lui gp, 2 |
0x00003848 addiu gp, gp, 0x386c |
0x0000384c addu gp, gp, t9 | gp += t9;
0x00003850 addiu sp, sp, -0xf0 |
0x00003854 sw gp, 0x60(sp) | *(var_60h) = gp;
0x00003858 sw s7, 0xe4(sp) | *(var_2ch) = s7;
0x0000385c sw s4, 0xd8(sp) | *(var_20h) = s4;
0x00003860 sw s3, 0xd4(sp) | *(var_d4h) = s3;
0x00003864 sw ra, 0xec(sp) | *(var_34h) = ra;
0x00003868 sw fp, 0xe8(sp) | *(var_30h) = fp;
0x0000386c sw s6, 0xe0(sp) | *(var_28h) = s6;
0x00003870 sw s5, 0xdc(sp) | *(var_24h) = s5;
0x00003874 sw s2, 0xd0(sp) | *(var_d0h) = s2;
0x00003878 sw s1, 0xcc(sp) | *(var_cch) = s1;
0x0000387c sw s0, 0xc8(sp) | *(var_10h) = s0;
0x00003880 move s3, a2 | s3 = a2;
0x00003884 move s4, a3 | s4 = a3;
0x00003888 lw s7, 0x100(sp) | s7 = *(arg_48h);
| if (a0 != 0) {
0x0000388c bnez a0, 0x3dd4 | goto label_9;
| }
| label_8:
0x00003890 lw s5, -0x7fa4(gp) | s5 = *(gp);
0x00003894 lw v0, (s5) | v0 = *(s5);
0x00003898 lw v1, -0x7fd4(gp) | v1 = *((gp - 8181));
| if (v0 < 0) {
0x0000389c bltz v0, 0x3c54 | goto label_10;
| }
0x000038a0 lw v0, 0x104(sp) | v0 = *(arg_4ch);
0x000038a4 lw a2, -0x7fcc(gp) | a2 = *(gp);
0x000038a8 sll v0, v0, 2 | v0 <<= 2;
0x000038ac sw v1, 0xb4(sp) | *(var_b4h) = v1;
0x000038b0 lw v1, -0x7fd4(gp) | v1 = *((gp - 8181));
0x000038b4 addu s0, a2, v0 | s0 = a2 + v0;
0x000038b8 lw v0, -0x7fd4(gp) | v0 = *((gp - 8181));
0x000038bc lw a0, -0x2020(v1) | a0 = *((v1 - 2056));
0x000038c0 addiu v0, v0, -0x2520 | v0 += -0x2520;
0x000038c4 lw a1, -0x201c(v1) | a1 = *((v1 - 2055));
0x000038c8 move s1, zero | s1 = 0;
0x000038cc sw v0, 0xb0(sp) | *(var_b0h) = v0;
0x000038d0 lw s2, -0x7fb4(gp) | s2 = *(gp);
0x000038d4 move v0, s0 | v0 = s0;
0x000038d8 sw a2, 0xac(sp) | *(var_ach) = a2;
0x000038dc move s0, s1 | s0 = s1;
0x000038e0 sw a0, 0xc0(sp) | *(var_c0h) = a0;
0x000038e4 sw a1, 0xc4(sp) | *(var_c4h) = a1;
0x000038e8 move s1, v0 | s1 = v0;
0x000038ec lw v0, (s2) | v0 = *(s2);
| do {
0x000038f0 sra v1, s0, 3 | v1 = s0 >> 3;
0x000038f4 andi a0, s0, 7 | a0 = s0 & 7;
0x000038f8 lbux v0, v1(v0) | __asm ("lbux v0, v1(v0)");
0x000038fc srav v0, v0, a0 | __asm ("srav v0, v0, a0");
0x00003900 andi v0, v0, 1 | v0 &= 1;
0x00003904 lw v0, 0x110(sp) | v0 = *(arg_58h);
| if (v0 != 0) {
0x00003908 beqz v0, 0x3c40 |
0x0000390c lbux v1, v1(v0) | __asm ("lbux v1, v1(v0)");
0x00003910 srav v1, v1, a0 | __asm ("srav v1, v1, a0");
0x00003914 andi v1, v1, 1 | v1 &= 1;
0x00003918 lw v0, (s5) | v0 = *(s5);
| if (v1 == 0) {
0x0000391c bnel v1, zero, 0x3c44 | goto label_11;
| }
0x00003920 lw v1, 0xac(sp) | v1 = *(var_ach);
0x00003924 sll t2, s7, 2 | t2 = s7 << 2;
0x00003928 sll v0, s0, 2 | v0 = s0 << 2;
0x0000392c lw t9, -0x7dd4(gp) | t9 = sym.imp.__printf_chk
0x00003930 lw t3, (s1) | t3 = *(s1);
0x00003934 lwx t2, t2(v1) | __asm ("lwx t2, t2(v1)");
0x00003938 addu v0, v0, s0 | v0 += s0;
0x0000393c lw a2, 0x10c(sp) | a2 = *(arg_10ch);
0x00003940 lw a1, 0xb0(sp) | a1 = *(var_b0h);
0x00003944 sll v0, v0, 4 | v0 <<= 4;
0x00003948 addiu a0, zero, 1 | a0 = 1;
0x0000394c addu s6, t3, v0 | s6 = t3 + v0;
0x00003950 addu fp, t2, v0 | fp = t2 + v0;
0x00003954 jalr t9 | t9 ();
0x00003958 lw gp, 0x60(sp) | gp = *(var_60h);
0x0000395c lw t9, -0x7f98(gp) | t9 = sym.cprintf_in
| if (s0 != 0) {
0x00003960 bnez s0, 0x3d20 | goto label_12;
| }
0x00003964 lw a2, -0x7fd4(gp) | a2 = *((gp - 8181));
0x00003968 lw a1, -0x7fd4(gp) | a1 = *((gp - 8181));
0x0000396c move a3, zero | a3 = 0;
0x00003970 addiu a2, a2, -0x2518 | a2 += -0x2518;
0x00003974 addiu a1, a1, -0x2510 | a1 += -0x2510;
0x00003978 addiu a0, zero, 1 | a0 = 1;
0x0000397c bal 0xbce0 | sym_cprintf_in ()
0x00003980 lw gp, 0x60(sp) | gp = *(var_60h);
| label_6:
0x00003984 lw v1, (s6) | v1 = *(s6);
0x00003988 lw v0, (fp) | v0 = *(fp);
0x0000398c lw a2, 0x40(s6) | a2 = *((s6 + 16));
0x00003990 lw a0, 0x40(fp) | a0 = *(arg_40h);
0x00003994 lw a3, 4(s6) | a3 = *((s6 + 1));
0x00003998 lw t1, 0x44(s6) | t1 = *((s6 + 17));
0x0000399c lw a1, 4(fp) | a1 = *(arg_4h);
0x000039a0 lw t0, 0x44(fp) | t0 = *(arg_44h);
0x000039a4 subu a2, v1, a2 | __asm ("subu a2, v1, a2");
0x000039a8 subu a0, v0, a0 | __asm ("subu a0, v0, a0");
0x000039ac sltu v0, v0, a0 | v0 = (v0 < a0) ? 1 : 0;
0x000039b0 sltu v1, v1, a2 | v1 = (v1 < a2) ? 1 : 0;
0x000039b4 subu a3, a3, t1 | __asm ("subu a3, a3, t1");
0x000039b8 subu a1, a1, t0 | __asm ("subu a1, a1, t0");
0x000039bc subu a3, a3, v1 | __asm ("subu a3, a3, v1");
0x000039c0 subu a1, a1, v0 | __asm ("subu a1, a1, v0");
0x000039c4 sltu v0, a3, a1 | v0 = (a3 < a1) ? 1 : 0;
| if (v0 == 0) {
0x000039c8 beqz v0, 0x3c84 | goto label_13;
| }
0x000039cc nop |
0x000039d0 sw zero, 0x98(sp) | *(var_98h) = 0;
| label_0:
0x000039d4 sw zero, 0x9c(sp) | *(var_9ch) = 0;
| label_1:
0x000039d8 lw v1, 8(s6) | v1 = *((s6 + 2));
0x000039dc lw v0, 8(fp) | v0 = *(arg_8h);
0x000039e0 lw a2, 0x48(s6) | a2 = *((s6 + 18));
0x000039e4 lw a0, 0x48(fp) | a0 = *(arg_bp_48h);
0x000039e8 lw a3, 0xc(s6) | a3 = *((s6 + 3));
0x000039ec lw t1, 0x4c(s6) | t1 = *((s6 + 19));
0x000039f0 lw a1, 0xc(fp) | a1 = *(arg_ch);
0x000039f4 lw t0, 0x4c(fp) | t0 = *(arg_bp_4ch);
0x000039f8 subu a2, v1, a2 | __asm ("subu a2, v1, a2");
0x000039fc subu a0, v0, a0 | __asm ("subu a0, v0, a0");
0x00003a00 sltu v0, v0, a0 | v0 = (v0 < a0) ? 1 : 0;
0x00003a04 sltu v1, v1, a2 | v1 = (v1 < a2) ? 1 : 0;
0x00003a08 subu a3, a3, t1 | __asm ("subu a3, a3, t1");
0x00003a0c subu a1, a1, t0 | __asm ("subu a1, a1, t0");
0x00003a10 subu a3, a3, v1 | __asm ("subu a3, a3, v1");
0x00003a14 subu a1, a1, v0 | __asm ("subu a1, a1, v0");
0x00003a18 sltu v0, a3, a1 | v0 = (a3 < a1) ? 1 : 0;
| if (v0 == 0) {
0x00003a1c beqz v0, 0x3cb4 | goto label_14;
| }
0x00003a20 nop |
0x00003a24 sw zero, 0xa0(sp) | *(var_a0h) = 0;
| label_2:
0x00003a28 sw zero, 0xa4(sp) | *(var_a4h) = 0;
| label_3:
0x00003a2c lw t9, -0x7f94(gp) | t9 = sym.ll_sp_value;
0x00003a30 lw a2, 0x10(s6) | a2 = *((s6 + 4));
0x00003a34 lw a3, 0x14(s6) | a3 = *((s6 + 5));
0x00003a38 lw a0, 0x10(fp) | a0 = *(arg_48h);
0x00003a3c lw a1, 0x14(fp) | a1 = *(arg_4ch);
0x00003a40 sw s3, 0x10(sp) | *(var_10h_2) = s3;
0x00003a44 sw s4, 0x14(sp) | *(var_14h) = s4;
0x00003a48 bal 0xa910 | sym_ll_sp_value ();
0x00003a4c lw gp, 0x60(sp) | gp = *(var_60h);
0x00003a50 lw a2, 0x20(s6) | a2 = *((s6 + 8));
0x00003a54 lw a3, 0x24(s6) | a3 = *((s6 + 9));
0x00003a58 lw a0, 0x20(fp) | a0 = *(arg_58h);
0x00003a5c lw a1, 0x24(fp) | a1 = *(arg_5ch);
0x00003a60 lw t9, -0x7f94(gp) | t9 = sym.ll_sp_value;
0x00003a64 sw s3, 0x10(sp) | *(var_10h_2) = s3;
0x00003a68 sw s4, 0x14(sp) | *(var_14h) = s4;
0x00003a6c sw v0, 0x68(sp) | *(var_68h) = v0;
0x00003a70 sw v1, 0x6c(sp) | *(var_6ch) = v1;
0x00003a74 bal 0xa910 | sym_ll_sp_value ();
0x00003a78 lw gp, 0x60(sp) | gp = *(var_60h);
0x00003a7c lw a2, 0x30(s6) | a2 = *((s6 + 12));
0x00003a80 lw a3, 0x34(s6) | a3 = *((s6 + 13));
0x00003a84 lw a0, 0x30(fp) | a0 = *(arg_30h);
0x00003a88 lw a1, 0x34(fp) | a1 = *(arg_34h);
0x00003a8c lw t9, -0x7f94(gp) | t9 = sym.ll_sp_value;
0x00003a90 sw s3, 0x10(sp) | *(var_10h_2) = s3;
0x00003a94 sw s4, 0x14(sp) | *(var_14h) = s4;
0x00003a98 sw v0, 0x70(sp) | *(var_70h) = v0;
0x00003a9c sw v1, 0x74(sp) | *(var_74h) = v1;
0x00003aa0 bal 0xa910 | sym_ll_sp_value ();
0x00003aa4 lw gp, 0x60(sp) | gp = *(var_60h);
0x00003aa8 lw a2, 0x38(s6) | a2 = *((s6 + 14));
0x00003aac lw a3, 0x3c(s6) | a3 = *((s6 + 15));
0x00003ab0 lw a0, 0x38(fp) | a0 = *(arg_38h);
0x00003ab4 lw a1, 0x3c(fp) | a1 = *(arg_3ch);
0x00003ab8 lw t9, -0x7f94(gp) | t9 = sym.ll_sp_value;
0x00003abc sw s3, 0x10(sp) | *(var_10h_2) = s3;
0x00003ac0 sw s4, 0x14(sp) | *(var_14h) = s4;
0x00003ac4 sw v0, 0x78(sp) | *(var_78h) = v0;
0x00003ac8 sw v1, 0x7c(sp) | *(var_7ch) = v1;
0x00003acc bal 0xa910 | sym_ll_sp_value ();
0x00003ad0 lw gp, 0x60(sp) | gp = *(var_60h);
0x00003ad4 lw a2, 0x28(s6) | a2 = *((s6 + 10));
0x00003ad8 lw a3, 0x2c(s6) | a3 = *((s6 + 11));
0x00003adc lw a0, 0x28(fp) | a0 = *(arg_60h);
0x00003ae0 lw a1, 0x2c(fp) | a1 = *(arg_2ch);
0x00003ae4 lw t9, -0x7f94(gp) | t9 = sym.ll_sp_value;
0x00003ae8 sw s3, 0x10(sp) | *(var_10h_2) = s3;
0x00003aec sw s4, 0x14(sp) | *(var_14h) = s4;
0x00003af0 sw v0, 0x80(sp) | *(var_80h) = v0;
0x00003af4 sw v1, 0x84(sp) | *(var_84h) = v1;
0x00003af8 bal 0xa910 | sym_ll_sp_value ();
0x00003afc lw gp, 0x60(sp) | gp = *(var_60h);
0x00003b00 lw a2, 0x40(s6) | a2 = *((s6 + 16));
0x00003b04 lw a3, 0x44(s6) | a3 = *((s6 + 17));
0x00003b08 lw a0, 0x40(fp) | a0 = *(arg_40h);
0x00003b0c lw a1, 0x44(fp) | a1 = *(arg_44h);
0x00003b10 lw t9, -0x7f94(gp) | t9 = sym.ll_sp_value;
0x00003b14 sw s3, 0x10(sp) | *(var_10h_2) = s3;
0x00003b18 sw s4, 0x14(sp) | *(var_14h) = s4;
0x00003b1c sw v0, 0x88(sp) | *(var_88h) = v0;
0x00003b20 sw v1, 0x8c(sp) | *(var_8ch) = v1;
0x00003b24 bal 0xa910 | sym_ll_sp_value ();
0x00003b28 lw gp, 0x60(sp) | gp = *(var_60h);
0x00003b2c lw a2, 0x48(s6) | a2 = *((s6 + 18));
0x00003b30 lw a3, 0x4c(s6) | a3 = *((s6 + 19));
0x00003b34 lw a0, 0x48(fp) | a0 = *(arg_bp_48h);
0x00003b38 lw a1, 0x4c(fp) | a1 = *(arg_bp_4ch);
0x00003b3c lw t9, -0x7f94(gp) | t9 = sym.ll_sp_value;
0x00003b40 sw s3, 0x10(sp) | *(var_10h_2) = s3;
0x00003b44 sw s4, 0x14(sp) | *(var_14h) = s4;
0x00003b48 sw v0, 0x90(sp) | *(var_90h) = v0;
0x00003b4c sw v1, 0x94(sp) | *(var_94h) = v1;
0x00003b50 bal 0xa910 | sym_ll_sp_value ();
0x00003b54 lw a3, 0x1c(s6) | a3 = *((s6 + 7));
0x00003b58 lw a1, 0x1c(fp) | a1 = *(arg_10ch);
0x00003b5c move t0, v0 | t0 = v0;
0x00003b60 sltu v0, a3, a1 | v0 = (a3 < a1) ? 1 : 0;
0x00003b64 lw gp, 0x60(sp) | gp = *(var_60h);
0x00003b68 move t1, v1 | t1 = v1;
0x00003b6c lw a2, 0x18(s6) | a2 = *((s6 + 6));
0x00003b70 lw a0, 0x18(fp) | a0 = *(arg_108h);
| if (v0 == 0) {
0x00003b74 beqz v0, 0x3ce4 | goto label_15;
| }
0x00003b78 move v0, zero | v0 = 0;
| label_4:
0x00003b7c move v1, zero | v1 = 0;
| label_5:
0x00003b80 sw v0, 0x58(sp) | *(var_58h) = v0;
0x00003b84 sw v1, 0x5c(sp) | *(var_5ch) = v1;
0x00003b88 lw v0, 0x90(sp) | v0 = *(var_90h);
0x00003b8c lw v1, 0x94(sp) | v1 = *(var_94h);
0x00003b90 sw v0, 0x48(sp) | *(var_48h) = v0;
0x00003b94 sw v1, 0x4c(sp) | *(var_4ch) = v1;
0x00003b98 lw v0, 0x88(sp) | v0 = *(var_88h);
0x00003b9c lw v1, 0x8c(sp) | v1 = *(var_8ch);
0x00003ba0 sw v0, 0x40(sp) | *(var_40h) = v0;
0x00003ba4 sw v1, 0x44(sp) | *(var_44h) = v1;
0x00003ba8 lw v0, 0x80(sp) | v0 = *(var_80h);
0x00003bac lw v1, 0x84(sp) | v1 = *(var_84h);
0x00003bb0 sw v0, 0x38(sp) | *(var_38h) = v0;
0x00003bb4 sw v1, 0x3c(sp) | *(var_3ch) = v1;
0x00003bb8 lw v0, 0x78(sp) | v0 = *(var_78h);
0x00003bbc lw v1, 0x7c(sp) | v1 = *(var_7ch);
0x00003bc0 sw v0, 0x30(sp) | *(var_30h_2) = v0;
0x00003bc4 sw v1, 0x34(sp) | *(var_34h_2) = v1;
0x00003bc8 lw v0, 0x70(sp) | v0 = *(var_70h);
0x00003bcc lw v1, 0x74(sp) | v1 = *(var_74h);
0x00003bd0 sw v0, 0x28(sp) | *(var_28h_2) = v0;
0x00003bd4 sw v1, 0x2c(sp) | *(var_2ch_2) = v1;
0x00003bd8 lw v0, 0x68(sp) | v0 = *(var_68h);
0x00003bdc lw v1, 0x6c(sp) | v1 = *(var_6ch);
0x00003be0 sw v0, 0x20(sp) | *(var_20h_2) = v0;
0x00003be4 sw v1, 0x24(sp) | *(var_24h_2) = v1;
0x00003be8 lw v0, 0xa0(sp) | v0 = *(var_a0h);
0x00003bec lw v1, 0xa4(sp) | v1 = *(var_a4h);
0x00003bf0 sw t0, 0x50(sp) | *(var_50h) = t0;
0x00003bf4 sw v1, 0x1c(sp) | *(var_1ch) = v1;
0x00003bf8 sw t1, 0x54(sp) | *(var_54h) = t1;
0x00003bfc sw v0, 0x18(sp) | *(var_18h) = v0;
0x00003c00 lw v0, 0x98(sp) | v0 = *(var_98h);
0x00003c04 lw v1, 0x9c(sp) | v1 = *(var_9ch);
0x00003c08 lw t9, -0x7f90(gp) | t9 = sym.cprintf_pc
0x00003c0c addiu a3, zero, 2 | a3 = 2;
0x00003c10 addiu a2, zero, 7 | a2 = 7;
0x00003c14 addiu a1, zero, 0xa | a1 = 0xa;
0x00003c18 addiu a0, zero, -1 | a0 = -1;
0x00003c1c sw v0, 0x10(sp) | *(var_10h_2) = v0;
0x00003c20 sw v1, 0x14(sp) | *(var_14h) = v1;
| label_7:
0x00003c24 bal 0xba04 | sym_cprintf_pc ()
0x00003c28 nop |
0x00003c2c lw gp, 0x60(sp) | gp = *(var_60h);
0x00003c30 lw t9, -0x7db4(gp) | t9 = sym.imp.putchar;
0x00003c34 addiu a0, zero, 0xa | a0 = 0xa;
0x00003c38 jalr t9 | t9 ();
0x00003c3c lw gp, 0x60(sp) | gp = *(var_60h);
| }
0x00003c40 lw v0, (s5) | v0 = *(s5);
| label_11:
0x00003c44 addiu s0, s0, 1 | s0++;
0x00003c48 slt v0, v0, s0 | v0 = (v0 < s0) ? 1 : 0;
0x00003c4c beql v0, zero, 0x38f0 |
| } while (v0 == 0);
0x00003c50 lw v0, (s2) | v0 = *(s2);
| label_10:
0x00003c54 lw ra, 0xec(sp) | ra = *(var_34h);
0x00003c58 lw fp, 0xe8(sp) | fp = *(var_30h);
0x00003c5c lw s7, 0xe4(sp) | s7 = *(var_2ch);
0x00003c60 lw s6, 0xe0(sp) | s6 = *(var_28h);
0x00003c64 lw s5, 0xdc(sp) | s5 = *(var_24h);
0x00003c68 lw s4, 0xd8(sp) | s4 = *(var_20h);
0x00003c6c lw s3, 0xd4(sp) | s3 = *(var_d4h);
0x00003c70 lw s2, 0xd0(sp) | s2 = *(var_d0h);
0x00003c74 lw s1, 0xcc(sp) | s1 = *(var_cch);
0x00003c78 lw s0, 0xc8(sp) | s0 = *(var_10h);
0x00003c7c addiu sp, sp, 0xf0 |
0x00003c80 jr ra | return v1;
| label_13:
0x00003c84 sltu v0, a2, a0 | v0 = (a2 < a0) ? 1 : 0;
| if (a1 != a3) {
0x00003c88 bne a1, a3, 0x3c94 | goto label_16;
| }
0x00003c8c sw zero, 0x98(sp) | *(var_98h) = 0;
| if (v0 == 0) {
0x00003c90 bnel v0, zero, 0x39d4 | goto label_0;
| }
| label_16:
0x00003c94 lw t9, -0x7f94(gp) | t9 = sym.ll_sp_value;
0x00003c98 sw s3, 0x10(sp) | *(var_10h_2) = s3;
0x00003c9c sw s4, 0x14(sp) | *(var_14h) = s4;
0x00003ca0 bal 0xa910 | sym_ll_sp_value ();
0x00003ca4 sw v0, 0x98(sp) | *(var_98h) = v0;
0x00003ca8 lw gp, 0x60(sp) | gp = *(var_60h);
0x00003cac sw v1, 0x9c(sp) | *(var_9ch) = v1;
0x00003cb0 b 0x39d8 | goto label_1;
| label_14:
0x00003cb4 sltu v0, a2, a0 | v0 = (a2 < a0) ? 1 : 0;
| if (a1 != a3) {
0x00003cb8 bne a1, a3, 0x3cc4 | goto label_17;
| }
0x00003cbc sw zero, 0xa0(sp) | *(var_a0h) = 0;
| if (v0 == 0) {
0x00003cc0 bnel v0, zero, 0x3a28 | goto label_2;
| }
| label_17:
0x00003cc4 lw t9, -0x7f94(gp) | t9 = sym.ll_sp_value;
0x00003cc8 sw s3, 0x10(sp) | *(var_10h_2) = s3;
0x00003ccc sw s4, 0x14(sp) | *(var_14h) = s4;
0x00003cd0 bal 0xa910 | sym_ll_sp_value ();
0x00003cd4 sw v0, 0xa0(sp) | *(var_a0h) = v0;
0x00003cd8 lw gp, 0x60(sp) | gp = *(var_60h);
0x00003cdc sw v1, 0xa4(sp) | *(var_a4h) = v1;
0x00003ce0 b 0x3a2c | goto label_3;
| label_15:
0x00003ce4 lw t9, -0x7f94(gp) | t9 = sym.ll_sp_value;
| if (a1 != a3) {
0x00003ce8 bne a1, a3, 0x3cfc | goto label_18;
| }
0x00003cec sltu v0, a2, a0 | v0 = (a2 < a0) ? 1 : 0;
0x00003cf0 move v0, zero | v0 = 0;
| if (v0 == 0) {
0x00003cf4 bnel v0, zero, 0x3b7c | goto label_4;
| }
0x00003cf8 lw t9, -0x7f94(gp) | t9 = sym.ll_sp_value;
| label_18:
0x00003cfc sw t0, 0xb8(sp) | *(var_b8h) = t0;
0x00003d00 sw t1, 0xbc(sp) | *(var_bch) = t1;
0x00003d04 sw s3, 0x10(sp) | *(var_10h_2) = s3;
0x00003d08 sw s4, 0x14(sp) | *(var_14h) = s4;
0x00003d0c bal 0xa910 | sym_ll_sp_value ();
0x00003d10 lw gp, 0x60(sp) | gp = *(var_60h);
0x00003d14 lw t0, 0xb8(sp) | t0 = *(var_b8h);
0x00003d18 lw t1, 0xbc(sp) | t1 = *(var_bch);
0x00003d1c b 0x3b80 | goto label_5;
| label_12:
0x00003d20 lw v0, 0xb4(sp) | v0 = *(var_b4h);
0x00003d24 lw a1, -0x7fd4(gp) | a1 = *((gp - 8181));
0x00003d28 addiu a3, s0, -1 | a3 = s0 + -1;
0x00003d2c addiu a2, v0, -0x25c0 | a2 = v0 + -0x25c0;
0x00003d30 addiu a1, a1, -0x250c | a1 += -0x250c;
0x00003d34 move a0, zero | a0 = 0;
0x00003d38 bal 0xbce0 | sym_cprintf_in ()
0x00003d3c lw gp, 0x60(sp) | gp = *(var_60h);
0x00003d40 move a1, fp | a1 = fp;
0x00003d44 lw t9, -0x7f9c(gp) | t9 = sym.get_per_cpu_interval;
0x00003d48 move a0, s6 | a0 = s6;
0x00003d4c bal 0x8e0c | sym_get_per_cpu_interval ();
0x00003d50 move s3, v0 | s3 = v0;
0x00003d54 or v0, v0, v1 | v0 |= v1;
0x00003d58 lw gp, 0x60(sp) | gp = *(var_60h);
0x00003d5c move s4, v1 | s4 = v1;
| if (v0 != 0) {
0x00003d60 bnez v0, 0x3984 | goto label_6;
| }
0x00003d64 lw v0, 0xc0(sp) | v0 = *(var_c0h);
0x00003d68 lw v1, 0xc4(sp) | v1 = *(var_c4h);
0x00003d6c lw t9, -0x7f90(gp) | t9 = sym.cprintf_pc
0x00003d70 addiu a3, zero, 2 | a3 = 2;
0x00003d74 addiu a2, zero, 7 | a2 = 7;
0x00003d78 addiu a1, zero, 0xa | a1 = 0xa;
0x00003d7c addiu a0, zero, -1 | a0 = -1;
0x00003d80 sw v0, 0x58(sp) | *(var_58h) = v0;
0x00003d84 sw v1, 0x5c(sp) | *(var_5ch) = v1;
0x00003d88 sw zero, 0x50(sp) | *(var_50h) = 0;
0x00003d8c sw zero, 0x54(sp) | *(var_54h) = 0;
0x00003d90 sw zero, 0x48(sp) | *(var_48h) = 0;
0x00003d94 sw zero, 0x4c(sp) | *(var_4ch) = 0;
0x00003d98 sw zero, 0x40(sp) | *(var_40h) = 0;
0x00003d9c sw zero, 0x44(sp) | *(var_44h) = 0;
0x00003da0 sw zero, 0x38(sp) | *(var_38h) = 0;
0x00003da4 sw zero, 0x3c(sp) | *(var_3ch) = 0;
0x00003da8 sw zero, 0x30(sp) | *(var_30h_2) = 0;
0x00003dac sw zero, 0x34(sp) | *(var_34h_2) = 0;
0x00003db0 sw zero, 0x28(sp) | *(var_28h_2) = 0;
0x00003db4 sw zero, 0x2c(sp) | *(var_2ch_2) = 0;
0x00003db8 sw zero, 0x20(sp) | *(var_20h_2) = 0;
0x00003dbc sw zero, 0x24(sp) | *(var_24h_2) = 0;
0x00003dc0 sw zero, 0x18(sp) | *(var_18h) = 0;
0x00003dc4 sw zero, 0x1c(sp) | *(var_1ch) = 0;
0x00003dc8 sw zero, 0x10(sp) | *(var_10h_2) = 0;
0x00003dcc sw zero, 0x14(sp) | *(var_14h) = 0;
0x00003dd0 b 0x3c24 | goto label_7;
| label_9:
0x00003dd4 lw a1, -0x7fd4(gp) | a1 = *((gp - 8181));
0x00003dd8 lw t9, -0x7dd4(gp) | t9 = sym.imp.__printf_chk
0x00003ddc lw a2, 0x108(sp) | a2 = *(arg_108h);
0x00003de0 addiu a1, a1, -0x2588 | a1 += -0x2588;
0x00003de4 addiu a0, zero, 1 | a0 = 1;
0x00003de8 jalr t9 | t9 ();
0x00003dec lw gp, 0x60(sp) | gp = *(var_60h);
0x00003df0 b 0x3890 | goto label_8;
| }
; assembly | /* r2dec pseudo code output */
| /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/bin/mpstat @ 0x44e0 */
| #include <stdint.h>
|
; (fcn) sym.write_plain_node_stats () | void write_plain_node_stats () {
0x000044e0 lui gp, 2 |
0x000044e4 addiu gp, gp, 0x2bd0 |
0x000044e8 addu gp, gp, t9 | gp += t9;
0x000044ec addiu sp, sp, -0xf0 |
0x000044f0 sw gp, 0x60(sp) | *(var_60h_2) = gp;
0x000044f4 sw s7, 0xe4(sp) | *(var_2ch) = s7;
0x000044f8 sw s1, 0xcc(sp) | *(var_cch) = s1;
0x000044fc sw ra, 0xec(sp) | *(var_34h) = ra;
0x00004500 sw fp, 0xe8(sp) | *(var_30h) = fp;
0x00004504 sw s6, 0xe0(sp) | *(var_28h) = s6;
0x00004508 sw s5, 0xdc(sp) | *(var_24h) = s5;
0x0000450c sw s4, 0xd8(sp) | *(var_d8h) = s4;
0x00004510 sw s3, 0xd4(sp) | *(var_d4h) = s3;
0x00004514 sw s2, 0xd0(sp) | *(var_d0h) = s2;
0x00004518 sw s0, 0xc8(sp) | *(var_10h) = s0;
0x0000451c move s7, a2 | s7 = a2;
0x00004520 move s1, a3 | s1 = a3;
| if (a0 != 0) {
0x00004524 bnez a0, 0x4c34 | goto label_11;
| }
| label_10:
0x00004528 lw s0, -0x7f78(gp) | s0 = *(gp);
0x0000452c lw v0, (s0) | v0 = *(s0);
0x00004530 slti v0, v0, -1 | v0 = (v0 < -1) ? 1 : 0;
0x00004534 lw v0, 0x104(sp) | v0 = *(var_4ch);
| if (v0 != 0) {
0x00004538 bnez v0, 0x499c | goto label_12;
| }
0x0000453c lw v1, -0x7fc4(gp) | v1 = *(gp);
0x00004540 sll v0, v0, 2 | v0 <<= 2;
0x00004544 sw v0, 0xbc(sp) | *(var_bch) = v0;
0x00004548 addu v0, v1, v0 | v0 = v1 + v0;
0x0000454c sw v0, 0xa8(sp) | *(var_a8h_2) = v0;
0x00004550 lw v0, -0x7fd4(gp) | v0 = *((gp - 8181));
0x00004554 sw v1, 0xa4(sp) | *(var_a4h) = v1;
0x00004558 addiu v0, v0, -0x2520 | v0 += -0x2520;
0x0000455c sw v0, 0xac(sp) | *(var_ach) = v0;
0x00004560 lw v0, -0x7fd4(gp) | v0 = *((gp - 8181));
0x00004564 lw a0, -0x7fb0(gp) | a0 = *(gp);
0x00004568 sw v0, 0xb8(sp) | *(var_b8h) = v0;
0x0000456c lw v0, -0x7fd4(gp) | v0 = *((gp - 8181));
0x00004570 move s6, zero | s6 = 0;
0x00004574 sw a0, 0xa0(sp) | *(var_a0h) = a0;
0x00004578 lw v1, -0x201c(v0) | v1 = *((v0 - 2055));
0x0000457c lw v0, -0x2020(v0) | v0 = *((v0 - 2056));
0x00004580 sw v1, 0xc4(sp) | *(var_c4h) = v1;
0x00004584 sw v0, 0xc0(sp) | *(var_c0h_2) = v0;
0x00004588 move s2, s6 | s2 = s6;
0x0000458c move fp, s7 | fp = s7;
| do {
0x00004590 lw v0, 0xa0(sp) | v0 = *(var_a0h);
0x00004594 andi s5, s2, 7 | s5 = s2 & 7;
0x00004598 lw v1, (v0) | v1 = *(v0);
0x0000459c sra v0, s2, 3 | v0 = s2 >> 3;
0x000045a0 lbux v0, v0(v1) | __asm ("lbux v0, v0(v1)");
0x000045a4 srav s5, v0, s5 | __asm ("srav s5, v0, s5");
0x000045a8 andi s5, s5, 1 | s5 &= 1;
0x000045ac lw v0, -0x7fac(gp) | v0 = *(gp);
| if (s5 != 0) {
0x000045b0 beqz s5, 0x48e8 |
0x000045b4 sll s6, s2, 2 | s6 = s2 << 2;
0x000045b8 lw v0, (v0) | v0 = *(v0);
0x000045bc lwx v0, s6(v0) | __asm ("lwx v0, s6(v0)");
| if (v0 == 0) {
0x000045c0 beql v0, zero, 0x48ec | goto label_13;
| }
0x000045c4 lw v0, (s0) | v0 = *(s0);
0x000045c8 lw v0, 0x100(sp) | v0 = *(var_48h);
0x000045cc lw t9, -0x7dd4(gp) | t9 = sym.imp.__printf_chk
0x000045d0 sll s4, v0, 2 | s4 = v0 << 2;
0x000045d4 lw v0, 0xa8(sp) | v0 = *(var_a8h_2);
0x000045d8 lw a2, 0x10c(sp) | a2 = *(var_10ch_2);
0x000045dc lw a1, 0xac(sp) | a1 = *(var_ach);
0x000045e0 lw v0, (v0) | v0 = *(v0);
0x000045e4 addiu a0, zero, 1 | a0 = 1;
0x000045e8 sw v0, 0x68(sp) | *(var_68h) = v0;
0x000045ec lw v0, 0xa4(sp) | v0 = *(var_a4h);
0x000045f0 lwx s3, s4(v0) | __asm ("lwx s3, s4(v0)");
0x000045f4 jalr t9 | t9 ();
0x000045f8 lw gp, 0x60(sp) | gp = *(var_60h_2);
| if (s2 != 0) {
0x000045fc bnez s2, 0x49cc | goto label_14;
| }
0x00004600 lw a2, -0x7fd4(gp) | a2 = *((gp - 8181));
0x00004604 lw a1, -0x7fd4(gp) | a1 = *((gp - 8181));
0x00004608 lw t9, -0x7f98(gp) | t9 = sym.cprintf_in
0x0000460c move a3, zero | a3 = 0;
0x00004610 addiu a2, a2, -0x2518 | a2 += -0x2518;
0x00004614 addiu a1, a1, -0x2510 | a1 += -0x2510;
0x00004618 addiu a0, zero, 1 | a0 = 1;
0x0000461c bal 0xbce0 | sym_cprintf_in ()
0x00004620 lw gp, 0x60(sp) | gp = *(var_60h_2);
| label_8:
0x00004624 lw v0, 0x68(sp) | v0 = *(var_68h);
0x00004628 addu t2, s6, s2 | t2 = s6 + s2;
0x0000462c sll t2, t2, 4 | t2 <<= 4;
0x00004630 addu s4, v0, t2 | s4 = v0 + t2;
0x00004634 addu s3, s3, t2 | s3 += t2;
0x00004638 lw v1, (s4) | v1 = *(s4);
0x0000463c lw v0, (s3) | v0 = *(s3);
0x00004640 lw a2, 0x40(s4) | a2 = *((s4 + 16));
0x00004644 lw a0, 0x40(s3) | a0 = *((s3 + 16));
0x00004648 lw a3, 4(s4) | a3 = *((s4 + 1));
0x0000464c lw t1, 0x44(s4) | t1 = *((s4 + 17));
0x00004650 lw a1, 4(s3) | a1 = *((s3 + 1));
0x00004654 lw t0, 0x44(s3) | t0 = *((s3 + 17));
0x00004658 subu a2, v1, a2 | __asm ("subu a2, v1, a2");
0x0000465c subu a0, v0, a0 | __asm ("subu a0, v0, a0");
0x00004660 sltu v0, v0, a0 | v0 = (v0 < a0) ? 1 : 0;
0x00004664 sltu v1, v1, a2 | v1 = (v1 < a2) ? 1 : 0;
0x00004668 subu a3, a3, t1 | __asm ("subu a3, a3, t1");
0x0000466c subu a1, a1, t0 | __asm ("subu a1, a1, t0");
0x00004670 subu a3, a3, v1 | __asm ("subu a3, a3, v1");
0x00004674 subu a1, a1, v0 | __asm ("subu a1, a1, v0");
0x00004678 sltu v0, a3, a1 | v0 = (a3 < a1) ? 1 : 0;
| if (v0 == 0) {
0x0000467c beqz v0, 0x4900 | goto label_15;
| }
0x00004680 nop |
0x00004684 sw zero, 0x90(sp) | *(var_90h) = 0;
| label_0:
0x00004688 sw zero, 0x94(sp) | *(var_94h) = 0;
| label_1:
0x0000468c lw v1, 8(s4) | v1 = *((s4 + 2));
0x00004690 lw v0, 8(s3) | v0 = *((s3 + 2));
0x00004694 lw a2, 0x48(s4) | a2 = *((s4 + 18));
0x00004698 lw a0, 0x48(s3) | a0 = *((s3 + 18));
0x0000469c lw a3, 0xc(s4) | a3 = *((s4 + 3));
0x000046a0 lw t1, 0x4c(s4) | t1 = *((s4 + 19));
0x000046a4 lw a1, 0xc(s3) | a1 = *((s3 + 3));
0x000046a8 lw t0, 0x4c(s3) | t0 = *((s3 + 19));
0x000046ac subu a2, v1, a2 | __asm ("subu a2, v1, a2");
0x000046b0 subu a0, v0, a0 | __asm ("subu a0, v0, a0");
0x000046b4 sltu v0, v0, a0 | v0 = (v0 < a0) ? 1 : 0;
0x000046b8 sltu v1, v1, a2 | v1 = (v1 < a2) ? 1 : 0;
0x000046bc subu a3, a3, t1 | __asm ("subu a3, a3, t1");
0x000046c0 subu a1, a1, t0 | __asm ("subu a1, a1, t0");
0x000046c4 subu a3, a3, v1 | __asm ("subu a3, a3, v1");
0x000046c8 subu a1, a1, v0 | __asm ("subu a1, a1, v0");
0x000046cc sltu v0, a3, a1 | v0 = (a3 < a1) ? 1 : 0;
| if (v0 == 0) {
0x000046d0 beqz v0, 0x4930 | goto label_16;
| }
0x000046d4 nop |
0x000046d8 sw zero, 0x98(sp) | *(var_98h) = 0;
| label_2:
0x000046dc sw zero, 0x9c(sp) | *(var_9ch) = 0;
| label_3:
0x000046e0 lw t9, -0x7f94(gp) | t9 = sym.ll_sp_value;
0x000046e4 lw a2, 0x10(s4) | a2 = *((s4 + 4));
0x000046e8 lw a3, 0x14(s4) | a3 = *((s4 + 5));
0x000046ec lw a0, 0x10(s3) | a0 = *((s3 + 4));
0x000046f0 lw a1, 0x14(s3) | a1 = *((s3 + 5));
0x000046f4 sw fp, 0x10(sp) | *(var_10h_2) = fp;
0x000046f8 sw s1, 0x14(sp) | *(var_14h) = s1;
0x000046fc bal 0xa910 | sym_ll_sp_value ();
0x00004700 lw gp, 0x60(sp) | gp = *(var_60h_2);
0x00004704 lw a2, 0x20(s4) | a2 = *((s4 + 8));
0x00004708 lw a3, 0x24(s4) | a3 = *((s4 + 9));
0x0000470c lw a0, 0x20(s3) | a0 = *((s3 + 8));
0x00004710 lw a1, 0x24(s3) | a1 = *((s3 + 9));
0x00004714 lw t9, -0x7f94(gp) | t9 = sym.ll_sp_value;
0x00004718 sw fp, 0x10(sp) | *(var_10h_2) = fp;
0x0000471c sw s1, 0x14(sp) | *(var_14h) = s1;
0x00004720 sw v0, 0x68(sp) | *(var_68h) = v0;
0x00004724 sw v1, 0x6c(sp) | *(var_6ch) = v1;
0x00004728 bal 0xa910 | sym_ll_sp_value ();
0x0000472c lw gp, 0x60(sp) | gp = *(var_60h_2);
0x00004730 lw a2, 0x30(s4) | a2 = *((s4 + 12));
0x00004734 lw a3, 0x34(s4) | a3 = *((s4 + 13));
0x00004738 lw a0, 0x30(s3) | a0 = *((s3 + 12));
0x0000473c lw a1, 0x34(s3) | a1 = *((s3 + 13));
0x00004740 lw t9, -0x7f94(gp) | t9 = sym.ll_sp_value;
0x00004744 sw fp, 0x10(sp) | *(var_10h_2) = fp;
0x00004748 sw s1, 0x14(sp) | *(var_14h) = s1;
0x0000474c sw v0, 0x70(sp) | *(var_70h) = v0;
0x00004750 sw v1, 0x74(sp) | *(var_74h) = v1;
0x00004754 bal 0xa910 | sym_ll_sp_value ();
0x00004758 lw gp, 0x60(sp) | gp = *(var_60h_2);
0x0000475c lw a2, 0x38(s4) | a2 = *((s4 + 14));
0x00004760 lw a3, 0x3c(s4) | a3 = *((s4 + 15));
0x00004764 lw a0, 0x38(s3) | a0 = *((s3 + 14));
0x00004768 lw a1, 0x3c(s3) | a1 = *((s3 + 15));
0x0000476c lw t9, -0x7f94(gp) | t9 = sym.ll_sp_value;
0x00004770 sw fp, 0x10(sp) | *(var_10h_2) = fp;
0x00004774 sw s1, 0x14(sp) | *(var_14h) = s1;
0x00004778 sw v0, 0x78(sp) | *(var_78h) = v0;
0x0000477c sw v1, 0x7c(sp) | *(var_7ch) = v1;
0x00004780 bal 0xa910 | sym_ll_sp_value ();
0x00004784 lw gp, 0x60(sp) | gp = *(var_60h_2);
0x00004788 lw a2, 0x28(s4) | a2 = *((s4 + 10));
0x0000478c lw a3, 0x2c(s4) | a3 = *((s4 + 11));
0x00004790 lw a0, 0x28(s3) | a0 = *((s3 + 10));
0x00004794 lw a1, 0x2c(s3) | a1 = *((s3 + 11));
0x00004798 lw t9, -0x7f94(gp) | t9 = sym.ll_sp_value;
0x0000479c sw fp, 0x10(sp) | *(var_10h_2) = fp;
0x000047a0 sw s1, 0x14(sp) | *(var_14h) = s1;
0x000047a4 sw v0, 0x80(sp) | *(var_80h) = v0;
0x000047a8 sw v1, 0x84(sp) | *(var_84h) = v1;
0x000047ac bal 0xa910 | sym_ll_sp_value ();
0x000047b0 lw gp, 0x60(sp) | gp = *(var_60h_2);
0x000047b4 lw a2, 0x40(s4) | a2 = *((s4 + 16));
0x000047b8 lw a3, 0x44(s4) | a3 = *((s4 + 17));
0x000047bc lw a0, 0x40(s3) | a0 = *((s3 + 16));
0x000047c0 lw a1, 0x44(s3) | a1 = *((s3 + 17));
0x000047c4 lw t9, -0x7f94(gp) | t9 = sym.ll_sp_value;
0x000047c8 sw fp, 0x10(sp) | *(var_10h_2) = fp;
0x000047cc sw s1, 0x14(sp) | *(var_14h) = s1;
0x000047d0 sw v0, 0x88(sp) | *(var_88h) = v0;
0x000047d4 sw v1, 0x8c(sp) | *(var_8ch) = v1;
0x000047d8 bal 0xa910 | sym_ll_sp_value ();
0x000047dc lw gp, 0x60(sp) | gp = *(var_60h_2);
0x000047e0 lw a2, 0x48(s4) | a2 = *((s4 + 18));
0x000047e4 lw a3, 0x4c(s4) | a3 = *((s4 + 19));
0x000047e8 lw a0, 0x48(s3) | a0 = *((s3 + 18));
0x000047ec lw a1, 0x4c(s3) | a1 = *((s3 + 19));
0x000047f0 lw t9, -0x7f94(gp) | t9 = sym.ll_sp_value;
0x000047f4 sw fp, 0x10(sp) | *(var_10h_2) = fp;
0x000047f8 sw s1, 0x14(sp) | *(var_14h) = s1;
0x000047fc move s6, v0 | s6 = v0;
0x00004800 move s7, v1 | s7 = v1;
0x00004804 bal 0xa910 | sym_ll_sp_value ();
0x00004808 lw a3, 0x1c(s4) | a3 = *((s4 + 7));
0x0000480c lw a1, 0x1c(s3) | a1 = *((s3 + 7));
0x00004810 move t0, v0 | t0 = v0;
0x00004814 sltu v0, a3, a1 | v0 = (a3 < a1) ? 1 : 0;
0x00004818 lw gp, 0x60(sp) | gp = *(var_60h_2);
0x0000481c move t1, v1 | t1 = v1;
0x00004820 lw a2, 0x18(s4) | a2 = *((s4 + 6));
0x00004824 lw a0, 0x18(s3) | a0 = *((s3 + 6));
| if (v0 == 0) {
0x00004828 beqz v0, 0x4960 | goto label_17;
| }
0x0000482c move v0, zero | v0 = 0;
| label_4:
0x00004830 move v1, zero | v1 = 0;
| label_5:
0x00004834 sw v0, 0x58(sp) | *(var_58h_2) = v0;
0x00004838 sw v1, 0x5c(sp) | *(var_5ch_2) = v1;
0x0000483c lw v0, 0x88(sp) | v0 = *(var_88h);
0x00004840 lw v1, 0x8c(sp) | v1 = *(var_8ch);
0x00004844 sw v0, 0x40(sp) | *(var_40h) = v0;
0x00004848 sw v1, 0x44(sp) | *(var_44h) = v1;
0x0000484c lw v0, 0x80(sp) | v0 = *(var_80h);
0x00004850 lw v1, 0x84(sp) | v1 = *(var_84h);
0x00004854 sw v0, 0x38(sp) | *(var_38h) = v0;
0x00004858 sw v1, 0x3c(sp) | *(var_3ch) = v1;
0x0000485c lw v0, 0x78(sp) | v0 = *(var_78h);
0x00004860 lw v1, 0x7c(sp) | v1 = *(var_7ch);
0x00004864 sw v0, 0x30(sp) | *(var_30h_2) = v0;
0x00004868 sw v1, 0x34(sp) | *(var_34h_2) = v1;
0x0000486c lw v0, 0x70(sp) | v0 = *(var_70h);
0x00004870 lw v1, 0x74(sp) | v1 = *(var_74h);
0x00004874 sw v0, 0x28(sp) | *(var_28h_2) = v0;
0x00004878 sw v1, 0x2c(sp) | *(var_2ch_2) = v1;
0x0000487c lw v0, 0x68(sp) | v0 = *(var_68h);
0x00004880 lw v1, 0x6c(sp) | v1 = *(var_6ch);
0x00004884 sw v0, 0x20(sp) | *(var_20h) = v0;
0x00004888 sw v1, 0x24(sp) | *(var_24h_2) = v1;
0x0000488c lw v0, 0x98(sp) | v0 = *(var_98h);
0x00004890 lw v1, 0x9c(sp) | v1 = *(var_9ch);
0x00004894 sw v0, 0x18(sp) | *(var_18h) = v0;
0x00004898 sw v1, 0x1c(sp) | *(var_1ch) = v1;
0x0000489c lw v0, 0x90(sp) | v0 = *(var_90h);
0x000048a0 lw v1, 0x94(sp) | v1 = *(var_94h);
0x000048a4 lw t9, -0x7f90(gp) | t9 = sym.cprintf_pc
0x000048a8 sw t0, 0x50(sp) | *(var_50h) = t0;
0x000048ac sw t1, 0x54(sp) | *(var_54h) = t1;
0x000048b0 addiu a3, zero, 2 | a3 = 2;
0x000048b4 addiu a2, zero, 7 | a2 = 7;
0x000048b8 addiu a1, zero, 0xa | a1 = 0xa;
0x000048bc addiu a0, zero, -1 | a0 = -1;
0x000048c0 sw s6, 0x48(sp) | *(var_48h_2) = s6;
0x000048c4 sw s7, 0x4c(sp) | *(var_4ch_2) = s7;
0x000048c8 sw v0, 0x10(sp) | *(var_10h_2) = v0;
0x000048cc sw v1, 0x14(sp) | *(var_14h) = v1;
0x000048d0 bal 0xba04 | sym_cprintf_pc ()
0x000048d4 lw gp, 0x60(sp) | gp = *(var_60h_2);
0x000048d8 lw t9, -0x7db4(gp) | t9 = sym.imp.putchar;
0x000048dc addiu a0, zero, 0xa | a0 = 0xa;
0x000048e0 jalr t9 | t9 ();
0x000048e4 lw gp, 0x60(sp) | gp = *(var_60h_2);
| }
| label_9:
0x000048e8 lw v0, (s0) | v0 = *(s0);
| label_13:
0x000048ec slt t4, v0, s2 | t4 = (v0 < s2) ? 1 : 0;
0x000048f0 addiu v1, s2, 1 | v1 = s2 + 1;
| if (t4 != 0) {
0x000048f4 bnez t4, 0x499c | goto label_12;
| }
0x000048f8 move s2, v1 | s2 = v1;
0x000048fc b 0x4590 |
| } while (1);
| label_15:
0x00004900 sltu v0, a2, a0 | v0 = (a2 < a0) ? 1 : 0;
| if (a1 != a3) {
0x00004904 bne a1, a3, 0x4910 | goto label_18;
| }
0x00004908 sw zero, 0x90(sp) | *(var_90h) = 0;
| if (v0 == 0) {
0x0000490c bnel v0, zero, 0x4688 | goto label_0;
| }
| label_18:
0x00004910 lw t9, -0x7f94(gp) | t9 = sym.ll_sp_value;
0x00004914 sw fp, 0x10(sp) | *(var_10h_2) = fp;
0x00004918 sw s1, 0x14(sp) | *(var_14h) = s1;
0x0000491c bal 0xa910 | sym_ll_sp_value ();
0x00004920 sw v0, 0x90(sp) | *(var_90h) = v0;
0x00004924 lw gp, 0x60(sp) | gp = *(var_60h_2);
0x00004928 sw v1, 0x94(sp) | *(var_94h) = v1;
0x0000492c b 0x468c | goto label_1;
| label_16:
0x00004930 sltu v0, a2, a0 | v0 = (a2 < a0) ? 1 : 0;
| if (a1 != a3) {
0x00004934 bne a1, a3, 0x4940 | goto label_19;
| }
0x00004938 sw zero, 0x98(sp) | *(var_98h) = 0;
| if (v0 == 0) {
0x0000493c bnel v0, zero, 0x46dc | goto label_2;
| }
| label_19:
0x00004940 lw t9, -0x7f94(gp) | t9 = sym.ll_sp_value;
0x00004944 sw fp, 0x10(sp) | *(var_10h_2) = fp;
0x00004948 sw s1, 0x14(sp) | *(var_14h) = s1;
0x0000494c bal 0xa910 | sym_ll_sp_value ();
0x00004950 sw v0, 0x98(sp) | *(var_98h) = v0;
0x00004954 lw gp, 0x60(sp) | gp = *(var_60h_2);
0x00004958 sw v1, 0x9c(sp) | *(var_9ch) = v1;
0x0000495c b 0x46e0 | goto label_3;
| label_17:
0x00004960 lw t9, -0x7f94(gp) | t9 = sym.ll_sp_value;
| if (a1 != a3) {
0x00004964 bne a1, a3, 0x4978 | goto label_20;
| }
0x00004968 sltu v0, a2, a0 | v0 = (a2 < a0) ? 1 : 0;
0x0000496c move v0, zero | v0 = 0;
| if (v0 == 0) {
0x00004970 bnel v0, zero, 0x4830 | goto label_4;
| }
0x00004974 lw t9, -0x7f94(gp) | t9 = sym.ll_sp_value;
| label_20:
0x00004978 sw t0, 0xb0(sp) | *(var_b0h) = t0;
0x0000497c sw t1, 0xb4(sp) | *(var_b4h) = t1;
0x00004980 sw fp, 0x10(sp) | *(var_10h_2) = fp;
0x00004984 sw s1, 0x14(sp) | *(var_14h) = s1;
0x00004988 bal 0xa910 | sym_ll_sp_value ();
0x0000498c lw gp, 0x60(sp) | gp = *(var_60h_2);
0x00004990 lw t0, 0xb0(sp) | t0 = *(var_b0h);
0x00004994 lw t1, 0xb4(sp) | t1 = *(var_b4h);
0x00004998 b 0x4834 | goto label_5;
| label_12:
0x0000499c lw ra, 0xec(sp) | ra = *(var_34h);
0x000049a0 lw fp, 0xe8(sp) | fp = *(var_30h);
0x000049a4 lw s7, 0xe4(sp) | s7 = *(var_2ch);
0x000049a8 lw s6, 0xe0(sp) | s6 = *(var_28h);
0x000049ac lw s5, 0xdc(sp) | s5 = *(var_24h);
0x000049b0 lw s4, 0xd8(sp) | s4 = *(var_d8h);
0x000049b4 lw s3, 0xd4(sp) | s3 = *(var_d4h);
0x000049b8 lw s2, 0xd0(sp) | s2 = *(var_d0h);
0x000049bc lw s1, 0xcc(sp) | s1 = *(var_cch);
0x000049c0 lw s0, 0xc8(sp) | s0 = *(var_10h);
0x000049c4 addiu sp, sp, 0xf0 |
0x000049c8 jr ra | return v1;
| label_14:
0x000049cc lw t0, -0x7fa4(gp) | t0 = *(gp);
0x000049d0 lw v0, 0xb8(sp) | v0 = *(var_b8h);
0x000049d4 lw a1, -0x7fd4(gp) | a1 = *((gp - 8181));
0x000049d8 addiu t1, s2, -1 | t1 = s2 + -1;
0x000049dc lw t9, -0x7f98(gp) | t9 = sym.cprintf_in
0x000049e0 sw t0, 0x78(sp) | *(var_78h) = t0;
0x000049e4 move a3, t1 | a3 = t1;
0x000049e8 sw t1, 0x70(sp) | *(var_70h) = t1;
0x000049ec addiu a2, v0, -0x25c0 | a2 = v0 + -0x25c0;
0x000049f0 addiu a1, a1, -0x250c | a1 += -0x250c;
0x000049f4 move a0, zero | a0 = 0;
0x000049f8 bal 0xbce0 | sym_cprintf_in ()
0x000049fc lw t0, 0x78(sp) | t0 = *(var_78h);
0x00004a00 lw gp, 0x60(sp) | gp = *(var_60h_2);
0x00004a04 lw v0, (t0) | v0 = *(t0);
0x00004a08 lw t1, 0x70(sp) | t1 = *(var_70h);
| if (v0 <= 0) {
0x00004a0c blez v0, 0x4ba4 | goto label_21;
| }
0x00004a10 lw t2, -0x7fcc(gp) | t2 = *(gp);
0x00004a14 lw v0, 0xbc(sp) | v0 = *(var_bch);
0x00004a18 move s1, zero | s1 = 0;
0x00004a1c addu s4, t2, s4 | s4 = t2 + s4;
0x00004a20 addu t2, t2, v0 | t2 += v0;
0x00004a24 sw s3, 0x88(sp) | *(var_88h) = s3;
0x00004a28 sw s2, 0x90(sp) | *(var_90h) = s2;
0x00004a2c lw a2, -0x7fa8(gp) | a2 = *(gp);
0x00004a30 lw a3, -0x7fd8(gp) | a3 = *(gp);
0x00004a34 addiu s7, zero, 0x50 | s7 = 0x50;
0x00004a38 move s2, s1 | s2 = s1;
0x00004a3c move fp, t1 | fp = t1;
0x00004a40 move s3, t2 | s3 = t2;
0x00004a44 b 0x4a54 |
| while (v0 == 0) {
| label_6:
0x00004a48 slt v0, v0, s5 | v0 = (v0 < s5) ? 1 : 0;
0x00004a4c addiu s7, s7, 0x50 | s7 += 0x50;
| if (v0 != 0) {
0x00004a50 bnez v0, 0x4b8c | goto label_22;
| }
| label_7:
0x00004a54 lw a1, (s4) | a1 = *(s4);
0x00004a58 sll t3, s5, 2 | t3 = s5 << 2;
0x00004a5c addu a1, a1, s7 | a1 += s7;
0x00004a60 lw a0, (a1) | a0 = *(a1);
0x00004a64 lw v1, 8(a1) | v1 = *((a1 + 2));
0x00004a68 lw t7, 0xc(a1) | t7 = *((a1 + 3));
0x00004a6c lw t5, 4(a1) | t5 = *((a1 + 1));
0x00004a70 addu v1, a0, v1 | v1 = a0 + v1;
0x00004a74 lw v0, 0x10(a1) | v0 = *((a1 + 4));
0x00004a78 sltu t4, v1, a0 | t4 = (v1 < a0) ? 1 : 0;
0x00004a7c addu t5, t5, t7 | t5 += t7;
0x00004a80 lw t6, 0x14(a1) | t6 = *((a1 + 5));
0x00004a84 addu v0, v1, v0 | v0 = v1 + v0;
0x00004a88 addu t4, t4, t5 | t4 += t5;
0x00004a8c lw a0, 0x18(a1) | a0 = *((a1 + 6));
0x00004a90 sltu t5, v0, v1 | t5 = (v0 < v1) ? 1 : 0;
0x00004a94 addu t4, t4, t6 | t4 += t6;
0x00004a98 lw t7, 0x1c(a1) | t7 = *((a1 + 7));
0x00004a9c addu a0, v0, a0 | a0 = v0 + a0;
0x00004aa0 addu t5, t5, t4 | t5 += t4;
0x00004aa4 lw v1, 0x20(a1) | v1 = *((a1 + 8));
0x00004aa8 sltu t4, a0, v0 | t4 = (a0 < v0) ? 1 : 0;
0x00004aac addu t5, t5, t7 | t5 += t7;
0x00004ab0 lw t6, 0x24(a1) | t6 = *((a1 + 9));
0x00004ab4 addu v1, a0, v1 | v1 = a0 + v1;
0x00004ab8 addu t4, t4, t5 | t4 += t5;
0x00004abc lw v0, 0x30(a1) | v0 = *((a1 + 12));
0x00004ac0 addu t4, t4, t6 | t4 += t6;
0x00004ac4 lw t5, 0x34(a1) | t5 = *((a1 + 13));
0x00004ac8 sltu a0, v1, a0 | a0 = (v1 < a0) ? 1 : 0;
0x00004acc addu v0, v1, v0 | v0 = v1 + v0;
0x00004ad0 lw t7, 0x28(a1) | t7 = *((a1 + 10));
0x00004ad4 addu a0, a0, t4 | a0 += t4;
0x00004ad8 addu a0, a0, t5 | a0 += t5;
0x00004adc sltu v1, v0, v1 | v1 = (v0 < v1) ? 1 : 0;
0x00004ae0 lw t6, 0x2c(a1) | t6 = *((a1 + 11));
0x00004ae4 addu t4, v0, t7 | t4 = v0 + t7;
0x00004ae8 addu v1, v1, a0 | v1 += a0;
0x00004aec lw t7, 0x38(a1) | t7 = *((a1 + 14));
0x00004af0 sltu v0, t4, v0 | v0 = (t4 < v0) ? 1 : 0;
0x00004af4 lw t5, 0x3c(a1) | t5 = *((a1 + 15));
0x00004af8 addu v1, v1, t6 | v1 += t6;
0x00004afc addu a0, t4, t7 | a0 = t4 + t7;
0x00004b00 addu v0, v0, v1 | v0 += v1;
0x00004b04 sltu t4, a0, t4 | t4 = (a0 < t4) ? 1 : 0;
0x00004b08 addu v0, v0, t5 | v0 += t5;
0x00004b0c addu v0, t4, v0 | v0 = t4 + v0;
0x00004b10 or v0, a0, v0 | v0 = a0 | v0;
0x00004b14 addiu s5, s5, 1 | s5++;
| if (v0 != 0) {
0x00004b18 bnez v0, 0x4b28 | goto label_23;
| }
0x00004b1c lw v0, (a3) | v0 = *(a3);
0x00004b20 lw v0, (t0) | v0 = *(t0);
0x00004b24 bnel v0, zero, 0x4a48 |
| }
| label_23:
0x00004b28 lw v0, (a2) | v0 = *(a2);
0x00004b2c addu t3, v0, t3 | t3 = v0 + t3;
0x00004b30 lw v0, -4(t3) | v0 = *((t3 - 1));
0x00004b34 lw v0, (t0) | v0 = *(t0);
| if (v0 == fp) {
0x00004b38 bnel v0, fp, 0x4a48 | goto label_6;
| }
0x00004b3c lw a0, (s3) | a0 = *(s3);
0x00004b40 lw t9, -0x7f9c(gp) | t9 = sym.get_per_cpu_interval;
0x00004b44 addu a0, a0, s7 | a0 += s7;
0x00004b48 sw a3, 0x80(sp) | *(var_80h) = a3;
0x00004b4c sw a2, 0x78(sp) | *(var_78h) = a2;
0x00004b50 sw t0, 0x70(sp) | *(var_70h) = t0;
0x00004b54 bal 0x8e0c | sym_get_per_cpu_interval ();
0x00004b58 lw t0, 0x70(sp) | t0 = *(var_70h);
0x00004b5c addu v0, s1, v0 | v0 = s1 + v0;
0x00004b60 sltu a0, v0, s1 | a0 = (v0 < s1) ? 1 : 0;
0x00004b64 move s1, v0 | s1 = v0;
0x00004b68 lw v0, (t0) | v0 = *(t0);
0x00004b6c addu t1, s2, v1 | t1 = s2 + v1;
0x00004b70 slt v0, v0, s5 | v0 = (v0 < s5) ? 1 : 0;
0x00004b74 lw gp, 0x60(sp) | gp = *(var_60h_2);
0x00004b78 addu s2, a0, t1 | s2 = a0 + t1;
0x00004b7c lw a3, 0x80(sp) | a3 = *(var_80h);
0x00004b80 lw a2, 0x78(sp) | a2 = *(var_78h);
0x00004b84 addiu s7, s7, 0x50 | s7 += 0x50;
| if (v0 == 0) {
0x00004b88 beqz v0, 0x4a54 | goto label_7;
| }
| label_22:
0x00004b8c move fp, s1 | fp = s1;
0x00004b90 move s1, s2 | s1 = s2;
0x00004b94 or v0, fp, s1 | v0 = fp | s1;
0x00004b98 lw s3, 0x88(sp) | s3 = *(var_88h);
0x00004b9c lw s2, 0x90(sp) | s2 = *(var_90h);
| if (v0 != 0) {
0x00004ba0 bnez v0, 0x4624 | goto label_8;
| }
| label_21:
0x00004ba4 lw v0, 0xc0(sp) | v0 = *(var_c0h_2);
0x00004ba8 lw v1, 0xc4(sp) | v1 = *(var_c4h);
0x00004bac lw t9, -0x7f90(gp) | t9 = sym.cprintf_pc
0x00004bb0 addiu a3, zero, 2 | a3 = 2;
0x00004bb4 addiu a2, zero, 7 | a2 = 7;
0x00004bb8 addiu a1, zero, 0xa | a1 = 0xa;
0x00004bbc addiu a0, zero, -1 | a0 = -1;
0x00004bc0 sw v0, 0x58(sp) | *(var_58h_2) = v0;
0x00004bc4 sw v1, 0x5c(sp) | *(var_5ch_2) = v1;
0x00004bc8 sw zero, 0x50(sp) | *(var_50h) = 0;
0x00004bcc sw zero, 0x54(sp) | *(var_54h) = 0;
0x00004bd0 sw zero, 0x48(sp) | *(var_48h_2) = 0;
0x00004bd4 sw zero, 0x4c(sp) | *(var_4ch_2) = 0;
0x00004bd8 sw zero, 0x40(sp) | *(var_40h) = 0;
0x00004bdc sw zero, 0x44(sp) | *(var_44h) = 0;
0x00004be0 sw zero, 0x38(sp) | *(var_38h) = 0;
0x00004be4 sw zero, 0x3c(sp) | *(var_3ch) = 0;
0x00004be8 sw zero, 0x30(sp) | *(var_30h_2) = 0;
0x00004bec sw zero, 0x34(sp) | *(var_34h_2) = 0;
0x00004bf0 sw zero, 0x28(sp) | *(var_28h_2) = 0;
0x00004bf4 sw zero, 0x2c(sp) | *(var_2ch_2) = 0;
0x00004bf8 sw zero, 0x20(sp) | *(var_20h) = 0;
0x00004bfc sw zero, 0x24(sp) | *(var_24h_2) = 0;
0x00004c00 sw zero, 0x18(sp) | *(var_18h) = 0;
0x00004c04 sw zero, 0x1c(sp) | *(var_1ch) = 0;
0x00004c08 sw zero, 0x10(sp) | *(var_10h_2) = 0;
0x00004c0c sw zero, 0x14(sp) | *(var_14h) = 0;
0x00004c10 bal 0xba04 | sym_cprintf_pc ()
0x00004c14 lw gp, 0x60(sp) | gp = *(var_60h_2);
0x00004c18 addiu a0, zero, 0xa | a0 = 0xa;
0x00004c1c move fp, zero | fp = 0;
0x00004c20 lw t9, -0x7db4(gp) | t9 = sym.imp.putchar;
0x00004c24 move s1, zero | s1 = 0;
0x00004c28 jalr t9 | t9 ();
0x00004c2c lw gp, 0x60(sp) | gp = *(var_60h_2);
0x00004c30 b 0x48e8 | goto label_9;
| label_11:
0x00004c34 lw a1, -0x7fd4(gp) | a1 = *((gp - 8181));
0x00004c38 lw t9, -0x7dd4(gp) | t9 = sym.imp.__printf_chk
0x00004c3c lw a2, 0x108(sp) | a2 = *(var_108h_2);
0x00004c40 addiu a1, a1, -0x23b0 | a1 += -0x23b0;
0x00004c44 addiu a0, zero, 1 | a0 = 1;
0x00004c48 jalr t9 | t9 ();
0x00004c4c lw gp, 0x60(sp) | gp = *(var_60h_2);
0x00004c50 b 0x4528 | goto label_10;
| }
[*] Function printf used 19 times mpstat