[*] Binary protection state of streamingcapabilities.cgi

  
  	Full RELRO     Canary found      NX disabled  PIE enabled  No RPATH     No RUNPATH   No Symbols


[*] Function printf tear down of streamingcapabilities.cgi

    ; assembly                           | /* r2dec pseudo code output */
                                         | /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/html/axis-cgi/audio/streamingcapabilities.cgi @ 0x177c */
                                         | #include <stdint.h>
                                         |  
    ; (fcn) fcn.0000177c ()              | void fcn_0000177c () {
    0x0000177c lui gp, 2                 |     
    0x00001780 addiu gp, gp, -0x676c     |     
    0x00001784 addu gp, gp, t9           |     gp += t9;
    0x00001788 addiu sp, sp, -0x1a0      |     
    0x0000178c lw t9, -0x7fa8(gp)        |     t9 = sym.imp.json_loads;
    0x00001790 sw s3, 0x184(sp)          |     *(var_184h) = s3;
    0x00001794 lw s3, -0x7f50(gp)        |     s3 = *((gp - 8148));
    0x00001798 sw gp, 0x20(sp)           |     *(var_20h) = gp;
    0x0000179c sw s2, 0x180(sp)          |     *(var_180h) = s2;
    0x000017a0 lw v0, (s3)               |     v0 = *(s3);
    0x000017a4 sw ra, 0x19c(sp)          |     *(var_19ch) = ra;
    0x000017a8 sw fp, 0x198(sp)          |     *(var_198h) = fp;
    0x000017ac sw s7, 0x194(sp)          |     *(var_194h) = s7;
    0x000017b0 sw s6, 0x190(sp)          |     *(var_190h) = s6;
    0x000017b4 sw s5, 0x18c(sp)          |     *(var_18ch) = s5;
    0x000017b8 sw s4, 0x188(sp)          |     *(var_188h) = s4;
    0x000017bc sw s1, 0x17c(sp)          |     *(var_17ch) = s1;
    0x000017c0 sw s0, 0x178(sp)          |     *(var_178h) = s0;
    0x000017c4 addiu a2, sp, 0x78        |     a2 = sp + 0x78;
    0x000017c8 move a1, zero             |     a1 = 0;
    0x000017cc sw v0, 0x174(sp)          |     *(var_174h) = v0;
    0x000017d0 move s2, a0               |     s2 = a0;
    0x000017d4 jalr t9                   |     t9 ();
    0x000017d8 lw gp, 0x20(sp)           |     gp = *(var_20h);
                                         |     if (v0 == 0) {
    0x000017dc beqz v0, 0x1b64           |         goto label_19;
                                         |     }
    0x000017e0 lw s1, -0x7fdc(gp)        |     s1 = *((gp - 8183));
    0x000017e4 move s0, v0               |     s0 = v0;
                                         | label_2:
    0x000017e8 lw a1, -0x7fdc(gp)        |     a1 = *((gp - 8183));
    0x000017ec lw t9, -0x7fb4(gp)        |     t9 = sym.imp.json_unpack;
    0x000017f0 addiu a3, sp, 0x6c        |     a3 = sp + 0x6c;
    0x000017f4 addiu a2, s1, 0x29f8      |     a2 = s1 + str.apiVersion;
    0x000017f8 addiu a1, a1, 0x2a30      |     a1 += str.s_s;
    0x000017fc move a0, s0               |     a0 = s0;
    0x00001800 sw zero, 0x6c(sp)         |     *(var_6ch) = 0;
    0x00001804 jalr t9                   |     t9 ();
    0x00001808 lw gp, 0x20(sp)           |     gp = *(var_20h);
                                         |     if (v0 == 0) {
    0x0000180c bnez v0, 0x1a08           |         
    0x00001810 lw a0, 0x6c(sp)           |         a0 = *(var_6ch);
    0x00001814 lw s1, -0x7fdc(gp)        |         s1 = *((gp - 8183));
                                         |         if (a0 != 0) {
    0x00001818 beqz a0, 0x1864           |             
    0x0000181c addiu s1, s1, 0xfa0       |             s1 += fcn.00000fa0;
    0x00001820 move t9, s1               |             t9 = s1;
    0x00001824 addiu a1, sp, 0x74        |             a1 = sp + 0x74;
    0x00001828 bal 0xfa0                 |             fcn_00000fa0 ();
    0x0000182c lw gp, 0x20(sp)           |             gp = *(var_20h);
                                         |             if (v0 != 0) {
    0x00001830 bnez v0, 0x1a24           |                 goto label_20;
                                         |             }
    0x00001834 lw a0, -0x7fdc(gp)        |             a0 = *((gp - 8183));
    0x00001838 addiu a1, sp, 0x70        |             a1 = sp + 0x70;
    0x0000183c move t9, s1               |             t9 = s1;
    0x00001840 addiu a0, a0, 0x2a0c      |             a0 += 0x2a0c;
    0x00001844 bal 0xfa0                 |             fcn_00000fa0 ();
    0x00001848 lw gp, 0x20(sp)           |             gp = *(var_20h);
                                         |             if (v0 != 0) {
    0x0000184c bnez v0, 0x1a24           |                 goto label_20;
                                         |             }
    0x00001850 lw v0, 0x74(sp)           |             v0 = *(var_74h);
    0x00001854 lw v1, 0x70(sp)           |             v1 = *(var_70h);
    0x00001858 slt v0, v1, v0            |             v0 = (v1 < v0) ? 1 : 0;
    0x0000185c lw t9, -0x7f54(gp)        |             t9 = sym.imp.json_object;
                                         |             if (v0 != 0) {
    0x00001860 bnez v0, 0x1a28           |                 goto label_21;
                                         |             }
                                         |         }
    0x00001864 lw s1, -0x7fdc(gp)        |         s1 = *((gp - 8183));
    0x00001868 lw a1, -0x7fdc(gp)        |         a1 = *((gp - 8183));
    0x0000186c addiu s1, s1, 0x1278      |         s1 += fcn.00001278;
    0x00001870 addiu a1, a1, 0x2a9c      |         a1 += str.getSupportedVersions;
    0x00001874 move a0, s0               |         a0 = s0;
    0x00001878 sw zero, 0x70(sp)         |         *(var_70h) = 0;
    0x0000187c move t9, s1               |         t9 = s1;
    0x00001880 sw zero, 0x74(sp)         |         *(var_74h) = 0;
    0x00001884 bal 0x1278                |         fcn_00001278 ();
    0x00001888 lw gp, 0x20(sp)           |         gp = *(var_20h);
                                         |         if (v0 == 0) {
    0x0000188c beqz v0, 0x1bf8           |             goto label_22;
                                         |         }
    0x00001890 lw a1, -0x7fdc(gp)        |         a1 = *((gp - 8183));
    0x00001894 move a0, s0               |         a0 = s0;
    0x00001898 move t9, s1               |         t9 = s1;
    0x0000189c addiu a1, a1, 0x2ac8      |         a1 += str.list;
    0x000018a0 bal 0x1278                |         fcn_00001278 ();
    0x000018a4 lw gp, 0x20(sp)           |         gp = *(var_20h);
                                         |         if (v0 != 0) {
    0x000018a8 bnez v0, 0x1b30           |             goto label_23;
                                         |         }
    0x000018ac lw t9, -0x7f68(gp)        |         t9 = sym.imp.g_bus_get_sync;
    0x000018b0 move a2, zero             |         a2 = 0;
    0x000018b4 move a1, zero             |         a1 = 0;
    0x000018b8 addiu a0, zero, 1         |         a0 = 1;
    0x000018bc jalr t9                   |         t9 ();
    0x000018c0 move s1, v0               |         s1 = v0;
    0x000018c4 lw gp, 0x20(sp)           |         gp = *(var_20h);
                                         |         if (v0 == 0) {
    0x000018c8 beqz v0, 0x1b50           |             goto label_24;
                                         |         }
    0x000018cc lw s2, -0x7fdc(gp)        |         s2 = *((gp - 8183));
    0x000018d0 lw a1, -0x7fdc(gp)        |         a1 = *((gp - 8183));
    0x000018d4 addiu s2, s2, 0x114c      |         s2 += fcn.0000114c;
    0x000018d8 addiu a1, a1, 0x2ad0      |         a1 += str.GetEncoders;
    0x000018dc move t9, s2               |         t9 = s2;
    0x000018e0 move a0, v0               |         a0 = v0;
    0x000018e4 bal 0x114c                |         fcn_0000114c ();
    0x000018e8 lw gp, 0x20(sp)           |         gp = *(var_20h);
                                         |         if (v0 == 0) {
    0x000018ec beqz v0, 0x1cb4           |             goto label_25;
                                         |         }
    0x000018f0 lw t9, -0x7f98(gp)        |         t9 = sym.imp.g_variant_get_strv;
    0x000018f4 addiu a1, sp, 0x70        |         a1 = sp + 0x70;
    0x000018f8 move a0, v0               |         a0 = v0;
    0x000018fc jalr t9                   |         t9 ();
    0x00001900 lw gp, 0x20(sp)           |         gp = *(var_20h);
    0x00001904 sw v0, 0x3c(sp)           |         *(var_3ch) = v0;
                                         | label_6:
    0x00001908 lw a1, -0x7fdc(gp)        |         a1 = *((gp - 8183));
    0x0000190c move a0, s1               |         a0 = s1;
    0x00001910 move t9, s2               |         t9 = s2;
    0x00001914 addiu a1, a1, 0x2adc      |         a1 += str.GetDecoders;
    0x00001918 bal 0x114c                |         fcn_0000114c ();
    0x0000191c sw v0, 0x44(sp)           |         *(var_44h) = v0;
    0x00001920 lw gp, 0x20(sp)           |         gp = *(var_20h);
    0x00001924 move a0, v0               |         a0 = v0;
                                         |         if (v0 == 0) {
    0x00001928 beqz v0, 0x1cac           |             goto label_26;
                                         |         }
    0x0000192c lw t9, -0x7f98(gp)        |         t9 = sym.imp.g_variant_get_strv;
    0x00001930 addiu a1, sp, 0x74        |         a1 = sp + 0x74;
    0x00001934 jalr t9                   |         t9 ();
    0x00001938 lw gp, 0x20(sp)           |         gp = *(var_20h);
    0x0000193c sw v0, 0x40(sp)           |         *(var_40h) = v0;
                                         | label_5:
    0x00001940 lw t9, -0x7f34(gp)        |         t9 = sym.imp.g_object_unref;
    0x00001944 move a0, s1               |         a0 = s1;
    0x00001948 jalr t9                   |         t9 ();
    0x0000194c lw v0, (s0)               |         v0 = *(s0);
    0x00001950 lw gp, 0x20(sp)           |         gp = *(var_20h);
                                         |         if (v0 == 0) {
    0x00001954 beqz v0, 0x1cc8           |             goto label_27;
                                         |         }
    0x00001958 addiu s2, zero, -1        |         s2 = -1;
    0x0000195c move s1, zero             |         s1 = 0;
                                         | label_11:
    0x00001960 lw a0, 0x3c(sp)           |         a0 = *(var_3ch);
                                         | label_12:
    0x00001964 lw t9, -0x7f38(gp)        |         t9 = sym.imp.g_free;
                                         |         if (a0 != 0) {
    0x00001968 beqz a0, 0x1978           |             
    0x0000196c jalr t9                   |             t9 ();
    0x00001970 nop                       |             
    0x00001974 lw gp, 0x20(sp)           |             gp = *(var_20h);
                                         |         }
    0x00001978 lw a0, 0x40(sp)           |         a0 = *(var_40h);
    0x0000197c lw t9, -0x7f38(gp)        |         t9 = sym.imp.g_free;
                                         |         if (a0 != 0) {
    0x00001980 beqz a0, 0x1990           |             
    0x00001984 jalr t9                   |             t9 ();
    0x00001988 nop                       |             
    0x0000198c lw gp, 0x20(sp)           |             gp = *(var_20h);
                                         |         }
    0x00001990 lw a0, 0x44(sp)           |         a0 = *(var_44h);
    0x00001994 lw t9, -0x7f48(gp)        |         t9 = sym.imp.g_variant_unref;
                                         |         if (a0 != 0) {
    0x00001998 beqz a0, 0x19a8           |             
    0x0000199c jalr t9                   |             t9 ();
    0x000019a0 nop                       |             
    0x000019a4 lw gp, 0x20(sp)           |             gp = *(var_20h);
                                         |         }
    0x000019a8 lw v0, -0x7fdc(gp)        |         v0 = *((gp - 8183));
                                         |         if (s1 != 0) {
    0x000019ac beqz s1, 0x19b8           |             
                                         |             if (s2 >= 0) {
    0x000019b0 bgez s2, 0x1a54           |                 goto label_4;
                                         |             }
    0x000019b4 nop                       |             
                                         |         }
                                         | label_1:
    0x000019b8 lw a3, -0x7fdc(gp)        |         a3 = *((gp - 8183));
    0x000019bc lw a1, -0x7fdc(gp)        |         a1 = *((gp - 8183));
    0x000019c0 lw a0, -0x7fdc(gp)        |         a0 = *((gp - 8183));
    0x000019c4 lw t9, -0x7f44(gp)        |         t9 = sym.imp.json_pack;
    0x000019c8 addiu v0, v0, 0x2b54      |         v0 += str.Internal_error;
    0x000019cc addiu a3, a3, 0x2a10      |         a3 += str.message;
    0x000019d0 addiu a2, zero, 0x1f40    |         a2 = aav.0x00001f40;
    0x000019d4 addiu a1, a1, 0x2a18      |         a1 += str.code;
    0x000019d8 addiu a0, a0, 0x2a20      |         a0 += str.siss;
    0x000019dc sw v0, 0x10(sp)           |         *(var_10h_2) = v0;
    0x000019e0 jalr t9                   |         t9 ();
    0x000019e4 lw gp, 0x20(sp)           |         gp = *(var_20h);
    0x000019e8 move a2, v0               |         a2 = v0;
    0x000019ec move a0, s1               |         a0 = s1;
    0x000019f0 lw a1, -0x7fdc(gp)        |         a1 = *((gp - 8183));
    0x000019f4 lw t9, -0x7f80(gp)        |         t9 = sym.imp.json_object_set_new;
    0x000019f8 addiu a1, a1, 0x2a28      |         a1 += str.error;
    0x000019fc jalr t9                   |         t9 ();
    0x00001a00 lw gp, 0x20(sp)           |         gp = *(var_20h);
    0x00001a04 b 0x1a54                  |         
                                         |     } else {
    0x00001a08 lw a2, -0x7fdc(gp)        |         a2 = *((gp - 8183));
    0x00001a0c lw t9, -0x7f94(gp)        |         t9 = sym.imp.__syslog_chk;
    0x00001a10 addiu a2, a2, 0x2a7c      |         a2 += str.Parsing_apiVersion_failed_n;
    0x00001a14 addiu a1, zero, 1         |         a1 = 1;
    0x00001a18 addiu a0, zero, 4         |         a0 = 4;
    0x00001a1c jalr t9                   |         t9 ();
    0x00001a20 lw gp, 0x20(sp)           |         gp = *(var_20h);
                                         | label_20:
    0x00001a24 lw t9, -0x7f54(gp)        |         t9 = sym.imp.json_object;
                                         | label_21:
    0x00001a28 jalr t9                   |         t9 ();
    0x00001a2c nop                       |         
    0x00001a30 lw gp, 0x20(sp)           |         gp = *(var_20h);
    0x00001a34 move s1, v0               |         s1 = v0;
    0x00001a38 move a2, v0               |         a2 = v0;
    0x00001a3c addiu a1, zero, 2         |         a1 = 2;
                                         | label_0:
    0x00001a40 lw t9, -0x7fdc(gp)        |         t9 = *((gp - 8183));
    0x00001a44 addiu t9, t9, 0x137c      |         t9 += fcn.0000137c;
    0x00001a48 move a0, s0               |         a0 = s0;
    0x00001a4c bal 0x137c                |         fcn_0000137c ();
    0x00001a50 lw gp, 0x20(sp)           |         gp = *(var_20h);
                                         |     }
                                         | label_4:
    0x00001a54 lw a1, -0x7fdc(gp)        |     a1 = *((gp - 8183));
                                         |     if (s1 == 0) {
    0x00001a58 beqz s1, 0x2494           |         goto label_28;
                                         |     }
    0x00001a5c lw t9, -0x7f90(gp)        |     t9 = sym.imp.__printf_chk
    0x00001a60 addiu a1, a1, 0x2b64      |     a1 += str.Content_Type:_application_json_charsetutf8_n_n;
    0x00001a64 addiu a0, zero, 1         |     a0 = 1;
    0x00001a68 jalr t9                   |     t9 ();
    0x00001a6c lw gp, 0x20(sp)           |     gp = *(var_20h);
    0x00001a70 addiu a1, zero, 2         |     a1 = 2;
    0x00001a74 lw t9, -0x7fa4(gp)        |     t9 = sym.imp.json_dumps;
    0x00001a78 move a0, s1               |     a0 = s1;
    0x00001a7c jalr t9                   |     t9 ();
    0x00001a80 lw gp, 0x20(sp)           |     gp = *(var_20h);
    0x00001a84 move a2, v0               |     a2 = v0;
    0x00001a88 addiu a0, zero, 1         |     a0 = 1;
    0x00001a8c lw a1, -0x7fdc(gp)        |     a1 = *((gp - 8183));
    0x00001a90 lw t9, -0x7f90(gp)        |     t9 = sym.imp.__printf_chk
    0x00001a94 addiu a1, a1, 0x2b94      |     a1 += 0x2b94;
    0x00001a98 jalr t9                   |     t9 ();
    0x00001a9c lw v1, 4(s1)              |     v1 = *((s1 + 1));
    0x00001aa0 addiu v0, zero, -1        |     v0 = -1;
    0x00001aa4 lw gp, 0x20(sp)           |     gp = *(var_20h);
                                         |     if (v1 == v0) {
    0x00001aa8 beq v1, v0, 0x1b28        |         goto label_29;
                                         |     }
    0x00001aac lw t9, -0x7fdc(gp)        |     t9 = *((gp - 8183));
    0x00001ab0 addiu t9, t9, 0x133c      |     t9 += fcn.0000133c;
    0x00001ab4 move a0, s1               |     a0 = s1;
    0x00001ab8 bal 0x133c                |     fcn_0000133c ();
    0x00001abc lw gp, 0x20(sp)           |     gp = *(var_20h);
    0x00001ac0 move v0, zero             |     v0 = 0;
                                         |     do {
                                         | label_14:
    0x00001ac4 lw a0, 4(s0)              |         a0 = *((s0 + 1));
    0x00001ac8 addiu v1, zero, -1        |         v1 = -1;
    0x00001acc lw t9, -0x7fdc(gp)        |         t9 = *((gp - 8183));
                                         |         if (a0 != v1) {
    0x00001ad0 beq a0, v1, 0x1aec        |             
    0x00001ad4 sw v0, 0x28(sp)           |             *(var_28h_2) = v0;
    0x00001ad8 addiu t9, t9, 0x133c      |             t9 += fcn.0000133c;
    0x00001adc move a0, s0               |             a0 = s0;
    0x00001ae0 bal 0x133c                |             fcn_0000133c ();
    0x00001ae4 lw gp, 0x20(sp)           |             gp = *(var_20h);
    0x00001ae8 lw v0, 0x28(sp)           |             v0 = *(var_28h_2);
                                         |         }
                                         | label_3:
    0x00001aec lw a0, 0x174(sp)          |         a0 = *(var_174h);
    0x00001af0 lw v1, (s3)               |         v1 = *(s3);
    0x00001af4 lw ra, 0x19c(sp)          |         ra = *(var_19ch);
                                         |         if (a0 != v1) {
    0x00001af8 bne a0, v1, 0x2678        |             goto label_30;
                                         |         }
    0x00001afc lw fp, 0x198(sp)          |         fp = *(var_198h);
    0x00001b00 lw s7, 0x194(sp)          |         s7 = *(var_194h);
    0x00001b04 lw s6, 0x190(sp)          |         s6 = *(var_190h);
    0x00001b08 lw s5, 0x18c(sp)          |         s5 = *(var_18ch);
    0x00001b0c lw s4, 0x188(sp)          |         s4 = *(var_188h);
    0x00001b10 lw s3, 0x184(sp)          |         s3 = *(var_184h);
    0x00001b14 lw s2, 0x180(sp)          |         s2 = *(var_180h);
    0x00001b18 lw s1, 0x17c(sp)          |         s1 = *(var_17ch);
    0x00001b1c lw s0, 0x178(sp)          |         s0 = *(var_178h);
    0x00001b20 addiu sp, sp, 0x1a0       |         
    0x00001b24 jr ra                     |         return v0;
                                         | label_29:
    0x00001b28 move v0, zero             |         v0 = 0;
    0x00001b2c b 0x1ac4                  |         
                                         |     } while (1);
                                         | label_23:
    0x00001b30 lw t9, -0x7f54(gp)        |     t9 = sym.imp.json_object;
    0x00001b34 jalr t9                   |     t9 ();
    0x00001b38 nop                       |     
    0x00001b3c move s1, v0               |     s1 = v0;
    0x00001b40 lw gp, 0x20(sp)           |     gp = *(var_20h);
    0x00001b44 move a2, v0               |     a2 = v0;
    0x00001b48 addiu a1, zero, 1         |     a1 = 1;
    0x00001b4c b 0x1a40                  |     goto label_0;
                                         | label_24:
    0x00001b50 lw v0, (s0)               |     v0 = *(s0);
    0x00001b54 move s1, zero             |     s1 = 0;
                                         |     if (v0 == 0) {
    0x00001b58 beqz v0, 0x1cbc           |         goto label_31;
                                         |     }
    0x00001b5c lw v0, -0x7fdc(gp)        |     v0 = *((gp - 8183));
    0x00001b60 b 0x19b8                  |     goto label_1;
                                         | label_19:
    0x00001b64 lw s1, -0x7fdc(gp)        |     s1 = *((gp - 8183));
    0x00001b68 lw t9, -0x7f78(gp)        |     t9 = sym.imp.CGI_get_value;
    0x00001b6c addiu a0, s1, 0x29f8      |     a0 = s1 + str.apiVersion;
    0x00001b70 jalr t9                   |     t9 ();
    0x00001b74 move s4, v0               |     s4 = v0;
    0x00001b78 lw gp, 0x20(sp)           |     gp = *(var_20h);
                                         |     if (v0 == 0) {
    0x00001b7c beqz v0, 0x1bf0           |         goto label_32;
                                         |     }
    0x00001b80 lw s0, -0x7fdc(gp)        |     s0 = *((gp - 8183));
    0x00001b84 lw t9, -0x7f78(gp)        |     t9 = sym.imp.CGI_get_value;
    0x00001b88 addiu a0, s0, 0x29c0      |     a0 = s0 + str.method;
    0x00001b8c jalr t9                   |     t9 ();
    0x00001b90 move s5, v0               |     s5 = v0;
    0x00001b94 lw gp, 0x20(sp)           |     gp = *(var_20h);
                                         |     if (v0 == 0) {
    0x00001b98 beqz v0, 0x1bf0           |         goto label_32;
                                         |     }
    0x00001b9c lw s6, -0x7fdc(gp)        |     s6 = *((gp - 8183));
    0x00001ba0 lw t9, -0x7f78(gp)        |     t9 = sym.imp.CGI_get_value;
    0x00001ba4 addiu a0, s6, 0x2a04      |     a0 = s6 + str.context;
    0x00001ba8 jalr t9                   |     t9 ();
    0x00001bac lw gp, 0x20(sp)           |     gp = *(var_20h);
                                         |     if (v0 == 0) {
    0x00001bb0 beqz v0, 0x2428           |         goto label_33;
                                         |     }
                                         | label_13:
    0x00001bb4 lw a0, -0x7fdc(gp)        |     a0 = *((gp - 8183));
                                         |     if (s2 == 0) {
    0x00001bb8 beqz s2, 0x1bf0           |         goto label_32;
                                         |     }
    0x00001bbc lw t9, -0x7f44(gp)        |     t9 = sym.imp.json_pack;
    0x00001bc0 addiu s0, s0, 0x29c0      |     s0 += str.method;
    0x00001bc4 sw s0, 0x14(sp)           |     *(var_14h) = s0;
    0x00001bc8 sw s5, 0x18(sp)           |     *(var_18h) = s5;
    0x00001bcc sw v0, 0x10(sp)           |     *(var_10h_2) = v0;
    0x00001bd0 addiu a3, s6, 0x2a04      |     a3 = s6 + str.context;
    0x00001bd4 move a2, s4               |     a2 = s4;
    0x00001bd8 addiu a1, s1, 0x29f8      |     a1 = s1 + str.apiVersion;
    0x00001bdc addiu a0, a0, 0x2a70      |     a0 += str.ss_ss_ss;
    0x00001be0 jalr t9                   |     t9 ();
    0x00001be4 move s0, v0               |     s0 = v0;
    0x00001be8 lw gp, 0x20(sp)           |     gp = *(var_20h);
                                         |     if (v0 != 0) {
    0x00001bec bnez v0, 0x17e8           |         goto label_2;
                                         |     }
                                         | label_32:
    0x00001bf0 addiu v0, zero, -1        |     v0 = -1;
    0x00001bf4 b 0x1aec                  |     goto label_3;
                                         | label_22:
    0x00001bf8 lw t9, -0x7f3c(gp)        |     t9 = sym.imp.json_array;
    0x00001bfc jalr t9                   |     t9 ();
    0x00001c00 nop                       |     
    0x00001c04 lw gp, 0x20(sp)           |     gp = *(var_20h);
    0x00001c08 lw t9, -0x7f54(gp)        |     t9 = sym.imp.json_object;
    0x00001c0c move s2, v0               |     s2 = v0;
    0x00001c10 jalr t9                   |     t9 ();
    0x00001c14 lw gp, 0x20(sp)           |     gp = *(var_20h);
    0x00001c18 move s1, v0               |     s1 = v0;
    0x00001c1c lw a0, -0x7fdc(gp)        |     a0 = *((gp - 8183));
    0x00001c20 lw t9, -0x7f84(gp)        |     t9 = sym.imp.json_string;
    0x00001c24 addiu a0, a0, 0x2a0c      |     a0 += 0x2a0c;
    0x00001c28 jalr t9                   |     t9 ();
    0x00001c2c lw gp, 0x20(sp)           |     gp = *(var_20h);
    0x00001c30 move a0, s2               |     a0 = s2;
    0x00001c34 lw t9, -0x7f40(gp)        |     t9 = sym.imp.json_array_append_new;
    0x00001c38 move a1, v0               |     a1 = v0;
    0x00001c3c jalr t9                   |     t9 ();
    0x00001c40 lw gp, 0x20(sp)           |     gp = *(var_20h);
    0x00001c44 move a2, s2               |     a2 = s2;
    0x00001c48 lw a1, -0x7fdc(gp)        |     a1 = *((gp - 8183));
    0x00001c4c lw a0, -0x7fdc(gp)        |     a0 = *((gp - 8183));
    0x00001c50 lw t9, -0x7f44(gp)        |     t9 = sym.imp.json_pack;
    0x00001c54 addiu a1, a1, 0x2ab4      |     a1 += str.apiVersions;
    0x00001c58 addiu a0, a0, 0x2ac0      |     a0 += str.so;
    0x00001c5c jalr t9                   |     t9 ();
    0x00001c60 lw gp, 0x20(sp)           |     gp = *(var_20h);
    0x00001c64 move s2, v0               |     s2 = v0;
    0x00001c68 move a2, s1               |     a2 = s1;
    0x00001c6c lw t9, -0x7fdc(gp)        |     t9 = *((gp - 8183));
    0x00001c70 move a1, v0               |     a1 = v0;
    0x00001c74 addiu t9, t9, 0x155c      |     t9 += fcn.0000155c;
    0x00001c78 move a0, s0               |     a0 = s0;
    0x00001c7c bal 0x155c                |     fcn_0000155c ();
    0x00001c80 lw gp, 0x20(sp)           |     gp = *(var_20h);
                                         |     if (s2 == 0) {
    0x00001c84 beqz s2, 0x1a54           |         goto label_4;
                                         |     }
    0x00001c88 lw v1, 4(s2)              |     v1 = *((s2 + 1));
    0x00001c8c addiu v0, zero, -1        |     v0 = -1;
    0x00001c90 lw t9, -0x7fdc(gp)        |     t9 = *((gp - 8183));
                                         |     if (v1 == v0) {
    0x00001c94 beq v1, v0, 0x1a54        |         goto label_4;
                                         |     }
    0x00001c98 addiu t9, t9, 0x133c      |     t9 += fcn.0000133c;
    0x00001c9c move a0, s2               |     a0 = s2;
    0x00001ca0 bal 0x133c                |     fcn_0000133c ();
    0x00001ca4 lw gp, 0x20(sp)           |     gp = *(var_20h);
    0x00001ca8 b 0x1a54                  |     goto label_4;
                                         | label_26:
    0x00001cac sw zero, 0x40(sp)         |     *(var_40h) = 0;
    0x00001cb0 b 0x1940                  |     goto label_5;
                                         | label_25:
    0x00001cb4 sw zero, 0x3c(sp)         |     *(var_3ch) = 0;
    0x00001cb8 b 0x1908                  |     goto label_6;
                                         | label_31:
    0x00001cbc sw zero, 0x44(sp)         |     *(var_44h) = 0;
    0x00001cc0 sw zero, 0x40(sp)         |     *(var_40h) = 0;
    0x00001cc4 sw zero, 0x3c(sp)         |     *(var_3ch) = 0;
                                         | label_27:
    0x00001cc8 lw t9, -0x7f54(gp)        |     t9 = sym.imp.json_object;
    0x00001ccc lw fp, 0x3c(sp)           |     fp = *(var_3ch);
    0x00001cd0 jalr t9                   |     t9 ();
    0x00001cd4 lw gp, 0x20(sp)           |     gp = *(var_20h);
    0x00001cd8 sw v0, 0x2c(sp)           |     *(var_2ch_2) = v0;
    0x00001cdc lw t9, -0x7f54(gp)        |     t9 = sym.imp.json_object;
    0x00001ce0 move s5, zero             |     s5 = 0;
    0x00001ce4 jalr t9                   |     t9 ();
    0x00001ce8 lw gp, 0x20(sp)           |     gp = *(var_20h);
    0x00001cec lw t9, -0x7f54(gp)        |     t9 = sym.imp.json_object;
    0x00001cf0 sw v0, 0x50(sp)           |     *(var_50h) = v0;
    0x00001cf4 jalr t9                   |     t9 ();
    0x00001cf8 lw gp, 0x20(sp)           |     gp = *(var_20h);
    0x00001cfc move s1, v0               |     s1 = v0;
    0x00001d00 sw s0, 0x58(sp)           |     *(var_58h) = s0;
    0x00001d04 lw v0, -0x7fdc(gp)        |     v0 = *((gp - 8183));
    0x00001d08 sw s1, 0x5c(sp)           |     *(var_5ch) = s1;
    0x00001d0c sw v0, 0x30(sp)           |     *(var_30h_2) = v0;
    0x00001d10 lw v0, -0x7fdc(gp)        |     v0 = *((gp - 8183));
    0x00001d14 addiu v0, v0, 0x2be0      |     v0 += 0x2be0;
    0x00001d18 sw v0, 0x54(sp)           |     *(var_54h) = v0;
    0x00001d1c lw v0, -0x7fdc(gp)        |     v0 = *((gp - 8183));
    0x00001d20 addiu v0, v0, 0x2c08      |     v0 += 0x2c08;
    0x00001d24 sw v0, 0x28(sp)           |     *(var_28h_2) = v0;
    0x00001d28 b 0x1e24                  |     
                                         |     while (v0 == 0) {
    0x00001d2c lw a1, -0x7fdc(gp)        |         a1 = *((gp - 8183));
    0x00001d30 lw v0, -0x7fdc(gp)        |         v0 = *((gp - 8183));
    0x00001d34 lw t9, -0x7f44(gp)        |         t9 = sym.imp.json_pack;
    0x00001d38 addiu a1, a1, 0x2af0      |         a1 += str.sample_rate;
    0x00001d3c addiu a0, v0, 0x2afc      |         a0 = v0 + str.si;
    0x00001d40 addiu a2, zero, 0x1f40    |         a2 = aav.0x00001f40;
    0x00001d44 jalr t9                   |         t9 ();
    0x00001d48 lw gp, 0x20(sp)           |         gp = *(var_20h);
    0x00001d4c ori a0, zero, 0xfa00      |         a0 = 0xfa00;
    0x00001d50 move a1, zero             |         a1 = 0;
    0x00001d54 lw t9, -0x7f4c(gp)        |         t9 = sym.imp.json_integer;
    0x00001d58 move s4, v0               |         s4 = v0;
                                         | label_7:
    0x00001d5c jalr t9                   |         t9 ();
    0x00001d60 nop                       |         
    0x00001d64 lw gp, 0x20(sp)           |         gp = *(var_20h);
    0x00001d68 move a0, s0               |         a0 = s0;
    0x00001d6c lw t9, -0x7f40(gp)        |         t9 = sym.imp.json_array_append_new;
    0x00001d70 move a1, v0               |         a1 = v0;
    0x00001d74 jalr t9                   |         t9 ();
    0x00001d78 lw gp, 0x20(sp)           |         gp = *(var_20h);
    0x00001d7c addiu a0, zero, 1         |         a0 = 1;
    0x00001d80 lw t9, -0x7f4c(gp)        |         t9 = sym.imp.json_integer;
    0x00001d84 move a1, zero             |         a1 = 0;
    0x00001d88 jalr t9                   |         t9 ();
    0x00001d8c lw gp, 0x20(sp)           |         gp = *(var_20h);
    0x00001d90 move a1, v0               |         a1 = v0;
    0x00001d94 lw t9, -0x7f40(gp)        |         t9 = sym.imp.json_array_append_new;
    0x00001d98 lw s6, -0x7fdc(gp)        |         s6 = *((gp - 8183));
    0x00001d9c move a0, s1               |         a0 = s1;
    0x00001da0 jalr t9                   |         t9 ();
    0x00001da4 lw gp, 0x20(sp)           |         gp = *(var_20h);
    0x00001da8 move a2, s0               |         a2 = s0;
    0x00001dac addiu a1, s6, 0x2b04      |         a1 = s6 + str.bit_rates;
    0x00001db0 lw t9, -0x7f80(gp)        |         t9 = sym.imp.json_object_set_new;
    0x00001db4 lw s0, -0x7fdc(gp)        |         s0 = *((gp - 8183));
    0x00001db8 move a0, s4               |         a0 = s4;
    0x00001dbc jalr t9                   |         t9 ();
    0x00001dc0 lw gp, 0x20(sp)           |         gp = *(var_20h);
    0x00001dc4 move a2, s1               |         a2 = s1;
    0x00001dc8 addiu a1, s0, 0x2b10      |         a1 = s0 + str.channels;
    0x00001dcc lw t9, -0x7f80(gp)        |         t9 = sym.imp.json_object_set_new;
    0x00001dd0 move a0, s4               |         a0 = s4;
    0x00001dd4 jalr t9                   |         t9 ();
    0x00001dd8 lw gp, 0x20(sp)           |         gp = *(var_20h);
    0x00001ddc move a1, s4               |         a1 = s4;
    0x00001de0 lw t9, -0x7f40(gp)        |         t9 = sym.imp.json_array_append_new;
    0x00001de4 move a0, s2               |         a0 = s2;
    0x00001de8 jalr t9                   |         t9 ();
    0x00001dec lw gp, 0x20(sp)           |         gp = *(var_20h);
                                         | label_8:
    0x00001df0 lw t9, -0x7fdc(gp)        |         t9 = *((gp - 8183));
    0x00001df4 addiu t9, t9, 0x1074      |         t9 += fcn.00001074;
    0x00001df8 lw a0, (fp)               |         a0 = *(fp);
    0x00001dfc bal 0x1074                |         fcn_00001074 ();
    0x00001e00 lw gp, 0x20(sp)           |         gp = *(var_20h);
    0x00001e04 lw a0, 0x2c(sp)           |         a0 = *(var_2ch_2);
    0x00001e08 move a2, s2               |         a2 = s2;
    0x00001e0c lw t9, -0x7f80(gp)        |         t9 = sym.imp.json_object_set_new;
    0x00001e10 move a1, v0               |         a1 = v0;
    0x00001e14 jalr t9                   |         t9 ();
    0x00001e18 lw gp, 0x20(sp)           |         gp = *(var_20h);
    0x00001e1c addiu s5, s5, 1           |         s5++;
    0x00001e20 addiu fp, fp, 4           |         fp += 4;
    0x00001e24 lw v0, 0x70(sp)           |         v0 = *(var_70h);
    0x00001e28 sltu v0, s5, v0           |         v0 = (s5 < v0) ? 1 : 0;
    0x00001e2c lw t9, -0x7f3c(gp)        |         t9 = sym.imp.json_array;
                                         |         if (v0 == 0) {
    0x00001e30 beqz v0, 0x2034           |             goto label_34;
                                         |         }
    0x00001e34 jalr t9                   |         t9 ();
    0x00001e38 nop                       |         
    0x00001e3c lw gp, 0x20(sp)           |         gp = *(var_20h);
    0x00001e40 lw t9, -0x7f3c(gp)        |         t9 = sym.imp.json_array;
    0x00001e44 move s2, v0               |         s2 = v0;
    0x00001e48 jalr t9                   |         t9 ();
    0x00001e4c lw gp, 0x20(sp)           |         gp = *(var_20h);
    0x00001e50 lw t9, -0x7f3c(gp)        |         t9 = sym.imp.json_array;
    0x00001e54 move s0, v0               |         s0 = v0;
    0x00001e58 jalr t9                   |         t9 ();
    0x00001e5c lw gp, 0x20(sp)           |         gp = *(var_20h);
    0x00001e60 lw v1, 0x30(sp)           |         v1 = *(var_30h_2);
    0x00001e64 lw a0, (fp)               |         a0 = *(fp);
    0x00001e68 lw t9, -0x7f60(gp)        |         t9 = sym.imp.g_ascii_strcasecmp;
    0x00001e6c addiu a1, v1, 0x2ae8      |         a1 = v1 + str.g711;
    0x00001e70 move s1, v0               |         s1 = v0;
    0x00001e74 jalr t9                   |         t9 ();
    0x00001e78 lw gp, 0x20(sp)           |         gp = *(var_20h);
    0x00001e7c beqz v0, 0x1d2c           |         
                                         |     }
    0x00001e80 lw a1, -0x7fdc(gp)        |     a1 = *((gp - 8183));
    0x00001e84 lw t9, -0x7f60(gp)        |     t9 = sym.imp.g_ascii_strcasecmp;
    0x00001e88 lw a0, (fp)               |     a0 = *(fp);
    0x00001e8c addiu a1, a1, 0x2b1c      |     a1 += str.g726;
    0x00001e90 jalr t9                   |     t9 ();
    0x00001e94 lw gp, 0x20(sp)           |     gp = *(var_20h);
                                         |     if (v0 == 0) {
    0x00001e98 bnez v0, 0x1ef8           |         
    0x00001e9c lw a1, -0x7fdc(gp)        |         a1 = *((gp - 8183));
    0x00001ea0 lw v0, -0x7fdc(gp)        |         v0 = *((gp - 8183));
    0x00001ea4 lw t9, -0x7f44(gp)        |         t9 = sym.imp.json_pack;
    0x00001ea8 addiu a2, zero, 0x1f40    |         a2 = aav.0x00001f40;
    0x00001eac addiu a1, a1, 0x2af0      |         a1 += str.sample_rate;
    0x00001eb0 addiu a0, v0, 0x2afc      |         a0 = v0 + str.si;
    0x00001eb4 jalr t9                   |         t9 ();
    0x00001eb8 lw gp, 0x20(sp)           |         gp = *(var_20h);
    0x00001ebc addiu a0, zero, 0x5dc0    |         a0 = 0x5dc0;
    0x00001ec0 move a1, zero             |         a1 = 0;
    0x00001ec4 lw t9, -0x7f4c(gp)        |         t9 = sym.imp.json_integer;
    0x00001ec8 move s4, v0               |         s4 = v0;
    0x00001ecc jalr t9                   |         t9 ();
    0x00001ed0 lw gp, 0x20(sp)           |         gp = *(var_20h);
    0x00001ed4 move a1, v0               |         a1 = v0;
    0x00001ed8 lw t9, -0x7f40(gp)        |         t9 = sym.imp.json_array_append_new;
    0x00001edc move a0, s0               |         a0 = s0;
    0x00001ee0 jalr t9                   |         t9 ();
    0x00001ee4 lw gp, 0x20(sp)           |         gp = *(var_20h);
    0x00001ee8 addiu a0, zero, 0x7d00    |         a0 = 0x7d00;
    0x00001eec move a1, zero             |         a1 = 0;
    0x00001ef0 lw t9, -0x7f4c(gp)        |         t9 = sym.imp.json_integer;
    0x00001ef4 b 0x1d5c                  |         goto label_7;
                                         |     }
    0x00001ef8 lw a1, -0x7fdc(gp)        |     a1 = *((gp - 8183));
    0x00001efc lw t9, -0x7f60(gp)        |     t9 = sym.imp.g_ascii_strcasecmp;
    0x00001f00 lw a0, (fp)               |     a0 = *(fp);
    0x00001f04 addiu a1, a1, 0x2964      |     a1 += 0x2964;
    0x00001f08 jalr t9                   |     t9 ();
    0x00001f0c lw gp, 0x20(sp)           |     gp = *(var_20h);
                                         |     if (v0 == 0) {
    0x00001f10 beqz v0, 0x22e4           |         goto label_35;
                                         |     }
    0x00001f14 lw a1, -0x7fdc(gp)        |     a1 = *((gp - 8183));
    0x00001f18 lw t9, -0x7f60(gp)        |     t9 = sym.imp.g_ascii_strcasecmp;
    0x00001f1c lw a0, (fp)               |     a0 = *(fp);
    0x00001f20 addiu a1, a1, 0x2b24      |     a1 += str.opus;
    0x00001f24 jalr t9                   |     t9 ();
    0x00001f28 lw gp, 0x20(sp)           |     gp = *(var_20h);
                                         |     if (v0 == 0) {
    0x00001f2c beqz v0, 0x2434           |         goto label_36;
                                         |     }
    0x00001f30 lw a1, -0x7fdc(gp)        |     a1 = *((gp - 8183));
    0x00001f34 lw t9, -0x7f60(gp)        |     t9 = sym.imp.g_ascii_strcasecmp;
    0x00001f38 lw a0, (fp)               |     a0 = *(fp);
    0x00001f3c addiu a1, a1, 0x2b2c      |     a1 += str.lpcm;
    0x00001f40 jalr t9                   |     t9 ();
    0x00001f44 lw gp, 0x20(sp)           |     gp = *(var_20h);
                                         |     if (v0 != 0) {
    0x00001f48 bnez v0, 0x1df0           |         goto label_8;
                                         |     }
    0x00001f4c lw a1, -0x7fdc(gp)        |     a1 = *((gp - 8183));
    0x00001f50 lw v0, -0x7fdc(gp)        |     v0 = *((gp - 8183));
    0x00001f54 lw t9, -0x7f44(gp)        |     t9 = sym.imp.json_pack;
    0x00001f58 ori a2, zero, 0xbb80      |     a2 = 0xbb80;
    0x00001f5c addiu a1, a1, 0x2af0      |     a1 += str.sample_rate;
    0x00001f60 addiu a0, v0, 0x2afc      |     a0 = v0 + str.si;
    0x00001f64 jalr t9                   |     t9 ();
    0x00001f68 lw gp, 0x20(sp)           |     gp = *(var_20h);
    0x00001f6c lui a0, 0x11              |     a0 = 0x119400;
    0x00001f70 ori a0, a0, 0x9400        |     
    0x00001f74 lw t9, -0x7f4c(gp)        |     t9 = sym.imp.json_integer;
    0x00001f78 move a1, zero             |     a1 = 0;
    0x00001f7c move s4, v0               |     s4 = v0;
    0x00001f80 jalr t9                   |     t9 ();
    0x00001f84 lw gp, 0x20(sp)           |     gp = *(var_20h);
    0x00001f88 move a0, s0               |     a0 = s0;
    0x00001f8c lw t9, -0x7f40(gp)        |     t9 = sym.imp.json_array_append_new;
    0x00001f90 lw s6, -0x7fdc(gp)        |     s6 = *((gp - 8183));
    0x00001f94 move a1, v0               |     a1 = v0;
    0x00001f98 jalr t9                   |     t9 ();
    0x00001f9c lw gp, 0x20(sp)           |     gp = *(var_20h);
    0x00001fa0 move a2, s0               |     a2 = s0;
    0x00001fa4 addiu a1, s6, 0x2b04      |     a1 = s6 + str.bit_rates;
    0x00001fa8 lw t9, -0x7f80(gp)        |     t9 = sym.imp.json_object_set_new;
    0x00001fac move a0, s4               |     a0 = s4;
    0x00001fb0 jalr t9                   |     t9 ();
    0x00001fb4 lw gp, 0x20(sp)           |     gp = *(var_20h);
    0x00001fb8 addiu a0, zero, 1         |     a0 = 1;
    0x00001fbc lw t9, -0x7f4c(gp)        |     t9 = sym.imp.json_integer;
    0x00001fc0 move a1, zero             |     a1 = 0;
    0x00001fc4 jalr t9                   |     t9 ();
    0x00001fc8 lw gp, 0x20(sp)           |     gp = *(var_20h);
    0x00001fcc move a1, v0               |     a1 = v0;
    0x00001fd0 lw t9, -0x7f40(gp)        |     t9 = sym.imp.json_array_append_new;
    0x00001fd4 lw s0, -0x7fdc(gp)        |     s0 = *((gp - 8183));
    0x00001fd8 move a0, s1               |     a0 = s1;
    0x00001fdc jalr t9                   |     t9 ();
    0x00001fe0 lw gp, 0x20(sp)           |     gp = *(var_20h);
    0x00001fe4 move a2, s1               |     a2 = s1;
    0x00001fe8 addiu a1, s0, 0x2b10      |     a1 = s0 + str.channels;
    0x00001fec lw t9, -0x7f80(gp)        |     t9 = sym.imp.json_object_set_new;
    0x00001ff0 move a0, s4               |     a0 = s4;
    0x00001ff4 jalr t9                   |     t9 ();
    0x00001ff8 lw gp, 0x20(sp)           |     gp = *(var_20h);
    0x00001ffc move a1, s4               |     a1 = s4;
    0x00002000 lw t9, -0x7f40(gp)        |     t9 = sym.imp.json_array_append_new;
    0x00002004 move a0, s2               |     a0 = s2;
    0x00002008 jalr t9                   |     t9 ();
    0x0000200c lw gp, 0x20(sp)           |     gp = *(var_20h);
    0x00002010 lw t9, -0x7f3c(gp)        |     t9 = sym.imp.json_array;
    0x00002014 jalr t9                   |     t9 ();
    0x00002018 nop                       |     
    0x0000201c lw gp, 0x20(sp)           |     gp = *(var_20h);
    0x00002020 lw t9, -0x7f3c(gp)        |     t9 = sym.imp.json_array;
    0x00002024 jalr t9                   |     t9 ();
    0x00002028 nop                       |     
    0x0000202c lw gp, 0x20(sp)           |     gp = *(var_20h);
    0x00002030 b 0x1df0                  |     goto label_8;
                                         | label_34:
    0x00002034 lw v0, -0x7fdc(gp)        |     v0 = *((gp - 8183));
    0x00002038 lw s0, 0x58(sp)           |     s0 = *(var_58h);
    0x0000203c addiu v0, v0, 0x2ae8      |     v0 += str.g711;
    0x00002040 sw v0, 0x28(sp)           |     *(var_28h_2) = v0;
    0x00002044 lw v0, -0x7fdc(gp)        |     v0 = *((gp - 8183));
    0x00002048 lw s1, 0x5c(sp)           |     s1 = *(var_5ch);
    0x0000204c sw v0, 0x48(sp)           |     *(var_48h) = v0;
    0x00002050 lw v0, -0x7fdc(gp)        |     v0 = *((gp - 8183));
    0x00002054 lw s2, 0x40(sp)           |     s2 = *(var_40h);
    0x00002058 addiu v0, v0, 0x2af0      |     v0 += str.sample_rate;
    0x0000205c sw v0, 0x30(sp)           |     *(var_30h_2) = v0;
    0x00002060 lw v0, -0x7fdc(gp)        |     v0 = *((gp - 8183));
    0x00002064 lw fp, 0x50(sp)           |     fp = *(var_50h);
    0x00002068 sw v0, 0x34(sp)           |     *(var_34h_2) = v0;
    0x0000206c lw v0, -0x7fdc(gp)        |     v0 = *((gp - 8183));
    0x00002070 move s6, zero             |     s6 = 0;
    0x00002074 addiu v0, v0, 0x1074      |     v0 += fcn.00001074;
    0x00002078 sw v0, 0x38(sp)           |     *(var_38h) = v0;
    0x0000207c sw s0, 0x4c(sp)           |     *(var_4ch) = s0;
                                         |     do {
    0x00002080 lw v0, 0x74(sp)           |         v0 = *(var_74h);
    0x00002084 sltu v0, s6, v0           |         v0 = (s6 < v0) ? 1 : 0;
    0x00002088 lw t9, -0x7f3c(gp)        |         t9 = sym.imp.json_array;
                                         |         if (v0 == 0) {
    0x0000208c beqz v0, 0x2260           |             goto label_37;
                                         |         }
    0x00002090 jalr t9                   |         t9 ();
    0x00002094 nop                       |         
    0x00002098 lw gp, 0x20(sp)           |         gp = *(var_20h);
    0x0000209c lw t9, -0x7f3c(gp)        |         t9 = sym.imp.json_array;
    0x000020a0 move s5, v0               |         s5 = v0;
    0x000020a4 jalr t9                   |         t9 ();
    0x000020a8 lw gp, 0x20(sp)           |         gp = *(var_20h);
    0x000020ac lw t9, -0x7f3c(gp)        |         t9 = sym.imp.json_array;
    0x000020b0 move s4, v0               |         s4 = v0;
    0x000020b4 jalr t9                   |         t9 ();
    0x000020b8 lw gp, 0x20(sp)           |         gp = *(var_20h);
    0x000020bc lw a0, (s2)               |         a0 = *(s2);
    0x000020c0 lw a1, 0x28(sp)           |         a1 = *(var_28h_2);
    0x000020c4 lw t9, -0x7f60(gp)        |         t9 = sym.imp.g_ascii_strcasecmp;
    0x000020c8 move s7, v0               |         s7 = v0;
    0x000020cc jalr t9                   |         t9 ();
    0x000020d0 lw gp, 0x20(sp)           |         gp = *(var_20h);
                                         |         if (v0 != 0) {
    0x000020d4 bnez v0, 0x21c4           |             goto label_38;
                                         |         }
    0x000020d8 lw v0, 0x34(sp)           |         v0 = *(var_34h_2);
    0x000020dc lw t9, -0x7f44(gp)        |         t9 = sym.imp.json_pack;
    0x000020e0 lw a1, 0x30(sp)           |         a1 = *(var_30h_2);
    0x000020e4 addiu a0, v0, 0x2afc      |         a0 = v0 + str.si;
    0x000020e8 addiu a2, zero, 0x1f40    |         a2 = aav.0x00001f40;
    0x000020ec jalr t9                   |         t9 ();
    0x000020f0 lw gp, 0x20(sp)           |         gp = *(var_20h);
    0x000020f4 ori a0, zero, 0xfa00      |         a0 = 0xfa00;
    0x000020f8 lw t9, -0x7f4c(gp)        |         t9 = sym.imp.json_integer;
                                         | label_10:
    0x000020fc move a1, zero             |         a1 = 0;
    0x00002100 move s0, v0               |         s0 = v0;
                                         | label_9:
    0x00002104 addiu s6, s6, 1           |         s6++;
    0x00002108 jalr t9                   |         t9 ();
    0x0000210c lw gp, 0x20(sp)           |         gp = *(var_20h);
    0x00002110 move a1, v0               |         a1 = v0;
    0x00002114 lw t9, -0x7f40(gp)        |         t9 = sym.imp.json_array_append_new;
    0x00002118 move a0, s4               |         a0 = s4;
    0x0000211c jalr t9                   |         t9 ();
    0x00002120 lw gp, 0x20(sp)           |         gp = *(var_20h);
    0x00002124 addiu a0, zero, 1         |         a0 = 1;
    0x00002128 move a1, zero             |         a1 = 0;
    0x0000212c lw t9, -0x7f4c(gp)        |         t9 = sym.imp.json_integer;
    0x00002130 addiu s2, s2, 4           |         s2 += 4;
    0x00002134 jalr t9                   |         t9 ();
    0x00002138 lw gp, 0x20(sp)           |         gp = *(var_20h);
    0x0000213c move a1, v0               |         a1 = v0;
    0x00002140 lw t9, -0x7f40(gp)        |         t9 = sym.imp.json_array_append_new;
    0x00002144 move a0, s7               |         a0 = s7;
    0x00002148 jalr t9                   |         t9 ();
    0x0000214c lw gp, 0x20(sp)           |         gp = *(var_20h);
    0x00002150 move a2, s4               |         a2 = s4;
    0x00002154 move a0, s0               |         a0 = s0;
    0x00002158 lw a1, -0x7fdc(gp)        |         a1 = *((gp - 8183));
    0x0000215c lw t9, -0x7f80(gp)        |         t9 = sym.imp.json_object_set_new;
    0x00002160 addiu a1, a1, 0x2b04      |         a1 += str.bit_rates;
    0x00002164 jalr t9                   |         t9 ();
    0x00002168 lw gp, 0x20(sp)           |         gp = *(var_20h);
    0x0000216c move a2, s7               |         a2 = s7;
    0x00002170 move a0, s0               |         a0 = s0;
    0x00002174 lw a1, -0x7fdc(gp)        |         a1 = *((gp - 8183));
    0x00002178 lw t9, -0x7f80(gp)        |         t9 = sym.imp.json_object_set_new;
    0x0000217c addiu a1, a1, 0x2b10      |         a1 += str.channels;
    0x00002180 jalr t9                   |         t9 ();
    0x00002184 lw gp, 0x20(sp)           |         gp = *(var_20h);
    0x00002188 move a1, s0               |         a1 = s0;
    0x0000218c lw t9, -0x7f40(gp)        |         t9 = sym.imp.json_array_append_new;
    0x00002190 move a0, s5               |         a0 = s5;
    0x00002194 jalr t9                   |         t9 ();
    0x00002198 lw t9, 0x38(sp)           |         t9 = *(var_38h);
    0x0000219c lw a0, -4(s2)             |         a0 = *((s2 - 1));
    0x000021a0 jalr t9                   |         t9 ();
    0x000021a4 lw gp, 0x20(sp)           |         gp = *(var_20h);
    0x000021a8 move a2, s5               |         a2 = s5;
    0x000021ac move a1, v0               |         a1 = v0;
    0x000021b0 lw t9, -0x7f80(gp)        |         t9 = sym.imp.json_object_set_new;
    0x000021b4 move a0, fp               |         a0 = fp;
    0x000021b8 jalr t9                   |         t9 ();
    0x000021bc lw gp, 0x20(sp)           |         gp = *(var_20h);
    0x000021c0 b 0x2080                  |         
                                         |     } while (1);
                                         | label_38:
    0x000021c4 lw v0, 0x48(sp)           |     v0 = *(var_48h);
    0x000021c8 lw t9, -0x7f60(gp)        |     t9 = sym.imp.g_ascii_strcasecmp;
    0x000021cc lw a0, (s2)               |     a0 = *(s2);
    0x000021d0 addiu a1, v0, 0x2b1c      |     a1 = v0 + str.g726;
    0x000021d4 jalr t9                   |     t9 ();
    0x000021d8 lw gp, 0x20(sp)           |     gp = *(var_20h);
    0x000021dc lw t9, -0x7f44(gp)        |     t9 = sym.imp.json_pack;
                                         |     if (v0 == 0) {
    0x000021e0 bnez v0, 0x2238           |         
    0x000021e4 lw v0, 0x34(sp)           |         v0 = *(var_34h_2);
    0x000021e8 lw a1, 0x30(sp)           |         a1 = *(var_30h_2);
    0x000021ec addiu a2, zero, 0x1f40    |         a2 = aav.0x00001f40;
    0x000021f0 addiu a0, v0, 0x2afc      |         a0 = v0 + str.si;
    0x000021f4 jalr t9                   |         t9 ();
    0x000021f8 lw gp, 0x20(sp)           |         gp = *(var_20h);
    0x000021fc addiu a0, zero, 0x5dc0    |         a0 = 0x5dc0;
    0x00002200 move a1, zero             |         a1 = 0;
    0x00002204 lw t9, -0x7f4c(gp)        |         t9 = sym.imp.json_integer;
    0x00002208 move s0, v0               |         s0 = v0;
    0x0000220c jalr t9                   |         t9 ();
    0x00002210 lw gp, 0x20(sp)           |         gp = *(var_20h);
    0x00002214 move a1, v0               |         a1 = v0;
    0x00002218 lw t9, -0x7f40(gp)        |         t9 = sym.imp.json_array_append_new;
    0x0000221c move a0, s4               |         a0 = s4;
    0x00002220 jalr t9                   |         t9 ();
    0x00002224 lw gp, 0x20(sp)           |         gp = *(var_20h);
    0x00002228 addiu a0, zero, 0x7d00    |         a0 = 0x7d00;
    0x0000222c move a1, zero             |         a1 = 0;
    0x00002230 lw t9, -0x7f4c(gp)        |         t9 = sym.imp.json_integer;
    0x00002234 b 0x2104                  |         goto label_9;
                                         |     }
    0x00002238 lw v0, 0x34(sp)           |     v0 = *(var_34h_2);
    0x0000223c lw a1, 0x30(sp)           |     a1 = *(var_30h_2);
    0x00002240 addiu a0, v0, 0x2afc      |     a0 = v0 + str.si;
    0x00002244 addiu a2, zero, 0x3e80    |     a2 = 0x3e80;
    0x00002248 jalr t9                   |     t9 ();
    0x0000224c lw gp, 0x20(sp)           |     gp = *(var_20h);
    0x00002250 lui a0, 1                 |     a0 = 0x1f400;
    0x00002254 ori a0, a0, 0xf400        |     
    0x00002258 lw t9, -0x7f4c(gp)        |     t9 = sym.imp.json_integer;
    0x0000225c b 0x20fc                  |     goto label_10;
                                         | label_37:
    0x00002260 lw a3, -0x7fdc(gp)        |     a3 = *((gp - 8183));
    0x00002264 lw a1, -0x7fdc(gp)        |     a1 = *((gp - 8183));
    0x00002268 lw a0, -0x7fdc(gp)        |     a0 = *((gp - 8183));
    0x0000226c lw v0, 0x50(sp)           |     v0 = *(var_50h);
    0x00002270 lw t9, -0x7f44(gp)        |     t9 = sym.imp.json_pack;
    0x00002274 lw a2, 0x2c(sp)           |     a2 = *(var_2ch_2);
    0x00002278 addiu a3, a3, 0x2b34      |     a3 += str.decoders;
    0x0000227c addiu a1, a1, 0x2b40      |     a1 += str.encoders;
    0x00002280 addiu a0, a0, 0x2b4c      |     a0 += str.so_so;
    0x00002284 sw v0, 0x10(sp)           |     *(var_10h_2) = v0;
    0x00002288 lw s0, 0x4c(sp)           |     s0 = *(var_4ch);
    0x0000228c jalr t9                   |     t9 ();
    0x00002290 lw gp, 0x20(sp)           |     gp = *(var_20h);
    0x00002294 move a2, s1               |     a2 = s1;
    0x00002298 move a1, v0               |     a1 = v0;
    0x0000229c lw t9, -0x7fdc(gp)        |     t9 = *((gp - 8183));
    0x000022a0 move a0, s0               |     a0 = s0;
    0x000022a4 addiu t9, t9, 0x155c      |     t9 += fcn.0000155c;
    0x000022a8 move s4, v0               |     s4 = v0;
    0x000022ac bal 0x155c                |     fcn_0000155c ();
    0x000022b0 move s2, v0               |     s2 = v0;
    0x000022b4 lw gp, 0x20(sp)           |     gp = *(var_20h);
                                         |     if (s4 == 0) {
    0x000022b8 beqz s4, 0x1960           |         goto label_11;
                                         |     }
    0x000022bc lw v1, 4(s4)              |     v1 = *((s4 + 1));
    0x000022c0 addiu v0, zero, -1        |     v0 = -1;
    0x000022c4 lw a0, 0x3c(sp)           |     a0 = *(var_3ch);
                                         |     if (v1 == v0) {
    0x000022c8 beq v1, v0, 0x1964        |         goto label_12;
                                         |     }
    0x000022cc lw t9, -0x7fdc(gp)        |     t9 = *((gp - 8183));
    0x000022d0 addiu t9, t9, 0x133c      |     t9 += fcn.0000133c;
    0x000022d4 move a0, s4               |     a0 = s4;
    0x000022d8 bal 0x133c                |     fcn_0000133c ();
    0x000022dc lw gp, 0x20(sp)           |     gp = *(var_20h);
    0x000022e0 b 0x1960                  |     goto label_11;
                                         | label_35:
    0x000022e4 lw s6, -0x7fdc(gp)        |     s6 = *((gp - 8183));
    0x000022e8 lw v0, -0x7fdc(gp)        |     v0 = *((gp - 8183));
    0x000022ec lw v1, -0x7fdc(gp)        |     v1 = *((gp - 8183));
    0x000022f0 lw a1, -0x7fdc(gp)        |     a1 = *((gp - 8183));
    0x000022f4 addiu s6, s6, 0x2c28      |     s6 += 0x2c28;
    0x000022f8 sw v0, 0x38(sp)           |     *(var_38h) = v0;
    0x000022fc sw v1, 0x48(sp)           |     *(var_48h) = v1;
    0x00002300 lw v0, -0x7fdc(gp)        |     v0 = *((gp - 8183));
    0x00002304 addiu v1, s6, 0x14        |     v1 = s6 + 0x14;
    0x00002308 sw v1, 0x34(sp)           |     *(var_34h_2) = v1;
    0x0000230c addiu v1, a1, 0x2af0      |     v1 = a1 + str.sample_rate;
    0x00002310 sw fp, 0x60(sp)           |     *(var_60h) = fp;
    0x00002314 sw v1, 0x4c(sp)           |     *(var_4ch) = v1;
    0x00002318 sw s5, 0x64(sp)           |     *(var_64h) = s5;
    0x0000231c move fp, v0               |     fp = v0;
                                         |     do {
    0x00002320 lw s4, (s6)               |         s4 = *(s6);
    0x00002324 lw v0, 0x38(sp)           |         v0 = *(var_38h);
    0x00002328 lw t9, -0x7f44(gp)        |         t9 = sym.imp.json_pack;
    0x0000232c lw a1, 0x4c(sp)           |         a1 = *(var_4ch);
    0x00002330 move a2, s4               |         a2 = s4;
    0x00002334 addiu a0, v0, 0x2afc      |         a0 = v0 + str.si;
    0x00002338 jalr t9                   |         t9 ();
    0x0000233c addiu v1, zero, 0x1f40    |         v1 = aav.0x00001f40;
    0x00002340 lw gp, 0x20(sp)           |         gp = *(var_20h);
    0x00002344 move s7, v0               |         s7 = v0;
                                         |         if (s4 == v1) {
    0x00002348 beq s4, v1, 0x249c        |             goto label_39;
                                         |         }
    0x0000234c addiu v0, zero, 0x3e80    |         v0 = 0x3e80;
    0x00002350 addiu v0, zero, 1         |         v0 = 1;
                                         |         if (s4 == v0) {
    0x00002354 beq s4, v0, 0x24a0        |             goto label_40;
                                         |         }
    0x00002358 addiu v0, zero, 0x7d00    |         v0 = 0x7d00;
    0x0000235c addiu v0, zero, 2         |         v0 = 2;
                                         |         if (s4 == v0) {
    0x00002360 beq s4, v0, 0x24a0        |             goto label_40;
                                         |         }
    0x00002364 ori v0, zero, 0xac44      |         v0 = 0xac44;
    0x00002368 addiu v0, zero, 3         |         v0 = 3;
                                         |         if (s4 == v0) {
    0x0000236c beq s4, v0, 0x24a0        |             goto label_40;
                                         |         }
    0x00002370 ori v0, zero, 0xbb80      |         v0 = 0xbb80;
    0x00002374 addiu v0, zero, 4         |         v0 = 4;
                                         |         if (s4 == v0) {
    0x00002378 beq s4, v0, 0x24a0        |             goto label_40;
                                         |         }
                                         | label_15:
    0x0000237c lw t9, -0x7f80(gp)        |         t9 = sym.imp.json_object_set_new;
                                         | label_16:
    0x00002380 move a2, s0               |         a2 = s0;
    0x00002384 addiu a1, fp, 0x2b04      |         a1 = fp + str.bit_rates;
    0x00002388 move a0, s7               |         a0 = s7;
    0x0000238c jalr t9                   |         t9 ();
    0x00002390 lw gp, 0x20(sp)           |         gp = *(var_20h);
    0x00002394 addiu a0, zero, 1         |         a0 = 1;
    0x00002398 move a1, zero             |         a1 = 0;
    0x0000239c lw t9, -0x7f4c(gp)        |         t9 = sym.imp.json_integer;
    0x000023a0 addiu s6, s6, 4           |         s6 += 4;
    0x000023a4 jalr t9                   |         t9 ();
    0x000023a8 lw gp, 0x20(sp)           |         gp = *(var_20h);
    0x000023ac move a0, s1               |         a0 = s1;
    0x000023b0 lw t9, -0x7f40(gp)        |         t9 = sym.imp.json_array_append_new;
    0x000023b4 move a1, v0               |         a1 = v0;
    0x000023b8 jalr t9                   |         t9 ();
    0x000023bc lw gp, 0x20(sp)           |         gp = *(var_20h);
    0x000023c0 lw v0, 0x48(sp)           |         v0 = *(var_48h);
    0x000023c4 move a2, s1               |         a2 = s1;
    0x000023c8 lw t9, -0x7f80(gp)        |         t9 = sym.imp.json_object_set_new;
    0x000023cc addiu a1, v0, 0x2b10      |         a1 = v0 + str.channels;
    0x000023d0 move a0, s7               |         a0 = s7;
    0x000023d4 jalr t9                   |         t9 ();
    0x000023d8 lw gp, 0x20(sp)           |         gp = *(var_20h);
    0x000023dc move a1, s7               |         a1 = s7;
    0x000023e0 lw t9, -0x7f40(gp)        |         t9 = sym.imp.json_array_append_new;
    0x000023e4 move a0, s2               |         a0 = s2;
    0x000023e8 jalr t9                   |         t9 ();
    0x000023ec lw gp, 0x20(sp)           |         gp = *(var_20h);
    0x000023f0 lw t9, -0x7f3c(gp)        |         t9 = sym.imp.json_array;
    0x000023f4 jalr t9                   |         t9 ();
    0x000023f8 nop                       |         
    0x000023fc lw gp, 0x20(sp)           |         gp = *(var_20h);
    0x00002400 lw t9, -0x7f3c(gp)        |         t9 = sym.imp.json_array;
    0x00002404 move s0, v0               |         s0 = v0;
    0x00002408 jalr t9                   |         t9 ();
    0x0000240c move s1, v0               |         s1 = v0;
    0x00002410 lw v0, 0x34(sp)           |         v0 = *(var_34h_2);
    0x00002414 lw gp, 0x20(sp)           |         gp = *(var_20h);
    0x00002418 bne s6, v0, 0x2320        |         
                                         |     } while (s6 != v0);
    0x0000241c lw fp, 0x60(sp)           |     fp = *(var_60h);
    0x00002420 lw s5, 0x64(sp)           |     s5 = *(var_64h);
    0x00002424 b 0x1df0                  |     goto label_8;
                                         | label_33:
    0x00002428 lw v0, -0x7fdc(gp)        |     v0 = *((gp - 8183));
    0x0000242c addiu v0, v0, 0x2a64      |     v0 += str.myContext;
    0x00002430 b 0x1bb4                  |     goto label_13;
                                         | label_36:
    0x00002434 lw s4, -0x7fdc(gp)        |     s4 = *((gp - 8183));
    0x00002438 lw v0, -0x7fdc(gp)        |     v0 = *((gp - 8183));
    0x0000243c addiu s4, s4, 0x2c28      |     s4 += 0x2c28;
    0x00002440 sw v0, 0x4c(sp)           |     *(var_4ch) = v0;
    0x00002444 addiu v0, s4, 0x14        |     v0 = s4 + 0x14;
    0x00002448 sw v0, 0x34(sp)           |     *(var_34h_2) = v0;
    0x0000244c lw v0, -0x7fdc(gp)        |     v0 = *((gp - 8183));
    0x00002450 sw s5, 0x38(sp)           |     *(var_38h) = s5;
    0x00002454 addiu v0, v0, 0x2af0      |     v0 += str.sample_rate;
    0x00002458 sw v0, 0x48(sp)           |     *(var_48h) = v0;
    0x0000245c lw v0, (s4)               |     v0 = *(s4);
                                         |     do {
    0x00002460 addiu v1, zero, 0x1f40    |         v1 = aav.0x00001f40;
    0x00002464 addiu v1, zero, 0x3e80    |         v1 = 0x3e80;
                                         |         if (v0 == v1) {
    0x00002468 beq v0, v1, 0x2518        |             goto label_41;
                                         |         }
    0x0000246c ori v1, zero, 0xbb80      |         v1 = 0xbb80;
                                         |         if (v0 == v1) {
    0x00002470 beq v0, v1, 0x262c        |             goto label_42;
                                         |         }
    0x00002474 lw v0, 0x4c(sp)           |         v0 = *(var_4ch);
                                         |         if (v0 == v1) {
    0x00002478 beq v0, v1, 0x2654        |             goto label_43;
                                         |         }
                                         | label_17:
    0x0000247c lw v0, 0x34(sp)           |         v0 = *(var_34h_2);
    0x00002480 addiu s4, s4, 4           |         s4 += 4;
    0x00002484 lw v0, (s4)               |         v0 = *(s4);
    0x00002488 bnel s4, v0, 0x2460       |         
                                         |     } while (s4 == v0);
    0x0000248c lw s5, 0x38(sp)           |     s5 = *(var_38h);
    0x00002490 b 0x1df0                  |     goto label_8;
                                         | label_28:
    0x00002494 addiu v0, zero, -1        |     v0 = -1;
    0x00002498 b 0x1ac4                  |     goto label_14;
                                         | label_39:
    0x0000249c move v0, zero             |     v0 = 0;
                                         | label_40:
    0x000024a0 lw v1, 0x54(sp)           |     v1 = *(var_54h);
    0x000024a4 sll v0, v0, 3             |     v0 <<= 3;
    0x000024a8 addu v0, v1, v0           |     v0 = v1 + v0;
    0x000024ac lbu v1, 4(v0)             |     v1 = *((v0 + 4));
    0x000024b0 lbu s4, 5(v0)             |     s4 = *((v0 + 5));
    0x000024b4 sltu v0, v1, s4           |     v0 = (v1 < s4) ? 1 : 0;
    0x000024b8 lw v0, 0x28(sp)           |     v0 = *(var_28h_2);
                                         |     if (v0 == 0) {
    0x000024bc beqz v0, 0x237c           |         goto label_15;
                                         |     }
    0x000024c0 sll v1, v1, 2             |     v1 <<= 2;
    0x000024c4 sll s4, s4, 2             |     s4 <<= 2;
    0x000024c8 addu s5, v0, v1           |     s5 = v0 + v1;
    0x000024cc addu s4, v0, s4           |     s4 = v0 + s4;
                                         |     do {
    0x000024d0 lw t9, -0x7f4c(gp)        |         t9 = sym.imp.json_integer;
    0x000024d4 lw a0, (s5)               |         a0 = *(s5);
    0x000024d8 move a1, zero             |         a1 = 0;
    0x000024dc jalr t9                   |         t9 ();
    0x000024e0 lw gp, 0x20(sp)           |         gp = *(var_20h);
    0x000024e4 move a1, v0               |         a1 = v0;
    0x000024e8 move a0, s0               |         a0 = s0;
    0x000024ec lw t9, -0x7f40(gp)        |         t9 = sym.imp.json_array_append_new;
    0x000024f0 addiu s5, s5, 4           |         s5 += 4;
    0x000024f4 jalr t9                   |         t9 ();
    0x000024f8 lw gp, 0x20(sp)           |         gp = *(var_20h);
    0x000024fc bne s5, s4, 0x24d0        |         
                                         |     } while (s5 != s4);
    0x00002500 lw t9, -0x7f80(gp)        |     t9 = sym.imp.json_object_set_new;
    0x00002504 b 0x2380                  |     goto label_16;
                                         | label_41:
    0x00002518 lw v0, 0x4c(sp)           |     v0 = *(var_4ch);
    0x0000251c lw t9, -0x7f44(gp)        |     t9 = sym.imp.json_pack;
    0x00002520 lw a1, 0x48(sp)           |     a1 = *(var_48h);
    0x00002524 addiu a2, zero, 0x1f40    |     a2 = aav.0x00001f40;
    0x00002528 addiu a0, v0, 0x2afc      |     a0 = v0 + str.si;
    0x0000252c jalr t9                   |     t9 ();
    0x00002530 lw gp, 0x20(sp)           |     gp = *(var_20h);
    0x00002534 move s7, v0               |     s7 = v0;
    0x00002538 move v0, zero             |     v0 = 0;
                                         | label_18:
    0x0000253c lw v1, 0x54(sp)           |     v1 = *(var_54h);
    0x00002540 sll v0, v0, 3             |     v0 <<= 3;
    0x00002544 addu v0, v1, v0           |     v0 = v1 + v0;
    0x00002548 lbu s5, 4(v0)             |     s5 = *((v0 + 4));
    0x0000254c lbu s6, 5(v0)             |     s6 = *((v0 + 5));
    0x00002550 b 0x2584                  |     
                                         |     while (v0 != 0) {
    0x00002554 sll a0, s5, 2             |         a0 = s5 << 2;
    0x00002558 lw t9, -0x7f4c(gp)        |         t9 = sym.imp.json_integer;
    0x0000255c lwx a0, a0(v0)            |         __asm ("lwx a0, a0(v0)");
    0x00002560 move a1, zero             |         a1 = 0;
    0x00002564 jalr t9                   |         t9 ();
    0x00002568 lw gp, 0x20(sp)           |         gp = *(var_20h);
    0x0000256c move a1, v0               |         a1 = v0;
    0x00002570 move a0, s0               |         a0 = s0;
    0x00002574 lw t9, -0x7f40(gp)        |         t9 = sym.imp.json_array_append_new;
    0x00002578 addiu s5, s5, 1           |         s5++;
    0x0000257c jalr t9                   |         t9 ();
    0x00002580 lw gp, 0x20(sp)           |         gp = *(var_20h);
    0x00002584 sltu v0, s5, s6           |         v0 = (s5 < s6) ? 1 : 0;
    0x00002588 lw v0, 0x28(sp)           |         v0 = *(var_28h_2);
    0x0000258c bnez v0, 0x2554           |         
                                         |     }
    0x00002590 lw a1, -0x7fdc(gp)        |     a1 = *((gp - 8183));
    0x00002594 lw t9, -0x7f80(gp)        |     t9 = sym.imp.json_object_set_new;
    0x00002598 move a2, s0               |     a2 = s0;
    0x0000259c addiu a1, a1, 0x2b04      |     a1 += str.bit_rates;
    0x000025a0 move a0, s7               |     a0 = s7;
    0x000025a4 jalr t9                   |     t9 ();
    0x000025a8 lw gp, 0x20(sp)           |     gp = *(var_20h);
    0x000025ac addiu a0, zero, 1         |     a0 = 1;
    0x000025b0 lw t9, -0x7f4c(gp)        |     t9 = sym.imp.json_integer;
    0x000025b4 move a1, zero             |     a1 = 0;
    0x000025b8 jalr t9                   |     t9 ();
    0x000025bc lw gp, 0x20(sp)           |     gp = *(var_20h);
    0x000025c0 move a0, s1               |     a0 = s1;
    0x000025c4 lw t9, -0x7f40(gp)        |     t9 = sym.imp.json_array_append_new;
    0x000025c8 lw s0, -0x7fdc(gp)        |     s0 = *((gp - 8183));
    0x000025cc move a1, v0               |     a1 = v0;
    0x000025d0 jalr t9                   |     t9 ();
    0x000025d4 lw gp, 0x20(sp)           |     gp = *(var_20h);
    0x000025d8 move a2, s1               |     a2 = s1;
    0x000025dc addiu a1, s0, 0x2b10      |     a1 = s0 + str.channels;
    0x000025e0 lw t9, -0x7f80(gp)        |     t9 = sym.imp.json_object_set_new;
    0x000025e4 move a0, s7               |     a0 = s7;
    0x000025e8 jalr t9                   |     t9 ();
    0x000025ec lw gp, 0x20(sp)           |     gp = *(var_20h);
    0x000025f0 move a1, s7               |     a1 = s7;
    0x000025f4 lw t9, -0x7f40(gp)        |     t9 = sym.imp.json_array_append_new;
    0x000025f8 move a0, s2               |     a0 = s2;
    0x000025fc jalr t9                   |     t9 ();
    0x00002600 lw gp, 0x20(sp)           |     gp = *(var_20h);
    0x00002604 lw t9, -0x7f3c(gp)        |     t9 = sym.imp.json_array;
    0x00002608 jalr t9                   |     t9 ();
    0x0000260c nop                       |     
    0x00002610 lw gp, 0x20(sp)           |     gp = *(var_20h);
    0x00002614 lw t9, -0x7f3c(gp)        |     t9 = sym.imp.json_array;
    0x00002618 move s0, v0               |     s0 = v0;
    0x0000261c jalr t9                   |     t9 ();
    0x00002620 move s1, v0               |     s1 = v0;
    0x00002624 lw gp, 0x20(sp)           |     gp = *(var_20h);
    0x00002628 b 0x247c                  |     goto label_17;
                                         | label_42:
    0x0000262c lw v0, 0x4c(sp)           |     v0 = *(var_4ch);
    0x00002630 lw t9, -0x7f44(gp)        |     t9 = sym.imp.json_pack;
    0x00002634 lw a1, 0x48(sp)           |     a1 = *(var_48h);
    0x00002638 addiu a2, zero, 0x3e80    |     a2 = 0x3e80;
    0x0000263c addiu a0, v0, 0x2afc      |     a0 = v0 + str.si;
    0x00002640 jalr t9                   |     t9 ();
    0x00002644 move s7, v0               |     s7 = v0;
    0x00002648 lw gp, 0x20(sp)           |     gp = *(var_20h);
    0x0000264c addiu v0, zero, 1         |     v0 = 1;
    0x00002650 b 0x253c                  |     goto label_18;
                                         | label_43:
    0x00002654 lw t9, -0x7f44(gp)        |     t9 = sym.imp.json_pack;
    0x00002658 lw a1, 0x48(sp)           |     a1 = *(var_48h);
    0x0000265c ori a2, zero, 0xbb80      |     a2 = 0xbb80;
    0x00002660 addiu a0, v0, 0x2afc      |     a0 = v0 + str.si;
    0x00002664 jalr t9                   |     t9 ();
    0x00002668 move s7, v0               |     s7 = v0;
    0x0000266c lw gp, 0x20(sp)           |     gp = *(var_20h);
    0x00002670 addiu v0, zero, 4         |     v0 = 4;
    0x00002674 b 0x253c                  |     goto label_18;
                                         | label_30:
    0x00002678 lw t9, -0x7f5c(gp)        |     t9 = sym.imp.__stack_chk_fail;
    0x0000267c jalr t9                   |     t9 ();
    0x00002680 nop                       |     
    0x00002684 nop                       |     
    0x00002688 nop                       |     
    0x0000268c nop                       |     
                                         | }

[*] Function printf used 3 times streamingcapabilities.cgi