[*] Binary protection state of video-scene-provider

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


[*] Function sprintf tear down of video-scene-provider

    ; assembly                               | /* r2dec pseudo code output */
                                             | /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/share/addon/packages/autostart/axis-video-scene-provider_r2.8.16_mips32r2el-nf.opk.tar.gz_extract/gzip.uncompressed_extract/axis-video-scene-provider.opk.tar.gz_extract/gzip.uncompressed_extract/axis-video-scene-provider_r2.8.16_mips32r2el-nf.opk_extract/data.tar.gz_extract/gzip.uncompressed_extract/axis-video-scene-provider/usr/bin/video-scene-provider @ 0x4078ac */
                                             | #include <stdint.h>
                                             |  
    ; (fcn) fcn.004078ac ()                  | void fcn_004078ac () {
    0x004078ac addiu sp, sp, -0x38           |     
    0x004078b0 lw v0, 0x30(a0)               |     v0 = *((a0 + 12));
    0x004078b4 sw s0, 0x1c(sp)               |     *(var_1ch) = s0;
    0x004078b8 sll v0, v0, 2                 |     v0 <<= 2;
    0x004078bc move s0, a0                   |     s0 = a0;
    0x004078c0 lw a0, 0x34(a0)               |     a0 = *((a0 + 13));
    0x004078c4 addiu v0, v0, -4              |     v0 += -4;
    0x004078c8 sw ra, 0x34(sp)               |     *(var_34h) = ra;
    0x004078cc lwx a0, v0(a0)                |     __asm ("lwx a0, v0(a0)");
    0x004078d0 sw s1, 0x20(sp)               |     *(var_20h) = s1;
    0x004078d4 sw s5, 0x30(sp)               |     *(var_30h) = s5;
    0x004078d8 move s1, a1                   |     s1 = a1;
    0x004078dc sw s4, 0x2c(sp)               |     *(var_2ch) = s4;
    0x004078e0 sw s3, 0x28(sp)               |     *(var_28h) = s3;
    0x004078e4 sw s2, 0x24(sp)               |     *(var_24h) = s2;
    0x004078e8 jal 0x45a390                  |     fcn_0045a390 ();
    0x004078ec lw a2, 0x30(s0)               |     a2 = *((s0 + 12));
    0x004078f0 lw a1, 0x34(s0)               |     a1 = *((s0 + 13));
    0x004078f4 addiu a2, a2, -1              |     a2 += -1;
    0x004078f8 sll a2, a2, 2                 |     a2 <<= 2;
    0x004078fc addiu a0, a1, 4               |     a0 = a1 + 4;
    0x00407900 jal 0x482340                  |     fcn_00482340 ();
    0x00407904 lw v1, 0x18(s0)               |     v1 = *((s0 + 6));
    0x00407908 lw v0, 0x20(s0)               |     v0 = *((s0 + 8));
                                             |     if (v1 == v0) {
    0x0040790c beql v1, v0, 0x407a40         |         goto label_2;
                                             |     }
    0x00407910 lw v1, 0x1c(s0)               |     v1 = *((s0 + 7));
    0x00407914 lw v0, 0x34(s0)               |     v0 = *((s0 + 13));
                                             |     do {
    0x00407918 move a0, s1                   |         a0 = s1;
    0x0040791c sw s1, (v0)                   |         *(v0) = s1;
    0x00407920 jal 0x4596dc                  |         fcn_004596dc ();
    0x00407924 lw a0, 0x40(s0)               |         a0 = *((s0 + 16));
                                             |         if (a0 == 0) {
    0x00407928 beql a0, zero, 0x407aa0       |             goto label_3;
                                             |         }
    0x0040792c lw a2, 0x30(s0)               |         a2 = *((s0 + 12));
    0x00407930 move a2, v0                   |         a2 = v0;
                                             | label_0:
    0x00407934 move a3, v1                   |         a3 = v1;
    0x00407938 jal 0x40e990                  |         fcn_0040e990 ();
    0x0040793c lw a2, 0x30(s0)               |         a2 = *((s0 + 12));
    0x00407940 lw a1, 0x3c(s0)               |         a1 = *((s0 + 15));
    0x00407944 addiu a2, a2, -1              |         a2 += -1;
    0x00407948 addiu a0, a1, 1               |         a0 = a1 + 1;
    0x0040794c move s1, v0                   |         s1 = v0;
    0x00407950 jal 0x482340                  |         fcn_00482340 ();
    0x00407954 lw a0, 0x44(s0)               |         a0 = *((s0 + 17));
    0x00407958 lw s4, 0x3c(s0)               |         s4 = *((s0 + 15));
    0x0040795c lw s3, (a0)                   |         s3 = *(a0);
                                             |         if (s1 == 0) {
    0x00407960 beqz s1, 0x407ac4             |             goto label_4;
                                             |         }
    0x00407964 move v1, zero                 |         v1 = 0;
                                             |         if (s3 != 0) {
    0x00407968 beqz s3, 0x4079e4             |             
    0x0040796c move a0, s1                   |             a0 = s1;
    0x00407970 jal 0x461c88                  |             fcn_00461c88 ();
    0x00407974 move a0, s3                   |             a0 = s3;
    0x00407978 move s2, v0                   |             s2 = v0;
    0x0040797c jal 0x461c88                  |             fcn_00461c88 ();
    0x00407980 move a1, v0                   |             a1 = v0;
    0x00407984 move a0, s2                   |             a0 = s2;
    0x00407988 jal 0x4711a8                  |             fcn_004711a8 ();
    0x0040798c move a0, s1                   |             a0 = s1;
    0x00407990 sltu s2, zero, v0             |             s2 = (0 < v0) ? 1 : 0;
    0x00407994 jal 0x461d48                  |             fcn_00461d48 ();
    0x00407998 move a0, s3                   |             a0 = s3;
    0x0040799c move s5, v0                   |             s5 = v0;
    0x004079a0 jal 0x461d48                  |             fcn_00461d48 ();
    0x004079a4 move a1, v0                   |             a1 = v0;
    0x004079a8 move a0, s5                   |             a0 = s5;
    0x004079ac jal 0x4711a8                  |             fcn_004711a8 ();
    0x004079b0 sltu v0, zero, v0             |             v0 = (0 < v0) ? 1 : 0;
    0x004079b4 move a0, s1                   |             a0 = s1;
    0x004079b8 or s2, s2, v0                 |             s2 |= v0;
    0x004079bc jal 0x461e08                  |             fcn_00461e08 ();
    0x004079c0 move a0, s3                   |             a0 = s3;
    0x004079c4 move s3, v0                   |             s3 = v0;
    0x004079c8 jal 0x461e08                  |             fcn_00461e08 ();
    0x004079cc move a1, v0                   |             a1 = v0;
    0x004079d0 move a0, s3                   |             a0 = s3;
    0x004079d4 jal 0x4711a8                  |             fcn_004711a8 ();
    0x004079d8 sltu v0, zero, v0             |             v0 = (0 < v0) ? 1 : 0;
    0x004079dc lw a0, 0x44(s0)               |             a0 = *((s0 + 17));
    0x004079e0 or v1, s2, v0                 |             v1 = s2 | v0;
                                             |         }
                                             | label_1:
    0x004079e4 lw v0, 0x30(s0)               |         v0 = *((s0 + 12));
    0x004079e8 sb v1, (s4)                   |         *(s4) = v1;
    0x004079ec sll v0, v0, 2                 |         v0 <<= 2;
    0x004079f0 addiu v0, v0, -4              |         v0 += -4;
    0x004079f4 lwx a0, v0(a0)                |         __asm ("lwx a0, v0(a0)");
    0x004079f8 jal 0x462244                  |         fcn_00462244 ();
    0x004079fc lw a2, 0x30(s0)               |         a2 = *((s0 + 12));
    0x00407a00 lw a1, 0x44(s0)               |         a1 = *((s0 + 17));
    0x00407a04 addiu a2, a2, -1              |         a2 += -1;
    0x00407a08 sll a2, a2, 2                 |         a2 <<= 2;
    0x00407a0c addiu a0, a1, 4               |         a0 = a1 + 4;
    0x00407a10 jal 0x482340                  |         fcn_00482340 ();
    0x00407a14 lw v0, 0x44(s0)               |         v0 = *((s0 + 17));
    0x00407a18 lw ra, 0x34(sp)               |         ra = *(var_34h);
    0x00407a1c lw s5, 0x30(sp)               |         s5 = *(var_30h);
    0x00407a20 sw s1, (v0)                   |         *(v0) = s1;
    0x00407a24 lw s4, 0x2c(sp)               |         s4 = *(var_2ch);
    0x00407a28 lw s3, 0x28(sp)               |         s3 = *(var_28h);
    0x00407a2c lw s2, 0x24(sp)               |         s2 = *(var_24h);
    0x00407a30 lw s1, 0x20(sp)               |         s1 = *(var_20h);
    0x00407a34 lw s0, 0x1c(sp)               |         s0 = *(var_1ch);
    0x00407a38 addiu sp, sp, 0x38            |         
    0x00407a3c jr ra                         |         return v1;
                                             | label_2:
    0x00407a40 lw v0, 0x24(s0)               |         v0 = *((s0 + 9));
    0x00407a44 lw v0, 0x34(s0)               |         v0 = *((s0 + 13));
    0x00407a48 bnel v1, v0, 0x407918         |         
                                             |     } while (v1 == v0);
    0x00407a4c lw v1, (s0)                   |     v1 = *(s0);
    0x00407a50 lw a0, 0x2c(s0)               |     a0 = *((s0 + 11));
    0x00407a54 lw a2, 0x28(s0)               |     a2 = *((s0 + 10));
    0x00407a58 sra v0, v1, 0x1f              |     v0 = v1 >> 0x1f;
    0x00407a5c mult a0, v1                   |     __asm ("mult a0, v1");
    0x00407a60 madd a2, v0                   |     __asm ("madd a2, v0");
    0x00407a64 mflo v0                       |     __asm ("mflo v0");
    0x00407a68 multu a2, v1                  |     __asm ("multu a2, v1");
    0x00407a6c mfhi a3                       |     __asm ("mfhi a3");
    0x00407a70 mflo a2                       |     __asm ("mflo a2");
    0x00407a74 move a0, s1                   |     a0 = s1;
    0x00407a78 addu a3, v0, a3               |     a3 = v0 + a3;
    0x00407a7c jal 0x459700                  |     fcn_00459700 ();
    0x00407a80 lw v0, 0x34(s0)               |     v0 = *((s0 + 13));
    0x00407a84 move a0, s1                   |     a0 = s1;
    0x00407a88 sw s1, (v0)                   |     *(v0) = s1;
    0x00407a8c jal 0x4596dc                  |     fcn_004596dc ();
    0x00407a90 lw a0, 0x40(s0)               |     a0 = *((s0 + 16));
    0x00407a94 move a2, v0                   |     a2 = v0;
                                             |     if (a0 != 0) {
    0x00407a98 bnez a0, 0x407934             |         goto label_0;
                                             |     }
    0x00407a9c lw a2, 0x30(s0)               |     a2 = *((s0 + 12));
                                             | label_3:
    0x00407aa0 lw a1, 0x3c(s0)               |     a1 = *((s0 + 15));
    0x00407aa4 addiu a2, a2, -1              |     a2 += -1;
    0x00407aa8 addiu a0, a1, 1               |     a0 = a1 + 1;
    0x00407aac jal 0x482340                  |     fcn_00482340 ();
    0x00407ab0 move s1, zero                 |     s1 = 0;
    0x00407ab4 lw s4, 0x3c(s0)               |     s4 = *((s0 + 15));
    0x00407ab8 lw a0, 0x44(s0)               |     a0 = *((s0 + 17));
    0x00407abc move v1, zero                 |     v1 = 0;
    0x00407ac0 b 0x4079e4                    |     goto label_1;
                                             | label_4:
    0x00407ac4 move v1, zero                 |     v1 = 0;
    0x00407ac8 b 0x4079e4                    |     goto label_1;
                                             | }
    ; assembly                                   | /* r2dec pseudo code output */
                                                 | /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/share/addon/packages/autostart/axis-video-scene-provider_r2.8.16_mips32r2el-nf.opk.tar.gz_extract/gzip.uncompressed_extract/axis-video-scene-provider.opk.tar.gz_extract/gzip.uncompressed_extract/axis-video-scene-provider_r2.8.16_mips32r2el-nf.opk_extract/data.tar.gz_extract/gzip.uncompressed_extract/axis-video-scene-provider/usr/bin/video-scene-provider @ 0x407cbc */
                                                 | #include <stdint.h>
                                                 |  
    ; (fcn) fcn.00407cbc ()                      | void fcn_00407cbc () {
                                                 |     if (a0 == 0) {
    0x00407cbc beqz a0, 0x407d68                 |         goto label_0;
                                                 |     }
    0x00407cc0 nop                               |     
    0x00407cc4 addiu sp, sp, -0x28               |     
    0x00407cc8 sw s0, 0x18(sp)                   |     *(var_18h) = s0;
    0x00407ccc move s0, a0                       |     s0 = a0;
    0x00407cd0 lw a0, 0x38(a0)                   |     a0 = *((a0 + 14));
    0x00407cd4 sw ra, 0x24(sp)                   |     *(var_24h) = ra;
    0x00407cd8 sw s2, 0x20(sp)                   |     *(var_20h) = s2;
    0x00407cdc sw s1, 0x1c(sp)                   |     *(var_1ch) = s1;
    0x00407ce0 jal 0x464588                      |     fcn_00464588 ();
    0x00407ce4 lw v0, 0x30(s0)                   |     v0 = *((s0 + 12));
                                                 |     if (v0 <= 0) {
    0x00407ce8 blez v0, 0x407d44                 |         goto label_1;
                                                 |     }
    0x00407cec nop                               |     
    0x00407cf0 move s1, zero                     |     s1 = 0;
    0x00407cf4 lw a0, 0x34(s0)                   |     a0 = *((s0 + 13));
                                                 |     do {
    0x00407cf8 sll s2, s1, 2                     |         s2 = s1 << 2;
    0x00407cfc lwx a0, s2(a0)                    |         __asm ("lwx a0, s2(a0)");
    0x00407d00 addiu s1, s1, 1                   |         s1++;
                                                 |         if (a0 != 0) {
    0x00407d04 beqz a0, 0x407d10                 |             
    0x00407d08 jal 0x45a390                      |             fcn_0045a390 ();
    0x00407d0c nop                               |             
                                                 |         }
    0x00407d10 lw a0, 0x44(s0)                   |         a0 = *((s0 + 17));
    0x00407d14 lwx a0, s2(a0)                    |         __asm ("lwx a0, s2(a0)");
    0x00407d18 jal 0x462244                      |         fcn_00462244 ();
    0x00407d1c lw v0, 0x30(s0)                   |         v0 = *((s0 + 12));
    0x00407d20 slt v0, s1, v0                    |         v0 = (s1 < v0) ? 1 : 0;
    0x00407d24 lw a0, 0x34(s0)                   |         a0 = *((s0 + 13));
    0x00407d28 bnel v0, zero, 0x407cf8           |         
                                                 |     } while (v0 == 0);
    0x00407d2c lw a0, 0x34(s0)                   |     a0 = *((s0 + 13));
    0x00407d30 jal 0x481d20                      |     fcn_00481d20 ();
    0x00407d34 lw a0, 0x3c(s0)                   |     a0 = *((s0 + 15));
    0x00407d38 jal 0x481d20                      |     fcn_00481d20 ();
    0x00407d3c lw a0, 0x44(s0)                   |     a0 = *((s0 + 17));
    0x00407d40 jal 0x481d20                      |     fcn_00481d20 ();
                                                 | label_1:
    0x00407d44 lw a0, 0x40(s0)                   |     a0 = *((s0 + 16));
    0x00407d48 jal 0x40e950                      |     fcn_0040e950 ();
    0x00407d4c lw ra, 0x24(sp)                   |     ra = *(var_24h);
    0x00407d50 lw s2, 0x20(sp)                   |     s2 = *(var_20h);
    0x00407d54 lw s1, 0x1c(sp)                   |     s1 = *(var_1ch);
    0x00407d58 move a0, s0                       |     a0 = s0;
    0x00407d5c lw s0, 0x18(sp)                   |     s0 = *(var_18h);
    0x00407d60 j 0x481d20                        |     void (*0x481d20)() ();
    0x00407d64 addiu sp, sp, 0x28                |     
                                                 | label_0:
    0x00407d68 jr ra                             |     return v0;
    0x00407d6c nop                               |     
                                                 | }
    ; assembly                               | /* r2dec pseudo code output */
                                             | /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/share/addon/packages/autostart/axis-video-scene-provider_r2.8.16_mips32r2el-nf.opk.tar.gz_extract/gzip.uncompressed_extract/axis-video-scene-provider.opk.tar.gz_extract/gzip.uncompressed_extract/axis-video-scene-provider_r2.8.16_mips32r2el-nf.opk_extract/data.tar.gz_extract/gzip.uncompressed_extract/axis-video-scene-provider/usr/bin/video-scene-provider @ 0x410168 */
                                             | #include <stdint.h>
                                             |  
    ; (fcn) fcn.00410168 ()                  | void fcn_00410168 () {
    0x00410168 addiu sp, sp, -0x160          |     
    0x0041016c sw ra, 0x15c(sp)              |     *(var_15ch) = ra;
    0x00410170 sw fp, 0x158(sp)              |     *(var_158h) = fp;
    0x00410174 sw s7, 0x154(sp)              |     *(var_154h) = s7;
    0x00410178 sw s6, 0x150(sp)              |     *(var_150h) = s6;
    0x0041017c sw s5, 0x14c(sp)              |     *(var_14ch) = s5;
    0x00410180 sw s4, 0x148(sp)              |     *(var_148h) = s4;
    0x00410184 sw s3, 0x144(sp)              |     *(var_144h) = s3;
    0x00410188 sw s2, 0x140(sp)              |     *(var_140h) = s2;
    0x0041018c sw s1, 0x13c(sp)              |     *(var_13ch) = s1;
    0x00410190 sw s0, 0x138(sp)              |     *(var_138h) = s0;
                                             |     if (a0 == 0) {
    0x00410194 beqz a0, 0x41024c             |         goto label_16;
                                             |     }
    0x00410198 lw s1, 0x3c(a0)               |     s1 = *((a0 + 15));
    0x0041019c sltiu v0, s1, 0x33            |     v0 = (s1 < 0x33) ? 1 : 0;
    0x004101a0 move s0, a0                   |     s0 = a0;
                                             |     if (v0 == 0) {
    0x004101a4 beqz v0, 0x410290             |         goto label_17;
                                             |     }
    0x004101a8 lw a0, 0x160(a0)              |     a0 = *((a0 + 88));
    0x004101ac jal 0x471248                  |     fcn_00471248 ();
    0x004101b0 slt v0, zero, v0              |     v0 = (0 < v0) ? 1 : 0;
    0x004101b4 addiu a0, zero, 0x32          |     a0 = 0x32;
    0x004101b8 move a1, v0                   |     a1 = v0;
    0x004101bc lw v1, 0x34(s0)               |     v1 = *((s0 + 13));
                                             |     if (s1 == a0) {
    0x004101c0 beq s1, a0, 0x4103f8          |         goto label_18;
                                             |     }
    0x004101c4 addu v1, v1, v0               |     v1 += v0;
                                             |     if (s1 != 0) {
    0x004101c8 bnez s1, 0x410350             |         goto label_19;
                                             |     }
    0x004101cc sb v0, (s0)                   |     *(s0) = v0;
    0x004101d0 addiu v0, zero, 1             |     v0 = 1;
    0x004101d4 sw v0, 0x3c(s0)               |     *((s0 + 15)) = v0;
    0x004101d8 lbu v0, 0x48(s0)              |     v0 = *((s0 + 72));
    0x004101dc sw v1, 0x34(s0)               |     *((s0 + 13)) = v1;
    0x004101e0 sw zero, 0x44(s0)             |     *((s0 + 17)) = 0;
    0x004101e4 sw zero, 0x40(s0)             |     *((s0 + 16)) = 0;
                                             |     if (v0 == 0) {
    0x004101e8 beqz v0, 0x4102c4             |         goto label_20;
                                             |     }
    0x004101ec lw v0, 0x50(s0)               |     v0 = *((s0 + 20));
                                             |     do {
    0x004101f0 slt v1, v0, v1                |         v1 = (v0 < v1) ? 1 : 0;
    0x004101f4 xori v0, v1, 1                |         v0 = v1 ^ 1;
    0x004101f8 sb v1, 0x48(s0)               |         *((s0 + 72)) = v1;
    0x004101fc sb v0, 0x49(s0)               |         *((s0 + 73)) = v0;
                                             |         if (v0 == 0) {
    0x00410200 beqz v0, 0x4102d8             |             goto label_7;
                                             |         }
                                             | label_0:
    0x00410204 lw v0, 0x90(s0)               |         v0 = *((s0 + 36));
    0x00410208 sltiu v1, v0, 0xb             |         v1 = (v0 < 0xb) ? 1 : 0;
    0x0041020c addiu a0, zero, 0xa           |         a0 = 0xa;
                                             |         if (v1 == 0) {
    0x00410210 beqz v1, 0x41054c             |             goto label_21;
                                             |         }
    0x00410214 lbu v1, 0x48(s0)              |         v1 = *((s0 + 72));
                                             |         if (v0 == a0) {
    0x00410218 beq v0, a0, 0x4108f4          |             goto label_22;
                                             |         }
    0x0041021c lw s1, 0x98(s0)               |         s1 = *((s0 + 38));
                                             |         if (v0 == 0) {
    0x00410220 bnel v0, zero, 0x410578       |             goto label_23;
                                             |         }
    0x00410224 sb v1, 0x5c(s0)               |         *((s0 + 92)) = v1;
    0x00410228 sw zero, 0x98(s0)             |         *((s0 + 38)) = 0;
    0x0041022c sw zero, 0x94(s0)             |         *((s0 + 37)) = 0;
    0x00410230 move a0, zero                 |         a0 = 0;
    0x00410234 jal 0x4821a0                  |         fcn_004821a0 ();
    0x00410238 lw v1, 0x90(s0)               |         v1 = *((s0 + 36));
    0x0041023c sw v0, 0x68(s0)               |         *((s0 + 26)) = v0;
    0x00410240 addiu v1, v1, 1               |         v1++;
    0x00410244 sw v1, 0x90(s0)               |         *((s0 + 36)) = v1;
    0x00410248 b 0x4102d8                    |         goto label_7;
                                             | label_16:
    0x0041024c lui v0, 0x49                  |         v0 = 0x490000;
    0x00410250 lw v0, 0x3b60(v0)             |         v0 = *((v0 + 3800));
    0x00410254 slti v0, v0, -2               |         v0 = (v0 < -2) ? 1 : 0;
    0x00410258 lui v0, 0x49                  |         v0 = 0x490000;
                                             |         if (v0 == 0) {
    0x0041025c beqz v0, 0x410470             |             goto label_24;
                                             |         }
    0x00410260 lw ra, 0x15c(sp)              |         ra = *(var_15ch);
                                             | label_2:
    0x00410264 lw fp, 0x158(sp)              |         fp = *(var_158h);
    0x00410268 lw s7, 0x154(sp)              |         s7 = *(var_154h);
    0x0041026c lw s6, 0x150(sp)              |         s6 = *(var_150h);
    0x00410270 lw s5, 0x14c(sp)              |         s5 = *(var_14ch);
    0x00410274 lw s4, 0x148(sp)              |         s4 = *(var_148h);
    0x00410278 lw s3, 0x144(sp)              |         s3 = *(var_144h);
    0x0041027c lw s2, 0x140(sp)              |         s2 = *(var_140h);
    0x00410280 lw s1, 0x13c(sp)              |         s1 = *(var_13ch);
    0x00410284 lw s0, 0x138(sp)              |         s0 = *(var_138h);
    0x00410288 addiu sp, sp, 0x160           |         
    0x0041028c jr ra                         |         return v0;
                                             | label_17:
    0x00410290 lui v0, 0x49                  |         v0 = 0x490000;
    0x00410294 lw v0, 0x3b60(v0)             |         v0 = *((v0 + 3800));
    0x00410298 slti v0, v0, -2               |         v0 = (v0 < -2) ? 1 : 0;
    0x0041029c lui v0, 0x49                  |         v0 = 0x490000;
                                             |         if (v0 == 0) {
    0x004102a0 beqz v0, 0x4104f4             |             goto label_25;
                                             |         }
    0x004102a4 addiu a2, zero, 0x164         |         a2 = 0x164;
                                             | label_5:
    0x004102a8 move a1, zero                 |         a1 = 0;
    0x004102ac move a0, s0                   |         a0 = s0;
    0x004102b0 jal 0x481be0                  |         fcn_00481be0 ();
    0x004102b4 move v1, zero                 |         v1 = 0;
                                             | label_1:
    0x004102b8 lbu v0, 0x48(s0)              |         v0 = *((s0 + 72));
    0x004102bc lw v0, 0x50(s0)               |         v0 = *((s0 + 20));
    0x004102c0 bnel v0, zero, 0x4101f0       |         
                                             |     } while (v0 == 0);
                                             | label_20:
    0x004102c4 lw v0, 0x4c(s0)               |     v0 = *((s0 + 19));
    0x004102c8 slt v0, v0, v1                |     v0 = (v0 < v1) ? 1 : 0;
    0x004102cc sb v0, 0x48(s0)               |     *((s0 + 72)) = v0;
    0x004102d0 sb v0, 0x49(s0)               |     *((s0 + 73)) = v0;
                                             |     if (v0 != 0) {
    0x004102d4 bnez v0, 0x410204             |         goto label_0;
                                             |     }
                                             | label_7:
    0x004102d8 addiu a0, sp, 0x124           |     a0 = sp + 0x124;
                                             | label_6:
    0x004102dc move a1, zero                 |     a1 = 0;
    0x004102e0 jal 0x481cd0                  |     fcn_00481cd0 ();
    0x004102e4 lw v0, 0x58(s0)               |     v0 = *((s0 + 22));
    0x004102e8 lw v1, 0x128(sp)              |     v1 = *(var_128h);
    0x004102ec lw a0, 0x54(s0)               |     a0 = *((s0 + 21));
    0x004102f0 subu v1, v1, v0               |     __asm ("subu v1, v1, v0");
    0x004102f4 lw v0, 0x124(sp)              |     v0 = *(var_124h);
    0x004102f8 subu v0, v0, a0               |     __asm ("subu v0, v0, a0");
                                             |     if (v1 < 0) {
    0x004102fc bltz v1, 0x4103f0             |         goto label_26;
                                             |     }
                                             | label_3:
    0x00410300 lbu v1, 0x49(s0)              |     v1 = *((s0 + 73));
    0x00410304 lw v0, 0x38(s0)               |     v0 = *((s0 + 14));
                                             |     if (v1 == 0) {
    0x00410308 bnel v1, zero, 0x410380       |         goto label_27;
                                             |     }
    0x0041030c slti v0, v0, 0xe11            |     v0 = (v0 < 0xe11) ? 1 : 0;
    0x00410310 lbu v0, 0x4a(s0)              |     v0 = *((s0 + 74));
                                             |     if (v0 != 0) {
    0x00410314 bnel v0, zero, 0x410374       |         
    0x00410318 lbu v0, 0x48(s0)              |         v0 = *((s0 + 72));
                                             |         if (v0 == 0) {
    0x0041031c beql v0, zero, 0x410374       |             goto label_28;
                                             |         }
    0x00410320 lbu v0, 0x4a(s0)              |         v0 = *((s0 + 74));
    0x00410324 lw v0, 0x38(s0)               |         v0 = *((s0 + 14));
    0x00410328 addiu v1, zero, 1             |         v1 = 1;
    0x0041032c addiu v1, zero, 2             |         v1 = 2;
                                             |         if (v0 == v1) {
    0x00410330 beq v0, v1, 0x4105bc          |             goto label_29;
                                             |         }
    0x00410334 lui a3, 0x47                  |         a3 = 0x470000;
                                             |         if (v0 != v1) {
    0x00410338 bne v0, v1, 0x410394          |             goto label_30;
                                             |         }
    0x0041033c lui v0, 0x49                  |         v0 = 0x490000;
    0x00410340 lw a0, 0x3b68(v0)             |         a0 = *((v0 + 3802));
    0x00410344 lw a2, 0x15c(s0)              |         a2 = *((s0 + 87));
                                             |         /* str.Critical */
    0x00410348 addiu a3, a3, 0x7070          |         a3 += 0x7070;
    0x0041034c b 0x4104e0                    |         goto label_8;
                                             | label_19:
    0x00410350 lw v0, 0x44(s0)               |         v0 = *((s0 + 17));
    0x00410354 addiu s1, s1, 1               |         s1++;
    0x00410358 addiu v0, v0, 1               |         v0++;
    0x0041035c addu a0, s0, v0               |         a0 = s0 + v0;
    0x00410360 sw v1, 0x34(s0)               |         *((s0 + 13)) = v1;
    0x00410364 sw v0, 0x44(s0)               |         *((s0 + 17)) = v0;
    0x00410368 sb a1, (a0)                   |         *(a0) = a1;
    0x0041036c sw s1, 0x3c(s0)               |         *((s0 + 15)) = s1;
    0x00410370 b 0x4102b8                    |         goto label_1;
                                             |     }
                                             | label_28:
    0x00410374 lw ra, 0x15c(sp)              |     ra = *(var_15ch);
                                             |     if (v0 == 0) {
    0x00410378 beqz v0, 0x410264             |         goto label_2;
                                             |     }
    0x0041037c lw v0, 0x38(s0)               |     v0 = *((s0 + 14));
                                             | label_27:
    0x00410380 addiu v1, zero, 1             |     v1 = 1;
    0x00410384 addiu v1, zero, 2             |     v1 = 2;
                                             |     if (v0 == v1) {
    0x00410388 beq v0, v1, 0x410448          |         goto label_31;
                                             |     }
    0x0041038c lui v1, 0x49                  |     v1 = 0x490000;
                                             |     if (v0 == v1) {
    0x00410390 beq v0, v1, 0x4104c8          |         goto label_32;
                                             |     }
                                             | label_30:
    0x00410394 lui v0, 0x49                  |     v0 = 0x490000;
                                             |     if (v0 == 0) {
    0x00410398 beqz v0, 0x410630             |         goto label_33;
                                             |     }
    0x0041039c lw v0, 0x3b60(v0)             |     v0 = *((v0 + 3800));
    0x004103a0 slti v0, v0, -2               |     v0 = (v0 < -2) ? 1 : 0;
    0x004103a4 lui v0, 0x49                  |     v0 = 0x490000;
                                             |     if (v0 == 0) {
    0x004103a8 beqz v0, 0x410764             |         goto label_34;
                                             |     }
    0x004103ac lw v0, 0x124(sp)              |     v0 = *(var_124h);
                                             |     do {
                                             | label_4:
    0x004103b0 lw ra, 0x15c(sp)              |         ra = *(var_15ch);
    0x004103b4 sw v0, 0x54(s0)               |         *((s0 + 21)) = v0;
    0x004103b8 lw v0, 0x128(sp)              |         v0 = *(var_128h);
    0x004103bc sb zero, 0x4a(s0)             |         *((s0 + 74)) = 0;
    0x004103c0 sw v0, 0x58(s0)               |         *((s0 + 22)) = v0;
    0x004103c4 lw fp, 0x158(sp)              |         fp = *(var_158h);
    0x004103c8 lw s7, 0x154(sp)              |         s7 = *(var_154h);
    0x004103cc lw s6, 0x150(sp)              |         s6 = *(var_150h);
    0x004103d0 lw s5, 0x14c(sp)              |         s5 = *(var_14ch);
    0x004103d4 lw s4, 0x148(sp)              |         s4 = *(var_148h);
    0x004103d8 lw s3, 0x144(sp)              |         s3 = *(var_144h);
    0x004103dc lw s2, 0x140(sp)              |         s2 = *(var_140h);
    0x004103e0 lw s1, 0x13c(sp)              |         s1 = *(var_13ch);
    0x004103e4 lw s0, 0x138(sp)              |         s0 = *(var_138h);
    0x004103e8 addiu sp, sp, 0x160           |         
    0x004103ec jr ra                         |         return v0;
                                             | label_26:
    0x004103f0 addiu v0, v0, -1              |         v0 += -1;
    0x004103f4 b 0x410300                    |         goto label_3;
                                             | label_18:
    0x004103f8 lw a3, 0x40(s0)               |         a3 = *((s0 + 16));
    0x004103fc lui a0, 0x51eb                |         a0 = 0x51eb0000;
    0x00410400 addiu a2, a3, 1               |         a2 = a3 + 1;
    0x00410404 ori a0, a0, 0x851f            |         a0 |= 0x851f;
    0x00410408 mult a2, a0                   |         __asm ("mult a2, a0");
    0x0041040c mfhi a0                       |         __asm ("mfhi a0");
    0x00410410 addu t0, s0, a3               |         t0 = s0 + a3;
    0x00410414 sra t1, a2, 0x1f              |         t1 = a2 >> 0x1f;
    0x00410418 lbu t2, (t0)                  |         t2 = *(t0);
    0x0041041c sra a0, a0, 4                 |         a0 >>= 4;
    0x00410420 subu a1, v0, t2               |         __asm ("subu a1, v0, t2");
    0x00410424 subu a0, a0, t1               |         __asm ("subu a0, a0, t1");
    0x00410428 addu v1, a1, v1               |         v1 = a1 + v1;
    0x0041042c mul a1, a0, s1                |         __asm ("mul a1, a0, s1");
    0x00410430 sw v1, 0x34(s0)               |         *((s0 + 13)) = v1;
    0x00410434 sb v0, (t0)                   |         *(t0) = v0;
    0x00410438 sw a3, 0x44(s0)               |         *((s0 + 17)) = a3;
    0x0041043c subu s1, a2, a1               |         __asm ("subu s1, a2, a1");
    0x00410440 sw s1, 0x40(s0)               |         *((s0 + 16)) = s1;
    0x00410444 b 0x4102b8                    |         goto label_1;
                                             | label_31:
    0x00410448 lbu v0, 0x48(s0)              |         v0 = *((s0 + 72));
    0x0041044c lw a1, 0x15c(s0)              |         a1 = *((s0 + 87));
                                             |         if (v0 != 0) {
    0x00410450 bnez v0, 0x410624             |             goto label_35;
                                             |         }
    0x00410454 lui a2, 0x47                  |         a2 = "Good";
                                             |         /* str.Good */
    0x00410458 addiu a2, a2, 0x707c          |         
                                             | label_9:
    0x0041045c lui a0, 0x47                  |         a0 = "Scene %d status: %s\n";
                                             |         /* str.Scene__d_status:__s_n */
    0x00410460 addiu a0, a0, 0x70d4          |         
    0x00410464 jal 0x482020                  |         fcn_00482020 ();
    0x00410468 lw v0, 0x124(sp)              |         v0 = *(var_124h);
    0x0041046c b 0x4103b0                    |         
                                             |     } while (1);
                                             | label_24:
    0x00410470 lui a0, 0x47                  |     a0 = 0x476f98;
                                             |     /* esilref: 'scene_degrad_stats.c' */
    0x00410474 addiu a0, a0, 0x6f98          |     
    0x00410478 lw s0, 0x3b6c(v0)             |     s0 = *((v0 + 3803));
    0x0041047c jal 0x481ad0                  |     fcn_00481ad0 ();
    0x00410480 lui v1, 0x47                  |     v1 = "NULL argument degrad_stats";
                                             |     /* str.NULL_argument_degrad_stats */
    0x00410484 addiu v1, v1, 0x7084          |     
    0x00410488 lui a2, 0x47                  |     a2 = 0x470000;
    0x0041048c move a1, v0                   |     a1 = v0;
    0x00410490 sw v1, 0x10(sp)               |     *(var_10h) = v1;
    0x00410494 addiu a3, zero, 0xc0          |     a3 = 0xc0;
                                             |     /* str.scene_degrad_stats_analyze */
    0x00410498 addiu a2, a2, 0x71f8          |     a2 += 0x71f8;
    0x0041049c move t9, s0                   |     t9 = s0;
    0x004104a0 addiu a0, zero, -2            |     a0 = -2;
    0x004104a4 jalr t9                       |     t9 ();
    0x004104a8 lui v0, 0x49                  |     v0 = 0x490000;
    0x004104ac lw v0, 0x3b70(v0)             |     v0 = *((v0 + 3804));
                                             |     if (v0 <= 0) {
    0x004104b0 blezl v0, 0x410264            |         goto label_2;
                                             |     }
    0x004104b4 lw ra, 0x15c(sp)              |     ra = *(var_15ch);
    0x004104b8 jal 0x481b40                  |     fcn_00481b40 ();
    0x004104bc nop                           |     
    0x004104c0 lw ra, 0x15c(sp)              |     ra = *(var_15ch);
    0x004104c4 b 0x410264                    |     goto label_2;
                                             | label_32:
    0x004104c8 lbu v0, 0x48(s0)              |     v0 = *((s0 + 72));
    0x004104cc lw a0, 0x3b68(v1)             |     a0 = *((v1 + 3802));
    0x004104d0 lw a2, 0x15c(s0)              |     a2 = *((s0 + 87));
                                             |     if (v0 != 0) {
    0x004104d4 bnez v0, 0x4105b0             |         goto label_36;
                                             |     }
    0x004104d8 lui a3, 0x47                  |     a3 = "Good";
                                             |     /* str.Good */
    0x004104dc addiu a3, a3, 0x707c          |     
                                             | label_8:
    0x004104e0 lui a1, 0x47                  |     a1 = "Scene %d status: %s\n";
                                             |     /* str.Scene__d_status:__s_n */
    0x004104e4 addiu a1, a1, 0x70d4          |     
    0x004104e8 jal 0x482180                  |     fcn_00482180 ();
    0x004104ec lw v0, 0x124(sp)              |     v0 = *(var_124h);
    0x004104f0 b 0x4103b0                    |     goto label_4;
                                             | label_25:
    0x004104f4 lui a0, 0x47                  |     a0 = 0x476f98;
                                             |     /* esilref: 'scene_degrad_stats.c' */
    0x004104f8 addiu a0, a0, 0x6f98          |     
    0x004104fc lw s1, 0x3b6c(v0)             |     s1 = *((v0 + 3803));
    0x00410500 jal 0x481ad0                  |     fcn_00481ad0 ();
    0x00410504 lui v1, 0x47                  |     v1 = "Invalid parameter n_data";
                                             |     /* str.Invalid_parameter_n_data */
    0x00410508 addiu v1, v1, 0x70a0          |     
    0x0041050c lui a2, 0x47                  |     a2 = 0x470000;
    0x00410510 move a1, v0                   |     a1 = v0;
    0x00410514 sw v1, 0x10(sp)               |     *(var_10h) = v1;
    0x00410518 addiu a3, zero, 0xf7          |     a3 = 0xf7;
                                             |     /* str.scene_degrad_stats_push */
    0x0041051c addiu a2, a2, 0x71e0          |     a2 += 0x71e0;
    0x00410520 move t9, s1                   |     t9 = s1;
    0x00410524 addiu a0, zero, -2            |     a0 = -2;
    0x00410528 jalr t9                       |     t9 ();
    0x0041052c lui v0, 0x49                  |     v0 = 0x490000;
    0x00410530 lw v0, 0x3b70(v0)             |     v0 = *((v0 + 3804));
                                             |     if (v0 <= 0) {
    0x00410534 blezl v0, 0x4102a8            |         goto label_5;
                                             |     }
    0x00410538 addiu a2, zero, 0x164         |     a2 = 0x164;
    0x0041053c jal 0x481b40                  |     fcn_00481b40 ();
    0x00410540 nop                           |     
    0x00410544 addiu a2, zero, 0x164         |     a2 = 0x164;
    0x00410548 b 0x4102a8                    |     goto label_5;
                                             | label_21:
    0x0041054c lui v0, 0x49                  |     v0 = 0x490000;
    0x00410550 lw v0, 0x3b60(v0)             |     v0 = *((v0 + 3800));
    0x00410554 slti v0, v0, -2               |     v0 = (v0 < -2) ? 1 : 0;
                                             |     if (v0 == 0) {
    0x00410558 beql v0, zero, 0x4105cc       |         goto label_37;
                                             |     }
    0x0041055c lui v0, 0x49                  |     v0 = 0x490000;
    0x00410560 addiu a2, zero, 0x40          |     a2 = 0x40;
                                             |     do {
                                             | label_10:
    0x00410564 move a1, zero                 |         a1 = 0;
    0x00410568 addiu a0, s0, 0x5c            |         a0 = s0 + 0x5c;
    0x0041056c jal 0x481be0                  |         fcn_00481be0 ();
    0x00410570 addiu a0, sp, 0x124           |         a0 = sp + 0x124;
    0x00410574 b 0x4102dc                    |         goto label_6;
                                             | label_23:
    0x00410578 move a0, zero                 |         a0 = 0;
    0x0041057c addiu v0, s1, 1               |         v0 = s1 + 1;
    0x00410580 addu a1, s0, v0               |         a1 = s0 + v0;
    0x00410584 sw v0, 0x98(s0)               |         *((s0 + 38)) = v0;
    0x00410588 sb v1, 0x5c(a1)               |         *((a1 + 92)) = v1;
    0x0041058c jal 0x4821a0                  |         fcn_004821a0 ();
    0x00410590 addiu v1, s1, 3               |         v1 = s1 + 3;
    0x00410594 lw a0, 0x90(s0)               |         a0 = *((s0 + 36));
    0x00410598 sll v1, v1, 2                 |         v1 <<= 2;
    0x0041059c addu v1, s0, v1               |         v1 = s0 + v1;
    0x004105a0 addiu a0, a0, 1               |         a0++;
    0x004105a4 sw v0, 0x60(v1)               |         *((v1 + 24)) = v0;
    0x004105a8 sw a0, 0x90(s0)               |         *((s0 + 36)) = a0;
    0x004105ac b 0x4102d8                    |         goto label_7;
                                             | label_36:
    0x004105b0 lui a3, 0x47                  |         a3 = "Critical";
                                             |         /* str.Critical */
    0x004105b4 addiu a3, a3, 0x7070          |         
    0x004105b8 b 0x4104e0                    |         goto label_8;
                                             | label_29:
    0x004105bc lui a2, 0x47                  |         a2 = 0x470000;
    0x004105c0 lw a1, 0x15c(s0)              |         a1 = *((s0 + 87));
                                             |         /* str.Critical */
    0x004105c4 addiu a2, a2, 0x7070          |         a2 += 0x7070;
    0x004105c8 b 0x41045c                    |         goto label_9;
                                             | label_37:
    0x004105cc lui a0, 0x47                  |         a0 = 0x476f98;
                                             |         /* esilref: 'scene_degrad_stats.c' */
    0x004105d0 addiu a0, a0, 0x6f98          |         
    0x004105d4 lw s1, 0x3b6c(v0)             |         s1 = *((v0 + 3803));
    0x004105d8 jal 0x481ad0                  |         fcn_00481ad0 ();
    0x004105dc lui v1, 0x47                  |         v1 = "Invalid argument n_data";
                                             |         /* str.Invalid_argument_n_data */
    0x004105e0 addiu v1, v1, 0x70bc          |         
    0x004105e4 lui a2, 0x47                  |         a2 = 0x470000;
    0x004105e8 move a1, v0                   |         a1 = v0;
    0x004105ec sw v1, 0x10(sp)               |         *(var_10h) = v1;
    0x004105f0 addiu a3, zero, 0x122         |         a3 = 0x122;
                                             |         /* str.scene_degrad_switch_push */
    0x004105f4 addiu a2, a2, 0x71c4          |         a2 += 0x71c4;
    0x004105f8 move t9, s1                   |         t9 = s1;
    0x004105fc addiu a0, zero, -2            |         a0 = -2;
    0x00410600 jalr t9                       |         t9 ();
    0x00410604 lui v0, 0x49                  |         v0 = 0x490000;
    0x00410608 lw v0, 0x3b70(v0)             |         v0 = *((v0 + 3804));
    0x0041060c blezl v0, 0x410564            |         
                                             |     } while (v0 <= 0);
    0x00410610 addiu a2, zero, 0x40          |     a2 = 0x40;
    0x00410614 jal 0x481b40                  |     fcn_00481b40 ();
    0x00410618 nop                           |     
    0x0041061c addiu a2, zero, 0x40          |     a2 = 0x40;
    0x00410620 b 0x410564                    |     goto label_10;
                                             | label_35:
    0x00410624 lui a2, 0x47                  |     a2 = "Critical";
                                             |     /* str.Critical */
    0x00410628 addiu a2, a2, 0x7070          |     
    0x0041062c b 0x41045c                    |     goto label_9;
                                             | label_33:
    0x00410630 addiu v0, s0, 0xdc            |     v0 = s0 + 0xdc;
    0x00410634 lui a1, 0x47                  |     a1 = 0x470000;
    0x00410638 move a2, v0                   |     a2 = v0;
                                             |     /* str._s.tmp */
    0x0041063c addiu a1, a1, 0x70ec          |     a1 += 0x70ec;
    0x00410640 addiu a0, sp, 0x30            |     a0 = sp + 0x30;
    0x00410644 sw v0, 0x130(sp)              |     *(var_130h) = v0;
    0x00410648 jal 0x481930                  |     fcn_00481930 ();
    0x0041064c move a1, zero                 |     a1 = 0;
    0x00410650 addiu a0, sp, 0x30            |     a0 = sp + 0x30;
    0x00410654 jal 0x481d80                  |     fcn_00481d80 ();
                                             |     if (v0 == 0) {
    0x00410658 beqz v0, 0x410944             |         goto label_38;
                                             |     }
    0x0041065c nop                           |     
    0x00410660 lui a1, 0x47                  |     a1 = 0x4770f4;
                                             | label_14:
    0x00410664 addiu a1, a1, 0x70f4          |     
    0x00410668 addiu a0, sp, 0x30            |     a0 = sp + 0x30;
    0x0041066c jal 0x482290                  |     fcn_00482290 ();
    0x00410670 move s2, v0                   |     s2 = v0;
                                             |     if (v0 == 0) {
    0x00410674 beqz v0, 0x410848             |         goto label_39;
                                             |     }
    0x00410678 lw v1, 0x90(s0)               |     v1 = *((s0 + 36));
    0x0041067c lw fp, 0x94(s0)               |     fp = *((s0 + 37));
                                             |     if (v1 <= 0) {
    0x00410680 blez v1, 0x4107bc             |         goto label_40;
                                             |     }
    0x00410684 lui s5, 0x47                  |     s5 = 0x470000;
    0x00410688 lui s4, 0x47                  |     s4 = 0x470000;
    0x0041068c lui s3, 0x47                  |     s3 = 0x470000;
    0x00410690 addiu s6, s0, 0x5c            |     s6 = s0 + 0x5c;
    0x00410694 addiu s1, sp, 0xb8            |     s1 = sp + 0xb8;
                                             |     /* str.Critical */
    0x00410698 addiu s5, s5, 0x7070          |     s5 += 0x7070;
                                             |     /* str.Good */
    0x0041069c addiu s4, s4, 0x707c          |     s4 += 0x707c;
                                             |     /* str._04d__02d__02d__02d:_02d:_02d___Scene_status:__s_n */
    0x004106a0 addiu s3, s3, 0x70f8          |     s3 += 0x70f8;
    0x004106a4 b 0x4106d4                    |     
                                             |     while (v1 == 0) {
                                             | label_11:
    0x004106a8 move a3, s2                   |         a3 = s2;
    0x004106ac addiu a1, zero, 1             |         a1 = 1;
    0x004106b0 move a0, s1                   |         a0 = s1;
    0x004106b4 jal 0x482140                  |         fcn_00482140 ();
    0x004106b8 lw v1, 0x90(s0)               |         v1 = *((s0 + 36));
    0x004106bc lw v0, 0x94(s0)               |         v0 = *((s0 + 37));
    0x004106c0 addiu fp, fp, 1               |         fp++;
    0x004106c4 addu v0, v1, v0               |         v0 = v1 + v0;
    0x004106c8 slt v0, fp, v0                |         v0 = (fp < v0) ? 1 : 0;
                                             |         if (v0 == 0) {
    0x004106cc beql v0, zero, 0x4107c4       |             goto label_41;
                                             |         }
    0x004106d0 lbu v0, 0x48(s0)              |         v0 = *((s0 + 72));
    0x004106d4 div zero, fp, v1              |         __asm ("div zero, fp, v1");
    0x004106d8 teq v1, zero, 7               |         __asm ("teq v1, zero, 7");
    0x004106dc addiu a1, sp, 0xf8            |         a1 = sp + 0xf8;
    0x004106e0 mfhi v1                       |         __asm ("mfhi v1");
    0x004106e4 addiu a0, v1, 3               |         a0 = v1 + 3;
    0x004106e8 addu v1, s0, v1               |         v1 = s0 + v1;
    0x004106ec sll a0, a0, 2                 |         a0 <<= 2;
    0x004106f0 lbu s7, 0x5c(v1)              |         s7 = *((v1 + 92));
    0x004106f4 addu a0, s6, a0               |         a0 = s6 + a0;
    0x004106f8 jal 0x481960                  |         fcn_00481960 ();
    0x004106fc move v1, s4                   |         v1 = s4;
                                             |         if (s7 == 0) {
    0x00410700 movn v1, s5, s7               |             v1 = s5;
                                             |         }
    0x00410704 sw v1, 0x24(sp)               |         *(var_24h) = v1;
    0x00410708 lw v1, 0xf8(sp)               |         v1 = *(var_f8h);
    0x0041070c lw v0, 0x108(sp)              |         v0 = *(var_108h);
    0x00410710 sw v1, 0x20(sp)               |         *(var_20h) = v1;
    0x00410714 lw v1, 0xfc(sp)               |         v1 = *(var_fch);
    0x00410718 lw a3, 0x10c(sp)              |         a3 = *(var_10ch);
    0x0041071c sw v1, 0x1c(sp)               |         *(var_1ch) = v1;
    0x00410720 lw v1, 0x100(sp)              |         v1 = *(var_100h);
    0x00410724 addiu v0, v0, 1               |         v0++;
    0x00410728 sw v1, 0x18(sp)               |         *(var_18h) = v1;
    0x0041072c lw v1, 0x104(sp)              |         v1 = *(var_104h);
    0x00410730 addiu a3, a3, 0x76c           |         a3 += 0x76c;
    0x00410734 sw v1, 0x14(sp)               |         *(var_14h) = v1;
    0x00410738 move a2, s3                   |         a2 = s3;
    0x0041073c addiu a1, zero, 0x40          |         a1 = 0x40;
    0x00410740 move a0, s1                   |         a0 = s1;
    0x00410744 sw v0, 0x10(sp)               |         *(var_10h) = v0;
    0x00410748 jal 0x4824d0                  |         fcn_004824d0 ();
    0x0041074c slti v1, v0, 0x40             |         v1 = (v0 < 0x40) ? 1 : 0;
    0x00410750 move a2, v0                   |         a2 = v0;
    0x00410754 bnel v1, zero, 0x4106a8       |         
                                             |     }
    0x00410758 sb zero, 0xf7(sp)             |     *(var_f7h) = 0;
    0x0041075c addiu a2, zero, 0x3f          |     a2 = 0x3f;
    0x00410760 b 0x4106a8                    |     goto label_11;
                                             | label_34:
    0x00410764 lui a0, 0x47                  |     a0 = 0x476f98;
                                             |     /* esilref: 'scene_degrad_stats.c' */
    0x00410768 addiu a0, a0, 0x6f98          |     
    0x0041076c lw s1, 0x3b6c(v0)             |     s1 = *((v0 + 3803));
    0x00410770 jal 0x481ad0                  |     fcn_00481ad0 ();
    0x00410774 lui v1, 0x47                  |     v1 = "Not yet implemented\n";
                                             |     /* str.Not_yet_implemented_n */
    0x00410778 addiu v1, v1, 0x714c          |     
    0x0041077c lui a2, 0x47                  |     a2 = 0x470000;
    0x00410780 move a1, v0                   |     a1 = v0;
    0x00410784 sw v1, 0x10(sp)               |     *(var_10h) = v1;
    0x00410788 addiu a3, zero, 0x1c4         |     a3 = 0x1c4;
                                             |     /* str.scene_degrad_stats_printer */
    0x0041078c addiu a2, a2, 0x71a8          |     a2 += 0x71a8;
    0x00410790 move t9, s1                   |     t9 = s1;
    0x00410794 addiu a0, zero, -2            |     a0 = -2;
    0x00410798 jalr t9                       |     t9 ();
    0x0041079c lui v0, 0x49                  |     v0 = 0x490000;
    0x004107a0 lw v0, 0x3b70(v0)             |     v0 = *((v0 + 3804));
                                             |     if (v0 <= 0) {
    0x004107a4 blezl v0, 0x4103b0            |         goto label_4;
                                             |     }
    0x004107a8 lw v0, 0x124(sp)              |     v0 = *(var_124h);
                                             | label_12:
    0x004107ac jal 0x481b40                  |     fcn_00481b40 ();
    0x004107b0 nop                           |     
    0x004107b4 lw v0, 0x124(sp)              |     v0 = *(var_124h);
    0x004107b8 b 0x4103b0                    |     goto label_4;
                                             | label_40:
    0x004107bc addiu s1, sp, 0xb8            |     s1 = sp + 0xb8;
    0x004107c0 lbu v0, 0x48(s0)              |     v0 = *((s0 + 72));
                                             | label_41:
    0x004107c4 lui a3, 0x47                  |     a3 = 0x470000;
                                             |     if (v0 == 0) {
    0x004107c8 beqz v0, 0x41093c             |         goto label_42;
                                             |     }
    0x004107cc lui a3, 0x47                  |     a3 = "Critical";
                                             |     /* str.Critical */
    0x004107d0 addiu a3, a3, 0x7070          |     
                                             | label_13:
    0x004107d4 lui a2, 0x47                  |     a2 = "\nCurrently - Scene status: %s\n";
                                             |     /* str._nCurrently___Scene_status:__s_n */
    0x004107d8 addiu a2, a2, 0x712c          |     
    0x004107dc addiu a1, zero, 0x40          |     a1 = 0x40;
    0x004107e0 move a0, s1                   |     a0 = s1;
    0x004107e4 jal 0x4824d0                  |     fcn_004824d0 ();
    0x004107e8 move a2, v0                   |     a2 = v0;
    0x004107ec move a3, s2                   |     a3 = s2;
    0x004107f0 addiu a1, zero, 1             |     a1 = 1;
    0x004107f4 move a0, s1                   |     a0 = s1;
    0x004107f8 jal 0x482140                  |     fcn_00482140 ();
    0x004107fc move a0, s2                   |     a0 = s2;
    0x00410800 jal 0x481dc0                  |     fcn_00481dc0 ();
    0x00410804 lui v0, 0x49                  |     v0 = 0x490000;
                                             |     if (v0 != 0) {
    0x00410808 bnez v0, 0x4108c4             |         goto label_43;
                                             |     }
    0x0041080c move a0, s2                   |     a0 = s2;
    0x00410810 jal 0x4818a0                  |     fcn_004818a0 ();
    0x00410814 move a0, v0                   |     a0 = v0;
    0x00410818 jal 0x481ef0                  |     fcn_00481ef0 ();
    0x0041081c lui v0, 0x49                  |     v0 = 0x490000;
                                             |     if (v0 != 0) {
    0x00410820 bnez v0, 0x4108c4             |         goto label_43;
                                             |     }
    0x00410824 move a0, s2                   |     a0 = s2;
    0x00410828 jal 0x481f10                  |     fcn_00481f10 ();
    0x0041082c lui v0, 0x49                  |     v0 = 0x490000;
                                             |     if (v0 != 0) {
    0x00410830 bnez v0, 0x41084c             |         goto label_44;
                                             |     }
    0x00410834 lw a1, 0x130(sp)              |     a1 = *(var_130h);
    0x00410838 addiu a0, sp, 0x30            |     a0 = sp + 0x30;
    0x0041083c jal 0x481bd0                  |     fcn_00481bd0 ();
    0x00410840 lw v0, 0x124(sp)              |     v0 = *(var_124h);
                                             |     if (v0 == 0) {
    0x00410844 beqz v0, 0x4103b0             |         goto label_4;
                                             |     }
                                             | label_39:
    0x00410848 lui v0, 0x49                  |     v0 = 0x490000;
                                             | label_44:
    0x0041084c lw v0, 0x3b60(v0)             |     v0 = *((v0 + 3800));
    0x00410850 slti v0, v0, -2               |     v0 = (v0 < -2) ? 1 : 0;
    0x00410854 lw v0, 0x124(sp)              |     v0 = *(var_124h);
                                             |     if (v0 != 0) {
    0x00410858 bnez v0, 0x4103b0             |         goto label_4;
                                             |     }
    0x0041085c lui v0, 0x49                  |     v0 = 0x490000;
    0x00410860 lui a0, 0x47                  |     a0 = 0x476f98;
                                             |     /* esilref: 'scene_degrad_stats.c' */
    0x00410864 addiu a0, a0, 0x6f98          |     
    0x00410868 lw s1, 0x3b6c(v0)             |     s1 = *((v0 + 3803));
    0x0041086c jal 0x481ad0                  |     fcn_00481ad0 ();
    0x00410870 move s2, v0                   |     s2 = v0;
    0x00410874 jal 0x4818d0                  |     fcn_004818d0 ();
    0x00410878 lw a0, (v0)                   |     a0 = *(v0);
    0x0041087c jal 0x481990                  |     fcn_00481990 ();
    0x00410880 sw v0, 0x14(sp)               |     *(var_14h) = v0;
    0x00410884 lui v0, 0x47                  |     v0 = "Failed to write scene state: %s";
                                             |     /* str.Failed_to_write_scene_state:__s */
    0x00410888 addiu v0, v0, 0x7164          |     
    0x0041088c lui a2, 0x47                  |     a2 = 0x470000;
    0x00410890 sw v0, 0x10(sp)               |     *(var_10h) = v0;
    0x00410894 addiu a3, zero, 0x1a0         |     a3 = 0x1a0;
                                             |     /* str.scene_degrad_stats_report_printer */
    0x00410898 addiu a2, a2, 0x7184          |     a2 += 0x7184;
    0x0041089c move a1, s2                   |     a1 = s2;
    0x004108a0 move t9, s1                   |     t9 = s1;
    0x004108a4 addiu a0, zero, -2            |     a0 = -2;
    0x004108a8 jalr t9                       |     t9 ();
    0x004108ac lui v0, 0x49                  |     v0 = 0x490000;
    0x004108b0 lw v0, 0x3b70(v0)             |     v0 = *((v0 + 3804));
                                             |     if (v0 <= 0) {
    0x004108b4 blezl v0, 0x4103b0            |         goto label_4;
                                             |     }
    0x004108b8 lw v0, 0x124(sp)              |     v0 = *(var_124h);
    0x004108bc b 0x4107ac                    |     goto label_12;
    0x004108c0 nop                           |     
                                             | label_43:
    0x004108c4 lw v0, 0x3b60(v0)             |     v0 = *((v0 + 3800));
    0x004108c8 slti v0, v0, -2               |     v0 = (v0 < -2) ? 1 : 0;
    0x004108cc lui v0, 0x49                  |     v0 = 0x490000;
                                             |     if (v0 == 0) {
    0x004108d0 beqz v0, 0x410954             |         goto label_45;
                                             |     }
                                             | label_15:
    0x004108d4 move a0, s2                   |     a0 = s2;
    0x004108d8 jal 0x482010                  |     fcn_00482010 ();
                                             |     if (v0 < 0) {
    0x004108dc bltzl v0, 0x4103b0            |         goto label_4;
                                             |     }
    0x004108e0 lw v0, 0x124(sp)              |     v0 = *(var_124h);
    0x004108e4 move a0, s2                   |     a0 = s2;
    0x004108e8 jal 0x481f10                  |     fcn_00481f10 ();
    0x004108ec lw v0, 0x124(sp)              |     v0 = *(var_124h);
    0x004108f0 b 0x4103b0                    |     goto label_4;
                                             | label_22:
    0x004108f4 lw s1, 0x94(s0)               |     s1 = *((s0 + 37));
    0x004108f8 move a0, zero                 |     a0 = 0;
    0x004108fc addu v0, s0, s1               |     v0 = s0 + s1;
    0x00410900 sb v1, 0x5c(v0)               |     *((v0 + 92)) = v1;
    0x00410904 jal 0x4821a0                  |     fcn_004821a0 ();
    0x00410908 lw a1, 0x94(s0)               |     a1 = *((s0 + 37));
    0x0041090c lw v1, 0x90(s0)               |     v1 = *((s0 + 36));
    0x00410910 addiu a0, a1, 1               |     a0 = a1 + 1;
    0x00410914 div zero, a0, v1              |     __asm ("div zero, a0, v1");
    0x00410918 teq v1, zero, 7               |     __asm ("teq v1, zero, 7");
    0x0041091c addiu v1, s1, 2               |     v1 = s1 + 2;
    0x00410920 sll v1, v1, 2                 |     v1 <<= 2;
    0x00410924 addu v1, s0, v1               |     v1 = s0 + v1;
    0x00410928 sw v0, 0x60(v1)               |     *((v1 + 24)) = v0;
    0x0041092c sw a1, 0x98(s0)               |     *((s0 + 38)) = a1;
    0x00410930 mfhi a0                       |     __asm ("mfhi a0");
    0x00410934 sw a0, 0x94(s0)               |     *((s0 + 37)) = a0;
    0x00410938 b 0x4102d8                    |     goto label_7;
                                             |     /* str.Good */
                                             | label_42:
    0x0041093c addiu a3, a3, 0x707c          |     a3 += 0x707c;
    0x00410940 b 0x4107d4                    |     goto label_13;
                                             | label_38:
    0x00410944 addiu a0, sp, 0x30            |     a0 = sp + 0x30;
    0x00410948 jal 0x4821b0                  |     fcn_004821b0 ();
    0x0041094c lui a1, 0x47                  |     a1 = 0x470000;
    0x00410950 b 0x410664                    |     goto label_14;
                                             | label_45:
    0x00410954 lui a0, 0x47                  |     a0 = 0x476f98;
                                             |     /* esilref: 'scene_degrad_stats.c' */
    0x00410958 addiu a0, a0, 0x6f98          |     
    0x0041095c lw s1, 0x3b6c(v0)             |     s1 = *((v0 + 3803));
    0x00410960 jal 0x481ad0                  |     fcn_00481ad0 ();
    0x00410964 move s3, v0                   |     s3 = v0;
    0x00410968 jal 0x4818d0                  |     fcn_004818d0 ();
    0x0041096c lw a0, (v0)                   |     a0 = *(v0);
    0x00410970 jal 0x481990                  |     fcn_00481990 ();
    0x00410974 sw v0, 0x14(sp)               |     *(var_14h) = v0;
    0x00410978 lui v0, 0x47                  |     v0 = "Failed to write scene state: %s";
                                             |     /* str.Failed_to_write_scene_state:__s */
    0x0041097c addiu v0, v0, 0x7164          |     
    0x00410980 lui a2, 0x47                  |     a2 = 0x470000;
    0x00410984 sw v0, 0x10(sp)               |     *(var_10h) = v0;
    0x00410988 addiu a3, zero, 0x1a0         |     a3 = 0x1a0;
                                             |     /* str.scene_degrad_stats_report_printer */
    0x0041098c addiu a2, a2, 0x7184          |     a2 += 0x7184;
    0x00410990 move a1, s3                   |     a1 = s3;
    0x00410994 move t9, s1                   |     t9 = s1;
    0x00410998 addiu a0, zero, -2            |     a0 = -2;
    0x0041099c jalr t9                       |     t9 ();
    0x004109a0 lui v0, 0x49                  |     v0 = 0x490000;
    0x004109a4 lw v0, 0x3b70(v0)             |     v0 = *((v0 + 3804));
                                             |     if (v0 <= 0) {
    0x004109a8 blez v0, 0x4108d4             |         goto label_15;
                                             |     }
    0x004109ac nop                           |     
    0x004109b0 jal 0x481b40                  |     fcn_00481b40 ();
    0x004109b4 nop                           |     
    0x004109b8 b 0x4108d4                    |     goto label_15;
    0x004109bc nop                           |     
                                             | }
    ; assembly                                   | /* r2dec pseudo code output */
                                                 | /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/share/addon/packages/autostart/axis-video-scene-provider_r2.8.16_mips32r2el-nf.opk.tar.gz_extract/gzip.uncompressed_extract/axis-video-scene-provider.opk.tar.gz_extract/gzip.uncompressed_extract/axis-video-scene-provider_r2.8.16_mips32r2el-nf.opk_extract/data.tar.gz_extract/gzip.uncompressed_extract/axis-video-scene-provider/usr/bin/video-scene-provider @ 0x4598d4 */
                                                 | #include <stdint.h>
                                                 |  
    ; (fcn) sym.av_image_read_pixels_lc ()       | void av_image_read_pixels_lc () {
    0x004598d4 lui gp, 4                         |     
    0x004598d8 addiu gp, gp, 0x1e8c              |     
    0x004598dc addu gp, gp, t9                   |     gp += t9;
                                                 |     if (a0 == 0) {
    0x004598e0 beqz a0, 0x459a9c                 |         goto label_4;
                                                 |     }
    0x004598e4 nop                               |     
    0x004598e8 addiu sp, sp, -0x30               |     
    0x004598ec sw s0, 0x18(sp)                   |     *(var_18h_2) = s0;
    0x004598f0 sll s0, a1, 1                     |     s0 = a1 << 1;
    0x004598f4 addu v0, s0, a1                   |     v0 = s0 + a1;
    0x004598f8 addu v1, v0, a2                   |     v1 = v0 + a2;
    0x004598fc sll t0, v1, 2                     |     t0 = v1 << 2;
    0x00459900 addu s0, a0, t0                   |     s0 = a0 + t0;
    0x00459904 sw gp, 0x10(sp)                   |     *(var_18h) = gp;
    0x00459908 sw ra, 0x2c(sp)                   |     *(var_34h) = ra;
    0x0045990c sw s4, 0x28(sp)                   |     *(var_30h) = s4;
    0x00459910 sw s3, 0x24(sp)                   |     *(var_2ch) = s3;
    0x00459914 sw s2, 0x20(sp)                   |     *(var_28h) = s2;
    0x00459918 sw s1, 0x1c(sp)                   |     *(var_24h) = s1;
    0x0045991c lw t2, 0x40(s0)                   |     t2 = *((s0 + 16));
                                                 |     if (a3 != 0) {
    0x00459920 beqz a3, 0x459934                 |         
    0x00459924 move t1, zero                     |         t1 = 0;
                                                 |         if (t2 == 0) {
    0x00459928 beqz t2, 0x459a50                 |             goto label_5;
                                                 |         }
    0x0045992c lw t1, (t2)                       |         t1 = *(t2);
    0x00459930 sw t1, (a3)                       |         *(a3) = t1;
                                                 |     }
                                                 | label_2:
    0x00459934 move s2, a0                       |     s2 = a0;
                                                 |     if (t2 == 0) {
    0x00459938 beqz t2, 0x4599c4                 |         goto label_6;
                                                 |     }
    0x0045993c lw a0, -0x7f44(gp)                |     a0 = *(gp);
    0x00459940 move s1, a1                       |     s1 = a1;
    0x00459944 lbu a1, (a0)                      |     a1 = *(a0);
    0x00459948 move s3, a2                       |     s3 = a2;
                                                 |     if (a1 != 0) {
    0x0045994c bnez a1, 0x4599e8                 |         goto label_7;
                                                 |     }
    0x00459950 lbu a3, 0x18(s2)                  |     a3 = *((s2 + 24));
    0x00459954 lw s4, 0xc(t2)                    |     s4 = *((t2 + 3));
                                                 |     if (s1 == a3) {
    0x00459958 beq s1, a3, 0x459a5c              |         goto label_8;
                                                 |     }
                                                 |     do {
    0x0045995c sll t4, a3, 1                     |         t4 = a3 << 1;
    0x00459960 addu t5, t4, a3                   |         t5 = t4 + a3;
    0x00459964 addu t6, t5, s3                   |         t6 = t5 + s3;
    0x00459968 addiu t7, t6, 0x10                |         t7 = t6 + 0x10;
    0x0045996c sll t8, t7, 2                     |         t8 = t7 << 2;
    0x00459970 lwx ra, t8(s2)                    |         __asm ("lwx ra, t8(s2)");
    0x00459974 lw t3, (t2)                       |         t3 = *(t2);
                                                 |         if (ra == 0) {
    0x00459978 beqz ra, 0x459a44                 |             goto label_9;
                                                 |         }
    0x0045997c lbu t0, 0xa(ra)                   |         t0 = *((ra + 10));
                                                 | label_0:
    0x00459980 lw t1, -0x7f18(gp)                |         t1 = *(gp);
    0x00459984 addiu s0, t0, -3                  |         s0 = t0 + -3;
    0x00459988 sll v1, s0, 2                     |         v1 = s0 << 2;
    0x0045998c lwx s3, v1(t1)                    |         __asm ("lwx s3, v1(t1)");
    0x00459990 mul v0, t3, s3                    |         __asm ("mul v0, t3, s3");
                                                 | label_1:
    0x00459994 lw s1, -0x7f30(gp)                |         s1 = *(gp);
    0x00459998 lwx s2, v1(s1)                    |         __asm ("lwx s2, v1(s1)");
    0x0045999c addu a0, v0, s2                   |         a0 = v0 + s2;
                                                 | label_3:
    0x004599a0 lw ra, 0x2c(sp)                   |         ra = *(var_34h);
    0x004599a4 addu v0, s4, a0                   |         v0 = s4 + a0;
    0x004599a8 lw s3, 0x24(sp)                   |         s3 = *(var_2ch);
    0x004599ac lw s4, 0x28(sp)                   |         s4 = *(var_30h);
    0x004599b0 lw s2, 0x20(sp)                   |         s2 = *(var_28h);
    0x004599b4 lw s1, 0x1c(sp)                   |         s1 = *(var_24h);
    0x004599b8 lw s0, 0x18(sp)                   |         s0 = *(var_18h_2);
    0x004599bc addiu sp, sp, 0x30                |         
    0x004599c0 jr ra                             |         return v0;
                                                 | label_6:
    0x004599c4 lw ra, 0x2c(sp)                   |         ra = *(var_34h);
    0x004599c8 lw s4, 0x28(sp)                   |         s4 = *(var_30h);
    0x004599cc lw s3, 0x24(sp)                   |         s3 = *(var_2ch);
    0x004599d0 lw s2, 0x20(sp)                   |         s2 = *(var_28h);
    0x004599d4 lw s1, 0x1c(sp)                   |         s1 = *(var_24h);
    0x004599d8 lw s0, 0x18(sp)                   |         s0 = *(var_18h_2);
    0x004599dc move v0, zero                     |         v0 = 0;
    0x004599e0 addiu sp, sp, 0x30                |         
    0x004599e4 jr ra                             |         return v0;
                                                 | label_7:
    0x004599e8 lw t9, -0x7fe8(gp)                |         t9 = *(gp);
    0x004599ec addiu a0, t2, 0x10                |         a0 = t2 + 0x10;
    0x004599f0 jalr t9                           |         t9 ();
    0x004599f4 lw gp, 0x10(sp)                   |         gp = *(var_18h);
    0x004599f8 lw a2, 0x40(s0)                   |         a2 = *((s0 + 16));
    0x004599fc lw t9, -0x7fdc(gp)                |         t9 = *(gp);
    0x00459a00 addiu a0, a2, 0x10                |         a0 = a2 + 0x10;
    0x00459a04 lw s4, 0xc(a2)                    |         s4 = *((a2 + 3));
    0x00459a08 jalr t9                           |         t9 ();
    0x00459a0c lbu a3, 0x18(s2)                  |         a3 = *((s2 + 24));
    0x00459a10 lw gp, 0x10(sp)                   |         gp = *(var_18h);
                                                 |         if (a3 == s1) {
    0x00459a14 beq a3, s1, 0x459a58              |             goto label_10;
                                                 |         }
    0x00459a18 lw t2, 0x40(s0)                   |         t2 = *((s0 + 16));
    0x00459a1c move t3, zero                     |         t3 = 0;
    0x00459a20 bnez t2, 0x45995c                 |         
                                                 |     } while (t2 != 0);
    0x00459a24 sll t4, a3, 1                     |     t4 = a3 << 1;
    0x00459a28 addu t5, t4, a3                   |     t5 = t4 + a3;
    0x00459a2c addu t6, t5, s3                   |     t6 = t5 + s3;
    0x00459a30 addiu t7, t6, 0x10                |     t7 = t6 + 0x10;
    0x00459a34 sll t8, t7, 2                     |     t8 = t7 << 2;
    0x00459a38 lwx ra, t8(s2)                    |     __asm ("lwx ra, t8(s2)");
    0x00459a3c lbu t0, 0xa(ra)                   |     t0 = *((ra + 10));
                                                 |     if (ra == 0) {
    0x00459a40 bnel ra, zero, 0x459980           |         goto label_0;
                                                 |     }
                                                 | label_9:
    0x00459a44 move v0, zero                     |     v0 = 0;
    0x00459a48 move v1, zero                     |     v1 = 0;
    0x00459a4c b 0x459994                        |     goto label_1;
                                                 | label_5:
    0x00459a50 sw t1, (a3)                       |     *(a3) = t1;
    0x00459a54 b 0x459934                        |     goto label_2;
                                                 | label_10:
    0x00459a58 move a3, s1                       |     a3 = s1;
                                                 | label_8:
    0x00459a5c sll a1, a3, 1                     |     a1 = a3 << 1;
    0x00459a60 addu a2, a1, a3                   |     a2 = a1 + a3;
    0x00459a64 addu t9, a2, s3                   |     t9 = a2 + s3;
    0x00459a68 addiu a3, t9, 0x10                |     a3 = t9 + 0x10;
    0x00459a6c sll t2, a3, 2                     |     t2 = a3 << 2;
    0x00459a70 lwx t3, t2(s2)                    |     __asm ("lwx t3, t2(s2)");
    0x00459a74 move t4, zero                     |     t4 = 0;
                                                 |     if (t3 != 0) {
    0x00459a78 beqz t3, 0x459a80                 |         
    0x00459a7c lw t4, (t3)                       |         t4 = *(t3);
                                                 |     }
    0x00459a80 sll t5, s3, 2                     |     t5 = s3 << 2;
    0x00459a84 addu t6, s2, t5                   |     t6 = s2 + t5;
    0x00459a88 lw t7, 0x30(t6)                   |     t7 = *((t6 + 12));
    0x00459a8c lw t8, 0x20(t6)                   |     t8 = *((t6 + 8));
    0x00459a90 mul ra, t4, t7                    |     __asm ("mul ra, t4, t7");
    0x00459a94 addu a0, ra, t8                   |     a0 = ra + t8;
    0x00459a98 b 0x4599a0                        |     goto label_3;
                                                 | label_4:
    0x00459a9c move v0, zero                     |     v0 = 0;
    0x00459aa0 jr ra                             |     return v0;
                                                 | }
    ; assembly                               | /* r2dec pseudo code output */
                                             | /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/share/addon/packages/autostart/axis-video-scene-provider_r2.8.16_mips32r2el-nf.opk.tar.gz_extract/gzip.uncompressed_extract/axis-video-scene-provider.opk.tar.gz_extract/gzip.uncompressed_extract/axis-video-scene-provider_r2.8.16_mips32r2el-nf.opk_extract/data.tar.gz_extract/gzip.uncompressed_extract/axis-video-scene-provider/usr/bin/video-scene-provider @ 0x467c88 */
                                             | #include <stdint.h>
                                             |  
    ; (fcn) sym.av_logic_double ()           | void av_logic_double () {
    0x00467c88 lui gp, 3                     |     
    0x00467c8c addiu gp, gp, 0x3ad8          |     
    0x00467c90 addu gp, gp, t9               |     gp += t9;
    0x00467c94 addiu sp, sp, -0x88           |     
    0x00467c98 sw gp, 0x20(sp)               |     *(var_20h) = gp;
    0x00467c9c sw ra, 0x84(sp)               |     *(var_84h) = ra;
    0x00467ca0 sw fp, 0x80(sp)               |     *(var_80h) = fp;
    0x00467ca4 sw s7, 0x7c(sp)               |     *(var_7ch) = s7;
    0x00467ca8 sw s6, 0x78(sp)               |     *(var_78h) = s6;
    0x00467cac sw s5, 0x74(sp)               |     *(var_74h) = s5;
    0x00467cb0 sw s4, 0x70(sp)               |     *(var_70h) = s4;
    0x00467cb4 sw s3, 0x6c(sp)               |     *(var_6ch) = s3;
    0x00467cb8 sw s2, 0x68(sp)               |     *(var_68h) = s2;
    0x00467cbc sw s1, 0x64(sp)               |     *(var_64h) = s1;
    0x00467cc0 sw s0, 0x60(sp)               |     *(var_60h) = s0;
    0x00467cc4 sltiu v0, a2, 3               |     v0 = (a2 < 3) ? 1 : 0;
                                             |     if (a0 != 0) {
    0x00467cc8 beqz a0, 0x467f8c             |         
    0x00467ccc move s0, a2                   |         s0 = a2;
                                             |         if (v0 != 0) {
    0x00467cd0 beqz v0, 0x467f8c             |             
    0x00467cd4 lbu t0, 0x18(a0)              |             t0 = *((a0 + 24));
    0x00467cd8 move s7, a0                   |             s7 = a0;
    0x00467cdc sll v1, t0, 1                 |             v1 = t0 << 1;
    0x00467ce0 addu a0, v1, t0               |             a0 = v1 + t0;
    0x00467ce4 addu a2, a0, a2               |             a2 = a0 + a2;
    0x00467ce8 addiu t1, a2, 0x10            |             t1 = a2 + 0x10;
    0x00467cec sll t2, t1, 2                 |             t2 = t1 << 2;
    0x00467cf0 lwx t3, t2(s7)                |             __asm ("lwx t3, t2(s7)");
                                             |             if (t3 == 0) {
    0x00467cf4 beql t3, zero, 0x467f90       |                 goto label_27;
                                             |             }
    0x00467cf8 lw v1, -0x7fe0(gp)            |             v1 = *(gp);
    0x00467cfc move s2, a1                   |             s2 = a1;
                                             |             if (a1 == 0) {
    0x00467d00 beqz a1, 0x467f8c             |                 goto label_28;
                                             |             }
    0x00467d04 lbu a1, 0x18(a1)              |             a1 = *((a1 + 24));
    0x00467d08 sll t4, a1, 1                 |             t4 = a1 << 1;
    0x00467d0c addu t5, t4, a1               |             t5 = t4 + a1;
    0x00467d10 addu t6, t5, s0               |             t6 = t5 + s0;
    0x00467d14 addiu t7, t6, 0x10            |             t7 = t6 + 0x10;
    0x00467d18 sll s1, t7, 2                 |             s1 = t7 << 2;
    0x00467d1c lwx s4, s1(s2)                |             __asm ("lwx s4, s1(s2)");
    0x00467d20 lw s3, 0x98(sp)               |             s3 = *(arg_98h);
                                             |             if (s4 == 0) {
    0x00467d24 beqz s4, 0x467f8c             |                 goto label_28;
                                             |             }
    0x00467d28 addiu fp, s3, -0x13           |             fp = s3 + -0x13;
    0x00467d2c sltiu s5, fp, 0xb             |             s5 = (fp < 0xb) ? 1 : 0;
                                             |             if (s5 == 0) {
    0x00467d30 beql s5, zero, 0x4680b0       |                 goto label_29;
                                             |             }
    0x00467d34 lw t5, -0x7fe0(gp)            |             t5 = *(gp);
    0x00467d38 lw a0, -0x7fe0(gp)            |             a0 = *(gp);
                                             |             if (t0 != a1) {
    0x00467d3c bne t0, a1, 0x4680f0          |                 goto label_30;
                                             |             }
    0x00467d40 lbu s6, 0xa(t3)               |             s6 = *((t3 + 10));
    0x00467d44 lbu t8, 0xa(s4)               |             t8 = *((s4 + 10));
    0x00467d48 lw t9, -0x7e18(gp)            |             t9 = sym.av_clip;
                                             |             if (s6 != t8) {
    0x00467d4c bne s6, t8, 0x467fd8          |                 goto label_31;
                                             |             }
    0x00467d50 addiu s4, sp, 0x38            |             s4 = sp + 0x38;
    0x00467d54 addiu s3, sp, 0x28            |             s3 = sp + 0x28;
    0x00467d58 move s1, a3                   |             s1 = a3;
    0x00467d5c move a2, s7                   |             a2 = s7;
    0x00467d60 move a3, s2                   |             a3 = s2;
    0x00467d64 move a1, s3                   |             a1 = s3;
    0x00467d68 move a0, s4                   |             a0 = s4;
    0x00467d6c bal 0x46f6dc                  |             sym_av_clip ();
    0x00467d70 lw gp, 0x20(sp)               |             gp = *(var_20h);
                                             |             if (v0 == 0) {
    0x00467d74 beqz v0, 0x467fa0             |                 goto label_32;
                                             |             }
    0x00467d78 lbu s6, 0x18(s7)              |             s6 = *((s7 + 24));
                                             |             if (s1 == 0) {
    0x00467d7c beqz s1, 0x468130             |                 goto label_33;
                                             |             }
    0x00467d80 sll s1, s6, 1                 |             s1 = s6 << 1;
    0x00467d84 addu t5, s1, s6               |             t5 = s1 + s6;
    0x00467d88 addu a0, t5, s0               |             a0 = t5 + s0;
    0x00467d8c lw t7, -0x7fe4(gp)            |             t7 = *((gp - 8185));
    0x00467d90 addiu t6, a0, 0x10            |             t6 = a0 + 0x10;
    0x00467d94 sll s4, t6, 2                 |             s4 = t6 << 2;
    0x00467d98 sll a3, fp, 2                 |             a3 = fp << 2;
    0x00467d9c addiu ra, t7, 0x31dc          |             ra = t7 + 0x31dc;
    0x00467da0 lwx t8, s4(s7)                |             __asm ("lwx t8, s4(s7)");
    0x00467da4 lwx v0, a3(ra)                |             __asm ("lwx v0, a3(ra)");
    0x00467da8 sw v0, 0x4c(sp)               |             *(var_4ch) = v0;
                                             |             if (t8 == 0) {
    0x00467dac beqz t8, 0x4686a8             |                 goto label_34;
                                             |             }
    0x00467db0 lbu s5, 0xa(t8)               |             s5 = *((t8 + 10));
    0x00467db4 addiu t0, s5, -3              |             t0 = s5 + -3;
                                             | label_6:
    0x00467db8 move a1, s6                   |             a1 = s6;
    0x00467dbc lw s6, -0x7eac(gp)            |             s6 = *(gp);
    0x00467dc0 lw t9, -0x7eec(gp)            |             t9 = sym.av_image_detach;
    0x00467dc4 sll fp, t0, 2                 |             fp = t0 << 2;
    0x00467dc8 addiu s3, zero, 1             |             s3 = 1;
    0x00467dcc sw s3, 0x10(sp)               |             *(var_10h) = s3;
    0x00467dd0 move a2, s0                   |             a2 = s0;
    0x00467dd4 addiu a3, zero, -1            |             a3 = -1;
    0x00467dd8 move a0, s7                   |             a0 = s7;
    0x00467ddc lw s3, 0x10(s7)               |             s3 = *((s7 + 4));
    0x00467de0 lwx s1, fp(s6)                |             __asm ("lwx s1, fp(s6)");
    0x00467de4 bal 0x45a6a8                  |             sym_av_image_detach ();
    0x00467de8 lbu a1, 0x18(s7)              |             a1 = *((s7 + 24));
    0x00467dec sll a2, a1, 1                 |             a2 = a1 << 1;
    0x00467df0 addu t1, a2, a1               |             t1 = a2 + a1;
    0x00467df4 addu v1, t1, s0               |             v1 = t1 + s0;
    0x00467df8 addiu t3, v1, 0x10            |             t3 = v1 + 0x10;
    0x00467dfc sll t2, t3, 2                 |             t2 = t3 << 2;
    0x00467e00 lwx t4, t2(s7)                |             __asm ("lwx t4, t2(s7)");
    0x00467e04 lw gp, 0x20(sp)               |             gp = *(var_20h);
                                             |             if (t4 == 0) {
    0x00467e08 beqz t4, 0x4686b4             |                 goto label_35;
                                             |             }
    0x00467e0c lw t5, -0x7f44(gp)            |             t5 = *(gp);
    0x00467e10 lw t6, (t4)                   |             t6 = *(t4);
    0x00467e14 lbu a0, (t5)                  |             a0 = *(t5);
    0x00467e18 move s6, t6                   |             s6 = t6;
                                             |             if (a0 != 0) {
    0x00467e1c bnez a0, 0x46838c             |                 goto label_36;
                                             |             }
    0x00467e20 lw fp, 0xc(t4)                |             fp = *((t4 + 3));
                                             | label_4:
    0x00467e24 sll ra, s0, 2                 |             ra = s0 << 2;
    0x00467e28 addu t5, s7, ra               |             t5 = s7 + ra;
    0x00467e2c lw a0, 0x30(t5)               |             a0 = *((t5 + 12));
    0x00467e30 lw t9, 0x20(t5)               |             t9 = *((t5 + 8));
    0x00467e34 mul s4, t6, a0                |             __asm ("mul s4, t6, a0");
    0x00467e38 addu a3, s4, t9               |             a3 = s4 + t9;
    0x00467e3c addu t7, fp, a3               |             t7 = fp + a3;
    0x00467e40 sw t7, 0x50(sp)               |             *(var_50h) = t7;
                                             | label_7:
    0x00467e44 lbu t8, 0x18(s2)              |             t8 = *((s2 + 24));
    0x00467e48 lw fp, 0x3c(sp)               |             fp = *(var_3ch);
    0x00467e4c sll v0, t8, 1                 |             v0 = t8 << 1;
    0x00467e50 addu t0, v0, t8               |             t0 = v0 + t8;
    0x00467e54 addu a1, t0, s0               |             a1 = t0 + s0;
    0x00467e58 addiu a2, a1, 0x10            |             a2 = a1 + 0x10;
    0x00467e5c sll t1, a2, 2                 |             t1 = a2 << 2;
    0x00467e60 lwx t3, t1(s2)                |             __asm ("lwx t3, t1(s2)");
    0x00467e64 lw v1, 0x38(sp)               |             v1 = *(var_38h);
                                             |             if (t3 == 0) {
    0x00467e68 beqz t3, 0x4686c0             |                 goto label_37;
                                             |             }
    0x00467e6c lw t2, -0x7f44(gp)            |             t2 = *(gp);
    0x00467e70 lw v0, (t3)                   |             v0 = *(t3);
    0x00467e74 lbu t4, (t2)                  |             t4 = *(t2);
    0x00467e78 sw v0, 0x48(sp)               |             *(var_48h) = v0;
                                             |             if (t4 != 0) {
    0x00467e7c bnez t4, 0x4686fc             |                 goto label_38;
                                             |             }
    0x00467e80 lw s4, 0xc(t3)                |             s4 = *((t3 + 3));
                                             | label_10:
    0x00467e84 sll s0, s0, 2                 |             s0 <<= 2;
    0x00467e88 addu ra, s2, s0               |             ra = s2 + s0;
    0x00467e8c lw s2, 0x30(ra)               |             s2 = *((ra + 12));
    0x00467e90 lw t4, 0x20(ra)               |             t4 = *((ra + 8));
    0x00467e94 mul t9, v0, s2                |             __asm ("mul t9, v0, s2");
    0x00467e98 addu t6, t9, t4               |             t6 = t9 + t4;
    0x00467e9c addu s2, s4, t6               |             s2 = s4 + t6;
                                             | label_8:
    0x00467ea0 lw t5, 0x28(sp)               |             t5 = *(var_28h);
    0x00467ea4 lw t7, 0x2c(sp)               |             t7 = *(var_2ch);
    0x00467ea8 mul a3, s1, t5                |             __asm ("mul a3, s1, t5");
    0x00467eac lw a0, 0x48(sp)               |             a0 = *(var_48h);
    0x00467eb0 mul s4, a0, t7                |             __asm ("mul s4, a0, t7");
    0x00467eb4 move a1, a3                   |             a1 = a3;
                                             |             if (a3 < 0) {
    0x00467eb8 bgez a3, 0x467ec0             |                 
    0x00467ebc addiu a1, a3, 7               |                 a1 = a3 + 7;
                                             |             }
    0x00467ec0 lui t0, 0x8000                |             t0 = 0x80000000;
    0x00467ec4 sra a2, a1, 3                 |             a2 = a1 >> 3;
    0x00467ec8 addiu t1, t0, 7               |             t1 = t0 + 7;
    0x00467ecc addu t8, s4, a2               |             t8 = s4 + a2;
    0x00467ed0 and s0, a3, t1                |             s0 = a3 & t1;
    0x00467ed4 addu s4, s2, t8               |             s4 = s2 + t8;
                                             |             if (s0 < 0) {
    0x00467ed8 bgez s0, 0x467eec             |                 
    0x00467edc addiu t3, s0, -1              |                 t3 = s0 + -1;
    0x00467ee0 addiu t2, zero, -8            |                 t2 = -8;
    0x00467ee4 or v0, t3, t2                 |                 v0 = t3 | t2;
    0x00467ee8 addiu s0, v0, 1               |                 s0 = v0 + 1;
                                             |             }
    0x00467eec lw ra, 0x40(sp)               |             ra = *(var_40h);
    0x00467ef0 lw t4, 0x38(sp)               |             t4 = *(var_38h);
                                             |             if (s3 == ra) {
    0x00467ef4 beq s3, ra, 0x4686a0          |                 goto label_39;
                                             |             }
    0x00467ef8 lw t9, -0x7d10(gp)            |             t9 = *((gp - 8004));
    0x00467efc mul s2, s1, t4                |             __asm ("mul s2, s1, t4");
    0x00467f00 lw t6, (t9)                   |             t6 = *(t9);
    0x00467f04 sll t5, t6, 3                 |             t5 = t6 << 3;
    0x00467f08 divu zero, s2, t5             |             __asm ("divu zero, s2, t5");
    0x00467f0c teq t5, zero, 7               |             __asm ("teq t5, zero, 7");
    0x00467f10 mfhi a3                       |             __asm ("mfhi a3");
    0x00467f14 mul t7, ra, s1                |             __asm ("mul t7, ra, s1");
                                             |             if (a3 != 0) {
    0x00467f18 bnez a3, 0x468478             |                 goto label_40;
                                             |             }
    0x00467f1c divu zero, t7, t5             |             __asm ("divu zero, t7, t5");
    0x00467f20 teq t5, zero, 7               |             __asm ("teq t5, zero, 7");
    0x00467f24 mfhi a0                       |             __asm ("mfhi a0");
                                             |             if (a0 != 0) {
    0x00467f28 bnez a0, 0x468478             |                 goto label_40;
                                             |             }
    0x00467f2c nop                           |             
                                             | label_5:
    0x00467f30 mul a3, s1, v1                |             __asm ("mul a3, s1, v1");
                                             |             if (a3 >= 0) {
    0x00467f34 bltzl a3, 0x467f3c            |                 
    0x00467f38 addiu a3, a3, 7               |                 a3 += 7;
                                             |             }
    0x00467f3c mul fp, fp, s6                |             __asm ("mul fp, fp, s6");
    0x00467f40 sra a0, a3, 3                 |             a0 = a3 >> 3;
    0x00467f44 lw t4, 0x44(sp)               |             t4 = *(var_44h);
    0x00467f48 lw t6, 0x48(sp)               |             t6 = *(var_48h);
    0x00467f4c move a3, s4                   |             a3 = s4;
    0x00467f50 lw s4, 0x50(sp)               |             s4 = *(var_50h);
    0x00467f54 addu s2, fp, a0               |             s2 = fp + a0;
    0x00467f58 lw t9, 0x4c(sp)               |             t9 = *(var_4ch);
    0x00467f5c sw t4, 0x1c(sp)               |             *(var_1ch) = t4;
    0x00467f60 sw t7, 0x18(sp)               |             *(var_18h) = t7;
    0x00467f64 sw s0, 0x14(sp)               |             *(var_14h) = s0;
    0x00467f68 sw t6, 0x10(sp)               |             *(var_10h) = t6;
    0x00467f6c move a2, zero                 |             a2 = 0;
    0x00467f70 move a1, s6                   |             a1 = s6;
    0x00467f74 addu a0, s4, s2               |             a0 = s4 + s2;
    0x00467f78 jalr t9                       |             t9 ();
    0x00467f7c lw gp, 0x20(sp)               |             gp = *(var_20h);
                                             |             if (v0 < 0) {
    0x00467f80 bltz v0, 0x4683f8             |                 goto label_41;
                                             |             }
    0x00467f84 move s1, s7                   |             s1 = s7;
    0x00467f88 b 0x467fa4                    |             
                                             |         }
                                             |     } else {
                                             | label_28:
    0x00467f8c lw v1, -0x7fe0(gp)            |         v1 = *(gp);
                                             | label_27:
    0x00467f90 lw v0, (v1)                   |         v0 = *(v1);
    0x00467f94 slti t8, v0, -2               |         t8 = (v0 < -2) ? 1 : 0;
    0x00467f98 lw s7, -0x7fbc(gp)            |         s7 = *((gp - 8175));
                                             |         if (t8 == 0) {
    0x00467f9c beqz t8, 0x468084             |             goto label_42;
                                             |         }
                                             | label_32:
    0x00467fa0 move s1, zero                 |         s1 = 0;
                                             |     }
                                             |     do {
                                             | label_0:
    0x00467fa4 lw ra, 0x84(sp)               |         ra = *(var_84h);
                                             | label_2:
    0x00467fa8 move v0, s1                   |         v0 = s1;
    0x00467fac lw fp, 0x80(sp)               |         fp = *(var_80h);
    0x00467fb0 lw s7, 0x7c(sp)               |         s7 = *(var_7ch);
    0x00467fb4 lw s6, 0x78(sp)               |         s6 = *(var_78h);
    0x00467fb8 lw s5, 0x74(sp)               |         s5 = *(var_74h);
    0x00467fbc lw s4, 0x70(sp)               |         s4 = *(var_70h);
    0x00467fc0 lw s3, 0x6c(sp)               |         s3 = *(var_6ch);
    0x00467fc4 lw s2, 0x68(sp)               |         s2 = *(var_68h);
    0x00467fc8 lw s1, 0x64(sp)               |         s1 = *(var_64h);
    0x00467fcc lw s0, 0x60(sp)               |         s0 = *(var_60h);
    0x00467fd0 addiu sp, sp, 0x88            |         
    0x00467fd4 jr ra                         |         return v0;
                                             | label_31:
    0x00467fd8 lw s7, -0x7fe0(gp)            |         s7 = *(gp);
    0x00467fdc lw s1, (s7)                   |         s1 = *(s7);
    0x00467fe0 slti t0, s1, -2               |         t0 = (s1 < -2) ? 1 : 0;
    0x00467fe4 move s1, zero                 |         s1 = 0;
    0x00467fe8 bnez t0, 0x467fa4             |         
                                             |     } while (t0 != 0);
    0x00467fec lw t1, -0x7fbc(gp)            |     t1 = *((gp - 8175));
    0x00467ff0 lw t3, -0x7fc4(gp)            |     t3 = *(gp);
    0x00467ff4 lw t9, -0x7fc0(gp)            |     t9 = *(gp);
                                             |     /* str._home_svcj_workspace_TECH_CTA_VIDEO_SCENE_RELEASE_imported_vision_vision_vision_operation_av_logic.c */
    0x00467ff8 addiu a0, t1, 0xbb4           |     a0 = t1 + 0xbb4;
    0x00467ffc lw s3, (t3)                   |     s3 = *(t3);
    0x00468000 jalr t9                       |     t9 ();
    0x00468004 lw gp, 0x20(sp)               |     gp = *(var_20h);
    0x00468008 lw t2, -0x7fbc(gp)            |     t2 = *((gp - 8175));
                                             |     /* str.Data_type_mismatch */
    0x0046800c addiu a3, t2, 0x8d8           |     a3 = t2 + 0x8d8;
    0x00468010 sw a3, 0x10(sp)               |     *(var_10h) = a3;
    0x00468014 addiu a3, zero, 0xaa          |     a3 = 0xaa;
                                             | label_1:
    0x00468018 lw t3, -0x7fbc(gp)            |     t3 = *((gp - 8175));
    0x0046801c move t9, s3                   |     t9 = s3;
                                             |     /* str.av_logic_double */
    0x00468020 addiu a2, t3, 0xcc4           |     a2 = t3 + 0xcc4;
    0x00468024 move a1, v0                   |     a1 = v0;
    0x00468028 addiu a0, zero, -2            |     a0 = -2;
    0x0046802c jalr t9                       |     t9 ();
    0x00468030 lw gp, 0x20(sp)               |     gp = *(var_20h);
    0x00468034 lw s3, -0x7fb8(gp)            |     s3 = *(gp);
    0x00468038 lw t2, (s3)                   |     t2 = *(s3);
    0x0046803c move s1, zero                 |     s1 = 0;
                                             |     if (t2 <= 0) {
    0x00468040 blez t2, 0x467fa4             |         goto label_0;
                                             |     }
    0x00468044 lw t9, -0x7fb4(gp)            |     t9 = *(gp);
    0x00468048 jalr t9                       |     t9 ();
    0x0046804c nop                           |     
    0x00468050 lw ra, 0x84(sp)               |     ra = *(var_84h);
    0x00468054 move v0, s1                   |     v0 = s1;
    0x00468058 lw fp, 0x80(sp)               |     fp = *(var_80h);
    0x0046805c lw s7, 0x7c(sp)               |     s7 = *(var_7ch);
    0x00468060 lw s6, 0x78(sp)               |     s6 = *(var_78h);
    0x00468064 lw s5, 0x74(sp)               |     s5 = *(var_74h);
    0x00468068 lw s4, 0x70(sp)               |     s4 = *(var_70h);
    0x0046806c lw s3, 0x6c(sp)               |     s3 = *(var_6ch);
    0x00468070 lw s2, 0x68(sp)               |     s2 = *(var_68h);
    0x00468074 lw s1, 0x64(sp)               |     s1 = *(var_64h);
    0x00468078 lw s0, 0x60(sp)               |     s0 = *(var_60h);
    0x0046807c addiu sp, sp, 0x88            |     
    0x00468080 jr ra                         |     return v0;
                                             | label_42:
    0x00468084 lw s1, -0x7fc4(gp)            |     s1 = *(gp);
    0x00468088 lw t9, -0x7fc0(gp)            |     t9 = *(gp);
                                             |     /* str._home_svcj_workspace_TECH_CTA_VIDEO_SCENE_RELEASE_imported_vision_vision_vision_operation_av_logic.c */
    0x0046808c addiu a0, s7, 0xbb4           |     a0 = s7 + 0xbb4;
    0x00468090 lw s3, (s1)                   |     s3 = *(s1);
    0x00468094 jalr t9                       |     t9 ();
    0x00468098 lw gp, 0x20(sp)               |     gp = *(var_20h);
    0x0046809c addiu a3, zero, 0x97          |     a3 = 0x97;
    0x004680a0 lw t0, -0x7fbc(gp)            |     t0 = *((gp - 8175));
                                             |     /* str.Invalid_image_channel_selection */
    0x004680a4 addiu t1, t0, 0x84c           |     t1 = t0 + 0x84c;
    0x004680a8 sw t1, 0x10(sp)               |     *(var_10h) = t1;
    0x004680ac b 0x468018                    |     goto label_1;
                                             | label_29:
    0x004680b0 lw t7, (t5)                   |     t7 = *(t5);
    0x004680b4 slti a2, t7, -2               |     a2 = (t7 < -2) ? 1 : 0;
    0x004680b8 move s1, zero                 |     s1 = 0;
                                             |     if (a2 != 0) {
    0x004680bc bnez a2, 0x467fa4             |         goto label_0;
                                             |     }
    0x004680c0 lw ra, -0x7fbc(gp)            |     ra = *((gp - 8175));
    0x004680c4 lw s6, -0x7fc4(gp)            |     s6 = *(gp);
    0x004680c8 lw t9, -0x7fc0(gp)            |     t9 = *(gp);
                                             |     /* str._home_svcj_workspace_TECH_CTA_VIDEO_SCENE_RELEASE_imported_vision_vision_vision_operation_av_logic.c */
    0x004680cc addiu a0, ra, 0xbb4           |     a0 = ra + 0xbb4;
    0x004680d0 lw s3, (s6)                   |     s3 = *(s6);
    0x004680d4 jalr t9                       |     t9 ();
    0x004680d8 lw gp, 0x20(sp)               |     gp = *(var_20h);
    0x004680dc addiu a3, zero, 0x9d          |     a3 = 0x9d;
    0x004680e0 lw s5, -0x7fbc(gp)            |     s5 = *((gp - 8175));
                                             |     /* str.Invalid_operation_argument */
    0x004680e4 addiu s0, s5, 0xc1c           |     s0 = s5 + 0xc1c;
    0x004680e8 sw s0, 0x10(sp)               |     *(var_10h) = s0;
    0x004680ec b 0x468018                    |     goto label_1;
                                             | label_30:
    0x004680f0 lw fp, (a0)                   |     fp = *(a0);
    0x004680f4 slti s2, fp, -2               |     s2 = (fp < -2) ? 1 : 0;
    0x004680f8 move s1, zero                 |     s1 = 0;
                                             |     if (s2 != 0) {
    0x004680fc bnez s2, 0x467fa4             |         goto label_0;
                                             |     }
    0x00468100 lw t4, -0x7fbc(gp)            |     t4 = *((gp - 8175));
    0x00468104 lw t6, -0x7fc4(gp)            |     t6 = *(gp);
    0x00468108 lw t9, -0x7fc0(gp)            |     t9 = *(gp);
                                             |     /* str._home_svcj_workspace_TECH_CTA_VIDEO_SCENE_RELEASE_imported_vision_vision_vision_operation_av_logic.c */
    0x0046810c addiu a0, t4, 0xbb4           |     a0 = t4 + 0xbb4;
    0x00468110 lw s3, (t6)                   |     s3 = *(t6);
    0x00468114 jalr t9                       |     t9 ();
    0x00468118 lw gp, 0x20(sp)               |     gp = *(var_20h);
    0x0046811c addiu a3, zero, 0xa3          |     a3 = 0xa3;
    0x00468120 lw s4, -0x7fbc(gp)            |     s4 = *((gp - 8175));
                                             |     /* str.Level_of_Detail_mismatch */
    0x00468124 addiu a1, s4, 0x86c           |     a1 = s4 + 0x86c;
    0x00468128 sw a1, 0x10(sp)               |     *(var_10h) = a1;
    0x0046812c b 0x468018                    |     goto label_1;
                                             | label_33:
    0x00468130 lw ra, 0x98(sp)               |     ra = *(arg_98h);
    0x00468134 addiu a3, zero, 0x13          |     a3 = 0x13;
    0x00468138 sll v0, s6, 1                 |     v0 = s6 << 1;
                                             |     if (ra == a3) {
    0x0046813c beq ra, a3, 0x468770          |         goto label_43;
                                             |     }
    0x00468140 addu t0, v0, s6               |     t0 = v0 + s6;
    0x00468144 addu v1, t0, s0               |     v1 = t0 + s0;
    0x00468148 addiu a0, v1, 0x10            |     a0 = v1 + 0x10;
    0x0046814c sll a2, a0, 2                 |     a2 = a0 << 2;
    0x00468150 lw t2, -0x7fe4(gp)            |     t2 = *((gp - 8185));
    0x00468154 sll t1, fp, 2                 |     t1 = fp << 2;
    0x00468158 addiu a1, t2, 0x31dc          |     a1 = t2 + 0x31dc;
    0x0046815c lwx t3, a2(s7)                |     __asm ("lwx t3, a2(s7)");
    0x00468160 lwx s3, t1(a1)                |     __asm ("lwx s3, t1(a1)");
                                             |     if (t3 == 0) {
    0x00468164 beqz t3, 0x468384             |         goto label_44;
                                             |     }
    0x00468168 lbu t5, 0xa(t3)               |     t5 = *((t3 + 10));
    0x0046816c addiu t4, t5, -3              |     t4 = t5 + -3;
                                             | label_3:
    0x00468170 move a0, s7                   |     a0 = s7;
    0x00468174 lw s7, -0x7eac(gp)            |     s7 = *(gp);
    0x00468178 lw t9, -0x7ec4(gp)            |     t9 = sym.av_image_copy;
    0x0046817c sll t6, t4, 2                 |     t6 = t4 << 2;
    0x00468180 move a2, s4                   |     a2 = s4;
    0x00468184 move a1, s6                   |     a1 = s6;
    0x00468188 lwx s4, t6(s7)                |     __asm ("lwx s4, t6(s7)");
    0x0046818c bal 0x45b684                  |     sym_av_image_copy ();
    0x00468190 lw gp, 0x20(sp)               |     gp = *(var_20h);
    0x00468194 move s1, v0                   |     s1 = v0;
    0x00468198 addiu t7, zero, 1             |     t7 = 1;
    0x0046819c lw t9, -0x7eec(gp)            |     t9 = sym.av_image_detach;
    0x004681a0 addiu a3, zero, -1            |     a3 = -1;
    0x004681a4 move a1, s6                   |     a1 = s6;
    0x004681a8 move a0, v0                   |     a0 = v0;
    0x004681ac sw t7, 0x10(sp)               |     *(var_10h) = t7;
    0x004681b0 move a2, s0                   |     a2 = s0;
    0x004681b4 bal 0x45a6a8                  |     sym_av_image_detach ();
    0x004681b8 lbu a0, 0x18(s1)              |     a0 = *((s1 + 24));
    0x004681bc sll fp, a0, 1                 |     fp = a0 << 1;
    0x004681c0 addu s5, fp, a0               |     s5 = fp + a0;
    0x004681c4 addu t8, s5, s0               |     t8 = s5 + s0;
    0x004681c8 addiu s6, t8, 0x10            |     s6 = t8 + 0x10;
    0x004681cc sll a3, s6, 2                 |     a3 = s6 << 2;
    0x004681d0 lwx t1, a3(s1)                |     __asm ("lwx t1, a3(s1)");
    0x004681d4 lw gp, 0x20(sp)               |     gp = *(var_20h);
                                             |     if (t1 == 0) {
    0x004681d8 beqz t1, 0x4686cc             |         goto label_45;
                                             |     }
    0x004681dc lw s7, -0x7f44(gp)            |     s7 = *(gp);
    0x004681e0 lbu t3, (s7)                  |     t3 = *(s7);
    0x004681e4 lw t9, -0x7fe8(gp)            |     t9 = *(gp);
                                             |     if (t3 != 0) {
    0x004681e8 bnez t3, 0x468a98             |         goto label_46;
                                             |     }
    0x004681ec lw fp, 0xc(t1)                |     fp = *((t1 + 3));
    0x004681f0 lw v1, (t1)                   |     v1 = *(t1);
                                             | label_22:
    0x004681f4 sll s6, s0, 2                 |     s6 = s0 << 2;
    0x004681f8 lbu ra, 0x18(s2)              |     ra = *((s2 + 24));
    0x004681fc addu a1, s1, s6               |     a1 = s1 + s6;
    0x00468200 sll t2, ra, 1                 |     t2 = ra << 1;
    0x00468204 lw t6, 0x30(a1)               |     t6 = *((a1 + 12));
    0x00468208 addu t3, t2, ra               |     t3 = t2 + ra;
    0x0046820c addu t9, t3, s0               |     t9 = t3 + s0;
    0x00468210 mul s5, v1, t6                |     __asm ("mul s5, v1, t6");
    0x00468214 addiu t4, t9, 0x10            |     t4 = t9 + 0x10;
    0x00468218 sll t5, t4, 2                 |     t5 = t4 << 2;
    0x0046821c lw t7, 0x20(a1)               |     t7 = *((a1 + 8));
    0x00468220 lwx t2, t5(s2)                |     __asm ("lwx t2, t5(s2)");
    0x00468224 addu t8, s5, t7               |     t8 = s5 + t7;
    0x00468228 addu fp, fp, t8               |     fp += t8;
                                             |     if (t2 == 0) {
    0x0046822c beqz t2, 0x468b70             |         goto label_47;
                                             |     }
                                             | label_9:
    0x00468230 lbu v0, (s7)                  |     v0 = *(s7);
    0x00468234 lw t9, -0x7fe8(gp)            |     t9 = *(gp);
                                             |     if (v0 != 0) {
    0x00468238 bnez v0, 0x468b00             |         goto label_48;
                                             |     }
    0x0046823c lw s5, 0xc(t2)                |     s5 = *((t2 + 3));
    0x00468240 lw a3, (t2)                   |     a3 = *(t2);
                                             | label_23:
    0x00468244 addu s2, s2, s6               |     s2 += s6;
    0x00468248 sll ra, a0, 1                 |     ra = a0 << 1;
    0x0046824c lw t9, 0x30(s2)               |     t9 = *((s2 + 12));
    0x00468250 addu v0, ra, a0               |     v0 = ra + a0;
    0x00468254 addu s0, v0, s0               |     s0 = v0 + s0;
    0x00468258 mul v1, a3, t9                |     __asm ("mul v1, a3, t9");
    0x0046825c addiu s6, s0, 0x10            |     s6 = s0 + 0x10;
    0x00468260 sll t0, s6, 2                 |     t0 = s6 << 2;
    0x00468264 lw a2, 0x20(s2)               |     a2 = *((s2 + 8));
    0x00468268 lwx t1, t0(s1)                |     __asm ("lwx t1, t0(s1)");
    0x0046826c addu t3, v1, a2               |     t3 = v1 + a2;
    0x00468270 addu s0, s5, t3               |     s0 = s5 + t3;
                                             |     if (t1 == 0) {
    0x00468274 beqz t1, 0x468b68             |         goto label_49;
                                             |     }
    0x00468278 lw a1, (t1)                   |     a1 = *(t1);
                                             | label_24:
    0x0046827c move s2, zero                 |     s2 = 0;
                                             |     if (t2 != 0) {
    0x00468280 beqz t2, 0x468288             |         
    0x00468284 lw s2, (t2)                   |         s2 = *(t2);
                                             |     }
                                             | label_25:
    0x00468288 lw t2, 0x28(sp)               |     t2 = *(var_28h);
    0x0046828c lw t4, 0x2c(sp)               |     t4 = *(var_2ch);
    0x00468290 mul s5, s4, t2                |     __asm ("mul s5, s4, t2");
    0x00468294 mul t5, s2, t4                |     __asm ("mul t5, s2, t4");
    0x00468298 move a0, s5                   |     a0 = s5;
                                             |     if (s5 < 0) {
    0x0046829c bgez s5, 0x4682a4             |         
    0x004682a0 addiu a0, s5, 7               |         a0 = s5 + 7;
                                             |     }
    0x004682a4 lw t6, 0x30(sp)               |     t6 = *(var_30h);
    0x004682a8 lui t8, 0x8000                |     t8 = 0x80000000;
    0x004682ac mul s4, s4, t6                |     __asm ("mul s4, s4, t6");
    0x004682b0 sra a3, a0, 3                 |     a3 = a0 >> 3;
    0x004682b4 addiu s7, t8, 7               |     s7 = t8 + 7;
    0x004682b8 lw ra, 0x44(sp)               |     ra = *(var_44h);
    0x004682bc addu t7, t5, a3               |     t7 = t5 + a3;
    0x004682c0 and t0, s5, s7                |     t0 = s5 & s7;
    0x004682c4 addu a3, s0, t7               |     a3 = s0 + t7;
    0x004682c8 sw ra, 0x1c(sp)               |     *(var_1ch) = ra;
    0x004682cc sw s4, 0x18(sp)               |     *(var_18h) = s4;
                                             |     if (t0 < 0) {
    0x004682d0 bgez t0, 0x4682e4             |         
    0x004682d4 addiu v0, t0, -1              |         v0 = t0 + -1;
    0x004682d8 addiu s0, zero, -8            |         s0 = -8;
    0x004682dc or s6, v0, s0                 |         s6 = v0 | s0;
    0x004682e0 addiu t0, s6, 1               |         t0 = s6 + 1;
                                             |     }
    0x004682e4 sw t0, 0x14(sp)               |     *(var_14h) = t0;
    0x004682e8 sw s2, 0x10(sp)               |     *(var_10h) = s2;
    0x004682ec move a2, zero                 |     a2 = 0;
    0x004682f0 move t9, s3                   |     t9 = s3;
    0x004682f4 move a0, fp                   |     a0 = fp;
    0x004682f8 jalr t9                       |     t9 ();
    0x004682fc lw gp, 0x20(sp)               |     gp = *(var_20h);
                                             |     if (v0 >= 0) {
    0x00468300 bgez v0, 0x467fa4             |         goto label_0;
                                             |     }
    0x00468304 lw fp, -0x7fe0(gp)            |     fp = *(gp);
    0x00468308 lw s3, (fp)                   |     s3 = *(fp);
    0x0046830c slti a1, s3, -2               |     a1 = (s3 < -2) ? 1 : 0;
    0x00468310 lw ra, 0x84(sp)               |     ra = *(var_84h);
                                             |     if (a1 != 0) {
    0x00468314 bnez a1, 0x467fa8             |         goto label_2;
                                             |     }
    0x00468318 lw a2, -0x7fc4(gp)            |     a2 = *(gp);
    0x0046831c lw s2, -0x7fbc(gp)            |     s2 = *((gp - 8175));
    0x00468320 lw t9, -0x7fc0(gp)            |     t9 = *(gp);
                                             |     /* str._home_svcj_workspace_TECH_CTA_VIDEO_SCENE_RELEASE_imported_vision_vision_vision_operation_av_logic.c */
    0x00468324 addiu a0, s2, 0xbb4           |     a0 = s2 + 0xbb4;
    0x00468328 lw s5, (a2)                   |     s5 = *(a2);
    0x0046832c jalr t9                       |     t9 ();
    0x00468330 lw gp, 0x20(sp)               |     gp = *(var_20h);
    0x00468334 addiu a3, zero, 0x15a         |     a3 = 0x15a;
    0x00468338 move a1, v0                   |     a1 = v0;
    0x0046833c lw t1, -0x7fbc(gp)            |     t1 = *((gp - 8175));
    0x00468340 lw t3, -0x7fbc(gp)            |     t3 = *((gp - 8175));
                                             |     /* str.blit_failed */
    0x00468344 addiu v1, t1, 0xc50           |     v1 = t1 + 0xc50;
    0x00468348 sw v1, 0x10(sp)               |     *(var_10h) = v1;
                                             |     /* str.av_logic_double_copy */
    0x0046834c addiu a2, t3, 0xc94           |     a2 = t3 + 0xc94;
    0x00468350 move t9, s5                   |     t9 = s5;
    0x00468354 addiu a0, zero, -2            |     a0 = -2;
    0x00468358 jalr t9                       |     t9 ();
    0x0046835c lw gp, 0x20(sp)               |     gp = *(var_20h);
    0x00468360 lw t2, -0x7fb8(gp)            |     t2 = *(gp);
    0x00468364 lw t4, (t2)                   |     t4 = *(t2);
                                             |     if (t4 <= 0) {
    0x00468368 blezl t4, 0x467fa8            |         goto label_2;
                                             |     }
    0x0046836c lw ra, 0x84(sp)               |     ra = *(var_84h);
    0x00468370 lw t9, -0x7fb4(gp)            |     t9 = *(gp);
    0x00468374 jalr t9                       |     t9 ();
    0x00468378 nop                           |     
    0x0046837c lw ra, 0x84(sp)               |     ra = *(var_84h);
    0x00468380 b 0x467fa8                    |     goto label_2;
                                             | label_44:
    0x00468384 move t4, zero                 |     t4 = 0;
    0x00468388 b 0x468170                    |     goto label_3;
                                             | label_36:
    0x0046838c lw t9, -0x7fe8(gp)            |     t9 = *(gp);
    0x00468390 addiu a0, t4, 0x10            |     a0 = t4 + 0x10;
    0x00468394 jalr t9                       |     t9 ();
    0x00468398 lbu t6, 0x18(s7)              |     t6 = *((s7 + 24));
    0x0046839c lw gp, 0x20(sp)               |     gp = *(var_20h);
    0x004683a0 sll s4, t6, 1                 |     s4 = t6 << 1;
    0x004683a4 addu a3, s4, t6               |     a3 = s4 + t6;
    0x004683a8 addu t7, a3, s0               |     t7 = a3 + s0;
    0x004683ac addiu t8, t7, 0x10            |     t8 = t7 + 0x10;
    0x004683b0 sll v0, t8, 2                 |     v0 = t8 << 2;
    0x004683b4 lw t9, -0x7fdc(gp)            |     t9 = *(gp);
    0x004683b8 lwx t0, v0(s7)                |     __asm ("lwx t0, v0(s7)");
    0x004683bc addiu a0, t0, 0x10            |     a0 = t0 + 0x10;
    0x004683c0 lw fp, 0xc(t0)                |     fp = *((t0 + 3));
    0x004683c4 jalr t9                       |     t9 ();
    0x004683c8 lbu a1, 0x18(s7)              |     a1 = *((s7 + 24));
    0x004683cc lw gp, 0x20(sp)               |     gp = *(var_20h);
    0x004683d0 sll a2, a1, 1                 |     a2 = a1 << 1;
    0x004683d4 addu t1, a2, a1               |     t1 = a2 + a1;
    0x004683d8 addu v1, t1, s0               |     v1 = t1 + s0;
    0x004683dc addiu t3, v1, 0x10            |     t3 = v1 + 0x10;
    0x004683e0 sll t2, t3, 2                 |     t2 = t3 << 2;
    0x004683e4 lwx t4, t2(s7)                |     __asm ("lwx t4, t2(s7)");
    0x004683e8 move t6, zero                 |     t6 = 0;
                                             |     if (t4 == 0) {
    0x004683ec beqz t4, 0x467e24             |         goto label_4;
                                             |     }
    0x004683f0 lw t6, (t4)                   |     t6 = *(t4);
    0x004683f4 b 0x467e24                    |     goto label_4;
                                             | label_41:
    0x004683f8 lw a1, -0x7fe0(gp)            |     a1 = *(gp);
    0x004683fc lw t5, (a1)                   |     t5 = *(a1);
    0x00468400 slti t7, t5, -2               |     t7 = (t5 < -2) ? 1 : 0;
    0x00468404 move s1, s7                   |     s1 = s7;
                                             |     if (t7 != 0) {
    0x00468408 bnez t7, 0x467fa4             |         goto label_0;
                                             |     }
    0x0046840c lw a2, -0x7fbc(gp)            |     a2 = *((gp - 8175));
    0x00468410 lw ra, -0x7fc4(gp)            |     ra = *(gp);
    0x00468414 lw t9, -0x7fc0(gp)            |     t9 = *(gp);
    0x00468418 lw s6, (ra)                   |     s6 = *(ra);
                                             |     /* str._home_svcj_workspace_TECH_CTA_VIDEO_SCENE_RELEASE_imported_vision_vision_vision_operation_av_logic.c */
    0x0046841c addiu a0, a2, 0xbb4           |     a0 = a2 + 0xbb4;
    0x00468420 jalr t9                       |     t9 ();
    0x00468424 lw gp, 0x20(sp)               |     gp = *(var_20h);
    0x00468428 move a1, v0                   |     a1 = v0;
    0x0046842c addiu a3, zero, 0xed          |     a3 = 0xed;
    0x00468430 lw s5, -0x7fbc(gp)            |     s5 = *((gp - 8175));
    0x00468434 lw v1, -0x7fbc(gp)            |     v1 = *((gp - 8175));
                                             |     /* str.blit_failed */
    0x00468438 addiu s0, s5, 0xc50           |     s0 = s5 + 0xc50;
    0x0046843c sw s0, 0x10(sp)               |     *(var_10h) = s0;
                                             |     /* str.av_logic_double_inplace */
    0x00468440 addiu a2, v1, 0xcac           |     a2 = v1 + 0xcac;
    0x00468444 move t9, s6                   |     t9 = s6;
    0x00468448 addiu a0, zero, -2            |     a0 = -2;
    0x0046844c jalr t9                       |     t9 ();
    0x00468450 lw gp, 0x20(sp)               |     gp = *(var_20h);
    0x00468454 lw v0, -0x7fb8(gp)            |     v0 = *(gp);
    0x00468458 lw t8, (v0)                   |     t8 = *(v0);
    0x0046845c move s1, s7                   |     s1 = s7;
                                             |     if (t8 <= 0) {
    0x00468460 blez t8, 0x467fa4             |         goto label_0;
                                             |     }
    0x00468464 lw t9, -0x7fb4(gp)            |     t9 = *(gp);
    0x00468468 jalr t9                       |     t9 ();
    0x0046846c nop                           |     
    0x00468470 lw ra, 0x84(sp)               |     ra = *(var_84h);
    0x00468474 b 0x467fa8                    |     goto label_2;
                                             | label_40:
    0x00468478 divu zero, t5, s1             |     __asm ("divu zero, t5, s1");
    0x0046847c teq s1, zero, 7               |     __asm ("teq s1, zero, 7");
    0x00468480 addiu v1, zero, 4             |     v1 = 4;
    0x00468484 mflo fp                       |     __asm ("mflo fp");
    0x00468488 divu zero, t4, fp             |     __asm ("divu zero, t4, fp");
    0x0046848c teq fp, zero, 7               |     __asm ("teq fp, zero, 7");
    0x00468490 mfhi s2                       |     __asm ("mfhi s2");
                                             |     if (s5 == v1) {
    0x00468494 beq s5, v1, 0x468ba0          |         goto label_50;
                                             |     }
    0x00468498 addiu a1, zero, 5             |     a1 = 5;
    0x0046849c addiu a2, zero, 6             |     a2 = 6;
                                             |     if (s5 == a1) {
    0x004684a0 beq s5, a1, 0x468bc0          |         goto label_51;
                                             |     }
                                             |     if (s5 == a2) {
    0x004684a4 beql s5, a2, 0x468bc8         |         goto label_52;
                                             |     }
    0x004684a8 addu s5, s3, s2               |     s5 = s3 + s2;
    0x004684ac move a0, zero                 |     a0 = 0;
                                             | label_26:
    0x004684b0 lw t9, -0x7f34(gp)            |     t9 = *(gp);
    0x004684b4 mul fp, s1, s2                |     __asm ("mul fp, s1, s2");
    0x004684b8 jalr t9                       |     t9 ();
    0x004684bc lui t8, 0x8000                |     t8 = 0x80000000;
    0x004684c0 addiu t0, t8, 7               |     t0 = t8 + 7;
    0x004684c4 and s3, fp, t0                |     s3 = fp & t0;
    0x004684c8 lw gp, 0x20(sp)               |     gp = *(var_20h);
    0x004684cc move s5, v0                   |     s5 = v0;
                                             |     if (s3 < 0) {
    0x004684d0 bgez s3, 0x4684e4             |         
    0x004684d4 addiu t1, s3, -1              |         t1 = s3 + -1;
    0x004684d8 addiu t3, zero, -8            |         t3 = -8;
    0x004684dc or t2, t1, t3                 |         t2 = t1 | t3;
    0x004684e0 addiu s3, t2, 1               |         s3 = t2 + 1;
                                             |     }
    0x004684e4 lw ra, 0x44(sp)               |     ra = *(var_44h);
    0x004684e8 lw t9, -0x7e50(gp)            |     t9 = sym.av_malloc_buf;
    0x004684ec mul a0, s5, ra                |     __asm ("mul a0, s5, ra");
    0x004684f0 bal 0x46f680                  |     sym_av_malloc_buf ();
    0x004684f4 nop                           |     
    0x004684f8 move a3, fp                   |     a3 = fp;
    0x004684fc lw gp, 0x20(sp)               |     gp = *(var_20h);
    0x00468500 move fp, v0                   |     fp = v0;
                                             |     if (a3 < 0) {
    0x00468504 bgez a3, 0x46850c             |         
    0x00468508 addiu a3, a3, 7               |         a3 += 7;
                                             |     }
    0x0046850c lw t4, 0x38(sp)               |     t4 = *(var_38h);
    0x00468510 sra a0, a3, 3                 |     a0 = a3 >> 3;
    0x00468514 subu t6, t4, s2               |     __asm ("subu t6, t4, s2");
    0x00468518 mul v1, t6, s1                |     __asm ("mul v1, t6, s1");
    0x0046851c addu s2, fp, a0               |     s2 = fp + a0;
                                             |     if (v1 < 0) {
    0x00468520 bgez v1, 0x468528             |         
    0x00468524 addiu v1, v1, 7               |         v1 += 7;
                                             |     }
    0x00468528 lw t5, 0x3c(sp)               |     t5 = *(var_3ch);
    0x0046852c sra a1, v1, 3                 |     a1 = v1 >> 3;
    0x00468530 mul t7, s6, t5                |     __asm ("mul t7, s6, t5");
    0x00468534 lw v0, 0x50(sp)               |     v0 = *(var_50h);
    0x00468538 lw t0, 0x44(sp)               |     t0 = *(var_44h);
    0x0046853c lw t9, -0x7ef8(gp)            |     t9 = sym.imp.rapp_bitblt_copy_bin;
    0x00468540 sll v1, s5, 3                 |     v1 = s5 << 3;
    0x00468544 addu a2, t7, a1               |     a2 = t7 + a1;
    0x00468548 addu a3, v0, a2               |     a3 = v0 + a2;
    0x0046854c sw a3, 0x50(sp)               |     *(var_50h) = a3;
    0x00468550 sw v1, 0x54(sp)               |     *(var_54h) = v1;
    0x00468554 sw t0, 0x1c(sp)               |     *(var_1ch) = t0;
    0x00468558 sw v1, 0x18(sp)               |     *(var_18h) = v1;
    0x0046855c sw zero, 0x14(sp)             |     *(var_14h) = 0;
    0x00468560 sw s6, 0x10(sp)               |     *(var_10h) = s6;
    0x00468564 move a2, zero                 |     a2 = 0;
    0x00468568 move a1, s5                   |     a1 = s5;
    0x0046856c move a0, fp                   |     a0 = fp;
    0x00468570 jalr t9                       |     t9 ();
    0x00468574 lw gp, 0x20(sp)               |     gp = *(var_20h);
                                             |     if (v0 < 0) {
    0x00468578 bltz v0, 0x468a14             |         goto label_53;
                                             |     }
                                             | label_21:
    0x0046857c lw v0, 0x40(sp)               |     v0 = *(var_40h);
                                             | label_20:
    0x00468580 lw v1, 0x44(sp)               |     v1 = *(var_44h);
    0x00468584 mul a3, s1, v0                |     __asm ("mul a3, s1, v0");
    0x00468588 lw t9, -0x7cc4(gp)            |     t9 = sym.imp.rapp_pad_align_bin;
    0x0046858c sw zero, 0x14(sp)             |     *(var_14h) = 0;
    0x00468590 sw v1, 0x10(sp)               |     *(var_10h) = v1;
    0x00468594 move a2, s3                   |     a2 = s3;
    0x00468598 move a1, s5                   |     a1 = s5;
    0x0046859c move a0, s2                   |     a0 = s2;
    0x004685a0 jalr t9                       |     t9 ();
    0x004685a4 lw gp, 0x20(sp)               |     gp = *(var_20h);
                                             |     if (v0 < 0) {
    0x004685a8 bltz v0, 0x468990             |         goto label_54;
                                             |     }
                                             | label_19:
    0x004685ac lw t5, 0x44(sp)               |     t5 = *(var_44h);
                                             | label_18:
    0x004685b0 lw t7, 0x54(sp)               |     t7 = *(var_54h);
    0x004685b4 lw t9, -0x7d6c(gp)            |     t9 = *((gp - 8027));
    0x004685b8 lw a0, 0x50(sp)               |     a0 = *(var_50h);
    0x004685bc sw t5, 0x1c(sp)               |     *(var_1ch) = t5;
    0x004685c0 sw t7, 0x18(sp)               |     *(var_18h) = t7;
    0x004685c4 sw zero, 0x14(sp)             |     *(var_14h) = 0;
    0x004685c8 sw s5, 0x10(sp)               |     *(var_10h) = s5;
    0x004685cc move a3, fp                   |     a3 = fp;
    0x004685d0 move a2, zero                 |     a2 = 0;
    0x004685d4 move a1, s6                   |     a1 = s6;
    0x004685d8 jalr t9                       |     t9 ();
    0x004685dc lw gp, 0x20(sp)               |     gp = *(var_20h);
                                             |     if (v0 < 0) {
    0x004685e0 bltz v0, 0x46890c             |         goto label_55;
                                             |     }
    0x004685e4 lw ra, 0x40(sp)               |     ra = *(var_40h);
                                             | label_17:
    0x004685e8 lw a1, 0x44(sp)               |     a1 = *(var_44h);
    0x004685ec mul a0, s1, ra                |     __asm ("mul a0, s1, ra");
    0x004685f0 sw s0, 0x14(sp)               |     *(var_14h) = s0;
    0x004685f4 lw s0, 0x48(sp)               |     s0 = *(var_48h);
    0x004685f8 lw t9, 0x4c(sp)               |     t9 = *(var_4ch);
    0x004685fc sw a1, 0x1c(sp)               |     *(var_1ch) = a1;
    0x00468600 sw a0, 0x18(sp)               |     *(var_18h) = a0;
    0x00468604 sw s0, 0x10(sp)               |     *(var_10h) = s0;
    0x00468608 move a3, s4                   |     a3 = s4;
    0x0046860c move a2, s3                   |     a2 = s3;
    0x00468610 move a1, s5                   |     a1 = s5;
    0x00468614 move a0, s2                   |     a0 = s2;
    0x00468618 jalr t9                       |     t9 ();
    0x0046861c lw gp, 0x20(sp)               |     gp = *(var_20h);
                                             |     if (v0 < 0) {
    0x00468620 bltz v0, 0x46888c             |         goto label_56;
                                             |     }
                                             | label_16:
    0x00468624 lw t2, 0x40(sp)               |     t2 = *(var_40h);
                                             | label_15:
    0x00468628 lw t9, -0x7cc4(gp)            |     t9 = sym.imp.rapp_pad_align_bin;
    0x0046862c mul a3, s1, t2                |     __asm ("mul a3, s1, t2");
    0x00468630 lw s1, 0x44(sp)               |     s1 = *(var_44h);
    0x00468634 sw zero, 0x14(sp)             |     *(var_14h) = 0;
    0x00468638 sw s1, 0x10(sp)               |     *(var_10h) = s1;
    0x0046863c move a2, s3                   |     a2 = s3;
    0x00468640 move a1, s5                   |     a1 = s5;
    0x00468644 move a0, s2                   |     a0 = s2;
    0x00468648 jalr t9                       |     t9 ();
    0x0046864c lw gp, 0x20(sp)               |     gp = *(var_20h);
                                             |     if (v0 < 0) {
    0x00468650 bltz v0, 0x46880c             |         goto label_57;
                                             |     }
                                             | label_14:
    0x00468654 lw ra, 0x44(sp)               |     ra = *(var_44h);
                                             | label_13:
    0x00468658 lw v0, 0x54(sp)               |     v0 = *(var_54h);
    0x0046865c lw t9, -0x7cfc(gp)            |     t9 = *((gp - 7999));
    0x00468660 lw a0, 0x50(sp)               |     a0 = *(var_50h);
    0x00468664 sw ra, 0x1c(sp)               |     *(var_1ch) = ra;
    0x00468668 sw v0, 0x18(sp)               |     *(var_18h) = v0;
    0x0046866c sw zero, 0x14(sp)             |     *(var_14h) = 0;
    0x00468670 sw s5, 0x10(sp)               |     *(var_10h) = s5;
    0x00468674 move a3, fp                   |     a3 = fp;
    0x00468678 move a2, zero                 |     a2 = 0;
    0x0046867c move a1, s6                   |     a1 = s6;
    0x00468680 jalr t9                       |     t9 ();
    0x00468684 lw gp, 0x20(sp)               |     gp = *(var_20h);
                                             |     if (v0 < 0) {
    0x00468688 bltz v0, 0x46878c             |         goto label_58;
                                             |     }
                                             | label_12:
    0x0046868c lw t9, -0x7e54(gp)            |     t9 = sym.av_free_buf;
                                             | label_11:
    0x00468690 move a0, fp                   |     a0 = fp;
    0x00468694 bal 0x46f6c4                  |     sym_av_free_buf ();
    0x00468698 move s1, s7                   |     s1 = s7;
    0x0046869c b 0x467fa4                    |     goto label_0;
                                             | label_39:
    0x004686a0 mul t7, s3, s1                |     __asm ("mul t7, s3, s1");
    0x004686a4 b 0x467f30                    |     goto label_5;
                                             | label_34:
    0x004686a8 move t0, zero                 |     t0 = 0;
    0x004686ac addiu s5, zero, 3             |     s5 = 3;
    0x004686b0 b 0x467db8                    |     goto label_6;
                                             | label_35:
    0x004686b4 move s6, zero                 |     s6 = 0;
    0x004686b8 sw zero, 0x50(sp)             |     *(var_50h) = 0;
    0x004686bc b 0x467e44                    |     goto label_7;
                                             | label_37:
    0x004686c0 sw zero, 0x48(sp)             |     *(var_48h) = 0;
    0x004686c4 move s2, zero                 |     s2 = 0;
    0x004686c8 b 0x467ea0                    |     goto label_8;
                                             | label_45:
    0x004686cc lbu ra, 0x18(s2)              |     ra = *((s2 + 24));
    0x004686d0 sll v0, ra, 1                 |     v0 = ra << 1;
    0x004686d4 addu t0, v0, ra               |     t0 = v0 + ra;
    0x004686d8 addu v1, t0, s0               |     v1 = t0 + s0;
    0x004686dc addiu a2, v1, 0x10            |     a2 = v1 + 0x10;
    0x004686e0 sll t1, a2, 2                 |     t1 = a2 << 2;
    0x004686e4 lwx t2, t1(s2)                |     __asm ("lwx t2, t1(s2)");
    0x004686e8 lw s7, -0x7f44(gp)            |     s7 = *(gp);
                                             |     if (t2 == 0) {
    0x004686ec beqz t2, 0x468bd0             |         goto label_59;
                                             |     }
    0x004686f0 move fp, zero                 |     fp = 0;
    0x004686f4 sll s6, s0, 2                 |     s6 = s0 << 2;
    0x004686f8 b 0x468230                    |     goto label_9;
                                             | label_38:
    0x004686fc lw t9, -0x7fe8(gp)            |     t9 = *(gp);
    0x00468700 addiu a0, t3, 0x10            |     a0 = t3 + 0x10;
    0x00468704 sw v1, 0x54(sp)               |     *(var_54h) = v1;
    0x00468708 jalr t9                       |     t9 ();
    0x0046870c lbu v1, 0x18(s2)              |     v1 = *((s2 + 24));
    0x00468710 lw gp, 0x20(sp)               |     gp = *(var_20h);
    0x00468714 sll t6, v1, 1                 |     t6 = v1 << 1;
    0x00468718 addu t5, t6, v1               |     t5 = t6 + v1;
    0x0046871c addu a0, t5, s0               |     a0 = t5 + s0;
    0x00468720 addiu s4, a0, 0x10            |     s4 = a0 + 0x10;
    0x00468724 sll a3, s4, 2                 |     a3 = s4 << 2;
    0x00468728 lw t9, -0x7fdc(gp)            |     t9 = *(gp);
    0x0046872c lwx t7, a3(s2)                |     __asm ("lwx t7, a3(s2)");
    0x00468730 addiu a0, t7, 0x10            |     a0 = t7 + 0x10;
    0x00468734 lw s4, 0xc(t7)                |     s4 = *((t7 + 3));
    0x00468738 jalr t9                       |     t9 ();
    0x0046873c lbu t8, 0x18(s2)              |     t8 = *((s2 + 24));
    0x00468740 lw gp, 0x20(sp)               |     gp = *(var_20h);
    0x00468744 sll t0, t8, 1                 |     t0 = t8 << 1;
    0x00468748 addu a1, t0, t8               |     a1 = t0 + t8;
    0x0046874c addu a2, a1, s0               |     a2 = a1 + s0;
    0x00468750 addiu t1, a2, 0x10            |     t1 = a2 + 0x10;
    0x00468754 sll t3, t1, 2                 |     t3 = t1 << 2;
    0x00468758 move v0, zero                 |     v0 = 0;
    0x0046875c lwx t2, t3(s2)                |     __asm ("lwx t2, t3(s2)");
    0x00468760 lw v1, 0x54(sp)               |     v1 = *(var_54h);
                                             |     if (t2 == 0) {
    0x00468764 beqz t2, 0x467e84             |         goto label_10;
                                             |     }
    0x00468768 lw v0, (t2)                   |     v0 = *(t2);
    0x0046876c b 0x467e84                    |     goto label_10;
                                             | label_43:
    0x00468770 lw t9, -0x7ec4(gp)            |     t9 = sym.av_image_copy;
    0x00468774 move a2, s3                   |     a2 = s3;
    0x00468778 move a1, s6                   |     a1 = s6;
    0x0046877c move a0, s2                   |     a0 = s2;
    0x00468780 bal 0x45b684                  |     sym_av_image_copy ();
    0x00468784 move s1, v0                   |     s1 = v0;
    0x00468788 b 0x467fa4                    |     goto label_0;
                                             | label_58:
    0x0046878c lw s6, -0x7fe0(gp)            |     s6 = *(gp);
    0x00468790 lw s5, (s6)                   |     s5 = *(s6);
    0x00468794 slti s0, s5, -2               |     s0 = (s5 < -2) ? 1 : 0;
    0x00468798 lw t9, -0x7e54(gp)            |     t9 = sym.av_free_buf;
                                             |     if (s0 != 0) {
    0x0046879c bnez s0, 0x468690             |         goto label_11;
                                             |     }
    0x004687a0 lw v1, -0x7fbc(gp)            |     v1 = *((gp - 8175));
    0x004687a4 lw t8, -0x7fc4(gp)            |     t8 = *(gp);
    0x004687a8 lw t9, -0x7fc0(gp)            |     t9 = *(gp);
                                             |     /* str._home_svcj_workspace_TECH_CTA_VIDEO_SCENE_RELEASE_imported_vision_vision_vision_operation_av_logic.c */
    0x004687ac addiu a0, v1, 0xbb4           |     a0 = v1 + 0xbb4;
    0x004687b0 lw s1, (t8)                   |     s1 = *(t8);
    0x004687b4 jalr t9                       |     t9 ();
    0x004687b8 lw gp, 0x20(sp)               |     gp = *(var_20h);
    0x004687bc addiu a3, zero, 0x12b         |     a3 = 0x12b;
    0x004687c0 move a1, v0                   |     a1 = v0;
    0x004687c4 lw t0, -0x7fbc(gp)            |     t0 = *((gp - 8175));
    0x004687c8 lw t3, -0x7fbc(gp)            |     t3 = *((gp - 8175));
                                             |     /* str.rapp_bitblt_or_bin_failed */
    0x004687cc addiu t1, t0, 0xc78           |     t1 = t0 + 0xc78;
    0x004687d0 sw t1, 0x10(sp)               |     *(var_10h) = t1;
                                             |     /* str.av_logic_double_inplace */
    0x004687d4 addiu a2, t3, 0xcac           |     a2 = t3 + 0xcac;
    0x004687d8 move t9, s1                   |     t9 = s1;
    0x004687dc addiu a0, zero, -2            |     a0 = -2;
    0x004687e0 jalr t9                       |     t9 ();
    0x004687e4 lw gp, 0x20(sp)               |     gp = *(var_20h);
    0x004687e8 lw t2, -0x7fb8(gp)            |     t2 = *(gp);
    0x004687ec lw s3, (t2)                   |     s3 = *(t2);
    0x004687f0 lw t9, -0x7e54(gp)            |     t9 = sym.av_free_buf;
                                             |     if (s3 <= 0) {
    0x004687f4 blez s3, 0x468690             |         goto label_11;
                                             |     }
    0x004687f8 lw t9, -0x7fb4(gp)            |     t9 = *(gp);
    0x004687fc jalr t9                       |     t9 ();
    0x00468800 nop                           |     
    0x00468804 lw gp, 0x20(sp)               |     gp = *(var_20h);
    0x00468808 b 0x46868c                    |     goto label_12;
                                             | label_57:
    0x0046880c lw s3, -0x7fe0(gp)            |     s3 = *(gp);
    0x00468810 lw s2, (s3)                   |     s2 = *(s3);
    0x00468814 slti t4, s2, -2               |     t4 = (s2 < -2) ? 1 : 0;
    0x00468818 lw ra, 0x44(sp)               |     ra = *(var_44h);
                                             |     if (t4 != 0) {
    0x0046881c bnez t4, 0x468658             |         goto label_13;
                                             |     }
    0x00468820 lw a3, -0x7fbc(gp)            |     a3 = *((gp - 8175));
    0x00468824 lw t6, -0x7fc4(gp)            |     t6 = *(gp);
    0x00468828 lw t9, -0x7fc0(gp)            |     t9 = *(gp);
                                             |     /* str._home_svcj_workspace_TECH_CTA_VIDEO_SCENE_RELEASE_imported_vision_vision_vision_operation_av_logic.c */
    0x0046882c addiu a0, a3, 0xbb4           |     a0 = a3 + 0xbb4;
    0x00468830 lw s4, (t6)                   |     s4 = *(t6);
    0x00468834 jalr t9                       |     t9 ();
    0x00468838 lw gp, 0x20(sp)               |     gp = *(var_20h);
    0x0046883c addiu a3, zero, 0x122         |     a3 = 0x122;
    0x00468840 move t9, s4                   |     t9 = s4;
    0x00468844 lw a0, -0x7fbc(gp)            |     a0 = *((gp - 8175));
    0x00468848 lw t5, -0x7fbc(gp)            |     t5 = *((gp - 8175));
                                             |     /* str.rapp_pad_align_bin_failed */
    0x0046884c addiu a1, a0, -0x308          |     a1 = a0 + -0x308;
    0x00468850 sw a1, 0x10(sp)               |     *(var_10h) = a1;
                                             |     /* str.av_logic_double_inplace */
    0x00468854 addiu a2, t5, 0xcac           |     a2 = t5 + 0xcac;
    0x00468858 move a1, v0                   |     a1 = v0;
    0x0046885c addiu a0, zero, -2            |     a0 = -2;
    0x00468860 jalr t9                       |     t9 ();
    0x00468864 lw gp, 0x20(sp)               |     gp = *(var_20h);
    0x00468868 lw t7, -0x7fb8(gp)            |     t7 = *(gp);
    0x0046886c lw a2, (t7)                   |     a2 = *(t7);
    0x00468870 lw ra, 0x44(sp)               |     ra = *(var_44h);
                                             |     if (a2 <= 0) {
    0x00468874 blez a2, 0x468658             |         goto label_13;
                                             |     }
    0x00468878 lw t9, -0x7fb4(gp)            |     t9 = *(gp);
    0x0046887c jalr t9                       |     t9 ();
    0x00468880 nop                           |     
    0x00468884 lw gp, 0x20(sp)               |     gp = *(var_20h);
    0x00468888 b 0x468654                    |     goto label_14;
                                             | label_56:
    0x0046888c lw s4, -0x7fe0(gp)            |     s4 = *(gp);
    0x00468890 lw t5, (s4)                   |     t5 = *(s4);
    0x00468894 slti t7, t5, -2               |     t7 = (t5 < -2) ? 1 : 0;
    0x00468898 lw t2, 0x40(sp)               |     t2 = *(var_40h);
                                             |     if (t7 != 0) {
    0x0046889c bnez t7, 0x468628             |         goto label_15;
                                             |     }
    0x004688a0 lw a2, -0x7fbc(gp)            |     a2 = *((gp - 8175));
    0x004688a4 lw v0, -0x7fc4(gp)            |     v0 = *(gp);
    0x004688a8 lw t9, -0x7fc0(gp)            |     t9 = *(gp);
                                             |     /* str._home_svcj_workspace_TECH_CTA_VIDEO_SCENE_RELEASE_imported_vision_vision_vision_operation_av_logic.c */
    0x004688ac addiu a0, a2, 0xbb4           |     a0 = a2 + 0xbb4;
    0x004688b0 lw s0, (v0)                   |     s0 = *(v0);
    0x004688b4 jalr t9                       |     t9 ();
    0x004688b8 lw gp, 0x20(sp)               |     gp = *(var_20h);
    0x004688bc addiu a3, zero, 0x11a         |     a3 = 0x11a;
    0x004688c0 move a1, v0                   |     a1 = v0;
    0x004688c4 lw v1, -0x7fbc(gp)            |     v1 = *((gp - 8175));
    0x004688c8 lw t0, -0x7fbc(gp)            |     t0 = *((gp - 8175));
                                             |     /* str.blit_failed */
    0x004688cc addiu t8, v1, 0xc50           |     t8 = v1 + 0xc50;
    0x004688d0 sw t8, 0x10(sp)               |     *(var_10h) = t8;
                                             |     /* str.av_logic_double_inplace */
    0x004688d4 addiu a2, t0, 0xcac           |     a2 = t0 + 0xcac;
    0x004688d8 move t9, s0                   |     t9 = s0;
    0x004688dc addiu a0, zero, -2            |     a0 = -2;
    0x004688e0 jalr t9                       |     t9 ();
    0x004688e4 lw gp, 0x20(sp)               |     gp = *(var_20h);
    0x004688e8 lw t1, -0x7fb8(gp)            |     t1 = *(gp);
    0x004688ec lw t3, (t1)                   |     t3 = *(t1);
    0x004688f0 lw t2, 0x40(sp)               |     t2 = *(var_40h);
                                             |     if (t3 <= 0) {
    0x004688f4 blez t3, 0x468628             |         goto label_15;
                                             |     }
    0x004688f8 lw t9, -0x7fb4(gp)            |     t9 = *(gp);
    0x004688fc jalr t9                       |     t9 ();
    0x00468900 nop                           |     
    0x00468904 lw gp, 0x20(sp)               |     gp = *(var_20h);
    0x00468908 b 0x468624                    |     goto label_16;
                                             | label_55:
    0x0046890c lw a2, -0x7fe0(gp)            |     a2 = *(gp);
    0x00468910 lw v0, (a2)                   |     v0 = *(a2);
    0x00468914 slti v1, v0, -2               |     v1 = (v0 < -2) ? 1 : 0;
    0x00468918 lw ra, 0x40(sp)               |     ra = *(var_40h);
                                             |     if (v1 != 0) {
    0x0046891c bnez v1, 0x4685e8             |         goto label_17;
                                             |     }
    0x00468920 lw t0, -0x7fc4(gp)            |     t0 = *(gp);
    0x00468924 lw t8, -0x7fbc(gp)            |     t8 = *((gp - 8175));
    0x00468928 lw t9, -0x7fc0(gp)            |     t9 = *(gp);
    0x0046892c lw t1, (t0)                   |     t1 = *(t0);
                                             |     /* str._home_svcj_workspace_TECH_CTA_VIDEO_SCENE_RELEASE_imported_vision_vision_vision_operation_av_logic.c */
    0x00468930 addiu a0, t8, 0xbb4           |     a0 = t8 + 0xbb4;
    0x00468934 sw t1, 0x58(sp)               |     *(var_58h) = t1;
    0x00468938 jalr t9                       |     t9 ();
    0x0046893c lw gp, 0x20(sp)               |     gp = *(var_20h);
    0x00468940 lw t9, 0x58(sp)               |     t9 = *(var_58h);
    0x00468944 addiu a3, zero, 0x111         |     a3 = 0x111;
    0x00468948 lw t3, -0x7fbc(gp)            |     t3 = *((gp - 8175));
    0x0046894c lw t4, -0x7fbc(gp)            |     t4 = *((gp - 8175));
                                             |     /* str.rapp_bitblt_andn_bin_failed */
    0x00468950 addiu t2, t3, 0xc5c           |     t2 = t3 + 0xc5c;
    0x00468954 sw t2, 0x10(sp)               |     *(var_10h) = t2;
                                             |     /* str.av_logic_double_inplace */
    0x00468958 addiu a2, t4, 0xcac           |     a2 = t4 + 0xcac;
    0x0046895c move a1, v0                   |     a1 = v0;
    0x00468960 addiu a0, zero, -2            |     a0 = -2;
    0x00468964 jalr t9                       |     t9 ();
    0x00468968 lw gp, 0x20(sp)               |     gp = *(var_20h);
    0x0046896c lw a3, -0x7fb8(gp)            |     a3 = *(gp);
    0x00468970 lw t6, (a3)                   |     t6 = *(a3);
                                             |     if (t6 <= 0) {
    0x00468974 blezl t6, 0x4685e8            |         goto label_17;
                                             |     }
    0x00468978 lw ra, 0x40(sp)               |     ra = *(var_40h);
    0x0046897c lw t9, -0x7fb4(gp)            |     t9 = *(gp);
    0x00468980 jalr t9                       |     t9 ();
    0x00468984 nop                           |     
    0x00468988 lw ra, 0x40(sp)               |     ra = *(var_40h);
    0x0046898c b 0x4685e8                    |     goto label_17;
                                             | label_54:
    0x00468990 lw t8, -0x7fe0(gp)            |     t8 = *(gp);
    0x00468994 lw t0, (t8)                   |     t0 = *(t8);
    0x00468998 slti t1, t0, -2               |     t1 = (t0 < -2) ? 1 : 0;
    0x0046899c lw t5, 0x44(sp)               |     t5 = *(var_44h);
                                             |     if (t1 != 0) {
    0x004689a0 bnez t1, 0x4685b0             |         goto label_18;
                                             |     }
    0x004689a4 lw t2, -0x7fc4(gp)            |     t2 = *(gp);
    0x004689a8 lw t3, -0x7fbc(gp)            |     t3 = *((gp - 8175));
    0x004689ac lw t9, -0x7fc0(gp)            |     t9 = *(gp);
    0x004689b0 lw ra, (t2)                   |     ra = *(t2);
    0x004689b4 sw ra, 0x58(sp)               |     *(var_58h) = ra;
                                             |     /* str._home_svcj_workspace_TECH_CTA_VIDEO_SCENE_RELEASE_imported_vision_vision_vision_operation_av_logic.c */
    0x004689b8 addiu a0, t3, 0xbb4           |     a0 = t3 + 0xbb4;
    0x004689bc jalr t9                       |     t9 ();
    0x004689c0 lw gp, 0x20(sp)               |     gp = *(var_20h);
    0x004689c4 lw t9, 0x58(sp)               |     t9 = *(var_58h);
    0x004689c8 move a1, v0                   |     a1 = v0;
    0x004689cc lw a3, -0x7fbc(gp)            |     a3 = *((gp - 8175));
    0x004689d0 lw t6, -0x7fbc(gp)            |     t6 = *((gp - 8175));
                                             |     /* str.rapp_pad_align_bin_failed */
    0x004689d4 addiu t4, a3, -0x308          |     t4 = a3 + -0x308;
    0x004689d8 addiu a0, zero, -2            |     a0 = -2;
    0x004689dc sw t4, 0x10(sp)               |     *(var_10h) = t4;
    0x004689e0 addiu a3, zero, 0x108         |     a3 = 0x108;
                                             |     /* str.av_logic_double_inplace */
    0x004689e4 addiu a2, t6, 0xcac           |     a2 = t6 + 0xcac;
    0x004689e8 jalr t9                       |     t9 ();
    0x004689ec lw gp, 0x20(sp)               |     gp = *(var_20h);
    0x004689f0 lw a0, -0x7fb8(gp)            |     a0 = *(gp);
    0x004689f4 lw a1, (a0)                   |     a1 = *(a0);
    0x004689f8 lw t5, 0x44(sp)               |     t5 = *(var_44h);
                                             |     if (a1 <= 0) {
    0x004689fc blez a1, 0x4685b0             |         goto label_18;
                                             |     }
    0x00468a00 lw t9, -0x7fb4(gp)            |     t9 = *(gp);
    0x00468a04 jalr t9                       |     t9 ();
    0x00468a08 nop                           |     
    0x00468a0c lw gp, 0x20(sp)               |     gp = *(var_20h);
    0x00468a10 b 0x4685ac                    |     goto label_19;
                                             | label_53:
    0x00468a14 lw t3, -0x7fe0(gp)            |     t3 = *(gp);
    0x00468a18 lw t2, (t3)                   |     t2 = *(t3);
    0x00468a1c slti ra, t2, -2               |     ra = (t2 < -2) ? 1 : 0;
    0x00468a20 lw v0, 0x40(sp)               |     v0 = *(var_40h);
                                             |     if (ra != 0) {
    0x00468a24 bnez ra, 0x468580             |         goto label_20;
                                             |     }
    0x00468a28 lw t4, -0x7fc4(gp)            |     t4 = *(gp);
    0x00468a2c lw a3, -0x7fbc(gp)            |     a3 = *((gp - 8175));
    0x00468a30 lw t9, -0x7fc0(gp)            |     t9 = *(gp);
    0x00468a34 lw t6, (t4)                   |     t6 = *(t4);
                                             |     /* str._home_svcj_workspace_TECH_CTA_VIDEO_SCENE_RELEASE_imported_vision_vision_vision_operation_av_logic.c */
    0x00468a38 addiu a0, a3, 0xbb4           |     a0 = a3 + 0xbb4;
    0x00468a3c sw t6, 0x58(sp)               |     *(var_58h) = t6;
    0x00468a40 jalr t9                       |     t9 ();
    0x00468a44 lw gp, 0x20(sp)               |     gp = *(var_20h);
    0x00468a48 lw t9, 0x58(sp)               |     t9 = *(var_58h);
    0x00468a4c addiu a3, zero, 0x100         |     a3 = 0x100;
    0x00468a50 lw a0, -0x7fbc(gp)            |     a0 = *((gp - 8175));
    0x00468a54 lw t5, -0x7fbc(gp)            |     t5 = *((gp - 8175));
                                             |     /* str.rapp_bitblt_copy_bin_failed */
    0x00468a58 addiu a1, a0, -0x324          |     a1 = a0 + -0x324;
    0x00468a5c sw a1, 0x10(sp)               |     *(var_10h) = a1;
                                             |     /* str.av_logic_double_inplace */
    0x00468a60 addiu a2, t5, 0xcac           |     a2 = t5 + 0xcac;
    0x00468a64 move a1, v0                   |     a1 = v0;
    0x00468a68 addiu a0, zero, -2            |     a0 = -2;
    0x00468a6c jalr t9                       |     t9 ();
    0x00468a70 lw gp, 0x20(sp)               |     gp = *(var_20h);
    0x00468a74 lw t7, -0x7fb8(gp)            |     t7 = *(gp);
    0x00468a78 lw a2, (t7)                   |     a2 = *(t7);
    0x00468a7c lw v0, 0x40(sp)               |     v0 = *(var_40h);
                                             |     if (a2 <= 0) {
    0x00468a80 blez a2, 0x468580             |         goto label_20;
                                             |     }
    0x00468a84 lw t9, -0x7fb4(gp)            |     t9 = *(gp);
    0x00468a88 jalr t9                       |     t9 ();
    0x00468a8c nop                           |     
    0x00468a90 lw gp, 0x20(sp)               |     gp = *(var_20h);
    0x00468a94 b 0x46857c                    |     goto label_21;
                                             | label_46:
    0x00468a98 addiu a0, t1, 0x10            |     a0 = t1 + 0x10;
    0x00468a9c jalr t9                       |     t9 ();
    0x00468aa0 lbu a0, 0x18(s1)              |     a0 = *((s1 + 24));
    0x00468aa4 lw gp, 0x20(sp)               |     gp = *(var_20h);
    0x00468aa8 sll a1, a0, 1                 |     a1 = a0 << 1;
    0x00468aac addu t4, a1, a0               |     t4 = a1 + a0;
    0x00468ab0 addu t5, t4, s0               |     t5 = t4 + s0;
    0x00468ab4 addiu t6, t5, 0x10            |     t6 = t5 + 0x10;
    0x00468ab8 sll t7, t6, 2                 |     t7 = t6 << 2;
    0x00468abc lw t9, -0x7fdc(gp)            |     t9 = *(gp);
    0x00468ac0 lwx s5, t7(s1)                |     __asm ("lwx s5, t7(s1)");
    0x00468ac4 addiu a0, s5, 0x10            |     a0 = s5 + 0x10;
    0x00468ac8 lw fp, 0xc(s5)                |     fp = *((s5 + 3));
    0x00468acc jalr t9                       |     t9 ();
    0x00468ad0 lbu a0, 0x18(s1)              |     a0 = *((s1 + 24));
    0x00468ad4 lw gp, 0x20(sp)               |     gp = *(var_20h);
    0x00468ad8 sll t8, a0, 1                 |     t8 = a0 << 1;
    0x00468adc addu a3, t8, a0               |     a3 = t8 + a0;
    0x00468ae0 addu v0, a3, s0               |     v0 = a3 + s0;
    0x00468ae4 addiu t0, v0, 0x10            |     t0 = v0 + 0x10;
    0x00468ae8 sll a2, t0, 2                 |     a2 = t0 << 2;
    0x00468aec lwx t1, a2(s1)                |     __asm ("lwx t1, a2(s1)");
    0x00468af0 move v1, zero                 |     v1 = 0;
                                             |     if (t1 == 0) {
    0x00468af4 beqz t1, 0x4681f4             |         goto label_22;
                                             |     }
    0x00468af8 lw v1, (t1)                   |     v1 = *(t1);
    0x00468afc b 0x4681f4                    |     goto label_22;
                                             | label_48:
    0x00468b00 addiu a0, t2, 0x10            |     a0 = t2 + 0x10;
    0x00468b04 jalr t9                       |     t9 ();
    0x00468b08 lbu t0, 0x18(s2)              |     t0 = *((s2 + 24));
    0x00468b0c lw gp, 0x20(sp)               |     gp = *(var_20h);
    0x00468b10 sll a2, t0, 1                 |     a2 = t0 << 1;
    0x00468b14 addu t1, a2, t0               |     t1 = a2 + t0;
    0x00468b18 addu v1, t1, s0               |     v1 = t1 + s0;
    0x00468b1c addiu t2, v1, 0x10            |     t2 = v1 + 0x10;
    0x00468b20 sll t3, t2, 2                 |     t3 = t2 << 2;
    0x00468b24 lw t9, -0x7fdc(gp)            |     t9 = *(gp);
    0x00468b28 lwx a1, t3(s2)                |     __asm ("lwx a1, t3(s2)");
    0x00468b2c addiu a0, a1, 0x10            |     a0 = a1 + 0x10;
    0x00468b30 lw s5, 0xc(a1)                |     s5 = *((a1 + 3));
    0x00468b34 jalr t9                       |     t9 ();
    0x00468b38 lbu t4, 0x18(s2)              |     t4 = *((s2 + 24));
    0x00468b3c lbu a0, 0x18(s1)              |     a0 = *((s1 + 24));
    0x00468b40 sll t5, t4, 1                 |     t5 = t4 << 1;
    0x00468b44 addu t6, t5, t4               |     t6 = t5 + t4;
    0x00468b48 addu t7, t6, s0               |     t7 = t6 + s0;
    0x00468b4c addiu t8, t7, 0x10            |     t8 = t7 + 0x10;
    0x00468b50 sll s7, t8, 2                 |     s7 = t8 << 2;
    0x00468b54 lwx t2, s7(s2)                |     __asm ("lwx t2, s7(s2)");
    0x00468b58 move a3, zero                 |     a3 = 0;
                                             |     if (t2 == 0) {
    0x00468b5c beqz t2, 0x468244             |         goto label_23;
                                             |     }
    0x00468b60 lw a3, (t2)                   |     a3 = *(t2);
    0x00468b64 b 0x468244                    |     goto label_23;
                                             | label_49:
    0x00468b68 move a1, zero                 |     a1 = 0;
    0x00468b6c b 0x46827c                    |     goto label_24;
                                             | label_47:
    0x00468b70 sll s2, a0, 1                 |     s2 = a0 << 1;
    0x00468b74 addu s7, s2, a0               |     s7 = s2 + a0;
    0x00468b78 addu s0, s7, s0               |     s0 = s7 + s0;
    0x00468b7c addiu s6, s0, 0x10            |     s6 = s0 + 0x10;
    0x00468b80 sll a0, s6, 2                 |     a0 = s6 << 2;
    0x00468b84 lwx a3, a0(s1)                |     __asm ("lwx a3, a0(s1)");
                                             |     if (a3 != 0) {
    0x00468b88 beql a3, zero, 0x468be4       |         
    0x00468b8c move a1, zero                 |         a1 = 0;
    0x00468b90 lw a1, (a3)                   |         a1 = *(a3);
    0x00468b94 move s0, zero                 |         s0 = 0;
    0x00468b98 move s2, zero                 |         s2 = 0;
    0x00468b9c b 0x468288                    |         goto label_25;
                                             | label_50:
    0x00468ba0 addu s3, s3, s2               |         s3 += s2;
    0x00468ba4 addiu v0, s3, 7               |         v0 = s3 + 7;
                                             |         if (v0 >= 0) {
    0x00468ba8 bltzl v0, 0x468bb8            |             
    0x00468bac addiu v0, s3, 0xe             |             v0 = s3 + 0xe;
    0x00468bb0 sra a0, v0, 3                 |             a0 = v0 >> 3;
    0x00468bb4 b 0x4684b0                    |             goto label_26;
                                             |         }
    0x00468bb8 sra a0, v0, 3                 |         a0 = v0 >> 3;
    0x00468bbc b 0x4684b0                    |         goto label_26;
                                             | label_51:
    0x00468bc0 addu a0, s3, s2               |         a0 = s3 + s2;
    0x00468bc4 b 0x4684b0                    |         goto label_26;
                                             | label_52:
    0x00468bc8 sll a0, s5, 1                 |         a0 = s5 << 1;
    0x00468bcc b 0x4684b0                    |         goto label_26;
                                             | label_59:
    0x00468bd0 move fp, zero                 |         fp = 0;
    0x00468bd4 move a1, zero                 |         a1 = 0;
    0x00468bd8 move s0, zero                 |         s0 = 0;
    0x00468bdc move s2, zero                 |         s2 = 0;
    0x00468be0 b 0x468288                    |         goto label_25;
                                             |     }
    0x00468be4 move s0, zero                 |     s0 = 0;
    0x00468be8 move s2, zero                 |     s2 = 0;
    0x00468bec b 0x468288                    |     goto label_25;
                                             | }

[*] Function sprintf used 1 times video-scene-provider