[*] Binary protection state of sar
Full RELRO Canary found NX disabled PIE enabled No RPATH No RUNPATH No Symbols
[*] Function fprintf tear down of sar
; assembly | /* r2dec pseudo code output */
| /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/bin/sar @ 0x195d4 */
| #include <stdint.h>
|
; (fcn) fcn.000195d4 () | void fcn_000195d4 () {
| do {
0x0001951c lw v0, 0x5c(sp) | v0 = *(arg_5ch);
0x00019520 lw s0, (v0) | s0 = *(v0);
| label_0:
0x00019524 lw v0, 0x4c(sp) | v0 = *(arg_4ch);
0x00019528 lw t9, -0x7ca8(gp) | t9 = sym.imp.__printf_chk;
0x0001952c lw a2, 0x48(sp) | a2 = *(arg_48h);
0x00019530 addiu a1, v0, 0x2048 | a1 = v0 + 0x2048;
0x00019534 addiu a0, zero, 1 | a0 = 1;
0x00019538 jalr t9 | t9 ();
0x0001953c lw gp, 0x30(sp) | gp = *(arg_30h);
0x00019540 lw a0, 0xd8(sp) | a0 = *(arg_d8h);
0x00019544 lw a1, 0xdc(sp) | a1 = *(arg_dch);
0x00019548 lw t9, -0x7e7c(gp) | t9 = *(gp);
0x0001954c addiu s4, s4, 1 | s4++;
0x00019550 bal 0x20f20 | fcn_00020f20 ();
0x00019554 lw gp, 0x30(sp) | gp = *(arg_30h);
0x00019558 lw a1, 0x18(s1) | a1 = *((s1 + 6));
0x0001955c lw a0, 0x18(s0) | a0 = *((s0 + 6));
0x00019560 lw t9, -0x7e6c(gp) | t9 = *(gp);
0x00019564 subu a0, a1, a0 | __asm ("subu a0, a1, a0");
0x00019568 move s2, v0 | s2 = v0;
0x0001956c move s3, v1 | s3 = v1;
0x00019570 bal 0x20e80 | fcn_00020e80 ();
0x00019574 lw gp, 0x30(sp) | gp = *(arg_30h);
0x00019578 move a2, s2 | a2 = s2;
0x0001957c move a3, s3 | a3 = s3;
0x00019580 lw t9, -0x7e78(gp) | t9 = *(gp);
0x00019584 move a0, v0 | a0 = v0;
0x00019588 move a1, v1 | a1 = v1;
0x0001958c bal 0x1f460 | fcn_0001f460 ();
0x00019590 lw gp, 0x30(sp) | gp = *(arg_30h);
0x00019594 lw a2, 0x3130(s5) | a2 = *((s5 + 3148));
0x00019598 lw a3, 0x3134(s5) | a3 = *((s5 + 3149));
0x0001959c lw t9, -0x7e70(gp) | t9 = *(gp);
0x000195a0 move a1, v1 | a1 = v1;
0x000195a4 move a0, v0 | a0 = v0;
0x000195a8 bal 0x1ff60 | fcn_0001ff60 ();
0x000195ac lw gp, 0x30(sp) | gp = *(arg_30h);
0x000195b0 sw v0, 0x28(sp) | *(arg_28h) = v0;
0x000195b4 sw v1, 0x2c(sp) | *(arg_2ch) = v1;
0x000195b8 lw a0, 0x10(s1) | a0 = *((s1 + 4));
0x000195bc lw v0, 0x10(s0) | v0 = *((s0 + 4));
0x000195c0 lw t9, -0x7e6c(gp) | t9 = *(gp);
0x000195c4 subu a0, a0, v0 | __asm ("subu a0, a0, v0");
0x000195c8 bal 0x20e80 | fcn_00020e80 ();
0x000195cc lw gp, 0x30(sp) | gp = *(arg_30h);
0x000195d0 move a2, s2 | a2 = s2;
0x000195d4 move a3, s3 | a3 = s3;
0x000195d8 lw t9, -0x7e78(gp) | t9 = *(gp);
0x000195dc move a0, v0 | a0 = v0;
0x000195e0 move a1, v1 | a1 = v1;
0x000195e4 bal 0x1f460 | fcn_0001f460 ();
0x000195e8 lw gp, 0x30(sp) | gp = *(arg_30h);
0x000195ec lw a2, 0x3130(s5) | a2 = *((s5 + 3148));
0x000195f0 lw a3, 0x3134(s5) | a3 = *((s5 + 3149));
0x000195f4 lw t9, -0x7e70(gp) | t9 = *(gp);
0x000195f8 move a1, v1 | a1 = v1;
0x000195fc move a0, v0 | a0 = v0;
0x00019600 bal 0x1ff60 | fcn_0001ff60 ();
0x00019604 lw gp, 0x30(sp) | gp = *(arg_30h);
0x00019608 sw v0, 0x20(sp) | *(arg_20h) = v0;
0x0001960c sw v1, 0x24(sp) | *(arg_24h) = v1;
0x00019610 lw a0, 8(s1) | a0 = *((s1 + 2));
0x00019614 lw v0, 8(s0) | v0 = *((s0 + 2));
0x00019618 lw t9, -0x7e6c(gp) | t9 = *(gp);
0x0001961c subu a0, a0, v0 | __asm ("subu a0, a0, v0");
0x00019620 bal 0x20e80 | fcn_00020e80 ();
0x00019624 lw gp, 0x30(sp) | gp = *(arg_30h);
0x00019628 move a2, s2 | a2 = s2;
0x0001962c move a3, s3 | a3 = s3;
0x00019630 lw t9, -0x7e78(gp) | t9 = *(gp);
0x00019634 move a0, v0 | a0 = v0;
0x00019638 move a1, v1 | a1 = v1;
0x0001963c bal 0x1f460 | fcn_0001f460 ();
0x00019640 lw gp, 0x30(sp) | gp = *(arg_30h);
0x00019644 lw a2, 0x3130(s5) | a2 = *((s5 + 3148));
0x00019648 lw a3, 0x3134(s5) | a3 = *((s5 + 3149));
0x0001964c lw t9, -0x7e70(gp) | t9 = *(gp);
0x00019650 move a1, v1 | a1 = v1;
0x00019654 move a0, v0 | a0 = v0;
0x00019658 bal 0x1ff60 | fcn_0001ff60 ();
0x0001965c lw gp, 0x30(sp) | gp = *(arg_30h);
0x00019660 sw v0, 0x18(sp) | *(arg_18h) = v0;
0x00019664 sw v1, 0x1c(sp) | *(arg_1ch) = v1;
0x00019668 lw a0, (s1) | a0 = *(s1);
0x0001966c lw v0, (s0) | v0 = *(s0);
0x00019670 lw t9, -0x7e6c(gp) | t9 = *(gp);
0x00019674 subu a0, a0, v0 | __asm ("subu a0, a0, v0");
0x00019678 bal 0x20e80 | fcn_00020e80 ();
0x0001967c lw gp, 0x30(sp) | gp = *(arg_30h);
0x00019680 move a2, s2 | a2 = s2;
0x00019684 move a3, s3 | a3 = s3;
0x00019688 lw t9, -0x7e78(gp) | t9 = *(gp);
0x0001968c move a0, v0 | a0 = v0;
0x00019690 move a1, v1 | a1 = v1;
0x00019694 bal 0x1f460 | fcn_0001f460 ();
0x00019698 lw gp, 0x30(sp) | gp = *(arg_30h);
0x0001969c lw a2, 0x3130(s5) | a2 = *((s5 + 3148));
0x000196a0 lw a3, 0x3134(s5) | a3 = *((s5 + 3149));
0x000196a4 lw t9, -0x7e70(gp) | t9 = *(gp);
0x000196a8 move a0, v0 | a0 = v0;
0x000196ac move a1, v1 | a1 = v1;
0x000196b0 bal 0x1ff60 | fcn_0001ff60 ();
0x000196b4 lw gp, 0x30(sp) | gp = *(arg_30h);
0x000196b8 sw v0, 0x10(sp) | *(arg_10h) = v0;
0x000196bc sw v1, 0x14(sp) | *(arg_14h) = v1;
0x000196c0 lw t9, -0x7de4(gp) | t9 = sym.cprintf_f;
0x000196c4 addiu a3, zero, 2 | a3 = 2;
0x000196c8 addiu a2, zero, 9 | a2 = 9;
0x000196cc addiu a1, zero, 4 | a1 = 4;
0x000196d0 addiu a0, zero, -1 | a0 = -1;
0x000196d4 bal 0x1cc08 | sym_cprintf_f ();
0x000196d8 lw gp, 0x30(sp) | gp = *(arg_30h);
0x000196dc lw v0, 0x54(sp) | v0 = *(arg_54h);
0x000196e0 move a3, zero | a3 = 0;
0x000196e4 lw t9, -0x7df8(gp) | t9 = sym.cprintf_in;
0x000196e8 addiu a1, v0, 0x3894 | a1 = v0 + 0x3894;
0x000196ec move a2, s6 | a2 = s6;
0x000196f0 addiu a0, zero, 1 | a0 = 1;
0x000196f4 bal 0x1d180 | sym_cprintf_in ();
0x000196f8 lw v0, 0x7c(s7) | v0 = *((s7 + 31));
0x000196fc slt v0, s4, v0 | v0 = (s4 < v0) ? 1 : 0;
0x00019700 lw gp, 0x30(sp) | gp = *(arg_30h);
| if (v0 == 0) {
0x00019704 beqz v0, 0x197a8 | goto label_20;
| }
0x00019708 lw v0, 0x44(sp) | v0 = *(arg_44h);
0x0001970c lw s1, 0x98(s7) | s1 = *((s7 + 38));
0x00019710 lw fp, 0x90(v0) | fp = *((v0 + 36));
0x00019714 lw v0, 0x50(sp) | v0 = *(arg_50h);
0x00019718 mul v1, fp, s4 | __asm ("mul v1, fp, s4");
0x0001971c lw v0, (v0) | v0 = *(v0);
0x00019720 andi v0, v0, 1 | v0 &= 1;
0x00019724 addu s1, v1, s1 | s1 = v1 + s1;
0x00019728 addiu s6, s1, 0x20 | s6 = s1 + 0x20;
0x0001972c bnez v0, 0x1951c |
| } while (v0 != 0);
0x00019730 lw v0, 0x58(sp) | v0 = *(arg_58h);
0x00019734 lw s2, 0x7c(v0) | s2 = *((v0 + 31));
0x00019738 lw s0, 0x60(sp) | s0 = *(arg_60h);
| if (s2 <= 0) {
0x0001973c blez s2, 0x19524 | goto label_0;
| }
0x00019740 slt v0, s4, s2 | v0 = (s4 < s2) ? 1 : 0;
0x00019744 sw s4, 0x3c(sp) | *(arg_3ch) = s4;
| if (v0 != 0) {
0x00019748 bnel v0, zero, 0x19754 |
0x0001974c addiu v0, s2, -1 | v0 = s2 + -1;
0x00019750 sw v0, 0x3c(sp) | *(arg_3ch) = v0;
| }
0x00019754 lw v0, 0x58(sp) | v0 = *(arg_58h);
0x00019758 lw s3, 0x3c(sp) | s3 = *(arg_3ch);
0x0001975c lw v0, 0x98(v0) | v0 = *((v0 + 38));
0x00019760 sw v0, 0x40(sp) | *(arg_40h) = v0;
0x00019764 mul v1, fp, s3 | __asm ("mul v1, fp, s3");
| label_1:
0x00019768 lw v0, 0x40(sp) | v0 = *(arg_40h);
0x0001976c lw t9, -0x7bd0(gp) | t9 = sym.imp.strcmp;
0x00019770 move a0, s6 | a0 = s6;
0x00019774 addu s0, v1, v0 | s0 = v1 + v0;
0x00019778 addiu a1, s0, 0x20 | a1 = s0 + 0x20;
0x0001977c jalr t9 | t9 ();
0x00019780 lw gp, 0x30(sp) | gp = *(arg_30h);
| if (v0 == 0) {
0x00019784 beqz v0, 0x19524 | goto label_0;
| }
0x00019788 addiu s3, s3, 1 | s3++;
0x0001978c slt v0, s3, s2 | v0 = (s3 < s2) ? 1 : 0;
| if (v0 != 0) {
0x00019790 movz s3, zero, v0 | s3 = 0;
| }
0x00019794 lw v0, 0x3c(sp) | v0 = *(arg_3ch);
0x00019798 mul v1, fp, s3 | __asm ("mul v1, fp, s3");
| if (v0 != s3) {
0x0001979c bne v0, s3, 0x19768 | goto label_1;
| }
0x000197a0 lw s0, 0x60(sp) | s0 = *(arg_60h);
0x000197a4 b 0x19524 | goto label_0;
| label_20:
0x000197a8 lw v0, 0x64(sp) | v0 = *(arg_64h);
0x000197ac lw v1, 0x9c(sp) | v1 = *(arg_9ch);
0x000197b0 lw v0, (v0) | v0 = *(v0);
0x000197b4 lw ra, 0xc4(sp) | ra = *(arg_c4h);
| if (v1 == v0) {
0x000197b8 bne v1, v0, 0x1981c |
0x000197bc lw fp, 0xc0(sp) | fp = *(arg_c0h);
0x000197c0 lw s7, 0xbc(sp) | s7 = *(arg_bch);
0x000197c4 lw s6, 0xb8(sp) | s6 = *(arg_b8h);
0x000197c8 lw s5, 0xb4(sp) | s5 = *(arg_b4h);
0x000197cc lw s4, 0xb0(sp) | s4 = *(arg_b0h);
0x000197d0 lw s3, 0xac(sp) | s3 = *(arg_ach);
0x000197d4 lw s2, 0xa8(sp) | s2 = *(arg_a8h);
0x000197d8 lw s1, 0xa4(sp) | s1 = *(arg_a4h);
0x000197dc lw s0, 0xa0(sp) | s0 = *(arg_a0h);
0x000197e0 addiu sp, sp, 0xc8 |
0x000197e4 jr ra | return v1;
| }
0x0001981c lw t9, -0x7c10(gp) | t9 = sym.imp.__stack_chk_fail;
0x00019820 jalr t9 | t9 ();
0x00019824 nop |
0x00019828 lui gp, 2 |
0x0001982c addiu gp, gp, 0x4328 |
0x00019830 addu gp, gp, t9 | gp += t9;
0x00019834 lw v0, -0x7bf8(gp) | v0 = *((gp - 7934));
0x00019838 addiu sp, sp, -0x490 |
0x0001983c lw t9, -0x7c7c(gp) | t9 = sym.imp.memset;
0x00019840 sw v0, 0x5c(sp) | *(var_5ch) = v0;
0x00019844 lw v0, (v0) | v0 = *(v0);
0x00019848 sw s1, 0x46c(sp) | *(var_46ch) = s1;
0x0001984c addiu s1, sp, 0x60 | s1 = sp + 0x60;
0x00019850 sw gp, 0x38(sp) | *(var_38h) = gp;
0x00019854 sw fp, 0x488(sp) | *(var_488h) = fp;
0x00019858 sw s6, 0x480(sp) | *(var_480h) = s6;
0x0001985c sw s2, 0x470(sp) | *(var_470h) = s2;
0x00019860 sw s0, 0x468(sp) | *(var_468h) = s0;
0x00019864 sw ra, 0x48c(sp) | *(var_48ch) = ra;
0x00019868 sw s7, 0x484(sp) | *(var_484h) = s7;
0x0001986c sw s5, 0x47c(sp) | *(var_47ch) = s5;
0x00019870 sw s4, 0x478(sp) | *(var_478h) = s4;
0x00019874 sw s3, 0x474(sp) | *(var_474h) = s3;
0x00019878 move s2, a0 | s2 = a0;
0x0001987c move s6, a1 | s6 = a1;
0x00019880 move s0, a2 | s0 = a2;
0x00019884 move a1, zero | a1 = 0;
0x00019888 addiu a2, zero, 0x401 | a2 = 0x401;
0x0001988c move a0, s1 | a0 = s1;
0x00019890 sw v0, 0x464(sp) | *(var_464h) = v0;
0x00019894 lw fp, -0x7fac(gp) | fp = *(gp);
0x00019898 jalr t9 | t9 ();
0x0001989c nop |
0x000198a0 lw gp, 0x38(sp) | gp = *(var_38h);
0x000198a4 lw a3, (fp) | a3 = *(fp);
0x000198a8 lw v0, -0x7f84(gp) | v0 = *(gp);
0x000198ac lw v1, (v0) | v1 = *(v0);
0x000198b0 lui v0, 0x200 | v0 = imp._ITM_registerTMCloneTable;
0x000198b4 and v0, a3, v0 | v0 = a3 & v0;
0x000198b8 or v0, v0, v1 | v0 |= v1;
0x000198bc sll s7, s0, 2 | s7 = s0 << 2;
| if (v0 != 0) {
0x000198c0 beqz v0, 0x198fc |
0x000198c4 lw a0, -0x7fb8(gp) | a0 = *(gp);
0x000198c8 sltiu v0, s0, 1 | v0 = (s0 < 1) ? 1 : 0;
0x000198cc sll v0, v0, 6 | v0 <<= 6;
0x000198d0 addiu v1, zero, 9 | v1 = 9;
0x000198d4 lw t9, -0x7de8(gp) | t9 = sym.print_hdr_line;
0x000198d8 addiu a3, zero, 7 | a3 = 7;
0x000198dc sw v1, 0x10(sp) | *(var_10h) = v1;
0x000198e0 move a2, zero | a2 = 0;
0x000198e4 move a1, s2 | a1 = s2;
0x000198e8 addu a0, a0, v0 | a0 += v0;
0x000198ec bal 0xc7f0 | sym_print_hdr_line ();
0x000198f0 lw gp, 0x38(sp) | gp = *(var_38h);
0x000198f4 lw a3, (fp) | a3 = *(fp);
0x000198f8 sll s7, s0, 2 | s7 = s0 << 2;
| }
0x000198fc addu v0, s2, s7 | v0 = s2 + s7;
0x00019900 move v1, v0 | v1 = v0;
0x00019904 sw v0, 0x44(sp) | *(var_44h) = v0;
0x00019908 lw v1, 0x7c(v1) | v1 = *((v1 + 31));
0x0001990c lw v0, 0x70(s2) | v0 = *((s2 + 28));
0x00019910 slt v0, v0, v1 | v0 = (v0 < v1) ? 1 : 0;
0x00019914 sw v1, 0x70(s2) | *((s2 + 28)) = v1;
| if (v0 != 0) {
0x00019918 bnel v0, zero, 0x1991c |
| }
0x0001991c lw t9, -0x7d84(gp) | t9 = sym.get_global_soft_statistics;
0x00019920 sw s1, 0x10(sp) | *(var_10h) = s1;
0x00019924 move a2, s0 | a2 = s0;
0x00019928 move a1, s6 | a1 = s6;
0x0001992c move a0, s2 | a0 = s2;
0x00019930 bal 0xc498 | sym_get_global_soft_statistics ();
0x00019934 lw s4, 0x70(s2) | s4 = *((s2 + 28));
0x00019938 lw gp, 0x38(sp) | gp = *(var_38h);
| if (s4 <= 0) {
0x0001993c blez s4, 0x19ca0 | goto label_21;
| }
0x00019940 lw v1, 0xa4(s2) | v1 = *((s2 + 41));
0x00019944 lw v0, 4(v1) | v0 = *((v1 + 1));
0x00019948 lw v0, -0x7fd8(gp) | v0 = *(gp);
| if (v0 < 0) {
0x0001994c bltz v0, 0x19ca0 | goto label_21;
| }
0x00019950 lw s3, -0x7fd8(gp) | s3 = *(gp);
0x00019954 sw v0, 0x58(sp) | *(var_58h) = v0;
0x00019958 lw v0, -0x7fb8(gp) | v0 = *(gp);
0x0001995c sll s0, s0, 6 | s0 <<= 6;
0x00019960 addu v0, v0, s0 | v0 += s0;
0x00019964 sw v0, 0x48(sp) | *(var_48h) = v0;
0x00019968 lw v0, -0x7fd8(gp) | v0 = *(gp);
0x0001996c addiu s6, s6, 0x26 | s6 += 0x26;
0x00019970 lw a0, 0x3130(s3) | a0 = *((s3 + 3148));
0x00019974 lw a1, 0x3134(s3) | a1 = *((s3 + 3149));
0x00019978 sll s6, s6, 2 | s6 <<= 2;
| /* str.__11s */
0x0001997c addiu v0, v0, 0x2048 | v0 += 0x2048;
0x00019980 sw a0, 0x50(sp) | *(var_50h) = a0;
0x00019984 sw a1, 0x54(sp) | *(var_54h) = a1;
0x00019988 move s7, zero | s7 = 0;
0x0001998c addu s6, s2, s6 | s6 = s2 + s6;
0x00019990 sw v0, 0x4c(sp) | *(var_4ch) = v0;
0x00019994 b 0x19be0 | goto label_22;
| label_4:
0x00019998 lw a2, -0x7fd8(gp) | a2 = *(gp);
0x0001999c lw a1, -0x7fd8(gp) | a1 = *(gp);
0x000199a0 move a3, zero | a3 = 0;
| /* str.____all */
0x000199a4 addiu a2, a2, 0x3168 | a2 += 0x3168;
| /* esilref: ' &s' */
0x000199a8 addiu a1, a1, 0x3164 | a1 += 0x3164;
0x000199ac addiu a0, zero, 1 | a0 = 1;
0x000199b0 bal 0x1d180 | sym_cprintf_in ();
0x000199b4 lw gp, 0x38(sp) | gp = *(var_38h);
| label_5:
0x000199b8 lw t9, -0x7e7c(gp) | t9 = *(gp);
0x000199bc lw a0, 0x4a0(sp) | a0 = *(arg_10h);
0x000199c0 lw a1, 0x4a4(sp) | a1 = *(arg_14h);
0x000199c4 bal 0x20f20 | fcn_00020f20 ();
0x000199c8 lw gp, 0x38(sp) | gp = *(var_38h);
0x000199cc lw a1, 0x10(s1) | a1 = *((s1 + 4));
0x000199d0 lw a0, 0x10(s0) | a0 = *((s0 + 4));
0x000199d4 lw t9, -0x7e6c(gp) | t9 = *(gp);
0x000199d8 subu a0, a1, a0 | __asm ("subu a0, a1, a0");
0x000199dc move s4, v0 | s4 = v0;
0x000199e0 move s5, v1 | s5 = v1;
0x000199e4 bal 0x20e80 | fcn_00020e80 ();
0x000199e8 lw gp, 0x38(sp) | gp = *(var_38h);
0x000199ec move a2, s4 | a2 = s4;
0x000199f0 move a3, s5 | a3 = s5;
0x000199f4 lw t9, -0x7e78(gp) | t9 = *(gp);
0x000199f8 move a0, v0 | a0 = v0;
0x000199fc move a1, v1 | a1 = v1;
0x00019a00 bal 0x1f460 | fcn_0001f460 ();
0x00019a04 lw gp, 0x38(sp) | gp = *(var_38h);
0x00019a08 lw a2, 0x50(sp) | a2 = *(var_50h);
0x00019a0c lw a3, 0x54(sp) | a3 = *(var_54h);
0x00019a10 lw t9, -0x7e70(gp) | t9 = *(gp);
0x00019a14 move a1, v1 | a1 = v1;
0x00019a18 move a0, v0 | a0 = v0;
0x00019a1c bal 0x1ff60 | fcn_0001ff60 ();
0x00019a20 lw gp, 0x38(sp) | gp = *(var_38h);
0x00019a24 sw v0, 0x30(sp) | *(var_30h) = v0;
0x00019a28 sw v1, 0x34(sp) | *(var_34h) = v1;
0x00019a2c lw a0, 0xc(s1) | a0 = *((s1 + 3));
0x00019a30 lw v0, 0xc(s0) | v0 = *((s0 + 3));
0x00019a34 lw t9, -0x7e6c(gp) | t9 = *(gp);
0x00019a38 subu a0, a0, v0 | __asm ("subu a0, a0, v0");
0x00019a3c bal 0x20e80 | fcn_00020e80 ();
0x00019a40 lw gp, 0x38(sp) | gp = *(var_38h);
0x00019a44 move a2, s4 | a2 = s4;
0x00019a48 move a3, s5 | a3 = s5;
0x00019a4c lw t9, -0x7e78(gp) | t9 = *(gp);
0x00019a50 move a0, v0 | a0 = v0;
0x00019a54 move a1, v1 | a1 = v1;
0x00019a58 bal 0x1f460 | fcn_0001f460 ();
0x00019a5c lw gp, 0x38(sp) | gp = *(var_38h);
0x00019a60 lw a2, 0x3130(s3) | a2 = *((s3 + 3148));
0x00019a64 lw a3, 0x3134(s3) | a3 = *((s3 + 3149));
0x00019a68 lw t9, -0x7e70(gp) | t9 = *(gp);
0x00019a6c move a1, v1 | a1 = v1;
0x00019a70 move a0, v0 | a0 = v0;
0x00019a74 bal 0x1ff60 | fcn_0001ff60 ();
0x00019a78 lw gp, 0x38(sp) | gp = *(var_38h);
0x00019a7c sw v0, 0x28(sp) | *(var_28h_3) = v0;
0x00019a80 sw v1, 0x2c(sp) | *(var_2ch_2) = v1;
0x00019a84 lw a0, 8(s1) | a0 = *((s1 + 2));
0x00019a88 lw v0, 8(s0) | v0 = *((s0 + 2));
0x00019a8c lw t9, -0x7e6c(gp) | t9 = *(gp);
0x00019a90 subu a0, a0, v0 | __asm ("subu a0, a0, v0");
0x00019a94 bal 0x20e80 | fcn_00020e80 ();
0x00019a98 lw gp, 0x38(sp) | gp = *(var_38h);
0x00019a9c move a2, s4 | a2 = s4;
0x00019aa0 move a3, s5 | a3 = s5;
0x00019aa4 lw t9, -0x7e78(gp) | t9 = *(gp);
0x00019aa8 move a0, v0 | a0 = v0;
0x00019aac move a1, v1 | a1 = v1;
0x00019ab0 bal 0x1f460 | fcn_0001f460 ();
0x00019ab4 lw gp, 0x38(sp) | gp = *(var_38h);
0x00019ab8 lw a2, 0x3130(s3) | a2 = *((s3 + 3148));
0x00019abc lw a3, 0x3134(s3) | a3 = *((s3 + 3149));
0x00019ac0 lw t9, -0x7e70(gp) | t9 = *(gp);
0x00019ac4 move a1, v1 | a1 = v1;
0x00019ac8 move a0, v0 | a0 = v0;
0x00019acc bal 0x1ff60 | fcn_0001ff60 ();
0x00019ad0 lw gp, 0x38(sp) | gp = *(var_38h);
0x00019ad4 sw v0, 0x20(sp) | *(var_20h_3) = v0;
0x00019ad8 sw v1, 0x24(sp) | *(var_24h_4) = v1;
0x00019adc lw a0, 4(s1) | a0 = *((s1 + 1));
0x00019ae0 lw v0, 4(s0) | v0 = *((s0 + 1));
0x00019ae4 lw t9, -0x7e6c(gp) | t9 = *(gp);
0x00019ae8 subu a0, a0, v0 | __asm ("subu a0, a0, v0");
0x00019aec bal 0x20e80 | fcn_00020e80 ();
0x00019af0 lw gp, 0x38(sp) | gp = *(var_38h);
0x00019af4 move a2, s4 | a2 = s4;
0x00019af8 move a3, s5 | a3 = s5;
0x00019afc lw t9, -0x7e78(gp) | t9 = *(gp);
0x00019b00 move a0, v0 | a0 = v0;
0x00019b04 move a1, v1 | a1 = v1;
0x00019b08 bal 0x1f460 | fcn_0001f460 ();
0x00019b0c lw gp, 0x38(sp) | gp = *(var_38h);
0x00019b10 lw a2, 0x3130(s3) | a2 = *((s3 + 3148));
0x00019b14 lw a3, 0x3134(s3) | a3 = *((s3 + 3149));
0x00019b18 lw t9, -0x7e70(gp) | t9 = *(gp);
0x00019b1c move a1, v1 | a1 = v1;
0x00019b20 move a0, v0 | a0 = v0;
0x00019b24 bal 0x1ff60 | fcn_0001ff60 ();
0x00019b28 lw gp, 0x38(sp) | gp = *(var_38h);
0x00019b2c sw v0, 0x18(sp) | *(var_18h_2) = v0;
0x00019b30 sw v1, 0x1c(sp) | *(var_1ch) = v1;
0x00019b34 lw a0, (s1) | a0 = *(s1);
0x00019b38 lw v0, (s0) | v0 = *(s0);
0x00019b3c lw t9, -0x7e6c(gp) | t9 = *(gp);
0x00019b40 subu a0, a0, v0 | __asm ("subu a0, a0, v0");
0x00019b44 bal 0x20e80 | fcn_00020e80 ();
0x00019b48 lw gp, 0x38(sp) | gp = *(var_38h);
0x00019b4c move a2, s4 | a2 = s4;
0x00019b50 move a3, s5 | a3 = s5;
0x00019b54 lw t9, -0x7e78(gp) | t9 = *(gp);
0x00019b58 move a0, v0 | a0 = v0;
0x00019b5c move a1, v1 | a1 = v1;
0x00019b60 bal 0x1f460 | fcn_0001f460 ();
0x00019b64 lw gp, 0x38(sp) | gp = *(var_38h);
0x00019b68 lw a2, 0x3130(s3) | a2 = *((s3 + 3148));
0x00019b6c lw a3, 0x3134(s3) | a3 = *((s3 + 3149));
0x00019b70 lw t9, -0x7e70(gp) | t9 = *(gp);
0x00019b74 move a0, v0 | a0 = v0;
0x00019b78 move a1, v1 | a1 = v1;
0x00019b7c bal 0x1ff60 | fcn_0001ff60 ();
0x00019b80 lw gp, 0x38(sp) | gp = *(var_38h);
0x00019b84 sw v0, 0x10(sp) | *(var_10h) = v0;
0x00019b88 sw v1, 0x14(sp) | *(var_14h) = v1;
0x00019b8c lw t9, -0x7de4(gp) | t9 = sym.cprintf_f;
0x00019b90 addiu a3, zero, 2 | a3 = 2;
0x00019b94 addiu a2, zero, 9 | a2 = 9;
0x00019b98 addiu a1, zero, 5 | a1 = 5;
0x00019b9c addiu a0, zero, -1 | a0 = -1;
0x00019ba0 bal 0x1cc08 | sym_cprintf_f ();
0x00019ba4 lw gp, 0x38(sp) | gp = *(var_38h);
0x00019ba8 lw t9, -0x7c80(gp) | t9 = sym.imp.putchar;
0x00019bac addiu a0, zero, 0xa | a0 = 0xa;
0x00019bb0 jalr t9 | t9 ();
0x00019bb4 lw gp, 0x38(sp) | gp = *(var_38h);
0x00019bb8 lw s4, 0x70(s2) | s4 = *((s2 + 28));
| do {
| label_3:
0x00019bbc addiu s7, s7, 1 | s7++;
| label_2:
0x00019bc0 slt v0, s7, s4 | v0 = (s7 < s4) ? 1 : 0;
0x00019bc4 lw v0, 0x5c(sp) | v0 = *(var_5ch);
| if (v0 == 0) {
0x00019bc8 beqz v0, 0x19ca4 | goto label_23;
| }
0x00019bcc lw v1, 0xa4(s2) | v1 = *((s2 + 41));
0x00019bd0 lw v0, 4(v1) | v0 = *((v1 + 1));
0x00019bd4 slt v0, v0, s7 | v0 = (v0 < s7) ? 1 : 0;
0x00019bd8 lw v0, 0x5c(sp) | v0 = *(var_5ch);
| if (v0 != 0) {
0x00019bdc bnez v0, 0x19ca4 | goto label_23;
| }
| label_22:
0x00019be0 lw v0, (v1) | v0 = *(v1);
0x00019be4 sra v1, s7, 3 | v1 = s7 >> 3;
0x00019be8 andi a0, s7, 7 | a0 = s7 & 7;
0x00019bec lbux v0, v1(v0) | __asm ("lbux v0, v1(v0)");
0x00019bf0 srav v0, v0, a0 | __asm ("srav v0, v0, a0");
0x00019bf4 andi v0, v0, 1 | v0 &= 1;
0x00019bf8 addiu v0, sp, 0x468 | v0 = sp + 0x468;
0x00019bfc beqz v0, 0x19bbc |
| } while (v0 == 0);
0x00019c00 addu v1, v0, v1 | v1 = v0 + v1;
0x00019c04 lbu v0, -0x408(v1) | v0 = *(var_60h);
0x00019c08 srav v0, v0, a0 | __asm ("srav v0, v0, a0");
0x00019c0c andi v0, v0, 1 | v0 &= 1;
0x00019c10 addiu s7, s7, 1 | s7++;
| if (v0 == 0) {
0x00019c14 bnel v0, zero, 0x19bc0 | goto label_2;
| }
0x00019c18 lw s0, 0x90(s2) | s0 = *((s2 + 36));
0x00019c1c lw a0, 0x44(sp) | a0 = *(var_44h);
0x00019c20 mul v0, s7, s0 | __asm ("mul v0, s7, s0");
0x00019c24 lw v1, (fp) | v1 = *(fp);
0x00019c28 lw s1, 0x98(a0) | s1 = *((a0 + 38));
0x00019c2c lw s0, (s6) | s0 = *(s6);
0x00019c30 ext v1, v1, 0x19, 1 | __asm ("ext v1, v1, 0x19, 1");
0x00019c34 addu s1, s1, v0 | s1 += v0;
0x00019c38 addu s0, s0, v0 | s0 += v0;
| if (v1 == 0) {
0x00019c3c beqz v1, 0x19c5c | goto label_24;
| }
0x00019c40 lw t9, -0x7c08(gp) | t9 = sym.imp.memcmp;
0x00019c44 addiu a2, zero, 0x14 | a2 = 0x14;
0x00019c48 move a1, s1 | a1 = s1;
0x00019c4c move a0, s0 | a0 = s0;
0x00019c50 jalr t9 | t9 ();
0x00019c54 lw gp, 0x38(sp) | gp = *(var_38h);
| if (v0 == 0) {
0x00019c58 beqz v0, 0x19bbc | goto label_3;
| }
| label_24:
0x00019c5c lw t9, -0x7ca8(gp) | t9 = sym.imp.__printf_chk;
0x00019c60 lw a2, 0x48(sp) | a2 = *(var_48h);
0x00019c64 lw a1, 0x4c(sp) | a1 = *(var_4ch);
0x00019c68 addiu a0, zero, 1 | a0 = 1;
0x00019c6c jalr t9 | t9 ();
0x00019c70 lw gp, 0x38(sp) | gp = *(var_38h);
0x00019c74 lw t9, -0x7df8(gp) | t9 = sym.cprintf_in;
| if (s7 == 0) {
0x00019c78 beqz s7, 0x19998 | goto label_4;
| }
0x00019c7c lw a1, -0x7fd8(gp) | a1 = *(gp);
0x00019c80 lw v0, 0x58(sp) | v0 = *(var_58h);
0x00019c84 addiu a3, s7, -1 | a3 = s7 + -1;
0x00019c88 addiu a2, v0, 0x21a4 | a2 = v0 + 0x21a4;
| /* str.__7d */
0x00019c8c addiu a1, a1, 0x3170 | a1 += 0x3170;
0x00019c90 move a0, zero | a0 = 0;
0x00019c94 bal 0x1d180 | sym_cprintf_in ();
0x00019c98 lw gp, 0x38(sp) | gp = *(var_38h);
0x00019c9c b 0x199b8 | goto label_5;
| label_21:
0x00019ca0 lw v0, 0x5c(sp) | v0 = *(var_5ch);
| label_23:
0x00019ca4 lw v1, 0x464(sp) | v1 = *(var_464h);
0x00019ca8 lw v0, (v0) | v0 = *(v0);
0x00019cac lw ra, 0x48c(sp) | ra = *(var_48ch);
| if (v1 == v0) {
0x00019cb0 bne v1, v0, 0x19ce0 |
0x00019cb4 lw fp, 0x488(sp) | fp = *(var_488h);
0x00019cb8 lw s7, 0x484(sp) | s7 = *(var_484h);
0x00019cbc lw s6, 0x480(sp) | s6 = *(var_480h);
0x00019cc0 lw s5, 0x47c(sp) | s5 = *(var_47ch);
0x00019cc4 lw s4, 0x478(sp) | s4 = *(var_478h);
0x00019cc8 lw s3, 0x474(sp) | s3 = *(var_474h);
0x00019ccc lw s2, 0x470(sp) | s2 = *(var_470h);
0x00019cd0 lw s1, 0x46c(sp) | s1 = *(var_46ch);
0x00019cd4 lw s0, 0x468(sp) | s0 = *(var_468h);
0x00019cd8 addiu sp, sp, 0x490 |
0x00019cdc jr ra | return v1;
| }
0x00019ce0 lw t9, -0x7c10(gp) | t9 = sym.imp.__stack_chk_fail;
0x00019ce4 jalr t9 | t9 ();
0x00019ce8 nop |
0x00019cec nop |
0x00019cf0 lui gp, 2 |
0x00019cf4 addiu gp, gp, 0x3e60 |
0x00019cf8 addu gp, gp, t9 | gp += t9;
0x00019cfc lw v0, -0x7bf8(gp) | v0 = *((gp - 7934));
0x00019d00 addiu sp, sp, -0x20d0 |
0x00019d04 lw t9, -0x7be4(gp) | t9 = sym.imp.fopen;
0x00019d08 sw s5, 0x20bc(sp) | *(arg_20bch) = s5;
0x00019d0c sw s2, 0x20b0(sp) | *(arg_20b0h) = s2;
0x00019d10 sw v0, 0x44(sp) | *(var_44h) = v0;
0x00019d14 lw s2, -0x7fd8(gp) | s2 = *(gp);
0x00019d18 lw v0, (v0) | v0 = *(v0);
0x00019d1c move s5, a1 | s5 = a1;
0x00019d20 lw a1, -0x7fd8(gp) | a1 = *(gp);
0x00019d24 sw gp, 0x38(sp) | *(var_38h) = gp;
0x00019d28 sw s0, 0x20a8(sp) | *(arg_20a8h) = s0;
0x00019d2c sw ra, 0x20cc(sp) | *(arg_20cch) = ra;
0x00019d30 sw fp, 0x20c8(sp) | *(arg_20c8h) = fp;
0x00019d34 sw s7, 0x20c4(sp) | *(arg_20c4h) = s7;
0x00019d38 sw s6, 0x20c0(sp) | *(arg_20c0h) = s6;
0x00019d3c sw s4, 0x20b8(sp) | *(arg_20b8h) = s4;
0x00019d40 sw s3, 0x20b4(sp) | *(arg_20b4h) = s3;
0x00019d44 sw s1, 0x20ac(sp) | *(arg_20ach) = s1;
0x00019d48 move s0, a0 | s0 = a0;
0x00019d4c addiu a1, a1, 0x34ac | a1 += 0x34ac;
| /* esilref: '/proc/stat' */
0x00019d50 addiu a0, s2, 0x3248 | a0 = s2 + 0x3248;
0x00019d54 sw v0, 0x20a4(sp) | *(arg_20a4h) = v0;
0x00019d58 jalr t9 | t9 ();
0x00019d5c nop |
0x00019d60 lw gp, 0x38(sp) | gp = *(var_38h);
| if (v0 == 0) {
0x00019d64 beqz v0, 0x19fe0 | goto label_25;
| }
0x00019d68 move s1, v0 | s1 = v0;
0x00019d6c lw s2, -0x7fd8(gp) | s2 = *(gp);
0x00019d70 lw v0, -0x7fd8(gp) | v0 = *(gp);
0x00019d74 lw s4, -0x7fd8(gp) | s4 = *(gp);
0x00019d78 lw s6, -0x7fd8(gp) | s6 = *(gp);
0x00019d7c sw v0, 0x40(sp) | *(var_40h) = v0;
0x00019d80 move s3, zero | s3 = 0;
0x00019d84 addiu s7, sp, 0xa4 | s7 = sp + 0xa4;
| /* str.cpu_ */
0x00019d88 addiu s2, s2, 0x3254 | s2 += 0x3254;
| /* esilref: 'cpu' */
0x00019d8c addiu s4, s4, 0x3290 | s4 += 0x3290;
0x00019d90 addiu fp, sp, 0x50 | fp = sp + 0x50;
| /* str._llu__llu__llu__llu__llu__llu__llu__llu__llu__llu */
0x00019d94 addiu s6, s6, 0x325c | s6 += 0x325c;
| do {
0x00019d98 lw t9, -0x7bfc(gp) | t9 = sym.imp.fgets;
| label_6:
0x00019d9c move a2, s1 | a2 = s1;
0x00019da0 addiu a1, zero, 0x2000 | a1 = 0x2000;
0x00019da4 move a0, s7 | a0 = s7;
0x00019da8 jalr t9 | t9 ();
0x00019dac lw gp, 0x38(sp) | gp = *(var_38h);
| if (v0 == 0) {
0x00019db0 beqz v0, 0x19ee8 | goto label_9;
| }
| label_7:
0x00019db4 lw t9, -0x7cd8(gp) | t9 = sym.imp.strncmp;
0x00019db8 addiu a2, zero, 4 | a2 = 4;
0x00019dbc move a1, s2 | a1 = s2;
0x00019dc0 move a0, s7 | a0 = s7;
0x00019dc4 jalr t9 | t9 ();
0x00019dc8 lw gp, 0x38(sp) | gp = *(var_38h);
| if (v0 == 0) {
0x00019dcc beqz v0, 0x19f3c | goto label_26;
| }
0x00019dd0 lw t9, -0x7cd8(gp) | t9 = sym.imp.strncmp;
0x00019dd4 addiu a2, zero, 3 | a2 = 3;
0x00019dd8 move a1, s4 | a1 = s4;
0x00019ddc move a0, s7 | a0 = s7;
0x00019de0 jalr t9 | t9 ();
0x00019de4 lw gp, 0x38(sp) | gp = *(var_38h);
0x00019de8 bnez v0, 0x19d98 |
| } while (v0 != 0);
0x00019dec lw t9, -0x7c7c(gp) | t9 = sym.imp.memset;
0x00019df0 addiu a2, zero, 0x50 | a2 = 0x50;
0x00019df4 move a1, zero | a1 = 0;
0x00019df8 move a0, fp | a0 = fp;
0x00019dfc jalr t9 | t9 ();
0x00019e00 addiu v0, sp, 0x98 | v0 = sp + 0x98;
0x00019e04 sw v0, 0x30(sp) | *(var_30h) = v0;
0x00019e08 addiu v0, sp, 0x90 | v0 = sp + 0x90;
0x00019e0c sw v0, 0x2c(sp) | *(var_2ch_2) = v0;
0x00019e10 addiu v0, sp, 0x78 | v0 = sp + 0x78;
0x00019e14 sw v0, 0x28(sp) | *(var_28h_3) = v0;
0x00019e18 addiu v0, sp, 0x88 | v0 = sp + 0x88;
0x00019e1c sw v0, 0x24(sp) | *(var_24h_4) = v0;
0x00019e20 addiu v0, sp, 0x80 | v0 = sp + 0x80;
0x00019e24 sw v0, 0x20(sp) | *(var_20h_3) = v0;
0x00019e28 addiu v0, sp, 0x70 | v0 = sp + 0x70;
0x00019e2c sw v0, 0x1c(sp) | *(var_1ch) = v0;
0x00019e30 addiu v0, sp, 0x68 | v0 = sp + 0x68;
0x00019e34 lw gp, 0x38(sp) | gp = *(var_38h);
0x00019e38 sw v0, 0x18(sp) | *(var_18h_2) = v0;
0x00019e3c addiu v0, sp, 0x60 | v0 = sp + 0x60;
0x00019e40 sw v0, 0x14(sp) | *(var_14h) = v0;
0x00019e44 addiu v0, sp, 0x58 | v0 = sp + 0x58;
0x00019e48 sw v0, 0x10(sp) | *(var_10h) = v0;
0x00019e4c lw v0, 0x40(sp) | v0 = *(var_40h);
0x00019e50 lw t9, -0x7c78(gp) | t9 = sym.imp.__isoc99_sscanf;
0x00019e54 addiu a0, sp, 0xa7 | a0 = sp + 0xa7;
0x00019e58 move a3, fp | a3 = fp;
0x00019e5c addiu a2, sp, 0x4c | a2 = sp + 0x4c;
0x00019e60 addiu a1, v0, 0x3294 | a1 = v0 + 0x3294;
0x00019e64 jalr t9 | t9 ();
0x00019e68 lw t4, 0x4c(sp) | t4 = *(var_4ch);
0x00019e6c addiu a0, t4, 1 | a0 = t4 + 1;
0x00019e70 slt v0, a0, s5 | v0 = (a0 < s5) ? 1 : 0;
0x00019e74 lw gp, 0x38(sp) | gp = *(var_38h);
| if (v0 == 0) {
0x00019e78 beqz v0, 0x19fcc | goto label_27;
| }
0x00019e7c sll v0, a0, 2 | v0 = a0 << 2;
0x00019e80 addu v0, v0, a0 | v0 += a0;
0x00019e84 sll v0, v0, 4 | v0 <<= 4;
0x00019e88 move v1, fp | v1 = fp;
0x00019e8c addu v0, s0, v0 | v0 = s0 + v0;
0x00019e90 addiu t3, sp, 0xa0 | t3 = sp + 0xa0;
| do {
0x00019e94 lw t2, (v1) | t2 = *(v1);
0x00019e98 lw a3, 4(v1) | a3 = *((v1 + 1));
0x00019e9c lw a2, 8(v1) | a2 = *((v1 + 2));
0x00019ea0 lw a1, 0xc(v1) | a1 = *((v1 + 3));
0x00019ea4 addiu v1, v1, 0x10 | v1 += 0x10;
0x00019ea8 sw t2, (v0) | *(v0) = t2;
0x00019eac sw a3, 4(v0) | *((v0 + 1)) = a3;
0x00019eb0 sw a2, 8(v0) | *((v0 + 2)) = a2;
0x00019eb4 sw a1, 0xc(v0) | *((v0 + 3)) = a1;
0x00019eb8 addiu v0, v0, 0x10 | v0 += 0x10;
0x00019ebc bne v1, t3, 0x19e94 |
| } while (v1 != t3);
0x00019ec0 slt a0, a0, s3 | a0 = (a0 < s3) ? 1 : 0;
0x00019ec4 lw t9, -0x7bfc(gp) | t9 = sym.imp.fgets;
| if (a0 != 0) {
0x00019ec8 bnez a0, 0x19d9c | goto label_6;
| }
0x00019ecc move a2, s1 | a2 = s1;
0x00019ed0 addiu a1, zero, 0x2000 | a1 = 0x2000;
0x00019ed4 move a0, s7 | a0 = s7;
0x00019ed8 addiu s3, t4, 2 | s3 = t4 + 2;
0x00019edc jalr t9 | t9 ();
0x00019ee0 lw gp, 0x38(sp) | gp = *(var_38h);
| if (v0 != 0) {
0x00019ee4 bnez v0, 0x19db4 | goto label_7;
| }
| label_9:
0x00019ee8 lw t9, -0x7cc4(gp) | t9 = sym.imp.fclose;
| label_8:
0x00019eec move a0, s1 | a0 = s1;
0x00019ef0 jalr t9 | t9 ();
0x00019ef4 lw v0, 0x44(sp) | v0 = *(var_44h);
0x00019ef8 lw a0, 0x20a4(sp) | a0 = *(arg_20a4h);
0x00019efc lw gp, 0x38(sp) | gp = *(var_38h);
0x00019f00 lw v1, (v0) | v1 = *(v0);
0x00019f04 move v0, s3 | v0 = s3;
| if (a0 != v1) {
0x00019f08 bne a0, v1, 0x19fd4 | goto label_28;
| }
0x00019f0c lw ra, 0x20cc(sp) | ra = *(arg_20cch);
0x00019f10 lw fp, 0x20c8(sp) | fp = *(arg_20c8h);
0x00019f14 lw s7, 0x20c4(sp) | s7 = *(arg_20c4h);
0x00019f18 lw s6, 0x20c0(sp) | s6 = *(arg_20c0h);
0x00019f1c lw s5, 0x20bc(sp) | s5 = *(arg_20bch);
0x00019f20 lw s4, 0x20b8(sp) | s4 = *(arg_20b8h);
0x00019f24 lw s3, 0x20b4(sp) | s3 = *(arg_20b4h);
0x00019f28 lw s2, 0x20b0(sp) | s2 = *(arg_20b0h);
0x00019f2c lw s1, 0x20ac(sp) | s1 = *(arg_20ach);
0x00019f30 lw s0, 0x20a8(sp) | s0 = *(arg_20a8h);
0x00019f34 addiu sp, sp, 0x20d0 |
0x00019f38 jr ra | return v1;
| label_26:
0x00019f3c lw t9, -0x7c7c(gp) | t9 = sym.imp.memset;
0x00019f40 addiu a2, zero, 0x50 | a2 = 0x50;
0x00019f44 move a1, zero | a1 = 0;
0x00019f48 move a0, s0 | a0 = s0;
0x00019f4c jalr t9 | t9 ();
0x00019f50 lw gp, 0x38(sp) | gp = *(var_38h);
0x00019f54 addiu t3, s0, 0x48 | t3 = s0 + 0x48;
0x00019f58 addiu t2, s0, 0x40 | t2 = s0 + 0x40;
0x00019f5c lw t9, -0x7c78(gp) | t9 = sym.imp.__isoc99_sscanf;
0x00019f60 addiu a3, s0, 0x28 | a3 = s0 + 0x28;
0x00019f64 addiu a2, s0, 0x38 | a2 = s0 + 0x38;
0x00019f68 addiu a1, s0, 0x30 | a1 = s0 + 0x30;
0x00019f6c addiu a0, s0, 0x20 | a0 = s0 + 0x20;
0x00019f70 addiu v1, s0, 0x18 | v1 = s0 + 0x18;
0x00019f74 addiu v0, s0, 0x10 | v0 = s0 + 0x10;
0x00019f78 sw a3, 0x24(sp) | *(var_24h_4) = a3;
0x00019f7c sw a2, 0x20(sp) | *(var_20h_3) = a2;
0x00019f80 sw a1, 0x1c(sp) | *(var_1ch) = a1;
0x00019f84 sw a0, 0x18(sp) | *(var_18h_2) = a0;
0x00019f88 sw t3, 0x2c(sp) | *(var_2ch_2) = t3;
0x00019f8c sw t2, 0x28(sp) | *(var_28h_3) = t2;
0x00019f90 sw v1, 0x14(sp) | *(var_14h) = v1;
0x00019f94 sw v0, 0x10(sp) | *(var_10h) = v0;
0x00019f98 addiu a3, s0, 8 | a3 = s0 + 8;
0x00019f9c move a2, s0 | a2 = s0;
0x00019fa0 move a1, s6 | a1 = s6;
0x00019fa4 addiu a0, sp, 0xa9 | a0 = sp + 0xa9;
0x00019fa8 jalr t9 | t9 ();
0x00019fac lw gp, 0x38(sp) | gp = *(var_38h);
| if (s3 == 0) {
0x00019fb0 bnez s3, 0x19fb8 |
0x00019fb4 addiu s3, zero, 1 | s3 = 1;
| }
0x00019fb8 addiu v0, zero, 1 | v0 = 1;
0x00019fbc lw t9, -0x7bfc(gp) | t9 = sym.imp.fgets;
| if (s5 == v0) {
0x00019fc0 bnel s5, v0, 0x19d9c | goto label_6;
| }
0x00019fc4 lw t9, -0x7cc4(gp) | t9 = sym.imp.fclose;
0x00019fc8 b 0x19eec | goto label_8;
| label_27:
0x00019fcc addiu s3, zero, -1 | s3 = -1;
0x00019fd0 b 0x19ee8 | goto label_9;
| label_28:
0x00019fd4 lw t9, -0x7c10(gp) | t9 = sym.imp.__stack_chk_fail;
0x00019fd8 jalr t9 | t9 ();
0x00019fdc nop |
| label_25:
0x00019fe0 lw v0, -0x7be8(gp) | v0 = *((gp - 7930));
0x00019fe4 lw t9, -0x7c84(gp) | t9 = sym.imp.__errno_location;
0x00019fe8 lw s0, (v0) | s0 = *(v0);
0x00019fec jalr t9 | t9 ();
0x00019ff0 lw gp, 0x38(sp) | gp = *(var_38h);
0x00019ff4 lw t9, -0x7c4c(gp) | t9 = sym.imp.strerror;
0x00019ff8 lw a0, (v0) | a0 = *(v0);
0x00019ffc jalr t9 | t9 ();
0x0001a000 lw gp, 0x38(sp) | gp = *(var_38h);
0x0001a004 move a0, s0 | a0 = s0;
0x0001a008 sw v0, 0x10(sp) | *(var_10h) = v0;
0x0001a00c lw a2, -0x7fd8(gp) | a2 = *(gp);
0x0001a010 lw t9, -0x7ccc(gp) | t9 = sym.imp.__fprintf_chk
| /* esilref: '/proc/stat' */
0x0001a014 addiu a3, s2, 0x3248 | a3 = s2 + 0x3248;
| /* str.Cannot_open__s:__s_n */
0x0001a018 addiu a2, a2, 0x2ecc | a2 += 0x2ecc;
0x0001a01c addiu a1, zero, 1 | a1 = 1;
0x0001a020 jalr t9 | t9 ();
0x0001a024 lw gp, 0x38(sp) | gp = *(var_38h);
0x0001a028 lw t9, -0x7c54(gp) | t9 = sym.imp.exit;
0x0001a02c addiu a0, zero, 2 | a0 = 2;
0x0001a030 jalr t9 | t9 ();
0x0001a034 lui gp, 2 |
0x0001a038 addiu gp, gp, 0x3b1c |
0x0001a03c addu gp, gp, t9 | gp += t9;
0x0001a040 lw v0, -0x7bf8(gp) | v0 = *((gp - 7934));
0x0001a044 addiu sp, sp, -0x2058 |
0x0001a048 lw t9, -0x7be4(gp) | t9 = sym.imp.fopen;
0x0001a04c sw s4, 0x2040(sp) | *(arg_2040h) = s4;
0x0001a050 sw s3, 0x203c(sp) | *(arg_203ch) = s3;
0x0001a054 sw v0, 0x1c(sp) | *(var_1ch) = v0;
0x0001a058 move s3, a0 | s3 = a0;
0x0001a05c lw v0, (v0) | v0 = *(v0);
0x0001a060 lw a0, -0x7fd8(gp) | a0 = *(gp);
0x0001a064 move s4, a1 | s4 = a1;
0x0001a068 lw a1, -0x7fd8(gp) | a1 = *(gp);
0x0001a06c sw gp, 0x10(sp) | *(var_10h) = gp;
0x0001a070 sw ra, 0x2054(sp) | *(arg_2054h) = ra;
0x0001a074 sw fp, 0x2050(sp) | *(arg_2050h) = fp;
0x0001a078 sw s7, 0x204c(sp) | *(arg_204ch) = s7;
0x0001a07c sw s6, 0x2048(sp) | *(arg_2048h) = s6;
0x0001a080 sw s5, 0x2044(sp) | *(arg_2044h) = s5;
0x0001a084 sw s2, 0x2038(sp) | *(arg_2038h) = s2;
0x0001a088 sw s1, 0x2034(sp) | *(arg_2034h) = s1;
0x0001a08c sw s0, 0x2030(sp) | *(arg_2030h) = s0;
| /* esilref: '/proc/stat' */
0x0001a090 addiu a0, a0, 0x3248 | a0 += 0x3248;
0x0001a094 addiu a1, a1, 0x34ac | a1 += 0x34ac;
0x0001a098 sw v0, 0x202c(sp) | *(arg_202ch) = v0;
0x0001a09c jalr t9 | t9 ();
0x0001a0a0 nop |
0x0001a0a4 lw gp, 0x10(sp) | gp = *(var_10h);
| if (v0 == 0) {
0x0001a0a8 beqz v0, 0x1a220 | goto label_29;
| }
0x0001a0ac lw s1, -0x7fd8(gp) | s1 = *(gp);
0x0001a0b0 move s2, v0 | s2 = v0;
0x0001a0b4 addiu s0, sp, 0x2c | s0 = sp + 0x2c;
| /* str.intr_ */
0x0001a0b8 addiu s1, s1, 0x32cc | s1 += 0x32cc;
0x0001a0bc b 0x1a0dc |
| while (v0 != 0) {
0x0001a0c0 lw t9, -0x7cd8(gp) | t9 = sym.imp.strncmp;
0x0001a0c4 addiu a2, zero, 5 | a2 = 5;
0x0001a0c8 move a1, s1 | a1 = s1;
0x0001a0cc move a0, s0 | a0 = s0;
0x0001a0d0 jalr t9 | t9 ();
0x0001a0d4 lw gp, 0x10(sp) | gp = *(var_10h);
| if (v0 == 0) {
0x0001a0d8 beqz v0, 0x1a150 | goto label_30;
| }
0x0001a0dc lw t9, -0x7bfc(gp) | t9 = sym.imp.fgets;
0x0001a0e0 move a2, s2 | a2 = s2;
0x0001a0e4 addiu a1, zero, 0x2000 | a1 = 0x2000;
0x0001a0e8 move a0, s0 | a0 = s0;
0x0001a0ec jalr t9 | t9 ();
0x0001a0f0 lw gp, 0x10(sp) | gp = *(var_10h);
0x0001a0f4 bnez v0, 0x1a0c0 |
| }
0x0001a0f8 move s6, zero | s6 = 0;
| do {
| label_10:
0x0001a0fc lw t9, -0x7cc4(gp) | t9 = sym.imp.fclose;
0x0001a100 move a0, s2 | a0 = s2;
0x0001a104 jalr t9 | t9 ();
0x0001a108 lw gp, 0x10(sp) | gp = *(var_10h);
| label_12:
0x0001a10c lw v0, 0x1c(sp) | v0 = *(var_1ch);
0x0001a110 lw a0, 0x202c(sp) | a0 = *(arg_202ch);
0x0001a114 lw v1, (v0) | v1 = *(v0);
0x0001a118 move v0, s6 | v0 = s6;
| if (a0 != v1) {
0x0001a11c bne a0, v1, 0x1a230 | goto label_31;
| }
0x0001a120 lw ra, 0x2054(sp) | ra = *(arg_2054h);
0x0001a124 lw fp, 0x2050(sp) | fp = *(arg_2050h);
0x0001a128 lw s7, 0x204c(sp) | s7 = *(arg_204ch);
0x0001a12c lw s6, 0x2048(sp) | s6 = *(arg_2048h);
0x0001a130 lw s5, 0x2044(sp) | s5 = *(arg_2044h);
0x0001a134 lw s4, 0x2040(sp) | s4 = *(arg_2040h);
0x0001a138 lw s3, 0x203c(sp) | s3 = *(arg_203ch);
0x0001a13c lw s2, 0x2038(sp) | s2 = *(arg_2038h);
0x0001a140 lw s1, 0x2034(sp) | s1 = *(arg_2034h);
0x0001a144 lw s0, 0x2030(sp) | s0 = *(arg_2030h);
0x0001a148 addiu sp, sp, 0x2058 |
0x0001a14c jr ra | return v1;
| label_30:
0x0001a150 lw a1, -0x7fd8(gp) | a1 = *(gp);
0x0001a154 lw t9, -0x7c78(gp) | t9 = sym.imp.__isoc99_sscanf;
0x0001a158 addiu s1, sp, 0x31 | s1 = sp + 0x31;
0x0001a15c move a2, s3 | a2 = s3;
| /* esilref: '&llu' */
0x0001a160 addiu a1, a1, 0x32c4 | a1 += 0x32c4;
0x0001a164 move a0, s1 | a0 = s1;
0x0001a168 jalr t9 | t9 ();
0x0001a16c addiu v0, zero, 1 | v0 = 1;
0x0001a170 lw gp, 0x10(sp) | gp = *(var_10h);
| if (s4 == v0) {
0x0001a174 beq s4, v0, 0x1a228 | goto label_32;
| }
0x0001a178 lw s7, -0x7fd8(gp) | s7 = *(gp);
0x0001a17c lw t9, -0x7be0(gp) | t9 = sym.imp.strcspn;
0x0001a180 addiu a1, s7, 0x32d0 | a1 = s7 + 0x32d0;
0x0001a184 move a0, s1 | a0 = s1;
0x0001a188 jalr t9 | t9 ();
0x0001a18c lw gp, 0x10(sp) | gp = *(var_10h);
0x0001a190 addiu s1, v0, 5 | s1 = v0 + 5;
0x0001a194 addiu s3, s3, 8 | s3 += 8;
0x0001a198 lw fp, -0x7fd8(gp) | fp = *(gp);
0x0001a19c addiu s6, zero, 1 | s6 = 1;
0x0001a1a0 addiu s5, sp, 0x20 | s5 = sp + 0x20;
| /* esilref: ' &llu' */
0x0001a1a4 addiu fp, fp, 0x3288 | fp += 0x3288;
0x0001a1a8 addiu s7, s7, 0x32d0 | s7 += 0x32d0;
0x0001a1ac b 0x1a1f0 | goto label_33;
| label_11:
0x0001a1b0 lw v0, 0x20(sp) | v0 = *(var_20h_3);
0x0001a1b4 lw t9, -0x7be0(gp) | t9 = sym.imp.strcspn;
0x0001a1b8 addiu a0, s1, 1 | a0 = s1 + 1;
0x0001a1bc sw v1, 4(s3) | *((s3 + 1)) = v1;
0x0001a1c0 sw v0, (s3) | *(s3) = v0;
0x0001a1c4 move a1, s7 | a1 = s7;
0x0001a1c8 addu a0, s0, a0 | a0 = s0 + a0;
0x0001a1cc jalr t9 | t9 ();
0x0001a1d0 addiu v1, v0, 1 | v1 = v0 + 1;
0x0001a1d4 lw gp, 0x10(sp) | gp = *(var_10h);
0x0001a1d8 addiu s6, s6, 1 | s6++;
0x0001a1dc addu s1, s1, v1 | s1 += v1;
0x0001a1e0 blez v0, 0x1a0fc |
| } while (v0 <= 0);
0x0001a1e4 sltiu v0, s1, 0x1fff | v0 = (s1 < 0x1fff) ? 1 : 0;
0x0001a1e8 addiu s3, s3, 8 | s3 += 8;
| if (v0 == 0) {
0x0001a1ec beqz v0, 0x1a0fc | goto label_10;
| }
| label_33:
0x0001a1f0 lw t9, -0x7c78(gp) | t9 = sym.imp.__isoc99_sscanf;
0x0001a1f4 move a2, s5 | a2 = s5;
0x0001a1f8 move a1, fp | a1 = fp;
0x0001a1fc addu a0, s0, s1 | a0 = s0 + s1;
0x0001a200 jalr t9 | t9 ();
0x0001a204 lw gp, 0x10(sp) | gp = *(var_10h);
| if (v0 <= 0) {
0x0001a208 blez v0, 0x1a0fc | goto label_10;
| }
0x0001a20c slt v0, s6, s4 | v0 = (s6 < s4) ? 1 : 0;
0x0001a210 lw v1, 0x24(sp) | v1 = *(var_24h_4);
| if (v0 != 0) {
0x0001a214 bnez v0, 0x1a1b0 | goto label_11;
| }
0x0001a218 addiu s6, zero, -1 | s6 = -1;
0x0001a21c b 0x1a0fc | goto label_10;
| label_29:
0x0001a220 move s6, zero | s6 = 0;
0x0001a224 b 0x1a10c | goto label_12;
| label_32:
0x0001a228 addiu s6, zero, 1 | s6 = 1;
0x0001a22c b 0x1a0fc | goto label_10;
| label_31:
0x0001a230 lw t9, -0x7c10(gp) | t9 = sym.imp.__stack_chk_fail;
0x0001a234 jalr t9 | t9 ();
0x0001a238 nop |
0x0001a23c lui gp, 2 |
0x0001a240 addiu gp, gp, 0x3914 |
0x0001a244 addu gp, gp, t9 | gp += t9;
0x0001a248 addiu sp, sp, -0xc8 |
0x0001a24c lw a1, -0x7fd8(gp) | a1 = *(gp);
0x0001a250 sw s7, 0xbc(sp) | *(var_bch) = s7;
0x0001a254 lw s7, -0x7bf8(gp) | s7 = *((gp - 7934));
0x0001a258 sw s3, 0xac(sp) | *(var_ach) = s3;
0x0001a25c move s3, a0 | s3 = a0;
0x0001a260 lw v0, (s7) | v0 = *(s7);
0x0001a264 lw a0, -0x7fd8(gp) | a0 = *(gp);
0x0001a268 lw t9, -0x7be4(gp) | t9 = sym.imp.fopen;
0x0001a26c sw gp, 0x10(sp) | *(var_10h_2) = gp;
0x0001a270 sw ra, 0xc4(sp) | *(var_c4h) = ra;
0x0001a274 sw fp, 0xc0(sp) | *(var_c0h) = fp;
0x0001a278 sw s6, 0xb8(sp) | *(var_b8h) = s6;
0x0001a27c sw s5, 0xb4(sp) | *(var_b4h) = s5;
0x0001a280 sw s4, 0xb0(sp) | *(var_b0h) = s4;
0x0001a284 sw s2, 0xa8(sp) | *(var_a8h) = s2;
0x0001a288 sw s1, 0xa4(sp) | *(var_a4h) = s1;
0x0001a28c sw s0, 0xa0(sp) | *(var_a0h) = s0;
0x0001a290 addiu a1, a1, 0x34ac | a1 += 0x34ac;
| /* str._proc_meminfo */
0x0001a294 addiu a0, a0, 0x32d4 | a0 += 0x32d4;
0x0001a298 sw v0, 0x9c(sp) | *(var_9ch) = v0;
0x0001a29c jalr t9 | t9 ();
0x0001a2a0 nop |
0x0001a2a4 lw gp, 0x10(sp) | gp = *(var_10h_2);
| if (v0 == 0) {
0x0001a2a8 beqz v0, 0x1a65c | goto label_34;
| }
0x0001a2ac lw s2, -0x7fd8(gp) | s2 = *(gp);
0x0001a2b0 lw s4, -0x7fd8(gp) | s4 = *(gp);
0x0001a2b4 lw s5, -0x7fd8(gp) | s5 = *(gp);
0x0001a2b8 lw s6, -0x7fd8(gp) | s6 = *(gp);
0x0001a2bc lw fp, -0x7fd8(gp) | fp = *(gp);
0x0001a2c0 move s1, v0 | s1 = v0;
0x0001a2c4 addiu s0, sp, 0x1c | s0 = sp + 0x1c;
| /* str.MemTotal: */
0x0001a2c8 addiu s2, s2, 0x32e4 | s2 += 0x32e4;
| /* str.MemFree: */
0x0001a2cc addiu s4, s4, 0x32f0 | s4 += 0x32f0;
| /* str.Buffers: */
0x0001a2d0 addiu s5, s5, 0x330c | s5 += 0x330c;
| do {
| label_13:
0x0001a2d4 lw t9, -0x7bfc(gp) | t9 = sym.imp.fgets;
0x0001a2d8 move a2, s1 | a2 = s1;
0x0001a2dc addiu a1, zero, 0x80 | a1 = 0x80;
0x0001a2e0 move a0, s0 | a0 = s0;
0x0001a2e4 jalr t9 | t9 ();
0x0001a2e8 lw gp, 0x10(sp) | gp = *(var_10h_2);
| if (v0 == 0) {
0x0001a2ec beqz v0, 0x1a554 | goto label_35;
| }
| label_14:
0x0001a2f0 lw t9, -0x7cd8(gp) | t9 = sym.imp.strncmp;
0x0001a2f4 addiu a2, zero, 9 | a2 = 9;
0x0001a2f8 move a1, s2 | a1 = s2;
0x0001a2fc move a0, s0 | a0 = s0;
0x0001a300 jalr t9 | t9 ();
0x0001a304 lw gp, 0x10(sp) | gp = *(var_10h_2);
| if (v0 == 0) {
0x0001a308 beqz v0, 0x1a51c | goto label_36;
| }
0x0001a30c lw t9, -0x7cd8(gp) | t9 = sym.imp.strncmp;
0x0001a310 addiu a2, zero, 8 | a2 = 8;
0x0001a314 move a1, s4 | a1 = s4;
0x0001a318 move a0, s0 | a0 = s0;
0x0001a31c jalr t9 | t9 ();
0x0001a320 lw gp, 0x10(sp) | gp = *(var_10h_2);
| if (v0 == 0) {
0x0001a324 beqz v0, 0x1a5a4 | goto label_37;
| }
0x0001a328 lw t9, -0x7cd8(gp) | t9 = sym.imp.strncmp;
0x0001a32c addiu a2, zero, 0xd | a2 = 0xd;
| /* str.MemAvailable: */
0x0001a330 addiu a1, s6, 0x32fc | a1 = s6 + 0x32fc;
0x0001a334 move a0, s0 | a0 = s0;
0x0001a338 jalr t9 | t9 ();
0x0001a33c lw gp, 0x10(sp) | gp = *(var_10h_2);
| if (v0 == 0) {
0x0001a340 beqz v0, 0x1a5c4 | goto label_38;
| }
0x0001a344 lw t9, -0x7cd8(gp) | t9 = sym.imp.strncmp;
0x0001a348 addiu a2, zero, 8 | a2 = 8;
0x0001a34c move a1, s5 | a1 = s5;
0x0001a350 move a0, s0 | a0 = s0;
0x0001a354 jalr t9 | t9 ();
0x0001a358 lw gp, 0x10(sp) | gp = *(var_10h_2);
| if (v0 == 0) {
0x0001a35c beqz v0, 0x1a5e4 | goto label_39;
| }
0x0001a360 lw t9, -0x7cd8(gp) | t9 = sym.imp.strncmp;
0x0001a364 addiu a2, zero, 7 | a2 = 7;
| /* esilref: 'Cached:' */
0x0001a368 addiu a1, fp, 0x331c | a1 = fp + 0x331c;
0x0001a36c move a0, s0 | a0 = s0;
0x0001a370 jalr t9 | t9 ();
0x0001a374 lw gp, 0x10(sp) | gp = *(var_10h_2);
| if (v0 == 0) {
0x0001a378 beqz v0, 0x1a5f0 | goto label_40;
| }
0x0001a37c lw a1, -0x7fd8(gp) | a1 = *(gp);
0x0001a380 lw t9, -0x7cd8(gp) | t9 = sym.imp.strncmp;
0x0001a384 addiu a2, zero, 0xb | a2 = 0xb;
| /* str.SwapCached: */
0x0001a388 addiu a1, a1, 0x3318 | a1 += 0x3318;
0x0001a38c move a0, s0 | a0 = s0;
0x0001a390 jalr t9 | t9 ();
0x0001a394 lw gp, 0x10(sp) | gp = *(var_10h_2);
| if (v0 == 0) {
0x0001a398 beqz v0, 0x1a610 | goto label_41;
| }
0x0001a39c lw a1, -0x7fd8(gp) | a1 = *(gp);
0x0001a3a0 lw t9, -0x7cd8(gp) | t9 = sym.imp.strncmp;
0x0001a3a4 addiu a2, zero, 7 | a2 = 7;
| /* str.Active: */
0x0001a3a8 addiu a1, a1, 0x3324 | a1 += 0x3324;
0x0001a3ac move a0, s0 | a0 = s0;
0x0001a3b0 jalr t9 | t9 ();
0x0001a3b4 lw gp, 0x10(sp) | gp = *(var_10h_2);
| if (v0 == 0) {
0x0001a3b8 beqz v0, 0x1a630 | goto label_42;
| }
0x0001a3bc lw a1, -0x7fd8(gp) | a1 = *(gp);
0x0001a3c0 lw t9, -0x7cd8(gp) | t9 = sym.imp.strncmp;
0x0001a3c4 addiu a2, zero, 9 | a2 = 9;
| /* str.Inactive: */
0x0001a3c8 addiu a1, a1, 0x332c | a1 += 0x332c;
0x0001a3cc move a0, s0 | a0 = s0;
0x0001a3d0 jalr t9 | t9 ();
0x0001a3d4 lw gp, 0x10(sp) | gp = *(var_10h_2);
| if (v0 == 0) {
0x0001a3d8 beqz v0, 0x1a664 | goto label_43;
| }
0x0001a3dc lw a1, -0x7fd8(gp) | a1 = *(gp);
0x0001a3e0 lw t9, -0x7cd8(gp) | t9 = sym.imp.strncmp;
0x0001a3e4 addiu a2, zero, 0xa | a2 = 0xa;
| /* str.SwapTotal: */
0x0001a3e8 addiu a1, a1, 0x3338 | a1 += 0x3338;
0x0001a3ec move a0, s0 | a0 = s0;
0x0001a3f0 jalr t9 | t9 ();
0x0001a3f4 lw gp, 0x10(sp) | gp = *(var_10h_2);
| if (v0 == 0) {
0x0001a3f8 beqz v0, 0x1a63c | goto label_44;
| }
0x0001a3fc lw a1, -0x7fd8(gp) | a1 = *(gp);
0x0001a400 lw t9, -0x7cd8(gp) | t9 = sym.imp.strncmp;
0x0001a404 addiu a2, zero, 9 | a2 = 9;
| /* str.SwapFree: */
0x0001a408 addiu a1, a1, 0x3344 | a1 += 0x3344;
0x0001a40c move a0, s0 | a0 = s0;
0x0001a410 jalr t9 | t9 ();
0x0001a414 lw gp, 0x10(sp) | gp = *(var_10h_2);
| if (v0 == 0) {
0x0001a418 beqz v0, 0x1a670 | goto label_45;
| }
0x0001a41c lw a1, -0x7fd8(gp) | a1 = *(gp);
0x0001a420 lw t9, -0x7cd8(gp) | t9 = sym.imp.strncmp;
0x0001a424 addiu a2, zero, 6 | a2 = 6;
| /* str.Dirty: */
0x0001a428 addiu a1, a1, 0x3350 | a1 += 0x3350;
0x0001a42c move a0, s0 | a0 = s0;
0x0001a430 jalr t9 | t9 ();
0x0001a434 lw gp, 0x10(sp) | gp = *(var_10h_2);
| if (v0 == 0) {
0x0001a438 beqz v0, 0x1a688 | goto label_46;
| }
0x0001a43c lw a1, -0x7fd8(gp) | a1 = *(gp);
0x0001a440 lw t9, -0x7cd8(gp) | t9 = sym.imp.strncmp;
0x0001a444 addiu a2, zero, 0xd | a2 = 0xd;
| /* str.Committed_AS: */
0x0001a448 addiu a1, a1, 0x3358 | a1 += 0x3358;
0x0001a44c move a0, s0 | a0 = s0;
0x0001a450 jalr t9 | t9 ();
0x0001a454 lw gp, 0x10(sp) | gp = *(var_10h_2);
| if (v0 == 0) {
0x0001a458 beqz v0, 0x1a6a8 | goto label_47;
| }
0x0001a45c lw a1, -0x7fd8(gp) | a1 = *(gp);
0x0001a460 lw t9, -0x7cd8(gp) | t9 = sym.imp.strncmp;
0x0001a464 addiu a2, zero, 0xa | a2 = 0xa;
| /* str.AnonPages: */
0x0001a468 addiu a1, a1, 0x3368 | a1 += 0x3368;
0x0001a46c move a0, s0 | a0 = s0;
0x0001a470 jalr t9 | t9 ();
0x0001a474 lw gp, 0x10(sp) | gp = *(var_10h_2);
| if (v0 == 0) {
0x0001a478 beqz v0, 0x1a67c | goto label_48;
| }
0x0001a47c lw a1, -0x7fd8(gp) | a1 = *(gp);
0x0001a480 lw t9, -0x7cd8(gp) | t9 = sym.imp.strncmp;
0x0001a484 addiu a2, zero, 5 | a2 = 5;
| /* str.Slab: */
0x0001a488 addiu a1, a1, 0x3374 | a1 += 0x3374;
0x0001a48c move a0, s0 | a0 = s0;
0x0001a490 jalr t9 | t9 ();
0x0001a494 lw gp, 0x10(sp) | gp = *(var_10h_2);
| if (v0 == 0) {
0x0001a498 beqz v0, 0x1a6b4 | goto label_49;
| }
0x0001a49c lw a1, -0x7fd8(gp) | a1 = *(gp);
0x0001a4a0 lw t9, -0x7cd8(gp) | t9 = sym.imp.strncmp;
0x0001a4a4 addiu a2, zero, 0xc | a2 = 0xc;
| /* str.KernelStack: */
0x0001a4a8 addiu a1, a1, 0x337c | a1 += 0x337c;
0x0001a4ac move a0, s0 | a0 = s0;
0x0001a4b0 jalr t9 | t9 ();
0x0001a4b4 lw gp, 0x10(sp) | gp = *(var_10h_2);
| if (v0 == 0) {
0x0001a4b8 beqz v0, 0x1a6d4 | goto label_50;
| }
0x0001a4bc lw a1, -0x7fd8(gp) | a1 = *(gp);
0x0001a4c0 lw t9, -0x7cd8(gp) | t9 = sym.imp.strncmp;
0x0001a4c4 addiu a2, zero, 0xb | a2 = 0xb;
| /* str.PageTables: */
0x0001a4c8 addiu a1, a1, 0x338c | a1 += 0x338c;
0x0001a4cc move a0, s0 | a0 = s0;
0x0001a4d0 jalr t9 | t9 ();
0x0001a4d4 lw gp, 0x10(sp) | gp = *(var_10h_2);
| if (v0 == 0) {
0x0001a4d8 beqz v0, 0x1a6e0 | goto label_51;
| }
0x0001a4dc lw a1, -0x7fd8(gp) | a1 = *(gp);
0x0001a4e0 lw t9, -0x7cd8(gp) | t9 = sym.imp.strncmp;
0x0001a4e4 addiu a2, zero, 0xc | a2 = 0xc;
| /* str.VmallocUsed: */
0x0001a4e8 addiu a1, a1, 0x3398 | a1 += 0x3398;
0x0001a4ec move a0, s0 | a0 = s0;
0x0001a4f0 jalr t9 | t9 ();
0x0001a4f4 lw gp, 0x10(sp) | gp = *(var_10h_2);
0x0001a4f8 bnez v0, 0x1a2d4 |
| } while (v0 != 0);
0x0001a4fc lw t9, -0x7c78(gp) | t9 = sym.imp.__isoc99_sscanf;
0x0001a500 addiu a2, s3, 0x78 | a2 = s3 + 0x78;
| label_18:
0x0001a504 lw a1, -0x7fd8(gp) | a1 = *(gp);
0x0001a508 addiu a0, sp, 0x28 | a0 = sp + 0x28;
| /* esilref: '&llu' */
0x0001a50c addiu a1, a1, 0x32c4 | a1 += 0x32c4;
0x0001a510 jalr t9 | t9 ();
0x0001a514 lw gp, 0x10(sp) | gp = *(var_10h_2);
0x0001a518 b 0x1a2d4 | goto label_13;
| label_36:
0x0001a51c lw t9, -0x7c78(gp) | t9 = sym.imp.__isoc99_sscanf;
0x0001a520 addiu a2, s3, 0x18 | a2 = s3 + 0x18;
| label_16:
0x0001a524 lw a1, -0x7fd8(gp) | a1 = *(gp);
0x0001a528 addiu a0, sp, 0x25 | a0 = sp + 0x25;
| /* esilref: '&llu' */
0x0001a52c addiu a1, a1, 0x32c4 | a1 += 0x32c4;
0x0001a530 jalr t9 | t9 ();
0x0001a534 lw gp, 0x10(sp) | gp = *(var_10h_2);
0x0001a538 move a2, s1 | a2 = s1;
0x0001a53c addiu a1, zero, 0x80 | a1 = 0x80;
0x0001a540 lw t9, -0x7bfc(gp) | t9 = sym.imp.fgets;
0x0001a544 move a0, s0 | a0 = s0;
0x0001a548 jalr t9 | t9 ();
0x0001a54c lw gp, 0x10(sp) | gp = *(var_10h_2);
| if (v0 != 0) {
0x0001a550 bnez v0, 0x1a2f0 | goto label_14;
| }
| label_35:
0x0001a554 lw t9, -0x7cc4(gp) | t9 = sym.imp.fclose;
0x0001a558 move a0, s1 | a0 = s1;
0x0001a55c jalr t9 | t9 ();
0x0001a560 lw gp, 0x10(sp) | gp = *(var_10h_2);
0x0001a564 addiu v0, zero, 1 | v0 = 1;
| label_15:
0x0001a568 lw a0, 0x9c(sp) | a0 = *(var_9ch);
0x0001a56c lw v1, (s7) | v1 = *(s7);
0x0001a570 lw ra, 0xc4(sp) | ra = *(var_c4h);
| if (a0 != v1) {
0x0001a574 bne a0, v1, 0x1a6ec | goto label_52;
| }
0x0001a578 lw fp, 0xc0(sp) | fp = *(var_c0h);
0x0001a57c lw s7, 0xbc(sp) | s7 = *(var_bch);
0x0001a580 lw s6, 0xb8(sp) | s6 = *(var_b8h);
0x0001a584 lw s5, 0xb4(sp) | s5 = *(var_b4h);
0x0001a588 lw s4, 0xb0(sp) | s4 = *(var_b0h);
0x0001a58c lw s3, 0xac(sp) | s3 = *(var_ach);
0x0001a590 lw s2, 0xa8(sp) | s2 = *(var_a8h);
0x0001a594 lw s1, 0xa4(sp) | s1 = *(var_a4h);
0x0001a598 lw s0, 0xa0(sp) | s0 = *(var_a0h);
0x0001a59c addiu sp, sp, 0xc8 |
0x0001a5a0 jr ra | return v1;
| label_37:
0x0001a5a4 lw t9, -0x7c78(gp) | t9 = sym.imp.__isoc99_sscanf;
0x0001a5a8 move a2, s3 | a2 = s3;
| do {
0x0001a5ac lw a1, -0x7fd8(gp) | a1 = *(gp);
0x0001a5b0 addiu a0, sp, 0x24 | a0 = sp + 0x24;
| /* esilref: '&llu' */
0x0001a5b4 addiu a1, a1, 0x32c4 | a1 += 0x32c4;
0x0001a5b8 jalr t9 | t9 ();
0x0001a5bc lw gp, 0x10(sp) | gp = *(var_10h_2);
0x0001a5c0 b 0x1a2d4 | goto label_13;
| label_38:
0x0001a5c4 lw t9, -0x7c78(gp) | t9 = sym.imp.__isoc99_sscanf;
0x0001a5c8 addiu a2, s3, 0x80 | a2 = s3 + 0x80;
| label_17:
0x0001a5cc lw a1, -0x7fd8(gp) | a1 = *(gp);
0x0001a5d0 addiu a0, sp, 0x29 | a0 = sp + 0x29;
| /* esilref: '&llu' */
0x0001a5d4 addiu a1, a1, 0x32c4 | a1 += 0x32c4;
0x0001a5d8 jalr t9 | t9 ();
0x0001a5dc lw gp, 0x10(sp) | gp = *(var_10h_2);
0x0001a5e0 b 0x1a2d4 | goto label_13;
| label_39:
0x0001a5e4 lw t9, -0x7c78(gp) | t9 = sym.imp.__isoc99_sscanf;
0x0001a5e8 addiu a2, s3, 8 | a2 = s3 + 8;
0x0001a5ec b 0x1a5ac |
| } while (1);
| label_40:
0x0001a5f0 lw t9, -0x7c78(gp) | t9 = sym.imp.__isoc99_sscanf;
0x0001a5f4 addiu a2, s3, 0x10 | a2 = s3 + 0x10;
| do {
0x0001a5f8 lw a1, -0x7fd8(gp) | a1 = *(gp);
0x0001a5fc addiu a0, sp, 0x23 | a0 = sp + 0x23;
| /* esilref: '&llu' */
0x0001a600 addiu a1, a1, 0x32c4 | a1 += 0x32c4;
0x0001a604 jalr t9 | t9 ();
0x0001a608 lw gp, 0x10(sp) | gp = *(var_10h_2);
0x0001a60c b 0x1a2d4 | goto label_13;
| label_41:
0x0001a610 lw t9, -0x7c78(gp) | t9 = sym.imp.__isoc99_sscanf;
0x0001a614 addiu a2, s3, 0x30 | a2 = s3 + 0x30;
| label_19:
0x0001a618 lw a1, -0x7fd8(gp) | a1 = *(gp);
0x0001a61c addiu a0, sp, 0x27 | a0 = sp + 0x27;
| /* esilref: '&llu' */
0x0001a620 addiu a1, a1, 0x32c4 | a1 += 0x32c4;
0x0001a624 jalr t9 | t9 ();
0x0001a628 lw gp, 0x10(sp) | gp = *(var_10h_2);
0x0001a62c b 0x1a2d4 | goto label_13;
| label_42:
0x0001a630 lw t9, -0x7c78(gp) | t9 = sym.imp.__isoc99_sscanf;
0x0001a634 addiu a2, s3, 0x40 | a2 = s3 + 0x40;
0x0001a638 b 0x1a5f8 |
| } while (1);
| label_44:
0x0001a63c lw t9, -0x7c78(gp) | t9 = sym.imp.__isoc99_sscanf;
0x0001a640 addiu a2, s3, 0x28 | a2 = s3 + 0x28;
| do {
0x0001a644 lw a1, -0x7fd8(gp) | a1 = *(gp);
0x0001a648 addiu a0, sp, 0x26 | a0 = sp + 0x26;
| /* esilref: '&llu' */
0x0001a64c addiu a1, a1, 0x32c4 | a1 += 0x32c4;
0x0001a650 jalr t9 | t9 ();
0x0001a654 lw gp, 0x10(sp) | gp = *(var_10h_2);
0x0001a658 b 0x1a2d4 | goto label_13;
| label_34:
0x0001a65c move v0, zero | v0 = 0;
0x0001a660 b 0x1a568 | goto label_15;
| label_43:
0x0001a664 lw t9, -0x7c78(gp) | t9 = sym.imp.__isoc99_sscanf;
0x0001a668 addiu a2, s3, 0x48 | a2 = s3 + 0x48;
0x0001a66c b 0x1a524 | goto label_16;
| label_45:
0x0001a670 lw t9, -0x7c78(gp) | t9 = sym.imp.__isoc99_sscanf;
0x0001a674 addiu a2, s3, 0x20 | a2 = s3 + 0x20;
0x0001a678 b 0x1a524 | goto label_16;
| label_48:
0x0001a67c lw t9, -0x7c78(gp) | t9 = sym.imp.__isoc99_sscanf;
0x0001a680 addiu a2, s3, 0x58 | a2 = s3 + 0x58;
0x0001a684 b 0x1a644 |
| } while (1);
| label_46:
0x0001a688 lw a1, -0x7fd8(gp) | a1 = *(gp);
0x0001a68c lw t9, -0x7c78(gp) | t9 = sym.imp.__isoc99_sscanf;
0x0001a690 addiu a2, s3, 0x50 | a2 = s3 + 0x50;
| /* esilref: '&llu' */
0x0001a694 addiu a1, a1, 0x32c4 | a1 += 0x32c4;
0x0001a698 addiu a0, sp, 0x22 | a0 = sp + 0x22;
0x0001a69c jalr t9 | t9 ();
0x0001a6a0 lw gp, 0x10(sp) | gp = *(var_10h_2);
0x0001a6a4 b 0x1a2d4 | goto label_13;
| label_47:
0x0001a6a8 lw t9, -0x7c78(gp) | t9 = sym.imp.__isoc99_sscanf;
0x0001a6ac addiu a2, s3, 0x38 | a2 = s3 + 0x38;
0x0001a6b0 b 0x1a5cc | goto label_17;
| label_49:
0x0001a6b4 lw a1, -0x7fd8(gp) | a1 = *(gp);
0x0001a6b8 lw t9, -0x7c78(gp) | t9 = sym.imp.__isoc99_sscanf;
0x0001a6bc addiu a2, s3, 0x60 | a2 = s3 + 0x60;
| /* esilref: '&llu' */
0x0001a6c0 addiu a1, a1, 0x32c4 | a1 += 0x32c4;
0x0001a6c4 addiu a0, sp, 0x21 | a0 = sp + 0x21;
0x0001a6c8 jalr t9 | t9 ();
0x0001a6cc lw gp, 0x10(sp) | gp = *(var_10h_2);
0x0001a6d0 b 0x1a2d4 | goto label_13;
| label_50:
0x0001a6d4 lw t9, -0x7c78(gp) | t9 = sym.imp.__isoc99_sscanf;
0x0001a6d8 addiu a2, s3, 0x68 | a2 = s3 + 0x68;
0x0001a6dc b 0x1a504 | goto label_18;
| label_51:
0x0001a6e0 lw t9, -0x7c78(gp) | t9 = sym.imp.__isoc99_sscanf;
0x0001a6e4 addiu a2, s3, 0x70 | a2 = s3 + 0x70;
0x0001a6e8 b 0x1a618 | goto label_19;
| label_52:
0x0001a6ec lw t9, -0x7c10(gp) | t9 = sym.imp.__stack_chk_fail;
0x0001a6f0 jalr t9 | t9 ();
0x0001a6f4 nop |
0x0001a6f8 lui gp, 2 |
0x0001a6fc addiu gp, gp, 0x3458 |
0x0001a700 addu gp, gp, t9 | gp += t9;
0x0001a704 addiu sp, sp, -0xc0 |
0x0001a708 lw a1, -0x7fd8(gp) | a1 = *(gp);
0x0001a70c sw s1, 0xac(sp) | *(var_ach_2) = s1;
0x0001a710 lw s1, -0x7bf8(gp) | s1 = *((gp - 7934));
0x0001a714 sw s2, 0xb0(sp) | *(var_b0h_2) = s2;
0x0001a718 lw s2, -0x7fd8(gp) | s2 = *(gp);
0x0001a71c lw v0, (s1) | v0 = *(s1);
0x0001a720 lw t9, -0x7be4(gp) | t9 = sym.imp.fopen;
0x0001a724 sw gp, 0x10(sp) | *(var_10h_3) = gp;
0x0001a728 sw s3, 0xb4(sp) | *(var_b4h_2) = s3;
0x0001a72c sw ra, 0xbc(sp) | *(var_bch_2) = ra;
0x0001a730 sw s4, 0xb8(sp) | *(var_b8h_2) = s4;
0x0001a734 sw s0, 0xa8(sp) | *(var_a8h_2) = s0;
0x0001a738 move s3, a0 | s3 = a0;
0x0001a73c addiu a1, a1, 0x34ac | a1 += 0x34ac;
| /* str._proc_uptime */
0x0001a740 addiu a0, s2, 0x33a8 | a0 = s2 + 0x33a8;
0x0001a744 sw v0, 0xa4(sp) | *(var_a4h_2) = v0;
0x0001a748 jalr t9 | t9 ();
0x0001a74c nop |
0x0001a750 lw gp, 0x10(sp) | gp = *(var_10h_3);
| if (v0 != 0) {
0x0001a754 beqz v0, 0x1a7b4 |
0x0001a758 lw t9, -0x7bfc(gp) | t9 = sym.imp.fgets;
0x0001a75c addiu s4, sp, 0x24 | s4 = sp + 0x24;
0x0001a760 move a2, v0 | a2 = v0;
0x0001a764 addiu a1, zero, 0x80 | a1 = 0x80;
0x0001a768 move a0, s4 | a0 = s4;
0x0001a76c move s0, v0 | s0 = v0;
0x0001a770 jalr t9 | t9 ();
0x0001a774 lw gp, 0x10(sp) | gp = *(var_10h_3);
| if (v0 != 0) {
0x0001a778 beqz v0, 0x1a7a4 |
0x0001a77c lw a1, -0x7fd8(gp) | a1 = *(gp);
0x0001a780 lw t9, -0x7c78(gp) | t9 = sym.imp.__isoc99_sscanf;
0x0001a784 addiu a3, sp, 0x20 | a3 = sp + 0x20;
0x0001a788 addiu a2, sp, 0x1c | a2 = sp + 0x1c;
| /* str._lu._lu */
0x0001a78c addiu a1, a1, 0x33b8 | a1 += 0x33b8;
0x0001a790 move a0, s4 | a0 = s4;
0x0001a794 jalr t9 | t9 ();
0x0001a798 addiu v1, zero, 2 | v1 = 2;
0x0001a79c lw gp, 0x10(sp) | gp = *(var_10h_3);
| if (v0 == v1) {
0x0001a7a0 beq v0, v1, 0x1a7e4 | goto label_53;
| }
| }
0x0001a7a4 lw t9, -0x7cc4(gp) | t9 = sym.imp.fclose;
0x0001a7a8 move a0, s0 | a0 = s0;
0x0001a7ac jalr t9 | t9 ();
0x0001a7b0 lw gp, 0x10(sp) | gp = *(var_10h_3);
| }
0x0001a7b4 lw v0, -0x7be8(gp) | v0 = *((gp - 7930));
0x0001a7b8 lw a2, -0x7fd8(gp) | a2 = *(gp);
0x0001a7bc lw t9, -0x7ccc(gp) | t9 = sym.imp.__fprintf_chk
0x0001a7c0 lw a0, (v0) | a0 = *(v0);
| /* str._proc_uptime */
0x0001a7c4 addiu a3, s2, 0x33a8 | a3 = s2 + 0x33a8;
| /* str.Cannot_read__s_n */
0x0001a7c8 addiu a2, a2, 0x33c0 | a2 += 0x33c0;
0x0001a7cc addiu a1, zero, 1 | a1 = 1;
0x0001a7d0 jalr t9 | t9 ();
0x0001a7d4 lw gp, 0x10(sp) | gp = *(var_10h_3);
0x0001a7d8 lw t9, -0x7c54(gp) | t9 = sym.imp.exit;
0x0001a7dc addiu a0, zero, 2 | a0 = 2;
0x0001a7e0 jalr t9 | t9 ();
| label_53:
0x0001a7e4 lw v0, 0x20(sp) | v0 = *(var_20h);
0x0001a7e8 move v1, zero | v1 = 0;
0x0001a7ec mtlo v0 | __asm ("mtlo v0");
0x0001a7f0 lw a1, 0x1c(sp) | a1 = *(var_1ch_2);
0x0001a7f4 mthi v1 | __asm ("mthi v1");
0x0001a7f8 addiu a0, zero, 0x64 | a0 = 0x64;
0x0001a7fc maddu a1, a0 | __asm ("maddu a1, a0");
0x0001a800 mfhi v1 | __asm ("mfhi v1");
0x0001a804 mflo v0 | __asm ("mflo v0");
0x0001a808 lw t9, -0x7cc4(gp) | t9 = sym.imp.fclose;
0x0001a80c move a0, s0 | a0 = s0;
0x0001a810 sw v1, 4(s3) | *((s3 + 1)) = v1;
0x0001a814 sw v0, (s3) | *(s3) = v0;
0x0001a818 jalr t9 | t9 ();
0x0001a81c lw v1, 0xa4(sp) | v1 = *(var_a4h_2);
0x0001a820 lw v0, (s1) | v0 = *(s1);
0x0001a824 lw gp, 0x10(sp) | gp = *(var_10h_3);
| if (v1 == v0) {
0x0001a828 bne v1, v0, 0x1a84c |
0x0001a82c lw ra, 0xbc(sp) | ra = *(var_bch_2);
0x0001a830 lw s4, 0xb8(sp) | s4 = *(var_b8h_2);
0x0001a834 lw s3, 0xb4(sp) | s3 = *(var_b4h_2);
0x0001a838 lw s2, 0xb0(sp) | s2 = *(var_b0h_2);
0x0001a83c lw s1, 0xac(sp) | s1 = *(var_ach_2);
0x0001a840 lw s0, 0xa8(sp) | s0 = *(var_a8h_2);
0x0001a844 addiu sp, sp, 0xc0 |
0x0001a848 jr ra | return v1;
| }
0x0001a84c lw t9, -0x7c10(gp) | t9 = sym.imp.__stack_chk_fail;
0x0001a850 jalr t9 | t9 ();
0x0001a854 nop |
| }
; assembly | /* r2dec pseudo code output */
| /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/bin/sar @ 0x3460 */
| #include <stdint.h>
|
; (fcn) main () | int32_t main () {
| /* [13] -r-x section size 122176 named .text */
0x00003460 lui gp, 4 |
0x00003464 addiu gp, gp, -0x5910 |
0x00003468 addu gp, gp, t9 | gp += t9;
0x0000346c lw v0, -0x7bf8(gp) | v0 = *((gp - 7934));
0x00003470 addiu sp, sp, -0x878 |
0x00003474 lw t9, -0x7f0c(gp) | t9 = sym.get_kb_shift;
0x00003478 sw v0, 0x30(sp) | *(var_30h) = v0;
0x0000347c lw v0, (v0) | v0 = *(v0);
0x00003480 sw ra, 0x874(sp) | *(var_874h) = ra;
0x00003484 sw v0, 0x84c(sp) | *(var_84ch) = v0;
0x00003488 addiu v0, zero, 1 | v0 = 1;
0x0000348c sw v0, 0x40(sp) | *(var_40h) = v0;
0x00003490 sw gp, 0x18(sp) | *(var_18h) = gp;
0x00003494 sw fp, 0x870(sp) | *(var_870h) = fp;
0x00003498 sw s7, 0x86c(sp) | *(var_86ch) = s7;
0x0000349c sw s6, 0x868(sp) | *(var_868h) = s6;
0x000034a0 sw s5, 0x864(sp) | *(var_864h) = s5;
0x000034a4 sw s4, 0x860(sp) | *(var_860h) = s4;
0x000034a8 sw s3, 0x85c(sp) | *(var_85ch) = s3;
0x000034ac sw s2, 0x858(sp) | *(var_858h) = s2;
0x000034b0 sw s1, 0x854(sp) | *(var_854h) = s1;
0x000034b4 sw s0, 0x850(sp) | *(var_850h) = s0;
0x000034b8 move s4, a0 | s4 = a0;
0x000034bc move s3, a1 | s3 = a1;
0x000034c0 bal 0x1b154 | sym_get_kb_shift ();
0x000034c4 lw gp, 0x18(sp) | gp = *(var_18h);
0x000034c8 sb zero, 0x24c(sp) | *(var_24ch) = 0;
0x000034cc sb zero, 0x4c(sp) | *(var_4ch) = 0;
0x000034d0 lw s0, -0x7f88(gp) | s0 = *(gp);
0x000034d4 lw s1, -0x7f90(gp) | s1 = *(gp);
0x000034d8 lw t9, -0x7f08(gp) | t9 = sym.init_colors;
0x000034dc sw s0, 0x34(sp) | *(var_34h) = s0;
0x000034e0 sw s1, 0x28(sp) | *(var_28h) = s1;
0x000034e4 bal 0x1c520 | sym_init_colors ();
0x000034e8 lw gp, 0x18(sp) | gp = *(var_18h);
0x000034ec sw zero, 0xc(s0) | *((s0 + 3)) = 0;
0x000034f0 lw t9, -0x7f04(gp) | t9 = sym.allocate_bitmaps;
0x000034f4 lw a0, -0x7fc8(gp) | a0 = *(gp);
0x000034f8 sw zero, 0xc(s1) | *((s1 + 3)) = 0;
0x000034fc bal 0x8534 | sym_allocate_bitmaps ();
0x00003500 lw gp, 0x18(sp) | gp = *(var_18h);
0x00003504 lw s2, 0x40(sp) | s2 = *(var_40h);
0x00003508 sw zero, 0x2c(sp) | *(var_2ch) = 0;
0x0000350c lw v0, -0x7fd4(gp) | v0 = *(gp);
0x00003510 lw s5, -0x7fd8(gp) | s5 = *(gp);
0x00003514 lw s6, -0x7fd8(gp) | s6 = *(gp);
0x00003518 sw zero, (v0) | *(v0) = 0;
0x0000351c sw zero, 4(v0) | *((v0 + 1)) = 0;
0x00003520 sw zero, 8(v0) | *((v0 + 2)) = 0;
0x00003524 sw zero, 0xc(v0) | *((v0 + 3)) = 0;
0x00003528 sw zero, 0x10(v0) | *((v0 + 4)) = 0;
0x0000352c sw zero, 0x14(v0) | *((v0 + 5)) = 0;
0x00003530 sw zero, 0x18(v0) | *((v0 + 6)) = 0;
0x00003534 sw zero, 0x1c(v0) | *((v0 + 7)) = 0;
0x00003538 sw zero, 0x20(v0) | *((v0 + 8)) = 0;
0x0000353c sw zero, 0x24(v0) | *((v0 + 9)) = 0;
0x00003540 sw zero, 0x28(v0) | *((v0 + 10)) = 0;
0x00003544 sw zero, 0x2c(v0) | *((v0 + 11)) = 0;
0x00003548 sw zero, 0x30(v0) | *((v0 + 12)) = 0;
0x0000354c sw zero, 0x34(v0) | *((v0 + 13)) = 0;
0x00003550 sw zero, 0x38(v0) | *((v0 + 14)) = 0;
0x00003554 sw zero, 0x3c(v0) | *((v0 + 15)) = 0;
0x00003558 sw zero, 0x40(v0) | *((v0 + 16)) = 0;
0x0000355c sw zero, 0x44(v0) | *((v0 + 17)) = 0;
0x00003560 lw fp, -0x7fd8(gp) | fp = *(gp);
0x00003564 lw v0, -0x7fd8(gp) | v0 = *(gp);
0x00003568 lw s7, -0x7fd8(gp) | s7 = *(gp);
| /* str.__sadc */
0x0000356c addiu s5, s5, 0x20b8 | s5 += 0x20b8;
| /* str.__dev */
0x00003570 addiu s6, s6, 0x20c0 | s6 += 0x20c0;
| /* str.__iface */
0x00003574 addiu fp, fp, 0x20d0 | fp += 0x20d0;
0x00003578 sw v0, 0x24(sp) | *(var_24h) = v0;
| label_0:
0x0000357c slt v0, s2, s4 | v0 = (s2 < s4) ? 1 : 0;
0x00003580 addiu v0, zero, 1 | v0 = 1;
| if (v0 == 0) {
0x00003584 beqz v0, 0x3664 | goto label_22;
| }
0x00003588 sll s1, s2, 2 | s1 = s2 << 2;
| do {
0x0000358c addu s1, s3, s1 | s1 = s3 + s1;
0x00003590 lw t9, -0x7bd0(gp) | t9 = sym.imp.strcmp;
0x00003594 lw s0, (s1) | s0 = *(s1);
0x00003598 move a1, s5 | a1 = s5;
0x0000359c move a0, s0 | a0 = s0;
0x000035a0 jalr t9 | t9 ();
0x000035a4 lw gp, 0x18(sp) | gp = *(var_18h);
| if (v0 == 0) {
0x000035a8 beqz v0, 0x421c | goto label_23;
| }
0x000035ac lw t9, -0x7cd8(gp) | t9 = sym.imp.strncmp;
0x000035b0 addiu a2, zero, 6 | a2 = 6;
0x000035b4 move a1, s6 | a1 = s6;
0x000035b8 move a0, s0 | a0 = s0;
0x000035bc jalr t9 | t9 ();
0x000035c0 lw gp, 0x18(sp) | gp = *(var_18h);
| if (v0 == 0) {
0x000035c4 beqz v0, 0x3848 | goto label_24;
| }
0x000035c8 lw t9, -0x7cd8(gp) | t9 = sym.imp.strncmp;
0x000035cc addiu a2, zero, 5 | a2 = 5;
| /* str.__fs */
0x000035d0 addiu a1, s7, 0x20c8 | a1 = s7 + 0x20c8;
0x000035d4 move a0, s0 | a0 = s0;
0x000035d8 jalr t9 | t9 ();
0x000035dc lw gp, 0x18(sp) | gp = *(var_18h);
| if (v0 == 0) {
0x000035e0 beqz v0, 0x389c | goto label_25;
| }
0x000035e4 lw t9, -0x7cd8(gp) | t9 = sym.imp.strncmp;
0x000035e8 addiu a2, zero, 8 | a2 = 8;
0x000035ec move a1, fp | a1 = fp;
0x000035f0 move a0, s0 | a0 = s0;
0x000035f4 jalr t9 | t9 ();
0x000035f8 lw gp, 0x18(sp) | gp = *(var_18h);
| if (v0 == 0) {
0x000035fc beqz v0, 0x3964 | goto label_26;
| }
0x00003600 lw v0, 0x24(sp) | v0 = *(var_24h);
0x00003604 lw t9, -0x7bd0(gp) | t9 = sym.imp.strcmp;
0x00003608 addiu a1, v0, 0x20dc | a1 = v0 + 0x20dc;
0x0000360c move a0, s0 | a0 = s0;
0x00003610 jalr t9 | t9 ();
0x00003614 lw gp, 0x18(sp) | gp = *(var_18h);
| if (v0 == 0) {
0x00003618 beqz v0, 0x4270 | goto label_27;
| }
0x0000361c lw a1, -0x7fd8(gp) | a1 = *(gp);
0x00003620 lw t9, -0x7bd0(gp) | t9 = sym.imp.strcmp;
| /* str.__human */
0x00003624 addiu a1, a1, 0x20e4 | a1 += 0x20e4;
0x00003628 move a0, s0 | a0 = s0;
0x0000362c jalr t9 | t9 ();
0x00003630 lw gp, 0x18(sp) | gp = *(var_18h);
| if (v0 != 0) {
0x00003634 bnez v0, 0x38d8 | goto label_28;
| }
0x00003638 lw v1, -0x7fac(gp) | v1 = *(gp);
0x0000363c lui a0, 0x10 | a0 = 0x100000;
0x00003640 addiu s2, s2, 1 | s2++;
0x00003644 lw v0, (v1) | v0 = *(v1);
0x00003648 sw s2, 0x40(sp) | *(var_40h) = s2;
0x0000364c or v0, v0, a0 | v0 |= a0;
0x00003650 sw v0, (v1) | *(v1) = v0;
0x00003654 slt v0, s2, s4 | v0 = (s2 < s4) ? 1 : 0;
0x00003658 sll s1, s2, 2 | s1 = s2 << 2;
0x0000365c bnel v0, zero, 0x358c |
| } while (v0 == 0);
0x00003660 addiu v0, zero, 1 | v0 = 1;
| label_22:
0x00003664 lw v0, -0x7fa0(gp) | v0 = *(gp);
| if (s4 == v0) {
0x00003668 beq s4, v0, 0x382c | goto label_29;
| }
0x0000366c lw v0, (v0) | v0 = *(v0);
0x00003670 lw v0, -0x7fac(gp) | v0 = *(gp);
| if (v0 < 0) {
0x00003674 bltz v0, 0x3814 | goto label_30;
| }
0x00003678 lw v0, (v0) | v0 = *(v0);
0x0000367c andi v0, v0, 0x10 | v0 &= 0x10;
0x00003680 lb v1, 0x4c(sp) | v1 = *(var_4ch);
0x00003684 bnel v0, zero, 0x3818 |
| while (1) {
0x00003688 lw v0, 0x28(sp) | v0 = *(var_28h);
0x0000368c lw v0, 0xc(v0) | v0 = *((v0 + 3));
0x00003690 lb v1, 0x4c(sp) | v1 = *(var_4ch);
| if (v0 != 0) {
0x00003694 beqz v0, 0x36c0 |
0x00003698 lw a1, 0x34(sp) | a1 = *(var_34h);
| label_1:
0x0000369c lw v0, 0xc(a1) | v0 = *((a1 + 3));
0x000036a0 lw v0, 0x28(sp) | v0 = *(var_28h);
| if (v0 == 0) {
0x000036a4 beqz v0, 0x36c0 | goto label_31;
| }
0x000036a8 lw a0, 8(a1) | a0 = *((a1 + 2));
0x000036ac lw v0, 8(v0) | v0 = *((v0 + 2));
0x000036b0 slt v0, a0, v0 | v0 = (a0 < v0) ? 1 : 0;
0x000036b4 addiu a0, a0, 0x18 | a0 += 0x18;
| if (v0 == 0) {
0x000036b8 beqz v0, 0x36c0 | goto label_31;
| }
0x000036bc sw a0, 8(a1) | *((a1 + 2)) = a0;
| }
| if (v1 != 0) {
| label_31:
0x000036c0 beql v1, zero, 0x36d8 |
0x000036c4 lw s0, -0x7fac(gp) | s0 = *(gp);
0x000036c8 lb v0, 0x24c(sp) | v0 = *(var_24ch);
| label_2:
0x000036cc lw v0, -0x7be8(gp) | v0 = *((gp - 7930));
| if (v0 != 0) {
0x000036d0 bnez v0, 0x432c | goto label_32;
| }
0x000036d4 lw s0, -0x7fac(gp) | s0 = *(gp);
| }
| label_8:
0x000036d8 lw v0, (s0) | v0 = *(s0);
0x000036dc ext v0, v0, 0x1c, 1 | __asm ("ext v0, v0, 0x1c, 1");
0x000036e0 lw t9, -0x7f00(gp) | t9 = sym.set_bitmaps;
| if (v0 != 0) {
0x000036e4 bnez v0, 0x3d88 | goto label_33;
| }
| label_6:
0x000036e8 lw v0, 0x28(sp) | v0 = *(var_28h);
0x000036ec lw v1, (s0) | v1 = *(s0);
0x000036f0 lw a0, 0xc(v0) | a0 = *((v0 + 3));
0x000036f4 andi v0, v1, 0x10 | v0 = v1 & 0x10;
0x000036f8 or v0, v0, a0 | v0 |= a0;
0x000036fc lb v0, 0x4c(sp) | v0 = *(var_4ch);
| if (v0 == 0) {
0x00003700 bnel v0, zero, 0x3cdc | goto label_34;
| }
0x00003704 lw s1, -0x7fa0(gp) | s1 = *(gp);
0x00003708 lw a0, (s1) | a0 = *(s1);
0x0000370c lb v0, 0x24c(sp) | v0 = *(var_24ch);
| if (a0 != 0) {
0x00003710 bnez a0, 0x3cf4 | goto label_35;
| }
0x00003714 lbu a0, 0x4c(sp) | a0 = *(var_4ch);
0x00003718 or v0, v0, a0 | v0 |= a0;
0x0000371c seb v0, v0 | __asm ("seb v0, v0");
0x00003720 lw t9, -0x7efc(gp) | t9 = sym.usage;
| if (v0 != 0) {
0x00003724 bnez v0, 0x3d08 | goto label_16;
| }
| label_3:
0x00003728 andi v1, v1, 4 | v1 &= 4;
| label_4:
0x0000372c lw t9, -0x7ef8(gp) | t9 = sym.get_devmap_major;
| if (v1 != 0) {
0x00003730 bnez v1, 0x3d9c | goto label_36;
| }
| label_7:
0x00003734 lw s5, -0x7f7c(gp) | s5 = *(gp);
0x00003738 lw v0, (s5) | v0 = *(s5);
0x0000373c lw t9, -0x7ef4(gp) | t9 = sym.select_default_activity;
| if (v0 == 0) {
0x00003740 bnez v0, 0x374c |
0x00003744 addiu v0, zero, -1 | v0 = -1;
0x00003748 sw v0, (s5) | *(s5) = v0;
| }
0x0000374c lw a0, -0x7fc8(gp) | a0 = *(gp);
0x00003750 bal 0x8704 | sym_select_default_activity ();
0x00003754 nop |
0x00003758 lw gp, 0x18(sp) | gp = *(var_18h);
0x0000375c lw t9, -0x7ef0(gp) | t9 = sym.is_iso_time_fmt;
0x00003760 bal 0x1b668 | sym_is_iso_time_fmt ();
0x00003764 nop |
0x00003768 lw gp, 0x18(sp) | gp = *(var_18h);
| if (v0 == 0) {
0x0000376c bnez v0, 0x377c |
0x00003770 lw v0, (s0) | v0 = *(s0);
0x00003774 ori v0, v0, 0x8000 | v0 |= 0x8000;
0x00003778 sw v0, (s0) | *(s0) = v0;
| }
0x0000377c lb v0, 0x4c(sp) | v0 = *(var_4ch);
0x00003780 lw t9, -0x7c98(gp) | t9 = sym.imp.pipe;
| if (v0 == 0) {
0x00003784 beqz v0, 0x3d10 | goto label_37;
| }
0x00003788 lw v0, (s1) | v0 = *(s1);
0x0000378c lw t9, -0x7eec(gp) | t9 = sym.read_stats_from_file;
| if (v0 < 0) {
0x00003790 bgez v0, 0x379c |
0x00003794 addiu v0, zero, 1 | v0 = 1;
0x00003798 sw v0, (s1) | *(s1) = v0;
| }
0x0000379c addiu a0, sp, 0x4c | a0 = sp + 0x4c;
0x000037a0 bal 0x5d08 | sym_read_stats_from_file ();
0x000037a4 lw gp, 0x18(sp) | gp = *(var_18h);
| label_5:
0x000037a8 lw a0, -0x7fc8(gp) | a0 = *(gp);
0x000037ac lw t9, -0x7ee8(gp) | t9 = sym.free_bitmaps;
0x000037b0 bal 0x8664 | sym_free_bitmaps ();
0x000037b4 nop |
0x000037b8 lw gp, 0x18(sp) | gp = *(var_18h);
0x000037bc lw a0, -0x7fc8(gp) | a0 = *(gp);
0x000037c0 lw t9, -0x7ee4(gp) | t9 = sym.free_structures;
0x000037c4 bal 0x7270 | sym_free_structures ();
0x000037c8 nop |
0x000037cc lw v0, 0x30(sp) | v0 = *(var_30h);
0x000037d0 lw a0, 0x84c(sp) | a0 = *(var_84ch);
0x000037d4 lw gp, 0x18(sp) | gp = *(var_18h);
0x000037d8 lw v1, (v0) | v1 = *(v0);
0x000037dc move v0, zero | v0 = 0;
| if (a0 != v1) {
0x000037e0 bne a0, v1, 0x4350 | goto label_38;
| }
0x000037e4 lw ra, 0x874(sp) | ra = *(var_874h);
0x000037e8 lw fp, 0x870(sp) | fp = *(var_870h);
0x000037ec lw s7, 0x86c(sp) | s7 = *(var_86ch);
0x000037f0 lw s6, 0x868(sp) | s6 = *(var_868h);
0x000037f4 lw s5, 0x864(sp) | s5 = *(var_864h);
0x000037f8 lw s4, 0x860(sp) | s4 = *(var_860h);
0x000037fc lw s3, 0x85c(sp) | s3 = *(var_85ch);
0x00003800 lw s2, 0x858(sp) | s2 = *(var_858h);
0x00003804 lw s1, 0x854(sp) | s1 = *(var_854h);
0x00003808 lw s0, 0x850(sp) | s0 = *(var_850h);
0x0000380c addiu sp, sp, 0x878 |
0x00003810 jr ra | return v0;
| label_30:
0x00003814 lb v1, 0x4c(sp) | v1 = *(var_4ch);
0x00003818 lw v0, 0x28(sp) | v0 = *(var_28h);
| if (v1 != 0) {
0x0000381c bnez v1, 0x3ca8 | goto label_39;
| }
0x00003820 lb v0, 0x24c(sp) | v0 = *(var_24ch);
0x00003824 lw v0, 0x28(sp) | v0 = *(var_28h);
| if (v0 != 0) {
0x00003828 bnez v0, 0x3fb4 | goto label_40;
| }
| label_29:
0x0000382c lw t9, -0x7ee0(gp) | t9 = sym.set_default_file;
0x00003830 lw a1, 0x2c(sp) | a1 = *(var_2ch);
0x00003834 addiu a2, zero, -1 | a2 = -1;
0x00003838 addiu a0, sp, 0x4c | a0 = sp + 0x4c;
0x0000383c bal 0x6a38 | sym_set_default_file ();
0x00003840 lw gp, 0x18(sp) | gp = *(var_18h);
0x00003844 b 0x3688 |
| }
| label_24:
0x00003848 lw t9, -0x7f68(gp) | t9 = sym.get_activity_position;
0x0000384c lw a0, -0x7fc8(gp) | a0 = *(gp);
0x00003850 addiu a1, zero, 0xb | a1 = 0xb;
0x00003854 addiu a2, zero, 1 | a2 = 1;
0x00003858 bal 0x67c0 | sym_get_activity_position ();
0x0000385c lw gp, 0x18(sp) | gp = *(var_18h);
0x00003860 lw a0, 0x40(sp) | a0 = *(var_40h);
0x00003864 sll v0, v0, 2 | v0 <<= 2;
0x00003868 sll a0, a0, 2 | a0 <<= 2;
0x0000386c lw a1, -0x7fc8(gp) | a1 = *(gp);
0x00003870 lwx a0, a0(s3) | __asm ("lwx a0, a0(s3)");
0x00003874 lw t9, -0x7edc(gp) | t9 = sym.parse_sa_devices;
0x00003878 lwx a1, v0(a1) | __asm ("lwx a1, v0(a1)");
0x0000387c addiu v0, zero, 6 | v0 = 6;
| do {
0x00003880 sw v0, 0x10(sp) | *(var_10h) = v0;
0x00003884 addiu a3, sp, 0x40 | a3 = sp + 0x40;
0x00003888 addiu a2, zero, 0x80 | a2 = 0x80;
0x0000388c bal 0xb5d8 | sym_parse_sa_devices ();
0x00003890 lw gp, 0x18(sp) | gp = *(var_18h);
0x00003894 lw s2, 0x40(sp) | s2 = *(var_40h);
0x00003898 b 0x357c | goto label_0;
| label_25:
0x0000389c lw t9, -0x7f68(gp) | t9 = sym.get_activity_position;
0x000038a0 lw a0, -0x7fc8(gp) | a0 = *(gp);
0x000038a4 addiu a1, zero, 0x25 | a1 = 0x25;
0x000038a8 addiu a2, zero, 1 | a2 = 1;
0x000038ac bal 0x67c0 | sym_get_activity_position ();
0x000038b0 lw gp, 0x18(sp) | gp = *(var_18h);
0x000038b4 lw a0, 0x40(sp) | a0 = *(var_40h);
0x000038b8 sll v0, v0, 2 | v0 <<= 2;
0x000038bc lw a1, -0x7fc8(gp) | a1 = *(gp);
0x000038c0 sll a0, a0, 2 | a0 <<= 2;
0x000038c4 lw t9, -0x7edc(gp) | t9 = sym.parse_sa_devices;
0x000038c8 lwx a1, v0(a1) | __asm ("lwx a1, v0(a1)");
0x000038cc lwx a0, a0(s3) | __asm ("lwx a0, a0(s3)");
0x000038d0 addiu v0, zero, 5 | v0 = 5;
0x000038d4 b 0x3880 |
| } while (1);
| label_28:
0x000038d8 lw a1, -0x7fd8(gp) | a1 = *(gp);
0x000038dc lw t9, -0x7cd8(gp) | t9 = sym.imp.strncmp;
0x000038e0 addiu a2, zero, 6 | a2 = 6;
| /* str.__dec */
0x000038e4 addiu a1, a1, 0x20ec | a1 += 0x20ec;
0x000038e8 move a0, s0 | a0 = s0;
0x000038ec jalr t9 | t9 ();
0x000038f0 lw gp, 0x18(sp) | gp = *(var_18h);
| if (v0 == 0) {
0x000038f4 bnez v0, 0x3910 |
0x000038f8 lw t9, -0x7c68(gp) | t9 = sym.imp.strlen;
0x000038fc move a0, s0 | a0 = s0;
0x00003900 jalr t9 | t9 ();
0x00003904 addiu v1, zero, 7 | v1 = 7;
0x00003908 lw gp, 0x18(sp) | gp = *(var_18h);
| if (v0 == v1) {
0x0000390c beq v0, v1, 0x3ac8 | goto label_41;
| }
| }
0x00003910 lw a1, -0x7fd8(gp) | a1 = *(gp);
0x00003914 lw t9, -0x7bd0(gp) | t9 = sym.imp.strcmp;
| /* esilref: '-I' */
0x00003918 addiu a1, a1, 0x20f4 | a1 += 0x20f4;
0x0000391c move a0, s0 | a0 = s0;
0x00003920 jalr t9 | t9 ();
0x00003924 lw gp, 0x18(sp) | gp = *(var_18h);
| if (v0 != 0) {
0x00003928 beqz v0, 0x3aa0 |
0x0000392c lw a1, -0x7fd8(gp) | a1 = *(gp);
0x00003930 lw t9, -0x7bd0(gp) | t9 = sym.imp.strcmp;
| /* esilref: '-D' */
0x00003934 addiu a1, a1, 0x20f8 | a1 += 0x20f8;
0x00003938 move a0, s0 | a0 = s0;
0x0000393c jalr t9 | t9 ();
0x00003940 lw gp, 0x18(sp) | gp = *(var_18h);
| if (v0 == 0) {
0x00003944 bnez v0, 0x39fc |
0x00003948 lw v1, -0x7fac(gp) | v1 = *(gp);
0x0000394c addiu s2, s2, 1 | s2++;
0x00003950 sw s2, 0x40(sp) | *(var_40h) = s2;
0x00003954 lw v0, (v1) | v0 = *(v1);
0x00003958 ori v0, v0, 0x400 | v0 |= 0x400;
0x0000395c sw v0, (v1) | *(v1) = v0;
0x00003960 b 0x357c | goto label_0;
| label_26:
0x00003964 lw t9, -0x7f68(gp) | t9 = sym.get_activity_position;
0x00003968 lw a0, -0x7fc8(gp) | a0 = *(gp);
0x0000396c addiu a2, zero, 1 | a2 = 1;
0x00003970 addiu a1, zero, 0xc | a1 = 0xc;
0x00003974 bal 0x67c0 | sym_get_activity_position ();
0x00003978 lw gp, 0x18(sp) | gp = *(var_18h);
0x0000397c lw a0, 0x40(sp) | a0 = *(var_40h);
0x00003980 sll v0, v0, 2 | v0 <<= 2;
0x00003984 lw s0, -0x7fc8(gp) | s0 = *(gp);
0x00003988 sll a0, a0, 2 | a0 <<= 2;
0x0000398c addu s1, s0, v0 | s1 = s0 + v0;
0x00003990 lwx a0, a0(s3) | __asm ("lwx a0, a0(s3)");
0x00003994 lw t9, -0x7edc(gp) | t9 = sym.parse_sa_devices;
0x00003998 lw a1, (s1) | a1 = *(s1);
0x0000399c addiu v0, zero, 8 | v0 = 8;
0x000039a0 addiu a3, sp, 0x40 | a3 = sp + 0x40;
0x000039a4 addiu a2, zero, 0x10 | a2 = 0x10;
0x000039a8 sw v0, 0x10(sp) | *(var_10h) = v0;
0x000039ac bal 0xb5d8 | sym_parse_sa_devices ();
0x000039b0 lw gp, 0x18(sp) | gp = *(var_18h);
0x000039b4 addiu a1, zero, 0xd | a1 = 0xd;
0x000039b8 move a0, s0 | a0 = s0;
0x000039bc lw t9, -0x7f68(gp) | t9 = sym.get_activity_position;
0x000039c0 addiu a2, zero, 1 | a2 = 1;
0x000039c4 bal 0x67c0 | sym_get_activity_position ();
0x000039c8 sll v0, v0, 2 | v0 <<= 2;
0x000039cc lw a0, (s1) | a0 = *(s1);
0x000039d0 lwx v0, v0(s0) | __asm ("lwx v0, v0(s0)");
0x000039d4 lw gp, 0x18(sp) | gp = *(var_18h);
0x000039d8 lw a1, 0x40(a0) | a1 = *((a0 + 16));
0x000039dc lw v1, 4(v0) | v1 = *((v0 + 1));
0x000039e0 lw a0, 0x44(a0) | a0 = *((a0 + 17));
0x000039e4 ori v1, v1, 0x100 | v1 |= aav.0x00000100;
0x000039e8 lw s2, 0x40(sp) | s2 = *(var_40h);
0x000039ec sw a1, 0x40(v0) | *((v0 + 16)) = a1;
0x000039f0 sw a0, 0x44(v0) | *((v0 + 17)) = a0;
0x000039f4 sw v1, 4(v0) | *((v0 + 1)) = v1;
0x000039f8 b 0x357c | goto label_0;
| }
0x000039fc lw a1, -0x7fd8(gp) | a1 = *(gp);
0x00003a00 lw t9, -0x7bd0(gp) | t9 = sym.imp.strcmp;
| /* esilref: '-P' */
0x00003a04 addiu a1, a1, 0x20fc | a1 += 0x20fc;
0x00003a08 move a0, s0 | a0 = s0;
0x00003a0c jalr t9 | t9 ();
0x00003a10 lw gp, 0x18(sp) | gp = *(var_18h);
| if (v0 == 0) {
0x00003a14 beqz v0, 0x3bc0 | goto label_42;
| }
0x00003a18 lw a1, -0x7fd8(gp) | a1 = *(gp);
0x00003a1c lw t9, -0x7bd0(gp) | t9 = sym.imp.strcmp;
| /* esilref: '-o' */
0x00003a20 addiu a1, a1, 0x2100 | a1 += 0x2100;
0x00003a24 move a0, s0 | a0 = s0;
0x00003a28 jalr t9 | t9 ();
0x00003a2c lw gp, 0x18(sp) | gp = *(var_18h);
| if (v0 != 0) {
0x00003a30 bnez v0, 0x3b00 | goto label_43;
| }
0x00003a34 lb v0, 0x24c(sp) | v0 = *(var_24ch);
0x00003a38 lw t9, -0x7efc(gp) | t9 = sym.usage;
| if (v0 != 0) {
0x00003a3c bnez v0, 0x3d08 | goto label_16;
| }
0x00003a40 lw s0, 4(s1) | s0 = *((s1 + 1));
0x00003a44 addiu s1, s2, 1 | s1 = s2 + 1;
0x00003a48 sw s1, 0x40(sp) | *(var_40h) = s1;
| if (s0 != 0) {
0x00003a4c beqz s0, 0x3a90 |
0x00003a50 lbu v1, (s0) | v1 = *(s0);
0x00003a54 addiu v0, zero, 0x2d | v0 = 0x2d;
0x00003a58 lw a1, -0x7fd8(gp) | a1 = *(gp);
| if (v1 == v0) {
0x00003a5c beq v1, v0, 0x3a90 | goto label_44;
| }
0x00003a60 lw t9, -0x7cec(gp) | t9 = sym.imp.strspn;
| /* str.0123456789 */
0x00003a64 addiu a1, a1, 0x2104 | a1 += 0x2104;
0x00003a68 move a0, s0 | a0 = s0;
0x00003a6c jalr t9 | t9 ();
0x00003a70 lw gp, 0x18(sp) | gp = *(var_18h);
0x00003a74 move a0, s0 | a0 = s0;
0x00003a78 lw t9, -0x7c68(gp) | t9 = sym.imp.strlen;
0x00003a7c sw v0, 0x38(sp) | *(var_38h) = v0;
0x00003a80 jalr t9 | t9 ();
0x00003a84 lw v1, 0x38(sp) | v1 = *(var_38h);
0x00003a88 lw gp, 0x18(sp) | gp = *(var_18h);
| if (v1 != v0) {
0x00003a8c bne v1, v0, 0x3f8c | goto label_45;
| }
| }
| label_44:
0x00003a90 addiu v0, zero, 0x2d | v0 = 0x2d;
0x00003a94 sh v0, 0x24c(sp) | *(var_24ch) = v0;
0x00003a98 move s2, s1 | s2 = s1;
0x00003a9c b 0x357c | goto label_0;
| }
0x00003aa0 lw t9, -0x7ed8(gp) | t9 = sym.parse_sar_I_opt;
0x00003aa4 lw a3, -0x7fc8(gp) | a3 = *(gp);
0x00003aa8 lw a2, -0x7fac(gp) | a2 = *(gp);
| do {
| label_9:
0x00003aac addiu a1, sp, 0x40 | a1 = sp + 0x40;
0x00003ab0 move a0, s3 | a0 = s3;
0x00003ab4 jalr t9 | t9 ();
0x00003ab8 lw gp, 0x18(sp) | gp = *(var_18h);
| if (v0 != 0) {
0x00003abc bnez v0, 0x3d04 | goto label_11;
| }
0x00003ac0 lw s2, 0x40(sp) | s2 = *(var_40h);
0x00003ac4 b 0x357c | goto label_0;
| label_41:
0x00003ac8 lw t9, -0x7ce0(gp) | t9 = sym.imp.strtol;
0x00003acc addiu a0, s0, 6 | a0 = s0 + 6;
0x00003ad0 addiu a2, zero, 0xa | a2 = 0xa;
0x00003ad4 move a1, zero | a1 = 0;
0x00003ad8 jalr t9 | t9 ();
0x00003adc lw gp, 0x18(sp) | gp = *(var_18h);
0x00003ae0 sltiu v1, v0, 3 | v1 = (v0 < 3) ? 1 : 0;
0x00003ae4 lw a0, -0x7ed4(gp) | a0 = *(gp);
0x00003ae8 sw v0, (a0) | *(a0) = v0;
| if (v1 == 0) {
0x00003aec beqz v1, 0x3d04 | goto label_11;
| }
| label_18:
0x00003af0 lw s2, 0x40(sp) | s2 = *(var_40h);
0x00003af4 addiu s2, s2, 1 | s2++;
0x00003af8 sw s2, 0x40(sp) | *(var_40h) = s2;
0x00003afc b 0x357c | goto label_0;
| label_43:
0x00003b00 lw a1, -0x7fd8(gp) | a1 = *(gp);
0x00003b04 lw t9, -0x7bd0(gp) | t9 = sym.imp.strcmp;
| /* esilref: '-f' */
0x00003b08 addiu a1, a1, 0x2110 | a1 += 0x2110;
0x00003b0c move a0, s0 | a0 = s0;
0x00003b10 jalr t9 | t9 ();
0x00003b14 lw gp, 0x18(sp) | gp = *(var_18h);
| if (v0 != 0) {
0x00003b18 bnez v0, 0x3bd0 | goto label_46;
| }
0x00003b1c lb v0, 0x4c(sp) | v0 = *(var_4ch);
0x00003b20 lw v0, 0x2c(sp) | v0 = *(var_2ch);
| if (v0 != 0) {
0x00003b24 bnez v0, 0x3d04 | goto label_11;
| }
0x00003b28 addiu v0, s2, 1 | v0 = s2 + 1;
| if (v0 != 0) {
0x00003b2c bnez v0, 0x3d04 | goto label_11;
| }
0x00003b30 lw s0, 4(s1) | s0 = *((s1 + 1));
0x00003b34 sw v0, 0x40(sp) | *(var_40h) = v0;
| if (s0 == 0) {
0x00003b38 beqz s0, 0x3cbc | goto label_47;
| }
0x00003b3c lbu v1, (s0) | v1 = *(s0);
0x00003b40 addiu v0, zero, 0x2d | v0 = 0x2d;
0x00003b44 lw a1, -0x7fd8(gp) | a1 = *(gp);
| if (v1 == v0) {
0x00003b48 beq v1, v0, 0x3cbc | goto label_47;
| }
0x00003b4c lw t9, -0x7cec(gp) | t9 = sym.imp.strspn;
| /* str.0123456789 */
0x00003b50 addiu a1, a1, 0x2104 | a1 += 0x2104;
0x00003b54 move a0, s0 | a0 = s0;
0x00003b58 jalr t9 | t9 ();
0x00003b5c lw gp, 0x18(sp) | gp = *(var_18h);
0x00003b60 move a0, s0 | a0 = s0;
0x00003b64 lw t9, -0x7c68(gp) | t9 = sym.imp.strlen;
0x00003b68 move s1, v0 | s1 = v0;
0x00003b6c jalr t9 | t9 ();
0x00003b70 lw gp, 0x18(sp) | gp = *(var_18h);
| if (s1 == v0) {
0x00003b74 beq s1, v0, 0x3cbc | goto label_47;
| }
0x00003b78 lw t9, -0x7c88(gp) | t9 = sym.imp.strncpy;
0x00003b7c addiu v1, sp, 0x4c | v1 = sp + 0x4c;
0x00003b80 addiu s2, s2, 2 | s2 += 2;
0x00003b84 move a0, v1 | a0 = v1;
0x00003b88 addiu a2, zero, 0x200 | a2 = aav.0x00000200;
0x00003b8c move a1, s0 | a1 = s0;
0x00003b90 sw s2, 0x40(sp) | *(var_40h) = s2;
0x00003b94 jalr t9 | t9 ();
0x00003b98 lw gp, 0x18(sp) | gp = *(var_18h);
0x00003b9c addiu a2, zero, -1 | a2 = -1;
0x00003ba0 move a1, zero | a1 = 0;
0x00003ba4 lw t9, -0x7ed0(gp) | t9 = sym.check_alt_sa_dir;
0x00003ba8 move a0, v0 | a0 = v0;
0x00003bac sb zero, 0x24b(sp) | *(var_24bh) = 0;
0x00003bb0 bal 0x6bfc | sym_check_alt_sa_dir ();
0x00003bb4 lw gp, 0x18(sp) | gp = *(var_18h);
0x00003bb8 lw s2, 0x40(sp) | s2 = *(var_40h);
0x00003bbc b 0x357c | goto label_0;
| label_42:
0x00003bc0 lw t9, -0x7ecc(gp) | t9 = sym.parse_sa_P_opt;
0x00003bc4 lw a3, -0x7fc8(gp) | a3 = *(gp);
0x00003bc8 lw a2, -0x7fac(gp) | a2 = *(gp);
0x00003bcc b 0x3aac |
| } while (1);
| label_46:
0x00003bd0 lw a1, -0x7fd8(gp) | a1 = *(gp);
0x00003bd4 lw t9, -0x7bd0(gp) | t9 = sym.imp.strcmp;
| /* esilref: '-s' */
0x00003bd8 addiu a1, a1, 0x2114 | a1 += 0x2114;
0x00003bdc move a0, s0 | a0 = s0;
0x00003be0 jalr t9 | t9 ();
0x00003be4 lw gp, 0x18(sp) | gp = *(var_18h);
| if (v0 == 0) {
0x00003be8 beqz v0, 0x3fdc | goto label_48;
| }
0x00003bec lw a1, -0x7fd8(gp) | a1 = *(gp);
0x00003bf0 lw t9, -0x7bd0(gp) | t9 = sym.imp.strcmp;
| /* esilref: '-e' */
0x00003bf4 addiu a1, a1, 0x2124 | a1 += 0x2124;
0x00003bf8 move a0, s0 | a0 = s0;
0x00003bfc jalr t9 | t9 ();
0x00003c00 lw gp, 0x18(sp) | gp = *(var_18h);
| if (v0 == 0) {
0x00003c04 beqz v0, 0x3fc8 | goto label_49;
| }
0x00003c08 lw a1, -0x7fd8(gp) | a1 = *(gp);
0x00003c0c lw t9, -0x7bd0(gp) | t9 = sym.imp.strcmp;
| /* esilref: '-i' */
0x00003c10 addiu a1, a1, 0x2134 | a1 += 0x2134;
0x00003c14 move a0, s0 | a0 = s0;
0x00003c18 jalr t9 | t9 ();
0x00003c1c lw gp, 0x18(sp) | gp = *(var_18h);
| if (v0 != 0) {
0x00003c20 bnez v0, 0x4018 | goto label_50;
| }
0x00003c24 lw s0, 4(s1) | s0 = *((s1 + 1));
0x00003c28 addiu v0, s2, 1 | v0 = s2 + 1;
0x00003c2c sw v0, 0x40(sp) | *(var_40h) = v0;
| if (s0 == 0) {
0x00003c30 beqz s0, 0x3d04 | goto label_11;
| }
0x00003c34 lw a1, -0x7fd8(gp) | a1 = *(gp);
0x00003c38 lw t9, -0x7cec(gp) | t9 = sym.imp.strspn;
| /* str.0123456789 */
0x00003c3c addiu a1, a1, 0x2104 | a1 += 0x2104;
0x00003c40 move a0, s0 | a0 = s0;
0x00003c44 jalr t9 | t9 ();
0x00003c48 lw gp, 0x18(sp) | gp = *(var_18h);
0x00003c4c move a0, s0 | a0 = s0;
0x00003c50 lw t9, -0x7c68(gp) | t9 = sym.imp.strlen;
0x00003c54 move s1, v0 | s1 = v0;
0x00003c58 jalr t9 | t9 ();
0x00003c5c lw gp, 0x18(sp) | gp = *(var_18h);
| if (s1 != v0) {
0x00003c60 bne s1, v0, 0x3d04 | goto label_11;
| }
0x00003c64 lw t9, -0x7ce0(gp) | t9 = sym.imp.strtol;
0x00003c68 addiu s2, s2, 2 | s2 += 2;
0x00003c6c addiu a2, zero, 0xa | a2 = 0xa;
0x00003c70 move a1, zero | a1 = 0;
0x00003c74 move a0, s0 | a0 = s0;
0x00003c78 sw s2, 0x40(sp) | *(var_40h) = s2;
0x00003c7c jalr t9 | t9 ();
0x00003c80 lw gp, 0x18(sp) | gp = *(var_18h);
0x00003c84 lw v1, -0x7fa0(gp) | v1 = *(gp);
0x00003c88 sw v0, (v1) | *(v1) = v0;
| if (v0 <= 0) {
0x00003c8c blez v0, 0x3d04 | goto label_11;
| }
0x00003c90 lw v1, -0x7fac(gp) | v1 = *(gp);
0x00003c94 lw s2, 0x40(sp) | s2 = *(var_40h);
0x00003c98 lw v0, (v1) | v0 = *(v1);
0x00003c9c ori v0, v0, 0x10 | v0 |= 0x10;
0x00003ca0 sw v0, (v1) | *(v1) = v0;
0x00003ca4 b 0x357c | goto label_0;
| label_39:
0x00003ca8 lw v0, 0xc(v0) | v0 = *((v0 + 3));
0x00003cac lw a1, 0x34(sp) | a1 = *(var_34h);
| if (v0 != 0) {
0x00003cb0 bnez v0, 0x369c | goto label_1;
| }
0x00003cb4 lb v0, 0x24c(sp) | v0 = *(var_24ch);
0x00003cb8 b 0x36cc | goto label_2;
| label_47:
0x00003cbc lw t9, -0x7ee0(gp) | t9 = sym.set_default_file;
0x00003cc0 addiu a2, zero, -1 | a2 = -1;
0x00003cc4 move a1, zero | a1 = 0;
0x00003cc8 addiu a0, sp, 0x4c | a0 = sp + 0x4c;
0x00003ccc bal 0x6a38 | sym_set_default_file ();
0x00003cd0 lw gp, 0x18(sp) | gp = *(var_18h);
0x00003cd4 lw s2, 0x40(sp) | s2 = *(var_40h);
0x00003cd8 b 0x357c | goto label_0;
| label_34:
0x00003cdc lw v0, -0x7be8(gp) | v0 = *((gp - 7930));
| if (v0 == 0) {
0x00003ce0 beqz v0, 0x435c | goto label_51;
| }
0x00003ce4 lw s1, -0x7fa0(gp) | s1 = *(gp);
0x00003ce8 lw v0, (s1) | v0 = *(s1);
0x00003cec lb v0, 0x24c(sp) | v0 = *(var_24ch);
| if (v0 == 0) {
0x00003cf0 beqz v0, 0x3d04 | goto label_11;
| }
| label_35:
0x00003cf4 lw v0, 0x2c(sp) | v0 = *(var_2ch);
| if (v0 == 0) {
0x00003cf8 beqz v0, 0x3728 | goto label_3;
| }
0x00003cfc andi v1, v1, 4 | v1 &= 4;
| if (v0 == 0) {
0x00003d00 beqz v0, 0x372c | goto label_4;
| }
| do {
| label_11:
0x00003d04 lw t9, -0x7efc(gp) | t9 = sym.usage;
| label_16:
0x00003d08 lw a0, (s3) | a0 = *(s3);
0x00003d0c bal 0x4558 | sym_usage ();
| label_37:
0x00003d10 addiu a0, sp, 0x44 | a0 = sp + 0x44;
0x00003d14 jalr t9 | t9 ();
0x00003d18 addiu s2, zero, -1 | s2 = -1;
0x00003d1c lw gp, 0x18(sp) | gp = *(var_18h);
| if (v0 == s2) {
0x00003d20 beq v0, s2, 0x4374 | goto label_52;
| }
0x00003d24 lw t9, -0x7cb4(gp) | t9 = sym.imp.fork;
0x00003d28 jalr t9 | t9 ();
0x00003d2c nop |
0x00003d30 lw gp, 0x18(sp) | gp = *(var_18h);
| if (v0 == s2) {
0x00003d34 beq v0, s2, 0x4384 | goto label_53;
| }
0x00003d38 lw t9, -0x7bc4(gp) | t9 = sym.imp.dup2;
| if (v0 != 0) {
0x00003d3c beqz v0, 0x3db4 |
0x00003d40 lw a0, 0x44(sp) | a0 = *(var_44h);
0x00003d44 move a1, zero | a1 = 0;
0x00003d48 jalr t9 | t9 ();
0x00003d4c lw gp, 0x18(sp) | gp = *(var_18h);
| if (v0 < 0) {
0x00003d50 bltz v0, 0x431c | goto label_54;
| }
0x00003d54 lw t9, -0x7ce4(gp) | t9 = sym.imp.close;
0x00003d58 lw a0, 0x44(sp) | a0 = *(var_44h);
0x00003d5c jalr t9 | t9 ();
0x00003d60 lw gp, 0x18(sp) | gp = *(var_18h);
0x00003d64 lw t9, -0x7ce4(gp) | t9 = sym.imp.close;
0x00003d68 lw a0, 0x48(sp) | a0 = *(var_48h);
0x00003d6c jalr t9 | t9 ();
0x00003d70 lw gp, 0x18(sp) | gp = *(var_18h);
0x00003d74 lw t9, -0x7ec8(gp) | t9 = sym.read_stats;
0x00003d78 bal 0x647c | sym_read_stats ();
0x00003d7c nop |
0x00003d80 lw gp, 0x18(sp) | gp = *(var_18h);
0x00003d84 b 0x37a8 | goto label_5;
| label_33:
0x00003d88 lw a0, -0x7fc8(gp) | a0 = *(gp);
0x00003d8c move a1, s0 | a1 = s0;
0x00003d90 bal 0xb208 | sym_set_bitmaps ();
0x00003d94 lw gp, 0x18(sp) | gp = *(var_18h);
0x00003d98 b 0x36e8 | goto label_6;
| label_36:
0x00003d9c bal 0x1b53c | sym_get_devmap_major ();
0x00003da0 nop |
0x00003da4 lw gp, 0x18(sp) | gp = *(var_18h);
0x00003da8 lw v1, -0x7ec4(gp) | v1 = *(gp);
0x00003dac sw v0, (v1) | *(v1) = v0;
0x00003db0 b 0x3734 | goto label_7;
| }
0x00003db4 lw a0, 0x48(sp) | a0 = *(var_48h);
0x00003db8 addiu a1, zero, 1 | a1 = 1;
0x00003dbc jalr t9 | t9 ();
0x00003dc0 lw gp, 0x18(sp) | gp = *(var_18h);
| if (v0 < 0) {
0x00003dc4 bltz v0, 0x431c | goto label_54;
| }
0x00003dc8 lw t9, -0x7ce4(gp) | t9 = sym.imp.close;
0x00003dcc lw s4, -0x7fd8(gp) | s4 = *(gp);
0x00003dd0 lw a0, 0x44(sp) | a0 = *(var_44h);
0x00003dd4 jalr t9 | t9 ();
0x00003dd8 lw gp, 0x18(sp) | gp = *(var_18h);
0x00003ddc lw t9, -0x7ce4(gp) | t9 = sym.imp.close;
0x00003de0 lw s2, -0x7ec0(gp) | s2 = sym.salloc;
0x00003de4 lw a0, 0x48(sp) | a0 = *(var_48h);
0x00003de8 jalr t9 | t9 ();
| /* esilref: 'sadc' */
0x00003dec addiu a1, s4, 0x1f74 | a1 = s4 + 0x1f74;
0x00003df0 move t9, s2 | t9 = s2;
0x00003df4 move a0, zero | a0 = 0;
0x00003df8 bal 0x485c | sym_salloc ();
0x00003dfc lw v0, (s1) | v0 = *(s1);
0x00003e00 lw gp, 0x18(sp) | gp = *(var_18h);
0x00003e04 bltz v0, 0x3d04 |
| } while (v0 < 0);
0x00003e08 lw a3, -0x7fd8(gp) | a3 = *(gp);
| if (v0 != 0) {
0x00003e0c bnez v0, 0x3ff0 | goto label_55;
| }
0x00003e10 addiu v0, zero, 0x31 | v0 = 0x31;
0x00003e14 addiu s1, sp, 0x44c | s1 = sp + 0x44c;
0x00003e18 move a1, s1 | a1 = s1;
0x00003e1c addiu a0, zero, 1 | a0 = 1;
0x00003e20 sh v0, 0x44c(sp) | *(var_44ch) = v0;
0x00003e24 move t9, s2 | t9 = s2;
0x00003e28 addiu s6, zero, 2 | s6 = 2;
0x00003e2c bal 0x485c | sym_salloc ();
| label_10:
0x00003e30 move a1, s1 | a1 = s1;
0x00003e34 move t9, s2 | t9 = s2;
0x00003e38 move a0, s6 | a0 = s6;
0x00003e3c bal 0x485c | sym_salloc ();
0x00003e40 lw v0, (s5) | v0 = *(s5);
0x00003e44 lw gp, 0x18(sp) | gp = *(var_18h);
0x00003e48 addiu s3, s6, 1 | s3 = s6 + 1;
| if (v0 >= 0) {
0x00003e4c bltz v0, 0x3e90 |
0x00003e50 lw a3, -0x7fd8(gp) | a3 = *(gp);
0x00003e54 lw t9, -0x7d00(gp) | t9 = sym.imp.__sprintf_chk;
0x00003e58 addiu v0, v0, 1 | v0++;
| /* esilref: '&ld' */
0x00003e5c addiu a3, a3, 0x21c0 | a3 += 0x21c0;
0x00003e60 addiu a2, zero, 0x400 | a2 = 0x400;
0x00003e64 addiu a1, zero, 1 | a1 = 1;
0x00003e68 move a0, s1 | a0 = s1;
0x00003e6c sw v0, 0x10(sp) | *(var_10h) = v0;
0x00003e70 jalr t9 | t9 ();
0x00003e74 move a0, s3 | a0 = s3;
0x00003e78 move a1, s1 | a1 = s1;
0x00003e7c move t9, s2 | t9 = s2;
0x00003e80 addiu s6, s6, 2 | s6 += 2;
0x00003e84 bal 0x485c | sym_salloc ();
0x00003e88 lw gp, 0x18(sp) | gp = *(var_18h);
0x00003e8c move s3, s6 | s3 = s6;
| }
0x00003e90 lw a1, -0x7fd8(gp) | a1 = *(gp);
0x00003e94 move a0, s3 | a0 = s3;
0x00003e98 move t9, s2 | t9 = s2;
| /* esilref: '-Z' */
0x00003e9c addiu a1, a1, 0x21c4 | a1 += 0x21c4;
0x00003ea0 bal 0x485c | sym_salloc ();
0x00003ea4 lb v0, 0x24c(sp) | v0 = *(var_24ch);
0x00003ea8 lw gp, 0x18(sp) | gp = *(var_18h);
0x00003eac addiu s5, s3, 1 | s5 = s3 + 1;
| if (v0 == 0) {
0x00003eb0 beqz v0, 0x4084 | goto label_56;
| }
0x00003eb4 lw v0, (s0) | v0 = *(s0);
0x00003eb8 andi v0, v0, 0x400 | v0 &= 0x400;
0x00003ebc lw a1, -0x7fd8(gp) | a1 = *(gp);
| if (v0 == 0) {
0x00003ec0 bnel v0, zero, 0x4150 | goto label_57;
| }
| label_15:
0x00003ec4 lw a1, -0x7fd8(gp) | a1 = *(gp);
0x00003ec8 move a0, s5 | a0 = s5;
0x00003ecc move t9, s2 | t9 = s2;
| /* esilref: '-S' */
0x00003ed0 addiu a1, a1, 0x21c8 | a1 += 0x21c8;
0x00003ed4 bal 0x485c | sym_salloc ();
0x00003ed8 lw gp, 0x18(sp) | gp = *(var_18h);
0x00003edc addiu a0, s5, 1 | a0 = s5 + 1;
0x00003ee0 move t9, s2 | t9 = s2;
0x00003ee4 lw a1, -0x7fd8(gp) | a1 = *(gp);
0x00003ee8 addiu s3, s5, 3 | s3 = s5 + 3;
| /* str.XALL */
0x00003eec addiu a1, a1, 0x21cc | a1 += 0x21cc;
0x00003ef0 bal 0x485c | sym_salloc ();
0x00003ef4 addiu a1, sp, 0x24c | a1 = sp + 0x24c;
0x00003ef8 move t9, s2 | t9 = s2;
0x00003efc addiu a0, s5, 2 | a0 = s5 + 2;
0x00003f00 bal 0x485c | sym_salloc ();
0x00003f04 lw gp, 0x18(sp) | gp = *(var_18h);
| label_13:
0x00003f08 lw s0, -0x7fd0(gp) | s0 = *(gp);
0x00003f0c sll s3, s3, 2 | s3 <<= 2;
0x00003f10 lw a0, -0x7fd8(gp) | a0 = *(gp);
0x00003f14 addu v0, s0, s3 | v0 = s0 + s3;
0x00003f18 lw t9, -0x7c74(gp) | t9 = sym.imp.execv;
0x00003f1c move a1, s0 | a1 = s0;
| /* str._usr_libexec_sa_sadc */
0x00003f20 addiu a0, a0, 0x1f64 | a0 += 0x1f64;
0x00003f24 sw zero, (v0) | *(v0) = 0;
0x00003f28 jalr t9 | t9 ();
0x00003f2c lw gp, 0x18(sp) | gp = *(var_18h);
0x00003f30 move a1, s0 | a1 = s0;
0x00003f34 lw t9, -0x7c1c(gp) | t9 = sym.imp.execvp;
| /* esilref: 'sadc' */
0x00003f38 addiu a0, s4, 0x1f74 | a0 = s4 + 0x1f74;
0x00003f3c jalr t9 | t9 ();
0x00003f40 lw gp, 0x18(sp) | gp = *(var_18h);
| /* esilref: 'sadc' */
0x00003f44 addiu a3, s4, 0x1f74 | a3 = s4 + 0x1f74;
0x00003f48 addiu a1, zero, 1 | a1 = 1;
0x00003f4c lw v0, -0x7be8(gp) | v0 = *((gp - 7930));
0x00003f50 lw a2, -0x7fd8(gp) | a2 = *(gp);
0x00003f54 lw t9, -0x7ccc(gp) | t9 = sym.imp.__fprintf_chk
0x00003f58 lw a0, (v0) | a0 = *(v0);
| /* str.Cannot_find_the_data_collector___s__n */
0x00003f5c addiu a2, a2, 0x21d4 | a2 += 0x21d4;
0x00003f60 jalr t9 | t9 ();
0x00003f64 lw gp, 0x18(sp) | gp = *(var_18h);
0x00003f68 lw a0, -0x7fd8(gp) | a0 = *(gp);
0x00003f6c lw t9, -0x7c30(gp) | t9 = sym.imp.perror;
| /* str.exec */
0x00003f70 addiu a0, a0, 0x21fc | a0 += 0x21fc;
| label_20:
0x00003f74 jalr t9 | t9 ();
0x00003f78 nop |
0x00003f7c lw gp, 0x18(sp) | gp = *(var_18h);
0x00003f80 lw t9, -0x7c54(gp) | t9 = sym.imp.exit;
0x00003f84 addiu a0, zero, 4 | a0 = 4;
0x00003f88 jalr t9 | t9 ();
| label_45:
0x00003f8c lw t9, -0x7c88(gp) | t9 = sym.imp.strncpy;
0x00003f90 addiu s2, s2, 2 | s2 += 2;
0x00003f94 addiu a2, zero, 0x200 | a2 = aav.0x00000200;
0x00003f98 move a1, s0 | a1 = s0;
0x00003f9c addiu a0, sp, 0x24c | a0 = sp + 0x24c;
0x00003fa0 sw s2, 0x40(sp) | *(var_40h) = s2;
0x00003fa4 jalr t9 | t9 ();
0x00003fa8 lw gp, 0x18(sp) | gp = *(var_18h);
0x00003fac sb zero, 0x44b(sp) | *(var_44bh) = 0;
0x00003fb0 b 0x357c | goto label_0;
| label_40:
0x00003fb4 lw v0, 0xc(v0) | v0 = *((v0 + 3));
0x00003fb8 lw a1, 0x34(sp) | a1 = *(var_34h);
| if (v0 != 0) {
0x00003fbc bnez v0, 0x369c | goto label_1;
| }
0x00003fc0 lw s0, -0x7fac(gp) | s0 = *(gp);
0x00003fc4 b 0x36d8 | goto label_8;
| label_49:
0x00003fc8 lw a3, -0x7fd8(gp) | a3 = *(gp);
0x00003fcc lw t9, -0x7ebc(gp) | t9 = sym.parse_timestamp;
0x00003fd0 lw a2, -0x7f88(gp) | a2 = *(gp);
| /* str.18:00:00 */
0x00003fd4 addiu a3, a3, 0x2128 | a3 += 0x2128;
0x00003fd8 b 0x3aac | goto label_9;
| label_48:
0x00003fdc lw a3, -0x7fd8(gp) | a3 = *(gp);
0x00003fe0 lw t9, -0x7ebc(gp) | t9 = sym.parse_timestamp;
0x00003fe4 lw a2, -0x7f90(gp) | a2 = *(gp);
| /* str.08:00:00 */
0x00003fe8 addiu a3, a3, 0x2118 | a3 += 0x2118;
0x00003fec b 0x3aac | goto label_9;
| label_55:
0x00003ff0 lw t9, -0x7d00(gp) | t9 = sym.imp.__sprintf_chk;
0x00003ff4 addiu s1, sp, 0x44c | s1 = sp + 0x44c;
0x00003ff8 sw v0, 0x10(sp) | *(var_10h) = v0;
| /* esilref: '&ld' */
0x00003ffc addiu a3, a3, 0x21c0 | a3 += 0x21c0;
0x00004000 addiu a2, zero, 0x400 | a2 = 0x400;
0x00004004 addiu a1, zero, 1 | a1 = 1;
0x00004008 move a0, s1 | a0 = s1;
0x0000400c jalr t9 | t9 ();
0x00004010 addiu s6, zero, 1 | s6 = 1;
0x00004014 b 0x3e30 | goto label_10;
| label_50:
0x00004018 lw a1, -0x7fd8(gp) | a1 = *(gp);
0x0000401c lw t9, -0x7bd0(gp) | t9 = sym.imp.strcmp;
| /* esilref: '-m' */
0x00004020 addiu a1, a1, 0x2138 | a1 += 0x2138;
0x00004024 move a0, s0 | a0 = s0;
0x00004028 jalr t9 | t9 ();
0x0000402c lw gp, 0x18(sp) | gp = *(var_18h);
| if (v0 == 0) {
0x00004030 beqz v0, 0x4138 | goto label_58;
| }
0x00004034 lw a1, -0x7fd8(gp) | a1 = *(gp);
0x00004038 lw t9, -0x7bd0(gp) | t9 = sym.imp.strcmp;
| /* esilref: '-n' */
0x0000403c addiu a1, a1, 0x213c | a1 += 0x213c;
0x00004040 move a0, s0 | a0 = s0;
0x00004044 jalr t9 | t9 ();
0x00004048 lw gp, 0x18(sp) | gp = *(var_18h);
| if (v0 != 0) {
0x0000404c bnez v0, 0x4170 | goto label_59;
| }
0x00004050 lw v0, 4(s1) | v0 = *((s1 + 1));
0x00004054 addiu s2, s2, 1 | s2++;
0x00004058 sw s2, 0x40(sp) | *(var_40h) = s2;
| if (v0 == 0) {
0x0000405c beqz v0, 0x3d04 | goto label_11;
| }
0x00004060 lw t9, -0x7eb8(gp) | t9 = sym.parse_sar_n_opt;
| label_14:
0x00004064 lw a2, -0x7fc8(gp) | a2 = *(gp);
0x00004068 addiu a1, sp, 0x40 | a1 = sp + 0x40;
0x0000406c move a0, s3 | a0 = s3;
0x00004070 jalr t9 | t9 ();
0x00004074 lw gp, 0x18(sp) | gp = *(var_18h);
| if (v0 != 0) {
0x00004078 bnez v0, 0x3d04 | goto label_11;
| }
0x0000407c lw s2, 0x40(sp) | s2 = *(var_40h);
0x00004080 b 0x357c | goto label_0;
| label_56:
0x00004084 lw a1, -0x7fd8(gp) | a1 = *(gp);
0x00004088 move a0, s5 | a0 = s5;
0x0000408c move t9, s2 | t9 = s2;
| /* esilref: '-S' */
0x00004090 addiu a1, a1, 0x21c8 | a1 += 0x21c8;
0x00004094 bal 0x485c | sym_salloc ();
0x00004098 lw gp, 0x18(sp) | gp = *(var_18h);
0x0000409c lui v0, 0x554e | v0 = 0x554e5f41;
0x000040a0 addiu v0, v0, 0x5f41 |
0x000040a4 lw s0, -0x7fc8(gp) | s0 = *(gp);
0x000040a8 sw v0, 0x44c(sp) | *(var_44ch) = v0;
0x000040ac addiu v0, zero, 0x4c4c | v0 = 0x4c4c;
0x000040b0 addiu s6, s3, 2 | s6 = s3 + 2;
0x000040b4 sh v0, 4(s1) | *(var_4h) = v0;
0x000040b8 sb zero, 6(s1) | *(var_6h) = 0;
0x000040bc addiu fp, s0, 0x9c | fp = s0 + 0x9c;
0x000040c0 addiu s5, zero, 0x2c | s5 = 0x2c;
0x000040c4 b 0x40d4 | goto label_60;
| label_12:
0x000040c8 addiu s0, s0, 4 | s0 += 4;
| do {
0x000040cc move a1, s1 | a1 = s1;
| if (fp == s0) {
0x000040d0 beq fp, s0, 0x4120 | goto label_61;
| }
| label_60:
0x000040d4 lw s7, (s0) | s7 = *(s0);
0x000040d8 lw v0, 4(s7) | v0 = *((s7 + 1));
0x000040dc andi v0, v0, 2 | v0 &= 2;
0x000040e0 beql v0, zero, 0x40cc |
| } while (v0 == 0);
0x000040e4 addiu s0, s0, 4 | s0 += 4;
0x000040e8 lw t9, -0x7c68(gp) | t9 = sym.imp.strlen;
0x000040ec move a0, s1 | a0 = s1;
0x000040f0 jalr t9 | t9 ();
0x000040f4 addu v0, s1, v0 | v0 = s1 + v0;
0x000040f8 lw gp, 0x18(sp) | gp = *(var_18h);
0x000040fc sb s5, (v0) | *(v0) = s5;
0x00004100 sb zero, 1(v0) | *(var_1h) = 0;
0x00004104 lw a1, 0x50(s7) | a1 = *((s7 + 20));
0x00004108 lw t9, -0x7ca4(gp) | t9 = sym.imp.__strcpy_chk;
0x0000410c addiu a2, zero, 0x400 | a2 = 0x400;
0x00004110 addiu a0, v0, 1 | a0 = v0 + 1;
0x00004114 jalr t9 | t9 ();
0x00004118 lw gp, 0x18(sp) | gp = *(var_18h);
0x0000411c b 0x40c8 | goto label_12;
| label_61:
0x00004120 move t9, s2 | t9 = s2;
0x00004124 move a0, s6 | a0 = s6;
0x00004128 bal 0x485c | sym_salloc ();
0x0000412c addiu s3, s3, 3 | s3 += 3;
0x00004130 lw gp, 0x18(sp) | gp = *(var_18h);
0x00004134 b 0x3f08 | goto label_13;
| label_58:
0x00004138 lw v0, 4(s1) | v0 = *((s1 + 1));
0x0000413c addiu s2, s2, 1 | s2++;
0x00004140 sw s2, 0x40(sp) | *(var_40h) = s2;
| if (v0 == 0) {
0x00004144 beqz v0, 0x3d04 | goto label_11;
| }
0x00004148 lw t9, -0x7eb4(gp) | t9 = sym.parse_sar_m_opt;
0x0000414c b 0x4064 | goto label_14;
| label_57:
0x00004150 move a0, s5 | a0 = s5;
0x00004154 addiu s3, s3, 2 | s3 += 2;
0x00004158 move t9, s2 | t9 = s2;
| /* esilref: '-D' */
0x0000415c addiu a1, a1, 0x20f8 | a1 += 0x20f8;
0x00004160 bal 0x485c | sym_salloc ();
0x00004164 move s5, s3 | s5 = s3;
0x00004168 lw gp, 0x18(sp) | gp = *(var_18h);
0x0000416c b 0x3ec4 | goto label_15;
| label_59:
0x00004170 lw t9, -0x7c68(gp) | t9 = sym.imp.strlen;
0x00004174 move a0, s0 | a0 = s0;
0x00004178 jalr t9 | t9 ();
0x0000417c move s1, v0 | s1 = v0;
0x00004180 addiu v0, v0, -2 | v0 += -2;
0x00004184 sltiu v0, v0, 2 | v0 = (v0 < 2) ? 1 : 0;
0x00004188 lw gp, 0x18(sp) | gp = *(var_18h);
0x0000418c lbu a0, (s0) | a0 = *(s0);
| if (v0 == 0) {
0x00004190 beqz v0, 0x4228 | goto label_62;
| }
0x00004194 addiu v0, zero, 0x2d | v0 = 0x2d;
0x00004198 lw a1, -0x7fd8(gp) | a1 = *(gp);
| if (a0 == v0) {
0x0000419c beq a0, v0, 0x42b4 | goto label_63;
| }
0x000041a0 lw v0, -0x7fa0(gp) | v0 = *(gp);
| label_17:
0x000041a4 lw a1, -0x7fd8(gp) | a1 = *(gp);
0x000041a8 lw t9, -0x7cec(gp) | t9 = sym.imp.strspn;
0x000041ac lw a2, (v0) | a2 = *(v0);
| /* str.0123456789 */
0x000041b0 addiu a1, a1, 0x2104 | a1 += 0x2104;
0x000041b4 sw a2, 0x3c(sp) | *(var_3ch) = a2;
0x000041b8 move a0, s0 | a0 = s0;
0x000041bc sw v0, 0x38(sp) | *(var_38h) = v0;
0x000041c0 jalr t9 | t9 ();
0x000041c4 lw a2, 0x3c(sp) | a2 = *(var_3ch);
0x000041c8 lw gp, 0x18(sp) | gp = *(var_18h);
| if (a2 < 0) {
0x000041cc bltz a2, 0x427c | goto label_64;
| }
0x000041d0 lw t9, -0x7efc(gp) | t9 = sym.usage;
| if (s1 != v0) {
0x000041d4 bne s1, v0, 0x3d08 | goto label_16;
| }
| if (a2 == 0) {
0x000041d8 beqz a2, 0x3d08 | goto label_16;
| }
0x000041dc nop |
0x000041e0 lw s1, -0x7f7c(gp) | s1 = *(gp);
0x000041e4 lw v0, (s1) | v0 = *(s1);
0x000041e8 addiu s2, s2, 1 | s2++;
| if (v0 != 0) {
0x000041ec bnez v0, 0x3d04 | goto label_11;
| }
0x000041f0 lw t9, -0x7ce0(gp) | t9 = sym.imp.strtol;
0x000041f4 addiu a2, zero, 0xa | a2 = 0xa;
0x000041f8 move a1, zero | a1 = 0;
0x000041fc move a0, s0 | a0 = s0;
0x00004200 sw s2, 0x40(sp) | *(var_40h) = s2;
0x00004204 jalr t9 | t9 ();
0x00004208 lw gp, 0x18(sp) | gp = *(var_18h);
0x0000420c sw v0, (s1) | *(s1) = v0;
| if (v0 <= 0) {
0x00004210 blez v0, 0x3d04 | goto label_11;
| }
0x00004214 lw s2, 0x40(sp) | s2 = *(var_40h);
0x00004218 b 0x357c | goto label_0;
| label_23:
0x0000421c lw t9, -0x7eb0(gp) | t9 = sym.which_sadc;
0x00004220 bal 0x4774 | sym_which_sadc ();
0x00004224 nop |
| label_62:
0x00004228 addiu v0, zero, 0x2d | v0 = 0x2d;
0x0000422c lw v0, -0x7fa0(gp) | v0 = *(gp);
| if (a0 != v0) {
0x00004230 bne a0, v0, 0x41a4 | goto label_17;
| }
| label_19:
0x00004234 lw t9, -0x7eac(gp) | t9 = sym.parse_sar_opt;
0x00004238 lw a3, -0x7fac(gp) | a3 = *(gp);
0x0000423c lw a2, -0x7fc8(gp) | a2 = *(gp);
0x00004240 sw zero, 0x10(sp) | *(var_10h) = 0;
0x00004244 addiu a1, sp, 0x40 | a1 = sp + 0x40;
0x00004248 move a0, s3 | a0 = s3;
0x0000424c bal 0x9efc | sym_parse_sar_opt ();
0x00004250 lw gp, 0x18(sp) | gp = *(var_18h);
| if (v0 == 0) {
0x00004254 beqz v0, 0x3af0 | goto label_18;
| }
0x00004258 addiu v1, zero, 1 | v1 = 1;
0x0000425c lw t9, -0x7efc(gp) | t9 = sym.usage;
| if (v0 == v1) {
0x00004260 beq v0, v1, 0x3d08 | goto label_16;
| }
| label_21:
0x00004264 lw t9, -0x7c54(gp) | t9 = sym.imp.exit;
0x00004268 addiu a0, zero, 1 | a0 = 1;
0x0000426c jalr t9 | t9 ();
| label_27:
0x00004270 lw t9, -0x7ea8(gp) | t9 = sym.display_help;
0x00004274 lw a0, (s3) | a0 = *(s3);
0x00004278 bal 0x45c4 | sym_display_help ();
| label_64:
0x0000427c addiu s2, s2, 1 | s2++;
| if (s1 != v0) {
0x00004280 bne s1, v0, 0x3d04 | goto label_11;
| }
0x00004284 lw t9, -0x7ce0(gp) | t9 = sym.imp.strtol;
0x00004288 addiu a2, zero, 0xa | a2 = 0xa;
0x0000428c move a1, zero | a1 = 0;
0x00004290 move a0, s0 | a0 = s0;
0x00004294 sw s2, 0x40(sp) | *(var_40h) = s2;
0x00004298 jalr t9 | t9 ();
0x0000429c lw v1, 0x38(sp) | v1 = *(var_38h);
0x000042a0 lw gp, 0x18(sp) | gp = *(var_18h);
0x000042a4 sw v0, (v1) | *(v1) = v0;
| if (v0 < 0) {
0x000042a8 bltz v0, 0x3d04 | goto label_11;
| }
0x000042ac lw s2, 0x40(sp) | s2 = *(var_40h);
0x000042b0 b 0x357c | goto label_0;
| label_63:
0x000042b4 lw t9, -0x7cec(gp) | t9 = sym.imp.strspn;
0x000042b8 addiu s0, s0, 1 | s0++;
| /* str.0123456789 */
0x000042bc addiu a1, a1, 0x2104 | a1 += 0x2104;
0x000042c0 move a0, s0 | a0 = s0;
0x000042c4 jalr t9 | t9 ();
0x000042c8 xori v1, s1, 2 | v1 = s1 ^ 2;
0x000042cc addiu a1, zero, 1 | a1 = 1;
0x000042d0 addiu a0, zero, 2 | a0 = 2;
| if (v1 != 0) {
0x000042d4 movz a0, a1, v1 | a0 = a1;
| }
0x000042d8 lw gp, 0x18(sp) | gp = *(var_18h);
| if (v0 != a0) {
0x000042dc bne v0, a0, 0x4234 | goto label_19;
| }
0x000042e0 lb v0, 0x4c(sp) | v0 = *(var_4ch);
0x000042e4 lw v0, 0x2c(sp) | v0 = *(var_2ch);
| if (v0 != 0) {
0x000042e8 bnez v0, 0x3d04 | goto label_11;
| }
0x000042ec addiu s2, s2, 1 | s2++;
| if (v0 != 0) {
0x000042f0 bnez v0, 0x3d04 | goto label_11;
| }
0x000042f4 lw t9, -0x7ce0(gp) | t9 = sym.imp.strtol;
0x000042f8 sw s2, 0x40(sp) | *(var_40h) = s2;
0x000042fc addiu a2, zero, 0xa | a2 = 0xa;
0x00004300 move a1, zero | a1 = 0;
0x00004304 move a0, s0 | a0 = s0;
0x00004308 jalr t9 | t9 ();
0x0000430c sw v0, 0x2c(sp) | *(var_2ch) = v0;
0x00004310 lw gp, 0x18(sp) | gp = *(var_18h);
0x00004314 lw s2, 0x40(sp) | s2 = *(var_40h);
0x00004318 b 0x357c | goto label_0;
| label_54:
0x0000431c lw a0, -0x7fd8(gp) | a0 = *(gp);
0x00004320 lw t9, -0x7c30(gp) | t9 = sym.imp.perror;
| /* str.dup2 */
0x00004324 addiu a0, a0, 0x21b8 | a0 += 0x21b8;
0x00004328 b 0x3f74 | goto label_20;
| label_32:
0x0000432c lw a0, -0x7fd8(gp) | a0 = *(gp);
0x00004330 lw t9, -0x7c34(gp) | t9 = sym.imp.fwrite;
0x00004334 lw a3, (v0) | a3 = *(v0);
| /* str._f_and__o_options_are_mutually_exclusive_n */
0x00004338 addiu a0, a0, 0x2140 | a0 += 0x2140;
0x0000433c addiu a2, zero, 0x29 | a2 = 0x29;
| do {
0x00004340 addiu a1, zero, 1 | a1 = 1;
0x00004344 jalr t9 | t9 ();
0x00004348 lw gp, 0x18(sp) | gp = *(var_18h);
0x0000434c b 0x4264 | goto label_21;
| label_38:
0x00004350 lw t9, -0x7c10(gp) | t9 = sym.imp.__stack_chk_fail;
0x00004354 jalr t9 | t9 ();
0x00004358 nop |
| label_51:
0x0000435c lw a0, -0x7fd8(gp) | a0 = *(gp);
0x00004360 lw t9, -0x7c34(gp) | t9 = sym.imp.fwrite;
0x00004364 lw a3, (v0) | a3 = *(v0);
| /* str.Not_reading_from_a_system_activity_file__use__f_option__n */
0x00004368 addiu a0, a0, 0x216c | a0 += 0x216c;
0x0000436c addiu a2, zero, 0x38 | a2 = 0x38;
0x00004370 b 0x4340 |
| } while (1);
| label_52:
0x00004374 lw a0, -0x7fd8(gp) | a0 = *(gp);
0x00004378 lw t9, -0x7c30(gp) | t9 = sym.imp.perror;
| /* str.pipe */
0x0000437c addiu a0, a0, 0x21a8 | a0 += 0x21a8;
0x00004380 b 0x3f74 | goto label_20;
| label_53:
0x00004384 lw a0, -0x7fd8(gp) | a0 = *(gp);
0x00004388 lw t9, -0x7c30(gp) | t9 = sym.imp.perror;
| /* str.fork */
0x0000438c addiu a0, a0, 0x21b0 | a0 += 0x21b0;
0x00004390 b 0x3f74 | goto label_20;
| }
; assembly | /* r2dec pseudo code output */
| /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/bin/sar @ 0x97e4 */
| #include <stdint.h>
|
; (fcn) sym.check_file_actlst () | void check_file_actlst () {
0x000097e4 lui gp, 3 |
0x000097e8 addiu gp, gp, 0x436c |
0x000097ec addu gp, gp, t9 | gp += t9;
0x000097f0 addiu sp, sp, -0x60 |
0x000097f4 addiu v0, zero, 1 | v0 = 1;
0x000097f8 sw s6, 0x50(sp) | *(var_50h) = s6;
0x000097fc lw s6, 0x84(sp) | s6 = *(arg_84h);
0x00009800 sw s0, 0x38(sp) | *(var_38h) = s0;
0x00009804 sw a3, 0x6c(sp) | *(arg_6ch) = a3;
0x00009808 lw t9, -0x7e34(gp) | t9 = sym.sa_open_read_magic;
0x0000980c move s0, a2 | s0 = a2;
0x00009810 lw a3, 0x80(sp) | a3 = *(arg_80h);
0x00009814 lw a2, 0x70(sp) | a2 = *(arg_70h);
0x00009818 sw gp, 0x18(sp) | *(var_18h) = gp;
0x0000981c sw s7, 0x54(sp) | *(var_54h) = s7;
0x00009820 sw s2, 0x40(sp) | *(var_40h) = s2;
0x00009824 sw ra, 0x5c(sp) | *(var_5ch) = ra;
0x00009828 sw fp, 0x58(sp) | *(var_58h) = fp;
0x0000982c sw s5, 0x4c(sp) | *(var_4ch) = s5;
0x00009830 sw s4, 0x48(sp) | *(var_48h) = s4;
0x00009834 sw s3, 0x44(sp) | *(var_44h) = s3;
0x00009838 sw s1, 0x3c(sp) | *(var_3ch) = s1;
0x0000983c sw v0, 0x14(sp) | *(var_14h) = v0;
0x00009840 sw s6, 0x10(sp) | *(var_10h) = s6;
0x00009844 sw a1, 0x64(sp) | *(arg_64h) = a1;
0x00009848 move s7, a0 | s7 = a0;
0x0000984c lw s2, 0x74(sp) | s2 = *(arg_74h);
0x00009850 bal 0x94f4 | sym_sa_open_read_magic ();
0x00009854 lw gp, 0x18(sp) | gp = *(var_18h);
| if (v0 < 0) {
0x00009858 bltz v0, 0x9d90 | goto label_9;
| }
0x0000985c lw v0, 0x70(sp) | v0 = *(arg_70h);
0x00009860 lw s1, 8(v0) | s1 = *((v0 + 2));
0x00009864 addiu v0, s1, -1 | v0 = s1 + -1;
0x00009868 sltiu v0, v0, 0x2000 | v0 = (v0 < 0x2000) ? 1 : 0;
0x0000986c lw t9, -0x7cfc(gp) | t9 = sym.imp.calloc;
| if (v0 == 0) {
0x00009870 beqz v0, 0x9e2c | goto label_10;
| }
0x00009874 addiu a1, zero, 1 | a1 = 1;
0x00009878 move a0, s1 | a0 = s1;
0x0000987c jalr t9 | t9 ();
0x00009880 move s3, v0 | s3 = v0;
0x00009884 lw gp, 0x18(sp) | gp = *(var_18h);
| if (v0 == 0) {
0x00009888 beqz v0, 0x9e70 | goto label_11;
| }
0x0000988c lw t9, -0x7e50(gp) | t9 = sym.sa_fread;
0x00009890 lw a0, (s7) | a0 = *(s7);
0x00009894 sw t9, 0x28(sp) | *(var_28h) = t9;
0x00009898 addiu a3, zero, 1 | a3 = 1;
0x0000989c move a2, s1 | a2 = s1;
0x000098a0 move a1, v0 | a1 = v0;
0x000098a4 sw zero, 0x10(sp) | *(var_10h) = 0;
0x000098a8 bal 0x8bd4 | sym_sa_fread ();
0x000098ac lw v0, 0x70(sp) | v0 = *(arg_70h);
0x000098b0 lw gp, 0x18(sp) | gp = *(var_18h);
0x000098b4 move a2, s3 | a2 = s3;
0x000098b8 lw a3, 8(v0) | a3 = *((v0 + 2));
0x000098bc addiu v0, zero, 0x148 | v0 = aav.0x00000148;
0x000098c0 lw t9, -0x7e48(gp) | t9 = sym.remap_struct;
0x000098c4 sw v0, 0x10(sp) | *(var_10h) = v0;
0x000098c8 lw v0, 0x70(sp) | v0 = *(arg_70h);
0x000098cc lw a0, -0x7e30(gp) | a0 = *(gp);
0x000098d0 sw t9, 0x24(sp) | *(var_24h) = t9;
0x000098d4 sw a3, 0x14(sp) | *(var_14h) = a3;
0x000098d8 addiu a1, v0, 0x10 | a1 = v0 + 0x10;
0x000098dc bal 0x88b8 | sym_remap_struct ();
0x000098e0 lw gp, 0x18(sp) | gp = *(var_18h);
| if (v0 < 0) {
0x000098e4 bltz v0, 0x9e1c | goto label_12;
| }
0x000098e8 move v1, s3 | v1 = s3;
0x000098ec move v0, s2 | v0 = s2;
0x000098f0 addiu t0, s3, 0x140 | t0 = s3 + 0x140;
| do {
0x000098f4 lw a3, (v1) | a3 = *(v1);
0x000098f8 lw a2, 4(v1) | a2 = *((v1 + 1));
0x000098fc lw a1, 8(v1) | a1 = *((v1 + 2));
0x00009900 lw a0, 0xc(v1) | a0 = *((v1 + 3));
0x00009904 swl a3, 3(v0) | __asm ("swl a3, 3(v0)");
0x00009908 swr a3, (v0) | __asm ("swr a3, (v0)");
0x0000990c swl a2, 7(v0) | __asm ("swl a2, 7(v0)");
0x00009910 swr a2, 4(v0) | __asm ("swr a2, 4(v0)");
0x00009914 swl a1, 0xb(v0) | __asm ("swl a1, 0xb(v0)");
0x00009918 swr a1, 8(v0) | __asm ("swr a1, 8(v0)");
0x0000991c swl a0, 0xf(v0) | __asm ("swl a0, 0xf(v0)");
0x00009920 addiu v1, v1, 0x10 | v1 += 0x10;
0x00009924 swr a0, 0xc(v0) | __asm ("swr a0, 0xc(v0)");
0x00009928 addiu v0, v0, 0x10 | v0 += 0x10;
0x0000992c bne v1, t0, 0x98f4 |
| } while (v1 != t0);
0x00009930 lw a0, (v1) | a0 = *(v1);
0x00009934 lw v1, 4(v1) | v1 = *((v1 + 1));
0x00009938 swl a0, 3(v0) | __asm ("swl a0, 3(v0)");
0x0000993c swr a0, (v0) | __asm ("swr a0, (v0)");
0x00009940 swl v1, 7(v0) | __asm ("swl v1, 7(v0)");
0x00009944 lw t9, -0x7bf0(gp) | t9 = sym.imp.free;
0x00009948 swr v1, 4(v0) | __asm ("swr v1, 4(v0)");
0x0000994c move a0, s3 | a0 = s3;
0x00009950 jalr t9 | t9 ();
0x00009954 lb a2, 0x3e(s2) | a2 = *((s2 + 62));
0x00009958 lw v0, 0x88(sp) | v0 = *(arg_88h);
0x0000995c xori a2, a2, 8 | a2 ^= 8;
0x00009960 sltiu a2, a2, 1 | a2 = (a2 < 1) ? 1 : 0;
0x00009964 lw gp, 0x18(sp) | gp = *(var_18h);
0x00009968 sw a2, (v0) | *(v0) = a2;
0x0000996c lw v0, (s6) | v0 = *(s6);
0x00009970 lw a0, -0x7e30(gp) | a0 = *(gp);
| if (v0 == 0) {
0x00009974 bnel v0, zero, 0x9e08 | goto label_13;
| }
| label_7:
0x00009978 lw s1, 0x14(s2) | s1 = *((s2 + 5));
0x0000997c sltiu v0, s1, 0x101 | v0 = (s1 < 0x101) ? 1 : 0;
| if (v0 == 0) {
0x00009980 beql v0, zero, 0x9e30 | goto label_14;
| }
0x00009984 lw a0, (s7) | a0 = *(s7);
0x00009988 lw a0, 0x34(s2) | a0 = *((s2 + 13));
0x0000998c sltiu v0, a0, 0x401 | v0 = (a0 < 0x401) ? 1 : 0;
| if (v0 == 0) {
0x00009990 beql v0, zero, 0x9e30 | goto label_14;
| }
0x00009994 lw a0, (s7) | a0 = *(s7);
0x00009998 lw v1, 0x38(s2) | v1 = *((s2 + 14));
0x0000999c sltiu v0, v1, 0x201 | v0 = (v1 < 0x201) ? 1 : 0;
| if (v0 == 0) {
0x000099a0 beql v0, zero, 0x9e30 | goto label_14;
| }
0x000099a4 lw a0, (s7) | a0 = *(s7);
0x000099a8 lw v0, 0x1c(s2) | v0 = *((s2 + 7));
0x000099ac lw a2, 0x20(s2) | a2 = *((s2 + 8));
0x000099b0 lw a1, 0x24(s2) | a1 = *((s2 + 9));
0x000099b4 addu v0, v0, a2 | v0 += a2;
0x000099b8 sll v0, v0, 1 | v0 <<= 1;
0x000099bc addu v0, v0, a1 | v0 += a1;
0x000099c0 sll v0, v0, 2 | v0 <<= 2;
0x000099c4 sltu v0, a0, v0 | v0 = (a0 < v0) ? 1 : 0;
0x000099c8 lw a0, (s7) | a0 = *(s7);
| if (v0 == 0) {
0x000099cc bnel v0, zero, 0x9e30 | goto label_14;
| }
0x000099d0 lw v0, 0x28(s2) | v0 = *((s2 + 10));
0x000099d4 lw a2, 0x2c(s2) | a2 = *((s2 + 11));
0x000099d8 lw a1, 0x30(s2) | a1 = *((s2 + 12));
0x000099dc addu v0, v0, a2 | v0 += a2;
0x000099e0 sll v0, v0, 1 | v0 <<= 1;
0x000099e4 addu v0, v0, a1 | v0 += a1;
0x000099e8 sll v0, v0, 2 | v0 <<= 2;
0x000099ec sltu v0, v1, v0 | v0 = (v1 < v0) ? 1 : 0;
0x000099f0 lw a0, (s7) | a0 = *(s7);
| if (v0 == 0) {
0x000099f4 bnel v0, zero, 0x9e30 | goto label_14;
| }
0x000099f8 lw t9, -0x7cfc(gp) | t9 = sym.imp.calloc;
| if (a0 == 0) {
0x000099fc beqz a0, 0x9e90 | goto label_15;
| }
0x00009a00 addiu a1, zero, 1 | a1 = 1;
0x00009a04 jalr t9 | t9 ();
0x00009a08 move s3, v0 | s3 = v0;
0x00009a0c lw gp, 0x18(sp) | gp = *(var_18h);
| if (v0 == 0) {
0x00009a10 beqz v0, 0x9e70 | goto label_11;
| }
0x00009a14 sll a1, s1, 3 | a1 = s1 << 3;
0x00009a18 lw v0, 0x78(sp) | v0 = *(arg_78h);
0x00009a1c addu a1, a1, s1 | a1 += s1;
0x00009a20 sll a1, a1, 2 | a1 <<= 2;
0x00009a24 lw fp, (v0) | fp = *(v0);
| if (a1 != 0) {
0x00009a28 bnez a1, 0x9ddc | goto label_16;
| }
| if (fp == 0) {
| label_8:
0x00009a2c beql fp, zero, 0x9e94 | goto label_17;
| }
0x00009a30 lw v0, -0x7be8(gp) | v0 = *((gp - 7930));
0x00009a34 lw v1, 0x14(s2) | v1 = *((s2 + 5));
| label_6:
0x00009a38 move s5, zero | s5 = 0;
| if (v1 == 0) {
0x00009a3c beqz v1, 0x9ca8 | goto label_18;
| }
0x00009a40 lw v0, -0x7e44(gp) | v0 = sym.swap_struct;
0x00009a44 move s5, zero | s5 = 0;
0x00009a48 sw v0, 0x34(sp) | *(var_34h) = v0;
0x00009a4c lw v0, -0x7f68(gp) | v0 = sym.get_activity_position;
0x00009a50 move s4, zero | s4 = 0;
0x00009a54 sw v0, 0x30(sp) | *(var_30h) = v0;
0x00009a58 addiu v0, s2, 0x1c | v0 = s2 + 0x1c;
0x00009a5c sw v0, 0x20(sp) | *(var_20h) = v0;
0x00009a60 lui v0, 0x1000 | v0 = 0x10000001;
0x00009a64 addiu v0, v0, 1 |
0x00009a68 addiu s1, s3, 0x20 | s1 = s3 + 0x20;
0x00009a6c sw v0, 0x2c(sp) | *(var_2ch) = v0;
| label_0:
0x00009a70 lw a2, 0x34(s2) | a2 = *((s2 + 13));
0x00009a74 lw a0, (s7) | a0 = *(s7);
0x00009a78 lw t9, 0x28(sp) | t9 = *(var_28h);
0x00009a7c addiu a3, zero, 1 | a3 = 1;
0x00009a80 move a1, s3 | a1 = s3;
0x00009a84 sw zero, 0x10(sp) | *(var_10h) = 0;
0x00009a88 jalr t9 | t9 ();
0x00009a8c lw gp, 0x18(sp) | gp = *(var_18h);
0x00009a90 lw a3, 0x34(s2) | a3 = *((s2 + 13));
0x00009a94 addiu v0, zero, 0x24 | v0 = 0x24;
0x00009a98 lw a0, -0x7e2c(gp) | a0 = *(gp);
0x00009a9c lw a1, 0x20(sp) | a1 = *(var_20h);
0x00009aa0 lw t9, 0x24(sp) | t9 = *(var_24h);
0x00009aa4 sw a3, 0x14(sp) | *(var_14h) = a3;
0x00009aa8 sw v0, 0x10(sp) | *(var_10h) = v0;
0x00009aac move a2, s3 | a2 = s3;
0x00009ab0 jalr t9 | t9 ();
0x00009ab4 lw gp, 0x18(sp) | gp = *(var_18h);
| if (v0 < 0) {
0x00009ab8 bltz v0, 0x9e1c | goto label_12;
| }
0x00009abc move v1, s3 | v1 = s3;
0x00009ac0 move v0, fp | v0 = fp;
| do {
0x00009ac4 lw a3, (v1) | a3 = *(v1);
0x00009ac8 lw a2, 4(v1) | a2 = *((v1 + 1));
0x00009acc lw a1, 8(v1) | a1 = *((v1 + 2));
0x00009ad0 lw a0, 0xc(v1) | a0 = *((v1 + 3));
0x00009ad4 swl a3, 3(v0) | __asm ("swl a3, 3(v0)");
0x00009ad8 swr a3, (v0) | __asm ("swr a3, (v0)");
0x00009adc swl a2, 7(v0) | __asm ("swl a2, 7(v0)");
0x00009ae0 swr a2, 4(v0) | __asm ("swr a2, 4(v0)");
0x00009ae4 swl a1, 0xb(v0) | __asm ("swl a1, 0xb(v0)");
0x00009ae8 swr a1, 8(v0) | __asm ("swr a1, 8(v0)");
0x00009aec swl a0, 0xf(v0) | __asm ("swl a0, 0xf(v0)");
0x00009af0 addiu v1, v1, 0x10 | v1 += 0x10;
0x00009af4 swr a0, 0xc(v0) | __asm ("swr a0, 0xc(v0)");
0x00009af8 addiu v0, v0, 0x10 | v0 += 0x10;
0x00009afc bne v1, s1, 0x9ac4 |
| } while (v1 != s1);
0x00009b00 lw v1, (s1) | v1 = *(s1);
0x00009b04 swl v1, 3(v0) | __asm ("swl v1, 3(v0)");
0x00009b08 swr v1, (v0) | __asm ("swr v1, (v0)");
0x00009b0c lw v0, (s6) | v0 = *(s6);
0x00009b10 lw v0, 0x88(sp) | v0 = *(arg_88h);
| if (v0 != 0) {
0x00009b14 bnez v0, 0x9dc0 | goto label_19;
| }
| label_5:
0x00009b18 lw v1, 8(fp) | v1 = *(arg_8h);
0x00009b1c lw t9, -0x7bf0(gp) | t9 = sym.imp.free;
| if (v1 <= 0) {
0x00009b20 blez v1, 0x9e20 | goto label_20;
| }
0x00009b24 lw v0, 0xc(fp) | v0 = *(arg_6ch);
0x00009b28 addiu v0, v0, -1 | v0 += -1;
0x00009b2c sltiu v0, v0, 0x400 | v0 = (v0 < 0x400) ? 1 : 0;
| if (v0 == 0) {
0x00009b30 beqz v0, 0x9e20 | goto label_20;
| }
0x00009b34 nop |
0x00009b38 lw v0, 0x2c(sp) | v0 = *(var_2ch);
0x00009b3c slt v1, v1, v0 | v1 = (v1 < v0) ? 1 : 0;
| if (v1 == 0) {
0x00009b40 beqz v1, 0x9e20 | goto label_20;
| }
0x00009b44 nop |
0x00009b48 lw v0, 0x14(fp) | v0 = *(arg_74h);
0x00009b4c lw t9, 0x30(sp) | t9 = *(var_30h);
| if (v0 <= 0) {
0x00009b50 blez v0, 0x9e1c | goto label_12;
| }
0x00009b54 lw a1, (fp) | a1 = *(fp);
0x00009b58 move a2, zero | a2 = 0;
0x00009b5c move a0, s0 | a0 = s0;
0x00009b60 jalr t9 | t9 ();
0x00009b64 lw gp, 0x18(sp) | gp = *(var_18h);
| if (v0 >= 0) {
0x00009b68 bltz v0, 0x9c88 |
0x00009b6c sll v0, v0, 2 | v0 <<= 2;
0x00009b70 lw v1, 4(fp) | v1 = *(arg_64h);
0x00009b74 lwx v0, v0(s0) | __asm ("lwx v0, v0(s0)");
0x00009b78 lw a0, 8(v0) | a0 = *((v0 + 2));
0x00009b7c lw v1, 0x80(sp) | v1 = *(arg_80h);
| if (a0 != v1) {
0x00009b80 beq a0, v1, 0x9b90 |
0x00009b84 addiu v1, zero, 0x89 | v1 = 0x89;
| if (v1 == 0) {
0x00009b88 beqz v1, 0x9c88 | goto label_21;
| }
0x00009b8c sw v1, 8(v0) | *((v0 + 2)) = v1;
| }
0x00009b90 lw t1, 8(fp) | t1 = *(arg_8h);
0x00009b94 lw v1, 0x78(v0) | v1 = *((v0 + 30));
0x00009b98 slt v1, v1, t1 | v1 = (v1 < t1) ? 1 : 0;
0x00009b9c lw t9, -0x7bf0(gp) | t9 = sym.imp.free;
| if (v1 != 0) {
0x00009ba0 bnez v1, 0x9e20 | goto label_20;
| }
0x00009ba4 lw a1, 0x18(fp) | a1 = *(arg_78h);
0x00009ba8 lw v1, 0x54(v0) | v1 = *((v0 + 21));
0x00009bac sltu a0, a1, v1 | a0 = (a1 < v1) ? 1 : 0;
0x00009bb0 sltu v1, v1, a1 | v1 = (v1 < a1) ? 1 : 0;
| if (a0 == 0) {
0x00009bb4 bnez a0, 0x9be0 |
0x00009bb8 lw a0, 0x1c(fp) | a0 = *(arg_7ch);
0x00009bbc lw a2, 0x58(v0) | a2 = *((v0 + 22));
0x00009bc0 sltu a2, a0, a2 | a2 = (a0 < a2) ? 1 : 0;
| if (a2 != 0) {
0x00009bc4 bnez a2, 0x9be0 | goto label_22;
| }
0x00009bc8 nop |
0x00009bcc lw a3, 0x20(fp) | a3 = *(arg_80h);
0x00009bd0 lw a2, 0x5c(v0) | a2 = *((v0 + 23));
0x00009bd4 sltu a2, a3, a2 | a2 = (a3 < a2) ? 1 : 0;
| if (a2 == 0) {
0x00009bd8 beql a2, zero, 0x9c28 | goto label_23;
| }
0x00009bdc addu v1, a1, a0 | v1 = a1 + a0;
| }
| label_22:
0x00009be0 lw v1, 0x80(sp) | v1 = *(arg_80h);
| if (v1 == 0) {
0x00009be4 bnez v1, 0x9c14 |
0x00009be8 lw a0, 0x1c(fp) | a0 = *(arg_7ch);
0x00009bec lw v1, 0x58(v0) | v1 = *((v0 + 22));
0x00009bf0 sltu v1, v1, a0 | v1 = (v1 < a0) ? 1 : 0;
0x00009bf4 lw v1, 0x80(sp) | v1 = *(arg_80h);
| if (v1 != 0) {
0x00009bf8 bnez v1, 0x9c14 | goto label_24;
| }
0x00009bfc lw a3, 0x20(fp) | a3 = *(arg_80h);
0x00009c00 lw v1, 0x5c(v0) | v1 = *((v0 + 23));
0x00009c04 sltu v1, v1, a3 | v1 = (v1 < a3) ? 1 : 0;
0x00009c08 addu v1, a1, a0 | v1 = a1 + a0;
| if (v1 == 0) {
0x00009c0c beqz v1, 0x9c28 | goto label_23;
| }
0x00009c10 lw v1, 0x80(sp) | v1 = *(arg_80h);
| }
| label_24:
0x00009c14 lw t9, -0x7bf0(gp) | t9 = sym.imp.free;
| if (v1 == 0) {
0x00009c18 beqz v1, 0x9e20 | goto label_20;
| }
0x00009c1c lw a0, 0x1c(fp) | a0 = *(arg_7ch);
0x00009c20 lw a3, 0x20(fp) | a3 = *(arg_80h);
0x00009c24 addu v1, a1, a0 | v1 = a1 + a0;
| label_23:
0x00009c28 sll v1, v1, 1 | v1 <<= 1;
0x00009c2c lw a2, 0x14(fp) | a2 = *(arg_74h);
0x00009c30 addu v1, v1, a3 | v1 += a3;
0x00009c34 sll v1, v1, 2 | v1 <<= 2;
0x00009c38 sltu v1, a2, v1 | v1 = (a2 < v1) ? 1 : 0;
0x00009c3c lw t9, -0x7bf0(gp) | t9 = sym.imp.free;
| if (v1 != 0) {
0x00009c40 bnez v1, 0x9e20 | goto label_20;
| }
0x00009c44 lw v1, 0x90(v0) | v1 = *((v0 + 36));
0x00009c48 sw a1, 0x60(v0) | *((v0 + 24)) = a1;
0x00009c4c slt v1, v1, a2 | v1 = (v1 < a2) ? 1 : 0;
0x00009c50 sw a0, 0x64(v0) | *((v0 + 25)) = a0;
0x00009c54 sw a3, 0x68(v0) | *((v0 + 26)) = a3;
| if (v1 != 0) {
0x00009c58 beqz v1, 0x9c60 |
0x00009c5c sw a2, 0x90(v0) | *((v0 + 36)) = a2;
| }
0x00009c60 sw t1, 0x70(v0) | *((v0 + 28)) = t1;
0x00009c64 lw a0, 0xc(fp) | a0 = *(arg_6ch);
0x00009c68 sw a2, 0x8c(v0) | *((v0 + 35)) = a2;
0x00009c6c sw a0, 0x74(v0) | *((v0 + 29)) = a0;
0x00009c70 lw v0, 0x7c(sp) | v0 = *(arg_7ch);
0x00009c74 sll v1, s5, 2 | v1 = s5 << 2;
0x00009c78 lw a0, (fp) | a0 = *(fp);
0x00009c7c addu v0, v0, v1 | v0 += v1;
0x00009c80 addiu s5, s5, 1 | s5++;
0x00009c84 sw a0, (v0) | *(v0) = a0;
| }
| label_21:
0x00009c88 lw v0, 0x14(s2) | v0 = *((s2 + 5));
0x00009c8c addiu s4, s4, 1 | s4++;
0x00009c90 sltu v0, s4, v0 | v0 = (s4 < v0) ? 1 : 0;
0x00009c94 addiu fp, fp, 0x24 | fp += 0x24;
| if (v0 != 0) {
0x00009c98 bnez v0, 0x9a70 | goto label_0;
| }
0x00009c9c slti v0, s5, 0x27 | v0 = (s5 < 0x27) ? 1 : 0;
0x00009ca0 lw t9, -0x7bf0(gp) | t9 = sym.imp.free;
| if (v0 == 0) {
0x00009ca4 beqz v0, 0x9ccc | goto label_25;
| }
| label_18:
0x00009ca8 lw v1, 0x7c(sp) | v1 = *(arg_7ch);
0x00009cac sll v0, s5, 2 | v0 = s5 << 2;
0x00009cb0 addu v0, v1, v0 | v0 = v1 + v0;
0x00009cb4 addiu v1, zero, 0x27 | v1 = 0x27;
| do {
0x00009cb8 addiu s5, s5, 1 | s5++;
0x00009cbc sw zero, (v0) | *(v0) = 0;
0x00009cc0 addiu v0, v0, 4 | v0 += 4;
0x00009cc4 bne s5, v1, 0x9cb8 |
| } while (s5 != v1);
0x00009cc8 lw t9, -0x7bf0(gp) | t9 = sym.imp.free;
| label_25:
0x00009ccc move a0, s3 | a0 = s3;
0x00009cd0 jalr t9 | t9 ();
0x00009cd4 lw gp, 0x18(sp) | gp = *(var_18h);
0x00009cd8 addiu t2, s0, 0x9c | t2 = s0 + 0x9c;
0x00009cdc move a3, s0 | a3 = s0;
0x00009ce0 addiu t3, zero, -3 | t3 = -3;
0x00009ce4 lw t4, 0x78(sp) | t4 = *(arg_78h);
0x00009ce8 b 0x9cf8 | goto label_4;
| label_1:
0x00009cec addiu a3, a3, 4 | a3 += 4;
| do {
| label_2:
0x00009cf0 move v1, zero | v1 = 0;
| if (t2 == a3) {
0x00009cf4 beq t2, a3, 0x9d5c | goto label_26;
| }
| label_4:
0x00009cf8 lw t0, (a3) | t0 = *(a3);
0x00009cfc lw t1, 4(t0) | t1 = *((t0 + 1));
0x00009d00 andi v0, t1, 2 | v0 = t1 & 2;
0x00009d04 beql v0, zero, 0x9cf0 |
| } while (v0 == 0);
0x00009d08 addiu a3, a3, 4 | a3 += 4;
0x00009d0c lw a1, 0x14(s2) | a1 = *((s2 + 5));
0x00009d10 lw v0, (t4) | v0 = *(t4);
| if (a1 == 0) {
0x00009d14 beqz a1, 0x9d48 | goto label_27;
| }
0x00009d18 lw a2, (t0) | a2 = *(t0);
0x00009d1c lw v1, (v0) | v1 = *(v0);
0x00009d20 move v1, zero | v1 = 0;
| if (v1 == a2) {
0x00009d24 beq v1, a2, 0x9cec | goto label_1;
| }
0x00009d28 addiu v1, v1, 1 | v1++;
0x00009d2c b 0x9d40 | goto label_28;
| label_3:
0x00009d30 lw a0, (v0) | a0 = *(v0);
| if (a0 == a2) {
0x00009d34 beql a0, a2, 0x9cf0 | goto label_2;
| }
0x00009d38 addiu a3, a3, 4 | a3 += 4;
0x00009d3c addiu v1, v1, 1 | v1++;
| label_28:
0x00009d40 addiu v0, v0, 0x24 | v0 += 0x24;
| if (v1 != a1) {
0x00009d44 bne v1, a1, 0x9d30 | goto label_3;
| }
| label_27:
0x00009d48 and t1, t1, t3 | t1 &= t3;
0x00009d4c addiu a3, a3, 4 | a3 += 4;
0x00009d50 sw t1, 4(t0) | *((t0 + 1)) = t1;
| if (t2 != a3) {
0x00009d54 bne t2, a3, 0x9cf8 | goto label_4;
| }
0x00009d58 move v1, zero | v1 = 0;
| label_26:
0x00009d5c lw v0, (s0) | v0 = *(s0);
| do {
0x00009d60 lw v0, 4(v0) | v0 = *((v0 + 1));
0x00009d64 andi v0, v0, 2 | v0 &= 2;
0x00009d68 addiu v1, v1, 1 | v1++;
| if (v0 != 0) {
0x00009d6c bnel v0, zero, 0x9d70 |
| }
0x00009d70 addiu s0, s0, 4 | s0 += 4;
0x00009d74 lw v0, (s0) | v0 = *(s0);
0x00009d78 bnel t2, s0, 0x9d60 |
| } while (t2 == s0);
0x00009d7c lw v0, 0x6c(sp) | v0 = *(arg_6ch);
0x00009d80 andi v0, v0, 0x100 | v0 &= aav.0x00000100;
0x00009d84 or v1, v0, v1 | v1 = v0 | v1;
0x00009d88 lw v0, -0x7be8(gp) | v0 = *((gp - 7930));
| if (v1 != 0) {
0x00009d8c beqz v1, 0x9ec0 |
| label_9:
0x00009d90 lw ra, 0x5c(sp) | ra = *(var_5ch);
0x00009d94 lw fp, 0x58(sp) | fp = *(var_58h);
0x00009d98 lw s7, 0x54(sp) | s7 = *(var_54h);
0x00009d9c lw s6, 0x50(sp) | s6 = *(var_50h);
0x00009da0 lw s5, 0x4c(sp) | s5 = *(var_4ch);
0x00009da4 lw s4, 0x48(sp) | s4 = *(var_48h);
0x00009da8 lw s3, 0x44(sp) | s3 = *(var_44h);
0x00009dac lw s2, 0x40(sp) | s2 = *(var_40h);
0x00009db0 lw s1, 0x3c(sp) | s1 = *(var_3ch);
0x00009db4 lw s0, 0x38(sp) | s0 = *(var_38h);
0x00009db8 addiu sp, sp, 0x60 |
0x00009dbc jr ra | return v0;
| label_19:
0x00009dc0 lw a0, -0x7e2c(gp) | a0 = *(gp);
0x00009dc4 lw t9, 0x34(sp) | t9 = *(var_34h);
0x00009dc8 lw a2, (v0) | a2 = *(v0);
0x00009dcc move a1, fp | a1 = fp;
0x00009dd0 jalr t9 | t9 ();
0x00009dd4 lw gp, 0x18(sp) | gp = *(var_18h);
0x00009dd8 b 0x9b18 | goto label_5;
| label_16:
0x00009ddc lw t9, -0x7c40(gp) | t9 = sym.imp.realloc;
0x00009de0 move a0, fp | a0 = fp;
0x00009de4 jalr t9 | t9 ();
0x00009de8 lw v1, 0x78(sp) | v1 = *(arg_78h);
0x00009dec lw gp, 0x18(sp) | gp = *(var_18h);
0x00009df0 sw v0, (v1) | *(v1) = v0;
| if (v0 != 0) {
0x00009df4 beqz v0, 0x9e70 |
0x00009df8 lw v1, 0x14(s2) | v1 = *((s2 + 5));
| if (fp != 0) {
0x00009dfc beqz fp, 0x9e44 |
0x00009e00 move fp, v0 | fp = v0;
0x00009e04 b 0x9a38 | goto label_6;
| label_13:
0x00009e08 lw t9, -0x7e44(gp) | t9 = sym.swap_struct;
0x00009e0c move a1, s2 | a1 = s2;
0x00009e10 bal 0x87c8 | sym_swap_struct ();
0x00009e14 lw gp, 0x18(sp) | gp = *(var_18h);
0x00009e18 b 0x9978 | goto label_7;
| label_12:
0x00009e1c lw t9, -0x7bf0(gp) | t9 = sym.imp.free;
| label_20:
0x00009e20 move a0, s3 | a0 = s3;
0x00009e24 jalr t9 | t9 ();
0x00009e28 lw gp, 0x18(sp) | gp = *(var_18h);
| label_10:
0x00009e2c lw a0, (s7) | a0 = *(s7);
| label_14:
0x00009e30 lw a2, 0x64(sp) | a2 = *(arg_64h);
0x00009e34 lw a1, 0x70(sp) | a1 = *(arg_70h);
0x00009e38 lw t9, -0x7e40(gp) | t9 = sym.handle_invalid_sa_file;
0x00009e3c move a3, zero | a3 = 0;
0x00009e40 bal 0x6d80 | sym_handle_invalid_sa_file ();
| }
0x00009e44 sll a0, v1, 3 | a0 = v1 << 3;
0x00009e48 addu v1, a0, v1 | v1 = a0 + v1;
0x00009e4c lw t9, -0x7c7c(gp) | t9 = sym.imp.memset;
0x00009e50 sll a2, v1, 2 | a2 = v1 << 2;
0x00009e54 move a1, zero | a1 = 0;
0x00009e58 move a0, v0 | a0 = v0;
0x00009e5c jalr t9 | t9 ();
0x00009e60 lw v0, 0x78(sp) | v0 = *(arg_78h);
0x00009e64 lw gp, 0x18(sp) | gp = *(var_18h);
0x00009e68 lw fp, (v0) | fp = *(v0);
0x00009e6c b 0x9a2c | goto label_8;
| }
| label_11:
0x00009e70 lw a0, -0x7fd8(gp) | a0 = *(gp);
0x00009e74 lw t9, -0x7c30(gp) | t9 = sym.imp.perror;
| /* str.realloc */
0x00009e78 addiu a0, a0, 0x2e2c | a0 += 0x2e2c;
0x00009e7c jalr t9 | t9 ();
0x00009e80 lw gp, 0x18(sp) | gp = *(var_18h);
0x00009e84 lw t9, -0x7c54(gp) | t9 = sym.imp.exit;
0x00009e88 addiu a0, zero, 4 | a0 = 4;
0x00009e8c jalr t9 | t9 ();
| label_15:
0x00009e90 lw v0, -0x7be8(gp) | v0 = *((gp - 7930));
| label_17:
0x00009e94 lw a0, -0x7fd8(gp) | a0 = *(gp);
0x00009e98 lw t9, -0x7c34(gp) | t9 = sym.imp.fwrite;
0x00009e9c lw a3, (v0) | a3 = *(v0);
| /* str.srealloc_n */
0x00009ea0 addiu a0, a0, 0x2e34 | a0 += 0x2e34;
0x00009ea4 addiu a2, zero, 9 | a2 = 9;
0x00009ea8 addiu a1, zero, 1 | a1 = 1;
0x00009eac jalr t9 | t9 ();
0x00009eb0 lw gp, 0x18(sp) | gp = *(var_18h);
0x00009eb4 lw t9, -0x7c54(gp) | t9 = sym.imp.exit;
0x00009eb8 addiu a0, zero, 4 | a0 = 4;
0x00009ebc jalr t9 | t9 ();
| }
0x00009ec0 lw a2, -0x7fd8(gp) | a2 = *(gp);
0x00009ec4 lw t9, -0x7ccc(gp) | t9 = sym.imp.__fprintf_chk
0x00009ec8 lw a0, (v0) | a0 = *(v0);
0x00009ecc lw a3, 0x64(sp) | a3 = *(arg_64h);
| /* str.Requested_activities_not_available_in_file__s_n */
0x00009ed0 addiu a2, a2, 0x2f0c | a2 += 0x2f0c;
0x00009ed4 addiu a1, zero, 1 | a1 = 1;
0x00009ed8 jalr t9 | t9 ();
0x00009edc lw gp, 0x18(sp) | gp = *(var_18h);
0x00009ee0 lw t9, -0x7ce4(gp) | t9 = sym.imp.close;
0x00009ee4 lw a0, (s7) | a0 = *(s7);
0x00009ee8 jalr t9 | t9 ();
0x00009eec lw gp, 0x18(sp) | gp = *(var_18h);
0x00009ef0 lw t9, -0x7c54(gp) | t9 = sym.imp.exit;
0x00009ef4 addiu a0, zero, 1 | a0 = 1;
0x00009ef8 jalr t9 | return t9 ();
| }
; assembly | /* r2dec pseudo code output */
| /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/bin/sar @ 0x45c4 */
| #include <stdint.h>
|
; (fcn) sym.display_help () | void display_help () {
0x000045c4 lui gp, 4 |
0x000045c8 addiu gp, gp, -0x6a74 |
0x000045cc addu gp, gp, t9 | gp += t9;
0x000045d0 lw v0, -0x7ca0(gp) | v0 = *((gp - 7976));
0x000045d4 addiu sp, sp, -0x20 |
0x000045d8 lw a2, -0x7fd8(gp) | a2 = *(gp);
0x000045dc move a3, a0 | a3 = a0;
0x000045e0 lw t9, -0x7ccc(gp) | t9 = sym.imp.__fprintf_chk
0x000045e4 lw a0, (v0) | a0 = *(v0);
| /* str.Usage:__s___options______interval_____count______n */
0x000045e8 addiu a2, a2, 0x1684 | a2 += 0x1684;
0x000045ec sw ra, 0x1c(sp) | *(var_1ch) = ra;
0x000045f0 sw gp, 0x10(sp) | *(var_10h) = gp;
0x000045f4 addiu a1, zero, 1 | a1 = 1;
0x000045f8 jalr t9 | t9 ();
0x000045fc lw gp, 0x10(sp) | gp = *(var_10h);
0x00004600 lw a0, -0x7fd8(gp) | a0 = *(gp);
0x00004604 lw t9, -0x7c48(gp) | t9 = sym.get_itv_value;
| /* str.Main_options_and_reports__report_name_between_square_brackets_: */
0x00004608 addiu a0, a0, 0x1910 | a0 += 0x1910;
0x0000460c jalr t9 | t9 ();
0x00004610 lw gp, 0x10(sp) | gp = *(var_10h);
0x00004614 lw a0, -0x7fd8(gp) | a0 = *(gp);
0x00004618 lw t9, -0x7c48(gp) | t9 = sym.get_itv_value;
| /* str._t_B_tPaging_statistics__A_PAGE_ */
0x0000461c addiu a0, a0, 0x1950 | a0 += 0x1950;
0x00004620 jalr t9 | t9 ();
0x00004624 lw gp, 0x10(sp) | gp = *(var_10h);
0x00004628 lw a0, -0x7fd8(gp) | a0 = *(gp);
0x0000462c lw t9, -0x7c48(gp) | t9 = sym.get_itv_value;
| /* str._t_b_tI_O_and_transfer_rate_statistics__A_IO_ */
0x00004630 addiu a0, a0, 0x1970 | a0 += 0x1970;
0x00004634 jalr t9 | t9 ();
0x00004638 lw gp, 0x10(sp) | gp = *(var_10h);
0x0000463c lw a0, -0x7fd8(gp) | a0 = *(gp);
0x00004640 lw t9, -0x7c48(gp) | t9 = sym.get_itv_value;
| /* str._t_d_tBlock_devices_statistics__A_DISK_ */
0x00004644 addiu a0, a0, 0x199c | a0 += 0x199c;
0x00004648 jalr t9 | t9 ();
0x0000464c lw gp, 0x10(sp) | gp = *(var_10h);
0x00004650 lw a0, -0x7fd8(gp) | a0 = *(gp);
0x00004654 lw t9, -0x7c48(gp) | t9 = sym.get_itv_value;
| /* str._t_F___MOUNT__ */
0x00004658 addiu a0, a0, 0x19c4 | a0 += 0x19c4;
0x0000465c jalr t9 | t9 ();
0x00004660 lw gp, 0x10(sp) | gp = *(var_10h);
0x00004664 lw a0, -0x7fd8(gp) | a0 = *(gp);
0x00004668 lw t9, -0x7c48(gp) | t9 = sym.get_itv_value;
| /* str._t_tFilesystems_statistics__A_FS_ */
0x0000466c addiu a0, a0, 0x19d4 | a0 += 0x19d4;
0x00004670 jalr t9 | t9 ();
0x00004674 lw gp, 0x10(sp) | gp = *(var_10h);
0x00004678 lw a0, -0x7fd8(gp) | a0 = *(gp);
0x0000467c lw t9, -0x7c48(gp) | t9 = sym.get_itv_value;
| /* str._t_H_tHugepages_utilization_statistics__A_HUGE_ */
0x00004680 addiu a0, a0, 0x19f4 | a0 += 0x19f4;
0x00004684 jalr t9 | t9 ();
0x00004688 lw gp, 0x10(sp) | gp = *(var_10h);
0x0000468c lw a0, -0x7fd8(gp) | a0 = *(gp);
0x00004690 lw t9, -0x7c48(gp) | t9 = sym.get_itv_value;
| /* str._t_I___int_list___SUM__ALL__n_t_tInterrupts_statistics__A_IRQ_ */
0x00004694 addiu a0, a0, 0x1a24 | a0 += 0x1a24;
0x00004698 jalr t9 | t9 ();
0x0000469c lw gp, 0x10(sp) | gp = *(var_10h);
0x000046a0 lw a0, -0x7fd8(gp) | a0 = *(gp);
0x000046a4 lw t9, -0x7c48(gp) | t9 = sym.get_itv_value;
| /* str._t_m___keyword____...___ALL__n_t_tPower_management_statistics__A_PWR_...__n_t_tKeywords_are:_n_t_tCPU_tCPU_instantaneous_clock_frequency_n_t_tFAN_tFans_speed_n_t_tFREQ_tCPU_average_clock_frequency_n_t_tIN_tVoltage_inputs_n_t_tTEMP_tDevices_temperature_n_t_tUSB_tUSB_devices_plugged_into_the_system */
0x000046a8 addiu a0, a0, 0x1a64 | a0 += 0x1a64;
0x000046ac jalr t9 | t9 ();
0x000046b0 lw gp, 0x10(sp) | gp = *(var_10h);
0x000046b4 lw a0, -0x7fd8(gp) | a0 = *(gp);
0x000046b8 lw t9, -0x7c48(gp) | t9 = sym.get_itv_value;
| /* str._t_n___keyword____...___ALL__n_t_tNetwork_statistics__A_NET_...__n_t_tKeywords_are:_n_t_tDEV_tNetwork_interfaces_n_t_tEDEV_tNetwork_interfaces__errors__n_t_tNFS_tNFS_client_n_t_tNFSD_tNFS_server_n_t_tSOCK_tSockets_t_v4__n_t_tIP_tIP_traffic_t_v4__n_t_tEIP_tIP_traffic_t_v4___errors__n_t_tICMP_tICMP_traffic_t_v4__n_t_tEICMP_tICMP_traffic_t_v4___errors__n_t_tTCP_tTCP_traffic_t_v4__n_t_tETCP_tTCP_traffic_t_v4___errors__n_t_tUDP_tUDP_traffic_t_v4__n_t_tSOCK6_tSockets_t_v6__n_t_tIP6_tIP_traffic_t_v6__n_t_tEIP6_tIP_traffic_t_v6___errors__n_t_tICMP6_tICMP_traffic_t_v6__n_t_tEICMP6_tICMP_traffic_t_v6___errors__n_t_tUDP6_tUDP_traffic_t_v6__n_t_tFC_tFibre_channel_HBAs_n_t_tSOFT_tSoftware_based_network_processing */
0x000046bc addiu a0, a0, 0x1b74 | a0 += 0x1b74;
0x000046c0 jalr t9 | t9 ();
0x000046c4 lw gp, 0x10(sp) | gp = *(var_10h);
0x000046c8 lw a0, -0x7fd8(gp) | a0 = *(gp);
0x000046cc lw t9, -0x7c48(gp) | t9 = sym.get_itv_value;
| /* str._t_q_tQueue_length_and_load_average_statistics__A_QUEUE_ */
0x000046d0 addiu a0, a0, 0x1dd8 | a0 += 0x1dd8;
0x000046d4 jalr t9 | t9 ();
0x000046d8 lw gp, 0x10(sp) | gp = *(var_10h);
0x000046dc lw a0, -0x7fd8(gp) | a0 = *(gp);
0x000046e0 lw t9, -0x7c48(gp) | t9 = sym.get_itv_value;
| /* str._t_r___ALL___n_t_tMemory_utilization_statistics__A_MEMORY_ */
0x000046e4 addiu a0, a0, 0x1e10 | a0 += 0x1e10;
0x000046e8 jalr t9 | t9 ();
0x000046ec lw gp, 0x10(sp) | gp = *(var_10h);
0x000046f0 lw a0, -0x7fd8(gp) | a0 = *(gp);
0x000046f4 lw t9, -0x7c48(gp) | t9 = sym.get_itv_value;
| /* str._t_S_tSwap_space_utilization_statistics__A_MEMORY_ */
0x000046f8 addiu a0, a0, 0x1e48 | a0 += 0x1e48;
0x000046fc jalr t9 | t9 ();
0x00004700 lw gp, 0x10(sp) | gp = *(var_10h);
0x00004704 lw a0, -0x7fd8(gp) | a0 = *(gp);
0x00004708 lw t9, -0x7c48(gp) | t9 = sym.get_itv_value;
| /* str._t_u___ALL___n_t_tCPU_utilization_statistics__A_CPU_ */
0x0000470c addiu a0, a0, 0x1e7c | a0 += 0x1e7c;
0x00004710 jalr t9 | t9 ();
0x00004714 lw gp, 0x10(sp) | gp = *(var_10h);
0x00004718 lw a0, -0x7fd8(gp) | a0 = *(gp);
0x0000471c lw t9, -0x7c48(gp) | t9 = sym.get_itv_value;
| /* str._t_v_tKernel_tables_statistics__A_KTABLES_ */
0x00004720 addiu a0, a0, 0x1eb0 | a0 += 0x1eb0;
0x00004724 jalr t9 | t9 ();
0x00004728 lw gp, 0x10(sp) | gp = *(var_10h);
0x0000472c lw a0, -0x7fd8(gp) | a0 = *(gp);
0x00004730 lw t9, -0x7c48(gp) | t9 = sym.get_itv_value;
| /* str._t_W_tSwapping_statistics__A_SWAP_ */
0x00004734 addiu a0, a0, 0x1edc | a0 += 0x1edc;
0x00004738 jalr t9 | t9 ();
0x0000473c lw gp, 0x10(sp) | gp = *(var_10h);
0x00004740 lw a0, -0x7fd8(gp) | a0 = *(gp);
0x00004744 lw t9, -0x7c48(gp) | t9 = sym.get_itv_value;
| /* str._t_w_tTask_creation_and_system_switching_statistics__A_PCSW_ */
0x00004748 addiu a0, a0, 0x1f00 | a0 += 0x1f00;
0x0000474c jalr t9 | t9 ();
0x00004750 lw gp, 0x10(sp) | gp = *(var_10h);
0x00004754 lw a0, -0x7fd8(gp) | a0 = *(gp);
0x00004758 lw t9, -0x7c48(gp) | t9 = sym.get_itv_value;
| /* str._t_y_tTTY_devices_statistics__A_SERIAL_ */
0x0000475c addiu a0, a0, 0x1f3c | a0 += 0x1f3c;
0x00004760 jalr t9 | t9 ();
0x00004764 lw gp, 0x10(sp) | gp = *(var_10h);
0x00004768 lw t9, -0x7c54(gp) | t9 = sym.imp.exit;
0x0000476c move a0, zero | a0 = 0;
0x00004770 jalr t9 | return t9 ();
| }
; assembly | /* r2dec pseudo code output */
| /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/bin/sar @ 0x6cc8 */
| #include <stdint.h>
|
; (fcn) sym.display_sa_file_version () | void display_sa_file_version () {
0x00006cc8 lui gp, 3 |
0x00006ccc addiu gp, gp, 0x6e88 |
0x00006cd0 addu gp, gp, t9 | gp += t9;
0x00006cd4 addiu sp, sp, -0x30 |
0x00006cd8 lw a2, -0x7fd8(gp) | a2 = *(gp);
0x00006cdc sw gp, 0x18(sp) | *(var_18h_3) = gp;
0x00006ce0 sw s1, 0x28(sp) | *(var_28h_3) = s1;
0x00006ce4 sw s0, 0x24(sp) | *(var_24h) = s0;
0x00006ce8 sw ra, 0x2c(sp) | *(var_2ch) = ra;
0x00006cec lbu v1, 6(a1) | v1 = *((a1 + 6));
0x00006cf0 lbu v0, 5(a1) | v0 = *((a1 + 5));
0x00006cf4 lbu a3, 4(a1) | a3 = *((a1 + 4));
0x00006cf8 lw t9, -0x7ccc(gp) | t9 = sym.imp.__fprintf_chk
0x00006cfc move s0, a1 | s0 = a1;
0x00006d00 sw v1, 0x14(sp) | *(var_14h_3) = v1;
0x00006d04 sw v0, 0x10(sp) | *(var_10h_4) = v0;
| /* str.File_created_by_sar_sadc_from_sysstat_version__d._d._d */
0x00006d08 addiu a2, a2, 0x2d64 | a2 += 0x2d64;
0x00006d0c addiu a1, zero, 1 | a1 = 1;
0x00006d10 move s1, a0 | s1 = a0;
0x00006d14 jalr t9 | t9 ();
0x00006d18 lbu a3, 7(s0) | a3 = *((s0 + 7));
0x00006d1c lw gp, 0x18(sp) | gp = *(var_18h_3);
| if (a3 == 0) {
0x00006d20 bnez a3, 0x6d44 |
0x00006d24 lw ra, 0x2c(sp) | ra = *(var_2ch);
0x00006d28 lw s0, 0x24(sp) | s0 = *(var_24h);
0x00006d2c move a1, s1 | a1 = s1;
0x00006d30 lw t9, -0x7cbc(gp) | t9 = sym.imp.fputc;
0x00006d34 lw s1, 0x28(sp) | s1 = *(var_28h_3);
0x00006d38 addiu a0, zero, 0xa | a0 = 0xa;
0x00006d3c addiu sp, sp, 0x30 |
0x00006d40 jr t9 | t9 ();
| }
0x00006d44 lw a2, -0x7fd8(gp) | a2 = *(gp);
0x00006d48 lw t9, -0x7ccc(gp) | t9 = sym.imp.__fprintf_chk
0x00006d4c move a0, s1 | a0 = s1;
0x00006d50 addiu a1, zero, 1 | a1 = 1;
| /* esilref: '.&d' */
0x00006d54 addiu a2, a2, 0x206c | a2 += 0x206c;
0x00006d58 jalr t9 | t9 ();
0x00006d5c lw gp, 0x18(sp) | gp = *(var_18h_3);
0x00006d60 lw ra, 0x2c(sp) | ra = *(var_2ch);
0x00006d64 lw s0, 0x24(sp) | s0 = *(var_24h);
0x00006d68 move a1, s1 | a1 = s1;
0x00006d6c lw t9, -0x7cbc(gp) | t9 = sym.imp.fputc;
0x00006d70 lw s1, 0x28(sp) | s1 = *(var_28h_3);
0x00006d74 addiu a0, zero, 0xa | a0 = 0xa;
0x00006d78 addiu sp, sp, 0x30 |
0x00006d7c jr t9 | return t9 ();
| }
; assembly | /* r2dec pseudo code output */
| /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/bin/sar @ 0x6d80 */
| #include <stdint.h>
|
; (fcn) sym.handle_invalid_sa_file () | void handle_invalid_sa_file () {
0x00006d80 lui gp, 3 |
0x00006d84 addiu gp, gp, 0x6dd0 |
0x00006d88 addu gp, gp, t9 | gp += t9;
0x00006d8c addiu sp, sp, -0x30 |
0x00006d90 lw t9, -0x7ccc(gp) | t9 = sym.imp.__fprintf_chk
0x00006d94 sw s0, 0x1c(sp) | *(var_1ch) = s0;
0x00006d98 lw s0, -0x7be8(gp) | s0 = *((gp - 7930));
0x00006d9c sw s2, 0x24(sp) | *(var_24h) = s2;
0x00006da0 move s2, a3 | s2 = a3;
0x00006da4 move a3, a2 | a3 = a2;
0x00006da8 lw a2, -0x7fd8(gp) | a2 = *(gp);
0x00006dac sw s1, 0x20(sp) | *(var_20h) = s1;
0x00006db0 move s1, a0 | s1 = a0;
0x00006db4 lw a0, (s0) | a0 = *(s0);
0x00006db8 sw gp, 0x10(sp) | *(var_10h) = gp;
0x00006dbc sw s3, 0x28(sp) | *(var_28h) = s3;
0x00006dc0 sw ra, 0x2c(sp) | *(var_2ch) = ra;
0x00006dc4 move s3, a1 | s3 = a1;
| /* str.Invalid_system_activity_file:__s_n */
0x00006dc8 addiu a2, a2, 0x2d9c | a2 += 0x2d9c;
0x00006dcc addiu a1, zero, 1 | a1 = 1;
0x00006dd0 jalr t9 | t9 ();
0x00006dd4 addiu v0, zero, 0x4c | v0 = 0x4c;
0x00006dd8 lw gp, 0x10(sp) | gp = *(var_10h);
| if (s2 == v0) {
0x00006ddc beq s2, v0, 0x6dfc | goto label_1;
| }
| label_0:
0x00006de0 lw t9, -0x7ce4(gp) | t9 = sym.imp.close;
| do {
0x00006de4 move a0, s1 | a0 = s1;
0x00006de8 jalr t9 | t9 ();
0x00006dec lw gp, 0x10(sp) | gp = *(var_10h);
0x00006df0 lw t9, -0x7c54(gp) | t9 = sym.imp.exit;
0x00006df4 addiu a0, zero, 3 | a0 = 3;
0x00006df8 jalr t9 | t9 ();
| label_1:
0x00006dfc lhu v0, (s3) | v0 = *(s3);
0x00006e00 ori v1, zero, 0xd596 | v1 = 0xd596;
0x00006e04 ori v1, zero, 0x96d5 | v1 = 0x96d5;
| if (v0 == v1) {
0x00006e08 beq v0, v1, 0x6e14 | goto label_2;
| }
0x00006e0c lw t9, -0x7ce4(gp) | t9 = sym.imp.close;
0x00006e10 bne v0, v1, 0x6de4 |
| } while (v0 != v1);
| label_2:
0x00006e14 lw a0, (s0) | a0 = *(s0);
0x00006e18 lw t9, -0x7e88(gp) | t9 = sym.display_sa_file_version;
0x00006e1c move a1, s3 | a1 = s3;
0x00006e20 bal 0x6cc8 | sym_display_sa_file_version ();
0x00006e24 lhu v1, (s3) | v1 = *(s3);
0x00006e28 ori v0, zero, 0xd596 | v0 = 0xd596;
0x00006e2c lw gp, 0x10(sp) | gp = *(var_10h);
0x00006e30 lw a0, (s0) | a0 = *(s0);
0x00006e34 lhu a3, 2(s3) | a3 = *((s3 + 1));
| if (v1 != v0) {
0x00006e38 beq v1, v0, 0x6e44 |
0x00006e3c wsbh a3, a3 | __asm ("wsbh a3, a3");
0x00006e40 andi a3, a3, 0xffff | a3 &= 0xffff;
| }
0x00006e44 lw a2, -0x7fd8(gp) | a2 = *(gp);
0x00006e48 lw t9, -0x7ccc(gp) | t9 = sym.imp.__fprintf_chk
| /* str.Current_sysstat_version_cannot_read_the_format_of_this_file___x__n */
0x00006e4c addiu a2, a2, 0x2dc0 | a2 += 0x2dc0;
0x00006e50 addiu a1, zero, 1 | a1 = 1;
0x00006e54 jalr t9 | t9 ();
0x00006e58 lw gp, 0x10(sp) | gp = *(var_10h);
0x00006e5c b 0x6de0 | goto label_0;
| }
; assembly | /* r2dec pseudo code output */
| /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/bin/sar @ 0x1d8bc */
| #include <stdint.h>
|
; (fcn) sym.ioc_init () | void ioc_init () {
0x0001d8bc lui gp, 2 |
0x0001d8c0 addiu gp, gp, 0x294 |
0x0001d8c4 addu gp, gp, t9 | gp += t9;
0x0001d8c8 lw v0, -0x7bf8(gp) | v0 = *((gp - 7934));
0x0001d8cc addiu sp, sp, -0x248 |
0x0001d8d0 lw t9, -0x7be4(gp) | t9 = sym.imp.fopen;
0x0001d8d4 sw s1, 0x224(sp) | *(var_224h) = s1;
0x0001d8d8 sw s0, 0x220(sp) | *(var_220h) = s0;
0x0001d8dc lw s1, -0x7fd8(gp) | s1 = *(gp);
0x0001d8e0 lw s0, -0x7fd8(gp) | s0 = *(gp);
0x0001d8e4 sw v0, 0x50(sp) | *(var_50h) = v0;
0x0001d8e8 lw v0, (v0) | v0 = *(v0);
0x0001d8ec sw gp, 0x30(sp) | *(var_30h) = gp;
0x0001d8f0 sw ra, 0x244(sp) | *(var_244h) = ra;
0x0001d8f4 sw fp, 0x240(sp) | *(var_240h) = fp;
0x0001d8f8 sw s7, 0x23c(sp) | *(var_23ch) = s7;
0x0001d8fc sw s6, 0x238(sp) | *(var_238h) = s6;
0x0001d900 sw s5, 0x234(sp) | *(var_234h) = s5;
0x0001d904 sw s4, 0x230(sp) | *(var_230h) = s4;
0x0001d908 sw s3, 0x22c(sp) | *(var_22ch) = s3;
0x0001d90c sw s2, 0x228(sp) | *(var_228h) = s2;
0x0001d910 addiu a1, s1, 0x34ac | a1 = s1 + 0x34ac;
| /* str._etc_sysconfig_sysstat.ioconf */
0x0001d914 addiu a0, s0, 0x36cc | a0 = s0 + 0x36cc;
0x0001d918 sw v0, 0x21c(sp) | *(var_21ch) = v0;
0x0001d91c jalr t9 | t9 ();
0x0001d920 nop |
0x0001d924 lw gp, 0x30(sp) | gp = *(var_30h);
| if (v0 == 0) {
0x0001d928 beqz v0, 0x1e08c | goto label_13;
| }
0x0001d92c lw t9, -0x7c88(gp) | t9 = sym.imp.strncpy;
0x0001d930 addiu s7, sp, 0xdc | s7 = sp + 0xdc;
0x0001d934 addiu a2, zero, 0x40 | a2 = 0x40;
| /* str._etc_sysconfig_sysstat.ioconf */
0x0001d938 addiu a1, s0, 0x36cc | a1 = s0 + 0x36cc;
0x0001d93c move a0, s7 | a0 = s7;
0x0001d940 move s6, v0 | s6 = v0;
0x0001d944 jalr t9 | t9 ();
0x0001d948 lw gp, 0x30(sp) | gp = *(var_30h);
| label_12:
0x0001d94c lw v0, -0x7d80(gp) | v0 = *((gp - 8032));
0x0001d950 lw t9, -0x7c7c(gp) | t9 = sym.imp.memset;
0x0001d954 addiu v0, v0, -0x529c | v0 += -0x529c;
0x0001d958 sw v0, 0x4c(sp) | *(var_4ch) = v0;
0x0001d95c addiu a2, zero, 0x800 | a2 = 0x800;
0x0001d960 move a1, zero | a1 = 0;
0x0001d964 move a0, v0 | a0 = v0;
0x0001d968 sb zero, 0x11b(sp) | *(var_11bh) = 0;
0x0001d96c jalr t9 | t9 ();
0x0001d970 lw gp, 0x30(sp) | gp = *(var_30h);
0x0001d974 move s2, zero | s2 = 0;
0x0001d978 move s0, zero | s0 = 0;
0x0001d97c lw v0, -0x7fd8(gp) | v0 = *(gp);
0x0001d980 sw zero, 0x48(sp) | *(var_48h) = 0;
0x0001d984 sw v0, 0x3c(sp) | *(var_3ch) = v0;
0x0001d988 lw v0, -0x7d80(gp) | v0 = *((gp - 8032));
0x0001d98c addiu fp, sp, 0x11c | fp = sp + 0x11c;
0x0001d990 addiu v0, v0, -0x4a9c | v0 += -0x4a9c;
0x0001d994 sw v0, 0x40(sp) | *(var_40h) = v0;
0x0001d998 lw v0, -0x7fd8(gp) | v0 = *(gp);
| /* str._s:_Indirect_record__u:_u:_u:..._references_not_yet_seen_major__u_n */
0x0001d99c addiu v0, v0, 0x375c | v0 += 0x375c;
0x0001d9a0 sw v0, 0x5c(sp) | *(var_5ch) = v0;
0x0001d9a4 lw v0, -0x7fd8(gp) | v0 = *(gp);
0x0001d9a8 sw v0, 0x54(sp) | *(var_54h) = v0;
0x0001d9ac lw v0, -0x7fd8(gp) | v0 = *(gp);
0x0001d9b0 addiu v0, v0, 0x21a4 | v0 += 0x21a4;
0x0001d9b4 sw v0, 0x58(sp) | *(var_58h) = v0;
| do {
| label_2:
0x0001d9b8 lw t9, -0x7bfc(gp) | t9 = sym.imp.fgets;
| label_0:
0x0001d9bc move a2, s6 | a2 = s6;
0x0001d9c0 addiu a1, zero, 0xff | a1 = 0xff;
0x0001d9c4 move a0, fp | a0 = fp;
0x0001d9c8 jalr t9 | t9 ();
0x0001d9cc lw gp, 0x30(sp) | gp = *(var_30h);
| if (v0 == 0) {
0x0001d9d0 beqz v0, 0x1dc38 | goto label_14;
| }
| label_1:
0x0001d9d4 lb v0, 0x11c(sp) | v0 = *(var_11ch);
0x0001d9d8 addiu a0, zero, 0x23 | a0 = 0x23;
0x0001d9dc addiu a0, zero, 0xa | a0 = 0xa;
0x0001d9e0 beq v0, a0, 0x1d9b8 |
| } while (v0 == a0);
0x0001d9e4 lw t9, -0x7bfc(gp) | t9 = sym.imp.fgets;
| if (v0 == a0) {
0x0001d9e8 beq v0, a0, 0x1d9bc | goto label_0;
| }
0x0001d9ec lw t9, -0x7c44(gp) | t9 = sym.imp.malloc;
| if (s2 == 0) {
0x0001d9f0 beqz s2, 0x1ddec | goto label_15;
| }
| label_5:
0x0001d9f4 lw t9, -0x7c44(gp) | t9 = sym.imp.malloc;
| if (s0 == 0) {
0x0001d9f8 beqz s0, 0x1dd88 | goto label_16;
| }
| label_3:
0x0001d9fc lw t9, -0x7c7c(gp) | t9 = sym.imp.memset;
0x0001da00 addiu a2, zero, 0xf0 | a2 = 0xf0;
0x0001da04 move a1, zero | a1 = 0;
0x0001da08 move a0, s2 | a0 = s2;
0x0001da0c jalr t9 | t9 ();
0x0001da10 lw gp, 0x30(sp) | gp = *(var_30h);
0x0001da14 lw v0, 0x3c(sp) | v0 = *(var_3ch);
0x0001da18 addiu s4, s0, 4 | s4 = s0 + 4;
0x0001da1c lw t9, -0x7c78(gp) | t9 = sym.imp.__isoc99_sscanf;
0x0001da20 addiu s5, sp, 0x68 | s5 = sp + 0x68;
0x0001da24 addiu s3, sp, 0x64 | s3 = sp + 0x64;
0x0001da28 addiu s1, sp, 0x9c | s1 = sp + 0x9c;
0x0001da2c sw zero, (s0) | *(s0) = 0;
0x0001da30 sw zero, 4(s0) | *((s0 + 1)) = 0;
0x0001da34 sw zero, 8(s0) | *((s0 + 2)) = 0;
0x0001da38 sw zero, 0xc(s0) | *((s0 + 3)) = 0;
0x0001da3c sw zero, 0x10(s0) | *((s0 + 4)) = 0;
0x0001da40 move a0, fp | a0 = fp;
0x0001da44 move a3, s5 | a3 = s5;
0x0001da48 sw s1, 0x14(sp) | *(var_14h) = s1;
0x0001da4c sw s4, 0x10(sp) | *(var_10h) = s4;
0x0001da50 move a2, s3 | a2 = s3;
0x0001da54 addiu a1, v0, 0x3700 | a1 = v0 + 0x3700;
0x0001da58 jalr t9 | t9 ();
0x0001da5c addiu a0, zero, 4 | a0 = 4;
0x0001da60 lw gp, 0x30(sp) | gp = *(var_30h);
| if (v0 == a0) {
0x0001da64 beq v0, a0, 0x1dcb8 | goto label_17;
| }
0x0001da68 lw a1, -0x7fd8(gp) | a1 = *(gp);
0x0001da6c lw t9, -0x7c78(gp) | t9 = sym.imp.__isoc99_sscanf;
0x0001da70 move a0, fp | a0 = fp;
0x0001da74 sw s4, 0x10(sp) | *(var_10h) = s4;
0x0001da78 move a3, s5 | a3 = s5;
0x0001da7c move a2, s3 | a2 = s3;
| /* str._u:_u:_u */
0x0001da80 addiu a1, a1, 0x370c | a1 += 0x370c;
0x0001da84 jalr t9 | t9 ();
0x0001da88 addiu a0, v0, -3 | a0 = v0 + -3;
0x0001da8c sltiu a0, a0, 2 | a0 = (a0 < 2) ? 1 : 0;
0x0001da90 lw gp, 0x30(sp) | gp = *(var_30h);
| if (a0 != 0) {
0x0001da94 bnez a0, 0x1dcbc | goto label_18;
| }
0x0001da98 addiu v0, sp, 0x8c | v0 = sp + 0x8c;
0x0001da9c move v1, v0 | v1 = v0;
0x0001daa0 lw a1, -0x7fd8(gp) | a1 = *(gp);
0x0001daa4 sw v0, 0x44(sp) | *(var_44h) = v0;
0x0001daa8 addiu v0, s2, 0x7c | v0 = s2 + 0x7c;
0x0001daac lw t9, -0x7c78(gp) | t9 = sym.imp.__isoc99_sscanf;
0x0001dab0 addiu a0, s2, 0x80 | a0 = s2 + 0x80;
0x0001dab4 sw v0, 0x1c(sp) | *(var_1ch) = v0;
0x0001dab8 addiu s5, sp, 0x6c | s5 = sp + 0x6c;
0x0001dabc addiu v0, sp, 0x7c | v0 = sp + 0x7c;
0x0001dac0 sw a0, 0x24(sp) | *(var_24h) = a0;
0x0001dac4 sw s1, 0x28(sp) | *(var_28h) = s1;
0x0001dac8 move a0, fp | a0 = fp;
0x0001dacc sw v1, 0x20(sp) | *(var_20h) = v1;
0x0001dad0 sw v0, 0x18(sp) | *(var_18h) = v0;
0x0001dad4 sw s4, 0x14(sp) | *(var_14h) = s4;
0x0001dad8 sw s5, 0x10(sp) | *(var_10h) = s5;
0x0001dadc move a3, s2 | a3 = s2;
0x0001dae0 move a2, s3 | a2 = s3;
| /* str._u:__:_:__:_:_u:__:_:_u:__:_:_u:_s */
0x0001dae4 addiu a1, a1, 0x37a4 | a1 += 0x37a4;
0x0001dae8 jalr t9 | t9 ();
0x0001daec addiu a0, zero, 9 | a0 = 9;
0x0001daf0 lw gp, 0x30(sp) | gp = *(var_30h);
| if (v0 != a0) {
0x0001daf4 bne v0, a0, 0x1de44 | goto label_19;
| }
0x0001daf8 lw a1, 0x64(sp) | a1 = *(var_64h);
0x0001dafc addiu v0, a1, -1 | v0 = a1 + -1;
0x0001db00 sltiu v0, v0, 0x1fe | v0 = (v0 < 0x1fe) ? 1 : 0;
0x0001db04 lb v0, 0x6c(sp) | v0 = *(var_6ch);
| if (v0 == 0) {
0x0001db08 beqz v0, 0x1df90 | goto label_20;
| }
0x0001db0c addiu a0, zero, 0x78 | a0 = 0x78;
0x0001db10 lw v1, 0x40(sp) | v1 = *(var_40h);
| if (v0 == a0) {
0x0001db14 beq v0, a0, 0x1dee8 | goto label_21;
| }
0x0001db18 addiu a1, zero, 0x2a | a1 = 0x2a;
0x0001db1c addiu a0, s2, 0x20 | a0 = s2 + 0x20;
| if (v0 == a1) {
0x0001db20 beq v0, a1, 0x1dfc8 | goto label_22;
| }
0x0001db24 lw a3, -0x7fd8(gp) | a3 = *(gp);
0x0001db28 lw t9, -0x7d00(gp) | t9 = sym.imp.__sprintf_chk;
0x0001db2c sw s5, 0x14(sp) | *(var_14h) = s5;
0x0001db30 sw s2, 0x10(sp) | *(var_10h) = s2;
| /* str._s_s__d */
0x0001db34 addiu a3, a3, 0x389c | a3 += 0x389c;
0x0001db38 addiu a2, zero, 0x33 | a2 = 0x33;
0x0001db3c addiu a1, zero, 1 | a1 = 1;
0x0001db40 jalr t9 | t9 ();
0x0001db44 lw v0, 0x78(s2) | v0 = *((s2 + 30));
0x0001db48 lw gp, 0x30(sp) | gp = *(var_30h);
0x0001db4c addiu v0, v0, 1 | v0++;
0x0001db50 sw v0, 0x78(s2) | *((s2 + 30)) = v0;
0x0001db54 lb v0, 0x7c(sp) | v0 = *(var_7ch);
0x0001db58 addiu a0, zero, 0x61 | a0 = 0x61;
0x0001db5c sb zero, 0x53(s2) | *((s2 + 83)) = 0;
| if (v0 == a0) {
0x0001db60 beq v0, a0, 0x1dff0 | goto label_23;
| }
| label_8:
0x0001db64 addiu a0, zero, 0x64 | a0 = 0x64;
0x0001db68 addiu a3, s2, 0x53 | a3 = s2 + 0x53;
| if (v0 == a0) {
0x0001db6c beq v0, a0, 0x1e064 | goto label_24;
| }
0x0001db70 addiu a0, zero, 0x25 | a0 = 0x25;
0x0001db74 lw t9, -0x7c88(gp) | t9 = sym.imp.strncpy;
| if (v0 == a0) {
0x0001db78 beq v0, a0, 0x1e048 | goto label_25;
| }
| label_9:
0x0001db7c lb a1, 0x8c(sp) | a1 = *(var_8ch);
0x0001db80 addiu v0, zero, 0x2a | v0 = 0x2a;
0x0001db84 addiu a0, s2, 0x63 | a0 = s2 + 0x63;
| if (a1 == v0) {
0x0001db88 beq a1, v0, 0x1dfc0 | goto label_26;
| }
0x0001db8c lw v0, 0x44(sp) | v0 = *(var_44h);
| label_7:
0x0001db90 lw a3, -0x7fd8(gp) | a3 = *(gp);
0x0001db94 lw t9, -0x7d00(gp) | t9 = sym.imp.__sprintf_chk;
0x0001db98 addiu a1, zero, 1 | a1 = 1;
0x0001db9c sw v0, 0x10(sp) | *(var_10h) = v0;
| /* str._s__d */
0x0001dba0 addiu a3, a3, 0x38a4 | a3 += 0x38a4;
0x0001dba4 addiu a2, zero, 0x12 | a2 = 0x12;
0x0001dba8 jalr t9 | t9 ();
0x0001dbac lw a0, 0x64(sp) | a0 = *(var_64h);
0x0001dbb0 lw v1, 0x40(sp) | v1 = *(var_40h);
0x0001dbb4 sll v0, a0, 2 | v0 = a0 << 2;
0x0001dbb8 addu v0, v0, v1 | v0 += v1;
0x0001dbbc addiu a1, zero, 1 | a1 = 1;
0x0001dbc0 lw gp, 0x30(sp) | gp = *(var_30h);
0x0001dbc4 sw s2, 0x10(s0) | *((s0 + 4)) = s2;
0x0001dbc8 sw a1, (s0) | *(s0) = a1;
0x0001dbcc sw zero, 0xc(s0) | *((s0 + 3)) = 0;
0x0001dbd0 sw a0, 8(s0) | *((s0 + 2)) = a0;
0x0001dbd4 sw s0, (v0) | *(v0) = s0;
0x0001dbd8 addiu s2, s2, 0x84 | s2 += 0x84;
| do {
0x0001dbdc lw a2, (s1) | a2 = *(s1);
0x0001dbe0 lw a1, 4(s1) | a1 = *(var_4h);
0x0001dbe4 lw a0, 8(s1) | a0 = *(var_8h);
0x0001dbe8 lw v0, 0xc(s1) | v0 = *(var_ch);
0x0001dbec addiu s1, s1, 0x10 | s1 += 0x10;
0x0001dbf0 sw a2, (s2) | *(s2) = a2;
0x0001dbf4 sw a1, 4(s2) | *((s2 + 1)) = a1;
0x0001dbf8 sw a0, 8(s2) | *((s2 + 2)) = a0;
0x0001dbfc sw v0, 0xc(s2) | *((s2 + 3)) = v0;
0x0001dc00 addiu s2, s2, 0x10 | s2 += 0x10;
0x0001dc04 bne s1, s7, 0x1dbdc |
| } while (s1 != s7);
0x0001dc08 lw v0, 0x48(sp) | v0 = *(var_48h);
0x0001dc0c lw t9, -0x7bfc(gp) | t9 = sym.imp.fgets;
0x0001dc10 addiu v0, v0, 1 | v0++;
0x0001dc14 sw v0, 0x48(sp) | *(var_48h) = v0;
0x0001dc18 move a2, s6 | a2 = s6;
0x0001dc1c addiu a1, zero, 0xff | a1 = 0xff;
0x0001dc20 move a0, fp | a0 = fp;
0x0001dc24 jalr t9 | t9 ();
0x0001dc28 move s2, zero | s2 = 0;
0x0001dc2c move s0, zero | s0 = 0;
0x0001dc30 lw gp, 0x30(sp) | gp = *(var_30h);
| if (v0 != 0) {
0x0001dc34 bnez v0, 0x1d9d4 | goto label_1;
| }
| label_14:
0x0001dc38 lw t9, -0x7cc4(gp) | t9 = sym.imp.fclose;
0x0001dc3c move a0, s6 | a0 = s6;
0x0001dc40 jalr t9 | t9 ();
0x0001dc44 lw gp, 0x30(sp) | gp = *(var_30h);
0x0001dc48 lw t9, -0x7bf0(gp) | t9 = sym.imp.free;
0x0001dc4c move a0, s2 | a0 = s2;
0x0001dc50 jalr t9 | t9 ();
0x0001dc54 lw gp, 0x30(sp) | gp = *(var_30h);
0x0001dc58 lw t9, -0x7bf0(gp) | t9 = sym.imp.free;
0x0001dc5c move a0, s0 | a0 = s0;
0x0001dc60 jalr t9 | t9 ();
0x0001dc64 lw gp, 0x30(sp) | gp = *(var_30h);
0x0001dc68 addiu a0, zero, 1 | a0 = 1;
0x0001dc6c lw v0, 0x48(sp) | v0 = *(var_48h);
0x0001dc70 lw v1, -0x7d80(gp) | v1 = *((gp - 8032));
0x0001dc74 sw a0, -0x429c(v1) | *((v1 - 4263)) = a0;
| label_4:
0x0001dc78 lw v1, 0x50(sp) | v1 = *(var_50h);
0x0001dc7c lw a0, 0x21c(sp) | a0 = *(var_21ch);
0x0001dc80 lw v1, (v1) | v1 = *(v1);
0x0001dc84 lw ra, 0x244(sp) | ra = *(var_244h);
| if (a0 != v1) {
0x0001dc88 bne a0, v1, 0x1e12c | goto label_27;
| }
0x0001dc8c lw fp, 0x240(sp) | fp = *(var_240h);
0x0001dc90 lw s7, 0x23c(sp) | s7 = *(var_23ch);
0x0001dc94 lw s6, 0x238(sp) | s6 = *(var_238h);
0x0001dc98 lw s5, 0x234(sp) | s5 = *(var_234h);
0x0001dc9c lw s4, 0x230(sp) | s4 = *(var_230h);
0x0001dca0 lw s3, 0x22c(sp) | s3 = *(var_22ch);
0x0001dca4 lw s2, 0x228(sp) | s2 = *(var_228h);
0x0001dca8 lw s1, 0x224(sp) | s1 = *(var_224h);
0x0001dcac lw s0, 0x220(sp) | s0 = *(var_220h);
0x0001dcb0 addiu sp, sp, 0x248 |
0x0001dcb4 jr ra | return v0;
| label_17:
0x0001dcb8 addiu v0, zero, 4 | v0 = 4;
| label_18:
0x0001dcbc lw a1, 0x68(sp) | a1 = *(var_68h);
0x0001dcc0 sltiu a0, a1, 0x200 | a0 = (a1 < aav.0x00000200) ? 1 : 0;
| if (a1 == 0) {
0x0001dcc4 beqz a1, 0x1d9b8 | goto label_2;
| }
0x0001dcc8 lw a2, 0x64(sp) | a2 = *(var_64h);
| if (a0 == 0) {
0x0001dccc beqz a0, 0x1df38 | goto label_28;
| }
0x0001dcd0 sltiu a0, a2, 0x200 | a0 = (a2 < aav.0x00000200) ? 1 : 0;
0x0001dcd4 lw v1, 0x40(sp) | v1 = *(var_40h);
| if (a0 == 0) {
0x0001dcd8 beqz a0, 0x1df64 | goto label_29;
| }
0x0001dcdc sll a0, a1, 2 | a0 = a1 << 2;
0x0001dce0 lwx a3, a0(v1) | __asm ("lwx a3, a0(v1)");
0x0001dce4 addiu t0, zero, 3 | t0 = 3;
| if (a3 == 0) {
0x0001dce8 beqz a3, 0x1e0cc | goto label_30;
| }
| if (v0 == t0) {
0x0001dcec beql v0, t0, 0x1e010 | goto label_31;
| }
0x0001dcf0 lw v0, 0x10(a3) | v0 = *((a3 + 4));
0x0001dcf4 lw v0, 0xc(s0) | v0 = *((s0 + 3));
0x0001dcf8 lw t9, -0x7c44(gp) | t9 = sym.imp.malloc;
| if (v0 == 0) {
0x0001dcfc beqz v0, 0x1de74 | goto label_32;
| }
| do {
| label_6:
0x0001dd00 lw a3, (s1) | a3 = *(s1);
0x0001dd04 lw a2, 4(s1) | a2 = *(var_4h);
0x0001dd08 lw a1, 8(s1) | a1 = *(var_8h);
0x0001dd0c lw a0, 0xc(s1) | a0 = *(var_ch);
0x0001dd10 swl a3, 3(v0) | __asm ("swl a3, 3(v0)");
0x0001dd14 swr a3, (v0) | __asm ("swr a3, (v0)");
0x0001dd18 swl a2, 7(v0) | __asm ("swl a2, 7(v0)");
0x0001dd1c swr a2, 4(v0) | __asm ("swr a2, 4(v0)");
0x0001dd20 swl a1, 0xb(v0) | __asm ("swl a1, 0xb(v0)");
0x0001dd24 swr a1, 8(v0) | __asm ("swr a1, 8(v0)");
0x0001dd28 swl a0, 0xf(v0) | __asm ("swl a0, 0xf(v0)");
0x0001dd2c addiu s1, s1, 0x10 | s1 += 0x10;
0x0001dd30 swr a0, 0xc(v0) | __asm ("swr a0, 0xc(v0)");
0x0001dd34 addiu v0, v0, 0x10 | v0 += 0x10;
0x0001dd38 bne s1, s7, 0x1dd00 |
| } while (s1 != s7);
0x0001dd3c lw a1, 0x68(sp) | a1 = *(var_68h);
0x0001dd40 lw a2, 0x64(sp) | a2 = *(var_64h);
0x0001dd44 sll a0, a1, 2 | a0 = a1 << 2;
| label_10:
0x0001dd48 lw v0, 0x40(sp) | v0 = *(var_40h);
0x0001dd4c sll a2, a2, 2 | a2 <<= 2;
0x0001dd50 addu a2, v0, a2 | a2 = v0 + a2;
0x0001dd54 lw v1, 0x4c(sp) | v1 = *(var_4ch);
0x0001dd58 sw s0, (a2) | *(a2) = s0;
0x0001dd5c addu a3, v1, a0 | a3 = v1 + a0;
0x0001dd60 lwx a0, a0(v0) | __asm ("lwx a0, a0(v0)");
0x0001dd64 lw v0, (a3) | v0 = *(a3);
0x0001dd68 sw a1, 8(s0) | *((s0 + 2)) = a1;
0x0001dd6c lw a0, 0x10(a0) | a0 = *((a0 + 4));
0x0001dd70 addiu v0, v0, 1 | v0++;
0x0001dd74 sw a0, 0x10(s0) | *((s0 + 4)) = a0;
0x0001dd78 sw zero, (s0) | *(s0) = 0;
0x0001dd7c sw v0, (a3) | *(a3) = v0;
0x0001dd80 move s0, zero | s0 = 0;
0x0001dd84 b 0x1d9b8 | goto label_2;
| label_16:
0x0001dd88 addiu a0, zero, 0x14 | a0 = 0x14;
0x0001dd8c jalr t9 | t9 ();
0x0001dd90 move s0, v0 | s0 = v0;
0x0001dd94 lw gp, 0x30(sp) | gp = *(var_30h);
| if (v0 != 0) {
0x0001dd98 bnez v0, 0x1d9fc | goto label_3;
| }
0x0001dd9c lw a0, -0x7fd8(gp) | a0 = *(gp);
0x0001dda0 lw t9, -0x7c30(gp) | t9 = sym.imp.perror;
| /* str.malloc */
0x0001dda4 addiu a0, a0, 0x1fc0 | a0 += 0x1fc0;
0x0001dda8 jalr t9 | t9 ();
0x0001ddac lw gp, 0x30(sp) | gp = *(var_30h);
0x0001ddb0 lw t9, -0x7fd8(gp) | t9 = *(gp);
| /* fcn.0001d7d8 */
0x0001ddb4 addiu t9, t9, -0x2828 | t9 += -0x2828;
0x0001ddb8 bal 0x1d7d8 | fcn_0001d7d8 ();
0x0001ddbc nop |
0x0001ddc0 lw gp, 0x30(sp) | gp = *(var_30h);
0x0001ddc4 lw t9, -0x7cc4(gp) | t9 = sym.imp.fclose;
0x0001ddc8 move a0, s6 | a0 = s6;
0x0001ddcc jalr t9 | t9 ();
0x0001ddd0 lw gp, 0x30(sp) | gp = *(var_30h);
0x0001ddd4 lw t9, -0x7bf0(gp) | t9 = sym.imp.free;
0x0001ddd8 move a0, s2 | a0 = s2;
0x0001dddc jalr t9 | t9 ();
0x0001dde0 lw gp, 0x30(sp) | gp = *(var_30h);
| label_11:
0x0001dde4 move v0, zero | v0 = 0;
0x0001dde8 b 0x1dc78 | goto label_4;
| label_15:
0x0001ddec addiu a0, zero, 0xf0 | a0 = 0xf0;
0x0001ddf0 jalr t9 | t9 ();
0x0001ddf4 move s2, v0 | s2 = v0;
0x0001ddf8 lw gp, 0x30(sp) | gp = *(var_30h);
| if (v0 != 0) {
0x0001ddfc bnez v0, 0x1d9f4 | goto label_5;
| }
0x0001de00 lw a0, -0x7fd8(gp) | a0 = *(gp);
0x0001de04 lw t9, -0x7c30(gp) | t9 = sym.imp.perror;
| /* str.malloc */
0x0001de08 addiu a0, a0, 0x1fc0 | a0 += 0x1fc0;
0x0001de0c jalr t9 | t9 ();
0x0001de10 lw gp, 0x30(sp) | gp = *(var_30h);
0x0001de14 lw t9, -0x7fd8(gp) | t9 = *(gp);
| /* fcn.0001d7d8 */
0x0001de18 addiu t9, t9, -0x2828 | t9 += -0x2828;
0x0001de1c bal 0x1d7d8 | fcn_0001d7d8 ();
0x0001de20 nop |
0x0001de24 lw gp, 0x30(sp) | gp = *(var_30h);
0x0001de28 lw t9, -0x7cc4(gp) | t9 = sym.imp.fclose;
0x0001de2c move a0, s6 | a0 = s6;
0x0001de30 jalr t9 | t9 ();
0x0001de34 lw gp, 0x30(sp) | gp = *(var_30h);
| if (s0 != 0) {
0x0001de38 bnez s0, 0x1ded0 | goto label_33;
| }
0x0001de3c move v0, zero | v0 = 0;
0x0001de40 b 0x1dc78 | goto label_4;
| label_19:
0x0001de44 lw a0, -0x7be8(gp) | a0 = *((gp - 7930));
0x0001de48 lw a2, -0x7fd8(gp) | a2 = *(gp);
0x0001de4c lw t9, -0x7ccc(gp) | t9 = sym.imp.__fprintf_chk
0x0001de50 lw a0, (a0) | a0 = *(a0);
0x0001de54 move a3, s7 | a3 = s7;
0x0001de58 sw fp, 0x14(sp) | *(var_14h) = fp;
0x0001de5c sw v0, 0x10(sp) | *(var_10h) = v0;
| /* str._s:_Malformed__u_field_record:__s_n */
0x0001de60 addiu a2, a2, 0x37cc | a2 += 0x37cc;
0x0001de64 addiu a1, zero, 1 | a1 = 1;
0x0001de68 jalr t9 | t9 ();
0x0001de6c lw gp, 0x30(sp) | gp = *(var_30h);
0x0001de70 b 0x1d9b8 | goto label_2;
| label_32:
0x0001de74 addiu a0, zero, 0x40 | a0 = 0x40;
0x0001de78 jalr t9 | t9 ();
0x0001de7c lw gp, 0x30(sp) | gp = *(var_30h);
0x0001de80 sw v0, 0xc(s0) | *((s0 + 3)) = v0;
| if (v0 != 0) {
0x0001de84 bnez v0, 0x1dd00 | goto label_6;
| }
0x0001de88 lw a0, -0x7fd8(gp) | a0 = *(gp);
0x0001de8c lw t9, -0x7c30(gp) | t9 = sym.imp.perror;
| /* str.malloc */
0x0001de90 addiu a0, a0, 0x1fc0 | a0 += 0x1fc0;
0x0001de94 jalr t9 | t9 ();
0x0001de98 lw gp, 0x30(sp) | gp = *(var_30h);
0x0001de9c lw t9, -0x7fd8(gp) | t9 = *(gp);
| /* fcn.0001d7d8 */
0x0001dea0 addiu t9, t9, -0x2828 | t9 += -0x2828;
0x0001dea4 bal 0x1d7d8 | fcn_0001d7d8 ();
0x0001dea8 nop |
0x0001deac lw gp, 0x30(sp) | gp = *(var_30h);
0x0001deb0 lw t9, -0x7cc4(gp) | t9 = sym.imp.fclose;
0x0001deb4 move a0, s6 | a0 = s6;
0x0001deb8 jalr t9 | t9 ();
0x0001debc lw gp, 0x30(sp) | gp = *(var_30h);
0x0001dec0 lw t9, -0x7bf0(gp) | t9 = sym.imp.free;
0x0001dec4 move a0, s2 | a0 = s2;
0x0001dec8 jalr t9 | t9 ();
0x0001decc lw gp, 0x30(sp) | gp = *(var_30h);
| label_33:
0x0001ded0 lw t9, -0x7bf0(gp) | t9 = sym.imp.free;
0x0001ded4 move a0, s0 | a0 = s0;
0x0001ded8 jalr t9 | t9 ();
0x0001dedc lw gp, 0x30(sp) | gp = *(var_30h);
0x0001dee0 move v0, zero | v0 = 0;
0x0001dee4 b 0x1dc78 | goto label_4;
| label_21:
0x0001dee8 sll v0, a1, 2 | v0 = a1 << 2;
0x0001deec lwx v0, v0(v1) | __asm ("lwx v0, v0(v1)");
| if (v0 == 0) {
0x0001def0 beql v0, zero, 0x1e104 | goto label_34;
| }
0x0001def4 lw v0, -0x7be8(gp) | v0 = *((gp - 7930));
0x0001def8 lw s1, 0x10(v0) | s1 = *((v0 + 4));
0x0001defc lw v0, 0xe8(s1) | v0 = *((s1 + 58));
| if (v0 == 0) {
0x0001df00 beql v0, zero, 0x1e01c | goto label_35;
| }
0x0001df04 lw v0, 4(s0) | v0 = *((s0 + 1));
0x0001df08 lw v0, -0x7be8(gp) | v0 = *((gp - 7930));
0x0001df0c lw a2, -0x7fd8(gp) | a2 = *(gp);
0x0001df10 lw t9, -0x7ccc(gp) | t9 = sym.imp.__fprintf_chk
0x0001df14 lw a0, (v0) | a0 = *(v0);
0x0001df18 move a3, s7 | a3 = s7;
0x0001df1c sw a1, 0x10(sp) | *(var_10h) = a1;
0x0001df20 sw fp, 0x14(sp) | *(var_14h) = fp;
| /* str._s:_duplicate_x_record_for_major__u___ignored_ninput_line:__s_n */
0x0001df24 addiu a2, a2, 0x3858 | a2 += 0x3858;
0x0001df28 addiu a1, zero, 1 | a1 = 1;
0x0001df2c jalr t9 | t9 ();
0x0001df30 lw gp, 0x30(sp) | gp = *(var_30h);
0x0001df34 b 0x1d9b8 | goto label_2;
| label_28:
0x0001df38 lw v0, -0x7be8(gp) | v0 = *((gp - 7930));
0x0001df3c lw a2, -0x7fd8(gp) | a2 = *(gp);
0x0001df40 lw t9, -0x7ccc(gp) | t9 = sym.imp.__fprintf_chk
0x0001df44 lw a0, (v0) | a0 = *(v0);
0x0001df48 move a3, s7 | a3 = s7;
0x0001df4c sw a1, 0x10(sp) | *(var_10h) = a1;
| /* str._s:_Indirect_major__u_out_of_range_n */
0x0001df50 addiu a2, a2, 0x3718 | a2 += 0x3718;
0x0001df54 addiu a1, zero, 1 | a1 = 1;
0x0001df58 jalr t9 | t9 ();
0x0001df5c lw gp, 0x30(sp) | gp = *(var_30h);
0x0001df60 b 0x1d9b8 | goto label_2;
| label_29:
0x0001df64 lw v0, -0x7be8(gp) | v0 = *((gp - 7930));
0x0001df68 sw a2, 0x10(sp) | *(var_10h) = a2;
0x0001df6c lw t9, -0x7ccc(gp) | t9 = sym.imp.__fprintf_chk
0x0001df70 lw a0, (v0) | a0 = *(v0);
0x0001df74 lw v0, 0x54(sp) | v0 = *(var_54h);
0x0001df78 move a3, s7 | a3 = s7;
0x0001df7c addiu a2, v0, 0x3740 | a2 = v0 + 0x3740;
0x0001df80 addiu a1, zero, 1 | a1 = 1;
0x0001df84 jalr t9 | t9 ();
0x0001df88 lw gp, 0x30(sp) | gp = *(var_30h);
0x0001df8c b 0x1d9b8 | goto label_2;
| label_20:
0x0001df90 lw v0, -0x7be8(gp) | v0 = *((gp - 7930));
0x0001df94 lw a3, -0x7fd8(gp) | a3 = *(gp);
0x0001df98 lw a2, -0x7fd8(gp) | a2 = *(gp);
0x0001df9c lw t9, -0x7ccc(gp) | t9 = sym.imp.__fprintf_chk
0x0001dfa0 lw a0, (v0) | a0 = *(v0);
| /* str.ioc_init */
0x0001dfa4 addiu a3, a3, 0x38c0 | a3 += 0x38c0;
0x0001dfa8 sw a1, 0x10(sp) | *(var_10h) = a1;
| /* str._s:_major__u_out_of_range_n */
0x0001dfac addiu a2, a2, 0x37f0 | a2 += 0x37f0;
0x0001dfb0 addiu a1, zero, 1 | a1 = 1;
0x0001dfb4 jalr t9 | t9 ();
0x0001dfb8 lw gp, 0x30(sp) | gp = *(var_30h);
0x0001dfbc b 0x1d9b8 | goto label_2;
| label_26:
0x0001dfc0 lw v0, 0x58(sp) | v0 = *(var_58h);
0x0001dfc4 b 0x1db90 | goto label_7;
| label_22:
0x0001dfc8 lw t9, -0x7c88(gp) | t9 = sym.imp.strncpy;
0x0001dfcc addiu a2, zero, 0x32 | a2 = 0x32;
0x0001dfd0 move a1, s2 | a1 = s2;
0x0001dfd4 jalr t9 | t9 ();
0x0001dfd8 lb v0, 0x7c(sp) | v0 = *(var_7ch);
0x0001dfdc addiu a0, zero, 0x61 | a0 = 0x61;
0x0001dfe0 lw gp, 0x30(sp) | gp = *(var_30h);
0x0001dfe4 sb zero, 0x52(s2) | *((s2 + 82)) = 0;
0x0001dfe8 sb zero, 0x53(s2) | *((s2 + 83)) = 0;
| if (v0 != a0) {
0x0001dfec bne v0, a0, 0x1db64 | goto label_8;
| }
| label_23:
0x0001dff0 lw a0, -0x7d2c(gp) | a0 = sym.ioc_ito26;
0x0001dff4 sb zero, 0x55(s2) | *((s2 + 85)) = 0;
0x0001dff8 sw a0, 0xc4(s2) | *((s2 + 49)) = a0;
0x0001dffc addiu a0, zero, 0x25 | a0 = 0x25;
0x0001e000 sb a0, 0x53(s2) | *((s2 + 83)) = a0;
0x0001e004 addiu a0, zero, 0x73 | a0 = 0x73;
0x0001e008 sb a0, 0x54(s2) | *((s2 + 84)) = a0;
0x0001e00c b 0x1db7c | goto label_9;
| label_31:
0x0001e010 addiu v0, v0, 0x84 | v0 += 0x84;
0x0001e014 sw v0, 0xc(s0) | *((s0 + 3)) = v0;
0x0001e018 b 0x1dd48 | goto label_10;
| label_35:
0x0001e01c lw t9, -0x7c88(gp) | t9 = sym.imp.strncpy;
0x0001e020 sw v0, 0xec(s1) | *((s1 + 59)) = v0;
0x0001e024 addiu a2, zero, 0x20 | a2 = 0x20;
0x0001e028 move a1, s2 | a1 = s2;
0x0001e02c addiu a0, s1, 0xc8 | a0 = s1 + 0xc8;
0x0001e030 jalr t9 | t9 ();
0x0001e034 addiu v0, zero, 1 | v0 = 1;
0x0001e038 lw gp, 0x30(sp) | gp = *(var_30h);
0x0001e03c sb zero, 0xe7(s1) | *((s1 + 231)) = 0;
0x0001e040 sw v0, 0xe8(s1) | *((s1 + 58)) = v0;
0x0001e044 b 0x1d9b8 | goto label_2;
| label_25:
0x0001e048 addiu a3, s2, 0x53 | a3 = s2 + 0x53;
0x0001e04c move a0, a3 | a0 = a3;
0x0001e050 addiu a2, zero, 0xf | a2 = 0xf;
0x0001e054 addiu a1, sp, 0x7d | a1 = sp + 0x7d;
0x0001e058 jalr t9 | t9 ();
0x0001e05c lw gp, 0x30(sp) | gp = *(var_30h);
0x0001e060 move a3, v0 | a3 = v0;
| label_24:
0x0001e064 lw v0, -0x7d28(gp) | v0 = sym.ioc_ito10;
0x0001e068 lw a1, -0x7fd8(gp) | a1 = *(gp);
0x0001e06c lw t9, -0x7bbc(gp) | t9 = sym.imp.__strcat_chk;
0x0001e070 sw v0, 0xc4(s2) | *((s2 + 49)) = v0;
0x0001e074 addiu a2, zero, 0x10 | a2 = 0x10;
| /* esilref: '&s' */
0x0001e078 addiu a1, a1, 0x37c8 | a1 += 0x37c8;
0x0001e07c move a0, a3 | a0 = a3;
0x0001e080 jalr t9 | t9 ();
0x0001e084 lw gp, 0x30(sp) | gp = *(var_30h);
0x0001e088 b 0x1db7c | goto label_9;
| label_13:
0x0001e08c lw s0, -0x7fd8(gp) | s0 = *(gp);
0x0001e090 lw t9, -0x7be4(gp) | t9 = sym.imp.fopen;
0x0001e094 addiu a1, s1, 0x34ac | a1 = s1 + 0x34ac;
| /* str.._sysstat.ioconf */
0x0001e098 addiu a0, s0, 0x36ec | a0 = s0 + 0x36ec;
0x0001e09c jalr t9 | t9 ();
0x0001e0a0 move s6, v0 | s6 = v0;
0x0001e0a4 lw gp, 0x30(sp) | gp = *(var_30h);
| if (v0 == 0) {
0x0001e0a8 beqz v0, 0x1dde4 | goto label_11;
| }
0x0001e0ac lw t9, -0x7c88(gp) | t9 = sym.imp.strncpy;
0x0001e0b0 addiu s7, sp, 0xdc | s7 = sp + 0xdc;
0x0001e0b4 addiu a2, zero, 0x40 | a2 = 0x40;
| /* str.._sysstat.ioconf */
0x0001e0b8 addiu a1, s0, 0x36ec | a1 = s0 + 0x36ec;
0x0001e0bc move a0, s7 | a0 = s7;
0x0001e0c0 jalr t9 | t9 ();
0x0001e0c4 lw gp, 0x30(sp) | gp = *(var_30h);
0x0001e0c8 b 0x1d94c | goto label_12;
| label_30:
0x0001e0cc lw a0, -0x7be8(gp) | a0 = *((gp - 7930));
0x0001e0d0 sw a2, 0x1c(sp) | *(var_1ch) = a2;
0x0001e0d4 lw v0, 4(s0) | v0 = *((s0 + 1));
0x0001e0d8 lw a0, (a0) | a0 = *(a0);
0x0001e0dc lw t9, -0x7ccc(gp) | t9 = sym.imp.__fprintf_chk
0x0001e0e0 sw a2, 0x10(sp) | *(var_10h) = a2;
0x0001e0e4 lw a2, 0x5c(sp) | a2 = *(var_5ch);
0x0001e0e8 sw a1, 0x14(sp) | *(var_14h) = a1;
0x0001e0ec sw v0, 0x18(sp) | *(var_18h) = v0;
0x0001e0f0 move a3, s7 | a3 = s7;
0x0001e0f4 addiu a1, zero, 1 | a1 = 1;
0x0001e0f8 jalr t9 | t9 ();
0x0001e0fc lw gp, 0x30(sp) | gp = *(var_30h);
0x0001e100 b 0x1d9b8 | goto label_2;
| label_34:
0x0001e104 lw a2, -0x7fd8(gp) | a2 = *(gp);
0x0001e108 lw t9, -0x7ccc(gp) | t9 = sym.imp.__fprintf_chk
0x0001e10c lw a0, (v0) | a0 = *(v0);
0x0001e110 move a3, s7 | a3 = s7;
0x0001e114 sw a1, 0x10(sp) | *(var_10h) = a1;
| /* str._s:_type_x_record_for_major__u_must_follow_the_base_record___ignored_n */
0x0001e118 addiu a2, a2, 0x380c | a2 += 0x380c;
0x0001e11c addiu a1, zero, 1 | a1 = 1;
0x0001e120 jalr t9 | t9 ();
0x0001e124 lw gp, 0x30(sp) | gp = *(var_30h);
0x0001e128 b 0x1d9b8 | goto label_2;
| label_27:
0x0001e12c lw t9, -0x7c10(gp) | t9 = sym.imp.__stack_chk_fail;
0x0001e130 jalr t9 | t9 ();
0x0001e134 nop |
| }
; assembly | /* r2dec pseudo code output */
| /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/bin/sar @ 0x8bd4 */
| #include <stdint.h>
|
; (fcn) sym.sa_fread () | void sa_fread () {
0x00008bd4 lui gp, 3 |
0x00008bd8 addiu gp, gp, 0x4f7c |
0x00008bdc addu gp, gp, t9 | gp += t9;
0x00008be0 addiu sp, sp, -0x28 |
0x00008be4 lw t9, -0x7bd8(gp) | t9 = sym.imp.read;
0x00008be8 sw gp, 0x10(sp) | *(var_10h) = gp;
0x00008bec sw s2, 0x20(sp) | *(var_20h) = s2;
0x00008bf0 sw s1, 0x1c(sp) | *(var_1ch) = s1;
0x00008bf4 sw s0, 0x18(sp) | *(var_18h) = s0;
0x00008bf8 sw ra, 0x24(sp) | *(var_24h) = ra;
0x00008bfc move s2, a0 | s2 = a0;
0x00008c00 move s1, a2 | s1 = a2;
0x00008c04 move s0, a3 | s0 = a3;
0x00008c08 jalr t9 | t9 ();
0x00008c0c lw gp, 0x10(sp) | gp = *(var_10h);
| if (v0 < 0) {
0x00008c10 bltz v0, 0x8cac | goto label_0;
| }
0x00008c14 or s0, s0, v0 | s0 |= v0;
0x00008c18 lw ra, 0x24(sp) | ra = *(var_24h);
| if (s0 == 0) {
0x00008c1c beqz s0, 0x8c48 | goto label_1;
| }
0x00008c20 sltu v0, v0, s1 | v0 = (v0 < s1) ? 1 : 0;
0x00008c24 lw v0, -0x7be8(gp) | v0 = *((gp - 7930));
| if (v0 != 0) {
0x00008c28 bnez v0, 0x8c60 | goto label_2;
| }
0x00008c2c move v0, zero | v0 = 0;
| do {
0x00008c30 lw ra, 0x24(sp) | ra = *(var_24h);
0x00008c34 lw s2, 0x20(sp) | s2 = *(var_20h);
0x00008c38 lw s1, 0x1c(sp) | s1 = *(var_1ch);
0x00008c3c lw s0, 0x18(sp) | s0 = *(var_18h);
0x00008c40 addiu sp, sp, 0x28 |
0x00008c44 jr ra | return v0;
| label_1:
0x00008c48 lw s2, 0x20(sp) | s2 = *(var_20h);
0x00008c4c lw s1, 0x1c(sp) | s1 = *(var_1ch);
0x00008c50 lw s0, 0x18(sp) | s0 = *(var_18h);
0x00008c54 addiu v0, zero, 1 | v0 = 1;
0x00008c58 addiu sp, sp, 0x28 |
0x00008c5c jr ra | return v0;
| label_2:
0x00008c60 lw a0, -0x7fd8(gp) | a0 = *(gp);
0x00008c64 lw t9, -0x7c34(gp) | t9 = sym.imp.fwrite;
0x00008c68 lw a3, (v0) | a3 = *(v0);
| /* str.End_of_system_activity_file_unexpected_n */
0x00008c6c addiu a0, a0, 0x2ea4 | a0 += 0x2ea4;
0x00008c70 addiu a2, zero, 0x27 | a2 = 0x27;
0x00008c74 addiu a1, zero, 1 | a1 = 1;
0x00008c78 jalr t9 | t9 ();
0x00008c7c lw a0, 0x38(sp) | a0 = *(arg_38h);
0x00008c80 addiu v1, zero, 1 | v1 = 1;
0x00008c84 lw gp, 0x10(sp) | gp = *(var_10h);
0x00008c88 addiu v0, zero, 2 | v0 = 2;
0x00008c8c beq a0, v1, 0x8c30 |
| } while (a0 == v1);
| do {
0x00008c90 lw t9, -0x7ce4(gp) | t9 = sym.imp.close;
0x00008c94 move a0, s2 | a0 = s2;
0x00008c98 jalr t9 | t9 ();
0x00008c9c lw gp, 0x10(sp) | gp = *(var_10h);
0x00008ca0 lw t9, -0x7c54(gp) | t9 = sym.imp.exit;
0x00008ca4 addiu a0, zero, 2 | a0 = 2;
0x00008ca8 jalr t9 | t9 ();
| label_0:
0x00008cac lw v0, -0x7be8(gp) | v0 = *((gp - 7930));
0x00008cb0 lw t9, -0x7c84(gp) | t9 = sym.imp.__errno_location;
0x00008cb4 lw s0, (v0) | s0 = *(v0);
0x00008cb8 jalr t9 | t9 ();
0x00008cbc lw gp, 0x10(sp) | gp = *(var_10h);
0x00008cc0 lw t9, -0x7c4c(gp) | t9 = sym.imp.strerror;
0x00008cc4 lw a0, (v0) | a0 = *(v0);
0x00008cc8 jalr t9 | t9 ();
0x00008ccc lw gp, 0x10(sp) | gp = *(var_10h);
0x00008cd0 move a3, v0 | a3 = v0;
0x00008cd4 addiu a1, zero, 1 | a1 = 1;
0x00008cd8 lw a2, -0x7fd8(gp) | a2 = *(gp);
0x00008cdc lw t9, -0x7ccc(gp) | t9 = sym.imp.__fprintf_chk
| /* str.Error_while_reading_system_activity_file:__s_n */
0x00008ce0 addiu a2, a2, 0x2e74 | a2 += 0x2e74;
0x00008ce4 move a0, s0 | a0 = s0;
0x00008ce8 jalr t9 | t9 ();
0x00008cec lw gp, 0x10(sp) | gp = *(var_10h);
0x00008cf0 b 0x8c90 |
| } while (1);
| }
; assembly | /* r2dec pseudo code output */
| /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/bin/sar @ 0x94f4 */
| #include <stdint.h>
|
; (fcn) sym.sa_open_read_magic () | void sa_open_read_magic () {
0x000094f4 lui gp, 3 |
0x000094f8 addiu gp, gp, 0x465c |
0x000094fc addu gp, gp, t9 | gp += t9;
0x00009500 addiu sp, sp, -0x50 |
0x00009504 lw t9, -0x7c5c(gp) | t9 = sym.imp.open;
0x00009508 sw s1, 0x38(sp) | *(var_38h) = s1;
0x0000950c lw s1, -0x7bf8(gp) | s1 = *((gp - 7934));
0x00009510 sw s2, 0x3c(sp) | *(var_3ch) = s2;
0x00009514 move s2, a1 | s2 = a1;
0x00009518 lw v0, (s1) | v0 = *(s1);
0x0000951c sw gp, 0x18(sp) | *(var_18h) = gp;
0x00009520 sw v0, 0x2c(sp) | *(var_2ch) = v0;
0x00009524 addiu v0, zero, 5 | v0 = 5;
0x00009528 sw s5, 0x48(sp) | *(var_48h) = s5;
0x0000952c sw s4, 0x44(sp) | *(var_44h) = s4;
0x00009530 sw s3, 0x40(sp) | *(var_40h) = s3;
0x00009534 sw s0, 0x34(sp) | *(var_34h) = s0;
0x00009538 move s3, a0 | s3 = a0;
0x0000953c sw ra, 0x4c(sp) | *(var_4ch) = ra;
0x00009540 move a1, zero | a1 = 0;
0x00009544 move a0, s2 | a0 = s2;
0x00009548 sw zero, 0x20(sp) | *(var_20h) = 0;
0x0000954c sw zero, 0x24(sp) | *(var_24h) = 0;
0x00009550 sw v0, 0x28(sp) | *(var_28h) = v0;
0x00009554 move s0, a2 | s0 = a2;
0x00009558 move s4, a3 | s4 = a3;
0x0000955c lw s5, 0x60(sp) | s5 = *(arg_60h);
0x00009560 jalr t9 | t9 ();
0x00009564 lw gp, 0x18(sp) | gp = *(var_18h);
0x00009568 sw v0, (s3) | *(s3) = v0;
| if (v0 < 0) {
0x0000956c bltz v0, 0x9740 | goto label_5;
| }
0x00009570 lw t9, -0x7bd8(gp) | t9 = sym.imp.read;
0x00009574 addiu a2, zero, 0x4c | a2 = 0x4c;
0x00009578 move a1, s0 | a1 = s0;
0x0000957c move a0, v0 | a0 = v0;
0x00009580 jalr t9 | t9 ();
0x00009584 addiu v1, zero, 0x4c | v1 = 0x4c;
0x00009588 lw gp, 0x18(sp) | gp = *(var_18h);
| if (v0 == v1) {
0x0000958c bne v0, v1, 0x95c4 |
0x00009590 lhu v1, (s0) | v1 = *(s0);
0x00009594 ori a0, zero, 0xd596 | a0 = 0xd596;
0x00009598 ori a0, zero, 0x96d5 | a0 = 0x96d5;
| if (v1 == a0) {
0x0000959c beq v1, a0, 0x96f4 | goto label_6;
| }
0x000095a0 addiu a0, zero, 0x2175 | a0 = 0x2175;
| if (v1 != a0) {
0x000095a4 bne v1, a0, 0x95c4 | goto label_7;
| }
0x000095a8 lhu v1, 2(s0) | v1 = *((s0 + 1));
0x000095ac addiu a0, zero, 0x7521 | a0 = 0x7521;
| if (v1 == a0) {
0x000095b0 beq v1, a0, 0x95dc | goto label_8;
| }
| if (v1 == a0) {
0x000095b4 beql v1, a0, 0x95e0 | goto label_9;
| }
0x000095b8 addiu v0, zero, 1 | v0 = 1;
0x000095bc addiu v0, zero, 1 | v0 = 1;
| if (s4 == 0) {
0x000095c0 bnel s4, zero, 0x95e0 | goto label_9;
| }
| }
| label_7:
0x000095c4 lw a0, (s3) | a0 = *(s3);
| label_2:
0x000095c8 lw t9, -0x7e40(gp) | t9 = sym.handle_invalid_sa_file;
0x000095cc move a3, v0 | a3 = v0;
0x000095d0 move a2, s2 | a2 = s2;
0x000095d4 move a1, s0 | a1 = s0;
0x000095d8 bal 0x6d80 | sym_handle_invalid_sa_file ();
| label_8:
0x000095dc addiu v0, zero, 1 | v0 = 1;
| label_9:
0x000095e0 sw v0, (s5) | *(s5) = v0;
0x000095e4 lw v0, 0x64(sp) | v0 = *(arg_64h);
0x000095e8 lw t9, -0x7e44(gp) | t9 = sym.swap_struct;
| if (v0 != 0) {
0x000095ec beqz v0, 0x9600 |
0x000095f0 wsbh v1, v1 | __asm ("wsbh v1, v1");
0x000095f4 addiu v0, zero, -0x2a6a | v0 = -0x2a6a;
0x000095f8 sh v0, (s0) | *(s0) = v0;
0x000095fc sh v1, 2(s0) | *((s0 + 1)) = v1;
| }
0x00009600 move a2, zero | a2 = 0;
0x00009604 addiu a1, s0, 8 | a1 = s0 + 8;
0x00009608 addiu a0, sp, 0x20 | a0 = sp + 0x20;
0x0000960c bal 0x87c8 | sym_swap_struct ();
0x00009610 lw gp, 0x18(sp) | gp = *(var_18h);
| label_1:
0x00009614 lbu v0, 4(s0) | v0 = *((s0 + 4));
0x00009618 sltiu v1, v0, 0xb | v1 = (v0 < 0xb) ? 1 : 0;
| if (v1 == 0) {
0x0000961c beql v1, zero, 0x968c | goto label_10;
| }
0x00009620 lw v1, 8(s0) | v1 = *((s0 + 2));
0x00009624 addiu v1, zero, 0xa | v1 = 0xa;
| if (v0 == v1) {
0x00009628 beql v0, v1, 0x967c | goto label_11;
| }
0x0000962c lbu v1, 5(s0) | v1 = *((s0 + 5));
0x00009630 lhu v0, 2(s0) | v0 = *((s0 + 1));
| do {
| label_0:
0x00009634 addiu v1, zero, 0x2175 | v1 = 0x2175;
| if (v0 != v1) {
0x00009638 beql v0, v1, 0x964c |
0x0000963c move v0, zero | v0 = 0;
0x00009640 xori v0, v0, 0x7521 | v0 ^= 0x7521;
0x00009644 sltu v0, zero, v0 | v0 = (0 < v0) ? 1 : 0;
0x00009648 negu v0, v0 | __asm ("negu v0, v0");
| }
0x0000964c lw a0, 0x2c(sp) | a0 = *(var_2ch);
0x00009650 lw v1, (s1) | v1 = *(s1);
0x00009654 lw ra, 0x4c(sp) | ra = *(var_4ch);
| if (a0 != v1) {
0x00009658 bne a0, v1, 0x97a4 | goto label_12;
| }
0x0000965c lw s5, 0x48(sp) | s5 = *(var_48h);
0x00009660 lw s4, 0x44(sp) | s4 = *(var_44h);
0x00009664 lw s3, 0x40(sp) | s3 = *(var_40h);
0x00009668 lw s2, 0x3c(sp) | s2 = *(var_3ch);
0x0000966c lw s1, 0x38(sp) | s1 = *(var_38h);
0x00009670 lw s0, 0x34(sp) | s0 = *(var_34h);
0x00009674 addiu sp, sp, 0x50 |
0x00009678 jr ra | return v0;
| label_11:
0x0000967c sltiu v1, v1, 3 | v1 = (v1 < 3) ? 1 : 0;
0x00009680 lhu v0, 2(s0) | v0 = *((s0 + 1));
0x00009684 bnel v1, zero, 0x9634 |
| } while (v1 == 0);
0x00009688 lw v1, 8(s0) | v1 = *((s0 + 2));
| label_10:
0x0000968c addiu a0, v1, -1 | a0 = v1 + -1;
0x00009690 sltiu a0, a0, 0x2000 | a0 = (a0 < 0x2000) ? 1 : 0;
0x00009694 sltiu a0, v1, 0x148 | a0 = (v1 < aav.0x00000148) ? 1 : 0;
| if (a0 == 0) {
0x00009698 beqz a0, 0x96dc | goto label_13;
| }
0x0000969c sltiu a0, v0, 0xc | a0 = (v0 < 0xc) ? 1 : 0;
| if (a0 != 0) {
0x000096a0 beqz a0, 0x96ac |
| if (s4 == 0) {
0x000096a4 beql s4, zero, 0x96e0 | goto label_14;
| }
0x000096a8 lw a0, (s3) | a0 = *(s3);
| }
0x000096ac addiu a0, zero, 0xb | a0 = 0xb;
| if (a0 != 0) {
0x000096b0 bnez a0, 0x9720 | goto label_15;
| }
0x000096b4 lw v0, 0x10(s0) | v0 = *((s0 + 4));
| label_3:
0x000096b8 lw a1, 0x14(s0) | a1 = *((s0 + 5));
0x000096bc lw a0, 0x18(s0) | a0 = *((s0 + 6));
0x000096c0 addu v0, v0, a1 | v0 += a1;
0x000096c4 sll v0, v0, 1 | v0 <<= 1;
0x000096c8 addu v0, v0, a0 | v0 += a0;
0x000096cc sll v0, v0, 2 | v0 <<= 2;
0x000096d0 sltu v0, v1, v0 | v0 = (v1 < v0) ? 1 : 0;
| if (v0 == 0) {
0x000096d4 beql v0, zero, 0x9634 | goto label_0;
| }
0x000096d8 lhu v0, 2(s0) | v0 = *((s0 + 1));
| label_13:
0x000096dc lw a0, (s3) | a0 = *(s3);
| label_14:
0x000096e0 lw t9, -0x7e40(gp) | t9 = sym.handle_invalid_sa_file;
0x000096e4 addiu a3, zero, 0x4c | a3 = 0x4c;
0x000096e8 move a2, s2 | a2 = s2;
0x000096ec move a1, s0 | a1 = s0;
0x000096f0 bal 0x6d80 | sym_handle_invalid_sa_file ();
| label_6:
0x000096f4 lhu v1, 2(s0) | v1 = *((s0 + 1));
0x000096f8 addiu a0, zero, 0x2175 | a0 = 0x2175;
| if (v1 == a0) {
0x000096fc beql v1, a0, 0x9614 | goto label_1;
| }
0x00009700 sw zero, (s5) | *(s5) = 0;
0x00009704 addiu a0, zero, 0x7521 | a0 = 0x7521;
| if (v1 == a0) {
0x00009708 beql v1, a0, 0x9614 | goto label_1;
| }
0x0000970c sw zero, (s5) | *(s5) = 0;
| if (s4 == 0) {
0x00009710 beql s4, zero, 0x95c8 | goto label_2;
| }
0x00009714 lw a0, (s3) | a0 = *(s3);
0x00009718 sw zero, (s5) | *(s5) = 0;
0x0000971c b 0x9614 | goto label_1;
| label_15:
0x00009720 lhu v0, 2(s0) | v0 = *((s0 + 1));
| if (v0 == a0) {
0x00009724 bnel v0, a0, 0x9634 | goto label_0;
| }
0x00009728 lbu v0, 5(s0) | v0 = *((s0 + 5));
0x0000972c sltiu v0, v0, 7 | v0 = (v0 < 7) ? 1 : 0;
0x00009730 lhu v0, 2(s0) | v0 = *((s0 + 1));
| if (v0 == 0) {
0x00009734 bnel v0, zero, 0x9634 | goto label_0;
| }
0x00009738 lw v0, 0x10(s0) | v0 = *((s0 + 4));
0x0000973c b 0x96b8 | goto label_3;
| label_5:
0x00009740 lw t9, -0x7c84(gp) | t9 = sym.imp.__errno_location;
0x00009744 lw s0, -0x7be8(gp) | s0 = *((gp - 7930));
0x00009748 jalr t9 | t9 ();
0x0000974c nop |
0x00009750 lw gp, 0x18(sp) | gp = *(var_18h);
0x00009754 lw s1, (v0) | s1 = *(v0);
0x00009758 lw s3, (s0) | s3 = *(s0);
0x0000975c lw t9, -0x7c4c(gp) | t9 = sym.imp.strerror;
0x00009760 move a0, s1 | a0 = s1;
0x00009764 jalr t9 | t9 ();
0x00009768 lw gp, 0x18(sp) | gp = *(var_18h);
0x0000976c sw v0, 0x10(sp) | *(var_10h) = v0;
0x00009770 move a3, s2 | a3 = s2;
0x00009774 lw a2, -0x7fd8(gp) | a2 = *(gp);
0x00009778 lw t9, -0x7ccc(gp) | t9 = sym.imp.__fprintf_chk
| /* str.Cannot_open__s:__s_n */
0x0000977c addiu a2, a2, 0x2ecc | a2 += 0x2ecc;
0x00009780 addiu a1, zero, 1 | a1 = 1;
0x00009784 move a0, s3 | a0 = s3;
0x00009788 jalr t9 | t9 ();
0x0000978c addiu v0, zero, 2 | v0 = 2;
0x00009790 lw gp, 0x18(sp) | gp = *(var_18h);
| if (s1 == v0) {
0x00009794 beq s1, v0, 0x97b0 | goto label_16;
| }
| label_4:
0x00009798 lw t9, -0x7c54(gp) | t9 = sym.imp.exit;
| do {
0x0000979c addiu a0, zero, 2 | a0 = 2;
0x000097a0 jalr t9 | t9 ();
| label_12:
0x000097a4 lw t9, -0x7c10(gp) | t9 = sym.imp.__stack_chk_fail;
0x000097a8 jalr t9 | t9 ();
0x000097ac nop |
| label_16:
0x000097b0 lw v0, -0x7e90(gp) | v0 = *(gp);
0x000097b4 lw v0, (v0) | v0 = *(v0);
0x000097b8 lw t9, -0x7c54(gp) | t9 = sym.imp.exit;
0x000097bc beqz v0, 0x979c |
| } while (v0 == 0);
0x000097c0 lw a0, -0x7fd8(gp) | a0 = *(gp);
0x000097c4 lw t9, -0x7c34(gp) | t9 = sym.imp.fwrite;
0x000097c8 lw a3, (s0) | a3 = *(s0);
0x000097cc addiu a2, zero, 0x2b | a2 = 0x2b;
0x000097d0 addiu a1, zero, 1 | a1 = 1;
| /* str.Please_check_if_data_collecting_is_enabled_n */
0x000097d4 addiu a0, a0, 0x2ee0 | a0 += 0x2ee0;
0x000097d8 jalr t9 | t9 ();
0x000097dc lw gp, 0x18(sp) | gp = *(var_18h);
0x000097e0 b 0x9798 | goto label_4;
| }
; assembly | /* r2dec pseudo code output */
| /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/bin/sar @ 0x1b258 */
| #include <stdint.h>
|
; (fcn) sym.sysstat_panic () | void sysstat_panic () {
0x0001b258 lui gp, 2 |
0x0001b25c addiu gp, gp, 0x28f8 |
0x0001b260 addu gp, gp, t9 | gp += t9;
0x0001b264 lw v0, -0x7be8(gp) | v0 = *((gp - 7930));
0x0001b268 addiu sp, sp, -0x28 |
0x0001b26c lw a2, -0x7fd8(gp) | a2 = *(gp);
0x0001b270 lw t9, -0x7ccc(gp) | t9 = sym.imp.__fprintf_chk
0x0001b274 move a3, a0 | a3 = a0;
0x0001b278 lw a0, (v0) | a0 = *(v0);
| /* str.sysstat:__s__d_:_Internal_error..._n */
0x0001b27c addiu a2, a2, 0x344c | a2 += 0x344c;
0x0001b280 sw gp, 0x18(sp) | *(var_18h) = gp;
0x0001b284 sw a1, 0x10(sp) | *(var_10h) = a1;
0x0001b288 sw ra, 0x24(sp) | *(var_24h) = ra;
0x0001b28c addiu a1, zero, 1 | a1 = 1;
0x0001b290 jalr t9 | t9 ();
0x0001b294 lw gp, 0x18(sp) | gp = *(var_18h);
0x0001b298 lw t9, -0x7c54(gp) | t9 = sym.imp.exit;
0x0001b29c addiu a0, zero, 1 | a0 = 1;
0x0001b2a0 jalr t9 | t9 ();
0x0001b2a4 lui gp, 2 |
0x0001b2a8 addiu gp, gp, 0x28ac |
0x0001b2ac addu gp, gp, t9 | gp += t9;
0x0001b2b0 addiu sp, sp, -0x30 |
0x0001b2b4 slti v0, a0, 2 | v0 = (a0 < 2) ? 1 : 0;
0x0001b2b8 sw gp, 0x10(sp) | *(var_10h_2) = gp;
0x0001b2bc sw ra, 0x2c(sp) | *(var_2ch) = ra;
0x0001b2c0 sw s3, 0x28(sp) | *(var_28h) = s3;
0x0001b2c4 sw s2, 0x24(sp) | *(var_24h_2) = s2;
0x0001b2c8 sw s1, 0x20(sp) | *(var_20h) = s1;
0x0001b2cc sw s0, 0x1c(sp) | *(var_1ch) = s0;
0x0001b2d0 sll s3, a0, 2 | s3 = a0 << 2;
| if (v0 != 0) {
0x0001b2d4 bnez v0, 0x1b338 | goto label_1;
| }
0x0001b2d8 addiu s2, a1, 4 | s2 = a1 + 4;
0x0001b2dc addu s3, a1, s3 | s3 = a1 + s3;
0x0001b2e0 move s1, zero | s1 = 0;
0x0001b2e4 b 0x1b2f4 |
| while (v0 == 0) {
0x0001b2e8 addiu s2, s2, 4 | s2 += 4;
| label_0:
0x0001b2ec lw ra, 0x2c(sp) | ra = *(var_2ch);
| if (s2 == s3) {
0x0001b2f0 beq s2, s3, 0x1b340 | goto label_2;
| }
0x0001b2f4 lw s0, (s2) | s0 = *(s2);
0x0001b2f8 lw t9, -0x7c64(gp) | t9 = sym.imp.strchr;
0x0001b2fc addiu a1, zero, 0x2c | a1 = 0x2c;
0x0001b300 move a0, s0 | a0 = s0;
0x0001b304 jalr t9 | t9 ();
0x0001b308 lw gp, 0x10(sp) | gp = *(var_10h_2);
0x0001b30c beqz v0, 0x1b2e8 |
| }
| do {
0x0001b310 lw t9, -0x7c64(gp) | t9 = sym.imp.strchr;
0x0001b314 addiu a0, s0, 1 | a0 = s0 + 1;
0x0001b318 addiu a1, zero, 0x2c | a1 = 0x2c;
0x0001b31c jalr t9 | t9 ();
0x0001b320 move s0, v0 | s0 = v0;
0x0001b324 lw gp, 0x10(sp) | gp = *(var_10h_2);
0x0001b328 addiu s1, s1, 1 | s1++;
0x0001b32c bnez v0, 0x1b310 |
| } while (v0 != 0);
0x0001b330 addiu s2, s2, 4 | s2 += 4;
0x0001b334 b 0x1b2ec | goto label_0;
| label_1:
0x0001b338 move s1, zero | s1 = 0;
0x0001b33c lw ra, 0x2c(sp) | ra = *(var_2ch);
| label_2:
0x0001b340 move v0, s1 | v0 = s1;
0x0001b344 lw s3, 0x28(sp) | s3 = *(var_28h);
0x0001b348 lw s2, 0x24(sp) | s2 = *(var_24h_2);
0x0001b34c lw s1, 0x20(sp) | s1 = *(var_20h);
0x0001b350 lw s0, 0x1c(sp) | s0 = *(var_1ch);
0x0001b354 addiu sp, sp, 0x30 |
0x0001b358 jr ra | return v0;
| }
; assembly | /* r2dec pseudo code output */
| /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/bin/sar @ 0x1e4a0 */
| #include <stdint.h>
|
; (fcn) sym.transform_devmapname () | void transform_devmapname () {
0x0001e4a0 lui gp, 2 |
0x0001e4a4 addiu gp, gp, -0x950 |
0x0001e4a8 addu gp, gp, t9 | gp += t9;
0x0001e4ac addiu sp, sp, -0x2e8 |
0x0001e4b0 lw t9, -0x7cf0(gp) | t9 = sym.imp.opendir;
0x0001e4b4 sw s6, 0x2d8(sp) | *(var_2d8h) = s6;
0x0001e4b8 lw s6, -0x7bf8(gp) | s6 = *((gp - 7934));
0x0001e4bc sw s1, 0x2c4(sp) | *(var_2c4h) = s1;
0x0001e4c0 lw s1, -0x7fd8(gp) | s1 = *(gp);
0x0001e4c4 lw v0, (s6) | v0 = *(s6);
0x0001e4c8 sw gp, 0x20(sp) | *(var_20h) = gp;
0x0001e4cc sw s5, 0x2d4(sp) | *(var_2d4h) = s5;
0x0001e4d0 sw s4, 0x2d0(sp) | *(var_2d0h) = s4;
0x0001e4d4 sw ra, 0x2e4(sp) | *(var_2e4h) = ra;
0x0001e4d8 sw fp, 0x2e0(sp) | *(var_2e0h) = fp;
0x0001e4dc sw s7, 0x2dc(sp) | *(var_2dch) = s7;
0x0001e4e0 sw s3, 0x2cc(sp) | *(var_2cch) = s3;
0x0001e4e4 sw s2, 0x2c8(sp) | *(var_2c8h) = s2;
0x0001e4e8 sw s0, 0x2c0(sp) | *(var_2c0h) = s0;
0x0001e4ec move s5, a0 | s5 = a0;
0x0001e4f0 sw v0, 0x2bc(sp) | *(var_2bch) = v0;
| /* str._dev_mapper */
0x0001e4f4 addiu a0, s1, 0x38ac | a0 = s1 + 0x38ac;
0x0001e4f8 move s4, a1 | s4 = a1;
0x0001e4fc jalr t9 | t9 ();
0x0001e500 lw gp, 0x20(sp) | gp = *(var_20h);
| if (v0 == 0) {
0x0001e504 beqz v0, 0x1e634 | goto label_2;
| }
0x0001e508 lw s3, -0x7fd8(gp) | s3 = *(gp);
0x0001e50c move s2, v0 | s2 = v0;
0x0001e510 addiu s7, sp, 0xbc | s7 = sp + 0xbc;
| /* str._dev_mapper */
0x0001e514 addiu s1, s1, 0x38ac | s1 += 0x38ac;
| /* esilref: '&s/&s' */
0x0001e518 addiu s3, s3, 0x3470 | s3 += 0x3470;
0x0001e51c addiu fp, sp, 0x2c | fp = sp + 0x2c;
| do {
| label_1:
0x0001e520 lw t9, -0x7cb8(gp) | t9 = sym.imp.readdir;
| label_0:
0x0001e524 move a0, s2 | a0 = s2;
0x0001e528 jalr t9 | t9 ();
0x0001e52c lw gp, 0x20(sp) | gp = *(var_20h);
| if (v0 == 0) {
0x0001e530 beqz v0, 0x1e5d4 | goto label_3;
| }
0x0001e534 lw t9, -0x7bc8(gp) | t9 = sym.imp.__snprintf_chk;
0x0001e538 addiu s0, v0, 0xb | s0 = v0 + 0xb;
0x0001e53c addiu a3, zero, 0x200 | a3 = aav.0x00000200;
0x0001e540 addiu a2, zero, 1 | a2 = 1;
0x0001e544 addiu a1, zero, 0x200 | a1 = aav.0x00000200;
0x0001e548 move a0, s7 | a0 = s7;
0x0001e54c sw s0, 0x18(sp) | *(var_18h) = s0;
0x0001e550 sw s1, 0x14(sp) | *(var_14h) = s1;
0x0001e554 sw s3, 0x10(sp) | *(var_10h) = s3;
0x0001e558 jalr t9 | t9 ();
0x0001e55c lw gp, 0x20(sp) | gp = *(var_20h);
0x0001e560 move a2, fp | a2 = fp;
0x0001e564 move a1, s7 | a1 = s7;
0x0001e568 lw t9, -0x7c2c(gp) | t9 = sym.imp.__xstat;
0x0001e56c addiu a0, zero, 3 | a0 = 3;
0x0001e570 sb zero, 0x2bb(sp) | *(var_2bbh) = 0;
0x0001e574 jalr t9 | t9 ();
0x0001e578 lw gp, 0x20(sp) | gp = *(var_20h);
0x0001e57c bnez v0, 0x1e520 |
| } while (v0 != 0);
0x0001e580 lw v1, 0x50(sp) | v1 = *(var_50h);
0x0001e584 addiu a1, zero, -0x100 | a1 = -aav.0x00000100;
0x0001e588 srl v0, v1, 0xc | v0 = v1 >> 0xc;
0x0001e58c andi a0, v1, 0xff | a0 = v1 & 0xff;
0x0001e590 and v0, v0, a1 | v0 &= a1;
0x0001e594 or v0, v0, a0 | v0 |= a0;
0x0001e598 lw t9, -0x7cb8(gp) | t9 = sym.imp.readdir;
| if (s4 != v0) {
0x0001e59c bne s4, v0, 0x1e524 | goto label_0;
| }
0x0001e5a0 ext v1, v1, 8, 0xc | __asm ("ext v1, v1, 8, 0xc");
0x0001e5a4 lw t9, -0x7c88(gp) | t9 = sym.imp.strncpy;
| if (s5 != v1) {
0x0001e5a8 bne s5, v1, 0x1e520 | goto label_1;
| }
0x0001e5ac lw s1, -0x7d80(gp) | s1 = *((gp - 8032));
0x0001e5b0 addiu a0, s1, -0x5360 | a0 = s1 + -0x5360;
0x0001e5b4 addiu s1, s1, -0x5360 | s1 += -0x5360;
0x0001e5b8 move a1, s0 | a1 = s0;
0x0001e5bc addiu a2, zero, 0x80 | a2 = 0x80;
0x0001e5c0 jalr t9 | t9 ();
0x0001e5c4 move s0, s1 | s0 = s1;
0x0001e5c8 lw gp, 0x20(sp) | gp = *(var_20h);
0x0001e5cc sb zero, 0x7f(s1) | *((s1 + 127)) = 0;
0x0001e5d0 b 0x1e5d8 | goto label_4;
| label_3:
0x0001e5d4 move s0, zero | s0 = 0;
| label_4:
0x0001e5d8 lw t9, -0x7ce8(gp) | t9 = sym.imp.closedir;
0x0001e5dc move a0, s2 | a0 = s2;
0x0001e5e0 jalr t9 | t9 ();
0x0001e5e4 lw a0, 0x2bc(sp) | a0 = *(var_2bch);
0x0001e5e8 lw v1, (s6) | v1 = *(s6);
0x0001e5ec lw gp, 0x20(sp) | gp = *(var_20h);
0x0001e5f0 move v0, s0 | v0 = s0;
| if (a0 == v1) {
0x0001e5f4 bne a0, v1, 0x1e628 |
0x0001e5f8 lw ra, 0x2e4(sp) | ra = *(var_2e4h);
0x0001e5fc lw fp, 0x2e0(sp) | fp = *(var_2e0h);
0x0001e600 lw s7, 0x2dc(sp) | s7 = *(var_2dch);
0x0001e604 lw s6, 0x2d8(sp) | s6 = *(var_2d8h);
0x0001e608 lw s5, 0x2d4(sp) | s5 = *(var_2d4h);
0x0001e60c lw s4, 0x2d0(sp) | s4 = *(var_2d0h);
0x0001e610 lw s3, 0x2cc(sp) | s3 = *(var_2cch);
0x0001e614 lw s2, 0x2c8(sp) | s2 = *(var_2c8h);
0x0001e618 lw s1, 0x2c4(sp) | s1 = *(var_2c4h);
0x0001e61c lw s0, 0x2c0(sp) | s0 = *(var_2c0h);
0x0001e620 addiu sp, sp, 0x2e8 |
0x0001e624 jr ra | return v0;
| }
0x0001e628 lw t9, -0x7c10(gp) | t9 = sym.imp.__stack_chk_fail;
0x0001e62c jalr t9 | t9 ();
0x0001e630 nop |
| label_2:
0x0001e634 lw v0, -0x7be8(gp) | v0 = *((gp - 7930));
0x0001e638 lw t9, -0x7c84(gp) | t9 = sym.imp.__errno_location;
0x0001e63c lw s0, (v0) | s0 = *(v0);
0x0001e640 jalr t9 | t9 ();
0x0001e644 lw gp, 0x20(sp) | gp = *(var_20h);
0x0001e648 lw t9, -0x7c4c(gp) | t9 = sym.imp.strerror;
0x0001e64c lw a0, (v0) | a0 = *(v0);
0x0001e650 jalr t9 | t9 ();
0x0001e654 lw gp, 0x20(sp) | gp = *(var_20h);
0x0001e658 move a0, s0 | a0 = s0;
0x0001e65c sw v0, 0x10(sp) | *(var_10h) = v0;
0x0001e660 lw a2, -0x7fd8(gp) | a2 = *(gp);
0x0001e664 lw t9, -0x7ccc(gp) | t9 = sym.imp.__fprintf_chk
| /* str._dev_mapper */
0x0001e668 addiu a3, s1, 0x38ac | a3 = s1 + 0x38ac;
| /* str.Cannot_open__s:__s_n */
0x0001e66c addiu a2, a2, 0x2ecc | a2 += 0x2ecc;
0x0001e670 addiu a1, zero, 1 | a1 = 1;
0x0001e674 jalr t9 | t9 ();
0x0001e678 lw gp, 0x20(sp) | gp = *(var_20h);
0x0001e67c lw t9, -0x7c54(gp) | t9 = sym.imp.exit;
0x0001e680 addiu a0, zero, 4 | a0 = 4;
0x0001e684 jalr t9 | t9 ();
0x0001e688 nop |
0x0001e68c nop |
| }
; assembly | /* r2dec pseudo code output */
| /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/bin/sar @ 0x4558 */
| #include <stdint.h>
|
; (fcn) sym.usage () | void usage () {
0x00004558 lui gp, 4 |
0x0000455c addiu gp, gp, -0x6a08 |
0x00004560 addu gp, gp, t9 | gp += t9;
0x00004564 addiu sp, sp, -0x20 |
0x00004568 lw a2, -0x7fd8(gp) | a2 = *(gp);
0x0000456c sw s0, 0x18(sp) | *(var_18h) = s0;
0x00004570 lw s0, -0x7be8(gp) | s0 = *((gp - 7930));
0x00004574 lw t9, -0x7ccc(gp) | t9 = sym.imp.__fprintf_chk
0x00004578 move a3, a0 | a3 = a0;
0x0000457c lw a0, (s0) | a0 = *(s0);
0x00004580 sw gp, 0x10(sp) | *(var_10h) = gp;
0x00004584 sw ra, 0x1c(sp) | *(var_1ch) = ra;
| /* str.Usage:__s___options______interval_____count______n */
0x00004588 addiu a2, a2, 0x1684 | a2 += 0x1684;
0x0000458c addiu a1, zero, 1 | a1 = 1;
0x00004590 jalr t9 | t9 ();
0x00004594 lw gp, 0x10(sp) | gp = *(var_10h);
0x00004598 lw a3, (s0) | a3 = *(s0);
0x0000459c addiu a2, zero, 0x257 | a2 = 0x257;
0x000045a0 lw a0, -0x7fd8(gp) | a0 = *(gp);
0x000045a4 lw t9, -0x7c34(gp) | t9 = sym.imp.fwrite;
| /* str.Options_are:_n___A______B______b______C______D______d______F___MOUNT________H______h___n___p______q______r___ALL________S______t______u___ALL________V___n___v______W______w______y______z___n___I___int_list___SUM__ALL_______P___cpu_list___ALL____n___m___keyword____...___ALL_______n___keyword____...___ALL____n____dev_dev_list________fs_fs_list________iface_iface_list____n____dec_0__1__2________help_______human_______sadc___n___j__ID__LABEL__PATH__UUID__...____n___f____filename______o____filename_______0_9____n___i__interval_______s____hh:mm_:ss__________e____hh:mm_:ss_______n */
0x000045a8 addiu a0, a0, 0x16b8 | a0 += 0x16b8;
0x000045ac addiu a1, zero, 1 | a1 = 1;
0x000045b0 jalr t9 | t9 ();
0x000045b4 lw gp, 0x10(sp) | gp = *(var_10h);
0x000045b8 lw t9, -0x7c54(gp) | t9 = sym.imp.exit;
0x000045bc addiu a0, zero, 1 | a0 = 1;
0x000045c0 jalr t9 | return t9 ();
| }
[*] Function fprintf used 22 times sar