[*] Binary protection state of streamprofile.cgi

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


[*] Function printf tear down of streamprofile.cgi

    ; assembly                               | /* r2dec pseudo code output */
                                             | /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/html/axis-cgi/streamprofile.cgi @ 0x3548 */
                                             | #include <stdint.h>
                                             |  
    ; (fcn) sym.handle_create_method ()      | void handle_create_method () {
    0x00003548 lui gp, 2                     |     
    0x0000354c addiu gp, gp, -0x6538         |     
    0x00003550 addu gp, gp, t9               |     gp += t9;
    0x00003554 addiu sp, sp, -0x1e8          |     
    0x00003558 lw t9, -0x7ec4(gp)            |     t9 = sym.imp.cli_resetOptions;
    0x0000355c sw s4, 0x1d0(sp)              |     *(var_1d0h) = s4;
    0x00003560 lw s4, -0x7f34(gp)            |     s4 = *((gp - 8141));
    0x00003564 sw s0, 0x1c0(sp)              |     *(var_1c0h) = s0;
    0x00003568 lw s0, -0x7fdc(gp)            |     s0 = *((gp - 8183));
    0x0000356c lw v0, (s4)                   |     v0 = *(s4);
    0x00003570 sw s2, 0x1c8(sp)              |     *(var_1c8h) = s2;
    0x00003574 addiu s2, sp, 0x8c            |     s2 = sp + 0x8c;
    0x00003578 sw gp, 0x20(sp)               |     *(var_20h) = gp;
    0x0000357c sw ra, 0x1e4(sp)              |     *(var_1e4h) = ra;
    0x00003580 sw s5, 0x1d4(sp)              |     *(var_1d4h) = s5;
    0x00003584 sw a1, 0x28(sp)               |     *(var_28h) = a1;
    0x00003588 move s5, a0                   |     s5 = a0;
    0x0000358c sw v0, 0x1bc(sp)              |     *(var_1bch) = v0;
    0x00003590 sw fp, 0x1e0(sp)              |     *(var_1e0h) = fp;
    0x00003594 sw s7, 0x1dc(sp)              |     *(var_1dch) = s7;
    0x00003598 sw s6, 0x1d8(sp)              |     *(var_1d8h) = s6;
    0x0000359c sw s3, 0x1cc(sp)              |     *(var_1cch) = s3;
    0x000035a0 sw s1, 0x1c4(sp)              |     *(var_1c4h) = s1;
    0x000035a4 sw zero, 0x74(sp)             |     *(var_74h) = 0;
    0x000035a8 sw zero, 0x7c(sp)             |     *(var_7ch) = 0;
    0x000035ac sw s0, 0x30(sp)               |     *(var_30h) = s0;
    0x000035b0 move a0, s2                   |     a0 = s2;
    0x000035b4 jalr t9                       |     t9 ();
    0x000035b8 lw gp, 0x20(sp)               |     gp = *(var_20h);
    0x000035bc addiu v0, sp, 0x74            |     v0 = sp + 0x74;
    0x000035c0 sw v0, 0x10(sp)               |     *(var_10h) = v0;
    0x000035c4 lw a1, -0x7fdc(gp)            |     a1 = *((gp - 8183));
    0x000035c8 lw t9, -0x7fa0(gp)            |     t9 = sym.parse_common_properties;
    0x000035cc addiu a3, sp, 0x70            |     a3 = sp + 0x70;
    0x000035d0 addiu a2, s0, 0x4710          |     a2 = s0 + 0x4710;
    0x000035d4 addiu a1, a1, 0x4530          |     a1 += str.create;
    0x000035d8 move a0, s5                   |     a0 = s5;
    0x000035dc bal 0x202c                    |     sym_parse_common_properties ();
    0x000035e0 lw gp, 0x20(sp)               |     gp = *(var_20h);
                                             |     if (v0 != 0) {
    0x000035e4 beqz v0, 0x35f4               |         
    0x000035e8 lw v0, 0x74(sp)               |         v0 = *(var_74h);
    0x000035ec lw s0, -0x7fdc(gp)            |         s0 = *((gp - 8183));
                                             |         if (v0 == 0) {
    0x000035f0 beqz v0, 0x3648               |             goto label_14;
                                             |         }
                                             |     }
                                             | label_4:
    0x000035f4 lw t9, -0x7f54(gp)            |     t9 = sym.imp.json_object_size;
                                             | label_3:
    0x000035f8 lw a0, 0x28(sp)               |     a0 = *(var_28h);
    0x000035fc jalr t9                       |     t9 ();
    0x00003600 lw gp, 0x20(sp)               |     gp = *(var_20h);
                                             |     if (v0 == 0) {
    0x00003604 beqz v0, 0x3a18               |         goto label_15;
                                             |     }
                                             | label_1:
    0x00003608 lw a0, 0x1bc(sp)              |     a0 = *(var_1bch);
    0x0000360c lw v1, (s4)                   |     v1 = *(s4);
    0x00003610 addiu v0, zero, 1             |     v0 = 1;
                                             |     if (a0 != v1) {
    0x00003614 bne a0, v1, 0x3c4c            |         goto label_16;
                                             |     }
    0x00003618 lw ra, 0x1e4(sp)              |     ra = *(var_1e4h);
    0x0000361c lw fp, 0x1e0(sp)              |     fp = *(var_1e0h);
    0x00003620 lw s7, 0x1dc(sp)              |     s7 = *(var_1dch);
    0x00003624 lw s6, 0x1d8(sp)              |     s6 = *(var_1d8h);
    0x00003628 lw s5, 0x1d4(sp)              |     s5 = *(var_1d4h);
    0x0000362c lw s4, 0x1d0(sp)              |     s4 = *(var_1d0h);
    0x00003630 lw s3, 0x1cc(sp)              |     s3 = *(var_1cch);
    0x00003634 lw s2, 0x1c8(sp)              |     s2 = *(var_1c8h);
    0x00003638 lw s1, 0x1c4(sp)              |     s1 = *(var_1c4h);
    0x0000363c lw s0, 0x1c0(sp)              |     s0 = *(var_1c0h);
    0x00003640 addiu sp, sp, 0x1e8           |     
    0x00003644 jr ra                         |     return v0;
                                             | label_14:
    0x00003648 lw a1, -0x7fdc(gp)            |     a1 = *((gp - 8183));
    0x0000364c lw t9, -0x7ec0(gp)            |     t9 = sym.imp.json_unpack;
    0x00003650 addiu v0, sp, 0x88            |     v0 = sp + 0x88;
    0x00003654 sw v0, 0x3c(sp)               |     *(var_3ch_2) = v0;
    0x00003658 move a3, v0                   |     a3 = v0;
    0x0000365c addiu a2, s0, 0x46dc          |     a2 = s0 + str.params;
    0x00003660 addiu a1, a1, 0x47cc          |     a1 += str.so;
    0x00003664 move a0, s5                   |     a0 = s5;
    0x00003668 sw zero, 0x88(sp)             |     *(var_88h) = 0;
    0x0000366c jalr t9                       |     t9 ();
    0x00003670 lw gp, 0x20(sp)               |     gp = *(var_20h);
                                             |     if (v0 != 0) {
    0x00003674 bnez v0, 0x3b60               |         goto label_17;
                                             |     }
    0x00003678 lw t9, -0x7f30(gp)            |     t9 = sym.imp.json_object_get;
    0x0000367c addiu a1, s0, 0x46dc          |     a1 = s0 + str.params;
    0x00003680 move a0, s5                   |     a0 = s5;
    0x00003684 jalr t9                       |     t9 ();
    0x00003688 sw v0, 0x2c(sp)               |     *(var_2ch_2) = v0;
    0x0000368c lw gp, 0x20(sp)               |     gp = *(var_20h);
                                             |     if (v0 == 0) {
    0x00003690 beqz v0, 0x3b60               |         goto label_17;
                                             |     }
    0x00003694 lw a0, 0x2c(sp)               |     a0 = *(var_2ch_2);
    0x00003698 addiu v0, zero, -1            |     v0 = -1;
    0x0000369c lw v1, 4(a0)                  |     v1 = *((a0 + 1));
                                             |     if (v1 != v0) {
    0x000036a0 bne v1, v0, 0x3a3c            |         goto label_18;
                                             |     }
    0x000036a4 nop                           |     
    0x000036a8 lw a1, -0x7fdc(gp)            |     a1 = *((gp - 8183));
                                             | label_2:
    0x000036ac lw t9, -0x7f30(gp)            |     t9 = sym.imp.json_object_get;
    0x000036b0 lw a0, 0x2c(sp)               |     a0 = *(var_2ch_2);
    0x000036b4 addiu a1, a1, 0x47a8          |     a1 += str.streamProfile;
    0x000036b8 jalr t9                       |     t9 ();
    0x000036bc sw v0, 0x38(sp)               |     *(var_38h_2) = v0;
    0x000036c0 lw gp, 0x20(sp)               |     gp = *(var_20h);
                                             |     if (v0 == 0) {
    0x000036c4 beqz v0, 0x3a60               |         goto label_19;
                                             |     }
    0x000036c8 lw t9, -0x7ee4(gp)            |     t9 = sym.imp.json_array_size;
    0x000036cc lw a0, 0x38(sp)               |     a0 = *(var_38h_2);
    0x000036d0 jalr t9                       |     t9 ();
    0x000036d4 lw gp, 0x20(sp)               |     gp = *(var_20h);
    0x000036d8 addiu a0, sp, 0x7c            |     a0 = sp + 0x7c;
    0x000036dc sw v0, 0x58(sp)               |     *(var_58h) = v0;
    0x000036e0 lw t9, -0x7fdc(gp)            |     t9 = *((gp - 8183));
    0x000036e4 addiu t9, t9, 0x21d0          |     t9 += fcn.000021d0;
    0x000036e8 move s0, v0                   |     s0 = v0;
    0x000036ec bal 0x21d0                    |     fcn_000021d0 ();
    0x000036f0 lw gp, 0x20(sp)               |     gp = *(var_20h);
                                             |     if (v0 == 0) {
    0x000036f4 beqz v0, 0x3b6c               |         goto label_20;
                                             |     }
    0x000036f8 lw v0, -0x7fdc(gp)            |     v0 = *((gp - 8183));
                                             |     if (s0 <= 0) {
    0x000036fc blez s0, 0x3c14               |         goto label_21;
                                             |     }
    0x00003700 lw v1, -0x7fdc(gp)            |     v1 = *((gp - 8183));
    0x00003704 sw v0, 0x4c(sp)               |     *(var_4ch) = v0;
    0x00003708 lw v0, -0x7fdc(gp)            |     v0 = *((gp - 8183));
    0x0000370c sw v1, 0x5c(sp)               |     *(var_5ch) = v1;
    0x00003710 sw v0, 0x44(sp)               |     *(var_44h_2) = v0;
    0x00003714 lw v0, -0x7fdc(gp)            |     v0 = *((gp - 8183));
    0x00003718 move fp, zero                 |     fp = 0;
    0x0000371c sw v0, 0x60(sp)               |     *(var_60h) = v0;
    0x00003720 lw v0, -0x7fdc(gp)            |     v0 = *((gp - 8183));
    0x00003724 sw zero, 0x34(sp)             |     *(var_34h_2) = 0;
    0x00003728 sw v0, 0x6c(sp)               |     *(var_6ch) = v0;
    0x0000372c addiu v0, sp, 0x84            |     v0 = sp + 0x84;
    0x00003730 sw v0, 0x54(sp)               |     *(var_54h) = v0;
    0x00003734 lw v0, -0x7fdc(gp)            |     v0 = *((gp - 8183));
    0x00003738 addiu s7, v1, 0x4730          |     s7 = v1 + str.root.StreamProfile;
    0x0000373c addiu v0, v0, 0x4790          |     v0 += str.parameters;
    0x00003740 sw v0, 0x48(sp)               |     *(var_48h) = v0;
    0x00003744 addiu v0, sp, 0x80            |     v0 = sp + 0x80;
    0x00003748 sw v0, 0x50(sp)               |     *(var_50h) = v0;
    0x0000374c lw v0, -0x7fdc(gp)            |     v0 = *((gp - 8183));
    0x00003750 sw s5, 0x64(sp)               |     *(var_64h) = s5;
    0x00003754 addiu v0, v0, 0x4778          |     v0 += str.description;
    0x00003758 sw v0, 0x40(sp)               |     *(var_40h_2) = v0;
    0x0000375c lw v0, -0x7fdc(gp)            |     v0 = *((gp - 8183));
    0x00003760 addiu s3, v0, 0x4744          |     s3 = v0 + str._s.S_d.Name;
    0x00003764 lw v0, -0x7fdc(gp)            |     v0 = *((gp - 8183));
    0x00003768 addiu v0, v0, 0x47e8          |     v0 += str._s._s.Name;
    0x0000376c sw v0, 0x68(sp)               |     *(var_68h) = v0;
    0x00003770 lw t9, -0x7edc(gp)            |     t9 = sym.imp.json_array_get;
                                             | label_0:
    0x00003774 lw a0, 0x38(sp)               |     a0 = *(var_38h_2);
    0x00003778 move a1, fp                   |     a1 = fp;
    0x0000377c jalr t9                       |     t9 ();
    0x00003780 lw v1, 0x54(sp)               |     v1 = *(var_54h);
    0x00003784 lw gp, 0x20(sp)               |     gp = *(var_20h);
    0x00003788 sw v1, 0x1c(sp)               |     *(var_1ch) = v1;
    0x0000378c lw v1, 0x48(sp)               |     v1 = *(var_48h);
    0x00003790 lw a3, 0x3c(sp)               |     a3 = *(var_3ch_2);
    0x00003794 sw v1, 0x18(sp)               |     *(var_18h_2) = v1;
    0x00003798 lw v1, 0x50(sp)               |     v1 = *(var_50h);
    0x0000379c lw t9, -0x7ec0(gp)            |     t9 = sym.imp.json_unpack;
    0x000037a0 sw v1, 0x14(sp)               |     *(var_14h) = v1;
    0x000037a4 lw v1, 0x40(sp)               |     v1 = *(var_40h_2);
    0x000037a8 move a0, v0                   |     a0 = v0;
    0x000037ac sw v1, 0x10(sp)               |     *(var_10h) = v1;
    0x000037b0 lw v1, 0x4c(sp)               |     v1 = *(var_4ch);
    0x000037b4 addiu a2, v1, 0x4728          |     a2 = v1 + str.name;
    0x000037b8 lw v1, 0x44(sp)               |     v1 = *(var_44h_2);
    0x000037bc addiu a1, v1, 0x4784          |     a1 = v1 + str.ssssss;
    0x000037c0 jalr t9                       |     t9 ();
    0x000037c4 lw v0, 0x88(sp)               |     v0 = *(var_88h);
    0x000037c8 lw gp, 0x20(sp)               |     gp = *(var_20h);
                                             |     if (v0 == 0) {
    0x000037cc beqz v0, 0x3b78               |         goto label_22;
                                             |     }
    0x000037d0 lw v0, 0x80(sp)               |     v0 = *(var_80h);
    0x000037d4 lw v0, 0x84(sp)               |     v0 = *(var_84h);
                                             |     if (v0 == 0) {
    0x000037d8 beqz v0, 0x3b78               |         goto label_22;
                                             |     }
    0x000037dc lw v0, 0x7c(sp)               |     v0 = *(var_7ch);
                                             |     if (v0 == 0) {
    0x000037e0 beqz v0, 0x3b78               |         goto label_22;
                                             |     }
    0x000037e4 addiu s6, sp, 0x78            |     s6 = sp + 0x78;
                                             |     if (v0 <= 0) {
    0x000037e8 blez v0, 0x3894               |         goto label_23;
                                             |     }
    0x000037ec move s0, zero                 |     s0 = 0;
    0x000037f0 addiu s1, sp, 0xbc            |     s1 = sp + 0xbc;
    0x000037f4 addiu s6, sp, 0x78            |     s6 = sp + 0x78;
    0x000037f8 lw t9, -0x7ee0(gp)            |     t9 = sym.imp.memset;
                                             |     do {
    0x000037fc addiu a2, zero, 0x100         |         a2 = 0x100;
    0x00003800 move a1, zero                 |         a1 = 0;
    0x00003804 move a0, s1                   |         a0 = s1;
    0x00003808 jalr t9                       |         t9 ();
    0x0000380c lw gp, 0x20(sp)               |         gp = *(var_20h);
    0x00003810 addiu a3, zero, 0x100         |         a3 = 0x100;
    0x00003814 addiu a2, zero, 1             |         a2 = 1;
    0x00003818 lw t9, -0x7f68(gp)            |         t9 = sym.imp.__snprintf_chk
    0x0000381c addiu a1, zero, 0x100         |         a1 = 0x100;
    0x00003820 move a0, s1                   |         a0 = s1;
    0x00003824 sw s0, 0x18(sp)               |         *(var_18h_2) = s0;
    0x00003828 sw s7, 0x14(sp)               |         *(var_14h) = s7;
    0x0000382c sw s3, 0x10(sp)               |         *(var_10h) = s3;
    0x00003830 jalr t9                       |         t9 ();
    0x00003834 lw gp, 0x20(sp)               |         gp = *(var_20h);
    0x00003838 move a2, s6                   |         a2 = s6;
    0x0000383c move a1, s2                   |         a1 = s2;
    0x00003840 lw t9, -0x7f40(gp)            |         t9 = sym.imp.cli_getCustomParam;
    0x00003844 move a0, s1                   |         a0 = s1;
    0x00003848 jalr t9                       |         t9 ();
    0x0000384c move s5, v0                   |         s5 = v0;
    0x00003850 lw gp, 0x20(sp)               |         gp = *(var_20h);
                                             |         if (v0 != 0) {
    0x00003854 beqz v0, 0x3880               |             
    0x00003858 lw t9, -0x7f74(gp)            |             t9 = sym.imp.strcmp;
    0x0000385c lw a1, 0x88(sp)               |             a1 = *(var_88h);
    0x00003860 move a0, v0                   |             a0 = v0;
    0x00003864 jalr t9                       |             t9 ();
    0x00003868 lw gp, 0x20(sp)               |             gp = *(var_20h);
                                             |             if (v0 == 0) {
    0x0000386c beqz v0, 0x3b24               |                 goto label_24;
                                             |             }
    0x00003870 lw t9, -0x7efc(gp)            |             t9 = sym.imp.free;
    0x00003874 move a0, s5                   |             a0 = s5;
    0x00003878 jalr t9                       |             t9 ();
    0x0000387c lw gp, 0x20(sp)               |             gp = *(var_20h);
                                             |         }
    0x00003880 lw v0, 0x7c(sp)               |         v0 = *(var_7ch);
    0x00003884 addiu s0, s0, 1               |         s0++;
    0x00003888 slt v0, s0, v0                |         v0 = (s0 < v0) ? 1 : 0;
    0x0000388c lw t9, -0x7ee0(gp)            |         t9 = sym.imp.memset;
    0x00003890 bnez v0, 0x37fc               |         
                                             |     } while (v0 != 0);
                                             | label_23:
    0x00003894 lw v0, 0x60(sp)               |     v0 = *(var_60h);
    0x00003898 lw t9, -0x7ed0(gp)            |     t9 = sym.imp.cli_createDynamicGroup;
    0x0000389c addiu a1, v0, 0x47d8          |     a1 = v0 + str.streamprofile;
    0x000038a0 lw v0, 0x5c(sp)               |     v0 = *(var_5ch);
    0x000038a4 move a3, s6                   |     a3 = s6;
    0x000038a8 addiu a0, v0, 0x4730          |     a0 = v0 + str.root.StreamProfile;
    0x000038ac move a2, s2                   |     a2 = s2;
    0x000038b0 jalr t9                       |     t9 ();
    0x000038b4 lw v1, 0x78(sp)               |     v1 = *(var_78h);
    0x000038b8 addiu a0, zero, -8            |     a0 = -8;
    0x000038bc lw gp, 0x20(sp)               |     gp = *(var_20h);
    0x000038c0 sw v0, 0x34(sp)               |     *(var_34h_2) = v0;
                                             |     if (v1 == a0) {
    0x000038c4 beq v1, a0, 0x3b88            |         goto label_25;
                                             |     }
    0x000038c8 lw v0, 0x58(sp)               |     v0 = *(var_58h);
                                             |     if (v1 == 0) {
    0x000038cc bnez v1, 0x39e0               |         
    0x000038d0 lw s5, 0x34(sp)               |         s5 = *(var_34h_2);
    0x000038d4 lw t9, -0x7ee0(gp)            |         t9 = sym.imp.memset;
                                             |         if (s5 == 0) {
    0x000038d8 beqz s5, 0x39e0               |             goto label_26;
                                             |         }
    0x000038dc addiu s1, sp, 0xbc            |         s1 = sp + 0xbc;
    0x000038e0 addiu a2, zero, 0x100         |         a2 = 0x100;
    0x000038e4 move a1, zero                 |         a1 = 0;
    0x000038e8 move a0, s1                   |         a0 = s1;
    0x000038ec jalr t9                       |         t9 ();
    0x000038f0 lw gp, 0x20(sp)               |         gp = *(var_20h);
    0x000038f4 lw v0, 0x5c(sp)               |         v0 = *(var_5ch);
    0x000038f8 addiu a3, zero, 0x100         |         a3 = 0x100;
    0x000038fc addiu s0, v0, 0x4730          |         s0 = v0 + str.root.StreamProfile;
    0x00003900 lw v0, 0x68(sp)               |         v0 = *(var_68h);
    0x00003904 lw t9, -0x7f68(gp)            |         t9 = sym.imp.__snprintf_chk
    0x00003908 addiu a2, zero, 1             |         a2 = 1;
    0x0000390c addiu a1, zero, 0x100         |         a1 = 0x100;
    0x00003910 move a0, s1                   |         a0 = s1;
    0x00003914 sw s5, 0x18(sp)               |         *(var_18h_2) = s5;
    0x00003918 sw s0, 0x14(sp)               |         *(var_14h) = s0;
    0x0000391c sw v0, 0x10(sp)               |         *(var_10h) = v0;
    0x00003920 jalr t9                       |         t9 ();
    0x00003924 lw gp, 0x20(sp)               |         gp = *(var_20h);
    0x00003928 lw a1, 0x88(sp)               |         a1 = *(var_88h);
    0x0000392c move a3, s6                   |         a3 = s6;
    0x00003930 lw t9, -0x7f78(gp)            |         t9 = sym.imp.cli_setCustomParam;
    0x00003934 move a2, s2                   |         a2 = s2;
    0x00003938 move a0, s1                   |         a0 = s1;
    0x0000393c jalr t9                       |         t9 ();
    0x00003940 lw gp, 0x20(sp)               |         gp = *(var_20h);
    0x00003944 lw v0, 0x6c(sp)               |         v0 = *(var_6ch);
    0x00003948 addiu a3, zero, 0x100         |         a3 = 0x100;
    0x0000394c lw t9, -0x7f68(gp)            |         t9 = sym.imp.__snprintf_chk
    0x00003950 addiu v0, v0, 0x47f4          |         v0 += str._s._s.Description;
    0x00003954 addiu a2, zero, 1             |         a2 = 1;
    0x00003958 addiu a1, zero, 0x100         |         a1 = 0x100;
    0x0000395c move a0, s1                   |         a0 = s1;
    0x00003960 sw s5, 0x18(sp)               |         *(var_18h_2) = s5;
    0x00003964 sw s0, 0x14(sp)               |         *(var_14h) = s0;
    0x00003968 sw v0, 0x10(sp)               |         *(var_10h) = v0;
    0x0000396c jalr t9                       |         t9 ();
    0x00003970 lw gp, 0x20(sp)               |         gp = *(var_20h);
    0x00003974 lw a1, 0x80(sp)               |         a1 = *(var_80h);
    0x00003978 move a3, s6                   |         a3 = s6;
    0x0000397c lw t9, -0x7f78(gp)            |         t9 = sym.imp.cli_setCustomParam;
    0x00003980 move a2, s2                   |         a2 = s2;
    0x00003984 move a0, s1                   |         a0 = s1;
    0x00003988 jalr t9                       |         t9 ();
    0x0000398c lw gp, 0x20(sp)               |         gp = *(var_20h);
    0x00003990 addiu a3, zero, 0x100         |         a3 = 0x100;
    0x00003994 addiu a2, zero, 1             |         a2 = 1;
    0x00003998 lw v0, -0x7fdc(gp)            |         v0 = *((gp - 8183));
    0x0000399c lw t9, -0x7f68(gp)            |         t9 = sym.imp.__snprintf_chk
    0x000039a0 addiu v0, v0, 0x4808          |         v0 += str._s._s.Parameters;
    0x000039a4 addiu a1, zero, 0x100         |         a1 = 0x100;
    0x000039a8 move a0, s1                   |         a0 = s1;
    0x000039ac sw s5, 0x18(sp)               |         *(var_18h_2) = s5;
    0x000039b0 sw s0, 0x14(sp)               |         *(var_14h) = s0;
    0x000039b4 sw v0, 0x10(sp)               |         *(var_10h) = v0;
    0x000039b8 jalr t9                       |         t9 ();
    0x000039bc lw gp, 0x20(sp)               |         gp = *(var_20h);
    0x000039c0 lw a1, 0x84(sp)               |         a1 = *(var_84h);
    0x000039c4 move a3, s6                   |         a3 = s6;
    0x000039c8 lw t9, -0x7f78(gp)            |         t9 = sym.imp.cli_setCustomParam;
    0x000039cc move a2, s2                   |         a2 = s2;
    0x000039d0 move a0, s1                   |         a0 = s1;
    0x000039d4 jalr t9                       |         t9 ();
    0x000039d8 lw gp, 0x20(sp)               |         gp = *(var_20h);
    0x000039dc lw v0, 0x58(sp)               |         v0 = *(var_58h);
                                             |     }
                                             | label_26:
    0x000039e0 addiu fp, fp, 1               |     fp++;
    0x000039e4 lw t9, -0x7edc(gp)            |     t9 = sym.imp.json_array_get;
                                             |     if (v0 != fp) {
    0x000039e8 bne v0, fp, 0x3774            |         goto label_0;
                                             |     }
    0x000039ec lw s5, 0x64(sp)               |     s5 = *(var_64h);
                                             | label_12:
    0x000039f0 lw t9, -0x7f7c(gp)            |     t9 = sym.imp.cli_sync;
    0x000039f4 move a1, s6                   |     a1 = s6;
    0x000039f8 move a0, s2                   |     a0 = s2;
    0x000039fc jalr t9                       |     t9 ();
    0x00003a00 lw v0, 0x78(sp)               |     v0 = *(var_78h);
    0x00003a04 lw gp, 0x20(sp)               |     gp = *(var_20h);
                                             |     if (v0 == 0) {
    0x00003a08 beqz v0, 0x3b98               |         goto label_27;
                                             |     }
    0x00003a0c addiu v0, zero, 0x3e8         |     v0 = 0x3e8;
    0x00003a10 sw v0, 0x74(sp)               |     *(var_74h) = v0;
    0x00003a14 b 0x3b44                      |     goto label_9;
                                             | label_15:
    0x00003a18 lw v0, 0x30(sp)               |     v0 = *(var_30h);
    0x00003a1c lw t9, -0x7fb0(gp)            |     t9 = sym.build_error_message;
    0x00003a20 lw a1, 0x74(sp)               |     a1 = *(var_74h);
    0x00003a24 lw a3, 0x28(sp)               |     a3 = *(var_28h);
    0x00003a28 addiu a2, v0, 0x4710          |     a2 = v0 + 0x4710;
    0x00003a2c move a0, s5                   |     a0 = s5;
    0x00003a30 bal 0x1d6c                    |     sym_build_error_message ();
    0x00003a34 lw gp, 0x20(sp)               |     gp = *(var_20h);
    0x00003a38 b 0x3608                      |     goto label_1;
                                             | label_18:
    0x00003a3c sync                          |     __asm ("sync");
                                             |     do {
    0x00003a40 ll at, 4(a0)                  |         __asm ("ll at, 4(a0)");
    0x00003a44 addiu at, at, 1               |         at++;
    0x00003a48 sc at, 4(a0)                  |         __asm ("sc at, 4(a0)");
    0x00003a4c beqz at, 0x3a40               |         
                                             |     } while (at == 0);
    0x00003a50 nop                           |     
    0x00003a54 sync                          |     __asm ("sync");
    0x00003a58 lw a1, -0x7fdc(gp)            |     a1 = *((gp - 8183));
    0x00003a5c b 0x36ac                      |     goto label_2;
                                             | label_19:
    0x00003a60 addiu v0, zero, 0x7d3         |     v0 = 0x7d3;
    0x00003a64 sw v0, 0x74(sp)               |     *(var_74h) = v0;
                                             | label_8:
    0x00003a68 lw v0, 0x2c(sp)               |     v0 = *(var_2ch_2);
    0x00003a6c sw zero, 0x34(sp)             |     *(var_34h_2) = 0;
    0x00003a70 lw v1, 4(v0)                  |     v1 = *((v0 + 1));
    0x00003a74 addiu v0, zero, -1            |     v0 = -1;
    0x00003a78 lw t9, -0x7f54(gp)            |     t9 = sym.imp.json_object_size;
                                             |     if (v1 == v0) {
    0x00003a7c beq v1, v0, 0x35f8            |         goto label_3;
                                             |     }
    0x00003a80 lw v1, 0x2c(sp)               |     v1 = *(var_2ch_2);
                                             | label_7:
    0x00003a84 sync                          |     __asm ("sync");
                                             |     do {
    0x00003a88 ll v0, 4(v1)                  |         __asm ("ll v0, 4(v1)");
    0x00003a8c addiu at, v0, -1              |         at = v0 + -1;
    0x00003a90 sc at, 4(v1)                  |         __asm ("sc at, 4(v1)");
    0x00003a94 addiu v0, v0, -1              |         v0 += -1;
    0x00003a98 beqz at, 0x3a88               |         
                                             |     } while (at == 0);
    0x00003a9c sync                          |     __asm ("sync");
    0x00003aa0 move s0, zero                 |     s0 = 0;
                                             |     if (v0 == 0) {
    0x00003aa4 bnez v0, 0x3ad0               |         
    0x00003aa8 lw t9, -0x7f48(gp)            |         t9 = sym.imp.json_delete;
                                             | label_11:
    0x00003aac lw a0, 0x2c(sp)               |         a0 = *(var_2ch_2);
    0x00003ab0 jalr t9                       |         t9 ();
    0x00003ab4 lw gp, 0x20(sp)               |         gp = *(var_20h);
                                             |         if (s0 == 0) {
                                             | label_10:
    0x00003ab8 beql s0, zero, 0x3ad4         |             goto label_5;
                                             |         }
    0x00003abc lw a0, 0x34(sp)               |         a0 = *(var_34h_2);
    0x00003ac0 lw v1, 4(s0)                  |         v1 = *((s0 + 1));
    0x00003ac4 addiu v0, zero, -1            |         v0 = -1;
                                             |         if (v1 != v0) {
    0x00003ac8 bne v1, v0, 0x3aec            |             goto label_28;
                                             |         }
    0x00003acc nop                           |         
                                             |     }
                                             | label_6:
    0x00003ad0 lw a0, 0x34(sp)               |     a0 = *(var_34h_2);
                                             | label_5:
    0x00003ad4 lw t9, -0x7efc(gp)            |     t9 = sym.imp.free;
                                             |     if (a0 == 0) {
    0x00003ad8 beqz a0, 0x35f4               |         goto label_4;
                                             |     }
    0x00003adc jalr t9                       |     t9 ();
    0x00003ae0 nop                           |     
    0x00003ae4 lw gp, 0x20(sp)               |     gp = *(var_20h);
    0x00003ae8 b 0x35f4                      |     goto label_4;
                                             | label_28:
    0x00003aec sync                          |     __asm ("sync");
                                             |     do {
    0x00003af0 ll v0, 4(s0)                  |         __asm ("ll v0, 4(s0)");
    0x00003af4 addiu at, v0, -1              |         at = v0 + -1;
    0x00003af8 sc at, 4(s0)                  |         __asm ("sc at, 4(s0)");
    0x00003afc addiu v0, v0, -1              |         v0 += -1;
    0x00003b00 beqz at, 0x3af0               |         
                                             |     } while (at == 0);
    0x00003b04 sync                          |     __asm ("sync");
    0x00003b08 lw a0, 0x34(sp)               |     a0 = *(var_34h_2);
                                             |     if (v0 != 0) {
    0x00003b0c bnez v0, 0x3ad4               |         goto label_5;
                                             |     }
    0x00003b10 lw t9, -0x7f48(gp)            |     t9 = sym.imp.json_delete;
    0x00003b14 move a0, s0                   |     a0 = s0;
    0x00003b18 jalr t9                       |     t9 ();
    0x00003b1c lw gp, 0x20(sp)               |     gp = *(var_20h);
    0x00003b20 b 0x3ad0                      |     goto label_6;
                                             | label_24:
    0x00003b24 lw t9, -0x7efc(gp)            |     t9 = sym.imp.free;
    0x00003b28 move fp, s5                   |     fp = s5;
    0x00003b2c move a0, fp                   |     a0 = fp;
    0x00003b30 lw s5, 0x64(sp)               |     s5 = *(var_64h);
    0x00003b34 jalr t9                       |     t9 ();
    0x00003b38 addiu v0, zero, 0x7d4         |     v0 = 0x7d4;
    0x00003b3c lw gp, 0x20(sp)               |     gp = *(var_20h);
    0x00003b40 sw v0, 0x74(sp)               |     *(var_74h) = v0;
                                             | label_9:
    0x00003b44 lw v0, 0x2c(sp)               |     v0 = *(var_2ch_2);
    0x00003b48 lw v1, 4(v0)                  |     v1 = *((v0 + 1));
    0x00003b4c addiu v0, zero, -1            |     v0 = -1;
    0x00003b50 lw v1, 0x2c(sp)               |     v1 = *(var_2ch_2);
                                             |     if (v1 != v0) {
    0x00003b54 bne v1, v0, 0x3a84            |         goto label_7;
                                             |     }
    0x00003b58 lw a0, 0x34(sp)               |     a0 = *(var_34h_2);
    0x00003b5c b 0x3ad4                      |     goto label_5;
                                             | label_17:
    0x00003b60 addiu v0, zero, 0x7d3         |     v0 = 0x7d3;
    0x00003b64 sw v0, 0x74(sp)               |     *(var_74h) = v0;
    0x00003b68 b 0x35f4                      |     goto label_4;
                                             | label_20:
    0x00003b6c addiu v0, zero, 0x3e8         |     v0 = 0x3e8;
    0x00003b70 sw v0, 0x74(sp)               |     *(var_74h) = v0;
    0x00003b74 b 0x3a68                      |     goto label_8;
                                             | label_22:
    0x00003b78 addiu v0, zero, 0x7d3         |     v0 = 0x7d3;
    0x00003b7c lw s5, 0x64(sp)               |     s5 = *(var_64h);
    0x00003b80 sw v0, 0x74(sp)               |     *(var_74h) = v0;
    0x00003b84 b 0x3b44                      |     goto label_9;
                                             | label_25:
    0x00003b88 addiu v0, zero, 0x3e8         |     v0 = 0x3e8;
    0x00003b8c lw s5, 0x64(sp)               |     s5 = *(var_64h);
    0x00003b90 sw v0, 0x74(sp)               |     *(var_74h) = v0;
    0x00003b94 b 0x3b44                      |     goto label_9;
                                             | label_27:
    0x00003b98 lw a0, -0x7fdc(gp)            |     a0 = *((gp - 8183));
    0x00003b9c lw t9, -0x7f6c(gp)            |     t9 = sym.imp.json_pack;
    0x00003ba0 addiu a0, a0, 0x47d4          |     a0 += 0x47d4;
    0x00003ba4 jalr t9                       |     t9 ();
    0x00003ba8 lw gp, 0x20(sp)               |     gp = *(var_20h);
    0x00003bac move s0, v0                   |     s0 = v0;
    0x00003bb0 lw v0, 0x30(sp)               |     v0 = *(var_30h);
    0x00003bb4 lw a3, 0x28(sp)               |     a3 = *(var_28h);
    0x00003bb8 lw t9, -0x7f9c(gp)            |     t9 = sym.build_success_message;
    0x00003bbc addiu a2, v0, 0x4710          |     a2 = v0 + 0x4710;
    0x00003bc0 move a1, s0                   |     a1 = s0;
    0x00003bc4 move a0, s5                   |     a0 = s5;
    0x00003bc8 bal 0x1b44                    |     sym_build_success_message ();
    0x00003bcc lw gp, 0x20(sp)               |     gp = *(var_20h);
                                             |     if (v0 != 0) {
    0x00003bd0 bnez v0, 0x3c20               |         goto label_29;
                                             |     }
                                             | label_13:
    0x00003bd4 lw v0, 0x2c(sp)               |     v0 = *(var_2ch_2);
    0x00003bd8 lw v1, 4(v0)                  |     v1 = *((v0 + 1));
    0x00003bdc addiu v0, zero, -1            |     v0 = -1;
    0x00003be0 lw v1, 0x2c(sp)               |     v1 = *(var_2ch_2);
                                             |     if (v1 == v0) {
    0x00003be4 beq v1, v0, 0x3ab8            |         goto label_10;
                                             |     }
    0x00003be8 sync                          |     __asm ("sync");
                                             |     do {
    0x00003bec ll v0, 4(v1)                  |         __asm ("ll v0, 4(v1)");
    0x00003bf0 addiu at, v0, -1              |         at = v0 + -1;
    0x00003bf4 sc at, 4(v1)                  |         __asm ("sc at, 4(v1)");
    0x00003bf8 addiu v0, v0, -1              |         v0 += -1;
    0x00003bfc beqz at, 0x3bec               |         
                                             |     } while (at == 0);
    0x00003c00 sync                          |     __asm ("sync");
    0x00003c04 lw t9, -0x7f48(gp)            |     t9 = sym.imp.json_delete;
                                             |     if (v0 != 0) {
    0x00003c08 bnez v0, 0x3ab8               |         goto label_10;
                                             |     }
    0x00003c0c b 0x3aac                      |     goto label_11;
    0x00003c10 nop                           |     
                                             | label_21:
    0x00003c14 sw zero, 0x34(sp)             |     *(var_34h_2) = 0;
    0x00003c18 addiu s6, sp, 0x78            |     s6 = sp + 0x78;
    0x00003c1c b 0x39f0                      |     goto label_12;
                                             | label_29:
    0x00003c20 lw v0, 0x30(sp)               |     v0 = *(var_30h);
    0x00003c24 lw t9, -0x7fb0(gp)            |     t9 = sym.build_error_message;
    0x00003c28 addiu a2, v0, 0x4710          |     a2 = v0 + 0x4710;
    0x00003c2c lw a3, 0x28(sp)               |     a3 = *(var_28h);
    0x00003c30 addiu v0, zero, 0x3e8         |     v0 = 0x3e8;
    0x00003c34 addiu a1, zero, 0x3e8         |     a1 = 0x3e8;
    0x00003c38 move a0, s5                   |     a0 = s5;
    0x00003c3c sw v0, 0x74(sp)               |     *(var_74h) = v0;
    0x00003c40 bal 0x1d6c                    |     sym_build_error_message ();
    0x00003c44 lw gp, 0x20(sp)               |     gp = *(var_20h);
    0x00003c48 b 0x3bd4                      |     goto label_13;
                                             | label_16:
    0x00003c4c lw t9, -0x7f4c(gp)            |     t9 = sym.imp.__stack_chk_fail;
    0x00003c50 jalr t9                       |     t9 ();
    0x00003c54 nop                           |     
                                             | }
    ; assembly                           | /* r2dec pseudo code output */
                                         | /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/html/axis-cgi/streamprofile.cgi @ 0x22a4 */
                                         | #include <stdint.h>
                                         |  
    ; (fcn) sym.handle_list_method ()    | void handle_list_method () {
    0x000022a4 lui gp, 2                 |     
    0x000022a8 addiu gp, gp, -0x5294     |     
    0x000022ac addu gp, gp, t9           |     gp += t9;
    0x000022b0 addiu sp, sp, -0x298      |     
    0x000022b4 lw t9, -0x7f3c(gp)        |     t9 = sym.imp.json_array;
    0x000022b8 sw s1, 0x274(sp)          |     *(var_274h) = s1;
    0x000022bc lw s1, -0x7f34(gp)        |     s1 = *((gp - 8141));
    0x000022c0 sw gp, 0x20(sp)           |     *(var_20h_3) = gp;
    0x000022c4 sw ra, 0x294(sp)          |     *(var_294h) = ra;
    0x000022c8 lw v0, (s1)               |     v0 = *(s1);
    0x000022cc sw s4, 0x280(sp)          |     *(var_280h) = s4;
    0x000022d0 sw s3, 0x27c(sp)          |     *(var_27ch) = s3;
    0x000022d4 sw s2, 0x278(sp)          |     *(var_278h) = s2;
    0x000022d8 sw s0, 0x270(sp)          |     *(var_270h) = s0;
    0x000022dc sw fp, 0x290(sp)          |     *(var_290h) = fp;
    0x000022e0 sw s7, 0x28c(sp)          |     *(var_28ch) = s7;
    0x000022e4 sw s6, 0x288(sp)          |     *(var_288h) = s6;
    0x000022e8 sw s5, 0x284(sp)          |     *(var_284h) = s5;
    0x000022ec sw v0, 0x26c(sp)          |     *(var_26ch) = v0;
    0x000022f0 sw zero, 0x68(sp)         |     *(var_68h) = 0;
    0x000022f4 sw zero, 0x6c(sp)         |     *(var_6ch) = 0;
    0x000022f8 sw zero, 0x70(sp)         |     *(var_70h) = 0;
    0x000022fc lw s4, -0x7fdc(gp)        |     s4 = *((gp - 8183));
    0x00002300 move s2, a0               |     s2 = a0;
    0x00002304 move s3, a1               |     s3 = a1;
    0x00002308 jalr t9                   |     t9 ();
    0x0000230c lw gp, 0x20(sp)           |     gp = *(var_20h_3);
    0x00002310 addiu v1, sp, 0x68        |     v1 = sp + 0x68;
    0x00002314 sw v1, 0x10(sp)           |     *(var_10h_4) = v1;
    0x00002318 lw a1, -0x7fdc(gp)        |     a1 = *((gp - 8183));
    0x0000231c lw t9, -0x7fa0(gp)        |     t9 = sym.parse_common_properties;
    0x00002320 addiu a3, sp, 0x64        |     a3 = sp + 0x64;
    0x00002324 addiu a2, s4, 0x4710      |     a2 = s4 + 0x4710;
    0x00002328 addiu a1, a1, 0x4528      |     a1 += str.list;
    0x0000232c move a0, s2               |     a0 = s2;
    0x00002330 move s0, v0               |     s0 = v0;
    0x00002334 bal 0x202c                |     sym_parse_common_properties ();
    0x00002338 lw gp, 0x20(sp)           |     gp = *(var_20h_3);
                                         |     if (v0 != 0) {
    0x0000233c beqz v0, 0x2350           |         
    0x00002340 move s5, v0               |         s5 = v0;
    0x00002344 lw v0, 0x68(sp)           |         v0 = *(var_68h);
    0x00002348 lw a1, -0x7fdc(gp)        |         a1 = *((gp - 8183));
                                         |         if (v0 == 0) {
    0x0000234c beqz v0, 0x2420           |             goto label_9;
                                         |         }
                                         |     }
                                         | label_4:
    0x00002350 lw t9, -0x7f54(gp)        |     t9 = sym.imp.json_object_size;
                                         |     if (s0 != 0) {
    0x00002354 beqz s0, 0x236c           |         
    0x00002358 lw v1, 4(s0)              |         v1 = *((s0 + 1));
    0x0000235c addiu v0, zero, -1        |         v0 = -1;
                                         |         if (v1 != v0) {
    0x00002360 bne v1, v0, 0x23bc        |             goto label_10;
                                         |         }
    0x00002364 nop                       |         
                                         | label_0:
    0x00002368 lw t9, -0x7f54(gp)        |         t9 = sym.imp.json_object_size;
                                         |     }
                                         | label_5:
    0x0000236c move a0, s3               |     a0 = s3;
    0x00002370 jalr t9                   |     t9 ();
    0x00002374 lw gp, 0x20(sp)           |     gp = *(var_20h_3);
                                         |     if (v0 == 0) {
    0x00002378 beqz v0, 0x2400           |         goto label_11;
                                         |     }
                                         | label_1:
    0x0000237c lw a0, 0x26c(sp)          |     a0 = *(var_26ch);
    0x00002380 lw v1, (s1)               |     v1 = *(s1);
    0x00002384 addiu v0, zero, 1         |     v0 = 1;
                                         |     if (a0 != v1) {
    0x00002388 bne a0, v1, 0x2954        |         goto label_12;
                                         |     }
    0x0000238c lw ra, 0x294(sp)          |     ra = *(var_294h);
    0x00002390 lw fp, 0x290(sp)          |     fp = *(var_290h);
    0x00002394 lw s7, 0x28c(sp)          |     s7 = *(var_28ch);
    0x00002398 lw s6, 0x288(sp)          |     s6 = *(var_288h);
    0x0000239c lw s5, 0x284(sp)          |     s5 = *(var_284h);
    0x000023a0 lw s4, 0x280(sp)          |     s4 = *(var_280h);
    0x000023a4 lw s3, 0x27c(sp)          |     s3 = *(var_27ch);
    0x000023a8 lw s2, 0x278(sp)          |     s2 = *(var_278h);
    0x000023ac lw s1, 0x274(sp)          |     s1 = *(var_274h);
    0x000023b0 lw s0, 0x270(sp)          |     s0 = *(var_270h);
    0x000023b4 addiu sp, sp, 0x298       |     
    0x000023b8 jr ra                     |     return v0;
                                         | label_10:
    0x000023bc sync                      |     __asm ("sync");
                                         |     do {
    0x000023c0 ll v0, 4(s0)              |         __asm ("ll v0, 4(s0)");
    0x000023c4 addiu at, v0, -1          |         at = v0 + -1;
    0x000023c8 sc at, 4(s0)              |         __asm ("sc at, 4(s0)");
    0x000023cc addiu v0, v0, -1          |         v0 += -1;
    0x000023d0 beqz at, 0x23c0           |         
                                         |     } while (at == 0);
    0x000023d4 sync                      |     __asm ("sync");
    0x000023d8 lw t9, -0x7f48(gp)        |     t9 = sym.imp.json_delete;
                                         |     if (v0 != 0) {
    0x000023dc bnez v0, 0x2368           |         goto label_0;
                                         |     }
    0x000023e0 move a0, s0               |     a0 = s0;
    0x000023e4 jalr t9                   |     t9 ();
    0x000023e8 lw gp, 0x20(sp)           |     gp = *(var_20h_3);
    0x000023ec lw t9, -0x7f54(gp)        |     t9 = sym.imp.json_object_size;
    0x000023f0 move a0, s3               |     a0 = s3;
    0x000023f4 jalr t9                   |     t9 ();
    0x000023f8 lw gp, 0x20(sp)           |     gp = *(var_20h_3);
                                         |     if (v0 != 0) {
    0x000023fc bnez v0, 0x237c           |         goto label_1;
                                         |     }
                                         | label_11:
    0x00002400 lw t9, -0x7fb0(gp)        |     t9 = sym.build_error_message;
    0x00002404 lw a1, 0x68(sp)           |     a1 = *(var_68h);
    0x00002408 move a3, s3               |     a3 = s3;
    0x0000240c addiu a2, s4, 0x4710      |     a2 = s4 + 0x4710;
    0x00002410 move a0, s2               |     a0 = s2;
    0x00002414 bal 0x1d6c                |     sym_build_error_message ();
    0x00002418 lw gp, 0x20(sp)           |     gp = *(var_20h_3);
    0x0000241c b 0x237c                  |     goto label_1;
                                         | label_9:
    0x00002420 lw t9, -0x7f30(gp)        |     t9 = sym.imp.json_object_get;
    0x00002424 addiu a1, a1, 0x46dc      |     a1 += str.params;
    0x00002428 move a0, s2               |     a0 = s2;
    0x0000242c jalr t9                   |     t9 ();
    0x00002430 lw gp, 0x20(sp)           |     gp = *(var_20h_3);
                                         |     if (v0 == 0) {
    0x00002434 beqz v0, 0x2834           |         goto label_13;
                                         |     }
    0x00002438 lw a1, -0x7fdc(gp)        |     a1 = *((gp - 8183));
    0x0000243c lw t9, -0x7f30(gp)        |     t9 = sym.imp.json_object_get;
    0x00002440 addiu a1, a1, 0x4714      |     a1 += str.streamProfileName;
    0x00002444 move a0, v0               |     a0 = v0;
    0x00002448 jalr t9                   |     t9 ();
    0x0000244c move s6, v0               |     s6 = v0;
    0x00002450 lw gp, 0x20(sp)           |     gp = *(var_20h_3);
                                         |     if (v0 == 0) {
    0x00002454 beqz v0, 0x2834           |         goto label_13;
                                         |     }
    0x00002458 lw t9, -0x7ec4(gp)        |     t9 = sym.imp.cli_resetOptions;
    0x0000245c addiu v0, sp, 0x74        |     v0 = sp + 0x74;
    0x00002460 move a0, v0               |     a0 = v0;
    0x00002464 sw v0, 0x30(sp)           |     *(var_30h_2) = v0;
    0x00002468 jalr t9                   |     t9 ();
    0x0000246c lw gp, 0x20(sp)           |     gp = *(var_20h_3);
    0x00002470 lw t9, -0x7fdc(gp)        |     t9 = *((gp - 8183));
    0x00002474 addiu t9, t9, 0x21d0      |     t9 += fcn.000021d0;
    0x00002478 addiu a0, sp, 0x70        |     a0 = sp + 0x70;
    0x0000247c bal 0x21d0                |     fcn_000021d0 ();
    0x00002480 lw gp, 0x20(sp)           |     gp = *(var_20h_3);
                                         |     if (v0 == 0) {
    0x00002484 beqz v0, 0x2840           |         goto label_14;
                                         |     }
    0x00002488 lw t9, -0x7ee4(gp)        |     t9 = sym.imp.json_array_size;
    0x0000248c move a0, s6               |     a0 = s6;
    0x00002490 jalr t9                   |     t9 ();
    0x00002494 move v1, v0               |     v1 = v0;
    0x00002498 sw v0, 0x34(sp)           |     *(var_34h_3) = v0;
    0x0000249c slti v0, v0, 0x33         |     v0 = (v0 < 0x33) ? 1 : 0;
    0x000024a0 lw gp, 0x20(sp)           |     gp = *(var_20h_3);
                                         |     if (v0 == 0) {
    0x000024a4 beqz v0, 0x2840           |         goto label_14;
                                         |     }
    0x000024a8 lw v0, 0x70(sp)           |     v0 = *(var_70h);
                                         |     if (v1 == 0) {
    0x000024ac beqz v1, 0x2524           |         goto label_15;
                                         |     }
    0x000024b0 lw v0, -0x7fdc(gp)        |     v0 = *((gp - 8183));
                                         |     if (v1 <= 0) {
    0x000024b4 blez v1, 0x251c           |         goto label_16;
                                         |     }
    0x000024b8 lw s7, -0x7fdc(gp)        |     s7 = *((gp - 8183));
    0x000024bc addiu v0, v0, 0x4728      |     v0 += str.name;
    0x000024c0 addiu s5, sp, 0xa4        |     s5 = sp + 0xa4;
    0x000024c4 move fp, zero             |     fp = 0;
    0x000024c8 sw v0, 0x2c(sp)           |     *(var_2ch_4) = v0;
    0x000024cc addiu s7, s7, 0x4604      |     s7 += str.ss;
                                         |     do {
    0x000024d0 lw t9, -0x7edc(gp)        |         t9 = sym.imp.json_array_get;
    0x000024d4 move a1, fp               |         a1 = fp;
    0x000024d8 move a0, s6               |         a0 = s6;
    0x000024dc jalr t9                   |         t9 ();
    0x000024e0 lw gp, 0x20(sp)           |         gp = *(var_20h_3);
    0x000024e4 lw a2, 0x2c(sp)           |         a2 = *(var_2ch_4);
    0x000024e8 move a3, s5               |         a3 = s5;
    0x000024ec lw t9, -0x7ec0(gp)        |         t9 = sym.imp.json_unpack;
    0x000024f0 move a1, s7               |         a1 = s7;
    0x000024f4 move a0, v0               |         a0 = v0;
    0x000024f8 jalr t9                   |         t9 ();
    0x000024fc addiu v1, zero, -1        |         v1 = -1;
    0x00002500 lw gp, 0x20(sp)           |         gp = *(var_20h_3);
                                         |         if (v0 == v1) {
    0x00002504 bne v0, v1, 0x250c        |             
    0x00002508 sw zero, (s5)             |             *(s5) = 0;
                                         |         }
    0x0000250c lw v0, 0x34(sp)           |         v0 = *(var_34h_3);
    0x00002510 addiu fp, fp, 1           |         fp++;
    0x00002514 addiu s5, s5, 4           |         s5 += 4;
    0x00002518 bne v0, fp, 0x24d0        |         
                                         |     } while (v0 != fp);
                                         | label_16:
    0x0000251c move s5, zero             |     s5 = 0;
    0x00002520 lw v0, 0x70(sp)           |     v0 = *(var_70h);
                                         | label_15:
    0x00002524 move s6, zero             |     s6 = 0;
                                         |     if (v0 <= 0) {
    0x00002528 blez v0, 0x284c           |         goto label_17;
                                         |     }
    0x0000252c lw v0, -0x7fdc(gp)        |     v0 = *((gp - 8183));
    0x00002530 sw v0, 0x50(sp)           |     *(var_50h_2) = v0;
    0x00002534 lw v0, -0x7fdc(gp)        |     v0 = *((gp - 8183));
    0x00002538 addiu s7, sp, 0x16c       |     s7 = sp + 0x16c;
    0x0000253c sw v0, 0x58(sp)           |     *(var_58h_2) = v0;
    0x00002540 lw v0, -0x7fdc(gp)        |     v0 = *((gp - 8183));
    0x00002544 addiu fp, sp, 0x6c        |     fp = sp + 0x6c;
    0x00002548 addiu v0, v0, 0x4730      |     v0 += str.root.StreamProfile;
    0x0000254c sw v0, 0x38(sp)           |     *(var_38h_3) = v0;
    0x00002550 lw v0, -0x7fdc(gp)        |     v0 = *((gp - 8183));
    0x00002554 addiu v0, v0, 0x4744      |     v0 += str._s.S_d.Name;
    0x00002558 sw v0, 0x44(sp)           |     *(var_44h_2) = v0;
    0x0000255c lw v0, -0x7fdc(gp)        |     v0 = *((gp - 8183));
    0x00002560 addiu v0, v0, 0x4750      |     v0 += str._s.S_d.Description;
    0x00002564 sw v0, 0x48(sp)           |     *(var_48h_2) = v0;
    0x00002568 lw v0, -0x7fdc(gp)        |     v0 = *((gp - 8183));
    0x0000256c addiu v0, v0, 0x4764      |     v0 += str._s.S_d.Parameters;
    0x00002570 sw v0, 0x4c(sp)           |     *(var_4ch_3) = v0;
    0x00002574 lw v0, -0x7fdc(gp)        |     v0 = *((gp - 8183));
    0x00002578 addiu v0, v0, 0x4778      |     v0 += str.description;
    0x0000257c sw v0, 0x54(sp)           |     *(var_54h_2) = v0;
    0x00002580 b 0x2764                  |     goto label_18;
                                         | label_6:
    0x00002584 lw t9, -0x7ee0(gp)        |     t9 = sym.imp.memset;
                                         | label_2:
    0x00002588 addiu a2, zero, 0x100     |     a2 = 0x100;
    0x0000258c move a1, zero             |     a1 = 0;
    0x00002590 move a0, s7               |     a0 = s7;
    0x00002594 jalr t9                   |     t9 ();
    0x00002598 lw gp, 0x20(sp)           |     gp = *(var_20h_3);
    0x0000259c lw t0, 0x48(sp)           |     t0 = *(var_48h_2);
    0x000025a0 lw v0, 0x38(sp)           |     v0 = *(var_38h_3);
    0x000025a4 lw t9, -0x7f68(gp)        |     t9 = sym.imp.__snprintf_chk
    0x000025a8 sw t0, 0x10(sp)           |     *(var_10h_4) = t0;
    0x000025ac addiu a3, zero, 0x100     |     a3 = 0x100;
    0x000025b0 addiu a2, zero, 1         |     a2 = 1;
    0x000025b4 addiu a1, zero, 0x100     |     a1 = 0x100;
    0x000025b8 move a0, s7               |     a0 = s7;
    0x000025bc sw s6, 0x18(sp)           |     *(var_18h_5) = s6;
    0x000025c0 sw v0, 0x14(sp)           |     *(var_14h_2) = v0;
    0x000025c4 jalr t9                   |     t9 ();
    0x000025c8 lw gp, 0x20(sp)           |     gp = *(var_20h_3);
    0x000025cc lw a1, 0x30(sp)           |     a1 = *(var_30h_2);
    0x000025d0 move a2, fp               |     a2 = fp;
    0x000025d4 lw t9, -0x7f40(gp)        |     t9 = sym.imp.cli_getCustomParam;
    0x000025d8 move a0, s7               |     a0 = s7;
    0x000025dc jalr t9                   |     t9 ();
    0x000025e0 lw gp, 0x20(sp)           |     gp = *(var_20h_3);
    0x000025e4 addiu a2, zero, 0x100     |     a2 = 0x100;
    0x000025e8 move a1, zero             |     a1 = 0;
    0x000025ec lw t9, -0x7ee0(gp)        |     t9 = sym.imp.memset;
    0x000025f0 move a0, s7               |     a0 = s7;
    0x000025f4 sw v0, 0x3c(sp)           |     *(var_3ch_2) = v0;
    0x000025f8 jalr t9                   |     t9 ();
    0x000025fc lw gp, 0x20(sp)           |     gp = *(var_20h_3);
    0x00002600 lw v1, 0x38(sp)           |     v1 = *(var_38h_3);
    0x00002604 addiu a3, zero, 0x100     |     a3 = 0x100;
    0x00002608 sw v1, 0x14(sp)           |     *(var_14h_2) = v1;
    0x0000260c lw v1, 0x4c(sp)           |     v1 = *(var_4ch_3);
    0x00002610 lw t9, -0x7f68(gp)        |     t9 = sym.imp.__snprintf_chk
    0x00002614 sw v1, 0x10(sp)           |     *(var_10h_4) = v1;
    0x00002618 addiu a2, zero, 1         |     a2 = 1;
    0x0000261c addiu a1, zero, 0x100     |     a1 = 0x100;
    0x00002620 move a0, s7               |     a0 = s7;
    0x00002624 sw s6, 0x18(sp)           |     *(var_18h_5) = s6;
    0x00002628 jalr t9                   |     t9 ();
    0x0000262c lw gp, 0x20(sp)           |     gp = *(var_20h_3);
    0x00002630 lw a1, 0x30(sp)           |     a1 = *(var_30h_2);
    0x00002634 move a2, fp               |     a2 = fp;
    0x00002638 lw t9, -0x7f40(gp)        |     t9 = sym.imp.cli_getCustomParam;
    0x0000263c move a0, s7               |     a0 = s7;
    0x00002640 jalr t9                   |     t9 ();
    0x00002644 lw a0, 0x50(sp)           |     a0 = *(var_50h_2);
    0x00002648 lw gp, 0x20(sp)           |     gp = *(var_20h_3);
    0x0000264c move v1, v0               |     v1 = v0;
    0x00002650 sw v0, 0x40(sp)           |     *(var_40h_2) = v0;
    0x00002654 addiu v0, a0, 0x4790      |     v0 = a0 + str.parameters;
    0x00002658 sw v0, 0x14(sp)           |     *(var_14h_2) = v0;
    0x0000265c lw v0, 0x3c(sp)           |     v0 = *(var_3ch_2);
    0x00002660 lw a0, -0x7fdc(gp)        |     a0 = *((gp - 8183));
    0x00002664 sw v0, 0x10(sp)           |     *(var_10h_4) = v0;
    0x00002668 lw v0, 0x58(sp)           |     v0 = *(var_58h_2);
    0x0000266c lw a2, 0x2c(sp)           |     a2 = *(var_2ch_4);
    0x00002670 lw t9, -0x7f6c(gp)        |     t9 = sym.imp.json_pack;
    0x00002674 lw a3, 0x54(sp)           |     a3 = *(var_54h_2);
    0x00002678 sw v1, 0x18(sp)           |     *(var_18h_5) = v1;
    0x0000267c addiu a1, v0, 0x4728      |     a1 = v0 + str.name;
    0x00002680 addiu a0, a0, 0x4784      |     a0 += str.ssssss;
    0x00002684 jalr t9                   |     t9 ();
    0x00002688 move a2, v0               |     a2 = v0;
    0x0000268c lw gp, 0x20(sp)           |     gp = *(var_20h_3);
                                         |     if (v0 == 0) {
    0x00002690 beqz v0, 0x2710           |         goto label_7;
                                         |     }
    0x00002694 lw a0, 4(v0)              |     a0 = *((v0 + 1));
    0x00002698 addiu v0, zero, -1        |     v0 = -1;
    0x0000269c lw t9, -0x7eec(gp)        |     t9 = sym.imp.json_array_append_new;
                                         |     if (a0 == v0) {
    0x000026a0 beq a0, v0, 0x26c4        |         goto label_19;
                                         |     }
    0x000026a4 sync                      |     __asm ("sync");
                                         |     do {
    0x000026a8 ll at, 4(a2)              |         __asm ("ll at, 4(a2)");
    0x000026ac addiu at, at, 1           |         at++;
    0x000026b0 sc at, 4(a2)              |         __asm ("sc at, 4(a2)");
    0x000026b4 beqz at, 0x26a8           |         
                                         |     } while (at == 0);
    0x000026b8 nop                       |     
    0x000026bc sync                      |     __asm ("sync");
    0x000026c0 lw t9, -0x7eec(gp)        |     t9 = sym.imp.json_array_append_new;
                                         | label_19:
    0x000026c4 move a1, a2               |     a1 = a2;
    0x000026c8 sw a2, 0x5c(sp)           |     *(var_5ch_2) = a2;
    0x000026cc move a0, s0               |     a0 = s0;
    0x000026d0 jalr t9                   |     t9 ();
    0x000026d4 lw a2, 0x5c(sp)           |     a2 = *(var_5ch_2);
    0x000026d8 addiu v0, zero, -1        |     v0 = -1;
    0x000026dc lw gp, 0x20(sp)           |     gp = *(var_20h_3);
    0x000026e0 lw a0, 4(a2)              |     a0 = *((a2 + 1));
    0x000026e4 lw t9, -0x7efc(gp)        |     t9 = sym.imp.free;
                                         |     if (a0 == v0) {
    0x000026e8 beq a0, v0, 0x2714        |         goto label_20;
                                         |     }
    0x000026ec sync                      |     __asm ("sync");
                                         |     do {
    0x000026f0 ll v0, 4(a2)              |         __asm ("ll v0, 4(a2)");
    0x000026f4 addiu at, v0, -1          |         at = v0 + -1;
    0x000026f8 sc at, 4(a2)              |         __asm ("sc at, 4(a2)");
    0x000026fc addiu v0, v0, -1          |         v0 += -1;
    0x00002700 beqz at, 0x26f0           |         
                                         |     } while (at == 0);
    0x00002704 sync                      |     __asm ("sync");
    0x00002708 lw t9, -0x7f48(gp)        |     t9 = sym.imp.json_delete;
                                         |     if (v0 == 0) {
    0x0000270c beqz v0, 0x2944           |         goto label_21;
                                         |     }
                                         | label_7:
    0x00002710 lw t9, -0x7efc(gp)        |     t9 = sym.imp.free;
                                         | label_20:
    0x00002714 lw a0, 0x2c(sp)           |     a0 = *(var_2ch_4);
    0x00002718 jalr t9                   |     t9 ();
    0x0000271c lw a0, 0x3c(sp)           |     a0 = *(var_3ch_2);
    0x00002720 lw gp, 0x20(sp)           |     gp = *(var_20h_3);
                                         |     if (a0 != 0) {
    0x00002724 beqz a0, 0x2738           |         
    0x00002728 lw t9, -0x7efc(gp)        |         t9 = sym.imp.free;
    0x0000272c jalr t9                   |         t9 ();
    0x00002730 nop                       |         
    0x00002734 lw gp, 0x20(sp)           |         gp = *(var_20h_3);
                                         |     }
    0x00002738 lw a0, 0x40(sp)           |     a0 = *(var_40h_2);
    0x0000273c lw t9, -0x7efc(gp)        |     t9 = sym.imp.free;
                                         |     if (a0 == 0) {
    0x00002740 beqz a0, 0x2750           |         goto label_3;
                                         |     }
    0x00002744 jalr t9                   |     t9 ();
    0x00002748 nop                       |     
    0x0000274c lw gp, 0x20(sp)           |     gp = *(var_20h_3);
                                         |     do {
                                         | label_3:
    0x00002750 lw v0, 0x70(sp)           |         v0 = *(var_70h);
    0x00002754 addiu s6, s6, 1           |         s6++;
    0x00002758 slt a0, s6, v0            |         a0 = (s6 < v0) ? 1 : 0;
    0x0000275c lw a3, -0x7fdc(gp)        |         a3 = *((gp - 8183));
                                         |         if (a0 == 0) {
    0x00002760 beqz a0, 0x2850           |             goto label_22;
                                         |         }
                                         | label_18:
    0x00002764 lw t9, -0x7ee0(gp)        |         t9 = sym.imp.memset;
    0x00002768 addiu a2, zero, 0x100     |         a2 = 0x100;
    0x0000276c move a1, zero             |         a1 = 0;
    0x00002770 move a0, s7               |         a0 = s7;
    0x00002774 jalr t9                   |         t9 ();
    0x00002778 lw gp, 0x20(sp)           |         gp = *(var_20h_3);
    0x0000277c lw v0, 0x38(sp)           |         v0 = *(var_38h_3);
    0x00002780 addiu a3, zero, 0x100     |         a3 = 0x100;
    0x00002784 sw v0, 0x14(sp)           |         *(var_14h_2) = v0;
    0x00002788 lw v0, 0x44(sp)           |         v0 = *(var_44h_2);
    0x0000278c lw t9, -0x7f68(gp)        |         t9 = sym.imp.__snprintf_chk
    0x00002790 addiu a2, zero, 1         |         a2 = 1;
    0x00002794 addiu a1, zero, 0x100     |         a1 = 0x100;
    0x00002798 move a0, s7               |         a0 = s7;
    0x0000279c sw s6, 0x18(sp)           |         *(var_18h_5) = s6;
    0x000027a0 sw v0, 0x10(sp)           |         *(var_10h_4) = v0;
    0x000027a4 jalr t9                   |         t9 ();
    0x000027a8 lw gp, 0x20(sp)           |         gp = *(var_20h_3);
    0x000027ac lw a1, 0x30(sp)           |         a1 = *(var_30h_2);
    0x000027b0 move a2, fp               |         a2 = fp;
    0x000027b4 lw t9, -0x7f40(gp)        |         t9 = sym.imp.cli_getCustomParam;
    0x000027b8 move a0, s7               |         a0 = s7;
    0x000027bc jalr t9                   |         t9 ();
    0x000027c0 sw v0, 0x2c(sp)           |         *(var_2ch_4) = v0;
    0x000027c4 lw gp, 0x20(sp)           |         gp = *(var_20h_3);
    0x000027c8 beqz v0, 0x2750           |         
                                         |     } while (v0 == 0);
    0x000027cc lw t9, -0x7ee0(gp)        |     t9 = sym.imp.memset;
                                         |     if (s5 != 0) {
    0x000027d0 bnez s5, 0x2588           |         goto label_2;
                                         |     }
    0x000027d4 lw v0, 0x34(sp)           |     v0 = *(var_34h_3);
    0x000027d8 addiu a3, sp, 0xa4        |     a3 = sp + 0xa4;
                                         |     if (v0 <= 0) {
    0x000027dc blez v0, 0x2820           |         goto label_23;
                                         |     }
    0x000027e0 move a2, zero             |     a2 = 0;
                                         |     do {
    0x000027e4 lw a1, (a3)               |         a1 = *(a3);
    0x000027e8 lw t9, -0x7f74(gp)        |         t9 = sym.imp.strcmp;
                                         |         if (a1 != 0) {
    0x000027ec beqz a1, 0x2810           |             
    0x000027f0 lw a0, 0x2c(sp)           |             a0 = *(var_2ch_4);
    0x000027f4 sw a2, 0x40(sp)           |             *(var_40h_2) = a2;
    0x000027f8 sw a3, 0x3c(sp)           |             *(var_3ch_2) = a3;
    0x000027fc jalr t9                   |             t9 ();
    0x00002800 lw gp, 0x20(sp)           |             gp = *(var_20h_3);
    0x00002804 lw a3, 0x3c(sp)           |             a3 = *(var_3ch_2);
    0x00002808 lw a2, 0x40(sp)           |             a2 = *(var_40h_2);
                                         |             if (v0 == 0) {
    0x0000280c beqz v0, 0x2930           |                 goto label_24;
                                         |             }
                                         |         }
    0x00002810 lw v0, 0x34(sp)           |         v0 = *(var_34h_3);
    0x00002814 addiu a2, a2, 1           |         a2++;
    0x00002818 addiu a3, a3, 4           |         a3 += 4;
    0x0000281c bne v0, a2, 0x27e4        |         
                                         |     } while (v0 != a2);
                                         | label_23:
    0x00002820 lw t9, -0x7efc(gp)        |     t9 = sym.imp.free;
    0x00002824 lw a0, 0x2c(sp)           |     a0 = *(var_2ch_4);
    0x00002828 jalr t9                   |     t9 ();
    0x0000282c lw gp, 0x20(sp)           |     gp = *(var_20h_3);
    0x00002830 b 0x2750                  |     goto label_3;
                                         | label_13:
    0x00002834 addiu v0, zero, 0x7d3     |     v0 = 0x7d3;
    0x00002838 sw v0, 0x68(sp)           |     *(var_68h) = v0;
    0x0000283c b 0x2350                  |     goto label_4;
                                         | label_14:
    0x00002840 addiu v0, zero, 0x3e8     |     v0 = 0x3e8;
    0x00002844 sw v0, 0x68(sp)           |     *(var_68h) = v0;
    0x00002848 b 0x2350                  |     goto label_4;
                                         | label_17:
    0x0000284c lw a3, -0x7fdc(gp)        |     a3 = *((gp - 8183));
                                         | label_22:
    0x00002850 lw a1, -0x7fdc(gp)        |     a1 = *((gp - 8183));
    0x00002854 lw a0, -0x7fdc(gp)        |     a0 = *((gp - 8183));
    0x00002858 lw t9, -0x7f6c(gp)        |     t9 = sym.imp.json_pack;
    0x0000285c addiu a3, a3, 0x479c      |     a3 += str.maxProfiles;
    0x00002860 move a2, s0               |     a2 = s0;
    0x00002864 addiu a1, a1, 0x47a8      |     a1 += str.streamProfile;
    0x00002868 addiu a0, a0, 0x47b8      |     a0 += str.sOsi;
    0x0000286c sw v0, 0x10(sp)           |     *(var_10h_4) = v0;
    0x00002870 jalr t9                   |     t9 ();
    0x00002874 lw gp, 0x20(sp)           |     gp = *(var_20h_3);
    0x00002878 move a3, s3               |     a3 = s3;
    0x0000287c addiu a2, s4, 0x4710      |     a2 = s4 + 0x4710;
    0x00002880 lw t9, -0x7f9c(gp)        |     t9 = sym.build_success_message;
    0x00002884 move a1, v0               |     a1 = v0;
    0x00002888 move a0, s2               |     a0 = s2;
    0x0000288c move s5, v0               |     s5 = v0;
    0x00002890 bal 0x1b44                |     sym_build_success_message ();
    0x00002894 lw gp, 0x20(sp)           |     gp = *(var_20h_3);
                                         |     if (v0 != 0) {
    0x00002898 beqz v0, 0x28a4           |         
    0x0000289c addiu v0, zero, 0x3e8     |         v0 = 0x3e8;
    0x000028a0 sw v0, 0x68(sp)           |         *(var_68h) = v0;
                                         |     }
                                         |     if (s0 == 0) {
    0x000028a4 beqz s0, 0x28e0           |         goto label_8;
                                         |     }
    0x000028a8 nop                       |     
    0x000028ac lw v1, 4(s0)              |     v1 = *((s0 + 1));
    0x000028b0 addiu v0, zero, -1        |     v0 = -1;
                                         |     if (v1 == v0) {
    0x000028b4 beq v1, v0, 0x28e0        |         goto label_8;
                                         |     }
    0x000028b8 nop                       |     
    0x000028bc sync                      |     __asm ("sync");
                                         |     do {
    0x000028c0 ll v0, 4(s0)              |         __asm ("ll v0, 4(s0)");
    0x000028c4 addiu at, v0, -1          |         at = v0 + -1;
    0x000028c8 sc at, 4(s0)              |         __asm ("sc at, 4(s0)");
    0x000028cc addiu v0, v0, -1          |         v0 += -1;
    0x000028d0 beqz at, 0x28c0           |         
                                         |     } while (at == 0);
    0x000028d4 sync                      |     __asm ("sync");
    0x000028d8 lw t9, -0x7f48(gp)        |     t9 = sym.imp.json_delete;
                                         |     if (v0 == 0) {
    0x000028dc beqz v0, 0x2960           |         goto label_25;
                                         |     }
                                         | label_8:
    0x000028e0 lw t9, -0x7f54(gp)        |     t9 = sym.imp.json_object_size;
                                         |     if (s5 == 0) {
    0x000028e4 beqz s5, 0x236c           |         goto label_5;
                                         |     }
    0x000028e8 lw v1, 4(s5)              |     v1 = *((s5 + 1));
    0x000028ec addiu v0, zero, -1        |     v0 = -1;
                                         |     if (v1 == v0) {
    0x000028f0 beq v1, v0, 0x236c        |         goto label_5;
                                         |     }
    0x000028f4 nop                       |     
    0x000028f8 sync                      |     __asm ("sync");
                                         |     do {
    0x000028fc ll v0, 4(s5)              |         __asm ("ll v0, 4(s5)");
    0x00002900 addiu at, v0, -1          |         at = v0 + -1;
    0x00002904 sc at, 4(s5)              |         __asm ("sc at, 4(s5)");
    0x00002908 addiu v0, v0, -1          |         v0 += -1;
    0x0000290c beqz at, 0x28fc           |         
                                         |     } while (at == 0);
    0x00002910 sync                      |     __asm ("sync");
    0x00002914 lw t9, -0x7f54(gp)        |     t9 = sym.imp.json_object_size;
                                         |     if (v0 != 0) {
    0x00002918 bnez v0, 0x236c           |         goto label_5;
                                         |     }
    0x0000291c lw t9, -0x7f48(gp)        |     t9 = sym.imp.json_delete;
    0x00002920 move a0, s5               |     a0 = s5;
    0x00002924 jalr t9                   |     t9 ();
    0x00002928 lw gp, 0x20(sp)           |     gp = *(var_20h_3);
    0x0000292c b 0x2368                  |     goto label_0;
                                         | label_24:
    0x00002930 sll a2, a2, 2             |     a2 <<= 2;
    0x00002934 addiu v0, sp, 0x270       |     v0 = sp + 0x270;
    0x00002938 addu a2, v0, a2           |     a2 = v0 + a2;
    0x0000293c sw zero, -0x1cc(a2)       |     *((a2 - 115)) = 0;
    0x00002940 b 0x2584                  |     goto label_6;
                                         | label_21:
    0x00002944 move a0, a2               |     a0 = a2;
    0x00002948 jalr t9                   |     t9 ();
    0x0000294c lw gp, 0x20(sp)           |     gp = *(var_20h_3);
    0x00002950 b 0x2710                  |     goto label_7;
                                         | label_12:
    0x00002954 lw t9, -0x7f4c(gp)        |     t9 = sym.imp.__stack_chk_fail;
    0x00002958 jalr t9                   |     t9 ();
    0x0000295c nop                       |     
                                         | label_25:
    0x00002960 move a0, s0               |     a0 = s0;
    0x00002964 jalr t9                   |     t9 ();
    0x00002968 lw gp, 0x20(sp)           |     gp = *(var_20h_3);
    0x0000296c b 0x28e0                  |     goto label_8;
                                         | }
    ; assembly                               | /* r2dec pseudo code output */
                                             | /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/html/axis-cgi/streamprofile.cgi @ 0x2970 */
                                             | #include <stdint.h>
                                             |  
    ; (fcn) sym.handle_remove_method ()      | void handle_remove_method () {
    0x00002970 lui gp, 2                     |     
    0x00002974 addiu gp, gp, -0x5960         |     
    0x00002978 addu gp, gp, t9               |     gp += t9;
    0x0000297c addiu sp, sp, -0x288          |     
    0x00002980 lw t9, -0x7fa0(gp)            |     t9 = sym.parse_common_properties;
    0x00002984 sw s4, 0x270(sp)              |     *(var_270h) = s4;
    0x00002988 lw s4, -0x7f34(gp)            |     s4 = *((gp - 8141));
    0x0000298c sw s6, 0x278(sp)              |     *(var_278h) = s6;
    0x00002990 sw a1, 0x28(sp)               |     *(var_28h) = a1;
    0x00002994 lw s6, -0x7fdc(gp)            |     s6 = *((gp - 8183));
    0x00002998 lw v0, (s4)                   |     v0 = *(s4);
    0x0000299c lw a1, -0x7fdc(gp)            |     a1 = *((gp - 8183));
    0x000029a0 addiu v1, sp, 0x58            |     v1 = sp + 0x58;
    0x000029a4 sw gp, 0x20(sp)               |     *(var_20h) = gp;
    0x000029a8 sw s0, 0x260(sp)              |     *(var_260h) = s0;
    0x000029ac sw ra, 0x284(sp)              |     *(var_284h) = ra;
    0x000029b0 sw fp, 0x280(sp)              |     *(var_280h) = fp;
    0x000029b4 sw s7, 0x27c(sp)              |     *(var_27ch) = s7;
    0x000029b8 sw s5, 0x274(sp)              |     *(var_274h) = s5;
    0x000029bc sw s3, 0x26c(sp)              |     *(var_26ch) = s3;
    0x000029c0 sw s2, 0x268(sp)              |     *(var_268h) = s2;
    0x000029c4 sw s1, 0x264(sp)              |     *(var_264h) = s1;
    0x000029c8 sw v1, 0x10(sp)               |     *(var_10h) = v1;
    0x000029cc addiu a3, sp, 0x54            |     a3 = sp + 0x54;
    0x000029d0 addiu a2, s6, 0x4710          |     a2 = s6 + 0x4710;
    0x000029d4 addiu a1, a1, 0x4538          |     a1 += str.remove;
    0x000029d8 sw a0, 0x2c(sp)               |     *(var_2ch) = a0;
    0x000029dc sw v0, 0x25c(sp)              |     *(var_25ch) = v0;
    0x000029e0 sw zero, 0x58(sp)             |     *(var_58h) = 0;
    0x000029e4 sw zero, 0x5c(sp)             |     *(var_5ch) = 0;
    0x000029e8 sw zero, 0x60(sp)             |     *(var_60h) = 0;
    0x000029ec move s0, a0                   |     s0 = a0;
    0x000029f0 bal 0x202c                    |     sym_parse_common_properties ();
    0x000029f4 sw v0, 0x34(sp)               |     *(var_34h) = v0;
    0x000029f8 lw gp, 0x20(sp)               |     gp = *(var_20h);
                                             |     if (v0 != 0) {
    0x000029fc beqz v0, 0x2a0c               |         
    0x00002a00 lw v0, 0x58(sp)               |         v0 = *(var_58h);
    0x00002a04 lw a1, -0x7fdc(gp)            |         a1 = *((gp - 8183));
                                             |         if (v0 == 0) {
    0x00002a08 beqz v0, 0x2ae0               |             goto label_12;
                                             |         }
                                             |     }
                                             | label_6:
    0x00002a0c lw v1, 4(s3)                  |     v1 = *((s3 + 1));
    0x00002a10 addiu v0, zero, -1            |     v0 = -1;
    0x00002a14 lw t9, -0x7f54(gp)            |     t9 = sym.imp.json_object_size;
                                             |     if (v1 == v0) {
    0x00002a18 beq v1, v0, 0x2a90            |         goto label_9;
                                             |     }
                                             | label_8:
    0x00002a1c sync                          |     __asm ("sync");
                                             |     do {
    0x00002a20 ll v0, 4(s3)                  |         __asm ("ll v0, 4(s3)");
    0x00002a24 addiu at, v0, -1              |         at = v0 + -1;
    0x00002a28 sc at, 4(s3)                  |         __asm ("sc at, 4(s3)");
    0x00002a2c addiu v0, v0, -1              |         v0 += -1;
    0x00002a30 beqz at, 0x2a20               |         
                                             |     } while (at == 0);
    0x00002a34 sync                          |     __asm ("sync");
    0x00002a38 move s0, zero                 |     s0 = 0;
                                             |     if (v0 != 0) {
    0x00002a3c bnez v0, 0x2a8c               |         goto label_5;
                                             |     }
    0x00002a40 lw t9, -0x7f48(gp)            |     t9 = sym.imp.json_delete;
                                             | label_2:
    0x00002a44 move a0, s3                   |     a0 = s3;
    0x00002a48 jalr t9                       |     t9 ();
    0x00002a4c lw gp, 0x20(sp)               |     gp = *(var_20h);
                                             | label_1:
    0x00002a50 lw t9, -0x7f54(gp)            |     t9 = sym.imp.json_object_size;
                                             |     if (s0 == 0) {
    0x00002a54 beqz s0, 0x2a90               |         goto label_9;
                                             |     }
    0x00002a58 lw v1, 4(s0)                  |     v1 = *((s0 + 1));
    0x00002a5c addiu v0, zero, -1            |     v0 = -1;
                                             |     if (v1 == v0) {
    0x00002a60 beq v1, v0, 0x2a90            |         goto label_9;
                                             |     }
    0x00002a64 nop                           |     
    0x00002a68 sync                          |     __asm ("sync");
                                             |     do {
    0x00002a6c ll v0, 4(s0)                  |         __asm ("ll v0, 4(s0)");
    0x00002a70 addiu at, v0, -1              |         at = v0 + -1;
    0x00002a74 sc at, 4(s0)                  |         __asm ("sc at, 4(s0)");
    0x00002a78 addiu v0, v0, -1              |         v0 += -1;
    0x00002a7c beqz at, 0x2a6c               |         
                                             |     } while (at == 0);
    0x00002a80 sync                          |     __asm ("sync");
    0x00002a84 lw t9, -0x7f48(gp)            |     t9 = sym.imp.json_delete;
                                             |     if (v0 == 0) {
    0x00002a88 beqz v0, 0x2de4               |         goto label_13;
                                             |     }
                                             |     do {
                                             | label_5:
    0x00002a8c lw t9, -0x7f54(gp)            |         t9 = sym.imp.json_object_size;
                                             | label_9:
    0x00002a90 lw a0, 0x28(sp)               |         a0 = *(var_28h);
    0x00002a94 jalr t9                       |         t9 ();
    0x00002a98 lw gp, 0x20(sp)               |         gp = *(var_20h);
                                             |         if (v0 == 0) {
    0x00002a9c beqz v0, 0x2da0               |             goto label_14;
                                             |         }
                                             | label_3:
    0x00002aa0 lw a0, 0x25c(sp)              |         a0 = *(var_25ch);
    0x00002aa4 lw v1, (s4)                   |         v1 = *(s4);
    0x00002aa8 addiu v0, zero, 1             |         v0 = 1;
                                             |         if (a0 != v1) {
    0x00002aac bne a0, v1, 0x2ef0            |             goto label_15;
                                             |         }
    0x00002ab0 lw ra, 0x284(sp)              |         ra = *(var_284h);
    0x00002ab4 lw fp, 0x280(sp)              |         fp = *(var_280h);
    0x00002ab8 lw s7, 0x27c(sp)              |         s7 = *(var_27ch);
    0x00002abc lw s6, 0x278(sp)              |         s6 = *(var_278h);
    0x00002ac0 lw s5, 0x274(sp)              |         s5 = *(var_274h);
    0x00002ac4 lw s4, 0x270(sp)              |         s4 = *(var_270h);
    0x00002ac8 lw s3, 0x26c(sp)              |         s3 = *(var_26ch);
    0x00002acc lw s2, 0x268(sp)              |         s2 = *(var_268h);
    0x00002ad0 lw s1, 0x264(sp)              |         s1 = *(var_264h);
    0x00002ad4 lw s0, 0x260(sp)              |         s0 = *(var_260h);
    0x00002ad8 addiu sp, sp, 0x288           |         
    0x00002adc jr ra                         |         return v0;
                                             | label_12:
    0x00002ae0 lw t9, -0x7f30(gp)            |         t9 = sym.imp.json_object_get;
    0x00002ae4 addiu a1, a1, 0x46dc          |         a1 += str.params;
    0x00002ae8 move a0, s0                   |         a0 = s0;
    0x00002aec jalr t9                       |         t9 ();
    0x00002af0 move s3, v0                   |         s3 = v0;
    0x00002af4 lw gp, 0x20(sp)               |         gp = *(var_20h);
    0x00002af8 beqz v0, 0x2a8c               |         
                                             |     } while (v0 == 0);
    0x00002afc lw v1, 4(v0)                  |     v1 = *((v0 + 1));
    0x00002b00 addiu v0, zero, -1            |     v0 = -1;
                                             |     if (v1 != v0) {
    0x00002b04 bne v1, v0, 0x2dc0            |         goto label_16;
                                             |     }
    0x00002b08 nop                           |     
    0x00002b0c lw a1, -0x7fdc(gp)            |     a1 = *((gp - 8183));
                                             | label_4:
    0x00002b10 lw t9, -0x7f30(gp)            |     t9 = sym.imp.json_object_get;
    0x00002b14 addiu a1, a1, 0x4714          |     a1 += str.streamProfileName;
    0x00002b18 move a0, s3                   |     a0 = s3;
    0x00002b1c jalr t9                       |     t9 ();
    0x00002b20 move s2, v0                   |     s2 = v0;
    0x00002b24 lw gp, 0x20(sp)               |     gp = *(var_20h);
                                             |     if (v0 == 0) {
    0x00002b28 beqz v0, 0x2df4               |         goto label_17;
                                             |     }
    0x00002b2c lw t9, -0x7ec4(gp)            |     t9 = sym.imp.cli_resetOptions;
    0x00002b30 addiu v0, sp, 0x64            |     v0 = sp + 0x64;
    0x00002b34 move a0, v0                   |     a0 = v0;
    0x00002b38 sw v0, 0x30(sp)               |     *(var_30h_2) = v0;
    0x00002b3c jalr t9                       |     t9 ();
    0x00002b40 lw gp, 0x20(sp)               |     gp = *(var_20h);
    0x00002b44 lw t9, -0x7fdc(gp)            |     t9 = *((gp - 8183));
    0x00002b48 addiu t9, t9, 0x21d0          |     t9 += fcn.000021d0;
    0x00002b4c addiu a0, sp, 0x60            |     a0 = sp + 0x60;
    0x00002b50 bal 0x21d0                    |     fcn_000021d0 ();
    0x00002b54 lw gp, 0x20(sp)               |     gp = *(var_20h);
                                             |     if (v0 == 0) {
    0x00002b58 beqz v0, 0x2e84               |         goto label_18;
                                             |     }
    0x00002b5c lw t9, -0x7ee4(gp)            |     t9 = sym.imp.json_array_size;
    0x00002b60 move a0, s2                   |     a0 = s2;
    0x00002b64 jalr t9                       |     t9 ();
    0x00002b68 move s0, v0                   |     s0 = v0;
    0x00002b6c lw gp, 0x20(sp)               |     gp = *(var_20h);
                                             |     if (v0 == 0) {
    0x00002b70 beqz v0, 0x2ebc               |         goto label_19;
                                             |     }
    0x00002b74 lw v0, 0x60(sp)               |     v0 = *(var_60h);
    0x00002b78 addiu a0, sp, 0x94            |     a0 = sp + 0x94;
                                             |     if (v0 <= 0) {
    0x00002b7c blez v0, 0x2ea4               |         goto label_20;
                                             |     }
    0x00002b80 sll v1, v0, 2                 |     v1 = v0 << 2;
    0x00002b84 sw a0, 0x44(sp)               |     *(var_44h_2) = a0;
    0x00002b88 move v0, a0                   |     v0 = a0;
    0x00002b8c addu v1, v1, a0               |     v1 += a0;
    0x00002b90 sw zero, (v0)                 |     *(v0) = 0;
                                             |     do {
    0x00002b94 addiu v0, v0, 4               |         v0 += 4;
    0x00002b98 sw zero, (v0)                 |         *(v0) = 0;
    0x00002b9c bnel v1, v0, 0x2b94           |         
                                             |     } while (v1 == v0);
    0x00002ba0 lw v0, -0x7fdc(gp)            |     v0 = *((gp - 8183));
                                             |     if (s0 <= 0) {
    0x00002ba4 blez s0, 0x2c10               |         goto label_21;
                                             |     }
                                             | label_10:
    0x00002ba8 lw v0, -0x7fdc(gp)            |     v0 = *((gp - 8183));
    0x00002bac lw s1, 0x44(sp)               |     s1 = *(var_44h_2);
    0x00002bb0 addiu v0, v0, 0x4728          |     v0 += str.name;
    0x00002bb4 move s7, v0                   |     s7 = v0;
    0x00002bb8 lw v0, -0x7fdc(gp)            |     v0 = *((gp - 8183));
    0x00002bbc move fp, zero                 |     fp = 0;
    0x00002bc0 addiu s5, v0, 0x4604          |     s5 = v0 + str.ss;
                                             |     do {
    0x00002bc4 lw t9, -0x7edc(gp)            |         t9 = sym.imp.json_array_get;
    0x00002bc8 move a1, fp                   |         a1 = fp;
    0x00002bcc move a0, s2                   |         a0 = s2;
    0x00002bd0 jalr t9                       |         t9 ();
    0x00002bd4 lw gp, 0x20(sp)               |         gp = *(var_20h);
    0x00002bd8 move a3, s1                   |         a3 = s1;
    0x00002bdc move a2, s7                   |         a2 = s7;
    0x00002be0 lw t9, -0x7ec0(gp)            |         t9 = sym.imp.json_unpack;
    0x00002be4 move a1, s5                   |         a1 = s5;
    0x00002be8 move a0, v0                   |         a0 = v0;
    0x00002bec addiu fp, fp, 1               |         fp++;
    0x00002bf0 jalr t9                       |         t9 ();
    0x00002bf4 slt v0, fp, s0                |         v0 = (fp < s0) ? 1 : 0;
    0x00002bf8 lw gp, 0x20(sp)               |         gp = *(var_20h);
    0x00002bfc addiu s1, s1, 4               |         s1 += 4;
    0x00002c00 bnez v0, 0x2bc4               |         
                                             |     } while (v0 != 0);
    0x00002c04 lw v0, 0x60(sp)               |     v0 = *(var_60h);
    0x00002c08 lw v0, -0x7fdc(gp)            |     v0 = *((gp - 8183));
                                             |     if (v0 <= 0) {
    0x00002c0c blez v0, 0x2eb0               |         goto label_22;
                                             |     }
                                             | label_21:
    0x00002c10 sw zero, 0x48(sp)             |     *(var_48h_2) = 0;
    0x00002c14 addiu v0, v0, 0x4730          |     v0 += str.root.StreamProfile;
    0x00002c18 sw v0, 0x3c(sp)               |     *(var_3ch_2) = v0;
    0x00002c1c lw v0, -0x7fdc(gp)            |     v0 = *((gp - 8183));
    0x00002c20 move s2, zero                 |     s2 = 0;
    0x00002c24 addiu v0, v0, 0x4744          |     v0 += str._s.S_d.Name;
    0x00002c28 sw v0, 0x40(sp)               |     *(var_40h_2) = v0;
    0x00002c2c addiu v0, sp, 0x5c            |     v0 = sp + 0x5c;
    0x00002c30 sw v0, 0x38(sp)               |     *(var_38h_2) = v0;
    0x00002c34 lw v0, -0x7fdc(gp)            |     v0 = *((gp - 8183));
    0x00002c38 addiu fp, sp, 0x15c           |     fp = sp + 0x15c;
    0x00002c3c addiu v0, v0, 0x47c0          |     v0 += str._s.S_d;
    0x00002c40 sw v0, 0x4c(sp)               |     *(var_4ch_2) = v0;
    0x00002c44 lw t9, -0x7ee0(gp)            |     t9 = sym.imp.memset;
                                             | label_0:
    0x00002c48 addiu a2, zero, 0x100         |     a2 = 0x100;
    0x00002c4c move a1, zero                 |     a1 = 0;
    0x00002c50 move a0, fp                   |     a0 = fp;
    0x00002c54 jalr t9                       |     t9 ();
    0x00002c58 lw gp, 0x20(sp)               |     gp = *(var_20h);
    0x00002c5c lw v0, 0x3c(sp)               |     v0 = *(var_3ch_2);
    0x00002c60 addiu a3, zero, 0x100         |     a3 = 0x100;
    0x00002c64 sw v0, 0x14(sp)               |     *(var_14h_2) = v0;
    0x00002c68 lw v0, 0x40(sp)               |     v0 = *(var_40h_2);
    0x00002c6c lw t9, -0x7f68(gp)            |     t9 = sym.imp.__snprintf_chk
    0x00002c70 addiu a2, zero, 1             |     a2 = 1;
    0x00002c74 addiu a1, zero, 0x100         |     a1 = 0x100;
    0x00002c78 move a0, fp                   |     a0 = fp;
    0x00002c7c sw s2, 0x18(sp)               |     *(var_18h_2) = s2;
    0x00002c80 sw v0, 0x10(sp)               |     *(var_10h) = v0;
    0x00002c84 jalr t9                       |     t9 ();
    0x00002c88 lw gp, 0x20(sp)               |     gp = *(var_20h);
    0x00002c8c lw a2, 0x38(sp)               |     a2 = *(var_38h_2);
    0x00002c90 lw a1, 0x30(sp)               |     a1 = *(var_30h_2);
    0x00002c94 lw t9, -0x7f40(gp)            |     t9 = sym.imp.cli_getCustomParam;
    0x00002c98 move a0, fp                   |     a0 = fp;
    0x00002c9c jalr t9                       |     t9 ();
    0x00002ca0 move s1, v0                   |     s1 = v0;
    0x00002ca4 lw gp, 0x20(sp)               |     gp = *(var_20h);
                                             |     if (v0 == 0) {
    0x00002ca8 beqz v0, 0x2cf4               |         goto label_23;
                                             |     }
    0x00002cac lw t9, -0x7efc(gp)            |     t9 = sym.imp.free;
                                             |     if (s0 <= 0) {
    0x00002cb0 blez s0, 0x2ce8               |         goto label_24;
                                             |     }
    0x00002cb4 lw s5, 0x44(sp)               |     s5 = *(var_44h_2);
    0x00002cb8 move s7, zero                 |     s7 = 0;
                                             |     do {
    0x00002cbc lw a1, (s5)                   |         a1 = *(s5);
    0x00002cc0 lw t9, -0x7f74(gp)            |         t9 = sym.imp.strcmp;
                                             |         if (a1 != 0) {
    0x00002cc4 beqz a1, 0x2cd8               |             
    0x00002cc8 move a0, s1                   |             a0 = s1;
    0x00002ccc jalr t9                       |             t9 ();
    0x00002cd0 lw gp, 0x20(sp)               |             gp = *(var_20h);
                                             |             if (v0 == 0) {
    0x00002cd4 beqz v0, 0x2e00               |                 goto label_25;
                                             |             }
                                             |         }
    0x00002cd8 addiu s7, s7, 1               |         s7++;
    0x00002cdc addiu s5, s5, 4               |         s5 += 4;
    0x00002ce0 bne s0, s7, 0x2cbc            |         
                                             |     } while (s0 != s7);
                                             | label_7:
    0x00002ce4 lw t9, -0x7efc(gp)            |     t9 = sym.imp.free;
                                             | label_24:
    0x00002ce8 move a0, s1                   |     a0 = s1;
    0x00002cec jalr t9                       |     t9 ();
    0x00002cf0 lw gp, 0x20(sp)               |     gp = *(var_20h);
                                             | label_23:
    0x00002cf4 lw v0, 0x60(sp)               |     v0 = *(var_60h);
    0x00002cf8 addiu s2, s2, 1               |     s2++;
    0x00002cfc slt v0, s2, v0                |     v0 = (s2 < v0) ? 1 : 0;
    0x00002d00 lw t9, -0x7ee0(gp)            |     t9 = sym.imp.memset;
                                             |     if (v0 != 0) {
    0x00002d04 bnez v0, 0x2c48               |         goto label_0;
                                             |     }
    0x00002d08 lw v0, 0x48(sp)               |     v0 = *(var_48h_2);
    0x00002d0c lw t9, -0x7f7c(gp)            |     t9 = sym.imp.cli_sync;
                                             |     if (v0 == 0) {
    0x00002d10 beqz v0, 0x2eb0               |         goto label_22;
                                             |     }
    0x00002d14 lw a1, 0x38(sp)               |     a1 = *(var_38h_2);
    0x00002d18 lw a0, 0x30(sp)               |     a0 = *(var_30h_2);
    0x00002d1c jalr t9                       |     t9 ();
    0x00002d20 lw v0, 0x5c(sp)               |     v0 = *(var_5ch);
    0x00002d24 lw gp, 0x20(sp)               |     gp = *(var_20h);
                                             |     if (v0 != 0) {
    0x00002d28 bnez v0, 0x2e84               |         goto label_18;
                                             |     }
    0x00002d2c lw a0, -0x7fdc(gp)            |     a0 = *((gp - 8183));
    0x00002d30 lw t9, -0x7f6c(gp)            |     t9 = sym.imp.json_pack;
    0x00002d34 addiu a0, a0, 0x47c8          |     a0 += 0x47c8;
    0x00002d38 jalr t9                       |     t9 ();
    0x00002d3c lw gp, 0x20(sp)               |     gp = *(var_20h);
    0x00002d40 lw a3, 0x28(sp)               |     a3 = *(var_28h);
    0x00002d44 lw a0, 0x2c(sp)               |     a0 = *(var_2ch);
    0x00002d48 lw t9, -0x7f9c(gp)            |     t9 = sym.build_success_message;
    0x00002d4c addiu a2, s6, 0x4710          |     a2 = s6 + 0x4710;
    0x00002d50 move a1, v0                   |     a1 = v0;
    0x00002d54 move s0, v0                   |     s0 = v0;
    0x00002d58 bal 0x1b44                    |     sym_build_success_message ();
    0x00002d5c lw gp, 0x20(sp)               |     gp = *(var_20h);
                                             |     if (v0 != 0) {
    0x00002d60 bnez v0, 0x2ec8               |         goto label_26;
                                             |     }
                                             | label_11:
    0x00002d64 lw v1, 4(s3)                  |     v1 = *((s3 + 1));
    0x00002d68 addiu v0, zero, -1            |     v0 = -1;
                                             |     if (v1 == v0) {
    0x00002d6c beq v1, v0, 0x2a50            |         goto label_1;
                                             |     }
    0x00002d70 nop                           |     
    0x00002d74 sync                          |     __asm ("sync");
                                             |     do {
    0x00002d78 ll v0, 4(s3)                  |         __asm ("ll v0, 4(s3)");
    0x00002d7c addiu at, v0, -1              |         at = v0 + -1;
    0x00002d80 sc at, 4(s3)                  |         __asm ("sc at, 4(s3)");
    0x00002d84 addiu v0, v0, -1              |         v0 += -1;
    0x00002d88 beqz at, 0x2d78               |         
                                             |     } while (at == 0);
    0x00002d8c sync                          |     __asm ("sync");
    0x00002d90 lw t9, -0x7f48(gp)            |     t9 = sym.imp.json_delete;
                                             |     if (v0 != 0) {
    0x00002d94 bnez v0, 0x2a50               |         goto label_1;
                                             |     }
    0x00002d98 b 0x2a44                      |     goto label_2;
    0x00002d9c nop                           |     
                                             | label_14:
    0x00002da0 lw t9, -0x7fb0(gp)            |     t9 = sym.build_error_message;
    0x00002da4 lw a1, 0x58(sp)               |     a1 = *(var_58h);
    0x00002da8 lw a3, 0x28(sp)               |     a3 = *(var_28h);
    0x00002dac lw a0, 0x2c(sp)               |     a0 = *(var_2ch);
    0x00002db0 addiu a2, s6, 0x4710          |     a2 = s6 + 0x4710;
    0x00002db4 bal 0x1d6c                    |     sym_build_error_message ();
    0x00002db8 lw gp, 0x20(sp)               |     gp = *(var_20h);
    0x00002dbc b 0x2aa0                      |     goto label_3;
                                             | label_16:
    0x00002dc0 sync                          |     __asm ("sync");
                                             |     do {
    0x00002dc4 ll at, 4(s3)                  |         __asm ("ll at, 4(s3)");
    0x00002dc8 addiu at, at, 1               |         at++;
    0x00002dcc sc at, 4(s3)                  |         __asm ("sc at, 4(s3)");
    0x00002dd0 beqz at, 0x2dc4               |         
                                             |     } while (at == 0);
    0x00002dd4 nop                           |     
    0x00002dd8 sync                          |     __asm ("sync");
    0x00002ddc lw a1, -0x7fdc(gp)            |     a1 = *((gp - 8183));
    0x00002de0 b 0x2b10                      |     goto label_4;
                                             | label_13:
    0x00002de4 move a0, s0                   |     a0 = s0;
    0x00002de8 jalr t9                       |     t9 ();
    0x00002dec lw gp, 0x20(sp)               |     gp = *(var_20h);
    0x00002df0 b 0x2a8c                      |     goto label_5;
                                             | label_17:
    0x00002df4 addiu v0, zero, 0x7d3         |     v0 = 0x7d3;
    0x00002df8 sw v0, 0x58(sp)               |     *(var_58h) = v0;
    0x00002dfc b 0x2a0c                      |     goto label_6;
                                             | label_25:
    0x00002e00 addiu v0, sp, 0x260           |     v0 = sp + aav.0x00000260;
    0x00002e04 sll v1, s7, 2                 |     v1 = s7 << 2;
    0x00002e08 addu v1, v0, v1               |     v1 = v0 + v1;
    0x00002e0c lw t9, -0x7ee0(gp)            |     t9 = sym.imp.memset;
    0x00002e10 sw zero, -0x1cc(v1)           |     *((v1 - 115)) = 0;
    0x00002e14 addiu a2, zero, 0x100         |     a2 = 0x100;
    0x00002e18 move a1, zero                 |     a1 = 0;
    0x00002e1c move a0, fp                   |     a0 = fp;
    0x00002e20 jalr t9                       |     t9 ();
    0x00002e24 lw gp, 0x20(sp)               |     gp = *(var_20h);
    0x00002e28 lw v0, 0x3c(sp)               |     v0 = *(var_3ch_2);
    0x00002e2c addiu a3, zero, 0x100         |     a3 = 0x100;
    0x00002e30 sw v0, 0x14(sp)               |     *(var_14h_2) = v0;
    0x00002e34 lw v0, 0x4c(sp)               |     v0 = *(var_4ch_2);
    0x00002e38 lw t9, -0x7f68(gp)            |     t9 = sym.imp.__snprintf_chk
    0x00002e3c addiu a2, zero, 1             |     a2 = 1;
    0x00002e40 addiu a1, zero, 0x100         |     a1 = 0x100;
    0x00002e44 move a0, fp                   |     a0 = fp;
    0x00002e48 sw s2, 0x18(sp)               |     *(var_18h_2) = s2;
    0x00002e4c sw v0, 0x10(sp)               |     *(var_10h) = v0;
    0x00002e50 jalr t9                       |     t9 ();
    0x00002e54 lw gp, 0x20(sp)               |     gp = *(var_20h);
    0x00002e58 lw a2, 0x38(sp)               |     a2 = *(var_38h_2);
    0x00002e5c lw a1, 0x30(sp)               |     a1 = *(var_30h_2);
    0x00002e60 lw t9, -0x7f50(gp)            |     t9 = sym.imp.cli_deleteGroup;
    0x00002e64 move a0, fp                   |     a0 = fp;
    0x00002e68 jalr t9                       |     t9 ();
    0x00002e6c lw v0, 0x5c(sp)               |     v0 = *(var_5ch);
    0x00002e70 lw gp, 0x20(sp)               |     gp = *(var_20h);
                                             |     if (v0 != 0) {
    0x00002e74 bnez v0, 0x2eb0               |         goto label_22;
                                             |     }
    0x00002e78 lw v0, 0x34(sp)               |     v0 = *(var_34h);
    0x00002e7c sw v0, 0x48(sp)               |     *(var_48h_2) = v0;
    0x00002e80 b 0x2ce4                      |     goto label_7;
                                             | label_18:
    0x00002e84 addiu v0, zero, 0x3e8         |     v0 = 0x3e8;
    0x00002e88 lw v1, 4(s3)                  |     v1 = *((s3 + 1));
    0x00002e8c sw v0, 0x58(sp)               |     *(var_58h) = v0;
    0x00002e90 addiu v0, zero, -1            |     v0 = -1;
    0x00002e94 lw t9, -0x7f54(gp)            |     t9 = sym.imp.json_object_size;
                                             |     if (v1 != v0) {
    0x00002e98 bne v1, v0, 0x2a1c            |         goto label_8;
                                             |     }
    0x00002e9c b 0x2a90                      |     goto label_9;
    0x00002ea0 nop                           |     
                                             | label_20:
    0x00002ea4 addiu v0, sp, 0x94            |     v0 = sp + 0x94;
    0x00002ea8 sw v0, 0x44(sp)               |     *(var_44h_2) = v0;
                                             |     if (s0 > 0) {
    0x00002eac bgtz s0, 0x2ba8               |         goto label_10;
                                             |     }
                                             | label_22:
    0x00002eb0 addiu v0, zero, 0x7d4         |     v0 = 0x7d4;
    0x00002eb4 sw v0, 0x58(sp)               |     *(var_58h) = v0;
    0x00002eb8 b 0x2a0c                      |     goto label_6;
                                             | label_19:
    0x00002ebc addiu v0, zero, 0x7d2         |     v0 = 0x7d2;
    0x00002ec0 sw v0, 0x58(sp)               |     *(var_58h) = v0;
    0x00002ec4 b 0x2a0c                      |     goto label_6;
                                             | label_26:
    0x00002ec8 lw t9, -0x7fb0(gp)            |     t9 = sym.build_error_message;
    0x00002ecc addiu v0, zero, 0x3e8         |     v0 = 0x3e8;
    0x00002ed0 lw a3, 0x28(sp)               |     a3 = *(var_28h);
    0x00002ed4 lw a0, 0x2c(sp)               |     a0 = *(var_2ch);
    0x00002ed8 addiu a2, s6, 0x4710          |     a2 = s6 + 0x4710;
    0x00002edc addiu a1, zero, 0x3e8         |     a1 = 0x3e8;
    0x00002ee0 sw v0, 0x58(sp)               |     *(var_58h) = v0;
    0x00002ee4 bal 0x1d6c                    |     sym_build_error_message ();
    0x00002ee8 lw gp, 0x20(sp)               |     gp = *(var_20h);
    0x00002eec b 0x2d64                      |     goto label_11;
                                             | label_15:
    0x00002ef0 lw t9, -0x7f4c(gp)            |     t9 = sym.imp.__stack_chk_fail;
    0x00002ef4 jalr t9                       |     t9 ();
    0x00002ef8 nop                           |     
                                             | }
    ; assembly                               | /* r2dec pseudo code output */
                                             | /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/html/axis-cgi/streamprofile.cgi @ 0x2efc */
                                             | #include <stdint.h>
                                             |  
    ; (fcn) sym.handle_update_method ()      | void handle_update_method () {
    0x00002efc lui gp, 2                     |     
    0x00002f00 addiu gp, gp, -0x5eec         |     
    0x00002f04 addu gp, gp, t9               |     gp += t9;
    0x00002f08 addiu sp, sp, -0x1e0          |     
    0x00002f0c lw t9, -0x7ec4(gp)            |     t9 = sym.imp.cli_resetOptions;
    0x00002f10 sw s2, 0x1c0(sp)              |     *(var_1c0h) = s2;
    0x00002f14 lw s2, -0x7f34(gp)            |     s2 = *((gp - 8141));
    0x00002f18 sw s1, 0x1bc(sp)              |     *(var_1bch) = s1;
    0x00002f1c addiu s1, sp, 0x84            |     s1 = sp + 0x84;
    0x00002f20 lw v0, (s2)                   |     v0 = *(s2);
    0x00002f24 sw gp, 0x20(sp)               |     *(var_20h_2) = gp;
    0x00002f28 sw ra, 0x1dc(sp)              |     *(var_1dch) = ra;
    0x00002f2c sw s5, 0x1cc(sp)              |     *(var_1cch) = s5;
    0x00002f30 sw s4, 0x1c8(sp)              |     *(var_1c8h) = s4;
    0x00002f34 sw s3, 0x1c4(sp)              |     *(var_1c4h) = s3;
    0x00002f38 sw v0, 0x1b4(sp)              |     *(var_1b4h) = v0;
    0x00002f3c move s3, a0                   |     s3 = a0;
    0x00002f40 sw fp, 0x1d8(sp)              |     *(var_1d8h) = fp;
    0x00002f44 move a0, s1                   |     a0 = s1;
    0x00002f48 sw s7, 0x1d4(sp)              |     *(var_1d4h) = s7;
    0x00002f4c sw s6, 0x1d0(sp)              |     *(var_1d0h) = s6;
    0x00002f50 sw s0, 0x1b8(sp)              |     *(var_1b8h) = s0;
    0x00002f54 sw zero, 0x6c(sp)             |     *(var_6ch) = 0;
    0x00002f58 sw zero, 0x70(sp)             |     *(var_70h) = 0;
    0x00002f5c sw zero, 0x74(sp)             |     *(var_74h) = 0;
    0x00002f60 lw s5, -0x7fdc(gp)            |     s5 = *((gp - 8183));
    0x00002f64 move s4, a1                   |     s4 = a1;
    0x00002f68 jalr t9                       |     t9 ();
    0x00002f6c lw gp, 0x20(sp)               |     gp = *(var_20h_2);
    0x00002f70 addiu v0, sp, 0x6c            |     v0 = sp + 0x6c;
    0x00002f74 sw v0, 0x10(sp)               |     *(var_10h_2) = v0;
    0x00002f78 lw a1, -0x7fdc(gp)            |     a1 = *((gp - 8183));
    0x00002f7c lw t9, -0x7fa0(gp)            |     t9 = sym.parse_common_properties;
    0x00002f80 addiu a3, sp, 0x68            |     a3 = sp + 0x68;
    0x00002f84 addiu a2, s5, 0x4710          |     a2 = s5 + 0x4710;
    0x00002f88 addiu a1, a1, 0x4540          |     a1 += str.update;
    0x00002f8c move a0, s3                   |     a0 = s3;
    0x00002f90 bal 0x202c                    |     sym_parse_common_properties ();
    0x00002f94 lw gp, 0x20(sp)               |     gp = *(var_20h_2);
                                             |     if (v0 != 0) {
    0x00002f98 beqz v0, 0x2fa8               |         
    0x00002f9c lw v0, 0x6c(sp)               |         v0 = *(var_6ch);
    0x00002fa0 lw s0, -0x7fdc(gp)            |         s0 = *((gp - 8183));
                                             |         if (v0 == 0) {
    0x00002fa4 beqz v0, 0x2ffc               |             goto label_9;
                                             |         }
                                             |     }
                                             | label_0:
    0x00002fa8 lw t9, -0x7f54(gp)            |     t9 = sym.imp.json_object_size;
                                             | label_5:
    0x00002fac move a0, s4                   |     a0 = s4;
    0x00002fb0 jalr t9                       |     t9 ();
    0x00002fb4 lw gp, 0x20(sp)               |     gp = *(var_20h_2);
                                             |     if (v0 == 0) {
    0x00002fb8 beqz v0, 0x32a4               |         goto label_10;
                                             |     }
                                             | label_1:
    0x00002fbc lw a0, 0x1b4(sp)              |     a0 = *(var_1b4h);
    0x00002fc0 lw v1, (s2)                   |     v1 = *(s2);
    0x00002fc4 addiu v0, zero, 1             |     v0 = 1;
                                             |     if (a0 != v1) {
    0x00002fc8 bne a0, v1, 0x352c            |         goto label_11;
                                             |     }
    0x00002fcc lw ra, 0x1dc(sp)              |     ra = *(var_1dch);
    0x00002fd0 lw fp, 0x1d8(sp)              |     fp = *(var_1d8h);
    0x00002fd4 lw s7, 0x1d4(sp)              |     s7 = *(var_1d4h);
    0x00002fd8 lw s6, 0x1d0(sp)              |     s6 = *(var_1d0h);
    0x00002fdc lw s5, 0x1cc(sp)              |     s5 = *(var_1cch);
    0x00002fe0 lw s4, 0x1c8(sp)              |     s4 = *(var_1c8h);
    0x00002fe4 lw s3, 0x1c4(sp)              |     s3 = *(var_1c4h);
    0x00002fe8 lw s2, 0x1c0(sp)              |     s2 = *(var_1c0h);
    0x00002fec lw s1, 0x1bc(sp)              |     s1 = *(var_1bch);
    0x00002ff0 lw s0, 0x1b8(sp)              |     s0 = *(var_1b8h);
    0x00002ff4 addiu sp, sp, 0x1e0           |     
    0x00002ff8 jr ra                         |     return v0;
                                             | label_9:
    0x00002ffc lw a1, -0x7fdc(gp)            |     a1 = *((gp - 8183));
    0x00003000 lw t9, -0x7ec0(gp)            |     t9 = sym.imp.json_unpack;
    0x00003004 addiu v0, sp, 0x80            |     v0 = sp + 0x80;
    0x00003008 sw v0, 0x38(sp)               |     *(var_38h) = v0;
    0x0000300c move a3, v0                   |     a3 = v0;
    0x00003010 addiu a2, s0, 0x46dc          |     a2 = s0 + str.params;
    0x00003014 addiu a1, a1, 0x47cc          |     a1 += str.so;
    0x00003018 move a0, s3                   |     a0 = s3;
    0x0000301c sw zero, 0x80(sp)             |     *(var_80h) = 0;
    0x00003020 jalr t9                       |     t9 ();
    0x00003024 lw gp, 0x20(sp)               |     gp = *(var_20h_2);
                                             |     if (v0 != 0) {
    0x00003028 bnez v0, 0x34d0               |         goto label_12;
                                             |     }
    0x0000302c lw t9, -0x7f30(gp)            |     t9 = sym.imp.json_object_get;
    0x00003030 addiu a1, s0, 0x46dc          |     a1 = s0 + str.params;
    0x00003034 move a0, s3                   |     a0 = s3;
    0x00003038 jalr t9                       |     t9 ();
    0x0000303c sw v0, 0x30(sp)               |     *(var_30h) = v0;
    0x00003040 lw gp, 0x20(sp)               |     gp = *(var_20h_2);
                                             |     if (v0 == 0) {
    0x00003044 beqz v0, 0x34d0               |         goto label_12;
                                             |     }
    0x00003048 lw a0, 0x30(sp)               |     a0 = *(var_30h);
    0x0000304c addiu v0, zero, -1            |     v0 = -1;
    0x00003050 lw v1, 4(a0)                  |     v1 = *((a0 + 1));
                                             |     if (v1 != v0) {
    0x00003054 bne v1, v0, 0x32c4            |         goto label_13;
                                             |     }
    0x00003058 nop                           |     
    0x0000305c lw a1, -0x7fdc(gp)            |     a1 = *((gp - 8183));
                                             | label_2:
    0x00003060 lw t9, -0x7f30(gp)            |     t9 = sym.imp.json_object_get;
    0x00003064 lw a0, 0x30(sp)               |     a0 = *(var_30h);
    0x00003068 addiu a1, a1, 0x47a8          |     a1 += str.streamProfile;
    0x0000306c jalr t9                       |     t9 ();
    0x00003070 sw v0, 0x34(sp)               |     *(var_34h_2) = v0;
    0x00003074 lw gp, 0x20(sp)               |     gp = *(var_20h_2);
                                             |     if (v0 == 0) {
    0x00003078 beqz v0, 0x32f0               |         goto label_14;
                                             |     }
    0x0000307c lw t9, -0x7ee4(gp)            |     t9 = sym.imp.json_array_size;
    0x00003080 lw a0, 0x34(sp)               |     a0 = *(var_34h_2);
    0x00003084 jalr t9                       |     t9 ();
    0x00003088 lw gp, 0x20(sp)               |     gp = *(var_20h_2);
    0x0000308c addiu a0, sp, 0x74            |     a0 = sp + 0x74;
    0x00003090 lw t9, -0x7fdc(gp)            |     t9 = *((gp - 8183));
    0x00003094 addiu t9, t9, 0x21d0          |     t9 += fcn.000021d0;
    0x00003098 sw v0, 0x3c(sp)               |     *(var_3ch) = v0;
    0x0000309c bal 0x21d0                    |     fcn_000021d0 ();
    0x000030a0 lw gp, 0x20(sp)               |     gp = *(var_20h_2);
                                             |     if (v0 == 0) {
    0x000030a4 beqz v0, 0x34dc               |         goto label_15;
                                             |     }
    0x000030a8 lw v0, 0x3c(sp)               |     v0 = *(var_3ch);
    0x000030ac move v1, zero                 |     v1 = 0;
                                             |     if (v0 <= 0) {
    0x000030b0 blez v0, 0x34fc               |         goto label_16;
                                             |     }
    0x000030b4 lw v0, -0x7fdc(gp)            |     v0 = *((gp - 8183));
    0x000030b8 lw s6, -0x7fdc(gp)            |     s6 = *((gp - 8183));
    0x000030bc sw v0, 0x48(sp)               |     *(var_48h) = v0;
    0x000030c0 lw v0, -0x7fdc(gp)            |     v0 = *((gp - 8183));
    0x000030c4 sw v0, 0x50(sp)               |     *(var_50h) = v0;
    0x000030c8 lw v0, -0x7fdc(gp)            |     v0 = *((gp - 8183));
    0x000030cc sw s3, 0x58(sp)               |     *(var_58h_2) = s3;
    0x000030d0 sw v0, 0x60(sp)               |     *(var_60h_2) = v0;
    0x000030d4 addiu v0, sp, 0x7c            |     v0 = sp + 0x7c;
    0x000030d8 sw v0, 0x54(sp)               |     *(var_54h_2) = v0;
    0x000030dc lw v0, -0x7fdc(gp)            |     v0 = *((gp - 8183));
    0x000030e0 addiu s7, sp, 0xb4            |     s7 = sp + 0xb4;
    0x000030e4 addiu v0, v0, 0x4790          |     v0 += str.parameters;
    0x000030e8 sw v0, 0x44(sp)               |     *(var_44h) = v0;
    0x000030ec addiu v0, sp, 0x78            |     v0 = sp + 0x78;
    0x000030f0 sw v0, 0x4c(sp)               |     *(var_4ch) = v0;
    0x000030f4 lw v0, -0x7fdc(gp)            |     v0 = *((gp - 8183));
    0x000030f8 addiu s6, s6, 0x4730          |     s6 += str.root.StreamProfile;
    0x000030fc addiu v0, v0, 0x4778          |     v0 += str.description;
    0x00003100 sw v0, 0x40(sp)               |     *(var_40h) = v0;
    0x00003104 lw v0, -0x7fdc(gp)            |     v0 = *((gp - 8183));
    0x00003108 move s3, v1                   |     s3 = v1;
    0x0000310c addiu v0, v0, 0x4744          |     v0 += str._s.S_d.Name;
    0x00003110 sw v0, 0x2c(sp)               |     *(var_2ch_2) = v0;
    0x00003114 lw v0, -0x7fdc(gp)            |     v0 = *((gp - 8183));
    0x00003118 sw s4, 0x5c(sp)               |     *(var_5ch_2) = s4;
    0x0000311c addiu v0, v0, 0x4764          |     v0 += str._s.S_d.Parameters;
    0x00003120 sw v0, 0x64(sp)               |     *(var_64h) = v0;
                                             | label_4:
    0x00003124 lw t9, -0x7edc(gp)            |     t9 = sym.imp.json_array_get;
    0x00003128 lw a0, 0x34(sp)               |     a0 = *(var_34h_2);
    0x0000312c move a1, s3                   |     a1 = s3;
    0x00003130 jalr t9                       |     t9 ();
    0x00003134 lw v1, 0x54(sp)               |     v1 = *(var_54h_2);
    0x00003138 lw gp, 0x20(sp)               |     gp = *(var_20h_2);
    0x0000313c sw v1, 0x1c(sp)               |     *(var_1ch) = v1;
    0x00003140 lw v1, 0x44(sp)               |     v1 = *(var_44h);
    0x00003144 lw a3, 0x38(sp)               |     a3 = *(var_38h);
    0x00003148 sw v1, 0x18(sp)               |     *(var_18h) = v1;
    0x0000314c lw v1, 0x4c(sp)               |     v1 = *(var_4ch);
    0x00003150 lw t9, -0x7ec0(gp)            |     t9 = sym.imp.json_unpack;
    0x00003154 sw v1, 0x14(sp)               |     *(var_14h) = v1;
    0x00003158 lw v1, 0x40(sp)               |     v1 = *(var_40h);
    0x0000315c move a0, v0                   |     a0 = v0;
    0x00003160 sw v1, 0x10(sp)               |     *(var_10h_2) = v1;
    0x00003164 lw v1, 0x48(sp)               |     v1 = *(var_48h);
    0x00003168 addiu a2, v1, 0x4728          |     a2 = v1 + str.name;
    0x0000316c lw v1, 0x50(sp)               |     v1 = *(var_50h);
    0x00003170 addiu a1, v1, 0x4784          |     a1 = v1 + str.ssssss;
    0x00003174 jalr t9                       |     t9 ();
    0x00003178 lw v0, 0x80(sp)               |     v0 = *(var_80h);
    0x0000317c lw gp, 0x20(sp)               |     gp = *(var_20h_2);
                                             |     if (v0 == 0) {
    0x00003180 beqz v0, 0x32e8               |         goto label_17;
                                             |     }
    0x00003184 lw v0, 0x78(sp)               |     v0 = *(var_78h);
    0x00003188 lw v0, 0x7c(sp)               |     v0 = *(var_7ch);
                                             |     if (v0 == 0) {
    0x0000318c beqz v0, 0x32e8               |         goto label_17;
                                             |     }
    0x00003190 lw v0, 0x74(sp)               |     v0 = *(var_74h);
                                             |     if (v0 == 0) {
    0x00003194 beqz v0, 0x32e8               |         goto label_17;
                                             |     }
    0x00003198 lw v0, 0x30(sp)               |     v0 = *(var_30h);
                                             |     if (v0 <= 0) {
    0x0000319c blez v0, 0x3250               |         goto label_18;
                                             |     }
    0x000031a0 move s0, zero                 |     s0 = 0;
    0x000031a4 addiu fp, sp, 0x70            |     fp = sp + 0x70;
    0x000031a8 lw t9, -0x7ee0(gp)            |     t9 = sym.imp.memset;
                                             |     do {
    0x000031ac addiu a2, zero, 0x100         |         a2 = 0x100;
    0x000031b0 move a1, zero                 |         a1 = 0;
    0x000031b4 move a0, s7                   |         a0 = s7;
    0x000031b8 jalr t9                       |         t9 ();
    0x000031bc lw gp, 0x20(sp)               |         gp = *(var_20h_2);
    0x000031c0 lw v0, 0x2c(sp)               |         v0 = *(var_2ch_2);
    0x000031c4 addiu a3, zero, 0x100         |         a3 = 0x100;
    0x000031c8 lw t9, -0x7f68(gp)            |         t9 = sym.imp.__snprintf_chk
    0x000031cc addiu a2, zero, 1             |         a2 = 1;
    0x000031d0 addiu a1, zero, 0x100         |         a1 = 0x100;
    0x000031d4 move a0, s7                   |         a0 = s7;
    0x000031d8 sw s0, 0x18(sp)               |         *(var_18h) = s0;
    0x000031dc sw s6, 0x14(sp)               |         *(var_14h) = s6;
    0x000031e0 sw v0, 0x10(sp)               |         *(var_10h_2) = v0;
    0x000031e4 jalr t9                       |         t9 ();
    0x000031e8 lw gp, 0x20(sp)               |         gp = *(var_20h_2);
    0x000031ec move a2, fp                   |         a2 = fp;
    0x000031f0 move a1, s1                   |         a1 = s1;
    0x000031f4 lw t9, -0x7f40(gp)            |         t9 = sym.imp.cli_getCustomParam;
    0x000031f8 move a0, s7                   |         a0 = s7;
    0x000031fc jalr t9                       |         t9 ();
    0x00003200 move s4, v0                   |         s4 = v0;
    0x00003204 lw gp, 0x20(sp)               |         gp = *(var_20h_2);
                                             |         if (v0 != 0) {
    0x00003208 beqz v0, 0x3238               |             
    0x0000320c lw t9, -0x7f74(gp)            |             t9 = sym.imp.strcmp;
    0x00003210 lw a1, 0x80(sp)               |             a1 = *(var_80h);
    0x00003214 move a0, v0                   |             a0 = v0;
    0x00003218 jalr t9                       |             t9 ();
    0x0000321c lw gp, 0x20(sp)               |             gp = *(var_20h_2);
    0x00003220 move a0, s4                   |             a0 = s4;
    0x00003224 lw t9, -0x7efc(gp)            |             t9 = sym.imp.free;
                                             |             if (v0 == 0) {
    0x00003228 beqz v0, 0x3310               |                 goto label_19;
                                             |             }
    0x0000322c jalr t9                       |             t9 ();
    0x00003230 nop                           |             
    0x00003234 lw gp, 0x20(sp)               |             gp = *(var_20h_2);
                                             |         }
    0x00003238 lw v0, 0x74(sp)               |         v0 = *(var_74h);
    0x0000323c addiu s0, s0, 1               |         s0++;
    0x00003240 slt v0, s0, v0                |         v0 = (s0 < v0) ? 1 : 0;
    0x00003244 lw t9, -0x7ee0(gp)            |         t9 = sym.imp.memset;
    0x00003248 bnez v0, 0x31ac               |         
                                             |     } while (v0 != 0);
    0x0000324c lw v0, 0x30(sp)               |     v0 = *(var_30h);
                                             | label_18:
    0x00003250 addiu a0, zero, 0x7d4         |     a0 = 0x7d4;
    0x00003254 lw s3, 0x58(sp)               |     s3 = *(var_58h_2);
    0x00003258 lw v1, 4(v0)                  |     v1 = *((v0 + 1));
    0x0000325c addiu v0, zero, -1            |     v0 = -1;
    0x00003260 lw s4, 0x5c(sp)               |     s4 = *(var_5ch_2);
    0x00003264 sw a0, 0x6c(sp)               |     *(var_6ch) = a0;
                                             |     if (v1 == v0) {
    0x00003268 beq v1, v0, 0x2fa8            |         goto label_0;
                                             |     }
    0x0000326c lw a0, 0x30(sp)               |     a0 = *(var_30h);
                                             | label_3:
    0x00003270 sync                          |     __asm ("sync");
                                             |     do {
    0x00003274 ll v0, 4(a0)                  |         __asm ("ll v0, 4(a0)");
    0x00003278 addiu at, v0, -1              |         at = v0 + -1;
    0x0000327c sc at, 4(a0)                  |         __asm ("sc at, 4(a0)");
    0x00003280 addiu v0, v0, -1              |         v0 += -1;
    0x00003284 beqz at, 0x3274               |         
                                             |     } while (at == 0);
    0x00003288 sync                          |     __asm ("sync");
    0x0000328c lw t9, -0x7f48(gp)            |     t9 = sym.imp.json_delete;
                                             |     if (v0 != 0) {
    0x00003290 bnez v0, 0x2fa8               |         goto label_0;
                                             |     }
    0x00003294 jalr t9                       |     t9 ();
    0x00003298 nop                           |     
    0x0000329c lw gp, 0x20(sp)               |     gp = *(var_20h_2);
    0x000032a0 b 0x2fa8                      |     goto label_0;
                                             | label_10:
    0x000032a4 lw t9, -0x7fb0(gp)            |     t9 = sym.build_error_message;
    0x000032a8 lw a1, 0x6c(sp)               |     a1 = *(var_6ch);
    0x000032ac move a3, s4                   |     a3 = s4;
    0x000032b0 addiu a2, s5, 0x4710          |     a2 = s5 + 0x4710;
    0x000032b4 move a0, s3                   |     a0 = s3;
    0x000032b8 bal 0x1d6c                    |     sym_build_error_message ();
    0x000032bc lw gp, 0x20(sp)               |     gp = *(var_20h_2);
    0x000032c0 b 0x2fbc                      |     goto label_1;
                                             | label_13:
    0x000032c4 sync                          |     __asm ("sync");
                                             |     do {
    0x000032c8 ll at, 4(a0)                  |         __asm ("ll at, 4(a0)");
    0x000032cc addiu at, at, 1               |         at++;
    0x000032d0 sc at, 4(a0)                  |         __asm ("sc at, 4(a0)");
    0x000032d4 beqz at, 0x32c8               |         
                                             |     } while (at == 0);
    0x000032d8 nop                           |     
    0x000032dc sync                          |     __asm ("sync");
    0x000032e0 lw a1, -0x7fdc(gp)            |     a1 = *((gp - 8183));
    0x000032e4 b 0x3060                      |     goto label_2;
                                             | label_17:
    0x000032e8 lw s3, 0x58(sp)               |     s3 = *(var_58h_2);
    0x000032ec lw s4, 0x5c(sp)               |     s4 = *(var_5ch_2);
                                             | label_14:
    0x000032f0 lw v0, 0x30(sp)               |     v0 = *(var_30h);
    0x000032f4 addiu a0, zero, 0x7d3         |     a0 = 0x7d3;
    0x000032f8 lw v1, 4(v0)                  |     v1 = *((v0 + 1));
    0x000032fc addiu v0, zero, -1            |     v0 = -1;
    0x00003300 sw a0, 0x6c(sp)               |     *(var_6ch) = a0;
                                             |     if (v1 == v0) {
    0x00003304 beq v1, v0, 0x2fa8            |         goto label_0;
                                             |     }
    0x00003308 lw a0, 0x30(sp)               |     a0 = *(var_30h);
    0x0000330c b 0x3270                      |     goto label_3;
                                             | label_19:
    0x00003310 addiu s3, s3, 1               |     s3++;
    0x00003314 jalr t9                       |     t9 ();
    0x00003318 lw gp, 0x20(sp)               |     gp = *(var_20h_2);
    0x0000331c addiu a2, zero, 0x100         |     a2 = 0x100;
    0x00003320 move a1, zero                 |     a1 = 0;
    0x00003324 lw t9, -0x7ee0(gp)            |     t9 = sym.imp.memset;
    0x00003328 move a0, s7                   |     a0 = s7;
    0x0000332c jalr t9                       |     t9 ();
    0x00003330 lw gp, 0x20(sp)               |     gp = *(var_20h_2);
    0x00003334 lw v0, 0x60(sp)               |     v0 = *(var_60h_2);
    0x00003338 addiu a3, zero, 0x100         |     a3 = 0x100;
    0x0000333c lw t9, -0x7f68(gp)            |     t9 = sym.imp.__snprintf_chk
    0x00003340 addiu v0, v0, 0x4750          |     v0 += str._s.S_d.Description;
    0x00003344 addiu a2, zero, 1             |     a2 = 1;
    0x00003348 addiu a1, zero, 0x100         |     a1 = 0x100;
    0x0000334c move a0, s7                   |     a0 = s7;
    0x00003350 sw s0, 0x18(sp)               |     *(var_18h) = s0;
    0x00003354 sw s6, 0x14(sp)               |     *(var_14h) = s6;
    0x00003358 sw v0, 0x10(sp)               |     *(var_10h_2) = v0;
    0x0000335c jalr t9                       |     t9 ();
    0x00003360 lw gp, 0x20(sp)               |     gp = *(var_20h_2);
    0x00003364 lw a1, 0x78(sp)               |     a1 = *(var_78h);
    0x00003368 move a3, fp                   |     a3 = fp;
    0x0000336c lw t9, -0x7f78(gp)            |     t9 = sym.imp.cli_setCustomParam;
    0x00003370 move a2, s1                   |     a2 = s1;
    0x00003374 move a0, s7                   |     a0 = s7;
    0x00003378 jalr t9                       |     t9 ();
    0x0000337c lw gp, 0x20(sp)               |     gp = *(var_20h_2);
    0x00003380 addiu a2, zero, 0x100         |     a2 = 0x100;
    0x00003384 move a1, zero                 |     a1 = 0;
    0x00003388 lw t9, -0x7ee0(gp)            |     t9 = sym.imp.memset;
    0x0000338c move a0, s7                   |     a0 = s7;
    0x00003390 jalr t9                       |     t9 ();
    0x00003394 lw gp, 0x20(sp)               |     gp = *(var_20h_2);
    0x00003398 lw v0, 0x64(sp)               |     v0 = *(var_64h);
    0x0000339c addiu a3, zero, 0x100         |     a3 = 0x100;
    0x000033a0 lw t9, -0x7f68(gp)            |     t9 = sym.imp.__snprintf_chk
    0x000033a4 addiu a2, zero, 1             |     a2 = 1;
    0x000033a8 addiu a1, zero, 0x100         |     a1 = 0x100;
    0x000033ac move a0, s7                   |     a0 = s7;
    0x000033b0 sw s0, 0x18(sp)               |     *(var_18h) = s0;
    0x000033b4 sw s6, 0x14(sp)               |     *(var_14h) = s6;
    0x000033b8 sw v0, 0x10(sp)               |     *(var_10h_2) = v0;
    0x000033bc jalr t9                       |     t9 ();
    0x000033c0 lw gp, 0x20(sp)               |     gp = *(var_20h_2);
    0x000033c4 lw a1, 0x7c(sp)               |     a1 = *(var_7ch);
    0x000033c8 move a3, fp                   |     a3 = fp;
    0x000033cc lw t9, -0x7f78(gp)            |     t9 = sym.imp.cli_setCustomParam;
    0x000033d0 move a2, s1                   |     a2 = s1;
    0x000033d4 move a0, s7                   |     a0 = s7;
    0x000033d8 jalr t9                       |     t9 ();
    0x000033dc lw v0, 0x3c(sp)               |     v0 = *(var_3ch);
    0x000033e0 lw gp, 0x20(sp)               |     gp = *(var_20h_2);
                                             |     if (v0 != s3) {
    0x000033e4 bne v0, s3, 0x3124            |         goto label_4;
                                             |     }
    0x000033e8 lw s3, 0x58(sp)               |     s3 = *(var_58h_2);
    0x000033ec lw s4, 0x5c(sp)               |     s4 = *(var_5ch_2);
    0x000033f0 move v0, fp                   |     v0 = fp;
                                             | label_6:
    0x000033f4 lw t9, -0x7f7c(gp)            |     t9 = sym.imp.cli_sync;
    0x000033f8 move a1, v0                   |     a1 = v0;
    0x000033fc move a0, s1                   |     a0 = s1;
    0x00003400 jalr t9                       |     t9 ();
    0x00003404 lw v0, 0x70(sp)               |     v0 = *(var_70h);
    0x00003408 lw gp, 0x20(sp)               |     gp = *(var_20h_2);
                                             |     if (v0 != 0) {
    0x0000340c bnez v0, 0x34dc               |         goto label_15;
                                             |     }
    0x00003410 lw a0, -0x7fdc(gp)            |     a0 = *((gp - 8183));
    0x00003414 lw t9, -0x7f6c(gp)            |     t9 = sym.imp.json_pack;
    0x00003418 addiu a0, a0, 0x47d4          |     a0 += 0x47d4;
    0x0000341c jalr t9                       |     t9 ();
    0x00003420 lw gp, 0x20(sp)               |     gp = *(var_20h_2);
    0x00003424 move a3, s4                   |     a3 = s4;
    0x00003428 addiu a2, s5, 0x4710          |     a2 = s5 + 0x4710;
    0x0000342c lw t9, -0x7f9c(gp)            |     t9 = sym.build_success_message;
    0x00003430 move a1, v0                   |     a1 = v0;
    0x00003434 move a0, s3                   |     a0 = s3;
    0x00003438 move s0, v0                   |     s0 = v0;
    0x0000343c bal 0x1b44                    |     sym_build_success_message ();
    0x00003440 lw gp, 0x20(sp)               |     gp = *(var_20h_2);
                                             |     if (v0 != 0) {
    0x00003444 bnez v0, 0x3504               |         goto label_20;
                                             |     }
                                             | label_7:
    0x00003448 lw v0, 0x30(sp)               |     v0 = *(var_30h);
    0x0000344c lw v1, 4(v0)                  |     v1 = *((v0 + 1));
    0x00003450 addiu v0, zero, -1            |     v0 = -1;
    0x00003454 lw v1, 0x30(sp)               |     v1 = *(var_30h);
                                             |     if (v1 == v0) {
    0x00003458 beq v1, v0, 0x3480            |         goto label_8;
                                             |     }
    0x0000345c sync                          |     __asm ("sync");
                                             |     do {
    0x00003460 ll v0, 4(v1)                  |         __asm ("ll v0, 4(v1)");
    0x00003464 addiu at, v0, -1              |         at = v0 + -1;
    0x00003468 sc at, 4(v1)                  |         __asm ("sc at, 4(v1)");
    0x0000346c addiu v0, v0, -1              |         v0 += -1;
    0x00003470 beqz at, 0x3460               |         
                                             |     } while (at == 0);
    0x00003474 sync                          |     __asm ("sync");
    0x00003478 lw t9, -0x7f48(gp)            |     t9 = sym.imp.json_delete;
                                             |     if (v0 == 0) {
    0x0000347c beqz v0, 0x3538               |         goto label_21;
                                             |     }
                                             | label_8:
    0x00003480 lw t9, -0x7f54(gp)            |     t9 = sym.imp.json_object_size;
                                             |     if (s0 == 0) {
    0x00003484 beqz s0, 0x2fac               |         goto label_5;
                                             |     }
    0x00003488 lw v1, 4(s0)                  |     v1 = *((s0 + 1));
    0x0000348c addiu v0, zero, -1            |     v0 = -1;
                                             |     if (v1 == v0) {
    0x00003490 beq v1, v0, 0x2fac            |         goto label_5;
                                             |     }
    0x00003494 nop                           |     
    0x00003498 sync                          |     __asm ("sync");
                                             |     do {
    0x0000349c ll v0, 4(s0)                  |         __asm ("ll v0, 4(s0)");
    0x000034a0 addiu at, v0, -1              |         at = v0 + -1;
    0x000034a4 sc at, 4(s0)                  |         __asm ("sc at, 4(s0)");
    0x000034a8 addiu v0, v0, -1              |         v0 += -1;
    0x000034ac beqz at, 0x349c               |         
                                             |     } while (at == 0);
    0x000034b0 sync                          |     __asm ("sync");
    0x000034b4 lw t9, -0x7f54(gp)            |     t9 = sym.imp.json_object_size;
                                             |     if (v0 != 0) {
    0x000034b8 bnez v0, 0x2fac               |         goto label_5;
                                             |     }
    0x000034bc lw t9, -0x7f48(gp)            |     t9 = sym.imp.json_delete;
    0x000034c0 move a0, s0                   |     a0 = s0;
    0x000034c4 jalr t9                       |     t9 ();
    0x000034c8 lw gp, 0x20(sp)               |     gp = *(var_20h_2);
    0x000034cc b 0x2fa8                      |     goto label_0;
                                             | label_12:
    0x000034d0 addiu v0, zero, 0x7d3         |     v0 = 0x7d3;
    0x000034d4 sw v0, 0x6c(sp)               |     *(var_6ch) = v0;
    0x000034d8 b 0x2fa8                      |     goto label_0;
                                             | label_15:
    0x000034dc lw v0, 0x30(sp)               |     v0 = *(var_30h);
    0x000034e0 addiu a0, zero, 0x3e8         |     a0 = 0x3e8;
    0x000034e4 lw v1, 4(v0)                  |     v1 = *((v0 + 1));
    0x000034e8 addiu v0, zero, -1            |     v0 = -1;
    0x000034ec sw a0, 0x6c(sp)               |     *(var_6ch) = a0;
                                             |     if (v1 == v0) {
    0x000034f0 beq v1, v0, 0x2fa8            |         goto label_0;
                                             |     }
    0x000034f4 lw a0, 0x30(sp)               |     a0 = *(var_30h);
    0x000034f8 b 0x3270                      |     goto label_3;
                                             | label_16:
    0x000034fc addiu v0, sp, 0x70            |     v0 = sp + 0x70;
    0x00003500 b 0x33f4                      |     goto label_6;
                                             | label_20:
    0x00003504 lw t9, -0x7fb0(gp)            |     t9 = sym.build_error_message;
    0x00003508 addiu v0, zero, 0x3e8         |     v0 = 0x3e8;
    0x0000350c move a3, s4                   |     a3 = s4;
    0x00003510 addiu a2, s5, 0x4710          |     a2 = s5 + 0x4710;
    0x00003514 addiu a1, zero, 0x3e8         |     a1 = 0x3e8;
    0x00003518 move a0, s3                   |     a0 = s3;
    0x0000351c sw v0, 0x6c(sp)               |     *(var_6ch) = v0;
    0x00003520 bal 0x1d6c                    |     sym_build_error_message ();
    0x00003524 lw gp, 0x20(sp)               |     gp = *(var_20h_2);
    0x00003528 b 0x3448                      |     goto label_7;
                                             | label_11:
    0x0000352c lw t9, -0x7f4c(gp)            |     t9 = sym.imp.__stack_chk_fail;
    0x00003530 jalr t9                       |     t9 ();
    0x00003534 nop                           |     
                                             | label_21:
    0x00003538 lw a0, 0x30(sp)               |     a0 = *(var_30h);
    0x0000353c jalr t9                       |     t9 ();
    0x00003540 lw gp, 0x20(sp)               |     gp = *(var_20h_2);
    0x00003544 b 0x3480                      |     goto label_8;
                                             | }

[*] Function printf used 13 times streamprofile.cgi