[*] Binary protection state of libcairo.so.2.11600.0

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


[*] Function mmap tear down of libcairo.so.2.11600.0

    ; assembly                           | /* r2dec pseudo code output */
                                         | /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/lib/libcairo.so.2.11600.0 @ 0x8684 */
                                         | #include <stdint.h>
                                         |  
    ; (fcn) entry.fini0 ()               | void entry_fini0 () {
    0x00008684 lui gp, 0x10              |     
    0x00008688 addiu gp, gp, -0x6454     |     
    0x0000868c addu gp, gp, t9           |     gp += t9;
    0x00008690 addiu sp, sp, -0x20       |     
    0x00008694 sw s0, 0x18(sp)           |     *(var_18h) = s0;
    0x00008698 lw s0, -0x7fe4(gp)        |     s0 = *((gp - 8185));
    0x0000869c sw gp, 0x10(sp)           |     *(var_10h) = gp;
    0x000086a0 sw ra, 0x1c(sp)           |     *(var_1ch) = ra;
    0x000086a4 lbu v0, -0x4e50(s0)       |     v0 = *((s0 - 20048));
    0x000086a8 lw v0, -0x7224(gp)        |     v0 = *((gp - 7305));
                                         |     if (v0 == 0) {
    0x000086ac bnez v0, 0x86e0           |         
    0x000086b0 lw v0, -0x7fe0(gp)        |         v0 = *((gp - 8184));
                                         |         if (v0 != 0) {
    0x000086b4 beqz v0, 0x86c8           |             
    0x000086b8 lw t9, -0x7224(gp)        |             t9 = *((gp - 7305));
    0x000086bc lw a0, (v0)               |             a0 = *(v0);
    0x000086c0 jalr t9                   |             t9 ();
    0x000086c4 lw gp, 0x10(sp)           |             gp = *(var_10h);
                                         |         }
    0x000086c8 lw t9, -0x7fdc(gp)        |         t9 = *((gp - 8183));
    0x000086cc addiu t9, t9, -0x7a00     |         t9 += -0x7a00;
    0x000086d0 bal 0x8600                |         entry0 ();
    0x000086d4 nop                       |         
    0x000086d8 addiu v0, zero, 1         |         v0 = 1;
    0x000086dc sb v0, -0x4e50(s0)        |         *((s0 - 20048)) = v0;
                                         |     }
    0x000086e0 lw ra, 0x1c(sp)           |     ra = *(var_1ch);
    0x000086e4 lw s0, 0x18(sp)           |     s0 = *(var_18h);
    0x000086e8 addiu sp, sp, 0x20        |     
    0x000086ec jr ra                     |     return v0;
                                         | }
    ; assembly                               | /* r2dec pseudo code output */
                                             | /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/lib/libcairo.so.2.11600.0 @ 0x40d08 */
                                             | #include <stdint.h>
                                             |  
    ; (fcn) fcn.00040d08 ()                  | void fcn_00040d08 () {
    0x00040d08 lui gp, 0xc                   |     
    0x00040d0c addiu gp, gp, 0x1528          |     
    0x00040d10 addu gp, gp, t9               |     gp += t9;
    0x00040d14 addiu sp, sp, -0x78           |     
    0x00040d18 move v1, a1                   |     v1 = a1;
    0x00040d1c sw s4, 0x64(sp)               |     *(var_64h) = s4;
    0x00040d20 lw s4, -0x7288(gp)            |     s4 = *((gp - 7330));
    0x00040d24 sw s0, 0x54(sp)               |     *(var_54h) = s0;
    0x00040d28 lw s0, 0x8c(sp)               |     s0 = *(arg_8ch);
    0x00040d2c sw gp, 0x28(sp)               |     *(var_28h) = gp;
    0x00040d30 sw s6, 0x6c(sp)               |     *(var_6ch) = s6;
    0x00040d34 sw s5, 0x68(sp)               |     *(var_68h) = s5;
    0x00040d38 sw s3, 0x60(sp)               |     *(var_60h) = s3;
    0x00040d3c sw s2, 0x5c(sp)               |     *(var_5ch) = s2;
    0x00040d40 sw s1, 0x58(sp)               |     *(var_58h) = s1;
    0x00040d44 sw ra, 0x74(sp)               |     *(var_74h) = ra;
    0x00040d48 sw s7, 0x70(sp)               |     *(var_70h) = s7;
    0x00040d4c lw v0, (s4)                   |     v0 = *(s4);
    0x00040d50 lw t9, -0x7dfc(gp)            |     t9 = *((gp - 8063));
    0x00040d54 move s5, a2                   |     s5 = a2;
    0x00040d58 move s6, a3                   |     s6 = a3;
    0x00040d5c lw a2, 0x40(s0)               |     a2 = *((s0 + 16));
    0x00040d60 lw a3, 0x44(s0)               |     a3 = *((s0 + 17));
    0x00040d64 move s3, a0                   |     s3 = a0;
    0x00040d68 sw zero, 0x10(sp)             |     *(var_10h) = 0;
    0x00040d6c addiu a1, zero, 0x2000        |     a1 = aav.0x00002000;
    0x00040d70 move a0, v1                   |     a0 = v1;
    0x00040d74 sw v0, 0x4c(sp)               |     *(var_4ch) = v0;
    0x00040d78 lw s2, 0x88(sp)               |     s2 = *(arg_88h);
    0x00040d7c jalr t9                       |     t9 ();
    0x00040d80 move s1, v0                   |     s1 = v0;
    0x00040d84 lw v0, 0x14(v0)               |     v0 = *((v0 + 5));
    0x00040d88 lw gp, 0x28(sp)               |     gp = *(var_28h);
                                             |     if (v0 != 0) {
    0x00040d8c bnez v0, 0x40e20              |         goto label_0;
                                             |     }
    0x00040d90 lw t9, 0x18(s3)               |     t9 = *((s3 + 6));
    0x00040d94 move a0, s1                   |     a0 = s1;
    0x00040d98 jalr t9                       |     t9 ();
    0x00040d9c lw gp, 0x28(sp)               |     gp = *(var_28h);
                                             |     if (v0 != 0) {
    0x00040da0 bnez v0, 0x40fe4              |         goto label_4;
                                             |     }
    0x00040da4 lbu v0, 0x24(s1)              |     v0 = *((s1 + 36));
    0x00040da8 andi v0, v0, 4                |     v0 &= 4;
                                             |     if (v0 == 0) {
    0x00040dac beql v0, zero, 0x40e5c        |         goto label_5;
                                             |     }
    0x00040db0 lw v1, 0x40(s0)               |     v1 = *((s0 + 16));
                                             |     do {
    0x00040db4 lw v0, 0x38(s0)               |         v0 = *((s0 + 14));
    0x00040db8 lw v1, 0x3c(s0)               |         v1 = *((s0 + 15));
    0x00040dbc addiu s7, s0, 0x38            |         s7 = s0 + 0x38;
                                             |         if (s2 == 0) {
    0x00040dc0 beqz s2, 0x40ed8              |             goto label_6;
                                             |         }
    0x00040dc4 lw a0, 0x298(s0)              |         a0 = *((s0 + 166));
    0x00040dc8 addiu a3, zero, 1             |         a3 = 1;
    0x00040dcc sw a0, 0x24(sp)               |         *(var_24h) = a0;
    0x00040dd0 sw v1, 0x1c(sp)               |         *(var_1ch) = v1;
    0x00040dd4 sw s7, 0x20(sp)               |         *(var_20h) = s7;
    0x00040dd8 sw v0, 0x18(sp)               |         *(var_18h_2) = v0;
    0x00040ddc sw zero, 0x14(sp)             |         *(var_14h) = 0;
    0x00040de0 sw zero, 0x10(sp)             |         *(var_10h) = 0;
    0x00040de4 move a2, s5                   |         a2 = s5;
    0x00040de8 move a1, s1                   |         a1 = s1;
    0x00040dec move t9, s2                   |         t9 = s2;
    0x00040df0 move a0, s3                   |         a0 = s3;
    0x00040df4 jalr t9                       |         t9 ();
    0x00040df8 addiu v1, zero, 0x64          |         v1 = 0x64;
                                             |         if (v0 == v1) {
    0x00040dfc beql v0, v1, 0x40ed4          |             goto label_7;
                                             |         }
    0x00040e00 lw v0, 0x38(s0)               |         v0 = *((s0 + 14));
                                             | label_2:
    0x00040e04 lw t9, 0x1c(s3)               |         t9 = *((s3 + 7));
    0x00040e08 move a0, s1                   |         a0 = s1;
    0x00040e0c jalr t9                       |         t9 ();
    0x00040e10 lbu v0, 0x24(s1)              |         v0 = *((s1 + 36));
    0x00040e14 lw gp, 0x28(sp)               |         gp = *(var_28h);
    0x00040e18 ins v0, zero, 2, 1            |         __asm ("ins v0, zero, 2, 1");
    0x00040e1c sb v0, 0x24(s1)               |         *((s1 + 36)) = v0;
                                             | label_0:
    0x00040e20 lw a0, 0x4c(sp)               |         a0 = *(var_4ch);
    0x00040e24 lw v1, (s4)                   |         v1 = *(s4);
    0x00040e28 move v0, s1                   |         v0 = s1;
                                             |         if (a0 != v1) {
    0x00040e2c bne a0, v1, 0x41018           |             goto label_8;
                                             |         }
    0x00040e30 lw ra, 0x74(sp)               |         ra = *(var_74h);
    0x00040e34 lw s7, 0x70(sp)               |         s7 = *(var_70h);
    0x00040e38 lw s6, 0x6c(sp)               |         s6 = *(var_6ch);
    0x00040e3c lw s5, 0x68(sp)               |         s5 = *(var_68h);
    0x00040e40 lw s4, 0x64(sp)               |         s4 = *(var_64h);
    0x00040e44 lw s3, 0x60(sp)               |         s3 = *(var_60h);
    0x00040e48 lw s2, 0x5c(sp)               |         s2 = *(var_5ch);
    0x00040e4c lw s1, 0x58(sp)               |         s1 = *(var_58h);
    0x00040e50 lw s0, 0x54(sp)               |         s0 = *(var_54h);
    0x00040e54 addiu sp, sp, 0x78            |         
    0x00040e58 jr ra                         |         return v0;
                                             | label_5:
    0x00040e5c lw v0, 0x44(s0)               |         v0 = *((s0 + 17));
    0x00040e60 lw t9, -0x7e00(gp)            |         t9 = *((gp - 8064));
    0x00040e64 addiu a0, zero, 2             |         a0 = 2;
    0x00040e68 sw v1, 0x44(sp)               |         *(var_44h) = v1;
    0x00040e6c sw zero, 0x40(sp)             |         *(var_40h) = 0;
    0x00040e70 sw zero, 0x3c(sp)             |         *(var_3ch) = 0;
    0x00040e74 sw v0, 0x48(sp)               |         *(var_48h) = v0;
    0x00040e78 bal 0x20f70                   |         fcn_00020f70 ();
    0x00040e7c lw t9, 0x30(s3)               |         t9 = *((s3 + 12));
    0x00040e80 addiu v1, zero, 1             |         v1 = 1;
    0x00040e84 sw v1, 0x10(sp)               |         *(var_10h) = v1;
    0x00040e88 addiu a3, sp, 0x3c            |         a3 = sp + 0x3c;
    0x00040e8c move a2, v0                   |         a2 = v0;
    0x00040e90 move a1, zero                 |         a1 = 0;
    0x00040e94 move a0, s1                   |         a0 = s1;
    0x00040e98 jalr t9                       |         t9 ();
    0x00040e9c move s7, v0                   |         s7 = v0;
    0x00040ea0 beqz v0, 0x40db4              |         
                                             |     } while (v0 == 0);
                                             | label_1:
    0x00040ea4 lw t9, 0x1c(s3)               |     t9 = *((s3 + 7));
                                             | label_3:
    0x00040ea8 move a0, s1                   |     a0 = s1;
    0x00040eac jalr t9                       |     t9 ();
    0x00040eb0 addiu v0, zero, 0x66          |     v0 = 0x66;
    0x00040eb4 lw gp, 0x28(sp)               |     gp = *(var_28h);
                                             |     if (s7 == v0) {
    0x00040eb8 beq s7, v0, 0x40e20           |         goto label_0;
                                             |     }
    0x00040ebc lw t9, -0x7fbc(gp)            |     t9 = *((gp - 8175));
    0x00040ec0 move a0, s1                   |     a0 = s1;
    0x00040ec4 jalr t9                       |     t9 ();
    0x00040ec8 lw gp, 0x28(sp)               |     gp = *(var_28h);
    0x00040ecc move a0, s7                   |     a0 = s7;
    0x00040ed0 b 0x41000                     |     goto label_9;
                                             | label_7:
    0x00040ed4 lw v1, 0x3c(s0)               |     v1 = *((s0 + 15));
                                             | label_6:
    0x00040ed8 sw s7, 0x20(sp)               |     *(var_20h) = s7;
    0x00040edc sw zero, 0x24(sp)             |     *(var_24h) = 0;
    0x00040ee0 sw v1, 0x1c(sp)               |     *(var_1ch) = v1;
    0x00040ee4 sw v0, 0x18(sp)               |     *(var_18h_2) = v0;
    0x00040ee8 sw zero, 0x14(sp)             |     *(var_14h) = 0;
    0x00040eec sw zero, 0x10(sp)             |     *(var_10h) = 0;
    0x00040ef0 addiu a3, zero, 0xc           |     a3 = 0xc;
    0x00040ef4 move a2, s5                   |     a2 = s5;
    0x00040ef8 move a1, s1                   |     a1 = s1;
    0x00040efc move t9, s6                   |     t9 = s6;
    0x00040f00 move a0, s3                   |     a0 = s3;
    0x00040f04 jalr t9                       |     t9 ();
    0x00040f08 move s7, v0                   |     s7 = v0;
    0x00040f0c lw gp, 0x28(sp)               |     gp = *(var_28h);
                                             |     if (v0 != 0) {
    0x00040f10 bnez v0, 0x40ea4              |         goto label_1;
                                             |     }
    0x00040f14 lw a0, 0x298(s0)              |     a0 = *((s0 + 166));
    0x00040f18 sw s3, 0x3c(sp)               |     *(var_3ch) = s3;
    0x00040f1c sw s1, 0x40(sp)               |     *(var_40h) = s1;
    0x00040f20 lw v0, 0x18(a0)               |     v0 = *((a0 + 6));
                                             |     if (v0 <= 0) {
    0x00040f24 blezl v0, 0x40fbc             |         goto label_10;
                                             |     }
    0x00040f28 lw v0, 0x10(a0)               |     v0 = *((a0 + 4));
    0x00040f2c lw s6, -0x7960(gp)            |     s6 = *((gp - 7768));
    0x00040f30 lw s5, -0x7960(gp)            |     s5 = *((gp - 7768));
    0x00040f34 move s2, zero                 |     s2 = 0;
    0x00040f38 addiu s7, sp, 0x3c            |     s7 = sp + 0x3c;
    0x00040f3c addiu s6, s6, 0x2cb4          |     s6 += 0x2cb4;
    0x00040f40 addiu s5, s5, 0x794           |     s5 += 0x794;
    0x00040f44 lw a2, 0x14(a0)               |     a2 = *((a0 + 5));
                                             |     do {
    0x00040f48 sll v0, s2, 4                 |         v0 = s2 << 4;
    0x00040f4c addu a2, a2, v0               |         a2 += v0;
    0x00040f50 lbu v0, (a2)                  |         v0 = *(a2);
    0x00040f54 lw v0, 0x3c(s0)               |         v0 = *((s0 + 15));
                                             |         if (v0 != 0) {
    0x00040f58 bnel v0, zero, 0x40f84        |             
    0x00040f5c lbu v0, 4(a2)                 |             v0 = *((a2 + 4));
    0x00040f60 lw v0, 0x3c(s0)               |             v0 = *((s0 + 15));
                                             |             if (v0 == 0) {
    0x00040f64 bnel v0, zero, 0x40f84        |                 goto label_11;
                                             |             }
    0x00040f68 lbu v0, 8(a2)                 |             v0 = *((a2 + 8));
    0x00040f6c lw v0, 0x3c(s0)               |             v0 = *((s0 + 15));
                                             |             if (v0 == 0) {
    0x00040f70 bnel v0, zero, 0x40f84        |                 goto label_11;
                                             |             }
    0x00040f74 lbu v0, 0xc(a2)               |             v0 = *((a2 + 12));
                                             |             if (v0 == 0) {
    0x00040f78 beql v0, zero, 0x40fa8        |                 goto label_12;
                                             |             }
    0x00040f7c lw v0, 0x18(a0)               |             v0 = *((a0 + 6));
    0x00040f80 lw v0, 0x3c(s0)               |             v0 = *((s0 + 15));
                                             |         }
                                             | label_11:
    0x00040f84 lw a3, 0x38(s0)               |         a3 = *((s0 + 14));
    0x00040f88 move a0, s6                   |         a0 = s6;
    0x00040f8c sw v0, 0x10(sp)               |         *(var_10h) = v0;
    0x00040f90 move t9, s5                   |         t9 = s5;
    0x00040f94 move a1, s7                   |         a1 = s7;
    0x00040f98 bal 0x40794                   |         fcn_00040794 ();
    0x00040f9c lw gp, 0x28(sp)               |         gp = *(var_28h);
    0x00040fa0 lw a0, 0x298(s0)              |         a0 = *((s0 + 166));
    0x00040fa4 lw v0, 0x18(a0)               |         v0 = *((a0 + 6));
                                             | label_12:
    0x00040fa8 addiu s2, s2, 1               |         s2++;
    0x00040fac slt v0, s2, v0                |         v0 = (s2 < v0) ? 1 : 0;
    0x00040fb0 lw a2, 0x14(a0)               |         a2 = *((a0 + 5));
    0x00040fb4 bnel v0, zero, 0x40f48        |         
                                             |     } while (v0 == 0);
    0x00040fb8 lw v0, 0x10(a0)               |     v0 = *((a0 + 4));
                                             | label_10:
    0x00040fbc lw t9, -0x7ddc(gp)            |     t9 = *((gp - 8055));
                                             |     if (v0 == 0) {
    0x00040fc0 beqz v0, 0x40e04              |         goto label_2;
                                             |     }
    0x00040fc4 lw a3, 0x3c(s0)               |     a3 = *((s0 + 15));
    0x00040fc8 lw a2, 0x38(s0)               |     a2 = *((s0 + 14));
    0x00040fcc move a1, s1                   |     a1 = s1;
    0x00040fd0 jalr t9                       |     t9 ();
    0x00040fd4 move s7, v0                   |     s7 = v0;
                                             |     if (v0 == 0) {
    0x00040fd8 beqz v0, 0x40e04              |         goto label_2;
                                             |     }
    0x00040fdc lw t9, 0x1c(s3)               |     t9 = *((s3 + 7));
    0x00040fe0 b 0x40ea8                     |     goto label_3;
                                             | label_4:
    0x00040fe4 lw t9, -0x7fbc(gp)            |     t9 = *((gp - 8175));
    0x00040fe8 sw v0, 0x34(sp)               |     *(var_34h) = v0;
    0x00040fec move a0, s1                   |     a0 = s1;
    0x00040ff0 jalr t9                       |     t9 ();
    0x00040ff4 lw v0, 0x34(sp)               |     v0 = *(var_34h);
    0x00040ff8 lw gp, 0x28(sp)               |     gp = *(var_28h);
    0x00040ffc move a0, v0                   |     a0 = v0;
                                             | label_9:
    0x00041000 lw t9, -0x78cc(gp)            |     t9 = *((gp - 7731));
    0x00041004 jalr t9                       |     t9 ();
    0x00041008 nop                           |     
    0x0004100c move s1, v0                   |     s1 = v0;
    0x00041010 lw gp, 0x28(sp)               |     gp = *(var_28h);
    0x00041014 b 0x40e20                     |     goto label_0;
                                             | label_8:
    0x00041018 lw t9, -0x72c8(gp)            |     t9 = *((gp - 7346));
    0x0004101c jalr t9                       |     t9 ();
    0x00041020 nop                           |     
                                             | }
    ; assembly                               | /* r2dec pseudo code output */
                                             | /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/lib/libcairo.so.2.11600.0 @ 0x527c8 */
                                             | #include <stdint.h>
                                             |  
    ; (fcn) fcn.000527c8 ()                  | void fcn_000527c8 () {
    0x000527c8 lw a2, 4(a0)                  |     a2 = *((a0 + 1));
                                             |     if (a2 == 0) {
    0x000527cc beqz a2, 0x528a0              |         goto label_2;
                                             |     }
    0x000527d0 nop                           |     
    0x000527d4 lw v0, 8(a0)                  |     v0 = *((a0 + 2));
    0x000527d8 lw v1, 8(a2)                  |     v1 = *((a2 + 2));
    0x000527dc lw t1, (a0)                   |     t1 = *(a0);
    0x000527e0 lw a3, 0xc(a0)                |     a3 = *((a0 + 3));
                                             |     if (v1 == v0) {
    0x000527e4 beq v1, v0, 0x528c0           |         goto label_12;
                                             |     }
                                             | label_3:
    0x000527e8 lw t0, 0x18(a2)               |     t0 = *((a2 + 6));
                                             | label_1:
    0x000527ec lbux v1, v0(t0)               |     __asm ("lbux v1, v0(t0)");
                                             |     if (v1 != 0) {
    0x000527f0 bnez v1, 0x528a0              |         goto label_2;
                                             |     }
    0x000527f4 nop                           |     
    0x000527f8 lw v1, 8(a2)                  |     v1 = *((a2 + 2));
    0x000527fc addiu v0, v0, 1               |     v0++;
    0x00052800 sltu v1, v0, v1               |     v1 = (v0 < v1) ? 1 : 0;
                                             |     if (v1 == 0) {
    0x00052804 beql v1, zero, 0x528a8        |         goto label_13;
                                             |     }
    0x00052808 lw t2, (a2)                   |     t2 = *(a2);
    0x0005280c addiu t4, a3, 1               |     t4 = a3 + 1;
    0x00052810 addu v1, t0, v0               |     v1 = t0 + v0;
    0x00052814 move t2, a2                   |     t2 = a2;
                                             | label_0:
    0x00052818 lb t3, (v1)                   |     t3 = *(v1);
    0x0005281c addiu v1, zero, 1             |     v1 = 1;
    0x00052820 addiu v1, v0, 1               |     v1 = v0 + 1;
                                             |     if (t3 != v1) {
    0x00052824 bne t3, v1, 0x528a0           |         goto label_2;
                                             |     }
    0x00052828 lw t3, 8(t2)                  |     t3 = *((t2 + 2));
    0x0005282c sltu v0, v1, t3               |     v0 = (v1 < t3) ? 1 : 0;
                                             |     if (v0 == 0) {
    0x00052830 beql v0, zero, 0x528e4        |         goto label_14;
                                             |     }
    0x00052834 lw t3, (t2)                   |     t3 = *(t2);
    0x00052838 addiu t6, t4, 1               |     t6 = t4 + 1;
    0x0005283c addu t5, t0, v1               |     t5 = t0 + v1;
    0x00052840 move t3, t2                   |     t3 = t2;
                                             | label_4:
    0x00052844 lw v0, 0x1c(a2)               |     v0 = *((a2 + 7));
    0x00052848 sll a3, a3, 3                 |     a3 <<= 3;
    0x0005284c addu a3, v0, a3               |     a3 = v0 + a3;
    0x00052850 lb v0, (t5)                   |     v0 = *(t5);
    0x00052854 addiu a2, zero, 1             |     a2 = 1;
    0x00052858 lw t5, (a3)                   |     t5 = *(a3);
    0x0005285c lw a3, 4(a3)                  |     a3 = *((a3 + 1));
                                             |     if (v0 == a2) {
    0x00052860 beq v0, a2, 0x52924           |         goto label_15;
                                             |     }
    0x00052864 addiu a2, zero, 3             |     a2 = 3;
                                             |     if (v0 == a2) {
    0x00052868 beql v0, a2, 0x528fc          |         goto label_16;
                                             |     }
    0x0005286c lw v0, 8(t3)                  |     v0 = *((t3 + 2));
                                             |     if (v0 != 0) {
    0x00052870 bnez v0, 0x528a0              |         goto label_2;
                                             |     }
    0x00052874 nop                           |     
                                             | label_6:
    0x00052878 sw t5, 8(a1)                  |     *((a1 + 2)) = t5;
                                             | label_5:
    0x0005287c sw a3, 0xc(a1)                |     *((a1 + 3)) = a3;
    0x00052880 sw t5, (a1)                   |     *(a1) = t5;
    0x00052884 sw a3, 4(a1)                  |     *((a1 + 1)) = a3;
    0x00052888 addiu v0, zero, 1             |     v0 = 1;
    0x0005288c sw t1, (a0)                   |     *(a0) = t1;
    0x00052890 sw t3, 4(a0)                  |     *((a0 + 1)) = t3;
    0x00052894 sw v1, 8(a0)                  |     *((a0 + 2)) = v1;
    0x00052898 sw t6, 0xc(a0)                |     *((a0 + 3)) = t6;
    0x0005289c jr ra                         |     return v0;
                                             |     do {
                                             | label_2:
    0x000528a0 move v0, zero                 |         v0 = 0;
    0x000528a4 jr ra                         |         return v0;
                                             | label_13:
    0x000528a8 move t4, zero                 |         t4 = 0;
    0x000528ac beq t2, t1, 0x528a0           |         
                                             |     } while (t2 == t1);
    0x000528b0 lw v1, 0x18(t2)               |     v1 = *((t2 + 6));
    0x000528b4 move t0, v1                   |     t0 = v1;
    0x000528b8 move v0, zero                 |     v0 = 0;
    0x000528bc b 0x52818                     |     goto label_0;
                                             | label_12:
    0x000528c0 addiu v0, v0, 1               |     v0++;
    0x000528c4 sltu v1, v0, v1               |     v1 = (v0 < v1) ? 1 : 0;
    0x000528c8 lw t0, 0x18(a2)               |     t0 = *((a2 + 6));
                                             |     if (v1 == 0) {
    0x000528cc bnel v1, zero, 0x527ec        |         goto label_1;
                                             |     }
    0x000528d0 lw a2, (a2)                   |     a2 = *(a2);
    0x000528d4 move a3, zero                 |     a3 = 0;
                                             |     if (a2 == t1) {
    0x000528d8 beq a2, t1, 0x528a0           |         goto label_2;
                                             |     }
    0x000528dc move v0, zero                 |     v0 = 0;
    0x000528e0 b 0x527e8                     |     goto label_3;
                                             | label_14:
    0x000528e4 move t6, zero                 |     t6 = 0;
                                             |     if (t3 == t1) {
    0x000528e8 beq t3, t1, 0x528a0           |         goto label_2;
                                             |     }
    0x000528ec lw t0, 0x18(t3)               |     t0 = *((t3 + 6));
    0x000528f0 move t5, t0                   |     t5 = t0;
    0x000528f4 move v1, zero                 |     v1 = 0;
    0x000528f8 b 0x52844                     |     goto label_4;
                                             | label_16:
    0x000528fc addiu v1, v1, 1               |     v1++;
    0x00052900 sltu v0, v1, v0               |     v0 = (v1 < v0) ? 1 : 0;
    0x00052904 sw t5, 8(a1)                  |     *((a1 + 2)) = t5;
                                             |     if (v0 == 0) {
    0x00052908 bnel v0, zero, 0x5287c        |         goto label_5;
                                             |     }
    0x0005290c lw t3, (t3)                   |     t3 = *(t3);
                                             |     if (t3 == t1) {
    0x00052910 beql t3, t1, 0x52878          |         goto label_6;
                                             |     }
    0x00052914 move t3, zero                 |     t3 = 0;
    0x00052918 move t6, zero                 |     t6 = 0;
    0x0005291c move v1, zero                 |     v1 = 0;
    0x00052920 b 0x52878                     |     goto label_6;
                                             | label_15:
    0x00052924 lw a2, 8(t3)                  |     a2 = *((t3 + 2));
    0x00052928 addiu v0, v1, 1               |     v0 = v1 + 1;
    0x0005292c sltu v1, v0, a2               |     v1 = (v0 < a2) ? 1 : 0;
                                             |     if (v1 == 0) {
    0x00052930 beql v1, zero, 0x529f4        |         goto label_17;
                                             |     }
    0x00052934 lw t7, (t3)                   |     t7 = *(t3);
    0x00052938 addiu t8, t6, 1               |     t8 = t6 + 1;
    0x0005293c addu v1, t0, v0               |     v1 = t0 + v0;
    0x00052940 move t7, t3                   |     t7 = t3;
                                             | label_7:
    0x00052944 lb a2, (v1)                   |     a2 = *(v1);
    0x00052948 addiu v1, zero, 1             |     v1 = 1;
    0x0005294c addiu v1, v0, 1               |     v1 = v0 + 1;
                                             |     if (a2 != v1) {
    0x00052950 bne a2, v1, 0x528a0           |         goto label_2;
                                             |     }
    0x00052954 lw a2, 8(t7)                  |     a2 = *((t7 + 2));
    0x00052958 sltu v0, v1, a2               |     v0 = (v1 < a2) ? 1 : 0;
    0x0005295c addiu t9, t8, 1               |     t9 = t8 + 1;
                                             |     if (v0 == 0) {
    0x00052960 beqz v0, 0x52a0c              |         goto label_18;
                                             |     }
    0x00052964 addu a2, t0, v1               |     a2 = t0 + v1;
    0x00052968 move t0, t7                   |     t0 = t7;
                                             | label_9:
    0x0005296c lb v0, (a2)                   |     v0 = *(a2);
    0x00052970 addiu a2, zero, 1             |     a2 = 1;
    0x00052974 addiu a2, zero, 3             |     a2 = 3;
                                             |     if (v0 == a2) {
    0x00052978 beq v0, a2, 0x52a28           |         goto label_19;
                                             |     }
                                             |     if (v0 == a2) {
    0x0005297c beql v0, a2, 0x52a50          |         goto label_20;
                                             |     }
    0x00052980 lw v0, 8(t0)                  |     v0 = *((t0 + 2));
                                             |     if (v0 != 0) {
    0x00052984 bnez v0, 0x528a0              |         goto label_2;
                                             |     }
    0x00052988 nop                           |     
                                             | label_8:
    0x0005298c lw v0, 0x1c(t2)               |     v0 = *((t2 + 7));
                                             | label_10:
    0x00052990 sll t4, t4, 3                 |     t4 <<= 3;
    0x00052994 addu t4, v0, t4               |     t4 = v0 + t4;
    0x00052998 lw a2, 0x1c(t3)               |     a2 = *((t3 + 7));
    0x0005299c lw v0, 0x1c(t7)               |     v0 = *((t7 + 7));
    0x000529a0 sll t6, t6, 3                 |     t6 <<= 3;
    0x000529a4 sll t8, t8, 3                 |     t8 <<= 3;
    0x000529a8 addu t6, a2, t6               |     t6 = a2 + t6;
    0x000529ac addu t8, v0, t8               |     t8 = v0 + t8;
    0x000529b0 lw v0, 4(t4)                  |     v0 = *((t4 + 1));
    0x000529b4 lw a2, (t4)                   |     a2 = *(t4);
    0x000529b8 lw t2, (t6)                   |     t2 = *(t6);
    0x000529bc lw t3, 4(t6)                  |     t3 = *((t6 + 1));
    0x000529c0 lw t4, 4(t8)                  |     t4 = *((t8 + 1));
    0x000529c4 lw t6, (t8)                   |     t6 = *(t8);
                                             |     if (a3 == v0) {
    0x000529c8 beq a3, v0, 0x52a78           |         goto label_21;
                                             |     }
                                             |     if (t5 != a2) {
                                             | label_11:
    0x000529cc bne t5, a2, 0x528a0           |         goto label_2;
                                             |     }
    0x000529d0 nop                           |     
                                             |     if (v0 != t3) {
    0x000529d4 bne v0, t3, 0x528a0           |         goto label_2;
                                             |     }
    0x000529d8 nop                           |     
                                             |     if (t2 != t6) {
    0x000529dc bne t2, t6, 0x528a0           |         goto label_2;
                                             |     }
    0x000529e0 nop                           |     
                                             |     if (a3 == t4) {
    0x000529e4 beql a3, t4, 0x52ac0          |         goto label_22;
                                             |     }
    0x000529e8 sw t5, (a1)                   |     *(a1) = t5;
    0x000529ec move v0, zero                 |     v0 = 0;
    0x000529f0 jr ra                         |     return v0;
                                             | label_17:
    0x000529f4 move t8, zero                 |     t8 = 0;
                                             |     if (t7 == t1) {
    0x000529f8 beq t7, t1, 0x528a0           |         goto label_2;
                                             |     }
    0x000529fc lw t0, 0x18(t7)               |     t0 = *((t7 + 6));
    0x00052a00 move v1, t0                   |     v1 = t0;
    0x00052a04 move v0, zero                 |     v0 = 0;
    0x00052a08 b 0x52944                     |     goto label_7;
                                             | label_18:
    0x00052a0c lw t0, (t7)                   |     t0 = *(t7);
                                             |     if (t0 == t1) {
    0x00052a10 beql t0, t1, 0x5298c          |         goto label_8;
                                             |     }
    0x00052a14 move t0, zero                 |     t0 = 0;
    0x00052a18 lw a2, 0x18(t0)               |     a2 = *((t0 + 6));
    0x00052a1c move t9, zero                 |     t9 = 0;
    0x00052a20 move v1, zero                 |     v1 = 0;
    0x00052a24 b 0x5296c                     |     goto label_9;
                                             | label_19:
    0x00052a28 lw v0, 0x1c(t0)               |     v0 = *((t0 + 7));
    0x00052a2c sll a2, t9, 3                 |     a2 = t9 << 3;
    0x00052a30 addu v0, v0, a2               |     v0 += a2;
    0x00052a34 lw a2, (v0)                   |     a2 = *(v0);
    0x00052a38 addiu t9, t9, 1               |     t9++;
                                             |     if (t5 != a2) {
    0x00052a3c bne t5, a2, 0x528a0           |         goto label_2;
                                             |     }
    0x00052a40 lw v0, 4(v0)                  |     v0 = *((v0 + 1));
                                             |     if (a3 != v0) {
    0x00052a44 bne a3, v0, 0x528a0           |         goto label_2;
                                             |     }
    0x00052a48 nop                           |     
    0x00052a4c lw v0, 8(t0)                  |     v0 = *((t0 + 2));
                                             | label_20:
    0x00052a50 addiu v1, v1, 1               |     v1++;
    0x00052a54 sltu v0, v1, v0               |     v0 = (v1 < v0) ? 1 : 0;
    0x00052a58 lw v0, 0x1c(t2)               |     v0 = *((t2 + 7));
                                             |     if (v0 == 0) {
    0x00052a5c bnel v0, zero, 0x52990        |         goto label_10;
                                             |     }
    0x00052a60 lw t0, (t0)                   |     t0 = *(t0);
                                             |     if (t0 == t1) {
    0x00052a64 beql t0, t1, 0x5298c          |         goto label_8;
                                             |     }
    0x00052a68 move t0, zero                 |     t0 = 0;
    0x00052a6c move t9, zero                 |     t9 = 0;
    0x00052a70 move v1, zero                 |     v1 = 0;
    0x00052a74 b 0x5298c                     |     goto label_8;
                                             |     if (a2 != t2) {
                                             | label_21:
    0x00052a78 bne a2, t2, 0x529cc           |         goto label_11;
                                             |     }
    0x00052a7c nop                           |     
                                             |     if (t3 != t4) {
    0x00052a80 bne t3, t4, 0x529cc           |         goto label_11;
                                             |     }
    0x00052a84 nop                           |     
                                             |     if (t5 != t6) {
    0x00052a88 bne t5, t6, 0x529cc           |         goto label_11;
                                             |     }
    0x00052a8c nop                           |     
    0x00052a90 sw t5, (a1)                   |     *(a1) = t5;
    0x00052a94 sw a3, 4(a1)                  |     *((a1 + 1)) = a3;
    0x00052a98 sw a2, 8(a1)                  |     *((a1 + 2)) = a2;
    0x00052a9c sw t3, 0xc(a1)                |     *((a1 + 3)) = t3;
                                             |     do {
    0x00052aa0 addiu v0, zero, 1             |         v0 = 1;
    0x00052aa4 sw t1, (a0)                   |         *(a0) = t1;
    0x00052aa8 sw t0, 4(a0)                  |         *((a0 + 1)) = t0;
    0x00052aac sw v1, 8(a0)                  |         *((a0 + 2)) = v1;
    0x00052ab0 sw t9, 0xc(a0)                |         *((a0 + 3)) = t9;
    0x00052ab4 jr ra                         |         return v0;
                                             | label_22:
    0x00052ac0 sw v0, 4(a1)                  |         *((a1 + 1)) = v0;
    0x00052ac4 sw t2, 8(a1)                  |         *((a1 + 2)) = t2;
    0x00052ac8 sw a3, 0xc(a1)                |         *((a1 + 3)) = a3;
    0x00052acc b 0x52aa0                     |         
                                             |     } while (1);
                                             | }
    ; assembly                               | /* r2dec pseudo code output */
                                             | /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/lib/libcairo.so.2.11600.0 @ 0xbbbc0 */
                                             | #include <stdint.h>
                                             |  
    ; (fcn) fcn.000bbbc0 ()                  | void fcn_000bbbc0 () {
                                             | label_5:
    0x000bbbc0 lui gp, 4                     |     
    0x000bbbc4 addiu gp, gp, 0x6670          |     
    0x000bbbc8 addu gp, gp, t9               |     gp += t9;
    0x000bbbcc addiu sp, sp, -0x60           |     
    0x000bbbd0 sw s0, 0x3c(sp)               |     *(var_3ch) = s0;
    0x000bbbd4 sw gp, 0x18(sp)               |     *(var_18h) = gp;
    0x000bbbd8 sw ra, 0x5c(sp)               |     *(var_5ch) = ra;
    0x000bbbdc sw s7, 0x58(sp)               |     *(var_58h) = s7;
    0x000bbbe0 sw s6, 0x54(sp)               |     *(var_54h) = s6;
    0x000bbbe4 sw s5, 0x50(sp)               |     *(var_50h) = s5;
    0x000bbbe8 sw s4, 0x4c(sp)               |     *(var_4ch) = s4;
    0x000bbbec sw s3, 0x48(sp)               |     *(var_48h) = s3;
    0x000bbbf0 sw s2, 0x44(sp)               |     *(var_44h) = s2;
    0x000bbbf4 sw s1, 0x40(sp)               |     *(var_40h) = s1;
    0x000bbbf8 lw s0, -0x7288(gp)            |     s0 = *((gp - 7330));
    0x000bbbfc lw s2, 0x194(a0)              |     s2 = *(a0);
    0x000bbc00 sw zero, 0x2c(sp)             |     *(var_2ch) = 0;
    0x000bbc04 lw v0, (s0)                   |     v0 = *(s0);
    0x000bbc08 lw t9, 0x14(s2)               |     t9 = *((s2 + 5));
    0x000bbc0c sw v0, 0x34(sp)               |     *(var_34h) = v0;
    0x000bbc10 sw zero, 0x30(sp)             |     *(var_30h) = 0;
                                             |     if (t9 == 0) {
    0x000bbc14 beqz t9, 0xbbddc              |         goto label_28;
                                             |     }
    0x000bbc18 addiu s4, sp, 0x28            |     s4 = sp + 0x28;
    0x000bbc1c lui s3, 0x6e61                |     s3 = 0x6e610000;
    0x000bbc20 move s5, a1                   |     s5 = a1;
    0x000bbc24 move s6, a2                   |     s6 = a2;
    0x000bbc28 sw zero, 0x28(sp)             |     *(var_28h_2) = 0;
    0x000bbc2c sw s4, 0x10(sp)               |     *(var_10h_2) = s4;
    0x000bbc30 move a3, zero                 |     a3 = 0;
    0x000bbc34 move a2, zero                 |     a2 = 0;
    0x000bbc38 addiu a1, s3, 0x6d65          |     a1 = s3 + 0x6d65;
    0x000bbc3c move s1, a0                   |     s1 = a0;
    0x000bbc40 jalr t9                       |     t9 ();
    0x000bbc44 lw gp, 0x18(sp)               |     gp = *(var_18h);
                                             |     if (v0 != 0) {
    0x000bbc48 bnez v0, 0xbbcd0              |         goto label_1;
                                             |     }
    0x000bbc4c lw a0, 0x28(sp)               |     a0 = *(var_28h_2);
    0x000bbc50 lw t9, -0x72b4(gp)            |     t9 = *((gp - 7341));
                                             |     if (a0 == 0) {
    0x000bbc54 beqz a0, 0xbbd08              |         goto label_29;
                                             |     }
    0x000bbc58 jalr t9                       |     t9 ();
    0x000bbc5c nop                           |     
    0x000bbc60 move s7, v0                   |     s7 = v0;
    0x000bbc64 lw gp, 0x18(sp)               |     gp = *(var_18h);
                                             |     if (v0 == 0) {
    0x000bbc68 beqz v0, 0xbbd08              |         goto label_29;
                                             |     }
    0x000bbc6c sw s4, 0x10(sp)               |     *(var_10h_2) = s4;
    0x000bbc70 lw t9, 0x14(s2)               |     t9 = *((s2 + 5));
    0x000bbc74 move a3, v0                   |     a3 = v0;
    0x000bbc78 move a2, zero                 |     a2 = 0;
    0x000bbc7c ori a1, s3, 0x6d65            |     a1 = s3 | 0x6d65;
    0x000bbc80 move a0, s1                   |     a0 = s1;
    0x000bbc84 jalr t9                       |     t9 ();
    0x000bbc88 lw gp, 0x18(sp)               |     gp = *(var_18h);
                                             |     if (v0 == 0) {
    0x000bbc8c beqz v0, 0xbbd1c              |         goto label_30;
                                             |     }
                                             | label_0:
    0x000bbc90 lw t9, -0x71c8(gp)            |     t9 = *((gp - 7282));
                                             | label_3:
    0x000bbc94 sw v0, 0x24(sp)               |     *(var_24h) = v0;
    0x000bbc98 move a0, s7                   |     a0 = s7;
    0x000bbc9c jalr t9                       |     t9 ();
    0x000bbca0 lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x000bbca4 lw t9, -0x71c8(gp)            |     t9 = *((gp - 7282));
    0x000bbca8 lw a0, 0x2c(sp)               |     a0 = *(var_2ch);
    0x000bbcac jalr t9                       |     t9 ();
    0x000bbcb0 lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x000bbcb4 lw t9, -0x71c8(gp)            |     t9 = *((gp - 7282));
    0x000bbcb8 lw a0, 0x30(sp)               |     a0 = *(var_30h);
    0x000bbcbc jalr t9                       |     t9 ();
    0x000bbcc0 lw v0, 0x24(sp)               |     v0 = *(var_24h);
    0x000bbcc4 lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x000bbcc8 sw zero, (s5)                 |     *(s5) = 0;
    0x000bbccc sw zero, (s6)                 |     *(s6) = 0;
                                             |     do {
                                             | label_1:
    0x000bbcd0 lw a0, 0x34(sp)               |         a0 = *(var_34h);
    0x000bbcd4 lw v1, (s0)                   |         v1 = *(s0);
    0x000bbcd8 lw ra, 0x5c(sp)               |         ra = *(var_5ch);
                                             |         if (a0 != v1) {
    0x000bbcdc bne a0, v1, 0xbbea0           |             goto label_31;
                                             |         }
    0x000bbce0 lw s7, 0x58(sp)               |         s7 = *(var_58h);
    0x000bbce4 lw s6, 0x54(sp)               |         s6 = *(var_54h);
    0x000bbce8 lw s5, 0x50(sp)               |         s5 = *(var_50h);
    0x000bbcec lw s4, 0x4c(sp)               |         s4 = *(var_4ch);
    0x000bbcf0 lw s3, 0x48(sp)               |         s3 = *(var_48h);
    0x000bbcf4 lw s2, 0x44(sp)               |         s2 = *(var_44h);
    0x000bbcf8 lw s1, 0x40(sp)               |         s1 = *(var_40h);
    0x000bbcfc lw s0, 0x3c(sp)               |         s0 = *(var_3ch);
    0x000bbd00 addiu sp, sp, 0x60            |         
    0x000bbd04 jr ra                         |         return v0;
                                             | label_29:
    0x000bbd08 lw t9, -0x7f84(gp)            |         t9 = *((gp - 8161));
    0x000bbd0c addiu a0, zero, 1             |         a0 = 1;
    0x000bbd10 jalr t9                       |         t9 ();
    0x000bbd14 lw gp, 0x18(sp)               |         gp = *(var_18h);
    0x000bbd18 b 0xbbcd0                     |         
                                             |     } while (1);
                                             | label_30:
    0x000bbd1c lw s1, -0x74e4(gp)            |     s1 = *((gp - 7481));
    0x000bbd20 addiu v0, zero, 0x409         |     v0 = 0x409;
    0x000bbd24 addiu s3, sp, 0x2c            |     s3 = sp + 0x2c;
    0x000bbd28 addiu s1, s1, -0x6464         |     s1 += -0x6464;
    0x000bbd2c sw s3, 0x14(sp)               |     *(var_14h_2) = s3;
    0x000bbd30 sw v0, 0x10(sp)               |     *(var_10h_2) = v0;
    0x000bbd34 addiu a3, zero, 1             |     a3 = 1;
    0x000bbd38 addiu a2, zero, 3             |     a2 = 3;
    0x000bbd3c addiu a1, zero, 6             |     a1 = 6;
    0x000bbd40 move t9, s1                   |     t9 = s1;
    0x000bbd44 move a0, s7                   |     a0 = s7;
    0x000bbd48 bal 0xb9b9c                   |     fcn_000b9b9c ();
    0x000bbd4c lw gp, 0x18(sp)               |     gp = *(var_18h);
                                             |     if (v0 != 0) {
    0x000bbd50 bnez v0, 0xbbc90              |         goto label_0;
                                             |     }
    0x000bbd54 lw v0, 0x2c(sp)               |     v0 = *(var_2ch);
                                             |     if (v0 == 0) {
    0x000bbd58 beql v0, zero, 0xbbde4        |         goto label_32;
                                             |     }
    0x000bbd5c sw s3, 0x14(sp)               |     *(var_14h_2) = s3;
                                             | label_2:
    0x000bbd60 addiu s2, sp, 0x30            |     s2 = sp + 0x30;
    0x000bbd64 addiu s4, zero, 0x409         |     s4 = 0x409;
    0x000bbd68 sw s2, 0x14(sp)               |     *(var_14h_2) = s2;
    0x000bbd6c sw s4, 0x10(sp)               |     *(var_10h_2) = s4;
    0x000bbd70 addiu a3, zero, 1             |     a3 = 1;
    0x000bbd74 addiu a2, zero, 3             |     a2 = 3;
    0x000bbd78 addiu a1, zero, 1             |     a1 = 1;
    0x000bbd7c move t9, s1                   |     t9 = s1;
    0x000bbd80 move a0, s7                   |     a0 = s7;
    0x000bbd84 bal 0xb9b9c                   |     fcn_000b9b9c ();
    0x000bbd88 lw gp, 0x18(sp)               |     gp = *(var_18h);
                                             |     if (v0 != 0) {
    0x000bbd8c bnez v0, 0xbbc90              |         goto label_0;
                                             |     }
    0x000bbd90 lw v0, 0x30(sp)               |     v0 = *(var_30h);
                                             |     if (v0 == 0) {
    0x000bbd94 beql v0, zero, 0xbbe10        |         goto label_33;
                                             |     }
    0x000bbd98 sw s2, 0x14(sp)               |     *(var_14h_2) = s2;
                                             | label_4:
    0x000bbd9c lw t9, -0x7504(gp)            |     t9 = *((gp - 7489));
    0x000bbda0 move a0, s3                   |     a0 = s3;
    0x000bbda4 bal 0xb98b8                   |     fcn_000b98b8 ();
    0x000bbda8 lw gp, 0x18(sp)               |     gp = *(var_18h);
                                             |     if (v0 != 0) {
    0x000bbdac bnez v0, 0xbbc90              |         goto label_0;
                                             |     }
    0x000bbdb0 lw t9, -0x71c8(gp)            |     t9 = *((gp - 7282));
    0x000bbdb4 sw v0, 0x24(sp)               |     *(var_24h) = v0;
    0x000bbdb8 move a0, s7                   |     a0 = s7;
    0x000bbdbc jalr t9                       |     t9 ();
    0x000bbdc0 lw v1, 0x2c(sp)               |     v1 = *(var_2ch);
    0x000bbdc4 lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x000bbdc8 sw v1, (s5)                   |     *(s5) = v1;
    0x000bbdcc lw v1, 0x30(sp)               |     v1 = *(var_30h);
    0x000bbdd0 lw v0, 0x24(sp)               |     v0 = *(var_24h);
    0x000bbdd4 sw v1, (s6)                   |     *(s6) = v1;
    0x000bbdd8 b 0xbbcd0                     |     goto label_1;
                                             | label_28:
    0x000bbddc addiu v0, zero, 0x64          |     v0 = 0x64;
    0x000bbde0 b 0xbbcd0                     |     goto label_1;
                                             | label_32:
    0x000bbde4 sw zero, 0x10(sp)             |     *(var_10h_2) = 0;
    0x000bbde8 move a3, zero                 |     a3 = 0;
    0x000bbdec addiu a2, zero, 1             |     a2 = 1;
    0x000bbdf0 addiu a1, zero, 6             |     a1 = 6;
    0x000bbdf4 move t9, s1                   |     t9 = s1;
    0x000bbdf8 move a0, s7                   |     a0 = s7;
    0x000bbdfc bal 0xb9b9c                   |     fcn_000b9b9c ();
    0x000bbe00 lw gp, 0x18(sp)               |     gp = *(var_18h);
                                             |     if (v0 == 0) {
    0x000bbe04 beqz v0, 0xbbd60              |         goto label_2;
                                             |     }
    0x000bbe08 lw t9, -0x71c8(gp)            |     t9 = *((gp - 7282));
    0x000bbe0c b 0xbbc94                     |     goto label_3;
                                             | label_33:
    0x000bbe10 sw s4, 0x10(sp)               |     *(var_10h_2) = s4;
    0x000bbe14 move a3, zero                 |     a3 = 0;
    0x000bbe18 addiu a2, zero, 3             |     a2 = 3;
    0x000bbe1c addiu a1, zero, 1             |     a1 = 1;
    0x000bbe20 move t9, s1                   |     t9 = s1;
    0x000bbe24 move a0, s7                   |     a0 = s7;
    0x000bbe28 bal 0xb9b9c                   |     fcn_000b9b9c ();
    0x000bbe2c lw gp, 0x18(sp)               |     gp = *(var_18h);
                                             |     if (v0 != 0) {
    0x000bbe30 bnez v0, 0xbbc90              |         goto label_0;
                                             |     }
    0x000bbe34 lw v0, 0x30(sp)               |     v0 = *(var_30h);
    0x000bbe38 move a3, zero                 |     a3 = 0;
                                             |     if (v0 != 0) {
    0x000bbe3c bnez v0, 0xbbd9c              |         goto label_4;
                                             |     }
    0x000bbe40 sw s2, 0x14(sp)               |     *(var_14h_2) = s2;
    0x000bbe44 sw zero, 0x10(sp)             |     *(var_10h_2) = 0;
    0x000bbe48 addiu a2, zero, 1             |     a2 = 1;
    0x000bbe4c addiu a1, zero, 1             |     a1 = 1;
    0x000bbe50 move t9, s1                   |     t9 = s1;
    0x000bbe54 move a0, s7                   |     a0 = s7;
    0x000bbe58 bal 0xb9b9c                   |     fcn_000b9b9c ();
    0x000bbe5c lw gp, 0x18(sp)               |     gp = *(var_18h);
                                             |     if (v0 != 0) {
    0x000bbe60 bnez v0, 0xbbc90              |         goto label_0;
                                             |     }
    0x000bbe64 lw v0, 0x30(sp)               |     v0 = *(var_30h);
    0x000bbe68 addiu v0, zero, -1            |     v0 = -1;
                                             |     if (v0 != 0) {
    0x000bbe6c bnez v0, 0xbbd9c              |         goto label_4;
                                             |     }
    0x000bbe70 sw s2, 0x14(sp)               |     *(var_14h_2) = s2;
    0x000bbe74 sw v0, 0x10(sp)               |     *(var_10h_2) = v0;
    0x000bbe78 addiu a3, zero, 1             |     a3 = 1;
    0x000bbe7c addiu a2, zero, 3             |     a2 = 3;
    0x000bbe80 addiu a1, zero, 1             |     a1 = 1;
    0x000bbe84 move t9, s1                   |     t9 = s1;
    0x000bbe88 move a0, s7                   |     a0 = s7;
    0x000bbe8c bal 0xb9b9c                   |     fcn_000b9b9c ();
    0x000bbe90 lw gp, 0x18(sp)               |     gp = *(var_18h);
                                             |     if (v0 == 0) {
    0x000bbe94 beqz v0, 0xbbd9c              |         goto label_4;
                                             |     }
    0x000bbe98 lw t9, -0x71c8(gp)            |     t9 = *((gp - 7282));
    0x000bbe9c b 0xbbc94                     |     goto label_3;
                                             | label_31:
    0x000bbea0 lw t9, -0x72c8(gp)            |     t9 = *((gp - 7346));
    0x000bbea4 jalr t9                       |     t9 ();
    0x000bbea8 nop                           |     
                                             | label_27:
    0x000bbeac lui gp, 4                     |     
    0x000bbeb0 addiu gp, gp, 0x6384          |     
    0x000bbeb4 addu gp, gp, t9               |     gp += t9;
    0x000bbeb8 addiu sp, sp, -0x100          |     
    0x000bbebc lw v0, -0x7288(gp)            |     v0 = *((gp - 7330));
    0x000bbec0 sw gp, 0x20(sp)               |     *(var_20h) = gp;
    0x000bbec4 sw ra, 0xfc(sp)               |     *(var_fch) = ra;
    0x000bbec8 sw fp, 0xf8(sp)               |     *(var_f8h) = fp;
    0x000bbecc sw s7, 0xf4(sp)               |     *(var_f4h) = s7;
    0x000bbed0 sw s6, 0xf0(sp)               |     *(var_f0h) = s6;
    0x000bbed4 sw s5, 0xec(sp)               |     *(var_ech) = s5;
    0x000bbed8 sw s4, 0xe8(sp)               |     *(var_e8h) = s4;
    0x000bbedc sw s3, 0xe4(sp)               |     *(var_e4h) = s3;
    0x000bbee0 sw s2, 0xe0(sp)               |     *(var_e0h) = s2;
    0x000bbee4 sw s1, 0xdc(sp)               |     *(var_dch) = s1;
    0x000bbee8 sw s0, 0xd8(sp)               |     *(var_d8h) = s0;
    0x000bbeec move v1, v0                   |     v1 = v0;
    0x000bbef0 sw v0, 0x28(sp)               |     *(var_28h) = v0;
    0x000bbef4 lw v0, (a1)                   |     v0 = *(a1);
    0x000bbef8 lw v1, (v1)                   |     v1 = *(v1);
    0x000bbefc lw s6, 0x194(v0)              |     s6 = *(v0);
    0x000bbf00 sw v1, 0xd4(sp)               |     *(var_d4h) = v1;
    0x000bbf04 lw v1, 0x14(s6)               |     v1 = *((s6 + 5));
    0x000bbf08 addiu s5, zero, 0x64          |     s5 = 0x64;
                                             |     if (v1 == 0) {
    0x000bbf0c beqz v1, 0xbc2b0              |         goto label_34;
                                             |     }
    0x000bbf10 lw t9, 0x1c(s6)               |     t9 = *((s6 + 7));
    0x000bbf14 move s4, a1                   |     s4 = a1;
    0x000bbf18 move s0, a0                   |     s0 = a0;
    0x000bbf1c move fp, a2                   |     fp = a2;
                                             |     if (t9 != 0) {
    0x000bbf20 beqz t9, 0xbbf50              |         
    0x000bbf24 addiu a1, sp, 0x50            |         a1 = sp + 0x50;
    0x000bbf28 move a0, v0                   |         a0 = v0;
    0x000bbf2c jalr t9                       |         t9 ();
    0x000bbf30 move s5, v0                   |         s5 = v0;
    0x000bbf34 lw gp, 0x20(sp)               |         gp = *(var_20h);
                                             |         if (v0 != 0) {
    0x000bbf38 bnez v0, 0xbc2b0              |             goto label_34;
                                             |         }
    0x000bbf3c lw v0, 0x50(sp)               |         v0 = *(var_50h_2);
    0x000bbf40 addiu s5, zero, 0x64          |         s5 = 0x64;
                                             |         if (v0 != 0) {
    0x000bbf44 bnez v0, 0xbc2b0              |             goto label_34;
                                             |         }
    0x000bbf48 lw v1, 0x14(s6)               |         v1 = *((s6 + 5));
    0x000bbf4c lw v0, (s4)                   |         v0 = *(s4);
                                             |     }
    0x000bbf50 addiu a0, zero, 0x36          |     a0 = 0x36;
    0x000bbf54 addiu s2, sp, 0x78            |     s2 = sp + 0x78;
    0x000bbf58 addiu s3, sp, 0x54            |     s3 = sp + 0x54;
    0x000bbf5c lui a1, 0x6865                |     a1 = 0x68650000;
    0x000bbf60 sw a0, 0x54(sp)               |     *(var_54h_2) = a0;
    0x000bbf64 sw s3, 0x10(sp)               |     *(var_10h) = s3;
    0x000bbf68 move a3, s2                   |     a3 = s2;
    0x000bbf6c move a2, zero                 |     a2 = 0;
    0x000bbf70 addiu a1, a1, 0x6164          |     a1 += 0x6164;
    0x000bbf74 move t9, v1                   |     t9 = v1;
    0x000bbf78 move a0, v0                   |     a0 = v0;
    0x000bbf7c jalr t9                       |     t9 ();
    0x000bbf80 move s5, v0                   |     s5 = v0;
    0x000bbf84 lw gp, 0x20(sp)               |     gp = *(var_20h);
                                             |     if (v0 != 0) {
    0x000bbf88 bnez v0, 0xbc2b0              |         goto label_34;
                                             |     }
    0x000bbf8c sw s3, 0x10(sp)               |     *(var_10h) = s3;
    0x000bbf90 addiu v0, sp, 0x58            |     v0 = sp + 0x58;
    0x000bbf94 move a3, v0                   |     a3 = v0;
    0x000bbf98 sw v0, 0x2c(sp)               |     *(var_2ch_2) = v0;
    0x000bbf9c lw t9, 0x14(s6)               |     t9 = *((s6 + 5));
    0x000bbfa0 addiu v0, zero, 0x20          |     v0 = 0x20;
    0x000bbfa4 lw a0, (s4)                   |     a0 = *(s4);
    0x000bbfa8 lui a1, 0x6d61                |     a1 = 0x6d610000;
    0x000bbfac sw v0, 0x54(sp)               |     *(var_54h_2) = v0;
    0x000bbfb0 move a2, zero                 |     a2 = 0;
    0x000bbfb4 addiu a1, a1, 0x7870          |     a1 += aav.0x00007870;
    0x000bbfb8 jalr t9                       |     t9 ();
    0x000bbfbc move s5, v0                   |     s5 = v0;
    0x000bbfc0 lw gp, 0x20(sp)               |     gp = *(var_20h);
                                             |     if (v0 != 0) {
    0x000bbfc4 bnez v0, 0xbc2b0              |         goto label_34;
                                             |     }
    0x000bbfc8 sw s3, 0x10(sp)               |     *(var_10h) = s3;
    0x000bbfcc addiu v0, zero, 0x24          |     v0 = 0x24;
    0x000bbfd0 lw t9, 0x14(s6)               |     t9 = *((s6 + 5));
    0x000bbfd4 lw a0, (s4)                   |     a0 = *(s4);
    0x000bbfd8 lui a1, 0x6868                |     a1 = 0x68680000;
    0x000bbfdc sw v0, 0x54(sp)               |     *(var_54h_2) = v0;
    0x000bbfe0 addiu a3, sp, 0xb0            |     a3 = sp + 0xb0;
    0x000bbfe4 move a2, zero                 |     a2 = 0;
    0x000bbfe8 addiu a1, a1, 0x6561          |     a1 += 0x6561;
    0x000bbfec jalr t9                       |     t9 ();
    0x000bbff0 move s5, v0                   |     s5 = v0;
    0x000bbff4 lw gp, 0x20(sp)               |     gp = *(var_20h);
                                             |     if (v0 != 0) {
    0x000bbff8 bnez v0, 0xbc2b0              |         goto label_34;
                                             |     }
    0x000bbffc lw t9, -0x72b4(gp)            |     t9 = *((gp - 7341));
    0x000bc000 addiu a0, zero, 0xf0          |     a0 = 0xf0;
    0x000bc004 jalr t9                       |     t9 ();
    0x000bc008 move s1, v0                   |     s1 = v0;
    0x000bc00c lw gp, 0x20(sp)               |     gp = *(var_20h);
                                             |     if (v0 == 0) {
    0x000bc010 beqz v0, 0xbc34c              |         goto label_35;
                                             |     }
    0x000bc014 lhu v1, 0x5c(sp)              |     v1 = *(var_5ch_2);
    0x000bc018 addiu s3, v0, 0xbc            |     s3 = v0 + 0xbc;
    0x000bc01c sll v0, v1, 8                 |     v0 = v1 << 8;
    0x000bc020 srl v1, v1, 8                 |     v1 >>= 8;
    0x000bc024 lw s5, -0x7f08(gp)            |     s5 = *((gp - 8130));
    0x000bc028 lw s7, -0x7880(gp)            |     s7 = *((gp - 7712));
    0x000bc02c or v0, v0, v1                 |     v0 |= v1;
    0x000bc030 andi v0, v0, 0xffff           |     v0 &= 0xffff;
    0x000bc034 addiu a1, zero, 1             |     a1 = 1;
    0x000bc038 move a0, s3                   |     a0 = s3;
    0x000bc03c sw s5, 0x30(sp)               |     *(var_30h_2) = s5;
    0x000bc040 sw v0, 0x88(s1)               |     *((s1 + 34)) = v0;
    0x000bc044 move t9, s7                   |     t9 = s7;
    0x000bc048 sw s6, 0xac(s1)               |     *((s1 + 43)) = s6;
    0x000bc04c sw s4, (s1)                   |     *(s1) = s4;
    0x000bc050 sw zero, 0xdc(s1)             |     *((s1 + 55)) = 0;
    0x000bc054 sw zero, 0xe0(s1)             |     *((s1 + 56)) = 0;
    0x000bc058 jalr t9                       |     t9 ();
    0x000bc05c move t9, s5                   |     t9 = s5;
    0x000bc060 addiu a1, zero, 0x1000        |     a1 = aav.0x00001000;
    0x000bc064 move a0, s3                   |     a0 = s3;
    0x000bc068 jalr t9                       |     t9 ();
    0x000bc06c move s5, v0                   |     s5 = v0;
    0x000bc070 lw gp, 0x20(sp)               |     gp = *(var_20h);
                                             |     if (v0 != 0) {
    0x000bc074 bnez v0, 0xbcce8              |         goto label_36;
                                             |     }
    0x000bc078 lw s5, 0x88(s1)               |     s5 = *((s1 + 34));
    0x000bc07c lw t9, -0x7164(gp)            |     t9 = *((gp - 7257));
    0x000bc080 addiu a1, zero, 8             |     a1 = 8;
    0x000bc084 addiu a0, s5, 2               |     a0 = s5 + 2;
    0x000bc088 jalr t9                       |     t9 ();
    0x000bc08c sw v0, 0xa8(s1)               |     *((s1 + 42)) = v0;
    0x000bc090 lw gp, 0x20(sp)               |     gp = *(var_20h);
                                             |     if (v0 == 0) {
    0x000bc094 beqz v0, 0xbccd4              |         goto label_37;
                                             |     }
    0x000bc098 lw t9, -0x7164(gp)            |     t9 = *((gp - 7257));
    0x000bc09c addiu a1, zero, 4             |     a1 = 4;
    0x000bc0a0 addiu a0, s5, 1               |     a0 = s5 + 1;
    0x000bc0a4 jalr t9                       |     t9 ();
    0x000bc0a8 sw v0, 0xe4(s1)               |     *((s1 + 57)) = v0;
    0x000bc0ac lw gp, 0x20(sp)               |     gp = *(var_20h);
                                             |     if (v0 == 0) {
    0x000bc0b0 beqz v0, 0xbcd50              |         goto label_38;
                                             |     }
    0x000bc0b4 lhu t4, 0x9c(sp)              |     t4 = *(var_9ch);
    0x000bc0b8 lhu t3, 0x9e(sp)              |     t3 = *(var_9eh);
    0x000bc0bc lhu t2, 0xa0(sp)              |     t2 = *(var_a0h);
    0x000bc0c0 lhu t1, 0xa2(sp)              |     t1 = *(var_a2h);
    0x000bc0c4 lhu a3, 0xb4(sp)              |     a3 = *(var_b4h);
    0x000bc0c8 lhu a2, 0xb6(sp)              |     a2 = *(var_b6h);
    0x000bc0cc lhu t5, 0x8a(sp)              |     t5 = *(var_8ah);
    0x000bc0d0 sll t8, t4, 8                 |     t8 = t4 << 8;
    0x000bc0d4 sll t7, t3, 8                 |     t7 = t3 << 8;
    0x000bc0d8 sll t6, t2, 8                 |     t6 = t2 << 8;
    0x000bc0dc sll a1, t1, 8                 |     a1 = t1 << 8;
    0x000bc0e0 sll a0, a3, 8                 |     a0 = a3 << 8;
    0x000bc0e4 sll v1, a2, 8                 |     v1 = a2 << 8;
    0x000bc0e8 sll v0, t5, 8                 |     v0 = t5 << 8;
    0x000bc0ec srl t4, t4, 8                 |     t4 >>= 8;
    0x000bc0f0 srl t3, t3, 8                 |     t3 >>= 8;
    0x000bc0f4 srl t2, t2, 8                 |     t2 >>= 8;
    0x000bc0f8 srl t1, t1, 8                 |     t1 >>= 8;
    0x000bc0fc srl a3, a3, 8                 |     a3 >>= 8;
    0x000bc100 srl a2, a2, 8                 |     a2 >>= 8;
    0x000bc104 srl t5, t5, 8                 |     t5 >>= 8;
    0x000bc108 or t4, t8, t4                 |     t4 = t8 | t4;
    0x000bc10c or t3, t7, t3                 |     t3 = t7 | t3;
    0x000bc110 or t2, t6, t2                 |     t2 = t6 | t2;
    0x000bc114 or a1, a1, t1                 |     a1 |= t1;
    0x000bc118 or a0, a0, a3                 |     a0 |= a3;
    0x000bc11c or v1, v1, a2                 |     v1 |= a2;
    0x000bc120 or v0, v0, t5                 |     v0 |= t5;
    0x000bc124 seh t4, t4                    |     __asm ("seh t4, t4");
    0x000bc128 seh t3, t3                    |     __asm ("seh t3, t3");
    0x000bc12c seh t2, t2                    |     __asm ("seh t2, t2");
    0x000bc130 seh a1, a1                    |     __asm ("seh a1, a1");
    0x000bc134 seh a0, a0                    |     __asm ("seh a0, a0");
    0x000bc138 seh v1, v1                    |     __asm ("seh v1, v1");
    0x000bc13c seh v0, v0                    |     __asm ("seh v0, v0");
    0x000bc140 sw fp, 0xec(s1)               |     *((s1 + 59)) = fp;
    0x000bc144 sw zero, 0xb0(s1)             |     *((s1 + 44)) = 0;
    0x000bc148 sw t4, 0x8c(s1)               |     *((s1 + 35)) = t4;
    0x000bc14c sw t3, 0x90(s1)               |     *((s1 + 36)) = t3;
    0x000bc150 sw t2, 0x94(s1)               |     *((s1 + 37)) = t2;
    0x000bc154 sw a1, 0x98(s1)               |     *((s1 + 38)) = a1;
    0x000bc158 sw a0, 0x9c(s1)               |     *((s1 + 39)) = a0;
    0x000bc15c sw v1, 0xa0(s1)               |     *((s1 + 40)) = v1;
                                             |     if (v0 == 0) {
    0x000bc160 beqz v0, 0xbc2f4              |         goto label_39;
                                             |     }
                                             | label_6:
    0x000bc164 lw t9, -0x74f8(gp)            |     t9 = *((gp - 7486));
    0x000bc168 lw a0, (s4)                   |     a0 = *(s4);
    0x000bc16c sw v0, 0xa4(s1)               |     *((s1 + 41)) = v0;
    0x000bc170 addiu a2, s1, 0x80            |     a2 = s1 + 0x80;
    0x000bc174 addiu a1, s1, 0x84            |     a1 = s1 + 0x84;
    0x000bc178 sw zero, 0x84(s1)             |     *((s1 + 33)) = 0;
    0x000bc17c sw zero, 0x80(s1)             |     *((s1 + 32)) = 0;
    0x000bc180 bal 0xbbbc0                   |     fcn_000bbbc0 ();
                                             |     goto label_5;
    0x000bc184 move s5, v0                   |     s5 = v0;
    0x000bc188 addiu v0, v0, -1              |     v0 += -1;
    0x000bc18c sltiu v0, v0, 0x2a            |     v0 = (v0 < 0x2a) ? 1 : 0;
    0x000bc190 lw gp, 0x20(sp)               |     gp = *(var_20h);
                                             |     if (v0 != 0) {
    0x000bc194 bnez v0, 0xbcc74              |         goto label_40;
                                             |     }
    0x000bc198 lw v0, 0x84(s1)               |     v0 = *((s1 + 33));
    0x000bc19c lw t9, -0x72b4(gp)            |     t9 = *((gp - 7341));
                                             |     if (v0 == 0) {
    0x000bc1a0 beqz v0, 0xbc2fc              |         goto label_41;
                                             |     }
                                             | label_7:
    0x000bc1a4 lw a0, 0x88(s1)               |     a0 = *((s1 + 34));
    0x000bc1a8 lw t9, -0x7164(gp)            |     t9 = *((gp - 7257));
    0x000bc1ac addiu a1, zero, 4             |     a1 = 4;
    0x000bc1b0 addiu a0, a0, 1               |     a0++;
    0x000bc1b4 jalr t9                       |     t9 ();
    0x000bc1b8 sw v0, 0xb4(s1)               |     *((s1 + 45)) = v0;
    0x000bc1bc lw gp, 0x20(sp)               |     gp = *(var_20h);
                                             |     if (v0 == 0) {
    0x000bc1c0 beqz v0, 0xbcd24              |         goto label_42;
                                             |     }
    0x000bc1c4 addiu s4, s1, 0xcc            |     s4 = s1 + 0xcc;
    0x000bc1c8 addiu a1, zero, 4             |     a1 = 4;
    0x000bc1cc move a0, s4                   |     a0 = s4;
    0x000bc1d0 move t9, s7                   |     t9 = s7;
    0x000bc1d4 sw s4, 0x4c(sp)               |     *(var_4ch_2) = s4;
    0x000bc1d8 jalr t9                       |     t9 ();
    0x000bc1dc lw t9, 0x30(sp)               |     t9 = *(var_30h_2);
    0x000bc1e0 addiu a1, zero, 0xa           |     a1 = 0xa;
    0x000bc1e4 move a0, s4                   |     a0 = s4;
    0x000bc1e8 jalr t9                       |     t9 ();
    0x000bc1ec move s5, v0                   |     s5 = v0;
    0x000bc1f0 lw gp, 0x20(sp)               |     gp = *(var_20h);
                                             |     if (v0 != 0) {
    0x000bc1f4 bnez v0, 0xbcdd4              |         goto label_43;
                                             |     }
    0x000bc1f8 lw a2, (s1)                   |     a2 = *(s1);
    0x000bc1fc sw zero, 0xe8(s1)             |     *((s1 + 58)) = 0;
    0x000bc200 lw v0, 0x20(a2)               |     v0 = *((a2 + 8));
                                             |     if (v0 == 0) {
    0x000bc204 beql v0, zero, 0xbc374        |         goto label_44;
                                             |     }
    0x000bc208 lw v0, 0xac(s1)               |     v0 = *((s1 + 43));
    0x000bc20c lw v0, 0xc(a2)                |     v0 = *((a2 + 3));
    0x000bc210 lw v1, 0x88(s1)               |     v1 = *((s1 + 34));
    0x000bc214 lhu v0, (v0)                  |     v0 = *(v0);
    0x000bc218 slt v1, v0, v1                |     v1 = (v0 < v1) ? 1 : 0;
    0x000bc21c move a0, zero                 |     a0 = 0;
                                             |     if (v1 == 0) {
    0x000bc220 beqz v1, 0xbc298              |         goto label_45;
                                             |     }
    0x000bc224 lw v1, 0xe4(s1)               |     v1 = *((s1 + 57));
                                             |     do {
    0x000bc228 sll a1, v0, 2                 |         a1 = v0 << 2;
    0x000bc22c addu v1, v1, a1               |         v1 += a1;
    0x000bc230 lw a1, (v1)                   |         a1 = *(v1);
    0x000bc234 lw v0, 0x20(a2)               |         v0 = *((a2 + 8));
                                             |         if (a1 != 0) {
    0x000bc238 bnel a1, zero, 0xbc26c        |             
    0x000bc23c lw a1, 0xb0(s1)               |             a1 = *((s1 + 44));
    0x000bc240 sw a1, (v1)                   |             *(v1) = a1;
    0x000bc244 lw a1, 0xb0(s1)               |             a1 = *((s1 + 44));
    0x000bc248 lw v1, 0xa8(s1)               |             v1 = *((s1 + 42));
    0x000bc24c sll a1, a1, 3                 |             a1 <<= 3;
    0x000bc250 addu v1, v1, a1               |             v1 += a1;
    0x000bc254 sw v0, (v1)                   |             *(v1) = v0;
    0x000bc258 lw v0, 0xb0(s1)               |             v0 = *((s1 + 44));
    0x000bc25c lw a2, (s1)                   |             a2 = *(s1);
    0x000bc260 addiu v0, v0, 1               |             v0++;
    0x000bc264 sw v0, 0xb0(s1)               |             *((s1 + 44)) = v0;
    0x000bc268 lw v0, 0x20(a2)               |             v0 = *((a2 + 8));
                                             |         }
    0x000bc26c addiu a0, a0, 1               |         a0++;
    0x000bc270 sltu v0, a0, v0               |         v0 = (a0 < v0) ? 1 : 0;
    0x000bc274 sll v0, a0, 2                 |         v0 = a0 << 2;
                                             |         if (v0 == 0) {
    0x000bc278 beqz v0, 0xbc370              |             goto label_46;
                                             |         }
    0x000bc27c lw v1, 0xc(a2)                |         v1 = *((a2 + 3));
    0x000bc280 lw a1, 0x88(s1)               |         a1 = *((s1 + 34));
    0x000bc284 lwx v0, v0(v1)                |         __asm ("lwx v0, v0(v1)");
    0x000bc288 andi v0, v0, 0xffff           |         v0 &= 0xffff;
    0x000bc28c slt v1, v0, a1                |         v1 = (v0 < a1) ? 1 : 0;
    0x000bc290 lw v1, 0xe4(s1)               |         v1 = *((s1 + 57));
    0x000bc294 bnel v1, zero, 0xbc228        |         
                                             |     } while (v1 == 0);
                                             | label_45:
    0x000bc298 addiu s5, zero, 0x64          |     s5 = 0x64;
                                             | label_12:
    0x000bc29c lw t9, -0x74e4(gp)            |     t9 = *((gp - 7481));
                                             | label_8:
    0x000bc2a0 addiu t9, t9, -0x65b0         |     t9 += -0x65b0;
    0x000bc2a4 move a0, s1                   |     a0 = s1;
    0x000bc2a8 bal 0xb9a50                   |     fcn_000b9a50 ();
    0x000bc2ac lw gp, 0x20(sp)               |     gp = *(var_20h);
                                             | label_34:
    0x000bc2b0 lw v0, 0x28(sp)               |     v0 = *(var_28h);
                                             |     do {
    0x000bc2b4 lw a0, 0xd4(sp)               |         a0 = *(var_d4h);
    0x000bc2b8 lw v1, (v0)                   |         v1 = *(v0);
    0x000bc2bc move v0, s5                   |         v0 = s5;
                                             |         if (a0 != v1) {
    0x000bc2c0 bne a0, v1, 0xbce74           |             goto label_47;
                                             |         }
    0x000bc2c4 lw ra, 0xfc(sp)               |         ra = *(var_fch);
    0x000bc2c8 lw fp, 0xf8(sp)               |         fp = *(var_f8h);
    0x000bc2cc lw s7, 0xf4(sp)               |         s7 = *(var_f4h);
    0x000bc2d0 lw s6, 0xf0(sp)               |         s6 = *(var_f0h);
    0x000bc2d4 lw s5, 0xec(sp)               |         s5 = *(var_ech);
    0x000bc2d8 lw s4, 0xe8(sp)               |         s4 = *(var_e8h);
    0x000bc2dc lw s3, 0xe4(sp)               |         s3 = *(var_e4h);
    0x000bc2e0 lw s2, 0xe0(sp)               |         s2 = *(var_e0h);
    0x000bc2e4 lw s1, 0xdc(sp)               |         s1 = *(var_dch);
    0x000bc2e8 lw s0, 0xd8(sp)               |         s0 = *(var_d8h);
    0x000bc2ec addiu sp, sp, 0x100           |         
    0x000bc2f0 jr ra                         |         return v0;
                                             | label_39:
    0x000bc2f4 addiu v0, zero, 0x800         |         v0 = 0x800;
    0x000bc2f8 b 0xbc164                     |         goto label_6;
                                             | label_41:
    0x000bc2fc addiu a0, zero, 0x1e          |         a0 = 0x1e;
    0x000bc300 jalr t9                       |         t9 ();
    0x000bc304 sw v0, 0x84(s1)               |         *((s1 + 33)) = v0;
    0x000bc308 lw gp, 0x20(sp)               |         gp = *(var_20h);
                                             |         if (v0 == 0) {
    0x000bc30c beqz v0, 0xbcc60              |             goto label_48;
                                             |         }
    0x000bc310 lw v1, 4(s4)                  |         v1 = *((s4 + 1));
    0x000bc314 lw a0, 8(s4)                  |         a0 = *((s4 + 2));
    0x000bc318 sw v1, 0x14(sp)               |         *(var_14h) = v1;
    0x000bc31c lw v1, -0x7f9c(gp)            |         v1 = *((gp - 8167));
    0x000bc320 lw t9, -0x7340(gp)            |         t9 = *((gp - 7376));
    0x000bc324 addiu v1, v1, 0x64a8          |         v1 += 0x64a8;
    0x000bc328 sw a0, 0x18(sp)               |         *(var_18h_2) = a0;
    0x000bc32c sw v1, 0x10(sp)               |         *(var_10h) = v1;
    0x000bc330 addiu a3, zero, 0x1e          |         a3 = 0x1e;
    0x000bc334 addiu a2, zero, 1             |         a2 = 1;
    0x000bc338 addiu a1, zero, 0x1e          |         a1 = 0x1e;
    0x000bc33c move a0, v0                   |         a0 = v0;
    0x000bc340 jalr t9                       |         t9 ();
    0x000bc344 lw gp, 0x20(sp)               |         gp = *(var_20h);
    0x000bc348 b 0xbc1a4                     |         goto label_7;
                                             | label_35:
    0x000bc34c lw t9, -0x7f84(gp)            |         t9 = *((gp - 8161));
    0x000bc350 addiu a0, zero, 1             |         a0 = 1;
    0x000bc354 jalr t9                       |         t9 ();
    0x000bc358 lw gp, 0x20(sp)               |         gp = *(var_20h);
    0x000bc35c move s5, v0                   |         s5 = v0;
                                             | label_15:
    0x000bc360 lw v0, 0x28(sp)               |         v0 = *(var_28h);
    0x000bc364 bnez s5, 0xbc2b4              |         
                                             |     } while (s5 != 0);
    0x000bc368 lw v0, (zero)                 |     v0 = *(zero);
    0x000bc36c teq zero, zero                |     __asm ("teq zero, zero");
                                             | label_46:
    0x000bc370 lw v0, 0xac(s1)               |     v0 = *((s1 + 43));
                                             | label_44:
    0x000bc374 sw zero, 0x78(sp)             |     *(var_78h) = 0;
    0x000bc378 lw a0, (a2)                   |     a0 = *(a2);
    0x000bc37c sw s2, 0x10(sp)               |     *(var_10h) = s2;
    0x000bc380 lw t9, 0x14(v0)               |     t9 = *((v0 + 5));
    0x000bc384 lui a1, 0x6376                |     a1 = 0x63760000;
    0x000bc388 move a3, zero                 |     a3 = 0;
    0x000bc38c move a2, zero                 |     a2 = 0;
    0x000bc390 addiu a1, a1, 0x7420          |     a1 += 0x7420;
    0x000bc394 jalr t9                       |     t9 ();
    0x000bc398 lw a0, (s1)                   |     a0 = *(s1);
    0x000bc39c lw v1, 0xac(s1)               |     v1 = *((s1 + 43));
    0x000bc3a0 sw zero, 0x78(sp)             |     *(var_78h) = 0;
    0x000bc3a4 lw a0, (a0)                   |     a0 = *(a0);
    0x000bc3a8 sw s2, 0x10(sp)               |     *(var_10h) = s2;
    0x000bc3ac lw t9, 0x14(v1)               |     t9 = *((v1 + 5));
    0x000bc3b0 lui a1, 0x6670                |     a1 = 0x66700000;
    0x000bc3b4 move a3, zero                 |     a3 = 0;
    0x000bc3b8 move a2, zero                 |     a2 = 0;
    0x000bc3bc addiu a1, a1, 0x676d          |     a1 += 0x676d;
    0x000bc3c0 move s6, v0                   |     s6 = v0;
    0x000bc3c4 jalr t9                       |     t9 ();
    0x000bc3c8 lw a0, (s1)                   |     a0 = *(s1);
    0x000bc3cc lw v1, 0xac(s1)               |     v1 = *((s1 + 43));
    0x000bc3d0 sw zero, 0x78(sp)             |     *(var_78h) = 0;
    0x000bc3d4 lw a0, (a0)                   |     a0 = *(a0);
    0x000bc3d8 sw s2, 0x10(sp)               |     *(var_10h) = s2;
    0x000bc3dc lw t9, 0x14(v1)               |     t9 = *((v1 + 5));
    0x000bc3e0 lui a1, 0x7072                |     a1 = 0x70726570;
    0x000bc3e4 addiu a1, a1, 0x6570          |     
    0x000bc3e8 move a3, zero                 |     a3 = 0;
    0x000bc3ec move a2, zero                 |     a2 = 0;
    0x000bc3f0 move s4, v0                   |     s4 = v0;
    0x000bc3f4 jalr t9                       |     t9 ();
    0x000bc3f8 lw a1, 0xec(s1)               |     a1 = *((s1 + 59));
    0x000bc3fc lw gp, 0x20(sp)               |     gp = *(var_20h);
    0x000bc400 sw zero, 0x7c(s1)             |     *((s1 + 31)) = 0;
                                             |     if (a1 == 0) {
    0x000bc404 beqz a1, 0xbcc50              |         goto label_49;
                                             |     }
    0x000bc408 lw v1, (s1)                   |     v1 = *(s1);
    0x000bc40c lw v1, 0x2c(v1)               |     v1 = *((v1 + 11));
    0x000bc410 sltu v1, zero, v1             |     v1 = (0 < v1) ? 1 : 0;
                                             |     if (s6 != 0) {
                                             | label_13:
    0x000bc414 beql s6, zero, 0xbc41c        |         
    0x000bc418 addiu v1, v1, 1               |         v1++;
                                             |     }
                                             |     if (s4 != 0) {
    0x000bc41c beql s4, zero, 0xbc424        |         
    0x000bc420 addiu v1, v1, 1               |         v1++;
                                             |     }
    0x000bc424 lui a0, 0x676c                |     a0 = 0x676c7966;
    0x000bc428 addiu a0, a0, 0x7966          |     
    0x000bc42c sw a0, 4(s1)                  |     *((s1 + 1)) = a0;
    0x000bc430 lw a0, -0x74e4(gp)            |     a0 = *((gp - 7481));
    0x000bc434 sw v1, 0xc(s1)                |     *((s1 + 3)) = v1;
    0x000bc438 addiu a0, a0, -0x5108         |     a0 += -0x5108;
    0x000bc43c addiu v1, zero, 1             |     v1 = 1;
    0x000bc440 sw a0, 8(s1)                  |     *((s1 + 2)) = a0;
    0x000bc444 sw v1, 0x7c(s1)               |     *((s1 + 31)) = v1;
                                             |     if (a1 == 0) {
    0x000bc448 beqz a1, 0xbc944              |         goto label_50;
                                             |     }
    0x000bc44c lw v1, (s1)                   |     v1 = *(s1);
    0x000bc450 lw v1, 0x2c(v1)               |     v1 = *((v1 + 11));
    0x000bc454 addiu t4, zero, 2             |     t4 = 2;
                                             |     if (v1 == 0) {
    0x000bc458 beqz v1, 0xbc948              |         goto label_51;
                                             |     }
    0x000bc45c lui v1, 0x636d                |     v1 = 0x636d6170;
    0x000bc460 addiu v1, v1, 0x6170          |     
    0x000bc464 sw v1, 0x10(s1)               |     *((s1 + 4)) = v1;
    0x000bc468 lw v1, -0x74e4(gp)            |     v1 = *((gp - 7481));
    0x000bc46c sw zero, 0x18(s1)             |     *((s1 + 6)) = 0;
    0x000bc470 addiu v1, v1, -0x57ac         |     v1 += -0x57ac;
    0x000bc474 sw v1, 0x14(s1)               |     *((s1 + 5)) = v1;
    0x000bc478 addiu v1, zero, 2             |     v1 = 2;
    0x000bc47c sw v1, 0x7c(s1)               |     *((s1 + 31)) = v1;
    0x000bc480 addiu t4, zero, 3             |     t4 = 3;
    0x000bc484 addiu a1, zero, 2             |     a1 = 2;
    0x000bc488 addiu a0, zero, 1             |     a0 = 1;
                                             |     if (s6 != 0) {
    0x000bc48c bnez s6, 0xbc954              |         goto label_52;
                                             |     }
                                             | label_9:
    0x000bc490 sll v1, a1, 1                 |     v1 = a1 << 1;
    0x000bc494 addu v1, v1, a1               |     v1 += a1;
    0x000bc498 sll v1, v1, 2                 |     v1 <<= 2;
    0x000bc49c addu v1, s1, v1               |     v1 = s1 + v1;
    0x000bc4a0 addiu t3, a1, 1               |     t3 = a1 + 1;
    0x000bc4a4 sw a0, 0xc(v1)                |     *((v1 + 3)) = a0;
    0x000bc4a8 lui a0, 0x6376                |     a0 = 0x63767420;
    0x000bc4ac addiu a0, a0, 0x7420          |     
    0x000bc4b0 sw a0, 4(v1)                  |     *((v1 + 1)) = a0;
    0x000bc4b4 lw a0, -0x74e4(gp)            |     a0 = *((gp - 7481));
    0x000bc4b8 addiu a0, a0, -0x599c         |     a0 += -0x599c;
    0x000bc4bc sw a0, 8(v1)                  |     *((v1 + 2)) = a0;
    0x000bc4c0 sw t4, 0x7c(s1)               |     *((s1 + 31)) = t4;
    0x000bc4c4 move a0, a1                   |     a0 = a1;
    0x000bc4c8 move a1, t4                   |     a1 = t4;
    0x000bc4cc addiu t4, t4, 1               |     t4++;
                                             | label_10:
    0x000bc4d0 sll v1, a1, 1                 |     v1 = a1 << 1;
                                             |     if (s4 == 0) {
    0x000bc4d4 bnez s4, 0xbc514              |         
    0x000bc4d8 addu v1, v1, a1               |         v1 += a1;
    0x000bc4dc sll v1, v1, 2                 |         v1 <<= 2;
    0x000bc4e0 addu v1, s1, v1               |         v1 = s1 + v1;
    0x000bc4e4 lui a2, 0x6670                |         a2 = 0x6670676d;
    0x000bc4e8 addiu a2, a2, 0x676d          |         
    0x000bc4ec sw a2, 4(v1)                  |         *((v1 + 1)) = a2;
    0x000bc4f0 lw a2, -0x74e4(gp)            |         a2 = *((gp - 7481));
    0x000bc4f4 sw a0, 0xc(v1)                |         *((v1 + 3)) = a0;
    0x000bc4f8 addiu a2, a2, -0x599c         |         a2 += -0x599c;
    0x000bc4fc move a1, t4                   |         a1 = t4;
    0x000bc500 move a0, t3                   |         a0 = t3;
    0x000bc504 sw a2, 8(v1)                  |         *((v1 + 2)) = a2;
    0x000bc508 addiu t4, t4, 1               |         t4++;
    0x000bc50c addiu t3, t3, 1               |         t3++;
    0x000bc510 sll v1, a1, 1                 |         v1 = a1 << 1;
                                             |     }
    0x000bc514 addu v1, v1, a1               |     v1 += a1;
    0x000bc518 sll v1, v1, 2                 |     v1 <<= 2;
    0x000bc51c addu v1, s1, v1               |     v1 = s1 + v1;
    0x000bc520 sll t2, t4, 1                 |     t2 = t4 << 1;
    0x000bc524 lui t9, 0x6865                |     t9 = 0x68650000;
    0x000bc528 addu t2, t2, t4               |     t2 += t4;
    0x000bc52c addiu t9, t9, 0x6164          |     t9 += 0x6164;
    0x000bc530 sw t9, 4(v1)                  |     *((v1 + 1)) = t9;
    0x000bc534 sll t2, t2, 2                 |     t2 <<= 2;
    0x000bc538 lw t9, -0x74e4(gp)            |     t9 = *((gp - 7481));
    0x000bc53c sw t3, 0xc(v1)                |     *((v1 + 3)) = t3;
    0x000bc540 addu t2, s1, t2               |     t2 = s1 + t2;
    0x000bc544 lui t3, 0x6868                |     t3 = 0x68686561;
    0x000bc548 addiu t3, t3, 0x6561          |     
    0x000bc54c addiu t9, t9, -0x5304         |     t9 += -0x5304;
    0x000bc550 sw t9, 8(v1)                  |     *((v1 + 2)) = t9;
    0x000bc554 sw t3, 4(t2)                  |     *((t2 + 1)) = t3;
    0x000bc558 lw t3, -0x74e4(gp)            |     t3 = *((gp - 7481));
    0x000bc55c addiu t7, a1, 2               |     t7 = a1 + 2;
    0x000bc560 addiu t8, a0, 2               |     t8 = a0 + 2;
    0x000bc564 addiu t3, t3, -0x5aa4         |     t3 += -0x5aa4;
    0x000bc568 sw t3, 8(t2)                  |     *((t2 + 2)) = t3;
    0x000bc56c sw t8, 0xc(t2)                |     *((t2 + 3)) = t8;
    0x000bc570 sll t1, t7, 1                 |     t1 = t7 << 1;
    0x000bc574 lui t2, 0x686d                |     t2 = 0x686d0000;
    0x000bc578 addu t1, t1, t7               |     t1 += t7;
    0x000bc57c addiu t2, t2, 0x7478          |     t2 += aav.0x00007478;
    0x000bc580 sw t2, 0x1c(v1)               |     *((v1 + 7)) = t2;
    0x000bc584 sll t1, t1, 2                 |     t1 <<= 2;
    0x000bc588 lw t2, -0x74e4(gp)            |     t2 = *((gp - 7481));
    0x000bc58c addu t1, s1, t1               |     t1 = s1 + t1;
    0x000bc590 addiu t6, a1, 3               |     t6 = a1 + 3;
    0x000bc594 addiu t7, a0, 3               |     t7 = a0 + 3;
    0x000bc598 addiu t2, t2, -0x5d34         |     t2 += -0x5d34;
    0x000bc59c sw t2, 0x20(v1)               |     *((v1 + 8)) = t2;
    0x000bc5a0 sll a3, t6, 1                 |     a3 = t6 << 1;
    0x000bc5a4 sw t7, 0xc(t1)                |     *((t1 + 3)) = t7;
    0x000bc5a8 lui t1, 0x6c6f                |     t1 = 0x6c6f0000;
    0x000bc5ac addu a3, a3, t6               |     a3 += t6;
    0x000bc5b0 addiu t1, t1, 0x6361          |     t1 += 0x6361;
    0x000bc5b4 sw t1, 0x28(v1)               |     *((v1 + 10)) = t1;
    0x000bc5b8 addiu t5, a1, 4               |     t5 = a1 + 4;
    0x000bc5bc sll a3, a3, 2                 |     a3 <<= 2;
    0x000bc5c0 lw t1, -0x74e4(gp)            |     t1 = *((gp - 7481));
    0x000bc5c4 sll a2, t5, 1                 |     a2 = t5 << 1;
    0x000bc5c8 addu a3, s1, a3               |     a3 = s1 + a3;
    0x000bc5cc addu a2, a2, t5               |     a2 += t5;
    0x000bc5d0 addiu t1, t1, -0x4bcc         |     t1 += -0x4bcc;
    0x000bc5d4 addiu t5, a0, 4               |     t5 = a0 + 4;
    0x000bc5d8 sw t1, 0x2c(v1)               |     *((v1 + 11)) = t1;
    0x000bc5dc sw t5, 0xc(a3)                |     *((a3 + 3)) = t5;
    0x000bc5e0 lui a3, 0x6d61                |     a3 = 0x6d610000;
    0x000bc5e4 addiu a3, a3, 0x7870          |     
    0x000bc5e8 sw a3, 0x34(v1)               |     *((v1 + 13)) = a3;
    0x000bc5ec sll a2, a2, 2                 |     a2 <<= 2;
    0x000bc5f0 lw a3, -0x74e4(gp)            |     a3 = *((gp - 7481));
    0x000bc5f4 addu a2, s1, a2               |     a2 = s1 + a2;
    0x000bc5f8 addiu t4, a0, 5               |     t4 = a0 + 5;
    0x000bc5fc addiu t6, a1, 5               |     t6 = a1 + 5;
    0x000bc600 addiu a3, a3, -0x5e3c         |     a3 += -0x5e3c;
    0x000bc604 sw a3, 0x38(v1)               |     *((v1 + 14)) = a3;
    0x000bc608 sw t4, 0xc(a2)                |     *((a2 + 3)) = t4;
    0x000bc60c sw t6, 0x7c(s1)               |     *((s1 + 31)) = t6;
                                             |     if (v0 == 0) {
    0x000bc610 bnez v0, 0xbc64c              |         
    0x000bc614 addiu v0, a1, 6               |         v0 = a1 + 6;
    0x000bc618 sll a2, t6, 1                 |         a2 = t6 << 1;
    0x000bc61c lui a1, 0x7072                |         a1 = 0x70726570;
    0x000bc620 addiu a1, a1, 0x6570          |         
    0x000bc624 addu a2, a2, t6               |         a2 += t6;
    0x000bc628 sw a1, 0x40(v1)               |         *((v1 + 16)) = a1;
    0x000bc62c sll a2, a2, 2                 |         a2 <<= 2;
    0x000bc630 lw a1, -0x74e4(gp)            |         a1 = *((gp - 7481));
    0x000bc634 addu a2, s1, a2               |         a2 = s1 + a2;
    0x000bc638 addiu a0, a0, 6               |         a0 += 6;
    0x000bc63c addiu a1, a1, -0x599c         |         a1 += -0x599c;
    0x000bc640 sw a1, 0x44(v1)               |         *((v1 + 17)) = a1;
    0x000bc644 sw a0, 0xc(a2)                |         *((a2 + 3)) = a0;
    0x000bc648 sw v0, 0x7c(s1)               |         *((s1 + 31)) = v0;
                                             |     }
    0x000bc64c lw s5, 0xe8(s1)               |     s5 = *((s1 + 58));
    0x000bc650 lw t9, -0x74e4(gp)            |     t9 = *((gp - 7481));
                                             |     if (s5 != 0) {
    0x000bc654 bnez s5, 0xbc2a0              |         goto label_8;
                                             |     }
    0x000bc658 lw s5, 0x7c(s1)               |     s5 = *((s1 + 31));
    0x000bc65c slti v0, s5, 2                |     v0 = (s5 < 2) ? 1 : 0;
    0x000bc660 addiu a0, zero, 1             |     a0 = 1;
                                             |     if (v0 != 0) {
    0x000bc664 bnez v0, 0xbcdfc              |         goto label_53;
                                             |     }
    0x000bc668 move s7, zero                 |     s7 = 0;
    0x000bc66c b 0xbc674                     |     
                                             |     while (v1 == 0) {
    0x000bc670 move a0, v0                   |         a0 = v0;
    0x000bc674 sll v0, a0, 1                 |         v0 = a0 << 1;
    0x000bc678 andi v0, v0, 0xffff           |         v0 &= 0xffff;
    0x000bc67c sll v1, v0, 1                 |         v1 = v0 << 1;
    0x000bc680 addiu s7, s7, 1               |         s7++;
    0x000bc684 slt v1, s5, v1                |         v1 = (s5 < v1) ? 1 : 0;
    0x000bc688 andi s7, s7, 0xffff           |         s7 &= 0xffff;
    0x000bc68c beqz v1, 0xbc670              |         
                                             |     }
    0x000bc690 sll a0, a0, 5                 |     a0 <<= 5;
    0x000bc694 andi s4, a0, 0xffff           |     s4 = a0 & 0xffff;
                                             | label_22:
    0x000bc698 lw t9, -0x74e4(gp)            |     t9 = *((gp - 7481));
    0x000bc69c addiu v0, zero, 0x100         |     v0 = aav.0x00000100;
    0x000bc6a0 sw v0, 0x78(sp)               |     *(var_78h) = v0;
    0x000bc6a4 addiu a2, zero, 4             |     a2 = 4;
    0x000bc6a8 move a1, s2                   |     a1 = s2;
    0x000bc6ac addiu t9, t9, -0x5880         |     t9 += -0x5880;
    0x000bc6b0 move a0, s1                   |     a0 = s1;
    0x000bc6b4 bal 0xba780                   |     fcn_000ba780 ();
    0x000bc6b8 lw v0, 0xe8(s1)               |     v0 = *((s1 + 58));
    0x000bc6bc lw gp, 0x20(sp)               |     gp = *(var_20h);
                                             |     if (v0 != 0) {
    0x000bc6c0 bnez v0, 0xbc95c              |         goto label_54;
                                             |     }
    0x000bc6c4 lw s6, -0x74e4(gp)            |     s6 = *((gp - 7481));
    0x000bc6c8 lhu a1, 0x7c(s1)              |     a1 = *((s1 + 62));
    0x000bc6cc addiu s6, s6, -0x581c         |     s6 += -0x581c;
    0x000bc6d0 move t9, s6                   |     t9 = s6;
    0x000bc6d4 move a0, s1                   |     a0 = s1;
    0x000bc6d8 bal 0xba7e4                   |     fcn_000ba7e4 ();
    0x000bc6dc lw v0, 0xe8(s1)               |     v0 = *((s1 + 58));
    0x000bc6e0 lw gp, 0x20(sp)               |     gp = *(var_20h);
                                             |     if (v0 != 0) {
    0x000bc6e4 bnez v0, 0xbc95c              |         goto label_54;
                                             |     }
    0x000bc6e8 move a1, s4                   |     a1 = s4;
    0x000bc6ec move t9, s6                   |     t9 = s6;
    0x000bc6f0 move a0, s1                   |     a0 = s1;
    0x000bc6f4 bal 0xba7e4                   |     fcn_000ba7e4 ();
    0x000bc6f8 lw v0, 0xe8(s1)               |     v0 = *((s1 + 58));
    0x000bc6fc lw gp, 0x20(sp)               |     gp = *(var_20h);
                                             |     if (v0 != 0) {
    0x000bc700 bnez v0, 0xbc95c              |         goto label_54;
                                             |     }
    0x000bc704 move a1, s7                   |     a1 = s7;
    0x000bc708 move t9, s6                   |     t9 = s6;
    0x000bc70c move a0, s1                   |     a0 = s1;
    0x000bc710 bal 0xba7e4                   |     fcn_000ba7e4 ();
    0x000bc714 lw v0, 0xe8(s1)               |     v0 = *((s1 + 58));
    0x000bc718 lw gp, 0x20(sp)               |     gp = *(var_20h);
                                             |     if (v0 != 0) {
    0x000bc71c bnez v0, 0xbc95c              |         goto label_54;
                                             |     }
    0x000bc720 sll a1, s5, 4                 |     a1 = s5 << 4;
    0x000bc724 subu a1, a1, s4               |     __asm ("subu a1, a1, s4");
    0x000bc728 andi a1, a1, 0xfff0           |     a1 &= 0xfff0;
    0x000bc72c move t9, s6                   |     t9 = s6;
    0x000bc730 move a0, s1                   |     a0 = s1;
    0x000bc734 bal 0xba7e4                   |     fcn_000ba7e4 ();
    0x000bc738 lw a1, 0x7c(s1)               |     a1 = *((s1 + 31));
    0x000bc73c lw v0, 0xe8(s1)               |     v0 = *((s1 + 58));
    0x000bc740 lw gp, 0x20(sp)               |     gp = *(var_20h);
    0x000bc744 sll a1, a1, 4                 |     a1 <<= 4;
                                             |     if (v0 != 0) {
    0x000bc748 bnez v0, 0xbc95c              |         goto label_54;
                                             |     }
    0x000bc74c lw t9, -0x74e4(gp)            |     t9 = *((gp - 7481));
    0x000bc750 move a2, s2                   |     a2 = s2;
    0x000bc754 addiu t9, t9, -0x5f8c         |     t9 += -0x5f8c;
    0x000bc758 move a0, s1                   |     a0 = s1;
    0x000bc75c bal 0xba074                   |     fcn_000ba074 ();
    0x000bc760 lw gp, 0x20(sp)               |     gp = *(var_20h);
                                             |     if (v0 != 0) {
    0x000bc764 bnez v0, 0xbc95c              |         goto label_54;
                                             |     }
    0x000bc768 lw v1, -0x74e4(gp)            |     v1 = *((gp - 7481));
    0x000bc76c addiu v0, v1, -0x6028         |     v0 = v1 + -0x6028;
    0x000bc770 sw v0, 0x3c(sp)               |     *(var_3ch_2) = v0;
                                             | label_11:
    0x000bc774 lw v0, -0x74e4(gp)            |     v0 = *((gp - 7481));
    0x000bc778 lw a1, 0x2c(sp)               |     a1 = *(var_2ch_2);
    0x000bc77c addiu t9, v0, -0x5f28         |     t9 = v0 + -0x5f28;
    0x000bc780 move a0, s1                   |     a0 = s1;
    0x000bc784 sw t9, 0x38(sp)               |     *(var_38h) = t9;
    0x000bc788 bal 0xba0d8                   |     fcn_000ba0d8 ();
    0x000bc78c lw gp, 0x20(sp)               |     gp = *(var_20h);
                                             |     if (v0 != 0) {
    0x000bc790 bnez v0, 0xbc97c              |         goto label_55;
                                             |     }
    0x000bc794 lw v0, 0x7c(s1)               |     v0 = *((s1 + 31));
    0x000bc798 lw v0, -0x78a0(gp)            |     v0 = *((gp - 7720));
                                             |     if (v0 <= 0) {
    0x000bc79c blez v0, 0xbce54              |         goto label_56;
                                             |     }
    0x000bc7a0 lw s6, -0x74e4(gp)            |     s6 = *((gp - 7481));
    0x000bc7a4 sw v0, 0x2c(sp)               |     *(var_2ch_2) = v0;
    0x000bc7a8 addiu v0, s6, -0x6500         |     v0 = s6 + -aav.0x00006500;
    0x000bc7ac sw v0, 0x30(sp)               |     *(var_30h_2) = v0;
    0x000bc7b0 lw v0, -0x74e4(gp)            |     v0 = *((gp - 7481));
    0x000bc7b4 addiu fp, s1, 4               |     fp = s1 + 4;
    0x000bc7b8 addiu v0, v0, -0x51c0         |     v0 += -0x51c0;
    0x000bc7bc move s5, zero                 |     s5 = 0;
    0x000bc7c0 sw v0, 0x40(sp)               |     *(var_40h_2) = v0;
                                             |     do {
    0x000bc7c4 lw t9, 4(fp)                  |         t9 = *(arg_4h);
    0x000bc7c8 lw a1, (fp)                   |         a1 = *(fp);
    0x000bc7cc move a0, s1                   |         a0 = s1;
    0x000bc7d0 jalr t9                       |         t9 ();
    0x000bc7d4 lw t9, 0x2c(sp)               |         t9 = *(var_2ch_2);
                                             |         if (v0 != 0) {
    0x000bc7d8 bnez v0, 0xbc97c              |             goto label_55;
                                             |         }
    0x000bc7dc move a0, s3                   |         a0 = s3;
    0x000bc7e0 jalr t9                       |         t9 ();
    0x000bc7e4 lw t9, 0x38(sp)               |         t9 = *(var_38h);
    0x000bc7e8 move a1, s2                   |         a1 = s2;
    0x000bc7ec move a0, s1                   |         a0 = s1;
    0x000bc7f0 move s4, v0                   |         s4 = v0;
    0x000bc7f4 jalr t9                       |         t9 ();
    0x000bc7f8 lw t9, 0x2c(sp)               |         t9 = *(var_2ch_2);
    0x000bc7fc lw gp, 0x20(sp)               |         gp = *(var_20h);
    0x000bc800 sw t9, 0x44(sp)               |         *(var_44h_2) = t9;
                                             |         if (v0 != 0) {
    0x000bc804 bnez v0, 0xbc97c              |             goto label_55;
                                             |         }
    0x000bc808 lw a1, 8(fp)                  |         a1 = *(arg_8h);
    0x000bc80c lw a2, (fp)                   |         a2 = *(fp);
    0x000bc810 lw t9, -0x7878(gp)            |         t9 = *((gp - 7710));
    0x000bc814 wsbh a2, a2                   |         __asm ("wsbh a2, a2");
    0x000bc818 sll a1, a1, 4                 |         a1 <<= 4;
    0x000bc81c sw t9, 0x48(sp)               |         *(var_48h_2) = t9;
    0x000bc820 addiu a1, a1, 0xc             |         a1 += 0xc;
    0x000bc824 move a0, s3                   |         a0 = s3;
    0x000bc828 sw a2, 0x34(sp)               |         *(var_34h_2) = a2;
    0x000bc82c lw s7, 0x58(sp)               |         s7 = *(var_58h_2);
    0x000bc830 jalr t9                       |         t9 ();
    0x000bc834 lw a2, 0x34(sp)               |         a2 = *(var_34h_2);
    0x000bc838 lw t9, 0x30(sp)               |         t9 = *(var_30h_2);
    0x000bc83c rotr a2, a2, 0x10             |         __asm ("rotr a2, a2, 0x10");
    0x000bc840 sw a2, (v0)                   |         *(v0) = a2;
    0x000bc844 move a1, s7                   |         a1 = s7;
    0x000bc848 move a0, s1                   |         a0 = s1;
    0x000bc84c move a2, s4                   |         a2 = s4;
    0x000bc850 move s6, v0                   |         s6 = v0;
    0x000bc854 jalr t9                       |         t9 ();
    0x000bc858 subu a0, s4, s7               |         __asm ("subu a0, s4, s7");
    0x000bc85c wsbh v1, s7                   |         __asm ("wsbh v1, s7");
    0x000bc860 wsbh v0, v0                   |         __asm ("wsbh v0, v0");
    0x000bc864 wsbh a0, a0                   |         __asm ("wsbh a0, a0");
    0x000bc868 rotr v0, v0, 0x10             |         __asm ("rotr v0, v0, 0x10");
    0x000bc86c rotr v1, v1, 0x10             |         __asm ("rotr v1, v1, 0x10");
    0x000bc870 rotr a0, a0, 0x10             |         __asm ("rotr a0, a0, 0x10");
    0x000bc874 sw v0, 4(s6)                  |         *((s6 + 1)) = v0;
    0x000bc878 sw v1, 8(s6)                  |         *((s6 + 2)) = v1;
    0x000bc87c sw a0, 0xc(s6)                |         *((s6 + 3)) = a0;
    0x000bc880 lw t9, 0x30(sp)               |         t9 = *(var_30h_2);
    0x000bc884 lw v0, 0xe8(s1)               |         v0 = *((s1 + 58));
    0x000bc888 move s6, t9                   |         s6 = t9;
    0x000bc88c lw a1, 0x78(sp)               |         a1 = *(var_78h);
                                             |         if (v0 != 0) {
    0x000bc890 bnez v0, 0xbc97c              |             goto label_55;
                                             |         }
    0x000bc894 lw t9, 0x40(sp)               |         t9 = *(var_40h_2);
    0x000bc898 move a0, s1                   |         a0 = s1;
    0x000bc89c jalr t9                       |         t9 ();
    0x000bc8a0 addiu s5, s5, 1               |         s5++;
                                             |         if (v0 != 0) {
    0x000bc8a4 bnez v0, 0xbc97c              |             goto label_55;
                                             |         }
    0x000bc8a8 lw v0, 0x7c(s1)               |         v0 = *((s1 + 31));
    0x000bc8ac lw v1, 0x78(sp)               |         v1 = *(var_78h);
    0x000bc8b0 slt v0, s5, v0                |         v0 = (s5 < v0) ? 1 : 0;
    0x000bc8b4 sw v1, 0x58(sp)               |         *(var_58h_2) = v1;
    0x000bc8b8 addiu fp, fp, 0xc             |         fp += 0xc;
    0x000bc8bc bnez v0, 0xbc7c4              |         
                                             |     } while (v0 != 0);
                                             | label_26:
    0x000bc8c0 move a2, s4                   |     a2 = s4;
    0x000bc8c4 move t9, s6                   |     t9 = s6;
    0x000bc8c8 move a1, zero                 |     a1 = 0;
    0x000bc8cc move a0, s1                   |     a0 = s1;
    0x000bc8d0 jalr t9                       |     t9 ();
    0x000bc8d4 lw a1, 0xb8(s1)               |     a1 = *((s1 + 46));
    0x000bc8d8 lw t9, 0x48(sp)               |     t9 = *(var_48h_2);
    0x000bc8dc move a0, s3                   |     a0 = s3;
    0x000bc8e0 move s2, v0                   |     s2 = v0;
    0x000bc8e4 jalr t9                       |     t9 ();
    0x000bc8e8 lui v1, 0xb1b0                |     v1 = 0xb1b0afba;
    0x000bc8ec ori v1, v1, 0xafba            |     
    0x000bc8f0 subu v1, v1, s2               |     __asm ("subu v1, v1, s2");
    0x000bc8f4 wsbh v1, v1                   |     __asm ("wsbh v1, v1");
    0x000bc8f8 rotr v1, v1, 0x10             |     __asm ("rotr v1, v1, 0x10");
    0x000bc8fc lw t9, 0x48(sp)               |     t9 = *(var_48h_2);
    0x000bc900 move a1, zero                 |     a1 = 0;
    0x000bc904 sw v1, (v0)                   |     *(v0) = v1;
    0x000bc908 move a0, s3                   |     a0 = s3;
    0x000bc90c jalr t9                       |     t9 ();
    0x000bc910 lw t9, 0x44(sp)               |     t9 = *(var_44h_2);
    0x000bc914 move a0, s3                   |     a0 = s3;
    0x000bc918 sw v0, 0x30(sp)               |     *(var_30h_2) = v0;
    0x000bc91c jalr t9                       |     t9 ();
    0x000bc920 lw a0, 0x4c(sp)               |     a0 = *(var_4ch_2);
    0x000bc924 lw t9, 0x44(sp)               |     t9 = *(var_44h_2);
    0x000bc928 move s4, v0                   |     s4 = v0;
    0x000bc92c jalr t9                       |     t9 ();
    0x000bc930 move s6, v0                   |     s6 = v0;
                                             |     if (v0 != 0) {
    0x000bc934 bnez v0, 0xbce38              |         goto label_57;
                                             |     }
    0x000bc938 move v0, zero                 |     v0 = 0;
    0x000bc93c sw zero, 0x2c(sp)             |     *(var_2ch_2) = 0;
    0x000bc940 b 0xbc98c                     |     goto label_25;
                                             | label_50:
    0x000bc944 addiu t4, zero, 2             |     t4 = 2;
                                             | label_51:
    0x000bc948 addiu a1, zero, 1             |     a1 = 1;
    0x000bc94c move a0, zero                 |     a0 = 0;
                                             |     if (s6 == 0) {
    0x000bc950 beqz s6, 0xbc490              |         goto label_9;
                                             |     }
                                             | label_52:
    0x000bc954 move t3, a1                   |     t3 = a1;
    0x000bc958 b 0xbc4d0                     |     goto label_10;
                                             | label_54:
    0x000bc95c lw v1, -0x74e4(gp)            |     v1 = *((gp - 7481));
    0x000bc960 move a1, v0                   |     a1 = v0;
    0x000bc964 addiu t9, v1, -0x6028         |     t9 = v1 + -0x6028;
    0x000bc968 move a0, s1                   |     a0 = s1;
    0x000bc96c sw t9, 0x3c(sp)               |     *(var_3ch_2) = t9;
    0x000bc970 bal 0xb9fd8                   |     fcn_000b9fd8 ();
    0x000bc974 lw gp, 0x20(sp)               |     gp = *(var_20h);
                                             |     if (v0 == 0) {
    0x000bc978 beqz v0, 0xbc774              |         goto label_11;
                                             |     }
                                             | label_55:
    0x000bc97c move s6, zero                 |     s6 = 0;
    0x000bc980 sw zero, 0x2c(sp)             |     *(var_2ch_2) = 0;
    0x000bc984 move s4, zero                 |     s4 = 0;
    0x000bc988 sw zero, 0x30(sp)             |     *(var_30h_2) = 0;
                                             | label_25:
    0x000bc98c lw t9, 0x3c(sp)               |     t9 = *(var_3ch_2);
    0x000bc990 move a1, v0                   |     a1 = v0;
    0x000bc994 move a0, s1                   |     a0 = s1;
    0x000bc998 jalr t9                       |     t9 ();
    0x000bc99c move s5, v0                   |     s5 = v0;
    0x000bc9a0 lw gp, 0x20(sp)               |     gp = *(var_20h);
                                             |     if (v0 != 0) {
    0x000bc9a4 bnez v0, 0xbc29c              |         goto label_12;
                                             |     }
    0x000bc9a8 lw t9, -0x7384(gp)            |     t9 = *((gp - 7393));
    0x000bc9ac lw a0, 0x84(s1)               |     a0 = *((s1 + 33));
    0x000bc9b0 jalr t9                       |     t9 ();
    0x000bc9b4 lw gp, 0x20(sp)               |     gp = *(var_20h);
    0x000bc9b8 sw v0, 4(s0)                  |     *((s0 + 1)) = v0;
                                             |     if (v0 == 0) {
    0x000bc9bc beqz v0, 0xbcda4              |         goto label_58;
                                             |     }
    0x000bc9c0 lw a0, 0x80(s1)               |     a0 = *((s1 + 32));
    0x000bc9c4 lw t9, -0x7384(gp)            |     t9 = *((gp - 7393));
                                             |     if (a0 == 0) {
    0x000bc9c8 beqz a0, 0xbcc58              |         goto label_59;
                                             |     }
    0x000bc9cc jalr t9                       |     t9 ();
    0x000bc9d0 nop                           |     
    0x000bc9d4 lw gp, 0x20(sp)               |     gp = *(var_20h);
    0x000bc9d8 sw v0, (s0)                   |     *(s0) = v0;
                                             |     if (v0 == 0) {
    0x000bc9dc beqz v0, 0xbce08              |         goto label_60;
                                             |     }
                                             | label_14:
    0x000bc9e0 lw s2, (s1)                   |     s2 = *(s1);
    0x000bc9e4 lw t9, -0x7164(gp)            |     t9 = *((gp - 7257));
    0x000bc9e8 addiu a0, zero, 8             |     a0 = 8;
    0x000bc9ec lw a1, 0x20(s2)               |     a1 = *((s2 + 8));
    0x000bc9f0 jalr t9                       |     t9 ();
    0x000bc9f4 lw gp, 0x20(sp)               |     gp = *(var_20h);
    0x000bc9f8 sw v0, 8(s0)                  |     *((s0 + 2)) = v0;
                                             |     if (v0 == 0) {
    0x000bc9fc beqz v0, 0xbcdbc              |         goto label_61;
                                             |     }
    0x000bca00 lw v1, 0x20(s2)               |     v1 = *((s2 + 8));
    0x000bca04 move fp, zero                 |     fp = 0;
                                             |     if (v1 != 0) {
    0x000bca08 bnez v1, 0xbca14              |         goto label_62;
                                             |     }
    0x000bca0c lw t9, -0x7f18(gp)            |     t9 = *((gp - 8134));
    0x000bca10 b 0xbca8c                     |     goto label_63;
                                             |     do {
                                             | label_62:
    0x000bca14 lw a0, 0xb4(s1)               |         a0 = *((s1 + 45));
    0x000bca18 sll v1, fp, 2                 |         v1 = fp << 2;
    0x000bca1c lw t9, -0x7f18(gp)            |         t9 = *((gp - 8134));
    0x000bca20 lwx a0, v1(a0)                |         __asm ("lwx a0, v1(a0)");
    0x000bca24 sll t2, fp, 3                 |         t2 = fp << 3;
    0x000bca28 addu s7, v0, t2               |         s7 = v0 + t2;
    0x000bca2c bal 0xdbec0                   |         fcn_000dbec0 ();
    0x000bca30 lw gp, 0x20(sp)               |         gp = *(var_20h);
    0x000bca34 lw a0, 0xa4(s1)               |         a0 = *((s1 + 41));
    0x000bca38 move s2, v0                   |         s2 = v0;
    0x000bca3c lw t9, -0x7f18(gp)            |         t9 = *((gp - 8134));
    0x000bca40 move s3, v1                   |         s3 = v1;
    0x000bca44 bal 0xdbec0                   |         fcn_000dbec0 ();
    0x000bca48 lw gp, 0x20(sp)               |         gp = *(var_20h);
    0x000bca4c move a2, v0                   |         a2 = v0;
    0x000bca50 move a3, v1                   |         a3 = v1;
    0x000bca54 lw t9, -0x7f1c(gp)            |         t9 = *((gp - 8135));
    0x000bca58 move a0, s2                   |         a0 = s2;
    0x000bca5c move a1, s3                   |         a1 = s3;
    0x000bca60 bal 0xda3d0                   |         fcn_000da3d0 ();
    0x000bca64 lw gp, 0x20(sp)               |         gp = *(var_20h);
    0x000bca68 sw v0, (s7)                   |         *(s7) = v0;
    0x000bca6c sw v1, 4(s7)                  |         *((s7 + 1)) = v1;
    0x000bca70 lw v0, (s1)                   |         v0 = *(s1);
    0x000bca74 addiu fp, fp, 1               |         fp++;
    0x000bca78 lw v0, 0x20(v0)               |         v0 = *((v0 + 8));
    0x000bca7c sltu v0, fp, v0               |         v0 = (fp < v0) ? 1 : 0;
    0x000bca80 lw v0, 8(s0)                  |         v0 = *((s0 + 2));
    0x000bca84 bnel v0, zero, 0xbca14        |         
                                             |     } while (v0 == 0);
    0x000bca88 lw t9, -0x7f18(gp)            |     t9 = *((gp - 8134));
                                             | label_63:
    0x000bca8c lw a0, 0xa4(s1)               |     a0 = *((s1 + 41));
    0x000bca90 bal 0xdbec0                   |     fcn_000dbec0 ();
    0x000bca94 lw gp, 0x20(sp)               |     gp = *(var_20h);
    0x000bca98 lw a0, 0x8c(s1)               |     a0 = *((s1 + 35));
    0x000bca9c move s2, v0                   |     s2 = v0;
    0x000bcaa0 lw t9, -0x7f18(gp)            |     t9 = *((gp - 8134));
    0x000bcaa4 move s3, v1                   |     s3 = v1;
    0x000bcaa8 bal 0xdbec0                   |     fcn_000dbec0 ();
    0x000bcaac lw gp, 0x20(sp)               |     gp = *(var_20h);
    0x000bcab0 move a1, v1                   |     a1 = v1;
    0x000bcab4 move a2, s2                   |     a2 = s2;
    0x000bcab8 lw t9, -0x7f1c(gp)            |     t9 = *((gp - 8135));
    0x000bcabc move a3, s3                   |     a3 = s3;
    0x000bcac0 move a0, v0                   |     a0 = v0;
    0x000bcac4 bal 0xda3d0                   |     fcn_000da3d0 ();
    0x000bcac8 lw gp, 0x20(sp)               |     gp = *(var_20h);
    0x000bcacc lw a0, 0x90(s1)               |     a0 = *((s1 + 36));
    0x000bcad0 sw v0, 0x10(s0)               |     *((s0 + 4)) = v0;
    0x000bcad4 lw t9, -0x7f18(gp)            |     t9 = *((gp - 8134));
    0x000bcad8 sw v1, 0x14(s0)               |     *((s0 + 5)) = v1;
    0x000bcadc bal 0xdbec0                   |     fcn_000dbec0 ();
    0x000bcae0 lw gp, 0x20(sp)               |     gp = *(var_20h);
    0x000bcae4 move a1, v1                   |     a1 = v1;
    0x000bcae8 move a2, s2                   |     a2 = s2;
    0x000bcaec lw t9, -0x7f1c(gp)            |     t9 = *((gp - 8135));
    0x000bcaf0 move a3, s3                   |     a3 = s3;
    0x000bcaf4 move a0, v0                   |     a0 = v0;
    0x000bcaf8 bal 0xda3d0                   |     fcn_000da3d0 ();
    0x000bcafc lw gp, 0x20(sp)               |     gp = *(var_20h);
    0x000bcb00 lw a0, 0x94(s1)               |     a0 = *((s1 + 37));
    0x000bcb04 sw v0, 0x18(s0)               |     *((s0 + 6)) = v0;
    0x000bcb08 lw t9, -0x7f18(gp)            |     t9 = *((gp - 8134));
    0x000bcb0c sw v1, 0x1c(s0)               |     *((s0 + 7)) = v1;
    0x000bcb10 bal 0xdbec0                   |     fcn_000dbec0 ();
    0x000bcb14 lw gp, 0x20(sp)               |     gp = *(var_20h);
    0x000bcb18 move a1, v1                   |     a1 = v1;
    0x000bcb1c move a2, s2                   |     a2 = s2;
    0x000bcb20 lw t9, -0x7f1c(gp)            |     t9 = *((gp - 8135));
    0x000bcb24 move a3, s3                   |     a3 = s3;
    0x000bcb28 move a0, v0                   |     a0 = v0;
    0x000bcb2c bal 0xda3d0                   |     fcn_000da3d0 ();
    0x000bcb30 lw gp, 0x20(sp)               |     gp = *(var_20h);
    0x000bcb34 lw a0, 0x98(s1)               |     a0 = *((s1 + 38));
    0x000bcb38 sw v0, 0x20(s0)               |     *((s0 + 8)) = v0;
    0x000bcb3c lw t9, -0x7f18(gp)            |     t9 = *((gp - 8134));
    0x000bcb40 sw v1, 0x24(s0)               |     *((s0 + 9)) = v1;
    0x000bcb44 bal 0xdbec0                   |     fcn_000dbec0 ();
    0x000bcb48 lw gp, 0x20(sp)               |     gp = *(var_20h);
    0x000bcb4c move a1, v1                   |     a1 = v1;
    0x000bcb50 move a2, s2                   |     a2 = s2;
    0x000bcb54 lw t9, -0x7f1c(gp)            |     t9 = *((gp - 8135));
    0x000bcb58 move a3, s3                   |     a3 = s3;
    0x000bcb5c move a0, v0                   |     a0 = v0;
    0x000bcb60 bal 0xda3d0                   |     fcn_000da3d0 ();
    0x000bcb64 lw gp, 0x20(sp)               |     gp = *(var_20h);
    0x000bcb68 lw a0, 0x9c(s1)               |     a0 = *((s1 + 39));
    0x000bcb6c sw v0, 0x28(s0)               |     *((s0 + 10)) = v0;
    0x000bcb70 lw t9, -0x7f18(gp)            |     t9 = *((gp - 8134));
    0x000bcb74 sw v1, 0x2c(s0)               |     *((s0 + 11)) = v1;
    0x000bcb78 bal 0xdbec0                   |     fcn_000dbec0 ();
    0x000bcb7c lw gp, 0x20(sp)               |     gp = *(var_20h);
    0x000bcb80 move a1, v1                   |     a1 = v1;
    0x000bcb84 move a2, s2                   |     a2 = s2;
    0x000bcb88 lw t9, -0x7f1c(gp)            |     t9 = *((gp - 8135));
    0x000bcb8c move a3, s3                   |     a3 = s3;
    0x000bcb90 move a0, v0                   |     a0 = v0;
    0x000bcb94 bal 0xda3d0                   |     fcn_000da3d0 ();
    0x000bcb98 lw gp, 0x20(sp)               |     gp = *(var_20h);
    0x000bcb9c lw a0, 0xa0(s1)               |     a0 = *((s1 + 40));
    0x000bcba0 sw v0, 0x30(s0)               |     *((s0 + 12)) = v0;
    0x000bcba4 lw t9, -0x7f18(gp)            |     t9 = *((gp - 8134));
    0x000bcba8 sw v1, 0x34(s0)               |     *((s0 + 13)) = v1;
    0x000bcbac bal 0xdbec0                   |     fcn_000dbec0 ();
    0x000bcbb0 lw gp, 0x20(sp)               |     gp = *(var_20h);
    0x000bcbb4 move a2, s2                   |     a2 = s2;
    0x000bcbb8 move a3, s3                   |     a3 = s3;
    0x000bcbbc lw t9, -0x7f1c(gp)            |     t9 = *((gp - 8135));
    0x000bcbc0 move a0, v0                   |     a0 = v0;
    0x000bcbc4 move a1, v1                   |     a1 = v1;
    0x000bcbc8 bal 0xda3d0                   |     fcn_000da3d0 ();
    0x000bcbcc lw gp, 0x20(sp)               |     gp = *(var_20h);
    0x000bcbd0 sw v0, 0x38(s0)               |     *((s0 + 14)) = v0;
    0x000bcbd4 sw v1, 0x3c(s0)               |     *((s0 + 15)) = v1;
                                             |     if (s4 != 0) {
    0x000bcbd8 bnez s4, 0xbccf0              |         goto label_64;
                                             |     }
    0x000bcbdc sw zero, 0x40(s0)             |     *((s0 + 16)) = 0;
                                             | label_16:
    0x000bcbe0 sw s4, 0x44(s0)               |     *((s0 + 17)) = s4;
                                             |     if (s6 == 0) {
    0x000bcbe4 beqz s6, 0xbccc8              |         goto label_65;
                                             |     }
    0x000bcbe8 sll a2, s6, 2                 |     a2 = s6 << 2;
    0x000bcbec lw t9, -0x72b4(gp)            |     t9 = *((gp - 7341));
                                             |     if (a2 != 0) {
    0x000bcbf0 bnez a2, 0xbcd6c              |         goto label_66;
                                             |     }
    0x000bcbf4 sw zero, 0x48(s0)             |     *((s0 + 18)) = 0;
                                             | label_19:
    0x000bcbf8 lw t9, -0x7f84(gp)            |     t9 = *((gp - 8161));
    0x000bcbfc addiu a0, zero, 1             |     a0 = 1;
    0x000bcc00 jalr t9                       |     t9 ();
    0x000bcc04 lw gp, 0x20(sp)               |     gp = *(var_20h);
    0x000bcc08 lw a0, 0x40(s0)               |     a0 = *((s0 + 16));
    0x000bcc0c lw t9, -0x71c8(gp)            |     t9 = *((gp - 7282));
    0x000bcc10 move s5, v0                   |     s5 = v0;
    0x000bcc14 jalr t9                       |     t9 ();
    0x000bcc18 lw gp, 0x20(sp)               |     gp = *(var_20h);
                                             | label_24:
    0x000bcc1c lw t9, -0x71c8(gp)            |     t9 = *((gp - 7282));
    0x000bcc20 lw a0, 8(s0)                  |     a0 = *((s0 + 2));
    0x000bcc24 jalr t9                       |     t9 ();
    0x000bcc28 lw gp, 0x20(sp)               |     gp = *(var_20h);
                                             | label_20:
    0x000bcc2c lw t9, -0x71c8(gp)            |     t9 = *((gp - 7282));
    0x000bcc30 lw a0, (s0)                   |     a0 = *(s0);
    0x000bcc34 jalr t9                       |     t9 ();
    0x000bcc38 lw gp, 0x20(sp)               |     gp = *(var_20h);
                                             | label_23:
    0x000bcc3c lw t9, -0x71c8(gp)            |     t9 = *((gp - 7282));
    0x000bcc40 lw a0, 4(s0)                  |     a0 = *((s0 + 1));
    0x000bcc44 jalr t9                       |     t9 ();
    0x000bcc48 lw gp, 0x20(sp)               |     gp = *(var_20h);
    0x000bcc4c b 0xbc29c                     |     goto label_12;
                                             | label_49:
    0x000bcc50 move v1, zero                 |     v1 = 0;
    0x000bcc54 b 0xbc414                     |     goto label_13;
                                             | label_59:
    0x000bcc58 sw zero, (s0)                 |     *(s0) = 0;
    0x000bcc5c b 0xbc9e0                     |     goto label_14;
                                             | label_48:
    0x000bcc60 lw t9, -0x7f84(gp)            |     t9 = *((gp - 8161));
    0x000bcc64 addiu a0, zero, 1             |     a0 = 1;
    0x000bcc68 jalr t9                       |     t9 ();
    0x000bcc6c lw gp, 0x20(sp)               |     gp = *(var_20h);
    0x000bcc70 move s5, v0                   |     s5 = v0;
                                             | label_40:
    0x000bcc74 lw s0, -0x7894(gp)            |     s0 = *((gp - 7717));
                                             | label_17:
    0x000bcc78 lw t9, -0x71c8(gp)            |     t9 = *((gp - 7282));
    0x000bcc7c lw a0, 0xe4(s1)               |     a0 = *((s1 + 57));
    0x000bcc80 jalr t9                       |     t9 ();
    0x000bcc84 lw gp, 0x20(sp)               |     gp = *(var_20h);
    0x000bcc88 lw t9, -0x71c8(gp)            |     t9 = *((gp - 7282));
    0x000bcc8c lw a0, 0x80(s1)               |     a0 = *((s1 + 32));
    0x000bcc90 jalr t9                       |     t9 ();
    0x000bcc94 lw gp, 0x20(sp)               |     gp = *(var_20h);
                                             | label_18:
    0x000bcc98 lw t9, -0x71c8(gp)            |     t9 = *((gp - 7282));
    0x000bcc9c lw a0, 0xa8(s1)               |     a0 = *((s1 + 42));
    0x000bcca0 jalr t9                       |     t9 ();
                                             |     do {
    0x000bcca4 move t9, s0                   |         t9 = s0;
    0x000bcca8 move a0, s3                   |         a0 = s3;
    0x000bccac jalr t9                       |         t9 ();
    0x000bccb0 lw gp, 0x20(sp)               |         gp = *(var_20h);
    0x000bccb4 lw t9, -0x71c8(gp)            |         t9 = *((gp - 7282));
    0x000bccb8 move a0, s1                   |         a0 = s1;
    0x000bccbc jalr t9                       |         t9 ();
    0x000bccc0 lw gp, 0x20(sp)               |         gp = *(var_20h);
    0x000bccc4 b 0xbc360                     |         goto label_15;
                                             | label_65:
    0x000bccc8 sw zero, 0x48(s0)             |         *((s0 + 18)) = 0;
    0x000bcccc sw zero, 0x4c(s0)             |         *((s0 + 19)) = 0;
    0x000bccd0 b 0xbc29c                     |         goto label_12;
                                             | label_37:
    0x000bccd4 lw t9, -0x7f84(gp)            |         t9 = *((gp - 8161));
    0x000bccd8 addiu a0, zero, 1             |         a0 = 1;
    0x000bccdc jalr t9                       |         t9 ();
    0x000bcce0 lw gp, 0x20(sp)               |         gp = *(var_20h);
    0x000bcce4 move s5, v0                   |         s5 = v0;
                                             | label_36:
    0x000bcce8 lw s0, -0x7894(gp)            |         s0 = *((gp - 7717));
    0x000bccec b 0xbcca4                     |         
                                             |     } while (1);
                                             | label_64:
    0x000bccf0 lw t9, -0x72b4(gp)            |     t9 = *((gp - 7341));
    0x000bccf4 move a0, s4                   |     a0 = s4;
    0x000bccf8 jalr t9                       |     t9 ();
    0x000bccfc lw gp, 0x20(sp)               |     gp = *(var_20h);
    0x000bcd00 sw v0, 0x40(s0)               |     *((s0 + 16)) = v0;
                                             |     if (v0 == 0) {
    0x000bcd04 beqz v0, 0xbce20              |         goto label_67;
                                             |     }
    0x000bcd08 lw t9, -0x7234(gp)            |     t9 = *((gp - 7309));
    0x000bcd0c lw a1, 0x30(sp)               |     a1 = *(var_30h_2);
    0x000bcd10 move a2, s4                   |     a2 = s4;
    0x000bcd14 move a0, v0                   |     a0 = v0;
    0x000bcd18 jalr t9                       |     t9 ();
    0x000bcd1c lw gp, 0x20(sp)               |     gp = *(var_20h);
    0x000bcd20 b 0xbcbe0                     |     goto label_16;
                                             | label_42:
    0x000bcd24 lw t9, -0x7f84(gp)            |     t9 = *((gp - 8161));
    0x000bcd28 addiu a0, zero, 1             |     a0 = 1;
    0x000bcd2c jalr t9                       |     t9 ();
    0x000bcd30 lw gp, 0x20(sp)               |     gp = *(var_20h);
    0x000bcd34 move s5, v0                   |     s5 = v0;
    0x000bcd38 lw s0, -0x7894(gp)            |     s0 = *((gp - 7717));
                                             | label_21:
    0x000bcd3c lw t9, -0x71c8(gp)            |     t9 = *((gp - 7282));
    0x000bcd40 lw a0, 0x84(s1)               |     a0 = *((s1 + 33));
    0x000bcd44 jalr t9                       |     t9 ();
    0x000bcd48 lw gp, 0x20(sp)               |     gp = *(var_20h);
    0x000bcd4c b 0xbcc78                     |     goto label_17;
                                             | label_38:
    0x000bcd50 lw t9, -0x7f84(gp)            |     t9 = *((gp - 8161));
    0x000bcd54 addiu a0, zero, 1             |     a0 = 1;
    0x000bcd58 jalr t9                       |     t9 ();
    0x000bcd5c lw gp, 0x20(sp)               |     gp = *(var_20h);
    0x000bcd60 move s5, v0                   |     s5 = v0;
    0x000bcd64 lw s0, -0x7894(gp)            |     s0 = *((gp - 7717));
    0x000bcd68 b 0xbcc98                     |     goto label_18;
                                             | label_66:
    0x000bcd6c move a0, a2                   |     a0 = a2;
    0x000bcd70 sw a2, 0x30(sp)               |     *(var_30h_2) = a2;
    0x000bcd74 jalr t9                       |     t9 ();
    0x000bcd78 move a0, v0                   |     a0 = v0;
    0x000bcd7c lw gp, 0x20(sp)               |     gp = *(var_20h);
    0x000bcd80 sw v0, 0x48(s0)               |     *((s0 + 18)) = v0;
    0x000bcd84 lw a2, 0x30(sp)               |     a2 = *(var_30h_2);
                                             |     if (v0 == 0) {
    0x000bcd88 beqz v0, 0xbcbf8              |         goto label_19;
                                             |     }
    0x000bcd8c lw t9, -0x7234(gp)            |     t9 = *((gp - 7309));
    0x000bcd90 lw a1, 0x2c(sp)               |     a1 = *(var_2ch_2);
    0x000bcd94 jalr t9                       |     t9 ();
    0x000bcd98 lw gp, 0x20(sp)               |     gp = *(var_20h);
    0x000bcd9c sw s6, 0x4c(s0)               |     *((s0 + 19)) = s6;
    0x000bcda0 b 0xbc29c                     |     goto label_12;
                                             | label_58:
    0x000bcda4 lw t9, -0x7f84(gp)            |     t9 = *((gp - 8161));
    0x000bcda8 addiu a0, zero, 1             |     a0 = 1;
    0x000bcdac jalr t9                       |     t9 ();
    0x000bcdb0 move s5, v0                   |     s5 = v0;
    0x000bcdb4 lw gp, 0x20(sp)               |     gp = *(var_20h);
    0x000bcdb8 b 0xbc29c                     |     goto label_12;
                                             | label_61:
    0x000bcdbc lw t9, -0x7f84(gp)            |     t9 = *((gp - 8161));
    0x000bcdc0 addiu a0, zero, 1             |     a0 = 1;
    0x000bcdc4 jalr t9                       |     t9 ();
    0x000bcdc8 move s5, v0                   |     s5 = v0;
    0x000bcdcc lw gp, 0x20(sp)               |     gp = *(var_20h);
    0x000bcdd0 b 0xbcc2c                     |     goto label_20;
                                             | label_43:
    0x000bcdd4 lw s0, -0x7894(gp)            |     s0 = *((gp - 7717));
    0x000bcdd8 move t9, s0                   |     t9 = s0;
    0x000bcddc lw a0, 0x4c(sp)               |     a0 = *(var_4ch_2);
    0x000bcde0 jalr t9                       |     t9 ();
    0x000bcde4 lw gp, 0x20(sp)               |     gp = *(var_20h);
    0x000bcde8 lw t9, -0x71c8(gp)            |     t9 = *((gp - 7282));
    0x000bcdec lw a0, 0xb4(s1)               |     a0 = *((s1 + 45));
    0x000bcdf0 jalr t9                       |     t9 ();
    0x000bcdf4 lw gp, 0x20(sp)               |     gp = *(var_20h);
    0x000bcdf8 b 0xbcd3c                     |     goto label_21;
                                             | label_53:
    0x000bcdfc addiu s4, zero, 0x10          |     s4 = 0x10;
    0x000bce00 move s7, zero                 |     s7 = 0;
    0x000bce04 b 0xbc698                     |     goto label_22;
                                             | label_60:
    0x000bce08 lw t9, -0x7f84(gp)            |     t9 = *((gp - 8161));
    0x000bce0c addiu a0, zero, 1             |     a0 = 1;
    0x000bce10 jalr t9                       |     t9 ();
    0x000bce14 move s5, v0                   |     s5 = v0;
    0x000bce18 lw gp, 0x20(sp)               |     gp = *(var_20h);
    0x000bce1c b 0xbcc3c                     |     goto label_23;
                                             | label_67:
    0x000bce20 lw t9, -0x7f84(gp)            |     t9 = *((gp - 8161));
    0x000bce24 addiu a0, zero, 1             |     a0 = 1;
    0x000bce28 jalr t9                       |     t9 ();
    0x000bce2c move s5, v0                   |     s5 = v0;
    0x000bce30 lw gp, 0x20(sp)               |     gp = *(var_20h);
    0x000bce34 b 0xbcc1c                     |     goto label_24;
                                             | label_57:
    0x000bce38 lw a0, 0x4c(sp)               |     a0 = *(var_4ch_2);
    0x000bce3c lw t9, 0x48(sp)               |     t9 = *(var_48h_2);
    0x000bce40 move a1, zero                 |     a1 = 0;
    0x000bce44 jalr t9                       |     t9 ();
    0x000bce48 sw v0, 0x2c(sp)               |     *(var_2ch_2) = v0;
    0x000bce4c move v0, zero                 |     v0 = 0;
    0x000bce50 b 0xbc98c                     |     goto label_25;
                                             | label_56:
    0x000bce54 move s4, zero                 |     s4 = 0;
    0x000bce58 sw v0, 0x44(sp)               |     *(var_44h_2) = v0;
    0x000bce5c lw v0, -0x7878(gp)            |     v0 = *((gp - 7710));
    0x000bce60 sw v0, 0x48(sp)               |     *(var_48h_2) = v0;
    0x000bce64 lw v0, -0x74e4(gp)            |     v0 = *((gp - 7481));
    0x000bce68 addiu v0, v0, -0x6500         |     v0 += -aav.0x00006500;
    0x000bce6c move s6, v0                   |     s6 = v0;
    0x000bce70 b 0xbc8c0                     |     goto label_26;
                                             | label_47:
    0x000bce74 lw t9, -0x72c8(gp)            |     t9 = *((gp - 7346));
    0x000bce78 jalr t9                       |     t9 ();
    0x000bce7c nop                           |     
    0x000bce80 lui gp, 4                     |     
    0x000bce84 addiu gp, gp, 0x53b0          |     
    0x000bce88 addu gp, gp, t9               |     gp += t9;
    0x000bce8c lw t9, -0x74e4(gp)            |     t9 = *((gp - 7481));
    0x000bce90 addiu t9, t9, -0x4154         |     t9 += -0x4154;
    0x000bce94 move a2, zero                 |     a2 = 0;
    0x000bce98 b 0xbbeac                     |     goto label_27;
                                             | }

[*] Function mmap used 1 times libcairo.so.2.11600.0