[*] Binary protection state of avcd

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


[*] Function fprintf tear down of avcd

    ; assembly                                       | /* r2dec pseudo code output */
                                                     | /* /logs/firmware/patool_extraction/DUMP/mtdblock8_unblob_extracted/mtdblock8_extract/0-9650176.squashfs_v4_le_extract/sbin/avcd @ 0x41798c */
                                                     | #include <stdint.h>
                                                     |  
    ; (fcn) method.OSD_FONT.init_int__int_ ()        | void method_OSD_FONT_init_int_int_ () {
                                                     |     /* OSD_FONT::init(int, int) */
    0x0041798c lui gp, 3                             |     
    0x00417990 addiu gp, gp, -0x792c                 |     
    0x00417994 addu gp, gp, t9                       |     gp += t9;
    0x00417998 addiu sp, sp, -0x3580                 |     
    0x0041799c sw ra, 0x357c(sp)                     |     *(arg_357ch) = ra;
    0x004179a0 sw fp, 0x3578(sp)                     |     *(arg_3578h) = fp;
    0x004179a4 sw s0, 0x3574(sp)                     |     *(arg_3574h) = s0;
    0x004179a8 move fp, sp                           |     fp = sp;
    0x004179ac sw gp, 0x10(sp)                       |     *(arg_10h) = gp;
    0x004179b0 sw a0, 0x24(fp)                       |     *(arg_24h) = a0;
    0x004179b4 sw a1, 0x20(fp)                       |     *(arg_20h) = a1;
    0x004179b8 sw a2, 0x1c(fp)                       |     *(arg_1ch) = a2;
    0x004179bc lw t8, -0x7d6c(gp)                    |     t8 = *((gp - 8027));
    0x004179c0 lw t8, (t8)                           |     t8 = *(t8);
    0x004179c4 sw t8, 0x356c(fp)                     |     *(arg_356ch) = t8;
    0x004179c8 lw t8, 0x24(fp)                       |     t8 = *(arg_24h);
    0x004179cc lw v0, 0x20(fp)                       |     v0 = *(arg_20h);
    0x004179d0 sw v0, 4(t8)                          |     *((t8 + 4)) = v0;
    0x004179d4 lw t8, 0x24(fp)                       |     t8 = *(arg_24h);
    0x004179d8 lw t8, 4(t8)                          |     t8 = *((t8 + 1));
                                                     |     if (t8 < 0) {
    0x004179dc bgez t8, 0x417a24                     |         
    0x004179e0 nop                                   |         
    0x004179e4 lw t8, -0x7cf4(gp)                    |         t8 = *((gp - 7997));
    0x004179e8 lw v0, (t8)                           |         v0 = *(t8);
    0x004179ec lw t8, 0x24(fp)                       |         t8 = *(arg_24h);
    0x004179f0 lw t8, 4(t8)                          |         t8 = *((t8 + 1));
    0x004179f4 move a0, v0                           |         a0 = v0;
    0x004179f8 lw v0, -0x7fc8(gp)                    |         v0 = *((gp - 8178));
                                                     |         /* str.fail_to_create_osd_chn__ret___d_n */
    0x004179fc addiu a1, v0, 0x3c18                  |         a1 = v0 + 0x3c18;
    0x00417a00 move a2, t8                           |         a2 = t8;
    0x00417a04 lw t8, -0x7b3c(gp)                    |         t8 = sym.imp.fprintf
    0x00417a08 move t9, t8                           |         t9 = t8;
    0x00417a0c jalr t9                               |         t9 ();
    0x00417a10 nop                                   |         
    0x00417a14 lw gp, 0x10(fp)                       |         gp = *(arg_10h);
    0x00417a18 addiu s0, zero, -1                    |         s0 = -1;
    0x00417a1c b 0x417cb8                            |         goto label_0;
    0x00417a20 nop                                   |         
                                                     |     }
    0x00417a24 addiu t8, fp, 0x44                    |     t8 = fp + 0x44;
    0x00417a28 move a0, t8                           |     a0 = t8;
    0x00417a2c lw t8, -0x7f3c(gp)                    |     t8 = *(gp);
    0x00417a30 move t9, t8                           |     t9 = t8;
    0x00417a34 jalr t9                               |     t9 ();
    0x00417a38 nop                                   |     
    0x00417a3c lw gp, 0x10(fp)                       |     gp = *(arg_10h);
    0x00417a40 addiu t8, fp, 0x44                    |     t8 = fp + 0x44;
    0x00417a44 move a0, t8                           |     a0 = t8;
    0x00417a48 lw t8, -0x7bf4(gp)                    |     t8 = *(gp);
    0x00417a4c move t9, t8                           |     t9 = t8;
    0x00417a50 jalr t9                               |     t9 ();
    0x00417a54 nop                                   |     
    0x00417a58 lw gp, 0x10(fp)                       |     gp = *(arg_10h);
    0x00417a5c lw t8, 0x24(fp)                       |     t8 = *(arg_24h);
    0x00417a60 addiu s0, t8, 0x3c                    |     s0 = t8 + 0x3c;
    0x00417a64 addiu v0, fp, 0x28                    |     v0 = fp + 0x28;
    0x00417a68 addiu t8, fp, 0x44                    |     t8 = fp + 0x44;
    0x00417a6c move a0, v0                           |     a0 = v0;
    0x00417a70 move a1, t8                           |     a1 = t8;
    0x00417a74 lw t8, -0x7c4c(gp)                    |     t8 = *(gp);
    0x00417a78 move t9, t8                           |     t9 = t8;
    0x00417a7c jalr t9                               |     t9 ();
    0x00417a80 nop                                   |     
    0x00417a84 lw gp, 0x10(fp)                       |     gp = *(arg_10h);
    0x00417a88 addiu t8, fp, 0x28                    |     t8 = fp + 0x28;
    0x00417a8c move a0, t8                           |     a0 = t8;
    0x00417a90 lw t8, -0x7cf8(gp)                    |     t8 = *(gp);
    0x00417a94 move t9, t8                           |     t9 = t8;
    0x00417a98 jalr t9                               |     t9 ();
    0x00417a9c nop                                   |     
    0x00417aa0 lw gp, 0x10(fp)                       |     gp = *(arg_10h);
    0x00417aa4 move t8, v0                           |     t8 = v0;
    0x00417aa8 move a0, s0                           |     a0 = s0;
    0x00417aac addiu a1, zero, 0x14                  |     a1 = 0x14;
    0x00417ab0 lw v0, -0x7fc8(gp)                    |     v0 = *((gp - 8178));
                                                     |     /* esilref: '&s' */
    0x00417ab4 addiu a2, v0, 0x3c3c                  |     a2 = v0 + 0x3c3c;
    0x00417ab8 move a3, t8                           |     a3 = t8;
    0x00417abc lw t8, -0x7bc8(gp)                    |     t8 = sym.imp.snprintf;
    0x00417ac0 move t9, t8                           |     t9 = t8;
    0x00417ac4 jalr t9                               |     t9 ();
    0x00417ac8 nop                                   |     
    0x00417acc lw gp, 0x10(fp)                       |     gp = *(arg_10h);
    0x00417ad0 addiu t8, fp, 0x28                    |     t8 = fp + 0x28;
    0x00417ad4 move a0, t8                           |     a0 = t8;
    0x00417ad8 lw t8, -0x7d38(gp)                    |     t8 = *((gp - 8014));
    0x00417adc move t9, t8                           |     t9 = t8;
    0x00417ae0 jalr t9                               |     t9 ();
    0x00417ae4 nop                                   |     
    0x00417ae8 lw gp, 0x10(fp)                       |     gp = *(arg_10h);
    0x00417aec sw zero, 0x3c(fp)                     |     *(arg_3ch) = 0;
    0x00417af0 sw zero, 0x38(fp)                     |     *(arg_38h) = 0;
    0x00417af4 addiu v0, fp, 0x2c                    |     v0 = fp + 0x2c;
    0x00417af8 addiu t8, fp, 0x44                    |     t8 = fp + 0x44;
    0x00417afc move a0, v0                           |     a0 = v0;
    0x00417b00 move a1, t8                           |     a1 = t8;
    0x00417b04 lw t8, -0x7c4c(gp)                    |     t8 = *(gp);
    0x00417b08 move t9, t8                           |     t9 = t8;
    0x00417b0c jalr t9                               |     t9 ();
    0x00417b10 nop                                   |     
    0x00417b14 lw gp, 0x10(fp)                       |     gp = *(arg_10h);
    0x00417b18 addiu t8, fp, 0x2c                    |     t8 = fp + 0x2c;
    0x00417b1c move a0, t8                           |     a0 = t8;
    0x00417b20 lw t8, -0x7d54(gp)                    |     t8 = *(gp);
    0x00417b24 move t9, t8                           |     t9 = t8;
    0x00417b28 jalr t9                               |     t9 ();
    0x00417b2c nop                                   |     
    0x00417b30 lw gp, 0x10(fp)                       |     gp = *(arg_10h);
    0x00417b34 move t8, v0                           |     t8 = v0;
    0x00417b38 addiu t8, t8, 0x14                    |     t8 += 0x14;
    0x00417b3c sw t8, 0x40(fp)                       |     *(arg_40h) = t8;
    0x00417b40 addiu t8, fp, 0x2c                    |     t8 = fp + 0x2c;
    0x00417b44 move a0, t8                           |     a0 = t8;
    0x00417b48 lw t8, -0x7d38(gp)                    |     t8 = *((gp - 8014));
    0x00417b4c move t9, t8                           |     t9 = t8;
    0x00417b50 jalr t9                               |     t9 ();
    0x00417b54 nop                                   |     
    0x00417b58 lw gp, 0x10(fp)                       |     gp = *(arg_10h);
    0x00417b5c sw zero, 0x30(fp)                     |     *(arg_30h) = 0;
    0x00417b60 sw zero, 0x34(fp)                     |     *(arg_34h) = 0;
    0x00417b64 addiu v0, fp, 0x30                    |     v0 = fp + 0x30;
    0x00417b68 addiu t8, fp, 0x34                    |     t8 = fp + 0x34;
    0x00417b6c move a0, v0                           |     a0 = v0;
    0x00417b70 move a1, t8                           |     a1 = t8;
    0x00417b74 lw a2, 0x1c(fp)                       |     a2 = *(arg_1ch);
    0x00417b78 lw t8, -0x7d78(gp)                    |     t8 = sym.imp.get_resolution_by_scale_int__int__int_;
    0x00417b7c move t9, t8                           |     t9 = t8;
    0x00417b80 jalr t9                               |     t9 ();
    0x00417b84 nop                                   |     
    0x00417b88 lw gp, 0x10(fp)                       |     gp = *(arg_10h);
    0x00417b8c lw v0, 0x30(fp)                       |     v0 = *(arg_30h);
    0x00417b90 lw t8, 0x24(fp)                       |     t8 = *(arg_24h);
    0x00417b94 sw v0, 0x10(t8)                       |     *((t8 + 16)) = v0;
    0x00417b98 lw v0, 0x34(fp)                       |     v0 = *(arg_34h);
    0x00417b9c lw t8, 0x24(fp)                       |     t8 = *(arg_24h);
    0x00417ba0 sw v0, 0x14(t8)                       |     *((t8 + 20)) = v0;
    0x00417ba4 lw t8, 0x30(fp)                       |     t8 = *(arg_30h);
    0x00417ba8 srl v0, t8, 0x1f                      |     v0 = t8 >> 0x1f;
    0x00417bac addu t8, v0, t8                       |     t8 = v0 + t8;
    0x00417bb0 sra t8, t8, 1                         |     t8 >>= 1;
    0x00417bb4 move v0, t8                           |     v0 = t8;
    0x00417bb8 lw t8, 0x40(fp)                       |     t8 = *(arg_40h);
    0x00417bbc div zero, v0, t8                      |     __asm ("div zero, v0, t8");
                                                     |     if (t8 == 0) {
    0x00417bc0 bnez t8, 0x417bc8                     |         
    0x00417bc4 break 7                               |         __asm ("break 7");
                                                     |     }
    0x00417bc8 mfhi t8                               |     __asm ("mfhi t8");
    0x00417bcc mflo t8                               |     __asm ("mflo t8");
    0x00417bd0 sll t8, t8, 1                         |     t8 <<= 1;
    0x00417bd4 sw t8, 0x3c(fp)                       |     *(arg_3ch) = t8;
    0x00417bd8 lw t8, 0x3c(fp)                       |     t8 = *(arg_3ch);
    0x00417bdc srl v0, t8, 0x1f                      |     v0 = t8 >> 0x1f;
    0x00417be0 addu t8, v0, t8                       |     t8 = v0 + t8;
    0x00417be4 sra t8, t8, 1                         |     t8 >>= 1;
    0x00417be8 sw t8, 0x38(fp)                       |     *(arg_38h) = t8;
    0x00417bec lw t8, 0x38(fp)                       |     t8 = *(arg_38h);
    0x00417bf0 andi t8, t8, 1                        |     t8 &= 1;
                                                     |     if (t8 != 0) {
    0x00417bf4 beqz t8, 0x417c08                     |         
    0x00417bf8 nop                                   |         
    0x00417bfc lw t8, 0x38(fp)                       |         t8 = *(arg_38h);
    0x00417c00 addiu t8, t8, -1                      |         t8 += -1;
    0x00417c04 sw t8, 0x38(fp)                       |         *(arg_38h) = t8;
                                                     |     }
    0x00417c08 lw t8, 0x24(fp)                       |     t8 = *(arg_24h);
    0x00417c0c lw v0, 0x3c(fp)                       |     v0 = *(arg_3ch);
    0x00417c10 sw v0, 0x50(t8)                       |     *((t8 + 80)) = v0;
    0x00417c14 lw t8, 0x24(fp)                       |     t8 = *(arg_24h);
    0x00417c18 sw zero, 0x54(t8)                     |     *((t8 + 84)) = 0;
    0x00417c1c lw t8, 0x3c(fp)                       |     t8 = *(arg_3ch);
    0x00417c20 addiu v0, t8, -0xa                    |     v0 = t8 + -0xa;
    0x00417c24 lw t8, 0x24(fp)                       |     t8 = *(arg_24h);
    0x00417c28 sw v0, 0x58(t8)                       |     *((t8 + 88)) = v0;
    0x00417c2c lw t8, 0x3c(fp)                       |     t8 = *(arg_3ch);
    0x00417c30 addiu v0, t8, -0xa                    |     v0 = t8 + -0xa;
    0x00417c34 lw t8, 0x24(fp)                       |     t8 = *(arg_24h);
    0x00417c38 sw v0, 0x5c(t8)                       |     *((t8 + 92)) = v0;
    0x00417c3c lw t8, 0x24(fp)                       |     t8 = *(arg_24h);
    0x00417c40 lw v0, 0x38(fp)                       |     v0 = *(arg_38h);
    0x00417c44 sw v0, 0x60(t8)                       |     *((t8 + 96)) = v0;
    0x00417c48 lw t8, 0x24(fp)                       |     t8 = *(arg_24h);
    0x00417c4c lw v0, 0x38(fp)                       |     v0 = *(arg_38h);
    0x00417c50 sw v0, 0x64(t8)                       |     *((t8 + 100)) = v0;
    0x00417c54 lw t8, 0x24(fp)                       |     t8 = *(arg_24h);
    0x00417c58 lw v0, 0x3c(fp)                       |     v0 = *(arg_3ch);
    0x00417c5c sw v0, 0x68(t8)                       |     *((t8 + 104)) = v0;
    0x00417c60 lw t8, 0x24(fp)                       |     t8 = *(arg_24h);
    0x00417c64 lw v0, 0x3c(fp)                       |     v0 = *(arg_3ch);
    0x00417c68 sw v0, 0x6c(t8)                       |     *((t8 + 108)) = v0;
    0x00417c6c lw t8, 0x24(fp)                       |     t8 = *(arg_24h);
    0x00417c70 sw zero, 0x18(t8)                     |     *((t8 + 24)) = 0;
    0x00417c74 lw t8, 0x24(fp)                       |     t8 = *(arg_24h);
    0x00417c78 sw zero, 0x1c(t8)                     |     *((t8 + 28)) = 0;
    0x00417c7c lw t8, 0x24(fp)                       |     t8 = *(arg_24h);
    0x00417c80 sw zero, 0x20(t8)                     |     *((t8 + 32)) = 0;
    0x00417c84 lw t8, 0x24(fp)                       |     t8 = *(arg_24h);
    0x00417c88 sw zero, 0x24(t8)                     |     *((t8 + 36)) = 0;
    0x00417c8c lw t8, 0x24(fp)                       |     t8 = *(arg_24h);
    0x00417c90 addiu v0, zero, 1                     |     v0 = 1;
    0x00417c94 sw v0, 0x24(t8)                       |     *((t8 + 36)) = v0;
    0x00417c98 move s0, zero                         |     s0 = 0;
    0x00417c9c addiu t8, fp, 0x44                    |     t8 = fp + 0x44;
    0x00417ca0 move a0, t8                           |     a0 = t8;
    0x00417ca4 lw t8, -0x7cc0(gp)                    |     t8 = sym.imp.PIB::PIB__;
    0x00417ca8 move t9, t8                           |     t9 = t8;
    0x00417cac jalr t9                               |     t9 ();
    0x00417cb0 nop                                   |     
    0x00417cb4 lw gp, 0x10(fp)                       |     gp = *(arg_10h);
                                                     | label_0:
    0x00417cb8 move t8, s0                           |     t8 = s0;
    0x00417cbc move v0, t8                           |     v0 = t8;
    0x00417cc0 lw t8, -0x7d6c(gp)                    |     t8 = *((gp - 8027));
    0x00417cc4 lw v1, 0x356c(fp)                     |     v1 = *(arg_356ch);
    0x00417cc8 lw t8, (t8)                           |     t8 = *(t8);
                                                     |     if (v1 != t8) {
    0x00417ccc beq v1, t8, 0x417d80                  |         
    0x00417cd0 nop                                   |         
    0x00417cd4 b 0x417d70                            |         goto label_1;
    0x00417cd8 nop                                   |         
                                                     | label_1:
    0x00417d70 lw t8, -0x7bf0(gp)                    |         t8 = sym.imp.__stack_chk_fail;
    0x00417d74 move t9, t8                           |         t9 = t8;
    0x00417d78 jalr t9                               |         t9 ();
    0x00417d7c nop                                   |         
                                                     |     }
    0x00417d80 move sp, fp                           |     
    0x00417d84 lw ra, 0x357c(sp)                     |     ra = *(arg_357ch);
    0x00417d88 lw fp, 0x3578(sp)                     |     fp = *(arg_3578h);
    0x00417d8c lw s0, 0x3574(sp)                     |     s0 = *(arg_3574h);
    0x00417d90 addiu sp, sp, 0x3580                  |     
    0x00417d94 jr ra                                 |     return v1;
    0x00417d98 nop                                   |     
                                                     | }
    ; assembly                                   | /* r2dec pseudo code output */
                                                 | /* /logs/firmware/patool_extraction/DUMP/mtdblock8_unblob_extracted/mtdblock8_extract/0-9650176.squashfs_v4_le_extract/sbin/avcd @ 0x40ede8 */
                                                 | #include <stdint.h>
                                                 |  
    ; (fcn) method.VCD_RUNNER.apply__ ()         | void method_VCD_RUNNER_apply_ () {
                                                 |     /* VCD_RUNNER::apply() */
    0x0040ede8 lui gp, 3                         |     
    0x0040edec addiu gp, gp, 0x1278              |     
    0x0040edf0 addu gp, gp, t9                   |     gp += t9;
    0x0040edf4 addiu sp, sp, -0x30               |     
    0x0040edf8 sw ra, 0x2c(sp)                   |     *(var_2ch) = ra;
    0x0040edfc sw fp, 0x28(sp)                   |     *(var_28h) = fp;
    0x0040ee00 move fp, sp                       |     fp = sp;
    0x0040ee04 sw gp, 0x10(sp)                   |     *(var_10h) = gp;
    0x0040ee08 sw a0, 0x1c(fp)                   |     *(arg_1ch) = a0;
    0x0040ee0c lw t8, -0x7d6c(gp)                |     t8 = *((gp - 8027));
    0x0040ee10 lw t8, (t8)                       |     t8 = *(t8);
    0x0040ee14 sw t8, 0x24(fp)                   |     *(arg_24h) = t8;
    0x0040ee18 sw zero, 0x20(fp)                 |     *(arg_20h) = 0;
    0x0040ee1c lw t8, 0x1c(fp)                   |     t8 = *(arg_1ch);
    0x0040ee20 lw t8, 8(t8)                      |     t8 = *((t8 + 2));
                                                 |     if (t8 != 0) {
    0x0040ee24 beqz t8, 0x40ee3c                 |         
    0x0040ee28 nop                               |         
    0x0040ee2c lw t8, 0x1c(fp)                   |         t8 = *(arg_1ch);
    0x0040ee30 lw t8, 0xc(t8)                    |         t8 = *((t8 + 3));
                                                 |         if (t8 != 0) {
    0x0040ee34 bnez t8, 0x40ee48                 |             goto label_0;
                                                 |         }
    0x0040ee38 nop                               |         
                                                 |     }
    0x0040ee3c addiu t8, zero, -1                |     t8 = -1;
    0x0040ee40 b 0x40f3bc                        |     goto label_1;
    0x0040ee44 nop                               |     
                                                 | label_0:
    0x0040ee48 lw t8, 0x1c(fp)                   |     t8 = *(arg_1ch);
    0x0040ee4c lbu t8, (t8)                      |     t8 = *(t8);
    0x0040ee50 addiu v0, zero, 2                 |     v0 = 2;
                                                 |     if (t8 != v0) {
    0x0040ee54 beq t8, v0, 0x40ee78              |         
    0x0040ee58 nop                               |         
    0x0040ee5c addiu v0, zero, 3                 |         v0 = 3;
                                                 |         if (t8 == v0) {
    0x0040ee60 beq t8, v0, 0x40efd8              |             goto label_2;
                                                 |         }
    0x0040ee64 nop                               |         
                                                 |         if (t8 == 0) {
    0x0040ee68 beqz t8, 0x40ef28                 |             goto label_3;
                                                 |         }
    0x0040ee6c nop                               |         
    0x0040ee70 b 0x40f04c                        |         goto label_4;
    0x0040ee74 nop                               |         
                                                 |     }
    0x0040ee78 lw a0, 0x1c(fp)                   |     a0 = *(arg_1ch);
    0x0040ee7c lw t8, -0x7e88(gp)                |     t8 = *(gp);
    0x0040ee80 move t9, t8                       |     t9 = t8;
    0x0040ee84 jalr t9                           |     t9 ();
    0x0040ee88 nop                               |     
    0x0040ee8c lw gp, 0x10(fp)                   |     gp = *(arg_10h);
    0x0040ee90 move t8, v0                       |     t8 = v0;
    0x0040ee94 addiu t8, t8, 1                   |     t8++;
    0x0040ee98 sltiu t8, t8, 1                   |     t8 = (t8 < 1) ? 1 : 0;
    0x0040ee9c andi t8, t8, 0xff                 |     t8 &= 0xff;
                                                 |     if (t8 != 0) {
    0x0040eea0 beqz t8, 0x40eeb0                 |         
    0x0040eea4 nop                               |         
    0x0040eea8 b 0x40f304                        |         goto label_5;
    0x0040eeac nop                               |         
                                                 |     }
    0x0040eeb0 lw a0, 0x1c(fp)                   |     a0 = *(arg_1ch);
    0x0040eeb4 lw t8, -0x7e84(gp)                |     t8 = *(gp);
    0x0040eeb8 move t9, t8                       |     t9 = t8;
    0x0040eebc jalr t9                           |     t9 ();
    0x0040eec0 nop                               |     
    0x0040eec4 lw gp, 0x10(fp)                   |     gp = *(arg_10h);
    0x0040eec8 move t8, v0                       |     t8 = v0;
    0x0040eecc addiu t8, t8, 1                   |     t8++;
    0x0040eed0 sltiu t8, t8, 1                   |     t8 = (t8 < 1) ? 1 : 0;
    0x0040eed4 andi t8, t8, 0xff                 |     t8 &= 0xff;
                                                 |     if (t8 != 0) {
    0x0040eed8 beqz t8, 0x40eee8                 |         
    0x0040eedc nop                               |         
    0x0040eee0 b 0x40f304                        |         goto label_5;
    0x0040eee4 nop                               |         
                                                 |     }
    0x0040eee8 lw a0, 0x1c(fp)                   |     a0 = *(arg_1ch);
    0x0040eeec lw t8, -0x7e80(gp)                |     t8 = *(gp);
    0x0040eef0 move t9, t8                       |     t9 = t8;
    0x0040eef4 jalr t9                           |     t9 ();
    0x0040eef8 nop                               |     
    0x0040eefc lw gp, 0x10(fp)                   |     gp = *(arg_10h);
    0x0040ef00 move t8, v0                       |     t8 = v0;
    0x0040ef04 addiu t8, t8, 1                   |     t8++;
    0x0040ef08 sltiu t8, t8, 1                   |     t8 = (t8 < 1) ? 1 : 0;
    0x0040ef0c andi t8, t8, 0xff                 |     t8 &= 0xff;
                                                 |     if (t8 != 0) {
    0x0040ef10 beqz t8, 0x40ef20                 |         
    0x0040ef14 nop                               |         
    0x0040ef18 b 0x40f304                        |         goto label_5;
    0x0040ef1c nop                               |         
                                                 |     }
    0x0040ef20 b 0x40f04c                        |     goto label_4;
    0x0040ef24 nop                               |     
                                                 | label_3:
    0x0040ef28 lw a0, 0x1c(fp)                   |     a0 = *(arg_1ch);
    0x0040ef2c lw t8, -0x7e88(gp)                |     t8 = *(gp);
    0x0040ef30 move t9, t8                       |     t9 = t8;
    0x0040ef34 jalr t9                           |     t9 ();
    0x0040ef38 nop                               |     
    0x0040ef3c lw gp, 0x10(fp)                   |     gp = *(arg_10h);
    0x0040ef40 move t8, v0                       |     t8 = v0;
    0x0040ef44 addiu t8, t8, 1                   |     t8++;
    0x0040ef48 sltiu t8, t8, 1                   |     t8 = (t8 < 1) ? 1 : 0;
    0x0040ef4c andi t8, t8, 0xff                 |     t8 &= 0xff;
                                                 |     if (t8 != 0) {
    0x0040ef50 beqz t8, 0x40ef60                 |         
    0x0040ef54 nop                               |         
    0x0040ef58 b 0x40f304                        |         goto label_5;
    0x0040ef5c nop                               |         
                                                 |     }
    0x0040ef60 lw a0, 0x1c(fp)                   |     a0 = *(arg_1ch);
    0x0040ef64 lw t8, -0x7e84(gp)                |     t8 = *(gp);
    0x0040ef68 move t9, t8                       |     t9 = t8;
    0x0040ef6c jalr t9                           |     t9 ();
    0x0040ef70 nop                               |     
    0x0040ef74 lw gp, 0x10(fp)                   |     gp = *(arg_10h);
    0x0040ef78 move t8, v0                       |     t8 = v0;
    0x0040ef7c addiu t8, t8, 1                   |     t8++;
    0x0040ef80 sltiu t8, t8, 1                   |     t8 = (t8 < 1) ? 1 : 0;
    0x0040ef84 andi t8, t8, 0xff                 |     t8 &= 0xff;
                                                 |     if (t8 != 0) {
    0x0040ef88 beqz t8, 0x40ef98                 |         
    0x0040ef8c nop                               |         
    0x0040ef90 b 0x40f304                        |         goto label_5;
    0x0040ef94 nop                               |         
                                                 |     }
    0x0040ef98 lw a0, 0x1c(fp)                   |     a0 = *(arg_1ch);
    0x0040ef9c lw t8, -0x7e80(gp)                |     t8 = *(gp);
    0x0040efa0 move t9, t8                       |     t9 = t8;
    0x0040efa4 jalr t9                           |     t9 ();
    0x0040efa8 nop                               |     
    0x0040efac lw gp, 0x10(fp)                   |     gp = *(arg_10h);
    0x0040efb0 move t8, v0                       |     t8 = v0;
    0x0040efb4 addiu t8, t8, 1                   |     t8++;
    0x0040efb8 sltiu t8, t8, 1                   |     t8 = (t8 < 1) ? 1 : 0;
    0x0040efbc andi t8, t8, 0xff                 |     t8 &= 0xff;
                                                 |     if (t8 != 0) {
    0x0040efc0 beqz t8, 0x40efd0                 |         
    0x0040efc4 nop                               |         
    0x0040efc8 b 0x40f304                        |         goto label_5;
    0x0040efcc nop                               |         
                                                 |     }
    0x0040efd0 b 0x40f04c                        |     goto label_4;
    0x0040efd4 nop                               |     
                                                 | label_2:
    0x0040efd8 lw a0, 0x1c(fp)                   |     a0 = *(arg_1ch);
    0x0040efdc lw t8, -0x7e88(gp)                |     t8 = *(gp);
    0x0040efe0 move t9, t8                       |     t9 = t8;
    0x0040efe4 jalr t9                           |     t9 ();
    0x0040efe8 nop                               |     
    0x0040efec lw gp, 0x10(fp)                   |     gp = *(arg_10h);
    0x0040eff0 move t8, v0                       |     t8 = v0;
    0x0040eff4 addiu t8, t8, 1                   |     t8++;
    0x0040eff8 sltiu t8, t8, 1                   |     t8 = (t8 < 1) ? 1 : 0;
    0x0040effc andi t8, t8, 0xff                 |     t8 &= 0xff;
                                                 |     if (t8 != 0) {
    0x0040f000 beqz t8, 0x40f010                 |         
    0x0040f004 nop                               |         
    0x0040f008 b 0x40f304                        |         goto label_5;
    0x0040f00c nop                               |         
                                                 |     }
    0x0040f010 lw a0, 0x1c(fp)                   |     a0 = *(arg_1ch);
    0x0040f014 lw t8, -0x7e84(gp)                |     t8 = *(gp);
    0x0040f018 move t9, t8                       |     t9 = t8;
    0x0040f01c jalr t9                           |     t9 ();
    0x0040f020 nop                               |     
    0x0040f024 lw gp, 0x10(fp)                   |     gp = *(arg_10h);
    0x0040f028 move t8, v0                       |     t8 = v0;
    0x0040f02c addiu t8, t8, 1                   |     t8++;
    0x0040f030 sltiu t8, t8, 1                   |     t8 = (t8 < 1) ? 1 : 0;
    0x0040f034 andi t8, t8, 0xff                 |     t8 &= 0xff;
                                                 |     if (t8 != 0) {
    0x0040f038 beqz t8, 0x40f048                 |         
    0x0040f03c nop                               |         
    0x0040f040 b 0x40f304                        |         goto label_5;
    0x0040f044 nop                               |         
                                                 |     }
    0x0040f048 nop                               |     
                                                 | label_4:
    0x0040f04c lw t8, 0x1c(fp)                   |     t8 = *(arg_1ch);
    0x0040f050 lw t8, 0x34(t8)                   |     t8 = *((t8 + 13));
                                                 |     if (t8 >= 0) {
    0x0040f054 bltz t8, 0x40f0e4                 |         
    0x0040f058 nop                               |         
    0x0040f05c lw t8, 0x1c(fp)                   |         t8 = *(arg_1ch);
    0x0040f060 lw t8, 0x38(t8)                   |         t8 = *((t8 + 14));
                                                 |         if (t8 < 0) {
    0x0040f064 bltz t8, 0x40f0e4                 |             goto label_6;
                                                 |         }
    0x0040f068 nop                               |         
    0x0040f06c lw t8, 0x1c(fp)                   |         t8 = *(arg_1ch);
    0x0040f070 lw t8, 0x34(t8)                   |         t8 = *((t8 + 13));
    0x0040f074 move v0, t8                       |         v0 = t8;
    0x0040f078 lw t8, 0x1c(fp)                   |         t8 = *(arg_1ch);
    0x0040f07c lw t8, 0x38(t8)                   |         t8 = *((t8 + 14));
    0x0040f080 move a0, v0                       |         a0 = v0;
    0x0040f084 move a1, t8                       |         a1 = t8;
    0x0040f088 lw t8, -0x7ce4(gp)                |         t8 = sym.imp.rts_av_bind;
    0x0040f08c move t9, t8                       |         t9 = t8;
    0x0040f090 jalr t9                           |         t9 ();
    0x0040f094 nop                               |         
    0x0040f098 lw gp, 0x10(fp)                   |         gp = *(arg_10h);
    0x0040f09c move t8, v0                       |         t8 = v0;
    0x0040f0a0 sw t8, 0x20(fp)                   |         *(arg_20h) = t8;
    0x0040f0a4 lw t8, 0x20(fp)                   |         t8 = *(arg_20h);
                                                 |         if (t8 >= 0) {
    0x0040f0a8 bgez t8, 0x40f0e4                 |             goto label_6;
                                                 |         }
    0x0040f0ac nop                               |         
    0x0040f0b0 lw t8, -0x7cf4(gp)                |         t8 = *((gp - 7997));
    0x0040f0b4 lw t8, (t8)                       |         t8 = *(t8);
    0x0040f0b8 move a0, t8                       |         a0 = t8;
    0x0040f0bc lw t8, -0x7fc8(gp)                |         t8 = *((gp - 8178));
                                                 |         /* str.fail_to_bind_isp_and_osd__ret__d_n */
    0x0040f0c0 addiu a1, t8, 0x2e48              |         a1 = t8 + 0x2e48;
    0x0040f0c4 lw a2, 0x20(fp)                   |         a2 = *(arg_20h);
    0x0040f0c8 lw t8, -0x7b3c(gp)                |         t8 = sym.imp.fprintf
    0x0040f0cc move t9, t8                       |         t9 = t8;
    0x0040f0d0 jalr t9                           |         t9 ();
    0x0040f0d4 nop                               |         
    0x0040f0d8 lw gp, 0x10(fp)                   |         gp = *(arg_10h);
    0x0040f0dc b 0x40f304                        |         goto label_5;
    0x0040f0e0 nop                               |         
                                                 |     }
                                                 | label_6:
    0x0040f0e4 lw t8, 0x1c(fp)                   |     t8 = *(arg_1ch);
    0x0040f0e8 lw t8, 0x38(t8)                   |     t8 = *((t8 + 14));
                                                 |     if (t8 >= 0) {
    0x0040f0ec bltz t8, 0x40f17c                 |         
    0x0040f0f0 nop                               |         
    0x0040f0f4 lw t8, 0x1c(fp)                   |         t8 = *(arg_1ch);
    0x0040f0f8 lw t8, 0x3c(t8)                   |         t8 = *((t8 + 15));
                                                 |         if (t8 < 0) {
    0x0040f0fc bltz t8, 0x40f17c                 |             goto label_7;
                                                 |         }
    0x0040f100 nop                               |         
    0x0040f104 lw t8, 0x1c(fp)                   |         t8 = *(arg_1ch);
    0x0040f108 lw t8, 0x38(t8)                   |         t8 = *((t8 + 14));
    0x0040f10c move v0, t8                       |         v0 = t8;
    0x0040f110 lw t8, 0x1c(fp)                   |         t8 = *(arg_1ch);
    0x0040f114 lw t8, 0x3c(t8)                   |         t8 = *((t8 + 15));
    0x0040f118 move a0, v0                       |         a0 = v0;
    0x0040f11c move a1, t8                       |         a1 = t8;
    0x0040f120 lw t8, -0x7ce4(gp)                |         t8 = sym.imp.rts_av_bind;
    0x0040f124 move t9, t8                       |         t9 = t8;
    0x0040f128 jalr t9                           |         t9 ();
    0x0040f12c nop                               |         
    0x0040f130 lw gp, 0x10(fp)                   |         gp = *(arg_10h);
    0x0040f134 move t8, v0                       |         t8 = v0;
    0x0040f138 sw t8, 0x20(fp)                   |         *(arg_20h) = t8;
    0x0040f13c lw t8, 0x20(fp)                   |         t8 = *(arg_20h);
                                                 |         if (t8 >= 0) {
    0x0040f140 bgez t8, 0x40f17c                 |             goto label_7;
                                                 |         }
    0x0040f144 nop                               |         
    0x0040f148 lw t8, -0x7cf4(gp)                |         t8 = *((gp - 7997));
    0x0040f14c lw t8, (t8)                       |         t8 = *(t8);
    0x0040f150 move a0, t8                       |         a0 = t8;
    0x0040f154 lw t8, -0x7fc8(gp)                |         t8 = *((gp - 8178));
                                                 |         /* str.fail_to_bind_osd_and_stream__ret__d_n */
    0x0040f158 addiu a1, t8, 0x2e6c              |         a1 = t8 + 0x2e6c;
    0x0040f15c lw a2, 0x20(fp)                   |         a2 = *(arg_20h);
    0x0040f160 lw t8, -0x7b3c(gp)                |         t8 = sym.imp.fprintf
    0x0040f164 move t9, t8                       |         t9 = t8;
    0x0040f168 jalr t9                           |         t9 ();
    0x0040f16c nop                               |         
    0x0040f170 lw gp, 0x10(fp)                   |         gp = *(arg_10h);
    0x0040f174 b 0x40f304                        |         goto label_5;
    0x0040f178 nop                               |         
                                                 |     }
                                                 | label_7:
    0x0040f17c lw t8, 0x1c(fp)                   |     t8 = *(arg_1ch);
    0x0040f180 lw t8, 0x34(t8)                   |     t8 = *((t8 + 13));
                                                 |     if (t8 >= 0) {
    0x0040f184 bltz t8, 0x40f228                 |         
    0x0040f188 nop                               |         
    0x0040f18c lw t8, 0x1c(fp)                   |         t8 = *(arg_1ch);
    0x0040f190 lw v0, 0x38(t8)                   |         v0 = *((t8 + 14));
    0x0040f194 addiu t8, zero, -1                |         t8 = -1;
                                                 |         if (v0 != t8) {
    0x0040f198 bne v0, t8, 0x40f228              |             goto label_8;
                                                 |         }
    0x0040f19c nop                               |         
    0x0040f1a0 lw t8, 0x1c(fp)                   |         t8 = *(arg_1ch);
    0x0040f1a4 lw t8, 0x3c(t8)                   |         t8 = *((t8 + 15));
                                                 |         if (t8 < 0) {
    0x0040f1a8 bltz t8, 0x40f228                 |             goto label_8;
                                                 |         }
    0x0040f1ac nop                               |         
    0x0040f1b0 lw t8, 0x1c(fp)                   |         t8 = *(arg_1ch);
    0x0040f1b4 lw t8, 0x34(t8)                   |         t8 = *((t8 + 13));
    0x0040f1b8 move v0, t8                       |         v0 = t8;
    0x0040f1bc lw t8, 0x1c(fp)                   |         t8 = *(arg_1ch);
    0x0040f1c0 lw t8, 0x3c(t8)                   |         t8 = *((t8 + 15));
    0x0040f1c4 move a0, v0                       |         a0 = v0;
    0x0040f1c8 move a1, t8                       |         a1 = t8;
    0x0040f1cc lw t8, -0x7ce4(gp)                |         t8 = sym.imp.rts_av_bind;
    0x0040f1d0 move t9, t8                       |         t9 = t8;
    0x0040f1d4 jalr t9                           |         t9 ();
    0x0040f1d8 nop                               |         
    0x0040f1dc lw gp, 0x10(fp)                   |         gp = *(arg_10h);
    0x0040f1e0 move t8, v0                       |         t8 = v0;
    0x0040f1e4 sw t8, 0x20(fp)                   |         *(arg_20h) = t8;
    0x0040f1e8 lw t8, 0x20(fp)                   |         t8 = *(arg_20h);
                                                 |         if (t8 >= 0) {
    0x0040f1ec bgez t8, 0x40f228                 |             goto label_8;
                                                 |         }
    0x0040f1f0 nop                               |         
    0x0040f1f4 lw t8, -0x7cf4(gp)                |         t8 = *((gp - 7997));
    0x0040f1f8 lw t8, (t8)                       |         t8 = *(t8);
    0x0040f1fc move a0, t8                       |         a0 = t8;
    0x0040f200 lw t8, -0x7fc8(gp)                |         t8 = *((gp - 8178));
                                                 |         /* str.fail_to_bind_osd_and_stream__ret__d_n */
    0x0040f204 addiu a1, t8, 0x2e6c              |         a1 = t8 + 0x2e6c;
    0x0040f208 lw a2, 0x20(fp)                   |         a2 = *(arg_20h);
    0x0040f20c lw t8, -0x7b3c(gp)                |         t8 = sym.imp.fprintf
    0x0040f210 move t9, t8                       |         t9 = t8;
    0x0040f214 jalr t9                           |         t9 ();
    0x0040f218 nop                               |         
    0x0040f21c lw gp, 0x10(fp)                   |         gp = *(arg_10h);
    0x0040f220 b 0x40f304                        |         goto label_5;
    0x0040f224 nop                               |         
                                                 |     }
                                                 | label_8:
    0x0040f228 lw t8, 0x1c(fp)                   |     t8 = *(arg_1ch);
    0x0040f22c lw t8, 0x34(t8)                   |     t8 = *((t8 + 13));
                                                 |     if (t8 >= 0) {
    0x0040f230 bltz t8, 0x40f258                 |         
    0x0040f234 nop                               |         
    0x0040f238 lw t8, 0x1c(fp)                   |         t8 = *(arg_1ch);
    0x0040f23c lw t8, 0x34(t8)                   |         t8 = *((t8 + 13));
    0x0040f240 move a0, t8                       |         a0 = t8;
    0x0040f244 lw t8, -0x7b7c(gp)                |         t8 = sym.imp.rts_av_enable_chn;
    0x0040f248 move t9, t8                       |         t9 = t8;
    0x0040f24c jalr t9                           |         t9 ();
    0x0040f250 nop                               |         
    0x0040f254 lw gp, 0x10(fp)                   |         gp = *(arg_10h);
                                                 |     }
    0x0040f258 lw t8, 0x1c(fp)                   |     t8 = *(arg_1ch);
    0x0040f25c lw t8, 0x38(t8)                   |     t8 = *((t8 + 14));
                                                 |     if (t8 >= 0) {
    0x0040f260 bltz t8, 0x40f288                 |         
    0x0040f264 nop                               |         
    0x0040f268 lw t8, 0x1c(fp)                   |         t8 = *(arg_1ch);
    0x0040f26c lw t8, 0x38(t8)                   |         t8 = *((t8 + 14));
    0x0040f270 move a0, t8                       |         a0 = t8;
    0x0040f274 lw t8, -0x7b7c(gp)                |         t8 = sym.imp.rts_av_enable_chn;
    0x0040f278 move t9, t8                       |         t9 = t8;
    0x0040f27c jalr t9                           |         t9 ();
    0x0040f280 nop                               |         
    0x0040f284 lw gp, 0x10(fp)                   |         gp = *(arg_10h);
                                                 |     }
    0x0040f288 lw t8, 0x1c(fp)                   |     t8 = *(arg_1ch);
    0x0040f28c lw t8, 0x3c(t8)                   |     t8 = *((t8 + 15));
                                                 |     if (t8 >= 0) {
    0x0040f290 bltz t8, 0x40f2f8                 |         
    0x0040f294 nop                               |         
    0x0040f298 lw t8, 0x1c(fp)                   |         t8 = *(arg_1ch);
    0x0040f29c lw t8, 0x3c(t8)                   |         t8 = *((t8 + 15));
    0x0040f2a0 move a0, t8                       |         a0 = t8;
    0x0040f2a4 lw t8, -0x7b7c(gp)                |         t8 = sym.imp.rts_av_enable_chn;
    0x0040f2a8 move t9, t8                       |         t9 = t8;
    0x0040f2ac jalr t9                           |         t9 ();
    0x0040f2b0 nop                               |         
    0x0040f2b4 lw gp, 0x10(fp)                   |         gp = *(arg_10h);
    0x0040f2b8 lw t8, 0x1c(fp)                   |         t8 = *(arg_1ch);
    0x0040f2bc lbu t8, (t8)                      |         t8 = *(t8);
                                                 |         if (t8 != 0) {
    0x0040f2c0 bnez t8, 0x40f2f8                 |             goto label_9;
                                                 |         }
    0x0040f2c4 nop                               |         
    0x0040f2c8 lw t8, 0x1c(fp)                   |         t8 = *(arg_1ch);
    0x0040f2cc lw v0, 0x3c(t8)                   |         v0 = *((t8 + 15));
    0x0040f2d0 lw t8, 0x1c(fp)                   |         t8 = *(arg_1ch);
    0x0040f2d4 lbu t8, 0x14(t8)                  |         t8 = *((t8 + 20));
    0x0040f2d8 move a0, v0                       |         a0 = v0;
    0x0040f2dc move a1, t8                       |         a1 = t8;
    0x0040f2e0 lw t8, -0x7ed0(gp)                |         t8 = *((gp - 8116));
                                                 |         /* aav.0x0040cae4 */
    0x0040f2e4 addiu t8, t8, -0x351c             |         t8 += -0x351c;
    0x0040f2e8 move t9, t8                       |         t9 = t8;
    0x0040f2ec jalr t9                           |         t9 ();
    0x0040f2f0 nop                               |         
    0x0040f2f4 lw gp, 0x10(fp)                   |         gp = *(arg_10h);
                                                 |     }
                                                 | label_9:
    0x0040f2f8 move t8, zero                     |     t8 = 0;
    0x0040f2fc b 0x40f3bc                        |     goto label_1;
    0x0040f300 nop                               |     
                                                 | label_5:
    0x0040f304 lw t8, 0x1c(fp)                   |     t8 = *(arg_1ch);
    0x0040f308 lw t8, 0x34(t8)                   |     t8 = *((t8 + 13));
                                                 |     if (t8 >= 0) {
    0x0040f30c bltz t8, 0x40f340                 |         
    0x0040f310 nop                               |         
    0x0040f314 lw t8, 0x1c(fp)                   |         t8 = *(arg_1ch);
    0x0040f318 lw t8, 0x34(t8)                   |         t8 = *((t8 + 13));
    0x0040f31c move a0, t8                       |         a0 = t8;
    0x0040f320 lw t8, -0x7b58(gp)                |         t8 = sym.imp.rts_av_destroy_chn;
    0x0040f324 move t9, t8                       |         t9 = t8;
    0x0040f328 jalr t9                           |         t9 ();
    0x0040f32c nop                               |         
    0x0040f330 lw gp, 0x10(fp)                   |         gp = *(arg_10h);
    0x0040f334 lw t8, 0x1c(fp)                   |         t8 = *(arg_1ch);
    0x0040f338 addiu v0, zero, -1                |         v0 = -1;
    0x0040f33c sw v0, 0x34(t8)                   |         *((t8 + 52)) = v0;
                                                 |     }
    0x0040f340 lw t8, 0x1c(fp)                   |     t8 = *(arg_1ch);
    0x0040f344 lw t8, 0x38(t8)                   |     t8 = *((t8 + 14));
                                                 |     if (t8 >= 0) {
    0x0040f348 bltz t8, 0x40f37c                 |         
    0x0040f34c nop                               |         
    0x0040f350 lw t8, 0x1c(fp)                   |         t8 = *(arg_1ch);
    0x0040f354 lw t8, 0x38(t8)                   |         t8 = *((t8 + 14));
    0x0040f358 move a0, t8                       |         a0 = t8;
    0x0040f35c lw t8, -0x7b58(gp)                |         t8 = sym.imp.rts_av_destroy_chn;
    0x0040f360 move t9, t8                       |         t9 = t8;
    0x0040f364 jalr t9                           |         t9 ();
    0x0040f368 nop                               |         
    0x0040f36c lw gp, 0x10(fp)                   |         gp = *(arg_10h);
    0x0040f370 lw t8, 0x1c(fp)                   |         t8 = *(arg_1ch);
    0x0040f374 addiu v0, zero, -1                |         v0 = -1;
    0x0040f378 sw v0, 0x38(t8)                   |         *((t8 + 56)) = v0;
                                                 |     }
    0x0040f37c lw t8, 0x1c(fp)                   |     t8 = *(arg_1ch);
    0x0040f380 lw t8, 0x3c(t8)                   |     t8 = *((t8 + 15));
                                                 |     if (t8 >= 0) {
    0x0040f384 bltz t8, 0x40f3b8                 |         
    0x0040f388 nop                               |         
    0x0040f38c lw t8, 0x1c(fp)                   |         t8 = *(arg_1ch);
    0x0040f390 lw t8, 0x3c(t8)                   |         t8 = *((t8 + 15));
    0x0040f394 move a0, t8                       |         a0 = t8;
    0x0040f398 lw t8, -0x7b58(gp)                |         t8 = sym.imp.rts_av_destroy_chn;
    0x0040f39c move t9, t8                       |         t9 = t8;
    0x0040f3a0 jalr t9                           |         t9 ();
    0x0040f3a4 nop                               |         
    0x0040f3a8 lw gp, 0x10(fp)                   |         gp = *(arg_10h);
    0x0040f3ac lw t8, 0x1c(fp)                   |         t8 = *(arg_1ch);
    0x0040f3b0 addiu v0, zero, -1                |         v0 = -1;
    0x0040f3b4 sw v0, 0x3c(t8)                   |         *((t8 + 60)) = v0;
                                                 |     }
    0x0040f3b8 addiu t8, zero, -1                |     t8 = -1;
                                                 | label_1:
    0x0040f3bc move v0, t8                       |     v0 = t8;
    0x0040f3c0 lw t8, -0x7d6c(gp)                |     t8 = *((gp - 8027));
    0x0040f3c4 lw v1, 0x24(fp)                   |     v1 = *(arg_24h);
    0x0040f3c8 lw t8, (t8)                       |     t8 = *(t8);
                                                 |     if (v1 != t8) {
    0x0040f3cc beq v1, t8, 0x40f3e4              |         
    0x0040f3d0 nop                               |         
    0x0040f3d4 lw t8, -0x7bf0(gp)                |         t8 = sym.imp.__stack_chk_fail;
    0x0040f3d8 move t9, t8                       |         t9 = t8;
    0x0040f3dc jalr t9                           |         t9 ();
    0x0040f3e0 nop                               |         
                                                 |     }
    0x0040f3e4 move sp, fp                       |     
    0x0040f3e8 lw ra, 0x2c(sp)                   |     ra = *(var_2ch);
    0x0040f3ec lw fp, 0x28(sp)                   |     fp = *(var_28h);
    0x0040f3f0 addiu sp, sp, 0x30                |     
    0x0040f3f4 jr ra                             |     return v1;
    0x0040f3f8 nop                               |     
                                                 | }
    ; assembly                                           | /* r2dec pseudo code output */
                                                         | /* /logs/firmware/patool_extraction/DUMP/mtdblock8_unblob_extracted/mtdblock8_extract/0-9650176.squashfs_v4_le_extract/sbin/avcd @ 0x40e8f0 */
                                                         | #include <stdint.h>
                                                         |  
    ; (fcn) method.VCD_RUNNER.create_isp_chn__ ()        | void method_VCD_RUNNER_create_isp_chn_ () {
                                                         |     /* VCD_RUNNER::create_isp_chn() */
    0x0040e8f0 lui gp, 3                                 |     
    0x0040e8f4 addiu gp, gp, 0x1770                      |     
    0x0040e8f8 addu gp, gp, t9                           |     gp += t9;
    0x0040e8fc addiu sp, sp, -0x50                       |     
    0x0040e900 sw ra, 0x4c(sp)                           |     *(var_4ch) = ra;
    0x0040e904 sw fp, 0x48(sp)                           |     *(var_48h) = fp;
    0x0040e908 move fp, sp                               |     fp = sp;
    0x0040e90c sw gp, 0x10(sp)                           |     *(var_10h) = gp;
    0x0040e910 sw a0, 0x1c(fp)                           |     *(arg_1ch) = a0;
    0x0040e914 lw t8, -0x7d6c(gp)                        |     t8 = *((gp - 8027));
    0x0040e918 lw t8, (t8)                               |     t8 = *(t8);
    0x0040e91c sw t8, 0x44(fp)                           |     *(arg_44h) = t8;
    0x0040e920 sw zero, 0x24(fp)                         |     *(arg_24h) = 0;
    0x0040e924 lw t8, 0x1c(fp)                           |     t8 = *(arg_1ch);
    0x0040e928 lw t8, 0x24(t8)                           |     t8 = *((t8 + 9));
    0x0040e92c sw t8, 0x2c(fp)                           |     *(arg_2ch) = t8;
    0x0040e930 addiu t8, zero, 2                         |     t8 = 2;
    0x0040e934 sw t8, 0x28(fp)                           |     *(arg_28h) = t8;
    0x0040e938 addiu t8, fp, 0x28                        |     t8 = fp + 0x28;
    0x0040e93c move a0, t8                               |     a0 = t8;
    0x0040e940 lw t8, -0x7c04(gp)                        |     t8 = sym.imp.rts_av_create_isp_chn;
    0x0040e944 move t9, t8                               |     t9 = t8;
    0x0040e948 jalr t9                                   |     t9 ();
    0x0040e94c nop                                       |     
    0x0040e950 lw gp, 0x10(fp)                           |     gp = *(arg_10h);
    0x0040e954 lw t8, 0x1c(fp)                           |     t8 = *(arg_1ch);
    0x0040e958 sw v0, 0x34(t8)                           |     *((t8 + 52)) = v0;
    0x0040e95c lw t8, 0x1c(fp)                           |     t8 = *(arg_1ch);
    0x0040e960 lw t8, 0x34(t8)                           |     t8 = *((t8 + 13));
                                                         |     if (t8 < 0) {
    0x0040e964 bgez t8, 0x40e9ac                         |         
    0x0040e968 nop                                       |         
    0x0040e96c lw t8, -0x7cf4(gp)                        |         t8 = *((gp - 7997));
    0x0040e970 lw v0, (t8)                               |         v0 = *(t8);
    0x0040e974 lw t8, 0x1c(fp)                           |         t8 = *(arg_1ch);
    0x0040e978 lw t8, 0x34(t8)                           |         t8 = *((t8 + 13));
    0x0040e97c move a0, v0                               |         a0 = v0;
    0x0040e980 lw v0, -0x7fc8(gp)                        |         v0 = *((gp - 8178));
                                                         |         /* str.fail_to_create_isp_chn__ret___d_n */
    0x0040e984 addiu a1, v0, 0x2d90                      |         a1 = v0 + 0x2d90;
    0x0040e988 move a2, t8                               |         a2 = t8;
    0x0040e98c lw t8, -0x7b3c(gp)                        |         t8 = sym.imp.fprintf
    0x0040e990 move t9, t8                               |         t9 = t8;
    0x0040e994 jalr t9                                   |         t9 ();
    0x0040e998 nop                                       |         
    0x0040e99c lw gp, 0x10(fp)                           |         gp = *(arg_10h);
    0x0040e9a0 addiu t8, zero, -1                        |         t8 = -1;
    0x0040e9a4 b 0x40ea78                                |         goto label_0;
    0x0040e9a8 nop                                       |         
                                                         |     }
    0x0040e9ac addiu t8, zero, 1                         |     t8 = 1;
    0x0040e9b0 sw t8, 0x30(fp)                           |     *(arg_30h) = t8;
    0x0040e9b4 lw t8, 0x1c(fp)                           |     t8 = *(arg_1ch);
    0x0040e9b8 lw t8, 8(t8)                              |     t8 = *((t8 + 2));
    0x0040e9bc sw t8, 0x34(fp)                           |     *(arg_34h) = t8;
    0x0040e9c0 lw t8, 0x1c(fp)                           |     t8 = *(arg_1ch);
    0x0040e9c4 lw t8, 0xc(t8)                            |     t8 = *((t8 + 3));
    0x0040e9c8 sw t8, 0x38(fp)                           |     *(arg_38h) = t8;
    0x0040e9cc addiu t8, zero, 1                         |     t8 = 1;
    0x0040e9d0 sw t8, 0x3c(fp)                           |     *(arg_3ch) = t8;
    0x0040e9d4 lw t8, 0x1c(fp)                           |     t8 = *(arg_1ch);
    0x0040e9d8 lbu t8, 0x2e(t8)                          |     t8 = *((t8 + 46));
                                                         |     if (t8 != 0) {
    0x0040e9dc beqz t8, 0x40e9f0                         |         
    0x0040e9e0 nop                                       |         
    0x0040e9e4 addiu t8, zero, 1                         |         t8 = 1;
    0x0040e9e8 b 0x40e9f8                                |         goto label_1;
    0x0040e9ec nop                                       |         
                                                         |     }
    0x0040e9f0 lw t8, 0x1c(fp)                           |     t8 = *(arg_1ch);
    0x0040e9f4 lbu t8, 3(t8)                             |     t8 = *((t8 + 3));
                                                         | label_1:
    0x0040e9f8 sw t8, 0x40(fp)                           |     *(arg_40h) = t8;
    0x0040e9fc lw t8, 0x1c(fp)                           |     t8 = *(arg_1ch);
    0x0040ea00 lw t8, 0x34(t8)                           |     t8 = *((t8 + 13));
    0x0040ea04 move v0, t8                               |     v0 = t8;
    0x0040ea08 addiu t8, fp, 0x30                        |     t8 = fp + 0x30;
    0x0040ea0c move a0, v0                               |     a0 = v0;
    0x0040ea10 move a1, t8                               |     a1 = t8;
    0x0040ea14 lw t8, -0x7bf8(gp)                        |     t8 = sym.imp.rts_av_set_profile;
    0x0040ea18 move t9, t8                               |     t9 = t8;
    0x0040ea1c jalr t9                                   |     t9 ();
    0x0040ea20 nop                                       |     
    0x0040ea24 lw gp, 0x10(fp)                           |     gp = *(arg_10h);
    0x0040ea28 move t8, v0                               |     t8 = v0;
    0x0040ea2c sw t8, 0x24(fp)                           |     *(arg_24h) = t8;
    0x0040ea30 lw t8, 0x24(fp)                           |     t8 = *(arg_24h);
                                                         |     if (t8 != 0) {
    0x0040ea34 beqz t8, 0x40ea74                         |         
    0x0040ea38 nop                                       |         
    0x0040ea3c lw t8, -0x7cf4(gp)                        |         t8 = *((gp - 7997));
    0x0040ea40 lw t8, (t8)                               |         t8 = *(t8);
    0x0040ea44 move a0, t8                               |         a0 = t8;
    0x0040ea48 lw t8, -0x7fc8(gp)                        |         t8 = *((gp - 8178));
                                                         |         /* str.set_isp_profile_fail__ret___d_n */
    0x0040ea4c addiu a1, t8, 0x2db4                      |         a1 = t8 + 0x2db4;
    0x0040ea50 lw a2, 0x24(fp)                           |         a2 = *(arg_24h);
    0x0040ea54 lw t8, -0x7b3c(gp)                        |         t8 = sym.imp.fprintf
    0x0040ea58 move t9, t8                               |         t9 = t8;
    0x0040ea5c jalr t9                                   |         t9 ();
    0x0040ea60 nop                                       |         
    0x0040ea64 lw gp, 0x10(fp)                           |         gp = *(arg_10h);
    0x0040ea68 addiu t8, zero, -1                        |         t8 = -1;
    0x0040ea6c b 0x40ea78                                |         goto label_0;
    0x0040ea70 nop                                       |         
                                                         |     }
    0x0040ea74 move t8, zero                             |     t8 = 0;
                                                         | label_0:
    0x0040ea78 move v0, t8                               |     v0 = t8;
    0x0040ea7c lw t8, -0x7d6c(gp)                        |     t8 = *((gp - 8027));
    0x0040ea80 lw v1, 0x44(fp)                           |     v1 = *(arg_44h);
    0x0040ea84 lw t8, (t8)                               |     t8 = *(t8);
                                                         |     if (v1 != t8) {
    0x0040ea88 beq v1, t8, 0x40eaa0                      |         
    0x0040ea8c nop                                       |         
    0x0040ea90 lw t8, -0x7bf0(gp)                        |         t8 = sym.imp.__stack_chk_fail;
    0x0040ea94 move t9, t8                               |         t9 = t8;
    0x0040ea98 jalr t9                                   |         t9 ();
    0x0040ea9c nop                                       |         
                                                         |     }
    0x0040eaa0 move sp, fp                               |     
    0x0040eaa4 lw ra, 0x4c(sp)                           |     ra = *(var_4ch);
    0x0040eaa8 lw fp, 0x48(sp)                           |     fp = *(var_48h);
    0x0040eaac addiu sp, sp, 0x50                        |     
    0x0040eab0 jr ra                                     |     return v1;
    0x0040eab4 nop                                       |     
                                                         | }
    ; assembly                                           | /* r2dec pseudo code output */
                                                         | /* /logs/firmware/patool_extraction/DUMP/mtdblock8_unblob_extracted/mtdblock8_extract/0-9650176.squashfs_v4_le_extract/sbin/avcd @ 0x40eab8 */
                                                         | #include <stdint.h>
                                                         |  
    ; (fcn) method.VCD_RUNNER.create_osd_chn__ ()        | void method_VCD_RUNNER_create_osd_chn_ () {
                                                         |     /* VCD_RUNNER::create_osd_chn() */
    0x0040eab8 lui gp, 3                                 |     
    0x0040eabc addiu gp, gp, 0x15a8                      |     
    0x0040eac0 addu gp, gp, t9                           |     gp += t9;
    0x0040eac4 addiu sp, sp, -0x30                       |     
    0x0040eac8 sw ra, 0x2c(sp)                           |     *(var_2ch) = ra;
    0x0040eacc sw fp, 0x28(sp)                           |     *(var_28h) = fp;
    0x0040ead0 move fp, sp                               |     fp = sp;
    0x0040ead4 sw gp, 0x10(sp)                           |     *(var_10h) = gp;
    0x0040ead8 sw a0, 0x1c(fp)                           |     *(arg_1ch) = a0;
    0x0040eadc lw t8, -0x7d6c(gp)                        |     t8 = *((gp - 8027));
    0x0040eae0 lw t8, (t8)                               |     t8 = *(t8);
    0x0040eae4 sw t8, 0x24(fp)                           |     *(arg_24h) = t8;
    0x0040eae8 lw t8, -0x7d08(gp)                        |     t8 = sym.imp.rts_av_create_osd_chn;
    0x0040eaec move t9, t8                               |     t9 = t8;
    0x0040eaf0 jalr t9                                   |     t9 ();
    0x0040eaf4 nop                                       |     
    0x0040eaf8 lw gp, 0x10(fp)                           |     gp = *(arg_10h);
    0x0040eafc lw t8, 0x1c(fp)                           |     t8 = *(arg_1ch);
    0x0040eb00 sw v0, 0x38(t8)                           |     *((t8 + 56)) = v0;
    0x0040eb04 lw t8, 0x1c(fp)                           |     t8 = *(arg_1ch);
    0x0040eb08 lw t8, 0x38(t8)                           |     t8 = *((t8 + 14));
                                                         |     if (t8 < 0) {
    0x0040eb0c bgez t8, 0x40eb80                         |         
    0x0040eb10 nop                                       |         
    0x0040eb14 lw t8, -0x7cf4(gp)                        |         t8 = *((gp - 7997));
    0x0040eb18 lw v1, (t8)                               |         v1 = *(t8);
    0x0040eb1c lw t8, 0x1c(fp)                           |         t8 = *(arg_1ch);
    0x0040eb20 lw v0, 0x38(t8)                           |         v0 = *((t8 + 14));
    0x0040eb24 lw t8, 0x1c(fp)                           |         t8 = *(arg_1ch);
    0x0040eb28 lw t8, 0x24(t8)                           |         t8 = *((t8 + 9));
    0x0040eb2c move a0, v1                               |         a0 = v1;
    0x0040eb30 lw v1, -0x7fc8(gp)                        |         v1 = *((gp - 8178));
                                                         |         /* str.fail_to_create_osd_chn__ret___d__id_d_n */
    0x0040eb34 addiu a1, v1, 0x2dd4                      |         a1 = v1 + 0x2dd4;
    0x0040eb38 move a2, v0                               |         a2 = v0;
    0x0040eb3c move a3, t8                               |         a3 = t8;
    0x0040eb40 lw t8, -0x7b3c(gp)                        |         t8 = sym.imp.fprintf
    0x0040eb44 move t9, t8                               |         t9 = t8;
    0x0040eb48 jalr t9                                   |         t9 ();
    0x0040eb4c nop                                       |         
    0x0040eb50 lw gp, 0x10(fp)                           |         gp = *(arg_10h);
    0x0040eb54 lw t8, 0x1c(fp)                           |         t8 = *(arg_1ch);
    0x0040eb58 lw t8, 0x34(t8)                           |         t8 = *((t8 + 13));
    0x0040eb5c move a0, t8                               |         a0 = t8;
    0x0040eb60 lw t8, -0x7b58(gp)                        |         t8 = sym.imp.rts_av_destroy_chn;
    0x0040eb64 move t9, t8                               |         t9 = t8;
    0x0040eb68 jalr t9                                   |         t9 ();
    0x0040eb6c nop                                       |         
    0x0040eb70 lw gp, 0x10(fp)                           |         gp = *(arg_10h);
    0x0040eb74 addiu t8, zero, -1                        |         t8 = -1;
    0x0040eb78 b 0x40eb84                                |         goto label_0;
    0x0040eb7c nop                                       |         
                                                         |     }
    0x0040eb80 move t8, zero                             |     t8 = 0;
                                                         | label_0:
    0x0040eb84 move v0, t8                               |     v0 = t8;
    0x0040eb88 lw t8, -0x7d6c(gp)                        |     t8 = *((gp - 8027));
    0x0040eb8c lw v1, 0x24(fp)                           |     v1 = *(arg_24h);
    0x0040eb90 lw t8, (t8)                               |     t8 = *(t8);
                                                         |     if (v1 != t8) {
    0x0040eb94 beq v1, t8, 0x40ebac                      |         
    0x0040eb98 nop                                       |         
    0x0040eb9c lw t8, -0x7bf0(gp)                        |         t8 = sym.imp.__stack_chk_fail;
    0x0040eba0 move t9, t8                               |         t9 = t8;
    0x0040eba4 jalr t9                                   |         t9 ();
    0x0040eba8 nop                                       |         
                                                         |     }
    0x0040ebac move sp, fp                               |     
    0x0040ebb0 lw ra, 0x2c(sp)                           |     ra = *(var_2ch);
    0x0040ebb4 lw fp, 0x28(sp)                           |     fp = *(var_28h);
    0x0040ebb8 addiu sp, sp, 0x30                        |     
    0x0040ebbc jr ra                                     |     return v1;
    0x0040ebc0 nop                                       |     
                                                         | }
    ; assembly                                               | /* r2dec pseudo code output */
                                                             | /* /logs/firmware/patool_extraction/DUMP/mtdblock8_unblob_extracted/mtdblock8_extract/0-9650176.squashfs_v4_le_extract/sbin/avcd @ 0x40ebc4 */
                                                             | #include <stdint.h>
                                                             |  
    ; (fcn) method.VCD_RUNNER.create_stream_chn__ ()         | void method_VCD_RUNNER_create_stream_chn_ () {
                                                             |     /* VCD_RUNNER::create_stream_chn() */
    0x0040ebc4 lui gp, 3                                     |     
    0x0040ebc8 addiu gp, gp, 0x149c                          |     
    0x0040ebcc addu gp, gp, t9                               |     gp += t9;
    0x0040ebd0 addiu sp, sp, -0x48                           |     
    0x0040ebd4 sw ra, 0x44(sp)                               |     *(var_44h) = ra;
    0x0040ebd8 sw fp, 0x40(sp)                               |     *(var_40h) = fp;
    0x0040ebdc move fp, sp                                   |     fp = sp;
    0x0040ebe0 sw gp, 0x10(sp)                               |     *(var_10h) = gp;
    0x0040ebe4 sw a0, 0x1c(fp)                               |     *(arg_1ch) = a0;
    0x0040ebe8 lw t8, -0x7d6c(gp)                            |     t8 = *((gp - 8027));
    0x0040ebec lw t8, (t8)                                   |     t8 = *(t8);
    0x0040ebf0 sw t8, 0x3c(fp)                               |     *(arg_3ch) = t8;
    0x0040ebf4 lw t8, 0x1c(fp)                               |     t8 = *(arg_1ch);
    0x0040ebf8 lbu t8, (t8)                                  |     t8 = *(t8);
                                                             |     if (t8 != 0) {
    0x0040ebfc beqz t8, 0x40ed2c                             |         
    0x0040ec00 nop                                           |         
    0x0040ec04 addiu v0, zero, 2                             |         v0 = 2;
                                                             |         if (t8 != v0) {
    0x0040ec08 bne t8, v0, 0x40eda4                          |             goto label_0;
                                                             |         }
    0x0040ec0c nop                                           |         
    0x0040ec10 addiu t8, zero, 0xc                           |         t8 = 0xc;
    0x0040ec14 sw t8, 0x24(fp)                               |         *(arg_24h) = t8;
    0x0040ec18 addiu t8, zero, -1                            |         t8 = -1;
    0x0040ec1c sw t8, 0x28(fp)                               |         *(arg_28h) = t8;
    0x0040ec20 lw t8, 0x1c(fp)                               |         t8 = *(arg_1ch);
    0x0040ec24 lw t8, 0x10(t8)                               |         t8 = *((t8 + 4));
    0x0040ec28 sll t8, t8, 0xa                               |         t8 <<= 0xa;
    0x0040ec2c sw t8, 0x2c(fp)                               |         *(arg_2ch) = t8;
    0x0040ec30 lw t8, 0x1c(fp)                               |         t8 = *(arg_1ch);
    0x0040ec34 lbu t8, 4(t8)                                 |         t8 = *((t8 + 4));
    0x0040ec38 sw t8, 0x30(fp)                               |         *(arg_30h) = t8;
    0x0040ec3c sw zero, 0x38(fp)                             |         *(arg_38h) = 0;
    0x0040ec40 sw zero, 0x34(fp)                             |         *(arg_34h) = 0;
    0x0040ec44 addiu t8, fp, 0x24                            |         t8 = fp + 0x24;
    0x0040ec48 move a0, t8                                   |         a0 = t8;
    0x0040ec4c lw t8, -0x7c08(gp)                            |         t8 = sym.imp.rts_av_create_h264_chn;
    0x0040ec50 move t9, t8                                   |         t9 = t8;
    0x0040ec54 jalr t9                                       |         t9 ();
    0x0040ec58 nop                                           |         
    0x0040ec5c lw gp, 0x10(fp)                               |         gp = *(arg_10h);
    0x0040ec60 lw t8, 0x1c(fp)                               |         t8 = *(arg_1ch);
    0x0040ec64 sw v0, 0x3c(t8)                               |         *((t8 + 60)) = v0;
    0x0040ec68 lw t8, 0x1c(fp)                               |         t8 = *(arg_1ch);
    0x0040ec6c lw t8, 0x3c(t8)                               |         t8 = *((t8 + 15));
                                                             |         if (t8 < 0) {
    0x0040ec70 bgez t8, 0x40ecb8                             |             
    0x0040ec74 nop                                           |             
    0x0040ec78 lw t8, -0x7cf4(gp)                            |             t8 = *((gp - 7997));
    0x0040ec7c lw v0, (t8)                                   |             v0 = *(t8);
    0x0040ec80 lw t8, 0x1c(fp)                               |             t8 = *(arg_1ch);
    0x0040ec84 lw t8, 0x3c(t8)                               |             t8 = *((t8 + 15));
    0x0040ec88 move a0, v0                                   |             a0 = v0;
    0x0040ec8c lw v0, -0x7fc8(gp)                            |             v0 = *((gp - 8178));
                                                             |             /* str.fail_to_create_h264_chn__ret___d_n */
    0x0040ec90 addiu a1, v0, 0x2e00                          |             a1 = v0 + 0x2e00;
    0x0040ec94 move a2, t8                                   |             a2 = t8;
    0x0040ec98 lw t8, -0x7b3c(gp)                            |             t8 = sym.imp.fprintf
    0x0040ec9c move t9, t8                                   |             t9 = t8;
    0x0040eca0 jalr t9                                       |             t9 ();
    0x0040eca4 nop                                           |             
    0x0040eca8 lw gp, 0x10(fp)                               |             gp = *(arg_10h);
    0x0040ecac addiu t8, zero, -1                            |             t8 = -1;
    0x0040ecb0 b 0x40eda8                                    |             goto label_1;
    0x0040ecb4 nop                                           |             
                                                             |         }
    0x0040ecb8 lw t8, 0x1c(fp)                               |         t8 = *(arg_1ch);
    0x0040ecbc lbu t8, 1(t8)                                 |         t8 = *((t8 + 1));
                                                             |         if (t8 == 0) {
    0x0040ecc0 bnez t8, 0x40ecf4                             |             
    0x0040ecc4 nop                                           |             
    0x0040ecc8 lw t8, 0x1c(fp)                               |             t8 = *(arg_1ch);
    0x0040eccc lw t8, 0x3c(t8)                               |             t8 = *((t8 + 15));
    0x0040ecd0 move a0, t8                                   |             a0 = t8;
    0x0040ecd4 lw t8, -0x7ed0(gp)                            |             t8 = *((gp - 8116));
                                                             |             /* aav.0x0040e368 */
    0x0040ecd8 addiu t8, t8, -0x1c98                         |             t8 += -0x1c98;
    0x0040ecdc move t9, t8                                   |             t9 = t8;
    0x0040ece0 jalr t9                                       |             t9 ();
    0x0040ece4 nop                                           |             
    0x0040ece8 lw gp, 0x10(fp)                               |             gp = *(arg_10h);
    0x0040ecec b 0x40eda4                                    |             goto label_0;
    0x0040ecf0 nop                                           |             
                                                             |         }
    0x0040ecf4 lw t8, 0x1c(fp)                               |         t8 = *(arg_1ch);
    0x0040ecf8 lw v0, 0x3c(t8)                               |         v0 = *((t8 + 15));
    0x0040ecfc lw t8, 0x1c(fp)                               |         t8 = *(arg_1ch);
    0x0040ed00 lw t8, 0x10(t8)                               |         t8 = *((t8 + 4));
    0x0040ed04 move a0, v0                                   |         a0 = v0;
    0x0040ed08 move a1, t8                                   |         a1 = t8;
    0x0040ed0c lw t8, -0x7ed0(gp)                            |         t8 = *((gp - 8116));
                                                             |         /* aav.0x0040e670 */
    0x0040ed10 addiu t8, t8, -0x1990                         |         t8 += -0x1990;
    0x0040ed14 move t9, t8                                   |         t9 = t8;
    0x0040ed18 jalr t9                                       |         t9 ();
    0x0040ed1c nop                                           |         
    0x0040ed20 lw gp, 0x10(fp)                               |         gp = *(arg_10h);
    0x0040ed24 b 0x40eda4                                    |         goto label_0;
    0x0040ed28 nop                                           |         
                                                             |     }
    0x0040ed2c sw zero, 0x24(fp)                             |     *(arg_24h) = 0;
    0x0040ed30 addiu t8, fp, 0x24                            |     t8 = fp + 0x24;
    0x0040ed34 move a0, t8                                   |     a0 = t8;
    0x0040ed38 lw t8, -0x7c88(gp)                            |     t8 = sym.imp.rts_av_create_mjpeg_chn;
    0x0040ed3c move t9, t8                                   |     t9 = t8;
    0x0040ed40 jalr t9                                       |     t9 ();
    0x0040ed44 nop                                           |     
    0x0040ed48 lw gp, 0x10(fp)                               |     gp = *(arg_10h);
    0x0040ed4c lw t8, 0x1c(fp)                               |     t8 = *(arg_1ch);
    0x0040ed50 sw v0, 0x3c(t8)                               |     *((t8 + 60)) = v0;
    0x0040ed54 lw t8, 0x1c(fp)                               |     t8 = *(arg_1ch);
    0x0040ed58 lw t8, 0x3c(t8)                               |     t8 = *((t8 + 15));
                                                             |     if (t8 < 0) {
    0x0040ed5c bgez t8, 0x40eda4                             |         
    0x0040ed60 nop                                           |         
    0x0040ed64 lw t8, -0x7cf4(gp)                            |         t8 = *((gp - 7997));
    0x0040ed68 lw v0, (t8)                                   |         v0 = *(t8);
    0x0040ed6c lw t8, 0x1c(fp)                               |         t8 = *(arg_1ch);
    0x0040ed70 lw t8, 0x3c(t8)                               |         t8 = *((t8 + 15));
    0x0040ed74 move a0, v0                                   |         a0 = v0;
    0x0040ed78 lw v0, -0x7fc8(gp)                            |         v0 = *((gp - 8178));
                                                             |         /* str.fail_to_create_jpeg_chn__ret___d_n */
    0x0040ed7c addiu a1, v0, 0x2e24                          |         a1 = v0 + 0x2e24;
    0x0040ed80 move a2, t8                                   |         a2 = t8;
    0x0040ed84 lw t8, -0x7b3c(gp)                            |         t8 = sym.imp.fprintf
    0x0040ed88 move t9, t8                                   |         t9 = t8;
    0x0040ed8c jalr t9                                       |         t9 ();
    0x0040ed90 nop                                           |         
    0x0040ed94 lw gp, 0x10(fp)                               |         gp = *(arg_10h);
    0x0040ed98 addiu t8, zero, -1                            |         t8 = -1;
    0x0040ed9c b 0x40eda8                                    |         goto label_1;
    0x0040eda0 nop                                           |         
                                                             |     }
                                                             | label_0:
    0x0040eda4 move t8, zero                                 |     t8 = 0;
                                                             | label_1:
    0x0040eda8 move v0, t8                                   |     v0 = t8;
    0x0040edac lw t8, -0x7d6c(gp)                            |     t8 = *((gp - 8027));
    0x0040edb0 lw v1, 0x3c(fp)                               |     v1 = *(arg_3ch);
    0x0040edb4 lw t8, (t8)                                   |     t8 = *(t8);
                                                             |     if (v1 != t8) {
    0x0040edb8 beq v1, t8, 0x40edd0                          |         
    0x0040edbc nop                                           |         
    0x0040edc0 lw t8, -0x7bf0(gp)                            |         t8 = sym.imp.__stack_chk_fail;
    0x0040edc4 move t9, t8                                   |         t9 = t8;
    0x0040edc8 jalr t9                                       |         t9 ();
    0x0040edcc nop                                           |         
                                                             |     }
    0x0040edd0 move sp, fp                                   |     
    0x0040edd4 lw ra, 0x44(sp)                               |     ra = *(var_44h);
    0x0040edd8 lw fp, 0x40(sp)                               |     fp = *(var_40h);
    0x0040eddc addiu sp, sp, 0x48                            |     
    0x0040ede0 jr ra                                         |     return v1;
    0x0040ede4 nop                                           |     
                                                             | }
    ; assembly                                                       | /* r2dec pseudo code output */
                                                                     | /* /logs/firmware/patool_extraction/DUMP/mtdblock8_unblob_extracted/mtdblock8_extract/0-9650176.squashfs_v4_le_extract/sbin/avcd @ 0x410a60 */
                                                                     | #include <stdint.h>
                                                                     |  
    ; (fcn) method.VCD_RUNNER.dual_task_apply_snapshot__ ()          | void method_VCD_RUNNER_dual_task_apply_snapshot_ () {
                                                                     |     /* VCD_RUNNER::dual_task_apply_snapshot() */
    0x00410a60 lui gp, 3                                             |     
    0x00410a64 addiu gp, gp, -0xa00                                  |     
    0x00410a68 addu gp, gp, t9                                       |     gp += t9;
    0x00410a6c addiu sp, sp, -0x38                                   |     
    0x00410a70 sw ra, 0x34(sp)                                       |     *(var_34h) = ra;
    0x00410a74 sw fp, 0x30(sp)                                       |     *(var_30h) = fp;
    0x00410a78 move fp, sp                                           |     fp = sp;
    0x00410a7c sw gp, 0x10(sp)                                       |     *(var_10h) = gp;
    0x00410a80 sw a0, 0x1c(fp)                                       |     *(arg_1ch) = a0;
    0x00410a84 lw t8, -0x7d6c(gp)                                    |     t8 = *((gp - 8027));
    0x00410a88 lw t8, (t8)                                           |     t8 = *(t8);
    0x00410a8c sw t8, 0x2c(fp)                                       |     *(arg_2ch) = t8;
    0x00410a90 lw t8, 0x1c(fp)                                       |     t8 = *(arg_1ch);
    0x00410a94 lw t8, 0x248(t8)                                      |     t8 = *((t8 + 146));
                                                                     |     if (t8 != 0) {
    0x00410a98 beqz t8, 0x410bb8                                     |         
    0x00410a9c nop                                                   |         
    0x00410aa0 sw zero, 0x28(fp)                                     |         *(arg_28h) = 0;
    0x00410aa4 sw zero, 0x24(fp)                                     |         *(arg_24h) = 0;
    0x00410aa8 addiu t8, fp, 0x24                                    |         t8 = fp + 0x24;
    0x00410aac move a0, t8                                           |         a0 = t8;
    0x00410ab0 lw t8, -0x7c88(gp)                                    |         t8 = sym.imp.rts_av_create_mjpeg_chn;
    0x00410ab4 move t9, t8                                           |         t9 = t8;
    0x00410ab8 jalr t9                                               |         t9 ();
    0x00410abc nop                                                   |         
    0x00410ac0 lw gp, 0x10(fp)                                       |         gp = *(arg_10h);
    0x00410ac4 lw t8, 0x1c(fp)                                       |         t8 = *(arg_1ch);
    0x00410ac8 sw v0, 0x40(t8)                                       |         *((t8 + 64)) = v0;
    0x00410acc lw t8, 0x1c(fp)                                       |         t8 = *(arg_1ch);
    0x00410ad0 lw t8, 0x40(t8)                                       |         t8 = *((t8 + 16));
                                                                     |         if (t8 < 0) {
    0x00410ad4 bgez t8, 0x410b1c                                     |             
    0x00410ad8 nop                                                   |             
    0x00410adc lw t8, -0x7cf4(gp)                                    |             t8 = *((gp - 7997));
    0x00410ae0 lw v0, (t8)                                           |             v0 = *(t8);
    0x00410ae4 lw t8, 0x1c(fp)                                       |             t8 = *(arg_1ch);
    0x00410ae8 lw t8, 0x40(t8)                                       |             t8 = *((t8 + 16));
    0x00410aec move a0, v0                                           |             a0 = v0;
    0x00410af0 lw v0, -0x7fc8(gp)                                    |             v0 = *((gp - 8178));
                                                                     |             /* str.fail_to_create_jpeg_chn__ret___d_n */
    0x00410af4 addiu a1, v0, 0x2e24                                  |             a1 = v0 + 0x2e24;
    0x00410af8 move a2, t8                                           |             a2 = t8;
    0x00410afc lw t8, -0x7b3c(gp)                                    |             t8 = sym.imp.fprintf
    0x00410b00 move t9, t8                                           |             t9 = t8;
    0x00410b04 jalr t9                                               |             t9 ();
    0x00410b08 nop                                                   |             
    0x00410b0c lw gp, 0x10(fp)                                       |             gp = *(arg_10h);
    0x00410b10 addiu t8, zero, -1                                    |             t8 = -1;
    0x00410b14 b 0x410bbc                                            |             goto label_0;
    0x00410b18 nop                                                   |             
                                                                     |         }
    0x00410b1c lw t8, 0x1c(fp)                                       |         t8 = *(arg_1ch);
    0x00410b20 lw t8, 0x38(t8)                                       |         t8 = *((t8 + 14));
                                                                     |         if (t8 < 0) {
    0x00410b24 bltz t8, 0x410bb8                                     |             goto label_1;
                                                                     |         }
    0x00410b28 nop                                                   |         
    0x00410b2c lw t8, 0x1c(fp)                                       |         t8 = *(arg_1ch);
    0x00410b30 lw t8, 0x40(t8)                                       |         t8 = *((t8 + 16));
                                                                     |         if (t8 < 0) {
    0x00410b34 bltz t8, 0x410bb8                                     |             goto label_1;
                                                                     |         }
    0x00410b38 nop                                                   |         
    0x00410b3c lw t8, 0x1c(fp)                                       |         t8 = *(arg_1ch);
    0x00410b40 lw t8, 0x38(t8)                                       |         t8 = *((t8 + 14));
    0x00410b44 move v0, t8                                           |         v0 = t8;
    0x00410b48 lw t8, 0x1c(fp)                                       |         t8 = *(arg_1ch);
    0x00410b4c lw t8, 0x40(t8)                                       |         t8 = *((t8 + 16));
    0x00410b50 move a0, v0                                           |         a0 = v0;
    0x00410b54 move a1, t8                                           |         a1 = t8;
    0x00410b58 lw t8, -0x7ce4(gp)                                    |         t8 = sym.imp.rts_av_bind;
    0x00410b5c move t9, t8                                           |         t9 = t8;
    0x00410b60 jalr t9                                               |         t9 ();
    0x00410b64 nop                                                   |         
    0x00410b68 lw gp, 0x10(fp)                                       |         gp = *(arg_10h);
    0x00410b6c move t8, v0                                           |         t8 = v0;
    0x00410b70 sw t8, 0x28(fp)                                       |         *(arg_28h) = t8;
    0x00410b74 lw t8, 0x28(fp)                                       |         t8 = *(arg_28h);
                                                                     |         if (t8 >= 0) {
    0x00410b78 bgez t8, 0x410bb8                                     |             goto label_1;
                                                                     |         }
    0x00410b7c nop                                                   |         
    0x00410b80 lw t8, -0x7cf4(gp)                                    |         t8 = *((gp - 7997));
    0x00410b84 lw t8, (t8)                                           |         t8 = *(t8);
    0x00410b88 move a0, t8                                           |         a0 = t8;
    0x00410b8c lw t8, -0x7fc8(gp)                                    |         t8 = *((gp - 8178));
                                                                     |         /* str.fail_to_bind_osd_and_stream__ret__d_n */
    0x00410b90 addiu a1, t8, 0x2e6c                                  |         a1 = t8 + 0x2e6c;
    0x00410b94 lw a2, 0x28(fp)                                       |         a2 = *(arg_28h);
    0x00410b98 lw t8, -0x7b3c(gp)                                    |         t8 = sym.imp.fprintf
    0x00410b9c move t9, t8                                           |         t9 = t8;
    0x00410ba0 jalr t9                                               |         t9 ();
    0x00410ba4 nop                                                   |         
    0x00410ba8 lw gp, 0x10(fp)                                       |         gp = *(arg_10h);
    0x00410bac addiu t8, zero, -1                                    |         t8 = -1;
    0x00410bb0 b 0x410bbc                                            |         goto label_0;
    0x00410bb4 nop                                                   |         
                                                                     |     }
                                                                     | label_1:
    0x00410bb8 move t8, zero                                         |     t8 = 0;
                                                                     | label_0:
    0x00410bbc move v0, t8                                           |     v0 = t8;
    0x00410bc0 lw t8, -0x7d6c(gp)                                    |     t8 = *((gp - 8027));
    0x00410bc4 lw v1, 0x2c(fp)                                       |     v1 = *(arg_2ch);
    0x00410bc8 lw t8, (t8)                                           |     t8 = *(t8);
                                                                     |     if (v1 != t8) {
    0x00410bcc beq v1, t8, 0x410be4                                  |         
    0x00410bd0 nop                                                   |         
    0x00410bd4 lw t8, -0x7bf0(gp)                                    |         t8 = sym.imp.__stack_chk_fail;
    0x00410bd8 move t9, t8                                           |         t9 = t8;
    0x00410bdc jalr t9                                               |         t9 ();
    0x00410be0 nop                                                   |         
                                                                     |     }
    0x00410be4 move sp, fp                                           |     
    0x00410be8 lw ra, 0x34(sp)                                       |     ra = *(var_34h);
    0x00410bec lw fp, 0x30(sp)                                       |     fp = *(var_30h);
    0x00410bf0 addiu sp, sp, 0x38                                    |     
    0x00410bf4 jr ra                                                 |     return v1;
    0x00410bf8 nop                                                   |     
                                                                     | }

[*] Function fprintf used 12 times avcd