[*] Binary protection state of libavformat.so.58.29.100
Full RELRO Canary found NX enabled DSO No RPATH No RUNPATH No Symbols
[*] Function printf tear down of libavformat.so.58.29.100
; assembly | /* r2dec pseudo code output */
| /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/lib/libavformat.so.58.29.100 @ 0x2f658 */
| #include <stdint.h>
|
; (fcn) fcn.0002f658 () | void fcn_0002f658 () {
0x0002f658 lui gp, 5 |
0x0002f65c addiu gp, gp, 0x6ab8 |
0x0002f660 addu gp, gp, t9 | gp += t9;
0x0002f664 addiu sp, sp, -0xd0 |
0x0002f668 lw v1, 0x1c(a0) | v1 = *((a0 + 7));
0x0002f66c sw s7, 0xc4(sp) | *(var_c4h) = s7;
0x0002f670 sw s5, 0xbc(sp) | *(var_bch) = s5;
0x0002f674 lw s7, 0xc(a0) | s7 = *((a0 + 3));
0x0002f678 move s5, a1 | s5 = a1;
0x0002f67c lw a1, 0x20(a1) | a1 = *((a1 + 8));
0x0002f680 sw s2, 0xb0(sp) | *(var_b0h) = s2;
0x0002f684 sll a3, a1, 2 | a3 = a1 << 2;
0x0002f688 move s2, a0 | s2 = a0;
0x0002f68c lw v0, 0x80(s7) | v0 = *((s7 + 32));
0x0002f690 addu a0, a3, a1 | a0 = a3 + a1;
0x0002f694 lw t0, -0x7904(gp) | t0 = *((gp - 7745));
0x0002f698 sll a0, a0, 3 | a0 <<= 3;
0x0002f69c addu v0, v0, a0 | v0 += a0;
0x0002f6a0 lwx v1, a3(v1) | __asm ("lwx v1, a3(v1)");
0x0002f6a4 lw a0, (v0) | a0 = *(v0);
0x0002f6a8 lw a3, (t0) | a3 = *(t0);
0x0002f6ac sw gp, 0x40(sp) | *(var_40h) = gp;
0x0002f6b0 sw fp, 0xc8(sp) | *(var_c8h) = fp;
0x0002f6b4 sw s6, 0xc0(sp) | *(var_c0h) = s6;
0x0002f6b8 sw s3, 0xb4(sp) | *(var_b4h) = s3;
0x0002f6bc sw ra, 0xcc(sp) | *(var_cch) = ra;
0x0002f6c0 sw s4, 0xb8(sp) | *(var_b8h) = s4;
0x0002f6c4 sw s1, 0xac(sp) | *(var_ach) = s1;
0x0002f6c8 sw s0, 0xa8(sp) | *(var_a8h) = s0;
0x0002f6cc sw t0, 0x4c(sp) | *(var_4ch) = t0;
0x0002f6d0 sw a2, 0xd8(sp) | *(arg_d8h) = a2;
0x0002f6d4 sw a3, 0xa4(sp) | *(var_a4h) = a3;
0x0002f6d8 lw s6, 0xb0(v1) | s6 = *((v1 + 44));
0x0002f6dc lw fp, 0x24(s5) | fp = *((s5 + 9));
0x0002f6e0 lw s3, 0x30(s5) | s3 = *((s5 + 12));
| if (a0 == 0) {
0x0002f6e4 beqz a0, 0x2f958 | goto label_20;
| }
0x0002f6e8 lw a0, 0xf0(s7) | a0 = *((s7 + 60));
0x0002f6ec lw v1, 0x10(s5) | v1 = *((s5 + 4));
0x0002f6f0 lw s1, 0x14(s5) | s1 = *((s5 + 5));
| if (a0 == 0) {
0x0002f6f4 beqz a0, 0x2f968 | goto label_21;
| }
| do {
0x0002f6f8 lw a0, 0xf4(s7) | a0 = *((s7 + 61));
0x0002f6fc sw a0, 0x58(sp) | *(var_58h) = a0;
| label_0:
0x0002f700 lui a0, 0x8000 | a0 = LIBAVFORMAT_58;
| if (v1 == 0) {
0x0002f704 beqz v1, 0x301a4 | goto label_22;
| }
0x0002f708 lw s0, 0x20(v0) | s0 = *((v0 + 8));
| label_17:
0x0002f70c lw a0, 0x24(v0) | a0 = *((v0 + 9));
0x0002f710 addu s0, v1, s0 | s0 = v1 + s0;
0x0002f714 lw v0, 0x58(s7) | v0 = *((s7 + 22));
0x0002f718 addu s1, s1, a0 | s1 += a0;
0x0002f71c sltu v1, s0, v1 | v1 = (s0 < v1) ? 1 : 0;
0x0002f720 addiu a0, zero, -1 | a0 = -1;
0x0002f724 addu s1, v1, s1 | s1 = v1 + s1;
| if (v0 == a0) {
0x0002f728 beq v0, a0, 0x2fb90 | goto label_23;
| }
0x0002f72c lw v0, 0x60(s7) | v0 = *((s7 + 24));
| label_4:
0x0002f730 lw v1, 0x64(s7) | v1 = *((s7 + 25));
0x0002f734 subu v0, s0, v0 | __asm ("subu v0, s0, v0");
0x0002f738 sltu a1, s0, v0 | a1 = (s0 < v0) ? 1 : 0;
0x0002f73c subu v1, s1, v1 | __asm ("subu v1, s1, v1");
0x0002f740 seh a0, v0 | __asm ("seh a0, v0");
0x0002f744 subu v1, v1, a1 | __asm ("subu v1, v1, a1");
0x0002f748 sra a1, a0, 0x1f | a1 = a0 >> 0x1f;
| if (a0 == v0) {
0x0002f74c bne a0, v0, 0x2f758 |
| if (a1 == v1) {
0x0002f750 beql a1, v1, 0x2f828 | goto label_18;
| }
0x0002f754 lw s4, 0x50(s7) | s4 = *((s7 + 20));
| }
0x0002f758 lw a2, -0x7fc4(gp) | a2 = *((gp - 8177));
0x0002f75c lw t9, -0x7a1c(gp) | t9 = *((gp - 7815));
0x0002f760 addiu a2, a2, 0x4468 | a2 += 0x4468;
0x0002f764 addiu a1, zero, 0x18 | a1 = 0x18;
0x0002f768 move a0, s2 | a0 = s2;
0x0002f76c jalr t9 | t9 ();
0x0002f770 lw gp, 0x40(sp) | gp = *(var_40h);
0x0002f774 lw s4, 0xc(s2) | s4 = *((s2 + 3));
0x0002f778 lw a0, 0x10(s2) | a0 = *((s2 + 4));
0x0002f77c lw t9, -0x7d90(gp) | t9 = *((gp - 8036));
0x0002f780 addiu a1, s4, 0x50 | a1 = s4 + 0x50;
0x0002f784 addiu t9, t9, -0x3458 | t9 += -0x3458;
0x0002f788 addiu a2, s4, 0xfc | a2 = s4 + 0xfc;
0x0002f78c bal 0x2cba8 | fcn_0002cba8 ();
0x0002f790 lw gp, 0x40(sp) | gp = *(var_40h);
0x0002f794 addiu v0, zero, -1 | v0 = -1;
0x0002f798 lw a0, 0x10(s2) | a0 = *((s2 + 4));
0x0002f79c sw v0, 0x58(s4) | *((s4 + 22)) = v0;
0x0002f7a0 lw t9, -0x7f48(gp) | t9 = *((gp - 8146));
0x0002f7a4 addiu v1, zero, -1 | v1 = -1;
0x0002f7a8 addiu v0, zero, 1 | v0 = 1;
0x0002f7ac move a3, zero | a3 = 0;
0x0002f7b0 move a2, zero | a2 = 0;
0x0002f7b4 sw v1, 0x5c(s4) | *((s4 + 23)) = v1;
0x0002f7b8 sw v0, 0x10(sp) | *(var_10h) = v0;
0x0002f7bc jalr t9 | t9 ();
0x0002f7c0 lw gp, 0x40(sp) | gp = *(var_40h);
0x0002f7c4 lw t4, 0x10(s5) | t4 = *((s5 + 4));
0x0002f7c8 lw t5, 0x14(s5) | t5 = *((s5 + 5));
0x0002f7cc lw t2, 8(s5) | t2 = *((s5 + 2));
0x0002f7d0 lw t3, 0xc(s5) | t3 = *((s5 + 3));
0x0002f7d4 lw a2, -0x7fc4(gp) | a2 = *((gp - 8177));
0x0002f7d8 lw t9, -0x7a1c(gp) | t9 = *((gp - 7815));
0x0002f7dc sw v0, 0x10(sp) | *(var_10h) = v0;
0x0002f7e0 sw v1, 0x14(sp) | *(var_14h) = v1;
0x0002f7e4 addiu a2, a2, 0x4490 | a2 += 0x4490;
0x0002f7e8 addiu a1, zero, 0x30 | a1 = 0x30;
0x0002f7ec move a0, s2 | a0 = s2;
0x0002f7f0 sw t4, 0x20(sp) | *(var_20h) = t4;
0x0002f7f4 sw t5, 0x24(sp) | *(var_24h) = t5;
0x0002f7f8 sw t2, 0x18(sp) | *(var_18h) = t2;
0x0002f7fc sw t3, 0x1c(sp) | *(var_1ch) = t3;
0x0002f800 jalr t9 | t9 ();
0x0002f804 lw gp, 0x40(sp) | gp = *(var_40h);
0x0002f808 lw t9, -0x7f44(gp) | t9 = *((gp - 8145));
0x0002f80c lw a0, 0x10(s2) | a0 = *((s2 + 4));
0x0002f810 jalr t9 | t9 ();
0x0002f814 lw v0, 0x58(s7) | v0 = *((s7 + 22));
0x0002f818 addiu v1, zero, -1 | v1 = -1;
0x0002f81c lw gp, 0x40(sp) | gp = *(var_40h);
| if (v0 == v1) {
0x0002f820 beq v0, v1, 0x30228 | goto label_24;
| }
| label_5:
0x0002f824 lw s4, 0x50(s7) | s4 = *((s7 + 20));
| label_18:
0x0002f828 lw t9, -0x7f48(gp) | t9 = *((gp - 8146));
0x0002f82c addiu v0, zero, 1 | v0 = 1;
0x0002f830 move a0, s4 | a0 = s4;
0x0002f834 sw v0, 0x10(sp) | *(var_10h) = v0;
0x0002f838 move a2, zero | a2 = 0;
0x0002f83c move a3, zero | a3 = 0;
0x0002f840 jalr t9 | t9 ();
0x0002f844 lw a1, (s6) | a1 = *(s6);
0x0002f848 addiu a0, zero, 3 | a0 = 3;
0x0002f84c lw gp, 0x40(sp) | gp = *(var_40h);
0x0002f850 sw v0, 0x50(sp) | *(var_50h) = v0;
0x0002f854 sw v1, 0x54(sp) | *(var_54h) = v1;
| if (a1 == a0) {
0x0002f858 beq a1, a0, 0x2f974 | goto label_25;
| }
0x0002f85c lw t9, -0x7d90(gp) | t9 = *((gp - 8036));
0x0002f860 andi fp, fp, 1 | fp &= 1;
0x0002f864 sw fp, 0x10(sp) | *(var_10h) = fp;
0x0002f868 move a3, s5 | a3 = s5;
0x0002f86c addiu a2, zero, 0xa3 | a2 = 0xa3;
0x0002f870 move a1, s4 | a1 = s4;
0x0002f874 addiu t9, t9, -0x1a28 | t9 += -0x1a28;
0x0002f878 move a0, s2 | a0 = s2;
0x0002f87c bal 0x2e5d8 | fcn_0002e5d8 ();
0x0002f880 lw v0, 0x10(s2) | v0 = *((s2 + 4));
0x0002f884 lw v0, 0x54(v0) | v0 = *((v0 + 21));
0x0002f888 andi v0, v0, 1 | v0 &= 1;
0x0002f88c lw gp, 0x40(sp) | gp = *(var_40h);
| if (v0 == 0) {
0x0002f890 beqz v0, 0x2fb88 | goto label_26;
| }
0x0002f894 lw v0, (s6) | v0 = *(s6);
0x0002f898 lw v0, 0xd8(sp) | v0 = *(arg_d8h);
| if (v0 == 0) {
0x0002f89c beqz v0, 0x2fcac | goto label_27;
| }
| label_11:
0x0002f8a0 sra s2, s3, 0x1f | s2 = s3 >> 0x1f;
| if (v0 == 0) {
0x0002f8a4 beqz v0, 0x2fab8 | goto label_3;
| }
| label_10:
0x0002f8a8 lw t9, -0x7a70(gp) | t9 = *((gp - 7836));
| if (s1 < 0) {
0x0002f8ac bltz s1, 0x2fb88 | goto label_26;
| }
0x0002f8b0 lw s4, 0x7c(s7) | s4 = *((s7 + 31));
0x0002f8b4 addiu a2, zero, 0x28 | a2 = 0x28;
0x0002f8b8 lw a1, 0xc(s4) | a1 = *((s4 + 3));
0x0002f8bc lw a0, 8(s4) | a0 = *((s4 + 2));
0x0002f8c0 addiu a1, a1, 1 | a1++;
0x0002f8c4 lw s6, 0x20(s5) | s6 = *((s5 + 8));
0x0002f8c8 lw fp, 0x58(s7) | fp = *((s7 + 22));
0x0002f8cc lw s2, 0x5c(s7) | s2 = *((s7 + 23));
0x0002f8d0 jalr t9 | t9 ();
0x0002f8d4 lw gp, 0x40(sp) | gp = *(var_40h);
| if (v0 == 0) {
0x0002f8d8 beqz v0, 0x301d0 | goto label_28;
| }
0x0002f8dc lw a0, 0xc(s4) | a0 = *((s4 + 3));
0x0002f8e0 lw a2, (s4) | a2 = *(s4);
0x0002f8e4 sll v1, a0, 2 | v1 = a0 << 2;
0x0002f8e8 addu v1, v1, a0 | v1 += a0;
0x0002f8ec sll v1, v1, 3 | v1 <<= 3;
0x0002f8f0 lw a3, 4(s4) | a3 = *((s4 + 1));
0x0002f8f4 addu v1, v0, v1 | v1 = v0 + v1;
0x0002f8f8 subu a2, fp, a2 | __asm ("subu a2, fp, a2");
0x0002f8fc sw v0, 8(s4) | *((s4 + 2)) = v0;
0x0002f900 subu s2, s2, a3 | __asm ("subu s2, s2, a3");
0x0002f904 sltu a1, fp, a2 | a1 = (fp < a2) ? 1 : 0;
0x0002f908 sw a2, 0x10(v1) | *((v1 + 4)) = a2;
0x0002f90c lw v0, 0x58(sp) | v0 = *(var_58h);
0x0002f910 lw a2, 0x50(sp) | a2 = *(var_50h);
0x0002f914 lw a3, 0x54(sp) | a3 = *(var_54h);
0x0002f918 subu a1, s2, a1 | __asm ("subu a1, s2, a1");
0x0002f91c addiu a0, a0, 1 | a0++;
0x0002f920 sw a1, 0x14(v1) | *((v1 + 5)) = a1;
0x0002f924 sw s0, (v1) | *(v1) = s0;
0x0002f928 sw s1, 4(v1) | *((v1 + 1)) = s1;
0x0002f92c sw s6, 8(v1) | *((v1 + 2)) = s6;
0x0002f930 sw v0, 0xc(v1) | *((v1 + 3)) = v0;
0x0002f934 sw a2, 0x18(v1) | *((v1 + 6)) = a2;
0x0002f938 sw a3, 0x1c(v1) | *((v1 + 7)) = a3;
0x0002f93c addiu a1, zero, -1 | a1 = -1;
0x0002f940 sw a0, 0xc(s4) | *((s4 + 3)) = a0;
0x0002f944 addiu a0, zero, -1 | a0 = -1;
0x0002f948 sra s2, s3, 0x1f | s2 = s3 >> 0x1f;
0x0002f94c sw a0, 0x20(v1) | *((v1 + 8)) = a0;
0x0002f950 sw a1, 0x24(v1) | *((v1 + 9)) = a1;
0x0002f954 b 0x2fab8 | goto label_3;
| label_20:
0x0002f958 lw a0, 0xf0(s7) | a0 = *((s7 + 60));
0x0002f95c lw v1, 8(s5) | v1 = *((s5 + 2));
0x0002f960 lw s1, 0xc(s5) | s1 = *((s5 + 3));
0x0002f964 bnez a0, 0x2f6f8 |
| } while (a0 != 0);
| label_21:
0x0002f968 addiu a0, a1, 1 | a0 = a1 + 1;
0x0002f96c sw a0, 0x58(sp) | *(var_58h) = a0;
0x0002f970 b 0x2f700 | goto label_0;
| label_25:
0x0002f974 lui v0, 1 | v0 = 0x10000;
0x0002f978 lw v1, 4(s6) | v1 = *((s6 + 1));
0x0002f97c addiu v0, v0, 0x7809 | v0 += 0x7809;
| if (v1 == v0) {
0x0002f980 beql v1, v0, 0x2fd68 | goto label_29;
| }
0x0002f984 lw v1, 0x20(s5) | v1 = *((s5 + 8));
0x0002f988 lw t2, 0x1c(s5) | t2 = *((s5 + 7));
0x0002f98c addiu t5, t2, 4 | t5 = t2 + 4;
0x0002f990 addiu t2, t2, 5 | t2 += 5;
0x0002f994 sra v0, t5, 0x1f | v0 = t5 >> 0x1f;
0x0002f998 sltu t3, t2, t5 | t3 = (t2 < t5) ? 1 : 0;
0x0002f99c addu t3, t3, v0 | t3 += v0;
0x0002f9a0 sll v1, t3, 0x19 | v1 = t3 << 0x19;
0x0002f9a4 srl v0, t2, 7 | v0 = t2 >> 7;
0x0002f9a8 or v0, v1, v0 | v0 = v1 | v0;
0x0002f9ac srl v1, t3, 7 | v1 = t3 >> 7;
0x0002f9b0 or v0, v0, v1 | v0 |= v1;
0x0002f9b4 addiu v1, zero, 0xe | v1 = 0xe;
| if (v0 == 0) {
0x0002f9b8 beqz v0, 0x30140 | goto label_30;
| }
0x0002f9bc addiu a3, zero, 1 | a3 = 1;
0x0002f9c0 sll t4, t3, 1 | t4 = t3 << 1;
| do {
0x0002f9c4 nor a1, zero, v1 | __asm ("nor a1, zero, v1");
0x0002f9c8 srlv v0, t2, v1 | v0 = t2 >> v1;
0x0002f9cc sllv a1, t4, a1 | a1 = t4 << a1;
0x0002f9d0 andi a2, v1, 0x20 | a2 = v1 & 0x20;
0x0002f9d4 srlv a0, t3, v1 | a0 = t3 >> v1;
0x0002f9d8 or v0, a1, v0 | v0 = a1 | v0;
| if (a2 == 0) {
0x0002f9dc movn v0, a0, a2 | v0 = a0;
| }
| if (a2 == 0) {
0x0002f9e0 movn a0, zero, a2 | a0 = 0;
| }
0x0002f9e4 or v0, v0, a0 | v0 |= a0;
0x0002f9e8 addiu a3, a3, 1 | a3++;
0x0002f9ec addiu v1, v1, 7 | v1 += 7;
0x0002f9f0 bnez v0, 0x2f9c4 |
| } while (v0 != 0);
| label_15:
0x0002f9f4 addu a3, t5, a3 | a3 = t5 + a3;
0x0002f9f8 addiu a3, a3, 0xb | a3 += 0xb;
0x0002f9fc lw t9, -0x7d90(gp) | t9 = *((gp - 8036));
0x0002fa00 sra v0, a3, 0x1f | v0 = a3 >> 0x1f;
0x0002fa04 sw v0, 0x14(sp) | *(var_14h) = v0;
0x0002fa08 sw a3, 0x10(sp) | *(var_10h) = a3;
0x0002fa0c addiu a2, zero, 0xa0 | a2 = 0xa0;
0x0002fa10 move a1, s4 | a1 = s4;
0x0002fa14 addiu t9, t9, -0x4cf0 | t9 += -0x4cf0;
0x0002fa18 addiu a0, sp, 0x90 | a0 = sp + 0x90;
0x0002fa1c bal 0x2b310 | fcn_0002b310 ();
0x0002fa20 lw v0, 0x44(s5) | v0 = *((s5 + 17));
0x0002fa24 lw gp, 0x40(sp) | gp = *(var_40h);
0x0002fa28 lw v1, 0x40(s5) | v1 = *((s5 + 16));
| if (v0 <= 0) {
0x0002fa2c blez v0, 0x2fc94 | goto label_31;
| }
0x0002fa30 move s3, v1 | s3 = v1;
0x0002fa34 lw t9, -0x7d90(gp) | t9 = *((gp - 8036));
| label_8:
0x0002fa38 addiu v0, zero, 1 | v0 = 1;
| label_9:
0x0002fa3c sw v0, 0x10(sp) | *(var_10h) = v0;
0x0002fa40 move a3, s5 | a3 = s5;
0x0002fa44 addiu a2, zero, 0xa1 | a2 = 0xa1;
0x0002fa48 move a1, s4 | a1 = s4;
0x0002fa4c addiu t9, t9, -0x1a28 | t9 += -0x1a28;
0x0002fa50 move a0, s2 | a0 = s2;
0x0002fa54 bal 0x2e5d8 | fcn_0002e5d8 ();
0x0002fa58 lw gp, 0x40(sp) | gp = *(var_40h);
0x0002fa5c sra s6, s3, 0x1f | s6 = s3 >> 0x1f;
0x0002fa60 move a2, s3 | a2 = s3;
0x0002fa64 lw t9, -0x7d90(gp) | t9 = *((gp - 8036));
0x0002fa68 move a3, s6 | a3 = s6;
0x0002fa6c addiu a1, zero, 0x9b | a1 = 0x9b;
0x0002fa70 addiu t9, t9, -0x46dc | t9 += -0x46dc;
0x0002fa74 move a0, s4 | a0 = s4;
0x0002fa78 bal 0x2b924 | fcn_0002b924 ();
0x0002fa7c lw gp, 0x40(sp) | gp = *(var_40h);
0x0002fa80 lw v0, 0x98(sp) | v0 = *(var_98h);
0x0002fa84 lw a2, 0x90(sp) | a2 = *(var_90h);
0x0002fa88 lw t9, -0x7d90(gp) | t9 = *((gp - 8036));
0x0002fa8c lw a3, 0x94(sp) | a3 = *(var_94h);
0x0002fa90 sw v0, 0x10(sp) | *(var_10h) = v0;
0x0002fa94 addiu t9, t9, -0x4f74 | t9 += -0x4f74;
0x0002fa98 move a0, s4 | a0 = s4;
0x0002fa9c bal 0x2b08c | fcn_0002b08c ();
0x0002faa0 lw gp, 0x40(sp) | gp = *(var_40h);
| label_12:
0x0002faa4 lw v0, 0x10(s2) | v0 = *((s2 + 4));
0x0002faa8 lw v0, 0x54(v0) | v0 = *((v0 + 21));
0x0002faac andi v0, v0, 1 | v0 &= 1;
0x0002fab0 move s2, s6 | s2 = s6;
| if (v0 != 0) {
0x0002fab4 bnez v0, 0x2fcbc | goto label_32;
| }
| label_3:
0x0002fab8 addu s3, s0, s3 | s3 = s0 + s3;
0x0002fabc sltu s0, s3, s0 | s0 = (s3 < s0) ? 1 : 0;
0x0002fac0 addu s1, s1, s2 | s1 += s2;
0x0002fac4 lw v1, 0x74(s7) | v1 = *((s7 + 29));
0x0002fac8 addu s0, s0, s1 | s0 += s1;
0x0002facc slt v0, v1, s0 | v0 = (v1 < s0) ? 1 : 0;
0x0002fad0 lw a0, 0x70(s7) | a0 = *((s7 + 28));
| if (v0 != 0) {
0x0002fad4 bnez v0, 0x2fb68 | goto label_33;
| }
0x0002fad8 sltu v0, a0, s3 | v0 = (a0 < s3) ? 1 : 0;
| if (s0 == v1) {
0x0002fadc beq s0, v1, 0x2fb60 | goto label_34;
| }
0x0002fae0 lw v0, 0x4f8(s7) | v0 = *((s7 + 318));
| do {
0x0002fae4 sw a0, 0x70(s7) | *((s7 + 28)) = a0;
0x0002fae8 sw v1, 0x74(s7) | *((s7 + 29)) = v1;
| if (v0 == 0) {
0x0002faec beqz v0, 0x2fb80 | goto label_35;
| }
| label_1:
0x0002faf0 lw v1, 0x20(s5) | v1 = *((s5 + 8));
0x0002faf4 sll v1, v1, 3 | v1 <<= 3;
0x0002faf8 addu v0, v0, v1 | v0 += v1;
0x0002fafc lw v1, 4(v0) | v1 = *((v0 + 1));
0x0002fb00 slt a1, v1, s0 | a1 = (v1 < s0) ? 1 : 0;
0x0002fb04 lw a0, (v0) | a0 = *(v0);
| if (a1 != 0) {
0x0002fb08 bnez a1, 0x2fc88 | goto label_36;
| }
0x0002fb0c sltu a1, a0, s3 | a1 = (a0 < s3) ? 1 : 0;
| if (s0 == v1) {
0x0002fb10 beq s0, v1, 0x2fc80 | goto label_37;
| }
| label_7:
0x0002fb14 sw a0, (v0) | *(v0) = a0;
| label_6:
0x0002fb18 sw v1, 4(v0) | *((v0 + 1)) = v1;
0x0002fb1c move v0, zero | v0 = 0;
| label_2:
0x0002fb20 lw v1, 0x4c(sp) | v1 = *(var_4ch);
0x0002fb24 lw a0, 0xa4(sp) | a0 = *(var_a4h);
0x0002fb28 lw v1, (v1) | v1 = *(v1);
0x0002fb2c lw ra, 0xcc(sp) | ra = *(var_cch);
| if (a0 != v1) {
0x0002fb30 bne a0, v1, 0x301d8 | goto label_38;
| }
0x0002fb34 lw fp, 0xc8(sp) | fp = *(var_c8h);
0x0002fb38 lw s7, 0xc4(sp) | s7 = *(var_c4h);
0x0002fb3c lw s6, 0xc0(sp) | s6 = *(var_c0h);
0x0002fb40 lw s5, 0xbc(sp) | s5 = *(var_bch);
0x0002fb44 lw s4, 0xb8(sp) | s4 = *(var_b8h);
0x0002fb48 lw s3, 0xb4(sp) | s3 = *(var_b4h);
0x0002fb4c lw s2, 0xb0(sp) | s2 = *(var_b0h);
0x0002fb50 lw s1, 0xac(sp) | s1 = *(var_ach);
0x0002fb54 lw s0, 0xa8(sp) | s0 = *(var_a8h);
0x0002fb58 addiu sp, sp, 0xd0 |
0x0002fb5c jr ra | return v1;
| label_34:
0x0002fb60 beql v0, zero, 0x2fae4 |
| } while (v0 == 0);
0x0002fb64 lw v0, 0x4f8(s7) | v0 = *((s7 + 318));
| label_33:
0x0002fb68 lw v0, 0x4f8(s7) | v0 = *((s7 + 318));
0x0002fb6c move a0, s3 | a0 = s3;
0x0002fb70 move v1, s0 | v1 = s0;
0x0002fb74 sw a0, 0x70(s7) | *((s7 + 28)) = a0;
0x0002fb78 sw v1, 0x74(s7) | *((s7 + 29)) = v1;
| if (v0 != 0) {
0x0002fb7c bnez v0, 0x2faf0 | goto label_1;
| }
| label_35:
0x0002fb80 move v0, zero | v0 = 0;
0x0002fb84 b 0x2fb20 | goto label_2;
| label_26:
0x0002fb88 sra s2, s3, 0x1f | s2 = s3 >> 0x1f;
0x0002fb8c b 0x2fab8 | goto label_3;
| label_23:
0x0002fb90 lw v1, 0x5c(s7) | v1 = *((s7 + 23));
0x0002fb94 lw v0, 0x60(s7) | v0 = *((s7 + 24));
| if (v1 == v0) {
0x0002fb98 bnel v1, v0, 0x2f730 | goto label_4;
| }
0x0002fb9c lw t9, -0x7f48(gp) | t9 = *((gp - 8146));
| label_19:
0x0002fba0 lw a0, 0x10(s2) | a0 = *((s2 + 4));
0x0002fba4 addiu v0, zero, 1 | v0 = 1;
0x0002fba8 move a2, zero | a2 = 0;
0x0002fbac move a3, zero | a3 = 0;
0x0002fbb0 sw v0, 0x10(sp) | *(var_10h) = v0;
0x0002fbb4 jalr t9 | t9 ();
0x0002fbb8 lw gp, 0x40(sp) | gp = *(var_40h);
0x0002fbbc sw v0, 0x58(s7) | *((s7 + 22)) = v0;
0x0002fbc0 sw v1, 0x5c(s7) | *((s7 + 23)) = v1;
0x0002fbc4 lw t9, -0x7fa8(gp) | t9 = *((gp - 8170));
0x0002fbc8 addiu a0, s7, 0x50 | a0 = s7 + 0x50;
0x0002fbcc lw s4, 0x10(s2) | s4 = *((s2 + 4));
0x0002fbd0 bal 0x1187c | sym_avio_open_dyn_buf ();
0x0002fbd4 lw gp, 0x40(sp) | gp = *(var_40h);
| if (v0 < 0) {
0x0002fbd8 bltz v0, 0x2fb20 | goto label_2;
| }
0x0002fbdc lw t9, -0x7f88(gp) | t9 = *((gp - 8162));
0x0002fbe0 addiu a1, zero, 0x1f | a1 = 0x1f;
0x0002fbe4 move a0, s4 | a0 = s4;
0x0002fbe8 jalr t9 | t9 ();
0x0002fbec lw gp, 0x40(sp) | gp = *(var_40h);
0x0002fbf0 addiu a1, zero, 0x43 | a1 = 0x43;
0x0002fbf4 lw t9, -0x7f88(gp) | t9 = *((gp - 8162));
0x0002fbf8 move a0, s4 | a0 = s4;
0x0002fbfc jalr t9 | t9 ();
0x0002fc00 lw gp, 0x40(sp) | gp = *(var_40h);
0x0002fc04 addiu a1, zero, 0xb6 | a1 = 0xb6;
0x0002fc08 lw t9, -0x7f88(gp) | t9 = *((gp - 8162));
0x0002fc0c move a0, s4 | a0 = s4;
0x0002fc10 jalr t9 | t9 ();
0x0002fc14 lw gp, 0x40(sp) | gp = *(var_40h);
0x0002fc18 addiu a1, zero, 0x75 | a1 = 0x75;
0x0002fc1c lw t9, -0x7f88(gp) | t9 = *((gp - 8162));
0x0002fc20 move a0, s4 | a0 = s4;
0x0002fc24 jalr t9 | t9 ();
0x0002fc28 lw v0, 0xfc(s7) | v0 = *((s7 + 63));
0x0002fc2c lw gp, 0x40(sp) | gp = *(var_40h);
| if (v0 != 0) {
0x0002fc30 bnez v0, 0x30118 | goto label_39;
| }
| label_13:
0x0002fc34 slti s4, s1, 0 | s4 = (s1 < 0) ? 1 : 0;
0x0002fc38 lw t9, -0x7d90(gp) | t9 = *((gp - 8036));
0x0002fc3c move v0, s0 | v0 = s0;
0x0002fc40 move v1, s1 | v1 = s1;
| if (s4 == 0) {
0x0002fc44 movn v0, zero, s4 | v0 = 0;
| }
| if (s4 == 0) {
0x0002fc48 movn v1, zero, s4 | v1 = 0;
| }
0x0002fc4c lw a0, 0x50(s7) | a0 = *((s7 + 20));
0x0002fc50 move a2, v0 | a2 = v0;
0x0002fc54 sw v0, 0x50(sp) | *(var_50h) = v0;
0x0002fc58 move a3, v1 | a3 = v1;
0x0002fc5c addiu a1, zero, 0xe7 | a1 = 0xe7;
0x0002fc60 addiu t9, t9, -0x46dc | t9 += -0x46dc;
0x0002fc64 move s4, v1 | s4 = v1;
0x0002fc68 bal 0x2b924 | fcn_0002b924 ();
0x0002fc6c lw v0, 0x50(sp) | v0 = *(var_50h);
0x0002fc70 lw gp, 0x40(sp) | gp = *(var_40h);
0x0002fc74 sw v0, 0x60(s7) | *((s7 + 24)) = v0;
0x0002fc78 sw s4, 0x64(s7) | *((s7 + 25)) = s4;
0x0002fc7c b 0x2f824 | goto label_5;
| if (a1 == 0) {
| label_37:
0x0002fc80 beql a1, zero, 0x2fb18 | goto label_6;
| }
0x0002fc84 sw a0, (v0) | *(v0) = a0;
| label_36:
0x0002fc88 move a0, s3 | a0 = s3;
0x0002fc8c move v1, s0 | v1 = s0;
0x0002fc90 b 0x2fb14 | goto label_7;
| label_31:
0x0002fc94 lw t9, -0x7d90(gp) | t9 = *((gp - 8036));
| if (v0 != 0) {
0x0002fc98 bnez v0, 0x2fa38 | goto label_8;
| }
0x0002fc9c move s3, v1 | s3 = v1;
| if (v1 == 0) {
0x0002fca0 bnel v1, zero, 0x2fa38 | goto label_8;
| }
0x0002fca4 addiu v0, zero, 1 | v0 = 1;
0x0002fca8 b 0x2fa3c | goto label_9;
| if (fp != 0) {
| label_27:
0x0002fcac bnez fp, 0x2f8a8 | goto label_10;
| }
0x0002fcb0 nop |
0x0002fcb4 b 0x2f8a0 | goto label_11;
0x0002fcb8 nop |
| label_32:
0x0002fcbc lw t9, -0x7a70(gp) | t9 = *((gp - 7836));
| if (s1 < 0) {
0x0002fcc0 bltz s1, 0x2fab8 | goto label_3;
| }
0x0002fcc4 lw s4, 0x7c(s7) | s4 = *((s7 + 31));
0x0002fcc8 lw a3, 0x20(s5) | a3 = *((s5 + 8));
0x0002fccc lw a1, 0xc(s4) | a1 = *((s4 + 3));
0x0002fcd0 lw a0, 8(s4) | a0 = *((s4 + 2));
0x0002fcd4 addiu a2, zero, 0x28 | a2 = 0x28;
0x0002fcd8 addiu a1, a1, 1 | a1++;
0x0002fcdc sw a3, 0x5c(sp) | *(var_5ch) = a3;
0x0002fce0 lw fp, 0x58(s7) | fp = *((s7 + 22));
0x0002fce4 lw s6, 0x5c(s7) | s6 = *((s7 + 23));
0x0002fce8 jalr t9 | t9 ();
0x0002fcec lw gp, 0x40(sp) | gp = *(var_40h);
| if (v0 == 0) {
0x0002fcf0 beqz v0, 0x301d0 | goto label_28;
| }
0x0002fcf4 lw a0, 0xc(s4) | a0 = *((s4 + 3));
0x0002fcf8 lw a1, (s4) | a1 = *(s4);
0x0002fcfc sll v1, a0, 2 | v1 = a0 << 2;
0x0002fd00 addu v1, v1, a0 | v1 += a0;
0x0002fd04 sll v1, v1, 3 | v1 <<= 3;
0x0002fd08 lw a2, 4(s4) | a2 = *((s4 + 1));
0x0002fd0c addu v1, v0, v1 | v1 = v0 + v1;
0x0002fd10 lw a3, 0x5c(sp) | a3 = *(var_5ch);
0x0002fd14 subu a1, fp, a1 | __asm ("subu a1, fp, a1");
0x0002fd18 sw v0, 8(s4) | *((s4 + 2)) = v0;
0x0002fd1c subu s6, s6, a2 | __asm ("subu s6, s6, a2");
0x0002fd20 sw a3, 8(v1) | *((v1 + 2)) = a3;
0x0002fd24 sltu fp, fp, a1 | fp = (fp < a1) ? 1 : 0;
0x0002fd28 lw v0, 0x58(sp) | v0 = *(var_58h);
0x0002fd2c lw a2, 0x50(sp) | a2 = *(var_50h);
0x0002fd30 lw a3, 0x54(sp) | a3 = *(var_54h);
0x0002fd34 subu s6, s6, fp | __asm ("subu s6, s6, fp");
0x0002fd38 addiu a0, a0, 1 | a0++;
0x0002fd3c sw s0, (v1) | *(v1) = s0;
0x0002fd40 sw s1, 4(v1) | *((v1 + 1)) = s1;
0x0002fd44 sw v0, 0xc(v1) | *((v1 + 3)) = v0;
0x0002fd48 sw a1, 0x10(v1) | *((v1 + 4)) = a1;
0x0002fd4c sw s6, 0x14(v1) | *((v1 + 5)) = s6;
0x0002fd50 sw a2, 0x18(v1) | *((v1 + 6)) = a2;
0x0002fd54 sw a3, 0x1c(v1) | *((v1 + 7)) = a3;
0x0002fd58 sw a0, 0xc(s4) | *((s4 + 3)) = a0;
0x0002fd5c sw s3, 0x20(v1) | *((v1 + 8)) = s3;
0x0002fd60 sw s2, 0x24(v1) | *((v1 + 9)) = s2;
0x0002fd64 b 0x2fab8 | goto label_3;
| label_29:
0x0002fd68 lw a0, 0xc(s2) | a0 = *((s2 + 3));
0x0002fd6c sll v0, v1, 2 | v0 = v1 << 2;
0x0002fd70 addu v0, v0, v1 | v0 += v1;
0x0002fd74 lw v1, 0x80(a0) | v1 = *((a0 + 32));
0x0002fd78 sll v0, v0, 3 | v0 <<= 3;
0x0002fd7c sw a0, 0x60(sp) | *(var_60h) = a0;
0x0002fd80 lwx v0, v0(v1) | __asm ("lwx v0, v0(v1)");
0x0002fd84 lw v0, 0x10(s5) | v0 = *((s5 + 4));
| if (v0 == 0) {
0x0002fd88 bnel v0, zero, 0x30138 | goto label_40;
| }
0x0002fd8c lw v0, 8(s5) | v0 = *((s5 + 2));
0x0002fd90 sw v0, 0x64(sp) | *(var_64h) = v0;
| label_14:
0x0002fd94 lw t9, -0x7988(gp) | t9 = *((gp - 7778));
0x0002fd98 addiu a2, sp, 0x88 | a2 = sp + 0x88;
0x0002fd9c addiu a1, zero, 0x10 | a1 = 0x10;
0x0002fda0 move a0, s5 | a0 = s5;
0x0002fda4 sw zero, 0x88(sp) | *(var_88h) = 0;
0x0002fda8 jalr t9 | t9 ();
0x0002fdac lw gp, 0x40(sp) | gp = *(var_40h);
0x0002fdb0 addiu a1, zero, 0x11 | a1 = 0x11;
0x0002fdb4 addiu a2, sp, 0x8c | a2 = sp + 0x8c;
0x0002fdb8 lw t9, -0x7988(gp) | t9 = *((gp - 7778));
0x0002fdbc move a0, s5 | a0 = s5;
0x0002fdc0 sw v0, 0x68(sp) | *(var_68h) = v0;
0x0002fdc4 sw zero, 0x8c(sp) | *(var_8ch) = 0;
0x0002fdc8 jalr t9 | t9 ();
0x0002fdcc addiu fp, zero, 1 | fp = 1;
0x0002fdd0 lw gp, 0x40(sp) | gp = *(var_40h);
0x0002fdd4 lw v1, 0x1c(s5) | v1 = *((s5 + 7));
0x0002fdd8 lw a0, 0x8c(sp) | a0 = *(var_8ch);
0x0002fddc sw fp, 0x10(sp) | *(var_10h) = fp;
0x0002fde0 lw s3, 0x88(sp) | s3 = *(var_88h);
0x0002fde4 lw t6, 8(s5) | t6 = *((s5 + 2));
0x0002fde8 lw t7, 0xc(s5) | t7 = *((s5 + 3));
0x0002fdec lw t4, 0x10(s5) | t4 = *((s5 + 4));
0x0002fdf0 lw t5, 0x14(s5) | t5 = *((s5 + 5));
0x0002fdf4 lw t0, 0x30(s5) | t0 = *((s5 + 12));
0x0002fdf8 lw t1, 0x34(s5) | t1 = *((s5 + 13));
0x0002fdfc addu s3, s3, a0 | s3 += a0;
0x0002fe00 lw t9, -0x7f48(gp) | t9 = *((gp - 8146));
0x0002fe04 move a2, zero | a2 = 0;
0x0002fe08 move a3, zero | a3 = 0;
0x0002fe0c move a0, s4 | a0 = s4;
0x0002fe10 sw t6, 0x80(sp) | *(var_80h) = t6;
0x0002fe14 sw t7, 0x84(sp) | *(var_84h) = t7;
0x0002fe18 sw t4, 0x78(sp) | *(var_78h) = t4;
0x0002fe1c sw t5, 0x7c(sp) | *(var_7ch) = t5;
0x0002fe20 sw t0, 0x70(sp) | *(var_70h) = t0;
0x0002fe24 sw t1, 0x74(sp) | *(var_74h) = t1;
0x0002fe28 addiu s3, s3, 2 | s3 += 2;
0x0002fe2c sw v0, 0x6c(sp) | *(var_6ch) = v0;
0x0002fe30 addu s3, s3, v1 | s3 += v1;
0x0002fe34 jalr t9 | t9 ();
0x0002fe38 lw a0, 0x20(s5) | a0 = *((s5 + 8));
0x0002fe3c lw gp, 0x40(sp) | gp = *(var_40h);
0x0002fe40 addiu a0, a0, 1 | a0++;
0x0002fe44 sw a0, 0x38(sp) | *(var_38h) = a0;
0x0002fe48 lw a0, 0x60(sp) | a0 = *(var_60h);
0x0002fe4c sw fp, 0x3c(sp) | *(var_3ch) = fp;
0x0002fe50 lw t0, 0x70(sp) | t0 = *(var_70h);
0x0002fe54 lw a1, 0x5c(a0) | a1 = *((a0 + 23));
0x0002fe58 lw a2, -0x7fc4(gp) | a2 = *((gp - 8177));
0x0002fe5c lw a0, 0x58(a0) | a0 = *((a0 + 22));
0x0002fe60 lw t1, 0x74(sp) | t1 = *(var_74h);
0x0002fe64 lw t4, 0x78(sp) | t4 = *(var_78h);
0x0002fe68 lw t5, 0x7c(sp) | t5 = *(var_7ch);
0x0002fe6c lw t6, 0x80(sp) | t6 = *(var_80h);
0x0002fe70 lw t7, 0x84(sp) | t7 = *(var_84h);
0x0002fe74 addiu t2, s3, 4 | t2 = s3 + 4;
0x0002fe78 lw t9, -0x7a1c(gp) | t9 = *((gp - 7815));
0x0002fe7c sw t2, 0x5c(sp) | *(var_5ch) = t2;
0x0002fe80 sw a0, 0x30(sp) | *(var_30h) = a0;
0x0002fe84 sw a1, 0x34(sp) | *(var_34h) = a1;
0x0002fe88 sw v0, 0x28(sp) | *(var_28h) = v0;
0x0002fe8c sw v1, 0x2c(sp) | *(var_2ch) = v1;
0x0002fe90 sw t0, 0x20(sp) | *(var_20h) = t0;
0x0002fe94 sw t1, 0x24(sp) | *(var_24h) = t1;
0x0002fe98 sw t4, 0x18(sp) | *(var_18h) = t4;
0x0002fe9c sw t5, 0x1c(sp) | *(var_1ch) = t5;
0x0002fea0 sw t6, 0x10(sp) | *(var_10h) = t6;
0x0002fea4 sw t7, 0x14(sp) | *(var_14h) = t7;
0x0002fea8 move a3, s3 | a3 = s3;
0x0002feac addiu a2, a2, 0x4388 | a2 += 0x4388;
0x0002feb0 addiu a1, zero, 0x30 | a1 = 0x30;
0x0002feb4 move a0, s2 | a0 = s2;
0x0002feb8 jalr t9 | t9 ();
0x0002febc lw t2, 0x5c(sp) | t2 = *(var_5ch);
0x0002fec0 addiu fp, s3, 5 | fp = s3 + 5;
0x0002fec4 sra t0, t2, 0x1f | t0 = t2 >> 0x1f;
0x0002fec8 sltu s6, fp, t2 | s6 = (fp < t2) ? 1 : 0;
0x0002fecc addu s6, s6, t0 | s6 += t0;
0x0002fed0 sll v1, s6, 0x19 | v1 = s6 << 0x19;
0x0002fed4 srl v0, fp, 7 | v0 = fp >> 7;
0x0002fed8 or v0, v1, v0 | v0 = v1 | v0;
0x0002fedc srl v1, s6, 7 | v1 = s6 >> 7;
0x0002fee0 or v0, v0, v1 | v0 |= v1;
0x0002fee4 lw gp, 0x40(sp) | gp = *(var_40h);
| if (v0 == 0) {
0x0002fee8 beqz v0, 0x30148 | goto label_41;
| }
0x0002feec addiu v1, zero, 0xe | v1 = 0xe;
0x0002fef0 addiu a3, zero, 1 | a3 = 1;
0x0002fef4 sll s3, s6, 1 | s3 = s6 << 1;
| do {
0x0002fef8 nor a1, zero, v1 | __asm ("nor a1, zero, v1");
0x0002fefc srlv v0, fp, v1 | v0 = fp >> v1;
0x0002ff00 sllv a1, s3, a1 | a1 = s3 << a1;
0x0002ff04 andi a2, v1, 0x20 | a2 = v1 & 0x20;
0x0002ff08 srlv a0, s6, v1 | a0 = s6 >> v1;
0x0002ff0c or v0, a1, v0 | v0 = a1 | v0;
| if (a2 == 0) {
0x0002ff10 movn v0, a0, a2 | v0 = a0;
| }
| if (a2 == 0) {
0x0002ff14 movn a0, zero, a2 | a0 = 0;
| }
0x0002ff18 or v0, v0, a0 | v0 |= a0;
0x0002ff1c addiu a3, a3, 1 | a3++;
0x0002ff20 addiu v1, v1, 7 | v1 += 7;
0x0002ff24 bnez v0, 0x2fef8 |
| } while (v0 != 0);
0x0002ff28 addu a3, t2, a3 | a3 = t2 + a3;
0x0002ff2c addiu a3, a3, 0xb | a3 += 0xb;
0x0002ff30 lw t9, -0x7d90(gp) | t9 = *((gp - 8036));
0x0002ff34 sra v0, a3, 0x1f | v0 = a3 >> 0x1f;
0x0002ff38 sw t0, 0x70(sp) | *(var_70h) = t0;
0x0002ff3c sw t2, 0x5c(sp) | *(var_5ch) = t2;
0x0002ff40 sw a3, 0x10(sp) | *(var_10h) = a3;
0x0002ff44 addiu a2, zero, 0xa0 | a2 = 0xa0;
0x0002ff48 move a1, s4 | a1 = s4;
0x0002ff4c addiu a0, sp, 0x90 | a0 = sp + 0x90;
0x0002ff50 addiu t9, t9, -0x4cf0 | t9 += -0x4cf0;
0x0002ff54 sw v0, 0x14(sp) | *(var_14h) = v0;
0x0002ff58 bal 0x2b310 | fcn_0002b310 ();
0x0002ff5c lw gp, 0x40(sp) | gp = *(var_40h);
0x0002ff60 addiu a1, zero, 0xa1 | a1 = 0xa1;
0x0002ff64 lw t9, -0x7f88(gp) | t9 = *((gp - 8162));
0x0002ff68 move a0, s4 | a0 = s4;
0x0002ff6c jalr t9 | t9 ();
0x0002ff70 lw gp, 0x40(sp) | gp = *(var_40h);
0x0002ff74 addiu a3, zero, 0xe | a3 = 0xe;
0x0002ff78 addiu v1, zero, 1 | v1 = 1;
0x0002ff7c lw t2, 0x5c(sp) | t2 = *(var_5ch);
0x0002ff80 lw t0, 0x70(sp) | t0 = *(var_70h);
0x0002ff84 b 0x2ff8c |
| while (v0 != 0) {
0x0002ff88 move v1, a0 | v1 = a0;
0x0002ff8c nor a2, zero, a3 | __asm ("nor a2, zero, a3");
0x0002ff90 srlv v0, fp, a3 | v0 = fp >> a3;
0x0002ff94 sllv a2, s3, a2 | a2 = s3 << a2;
0x0002ff98 andi t3, a3, 0x20 | t3 = a3 & 0x20;
0x0002ff9c srlv a0, s6, a3 | a0 = s6 >> a3;
0x0002ffa0 or v0, a2, v0 | v0 = a2 | v0;
| if (t3 == 0) {
0x0002ffa4 movn v0, a0, t3 | v0 = a0;
| }
| if (t3 == 0) {
0x0002ffa8 movn a0, zero, t3 | a0 = 0;
| }
0x0002ffac or v0, v0, a0 | v0 |= a0;
0x0002ffb0 move a1, a3 | a1 = a3;
0x0002ffb4 addiu a0, v1, 1 | a0 = v1 + 1;
0x0002ffb8 addiu a3, a3, 7 | a3 += 7;
0x0002ffbc bnez v0, 0x2ff88 |
| }
| label_16:
0x0002ffc0 lui v0, 0x100 | v0 = LIBAVFORMAT_58;
0x0002ffc4 sltu v0, t0, v0 | v0 = (t0 < v0) ? 1 : 0;
0x0002ffc8 addiu s6, zero, 1 | s6 = 1;
| if (v0 == 0) {
0x0002ffcc beqz v0, 0x301e4 | goto label_42;
| }
0x0002ffd0 sllv s6, s6, a1 | s6 <<= a1;
0x0002ffd4 andi v0, a1, 0x20 | v0 = a1 & 0x20;
0x0002ffd8 move s3, s6 | s3 = s6;
| if (v0 != 0) {
0x0002ffdc movz s3, zero, v0 | s3 = 0;
| }
0x0002ffe0 or s3, s3, t0 | s3 |= t0;
| if (v0 == 0) {
0x0002ffe4 movn s6, zero, v0 | s6 = 0;
| }
0x0002ffe8 sll v0, s3, 1 | v0 = s3 << 1;
0x0002ffec or s6, s6, t2 | s6 |= t2;
0x0002fff0 sll fp, v1, 3 | fp = v1 << 3;
0x0002fff4 sw v0, 0x5c(sp) | *(var_5ch) = v0;
| do {
0x0002fff8 lw v0, 0x5c(sp) | v0 = *(var_5ch);
0x0002fffc nor v1, zero, fp | __asm ("nor v1, zero, fp");
0x00030000 sllv v1, v0, v1 | v1 = v0 << v1;
0x00030004 srlv a1, s6, fp | a1 = s6 >> fp;
0x00030008 andi a0, fp, 0x20 | a0 = fp & 0x20;
0x0003000c or a1, v1, a1 | a1 = v1 | a1;
0x00030010 srlv v1, s3, fp | v1 = s3 >> fp;
| if (a0 == 0) {
0x00030014 movn a1, v1, a0 | a1 = v1;
| }
0x00030018 lw t9, -0x7f88(gp) | t9 = *((gp - 8162));
0x0003001c andi a1, a1, 0xff | a1 &= 0xff;
0x00030020 move a0, s4 | a0 = s4;
0x00030024 jalr t9 | t9 ();
0x00030028 addiu fp, fp, -8 | fp += -8;
0x0003002c addiu v0, zero, -8 | v0 = -8;
0x00030030 lw gp, 0x40(sp) | gp = *(var_40h);
0x00030034 bne fp, v0, 0x2fff8 |
| } while (fp != v0);
0x00030038 lw a1, 0x20(s5) | a1 = *((s5 + 8));
0x0003003c lw t9, -0x7f88(gp) | t9 = *((gp - 8162));
0x00030040 addiu a1, a1, 1 | a1++;
0x00030044 ori a1, a1, 0x80 | a1 |= 0x80;
0x00030048 move a0, s4 | a0 = s4;
0x0003004c jalr t9 | t9 ();
0x00030050 lw v0, 0x60(sp) | v0 = *(var_60h);
0x00030054 lw gp, 0x40(sp) | gp = *(var_40h);
0x00030058 move a0, s4 | a0 = s4;
0x0003005c lw a1, 0x60(v0) | a1 = *((v0 + 24));
0x00030060 lw v0, 0x64(sp) | v0 = *(var_64h);
0x00030064 lw t9, -0x7f8c(gp) | t9 = *((gp - 8163));
0x00030068 subu a1, v0, a1 | __asm ("subu a1, v0, a1");
0x0003006c jalr t9 | t9 ();
0x00030070 lw gp, 0x40(sp) | gp = *(var_40h);
0x00030074 move a1, zero | a1 = 0;
0x00030078 lw t9, -0x7f88(gp) | t9 = *((gp - 8162));
0x0003007c move a0, s4 | a0 = s4;
0x00030080 jalr t9 | t9 ();
0x00030084 lw v0, 0x1c(s5) | v0 = *((s5 + 7));
0x00030088 lw gp, 0x40(sp) | gp = *(var_40h);
0x0003008c lw v1, 0x18(s5) | v1 = *((s5 + 6));
0x00030090 sw v0, 0x18(sp) | *(var_18h) = v0;
0x00030094 lw v0, 0x6c(sp) | v0 = *(var_6ch);
0x00030098 lw a1, -0x7fc4(gp) | a1 = *((gp - 8177));
0x0003009c sw v0, 0x14(sp) | *(var_14h) = v0;
0x000300a0 lw v0, 0x8c(sp) | v0 = *(var_8ch);
0x000300a4 lw a2, 0x88(sp) | a2 = *(var_88h);
0x000300a8 lw t9, -0x7d48(gp) | t9 = *((gp - 8018));
0x000300ac lw a3, 0x68(sp) | a3 = *(var_68h);
0x000300b0 sw v1, 0x1c(sp) | *(var_1ch) = v1;
0x000300b4 addiu a1, a1, 0x44d0 | a1 += 0x44d0;
0x000300b8 move a0, s4 | a0 = s4;
0x000300bc sw v0, 0x10(sp) | *(var_10h) = v0;
0x000300c0 bal 0x114dc | sym_avio_printf ()
0x000300c4 lw gp, 0x40(sp) | gp = *(var_40h);
0x000300c8 lw a2, 0x30(s5) | a2 = *((s5 + 12));
0x000300cc lw a3, 0x34(s5) | a3 = *((s5 + 13));
0x000300d0 lw t9, -0x7d90(gp) | t9 = *((gp - 8036));
0x000300d4 addiu a1, zero, 0x9b | a1 = 0x9b;
0x000300d8 addiu t9, t9, -0x46dc | t9 += -0x46dc;
0x000300dc move a0, s4 | a0 = s4;
0x000300e0 bal 0x2b924 | fcn_0002b924 ();
0x000300e4 lw gp, 0x40(sp) | gp = *(var_40h);
0x000300e8 lw v0, 0x98(sp) | v0 = *(var_98h);
0x000300ec lw a2, 0x90(sp) | a2 = *(var_90h);
0x000300f0 lw t9, -0x7d90(gp) | t9 = *((gp - 8036));
0x000300f4 lw a3, 0x94(sp) | a3 = *(var_94h);
0x000300f8 sw v0, 0x10(sp) | *(var_10h) = v0;
0x000300fc addiu t9, t9, -0x4f74 | t9 += -0x4f74;
0x00030100 move a0, s4 | a0 = s4;
0x00030104 bal 0x2b08c | fcn_0002b08c ();
0x00030108 lw s3, 0x30(s5) | s3 = *((s5 + 12));
0x0003010c lw gp, 0x40(sp) | gp = *(var_40h);
0x00030110 sra s6, s3, 0x1f | s6 = s3 >> 0x1f;
0x00030114 b 0x2faa4 | goto label_12;
| label_39:
0x00030118 lw t9, -0x7d90(gp) | t9 = *((gp - 8036));
0x0003011c lw a0, 0x50(s7) | a0 = *((s7 + 20));
0x00030120 addiu a2, zero, 6 | a2 = 6;
0x00030124 addiu t9, t9, -0x445c | t9 += -0x445c;
0x00030128 move a3, zero | a3 = 0;
0x0003012c bal 0x2bba4 | fcn_0002bba4 ();
0x00030130 lw gp, 0x40(sp) | gp = *(var_40h);
0x00030134 b 0x2fc34 | goto label_13;
| label_40:
0x00030138 sw v0, 0x64(sp) | *(var_64h) = v0;
0x0003013c b 0x2fd94 | goto label_14;
| label_30:
0x00030140 addiu a3, zero, 1 | a3 = 1;
0x00030144 b 0x2f9f4 | goto label_15;
| label_41:
0x00030148 lw t9, -0x7d90(gp) | t9 = *((gp - 8036));
0x0003014c addiu s3, s3, 0x10 | s3 += 0x10;
0x00030150 sra v0, s3, 0x1f | v0 = s3 >> 0x1f;
0x00030154 sw t0, 0x70(sp) | *(var_70h) = t0;
0x00030158 sw t2, 0x5c(sp) | *(var_5ch) = t2;
0x0003015c addiu a2, zero, 0xa0 | a2 = 0xa0;
0x00030160 move a1, s4 | a1 = s4;
0x00030164 addiu a0, sp, 0x90 | a0 = sp + 0x90;
0x00030168 sw v0, 0x14(sp) | *(var_14h) = v0;
0x0003016c addiu t9, t9, -0x4cf0 | t9 += -0x4cf0;
0x00030170 sw s3, 0x10(sp) | *(var_10h) = s3;
0x00030174 bal 0x2b310 | fcn_0002b310 ();
0x00030178 lw gp, 0x40(sp) | gp = *(var_40h);
0x0003017c addiu a1, zero, 0xa1 | a1 = 0xa1;
0x00030180 lw t9, -0x7f88(gp) | t9 = *((gp - 8162));
0x00030184 move a0, s4 | a0 = s4;
0x00030188 jalr t9 | t9 ();
0x0003018c lw gp, 0x40(sp) | gp = *(var_40h);
0x00030190 move v1, zero | v1 = 0;
0x00030194 addiu a1, zero, 7 | a1 = 7;
0x00030198 lw t2, 0x5c(sp) | t2 = *(var_5ch);
0x0003019c lw t0, 0x70(sp) | t0 = *(var_70h);
0x000301a0 b 0x2ffc0 | goto label_16;
| label_22:
0x000301a4 lw s0, 0x20(v0) | s0 = *((v0 + 8));
| if (s1 == a0) {
0x000301a8 bnel s1, a0, 0x2f70c | goto label_17;
| }
0x000301ac lw a2, -0x7fc4(gp) | a2 = *((gp - 8177));
0x000301b0 lw t9, -0x7a1c(gp) | t9 = *((gp - 7815));
0x000301b4 addiu a2, a2, 0x443c | a2 += 0x443c;
0x000301b8 addiu a1, zero, 0x10 | a1 = 0x10;
0x000301bc move a0, s2 | a0 = s2;
0x000301c0 jalr t9 | t9 ();
0x000301c4 lw gp, 0x40(sp) | gp = *(var_40h);
0x000301c8 addiu v0, zero, -0x16 | v0 = -0x16;
0x000301cc b 0x2fb20 | goto label_2;
| label_28:
0x000301d0 addiu v0, zero, -0xc | v0 = -0xc;
0x000301d4 b 0x2fb20 | goto label_2;
| label_38:
0x000301d8 lw t9, -0x7974(gp) | t9 = *(gp);
0x000301dc jalr t9 | t9 ();
0x000301e0 nop |
| label_42:
0x000301e4 addiu v0, zero, 0xe6 | v0 = 0xe6;
0x000301e8 sw v0, 0x14(sp) | *(var_14h) = v0;
0x000301ec lw v0, -0x7fc4(gp) | v0 = *((gp - 8177));
0x000301f0 lw a3, -0x7fc4(gp) | a3 = *((gp - 8177));
0x000301f4 lw a2, -0x7fc4(gp) | a2 = *((gp - 8177));
0x000301f8 lw t9, -0x7a1c(gp) | t9 = *((gp - 7815));
0x000301fc addiu v0, v0, 0x41d8 | v0 += 0x41d8;
0x00030200 sw v0, 0x10(sp) | *(var_10h) = v0;
0x00030204 addiu a3, a3, 0x4214 | a3 += 0x4214;
0x00030208 addiu a2, a2, -0x2ad4 | a2 += -0x2ad4;
0x0003020c move a1, zero | a1 = 0;
0x00030210 move a0, zero | a0 = 0;
0x00030214 jalr t9 | t9 ();
0x00030218 lw gp, 0x40(sp) | gp = *(var_40h);
0x0003021c lw t9, -0x7bdc(gp) | t9 = *((gp - 7927));
0x00030220 jalr t9 | t9 ();
0x00030224 nop |
| label_24:
0x00030228 lw v1, 0x5c(s7) | v1 = *((s7 + 23));
0x0003022c lw s4, 0x50(s7) | s4 = *((s7 + 20));
| if (v1 == v0) {
0x00030230 bnel v1, v0, 0x2f828 | goto label_18;
| }
0x00030234 lw t9, -0x7f48(gp) | t9 = *((gp - 8146));
0x00030238 b 0x2fba0 | goto label_19;
| }
[*] Function printf used 2 times libavformat.so.58.29.100