[*] Binary protection state of libmp.so

  
  	No RELRO       No Canary found   NX disabled  DSO          No RPATH     No RUNPATH   Symbols


[*] Function sprintf tear down of libmp.so

    ; assembly                                   | /* r2dec pseudo code output */
                                                 | /* /logs/firmware/unblob_extracted/firmware_extract/6225984-11075644.jffs2_new_extract/lib/libmp.so @ 0x42e40 */
                                                 | #include <stdint.h>
                                                 |  
    ; (fcn) sym.IMP_Encoder_CreateGroup ()       | void IMP_Encoder_CreateGroup () {
    0x00042e40 lui gp, 0xb                       |     
    0x00042e44 addiu gp, gp, -0x5a30             |     
    0x00042e48 addu gp, gp, t9                   |     gp += t9;
    0x00042e4c addiu sp, sp, -0x50               |     
    0x00042e50 slti v0, a0, 6                    |     v0 = (a0 < 6) ? 1 : 0;
    0x00042e54 sw gp, 0x28(sp)                   |     *(var_28h) = gp;
    0x00042e58 sw s0, 0x40(sp)                   |     *(var_40h) = s0;
    0x00042e5c sw ra, 0x4c(sp)                   |     *(var_4ch) = ra;
    0x00042e60 sw s2, 0x48(sp)                   |     *(var_48h) = s2;
    0x00042e64 sw s1, 0x44(sp)                   |     *(var_44h) = s1;
    0x00042e68 move s0, a0                       |     s0 = a0;
                                                 |     if (v0 == 0) {
    0x00042e6c beqz v0, 0x42f04                  |         goto label_1;
                                                 |     }
    0x00042e70 lw v0, -0x7fe4(gp)                |     v0 = *((gp - 8185));
    0x00042e74 lw s1, 0x6400(v0)                 |     s1 = *((v0 + 6400));
    0x00042e78 lw a1, -0x7fc8(gp)                |     a1 = *(gp);
                                                 |     if (s1 == 0) {
    0x00042e7c beqz s1, 0x42f68                  |         goto label_2;
                                                 |     }
    0x00042e80 lw s2, (s1)                       |     s2 = *(s1);
    0x00042e84 lw t9, -0x7c30(gp)                |     t9 = sym.imp.sprintf
    0x00042e88 addiu a0, sp, 0x30                |     a0 = sp + 0x30;
                                                 |     /* str._s__d */
    0x00042e8c addiu a1, a1, -0x78dc             |     a1 += -0x78dc;
    0x00042e90 move a2, s2                       |     a2 = s2;
    0x00042e94 move a3, s0                       |     a3 = s0;
    0x00042e98 jalr t9                           |     t9 ();
    0x00042e9c lw gp, 0x28(sp)                   |     gp = *(var_28h);
    0x00042ea0 addiu a0, zero, 1                 |     a0 = 1;
    0x00042ea4 move a1, s0                       |     a1 = s0;
    0x00042ea8 lw a3, -0x7fa4(gp)                |     a3 = *((gp - 8169));
    0x00042eac lw t9, -0x7f30(gp)                |     t9 = sym.create_group;
    0x00042eb0 addiu a2, sp, 0x30                |     a2 = sp + 0x30;
                                                 |     /* sym.on_encoder_group_data_update */
    0x00042eb4 addiu a3, a3, 0x21cc              |     a3 += 0x21cc;
    0x00042eb8 jalr t9                           |     t9 ();
    0x00042ebc addiu a1, s0, 8                   |     a1 = s0 + 8;
    0x00042ec0 sll a1, a1, 2                     |     a1 <<= 2;
    0x00042ec4 sll a0, s0, 4                     |     a0 = s0 << 4;
    0x00042ec8 move v1, v0                       |     v1 = v0;
    0x00042ecc sw s2, (v0)                       |     *(v0) = s2;
    0x00042ed0 addu a1, s2, a1                   |     a1 = s2 + a1;
    0x00042ed4 addiu v0, zero, 1                 |     v0 = 1;
    0x00042ed8 addu s1, s1, a0                   |     s1 += a0;
    0x00042edc sw v0, 0xc(v1)                    |     *((v1 + 3)) = v0;
    0x00042ee0 sw v1, 8(a1)                      |     *((a1 + 2)) = v1;
    0x00042ee4 move v0, zero                     |     v0 = 0;
    0x00042ee8 sw s0, 4(s1)                      |     *((s1 + 1)) = s0;
                                                 |     do {
                                                 | label_0:
    0x00042eec lw ra, 0x4c(sp)                   |         ra = *(var_4ch);
    0x00042ef0 lw s2, 0x48(sp)                   |         s2 = *(var_48h);
    0x00042ef4 lw s1, 0x44(sp)                   |         s1 = *(var_44h);
    0x00042ef8 lw s0, 0x40(sp)                   |         s0 = *(var_40h);
    0x00042efc addiu sp, sp, 0x50                |         
    0x00042f00 jr ra                             |         return v0;
                                                 | label_1:
    0x00042f04 lw t9, -0x7adc(gp)                |         t9 = sym.imp.IMP_Log_Get_Option;
    0x00042f08 jalr t9                           |         t9 ();
    0x00042f0c nop                               |         
    0x00042f10 lw gp, 0x28(sp)                   |         gp = *(var_28h);
    0x00042f14 move a1, v0                       |         a1 = v0;
    0x00042f18 sw s0, 0x20(sp)                   |         *(var_20h) = s0;
    0x00042f1c lw v1, -0x7fc4(gp)                |         v1 = *((gp - 8177));
    0x00042f20 lw a3, -0x7fc4(gp)                |         a3 = *((gp - 8177));
    0x00042f24 lw t9, -0x79d0(gp)                |         t9 = sym.imp.imp_log_fun;
                                                 |         /* str._home_ptkang_work_platform_isvp_20160504_e_proj_sdk_lv3_src_imp_video_imp_encoder.c */
    0x00042f28 addiu v1, v1, 0x7f18              |         v1 += 0x7f18;
    0x00042f2c sw v1, 0x10(sp)                   |         *(var_10h) = v1;
    0x00042f30 addiu v1, zero, 0x523             |         v1 = 0x523;
    0x00042f34 sw v1, 0x14(sp)                   |         *(var_14h) = v1;
    0x00042f38 lw v1, -0x7fc8(gp)                |         v1 = *(gp);
    0x00042f3c addiu a0, zero, 6                 |         a0 = 6;
    0x00042f40 addiu a2, zero, 2                 |         a2 = 2;
                                                 |         /* obj.__func__.8983 */
    0x00042f44 addiu v1, v1, -0x5640             |         v1 += -aav.0x00005640;
    0x00042f48 sw v1, 0x18(sp)                   |         *(var_18h) = v1;
    0x00042f4c lw v1, -0x7fc8(gp)                |         v1 = *(gp);
                                                 |         /* esilref: 'Encoder' */
    0x00042f50 addiu a3, a3, 0x7f10              |         a3 += 0x7f10;
                                                 |         /* str.Invalid_group_num_d_n */
    0x00042f54 addiu v1, v1, -0x7908             |         v1 += -0x7908;
    0x00042f58 sw v1, 0x1c(sp)                   |         *(var_1ch) = v1;
    0x00042f5c jalr t9                           |         t9 ();
    0x00042f60 addiu v0, zero, -1                |         v0 = -1;
    0x00042f64 b 0x42eec                         |         
                                                 |     } while (1);
                                                 | label_2:
    0x00042f68 lw t9, -0x7adc(gp)                |     t9 = sym.imp.IMP_Log_Get_Option;
    0x00042f6c jalr t9                           |     t9 ();
    0x00042f70 nop                               |     
    0x00042f74 lw gp, 0x28(sp)                   |     gp = *(var_28h);
    0x00042f78 move a1, v0                       |     a1 = v0;
    0x00042f7c addiu a0, zero, 6                 |     a0 = 6;
    0x00042f80 lw v1, -0x7fc4(gp)                |     v1 = *((gp - 8177));
    0x00042f84 lw a3, -0x7fc4(gp)                |     a3 = *((gp - 8177));
    0x00042f88 lw t9, -0x79d0(gp)                |     t9 = sym.imp.imp_log_fun;
                                                 |     /* str._home_ptkang_work_platform_isvp_20160504_e_proj_sdk_lv3_src_imp_video_imp_encoder.c */
    0x00042f8c addiu v1, v1, 0x7f18              |     v1 += 0x7f18;
    0x00042f90 sw v1, 0x10(sp)                   |     *(var_10h) = v1;
    0x00042f94 addiu v1, zero, 0x529             |     v1 = 0x529;
    0x00042f98 sw v1, 0x14(sp)                   |     *(var_14h) = v1;
    0x00042f9c lw v1, -0x7fc8(gp)                |     v1 = *(gp);
    0x00042fa0 addiu a2, zero, 2                 |     a2 = 2;
                                                 |     /* esilref: 'Encoder' */
    0x00042fa4 addiu a3, a3, 0x7f10              |     a3 += 0x7f10;
                                                 |     /* obj.__func__.8983 */
    0x00042fa8 addiu v1, v1, -0x5640             |     v1 += -aav.0x00005640;
    0x00042fac sw v1, 0x18(sp)                   |     *(var_18h) = v1;
    0x00042fb0 lw v1, -0x7fc8(gp)                |     v1 = *(gp);
                                                 |     /* str.Invalid_Encoder_n */
    0x00042fb4 addiu v1, v1, -0x78f0             |     v1 += -0x78f0;
    0x00042fb8 sw v1, 0x1c(sp)                   |     *(var_1ch) = v1;
    0x00042fbc jalr t9                           |     t9 ();
    0x00042fc0 addiu v0, zero, -1                |     v0 = -1;
    0x00042fc4 b 0x42eec                         |     goto label_0;
                                                 | }
    ; assembly                                   | /* r2dec pseudo code output */
                                                 | /* /logs/firmware/unblob_extracted/firmware_extract/6225984-11075644.jffs2_new_extract/lib/libmp.so @ 0x63260 */
                                                 | #include <stdint.h>
                                                 |  
    ; (fcn) sym.IMP_FrameSource_CreateChn ()     | void IMP_FrameSource_CreateChn () {
    0x00063260 lui gp, 9                         |     
    0x00063264 addiu gp, gp, -0x5e50             |     
    0x00063268 addu gp, gp, t9                   |     gp += t9;
    0x0006326c addiu sp, sp, -0x68               |     
    0x00063270 sw s6, 0x58(sp)                   |     *(var_58h) = s6;
    0x00063274 lw s6, -0x7fa8(gp)                |     s6 = *((gp - 8170));
    0x00063278 sw s5, 0x54(sp)                   |     *(var_54h) = s5;
    0x0006327c sw gp, 0x28(sp)                   |     *(var_28h) = gp;
    0x00063280 lw s5, -0x682c(s6)                |     s5 = *((s6 - 6667));
    0x00063284 sltiu v0, a0, 4                   |     v0 = (a0 < 4) ? 1 : 0;
    0x00063288 sw s7, 0x5c(sp)                   |     *(var_5ch) = s7;
    0x0006328c sw s0, 0x40(sp)                   |     *(var_40h) = s0;
    0x00063290 sw ra, 0x64(sp)                   |     *(var_64h) = ra;
    0x00063294 sw fp, 0x60(sp)                   |     *(var_60h) = fp;
    0x00063298 sw s4, 0x50(sp)                   |     *(var_50h) = s4;
    0x0006329c sw s3, 0x4c(sp)                   |     *(var_4ch) = s3;
    0x000632a0 sw s2, 0x48(sp)                   |     *(var_48h) = s2;
    0x000632a4 sw s1, 0x44(sp)                   |     *(var_44h) = s1;
    0x000632a8 move s0, a0                       |     s0 = a0;
    0x000632ac lw s7, (s5)                       |     s7 = *(s5);
                                                 |     if (v0 == 0) {
    0x000632b0 beqz v0, 0x63a9c                  |         goto label_3;
                                                 |     }
    0x000632b4 lw t9, -0x7adc(gp)                |     t9 = sym.imp.IMP_Log_Get_Option;
                                                 |     if (a1 == 0) {
    0x000632b8 beqz a1, 0x63b54                  |         goto label_4;
                                                 |     }
    0x000632bc lw v0, (a1)                       |     v0 = *(a1);
    0x000632c0 andi v0, v0, 0xf                  |     v0 &= 0xf;
                                                 |     if (v0 != 0) {
    0x000632c4 bnez v0, 0x63adc                  |         goto label_5;
                                                 |     }
    0x000632c8 nop                               |     
    0x000632cc slti v0, a0, 2                    |     v0 = (a0 < 2) ? 1 : 0;
    0x000632d0 move s1, a1                       |     s1 = a1;
                                                 |     if (v0 != 0) {
    0x000632d4 bnez v0, 0x63a2c                  |         goto label_6;
                                                 |     }
    0x000632d8 lw v0, 0x38(a1)                   |     v0 = *((a1 + 14));
                                                 |     if (v0 == 0) {
    0x000632dc beqz v0, 0x63b18                  |         goto label_7;
                                                 |     }
    0x000632e0 nop                               |     
                                                 | label_1:
    0x000632e4 lw a0, -0x7fc8(gp)                |     a0 = *(gp);
    0x000632e8 lw t9, -0x7d5c(gp)                |     t9 = sym.imp.access;
    0x000632ec move a1, zero                     |     a1 = 0;
                                                 |     /* str._tmp_fsattr */
    0x000632f0 addiu a0, a0, -0x19ec             |     a0 += -0x19ec;
    0x000632f4 jalr t9                           |     t9 ();
    0x000632f8 lw gp, 0x28(sp)                   |     gp = *(var_28h);
                                                 |     if (v0 == 0) {
    0x000632fc beqz v0, 0x63348                  |         goto label_8;
                                                 |     }
    0x00063300 sll s2, s0, 9                     |     s2 = s0 << 9;
    0x00063304 addiu s2, s2, 0x10                |     s2 += 0x10;
    0x00063308 addu s2, s5, s2                   |     s2 = s5 + s2;
    0x0006330c lw v1, 4(s2)                      |     v1 = *((s2 + 1));
    0x00063310 move v0, zero                     |     v0 = 0;
                                                 |     if (v1 == 0) {
    0x00063314 beqz v1, 0x638e8                  |         goto label_9;
                                                 |     }
                                                 |     do {
                                                 | label_0:
    0x00063318 lw ra, 0x64(sp)                   |         ra = *(var_64h);
    0x0006331c lw fp, 0x60(sp)                   |         fp = *(var_60h);
    0x00063320 lw s7, 0x5c(sp)                   |         s7 = *(var_5ch);
    0x00063324 lw s6, 0x58(sp)                   |         s6 = *(var_58h);
    0x00063328 lw s5, 0x54(sp)                   |         s5 = *(var_54h);
    0x0006332c lw s4, 0x50(sp)                   |         s4 = *(var_50h);
    0x00063330 lw s3, 0x4c(sp)                   |         s3 = *(var_4ch);
    0x00063334 lw s2, 0x48(sp)                   |         s2 = *(var_48h);
    0x00063338 lw s1, 0x44(sp)                   |         s1 = *(var_44h);
    0x0006333c lw s0, 0x40(sp)                   |         s0 = *(var_40h);
    0x00063340 addiu sp, sp, 0x68                |         
    0x00063344 jr ra                             |         return v1;
                                                 | label_8:
    0x00063348 lw t9, -0x7adc(gp)                |         t9 = sym.imp.IMP_Log_Get_Option;
    0x0006334c lw s2, -0x7fc8(gp)                |         s2 = *(gp);
    0x00063350 jalr t9                           |         t9 ();
    0x00063354 nop                               |         
    0x00063358 lw gp, 0x28(sp)                   |         gp = *(var_28h);
    0x0006335c move a1, v0                       |         a1 = v0;
    0x00063360 addiu v0, zero, 0x409             |         v0 = 0x409;
    0x00063364 lw s4, -0x7fc8(gp)                |         s4 = *(gp);
    0x00063368 lw s3, -0x7fc8(gp)                |         s3 = *(gp);
    0x0006336c lw fp, -0x7fc8(gp)                |         fp = *(gp);
    0x00063370 lw t9, -0x79d0(gp)                |         t9 = sym.imp.imp_log_fun;
                                                 |         /* str._home_ptkang_work_platform_isvp_20160504_e_proj_sdk_lv3_src_imp_framesource_framesource_tseries.c */
    0x00063374 addiu s4, s4, -0x1f64             |         s4 += -0x1f64;
                                                 |         /* obj.__func__.8640 */
    0x00063378 addiu s3, s3, -0xcc0              |         s3 += -0xcc0;
                                                 |         /* str._______________________________________________________________n */
    0x0006337c addiu fp, fp, -0x779c             |         fp += -0x779c;
                                                 |         /* str.Framesource */
    0x00063380 addiu a3, s2, -0x1f70             |         a3 = s2 + -aav.0x00001f70;
    0x00063384 addiu a0, zero, 3                 |         a0 = 3;
    0x00063388 addiu a2, zero, 2                 |         a2 = 2;
    0x0006338c sw v0, 0x14(sp)                   |         *(var_14h) = v0;
    0x00063390 sw s4, 0x10(sp)                   |         *(var_10h) = s4;
    0x00063394 sw s3, 0x18(sp)                   |         *(var_18h) = s3;
    0x00063398 sw fp, 0x1c(sp)                   |         *(var_1ch) = fp;
    0x0006339c jalr t9                           |         t9 ();
    0x000633a0 lw gp, 0x28(sp)                   |         gp = *(var_28h);
    0x000633a4 lw t9, -0x7adc(gp)                |         t9 = sym.imp.IMP_Log_Get_Option;
    0x000633a8 jalr t9                           |         t9 ();
    0x000633ac nop                               |         
    0x000633b0 lw gp, 0x28(sp)                   |         gp = *(var_28h);
    0x000633b4 move a1, v0                       |         a1 = v0;
    0x000633b8 addiu v0, zero, 0x40a             |         v0 = 0x40a;
    0x000633bc lw v1, (s1)                       |         v1 = *(s1);
    0x000633c0 sw v0, 0x14(sp)                   |         *(var_14h) = v0;
    0x000633c4 lw v0, -0x7fc8(gp)                |         v0 = *(gp);
    0x000633c8 lw t9, -0x79d0(gp)                |         t9 = sym.imp.imp_log_fun;
                                                 |         /* str.Framesource */
    0x000633cc addiu a3, s2, -0x1f70             |         a3 = s2 + -aav.0x00001f70;
                                                 |         /* str.fs__d_chnAttr__picWidth_d */
    0x000633d0 addiu v0, v0, -0x19e0             |         v0 += -0x19e0;
    0x000633d4 addiu a0, zero, 3                 |         a0 = 3;
    0x000633d8 addiu a2, zero, 2                 |         a2 = 2;
    0x000633dc sw v1, 0x24(sp)                   |         *(var_24h) = v1;
    0x000633e0 sw v0, 0x1c(sp)                   |         *(var_1ch) = v0;
    0x000633e4 sw s4, 0x10(sp)                   |         *(var_10h) = s4;
    0x000633e8 sw s3, 0x18(sp)                   |         *(var_18h) = s3;
    0x000633ec sw s0, 0x20(sp)                   |         *(var_20h) = s0;
    0x000633f0 jalr t9                           |         t9 ();
    0x000633f4 lw gp, 0x28(sp)                   |         gp = *(var_28h);
    0x000633f8 lw t9, -0x7adc(gp)                |         t9 = sym.imp.IMP_Log_Get_Option;
    0x000633fc jalr t9                           |         t9 ();
    0x00063400 nop                               |         
    0x00063404 lw gp, 0x28(sp)                   |         gp = *(var_28h);
    0x00063408 move a1, v0                       |         a1 = v0;
    0x0006340c addiu v0, zero, 0x40b             |         v0 = 0x40b;
    0x00063410 lw v1, 4(s1)                      |         v1 = *((s1 + 1));
    0x00063414 sw v0, 0x14(sp)                   |         *(var_14h) = v0;
    0x00063418 lw v0, -0x7fc8(gp)                |         v0 = *(gp);
    0x0006341c lw t9, -0x79d0(gp)                |         t9 = sym.imp.imp_log_fun;
                                                 |         /* str.Framesource */
    0x00063420 addiu a3, s2, -0x1f70             |         a3 = s2 + -aav.0x00001f70;
                                                 |         /* str.fs__d_chnAttr__picHeight_d */
    0x00063424 addiu v0, v0, -0x19c4             |         v0 += -0x19c4;
    0x00063428 addiu a0, zero, 3                 |         a0 = 3;
    0x0006342c addiu a2, zero, 2                 |         a2 = 2;
    0x00063430 sw v1, 0x24(sp)                   |         *(var_24h) = v1;
    0x00063434 sw v0, 0x1c(sp)                   |         *(var_1ch) = v0;
    0x00063438 sw s4, 0x10(sp)                   |         *(var_10h) = s4;
    0x0006343c sw s3, 0x18(sp)                   |         *(var_18h) = s3;
    0x00063440 sw s0, 0x20(sp)                   |         *(var_20h) = s0;
    0x00063444 jalr t9                           |         t9 ();
    0x00063448 lw gp, 0x28(sp)                   |         gp = *(var_28h);
    0x0006344c lw t9, -0x7adc(gp)                |         t9 = sym.imp.IMP_Log_Get_Option;
    0x00063450 jalr t9                           |         t9 ();
    0x00063454 nop                               |         
    0x00063458 lw gp, 0x28(sp)                   |         gp = *(var_28h);
    0x0006345c move a1, v0                       |         a1 = v0;
    0x00063460 addiu v0, zero, 0x40c             |         v0 = aav.0x0000040c;
    0x00063464 lw v1, 8(s1)                      |         v1 = *((s1 + 2));
    0x00063468 sw v0, 0x14(sp)                   |         *(var_14h) = v0;
    0x0006346c lw v0, -0x7fc8(gp)                |         v0 = *(gp);
    0x00063470 lw t9, -0x79d0(gp)                |         t9 = sym.imp.imp_log_fun;
                                                 |         /* str.Framesource */
    0x00063474 addiu a3, s2, -0x1f70             |         a3 = s2 + -aav.0x00001f70;
                                                 |         /* str.fs__d_chnAttr__pixFmt_d */
    0x00063478 addiu v0, v0, -0x19a8             |         v0 += -0x19a8;
    0x0006347c addiu a0, zero, 3                 |         a0 = 3;
    0x00063480 addiu a2, zero, 2                 |         a2 = 2;
    0x00063484 sw v1, 0x24(sp)                   |         *(var_24h) = v1;
    0x00063488 sw v0, 0x1c(sp)                   |         *(var_1ch) = v0;
    0x0006348c sw s4, 0x10(sp)                   |         *(var_10h) = s4;
    0x00063490 sw s3, 0x18(sp)                   |         *(var_18h) = s3;
    0x00063494 sw s0, 0x20(sp)                   |         *(var_20h) = s0;
    0x00063498 jalr t9                           |         t9 ();
    0x0006349c lw gp, 0x28(sp)                   |         gp = *(var_28h);
    0x000634a0 lw t9, -0x7adc(gp)                |         t9 = sym.imp.IMP_Log_Get_Option;
    0x000634a4 jalr t9                           |         t9 ();
    0x000634a8 nop                               |         
    0x000634ac lw gp, 0x28(sp)                   |         gp = *(var_28h);
    0x000634b0 move a1, v0                       |         a1 = v0;
    0x000634b4 addiu v0, zero, 0x40d             |         v0 = 0x40d;
    0x000634b8 lw v1, 0xc(s1)                    |         v1 = *((s1 + 3));
    0x000634bc sw v0, 0x14(sp)                   |         *(var_14h) = v0;
    0x000634c0 lw v0, -0x7fc8(gp)                |         v0 = *(gp);
    0x000634c4 lw t9, -0x79d0(gp)                |         t9 = sym.imp.imp_log_fun;
                                                 |         /* str.Framesource */
    0x000634c8 addiu a3, s2, -0x1f70             |         a3 = s2 + -aav.0x00001f70;
                                                 |         /* str.fs__d_chnAttr__crop.enable_d */
    0x000634cc addiu v0, v0, -0x198c             |         v0 += -0x198c;
    0x000634d0 addiu a0, zero, 3                 |         a0 = 3;
    0x000634d4 addiu a2, zero, 2                 |         a2 = 2;
    0x000634d8 sw v1, 0x24(sp)                   |         *(var_24h) = v1;
    0x000634dc sw v0, 0x1c(sp)                   |         *(var_1ch) = v0;
    0x000634e0 sw s4, 0x10(sp)                   |         *(var_10h) = s4;
    0x000634e4 sw s3, 0x18(sp)                   |         *(var_18h) = s3;
    0x000634e8 sw s0, 0x20(sp)                   |         *(var_20h) = s0;
    0x000634ec jalr t9                           |         t9 ();
    0x000634f0 lw gp, 0x28(sp)                   |         gp = *(var_28h);
    0x000634f4 lw t9, -0x7adc(gp)                |         t9 = sym.imp.IMP_Log_Get_Option;
    0x000634f8 jalr t9                           |         t9 ();
    0x000634fc nop                               |         
    0x00063500 lw gp, 0x28(sp)                   |         gp = *(var_28h);
    0x00063504 move a1, v0                       |         a1 = v0;
    0x00063508 addiu v0, zero, 0x40e             |         v0 = 0x40e;
    0x0006350c lw v1, 0x10(s1)                   |         v1 = *((s1 + 4));
    0x00063510 sw v0, 0x14(sp)                   |         *(var_14h) = v0;
    0x00063514 lw v0, -0x7fc8(gp)                |         v0 = *(gp);
    0x00063518 lw t9, -0x79d0(gp)                |         t9 = sym.imp.imp_log_fun;
                                                 |         /* str.Framesource */
    0x0006351c addiu a3, s2, -0x1f70             |         a3 = s2 + -aav.0x00001f70;
                                                 |         /* str.fs__d_chnAttr__crop.left_d */
    0x00063520 addiu v0, v0, -0x196c             |         v0 += -0x196c;
    0x00063524 addiu a0, zero, 3                 |         a0 = 3;
    0x00063528 addiu a2, zero, 2                 |         a2 = 2;
    0x0006352c sw v1, 0x24(sp)                   |         *(var_24h) = v1;
    0x00063530 sw v0, 0x1c(sp)                   |         *(var_1ch) = v0;
    0x00063534 sw s4, 0x10(sp)                   |         *(var_10h) = s4;
    0x00063538 sw s3, 0x18(sp)                   |         *(var_18h) = s3;
    0x0006353c sw s0, 0x20(sp)                   |         *(var_20h) = s0;
    0x00063540 jalr t9                           |         t9 ();
    0x00063544 lw gp, 0x28(sp)                   |         gp = *(var_28h);
    0x00063548 lw t9, -0x7adc(gp)                |         t9 = sym.imp.IMP_Log_Get_Option;
    0x0006354c jalr t9                           |         t9 ();
    0x00063550 nop                               |         
    0x00063554 lw gp, 0x28(sp)                   |         gp = *(var_28h);
    0x00063558 move a1, v0                       |         a1 = v0;
    0x0006355c addiu v0, zero, 0x40f             |         v0 = 0x40f;
    0x00063560 lw v1, 0x14(s1)                   |         v1 = *((s1 + 5));
    0x00063564 sw v0, 0x14(sp)                   |         *(var_14h) = v0;
    0x00063568 lw v0, -0x7fc8(gp)                |         v0 = *(gp);
    0x0006356c lw t9, -0x79d0(gp)                |         t9 = sym.imp.imp_log_fun;
                                                 |         /* str.Framesource */
    0x00063570 addiu a3, s2, -0x1f70             |         a3 = s2 + -aav.0x00001f70;
                                                 |         /* str.fs__d_chnAttr__crop.top_d */
    0x00063574 addiu v0, v0, -0x1950             |         v0 += -0x1950;
    0x00063578 addiu a0, zero, 3                 |         a0 = 3;
    0x0006357c addiu a2, zero, 2                 |         a2 = 2;
    0x00063580 sw v1, 0x24(sp)                   |         *(var_24h) = v1;
    0x00063584 sw v0, 0x1c(sp)                   |         *(var_1ch) = v0;
    0x00063588 sw s4, 0x10(sp)                   |         *(var_10h) = s4;
    0x0006358c sw s3, 0x18(sp)                   |         *(var_18h) = s3;
    0x00063590 sw s0, 0x20(sp)                   |         *(var_20h) = s0;
    0x00063594 jalr t9                           |         t9 ();
    0x00063598 lw gp, 0x28(sp)                   |         gp = *(var_28h);
    0x0006359c lw t9, -0x7adc(gp)                |         t9 = sym.imp.IMP_Log_Get_Option;
    0x000635a0 jalr t9                           |         t9 ();
    0x000635a4 nop                               |         
    0x000635a8 lw gp, 0x28(sp)                   |         gp = *(var_28h);
    0x000635ac move a1, v0                       |         a1 = v0;
    0x000635b0 addiu v0, zero, 0x410             |         v0 = aav.0x00000410;
    0x000635b4 lw v1, 0x18(s1)                   |         v1 = *((s1 + 6));
    0x000635b8 sw v0, 0x14(sp)                   |         *(var_14h) = v0;
    0x000635bc lw v0, -0x7fc8(gp)                |         v0 = *(gp);
    0x000635c0 lw t9, -0x79d0(gp)                |         t9 = sym.imp.imp_log_fun;
                                                 |         /* str.Framesource */
    0x000635c4 addiu a3, s2, -0x1f70             |         a3 = s2 + -aav.0x00001f70;
                                                 |         /* str.fs__d_chnAttr__crop.width_d */
    0x000635c8 addiu v0, v0, -0x1934             |         v0 += -0x1934;
    0x000635cc addiu a0, zero, 3                 |         a0 = 3;
    0x000635d0 addiu a2, zero, 2                 |         a2 = 2;
    0x000635d4 sw v1, 0x24(sp)                   |         *(var_24h) = v1;
    0x000635d8 sw v0, 0x1c(sp)                   |         *(var_1ch) = v0;
    0x000635dc sw s4, 0x10(sp)                   |         *(var_10h) = s4;
    0x000635e0 sw s3, 0x18(sp)                   |         *(var_18h) = s3;
    0x000635e4 sw s0, 0x20(sp)                   |         *(var_20h) = s0;
    0x000635e8 jalr t9                           |         t9 ();
    0x000635ec lw gp, 0x28(sp)                   |         gp = *(var_28h);
    0x000635f0 lw t9, -0x7adc(gp)                |         t9 = sym.imp.IMP_Log_Get_Option;
    0x000635f4 jalr t9                           |         t9 ();
    0x000635f8 nop                               |         
    0x000635fc lw gp, 0x28(sp)                   |         gp = *(var_28h);
    0x00063600 move a1, v0                       |         a1 = v0;
    0x00063604 addiu v0, zero, 0x411             |         v0 = 0x411;
    0x00063608 lw v1, 0x1c(s1)                   |         v1 = *((s1 + 7));
    0x0006360c sw v0, 0x14(sp)                   |         *(var_14h) = v0;
    0x00063610 lw v0, -0x7fc8(gp)                |         v0 = *(gp);
    0x00063614 lw t9, -0x79d0(gp)                |         t9 = sym.imp.imp_log_fun;
                                                 |         /* str.Framesource */
    0x00063618 addiu a3, s2, -0x1f70             |         a3 = s2 + -aav.0x00001f70;
                                                 |         /* str.fs__d_chnAttr__crop.height_d */
    0x0006361c addiu v0, v0, -0x1914             |         v0 += -0x1914;
    0x00063620 addiu a0, zero, 3                 |         a0 = 3;
    0x00063624 addiu a2, zero, 2                 |         a2 = 2;
    0x00063628 sw v1, 0x24(sp)                   |         *(var_24h) = v1;
    0x0006362c sw v0, 0x1c(sp)                   |         *(var_1ch) = v0;
    0x00063630 sw s4, 0x10(sp)                   |         *(var_10h) = s4;
    0x00063634 sw s3, 0x18(sp)                   |         *(var_18h) = s3;
    0x00063638 sw s0, 0x20(sp)                   |         *(var_20h) = s0;
    0x0006363c jalr t9                           |         t9 ();
    0x00063640 lw gp, 0x28(sp)                   |         gp = *(var_28h);
    0x00063644 lw t9, -0x7adc(gp)                |         t9 = sym.imp.IMP_Log_Get_Option;
    0x00063648 jalr t9                           |         t9 ();
    0x0006364c nop                               |         
    0x00063650 lw gp, 0x28(sp)                   |         gp = *(var_28h);
    0x00063654 move a1, v0                       |         a1 = v0;
    0x00063658 addiu v0, zero, 0x412             |         v0 = 0x412;
    0x0006365c lw v1, 0x20(s1)                   |         v1 = *((s1 + 8));
    0x00063660 sw v0, 0x14(sp)                   |         *(var_14h) = v0;
    0x00063664 lw v0, -0x7fc8(gp)                |         v0 = *(gp);
    0x00063668 lw t9, -0x79d0(gp)                |         t9 = sym.imp.imp_log_fun;
                                                 |         /* str.Framesource */
    0x0006366c addiu a3, s2, -0x1f70             |         a3 = s2 + -aav.0x00001f70;
                                                 |         /* str.fs__d_chnAttr__scaler.enable_d */
    0x00063670 addiu v0, v0, -0x18f4             |         v0 += -0x18f4;
    0x00063674 addiu a0, zero, 3                 |         a0 = 3;
    0x00063678 addiu a2, zero, 2                 |         a2 = 2;
    0x0006367c sw v1, 0x24(sp)                   |         *(var_24h) = v1;
    0x00063680 sw v0, 0x1c(sp)                   |         *(var_1ch) = v0;
    0x00063684 sw s4, 0x10(sp)                   |         *(var_10h) = s4;
    0x00063688 sw s3, 0x18(sp)                   |         *(var_18h) = s3;
    0x0006368c sw s0, 0x20(sp)                   |         *(var_20h) = s0;
    0x00063690 jalr t9                           |         t9 ();
    0x00063694 lw gp, 0x28(sp)                   |         gp = *(var_28h);
    0x00063698 lw t9, -0x7adc(gp)                |         t9 = sym.imp.IMP_Log_Get_Option;
    0x0006369c jalr t9                           |         t9 ();
    0x000636a0 nop                               |         
    0x000636a4 lw gp, 0x28(sp)                   |         gp = *(var_28h);
    0x000636a8 move a1, v0                       |         a1 = v0;
    0x000636ac addiu v0, zero, 0x413             |         v0 = 0x413;
    0x000636b0 lw v1, 0x24(s1)                   |         v1 = *((s1 + 9));
    0x000636b4 sw v0, 0x14(sp)                   |         *(var_14h) = v0;
    0x000636b8 lw v0, -0x7fc8(gp)                |         v0 = *(gp);
    0x000636bc lw t9, -0x79d0(gp)                |         t9 = sym.imp.imp_log_fun;
                                                 |         /* str.Framesource */
    0x000636c0 addiu a3, s2, -0x1f70             |         a3 = s2 + -aav.0x00001f70;
                                                 |         /* str.fs__d_chnAttr__scaler.outwidth_d */
    0x000636c4 addiu v0, v0, -0x18d4             |         v0 += -0x18d4;
    0x000636c8 addiu a0, zero, 3                 |         a0 = 3;
    0x000636cc addiu a2, zero, 2                 |         a2 = 2;
    0x000636d0 sw v1, 0x24(sp)                   |         *(var_24h) = v1;
    0x000636d4 sw v0, 0x1c(sp)                   |         *(var_1ch) = v0;
    0x000636d8 sw s4, 0x10(sp)                   |         *(var_10h) = s4;
    0x000636dc sw s3, 0x18(sp)                   |         *(var_18h) = s3;
    0x000636e0 sw s0, 0x20(sp)                   |         *(var_20h) = s0;
    0x000636e4 jalr t9                           |         t9 ();
    0x000636e8 lw gp, 0x28(sp)                   |         gp = *(var_28h);
    0x000636ec lw t9, -0x7adc(gp)                |         t9 = sym.imp.IMP_Log_Get_Option;
    0x000636f0 jalr t9                           |         t9 ();
    0x000636f4 nop                               |         
    0x000636f8 lw gp, 0x28(sp)                   |         gp = *(var_28h);
    0x000636fc move a1, v0                       |         a1 = v0;
    0x00063700 addiu v0, zero, 0x414             |         v0 = aav.0x00000414;
    0x00063704 lw v1, 0x28(s1)                   |         v1 = *((s1 + 10));
    0x00063708 sw v0, 0x14(sp)                   |         *(var_14h) = v0;
    0x0006370c lw v0, -0x7fc8(gp)                |         v0 = *(gp);
    0x00063710 lw t9, -0x79d0(gp)                |         t9 = sym.imp.imp_log_fun;
                                                 |         /* str.Framesource */
    0x00063714 addiu a3, s2, -0x1f70             |         a3 = s2 + -aav.0x00001f70;
                                                 |         /* str.fs__d_chnAttr__scaler.outheight_d */
    0x00063718 addiu v0, v0, -0x18b0             |         v0 += -0x18b0;
    0x0006371c addiu a0, zero, 3                 |         a0 = 3;
    0x00063720 addiu a2, zero, 2                 |         a2 = 2;
    0x00063724 sw v1, 0x24(sp)                   |         *(var_24h) = v1;
    0x00063728 sw v0, 0x1c(sp)                   |         *(var_1ch) = v0;
    0x0006372c sw s4, 0x10(sp)                   |         *(var_10h) = s4;
    0x00063730 sw s3, 0x18(sp)                   |         *(var_18h) = s3;
    0x00063734 sw s0, 0x20(sp)                   |         *(var_20h) = s0;
    0x00063738 jalr t9                           |         t9 ();
    0x0006373c lw gp, 0x28(sp)                   |         gp = *(var_28h);
    0x00063740 lw t9, -0x7adc(gp)                |         t9 = sym.imp.IMP_Log_Get_Option;
    0x00063744 jalr t9                           |         t9 ();
    0x00063748 nop                               |         
    0x0006374c lw gp, 0x28(sp)                   |         gp = *(var_28h);
    0x00063750 move a1, v0                       |         a1 = v0;
    0x00063754 addiu v0, zero, 0x415             |         v0 = 0x415;
    0x00063758 lw v1, 0x2c(s1)                   |         v1 = *((s1 + 11));
    0x0006375c sw v0, 0x14(sp)                   |         *(var_14h) = v0;
    0x00063760 lw v0, -0x7fc8(gp)                |         v0 = *(gp);
    0x00063764 lw t9, -0x79d0(gp)                |         t9 = sym.imp.imp_log_fun;
                                                 |         /* str.Framesource */
    0x00063768 addiu a3, s2, -0x1f70             |         a3 = s2 + -aav.0x00001f70;
                                                 |         /* str.fs__d_chnAttr__outFrmRateNum_d */
    0x0006376c addiu v0, v0, -0x188c             |         v0 += -0x188c;
    0x00063770 addiu a0, zero, 3                 |         a0 = 3;
    0x00063774 addiu a2, zero, 2                 |         a2 = 2;
    0x00063778 sw v1, 0x24(sp)                   |         *(var_24h) = v1;
    0x0006377c sw v0, 0x1c(sp)                   |         *(var_1ch) = v0;
    0x00063780 sw s4, 0x10(sp)                   |         *(var_10h) = s4;
    0x00063784 sw s3, 0x18(sp)                   |         *(var_18h) = s3;
    0x00063788 sw s0, 0x20(sp)                   |         *(var_20h) = s0;
    0x0006378c jalr t9                           |         t9 ();
    0x00063790 lw gp, 0x28(sp)                   |         gp = *(var_28h);
    0x00063794 lw t9, -0x7adc(gp)                |         t9 = sym.imp.IMP_Log_Get_Option;
    0x00063798 jalr t9                           |         t9 ();
    0x0006379c nop                               |         
    0x000637a0 lw gp, 0x28(sp)                   |         gp = *(var_28h);
    0x000637a4 move a1, v0                       |         a1 = v0;
    0x000637a8 addiu v0, zero, 0x416             |         v0 = 0x416;
    0x000637ac lw v1, 0x30(s1)                   |         v1 = *((s1 + 12));
    0x000637b0 sw v0, 0x14(sp)                   |         *(var_14h) = v0;
    0x000637b4 lw v0, -0x7fc8(gp)                |         v0 = *(gp);
    0x000637b8 lw t9, -0x79d0(gp)                |         t9 = sym.imp.imp_log_fun;
                                                 |         /* str.Framesource */
    0x000637bc addiu a3, s2, -0x1f70             |         a3 = s2 + -aav.0x00001f70;
                                                 |         /* str.fs__d_chnAttr__outFrmRateDen_d */
    0x000637c0 addiu v0, v0, -0x186c             |         v0 += -0x186c;
    0x000637c4 addiu a0, zero, 3                 |         a0 = 3;
    0x000637c8 addiu a2, zero, 2                 |         a2 = 2;
    0x000637cc sw v1, 0x24(sp)                   |         *(var_24h) = v1;
    0x000637d0 sw v0, 0x1c(sp)                   |         *(var_1ch) = v0;
    0x000637d4 sw s4, 0x10(sp)                   |         *(var_10h) = s4;
    0x000637d8 sw s3, 0x18(sp)                   |         *(var_18h) = s3;
    0x000637dc sw s0, 0x20(sp)                   |         *(var_20h) = s0;
    0x000637e0 jalr t9                           |         t9 ();
    0x000637e4 lw gp, 0x28(sp)                   |         gp = *(var_28h);
    0x000637e8 lw t9, -0x7adc(gp)                |         t9 = sym.imp.IMP_Log_Get_Option;
    0x000637ec jalr t9                           |         t9 ();
    0x000637f0 nop                               |         
    0x000637f4 lw gp, 0x28(sp)                   |         gp = *(var_28h);
    0x000637f8 move a1, v0                       |         a1 = v0;
    0x000637fc addiu v0, zero, 0x417             |         v0 = 0x417;
    0x00063800 lw v1, 0x34(s1)                   |         v1 = *((s1 + 13));
    0x00063804 sw v0, 0x14(sp)                   |         *(var_14h) = v0;
    0x00063808 lw v0, -0x7fc8(gp)                |         v0 = *(gp);
    0x0006380c lw t9, -0x79d0(gp)                |         t9 = sym.imp.imp_log_fun;
                                                 |         /* str.Framesource */
    0x00063810 addiu a3, s2, -0x1f70             |         a3 = s2 + -aav.0x00001f70;
                                                 |         /* str.fs__d_chnAttr__nrVBs_d */
    0x00063814 addiu v0, v0, -0x184c             |         v0 += -aav.0x0000184c;
    0x00063818 addiu a0, zero, 3                 |         a0 = 3;
    0x0006381c addiu a2, zero, 2                 |         a2 = 2;
    0x00063820 sw v1, 0x24(sp)                   |         *(var_24h) = v1;
    0x00063824 sw v0, 0x1c(sp)                   |         *(var_1ch) = v0;
    0x00063828 sw s4, 0x10(sp)                   |         *(var_10h) = s4;
    0x0006382c sw s3, 0x18(sp)                   |         *(var_18h) = s3;
    0x00063830 sw s0, 0x20(sp)                   |         *(var_20h) = s0;
    0x00063834 jalr t9                           |         t9 ();
    0x00063838 lw gp, 0x28(sp)                   |         gp = *(var_28h);
    0x0006383c lw t9, -0x7adc(gp)                |         t9 = sym.imp.IMP_Log_Get_Option;
    0x00063840 jalr t9                           |         t9 ();
    0x00063844 nop                               |         
    0x00063848 lw gp, 0x28(sp)                   |         gp = *(var_28h);
    0x0006384c move a1, v0                       |         a1 = v0;
    0x00063850 addiu v0, zero, 0x418             |         v0 = aav.0x00000418;
    0x00063854 lw v1, 0x38(s1)                   |         v1 = *((s1 + 14));
    0x00063858 sw v0, 0x14(sp)                   |         *(var_14h) = v0;
    0x0006385c lw v0, -0x7fc8(gp)                |         v0 = *(gp);
    0x00063860 lw t9, -0x79d0(gp)                |         t9 = sym.imp.imp_log_fun;
                                                 |         /* str.Framesource */
    0x00063864 addiu a3, s2, -0x1f70             |         a3 = s2 + -aav.0x00001f70;
                                                 |         /* str.fs__d_chnAttr__type_d */
    0x00063868 addiu v0, v0, -0x1834             |         v0 += -0x1834;
    0x0006386c addiu a0, zero, 3                 |         a0 = 3;
    0x00063870 addiu a2, zero, 2                 |         a2 = 2;
    0x00063874 sw v1, 0x24(sp)                   |         *(var_24h) = v1;
    0x00063878 sw v0, 0x1c(sp)                   |         *(var_1ch) = v0;
    0x0006387c sw s4, 0x10(sp)                   |         *(var_10h) = s4;
    0x00063880 sw s3, 0x18(sp)                   |         *(var_18h) = s3;
    0x00063884 sw s0, 0x20(sp)                   |         *(var_20h) = s0;
    0x00063888 jalr t9                           |         t9 ();
    0x0006388c lw gp, 0x28(sp)                   |         gp = *(var_28h);
    0x00063890 lw t9, -0x7adc(gp)                |         t9 = sym.imp.IMP_Log_Get_Option;
    0x00063894 jalr t9                           |         t9 ();
    0x00063898 nop                               |         
    0x0006389c lw gp, 0x28(sp)                   |         gp = *(var_28h);
                                                 |         /* str.Framesource */
    0x000638a0 addiu a3, s2, -0x1f70             |         a3 = s2 + -aav.0x00001f70;
    0x000638a4 sll s2, s0, 9                     |         s2 = s0 << 9;
    0x000638a8 lw t9, -0x79d0(gp)                |         t9 = sym.imp.imp_log_fun;
    0x000638ac addiu v1, zero, 0x419             |         v1 = 0x419;
    0x000638b0 addiu s2, s2, 0x10                |         s2 += 0x10;
    0x000638b4 sw v1, 0x14(sp)                   |         *(var_14h) = v1;
    0x000638b8 move a1, v0                       |         a1 = v0;
    0x000638bc sw s4, 0x10(sp)                   |         *(var_10h) = s4;
    0x000638c0 sw s3, 0x18(sp)                   |         *(var_18h) = s3;
    0x000638c4 sw fp, 0x1c(sp)                   |         *(var_1ch) = fp;
    0x000638c8 addiu a0, zero, 3                 |         a0 = 3;
    0x000638cc addiu a2, zero, 2                 |         a2 = 2;
    0x000638d0 addu s2, s5, s2                   |         s2 = s5 + s2;
    0x000638d4 jalr t9                           |         t9 ();
    0x000638d8 lw v1, 4(s2)                      |         v1 = *((s2 + 1));
    0x000638dc lw gp, 0x28(sp)                   |         gp = *(var_28h);
    0x000638e0 move v0, zero                     |         v0 = 0;
    0x000638e4 bnez v1, 0x63318                  |         
                                                 |     } while (v1 != 0);
                                                 | label_9:
    0x000638e8 lw t9, -0x7e50(gp)                |     t9 = sym.imp.pthread_mutex_init;
    0x000638ec addiu a0, s2, 0x168               |     a0 = s2 + aav.0x00000168;
    0x000638f0 move a1, zero                     |     a1 = 0;
    0x000638f4 jalr t9                           |     t9 ();
    0x000638f8 lw gp, 0x28(sp)                   |     gp = *(var_28h);
    0x000638fc addiu a0, s2, 0x138               |     a0 = s2 + aav.0x00000138;
    0x00063900 lw t9, -0x7a64(gp)                |     t9 = sym.imp.pthread_cond_init;
    0x00063904 move a1, zero                     |     a1 = 0;
    0x00063908 jalr t9                           |     t9 ();
    0x0006390c lw gp, 0x28(sp)                   |     gp = *(var_28h);
    0x00063910 addiu a0, s2, 0x1d0               |     a0 = s2 + aav.0x000001d0;
    0x00063914 lw t9, -0x7a64(gp)                |     t9 = sym.imp.pthread_cond_init;
    0x00063918 move a1, zero                     |     a1 = 0;
    0x0006391c jalr t9                           |     t9 ();
    0x00063920 lw gp, 0x28(sp)                   |     gp = *(var_28h);
    0x00063924 move a0, s0                       |     a0 = s0;
    0x00063928 lw t9, -0x79fc(gp)                |     t9 = sym.IMP_FrameSource_SetFrameDepth;
    0x0006392c move a1, zero                     |     a1 = 0;
    0x00063930 jalr t9                           |     t9 ();
    0x00063934 lw gp, 0x28(sp)                   |     gp = *(var_28h);
    0x00063938 lw v0, -0x682c(s6)                |     v0 = *((s6 - 6667));
    0x0006393c addiu a0, sp, 0x30                |     a0 = sp + 0x30;
    0x00063940 lw a1, -0x7fc8(gp)                |     a1 = *(gp);
    0x00063944 lw s3, (v0)                       |     s3 = *(v0);
    0x00063948 lw t9, -0x7c30(gp)                |     t9 = sym.imp.sprintf
                                                 |     /* str._s__d */
    0x0006394c addiu a1, a1, -0x78dc             |     a1 += -0x78dc;
    0x00063950 move a2, s3                       |     a2 = s3;
    0x00063954 move a3, s0                       |     a3 = s0;
    0x00063958 jalr t9                           |     t9 ();
    0x0006395c lw gp, 0x28(sp)                   |     gp = *(var_28h);
    0x00063960 move a0, zero                     |     a0 = 0;
    0x00063964 move a1, s0                       |     a1 = s0;
    0x00063968 lw a3, -0x7f98(gp)                |     a3 = *((gp - 8166));
    0x0006396c lw t9, -0x7f30(gp)                |     t9 = sym.create_group;
    0x00063970 addiu a2, sp, 0x30                |     a2 = sp + 0x30;
                                                 |     /* sym.on_framesource_group_data_update */
    0x00063974 addiu a3, a3, 0x13d8              |     a3 += 0x13d8;
    0x00063978 jalr t9                           |     t9 ();
    0x0006397c addiu v1, s0, 8                   |     v1 = s0 + 8;
    0x00063980 sll v1, v1, 2                     |     v1 <<= 2;
    0x00063984 addu a0, s3, v1                   |     a0 = s3 + v1;
    0x00063988 addiu a1, zero, 3                 |     a1 = 3;
    0x0006398c sw s3, (v0)                       |     *(v0) = s3;
    0x00063990 sw a1, 0xc(v0)                    |     *((v0 + 3)) = a1;
    0x00063994 addu s7, s7, v1                   |     s7 += v1;
    0x00063998 sw v0, 8(a0)                      |     *((a0 + 2)) = v0;
    0x0006399c lw v0, 8(s7)                      |     v0 = *((s7 + 2));
    0x000639a0 addiu v1, s1, 0x30                |     v1 = s1 + 0x30;
    0x000639a4 sw s0, (s2)                       |     *(s2) = s0;
    0x000639a8 sw v0, 0x12c(s2)                  |     *(s2) = v0;
    0x000639ac addiu v0, zero, 1                 |     v0 = 1;
    0x000639b0 sw v0, 4(s2)                      |     *((s2 + 1)) = v0;
    0x000639b4 addiu v0, s2, 8                   |     v0 = s2 + 8;
                                                 |     do {
    0x000639b8 lw a3, (s1)                       |         a3 = *(s1);
    0x000639bc lw a2, 4(s1)                      |         a2 = *((s1 + 1));
    0x000639c0 lw a1, 8(s1)                      |         a1 = *((s1 + 2));
    0x000639c4 lw a0, 0xc(s1)                    |         a0 = *((s1 + 3));
    0x000639c8 addiu s1, s1, 0x10                |         s1 += 0x10;
    0x000639cc sw a3, (v0)                       |         *(v0) = a3;
    0x000639d0 sw a2, 4(v0)                      |         *((v0 + 1)) = a2;
    0x000639d4 sw a1, 8(v0)                      |         *((v0 + 2)) = a1;
    0x000639d8 sw a0, 0xc(v0)                    |         *((v0 + 3)) = a0;
    0x000639dc addiu v0, v0, 0x10                |         v0 += 0x10;
    0x000639e0 bne s1, v1, 0x639b8               |         
                                                 |     } while (s1 != v1);
    0x000639e4 lw v1, 0xc(s5)                    |     v1 = *((s5 + 3));
    0x000639e8 lw a1, 4(s1)                      |     a1 = *((s1 + 1));
    0x000639ec lw a0, 8(s1)                      |     a0 = *((s1 + 2));
    0x000639f0 lw a2, (s1)                       |     a2 = *(s1);
    0x000639f4 addiu v1, v1, 1                   |     v1++;
    0x000639f8 sw a1, 4(v0)                      |     *((v0 + 1)) = a1;
    0x000639fc sw a0, 8(v0)                      |     *((v0 + 2)) = a0;
    0x00063a00 move a1, zero                     |     a1 = 0;
    0x00063a04 move a0, zero                     |     a0 = 0;
    0x00063a08 sw a2, (v0)                       |     *(v0) = a2;
    0x00063a0c sw zero, 0x1b4(s2)                |     *(s2) = 0;
    0x00063a10 sw zero, 0x1b8(s2)                |     *(s2) = 0;
    0x00063a14 sw a0, 0x1c0(s2)                  |     *(s2) = a0;
    0x00063a18 sw a1, 0x1c4(s2)                  |     *(s2) = a1;
    0x00063a1c sw zero, 0x1c8(s2)                |     *(s2) = 0;
    0x00063a20 move v0, zero                     |     v0 = 0;
    0x00063a24 sw v1, 0xc(s5)                    |     *((s5 + 3)) = v1;
    0x00063a28 b 0x63318                         |     goto label_0;
                                                 | label_6:
    0x00063a2c lw v1, 0x38(a1)                   |     v1 = *((a1 + 14));
    0x00063a30 addiu v0, zero, 1                 |     v0 = 1;
    0x00063a34 lw t9, -0x7adc(gp)                |     t9 = sym.imp.IMP_Log_Get_Option;
                                                 |     if (v1 != v0) {
    0x00063a38 bne v1, v0, 0x632e4               |         goto label_1;
                                                 |     }
    0x00063a3c jalr t9                           |     t9 ();
    0x00063a40 nop                               |     
    0x00063a44 lw gp, 0x28(sp)                   |     gp = *(var_28h);
    0x00063a48 lw v1, -0x7fc8(gp)                |     v1 = *(gp);
    0x00063a4c lw t9, -0x79d0(gp)                |     t9 = sym.imp.imp_log_fun;
                                                 |     /* str._home_ptkang_work_platform_isvp_20160504_e_proj_sdk_lv3_src_imp_framesource_framesource_tseries.c */
    0x00063a50 addiu v1, v1, -0x1f64             |     v1 += -0x1f64;
    0x00063a54 sw v1, 0x10(sp)                   |     *(var_10h) = v1;
    0x00063a58 addiu v1, zero, 0x435             |     v1 = 0x435;
    0x00063a5c sw v1, 0x14(sp)                   |     *(var_14h) = v1;
    0x00063a60 lw v1, -0x7fc8(gp)                |     v1 = *(gp);
                                                 |     /* obj.__func__.8649 */
    0x00063a64 addiu v1, v1, -0xcdc              |     v1 += -aav.0x00000cdc;
    0x00063a68 sw v1, 0x18(sp)                   |     *(var_18h) = v1;
    0x00063a6c lw v1, -0x7fc8(gp)                |     v1 = *(gp);
                                                 |     /* str.Chn__d_cannot_be_set_as_ext_channel_n */
    0x00063a70 addiu v1, v1, -0x1a3c             |     v1 += -aav.0x00001a3c;
                                                 |     do {
                                                 | label_2:
    0x00063a74 lw a3, -0x7fc8(gp)                |         a3 = *(gp);
    0x00063a78 move a1, v0                       |         a1 = v0;
    0x00063a7c sw v1, 0x1c(sp)                   |         *(var_1ch) = v1;
    0x00063a80 sw s0, 0x20(sp)                   |         *(var_20h) = s0;
    0x00063a84 addiu a0, zero, 6                 |         a0 = 6;
    0x00063a88 addiu a2, zero, 2                 |         a2 = 2;
                                                 |         /* str.Framesource */
    0x00063a8c addiu a3, a3, -0x1f70             |         a3 += -aav.0x00001f70;
    0x00063a90 jalr t9                           |         t9 ();
    0x00063a94 addiu v0, zero, -1                |         v0 = -1;
    0x00063a98 b 0x63318                         |         goto label_0;
                                                 | label_3:
    0x00063a9c lw t9, -0x7adc(gp)                |         t9 = sym.imp.IMP_Log_Get_Option;
    0x00063aa0 jalr t9                           |         t9 ();
    0x00063aa4 nop                               |         
    0x00063aa8 lw gp, 0x28(sp)                   |         gp = *(var_28h);
    0x00063aac lw v1, -0x7fc8(gp)                |         v1 = *(gp);
    0x00063ab0 lw t9, -0x79d0(gp)                |         t9 = sym.imp.imp_log_fun;
                                                 |         /* str._home_ptkang_work_platform_isvp_20160504_e_proj_sdk_lv3_src_imp_framesource_framesource_tseries.c */
    0x00063ab4 addiu v1, v1, -0x1f64             |         v1 += -0x1f64;
    0x00063ab8 sw v1, 0x10(sp)                   |         *(var_10h) = v1;
    0x00063abc addiu v1, zero, 0x424             |         v1 = aav.0x00000424;
    0x00063ac0 sw v1, 0x14(sp)                   |         *(var_14h) = v1;
    0x00063ac4 lw v1, -0x7fc8(gp)                |         v1 = *(gp);
                                                 |         /* obj.__func__.8649 */
    0x00063ac8 addiu v1, v1, -0xcdc              |         v1 += -aav.0x00000cdc;
    0x00063acc sw v1, 0x18(sp)                   |         *(var_18h) = v1;
    0x00063ad0 lw v1, -0x7fc8(gp)                |         v1 = *(gp);
                                                 |         /* str.Invalid_channel_num_d_n */
    0x00063ad4 addiu v1, v1, -0x1aa4             |         v1 += -0x1aa4;
    0x00063ad8 b 0x63a74                         |         
                                                 |     } while (1);
                                                 | label_5:
    0x00063adc jalr t9                           |     t9 ();
    0x00063ae0 nop                               |     
    0x00063ae4 lw gp, 0x28(sp)                   |     gp = *(var_28h);
    0x00063ae8 lw v1, -0x7fc8(gp)                |     v1 = *(gp);
    0x00063aec lw t9, -0x79d0(gp)                |     t9 = sym.imp.imp_log_fun;
                                                 |     /* str._home_ptkang_work_platform_isvp_20160504_e_proj_sdk_lv3_src_imp_framesource_framesource_tseries.c */
    0x00063af0 addiu v1, v1, -0x1f64             |     v1 += -0x1f64;
    0x00063af4 sw v1, 0x10(sp)                   |     *(var_10h) = v1;
    0x00063af8 addiu v1, zero, 0x42e             |     v1 = 0x42e;
    0x00063afc sw v1, 0x14(sp)                   |     *(var_14h) = v1;
    0x00063b00 lw v1, -0x7fc8(gp)                |     v1 = *(gp);
                                                 |     /* obj.__func__.8649 */
    0x00063b04 addiu v1, v1, -0xcdc              |     v1 += -aav.0x00000cdc;
    0x00063b08 sw v1, 0x18(sp)                   |     *(var_18h) = v1;
    0x00063b0c lw v1, -0x7fc8(gp)                |     v1 = *(gp);
                                                 |     /* str.chnNum_d__chnAttr__picWidth_should_be_align_to_16_n */
    0x00063b10 addiu v1, v1, -0x1a70             |     v1 += -0x1a70;
    0x00063b14 b 0x63a74                         |     goto label_2;
                                                 | label_7:
    0x00063b18 jalr t9                           |     t9 ();
    0x00063b1c nop                               |     
    0x00063b20 lw gp, 0x28(sp)                   |     gp = *(var_28h);
    0x00063b24 lw v1, -0x7fc8(gp)                |     v1 = *(gp);
    0x00063b28 lw t9, -0x79d0(gp)                |     t9 = sym.imp.imp_log_fun;
                                                 |     /* str._home_ptkang_work_platform_isvp_20160504_e_proj_sdk_lv3_src_imp_framesource_framesource_tseries.c */
    0x00063b2c addiu v1, v1, -0x1f64             |     v1 += -0x1f64;
    0x00063b30 sw v1, 0x10(sp)                   |     *(var_10h) = v1;
    0x00063b34 addiu v1, zero, 0x43a             |     v1 = 0x43a;
    0x00063b38 sw v1, 0x14(sp)                   |     *(var_14h) = v1;
    0x00063b3c lw v1, -0x7fc8(gp)                |     v1 = *(gp);
                                                 |     /* obj.__func__.8649 */
    0x00063b40 addiu v1, v1, -0xcdc              |     v1 += -aav.0x00000cdc;
    0x00063b44 sw v1, 0x18(sp)                   |     *(var_18h) = v1;
    0x00063b48 lw v1, -0x7fc8(gp)                |     v1 = *(gp);
                                                 |     /* str.Chn__d_cannot_be_set_as_phy_channel_n */
    0x00063b4c addiu v1, v1, -0x1a14             |     v1 += -0x1a14;
    0x00063b50 b 0x63a74                         |     goto label_2;
                                                 | label_4:
    0x00063b54 jalr t9                           |     t9 ();
    0x00063b58 nop                               |     
    0x00063b5c lw gp, 0x28(sp)                   |     gp = *(var_28h);
    0x00063b60 lw v1, -0x7fc8(gp)                |     v1 = *(gp);
    0x00063b64 lw t9, -0x79d0(gp)                |     t9 = sym.imp.imp_log_fun;
                                                 |     /* str._home_ptkang_work_platform_isvp_20160504_e_proj_sdk_lv3_src_imp_framesource_framesource_tseries.c */
    0x00063b68 addiu v1, v1, -0x1f64             |     v1 += -0x1f64;
    0x00063b6c sw v1, 0x10(sp)                   |     *(var_10h) = v1;
    0x00063b70 addiu v1, zero, 0x429             |     v1 = 0x429;
    0x00063b74 sw v1, 0x14(sp)                   |     *(var_14h) = v1;
    0x00063b78 lw v1, -0x7fc8(gp)                |     v1 = *(gp);
                                                 |     /* obj.__func__.8649 */
    0x00063b7c addiu v1, v1, -0xcdc              |     v1 += -aav.0x00000cdc;
    0x00063b80 sw v1, 0x18(sp)                   |     *(var_18h) = v1;
    0x00063b84 lw v1, -0x7fc8(gp)                |     v1 = *(gp);
                                                 |     /* str.chnNum_d__chnAttr_is_NULL_n */
    0x00063b88 addiu v1, v1, -0x1a8c             |     v1 += -0x1a8c;
    0x00063b8c b 0x63a74                         |     goto label_2;
                                                 | }
    ; assembly                                   | /* r2dec pseudo code output */
                                                 | /* /logs/firmware/unblob_extracted/firmware_extract/6225984-11075644.jffs2_new_extract/lib/libmp.so @ 0x6441c */
                                                 | #include <stdint.h>
                                                 |  
    ; (fcn) sym.IMP_FrameSource_EnableChn ()     | void IMP_FrameSource_EnableChn () {
    0x0006441c lui gp, 9                         |     
    0x00064420 addiu gp, gp, -0x700c             |     
    0x00064424 addu gp, gp, t9                   |     gp += t9;
    0x00064428 addiu sp, sp, -0x518              |     
    0x0006442c slti v0, a0, 4                    |     v0 = (a0 < 4) ? 1 : 0;
    0x00064430 sw gp, 0x30(sp)                   |     *(var_30h) = gp;
    0x00064434 sw s5, 0x504(sp)                  |     *(var_504h) = s5;
    0x00064438 sw ra, 0x514(sp)                  |     *(var_514h) = ra;
    0x0006443c sw fp, 0x510(sp)                  |     *(var_510h) = fp;
    0x00064440 sw s7, 0x50c(sp)                  |     *(var_50ch) = s7;
    0x00064444 sw s6, 0x508(sp)                  |     *(var_508h) = s6;
    0x00064448 sw s4, 0x500(sp)                  |     *(var_500h) = s4;
    0x0006444c sw s3, 0x4fc(sp)                  |     *(var_4fch) = s3;
    0x00064450 sw s2, 0x4f8(sp)                  |     *(var_4f8h) = s2;
    0x00064454 sw s1, 0x4f4(sp)                  |     *(var_4f4h) = s1;
    0x00064458 sw s0, 0x4f0(sp)                  |     *(var_4f0h) = s0;
    0x0006445c move s5, a0                       |     s5 = a0;
    0x00064460 sw zero, 0x4e4(sp)                |     *(var_4e4h) = 0;
                                                 |     if (v0 == 0) {
    0x00064464 beqz v0, 0x65284                  |         goto label_21;
                                                 |     }
    0x00064468 lw v0, -0x7fa8(gp)                |     v0 = *((gp - 8170));
    0x0006446c lw s4, -0x682c(v0)                |     s4 = *((v0 - 6667));
    0x00064470 sll s1, a0, 9                     |     s1 = a0 << 9;
                                                 |     if (s4 == 0) {
    0x00064474 beqz s4, 0x65490                  |         goto label_22;
                                                 |     }
    0x00064478 addiu s1, s1, 0x10                |     s1 += 0x10;
    0x0006447c addu s1, s4, s1                   |     s1 = s4 + s1;
    0x00064480 lw v1, 4(s1)                      |     v1 = *((s1 + 1));
    0x00064484 addiu v0, zero, 2                 |     v0 = 2;
    0x00064488 lw t9, -0x7adc(gp)                |     t9 = sym.imp.IMP_Log_Get_Option;
                                                 |     if (v1 == v0) {
    0x0006448c beq v1, v0, 0x65018               |         goto label_23;
                                                 |     }
    0x00064490 lw v0, 0x40(s1)                   |     v0 = *((s1 + 16));
    0x00064494 addiu v0, s1, 8                   |     v0 = s1 + 8;
                                                 |     if (v0 != 0) {
    0x00064498 bnez v0, 0x64510                  |         goto label_24;
                                                 |     }
    0x0006449c lw a1, -0x7fc8(gp)                |     a1 = *(gp);
    0x000644a0 lw a2, (s1)                       |     a2 = *(s1);
    0x000644a4 lw t9, -0x7c30(gp)                |     t9 = sym.imp.sprintf
    0x000644a8 addiu s2, sp, 0x1d8               |     s2 = sp + aav.0x000001d8;
    0x000644ac move a0, s2                       |     a0 = s2;
                                                 |     /* str._dev_video_d */
    0x000644b0 addiu a1, a1, -0x16e4             |     a1 += -0x16e4;
    0x000644b4 addiu a2, a2, 1                   |     a2++;
    0x000644b8 lui s3, 8                         |     s3 = 0x80000;
    0x000644bc jalr t9                           |     t9 ();
    0x000644c0 addiu s0, zero, 0x101             |     s0 = 0x101;
    0x000644c4 lw gp, 0x30(sp)                   |     gp = *(var_30h);
    0x000644c8 addiu s3, s3, 2                   |     s3 += 2;
    0x000644cc b 0x644e4                         |     
                                                 |     if (s0 == 0) {
                                                 |         while (v0 < 0) {
    0x000644d0 beqz s0, 0x65080                  |             goto label_25;
                                                 |         }
    0x000644d4 nop                               |         
    0x000644d8 addiu a0, zero, 0x2710            |         a0 = aav.0x00002710;
    0x000644dc jalr t9                           |         t9 ();
    0x000644e0 lw gp, 0x30(sp)                   |         gp = *(var_30h);
    0x000644e4 lw t9, -0x7e60(gp)                |         t9 = sym.imp.open;
    0x000644e8 move a0, s2                       |         a0 = s2;
    0x000644ec move a1, s3                       |         a1 = s3;
    0x000644f0 move a2, zero                     |         a2 = 0;
    0x000644f4 jalr t9                           |         t9 ();
    0x000644f8 lw gp, 0x30(sp)                   |         gp = *(var_30h);
    0x000644fc addiu s0, s0, -1                  |         s0 += -1;
    0x00064500 lw t9, -0x760c(gp)                |         t9 = sym.imp.usleep;
    0x00064504 bltz v0, 0x644d0                  |         
                                                 |     }
    0x00064508 sw v0, 0x128(s1)                  |     *(s1) = v0;
    0x0006450c addiu v0, s1, 8                   |     v0 = s1 + 8;
                                                 | label_24:
    0x00064510 addiu v1, sp, 0x43c               |     v1 = sp + aav.0x0000043c;
    0x00064514 addiu a0, s1, 0x38                |     a0 = s1 + 0x38;
                                                 |     do {
    0x00064518 lw t0, (v0)                       |         t0 = *(v0);
    0x0006451c lw a3, 4(v0)                      |         a3 = *((v0 + 1));
    0x00064520 lw a2, 8(v0)                      |         a2 = *((v0 + 2));
    0x00064524 lw a1, 0xc(v0)                    |         a1 = *((v0 + 3));
    0x00064528 addiu v0, v0, 0x10                |         v0 += 0x10;
    0x0006452c sw t0, (v1)                       |         *(v1) = t0;
    0x00064530 sw a3, 4(v1)                      |         *(var_440h) = a3;
    0x00064534 sw a2, 8(v1)                      |         *(var_444h) = a2;
    0x00064538 sw a1, 0xc(v1)                    |         *(var_448h) = a1;
    0x0006453c addiu v1, v1, 0x10                |         v1 += 0x10;
    0x00064540 bne v0, a0, 0x64518               |         
                                                 |     } while (v0 != a0);
    0x00064544 lw a1, (v0)                       |     a1 = *(v0);
    0x00064548 lw a0, 4(v0)                      |     a0 = *((v0 + 1));
    0x0006454c lw v0, 8(v0)                      |     v0 = *((v0 + 2));
    0x00064550 sw a1, (v1)                       |     *(v1) = a1;
    0x00064554 sw a0, 4(v1)                      |     *(var_450h) = a0;
    0x00064558 sw v0, 8(v1)                      |     *(var_454h) = v0;
    0x0006455c lw v0, 0x474(sp)                  |     v0 = *(var_474h);
    0x00064560 lw s0, 0x444(sp)                  |     s0 = *(var_444h);
                                                 |     if (v0 != 0) {
    0x00064564 bnez v0, 0x64ab0                  |         goto label_26;
                                                 |     }
    0x00064568 addiu v0, zero, 0x22              |     v0 = 0x22;
    0x0006456c addiu v0, s0, -1                  |     v0 = s0 + -1;
                                                 |     if (s0 == v0) {
    0x00064570 beq s0, v0, 0x64e10               |         goto label_27;
                                                 |     }
    0x00064574 sltiu v1, v0, 0x1d                |     v1 = (v0 < 0x1d) ? 1 : 0;
    0x00064578 lw s3, 0x43c(sp)                  |     s3 = *(var_43ch);
    0x0006457c lw s2, 0x440(sp)                  |     s2 = *(var_440h);
                                                 |     if (v1 == 0) {
    0x00064580 beqz v1, 0x64ba4                  |         goto label_28;
                                                 |     }
    0x00064584 mul v1, s3, s2                    |     __asm ("mul v1, s3, s2");
    0x00064588 lw a0, -0x7fc8(gp)                |     a0 = *(gp);
    0x0006458c sll v0, v0, 2                     |     v0 <<= 2;
    0x00064590 lw a1, -0x7fc8(gp)                |     a1 = *(gp);
                                                 |     /* obj.CSWTCH.80 */
    0x00064594 addiu a0, a0, -0xc80              |     a0 += -aav.0x00000c80;
    0x00064598 addu a0, v0, a0                   |     a0 = v0 + a0;
    0x0006459c lw a0, (a0)                       |     a0 = *(a0);
                                                 |     /* obj.CSWTCH.81 */
    0x000645a0 addiu a1, a1, -0xc0c              |     a1 += -aav.0x00000c0c;
    0x000645a4 addu v0, v0, a1                   |     v0 += a1;
    0x000645a8 lw v0, (v0)                       |     v0 = *(v0);
    0x000645ac mul v1, v1, a0                    |     __asm ("mul v1, v1, a0");
                                                 | label_1:
    0x000645b0 lw s6, 0x448(sp)                  |     s6 = *(var_448h);
    0x000645b4 lw s7, 0x44c(sp)                  |     s7 = *(var_44ch);
    0x000645b8 lw fp, 0x450(sp)                  |     fp = *(var_450h);
    0x000645bc lw a3, 0x458(sp)                  |     a3 = *(var_458h);
    0x000645c0 sw zero, 0x4a4(sp)                |     *(var_4a4h) = 0;
    0x000645c4 sw zero, 0x4a8(sp)                |     *(var_4a8h) = 0;
    0x000645c8 sw zero, 0x4ac(sp)                |     *(var_4ach) = 0;
    0x000645cc sw zero, 0x4b0(sp)                |     *(var_4b0h) = 0;
    0x000645d0 sw zero, 0x4b4(sp)                |     *(var_4b4h) = 0;
    0x000645d4 div zero, v1, v0                  |     __asm ("div zero, v1, v0");
    0x000645d8 teq v0, zero, 7                   |     __asm ("teq v0, zero, 7");
    0x000645dc lw v1, 0x454(sp)                  |     v1 = *(var_454h);
    0x000645e0 mflo a0                           |     __asm ("mflo a0");
    0x000645e4 sw a0, 0x120(s1)                  |     *(s1) = a0;
                                                 |     if (s6 != 0) {
    0x000645e8 beqz s6, 0x6467c                  |         
    0x000645ec lw t9, -0x74a4(gp)                |         t9 = sym.imp.ioctl;
    0x000645f0 lw a0, 0x128(s1)                  |         a0 = *(s1);
    0x000645f4 lui a1, 0xc02c                    |         a1 = 0xc02c0000;
    0x000645f8 sw v1, 0x4e8(sp)                  |         *(var_4e8h) = v1;
    0x000645fc sw a3, 0x4ec(sp)                  |         *(var_4ech) = a3;
    0x00064600 addiu a1, a1, 0x563a              |         a1 += 0x563a;
    0x00064604 addiu a2, sp, 0x478               |         a2 = sp + aav.0x00000478;
    0x00064608 jalr t9                           |         t9 ();
    0x0006460c lw gp, 0x30(sp)                   |         gp = *(var_30h);
    0x00064610 lw v1, 0x4e8(sp)                  |         v1 = *(var_4e8h);
    0x00064614 lw a3, 0x4ec(sp)                  |         a3 = *(var_4ech);
                                                 |         if (v0 < 0) {
    0x00064618 bltz v0, 0x656d0                  |             goto label_29;
                                                 |         }
    0x0006461c lw v0, 0x47c(sp)                  |         v0 = *(var_47ch);
    0x00064620 sw s6, 0x4a4(sp)                  |         *(var_4a4h) = s6;
    0x00064624 sw s7, 0x4a8(sp)                  |         *(var_4a8h) = s7;
    0x00064628 slt a0, s7, v0                    |         a0 = (s7 < v0) ? 1 : 0;
    0x0006462c sw fp, 0x4ac(sp)                  |         *(var_4ach) = fp;
    0x00064630 sw v1, 0x4b0(sp)                  |         *(var_4b0h) = v1;
    0x00064634 sw a3, 0x4b4(sp)                  |         *(var_4b4h) = a3;
                                                 |         if (a0 != 0) {
    0x00064638 bnez a0, 0x65108                  |             goto label_30;
                                                 |         }
    0x0006463c lw a0, 0x480(sp)                  |         a0 = *(var_480h);
    0x00064640 slt a1, fp, a0                    |         a1 = (fp < a0) ? 1 : 0;
    0x00064644 lw t9, -0x7adc(gp)                |         t9 = sym.imp.IMP_Log_Get_Option;
                                                 |         if (a1 != 0) {
    0x00064648 bnez a1, 0x6510c                  |             goto label_31;
                                                 |         }
    0x0006464c lw a1, 0x484(sp)                  |         a1 = *(var_484h);
    0x00064650 addu v1, s7, v1                   |         v1 = s7 + v1;
    0x00064654 addu v0, v0, a1                   |         v0 += a1;
    0x00064658 slt v0, v0, v1                    |         v0 = (v0 < v1) ? 1 : 0;
                                                 |         if (v0 != 0) {
    0x0006465c bnez v0, 0x6510c                  |             goto label_31;
                                                 |         }
    0x00064660 nop                               |         
    0x00064664 lw v0, 0x488(sp)                  |         v0 = *(var_488h);
    0x00064668 addu a3, fp, a3                   |         a3 = fp + a3;
    0x0006466c addu a0, a0, v0                   |         a0 += v0;
    0x00064670 slt a0, a0, a3                    |         a0 = (a0 < a3) ? 1 : 0;
                                                 |         if (a0 != 0) {
    0x00064674 bnez a0, 0x6510c                  |             goto label_31;
                                                 |         }
    0x00064678 nop                               |         
                                                 |     }
    0x0006467c lw t9, -0x74a4(gp)                |     t9 = sym.imp.ioctl;
    0x00064680 lw a0, 0x128(s1)                  |     a0 = *(s1);
    0x00064684 addiu v0, zero, 1                 |     v0 = 1;
    0x00064688 lui a1, 0x8014                    |     a1 = 0x8014563c;
    0x0006468c addiu a1, a1, 0x563c              |     
    0x00064690 addiu a2, sp, 0x4a4               |     a2 = sp + 0x4a4;
    0x00064694 sw v0, 0x4a4(sp)                  |     *(var_4a4h) = v0;
    0x00064698 jalr t9                           |     t9 ();
    0x0006469c lw gp, 0x30(sp)                   |     gp = *(var_30h);
                                                 |     if (v0 < 0) {
    0x000646a0 bltz v0, 0x65408                  |         goto label_32;
                                                 |     }
    0x000646a4 lw t9, -0x74a4(gp)                |     t9 = sym.imp.ioctl;
    0x000646a8 lw a0, 0x128(s1)                  |     a0 = *(s1);
    0x000646ac lui a1, 0xc008                    |     a1 = 0xc00856c3;
    0x000646b0 addiu a1, a1, 0x56c3              |     
    0x000646b4 addiu a2, sp, 0x4cc               |     a2 = sp + 0x4cc;
    0x000646b8 jalr t9                           |     t9 ();
    0x000646bc lw gp, 0x30(sp)                   |     gp = *(var_30h);
                                                 |     if (v0 != 0) {
    0x000646c0 bnez v0, 0x64bb0                  |         goto label_33;
                                                 |     }
    0x000646c4 lw v0, 0x45c(sp)                  |     v0 = *(var_45ch);
    0x000646c8 lw v0, 0x460(sp)                  |     v0 = *(var_460h);
                                                 |     if (v0 != 0) {
    0x000646cc bnez v0, 0x64bb8                  |         goto label_34;
                                                 |     }
    0x000646d0 sh zero, 0x4dc(sp)                |     *(var_4dch) = 0;
    0x000646d4 sh zero, 0x4de(sp)                |     *(var_4deh) = 0;
                                                 | label_3:
    0x000646d8 lw t9, -0x74a4(gp)                |     t9 = sym.imp.ioctl;
    0x000646dc lw a0, 0x128(s1)                  |     a0 = *(s1);
    0x000646e0 lui a1, 0x8004                    |     a1 = 0x800456c4;
    0x000646e4 addiu a1, a1, 0x56c4              |     
    0x000646e8 addiu a2, sp, 0x4dc               |     a2 = sp + 0x4dc;
    0x000646ec jalr t9                           |     t9 ();
    0x000646f0 lw gp, 0x30(sp)                   |     gp = *(var_30h);
                                                 |     if (v0 != 0) {
    0x000646f4 bnez v0, 0x6537c                  |         goto label_35;
                                                 |     }
    0x000646f8 lw a0, -0x7fc8(gp)                |     a0 = *(gp);
    0x000646fc lhu v1, 0x4dc(sp)                 |     v1 = *(var_4dch);
    0x00064700 lhu v0, 0x4de(sp)                 |     v0 = *(var_4deh);
    0x00064704 lw a1, (s1)                       |     a1 = *(s1);
    0x00064708 lw t9, -0x74d0(gp)                |     t9 = sym.imp.printf;
    0x0006470c lw a2, 0x460(sp)                  |     a2 = *(var_460h);
    0x00064710 lw a3, 0x464(sp)                  |     a3 = *(var_464h);
                                                 |     /* str._chn_d__scaler__outwidth___d_scaler__outheight___d__sscaler.outwidth___d_sscaler.outheight___d_n */
    0x00064714 addiu a0, a0, -0x160c             |     a0 += -0x160c;
    0x00064718 sw v1, 0x10(sp)                   |     *(var_10h) = v1;
    0x0006471c sw v0, 0x14(sp)                   |     *(var_14h) = v0;
    0x00064720 jalr t9                           |     t9 ();
    0x00064724 lw gp, 0x30(sp)                   |     gp = *(var_30h);
    0x00064728 lw s3, 0x43c(sp)                  |     s3 = *(var_43ch);
    0x0006472c lw s2, 0x440(sp)                  |     s2 = *(var_440h);
    0x00064730 lw a0, 0x444(sp)                  |     a0 = *(var_444h);
                                                 | label_2:
    0x00064734 addiu t2, zero, -1                |     t2 = -1;
                                                 | label_7:
    0x00064738 addiu s0, s1, 0x44                |     s0 = s1 + 0x44;
    0x0006473c move v0, s0                       |     v0 = s0;
    0x00064740 addiu v1, sp, 0x370               |     v1 = sp + aav.0x00000370;
    0x00064744 addiu a1, s1, 0x104               |     a1 = s1 + aav.0x00000104;
                                                 |     do {
    0x00064748 lw t1, (v0)                       |         t1 = *(v0);
    0x0006474c lw t0, 4(v0)                      |         t0 = *((v0 + 1));
    0x00064750 lw a3, 8(v0)                      |         a3 = *((v0 + 2));
    0x00064754 lw a2, 0xc(v0)                    |         a2 = *((v0 + 3));
    0x00064758 addiu v0, v0, 0x10                |         v0 += 0x10;
    0x0006475c sw t1, (v1)                       |         *(v1) = t1;
    0x00064760 sw t0, 4(v1)                      |         *(var_374h) = t0;
    0x00064764 sw a3, 8(v1)                      |         *(var_378h) = a3;
    0x00064768 sw a2, 0xc(v1)                    |         *(var_37ch) = a2;
    0x0006476c addiu v1, v1, 0x10                |         v1 += 0x10;
    0x00064770 bne v0, a1, 0x64748               |         
                                                 |     } while (v0 != a1);
    0x00064774 lw a2, (v0)                       |     a2 = *(v0);
    0x00064778 lw a1, 4(v0)                      |     a1 = *((v0 + 1));
    0x0006477c lw v0, 8(v0)                      |     v0 = *((v0 + 2));
    0x00064780 sw a2, (v1)                       |     *(v1) = a2;
    0x00064784 sw a1, 4(v1)                      |     *(var_4h_4) = a1;
    0x00064788 sw v0, 8(v1)                      |     *(var_8h_4) = v0;
    0x0006478c addiu v0, zero, 1                 |     v0 = 1;
    0x00064790 sw v0, 0x370(sp)                  |     *(var_370h) = v0;
    0x00064794 sw zero, 0x380(sp)                |     *(var_380h) = 0;
    0x00064798 sw s3, 0x374(sp)                  |     *(var_374h) = s3;
    0x0006479c sw s2, 0x378(sp)                  |     *(var_378h) = s2;
                                                 |     if (a0 == t2) {
    0x000647a0 beq a0, t2, 0x64e78               |         goto label_36;
                                                 |     }
    0x000647a4 addiu a0, a0, -1                  |     a0 += -1;
    0x000647a8 sltiu v1, a0, 0x1d                |     v1 = (a0 < 0x1d) ? 1 : 0;
    0x000647ac addiu v0, zero, -1                |     v0 = -1;
                                                 |     if (v1 != 0) {
    0x000647b0 beqz v1, 0x647c8                  |         
    0x000647b4 lw v0, -0x7fc8(gp)                |         v0 = *(gp);
    0x000647b8 sll a0, a0, 2                     |         a0 <<= 2;
                                                 |         /* obj.CSWTCH.90 */
    0x000647bc addiu v0, v0, -0xa7c              |         v0 += -0xa7c;
    0x000647c0 addu a0, a0, v0                   |         a0 += v0;
    0x000647c4 lw v0, (a0)                       |         v0 = *(a0);
                                                 |     }
    0x000647c8 sw v0, 0x37c(sp)                  |     *(var_37ch) = v0;
                                                 | label_8:
    0x000647cc lw t9, -0x74a4(gp)                |     t9 = sym.imp.ioctl;
    0x000647d0 lw a0, 0x128(s1)                  |     a0 = *(s1);
    0x000647d4 lui s2, 0xc0cc                    |     s2 = 0xc0cc0000;
    0x000647d8 addiu a1, s2, 0x5640              |     a1 = 0xc0cc0000;
    0x000647dc addiu a2, sp, 0x370               |     a2 = sp + aav.0x00000370;
    0x000647e0 jalr t9                           |     t9 ();
    0x000647e4 lw gp, 0x30(sp)                   |     gp = *(var_30h);
                                                 |     if (v0 != 0) {
    0x000647e8 bnez v0, 0x651e0                  |         goto label_37;
                                                 |     }
    0x000647ec lw t9, -0x74a4(gp)                |     t9 = sym.imp.ioctl;
    0x000647f0 lw a0, 0x128(s1)                  |     a0 = *(s1);
    0x000647f4 addiu a1, s2, 0x5605              |     a1 = s2 + 0x5605;
    0x000647f8 addiu a2, sp, 0x370               |     a2 = sp + aav.0x00000370;
    0x000647fc jalr t9                           |     t9 ();
    0x00064800 lw gp, 0x30(sp)                   |     gp = *(var_30h);
    0x00064804 lw t9, -0x7adc(gp)                |     t9 = sym.imp.IMP_Log_Get_Option;
                                                 |     if (v0 != 0) {
    0x00064808 bnez v0, 0x65248                  |         goto label_38;
                                                 |     }
    0x0006480c jalr t9                           |     t9 ();
    0x00064810 nop                               |     
    0x00064814 lw gp, 0x30(sp)                   |     gp = *(var_30h);
    0x00064818 addiu a0, zero, 4                 |     a0 = 4;
    0x0006481c move a1, v0                       |     a1 = v0;
    0x00064820 lw v1, -0x7fc8(gp)                |     v1 = *(gp);
    0x00064824 lw a3, -0x7fc8(gp)                |     a3 = *(gp);
    0x00064828 lw t9, -0x79d0(gp)                |     t9 = sym.imp.imp_log_fun;
                                                 |     /* str._home_ptkang_work_platform_isvp_20160504_e_proj_sdk_lv3_src_imp_framesource_framesource_tseries.c */
    0x0006482c addiu v1, v1, -0x1f64             |     v1 += -0x1f64;
    0x00064830 sw v1, 0x10(sp)                   |     *(var_10h) = v1;
    0x00064834 addiu v1, zero, 0x4f1             |     v1 = 0x4f1;
    0x00064838 sw v1, 0x14(sp)                   |     *(var_14h) = v1;
    0x0006483c lw v1, -0x7fc8(gp)                |     v1 = *(gp);
    0x00064840 addiu a2, zero, 2                 |     a2 = 2;
                                                 |     /* str.Framesource */
    0x00064844 addiu a3, a3, -0x1f70             |     a3 += -aav.0x00001f70;
                                                 |     /* obj.__func__.8662 */
    0x00064848 addiu v1, v1, -0xa94              |     v1 += -0xa94;
    0x0006484c sw v1, 0x18(sp)                   |     *(var_18h) = v1;
    0x00064850 lw v1, -0x7fc8(gp)                |     v1 = *(gp);
                                                 |     /* str._chn_d_:_width___d_height___d_n */
    0x00064854 addiu v1, v1, -0x1584             |     v1 += -0x1584;
    0x00064858 sw v1, 0x1c(sp)                   |     *(var_1ch) = v1;
    0x0006485c lw v1, (s1)                       |     v1 = *(s1);
    0x00064860 sw v1, 0x20(sp)                   |     *(var_20h) = v1;
    0x00064864 lw v1, 0x374(sp)                  |     v1 = *(var_374h);
    0x00064868 sw v1, 0x24(sp)                   |     *(var_24h) = v1;
    0x0006486c lw v1, 0x378(sp)                  |     v1 = *(var_378h);
    0x00064870 sw v1, 0x28(sp)                   |     *(var_28h) = v1;
    0x00064874 jalr t9                           |     t9 ();
    0x00064878 lw gp, 0x30(sp)                   |     gp = *(var_30h);
    0x0006487c addiu v0, sp, 0x370               |     v0 = sp + aav.0x00000370;
    0x00064880 move v1, s0                       |     v1 = s0;
    0x00064884 addiu a0, sp, 0x430               |     a0 = sp + aav.0x00000430;
                                                 |     do {
    0x00064888 lw t0, (v0)                       |         t0 = *(v0);
    0x0006488c lw a3, 4(v0)                      |         a3 = *(var_374h);
    0x00064890 lw a2, 8(v0)                      |         a2 = *(var_378h);
    0x00064894 lw a1, 0xc(v0)                    |         a1 = *(var_37ch);
    0x00064898 addiu v0, v0, 0x10                |         v0 += 0x10;
    0x0006489c sw t0, (v1)                       |         *(v1) = t0;
    0x000648a0 sw a3, 4(v1)                      |         *((v1 + 1)) = a3;
    0x000648a4 sw a2, 8(v1)                      |         *((v1 + 2)) = a2;
    0x000648a8 sw a1, 0xc(v1)                    |         *((v1 + 3)) = a1;
    0x000648ac addiu v1, v1, 0x10                |         v1 += 0x10;
    0x000648b0 bne v0, a0, 0x64888               |         
                                                 |     } while (v0 != a0);
    0x000648b4 lw a1, (v0)                       |     a1 = *(v0);
    0x000648b8 lw a0, 4(v0)                      |     a0 = *(var_4h_4);
    0x000648bc lw v0, 8(v0)                      |     v0 = *(var_8h_4);
    0x000648c0 sw a1, (v1)                       |     *(v1) = a1;
    0x000648c4 sw a0, 4(v1)                      |     *((v1 + 1)) = a0;
    0x000648c8 sw v0, 8(v1)                      |     *((v1 + 2)) = v0;
                                                 | label_0:
    0x000648cc lw s2, 0x1b4(s1)                  |     s2 = *(s1);
    0x000648d0 lw t9, -0x773c(gp)                |     t9 = sym.fifo_alloc;
                                                 |     if (s2 != 0) {
    0x000648d4 bnez s2, 0x64db0                  |         goto label_39;
                                                 |     }
                                                 | label_6:
    0x000648d8 lw v0, 0x40(s1)                   |     v0 = *((s1 + 16));
    0x000648dc move v0, s0                       |     v0 = s0;
                                                 |     if (v0 != 0) {
    0x000648e0 bnez v0, 0x64bdc                  |         goto label_40;
                                                 |     }
    0x000648e4 addiu v1, sp, 0x108               |     v1 = sp + aav.0x00000108;
    0x000648e8 addiu a0, s1, 0x104               |     a0 = s1 + aav.0x00000104;
                                                 |     do {
    0x000648ec lw t0, (v0)                       |         t0 = *(v0);
    0x000648f0 lw a3, 4(v0)                      |         a3 = *((v0 + 1));
    0x000648f4 lw a2, 8(v0)                      |         a2 = *((v0 + 2));
    0x000648f8 lw a1, 0xc(v0)                    |         a1 = *((v0 + 3));
    0x000648fc addiu v0, v0, 0x10                |         v0 += 0x10;
    0x00064900 sw t0, (v1)                       |         *(v1) = t0;
    0x00064904 sw a3, 4(v1)                      |         *(var_10ch) = a3;
    0x00064908 sw a2, 8(v1)                      |         *(var_110h) = a2;
    0x0006490c sw a1, 0xc(v1)                    |         *(var_ch_2) = a1;
    0x00064910 addiu v1, v1, 0x10                |         v1 += 0x10;
    0x00064914 bne v0, a0, 0x648ec               |         
                                                 |     } while (v0 != a0);
    0x00064918 lw a1, (v0)                       |     a1 = *(v0);
    0x0006491c lw a0, 4(v0)                      |     a0 = *((v0 + 1));
    0x00064920 lw v0, 8(v0)                      |     v0 = *((v0 + 2));
    0x00064924 sw a1, (v1)                       |     *(v1) = a1;
    0x00064928 sw a0, 4(v1)                      |     *(var_4h_3) = a0;
    0x0006492c sw v0, 8(v1)                      |     *(var_8h_3) = v0;
    0x00064930 lw v0, 0x3c(s1)                   |     v0 = *((s1 + 15));
                                                 |     if (s2 != 0) {
    0x00064934 beqz s2, 0x6493c                  |         
    0x00064938 addu v0, s2, v0                   |         v0 = s2 + v0;
                                                 |     }
    0x0006493c lw v1, 0x10(s1)                   |     v1 = *((s1 + 4));
    0x00064940 sw v0, 0x1d4(sp)                  |     *(var_1d4h) = v0;
    0x00064944 addiu v0, zero, 0x22              |     v0 = 0x22;
    0x00064948 lw v0, 0x10c(sp)                  |     v0 = *(var_10ch);
                                                 |     if (v1 == v0) {
    0x0006494c beq v1, v0, 0x64e80               |         goto label_41;
                                                 |     }
    0x00064950 lw v1, 8(s1)                      |     v1 = *((s1 + 2));
    0x00064954 lw v0, 0xc(s1)                    |     v0 = *((s1 + 3));
    0x00064958 sw v1, 0x10c(sp)                  |     *(var_10ch) = v1;
    0x0006495c sw v0, 0x110(sp)                  |     *(var_110h) = v0;
                                                 | label_9:
    0x00064960 lw v0, -0x7f98(gp)                |     v0 = *((gp - 8166));
    0x00064964 lw t9, -0x7ba8(gp)                |     t9 = sym.VBMCreatePool;
    0x00064968 move a0, s5                       |     a0 = s5;
                                                 |     /* sym.get_frame */
    0x0006496c addiu v0, v0, 0xe0c               |     v0 += aav.0x00000e0c;
    0x00064970 sw v0, 0x4d4(sp)                  |     *(var_4d4h) = v0;
    0x00064974 lw v0, -0x7f98(gp)                |     v0 = *((gp - 8166));
    0x00064978 addiu a1, sp, 0x108               |     a1 = sp + aav.0x00000108;
    0x0006497c addiu a2, sp, 0x4d4               |     a2 = sp + 0x4d4;
                                                 |     /* sym.release_Frame */
    0x00064980 addiu v0, v0, 0xc60               |     v0 += 0xc60;
    0x00064984 move a3, s4                       |     a3 = s4;
    0x00064988 sw v0, 0x4d8(sp)                  |     *(var_4d8h) = v0;
    0x0006498c jalr t9                           |     t9 ();
    0x00064990 lw gp, 0x30(sp)                   |     gp = *(var_30h);
                                                 |     if (v0 < 0) {
    0x00064994 bltz v0, 0x64e90                  |         goto label_42;
                                                 |     }
    0x00064998 lw v0, 0x1d4(sp)                  |     v0 = *(var_1d4h);
    0x0006499c lw t9, -0x74a4(gp)                |     t9 = sym.imp.ioctl;
    0x000649a0 lw a0, 0x128(s1)                  |     a0 = *(s1);
    0x000649a4 sw v0, 0x4b8(sp)                  |     *(var_4b8h) = v0;
    0x000649a8 addiu v0, zero, 1                 |     v0 = 1;
    0x000649ac move v1, zero                     |     v1 = 0;
    0x000649b0 sw v0, 0x4bc(sp)                  |     *(var_4bch) = v0;
    0x000649b4 lui a1, 0xc014                    |     a1 = 0xc0140000;
    0x000649b8 addiu v0, zero, 2                 |     v0 = 2;
    0x000649bc addiu a1, a1, 0x5608              |     a1 += 0x5608;
    0x000649c0 addiu a2, sp, 0x4b8               |     a2 = sp + aav.0x000004b8;
    0x000649c4 sw v1, 0x4c4(sp)                  |     *(var_4c4h) = v1;
    0x000649c8 sw zero, 0x4c8(sp)                |     *(var_4c8h) = 0;
    0x000649cc sw v0, 0x4c0(sp)                  |     *(var_4c0h) = v0;
    0x000649d0 jalr t9                           |     t9 ();
    0x000649d4 addiu s0, zero, -1                |     s0 = -1;
    0x000649d8 lw gp, 0x30(sp)                   |     gp = *(var_30h);
                                                 |     if (v0 == s0) {
    0x000649dc beq v0, s0, 0x655e4               |         goto label_43;
                                                 |     }
    0x000649e0 lw t9, -0x74a4(gp)                |     t9 = sym.imp.ioctl;
                                                 |     if (s2 != 0) {
    0x000649e4 bnez s2, 0x64f50                  |         goto label_44;
                                                 |     }
                                                 | label_10:
    0x000649e8 lw v0, 0x1d4(sp)                  |     v0 = *(var_1d4h);
    0x000649ec lw v1, 0x4b8(sp)                  |     v1 = *(var_4b8h);
    0x000649f0 sltu v0, v1, v0                   |     v0 = (v1 < v0) ? 1 : 0;
    0x000649f4 lw t9, -0x7adc(gp)                |     t9 = sym.imp.IMP_Log_Get_Option;
                                                 |     if (v0 != 0) {
    0x000649f8 bnez v0, 0x652d8                  |         goto label_45;
                                                 |     }
    0x000649fc lw t9, -0x7cd4(gp)                |     t9 = sym.VBMFillPool;
    0x00064a00 move a0, s5                       |     a0 = s5;
    0x00064a04 jalr t9                           |     t9 ();
    0x00064a08 lw gp, 0x30(sp)                   |     gp = *(var_30h);
                                                 |     if (v0 < 0) {
    0x00064a0c bltz v0, 0x65448                  |         goto label_46;
                                                 |     }
    0x00064a10 lw a2, -0x7f98(gp)                |     a2 = *((gp - 8166));
    0x00064a14 lw t9, -0x7520(gp)                |     t9 = sym.imp.pthread_create;
    0x00064a18 sw zero, 0x18c(s1)                |     *(s1) = 0;
    0x00064a1c sw zero, 0x190(s1)                |     *(s1) = 0;
    0x00064a20 addiu a0, s1, 0x124               |     a0 = s1 + aav.0x00000124;
    0x00064a24 move a1, zero                     |     a1 = 0;
                                                 |     /* sym.frame_pooling_thread */
    0x00064a28 addiu a2, a2, 0x1084              |     a2 += 0x1084;
    0x00064a2c move a3, s1                       |     a3 = s1;
    0x00064a30 jalr t9                           |     t9 ();
    0x00064a34 lw gp, 0x30(sp)                   |     gp = *(var_30h);
                                                 |     if (v0 != 0) {
    0x00064a38 bnez v0, 0x6531c                  |         goto label_47;
                                                 |     }
    0x00064a3c lw t9, -0x74a4(gp)                |     t9 = sym.imp.ioctl;
    0x00064a40 lw a0, 0x128(s1)                  |     a0 = *(s1);
    0x00064a44 addiu v0, zero, 1                 |     v0 = 1;
    0x00064a48 lui a1, 0x8004                    |     a1 = 0x80045612;
    0x00064a4c addiu a1, a1, 0x5612              |     
    0x00064a50 addiu a2, sp, 0x4e0               |     a2 = sp + aav.0x000004e0;
    0x00064a54 sw v0, 0x4e0(sp)                  |     *(var_4e0h) = v0;
    0x00064a58 jalr t9                           |     t9 ();
    0x00064a5c addiu v1, zero, -1                |     v1 = -1;
    0x00064a60 lw gp, 0x30(sp)                   |     gp = *(var_30h);
                                                 |     if (v0 == v1) {
    0x00064a64 beq v0, v1, 0x65648               |         goto label_48;
                                                 |     }
    0x00064a68 lw v0, 0xc(s4)                    |     v0 = *((s4 + 3));
    0x00064a6c addiu v1, zero, 2                 |     v1 = 2;
    0x00064a70 sw v1, 4(s1)                      |     *((s1 + 1)) = v1;
    0x00064a74 addiu v0, v0, 2                   |     v0 += 2;
    0x00064a78 sw v0, 0xc(s4)                    |     *((s4 + 3)) = v0;
    0x00064a7c move v0, zero                     |     v0 = 0;
                                                 | label_12:
    0x00064a80 lw ra, 0x514(sp)                  |     ra = *(var_514h);
    0x00064a84 lw fp, 0x510(sp)                  |     fp = *(var_510h);
    0x00064a88 lw s7, 0x50c(sp)                  |     s7 = *(var_50ch);
    0x00064a8c lw s6, 0x508(sp)                  |     s6 = *(var_508h);
    0x00064a90 lw s5, 0x504(sp)                  |     s5 = *(var_504h);
    0x00064a94 lw s4, 0x500(sp)                  |     s4 = *(var_500h);
    0x00064a98 lw s3, 0x4fc(sp)                  |     s3 = *(var_4fch);
    0x00064a9c lw s2, 0x4f8(sp)                  |     s2 = *(var_4f8h);
    0x00064aa0 lw s1, 0x4f4(sp)                  |     s1 = *(var_4f4h);
    0x00064aa4 lw s0, 0x4f0(sp)                  |     s0 = *(var_4f0h);
    0x00064aa8 addiu sp, sp, 0x518               |     
    0x00064aac jr ra                             |     return v1;
                                                 | label_26:
    0x00064ab0 lw t9, -0x7b18(gp)                |     t9 = sym.imp.memset;
    0x00064ab4 addiu s2, sp, 0x1d8               |     s2 = sp + aav.0x000001d8;
    0x00064ab8 move a0, s2                       |     a0 = s2;
    0x00064abc move a1, zero                     |     a1 = 0;
    0x00064ac0 addiu a2, zero, 0xcc              |     a2 = 0xcc;
    0x00064ac4 jalr t9                           |     t9 ();
    0x00064ac8 lw v0, 0x43c(sp)                  |     v0 = *(var_43ch);
    0x00064acc lw v1, 0x440(sp)                  |     v1 = *(var_440h);
    0x00064ad0 lw a0, 0x444(sp)                  |     a0 = *(var_444h);
    0x00064ad4 addiu a1, zero, 1                 |     a1 = 1;
    0x00064ad8 sw a1, 0x1d8(sp)                  |     *(var_1d8h) = a1;
    0x00064adc addiu a1, zero, 0x22              |     a1 = 0x22;
    0x00064ae0 lw gp, 0x30(sp)                   |     gp = *(var_30h);
    0x00064ae4 sw v0, 0x1dc(sp)                  |     *(var_1dch) = v0;
    0x00064ae8 sw v1, 0x1e0(sp)                  |     *(var_1e0h) = v1;
                                                 |     if (a0 == a1) {
    0x00064aec beq a0, a1, 0x64bc8               |         goto label_49;
                                                 |     }
    0x00064af0 addiu a0, a0, -1                  |     a0 += -1;
    0x00064af4 sltiu a1, a0, 0x1d                |     a1 = (a0 < 0x1d) ? 1 : 0;
    0x00064af8 move a1, zero                     |     a1 = 0;
                                                 |     if (a1 == 0) {
    0x00064afc beqz a1, 0x65008                  |         goto label_50;
                                                 |     }
    0x00064b00 lw a1, -0x7fc8(gp)                |     a1 = *(gp);
    0x00064b04 sll a0, a0, 2                     |     a0 <<= 2;
    0x00064b08 lw a3, -0x7fc8(gp)                |     a3 = *(gp);
                                                 |     /* obj.CSWTCH.90 */
    0x00064b0c addiu a1, a1, -0xa7c              |     a1 += -0xa7c;
    0x00064b10 addu a1, a0, a1                   |     a1 = a0 + a1;
    0x00064b14 lw a2, (a1)                       |     a2 = *(a1);
    0x00064b18 lw a1, -0x7fc8(gp)                |     a1 = *(gp);
                                                 |     /* obj.CSWTCH.81 */
    0x00064b1c addiu a3, a3, -0xc0c              |     a3 += -aav.0x00000c0c;
    0x00064b20 sw a2, 0x1e4(sp)                  |     *(var_1e4h) = a2;
                                                 |     /* obj.CSWTCH.80 */
    0x00064b24 addiu a1, a1, -0xc80              |     a1 += -aav.0x00000c80;
    0x00064b28 addu a1, a0, a1                   |     a1 = a0 + a1;
    0x00064b2c addu a0, a0, a3                   |     a0 += a3;
    0x00064b30 lw a1, (a1)                       |     a1 = *(a1);
    0x00064b34 lw a0, (a0)                       |     a0 = *(a0);
                                                 | label_11:
    0x00064b38 mul v0, v0, v1                    |     __asm ("mul v0, v0, v1");
    0x00064b3c mul v0, v0, a1                    |     __asm ("mul v0, v0, a1");
    0x00064b40 div zero, v0, a0                  |     __asm ("div zero, v0, a0");
    0x00064b44 teq a0, zero, 7                   |     __asm ("teq a0, zero, 7");
    0x00064b48 mflo v1                           |     __asm ("mflo v1");
    0x00064b4c sw v1, 0x120(s1)                  |     *(s1) = v1;
                                                 | label_4:
    0x00064b50 addiu s0, s1, 0x44                |     s0 = s1 + 0x44;
    0x00064b54 move v0, s0                       |     v0 = s0;
    0x00064b58 addiu v1, sp, 0x298               |     v1 = sp + aav.0x00000298;
                                                 |     do {
    0x00064b5c lw a3, (s2)                       |         a3 = *(s2);
    0x00064b60 lw a2, 4(s2)                      |         a2 = *(var_1dch);
    0x00064b64 lw a1, 8(s2)                      |         a1 = *(var_1e0h);
    0x00064b68 lw a0, 0xc(s2)                    |         a0 = *(var_1e4h);
    0x00064b6c addiu s2, s2, 0x10                |         s2 += 0x10;
    0x00064b70 sw a3, (v0)                       |         *(v0) = a3;
    0x00064b74 sw a2, 4(v0)                      |         *((v0 + 1)) = a2;
    0x00064b78 sw a1, 8(v0)                      |         *((v0 + 2)) = a1;
    0x00064b7c sw a0, 0xc(v0)                    |         *((v0 + 3)) = a0;
    0x00064b80 addiu v0, v0, 0x10                |         v0 += 0x10;
    0x00064b84 bne s2, v1, 0x64b5c               |         
                                                 |     } while (s2 != v1);
    0x00064b88 lw a1, (s2)                       |     a1 = *(s2);
    0x00064b8c lw a0, 4(s2)                      |     a0 = *(var_4h);
    0x00064b90 lw v1, 8(s2)                      |     v1 = *(var_8h);
    0x00064b94 sw a1, (v0)                       |     *(v0) = a1;
    0x00064b98 sw a0, 4(v0)                      |     *((v0 + 1)) = a0;
    0x00064b9c sw v1, 8(v0)                      |     *((v0 + 2)) = v1;
    0x00064ba0 b 0x648cc                         |     goto label_0;
                                                 | label_28:
    0x00064ba4 move v1, zero                     |     v1 = 0;
    0x00064ba8 addiu v0, zero, 1                 |     v0 = 1;
    0x00064bac b 0x645b0                         |     goto label_1;
                                                 | label_33:
    0x00064bb0 move a0, s0                       |     a0 = s0;
    0x00064bb4 b 0x64734                         |     goto label_2;
                                                 | label_34:
    0x00064bb8 sh v0, 0x4dc(sp)                  |     *(var_4dch) = v0;
    0x00064bbc lw v0, 0x464(sp)                  |     v0 = *(var_464h);
    0x00064bc0 sh v0, 0x4de(sp)                  |     *(var_4deh) = v0;
    0x00064bc4 b 0x646d8                         |     goto label_3;
                                                 | label_49:
    0x00064bc8 mul v0, v0, v1                    |     __asm ("mul v0, v0, v1");
    0x00064bcc sw a0, 0x1e4(sp)                  |     *(var_1e4h) = a0;
    0x00064bd0 sll v0, v0, 1                     |     v0 <<= 1;
    0x00064bd4 sw v0, 0x120(s1)                  |     *(s1) = v0;
    0x00064bd8 b 0x64b50                         |     goto label_4;
                                                 | label_40:
    0x00064bdc addiu v1, sp, 0x38                |     v1 = sp + 0x38;
    0x00064be0 addiu a0, s1, 0x104               |     a0 = s1 + aav.0x00000104;
                                                 |     do {
    0x00064be4 lw t0, (v0)                       |         t0 = *(v0);
    0x00064be8 lw a3, 4(v0)                      |         a3 = *((v0 + 1));
    0x00064bec lw a2, 8(v0)                      |         a2 = *((v0 + 2));
    0x00064bf0 lw a1, 0xc(v0)                    |         a1 = *((v0 + 3));
    0x00064bf4 addiu v0, v0, 0x10                |         v0 += 0x10;
    0x00064bf8 sw t0, (v1)                       |         *(v1) = t0;
    0x00064bfc sw a3, 4(v1)                      |         *(var_3ch) = a3;
    0x00064c00 sw a2, 8(v1)                      |         *(var_40h) = a2;
    0x00064c04 sw a1, 0xc(v1)                    |         *(var_ch) = a1;
    0x00064c08 addiu v1, v1, 0x10                |         v1 += 0x10;
    0x00064c0c bne v0, a0, 0x64be4               |         
                                                 |     } while (v0 != a0);
    0x00064c10 lw a0, 4(v0)                      |     a0 = *((v0 + 1));
    0x00064c14 lw a1, (v0)                       |     a1 = *(v0);
    0x00064c18 lw v0, 8(v0)                      |     v0 = *((v0 + 2));
    0x00064c1c sw a0, 4(v1)                      |     *(var_4h_2) = a0;
    0x00064c20 sw a1, (v1)                       |     *(v1) = a1;
    0x00064c24 sw v0, 8(v1)                      |     *(var_8h_2) = v0;
    0x00064c28 lw a0, 8(s1)                      |     a0 = *((s1 + 2));
    0x00064c2c lw v1, 0xc(s1)                    |     v1 = *((s1 + 3));
    0x00064c30 lw v0, 0x3c(s1)                   |     v0 = *((s1 + 15));
    0x00064c34 sw a0, 0x3c(sp)                   |     *(var_3ch) = a0;
    0x00064c38 sw v1, 0x40(sp)                   |     *(var_40h) = v1;
    0x00064c3c sw v0, 0x104(sp)                  |     *(var_104h) = v0;
                                                 |     if (s2 != 0) {
    0x00064c40 beqz s2, 0x64c4c                  |         
    0x00064c44 addu v0, s2, v0                   |         v0 = s2 + v0;
    0x00064c48 sw v0, 0x104(sp)                  |         *(var_104h) = v0;
                                                 |     }
    0x00064c4c lw v0, -0x7f98(gp)                |     v0 = *((gp - 8166));
    0x00064c50 lw t9, -0x7ba8(gp)                |     t9 = sym.VBMCreatePool;
    0x00064c54 move a0, s5                       |     a0 = s5;
                                                 |     /* sym.ext_channel_get_frame */
    0x00064c58 addiu v0, v0, 0x9f0               |     v0 += 0x9f0;
    0x00064c5c sw v0, 0x4d4(sp)                  |     *(var_4d4h) = v0;
    0x00064c60 lw v0, -0x7f98(gp)                |     v0 = *((gp - 8166));
    0x00064c64 addiu a1, sp, 0x38                |     a1 = sp + 0x38;
    0x00064c68 addiu a2, sp, 0x4d4               |     a2 = sp + 0x4d4;
                                                 |     /* sym.ext_channel_release_frame */
    0x00064c6c addiu v0, v0, 0xa88               |     v0 += 0xa88;
    0x00064c70 move a3, s4                       |     a3 = s4;
    0x00064c74 sw v0, 0x4d8(sp)                  |     *(var_4d8h) = v0;
    0x00064c78 jalr t9                           |     t9 ();
    0x00064c7c lw gp, 0x30(sp)                   |     gp = *(var_30h);
                                                 |     if (v0 < 0) {
    0x00064c80 bltz v0, 0x64f20                  |         goto label_51;
                                                 |     }
    0x00064c84 lw s0, 0x3c(s1)                   |     s0 = *((s1 + 15));
    0x00064c88 lw t9, -0x76d8(gp)                |     t9 = sym.imp.malloc;
    0x00064c8c addiu s0, s0, 2                   |     s0 += 2;
    0x00064c90 sll s0, s0, 2                     |     s0 <<= 2;
    0x00064c94 move a0, s0                       |     a0 = s0;
    0x00064c98 jalr t9                           |     t9 ();
    0x00064c9c lw gp, 0x30(sp)                   |     gp = *(var_30h);
    0x00064ca0 sw v0, 0x19c(s1)                  |     *(s1) = v0;
                                                 |     if (v0 == 0) {
    0x00064ca4 beqz v0, 0x6555c                  |         goto label_52;
                                                 |     }
    0x00064ca8 lw t9, -0x7b18(gp)                |     t9 = sym.imp.memset;
    0x00064cac move a0, v0                       |     a0 = v0;
    0x00064cb0 move a1, zero                     |     a1 = 0;
    0x00064cb4 move a2, s0                       |     a2 = s0;
    0x00064cb8 jalr t9                           |     t9 ();
    0x00064cbc lw gp, 0x30(sp)                   |     gp = *(var_30h);
    0x00064cc0 lw v0, 0x19c(s1)                  |     v0 = *(s1);
    0x00064cc4 lw v1, 0x3c(s1)                   |     v1 = *((s1 + 15));
    0x00064cc8 lw t9, -0x77c4(gp)                |     t9 = sym.get_cpu_id;
    0x00064ccc sw v1, (v0)                       |     *(v0) = v1;
    0x00064cd0 sw zero, 0x18c(s1)                |     *(s1) = 0;
    0x00064cd4 sw zero, 0x190(s1)                |     *(s1) = 0;
    0x00064cd8 jalr t9                           |     t9 ();
    0x00064cdc lw gp, 0x30(sp)                   |     gp = *(var_30h);
                                                 |     if (v0 >= 0) {
    0x00064ce0 bltz v0, 0x64d00                  |         
    0x00064ce4 lw t9, -0x77c4(gp)                |         t9 = sym.get_cpu_id;
    0x00064ce8 jalr t9                           |         t9 ();
    0x00064cec nop                               |         
    0x00064cf0 slti v0, v0, 3                    |         v0 = (v0 < 3) ? 1 : 0;
    0x00064cf4 lw gp, 0x30(sp)                   |         gp = *(var_30h);
    0x00064cf8 addiu a0, zero, 0x6ea0            |         a0 = 0x6ea0;
                                                 |         if (v0 != 0) {
    0x00064cfc bnez v0, 0x64d1c                  |             goto label_5;
                                                 |         }
                                                 |     }
    0x00064d00 lw t9, -0x77c4(gp)                |     t9 = sym.get_cpu_id;
    0x00064d04 jalr t9                           |     t9 ();
    0x00064d08 nop                               |     
    0x00064d0c slti v0, v0, 3                    |     v0 = (v0 < 3) ? 1 : 0;
    0x00064d10 lw gp, 0x30(sp)                   |     gp = *(var_30h);
    0x00064d14 beqz v0, 0x64d90                  |     
                                                 |     while (v0 == 0) {
    0x00064d18 addiu a0, zero, 0xfa0             |         a0 = aav.0x00000fa0;
                                                 | label_5:
    0x00064d1c lw t9, -0x76d8(gp)                |         t9 = sym.imp.malloc;
    0x00064d20 lw s0, 0x19c(s1)                  |         s0 = *(s1);
    0x00064d24 jalr t9                           |         t9 ();
    0x00064d28 lw gp, 0x30(sp)                   |         gp = *(var_30h);
    0x00064d2c sw v0, 4(s0)                      |         *((s0 + 1)) = v0;
                                                 |         if (v0 == 0) {
    0x00064d30 beqz v0, 0x654d8                  |             goto label_53;
                                                 |         }
    0x00064d34 lw t9, -0x7984(gp)                |         t9 = sym.imp.sem_init;
    0x00064d38 addiu a0, s1, 0x1a0               |         a0 = s1 + aav.0x000001a0;
    0x00064d3c move a1, zero                     |         a1 = 0;
    0x00064d40 addiu a2, zero, 1                 |         a2 = 1;
    0x00064d44 jalr t9                           |         t9 ();
    0x00064d48 lw v0, 0xc(s4)                    |         v0 = *((s4 + 3));
    0x00064d4c lw ra, 0x514(sp)                  |         ra = *(var_514h);
    0x00064d50 addiu v1, zero, 2                 |         v1 = 2;
    0x00064d54 addiu v0, v0, 2                   |         v0 += 2;
    0x00064d58 sw v1, 4(s1)                      |         *((s1 + 1)) = v1;
    0x00064d5c lw fp, 0x510(sp)                  |         fp = *(var_510h);
    0x00064d60 sw v0, 0xc(s4)                    |         *((s4 + 3)) = v0;
    0x00064d64 lw s7, 0x50c(sp)                  |         s7 = *(var_50ch);
    0x00064d68 lw s6, 0x508(sp)                  |         s6 = *(var_508h);
    0x00064d6c lw s5, 0x504(sp)                  |         s5 = *(var_504h);
    0x00064d70 lw s4, 0x500(sp)                  |         s4 = *(var_500h);
    0x00064d74 lw s3, 0x4fc(sp)                  |         s3 = *(var_4fch);
    0x00064d78 lw s2, 0x4f8(sp)                  |         s2 = *(var_4f8h);
    0x00064d7c lw s1, 0x4f4(sp)                  |         s1 = *(var_4f4h);
    0x00064d80 lw s0, 0x4f0(sp)                  |         s0 = *(var_4f0h);
    0x00064d84 move v0, zero                     |         v0 = 0;
    0x00064d88 addiu sp, sp, 0x518               |         
    0x00064d8c jr ra                             |         return v1;
    0x00064d90 lw t9, -0x77c4(gp)                |         t9 = sym.get_cpu_id;
    0x00064d94 jalr t9                           |         t9 ();
    0x00064d98 nop                               |         
    0x00064d9c slti v0, v0, 6                    |         v0 = (v0 < 6) ? 1 : 0;
    0x00064da0 lw gp, 0x30(sp)                   |         gp = *(var_30h);
    0x00064da4 beqz v0, 0x64d18                  |         
                                                 |     }
    0x00064da8 ori a0, zero, 0x8d40              |     a0 = 0x8d40;
    0x00064dac b 0x64d1c                         |     goto label_5;
                                                 | label_39:
    0x00064db0 addiu a0, s2, 1                   |     a0 = s2 + 1;
    0x00064db4 addiu a1, zero, 4                 |     a1 = 4;
    0x00064db8 jalr t9                           |     t9 ();
    0x00064dbc lw gp, 0x30(sp)                   |     gp = *(var_30h);
    0x00064dc0 sw v0, 0x1b0(s1)                  |     *(s1) = v0;
                                                 |     if (v0 != 0) {
    0x00064dc4 bnez v0, 0x648d8                  |         goto label_6;
                                                 |     }
    0x00064dc8 lw t9, -0x7adc(gp)                |     t9 = sym.imp.IMP_Log_Get_Option;
    0x00064dcc jalr t9                           |     t9 ();
    0x00064dd0 nop                               |     
    0x00064dd4 lw gp, 0x30(sp)                   |     gp = *(var_30h);
    0x00064dd8 sw s5, 0x20(sp)                   |     *(var_20h) = s5;
    0x00064ddc lw v1, -0x7fc8(gp)                |     v1 = *(gp);
    0x00064de0 lw t9, -0x79d0(gp)                |     t9 = sym.imp.imp_log_fun;
                                                 |     /* str._home_ptkang_work_platform_isvp_20160504_e_proj_sdk_lv3_src_imp_framesource_framesource_tseries.c */
    0x00064de4 addiu v1, v1, -0x1f64             |     v1 += -0x1f64;
    0x00064de8 sw v1, 0x10(sp)                   |     *(var_10h) = v1;
    0x00064dec addiu v1, zero, 0x5a3             |     v1 = 0x5a3;
    0x00064df0 sw v1, 0x14(sp)                   |     *(var_14h) = v1;
    0x00064df4 lw v1, -0x7fc8(gp)                |     v1 = *(gp);
                                                 |     /* obj.__func__.8707 */
    0x00064df8 addiu v1, v1, -0xae4              |     v1 += -0xae4;
    0x00064dfc sw v1, 0x18(sp)                   |     *(var_18h) = v1;
    0x00064e00 lw v1, -0x7fc8(gp)                |     v1 = *(gp);
                                                 |     /* str.Failed_to_fifo_alloc_chn:_d_n */
    0x00064e04 addiu v1, v1, -0x14f8             |     v1 += -0x14f8;
    0x00064e08 sw v1, 0x1c(sp)                   |     *(var_1ch) = v1;
    0x00064e0c b 0x64ed4                         |     goto label_19;
                                                 | label_27:
    0x00064e10 lw v0, (s1)                       |     v0 = *(s1);
    0x00064e14 lw t9, -0x7adc(gp)                |     t9 = sym.imp.IMP_Log_Get_Option;
                                                 |     if (v0 != 0) {
    0x00064e18 bnez v0, 0x653ac                  |         goto label_54;
                                                 |     }
    0x00064e1c lw t9, -0x7b18(gp)                |     t9 = sym.imp.memset;
    0x00064e20 addiu a0, sp, 0x2a4               |     a0 = sp + aav.0x000002a4;
    0x00064e24 move a1, zero                     |     a1 = 0;
    0x00064e28 addiu a2, zero, 0xcc              |     a2 = 0xcc;
    0x00064e2c jalr t9                           |     t9 ();
    0x00064e30 lw gp, 0x30(sp)                   |     gp = *(var_30h);
    0x00064e34 lw a0, 0x128(s1)                  |     a0 = *(s1);
    0x00064e38 addiu v0, zero, 1                 |     v0 = 1;
    0x00064e3c lw t9, -0x74a4(gp)                |     t9 = sym.imp.ioctl;
    0x00064e40 lui a1, 0xc0cc                    |     a1 = 0xc0cc5604;
    0x00064e44 addiu a1, a1, 0x5604              |     
    0x00064e48 addiu a2, sp, 0x2a4               |     a2 = sp + aav.0x000002a4;
    0x00064e4c sw v0, 0x2a4(sp)                  |     *(var_2a4h) = v0;
    0x00064e50 jalr t9                           |     t9 ();
    0x00064e54 lw gp, 0x30(sp)                   |     gp = *(var_30h);
                                                 |     if (v0 != 0) {
    0x00064e58 bnez v0, 0x655c0                  |         goto label_55;
                                                 |     }
    0x00064e5c lw t2, 0x2b0(sp)                  |     t2 = *(var_2b0h);
    0x00064e60 lw v0, 0x2bc(sp)                  |     v0 = *(var_2bch);
    0x00064e64 lw s3, 0x2a8(sp)                  |     s3 = *(var_2a8h);
    0x00064e68 lw s2, 0x2ac(sp)                  |     s2 = *(var_2ach);
    0x00064e6c sw v0, 0x120(s1)                  |     *(s1) = v0;
    0x00064e70 move a0, t2                       |     a0 = t2;
    0x00064e74 b 0x64738                         |     goto label_7;
                                                 | label_36:
    0x00064e78 sw a0, 0x37c(sp)                  |     *(var_37ch) = a0;
    0x00064e7c b 0x647cc                         |     goto label_8;
                                                 | label_41:
    0x00064e80 sw v0, 8(s1)                      |     *((s1 + 2)) = v0;
    0x00064e84 lw v0, 0x110(sp)                  |     v0 = *(var_110h);
    0x00064e88 sw v0, 0xc(s1)                    |     *((s1 + 3)) = v0;
    0x00064e8c b 0x64960                         |     goto label_9;
                                                 | label_42:
    0x00064e90 lw t9, -0x7adc(gp)                |     t9 = sym.imp.IMP_Log_Get_Option;
    0x00064e94 jalr t9                           |     t9 ();
    0x00064e98 nop                               |     
    0x00064e9c lw gp, 0x30(sp)                   |     gp = *(var_30h);
    0x00064ea0 lw a0, -0x7fc8(gp)                |     a0 = *(gp);
    0x00064ea4 lw v1, -0x7fc8(gp)                |     v1 = *(gp);
    0x00064ea8 lw t9, -0x79d0(gp)                |     t9 = sym.imp.imp_log_fun;
                                                 |     /* str._home_ptkang_work_platform_isvp_20160504_e_proj_sdk_lv3_src_imp_framesource_framesource_tseries.c */
    0x00064eac addiu a0, a0, -0x1f64             |     a0 += -0x1f64;
    0x00064eb0 sw a0, 0x10(sp)                   |     *(var_10h) = a0;
                                                 |     /* obj.__func__.8707 */
    0x00064eb4 addiu v1, v1, -0xae4              |     v1 += -0xae4;
    0x00064eb8 addiu a0, zero, 0x5be             |     a0 = 0x5be;
                                                 |     do {
    0x00064ebc sw a0, 0x14(sp)                   |         *(var_14h) = a0;
    0x00064ec0 lw a0, -0x7fc8(gp)                |         a0 = *(gp);
    0x00064ec4 sw v1, 0x18(sp)                   |         *(var_18h) = v1;
    0x00064ec8 sw v1, 0x20(sp)                   |         *(var_20h) = v1;
                                                 |         /* str._s__:_Failed_to_VBMCreatePool__n */
    0x00064ecc addiu a0, a0, -0x14d8             |         a0 += -0x14d8;
    0x00064ed0 sw a0, 0x1c(sp)                   |         *(var_1ch) = a0;
                                                 | label_19:
    0x00064ed4 lw a3, -0x7fc8(gp)                |         a3 = *(gp);
    0x00064ed8 move a1, v0                       |         a1 = v0;
    0x00064edc addiu a0, zero, 6                 |         a0 = 6;
    0x00064ee0 addiu a2, zero, 2                 |         a2 = 2;
                                                 |         /* str.Framesource */
    0x00064ee4 addiu a3, a3, -0x1f70             |         a3 += -aav.0x00001f70;
    0x00064ee8 jalr t9                           |         t9 ();
    0x00064eec lw ra, 0x514(sp)                  |         ra = *(var_514h);
    0x00064ef0 lw fp, 0x510(sp)                  |         fp = *(var_510h);
    0x00064ef4 lw s7, 0x50c(sp)                  |         s7 = *(var_50ch);
    0x00064ef8 lw s6, 0x508(sp)                  |         s6 = *(var_508h);
    0x00064efc lw s5, 0x504(sp)                  |         s5 = *(var_504h);
    0x00064f00 lw s4, 0x500(sp)                  |         s4 = *(var_500h);
    0x00064f04 lw s3, 0x4fc(sp)                  |         s3 = *(var_4fch);
    0x00064f08 lw s2, 0x4f8(sp)                  |         s2 = *(var_4f8h);
    0x00064f0c lw s1, 0x4f4(sp)                  |         s1 = *(var_4f4h);
    0x00064f10 lw s0, 0x4f0(sp)                  |         s0 = *(var_4f0h);
    0x00064f14 addiu v0, zero, -1                |         v0 = -1;
    0x00064f18 addiu sp, sp, 0x518               |         
    0x00064f1c jr ra                             |         return v1;
                                                 | label_51:
    0x00064f20 lw t9, -0x7adc(gp)                |         t9 = sym.imp.IMP_Log_Get_Option;
    0x00064f24 jalr t9                           |         t9 ();
    0x00064f28 nop                               |         
    0x00064f2c lw gp, 0x30(sp)                   |         gp = *(var_30h);
    0x00064f30 lw a0, -0x7fc8(gp)                |         a0 = *(gp);
    0x00064f34 lw v1, -0x7fc8(gp)                |         v1 = *(gp);
    0x00064f38 lw t9, -0x79d0(gp)                |         t9 = sym.imp.imp_log_fun;
                                                 |         /* str._home_ptkang_work_platform_isvp_20160504_e_proj_sdk_lv3_src_imp_framesource_framesource_tseries.c */
    0x00064f3c addiu a0, a0, -0x1f64             |         a0 += -0x1f64;
    0x00064f40 sw a0, 0x10(sp)                   |         *(var_10h) = a0;
                                                 |         /* obj.__func__.8707 */
    0x00064f44 addiu v1, v1, -0xae4              |         v1 += -0xae4;
    0x00064f48 addiu a0, zero, 0x613             |         a0 = 0x613;
    0x00064f4c b 0x64ebc                         |         
                                                 |     } while (1);
                                                 | label_44:
    0x00064f50 lw v0, 0x3c(s1)                   |     v0 = *((s1 + 15));
    0x00064f54 lw a0, 0x128(s1)                  |     a0 = *(s1);
    0x00064f58 lui a1, 0x8004                    |     a1 = 0x800456c5;
    0x00064f5c addiu a1, a1, 0x56c5              |     
    0x00064f60 addiu a2, sp, 0x4e4               |     a2 = sp + 0x4e4;
    0x00064f64 sw v0, 0x4e4(sp)                  |     *(var_4e4h) = v0;
    0x00064f68 jalr t9                           |     t9 ();
    0x00064f6c lw gp, 0x30(sp)                   |     gp = *(var_30h);
                                                 |     if (v0 != s0) {
    0x00064f70 bne v0, s0, 0x649e8               |         goto label_10;
                                                 |     }
    0x00064f74 lw t9, -0x7adc(gp)                |     t9 = sym.imp.IMP_Log_Get_Option;
    0x00064f78 jalr t9                           |     t9 ();
    0x00064f7c nop                               |     
    0x00064f80 lw gp, 0x30(sp)                   |     gp = *(var_30h);
    0x00064f84 sw s5, 0x20(sp)                   |     *(var_20h) = s5;
    0x00064f88 lw v1, -0x7fc8(gp)                |     v1 = *(gp);
    0x00064f8c lw t9, -0x79d0(gp)                |     t9 = sym.imp.imp_log_fun;
                                                 |     /* str._home_ptkang_work_platform_isvp_20160504_e_proj_sdk_lv3_src_imp_framesource_framesource_tseries.c */
    0x00064f90 addiu v1, v1, -0x1f64             |     v1 += -0x1f64;
    0x00064f94 sw v1, 0x10(sp)                   |     *(var_10h) = v1;
    0x00064f98 addiu v1, zero, 0x5cf             |     v1 = 0x5cf;
    0x00064f9c sw v1, 0x14(sp)                   |     *(var_14h) = v1;
    0x00064fa0 lw v1, -0x7fc8(gp)                |     v1 = *(gp);
                                                 |     /* obj.__func__.8707 */
    0x00064fa4 addiu v1, v1, -0xae4              |     v1 += -0xae4;
    0x00064fa8 sw v1, 0x18(sp)                   |     *(var_18h) = v1;
    0x00064fac lw v1, -0x7fc8(gp)                |     v1 = *(gp);
                                                 |     /* str._chn_d__does_not_support_set_banks_n */
    0x00064fb0 addiu v1, v1, -0x1490             |     v1 += -0x1490;
    0x00064fb4 sw v1, 0x1c(sp)                   |     *(var_1ch) = v1;
                                                 | label_15:
    0x00064fb8 lw a3, -0x7fc8(gp)                |     a3 = *(gp);
    0x00064fbc addiu a0, zero, 6                 |     a0 = 6;
    0x00064fc0 move a1, v0                       |     a1 = v0;
    0x00064fc4 addiu a2, zero, 2                 |     a2 = 2;
                                                 |     /* str.Framesource */
    0x00064fc8 addiu a3, a3, -0x1f70             |     a3 += -aav.0x00001f70;
    0x00064fcc jalr t9                           |     t9 ();
    0x00064fd0 lw gp, 0x30(sp)                   |     gp = *(var_30h);
                                                 | label_16:
    0x00064fd4 lw t9, -0x74a4(gp)                |     t9 = sym.imp.ioctl;
    0x00064fd8 lw a0, 0x128(s1)                  |     a0 = *(s1);
    0x00064fdc lui a1, 0xc014                    |     a1 = 0xc0145608;
    0x00064fe0 addiu a1, a1, 0x5608              |     
    0x00064fe4 addiu a2, sp, 0x4b8               |     a2 = sp + aav.0x000004b8;
    0x00064fe8 sw zero, 0x4b8(sp)                |     *(var_4b8h) = 0;
    0x00064fec jalr t9                           |     t9 ();
    0x00064ff0 lw gp, 0x30(sp)                   |     gp = *(var_30h);
                                                 | label_20:
    0x00064ff4 lw t9, -0x7558(gp)                |     t9 = sym.VBMDestroyPool;
    0x00064ff8 move a0, s5                       |     a0 = s5;
    0x00064ffc jalr t9                           |     t9 ();
    0x00065000 lw gp, 0x30(sp)                   |     gp = *(var_30h);
    0x00065004 b 0x651c8                         |     goto label_56;
                                                 | label_50:
    0x00065008 addiu a0, zero, -1                |     a0 = -1;
    0x0006500c sw a0, 0x1e4(sp)                  |     *(var_1e4h) = a0;
    0x00065010 addiu a0, zero, 1                 |     a0 = 1;
    0x00065014 b 0x64b38                         |     goto label_11;
                                                 | label_23:
    0x00065018 jalr t9                           |     t9 ();
    0x0006501c nop                               |     
    0x00065020 lw gp, 0x30(sp)                   |     gp = *(var_30h);
    0x00065024 addiu v1, zero, 0x586             |     v1 = 0x586;
    0x00065028 sw v1, 0x14(sp)                   |     *(var_14h) = v1;
    0x0006502c lw a1, -0x7fc8(gp)                |     a1 = *(gp);
    0x00065030 lw a0, -0x7fc8(gp)                |     a0 = *(gp);
    0x00065034 lw a3, -0x7fc8(gp)                |     a3 = *(gp);
                                                 |     /* str._home_ptkang_work_platform_isvp_20160504_e_proj_sdk_lv3_src_imp_framesource_framesource_tseries.c */
    0x00065038 addiu a1, a1, -0x1f64             |     a1 += -0x1f64;
    0x0006503c sw a1, 0x10(sp)                   |     *(var_10h) = a1;
    0x00065040 lw a1, -0x7fc8(gp)                |     a1 = *(gp);
    0x00065044 lw t9, -0x79d0(gp)                |     t9 = sym.imp.imp_log_fun;
                                                 |     /* obj.__func__.8707 */
    0x00065048 addiu a0, a0, -0xae4              |     a0 += -0xae4;
                                                 |     /* str._s__d_:chn_d__channel__state_is_run_n */
    0x0006504c addiu a1, a1, -0x170c             |     a1 += -0x170c;
    0x00065050 sw a0, 0x18(sp)                   |     *(var_18h) = a0;
    0x00065054 sw a1, 0x1c(sp)                   |     *(var_1ch) = a1;
    0x00065058 sw a0, 0x20(sp)                   |     *(var_20h) = a0;
    0x0006505c move a1, v0                       |     a1 = v0;
    0x00065060 sw v1, 0x24(sp)                   |     *(var_24h) = v1;
    0x00065064 sw s5, 0x28(sp)                   |     *(var_28h) = s5;
    0x00065068 addiu a0, zero, 5                 |     a0 = 5;
    0x0006506c addiu a2, zero, 2                 |     a2 = 2;
                                                 |     /* str.Framesource */
    0x00065070 addiu a3, a3, -0x1f70             |     a3 += -aav.0x00001f70;
    0x00065074 jalr t9                           |     t9 ();
    0x00065078 move v0, zero                     |     v0 = 0;
    0x0006507c b 0x64a80                         |     goto label_12;
                                                 | label_25:
    0x00065080 lw t9, -0x7adc(gp)                |     t9 = sym.imp.IMP_Log_Get_Option;
    0x00065084 jalr t9                           |     t9 ();
    0x00065088 nop                               |     
    0x0006508c lw gp, 0x30(sp)                   |     gp = *(var_30h);
    0x00065090 lw t9, -0x7dc4(gp)                |     t9 = sym.imp.__errno_location;
    0x00065094 move s0, v0                       |     s0 = v0;
    0x00065098 jalr t9                           |     t9 ();
    0x0006509c lw gp, 0x30(sp)                   |     gp = *(var_30h);
    0x000650a0 lw t9, -0x7534(gp)                |     t9 = sym.imp.strerror;
    0x000650a4 lw a0, (v0)                       |     a0 = *(v0);
    0x000650a8 jalr t9                           |     t9 ();
    0x000650ac lw gp, 0x30(sp)                   |     gp = *(var_30h);
    0x000650b0 sw s5, 0x20(sp)                   |     *(var_20h) = s5;
    0x000650b4 sw v0, 0x24(sp)                   |     *(var_24h) = v0;
    0x000650b8 lw v1, -0x7fc8(gp)                |     v1 = *(gp);
    0x000650bc lw t9, -0x79d0(gp)                |     t9 = sym.imp.imp_log_fun;
    0x000650c0 addiu a0, zero, 6                 |     a0 = 6;
                                                 |     /* str._home_ptkang_work_platform_isvp_20160504_e_proj_sdk_lv3_src_imp_framesource_framesource_tseries.c */
    0x000650c4 addiu v1, v1, -0x1f64             |     v1 += -0x1f64;
    0x000650c8 sw v1, 0x10(sp)                   |     *(var_10h) = v1;
    0x000650cc addiu v1, zero, 0x592             |     v1 = 0x592;
    0x000650d0 sw v1, 0x14(sp)                   |     *(var_14h) = v1;
    0x000650d4 lw v1, -0x7fc8(gp)                |     v1 = *(gp);
    0x000650d8 move a1, s0                       |     a1 = s0;
                                                 |     /* obj.__func__.8707 */
    0x000650dc addiu v1, v1, -0xae4              |     v1 += -0xae4;
    0x000650e0 sw v1, 0x18(sp)                   |     *(var_18h) = v1;
    0x000650e4 lw v1, -0x7fc8(gp)                |     v1 = *(gp);
                                                 |     /* str.Failed_to_open_channel_num_d:_s_n */
    0x000650e8 addiu v1, v1, -0x13cc             |     v1 += -0x13cc;
    0x000650ec sw v1, 0x1c(sp)                   |     *(var_1ch) = v1;
                                                 | label_14:
    0x000650f0 lw a3, -0x7fc8(gp)                |     a3 = *(gp);
    0x000650f4 addiu a2, zero, 2                 |     a2 = 2;
                                                 |     /* str.Framesource */
    0x000650f8 addiu a3, a3, -0x1f70             |     a3 += -aav.0x00001f70;
    0x000650fc jalr t9                           |     t9 ();
    0x00065100 addiu v0, zero, -1                |     v0 = -1;
    0x00065104 b 0x64a80                         |     goto label_12;
                                                 | label_30:
    0x00065108 lw t9, -0x7adc(gp)                |     t9 = sym.imp.IMP_Log_Get_Option;
                                                 | label_31:
    0x0006510c lw s0, -0x7fc8(gp)                |     s0 = *(gp);
    0x00065110 jalr t9                           |     t9 ();
    0x00065114 nop                               |     
    0x00065118 lw gp, 0x30(sp)                   |     gp = *(var_30h);
    0x0006511c addiu a0, zero, 0x4b1             |     a0 = 0x4b1;
    0x00065120 sw a0, 0x14(sp)                   |     *(var_14h) = a0;
    0x00065124 lw s2, -0x7fc8(gp)                |     s2 = *(gp);
    0x00065128 lw v1, -0x7fc8(gp)                |     v1 = *(gp);
    0x0006512c lw a0, -0x7fc8(gp)                |     a0 = *(gp);
                                                 |     /* str._home_ptkang_work_platform_isvp_20160504_e_proj_sdk_lv3_src_imp_framesource_framesource_tseries.c */
    0x00065130 addiu s2, s2, -0x1f64             |     s2 += -0x1f64;
                                                 |     /* obj.__func__.8662 */
    0x00065134 addiu v1, v1, -0xa94              |     v1 += -0xa94;
    0x00065138 sw s2, 0x10(sp)                   |     *(var_10h) = s2;
    0x0006513c sw v1, 0x18(sp)                   |     *(var_18h) = v1;
                                                 |     /* str._s__:_chn_d__the_parameters_of_IMPFSChnCrop_is_invalid__n */
    0x00065140 addiu a0, a0, -0x166c             |     a0 += -0x166c;
                                                 | label_18:
    0x00065144 sw a0, 0x1c(sp)                   |     *(var_1ch) = a0;
    0x00065148 sw v1, 0x20(sp)                   |     *(var_20h) = v1;
    0x0006514c lw v1, (s1)                       |     v1 = *(s1);
    0x00065150 lw t9, -0x79d0(gp)                |     t9 = sym.imp.imp_log_fun;
    0x00065154 addiu a0, zero, 6                 |     a0 = 6;
    0x00065158 sw v1, 0x24(sp)                   |     *(var_24h) = v1;
    0x0006515c move a1, v0                       |     a1 = v0;
    0x00065160 addiu a2, zero, 2                 |     a2 = 2;
                                                 |     /* str.Framesource */
    0x00065164 addiu a3, s0, -0x1f70             |     a3 = s0 + -aav.0x00001f70;
    0x00065168 jalr t9                           |     t9 ();
    0x0006516c lw gp, 0x30(sp)                   |     gp = *(var_30h);
                                                 |     do {
                                                 | label_17:
    0x00065170 lw t9, -0x7adc(gp)                |         t9 = sym.imp.IMP_Log_Get_Option;
    0x00065174 jalr t9                           |         t9 ();
    0x00065178 nop                               |         
    0x0006517c lw gp, 0x30(sp)                   |         gp = *(var_30h);
    0x00065180 addiu a0, zero, 0x59b             |         a0 = 0x59b;
    0x00065184 sw a0, 0x14(sp)                   |         *(var_14h) = a0;
    0x00065188 lw v1, -0x7fc8(gp)                |         v1 = *(gp);
    0x0006518c lw a0, -0x7fc8(gp)                |         a0 = *(gp);
    0x00065190 lw t9, -0x79d0(gp)                |         t9 = sym.imp.imp_log_fun;
                                                 |         /* obj.__func__.8707 */
    0x00065194 addiu v1, v1, -0xae4              |         v1 += -0xae4;
                                                 |         /* str._s__:_chn__d_reset_channel_attr_error_n */
    0x00065198 addiu a0, a0, -0x1520             |         a0 += -0x1520;
    0x0006519c sw a0, 0x1c(sp)                   |         *(var_1ch) = a0;
    0x000651a0 sw s2, 0x10(sp)                   |         *(var_10h) = s2;
    0x000651a4 sw v1, 0x18(sp)                   |         *(var_18h) = v1;
    0x000651a8 sw v1, 0x20(sp)                   |         *(var_20h) = v1;
    0x000651ac sw s5, 0x24(sp)                   |         *(var_24h) = s5;
    0x000651b0 addiu a0, zero, 6                 |         a0 = 6;
    0x000651b4 move a1, v0                       |         a1 = v0;
    0x000651b8 addiu a2, zero, 2                 |         a2 = 2;
                                                 |         /* str.Framesource */
    0x000651bc addiu a3, s0, -0x1f70             |         a3 = s0 + -aav.0x00001f70;
    0x000651c0 jalr t9                           |         t9 ();
    0x000651c4 lw gp, 0x30(sp)                   |         gp = *(var_30h);
                                                 | label_56:
    0x000651c8 lw t9, -0x7f14(gp)                |         t9 = sym.imp.close;
    0x000651cc lw a0, 0x128(s1)                  |         a0 = *(s1);
    0x000651d0 jalr t9                           |         t9 ();
    0x000651d4 sw zero, 0x128(s1)                |         *(s1) = 0;
    0x000651d8 addiu v0, zero, -1                |         v0 = -1;
    0x000651dc b 0x64a80                         |         goto label_12;
                                                 | label_37:
    0x000651e0 lw t9, -0x7adc(gp)                |         t9 = sym.imp.IMP_Log_Get_Option;
    0x000651e4 lw s0, -0x7fc8(gp)                |         s0 = *(gp);
    0x000651e8 jalr t9                           |         t9 ();
    0x000651ec nop                               |         
    0x000651f0 lw gp, 0x30(sp)                   |         gp = *(var_30h);
    0x000651f4 addiu v1, zero, 0x4f7             |         v1 = 0x4f7;
    0x000651f8 sw v1, 0x14(sp)                   |         *(var_14h) = v1;
    0x000651fc lw v1, -0x7fc8(gp)                |         v1 = *(gp);
    0x00065200 lw s2, -0x7fc8(gp)                |         s2 = *(gp);
                                                 |         /* obj.__func__.8662 */
    0x00065204 addiu v1, v1, -0xa94              |         v1 += -0xa94;
    0x00065208 sw v1, 0x18(sp)                   |         *(var_18h) = v1;
    0x0006520c lw v1, -0x7fc8(gp)                |         v1 = *(gp);
                                                 |         /* str._home_ptkang_work_platform_isvp_20160504_e_proj_sdk_lv3_src_imp_framesource_framesource_tseries.c */
    0x00065210 addiu s2, s2, -0x1f64             |         s2 += -0x1f64;
    0x00065214 sw s2, 0x10(sp)                   |         *(var_10h) = s2;
                                                 |         /* str._chn_d__VIDIOC_TRY_FMT_error_n */
    0x00065218 addiu v1, v1, -0x1540             |         v1 += -0x1540;
                                                 | label_13:
    0x0006521c sw v1, 0x1c(sp)                   |         *(var_1ch) = v1;
    0x00065220 lw v1, (s1)                       |         v1 = *(s1);
    0x00065224 lw t9, -0x79d0(gp)                |         t9 = sym.imp.imp_log_fun;
    0x00065228 addiu a0, zero, 6                 |         a0 = 6;
    0x0006522c sw v1, 0x20(sp)                   |         *(var_20h) = v1;
    0x00065230 move a1, v0                       |         a1 = v0;
    0x00065234 addiu a2, zero, 2                 |         a2 = 2;
                                                 |         /* str.Framesource */
    0x00065238 addiu a3, s0, -0x1f70             |         a3 = s0 + -aav.0x00001f70;
    0x0006523c jalr t9                           |         t9 ();
    0x00065240 lw gp, 0x30(sp)                   |         gp = *(var_30h);
    0x00065244 b 0x65170                         |         
                                                 |     } while (1);
                                                 | label_38:
    0x00065248 lw s0, -0x7fc8(gp)                |     s0 = *(gp);
    0x0006524c jalr t9                           |     t9 ();
    0x00065250 nop                               |     
    0x00065254 lw gp, 0x30(sp)                   |     gp = *(var_30h);
    0x00065258 addiu v1, zero, 0x4f3             |     v1 = 0x4f3;
    0x0006525c sw v1, 0x14(sp)                   |     *(var_14h) = v1;
    0x00065260 lw v1, -0x7fc8(gp)                |     v1 = *(gp);
    0x00065264 lw s2, -0x7fc8(gp)                |     s2 = *(gp);
                                                 |     /* obj.__func__.8662 */
    0x00065268 addiu v1, v1, -0xa94              |     v1 += -0xa94;
    0x0006526c sw v1, 0x18(sp)                   |     *(var_18h) = v1;
    0x00065270 lw v1, -0x7fc8(gp)                |     v1 = *(gp);
                                                 |     /* str._home_ptkang_work_platform_isvp_20160504_e_proj_sdk_lv3_src_imp_framesource_framesource_tseries.c */
    0x00065274 addiu s2, s2, -0x1f64             |     s2 += -0x1f64;
    0x00065278 sw s2, 0x10(sp)                   |     *(var_10h) = s2;
                                                 |     /* str._chn_d_:_VIDIOC_S_FMT_error_n */
    0x0006527c addiu v1, v1, -0x1560             |     v1 += -0x1560;
    0x00065280 b 0x6521c                         |     goto label_13;
                                                 | label_21:
    0x00065284 lw t9, -0x7adc(gp)                |     t9 = sym.imp.IMP_Log_Get_Option;
    0x00065288 jalr t9                           |     t9 ();
    0x0006528c nop                               |     
    0x00065290 lw gp, 0x30(sp)                   |     gp = *(var_30h);
    0x00065294 sw s5, 0x24(sp)                   |     *(var_24h) = s5;
    0x00065298 move a1, v0                       |     a1 = v0;
    0x0006529c lw a0, -0x7fc8(gp)                |     a0 = *(gp);
    0x000652a0 lw v1, -0x7fc8(gp)                |     v1 = *(gp);
    0x000652a4 lw t9, -0x79d0(gp)                |     t9 = sym.imp.imp_log_fun;
                                                 |     /* str._home_ptkang_work_platform_isvp_20160504_e_proj_sdk_lv3_src_imp_framesource_framesource_tseries.c */
    0x000652a8 addiu a0, a0, -0x1f64             |     a0 += -0x1f64;
    0x000652ac sw a0, 0x10(sp)                   |     *(var_10h) = a0;
    0x000652b0 addiu a0, zero, 0x579             |     a0 = 0x579;
    0x000652b4 sw a0, 0x14(sp)                   |     *(var_14h) = a0;
    0x000652b8 lw a0, -0x7fc8(gp)                |     a0 = *(gp);
                                                 |     /* obj.__func__.8707 */
    0x000652bc addiu v1, v1, -0xae4              |     v1 += -0xae4;
    0x000652c0 sw v1, 0x18(sp)                   |     *(var_18h) = v1;
                                                 |     /* str._s__:_Invalid_chnNum__d_n */
    0x000652c4 addiu a0, a0, -0x1c68             |     a0 += -0x1c68;
    0x000652c8 sw a0, 0x1c(sp)                   |     *(var_1ch) = a0;
    0x000652cc sw v1, 0x20(sp)                   |     *(var_20h) = v1;
    0x000652d0 addiu a0, zero, 6                 |     a0 = 6;
    0x000652d4 b 0x650f0                         |     goto label_14;
                                                 | label_45:
    0x000652d8 jalr t9                           |     t9 ();
    0x000652dc nop                               |     
    0x000652e0 lw gp, 0x30(sp)                   |     gp = *(var_30h);
    0x000652e4 sw s5, 0x20(sp)                   |     *(var_20h) = s5;
    0x000652e8 lw v1, -0x7fc8(gp)                |     v1 = *(gp);
    0x000652ec lw t9, -0x79d0(gp)                |     t9 = sym.imp.imp_log_fun;
                                                 |     /* str._home_ptkang_work_platform_isvp_20160504_e_proj_sdk_lv3_src_imp_framesource_framesource_tseries.c */
    0x000652f0 addiu v1, v1, -0x1f64             |     v1 += -0x1f64;
    0x000652f4 sw v1, 0x10(sp)                   |     *(var_10h) = v1;
    0x000652f8 addiu v1, zero, 0x5d5             |     v1 = 0x5d5;
    0x000652fc sw v1, 0x14(sp)                   |     *(var_14h) = v1;
    0x00065300 lw v1, -0x7fc8(gp)                |     v1 = *(gp);
                                                 |     /* obj.__func__.8707 */
    0x00065304 addiu v1, v1, -0xae4              |     v1 += -0xae4;
    0x00065308 sw v1, 0x18(sp)                   |     *(var_18h) = v1;
    0x0006530c lw v1, -0x7fc8(gp)                |     v1 = *(gp);
                                                 |     /* str.Insufficient_buffer_memory_on_chn_d_n */
    0x00065310 addiu v1, v1, -0x146c             |     v1 += -0x146c;
    0x00065314 sw v1, 0x1c(sp)                   |     *(var_1ch) = v1;
    0x00065318 b 0x64fb8                         |     goto label_15;
                                                 | label_47:
    0x0006531c lw t9, -0x7adc(gp)                |     t9 = sym.imp.IMP_Log_Get_Option;
    0x00065320 jalr t9                           |     t9 ();
    0x00065324 nop                               |     
    0x00065328 lw gp, 0x30(sp)                   |     gp = *(var_30h);
    0x0006532c addiu a0, zero, 6                 |     a0 = 6;
    0x00065330 move a1, v0                       |     a1 = v0;
    0x00065334 lw v1, -0x7fc8(gp)                |     v1 = *(gp);
    0x00065338 lw a3, -0x7fc8(gp)                |     a3 = *(gp);
    0x0006533c lw t9, -0x79d0(gp)                |     t9 = sym.imp.imp_log_fun;
                                                 |     /* str._home_ptkang_work_platform_isvp_20160504_e_proj_sdk_lv3_src_imp_framesource_framesource_tseries.c */
    0x00065340 addiu v1, v1, -0x1f64             |     v1 += -0x1f64;
    0x00065344 sw v1, 0x10(sp)                   |     *(var_10h) = v1;
    0x00065348 addiu v1, zero, 0x5e6             |     v1 = 0x5e6;
    0x0006534c sw v1, 0x14(sp)                   |     *(var_14h) = v1;
    0x00065350 lw v1, -0x7fc8(gp)                |     v1 = *(gp);
    0x00065354 addiu a2, zero, 2                 |     a2 = 2;
                                                 |     /* str.Framesource */
    0x00065358 addiu a3, a3, -0x1f70             |     a3 += -aav.0x00001f70;
                                                 |     /* obj.__func__.8707 */
    0x0006535c addiu v1, v1, -0xae4              |     v1 += -0xae4;
    0x00065360 sw v1, 0x18(sp)                   |     *(var_18h) = v1;
    0x00065364 lw v1, -0x7fc8(gp)                |     v1 = *(gp);
                                                 |     /* str.thread_create_error_n */
    0x00065368 addiu v1, v1, -0x1424             |     v1 += -0x1424;
    0x0006536c sw v1, 0x1c(sp)                   |     *(var_1ch) = v1;
    0x00065370 jalr t9                           |     t9 ();
    0x00065374 lw gp, 0x30(sp)                   |     gp = *(var_30h);
    0x00065378 b 0x64fd4                         |     goto label_16;
                                                 | label_35:
    0x0006537c lw v0, -0x7c68(gp)                |     v0 = *((gp - 7962));
    0x00065380 lw a1, -0x7fc8(gp)                |     a1 = *(gp);
    0x00065384 lw t9, -0x78d4(gp)                |     t9 = sym.imp.fprintf;
    0x00065388 lw a0, (v0)                       |     a0 = *(v0);
    0x0006538c lw a2, (s1)                       |     a2 = *(s1);
    0x00065390 lw s0, -0x7fc8(gp)                |     s0 = *(gp);
                                                 |     /* str._chn_d_:_VIDIOC_SET_SCALER_error_n */
    0x00065394 addiu a1, a1, -0x15a8             |     a1 += -0x15a8;
    0x00065398 jalr t9                           |     t9 ();
    0x0006539c lw gp, 0x30(sp)                   |     gp = *(var_30h);
    0x000653a0 lw s2, -0x7fc8(gp)                |     s2 = *(gp);
                                                 |     /* str._home_ptkang_work_platform_isvp_20160504_e_proj_sdk_lv3_src_imp_framesource_framesource_tseries.c */
    0x000653a4 addiu s2, s2, -0x1f64             |     s2 += -0x1f64;
    0x000653a8 b 0x65170                         |     goto label_17;
                                                 | label_54:
    0x000653ac lw s0, -0x7fc8(gp)                |     s0 = *(gp);
    0x000653b0 jalr t9                           |     t9 ();
    0x000653b4 nop                               |     
    0x000653b8 lw gp, 0x30(sp)                   |     gp = *(var_30h);
    0x000653bc addiu v1, zero, 0x484             |     v1 = aav.0x00000484;
    0x000653c0 sw v1, 0x14(sp)                   |     *(var_14h) = v1;
    0x000653c4 lw v1, -0x7fc8(gp)                |     v1 = *(gp);
    0x000653c8 lw s2, -0x7fc8(gp)                |     s2 = *(gp);
    0x000653cc lw t9, -0x79d0(gp)                |     t9 = sym.imp.imp_log_fun;
                                                 |     /* obj.__func__.8662 */
    0x000653d0 addiu v1, v1, -0xa94              |     v1 += -0xa94;
    0x000653d4 sw v1, 0x18(sp)                   |     *(var_18h) = v1;
    0x000653d8 lw v1, -0x7fc8(gp)                |     v1 = *(gp);
                                                 |     /* str._home_ptkang_work_platform_isvp_20160504_e_proj_sdk_lv3_src_imp_framesource_framesource_tseries.c */
    0x000653dc addiu s2, s2, -0x1f64             |     s2 += -0x1f64;
    0x000653e0 sw s2, 0x10(sp)                   |     *(var_10h) = s2;
                                                 |     /* str.RAW_is_only_channel__0___n */
    0x000653e4 addiu v1, v1, -0x16d4             |     v1 += -aav.0x000016d4;
    0x000653e8 sw v1, 0x1c(sp)                   |     *(var_1ch) = v1;
    0x000653ec addiu a0, zero, 6                 |     a0 = 6;
    0x000653f0 move a1, v0                       |     a1 = v0;
    0x000653f4 addiu a2, zero, 2                 |     a2 = 2;
                                                 |     /* str.Framesource */
    0x000653f8 addiu a3, s0, -0x1f70             |     a3 = s0 + -aav.0x00001f70;
    0x000653fc jalr t9                           |     t9 ();
    0x00065400 lw gp, 0x30(sp)                   |     gp = *(var_30h);
    0x00065404 b 0x65170                         |     goto label_17;
                                                 | label_32:
    0x00065408 lw t9, -0x7adc(gp)                |     t9 = sym.imp.IMP_Log_Get_Option;
    0x0006540c lw s0, -0x7fc8(gp)                |     s0 = *(gp);
    0x00065410 jalr t9                           |     t9 ();
    0x00065414 nop                               |     
    0x00065418 lw gp, 0x30(sp)                   |     gp = *(var_30h);
    0x0006541c addiu a0, zero, 0x4bd             |     a0 = 0x4bd;
    0x00065420 sw a0, 0x14(sp)                   |     *(var_14h) = a0;
    0x00065424 lw s2, -0x7fc8(gp)                |     s2 = *(gp);
    0x00065428 lw v1, -0x7fc8(gp)                |     v1 = *(gp);
    0x0006542c lw a0, -0x7fc8(gp)                |     a0 = *(gp);
                                                 |     /* str._home_ptkang_work_platform_isvp_20160504_e_proj_sdk_lv3_src_imp_framesource_framesource_tseries.c */
    0x00065430 addiu s2, s2, -0x1f64             |     s2 += -0x1f64;
                                                 |     /* obj.__func__.8662 */
    0x00065434 addiu v1, v1, -0xa94              |     v1 += -0xa94;
    0x00065438 sw s2, 0x10(sp)                   |     *(var_10h) = s2;
    0x0006543c sw v1, 0x18(sp)                   |     *(var_18h) = v1;
                                                 |     /* str._s__:_chn_d__Failed_to_set_crop__n */
    0x00065440 addiu a0, a0, -0x1630             |     a0 += -0x1630;
    0x00065444 b 0x65144                         |     goto label_18;
                                                 | label_46:
    0x00065448 lw t9, -0x7adc(gp)                |     t9 = sym.imp.IMP_Log_Get_Option;
    0x0006544c jalr t9                           |     t9 ();
    0x00065450 nop                               |     
    0x00065454 lw gp, 0x30(sp)                   |     gp = *(var_30h);
    0x00065458 lw a0, -0x7fc8(gp)                |     a0 = *(gp);
    0x0006545c lw v1, -0x7fc8(gp)                |     v1 = *(gp);
    0x00065460 lw t9, -0x79d0(gp)                |     t9 = sym.imp.imp_log_fun;
                                                 |     /* str._home_ptkang_work_platform_isvp_20160504_e_proj_sdk_lv3_src_imp_framesource_framesource_tseries.c */
    0x00065464 addiu a0, a0, -0x1f64             |     a0 += -0x1f64;
    0x00065468 sw a0, 0x10(sp)                   |     *(var_10h) = a0;
    0x0006546c addiu a0, zero, 0x5db             |     a0 = 0x5db;
    0x00065470 sw a0, 0x14(sp)                   |     *(var_14h) = a0;
    0x00065474 lw a0, -0x7fc8(gp)                |     a0 = *(gp);
                                                 |     /* obj.__func__.8707 */
    0x00065478 addiu v1, v1, -0xae4              |     v1 += -0xae4;
    0x0006547c sw v1, 0x18(sp)                   |     *(var_18h) = v1;
                                                 |     /* str._s__:_Failed_to_VBMFillPool__n */
    0x00065480 addiu a0, a0, -0x1444             |     a0 += -0x1444;
    0x00065484 sw a0, 0x1c(sp)                   |     *(var_1ch) = a0;
    0x00065488 sw v1, 0x20(sp)                   |     *(var_20h) = v1;
    0x0006548c b 0x64fb8                         |     goto label_15;
                                                 | label_22:
    0x00065490 lw t9, -0x7adc(gp)                |     t9 = sym.imp.IMP_Log_Get_Option;
    0x00065494 jalr t9                           |     t9 ();
    0x00065498 nop                               |     
    0x0006549c lw gp, 0x30(sp)                   |     gp = *(var_30h);
    0x000654a0 lw a0, -0x7fc8(gp)                |     a0 = *(gp);
    0x000654a4 lw v1, -0x7fc8(gp)                |     v1 = *(gp);
    0x000654a8 lw t9, -0x79d0(gp)                |     t9 = sym.imp.imp_log_fun;
                                                 |     /* str._home_ptkang_work_platform_isvp_20160504_e_proj_sdk_lv3_src_imp_framesource_framesource_tseries.c */
    0x000654ac addiu a0, a0, -0x1f64             |     a0 += -0x1f64;
    0x000654b0 sw a0, 0x10(sp)                   |     *(var_10h) = a0;
    0x000654b4 addiu a0, zero, 0x580             |     a0 = aav.0x00000580;
    0x000654b8 sw a0, 0x14(sp)                   |     *(var_14h) = a0;
    0x000654bc lw a0, -0x7fc8(gp)                |     a0 = *(gp);
                                                 |     /* obj.__func__.8707 */
    0x000654c0 addiu v1, v1, -0xae4              |     v1 += -0xae4;
    0x000654c4 sw v1, 0x18(sp)                   |     *(var_18h) = v1;
                                                 |     /* str._s__:_FrameSource_is_invalid_maybe_system_was_not_inited_yet._n */
    0x000654c8 addiu a0, a0, -0x1bcc             |     a0 += -0x1bcc;
    0x000654cc sw a0, 0x1c(sp)                   |     *(var_1ch) = a0;
    0x000654d0 sw v1, 0x20(sp)                   |     *(var_20h) = v1;
    0x000654d4 b 0x64ed4                         |     goto label_19;
                                                 | label_53:
    0x000654d8 lw t9, -0x7adc(gp)                |     t9 = sym.imp.IMP_Log_Get_Option;
    0x000654dc jalr t9                           |     t9 ();
    0x000654e0 nop                               |     
    0x000654e4 lw gp, 0x30(sp)                   |     gp = *(var_30h);
    0x000654e8 move a1, v0                       |     a1 = v0;
    0x000654ec addiu a0, zero, 6                 |     a0 = 6;
    0x000654f0 lw v0, -0x7fc8(gp)                |     v0 = *(gp);
    0x000654f4 lw v1, -0x7fc8(gp)                |     v1 = *(gp);
    0x000654f8 lw a3, -0x7fc8(gp)                |     a3 = *(gp);
                                                 |     /* str._home_ptkang_work_platform_isvp_20160504_e_proj_sdk_lv3_src_imp_framesource_framesource_tseries.c */
    0x000654fc addiu v0, v0, -0x1f64             |     v0 += -0x1f64;
    0x00065500 sw v0, 0x10(sp)                   |     *(var_10h) = v0;
    0x00065504 addiu v0, zero, 0x62e             |     v0 = 0x62e;
    0x00065508 sw v0, 0x14(sp)                   |     *(var_14h) = v0;
    0x0006550c lw v0, -0x7fc8(gp)                |     v0 = *(gp);
    0x00065510 lw t9, -0x79d0(gp)                |     t9 = sym.imp.imp_log_fun;
                                                 |     /* obj.__func__.8707 */
    0x00065514 addiu v1, v1, -0xae4              |     v1 += -0xae4;
                                                 |     /* str._s__:_malloc_ext_buffer_failed_n */
    0x00065518 addiu v0, v0, -0x13ec             |     v0 += -0x13ec;
    0x0006551c addiu a2, zero, 2                 |     a2 = 2;
                                                 |     /* str.Framesource */
    0x00065520 addiu a3, a3, -0x1f70             |     a3 += -aav.0x00001f70;
    0x00065524 sw v1, 0x18(sp)                   |     *(var_18h) = v1;
    0x00065528 sw v0, 0x1c(sp)                   |     *(var_1ch) = v0;
    0x0006552c sw v1, 0x20(sp)                   |     *(var_20h) = v1;
    0x00065530 jalr t9                           |     t9 ();
    0x00065534 lw gp, 0x30(sp)                   |     gp = *(var_30h);
    0x00065538 lw t9, -0x7f4c(gp)                |     t9 = *((gp - 8147));
    0x0006553c lw a0, 0x19c(s1)                  |     a0 = *(s1);
    0x00065540 jalr t9                           |     t9 ();
    0x00065544 lw gp, 0x30(sp)                   |     gp = *(var_30h);
                                                 |     do {
    0x00065548 lw t9, -0x7558(gp)                |         t9 = sym.VBMDestroyPool;
    0x0006554c move a0, s5                       |         a0 = s5;
    0x00065550 jalr t9                           |         t9 ();
    0x00065554 addiu v0, zero, -1                |         v0 = -1;
    0x00065558 b 0x64a80                         |         goto label_12;
                                                 | label_52:
    0x0006555c lw t9, -0x7adc(gp)                |         t9 = sym.imp.IMP_Log_Get_Option;
    0x00065560 jalr t9                           |         t9 ();
    0x00065564 nop                               |         
    0x00065568 lw gp, 0x30(sp)                   |         gp = *(var_30h);
    0x0006556c move a1, v0                       |         a1 = v0;
    0x00065570 addiu a2, zero, 2                 |         a2 = 2;
    0x00065574 lw a0, -0x7fc8(gp)                |         a0 = *(gp);
    0x00065578 lw v1, -0x7fc8(gp)                |         v1 = *(gp);
    0x0006557c lw a3, -0x7fc8(gp)                |         a3 = *(gp);
                                                 |         /* str._home_ptkang_work_platform_isvp_20160504_e_proj_sdk_lv3_src_imp_framesource_framesource_tseries.c */
    0x00065580 addiu a0, a0, -0x1f64             |         a0 += -0x1f64;
    0x00065584 sw a0, 0x10(sp)                   |         *(var_10h) = a0;
    0x00065588 addiu a0, zero, 0x61a             |         a0 = 0x61a;
    0x0006558c sw a0, 0x14(sp)                   |         *(var_14h) = a0;
    0x00065590 lw a0, -0x7fc8(gp)                |         a0 = *(gp);
    0x00065594 lw t9, -0x79d0(gp)                |         t9 = sym.imp.imp_log_fun;
                                                 |         /* obj.__func__.8707 */
    0x00065598 addiu v1, v1, -0xae4              |         v1 += -0xae4;
                                                 |         /* str._s__:_malloc_ext_buffer_failed_n */
    0x0006559c addiu a0, a0, -0x13ec             |         a0 += -0x13ec;
    0x000655a0 sw a0, 0x1c(sp)                   |         *(var_1ch) = a0;
    0x000655a4 sw v1, 0x18(sp)                   |         *(var_18h) = v1;
    0x000655a8 sw v1, 0x20(sp)                   |         *(var_20h) = v1;
    0x000655ac addiu a0, zero, 6                 |         a0 = 6;
                                                 |         /* str.Framesource */
    0x000655b0 addiu a3, a3, -0x1f70             |         a3 += -aav.0x00001f70;
    0x000655b4 jalr t9                           |         t9 ();
    0x000655b8 lw gp, 0x30(sp)                   |         gp = *(var_30h);
    0x000655bc b 0x65548                         |         
                                                 |     } while (1);
                                                 | label_55:
    0x000655c0 lw a0, -0x7fc8(gp)                |     a0 = *(gp);
    0x000655c4 lw t9, -0x76ac(gp)                |     t9 = sym.imp.puts;
    0x000655c8 lw s0, -0x7fc8(gp)                |     s0 = *(gp);
                                                 |     /* str._Failed_to_get_format_of_fr__ */
    0x000655cc addiu a0, a0, -0x16b8             |     a0 += -0x16b8;
    0x000655d0 jalr t9                           |     t9 ();
    0x000655d4 lw gp, 0x30(sp)                   |     gp = *(var_30h);
    0x000655d8 lw s2, -0x7fc8(gp)                |     s2 = *(gp);
                                                 |     /* str._home_ptkang_work_platform_isvp_20160504_e_proj_sdk_lv3_src_imp_framesource_framesource_tseries.c */
    0x000655dc addiu s2, s2, -0x1f64             |     s2 += -0x1f64;
    0x000655e0 b 0x65170                         |     goto label_17;
                                                 | label_43:
    0x000655e4 lw t9, -0x7adc(gp)                |     t9 = sym.imp.IMP_Log_Get_Option;
    0x000655e8 jalr t9                           |     t9 ();
    0x000655ec nop                               |     
    0x000655f0 lw gp, 0x30(sp)                   |     gp = *(var_30h);
    0x000655f4 sw s5, 0x20(sp)                   |     *(var_20h) = s5;
    0x000655f8 addiu a0, zero, 6                 |     a0 = 6;
    0x000655fc lw v1, -0x7fc8(gp)                |     v1 = *(gp);
    0x00065600 lw a3, -0x7fc8(gp)                |     a3 = *(gp);
    0x00065604 lw t9, -0x79d0(gp)                |     t9 = sym.imp.imp_log_fun;
                                                 |     /* str._home_ptkang_work_platform_isvp_20160504_e_proj_sdk_lv3_src_imp_framesource_framesource_tseries.c */
    0x00065608 addiu v1, v1, -0x1f64             |     v1 += -0x1f64;
    0x0006560c sw v1, 0x10(sp)                   |     *(var_10h) = v1;
    0x00065610 addiu v1, zero, 0x5c8             |     v1 = 0x5c8;
    0x00065614 sw v1, 0x14(sp)                   |     *(var_14h) = v1;
    0x00065618 lw v1, -0x7fc8(gp)                |     v1 = *(gp);
    0x0006561c move a1, v0                       |     a1 = v0;
    0x00065620 addiu a2, zero, 2                 |     a2 = 2;
                                                 |     /* obj.__func__.8707 */
    0x00065624 addiu v1, v1, -0xae4              |     v1 += -0xae4;
    0x00065628 sw v1, 0x18(sp)                   |     *(var_18h) = v1;
    0x0006562c lw v1, -0x7fc8(gp)                |     v1 = *(gp);
                                                 |     /* str.Framesource */
    0x00065630 addiu a3, a3, -0x1f70             |     a3 += -aav.0x00001f70;
                                                 |     /* str._chn_d__does_not_support_user_memory_n */
    0x00065634 addiu v1, v1, -0x14b8             |     v1 += -0x14b8;
    0x00065638 sw v1, 0x1c(sp)                   |     *(var_1ch) = v1;
    0x0006563c jalr t9                           |     t9 ();
    0x00065640 lw gp, 0x30(sp)                   |     gp = *(var_30h);
    0x00065644 b 0x64ff4                         |     goto label_20;
                                                 | label_48:
    0x00065648 lw t9, -0x7adc(gp)                |     t9 = sym.imp.IMP_Log_Get_Option;
    0x0006564c jalr t9                           |     t9 ();
    0x00065650 nop                               |     
    0x00065654 lw gp, 0x30(sp)                   |     gp = *(var_30h);
    0x00065658 move a1, v0                       |     a1 = v0;
    0x0006565c addiu a2, zero, 2                 |     a2 = 2;
    0x00065660 lw v0, -0x7fc8(gp)                |     v0 = *(gp);
    0x00065664 lw a3, -0x7fc8(gp)                |     a3 = *(gp);
    0x00065668 lw t9, -0x79d0(gp)                |     t9 = sym.imp.imp_log_fun;
                                                 |     /* str._home_ptkang_work_platform_isvp_20160504_e_proj_sdk_lv3_src_imp_framesource_framesource_tseries.c */
    0x0006566c addiu v0, v0, -0x1f64             |     v0 += -0x1f64;
    0x00065670 sw v0, 0x10(sp)                   |     *(var_10h) = v0;
    0x00065674 addiu v0, zero, 0x5ed             |     v0 = 0x5ed;
    0x00065678 sw v0, 0x14(sp)                   |     *(var_14h) = v0;
    0x0006567c lw v0, -0x7fc8(gp)                |     v0 = *(gp);
                                                 |     /* str.Framesource */
    0x00065680 addiu a3, a3, -0x1f70             |     a3 += -aav.0x00001f70;
    0x00065684 addiu a0, zero, 6                 |     a0 = 6;
                                                 |     /* obj.__func__.8707 */
    0x00065688 addiu v0, v0, -0xae4              |     v0 += -0xae4;
    0x0006568c sw v0, 0x18(sp)                   |     *(var_18h) = v0;
    0x00065690 lw v0, -0x7fc8(gp)                |     v0 = *(gp);
    0x00065694 sw s5, 0x20(sp)                   |     *(var_20h) = s5;
                                                 |     /* str._chn_d__VIDIOC_STREAMON_failed_n */
    0x00065698 addiu v0, v0, -0x140c             |     v0 += -0x140c;
    0x0006569c sw v0, 0x1c(sp)                   |     *(var_1ch) = v0;
    0x000656a0 jalr t9                           |     t9 ();
    0x000656a4 lw gp, 0x30(sp)                   |     gp = *(var_30h);
    0x000656a8 lw t9, -0x7674(gp)                |     t9 = sym.imp.pthread_cancel;
    0x000656ac lw a0, 0x124(s1)                  |     a0 = *(s1);
    0x000656b0 jalr t9                           |     t9 ();
    0x000656b4 lw gp, 0x30(sp)                   |     gp = *(var_30h);
    0x000656b8 lw a0, 0x124(s1)                  |     a0 = *(s1);
    0x000656bc lw t9, -0x7eec(gp)                |     t9 = sym.imp.pthread_join;
    0x000656c0 move a1, zero                     |     a1 = 0;
    0x000656c4 jalr t9                           |     t9 ();
    0x000656c8 lw gp, 0x30(sp)                   |     gp = *(var_30h);
    0x000656cc b 0x64fd4                         |     goto label_16;
                                                 | label_29:
    0x000656d0 lw t9, -0x7adc(gp)                |     t9 = sym.imp.IMP_Log_Get_Option;
    0x000656d4 lw s0, -0x7fc8(gp)                |     s0 = *(gp);
    0x000656d8 jalr t9                           |     t9 ();
    0x000656dc nop                               |     
    0x000656e0 lw gp, 0x30(sp)                   |     gp = *(var_30h);
    0x000656e4 addiu a0, zero, 0x4a4             |     a0 = 0x4a4;
    0x000656e8 sw a0, 0x14(sp)                   |     *(var_14h) = a0;
    0x000656ec lw s2, -0x7fc8(gp)                |     s2 = *(gp);
    0x000656f0 lw v1, -0x7fc8(gp)                |     v1 = *(gp);
    0x000656f4 lw a0, -0x7fc8(gp)                |     a0 = *(gp);
                                                 |     /* str._home_ptkang_work_platform_isvp_20160504_e_proj_sdk_lv3_src_imp_framesource_framesource_tseries.c */
    0x000656f8 addiu s2, s2, -0x1f64             |     s2 += -0x1f64;
                                                 |     /* obj.__func__.8662 */
    0x000656fc addiu v1, v1, -0xa94              |     v1 += -0xa94;
    0x00065700 sw s2, 0x10(sp)                   |     *(var_10h) = s2;
    0x00065704 sw v1, 0x18(sp)                   |     *(var_18h) = v1;
                                                 |     /* str._s__:_chn_d__Failed_to_cropcap__n */
    0x00065708 addiu a0, a0, -0x1690             |     a0 += -0x1690;
    0x0006570c b 0x65144                         |     goto label_18;
                                                 | }
    ; assembly                                               | /* r2dec pseudo code output */
                                                             | /* /logs/firmware/unblob_extracted/firmware_extract/6225984-11075644.jffs2_new_extract/lib/libmp.so @ 0x666a0 */
                                                             | #include <stdint.h>
                                                             |  
    ; (fcn) sym.IMP_FrameSource_EnableChnUndistort ()        | void IMP_FrameSource_EnableChnUndistort () {
    0x000666a0 lui gp, 8                                     |     
    0x000666a4 addiu gp, gp, 0x6d70                          |     
    0x000666a8 addu gp, gp, t9                               |     gp += t9;
    0x000666ac addiu sp, sp, -0x48                           |     
    0x000666b0 slti v0, a0, 4                                |     v0 = (a0 < 4) ? 1 : 0;
    0x000666b4 sw gp, 0x28(sp)                               |     *(var_28h) = gp;
    0x000666b8 sw ra, 0x44(sp)                               |     *(var_44h) = ra;
    0x000666bc sw s2, 0x40(sp)                               |     *(var_40h) = s2;
    0x000666c0 sw s1, 0x3c(sp)                               |     *(var_3ch) = s1;
    0x000666c4 sw s0, 0x38(sp)                               |     *(var_38h) = s0;
    0x000666c8 lw v0, -0x7fa8(gp)                            |     v0 = *((gp - 8170));
                                                             |     if (v0 == 0) {
    0x000666cc beqz v0, 0x667bc                              |         goto label_2;
                                                             |     }
    0x000666d0 sll a0, a0, 9                                 |     a0 <<= 9;
    0x000666d4 addiu a0, a0, 0x10                            |     a0 += 0x10;
    0x000666d8 lw s0, -0x682c(v0)                            |     s0 = *((v0 - 6667));
    0x000666dc lw t9, -0x7d98(gp)                            |     t9 = sym.imp.pthread_mutex_lock;
    0x000666e0 move s2, a1                                   |     s2 = a1;
    0x000666e4 addu s0, s0, a0                               |     s0 += a0;
    0x000666e8 addiu s1, s0, 0x168                           |     s1 = s0 + aav.0x00000168;
    0x000666ec move a0, s1                                   |     a0 = s1;
    0x000666f0 jalr t9                                       |     t9 ();
    0x000666f4 lw v0, 8(s0)                                  |     v0 = *((s0 + 2));
    0x000666f8 addiu v1, zero, 0x3c0                         |     v1 = aav.0x000003c0;
    0x000666fc lw gp, 0x28(sp)                               |     gp = *(var_28h);
                                                             |     if (v0 == v1) {
    0x00066700 beq v0, v1, 0x66794                           |         goto label_3;
                                                             |     }
    0x00066704 lw t9, -0x7adc(gp)                            |     t9 = sym.imp.IMP_Log_Get_Option;
                                                             |     do {
    0x00066708 addiu s2, zero, -1                            |         s2 = -1;
    0x0006670c jalr t9                                       |         t9 ();
    0x00066710 lw gp, 0x28(sp)                               |         gp = *(var_28h);
    0x00066714 move a1, v0                                   |         a1 = v0;
    0x00066718 addiu a2, zero, 2                             |         a2 = 2;
    0x0006671c lw a0, -0x7fc8(gp)                            |         a0 = *(gp);
    0x00066720 lw v1, -0x7fc8(gp)                            |         v1 = *(gp);
    0x00066724 lw a3, -0x7fc8(gp)                            |         a3 = *(gp);
                                                             |         /* str._home_ptkang_work_platform_isvp_20160504_e_proj_sdk_lv3_src_imp_framesource_framesource_tseries.c */
    0x00066728 addiu a0, a0, -0x1f64                         |         a0 += -0x1f64;
    0x0006672c sw a0, 0x10(sp)                               |         *(var_10h) = a0;
    0x00066730 addiu a0, zero, 0x775                         |         a0 = 0x775;
    0x00066734 sw a0, 0x14(sp)                               |         *(var_14h) = a0;
    0x00066738 lw a0, -0x7fc8(gp)                            |         a0 = *(gp);
    0x0006673c lw t9, -0x79d0(gp)                            |         t9 = sym.imp.imp_log_fun;
                                                             |         /* obj.__func__.8806_1 */
    0x00066740 addiu v1, v1, -0x970                          |         v1 += -0x970;
                                                             |         /* str._s__:_undistort_now_only_support_960x960_resolution_n */
    0x00066744 addiu a0, a0, -0x1214                         |         a0 += -0x1214;
    0x00066748 sw a0, 0x1c(sp)                               |         *(var_1ch) = a0;
    0x0006674c sw v1, 0x18(sp)                               |         *(var_18h) = v1;
    0x00066750 sw v1, 0x20(sp)                               |         *(var_20h) = v1;
    0x00066754 addiu a0, zero, 5                             |         a0 = 5;
                                                             |         /* str.Framesource */
    0x00066758 addiu a3, a3, -0x1f70                         |         a3 += -aav.0x00001f70;
    0x0006675c jalr t9                                       |         t9 ();
    0x00066760 lw gp, 0x28(sp)                               |         gp = *(var_28h);
    0x00066764 sw zero, 0x114(s0)                            |         *(s0) = 0;
    0x00066768 sw zero, 0x110(s0)                            |         *(s0) = 0;
                                                             | label_0:
    0x0006676c lw t9, -0x7bd0(gp)                            |         t9 = sym.imp.pthread_mutex_unlock;
    0x00066770 move a0, s1                                   |         a0 = s1;
    0x00066774 jalr t9                                       |         t9 ();
    0x00066778 lw ra, 0x44(sp)                               |         ra = *(var_44h);
                                                             | label_1:
    0x0006677c move v0, s2                                   |         v0 = s2;
    0x00066780 lw s1, 0x3c(sp)                               |         s1 = *(var_3ch);
    0x00066784 lw s2, 0x40(sp)                               |         s2 = *(var_40h);
    0x00066788 lw s0, 0x38(sp)                               |         s0 = *(var_38h);
    0x0006678c addiu sp, sp, 0x48                            |         
    0x00066790 jr ra                                         |         return v1;
                                                             | label_3:
    0x00066794 lw v1, 0xc(s0)                                |         v1 = *((s0 + 3));
    0x00066798 lw t9, -0x7adc(gp)                            |         t9 = sym.imp.IMP_Log_Get_Option;
    0x0006679c bne v1, v0, 0x66708                           |         
                                                             |     } while (v1 != v0);
    0x000667a0 lw v0, (s2)                                   |     v0 = *(s2);
    0x000667a4 sw s2, 0x114(s0)                              |     *(s0) = s2;
    0x000667a8 move s2, zero                                 |     s2 = 0;
    0x000667ac sw v0, 0x118(s0)                              |     *(s0) = v0;
    0x000667b0 addiu v0, zero, 1                             |     v0 = 1;
    0x000667b4 sw v0, 0x110(s0)                              |     *(s0) = v0;
    0x000667b8 b 0x6676c                                     |     goto label_0;
                                                             | label_2:
    0x000667bc lw t9, -0x7adc(gp)                            |     t9 = sym.imp.IMP_Log_Get_Option;
    0x000667c0 sw a0, 0x30(sp)                               |     *(var_30h) = a0;
    0x000667c4 addiu s2, zero, -1                            |     s2 = -1;
    0x000667c8 jalr t9                                       |     t9 ();
    0x000667cc lw gp, 0x28(sp)                               |     gp = *(var_28h);
    0x000667d0 lw a0, 0x30(sp)                               |     a0 = *(var_30h);
    0x000667d4 addiu a2, zero, 2                             |     a2 = 2;
    0x000667d8 lw a1, -0x7fc8(gp)                            |     a1 = *(gp);
    0x000667dc lw v1, -0x7fc8(gp)                            |     v1 = *(gp);
    0x000667e0 lw a3, -0x7fc8(gp)                            |     a3 = *(gp);
                                                             |     /* str._home_ptkang_work_platform_isvp_20160504_e_proj_sdk_lv3_src_imp_framesource_framesource_tseries.c */
    0x000667e4 addiu a1, a1, -0x1f64                         |     a1 += -0x1f64;
    0x000667e8 sw a1, 0x10(sp)                               |     *(var_10h) = a1;
    0x000667ec addiu a1, zero, 0x768                         |     a1 = 0x768;
    0x000667f0 sw a1, 0x14(sp)                               |     *(var_14h) = a1;
    0x000667f4 lw a1, -0x7fc8(gp)                            |     a1 = *(gp);
    0x000667f8 lw t9, -0x79d0(gp)                            |     t9 = sym.imp.imp_log_fun;
                                                             |     /* obj.__func__.8806_1 */
    0x000667fc addiu v1, v1, -0x970                          |     v1 += -0x970;
                                                             |     /* str._s__:_Invalid_chnNum__d_n */
    0x00066800 addiu a1, a1, -0x1c68                         |     a1 += -0x1c68;
    0x00066804 sw a1, 0x1c(sp)                               |     *(var_1ch) = a1;
    0x00066808 sw a0, 0x24(sp)                               |     *(var_24h) = a0;
    0x0006680c sw v1, 0x18(sp)                               |     *(var_18h) = v1;
    0x00066810 sw v1, 0x20(sp)                               |     *(var_20h) = v1;
    0x00066814 addiu a0, zero, 6                             |     a0 = 6;
    0x00066818 move a1, v0                                   |     a1 = v0;
                                                             |     /* str.Framesource */
    0x0006681c addiu a3, a3, -0x1f70                         |     a3 += -aav.0x00001f70;
    0x00066820 jalr t9                                       |     t9 ();
    0x00066824 lw ra, 0x44(sp)                               |     ra = *(var_44h);
    0x00066828 b 0x6677c                                     |     goto label_1;
                                                             | }
    ; assembly                                   | /* r2dec pseudo code output */
                                                 | /* /logs/firmware/unblob_extracted/firmware_extract/6225984-11075644.jffs2_new_extract/lib/libmp.so @ 0x5b0f8 */
                                                 | #include <stdint.h>
                                                 |  
    ; (fcn) sym.IMP_ISP_EnableTuning ()          | void IMP_ISP_EnableTuning () {
    0x0005b0f8 lui gp, 9                         |     
    0x0005b0fc addiu gp, gp, 0x2318              |     
    0x0005b100 addu gp, gp, t9                   |     gp += t9;
    0x0005b104 lw v0, -0x7fa8(gp)                |     v0 = *((gp - 8170));
    0x0005b108 addiu sp, sp, -0xb8               |     
    0x0005b10c sw s0, 0xa0(sp)                   |     *(var_a0h) = s0;
    0x0005b110 lw s0, -0x6aa0(v0)                |     s0 = *((v0 - 6824));
    0x0005b114 sw gp, 0x40(sp)                   |     *(var_40h) = gp;
    0x0005b118 sw ra, 0xb4(sp)                   |     *(var_b4h) = ra;
    0x0005b11c sw s4, 0xb0(sp)                   |     *(var_b0h) = s4;
    0x0005b120 sw s3, 0xac(sp)                   |     *(var_ach) = s3;
    0x0005b124 sw s2, 0xa8(sp)                   |     *(var_a8h) = s2;
    0x0005b128 sw s1, 0xa4(sp)                   |     *(var_a4h) = s1;
    0x0005b12c sw zero, 0x94(sp)                 |     *(var_94h) = 0;
                                                 |     if (s0 == 0) {
    0x0005b130 beqz s0, 0x5b64c                  |         goto label_4;
                                                 |     }
    0x0005b134 lw v0, 0x9c(s0)                   |     v0 = *((s0 + 39));
    0x0005b138 lw v0, -0x7fc8(gp)                |     v0 = *(gp);
    0x0005b13c beqz v0, 0x5b164                  |     
                                                 |     while (v0 == 0) {
    0x0005b140 move v0, zero                     |         v0 = 0;
                                                 | label_0:
    0x0005b144 lw ra, 0xb4(sp)                   |         ra = *(var_b4h);
    0x0005b148 lw s4, 0xb0(sp)                   |         s4 = *(var_b0h);
    0x0005b14c lw s3, 0xac(sp)                   |         s3 = *(var_ach);
    0x0005b150 lw s2, 0xa8(sp)                   |         s2 = *(var_a8h);
    0x0005b154 lw s1, 0xa4(sp)                   |         s1 = *(var_a4h);
    0x0005b158 lw s0, 0xa0(sp)                   |         s0 = *(var_a0h);
    0x0005b15c addiu sp, sp, 0xb8                |         
    0x0005b160 jr ra                             |         return v0;
    0x0005b164 addiu a0, s0, 0x78                |         a0 = s0 + 0x78;
    0x0005b168 lw t9, -0x7e60(gp)                |         t9 = sym.imp.open;
    0x0005b16c lw a1, -0x2dac(v0)                |         a1 = *((v0 - 2923));
                                                 |         /* str._dev_video0 */
    0x0005b170 addiu v0, v0, -0x2dac             |         v0 += -0x2dac;
    0x0005b174 lw v1, 4(v0)                      |         v1 = *((v0 + 1));
    0x0005b178 swl a1, 3(a0)                     |         __asm ("swl a1, 3(a0)");
    0x0005b17c swr a1, (a0)                      |         __asm ("swr a1, (a0)");
    0x0005b180 lw v0, 8(v0)                      |         v0 = *((v0 + 2));
    0x0005b184 swl v1, 7(a0)                     |         __asm ("swl v1, 7(a0)");
    0x0005b188 swr v1, 4(a0)                     |         __asm ("swr v1, 4(a0)");
    0x0005b18c swl v0, 0xb(a0)                   |         __asm ("swl v0, 0xb(a0)");
    0x0005b190 lui a1, 8                         |         a1 = 0x80000;
    0x0005b194 swr v0, 8(a0)                     |         __asm ("swr v0, 8(a0)");
    0x0005b198 addiu a1, a1, 2                   |         a1 += 2;
    0x0005b19c move a2, zero                     |         a2 = 0;
    0x0005b1a0 jalr t9                           |         t9 ();
    0x0005b1a4 move s2, v0                       |         s2 = v0;
    0x0005b1a8 lw gp, 0x40(sp)                   |         gp = *(var_40h);
    0x0005b1ac sw v0, 0x98(s0)                   |         *((s0 + 38)) = v0;
                                                 |         if (v0 < 0) {
    0x0005b1b0 bltz v0, 0x5b6b4                  |             goto label_5;
                                                 |         }
    0x0005b1b4 lw t9, -0x76d8(gp)                |         t9 = sym.imp.malloc;
    0x0005b1b8 addiu a0, zero, 0x44              |         a0 = 0x44;
    0x0005b1bc jalr t9                           |         t9 ();
    0x0005b1c0 move s1, v0                       |         s1 = v0;
    0x0005b1c4 lw gp, 0x40(sp)                   |         gp = *(var_40h);
                                                 |         if (v0 == 0) {
    0x0005b1c8 beqz v0, 0x5b714                  |             goto label_6;
                                                 |         }
    0x0005b1cc lw t9, -0x7b18(gp)                |         t9 = sym.imp.memset;
    0x0005b1d0 move a0, v0                       |         a0 = v0;
    0x0005b1d4 move a1, zero                     |         a1 = 0;
    0x0005b1d8 lw s2, -0x7fcc(gp)                |         s2 = *(gp);
    0x0005b1dc addiu a2, zero, 0x44              |         a2 = 0x44;
    0x0005b1e0 jalr t9                           |         t9 ();
    0x0005b1e4 lw gp, 0x40(sp)                   |         gp = *(var_40h);
    0x0005b1e8 addiu v0, zero, 2                 |         v0 = 2;
    0x0005b1ec sw s1, 0x9c(s0)                   |         *((s0 + 39)) = s1;
    0x0005b1f0 lw t9, -0x7e60(gp)                |         t9 = sym.imp.open;
    0x0005b1f4 sw v0, 0xa8(s0)                   |         *((s0 + 42)) = v0;
                                                 |         /* str._dev_mem */
    0x0005b1f8 addiu a0, s2, 0x6b14              |         a0 = s2 + 0x6b14;
    0x0005b1fc addiu a1, zero, 0x12              |         a1 = 0x12;
    0x0005b200 jalr t9                           |         t9 ();
    0x0005b204 lw gp, 0x40(sp)                   |         gp = *(var_40h);
    0x0005b208 sw v0, 0xa0(s0)                   |         *((s0 + 40)) = v0;
                                                 |         if (v0 <= 0) {
    0x0005b20c blez v0, 0x5b570                  |             goto label_7;
                                                 |         }
    0x0005b210 lw t9, -0x77e8(gp)                |         t9 = sym.imp.mmap;
    0x0005b214 sw v0, 0x10(sp)                   |         *(var_10h) = v0;
    0x0005b218 lui a1, 1                         |         a1 = 0x10000;
    0x0005b21c lui v0, 0x1338                    |         v0 = 0x13380000;
    0x0005b220 sw v0, 0x14(sp)                   |         *(var_14h) = v0;
    0x0005b224 move a0, zero                     |         a0 = 0;
    0x0005b228 ori a1, a1, 0xb000                |         a1 |= 0xb000;
    0x0005b22c addiu a2, zero, 3                 |         a2 = 3;
    0x0005b230 addiu a3, zero, 1                 |         a3 = 1;
    0x0005b234 jalr t9                           |         t9 ();
    0x0005b238 lw gp, 0x40(sp)                   |         gp = *(var_40h);
    0x0005b23c sw v0, 0xa4(s0)                   |         *((s0 + 41)) = v0;
                                                 |         if (v0 == 0) {
    0x0005b240 beqz v0, 0x5b654                  |             goto label_8;
                                                 |         }
                                                 | label_2:
    0x0005b244 addiu v0, zero, 1                 |         v0 = 1;
    0x0005b248 sw v0, 0x88(sp)                   |         *(var_88h) = v0;
    0x0005b24c lui v0, 0x800                     |         v0 = .comment;
    0x0005b250 lw t9, -0x74a4(gp)                |         t9 = sym.imp.ioctl;
    0x0005b254 addiu v0, v0, 0xe0                |         v0 += 0xe0;
    0x0005b258 lw a0, 0x98(s0)                   |         a0 = *((s0 + 38));
    0x0005b25c sw v0, 0x8c(sp)                   |         *(var_8ch) = v0;
    0x0005b260 lui a1, 0xc00c                    |         a1 = 0xc00c0000;
    0x0005b264 addiu v0, sp, 0x94                |         v0 = sp + 0x94;
    0x0005b268 addiu a1, a1, 0x56c6              |         a1 += 0x56c6;
    0x0005b26c addiu a2, sp, 0x88                |         a2 = sp + 0x88;
    0x0005b270 sw v0, 0x90(sp)                   |         *(var_90h) = v0;
    0x0005b274 jalr t9                           |         t9 ();
    0x0005b278 lw gp, 0x40(sp)                   |         gp = *(var_40h);
                                                 |         if (v0 == 0) {
    0x0005b27c beqz v0, 0x5b54c                  |             goto label_9;
                                                 |         }
                                                 | label_1:
    0x0005b280 lw v0, -0x7fe4(gp)                |         v0 = *((gp - 8185));
    0x0005b284 lw t9, -0x7818(gp)                |         t9 = sym.IMP_ISP_Tuning_GetSharpness;
    0x0005b288 addiu a0, sp, 0x98                |         a0 = sp + 0x98;
    0x0005b28c lbu v0, 0x5140(v0)                |         v0 = *((v0 + 20800));
    0x0005b290 lw s2, -0x7fa8(gp)                |         s2 = *((gp - 8170));
    0x0005b294 sb v0, 0x31(s1)                   |         *((s1 + 49)) = v0;
    0x0005b298 jalr t9                           |         t9 ();
    0x0005b29c lw gp, 0x40(sp)                   |         gp = *(var_40h);
    0x0005b2a0 addiu a0, sp, 0x98                |         a0 = sp + 0x98;
    0x0005b2a4 lw t9, -0x7650(gp)                |         t9 = sym.IMP_ISP_Tuning_GetBrightness;
    0x0005b2a8 lw s3, -0x7fa8(gp)                |         s3 = *((gp - 8170));
    0x0005b2ac addiu s1, zero, 1                 |         s1 = 1;
    0x0005b2b0 jalr t9                           |         t9 ();
    0x0005b2b4 lw gp, 0x40(sp)                   |         gp = *(var_40h);
    0x0005b2b8 lw t9, -0x7848(gp)                |         t9 = sym.IMP_ISP_Tuning_GetSaturation;
    0x0005b2bc addiu a0, sp, 0x98                |         a0 = sp + 0x98;
    0x0005b2c0 jalr t9                           |         t9 ();
    0x0005b2c4 lw gp, 0x40(sp)                   |         gp = *(var_40h);
    0x0005b2c8 lw t9, -0x7d98(gp)                |         t9 = sym.imp.pthread_mutex_lock;
                                                 |         /* obj.g_isp_deamon_mutex */
    0x0005b2cc addiu a0, s2, -0x688c             |         a0 = s2 + -0x688c;
    0x0005b2d0 jalr t9                           |         t9 ();
    0x0005b2d4 lw v0, -0x6874(s3)                |         v0 = *(s3);
    0x0005b2d8 lw gp, 0x40(sp)                   |         gp = *(var_40h);
                                                 |         if (v0 == s1) {
    0x0005b2dc beq v0, s1, 0x5b5d4               |             goto label_10;
                                                 |         }
    0x0005b2e0 lw s4, -0x7fa8(gp)                |         s4 = *((gp - 8170));
    0x0005b2e4 lw t9, -0x7b18(gp)                |         t9 = sym.imp.memset;
    0x0005b2e8 move a1, zero                     |         a1 = 0;
                                                 |         /* obj.g_isp_deamon_info */
    0x0005b2ec addiu s4, s4, -0x6a9c             |         s4 += -0x6a9c;
    0x0005b2f0 move a0, s4                       |         a0 = s4;
    0x0005b2f4 addiu a2, zero, 0x14c             |         a2 = aav.0x0000014c;
    0x0005b2f8 jalr t9                           |         t9 ();
    0x0005b2fc lw gp, 0x40(sp)                   |         gp = *(var_40h);
                                                 |         /* obj.g_isp_deamon_mutex */
    0x0005b300 addiu a0, s2, -0x688c             |         a0 = s2 + -0x688c;
    0x0005b304 lw t9, -0x7bd0(gp)                |         t9 = sym.imp.pthread_mutex_unlock;
    0x0005b308 sw s1, -0x6874(s3)                |         *(s3) = s1;
    0x0005b30c jalr t9                           |         t9 ();
    0x0005b310 lw gp, 0x40(sp)                   |         gp = *(var_40h);
                                                 | label_3:
    0x0005b314 lw s1, -0x7f9c(gp)                |         s1 = *((gp - 8167));
    0x0005b318 lw a0, -0x7fc8(gp)                |         a0 = *(gp);
    0x0005b31c lw a1, -0x7f98(gp)                |         a1 = *((gp - 8166));
                                                 |         /* sym.isp_tuning_deamon_func_add.constprop.3 */
    0x0005b320 addiu s1, s1, 0x7c38              |         s1 += 0x7c38;
    0x0005b324 move t9, s1                       |         t9 = s1;
                                                 |         /* str.update_total_gain */
    0x0005b328 addiu a0, a0, -0x2fb0             |         a0 += -0x2fb0;
                                                 |         /* sym.isp_tuning_func_update_total_gain */
    0x0005b32c addiu a1, a1, -0x68b8             |         a1 += -0x68b8;
    0x0005b330 bal 0x57c38                       |         sym_isp_tuning_deamon_func_add_constprop_3 ();
    0x0005b334 lw gp, 0x40(sp)                   |         gp = *(var_40h);
    0x0005b338 move t9, s1                       |         t9 = s1;
    0x0005b33c lw a0, -0x7fc8(gp)                |         a0 = *(gp);
    0x0005b340 lw a1, -0x7f9c(gp)                |         a1 = *((gp - 8167));
                                                 |         /* str.contrastjudge */
    0x0005b344 addiu a0, a0, -0x2fc0             |         a0 += -0x2fc0;
                                                 |         /* sym.isp_tuning_func_contrast_judge */
    0x0005b348 addiu a1, a1, 0x7a9c              |         a1 += 0x7a9c;
    0x0005b34c bal 0x57c38                       |         sym_isp_tuning_deamon_func_add_constprop_3 ();
    0x0005b350 lw gp, 0x40(sp)                   |         gp = *(var_40h);
    0x0005b354 move t9, s1                       |         t9 = s1;
    0x0005b358 lw a0, -0x7fc8(gp)                |         a0 = *(gp);
    0x0005b35c lw a1, -0x7f9c(gp)                |         a1 = *((gp - 8167));
                                                 |         /* str.videodrop */
    0x0005b360 addiu a0, a0, -0x2fcc             |         a0 += -0x2fcc;
                                                 |         /* sym.isp_tuning_func_video_drop */
    0x0005b364 addiu a1, a1, 0x7640              |         a1 += 0x7640;
    0x0005b368 bal 0x57c38                       |         sym_isp_tuning_deamon_func_add_constprop_3 ();
    0x0005b36c lw gp, 0x40(sp)                   |         gp = *(var_40h);
    0x0005b370 move t9, s1                       |         t9 = s1;
    0x0005b374 lw a0, -0x7fc8(gp)                |         a0 = *(gp);
    0x0005b378 lw a1, -0x7f9c(gp)                |         a1 = *((gp - 8167));
                                                 |         /* str.update_ncu_params */
    0x0005b37c addiu a0, a0, -0x2fe0             |         a0 += -0x2fe0;
                                                 |         /* sym.isp_tuning_func_update_ncu_params */
    0x0005b380 addiu a1, a1, 0x7b90              |         a1 += 0x7b90;
    0x0005b384 bal 0x57c38                       |         sym_isp_tuning_deamon_func_add_constprop_3 ();
    0x0005b388 lw gp, 0x40(sp)                   |         gp = *(var_40h);
    0x0005b38c lw a2, 0x148(s4)                  |         a2 = *(s4);
    0x0005b390 addiu a0, sp, 0x68                |         a0 = sp + 0x68;
    0x0005b394 lw a1, -0x7fcc(gp)                |         a1 = *(gp);
    0x0005b398 lw t9, -0x7c30(gp)                |         t9 = sym.imp.sprintf
                                                 |         /* esilref: '0x&x
' */
    0x0005b39c addiu a1, a1, 0x7930              |         a1 += 0x7930;
    0x0005b3a0 jalr t9                           |         t9 ();
    0x0005b3a4 lw gp, 0x40(sp)                   |         gp = *(var_40h);
    0x0005b3a8 lw a0, -0x7fc8(gp)                |         a0 = *(gp);
    0x0005b3ac lw a1, -0x7fc8(gp)                |         a1 = *(gp);
    0x0005b3b0 lw t9, -0x7b08(gp)                |         t9 = sym.imp.fopen;
                                                 |         /* str._tmp_isp_tuning_func */
    0x0005b3b4 addiu a0, a0, -0x32d0             |         a0 += -aav.0x000032d0;
                                                 |         /* esilref: 'w+' */
    0x0005b3b8 addiu a1, a1, -0x2d2c             |         a1 += -0x2d2c;
    0x0005b3bc jalr t9                           |         t9 ();
    0x0005b3c0 move s1, v0                       |         s1 = v0;
    0x0005b3c4 lw gp, 0x40(sp)                   |         gp = *(var_40h);
                                                 |         if (v0 != 0) {
    0x0005b3c8 beqz v0, 0x5b3f8                  |             
    0x0005b3cc lw t9, -0x7d48(gp)                |             t9 = sym.imp.fwrite;
    0x0005b3d0 addiu a0, sp, 0x68                |             a0 = sp + 0x68;
    0x0005b3d4 addiu a1, zero, 1                 |             a1 = 1;
    0x0005b3d8 addiu a2, zero, 0x20              |             a2 = 0x20;
    0x0005b3dc move a3, v0                       |             a3 = v0;
    0x0005b3e0 jalr t9                           |             t9 ();
    0x0005b3e4 lw gp, 0x40(sp)                   |             gp = *(var_40h);
    0x0005b3e8 lw t9, -0x7b54(gp)                |             t9 = sym.imp.fclose;
    0x0005b3ec move a0, s1                       |             a0 = s1;
    0x0005b3f0 jalr t9                           |             t9 ();
    0x0005b3f4 lw gp, 0x40(sp)                   |             gp = *(var_40h);
                                                 |         }
    0x0005b3f8 lw a0, -0x7fa8(gp)                |         a0 = *((gp - 8170));
    0x0005b3fc lw t9, -0x7b18(gp)                |         t9 = sym.imp.memset;
    0x0005b400 move a1, zero                     |         a1 = 0;
                                                 |         /* obj.gmovestate */
    0x0005b404 addiu a0, a0, -0x6950             |         a0 += -0x6950;
    0x0005b408 addiu a2, zero, 0xac              |         a2 = 0xac;
    0x0005b40c jalr t9                           |         t9 ();
    0x0005b410 lw gp, 0x40(sp)                   |         gp = *(var_40h);
    0x0005b414 move v1, zero                     |         v1 = 0;
    0x0005b418 move v0, zero                     |         v0 = 0;
    0x0005b41c lw a1, -0x7fc8(gp)                |         a1 = *(gp);
    0x0005b420 lw a2, -0x7fc8(gp)                |         a2 = *(gp);
    0x0005b424 lw t9, -0x7c30(gp)                |         t9 = sym.imp.sprintf
    0x0005b428 addiu a3, s0, 0x28                |         a3 = s0 + 0x28;
    0x0005b42c addiu a0, sp, 0x48                |         a0 = sp + 0x48;
                                                 |         /* str._s_smove.txt */
    0x0005b430 addiu a1, a1, -0x2d28             |         a1 += -0x2d28;
                                                 |         /* str._etc_sensor_ */
    0x0005b434 addiu a2, a2, -0x34d8             |         a2 += -0x34d8;
    0x0005b438 sw v1, 0x4c(sp)                   |         *(var_4ch) = v1;
    0x0005b43c sw v1, 0x54(sp)                   |         *(var_54h) = v1;
    0x0005b440 sw v1, 0x5c(sp)                   |         *(var_5ch) = v1;
    0x0005b444 sw v1, 0x64(sp)                   |         *(var_64h) = v1;
    0x0005b448 sw v0, 0x48(sp)                   |         *(var_48h) = v0;
    0x0005b44c sw v0, 0x50(sp)                   |         *(var_50h) = v0;
    0x0005b450 sw v0, 0x58(sp)                   |         *(var_58h) = v0;
    0x0005b454 sw v0, 0x60(sp)                   |         *(var_60h) = v0;
    0x0005b458 jalr t9                           |         t9 ();
    0x0005b45c lw gp, 0x40(sp)                   |         gp = *(var_40h);
    0x0005b460 addiu a0, sp, 0x48                |         a0 = sp + 0x48;
    0x0005b464 lw a1, -0x7fc4(gp)                |         a1 = *((gp - 8177));
    0x0005b468 lw t9, -0x7b08(gp)                |         t9 = sym.imp.fopen;
                                                 |         /* esilref: '' */
    0x0005b46c addiu a1, a1, -0x7c6c             |         a1 += -0x7c6c;
    0x0005b470 jalr t9                           |         t9 ();
    0x0005b474 move s0, v0                       |         s0 = v0;
    0x0005b478 lw gp, 0x40(sp)                   |         gp = *(var_40h);
    0x0005b47c beqz v0, 0x5b140                  |         
                                                 |     }
    0x0005b480 move a0, v0                       |     a0 = v0;
    0x0005b484 lw v0, -0x7fa8(gp)                |     v0 = *((gp - 8170));
    0x0005b488 lw a1, -0x7fc8(gp)                |     a1 = *(gp);
    0x0005b48c lw a2, -0x7fa8(gp)                |     a2 = *((gp - 8170));
    0x0005b490 addiu v0, v0, -0x68d4             |     v0 += -0x68d4;
    0x0005b494 sw v0, 0x10(sp)                   |     *(var_10h) = v0;
    0x0005b498 lw v0, -0x7fa8(gp)                |     v0 = *((gp - 8170));
    0x0005b49c lw a3, -0x7fa8(gp)                |     a3 = *((gp - 8170));
    0x0005b4a0 lw t9, -0x7638(gp)                |     t9 = sym.imp.fscanf;
    0x0005b4a4 addiu v0, v0, -0x68d0             |     v0 += -0x68d0;
    0x0005b4a8 sw v0, 0x14(sp)                   |     *(var_14h) = v0;
    0x0005b4ac lw v0, -0x7fa8(gp)                |     v0 = *((gp - 8170));
                                                 |     /* str._02x__02x__02x__02x__02x__02x__02x__02x__02x__02x__02x__02x__02x__02x */
    0x0005b4b0 addiu a1, a1, -0x2d18             |     a1 += -0x2d18;
    0x0005b4b4 addiu a2, a2, -0x68dc             |     a2 += -0x68dc;
    0x0005b4b8 addiu v0, v0, -0x68cc             |     v0 += -0x68cc;
    0x0005b4bc sw v0, 0x18(sp)                   |     *(var_18h) = v0;
    0x0005b4c0 lw v0, -0x7fa8(gp)                |     v0 = *((gp - 8170));
    0x0005b4c4 addiu a3, a3, -0x68d8             |     a3 += -0x68d8;
    0x0005b4c8 addiu v0, v0, -0x68c8             |     v0 += -0x68c8;
    0x0005b4cc sw v0, 0x1c(sp)                   |     *(var_1ch) = v0;
    0x0005b4d0 lw v0, -0x7fa8(gp)                |     v0 = *((gp - 8170));
    0x0005b4d4 addiu v0, v0, -0x68c4             |     v0 += -0x68c4;
    0x0005b4d8 sw v0, 0x20(sp)                   |     *(var_20h) = v0;
    0x0005b4dc lw v0, -0x7fa8(gp)                |     v0 = *((gp - 8170));
    0x0005b4e0 addiu v0, v0, -0x68c0             |     v0 += -0x68c0;
    0x0005b4e4 sw v0, 0x24(sp)                   |     *(var_24h) = v0;
    0x0005b4e8 lw v0, -0x7fa8(gp)                |     v0 = *((gp - 8170));
    0x0005b4ec addiu v0, v0, -0x68bc             |     v0 += -0x68bc;
    0x0005b4f0 sw v0, 0x28(sp)                   |     *(var_28h) = v0;
    0x0005b4f4 lw v0, -0x7fa8(gp)                |     v0 = *((gp - 8170));
    0x0005b4f8 addiu v0, v0, -0x68b8             |     v0 += -0x68b8;
    0x0005b4fc sw v0, 0x2c(sp)                   |     *(var_2ch) = v0;
    0x0005b500 lw v0, -0x7fa8(gp)                |     v0 = *((gp - 8170));
    0x0005b504 addiu v0, v0, -0x68b4             |     v0 += -0x68b4;
    0x0005b508 sw v0, 0x30(sp)                   |     *(var_30h) = v0;
    0x0005b50c lw v0, -0x7fa8(gp)                |     v0 = *((gp - 8170));
    0x0005b510 addiu v0, v0, -0x68b0             |     v0 += -0x68b0;
    0x0005b514 sw v0, 0x34(sp)                   |     *(var_34h) = v0;
    0x0005b518 lw v0, -0x7fa8(gp)                |     v0 = *((gp - 8170));
    0x0005b51c addiu v0, v0, -0x68ac             |     v0 += -0x68ac;
    0x0005b520 sw v0, 0x38(sp)                   |     *(var_38h) = v0;
    0x0005b524 lw v0, -0x7fa8(gp)                |     v0 = *((gp - 8170));
    0x0005b528 addiu v0, v0, -0x68a8             |     v0 += -0x68a8;
    0x0005b52c sw v0, 0x3c(sp)                   |     *(var_3ch) = v0;
    0x0005b530 jalr t9                           |     t9 ();
    0x0005b534 lw gp, 0x40(sp)                   |     gp = *(var_40h);
    0x0005b538 lw t9, -0x7b54(gp)                |     t9 = sym.imp.fclose;
    0x0005b53c move a0, s0                       |     a0 = s0;
    0x0005b540 jalr t9                           |     t9 ();
    0x0005b544 move v0, zero                     |     v0 = 0;
    0x0005b548 b 0x5b144                         |     goto label_0;
                                                 | label_9:
    0x0005b54c lw a1, 0x94(sp)                   |     a1 = *(var_94h);
    0x0005b550 lw t9, -0x7b24(gp)                |     t9 = sym.set_framesource_fps;
    0x0005b554 srl a0, a1, 0x10                  |     a0 = a1 >> 0x10;
    0x0005b558 andi a1, a1, 0xffff               |     a1 &= 0xffff;
    0x0005b55c sw a0, 0x34(s1)                   |     *((s1 + 13)) = a0;
    0x0005b560 sw a1, 0x38(s1)                   |     *((s1 + 14)) = a1;
    0x0005b564 jalr t9                           |     t9 ();
    0x0005b568 lw gp, 0x40(sp)                   |     gp = *(var_40h);
    0x0005b56c b 0x5b280                         |     goto label_1;
                                                 | label_7:
    0x0005b570 lw t9, -0x7adc(gp)                |     t9 = sym.imp.IMP_Log_Get_Option;
                                                 |     /* str._dev_mem */
    0x0005b574 addiu s2, s2, 0x6b14              |     s2 += 0x6b14;
    0x0005b578 jalr t9                           |     t9 ();
    0x0005b57c lw gp, 0x40(sp)                   |     gp = *(var_40h);
    0x0005b580 sw s2, 0x20(sp)                   |     *(var_20h) = s2;
    0x0005b584 addiu a0, zero, 6                 |     a0 = 6;
    0x0005b588 lw v1, -0x7fc8(gp)                |     v1 = *(gp);
    0x0005b58c lw a3, -0x7fc8(gp)                |     a3 = *(gp);
    0x0005b590 lw t9, -0x79d0(gp)                |     t9 = sym.imp.imp_log_fun;
                                                 |     /* str._home_ptkang_work_platform_isvp_20160504_e_proj_sdk_lv3_src_imp_isp_isp_tseries.c */
    0x0005b594 addiu v1, v1, -0x3418             |     v1 += -0x3418;
    0x0005b598 sw v1, 0x10(sp)                   |     *(var_10h) = v1;
    0x0005b59c addiu v1, zero, 0x35d             |     v1 = 0x35d;
    0x0005b5a0 sw v1, 0x14(sp)                   |     *(var_14h) = v1;
    0x0005b5a4 lw v1, -0x7fc8(gp)                |     v1 = *(gp);
    0x0005b5a8 move a1, v0                       |     a1 = v0;
    0x0005b5ac addiu a2, zero, 2                 |     a2 = 2;
                                                 |     /* obj.__func__.8463 */
    0x0005b5b0 addiu v1, v1, -0x2840             |     v1 += -0x2840;
    0x0005b5b4 sw v1, 0x18(sp)                   |     *(var_18h) = v1;
    0x0005b5b8 lw v1, -0x7fc8(gp)                |     v1 = *(gp);
                                                 |     /* str.IMP_ISP */
    0x0005b5bc addiu a3, a3, -0x3420             |     a3 += -0x3420;
                                                 |     /* str.Failed_to_open__s_n */
    0x0005b5c0 addiu v1, v1, -0x2d84             |     v1 += -0x2d84;
    0x0005b5c4 sw v1, 0x1c(sp)                   |     *(var_1ch) = v1;
    0x0005b5c8 jalr t9                           |     t9 ();
    0x0005b5cc lw gp, 0x40(sp)                   |     gp = *(var_40h);
    0x0005b5d0 b 0x5b244                         |     goto label_2;
                                                 | label_10:
    0x0005b5d4 lw t9, -0x7adc(gp)                |     t9 = sym.imp.IMP_Log_Get_Option;
    0x0005b5d8 jalr t9                           |     t9 ();
    0x0005b5dc nop                               |     
    0x0005b5e0 lw gp, 0x40(sp)                   |     gp = *(var_40h);
    0x0005b5e4 move a1, v0                       |     a1 = v0;
    0x0005b5e8 addiu a0, zero, 6                 |     a0 = 6;
    0x0005b5ec lw v0, -0x7fc8(gp)                |     v0 = *(gp);
    0x0005b5f0 lw a3, -0x7fc8(gp)                |     a3 = *(gp);
    0x0005b5f4 lw t9, -0x79d0(gp)                |     t9 = sym.imp.imp_log_fun;
                                                 |     /* str._home_ptkang_work_platform_isvp_20160504_e_proj_sdk_lv3_src_imp_isp_isp_tseries.c */
    0x0005b5f8 addiu v0, v0, -0x3418             |     v0 += -0x3418;
    0x0005b5fc sw v0, 0x10(sp)                   |     *(var_10h) = v0;
    0x0005b600 addiu v0, zero, 0x243             |     v0 = 0x243;
    0x0005b604 sw v0, 0x14(sp)                   |     *(var_14h) = v0;
    0x0005b608 lw v0, -0x7fc8(gp)                |     v0 = *(gp);
    0x0005b60c addiu a2, zero, 2                 |     a2 = 2;
                                                 |     /* str.IMP_ISP */
    0x0005b610 addiu a3, a3, -0x3420             |     a3 += -0x3420;
                                                 |     /* obj.__func__.8369 */
    0x0005b614 addiu v0, v0, -0x27c8             |     v0 += -0x27c8;
    0x0005b618 sw v0, 0x18(sp)                   |     *(var_18h) = v0;
    0x0005b61c lw v0, -0x7fc8(gp)                |     v0 = *(gp);
                                                 |     /* str.err:_tuning_deamon_init_already_n */
    0x0005b620 addiu v0, v0, -0x2d50             |     v0 += -0x2d50;
    0x0005b624 sw v0, 0x1c(sp)                   |     *(var_1ch) = v0;
    0x0005b628 jalr t9                           |     t9 ();
    0x0005b62c lw gp, 0x40(sp)                   |     gp = *(var_40h);
    0x0005b630 lw t9, -0x7bd0(gp)                |     t9 = sym.imp.pthread_mutex_unlock;
                                                 |     /* obj.g_isp_deamon_mutex */
    0x0005b634 addiu a0, s2, -0x688c             |     a0 = s2 + -0x688c;
    0x0005b638 jalr t9                           |     t9 ();
    0x0005b63c lw gp, 0x40(sp)                   |     gp = *(var_40h);
    0x0005b640 lw s4, -0x7fa8(gp)                |     s4 = *((gp - 8170));
                                                 |     /* obj.g_isp_deamon_info */
    0x0005b644 addiu s4, s4, -0x6a9c             |     s4 += -0x6a9c;
    0x0005b648 b 0x5b314                         |     goto label_3;
                                                 | label_4:
    0x0005b64c addiu v0, zero, -1                |     v0 = -1;
    0x0005b650 b 0x5b144                         |     goto label_0;
                                                 | label_8:
    0x0005b654 lw t9, -0x7adc(gp)                |     t9 = sym.imp.IMP_Log_Get_Option;
    0x0005b658 jalr t9                           |     t9 ();
    0x0005b65c nop                               |     
    0x0005b660 lw gp, 0x40(sp)                   |     gp = *(var_40h);
    0x0005b664 addiu a0, zero, 6                 |     a0 = 6;
    0x0005b668 move a1, v0                       |     a1 = v0;
    0x0005b66c lw v1, -0x7fc8(gp)                |     v1 = *(gp);
    0x0005b670 lw a3, -0x7fc8(gp)                |     a3 = *(gp);
    0x0005b674 lw t9, -0x79d0(gp)                |     t9 = sym.imp.imp_log_fun;
                                                 |     /* str._home_ptkang_work_platform_isvp_20160504_e_proj_sdk_lv3_src_imp_isp_isp_tseries.c */
    0x0005b678 addiu v1, v1, -0x3418             |     v1 += -0x3418;
    0x0005b67c sw v1, 0x10(sp)                   |     *(var_10h) = v1;
    0x0005b680 addiu v1, zero, 0x361             |     v1 = 0x361;
    0x0005b684 sw v1, 0x14(sp)                   |     *(var_14h) = v1;
    0x0005b688 lw v1, -0x7fc8(gp)                |     v1 = *(gp);
    0x0005b68c addiu a2, zero, 2                 |     a2 = 2;
                                                 |     /* str.IMP_ISP */
    0x0005b690 addiu a3, a3, -0x3420             |     a3 += -0x3420;
                                                 |     /* obj.__func__.8463 */
    0x0005b694 addiu v1, v1, -0x2840             |     v1 += -0x2840;
    0x0005b698 sw v1, 0x18(sp)                   |     *(var_18h) = v1;
    0x0005b69c lw v1, -0x7fc8(gp)                |     v1 = *(gp);
                                                 |     /* str.Failed_to_mmap_isp_base_addr_n */
    0x0005b6a0 addiu v1, v1, -0x2d70             |     v1 += -aav.0x00002d70;
    0x0005b6a4 sw v1, 0x1c(sp)                   |     *(var_1ch) = v1;
    0x0005b6a8 jalr t9                           |     t9 ();
    0x0005b6ac lw gp, 0x40(sp)                   |     gp = *(var_40h);
    0x0005b6b0 b 0x5b244                         |     goto label_2;
                                                 | label_5:
    0x0005b6b4 lw t9, -0x7adc(gp)                |     t9 = sym.imp.IMP_Log_Get_Option;
    0x0005b6b8 jalr t9                           |     t9 ();
    0x0005b6bc nop                               |     
    0x0005b6c0 lw gp, 0x40(sp)                   |     gp = *(var_40h);
    0x0005b6c4 move a1, v0                       |     a1 = v0;
    0x0005b6c8 addiu a0, zero, 6                 |     a0 = 6;
    0x0005b6cc lw v1, -0x7fc8(gp)                |     v1 = *(gp);
    0x0005b6d0 lw a3, -0x7fc8(gp)                |     a3 = *(gp);
    0x0005b6d4 lw t9, -0x79d0(gp)                |     t9 = sym.imp.imp_log_fun;
                                                 |     /* str._home_ptkang_work_platform_isvp_20160504_e_proj_sdk_lv3_src_imp_isp_isp_tseries.c */
    0x0005b6d8 addiu v1, v1, -0x3418             |     v1 += -0x3418;
    0x0005b6dc sw v1, 0x10(sp)                   |     *(var_10h) = v1;
    0x0005b6e0 addiu v1, zero, 0x34e             |     v1 = 0x34e;
    0x0005b6e4 sw v1, 0x14(sp)                   |     *(var_14h) = v1;
    0x0005b6e8 lw v1, -0x7fc8(gp)                |     v1 = *(gp);
    0x0005b6ec addiu a2, zero, 2                 |     a2 = 2;
                                                 |     /* str.IMP_ISP */
    0x0005b6f0 addiu a3, a3, -0x3420             |     a3 += -0x3420;
                                                 |     /* obj.__func__.8463 */
    0x0005b6f4 addiu v1, v1, -0x2840             |     v1 += -0x2840;
    0x0005b6f8 sw v1, 0x18(sp)                   |     *(var_18h) = v1;
    0x0005b6fc lw v1, -0x7fc8(gp)                |     v1 = *(gp);
                                                 |     /* str.Cannot_open__dev_video0_n */
    0x0005b700 addiu v1, v1, -0x2da0             |     v1 += -0x2da0;
    0x0005b704 sw v1, 0x1c(sp)                   |     *(var_1ch) = v1;
    0x0005b708 jalr t9                           |     t9 ();
    0x0005b70c addiu v0, zero, -1                |     v0 = -1;
    0x0005b710 b 0x5b144                         |     goto label_0;
                                                 | label_6:
    0x0005b714 lw t9, -0x7f14(gp)                |     t9 = sym.imp.close;
    0x0005b718 move a0, s2                       |     a0 = s2;
    0x0005b71c jalr t9                           |     t9 ();
    0x0005b720 addiu v0, zero, -1                |     v0 = -1;
    0x0005b724 b 0x5b144                         |     goto label_0;
                                                 | }
    ; assembly                               | /* r2dec pseudo code output */
                                             | /* /logs/firmware/unblob_extracted/firmware_extract/6225984-11075644.jffs2_new_extract/lib/libmp.so @ 0x82d8c */
                                             | #include <stdint.h>
                                             |  
    ; (fcn) sym.IMP_IVS_CreateGroup ()       | void IMP_IVS_CreateGroup () {
    0x00082d8c lui gp, 7                     |     
    0x00082d90 addiu gp, gp, -0x597c         |     
    0x00082d94 addu gp, gp, t9               |     gp += t9;
    0x00082d98 addiu sp, sp, -0x58           |     
    0x00082d9c sltiu v0, a0, 2               |     v0 = (a0 < 2) ? 1 : 0;
    0x00082da0 sw gp, 0x28(sp)               |     *(var_28h) = gp;
    0x00082da4 sw ra, 0x54(sp)               |     *(var_54h) = ra;
    0x00082da8 sw s4, 0x50(sp)               |     *(var_50h) = s4;
    0x00082dac sw s3, 0x4c(sp)               |     *(var_4ch) = s3;
    0x00082db0 sw s2, 0x48(sp)               |     *(var_48h) = s2;
    0x00082db4 sw s1, 0x44(sp)               |     *(var_44h) = s1;
    0x00082db8 sw s0, 0x40(sp)               |     *(var_40h) = s0;
    0x00082dbc lw t9, -0x7adc(gp)            |     t9 = sym.imp.IMP_Log_Get_Option;
                                             |     if (v0 == 0) {
    0x00082dc0 beqz v0, 0x82ee4              |         goto label_1;
                                             |     }
    0x00082dc4 lw v0, -0x7fa8(gp)            |     v0 = *((gp - 8170));
    0x00082dc8 lw s1, -0x5a20(v0)            |     s1 = *((v0 - 5768));
    0x00082dcc addiu s3, a0, 0x480           |     s3 = a0 + 0x480;
                                             |     if (s1 == 0) {
    0x00082dd0 beqz s1, 0x82ff4              |         goto label_2;
                                             |     }
    0x00082dd4 sll v0, s3, 2                 |     v0 = s3 << 2;
    0x00082dd8 addu v0, s1, v0               |     v0 = s1 + v0;
    0x00082ddc lw v0, 4(v0)                  |     v0 = *((v0 + 1));
    0x00082de0 addiu s4, zero, 1             |     s4 = 1;
    0x00082de4 move s0, a0                   |     s0 = a0;
                                             |     if (v0 == s4) {
    0x00082de8 beq v0, s4, 0x82e84           |         goto label_3;
                                             |     }
    0x00082dec lw s2, (s1)                   |     s2 = *(s1);
    0x00082df0 lw v0, 0x24(s2)               |     v0 = *((s2 + 9));
    0x00082df4 slt v0, a0, v0                |     v0 = (a0 < v0) ? 1 : 0;
    0x00082df8 lw a1, -0x7fc8(gp)            |     a1 = *(gp);
                                             |     if (v0 == 0) {
    0x00082dfc beqz v0, 0x82f40              |         goto label_4;
                                             |     }
    0x00082e00 lw t9, -0x7c30(gp)            |     t9 = sym.imp.sprintf
    0x00082e04 move a3, s0                   |     a3 = s0;
    0x00082e08 addiu a0, sp, 0x30            |     a0 = sp + 0x30;
                                             |     /* str._s__d */
    0x00082e0c addiu a1, a1, -0x78dc         |     a1 += -0x78dc;
    0x00082e10 move a2, s2                   |     a2 = s2;
    0x00082e14 jalr t9                       |     t9 ();
    0x00082e18 lw gp, 0x28(sp)               |     gp = *(var_28h);
    0x00082e1c lw a0, 0x20(s2)               |     a0 = *((s2 + 8));
    0x00082e20 move a1, s0                   |     a1 = s0;
    0x00082e24 lw a3, -0x7f90(gp)            |     a3 = *(gp);
    0x00082e28 lw t9, -0x7f30(gp)            |     t9 = sym.create_group;
    0x00082e2c addiu s0, s0, 8               |     s0 += 8;
    0x00082e30 addiu a2, sp, 0x30            |     a2 = sp + 0x30;
                                             |     /* sym.ivs_update */
    0x00082e34 addiu a3, a3, 0x2100          |     a3 += 0x2100;
    0x00082e38 sll s0, s0, 2                 |     s0 <<= 2;
    0x00082e3c jalr t9                       |     t9 ();
    0x00082e40 addu s0, s2, s0               |     s0 = s2 + s0;
    0x00082e44 sw s2, (v0)                   |     *(v0) = s2;
    0x00082e48 sw v0, 8(s0)                  |     *((s0 + 2)) = v0;
    0x00082e4c sw s4, 0xc(v0)                |     *((v0 + 3)) = s4;
    0x00082e50 sll s3, s3, 2                 |     s3 <<= 2;
    0x00082e54 addiu v0, zero, 1             |     v0 = 1;
                                             |     do {
    0x00082e58 addu s1, s1, s3               |         s1 += s3;
    0x00082e5c sw v0, 4(s1)                  |         *((s1 + 1)) = v0;
    0x00082e60 move v0, zero                 |         v0 = 0;
                                             | label_0:
    0x00082e64 lw ra, 0x54(sp)               |         ra = *(var_54h);
    0x00082e68 lw s4, 0x50(sp)               |         s4 = *(var_50h);
    0x00082e6c lw s3, 0x4c(sp)               |         s3 = *(var_4ch);
    0x00082e70 lw s2, 0x48(sp)               |         s2 = *(var_48h);
    0x00082e74 lw s1, 0x44(sp)               |         s1 = *(var_44h);
    0x00082e78 lw s0, 0x40(sp)               |         s0 = *(var_40h);
    0x00082e7c addiu sp, sp, 0x58            |         
    0x00082e80 jr ra                         |         return v1;
                                             | label_3:
    0x00082e84 sll s3, s3, 2                 |         s3 <<= 2;
    0x00082e88 jalr t9                       |         t9 ();
    0x00082e8c lw gp, 0x28(sp)               |         gp = *(var_28h);
    0x00082e90 sw s0, 0x20(sp)               |         *(var_20h) = s0;
    0x00082e94 addiu a0, zero, 2             |         a0 = 2;
    0x00082e98 lw v1, -0x7fc8(gp)            |         v1 = *(gp);
    0x00082e9c lw a3, -0x7fc8(gp)            |         a3 = *(gp);
    0x00082ea0 lw t9, -0x79d0(gp)            |         t9 = sym.imp.imp_log_fun;
                                             |         /* str._home_ptkang_work_platform_isvp_20160504_e_proj_sdk_lv3_src_imp_ivs_ivs.c */
    0x00082ea4 addiu v1, v1, 0x2dc4          |         v1 += 0x2dc4;
    0x00082ea8 sw v1, 0x10(sp)               |         *(var_10h) = v1;
    0x00082eac addiu v1, zero, 0x1a3         |         v1 = 0x1a3;
    0x00082eb0 sw v1, 0x14(sp)               |         *(var_14h) = v1;
    0x00082eb4 lw v1, -0x7fc8(gp)            |         v1 = *(gp);
    0x00082eb8 move a1, v0                   |         a1 = v0;
    0x00082ebc addiu a2, zero, 2             |         a2 = 2;
                                             |         /* obj.__func__.6829_1 */
    0x00082ec0 addiu v1, v1, 0x3410          |         v1 += 0x3410;
    0x00082ec4 sw v1, 0x18(sp)               |         *(var_18h) = v1;
    0x00082ec8 lw v1, -0x7fc8(gp)            |         v1 = *(gp);
                                             |         /* esilref: 'IVS' */
    0x00082ecc addiu a3, a3, 0x2dc0          |         a3 += aav.0x00002dc0;
                                             |         /* str.IMP_IVS_CreateGroup__d__had_been_used___n */
    0x00082ed0 addiu v1, v1, 0x2f88          |         v1 += 0x2f88;
    0x00082ed4 sw v1, 0x1c(sp)               |         *(var_1ch) = v1;
    0x00082ed8 jalr t9                       |         t9 ();
    0x00082edc addiu v0, zero, 1             |         v0 = 1;
    0x00082ee0 b 0x82e58                     |         
                                             |     } while (1);
                                             | label_1:
    0x00082ee4 jalr t9                       |     t9 ();
    0x00082ee8 nop                           |     
    0x00082eec lw gp, 0x28(sp)               |     gp = *(var_28h);
    0x00082ef0 lw v1, -0x7fc8(gp)            |     v1 = *(gp);
    0x00082ef4 lw t9, -0x79d0(gp)            |     t9 = sym.imp.imp_log_fun;
                                             |     /* str._home_ptkang_work_platform_isvp_20160504_e_proj_sdk_lv3_src_imp_ivs_ivs.c */
    0x00082ef8 addiu v1, v1, 0x2dc4          |     v1 += 0x2dc4;
    0x00082efc sw v1, 0x10(sp)               |     *(var_10h) = v1;
    0x00082f00 addiu v1, zero, 0x198         |     v1 = aav.0x00000198;
    0x00082f04 sw v1, 0x14(sp)               |     *(var_14h) = v1;
    0x00082f08 lw v1, -0x7fc8(gp)            |     v1 = *(gp);
                                             |     /* obj.__func__.6829_1 */
    0x00082f0c addiu v1, v1, 0x3410          |     v1 += 0x3410;
    0x00082f10 sw v1, 0x18(sp)               |     *(var_18h) = v1;
    0x00082f14 lw v1, -0x7fc8(gp)            |     v1 = *(gp);
                                             |     /* str.GrpNum_is_error___n */
    0x00082f18 addiu v1, v1, 0x2f60          |     v1 += 0x2f60;
                                             |     do {
    0x00082f1c lw a3, -0x7fc8(gp)            |         a3 = *(gp);
    0x00082f20 move a1, v0                   |         a1 = v0;
    0x00082f24 sw v1, 0x1c(sp)               |         *(var_1ch) = v1;
    0x00082f28 addiu a0, zero, 6             |         a0 = 6;
    0x00082f2c addiu a2, zero, 2             |         a2 = 2;
                                             |         /* esilref: 'IVS' */
    0x00082f30 addiu a3, a3, 0x2dc0          |         a3 += aav.0x00002dc0;
    0x00082f34 jalr t9                       |         t9 ();
    0x00082f38 addiu v0, zero, -1            |         v0 = -1;
    0x00082f3c b 0x82e64                     |         goto label_0;
                                             | label_4:
    0x00082f40 lw s1, -0x7fc8(gp)            |         s1 = *(gp);
    0x00082f44 jalr t9                       |         t9 ();
    0x00082f48 nop                           |         
    0x00082f4c lw gp, 0x28(sp)               |         gp = *(var_28h);
    0x00082f50 move a1, v0                   |         a1 = v0;
    0x00082f54 addiu v0, zero, 0x135         |         v0 = 0x135;
    0x00082f58 sw v0, 0x14(sp)               |         *(var_14h) = v0;
    0x00082f5c lw v0, -0x7fc8(gp)            |         v0 = *(gp);
    0x00082f60 lw s2, -0x7fc8(gp)            |         s2 = *(gp);
    0x00082f64 lw t9, -0x79d0(gp)            |         t9 = sym.imp.imp_log_fun;
                                             |         /* obj.__func__.6800 */
    0x00082f68 addiu v0, v0, 0x3424          |         v0 += 0x3424;
    0x00082f6c sw v0, 0x18(sp)               |         *(var_18h) = v0;
    0x00082f70 lw v0, -0x7fc8(gp)            |         v0 = *(gp);
                                             |         /* str._home_ptkang_work_platform_isvp_20160504_e_proj_sdk_lv3_src_imp_ivs_ivs.c */
    0x00082f74 addiu s2, s2, 0x2dc4          |         s2 += 0x2dc4;
    0x00082f78 addiu a0, zero, 6             |         a0 = 6;
                                             |         /* str.Invalid_group_num_d_n */
    0x00082f7c addiu v0, v0, -0x7908         |         v0 += -0x7908;
    0x00082f80 addiu a2, zero, 2             |         a2 = 2;
                                             |         /* esilref: 'IVS' */
    0x00082f84 addiu a3, s1, 0x2dc0          |         a3 = s1 + aav.0x00002dc0;
    0x00082f88 sw v0, 0x1c(sp)               |         *(var_1ch) = v0;
    0x00082f8c sw s2, 0x10(sp)               |         *(var_10h) = s2;
    0x00082f90 sw s0, 0x20(sp)               |         *(var_20h) = s0;
    0x00082f94 jalr t9                       |         t9 ();
    0x00082f98 lw gp, 0x28(sp)               |         gp = *(var_28h);
    0x00082f9c lw t9, -0x7adc(gp)            |         t9 = sym.imp.IMP_Log_Get_Option;
    0x00082fa0 jalr t9                       |         t9 ();
    0x00082fa4 nop                           |         
    0x00082fa8 lw gp, 0x28(sp)               |         gp = *(var_28h);
    0x00082fac addiu v1, zero, 0x1a7         |         v1 = 0x1a7;
    0x00082fb0 sw v1, 0x14(sp)               |         *(var_14h) = v1;
    0x00082fb4 lw v1, -0x7fc8(gp)            |         v1 = *(gp);
    0x00082fb8 lw t9, -0x79d0(gp)            |         t9 = sym.imp.imp_log_fun;
    0x00082fbc move a1, v0                   |         a1 = v0;
                                             |         /* obj.__func__.6829_1 */
    0x00082fc0 addiu v1, v1, 0x3410          |         v1 += 0x3410;
    0x00082fc4 sw v1, 0x18(sp)               |         *(var_18h) = v1;
    0x00082fc8 lw v1, -0x7fc8(gp)            |         v1 = *(gp);
    0x00082fcc sw s2, 0x10(sp)               |         *(var_10h) = s2;
    0x00082fd0 sw s0, 0x20(sp)               |         *(var_20h) = s0;
                                             |         /* str.ivs_create_group__d__error__ */
    0x00082fd4 addiu v1, v1, 0x2fb4          |         v1 += aav.0x00002fb4;
    0x00082fd8 sw v1, 0x1c(sp)               |         *(var_1ch) = v1;
    0x00082fdc addiu a0, zero, 6             |         a0 = 6;
    0x00082fe0 addiu a2, zero, 2             |         a2 = 2;
                                             |         /* esilref: 'IVS' */
    0x00082fe4 addiu a3, s1, 0x2dc0          |         a3 = s1 + aav.0x00002dc0;
    0x00082fe8 jalr t9                       |         t9 ();
    0x00082fec addiu v0, zero, -1            |         v0 = -1;
    0x00082ff0 b 0x82e64                     |         goto label_0;
                                             | label_2:
    0x00082ff4 jalr t9                       |         t9 ();
    0x00082ff8 nop                           |         
    0x00082ffc lw gp, 0x28(sp)               |         gp = *(var_28h);
    0x00083000 lw v1, -0x7fc8(gp)            |         v1 = *(gp);
    0x00083004 lw t9, -0x79d0(gp)            |         t9 = sym.imp.imp_log_fun;
                                             |         /* str._home_ptkang_work_platform_isvp_20160504_e_proj_sdk_lv3_src_imp_ivs_ivs.c */
    0x00083008 addiu v1, v1, 0x2dc4          |         v1 += 0x2dc4;
    0x0008300c sw v1, 0x10(sp)               |         *(var_10h) = v1;
    0x00083010 addiu v1, zero, 0x19e         |         v1 = 0x19e;
    0x00083014 sw v1, 0x14(sp)               |         *(var_14h) = v1;
    0x00083018 lw v1, -0x7fc8(gp)            |         v1 = *(gp);
                                             |         /* obj.__func__.6829_1 */
    0x0008301c addiu v1, v1, 0x3410          |         v1 += 0x3410;
    0x00083020 sw v1, 0x18(sp)               |         *(var_18h) = v1;
    0x00083024 lw v1, -0x7fc8(gp)            |         v1 = *(gp);
                                             |         /* str.IVS_may_not_init_n */
    0x00083028 addiu v1, v1, 0x2f74          |         v1 += 0x2f74;
    0x0008302c b 0x82f1c                     |         
                                             |     } while (1);
                                             | }
    ; assembly                               | /* r2dec pseudo code output */
                                             | /* /logs/firmware/unblob_extracted/firmware_extract/6225984-11075644.jffs2_new_extract/lib/libmp.so @ 0x7dff8 */
                                             | #include <stdint.h>
                                             |  
    ; (fcn) sym.IMP_OSD_CreateGroup ()       | void IMP_OSD_CreateGroup () {
    0x0007dff8 lui gp, 7                     |     
    0x0007dffc addiu gp, gp, -0xbe8          |     
    0x0007e000 addu gp, gp, t9               |     gp += t9;
    0x0007e004 addiu sp, sp, -0x50           |     
    0x0007e008 slti v0, a0, 4                |     v0 = (a0 < 4) ? 1 : 0;
    0x0007e00c sw gp, 0x28(sp)               |     *(var_28h) = gp;
    0x0007e010 sw s0, 0x40(sp)               |     *(var_40h) = s0;
    0x0007e014 sw ra, 0x4c(sp)               |     *(var_4ch) = ra;
    0x0007e018 sw s2, 0x48(sp)               |     *(var_48h) = s2;
    0x0007e01c sw s1, 0x44(sp)               |     *(var_44h) = s1;
    0x0007e020 move s0, a0                   |     s0 = a0;
                                             |     if (v0 == 0) {
    0x0007e024 beqz v0, 0x7e11c              |         goto label_1;
                                             |     }
    0x0007e028 lw v0, -0x7fa8(gp)            |     v0 = *((gp - 8170));
    0x0007e02c lw s1, -0x5a70(v0)            |     s1 = *((v0 - 5788));
    0x0007e030 lui v0, 2                     |     v0 = 0x20000;
                                             |     if (s1 == 0) {
    0x0007e034 beqz s1, 0x7e184              |         goto label_2;
                                             |     }
                                             |     /* aav.0x00020000 */
    0x0007e038 addu v0, s1, v0               |     v0 = s1 + v0;
    0x0007e03c lw a1, -0x7fc8(gp)            |     a1 = *(gp);
    0x0007e040 lw s2, 0x1070(v0)             |     s2 = *((v0 + 1052));
    0x0007e044 lw t9, -0x7c30(gp)            |     t9 = sym.imp.sprintf
    0x0007e048 addiu a0, sp, 0x30            |     a0 = sp + 0x30;
                                             |     /* str._s__d */
    0x0007e04c addiu a1, a1, -0x78dc         |     a1 += -0x78dc;
    0x0007e050 move a2, s2                   |     a2 = s2;
    0x0007e054 move a3, s0                   |     a3 = s0;
    0x0007e058 jalr t9                       |     t9 ();
    0x0007e05c lw gp, 0x28(sp)               |     gp = *(var_28h);
    0x0007e060 addiu a0, zero, 4             |     a0 = 4;
    0x0007e064 move a1, s0                   |     a1 = s0;
    0x0007e068 lw a3, -0x7f90(gp)            |     a3 = *(gp);
    0x0007e06c lw t9, -0x7f30(gp)            |     t9 = sym.create_group;
    0x0007e070 addiu a2, sp, 0x30            |     a2 = sp + 0x30;
                                             |     /* sym.osd_update */
    0x0007e074 addiu a3, a3, -0x3630         |     a3 += -0x3630;
    0x0007e078 jalr t9                       |     t9 ();
    0x0007e07c lw gp, 0x28(sp)               |     gp = *(var_28h);
                                             |     if (v0 == 0) {
    0x0007e080 beqz v0, 0x7e1e8              |         goto label_3;
                                             |     }
    0x0007e084 sll a0, s0, 4                 |     a0 = s0 << 4;
    0x0007e088 sll a1, s0, 7                 |     a1 = s0 << 7;
    0x0007e08c subu v1, a1, a0               |     __asm ("subu v1, a1, a0");
    0x0007e090 subu v1, v1, s0               |     __asm ("subu v1, v1, s0");
    0x0007e094 sll a2, v1, 4                 |     a2 = v1 << 4;
    0x0007e098 subu v1, a2, v1               |     __asm ("subu v1, a2, v1");
    0x0007e09c sll t0, v1, 4                 |     t0 = v1 << 4;
    0x0007e0a0 addu t0, s1, t0               |     t0 = s1 + t0;
    0x0007e0a4 addiu t0, t0, 4               |     t0 += 4;
    0x0007e0a8 move v1, zero                 |     v1 = 0;
    0x0007e0ac addiu t1, zero, 0x200         |     t1 = aav.0x00000200;
                                             |     do {
    0x0007e0b0 sw v1, (t0)                   |         *(t0) = v1;
    0x0007e0b4 addiu v1, v1, 1               |         v1++;
    0x0007e0b8 sw zero, 0x28(t0)             |         *((t0 + 10)) = 0;
    0x0007e0bc addiu t0, t0, 0x34            |         t0 += 0x34;
    0x0007e0c0 bne v1, t1, 0x7e0b0           |         
                                             |     } while (v1 != t1);
    0x0007e0c4 subu v1, a1, a0               |     __asm ("subu v1, a1, a0");
    0x0007e0c8 subu v1, v1, s0               |     __asm ("subu v1, v1, s0");
    0x0007e0cc sll a1, v1, 4                 |     a1 = v1 << 4;
    0x0007e0d0 addiu a0, s0, 8               |     a0 = s0 + 8;
    0x0007e0d4 subu v1, a1, v1               |     __asm ("subu v1, a1, v1");
    0x0007e0d8 sll v1, v1, 4                 |     v1 <<= 4;
    0x0007e0dc sll a0, a0, 2                 |     a0 <<= 2;
    0x0007e0e0 addu s1, s1, v1               |     s1 += v1;
    0x0007e0e4 addu a0, s2, a0               |     a0 = s2 + a0;
    0x0007e0e8 addiu v1, zero, 3             |     v1 = 3;
    0x0007e0ec sw v1, 0xc(v0)                |     *((v0 + 3)) = v1;
    0x0007e0f0 sw s2, (v0)                   |     *(v0) = s2;
    0x0007e0f4 move v1, zero                 |     v1 = 0;
    0x0007e0f8 sw v0, 8(a0)                  |     *((a0 + 2)) = v0;
    0x0007e0fc sw s0, (s1)                   |     *(s1) = s0;
                                             |     do {
                                             | label_0:
    0x0007e100 lw ra, 0x4c(sp)               |         ra = *(var_4ch);
    0x0007e104 lw s2, 0x48(sp)               |         s2 = *(var_48h);
    0x0007e108 lw s1, 0x44(sp)               |         s1 = *(var_44h);
    0x0007e10c lw s0, 0x40(sp)               |         s0 = *(var_40h);
    0x0007e110 move v0, v1                   |         v0 = v1;
    0x0007e114 addiu sp, sp, 0x50            |         
    0x0007e118 jr ra                         |         return v1;
                                             | label_1:
    0x0007e11c lw t9, -0x7adc(gp)            |         t9 = sym.imp.IMP_Log_Get_Option;
    0x0007e120 jalr t9                       |         t9 ();
    0x0007e124 nop                           |         
    0x0007e128 lw gp, 0x28(sp)               |         gp = *(var_28h);
    0x0007e12c sw s0, 0x24(sp)               |         *(var_24h) = s0;
    0x0007e130 move a1, v0                   |         a1 = v0;
    0x0007e134 lw a0, -0x7fc8(gp)            |         a0 = *(gp);
    0x0007e138 lw v1, -0x7fc8(gp)            |         v1 = *(gp);
    0x0007e13c lw a3, -0x7fc8(gp)            |         a3 = *(gp);
                                             |         /* str._home_ptkang_work_platform_isvp_20160504_e_proj_sdk_lv3_src_imp_osd_osd.c */
    0x0007e140 addiu a0, a0, 0x2630          |         a0 += 0x2630;
    0x0007e144 sw a0, 0x10(sp)               |         *(var_10h) = a0;
    0x0007e148 addiu a0, zero, 0x2cb         |         a0 = 0x2cb;
    0x0007e14c sw a0, 0x14(sp)               |         *(var_14h) = a0;
    0x0007e150 lw a0, -0x7fc8(gp)            |         a0 = *(gp);
    0x0007e154 lw t9, -0x79d0(gp)            |         t9 = sym.imp.imp_log_fun;
                                             |         /* obj.__func__.6732 */
    0x0007e158 addiu v1, v1, 0x2a34          |         v1 += 0x2a34;
                                             |         /* str.func:_s__invalidate_grpNum:_d_n */
    0x0007e15c addiu a0, a0, 0x2798          |         a0 += 0x2798;
    0x0007e160 sw v1, 0x18(sp)               |         *(var_18h) = v1;
    0x0007e164 sw a0, 0x1c(sp)               |         *(var_1ch) = a0;
    0x0007e168 sw v1, 0x20(sp)               |         *(var_20h) = v1;
    0x0007e16c addiu a0, zero, 6             |         a0 = 6;
    0x0007e170 addiu a2, zero, 2             |         a2 = 2;
                                             |         /* esilref: 'OSD' */
    0x0007e174 addiu a3, a3, -0x1114         |         a3 += -0x1114;
    0x0007e178 jalr t9                       |         t9 ();
    0x0007e17c addiu v1, zero, -1            |         v1 = -1;
    0x0007e180 b 0x7e100                     |         
                                             |     } while (1);
                                             | label_2:
    0x0007e184 lw t9, -0x7adc(gp)            |     t9 = sym.imp.IMP_Log_Get_Option;
    0x0007e188 jalr t9                       |     t9 ();
    0x0007e18c nop                           |     
    0x0007e190 lw gp, 0x28(sp)               |     gp = *(var_28h);
    0x0007e194 lw a0, -0x7fc8(gp)            |     a0 = *(gp);
    0x0007e198 lw v1, -0x7fc8(gp)            |     v1 = *(gp);
    0x0007e19c lw t9, -0x79d0(gp)            |     t9 = sym.imp.imp_log_fun;
                                             |     /* str._home_ptkang_work_platform_isvp_20160504_e_proj_sdk_lv3_src_imp_osd_osd.c */
    0x0007e1a0 addiu a0, a0, 0x2630          |     a0 += 0x2630;
    0x0007e1a4 sw a0, 0x10(sp)               |     *(var_10h) = a0;
    0x0007e1a8 addiu a0, zero, 0x2d1         |     a0 = 0x2d1;
    0x0007e1ac sw a0, 0x14(sp)               |     *(var_14h) = a0;
    0x0007e1b0 lw a0, -0x7fc8(gp)            |     a0 = *(gp);
                                             |     /* obj.__func__.6732 */
    0x0007e1b4 addiu v1, v1, 0x2a34          |     v1 += 0x2a34;
    0x0007e1b8 sw v1, 0x18(sp)               |     *(var_18h) = v1;
                                             |     /* str.func:_s__OSD_device_hasnt_been_created_n */
    0x0007e1bc addiu a0, a0, 0x27b8          |     a0 += 0x27b8;
    0x0007e1c0 sw a0, 0x1c(sp)               |     *(var_1ch) = a0;
                                             |     do {
    0x0007e1c4 lw a3, -0x7fc8(gp)            |         a3 = *(gp);
    0x0007e1c8 sw v1, 0x20(sp)               |         *(var_20h) = v1;
    0x0007e1cc addiu a0, zero, 6             |         a0 = 6;
    0x0007e1d0 move a1, v0                   |         a1 = v0;
    0x0007e1d4 addiu a2, zero, 2             |         a2 = 2;
                                             |         /* esilref: 'OSD' */
    0x0007e1d8 addiu a3, a3, -0x1114         |         a3 += -0x1114;
    0x0007e1dc jalr t9                       |         t9 ();
    0x0007e1e0 addiu v1, zero, -1            |         v1 = -1;
    0x0007e1e4 b 0x7e100                     |         goto label_0;
                                             | label_3:
    0x0007e1e8 lw t9, -0x7adc(gp)            |         t9 = sym.imp.IMP_Log_Get_Option;
    0x0007e1ec jalr t9                       |         t9 ();
    0x0007e1f0 nop                           |         
    0x0007e1f4 lw gp, 0x28(sp)               |         gp = *(var_28h);
    0x0007e1f8 lw v1, -0x7fc8(gp)            |         v1 = *(gp);
    0x0007e1fc lw t9, -0x79d0(gp)            |         t9 = sym.imp.imp_log_fun;
                                             |         /* str._home_ptkang_work_platform_isvp_20160504_e_proj_sdk_lv3_src_imp_osd_osd.c */
    0x0007e200 addiu v1, v1, 0x2630          |         v1 += 0x2630;
    0x0007e204 sw v1, 0x10(sp)               |         *(var_10h) = v1;
    0x0007e208 addiu v1, zero, 0x2db         |         v1 = 0x2db;
    0x0007e20c sw v1, 0x14(sp)               |         *(var_14h) = v1;
    0x0007e210 lw v1, -0x7fc8(gp)            |         v1 = *(gp);
                                             |         /* obj.__func__.6732 */
    0x0007e214 addiu v1, v1, 0x2a34          |         v1 += 0x2a34;
    0x0007e218 sw v1, 0x18(sp)               |         *(var_18h) = v1;
    0x0007e21c lw v1, -0x7fc8(gp)            |         v1 = *(gp);
                                             |         /* str.create_group__s_failed_n */
    0x0007e220 addiu v1, v1, 0x27e4          |         v1 += 0x27e4;
    0x0007e224 sw v1, 0x1c(sp)               |         *(var_1ch) = v1;
    0x0007e228 addiu v1, sp, 0x30            |         v1 = sp + 0x30;
    0x0007e22c b 0x7e1c4                     |         
                                             |     } while (1);
                                             | }
    ; assembly                                   | /* r2dec pseudo code output */
                                                 | /* /logs/firmware/unblob_extracted/firmware_extract/6225984-11075644.jffs2_new_extract/lib/libmp.so @ 0xf6a0 */
                                                 | #include <stdint.h>
                                                 |  
    ; (fcn) sym.IMP_System_GetVersion ()         | void IMP_System_GetVersion () {
    0x0000f6a0 lui gp, 0xe                       |     
    0x0000f6a4 addiu gp, gp, -0x2290             |     
    0x0000f6a8 addu gp, gp, t9                   |     gp += t9;
    0x0000f6ac lw a1, -0x7fcc(gp)                |     a1 = *(gp);
                                                 |     if (a0 != 0) {
    0x0000f6b0 beqz a0, 0xf6e4                   |         
    0x0000f6b4 lw a2, -0x7fcc(gp)                |         a2 = *(gp);
    0x0000f6b8 lw t9, -0x7c30(gp)                |         t9 = sym.imp.sprintf
    0x0000f6bc addiu sp, sp, -0x20               |         
                                                 |         /* str.IMP__s */
    0x0000f6c0 addiu a1, a1, 0x7474              |         a1 += 0x7474;
    0x0000f6c4 sw ra, 0x1c(sp)                   |         *(var_1ch) = ra;
    0x0000f6c8 sw gp, 0x10(sp)                   |         *(var_10h) = gp;
                                                 |         /* str.3.11.0 */
    0x0000f6cc addiu a2, a2, 0x743c              |         a2 += 0x743c;
    0x0000f6d0 jalr t9                           |         t9 ();
    0x0000f6d4 lw ra, 0x1c(sp)                   |         ra = *(var_1ch);
    0x0000f6d8 move v0, zero                     |         v0 = 0;
    0x0000f6dc addiu sp, sp, 0x20                |         
    0x0000f6e0 jr ra                             |         return v0;
                                                 |     }
    0x0000f6e4 addiu v0, zero, -1                |     v0 = -1;
    0x0000f6e8 jr ra                             |     return v0;
                                                 | }
    ; assembly                           | /* r2dec pseudo code output */
                                         | /* /logs/firmware/unblob_extracted/firmware_extract/6225984-11075644.jffs2_new_extract/lib/libmp.so @ 0x150b8 */
                                         | #include <stdint.h>
                                         |  
    ; (fcn) sym.VBMCreatePool ()         | void VBMCreatePool () {
    0x000150b8 lui gp, 0xe               |     
    0x000150bc addiu gp, gp, -0x7ca8     |     
    0x000150c0 addu gp, gp, t9           |     gp += t9;
    0x000150c4 addiu sp, sp, -0x78       |     
    0x000150c8 slti v0, a0, 5            |     v0 = (a0 < 5) ? 1 : 0;
    0x000150cc sw gp, 0x40(sp)           |     *(var_40h) = gp;
    0x000150d0 sw ra, 0x74(sp)           |     *(var_74h) = ra;
    0x000150d4 sw fp, 0x70(sp)           |     *(var_70h) = fp;
    0x000150d8 sw s7, 0x6c(sp)           |     *(var_6ch) = s7;
    0x000150dc sw s6, 0x68(sp)           |     *(var_68h) = s6;
    0x000150e0 sw s5, 0x64(sp)           |     *(var_64h) = s5;
    0x000150e4 sw s4, 0x60(sp)           |     *(var_60h) = s4;
    0x000150e8 sw s3, 0x5c(sp)           |     *(var_5ch) = s3;
    0x000150ec sw s2, 0x58(sp)           |     *(var_58h) = s2;
    0x000150f0 sw s1, 0x54(sp)           |     *(var_54h) = s1;
    0x000150f4 sw s0, 0x50(sp)           |     *(var_50h) = s0;
    0x000150f8 sw a0, 0x78(sp)           |     *(arg_78h) = a0;
                                         |     if (v0 == 0) {
    0x000150fc beqz v0, 0x155f8          |         goto label_4;
                                         |     }
    0x00015100 lw t9, -0x7b98(gp)        |     t9 = sym.VBMGetInstance;
    0x00015104 move s0, a1               |     s0 = a1;
    0x00015108 move s1, a2               |     s1 = a2;
    0x0001510c move s5, a3               |     s5 = a3;
    0x00015110 jalr t9                   |     t9 ();
    0x00015114 lw v1, 0xcc(s0)           |     v1 = *((s0 + 51));
    0x00015118 lw gp, 0x40(sp)           |     gp = *(var_40h);
    0x0001511c sw v0, 0x4c(sp)           |     *(var_4ch) = v0;
    0x00015120 sll v0, v1, 4             |     v0 = v1 << 4;
    0x00015124 sll v1, v1, 6             |     v1 <<= 6;
    0x00015128 subu s6, v1, v0           |     __asm ("subu s6, v1, v0");
    0x0001512c lw t9, -0x76d8(gp)        |     t9 = sym.imp.malloc;
    0x00015130 addiu s6, s6, 0x160       |     s6 += aav.0x00000160;
    0x00015134 move a0, s6               |     a0 = s6;
    0x00015138 jalr t9                   |     t9 ();
    0x0001513c move fp, v0               |     fp = v0;
    0x00015140 lw gp, 0x40(sp)           |     gp = *(var_40h);
                                         |     if (v0 == 0) {
    0x00015144 beqz v0, 0x155f8          |         goto label_4;
                                         |     }
    0x00015148 lw t9, -0x7adc(gp)        |     t9 = sym.imp.IMP_Log_Get_Option;
                                         |     if (s1 == 0) {
    0x0001514c beqz s1, 0x1562c          |         goto label_5;
                                         |     }
    0x00015150 lw s3, -0x7fc4(gp)        |     s3 = *((gp - 8177));
    0x00015154 lw s2, -0x7fc4(gp)        |     s2 = *((gp - 8177));
    0x00015158 lw s4, -0x7fc4(gp)        |     s4 = *((gp - 8177));
                                         |     /* str._home_ptkang_work_platform_isvp_20160504_e_proj_sdk_lv3_src_imp_core_vbm.c */
    0x0001515c addiu s3, s3, -0x757c     |     s3 += -0x757c;
                                         |     /* obj.__func__.6238 */
    0x00015160 addiu s2, s2, -0x72b8     |     s2 += -0x72b8;
                                         | label_3:
    0x00015164 lw t9, -0x7b18(gp)        |     t9 = sym.imp.memset;
    0x00015168 move a0, fp               |     a0 = fp;
    0x0001516c move a1, zero             |     a1 = 0;
    0x00015170 move a2, s6               |     a2 = s6;
    0x00015174 jalr t9                   |     t9 ();
    0x00015178 lw v1, 0x78(sp)           |     v1 = *(arg_78h);
    0x0001517c lw gp, 0x40(sp)           |     gp = *(var_40h);
    0x00015180 sw s5, 4(fp)              |     *(arg_4h) = s5;
    0x00015184 sw v1, (fp)               |     *(fp) = v1;
    0x00015188 move v0, s0               |     v0 = s0;
    0x0001518c addiu v1, fp, 8           |     v1 = fp + 8;
    0x00015190 addiu a0, s0, 0xd0        |     a0 = s0 + 0xd0;
                                         |     do {
    0x00015194 lw t0, (v0)               |         t0 = *(v0);
    0x00015198 lw a3, 4(v0)              |         a3 = *((v0 + 1));
    0x0001519c lw a2, 8(v0)              |         a2 = *((v0 + 2));
    0x000151a0 lw a1, 0xc(v0)            |         a1 = *((v0 + 3));
    0x000151a4 addiu v0, v0, 0x10        |         v0 += 0x10;
    0x000151a8 sw t0, (v1)               |         *(v1) = t0;
    0x000151ac sw a3, 4(v1)              |         *((v1 + 1)) = a3;
    0x000151b0 sw a2, 8(v1)              |         *((v1 + 2)) = a2;
    0x000151b4 sw a1, 0xc(v1)            |         *((v1 + 3)) = a1;
    0x000151b8 addiu v1, v1, 0x10        |         v1 += 0x10;
    0x000151bc bne v0, a0, 0x15194       |         
                                         |     } while (v0 != a0);
    0x000151c0 lw v1, (s1)               |     v1 = *(s1);
    0x000151c4 lw v0, 4(s1)              |     v0 = *((s1 + 1));
    0x000151c8 lw a1, -0x7fc4(gp)        |     a1 = *((gp - 8177));
    0x000151cc lw t9, -0x7c30(gp)        |     t9 = sym.imp.sprintf
    0x000151d0 lw a2, 0x78(sp)           |     a2 = *(arg_78h);
    0x000151d4 addiu s5, fp, 0xd8        |     s5 = fp + 0xd8;
    0x000151d8 sw v1, 0x154(fp)          |     *(arg_154h) = v1;
    0x000151dc move a0, s5               |     a0 = s5;
                                         |     /* str.VBMPool_d */
    0x000151e0 addiu a1, a1, -0x743c     |     a1 += -0x743c;
    0x000151e4 sw v0, 0x158(fp)          |     *(arg_158h) = v0;
    0x000151e8 jalr t9                   |     t9 ();
    0x000151ec lw v0, 0x14(fp)           |     v0 = *(arg_14h);
    0x000151f0 lui v1, 0x3231            |     v1 = 0x32310000;
    0x000151f4 addiu a2, v1, 0x564e      |     a2 = 0x3231564e;
    0x000151f8 lw gp, 0x40(sp)           |     gp = *(var_40h);
    0x000151fc lw a1, 0xc(fp)            |     a1 = *(arg_ch);
    0x00015200 lw a0, 0x10(fp)           |     a0 = *(arg_10h);
                                         |     if (v0 == a2) {
    0x00015204 beq v0, a2, 0x15284       |         goto label_6;
                                         |     }
    0x00015208 addiu a2, v1, 0x564f      |     a2 = v1 + 0x564f;
    0x0001520c sltu a2, v0, a2           |     a2 = (v0 < a2) ? 1 : 0;
    0x00015210 addiu a2, v1, 0x4742      |     a2 = v1 + 0x4742;
                                         |     if (a2 != 0) {
    0x00015214 bnez a2, 0x1525c          |         goto label_7;
                                         |     }
    0x00015218 lui v1, 0x5042            |     v1 = 0x50420000;
    0x0001521c addiu a2, v1, 0x4752      |     a2 = 0x50424752;
    0x00015220 addiu v1, v1, 0x4753      |     v1 += 0x4753;
                                         |     if (v0 == a2) {
    0x00015224 beq v0, a2, 0x155bc       |         goto label_8;
                                         |     }
    0x00015228 sltu v1, v0, v1           |     v1 = (v0 < v1) ? 1 : 0;
    0x0001522c lui v1, 0x3352            |     v1 = 0x33520000;
                                         |     if (v1 != 0) {
    0x00015230 bnez v1, 0x1568c          |         goto label_9;
                                         |     }
    0x00015234 lui v1, 0x5659            |     v1 = 0x56595559;
    0x00015238 addiu v1, v1, 0x5559      |     
    0x0001523c lui v1, 0x5956            |     v1 = 0x59560000;
                                         |     if (v0 == v1) {
    0x00015240 beq v0, v1, 0x155bc       |         goto label_8;
                                         |     }
    0x00015244 addiu v1, v1, 0x5955      |     v1 += 0x5955;
                                         |     if (v0 == v1) {
    0x00015248 beq v0, v1, 0x155bc       |         goto label_8;
                                         |     }
    0x0001524c nop                       |     
                                         | label_1:
    0x00015250 addiu s1, zero, -1        |     s1 = -1;
                                         |     do {
    0x00015254 addiu s6, zero, -1        |         s6 = -1;
    0x00015258 b 0x152b0                 |         goto label_2;
                                         | label_7:
    0x0001525c addiu a2, v1, 0x4743      |         a2 = v1 + 0x4743;
                                         |         if (v0 == a2) {
    0x00015260 beq v0, a2, 0x155bc       |             goto label_8;
                                         |         }
    0x00015264 sltu a2, v0, a2           |         a2 = (v0 < a2) ? 1 : 0;
    0x00015268 addiu a2, v1, 0x4142      |         a2 = v1 + 0x4142;
                                         |         if (a2 != 0) {
    0x0001526c bnez a2, 0x155ac          |             goto label_10;
                                         |         }
    0x00015270 addiu a2, v1, 0x4752      |         a2 = v1 + 0x4752;
    0x00015274 addiu v1, v1, 0x5559      |         v1 += 0x5559;
                                         |         if (v0 == a2) {
    0x00015278 beq v0, a2, 0x155bc       |             goto label_8;
                                         |         }
    0x0001527c addiu s1, zero, -1        |         s1 = -1;
    0x00015280 bne v0, v1, 0x15254       |         
                                         |     } while (v0 != v1);
                                         | label_6:
    0x00015284 addiu v0, zero, -0x10     |     v0 = -0x10;
    0x00015288 addiu v1, a1, 0xf         |     v1 = a1 + 0xf;
    0x0001528c and v1, v1, v0            |     v1 &= v0;
    0x00015290 sll a1, v1, 2             |     a1 = v1 << 2;
    0x00015294 sll v1, v1, 4             |     v1 <<= 4;
    0x00015298 subu s6, v1, a1           |     __asm ("subu s6, v1, a1");
    0x0001529c addiu a0, a0, 0xf         |     a0 += 0xf;
    0x000152a0 sra s6, s6, 3             |     s6 >>= 3;
    0x000152a4 and v0, a0, v0            |     v0 = a0 & v0;
    0x000152a8 mul s6, s6, v0            |     __asm ("mul s6, s6, v0");
    0x000152ac move s1, s6               |     s1 = s6;
                                         | label_2:
    0x000152b0 lw t9, -0x7adc(gp)        |     t9 = sym.imp.IMP_Log_Get_Option;
    0x000152b4 jalr t9                   |     t9 ();
    0x000152b8 nop                       |     
    0x000152bc lw gp, 0x40(sp)           |     gp = *(var_40h);
    0x000152c0 move a1, v0               |     a1 = v0;
    0x000152c4 addiu v0, zero, 0x10f     |     v0 = 0x10f;
    0x000152c8 sw v0, 0x14(sp)           |     *(var_14h) = v0;
    0x000152cc lw v0, -0x7fc4(gp)        |     v0 = *((gp - 8177));
    0x000152d0 lw t1, 0xc(fp)            |     t1 = *(arg_ch);
    0x000152d4 lw t0, 0x10(fp)           |     t0 = *(arg_10h);
                                         |     /* str._s____d:_w_d_h_d_f_d_n */
    0x000152d8 addiu v0, v0, -0x7430     |     v0 += -0x7430;
    0x000152dc lw v1, 0x14(fp)           |     v1 = *(arg_14h);
    0x000152e0 sw v0, 0x1c(sp)           |     *(var_1ch) = v0;
    0x000152e4 lw v0, 0x78(sp)           |     v0 = *(arg_78h);
    0x000152e8 lw t9, -0x79d0(gp)        |     t9 = sym.imp.imp_log_fun;
    0x000152ec sw t1, 0x28(sp)           |     *(var_28h) = t1;
    0x000152f0 sw t0, 0x2c(sp)           |     *(var_2ch) = t0;
    0x000152f4 addiu a0, zero, 6         |     a0 = 6;
    0x000152f8 addiu a2, zero, 2         |     a2 = 2;
                                         |     /* esilref: 'VBM' */
    0x000152fc addiu a3, s4, -0x7580     |     a3 = s4 + -0x7580;
    0x00015300 sw v1, 0x30(sp)           |     *(var_30h) = v1;
    0x00015304 sw v0, 0x24(sp)           |     *(var_24h) = v0;
    0x00015308 sw s3, 0x10(sp)           |     *(var_10h) = s3;
    0x0001530c sw s2, 0x18(sp)           |     *(var_18h) = s2;
    0x00015310 sw s2, 0x20(sp)           |     *(var_20h) = s2;
    0x00015314 jalr t9                   |     t9 ();
    0x00015318 lw gp, 0x40(sp)           |     gp = *(var_40h);
    0x0001531c lw t9, -0x7adc(gp)        |     t9 = sym.imp.IMP_Log_Get_Option;
    0x00015320 jalr t9                   |     t9 ();
    0x00015324 nop                       |     
    0x00015328 lw gp, 0x40(sp)           |     gp = *(var_40h);
    0x0001532c move a1, v0               |     a1 = v0;
    0x00015330 addiu v0, zero, 0x110     |     v0 = aav.0x00000110;
    0x00015334 sw v0, 0x14(sp)           |     *(var_14h) = v0;
    0x00015338 lw v0, -0x7fc4(gp)        |     v0 = *((gp - 8177));
    0x0001533c lw v1, 0x20(fp)           |     v1 = *(arg_20h);
    0x00015340 lw t9, -0x79d0(gp)        |     t9 = sym.imp.imp_log_fun;
                                         |     /* str._s____d:_pool__config.fmt.fmt.pix.sizeimage_d_sizeimage_d_n */
    0x00015344 addiu v0, v0, -0x7414     |     v0 += -0x7414;
    0x00015348 sw v0, 0x1c(sp)           |     *(var_1ch) = v0;
    0x0001534c lw v0, 0x78(sp)           |     v0 = *(arg_78h);
    0x00015350 addiu a2, zero, 2         |     a2 = 2;
                                         |     /* esilref: 'VBM' */
    0x00015354 addiu a3, s4, -0x7580     |     a3 = s4 + -0x7580;
    0x00015358 addiu a0, zero, 6         |     a0 = 6;
    0x0001535c sw v0, 0x24(sp)           |     *(var_24h) = v0;
    0x00015360 sw v1, 0x28(sp)           |     *(var_28h) = v1;
    0x00015364 sw s3, 0x10(sp)           |     *(var_10h) = s3;
    0x00015368 sw s2, 0x18(sp)           |     *(var_18h) = s2;
    0x0001536c sw s2, 0x20(sp)           |     *(var_20h) = s2;
    0x00015370 sw s6, 0x2c(sp)           |     *(var_2ch) = s6;
    0x00015374 jalr t9                   |     t9 ();
    0x00015378 lw v0, 0x20(fp)           |     v0 = *(arg_20h);
    0x0001537c lw a1, 0xcc(s0)           |     a1 = *((s0 + 51));
    0x00015380 lw gp, 0x40(sp)           |     gp = *(var_40h);
    0x00015384 sltu v1, s1, v0           |     v1 = (s1 < v0) ? 1 : 0;
                                         |     if (v1 == 0) {
    0x00015388 movn s1, v0, v1           |         s1 = v0;
                                         |     }
    0x0001538c mul a1, s1, a1            |     __asm ("mul a1, s1, a1");
    0x00015390 lw t9, -0x7814(gp)        |     t9 = sym.IMP_Alloc;
    0x00015394 move a0, s5               |     a0 = s5;
    0x00015398 jalr t9                   |     t9 ();
    0x0001539c lw gp, 0x40(sp)           |     gp = *(var_40h);
    0x000153a0 lw t9, -0x7adc(gp)        |     t9 = sym.imp.IMP_Log_Get_Option;
    0x000153a4 move s5, v0               |     s5 = v0;
    0x000153a8 jalr t9                   |     t9 ();
    0x000153ac lw gp, 0x40(sp)           |     gp = *(var_40h);
    0x000153b0 addiu v1, zero, 0x114     |     v1 = sym..reginfo;
    0x000153b4 sw v1, 0x14(sp)           |     *(var_14h) = v1;
    0x000153b8 lw v1, -0x7fc4(gp)        |     v1 = *((gp - 8177));
    0x000153bc lw t9, -0x79d0(gp)        |     t9 = sym.imp.imp_log_fun;
    0x000153c0 sw s3, 0x10(sp)           |     *(var_10h) = s3;
                                         |     /* str._s____d:_sizeimage_d_n */
    0x000153c4 addiu v1, v1, -0x73d4     |     v1 += -0x73d4;
    0x000153c8 sw v1, 0x1c(sp)           |     *(var_1ch) = v1;
    0x000153cc lw v1, 0x78(sp)           |     v1 = *(arg_78h);
    0x000153d0 sw s2, 0x18(sp)           |     *(var_18h) = s2;
    0x000153d4 sw s2, 0x20(sp)           |     *(var_20h) = s2;
    0x000153d8 sw v1, 0x24(sp)           |     *(var_24h) = v1;
    0x000153dc sw s1, 0x28(sp)           |     *(var_28h) = s1;
    0x000153e0 addiu a0, zero, 6         |     a0 = 6;
    0x000153e4 move a1, v0               |     a1 = v0;
    0x000153e8 addiu a2, zero, 2         |     a2 = 2;
                                         |     /* esilref: 'VBM' */
    0x000153ec addiu a3, s4, -0x7580     |     a3 = s4 + -0x7580;
    0x000153f0 jalr t9                   |     t9 ();
    0x000153f4 lw gp, 0x40(sp)           |     gp = *(var_40h);
                                         |     if (s5 < 0) {
    0x000153f8 bltz s5, 0x155d0          |         goto label_11;
                                         |     }
    0x000153fc lw a0, 0x138(fp)          |     a0 = *(arg_138h);
    0x00015400 lw v1, 0x13c(fp)          |     v1 = *(arg_13ch);
    0x00015404 lw v0, 0xd4(fp)           |     v0 = *(arg_d4h);
    0x00015408 sw a0, 0x14c(fp)          |     *(arg_14ch) = a0;
    0x0001540c sw v1, 0x150(fp)          |     *(arg_150h) = v1;
                                         |     if (v0 <= 0) {
    0x00015410 blez v0, 0x15564          |         goto label_12;
                                         |     }
    0x00015414 addiu v1, fp, 0x160       |     v1 = fp + aav.0x00000160;
    0x00015418 move s7, zero             |     s7 = 0;
    0x0001541c move s0, zero             |     s0 = 0;
    0x00015420 move s5, zero             |     s5 = 0;
    0x00015424 sw v1, 0x48(sp)           |     *(var_48h) = v1;
    0x00015428 addiu s4, zero, 0x1e      |     s4 = 0x1e;
                                         | label_0:
    0x0001542c lw v1, 0x48(sp)           |     v1 = *(var_48h);
    0x00015430 lw v0, (fp)               |     v0 = *(fp);
    0x00015434 lw t9, -0x7adc(gp)        |     t9 = sym.imp.IMP_Log_Get_Option;
    0x00015438 addu s6, v1, s0           |     s6 = v1 + s0;
    0x0001543c sw v0, 4(s6)              |     *((s6 + 1)) = v0;
    0x00015440 sw s5, (s6)               |     *(s6) = s5;
    0x00015444 lw a0, 0xc(fp)            |     a0 = *(arg_ch);
    0x00015448 lw v1, 0x150(fp)          |     v1 = *(arg_150h);
    0x0001544c lw v0, 0x14c(fp)          |     v0 = *(arg_14ch);
    0x00015450 sw a0, 8(s6)              |     *((s6 + 2)) = a0;
    0x00015454 lw a0, 0x10(fp)           |     a0 = *(arg_10h);
    0x00015458 addu v1, v1, s7           |     v1 += s7;
    0x0001545c addu v0, v0, s7           |     v0 += s7;
    0x00015460 sw a0, 0xc(s6)            |     *((s6 + 3)) = a0;
    0x00015464 lw a0, 0x14(fp)           |     a0 = *(arg_14h);
    0x00015468 sw v1, 0x18(s6)           |     *((s6 + 6)) = v1;
    0x0001546c sw s1, 0x14(s6)           |     *((s6 + 5)) = s1;
    0x00015470 sw a0, 0x10(s6)           |     *((s6 + 4)) = a0;
    0x00015474 sw v0, 0x1c(s6)           |     *((s6 + 7)) = v0;
    0x00015478 jalr t9                   |     t9 ();
    0x0001547c lw gp, 0x40(sp)           |     gp = *(var_40h);
    0x00015480 addiu a3, zero, 0x12f     |     a3 = 0x12f;
    0x00015484 lw a2, 4(s6)              |     a2 = *((s6 + 1));
    0x00015488 lw a0, 0x1c(s6)           |     a0 = *((s6 + 7));
    0x0001548c lw v1, 0x18(s6)           |     v1 = *((s6 + 6));
    0x00015490 sw a3, 0x14(sp)           |     *(var_14h) = a3;
    0x00015494 lw a3, -0x7fc4(gp)        |     a3 = *((gp - 8177));
    0x00015498 lw t9, -0x79d0(gp)        |     t9 = sym.imp.imp_log_fun;
    0x0001549c addiu a1, s6, 0x28        |     a1 = s6 + 0x28;
                                         |     /* str.PoolId:_d__frame_p__frame__priv_p__frame__d_.virAddr_x__frame__d_.phyAddr_x_n */
    0x000154a0 addiu a3, a3, -0x738c     |     a3 += -0x738c;
    0x000154a4 sw a3, 0x1c(sp)           |     *(var_1ch) = a3;
    0x000154a8 lw a3, -0x7fc4(gp)        |     a3 = *((gp - 8177));
    0x000154ac sw a2, 0x20(sp)           |     *(var_20h) = a2;
    0x000154b0 sw a1, 0x28(sp)           |     *(var_28h) = a1;
    0x000154b4 sw a0, 0x30(sp)           |     *(var_30h) = a0;
    0x000154b8 sw v1, 0x38(sp)           |     *(var_38h) = v1;
    0x000154bc move a1, v0               |     a1 = v0;
    0x000154c0 sw s3, 0x10(sp)           |     *(var_10h) = s3;
    0x000154c4 sw s2, 0x18(sp)           |     *(var_18h) = s2;
    0x000154c8 sw s6, 0x24(sp)           |     *(var_24h) = s6;
    0x000154cc sw s5, 0x2c(sp)           |     *(var_2ch) = s5;
    0x000154d0 sw s5, 0x34(sp)           |     *(var_34h) = s5;
    0x000154d4 addiu a0, zero, 4         |     a0 = 4;
    0x000154d8 addiu a2, zero, 2         |     a2 = 2;
                                         |     /* esilref: 'VBM' */
    0x000154dc addiu a3, a3, -0x7580     |     a3 += -0x7580;
    0x000154e0 jalr t9                   |     t9 ();
    0x000154e4 lw gp, 0x40(sp)           |     gp = *(var_40h);
    0x000154e8 move a1, zero             |     a1 = 0;
    0x000154ec lw v1, -0x7c90(gp)        |     v1 = *(gp);
    0x000154f0 b 0x15500                 |     
                                         |     while (a2 != 0) {
    0x000154f4 addiu a1, a1, 1           |         a1++;
                                         |         if (a1 == s4) {
    0x000154f8 beq a1, s4, 0x1554c       |             goto label_13;
                                         |         }
    0x000154fc nop                       |         
    0x00015500 lw a2, (v1)               |         a2 = *(v1);
    0x00015504 addiu v1, v1, 0x28        |         v1 += 0x28;
    0x00015508 bnez a2, 0x154f4          |         
                                         |     }
    0x0001550c sll a0, a1, 3             |     a0 = a1 << 3;
    0x00015510 sll a1, a1, 5             |     a1 <<= 5;
    0x00015514 addu a0, a0, a1           |     a0 += a1;
    0x00015518 lw a1, -0x7c90(gp)        |     a1 = *(gp);
    0x0001551c lw v1, 0x1c(s6)           |     v1 = *((s6 + 7));
    0x00015520 lw v0, 0x18(s6)           |     v0 = *((s6 + 6));
    0x00015524 lw t9, -0x7e50(gp)        |     t9 = sym.imp.pthread_mutex_init;
    0x00015528 addu a0, a1, a0           |     a0 = a1 + a0;
    0x0001552c sw s6, (a0)               |     *(a0) = s6;
    0x00015530 sw v1, 4(a0)              |     *((a0 + 1)) = v1;
    0x00015534 sw v0, 8(a0)              |     *((a0 + 2)) = v0;
    0x00015538 sw zero, 0xc(a0)          |     *((a0 + 3)) = 0;
    0x0001553c move a1, zero             |     a1 = 0;
    0x00015540 addiu a0, a0, 0x10        |     a0 += 0x10;
    0x00015544 jalr t9                   |     t9 ();
    0x00015548 lw gp, 0x40(sp)           |     gp = *(var_40h);
                                         | label_13:
    0x0001554c lw v0, 0xd4(fp)           |     v0 = *(arg_d4h);
    0x00015550 addiu s5, s5, 1           |     s5++;
    0x00015554 addiu s0, s0, 0x30        |     s0 += 0x30;
    0x00015558 slt v0, s5, v0            |     v0 = (s5 < v0) ? 1 : 0;
    0x0001555c addu s7, s7, s1           |     s7 += s1;
                                         |     if (v0 != 0) {
    0x00015560 bnez v0, 0x1542c          |         goto label_0;
                                         |     }
                                         | label_12:
    0x00015564 lw v1, 0x78(sp)           |     v1 = *(arg_78h);
    0x00015568 lw ra, 0x74(sp)           |     ra = *(var_74h);
    0x0001556c lw s7, 0x6c(sp)           |     s7 = *(var_6ch);
    0x00015570 sll v0, v1, 2             |     v0 = v1 << 2;
    0x00015574 lw v1, 0x4c(sp)           |     v1 = *(var_4ch);
    0x00015578 lw s6, 0x68(sp)           |     s6 = *(var_68h);
    0x0001557c lw s5, 0x64(sp)           |     s5 = *(var_64h);
    0x00015580 addu v0, v1, v0           |     v0 = v1 + v0;
    0x00015584 sw fp, (v0)               |     *(v0) = fp;
    0x00015588 lw s4, 0x60(sp)           |     s4 = *(var_60h);
    0x0001558c lw fp, 0x70(sp)           |     fp = *(var_70h);
    0x00015590 lw s3, 0x5c(sp)           |     s3 = *(var_5ch);
    0x00015594 lw s2, 0x58(sp)           |     s2 = *(var_58h);
    0x00015598 lw s1, 0x54(sp)           |     s1 = *(var_54h);
    0x0001559c lw s0, 0x50(sp)           |     s0 = *(var_50h);
    0x000155a0 move v0, zero             |     v0 = 0;
    0x000155a4 addiu sp, sp, 0x78        |     
    0x000155a8 jr ra                     |     return v0;
                                         | label_10:
    0x000155ac addiu v1, v1, 0x4247      |     v1 += 0x4247;
                                         |     if (v0 == a2) {
    0x000155b0 beq v0, a2, 0x155bc       |         goto label_8;
                                         |     }
                                         |     if (v0 != v1) {
    0x000155b4 bne v0, v1, 0x15250       |         goto label_1;
                                         |     }
    0x000155b8 nop                       |     
                                         | label_8:
    0x000155bc mul a0, a1, a0            |     __asm ("mul a0, a1, a0");
    0x000155c0 sll s6, a0, 4             |     s6 = a0 << 4;
    0x000155c4 sra s6, s6, 3             |     s6 >>= 3;
    0x000155c8 move s1, s6               |     s1 = s6;
    0x000155cc b 0x152b0                 |     goto label_2;
                                         | label_11:
    0x000155d0 lw v0, 0xcc(s0)           |     v0 = *((s0 + 51));
    0x000155d4 lw a0, -0x7fc4(gp)        |     a0 = *((gp - 8177));
    0x000155d8 lw t9, -0x74d0(gp)        |     t9 = sym.imp.printf;
    0x000155dc mul s1, s1, v0            |     __asm ("mul s1, s1, v0");
    0x000155e0 lw a3, 0x78(sp)           |     a3 = *(arg_78h);
                                         |     /* str._s__d__poolid___d_IMP_ALLOC_failed_size___d__n */
    0x000155e4 addiu a0, a0, -0x73bc     |     a0 += -0x73bc;
    0x000155e8 move a1, s2               |     a1 = s2;
    0x000155ec addiu a2, zero, 0x116     |     a2 = 0x116;
    0x000155f0 sw s1, 0x10(sp)           |     *(var_10h) = s1;
    0x000155f4 jalr t9                   |     t9 ();
                                         | label_4:
    0x000155f8 lw ra, 0x74(sp)           |     ra = *(var_74h);
    0x000155fc lw fp, 0x70(sp)           |     fp = *(var_70h);
    0x00015600 lw s7, 0x6c(sp)           |     s7 = *(var_6ch);
    0x00015604 lw s6, 0x68(sp)           |     s6 = *(var_68h);
    0x00015608 lw s5, 0x64(sp)           |     s5 = *(var_64h);
    0x0001560c lw s4, 0x60(sp)           |     s4 = *(var_60h);
    0x00015610 lw s3, 0x5c(sp)           |     s3 = *(var_5ch);
    0x00015614 lw s2, 0x58(sp)           |     s2 = *(var_58h);
    0x00015618 lw s1, 0x54(sp)           |     s1 = *(var_54h);
    0x0001561c lw s0, 0x50(sp)           |     s0 = *(var_50h);
    0x00015620 addiu v0, zero, -1        |     v0 = -1;
    0x00015624 addiu sp, sp, 0x78        |     
    0x00015628 jr ra                     |     return v0;
                                         | label_5:
    0x0001562c lw s4, -0x7fc4(gp)        |     s4 = *((gp - 8177));
    0x00015630 jalr t9                   |     t9 ();
    0x00015634 nop                       |     
    0x00015638 lw gp, 0x40(sp)           |     gp = *(var_40h);
    0x0001563c addiu v1, zero, 0xfe      |     v1 = 0xfe;
    0x00015640 sw v1, 0x14(sp)           |     *(var_14h) = v1;
    0x00015644 lw s3, -0x7fc4(gp)        |     s3 = *((gp - 8177));
    0x00015648 lw s2, -0x7fc4(gp)        |     s2 = *((gp - 8177));
    0x0001564c lw v1, -0x7fc4(gp)        |     v1 = *((gp - 8177));
    0x00015650 lw t9, -0x79d0(gp)        |     t9 = sym.imp.imp_log_fun;
                                         |     /* obj.__func__.6238 */
    0x00015654 addiu s2, s2, -0x72b8     |     s2 += -0x72b8;
                                         |     /* str._s__:_Invalid_interface_n */
    0x00015658 addiu v1, v1, -0x7458     |     v1 += -0x7458;
                                         |     /* str._home_ptkang_work_platform_isvp_20160504_e_proj_sdk_lv3_src_imp_core_vbm.c */
    0x0001565c addiu s3, s3, -0x757c     |     s3 += -0x757c;
    0x00015660 sw s3, 0x10(sp)           |     *(var_10h) = s3;
    0x00015664 sw s2, 0x18(sp)           |     *(var_18h) = s2;
    0x00015668 sw v1, 0x1c(sp)           |     *(var_1ch) = v1;
    0x0001566c sw s2, 0x20(sp)           |     *(var_20h) = s2;
    0x00015670 addiu a0, zero, 6         |     a0 = 6;
    0x00015674 move a1, v0               |     a1 = v0;
    0x00015678 addiu a2, zero, 2         |     a2 = 2;
                                         |     /* esilref: 'VBM' */
    0x0001567c addiu a3, s4, -0x7580     |     a3 = s4 + -0x7580;
    0x00015680 jalr t9                   |     t9 ();
    0x00015684 lw gp, 0x40(sp)           |     gp = *(var_40h);
    0x00015688 b 0x15164                 |     goto label_3;
                                         | label_9:
    0x0001568c addiu v1, v1, 0x4742      |     v1 += 0x4742;
    0x00015690 lui v1, 0x3452            |     v1 = 0x34520000;
                                         |     if (v0 == v1) {
    0x00015694 beq v0, v1, 0x156b8       |         goto label_14;
                                         |     }
    0x00015698 addiu v1, v1, 0x4742      |     v1 += 0x4742;
                                         |     if (v0 != v1) {
    0x0001569c bne v0, v1, 0x15250       |         goto label_1;
                                         |     }
    0x000156a0 nop                       |     
    0x000156a4 mul a0, a1, a0            |     __asm ("mul a0, a1, a0");
    0x000156a8 sll s6, a0, 5             |     s6 = a0 << 5;
    0x000156ac sra s6, s6, 3             |     s6 >>= 3;
    0x000156b0 move s1, s6               |     s1 = s6;
    0x000156b4 b 0x152b0                 |     goto label_2;
                                         | label_14:
    0x000156b8 mul a0, a1, a0            |     __asm ("mul a0, a1, a0");
    0x000156bc sll v0, a0, 3             |     v0 = a0 << 3;
    0x000156c0 sll a0, a0, 5             |     a0 <<= 5;
    0x000156c4 subu s6, a0, v0           |     __asm ("subu s6, a0, v0");
    0x000156c8 sra s6, s6, 3             |     s6 >>= 3;
    0x000156cc move s1, s6               |     s1 = s6;
    0x000156d0 b 0x152b0                 |     goto label_2;
                                         | }
    ; assembly                               | /* r2dec pseudo code output */
                                             | /* /logs/firmware/unblob_extracted/firmware_extract/6225984-11075644.jffs2_new_extract/lib/libmp.so @ 0x6c3c8 */
                                             | #include <stdint.h>
                                             |  
    ; (fcn) sym._ai_record_thread ()         | void ai_record_thread () {
    0x0006c3c8 lui gp, 8                     |     
    0x0006c3cc addiu gp, gp, 0x1048          |     
    0x0006c3d0 addu gp, gp, t9               |     gp += t9;
    0x0006c3d4 addiu sp, sp, -0xd8           |     
    0x0006c3d8 sw gp, 0x28(sp)               |     *(var_28h) = gp;
    0x0006c3dc sw ra, 0xd4(sp)               |     *(var_d4h) = ra;
    0x0006c3e0 sw fp, 0xd0(sp)               |     *(var_d0h) = fp;
    0x0006c3e4 sw s7, 0xcc(sp)               |     *(var_cch) = s7;
    0x0006c3e8 sw s6, 0xc8(sp)               |     *(var_c8h) = s6;
    0x0006c3ec sw s5, 0xc4(sp)               |     *(var_c4h) = s5;
    0x0006c3f0 sw s4, 0xc0(sp)               |     *(var_c0h) = s4;
    0x0006c3f4 sw s3, 0xbc(sp)               |     *(var_bch) = s3;
    0x0006c3f8 sw s2, 0xb8(sp)               |     *(var_b8h) = s2;
    0x0006c3fc sw s1, 0xb4(sp)               |     *(var_b4h) = s1;
    0x0006c400 sw s0, 0xb0(sp)               |     *(var_b0h) = s0;
    0x0006c404 sw zero, 0x88(sp)             |     *(var_88h) = 0;
    0x0006c408 sb zero, 0x8c(sp)             |     *(var_8ch) = 0;
                                             |     if (a0 == 0) {
    0x0006c40c beqz a0, 0x6ccf0              |         goto label_9;
                                             |     }
    0x0006c410 lw a1, -0x7fc8(gp)            |     a1 = *(gp);
    0x0006c414 lw v0, -0x7fc8(gp)            |     v0 = *(gp);
    0x0006c418 lw t9, -0x7c30(gp)            |     t9 = sym.imp.sprintf
    0x0006c41c move s0, a0                   |     s0 = a0;
                                             |     /* obj.__func__.7792 */
    0x0006c420 addiu a2, v0, 0xdd0           |     a2 = v0 + 0xdd0;
    0x0006c424 addiu a0, sp, 0x30            |     a0 = sp + 0x30;
                                             |     /* str.ai__s */
    0x0006c428 addiu a1, a1, -0x16c          |     a1 += -aav.0x0000016c;
    0x0006c42c jalr t9                       |     t9 ();
    0x0006c430 lw gp, 0x28(sp)               |     gp = *(var_28h);
    0x0006c434 addiu a0, zero, 0xf           |     a0 = 0xf;
    0x0006c438 lw t9, -0x7660(gp)            |     t9 = sym.imp.prctl;
    0x0006c43c addiu a1, sp, 0x30            |     a1 = sp + 0x30;
    0x0006c440 jalr t9                       |     t9 ();
    0x0006c444 lw gp, 0x28(sp)               |     gp = *(var_28h);
    0x0006c448 addiu v1, s0, 0x200           |     v1 = s0 + aav.0x00000200;
    0x0006c44c sw v1, 0x9c(sp)               |     *(var_9ch) = v1;
    0x0006c450 lw a0, 0x9c(sp)               |     a0 = *(var_9ch);
    0x0006c454 lw t9, -0x7d98(gp)            |     t9 = sym.imp.pthread_mutex_lock;
    0x0006c458 sw zero, 0x98(sp)             |     *(var_98h) = 0;
    0x0006c45c jalr t9                       |     t9 ();
    0x0006c460 lw gp, 0x28(sp)               |     gp = *(var_28h);
                                             |     if (v0 != 0) {
    0x0006c464 bnez v0, 0x6c738              |         goto label_10;
                                             |     }
                                             | label_2:
    0x0006c468 addiu s2, s0, 0x38            |     s2 = s0 + 0x38;
    0x0006c46c addiu s3, s0, 0xa8            |     s3 = s0 + 0xa8;
                                             | label_1:
    0x0006c470 lw v1, 0x3c(s0)               |     v1 = *((s0 + 15));
    0x0006c474 addiu v0, zero, 1             |     v0 = 1;
    0x0006c478 lw s1, 4(s0)                  |     s1 = *((s0 + 1));
                                             |     if (v1 == v0) {
    0x0006c47c beq v1, v0, 0x6c4c8           |         goto label_11;
                                             |     }
                                             |     if (s1 == v0) {
    0x0006c480 beq s1, v0, 0x6c524           |         goto label_12;
                                             |     }
    0x0006c484 nop                           |     
                                             |     do {
                                             | label_0:
    0x0006c488 lw t9, -0x7bd0(gp)            |         t9 = sym.imp.pthread_mutex_unlock;
                                             |         if (s1 != 0) {
    0x0006c48c bnez s1, 0x6c58c              |             goto label_13;
                                             |         }
    0x0006c490 lw a0, 0x9c(sp)               |         a0 = *(var_9ch);
    0x0006c494 jalr t9                       |         t9 ();
    0x0006c498 lw gp, 0x28(sp)               |         gp = *(var_28h);
                                             |         if (v0 == 0) {
    0x0006c49c beqz v0, 0x6cc88              |             goto label_14;
                                             |         }
    0x0006c4a0 lw a0, -0x7fc8(gp)            |         a0 = *(gp);
    0x0006c4a4 lw t9, -0x74d0(gp)            |         t9 = sym.imp.printf;
    0x0006c4a8 addiu a2, zero, 0x31e         |         a2 = 0x31e;
                                             |         /* obj.__func__.7792 */
    0x0006c4ac addiu a1, a0, 0xdd0           |         a1 = a0 + 0xdd0;
    0x0006c4b0 lw a0, -0x7fc8(gp)            |         a0 = *(gp);
    0x0006c4b4 move a3, v0                   |         a3 = v0;
                                             |         /* str.err:__s__d_ret__d_n */
    0x0006c4b8 addiu a0, a0, -0x1d4          |         a0 += -aav.0x000001d4;
    0x0006c4bc jalr t9                       |         t9 ();
    0x0006c4c0 lw gp, 0x28(sp)               |         gp = *(var_28h);
    0x0006c4c4 b 0x6cc88                     |         goto label_14;
                                             | label_11:
    0x0006c4c8 lw v0, 0x138(s0)              |         v0 = *(s0);
    0x0006c4cc lw t9, -0x74a8(gp)            |         t9 = sym.imp.pthread_cond_signal;
    0x0006c4d0 bnez v0, 0x6c488              |         
                                             |     } while (v0 != 0);
    0x0006c4d4 addiu s3, s0, 0xd8            |     s3 = s0 + 0xd8;
    0x0006c4d8 sw v1, 0xa4(s0)               |     *((s0 + 41)) = v1;
    0x0006c4dc move a0, s3                   |     a0 = s3;
    0x0006c4e0 jalr t9                       |     t9 ();
    0x0006c4e4 lw gp, 0x28(sp)               |     gp = *(var_28h);
                                             |     if (v0 == 0) {
    0x0006c4e8 beqz v0, 0x6c488              |         goto label_0;
                                             |     }
    0x0006c4ec lw t9, -0x74a8(gp)            |     t9 = sym.imp.pthread_cond_signal;
    0x0006c4f0 move a0, s3                   |     a0 = s3;
    0x0006c4f4 jalr t9                       |     t9 ();
    0x0006c4f8 lw gp, 0x28(sp)               |     gp = *(var_28h);
    0x0006c4fc addiu a2, zero, 0x1d8         |     a2 = aav.0x000001d8;
    0x0006c500 move a3, v0                   |     a3 = v0;
    0x0006c504 lw a0, -0x7fc8(gp)            |     a0 = *(gp);
    0x0006c508 lw v1, -0x7fc8(gp)            |     v1 = *(gp);
    0x0006c50c lw t9, -0x74d0(gp)            |     t9 = sym.imp.printf;
                                             |     /* str.err:__s__d_ret__d_n */
    0x0006c510 addiu a0, a0, -0x1d4          |     a0 += -aav.0x000001d4;
                                             |     /* obj.__func__.7653 */
    0x0006c514 addiu a1, v1, 0xde4           |     a1 = v1 + 0xde4;
    0x0006c518 jalr t9                       |     t9 ();
    0x0006c51c lw gp, 0x28(sp)               |     gp = *(var_28h);
    0x0006c520 b 0x6c488                     |     goto label_0;
                                             | label_12:
    0x0006c524 lw t9, -0x7bd0(gp)            |     t9 = sym.imp.pthread_mutex_unlock;
                                             |     if (v1 == 0) {
    0x0006c528 bnez v1, 0x6c58c              |         
    0x0006c52c lw t9, -0x74a8(gp)            |         t9 = sym.imp.pthread_cond_signal;
    0x0006c530 sw s1, 0x68(s2)               |         *((s2 + 26)) = s1;
    0x0006c534 move a0, s3                   |         a0 = s3;
    0x0006c538 jalr t9                       |         t9 ();
    0x0006c53c lw gp, 0x28(sp)               |         gp = *(var_28h);
                                             |         if (v0 != 0) {
    0x0006c540 beqz v0, 0x6c578              |             
    0x0006c544 lw t9, -0x74a8(gp)            |             t9 = sym.imp.pthread_cond_signal;
    0x0006c548 move a0, s3                   |             a0 = s3;
    0x0006c54c jalr t9                       |             t9 ();
    0x0006c550 lw gp, 0x28(sp)               |             gp = *(var_28h);
    0x0006c554 addiu a2, zero, 0x1b7         |             a2 = 0x1b7;
    0x0006c558 move a3, v0                   |             a3 = v0;
    0x0006c55c lw a0, -0x7fc8(gp)            |             a0 = *(gp);
    0x0006c560 lw a1, -0x7fc8(gp)            |             a1 = *(gp);
    0x0006c564 lw t9, -0x74d0(gp)            |             t9 = sym.imp.printf;
                                             |             /* str.err:__s__d_ret__d_n */
    0x0006c568 addiu a0, a0, -0x1d4          |             a0 += -aav.0x000001d4;
                                             |             /* obj.__func__.7636 */
    0x0006c56c addiu a1, a1, 0xe00           |             a1 += aav.0x00000e00;
    0x0006c570 jalr t9                       |             t9 ();
    0x0006c574 lw gp, 0x28(sp)               |             gp = *(var_28h);
                                             |         }
    0x0006c578 lw t9, -0x7c1c(gp)            |         t9 = sym._ai_thread_wait;
    0x0006c57c move a0, s0                   |         a0 = s0;
    0x0006c580 jalr t9                       |         t9 ();
    0x0006c584 lw gp, 0x28(sp)               |         gp = *(var_28h);
    0x0006c588 b 0x6c470                     |         goto label_1;
                                             |     }
                                             | label_13:
    0x0006c58c lw a0, 0x9c(sp)               |     a0 = *(var_9ch);
    0x0006c590 jalr t9                       |     t9 ();
    0x0006c594 lw gp, 0x28(sp)               |     gp = *(var_28h);
                                             |     if (v0 != 0) {
    0x0006c598 bnez v0, 0x6cd10              |         goto label_15;
                                             |     }
    0x0006c59c lw t9, -0x7440(gp)            |     t9 = sym._ai_chn_lock;
    0x0006c5a0 move a0, s2                   |     a0 = s2;
    0x0006c5a4 jalr t9                       |     t9 ();
    0x0006c5a8 lw gp, 0x28(sp)               |     gp = *(var_28h);
    0x0006c5ac lw a0, 0x148(s0)              |     a0 = *(s0);
    0x0006c5b0 lw t9, -0x7ed0(gp)            |     t9 = sym.audio_buf_get_node;
    0x0006c5b4 move a1, zero                 |     a1 = 0;
    0x0006c5b8 jalr t9                       |     t9 ();
    0x0006c5bc sw v0, 0x90(sp)               |     *(var_90h) = v0;
    0x0006c5c0 lw gp, 0x28(sp)               |     gp = *(var_28h);
                                             |     if (v0 == 0) {
    0x0006c5c4 beqz v0, 0x6cb6c              |         goto label_16;
                                             |     }
                                             | label_7:
    0x0006c5c8 lw t9, -0x75f0(gp)            |     t9 = sym.audio_buf_node_get_data;
    0x0006c5cc lw a0, 0x90(sp)               |     a0 = *(var_90h);
    0x0006c5d0 jalr t9                       |     t9 ();
    0x0006c5d4 lw a0, 0x138(s0)              |     a0 = *(s0);
    0x0006c5d8 addiu v1, zero, 1             |     v1 = 1;
    0x0006c5dc lw gp, 0x28(sp)               |     gp = *(var_28h);
    0x0006c5e0 move s1, v0                   |     s1 = v0;
    0x0006c5e4 lw s4, 0x20(s0)               |     s4 = *((s0 + 8));
                                             |     if (a0 == v1) {
    0x0006c5e8 beq a0, v1, 0x6cb38           |         goto label_17;
                                             |     }
    0x0006c5ec lw v0, 0x144(s0)              |     v0 = *(s0);
                                             |     if (v0 == v1) {
    0x0006c5f0 beq v0, v1, 0x6cb38           |         goto label_17;
                                             |     }
    0x0006c5f4 nop                           |     
                                             | label_5:
    0x0006c5f8 lw t9, -0x7e7c(gp)            |     t9 = sym._ai_chn_unlock;
    0x0006c5fc move a0, s2                   |     a0 = s2;
    0x0006c600 addiu s7, s1, 0x14            |     s7 = s1 + 0x14;
    0x0006c604 jalr t9                       |     t9 ();
    0x0006c608 lw gp, 0x28(sp)               |     gp = *(var_28h);
    0x0006c60c lw v0, 0x20(s0)               |     v0 = *((s0 + 8));
    0x0006c610 lw a3, 0x98(sp)               |     a3 = *(var_98h);
    0x0006c614 lw t9, -0x778c(gp)            |     t9 = sym.__ai_dev_read;
    0x0006c618 sll v0, v0, 1                 |     v0 <<= 1;
    0x0006c61c move a0, s0                   |     a0 = s0;
    0x0006c620 sw v0, 0x10(sp)               |     *(var_10h) = v0;
    0x0006c624 move a1, s2                   |     a1 = s2;
    0x0006c628 move a2, s7                   |     a2 = s7;
    0x0006c62c jalr t9                       |     t9 ();
    0x0006c630 move s4, v0                   |     s4 = v0;
    0x0006c634 lw gp, 0x28(sp)               |     gp = *(var_28h);
                                             |     if (v0 < 0) {
    0x0006c638 bltz v0, 0x6cc70              |         goto label_18;
                                             |     }
    0x0006c63c lw t9, -0x7b2c(gp)            |     t9 = sym.IMP_System_GetTimeStamp;
    0x0006c640 jalr t9                       |     t9 ();
    0x0006c644 nop                           |     
    0x0006c648 lw gp, 0x28(sp)               |     gp = *(var_28h);
    0x0006c64c lw a0, 0x144(s0)              |     a0 = *(s0);
    0x0006c650 sw v0, 8(s1)                  |     *((s1 + 2)) = v0;
    0x0006c654 lw v0, 0x90(sp)               |     v0 = *(var_90h);
    0x0006c658 sw v1, 0xc(s1)                |     *((s1 + 3)) = v1;
    0x0006c65c sw s4, 0x10(s1)               |     *((s1 + 4)) = s4;
    0x0006c660 sw v0, (s1)                   |     *(s1) = v0;
    0x0006c664 lw t9, -0x7d98(gp)            |     t9 = sym.imp.pthread_mutex_lock;
                                             |     if (a0 == 0) {
    0x0006c668 beqz a0, 0x6c760              |         goto label_19;
                                             |     }
    0x0006c66c lw v1, 0x98(sp)               |     v1 = *(var_98h);
    0x0006c670 addiu s4, s0, 0x1a0           |     s4 = s0 + aav.0x000001a0;
                                             |     if (v1 == 0) {
    0x0006c674 beqz v1, 0x6c760              |         goto label_19;
                                             |     }
    0x0006c678 move a0, s4                   |     a0 = s4;
    0x0006c67c jalr t9                       |     t9 ();
    0x0006c680 lw v0, 0x10(s1)               |     v0 = *((s1 + 4));
    0x0006c684 lw a0, 0x98(sp)               |     a0 = *(var_98h);
    0x0006c688 lw v1, 0x144(s0)              |     v1 = *(s0);
    0x0006c68c sw v0, 0x7c(sp)               |     *(var_7ch) = v0;
    0x0006c690 addiu v0, zero, 1             |     v0 = 1;
    0x0006c694 lw gp, 0x28(sp)               |     gp = *(var_28h);
    0x0006c698 sw a0, 0x70(sp)               |     *(var_70h) = a0;
    0x0006c69c sw s7, 0x74(sp)               |     *(var_74h) = s7;
    0x0006c6a0 sw s7, 0x78(sp)               |     *(var_78h) = s7;
                                             |     if (v1 == v0) {
    0x0006c6a4 beq v1, v0, 0x6cba0           |         goto label_20;
                                             |     }
                                             | label_4:
    0x0006c6a8 lw t9, -0x7bd0(gp)            |     t9 = sym.imp.pthread_mutex_unlock;
    0x0006c6ac move a0, s4                   |     a0 = s4;
    0x0006c6b0 jalr t9                       |     t9 ();
    0x0006c6b4 lw gp, 0x28(sp)               |     gp = *(var_28h);
    0x0006c6b8 ldc1 f0, 0x48(s0)             |     __asm ("ldc1 f0, 0x48(s0)");
    0x0006c6bc lw a2, 0x10(s1)               |     a2 = *((s1 + 4));
    0x0006c6c0 lw t9, -0x74b8(gp)            |     t9 = sym._audio_set_volume;
    0x0006c6c4 addiu a3, zero, 0x10          |     a3 = 0x10;
    0x0006c6c8 sdc1 f0, 0x10(sp)             |     __asm ("sdc1 f0, 0x10(sp)");
    0x0006c6cc move a1, s7                   |     a1 = s7;
    0x0006c6d0 move a0, s7                   |     a0 = s7;
    0x0006c6d4 jalr t9                       |     t9 ();
    0x0006c6d8 lw gp, 0x28(sp)               |     gp = *(var_28h);
    0x0006c6dc lw t9, -0x7440(gp)            |     t9 = sym._ai_chn_lock;
    0x0006c6e0 move a0, s2                   |     a0 = s2;
    0x0006c6e4 jalr t9                       |     t9 ();
    0x0006c6e8 lw gp, 0x28(sp)               |     gp = *(var_28h);
    0x0006c6ec lw a1, 0x90(sp)               |     a1 = *(var_90h);
    0x0006c6f0 lw a0, 0x148(s0)              |     a0 = *(s0);
    0x0006c6f4 lw t9, -0x777c(gp)            |     t9 = sym.audio_buf_put_node;
    0x0006c6f8 addiu a2, zero, 1             |     a2 = 1;
    0x0006c6fc jalr t9                       |     t9 ();
    0x0006c700 lw gp, 0x28(sp)               |     gp = *(var_28h);
    0x0006c704 lw t9, -0x74a8(gp)            |     t9 = sym.imp.pthread_cond_signal;
    0x0006c708 addiu a0, s0, 0x108           |     a0 = s0 + aav.0x00000108;
    0x0006c70c jalr t9                       |     t9 ();
    0x0006c710 lw gp, 0x28(sp)               |     gp = *(var_28h);
    0x0006c714 lw t9, -0x7e7c(gp)            |     t9 = sym._ai_chn_unlock;
    0x0006c718 move a0, s2                   |     a0 = s2;
    0x0006c71c jalr t9                       |     t9 ();
    0x0006c720 lw gp, 0x28(sp)               |     gp = *(var_28h);
    0x0006c724 lw t9, -0x7d98(gp)            |     t9 = sym.imp.pthread_mutex_lock;
    0x0006c728 lw a0, 0x9c(sp)               |     a0 = *(var_9ch);
    0x0006c72c jalr t9                       |     t9 ();
    0x0006c730 lw gp, 0x28(sp)               |     gp = *(var_28h);
                                             |     if (v0 == 0) {
    0x0006c734 beqz v0, 0x6c468              |         goto label_2;
                                             |     }
                                             | label_10:
    0x0006c738 lw a0, -0x7fc8(gp)            |     a0 = *(gp);
    0x0006c73c lw t9, -0x74d0(gp)            |     t9 = sym.imp.printf;
    0x0006c740 addiu a2, zero, 0x30b         |     a2 = 0x30b;
                                             |     /* obj.__func__.7792 */
    0x0006c744 addiu a1, a0, 0xdd0           |     a1 = a0 + 0xdd0;
    0x0006c748 lw a0, -0x7fc8(gp)            |     a0 = *(gp);
    0x0006c74c move a3, v0                   |     a3 = v0;
                                             |     /* str.err:__s__d_ret__d_n */
    0x0006c750 addiu a0, a0, -0x1d4          |     a0 += -aav.0x000001d4;
    0x0006c754 jalr t9                       |     t9 ();
    0x0006c758 lw gp, 0x28(sp)               |     gp = *(var_28h);
    0x0006c75c b 0x6cc88                     |     goto label_14;
                                             | label_19:
    0x0006c760 addiu v1, s0, 0x1b8           |     v1 = s0 + aav.0x000001b8;
    0x0006c764 sw v1, 0x94(sp)               |     *(var_94h) = v1;
    0x0006c768 move a0, v1                   |     a0 = v1;
    0x0006c76c jalr t9                       |     t9 ();
    0x0006c770 lw v0, 0x16c(s0)              |     v0 = *(s0);
    0x0006c774 lw gp, 0x28(sp)               |     gp = *(var_28h);
                                             |     if (v0 == 0) {
    0x0006c778 beqz v0, 0x6c8ac              |         goto label_21;
                                             |     }
    0x0006c77c lw s4, -0x7994(gp)            |     s4 = *(gp);
    0x0006c780 lw s5, 0x10(s1)               |     s5 = *((s1 + 4));
    0x0006c784 lw t0, 4(s4)                  |     t0 = *((s4 + 1));
    0x0006c788 lw a0, 8(s4)                  |     a0 = *((s4 + 2));
    0x0006c78c lw v1, 0xc(s4)                |     v1 = *((s4 + 3));
    0x0006c790 sll v0, t0, 1                 |     v0 = t0 << 1;
    0x0006c794 div zero, s5, v0              |     __asm ("div zero, s5, v0");
    0x0006c798 teq v0, zero, 7               |     __asm ("teq v0, zero, 7");
    0x0006c79c sw a0, 0x84(sp)               |     *(var_84h) = a0;
    0x0006c7a0 mflo t1                       |     __asm ("mflo t1");
    0x0006c7a4 sw v1, 0x80(sp)               |     *(var_80h) = v1;
                                             |     if (t1 == 0) {
    0x0006c7a8 beqz t1, 0x6cc1c              |         goto label_22;
                                             |     }
    0x0006c7ac lw t9, -0x7bd0(gp)            |     t9 = sym.imp.pthread_mutex_unlock;
                                             |     if (t1 <= 0) {
    0x0006c7b0 blez t1, 0x6c8b0              |         goto label_23;
                                             |     }
    0x0006c7b4 lw s6, -0x7fa8(gp)            |     s6 = *((gp - 8170));
    0x0006c7b8 move fp, zero                 |     fp = 0;
    0x0006c7bc addiu s5, sp, 0x84            |     s5 = sp + 0x84;
    0x0006c7c0 addiu s3, sp, 0x80            |     s3 = sp + 0x80;
    0x0006c7c4 sw s0, 0xa0(sp)               |     *(var_a0h) = s0;
    0x0006c7c8 move s0, s7                   |     s0 = s7;
    0x0006c7cc move s7, fp                   |     s7 = fp;
    0x0006c7d0 move fp, s5                   |     fp = s5;
    0x0006c7d4 move s5, s3                   |     s5 = s3;
    0x0006c7d8 mflo s3                       |     __asm ("mflo s3");
                                             | label_3:
    0x0006c7dc lw v1, 0x84(sp)               |     v1 = *(var_84h);
                                             |     if (t0 <= 0) {
    0x0006c7e0 blez t0, 0x6cb64              |         goto label_24;
                                             |     }
    0x0006c7e4 lw a2, 4(s4)                  |     a2 = *((s4 + 1));
    0x0006c7e8 move v0, zero                 |     v0 = 0;
    0x0006c7ec move a1, t0                   |     a1 = t0;
    0x0006c7f0 b 0x6c7f8                     |     
                                             |     while (a0 != 0) {
    0x0006c7f4 move a1, a2                   |         a1 = a2;
    0x0006c7f8 mul a0, s7, a1                |         __asm ("mul a0, s7, a1");
    0x0006c7fc addiu v1, v1, 4               |         v1 += 4;
    0x0006c800 addu a1, a0, v0               |         a1 = a0 + v0;
    0x0006c804 sll a1, a1, 1                 |         a1 <<= 1;
    0x0006c808 addu a1, s0, a1               |         a1 = s0 + a1;
    0x0006c80c lh a1, (a1)                   |         a1 = *(a1);
    0x0006c810 addiu v0, v0, 1               |         v0++;
    0x0006c814 slt a0, v0, a2                |         a0 = (v0 < a2) ? 1 : 0;
    0x0006c818 mtc1 a1, f1                   |         __asm ("mtc1 a1, f1");
    0x0006c81c cvt.s.w f0, f1                |         __asm ("cvt.s.w f0, f1");
    0x0006c820 swc1 f0, -4(v1)               |         __asm ("swc1 f0, -4(v1)");
    0x0006c824 bnez a0, 0x6c7f4              |         
                                             |     }
                                             | label_6:
    0x0006c828 lw t9, -0x7b18(gp)            |     t9 = sym.imp.memset;
    0x0006c82c lw a0, 0x80(sp)               |     a0 = *(var_80h);
    0x0006c830 move a1, zero                 |     a1 = 0;
    0x0006c834 sll a2, a2, 2                 |     a2 <<= 2;
    0x0006c838 jalr t9                       |     t9 ();
    0x0006c83c lw t9, -0x6304(s6)            |     t9 = *((s6 - 6337));
    0x0006c840 lw a0, (s4)                   |     a0 = *(s4);
    0x0006c844 move a1, fp                   |     a1 = fp;
    0x0006c848 addiu a2, zero, 1             |     a2 = 1;
    0x0006c84c move a3, s5                   |     a3 = s5;
    0x0006c850 jalr t9                       |     t9 ();
    0x0006c854 lw t0, 4(s4)                  |     t0 = *((s4 + 1));
    0x0006c858 lw gp, 0x28(sp)               |     gp = *(var_28h);
                                             |     if (t0 <= 0) {
    0x0006c85c blez t0, 0x6c898              |         goto label_25;
                                             |     }
    0x0006c860 mul a2, t0, s7                |     __asm ("mul a2, t0, s7");
    0x0006c864 lw v1, 0x80(sp)               |     v1 = *(var_80h);
    0x0006c868 sll a3, t0, 1                 |     a3 = t0 << 1;
    0x0006c86c move v0, zero                 |     v0 = 0;
    0x0006c870 sll a2, a2, 1                 |     a2 <<= 1;
    0x0006c874 addu a2, s0, a2               |     a2 = s0 + a2;
                                             |     do {
    0x0006c878 lwc1 f0, (v1)                 |         __asm ("lwc1 f0, (v1)");
    0x0006c87c addu a0, a2, v0               |         a0 = a2 + v0;
    0x0006c880 addiu v0, v0, 2               |         v0 += 2;
    0x0006c884 trunc.w.s f0, f0              |         __asm ("trunc.w.s f0, f0");
    0x0006c888 mfc1 a1, f0                   |         __asm ("mfc1 a1, f0");
    0x0006c88c addiu v1, v1, 4               |         v1 += 4;
    0x0006c890 sh a1, (a0)                   |         *(a0) = a1;
    0x0006c894 bne v0, a3, 0x6c878           |         
                                             |     } while (v0 != a3);
                                             | label_25:
    0x0006c898 addiu s7, s7, 1               |     s7++;
                                             |     if (s7 != s3) {
    0x0006c89c bne s7, s3, 0x6c7dc           |         goto label_3;
                                             |     }
    0x0006c8a0 nop                           |     
    0x0006c8a4 move s7, s0                   |     s7 = s0;
    0x0006c8a8 lw s0, 0xa0(sp)               |     s0 = *(var_a0h);
                                             | label_21:
    0x0006c8ac lw t9, -0x7bd0(gp)            |     t9 = sym.imp.pthread_mutex_unlock;
                                             | label_23:
    0x0006c8b0 lw a0, 0x94(sp)               |     a0 = *(var_94h);
    0x0006c8b4 addiu v1, s0, 0x170           |     v1 = s0 + aav.0x00000170;
    0x0006c8b8 sw v1, 0x94(sp)               |     *(var_94h) = v1;
    0x0006c8bc jalr t9                       |     t9 ();
    0x0006c8c0 lw gp, 0x28(sp)               |     gp = *(var_28h);
    0x0006c8c4 lw t9, -0x7d98(gp)            |     t9 = sym.imp.pthread_mutex_lock;
    0x0006c8c8 lw a0, 0x94(sp)               |     a0 = *(var_94h);
    0x0006c8cc jalr t9                       |     t9 ();
    0x0006c8d0 lw v0, 0x160(s0)              |     v0 = *(s0);
    0x0006c8d4 lw gp, 0x28(sp)               |     gp = *(var_28h);
                                             |     if (v0 == 0) {
    0x0006c8d8 beqz v0, 0x6ca54              |         goto label_26;
                                             |     }
    0x0006c8dc lw v0, -0x7e88(gp)            |     v0 = *(gp);
    0x0006c8e0 lw v1, 0x10(s1)               |     v1 = *((s1 + 4));
    0x0006c8e4 lh s6, (v0)                   |     s6 = *(v0);
    0x0006c8e8 lw v0, -0x78b4(gp)            |     v0 = *(gp);
    0x0006c8ec sll t0, s6, 1                 |     t0 = s6 << 1;
    0x0006c8f0 div zero, v1, t0              |     __asm ("div zero, v1, t0");
    0x0006c8f4 teq t0, zero, 7               |     __asm ("teq t0, zero, 7");
    0x0006c8f8 mflo v1                       |     __asm ("mflo v1");
    0x0006c8fc lw t1, (v0)                   |     t1 = *(v0);
                                             |     if (v1 <= 0) {
    0x0006c900 blez v1, 0x6ca54              |         goto label_26;
                                             |     }
    0x0006c904 move fp, zero                 |     fp = 0;
    0x0006c908 sw s2, 0xa0(sp)               |     *(var_a0h) = s2;
    0x0006c90c sw s1, 0xa4(sp)               |     *(var_a4h) = s1;
    0x0006c910 sw s0, 0xa8(sp)               |     *(var_a8h) = s0;
    0x0006c914 move s1, fp                   |     s1 = fp;
    0x0006c918 addiu s5, sp, 0x84            |     s5 = sp + 0x84;
    0x0006c91c addiu s3, sp, 0x80            |     s3 = sp + 0x80;
    0x0006c920 move s2, t1                   |     s2 = t1;
    0x0006c924 move s0, s7                   |     s0 = s7;
    0x0006c928 move s4, t0                   |     s4 = t0;
    0x0006c92c mflo fp                       |     __asm ("mflo fp");
    0x0006c930 b 0x6c940                     |     
                                             |     while (v0 == 0) {
    0x0006c934 addiu s1, s1, 1               |         s1++;
    0x0006c938 addu s0, s0, s4               |         s0 += s4;
                                             |         if (s1 == fp) {
    0x0006c93c beq s1, fp, 0x6ca48           |             goto label_27;
                                             |         }
    0x0006c940 lw v0, -0x7fa8(gp)            |         v0 = *((gp - 8170));
    0x0006c944 addiu v1, zero, 0x7f          |         v1 = 0x7f;
    0x0006c948 addiu a0, sp, 0x88            |         a0 = sp + 0x88;
    0x0006c94c lw t9, -0x6330(v0)            |         t9 = *((v0 - 6348));
    0x0006c950 addiu v0, sp, 0x8c            |         v0 = sp + 0x8c;
    0x0006c954 sw a0, 0x18(sp)               |         *(var_18h) = a0;
    0x0006c958 sw s0, 0x84(sp)               |         *(var_84h) = s0;
    0x0006c95c sw s0, 0x80(sp)               |         *(var_80h) = s0;
    0x0006c960 sw s3, 0x10(sp)               |         *(var_10h) = s3;
    0x0006c964 sw v1, 0x14(sp)               |         *(var_14h) = v1;
    0x0006c968 sw zero, 0x1c(sp)             |         *(var_1ch) = 0;
    0x0006c96c sw v0, 0x20(sp)               |         *(var_20h) = v0;
    0x0006c970 move a0, s2                   |         a0 = s2;
    0x0006c974 move a1, s5                   |         a1 = s5;
    0x0006c978 addiu a2, zero, 1             |         a2 = 1;
    0x0006c97c move a3, s6                   |         a3 = s6;
    0x0006c980 jalr t9                       |         t9 ();
    0x0006c984 lw gp, 0x28(sp)               |         gp = *(var_28h);
    0x0006c988 beqz v0, 0x6c934              |         
                                             |     }
    0x0006c98c lw a0, -0x7fc8(gp)            |     a0 = *(gp);
    0x0006c990 lw a1, -0x7fc8(gp)            |     a1 = *(gp);
    0x0006c994 lw t9, -0x74d0(gp)            |     t9 = sym.imp.printf;
                                             |     /* str._s__line__d_:_agc_proccess_error_n */
    0x0006c998 addiu a0, a0, -0x108          |     a0 += -aav.0x00000108;
                                             |     /* obj.__func__.7716 */
    0x0006c99c addiu a1, a1, 0xe18           |     a1 += 0xe18;
    0x0006c9a0 addiu a2, zero, 0x223         |     a2 = 0x223;
    0x0006c9a4 jalr t9                       |     t9 ();
    0x0006c9a8 lw gp, 0x28(sp)               |     gp = *(var_28h);
    0x0006c9ac lw t9, -0x7adc(gp)            |     t9 = sym.imp.IMP_Log_Get_Option;
    0x0006c9b0 jalr t9                       |     t9 ();
    0x0006c9b4 nop                           |     
    0x0006c9b8 lw gp, 0x28(sp)               |     gp = *(var_28h);
    0x0006c9bc move a1, v0                   |     a1 = v0;
    0x0006c9c0 addiu a0, zero, 6             |     a0 = 6;
    0x0006c9c4 lw v0, -0x7fc8(gp)            |     v0 = *(gp);
    0x0006c9c8 lw v1, -0x7fc8(gp)            |     v1 = *(gp);
    0x0006c9cc lw t9, -0x79d0(gp)            |     t9 = sym.imp.imp_log_fun;
                                             |     /* str._home_ptkang_work_platform_isvp_20160504_e_proj_sdk_lv3_src_imp_audio_ai.c */
    0x0006c9d0 addiu v0, v0, -0x40c          |     v0 += -aav.0x0000040c;
                                             |     /* esilref: 'ai' */
    0x0006c9d4 addiu a3, v1, -0x410          |     a3 = v1 + -aav.0x00000410;
    0x0006c9d8 sw v0, 0x10(sp)               |     *(var_10h) = v0;
    0x0006c9dc lw v1, -0x7fc8(gp)            |     v1 = *(gp);
    0x0006c9e0 addiu v0, zero, 0x36a         |     v0 = 0x36a;
    0x0006c9e4 sw v0, 0x14(sp)               |     *(var_14h) = v0;
    0x0006c9e8 lw v0, -0x7fc8(gp)            |     v0 = *(gp);
                                             |     /* obj.__func__.7792 */
    0x0006c9ec addiu v1, v1, 0xdd0           |     v1 += 0xdd0;
    0x0006c9f0 addiu a2, zero, 2             |     a2 = 2;
    0x0006c9f4 sw v1, 0x18(sp)               |     *(var_18h) = v1;
                                             |     /* str._ai_Agc_Process_ai_error._n */
    0x0006c9f8 addiu v0, v0, -0xe4           |     v0 += -0xe4;
                                             | label_8:
    0x0006c9fc sw v0, 0x1c(sp)               |     *(var_1ch) = v0;
    0x0006ca00 jalr t9                       |     t9 ();
    0x0006ca04 lw gp, 0x28(sp)               |     gp = *(var_28h);
    0x0006ca08 lw t9, -0x7bd0(gp)            |     t9 = sym.imp.pthread_mutex_unlock;
    0x0006ca0c lw a0, 0x94(sp)               |     a0 = *(var_94h);
    0x0006ca10 jalr t9                       |     t9 ();
    0x0006ca14 lw ra, 0xd4(sp)               |     ra = *(var_d4h);
    0x0006ca18 lw fp, 0xd0(sp)               |     fp = *(var_d0h);
    0x0006ca1c lw s7, 0xcc(sp)               |     s7 = *(var_cch);
    0x0006ca20 lw s6, 0xc8(sp)               |     s6 = *(var_c8h);
    0x0006ca24 lw s5, 0xc4(sp)               |     s5 = *(var_c4h);
    0x0006ca28 lw s4, 0xc0(sp)               |     s4 = *(var_c0h);
    0x0006ca2c lw s3, 0xbc(sp)               |     s3 = *(var_bch);
    0x0006ca30 lw s2, 0xb8(sp)               |     s2 = *(var_b8h);
    0x0006ca34 lw s1, 0xb4(sp)               |     s1 = *(var_b4h);
    0x0006ca38 lw s0, 0xb0(sp)               |     s0 = *(var_b0h);
    0x0006ca3c move v0, zero                 |     v0 = 0;
    0x0006ca40 addiu sp, sp, 0xd8            |     
    0x0006ca44 jr ra                         |     return v1;
                                             | label_27:
    0x0006ca48 lw s2, 0xa0(sp)               |     s2 = *(var_a0h);
    0x0006ca4c lw s1, 0xa4(sp)               |     s1 = *(var_a4h);
    0x0006ca50 lw s0, 0xa8(sp)               |     s0 = *(var_a8h);
                                             | label_26:
    0x0006ca54 lw t9, -0x7bd0(gp)            |     t9 = sym.imp.pthread_mutex_unlock;
    0x0006ca58 lw a0, 0x94(sp)               |     a0 = *(var_94h);
    0x0006ca5c addiu s4, s0, 0x188           |     s4 = s0 + aav.0x00000188;
    0x0006ca60 jalr t9                       |     t9 ();
    0x0006ca64 lw gp, 0x28(sp)               |     gp = *(var_28h);
    0x0006ca68 lw t9, -0x7d98(gp)            |     t9 = sym.imp.pthread_mutex_lock;
    0x0006ca6c move a0, s4                   |     a0 = s4;
    0x0006ca70 jalr t9                       |     t9 ();
    0x0006ca74 lw v0, 0x164(s0)              |     v0 = *(s0);
    0x0006ca78 lw gp, 0x28(sp)               |     gp = *(var_28h);
                                             |     if (v0 == 0) {
    0x0006ca7c beqz v0, 0x6c6a8              |         goto label_4;
                                             |     }
    0x0006ca80 lw t9, -0x77dc(gp)            |     t9 = sym._ai_HPF_Filter;
    0x0006ca84 lw a0, -0x78d8(gp)            |     a0 = *(gp);
    0x0006ca88 lw a2, 0x10(s1)               |     a2 = *((s1 + 4));
    0x0006ca8c move a1, s7                   |     a1 = s7;
    0x0006ca90 jalr t9                       |     t9 ();
    0x0006ca94 lw gp, 0x28(sp)               |     gp = *(var_28h);
                                             |     if (v0 == 0) {
    0x0006ca98 beqz v0, 0x6c6a8              |         goto label_4;
                                             |     }
    0x0006ca9c lw t9, -0x7adc(gp)            |     t9 = sym.imp.IMP_Log_Get_Option;
    0x0006caa0 jalr t9                       |     t9 ();
    0x0006caa4 nop                           |     
    0x0006caa8 lw gp, 0x28(sp)               |     gp = *(var_28h);
    0x0006caac move a1, v0                   |     a1 = v0;
    0x0006cab0 addiu a2, zero, 2             |     a2 = 2;
    0x0006cab4 lw v0, -0x7fc8(gp)            |     v0 = *(gp);
    0x0006cab8 lw v1, -0x7fc8(gp)            |     v1 = *(gp);
    0x0006cabc lw t9, -0x79d0(gp)            |     t9 = sym.imp.imp_log_fun;
                                             |     /* esilref: 'ai' */
    0x0006cac0 addiu a3, v0, -0x410          |     a3 = v0 + -aav.0x00000410;
    0x0006cac4 addiu v0, zero, 0x376         |     v0 = 0x376;
    0x0006cac8 sw v0, 0x14(sp)               |     *(var_14h) = v0;
    0x0006cacc lw v0, -0x7fc8(gp)            |     v0 = *(gp);
                                             |     /* str._home_ptkang_work_platform_isvp_20160504_e_proj_sdk_lv3_src_imp_audio_ai.c */
    0x0006cad0 addiu v1, v1, -0x40c          |     v1 += -aav.0x0000040c;
    0x0006cad4 sw v1, 0x10(sp)               |     *(var_10h) = v1;
                                             |     /* obj.__func__.7792 */
    0x0006cad8 addiu v0, v0, 0xdd0           |     v0 += 0xdd0;
    0x0006cadc sw v0, 0x18(sp)               |     *(var_18h) = v0;
    0x0006cae0 lw v0, -0x7fc8(gp)            |     v0 = *(gp);
    0x0006cae4 addiu a0, zero, 6             |     a0 = 6;
                                             |     /* str._ai_HPF_Filter_error._n */
    0x0006cae8 addiu v0, v0, -0xc8           |     v0 += -0xc8;
    0x0006caec sw v0, 0x1c(sp)               |     *(var_1ch) = v0;
    0x0006caf0 jalr t9                       |     t9 ();
    0x0006caf4 lw gp, 0x28(sp)               |     gp = *(var_28h);
    0x0006caf8 lw t9, -0x7bd0(gp)            |     t9 = sym.imp.pthread_mutex_unlock;
    0x0006cafc move a0, s4                   |     a0 = s4;
    0x0006cb00 jalr t9                       |     t9 ();
    0x0006cb04 lw ra, 0xd4(sp)               |     ra = *(var_d4h);
    0x0006cb08 lw fp, 0xd0(sp)               |     fp = *(var_d0h);
    0x0006cb0c lw s7, 0xcc(sp)               |     s7 = *(var_cch);
    0x0006cb10 lw s6, 0xc8(sp)               |     s6 = *(var_c8h);
    0x0006cb14 lw s5, 0xc4(sp)               |     s5 = *(var_c4h);
    0x0006cb18 lw s4, 0xc0(sp)               |     s4 = *(var_c0h);
    0x0006cb1c lw s3, 0xbc(sp)               |     s3 = *(var_bch);
    0x0006cb20 lw s2, 0xb8(sp)               |     s2 = *(var_b8h);
    0x0006cb24 lw s1, 0xb4(sp)               |     s1 = *(var_b4h);
    0x0006cb28 lw s0, 0xb0(sp)               |     s0 = *(var_b0h);
    0x0006cb2c move v0, zero                 |     v0 = 0;
    0x0006cb30 addiu sp, sp, 0xd8            |     
    0x0006cb34 jr ra                         |     return v1;
                                             | label_17:
    0x0006cb38 lw s5, 0x13c(s0)              |     s5 = *(s0);
    0x0006cb3c lw t9, -0x7634(gp)            |     t9 = sym.audio_buf_node_index;
                                             |     if (s5 == 0) {
    0x0006cb40 beqz s5, 0x6c5f8              |         goto label_5;
                                             |     }
    0x0006cb44 lw a0, 0x90(sp)               |     a0 = *(var_90h);
    0x0006cb48 sll s4, s4, 1                 |     s4 <<= 1;
    0x0006cb4c jalr t9                       |     t9 ();
    0x0006cb50 mul a0, v0, s4                |     __asm ("mul a0, v0, s4");
    0x0006cb54 lw gp, 0x28(sp)               |     gp = *(var_28h);
    0x0006cb58 addu v1, a0, s5               |     v1 = a0 + s5;
    0x0006cb5c sw v1, 0x98(sp)               |     *(var_98h) = v1;
    0x0006cb60 b 0x6c5f8                     |     goto label_5;
                                             | label_24:
    0x0006cb64 move a2, t0                   |     a2 = t0;
    0x0006cb68 b 0x6c828                     |     goto label_6;
                                             | label_16:
    0x0006cb6c lw t9, -0x7ed0(gp)            |     t9 = sym.audio_buf_get_node;
    0x0006cb70 lw a0, 0x148(s0)              |     a0 = *(s0);
    0x0006cb74 addiu a1, zero, 1             |     a1 = 1;
    0x0006cb78 jalr t9                       |     t9 ();
    0x0006cb7c sw v0, 0x90(sp)               |     *(var_90h) = v0;
    0x0006cb80 lw gp, 0x28(sp)               |     gp = *(var_28h);
                                             |     if (v0 != 0) {
    0x0006cb84 bnez v0, 0x6c5c8              |         goto label_7;
                                             |     }
    0x0006cb88 lw a0, -0x7fc8(gp)            |     a0 = *(gp);
    0x0006cb8c lw t9, -0x76ac(gp)            |     t9 = sym.imp.puts;
                                             |     /* str.err:_ai_thread_can_not_get_full_buf */
    0x0006cb90 addiu a0, a0, -0x164          |     a0 += -aav.0x00000164;
    0x0006cb94 jalr t9                       |     t9 ();
    0x0006cb98 lw gp, 0x28(sp)               |     gp = *(var_28h);
    0x0006cb9c b 0x6cc88                     |     goto label_14;
                                             | label_20:
    0x0006cba0 lw v0, -0x7fa8(gp)            |     v0 = *((gp - 8170));
    0x0006cba4 lw a0, 0x140(s0)              |     a0 = *(s0);
    0x0006cba8 lw t9, -0x62fc(v0)            |     t9 = *((v0 - 6335));
    0x0006cbac addiu a1, sp, 0x70            |     a1 = sp + 0x70;
    0x0006cbb0 jalr t9                       |     t9 ();
    0x0006cbb4 lw gp, 0x28(sp)               |     gp = *(var_28h);
                                             |     if (v0 == 0) {
    0x0006cbb8 beqz v0, 0x6c6a8              |         goto label_4;
                                             |     }
    0x0006cbbc lw t9, -0x7adc(gp)            |     t9 = sym.imp.IMP_Log_Get_Option;
    0x0006cbc0 jalr t9                       |     t9 ();
    0x0006cbc4 nop                           |     
    0x0006cbc8 lw gp, 0x28(sp)               |     gp = *(var_28h);
    0x0006cbcc move a1, v0                   |     a1 = v0;
    0x0006cbd0 addiu a2, zero, 2             |     a2 = 2;
    0x0006cbd4 lw v1, -0x7fc8(gp)            |     v1 = *(gp);
    0x0006cbd8 lw a0, -0x7fc8(gp)            |     a0 = *(gp);
    0x0006cbdc lw v0, -0x7fc8(gp)            |     v0 = *(gp);
                                             |     /* str._home_ptkang_work_platform_isvp_20160504_e_proj_sdk_lv3_src_imp_audio_ai.c */
    0x0006cbe0 addiu v1, v1, -0x40c          |     v1 += -aav.0x0000040c;
    0x0006cbe4 sw v1, 0x10(sp)               |     *(var_10h) = v1;
    0x0006cbe8 addiu v1, zero, 0x352         |     v1 = 0x352;
    0x0006cbec sw v1, 0x14(sp)               |     *(var_14h) = v1;
    0x0006cbf0 lw v1, -0x7fc8(gp)            |     v1 = *(gp);
    0x0006cbf4 lw t9, -0x79d0(gp)            |     t9 = sym.imp.imp_log_fun;
                                             |     /* obj.__func__.7792 */
    0x0006cbf8 addiu a0, a0, 0xdd0           |     a0 += 0xdd0;
                                             |     /* str.ai_aec_process_error._n */
    0x0006cbfc addiu v1, v1, -0x120          |     v1 += -aav.0x00000120;
    0x0006cc00 sw a0, 0x18(sp)               |     *(var_18h) = a0;
    0x0006cc04 sw v1, 0x1c(sp)               |     *(var_1ch) = v1;
    0x0006cc08 addiu a0, zero, 6             |     a0 = 6;
                                             |     /* esilref: 'ai' */
    0x0006cc0c addiu a3, v0, -0x410          |     a3 = v0 + -aav.0x00000410;
    0x0006cc10 jalr t9                       |     t9 ();
    0x0006cc14 lw gp, 0x28(sp)               |     gp = *(var_28h);
    0x0006cc18 b 0x6c6a8                     |     goto label_4;
                                             | label_22:
    0x0006cc1c lw t9, -0x7adc(gp)            |     t9 = sym.imp.IMP_Log_Get_Option;
    0x0006cc20 jalr t9                       |     t9 ();
    0x0006cc24 nop                           |     
    0x0006cc28 lw gp, 0x28(sp)               |     gp = *(var_28h);
    0x0006cc2c move a1, v0                   |     a1 = v0;
    0x0006cc30 addiu a0, zero, 6             |     a0 = 6;
    0x0006cc34 lw v0, -0x7fc8(gp)            |     v0 = *(gp);
    0x0006cc38 lw v1, -0x7fc8(gp)            |     v1 = *(gp);
    0x0006cc3c lw t9, -0x79d0(gp)            |     t9 = sym.imp.imp_log_fun;
                                             |     /* str._home_ptkang_work_platform_isvp_20160504_e_proj_sdk_lv3_src_imp_audio_ai.c */
    0x0006cc40 addiu v0, v0, -0x40c          |     v0 += -aav.0x0000040c;
                                             |     /* esilref: 'ai' */
    0x0006cc44 addiu a3, v1, -0x410          |     a3 = v1 + -aav.0x00000410;
    0x0006cc48 sw v0, 0x10(sp)               |     *(var_10h) = v0;
    0x0006cc4c lw v1, -0x7fc8(gp)            |     v1 = *(gp);
    0x0006cc50 addiu v0, zero, 0x35e         |     v0 = 0x35e;
    0x0006cc54 sw v0, 0x14(sp)               |     *(var_14h) = v0;
    0x0006cc58 lw v0, -0x7fc8(gp)            |     v0 = *(gp);
                                             |     /* obj.__func__.7792 */
    0x0006cc5c addiu v1, v1, 0xdd0           |     v1 += 0xdd0;
    0x0006cc60 addiu a2, zero, 2             |     a2 = 2;
    0x0006cc64 sw v1, 0x18(sp)               |     *(var_18h) = v1;
                                             |     /* str._ai_Ns_Process_error._n */
    0x0006cc68 addiu v0, v0, -0x98           |     v0 += -0x98;
    0x0006cc6c b 0x6c9fc                     |     goto label_8;
                                             | label_18:
    0x0006cc70 lw a0, -0x7fc8(gp)            |     a0 = *(gp);
    0x0006cc74 lw t9, -0x74d0(gp)            |     t9 = sym.imp.printf;
    0x0006cc78 move a1, v0                   |     a1 = v0;
                                             |     /* str.err:___ai_dev_read__ret__d_n */
    0x0006cc7c addiu a0, a0, -0x140          |     a0 += -aav.0x00000140;
    0x0006cc80 jalr t9                       |     t9 ();
    0x0006cc84 lw gp, 0x28(sp)               |     gp = *(var_28h);
                                             |     do {
                                             | label_14:
    0x0006cc88 lw t9, -0x7adc(gp)            |         t9 = sym.imp.IMP_Log_Get_Option;
    0x0006cc8c jalr t9                       |         t9 ();
    0x0006cc90 nop                           |         
    0x0006cc94 lw gp, 0x28(sp)               |         gp = *(var_28h);
    0x0006cc98 move a1, v0                   |         a1 = v0;
    0x0006cc9c addiu a0, zero, 4             |         a0 = 4;
    0x0006cca0 lw v1, -0x7fc8(gp)            |         v1 = *(gp);
    0x0006cca4 lw v0, -0x7fc8(gp)            |         v0 = *(gp);
    0x0006cca8 lw t9, -0x79d0(gp)            |         t9 = sym.imp.imp_log_fun;
                                             |         /* str._home_ptkang_work_platform_isvp_20160504_e_proj_sdk_lv3_src_imp_audio_ai.c */
    0x0006ccac addiu v1, v1, -0x40c          |         v1 += -aav.0x0000040c;
    0x0006ccb0 sw v1, 0x10(sp)               |         *(var_10h) = v1;
    0x0006ccb4 addiu v1, zero, 0x384         |         v1 = aav.0x00000384;
    0x0006ccb8 sw v1, 0x14(sp)               |         *(var_14h) = v1;
    0x0006ccbc lw v1, -0x7fc8(gp)            |         v1 = *(gp);
    0x0006ccc0 addiu a2, zero, 2             |         a2 = 2;
                                             |         /* esilref: 'ai' */
    0x0006ccc4 addiu a3, v0, -0x410          |         a3 = v0 + -aav.0x00000410;
                                             |         /* obj.__func__.7792 */
    0x0006ccc8 addiu v1, v1, 0xdd0           |         v1 += 0xdd0;
    0x0006cccc sw v1, 0x18(sp)               |         *(var_18h) = v1;
    0x0006ccd0 lw v1, -0x7fc8(gp)            |         v1 = *(gp);
                                             |         /* str.ai_record_thread_exit_n */
    0x0006ccd4 addiu v1, v1, -0xb0           |         v1 += -0xb0;
    0x0006ccd8 sw v1, 0x1c(sp)               |         *(var_1ch) = v1;
    0x0006ccdc jalr t9                       |         t9 ();
    0x0006cce0 lw gp, 0x28(sp)               |         gp = *(var_28h);
    0x0006cce4 lw t9, -0x7574(gp)            |         t9 = sym.imp.pthread_exit;
    0x0006cce8 move a0, zero                 |         a0 = 0;
    0x0006ccec jalr t9                       |         t9 ();
                                             | label_9:
    0x0006ccf0 lw a0, -0x7fc8(gp)            |         a0 = *(gp);
    0x0006ccf4 lw t9, -0x76ac(gp)            |         t9 = sym.imp.puts;
                                             |         /* str.err:_argv__NULL */
    0x0006ccf8 addiu a0, a0, -0x180          |         a0 += -aav.0x00000180;
    0x0006ccfc jalr t9                       |         t9 ();
    0x0006cd00 lw gp, 0x28(sp)               |         gp = *(var_28h);
    0x0006cd04 lw t9, -0x7574(gp)            |         t9 = sym.imp.pthread_exit;
    0x0006cd08 move a0, zero                 |         a0 = 0;
    0x0006cd0c jalr t9                       |         t9 ();
                                             | label_15:
    0x0006cd10 lw v1, -0x7fc8(gp)            |         v1 = *(gp);
    0x0006cd14 lw a0, -0x7fc8(gp)            |         a0 = *(gp);
    0x0006cd18 lw t9, -0x74d0(gp)            |         t9 = sym.imp.printf;
                                             |         /* obj.__func__.7792 */
    0x0006cd1c addiu a1, v1, 0xdd0           |         a1 = v1 + 0xdd0;
                                             |         /* str.err:__s__d_ret__d_n */
    0x0006cd20 addiu a0, a0, -0x1d4          |         a0 += -aav.0x000001d4;
    0x0006cd24 addiu a2, zero, 0x325         |         a2 = 0x325;
    0x0006cd28 move a3, v0                   |         a3 = v0;
    0x0006cd2c jalr t9                       |         t9 ();
    0x0006cd30 lw gp, 0x28(sp)               |         gp = *(var_28h);
    0x0006cd34 b 0x6cc88                     |         
                                             |     } while (1);
                                             | }
    ; assembly                                   | /* r2dec pseudo code output */
                                                 | /* /logs/firmware/unblob_extracted/firmware_extract/6225984-11075644.jffs2_new_extract/lib/libmp.so @ 0x72b90 */
                                                 | #include <stdint.h>
                                                 |  
    ; (fcn) sym._ao_play_mute_thread ()          | void ao_play_mute_thread () {
    0x00072b90 lui gp, 8                         |     
    0x00072b94 addiu gp, gp, -0x5780             |     
    0x00072b98 addu gp, gp, t9                   |     gp += t9;
    0x00072b9c lw a1, -0x7fc8(gp)                |     a1 = *(gp);
    0x00072ba0 lw a2, -0x7fc8(gp)                |     a2 = *(gp);
    0x00072ba4 lw t9, -0x7c30(gp)                |     t9 = sym.imp.sprintf
    0x00072ba8 addiu sp, sp, -0x88               |     
                                                 |     /* esilref: 'ao-&s' */
    0x00072bac addiu a1, a1, 0x1058              |     a1 += 0x1058;
                                                 |     /* obj.__func__.7387 */
    0x00072bb0 addiu a2, a2, 0x1a44              |     a2 += 0x1a44;
    0x00072bb4 sw gp, 0x10(sp)                   |     *(var_10h) = gp;
    0x00072bb8 sw ra, 0x64(sp)                   |     *(var_64h) = ra;
    0x00072bbc sw s1, 0x5c(sp)                   |     *(var_5ch) = s1;
    0x00072bc0 sw s0, 0x58(sp)                   |     *(var_58h) = s0;
    0x00072bc4 move s1, a0                       |     s1 = a0;
    0x00072bc8 sw s2, 0x60(sp)                   |     *(var_60h) = s2;
    0x00072bcc sdc1 f26, 0x80(sp)                |     __asm ("sdc1 f26, 0x80(sp)");
    0x00072bd0 sdc1 f24, 0x78(sp)                |     __asm ("sdc1 f24, 0x78(sp)");
    0x00072bd4 sdc1 f22, 0x70(sp)                |     __asm ("sdc1 f22, 0x70(sp)");
    0x00072bd8 sdc1 f20, 0x68(sp)                |     __asm ("sdc1 f20, 0x68(sp)");
    0x00072bdc addiu a0, sp, 0x18                |     a0 = sp + 0x18;
    0x00072be0 jalr t9                           |     t9 ();
    0x00072be4 lw gp, 0x10(sp)                   |     gp = *(var_10h);
    0x00072be8 addiu a0, zero, 0xf               |     a0 = 0xf;
    0x00072bec lw t9, -0x7660(gp)                |     t9 = sym.imp.prctl;
    0x00072bf0 addiu a1, sp, 0x18                |     a1 = sp + 0x18;
    0x00072bf4 jalr t9                           |     t9 ();
    0x00072bf8 lw s0, 0x80(s1)                   |     s0 = *((s1 + 32));
    0x00072bfc slti v0, s0, -0x1d                |     v0 = (s0 < -0x1d) ? 1 : 0;
    0x00072c00 lw gp, 0x10(sp)                   |     gp = *(var_10h);
                                                 |     if (v0 != 0) {
    0x00072c04 bnez v0, 0x72c70                  |         goto label_0;
                                                 |     }
    0x00072c08 lw v0, -0x7fc8(gp)                |     v0 = *(gp);
    0x00072c0c lui s2, 2                         |     s2 = 0x249f0;
    0x00072c10 addiu s2, s2, 0x49f0              |     
    0x00072c14 ldc1 f26, 0x1040(v0)              |     __asm ("ldc1 f26, 0x1040(v0)");
    0x00072c18 lw v0, -0x7fc4(gp)                |     v0 = *((gp - 8177));
    0x00072c1c ldc1 f24, -0x7138(v0)             |     __asm ("ldc1 f24, -0x7138(v0)");
    0x00072c20 lw v0, -0x7fc8(gp)                |     v0 = *(gp);
    0x00072c24 ldc1 f22, 0x1048(v0)              |     __asm ("ldc1 f22, 0x1048(v0)");
    0x00072c28 lw v0, -0x7fc8(gp)                |     v0 = *(gp);
    0x00072c2c ldc1 f20, 0x1050(v0)              |     __asm ("ldc1 f20, 0x1050(v0)");
                                                 |     do {
    0x00072c30 mtc1 s0, f0                       |         __asm ("mtc1 s0, f0");
    0x00072c34 lw t9, -0x7a2c(gp)                |         t9 = sym.imp.pow;
    0x00072c38 cvt.d.w f14, f0                   |         __asm ("cvt.d.w f14, f0");
    0x00072c3c msub.d f14, f22, f14, f24         |         __asm ("msub.d f14, f22, f14, f24");
    0x00072c40 mov.d f12, f26                    |         __asm ("mov.d f12, f26");
    0x00072c44 addiu s0, s0, -3                  |         s0 += -3;
    0x00072c48 div.d f14, f14, f20               |         __asm ("div.d f14, f14, f20");
    0x00072c4c jalr t9                           |         t9 ();
    0x00072c50 lw gp, 0x10(sp)                   |         gp = *(var_10h);
    0x00072c54 sdc1 f0, 0x18(s1)                 |         __asm ("sdc1 f0, 0x18(s1)");
    0x00072c58 lw t9, -0x760c(gp)                |         t9 = sym.imp.usleep;
    0x00072c5c move a0, s2                       |         a0 = s2;
    0x00072c60 jalr t9                           |         t9 ();
    0x00072c64 slti v0, s0, -0x1d                |         v0 = (s0 < -0x1d) ? 1 : 0;
    0x00072c68 lw gp, 0x10(sp)                   |         gp = *(var_10h);
    0x00072c6c beqz v0, 0x72c30                  |         
                                                 |     } while (v0 == 0);
                                                 | label_0:
    0x00072c70 lw ra, 0x64(sp)                   |     ra = *(var_64h);
    0x00072c74 sw zero, 0x18(s1)                 |     *((s1 + 6)) = 0;
    0x00072c78 sw zero, 0x1c(s1)                 |     *((s1 + 7)) = 0;
    0x00072c7c lw s2, 0x60(sp)                   |     s2 = *(var_60h);
    0x00072c80 lw s1, 0x5c(sp)                   |     s1 = *(var_5ch);
    0x00072c84 lw s0, 0x58(sp)                   |     s0 = *(var_58h);
    0x00072c88 ldc1 f26, 0x80(sp)                |     __asm ("ldc1 f26, (var_80h)");
    0x00072c8c ldc1 f24, 0x78(sp)                |     __asm ("ldc1 f24, (var_78h)");
    0x00072c90 ldc1 f22, 0x70(sp)                |     __asm ("ldc1 f22, (var_70h)");
    0x00072c94 ldc1 f20, 0x68(sp)                |     __asm ("ldc1 f20, (var_68h)");
    0x00072c98 move v0, zero                     |     v0 = 0;
    0x00072c9c addiu sp, sp, 0x88                |     
    0x00072ca0 jr ra                             |     return v0;
                                                 | }
    ; assembly                           | /* r2dec pseudo code output */
                                         | /* /logs/firmware/unblob_extracted/firmware_extract/6225984-11075644.jffs2_new_extract/lib/libmp.so @ 0x72cc0 */
                                         | #include <stdint.h>
                                         |  
    ; (fcn) sym._ao_play_thread ()       | void ao_play_thread () {
    0x00072cc0 lui gp, 8                 |     
    0x00072cc4 addiu gp, gp, -0x58b0     |     
    0x00072cc8 addu gp, gp, t9           |     gp += t9;
    0x00072ccc lw a1, -0x7fc8(gp)        |     a1 = *(gp);
    0x00072cd0 lw v0, -0x7fc8(gp)        |     v0 = *(gp);
    0x00072cd4 lw t9, -0x7c30(gp)        |     t9 = sym.imp.sprintf
    0x00072cd8 addiu sp, sp, -0xa8       |     
                                         |     /* esilref: 'ao-&s' */
    0x00072cdc addiu a1, a1, 0x1058      |     a1 += 0x1058;
                                         |     /* obj.__func__.7424 */
    0x00072ce0 addiu a2, v0, 0x17c0      |     a2 = v0 + 0x17c0;
    0x00072ce4 sw gp, 0x20(sp)           |     *(var_20h) = gp;
    0x00072ce8 sw ra, 0xa4(sp)           |     *(var_a4h) = ra;
    0x00072cec sw s6, 0x98(sp)           |     *(var_98h) = s6;
    0x00072cf0 sw s5, 0x94(sp)           |     *(var_94h) = s5;
    0x00072cf4 sw s4, 0x90(sp)           |     *(var_90h) = s4;
    0x00072cf8 sw s3, 0x8c(sp)           |     *(var_8ch) = s3;
    0x00072cfc sw s0, 0x80(sp)           |     *(var_80h) = s0;
    0x00072d00 move s4, a0               |     s4 = a0;
    0x00072d04 sw fp, 0xa0(sp)           |     *(var_a0h) = fp;
    0x00072d08 sw s7, 0x9c(sp)           |     *(var_9ch) = s7;
    0x00072d0c sw s2, 0x88(sp)           |     *(var_88h) = s2;
    0x00072d10 sw s1, 0x84(sp)           |     *(var_84h) = s1;
    0x00072d14 addiu a0, sp, 0x28        |     a0 = sp + 0x28;
    0x00072d18 jalr t9                   |     t9 ();
    0x00072d1c lw gp, 0x20(sp)           |     gp = *(var_20h);
    0x00072d20 addiu a0, zero, 0xf       |     a0 = 0xf;
    0x00072d24 lw t9, -0x7660(gp)        |     t9 = sym.imp.prctl;
    0x00072d28 addiu a1, sp, 0x28        |     a1 = sp + 0x28;
    0x00072d2c jalr t9                   |     t9 ();
    0x00072d30 lw v0, (s4)               |     v0 = *(s4);
    0x00072d34 lw gp, 0x20(sp)           |     gp = *(var_20h);
    0x00072d38 sll v1, v0, 2             |     v1 = v0 << 2;
    0x00072d3c sll a0, v0, 4             |     a0 = v0 << 4;
    0x00072d40 subu v1, a0, v1           |     __asm ("subu v1, a0, v1");
    0x00072d44 lw s3, -0x7fa8(gp)        |     s3 = *((gp - 8170));
    0x00072d48 subu v0, v1, v0           |     __asm ("subu v0, v1, v0");
    0x00072d4c lw s6, -0x7fc8(gp)        |     s6 = *(gp);
    0x00072d50 sll v0, v0, 5             |     v0 <<= 5;
    0x00072d54 lw s5, -0x7fa8(gp)        |     s5 = *((gp - 8170));
                                         |     /* obj.aoDev */
    0x00072d58 addiu s3, s3, -0x62e8     |     s3 += -0x62e8;
    0x00072d5c addiu s0, v0, 0x30        |     s0 = v0 + 0x30;
    0x00072d60 addu s0, s3, s0           |     s0 = s3 + s0;
                                         |     /* str.err:__s_n */
    0x00072d64 addiu s6, s6, 0x107c      |     s6 += 0x107c;
    0x00072d68 addu s3, s3, v0           |     s3 += v0;
                                         | label_0:
    0x00072d6c lw t9, -0x7d98(gp)        |     t9 = sym.imp.pthread_mutex_lock;
                                         |     /* obj.mutex_dev */
    0x00072d70 addiu a0, s5, -0x6188     |     a0 = s5 + -0x6188;
    0x00072d74 jalr t9                   |     t9 ();
    0x00072d78 lw gp, 0x20(sp)           |     gp = *(var_20h);
                                         |     if (v0 != 0) {
    0x00072d7c bnez v0, 0x73108          |         goto label_8;
                                         |     }
                                         | label_5:
    0x00072d80 lw v0, 4(s4)              |     v0 = *((s4 + 1));
    0x00072d84 addiu v1, zero, 1         |     v1 = 1;
    0x00072d88 lw a0, 4(s0)              |     a0 = *((s0 + 1));
    0x00072d8c move a1, v0               |     a1 = v0;
    0x00072d90 lw a2, 8(s0)              |     a2 = *((s0 + 2));
                                         |     if (v0 == v1) {
    0x00072d94 beq v0, v1, 0x72f74       |         goto label_9;
                                         |     }
    0x00072d98 move s2, zero             |     s2 = 0;
                                         | label_1:
    0x00072d9c lw t9, -0x7bd0(gp)        |     t9 = sym.imp.pthread_mutex_unlock;
                                         |     if (v0 == 0) {
    0x00072da0 beqz v0, 0x73010          |         goto label_10;
                                         |     }
                                         | label_2:
    0x00072da4 lw t9, -0x7bd0(gp)        |     t9 = sym.imp.pthread_mutex_unlock;
                                         |     /* obj.mutex_dev */
    0x00072da8 addiu a0, s5, -0x6188     |     a0 = s5 + -0x6188;
    0x00072dac jalr t9                   |     t9 ();
    0x00072db0 lw gp, 0x20(sp)           |     gp = *(var_20h);
                                         |     if (v0 != 0) {
    0x00072db4 bnez v0, 0x731a4          |         goto label_11;
                                         |     }
    0x00072db8 lw t9, -0x7500(gp)        |     t9 = sym.audio_buf_node_get_info;
                                         |     if (s2 == 0) {
    0x00072dbc beqz s2, 0x730d4          |         goto label_12;
                                         |     }
    0x00072dc0 move a0, s2               |     a0 = s2;
    0x00072dc4 lui s1, 0x4008            |     s1 = 0x40080000;
    0x00072dc8 jalr t9                   |     t9 ();
    0x00072dcc lw fp, (v0)               |     fp = *(v0);
    0x00072dd0 lw s7, 4(v0)              |     s7 = *((v0 + 1));
    0x00072dd4 lw gp, 0x20(sp)           |     gp = *(var_20h);
    0x00072dd8 slti v0, fp, 4            |     v0 = (fp < 4) ? 1 : 0;
    0x00072ddc addiu s1, s1, 0x5069      |     s1 += 0x5069;
                                         |     if (v0 == 0) {
    0x00072de0 beqz v0, 0x72df8          |         goto label_13;
                                         |     }
    0x00072de4 lw t9, -0x7d98(gp)        |     t9 = sym.imp.pthread_mutex_lock;
    0x00072de8 b 0x72ebc                 |     goto label_14;
                                         |     do {
    0x00072dec slti a0, fp, 4            |         a0 = (fp < 4) ? 1 : 0;
    0x00072df0 addu s7, s7, v0           |         s7 += v0;
                                         |         if (a0 != 0) {
    0x00072df4 bnez a0, 0x72eb8          |             goto label_15;
                                         |         }
                                         | label_13:
    0x00072df8 lw t9, -0x74a4(gp)        |         t9 = sym.imp.ioctl;
    0x00072dfc lw a0, 8(s3)              |         a0 = *((s3 + 2));
    0x00072e00 move a1, s1               |         a1 = s1;
    0x00072e04 addiu a2, sp, 0x68        |         a2 = sp + 0x68;
    0x00072e08 sw s7, 0x68(sp)           |         *(var_68h) = s7;
    0x00072e0c sw fp, 0x6c(sp)           |         *(var_6ch) = fp;
    0x00072e10 jalr t9                   |         t9 ();
    0x00072e14 lw gp, 0x20(sp)           |         gp = *(var_20h);
                                         |         if (v0 != 0) {
    0x00072e18 beqz v0, 0x72e50          |             
    0x00072e1c lw t9, -0x7dc4(gp)        |             t9 = sym.imp.__errno_location;
    0x00072e20 jalr t9                   |             t9 ();
    0x00072e24 nop                       |             
    0x00072e28 lw gp, 0x20(sp)           |             gp = *(var_20h);
    0x00072e2c lw t9, -0x7534(gp)        |             t9 = sym.imp.strerror;
    0x00072e30 lw a0, (v0)               |             a0 = *(v0);
    0x00072e34 jalr t9                   |             t9 ();
    0x00072e38 lw gp, 0x20(sp)           |             gp = *(var_20h);
    0x00072e3c move a0, s6               |             a0 = s6;
    0x00072e40 lw t9, -0x74d0(gp)        |             t9 = sym.imp.printf;
    0x00072e44 move a1, v0               |             a1 = v0;
    0x00072e48 jalr t9                   |             t9 ();
    0x00072e4c lw gp, 0x20(sp)           |             gp = *(var_20h);
                                         |         }
    0x00072e50 lw v0, 0x6c(sp)           |         v0 = *(var_6ch);
    0x00072e54 subu fp, fp, v0           |         __asm ("subu fp, fp, v0");
    0x00072e58 bgez v0, 0x72dec          |         
                                         |     } while (v0 >= 0);
    0x00072e5c lw t9, -0x7adc(gp)        |     t9 = sym.imp.IMP_Log_Get_Option;
    0x00072e60 addu fp, fp, v0           |     fp += v0;
    0x00072e64 jalr t9                   |     t9 ();
    0x00072e68 lw gp, 0x20(sp)           |     gp = *(var_20h);
    0x00072e6c addiu a2, zero, 2         |     a2 = 2;
    0x00072e70 lw a0, -0x7fc8(gp)        |     a0 = *(gp);
    0x00072e74 lw a1, -0x7fc8(gp)        |     a1 = *(gp);
    0x00072e78 lw t9, -0x79d0(gp)        |     t9 = sym.imp.imp_log_fun;
                                         |     /* obj.__func__.7410 */
    0x00072e7c addiu v1, a0, 0x17d0      |     v1 = a0 + 0x17d0;
                                         |     /* str._home_ptkang_work_platform_isvp_20160504_e_proj_sdk_lv3_src_imp_audio_ao.c */
    0x00072e80 addiu a1, a1, 0x108c      |     a1 += 0x108c;
    0x00072e84 sw v1, 0x18(sp)           |     *(var_18h) = v1;
    0x00072e88 lw v1, -0x7fc8(gp)        |     v1 = *(gp);
    0x00072e8c sw a1, 0x10(sp)           |     *(var_10h) = a1;
    0x00072e90 move a1, v0               |     a1 = v0;
    0x00072e94 lw v0, -0x7fc8(gp)        |     v0 = *(gp);
    0x00072e98 addiu a0, zero, 0x243     |     a0 = 0x243;
                                         |     /* str.write_aofd_error_n */
    0x00072e9c addiu v1, v1, 0x10d8      |     v1 += aav.0x000010d8;
    0x00072ea0 sw a0, 0x14(sp)           |     *(var_14h) = a0;
    0x00072ea4 sw v1, 0x1c(sp)           |     *(var_1ch) = v1;
    0x00072ea8 addiu a0, zero, 6         |     a0 = 6;
                                         |     /* esilref: 'ao' */
    0x00072eac addiu a3, v0, 0x1088      |     a3 = v0 + 0x1088;
    0x00072eb0 jalr t9                   |     t9 ();
    0x00072eb4 lw gp, 0x20(sp)           |     gp = *(var_20h);
                                         | label_15:
    0x00072eb8 lw t9, -0x7d98(gp)        |     t9 = sym.imp.pthread_mutex_lock;
                                         |     /* obj.mutex_dev */
                                         | label_14:
    0x00072ebc addiu a0, s5, -0x6188     |     a0 = s5 + -0x6188;
    0x00072ec0 jalr t9                   |     t9 ();
    0x00072ec4 lw gp, 0x20(sp)           |     gp = *(var_20h);
                                         |     if (v0 != 0) {
    0x00072ec8 bnez v0, 0x731cc          |         goto label_16;
                                         |     }
    0x00072ecc lw t9, -0x777c(gp)        |     t9 = sym.audio_buf_put_node;
    0x00072ed0 lw a0, 0x7c(s0)           |     a0 = *((s0 + 31));
    0x00072ed4 move a1, s2               |     a1 = s2;
    0x00072ed8 move a2, zero             |     a2 = 0;
    0x00072edc jalr t9                   |     t9 ();
    0x00072ee0 lw gp, 0x20(sp)           |     gp = *(var_20h);
    0x00072ee4 addiu s1, s0, 0x9c        |     s1 = s0 + 0x9c;
    0x00072ee8 lw t9, -0x7d98(gp)        |     t9 = sym.imp.pthread_mutex_lock;
    0x00072eec move a0, s1               |     a0 = s1;
    0x00072ef0 jalr t9                   |     t9 ();
    0x00072ef4 lw v0, 0x58(s0)           |     v0 = *((s0 + 22));
    0x00072ef8 lw v1, 0x54(s0)           |     v1 = *((s0 + 21));
    0x00072efc lw gp, 0x20(sp)           |     gp = *(var_20h);
    0x00072f00 addiu v0, v0, -1          |     v0 += -1;
    0x00072f04 addiu v1, v1, 1           |     v1++;
    0x00072f08 sw v0, 0x58(s0)           |     *((s0 + 22)) = v0;
    0x00072f0c sw v1, 0x54(s0)           |     *((s0 + 21)) = v1;
                                         |     if (v0 == 0) {
    0x00072f10 beqz v0, 0x730c0          |         goto label_17;
                                         |     }
                                         | label_4:
    0x00072f14 lw t9, -0x7bd0(gp)        |     t9 = sym.imp.pthread_mutex_unlock;
    0x00072f18 move a0, s1               |     a0 = s1;
    0x00072f1c jalr t9                   |     t9 ();
    0x00072f20 lw gp, 0x20(sp)           |     gp = *(var_20h);
    0x00072f24 lw a0, -0x7fa8(gp)        |     a0 = *((gp - 8170));
    0x00072f28 lw t9, -0x74a8(gp)        |     t9 = sym.imp.pthread_cond_signal;
                                         |     /* obj.cond_ao_send */
    0x00072f2c addiu a0, a0, -0x6140     |     a0 += -0x6140;
    0x00072f30 jalr t9                   |     t9 ();
    0x00072f34 lw gp, 0x20(sp)           |     gp = *(var_20h);
    0x00072f38 lw t9, -0x7bd0(gp)        |     t9 = sym.imp.pthread_mutex_unlock;
                                         |     /* obj.mutex_dev */
    0x00072f3c addiu a0, s5, -0x6188     |     a0 = s5 + -0x6188;
    0x00072f40 jalr t9                   |     t9 ();
    0x00072f44 lw gp, 0x20(sp)           |     gp = *(var_20h);
                                         |     if (v0 == 0) {
    0x00072f48 beqz v0, 0x72d6c          |         goto label_0;
                                         |     }
    0x00072f4c lw a0, -0x7fc8(gp)        |     a0 = *(gp);
    0x00072f50 lw t9, -0x74d0(gp)        |     t9 = sym.imp.printf;
    0x00072f54 addiu a2, zero, 0x2b3     |     a2 = 0x2b3;
                                         |     /* obj.__func__.7424 */
    0x00072f58 addiu a1, a0, 0x17c0      |     a1 = a0 + 0x17c0;
    0x00072f5c lw a0, -0x7fc8(gp)        |     a0 = *(gp);
    0x00072f60 move a3, v0               |     a3 = v0;
                                         |     /* str.err:__s__d_ret__d_n */
    0x00072f64 addiu a0, a0, -0x1d4      |     a0 += -aav.0x000001d4;
    0x00072f68 jalr t9                   |     t9 ();
    0x00072f6c lw gp, 0x20(sp)           |     gp = *(var_20h);
    0x00072f70 b 0x7312c                 |     goto label_7;
                                         | label_9:
    0x00072f74 lw v0, -0x7fa8(gp)        |     v0 = *((gp - 8170));
    0x00072f78 addiu s7, zero, 1         |     s7 = 1;
                                         |     /* obj.cond_dev */
    0x00072f7c addiu s1, v0, -0x6170     |     s1 = v0 + -0x6170;
                                         |     if (a0 != 0) {
                                         |         do {
    0x00072f80 bnez a0, 0x72ffc          |             goto label_18;
                                         |         }
    0x00072f84 nop                       |         
    0x00072f88 sw s7, 0x78(s0)           |         *((s0 + 30)) = s7;
                                         | label_6:
    0x00072f8c lw t9, -0x7af8(gp)        |         t9 = sym.imp.gettimeofday;
                                         | label_3:
    0x00072f90 addiu a0, sp, 0x78        |         a0 = sp + 0x78;
    0x00072f94 move a1, zero             |         a1 = 0;
    0x00072f98 jalr t9                   |         t9 ();
    0x00072f9c lw v0, 0x7c(sp)           |         v0 = *(var_7ch);
    0x00072fa0 lw gp, 0x20(sp)           |         gp = *(var_20h);
    0x00072fa4 lw a3, 0x78(sp)           |         a3 = *(var_78h);
    0x00072fa8 sll a1, v0, 7             |         a1 = v0 << 7;
    0x00072fac sll a0, v0, 2             |         a0 = v0 << 2;
    0x00072fb0 subu a0, a1, a0           |         __asm ("subu a0, a1, a0");
    0x00072fb4 addu v0, a0, v0           |         v0 = a0 + v0;
    0x00072fb8 lw t9, -0x7ef4(gp)        |         t9 = sym.imp.pthread_cond_timedwait;
    0x00072fbc addiu a3, a3, 5           |         a3 += 5;
    0x00072fc0 sll v0, v0, 3             |         v0 <<= 3;
    0x00072fc4 move a0, s1               |         a0 = s1;
                                         |         /* obj.mutex_dev */
    0x00072fc8 addiu a1, s5, -0x6188     |         a1 = s5 + -0x6188;
    0x00072fcc addiu a2, sp, 0x70        |         a2 = sp + 0x70;
    0x00072fd0 sw a3, 0x70(sp)           |         *(var_70h) = a3;
    0x00072fd4 sw v0, 0x74(sp)           |         *(var_74h) = v0;
    0x00072fd8 jalr t9                   |         t9 ();
    0x00072fdc lw v0, 4(s4)              |         v0 = *((s4 + 1));
    0x00072fe0 lw gp, 0x20(sp)           |         gp = *(var_20h);
    0x00072fe4 lw a0, 4(s0)              |         a0 = *((s0 + 1));
    0x00072fe8 lw a2, 8(s0)              |         a2 = *((s0 + 2));
    0x00072fec move a1, v0               |         a1 = v0;
    0x00072ff0 beq v0, s7, 0x72f80       |         
                                         |     } while (v0 == s7);
    0x00072ff4 move s2, zero             |     s2 = 0;
    0x00072ff8 b 0x72d9c                 |     goto label_1;
                                         | label_18:
    0x00072ffc move v0, a1               |     v0 = a1;
                                         |     if (a0 == s7) {
    0x00073000 beq a0, s7, 0x73048       |         goto label_19;
                                         |     }
    0x00073004 move s2, zero             |     s2 = 0;
                                         |     if (v0 != 0) {
    0x00073008 bnez v0, 0x72da4          |         goto label_2;
                                         |     }
    0x0007300c lw t9, -0x7bd0(gp)        |     t9 = sym.imp.pthread_mutex_unlock;
                                         |     /* obj.mutex_dev */
                                         | label_10:
    0x00073010 addiu a0, s5, -0x6188     |     a0 = s5 + -0x6188;
    0x00073014 jalr t9                   |     t9 ();
    0x00073018 lw gp, 0x20(sp)           |     gp = *(var_20h);
                                         |     if (v0 == 0) {
    0x0007301c beqz v0, 0x7312c          |         goto label_7;
                                         |     }
    0x00073020 lw v1, -0x7fc8(gp)        |     v1 = *(gp);
    0x00073024 lw a0, -0x7fc8(gp)        |     a0 = *(gp);
    0x00073028 lw t9, -0x74d0(gp)        |     t9 = sym.imp.printf;
                                         |     /* obj.__func__.7424 */
    0x0007302c addiu a1, v1, 0x17c0      |     a1 = v1 + 0x17c0;
                                         |     /* str.err:__s__d_ret__d_n */
    0x00073030 addiu a0, a0, -0x1d4      |     a0 += -aav.0x000001d4;
    0x00073034 addiu a2, zero, 0x28c     |     a2 = aav.0x0000028c;
    0x00073038 move a3, v0               |     a3 = v0;
    0x0007303c jalr t9                   |     t9 ();
    0x00073040 lw gp, 0x20(sp)           |     gp = *(var_20h);
    0x00073044 b 0x7312c                 |     goto label_7;
                                         | label_19:
    0x00073048 lw v0, 0x98(s0)           |     v0 = *((s0 + 38));
                                         |     if (v0 == 0) {
    0x0007304c bnez v0, 0x73058          |         
    0x00073050 nop                       |         
    0x00073054 sw zero, 0x94(s0)         |         *((s0 + 37)) = 0;
                                         |     }
                                         |     if (a2 == s7) {
    0x00073058 beq a2, s7, 0x73194       |         goto label_20;
                                         |     }
    0x0007305c nop                       |     
    0x00073060 lw v0, 0x94(s0)           |     v0 = *((s0 + 37));
    0x00073064 lw t9, -0x7ed0(gp)        |     t9 = sym.audio_buf_get_node;
                                         |     if (v0 != s7) {
    0x00073068 bne v0, s7, 0x73084       |         goto label_21;
                                         |     }
    0x0007306c lw a0, 0x58(s0)           |     a0 = *((s0 + 22));
    0x00073070 lw v0, 0x54(s0)           |     v0 = *((s0 + 21));
    0x00073074 slt v0, a0, v0            |     v0 = (a0 < v0) ? 1 : 0;
    0x00073078 lw t9, -0x7af8(gp)        |     t9 = sym.imp.gettimeofday;
                                         |     if (v0 != 0) {
    0x0007307c bnez v0, 0x72f90          |         goto label_3;
                                         |     }
    0x00073080 lw t9, -0x7ed0(gp)        |     t9 = sym.audio_buf_get_node;
                                         | label_21:
    0x00073084 lw a0, 0x7c(s0)           |     a0 = *((s0 + 31));
    0x00073088 addiu a1, zero, 1         |     a1 = 1;
    0x0007308c jalr t9                   |     t9 ();
    0x00073090 move s2, v0               |     s2 = v0;
    0x00073094 lw gp, 0x20(sp)           |     gp = *(var_20h);
                                         |     if (v0 == 0) {
    0x00073098 beqz v0, 0x7319c          |         goto label_22;
                                         |     }
    0x0007309c lw v1, 0x94(s0)           |     v1 = *((s0 + 37));
    0x000730a0 addiu v0, zero, 1         |     v0 = 1;
                                         |     if (v1 != v0) {
    0x000730a4 beq v1, v0, 0x730b4       |         
    0x000730a8 nop                       |         
    0x000730ac lw v0, 4(s4)              |         v0 = *((s4 + 1));
    0x000730b0 b 0x72d9c                 |         goto label_1;
                                         |     }
    0x000730b4 sw zero, 0x94(s0)         |     *((s0 + 37)) = 0;
    0x000730b8 lw v0, 4(s4)              |     v0 = *((s4 + 1));
    0x000730bc b 0x72d9c                 |     goto label_1;
                                         | label_17:
    0x000730c0 lw t9, -0x74a8(gp)        |     t9 = sym.imp.pthread_cond_signal;
    0x000730c4 addiu a0, s0, 0xb8        |     a0 = s0 + 0xb8;
    0x000730c8 jalr t9                   |     t9 ();
    0x000730cc lw gp, 0x20(sp)           |     gp = *(var_20h);
    0x000730d0 b 0x72f14                 |     goto label_4;
                                         | label_12:
    0x000730d4 lw v0, -0x7fc8(gp)        |     v0 = *(gp);
    0x000730d8 lw a0, -0x7fc8(gp)        |     a0 = *(gp);
    0x000730dc lw t9, -0x74d0(gp)        |     t9 = sym.imp.printf;
                                         |     /* obj.__func__.7424 */
    0x000730e0 addiu a1, v0, 0x17c0      |     a1 = v0 + 0x17c0;
                                         |     /* str.err:__s__d_aobuf__NULL_n */
    0x000730e4 addiu a0, a0, 0x1060      |     a0 += 0x1060;
    0x000730e8 addiu a2, zero, 0x297     |     a2 = 0x297;
    0x000730ec jalr t9                   |     t9 ();
    0x000730f0 lw gp, 0x20(sp)           |     gp = *(var_20h);
    0x000730f4 lw t9, -0x7d98(gp)        |     t9 = sym.imp.pthread_mutex_lock;
                                         |     /* obj.mutex_dev */
    0x000730f8 addiu a0, s5, -0x6188     |     a0 = s5 + -0x6188;
    0x000730fc jalr t9                   |     t9 ();
    0x00073100 lw gp, 0x20(sp)           |     gp = *(var_20h);
                                         |     if (v0 == 0) {
    0x00073104 beqz v0, 0x72d80          |         goto label_5;
                                         |     }
                                         | label_8:
    0x00073108 lw v1, -0x7fc8(gp)        |     v1 = *(gp);
    0x0007310c lw a0, -0x7fc8(gp)        |     a0 = *(gp);
    0x00073110 lw t9, -0x74d0(gp)        |     t9 = sym.imp.printf;
                                         |     /* obj.__func__.7424 */
    0x00073114 addiu a1, v1, 0x17c0      |     a1 = v1 + 0x17c0;
                                         |     /* str.err:__s__d_ret__d_n */
    0x00073118 addiu a0, a0, -0x1d4      |     a0 += -aav.0x000001d4;
    0x0007311c addiu a2, zero, 0x25f     |     a2 = 0x25f;
    0x00073120 move a3, v0               |     a3 = v0;
    0x00073124 jalr t9                   |     t9 ();
    0x00073128 lw gp, 0x20(sp)           |     gp = *(var_20h);
                                         |     do {
                                         | label_7:
    0x0007312c lw t9, -0x7adc(gp)        |         t9 = sym.imp.IMP_Log_Get_Option;
    0x00073130 jalr t9                   |         t9 ();
    0x00073134 nop                       |         
    0x00073138 lw gp, 0x20(sp)           |         gp = *(var_20h);
    0x0007313c addiu a0, zero, 4         |         a0 = 4;
    0x00073140 addiu a2, zero, 2         |         a2 = 2;
    0x00073144 lw a1, -0x7fc8(gp)        |         a1 = *(gp);
    0x00073148 lw t9, -0x79d0(gp)        |         t9 = sym.imp.imp_log_fun;
                                         |         /* obj.__func__.7424 */
    0x0007314c addiu v1, a1, 0x17c0      |         v1 = a1 + 0x17c0;
    0x00073150 lw a1, -0x7fc8(gp)        |         a1 = *(gp);
    0x00073154 sw v1, 0x18(sp)           |         *(var_18h) = v1;
    0x00073158 lw v1, -0x7fc8(gp)        |         v1 = *(gp);
                                         |         /* str._home_ptkang_work_platform_isvp_20160504_e_proj_sdk_lv3_src_imp_audio_ao.c */
    0x0007315c addiu a1, a1, 0x108c      |         a1 += 0x108c;
    0x00073160 sw a1, 0x10(sp)           |         *(var_10h) = a1;
    0x00073164 addiu a1, zero, 0x2b7     |         a1 = 0x2b7;
    0x00073168 sw a1, 0x14(sp)           |         *(var_14h) = a1;
    0x0007316c move a1, v0               |         a1 = v0;
    0x00073170 lw v0, -0x7fc8(gp)        |         v0 = *(gp);
                                         |         /* str.ao_record_thread_exit_n */
    0x00073174 addiu v1, v1, 0x10ec      |         v1 += 0x10ec;
    0x00073178 sw v1, 0x1c(sp)           |         *(var_1ch) = v1;
                                         |         /* esilref: 'ao' */
    0x0007317c addiu a3, v0, 0x1088      |         a3 = v0 + 0x1088;
    0x00073180 jalr t9                   |         t9 ();
    0x00073184 lw gp, 0x20(sp)           |         gp = *(var_20h);
    0x00073188 lw t9, -0x7574(gp)        |         t9 = sym.imp.pthread_exit;
    0x0007318c move a0, zero             |         a0 = 0;
    0x00073190 jalr t9                   |         t9 ();
                                         | label_20:
    0x00073194 sw s7, 0x74(s0)           |         *((s0 + 29)) = s7;
    0x00073198 b 0x72f8c                 |         goto label_6;
                                         | label_22:
    0x0007319c sw s7, 0x94(s0)           |         *((s0 + 37)) = s7;
    0x000731a0 b 0x72f8c                 |         goto label_6;
                                         | label_11:
    0x000731a4 lw a0, -0x7fc8(gp)        |         a0 = *(gp);
    0x000731a8 lw t9, -0x74d0(gp)        |         t9 = sym.imp.printf;
    0x000731ac addiu a2, zero, 0x293     |         a2 = 0x293;
                                         |         /* obj.__func__.7424 */
    0x000731b0 addiu a1, a0, 0x17c0      |         a1 = a0 + 0x17c0;
    0x000731b4 lw a0, -0x7fc8(gp)        |         a0 = *(gp);
    0x000731b8 move a3, v0               |         a3 = v0;
                                         |         /* str.err:__s__d_ret__d_n */
    0x000731bc addiu a0, a0, -0x1d4      |         a0 += -aav.0x000001d4;
    0x000731c0 jalr t9                   |         t9 ();
    0x000731c4 lw gp, 0x20(sp)           |         gp = *(var_20h);
    0x000731c8 b 0x7312c                 |         
                                         |     } while (1);
                                         | label_16:
    0x000731cc lw v1, -0x7fc8(gp)        |     v1 = *(gp);
    0x000731d0 lw a0, -0x7fc8(gp)        |     a0 = *(gp);
    0x000731d4 lw t9, -0x74d0(gp)        |     t9 = sym.imp.printf;
                                         |     /* obj.__func__.7424 */
    0x000731d8 addiu a1, v1, 0x17c0      |     a1 = v1 + 0x17c0;
                                         |     /* str.err:__s__d_ret__d_n */
    0x000731dc addiu a0, a0, -0x1d4      |     a0 += -aav.0x000001d4;
    0x000731e0 addiu a2, zero, 0x29f     |     a2 = 0x29f;
    0x000731e4 move a3, v0               |     a3 = v0;
    0x000731e8 jalr t9                   |     t9 ();
    0x000731ec lw gp, 0x20(sp)           |     gp = *(var_20h);
    0x000731f0 b 0x7312c                 |     goto label_7;
                                         | }
    ; assembly                                   | /* r2dec pseudo code output */
                                                 | /* /logs/firmware/unblob_extracted/firmware_extract/6225984-11075644.jffs2_new_extract/lib/libmp.so @ 0x72a30 */
                                                 | #include <stdint.h>
                                                 |  
    ; (fcn) sym._ao_play_unmute_thread ()        | void ao_play_unmute_thread () {
    0x00072a30 lui gp, 8                         |     
    0x00072a34 addiu gp, gp, -0x5620             |     
    0x00072a38 addu gp, gp, t9                   |     gp += t9;
    0x00072a3c lw a1, -0x7fc8(gp)                |     a1 = *(gp);
    0x00072a40 lw a2, -0x7fc8(gp)                |     a2 = *(gp);
    0x00072a44 lw t9, -0x7c30(gp)                |     t9 = sym.imp.sprintf
    0x00072a48 addiu sp, sp, -0x98               |     
                                                 |     /* esilref: 'ao-&s' */
    0x00072a4c addiu a1, a1, 0x1058              |     a1 += 0x1058;
                                                 |     /* obj.__func__.7396 */
    0x00072a50 addiu a2, a2, 0x1a70              |     a2 += 0x1a70;
    0x00072a54 sw gp, 0x10(sp)                   |     *(var_10h) = gp;
    0x00072a58 sw ra, 0x74(sp)                   |     *(var_74h) = ra;
    0x00072a5c sw s5, 0x6c(sp)                   |     *(var_6ch) = s5;
    0x00072a60 sw s4, 0x68(sp)                   |     *(var_68h) = s4;
    0x00072a64 sw s3, 0x64(sp)                   |     *(var_64h) = s3;
    0x00072a68 sw s2, 0x60(sp)                   |     *(var_60h) = s2;
    0x00072a6c sw s0, 0x58(sp)                   |     *(var_58h) = s0;
    0x00072a70 sw s6, 0x70(sp)                   |     *(var_70h) = s6;
    0x00072a74 move s0, a0                       |     s0 = a0;
    0x00072a78 sw s1, 0x5c(sp)                   |     *(var_5ch) = s1;
    0x00072a7c sdc1 f26, 0x90(sp)                |     __asm ("sdc1 f26, 0x90(sp)");
    0x00072a80 sdc1 f24, 0x88(sp)                |     __asm ("sdc1 f24, 0x88(sp)");
    0x00072a84 sdc1 f22, 0x80(sp)                |     __asm ("sdc1 f22, 0x80(sp)");
    0x00072a88 sdc1 f20, 0x78(sp)                |     __asm ("sdc1 f20, 0x78(sp)");
    0x00072a8c addiu a0, sp, 0x18                |     a0 = sp + 0x18;
    0x00072a90 jalr t9                           |     t9 ();
    0x00072a94 lw gp, 0x10(sp)                   |     gp = *(var_10h);
    0x00072a98 addiu a0, zero, 0xf               |     a0 = 0xf;
    0x00072a9c lw t9, -0x7660(gp)                |     t9 = sym.imp.prctl;
    0x00072aa0 addiu a1, sp, 0x18                |     a1 = sp + 0x18;
    0x00072aa4 jalr t9                           |     t9 ();
    0x00072aa8 lw v0, 0x80(s0)                   |     v0 = *((s0 + 32));
    0x00072aac lw gp, 0x10(sp)                   |     gp = *(var_10h);
    0x00072ab0 slti v1, v0, -0x1d                |     v1 = (v0 < -0x1d) ? 1 : 0;
    0x00072ab4 lw s5, -0x7fc8(gp)                |     s5 = *(gp);
    0x00072ab8 lw s3, -0x7fc4(gp)                |     s3 = *((gp - 8177));
    0x00072abc lw s2, -0x7fc8(gp)                |     s2 = *(gp);
    0x00072ac0 lw s4, -0x7fc8(gp)                |     s4 = *(gp);
                                                 |     if (v1 != 0) {
    0x00072ac4 bnez v1, 0x72b28                  |         goto label_0;
                                                 |     }
    0x00072ac8 ldc1 f26, 0x1040(s5)              |     __asm ("ldc1 f26, 0x1040(s5)");
    0x00072acc ldc1 f24, -0x7138(s3)             |     __asm ("ldc1 f24, -0x7138(s3)");
    0x00072ad0 ldc1 f22, 0x1048(s2)              |     __asm ("ldc1 f22, 0x1048(s2)");
    0x00072ad4 ldc1 f20, 0x1050(s4)              |     __asm ("ldc1 f20, 0x1050(s4)");
    0x00072ad8 lui s1, 2                         |     s1 = 0x20000;
    0x00072adc addiu s6, zero, -0x1e             |     s6 = -0x1e;
    0x00072ae0 addiu s1, s1, 0x49f0              |     s1 += 0x49f0;
                                                 |     do {
    0x00072ae4 mtc1 s6, f0                       |         __asm ("mtc1 s6, f0");
    0x00072ae8 lw t9, -0x7a2c(gp)                |         t9 = sym.imp.pow;
    0x00072aec cvt.d.w f14, f0                   |         __asm ("cvt.d.w f14, f0");
    0x00072af0 msub.d f14, f22, f14, f24         |         __asm ("msub.d f14, f22, f14, f24");
    0x00072af4 mov.d f12, f26                    |         __asm ("mov.d f12, f26");
    0x00072af8 addiu s6, s6, 3                   |         s6 += 3;
    0x00072afc div.d f14, f14, f20               |         __asm ("div.d f14, f14, f20");
    0x00072b00 jalr t9                           |         t9 ();
    0x00072b04 lw gp, 0x10(sp)                   |         gp = *(var_10h);
    0x00072b08 sdc1 f0, 0x18(s0)                 |         __asm ("sdc1 f0, 0x18(s0)");
    0x00072b0c lw t9, -0x760c(gp)                |         t9 = sym.imp.usleep;
    0x00072b10 move a0, s1                       |         a0 = s1;
    0x00072b14 jalr t9                           |         t9 ();
    0x00072b18 lw v0, 0x80(s0)                   |         v0 = *((s0 + 32));
    0x00072b1c slt v1, s6, v0                    |         v1 = (s6 < v0) ? 1 : 0;
    0x00072b20 lw gp, 0x10(sp)                   |         gp = *(var_10h);
    0x00072b24 bnez v1, 0x72ae4                  |         
                                                 |     } while (v1 != 0);
                                                 | label_0:
    0x00072b28 ldc1 f4, -0x7138(s3)              |     __asm ("ldc1 f4, -0x7138(s3)");
    0x00072b2c ldc1 f2, 0x1048(s2)               |     __asm ("ldc1 f2, 0x1048(s2)");
    0x00072b30 mtc1 v0, f0                       |     __asm ("mtc1 v0, f0");
    0x00072b34 lw t9, -0x7a2c(gp)                |     t9 = sym.imp.pow;
    0x00072b38 cvt.d.w f14, f0                   |     __asm ("cvt.d.w f14, f0");
    0x00072b3c msub.d f14, f2, f14, f4           |     __asm ("msub.d f14, f2, f14, f4");
    0x00072b40 ldc1 f0, 0x1050(s4)               |     __asm ("ldc1 f0, 0x1050(s4)");
    0x00072b44 ldc1 f12, 0x1040(s5)              |     __asm ("ldc1 f12, 0x1040(s5)");
    0x00072b48 div.d f14, f14, f0                |     __asm ("div.d f14, f14, f0");
    0x00072b4c jalr t9                           |     t9 ();
    0x00072b50 lw ra, 0x74(sp)                   |     ra = *(var_74h);
    0x00072b54 sdc1 f0, 0x18(s0)                 |     __asm ("sdc1 f0, 0x18(s0)");
    0x00072b58 lw s6, 0x70(sp)                   |     s6 = *(var_70h);
    0x00072b5c lw s5, 0x6c(sp)                   |     s5 = *(var_6ch);
    0x00072b60 lw s4, 0x68(sp)                   |     s4 = *(var_68h);
    0x00072b64 lw s3, 0x64(sp)                   |     s3 = *(var_64h);
    0x00072b68 lw s2, 0x60(sp)                   |     s2 = *(var_60h);
    0x00072b6c lw s1, 0x5c(sp)                   |     s1 = *(var_5ch);
    0x00072b70 lw s0, 0x58(sp)                   |     s0 = *(var_58h);
    0x00072b74 ldc1 f26, 0x90(sp)                |     __asm ("ldc1 f26, (var_90h)");
    0x00072b78 ldc1 f24, 0x88(sp)                |     __asm ("ldc1 f24, (var_88h)");
    0x00072b7c ldc1 f22, 0x80(sp)                |     __asm ("ldc1 f22, (var_80h)");
    0x00072b80 ldc1 f20, 0x78(sp)                |     __asm ("ldc1 f20, (var_78h)");
    0x00072b84 move v0, zero                     |     v0 = 0;
    0x00072b88 addiu sp, sp, 0x98                |     
    0x00072b8c jr ra                             |     return v0;
                                                 | }
    ; assembly                                       | /* r2dec pseudo code output */
                                                     | /* /logs/firmware/unblob_extracted/firmware_extract/6225984-11075644.jffs2_new_extract/lib/libmp.so @ 0x4d890 */
                                                     | #include <stdint.h>
                                                     |  
    ; (fcn) sym.channel_do_decode_process ()         | void channel_do_decode_process () {
    0x0004d890 lui gp, 0xa                           |     
    0x0004d894 addiu gp, gp, -0x480                  |     
    0x0004d898 addu gp, gp, t9                       |     gp += t9;
    0x0004d89c addiu sp, sp, -0x80                   |     
    0x0004d8a0 lw a1, -0x7fc8(gp)                    |     a1 = *(gp);
    0x0004d8a4 sw s1, 0x78(sp)                       |     *(var_78h) = s1;
    0x0004d8a8 lw s1, -0x7fc8(gp)                    |     s1 = *(gp);
    0x0004d8ac lw t9, -0x7c30(gp)                    |     t9 = sym.imp.sprintf
    0x0004d8b0 lw a2, (a0)                           |     a2 = *(a0);
    0x0004d8b4 sw gp, 0x28(sp)                       |     *(var_28h) = gp;
    0x0004d8b8 sw ra, 0x7c(sp)                       |     *(var_7ch) = ra;
    0x0004d8bc sw s0, 0x74(sp)                       |     *(var_74h) = s0;
                                                     |     /* str.DEC__d___s */
    0x0004d8c0 addiu a1, a1, -0x4d80                 |     a1 += -0x4d80;
    0x0004d8c4 move s0, a0                           |     s0 = a0;
                                                     |     /* obj.__func__.6642 */
    0x0004d8c8 addiu a3, s1, -0x4a18                 |     a3 = s1 + -0x4a18;
    0x0004d8cc addiu a0, sp, 0x30                    |     a0 = sp + 0x30;
    0x0004d8d0 jalr t9                               |     t9 ();
    0x0004d8d4 lw gp, 0x28(sp)                       |     gp = *(var_28h);
    0x0004d8d8 addiu a0, zero, 0xf                   |     a0 = 0xf;
    0x0004d8dc lw t9, -0x7660(gp)                    |     t9 = sym.imp.prctl;
    0x0004d8e0 addiu a1, sp, 0x30                    |     a1 = sp + 0x30;
    0x0004d8e4 jalr t9                               |     t9 ();
    0x0004d8e8 lw v0, 8(s0)                          |     v0 = *((s0 + 2));
    0x0004d8ec lw gp, 0x28(sp)                       |     gp = *(var_28h);
                                                     |     if (v0 == 0) {
    0x0004d8f0 bnez v0, 0x4d914                      |         
    0x0004d8f4 lw t9, -0x7630(gp)                    |         t9 = sym.channel_do_decode_jpeg_process;
    0x0004d8f8 move a0, s0                           |         a0 = s0;
    0x0004d8fc jalr t9                               |         t9 ();
    0x0004d900 lw ra, 0x7c(sp)                       |         ra = *(var_7ch);
    0x0004d904 lw s1, 0x78(sp)                       |         s1 = *(var_78h);
    0x0004d908 lw s0, 0x74(sp)                       |         s0 = *(var_74h);
    0x0004d90c addiu sp, sp, 0x80                    |         
    0x0004d910 jr ra                                 |         return v0;
                                                     |     }
    0x0004d914 lw t9, -0x7adc(gp)                    |     t9 = sym.imp.IMP_Log_Get_Option;
                                                     |     /* obj.__func__.6642 */
    0x0004d918 addiu s1, s1, -0x4a18                 |     s1 += -0x4a18;
    0x0004d91c jalr t9                               |     t9 ();
    0x0004d920 lw gp, 0x28(sp)                       |     gp = *(var_28h);
    0x0004d924 lw v1, 8(s0)                          |     v1 = *((s0 + 2));
    0x0004d928 sw s1, 0x18(sp)                       |     *(var_18h) = s1;
    0x0004d92c lw a0, -0x7fc8(gp)                    |     a0 = *(gp);
    0x0004d930 lw a3, -0x7fc8(gp)                    |     a3 = *(gp);
    0x0004d934 lw t9, -0x79d0(gp)                    |     t9 = sym.imp.imp_log_fun;
                                                     |     /* str._home_ptkang_work_platform_isvp_20160504_e_proj_sdk_lv3_src_imp_video_imp_decoder.c */
    0x0004d938 addiu a0, a0, -0x4e68                 |     a0 += -0x4e68;
    0x0004d93c sw a0, 0x10(sp)                       |     *(var_10h) = a0;
    0x0004d940 addiu a0, zero, 0x147                 |     a0 = 0x147;
    0x0004d944 sw a0, 0x14(sp)                       |     *(var_14h) = a0;
    0x0004d948 lw a0, -0x7fc8(gp)                    |     a0 = *(gp);
    0x0004d94c sw v1, 0x20(sp)                       |     *(var_20h) = v1;
    0x0004d950 move a1, v0                           |     a1 = v0;
                                                     |     /* str.Unsupport_decoder_protocol__d_n */
    0x0004d954 addiu a0, a0, -0x4e14                 |     a0 += -aav.0x00004e14;
    0x0004d958 sw a0, 0x1c(sp)                       |     *(var_1ch) = a0;
    0x0004d95c addiu a2, zero, 2                     |     a2 = 2;
    0x0004d960 addiu a0, zero, 6                     |     a0 = 6;
                                                     |     /* esilref: 'Decoder' */
    0x0004d964 addiu a3, a3, -0x4e70                 |     a3 += -0x4e70;
    0x0004d968 jalr t9                               |     t9 ();
    0x0004d96c lw ra, 0x7c(sp)                       |     ra = *(var_7ch);
    0x0004d970 lw s1, 0x78(sp)                       |     s1 = *(var_78h);
    0x0004d974 lw s0, 0x74(sp)                       |     s0 = *(var_74h);
    0x0004d978 addiu v0, zero, -1                    |     v0 = -1;
    0x0004d97c addiu sp, sp, 0x80                    |     
    0x0004d980 jr ra                                 |     return v0;
                                                     | }
    ; assembly                               | /* r2dec pseudo code output */
                                             | /* /logs/firmware/unblob_extracted/firmware_extract/6225984-11075644.jffs2_new_extract/lib/libmp.so @ 0x4cca4 */
                                             | #include <stdint.h>
                                             |  
    ; (fcn) sym.dbg_enc_info ()              | void dbg_enc_info () {
    0x0004cca4 lui gp, 0xa                   |     
    0x0004cca8 addiu gp, gp, 0x76c           |     
    0x0004ccac addu gp, gp, t9               |     gp += t9;
    0x0004ccb0 addiu sp, sp, -0x60           |     
    0x0004ccb4 sw s7, 0x54(sp)               |     *(var_54h) = s7;
    0x0004ccb8 lw s7, -0x7fe4(gp)            |     s7 = *((gp - 8185));
    0x0004ccbc sw gp, 0x20(sp)               |     *(var_20h) = gp;
    0x0004ccc0 sw ra, 0x5c(sp)               |     *(var_5ch) = ra;
    0x0004ccc4 lw v0, 0x6400(s7)             |     v0 = *((s7 + 6400));
    0x0004ccc8 sw fp, 0x58(sp)               |     *(var_58h) = fp;
    0x0004cccc sw s6, 0x50(sp)               |     *(var_50h) = s6;
    0x0004ccd0 sw s5, 0x4c(sp)               |     *(var_4ch) = s5;
    0x0004ccd4 sw s4, 0x48(sp)               |     *(var_48h) = s4;
    0x0004ccd8 sw s3, 0x44(sp)               |     *(var_44h) = s3;
    0x0004ccdc sw s2, 0x40(sp)               |     *(var_40h) = s2;
    0x0004cce0 sw s1, 0x3c(sp)               |     *(var_3ch) = s1;
    0x0004cce4 sw s0, 0x38(sp)               |     *(var_38h) = s0;
    0x0004cce8 sw a0, 0x60(sp)               |     *(arg_60h) = a0;
                                             |     if (v0 == 0) {
    0x0004ccec beqz v0, 0x4cf50              |         goto label_5;
                                             |     }
    0x0004ccf0 lw t2, (v0)                   |     t2 = *(v0);
    0x0004ccf4 lw v1, 0x60(sp)               |     v1 = *(arg_60h);
    0x0004ccf8 addiu v0, v1, 0x18            |     v0 = v1 + 0x18;
    0x0004ccfc lw v1, 0x24(t2)               |     v1 = *((t2 + 9));
    0x0004cd00 sw v0, 0x2c(sp)               |     *(var_2ch) = v0;
    0x0004cd04 sw v1, 0x30(sp)               |     *(var_30h) = v1;
                                             |     if (v1 <= 0) {
    0x0004cd08 blez v1, 0x4cf48              |         goto label_6;
                                             |     }
    0x0004cd0c lw v0, -0x7fc8(gp)            |     v0 = *(gp);
    0x0004cd10 move fp, t2                   |     fp = t2;
    0x0004cd14 move s0, zero                 |     s0 = 0;
                                             |     /* str.__________________________________________________n */
    0x0004cd18 addiu v0, v0, -0x5948         |     v0 += -0x5948;
    0x0004cd1c move s6, zero                 |     s6 = 0;
    0x0004cd20 addiu s2, v0, 0x30            |     s2 = v0 + 0x30;
                                             | label_1:
    0x0004cd24 lw v0, 0x28(fp)               |     v0 = *(arg_28h);
    0x0004cd28 lw v1, -0x7fc8(gp)            |     v1 = *(gp);
                                             |     if (v0 == 0) {
    0x0004cd2c beqz v0, 0x4cec0              |         goto label_7;
                                             |     }
    0x0004cd30 lw t9, -0x7c30(gp)            |     t9 = sym.imp.sprintf
    0x0004cd34 lw s1, 0x6400(s7)             |     s1 = *((s7 + 6400));
    0x0004cd38 lw a0, 0x2c(sp)               |     a0 = *(var_2ch);
    0x0004cd3c sll v0, s6, 4                 |     v0 = s6 << 4;
                                             |     /* str.GROUP__d_n */
    0x0004cd40 addiu a1, v1, -0x5974         |     a1 = v1 + -aav.0x00005974;
    0x0004cd44 move a2, s6                   |     a2 = s6;
    0x0004cd48 addu s1, s1, v0               |     s1 += v0;
    0x0004cd4c jalr t9                       |     t9 ();
    0x0004cd50 lw gp, 0x20(sp)               |     gp = *(var_20h);
    0x0004cd54 lw v1, 0x2c(sp)               |     v1 = *(var_2ch);
    0x0004cd58 addiu s1, s1, 4               |     s1 += 4;
    0x0004cd5c lw s3, -0x7fc8(gp)            |     s3 = *(gp);
    0x0004cd60 addu v1, v1, v0               |     v1 += v0;
    0x0004cd64 sw v1, 0x2c(sp)               |     *(var_2ch) = v1;
    0x0004cd68 addu s0, s0, v0               |     s0 += v0;
    0x0004cd6c move s5, zero                 |     s5 = 0;
    0x0004cd70 addu v0, s1, s5               |     v0 = s1 + s5;
                                             | label_0:
    0x0004cd74 lw s4, 8(v0)                  |     s4 = *((v0 + 2));
    0x0004cd78 addiu v0, zero, -1            |     v0 = -1;
                                             |     if (s4 == 0) {
    0x0004cd7c beqz s4, 0x4ceb0              |         goto label_8;
                                             |     }
    0x0004cd80 lw a2, (s4)                   |     a2 = *(s4);
    0x0004cd84 addiu a0, zero, 0x7d0         |     a0 = aav.0x000007d0;
                                             |     if (a2 == v0) {
    0x0004cd88 beq a2, v0, 0x4ceb0           |         goto label_8;
                                             |     }
    0x0004cd8c lw v0, 0xec(s4)               |     v0 = *((s4 + 59));
    0x0004cd90 sw a0, 0x28(sp)               |     *(var_28h) = a0;
    0x0004cd94 lw a3, 0x14(s4)               |     a3 = *((s4 + 5));
    0x0004cd98 lw a0, 0x2c(sp)               |     a0 = *(var_2ch);
    0x0004cd9c lw t3, 0x18(s4)               |     t3 = *((s4 + 6));
                                             |     if (v0 == 0) {
    0x0004cda0 beqz v0, 0x4cf24              |         goto label_9;
                                             |     }
    0x0004cda4 lw a1, -0x7fc8(gp)            |     a1 = *(gp);
    0x0004cda8 lw t5, 8(s4)                  |     t5 = *((s4 + 2));
    0x0004cdac addiu t4, zero, 1             |     t4 = 1;
                                             |     /* str.START */
    0x0004cdb0 addiu a1, a1, -0x5994         |     a1 += -0x5994;
                                             |     /* str.JPEG */
    0x0004cdb4 addiu v0, s3, -0x597c         |     v0 = s3 + -0x597c;
                                             |     if (t5 == t4) {
    0x0004cdb8 beq t5, t4, 0x4cf3c           |         goto label_10;
                                             |     }
                                             | label_2:
    0x0004cdbc sw a1, 0x14(sp)               |     *(var_14h) = a1;
    0x0004cdc0 lw a1, -0x7fc8(gp)            |     a1 = *(gp);
    0x0004cdc4 lw t9, -0x7c30(gp)            |     t9 = sym.imp.sprintf
    0x0004cdc8 sw t3, 0x10(sp)               |     *(var_10h) = t3;
    0x0004cdcc sw v0, 0x18(sp)               |     *(var_18h) = v0;
                                             |     /* str._tCHANNEL__d____5dx_5d___8s__s_n */
    0x0004cdd0 addiu a1, a1, -0x5968         |     a1 += -0x5968;
    0x0004cdd4 jalr t9                       |     t9 ();
    0x0004cdd8 lw a0, 0x2c(sp)               |     a0 = *(var_2ch);
    0x0004cddc lw gp, 0x20(sp)               |     gp = *(var_20h);
    0x0004cde0 addu s0, s0, v0               |     s0 += v0;
    0x0004cde4 addu v0, a0, v0               |     v0 = a0 + v0;
    0x0004cde8 lw a0, -0x7fc8(gp)            |     a0 = *(gp);
    0x0004cdec sw v0, 0x2c(sp)               |     *(var_2ch) = v0;
                                             |     /* str.__________________________________________________n */
    0x0004cdf0 addiu a0, a0, -0x5948         |     a0 += -0x5948;
                                             |     do {
    0x0004cdf4 lw a3, (a0)                   |         a3 = *(a0);
    0x0004cdf8 lw a1, 4(a0)                  |         a1 = *((a0 + 1));
    0x0004cdfc lw a2, 8(a0)                  |         a2 = *((a0 + 2));
    0x0004ce00 swl a3, 3(v0)                 |         __asm ("swl a3, 3(v0)");
    0x0004ce04 swr a3, (v0)                  |         __asm ("swr a3, (v0)");
    0x0004ce08 swl a1, 7(v0)                 |         __asm ("swl a1, 7(v0)");
    0x0004ce0c swr a1, 4(v0)                 |         __asm ("swr a1, 4(v0)");
    0x0004ce10 lw a1, 0xc(a0)                |         a1 = *((a0 + 3));
    0x0004ce14 swl a2, 0xb(v0)               |         __asm ("swl a2, 0xb(v0)");
    0x0004ce18 swr a2, 8(v0)                 |         __asm ("swr a2, 8(v0)");
    0x0004ce1c swl a1, 0xf(v0)               |         __asm ("swl a1, 0xf(v0)");
    0x0004ce20 addiu a0, a0, 0x10            |         a0 += 0x10;
    0x0004ce24 swr a1, 0xc(v0)               |         __asm ("swr a1, 0xc(v0)");
    0x0004ce28 addiu v0, v0, 0x10            |         v0 += 0x10;
    0x0004ce2c bne a0, s2, 0x4cdf4           |         
                                             |     } while (a0 != s2);
    0x0004ce30 lbu a1, 1(s2)                 |     a1 = *((s2 + 1));
    0x0004ce34 lbu a0, 2(s2)                 |     a0 = *((s2 + 2));
    0x0004ce38 lbu a2, (s2)                  |     a2 = *(s2);
    0x0004ce3c sb a1, 1(v0)                  |     *((v0 + 1)) = a1;
    0x0004ce40 sb a0, 2(v0)                  |     *((v0 + 2)) = a0;
    0x0004ce44 sb a2, (v0)                   |     *(v0) = a2;
    0x0004ce48 lw a0, 0x2c(sp)               |     a0 = *(var_2ch);
    0x0004ce4c lw a1, 8(s4)                  |     a1 = *((s4 + 2));
    0x0004ce50 addiu v0, zero, 1             |     v0 = 1;
    0x0004ce54 addiu a0, a0, 0x32            |     a0 += 0x32;
    0x0004ce58 sw a0, 0x2c(sp)               |     *(var_2ch) = a0;
    0x0004ce5c addiu s0, s0, 0x32            |     s0 += 0x32;
                                             |     if (a1 == v0) {
    0x0004ce60 bne a1, v0, 0x4ceb0           |         
    0x0004ce64 lw a1, -0x7fc8(gp)            |         a1 = *(gp);
    0x0004ce68 lw t9, -0x7c30(gp)            |         t9 = sym.imp.sprintf
    0x0004ce6c lw a2, (s4)                   |         a2 = *(s4);
                                             |         /* str.ch__index___d_n */
    0x0004ce70 addiu a1, a1, -0x5914         |         a1 += -0x5914;
    0x0004ce74 jalr t9                       |         t9 ();
    0x0004ce78 lw gp, 0x20(sp)               |         gp = *(var_20h);
    0x0004ce7c lw a3, 0x2c(sp)               |         a3 = *(var_2ch);
    0x0004ce80 addiu a0, sp, 0x2c            |         a0 = sp + 0x2c;
    0x0004ce84 lw t9, -0x7708(gp)            |         t9 = sym.IMPDbgFmtEncoderRcAttr;
    0x0004ce88 addu a3, a3, v0               |         a3 += v0;
    0x0004ce8c addiu a1, sp, 0x28            |         a1 = sp + 0x28;
    0x0004ce90 move a2, s4                   |         a2 = s4;
    0x0004ce94 sw a3, 0x2c(sp)               |         *(var_2ch) = a3;
    0x0004ce98 addu s0, s0, v0               |         s0 += v0;
    0x0004ce9c jalr t9                       |         t9 ();
    0x0004cea0 lw v0, 0x28(sp)               |         v0 = *(var_28h);
    0x0004cea4 lw gp, 0x20(sp)               |         gp = *(var_20h);
    0x0004cea8 subu s0, s0, v0               |         __asm ("subu s0, s0, v0");
    0x0004ceac addiu s0, s0, 0x7d0           |         s0 += aav.0x000007d0;
                                             |     }
                                             | label_8:
    0x0004ceb0 addiu s5, s5, 4               |     s5 += 4;
    0x0004ceb4 addiu v0, zero, 8             |     v0 = 8;
    0x0004ceb8 addu v0, s1, s5               |     v0 = s1 + s5;
                                             |     if (s5 != v0) {
    0x0004cebc bne s5, v0, 0x4cd74           |         goto label_0;
                                             |     }
                                             | label_7:
    0x0004cec0 lw v1, 0x30(sp)               |     v1 = *(var_30h);
    0x0004cec4 addiu s6, s6, 1               |     s6++;
    0x0004cec8 addiu fp, fp, 4               |     fp += 4;
                                             |     if (s6 != v1) {
    0x0004cecc bne s6, v1, 0x4cd24           |         goto label_1;
                                             |     }
    0x0004ced0 addiu s0, s0, 1               |     s0++;
                                             | label_3:
    0x0004ced4 lw v1, 0x60(sp)               |     v1 = *(arg_60h);
    0x0004ced8 lw v0, 8(v1)                  |     v0 = *((v1 + 2));
    0x0004cedc sw zero, 0xc(v1)              |     *((v1 + 3)) = 0;
    0x0004cee0 sw zero, 0x10(v1)             |     *((v1 + 4)) = 0;
    0x0004cee4 ori v0, v0, 0x100             |     v0 |= aav.0x00000100;
    0x0004cee8 sw v0, 8(v1)                  |     *((v1 + 2)) = v0;
    0x0004ceec sw s0, 0x14(v1)               |     *((v1 + 5)) = s0;
    0x0004cef0 move v0, zero                 |     v0 = 0;
                                             | label_4:
    0x0004cef4 lw ra, 0x5c(sp)               |     ra = *(var_5ch);
    0x0004cef8 lw fp, 0x58(sp)               |     fp = *(var_58h);
    0x0004cefc lw s7, 0x54(sp)               |     s7 = *(var_54h);
    0x0004cf00 lw s6, 0x50(sp)               |     s6 = *(var_50h);
    0x0004cf04 lw s5, 0x4c(sp)               |     s5 = *(var_4ch);
    0x0004cf08 lw s4, 0x48(sp)               |     s4 = *(var_48h);
    0x0004cf0c lw s3, 0x44(sp)               |     s3 = *(var_44h);
    0x0004cf10 lw s2, 0x40(sp)               |     s2 = *(var_40h);
    0x0004cf14 lw s1, 0x3c(sp)               |     s1 = *(var_3ch);
    0x0004cf18 lw s0, 0x38(sp)               |     s0 = *(var_38h);
    0x0004cf1c addiu sp, sp, 0x60            |     
    0x0004cf20 jr ra                         |     return v0;
                                             | label_9:
    0x0004cf24 lw a1, -0x7fc8(gp)            |     a1 = *(gp);
    0x0004cf28 lw t5, 8(s4)                  |     t5 = *((s4 + 2));
    0x0004cf2c addiu t4, zero, 1             |     t4 = 1;
                                             |     /* str.STOP */
    0x0004cf30 addiu a1, a1, -0x598c         |     a1 += -0x598c;
                                             |     /* str.JPEG */
    0x0004cf34 addiu v0, s3, -0x597c         |     v0 = s3 + -0x597c;
                                             |     if (t5 != t4) {
    0x0004cf38 bne t5, t4, 0x4cdbc           |         goto label_2;
                                             |     }
                                             | label_10:
    0x0004cf3c lw v0, -0x7fc8(gp)            |     v0 = *(gp);
                                             |     /* str.H264 */
    0x0004cf40 addiu v0, v0, -0x5984         |     v0 += -0x5984;
    0x0004cf44 b 0x4cdbc                     |     goto label_2;
                                             | label_6:
    0x0004cf48 addiu s0, zero, 1             |     s0 = 1;
    0x0004cf4c b 0x4ced4                     |     goto label_3;
                                             | label_5:
    0x0004cf50 addiu v0, zero, -1            |     v0 = -1;
    0x0004cf54 sw v0, 0xc(a0)                |     *((a0 + 3)) = v0;
    0x0004cf58 b 0x4cef4                     |     goto label_4;
                                             | }
    ; assembly                               | /* r2dec pseudo code output */
                                             | /* /logs/firmware/unblob_extracted/firmware_extract/6225984-11075644.jffs2_new_extract/lib/libmp.so @ 0x60ab0 */
                                             | #include <stdint.h>
                                             |  
    ; (fcn) sym.dbg_fs_info ()               | void dbg_fs_info () {
    0x00060ab0 lui gp, 9                     |     
    0x00060ab4 addiu gp, gp, -0x36a0         |     
    0x00060ab8 addu gp, gp, t9               |     gp += t9;
    0x00060abc addiu sp, sp, -0x78           |     
    0x00060ac0 sw s4, 0x60(sp)               |     *(var_60h) = s4;
    0x00060ac4 lw s4, -0x7fa8(gp)            |     s4 = *((gp - 8170));
    0x00060ac8 sw gp, 0x48(sp)               |     *(var_48h) = gp;
    0x00060acc sw ra, 0x74(sp)               |     *(var_74h) = ra;
    0x00060ad0 lw t4, -0x682c(s4)            |     t4 = *((s4 - 6667));
    0x00060ad4 sw fp, 0x70(sp)               |     *(var_70h) = fp;
    0x00060ad8 sw s7, 0x6c(sp)               |     *(var_6ch) = s7;
    0x00060adc sw s6, 0x68(sp)               |     *(var_68h) = s6;
    0x00060ae0 sw s5, 0x64(sp)               |     *(var_64h) = s5;
    0x00060ae4 sw s3, 0x5c(sp)               |     *(var_5ch) = s3;
    0x00060ae8 sw s2, 0x58(sp)               |     *(var_58h) = s2;
    0x00060aec sw s1, 0x54(sp)               |     *(var_54h) = s1;
    0x00060af0 sw s0, 0x50(sp)               |     *(var_50h) = s0;
    0x00060af4 lw s3, -0x7fc8(gp)            |     s3 = *(gp);
                                             |     if (t4 == 0) {
    0x00060af8 beqz t4, 0x60c54              |         goto label_0;
                                             |     }
    0x00060afc lw s2, -0x7fc8(gp)            |     s2 = *(gp);
    0x00060b00 move s6, a0                   |     s6 = a0;
    0x00060b04 addiu s1, a0, 0x18            |     s1 = a0 + 0x18;
    0x00060b08 move s5, zero                 |     s5 = 0;
    0x00060b0c move s0, zero                 |     s0 = 0;
                                             |     do {
    0x00060b10 lw v0, -0x7fc8(gp)            |         v0 = *(gp);
    0x00060b14 lw t2, -0x7fc8(gp)            |         t2 = *(gp);
    0x00060b18 lw a1, -0x7fc8(gp)            |         a1 = *(gp);
                                             |         /* esilref: 'NV12' */
    0x00060b1c addiu t1, v0, -0x200c         |         t1 = v0 + -aav.0x0000200c;
    0x00060b20 sll v0, s0, 9                 |         v0 = s0 << 9;
    0x00060b24 addiu v0, v0, 0x10            |         v0 += 0x10;
    0x00060b28 addu v0, t4, v0               |         v0 = t4 + v0;
    0x00060b2c lw t5, 0x12c(v0)              |         t5 = *(v0);
                                             |         /* str.NOT_NV12 */
    0x00060b30 addiu t3, t2, -0x2010         |         t3 = t2 + -aav.0x00002010;
                                             |         /* esilref: 'EN' */
    0x00060b34 addiu t0, s2, -0x2004         |         t0 = s2 + -0x2004;
                                             |         /* esilref: 'DIS' */
    0x00060b38 addiu t2, s3, -0x2000         |         t2 = s3 + -aav.0x00002000;
    0x00060b3c move a2, s0                   |         a2 = s0;
    0x00060b40 move v1, t0                   |         v1 = t0;
    0x00060b44 move a3, t2                   |         a3 = t2;
    0x00060b48 lw t9, -0x7c30(gp)            |         t9 = sym.imp.sprintf
    0x00060b4c move a0, s1                   |         a0 = s1;
                                             |         /* str.CHANNEL__d__n_t__INFO_t_5dx_5d_t_8s__t_2d__2d_fps___t_8s__n_t__CROP_t_8s_tleft__d__ttop__d__twidth__d__theight__d__n_tSCALER__t_8s__twidth__d___theight__d__n */
    0x00060b50 addiu a1, a1, -0x1ffc         |         a1 += -0x1ffc;
    0x00060b54 addiu s0, s0, 1               |         s0++;
                                             |         if (t5 != 0) {
    0x00060b58 beqz t5, 0x60bf8              |             
    0x00060b5c lw ra, 0x10(v0)               |             ra = *((v0 + 4));
    0x00060b60 lw fp, 4(v0)                  |             fp = *((v0 + 1));
    0x00060b64 lw t5, -0x7e38(gp)            |             t5 = *(gp);
    0x00060b68 xori ra, ra, 0xa              |             ra ^= 0xa;
                                             |             if (ra == 0) {
    0x00060b6c movn t1, t3, ra               |                 t1 = t3;
                                             |             }
    0x00060b70 lw t3, 0x14(v0)               |             t3 = *((v0 + 5));
    0x00060b74 sll fp, fp, 2                 |             fp <<= 2;
    0x00060b78 addu fp, t5, fp               |             fp = t5 + fp;
                                             |             if (t3 != 0) {
    0x00060b7c movz t0, t2, t3               |                 t0 = t2;
                                             |             }
    0x00060b80 lw t2, 0x28(v0)               |             t2 = *((v0 + 10));
    0x00060b84 lw t8, 4(t4)                  |             t8 = *((t4 + 1));
    0x00060b88 lw s7, 8(t4)                  |             s7 = *((t4 + 2));
    0x00060b8c lw t7, 0x18(v0)               |             t7 = *((v0 + 6));
    0x00060b90 lw t6, 0x1c(v0)               |             t6 = *((v0 + 7));
    0x00060b94 lw t5, 0x20(v0)               |             t5 = *((v0 + 8));
    0x00060b98 lw t4, 0x24(v0)               |             t4 = *((v0 + 9));
    0x00060b9c lw t3, 0xc(v0)                |             t3 = *((v0 + 3));
    0x00060ba0 lw fp, (fp)                   |             fp = *(fp);
                                             |             if (t2 != 0) {
    0x00060ba4 movz v1, a3, t2               |                 v1 = a3;
                                             |             }
    0x00060ba8 lw a3, 8(v0)                  |             a3 = *((v0 + 2));
    0x00060bac sw t3, 0x10(sp)               |             *(var_10h) = t3;
    0x00060bb0 sw fp, 0x14(sp)               |             *(var_14h) = fp;
    0x00060bb4 sw t8, 0x18(sp)               |             *(var_18h) = t8;
    0x00060bb8 sw s7, 0x1c(sp)               |             *(var_1ch) = s7;
    0x00060bbc sw t1, 0x20(sp)               |             *(var_20h) = t1;
    0x00060bc0 sw t0, 0x24(sp)               |             *(var_24h) = t0;
    0x00060bc4 sw t7, 0x28(sp)               |             *(var_28h) = t7;
    0x00060bc8 sw t6, 0x2c(sp)               |             *(var_2ch) = t6;
    0x00060bcc sw t5, 0x30(sp)               |             *(var_30h) = t5;
    0x00060bd0 sw t4, 0x34(sp)               |             *(var_34h) = t4;
    0x00060bd4 sw v1, 0x38(sp)               |             *(var_38h) = v1;
    0x00060bd8 lw v1, 0x2c(v0)               |             v1 = *((v0 + 11));
    0x00060bdc sw v1, 0x3c(sp)               |             *(var_3ch) = v1;
    0x00060be0 lw v0, 0x30(v0)               |             v0 = *((v0 + 12));
    0x00060be4 sw v0, 0x40(sp)               |             *(var_40h) = v0;
    0x00060be8 jalr t9                       |             t9 ();
    0x00060bec lw gp, 0x48(sp)               |             gp = *(var_48h);
    0x00060bf0 addu s1, s1, v0               |             s1 += v0;
    0x00060bf4 addu s5, s5, v0               |             s5 += v0;
                                             |         }
    0x00060bf8 addiu v0, zero, 4             |         v0 = 4;
    0x00060bfc lw t4, -0x682c(s4)            |         t4 = *((s4 - 6667));
    0x00060c00 bne s0, v0, 0x60b10           |         
                                             |     } while (s0 != v0);
    0x00060c04 lw v0, 8(s6)                  |     v0 = *((s6 + 2));
    0x00060c08 addiu s5, s5, 1               |     s5++;
    0x00060c0c sw zero, 0xc(s6)              |     *((s6 + 3)) = 0;
    0x00060c10 ori v0, v0, 0x100             |     v0 |= aav.0x00000100;
    0x00060c14 sw v0, 8(s6)                  |     *((s6 + 2)) = v0;
    0x00060c18 sw zero, 0x10(s6)             |     *((s6 + 4)) = 0;
    0x00060c1c sw s5, 0x14(s6)               |     *((s6 + 5)) = s5;
    0x00060c20 move v0, zero                 |     v0 = 0;
                                             |     do {
    0x00060c24 lw ra, 0x74(sp)               |         ra = *(var_74h);
    0x00060c28 lw fp, 0x70(sp)               |         fp = *(var_70h);
    0x00060c2c lw s7, 0x6c(sp)               |         s7 = *(var_6ch);
    0x00060c30 lw s6, 0x68(sp)               |         s6 = *(var_68h);
    0x00060c34 lw s5, 0x64(sp)               |         s5 = *(var_64h);
    0x00060c38 lw s4, 0x60(sp)               |         s4 = *(var_60h);
    0x00060c3c lw s3, 0x5c(sp)               |         s3 = *(var_5ch);
    0x00060c40 lw s2, 0x58(sp)               |         s2 = *(var_58h);
    0x00060c44 lw s1, 0x54(sp)               |         s1 = *(var_54h);
    0x00060c48 lw s0, 0x50(sp)               |         s0 = *(var_50h);
    0x00060c4c addiu sp, sp, 0x78            |         
    0x00060c50 jr ra                         |         return v0;
                                             | label_0:
    0x00060c54 addiu v0, zero, -1            |         v0 = -1;
    0x00060c58 sw v0, 0xc(a0)                |         *((a0 + 3)) = v0;
    0x00060c5c b 0x60c24                     |         
                                             |     } while (1);
                                             | }
    ; assembly                               | /* r2dec pseudo code output */
                                             | /* /logs/firmware/unblob_extracted/firmware_extract/6225984-11075644.jffs2_new_extract/lib/libmp.so @ 0x66c7c */
                                             | #include <stdint.h>
                                             |  
    ; (fcn) sym.dbg_misc_system_info ()      | void dbg_misc_system_info () {
    0x00066c7c lui gp, 8                     |     
    0x00066c80 addiu gp, gp, 0x6794          |     
    0x00066c84 addu gp, gp, t9               |     gp += t9;
    0x00066c88 lw t9, -0x74d4(gp)            |     t9 = sym.IMP_Alloc_Dump;
    0x00066c8c addiu sp, sp, -0x88           |     
    0x00066c90 sw gp, 0x20(sp)               |     *(var_20h) = gp;
    0x00066c94 sw ra, 0x84(sp)               |     *(var_84h) = ra;
    0x00066c98 sw fp, 0x80(sp)               |     *(var_80h) = fp;
    0x00066c9c sw s7, 0x7c(sp)               |     *(var_7ch) = s7;
    0x00066ca0 sw s6, 0x78(sp)               |     *(var_78h) = s6;
    0x00066ca4 sw s5, 0x74(sp)               |     *(var_74h) = s5;
    0x00066ca8 sw s4, 0x70(sp)               |     *(var_70h) = s4;
    0x00066cac sw s3, 0x6c(sp)               |     *(var_6ch) = s3;
    0x00066cb0 sw s2, 0x68(sp)               |     *(var_68h) = s2;
    0x00066cb4 sw s1, 0x64(sp)               |     *(var_64h) = s1;
    0x00066cb8 sw s0, 0x60(sp)               |     *(var_60h) = s0;
    0x00066cbc sw a0, 0x88(sp)               |     *(arg_88h) = a0;
    0x00066cc0 jalr t9                       |     t9 ();
    0x00066cc4 nop                           |     
    0x00066cc8 lw gp, 0x20(sp)               |     gp = *(var_20h);
    0x00066ccc lw v1, -0x7fa8(gp)            |     v1 = *((gp - 8170));
    0x00066cd0 lw v0, -0x682c(v1)            |     v0 = *((v1 - 6667));
    0x00066cd4 lw v1, -0x7fc8(gp)            |     v1 = *(gp);
                                             |     if (v0 == 0) {
    0x00066cd8 beqz v0, 0x671cc              |         goto label_7;
                                             |     }
    0x00066cdc lw s7, -0x7fc8(gp)            |     s7 = *(gp);
    0x00066ce0 move s2, zero                 |     s2 = 0;
    0x00066ce4 lw v1, -0x113c(v1)            |     v1 = *((v1 - 1103));
    0x00066ce8 sw zero, 0x54(sp)             |     *(var_54h) = 0;
    0x00066cec sw v1, 0x4c(sp)               |     *(var_4ch) = v1;
    0x00066cf0 lw v1, -0x7fc8(gp)            |     v1 = *(gp);
    0x00066cf4 lw v1, -0x1140(v1)            |     v1 = *((v1 - 1104));
    0x00066cf8 sw v1, 0x50(sp)               |     *(var_50h) = v1;
    0x00066cfc lw v1, -0x7fc8(gp)            |     v1 = *(gp);
    0x00066d00 lw s4, -0x1144(v1)            |     s4 = *((v1 - 1105));
    0x00066d04 lw v1, 0x88(sp)               |     v1 = *(arg_88h);
    0x00066d08 addiu s0, v1, 0x18            |     s0 = v1 + 0x18;
                                             | label_4:
    0x00066d0c lw t9, 0x54(sp)               |     t9 = *(var_54h);
    0x00066d10 sll fp, t9, 9                 |     fp = t9 << 9;
    0x00066d14 addiu fp, fp, 0x10            |     fp += 0x10;
    0x00066d18 addu fp, v0, fp               |     fp = v0 + fp;
    0x00066d1c lw v0, 0x12c(fp)              |     v0 = *(arg_12ch);
    0x00066d20 lw t9, -0x7a10(gp)            |     t9 = sym.tree_item_cnt;
                                             |     if (v0 == 0) {
    0x00066d24 beqz v0, 0x6705c              |         goto label_8;
                                             |     }
    0x00066d28 lw s1, 4(v0)                  |     s1 = *((v0 + 1));
    0x00066d2c sw zero, 0x44(sp)             |     *(var_44h) = 0;
    0x00066d30 move a0, s1                   |     a0 = s1;
    0x00066d34 sw zero, 0x40(sp)             |     *(var_40h) = 0;
    0x00066d38 sw zero, 0x3c(sp)             |     *(var_3ch) = 0;
    0x00066d3c sw zero, 0x38(sp)             |     *(var_38h) = 0;
    0x00066d40 jalr t9                       |     t9 ();
    0x00066d44 lw gp, 0x20(sp)               |     gp = *(var_20h);
    0x00066d48 move s6, v0                   |     s6 = v0;
    0x00066d4c sll v0, v0, 2                 |     v0 <<= 2;
    0x00066d50 lw t9, -0x76d8(gp)            |     t9 = sym.imp.malloc;
    0x00066d54 sll s3, s6, 5                 |     s3 = s6 << 5;
    0x00066d58 subu s3, s3, v0               |     __asm ("subu s3, s3, v0");
    0x00066d5c move a0, s3                   |     a0 = s3;
    0x00066d60 jalr t9                       |     t9 ();
    0x00066d64 lw gp, 0x20(sp)               |     gp = *(var_20h);
    0x00066d68 move a0, s0                   |     a0 = s0;
    0x00066d6c move a2, s6                   |     a2 = s6;
    0x00066d70 lw v1, -0x7fc8(gp)            |     v1 = *(gp);
    0x00066d74 lw s5, -0x7f48(gp)            |     s5 = *(gp);
    0x00066d78 lw t9, -0x7c30(gp)            |     t9 = sym.imp.sprintf
                                             |     /* str.tree_item:__d_n */
    0x00066d7c addiu a1, v1, -0x11dc         |     a1 = v1 + -aav.0x000011dc;
    0x00066d80 sw v0, (s5)                   |     *(s5) = v0;
    0x00066d84 jalr t9                       |     t9 ();
    0x00066d88 lw gp, 0x20(sp)               |     gp = *(var_20h);
    0x00066d8c lw a0, (s5)                   |     a0 = *(s5);
    0x00066d90 move a1, zero                 |     a1 = 0;
    0x00066d94 lw t9, -0x7b18(gp)            |     t9 = sym.imp.memset;
    0x00066d98 move a2, s3                   |     a2 = s3;
    0x00066d9c addu s0, s0, v0               |     s0 += v0;
    0x00066da0 addu s2, s2, v0               |     s2 += v0;
    0x00066da4 jalr t9                       |     t9 ();
    0x00066da8 lw gp, 0x20(sp)               |     gp = *(var_20h);
    0x00066dac lw t9, -0x7758(gp)            |     t9 = sym.tree_travel_prepare;
    0x00066db0 jalr t9                       |     t9 ();
    0x00066db4 nop                           |     
    0x00066db8 lw gp, 0x20(sp)               |     gp = *(var_20h);
    0x00066dbc move a0, s1                   |     a0 = s1;
    0x00066dc0 addiu a1, zero, 1             |     a1 = 1;
    0x00066dc4 lw t9, -0x7448(gp)            |     t9 = sym.tree_travel;
    0x00066dc8 addiu a2, zero, 1             |     a2 = 1;
    0x00066dcc jalr t9                       |     t9 ();
    0x00066dd0 lw gp, 0x20(sp)               |     gp = *(var_20h);
    0x00066dd4 lw a0, (s5)                   |     a0 = *(s5);
    0x00066dd8 move a1, s6                   |     a1 = s6;
    0x00066ddc lw t9, -0x77a8(gp)            |     t9 = sym.get_xy_max;
    0x00066de0 addiu a2, sp, 0x44            |     a2 = sp + 0x44;
    0x00066de4 addiu a3, sp, 0x40            |     a3 = sp + 0x40;
    0x00066de8 jalr t9                       |     t9 ();
    0x00066dec lw gp, 0x20(sp)               |     gp = *(var_20h);
                                             |     if (s6 <= 0) {
    0x00066df0 blez s6, 0x66f0c              |         goto label_9;
                                             |     }
    0x00066df4 move s1, zero                 |     s1 = 0;
    0x00066df8 move s3, zero                 |     s3 = 0;
    0x00066dfc b 0x66e40                     |     
                                             |     while (v0 == 0) {
    0x00066e00 lw v0, 0x18c(fp)              |         v0 = *(arg_18ch);
    0x00066e04 lw a3, 0x120(v1)              |         a3 = *(v1);
    0x00066e08 lw v1, 0x3c(sp)               |         v1 = *(var_3ch);
    0x00066e0c sw v0, 0x10(sp)               |         *(var_10h) = v0;
    0x00066e10 lw v0, 0x190(fp)              |         v0 = *(arg_190h);
    0x00066e14 sw v1, 0x18(sp)               |         *(var_18h) = v1;
    0x00066e18 addiu s3, s3, 1               |         s3++;
    0x00066e1c sw v0, 0x14(sp)               |         *(var_14h) = v0;
    0x00066e20 lw v0, 0x38(sp)               |         v0 = *(var_38h);
    0x00066e24 addiu s1, s1, 0x1c            |         s1 += 0x1c;
    0x00066e28 sw v0, 0x1c(sp)               |         *(var_1ch) = v0;
    0x00066e2c jalr t9                       |         t9 ();
    0x00066e30 addu s0, s0, v0               |         s0 += v0;
    0x00066e34 lw gp, 0x20(sp)               |         gp = *(var_20h);
    0x00066e38 addu s2, s2, v0               |         s2 += v0;
                                             |         if (s3 == s6) {
    0x00066e3c beq s3, s6, 0x66f0c           |             goto label_9;
                                             |         }
                                             | label_0:
    0x00066e40 lw v0, (s5)                   |         v0 = *(s5);
    0x00066e44 lw t9, -0x7da8(gp)            |         t9 = sym.imp.sem_getvalue;
    0x00066e48 addiu a1, sp, 0x3c            |         a1 = sp + 0x3c;
    0x00066e4c addu v0, v0, s1               |         v0 += s1;
    0x00066e50 lw a0, (v0)                   |         a0 = *(v0);
    0x00066e54 addiu a0, a0, 0xf0            |         a0 += 0xf0;
    0x00066e58 jalr t9                       |         t9 ();
    0x00066e5c lw v0, (s5)                   |         v0 = *(s5);
    0x00066e60 lw gp, 0x20(sp)               |         gp = *(var_20h);
    0x00066e64 addiu a1, sp, 0x38            |         a1 = sp + 0x38;
    0x00066e68 addu v0, v0, s1               |         v0 += s1;
    0x00066e6c lw a0, (v0)                   |         a0 = *(v0);
    0x00066e70 lw t9, -0x7da8(gp)            |         t9 = sym.imp.sem_getvalue;
    0x00066e74 addiu a0, a0, 0xe0            |         a0 += 0xe0;
    0x00066e78 jalr t9                       |         t9 ();
    0x00066e7c lw v0, (s5)                   |         v0 = *(s5);
    0x00066e80 lw gp, 0x20(sp)               |         gp = *(var_20h);
    0x00066e84 addiu a2, zero, 0xb           |         a2 = 0xb;
    0x00066e88 addu v0, v0, s1               |         v0 += s1;
    0x00066e8c lw v1, (v0)                   |         v1 = *(v0);
    0x00066e90 lw a1, -0x7fc8(gp)            |         a1 = *(gp);
    0x00066e94 lw t9, -0x79e8(gp)            |         t9 = sym.imp.strncmp;
    0x00066e98 move a0, v1                   |         a0 = v1;
                                             |         /* str.Framesource */
    0x00066e9c addiu a1, a1, -0x1f70         |         a1 += -aav.0x00001f70;
    0x00066ea0 sw v1, 0x58(sp)               |         *(var_58h) = v1;
    0x00066ea4 jalr t9                       |         t9 ();
    0x00066ea8 lw gp, 0x20(sp)               |         gp = *(var_20h);
    0x00066eac lw v1, 0x58(sp)               |         v1 = *(var_58h);
    0x00066eb0 move a0, s0                   |         a0 = s0;
    0x00066eb4 lw a1, -0x7fc8(gp)            |         a1 = *(gp);
    0x00066eb8 lw t0, -0x7c30(gp)            |         t0 = sym.imp.sprintf
    0x00066ebc move a2, v1                   |         a2 = v1;
                                             |         /* str.__20s_update_cnt_d_qframecnt_d__dqframecnt_d__sem_msg_cnt_d__sem_cnt_d__n */
    0x00066ec0 addiu a1, a1, -0x11cc         |         a1 += -0x11cc;
    0x00066ec4 move t9, t0                   |         t9 = t0;
    0x00066ec8 beqz v0, 0x66e00              |         
                                             |     }
    0x00066ecc lw v0, 0x3c(sp)               |     v0 = *(var_3ch);
    0x00066ed0 lw a3, 0x120(v1)              |     a3 = *(v1);
    0x00066ed4 lw a1, -0x7fc8(gp)            |     a1 = *(gp);
    0x00066ed8 sw v0, 0x10(sp)               |     *(var_10h) = v0;
    0x00066edc lw v0, 0x38(sp)               |     v0 = *(var_38h);
    0x00066ee0 move a0, s0                   |     a0 = s0;
                                             |     /* str.__20s_update_cnt_d_sem_msg_cnt_d__sem_cnt_d__n */
    0x00066ee4 addiu a1, a1, -0x117c         |     a1 += -0x117c;
    0x00066ee8 sw v0, 0x14(sp)               |     *(var_14h) = v0;
    0x00066eec move a2, v1                   |     a2 = v1;
    0x00066ef0 jalr t9                       |     t9 ();
    0x00066ef4 addiu s3, s3, 1               |     s3++;
    0x00066ef8 lw gp, 0x20(sp)               |     gp = *(var_20h);
    0x00066efc addu s0, s0, v0               |     s0 += v0;
    0x00066f00 addu s2, s2, v0               |     s2 += v0;
    0x00066f04 addiu s1, s1, 0x1c            |     s1 += 0x1c;
                                             |     if (s3 != s6) {
    0x00066f08 bne s3, s6, 0x66e40           |         goto label_0;
                                             |     }
                                             | label_9:
    0x00066f0c lw v0, 0x44(sp)               |     v0 = *(var_44h);
    0x00066f10 move s3, zero                 |     s3 = 0;
                                             |     if (v0 < 0) {
    0x00066f14 bltz v0, 0x6704c              |         goto label_10;
                                             |     }
                                             | label_3:
    0x00066f18 lw v0, 0x40(sp)               |     v0 = *(var_40h);
    0x00066f1c lw v0, -0x7fc8(gp)            |     v0 = *(gp);
                                             |     if (v0 < 0) {
    0x00066f20 bltz v0, 0x67028              |         goto label_11;
                                             |     }
    0x00066f24 move s1, zero                 |     s1 = 0;
    0x00066f28 lw v0, -0x1148(v0)            |     v0 = *((v0 - 1106));
    0x00066f2c sw v0, 0x48(sp)               |     *(var_48h) = v0;
    0x00066f30 b 0x66fac                     |     
                                             |     while (v0 != 0) {
    0x00066f34 lw t9, -0x7670(gp)            |         t9 = sym.imp.memcpy;
    0x00066f38 addiu a2, a3, 1               |         a2 = a3 + 1;
    0x00066f3c sw a3, 0x58(sp)               |         *(var_58h) = a3;
    0x00066f40 addiu a0, sp, 0x28            |         a0 = sp + 0x28;
    0x00066f44 jalr t9                       |         t9 ();
    0x00066f48 lw v0, 0x10(fp)               |         v0 = *(arg_10h);
    0x00066f4c lw gp, 0x20(sp)               |         gp = *(var_20h);
    0x00066f50 lw a3, 0x58(sp)               |         a3 = *(var_58h);
                                             |         if (v0 != 0) {
    0x00066f54 bnez v0, 0x6707c              |             goto label_12;
                                             |         }
                                             | label_5:
    0x00066f58 lw v1, 0x14(fp)               |         v1 = *(arg_14h);
    0x00066f5c addiu v0, zero, 1             |         v0 = 1;
    0x00066f60 lw t9, 0x48(sp)               |         t9 = *(var_48h);
                                             |         if (v1 == v0) {
    0x00066f64 beq v1, v0, 0x6701c           |             goto label_13;
                                             |         }
                                             | label_1:
    0x00066f68 swl s4, 3(s0)                 |         __asm ("swl s4, 3(s0)");
    0x00066f6c swr s4, (s0)                  |         __asm ("swr s4, (s0)");
                                             | label_2:
    0x00066f70 lw t9, -0x7c30(gp)            |         t9 = sym.imp.sprintf
    0x00066f74 addiu s0, s0, 3               |         s0 += 3;
    0x00066f78 move a0, s0                   |         a0 = s0;
                                             |         /* esilref: '&s' */
    0x00066f7c addiu a1, s7, -0x3844         |         a1 = s7 + -0x3844;
    0x00066f80 addiu a2, sp, 0x28            |         a2 = sp + 0x28;
    0x00066f84 jalr t9                       |         t9 ();
    0x00066f88 lw gp, 0x20(sp)               |         gp = *(var_20h);
    0x00066f8c addiu s2, s2, 3               |         s2 += 3;
    0x00066f90 addu s0, s0, v0               |         s0 += v0;
    0x00066f94 addu s2, s2, v0               |         s2 += v0;
                                             | label_6:
    0x00066f98 lw v0, 0x40(sp)               |         v0 = *(var_40h);
    0x00066f9c addiu s1, s1, 1               |         s1++;
    0x00066fa0 slt v0, v0, s1                |         v0 = (v0 < s1) ? 1 : 0;
    0x00066fa4 addiu v0, zero, 0xa           |         v0 = 0xa;
                                             |         if (v0 != 0) {
    0x00066fa8 bnez v0, 0x6702c              |             goto label_14;
                                             |         }
    0x00066fac lw t9, -0x7d44(gp)            |         t9 = sym.find_xy;
    0x00066fb0 lw a0, (s5)                   |         a0 = *(s5);
    0x00066fb4 move a1, s6                   |         a1 = s6;
    0x00066fb8 move a2, s3                   |         a2 = s3;
    0x00066fbc move a3, s1                   |         a3 = s1;
    0x00066fc0 jalr t9                       |         t9 ();
    0x00066fc4 move fp, v0                   |         fp = v0;
    0x00066fc8 lw gp, 0x20(sp)               |         gp = *(var_20h);
                                             |         if (v0 == 0) {
    0x00066fcc beqz v0, 0x670a4              |             goto label_15;
                                             |         }
    0x00066fd0 lw a1, (v0)                   |         a1 = *(v0);
    0x00066fd4 lw t9, -0x7e58(gp)            |         t9 = sym.imp.strlen;
    0x00066fd8 move a0, a1                   |         a0 = a1;
    0x00066fdc sw a1, 0x58(sp)               |         *(var_58h) = a1;
    0x00066fe0 jalr t9                       |         t9 ();
    0x00066fe4 move a3, v0                   |         a3 = v0;
    0x00066fe8 slti v0, v0, 0x10             |         v0 = (v0 < 0x10) ? 1 : 0;
    0x00066fec lw gp, 0x20(sp)               |         gp = *(var_20h);
    0x00066ff0 lw a1, 0x58(sp)               |         a1 = *(var_58h);
    0x00066ff4 bnez v0, 0x66f34              |         
                                             |     }
    0x00066ff8 lw t9, -0x7a34(gp)            |     t9 = sym.imp.strncpy;
    0x00066ffc addiu a0, sp, 0x28            |     a0 = sp + 0x28;
    0x00067000 move a2, a3                   |     a2 = a3;
    0x00067004 jalr t9                       |     t9 ();
    0x00067008 lw v1, 0x14(fp)               |     v1 = *(arg_14h);
    0x0006700c addiu v0, zero, 1             |     v0 = 1;
    0x00067010 lw gp, 0x20(sp)               |     gp = *(var_20h);
                                             |     if (v1 != v0) {
    0x00067014 bne v1, v0, 0x66f68           |         goto label_1;
                                             |     }
    0x00067018 lw t9, 0x48(sp)               |     t9 = *(var_48h);
                                             | label_13:
    0x0006701c swl t9, 3(s0)                 |     __asm ("swl t9, 3(s0)");
    0x00067020 swr t9, (s0)                  |     __asm ("swr t9, (s0)");
    0x00067024 b 0x66f70                     |     goto label_2;
                                             | label_11:
    0x00067028 addiu v0, zero, 0xa           |     v0 = 0xa;
                                             | label_14:
    0x0006702c sb v0, (s0)                   |     *(s0) = v0;
    0x00067030 sb zero, 1(s0)                |     *((s0 + 1)) = 0;
    0x00067034 lw v0, 0x44(sp)               |     v0 = *(var_44h);
    0x00067038 addiu s3, s3, 1               |     s3++;
    0x0006703c addiu s0, s0, 1               |     s0++;
    0x00067040 slt v0, v0, s3                |     v0 = (v0 < s3) ? 1 : 0;
    0x00067044 addiu s2, s2, 1               |     s2++;
                                             |     if (v0 == 0) {
    0x00067048 beqz v0, 0x66f18              |         goto label_3;
                                             |     }
                                             | label_10:
    0x0006704c lw t9, -0x7f4c(gp)            |     t9 = *((gp - 8147));
    0x00067050 lw a0, (s5)                   |     a0 = *(s5);
    0x00067054 jalr t9                       |     t9 ();
    0x00067058 lw gp, 0x20(sp)               |     gp = *(var_20h);
                                             | label_8:
    0x0006705c lw t9, 0x54(sp)               |     t9 = *(var_54h);
    0x00067060 addiu v0, zero, 4             |     v0 = 4;
    0x00067064 addiu t9, t9, 1               |     t9++;
    0x00067068 sw t9, 0x54(sp)               |     *(var_54h) = t9;
                                             |     if (t9 != v0) {
    0x0006706c beq t9, v0, 0x67178           |         
    0x00067070 lw v1, -0x7fa8(gp)            |         v1 = *((gp - 8170));
    0x00067074 lw v0, -0x682c(v1)            |         v0 = *((v1 - 6667));
    0x00067078 b 0x66d0c                     |         goto label_4;
                                             | label_12:
    0x0006707c lw t9, -0x7b18(gp)            |         t9 = sym.imp.memset;
    0x00067080 addiu v1, sp, 0x28            |         v1 = sp + 0x28;
    0x00067084 addiu a2, zero, 0xf           |         a2 = 0xf;
    0x00067088 addu a0, v1, a3               |         a0 = v1 + a3;
    0x0006708c addiu a1, zero, 0x2d          |         a1 = 0x2d;
    0x00067090 subu a2, a2, a3               |         __asm ("subu a2, a2, a3");
    0x00067094 jalr t9                       |         t9 ();
    0x00067098 lw gp, 0x20(sp)               |         gp = *(var_20h);
    0x0006709c sb zero, 0x37(sp)             |         *(var_37h) = 0;
    0x000670a0 b 0x66f58                     |         goto label_5;
                                             | label_15:
    0x000670a4 lw v0, -0x7f48(gp)            |         v0 = *(gp);
    0x000670a8 lw t9, -0x746c(gp)            |         t9 = sym.vertical_line;
    0x000670ac lui v1, 0x2020                |         v1 = 0x20200000;
    0x000670b0 lw a0, (v0)                   |         a0 = *(v0);
    0x000670b4 lui v0, 0x2020                |         v0 = 0x20202020;
    0x000670b8 ori v0, v0, 0x2020            |         
    0x000670bc sw v0, 0x28(sp)               |         *(var_28h) = v0;
    0x000670c0 lui v0, 0x2020                |         v0 = 0x20202020;
    0x000670c4 addiu v0, v0, 0x2020          |         
    0x000670c8 sw v0, 0x30(sp)               |         *(var_30h) = v0;
    0x000670cc addiu v0, zero, 0x2020        |         v0 = 0x2020;
    0x000670d0 ori v1, v1, 0x2020            |         v1 |= 0x2020;
    0x000670d4 sh v0, 0x34(sp)               |         *(var_34h) = v0;
    0x000670d8 addiu v0, zero, 0x20          |         v0 = 0x20;
    0x000670dc move a1, s6                   |         a1 = s6;
    0x000670e0 move a2, s3                   |         a2 = s3;
    0x000670e4 move a3, s1                   |         a3 = s1;
    0x000670e8 sw v1, 0x2c(sp)               |         *(var_2ch) = v1;
    0x000670ec sb v0, 0x36(sp)               |         *(var_36h) = v0;
    0x000670f0 sb zero, 0x37(sp)             |         *(var_37h) = 0;
    0x000670f4 jalr t9                       |         t9 ();
    0x000670f8 lw gp, 0x20(sp)               |         gp = *(var_20h);
    0x000670fc lw t9, -0x7c30(gp)            |         t9 = sym.imp.sprintf
                                             |         if (v0 != 0) {
    0x00067100 beqz v0, 0x67144              |             
    0x00067104 lw v1, 0x50(sp)               |             v1 = *(var_50h);
                                             |             /* esilref: '&s' */
    0x00067108 addiu a1, s7, -0x3844         |             a1 = s7 + -0x3844;
    0x0006710c addiu a2, sp, 0x28            |             a2 = sp + 0x28;
    0x00067110 swl v1, 3(s0)                 |             __asm ("swl v1, 3(s0)");
    0x00067114 lw v0, 0x50(sp)               |             v0 = *(var_50h);
    0x00067118 addiu v1, s0, 3               |             v1 = s0 + 3;
    0x0006711c move a0, v1                   |             a0 = v1;
    0x00067120 swr v0, (s0)                  |             __asm ("swr v0, (s0)");
    0x00067124 sw v1, 0x58(sp)               |             *(var_58h) = v1;
    0x00067128 jalr t9                       |             t9 ();
    0x0006712c lw v1, 0x58(sp)               |             v1 = *(var_58h);
    0x00067130 addiu s2, s2, 3               |             s2 += 3;
    0x00067134 lw gp, 0x20(sp)               |             gp = *(var_20h);
    0x00067138 addu s0, v1, v0               |             s0 = v1 + v0;
    0x0006713c addu s2, s2, v0               |             s2 += v0;
    0x00067140 b 0x66f98                     |             goto label_6;
                                             |         }
    0x00067144 move a0, s0                   |         a0 = s0;
                                             |         /* esilref: '&s' */
    0x00067148 addiu a1, s7, -0x3844         |         a1 = s7 + -0x3844;
    0x0006714c addiu a2, sp, 0x28            |         a2 = sp + 0x28;
    0x00067150 jalr t9                       |         t9 ();
    0x00067154 lw v1, 0x4c(sp)               |         v1 = *(var_4ch);
    0x00067158 addu s0, s0, v0               |         s0 += v0;
    0x0006715c lw gp, 0x20(sp)               |         gp = *(var_20h);
    0x00067160 addu s2, s2, v0               |         s2 += v0;
    0x00067164 swl v1, 3(s0)                 |         __asm ("swl v1, 3(s0)");
    0x00067168 swr v1, (s0)                  |         __asm ("swr v1, (s0)");
    0x0006716c addiu s2, s2, 3               |         s2 += 3;
    0x00067170 addiu s0, s0, 3               |         s0 += 3;
    0x00067174 b 0x66f98                     |         goto label_6;
                                             |     }
    0x00067178 lw t9, 0x88(sp)               |     t9 = *(arg_88h);
    0x0006717c addiu s2, s2, 1               |     s2++;
    0x00067180 lw v0, 8(t9)                  |     v0 = *((t9 + 2));
    0x00067184 sw zero, 0xc(t9)              |     *((t9 + 12)) = 0;
    0x00067188 sw zero, 0x10(t9)             |     *((t9 + 16)) = 0;
    0x0006718c ori v0, v0, 0x100             |     v0 |= aav.0x00000100;
    0x00067190 sw v0, 8(t9)                  |     *((t9 + 8)) = v0;
    0x00067194 sw s2, 0x14(t9)               |     *((t9 + 20)) = s2;
    0x00067198 move v0, zero                 |     v0 = 0;
                                             |     do {
    0x0006719c lw ra, 0x84(sp)               |         ra = *(var_84h);
    0x000671a0 lw fp, 0x80(sp)               |         fp = *(var_80h);
    0x000671a4 lw s7, 0x7c(sp)               |         s7 = *(var_7ch);
    0x000671a8 lw s6, 0x78(sp)               |         s6 = *(var_78h);
    0x000671ac lw s5, 0x74(sp)               |         s5 = *(var_74h);
    0x000671b0 lw s4, 0x70(sp)               |         s4 = *(var_70h);
    0x000671b4 lw s3, 0x6c(sp)               |         s3 = *(var_6ch);
    0x000671b8 lw s2, 0x68(sp)               |         s2 = *(var_68h);
    0x000671bc lw s1, 0x64(sp)               |         s1 = *(var_64h);
    0x000671c0 lw s0, 0x60(sp)               |         s0 = *(var_60h);
    0x000671c4 addiu sp, sp, 0x88            |         
    0x000671c8 jr ra                         |         return v0;
                                             | label_7:
    0x000671cc lw t9, 0x88(sp)               |         t9 = *(arg_88h);
    0x000671d0 addiu v0, zero, -1            |         v0 = -1;
    0x000671d4 sw v0, 0xc(t9)                |         *((t9 + 12)) = v0;
    0x000671d8 b 0x6719c                     |         
                                             |     } while (1);
                                             | }
    ; assembly                               | /* r2dec pseudo code output */
                                             | /* /logs/firmware/unblob_extracted/firmware_extract/6225984-11075644.jffs2_new_extract/lib/libmp.so @ 0x61084 */
                                             | #include <stdint.h>
                                             |  
    ; (fcn) sym.frame_pooling_thread ()      | void frame_pooling_thread () {
    0x00061084 lui gp, 9                     |     
    0x00061088 addiu gp, gp, -0x3c74         |     
    0x0006108c addu gp, gp, t9               |     gp += t9;
    0x00061090 lw a1, -0x7fc8(gp)            |     a1 = *(gp);
    0x00061094 lw t9, -0x7c30(gp)            |     t9 = sym.imp.sprintf
    0x00061098 lw a2, (a0)                   |     a2 = *(a0);
    0x0006109c addiu sp, sp, -0xa8           |     
                                             |     /* str.FS__d__tick */
    0x000610a0 addiu a1, a1, -0x1e44         |     a1 += -0x1e44;
    0x000610a4 sw gp, 0x30(sp)               |     *(var_30h) = gp;
    0x000610a8 sw ra, 0xa4(sp)               |     *(var_a4h) = ra;
    0x000610ac sw fp, 0xa0(sp)               |     *(var_a0h) = fp;
    0x000610b0 sw s7, 0x9c(sp)               |     *(var_9ch) = s7;
    0x000610b4 sw s6, 0x98(sp)               |     *(var_98h) = s6;
    0x000610b8 sw s5, 0x94(sp)               |     *(var_94h) = s5;
    0x000610bc sw s4, 0x90(sp)               |     *(var_90h) = s4;
    0x000610c0 sw s3, 0x8c(sp)               |     *(var_8ch) = s3;
    0x000610c4 sw s2, 0x88(sp)               |     *(var_88h) = s2;
    0x000610c8 sw s1, 0x84(sp)               |     *(var_84h) = s1;
    0x000610cc sw s0, 0x80(sp)               |     *(var_80h) = s0;
    0x000610d0 move s0, a0                   |     s0 = a0;
    0x000610d4 addiu a0, sp, 0x38            |     a0 = sp + 0x38;
    0x000610d8 jalr t9                       |     t9 ();
    0x000610dc lw gp, 0x30(sp)               |     gp = *(var_30h);
    0x000610e0 addiu a0, zero, 0xf           |     a0 = 0xf;
    0x000610e4 addiu a1, sp, 0x38            |     a1 = sp + 0x38;
    0x000610e8 lw t9, -0x7660(gp)            |     t9 = sym.imp.prctl;
    0x000610ec lui s4, 0x4004                |     s4 = 0x40040000;
    0x000610f0 addiu s5, zero, 0x136         |     s5 = 0x136;
    0x000610f4 jalr t9                       |     t9 ();
    0x000610f8 lw gp, 0x30(sp)               |     gp = *(var_30h);
    0x000610fc addiu s4, s4, 0x56bf          |     s4 += 0x56bf;
    0x00061100 lw s6, -0x7fc8(gp)            |     s6 = *(gp);
    0x00061104 lw fp, -0x7fc8(gp)            |     fp = *(gp);
    0x00061108 lw s2, -0x7fc8(gp)            |     s2 = *(gp);
    0x0006110c lw s1, -0x7fc8(gp)            |     s1 = *(gp);
    0x00061110 lw s3, -0x7fc8(gp)            |     s3 = *(gp);
    0x00061114 lw s7, -0x7fe4(gp)            |     s7 = *((gp - 8185));
                                             |     /* str.Tick_Channel__d_n */
    0x00061118 addiu s6, s6, -0x1e38         |     s6 += -0x1e38;
                                             |     /* str._s__d__ready_bufs___d_n */
    0x0006111c addiu fp, fp, -0x1e24         |     fp += -0x1e24;
                                             |     /* str._home_ptkang_work_platform_isvp_20160504_e_proj_sdk_lv3_src_imp_framesource_framesource_tseries.c */
    0x00061120 addiu s2, s2, -0x1f64         |     s2 += -0x1f64;
                                             |     /* obj.__func__.8451 */
    0x00061124 addiu s1, s1, -0xac8          |     s1 += -0xac8;
    0x00061128 b 0x61144                     |     
                                             |     while (v0 >= 0) {
    0x0006112c lw v0, 0x12c(s0)              |         v0 = *(s0);
    0x00061130 lw a0, 4(v0)                  |         a0 = *((v0 + 1));
    0x00061134 lw t9, 0x4c(a0)               |         t9 = *((a0 + 19));
    0x00061138 jalr t9                       |         t9 ();
    0x0006113c nop                           |         
    0x00061140 lw gp, 0x30(sp)               |         gp = *(var_30h);
                                             | label_0:
    0x00061144 lw t9, -0x7adc(gp)            |         t9 = sym.imp.IMP_Log_Get_Option;
    0x00061148 jalr t9                       |         t9 ();
    0x0006114c nop                           |         
    0x00061150 lw gp, 0x30(sp)               |         gp = *(var_30h);
    0x00061154 lw v1, (s0)                   |         v1 = *(s0);
    0x00061158 move a1, v0                   |         a1 = v0;
    0x0006115c lw t9, -0x79d0(gp)            |         t9 = sym.imp.imp_log_fun;
                                             |         /* str.Framesource */
    0x00061160 addiu a3, s3, -0x1f70         |         a3 = s3 + -aav.0x00001f70;
    0x00061164 sw v1, 0x20(sp)               |         *(var_20h) = v1;
    0x00061168 addiu a0, zero, 2             |         a0 = 2;
    0x0006116c addiu a2, zero, 2             |         a2 = 2;
    0x00061170 sw s2, 0x10(sp)               |         *(var_10h) = s2;
    0x00061174 sw s5, 0x14(sp)               |         *(var_14h) = s5;
    0x00061178 sw s1, 0x18(sp)               |         *(var_18h) = s1;
    0x0006117c sw s6, 0x1c(sp)               |         *(var_1ch) = s6;
    0x00061180 jalr t9                       |         t9 ();
    0x00061184 lw gp, 0x30(sp)               |         gp = *(var_30h);
    0x00061188 lw t9, -0x7734(gp)            |         t9 = sym.imp.pthread_testcancel;
    0x0006118c jalr t9                       |         t9 ();
    0x00061190 nop                           |         
    0x00061194 lw gp, 0x30(sp)               |         gp = *(var_30h);
    0x00061198 lw a0, 0x128(s0)              |         a0 = *(s0);
    0x0006119c addiu v0, zero, -1            |         v0 = -1;
    0x000611a0 lw t9, -0x74a4(gp)            |         t9 = sym.imp.ioctl;
    0x000611a4 move a1, s4                   |         a1 = s4;
    0x000611a8 addiu a2, sp, 0x78            |         a2 = sp + 0x78;
    0x000611ac sw v0, 0x78(sp)               |         *(var_78h) = v0;
    0x000611b0 jalr t9                       |         t9 ();
    0x000611b4 lw gp, 0x30(sp)               |         gp = *(var_30h);
                                             |         /* obj.tmp.6777 */
    0x000611b8 addiu a1, s7, 0x515c          |         a1 = s7 + 0x515c;
    0x000611bc bgez v0, 0x6112c              |         
                                             |     }
    0x000611c0 lw t9, -0x7adc(gp)            |     t9 = sym.imp.IMP_Log_Get_Option;
    0x000611c4 jalr t9                       |     t9 ();
    0x000611c8 nop                           |     
    0x000611cc lw gp, 0x30(sp)               |     gp = *(var_30h);
    0x000611d0 addiu v1, zero, 0x13b         |     v1 = 0x13b;
    0x000611d4 sw v1, 0x14(sp)               |     *(var_14h) = v1;
    0x000611d8 lw a3, -0x7fc8(gp)            |     a3 = *(gp);
    0x000611dc sw v1, 0x24(sp)               |     *(var_24h) = v1;
    0x000611e0 lw v1, 0x78(sp)               |     v1 = *(var_78h);
    0x000611e4 lw t9, -0x79d0(gp)            |     t9 = sym.imp.imp_log_fun;
    0x000611e8 sw s2, 0x10(sp)               |     *(var_10h) = s2;
    0x000611ec sw s1, 0x18(sp)               |     *(var_18h) = s1;
    0x000611f0 sw fp, 0x1c(sp)               |     *(var_1ch) = fp;
    0x000611f4 sw s1, 0x20(sp)               |     *(var_20h) = s1;
    0x000611f8 sw v1, 0x28(sp)               |     *(var_28h) = v1;
    0x000611fc addiu a0, zero, 4             |     a0 = 4;
    0x00061200 move a1, v0                   |     a1 = v0;
    0x00061204 addiu a2, zero, 2             |     a2 = 2;
                                             |     /* str.Framesource */
    0x00061208 addiu a3, a3, -0x1f70         |     a3 += -aav.0x00001f70;
    0x0006120c jalr t9                       |     t9 ();
    0x00061210 lw gp, 0x30(sp)               |     gp = *(var_30h);
    0x00061214 b 0x61144                     |     goto label_0;
                                             | }
    ; assembly                               | /* r2dec pseudo code output */
                                             | /* /logs/firmware/unblob_extracted/firmware_extract/6225984-11075644.jffs2_new_extract/lib/libmp.so @ 0x2fafc */
                                             | #include <stdint.h>
                                             |  
    ; (fcn) sym.i264e_param2string ()        | void i264e_param2string () {
    0x0002fafc lui gp, 0xc                   |     
    0x0002fb00 addiu gp, gp, -0x26ec         |     
    0x0002fb04 addu gp, gp, t9               |     gp += t9;
    0x0002fb08 lw t9, -0x76d8(gp)            |     t9 = sym.imp.malloc;
    0x0002fb0c addiu sp, sp, -0x50           |     
    0x0002fb10 sw gp, 0x18(sp)               |     *(var_18h) = gp;
    0x0002fb14 sw s2, 0x30(sp)               |     *(var_30h) = s2;
    0x0002fb18 sw s1, 0x2c(sp)               |     *(var_2ch) = s1;
    0x0002fb1c sw ra, 0x4c(sp)               |     *(var_4ch) = ra;
    0x0002fb20 sw fp, 0x48(sp)               |     *(var_48h) = fp;
    0x0002fb24 sw s7, 0x44(sp)               |     *(var_44h) = s7;
    0x0002fb28 sw s6, 0x40(sp)               |     *(var_40h) = s6;
    0x0002fb2c sw s5, 0x3c(sp)               |     *(var_3ch) = s5;
    0x0002fb30 sw s4, 0x38(sp)               |     *(var_38h) = s4;
    0x0002fb34 sw s3, 0x34(sp)               |     *(var_34h) = s3;
    0x0002fb38 sw s0, 0x28(sp)               |     *(var_28h) = s0;
    0x0002fb3c move s2, a0                   |     s2 = a0;
    0x0002fb40 addiu a0, zero, 0x1000        |     a0 = aav.0x00001000;
    0x0002fb44 move s1, a1                   |     s1 = a1;
    0x0002fb48 jalr t9                       |     t9 ();
    0x0002fb4c sw v0, 0x20(sp)               |     *(var_20h) = v0;
    0x0002fb50 lw gp, 0x18(sp)               |     gp = *(var_18h);
                                             |     if (v0 == 0) {
    0x0002fb54 beqz v0, 0x30598              |         goto label_7;
                                             |     }
    0x0002fb58 move s0, v0                   |     s0 = v0;
                                             |     if (s1 != 0) {
    0x0002fb5c bnez s1, 0x30620              |         goto label_8;
                                             |     }
                                             | label_6:
    0x0002fb60 lw s3, -0x7fc4(gp)            |     s3 = *((gp - 8177));
    0x0002fb64 lw a2, -0x7fc4(gp)            |     a2 = *((gp - 8177));
    0x0002fb68 lw t9, -0x7c30(gp)            |     t9 = sym.imp.sprintf
    0x0002fb6c lw a3, (s2)                   |     a3 = *(s2);
    0x0002fb70 move a0, s0                   |     a0 = s0;
                                             |     /* str._s_d_n */
    0x0002fb74 addiu a1, s3, 0x4950          |     a1 = s3 + 0x4950;
                                             |     /* esilref: 'soc' */
    0x0002fb78 addiu a2, a2, 0x4958          |     a2 += 0x4958;
    0x0002fb7c jalr t9                       |     t9 ();
    0x0002fb80 lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x0002fb84 lw a3, 4(s2)                  |     a3 = *((s2 + 1));
    0x0002fb88 addu s1, s0, v0               |     s1 = s0 + v0;
    0x0002fb8c lw a2, -0x7fc4(gp)            |     a2 = *((gp - 8177));
    0x0002fb90 lw t9, -0x7c30(gp)            |     t9 = sym.imp.sprintf
    0x0002fb94 move a0, s1                   |     a0 = s1;
                                             |     /* str._s_d_n */
    0x0002fb98 addiu a1, s3, 0x4950          |     a1 = s3 + 0x4950;
                                             |     /* str.b_tlb */
    0x0002fb9c addiu a2, a2, 0x495c          |     a2 += 0x495c;
    0x0002fba0 jalr t9                       |     t9 ();
    0x0002fba4 lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x0002fba8 lw a3, 0xc(s2)                |     a3 = *((s2 + 3));
    0x0002fbac addu s1, s1, v0               |     s1 += v0;
    0x0002fbb0 lw a2, -0x7fc4(gp)            |     a2 = *((gp - 8177));
    0x0002fbb4 lw t9, -0x7c30(gp)            |     t9 = sym.imp.sprintf
    0x0002fbb8 move a0, s1                   |     a0 = s1;
                                             |     /* str._s_d_n */
    0x0002fbbc addiu a1, s3, 0x4950          |     a1 = s3 + 0x4950;
                                             |     /* str.b_user_fenc */
    0x0002fbc0 addiu a2, a2, 0x4964          |     a2 += 0x4964;
    0x0002fbc4 jalr t9                       |     t9 ();
    0x0002fbc8 lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x0002fbcc lw a3, 0x20(s2)               |     a3 = *((s2 + 8));
    0x0002fbd0 addu s1, s1, v0               |     s1 += v0;
    0x0002fbd4 lw a2, -0x7fc4(gp)            |     a2 = *((gp - 8177));
    0x0002fbd8 lw t9, -0x7c30(gp)            |     t9 = sym.imp.sprintf
    0x0002fbdc move a0, s1                   |     a0 = s1;
                                             |     /* str._s_d_n */
    0x0002fbe0 addiu a1, s3, 0x4950          |     a1 = s3 + 0x4950;
                                             |     /* str.i_devid */
    0x0002fbe4 addiu a2, a2, 0x4970          |     a2 += 0x4970;
    0x0002fbe8 jalr t9                       |     t9 ();
    0x0002fbec lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x0002fbf0 lw a3, 0x14(s2)               |     a3 = *((s2 + 5));
    0x0002fbf4 addu s1, s1, v0               |     s1 += v0;
    0x0002fbf8 lw a2, -0x7fc4(gp)            |     a2 = *((gp - 8177));
    0x0002fbfc lw t9, -0x7c30(gp)            |     t9 = sym.imp.sprintf
    0x0002fc00 move a0, s1                   |     a0 = s1;
                                             |     /* str._s_d_n */
    0x0002fc04 addiu a1, s3, 0x4950          |     a1 = s3 + 0x4950;
                                             |     /* str.b_open_coop */
    0x0002fc08 addiu a2, a2, 0x4978          |     a2 += 0x4978;
    0x0002fc0c jalr t9                       |     t9 ();
    0x0002fc10 lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x0002fc14 lw a3, 0x24(s2)               |     a3 = *((s2 + 9));
    0x0002fc18 addu s1, s1, v0               |     s1 += v0;
    0x0002fc1c lw a2, -0x7fc4(gp)            |     a2 = *((gp - 8177));
    0x0002fc20 lw t9, -0x7c30(gp)            |     t9 = sym.imp.sprintf
    0x0002fc24 move a0, s1                   |     a0 = s1;
                                             |     /* str._s_d_n */
    0x0002fc28 addiu a1, s3, 0x4950          |     a1 = s3 + 0x4950;
                                             |     /* str.i_threads */
    0x0002fc2c addiu a2, a2, 0x4984          |     a2 += 0x4984;
    0x0002fc30 jalr t9                       |     t9 ();
    0x0002fc34 lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x0002fc38 lw a3, 0x34(s2)               |     a3 = *((s2 + 13));
    0x0002fc3c addu s1, s1, v0               |     s1 += v0;
    0x0002fc40 lw a2, -0x7fc4(gp)            |     a2 = *((gp - 8177));
    0x0002fc44 lw t9, -0x7c30(gp)            |     t9 = sym.imp.sprintf
    0x0002fc48 move a0, s1                   |     a0 = s1;
                                             |     /* str._s_d_n */
    0x0002fc4c addiu a1, s3, 0x4950          |     a1 = s3 + 0x4950;
                                             |     /* str.i_csp */
    0x0002fc50 addiu a2, a2, 0x4990          |     a2 += 0x4990;
    0x0002fc54 jalr t9                       |     t9 ();
    0x0002fc58 lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x0002fc5c lw a3, 0x3c(s2)               |     a3 = *((s2 + 15));
    0x0002fc60 addu s1, s1, v0               |     s1 += v0;
    0x0002fc64 lw a2, -0x7fc4(gp)            |     a2 = *((gp - 8177));
    0x0002fc68 lw t9, -0x7c30(gp)            |     t9 = sym.imp.sprintf
    0x0002fc6c move a0, s1                   |     a0 = s1;
                                             |     /* str._s_d_n */
    0x0002fc70 addiu a1, s3, 0x4950          |     a1 = s3 + 0x4950;
                                             |     /* str.i_level_idc */
    0x0002fc74 addiu a2, a2, 0x4998          |     a2 += 0x4998;
    0x0002fc78 jalr t9                       |     t9 ();
    0x0002fc7c lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x0002fc80 lw a3, 0x40(s2)               |     a3 = *((s2 + 16));
    0x0002fc84 addu s1, s1, v0               |     s1 += v0;
    0x0002fc88 lw a2, -0x7fc4(gp)            |     a2 = *((gp - 8177));
    0x0002fc8c lw t9, -0x7c30(gp)            |     t9 = sym.imp.sprintf
    0x0002fc90 move a0, s1                   |     a0 = s1;
                                             |     /* str._s_d_n */
    0x0002fc94 addiu a1, s3, 0x4950          |     a1 = s3 + 0x4950;
                                             |     /* str.vui.i_sar_height */
    0x0002fc98 addiu a2, a2, 0x49a4          |     a2 += 0x49a4;
    0x0002fc9c jalr t9                       |     t9 ();
    0x0002fca0 lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x0002fca4 lw a3, 0x44(s2)               |     a3 = *((s2 + 17));
    0x0002fca8 addu s1, s1, v0               |     s1 += v0;
    0x0002fcac lw a2, -0x7fc4(gp)            |     a2 = *((gp - 8177));
    0x0002fcb0 lw t9, -0x7c30(gp)            |     t9 = sym.imp.sprintf
    0x0002fcb4 move a0, s1                   |     a0 = s1;
                                             |     /* str._s_d_n */
    0x0002fcb8 addiu a1, s3, 0x4950          |     a1 = s3 + 0x4950;
                                             |     /* str.vui.i_sar_width */
    0x0002fcbc addiu a2, a2, 0x49b8          |     a2 += 0x49b8;
    0x0002fcc0 jalr t9                       |     t9 ();
    0x0002fcc4 lw v1, 0x48(s2)               |     v1 = *((s2 + 18));
    0x0002fcc8 addu s1, s1, v0               |     s1 += v0;
    0x0002fccc sltiu v0, v1, 4               |     v0 = (v1 < 4) ? 1 : 0;
    0x0002fcd0 lw gp, 0x18(sp)               |     gp = *(var_18h);
                                             |     if (v0 != 0) {
    0x0002fcd4 bnez v0, 0x305cc              |         goto label_9;
                                             |     }
    0x0002fcd8 lw a3, -0x7fc8(gp)            |     a3 = *(gp);
                                             |     /* esilref: 'error' */
    0x0002fcdc addiu a3, a3, -0xe50          |     a3 += -0xe50;
                                             | label_0:
    0x0002fce0 lw v0, -0x7fc4(gp)            |     v0 = *((gp - 8177));
    0x0002fce4 lw a2, -0x7fc4(gp)            |     a2 = *((gp - 8177));
    0x0002fce8 lw t9, -0x7c30(gp)            |     t9 = sym.imp.sprintf
    0x0002fcec move a0, s1                   |     a0 = s1;
                                             |     /* str._s_s_n */
    0x0002fcf0 addiu a1, v0, 0x49c8          |     a1 = v0 + 0x49c8;
                                             |     /* str.vui.i_overscan */
    0x0002fcf4 addiu a2, a2, 0x49d0          |     a2 += 0x49d0;
    0x0002fcf8 jalr t9                       |     t9 ();
    0x0002fcfc lw v1, 0x4c(s2)               |     v1 = *((s2 + 19));
    0x0002fd00 addu s1, s1, v0               |     s1 += v0;
    0x0002fd04 sltiu v0, v1, 7               |     v0 = (v1 < 7) ? 1 : 0;
    0x0002fd08 lw gp, 0x18(sp)               |     gp = *(var_18h);
                                             |     if (v0 == 0) {
    0x0002fd0c beqz v0, 0x30614              |         goto label_10;
                                             |     }
    0x0002fd10 lw v0, -0x7fe4(gp)            |     v0 = *((gp - 8185));
    0x0002fd14 sll v1, v1, 2                 |     v1 <<= 2;
                                             |     /* obj.i264e_vidformat_names */
    0x0002fd18 addiu v0, v0, -0x4cc4         |     v0 += -0x4cc4;
    0x0002fd1c addu v1, v1, v0               |     v1 += v0;
    0x0002fd20 lw a3, (v1)                   |     a3 = *(v1);
                                             | label_5:
    0x0002fd24 lw v1, -0x7fc4(gp)            |     v1 = *((gp - 8177));
    0x0002fd28 lw a2, -0x7fc4(gp)            |     a2 = *((gp - 8177));
    0x0002fd2c lw t9, -0x7c30(gp)            |     t9 = sym.imp.sprintf
    0x0002fd30 move a0, s1                   |     a0 = s1;
                                             |     /* str._s_s_n */
    0x0002fd34 addiu a1, v1, 0x49c8          |     a1 = v1 + 0x49c8;
                                             |     /* str.vui.i_vidformat */
    0x0002fd38 addiu a2, a2, 0x49e0          |     a2 += 0x49e0;
    0x0002fd3c jalr t9                       |     t9 ();
    0x0002fd40 lw v1, 0x50(s2)               |     v1 = *((s2 + 20));
    0x0002fd44 addu s1, s1, v0               |     s1 += v0;
    0x0002fd48 sltiu v0, v1, 3               |     v0 = (v1 < 3) ? 1 : 0;
    0x0002fd4c lw gp, 0x18(sp)               |     gp = *(var_18h);
                                             |     if (v0 == 0) {
    0x0002fd50 beqz v0, 0x30608              |         goto label_11;
                                             |     }
    0x0002fd54 lw v0, -0x7fe4(gp)            |     v0 = *((gp - 8185));
    0x0002fd58 sll v1, v1, 2                 |     v1 <<= 2;
                                             |     /* obj.i264e_fullrange_names */
    0x0002fd5c addiu v0, v0, -0x4ca8         |     v0 += -0x4ca8;
    0x0002fd60 addu v1, v1, v0               |     v1 += v0;
    0x0002fd64 lw a3, (v1)                   |     a3 = *(v1);
                                             | label_4:
    0x0002fd68 lw v0, -0x7fc4(gp)            |     v0 = *((gp - 8177));
    0x0002fd6c lw a2, -0x7fc4(gp)            |     a2 = *((gp - 8177));
    0x0002fd70 lw t9, -0x7c30(gp)            |     t9 = sym.imp.sprintf
    0x0002fd74 move a0, s1                   |     a0 = s1;
                                             |     /* str._s_s_n */
    0x0002fd78 addiu a1, v0, 0x49c8          |     a1 = v0 + 0x49c8;
                                             |     /* str.vui.b_fullrange */
    0x0002fd7c addiu a2, a2, 0x49f0          |     a2 += 0x49f0;
    0x0002fd80 jalr t9                       |     t9 ();
    0x0002fd84 lw v1, 0x54(s2)               |     v1 = *((s2 + 21));
    0x0002fd88 addu s1, s1, v0               |     s1 += v0;
    0x0002fd8c sltiu v0, v1, 0xb             |     v0 = (v1 < 0xb) ? 1 : 0;
    0x0002fd90 lw gp, 0x18(sp)               |     gp = *(var_18h);
                                             |     if (v0 == 0) {
    0x0002fd94 beqz v0, 0x305f0              |         goto label_12;
                                             |     }
    0x0002fd98 lw v0, -0x7fe4(gp)            |     v0 = *((gp - 8185));
    0x0002fd9c sll v1, v1, 2                 |     v1 <<= 2;
                                             |     /* obj.i264e_colorprim_names */
    0x0002fda0 addiu v0, v0, -0x4c9c         |     v0 += -0x4c9c;
    0x0002fda4 addu v1, v1, v0               |     v1 += v0;
    0x0002fda8 lw a3, (v1)                   |     a3 = *(v1);
                                             | label_2:
    0x0002fdac lw v1, -0x7fc4(gp)            |     v1 = *((gp - 8177));
    0x0002fdb0 lw a2, -0x7fc4(gp)            |     a2 = *((gp - 8177));
    0x0002fdb4 lw t9, -0x7c30(gp)            |     t9 = sym.imp.sprintf
    0x0002fdb8 move a0, s1                   |     a0 = s1;
                                             |     /* str._s_s_n */
    0x0002fdbc addiu a1, v1, 0x49c8          |     a1 = v1 + 0x49c8;
                                             |     /* str.vui.i_colorprim */
    0x0002fdc0 addiu a2, a2, 0x4a00          |     a2 += 0x4a00;
    0x0002fdc4 jalr t9                       |     t9 ();
    0x0002fdc8 lw v1, 0x58(s2)               |     v1 = *((s2 + 22));
    0x0002fdcc addu s1, s1, v0               |     s1 += v0;
    0x0002fdd0 sltiu v0, v1, 0x11            |     v0 = (v1 < 0x11) ? 1 : 0;
    0x0002fdd4 lw gp, 0x18(sp)               |     gp = *(var_18h);
                                             |     if (v0 == 0) {
    0x0002fdd8 beqz v0, 0x305e4              |         goto label_13;
                                             |     }
    0x0002fddc lw v0, -0x7fe4(gp)            |     v0 = *((gp - 8185));
    0x0002fde0 sll v1, v1, 2                 |     v1 <<= 2;
                                             |     /* obj.i264e_transfer_names */
    0x0002fde4 addiu v0, v0, -0x4c70         |     v0 += -0x4c70;
    0x0002fde8 addu v1, v1, v0               |     v1 += v0;
    0x0002fdec lw a3, (v1)                   |     a3 = *(v1);
                                             | label_1:
    0x0002fdf0 lw v0, -0x7fc4(gp)            |     v0 = *((gp - 8177));
    0x0002fdf4 lw a2, -0x7fc4(gp)            |     a2 = *((gp - 8177));
    0x0002fdf8 lw t9, -0x7c30(gp)            |     t9 = sym.imp.sprintf
    0x0002fdfc move a0, s1                   |     a0 = s1;
                                             |     /* str._s_s_n */
    0x0002fe00 addiu a1, v0, 0x49c8          |     a1 = v0 + 0x49c8;
                                             |     /* str.vui.i_transfer */
    0x0002fe04 addiu a2, a2, 0x4a10          |     a2 += 0x4a10;
    0x0002fe08 jalr t9                       |     t9 ();
    0x0002fe0c lw v1, 0x5c(s2)               |     v1 = *((s2 + 23));
    0x0002fe10 addu s1, s1, v0               |     s1 += v0;
    0x0002fe14 sltiu v0, v1, 0xc             |     v0 = (v1 < 0xc) ? 1 : 0;
    0x0002fe18 lw gp, 0x18(sp)               |     gp = *(var_18h);
                                             |     if (v0 == 0) {
    0x0002fe1c beqz v0, 0x305fc              |         goto label_14;
                                             |     }
    0x0002fe20 lw v0, -0x7fe4(gp)            |     v0 = *((gp - 8185));
    0x0002fe24 sll v1, v1, 2                 |     v1 <<= 2;
                                             |     /* obj.i264e_colmatrix_names */
    0x0002fe28 addiu v0, v0, -0x4c2c         |     v0 += -0x4c2c;
    0x0002fe2c addu v1, v1, v0               |     v1 += v0;
    0x0002fe30 lw a3, (v1)                   |     a3 = *(v1);
                                             | label_3:
    0x0002fe34 lw v1, -0x7fc4(gp)            |     v1 = *((gp - 8177));
    0x0002fe38 lw a2, -0x7fc4(gp)            |     a2 = *((gp - 8177));
    0x0002fe3c lw t9, -0x7c30(gp)            |     t9 = sym.imp.sprintf
                                             |     /* str._s_s_n */
    0x0002fe40 addiu a1, v1, 0x49c8          |     a1 = v1 + 0x49c8;
    0x0002fe44 move a0, s1                   |     a0 = s1;
                                             |     /* str.vui.i_colmatrix */
    0x0002fe48 addiu a2, a2, 0x4a20          |     a2 += 0x4a20;
    0x0002fe4c jalr t9                       |     t9 ();
    0x0002fe50 lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x0002fe54 lw a3, 0x60(s2)               |     a3 = *((s2 + 24));
    0x0002fe58 addu s1, s1, v0               |     s1 += v0;
    0x0002fe5c lw a2, -0x7fc4(gp)            |     a2 = *((gp - 8177));
    0x0002fe60 lw t9, -0x7c30(gp)            |     t9 = sym.imp.sprintf
    0x0002fe64 move a0, s1                   |     a0 = s1;
                                             |     /* str._s_d_n */
    0x0002fe68 addiu a1, s3, 0x4950          |     a1 = s3 + 0x4950;
                                             |     /* str.vui.i_chroma_loc */
    0x0002fe6c addiu a2, a2, 0x4a30          |     a2 += 0x4a30;
    0x0002fe70 jalr t9                       |     t9 ();
    0x0002fe74 lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x0002fe78 lw a3, 0x64(s2)               |     a3 = *((s2 + 25));
    0x0002fe7c addu s1, s1, v0               |     s1 += v0;
    0x0002fe80 lw a2, -0x7fc4(gp)            |     a2 = *((gp - 8177));
    0x0002fe84 lw t9, -0x7c30(gp)            |     t9 = sym.imp.sprintf
    0x0002fe88 move a0, s1                   |     a0 = s1;
                                             |     /* str._s_d_n */
    0x0002fe8c addiu a1, s3, 0x4950          |     a1 = s3 + 0x4950;
                                             |     /* str.i_dpb_size */
    0x0002fe90 addiu a2, a2, 0x4a44          |     a2 += 0x4a44;
    0x0002fe94 jalr t9                       |     t9 ();
    0x0002fe98 lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x0002fe9c lw a3, 0x68(s2)               |     a3 = *((s2 + 26));
    0x0002fea0 addu s1, s1, v0               |     s1 += v0;
    0x0002fea4 lw a2, -0x7fc4(gp)            |     a2 = *((gp - 8177));
    0x0002fea8 lw t9, -0x7c30(gp)            |     t9 = sym.imp.sprintf
    0x0002feac move a0, s1                   |     a0 = s1;
                                             |     /* str._s_d_n */
    0x0002feb0 addiu a1, s3, 0x4950          |     a1 = s3 + 0x4950;
                                             |     /* str.i_frame_reference */
    0x0002feb4 addiu a2, a2, 0x4a50          |     a2 += 0x4a50;
    0x0002feb8 jalr t9                       |     t9 ();
    0x0002febc lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x0002fec0 lw a3, 0x6c(s2)               |     a3 = *((s2 + 27));
    0x0002fec4 addu s1, s1, v0               |     s1 += v0;
    0x0002fec8 lw a2, -0x7fc4(gp)            |     a2 = *((gp - 8177));
    0x0002fecc lw t9, -0x7c30(gp)            |     t9 = sym.imp.sprintf
    0x0002fed0 move a0, s1                   |     a0 = s1;
                                             |     /* str._s_d_n */
    0x0002fed4 addiu a1, s3, 0x4950          |     a1 = s3 + 0x4950;
                                             |     /* str.b_deblocking_filter */
    0x0002fed8 addiu a2, a2, 0x4a64          |     a2 += aav.0x00004a64;
    0x0002fedc jalr t9                       |     t9 ();
    0x0002fee0 lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x0002fee4 lw a3, 0x70(s2)               |     a3 = *((s2 + 28));
    0x0002fee8 addu s1, s1, v0               |     s1 += v0;
    0x0002feec lw a2, -0x7fc4(gp)            |     a2 = *((gp - 8177));
    0x0002fef0 lw t9, -0x7c30(gp)            |     t9 = sym.imp.sprintf
    0x0002fef4 move a0, s1                   |     a0 = s1;
                                             |     /* str._s_d_n */
    0x0002fef8 addiu a1, s3, 0x4950          |     a1 = s3 + 0x4950;
                                             |     /* str.i_deblocking_filter_alphac0 */
    0x0002fefc addiu a2, a2, 0x4a78          |     a2 += 0x4a78;
    0x0002ff00 jalr t9                       |     t9 ();
    0x0002ff04 lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x0002ff08 lw a3, 0x74(s2)               |     a3 = *((s2 + 29));
    0x0002ff0c addu s1, s1, v0               |     s1 += v0;
    0x0002ff10 lw a2, -0x7fc4(gp)            |     a2 = *((gp - 8177));
    0x0002ff14 lw t9, -0x7c30(gp)            |     t9 = sym.imp.sprintf
    0x0002ff18 move a0, s1                   |     a0 = s1;
                                             |     /* str._s_d_n */
    0x0002ff1c addiu a1, s3, 0x4950          |     a1 = s3 + 0x4950;
                                             |     /* str.i_deblocking_filter_beta */
    0x0002ff20 addiu a2, a2, 0x4a94          |     a2 += 0x4a94;
    0x0002ff24 jalr t9                       |     t9 ();
    0x0002ff28 lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x0002ff2c lw a3, 0x78(s2)               |     a3 = *((s2 + 30));
    0x0002ff30 addu s1, s1, v0               |     s1 += v0;
    0x0002ff34 lw a2, -0x7fc4(gp)            |     a2 = *((gp - 8177));
    0x0002ff38 lw t9, -0x7c30(gp)            |     t9 = sym.imp.sprintf
    0x0002ff3c move a0, s1                   |     a0 = s1;
                                             |     /* str._s_d_n */
    0x0002ff40 addiu a1, s3, 0x4950          |     a1 = s3 + 0x4950;
                                             |     /* str.b_cabac */
    0x0002ff44 addiu a2, a2, 0x4ab0          |     a2 += 0x4ab0;
    0x0002ff48 jalr t9                       |     t9 ();
    0x0002ff4c lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x0002ff50 lw a3, 0x7c(s2)               |     a3 = *((s2 + 31));
    0x0002ff54 addu s1, s1, v0               |     s1 += v0;
    0x0002ff58 lw a2, -0x7fc4(gp)            |     a2 = *((gp - 8177));
    0x0002ff5c lw t9, -0x7c30(gp)            |     t9 = sym.imp.sprintf
    0x0002ff60 move a0, s1                   |     a0 = s1;
                                             |     /* str._s_d_n */
    0x0002ff64 addiu a1, s3, 0x4950          |     a1 = s3 + 0x4950;
                                             |     /* str.i_cabac_init_idc */
    0x0002ff68 addiu a2, a2, 0x4ab8          |     a2 += 0x4ab8;
    0x0002ff6c jalr t9                       |     t9 ();
    0x0002ff70 lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x0002ff74 lw a3, 0x80(s2)               |     a3 = *((s2 + 32));
    0x0002ff78 addu s1, s1, v0               |     s1 += v0;
    0x0002ff7c lw a2, -0x7fc4(gp)            |     a2 = *((gp - 8177));
    0x0002ff80 lw t9, -0x7c30(gp)            |     t9 = sym.imp.sprintf
    0x0002ff84 move a0, s1                   |     a0 = s1;
                                             |     /* str._s_d_n */
    0x0002ff88 addiu a1, s3, 0x4950          |     a1 = s3 + 0x4950;
                                             |     /* str.analyse.i_weighted_pred */
    0x0002ff8c addiu a2, a2, 0x4acc          |     a2 += 0x4acc;
    0x0002ff90 jalr t9                       |     t9 ();
    0x0002ff94 lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x0002ff98 lw a3, 0x84(s2)               |     a3 = *((s2 + 33));
    0x0002ff9c addu s1, s1, v0               |     s1 += v0;
    0x0002ffa0 lw a2, -0x7fc4(gp)            |     a2 = *((gp - 8177));
    0x0002ffa4 lw t9, -0x7c30(gp)            |     t9 = sym.imp.sprintf
    0x0002ffa8 move a0, s1                   |     a0 = s1;
                                             |     /* str._s_d_n */
    0x0002ffac addiu a1, s3, 0x4950          |     a1 = s3 + 0x4950;
                                             |     /* str.analyse.b_transform_8x8 */
    0x0002ffb0 addiu a2, a2, 0x4ae4          |     a2 += 0x4ae4;
    0x0002ffb4 jalr t9                       |     t9 ();
    0x0002ffb8 lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x0002ffbc lw a3, 0x88(s2)               |     a3 = *((s2 + 34));
    0x0002ffc0 addu s1, s1, v0               |     s1 += v0;
    0x0002ffc4 lw a2, -0x7fc4(gp)            |     a2 = *((gp - 8177));
    0x0002ffc8 lw t9, -0x7c30(gp)            |     t9 = sym.imp.sprintf
    0x0002ffcc move a0, s1                   |     a0 = s1;
                                             |     /* str._s_d_n */
    0x0002ffd0 addiu a1, s3, 0x4950          |     a1 = s3 + 0x4950;
                                             |     /* str.analyse.i_chroma_qp_offset */
    0x0002ffd4 addiu a2, a2, 0x4afc          |     a2 += 0x4afc;
    0x0002ffd8 jalr t9                       |     t9 ();
    0x0002ffdc lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x0002ffe0 lw a3, 0x8c(s2)               |     a3 = *((s2 + 35));
    0x0002ffe4 addu s1, s1, v0               |     s1 += v0;
    0x0002ffe8 lw a2, -0x7fc4(gp)            |     a2 = *((gp - 8177));
    0x0002ffec lw t9, -0x7c30(gp)            |     t9 = sym.imp.sprintf
    0x0002fff0 move a0, s1                   |     a0 = s1;
                                             |     /* str._s_d_n */
    0x0002fff4 addiu a1, s3, 0x4950          |     a1 = s3 + 0x4950;
                                             |     /* str.analyse.i_mv_range */
    0x0002fff8 addiu a2, a2, 0x4b18          |     a2 += 0x4b18;
    0x0002fffc jalr t9                       |     t9 ();
    0x00030000 lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x00030004 lw a3, 0x90(s2)               |     a3 = *((s2 + 36));
    0x00030008 addu s1, s1, v0               |     s1 += v0;
    0x0003000c lw a2, -0x7fc4(gp)            |     a2 = *((gp - 8177));
    0x00030010 lw t9, -0x7c30(gp)            |     t9 = sym.imp.sprintf
    0x00030014 move a0, s1                   |     a0 = s1;
                                             |     /* str._s_d_n */
    0x00030018 addiu a1, s3, 0x4950          |     a1 = s3 + 0x4950;
                                             |     /* str.analyse.i_subpel_refine */
    0x0003001c addiu a2, a2, 0x4b2c          |     a2 += 0x4b2c;
    0x00030020 jalr t9                       |     t9 ();
    0x00030024 lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x00030028 lw a3, 0x94(s2)               |     a3 = *((s2 + 37));
    0x0003002c addu s1, s1, v0               |     s1 += v0;
    0x00030030 lw a2, -0x7fc4(gp)            |     a2 = *((gp - 8177));
    0x00030034 lw t9, -0x7c30(gp)            |     t9 = sym.imp.sprintf
    0x00030038 move a0, s1                   |     a0 = s1;
                                             |     /* str._s_d_n */
    0x0003003c addiu a1, s3, 0x4950          |     a1 = s3 + 0x4950;
                                             |     /* str.analyse.b_fast_mvp */
    0x00030040 addiu a2, a2, 0x4b44          |     a2 += 0x4b44;
    0x00030044 jalr t9                       |     t9 ();
    0x00030048 lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x0003004c lw a3, 0x98(s2)               |     a3 = *((s2 + 38));
    0x00030050 addu s1, s1, v0               |     s1 += v0;
    0x00030054 lw a2, -0x7fc4(gp)            |     a2 = *((gp - 8177));
    0x00030058 lw t9, -0x7c30(gp)            |     t9 = sym.imp.sprintf
    0x0003005c move a0, s1                   |     a0 = s1;
                                             |     /* str._s_d_n */
    0x00030060 addiu a1, s3, 0x4950          |     a1 = s3 + 0x4950;
                                             |     /* str.analyse.b_psnr */
    0x00030064 addiu a2, a2, 0x4b58          |     a2 += 0x4b58;
    0x00030068 jalr t9                       |     t9 ();
    0x0003006c lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x00030070 lw a3, 0x9c(s2)               |     a3 = *((s2 + 39));
    0x00030074 addu s1, s1, v0               |     s1 += v0;
    0x00030078 lw a2, -0x7fc4(gp)            |     a2 = *((gp - 8177));
    0x0003007c lw t9, -0x7c30(gp)            |     t9 = sym.imp.sprintf
    0x00030080 move a0, s1                   |     a0 = s1;
                                             |     /* str._s_d_n */
    0x00030084 addiu a1, s3, 0x4950          |     a1 = s3 + 0x4950;
                                             |     /* str.analyse.b_ssim */
    0x00030088 addiu a2, a2, 0x4b68          |     a2 += 0x4b68;
    0x0003008c jalr t9                       |     t9 ();
    0x00030090 lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x00030094 lw a3, 0xa0(s2)               |     a3 = *((s2 + 40));
    0x00030098 addu s1, s1, v0               |     s1 += v0;
    0x0003009c lw a2, -0x7fc4(gp)            |     a2 = *((gp - 8177));
    0x000300a0 lw t9, -0x7c30(gp)            |     t9 = sym.imp.sprintf
    0x000300a4 move a0, s1                   |     a0 = s1;
                                             |     /* str._s_d_n */
    0x000300a8 addiu a1, s3, 0x4950          |     a1 = s3 + 0x4950;
                                             |     /* str.hskip.i_skip_type */
    0x000300ac addiu a2, a2, 0x4b78          |     a2 += 0x4b78;
    0x000300b0 jalr t9                       |     t9 ();
    0x000300b4 lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x000300b8 lw a3, 0xa4(s2)               |     a3 = *((s2 + 41));
    0x000300bc addu s1, s1, v0               |     s1 += v0;
    0x000300c0 lw a2, -0x7fc4(gp)            |     a2 = *((gp - 8177));
    0x000300c4 lw t9, -0x7c30(gp)            |     t9 = sym.imp.sprintf
    0x000300c8 move a0, s1                   |     a0 = s1;
                                             |     /* str._s_d_n */
    0x000300cc addiu a1, s3, 0x4950          |     a1 = s3 + 0x4950;
                                             |     /* str.hskip.m */
    0x000300d0 addiu a2, a2, 0x4b8c          |     a2 += 0x4b8c;
    0x000300d4 jalr t9                       |     t9 ();
    0x000300d8 lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x000300dc lw a3, 0xa8(s2)               |     a3 = *((s2 + 42));
    0x000300e0 addu s1, s1, v0               |     s1 += v0;
    0x000300e4 lw a2, -0x7fc4(gp)            |     a2 = *((gp - 8177));
    0x000300e8 lw t9, -0x7c30(gp)            |     t9 = sym.imp.sprintf
    0x000300ec move a0, s1                   |     a0 = s1;
                                             |     /* str._s_d_n */
    0x000300f0 addiu a1, s3, 0x4950          |     a1 = s3 + 0x4950;
                                             |     /* str.hskip.n */
    0x000300f4 addiu a2, a2, 0x4b94          |     a2 += 0x4b94;
    0x000300f8 jalr t9                       |     t9 ();
    0x000300fc lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x00030100 lw a3, 0xbc(s2)               |     a3 = *((s2 + 47));
    0x00030104 addu s1, s1, v0               |     s1 += v0;
    0x00030108 lw a2, -0x7fc4(gp)            |     a2 = *((gp - 8177));
    0x0003010c lw t9, -0x7c30(gp)            |     t9 = sym.imp.sprintf
    0x00030110 move a0, s1                   |     a0 = s1;
                                             |     /* str._s_d_n */
    0x00030114 addiu a1, s3, 0x4950          |     a1 = s3 + 0x4950;
                                             |     /* str.rc.i_rc_method */
    0x00030118 addiu a2, a2, 0x4b9c          |     a2 += 0x4b9c;
    0x0003011c jalr t9                       |     t9 ();
    0x00030120 lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x00030124 lw a3, 0xc0(s2)               |     a3 = *((s2 + 48));
    0x00030128 addu s1, s1, v0               |     s1 += v0;
    0x0003012c lw a2, -0x7fc4(gp)            |     a2 = *((gp - 8177));
    0x00030130 lw t9, -0x7c30(gp)            |     t9 = sym.imp.sprintf
    0x00030134 move a0, s1                   |     a0 = s1;
                                             |     /* str._s_d_n */
    0x00030138 addiu a1, s3, 0x4950          |     a1 = s3 + 0x4950;
                                             |     /* str.rc.i_qp_constant */
    0x0003013c addiu a2, a2, 0x4bac          |     a2 += 0x4bac;
    0x00030140 jalr t9                       |     t9 ();
    0x00030144 lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x00030148 lw a3, 0xc4(s2)               |     a3 = *((s2 + 49));
    0x0003014c addu s1, s1, v0               |     s1 += v0;
    0x00030150 lw a2, -0x7fc4(gp)            |     a2 = *((gp - 8177));
    0x00030154 lw t9, -0x7c30(gp)            |     t9 = sym.imp.sprintf
    0x00030158 move a0, s1                   |     a0 = s1;
                                             |     /* str._s_d_n */
    0x0003015c addiu a1, s3, 0x4950          |     a1 = s3 + 0x4950;
                                             |     /* str.rc.i_qp_min */
    0x00030160 addiu a2, a2, 0x4bc0          |     a2 += 0x4bc0;
    0x00030164 jalr t9                       |     t9 ();
    0x00030168 lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x0003016c lw a3, 0xc8(s2)               |     a3 = *((s2 + 50));
    0x00030170 addu s1, s1, v0               |     s1 += v0;
    0x00030174 lw a2, -0x7fc4(gp)            |     a2 = *((gp - 8177));
    0x00030178 lw t9, -0x7c30(gp)            |     t9 = sym.imp.sprintf
    0x0003017c move a0, s1                   |     a0 = s1;
                                             |     /* str._s_d_n */
    0x00030180 addiu a1, s3, 0x4950          |     a1 = s3 + 0x4950;
    0x00030184 lw s0, -0x7fc4(gp)            |     s0 = *((gp - 8177));
                                             |     /* str.rc.i_qp_max */
    0x00030188 addiu a2, a2, 0x4bcc          |     a2 += 0x4bcc;
    0x0003018c jalr t9                       |     t9 ();
    0x00030190 lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x00030194 lw a3, 0xe8(s2)               |     a3 = *((s2 + 58));
    0x00030198 addu s1, s1, v0               |     s1 += v0;
    0x0003019c lw t9, -0x7c30(gp)            |     t9 = sym.imp.sprintf
    0x000301a0 move a0, s1                   |     a0 = s1;
                                             |     /* str.rc.i_qp_step */
    0x000301a4 addiu a2, s0, 0x4bd8          |     a2 = s0 + 0x4bd8;
                                             |     /* str._s_d_n */
    0x000301a8 addiu a1, s3, 0x4950          |     a1 = s3 + 0x4950;
    0x000301ac jalr t9                       |     t9 ();
    0x000301b0 lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x000301b4 lw a3, 0xe8(s2)               |     a3 = *((s2 + 58));
    0x000301b8 addu s1, s1, v0               |     s1 += v0;
    0x000301bc lw t9, -0x7c30(gp)            |     t9 = sym.imp.sprintf
    0x000301c0 move a0, s1                   |     a0 = s1;
                                             |     /* str.rc.i_qp_step */
    0x000301c4 addiu a2, s0, 0x4bd8          |     a2 = s0 + 0x4bd8;
                                             |     /* str._s_d_n */
    0x000301c8 addiu a1, s3, 0x4950          |     a1 = s3 + 0x4950;
    0x000301cc jalr t9                       |     t9 ();
    0x000301d0 lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x000301d4 lwc1 f0, 0xcc(s2)             |     __asm ("lwc1 f0, 0xcc(s2)");
    0x000301d8 addu s1, s1, v0               |     s1 += v0;
    0x000301dc lw s0, -0x7fc4(gp)            |     s0 = *((gp - 8177));
    0x000301e0 lw a2, -0x7fc4(gp)            |     a2 = *((gp - 8177));
    0x000301e4 lw t9, -0x7c30(gp)            |     t9 = sym.imp.sprintf
    0x000301e8 cvt.d.s f0, f0                |     __asm ("cvt.d.s f0, f0");
    0x000301ec move a0, s1                   |     a0 = s1;
                                             |     /* str._s_f_n */
    0x000301f0 addiu a1, s0, 0x4be8          |     a1 = s0 + 0x4be8;
    0x000301f4 sdc1 f0, 0x10(sp)             |     __asm ("sdc1 f0, 0x10(sp)");
                                             |     /* str.rc.f_rate_tolerance */
    0x000301f8 addiu a2, a2, 0x4bf0          |     a2 += 0x4bf0;
    0x000301fc jalr t9                       |     t9 ();
    0x00030200 lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x00030204 lwc1 f0, 0xd0(s2)             |     __asm ("lwc1 f0, 0xd0(s2)");
    0x00030208 addu s1, s1, v0               |     s1 += v0;
    0x0003020c lw a2, -0x7fc4(gp)            |     a2 = *((gp - 8177));
    0x00030210 lw t9, -0x7c30(gp)            |     t9 = sym.imp.sprintf
    0x00030214 cvt.d.s f0, f0                |     __asm ("cvt.d.s f0, f0");
    0x00030218 move a0, s1                   |     a0 = s1;
                                             |     /* str._s_f_n */
    0x0003021c addiu a1, s0, 0x4be8          |     a1 = s0 + 0x4be8;
    0x00030220 sdc1 f0, 0x10(sp)             |     __asm ("sdc1 f0, 0x10(sp)");
                                             |     /* str.rc.f_ip_factor */
    0x00030224 addiu a2, a2, 0x4c04          |     a2 += aav.0x00004c04;
    0x00030228 jalr t9                       |     t9 ();
    0x0003022c lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x00030230 lwc1 f0, 0xd4(s2)             |     __asm ("lwc1 f0, 0xd4(s2)");
    0x00030234 addu s1, s1, v0               |     s1 += v0;
    0x00030238 lw a2, -0x7fc4(gp)            |     a2 = *((gp - 8177));
    0x0003023c lw t9, -0x7c30(gp)            |     t9 = sym.imp.sprintf
    0x00030240 cvt.d.s f0, f0                |     __asm ("cvt.d.s f0, f0");
    0x00030244 move a0, s1                   |     a0 = s1;
                                             |     /* str._s_f_n */
    0x00030248 addiu a1, s0, 0x4be8          |     a1 = s0 + 0x4be8;
    0x0003024c sdc1 f0, 0x10(sp)             |     __asm ("sdc1 f0, 0x10(sp)");
                                             |     /* str.rc.f_pb_factor */
    0x00030250 addiu a2, a2, 0x4c14          |     a2 += 0x4c14;
    0x00030254 jalr t9                       |     t9 ();
    0x00030258 lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x0003025c addu s7, s1, v0               |     s7 = s1 + v0;
    0x00030260 move s0, zero                 |     s0 = 0;
    0x00030264 lw s6, -0x7fc4(gp)            |     s6 = *((gp - 8177));
    0x00030268 lw s5, -0x7fc4(gp)            |     s5 = *((gp - 8177));
    0x0003026c lw s4, -0x7fc4(gp)            |     s4 = *((gp - 8177));
    0x00030270 lw fp, -0x7fc4(gp)            |     fp = *((gp - 8177));
    0x00030274 move s1, s2                   |     s1 = s2;
                                             |     /* str.roi__d_.roi_en_u_n */
    0x00030278 addiu s6, s6, 0x4c24          |     s6 += 0x4c24;
                                             |     /* str.roi__d_.roi_md_u_n */
    0x0003027c addiu s5, s5, 0x4c38          |     s5 += 0x4c38;
                                             |     /* str.roi__d_.roi_qp_u_n */
    0x00030280 addiu s4, s4, 0x4c4c          |     s4 += 0x4c4c;
                                             |     do {
    0x00030284 lw t9, -0x7c30(gp)            |         t9 = sym.imp.sprintf
    0x00030288 lbu a3, 0x134(s1)             |         a3 = *(s1);
    0x0003028c move a0, s7                   |         a0 = s7;
    0x00030290 move a2, s0                   |         a2 = s0;
    0x00030294 move a1, s6                   |         a1 = s6;
    0x00030298 jalr t9                       |         t9 ();
    0x0003029c lw gp, 0x18(sp)               |         gp = *(var_18h);
    0x000302a0 lbu a3, 0x135(s1)             |         a3 = *((s1 + 309));
    0x000302a4 addu s7, s7, v0               |         s7 += v0;
    0x000302a8 lw t9, -0x7c30(gp)            |         t9 = sym.imp.sprintf
    0x000302ac move a2, s0                   |         a2 = s0;
    0x000302b0 move a0, s7                   |         a0 = s7;
    0x000302b4 move a1, s5                   |         a1 = s5;
    0x000302b8 jalr t9                       |         t9 ();
    0x000302bc lw gp, 0x18(sp)               |         gp = *(var_18h);
    0x000302c0 lb a3, 0x136(s1)              |         a3 = *((s1 + 310));
    0x000302c4 addu s7, s7, v0               |         s7 += v0;
    0x000302c8 lw t9, -0x7c30(gp)            |         t9 = sym.imp.sprintf
    0x000302cc move a2, s0                   |         a2 = s0;
    0x000302d0 move a0, s7                   |         a0 = s7;
    0x000302d4 move a1, s4                   |         a1 = s4;
    0x000302d8 jalr t9                       |         t9 ();
    0x000302dc lw gp, 0x18(sp)               |         gp = *(var_18h);
    0x000302e0 lbu a3, 0x137(s1)             |         a3 = *((s1 + 311));
    0x000302e4 addu s7, s7, v0               |         s7 += v0;
    0x000302e8 lw a1, -0x7fc4(gp)            |         a1 = *((gp - 8177));
    0x000302ec lw t9, -0x7c30(gp)            |         t9 = sym.imp.sprintf
    0x000302f0 move a2, s0                   |         a2 = s0;
    0x000302f4 move a0, s7                   |         a0 = s7;
                                             |         /* str.roi__d_.roi_lmbx_u_n */
    0x000302f8 addiu a1, a1, 0x4c60          |         a1 += 0x4c60;
    0x000302fc jalr t9                       |         t9 ();
    0x00030300 lw gp, 0x18(sp)               |         gp = *(var_18h);
    0x00030304 lbu a3, 0x138(s1)             |         a3 = *(s1);
    0x00030308 addu s7, s7, v0               |         s7 += v0;
    0x0003030c lw a1, -0x7fc4(gp)            |         a1 = *((gp - 8177));
    0x00030310 lw t9, -0x7c30(gp)            |         t9 = sym.imp.sprintf
    0x00030314 move a2, s0                   |         a2 = s0;
    0x00030318 move a0, s7                   |         a0 = s7;
                                             |         /* str.roi__d_.roi_rmbx_u_n */
    0x0003031c addiu a1, a1, 0x4c78          |         a1 += 0x4c78;
    0x00030320 jalr t9                       |         t9 ();
    0x00030324 lw gp, 0x18(sp)               |         gp = *(var_18h);
    0x00030328 lbu a3, 0x139(s1)             |         a3 = *((s1 + 313));
    0x0003032c addu s7, s7, v0               |         s7 += v0;
    0x00030330 lw t9, -0x7c30(gp)            |         t9 = sym.imp.sprintf
    0x00030334 move a2, s0                   |         a2 = s0;
    0x00030338 move a0, s7                   |         a0 = s7;
                                             |         /* str.roi__d_.roi_umby_u_n */
    0x0003033c addiu a1, fp, 0x4c90          |         a1 = fp + 0x4c90;
    0x00030340 jalr t9                       |         t9 ();
    0x00030344 lw gp, 0x18(sp)               |         gp = *(var_18h);
    0x00030348 addu s7, s7, v0               |         s7 += v0;
    0x0003034c lbu a3, 0x13a(s1)             |         a3 = *((s1 + 314));
    0x00030350 lw v0, -0x7fc4(gp)            |         v0 = *((gp - 8177));
    0x00030354 lw t9, -0x7c30(gp)            |         t9 = sym.imp.sprintf
    0x00030358 move a2, s0                   |         a2 = s0;
    0x0003035c move a0, s7                   |         a0 = s7;
                                             |         /* str.roi__d_.roi_bmby_u_n */
    0x00030360 addiu a1, v0, 0x4ca8          |         a1 = v0 + 0x4ca8;
    0x00030364 jalr t9                       |         t9 ();
    0x00030368 addu s7, s7, v0               |         s7 += v0;
    0x0003036c addiu s0, s0, 1               |         s0++;
    0x00030370 addiu v0, zero, 8             |         v0 = 8;
    0x00030374 lw gp, 0x18(sp)               |         gp = *(var_18h);
    0x00030378 addiu s1, s1, 7               |         s1 += 7;
    0x0003037c bne s0, v0, 0x30284           |         
                                             |     } while (s0 != v0);
    0x00030380 lw s0, -0x7fc4(gp)            |     s0 = *((gp - 8177));
    0x00030384 lw a2, -0x7fc4(gp)            |     a2 = *((gp - 8177));
    0x00030388 lw t9, -0x7c30(gp)            |     t9 = sym.imp.sprintf
    0x0003038c lw a3, 0x16c(s2)              |     a3 = *(s2);
                                             |     /* str._s_u_n */
    0x00030390 addiu a1, s0, 0x4cc0          |     a1 = s0 + 0x4cc0;
    0x00030394 move a0, s7                   |     a0 = s7;
                                             |     /* str.crop.i_left */
    0x00030398 addiu a2, a2, 0x4cc8          |     a2 += 0x4cc8;
    0x0003039c jalr t9                       |     t9 ();
    0x000303a0 lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x000303a4 lw a3, 0x170(s2)              |     a3 = *(s2);
    0x000303a8 addu s1, s7, v0               |     s1 = s7 + v0;
    0x000303ac lw a2, -0x7fc4(gp)            |     a2 = *((gp - 8177));
    0x000303b0 lw t9, -0x7c30(gp)            |     t9 = sym.imp.sprintf
    0x000303b4 move a0, s1                   |     a0 = s1;
                                             |     /* str._s_u_n */
    0x000303b8 addiu a1, s0, 0x4cc0          |     a1 = s0 + 0x4cc0;
                                             |     /* str.crop.i_top */
    0x000303bc addiu a2, a2, 0x4cd4          |     a2 += 0x4cd4;
    0x000303c0 jalr t9                       |     t9 ();
    0x000303c4 lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x000303c8 lw a3, 0x174(s2)              |     a3 = *(s2);
    0x000303cc addu s1, s1, v0               |     s1 += v0;
    0x000303d0 lw a2, -0x7fc4(gp)            |     a2 = *((gp - 8177));
    0x000303d4 lw t9, -0x7c30(gp)            |     t9 = sym.imp.sprintf
    0x000303d8 move a0, s1                   |     a0 = s1;
                                             |     /* str._s_u_n */
    0x000303dc addiu a1, s0, 0x4cc0          |     a1 = s0 + 0x4cc0;
                                             |     /* str.crop.i_right */
    0x000303e0 addiu a2, a2, 0x4ce0          |     a2 += 0x4ce0;
    0x000303e4 jalr t9                       |     t9 ();
    0x000303e8 lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x000303ec lw a3, 0x178(s2)              |     a3 = *(s2);
    0x000303f0 addu s1, s1, v0               |     s1 += v0;
    0x000303f4 lw a2, -0x7fc4(gp)            |     a2 = *((gp - 8177));
    0x000303f8 lw t9, -0x7c30(gp)            |     t9 = sym.imp.sprintf
    0x000303fc move a0, s1                   |     a0 = s1;
                                             |     /* str._s_u_n */
    0x00030400 addiu a1, s0, 0x4cc0          |     a1 = s0 + 0x4cc0;
                                             |     /* str.crop.i_bottom */
    0x00030404 addiu a2, a2, 0x4cf0          |     a2 += 0x4cf0;
    0x00030408 jalr t9                       |     t9 ();
    0x0003040c lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x00030410 lw a3, 0x17c(s2)              |     a3 = *(s2);
    0x00030414 addu s1, s1, v0               |     s1 += v0;
    0x00030418 lw a2, -0x7fc4(gp)            |     a2 = *((gp - 8177));
    0x0003041c lw t9, -0x7c30(gp)            |     t9 = sym.imp.sprintf
    0x00030420 move a0, s1                   |     a0 = s1;
                                             |     /* str._s_d_n */
    0x00030424 addiu a1, s3, 0x4950          |     a1 = s3 + 0x4950;
                                             |     /* str.b_repeat_headers */
    0x00030428 addiu a2, a2, 0x4d00          |     a2 += 0x4d00;
    0x0003042c jalr t9                       |     t9 ();
    0x00030430 lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x00030434 lw a3, 0x180(s2)              |     a3 = *(s2);
    0x00030438 addu s1, s1, v0               |     s1 += v0;
    0x0003043c lw a2, -0x7fc4(gp)            |     a2 = *((gp - 8177));
    0x00030440 lw t9, -0x7c30(gp)            |     t9 = sym.imp.sprintf
    0x00030444 move a0, s1                   |     a0 = s1;
                                             |     /* str._s_d_n */
    0x00030448 addiu a1, s3, 0x4950          |     a1 = s3 + 0x4950;
                                             |     /* str.b_annexb */
    0x0003044c addiu a2, a2, 0x4d14          |     a2 += 0x4d14;
    0x00030450 jalr t9                       |     t9 ();
    0x00030454 lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x00030458 lw a3, 0x184(s2)              |     a3 = *(s2);
    0x0003045c addu s1, s1, v0               |     s1 += v0;
    0x00030460 lw a2, -0x7fc4(gp)            |     a2 = *((gp - 8177));
    0x00030464 lw t9, -0x7c30(gp)            |     t9 = sym.imp.sprintf
    0x00030468 move a0, s1                   |     a0 = s1;
                                             |     /* str._s_d_n */
    0x0003046c addiu a1, s3, 0x4950          |     a1 = s3 + 0x4950;
    0x00030470 lw s0, -0x7fc4(gp)            |     s0 = *((gp - 8177));
                                             |     /* str.i_sps_id */
    0x00030474 addiu a2, a2, 0x4d20          |     a2 += 0x4d20;
    0x00030478 jalr t9                       |     t9 ();
    0x0003047c lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x00030480 lw a3, 0x188(s2)              |     a3 = *(s2);
    0x00030484 addu s1, s1, v0               |     s1 += v0;
    0x00030488 lw t9, -0x7c30(gp)            |     t9 = sym.imp.sprintf
    0x0003048c move a0, s1                   |     a0 = s1;
                                             |     /* str.b_vfr_input */
    0x00030490 addiu a2, s0, 0x4d2c          |     a2 = s0 + 0x4d2c;
                                             |     /* str._s_d_n */
    0x00030494 addiu a1, s3, 0x4950          |     a1 = s3 + 0x4950;
    0x00030498 jalr t9                       |     t9 ();
    0x0003049c lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x000304a0 lw a3, 0x188(s2)              |     a3 = *(s2);
    0x000304a4 addu s1, s1, v0               |     s1 += v0;
    0x000304a8 lw t9, -0x7c30(gp)            |     t9 = sym.imp.sprintf
    0x000304ac move a0, s1                   |     a0 = s1;
                                             |     /* str.b_vfr_input */
    0x000304b0 addiu a2, s0, 0x4d2c          |     a2 = s0 + 0x4d2c;
                                             |     /* str._s_d_n */
    0x000304b4 addiu a1, s3, 0x4950          |     a1 = s3 + 0x4950;
    0x000304b8 jalr t9                       |     t9 ();
    0x000304bc lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x000304c0 lw a3, 0x19c(s2)              |     a3 = *(s2);
    0x000304c4 addu s1, s1, v0               |     s1 += v0;
    0x000304c8 lw s0, -0x7fc4(gp)            |     s0 = *((gp - 8177));
    0x000304cc lw a2, -0x7fc4(gp)            |     a2 = *((gp - 8177));
    0x000304d0 lw t9, -0x7c30(gp)            |     t9 = sym.imp.sprintf
    0x000304d4 move a0, s1                   |     a0 = s1;
                                             |     /* str._s_p_n */
    0x000304d8 addiu a1, s0, 0x4d38          |     a1 = s0 + 0x4d38;
                                             |     /* str.pf_log */
    0x000304dc addiu a2, a2, 0x4d40          |     a2 += 0x4d40;
    0x000304e0 jalr t9                       |     t9 ();
    0x000304e4 lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x000304e8 lw a3, 0x1a0(s2)              |     a3 = *(s2);
    0x000304ec addu s1, s1, v0               |     s1 += v0;
    0x000304f0 lw v1, -0x7fc4(gp)            |     v1 = *((gp - 8177));
    0x000304f4 lw a2, -0x7fc4(gp)            |     a2 = *((gp - 8177));
    0x000304f8 lw t9, -0x7c30(gp)            |     t9 = sym.imp.sprintf
                                             |     /* str._s_s_n */
    0x000304fc addiu a1, v1, 0x49c8          |     a1 = v1 + 0x49c8;
    0x00030500 move a0, s1                   |     a0 = s1;
                                             |     /* str.p_log_private */
    0x00030504 addiu a2, a2, 0x4d48          |     a2 += aav.0x00004d48;
    0x00030508 jalr t9                       |     t9 ();
    0x0003050c lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x00030510 lw a3, 0x1a4(s2)              |     a3 = *(s2);
    0x00030514 addu s1, s1, v0               |     s1 += v0;
    0x00030518 lw a2, -0x7fc4(gp)            |     a2 = *((gp - 8177));
    0x0003051c lw t9, -0x7c30(gp)            |     t9 = sym.imp.sprintf
    0x00030520 move a0, s1                   |     a0 = s1;
                                             |     /* str._s_d_n */
    0x00030524 addiu a1, s3, 0x4950          |     a1 = s3 + 0x4950;
                                             |     /* str.i_log_level */
    0x00030528 addiu a2, a2, 0x4d58          |     a2 += aav.0x00004d58;
    0x0003052c jalr t9                       |     t9 ();
    0x00030530 lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x00030534 lw a3, 0x1a8(s2)              |     a3 = *(s2);
    0x00030538 addu s1, s1, v0               |     s1 += v0;
    0x0003053c lw a2, -0x7fc4(gp)            |     a2 = *((gp - 8177));
    0x00030540 lw t9, -0x7c30(gp)            |     t9 = sym.imp.sprintf
    0x00030544 move a0, s1                   |     a0 = s1;
                                             |     /* str._s_d_n */
    0x00030548 addiu a1, s3, 0x4950          |     a1 = s3 + 0x4950;
                                             |     /* str.i_slice_count */
    0x0003054c addiu a2, a2, 0x4d64          |     a2 += 0x4d64;
    0x00030550 jalr t9                       |     t9 ();
    0x00030554 lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x00030558 lw a3, 0x1ac(s2)              |     a3 = *(s2);
    0x0003055c addu s1, s1, v0               |     s1 += v0;
    0x00030560 lw a2, -0x7fc4(gp)            |     a2 = *((gp - 8177));
    0x00030564 lw t9, -0x7c30(gp)            |     t9 = sym.imp.sprintf
    0x00030568 move a0, s1                   |     a0 = s1;
                                             |     /* str._s_p_n */
    0x0003056c addiu a1, s0, 0x4d38          |     a1 = s0 + 0x4d38;
                                             |     /* str.malloc */
    0x00030570 addiu a2, a2, -0x7aa0         |     a2 += -0x7aa0;
    0x00030574 jalr t9                       |     t9 ();
    0x00030578 lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x0003057c lw a3, 0x1b0(s2)              |     a3 = *(s2);
    0x00030580 addu a0, s1, v0               |     a0 = s1 + v0;
    0x00030584 lw a2, -0x7fc4(gp)            |     a2 = *((gp - 8177));
    0x00030588 lw t9, -0x7c30(gp)            |     t9 = sym.imp.sprintf
                                             |     /* str._s_p_n */
    0x0003058c addiu a1, s0, 0x4d38          |     a1 = s0 + 0x4d38;
                                             |     /* str.free */
    0x00030590 addiu a2, a2, 0x4d74          |     a2 += 0x4d74;
    0x00030594 jalr t9                       |     t9 ();
                                             | label_7:
    0x00030598 lw ra, 0x4c(sp)               |     ra = *(var_4ch);
    0x0003059c lw v0, 0x20(sp)               |     v0 = *(var_20h);
    0x000305a0 lw fp, 0x48(sp)               |     fp = *(var_48h);
    0x000305a4 lw s7, 0x44(sp)               |     s7 = *(var_44h);
    0x000305a8 lw s6, 0x40(sp)               |     s6 = *(var_40h);
    0x000305ac lw s5, 0x3c(sp)               |     s5 = *(var_3ch);
    0x000305b0 lw s4, 0x38(sp)               |     s4 = *(var_38h);
    0x000305b4 lw s3, 0x34(sp)               |     s3 = *(var_34h);
    0x000305b8 lw s2, 0x30(sp)               |     s2 = *(var_30h);
    0x000305bc lw s1, 0x2c(sp)               |     s1 = *(var_2ch);
    0x000305c0 lw s0, 0x28(sp)               |     s0 = *(var_28h);
    0x000305c4 addiu sp, sp, 0x50            |     
    0x000305c8 jr ra                         |     return v1;
                                             | label_9:
    0x000305cc lw v0, -0x7fe4(gp)            |     v0 = *((gp - 8185));
    0x000305d0 sll v1, v1, 2                 |     v1 <<= 2;
                                             |     /* obj.i264e_overscan_names */
    0x000305d4 addiu v0, v0, -0x4cd4         |     v0 += -0x4cd4;
    0x000305d8 addu v1, v1, v0               |     v1 += v0;
    0x000305dc lw a3, (v1)                   |     a3 = *(v1);
    0x000305e0 b 0x2fce0                     |     goto label_0;
                                             | label_13:
    0x000305e4 lw a3, -0x7fc8(gp)            |     a3 = *(gp);
                                             |     /* esilref: 'error' */
    0x000305e8 addiu a3, a3, -0xe50          |     a3 += -0xe50;
    0x000305ec b 0x2fdf0                     |     goto label_1;
                                             | label_12:
    0x000305f0 lw a3, -0x7fc8(gp)            |     a3 = *(gp);
                                             |     /* esilref: 'error' */
    0x000305f4 addiu a3, a3, -0xe50          |     a3 += -0xe50;
    0x000305f8 b 0x2fdac                     |     goto label_2;
                                             | label_14:
    0x000305fc lw a3, -0x7fc8(gp)            |     a3 = *(gp);
                                             |     /* esilref: 'error' */
    0x00030600 addiu a3, a3, -0xe50          |     a3 += -0xe50;
    0x00030604 b 0x2fe34                     |     goto label_3;
                                             | label_11:
    0x00030608 lw a3, -0x7fc8(gp)            |     a3 = *(gp);
                                             |     /* esilref: 'error' */
    0x0003060c addiu a3, a3, -0xe50          |     a3 += -0xe50;
    0x00030610 b 0x2fd68                     |     goto label_4;
                                             | label_10:
    0x00030614 lw a3, -0x7fc8(gp)            |     a3 = *(gp);
                                             |     /* esilref: 'error' */
    0x00030618 addiu a3, a3, -0xe50          |     a3 += -0xe50;
    0x0003061c b 0x2fd24                     |     goto label_5;
                                             | label_8:
    0x00030620 lw a1, -0x7fc4(gp)            |     a1 = *((gp - 8177));
    0x00030624 lw t9, -0x7c30(gp)            |     t9 = sym.imp.sprintf
    0x00030628 lw a2, 0x2c(s2)               |     a2 = *((s2 + 11));
    0x0003062c lw a3, 0x30(s2)               |     a3 = *((s2 + 12));
    0x00030630 move a0, v0                   |     a0 = v0;
                                             |     /* str._dx_d__n */
    0x00030634 addiu a1, a1, 0x4918          |     a1 += 0x4918;
    0x00030638 jalr t9                       |     t9 ();
    0x0003063c lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x00030640 lw v1, 0x20(sp)               |     v1 = *(var_20h);
    0x00030644 lw a2, 0x18c(s2)              |     a2 = *(s2);
    0x00030648 lw a1, -0x7fc4(gp)            |     a1 = *((gp - 8177));
    0x0003064c lw t9, -0x7c30(gp)            |     t9 = sym.imp.sprintf
    0x00030650 lw a3, 0x190(s2)              |     a3 = *(s2);
    0x00030654 addu s0, v1, v0               |     s0 = v1 + v0;
    0x00030658 move a0, s0                   |     a0 = s0;
                                             |     /* str.fps_u__u__n */
    0x0003065c addiu a1, a1, 0x4920          |     a1 += 0x4920;
    0x00030660 jalr t9                       |     t9 ();
    0x00030664 lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x00030668 lw a2, 0x194(s2)              |     a2 = *(s2);
    0x0003066c lw a3, 0x198(s2)              |     a3 = *(s2);
    0x00030670 lw a1, -0x7fc4(gp)            |     a1 = *((gp - 8177));
    0x00030674 lw t9, -0x7c30(gp)            |     t9 = sym.imp.sprintf
    0x00030678 addu s0, s0, v0               |     s0 += v0;
    0x0003067c move a0, s0                   |     a0 = s0;
                                             |     /* str.timebase_u__u__n */
    0x00030680 addiu a1, a1, 0x492c          |     a1 += 0x492c;
    0x00030684 jalr t9                       |     t9 ();
    0x00030688 lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x0003068c addu s0, s0, v0               |     s0 += v0;
    0x00030690 move a0, s0                   |     a0 = s0;
    0x00030694 lw a1, -0x7fc4(gp)            |     a1 = *((gp - 8177));
    0x00030698 lw t9, -0x7c30(gp)            |     t9 = sym.imp.sprintf
    0x0003069c addiu a2, zero, 8             |     a2 = 8;
                                             |     /* str.bitdepth_d__n */
    0x000306a0 addiu a1, a1, 0x4940          |     a1 += 0x4940;
    0x000306a4 jalr t9                       |     t9 ();
    0x000306a8 addu s0, s0, v0               |     s0 += v0;
    0x000306ac lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x000306b0 b 0x2fb60                     |     goto label_6;
                                             | }
    ; assembly                                   | /* r2dec pseudo code output */
                                                 | /* /logs/firmware/unblob_extracted/firmware_extract/6225984-11075644.jffs2_new_extract/lib/libmp.so @ 0x2e4f0 */
                                                 | #include <stdint.h>
                                                 |  
    ; (fcn) sym.i264e_sei_version_write ()       | void i264e_sei_version_write () {
    0x0002e4f0 lui gp, 0xc                       |     
    0x0002e4f4 addiu gp, gp, -0x10e0             |     
    0x0002e4f8 addu gp, gp, t9                   |     gp += t9;
    0x0002e4fc lw t9, -0x7a5c(gp)                |     t9 = sym.i264e_param2string;
    0x0002e500 lw a0, 0xed0(a0)                  |     a0 = *((a0 + 948));
    0x0002e504 addiu sp, sp, -0x38               |     
    0x0002e508 sw gp, 0x18(sp)                   |     *(var_18h) = gp;
    0x0002e50c sw s3, 0x30(sp)                   |     *(var_30h) = s3;
    0x0002e510 sw ra, 0x34(sp)                   |     *(var_34h) = ra;
    0x0002e514 sw s2, 0x2c(sp)                   |     *(var_2ch) = s2;
    0x0002e518 sw s1, 0x28(sp)                   |     *(var_28h) = s1;
    0x0002e51c sw s0, 0x24(sp)                   |     *(var_24h) = s0;
    0x0002e520 move s3, a1                       |     s3 = a1;
    0x0002e524 move a1, zero                     |     a1 = 0;
    0x0002e528 jalr t9                           |     t9 ();
    0x0002e52c lw gp, 0x18(sp)                   |     gp = *(var_18h);
                                                 |     if (v0 == 0) {
    0x0002e530 beqz v0, 0x2e620                  |         goto label_1;
                                                 |     }
    0x0002e534 lw t9, -0x7e58(gp)                |     t9 = sym.imp.strlen;
    0x0002e538 move a0, v0                       |     a0 = v0;
    0x0002e53c move s1, v0                       |     s1 = v0;
    0x0002e540 jalr t9                           |     t9 ();
    0x0002e544 lw gp, 0x18(sp)                   |     gp = *(var_18h);
    0x0002e548 addiu s2, v0, 0xc8                |     s2 = v0 + 0xc8;
    0x0002e54c lw t9, -0x76d8(gp)                |     t9 = sym.imp.malloc;
    0x0002e550 move a0, s2                       |     a0 = s2;
    0x0002e554 jalr t9                           |     t9 ();
    0x0002e558 move s0, v0                       |     s0 = v0;
    0x0002e55c lw gp, 0x18(sp)                   |     gp = *(var_18h);
                                                 |     if (v0 == 0) {
    0x0002e560 beqz v0, 0x2e640                  |         goto label_2;
                                                 |     }
    0x0002e564 lw v1, -0x7fc4(gp)                |     v1 = *((gp - 8177));
    0x0002e568 lw a1, -0x7fc4(gp)                |     a1 = *((gp - 8177));
    0x0002e56c lw a2, -0x7fc4(gp)                |     a2 = *((gp - 8177));
                                                 |     /* obj.uuid.5765 */
    0x0002e570 addiu v0, v1, 0x453c              |     v0 = v1 + 0x453c;
    0x0002e574 lw t1, 0x453c(v1)                 |     t1 = *((v1 + 4431));
    0x0002e578 lw t0, 4(v0)                      |     t0 = *((v0 + 1));
    0x0002e57c lw v1, 8(v0)                      |     v1 = *((v0 + 2));
    0x0002e580 lw a3, -0x7fc4(gp)                |     a3 = *((gp - 8177));
    0x0002e584 lw v0, 0xc(v0)                    |     v0 = *((v0 + 3));
    0x0002e588 lw t9, -0x7c30(gp)                |     t9 = sym.imp.sprintf
    0x0002e58c sw t1, (s0)                       |     *(s0) = t1;
    0x0002e590 sw t0, 4(s0)                      |     *((s0 + 1)) = t0;
    0x0002e594 sw v1, 8(s0)                      |     *((s0 + 2)) = v1;
                                                 |     /* str.i264e___version:__s_build:_s___H.264_MPEG_4_AVC_codec___options:_n_s */
    0x0002e598 addiu a1, a1, 0x3e68              |     a1 += 0x3e68;
                                                 |     /* esilref: '1.0' */
    0x0002e59c addiu a2, a2, 0x3eac              |     a2 += 0x3eac;
                                                 |     /* str.2015.1.1___2015.2.1 */
    0x0002e5a0 addiu a3, a3, 0x3eb0              |     a3 += 0x3eb0;
    0x0002e5a4 addiu a0, s0, 0x10                |     a0 = s0 + 0x10;
    0x0002e5a8 sw v0, 0xc(s0)                    |     *((s0 + 3)) = v0;
    0x0002e5ac sw s1, 0x10(sp)                   |     *(var_10h) = s1;
    0x0002e5b0 jalr t9                           |     t9 ();
    0x0002e5b4 lw gp, 0x18(sp)                   |     gp = *(var_18h);
    0x0002e5b8 lw t9, -0x7e58(gp)                |     t9 = sym.imp.strlen;
    0x0002e5bc move a0, s0                       |     a0 = s0;
    0x0002e5c0 jalr t9                           |     t9 ();
    0x0002e5c4 lw gp, 0x18(sp)                   |     gp = *(var_18h);
    0x0002e5c8 addiu a2, v0, 1                   |     a2 = v0 + 1;
    0x0002e5cc move a1, s0                       |     a1 = s0;
    0x0002e5d0 lw t9, -0x7c08(gp)                |     t9 = sym.i264e_sei_write;
    0x0002e5d4 addiu a3, zero, 5                 |     a3 = 5;
    0x0002e5d8 move a0, s3                       |     a0 = s3;
    0x0002e5dc jalr t9                           |     t9 ();
    0x0002e5e0 lw gp, 0x18(sp)                   |     gp = *(var_18h);
    0x0002e5e4 lw t9, -0x7f4c(gp)                |     t9 = *((gp - 8147));
    0x0002e5e8 move a0, s1                       |     a0 = s1;
    0x0002e5ec jalr t9                           |     t9 ();
    0x0002e5f0 lw gp, 0x18(sp)                   |     gp = *(var_18h);
    0x0002e5f4 lw t9, -0x7f4c(gp)                |     t9 = *((gp - 8147));
    0x0002e5f8 move a0, s0                       |     a0 = s0;
    0x0002e5fc jalr t9                           |     t9 ();
    0x0002e600 move v0, zero                     |     v0 = 0;
                                                 |     do {
                                                 | label_0:
    0x0002e604 lw ra, 0x34(sp)                   |         ra = *(var_34h);
    0x0002e608 lw s3, 0x30(sp)                   |         s3 = *(var_30h);
    0x0002e60c lw s2, 0x2c(sp)                   |         s2 = *(var_2ch);
    0x0002e610 lw s1, 0x28(sp)                   |         s1 = *(var_28h);
    0x0002e614 lw s0, 0x24(sp)                   |         s0 = *(var_24h);
    0x0002e618 addiu sp, sp, 0x38                |         
    0x0002e61c jr ra                             |         return v0;
                                                 | label_1:
    0x0002e620 lw a2, -0x7fc4(gp)                |         a2 = *((gp - 8177));
    0x0002e624 lw t9, -0x7528(gp)                |         t9 = sym.i264e_log;
    0x0002e628 move a0, zero                     |         a0 = 0;
    0x0002e62c move a1, zero                     |         a1 = 0;
                                                 |         /* str.param2string_failed_n */
    0x0002e630 addiu a2, a2, 0x3e30              |         a2 += 0x3e30;
    0x0002e634 jalr t9                           |         t9 ();
    0x0002e638 addiu v0, zero, -1                |         v0 = -1;
    0x0002e63c b 0x2e604                         |         
                                                 |     } while (1);
                                                 | label_2:
    0x0002e640 lw a2, -0x7fc4(gp)                |     a2 = *((gp - 8177));
    0x0002e644 lw t9, -0x7528(gp)                |     t9 = sym.i264e_log;
    0x0002e648 move a0, zero                     |     a0 = 0;
    0x0002e64c move a1, zero                     |     a1 = 0;
                                                 |     /* str.malloc_payload_size:_d_failed_n */
    0x0002e650 addiu a2, a2, 0x3e48              |     a2 += 0x3e48;
    0x0002e654 move a3, s2                       |     a3 = s2;
    0x0002e658 jalr t9                           |     t9 ();
    0x0002e65c lw gp, 0x18(sp)                   |     gp = *(var_18h);
    0x0002e660 lw t9, -0x7f4c(gp)                |     t9 = *((gp - 8147));
    0x0002e664 move a0, s1                       |     a0 = s1;
    0x0002e668 jalr t9                           |     t9 ();
    0x0002e66c addiu v0, zero, -1                |     v0 = -1;
    0x0002e670 b 0x2e604                         |     goto label_0;
                                                 | }
    ; assembly                                               | /* r2dec pseudo code output */
                                                             | /* /logs/firmware/unblob_extracted/firmware_extract/6225984-11075644.jffs2_new_extract/lib/libmp.so @ 0x82540 */
                                                             | #include <stdint.h>
                                                             |  
    ; (fcn) sym.ivs_processing_cleanup_push_handle ()        | void ivs_processing_cleanup_push_handle () {
    0x00082540 lui gp, 7                                     |     
    0x00082544 addiu gp, gp, -0x5130                         |     
    0x00082548 addu gp, gp, t9                               |     gp += t9;
    0x0008254c lw v0, 0x40(a0)                               |     v0 = *((a0 + 16));
                                                             |     if (v0 != 0) {
    0x00082550 beqz v0, 0x825e8                              |         
    0x00082554 nop                                           |         
    0x00082558 lw t9, -0x7adc(gp)                            |         t9 = sym.imp.IMP_Log_Get_Option;
    0x0008255c addiu sp, sp, -0x38                           |         
    0x00082560 sw ra, 0x34(sp)                               |         *(var_34h) = ra;
    0x00082564 sw gp, 0x28(sp)                               |         *(var_28h) = gp;
    0x00082568 sw s0, 0x30(sp)                               |         *(var_30h) = s0;
    0x0008256c move s0, a0                                   |         s0 = a0;
    0x00082570 jalr t9                                       |         t9 ();
    0x00082574 lw gp, 0x28(sp)                               |         gp = *(var_28h);
    0x00082578 addiu v1, zero, 0x66                          |         v1 = 0x66;
    0x0008257c addiu a0, zero, 3                             |         a0 = 3;
    0x00082580 lw a2, -0x7fc8(gp)                            |         a2 = *(gp);
    0x00082584 lw a1, -0x7fc8(gp)                            |         a1 = *(gp);
    0x00082588 lw a3, -0x7fc8(gp)                            |         a3 = *(gp);
                                                             |         /* str._home_ptkang_work_platform_isvp_20160504_e_proj_sdk_lv3_src_imp_ivs_ivs.c */
    0x0008258c addiu a2, a2, 0x2dc4                          |         a2 += 0x2dc4;
    0x00082590 sw a2, 0x10(sp)                               |         *(var_10h) = a2;
    0x00082594 lw a2, -0x7fc8(gp)                            |         a2 = *(gp);
    0x00082598 lw t9, -0x79d0(gp)                            |         t9 = sym.imp.imp_log_fun;
                                                             |         /* obj.__func__.6750 */
    0x0008259c addiu a1, a1, 0x33c0                          |         a1 += 0x33c0;
                                                             |         /* str._s__d__n */
    0x000825a0 addiu a2, a2, -0x2a64                         |         a2 += -0x2a64;
    0x000825a4 sw a1, 0x18(sp)                               |         *(var_18h) = a1;
    0x000825a8 sw a2, 0x1c(sp)                               |         *(var_1ch) = a2;
    0x000825ac sw a1, 0x20(sp)                               |         *(var_20h) = a1;
    0x000825b0 sw v1, 0x14(sp)                               |         *(var_14h) = v1;
    0x000825b4 sw v1, 0x24(sp)                               |         *(var_24h) = v1;
    0x000825b8 move a1, v0                                   |         a1 = v0;
    0x000825bc addiu a2, zero, 2                             |         a2 = 2;
                                                             |         /* esilref: 'IVS' */
    0x000825c0 addiu a3, a3, 0x2dc0                          |         a3 += aav.0x00002dc0;
    0x000825c4 jalr t9                                       |         t9 ();
    0x000825c8 lw gp, 0x28(sp)                               |         gp = *(var_28h);
    0x000825cc lw v0, 0x40(s0)                               |         v0 = *((s0 + 16));
    0x000825d0 lw ra, 0x34(sp)                               |         ra = *(var_34h);
    0x000825d4 lw s0, 0x30(sp)                               |         s0 = *(var_30h);
    0x000825d8 lw a0, 0x1c(v0)                               |         a0 = *((v0 + 7));
    0x000825dc lw t9, -0x768c(gp)                            |         t9 = sym.VBMUnlockFrameByVaddr;
    0x000825e0 addiu sp, sp, 0x38                            |         
    0x000825e4 jr t9                                         |         t9 ();
                                                             |     }
    0x000825e8 jr ra                                         |     return v0;
    0x000825ec nop                                           |     
                                                             | }
    ; assembly                           | /* r2dec pseudo code output */
                                         | /* /logs/firmware/unblob_extracted/firmware_extract/6225984-11075644.jffs2_new_extract/lib/libmp.so @ 0x825f0 */
                                         | #include <stdint.h>
                                         |  
    ; (fcn) sym.ivs_processing ()        | void ivs_processing () {
    0x000825f0 lui gp, 7                 |     
    0x000825f4 addiu gp, gp, -0x51e0     |     
    0x000825f8 addu gp, gp, t9           |     gp += t9;
    0x000825fc addiu sp, sp, -0xc8       |     
    0x00082600 sw ra, 0xc4(sp)           |     *(var_c4h) = ra;
    0x00082604 sw fp, 0xc0(sp)           |     *(var_c0h) = fp;
    0x00082608 sw s0, 0xa0(sp)           |     *(var_a0h) = s0;
    0x0008260c move fp, sp               |     fp = sp;
    0x00082610 sw gp, 0x38(sp)           |     *(var_38h) = gp;
    0x00082614 sw s7, 0xbc(sp)           |     *(var_bch) = s7;
    0x00082618 sw s6, 0xb8(sp)           |     *(var_b8h) = s6;
    0x0008261c sw s5, 0xb4(sp)           |     *(var_b4h) = s5;
    0x00082620 sw s4, 0xb0(sp)           |     *(var_b0h) = s4;
    0x00082624 sw s3, 0xac(sp)           |     *(var_ach) = s3;
    0x00082628 sw s2, 0xa8(sp)           |     *(var_a8h) = s2;
    0x0008262c sw s1, 0xa4(sp)           |     *(var_a4h) = s1;
    0x00082630 addiu sp, sp, -0x90       |     
    0x00082634 lw s0, -0x7fc8(gp)        |     s0 = *(gp);
    0x00082638 sw a0, 0xc8(fp)           |     *(arg_c8h) = a0;
    0x0008263c lw a1, -0x7fc8(gp)        |     a1 = *(gp);
    0x00082640 addiu v0, sp, 0x47        |     v0 = sp + 0x47;
    0x00082644 lw t9, -0x7c30(gp)        |     t9 = sym.imp.sprintf
    0x00082648 lw a2, 0xc8(fp)           |     a2 = *(arg_c8h);
    0x0008264c srl v0, v0, 4             |     v0 >>= 4;
    0x00082650 sll v0, v0, 4             |     v0 <<= 4;
    0x00082654 addiu a0, fp, 0x40        |     a0 = fp + 0x40;
                                         |     /* str.IVS__d___s */
    0x00082658 addiu a1, a1, 0x2e9c      |     a1 += 0x2e9c;
    0x0008265c sw v0, 0x9c(fp)           |     *(var_9ch) = v0;
                                         |     /* obj.__func__.6761 */
    0x00082660 addiu a3, s0, 0x33e4      |     a3 = s0 + 0x33e4;
    0x00082664 jalr t9                   |     t9 ();
    0x00082668 lw gp, 0x38(fp)           |     gp = *(var_38h);
    0x0008266c addiu a0, zero, 0xf       |     a0 = 0xf;
    0x00082670 lw t9, -0x7660(gp)        |     t9 = sym.imp.prctl;
    0x00082674 addiu a1, fp, 0x40        |     a1 = fp + 0x40;
    0x00082678 jalr t9                   |     t9 ();
    0x0008267c lw gp, 0x38(fp)           |     gp = *(var_38h);
    0x00082680 addiu v0, zero, -1        |     v0 = -1;
    0x00082684 sw v0, 0x8c(fp)           |     *(var_8ch) = v0;
    0x00082688 lw v0, -0x7fa8(gp)        |     v0 = *((gp - 8170));
    0x0008268c sw zero, 0x88(fp)         |     *(var_88h) = 0;
    0x00082690 lw v0, -0x5a20(v0)        |     v0 = *((v0 - 5768));
    0x00082694 sw v0, 0x90(fp)           |     *(var_90h) = v0;
                                         |     if (v0 == 0) {
    0x00082698 beqz v0, 0x82b6c          |         goto label_5;
                                         |     }
    0x0008269c lw a0, 0xc8(fp)           |     a0 = *(arg_c8h);
    0x000826a0 lw a1, 0x90(fp)           |     a1 = *(var_90h);
    0x000826a4 sll v1, a0, 3             |     v1 = a0 << 3;
    0x000826a8 sll v0, a0, 6             |     v0 = a0 << 6;
    0x000826ac addu v0, v1, v0           |     v0 = v1 + v0;
    0x000826b0 sw v0, 0x94(fp)           |     *(var_94h) = v0;
    0x000826b4 addu v0, a1, v0           |     v0 = a1 + v0;
    0x000826b8 addiu v0, v0, 0x14        |     v0 += 0x14;
    0x000826bc sw v0, 0x98(fp)           |     *(var_98h) = v0;
                                         | label_1:
    0x000826c0 lw a2, 0x90(fp)           |     a2 = *(var_90h);
    0x000826c4 lw a3, 0x94(fp)           |     a3 = *(var_94h);
    0x000826c8 lw t9, -0x7874(gp)        |     t9 = sym.imp.pthread_setcancelstate;
    0x000826cc addiu a0, zero, 1         |     a0 = 1;
    0x000826d0 addu s6, a2, a3           |     s6 = a2 + a3;
    0x000826d4 move a1, zero             |     a1 = 0;
    0x000826d8 jalr t9                   |     t9 ();
    0x000826dc lw v0, 0x44(s6)           |     v0 = *((s6 + 17));
    0x000826e0 lw gp, 0x38(fp)           |     gp = *(var_38h);
                                         |     if (v0 == 0) {
    0x000826e4 beqz v0, 0x828dc          |         goto label_6;
                                         |     }
    0x000826e8 lui s0, 0x7735            |     s0 = 0x77350000;
    0x000826ec move s3, s6               |     s3 = s6;
    0x000826f0 sw zero, 0x88(fp)         |     *(var_88h) = 0;
    0x000826f4 addiu s4, zero, 1         |     s4 = 1;
    0x000826f8 ori s0, s0, 0x9400        |     s0 |= 0x9400;
    0x000826fc addiu s5, s6, 4           |     s5 = s6 + 4;
                                         |     do {
                                         | label_0:
    0x00082700 lw v0, 0x34(s3)           |         v0 = *((s3 + 13));
    0x00082704 lw t9, -0x743c(gp)        |         t9 = sym._MIPS_STUBS_;
                                         |         if (v0 != s4) {
    0x00082708 bne v0, s4, 0x82820       |             goto label_7;
                                         |         }
    0x0008270c move a0, zero             |         a0 = 0;
    0x00082710 addiu a1, fp, 0x80        |         a1 = fp + 0x80;
    0x00082714 jalr t9                   |         t9 ();
    0x00082718 lw v0, 0x84(fp)           |         v0 = *(var_84h);
    0x0008271c lw gp, 0x38(fp)           |         gp = *(var_38h);
    0x00082720 lui a2, 0x3b9a            |         a2 = 0x3b9a0000;
    0x00082724 addu s2, v0, s0           |         s2 = v0 + s0;
    0x00082728 lw t9, -0x7fb4(gp)        |         t9 = sym.__divdi3;
    0x0008272c sra v1, v0, 0x1f          |         v1 = v0 >> 0x1f;
    0x00082730 sltu v0, s2, v0           |         v0 = (s2 < v0) ? 1 : 0;
    0x00082734 addu s7, v0, v1           |         s7 = v0 + v1;
    0x00082738 ori a2, a2, 0xca00        |         a2 |= 0xca00;
    0x0008273c move a3, zero             |         a3 = 0;
    0x00082740 move a0, s2               |         a0 = s2;
    0x00082744 move a1, s7               |         a1 = s7;
    0x00082748 jalr t9                   |         t9 ();
    0x0008274c lw gp, 0x38(fp)           |         gp = *(var_38h);
    0x00082750 lw v1, 0x80(fp)           |         v1 = *(var_80h);
    0x00082754 lui a2, 0x3b9a            |         a2 = 0x3b9a0000;
    0x00082758 lw t9, -0x7fa0(gp)        |         t9 = sym.__moddi3;
    0x0008275c addu v0, v1, v0           |         v0 = v1 + v0;
    0x00082760 move a0, s2               |         a0 = s2;
    0x00082764 move a1, s7               |         a1 = s7;
    0x00082768 ori a2, a2, 0xca00        |         a2 |= 0xca00;
    0x0008276c move a3, zero             |         a3 = 0;
    0x00082770 sw v0, 0x80(fp)           |         *(var_80h) = v0;
    0x00082774 jalr t9                   |         t9 ();
    0x00082778 lw gp, 0x38(fp)           |         gp = *(var_38h);
    0x0008277c move a0, s5               |         a0 = s5;
    0x00082780 addiu a1, fp, 0x80        |         a1 = fp + 0x80;
    0x00082784 lw t9, -0x758c(gp)        |         t9 = sym.imp.sem_timedwait;
    0x00082788 sw v0, 0x84(fp)           |         *(var_84h) = v0;
    0x0008278c jalr t9                   |         t9 ();
    0x00082790 sw v0, 0x88(fp)           |         *(var_88h) = v0;
    0x00082794 lw gp, 0x38(fp)           |         gp = *(var_38h);
                                         |         if (v0 < 0) {
    0x00082798 bltz v0, 0x827bc          |             goto label_8;
                                         |         }
    0x0008279c lw v0, 0x88(fp)           |         v0 = *(var_88h);
    0x000827a0 bnez v0, 0x82700          |         
                                         |     } while (v0 != 0);
    0x000827a4 nop                       |     
    0x000827a8 lw v0, 0x34(s6)           |     v0 = *((s6 + 13));
    0x000827ac lw v1, 0x90(fp)           |     v1 = *(var_90h);
                                         |     if (v0 != s4) {
    0x000827b0 bne v0, s4, 0x8282c       |         goto label_9;
                                         |     }
    0x000827b4 lw a1, 0x90(fp)           |     a1 = *(var_90h);
    0x000827b8 b 0x8295c                 |     goto label_10;
                                         | label_8:
    0x000827bc lw t9, -0x7dc4(gp)        |     t9 = sym.imp.__errno_location;
    0x000827c0 jalr t9                   |     t9 ();
    0x000827c4 nop                       |     
    0x000827c8 lw v0, (v0)               |     v0 = *(v0);
    0x000827cc lw gp, 0x38(fp)           |     gp = *(var_38h);
    0x000827d0 sw v0, 0x8c(fp)           |     *(var_8ch) = v0;
    0x000827d4 lw a3, 0x8c(fp)           |     a3 = *(var_8ch);
    0x000827d8 addiu v0, zero, 0x91      |     v0 = 0x91;
    0x000827dc addiu v0, zero, 4         |     v0 = 4;
                                         |     if (a3 == v0) {
    0x000827e0 beq a3, v0, 0x82700       |         goto label_0;
                                         |     }
                                         |     if (a3 == v0) {
    0x000827e4 beq a3, v0, 0x82700       |         goto label_0;
                                         |     }
    0x000827e8 nop                       |     
                                         |     do {
                                         | label_3:
    0x000827ec lw v1, 0x90(fp)           |         v1 = *(var_90h);
                                         | label_2:
    0x000827f0 lw a2, 0x94(fp)           |         a2 = *(var_94h);
    0x000827f4 lw t9, -0x7874(gp)        |         t9 = sym.imp.pthread_setcancelstate;
    0x000827f8 move a0, zero             |         a0 = 0;
    0x000827fc addu s0, v1, a2           |         s0 = v1 + a2;
    0x00082800 move a1, zero             |         a1 = 0;
    0x00082804 jalr t9                   |         t9 ();
    0x00082808 lw v1, 0x34(s0)           |         v1 = *((s0 + 13));
    0x0008280c addiu v0, zero, 1         |         v0 = 1;
    0x00082810 lw gp, 0x38(fp)           |         gp = *(var_38h);
                                         |         if (v1 == v0) {
    0x00082814 beq v1, v0, 0x829e8       |             goto label_11;
                                         |         }
    0x00082818 sw zero, 0x44(s0)         |         *((s0 + 17)) = 0;
    0x0008281c b 0x826c0                 |         goto label_1;
                                         | label_7:
    0x00082820 lw v0, 0x88(fp)           |         v0 = *(var_88h);
    0x00082824 lw v1, 0x90(fp)           |         v1 = *(var_90h);
    0x00082828 bltz v0, 0x827ec          |         
                                         |     } while (v0 < 0);
                                         | label_9:
    0x0008282c lw a0, 0x94(fp)           |     a0 = *(var_94h);
    0x00082830 addu s0, v1, a0           |     s0 = v1 + a0;
    0x00082834 lw v0, 0x44(s0)           |     v0 = *((s0 + 17));
    0x00082838 lw v0, 0x1c(v0)           |     v0 = *((v0 + 7));
    0x0008283c lw v1, 0x90(fp)           |     v1 = *(var_90h);
                                         |     if (v0 == 0) {
    0x00082840 beqz v0, 0x827f0          |         goto label_2;
                                         |     }
    0x00082844 lw t9, -0x7adc(gp)        |     t9 = sym.imp.IMP_Log_Get_Option;
    0x00082848 jalr t9                   |     t9 ();
    0x0008284c nop                       |     
    0x00082850 lw gp, 0x38(fp)           |     gp = *(var_38h);
    0x00082854 lw v1, 0x44(s0)           |     v1 = *((s0 + 17));
    0x00082858 addiu a0, zero, 0x99      |     a0 = 0x99;
    0x0008285c lw a1, -0x7fc8(gp)        |     a1 = *(gp);
    0x00082860 lw a3, -0x7fc8(gp)        |     a3 = *(gp);
    0x00082864 sw a0, 0x14(sp)           |     *(var_14h) = a0;
                                         |     /* str._home_ptkang_work_platform_isvp_20160504_e_proj_sdk_lv3_src_imp_ivs_ivs.c */
    0x00082868 addiu a2, a1, 0x2dc4      |     a2 = a1 + 0x2dc4;
    0x0008286c sw a2, 0x10(sp)           |     *(var_10h) = a2;
    0x00082870 lw a2, -0x7fc8(gp)        |     a2 = *(gp);
                                         |     /* str._s__d_:unlock_has_post_frame_pool_idx_d_idx_d__ret_d_n */
    0x00082874 addiu a1, a3, 0x2ea8      |     a1 = a3 + 0x2ea8;
    0x00082878 sw a1, 0x1c(sp)           |     *(var_1ch) = a1;
                                         |     /* obj.__func__.6761 */
    0x0008287c addiu a2, a2, 0x33e4      |     a2 += 0x33e4;
    0x00082880 sw a2, 0x18(sp)           |     *(var_18h) = a2;
    0x00082884 sw a2, 0x20(sp)           |     *(var_20h_2) = a2;
    0x00082888 sw a0, 0x24(sp)           |     *(var_24h) = a0;
    0x0008288c lw a0, 4(v1)              |     a0 = *((v1 + 1));
    0x00082890 move a1, v0               |     a1 = v0;
    0x00082894 lw a3, -0x7fc8(gp)        |     a3 = *(gp);
    0x00082898 sw a0, 0x28(sp)           |     *(var_28h) = a0;
    0x0008289c lw v1, (v1)               |     v1 = *(v1);
    0x000828a0 lw v0, 0x88(fp)           |     v0 = *(var_88h);
    0x000828a4 lw t9, -0x79d0(gp)        |     t9 = sym.imp.imp_log_fun;
    0x000828a8 addiu a0, zero, 4         |     a0 = 4;
    0x000828ac addiu a2, zero, 2         |     a2 = 2;
                                         |     /* esilref: 'IVS' */
    0x000828b0 addiu a3, a3, 0x2dc0      |     a3 += aav.0x00002dc0;
    0x000828b4 sw v1, 0x2c(sp)           |     *(var_2ch_2) = v1;
    0x000828b8 sw v0, 0x30(sp)           |     *(var_30h_2) = v0;
    0x000828bc jalr t9                   |     t9 ();
    0x000828c0 lw gp, 0x38(fp)           |     gp = *(var_38h);
    0x000828c4 lw v0, 0x44(s0)           |     v0 = *((s0 + 17));
    0x000828c8 lw t9, -0x768c(gp)        |     t9 = sym.VBMUnlockFrameByVaddr;
    0x000828cc lw a0, 0x1c(v0)           |     a0 = *((v0 + 7));
    0x000828d0 jalr t9                   |     t9 ();
    0x000828d4 lw gp, 0x38(fp)           |     gp = *(var_38h);
    0x000828d8 b 0x827ec                 |     goto label_3;
                                         | label_6:
    0x000828dc lw t9, -0x7844(gp)        |     t9 = sym.imp.__sigsetjmp;
    0x000828e0 lw a0, 0x9c(fp)           |     a0 = *(var_9ch);
    0x000828e4 move a1, zero             |     a1 = 0;
    0x000828e8 jalr t9                   |     t9 ();
    0x000828ec lw gp, 0x38(fp)           |     gp = *(var_38h);
                                         |     if (v0 != 0) {
    0x000828f0 bnez v0, 0x82bc4          |         goto label_12;
                                         |     }
    0x000828f4 lw t9, -0x7c18(gp)        |     t9 = sym.imp.__pthread_register_cancel;
    0x000828f8 lw a0, 0x9c(fp)           |     a0 = *(var_9ch);
    0x000828fc jalr t9                   |     t9 ();
    0x00082900 lw gp, 0x38(fp)           |     gp = *(var_38h);
    0x00082904 move a1, zero             |     a1 = 0;
    0x00082908 lw t9, -0x7874(gp)        |     t9 = sym.imp.pthread_setcancelstate;
    0x0008290c move a0, zero             |     a0 = 0;
    0x00082910 jalr t9                   |     t9 ();
    0x00082914 lw gp, 0x38(fp)           |     gp = *(var_38h);
    0x00082918 lw a2, 0x94(fp)           |     a2 = *(var_94h);
    0x0008291c lw a1, 0x90(fp)           |     a1 = *(var_90h);
    0x00082920 lw t9, -0x771c(gp)        |     t9 = sym.imp.sem_wait;
    0x00082924 addu a0, a1, a2           |     a0 = a1 + a2;
    0x00082928 addiu a0, a0, 4           |     a0 += 4;
    0x0008292c jalr t9                   |     t9 ();
    0x00082930 lw gp, 0x38(fp)           |     gp = *(var_38h);
    0x00082934 addiu a0, zero, 1         |     a0 = 1;
    0x00082938 lw t9, -0x7874(gp)        |     t9 = sym.imp.pthread_setcancelstate;
    0x0008293c move a1, zero             |     a1 = 0;
    0x00082940 jalr t9                   |     t9 ();
    0x00082944 lw gp, 0x38(fp)           |     gp = *(var_38h);
    0x00082948 lw t9, -0x7a0c(gp)        |     t9 = sym.imp.__pthread_unregister_cancel;
    0x0008294c lw a0, 0x9c(fp)           |     a0 = *(var_9ch);
    0x00082950 jalr t9                   |     t9 ();
    0x00082954 lw gp, 0x38(fp)           |     gp = *(var_38h);
    0x00082958 lw a1, 0x90(fp)           |     a1 = *(var_90h);
                                         | label_10:
    0x0008295c lw a2, 0x94(fp)           |     a2 = *(var_94h);
    0x00082960 addu v0, a1, a2           |     v0 = a1 + a2;
    0x00082964 lw a0, 0x38(v0)           |     a0 = *((v0 + 14));
    0x00082968 lw t9, 0x18(a0)           |     t9 = *((a0 + 6));
                                         |     if (t9 == 0) {
    0x0008296c beqz t9, 0x82aa0          |         goto label_13;
                                         |     }
    0x00082970 nop                       |     
    0x00082974 lw a1, 0x44(v0)           |     a1 = *((v0 + 17));
    0x00082978 jalr t9                   |     t9 ();
    0x0008297c sw v0, 0x88(fp)           |     *(var_88h) = v0;
    0x00082980 lw gp, 0x38(fp)           |     gp = *(var_38h);
                                         |     if (v0 < 0) {
    0x00082984 bltz v0, 0x82ab8          |         goto label_14;
                                         |     }
                                         | label_4:
    0x00082988 lw a0, 0x94(fp)           |     a0 = *(var_94h);
    0x0008298c lw v1, 0x90(fp)           |     v1 = *(var_90h);
    0x00082990 lw t9, -0x7874(gp)        |     t9 = sym.imp.pthread_setcancelstate;
    0x00082994 move a1, zero             |     a1 = 0;
    0x00082998 addu v0, v1, a0           |     v0 = v1 + a0;
    0x0008299c sw zero, 0x44(v0)         |     *((v0 + 17)) = 0;
    0x000829a0 move a0, zero             |     a0 = 0;
    0x000829a4 jalr t9                   |     t9 ();
    0x000829a8 lw a1, 0x88(fp)           |     a1 = *(var_88h);
    0x000829ac lw gp, 0x38(fp)           |     gp = *(var_38h);
    0x000829b0 beqz a1, 0x829c8          |     
                                         |     while (1) {
    0x000829b4 lw t9, -0x772c(gp)        |         t9 = sym.imp.sem_post;
    0x000829b8 lw a0, 0x98(fp)           |         a0 = *(var_98h);
    0x000829bc jalr t9                   |         t9 ();
    0x000829c0 lw gp, 0x38(fp)           |         gp = *(var_38h);
    0x000829c4 b 0x826c0                 |         goto label_1;
    0x000829c8 lw a2, 0x90(fp)           |         a2 = *(var_90h);
    0x000829cc lw a3, 0x94(fp)           |         a3 = *(var_94h);
    0x000829d0 lw t9, -0x772c(gp)        |         t9 = sym.imp.sem_post;
    0x000829d4 addu a0, a2, a3           |         a0 = a2 + a3;
    0x000829d8 addiu a0, a0, 0x24        |         a0 += 0x24;
    0x000829dc jalr t9                   |         t9 ();
    0x000829e0 lw gp, 0x38(fp)           |         gp = *(var_38h);
    0x000829e4 b 0x829b4                 |         
                                         |     }
                                         | label_11:
    0x000829e8 lw t9, -0x7adc(gp)        |     t9 = sym.imp.IMP_Log_Get_Option;
    0x000829ec jalr t9                   |     t9 ();
    0x000829f0 nop                       |     
    0x000829f4 lw gp, 0x38(fp)           |     gp = *(var_38h);
    0x000829f8 lw a3, 0xc8(fp)           |     a3 = *(arg_c8h);
    0x000829fc addiu v1, zero, 0xa2      |     v1 = 0xa2;
    0x00082a00 lw a1, -0x7fc8(gp)        |     a1 = *(gp);
    0x00082a04 lw a0, -0x7fc8(gp)        |     a0 = *(gp);
    0x00082a08 sw a3, 0x28(sp)           |     *(var_28h) = a3;
                                         |     /* str._home_ptkang_work_platform_isvp_20160504_e_proj_sdk_lv3_src_imp_ivs_ivs.c */
    0x00082a0c addiu a1, a1, 0x2dc4      |     a1 += 0x2dc4;
    0x00082a10 sw a1, 0x10(sp)           |     *(var_10h) = a1;
    0x00082a14 lw a1, -0x7fc8(gp)        |     a1 = *(gp);
                                         |     /* obj.__func__.6761 */
    0x00082a18 addiu a0, a0, 0x33e4      |     a0 += 0x33e4;
    0x00082a1c sw a0, 0x18(sp)           |     *(var_18h) = a0;
                                         |     /* str._s__d_:ivs_chn__d_.enable_d_is_stoped__ret_d__errnum_d_n */
    0x00082a20 addiu a1, a1, 0x2ee4      |     a1 += 0x2ee4;
    0x00082a24 sw a1, 0x1c(sp)           |     *(var_1ch) = a1;
    0x00082a28 sw a0, 0x20(sp)           |     *(var_20h_2) = a0;
    0x00082a2c sw v1, 0x14(sp)           |     *(var_14h) = v1;
    0x00082a30 sw v1, 0x24(sp)           |     *(var_24h) = v1;
    0x00082a34 lw v1, 0x34(s0)           |     v1 = *((s0 + 13));
    0x00082a38 lw a0, 0x8c(fp)           |     a0 = *(var_8ch);
    0x00082a3c lw a3, -0x7fc8(gp)        |     a3 = *(gp);
    0x00082a40 sw v1, 0x2c(sp)           |     *(var_2ch_2) = v1;
    0x00082a44 lw v1, 0x88(fp)           |     v1 = *(var_88h);
    0x00082a48 lw t9, -0x79d0(gp)        |     t9 = sym.imp.imp_log_fun;
    0x00082a4c sw a0, 0x34(sp)           |     *(var_34h_2) = a0;
    0x00082a50 sw v1, 0x30(sp)           |     *(var_30h_2) = v1;
    0x00082a54 addiu a0, zero, 6         |     a0 = 6;
    0x00082a58 move a1, v0               |     a1 = v0;
    0x00082a5c addiu a2, zero, 2         |     a2 = 2;
                                         |     /* esilref: 'IVS' */
    0x00082a60 addiu a3, a3, 0x2dc0      |     a3 += aav.0x00002dc0;
    0x00082a64 jalr t9                   |     t9 ();
    0x00082a68 move sp, fp               |     
                                         |     do {
    0x00082a6c lw ra, 0xc4(sp)           |         ra = *(var_c4h);
    0x00082a70 lw fp, 0xc0(sp)           |         fp = *(var_c0h);
    0x00082a74 lw s7, 0xbc(sp)           |         s7 = *(var_bch);
    0x00082a78 lw s6, 0xb8(sp)           |         s6 = *(var_b8h);
    0x00082a7c lw s5, 0xb4(sp)           |         s5 = *(var_b4h);
    0x00082a80 lw s4, 0xb0(sp)           |         s4 = *(var_b0h);
    0x00082a84 lw s3, 0xac(sp)           |         s3 = *(var_ach);
    0x00082a88 lw s2, 0xa8(sp)           |         s2 = *(var_a8h);
    0x00082a8c lw s1, 0xa4(sp)           |         s1 = *(var_a4h);
    0x00082a90 lw s0, 0xa0(sp)           |         s0 = *(var_a0h);
    0x00082a94 move v0, zero             |         v0 = 0;
    0x00082a98 addiu sp, sp, 0xc8        |         
    0x00082a9c jr ra                     |         return v0;
                                         | label_13:
    0x00082aa0 lw v0, 0x44(v0)           |         v0 = *((v0 + 17));
    0x00082aa4 lw t9, -0x768c(gp)        |         t9 = sym.VBMUnlockFrameByVaddr;
    0x00082aa8 lw a0, 0x1c(v0)           |         a0 = *((v0 + 7));
    0x00082aac jalr t9                   |         t9 ();
    0x00082ab0 lw gp, 0x38(fp)           |         gp = *(var_38h);
    0x00082ab4 b 0x82988                 |         goto label_4;
                                         | label_14:
    0x00082ab8 lw t9, -0x7874(gp)        |         t9 = sym.imp.pthread_setcancelstate;
    0x00082abc move a0, zero             |         a0 = 0;
    0x00082ac0 move a1, zero             |         a1 = 0;
    0x00082ac4 jalr t9                   |         t9 ();
    0x00082ac8 lw gp, 0x38(fp)           |         gp = *(var_38h);
    0x00082acc lw t9, -0x7adc(gp)        |         t9 = sym.imp.IMP_Log_Get_Option;
    0x00082ad0 jalr t9                   |         t9 ();
    0x00082ad4 nop                       |         
    0x00082ad8 lw gp, 0x38(fp)           |         gp = *(var_38h);
    0x00082adc lw a3, 0xc8(fp)           |         a3 = *(arg_c8h);
    0x00082ae0 addiu v1, zero, 0xbc      |         v1 = 0xbc;
    0x00082ae4 lw a1, -0x7fc8(gp)        |         a1 = *(gp);
    0x00082ae8 lw a0, -0x7fc8(gp)        |         a0 = *(gp);
    0x00082aec sw a3, 0x28(sp)           |         *(var_28h) = a3;
                                         |         /* str._home_ptkang_work_platform_isvp_20160504_e_proj_sdk_lv3_src_imp_ivs_ivs.c */
    0x00082af0 addiu a1, a1, 0x2dc4      |         a1 += 0x2dc4;
    0x00082af4 sw a1, 0x10(sp)           |         *(var_10h) = a1;
    0x00082af8 lw a1, -0x7fc8(gp)        |         a1 = *(gp);
    0x00082afc lw a3, -0x7fc8(gp)        |         a3 = *(gp);
    0x00082b00 lw t9, -0x79d0(gp)        |         t9 = sym.imp.imp_log_fun;
                                         |         /* obj.__func__.6761 */
    0x00082b04 addiu a0, a0, 0x33e4      |         a0 += 0x33e4;
                                         |         /* str._s__d_:_chnNum_d_ivs_process_failed_n */
    0x00082b08 addiu a1, a1, 0x2f20      |         a1 += 0x2f20;
    0x00082b0c sw v1, 0x14(sp)           |         *(var_14h) = v1;
    0x00082b10 sw a0, 0x18(sp)           |         *(var_18h) = a0;
    0x00082b14 sw a1, 0x1c(sp)           |         *(var_1ch) = a1;
    0x00082b18 sw a0, 0x20(sp)           |         *(var_20h_2) = a0;
    0x00082b1c sw v1, 0x24(sp)           |         *(var_24h) = v1;
    0x00082b20 move a1, v0               |         a1 = v0;
    0x00082b24 addiu a0, zero, 6         |         a0 = 6;
    0x00082b28 addiu a2, zero, 2         |         a2 = 2;
                                         |         /* esilref: 'IVS' */
    0x00082b2c addiu a3, a3, 0x2dc0      |         a3 += aav.0x00002dc0;
    0x00082b30 jalr t9                   |         t9 ();
    0x00082b34 move sp, fp               |         
    0x00082b38 lw ra, 0xc4(sp)           |         ra = *(var_c4h);
    0x00082b3c lw fp, 0xc0(sp)           |         fp = *(var_c0h);
    0x00082b40 lw s7, 0xbc(sp)           |         s7 = *(var_bch);
    0x00082b44 lw s6, 0xb8(sp)           |         s6 = *(var_b8h);
    0x00082b48 lw s5, 0xb4(sp)           |         s5 = *(var_b4h);
    0x00082b4c lw s4, 0xb0(sp)           |         s4 = *(var_b0h);
    0x00082b50 lw s3, 0xac(sp)           |         s3 = *(var_ach);
    0x00082b54 lw s2, 0xa8(sp)           |         s2 = *(var_a8h);
    0x00082b58 lw s1, 0xa4(sp)           |         s1 = *(var_a4h);
    0x00082b5c lw s0, 0xa0(sp)           |         s0 = *(var_a0h);
    0x00082b60 move v0, zero             |         v0 = 0;
    0x00082b64 addiu sp, sp, 0xc8        |         
    0x00082b68 jr ra                     |         return v0;
                                         | label_5:
    0x00082b6c lw t9, -0x7adc(gp)        |         t9 = sym.imp.IMP_Log_Get_Option;
                                         |         /* obj.__func__.6761 */
    0x00082b70 addiu s0, s0, 0x33e4      |         s0 += 0x33e4;
    0x00082b74 jalr t9                   |         t9 ();
    0x00082b78 lw gp, 0x38(fp)           |         gp = *(var_38h);
    0x00082b7c sw s0, 0x18(sp)           |         *(var_18h) = s0;
    0x00082b80 addiu a0, zero, 6         |         a0 = 6;
    0x00082b84 lw v1, -0x7fc8(gp)        |         v1 = *(gp);
    0x00082b88 lw a3, -0x7fc8(gp)        |         a3 = *(gp);
    0x00082b8c lw t9, -0x79d0(gp)        |         t9 = sym.imp.imp_log_fun;
                                         |         /* str._home_ptkang_work_platform_isvp_20160504_e_proj_sdk_lv3_src_imp_ivs_ivs.c */
    0x00082b90 addiu v1, v1, 0x2dc4      |         v1 += 0x2dc4;
    0x00082b94 sw v1, 0x10(sp)           |         *(var_10h) = v1;
    0x00082b98 addiu v1, zero, 0x7c      |         v1 = 0x7c;
    0x00082b9c sw v1, 0x14(sp)           |         *(var_14h) = v1;
    0x00082ba0 lw v1, -0x7fc8(gp)        |         v1 = *(gp);
    0x00082ba4 move a1, v0               |         a1 = v0;
    0x00082ba8 addiu a2, zero, 2         |         a2 = 2;
                                         |         /* str.ivs_create_group_error___n */
    0x00082bac addiu v1, v1, 0x2e10      |         v1 += 0x2e10;
    0x00082bb0 sw v1, 0x1c(sp)           |         *(var_1ch) = v1;
                                         |         /* esilref: 'IVS' */
    0x00082bb4 addiu a3, a3, 0x2dc0      |         a3 += aav.0x00002dc0;
    0x00082bb8 jalr t9                   |         t9 ();
    0x00082bbc move sp, fp               |         
    0x00082bc0 b 0x82a6c                 |         
                                         |     } while (1);
                                         | label_12:
    0x00082bc4 lw v0, 0xc8(fp)           |     v0 = *(arg_c8h);
    0x00082bc8 lw v1, 0x90(fp)           |     v1 = *(var_90h);
    0x00082bcc lw t9, -0x7f0c(gp)        |     t9 = sym.ivs_processing_cleanup_push_handle;
    0x00082bd0 sll a0, v0, 3             |     a0 = v0 << 3;
    0x00082bd4 sll v0, v0, 6             |     v0 <<= 6;
    0x00082bd8 addu a0, a0, v0           |     a0 += v0;
    0x00082bdc addu a0, v1, a0           |     a0 = v1 + a0;
    0x00082be0 addiu a0, a0, 4           |     a0 += 4;
    0x00082be4 jalr t9                   |     t9 ();
    0x00082be8 lw gp, 0x38(fp)           |     gp = *(var_38h);
    0x00082bec lw t9, -0x7790(gp)        |     t9 = sym.imp.__pthread_unwind_next;
    0x00082bf0 lw a0, 0x9c(fp)           |     a0 = *(var_9ch);
    0x00082bf4 jalr t9                   |     return t9 ();
                                         | }
    ; assembly                           | /* r2dec pseudo code output */
                                         | /* /logs/firmware/unblob_extracted/firmware_extract/6225984-11075644.jffs2_new_extract/lib/libmp.so @ 0x8e4e0 */
                                         | #include <stdint.h>
                                         |  
    ; (fcn) sym.json_escape ()           | void json_escape () {
    0x0008e4e0 lui gp, 6                 |     
    0x0008e4e4 addiu gp, gp, -0x10d0     |     
    0x0008e4e8 addu gp, gp, t9           |     gp += t9;
    0x0008e4ec addiu sp, sp, -0x48       |     
    0x0008e4f0 sw gp, 0x10(sp)           |     *(var_10h) = gp;
    0x0008e4f4 sw ra, 0x44(sp)           |     *(var_44h) = ra;
    0x0008e4f8 sw s7, 0x40(sp)           |     *(var_40h) = s7;
    0x0008e4fc sw s6, 0x3c(sp)           |     *(var_3ch) = s6;
    0x0008e500 sw s5, 0x38(sp)           |     *(var_38h) = s5;
    0x0008e504 sw s4, 0x34(sp)           |     *(var_34h) = s4;
    0x0008e508 sw s3, 0x30(sp)           |     *(var_30h) = s3;
    0x0008e50c sw s2, 0x2c(sp)           |     *(var_2ch) = s2;
    0x0008e510 sw s1, 0x28(sp)           |     *(var_28h) = s1;
    0x0008e514 sw s0, 0x24(sp)           |     *(var_24h) = s0;
    0x0008e518 lw t9, -0x7e58(gp)        |     t9 = sym.imp.strlen;
                                         |     if (a0 == 0) {
    0x0008e51c beqz a0, 0x8e74c          |         goto label_2;
                                         |     }
    0x0008e520 move s0, a0               |     s0 = a0;
    0x0008e524 jalr t9                   |     t9 ();
    0x0008e528 lw gp, 0x10(sp)           |     gp = *(var_10h);
    0x0008e52c move a0, v0               |     a0 = v0;
    0x0008e530 lw t9, -0x7f5c(gp)        |     t9 = sym.rcs_create;
    0x0008e534 move s3, v0               |     s3 = v0;
    0x0008e538 jalr t9                   |     t9 ();
    0x0008e53c move s1, v0               |     s1 = v0;
    0x0008e540 lw gp, 0x10(sp)           |     gp = *(var_10h);
                                         |     if (v0 == 0) {
    0x0008e544 beqz v0, 0x8e744          |         goto label_3;
                                         |     }
    0x0008e548 addu s2, s0, s3           |     s2 = s0 + s3;
                                         |     if (s3 == 0) {
    0x0008e54c beqz s3, 0x8e624          |         goto label_4;
                                         |     }
    0x0008e550 lw s3, -0x7fc8(gp)        |     s3 = *(gp);
    0x0008e554 lw s4, -0x7fc8(gp)        |     s4 = *(gp);
    0x0008e558 lw s6, -0x7fc8(gp)        |     s6 = *(gp);
    0x0008e55c lw s7, -0x7fc8(gp)        |     s7 = *(gp);
    0x0008e560 lw s5, -0x7fc8(gp)        |     s5 = *(gp);
                                         |     /* esilref: '\\' */
    0x0008e564 addiu s3, s3, 0x4960      |     s3 += 0x4960;
                                         |     /* str.u_4.4x */
    0x0008e568 addiu s4, s4, 0x4980      |     s4 += 0x4980;
                                         |     /* esilref: '\r' */
    0x0008e56c addiu s6, s6, 0x4978      |     s6 += 0x4978;
    0x0008e570 b 0x8e5f4                 |     
                                         |     while (a2 != v0) {
    0x0008e574 addiu v0, zero, 0x2f      |         v0 = 0x2f;
                                         |         if (a2 == v0) {
    0x0008e578 beq a2, v0, 0x8e674       |             goto label_5;
                                         |         }
    0x0008e57c addiu v0, zero, 8         |         v0 = 8;
                                         |         if (a2 == v0) {
    0x0008e580 beq a2, v0, 0x8e694       |             goto label_6;
                                         |         }
    0x0008e584 addiu v0, zero, 0xc       |         v0 = 0xc;
                                         |         if (a2 == v0) {
    0x0008e588 beq a2, v0, 0x8e6b4       |             goto label_7;
                                         |         }
    0x0008e58c addiu v0, zero, 0xa       |         v0 = 0xa;
                                         |         if (a2 == v0) {
    0x0008e590 beq a2, v0, 0x8e6d4       |             goto label_8;
                                         |         }
    0x0008e594 addiu v0, zero, 0xd       |         v0 = 0xd;
                                         |         if (a2 == v0) {
    0x0008e598 beq a2, v0, 0x8e6f4       |             goto label_9;
                                         |         }
    0x0008e59c addiu v0, zero, 9         |         v0 = 9;
                                         |         if (a2 == v0) {
    0x0008e5a0 beq a2, v0, 0x8e710       |             goto label_10;
                                         |         }
    0x0008e5a4 lw t9, -0x74f4(gp)        |         t9 = sym.rcs_catcs;
                                         |         if (a2 == v0) {
    0x0008e5a8 beq a2, v0, 0x8e72c       |             goto label_11;
                                         |         }
    0x0008e5ac slti v0, a2, 0x20         |         v0 = (a2 < 0x20) ? 1 : 0;
                                         |         if (a2 < 0) {
    0x0008e5b0 bltz a2, 0x8e65c          |             goto label_12;
                                         |         }
    0x0008e5b4 lw t9, -0x787c(gp)        |         t9 = sym.rcs_catc;
                                         |         if (v0 == 0) {
    0x0008e5b8 beqz v0, 0x8e660          |             goto label_13;
                                         |         }
    0x0008e5bc lw t9, -0x7c30(gp)        |         t9 = sym.imp.sprintf
    0x0008e5c0 addiu a0, sp, 0x18        |         a0 = sp + 0x18;
    0x0008e5c4 move a1, s4               |         a1 = s4;
    0x0008e5c8 jalr t9                   |         t9 ();
    0x0008e5cc lw gp, 0x10(sp)           |         gp = *(var_10h);
    0x0008e5d0 move a0, s1               |         a0 = s1;
    0x0008e5d4 addiu a1, sp, 0x18        |         a1 = sp + 0x18;
    0x0008e5d8 lw t9, -0x74f4(gp)        |         t9 = sym.rcs_catcs;
    0x0008e5dc addiu a2, zero, 6         |         a2 = 6;
    0x0008e5e0 jalr t9                   |         t9 ();
    0x0008e5e4 lw gp, 0x10(sp)           |         gp = *(var_10h);
                                         | label_1:
    0x0008e5e8 addiu s0, s0, 1           |         s0++;
    0x0008e5ec lw t9, -0x77b8(gp)        |         t9 = sym.rcs_unwrap;
                                         |         if (s0 == s2) {
    0x0008e5f0 beq s0, s2, 0x8e628       |             goto label_14;
                                         |         }
                                         | label_0:
    0x0008e5f4 lb a2, (s0)               |         a2 = *(s0);
    0x0008e5f8 addiu v0, zero, 0x5c      |         v0 = 0x5c;
    0x0008e5fc addiu v0, zero, 0x22      |         v0 = 0x22;
    0x0008e600 bne a2, v0, 0x8e574       |         
                                         |     }
    0x0008e604 lw t9, -0x74f4(gp)        |     t9 = sym.rcs_catcs;
    0x0008e608 move a0, s1               |     a0 = s1;
    0x0008e60c move a1, s3               |     a1 = s3;
    0x0008e610 addiu a2, zero, 2         |     a2 = 2;
    0x0008e614 addiu s0, s0, 1           |     s0++;
    0x0008e618 jalr t9                   |     t9 ();
    0x0008e61c lw gp, 0x10(sp)           |     gp = *(var_10h);
                                         |     if (s0 != s2) {
    0x0008e620 bne s0, s2, 0x8e5f4       |         goto label_0;
                                         |     }
                                         | label_4:
    0x0008e624 lw t9, -0x77b8(gp)        |     t9 = sym.rcs_unwrap;
                                         | label_14:
    0x0008e628 move a0, s1               |     a0 = s1;
    0x0008e62c jalr t9                   |     t9 ();
                                         |     do {
    0x0008e630 lw ra, 0x44(sp)           |         ra = *(var_44h);
    0x0008e634 lw s7, 0x40(sp)           |         s7 = *(var_40h);
    0x0008e638 lw s6, 0x3c(sp)           |         s6 = *(var_3ch);
    0x0008e63c lw s5, 0x38(sp)           |         s5 = *(var_38h);
    0x0008e640 lw s4, 0x34(sp)           |         s4 = *(var_34h);
    0x0008e644 lw s3, 0x30(sp)           |         s3 = *(var_30h);
    0x0008e648 lw s2, 0x2c(sp)           |         s2 = *(var_2ch);
    0x0008e64c lw s1, 0x28(sp)           |         s1 = *(var_28h);
    0x0008e650 lw s0, 0x24(sp)           |         s0 = *(var_24h);
    0x0008e654 addiu sp, sp, 0x48        |         
    0x0008e658 jr ra                     |         return v0;
                                         | label_12:
    0x0008e65c lw t9, -0x787c(gp)        |         t9 = sym.rcs_catc;
                                         | label_13:
    0x0008e660 move a0, s1               |         a0 = s1;
    0x0008e664 move a1, a2               |         a1 = a2;
    0x0008e668 jalr t9                   |         t9 ();
    0x0008e66c lw gp, 0x10(sp)           |         gp = *(var_10h);
    0x0008e670 b 0x8e5e8                 |         goto label_1;
                                         | label_5:
    0x0008e674 lw a1, -0x7fc8(gp)        |         a1 = *(gp);
    0x0008e678 lw t9, -0x74f4(gp)        |         t9 = sym.rcs_catcs;
    0x0008e67c move a0, s1               |         a0 = s1;
                                         |         /* esilref: '\"' */
    0x0008e680 addiu a1, a1, 0x4964      |         a1 += 0x4964;
    0x0008e684 addiu a2, zero, 2         |         a2 = 2;
    0x0008e688 jalr t9                   |         t9 ();
    0x0008e68c lw gp, 0x10(sp)           |         gp = *(var_10h);
    0x0008e690 b 0x8e5e8                 |         goto label_1;
                                         | label_6:
    0x0008e694 lw a1, -0x7fc8(gp)        |         a1 = *(gp);
    0x0008e698 lw t9, -0x74f4(gp)        |         t9 = sym.rcs_catcs;
    0x0008e69c move a0, s1               |         a0 = s1;
                                         |         /* esilref: '\/' */
    0x0008e6a0 addiu a1, a1, 0x4968      |         a1 += 0x4968;
    0x0008e6a4 addiu a2, zero, 2         |         a2 = 2;
    0x0008e6a8 jalr t9                   |         t9 ();
    0x0008e6ac lw gp, 0x10(sp)           |         gp = *(var_10h);
    0x0008e6b0 b 0x8e5e8                 |         goto label_1;
                                         | label_7:
    0x0008e6b4 lw a1, -0x7fc8(gp)        |         a1 = *(gp);
    0x0008e6b8 lw t9, -0x74f4(gp)        |         t9 = sym.rcs_catcs;
    0x0008e6bc move a0, s1               |         a0 = s1;
                                         |         /* esilref: '\b' */
    0x0008e6c0 addiu a1, a1, 0x496c      |         a1 += 0x496c;
    0x0008e6c4 addiu a2, zero, 2         |         a2 = 2;
    0x0008e6c8 jalr t9                   |         t9 ();
    0x0008e6cc lw gp, 0x10(sp)           |         gp = *(var_10h);
    0x0008e6d0 b 0x8e5e8                 |         goto label_1;
                                         | label_8:
    0x0008e6d4 lw a1, -0x7fc8(gp)        |         a1 = *(gp);
    0x0008e6d8 lw t9, -0x74f4(gp)        |         t9 = sym.rcs_catcs;
    0x0008e6dc move a0, s1               |         a0 = s1;
                                         |         /* esilref: '\f' */
    0x0008e6e0 addiu a1, a1, 0x4970      |         a1 += 0x4970;
    0x0008e6e4 addiu a2, zero, 2         |         a2 = 2;
    0x0008e6e8 jalr t9                   |         t9 ();
    0x0008e6ec lw gp, 0x10(sp)           |         gp = *(var_10h);
    0x0008e6f0 b 0x8e5e8                 |         goto label_1;
                                         | label_9:
    0x0008e6f4 lw t9, -0x74f4(gp)        |         t9 = sym.rcs_catcs;
    0x0008e6f8 move a0, s1               |         a0 = s1;
                                         |         /* esilref: '\n' */
    0x0008e6fc addiu a1, s5, 0x4974      |         a1 = s5 + 0x4974;
    0x0008e700 addiu a2, zero, 2         |         a2 = 2;
    0x0008e704 jalr t9                   |         t9 ();
    0x0008e708 lw gp, 0x10(sp)           |         gp = *(var_10h);
    0x0008e70c b 0x8e5e8                 |         goto label_1;
                                         | label_10:
    0x0008e710 lw t9, -0x74f4(gp)        |         t9 = sym.rcs_catcs;
    0x0008e714 move a0, s1               |         a0 = s1;
    0x0008e718 move a1, s6               |         a1 = s6;
    0x0008e71c addiu a2, zero, 2         |         a2 = 2;
    0x0008e720 jalr t9                   |         t9 ();
    0x0008e724 lw gp, 0x10(sp)           |         gp = *(var_10h);
    0x0008e728 b 0x8e5e8                 |         goto label_1;
                                         | label_11:
    0x0008e72c move a0, s1               |         a0 = s1;
                                         |         /* esilref: '\t' */
    0x0008e730 addiu a1, s7, 0x497c      |         a1 = s7 + 0x497c;
    0x0008e734 addiu a2, zero, 2         |         a2 = 2;
    0x0008e738 jalr t9                   |         t9 ();
    0x0008e73c lw gp, 0x10(sp)           |         gp = *(var_10h);
    0x0008e740 b 0x8e5e8                 |         goto label_1;
                                         | label_3:
    0x0008e744 move v0, zero             |         v0 = 0;
    0x0008e748 b 0x8e630                 |         
                                         |     } while (1);
                                         | label_2:
    0x0008e74c lw a0, -0x7fc8(gp)        |     a0 = *(gp);
    0x0008e750 lw a1, -0x7fc8(gp)        |     a1 = *(gp);
    0x0008e754 lw a3, -0x7fc8(gp)        |     a3 = *(gp);
    0x0008e758 lw t9, -0x7e78(gp)        |     t9 = sym.imp.__assert;
                                         |     /* esilref: 'text != ((void *)0)' */
    0x0008e75c addiu a0, a0, 0x482c      |     a0 += 0x482c;
                                         |     /* str._home_ptkang_work_platform_isvp_20160504_e_proj_sdk_lv3_src_imp_sys_wrap_json.c */
    0x0008e760 addiu a1, a1, 0x47b4      |     a1 += 0x47b4;
    0x0008e764 addiu a2, zero, 0x477     |     a2 = 0x477;
                                         |     /* obj.__PRETTY_FUNCTION__.3550 */
    0x0008e768 addiu a3, a3, 0x6150      |     a3 += 0x6150;
    0x0008e76c jalr t9                   |     return t9 ();
                                         | }
    ; assembly                                           | /* r2dec pseudo code output */
                                                         | /* /logs/firmware/unblob_extracted/firmware_extract/6225984-11075644.jffs2_new_extract/lib/libmp.so @ 0x613d8 */
                                                         | #include <stdint.h>
                                                         |  
    ; (fcn) sym.on_framesource_group_data_update ()      | void on_framesource_group_data_update () {
    0x000613d8 lui gp, 9                                 |     
    0x000613dc addiu gp, gp, -0x3fc8                     |     
    0x000613e0 addu gp, gp, t9                           |     gp += t9;
    0x000613e4 lw t9, -0x7adc(gp)                        |     t9 = sym.imp.IMP_Log_Get_Option;
    0x000613e8 addiu sp, sp, -0x160                      |     
    0x000613ec sw ra, 0x15c(sp)                          |     *(var_15ch) = ra;
    0x000613f0 sw gp, 0x30(sp)                           |     *(var_30h) = gp;
    0x000613f4 sw fp, 0x158(sp)                          |     *(var_158h) = fp;
    0x000613f8 sw s7, 0x154(sp)                          |     *(var_154h) = s7;
    0x000613fc sw s6, 0x150(sp)                          |     *(var_150h) = s6;
    0x00061400 sw s5, 0x14c(sp)                          |     *(var_14ch) = s5;
    0x00061404 sw s4, 0x148(sp)                          |     *(var_148h) = s4;
    0x00061408 sw s3, 0x144(sp)                          |     *(var_144h) = s3;
    0x0006140c sw s2, 0x140(sp)                          |     *(var_140h) = s2;
    0x00061410 sw s1, 0x13c(sp)                          |     *(var_13ch) = s1;
    0x00061414 sw s0, 0x138(sp)                          |     *(var_138h) = s0;
    0x00061418 sw zero, 0x108(sp)                        |     *(var_108h) = 0;
    0x0006141c lw s3, (a0)                               |     s3 = *(a0);
    0x00061420 move s1, a0                               |     s1 = a0;
    0x00061424 lw s0, 8(a0)                              |     s0 = *((a0 + 2));
    0x00061428 jalr t9                                   |     t9 ();
    0x0006142c lw gp, 0x30(sp)                           |     gp = *(var_30h);
    0x00061430 addiu v1, zero, 0x1cd                     |     v1 = 0x1cd;
    0x00061434 sw v1, 0x14(sp)                           |     *(var_14h) = v1;
    0x00061438 lw s5, -0x7fc8(gp)                        |     s5 = *(gp);
    0x0006143c lw s7, -0x7fc8(gp)                        |     s7 = *(gp);
    0x00061440 lw v1, -0x7fc8(gp)                        |     v1 = *(gp);
                                                         |     /* str._home_ptkang_work_platform_isvp_20160504_e_proj_sdk_lv3_src_imp_framesource_framesource_tseries.c */
    0x00061444 addiu s5, s5, -0x1f64                     |     s5 += -0x1f64;
                                                         |     /* obj.__func__.8508 */
    0x00061448 addiu s7, s7, -0xca4                      |     s7 += -0xca4;
                                                         |     /* str.__s___s__update_n */
    0x0006144c addiu v1, v1, -0x1e0c                     |     v1 += -0x1e0c;
    0x00061450 sw s5, 0x10(sp)                           |     *(var_10h) = s5;
    0x00061454 sw s7, 0x18(sp)                           |     *(var_18h) = s7;
    0x00061458 sw v1, 0x1c(sp)                           |     *(var_1ch) = v1;
    0x0006145c lw t0, 0x40(s3)                           |     t0 = *((s3 + 16));
    0x00061460 lw v1, 4(s1)                              |     v1 = *((s1 + 1));
    0x00061464 lw s4, -0x7fc8(gp)                        |     s4 = *(gp);
    0x00061468 lw t9, -0x79d0(gp)                        |     t9 = sym.imp.imp_log_fun;
    0x0006146c move a1, v0                               |     a1 = v0;
    0x00061470 addiu a2, zero, 2                         |     a2 = 2;
                                                         |     /* str.Framesource */
    0x00061474 addiu a3, s4, -0x1f70                     |     a3 = s4 + -aav.0x00001f70;
    0x00061478 sw t0, 0x20(sp)                           |     *(var_20h) = t0;
    0x0006147c sw v1, 0x24(sp)                           |     *(var_24h) = v1;
    0x00061480 addiu a0, zero, 2                         |     a0 = 2;
    0x00061484 jalr t9                                   |     t9 ();
    0x00061488 lw gp, 0x30(sp)                           |     gp = *(var_30h);
    0x0006148c sll s0, s0, 9                             |     s0 <<= 9;
    0x00061490 addiu s0, s0, 0x10                        |     s0 += 0x10;
    0x00061494 addiu s6, s3, 0x40                        |     s6 = s3 + 0x40;
    0x00061498 addu s0, s6, s0                           |     s0 = s6 + s0;
    0x0006149c lw t9, -0x7d98(gp)                        |     t9 = sym.imp.pthread_mutex_lock;
    0x000614a0 addiu s2, s0, 0x168                       |     s2 = s0 + aav.0x00000168;
    0x000614a4 move a0, s2                               |     a0 = s2;
    0x000614a8 jalr t9                                   |     t9 ();
    0x000614ac lw gp, 0x30(sp)                           |     gp = *(var_30h);
    0x000614b0 lw v1, 0x1b8(s0)                          |     v1 = *(s0);
    0x000614b4 lw fp, 0x1b4(s0)                          |     fp = *(s0);
    0x000614b8 lw t9, -0x7bd0(gp)                        |     t9 = sym.imp.pthread_mutex_unlock;
    0x000614bc move a0, s2                               |     a0 = s2;
    0x000614c0 sw v1, 0x110(sp)                          |     *(var_110h) = v1;
    0x000614c4 jalr t9                                   |     t9 ();
    0x000614c8 lw gp, 0x30(sp)                           |     gp = *(var_30h);
                                                         |     if (fp == 0) {
    0x000614cc beqz fp, 0x616e4                          |         goto label_22;
                                                         |     }
    0x000614d0 lw fp, 0x1b0(s0)                          |     fp = *(s0);
    0x000614d4 lw t9, -0x7a88(gp)                        |     t9 = sym.fifo_num;
    0x000614d8 move a0, fp                               |     a0 = fp;
    0x000614dc jalr t9                                   |     t9 ();
    0x000614e0 move v1, v0                               |     v1 = v0;
    0x000614e4 lw gp, 0x30(sp)                           |     gp = *(var_30h);
                                                         |     if (v0 < 0) {
    0x000614e8 bltz v0, 0x61b50                          |         goto label_23;
                                                         |     }
    0x000614ec lw a1, 0x110(sp)                          |     a1 = *(var_110h);
    0x000614f0 slt v0, v0, a1                            |     v0 = (v0 < a1) ? 1 : 0;
    0x000614f4 lw a3, 0x110(sp)                          |     a3 = *(var_110h);
                                                         |     if (v0 != 0) {
    0x000614f8 bnez v0, 0x61ed4                          |         goto label_24;
                                                         |     }
    0x000614fc lw t9, -0x7bec(gp)                        |     t9 = sym.fifo_get;
                                                         |     if (v1 == a3) {
    0x00061500 beq v1, a3, 0x62114                       |         goto label_25;
                                                         |     }
    0x00061504 move a0, fp                               |     a0 = fp;
    0x00061508 addiu a1, sp, 0x104                       |     a1 = sp + aav.0x00000104;
    0x0006150c jalr t9                                   |     t9 ();
    0x00061510 move fp, v0                               |     fp = v0;
    0x00061514 lw gp, 0x30(sp)                           |     gp = *(var_30h);
                                                         |     if (v0 != 0) {
    0x00061518 bnez v0, 0x61bd8                          |         goto label_26;
                                                         |     }
                                                         | label_15:
    0x0006151c lw v0, 0x104(sp)                          |     v0 = *(var_104h);
    0x00061520 sw v0, 0x108(sp)                          |     *(var_108h) = v0;
                                                         | label_0:
    0x00061524 lw t9, -0x7d98(gp)                        |     t9 = sym.imp.pthread_mutex_lock;
    0x00061528 move a0, s2                               |     a0 = s2;
    0x0006152c jalr t9                                   |     t9 ();
    0x00061530 lw v0, 0x130(s0)                          |     v0 = *(s0);
    0x00061534 lw gp, 0x30(sp)                           |     gp = *(var_30h);
                                                         |     if (v0 <= 0) {
    0x00061538 blez v0, 0x6164c                          |         goto label_27;
                                                         |     }
    0x0006153c lw v0, 0x188(s0)                          |     v0 = *(s0);
                                                         |     if (v0 == 0) {
    0x00061540 beqz v0, 0x61c18                          |         goto label_28;
                                                         |     }
    0x00061544 nop                                       |     
    0x00061548 lw s7, 4(v0)                              |     s7 = *((v0 + 1));
                                                         |     if (v0 == s7) {
    0x0006154c beq v0, s7, 0x61c18                       |         goto label_28;
                                                         |     }
    0x00061550 nop                                       |     
                                                         | label_7:
    0x00061554 lw t9, -0x7468(gp)                        |     t9 = *(gp);
                                                         |     if (s7 == 0) {
    0x00061558 beqz s7, 0x6164c                          |         goto label_27;
                                                         |     }
    0x0006155c move a0, s7                               |     a0 = s7;
    0x00061560 jalr t9                                   |     t9 ();
    0x00061564 lw fp, (s7)                               |     fp = *(s7);
    0x00061568 lw v1, 0x108(sp)                          |     v1 = *(var_108h);
    0x0006156c lw gp, 0x30(sp)                           |     gp = *(var_30h);
    0x00061570 lw a0, 0x1c(fp)                           |     a0 = *(arg_1ch);
    0x00061574 lw t2, 0x18(fp)                           |     t2 = *(arg_18h);
    0x00061578 move v0, fp                               |     v0 = fp;
    0x0006157c addiu t1, v1, 0x20                        |     t1 = v1 + 0x20;
                                                         |     do {
    0x00061580 lwl t0, 3(v1)                             |         __asm ("lwl t0, 3(v1)");
    0x00061584 lwl a3, 7(v1)                             |         __asm ("lwl a3, 7(v1)");
    0x00061588 lwl a2, 0xb(v1)                           |         __asm ("lwl a2, 0xb(v1)");
    0x0006158c lwl a1, 0xf(v1)                           |         __asm ("lwl a1, 0xf(v1)");
    0x00061590 lwr t0, (v1)                              |         __asm ("lwr t0, (v1)");
    0x00061594 lwr a3, 4(v1)                             |         __asm ("lwr a3, 4(v1)");
    0x00061598 lwr a2, 8(v1)                             |         __asm ("lwr a2, 8(v1)");
    0x0006159c lwr a1, 0xc(v1)                           |         __asm ("lwr a1, 0xc(v1)");
    0x000615a0 swl t0, 3(v0)                             |         __asm ("swl t0, 3(v0)");
    0x000615a4 swr t0, (v0)                              |         __asm ("swr t0, (v0)");
    0x000615a8 swl a3, 7(v0)                             |         __asm ("swl a3, 7(v0)");
    0x000615ac swr a3, 4(v0)                             |         __asm ("swr a3, 4(v0)");
    0x000615b0 swl a2, 0xb(v0)                           |         __asm ("swl a2, 0xb(v0)");
    0x000615b4 swr a2, 8(v0)                             |         __asm ("swr a2, 8(v0)");
    0x000615b8 addiu v1, v1, 0x10                        |         v1 += 0x10;
    0x000615bc swl a1, 0xf(v0)                           |         __asm ("swl a1, 0xf(v0)");
    0x000615c0 swr a1, 0xc(v0)                           |         __asm ("swr a1, 0xc(v0)");
    0x000615c4 addiu v0, v0, 0x10                        |         v0 += 0x10;
    0x000615c8 bne v1, t1, 0x61580                       |         
                                                         |     } while (v1 != t1);
    0x000615cc lwl a2, 3(v1)                             |     __asm ("lwl a2, 3(v1)");
    0x000615d0 lwl a1, 7(v1)                             |     __asm ("lwl a1, 7(v1)");
    0x000615d4 lwr a2, (v1)                              |     __asm ("lwr a2, (v1)");
    0x000615d8 lwr a1, 4(v1)                             |     __asm ("lwr a1, 4(v1)");
    0x000615dc lui v1, 0x3231                            |     v1 = 0x32310000;
    0x000615e0 swl a2, 3(v0)                             |     __asm ("swl a2, 3(v0)");
    0x000615e4 swr a2, (v0)                              |     __asm ("swr a2, (v0)");
    0x000615e8 swl a1, 7(v0)                             |     __asm ("swl a1, 7(v0)");
    0x000615ec swr a1, 4(v0)                             |     __asm ("swr a1, 4(v0)");
    0x000615f0 lw v0, 0x108(sp)                          |     v0 = *(var_108h);
    0x000615f4 addiu v1, v1, 0x564e                      |     v1 += 0x564e;
    0x000615f8 sw a0, 0x1c(fp)                           |     *(arg_1ch) = a0;
    0x000615fc lw a1, 0x10(v0)                           |     a1 = *((v0 + 4));
    0x00061600 sw t2, 0x18(fp)                           |     *(arg_18h) = t2;
                                                         |     if (a1 == v1) {
    0x00061604 beq a1, v1, 0x61c38                       |         goto label_29;
                                                         |     }
    0x00061608 lui v1, 0x3132                            |     v1 = 0x3132564e;
    0x0006160c addiu v1, v1, 0x564e                      |     
    0x00061610 lw t9, -0x7670(gp)                        |     t9 = sym.imp.memcpy;
                                                         |     if (a1 == v1) {
    0x00061614 beq a1, v1, 0x61c38                       |         goto label_29;
                                                         |     }
    0x00061618 lw a1, 0x1c(v0)                           |     a1 = *((v0 + 7));
    0x0006161c lw a2, 0x14(v0)                           |     a2 = *((v0 + 5));
    0x00061620 jalr t9                                   |     t9 ();
    0x00061624 lw gp, 0x30(sp)                           |     gp = *(var_30h);
                                                         | label_8:
    0x00061628 lw t9, -0x74f8(gp)                        |     t9 = sym.list_add_head;
    0x0006162c lw a1, 0x180(s0)                          |     a1 = *(s0);
    0x00061630 move a0, s7                               |     a0 = s7;
    0x00061634 jalr t9                                   |     t9 ();
    0x00061638 lw gp, 0x30(sp)                           |     gp = *(var_30h);
    0x0006163c lw t9, -0x74a8(gp)                        |     t9 = sym.imp.pthread_cond_signal;
    0x00061640 addiu a0, s0, 0x138                       |     a0 = s0 + aav.0x00000138;
    0x00061644 jalr t9                                   |     t9 ();
    0x00061648 lw gp, 0x30(sp)                           |     gp = *(var_30h);
                                                         | label_27:
    0x0006164c lw t9, -0x7bd0(gp)                        |     t9 = sym.imp.pthread_mutex_unlock;
                                                         | label_6:
    0x00061650 move a0, s2                               |     a0 = s2;
    0x00061654 jalr t9                                   |     t9 ();
    0x00061658 lw v0, 0x108(sp)                          |     v0 = *(var_108h);
    0x0006165c lui v1, 0x3231                            |     v1 = 0x3231564e;
    0x00061660 addiu v1, v1, 0x564e                      |     
    0x00061664 lw v0, 0x10(v0)                           |     v0 = *((v0 + 4));
    0x00061668 lw gp, 0x30(sp)                           |     gp = *(var_30h);
                                                         |     if (v0 == v1) {
    0x0006166c beq v0, v1, 0x61740                       |         goto label_30;
                                                         |     }
    0x00061670 lui v1, 0x3132                            |     v1 = 0x3132564e;
    0x00061674 addiu v1, v1, 0x564e                      |     
    0x00061678 lw a1, -0x7fc8(gp)                        |     a1 = *(gp);
                                                         |     if (v0 == v1) {
    0x0006167c beq v0, v1, 0x61744                       |         goto label_31;
                                                         |     }
    0x00061680 lw v0, 4(s1)                              |     v0 = *((s1 + 1));
    0x00061684 lw s2, 0x3c(v0)                           |     s2 = *((v0 + 15));
    0x00061688 move s0, zero                             |     s0 = 0;
                                                         |     if (s2 <= 0) {
    0x0006168c blez s2, 0x61a58                          |         goto label_32;
                                                         |     }
                                                         |     do {
                                                         | label_1:
    0x00061690 lw a0, 0x108(sp)                          |         a0 = *(var_108h);
    0x00061694 lw t9, -0x7c14(gp)                        |         t9 = sym.VBMLockFrame;
    0x00061698 addiu s0, s0, 1                           |         s0++;
    0x0006169c sw a0, 0x10(s1)                           |         *((s1 + 4)) = a0;
    0x000616a0 jalr t9                                   |         t9 ();
    0x000616a4 addiu s1, s1, 4                           |         s1 += 4;
    0x000616a8 lw gp, 0x30(sp)                           |         gp = *(var_30h);
    0x000616ac bne s0, s2, 0x61690                       |         
                                                         |     } while (s0 != s2);
                                                         | label_2:
    0x000616b0 move v0, zero                             |     v0 = 0;
                                                         | label_3:
    0x000616b4 lw ra, 0x15c(sp)                          |     ra = *(var_15ch);
    0x000616b8 lw fp, 0x158(sp)                          |     fp = *(var_158h);
    0x000616bc lw s7, 0x154(sp)                          |     s7 = *(var_154h);
    0x000616c0 lw s6, 0x150(sp)                          |     s6 = *(var_150h);
    0x000616c4 lw s5, 0x14c(sp)                          |     s5 = *(var_14ch);
    0x000616c8 lw s4, 0x148(sp)                          |     s4 = *(var_148h);
    0x000616cc lw s3, 0x144(sp)                          |     s3 = *(var_144h);
    0x000616d0 lw s2, 0x140(sp)                          |     s2 = *(var_140h);
    0x000616d4 lw s1, 0x13c(sp)                          |     s1 = *(var_13ch);
    0x000616d8 lw s0, 0x138(sp)                          |     s0 = *(var_138h);
    0x000616dc addiu sp, sp, 0x160                       |     
    0x000616e0 jr ra                                     |     return v0;
                                                         | label_22:
    0x000616e4 lw t9, -0x7648(gp)                        |     t9 = sym.VBMGetFrame;
    0x000616e8 lw a0, 8(s1)                              |     a0 = *((s1 + 2));
    0x000616ec addiu a1, sp, 0x108                       |     a1 = sp + aav.0x00000108;
    0x000616f0 jalr t9                                   |     t9 ();
    0x000616f4 move fp, v0                               |     fp = v0;
    0x000616f8 lw gp, 0x30(sp)                           |     gp = *(var_30h);
                                                         |     if (v0 >= 0) {
    0x000616fc bgez v0, 0x61524                          |         goto label_0;
                                                         |     }
    0x00061700 lw t9, -0x7adc(gp)                        |     t9 = sym.imp.IMP_Log_Get_Option;
    0x00061704 jalr t9                                   |     t9 ();
    0x00061708 nop                                       |     
    0x0006170c lw gp, 0x30(sp)                           |     gp = *(var_30h);
    0x00061710 addiu a0, zero, 0x20e                     |     a0 = 0x20e;
    0x00061714 lw v1, 8(s1)                              |     v1 = *((s1 + 2));
    0x00061718 sw a0, 0x14(sp)                           |     *(var_14h) = a0;
    0x0006171c lw a0, -0x7fc8(gp)                        |     a0 = *(gp);
    0x00061720 sw s5, 0x10(sp)                           |     *(var_10h) = s5;
    0x00061724 lw t9, -0x79d0(gp)                        |     t9 = sym.imp.imp_log_fun;
                                                         |     /* str.VBMGetFrame___error:_d__group__group_index___d_n */
    0x00061728 addiu a0, a0, -0x1dcc                     |     a0 += -0x1dcc;
    0x0006172c sw s7, 0x18(sp)                           |     *(var_18h) = s7;
    0x00061730 sw a0, 0x1c(sp)                           |     *(var_1ch) = a0;
    0x00061734 sw fp, 0x20(sp)                           |     *(var_20h) = fp;
    0x00061738 sw v1, 0x24(sp)                           |     *(var_24h) = v1;
    0x0006173c b 0x61b90                                 |     goto label_16;
                                                         | label_30:
    0x00061740 lw a1, -0x7fc8(gp)                        |     a1 = *(gp);
                                                         | label_31:
    0x00061744 lw t9, -0x7c30(gp)                        |     t9 = sym.imp.sprintf
    0x00061748 lw a2, 8(s1)                              |     a2 = *((s1 + 2));
    0x0006174c addiu a0, sp, 0xd0                        |     a0 = sp + 0xd0;
                                                         |     /* str._tmp_mountdir_ispsnap_d.nv12 */
    0x00061750 addiu a1, a1, -0x1d40                     |     a1 += -0x1d40;
    0x00061754 jalr t9                                   |     t9 ();
    0x00061758 lw gp, 0x30(sp)                           |     gp = *(var_30h);
    0x0006175c addiu a0, sp, 0xd0                        |     a0 = sp + 0xd0;
    0x00061760 lw t9, -0x7d5c(gp)                        |     t9 = sym.imp.access;
    0x00061764 addiu a1, zero, 6                         |     a1 = 6;
    0x00061768 jalr t9                                   |     t9 ();
    0x0006176c lw gp, 0x30(sp)                           |     gp = *(var_30h);
                                                         |     if (v0 == 0) {
    0x00061770 beqz v0, 0x61a80                          |         goto label_33;
                                                         |     }
                                                         | label_5:
    0x00061774 lw v1, 0x108(sp)                          |     v1 = *(var_108h);
                                                         | label_4:
    0x00061778 lw v0, 0xc(v1)                            |     v0 = *((v1 + 3));
    0x0006177c andi a0, v0, 0xf                          |     a0 = v0 & 0xf;
                                                         |     if (a0 == 0) {
    0x00061780 beqz a0, 0x6184c                          |         goto label_34;
                                                         |     }
    0x00061784 nop                                       |     
    0x00061788 addiu fp, v0, 0xf                         |     fp = v0 + 0xf;
    0x0006178c addiu a0, zero, -0x10                     |     a0 = -0x10;
    0x00061790 and a0, fp, a0                            |     a0 = fp & a0;
    0x00061794 subu t2, a0, v0                           |     __asm ("subu t2, a0, v0");
    0x00061798 sw a0, 0x114(sp)                          |     *(var_114h) = a0;
    0x0006179c sw t2, 0x110(sp)                          |     *(var_110h) = t2;
                                                         |     if (t2 <= 0) {
    0x000617a0 blez t2, 0x6184c                          |         goto label_34;
                                                         |     }
    0x000617a4 lw a2, 8(v1)                              |     a2 = *((v1 + 2));
    0x000617a8 lw a3, 0x1c(v1)                           |     a3 = *((v1 + 7));
    0x000617ac move s7, zero                             |     s7 = 0;
    0x000617b0 mul v1, a2, v0                            |     __asm ("mul v1, a2, v0");
    0x000617b4 addu fp, v1, a3                           |     fp = v1 + a3;
    0x000617b8 b 0x617c0                                 |     
                                                         |     while (v1 != s7) {
    0x000617bc lw a2, 8(v0)                              |         a2 = *((v0 + 2));
    0x000617c0 mul v0, s7, a2                            |         __asm ("mul v0, s7, a2");
    0x000617c4 lw t9, -0x7670(gp)                        |         t9 = sym.imp.memcpy;
    0x000617c8 subu a1, fp, a2                           |         __asm ("subu a1, fp, a2");
    0x000617cc addiu s7, s7, 1                           |         s7++;
    0x000617d0 addu a0, v0, fp                           |         a0 = v0 + fp;
    0x000617d4 jalr t9                                   |         t9 ();
    0x000617d8 lw v1, 0x110(sp)                          |         v1 = *(var_110h);
    0x000617dc lw gp, 0x30(sp)                           |         gp = *(var_30h);
    0x000617e0 lw v0, 0x108(sp)                          |         v0 = *(var_108h);
    0x000617e4 bne v1, s7, 0x617bc                       |         
                                                         |     }
    0x000617e8 lw v1, 0xc(v0)                            |     v1 = *((v0 + 3));
    0x000617ec lw t2, 0x114(sp)                          |     t2 = *(var_114h);
    0x000617f0 lw a2, 8(v0)                              |     a2 = *((v0 + 2));
    0x000617f4 srl v1, v1, 1                             |     v1 >>= 1;
    0x000617f8 addu v1, t2, v1                           |     v1 = t2 + v1;
    0x000617fc mul a0, v1, a2                            |     __asm ("mul a0, v1, a2");
    0x00061800 lw a3, 0x110(sp)                          |     a3 = *(var_110h);
    0x00061804 lw v0, 0x1c(v0)                           |     v0 = *((v0 + 7));
    0x00061808 sra a3, a3, 1                             |     a3 >>= 1;
    0x0006180c sw a3, 0x110(sp)                          |     *(var_110h) = a3;
    0x00061810 addu s7, a0, v0                           |     s7 = a0 + v0;
                                                         |     if (a3 == 0) {
    0x00061814 beqz a3, 0x6184c                          |         goto label_34;
                                                         |     }
    0x00061818 move fp, zero                             |     fp = 0;
    0x0006181c b 0x61828                                 |     
                                                         |     while (fp != v1) {
    0x00061820 lw v0, 0x108(sp)                          |         v0 = *(var_108h);
    0x00061824 lw a2, 8(v0)                              |         a2 = *((v0 + 2));
    0x00061828 mul v0, fp, a2                            |         __asm ("mul v0, fp, a2");
    0x0006182c lw t9, -0x7670(gp)                        |         t9 = sym.imp.memcpy;
    0x00061830 subu a1, s7, a2                           |         __asm ("subu a1, s7, a2");
    0x00061834 addiu fp, fp, 1                           |         fp++;
    0x00061838 addu a0, v0, s7                           |         a0 = v0 + s7;
    0x0006183c jalr t9                                   |         t9 ();
    0x00061840 lw v1, 0x110(sp)                          |         v1 = *(var_110h);
    0x00061844 lw gp, 0x30(sp)                           |         gp = *(var_30h);
    0x00061848 bne fp, v1, 0x61820                       |         
                                                         |     }
                                                         | label_34:
    0x0006184c lw v0, 8(s1)                              |     v0 = *((s1 + 2));
    0x00061850 lw s7, -0x7fc8(gp)                        |     s7 = *(gp);
                                                         |     if (v0 != 0) {
    0x00061854 bnez v0, 0x618a4                          |         goto label_35;
                                                         |     }
    0x00061858 lw t2, -0x7fe4(gp)                        |     t2 = *((gp - 8185));
    0x0006185c lw fp, -0x7fc8(gp)                        |     fp = *(gp);
    0x00061860 lw t4, -0x7fa8(gp)                        |     t4 = *((gp - 8170));
    0x00061864 lw t3, -0x7d54(gp)                        |     t3 = *(gp);
    0x00061868 addiu v1, zero, 1                         |     v1 = 1;
                                                         |     /* obj.tmp.6777 */
    0x0006186c addiu t2, t2, 0x515c                      |     t2 += 0x515c;
                                                         |     /* obj.CSWTCH.81 */
    0x00061870 addiu fp, fp, -0xc0c                      |     fp += -aav.0x00000c0c;
                                                         |     /* obj.CSWTCH.80 */
    0x00061874 addiu s7, s7, -0xc80                      |     s7 += -aav.0x00000c80;
                                                         |     do {
    0x00061878 sll t0, v1, 9                             |         t0 = v1 << 9;
    0x0006187c addiu t0, t0, 0x10                        |         t0 += 0x10;
    0x00061880 addu t0, s6, t0                           |         t0 = s6 + t0;
    0x00061884 lw a2, 4(t0)                              |         a2 = *((t0 + 1));
    0x00061888 addiu v0, zero, 2                         |         v0 = 2;
    0x0006188c addiu v0, zero, 1                         |         v0 = 1;
                                                         |         if (a2 == v0) {
    0x00061890 beq a2, v0, 0x61f90                       |             goto label_36;
                                                         |         }
                                                         | label_12:
    0x00061894 addiu v1, v1, 1                           |         v1++;
                                                         | label_20:
    0x00061898 addiu v0, zero, 4                         |         v0 = 4;
    0x0006189c bne v1, v0, 0x61878                       |         
                                                         |     } while (v1 != v0);
    0x000618a0 nop                                       |     
                                                         | label_35:
    0x000618a4 lw s6, 0x194(s0)                          |     s6 = *(s0);
    0x000618a8 lw t9, -0x7adc(gp)                        |     t9 = sym.imp.IMP_Log_Get_Option;
                                                         |     if (s6 != 0) {
    0x000618ac bnez s6, 0x61cb8                          |         goto label_37;
                                                         |     }
    0x000618b0 lw s7, 0x198(s0)                          |     s7 = *(s0);
                                                         |     if (s7 != 0) {
    0x000618b4 beqz s7, 0x619f0                          |         
    0x000618b8 nop                                       |         
    0x000618bc lw fp, 0x108(sp)                          |         fp = *(var_108h);
    0x000618c0 jalr t9                                   |         t9 ();
    0x000618c4 lw gp, 0x30(sp)                           |         gp = *(var_30h);
    0x000618c8 addiu a1, zero, 0x160                     |         a1 = aav.0x00000160;
    0x000618cc sw a1, 0x14(sp)                           |         *(var_14h) = a1;
    0x000618d0 lw a0, -0x7fc8(gp)                        |         a0 = *(gp);
    0x000618d4 lw a1, -0x7fc8(gp)                        |         a1 = *(gp);
    0x000618d8 lw t9, -0x79d0(gp)                        |         t9 = sym.imp.imp_log_fun;
                                                         |         /* obj.__func__.8472 */
    0x000618dc addiu a0, a0, -0xb98                      |         a0 += -0xb98;
                                                         |         /* str._s:_offx_d_offy_d_n */
    0x000618e0 addiu a1, a1, -0x1d20                     |         a1 += -0x1d20;
                                                         |         /* str.Framesource */
    0x000618e4 addiu a3, s4, -0x1f70                     |         a3 = s4 + -aav.0x00001f70;
    0x000618e8 sw a0, 0x18(sp)                           |         *(var_18h) = a0;
    0x000618ec sw a1, 0x1c(sp)                           |         *(var_1ch) = a1;
    0x000618f0 sw a0, 0x20(sp)                           |         *(var_20h) = a0;
    0x000618f4 move a1, v0                               |         a1 = v0;
    0x000618f8 addiu a0, zero, 2                         |         a0 = 2;
    0x000618fc sw s5, 0x10(sp)                           |         *(var_10h) = s5;
    0x00061900 sw zero, 0x24(sp)                         |         *(var_24h) = 0;
    0x00061904 sw s7, 0x28(sp)                           |         *(var_28h) = s7;
    0x00061908 addiu a2, zero, 2                         |         a2 = 2;
    0x0006190c jalr t9                                   |         t9 ();
    0x00061910 sra a0, s7, 0x1f                          |         a0 = s7 >> 0x1f;
    0x00061914 lw v0, 0xc(fp)                            |         v0 = *(arg_ch);
    0x00061918 xor s4, a0, s7                            |         s4 = a0 ^ s7;
    0x0006191c subu s4, s4, a0                           |         __asm ("subu s4, s4, a0");
    0x00061920 subu a3, v0, s4                           |         __asm ("subu a3, v0, s4");
    0x00061924 lw gp, 0x30(sp)                           |         gp = *(var_30h);
    0x00061928 move t0, a3                               |         t0 = a3;
                                                         |         if (s7 > 0) {
    0x0006192c bgtz s7, 0x61d30                          |             goto label_38;
                                                         |         }
                                                         | label_10:
    0x00061930 lw v1, 8(fp)                              |         v1 = *(arg_8h);
    0x00061934 lw t1, 0x1c(fp)                           |         t1 = *(arg_1ch);
    0x00061938 lw t9, -0x7560(gp)                        |         t9 = sym.imp.memmove;
    0x0006193c mul t2, v0, v1                            |         __asm ("mul t2, v0, v1");
    0x00061940 move a0, t1                               |         a0 = t1;
    0x00061944 sw t0, 0x134(sp)                          |         *(var_134h) = t0;
    0x00061948 mul s5, a3, v1                            |         __asm ("mul s5, a3, v1");
    0x0006194c addu a3, t2, t1                           |         a3 = t2 + t1;
    0x00061950 sw a3, 0x110(sp)                          |         *(var_110h) = a3;
    0x00061954 mul s7, s4, v1                            |         __asm ("mul s7, s4, v1");
    0x00061958 move a2, s5                               |         a2 = s5;
    0x0006195c addu a1, t1, s7                           |         a1 = t1 + s7;
    0x00061960 jalr t9                                   |         t9 ();
    0x00061964 lw a2, 8(fp)                              |         a2 = *(arg_8h);
    0x00061968 lw gp, 0x30(sp)                           |         gp = *(var_30h);
    0x0006196c lw a0, 0x1c(fp)                           |         a0 = *(arg_1ch);
    0x00061970 mul a2, s4, a2                            |         __asm ("mul a2, s4, a2");
    0x00061974 lw t9, -0x7b18(gp)                        |         t9 = sym.imp.memset;
    0x00061978 addu a0, s5, a0                           |         a0 = s5 + a0;
    0x0006197c move a1, zero                             |         a1 = 0;
    0x00061980 sw v0, 0x130(sp)                          |         *(var_130h) = v0;
    0x00061984 jalr t9                                   |         t9 ();
    0x00061988 lw gp, 0x30(sp)                           |         gp = *(var_30h);
    0x0006198c lw a0, 0x110(sp)                          |         a0 = *(var_110h);
    0x00061990 srl v0, s5, 0x1f                          |         v0 = s5 >> 0x1f;
    0x00061994 addu s5, v0, s5                           |         s5 = v0 + s5;
    0x00061998 lw t9, -0x7560(gp)                        |         t9 = sym.imp.memmove;
    0x0006199c sra s5, s5, 1                             |         s5 >>= 1;
    0x000619a0 srl a1, s7, 1                             |         a1 = s7 >> 1;
    0x000619a4 addu a1, a0, a1                           |         a1 = a0 + a1;
    0x000619a8 move a2, s5                               |         a2 = s5;
    0x000619ac jalr t9                                   |         t9 ();
    0x000619b0 lw v0, 8(fp)                              |         v0 = *(arg_8h);
    0x000619b4 lw a3, 0xc(fp)                            |         a3 = *(arg_ch);
    0x000619b8 lw gp, 0x30(sp)                           |         gp = *(var_30h);
    0x000619bc mul a2, s4, v0                            |         __asm ("mul a2, s4, v0");
    0x000619c0 lw a0, 0x1c(fp)                           |         a0 = *(arg_1ch);
    0x000619c4 lw t9, -0x7b18(gp)                        |         t9 = sym.imp.memset;
    0x000619c8 addiu a1, zero, 0x80                      |         a1 = 0x80;
    0x000619cc mul v1, v0, a3                            |         __asm ("mul v1, v0, a3");
    0x000619d0 srl a2, a2, 1                             |         a2 >>= 1;
    0x000619d4 addu a0, v1, a0                           |         a0 = v1 + a0;
    0x000619d8 addu a0, a0, s5                           |         a0 += s5;
    0x000619dc jalr t9                                   |         t9 ();
    0x000619e0 lw gp, 0x30(sp)                           |         gp = *(var_30h);
    0x000619e4 lw t0, 0x134(sp)                          |         t0 = *(var_134h);
    0x000619e8 lw t1, 0x130(sp)                          |         t1 = *(var_130h);
                                                         |         if (s6 != 0) {
    0x000619ec bnez s6, 0x61e0c                          |             goto label_39;
                                                         |         }
                                                         |     }
                                                         | label_9:
    0x000619f0 lw a0, 0x44(s3)                           |     a0 = *((s3 + 17));
    0x000619f4 lw v1, 0x48(s3)                           |     v1 = *((s3 + 18));
    0x000619f8 lw v0, 0x108(sp)                          |     v0 = *(var_108h);
    0x000619fc lw t9, -0x7d98(gp)                        |     t9 = sym.imp.pthread_mutex_lock;
    0x00061a00 sw a0, 0x28(v0)                           |     *((v0 + 10)) = a0;
    0x00061a04 sw v1, 0x2c(v0)                           |     *((v0 + 11)) = v1;
    0x00061a08 move a0, s2                               |     a0 = s2;
    0x00061a0c jalr t9                                   |     t9 ();
    0x00061a10 lw v1, 0x110(s0)                          |     v1 = *(s0);
    0x00061a14 addiu v0, zero, 1                         |     v0 = 1;
    0x00061a18 lw gp, 0x30(sp)                           |     gp = *(var_30h);
                                                         |     if (v1 == v0) {
    0x00061a1c beq v1, v0, 0x621f8                       |         goto label_40;
                                                         |     }
                                                         | label_17:
    0x00061a20 lw a0, 0x11c(s0)                          |     a0 = *(s0);
    0x00061a24 lw t9, -0x7508(gp)                        |     t9 = sym.VBMReleaseFrame;
                                                         |     if (a0 != 0) {
    0x00061a28 beqz a0, 0x61a38                          |         
    0x00061a2c jalr t9                                   |         t9 ();
    0x00061a30 nop                                       |         
    0x00061a34 lw gp, 0x30(sp)                           |         gp = *(var_30h);
                                                         |     }
                                                         | label_18:
    0x00061a38 lw t9, -0x7bd0(gp)                        |     t9 = sym.imp.pthread_mutex_unlock;
    0x00061a3c move a0, s2                               |     a0 = s2;
    0x00061a40 move s0, zero                             |     s0 = 0;
    0x00061a44 jalr t9                                   |     t9 ();
    0x00061a48 lw v0, 4(s1)                              |     v0 = *((s1 + 1));
    0x00061a4c lw s2, 0x3c(v0)                           |     s2 = *((v0 + 15));
    0x00061a50 lw gp, 0x30(sp)                           |     gp = *(var_30h);
                                                         |     if (s2 > 0) {
    0x00061a54 bgtz s2, 0x61690                          |         goto label_1;
                                                         |     }
                                                         | label_32:
    0x00061a58 lw t9, -0x7c14(gp)                        |     t9 = sym.VBMLockFrame;
                                                         |     if (s2 != 0) {
    0x00061a5c bnez s2, 0x616b0                          |         goto label_2;
                                                         |     }
    0x00061a60 lw a0, 0x108(sp)                          |     a0 = *(var_108h);
    0x00061a64 jalr t9                                   |     t9 ();
    0x00061a68 lw gp, 0x30(sp)                           |     gp = *(var_30h);
    0x00061a6c lw t9, -0x7968(gp)                        |     t9 = sym.VBMUnLockFrame;
    0x00061a70 lw a0, 0x108(sp)                          |     a0 = *(var_108h);
    0x00061a74 jalr t9                                   |     t9 ();
    0x00061a78 addiu v0, zero, -1                        |     v0 = -1;
    0x00061a7c b 0x616b4                                 |     goto label_3;
                                                         | label_33:
    0x00061a80 lw t9, -0x7d3c(gp)                        |     t9 = sym.imp.stat;
    0x00061a84 addiu a0, sp, 0xd0                        |     a0 = sp + 0xd0;
    0x00061a88 addiu a1, sp, 0x38                        |     a1 = sp + 0x38;
    0x00061a8c jalr t9                                   |     t9 ();
    0x00061a90 lw v1, 0x108(sp)                          |     v1 = *(var_108h);
    0x00061a94 lw a0, 8(v1)                              |     a0 = *((v1 + 2));
    0x00061a98 lw v0, 0xc(v1)                            |     v0 = *((v1 + 3));
    0x00061a9c mul v0, a0, v0                            |     __asm ("mul v0, a0, v0");
    0x00061aa0 sll a0, v0, 1                             |     a0 = v0 << 1;
    0x00061aa4 addu v0, a0, v0                           |     v0 = a0 + v0;
    0x00061aa8 lw a0, 0x6c(sp)                           |     a0 = *(var_6ch);
    0x00061aac srl v0, v0, 1                             |     v0 >>= 1;
    0x00061ab0 slt v0, a0, v0                            |     v0 = (a0 < v0) ? 1 : 0;
    0x00061ab4 lw gp, 0x30(sp)                           |     gp = *(var_30h);
                                                         |     if (v0 == 0) {
    0x00061ab8 beqz v0, 0x61778                          |         goto label_4;
                                                         |     }
    0x00061abc lw t9, -0x7e60(gp)                        |     t9 = sym.imp.open;
    0x00061ac0 addiu a0, sp, 0xd0                        |     a0 = sp + 0xd0;
    0x00061ac4 addiu a1, zero, 2                         |     a1 = 2;
    0x00061ac8 jalr t9                                   |     t9 ();
    0x00061acc move s7, v0                               |     s7 = v0;
    0x00061ad0 lw gp, 0x30(sp)                           |     gp = *(var_30h);
                                                         |     if (v0 < 0) {
    0x00061ad4 bltz v0, 0x61774                          |         goto label_5;
                                                         |     }
    0x00061ad8 lw v0, 0x108(sp)                          |     v0 = *(var_108h);
    0x00061adc lw t9, -0x78b8(gp)                        |     t9 = sym.imp.write;
    0x00061ae0 move a0, s7                               |     a0 = s7;
    0x00061ae4 lw v1, 8(v0)                              |     v1 = *((v0 + 2));
    0x00061ae8 lw a2, 0xc(v0)                            |     a2 = *((v0 + 3));
    0x00061aec lw a1, 0x1c(v0)                           |     a1 = *((v0 + 7));
    0x00061af0 mul a2, a2, v1                            |     __asm ("mul a2, a2, v1");
    0x00061af4 jalr t9                                   |     t9 ();
    0x00061af8 lw v0, 0x108(sp)                          |     v0 = *(var_108h);
    0x00061afc lw gp, 0x30(sp)                           |     gp = *(var_30h);
    0x00061b00 lw v1, 8(v0)                              |     v1 = *((v0 + 2));
    0x00061b04 lw a0, 0xc(v0)                            |     a0 = *((v0 + 3));
    0x00061b08 lw v0, 0x1c(v0)                           |     v0 = *((v0 + 7));
    0x00061b0c lw t9, -0x78b8(gp)                        |     t9 = sym.imp.write;
    0x00061b10 mul a2, a0, v1                            |     __asm ("mul a2, a0, v1");
    0x00061b14 addiu a1, a0, 0xf                         |     a1 = a0 + 0xf;
    0x00061b18 addiu a0, zero, -0x10                     |     a0 = -0x10;
    0x00061b1c and a1, a1, a0                            |     a1 &= a0;
    0x00061b20 move a0, s7                               |     a0 = s7;
    0x00061b24 mul a3, a1, v1                            |     __asm ("mul a3, a1, v1");
    0x00061b28 srl a2, a2, 1                             |     a2 >>= 1;
    0x00061b2c addu a1, a3, v0                           |     a1 = a3 + v0;
    0x00061b30 jalr t9                                   |     t9 ();
    0x00061b34 lw gp, 0x30(sp)                           |     gp = *(var_30h);
    0x00061b38 lw t9, -0x7f14(gp)                        |     t9 = sym.imp.close;
    0x00061b3c move a0, s7                               |     a0 = s7;
    0x00061b40 jalr t9                                   |     t9 ();
    0x00061b44 lw gp, 0x30(sp)                           |     gp = *(var_30h);
    0x00061b48 lw v1, 0x108(sp)                          |     v1 = *(var_108h);
    0x00061b4c b 0x61778                                 |     goto label_4;
                                                         | label_23:
    0x00061b50 lw t9, -0x7adc(gp)                        |     t9 = sym.imp.IMP_Log_Get_Option;
    0x00061b54 sw v0, 0x12c(sp)                          |     *(var_12ch) = v0;
    0x00061b58 jalr t9                                   |     t9 ();
    0x00061b5c lw gp, 0x30(sp)                           |     gp = *(var_30h);
    0x00061b60 addiu a1, zero, 0x1d9                     |     a1 = 0x1d9;
    0x00061b64 lw a0, 8(s1)                              |     a0 = *((s1 + 2));
    0x00061b68 sw a1, 0x14(sp)                           |     *(var_14h) = a1;
    0x00061b6c lw a1, -0x7fc8(gp)                        |     a1 = *(gp);
    0x00061b70 lw v1, 0x12c(sp)                          |     v1 = *(var_12ch);
    0x00061b74 lw t9, -0x79d0(gp)                        |     t9 = sym.imp.imp_log_fun;
                                                         |     /* str.fifo_num_error:_d__group__group_index___d_n */
    0x00061b78 addiu a1, a1, -0x1df8                     |     a1 += -0x1df8;
    0x00061b7c sw s5, 0x10(sp)                           |     *(var_10h) = s5;
    0x00061b80 sw s7, 0x18(sp)                           |     *(var_18h) = s7;
    0x00061b84 sw a1, 0x1c(sp)                           |     *(var_1ch) = a1;
    0x00061b88 sw v1, 0x20(sp)                           |     *(var_20h) = v1;
    0x00061b8c sw a0, 0x24(sp)                           |     *(var_24h) = a0;
                                                         |     do {
                                                         | label_16:
    0x00061b90 move a1, v0                               |         a1 = v0;
                                                         |         /* str.Framesource */
    0x00061b94 addiu a3, s4, -0x1f70                     |         a3 = s4 + -aav.0x00001f70;
    0x00061b98 addiu a0, zero, 6                         |         a0 = 6;
    0x00061b9c addiu a2, zero, 2                         |         a2 = 2;
    0x00061ba0 jalr t9                                   |         t9 ();
    0x00061ba4 lw ra, 0x15c(sp)                          |         ra = *(var_15ch);
    0x00061ba8 lw fp, 0x158(sp)                          |         fp = *(var_158h);
    0x00061bac lw s7, 0x154(sp)                          |         s7 = *(var_154h);
    0x00061bb0 lw s6, 0x150(sp)                          |         s6 = *(var_150h);
    0x00061bb4 lw s5, 0x14c(sp)                          |         s5 = *(var_14ch);
    0x00061bb8 lw s4, 0x148(sp)                          |         s4 = *(var_148h);
    0x00061bbc lw s3, 0x144(sp)                          |         s3 = *(var_144h);
    0x00061bc0 lw s2, 0x140(sp)                          |         s2 = *(var_140h);
    0x00061bc4 lw s1, 0x13c(sp)                          |         s1 = *(var_13ch);
    0x00061bc8 lw s0, 0x138(sp)                          |         s0 = *(var_138h);
    0x00061bcc addiu v0, zero, -1                        |         v0 = -1;
    0x00061bd0 addiu sp, sp, 0x160                       |         
    0x00061bd4 jr ra                                     |         return v0;
                                                         | label_26:
    0x00061bd8 lw t9, -0x7adc(gp)                        |         t9 = sym.imp.IMP_Log_Get_Option;
    0x00061bdc jalr t9                                   |         t9 ();
    0x00061be0 nop                                       |         
    0x00061be4 lw gp, 0x30(sp)                           |         gp = *(var_30h);
    0x00061be8 addiu a0, zero, 0x206                     |         a0 = 0x206;
    0x00061bec lw v1, 8(s1)                              |         v1 = *((s1 + 2));
    0x00061bf0 sw a0, 0x14(sp)                           |         *(var_14h) = a0;
    0x00061bf4 lw a0, -0x7fc8(gp)                        |         a0 = *(gp);
    0x00061bf8 sw s5, 0x10(sp)                           |         *(var_10h) = s5;
    0x00061bfc lw t9, -0x79d0(gp)                        |         t9 = sym.imp.imp_log_fun;
                                                         |         /* str.fifo_get_error:_d__group__group_index___d_n */
    0x00061c00 addiu a0, a0, -0x1d6c                     |         a0 += -0x1d6c;
    0x00061c04 sw s7, 0x18(sp)                           |         *(var_18h) = s7;
    0x00061c08 sw a0, 0x1c(sp)                           |         *(var_1ch) = a0;
    0x00061c0c sw fp, 0x20(sp)                           |         *(var_20h) = fp;
    0x00061c10 sw v1, 0x24(sp)                           |         *(var_24h) = v1;
    0x00061c14 b 0x61b90                                 |         
                                                         |     } while (1);
                                                         | label_28:
    0x00061c18 lw v0, 0x180(s0)                          |     v0 = *(s0);
    0x00061c1c lw t9, -0x7bd0(gp)                        |     t9 = sym.imp.pthread_mutex_unlock;
                                                         |     if (v0 == 0) {
    0x00061c20 beqz v0, 0x61650                          |         goto label_6;
                                                         |     }
    0x00061c24 lw s7, 4(v0)                              |     s7 = *((v0 + 1));
                                                         |     if (v0 != s7) {
    0x00061c28 bne v0, s7, 0x61554                       |         goto label_7;
                                                         |     }
    0x00061c2c nop                                       |     
    0x00061c30 b 0x61650                                 |     goto label_6;
    0x00061c34 nop                                       |     
                                                         | label_29:
    0x00061c38 lw v1, 8(v0)                              |     v1 = *((v0 + 2));
    0x00061c3c lw a2, 0xc(v0)                            |     a2 = *((v0 + 3));
    0x00061c40 lw t9, -0x7670(gp)                        |     t9 = sym.imp.memcpy;
    0x00061c44 lw a1, 0x1c(v0)                           |     a1 = *((v0 + 7));
    0x00061c48 mul a2, a2, v1                            |     __asm ("mul a2, a2, v1");
    0x00061c4c jalr t9                                   |     t9 ();
    0x00061c50 lw v0, 0x108(sp)                          |     v0 = *(var_108h);
    0x00061c54 addiu a1, zero, -0x10                     |     a1 = -0x10;
    0x00061c58 lw gp, 0x30(sp)                           |     gp = *(var_30h);
    0x00061c5c lw a2, 0xc(v0)                            |     a2 = *((v0 + 3));
    0x00061c60 lw v1, 8(v0)                              |     v1 = *((v0 + 2));
    0x00061c64 lw a0, 0x1c(fp)                           |     a0 = *(arg_1ch);
    0x00061c68 addiu a3, a2, 0xf                         |     a3 = a2 + 0xf;
    0x00061c6c and a1, a3, a1                            |     a1 = a3 & a1;
    0x00061c70 mul a2, a2, v1                            |     __asm ("mul a2, a2, v1");
    0x00061c74 lw v0, 0x1c(v0)                           |     v0 = *((v0 + 7));
    0x00061c78 lw t9, -0x7670(gp)                        |     t9 = sym.imp.memcpy;
    0x00061c7c mul a3, a1, v1                            |     __asm ("mul a3, a1, v1");
    0x00061c80 addu a0, a2, a0                           |     a0 = a2 + a0;
    0x00061c84 srl a2, a2, 1                             |     a2 >>= 1;
    0x00061c88 addu a1, a3, v0                           |     a1 = a3 + v0;
    0x00061c8c jalr t9                                   |     t9 ();
    0x00061c90 lw v1, 0x108(sp)                          |     v1 = *(var_108h);
    0x00061c94 lw gp, 0x30(sp)                           |     gp = *(var_30h);
    0x00061c98 lw a0, 8(v1)                              |     a0 = *((v1 + 2));
    0x00061c9c lw v0, 0xc(v1)                            |     v0 = *((v1 + 3));
    0x00061ca0 mul v0, a0, v0                            |     __asm ("mul v0, a0, v0");
    0x00061ca4 sll v1, v0, 1                             |     v1 = v0 << 1;
    0x00061ca8 addu v0, v1, v0                           |     v0 = v1 + v0;
    0x00061cac srl v0, v0, 1                             |     v0 >>= 1;
    0x00061cb0 sw v0, 0x14(fp)                           |     *(arg_14h) = v0;
    0x00061cb4 b 0x61628                                 |     goto label_8;
                                                         | label_37:
    0x00061cb8 lw s7, 0x198(s0)                          |     s7 = *(s0);
    0x00061cbc lw fp, 0x108(sp)                          |     fp = *(var_108h);
    0x00061cc0 jalr t9                                   |     t9 ();
    0x00061cc4 lw gp, 0x30(sp)                           |     gp = *(var_30h);
    0x00061cc8 addiu a1, zero, 0x160                     |     a1 = aav.0x00000160;
    0x00061ccc sw a1, 0x14(sp)                           |     *(var_14h) = a1;
    0x00061cd0 lw a0, -0x7fc8(gp)                        |     a0 = *(gp);
    0x00061cd4 lw a1, -0x7fc8(gp)                        |     a1 = *(gp);
    0x00061cd8 lw t9, -0x79d0(gp)                        |     t9 = sym.imp.imp_log_fun;
                                                         |     /* obj.__func__.8472 */
    0x00061cdc addiu a0, a0, -0xb98                      |     a0 += -0xb98;
                                                         |     /* str._s:_offx_d_offy_d_n */
    0x00061ce0 addiu a1, a1, -0x1d20                     |     a1 += -0x1d20;
                                                         |     /* str.Framesource */
    0x00061ce4 addiu a3, s4, -0x1f70                     |     a3 = s4 + -aav.0x00001f70;
    0x00061ce8 sw a0, 0x18(sp)                           |     *(var_18h) = a0;
    0x00061cec sw a1, 0x1c(sp)                           |     *(var_1ch) = a1;
    0x00061cf0 sw a0, 0x20(sp)                           |     *(var_20h) = a0;
    0x00061cf4 move a1, v0                               |     a1 = v0;
    0x00061cf8 addiu a0, zero, 2                         |     a0 = 2;
    0x00061cfc sw s5, 0x10(sp)                           |     *(var_10h) = s5;
    0x00061d00 sw s6, 0x24(sp)                           |     *(var_24h) = s6;
    0x00061d04 sw s7, 0x28(sp)                           |     *(var_28h) = s7;
    0x00061d08 addiu a2, zero, 2                         |     a2 = 2;
    0x00061d0c jalr t9                                   |     t9 ();
    0x00061d10 sra a0, s7, 0x1f                          |     a0 = s7 >> 0x1f;
    0x00061d14 lw v0, 0xc(fp)                            |     v0 = *(arg_ch);
    0x00061d18 xor s4, a0, s7                            |     s4 = a0 ^ s7;
    0x00061d1c subu s4, s4, a0                           |     __asm ("subu s4, s4, a0");
    0x00061d20 subu t0, v0, s4                           |     __asm ("subu t0, v0, s4");
    0x00061d24 lw gp, 0x30(sp)                           |     gp = *(var_30h);
    0x00061d28 move a3, t0                               |     a3 = t0;
                                                         |     if (s7 <= 0) {
    0x00061d2c blez s7, 0x61df0                          |         goto label_41;
                                                         |     }
                                                         | label_38:
    0x00061d30 lw s7, 8(fp)                              |     s7 = *(arg_8h);
    0x00061d34 lw s5, 0x1c(fp)                           |     s5 = *(arg_1ch);
    0x00061d38 lw t9, -0x7560(gp)                        |     t9 = sym.imp.memmove;
    0x00061d3c mul v1, s4, s7                            |     __asm ("mul v1, s4, s7");
    0x00061d40 sw t0, 0x134(sp)                          |     *(var_134h) = t0;
    0x00061d44 move a1, s5                               |     a1 = s5;
    0x00061d48 mul a2, v0, s7                            |     __asm ("mul a2, v0, s7");
    0x00061d4c addu t1, v1, s5                           |     t1 = v1 + s5;
    0x00061d50 srl v1, v1, 1                             |     v1 >>= 1;
    0x00061d54 move a0, t1                               |     a0 = t1;
    0x00061d58 mul a3, a3, s7                            |     __asm ("mul a3, a3, s7");
    0x00061d5c addu s7, a2, s5                           |     s7 = a2 + s5;
    0x00061d60 addu v1, v1, s7                           |     v1 += s7;
    0x00061d64 sw v1, 0x110(sp)                          |     *(var_110h) = v1;
    0x00061d68 move a2, a3                               |     a2 = a3;
    0x00061d6c sw a3, 0x118(sp)                          |     *(var_118h) = a3;
    0x00061d70 jalr t9                                   |     t9 ();
    0x00061d74 lw a2, 8(fp)                              |     a2 = *(arg_8h);
    0x00061d78 lw gp, 0x30(sp)                           |     gp = *(var_30h);
    0x00061d7c move a0, s5                               |     a0 = s5;
    0x00061d80 mul a2, s4, a2                            |     __asm ("mul a2, s4, a2");
    0x00061d84 lw t9, -0x7b18(gp)                        |     t9 = sym.imp.memset;
    0x00061d88 move a1, zero                             |     a1 = 0;
    0x00061d8c sw v0, 0x130(sp)                          |     *(var_130h) = v0;
    0x00061d90 jalr t9                                   |     t9 ();
    0x00061d94 lw a3, 0x118(sp)                          |     a3 = *(var_118h);
    0x00061d98 lw gp, 0x30(sp)                           |     gp = *(var_30h);
    0x00061d9c lw a0, 0x110(sp)                          |     a0 = *(var_110h);
    0x00061da0 srl a2, a3, 0x1f                          |     a2 = a3 >> 0x1f;
    0x00061da4 lw t9, -0x7560(gp)                        |     t9 = sym.imp.memmove;
    0x00061da8 addu a2, a2, a3                           |     a2 += a3;
    0x00061dac move a1, s7                               |     a1 = s7;
    0x00061db0 sra a2, a2, 1                             |     a2 >>= 1;
    0x00061db4 jalr t9                                   |     t9 ();
    0x00061db8 lw a2, 8(fp)                              |     a2 = *(arg_8h);
    0x00061dbc lw gp, 0x30(sp)                           |     gp = *(var_30h);
    0x00061dc0 move a0, s7                               |     a0 = s7;
    0x00061dc4 mul a2, s4, a2                            |     __asm ("mul a2, s4, a2");
    0x00061dc8 lw t9, -0x7b18(gp)                        |     t9 = sym.imp.memset;
    0x00061dcc addiu a1, zero, 0x80                      |     a1 = 0x80;
    0x00061dd0 srl a2, a2, 1                             |     a2 >>= 1;
    0x00061dd4 jalr t9                                   |     t9 ();
    0x00061dd8 lw gp, 0x30(sp)                           |     gp = *(var_30h);
    0x00061ddc lw t0, 0x134(sp)                          |     t0 = *(var_134h);
    0x00061de0 lw t1, 0x130(sp)                          |     t1 = *(var_130h);
                                                         |     if (s6 == 0) {
    0x00061de4 beqz s6, 0x619f0                          |         goto label_9;
                                                         |     }
    0x00061de8 sra v0, s6, 0x1f                          |     v0 = s6 >> 0x1f;
    0x00061dec b 0x61e10                                 |     goto label_42;
                                                         |     if (s7 != 0) {
                                                         | label_41:
    0x00061df0 bnez s7, 0x61930                          |         goto label_10;
                                                         |     }
    0x00061df4 nop                                       |     
    0x00061df8 lw v1, 8(fp)                              |     v1 = *(arg_8h);
    0x00061dfc lw t1, 0x1c(fp)                           |     t1 = *(arg_1ch);
    0x00061e00 mul t2, v0, v1                            |     __asm ("mul t2, v0, v1");
    0x00061e04 addu a3, t2, t1                           |     a3 = t2 + t1;
    0x00061e08 sw a3, 0x110(sp)                          |     *(var_110h) = a3;
                                                         | label_39:
    0x00061e0c sra v0, s6, 0x1f                          |     v0 = s6 >> 0x1f;
                                                         | label_42:
    0x00061e10 lw a3, 8(fp)                              |     a3 = *(arg_8h);
    0x00061e14 xor s5, v0, s6                            |     s5 = v0 ^ s6;
    0x00061e18 subu s5, s5, v0                           |     __asm ("subu s5, s5, v0");
    0x00061e1c subu s7, a3, s5                           |     __asm ("subu s7, a3, s5");
    0x00061e20 move s4, zero                             |     s4 = 0;
                                                         |     if (t0 > 0) {
    0x00061e24 bgtz t0, 0x61e7c                          |         goto label_43;
                                                         |     }
    0x00061e28 srl v0, t0, 0x1f                          |     v0 = t0 >> 0x1f;
    0x00061e2c b 0x62068                                 |     goto label_44;
                                                         |     do {
    0x00061e30 move a0, a3                               |         a0 = a3;
    0x00061e34 addu a1, s5, a3                           |         a1 = s5 + a3;
    0x00061e38 sw t0, 0x134(sp)                          |         *(var_134h) = t0;
    0x00061e3c sw t1, 0x130(sp)                          |         *(var_130h) = t1;
    0x00061e40 move a2, s7                               |         a2 = s7;
    0x00061e44 jalr t9                                   |         t9 ();
    0x00061e48 lw gp, 0x30(sp)                           |         gp = *(var_30h);
    0x00061e4c addu a0, s7, v0                           |         a0 = s7 + v0;
    0x00061e50 move a1, zero                             |         a1 = 0;
    0x00061e54 lw t9, -0x7b18(gp)                        |         t9 = sym.imp.memset;
    0x00061e58 move a2, s5                               |         a2 = s5;
    0x00061e5c jalr t9                                   |         t9 ();
    0x00061e60 lw gp, 0x30(sp)                           |         gp = *(var_30h);
    0x00061e64 lw t1, 0x130(sp)                          |         t1 = *(var_130h);
    0x00061e68 lw t0, 0x134(sp)                          |         t0 = *(var_134h);
                                                         | label_11:
    0x00061e6c addiu s4, s4, 1                           |         s4++;
    0x00061e70 srl v0, t0, 0x1f                          |         v0 = t0 >> 0x1f;
                                                         |         if (s4 == t0) {
    0x00061e74 beq s4, t0, 0x62068                       |             goto label_44;
                                                         |         }
    0x00061e78 lw a3, 8(fp)                              |         a3 = *(arg_8h);
                                                         | label_43:
    0x00061e7c mul v1, s4, a3                            |         __asm ("mul v1, s4, a3");
    0x00061e80 lw t9, -0x7560(gp)                        |         t9 = sym.imp.memmove;
    0x00061e84 move a2, s7                               |         a2 = s7;
    0x00061e88 addu a3, v1, t1                           |         a3 = v1 + t1;
    0x00061e8c blez s6, 0x61e30                          |         
                                                         |     } while (s6 <= 0);
    0x00061e90 addu a0, s5, a3                           |     a0 = s5 + a3;
    0x00061e94 move a1, a3                               |     a1 = a3;
    0x00061e98 sw t0, 0x134(sp)                          |     *(var_134h) = t0;
    0x00061e9c sw t1, 0x130(sp)                          |     *(var_130h) = t1;
    0x00061ea0 sw a3, 0x118(sp)                          |     *(var_118h) = a3;
    0x00061ea4 jalr t9                                   |     t9 ();
    0x00061ea8 lw gp, 0x30(sp)                           |     gp = *(var_30h);
    0x00061eac lw a3, 0x118(sp)                          |     a3 = *(var_118h);
    0x00061eb0 move a1, zero                             |     a1 = 0;
    0x00061eb4 lw t9, -0x7b18(gp)                        |     t9 = sym.imp.memset;
    0x00061eb8 move a0, a3                               |     a0 = a3;
    0x00061ebc move a2, s5                               |     a2 = s5;
    0x00061ec0 jalr t9                                   |     t9 ();
    0x00061ec4 lw gp, 0x30(sp)                           |     gp = *(var_30h);
    0x00061ec8 lw t0, 0x134(sp)                          |     t0 = *(var_134h);
    0x00061ecc lw t1, 0x130(sp)                          |     t1 = *(var_130h);
    0x00061ed0 b 0x61e6c                                 |     goto label_11;
                                                         | label_24:
    0x00061ed4 lw t9, -0x7648(gp)                        |     t9 = sym.VBMGetFrame;
    0x00061ed8 lw a0, 8(s1)                              |     a0 = *((s1 + 2));
    0x00061edc addiu a2, sp, 0x108                       |     a2 = sp + aav.0x00000108;
    0x00061ee0 sw a2, 0x110(sp)                          |     *(var_110h) = a2;
    0x00061ee4 move a1, a2                               |     a1 = a2;
    0x00061ee8 jalr t9                                   |     t9 ();
    0x00061eec move s2, v0                               |     s2 = v0;
    0x00061ef0 lw gp, 0x30(sp)                           |     gp = *(var_30h);
                                                         |     if (v0 < 0) {
    0x00061ef4 bltz v0, 0x622f0                          |         goto label_45;
                                                         |     }
    0x00061ef8 lw v0, 0x1c8(s0)                          |     v0 = *(s0);
    0x00061efc lw t9, -0x7654(gp)                        |     t9 = sym.fifo_put;
                                                         |     if (v0 != 0) {
    0x00061f00 beqz v0, 0x61f4c                          |         
    0x00061f04 lw a0, 0x108(sp)                          |         a0 = *(var_108h);
    0x00061f08 lw v0, 0x1c4(s0)                          |         v0 = *(s0);
    0x00061f0c lw v1, 0x24(a0)                           |         v1 = *((a0 + 9));
    0x00061f10 sltu a1, v0, v1                           |         a1 = (v0 < v1) ? 1 : 0;
    0x00061f14 lw t9, -0x74a8(gp)                        |         t9 = sym.imp.pthread_cond_signal;
                                                         |         if (a1 == 0) {
    0x00061f18 bnez a1, 0x61f3c                          |             
    0x00061f1c lw t9, -0x7654(gp)                        |             t9 = sym.fifo_put;
                                                         |             if (v1 != v0) {
    0x00061f20 bne v1, v0, 0x61f4c                       |                 goto label_46;
                                                         |             }
    0x00061f24 lw v1, 0x20(a0)                           |             v1 = *((a0 + 8));
    0x00061f28 lw v0, 0x1c0(s0)                          |             v0 = *(s0);
    0x00061f2c sltu v0, v0, v1                           |             v0 = (v0 < v1) ? 1 : 0;
    0x00061f30 lw a1, 0x110(sp)                          |             a1 = *(var_110h);
                                                         |             if (v0 == 0) {
    0x00061f34 beqz v0, 0x61f50                          |                 goto label_47;
                                                         |             }
    0x00061f38 lw t9, -0x74a8(gp)                        |             t9 = sym.imp.pthread_cond_signal;
                                                         |         }
    0x00061f3c addiu a0, s0, 0x1d0                       |         a0 = s0 + aav.0x000001d0;
    0x00061f40 jalr t9                                   |         t9 ();
    0x00061f44 lw gp, 0x30(sp)                           |         gp = *(var_30h);
    0x00061f48 lw t9, -0x7654(gp)                        |         t9 = sym.fifo_put;
                                                         |     }
                                                         | label_46:
    0x00061f4c lw a1, 0x110(sp)                          |     a1 = *(var_110h);
                                                         | label_47:
    0x00061f50 move a0, fp                               |     a0 = fp;
    0x00061f54 jalr t9                                   |     t9 ();
    0x00061f58 move s0, v0                               |     s0 = v0;
    0x00061f5c lw gp, 0x30(sp)                           |     gp = *(var_30h);
                                                         |     if (v0 != 0) {
    0x00061f60 bnez v0, 0x622b0                          |         goto label_48;
                                                         |     }
    0x00061f64 lw v0, 4(s1)                              |     v0 = *((s1 + 1));
    0x00061f68 lw a0, 0x3c(v0)                           |     a0 = *((v0 + 15));
    0x00061f6c sll a0, a0, 2                             |     a0 <<= 2;
                                                         |     if (a0 <= 0) {
    0x00061f70 blez a0, 0x616b0                          |         goto label_2;
                                                         |     }
    0x00061f74 move v0, zero                             |     v0 = 0;
                                                         |     do {
    0x00061f78 addu v1, s1, v0                           |         v1 = s1 + v0;
    0x00061f7c addiu v0, v0, 4                           |         v0 += 4;
    0x00061f80 sw zero, 0x10(v1)                         |         *((v1 + 4)) = 0;
    0x00061f84 bne v0, a0, 0x61f78                       |         
                                                         |     } while (v0 != a0);
    0x00061f88 move v0, zero                             |     v0 = 0;
    0x00061f8c b 0x616b4                                 |     goto label_3;
                                                         | label_36:
    0x00061f90 lw a1, 0x40(t0)                           |     a1 = *((t0 + 16));
    0x00061f94 lw t9, -0x771c(gp)                        |     t9 = sym.imp.sem_wait;
                                                         |     if (a1 != v0) {
    0x00061f98 bne a1, v0, 0x61894                       |         goto label_12;
                                                         |     }
    0x00061f9c addiu a0, t0, 0x1a0                       |     a0 = t0 + aav.0x000001a0;
    0x00061fa0 sw v1, 0x12c(sp)                          |     *(var_12ch) = v1;
    0x00061fa4 sw a1, 0x11c(sp)                          |     *(var_11ch) = a1;
    0x00061fa8 sw a2, 0x118(sp)                          |     *(var_118h) = a2;
    0x00061fac sw t0, 0x134(sp)                          |     *(var_134h) = t0;
    0x00061fb0 sw t2, 0x128(sp)                          |     *(var_128h) = t2;
    0x00061fb4 sw t3, 0x124(sp)                          |     *(var_124h) = t3;
    0x00061fb8 sw t4, 0x120(sp)                          |     *(var_120h) = t4;
    0x00061fbc sw a0, 0x110(sp)                          |     *(var_110h) = a0;
    0x00061fc0 jalr t9                                   |     t9 ();
    0x00061fc4 lw t0, 0x134(sp)                          |     t0 = *(var_134h);
    0x00061fc8 lw a2, 0x118(sp)                          |     a2 = *(var_118h);
    0x00061fcc lw gp, 0x30(sp)                           |     gp = *(var_30h);
    0x00061fd0 lw v0, 4(t0)                              |     v0 = *((t0 + 1));
    0x00061fd4 lw v1, 0x12c(sp)                          |     v1 = *(var_12ch);
    0x00061fd8 lw a1, 0x11c(sp)                          |     a1 = *(var_11ch);
    0x00061fdc lw t2, 0x128(sp)                          |     t2 = *(var_128h);
    0x00061fe0 lw t3, 0x124(sp)                          |     t3 = *(var_124h);
    0x00061fe4 lw t4, 0x120(sp)                          |     t4 = *(var_120h);
                                                         |     if (v0 != a2) {
    0x00061fe8 bne v0, a2, 0x61894                       |         goto label_12;
                                                         |     }
    0x00061fec lw v0, 0x40(t0)                           |     v0 = *((t0 + 16));
                                                         |     if (v0 != a1) {
    0x00061ff0 bne v0, a1, 0x61894                       |         goto label_12;
                                                         |     }
    0x00061ff4 nop                                       |     
    0x00061ff8 lw v0, 0x19c(t0)                          |     v0 = *(t0);
    0x00061ffc lw a1, (v0)                               |     a1 = *(v0);
    0x00062000 lw t9, -0x772c(gp)                        |     t9 = sym.imp.sem_post;
                                                         |     if (a1 <= 0) {
    0x00062004 blez a1, 0x62038                          |         goto label_19;
                                                         |     }
    0x00062008 lw a0, 8(v0)                              |     a0 = *((v0 + 2));
    0x0006200c move t1, zero                             |     t1 = 0;
                                                         |     if (a0 != 0) {
    0x00062010 bnez a0, 0x62028                          |         goto label_49;
                                                         |     }
    0x00062014 lw a0, (t0)                               |     a0 = *(t0);
    0x00062018 b 0x6233c                                 |     goto label_50;
                                                         |     do {
    0x0006201c lw a0, 8(v0)                              |         a0 = *((v0 + 2));
                                                         |         if (a0 == 0) {
    0x00062020 beqz a0, 0x62330                          |             goto label_51;
                                                         |         }
    0x00062024 nop                                       |         
                                                         | label_49:
    0x00062028 addiu t1, t1, 1                           |         t1++;
    0x0006202c addiu v0, v0, 4                           |         v0 += 4;
    0x00062030 bne t1, a1, 0x6201c                       |         
                                                         |     } while (t1 != a1);
    0x00062034 lw t9, -0x772c(gp)                        |     t9 = sym.imp.sem_post;
                                                         | label_19:
    0x00062038 lw a0, 0x110(sp)                          |     a0 = *(var_110h);
    0x0006203c sw v1, 0x12c(sp)                          |     *(var_12ch) = v1;
    0x00062040 sw t2, 0x128(sp)                          |     *(var_128h) = t2;
    0x00062044 sw t3, 0x124(sp)                          |     *(var_124h) = t3;
    0x00062048 sw t4, 0x120(sp)                          |     *(var_120h) = t4;
    0x0006204c jalr t9                                   |     t9 ();
    0x00062050 lw gp, 0x30(sp)                           |     gp = *(var_30h);
    0x00062054 lw t4, 0x120(sp)                          |     t4 = *(var_120h);
    0x00062058 lw t3, 0x124(sp)                          |     t3 = *(var_124h);
    0x0006205c lw t2, 0x128(sp)                          |     t2 = *(var_128h);
    0x00062060 lw v1, 0x12c(sp)                          |     v1 = *(var_12ch);
    0x00062064 b 0x61894                                 |     goto label_12;
                                                         | label_44:
    0x00062068 addu t0, v0, t0                           |     t0 = v0 + t0;
    0x0006206c sra t0, t0, 1                             |     t0 >>= 1;
    0x00062070 move s4, zero                             |     s4 = 0;
                                                         |     if (t0 <= 0) {
    0x00062074 blez t0, 0x619f0                          |         goto label_9;
                                                         |     }
    0x00062078 lw a3, 8(fp)                              |     a3 = *(arg_8h);
    0x0006207c lw v1, 0x110(sp)                          |     v1 = *(var_110h);
    0x00062080 lw t9, -0x7560(gp)                        |     t9 = sym.imp.memmove;
    0x00062084 mul a0, s4, a3                            |     __asm ("mul a0, s4, a3");
    0x00062088 move a2, s7                               |     a2 = s7;
    0x0006208c addu a3, a0, v1                           |     a3 = a0 + v1;
                                                         |     if (s6 > 0) {
    0x00062090 bgtz s6, 0x620ec                          |         goto label_52;
                                                         |     }
                                                         | label_13:
    0x00062094 move a0, a3                               |     a0 = a3;
    0x00062098 move a2, s7                               |     a2 = s7;
    0x0006209c addu a1, s5, a3                           |     a1 = s5 + a3;
    0x000620a0 sw t0, 0x134(sp)                          |     *(var_134h) = t0;
    0x000620a4 jalr t9                                   |     t9 ();
    0x000620a8 lw gp, 0x30(sp)                           |     gp = *(var_30h);
    0x000620ac addu a0, s7, v0                           |     a0 = s7 + v0;
    0x000620b0 lw t9, -0x7b18(gp)                        |     t9 = sym.imp.memset;
                                                         | label_14:
    0x000620b4 addiu a1, zero, 0x80                      |     a1 = 0x80;
    0x000620b8 move a2, s5                               |     a2 = s5;
    0x000620bc jalr t9                                   |     t9 ();
    0x000620c0 lw t0, 0x134(sp)                          |     t0 = *(var_134h);
    0x000620c4 addiu s4, s4, 1                           |     s4++;
    0x000620c8 lw gp, 0x30(sp)                           |     gp = *(var_30h);
                                                         |     if (s4 == t0) {
    0x000620cc beq s4, t0, 0x619f0                       |         goto label_9;
                                                         |     }
    0x000620d0 lw a3, 8(fp)                              |     a3 = *(arg_8h);
    0x000620d4 lw v1, 0x110(sp)                          |     v1 = *(var_110h);
    0x000620d8 lw t9, -0x7560(gp)                        |     t9 = sym.imp.memmove;
    0x000620dc mul a0, s4, a3                            |     __asm ("mul a0, s4, a3");
    0x000620e0 move a2, s7                               |     a2 = s7;
    0x000620e4 addu a3, a0, v1                           |     a3 = a0 + v1;
                                                         |     if (s6 <= 0) {
    0x000620e8 blez s6, 0x62094                          |         goto label_13;
                                                         |     }
                                                         | label_52:
    0x000620ec addu a0, s5, a3                           |     a0 = s5 + a3;
    0x000620f0 move a1, a3                               |     a1 = a3;
    0x000620f4 sw a3, 0x118(sp)                          |     *(var_118h) = a3;
    0x000620f8 sw t0, 0x134(sp)                          |     *(var_134h) = t0;
    0x000620fc jalr t9                                   |     t9 ();
    0x00062100 lw gp, 0x30(sp)                           |     gp = *(var_30h);
    0x00062104 lw a3, 0x118(sp)                          |     a3 = *(var_118h);
    0x00062108 lw t9, -0x7b18(gp)                        |     t9 = sym.imp.memset;
    0x0006210c move a0, a3                               |     a0 = a3;
    0x00062110 b 0x620b4                                 |     goto label_14;
                                                         | label_25:
    0x00062114 lw t9, -0x7648(gp)                        |     t9 = sym.VBMGetFrame;
    0x00062118 lw a0, 8(s1)                              |     a0 = *((s1 + 2));
    0x0006211c addiu t2, sp, 0x108                       |     t2 = sp + aav.0x00000108;
    0x00062120 sw t2, 0x110(sp)                          |     *(var_110h) = t2;
    0x00062124 move a1, t2                               |     a1 = t2;
    0x00062128 jalr t9                                   |     t9 ();
    0x0006212c lw gp, 0x30(sp)                           |     gp = *(var_30h);
                                                         |     if (v0 < 0) {
    0x00062130 bltz v0, 0x6253c                          |         goto label_53;
                                                         |     }
    0x00062134 lw v0, 0x1c8(s0)                          |     v0 = *(s0);
    0x00062138 lw t9, -0x7bec(gp)                        |     t9 = sym.fifo_get;
                                                         |     if (v0 != 0) {
    0x0006213c beqz v0, 0x62188                          |         
    0x00062140 lw a0, 0x108(sp)                          |         a0 = *(var_108h);
    0x00062144 lw v0, 0x1c4(s0)                          |         v0 = *(s0);
    0x00062148 lw v1, 0x24(a0)                           |         v1 = *((a0 + 9));
    0x0006214c sltu a1, v0, v1                           |         a1 = (v0 < v1) ? 1 : 0;
    0x00062150 lw t9, -0x74a8(gp)                        |         t9 = sym.imp.pthread_cond_signal;
                                                         |         if (a1 == 0) {
    0x00062154 bnez a1, 0x62178                          |             
    0x00062158 lw t9, -0x7bec(gp)                        |             t9 = sym.fifo_get;
                                                         |             if (v1 != v0) {
    0x0006215c bne v1, v0, 0x62188                       |                 goto label_54;
                                                         |             }
    0x00062160 lw v1, 0x20(a0)                           |             v1 = *((a0 + 8));
    0x00062164 lw v0, 0x1c0(s0)                          |             v0 = *(s0);
    0x00062168 sltu v0, v0, v1                           |             v0 = (v0 < v1) ? 1 : 0;
    0x0006216c move a0, fp                               |             a0 = fp;
                                                         |             if (v0 == 0) {
    0x00062170 beqz v0, 0x6218c                          |                 goto label_55;
                                                         |             }
    0x00062174 lw t9, -0x74a8(gp)                        |             t9 = sym.imp.pthread_cond_signal;
                                                         |         }
    0x00062178 addiu a0, s0, 0x1d0                       |         a0 = s0 + aav.0x000001d0;
    0x0006217c jalr t9                                   |         t9 ();
    0x00062180 lw gp, 0x30(sp)                           |         gp = *(var_30h);
    0x00062184 lw t9, -0x7bec(gp)                        |         t9 = sym.fifo_get;
                                                         |     }
                                                         | label_54:
    0x00062188 move a0, fp                               |     a0 = fp;
                                                         | label_55:
    0x0006218c addiu a1, sp, 0x104                       |     a1 = sp + aav.0x00000104;
    0x00062190 jalr t9                                   |     t9 ();
    0x00062194 lw gp, 0x30(sp)                           |     gp = *(var_30h);
                                                         |     if (v0 != 0) {
    0x00062198 bnez v0, 0x6226c                          |         goto label_56;
                                                         |     }
    0x0006219c lw t9, -0x7654(gp)                        |     t9 = sym.fifo_put;
    0x000621a0 lw a1, 0x110(sp)                          |     a1 = *(var_110h);
    0x000621a4 move a0, fp                               |     a0 = fp;
    0x000621a8 jalr t9                                   |     t9 ();
    0x000621ac move fp, v0                               |     fp = v0;
    0x000621b0 lw gp, 0x30(sp)                           |     gp = *(var_30h);
                                                         |     if (v0 == 0) {
    0x000621b4 beqz v0, 0x6151c                          |         goto label_15;
                                                         |     }
    0x000621b8 lw t9, -0x7adc(gp)                        |     t9 = sym.imp.IMP_Log_Get_Option;
    0x000621bc jalr t9                                   |     t9 ();
    0x000621c0 nop                                       |     
    0x000621c4 lw gp, 0x30(sp)                           |     gp = *(var_30h);
    0x000621c8 addiu a0, zero, 0x1ff                     |     a0 = 0x1ff;
    0x000621cc lw v1, 8(s1)                              |     v1 = *((s1 + 2));
    0x000621d0 sw a0, 0x14(sp)                           |     *(var_14h) = a0;
    0x000621d4 lw a0, -0x7fc8(gp)                        |     a0 = *(gp);
    0x000621d8 sw s5, 0x10(sp)                           |     *(var_10h) = s5;
    0x000621dc lw t9, -0x79d0(gp)                        |     t9 = sym.imp.imp_log_fun;
                                                         |     /* str.fifo_put_error:_d__group__group_index___d_n */
    0x000621e0 addiu a0, a0, -0x1d98                     |     a0 += -0x1d98;
    0x000621e4 sw s7, 0x18(sp)                           |     *(var_18h) = s7;
    0x000621e8 sw a0, 0x1c(sp)                           |     *(var_1ch) = a0;
    0x000621ec sw fp, 0x20(sp)                           |     *(var_20h) = fp;
    0x000621f0 sw v1, 0x24(sp)                           |     *(var_24h) = v1;
    0x000621f4 b 0x61b90                                 |     goto label_16;
                                                         | label_40:
    0x000621f8 lw v0, 0x114(s0)                          |     v0 = *(s0);
                                                         |     if (v0 == 0) {
    0x000621fc beqz v0, 0x61a20                          |         goto label_17;
                                                         |     }
    0x00062200 nop                                       |     
    0x00062204 lw a0, 0x11c(s0)                          |     a0 = *(s0);
    0x00062208 lw v1, 0x108(sp)                          |     v1 = *(var_108h);
                                                         |     if (a0 == 0) {
    0x0006220c beqz a0, 0x6258c                          |         goto label_57;
                                                         |     }
    0x00062210 lw t0, 0xc(v0)                            |     t0 = *((v0 + 3));
    0x00062214 lw a2, 0x1c(a0)                           |     a2 = *((a0 + 7));
    0x00062218 lw t1, 8(t0)                              |     t1 = *((t0 + 2));
    0x0006221c lw a1, 8(v1)                              |     a1 = *((v1 + 2));
    0x00062220 lw a0, 0x1c(v1)                           |     a0 = *((v1 + 7));
    0x00062224 lw a3, 4(t0)                              |     a3 = *((t0 + 1));
    0x00062228 sw t1, 0x10(sp)                           |     *(var_10h) = t1;
    0x0006222c lw t0, (t0)                               |     t0 = *(t0);
    0x00062230 sw a1, 0x18(sp)                           |     *(var_18h) = a1;
    0x00062234 sw t0, 0x14(sp)                           |     *(var_14h) = t0;
    0x00062238 lw v1, 0xc(v1)                            |     v1 = *((v1 + 3));
    0x0006223c sw v1, 0x1c(sp)                           |     *(var_1ch) = v1;
    0x00062240 lw v1, 0x118(s0)                          |     v1 = *(s0);
    0x00062244 sw v1, 0x20(sp)                           |     *(var_20h) = v1;
    0x00062248 lw t9, 0x14(v0)                           |     t9 = *((v0 + 5));
    0x0006224c jalr t9                                   |     t9 ();
    0x00062250 nop                                       |     
    0x00062254 lw v1, 0x11c(s0)                          |     v1 = *(s0);
    0x00062258 lw v0, 0x108(sp)                          |     v0 = *(var_108h);
    0x0006225c lw gp, 0x30(sp)                           |     gp = *(var_30h);
    0x00062260 sw v1, 0x108(sp)                          |     *(var_108h) = v1;
    0x00062264 sw v0, 0x11c(s0)                          |     *(s0) = v0;
    0x00062268 b 0x61a38                                 |     goto label_18;
                                                         | label_56:
    0x0006226c lw t9, -0x7adc(gp)                        |     t9 = sym.imp.IMP_Log_Get_Option;
    0x00062270 sw v0, 0x12c(sp)                          |     *(var_12ch) = v0;
    0x00062274 jalr t9                                   |     t9 ();
    0x00062278 lw gp, 0x30(sp)                           |     gp = *(var_30h);
    0x0006227c addiu a1, zero, 0x1fa                     |     a1 = 0x1fa;
    0x00062280 lw a0, 8(s1)                              |     a0 = *((s1 + 2));
    0x00062284 sw a1, 0x14(sp)                           |     *(var_14h) = a1;
    0x00062288 lw a1, -0x7fc8(gp)                        |     a1 = *(gp);
    0x0006228c lw v1, 0x12c(sp)                          |     v1 = *(var_12ch);
    0x00062290 sw s5, 0x10(sp)                           |     *(var_10h) = s5;
                                                         |     /* str.fifo_get_error:_d__group__group_index___d_n */
    0x00062294 addiu a1, a1, -0x1d6c                     |     a1 += -0x1d6c;
    0x00062298 lw t9, -0x79d0(gp)                        |     t9 = sym.imp.imp_log_fun;
    0x0006229c sw s7, 0x18(sp)                           |     *(var_18h) = s7;
    0x000622a0 sw a1, 0x1c(sp)                           |     *(var_1ch) = a1;
    0x000622a4 sw v1, 0x20(sp)                           |     *(var_20h) = v1;
    0x000622a8 sw a0, 0x24(sp)                           |     *(var_24h) = a0;
    0x000622ac b 0x61b90                                 |     goto label_16;
                                                         | label_48:
    0x000622b0 lw t9, -0x7adc(gp)                        |     t9 = sym.imp.IMP_Log_Get_Option;
    0x000622b4 jalr t9                                   |     t9 ();
    0x000622b8 nop                                       |     
    0x000622bc lw gp, 0x30(sp)                           |     gp = *(var_30h);
    0x000622c0 addiu a0, zero, 0x1e7                     |     a0 = 0x1e7;
    0x000622c4 lw v1, 8(s1)                              |     v1 = *((s1 + 2));
    0x000622c8 sw a0, 0x14(sp)                           |     *(var_14h) = a0;
    0x000622cc lw a0, -0x7fc8(gp)                        |     a0 = *(gp);
    0x000622d0 sw s5, 0x10(sp)                           |     *(var_10h) = s5;
    0x000622d4 lw t9, -0x79d0(gp)                        |     t9 = sym.imp.imp_log_fun;
                                                         |     /* str.fifo_put_error:_d__group__group_index___d_n */
    0x000622d8 addiu a0, a0, -0x1d98                     |     a0 += -0x1d98;
    0x000622dc sw s7, 0x18(sp)                           |     *(var_18h) = s7;
    0x000622e0 sw a0, 0x1c(sp)                           |     *(var_1ch) = a0;
    0x000622e4 sw s0, 0x20(sp)                           |     *(var_20h) = s0;
    0x000622e8 sw v1, 0x24(sp)                           |     *(var_24h) = v1;
    0x000622ec b 0x61b90                                 |     goto label_16;
                                                         | label_45:
    0x000622f0 lw t9, -0x7adc(gp)                        |     t9 = sym.imp.IMP_Log_Get_Option;
    0x000622f4 jalr t9                                   |     t9 ();
    0x000622f8 nop                                       |     
    0x000622fc lw gp, 0x30(sp)                           |     gp = *(var_30h);
    0x00062300 addiu a0, zero, 0x1df                     |     a0 = 0x1df;
    0x00062304 lw v1, 8(s1)                              |     v1 = *((s1 + 2));
    0x00062308 sw a0, 0x14(sp)                           |     *(var_14h) = a0;
    0x0006230c lw a0, -0x7fc8(gp)                        |     a0 = *(gp);
    0x00062310 sw s5, 0x10(sp)                           |     *(var_10h) = s5;
    0x00062314 lw t9, -0x79d0(gp)                        |     t9 = sym.imp.imp_log_fun;
                                                         |     /* str.VBMGetFrame___error:_d__group__group_index___d_n */
    0x00062318 addiu a0, a0, -0x1dcc                     |     a0 += -0x1dcc;
    0x0006231c sw s7, 0x18(sp)                           |     *(var_18h) = s7;
    0x00062320 sw a0, 0x1c(sp)                           |     *(var_1ch) = a0;
    0x00062324 sw s2, 0x20(sp)                           |     *(var_20h) = s2;
    0x00062328 sw v1, 0x24(sp)                           |     *(var_24h) = v1;
    0x0006232c b 0x61b90                                 |     goto label_16;
                                                         | label_51:
    0x00062330 lw t9, -0x772c(gp)                        |     t9 = sym.imp.sem_post;
                                                         |     if (t1 < 0) {
    0x00062334 bltz t1, 0x62038                          |         goto label_19;
                                                         |     }
    0x00062338 lw a0, (t0)                               |     a0 = *(t0);
                                                         | label_50:
    0x0006233c lw t9, -0x7e84(gp)                        |     t9 = sym.VBMGetFrameInstance;
    0x00062340 move a1, t1                               |     a1 = t1;
    0x00062344 sw v1, 0x12c(sp)                          |     *(var_12ch) = v1;
    0x00062348 sw t0, 0x134(sp)                          |     *(var_134h) = t0;
    0x0006234c sw t1, 0x130(sp)                          |     *(var_130h) = t1;
    0x00062350 sw t2, 0x128(sp)                          |     *(var_128h) = t2;
    0x00062354 sw t3, 0x124(sp)                          |     *(var_124h) = t3;
    0x00062358 sw t4, 0x120(sp)                          |     *(var_120h) = t4;
    0x0006235c jalr t9                                   |     t9 ();
    0x00062360 lw t4, 0x120(sp)                          |     t4 = *(var_120h);
    0x00062364 lw v1, 0x12c(sp)                          |     v1 = *(var_12ch);
    0x00062368 lw t0, 0x134(sp)                          |     t0 = *(var_134h);
    0x0006236c lbu a0, -0x6828(t4)                       |     a0 = *((t4 - 26664));
    0x00062370 lw t1, 0x130(sp)                          |     t1 = *(var_130h);
    0x00062374 lw t2, 0x128(sp)                          |     t2 = *(var_128h);
    0x00062378 lw t3, 0x124(sp)                          |     t3 = *(var_124h);
                                                         |     if (a0 != 0) {
    0x0006237c beqz a0, 0x62390                          |         
                                                         |     }
    0x00062390 lw a2, 8(v0)                              |     a2 = *((v0 + 2));
    0x00062394 lw a3, 0x108(sp)                          |     a3 = *(var_108h);
    0x00062398 lw a1, 0x1c(v0)                           |     a1 = *((v0 + 7));
    0x0006239c addiu t5, zero, -0x10                     |     t5 = -0x10;
    0x000623a0 lw t6, 8(a3)                              |     t6 = *((a3 + 2));
    0x000623a4 lw a0, 0x1c(a3)                           |     a0 = *((a3 + 7));
    0x000623a8 lw a3, 0xc(a3)                            |     a3 = *((a3 + 3));
    0x000623ac sw a2, 0x10(sp)                           |     *(var_10h) = a2;
    0x000623b0 lw a2, 0xc(v0)                            |     a2 = *((v0 + 3));
    0x000623b4 lw t9, (t3)                               |     t9 = *(t3);
    0x000623b8 addiu a3, a3, 0xf                         |     a3 += 0xf;
    0x000623bc addiu a2, a2, 0xf                         |     a2 += 0xf;
    0x000623c0 and a2, a2, t5                            |     a2 &= t5;
    0x000623c4 sw a2, 0x14(sp)                           |     *(var_14h) = a2;
    0x000623c8 lw a2, 0x14(t0)                           |     a2 = *((t0 + 5));
    0x000623cc and a3, a3, t5                            |     a3 &= t5;
    0x000623d0 sltu a2, zero, a2                         |     a2 = (0 < a2) ? 1 : 0;
    0x000623d4 sw a2, 0x18(sp)                           |     *(var_18h) = a2;
    0x000623d8 lw t8, 0x1c(t0)                           |     t8 = *((t0 + 7));
    0x000623dc lw t7, 0x18(t0)                           |     t7 = *((t0 + 6));
    0x000623e0 move a2, t6                               |     a2 = t6;
    0x000623e4 mul ra, t6, t8                            |     __asm ("mul ra, t6, t8");
    0x000623e8 addu t6, ra, t7                           |     t6 = ra + t7;
    0x000623ec sw t6, 0x1c(sp)                           |     *(var_1ch) = t6;
    0x000623f0 lw t6, 0x20(t0)                           |     t6 = *((t0 + 8));
    0x000623f4 sw t6, 0x20(sp)                           |     *(var_20h) = t6;
    0x000623f8 lw t6, 0x24(t0)                           |     t6 = *((t0 + 9));
    0x000623fc sw zero, 0x28(sp)                         |     *(var_28h) = 0;
    0x00062400 addiu t6, t6, 0xf                         |     t6 += 0xf;
    0x00062404 and t6, t6, t5                            |     t6 &= t5;
    0x00062408 sw t6, 0x24(sp)                           |     *(var_24h) = t6;
    0x0006240c lw t6, 0x19c(t0)                          |     t6 = *(t0);
    0x00062410 lw t6, 4(t6)                              |     t6 = *((t6 + 1));
    0x00062414 sw v0, 0x118(sp)                          |     *(var_118h) = v0;
    0x00062418 sw v1, 0x12c(sp)                          |     *(var_12ch) = v1;
    0x0006241c sw t0, 0x134(sp)                          |     *(var_134h) = t0;
    0x00062420 sw t1, 0x130(sp)                          |     *(var_130h) = t1;
    0x00062424 sw t2, 0x128(sp)                          |     *(var_128h) = t2;
    0x00062428 sw t3, 0x124(sp)                          |     *(var_124h) = t3;
    0x0006242c sw t4, 0x120(sp)                          |     *(var_120h) = t4;
    0x00062430 sw t5, 0x11c(sp)                          |     *(var_11ch) = t5;
    0x00062434 sw t6, 0x2c(sp)                           |     *(var_2ch) = t6;
    0x00062438 jalr t9                                   |     t9 ();
    0x0006243c lw t0, 0x134(sp)                          |     t0 = *(var_134h);
    0x00062440 lw v0, 0x118(sp)                          |     v0 = *(var_118h);
    0x00062444 lw t1, 0x130(sp)                          |     t1 = *(var_130h);
    0x00062448 lw a0, 0x10(t0)                           |     a0 = *((t0 + 4));
    0x0006244c lw a2, 0xc(t0)                            |     a2 = *((t0 + 3));
    0x00062450 lw t5, 0x11c(sp)                          |     t5 = *(var_11ch);
    0x00062454 addiu a0, a0, -1                          |     a0 += -1;
    0x00062458 addiu a2, a2, 0xf                         |     a2 += 0xf;
    0x0006245c sltiu a1, a0, 0x1d                        |     a1 = (a0 < 0x1d) ? 1 : 0;
    0x00062460 sw t1, (v0)                               |     *(v0) = t1;
    0x00062464 lw a3, 8(t0)                              |     a3 = *((t0 + 2));
    0x00062468 and a2, a2, t5                            |     a2 &= t5;
    0x0006246c lw v1, 0x12c(sp)                          |     v1 = *(var_12ch);
    0x00062470 lw t2, 0x128(sp)                          |     t2 = *(var_128h);
    0x00062474 lw t3, 0x124(sp)                          |     t3 = *(var_124h);
    0x00062478 lw t4, 0x120(sp)                          |     t4 = *(var_120h);
                                                         |     if (a1 == 0) {
    0x0006247c beqz a1, 0x62580                          |         goto label_58;
                                                         |     }
    0x00062480 mul a2, a3, a2                            |     __asm ("mul a2, a3, a2");
    0x00062484 sll a0, a0, 2                             |     a0 <<= 2;
    0x00062488 addu a1, a0, s7                           |     a1 = a0 + s7;
    0x0006248c lw a1, (a1)                               |     a1 = *(a1);
    0x00062490 addu a0, a0, fp                           |     a0 += fp;
    0x00062494 lw a0, (a0)                               |     a0 = *(a0);
    0x00062498 mul a1, a2, a1                            |     __asm ("mul a1, a2, a1");
                                                         | label_21:
    0x0006249c sll t1, t1, 2                             |     t1 <<= 2;
    0x000624a0 div zero, a1, a0                          |     __asm ("div zero, a1, a0");
    0x000624a4 teq a0, zero, 7                           |     __asm ("teq a0, zero, 7");
    0x000624a8 lw a1, 0x108(sp)                          |     a1 = *(var_108h);
    0x000624ac lw a0, 0x19c(t0)                          |     a0 = *(t0);
    0x000624b0 lw a3, 0x24(a1)                           |     a3 = *((a1 + 9));
    0x000624b4 addu a0, a0, t1                           |     a0 += t1;
    0x000624b8 mflo a2                                   |     __asm ("mflo a2");
    0x000624bc mtc1 a2, f0                               |     __asm ("mtc1 a2, f0");
    0x000624c0 lw a2, 0x20(a1)                           |     a2 = *((a1 + 8));
    0x000624c4 swc1 f0, 0x14(v0)                         |     __asm ("swc1 f0, 0x14(v0)");
    0x000624c8 sw a3, 0x24(v0)                           |     *((v0 + 9)) = a3;
    0x000624cc sw a2, 0x20(v0)                           |     *((v0 + 8)) = a2;
    0x000624d0 sw v0, 8(a0)                              |     *((a0 + 2)) = v0;
    0x000624d4 lw v0, 0x12c(t0)                          |     v0 = *(t0);
    0x000624d8 move a1, t2                               |     a1 = t2;
    0x000624dc lw a0, 4(v0)                              |     a0 = *((v0 + 1));
    0x000624e0 lw t9, 0x4c(a0)                           |     t9 = *((a0 + 19));
    0x000624e4 sw v1, 0x12c(sp)                          |     *(var_12ch) = v1;
    0x000624e8 sw t0, 0x134(sp)                          |     *(var_134h) = t0;
    0x000624ec sw t2, 0x128(sp)                          |     *(var_128h) = t2;
    0x000624f0 sw t3, 0x124(sp)                          |     *(var_124h) = t3;
    0x000624f4 sw t4, 0x120(sp)                          |     *(var_120h) = t4;
    0x000624f8 jalr t9                                   |     t9 ();
    0x000624fc lw t0, 0x134(sp)                          |     t0 = *(var_134h);
    0x00062500 addiu v0, zero, 2                         |     v0 = 2;
    0x00062504 lw gp, 0x30(sp)                           |     gp = *(var_30h);
    0x00062508 lw a0, 4(t0)                              |     a0 = *((t0 + 1));
    0x0006250c lw v1, 0x12c(sp)                          |     v1 = *(var_12ch);
    0x00062510 lw t2, 0x128(sp)                          |     t2 = *(var_128h);
    0x00062514 lw t3, 0x124(sp)                          |     t3 = *(var_124h);
    0x00062518 lw t4, 0x120(sp)                          |     t4 = *(var_120h);
                                                         |     if (a0 != v0) {
    0x0006251c bne a0, v0, 0x61894                       |         goto label_12;
                                                         |     }
    0x00062520 lw a0, 0x40(t0)                           |     a0 = *((t0 + 16));
    0x00062524 addiu v0, zero, 1                         |     v0 = 1;
    0x00062528 addiu v1, v1, 1                           |     v1++;
                                                         |     if (a0 != v0) {
    0x0006252c bne a0, v0, 0x61898                       |         goto label_20;
                                                         |     }
    0x00062530 addiu v1, v1, -1                          |     v1 += -1;
    0x00062534 lw t9, -0x772c(gp)                        |     t9 = sym.imp.sem_post;
    0x00062538 b 0x62038                                 |     goto label_19;
                                                         | label_53:
    0x0006253c lw t9, -0x7adc(gp)                        |     t9 = sym.imp.IMP_Log_Get_Option;
    0x00062540 sw v0, 0x12c(sp)                          |     *(var_12ch) = v0;
    0x00062544 jalr t9                                   |     t9 ();
    0x00062548 lw gp, 0x30(sp)                           |     gp = *(var_30h);
    0x0006254c addiu a1, zero, 0x1f2                     |     a1 = 0x1f2;
    0x00062550 lw a0, 8(s1)                              |     a0 = *((s1 + 2));
    0x00062554 sw a1, 0x14(sp)                           |     *(var_14h) = a1;
    0x00062558 lw a1, -0x7fc8(gp)                        |     a1 = *(gp);
    0x0006255c lw v1, 0x12c(sp)                          |     v1 = *(var_12ch);
    0x00062560 sw s5, 0x10(sp)                           |     *(var_10h) = s5;
                                                         |     /* str.VBMGetFrame___error:_d__group__group_index___d_n */
    0x00062564 addiu a1, a1, -0x1dcc                     |     a1 += -0x1dcc;
    0x00062568 lw t9, -0x79d0(gp)                        |     t9 = sym.imp.imp_log_fun;
    0x0006256c sw s7, 0x18(sp)                           |     *(var_18h) = s7;
    0x00062570 sw a1, 0x1c(sp)                           |     *(var_1ch) = a1;
    0x00062574 sw v1, 0x20(sp)                           |     *(var_20h) = v1;
    0x00062578 sw a0, 0x24(sp)                           |     *(var_24h) = a0;
    0x0006257c b 0x61b90                                 |     goto label_16;
                                                         | label_58:
    0x00062580 move a1, zero                             |     a1 = 0;
    0x00062584 addiu a0, zero, 1                         |     a0 = 1;
    0x00062588 b 0x6249c                                 |     goto label_21;
                                                         | label_57:
    0x0006258c lw v0, 0x108(sp)                          |     v0 = *(var_108h);
    0x00062590 lw t9, -0x7bd0(gp)                        |     t9 = sym.imp.pthread_mutex_unlock;
    0x00062594 move a0, s2                               |     a0 = s2;
    0x00062598 sw v0, 0x11c(s0)                          |     *(s0) = v0;
    0x0006259c jalr t9                                   |     t9 ();
    0x000625a0 move v0, zero                             |     v0 = 0;
    0x000625a4 b 0x616b4                                 |     goto label_3;
                                                         | }
    ; assembly                                   | /* r2dec pseudo code output */
                                                 | /* /logs/firmware/unblob_extracted/firmware_extract/6225984-11075644.jffs2_new_extract/lib/libmp.so @ 0xce94 */
                                                 | #include <stdint.h>
                                                 |  
    ; (fcn) sym.system_get_localtime ()          | void system_get_localtime () {
    0x0000ce94 lui gp, 0xe                       |     
    0x0000ce98 addiu gp, gp, 0x57c               |     
    0x0000ce9c addu gp, gp, t9                   |     gp += t9;
    0x0000cea0 addiu sp, sp, -0x68               |     
    0x0000cea4 sw gp, 0x28(sp)                   |     *(var_28h) = gp;
    0x0000cea8 sw ra, 0x64(sp)                   |     *(var_64h) = ra;
    0x0000ceac sw s0, 0x60(sp)                   |     *(var_60h) = s0;
    0x0000ceb0 slti a1, a1, 0x15                 |     a1 = (a1 < 0x15) ? 1 : 0;
                                                 |     if (a0 != 0) {
    0x0000ceb4 beqz a0, 0xcf44                   |         
    0x0000ceb8 lw t9, -0x7b68(gp)                |         t9 = sym.imp.time;
                                                 |         if (a1 != 0) {
    0x0000cebc bnez a1, 0xcf44                   |             goto label_0;
                                                 |         }
    0x0000cec0 move s0, a0                       |         s0 = a0;
    0x0000cec4 move a0, zero                     |         a0 = 0;
    0x0000cec8 jalr t9                           |         t9 ();
    0x0000cecc lw gp, 0x28(sp)                   |         gp = *(var_28h);
    0x0000ced0 addiu a0, sp, 0x5c                |         a0 = sp + 0x5c;
    0x0000ced4 addiu a1, sp, 0x30                |         a1 = sp + 0x30;
    0x0000ced8 lw t9, -0x7d00(gp)                |         t9 = sym.imp.localtime_r;
    0x0000cedc sw v0, 0x5c(sp)                   |         *(var_5ch) = v0;
    0x0000cee0 jalr t9                           |         t9 ();
    0x0000cee4 lw gp, 0x28(sp)                   |         gp = *(var_28h);
                                                 |         if (v0 == 0) {
    0x0000cee8 beqz v0, 0xcfb4                   |             goto label_1;
                                                 |         }
    0x0000ceec lw v0, 0x3c(sp)                   |         v0 = *(var_3ch);
    0x0000cef0 lw a1, -0x7fcc(gp)                |         a1 = *(gp);
    0x0000cef4 lw a2, 0x44(sp)                   |         a2 = *(var_44h);
    0x0000cef8 sw v0, 0x10(sp)                   |         *(var_10h) = v0;
    0x0000cefc lw v0, 0x38(sp)                   |         v0 = *(var_38h);
    0x0000cf00 lw a3, 0x40(sp)                   |         a3 = *(var_40h);
    0x0000cf04 lw t9, -0x7c30(gp)                |         t9 = sym.imp.sprintf
    0x0000cf08 sw v0, 0x14(sp)                   |         *(var_14h) = v0;
    0x0000cf0c lw v0, 0x34(sp)                   |         v0 = *(var_34h);
    0x0000cf10 move a0, s0                       |         a0 = s0;
                                                 |         /* str._04d_02d_02d_02d_02d_02d */
    0x0000cf14 addiu a1, a1, 0x6ba8              |         a1 += 0x6ba8;
    0x0000cf18 sw v0, 0x18(sp)                   |         *(var_18h) = v0;
    0x0000cf1c lw v0, 0x30(sp)                   |         v0 = *(var_30h);
    0x0000cf20 addiu a2, a2, 0x76c               |         a2 += 0x76c;
    0x0000cf24 addiu a3, a3, 1                   |         a3++;
    0x0000cf28 sw v0, 0x1c(sp)                   |         *(var_1ch) = v0;
    0x0000cf2c jalr t9                           |         t9 ();
    0x0000cf30 lw ra, 0x64(sp)                   |         ra = *(var_64h);
    0x0000cf34 lw s0, 0x60(sp)                   |         s0 = *(var_60h);
    0x0000cf38 move v0, zero                     |         v0 = 0;
    0x0000cf3c addiu sp, sp, 0x68                |         
    0x0000cf40 jr ra                             |         return v1;
                                                 |     }
                                                 | label_0:
    0x0000cf44 lw t9, -0x7adc(gp)                |     t9 = sym.imp.IMP_Log_Get_Option;
    0x0000cf48 jalr t9                           |     t9 ();
    0x0000cf4c nop                               |     
    0x0000cf50 lw gp, 0x28(sp)                   |     gp = *(var_28h);
    0x0000cf54 lw a0, -0x7fcc(gp)                |     a0 = *(gp);
    0x0000cf58 lw v1, -0x7fcc(gp)                |     v1 = *(gp);
    0x0000cf5c lw t9, -0x79d0(gp)                |     t9 = sym.imp.imp_log_fun;
                                                 |     /* str._home_ptkang_work_platform_isvp_20160504_e_proj_sdk_lv3_src_imp_core_sys_core.c */
    0x0000cf60 addiu a0, a0, 0x6a68              |     a0 += 0x6a68;
    0x0000cf64 sw a0, 0x10(sp)                   |     *(var_10h) = a0;
    0x0000cf68 addiu a0, zero, 0xca              |     a0 = 0xca;
    0x0000cf6c sw a0, 0x14(sp)                   |     *(var_14h) = a0;
    0x0000cf70 lw a0, -0x7fcc(gp)                |     a0 = *(gp);
                                                 |     /* obj.__func__.6557 */
    0x0000cf74 addiu v1, v1, 0x6f38              |     v1 += 0x6f38;
    0x0000cf78 sw v1, 0x18(sp)                   |     *(var_18h) = v1;
                                                 |     /* str._s_buf_is_null_or_size_less_than_21_n */
    0x0000cf7c addiu a0, a0, 0x6b68              |     a0 += 0x6b68;
                                                 |     do {
    0x0000cf80 lw a3, -0x7fcc(gp)                |         a3 = *(gp);
    0x0000cf84 sw a0, 0x1c(sp)                   |         *(var_1ch) = a0;
    0x0000cf88 sw v1, 0x20(sp)                   |         *(var_20h) = v1;
    0x0000cf8c move a1, v0                       |         a1 = v0;
    0x0000cf90 addiu a0, zero, 6                 |         a0 = 6;
    0x0000cf94 addiu a2, zero, 2                 |         a2 = 2;
                                                 |         /* str.System */
    0x0000cf98 addiu a3, a3, 0x6a60              |         a3 += 0x6a60;
    0x0000cf9c jalr t9                           |         t9 ();
    0x0000cfa0 lw ra, 0x64(sp)                   |         ra = *(var_64h);
    0x0000cfa4 lw s0, 0x60(sp)                   |         s0 = *(var_60h);
    0x0000cfa8 addiu v0, zero, -1                |         v0 = -1;
    0x0000cfac addiu sp, sp, 0x68                |         
    0x0000cfb0 jr ra                             |         return v1;
                                                 | label_1:
    0x0000cfb4 lw t9, -0x7adc(gp)                |         t9 = sym.imp.IMP_Log_Get_Option;
    0x0000cfb8 jalr t9                           |         t9 ();
    0x0000cfbc nop                               |         
    0x0000cfc0 lw gp, 0x28(sp)                   |         gp = *(var_28h);
    0x0000cfc4 lw a0, -0x7fcc(gp)                |         a0 = *(gp);
    0x0000cfc8 lw v1, -0x7fcc(gp)                |         v1 = *(gp);
    0x0000cfcc lw t9, -0x79d0(gp)                |         t9 = sym.imp.imp_log_fun;
                                                 |         /* str._home_ptkang_work_platform_isvp_20160504_e_proj_sdk_lv3_src_imp_core_sys_core.c */
    0x0000cfd0 addiu a0, a0, 0x6a68              |         a0 += 0x6a68;
    0x0000cfd4 sw a0, 0x10(sp)                   |         *(var_10h) = a0;
    0x0000cfd8 addiu a0, zero, 0xd0              |         a0 = 0xd0;
    0x0000cfdc sw a0, 0x14(sp)                   |         *(var_14h) = a0;
    0x0000cfe0 lw a0, -0x7fcc(gp)                |         a0 = *(gp);
                                                 |         /* obj.__func__.6557 */
    0x0000cfe4 addiu v1, v1, 0x6f38              |         v1 += 0x6f38;
    0x0000cfe8 sw v1, 0x18(sp)                   |         *(var_18h) = v1;
                                                 |         /* str._s_localtime_r_failed_n */
    0x0000cfec addiu a0, a0, 0x6b90              |         a0 += 0x6b90;
    0x0000cff0 b 0xcf80                          |         
                                                 |     } while (1);
                                                 | }
    ; assembly                               | /* r2dec pseudo code output */
                                             | /* /logs/firmware/unblob_extracted/firmware_extract/6225984-11075644.jffs2_new_extract/lib/libmp.so @ 0x43518 */
                                             | #include <stdint.h>
                                             |  
    ; (fcn) sym.update_frmstrm ()            | void update_frmstrm () {
    0x00043518 lui gp, 0xb                   |     
    0x0004351c addiu gp, gp, -0x6108         |     
    0x00043520 addu gp, gp, t9               |     gp += t9;
    0x00043524 lw a1, -0x7fc8(gp)            |     a1 = *(gp);
    0x00043528 lw a3, -0x7fc8(gp)            |     a3 = *(gp);
    0x0004352c lw t9, -0x7c30(gp)            |     t9 = sym.imp.sprintf
    0x00043530 lw a2, (a0)                   |     a2 = *(a0);
    0x00043534 addiu sp, sp, -0x68           |     
                                             |     /* str.ENC__d___s */
    0x00043538 addiu a1, a1, -0x7814         |     a1 += -0x7814;
                                             |     /* obj.__func__.9030 */
    0x0004353c addiu a3, a3, -0x54f4         |     a3 += -0x54f4;
    0x00043540 sw gp, 0x10(sp)               |     *(var_10h) = gp;
    0x00043544 sw ra, 0x64(sp)               |     *(var_64h) = ra;
    0x00043548 sw s1, 0x60(sp)               |     *(var_60h) = s1;
    0x0004354c sw s0, 0x5c(sp)               |     *(var_5ch) = s0;
    0x00043550 move s0, a0                   |     s0 = a0;
    0x00043554 addiu a0, sp, 0x18            |     a0 = sp + 0x18;
    0x00043558 jalr t9                       |     t9 ();
    0x0004355c lw gp, 0x10(sp)               |     gp = *(var_10h);
    0x00043560 addiu a0, zero, 0xf           |     a0 = 0xf;
    0x00043564 addiu a1, sp, 0x18            |     a1 = sp + 0x18;
    0x00043568 lw t9, -0x7660(gp)            |     t9 = sym.imp.prctl;
    0x0004356c move s1, zero                 |     s1 = 0;
    0x00043570 jalr t9                       |     t9 ();
    0x00043574 lw gp, 0x10(sp)               |     gp = *(var_10h);
                                             |     do {
                                             | label_0:
    0x00043578 lbu v1, 0xb4(s0)              |         v1 = *((s0 + 180));
    0x0004357c lw v0, -0x7a20(gp)            |         v0 = sym.update_one_frmstrm;
    0x00043580 move a0, s0                   |         a0 = s0;
    0x00043584 lw t9, -0x760c(gp)            |         t9 = sym.imp.usleep;
                                             |         if (v1 == 0) {
    0x00043588 beqz v1, 0x435bc              |             goto label_2;
                                             |         }
    0x0004358c move t9, v0                   |         t9 = v0;
    0x00043590 jalr t9                       |         t9 ();
    0x00043594 nop                           |         
    0x00043598 move s1, v0                   |         s1 = v0;
    0x0004359c lw gp, 0x10(sp)               |         gp = *(var_10h);
    0x000435a0 bgez s1, 0x43578              |         
                                             |     } while (s1 >= 0);
    0x000435a4 lw ra, 0x64(sp)               |     ra = *(var_64h);
                                             | label_1:
    0x000435a8 move v0, s1                   |     v0 = s1;
    0x000435ac lw s0, 0x5c(sp)               |     s0 = *(var_5ch);
    0x000435b0 lw s1, 0x60(sp)               |     s1 = *(var_60h);
    0x000435b4 addiu sp, sp, 0x68            |     
    0x000435b8 jr ra                         |     return v0;
                                             | label_2:
    0x000435bc addiu a0, zero, 0x4e20        |     a0 = aav.0x00004e20;
    0x000435c0 jalr t9                       |     t9 ();
    0x000435c4 lw gp, 0x10(sp)               |     gp = *(var_10h);
                                             |     if (s1 >= 0) {
    0x000435c8 bgez s1, 0x43578              |         goto label_0;
                                             |     }
    0x000435cc lw ra, 0x64(sp)               |     ra = *(var_64h);
    0x000435d0 b 0x435a8                     |     goto label_1;
                                             | }

[*] Function sprintf used 100 times libmp.so