[*] Binary protection state of busybox.nosuid
Full RELRO Canary found NX disabled PIE enabled No RPATH No RUNPATH No Symbols
[*] Function fprintf tear down of busybox.nosuid
; assembly | /* r2dec pseudo code output */
| /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/bin/busybox.nosuid @ 0x184a0 */
| #include <stdint.h>
|
; (fcn) fcn.000184a0 () | void fcn_000184a0 () {
0x000184a0 lui gp, 8 |
0x000184a4 addiu gp, gp, 0x1c90 |
0x000184a8 addu gp, gp, t9 | gp += t9;
0x000184ac addiu sp, sp, -0xd8 |
0x000184b0 lhu v0, 4(a1) | v0 = *((a1 + 2));
0x000184b4 sw s2, 0xb8(sp) | *(var_b8h) = s2;
0x000184b8 lw s2, -0x74a4(gp) | s2 = *((gp - 7465));
0x000184bc addiu v1, v0, -0x18 | v1 = v0 + -0x18;
0x000184c0 sw gp, 0x18(sp) | *(var_18h) = gp;
0x000184c4 lw a0, (s2) | a0 = *(s2);
0x000184c8 sltiu v1, v1, 2 | v1 = (v1 < 2) ? 1 : 0;
0x000184cc sw s1, 0xb4(sp) | *(var_b4h) = s1;
0x000184d0 sw ra, 0xd4(sp) | *(var_d4h) = ra;
0x000184d4 sw fp, 0xd0(sp) | *(var_d0h) = fp;
0x000184d8 sw s7, 0xcc(sp) | *(var_cch) = s7;
0x000184dc sw s6, 0xc8(sp) | *(var_c8h) = s6;
0x000184e0 sw s5, 0xc4(sp) | *(var_c4h) = s5;
0x000184e4 sw s4, 0xc0(sp) | *(var_c0h) = s4;
0x000184e8 sw s3, 0xbc(sp) | *(var_bch) = s3;
0x000184ec sw s0, 0xb0(sp) | *(var_b0h) = s0;
0x000184f0 move s1, a1 | s1 = a1;
0x000184f4 lw a3, (a1) | a3 = *(a1);
0x000184f8 sw a0, 0xac(sp) | *(var_ach) = a0;
0x000184fc lw a0, -0x747c(gp) | a0 = *((gp - 7455));
| if (v1 == 0) {
0x00018500 bnez v1, 0x18530 |
0x00018504 lhu v1, 6(a1) | v1 = *((a1 + 3));
0x00018508 lw a2, -0x7f90(gp) | a2 = *(gp);
0x0001850c lw t9, -0x77dc(gp) | t9 = sym.imp.__fprintf_chk
0x00018510 lw a0, (a0) | a0 = *(a0);
| /* str.Not_a_route:__08x__08x__08x_n */
0x00018514 addiu a2, a2, -0x71cc | a2 += -0x71cc;
0x00018518 sw v1, 0x14(sp) | *(var_14h) = v1;
0x0001851c sw v0, 0x10(sp) | *(var_10h) = v0;
0x00018520 addiu a1, zero, 1 | a1 = 1;
0x00018524 jalr t9 | t9 ();
0x00018528 lw gp, 0x18(sp) | gp = *(var_18h);
0x0001852c b 0x1895c | goto label_1;
| }
0x00018530 lw s0, -0x7e94(gp) | s0 = *(gp);
0x00018534 lwl v1, 0xb(s0) | __asm ("lwl v1, 0xb(s0)");
0x00018538 lwr v1, 8(s0) | __asm ("lwr v1, 8(s0)");
0x0001853c addiu v1, zero, 0x18 | v1 = 0x18;
| if (v1 != 0) {
0x00018540 beqz v1, 0x1854c |
| if (v0 != v1) {
0x00018544 bne v0, v1, 0x1895c | goto label_1;
| }
0x00018548 nop |
| }
0x0001854c addiu a3, a3, -0x1c | a3 += -0x1c;
0x00018550 lw a0, -0x7f90(gp) | a0 = *(gp);
| if (a3 < 0) {
0x00018554 bgez a3, 0x18568 |
0x00018558 lw t9, -0x7fa4(gp) | t9 = *(gp);
0x0001855c move a1, a3 | a1 = a3;
| /* str.wrong_nlmsg_len__d */
0x00018560 addiu a0, a0, -0x7410 | a0 += -0x7410;
0x00018564 bal 0x8784 | fcn_00008784 ();
| }
0x00018568 lw t9, -0x7d44(gp) | t9 = *(gp);
0x0001856c addiu a2, s1, 0x1c | a2 = s1 + 0x1c;
0x00018570 addiu a1, zero, 0x18 | a1 = 0x18;
0x00018574 addiu a0, sp, 0x48 | a0 = sp + 0x48;
0x00018578 bal 0x1b284 | fcn_0001b284 ();
0x0001857c lw v0, 0x84(sp) | v0 = *(var_84h);
0x00018580 lw gp, 0x18(sp) | gp = *(var_18h);
| if (v0 == 0) {
0x00018584 beqz v0, 0x1899c | goto label_13;
| }
0x00018588 lw v1, 4(v0) | v1 = *((v0 + 1));
0x0001858c lwl v0, 3(s0) | __asm ("lwl v0, 3(s0)");
0x00018590 lbu s3, 0x10(s1) | s3 = *((s1 + 16));
0x00018594 addiu a0, zero, 0xa | a0 = 0xa;
0x00018598 lwr v0, (s0) | __asm ("lwr v0, (s0)");
| if (s3 != a0) {
0x0001859c bne s3, a0, 0x189b4 | goto label_14;
| }
| do {
0x000185a0 addiu s4, zero, 0x80 | s4 = 0x80;
| if (v0 != 0) {
0x000185a4 beqz v0, 0x185bc |
0x000185a8 lw v1, 0x18(s1) | v1 = *((s1 + 6));
0x000185ac andi v1, v1, 0x200 | v1 &= aav.0x00000200;
| if (v0 >= 0) {
0x000185b0 bgez v0, 0x18f34 | goto label_15;
| }
| if (v1 == 0) {
0x000185b4 beqz v1, 0x1895c | goto label_1;
| }
0x000185b8 nop |
| }
| label_0:
0x000185bc lwl v0, 0x1b(s0) | __asm ("lwl v0, 0x1b(s0)");
0x000185c0 lwl a0, 0x1f(s0) | __asm ("lwl a0, 0x1f(s0)");
0x000185c4 lbu a1, 0x16(s1) | a1 = *((s1 + 22));
0x000185c8 lwr v0, 0x18(s0) | __asm ("lwr v0, 0x18(s0)");
0x000185cc lwr a0, 0x1c(s0) | __asm ("lwr a0, 0x1c(s0)");
0x000185d0 xor v0, v0, a1 | v0 ^= a1;
0x000185d4 and v0, v0, a0 | v0 &= a0;
| if (v0 == 0) {
0x000185d8 bnez v0, 0x1895c |
0x000185dc nop |
0x000185e0 lbu s6, 0x3c(s0) | s6 = *((s0 + 60));
| if (s6 != 0) {
| label_2:
0x000185e4 beql s6, zero, 0x1861c |
0x000185e8 lbu s5, 0x50(s0) | s5 = *((s0 + 80));
| if (s3 != s6) {
0x000185ec bne s3, s6, 0x1895c | goto label_1;
| }
0x000185f0 nop |
0x000185f4 lbu v0, 0x3f(s0) | v0 = *((s0 + 63));
0x000185f8 lbu v1, 0x3e(s0) | v1 = *((s0 + 62));
0x000185fc sll v0, v0, 8 | v0 <<= 8;
0x00018600 or v0, v0, v1 | v0 |= v1;
0x00018604 lbu v1, 0x11(s1) | v1 = *((s1 + 17));
0x00018608 seh v0, v0 | __asm ("seh v0, v0");
0x0001860c slt v0, v1, v0 | v0 = (v1 < v0) ? 1 : 0;
| if (v0 != 0) {
0x00018610 bnez v0, 0x1895c | goto label_1;
| }
0x00018614 nop |
0x00018618 lbu s5, 0x50(s0) | s5 = *((s0 + 80));
| }
| if (s5 != 0) {
0x0001861c beql s5, zero, 0x1865c |
0x00018620 lbu v0, 0x64(s0) | v0 = *((s0 + 100));
| if (s3 != s5) {
0x00018624 bne s3, s5, 0x1895c | goto label_1;
| }
0x00018628 nop |
0x0001862c lbu v0, 0x53(s0) | v0 = *((s0 + 83));
0x00018630 lbu v1, 0x52(s0) | v1 = *((s0 + 82));
0x00018634 sll v0, v0, 8 | v0 <<= 8;
0x00018638 or v0, v0, v1 | v0 |= v1;
0x0001863c seh v0, v0 | __asm ("seh v0, v0");
| if (v0 < 0) {
0x00018640 bltzl v0, 0x1865c | goto label_16;
| }
0x00018644 lbu v0, 0x64(s0) | v0 = *((s0 + 100));
0x00018648 lbu v1, 0x11(s1) | v1 = *((s1 + 17));
0x0001864c slt v0, v0, v1 | v0 = (v0 < v1) ? 1 : 0;
| if (v0 != 0) {
0x00018650 bnez v0, 0x1895c | goto label_1;
| }
0x00018654 nop |
0x00018658 lbu v0, 0x64(s0) | v0 = *((s0 + 100));
| }
| if (v0 != 0) {
| label_16:
0x0001865c beql v0, zero, 0x18694 |
0x00018660 lbu v0, 0x78(s0) | v0 = *((s0 + 120));
| if (s3 != v0) {
0x00018664 bne s3, v0, 0x1895c | goto label_1;
| }
0x00018668 nop |
0x0001866c lbu v0, 0x67(s0) | v0 = *((s0 + 103));
0x00018670 lbu v1, 0x66(s0) | v1 = *((s0 + 102));
0x00018674 sll v0, v0, 8 | v0 <<= 8;
0x00018678 or v0, v0, v1 | v0 |= v1;
0x0001867c lbu v1, 0x12(s1) | v1 = *((s1 + 18));
0x00018680 seh v0, v0 | __asm ("seh v0, v0");
0x00018684 slt v0, v1, v0 | v0 = (v1 < v0) ? 1 : 0;
| if (v0 != 0) {
0x00018688 bnez v0, 0x1895c | goto label_1;
| }
0x0001868c nop |
0x00018690 lbu v0, 0x78(s0) | v0 = *((s0 + 120));
| }
0x00018694 addiu s7, sp, 0x34 | s7 = sp + 0x34;
| if (v0 != 0) {
0x00018698 beqz v0, 0x186d0 |
| if (s3 != v0) {
0x0001869c bne s3, v0, 0x1895c | goto label_1;
| }
0x000186a0 nop |
0x000186a4 lbu v0, 0x7b(s0) | v0 = *((s0 + 123));
0x000186a8 lbu v1, 0x7a(s0) | v1 = *((s0 + 122));
0x000186ac sll v0, v0, 8 | v0 <<= 8;
0x000186b0 or v0, v0, v1 | v0 |= v1;
0x000186b4 seh v0, v0 | __asm ("seh v0, v0");
0x000186b8 addiu fp, sp, 0x20 | fp = sp + 0x20;
| if (v0 < 0) {
0x000186bc bltz v0, 0x186d4 | goto label_17;
| }
0x000186c0 lbu v1, 0x12(s1) | v1 = *((s1 + 18));
0x000186c4 slt v0, v0, v1 | v0 = (v0 < v1) ? 1 : 0;
| if (v0 != 0) {
0x000186c8 bnez v0, 0x1895c | goto label_1;
| }
0x000186cc nop |
| }
0x000186d0 addiu fp, sp, 0x20 | fp = sp + 0x20;
| label_17:
0x000186d4 lw a1, 0x50(sp) | a1 = *(var_50h);
0x000186d8 sw zero, 0x34(sp) | *(var_34h) = 0;
0x000186dc sw zero, 0x20(sp) | *(var_20h) = 0;
0x000186e0 sw zero, 4(s7) | *(var_38h) = 0;
0x000186e4 sw zero, 8(s7) | *(var_8h) = 0;
0x000186e8 sw zero, 0xc(s7) | *(var_ch) = 0;
0x000186ec sw zero, 0x10(s7) | *(var_10h_2) = 0;
0x000186f0 sw zero, 4(fp) | *(var_24h) = 0;
0x000186f4 sw zero, 8(fp) | *(var_8h_2) = 0;
0x000186f8 sw zero, 0xc(fp) | *(var_ch_2) = 0;
0x000186fc sw zero, 0x10(fp) | *(var_10h_3) = 0;
| if (a1 != 0) {
0x00018700 beqz a1, 0x1873c |
0x00018704 xori v0, s3, 0xa | v0 = s3 ^ 0xa;
0x00018708 addiu a0, zero, 0x10 | a0 = 0x10;
0x0001870c addiu v1, zero, 4 | v1 = 4;
| if (v0 != 0) {
0x00018710 movz v1, a0, v0 | v1 = a0;
| }
0x00018714 move v0, v1 | v0 = v1;
0x00018718 lbu v1, 0x12(s1) | v1 = *((s1 + 18));
0x0001871c lw t9, -0x74a0(gp) | t9 = sym.imp.memcpy;
0x00018720 move a2, v0 | a2 = v0;
0x00018724 addiu a1, a1, 4 | a1 += 4;
0x00018728 addiu a0, sp, 0x38 | a0 = sp + 0x38;
0x0001872c sh v1, 0x36(sp) | *(var_36h) = v1;
0x00018730 sb v0, 0x35(sp) | *(var_35h) = v0;
0x00018734 jalr t9 | t9 ();
0x00018738 lw gp, 0x18(sp) | gp = *(var_18h);
| }
0x0001873c lw a1, 0x4c(sp) | a1 = *(var_4ch);
0x00018740 addiu v1, zero, 0x10 | v1 = 0x10;
| if (a1 != 0) {
0x00018744 beqz a1, 0x1877c |
0x00018748 xori s3, s3, 0xa | s3 ^= 0xa;
0x0001874c addiu v0, zero, 4 | v0 = 4;
| if (s3 != 0) {
0x00018750 movz v0, v1, s3 | v0 = v1;
| }
0x00018754 move s3, v0 | s3 = v0;
0x00018758 lbu v0, 0x11(s1) | v0 = *((s1 + 17));
0x0001875c lw t9, -0x74a0(gp) | t9 = sym.imp.memcpy;
0x00018760 move a2, s3 | a2 = s3;
0x00018764 addiu a1, a1, 4 | a1 += 4;
0x00018768 addiu a0, sp, 0x24 | a0 = sp + 0x24;
0x0001876c sh v0, 0x22(sp) | *(var_22h) = v0;
0x00018770 sb s3, 0x21(sp) | *(var_21h) = s3;
0x00018774 jalr t9 | t9 ();
0x00018778 lw gp, 0x18(sp) | gp = *(var_18h);
| }
0x0001877c lw t9, -0x7d00(gp) | t9 = *(gp);
| if (s6 != 0) {
0x00018780 beqz s6, 0x187b0 |
0x00018784 lbu a2, 0x3f(s0) | a2 = *((s0 + 63));
0x00018788 lbu v0, 0x3e(s0) | v0 = *((s0 + 62));
0x0001878c sll a2, a2, 8 | a2 <<= 8;
0x00018790 or a2, a2, v0 | a2 |= v0;
0x00018794 seh a2, a2 | __asm ("seh a2, a2");
0x00018798 addiu a1, s0, 0x3c | a1 = s0 + 0x3c;
0x0001879c move a0, fp | a0 = fp;
0x000187a0 bal 0x1cbbc | fcn_0001cbbc ();
0x000187a4 lw gp, 0x18(sp) | gp = *(var_18h);
| if (v0 != 0) {
0x000187a8 bnez v0, 0x1895c | goto label_1;
| }
0x000187ac lbu s5, 0x50(s0) | s5 = *((s0 + 80));
| }
| if (s5 != 0) {
0x000187b0 beql s5, zero, 0x187f0 |
0x000187b4 lbu v0, 0x64(s0) | v0 = *((s0 + 100));
0x000187b8 lbu v0, 0x53(s0) | v0 = *((s0 + 83));
0x000187bc lbu v1, 0x52(s0) | v1 = *((s0 + 82));
0x000187c0 sll v0, v0, 8 | v0 <<= 8;
0x000187c4 or v0, v0, v1 | v0 |= v1;
0x000187c8 seh v0, v0 | __asm ("seh v0, v0");
0x000187cc lw t9, -0x7d00(gp) | t9 = *(gp);
| if (v0 >= 0) {
0x000187d0 bltz v0, 0x187ec |
0x000187d4 lbu a2, 0x11(s1) | a2 = *((s1 + 17));
0x000187d8 addiu a1, s0, 0x50 | a1 = s0 + 0x50;
0x000187dc move a0, fp | a0 = fp;
0x000187e0 bal 0x1cbbc | fcn_0001cbbc ();
0x000187e4 lw gp, 0x18(sp) | gp = *(var_18h);
| if (v0 != 0) {
0x000187e8 bnez v0, 0x1895c | goto label_1;
| }
| }
0x000187ec lbu v0, 0x64(s0) | v0 = *((s0 + 100));
| }
0x000187f0 lw t9, -0x7d00(gp) | t9 = *(gp);
| if (v0 != 0) {
0x000187f4 beqz v0, 0x18820 |
0x000187f8 lbu a2, 0x67(s0) | a2 = *((s0 + 103));
0x000187fc lbu v0, 0x66(s0) | v0 = *((s0 + 102));
0x00018800 sll a2, a2, 8 | a2 <<= 8;
0x00018804 or a2, a2, v0 | a2 |= v0;
0x00018808 seh a2, a2 | __asm ("seh a2, a2");
0x0001880c addiu a1, s0, 0x64 | a1 = s0 + 0x64;
0x00018810 move a0, s7 | a0 = s7;
0x00018814 bal 0x1cbbc | fcn_0001cbbc ();
0x00018818 lw gp, 0x18(sp) | gp = *(var_18h);
| if (v0 != 0) {
0x0001881c bnez v0, 0x1895c | goto label_1;
| }
| }
0x00018820 lbu v0, 0x78(s0) | v0 = *((s0 + 120));
| if (v0 != 0) {
0x00018824 beql v0, zero, 0x18864 |
0x00018828 lwl v0, 0x27(s0) | __asm ("lwl v0, 0x27(s0)");
0x0001882c lbu v0, 0x7b(s0) | v0 = *((s0 + 123));
0x00018830 lbu v1, 0x7a(s0) | v1 = *((s0 + 122));
0x00018834 sll v0, v0, 8 | v0 <<= 8;
0x00018838 or v0, v0, v1 | v0 |= v1;
0x0001883c seh v0, v0 | __asm ("seh v0, v0");
0x00018840 lw t9, -0x7d00(gp) | t9 = *(gp);
| if (v0 >= 0) {
0x00018844 bltz v0, 0x18860 |
0x00018848 lbu a2, 0x12(s1) | a2 = *((s1 + 18));
0x0001884c addiu a1, s0, 0x78 | a1 = s0 + 0x78;
0x00018850 move a0, s7 | a0 = s7;
0x00018854 bal 0x1cbbc | fcn_0001cbbc ();
0x00018858 lw gp, 0x18(sp) | gp = *(var_18h);
| if (v0 != 0) {
0x0001885c bnez v0, 0x1895c | goto label_1;
| }
| }
0x00018860 lwl v0, 0x27(s0) | __asm ("lwl v0, 0x27(s0)");
| }
0x00018864 lwr v0, 0x24(s0) | __asm ("lwr v0, 0x24(s0)");
0x00018868 lw v1, 0x58(sp) | v1 = *(var_58h);
| if (v0 != 0) {
0x0001886c beqz v0, 0x18884 |
| if (v1 == 0) {
0x00018870 beqz v1, 0x1895c | goto label_1;
| }
0x00018874 nop |
0x00018878 lw v1, 4(v1) | v1 = *((v1 + 1));
| if (v0 != v1) {
0x0001887c bne v0, v1, 0x1895c | goto label_1;
| }
0x00018880 nop |
| }
0x00018884 lwl v1, 0xb(s0) | __asm ("lwl v1, 0xb(s0)");
0x00018888 lwr v1, 8(s0) | __asm ("lwr v1, 8(s0)");
0x0001888c addiu v0, zero, 0xa | v0 = 0xa;
| if (v1 == 0) {
0x00018890 beqz v1, 0x18a00 | goto label_18;
| }
0x00018894 lhu a0, 0x10(s1) | a0 = *((s1 + 8));
0x00018898 addiu v0, zero, 7 | v0 = 7;
| if (a0 == v0) {
0x0001889c bne a0, v0, 0x188c4 |
0x000188a0 lbu a0, 0x17(s1) | a0 = *((s1 + 23));
0x000188a4 lw v0, 0x60(sp) | v0 = *(var_60h);
| if (a0 != v0) {
0x000188a8 bne a0, v0, 0x188c4 | goto label_19;
| }
| if (v0 == 0) {
0x000188ac beql v0, zero, 0x188c8 | goto label_20;
| }
0x000188b0 lwl v0, 0xf(s0) | __asm ("lwl v0, 0xf(s0)");
0x000188b4 lw a0, 4(v0) | a0 = *((v0 + 1));
0x000188b8 addiu v0, zero, -1 | v0 = -1;
| if (a0 == v0) {
0x000188bc beq a0, v0, 0x1895c | goto label_1;
| }
0x000188c0 nop |
| }
| label_19:
0x000188c4 lwl v0, 0xf(s0) | __asm ("lwl v0, 0xf(s0)");
| label_20:
0x000188c8 lwl a0, 0x13(s0) | __asm ("lwl a0, 0x13(s0)");
0x000188cc addiu s3, zero, -4 | s3 = -4;
0x000188d0 lwr v0, 0xc(s0) | __asm ("lwr v0, 0xc(s0)");
0x000188d4 lwr a0, 0x10(s0) | __asm ("lwr a0, 0x10(s0)");
0x000188d8 lw a2, (s1) | a2 = *(s1);
0x000188dc addiu v0, v0, 3 | v0 += 3;
0x000188e0 and v0, v0, s3 | v0 &= s3;
0x000188e4 move a1, a0 | a1 = a0;
0x000188e8 addu a0, v0, a2 | a0 = v0 + a2;
0x000188ec sltu a0, a1, a0 | a0 = (a1 < a0) ? 1 : 0;
0x000188f0 lw t9, -0x7cc4(gp) | t9 = *(gp);
| if (a0 != 0) {
0x000188f4 bnez a0, 0x18ef4 | goto label_21;
| }
| label_12:
0x000188f8 addu v1, v1, v0 | v1 += v0;
0x000188fc lw t9, -0x74a0(gp) | t9 = sym.imp.memcpy;
0x00018900 move a0, v1 | a0 = v1;
0x00018904 move a1, s1 | a1 = s1;
0x00018908 jalr t9 | t9 ();
0x0001890c move v1, v0 | v1 = v0;
0x00018910 lui v0, 1 | v0 = 0x10019;
0x00018914 addiu v0, v0, 0x19 |
0x00018918 lw gp, 0x18(sp) | gp = *(var_18h);
0x0001891c sw v0, 4(v1) | *((v1 + 1)) = v0;
0x00018920 lwl a1, 0x17(s0) | __asm ("lwl a1, 0x17(s0)");
0x00018924 lw v0, (s1) | v0 = *(s1);
0x00018928 lwr a1, 0x14(s0) | __asm ("lwr a1, 0x14(s0)");
0x0001892c addu a0, v1, v0 | a0 = v1 + v0;
0x00018930 lw v0, 0x1c(a1) | v0 = *((a1 + 7));
0x00018934 addiu v0, v0, 1 | v0++;
0x00018938 sw v0, 0x1c(a1) | *((a1 + 7)) = v0;
0x0001893c sw v0, 8(v1) | *((v1 + 2)) = v0;
0x00018940 lwl v0, 0xb(s0) | __asm ("lwl v0, 0xb(s0)");
0x00018944 lwr v0, 8(s0) | __asm ("lwr v0, 8(s0)");
0x00018948 subu v0, a0, v0 | __asm ("subu v0, a0, v0");
0x0001894c swl v0, 0xf(s0) | __asm ("swl v0, 0xf(s0)");
0x00018950 swr v0, 0xc(s0) | __asm ("swr v0, 0xc(s0)");
0x00018954 addiu v0, zero, 1 | v0 = 1;
0x00018958 sb v0, 4(s0) | *((s0 + 4)) = v0;
| }
| label_1:
0x0001895c lw a0, 0xac(sp) | a0 = *(var_ach);
0x00018960 lw v1, (s2) | v1 = *(s2);
0x00018964 move v0, zero | v0 = 0;
| if (a0 != v1) {
0x00018968 bne a0, v1, 0x18ee8 | goto label_22;
| }
0x0001896c lw ra, 0xd4(sp) | ra = *(var_d4h);
0x00018970 lw fp, 0xd0(sp) | fp = *(var_d0h);
0x00018974 lw s7, 0xcc(sp) | s7 = *(var_cch);
0x00018978 lw s6, 0xc8(sp) | s6 = *(var_c8h);
0x0001897c lw s5, 0xc4(sp) | s5 = *(var_c4h);
0x00018980 lw s4, 0xc0(sp) | s4 = *(var_c0h);
0x00018984 lw s3, 0xbc(sp) | s3 = *(var_bch);
0x00018988 lw s2, 0xb8(sp) | s2 = *(var_b8h);
0x0001898c lw s1, 0xb4(sp) | s1 = *(var_b4h);
0x00018990 lw s0, 0xb0(sp) | s0 = *(var_b0h);
0x00018994 addiu sp, sp, 0xd8 |
0x00018998 jr ra | return v1;
| label_13:
0x0001899c lwl v0, 3(s0) | __asm ("lwl v0, 3(s0)");
0x000189a0 lbu s3, 0x10(s1) | s3 = *((s1 + 16));
0x000189a4 addiu a0, zero, 0xa | a0 = 0xa;
0x000189a8 lbu v1, 0x14(s1) | v1 = *((s1 + 20));
0x000189ac lwr v0, (s0) | __asm ("lwr v0, (s0)");
0x000189b0 beq s3, a0, 0x185a0 |
| } while (s3 == a0);
| label_14:
0x000189b4 xori s4, s3, 2 | s4 = s3 ^ 2;
0x000189b8 addiu a1, zero, 0x20 | a1 = 0x20;
0x000189bc addiu a0, zero, -1 | a0 = -1;
| if (s4 != 0) {
0x000189c0 movz a0, a1, s4 | a0 = a1;
| }
0x000189c4 move s4, a0 | s4 = a0;
| if (v0 <= 0) {
0x000189c8 blez v0, 0x185bc | goto label_0;
| }
| if (v0 != v1) {
0x000189cc bne v0, v1, 0x1895c | goto label_1;
| }
0x000189d0 nop |
0x000189d4 lwl v0, 0x1b(s0) | __asm ("lwl v0, 0x1b(s0)");
0x000189d8 lwl a0, 0x1f(s0) | __asm ("lwl a0, 0x1f(s0)");
0x000189dc lbu a1, 0x16(s1) | a1 = *((s1 + 22));
0x000189e0 lwr v0, 0x18(s0) | __asm ("lwr v0, 0x18(s0)");
0x000189e4 lwr a0, 0x1c(s0) | __asm ("lwr a0, 0x1c(s0)");
0x000189e8 xor v0, v0, a1 | v0 ^= a1;
0x000189ec and v0, v0, a0 | v0 &= a0;
| if (v0 != 0) {
0x000189f0 bnez v0, 0x1895c | goto label_1;
| }
0x000189f4 nop |
0x000189f8 lbu s6, 0x3c(s0) | s6 = *((s0 + 60));
0x000189fc b 0x185e4 | goto label_2;
| label_18:
0x00018a00 lhu v1, 4(s1) | v1 = *((s1 + 2));
0x00018a04 addiu v0, zero, 0x19 | v0 = 0x19;
0x00018a08 lw a1, -0x7f90(gp) | a1 = *(gp);
| if (v1 == v0) {
0x00018a0c bne v1, v0, 0x18a24 |
0x00018a10 lw t9, -0x7708(gp) | t9 = sym.imp.__printf_chk;
| /* str.Deleted_ */
0x00018a14 addiu a1, a1, -0x750c | a1 += -0x750c;
0x00018a18 addiu a0, zero, 1 | a0 = 1;
0x00018a1c jalr t9 | t9 ();
0x00018a20 lw gp, 0x18(sp) | gp = *(var_18h);
| }
0x00018a24 lbu a0, 0x17(s1) | a0 = *((s1 + 23));
0x00018a28 addiu v0, zero, 1 | v0 = 1;
0x00018a2c lw t9, -0x7ccc(gp) | t9 = *(gp);
| if (a0 != v0) {
0x00018a30 beq a0, v0, 0x18a5c |
0x00018a34 bal 0x1c0d8 | fcn_0001c0d8 ();
0x00018a38 nop |
0x00018a3c lw gp, 0x18(sp) | gp = *(var_18h);
0x00018a40 move a2, v0 | a2 = v0;
0x00018a44 addiu a0, zero, 1 | a0 = 1;
0x00018a48 lw a1, -0x7f90(gp) | a1 = *(gp);
0x00018a4c lw t9, -0x7708(gp) | t9 = sym.imp.__printf_chk;
| /* esilref: '&s ' */
0x00018a50 addiu a1, a1, -0x7168 | a1 += -0x7168;
0x00018a54 jalr t9 | t9 ();
0x00018a58 lw gp, 0x18(sp) | gp = *(var_18h);
| }
0x00018a5c lw a1, 0x4c(sp) | a1 = *(var_4ch);
0x00018a60 lbu a2, 0x11(s1) | a2 = *((s1 + 17));
| if (a1 == 0) {
0x00018a64 beqz a1, 0x18da0 | goto label_23;
| }
0x00018a68 lbu a0, 0x10(s1) | a0 = *((s1 + 16));
0x00018a6c addiu a1, a1, 4 | a1 += 4;
0x00018a70 lw t9, -0x7cfc(gp) | t9 = *(gp);
| if (a2 == s4) {
0x00018a74 beq a2, s4, 0x18eac | goto label_24;
| }
0x00018a78 bal 0x1cc88 | fcn_0001cc88 ();
0x00018a7c nop |
0x00018a80 lw gp, 0x18(sp) | gp = *(var_18h);
0x00018a84 lbu a3, 0x11(s1) | a3 = *((s1 + 17));
0x00018a88 move a2, v0 | a2 = v0;
0x00018a8c lw a1, -0x7f90(gp) | a1 = *(gp);
0x00018a90 lw t9, -0x7708(gp) | t9 = sym.imp.__printf_chk;
| /* str._s__u_ */
0x00018a94 addiu a1, a1, -0x71ac | a1 += -0x71ac;
0x00018a98 addiu a0, zero, 1 | a0 = 1;
0x00018a9c jalr t9 | t9 ();
0x00018aa0 lw a1, 0x50(sp) | a1 = *(var_50h);
0x00018aa4 lw gp, 0x18(sp) | gp = *(var_18h);
0x00018aa8 lbu a2, 0x12(s1) | a2 = *((s1 + 18));
| if (a1 == 0) {
0x00018aac beqz a1, 0x18df0 | goto label_10;
| }
| label_3:
0x00018ab0 lbu a0, 0x10(s1) | a0 = *((s1 + 16));
| do {
| label_11:
0x00018ab4 addiu a1, a1, 4 | a1 += 4;
0x00018ab8 lw t9, -0x7cfc(gp) | t9 = *(gp);
| if (a2 == s4) {
0x00018abc beq a2, s4, 0x18e74 | goto label_25;
| }
0x00018ac0 bal 0x1cc88 | fcn_0001cc88 ();
0x00018ac4 nop |
0x00018ac8 lw gp, 0x18(sp) | gp = *(var_18h);
0x00018acc lbu a3, 0x12(s1) | a3 = *((s1 + 18));
0x00018ad0 move a2, v0 | a2 = v0;
0x00018ad4 lw a1, -0x7f90(gp) | a1 = *(gp);
0x00018ad8 lw t9, -0x7708(gp) | t9 = sym.imp.__printf_chk;
| /* str.from__s__u_ */
0x00018adc addiu a1, a1, -0x7190 | a1 += -0x7190;
0x00018ae0 addiu a0, zero, 1 | a0 = 1;
0x00018ae4 jalr t9 | t9 ();
0x00018ae8 lw gp, 0x18(sp) | gp = *(var_18h);
| label_4:
0x00018aec lw a1, 0x5c(sp) | a1 = *(var_5ch);
0x00018af0 lw v0, 0x58(sp) | v0 = *(var_58h);
| if (a1 != 0) {
0x00018af4 beqz a1, 0x18b44 |
0x00018af8 lbu v0, 0x2b(s0) | v0 = *((s0 + 43));
| label_6:
0x00018afc lbu v1, 0x2a(s0) | v1 = *((s0 + 42));
0x00018b00 sll v0, v0, 8 | v0 <<= 8;
0x00018b04 or v0, v0, v1 | v0 |= v1;
0x00018b08 seh v0, v0 | __asm ("seh v0, v0");
0x00018b0c lw t9, -0x7cfc(gp) | t9 = *(gp);
| if (v0 != s4) {
0x00018b10 beq v0, s4, 0x18b40 |
0x00018b14 lbu a0, 0x10(s1) | a0 = *((s1 + 16));
0x00018b18 addiu a1, a1, 4 | a1 += 4;
0x00018b1c bal 0x1cc88 | fcn_0001cc88 ();
0x00018b20 lw gp, 0x18(sp) | gp = *(var_18h);
0x00018b24 move a2, v0 | a2 = v0;
0x00018b28 addiu a0, zero, 1 | a0 = 1;
0x00018b2c lw a1, -0x7f90(gp) | a1 = *(gp);
0x00018b30 lw t9, -0x7708(gp) | t9 = sym.imp.__printf_chk;
| /* str.via__s_ */
0x00018b34 addiu a1, a1, -0x716c | a1 += -0x716c;
0x00018b38 jalr t9 | t9 ();
0x00018b3c lw gp, 0x18(sp) | gp = *(var_18h);
| }
| label_5:
0x00018b40 lw v0, 0x58(sp) | v0 = *(var_58h);
| }
0x00018b44 lw t9, -0x7d3c(gp) | t9 = *(gp);
| if (v0 != 0) {
0x00018b48 beqz v0, 0x18b74 |
0x00018b4c lw a0, 4(v0) | a0 = *((v0 + 1));
0x00018b50 bal 0x1b8d8 | fcn_0001b8d8 ();
0x00018b54 lw gp, 0x18(sp) | gp = *(var_18h);
0x00018b58 move a2, v0 | a2 = v0;
0x00018b5c addiu a0, zero, 1 | a0 = 1;
0x00018b60 lw a1, -0x7f90(gp) | a1 = *(gp);
0x00018b64 lw t9, -0x7708(gp) | t9 = sym.imp.__printf_chk;
| /* str.dev__s_ */
0x00018b68 addiu a1, a1, -0x7164 | a1 += -0x7164;
0x00018b6c jalr t9 | t9 ();
0x00018b70 lw gp, 0x18(sp) | gp = *(var_18h);
| }
0x00018b74 lw v0, 0x18(s1) | v0 = *((s1 + 6));
0x00018b78 andi v0, v0, 0x200 | v0 &= aav.0x00000200;
0x00018b7c lw a1, 0x64(sp) | a1 = *(var_64h);
| if (v0 != 0) {
0x00018b80 bnel v0, zero, 0x18bcc |
0x00018b84 lbu a0, 0x16(s1) | a0 = *((s1 + 22));
0x00018b88 addiu v1, zero, -1 | v1 = -1;
| if (a0 != 0) {
0x00018b8c beqz a0, 0x18bc8 |
0x00018b90 lwl v0, 0x1f(s0) | __asm ("lwl v0, 0x1f(s0)");
0x00018b94 lwr v0, 0x1c(s0) | __asm ("lwr v0, 0x1c(s0)");
0x00018b98 lw t9, -0x7cf8(gp) | t9 = *(gp);
| if (v0 == v1) {
0x00018b9c beq v0, v1, 0x18bc8 | goto label_26;
| }
0x00018ba0 bal 0x1bff8 | fcn_0001bff8 ();
0x00018ba4 nop |
0x00018ba8 lw gp, 0x18(sp) | gp = *(var_18h);
0x00018bac move a2, v0 | a2 = v0;
0x00018bb0 addiu a0, zero, 1 | a0 = 1;
0x00018bb4 lw a1, -0x7f90(gp) | a1 = *(gp);
0x00018bb8 lw t9, -0x7708(gp) | t9 = sym.imp.__printf_chk;
| /* str.scope__s_ */
0x00018bbc addiu a1, a1, -0x73ac | a1 += -0x73ac;
0x00018bc0 jalr t9 | t9 ();
0x00018bc4 lw gp, 0x18(sp) | gp = *(var_18h);
| }
| label_26:
0x00018bc8 lw a1, 0x64(sp) | a1 = *(var_64h);
| }
0x00018bcc lw v0, 0x60(sp) | v0 = *(var_60h);
| if (a1 != 0) {
0x00018bd0 beqz a1, 0x18c0c |
0x00018bd4 lw t9, -0x7cfc(gp) | t9 = *(gp);
| if (s4 == 0) {
0x00018bd8 beqz s4, 0x18c0c | goto label_27;
| }
0x00018bdc lbu a0, 0x10(s1) | a0 = *((s1 + 16));
0x00018be0 addiu a1, a1, 4 | a1 += 4;
0x00018be4 bal 0x1cc88 | fcn_0001cc88 ();
0x00018be8 lw gp, 0x18(sp) | gp = *(var_18h);
0x00018bec move a2, v0 | a2 = v0;
0x00018bf0 addiu a0, zero, 1 | a0 = 1;
0x00018bf4 lw a1, -0x7f90(gp) | a1 = *(gp);
0x00018bf8 lw t9, -0x7708(gp) | t9 = sym.imp.__printf_chk;
| /* str._src__s_ */
0x00018bfc addiu a1, a1, -0x715c | a1 += -0x715c;
0x00018c00 jalr t9 | t9 ();
0x00018c04 lw gp, 0x18(sp) | gp = *(var_18h);
0x00018c08 lw v0, 0x60(sp) | v0 = *(var_60h);
| }
| label_27:
0x00018c0c lw a1, -0x7f90(gp) | a1 = *(gp);
| if (v0 != 0) {
0x00018c10 beqz v0, 0x18c2c |
0x00018c14 lw t9, -0x7708(gp) | t9 = sym.imp.__printf_chk;
0x00018c18 lw a2, 4(v0) | a2 = *((v0 + 1));
| /* str._metric__d_ */
0x00018c1c addiu a1, a1, -0x7150 | a1 += -0x7150;
0x00018c20 addiu a0, zero, 1 | a0 = 1;
0x00018c24 jalr t9 | t9 ();
0x00018c28 lw gp, 0x18(sp) | gp = *(var_18h);
| }
0x00018c2c lw v0, 0x18(s1) | v0 = *((s1 + 6));
0x00018c30 andi v1, v0, 1 | v1 = v0 & 1;
0x00018c34 lw a1, -0x7f90(gp) | a1 = *(gp);
| if (v1 != 0) {
0x00018c38 beqz v1, 0x18c54 |
0x00018c3c lw t9, -0x7708(gp) | t9 = sym.imp.__printf_chk;
| /* str.dead_ */
0x00018c40 addiu a1, a1, -0x7144 | a1 += -0x7144;
0x00018c44 addiu a0, zero, 1 | a0 = 1;
0x00018c48 jalr t9 | t9 ();
0x00018c4c lw gp, 0x18(sp) | gp = *(var_18h);
0x00018c50 lw v0, 0x18(s1) | v0 = *((s1 + 6));
| }
0x00018c54 andi v1, v0, 4 | v1 = v0 & 4;
0x00018c58 lw a1, -0x7f90(gp) | a1 = *(gp);
| if (v1 != 0) {
0x00018c5c beqz v1, 0x18c78 |
0x00018c60 lw t9, -0x7708(gp) | t9 = sym.imp.__printf_chk;
| /* str.onlink_ */
0x00018c64 addiu a1, a1, -0x713c | a1 += -0x713c;
0x00018c68 addiu a0, zero, 1 | a0 = 1;
0x00018c6c jalr t9 | t9 ();
0x00018c70 lw gp, 0x18(sp) | gp = *(var_18h);
0x00018c74 lw v0, 0x18(s1) | v0 = *((s1 + 6));
| }
0x00018c78 andi v1, v0, 2 | v1 = v0 & 2;
0x00018c7c lw a1, -0x7f90(gp) | a1 = *(gp);
| if (v1 != 0) {
0x00018c80 beqz v1, 0x18c9c |
0x00018c84 lw t9, -0x7708(gp) | t9 = sym.imp.__printf_chk;
| /* str.pervasive_ */
0x00018c88 addiu a1, a1, -0x7134 | a1 += -0x7134;
0x00018c8c addiu a0, zero, 1 | a0 = 1;
0x00018c90 jalr t9 | t9 ();
0x00018c94 lw gp, 0x18(sp) | gp = *(var_18h);
0x00018c98 lw v0, 0x18(s1) | v0 = *((s1 + 6));
| }
0x00018c9c andi v0, v0, 0x100 | v0 &= aav.0x00000100;
0x00018ca0 lw a1, -0x7f90(gp) | a1 = *(gp);
| if (v0 != 0) {
0x00018ca4 beqz v0, 0x18cbc |
0x00018ca8 lw t9, -0x7708(gp) | t9 = sym.imp.__printf_chk;
| /* str.notify_ */
0x00018cac addiu a1, a1, -0x7128 | a1 += -0x7128;
0x00018cb0 addiu a0, zero, 1 | a0 = 1;
0x00018cb4 jalr t9 | t9 ();
0x00018cb8 lw gp, 0x18(sp) | gp = *(var_18h);
| }
0x00018cbc lbu v1, 0x10(s1) | v1 = *((s1 + 16));
0x00018cc0 addiu v0, zero, 0xa | v0 = 0xa;
0x00018cc4 lw v0, 0x78(sp) | v0 = *(var_78h);
| if (v1 == v0) {
0x00018cc8 bne v1, v0, 0x18d48 |
0x00018ccc lw v1, 0x18(s1) | v1 = *((s1 + 6));
0x00018cd0 andi v1, v1, 0x200 | v1 &= aav.0x00000200;
| if (v0 == 0) {
0x00018cd4 beqz v0, 0x18e1c | goto label_28;
| }
0x00018cd8 addiu s3, v0, 4 | s3 = v0 + 4;
| if (v1 != 0) {
0x00018cdc bnez v1, 0x18e24 | goto label_29;
| }
0x00018ce0 lw v1, 0x54(sp) | v1 = *(var_54h);
| if (s3 == 0) {
0x00018ce4 beqz s3, 0x18d4c | goto label_30;
| }
0x00018ce8 lw s1, 0xc(v0) | s1 = *((v0 + 3));
| if (s1 == 0) {
0x00018cec beql s1, zero, 0x18e54 | goto label_31;
| }
0x00018cf0 lw a2, 0x10(v0) | a2 = *((v0 + 4));
| label_8:
0x00018cf4 lw t9, -0x7cc8(gp) | t9 = *(gp);
0x00018cf8 bal 0x1c2fc | fcn_0001c2fc ();
0x00018cfc nop |
0x00018d00 divu zero, s1, v0 | __asm ("divu zero, s1, v0");
0x00018d04 teq v0, zero, 7 | __asm ("teq v0, zero, 7");
0x00018d08 lw gp, 0x18(sp) | gp = *(var_18h);
0x00018d0c addiu a0, zero, 1 | a0 = 1;
0x00018d10 lw a1, -0x7f90(gp) | a1 = *(gp);
0x00018d14 lw t9, -0x7708(gp) | t9 = sym.imp.__printf_chk;
| /* str._expires__dsec */
0x00018d18 addiu a1, a1, -0x7120 | a1 += -0x7120;
0x00018d1c mflo a2 | __asm ("mflo a2");
0x00018d20 jalr t9 | t9 ();
0x00018d24 lw gp, 0x18(sp) | gp = *(var_18h);
0x00018d28 lw a2, 0xc(s3) | a2 = *((s3 + 3));
| label_9:
0x00018d2c lw a1, -0x7f90(gp) | a1 = *(gp);
| if (a2 == 0) {
0x00018d30 beqz a2, 0x18d48 | goto label_7;
| }
0x00018d34 lw t9, -0x7708(gp) | t9 = sym.imp.__printf_chk;
| /* str._error__d */
0x00018d38 addiu a1, a1, -0x7110 | a1 += -0x7110;
0x00018d3c addiu a0, zero, 1 | a0 = 1;
0x00018d40 jalr t9 | t9 ();
0x00018d44 lw gp, 0x18(sp) | gp = *(var_18h);
| }
| label_7:
0x00018d48 lw v1, 0x54(sp) | v1 = *(var_54h);
| label_30:
0x00018d4c lw t9, -0x7e64(gp) | t9 = *(gp);
| if (v1 != 0) {
0x00018d50 beqz v1, 0x18d90 |
0x00018d54 lwl v0, 0x23(s0) | __asm ("lwl v0, 0x23(s0)");
0x00018d58 lwr v0, 0x20(s0) | __asm ("lwr v0, 0x20(s0)");
0x00018d5c lw t9, -0x7d3c(gp) | t9 = *(gp);
| if (v0 == 0) {
0x00018d60 bnez v0, 0x18d8c |
0x00018d64 lw a0, 4(v1) | a0 = *((v1 + 1));
0x00018d68 bal 0x1b8d8 | fcn_0001b8d8 ();
0x00018d6c lw gp, 0x18(sp) | gp = *(var_18h);
0x00018d70 move a2, v0 | a2 = v0;
0x00018d74 addiu a0, zero, 1 | a0 = 1;
0x00018d78 lw a1, -0x7f90(gp) | a1 = *(gp);
0x00018d7c lw t9, -0x7708(gp) | t9 = sym.imp.__printf_chk;
| /* str._iif__s */
0x00018d80 addiu a1, a1, -0x7104 | a1 += -0x7104;
0x00018d84 jalr t9 | t9 ();
0x00018d88 lw gp, 0x18(sp) | gp = *(var_18h);
| }
0x00018d8c lw t9, -0x7e64(gp) | t9 = *(gp);
| }
0x00018d90 addiu a0, zero, 0xa | a0 = 0xa;
0x00018d94 bal 0xa3bc | fcn_0000a3bc ();
0x00018d98 lw gp, 0x18(sp) | gp = *(var_18h);
0x00018d9c b 0x1895c | goto label_1;
| label_23:
0x00018da0 lw t9, -0x7708(gp) | t9 = sym.imp.__printf_chk;
| if (a2 == 0) {
0x00018da4 beqz a2, 0x18dd0 | goto label_32;
| }
0x00018da8 lw a1, -0x7f90(gp) | a1 = *(gp);
0x00018dac addiu a0, zero, 1 | a0 = 1;
| /* str.0__d_ */
0x00018db0 addiu a1, a1, -0x71a4 | a1 += -0x71a4;
0x00018db4 jalr t9 | t9 ();
0x00018db8 lw a1, 0x50(sp) | a1 = *(var_50h);
0x00018dbc lw gp, 0x18(sp) | gp = *(var_18h);
0x00018dc0 lbu a2, 0x12(s1) | a2 = *((s1 + 18));
| if (a1 == 0) {
0x00018dc4 beqz a1, 0x18df0 | goto label_10;
| }
0x00018dc8 lbu a0, 0x10(s1) | a0 = *((s1 + 16));
0x00018dcc b 0x18ab4 |
| } while (1);
| label_32:
0x00018dd0 lw a1, -0x7f90(gp) | a1 = *(gp);
0x00018dd4 addiu a0, zero, 1 | a0 = 1;
| /* str.default_ */
0x00018dd8 addiu a1, a1, -0x719c | a1 += -0x719c;
0x00018ddc jalr t9 | t9 ();
0x00018de0 lw a1, 0x50(sp) | a1 = *(var_50h);
0x00018de4 lw gp, 0x18(sp) | gp = *(var_18h);
0x00018de8 lbu a2, 0x12(s1) | a2 = *((s1 + 18));
| if (a1 != 0) {
0x00018dec bnez a1, 0x18ab0 | goto label_3;
| }
| label_10:
0x00018df0 lw a1, -0x7f90(gp) | a1 = *(gp);
| if (a2 == 0) {
0x00018df4 beqz a2, 0x18aec | goto label_4;
| }
0x00018df8 lw t9, -0x7708(gp) | t9 = sym.imp.__printf_chk;
| /* str.from_0__u_ */
0x00018dfc addiu a1, a1, -0x7178 | a1 += -0x7178;
0x00018e00 addiu a0, zero, 1 | a0 = 1;
0x00018e04 jalr t9 | t9 ();
0x00018e08 lw a1, 0x5c(sp) | a1 = *(var_5ch);
0x00018e0c lw gp, 0x18(sp) | gp = *(var_18h);
| if (a1 == 0) {
0x00018e10 beqz a1, 0x18b40 | goto label_5;
| }
0x00018e14 lbu v0, 0x2b(s0) | v0 = *((s0 + 43));
0x00018e18 b 0x18afc | goto label_6;
| label_28:
0x00018e1c move s3, zero | s3 = 0;
| if (v1 == 0) {
0x00018e20 beqz v1, 0x18d48 | goto label_7;
| }
| label_29:
0x00018e24 lw v0, -0x7d58(gp) | v0 = *((gp - 8022));
0x00018e28 lw a1, -0x7f90(gp) | a1 = *(gp);
0x00018e2c lw t9, -0x7708(gp) | t9 = sym.imp.__printf_chk;
0x00018e30 lbu a2, (v0) | a2 = *(v0);
| /* str._c____cache_ */
0x00018e34 addiu a1, a1, -0x70fc | a1 += -0x70fc;
0x00018e38 addiu a0, zero, 1 | a0 = 1;
0x00018e3c jalr t9 | t9 ();
0x00018e40 lw s1, 8(s3) | s1 = *((s3 + 2));
0x00018e44 lw gp, 0x18(sp) | gp = *(var_18h);
| if (s1 != 0) {
0x00018e48 bnez s1, 0x18cf4 | goto label_8;
| }
0x00018e4c lw a2, 0xc(s3) | a2 = *((s3 + 3));
0x00018e50 b 0x18d2c | goto label_9;
| label_31:
0x00018e54 lw a1, -0x7f90(gp) | a1 = *(gp);
| if (a2 == 0) {
0x00018e58 beqz a2, 0x18d48 | goto label_7;
| }
0x00018e5c lw t9, -0x7708(gp) | t9 = sym.imp.__printf_chk;
| /* str._error__d */
0x00018e60 addiu a1, a1, -0x7110 | a1 += -0x7110;
0x00018e64 addiu a0, zero, 1 | a0 = 1;
0x00018e68 jalr t9 | t9 ();
0x00018e6c lw gp, 0x18(sp) | gp = *(var_18h);
0x00018e70 b 0x18d48 | goto label_7;
| label_25:
0x00018e74 bal 0x1cc88 | fcn_0001cc88 ();
0x00018e78 nop |
0x00018e7c lw gp, 0x18(sp) | gp = *(var_18h);
0x00018e80 move a2, v0 | a2 = v0;
0x00018e84 addiu a0, zero, 1 | a0 = 1;
0x00018e88 lw a1, -0x7f90(gp) | a1 = *(gp);
0x00018e8c lw t9, -0x7708(gp) | t9 = sym.imp.__printf_chk;
| /* str.from__s_ */
0x00018e90 addiu a1, a1, -0x7184 | a1 += -0x7184;
0x00018e94 jalr t9 | t9 ();
0x00018e98 lw a1, 0x5c(sp) | a1 = *(var_5ch);
0x00018e9c lw gp, 0x18(sp) | gp = *(var_18h);
| if (a1 == 0) {
0x00018ea0 beqz a1, 0x18b40 | goto label_5;
| }
0x00018ea4 lbu v0, 0x2b(s0) | v0 = *((s0 + 43));
0x00018ea8 b 0x18afc | goto label_6;
| label_24:
0x00018eac bal 0x1cc88 | fcn_0001cc88 ();
0x00018eb0 nop |
0x00018eb4 lw gp, 0x18(sp) | gp = *(var_18h);
0x00018eb8 move a2, v0 | a2 = v0;
0x00018ebc addiu a0, zero, 1 | a0 = 1;
0x00018ec0 lw a1, -0x7f90(gp) | a1 = *(gp);
0x00018ec4 lw t9, -0x7708(gp) | t9 = sym.imp.__printf_chk;
| /* esilref: '&s ' */
0x00018ec8 addiu a1, a1, -0x7168 | a1 += -0x7168;
0x00018ecc jalr t9 | t9 ();
0x00018ed0 lw a1, 0x50(sp) | a1 = *(var_50h);
0x00018ed4 lw gp, 0x18(sp) | gp = *(var_18h);
0x00018ed8 lbu a2, 0x12(s1) | a2 = *((s1 + 18));
| if (a1 == 0) {
0x00018edc beqz a1, 0x18df0 | goto label_10;
| }
0x00018ee0 lbu a0, 0x10(s1) | a0 = *((s1 + 16));
0x00018ee4 b 0x18ab4 | goto label_11;
| label_22:
0x00018ee8 lw t9, -0x750c(gp) | t9 = sym.imp.__stack_chk_fail;
0x00018eec jalr t9 | t9 ();
0x00018ef0 nop |
| label_21:
0x00018ef4 addiu t9, t9, -0x7be8 | t9 += -0x7be8;
0x00018ef8 bal 0x18418 | fcn_00018418 ();
0x00018efc nop |
0x00018f00 lw gp, 0x18(sp) | gp = *(var_18h);
| if (v0 != 0) {
0x00018f04 beqz v0, 0x18f14 |
0x00018f08 lw t9, -0x7fbc(gp) | t9 = *(gp);
0x00018f0c bal 0x8fd8 | fcn_00008fd8 ();
0x00018f10 nop |
| }
0x00018f14 lwl v0, 0xf(s0) | __asm ("lwl v0, 0xf(s0)");
0x00018f18 lwl v1, 0xb(s0) | __asm ("lwl v1, 0xb(s0)");
0x00018f1c lw a2, (s1) | a2 = *(s1);
0x00018f20 lwr v0, 0xc(s0) | __asm ("lwr v0, 0xc(s0)");
0x00018f24 lwr v1, 8(s0) | __asm ("lwr v1, 8(s0)");
0x00018f28 addiu v0, v0, 3 | v0 += 3;
0x00018f2c and v0, v0, s3 | v0 &= s3;
0x00018f30 b 0x188f8 | goto label_12;
| label_15:
0x00018f34 addiu v1, zero, 0xff | v1 = 0xff;
| if (v1 != 0) {
0x00018f38 bnez v1, 0x1895c | goto label_1;
| }
0x00018f3c addiu v1, zero, 0xfe | v1 = 0xfe;
| if (v0 != v1) {
0x00018f40 bne v0, v1, 0x18f5c | goto label_33;
| }
0x00018f44 lbu v1, 0x17(s1) | v1 = *((s1 + 23));
0x00018f48 addiu v0, zero, 2 | v0 = 2;
| if (v1 != v0) {
0x00018f4c bne v1, v0, 0x1895c | goto label_1;
| }
0x00018f50 nop |
0x00018f54 addiu s4, zero, 0x80 | s4 = 0x80;
0x00018f58 b 0x185bc | goto label_0;
| if (v0 != v1) {
| label_33:
0x00018f5c bne v0, v1, 0x1895c | goto label_1;
| }
0x00018f60 nop |
0x00018f64 lbu v1, 0x17(s1) | v1 = *((s1 + 23));
0x00018f68 addiu v0, zero, 2 | v0 = 2;
| if (v1 == v0) {
0x00018f6c beq v1, v0, 0x1895c | goto label_1;
| }
0x00018f70 nop |
0x00018f74 addiu s4, zero, 0x80 | s4 = 0x80;
0x00018f78 b 0x185bc | goto label_0;
| }
; assembly | /* r2dec pseudo code output */
| /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/bin/busybox.nosuid @ 0x26738 */
| #include <stdint.h>
|
; (fcn) fcn.00026738 () | void fcn_00026738 () {
0x00026738 lui gp, 7 |
0x0002673c addiu gp, gp, 0x39f8 |
0x00026740 addu gp, gp, t9 | gp += t9;
0x00026744 lw v0, -0x7b7c(gp) | v0 = *(gp);
0x00026748 addiu sp, sp, -0x38 |
0x0002674c lw t9, -0x77dc(gp) | t9 = sym.imp.__fprintf_chk
0x00026750 sw s1, 0x20(sp) | *(var_20h) = s1;
0x00026754 sw s0, 0x1c(sp) | *(var_1ch) = s0;
0x00026758 lw s1, (v0) | s1 = *(v0);
0x0002675c lw s0, -0x747c(gp) | s0 = *((gp - 7455));
0x00026760 sw s3, 0x28(sp) | *(var_28h) = s3;
0x00026764 lw s3, -0x7f90(gp) | s3 = *(gp);
0x00026768 sw s4, 0x2c(sp) | *(var_2ch) = s4;
0x0002676c lw a3, 0x1c(s1) | a3 = *((s1 + 7));
0x00026770 move s4, a0 | s4 = a0;
0x00026774 lw a0, (s0) | a0 = *(s0);
0x00026778 sw gp, 0x10(sp) | *(var_10h) = gp;
0x0002677c sw s5, 0x30(sp) | *(var_30h) = s5;
0x00026780 sw s2, 0x24(sp) | *(var_24h) = s2;
0x00026784 sw ra, 0x34(sp) | *(var_34h) = ra;
0x00026788 move s5, a1 | s5 = a1;
| /* str._s:_ */
0x0002678c addiu a2, s3, -0x6164 | a2 = s3 + -0x6164;
0x00026790 addiu a1, zero, 1 | a1 = 1;
0x00026794 jalr t9 | t9 ();
0x00026798 lw gp, 0x10(sp) | gp = *(var_10h);
0x0002679c lw v0, -0x7fd8(gp) | v0 = *((gp - 8182));
0x000267a0 lw s2, 0x2f0c(v0) | s2 = *((v0 + 3011));
0x000267a4 lw t9, -0x7448(gp) | t9 = sym.imp.strcmp;
| if (s2 != 0) {
0x000267a8 bnez s2, 0x267f8 | goto label_1;
| }
0x000267ac lw a0, (s0) | a0 = *(s0);
| do {
| label_0:
0x000267b0 lw t9, -0x7450(gp) | t9 = sym.imp.__vfprintf_chk
0x000267b4 move a3, s5 | a3 = s5;
0x000267b8 move a2, s4 | a2 = s4;
0x000267bc addiu a1, zero, 1 | a1 = 1;
0x000267c0 jalr t9 | t9 ();
0x000267c4 lw gp, 0x10(sp) | gp = *(var_10h);
0x000267c8 lw a0, (s0) | a0 = *(s0);
0x000267cc lw ra, 0x34(sp) | ra = *(var_34h);
0x000267d0 lw t9, -0x7cc4(gp) | t9 = *(gp);
0x000267d4 lw s5, 0x30(sp) | s5 = *(var_30h);
0x000267d8 lw s4, 0x2c(sp) | s4 = *(var_2ch);
0x000267dc lw s3, 0x28(sp) | s3 = *(var_28h);
0x000267e0 lw s2, 0x24(sp) | s2 = *(var_24h);
0x000267e4 lw s1, 0x20(sp) | s1 = *(var_20h);
0x000267e8 lw s0, 0x1c(sp) | s0 = *(var_1ch);
| /* fcn.000266a8 */
0x000267ec addiu t9, t9, 0x66a8 | t9 += 0x66a8;
0x000267f0 addiu sp, sp, 0x38 |
0x000267f4 b 0x266a8 | void (*0x266a8)() ();
| label_1:
0x000267f8 lw a0, 0x1c(s1) | a0 = *((s1 + 7));
0x000267fc move a1, s2 | a1 = s2;
0x00026800 jalr t9 | t9 ();
0x00026804 lw gp, 0x10(sp) | gp = *(var_10h);
0x00026808 lw a0, (s0) | a0 = *(s0);
| if (v0 != 0) {
0x0002680c beqz v0, 0x2682c |
0x00026810 lw t9, -0x77dc(gp) | t9 = sym.imp.__fprintf_chk
0x00026814 move a3, s2 | a3 = s2;
| /* str._s:_ */
0x00026818 addiu a2, s3, -0x6164 | a2 = s3 + -0x6164;
0x0002681c addiu a1, zero, 1 | a1 = 1;
0x00026820 jalr t9 | t9 ();
0x00026824 lw gp, 0x10(sp) | gp = *(var_10h);
0x00026828 lw a0, (s0) | a0 = *(s0);
| }
0x0002682c lbu v0, 0x30(s1) | v0 = *((s1 + 48));
0x00026830 lw a2, -0x7f90(gp) | a2 = *(gp);
| if (v0 != 0) {
0x00026834 bnez v0, 0x26858 | goto label_2;
| }
0x00026838 lw t9, -0x77dc(gp) | t9 = sym.imp.__fprintf_chk
0x0002683c lw a3, 0xc(s1) | a3 = *((s1 + 3));
| /* str.line__d:_ */
0x00026840 addiu a2, a2, -0x615c | a2 += -0x615c;
0x00026844 addiu a1, zero, 1 | a1 = 1;
0x00026848 jalr t9 | t9 ();
0x0002684c lw gp, 0x10(sp) | gp = *(var_10h);
0x00026850 lw a0, (s0) | a0 = *(s0);
0x00026854 b 0x267b0 |
| } while (1);
| label_2:
0x00026858 lw v0, -0x7fd8(gp) | v0 = *((gp - 8182));
0x0002685c lw v0, 0x200c(v0) | v0 = *((v0 + 2051));
0x00026860 lw v0, 8(v0) | v0 = *((v0 + 2));
| /* str.line__d:_ */
0x00026864 addiu a2, a2, -0x615c | a2 += -0x615c;
| if (v0 <= 0) {
0x00026868 blez v0, 0x267b0 | goto label_0;
| }
0x0002686c lw t9, -0x77dc(gp) | t9 = sym.imp.__fprintf_chk
0x00026870 lw a3, 0xc(s1) | a3 = *((s1 + 3));
0x00026874 addiu a1, zero, 1 | a1 = 1;
0x00026878 jalr t9 | t9 ();
0x0002687c lw gp, 0x10(sp) | gp = *(var_10h);
0x00026880 lw a0, (s0) | a0 = *(s0);
0x00026884 b 0x267b0 | goto label_0;
| }
; assembly | /* r2dec pseudo code output */
| /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/bin/busybox.nosuid @ 0x2a508 */
| #include <stdint.h>
|
; (fcn) fcn.0002a508 () | void fcn_0002a508 () {
0x0002a508 lui gp, 7 |
0x0002a50c addiu gp, gp, -0x3d8 |
0x0002a510 addu gp, gp, t9 | gp += t9;
0x0002a514 lw v0, -0x74a4(gp) | v0 = *((gp - 7465));
0x0002a518 addiu sp, sp, -0xb8 |
0x0002a51c move v1, v0 | v1 = v0;
0x0002a520 sw s2, 0x98(sp) | *(var_98h) = s2;
0x0002a524 sw v0, 0x2c(sp) | *(var_2ch) = v0;
0x0002a528 move s2, a1 | s2 = a1;
0x0002a52c andi v0, a1, 8 | v0 = a1 & 8;
0x0002a530 lw a1, (v1) | a1 = *(v1);
0x0002a534 sw gp, 0x20(sp) | *(var_20h) = gp;
0x0002a538 sw fp, 0xb0(sp) | *(var_b0h) = fp;
0x0002a53c sw ra, 0xb4(sp) | *(var_b4h) = ra;
0x0002a540 sw s7, 0xac(sp) | *(var_ach) = s7;
0x0002a544 sw s6, 0xa8(sp) | *(var_a8h) = s6;
0x0002a548 sw s5, 0xa4(sp) | *(var_a4h) = s5;
0x0002a54c sw s4, 0xa0(sp) | *(var_a0h) = s4;
0x0002a550 sw s3, 0x9c(sp) | *(var_9ch) = s3;
0x0002a554 sw s1, 0x94(sp) | *(var_94h) = s1;
0x0002a558 sw s0, 0x90(sp) | *(var_90h) = s0;
0x0002a55c move fp, a0 | fp = a0;
0x0002a560 sw a1, 0x8c(sp) | *(var_8ch) = a1;
0x0002a564 lw v0, -0x747c(gp) | v0 = *((gp - 7455));
| if (v0 == 0) {
0x0002a568 beqz v0, 0x2a5e0 | goto label_7;
| }
0x0002a56c lw s5, (v0) | s5 = *(v0);
0x0002a570 andi v0, s2, 1 | v0 = s2 & 1;
0x0002a574 lw s7, 0xc(fp) | s7 = *(arg_ch);
| if (v0 == 0) {
0x0002a578 beqz v0, 0x2a5f4 | goto label_8;
| }
| do {
0x0002a57c lw a2, -0x7f90(gp) | a2 = *(gp);
0x0002a580 lw t9, -0x77dc(gp) | t9 = sym.imp.__fprintf_chk
0x0002a584 lw a3, (s7) | a3 = *(s7);
| /* esilref: '&d
' */
0x0002a588 addiu a2, a2, -0x6588 | a2 += -0x6588;
0x0002a58c addiu a1, zero, 1 | a1 = 1;
0x0002a590 move a0, s5 | a0 = s5;
0x0002a594 jalr t9 | t9 ();
0x0002a598 lw gp, 0x20(sp) | gp = *(var_20h);
| label_4:
0x0002a59c lw v0, 0x2c(sp) | v0 = *(var_2ch);
0x0002a5a0 lw v1, 0x8c(sp) | v1 = *(var_8ch);
0x0002a5a4 lw v0, (v0) | v0 = *(v0);
0x0002a5a8 lw t9, -0x750c(gp) | t9 = sym.imp.__stack_chk_fail;
| if (v1 != v0) {
0x0002a5ac bne v1, v0, 0x2a850 | goto label_9;
| }
| label_5:
0x0002a5b0 lw ra, 0xb4(sp) | ra = *(var_b4h);
0x0002a5b4 lw fp, 0xb0(sp) | fp = *(var_b0h);
0x0002a5b8 lw s7, 0xac(sp) | s7 = *(var_ach);
0x0002a5bc lw s6, 0xa8(sp) | s6 = *(var_a8h);
0x0002a5c0 lw s5, 0xa4(sp) | s5 = *(var_a4h);
0x0002a5c4 lw s4, 0xa0(sp) | s4 = *(var_a0h);
0x0002a5c8 lw s3, 0x9c(sp) | s3 = *(var_9ch);
0x0002a5cc lw s2, 0x98(sp) | s2 = *(var_98h);
0x0002a5d0 lw s1, 0x94(sp) | s1 = *(var_94h);
0x0002a5d4 lw s0, 0x90(sp) | s0 = *(var_90h);
0x0002a5d8 addiu sp, sp, 0xb8 |
0x0002a5dc jr ra | return v1;
| label_7:
0x0002a5e0 lw v0, -0x7700(gp) | v0 = *((gp - 7616));
0x0002a5e4 lw s5, (v0) | s5 = *(v0);
0x0002a5e8 andi v0, s2, 1 | v0 = s2 & 1;
0x0002a5ec lw s7, 0xc(fp) | s7 = *(arg_ch);
0x0002a5f0 bnez v0, 0x2a57c |
| } while (v0 != 0);
| label_8:
0x0002a5f4 lw v0, -0x7fd8(gp) | v0 = *((gp - 8182));
0x0002a5f8 lw s4, -0x7b60(gp) | s4 = *(gp);
0x0002a5fc lw a2, -0x7f90(gp) | a2 = *(gp);
0x0002a600 lw a3, 0x2ee8(v0) | a3 = *((v0 + 3002));
0x0002a604 addiu s3, sp, 0x3c | s3 = sp + 0x3c;
0x0002a608 subu a3, fp, a3 | __asm ("subu a3, fp, a3");
0x0002a60c sra a3, a3, 5 | a3 >>= 5;
| /* fcn.00029720 */
0x0002a610 addiu s4, s4, -0x68e0 | s4 += -0x68e0;
0x0002a614 addiu a3, a3, 1 | a3++;
| /* str.__d____ */
0x0002a618 addiu a2, a2, -0x5f1c | a2 += -0x5f1c;
0x0002a61c addiu a1, zero, 0x10 | a1 = 0x10;
0x0002a620 move t9, s4 | t9 = s4;
0x0002a624 move a0, s3 | a0 = s3;
0x0002a628 bal 0x29720 | fcn_00029720 ();
0x0002a62c lw gp, 0x20(sp) | gp = *(var_20h);
0x0002a630 move s1, v0 | s1 = v0;
0x0002a634 lw v0, -0x7fd8(gp) | v0 = *((gp - 8182));
0x0002a638 lw v0, 0x2ee0(v0) | v0 = *((v0 + 3000));
0x0002a63c addiu a0, zero, 0x2b | a0 = 0x2b;
| if (v0 != fp) {
0x0002a640 bne v0, fp, 0x2a6d0 | goto label_10;
| }
0x0002a644 addiu v0, sp, 0x90 | v0 = sp + 0x90;
0x0002a648 addu v0, v0, s1 | v0 += s1;
0x0002a64c sb a0, -0x57(v0) | *((v0 - 87)) = a0;
| label_0:
0x0002a650 andi s2, s2, 2 | s2 &= 2;
| do {
0x0002a654 move v0, s1 | v0 = s1;
0x0002a658 addu a0, s3, s1 | a0 = s3 + s1;
0x0002a65c move s6, s1 | s6 = s1;
| if (s2 != 0) {
0x0002a660 beqz s2, 0x2a68c |
0x0002a664 lw a2, -0x7f90(gp) | a2 = *(gp);
| label_2:
0x0002a668 lw a3, (s7) | a3 = *(s7);
| /* esilref: '&d ' */
0x0002a66c addiu a2, a2, -0x7148 | a2 += -0x7148;
0x0002a670 move t9, s4 | t9 = s4;
0x0002a674 addiu a1, zero, 0x10 | a1 = 0x10;
0x0002a678 bal 0x29720 | fcn_00029720 ();
0x0002a67c addu s6, s1, v0 | s6 = s1 + v0;
0x0002a680 lw gp, 0x20(sp) | gp = *(var_20h);
0x0002a684 move v0, s6 | v0 = s6;
0x0002a688 addu a0, s3, s6 | a0 = s3 + s6;
| }
| label_1:
0x0002a68c lw a1, 0x14(fp) | a1 = *(arg_14h);
0x0002a690 lbu a2, 0x18(fp) | a2 = *(arg_18h);
0x0002a694 sll s0, a1, 1 | s0 = a1 << 1;
0x0002a698 addu s0, s0, a1 | s0 += a1;
0x0002a69c sll s0, s0, 2 | s0 <<= 2;
0x0002a6a0 addu s0, s7, s0 | s0 = s7 + s0;
| if (a2 != 0) {
0x0002a6a4 bnez a2, 0x2a70c | goto label_11;
| }
0x0002a6a8 lw a1, -0x7f90(gp) | a1 = *(gp);
0x0002a6ac addiu v0, v0, 7 | v0 += 7;
| /* str.Running */
0x0002a6b0 addiu a3, a1, -0x5f14 | a3 = a1 + -0x5f14;
0x0002a6b4 lw a2, -0x5f14(a1) | a2 = *((a1 - 6085));
0x0002a6b8 lw a1, 4(a3) | a1 = *((a3 + 1));
0x0002a6bc swl a2, 3(a0) | __asm ("swl a2, 3(a0)");
0x0002a6c0 swr a2, (a0) | __asm ("swr a2, (a0)");
0x0002a6c4 swl a1, 7(a0) | __asm ("swl a1, 7(a0)");
0x0002a6c8 swr a1, 4(a0) | __asm ("swr a1, 4(a0)");
0x0002a6cc b 0x2a730 | goto label_12;
| label_10:
0x0002a6d0 beql v0, zero, 0x2a654 |
| } while (v0 == 0);
0x0002a6d4 andi s2, s2, 2 | s2 &= 2;
0x0002a6d8 lw v0, 0x1c(v0) | v0 = *((v0 + 7));
0x0002a6dc addiu v0, sp, 0x90 | v0 = sp + 0x90;
| if (v0 != fp) {
0x0002a6e0 bne v0, fp, 0x2a650 | goto label_0;
| }
0x0002a6e4 addu v0, v0, s1 | v0 += s1;
0x0002a6e8 addiu a0, zero, 0x2d | a0 = 0x2d;
0x0002a6ec andi s2, s2, 2 | s2 &= 2;
0x0002a6f0 sb a0, -0x57(v0) | *((v0 - 87)) = a0;
0x0002a6f4 move s6, s1 | s6 = s1;
0x0002a6f8 move v0, s1 | v0 = s1;
0x0002a6fc addu a0, s3, s1 | a0 = s3 + s1;
| if (s2 == 0) {
0x0002a700 beqz s2, 0x2a68c | goto label_1;
| }
0x0002a704 lw a2, -0x7f90(gp) | a2 = *(gp);
0x0002a708 b 0x2a668 | goto label_2;
| label_11:
0x0002a70c addiu v0, zero, 1 | v0 = 1;
0x0002a710 lw a1, -8(s0) | a1 = *((s0 - 2));
| if (a2 == v0) {
0x0002a714 beq a2, v0, 0x2a858 | goto label_13;
| }
| label_6:
0x0002a718 lw t9, -0x7b60(gp) | t9 = *(gp);
| /* fcn.00029bf4 */
0x0002a71c addiu t9, t9, -0x640c | t9 += -0x640c;
0x0002a720 move a2, zero | a2 = 0;
0x0002a724 bal 0x29bf4 | fcn_00029bf4 ();
0x0002a728 lw gp, 0x20(sp) | gp = *(var_20h);
0x0002a72c addu v0, s6, v0 | v0 = s6 + v0;
| label_12:
0x0002a730 lw v1, -0x7f90(gp) | v1 = *(gp);
0x0002a734 lw a0, -0x7f90(gp) | a0 = *(gp);
0x0002a738 sw v1, 0x28(sp) | *(var_28h) = v1;
| /* esilref: '| ' */
0x0002a73c addiu v1, a0, -0x5f20 | v1 = a0 + -0x5f20;
0x0002a740 lw s6, -0x7f90(gp) | s6 = *(gp);
0x0002a744 sw v1, 0x30(sp) | *(var_30h) = v1;
0x0002a748 lw v1, -0x7f90(gp) | v1 = *(gp);
0x0002a74c addiu s6, s6, -0x4e44 | s6 += -0x4e44;
0x0002a750 sw v1, 0x34(sp) | *(var_34h) = v1;
| do {
| label_3:
0x0002a754 addiu a0, zero, 0x21 | a0 = 0x21;
0x0002a758 subu v0, a0, v0 | __asm ("subu v0, a0, v0");
0x0002a75c lw a1, 0xc(fp) | a1 = *(arg_ch);
0x0002a760 slti a3, v0, 0 | a3 = (v0 < 0) ? 1 : 0;
| if (a3 == 0) {
0x0002a764 movn v0, zero, a3 | v0 = 0;
| }
0x0002a768 lw v1, 0x30(sp) | v1 = *(var_30h);
0x0002a76c lw a2, 8(s7) | a2 = *((s7 + 2));
0x0002a770 xor a1, a1, s7 | a1 ^= s7;
0x0002a774 sw v0, 0x10(sp) | *(var_10h) = v0;
0x0002a778 move a0, s6 | a0 = s6;
0x0002a77c lw v0, 0x28(sp) | v0 = *(var_28h);
| if (a1 == 0) {
0x0002a780 movn a0, v1, a1 | a0 = v1;
| }
0x0002a784 lw t9, -0x77dc(gp) | t9 = sym.imp.__fprintf_chk
0x0002a788 addiu t1, zero, 0x20 | t1 = 0x20;
0x0002a78c sw a2, 0x1c(sp) | *(var_1ch) = a2;
0x0002a790 sw a0, 0x18(sp) | *(var_18h) = a0;
0x0002a794 sw t1, 0x14(sp) | *(var_14h) = t1;
0x0002a798 move a3, s3 | a3 = s3;
0x0002a79c addiu a2, v0, -0x5f04 | a2 = v0 + -0x5f04;
0x0002a7a0 addiu a1, zero, 1 | a1 = 1;
0x0002a7a4 move a0, s5 | a0 = s5;
0x0002a7a8 addiu s7, s7, 0xc | s7 += 0xc;
0x0002a7ac jalr t9 | t9 ();
0x0002a7b0 lw gp, 0x20(sp) | gp = *(var_20h);
0x0002a7b4 addiu t1, zero, 0x20 | t1 = 0x20;
| if (s0 == s7) {
0x0002a7b8 beq s0, s7, 0x2a7fc | goto label_14;
| }
0x0002a7bc sb zero, 0x3c(sp) | *(var_3ch) = 0;
0x0002a7c0 addiu v0, zero, 0x21 | v0 = 0x21;
0x0002a7c4 beqz s2, 0x2a754 |
| } while (s2 == 0);
0x0002a7c8 lw v0, (s7) | v0 = *(s7);
0x0002a7cc move a3, s1 | a3 = s1;
0x0002a7d0 sw v0, 0x14(sp) | *(var_14h) = v0;
0x0002a7d4 lw v0, 0x34(sp) | v0 = *(var_34h);
0x0002a7d8 sw t1, 0x10(sp) | *(var_10h) = t1;
0x0002a7dc addiu a2, v0, -0x5f0c | a2 = v0 + -0x5f0c;
0x0002a7e0 addiu a1, zero, 0x30 | a1 = 0x30;
0x0002a7e4 move t9, s4 | t9 = s4;
0x0002a7e8 move a0, s3 | a0 = s3;
0x0002a7ec bal 0x29720 | fcn_00029720 ();
0x0002a7f0 addiu v0, v0, -1 | v0 += -1;
0x0002a7f4 lw gp, 0x20(sp) | gp = *(var_20h);
0x0002a7f8 b 0x2a754 | goto label_3;
| label_14:
0x0002a7fc lw t9, -0x7cc4(gp) | t9 = *(gp);
| /* fcn.000266a8 */
0x0002a800 addiu t9, t9, 0x66a8 | t9 += 0x66a8;
0x0002a804 move a0, s5 | a0 = s5;
0x0002a808 bal 0x266a8 | fcn_000266a8 ();
0x0002a80c lhu v0, 0x18(fp) | v0 = *(arg_18h);
0x0002a810 addiu a0, zero, 2 | a0 = 2;
0x0002a814 ins v0, zero, 0xc, 1 | __asm ("ins v0, zero, 0xc, 1");
0x0002a818 andi a1, v0, 0xff | a1 = v0 & 0xff;
0x0002a81c lw gp, 0x20(sp) | gp = *(var_20h);
0x0002a820 sh v0, 0x18(fp) | *(arg_18h) = v0;
| if (a1 != a0) {
0x0002a824 bne a1, a0, 0x2a59c | goto label_4;
| }
0x0002a828 lw t9, -0x7cc4(gp) | t9 = *(gp);
| /* fcn.0002597c */
0x0002a82c addiu t9, t9, 0x597c | t9 += 0x597c;
0x0002a830 move a0, fp | a0 = fp;
0x0002a834 bal 0x2597c | fcn_0002597c ();
0x0002a838 lw v0, 0x2c(sp) | v0 = *(var_2ch);
0x0002a83c lw v1, 0x8c(sp) | v1 = *(var_8ch);
0x0002a840 lw gp, 0x20(sp) | gp = *(var_20h);
0x0002a844 lw v0, (v0) | v0 = *(v0);
0x0002a848 lw t9, -0x750c(gp) | t9 = sym.imp.__stack_chk_fail;
| if (v1 == v0) {
0x0002a84c beq v1, v0, 0x2a5b0 | goto label_5;
| }
| label_9:
0x0002a850 jalr t9 | t9 ();
0x0002a854 nop |
| label_13:
0x0002a858 lw a1, 0x10(fp) | a1 = *(arg_10h);
0x0002a85c b 0x2a718 | goto label_6;
| }
; assembly | /* r2dec pseudo code output */
| /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/bin/busybox.nosuid @ 0x462a4 */
| #include <stdint.h>
|
; (fcn) fcn.000462a4 () | void fcn_000462a4 () {
0x000462a4 lui gp, 5 |
0x000462a8 addiu gp, gp, 0x3e8c |
0x000462ac addu gp, gp, t9 | gp += t9;
0x000462b0 addiu sp, sp, -0x258 |
0x000462b4 lw t9, -0x76a8(gp) | t9 = sym.imp.memset;
0x000462b8 sw s4, 0x240(sp) | *(var_240h_2) = s4;
0x000462bc lw s4, -0x74a4(gp) | s4 = *((gp - 7465));
0x000462c0 sw s2, 0x238(sp) | *(var_238h_2) = s2;
0x000462c4 addiu s2, sp, 0x2c | s2 = sp + 0x2c;
0x000462c8 lw v0, (s4) | v0 = *(s4);
0x000462cc sw ra, 0x254(sp) | *(var_254h) = ra;
0x000462d0 sw s7, 0x24c(sp) | *(var_24ch) = s7;
0x000462d4 sw gp, 0x18(sp) | *(var_18h) = gp;
0x000462d8 sw fp, 0x250(sp) | *(var_250h) = fp;
0x000462dc sw s6, 0x248(sp) | *(var_248h) = s6;
0x000462e0 sw s5, 0x244(sp) | *(var_244h_2) = s5;
0x000462e4 sw s3, 0x23c(sp) | *(var_23ch_2) = s3;
0x000462e8 sw s1, 0x234(sp) | *(var_234h_2) = s1;
0x000462ec sw s0, 0x230(sp) | *(var_230h_2) = s0;
0x000462f0 move s1, a0 | s1 = a0;
0x000462f4 move s3, a1 | s3 = a1;
0x000462f8 move a0, s2 | a0 = s2;
0x000462fc move a1, zero | a1 = 0;
0x00046300 sw a2, 0x24(sp) | *(var_24h) = a2;
0x00046304 sw v0, 0x22c(sp) | *(var_22ch_2) = v0;
0x00046308 addiu a2, zero, 0x200 | a2 = aav.0x00000200;
0x0004630c move s0, a3 | s0 = a3;
0x00046310 jalr t9 | t9 ();
0x00046314 lw gp, 0x18(sp) | gp = *(var_18h);
0x00046318 addiu a2, zero, 0x64 | a2 = 0x64;
0x0004631c move a1, s3 | a1 = s3;
0x00046320 lw t9, -0x76c8(gp) | t9 = sym.imp.strncpy;
0x00046324 move a0, s2 | a0 = s2;
0x00046328 jalr t9 | t9 ();
0x0004632c lw gp, 0x18(sp) | gp = *(var_18h);
0x00046330 lw a2, 0x18(s0) | a2 = *((s0 + 6));
0x00046334 move a3, zero | a3 = 0;
0x00046338 lw s5, -0x7b1c(gp) | s5 = *(gp);
0x0004633c andi a2, a2, 0xfff | a2 &= 0xfff;
| /* fcn.00045b3c */
0x00046340 addiu s5, s5, 0x5b3c | s5 += 0x5b3c;
0x00046344 addiu a1, zero, 8 | a1 = 8;
0x00046348 move t9, s5 | t9 = s5;
0x0004634c addiu a0, sp, 0x90 | a0 = sp + 0x90;
0x00046350 bal 0x45b3c | fcn_00045b3c ();
0x00046354 lw a2, 0x20(s0) | a2 = *((s0 + 8));
0x00046358 move a3, zero | a3 = 0;
0x0004635c addiu a1, zero, 8 | a1 = 8;
0x00046360 move t9, s5 | t9 = s5;
0x00046364 addiu a0, sp, 0x98 | a0 = sp + 0x98;
0x00046368 bal 0x45b3c | fcn_00045b3c ();
0x0004636c lw a2, 0x24(s0) | a2 = *((s0 + 9));
0x00046370 move a3, zero | a3 = 0;
0x00046374 addiu a1, zero, 8 | a1 = 8;
0x00046378 move t9, s5 | t9 = s5;
0x0004637c addiu a0, sp, 0xa0 | a0 = sp + 0xa0;
0x00046380 bal 0x45b3c | fcn_00045b3c ();
0x00046384 lw v0, 0x48(s0) | v0 = *((s0 + 18));
0x00046388 addiu s7, sp, 0xa8 | s7 = sp + 0xa8;
0x0004638c slti a2, v0, 0 | a2 = (v0 < 0) ? 1 : 0;
| if (a2 == 0) {
0x00046390 movn v0, zero, a2 | v0 = 0;
| }
0x00046394 sra a3, v0, 0x1f | a3 = v0 >> 0x1f;
0x00046398 move a2, v0 | a2 = v0;
0x0004639c lui v0, 0x3030 | v0 = imp.__environ;
0x000463a0 addiu v0, v0, 0x3030 |
0x000463a4 sw v0, 0xa8(sp) | *(var_a8h) = v0;
0x000463a8 sw v0, 4(s7) | *((s7 + 1)) = v0;
0x000463ac addiu v0, zero, 0x3030 | v0 = aav.0x00003030;
0x000463b0 sh v0, 8(s7) | *((s7 + 4)) = v0;
0x000463b4 addiu s6, sp, 0xb4 | s6 = sp + 0xb4;
0x000463b8 addiu v0, zero, 0x30 | v0 = 0x30;
0x000463bc addiu a1, zero, 0xc | a1 = 0xc;
0x000463c0 move a0, s6 | a0 = s6;
0x000463c4 move t9, s5 | t9 = s5;
0x000463c8 sb v0, 0xa(s7) | *((s7 + 10)) = v0;
0x000463cc bal 0x45b3c | fcn_00045b3c ();
0x000463d0 lw gp, 0x18(sp) | gp = *(var_18h);
0x000463d4 lw t9, -0x7bb0(gp) | t9 = *(gp);
0x000463d8 lw fp, -0x7ddc(gp) | fp = *(gp);
0x000463dc lw a0, 0x20(s0) | a0 = *((s0 + 8));
0x000463e0 jalr t9 | t9 ();
0x000463e4 move a1, v0 | a1 = v0;
0x000463e8 addiu a2, zero, 0x20 | a2 = 0x20;
0x000463ec move t9, fp | t9 = fp;
0x000463f0 addiu a0, sp, 0x135 | a0 = sp + 0x135;
0x000463f4 jalr t9 | t9 ();
0x000463f8 lw gp, 0x18(sp) | gp = *(var_18h);
0x000463fc lw t9, -0x7a48(gp) | t9 = *(gp);
0x00046400 lw a0, 0x24(s0) | a0 = *((s0 + 9));
0x00046404 jalr t9 | t9 ();
0x00046408 move a1, v0 | a1 = v0;
0x0004640c addiu a2, zero, 0x20 | a2 = 0x20;
0x00046410 move t9, fp | t9 = fp;
0x00046414 addiu a0, sp, 0x155 | a0 = sp + 0x155;
0x00046418 jalr t9 | t9 ();
0x0004641c lw v0, 0x10(s1) | v0 = *((s1 + 4));
0x00046420 lw gp, 0x18(sp) | gp = *(var_18h);
0x00046424 lw v1, 0x24(sp) | v1 = *(var_24h);
| if (v0 != 0) {
0x00046428 beqz v0, 0x46484 |
0x0004642c lw t9, -0x76c8(gp) | t9 = sym.imp.strncpy;
0x00046430 addiu s6, v0, 0x18 | s6 = v0 + 0x18;
0x00046434 addiu v0, zero, 0x31 | v0 = 0x31;
0x00046438 addiu a2, zero, 0x64 | a2 = 0x64;
0x0004643c move a1, s6 | a1 = s6;
0x00046440 addiu a0, sp, 0xc9 | a0 = sp + 0xc9;
0x00046444 sb v0, 0xc8(sp) | *(var_c8h) = v0;
0x00046448 jalr t9 | t9 ();
0x0004644c lbu v0, 0x12c(sp) | v0 = *(var_12ch);
0x00046450 lw gp, 0x18(sp) | gp = *(var_18h);
0x00046454 lw s5, (s1) | s5 = *(s1);
| if (v0 == 0) {
0x00046458 beqz v0, 0x46694 | goto label_2;
| }
0x0004645c lw t9, -0x7b1c(gp) | t9 = *(gp);
0x00046460 move a0, s5 | a0 = s5;
0x00046464 move a3, zero | a3 = 0;
0x00046468 move a2, s6 | a2 = s6;
| /* fcn.000460c8 */
0x0004646c addiu t9, t9, 0x60c8 | t9 += 0x60c8;
0x00046470 addiu a1, zero, 0x4b | a1 = 0x4b;
0x00046474 bal 0x460c8 | fcn_000460c8 ();
0x00046478 lw gp, 0x18(sp) | gp = *(var_18h);
0x0004647c lw s5, (s1) | s5 = *(s1);
0x00046480 b 0x46694 | goto label_2;
| }
0x00046484 lw a3, 0x18(s0) | a3 = *((s0 + 6));
0x00046488 ori v0, zero, 0xa000 | v0 = 0xa000;
0x0004648c andi a3, a3, 0xf000 | a3 &= 0xf000;
0x00046490 lw t9, -0x7a44(gp) | t9 = *(gp);
| if (a3 == v0) {
0x00046494 bne a3, v0, 0x46514 |
0x00046498 move a0, v1 | a0 = v1;
0x0004649c jalr t9 | t9 ();
0x000464a0 move s6, v0 | s6 = v0;
0x000464a4 lw gp, 0x18(sp) | gp = *(var_18h);
0x000464a8 move v0, zero | v0 = 0;
| if (s6 == 0) {
0x000464ac beqz s6, 0x46614 | goto label_0;
| }
0x000464b0 lw t9, -0x76c8(gp) | t9 = sym.imp.strncpy;
0x000464b4 addiu v0, zero, 0x32 | v0 = 0x32;
0x000464b8 addiu a2, zero, 0x64 | a2 = 0x64;
0x000464bc move a1, s6 | a1 = s6;
0x000464c0 addiu a0, sp, 0xc9 | a0 = sp + 0xc9;
0x000464c4 sb v0, 0xc8(sp) | *(var_c8h) = v0;
0x000464c8 jalr t9 | t9 ();
0x000464cc lbu v0, 0x12c(sp) | v0 = *(var_12ch);
0x000464d0 lw gp, 0x18(sp) | gp = *(var_18h);
0x000464d4 lw s5, (s1) | s5 = *(s1);
| if (v0 != 0) {
0x000464d8 beqz v0, 0x46500 |
0x000464dc lw t9, -0x7b1c(gp) | t9 = *(gp);
0x000464e0 move a0, s5 | a0 = s5;
0x000464e4 move a3, zero | a3 = 0;
0x000464e8 move a2, s6 | a2 = s6;
| /* fcn.000460c8 */
0x000464ec addiu t9, t9, 0x60c8 | t9 += 0x60c8;
0x000464f0 addiu a1, zero, 0x4b | a1 = 0x4b;
0x000464f4 bal 0x460c8 | fcn_000460c8 ();
0x000464f8 lw gp, 0x18(sp) | gp = *(var_18h);
0x000464fc lw s5, (s1) | s5 = *(s1);
| }
0x00046500 lw t9, -0x7490(gp) | t9 = *((gp - 7460));
0x00046504 move a0, s6 | a0 = s6;
0x00046508 jalr t9 | t9 ();
0x0004650c lw gp, 0x18(sp) | gp = *(var_18h);
0x00046510 b 0x46694 | goto label_2;
| }
0x00046514 addiu v0, zero, 0x4000 | v0 = aav.0x00004000;
0x00046518 lbu v0, 0x8f(sp) | v0 = *(var_8fh);
| if (a3 == v0) {
0x0004651c bne a3, v0, 0x46554 |
0x00046520 addiu v1, zero, 0x35 | v1 = 0x35;
0x00046524 sb v1, 0xc8(sp) | *(var_c8h) = v1;
0x00046528 lw s5, (s1) | s5 = *(s1);
| if (v0 != 0) {
0x0004652c bnez v0, 0x466a8 | goto label_3;
| }
0x00046530 lw t9, -0x7644(gp) | t9 = sym.imp.strlen;
0x00046534 move a0, s2 | a0 = s2;
0x00046538 jalr t9 | t9 ();
0x0004653c addiu v1, sp, 0x230 | v1 = sp + 0x230;
0x00046540 addu v0, v1, v0 | v0 = v1 + v0;
0x00046544 addiu v1, zero, 0x2f | v1 = 0x2f;
0x00046548 lw gp, 0x18(sp) | gp = *(var_18h);
0x0004654c sb v1, -0x204(v0) | *(v0) = v1;
0x00046550 b 0x46694 | goto label_2;
| }
0x00046554 addiu v0, zero, 0x2000 | v0 = aav.0x00002000;
0x00046558 addiu a1, zero, 8 | a1 = 8;
| if (a3 == v0) {
0x0004655c bne a3, v0, 0x46578 |
0x00046560 lw a2, 0x28(s0) | a2 = *((s0 + 10));
0x00046564 move a3, zero | a3 = 0;
0x00046568 ext a2, a2, 8, 0xc | __asm ("ext a2, a2, 8, 0xc");
0x0004656c addiu a0, sp, 0x175 | a0 = sp + 0x175;
0x00046570 addiu v0, zero, 0x33 | v0 = 0x33;
0x00046574 b 0x46594 |
| } else {
0x00046578 addiu v0, zero, 0x6000 | v0 = aav.0x00006000;
0x0004657c addiu a0, sp, 0x175 | a0 = sp + 0x175;
| if (a3 != v0) {
0x00046580 bne a3, v0, 0x465d8 | goto label_4;
| }
0x00046584 lw a2, 0x28(s0) | a2 = *((s0 + 10));
0x00046588 move a3, zero | a3 = 0;
0x0004658c ext a2, a2, 8, 0xc | __asm ("ext a2, a2, 8, 0xc");
0x00046590 addiu v0, zero, 0x34 | v0 = 0x34;
| }
0x00046594 move t9, s5 | t9 = s5;
0x00046598 sb v0, 0xc8(sp) | *(var_c8h) = v0;
0x0004659c bal 0x45b3c | fcn_00045b3c ();
0x000465a0 lw a2, 0x28(s0) | a2 = *((s0 + 10));
0x000465a4 addiu v1, zero, -0x100 | v1 = -aav.0x00000100;
0x000465a8 srl v0, a2, 0xc | v0 = a2 >> 0xc;
0x000465ac and v0, v0, v1 | v0 &= v1;
0x000465b0 andi a2, a2, 0xff | a2 &= 0xff;
0x000465b4 move t9, s5 | t9 = s5;
0x000465b8 or a2, v0, a2 | a2 = v0 | a2;
0x000465bc move a3, zero | a3 = 0;
0x000465c0 addiu a1, zero, 8 | a1 = 8;
0x000465c4 addiu a0, sp, 0x17d | a0 = sp + 0x17d;
0x000465c8 bal 0x45b3c | fcn_00045b3c ();
0x000465cc lw gp, 0x18(sp) | gp = *(var_18h);
0x000465d0 lw s5, (s1) | s5 = *(s1);
0x000465d4 b 0x46694 | goto label_2;
| label_4:
0x000465d8 addiu v0, zero, 0x1000 | v0 = aav.0x00001000;
0x000465dc addiu v0, zero, 0x36 | v0 = 0x36;
| if (a3 == v0) {
0x000465e0 bne a3, v0, 0x465f0 |
0x000465e4 sb v0, 0xc8(sp) | *(var_c8h) = v0;
0x000465e8 lw s5, (s1) | s5 = *(s1);
0x000465ec b 0x46694 | goto label_2;
| }
0x000465f0 ori v0, zero, 0x8000 | v0 = aav.0x00008000;
0x000465f4 lw a0, -0x7f90(gp) | a0 = *(gp);
| if (a3 == v0) {
0x000465f8 beq a3, v0, 0x4665c | goto label_5;
| }
0x000465fc lw t9, -0x7e70(gp) | t9 = *(gp);
0x00046600 move a1, v1 | a1 = v1;
| /* str._s:_unknown_file_type */
0x00046604 addiu a0, a0, -0x37bc | a0 += -0x37bc;
0x00046608 jalr t9 | t9 ();
0x0004660c lw gp, 0x18(sp) | gp = *(var_18h);
0x00046610 move v0, zero | v0 = 0;
| do {
| label_0:
0x00046614 lw a0, 0x22c(sp) | a0 = *(var_22ch_2);
0x00046618 lw v1, (s4) | v1 = *(s4);
0x0004661c lw ra, 0x254(sp) | ra = *(var_254h);
| if (a0 == v1) {
0x00046620 bne a0, v1, 0x46650 |
0x00046624 lw fp, 0x250(sp) | fp = *(var_250h);
0x00046628 lw s7, 0x24c(sp) | s7 = *(var_24ch);
0x0004662c lw s6, 0x248(sp) | s6 = *(var_248h);
0x00046630 lw s5, 0x244(sp) | s5 = *(var_244h_2);
0x00046634 lw s4, 0x240(sp) | s4 = *(var_240h_2);
0x00046638 lw s3, 0x23c(sp) | s3 = *(var_23ch_2);
0x0004663c lw s2, 0x238(sp) | s2 = *(var_238h_2);
0x00046640 lw s1, 0x234(sp) | s1 = *(var_234h_2);
0x00046644 lw s0, 0x230(sp) | s0 = *(var_230h_2);
0x00046648 addiu sp, sp, 0x258 |
0x0004664c jr ra | return v1;
| }
0x00046650 lw t9, -0x750c(gp) | t9 = sym.imp.__stack_chk_fail;
0x00046654 jalr t9 | t9 ();
0x00046658 nop |
| label_5:
0x0004665c lw a3, 0x3c(s0) | a3 = *((s0 + 15));
0x00046660 lw a2, 0x38(s0) | a2 = *((s0 + 14));
0x00046664 sltiu v1, a3, 0x10 | v1 = (a3 < 0x10) ? 1 : 0;
0x00046668 move v0, a2 | v0 = a2;
0x0004666c move a1, a3 | a1 = a3;
| if (v1 == 0) {
0x00046670 beqz v1, 0x46758 | goto label_6;
| }
0x00046674 addiu a1, zero, 0xc | a1 = 0xc;
0x00046678 move t9, s5 | t9 = s5;
0x0004667c move a0, s7 | a0 = s7;
0x00046680 bal 0x45b3c | fcn_00045b3c ();
0x00046684 lw gp, 0x18(sp) | gp = *(var_18h);
| label_1:
0x00046688 addiu v0, zero, 0x30 | v0 = 0x30;
0x0004668c lw s5, (s1) | s5 = *(s1);
0x00046690 sb v0, 0xc8(sp) | *(var_c8h) = v0;
| label_2:
0x00046694 lbu v0, 0x8f(sp) | v0 = *(var_8fh);
0x00046698 lw t9, -0x7b1c(gp) | t9 = *(gp);
| if (v0 != 0) {
0x0004669c beqz v0, 0x466d4 |
0x000466a0 lw a3, 0x18(s0) | a3 = *((s0 + 6));
0x000466a4 andi a3, a3, 0xf000 | a3 &= 0xf000;
| label_3:
0x000466a8 lw t9, -0x7b1c(gp) | t9 = *(gp);
0x000466ac xori a3, a3, 0x4000 | a3 ^= aav.0x00004000;
0x000466b0 move a0, s5 | a0 = s5;
0x000466b4 sltiu a3, a3, 1 | a3 = (a3 < 1) ? 1 : 0;
0x000466b8 move a2, s3 | a2 = s3;
| /* fcn.000460c8 */
0x000466bc addiu t9, t9, 0x60c8 | t9 += 0x60c8;
0x000466c0 addiu a1, zero, 0x4c | a1 = 0x4c;
0x000466c4 bal 0x460c8 | fcn_000460c8 ();
0x000466c8 lw gp, 0x18(sp) | gp = *(var_18h);
0x000466cc lw s5, (s1) | s5 = *(s1);
0x000466d0 lw t9, -0x7b1c(gp) | t9 = *(gp);
| }
0x000466d4 move a1, s2 | a1 = s2;
| /* fcn.00045ddc */
0x000466d8 addiu t9, t9, 0x5ddc | t9 += 0x5ddc;
0x000466dc move a0, s5 | a0 = s5;
0x000466e0 bal 0x45ddc | fcn_00045ddc ();
0x000466e4 lw v1, 4(s1) | v1 = *((s1 + 1));
0x000466e8 lw gp, 0x18(sp) | gp = *(var_18h);
0x000466ec addiu v0, zero, 1 | v0 = 1;
0x000466f0 beqz v1, 0x46614 |
| } while (v1 == 0);
0x000466f4 lw a0, -0x7700(gp) | a0 = *((gp - 7616));
0x000466f8 lw v1, (s1) | v1 = *(s1);
0x000466fc lw a0, (a0) | a0 = *(a0);
| if (v1 == v0) {
0x00046700 bne v1, v0, 0x4670c |
0x00046704 lw v0, -0x747c(gp) | v0 = *((gp - 7455));
0x00046708 lw a0, (v0) | a0 = *(v0);
| }
0x0004670c lw v0, 0x18(s0) | v0 = *((s0 + 6));
0x00046710 addiu v1, zero, 0x4000 | v1 = aav.0x00004000;
0x00046714 andi v0, v0, 0xf000 | v0 &= 0xf000;
| if (v0 == v1) {
0x00046718 beql v0, v1, 0x46750 | goto label_7;
| }
0x0004671c lw v0, -0x7f90(gp) | v0 = *(gp);
0x00046720 lw v0, -0x7f90(gp) | v0 = *(gp);
0x00046724 addiu v0, v0, -0x4e44 | v0 += -0x4e44;
| do {
0x00046728 lw a2, -0x7f90(gp) | a2 = *(gp);
0x0004672c lw t9, -0x77dc(gp) | t9 = sym.imp.__fprintf_chk
0x00046730 sw v0, 0x10(sp) | *(var_10h_2) = v0;
0x00046734 move a3, s3 | a3 = s3;
| /* str._s_s_n */
0x00046738 addiu a2, a2, -0x5644 | a2 += -0x5644;
0x0004673c addiu a1, zero, 1 | a1 = 1;
0x00046740 jalr t9 | t9 ();
0x00046744 lw gp, 0x18(sp) | gp = *(var_18h);
0x00046748 addiu v0, zero, 1 | v0 = 1;
0x0004674c b 0x46614 | goto label_0;
| label_7:
0x00046750 addiu v0, v0, -0xb98 | v0 += -0xb98;
0x00046754 b 0x46728 |
| } while (1);
| label_6:
0x00046758 move a0, s6 | a0 = s6;
| do {
0x0004675c addiu a0, a0, -1 | a0 += -1;
0x00046760 andi v1, v0, 0xff | v1 = v0 & 0xff;
0x00046764 sll a2, a1, 0x18 | a2 = a1 << 0x18;
0x00046768 srl v0, v0, 8 | v0 >>= 8;
0x0004676c sb v1, (a0) | *(a0) = v1;
0x00046770 or v0, a2, v0 | v0 = a2 | v0;
0x00046774 srl a1, a1, 8 | a1 >>= 8;
0x00046778 bne a0, s7, 0x4675c |
| } while (a0 != s7);
0x0004677c addiu v0, zero, -0x80 | v0 = -0x80;
0x00046780 or v1, v1, v0 | v1 |= v0;
0x00046784 sb v1, 0xa8(sp) | *(var_a8h) = v1;
0x00046788 b 0x46688 | goto label_1;
| }
; assembly | /* r2dec pseudo code output */
| /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/bin/busybox.nosuid @ 0x687a8 */
| #include <stdint.h>
|
; (fcn) fcn.000687a8 () | void fcn_000687a8 () {
0x000687a8 lui gp, 3 |
0x000687ac addiu gp, gp, 0x1988 |
0x000687b0 addu gp, gp, t9 | gp += t9;
0x000687b4 lw v0, -0x7f80(gp) | v0 = *((gp - 8160));
0x000687b8 addiu sp, sp, -0x30 |
0x000687bc andi a1, a1, 0x10 | a1 &= 0x10;
0x000687c0 sw s1, 0x24(sp) | *(var_24h) = s1;
0x000687c4 lw s1, (v0) | s1 = *(v0);
0x000687c8 sw gp, 0x18(sp) | *(var_18h) = gp;
0x000687cc sw s2, 0x28(sp) | *(var_28h) = s2;
0x000687d0 sw s0, 0x20(sp) | *(var_20h) = s0;
0x000687d4 sw ra, 0x2c(sp) | *(var_2ch) = ra;
0x000687d8 move s0, a0 | s0 = a0;
0x000687dc lw s2, (s1) | s2 = *(s1);
| if (a1 != 0) {
0x000687e0 beqz a1, 0x68824 |
0x000687e4 lw v0, -0x7fb4(gp) | v0 = *((gp - 8173));
0x000687e8 lw a2, -0x7f90(gp) | a2 = *(gp);
0x000687ec lw t9, -0x77dc(gp) | t9 = sym.imp.__fprintf_chk
0x000687f0 lw a3, (v0) | a3 = *(v0);
0x000687f4 lw v0, -0x747c(gp) | v0 = *((gp - 7455));
| /* str._s:_overwrite__s__ */
0x000687f8 addiu a2, a2, -0x1650 | a2 += -0x1650;
0x000687fc addiu a1, zero, 1 | a1 = 1;
0x00068800 lw a0, (v0) | a0 = *(v0);
0x00068804 sw s0, 0x10(sp) | *(var_10h) = s0;
0x00068808 jalr t9 | t9 ();
0x0006880c lw gp, 0x18(sp) | gp = *(var_18h);
0x00068810 lw t9, -0x7944(gp) | t9 = *(gp);
0x00068814 bal 0x681a0 | fcn_000681a0 ();
0x00068818 nop |
0x0006881c lw gp, 0x18(sp) | gp = *(var_18h);
| if (v0 == 0) {
0x00068820 beqz v0, 0x6883c | goto label_0;
| }
| }
0x00068824 lw t9, -0x753c(gp) | t9 = sym.imp.unlink;
0x00068828 move a0, s0 | a0 = s0;
0x0006882c jalr t9 | t9 ();
0x00068830 lw gp, 0x18(sp) | gp = *(var_18h);
| if (v0 >= 0) {
0x00068834 bltz v0, 0x68854 |
0x00068838 addiu v0, zero, 1 | v0 = 1;
| label_0:
0x0006883c lw ra, 0x2c(sp) | ra = *(var_2ch);
0x00068840 lw s2, 0x28(sp) | s2 = *(var_28h);
0x00068844 lw s1, 0x24(sp) | s1 = *(var_24h);
0x00068848 lw s0, 0x20(sp) | s0 = *(var_20h);
0x0006884c addiu sp, sp, 0x30 |
0x00068850 jr ra | return v0;
| }
0x00068854 lw v0, (s1) | v0 = *(s1);
0x00068858 addiu v0, zero, 2 | v0 = 2;
| if (v0 == s2) {
0x0006885c bne v0, s2, 0x68894 |
0x00068860 lw t9, -0x7e70(gp) | t9 = *(gp);
| if (s2 != v0) {
0x00068864 bne s2, v0, 0x68894 | goto label_1;
| }
0x00068868 lw a0, -0x7f90(gp) | a0 = *(gp);
0x0006886c move a1, s0 | a1 = s0;
| /* str.cant_create__s:_Path_does_not_exist */
0x00068870 addiu a0, a0, -0x1638 | a0 += -0x1638;
0x00068874 jalr t9 | t9 ();
0x00068878 lw ra, 0x2c(sp) | ra = *(var_2ch);
0x0006887c lw s2, 0x28(sp) | s2 = *(var_28h);
0x00068880 lw s1, 0x24(sp) | s1 = *(var_24h);
0x00068884 lw s0, 0x20(sp) | s0 = *(var_20h);
0x00068888 addiu v0, zero, -1 | v0 = -1;
0x0006888c addiu sp, sp, 0x30 |
0x00068890 jr ra | return v0;
| }
| label_1:
0x00068894 lw a0, -0x7f90(gp) | a0 = *(gp);
0x00068898 lw t9, -0x7efc(gp) | t9 = *(gp);
0x0006889c sw s2, (s1) | *(s1) = s2;
0x000688a0 move a1, s0 | a1 = s0;
| /* str.cant_create__s */
0x000688a4 addiu a0, a0, -0x1610 | a0 += -0x1610;
0x000688a8 jalr t9 | t9 ();
0x000688ac lw ra, 0x2c(sp) | ra = *(var_2ch);
0x000688b0 lw s2, 0x28(sp) | s2 = *(var_28h);
0x000688b4 lw s1, 0x24(sp) | s1 = *(var_24h);
0x000688b8 lw s0, 0x20(sp) | s0 = *(var_20h);
0x000688bc addiu v0, zero, -1 | v0 = -1;
0x000688c0 addiu sp, sp, 0x30 |
0x000688c4 jr ra | return v0;
| }
; assembly | /* r2dec pseudo code output */
| /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/bin/busybox.nosuid @ 0x6f954 */
| #include <stdint.h>
|
; (fcn) fcn.0006f954 () | void fcn_0006f954 () {
0x0006f954 lui gp, 3 |
0x0006f958 addiu gp, gp, -0x5824 |
0x0006f95c addu gp, gp, t9 | gp += t9;
0x0006f960 lw v0, -0x74a4(gp) | v0 = *((gp - 7465));
0x0006f964 addiu sp, sp, -0x1b8 |
0x0006f968 lw t9, -0x7eb8(gp) | t9 = *(gp);
0x0006f96c sw v0, 0x50(sp) | *(var_50h) = v0;
0x0006f970 lw v0, (v0) | v0 = *(v0);
0x0006f974 sw gp, 0x18(sp) | *(var_18h) = gp;
0x0006f978 sw fp, 0x1b0(sp) | *(var_1b0h) = fp;
0x0006f97c sw s6, 0x1a8(sp) | *(var_1a8h) = s6;
0x0006f980 sw s3, 0x19c(sp) | *(var_19ch) = s3;
0x0006f984 sw s2, 0x198(sp) | *(var_198h) = s2;
0x0006f988 sw s0, 0x190(sp) | *(var_190h) = s0;
0x0006f98c sw ra, 0x1b4(sp) | *(var_1b4h) = ra;
0x0006f990 sw s7, 0x1ac(sp) | *(var_1ach) = s7;
0x0006f994 sw s5, 0x1a4(sp) | *(var_1a4h) = s5;
0x0006f998 sw s4, 0x1a0(sp) | *(var_1a0h) = s4;
0x0006f99c sw s1, 0x194(sp) | *(var_194h) = s1;
0x0006f9a0 sw t9, 0x4c(sp) | *(var_4ch) = t9;
0x0006f9a4 move s2, a0 | s2 = a0;
0x0006f9a8 sw v0, 0x18c(sp) | *(var_18ch) = v0;
0x0006f9ac addiu a0, zero, 0x40 | a0 = 0x40;
0x0006f9b0 sb zero, 0x7b(sp) | *(var_7bh) = 0;
0x0006f9b4 move s0, a1 | s0 = a1;
0x0006f9b8 move fp, a2 | fp = a2;
0x0006f9bc move s3, a3 | s3 = a3;
0x0006f9c0 jalr t9 | t9 ();
0x0006f9c4 lw gp, 0x18(sp) | gp = *(var_18h);
0x0006f9c8 move s6, v0 | s6 = v0;
0x0006f9cc lw v0, -0x78d0(gp) | v0 = *(gp);
0x0006f9d0 sw s6, (v0) | *(v0) = s6;
0x0006f9d4 addiu v0, sp, 0x84 | v0 = sp + 0x84;
0x0006f9d8 sw v0, 0x54(sp) | *(var_54h) = v0;
0x0006f9dc move a2, v0 | a2 = v0;
0x0006f9e0 addiu v0, zero, 0x50 | v0 = 0x50;
0x0006f9e4 sw v0, 4(s6) | *((s6 + 1)) = v0;
0x0006f9e8 lw v0, -0x7f90(gp) | v0 = *(gp);
0x0006f9ec lw t9, -0x7f10(gp) | t9 = *(gp);
0x0006f9f0 addiu v0, v0, 0x1054 | v0 += 0x1054;
0x0006f9f4 addiu s1, sp, 0xb8 | s1 = sp + 0xb8;
0x0006f9f8 addiu a3, zero, 1 | a3 = 1;
0x0006f9fc move a1, s1 | a1 = s1;
0x0006fa00 move a0, zero | a0 = 0;
0x0006fa04 sw v0, 0x30(s6) | *((s6 + 12)) = v0;
0x0006fa08 jalr t9 | t9 ();
0x0006fa0c lw gp, 0x18(sp) | gp = *(var_18h);
0x0006fa10 beqz v0, 0x6fac4 |
| while (v0 == v1) {
0x0006fa14 lw t9, -0x7fcc(gp) | t9 = *(gp);
| /* fcn.0006da4c */
0x0006fa18 addiu t9, t9, -0x25b4 | t9 += -0x25b4;
0x0006fa1c move a0, s0 | a0 = s0;
0x0006fa20 bal 0x6da4c | fcn_0006da4c ();
0x0006fa24 lw gp, 0x18(sp) | gp = *(var_18h);
0x0006fa28 lw t9, -0x7f68(gp) | t9 = *(gp);
0x0006fa2c addiu s0, zero, -1 | s0 = -1;
0x0006fa30 jalr t9 | t9 ();
0x0006fa34 lw gp, 0x18(sp) | gp = *(var_18h);
0x0006fa38 move a1, s3 | a1 = s3;
0x0006fa3c move a0, fp | a0 = fp;
0x0006fa40 lw v0, -0x7688(gp) | v0 = *((gp - 7586));
0x0006fa44 lw t9, -0x77c8(gp) | t9 = sym.imp.fgets_unlocked;
0x0006fa48 lw a2, (v0) | a2 = *(v0);
0x0006fa4c jalr t9 | t9 ();
0x0006fa50 lw gp, 0x18(sp) | gp = *(var_18h);
| if (v0 != 0) {
0x0006fa54 beqz v0, 0x6fa6c |
0x0006fa58 lw t9, -0x7644(gp) | t9 = sym.imp.strlen;
0x0006fa5c move a0, fp | a0 = fp;
0x0006fa60 jalr t9 | t9 ();
0x0006fa64 lw gp, 0x18(sp) | gp = *(var_18h);
0x0006fa68 move s0, v0 | s0 = v0;
| }
| label_1:
0x0006fa6c lw t9, -0x7fcc(gp) | t9 = *(gp);
| /* fcn.0006d328 */
0x0006fa70 addiu t9, t9, -0x2cd8 | t9 += -0x2cd8;
0x0006fa74 bal 0x6d328 | fcn_0006d328 ();
0x0006fa78 nop |
0x0006fa7c lw v0, 0x50(sp) | v0 = *(var_50h);
0x0006fa80 lw a0, 0x18c(sp) | a0 = *(var_18ch);
0x0006fa84 lw gp, 0x18(sp) | gp = *(var_18h);
0x0006fa88 lw v1, (v0) | v1 = *(v0);
0x0006fa8c move v0, s0 | v0 = s0;
| if (a0 != v1) {
0x0006fa90 bne a0, v1, 0x6fd0c | goto label_10;
| }
0x0006fa94 lw ra, 0x1b4(sp) | ra = *(var_1b4h);
0x0006fa98 lw fp, 0x1b0(sp) | fp = *(var_1b0h);
0x0006fa9c lw s7, 0x1ac(sp) | s7 = *(var_1ach);
0x0006faa0 lw s6, 0x1a8(sp) | s6 = *(var_1a8h);
0x0006faa4 lw s5, 0x1a4(sp) | s5 = *(var_1a4h);
0x0006faa8 lw s4, 0x1a0(sp) | s4 = *(var_1a0h);
0x0006faac lw s3, 0x19c(sp) | s3 = *(var_19ch);
0x0006fab0 lw s2, 0x198(sp) | s2 = *(var_198h);
0x0006fab4 lw s1, 0x194(sp) | s1 = *(var_194h);
0x0006fab8 lw s0, 0x190(sp) | s0 = *(var_190h);
0x0006fabc addiu sp, sp, 0x1b8 |
0x0006fac0 jr ra | return v0;
0x0006fac4 move s7, v0 | s7 = v0;
0x0006fac8 lw v0, 0x90(sp) | v0 = *(var_90h);
0x0006facc addiu v1, zero, 2 | v1 = 2;
0x0006fad0 andi v0, v0, 0xa | v0 &= 0xa;
0x0006fad4 slti v1, s3, 0x801 | v1 = (s3 < 0x801) ? 1 : 0;
0x0006fad8 beq v0, v1, 0x6fa14 |
| }
0x0006fadc addiu v0, zero, 0x800 | v0 = aav.0x00000800;
| if (v1 == 0) {
0x0006fae0 movn v0, s3, v1 | v0 = s3;
| }
0x0006fae4 sw v0, 0x40(sp) | *(var_40h) = v0;
0x0006fae8 sw v0, 0x1c(s6) | *((s6 + 7)) = v0;
| if (s2 != 0) {
0x0006faec bnez s2, 0x6fd00 | goto label_11;
| }
0x0006faf0 lw s2, -0x78bc(gp) | s2 = *((gp - 7727));
0x0006faf4 addiu s3, zero, -1 | s3 = -1;
0x0006faf8 sw s2, (s6) | *(s6) = s2;
| do {
0x0006fafc lw v0, (s2) | v0 = *(s2);
0x0006fb00 andi v0, v0, 1 | v0 &= 1;
0x0006fb04 lw t9, -0x7b8c(gp) | t9 = *(gp);
| if (v0 != 0) {
0x0006fb08 beqz v0, 0x6fb40 |
0x0006fb0c lw v1, 0x1c(s2) | v1 = *((s2 + 7));
0x0006fb10 lw v0, 0xc(s2) | v0 = *((s2 + 3));
| if (v1 != 0) {
0x0006fb14 beqz v1, 0x6fb38 |
0x0006fb18 lw t9, -0x7fcc(gp) | t9 = *(gp);
| if (v0 != 0) {
0x0006fb1c bnez v0, 0x6fb38 | goto label_12;
| }
| /* fcn.0006f5b4 */
0x0006fb20 addiu t9, t9, -0xa4c | t9 += -0xa4c;
0x0006fb24 move a0, s2 | a0 = s2;
0x0006fb28 bal 0x6f5b4 | fcn_0006f5b4 ();
0x0006fb2c lw s2, (s6) | s2 = *(s6);
0x0006fb30 lw gp, 0x18(sp) | gp = *(var_18h);
0x0006fb34 lw v0, 0xc(s2) | v0 = *((s2 + 3));
| }
| label_12:
0x0006fb38 sw v0, 0x10(s2) | *((s2 + 4)) = v0;
0x0006fb3c lw t9, -0x7b8c(gp) | t9 = *(gp);
| }
0x0006fb40 move a0, s1 | a0 = s1;
0x0006fb44 sb zero, (fp) | *(fp) = 0;
0x0006fb48 sw t9, 0x58(sp) | *(var_58h) = t9;
0x0006fb4c sw zero, 0xc(s6) | *((s6 + 3)) = 0;
0x0006fb50 sw zero, 0x18(s6) | *((s6 + 6)) = 0;
0x0006fb54 sw fp, 0x20(s6) | *((s6 + 8)) = fp;
0x0006fb58 jalr t9 | t9 ();
0x0006fb5c lw gp, 0x18(sp) | gp = *(var_18h);
0x0006fb60 lw t9, -0x7538(gp) | t9 = sym.imp.geteuid;
0x0006fb64 jalr t9 | t9 ();
0x0006fb68 nop |
0x0006fb6c lw gp, 0x18(sp) | gp = *(var_18h);
0x0006fb70 lw t9, -0x7460(gp) | t9 = sym.imp.getpwuid;
0x0006fb74 move a0, v0 | a0 = v0;
0x0006fb78 jalr t9 | t9 ();
0x0006fb7c move s1, v0 | s1 = v0;
0x0006fb80 lw gp, 0x18(sp) | gp = *(var_18h);
| if (v0 != 0) {
0x0006fb84 beqz v0, 0x6fbb0 |
0x0006fb88 lw s2, -0x7e48(gp) | s2 = *(gp);
0x0006fb8c move t9, s2 | t9 = s2;
0x0006fb90 lw a0, (v0) | a0 = *(v0);
0x0006fb94 jalr t9 | t9 ();
0x0006fb98 lw a0, 0x14(s1) | a0 = *((s1 + 5));
0x0006fb9c move t9, s2 | t9 = s2;
0x0006fba0 sw v0, 0x2c(s6) | *((s6 + 11)) = v0;
0x0006fba4 jalr t9 | t9 ();
0x0006fba8 lw gp, 0x18(sp) | gp = *(var_18h);
0x0006fbac sw v0, 0x30(s6) | *((s6 + 12)) = v0;
| }
0x0006fbb0 lw t9, -0x7f9c(gp) | t9 = *(gp);
0x0006fbb4 move a0, zero | a0 = 0;
0x0006fbb8 jalr t9 | t9 ();
0x0006fbbc lw gp, 0x18(sp) | gp = *(var_18h);
0x0006fbc0 move a0, s0 | a0 = s0;
0x0006fbc4 sw v0, 4(s6) | *((s6 + 1)) = v0;
0x0006fbc8 lw t9, -0x7fcc(gp) | t9 = *(gp);
| /* fcn.0006da4c */
0x0006fbcc addiu t9, t9, -0x25b4 | t9 += -0x25b4;
0x0006fbd0 addiu s0, zero, 1 | s0 = 1;
0x0006fbd4 bal 0x6da4c | fcn_0006da4c ();
0x0006fbd8 lw gp, 0x18(sp) | gp = *(var_18h);
0x0006fbdc move a2, zero | a2 = 0;
0x0006fbe0 addiu a1, zero, 1 | a1 = 1;
0x0006fbe4 lw t9, -0x7bf0(gp) | t9 = *(gp);
0x0006fbe8 addiu a0, sp, 0x7c | a0 = sp + 0x7c;
0x0006fbec sw zero, 0x7c(sp) | *(var_7ch) = 0;
0x0006fbf0 sh s0, 0x80(sp) | *(var_80h) = s0;
0x0006fbf4 bal 0x73fb0 | fcn_00073fb0 ();
0x0006fbf8 lw gp, 0x18(sp) | gp = *(var_18h);
0x0006fbfc lw s1, -0x7f68(gp) | s1 = *(gp);
0x0006fc00 sw s1, 0x48(sp) | *(var_48h) = s1;
| if (v0 == 0) {
0x0006fc04 bnez v0, 0x6fc3c |
0x0006fc08 lw v0, -0x7700(gp) | v0 = *((gp - 7616));
0x0006fc0c lw a0, -0x7f90(gp) | a0 = *(gp);
0x0006fc10 lw t9, -0x74c4(gp) | t9 = sym.imp.fwrite_unlocked;
0x0006fc14 lw a3, (v0) | a3 = *(v0);
0x0006fc18 addiu a2, zero, 4 | a2 = 4;
0x0006fc1c addiu a1, zero, 1 | a1 = 1;
| /* str.e_6n */
0x0006fc20 addiu a0, a0, -0xfa0 | a0 += -0xfa0;
0x0006fc24 sb s0, 0x3c(s6) | *((s6 + 60)) = s0;
0x0006fc28 jalr t9 | t9 ();
0x0006fc2c move t9, s1 | t9 = s1;
0x0006fc30 jalr t9 | t9 ();
0x0006fc34 nop |
0x0006fc38 lw gp, 0x18(sp) | gp = *(var_18h);
| }
0x0006fc3c lw v0, -0x7fcc(gp) | v0 = *(gp);
0x0006fc40 addiu s5, sp, 0xec | s5 = sp + 0xec;
0x0006fc44 addiu v0, v0, -0x20b4 | v0 += -0x20b4;
0x0006fc48 sw v0, 0x2c(sp) | *(var_2ch) = v0;
0x0006fc4c lw v0, -0x7fcc(gp) | v0 = *(gp);
0x0006fc50 sw s5, 0x6c(sp) | *(var_6ch) = s5;
| /* fcn.0006e68c */
0x0006fc54 addiu v0, v0, -0x1974 | v0 += -0x1974;
0x0006fc58 sw v0, 0x24(sp) | *(var_24h) = v0;
0x0006fc5c lw v0, -0x7fcc(gp) | v0 = *(gp);
0x0006fc60 sb zero, 0xec(sp) | *(var_ech) = 0;
0x0006fc64 addiu v0, v0, -0x1888 | v0 += -0x1888;
0x0006fc68 sw v0, 0x28(sp) | *(var_28h) = v0;
0x0006fc6c move v0, s7 | v0 = s7;
0x0006fc70 move s4, fp | s4 = fp;
0x0006fc74 move s7, s3 | s7 = s3;
0x0006fc78 move s5, s6 | s5 = s6;
0x0006fc7c move s3, v0 | s3 = v0;
| label_0:
0x0006fc80 lw v0, -0x7f90(gp) | v0 = *(gp);
0x0006fc84 move s2, s5 | s2 = s5;
0x0006fc88 addiu v0, v0, -0xf70 | v0 += -0xf70;
0x0006fc8c move s5, s4 | s5 = s4;
0x0006fc90 sw v0, 0x64(sp) | *(var_64h) = v0;
0x0006fc94 move s4, s7 | s4 = s7;
0x0006fc98 move s7, s3 | s7 = s3;
0x0006fc9c lw a0, 0x6c(sp) | a0 = *(var_6ch);
0x0006fca0 lw t9, 0x2c(sp) | t9 = *(var_2ch);
0x0006fca4 move a1, s4 | a1 = s4;
0x0006fca8 jalr t9 | t9 ();
0x0006fcac lw gp, 0x18(sp) | gp = *(var_18h);
0x0006fcb0 move s3, v0 | s3 = v0;
0x0006fcb4 addiu v0, s3, 0x45 | v0 = s3 + 0x45;
0x0006fcb8 lw v1, -0x7f90(gp) | v1 = *(gp);
0x0006fcbc sw v1, 0x68(sp) | *(var_68h) = v1;
0x0006fcc0 sltiu v1, v0, 0xc5 | v1 = (v0 < 0xc5) ? 1 : 0;
0x0006fcc4 lw v1, 0x64(sp) | v1 = *(var_64h);
| if (v1 != 0) {
0x0006fcc8 bnez v1, 0x6fd18 | goto label_13;
| }
0x0006fccc lbu v0, 0x95(sp) | v0 = *(var_95h);
0x0006fcd0 move s6, s3 | s6 = s3;
0x0006fcd4 move s3, s7 | s3 = s7;
0x0006fcd8 move s7, s4 | s7 = s4;
0x0006fcdc move s4, s5 | s4 = s5;
0x0006fce0 move s5, s2 | s5 = s2;
| if (v0 == 0) {
0x0006fce4 beqz v0, 0x70900 | goto label_14;
| }
0x0006fce8 move fp, s4 | fp = s4;
| if (v0 != s6) {
0x0006fcec bne v0, s6, 0x70900 | goto label_14;
| }
0x0006fcf0 move s7, s3 | s7 = s3;
0x0006fcf4 move s6, s2 | s6 = s2;
0x0006fcf8 sw zero, 0x18(s2) | *((s2 + 6)) = 0;
0x0006fcfc b 0x70650 | goto label_15;
| label_11:
0x0006fd00 lw s3, 4(s2) | s3 = *((s2 + 1));
0x0006fd04 sw s2, (s6) | *(s6) = s2;
0x0006fd08 b 0x6fafc |
| } while (1);
| label_10:
0x0006fd0c lw t9, -0x750c(gp) | t9 = sym.imp.__stack_chk_fail;
0x0006fd10 jalr t9 | t9 ();
0x0006fd14 nop |
| label_13:
0x0006fd18 sll v0, v0, 2 | v0 <<= 2;
0x0006fd1c lwx v0, v0(v1) | __asm ("lwx v0, v0(v1)");
0x0006fd20 addu v0, v0, gp | v0 += gp;
0x0006fd24 jr v0 | v0 ();
0x0006fd28 nop |
| label_9:
0x0006fda8 sb zero, 0x7b(sp) | *(var_7bh) = 0;
0x0006fdac b 0x6fc80 | goto label_0;
| label_7:
0x0006fe68 lw t9, -0x7584(gp) | t9 = sym.imp.usleep;
0x0006fe6c addiu a0, zero, 0x4e20 | a0 = 0x4e20;
0x0006fe70 jalr t9 | t9 ();
0x0006fe74 lw v0, 0x18(s6) | v0 = *((s6 + 6));
0x0006fe78 lw gp, 0x18(sp) | gp = *(var_18h);
| if (v0 > 0) {
0x0006fe7c blez v0, 0x6fe94 |
0x0006fe80 lw s2, (s6) | s2 = *(s6);
0x0006fe84 lw v0, (s2) | v0 = *(s2);
0x0006fe88 andi v0, v0, 1 | v0 &= 1;
0x0006fe8c lbu v0, (fp) | v0 = *(fp);
| if (v0 == 0) {
0x0006fe90 bnel v0, zero, 0x6ff18 | goto label_16;
| }
| }
| label_2:
0x0006fe94 addiu v0, zero, 1 | v0 = 1;
| do {
0x0006fe98 lw t9, -0x7fcc(gp) | t9 = *(gp);
| if (s0 == v0) {
0x0006fe9c bne s0, v0, 0x6fec4 |
0x0006fea0 lw v0, 0x18(s6) | v0 = *((s6 + 6));
| label_4:
0x0006fea4 addiu v1, v0, 1 | v1 = v0 + 1;
0x0006fea8 addu a0, fp, v1 | a0 = fp + v1;
0x0006feac addu v0, fp, v0 | v0 = fp + v0;
0x0006feb0 addiu a1, zero, 0xa | a1 = 0xa;
0x0006feb4 sb a1, (v0) | *(v0) = a1;
0x0006feb8 sw v1, 0x18(s6) | *((s6 + 6)) = v1;
0x0006febc sb zero, (a0) | *(a0) = 0;
| label_3:
0x0006fec0 lw t9, -0x7fcc(gp) | t9 = *(gp);
| }
| /* fcn.0006d2a4 */
| label_6:
0x0006fec4 addiu t9, t9, -0x2d5c | t9 += -0x2d5c;
0x0006fec8 bal 0x6d2a4 | fcn_0006d2a4 ();
0x0006fecc nop |
0x0006fed0 lw t9, 0x58(sp) | t9 = *(var_58h);
0x0006fed4 lw a0, 0x54(sp) | a0 = *(var_54h);
0x0006fed8 jalr t9 | t9 ();
0x0006fedc lw t9, 0x48(sp) | t9 = *(var_48h);
0x0006fee0 jalr t9 | t9 ();
0x0006fee4 nop |
0x0006fee8 lw gp, 0x18(sp) | gp = *(var_18h);
0x0006feec lw s0, 0x18(s6) | s0 = *((s6 + 6));
0x0006fef0 b 0x6fa6c | goto label_1;
| label_16:
0x0006ff18 addiu v0, zero, 1 | v0 = 1;
0x0006ff1c beqz v0, 0x6fe98 |
| } while (v0 == 0);
0x0006ff20 lw s1, 0xc(s2) | s1 = *((s2 + 3));
0x0006ff24 lw t9, -0x7448(gp) | t9 = sym.imp.strcmp;
| if (s1 == 0) {
0x0006ff28 beqz s1, 0x6ff48 | goto label_17;
| }
0x0006ff2c addiu a0, s1, 7 | a0 = s1 + 7;
0x0006ff30 sll a0, a0, 2 | a0 <<= 2;
0x0006ff34 lwx a0, a0(s2) | __asm ("lwx a0, a0(s2)");
0x0006ff38 move a1, fp | a1 = fp;
0x0006ff3c jalr t9 | t9 ();
0x0006ff40 lw gp, 0x18(sp) | gp = *(var_18h);
| if (v0 == 0) {
0x0006ff44 beqz v0, 0x6fe94 | goto label_2;
| }
| label_17:
0x0006ff48 lw a0, 0x14(s2) | a0 = *((s2 + 5));
0x0006ff4c lw t9, -0x7490(gp) | t9 = *((gp - 7460));
0x0006ff50 addiu a0, a0, 8 | a0 += 8;
0x0006ff54 sll a0, a0, 2 | a0 <<= 2;
0x0006ff58 addiu s3, s1, 1 | s3 = s1 + 1;
0x0006ff5c lwx a0, a0(s2) | __asm ("lwx a0, a0(s2)");
0x0006ff60 jalr t9 | t9 ();
0x0006ff64 lw s2, (s6) | s2 = *(s6);
0x0006ff68 lw gp, 0x18(sp) | gp = *(var_18h);
0x0006ff6c lw v1, 0x14(s2) | v1 = *((s2 + 5));
0x0006ff70 addiu v0, v1, 8 | v0 = v1 + 8;
0x0006ff74 sll v0, v0, 2 | v0 <<= 2;
0x0006ff78 addu v0, s2, v0 | v0 = s2 + v0;
0x0006ff7c slt v1, s1, v1 | v1 = (s1 < v1) ? 1 : 0;
0x0006ff80 sw zero, (v0) | *(v0) = 0;
| if (v1 != 0) {
0x0006ff84 bnez v1, 0x6ffd8 | goto label_5;
| }
0x0006ff88 lw t9, -0x7490(gp) | t9 = *((gp - 7460));
0x0006ff8c lw a0, 0x20(s2) | a0 = *((s2 + 8));
0x0006ff90 jalr t9 | t9 ();
0x0006ff94 lw s2, (s6) | s2 = *(s6);
0x0006ff98 lw v0, 0x14(s2) | v0 = *((s2 + 5));
0x0006ff9c slti v1, v0, 2 | v1 = (v0 < 2) ? 1 : 0;
0x0006ffa0 lw gp, 0x18(sp) | gp = *(var_18h);
| if (v1 != 0) {
0x0006ffa4 bnez v1, 0x6ffd0 | goto label_18;
| }
0x0006ffa8 addiu v1, s2, 0x20 | v1 = s2 + 0x20;
0x0006ffac addiu v0, v0, -1 | v0 += -1;
0x0006ffb0 move s3, zero | s3 = 0;
| do {
0x0006ffb4 lw a0, 4(v1) | a0 = *((v1 + 1));
0x0006ffb8 addiu s1, s3, 1 | s1 = s3 + 1;
0x0006ffbc sw a0, (v1) | *(v1) = a0;
0x0006ffc0 addiu v1, v1, 4 | v1 += 4;
| if (v0 == s1) {
0x0006ffc4 beq v0, s1, 0x70220 | goto label_19;
| }
0x0006ffc8 move s3, s1 | s3 = s1;
0x0006ffcc b 0x6ffb4 |
| } while (1);
| label_18:
0x0006ffd0 move s1, zero | s1 = 0;
0x0006ffd4 addiu s3, zero, 1 | s3 = 1;
| label_5:
0x0006ffd8 lw t9, -0x7e48(gp) | t9 = *(gp);
0x0006ffdc addiu s1, s1, 8 | s1 += 8;
0x0006ffe0 move a0, fp | a0 = fp;
0x0006ffe4 sll s1, s1, 2 | s1 <<= 2;
0x0006ffe8 jalr t9 | t9 ();
0x0006ffec addu s1, s2, s1 | s1 = s2 + s1;
0x0006fff0 lw v1, (s6) | v1 = *(s6);
0x0006fff4 lw gp, 0x18(sp) | gp = *(var_18h);
0x0006fff8 sw v0, (s1) | *(s1) = v0;
0x0006fffc lw a0, 0x1c(v1) | a0 = *((v1 + 7));
0x00070000 sw s3, 0x10(v1) | *((v1 + 4)) = s3;
0x00070004 sw s3, 0xc(v1) | *((v1 + 3)) = s3;
| if (a0 == 0) {
0x00070008 beqz a0, 0x6fe94 | goto label_2;
| }
0x0007000c lw t9, -0x766c(gp) | t9 = sym.imp.open64;
0x00070010 addiu a2, zero, 0x180 | a2 = 0x180;
0x00070014 addiu a1, zero, 0x109 | a1 = 0x109;
0x00070018 jalr t9 | t9 ();
0x0007001c move s3, v0 | s3 = v0;
0x00070020 lw gp, 0x18(sp) | gp = *(var_18h);
| if (v0 < 0) {
0x00070024 bltz v0, 0x6fe94 | goto label_2;
| }
0x00070028 move a0, v0 | a0 = v0;
0x0007002c lw t9, -0x7ac8(gp) | t9 = *(gp);
0x00070030 addiu v0, zero, 2 | v0 = 2;
0x00070034 move a3, zero | a3 = 0;
0x00070038 move a2, zero | a2 = 0;
0x0007003c sw v0, 0x10(sp) | *(var_10h) = v0;
0x00070040 jalr t9 | t9 ();
0x00070044 lw gp, 0x18(sp) | gp = *(var_18h);
0x00070048 lw t9, -0x7644(gp) | t9 = sym.imp.strlen;
0x0007004c move a0, fp | a0 = fp;
0x00070050 jalr t9 | t9 ();
0x00070054 lw gp, 0x18(sp) | gp = *(var_18h);
0x00070058 addu s2, fp, v0 | s2 = fp + v0;
0x0007005c addiu s1, v0, 1 | s1 = v0 + 1;
0x00070060 lw t9, -0x7f64(gp) | t9 = *(gp);
0x00070064 addiu v0, zero, 0xa | v0 = 0xa;
0x00070068 move a2, s1 | a2 = s1;
0x0007006c move a1, fp | a1 = fp;
0x00070070 move a0, s3 | a0 = s3;
0x00070074 sb v0, (s2) | *(s2) = v0;
0x00070078 jalr t9 | t9 ();
0x0007007c lw gp, 0x18(sp) | gp = *(var_18h);
0x00070080 move s4, v0 | s4 = v0;
0x00070084 sb zero, (s2) | *(s2) = 0;
0x00070088 lw t9, -0x7844(gp) | t9 = sym.imp.close;
0x0007008c move a0, s3 | a0 = s3;
0x00070090 jalr t9 | t9 ();
0x00070094 lw gp, 0x18(sp) | gp = *(var_18h);
| if (s1 != s4) {
0x00070098 bne s1, s4, 0x6fe94 | goto label_2;
| }
0x0007009c lw v1, (s6) | v1 = *(s6);
0x000700a0 lw a0, 0x18(v1) | a0 = *((v1 + 6));
0x000700a4 lw v0, 0x14(v1) | v0 = *((v1 + 5));
0x000700a8 addiu a0, a0, 1 | a0++;
0x000700ac sll v0, v0, 2 | v0 <<= 2;
0x000700b0 sltu v0, v0, a0 | v0 = (v0 < a0) ? 1 : 0;
0x000700b4 sw a0, 0x18(v1) | *((v1 + 6)) = a0;
| if (v0 == 0) {
0x000700b8 beqz v0, 0x6fe94 | goto label_2;
| }
0x000700bc lw t9, 0x4c(sp) | t9 = *(var_4ch);
0x000700c0 addiu a0, zero, 0x220 | a0 = 0x220;
0x000700c4 lw s1, (v1) | s1 = *(v1);
0x000700c8 jalr t9 | t9 ();
0x000700cc move s2, v0 | s2 = v0;
0x000700d0 lw gp, 0x18(sp) | gp = *(var_18h);
0x000700d4 lw v0, (s6) | v0 = *(s6);
0x000700d8 addiu v1, zero, 0x7f | v1 = 0x7f;
0x000700dc sw v1, 0x14(s2) | *((s2 + 5)) = v1;
0x000700e0 lw t9, -0x7fcc(gp) | t9 = *(gp);
0x000700e4 lw v1, 0x1c(v0) | v1 = *((v0 + 7));
0x000700e8 lw v0, 0x14(v0) | v0 = *((v0 + 5));
0x000700ec addiu a1, zero, -1 | a1 = -1;
0x000700f0 sw v1, 0x1c(s2) | *((s2 + 7)) = v1;
0x000700f4 move a0, s2 | a0 = s2;
0x000700f8 sw a1, 4(s2) | *((s2 + 1)) = a1;
0x000700fc sw s1, (s2) | *(s2) = s1;
| /* fcn.0006f5b4 */
0x00070100 addiu t9, t9, -0xa4c | t9 += -0xa4c;
0x00070104 sw v0, 0x14(s2) | *((s2 + 5)) = v0;
0x00070108 bal 0x6f5b4 | fcn_0006f5b4 ();
0x0007010c lw gp, 0x18(sp) | gp = *(var_18h);
0x00070110 lw v0, (s6) | v0 = *(s6);
0x00070114 lw t9, -0x75a4(gp) | t9 = sym.imp.getpid;
0x00070118 lw s1, 0x1c(v0) | s1 = *((v0 + 7));
0x0007011c jalr t9 | t9 ();
0x00070120 lw gp, 0x18(sp) | gp = *(var_18h);
0x00070124 move a1, s1 | a1 = s1;
0x00070128 move a2, v0 | a2 = v0;
0x0007012c lw a0, -0x7f90(gp) | a0 = *(gp);
0x00070130 lw t9, -0x7e98(gp) | t9 = *(gp);
| /* str._s._u.new */
0x00070134 addiu a0, a0, -0xf7c | a0 += -0xf7c;
0x00070138 jalr t9 | t9 ();
0x0007013c lw gp, 0x18(sp) | gp = *(var_18h);
0x00070140 addiu a2, zero, 0x180 | a2 = 0x180;
0x00070144 addiu a1, zero, 0x301 | a1 = 0x301;
0x00070148 lw t9, -0x766c(gp) | t9 = sym.imp.open64;
0x0007014c move a0, v0 | a0 = v0;
0x00070150 move s1, v0 | s1 = v0;
0x00070154 jalr t9 | t9 ();
0x00070158 lw gp, 0x18(sp) | gp = *(var_18h);
| if (v0 < 0) {
0x0007015c bltz v0, 0x701f0 | goto label_20;
| }
0x00070160 lw t9, -0x7dc4(gp) | t9 = *(gp);
0x00070164 move a0, v0 | a0 = v0;
0x00070168 bal 0x747dc | fcn_000747dc ();
0x0007016c lw v1, 0xc(s2) | v1 = *((s2 + 3));
0x00070170 lw gp, 0x18(sp) | gp = *(var_18h);
0x00070174 move s5, v0 | s5 = v0;
| if (v1 <= 0) {
0x00070178 blez v1, 0x701b8 | goto label_21;
| }
0x0007017c lw s3, -0x7f90(gp) | s3 = *(gp);
0x00070180 addiu s4, s2, 0x20 | s4 = s2 + 0x20;
| /* esilref: '&s
' */
0x00070184 addiu s3, s3, -0x2dbc | s3 += -0x2dbc;
| do {
0x00070188 lw t9, -0x77dc(gp) | t9 = sym.imp.__fprintf_chk
0x0007018c lw a3, (s4) | a3 = *(s4);
0x00070190 move a2, s3 | a2 = s3;
0x00070194 addiu a1, zero, 1 | a1 = 1;
0x00070198 move a0, s5 | a0 = s5;
0x0007019c jalr t9 | t9 ();
0x000701a0 lw v0, 0xc(s2) | v0 = *((s2 + 3));
0x000701a4 addiu s7, s7, 1 | s7++;
0x000701a8 slt v0, s7, v0 | v0 = (s7 < v0) ? 1 : 0;
0x000701ac lw gp, 0x18(sp) | gp = *(var_18h);
0x000701b0 addiu s4, s4, 4 | s4 += 4;
0x000701b4 bnez v0, 0x70188 |
| } while (v0 != 0);
| label_21:
0x000701b8 lw t9, -0x7798(gp) | t9 = sym.imp.fclose;
0x000701bc move a0, s5 | a0 = s5;
0x000701c0 jalr t9 | t9 ();
0x000701c4 lw gp, 0x18(sp) | gp = *(var_18h);
0x000701c8 lw v0, (s6) | v0 = *(s6);
0x000701cc move a0, s1 | a0 = s1;
0x000701d0 lw t9, -0x7624(gp) | t9 = sym.imp.rename;
0x000701d4 lw a1, 0x1c(v0) | a1 = *((v0 + 7));
0x000701d8 jalr t9 | t9 ();
0x000701dc lw gp, 0x18(sp) | gp = *(var_18h);
| if (v0 == 0) {
0x000701e0 bnez v0, 0x701f0 |
0x000701e4 lw v0, (s6) | v0 = *(s6);
0x000701e8 lw v1, 0xc(s2) | v1 = *((s2 + 3));
0x000701ec sw v1, 0x18(v0) | *((v0 + 6)) = v1;
| }
| label_20:
0x000701f0 lw t9, -0x7490(gp) | t9 = *((gp - 7460));
0x000701f4 move a0, s1 | a0 = s1;
0x000701f8 jalr t9 | t9 ();
0x000701fc lw gp, 0x18(sp) | gp = *(var_18h);
0x00070200 lw t9, -0x78b8(gp) | t9 = *(gp);
0x00070204 move a0, s2 | a0 = s2;
0x00070208 bal 0x6f8e0 | fcn_0006f8e0 ();
0x0007020c addiu v0, zero, 1 | v0 = 1;
0x00070210 lw gp, 0x18(sp) | gp = *(var_18h);
| if (s0 != v0) {
0x00070214 bne s0, v0, 0x6fec0 | goto label_3;
| }
0x00070218 lw v0, 0x18(s6) | v0 = *((s6 + 6));
0x0007021c b 0x6fea4 | goto label_4;
| label_19:
0x00070220 addiu s3, s3, 2 | s3 += 2;
0x00070224 b 0x6ffd8 | goto label_5;
| label_8:
0x00070648 addiu v0, zero, -1 | v0 = -1;
0x0007064c sw v0, 0x18(s6) | *((s6 + 6)) = v0;
| label_15:
0x00070650 lb v0, 0x3c(s6) | v0 = *((s6 + 60));
0x00070654 lw t9, -0x7fcc(gp) | t9 = *(gp);
| if (v0 == 0) {
0x00070658 beqz v0, 0x6fec4 | goto label_6;
| }
0x0007065c addiu s0, zero, -1 | s0 = -1;
0x00070660 b 0x6fe68 | goto label_7;
| do {
0x000707c8 lw s0, -0x7fcc(gp) | s0 = *(gp);
| /* fcn.0006f468 */
0x000707cc addiu s0, s0, -0xb98 | s0 += -0xb98;
0x000707d0 move t9, s0 | t9 = s0;
0x000707d4 bal 0x6f468 | fcn_0006f468 ();
0x000707d8 nop |
0x000707dc lw gp, 0x18(sp) | gp = *(var_18h);
0x000707e0 sb zero, 0x7b(sp) | *(var_7bh) = 0;
0x000707e4 b 0x6fc80 | goto label_0;
| label_14:
0x00070900 lbu v0, 0xa5(sp) | v0 = *(var_a5h);
| if (v0 == 0) {
0x00070904 beql v0, zero, 0x70938 | goto label_22;
| }
0x00070908 addiu v0, s6, -0x20 | v0 = s6 + -0x20;
0x0007090c addiu v0, s6, -0x20 | v0 = s6 + -0x20;
| if (v0 != s6) {
0x00070910 bne v0, s6, 0x70938 | goto label_22;
| }
0x00070914 lw v0, 0x18(s5) | v0 = *((s5 + 6));
0x00070918 lw v0, -0x7f80(gp) | v0 = *((gp - 8160));
0x0007091c bnez v0, 0x707c8 |
| } while (v0 != 0);
0x00070920 move s7, s3 | s7 = s3;
0x00070924 move fp, s4 | fp = s4;
0x00070928 lw v0, (v0) | v0 = *(v0);
0x0007092c move s6, s5 | s6 = s5;
0x00070930 sw zero, (v0) | *(v0) = 0;
0x00070934 b 0x70648 | goto label_8;
| label_22:
0x00070938 sltiu v0, v0, 0xe0 | v0 = (v0 < 0xe0) ? 1 : 0;
0x0007093c lw v1, 0x40(sp) | v1 = *(var_40h);
| if (v0 == 0) {
0x00070940 beqz v0, 0x6fda8 | goto label_9;
| }
0x00070944 lw v0, 0x18(s5) | v0 = *((s5 + 6));
0x00070948 addiu a0, v1, -2 | a0 = v1 + -2;
0x0007094c slt a0, v0, a0 | a0 = (v0 < a0) ? 1 : 0;
0x00070950 addiu a2, v0, 1 | a2 = v0 + 1;
| if (a0 == 0) {
0x00070954 beqz a0, 0x6fda8 | goto label_9;
| }
0x00070958 lw s0, 0x14(s5) | s0 = *((s5 + 5));
0x0007095c lw a0, 0x20(s5) | a0 = *((s5 + 8));
0x00070960 sw a2, 0x18(s5) | *((s5 + 6)) = a2;
0x00070964 addu a1, a0, s0 | a1 = a0 + s0;
0x00070968 andi s6, s6, 0xff | s6 &= 0xff;
| if (s0 == v0) {
0x0007096c bne s0, v0, 0x709a0 |
0x00070970 sb s6, (a1) | *(a1) = s6;
0x00070974 lw v0, 0x20(s5) | v0 = *((s5 + 8));
0x00070978 lw a0, 0x14(s5) | a0 = *((s5 + 5));
0x0007097c lw s0, -0x7fcc(gp) | s0 = *(gp);
0x00070980 addu v0, v0, a0 | v0 += a0;
| /* fcn.0006e3e4 */
0x00070984 addiu s0, s0, -0x1c1c | s0 += -0x1c1c;
0x00070988 move t9, s0 | t9 = s0;
0x0007098c sb zero, 1(v0) | *((v0 + 1)) = 0;
0x00070990 bal 0x6e3e4 | fcn_0006e3e4 ();
0x00070994 lw gp, 0x18(sp) | gp = *(var_18h);
0x00070998 sb zero, 0x7b(sp) | *(var_7bh) = 0;
0x0007099c b 0x6fc80 | goto label_0;
| }
0x000709a0 lw t9, -0x7488(gp) | t9 = sym.imp.memmove;
0x000709a4 addiu s1, s0, 1 | s1 = s0 + 1;
0x000709a8 subu a2, a2, s0 | __asm ("subu a2, a2, s0");
0x000709ac addu a0, a0, s1 | a0 += s1;
0x000709b0 jalr t9 | t9 ();
0x000709b4 lw v0, 0x20(s5) | v0 = *((s5 + 8));
0x000709b8 lw gp, 0x18(sp) | gp = *(var_18h);
0x000709bc addu s0, v0, s0 | s0 = v0 + s0;
0x000709c0 sb s6, (s0) | *(s0) = s6;
0x000709c4 lw a0, 0x14(s5) | a0 = *((s5 + 5));
0x000709c8 lw v0, 0x18(s5) | v0 = *((s5 + 6));
0x000709cc sltu v0, a0, v0 | v0 = (a0 < v0) ? 1 : 0;
0x000709d0 lw t9, -0x7fcc(gp) | t9 = *(gp);
| if (v0 == 0) {
0x000709d4 beqz v0, 0x70a04 | goto label_23;
| }
0x000709d8 lw s0, -0x7fcc(gp) | s0 = *(gp);
| /* fcn.0006e3e4 */
0x000709dc addiu s0, s0, -0x1c1c | s0 += -0x1c1c;
| do {
0x000709e0 move t9, s0 | t9 = s0;
0x000709e4 bal 0x6e3e4 | fcn_0006e3e4 ();
0x000709e8 nop |
0x000709ec lw a0, 0x14(s5) | a0 = *((s5 + 5));
0x000709f0 lw v0, 0x18(s5) | v0 = *((s5 + 6));
0x000709f4 sltu v0, a0, v0 | v0 = (a0 < v0) ? 1 : 0;
0x000709f8 lw gp, 0x18(sp) | gp = *(var_18h);
0x000709fc bnez v0, 0x709e0 |
| } while (v0 != 0);
0x00070a00 lw t9, -0x7fcc(gp) | t9 = *(gp);
| /* fcn.0006e198 */
| label_23:
0x00070a04 addiu t9, t9, -0x1e68 | t9 += -0x1e68;
0x00070a08 subu a0, a0, s1 | __asm ("subu a0, a0, s1");
0x00070a0c bal 0x6e198 | fcn_0006e198 ();
0x00070a10 lw gp, 0x18(sp) | gp = *(var_18h);
0x00070a14 sb zero, 0x7b(sp) | *(var_7bh) = 0;
0x00070a18 b 0x6fc80 | goto label_0;
| }
; assembly | /* r2dec pseudo code output */
| /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/bin/busybox.nosuid @ 0x737c0 */
| #include <stdint.h>
|
; (fcn) fcn.000737c0 () | void fcn_000737c0 () {
| label_2:
0x000737c0 lui gp, 2 |
0x000737c4 addiu gp, gp, 0x6970 |
0x000737c8 addu gp, gp, t9 | gp += t9;
0x000737cc addiu sp, sp, -0xf0 |
0x000737d0 lw t9, -0x7834(gp) | t9 = sym.imp.__lxstat64;
0x000737d4 sw s4, 0xd8(sp) | *(var_d8h) = s4;
0x000737d8 lw s4, -0x74a4(gp) | s4 = *((gp - 7465));
0x000737dc sw gp, 0x18(sp) | *(var_18h) = gp;
0x000737e0 sw s1, 0xcc(sp) | *(var_cch) = s1;
0x000737e4 lw v0, (s4) | v0 = *(s4);
0x000737e8 sw s0, 0xc8(sp) | *(var_c8h) = s0;
0x000737ec sw ra, 0xec(sp) | *(var_ech) = ra;
0x000737f0 sw fp, 0xe8(sp) | *(var_e8h) = fp;
0x000737f4 sw s7, 0xe4(sp) | *(var_e4h) = s7;
0x000737f8 sw s6, 0xe0(sp) | *(var_e0h) = s6;
0x000737fc sw s5, 0xdc(sp) | *(var_dch) = s5;
0x00073800 sw s3, 0xd4(sp) | *(var_d4h) = s3;
0x00073804 sw s2, 0xd0(sp) | *(var_d0h) = s2;
0x00073808 move s0, a0 | s0 = a0;
0x0007380c move s1, a1 | s1 = a1;
0x00073810 addiu a2, sp, 0x20 | a2 = sp + 0x20;
0x00073814 move a1, a0 | a1 = a0;
0x00073818 sw v0, 0xc4(sp) | *(var_c4h) = v0;
0x0007381c addiu a0, zero, 3 | a0 = 3;
0x00073820 jalr t9 | t9 ();
0x00073824 lw gp, 0x18(sp) | gp = *(var_18h);
| if (v0 < 0) {
0x00073828 bgez v0, 0x73860 |
0x0007382c lw v1, -0x7f80(gp) | v1 = *((gp - 8160));
0x00073830 addiu v0, zero, 2 | v0 = 2;
0x00073834 lw v1, (v1) | v1 = *(v1);
0x00073838 lw v1, (v1) | v1 = *(v1);
0x0007383c lw a0, -0x7fcc(gp) | a0 = *(gp);
| if (v1 == v0) {
0x00073840 beq v1, v0, 0x73b78 | goto label_6;
| }
0x00073844 lw t9, -0x7efc(gp) | t9 = *(gp);
0x00073848 move a1, s0 | a1 = s0;
| /* str.cant_stat__s */
0x0007384c addiu a0, a0, 0x766c | a0 += 0x766c;
0x00073850 jalr t9 | t9 ();
0x00073854 addiu s2, zero, -1 | s2 = -1;
0x00073858 lw gp, 0x18(sp) | gp = *(var_18h);
0x0007385c b 0x73920 | goto label_1;
| }
0x00073860 lw v0, 0x38(sp) | v0 = *(var_38h);
0x00073864 addiu v1, zero, 0x4000 | v1 = aav.0x00004000;
0x00073868 andi v0, v0, 0xf000 | v0 &= 0xf000;
0x0007386c andi v0, s1, 4 | v0 = s1 & 4;
| if (v0 == v1) {
0x00073870 bne v0, v1, 0x73898 |
0x00073874 lw a0, -0x7f90(gp) | a0 = *(gp);
| if (v0 != 0) {
0x00073878 bnez v0, 0x739ac | goto label_7;
| }
0x0007387c lw t9, -0x7e70(gp) | t9 = *(gp);
0x00073880 move a1, s0 | a1 = s0;
| /* str._s_is_a_directory */
0x00073884 addiu a0, a0, -0x32e4 | a0 += -0x32e4;
0x00073888 jalr t9 | t9 ();
0x0007388c addiu s2, zero, -1 | s2 = -1;
0x00073890 lw gp, 0x18(sp) | gp = *(var_18h);
0x00073894 b 0x73920 | goto label_1;
| }
0x00073898 andi v0, s1, 8 | v0 = s1 & 8;
0x0007389c lw t9, -0x76f8(gp) | t9 = sym.imp.access;
| if (v0 != 0) {
0x000738a0 bnez v0, 0x73960 | goto label_8;
| }
0x000738a4 addiu a1, zero, 2 | a1 = 2;
0x000738a8 move a0, s0 | a0 = s0;
0x000738ac jalr t9 | t9 ();
0x000738b0 lw gp, 0x18(sp) | gp = *(var_18h);
| if (v0 >= 0) {
0x000738b4 bgez v0, 0x73960 | goto label_8;
| }
0x000738b8 lw v0, 0x38(sp) | v0 = *(var_38h);
0x000738bc ori v1, zero, 0xa000 | v1 = 0xa000;
0x000738c0 andi v0, v0, 0xf000 | v0 &= 0xf000;
0x000738c4 lw t9, -0x77f8(gp) | t9 = sym.imp.isatty;
| if (v0 == v1) {
0x000738c8 beq v0, v1, 0x73960 | goto label_8;
| }
0x000738cc move a0, zero | a0 = 0;
0x000738d0 jalr t9 | t9 ();
0x000738d4 lw gp, 0x18(sp) | gp = *(var_18h);
| if (v0 == 0) {
0x000738d8 beqz v0, 0x73960 | goto label_8;
| }
0x000738dc lw v0, -0x7fb4(gp) | v0 = *((gp - 8173));
| do {
0x000738e0 lw a2, -0x7f90(gp) | a2 = *(gp);
0x000738e4 lw t9, -0x77dc(gp) | t9 = sym.imp.__fprintf_chk
0x000738e8 lw a3, (v0) | a3 = *(v0);
0x000738ec lw v0, -0x747c(gp) | v0 = *((gp - 7455));
| /* str._s:_remove__s__ */
0x000738f0 addiu a2, a2, -0xb10 | a2 += -0xb10;
0x000738f4 addiu a1, zero, 1 | a1 = 1;
0x000738f8 lw a0, (v0) | a0 = *(v0);
0x000738fc sw s0, 0x10(sp) | *(var_10h) = s0;
0x00073900 jalr t9 | t9 ();
0x00073904 lw gp, 0x18(sp) | gp = *(var_18h);
0x00073908 lw t9, -0x7944(gp) | t9 = *(gp);
0x0007390c bal 0x681a0 | fcn_000681a0 ();
0x00073910 nop |
0x00073914 lw gp, 0x18(sp) | gp = *(var_18h);
| if (v0 != 0) {
0x00073918 bnez v0, 0x7396c | goto label_9;
| }
| label_0:
0x0007391c move s2, zero | s2 = 0;
| label_1:
0x00073920 lw a0, 0xc4(sp) | a0 = *(var_c4h);
0x00073924 lw v1, (s4) | v1 = *(s4);
0x00073928 move v0, s2 | v0 = s2;
| if (a0 != v1) {
0x0007392c bne a0, v1, 0x739a0 | goto label_10;
| }
0x00073930 lw ra, 0xec(sp) | ra = *(var_ech);
0x00073934 lw fp, 0xe8(sp) | fp = *(var_e8h);
0x00073938 lw s7, 0xe4(sp) | s7 = *(var_e4h);
0x0007393c lw s6, 0xe0(sp) | s6 = *(var_e0h);
0x00073940 lw s5, 0xdc(sp) | s5 = *(var_dch);
0x00073944 lw s4, 0xd8(sp) | s4 = *(var_d8h);
0x00073948 lw s3, 0xd4(sp) | s3 = *(var_d4h);
0x0007394c lw s2, 0xd0(sp) | s2 = *(var_d0h);
0x00073950 lw s1, 0xcc(sp) | s1 = *(var_cch);
0x00073954 lw s0, 0xc8(sp) | s0 = *(var_c8h);
0x00073958 addiu sp, sp, 0xf0 |
0x0007395c jr ra | return v0;
| label_8:
0x00073960 andi s1, s1, 0x10 | s1 &= 0x10;
0x00073964 lw v0, -0x7fb4(gp) | v0 = *((gp - 8173));
0x00073968 bnez s1, 0x738e0 |
| } while (s1 != 0);
| label_9:
0x0007396c lw t9, -0x753c(gp) | t9 = sym.imp.unlink;
0x00073970 move a0, s0 | a0 = s0;
0x00073974 jalr t9 | t9 ();
0x00073978 lw gp, 0x18(sp) | gp = *(var_18h);
| if (v0 >= 0) {
0x0007397c bgez v0, 0x7391c | goto label_0;
| }
0x00073980 lw a0, -0x7f90(gp) | a0 = *(gp);
0x00073984 lw t9, -0x7efc(gp) | t9 = *(gp);
0x00073988 move a1, s0 | a1 = s0;
| /* str.cant_remove__s */
0x0007398c addiu a0, a0, -0x2d54 | a0 += -0x2d54;
0x00073990 jalr t9 | t9 ();
0x00073994 addiu s2, zero, -1 | s2 = -1;
0x00073998 lw gp, 0x18(sp) | gp = *(var_18h);
0x0007399c b 0x73920 | goto label_1;
| label_10:
0x000739a0 lw t9, -0x750c(gp) | t9 = sym.imp.__stack_chk_fail;
0x000739a4 jalr t9 | t9 ();
0x000739a8 nop |
| label_7:
0x000739ac andi v0, s1, 8 | v0 = s1 & 8;
0x000739b0 lw t9, -0x76f8(gp) | t9 = sym.imp.access;
| if (v0 != 0) {
0x000739b4 bnez v0, 0x73aa8 | goto label_11;
| }
0x000739b8 addiu a1, zero, 2 | a1 = 2;
0x000739bc move a0, s0 | a0 = s0;
0x000739c0 jalr t9 | t9 ();
0x000739c4 lw gp, 0x18(sp) | gp = *(var_18h);
| if (v0 >= 0) {
0x000739c8 bgez v0, 0x73aa8 | goto label_11;
| }
0x000739cc lw t9, -0x77f8(gp) | t9 = sym.imp.isatty;
0x000739d0 move a0, zero | a0 = 0;
0x000739d4 jalr t9 | t9 ();
0x000739d8 lw gp, 0x18(sp) | gp = *(var_18h);
| if (v0 == 0) {
0x000739dc beqz v0, 0x73aa8 | goto label_11;
| }
| label_4:
0x000739e0 lw v0, -0x7fb4(gp) | v0 = *((gp - 8173));
0x000739e4 lw a2, -0x7f90(gp) | a2 = *(gp);
0x000739e8 lw t9, -0x77dc(gp) | t9 = sym.imp.__fprintf_chk
0x000739ec lw a3, (v0) | a3 = *(v0);
0x000739f0 lw v0, -0x747c(gp) | v0 = *((gp - 7455));
| /* str._s:_descend_into_directory__s__ */
0x000739f4 addiu a2, a2, -0xb64 | a2 += -0xb64;
0x000739f8 addiu a1, zero, 1 | a1 = 1;
0x000739fc lw a0, (v0) | a0 = *(v0);
0x00073a00 sw s0, 0x10(sp) | *(var_10h) = s0;
0x00073a04 jalr t9 | t9 ();
0x00073a08 lw gp, 0x18(sp) | gp = *(var_18h);
0x00073a0c lw t9, -0x7944(gp) | t9 = *(gp);
0x00073a10 bal 0x681a0 | fcn_000681a0 ();
0x00073a14 nop |
0x00073a18 lw gp, 0x18(sp) | gp = *(var_18h);
| if (v0 == 0) {
0x00073a1c beqz v0, 0x7391c | goto label_0;
| }
0x00073a20 lw t9, -0x785c(gp) | t9 = sym.imp.opendir;
| label_5:
0x00073a24 move a0, s0 | a0 = s0;
0x00073a28 jalr t9 | t9 ();
0x00073a2c move s3, v0 | s3 = v0;
0x00073a30 lw gp, 0x18(sp) | gp = *(var_18h);
| if (v0 == 0) {
0x00073a34 beqz v0, 0x73b70 | goto label_12;
| }
0x00073a38 lw fp, -0x7ba0(gp) | fp = *(gp);
0x00073a3c lw s7, -0x7940(gp) | s7 = *(gp);
0x00073a40 move s2, zero | s2 = 0;
0x00073a44 addiu s6, zero, -1 | s6 = -1;
| do {
| label_3:
0x00073a48 lw t9, -0x77c4(gp) | t9 = sym.imp.readdir64;
0x00073a4c move a0, s3 | a0 = s3;
0x00073a50 jalr t9 | t9 ();
0x00073a54 lw gp, 0x18(sp) | gp = *(var_18h);
| if (v0 == 0) {
0x00073a58 beqz v0, 0x73abc | goto label_13;
| }
0x00073a5c addiu a1, v0, 0x13 | a1 = v0 + 0x13;
0x00073a60 move t9, fp | t9 = fp;
0x00073a64 move a0, s0 | a0 = s0;
0x00073a68 bal 0x68750 | fcn_00068750 ();
0x00073a6c move s5, v0 | s5 = v0;
0x00073a70 lw gp, 0x18(sp) | gp = *(var_18h);
0x00073a74 beqz v0, 0x73a48 |
| } while (v0 == 0);
0x00073a78 move a1, s1 | a1 = s1;
0x00073a7c move t9, s7 | t9 = s7;
0x00073a80 move a0, v0 | a0 = v0;
0x00073a84 bal 0x737c0 | fcn_000737c0 ();
| goto label_2;
0x00073a88 lw gp, 0x18(sp) | gp = *(var_18h);
0x00073a8c slti v0, v0, 0 | v0 = (v0 < 0) ? 1 : 0;
0x00073a90 move a0, s5 | a0 = s5;
0x00073a94 lw t9, -0x7490(gp) | t9 = *((gp - 7460));
| if (v0 == 0) {
0x00073a98 movn s2, s6, v0 | s2 = s6;
| }
0x00073a9c jalr t9 | t9 ();
0x00073aa0 lw gp, 0x18(sp) | gp = *(var_18h);
0x00073aa4 b 0x73a48 | goto label_3;
| label_11:
0x00073aa8 andi v0, s1, 0x10 | v0 = s1 & 0x10;
0x00073aac lw t9, -0x785c(gp) | t9 = sym.imp.opendir;
| if (v0 != 0) {
0x00073ab0 bnez v0, 0x739e0 | goto label_4;
| }
0x00073ab4 b 0x73a24 | goto label_5;
0x00073ab8 nop |
| label_13:
0x00073abc lw t9, -0x784c(gp) | t9 = sym.imp.closedir;
0x00073ac0 move a0, s3 | a0 = s3;
0x00073ac4 jalr t9 | t9 ();
0x00073ac8 lw gp, 0x18(sp) | gp = *(var_18h);
| if (v0 < 0) {
0x00073acc bgez v0, 0x73af0 |
0x00073ad0 lw a0, -0x7f90(gp) | a0 = *(gp);
0x00073ad4 lw t9, -0x7efc(gp) | t9 = *(gp);
0x00073ad8 move a1, s0 | a1 = s0;
| /* str.cant_close__s */
0x00073adc addiu a0, a0, -0xb40 | a0 += -0xb40;
0x00073ae0 jalr t9 | t9 ();
0x00073ae4 addiu s2, zero, -1 | s2 = -1;
0x00073ae8 lw gp, 0x18(sp) | gp = *(var_18h);
0x00073aec b 0x73920 | goto label_1;
| }
0x00073af0 andi s1, s1, 0x10 | s1 &= 0x10;
0x00073af4 lw v0, -0x7fb4(gp) | v0 = *((gp - 8173));
| if (s1 == 0) {
0x00073af8 beqz s1, 0x73b38 | goto label_14;
| }
0x00073afc lw a2, -0x7f90(gp) | a2 = *(gp);
0x00073b00 lw t9, -0x77dc(gp) | t9 = sym.imp.__fprintf_chk
0x00073b04 lw a3, (v0) | a3 = *(v0);
0x00073b08 lw v0, -0x747c(gp) | v0 = *((gp - 7455));
| /* str._s:_remove_directory__s__ */
0x00073b0c addiu a2, a2, -0xb2c | a2 += -0xb2c;
0x00073b10 addiu a1, zero, 1 | a1 = 1;
0x00073b14 lw a0, (v0) | a0 = *(v0);
0x00073b18 sw s0, 0x10(sp) | *(var_10h) = s0;
0x00073b1c jalr t9 | t9 ();
0x00073b20 lw gp, 0x18(sp) | gp = *(var_18h);
0x00073b24 lw t9, -0x7944(gp) | t9 = *(gp);
0x00073b28 bal 0x681a0 | fcn_000681a0 ();
0x00073b2c nop |
0x00073b30 lw gp, 0x18(sp) | gp = *(var_18h);
| if (v0 == 0) {
0x00073b34 beqz v0, 0x73920 | goto label_1;
| }
| label_14:
0x00073b38 lw t9, -0x74b8(gp) | t9 = sym.imp.rmdir;
| if (s2 != 0) {
0x00073b3c bnez s2, 0x73b70 | goto label_12;
| }
0x00073b40 move a0, s0 | a0 = s0;
0x00073b44 jalr t9 | t9 ();
0x00073b48 lw gp, 0x18(sp) | gp = *(var_18h);
| if (v0 >= 0) {
0x00073b4c bgez v0, 0x7391c | goto label_0;
| }
0x00073b50 lw a0, -0x7f90(gp) | a0 = *(gp);
0x00073b54 lw t9, -0x7efc(gp) | t9 = *(gp);
0x00073b58 move a1, s0 | a1 = s0;
| /* str.cant_remove__s */
0x00073b5c addiu a0, a0, -0x2d54 | a0 += -0x2d54;
0x00073b60 jalr t9 | t9 ();
0x00073b64 addiu s2, zero, -1 | s2 = -1;
0x00073b68 lw gp, 0x18(sp) | gp = *(var_18h);
0x00073b6c b 0x73920 | goto label_1;
| label_12:
0x00073b70 addiu s2, zero, -1 | s2 = -1;
0x00073b74 b 0x73920 | goto label_1;
| label_6:
0x00073b78 andi s1, s1, 8 | s1 &= 8;
0x00073b7c lw a0, -0x7f90(gp) | a0 = *(gp);
| if (s1 != 0) {
0x00073b80 bnez s1, 0x7391c | goto label_0;
| }
0x00073b84 lw t9, -0x7efc(gp) | t9 = *(gp);
0x00073b88 move a1, s0 | a1 = s0;
| /* str.cant_remove__s */
0x00073b8c addiu a0, a0, -0x2d54 | a0 += -0x2d54;
0x00073b90 jalr t9 | t9 ();
0x00073b94 addiu s2, zero, -1 | s2 = -1;
0x00073b98 lw gp, 0x18(sp) | gp = *(var_18h);
0x00073b9c b 0x73920 | goto label_1;
| }
[*] Function fprintf used 15 times busybox.nosuid