[*] Binary protection state of libgobject-2.0.so.0.6000.7

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


[*] Function system tear down of libgobject-2.0.so.0.6000.7

    ; assembly                               | /* r2dec pseudo code output */
                                             | /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/lib/libgobject-2.0.so.0.6000.7 @ 0x1751c */
                                             | #include <stdint.h>
                                             |  
    ; (fcn) fcn.0001751c ()                  | void fcn_0001751c () {
    0x0001751c lui gp, 6                     |     
    0x00017520 addiu gp, gp, -0x340c         |     
    0x00017524 addu gp, gp, t9               |     gp += t9;
    0x00017528 addiu sp, sp, -0xb0           |     
    0x0001752c lw v0, -0x7f54(gp)            |     v0 = *((gp - 8149));
    0x00017530 sw s5, 0x9c(sp)               |     *(var_9ch) = s5;
    0x00017534 sw s3, 0x94(sp)               |     *(var_94h) = s3;
    0x00017538 sw s0, 0x88(sp)               |     *(var_88h) = s0;
    0x0001753c sw gp, 0x20(sp)               |     *(var_20h) = gp;
    0x00017540 sw ra, 0xac(sp)               |     *(var_ach) = ra;
    0x00017544 sw fp, 0xa8(sp)               |     *(var_a8h) = fp;
    0x00017548 sw s7, 0xa4(sp)               |     *(var_a4h) = s7;
    0x0001754c sw s6, 0xa0(sp)               |     *(var_a0h) = s6;
    0x00017550 sw s4, 0x98(sp)               |     *(var_98h) = s4;
    0x00017554 sw s2, 0x90(sp)               |     *(var_90h) = s2;
    0x00017558 sw s1, 0x8c(sp)               |     *(var_8ch) = s1;
    0x0001755c lw v1, 8(a0)                  |     v1 = *((a0 + 2));
    0x00017560 addiu v0, v0, 0x71b0          |     v0 += 0x71b0;
    0x00017564 move s3, a0                   |     s3 = a0;
    0x00017568 move s0, a1                   |     s0 = a1;
    0x0001756c move s5, a2                   |     s5 = a2;
                                             |     if (v1 == v0) {
    0x00017570 beq v1, v0, 0x178b4           |         goto label_18;
                                             |     }
    0x00017574 lw t9, -0x78c4(gp)            |     t9 = *((gp - 7729));
    0x00017578 lw a0, 4(a0)                  |     a0 = *((a0 + 1));
    0x0001757c jalr t9                       |     t9 ();
    0x00017580 lw gp, 0x20(sp)               |     gp = *(var_20h);
    0x00017584 addiu a1, zero, 8             |     a1 = 8;
    0x00017588 move a0, v0                   |     a0 = v0;
    0x0001758c lw t9, -0x7a44(gp)            |     t9 = *((gp - 7825));
    0x00017590 move s4, v0                   |     s4 = v0;
    0x00017594 jalr t9                       |     t9 ();
    0x00017598 lw gp, 0x20(sp)               |     gp = *(var_20h);
    0x0001759c addiu a1, zero, 0x18          |     a1 = 0x18;
    0x000175a0 move a0, s4                   |     a0 = s4;
    0x000175a4 lw t9, -0x7aa4(gp)            |     t9 = *((gp - 7849));
    0x000175a8 sw v0, 0x70(sp)               |     *(var_70h) = v0;
    0x000175ac jalr t9                       |     t9 ();
    0x000175b0 lw a2, 4(s3)                  |     a2 = *((s3 + 1));
    0x000175b4 lw gp, 0x20(sp)               |     gp = *(var_20h);
    0x000175b8 move s6, v0                   |     s6 = v0;
                                             |     if (a2 == 0) {
    0x000175bc beqz a2, 0x181e4              |         goto label_19;
                                             |     }
    0x000175c0 lw s2, -0x7f54(gp)            |     s2 = *((gp - 8149));
    0x000175c4 lw a3, 0x70(sp)               |     a3 = *(var_70h);
    0x000175c8 move t1, zero                 |     t1 = 0;
    0x000175cc addiu s2, s2, 0x6604          |     s2 += 0x6604;
                                             | label_0:
    0x000175d0 lw s7, (a2)                   |     s7 = *(a2);
                                             |     if (s5 == 0) {
    0x000175d4 beqz s5, 0x1795c              |         goto label_20;
                                             |     }
    0x000175d8 lw v0, (s0)                   |     v0 = *(s0);
    0x000175dc addiu v0, s0, 8               |     v0 = s0 + 8;
                                             |     if (s7 == v0) {
    0x000175e0 beq s7, v0, 0x17924           |         goto label_21;
                                             |     }
    0x000175e4 move v1, zero                 |     v1 = 0;
    0x000175e8 b 0x17600                     |     
                                             |     while (s1 != s5) {
    0x000175ec move fp, v0                   |         fp = v0;
    0x000175f0 addiu v0, v0, 8               |         v0 += 8;
    0x000175f4 lw a0, -8(v0)                 |         a0 = *((v0 - 2));
                                             |         if (s7 == a0) {
    0x000175f8 beql s7, a0, 0x17930          |             goto label_22;
                                             |         }
    0x000175fc sw t1, 0x7c(sp)               |         *(var_7ch) = t1;
    0x00017600 addiu s1, v1, 1               |         s1 = v1 + 1;
    0x00017604 move v1, s1                   |         v1 = s1;
    0x00017608 bne s1, s5, 0x175ec           |         
                                             |     }
    0x0001760c move fp, zero                 |     fp = 0;
                                             |     if (s5 == s1) {
    0x00017610 beq s5, s1, 0x1795c           |         goto label_20;
                                             |     }
                                             | label_2:
    0x00017614 sw s7, (a3)                   |     *(a3) = s7;
    0x00017618 sw fp, 4(a3)                  |     *((a3 + 1)) = fp;
    0x0001761c lw a2, 4(a2)                  |     a2 = *((a2 + 1));
    0x00017620 addiu a3, a3, 8               |     a3 += 8;
                                             |     if (a2 != 0) {
    0x00017624 bnez a2, 0x175d0              |         goto label_0;
                                             |     }
    0x00017628 lw s1, 0x70(sp)               |     s1 = *(var_70h);
    0x0001762c lw a0, (s3)                   |     a0 = *(s3);
    0x00017630 lw t9, 8(s3)                  |     t9 = *((s3 + 2));
    0x00017634 sw t1, 0x74(sp)               |     *(var_74h) = t1;
    0x00017638 move a2, s1                   |     a2 = s1;
    0x0001763c move a1, s4                   |     a1 = s4;
    0x00017640 jalr t9                       |     t9 ();
    0x00017644 lw gp, 0x20(sp)               |     gp = *(var_20h);
    0x00017648 sw v0, 0x70(sp)               |     *(var_70h) = v0;
    0x0001764c lw t9, -0x78e4(gp)            |     t9 = *((gp - 7737));
    0x00017650 move a0, s1                   |     a0 = s1;
    0x00017654 jalr t9                       |     t9 ();
    0x00017658 lw t1, 0x74(sp)               |     t1 = *(var_74h);
    0x0001765c lw gp, 0x20(sp)               |     gp = *(var_20h);
    0x00017660 addiu v0, t1, -1              |     v0 = t1 + -1;
                                             |     if (t1 == 0) {
    0x00017664 beqz t1, 0x17698              |         goto label_17;
                                             |     }
    0x00017668 sll s1, v0, 1                 |     s1 = v0 << 1;
    0x0001766c addu s1, s1, v0               |     s1 += v0;
    0x00017670 sll s1, s1, 3                 |     s1 <<= 3;
    0x00017674 addu s1, s6, s1               |     s1 = s6 + s1;
    0x00017678 b 0x17680                     |     
                                             |     while (s6 != s1) {
    0x0001767c move s1, v0                   |         s1 = v0;
    0x00017680 lw t9, -0x7f30(gp)            |         t9 = *((gp - 8140));
    0x00017684 move a0, s1                   |         a0 = s1;
    0x00017688 jalr t9                       |         t9 ();
    0x0001768c lw gp, 0x20(sp)               |         gp = *(var_20h);
    0x00017690 addiu v0, s1, -0x18           |         v0 = s1 + -0x18;
    0x00017694 bne s6, s1, 0x1767c           |         
                                             |     }
                                             | label_17:
    0x00017698 lw t9, -0x78e4(gp)            |     t9 = *((gp - 7737));
    0x0001769c move a0, s6                   |     a0 = s6;
    0x000176a0 jalr t9                       |     t9 ();
    0x000176a4 lw v0, 0x70(sp)               |     v0 = *(var_70h);
    0x000176a8 lw gp, 0x20(sp)               |     gp = *(var_20h);
                                             |     if (v0 == 0) {
    0x000176ac beqz v0, 0x18218              |         goto label_23;
                                             |     }
    0x000176b0 lw s2, -0x7fe0(gp)            |     s2 = *((gp - 8184));
    0x000176b4 lw v0, 0x70(sp)               |     v0 = *(var_70h);
    0x000176b8 lw t9, -0x7aa0(gp)            |     t9 = *((gp - 7848));
    0x000176bc addiu s1, v0, 8               |     s1 = v0 + 8;
    0x000176c0 lw a1, -0x3644(s2)            |     a1 = *((s2 - 3473));
    0x000176c4 move a0, s1                   |     a0 = s1;
    0x000176c8 jalr t9                       |     t9 ();
    0x000176cc lw gp, 0x20(sp)               |     gp = *(var_20h);
                                             |     if (v0 == 0) {
    0x000176d0 beqz v0, 0x18010              |         goto label_24;
                                             |     }
    0x000176d4 lw t9, -0x78a8(gp)            |     t9 = *((gp - 7722));
    0x000176d8 lw a1, -0x3644(s2)            |     a1 = *((s2 - 3473));
    0x000176dc move a3, zero                 |     a3 = 0;
    0x000176e0 move a2, zero                 |     a2 = 0;
    0x000176e4 move a0, s1                   |     a0 = s1;
    0x000176e8 jalr t9                       |     t9 ();
    0x000176ec lw v0, 0x28(s3)               |     v0 = *((s3 + 10));
    0x000176f0 andi v0, v0, 1                |     v0 &= 1;
    0x000176f4 lw gp, 0x20(sp)               |     gp = *(var_20h);
                                             |     if (v0 == 0) {
    0x000176f8 beqz v0, 0x18118              |         goto label_25;
                                             |     }
    0x000176fc lw s1, 0x70(sp)               |     s1 = *(var_70h);
    0x00017700 lw t9, -0x7f54(gp)            |     t9 = *((gp - 8149));
    0x00017704 move a1, zero                 |     a1 = 0;
    0x00017708 addiu t9, t9, 0x5558          |     t9 += 0x5558;
    0x0001770c move a0, s1                   |     a0 = s1;
    0x00017710 bal 0x15558                   |     fcn_00015558 ();
    0x00017714 lw gp, 0x20(sp)               |     gp = *(var_20h);
    0x00017718 move a1, v0                   |     a1 = v0;
    0x0001771c move a0, s1                   |     a0 = s1;
    0x00017720 lw t9, -0x7f54(gp)            |     t9 = *((gp - 8149));
    0x00017724 addiu t9, t9, 0x5300          |     t9 += 0x5300;
    0x00017728 move s7, v0                   |     s7 = v0;
    0x0001772c bal 0x15300                   |     fcn_00015300 ();
    0x00017730 lw gp, 0x20(sp)               |     gp = *(var_20h);
    0x00017734 lw t9, 0x24(s3)               |     t9 = *((s3 + 9));
    0x00017738 lw v0, -0x7f54(gp)            |     v0 = *((gp - 8149));
    0x0001773c addiu v0, v0, 0x50f0          |     v0 += 0x50f0;
                                             |     if (t9 != v0) {
    0x00017740 beq t9, v0, 0x17754           |         
    0x00017744 nop                           |         
    0x00017748 lw a0, 0x70(sp)               |         a0 = *(var_70h);
    0x0001774c jalr t9                       |         t9 ();
    0x00017750 lw gp, 0x20(sp)               |         gp = *(var_20h);
                                             |     }
                                             |     if (s5 == 0) {
    0x00017754 beqz s5, 0x180b4              |         goto label_26;
                                             |     }
    0x00017758 nop                           |     
                                             | label_15:
    0x0001775c lw v0, -0x7fe8(gp)            |     v0 = *((gp - 8186));
                                             | label_11:
    0x00017760 lw s4, -0x7f54(gp)            |     s4 = *((gp - 8149));
    0x00017764 sw v0, 0x84(sp)               |     *(var_84h) = v0;
    0x00017768 lw v0, -0x7fe8(gp)            |     v0 = *((gp - 8186));
    0x0001776c lw s6, -0x7fe8(gp)            |     s6 = *((gp - 8186));
    0x00017770 sw v0, 0x7c(sp)               |     *(var_7ch) = v0;
    0x00017774 addiu v0, s4, 0x6604          |     v0 = s4 + 0x6604;
    0x00017778 sw v0, 0x74(sp)               |     *(var_74h) = v0;
    0x0001777c lw v0, -0x7f54(gp)            |     v0 = *((gp - 8149));
    0x00017780 move fp, s0                   |     fp = s0;
    0x00017784 addiu v0, v0, 0x636c          |     v0 += 0x636c;
    0x00017788 sw v0, 0x80(sp)               |     *(var_80h) = v0;
    0x0001778c addiu v0, s6, 0x1944          |     v0 = s6 + 0x1944;
    0x00017790 move s1, zero                 |     s1 = 0;
    0x00017794 sw v0, 0x78(sp)               |     *(var_78h) = v0;
    0x00017798 b 0x177ac                     |     goto label_27;
                                             | label_1:
    0x0001779c addiu s1, s1, 1               |     s1++;
                                             |     do {
    0x000177a0 sltu v0, s1, s5               |         v0 = (s1 < s5) ? 1 : 0;
    0x000177a4 addiu fp, fp, 8               |         fp += 8;
                                             |         if (v0 == 0) {
    0x000177a8 beqz v0, 0x180b4              |             goto label_26;
                                             |         }
                                             | label_27:
    0x000177ac lw a0, (fp)                   |         a0 = *(fp);
    0x000177b0 lw v0, 8(a0)                  |         v0 = *((a0 + 2));
    0x000177b4 andi v0, v0, 0xc              |         v0 &= 0xc;
    0x000177b8 addiu s1, s1, 1               |         s1++;
    0x000177bc bnel v0, zero, 0x177a0        |         
                                             |     } while (v0 == 0);
    0x000177c0 lw t9, 0x74(sp)               |     t9 = *(var_74h);
    0x000177c4 jalr t9                       |     t9 ();
    0x000177c8 nop                           |     
    0x000177cc lw gp, 0x20(sp)               |     gp = *(var_20h);
    0x000177d0 lw s4, (fp)                   |     s4 = *(fp);
    0x000177d4 sw zero, 0x58(sp)             |     *(var_58h) = 0;
    0x000177d8 sw zero, 0x5c(sp)             |     *(var_5ch) = 0;
    0x000177dc sw zero, 0x60(sp)             |     *(var_60h) = 0;
    0x000177e0 sw zero, 0x64(sp)             |     *(var_64h) = 0;
    0x000177e4 sw zero, 0x68(sp)             |     *(var_68h) = 0;
    0x000177e8 sw zero, 0x6c(sp)             |     *(var_6ch) = 0;
    0x000177ec lw a0, 0x10(s4)               |     a0 = *((s4 + 4));
    0x000177f0 lw t9, -0x7d98(gp)            |     t9 = *((gp - 8038));
    0x000177f4 lw s3, 4(fp)                  |     s3 = *(arg_4h);
    0x000177f8 jalr t9                       |     t9 ();
    0x000177fc move s6, v0                   |     s6 = v0;
    0x00017800 lw gp, 0x20(sp)               |     gp = *(var_20h);
                                             |     if (v0 == 0) {
    0x00017804 beqz v0, 0x180c4              |         goto label_28;
                                             |     }
    0x00017808 lw t9, -0x7d94(gp)            |     t9 = *((gp - 8037));
    0x0001780c move a0, s4                   |     a0 = s4;
    0x00017810 lw s0, 0x24(s4)               |     s0 = *((s4 + 9));
    0x00017814 bal 0x1f778                   |     sym_g_param_spec_get_redirect_target ();
    0x00017818 lw gp, 0x20(sp)               |     gp = *(var_20h);
                                             |     if (v0 == 0) {
    0x0001781c movn s4, v0, v0               |         s4 = v0;
                                             |     }
    0x00017820 addiu s2, sp, 0x58            |     s2 = sp + 0x58;
    0x00017824 lw t9, -0x7f38(gp)            |     t9 = *((gp - 8142));
    0x00017828 lw a1, 0xc(s4)                |     a1 = *((s4 + 3));
    0x0001782c move a0, s2                   |     a0 = s2;
    0x00017830 jalr t9                       |     t9 ();
    0x00017834 lw gp, 0x20(sp)               |     gp = *(var_20h);
    0x00017838 move a1, s2                   |     a1 = s2;
    0x0001783c lw t9, -0x7f0c(gp)            |     t9 = *((gp - 8131));
    0x00017840 move a0, s3                   |     a0 = s3;
    0x00017844 jalr t9                       |     t9 ();
    0x00017848 lw gp, 0x20(sp)               |     gp = *(var_20h);
                                             |     if (v0 != 0) {
    0x0001784c bnez v0, 0x18030              |         goto label_29;
                                             |     }
    0x00017850 lw t9, -0x7f90(gp)            |     t9 = *((gp - 8164));
    0x00017854 lw a0, 0xc(s4)                |     a0 = *((s4 + 3));
    0x00017858 lw s0, 4(s4)                  |     s0 = *((s4 + 1));
    0x0001785c jalr t9                       |     t9 ();
    0x00017860 lw gp, 0x20(sp)               |     gp = *(var_20h);
    0x00017864 lw a0, (s3)                   |     a0 = *(s3);
    0x00017868 lw t9, -0x7f90(gp)            |     t9 = *((gp - 8164));
    0x0001786c move s3, v0                   |     s3 = v0;
    0x00017870 jalr t9                       |     t9 ();
    0x00017874 lw gp, 0x20(sp)               |     gp = *(var_20h);
    0x00017878 sw v0, 0x14(sp)               |     *(var_14h) = v0;
    0x0001787c lw v0, 0x7c(sp)               |     v0 = *(var_7ch);
    0x00017880 lw a0, 0x78(sp)               |     a0 = *(var_78h);
    0x00017884 lw t9, -0x7a68(gp)            |     t9 = *((gp - 7834));
    0x00017888 sw s3, 0x10(sp)               |     *(var_10h) = s3;
    0x0001788c move a3, s0                   |     a3 = s0;
    0x00017890 addiu a2, v0, 0x41cc          |     a2 = v0 + 0x41cc;
    0x00017894 addiu a1, zero, 0x10          |     a1 = 0x10;
    0x00017898 jalr t9                       |     t9 ();
    0x0001789c lw gp, 0x20(sp)               |     gp = *(var_20h);
                                             | label_12:
    0x000178a0 lw t9, -0x7f30(gp)            |     t9 = *((gp - 8140));
    0x000178a4 move a0, s2                   |     a0 = s2;
    0x000178a8 jalr t9                       |     t9 ();
    0x000178ac lw gp, 0x20(sp)               |     gp = *(var_20h);
    0x000178b0 b 0x1779c                     |     goto label_1;
                                             | label_18:
    0x000178b4 lw t9, -0x7d9c(gp)            |     t9 = *((gp - 8039));
    0x000178b8 lw a0, (a0)                   |     a0 = *(a0);
    0x000178bc jalr t9                       |     t9 ();
    0x000178c0 lw v1, 0x28(s3)               |     v1 = *((s3 + 10));
    0x000178c4 lw gp, 0x20(sp)               |     gp = *(var_20h);
    0x000178c8 andi v1, v1, 1                |     v1 &= 1;
    0x000178cc sw v0, 0x70(sp)               |     *(var_70h) = v0;
                                             |     if (v1 != 0) {
    0x000178d0 bnez v1, 0x179b8              |         goto label_30;
                                             |     }
    0x000178d4 lw v0, -0x7f54(gp)            |     v0 = *((gp - 8149));
    0x000178d8 lw t9, 0x24(s3)               |     t9 = *((s3 + 9));
    0x000178dc addiu v0, v0, 0x50f0          |     v0 += 0x50f0;
    0x000178e0 lw ra, 0xac(sp)               |     ra = *(var_ach);
                                             |     if (t9 != v0) {
    0x000178e4 beq t9, v0, 0x178f4           |         
    0x000178e8 lw a0, 0x70(sp)               |         a0 = *(var_70h);
    0x000178ec jalr t9                       |         t9 ();
                                             | label_10:
    0x000178f0 lw ra, 0xac(sp)               |         ra = *(var_ach);
                                             |     }
                                             | label_16:
    0x000178f4 lw v0, 0x70(sp)               |     v0 = *(var_70h);
    0x000178f8 lw fp, 0xa8(sp)               |     fp = *(var_a8h);
    0x000178fc lw s7, 0xa4(sp)               |     s7 = *(var_a4h);
    0x00017900 lw s6, 0xa0(sp)               |     s6 = *(var_a0h);
    0x00017904 lw s5, 0x9c(sp)               |     s5 = *(var_9ch);
    0x00017908 lw s4, 0x98(sp)               |     s4 = *(var_98h);
    0x0001790c lw s3, 0x94(sp)               |     s3 = *(var_94h);
    0x00017910 lw s2, 0x90(sp)               |     s2 = *(var_90h);
    0x00017914 lw s1, 0x8c(sp)               |     s1 = *(var_8ch);
    0x00017918 lw s0, 0x88(sp)               |     s0 = *(var_88h);
    0x0001791c addiu sp, sp, 0xb0            |     
    0x00017920 jr ra                         |     return v0;
                                             | label_21:
    0x00017924 move fp, s0                   |     fp = s0;
    0x00017928 move s1, zero                 |     s1 = 0;
    0x0001792c sw t1, 0x7c(sp)               |     *(var_7ch) = t1;
                                             | label_22:
    0x00017930 sw a3, 0x78(sp)               |     *(var_78h) = a3;
    0x00017934 sw a2, 0x74(sp)               |     *(var_74h) = a2;
    0x00017938 move t9, s2                   |     t9 = s2;
    0x0001793c move a0, s7                   |     a0 = s7;
    0x00017940 bal 0x16604                   |     fcn_00016604 ();
    0x00017944 lw gp, 0x20(sp)               |     gp = *(var_20h);
    0x00017948 lw fp, 4(fp)                  |     fp = *(arg_4h);
    0x0001794c lw a2, 0x74(sp)               |     a2 = *(var_74h);
    0x00017950 lw a3, 0x78(sp)               |     a3 = *(var_78h);
    0x00017954 lw t1, 0x7c(sp)               |     t1 = *(var_7ch);
                                             |     if (s5 != s1) {
    0x00017958 bne s5, s1, 0x17614           |         goto label_2;
                                             |     }
                                             | label_20:
    0x0001795c sll fp, t1, 1                 |     fp = t1 << 1;
    0x00017960 addu fp, fp, t1               |     fp += t1;
    0x00017964 sll fp, fp, 3                 |     fp <<= 3;
    0x00017968 lw t9, -0x7f38(gp)            |     t9 = *((gp - 8142));
    0x0001796c addu fp, s6, fp               |     fp = s6 + fp;
    0x00017970 lw a1, 0xc(s7)                |     a1 = *((s7 + 3));
    0x00017974 sw a3, 0x7c(sp)               |     *(var_7ch) = a3;
    0x00017978 sw a2, 0x78(sp)               |     *(var_78h) = a2;
    0x0001797c sw t1, 0x74(sp)               |     *(var_74h) = t1;
    0x00017980 move a0, fp                   |     a0 = fp;
    0x00017984 jalr t9                       |     t9 ();
    0x00017988 lw gp, 0x20(sp)               |     gp = *(var_20h);
    0x0001798c lw t1, 0x74(sp)               |     t1 = *(var_74h);
    0x00017990 move a1, fp                   |     a1 = fp;
    0x00017994 lw t9, -0x7d8c(gp)            |     t9 = *((gp - 8035));
    0x00017998 addiu s1, t1, 1               |     s1 = t1 + 1;
    0x0001799c move a0, s7                   |     a0 = s7;
    0x000179a0 bal 0x1f91c                   |     sym_g_param_value_set_default ();
    0x000179a4 lw gp, 0x20(sp)               |     gp = *(var_20h);
    0x000179a8 move t1, s1                   |     t1 = s1;
    0x000179ac lw a2, 0x78(sp)               |     a2 = *(var_78h);
    0x000179b0 lw a3, 0x7c(sp)               |     a3 = *(var_7ch);
    0x000179b4 b 0x17614                     |     goto label_2;
                                             | label_30:
    0x000179b8 lw v0, 0x70(sp)               |     v0 = *(var_70h);
    0x000179bc lw t9, -0x7aa0(gp)            |     t9 = *((gp - 7848));
    0x000179c0 addiu a0, v0, 8               |     a0 = v0 + 8;
    0x000179c4 lw v0, -0x7fe0(gp)            |     v0 = *((gp - 8184));
    0x000179c8 lw a1, -0x3640(v0)            |     a1 = *((v0 - 3472));
    0x000179cc jalr t9                       |     t9 ();
    0x000179d0 sw v0, 0x78(sp)               |     *(var_78h) = v0;
    0x000179d4 lw gp, 0x20(sp)               |     gp = *(var_20h);
                                             |     if (v0 == 0) {
    0x000179d8 beqz v0, 0x17fe0              |         goto label_31;
                                             |     }
    0x000179dc lw s1, 4(s3)                  |     s1 = *((s3 + 1));
    0x000179e0 lw v0, -0x7fe8(gp)            |     v0 = *((gp - 8186));
                                             |     if (s1 == 0) {
    0x000179e4 beqz s1, 0x17b3c              |         goto label_32;
                                             |     }
    0x000179e8 sw v0, 0x74(sp)               |     *(var_74h) = v0;
    0x000179ec lw v0, -0x7f54(gp)            |     v0 = *((gp - 8149));
    0x000179f0 addiu v0, v0, 0x6604          |     v0 += 0x6604;
    0x000179f4 sw v0, 0x7c(sp)               |     *(var_7ch) = v0;
    0x000179f8 lw v0, -0x7f54(gp)            |     v0 = *((gp - 8149));
    0x000179fc addiu v0, v0, 0x636c          |     v0 += 0x636c;
    0x00017a00 sw v0, 0x80(sp)               |     *(var_80h) = v0;
    0x00017a04 lw v0, -0x7fe8(gp)            |     v0 = *((gp - 8186));
    0x00017a08 addiu v0, v0, 0x4210          |     v0 += 0x4210;
    0x00017a0c sw v0, 0x84(sp)               |     *(var_84h) = v0;
                                             | label_3:
    0x00017a10 lw fp, (s1)                   |     fp = *(s1);
                                             |     if (s5 == 0) {
    0x00017a14 beqz s5, 0x17d1c              |         goto label_33;
                                             |     }
    0x00017a18 lw v0, (s0)                   |     v0 = *(s0);
    0x00017a1c addiu v0, s0, 8               |     v0 = s0 + 8;
                                             |     if (fp == v0) {
    0x00017a20 beq fp, v0, 0x17cfc           |         goto label_34;
                                             |     }
    0x00017a24 move v1, zero                 |     v1 = 0;
    0x00017a28 b 0x17a40                     |     
                                             |     while (s2 != s5) {
    0x00017a2c move s4, v0                   |         s4 = v0;
    0x00017a30 addiu v0, v0, 8               |         v0 += 8;
    0x00017a34 lw a0, -8(v0)                 |         a0 = *((v0 - 2));
    0x00017a38 lw t9, 0x7c(sp)               |         t9 = *(var_7ch);
                                             |         if (a0 == fp) {
    0x00017a3c beq a0, fp, 0x17d08           |             goto label_35;
                                             |         }
    0x00017a40 addiu s2, v1, 1               |         s2 = v1 + 1;
    0x00017a44 move v1, s2                   |         v1 = s2;
    0x00017a48 bne s2, s5, 0x17a2c           |         
                                             |     }
    0x00017a4c move s4, zero                 |     s4 = 0;
                                             |     if (s5 == s2) {
    0x00017a50 beq s5, s2, 0x17d1c           |         goto label_33;
                                             |     }
                                             | label_5:
    0x00017a54 sw zero, 0x40(sp)             |     *(var_40h) = 0;
    0x00017a58 sw zero, 0x44(sp)             |     *(var_44h) = 0;
    0x00017a5c sw zero, 0x48(sp)             |     *(var_48h) = 0;
    0x00017a60 sw zero, 0x4c(sp)             |     *(var_4ch) = 0;
    0x00017a64 sw zero, 0x50(sp)             |     *(var_50h) = 0;
    0x00017a68 sw zero, 0x54(sp)             |     *(var_54h) = 0;
    0x00017a6c lw t9, -0x7d98(gp)            |     t9 = *((gp - 8038));
    0x00017a70 lw a0, 0x10(fp)               |     a0 = *(arg_10h);
    0x00017a74 jalr t9                       |     t9 ();
    0x00017a78 move s6, v0                   |     s6 = v0;
    0x00017a7c lw gp, 0x20(sp)               |     gp = *(var_20h);
                                             |     if (v0 == 0) {
    0x00017a80 beqz v0, 0x17e44              |         goto label_36;
                                             |     }
    0x00017a84 lw t9, -0x7d94(gp)            |     t9 = *((gp - 8037));
    0x00017a88 move a0, fp                   |     a0 = fp;
    0x00017a8c lw s7, 0x24(fp)               |     s7 = *(arg_24h);
    0x00017a90 bal 0x1f778                   |     sym_g_param_spec_get_redirect_target ();
    0x00017a94 lw gp, 0x20(sp)               |     gp = *(var_20h);
                                             |     if (v0 == 0) {
    0x00017a98 movn fp, v0, v0               |         fp = v0;
                                             |     }
    0x00017a9c addiu s2, sp, 0x40            |     s2 = sp + 0x40;
    0x00017aa0 lw t9, -0x7f38(gp)            |     t9 = *((gp - 8142));
    0x00017aa4 lw a1, 0xc(fp)                |     a1 = *(arg_ch);
    0x00017aa8 move a0, s2                   |     a0 = s2;
    0x00017aac jalr t9                       |     t9 ();
    0x00017ab0 lw gp, 0x20(sp)               |     gp = *(var_20h);
    0x00017ab4 move a1, s2                   |     a1 = s2;
    0x00017ab8 lw t9, -0x7f0c(gp)            |     t9 = *((gp - 8131));
    0x00017abc move a0, s4                   |     a0 = s4;
    0x00017ac0 jalr t9                       |     t9 ();
    0x00017ac4 lw gp, 0x20(sp)               |     gp = *(var_20h);
                                             |     if (v0 != 0) {
    0x00017ac8 bnez v0, 0x17d34              |         goto label_37;
                                             |     }
    0x00017acc lw t9, -0x7f90(gp)            |     t9 = *((gp - 8164));
    0x00017ad0 lw a0, 0xc(fp)                |     a0 = *(arg_ch);
    0x00017ad4 lw s6, 4(fp)                  |     s6 = *(arg_4h);
    0x00017ad8 jalr t9                       |     t9 ();
    0x00017adc lw gp, 0x20(sp)               |     gp = *(var_20h);
    0x00017ae0 lw a0, (s4)                   |     a0 = *(s4);
    0x00017ae4 lw t9, -0x7f90(gp)            |     t9 = *((gp - 8164));
    0x00017ae8 move s4, v0                   |     s4 = v0;
    0x00017aec jalr t9                       |     t9 ();
    0x00017af0 lw gp, 0x20(sp)               |     gp = *(var_20h);
    0x00017af4 sw v0, 0x14(sp)               |     *(var_14h) = v0;
    0x00017af8 lw v0, 0x74(sp)               |     v0 = *(var_74h);
    0x00017afc lw a2, -0x7fe8(gp)            |     a2 = *((gp - 8186));
    0x00017b00 lw t9, -0x7a68(gp)            |     t9 = *((gp - 7834));
    0x00017b04 sw s4, 0x10(sp)               |     *(var_10h) = s4;
    0x00017b08 move a3, s6                   |     a3 = s6;
    0x00017b0c addiu a2, a2, 0x41cc          |     a2 += 0x41cc;
    0x00017b10 addiu a1, zero, 0x10          |     a1 = 0x10;
    0x00017b14 addiu a0, v0, 0x1944          |     a0 = v0 + 0x1944;
    0x00017b18 jalr t9                       |     t9 ();
    0x00017b1c lw gp, 0x20(sp)               |     gp = *(var_20h);
                                             | label_6:
    0x00017b20 lw t9, -0x7f30(gp)            |     t9 = *((gp - 8140));
    0x00017b24 move a0, s2                   |     a0 = s2;
    0x00017b28 jalr t9                       |     t9 ();
    0x00017b2c lw gp, 0x20(sp)               |     gp = *(var_20h);
                                             | label_8:
    0x00017b30 lw s1, 4(s1)                  |     s1 = *((s1 + 1));
                                             |     if (s1 != 0) {
    0x00017b34 bnez s1, 0x17a10              |         goto label_3;
                                             |     }
    0x00017b38 nop                           |     
                                             | label_32:
    0x00017b3c lw v0, -0x7f54(gp)            |     v0 = *((gp - 8149));
    0x00017b40 lw t9, 0x24(s3)               |     t9 = *((s3 + 9));
    0x00017b44 addiu v0, v0, 0x50f0          |     v0 += 0x50f0;
                                             |     if (t9 != v0) {
    0x00017b48 beq t9, v0, 0x17b5c           |         
    0x00017b4c nop                           |         
    0x00017b50 lw a0, 0x70(sp)               |         a0 = *(var_70h);
    0x00017b54 jalr t9                       |         t9 ();
    0x00017b58 lw gp, 0x20(sp)               |         gp = *(var_20h);
                                             |     }
    0x00017b5c lw v0, -0x7fe8(gp)            |     v0 = *((gp - 8186));
                                             |     if (s5 == 0) {
    0x00017b60 beqz s5, 0x17cb4              |         goto label_38;
                                             |     }
    0x00017b64 lw s6, -0x7f54(gp)            |     s6 = *((gp - 8149));
    0x00017b68 sw v0, 0x80(sp)               |     *(var_80h) = v0;
    0x00017b6c lw v0, -0x7fe8(gp)            |     v0 = *((gp - 8186));
    0x00017b70 lw s7, -0x7fe8(gp)            |     s7 = *((gp - 8186));
    0x00017b74 sw v0, 0x74(sp)               |     *(var_74h) = v0;
    0x00017b78 lw v0, -0x7f54(gp)            |     v0 = *((gp - 8149));
    0x00017b7c sll s1, s5, 3                 |     s1 = s5 << 3;
    0x00017b80 addiu v0, v0, 0x636c          |     v0 += 0x636c;
    0x00017b84 move fp, s0                   |     fp = s0;
    0x00017b88 addu s1, s0, s1               |     s1 = s0 + s1;
    0x00017b8c addiu s6, s6, 0x6604          |     s6 += 0x6604;
    0x00017b90 sw v0, 0x7c(sp)               |     *(var_7ch) = v0;
    0x00017b94 addiu s7, s7, 0x1944          |     s7 += 0x1944;
    0x00017b98 b 0x17ba8                     |     goto label_4;
                                             | label_9:
    0x00017b9c addiu fp, fp, 8               |     fp += 8;
                                             |     do {
    0x00017ba0 lw a1, 0x78(sp)               |         a1 = *(var_78h);
                                             |         if (fp == s1) {
    0x00017ba4 beq fp, s1, 0x17cb8           |             goto label_39;
                                             |         }
                                             | label_4:
    0x00017ba8 lw a0, (fp)                   |         a0 = *(fp);
    0x00017bac lw v0, 8(a0)                  |         v0 = *((a0 + 2));
    0x00017bb0 andi v0, v0, 0xc              |         v0 &= 0xc;
    0x00017bb4 addiu fp, fp, 8               |         fp += 8;
    0x00017bb8 bnel v0, zero, 0x17ba0        |         
                                             |     } while (v0 == 0);
    0x00017bbc move t9, s6                   |     t9 = s6;
    0x00017bc0 bal 0x16604                   |     fcn_00016604 ();
    0x00017bc4 nop                           |     
    0x00017bc8 lw gp, 0x20(sp)               |     gp = *(var_20h);
    0x00017bcc lw s5, (fp)                   |     s5 = *(fp);
    0x00017bd0 sw zero, 0x28(sp)             |     *(var_28h) = 0;
    0x00017bd4 sw zero, 0x2c(sp)             |     *(var_2ch) = 0;
    0x00017bd8 sw zero, 0x30(sp)             |     *(var_30h) = 0;
    0x00017bdc sw zero, 0x34(sp)             |     *(var_34h) = 0;
    0x00017be0 sw zero, 0x38(sp)             |     *(var_38h) = 0;
    0x00017be4 sw zero, 0x3c(sp)             |     *(var_3ch) = 0;
    0x00017be8 lw a0, 0x10(s5)               |     a0 = *((s5 + 4));
    0x00017bec lw t9, -0x7d98(gp)            |     t9 = *((gp - 8038));
    0x00017bf0 lw s3, 4(fp)                  |     s3 = *(arg_4h);
    0x00017bf4 jalr t9                       |     t9 ();
    0x00017bf8 move s4, v0                   |     s4 = v0;
    0x00017bfc lw gp, 0x20(sp)               |     gp = *(var_20h);
                                             |     if (v0 == 0) {
    0x00017c00 beqz v0, 0x17e9c              |         goto label_40;
                                             |     }
    0x00017c04 lw t9, -0x7d94(gp)            |     t9 = *((gp - 8037));
    0x00017c08 move a0, s5                   |     a0 = s5;
    0x00017c0c lw s0, 0x24(s5)               |     s0 = *((s5 + 9));
    0x00017c10 bal 0x1f778                   |     sym_g_param_spec_get_redirect_target ();
    0x00017c14 lw gp, 0x20(sp)               |     gp = *(var_20h);
                                             |     if (v0 == 0) {
    0x00017c18 movn s5, v0, v0               |         s5 = v0;
                                             |     }
    0x00017c1c lw a1, 0xc(s5)                |     a1 = *((s5 + 3));
    0x00017c20 lw t9, -0x7f38(gp)            |     t9 = *((gp - 8142));
    0x00017c24 addiu s2, sp, 0x28            |     s2 = sp + 0x28;
    0x00017c28 move a0, s2                   |     a0 = s2;
    0x00017c2c jalr t9                       |     t9 ();
    0x00017c30 lw gp, 0x20(sp)               |     gp = *(var_20h);
    0x00017c34 move a1, s2                   |     a1 = s2;
    0x00017c38 lw t9, -0x7f0c(gp)            |     t9 = *((gp - 8131));
    0x00017c3c move a0, s3                   |     a0 = s3;
    0x00017c40 jalr t9                       |     t9 ();
    0x00017c44 lw gp, 0x20(sp)               |     gp = *(var_20h);
                                             |     if (v0 != 0) {
    0x00017c48 bnez v0, 0x17dbc              |         goto label_41;
                                             |     }
    0x00017c4c lw t9, -0x7f90(gp)            |     t9 = *((gp - 8164));
    0x00017c50 lw a0, 0xc(s5)                |     a0 = *((s5 + 3));
    0x00017c54 lw s0, 4(s5)                  |     s0 = *((s5 + 1));
    0x00017c58 jalr t9                       |     t9 ();
    0x00017c5c lw gp, 0x20(sp)               |     gp = *(var_20h);
    0x00017c60 lw a0, (s3)                   |     a0 = *(s3);
    0x00017c64 lw t9, -0x7f90(gp)            |     t9 = *((gp - 8164));
    0x00017c68 move s3, v0                   |     s3 = v0;
    0x00017c6c jalr t9                       |     t9 ();
    0x00017c70 lw gp, 0x20(sp)               |     gp = *(var_20h);
    0x00017c74 sw v0, 0x14(sp)               |     *(var_14h) = v0;
    0x00017c78 lw v0, 0x74(sp)               |     v0 = *(var_74h);
    0x00017c7c lw t9, -0x7a68(gp)            |     t9 = *((gp - 7834));
    0x00017c80 sw s3, 0x10(sp)               |     *(var_10h) = s3;
    0x00017c84 move a3, s0                   |     a3 = s0;
    0x00017c88 addiu a2, v0, 0x41cc          |     a2 = v0 + 0x41cc;
    0x00017c8c addiu a1, zero, 0x10          |     a1 = 0x10;
    0x00017c90 move a0, s7                   |     a0 = s7;
    0x00017c94 jalr t9                       |     t9 ();
    0x00017c98 lw gp, 0x20(sp)               |     gp = *(var_20h);
                                             | label_7:
    0x00017c9c lw t9, -0x7f30(gp)            |     t9 = *((gp - 8140));
    0x00017ca0 move a0, s2                   |     a0 = s2;
    0x00017ca4 addiu fp, fp, 8               |     fp += 8;
    0x00017ca8 jalr t9                       |     t9 ();
    0x00017cac lw gp, 0x20(sp)               |     gp = *(var_20h);
                                             |     if (fp != s1) {
    0x00017cb0 bne fp, s1, 0x17ba8           |         goto label_4;
                                             |     }
                                             | label_38:
    0x00017cb4 lw a1, 0x78(sp)               |     a1 = *(var_78h);
                                             | label_39:
    0x00017cb8 lw t9, -0x7f54(gp)            |     t9 = *((gp - 8149));
                                             | label_13:
    0x00017cbc addiu t9, t9, 0x5300          |     t9 += 0x5300;
    0x00017cc0 lw a0, 0x70(sp)               |     a0 = *(var_70h);
    0x00017cc4 bal 0x15300                   |     fcn_00015300 ();
    0x00017cc8 lw ra, 0xac(sp)               |     ra = *(var_ach);
    0x00017ccc lw v0, 0x70(sp)               |     v0 = *(var_70h);
    0x00017cd0 lw fp, 0xa8(sp)               |     fp = *(var_a8h);
    0x00017cd4 lw s7, 0xa4(sp)               |     s7 = *(var_a4h);
    0x00017cd8 lw s6, 0xa0(sp)               |     s6 = *(var_a0h);
    0x00017cdc lw s5, 0x9c(sp)               |     s5 = *(var_9ch);
    0x00017ce0 lw s4, 0x98(sp)               |     s4 = *(var_98h);
    0x00017ce4 lw s3, 0x94(sp)               |     s3 = *(var_94h);
    0x00017ce8 lw s2, 0x90(sp)               |     s2 = *(var_90h);
    0x00017cec lw s1, 0x8c(sp)               |     s1 = *(var_8ch);
    0x00017cf0 lw s0, 0x88(sp)               |     s0 = *(var_88h);
    0x00017cf4 addiu sp, sp, 0xb0            |     
    0x00017cf8 jr ra                         |     return v0;
                                             | label_34:
    0x00017cfc move s4, s0                   |     s4 = s0;
    0x00017d00 move s2, zero                 |     s2 = 0;
    0x00017d04 lw t9, 0x7c(sp)               |     t9 = *(var_7ch);
                                             | label_35:
    0x00017d08 move a0, fp                   |     a0 = fp;
    0x00017d0c jalr t9                       |     t9 ();
    0x00017d10 lw gp, 0x20(sp)               |     gp = *(var_20h);
    0x00017d14 lw s4, 4(s4)                  |     s4 = *((s4 + 1));
                                             |     if (s5 != s2) {
    0x00017d18 bne s5, s2, 0x17a54           |         goto label_5;
                                             |     }
                                             | label_33:
    0x00017d1c lw t9, -0x7d88(gp)            |     t9 = *((gp - 8034));
    0x00017d20 move a0, fp                   |     a0 = fp;
    0x00017d24 bal 0x2162c                   |     sym_g_param_spec_get_default_value ();
    0x00017d28 move s4, v0                   |     s4 = v0;
    0x00017d2c lw gp, 0x20(sp)               |     gp = *(var_20h);
    0x00017d30 b 0x17a54                     |     goto label_5;
                                             | label_37:
    0x00017d34 lw t9, -0x7f2c(gp)            |     t9 = *((gp - 8139));
    0x00017d38 move a1, s2                   |     a1 = s2;
    0x00017d3c move a0, fp                   |     a0 = fp;
    0x00017d40 bal 0x1fc24                   |     sym_g_param_value_validate ();
    0x00017d44 lw gp, 0x20(sp)               |     gp = *(var_20h);
                                             |     if (v0 != 0) {
    0x00017d48 beqz v0, 0x17d5c              |         
    0x00017d4c lw v0, 8(fp)                  |         v0 = *(arg_8h);
    0x00017d50 andi v0, v0, 0x10             |         v0 &= 0x10;
    0x00017d54 lw t9, -0x7d90(gp)            |         t9 = *((gp - 8036));
                                             |         if (v0 == 0) {
    0x00017d58 beqz v0, 0x17ef0              |             goto label_42;
                                             |         }
                                             |     }
    0x00017d5c lw a0, 0x70(sp)               |     a0 = *(var_70h);
    0x00017d60 lw t9, 0xc(s6)                |     t9 = *((s6 + 3));
    0x00017d64 move a3, fp                   |     a3 = fp;
    0x00017d68 move a2, s2                   |     a2 = s2;
    0x00017d6c move a1, s7                   |     a1 = s7;
    0x00017d70 jalr t9                       |     t9 ();
    0x00017d74 lw v0, 8(fp)                  |     v0 = *(arg_8h);
    0x00017d78 ext a0, v0, 0x1e, 1           |     __asm ("ext a0, v0, 0x1e, 1");
    0x00017d7c lw gp, 0x20(sp)               |     gp = *(var_20h);
                                             |     if (a0 != 0) {
    0x00017d80 bnez a0, 0x17b20              |         goto label_6;
                                             |     }
    0x00017d84 andi v0, v0, 1                |     v0 &= 1;
    0x00017d88 lw t9, -0x7d94(gp)            |     t9 = *((gp - 8037));
                                             |     if (v0 == 0) {
    0x00017d8c beqz v0, 0x17b20              |         goto label_6;
                                             |     }
    0x00017d90 move a0, fp                   |     a0 = fp;
    0x00017d94 bal 0x1f778                   |     sym_g_param_spec_get_redirect_target ();
    0x00017d98 move a2, fp                   |     a2 = fp;
                                             |     if (v0 == 0) {
    0x00017d9c movn a2, v0, v0               |         a2 = v0;
                                             |     }
    0x00017da0 lw v0, 0x78(sp)               |     v0 = *(var_78h);
    0x00017da4 lw t9, 0x80(sp)               |     t9 = *(var_80h);
    0x00017da8 addiu a1, v0, 4               |     a1 = v0 + 4;
    0x00017dac move a0, v0                   |     a0 = v0;
    0x00017db0 jalr t9                       |     t9 ();
    0x00017db4 lw gp, 0x20(sp)               |     gp = *(var_20h);
    0x00017db8 b 0x17b20                     |     goto label_6;
                                             | label_41:
    0x00017dbc lw t9, -0x7f2c(gp)            |     t9 = *((gp - 8139));
    0x00017dc0 move a1, s2                   |     a1 = s2;
    0x00017dc4 move a0, s5                   |     a0 = s5;
    0x00017dc8 bal 0x1fc24                   |     sym_g_param_value_validate ();
    0x00017dcc lw gp, 0x20(sp)               |     gp = *(var_20h);
                                             |     if (v0 != 0) {
    0x00017dd0 beqz v0, 0x17de4              |         
    0x00017dd4 lw v0, 8(s5)                  |         v0 = *((s5 + 2));
    0x00017dd8 andi v0, v0, 0x10             |         v0 &= 0x10;
    0x00017ddc lw t9, -0x7d90(gp)            |         t9 = *((gp - 8036));
                                             |         if (v0 == 0) {
    0x00017de0 beqz v0, 0x17f68              |             goto label_43;
                                             |         }
                                             |     }
    0x00017de4 lw a0, 0x70(sp)               |     a0 = *(var_70h);
    0x00017de8 lw t9, 0xc(s4)                |     t9 = *((s4 + 3));
    0x00017dec move a3, s5                   |     a3 = s5;
    0x00017df0 move a2, s2                   |     a2 = s2;
    0x00017df4 move a1, s0                   |     a1 = s0;
    0x00017df8 jalr t9                       |     t9 ();
    0x00017dfc lw v0, 8(s5)                  |     v0 = *((s5 + 2));
    0x00017e00 ext a0, v0, 0x1e, 1           |     __asm ("ext a0, v0, 0x1e, 1");
    0x00017e04 lw gp, 0x20(sp)               |     gp = *(var_20h);
                                             |     if (a0 != 0) {
    0x00017e08 bnez a0, 0x17c9c              |         goto label_7;
                                             |     }
    0x00017e0c andi v0, v0, 1                |     v0 &= 1;
    0x00017e10 lw t9, -0x7d94(gp)            |     t9 = *((gp - 8037));
                                             |     if (v0 == 0) {
    0x00017e14 beqz v0, 0x17c9c              |         goto label_7;
                                             |     }
    0x00017e18 move a0, s5                   |     a0 = s5;
    0x00017e1c bal 0x1f778                   |     sym_g_param_spec_get_redirect_target ();
    0x00017e20 move a2, s5                   |     a2 = s5;
                                             |     if (v0 == 0) {
    0x00017e24 movn a2, v0, v0               |         a2 = v0;
                                             |     }
    0x00017e28 lw v0, 0x78(sp)               |     v0 = *(var_78h);
    0x00017e2c lw t9, 0x7c(sp)               |     t9 = *(var_7ch);
    0x00017e30 addiu a1, v0, 4               |     a1 = v0 + 4;
    0x00017e34 move a0, v0                   |     a0 = v0;
    0x00017e38 jalr t9                       |     t9 ();
    0x00017e3c lw gp, 0x20(sp)               |     gp = *(var_20h);
    0x00017e40 b 0x17c9c                     |     goto label_7;
                                             | label_36:
    0x00017e44 lw t9, -0x7f90(gp)            |     t9 = *((gp - 8164));
    0x00017e48 lw a0, 0x10(fp)               |     a0 = *(arg_10h);
    0x00017e4c jalr t9                       |     t9 ();
    0x00017e50 lw gp, 0x20(sp)               |     gp = *(var_20h);
    0x00017e54 lw a0, 0x10(fp)               |     a0 = *(arg_10h);
    0x00017e58 move s2, v0                   |     s2 = v0;
    0x00017e5c lw t9, -0x7f90(gp)            |     t9 = *((gp - 8164));
    0x00017e60 lw s4, 4(fp)                  |     s4 = *(arg_4h);
    0x00017e64 jalr t9                       |     t9 ();
    0x00017e68 lw gp, 0x20(sp)               |     gp = *(var_20h);
    0x00017e6c sw v0, 0x14(sp)               |     *(var_14h) = v0;
    0x00017e70 lw v0, 0x74(sp)               |     v0 = *(var_74h);
    0x00017e74 lw a2, -0x7fe8(gp)            |     a2 = *((gp - 8186));
    0x00017e78 lw t9, -0x7a68(gp)            |     t9 = *((gp - 7834));
    0x00017e7c sw s4, 0x10(sp)               |     *(var_10h) = s4;
    0x00017e80 move a3, s2                   |     a3 = s2;
    0x00017e84 addiu a2, a2, 0x4184          |     a2 += 0x4184;
    0x00017e88 addiu a1, zero, 0x10          |     a1 = 0x10;
    0x00017e8c addiu a0, v0, 0x1944          |     a0 = v0 + 0x1944;
    0x00017e90 jalr t9                       |     t9 ();
    0x00017e94 lw gp, 0x20(sp)               |     gp = *(var_20h);
    0x00017e98 b 0x17b30                     |     goto label_8;
                                             | label_40:
    0x00017e9c lw t9, -0x7f90(gp)            |     t9 = *((gp - 8164));
    0x00017ea0 lw a0, 0x10(s5)               |     a0 = *((s5 + 4));
    0x00017ea4 jalr t9                       |     t9 ();
    0x00017ea8 lw gp, 0x20(sp)               |     gp = *(var_20h);
    0x00017eac lw a0, 0x10(s5)               |     a0 = *((s5 + 4));
    0x00017eb0 move s0, v0                   |     s0 = v0;
    0x00017eb4 lw t9, -0x7f90(gp)            |     t9 = *((gp - 8164));
    0x00017eb8 lw s2, 4(s5)                  |     s2 = *((s5 + 1));
    0x00017ebc jalr t9                       |     t9 ();
    0x00017ec0 lw gp, 0x20(sp)               |     gp = *(var_20h);
    0x00017ec4 sw v0, 0x14(sp)               |     *(var_14h) = v0;
    0x00017ec8 sw s2, 0x10(sp)               |     *(var_10h) = s2;
    0x00017ecc lw a2, -0x7fe8(gp)            |     a2 = *((gp - 8186));
    0x00017ed0 lw t9, -0x7a68(gp)            |     t9 = *((gp - 7834));
    0x00017ed4 move a3, s0                   |     a3 = s0;
    0x00017ed8 addiu a2, a2, 0x4184          |     a2 += 0x4184;
    0x00017edc addiu a1, zero, 0x10          |     a1 = 0x10;
    0x00017ee0 move a0, s7                   |     a0 = s7;
    0x00017ee4 jalr t9                       |     t9 ();
    0x00017ee8 lw gp, 0x20(sp)               |     gp = *(var_20h);
    0x00017eec b 0x17b9c                     |     goto label_9;
                                             | label_42:
    0x00017ef0 move a0, s4                   |     a0 = s4;
    0x00017ef4 jalr t9                       |     t9 ();
    0x00017ef8 lw gp, 0x20(sp)               |     gp = *(var_20h);
    0x00017efc lw a0, (s4)                   |     a0 = *(s4);
    0x00017f00 lw t9, -0x7f90(gp)            |     t9 = *((gp - 8164));
    0x00017f04 move s4, v0                   |     s4 = v0;
    0x00017f08 jalr t9                       |     t9 ();
    0x00017f0c lw gp, 0x20(sp)               |     gp = *(var_20h);
    0x00017f10 lw a0, 0xc(fp)                |     a0 = *(arg_ch);
    0x00017f14 lw s7, 4(fp)                  |     s7 = *(arg_4h);
    0x00017f18 lw t9, -0x7f90(gp)            |     t9 = *((gp - 8164));
    0x00017f1c move s6, v0                   |     s6 = v0;
    0x00017f20 jalr t9                       |     t9 ();
    0x00017f24 lw gp, 0x20(sp)               |     gp = *(var_20h);
    0x00017f28 sw v0, 0x18(sp)               |     *(var_18h) = v0;
    0x00017f2c lw v0, 0x74(sp)               |     v0 = *(var_74h);
    0x00017f30 lw a2, 0x84(sp)               |     a2 = *(var_84h);
    0x00017f34 lw t9, -0x7a68(gp)            |     t9 = *((gp - 7834));
    0x00017f38 addiu a0, v0, 0x1944          |     a0 = v0 + 0x1944;
    0x00017f3c move a3, s4                   |     a3 = s4;
    0x00017f40 addiu a1, zero, 0x10          |     a1 = 0x10;
    0x00017f44 sw s7, 0x14(sp)               |     *(var_14h) = s7;
    0x00017f48 sw s6, 0x10(sp)               |     *(var_10h) = s6;
    0x00017f4c jalr t9                       |     t9 ();
    0x00017f50 lw gp, 0x20(sp)               |     gp = *(var_20h);
    0x00017f54 lw t9, -0x78e4(gp)            |     t9 = *((gp - 7737));
    0x00017f58 move a0, s4                   |     a0 = s4;
    0x00017f5c jalr t9                       |     t9 ();
    0x00017f60 lw gp, 0x20(sp)               |     gp = *(var_20h);
    0x00017f64 b 0x17b20                     |     goto label_6;
                                             | label_43:
    0x00017f68 move a0, s3                   |     a0 = s3;
    0x00017f6c jalr t9                       |     t9 ();
    0x00017f70 lw gp, 0x20(sp)               |     gp = *(var_20h);
    0x00017f74 lw a0, (s3)                   |     a0 = *(s3);
    0x00017f78 lw t9, -0x7f90(gp)            |     t9 = *((gp - 8164));
    0x00017f7c move s3, v0                   |     s3 = v0;
    0x00017f80 jalr t9                       |     t9 ();
    0x00017f84 lw gp, 0x20(sp)               |     gp = *(var_20h);
    0x00017f88 lw a0, 0xc(s5)                |     a0 = *((s5 + 3));
    0x00017f8c lw s4, 4(s5)                  |     s4 = *((s5 + 1));
    0x00017f90 lw t9, -0x7f90(gp)            |     t9 = *((gp - 8164));
    0x00017f94 move s0, v0                   |     s0 = v0;
    0x00017f98 jalr t9                       |     t9 ();
    0x00017f9c lw gp, 0x20(sp)               |     gp = *(var_20h);
    0x00017fa0 sw v0, 0x18(sp)               |     *(var_18h) = v0;
    0x00017fa4 lw v0, 0x80(sp)               |     v0 = *(var_80h);
    0x00017fa8 lw t9, -0x7a68(gp)            |     t9 = *((gp - 7834));
    0x00017fac move a3, s3                   |     a3 = s3;
    0x00017fb0 addiu a2, v0, 0x4210          |     a2 = v0 + 0x4210;
    0x00017fb4 addiu a1, zero, 0x10          |     a1 = 0x10;
    0x00017fb8 move a0, s7                   |     a0 = s7;
    0x00017fbc sw s4, 0x14(sp)               |     *(var_14h) = s4;
    0x00017fc0 sw s0, 0x10(sp)               |     *(var_10h) = s0;
    0x00017fc4 jalr t9                       |     t9 ();
    0x00017fc8 lw gp, 0x20(sp)               |     gp = *(var_20h);
    0x00017fcc lw t9, -0x78e4(gp)            |     t9 = *((gp - 7737));
    0x00017fd0 move a0, s3                   |     a0 = s3;
    0x00017fd4 jalr t9                       |     t9 ();
    0x00017fd8 lw gp, 0x20(sp)               |     gp = *(var_20h);
    0x00017fdc b 0x17c9c                     |     goto label_7;
                                             | label_31:
    0x00017fe0 lw v0, -0x7fe8(gp)            |     v0 = *((gp - 8186));
    0x00017fe4 lw a3, -0x7fe8(gp)            |     a3 = *((gp - 8186));
    0x00017fe8 lw a1, -0x7fe8(gp)            |     a1 = *((gp - 8186));
    0x00017fec lw a0, -0x7fe8(gp)            |     a0 = *((gp - 8186));
    0x00017ff0 addiu v0, v0, 0x42c4          |     v0 += 0x42c4;
    0x00017ff4 lw t9, -0x796c(gp)            |     t9 = *((gp - 7771));
    0x00017ff8 sw v0, 0x10(sp)               |     *(var_10h) = v0;
    0x00017ffc addiu a3, a3, 0x4e7c          |     a3 += 0x4e7c;
    0x00018000 addiu a2, zero, 0x715         |     a2 = 0x715;
    0x00018004 addiu a1, a1, 0x39f0          |     a1 += 0x39f0;
    0x00018008 addiu a0, a0, 0x1944          |     a0 += 0x1944;
    0x0001800c jalr t9                       |     t9 ();
                                             | label_24:
    0x00018010 lw v0, 0x28(s3)               |     v0 = *((s3 + 10));
    0x00018014 andi v0, v0, 1                |     v0 &= 1;
                                             |     if (v0 != 0) {
    0x00018018 bnez v0, 0x18144              |         goto label_44;
                                             |     }
    0x0001801c nop                           |     
                                             | label_14:
    0x00018020 move s7, zero                 |     s7 = 0;
                                             |     if (s5 == 0) {
    0x00018024 beqz s5, 0x178f0              |         goto label_10;
                                             |     }
    0x00018028 lw v0, -0x7fe8(gp)            |     v0 = *((gp - 8186));
    0x0001802c b 0x17760                     |     goto label_11;
                                             | label_29:
    0x00018030 lw t9, -0x7f2c(gp)            |     t9 = *((gp - 8139));
    0x00018034 move a1, s2                   |     a1 = s2;
    0x00018038 move a0, s4                   |     a0 = s4;
    0x0001803c bal 0x1fc24                   |     sym_g_param_value_validate ();
    0x00018040 lw gp, 0x20(sp)               |     gp = *(var_20h);
                                             |     if (v0 != 0) {
    0x00018044 beqz v0, 0x18058              |         
    0x00018048 lw v0, 8(s4)                  |         v0 = *((s4 + 2));
    0x0001804c andi v0, v0, 0x10             |         v0 &= 0x10;
    0x00018050 lw t9, -0x7d90(gp)            |         t9 = *((gp - 8036));
                                             |         if (v0 == 0) {
    0x00018054 beqz v0, 0x1816c              |             goto label_45;
                                             |         }
                                             |     }
    0x00018058 lw a0, 0x70(sp)               |     a0 = *(var_70h);
    0x0001805c lw t9, 0xc(s6)                |     t9 = *((s6 + 3));
    0x00018060 move a3, s4                   |     a3 = s4;
    0x00018064 move a2, s2                   |     a2 = s2;
    0x00018068 move a1, s0                   |     a1 = s0;
    0x0001806c jalr t9                       |     t9 ();
    0x00018070 lw v0, 8(s4)                  |     v0 = *((s4 + 2));
    0x00018074 ext a0, v0, 0x1e, 1           |     __asm ("ext a0, v0, 0x1e, 1");
    0x00018078 lw gp, 0x20(sp)               |     gp = *(var_20h);
                                             |     if (a0 != 0) {
    0x0001807c bnez a0, 0x178a0              |         goto label_12;
                                             |     }
    0x00018080 andi v0, v0, 1                |     v0 &= 1;
    0x00018084 lw t9, -0x7d94(gp)            |     t9 = *((gp - 8037));
                                             |     if (v0 == 0) {
    0x00018088 beqz v0, 0x178a0              |         goto label_12;
                                             |     }
    0x0001808c move a0, s4                   |     a0 = s4;
    0x00018090 bal 0x1f778                   |     sym_g_param_spec_get_redirect_target ();
    0x00018094 move a2, s4                   |     a2 = s4;
    0x00018098 lw t9, 0x80(sp)               |     t9 = *(var_80h);
                                             |     if (v0 == 0) {
    0x0001809c movn a2, v0, v0               |         a2 = v0;
                                             |     }
    0x000180a0 addiu a1, s7, 4               |     a1 = s7 + 4;
    0x000180a4 move a0, s7                   |     a0 = s7;
    0x000180a8 jalr t9                       |     t9 ();
    0x000180ac lw gp, 0x20(sp)               |     gp = *(var_20h);
    0x000180b0 b 0x178a0                     |     goto label_12;
                                             | label_26:
    0x000180b4 move a1, s7                   |     a1 = s7;
                                             |     if (s7 == 0) {
    0x000180b8 beqz s7, 0x178f0              |         goto label_10;
                                             |     }
    0x000180bc lw t9, -0x7f54(gp)            |     t9 = *((gp - 8149));
    0x000180c0 b 0x17cbc                     |     goto label_13;
                                             | label_28:
    0x000180c4 lw t9, -0x7f90(gp)            |     t9 = *((gp - 8164));
    0x000180c8 lw a0, 0x10(s4)               |     a0 = *((s4 + 4));
    0x000180cc jalr t9                       |     t9 ();
    0x000180d0 lw gp, 0x20(sp)               |     gp = *(var_20h);
    0x000180d4 lw a0, 0x10(s4)               |     a0 = *((s4 + 4));
    0x000180d8 move s0, v0                   |     s0 = v0;
    0x000180dc lw t9, -0x7f90(gp)            |     t9 = *((gp - 8164));
    0x000180e0 lw s2, 4(s4)                  |     s2 = *((s4 + 1));
    0x000180e4 jalr t9                       |     t9 ();
    0x000180e8 lw gp, 0x20(sp)               |     gp = *(var_20h);
    0x000180ec lw a0, 0x78(sp)               |     a0 = *(var_78h);
    0x000180f0 sw v0, 0x14(sp)               |     *(var_14h) = v0;
    0x000180f4 lw a2, -0x7fe8(gp)            |     a2 = *((gp - 8186));
    0x000180f8 lw t9, -0x7a68(gp)            |     t9 = *((gp - 7834));
    0x000180fc sw s2, 0x10(sp)               |     *(var_10h) = s2;
    0x00018100 move a3, s0                   |     a3 = s0;
    0x00018104 addiu a2, a2, 0x4184          |     a2 += 0x4184;
    0x00018108 addiu a1, zero, 0x10          |     a1 = 0x10;
    0x0001810c jalr t9                       |     t9 ();
    0x00018110 lw gp, 0x20(sp)               |     gp = *(var_20h);
    0x00018114 b 0x1779c                     |     goto label_1;
                                             | label_25:
    0x00018118 lw v0, -0x7f54(gp)            |     v0 = *((gp - 8149));
    0x0001811c lw t9, 0x24(s3)               |     t9 = *((s3 + 9));
    0x00018120 addiu v0, v0, 0x50f0          |     v0 += 0x50f0;
    0x00018124 lw a0, 0x70(sp)               |     a0 = *(var_70h);
                                             |     if (t9 == v0) {
    0x00018128 beq t9, v0, 0x18020           |         goto label_14;
                                             |     }
    0x0001812c move s7, zero                 |     s7 = 0;
    0x00018130 jalr t9                       |     t9 ();
    0x00018134 lw gp, 0x20(sp)               |     gp = *(var_20h);
                                             |     if (s5 != 0) {
    0x00018138 bnez s5, 0x1775c              |         goto label_15;
                                             |     }
    0x0001813c lw ra, 0xac(sp)               |     ra = *(var_ach);
    0x00018140 b 0x178f4                     |     goto label_16;
                                             | label_44:
    0x00018144 lw ra, 0xac(sp)               |     ra = *(var_ach);
                                             |     if (s5 == 0) {
    0x00018148 beqz s5, 0x178f4              |         goto label_16;
                                             |     }
    0x0001814c lw t9, -0x7f54(gp)            |     t9 = *((gp - 8149));
    0x00018150 lw a0, 0x70(sp)               |     a0 = *(var_70h);
    0x00018154 addiu t9, t9, 0x5558          |     t9 += 0x5558;
    0x00018158 move a1, zero                 |     a1 = 0;
    0x0001815c bal 0x15558                   |     fcn_00015558 ();
    0x00018160 move s7, v0                   |     s7 = v0;
    0x00018164 lw gp, 0x20(sp)               |     gp = *(var_20h);
    0x00018168 b 0x1775c                     |     goto label_15;
                                             | label_45:
    0x0001816c move a0, s3                   |     a0 = s3;
    0x00018170 jalr t9                       |     t9 ();
    0x00018174 lw gp, 0x20(sp)               |     gp = *(var_20h);
    0x00018178 lw a0, (s3)                   |     a0 = *(s3);
    0x0001817c lw t9, -0x7f90(gp)            |     t9 = *((gp - 8164));
    0x00018180 move s3, v0                   |     s3 = v0;
    0x00018184 jalr t9                       |     t9 ();
    0x00018188 lw gp, 0x20(sp)               |     gp = *(var_20h);
    0x0001818c lw a0, 0xc(s4)                |     a0 = *((s4 + 3));
    0x00018190 move s0, v0                   |     s0 = v0;
    0x00018194 lw t9, -0x7f90(gp)            |     t9 = *((gp - 8164));
    0x00018198 lw s4, 4(s4)                  |     s4 = *((s4 + 1));
    0x0001819c jalr t9                       |     t9 ();
    0x000181a0 lw gp, 0x20(sp)               |     gp = *(var_20h);
    0x000181a4 sw v0, 0x18(sp)               |     *(var_18h) = v0;
    0x000181a8 lw v0, 0x84(sp)               |     v0 = *(var_84h);
    0x000181ac lw a0, 0x78(sp)               |     a0 = *(var_78h);
    0x000181b0 lw t9, -0x7a68(gp)            |     t9 = *((gp - 7834));
    0x000181b4 move a3, s3                   |     a3 = s3;
    0x000181b8 addiu a2, v0, 0x4210          |     a2 = v0 + 0x4210;
    0x000181bc addiu a1, zero, 0x10          |     a1 = 0x10;
    0x000181c0 sw s4, 0x14(sp)               |     *(var_14h) = s4;
    0x000181c4 sw s0, 0x10(sp)               |     *(var_10h) = s0;
    0x000181c8 jalr t9                       |     t9 ();
    0x000181cc lw gp, 0x20(sp)               |     gp = *(var_20h);
    0x000181d0 lw t9, -0x78e4(gp)            |     t9 = *((gp - 7737));
    0x000181d4 move a0, s3                   |     a0 = s3;
    0x000181d8 jalr t9                       |     t9 ();
    0x000181dc lw gp, 0x20(sp)               |     gp = *(var_20h);
    0x000181e0 b 0x178a0                     |     goto label_12;
                                             | label_19:
    0x000181e4 lw s1, 0x70(sp)               |     s1 = *(var_70h);
    0x000181e8 lw a0, (s3)                   |     a0 = *(s3);
    0x000181ec lw t9, 8(s3)                  |     t9 = *((s3 + 2));
    0x000181f0 move a2, s1                   |     a2 = s1;
    0x000181f4 move a1, s4                   |     a1 = s4;
    0x000181f8 jalr t9                       |     t9 ();
    0x000181fc lw gp, 0x20(sp)               |     gp = *(var_20h);
    0x00018200 move a0, s1                   |     a0 = s1;
    0x00018204 lw t9, -0x78e4(gp)            |     t9 = *((gp - 7737));
    0x00018208 sw v0, 0x70(sp)               |     *(var_70h) = v0;
    0x0001820c jalr t9                       |     t9 ();
    0x00018210 lw gp, 0x20(sp)               |     gp = *(var_20h);
    0x00018214 b 0x17698                     |     goto label_17;
                                             | label_23:
    0x00018218 lw t9, -0x7f90(gp)            |     t9 = *((gp - 8164));
    0x0001821c lw a0, (s3)                   |     a0 = *(s3);
    0x00018220 jalr t9                       |     t9 ();
    0x00018224 lw gp, 0x20(sp)               |     gp = *(var_20h);
    0x00018228 move a3, v0                   |     a3 = v0;
    0x0001822c addiu a1, zero, 8             |     a1 = 8;
    0x00018230 lw a2, -0x7fe8(gp)            |     a2 = *((gp - 8186));
    0x00018234 lw a0, -0x7fe8(gp)            |     a0 = *((gp - 8186));
    0x00018238 lw t9, -0x7a68(gp)            |     t9 = *((gp - 7834));
    0x0001823c addiu a2, a2, 0x4264          |     a2 += 0x4264;
    0x00018240 addiu a0, a0, 0x1944          |     a0 += 0x1944;
    0x00018244 jalr t9                       |     t9 ();
    0x00018248 lw ra, 0xac(sp)               |     ra = *(var_ach);
    0x0001824c b 0x178f4                     |     goto label_16;
                                             | }
    ; assembly                               | /* r2dec pseudo code output */
                                             | /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/lib/libgobject-2.0.so.0.6000.7 @ 0x274b4 */
                                             | #include <stdint.h>
                                             |  
    ; (fcn) fcn.000274b4 ()                  | void fcn_000274b4 () {
    0x000274b4 lui gp, 5                     |     
    0x000274b8 addiu gp, gp, -0x33a4         |     
    0x000274bc addu gp, gp, t9               |     gp += t9;
    0x000274c0 addiu sp, sp, -0x58           |     
    0x000274c4 sw s5, 0x44(sp)               |     *(var_44h_2) = s5;
    0x000274c8 sw s4, 0x40(sp)               |     *(var_40h_2) = s4;
    0x000274cc sw s3, 0x3c(sp)               |     *(var_3ch_2) = s3;
    0x000274d0 sw s2, 0x38(sp)               |     *(var_38h_2) = s2;
    0x000274d4 sw gp, 0x10(sp)               |     *(var_10h_2) = gp;
    0x000274d8 sw ra, 0x54(sp)               |     *(var_54h_2) = ra;
    0x000274dc sw fp, 0x50(sp)               |     *(var_50h_2) = fp;
    0x000274e0 sw s7, 0x4c(sp)               |     *(var_4ch) = s7;
    0x000274e4 sw s6, 0x48(sp)               |     *(var_48h_2) = s6;
    0x000274e8 sw s1, 0x34(sp)               |     *(var_34h) = s1;
    0x000274ec sw s0, 0x30(sp)               |     *(var_30h) = s0;
    0x000274f0 lw v0, 0xc(a0)                |     v0 = *((a0 + 3));
    0x000274f4 lw s3, -0x7fe0(gp)            |     s3 = *((gp - 8184));
    0x000274f8 lw v1, 0x18(a0)               |     v1 = *((a0 + 6));
    0x000274fc ins v0, zero, 0x12, 1         |     __asm ("ins v0, zero, 0x12, 1");
    0x00027500 move s2, a0                   |     s2 = a0;
    0x00027504 move s4, a2                   |     s4 = a2;
    0x00027508 sw v0, 0xc(a0)                |     *((a0 + 3)) = v0;
    0x0002750c addiu s5, s3, -0x3f30         |     s5 = s3 + -0x3f30;
                                             |     if (v1 == 0) {
    0x00027510 beqz v1, 0x27820              |         goto label_8;
                                             |     }
                                             | label_4:
    0x00027514 lw t9, -0x7e90(gp)            |     t9 = *((gp - 8100));
    0x00027518 move a0, s4                   |     a0 = s4;
    0x0002751c sw a1, 0x18(sp)               |     *(var_18h) = a1;
    0x00027520 bal 0xf944                    |     sym_g_closure_ref ();
    0x00027524 lw s0, 0x18(s2)               |     s0 = *((s2 + 6));
    0x00027528 sw v0, 0x1c(sp)               |     *(var_1ch) = v0;
    0x0002752c lw fp, (s0)                   |     fp = *(s0);
    0x00027530 lw gp, 0x10(sp)               |     gp = *(var_10h_2);
                                             |     if (fp == 0) {
    0x00027534 bnez fp, 0x275a4              |         
    0x00027538 lw v0, 8(s5)                  |         v0 = *((s5 + 2));
    0x0002753c andi v0, v0, 1                |         v0 &= 1;
    0x00027540 lw a0, -0x3f30(s3)            |         a0 = *((s3 - 4044));
                                             |         if (v0 == 0) {
    0x00027544 beqz v0, 0x277a0              |             goto label_9;
                                             |         }
    0x00027548 addiu v0, zero, -8            |         v0 = -8;
    0x0002754c addiu v0, a0, 7               |         v0 = a0 + 7;
                                             |         if (a0 != v0) {
    0x00027550 beq a0, v0, 0x27580           |             
                                             |             if (v0 == 0) {
    0x00027554 beql v0, zero, 0x27580        |                 goto label_10;
                                             |             }
    0x00027558 addiu fp, zero, 2             |             fp = 2;
    0x0002755c clz v0, v0                    |             __asm ("clz v0, v0");
    0x00027560 xori v0, v0, 0x1f             |             v0 ^= 0x1f;
    0x00027564 addiu v1, zero, 1             |             v1 = 1;
    0x00027568 addiu v0, v0, 1               |             v0++;
    0x0002756c sllv v0, v1, v0               |             v0 = v1 << v0;
    0x00027570 addiu v1, zero, 8             |             v1 = 8;
                                             |             if (v0 == v1) {
    0x00027574 beql v0, v1, 0x277c4          |                 goto label_11;
                                             |             }
    0x00027578 mul a2, fp, a0                |             __asm ("mul a2, fp, a0");
    0x0002757c move fp, v0                   |             fp = v0;
                                             |         }
                                             | label_10:
    0x00027580 lw t9, -0x7aa8(gp)            |         t9 = *((gp - 7850));
    0x00027584 move a0, s0                   |         a0 = s0;
    0x00027588 move a1, fp                   |         a1 = fp;
    0x0002758c jalr t9                       |         t9 ();
    0x00027590 move s0, v0                   |         s0 = v0;
    0x00027594 lw gp, 0x10(sp)               |         gp = *(var_10h_2);
    0x00027598 lw a0, -0x3f30(s3)            |         a0 = *((s3 - 4044));
    0x0002759c lw fp, (v0)                   |         fp = *(v0);
    0x000275a0 b 0x277c0                     |         goto label_12;
                                             |     }
    0x000275a4 lw v0, -0x3f30(s3)            |     v0 = *((s3 - 4044));
    0x000275a8 move s6, zero                 |     s6 = 0;
    0x000275ac sw v0, 0x24(sp)               |     *(var_24h) = v0;
    0x000275b0 lw v0, 4(s5)                  |     v0 = *((s5 + 1));
    0x000275b4 sw v0, 0x28(sp)               |     *(var_28h_2) = v0;
    0x000275b8 addiu v0, sp, 0x18            |     v0 = sp + 0x18;
    0x000275bc sw v0, 0x20(sp)               |     *(var_20h) = v0;
    0x000275c0 b 0x275d0                     |     
                                             |     while (v0 >= 0) {
    0x000275c4 sltu v1, s6, fp               |         v1 = (s6 < fp) ? 1 : 0;
                                             |         if (v1 == 0) {
    0x000275c8 beqz v1, 0x27618              |             goto label_13;
                                             |         }
    0x000275cc nop                           |         
    0x000275d0 addu v1, s6, fp               |         v1 = s6 + fp;
                                             | label_0:
    0x000275d4 lw v0, 0x24(sp)               |         v0 = *(var_24h);
    0x000275d8 srl s7, v1, 1                 |         s7 = v1 >> 1;
    0x000275dc mul v1, v0, s7                |         __asm ("mul v1, v0, s7");
    0x000275e0 lw a0, 0x20(sp)               |         a0 = *(var_20h);
    0x000275e4 lw t9, 0x28(sp)               |         t9 = *(var_28h_2);
    0x000275e8 addu s1, v1, s0               |         s1 = v1 + s0;
    0x000275ec addiu s1, s1, 8               |         s1 += 8;
    0x000275f0 move a1, s1                   |         a1 = s1;
    0x000275f4 jalr t9                       |         t9 ();
    0x000275f8 lw gp, 0x10(sp)               |         gp = *(var_10h_2);
                                             |         if (v0 == 0) {
    0x000275fc beqz v0, 0x276ac              |             goto label_14;
                                             |         }
    0x00027600 bgezl v0, 0x275c4             |         
                                             |     }
    0x00027604 addiu s6, s7, 1               |     s6 = s7 + 1;
    0x00027608 move fp, s7                   |     fp = s7;
    0x0002760c sltu v1, s6, fp               |     v1 = (s6 < fp) ? 1 : 0;
    0x00027610 addu v1, s6, fp               |     v1 = s6 + fp;
                                             |     if (v1 != 0) {
    0x00027614 bnez v1, 0x275d4              |         goto label_0;
                                             |     }
                                             | label_13:
    0x00027618 lw v0, 0x24(sp)               |     v0 = *(var_24h);
                                             |     if (v0 > 0) {
    0x0002761c blez v0, 0x27624              |         
    0x00027620 addu s1, s1, v0               |         s1 += v0;
                                             |     }
    0x00027624 lw a0, -0x3f30(s3)            |     a0 = *((s3 - 4044));
                                             |     if (s1 == 0) {
    0x00027628 beqz s1, 0x276ac              |         goto label_14;
                                             |     }
    0x0002762c addiu v0, s0, 8               |     v0 = s0 + 8;
    0x00027630 subu s1, s1, v0               |     __asm ("subu s1, s1, v0");
    0x00027634 divu zero, s1, a0             |     __asm ("divu zero, s1, a0");
    0x00027638 teq a0, zero, 7               |     __asm ("teq a0, zero, 7");
    0x0002763c lw a2, (s0)                   |     a2 = *(s0);
    0x00027640 addiu v0, a2, 1               |     v0 = a2 + 1;
    0x00027644 mflo s1                       |     __asm ("mflo s1");
    0x00027648 mul v1, a0, a2                |     __asm ("mul v1, a0, a2");
    0x0002764c sltu a1, v0, s1               |     a1 = (v0 < s1) ? 1 : 0;
                                             |     if (a1 == 0) {
    0x00027650 movn s1, v0, a1               |         s1 = v0;
                                             |     }
    0x00027654 sltu v0, a2, s1               |     v0 = (a2 < s1) ? 1 : 0;
    0x00027658 addu a1, v1, a0               |     a1 = v1 + a0;
                                             |     if (v0 == 0) {
    0x0002765c beqz v0, 0x2770c              |         goto label_15;
                                             |     }
    0x00027660 lw a2, -0x7fe8(gp)            |     a2 = *((gp - 8186));
    0x00027664 lw a1, -0x7fe8(gp)            |     a1 = *((gp - 8186));
    0x00027668 lw a0, -0x7fe8(gp)            |     a0 = *((gp - 8186));
    0x0002766c lw t9, -0x7978(gp)            |     t9 = *((gp - 7774));
    0x00027670 addiu a2, a2, 0x6274          |     a2 += 0x6274;
    0x00027674 addiu a1, a1, 0x785c          |     a1 += 0x785c;
    0x00027678 addiu a0, a0, 0x1944          |     a0 += 0x1944;
    0x0002767c jalr t9                       |     t9 ();
    0x00027680 lw gp, 0x10(sp)               |     gp = *(var_10h_2);
    0x00027684 move s0, zero                 |     s0 = 0;
                                             |     do {
    0x00027688 lw a2, -0x3f30(s3)            |         a2 = *((s3 - 4044));
    0x0002768c mul v0, a2, s1                |         __asm ("mul v0, a2, s1");
    0x00027690 addu s1, v0, s0               |         s1 = v0 + s0;
    0x00027694 addiu s1, s1, 8               |         s1 += 8;
                                             | label_1:
    0x00027698 lw t9, -0x7910(gp)            |         t9 = *((gp - 7748));
    0x0002769c lw a1, 0x20(sp)               |         a1 = *(var_20h);
    0x000276a0 move a0, s1                   |         a0 = s1;
    0x000276a4 jalr t9                       |         t9 ();
    0x000276a8 lw gp, 0x10(sp)               |         gp = *(var_10h_2);
                                             | label_14:
    0x000276ac lw t9, -0x7f54(gp)            |         t9 = *((gp - 8149));
    0x000276b0 sw s0, 0x18(s2)               |         *((s2 + 6)) = s0;
    0x000276b4 move a0, s4                   |         a0 = s4;
    0x000276b8 bal 0x10000                   |         sym_g_closure_sink ();
    0x000276bc lw a1, 0x20(s2)               |         a1 = *((s2 + 8));
    0x000276c0 lw gp, 0x10(sp)               |         gp = *(var_10h_2);
                                             |         if (a1 != 0) {
    0x000276c4 beqz a1, 0x276dc              |             
    0x000276c8 lw ra, 0x54(sp)               |             ra = *(var_54h_2);
                                             |             if (s4 == 0) {
    0x000276cc beqz s4, 0x276e0              |                 goto label_3;
                                             |             }
    0x000276d0 lw v0, 4(s4)                  |             v0 = *((s4 + 1));
    0x000276d4 lw t9, -0x7e94(gp)            |             t9 = *((gp - 8101));
                                             |             if (v0 == 0) {
    0x000276d8 beqz v0, 0x277f8              |                 goto label_16;
                                             |             }
                                             |         }
                                             | label_2:
    0x000276dc lw ra, 0x54(sp)               |         ra = *(var_54h_2);
                                             | label_3:
    0x000276e0 lw fp, 0x50(sp)               |         fp = *(var_50h_2);
    0x000276e4 lw s7, 0x4c(sp)               |         s7 = *(var_4ch);
    0x000276e8 lw s6, 0x48(sp)               |         s6 = *(var_48h_2);
    0x000276ec lw s5, 0x44(sp)               |         s5 = *(var_44h_2);
    0x000276f0 lw s4, 0x40(sp)               |         s4 = *(var_40h_2);
    0x000276f4 lw s3, 0x3c(sp)               |         s3 = *(var_3ch_2);
    0x000276f8 lw s2, 0x38(sp)               |         s2 = *(var_38h_2);
    0x000276fc lw s1, 0x34(sp)               |         s1 = *(var_34h);
    0x00027700 lw s0, 0x30(sp)               |         s0 = *(var_30h);
    0x00027704 addiu sp, sp, 0x58            |         
    0x00027708 jr ra                         |         return v1;
                                             | label_15:
    0x0002770c lw v0, 8(s5)                  |         v0 = *((s5 + 2));
    0x00027710 andi v0, v0, 1                |         v0 &= 1;
    0x00027714 lw t9, -0x7aa8(gp)            |         t9 = *((gp - 7850));
                                             |         if (v0 != 0) {
    0x00027718 beqz v0, 0x27750              |             
    0x0002771c addiu v0, zero, -8            |             v0 = -8;
                                             |             if (a1 == v0) {
    0x00027720 beq a1, v0, 0x27898           |                 goto label_17;
                                             |             }
    0x00027724 nop                           |             
    0x00027728 addiu a1, a1, 7               |             a1 += 7;
    0x0002772c addiu a3, zero, 1             |             a3 = 1;
                                             |             if (a1 == 0) {
    0x00027730 beqz a1, 0x278e4              |                 goto label_18;
                                             |             }
    0x00027734 clz a1, a1                    |             __asm ("clz a1, a1");
    0x00027738 xori a1, a1, 0x1f             |             a1 ^= 0x1f;
    0x0002773c addiu a1, a1, 1               |             a1++;
    0x00027740 sllv a1, a3, a1               |             a1 = a3 << a1;
                                             |             if (v1 != v0) {
    0x00027744 bne v1, v0, 0x278a0           |                 goto label_6;
                                             |             }
    0x00027748 move v0, zero                 |             v0 = 0;
    0x0002774c b 0x278c0                     |             goto label_19;
                                             |         }
    0x00027750 move a0, s0                   |         a0 = s0;
    0x00027754 addiu a1, a1, 8               |         a1 += 8;
    0x00027758 jalr t9                       |         t9 ();
    0x0002775c lw a2, (v0)                   |         a2 = *(v0);
    0x00027760 lw gp, 0x10(sp)               |         gp = *(var_10h_2);
    0x00027764 lw a0, -0x3f30(s3)            |         a0 = *((s3 - 4044));
    0x00027768 move s0, v0                   |         s0 = v0;
                                             | label_5:
    0x0002776c mul v0, a0, s1                |         __asm ("mul v0, a0, s1");
    0x00027770 subu a2, a2, s1               |         __asm ("subu a2, a2, s1");
    0x00027774 mul a2, a2, a0                |         __asm ("mul a2, a2, a0");
    0x00027778 lw t9, -0x7904(gp)            |         t9 = *((gp - 7745));
    0x0002777c addu a1, v0, s0               |         a1 = v0 + s0;
    0x00027780 addiu a1, a1, 8               |         a1 += 8;
    0x00027784 addu a0, a1, a0               |         a0 = a1 + a0;
    0x00027788 jalr t9                       |         t9 ();
    0x0002778c lw v0, (s0)                   |         v0 = *(s0);
    0x00027790 lw gp, 0x10(sp)               |         gp = *(var_10h_2);
    0x00027794 addiu v0, v0, 1               |         v0++;
    0x00027798 sw v0, (s0)                   |         *(s0) = v0;
    0x0002779c b 0x27688                     |         
                                             |     } while (1);
                                             | label_9:
    0x000277a0 lw t9, -0x7aa8(gp)            |     t9 = *((gp - 7850));
    0x000277a4 addiu a1, a0, 8               |     a1 = a0 + 8;
    0x000277a8 move a0, s0                   |     a0 = s0;
    0x000277ac jalr t9                       |     t9 ();
    0x000277b0 lw fp, (v0)                   |     fp = *(v0);
    0x000277b4 lw gp, 0x10(sp)               |     gp = *(var_10h_2);
    0x000277b8 lw a0, -0x3f30(s3)            |     a0 = *((s3 - 4044));
    0x000277bc move s0, v0                   |     s0 = v0;
                                             | label_12:
    0x000277c0 mul a2, fp, a0                |     __asm ("mul a2, fp, a0");
                                             | label_11:
    0x000277c4 lw t9, -0x7904(gp)            |     t9 = *((gp - 7745));
    0x000277c8 addiu s1, s0, 8               |     s1 = s0 + 8;
    0x000277cc move a1, s1                   |     a1 = s1;
    0x000277d0 addu a0, s1, a0               |     a0 = s1 + a0;
    0x000277d4 jalr t9                       |     t9 ();
    0x000277d8 lw v0, (s0)                   |     v0 = *(s0);
    0x000277dc lw gp, 0x10(sp)               |     gp = *(var_10h_2);
    0x000277e0 addiu v0, v0, 1               |     v0++;
    0x000277e4 addiu v1, sp, 0x18            |     v1 = sp + 0x18;
    0x000277e8 sw v0, (s0)                   |     *(s0) = v0;
    0x000277ec sw v1, 0x20(sp)               |     *(var_20h) = v1;
    0x000277f0 lw a2, -0x3f30(s3)            |     a2 = *((s3 - 4044));
    0x000277f4 b 0x27698                     |     goto label_1;
                                             | label_16:
    0x000277f8 move a0, s4                   |     a0 = s4;
    0x000277fc bal 0x10a48                   |     sym_g_closure_set_marshal ();
    0x00027800 lw a1, 0x24(s2)               |     a1 = *((s2 + 9));
    0x00027804 lw gp, 0x10(sp)               |     gp = *(var_10h_2);
                                             |     if (a1 == 0) {
    0x00027808 beqz a1, 0x276dc              |         goto label_2;
                                             |     }
    0x0002780c lw t9, -0x7cd0(gp)            |     t9 = *((gp - 7988));
    0x00027810 move a0, s4                   |     a0 = s4;
    0x00027814 bal 0x10b04                   |     fcn_00010b04 ();
    0x00027818 lw ra, 0x54(sp)               |     ra = *(var_54h_2);
    0x0002781c b 0x276e0                     |     goto label_3;
                                             | label_8:
    0x00027820 lw v0, 8(s5)                  |     v0 = *((s5 + 2));
    0x00027824 lw v1, -0x3f30(s3)            |     v1 = *((s3 - 4044));
    0x00027828 andi v0, v0, 1                |     v0 &= 1;
    0x0002782c addiu a0, v1, 8               |     a0 = v1 + 8;
                                             |     if (v0 != 0) {
    0x00027830 beqz v0, 0x2785c              |         
    0x00027834 lw t9, -0x78cc(gp)            |         t9 = *((gp - 7731));
                                             |         if (a0 == 0) {
    0x00027838 beqz a0, 0x27860              |             goto label_20;
                                             |         }
    0x0002783c addiu v1, v1, 7               |         v1 += 7;
    0x00027840 addiu a0, zero, 2             |         a0 = 2;
                                             |         if (v1 == 0) {
    0x00027844 beqz v1, 0x27860              |             goto label_20;
                                             |         }
    0x00027848 clz v1, v1                    |         __asm ("clz v1, v1");
    0x0002784c xori a0, v1, 0x1f             |         a0 = v1 ^ 0x1f;
    0x00027850 addiu a0, a0, 1               |         a0++;
    0x00027854 addiu v0, zero, 1             |         v0 = 1;
    0x00027858 sllv a0, v0, a0               |         a0 = v0 << a0;
                                             |     }
    0x0002785c lw t9, -0x78cc(gp)            |     t9 = *((gp - 7731));
                                             | label_20:
    0x00027860 sw a1, 0x5c(sp)               |     *(var_5ch_2) = a1;
    0x00027864 jalr t9                       |     t9 ();
    0x00027868 lw gp, 0x10(sp)               |     gp = *(var_10h_2);
    0x0002786c sw v0, 0x18(s2)               |     *((s2 + 6)) = v0;
    0x00027870 sb zero, (v0)                 |     *(v0) = 0;
    0x00027874 sb zero, 1(v0)                |     *((v0 + 1)) = 0;
    0x00027878 sb zero, 2(v0)                |     *((v0 + 2)) = 0;
    0x0002787c sb zero, 3(v0)                |     *((v0 + 3)) = 0;
    0x00027880 sb zero, 4(v0)                |     *((v0 + 4)) = 0;
    0x00027884 sb zero, 5(v0)                |     *((v0 + 5)) = 0;
    0x00027888 sb zero, 6(v0)                |     *((v0 + 6)) = 0;
    0x0002788c sb zero, 7(v0)                |     *((v0 + 7)) = 0;
    0x00027890 lw a1, 0x5c(sp)               |     a1 = *(var_5ch_2);
    0x00027894 b 0x27514                     |     goto label_4;
                                             | label_17:
    0x00027898 move a1, zero                 |     a1 = 0;
                                             |     if (v1 == a1) {
    0x0002789c beq v1, a1, 0x2776c           |         goto label_5;
                                             |     }
                                             | label_6:
    0x000278a0 addiu v1, v1, 7               |     v1 += 7;
    0x000278a4 addiu v0, zero, 2             |     v0 = 2;
                                             |     if (v1 != 0) {
    0x000278a8 beqz v1, 0x278c0              |         
    0x000278ac clz v1, v1                    |         __asm ("clz v1, v1");
    0x000278b0 xori v0, v1, 0x1f             |         v0 = v1 ^ 0x1f;
    0x000278b4 addiu v0, v0, 1               |         v0++;
    0x000278b8 addiu v1, zero, 1             |         v1 = 1;
    0x000278bc sllv v0, v1, v0               |         v0 = v1 << v0;
                                             |     }
                                             | label_19:
    0x000278c0 lw t9, -0x7aa8(gp)            |     t9 = *((gp - 7850));
                                             |     if (v0 == a1) {
    0x000278c4 beq v0, a1, 0x2776c           |         goto label_5;
                                             |     }
                                             | label_7:
    0x000278c8 move a0, s0                   |     a0 = s0;
    0x000278cc jalr t9                       |     t9 ();
    0x000278d0 move s0, v0                   |     s0 = v0;
    0x000278d4 lw gp, 0x10(sp)               |     gp = *(var_10h_2);
    0x000278d8 lw a0, -0x3f30(s3)            |     a0 = *((s3 - 4044));
    0x000278dc lw a2, (v0)                   |     a2 = *(v0);
    0x000278e0 b 0x2776c                     |     goto label_5;
                                             | label_18:
    0x000278e4 addiu a1, zero, 2             |     a1 = 2;
                                             |     if (v1 != v0) {
    0x000278e8 bne v1, v0, 0x278a0           |         goto label_6;
                                             |     }
    0x000278ec lw t9, -0x7aa8(gp)            |     t9 = *((gp - 7850));
    0x000278f0 b 0x278c8                     |     goto label_7;
                                             | }
    ; assembly                               | /* r2dec pseudo code output */
                                             | /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/lib/libgobject-2.0.so.0.6000.7 @ 0x2911c */
                                             | #include <stdint.h>
                                             |  
    ; (fcn) fcn.0002911c ()                  | void fcn_0002911c () {
    0x0002911c lui gp, 5                     |     
    0x00029120 addiu gp, gp, -0x500c         |     
    0x00029124 addu gp, gp, t9               |     gp += t9;
    0x00029128 addiu sp, sp, -0xe8           |     
    0x0002912c lw v0, -0x7fe0(gp)            |     v0 = *((gp - 8184));
    0x00029130 lw t9, -0x7a90(gp)            |     t9 = *((gp - 7844));
    0x00029134 sw s0, 0xc0(sp)               |     *(var_c0h) = s0;
    0x00029138 move s0, a0                   |     s0 = a0;
    0x0002913c sw gp, 0x18(sp)               |     *(var_18h) = gp;
    0x00029140 sw v0, 0x6c(sp)               |     *(var_6ch) = v0;
    0x00029144 sw ra, 0xe4(sp)               |     *(var_e4h) = ra;
    0x00029148 sw fp, 0xe0(sp)               |     *(var_e0h) = fp;
    0x0002914c sw s7, 0xdc(sp)               |     *(var_dch) = s7;
    0x00029150 sw s6, 0xd8(sp)               |     *(var_d8h) = s6;
    0x00029154 sw s5, 0xd4(sp)               |     *(var_d4h) = s5;
    0x00029158 sw s4, 0xd0(sp)               |     *(var_d0h) = s4;
    0x0002915c sw s3, 0xcc(sp)               |     *(var_cch) = s3;
    0x00029160 sw s2, 0xc8(sp)               |     *(var_c8h) = s2;
    0x00029164 sw s1, 0xc4(sp)               |     *(var_c4h) = s1;
    0x00029168 sw a1, 0xec(sp)               |     *(arg_ech) = a1;
    0x0002916c sw a2, 0xf0(sp)               |     *(arg_f0h) = a2;
    0x00029170 sw a3, 0xf4(sp)               |     *(arg_f4h) = a3;
    0x00029174 sw zero, 0x40(sp)             |     *(var_40h) = 0;
    0x00029178 sw zero, 0x44(sp)             |     *(var_44h) = 0;
    0x0002917c sw zero, 0x48(sp)             |     *(var_48h) = 0;
    0x00029180 sw zero, 0x4c(sp)             |     *(var_4ch) = 0;
    0x00029184 sw zero, 0x50(sp)             |     *(var_50h) = 0;
    0x00029188 sw zero, 0x54(sp)             |     *(var_54h) = 0;
    0x0002918c addiu a0, v0, -0x35e4         |     a0 = v0 + -0x35e4;
    0x00029190 jalr t9                       |     t9 ();
    0x00029194 lw v0, 0xc(s0)                |     v0 = *((s0 + 3));
    0x00029198 lw v1, (s0)                   |     v1 = *(s0);
    0x0002919c ext v0, v0, 4, 1              |     __asm ("ext v0, v0, 4, 1");
    0x000291a0 lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x000291a4 sw v1, 0x84(sp)               |     *(var_84h) = v1;
                                             |     if (v0 != 0) {
    0x000291a8 bnez v0, 0x29394              |         goto label_88;
                                             |     }
    0x000291ac lw v0, -0x7fe0(gp)            |     v0 = *((gp - 8184));
    0x000291b0 sw v0, 0xa0(sp)               |     *(var_a0h) = v0;
                                             | label_3:
    0x000291b4 lw v0, 0x1c(s0)               |     v0 = *((s0 + 7));
                                             | label_4:
    0x000291b8 sw v0, 0x80(sp)               |     *(var_80h) = v0;
                                             |     if (v0 == 0) {
    0x000291bc beqz v0, 0x29430              |         goto label_89;
                                             |     }
    0x000291c0 lw s2, 0x6c(sp)               |     s2 = *(var_6ch);
    0x000291c4 lw t9, -0x78f0(gp)            |     t9 = *((gp - 7740));
    0x000291c8 addiu a0, s2, -0x35e4         |     a0 = s2 + -0x35e4;
    0x000291cc jalr t9                       |     t9 ();
    0x000291d0 lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x000291d4 lw a1, 0x14(s0)               |     a1 = *((s0 + 5));
    0x000291d8 addiu v0, zero, -2            |     v0 = -2;
    0x000291dc lw t9, -0x7f38(gp)            |     t9 = *((gp - 8142));
    0x000291e0 addiu s1, sp, 0x40            |     s1 = sp + 0x40;
    0x000291e4 and a1, a1, v0                |     a1 &= v0;
    0x000291e8 move a0, s1                   |     a0 = s1;
    0x000291ec bal 0x46024                   |     sym_g_value_init ();
    0x000291f0 lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x000291f4 lw t9, -0x7a90(gp)            |     t9 = *((gp - 7844));
    0x000291f8 addiu a0, s2, -0x35e4         |     a0 = s2 + -0x35e4;
    0x000291fc jalr t9                       |     t9 ();
    0x00029200 lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x00029204 lw v1, (s0)                   |     v1 = *(s0);
    0x00029208 sw s1, 0x9c(sp)               |     *(var_9ch) = s1;
                                             | label_6:
    0x0002920c lw a0, 0xa0(sp)               |     a0 = *(var_a0h);
    0x00029210 sw v1, 0x28(sp)               |     *(var_28h) = v1;
    0x00029214 lw v1, 0xec(sp)               |     v1 = *(arg_ech);
    0x00029218 lw v0, -0x35d8(a0)            |     v0 = *((a0 - 3446));
    0x0002921c lw a2, 0xf0(sp)               |     a2 = *(arg_f0h);
    0x00029220 lw s1, 0x18(s0)               |     s1 = *((s0 + 6));
    0x00029224 addiu a1, sp, 0x20            |     a1 = sp + 0x20;
    0x00029228 sw v1, 0x2c(sp)               |     *(var_2ch) = v1;
    0x0002922c addiu v1, zero, 4             |     v1 = 4;
    0x00029230 sw a1, 0xa8(sp)               |     *(var_a8h) = a1;
    0x00029234 sw a2, 0x24(sp)               |     *(var_24h) = a2;
    0x00029238 sw zero, 0x30(sp)             |     *(var_30h) = 0;
    0x0002923c sw zero, 0x34(sp)             |     *(var_34h) = 0;
    0x00029240 sw v1, 0x38(sp)               |     *(var_38h) = v1;
    0x00029244 sw v0, 0x20(sp)               |     *(var_20h) = v0;
    0x00029248 sw a1, -0x35d8(a0)            |     *((a0 - 3446)) = a1;
                                             |     if (s1 == 0) {
    0x0002924c beqz s1, 0x2938c              |         goto label_90;
                                             |     }
    0x00029250 lw v1, (s1)                   |     v1 = *(s1);
    0x00029254 addiu v0, zero, 1             |     v0 = 1;
    0x00029258 addiu fp, s1, 8               |     fp = s1 + 8;
                                             |     if (v1 == v0) {
    0x0002925c beq v1, v0, 0x2a7c0           |         goto label_91;
                                             |     }
    0x00029260 lw v0, 0xf0(sp)               |     v0 = *(arg_f0h);
                                             | label_52:
    0x00029264 lw v1, -0x7fe0(gp)            |     v1 = *((gp - 8184));
    0x00029268 lw v0, (v0)                   |     v0 = *(v0);
    0x0002926c addiu a0, v1, -0x3f30         |     a0 = v1 + -0x3f30;
    0x00029270 sw v1, 0x70(sp)               |     *(var_70h) = v1;
    0x00029274 lw v0, (v0)                   |     v0 = *(v0);
    0x00029278 sw a0, 0x68(sp)               |     *(var_68h) = a0;
    0x0002927c sw v0, 0x58(sp)               |     *(var_58h) = v0;
    0x00029280 lw s4, (s1)                   |     s4 = *(s1);
    0x00029284 lw s5, -0x3f30(v1)            |     s5 = *((v1 - 4044));
    0x00029288 lw s2, 4(a0)                  |     s2 = *((a0 + 1));
                                             |     if (s4 == 0) {
    0x0002928c beqz s4, 0x292f0              |         goto label_92;
                                             |     }
    0x00029290 move s6, zero                 |     s6 = 0;
    0x00029294 addiu s3, sp, 0x58            |     s3 = sp + 0x58;
    0x00029298 b 0x292a8                     |     
                                             |     while (v0 >= 0) {
    0x0002929c sltu v0, s6, s4               |         v0 = (s6 < s4) ? 1 : 0;
    0x000292a0 lw v0, 0x58(sp)               |         v0 = *(var_58h);
                                             |         if (v0 == 0) {
    0x000292a4 beqz v0, 0x292f0              |             goto label_92;
                                             |         }
    0x000292a8 addu s7, s6, s4               |         s7 = s6 + s4;
                                             | label_0:
    0x000292ac srl s7, s7, 1                 |         s7 >>= 1;
    0x000292b0 mul v0, s5, s7                |         __asm ("mul v0, s5, s7");
    0x000292b4 move a0, s3                   |         a0 = s3;
    0x000292b8 move t9, s2                   |         t9 = s2;
    0x000292bc addu fp, v0, s1               |         fp = v0 + s1;
    0x000292c0 addiu fp, fp, 8               |         fp += 8;
    0x000292c4 move a1, fp                   |         a1 = fp;
    0x000292c8 jalr t9                       |         t9 ();
    0x000292cc lw gp, 0x18(sp)               |         gp = *(var_18h);
                                             |         if (v0 == 0) {
    0x000292d0 beqz v0, 0x2a6fc              |             goto label_93;
                                             |         }
    0x000292d4 bgezl v0, 0x2929c             |         
                                             |     }
    0x000292d8 addiu s6, s7, 1               |     s6 = s7 + 1;
    0x000292dc move s4, s7                   |     s4 = s7;
    0x000292e0 sltu v0, s6, s4               |     v0 = (s6 < s4) ? 1 : 0;
    0x000292e4 addu s7, s6, s4               |     s7 = s6 + s4;
                                             |     if (v0 != 0) {
    0x000292e8 bnez v0, 0x292ac              |         goto label_0;
                                             |     }
    0x000292ec lw v0, 0x58(sp)               |     v0 = *(var_58h);
                                             | label_92:
    0x000292f0 addiu s6, sp, 0x58            |     s6 = sp + 0x58;
                                             |     if (v0 == 0) {
                                             |         do {
                                             | label_48:
    0x000292f4 beql v0, zero, 0x29450        |             goto label_94;
                                             |         }
    0x000292f8 sw zero, 0x78(sp)             |         *(var_78h) = 0;
    0x000292fc lw t9, -0x7fa8(gp)            |         t9 = *((gp - 8170));
                                             | label_2:
    0x00029300 move a0, v0                   |         a0 = v0;
    0x00029304 bal 0x3f9b8                   |         sym_g_type_parent ();
    0x00029308 lw v1, 0x70(sp)               |         v1 = *(var_70h);
    0x0002930c sw v0, 0x58(sp)               |         *(var_58h) = v0;
    0x00029310 lw s7, (s1)                   |         s7 = *(s1);
    0x00029314 lw s3, -0x3f30(v1)            |         s3 = *((v1 - 4044));
    0x00029318 lw v1, 0x68(sp)               |         v1 = *(var_68h);
    0x0002931c lw gp, 0x18(sp)               |         gp = *(var_18h);
    0x00029320 lw s4, 4(v1)                  |         s4 = *((v1 + 1));
    0x00029324 beqz s7, 0x292f4              |         
                                             |     } while (s7 == 0);
    0x00029328 move s5, zero                 |     s5 = 0;
    0x0002932c b 0x2933c                     |     
                                             |     while (v0 >= 0) {
    0x00029330 sltu v0, s5, s7               |         v0 = (s5 < s7) ? 1 : 0;
    0x00029334 lw v0, 0x58(sp)               |         v0 = *(var_58h);
                                             |         if (v0 == 0) {
    0x00029338 beqz v0, 0x29384              |             goto label_7;
                                             |         }
    0x0002933c addu s2, s5, s7               |         s2 = s5 + s7;
                                             | label_1:
    0x00029340 srl s2, s2, 1                 |         s2 >>= 1;
    0x00029344 mul v0, s3, s2                |         __asm ("mul v0, s3, s2");
    0x00029348 move a0, s6                   |         a0 = s6;
    0x0002934c move t9, s4                   |         t9 = s4;
    0x00029350 addu fp, v0, s1               |         fp = v0 + s1;
    0x00029354 addiu fp, fp, 8               |         fp += 8;
    0x00029358 move a1, fp                   |         a1 = fp;
    0x0002935c jalr t9                       |         t9 ();
    0x00029360 lw gp, 0x18(sp)               |         gp = *(var_18h);
                                             |         if (v0 == 0) {
    0x00029364 beqz v0, 0x29440              |             goto label_95;
                                             |         }
    0x00029368 bgezl v0, 0x29330             |         
                                             |     }
    0x0002936c addiu s5, s2, 1               |     s5 = s2 + 1;
    0x00029370 move s7, s2                   |     s7 = s2;
    0x00029374 sltu v0, s5, s7               |     v0 = (s5 < s7) ? 1 : 0;
    0x00029378 addu s2, s5, s7               |     s2 = s5 + s7;
                                             |     if (v0 != 0) {
    0x0002937c bnez v0, 0x29340              |         goto label_1;
                                             |     }
    0x00029380 lw v0, 0x58(sp)               |     v0 = *(var_58h);
                                             | label_7:
    0x00029384 lw t9, -0x7fa8(gp)            |     t9 = *((gp - 8170));
                                             |     if (v0 != 0) {
    0x00029388 bnez v0, 0x29300              |         goto label_2;
                                             |     }
                                             | label_90:
    0x0002938c sw zero, 0x78(sp)             |     *(var_78h) = 0;
    0x00029390 b 0x29450                     |     goto label_94;
                                             | label_88:
    0x00029394 lw v0, -0x7fe0(gp)            |     v0 = *((gp - 8184));
    0x00029398 sw v0, 0xa0(sp)               |     *(var_a0h) = v0;
    0x0002939c lw v0, -0x35d8(v0)            |     v0 = *((v0 - 3446));
    0x000293a0 lw a1, 0x84(sp)               |     a1 = *(var_84h);
                                             |     if (v0 == 0) {
    0x000293a4 beqz v0, 0x291b4              |         goto label_3;
                                             |     }
    0x000293a8 lw a0, 0xf0(sp)               |     a0 = *(arg_f0h);
    0x000293ac b 0x293b8                     |     goto label_96;
                                             |     if (v0 == 0) {
                                             | label_5:
    0x000293b0 beql v0, zero, 0x291b8        |         goto label_4;
                                             |     }
    0x000293b4 lw v0, 0x1c(s0)               |     v0 = *((s0 + 7));
                                             | label_96:
    0x000293b8 lw v1, 4(v0)                  |     v1 = *((v0 + 1));
    0x000293bc lw v0, (v0)                   |     v0 = *(v0);
                                             |     if (a0 == v1) {
    0x000293c0 bnel a0, v1, 0x293b0          |         goto label_5;
                                             |     }
    0x000293c4 lw v1, 8(v0)                  |     v1 = *(var_48h);
    0x000293c8 lw v0, (v0)                   |     v0 = *(v0);
                                             |     if (a1 == v1) {
    0x000293cc bnel a1, v1, 0x293b0          |         goto label_5;
                                             |     }
    0x000293d0 lw v1, 0xc(v0)                |     v1 = *((v0 + 3));
    0x000293d4 lw a2, 0xec(sp)               |     a2 = *(arg_ech);
    0x000293d8 lw v0, (v0)                   |     v0 = *(v0);
                                             |     if (a2 == v1) {
    0x000293dc bnel a2, v1, 0x293b0          |         goto label_5;
                                             |     }
    0x000293e0 addiu v1, zero, 3             |     v1 = 3;
    0x000293e4 sw v1, 0x14(v0)               |     *(var_54h) = v1;
    0x000293e8 lw v0, 0x6c(sp)               |     v0 = *(var_6ch);
    0x000293ec lw t9, -0x78f0(gp)            |     t9 = *((gp - 7740));
    0x000293f0 addiu a0, v0, -0x35e4         |     a0 = v0 + -0x35e4;
    0x000293f4 jalr t9                       |     t9 ();
    0x000293f8 lw ra, 0xe4(sp)               |     ra = *(var_e4h);
    0x000293fc sw zero, 0x8c(sp)             |     *(var_8ch) = 0;
    0x00029400 lw v0, 0x8c(sp)               |     v0 = *(var_8ch);
    0x00029404 lw fp, 0xe0(sp)               |     fp = *(var_e0h);
    0x00029408 lw s7, 0xdc(sp)               |     s7 = *(var_dch);
    0x0002940c lw s6, 0xd8(sp)               |     s6 = *(var_d8h);
    0x00029410 lw s5, 0xd4(sp)               |     s5 = *(var_d4h);
    0x00029414 lw s4, 0xd0(sp)               |     s4 = *(var_d0h);
    0x00029418 lw s3, 0xcc(sp)               |     s3 = *(var_cch);
    0x0002941c lw s2, 0xc8(sp)               |     s2 = *(var_c8h);
    0x00029420 lw s1, 0xc4(sp)               |     s1 = *(var_c4h);
    0x00029424 lw s0, 0xc0(sp)               |     s0 = *(var_c0h);
    0x00029428 addiu sp, sp, 0xe8            |     
    0x0002942c jr ra                         |     return v0;
                                             | label_89:
    0x00029430 lw v0, 0xf4(sp)               |     v0 = *(arg_f4h);
    0x00029434 lw v1, 0x84(sp)               |     v1 = *(var_84h);
    0x00029438 sw v0, 0x9c(sp)               |     *(var_9ch) = v0;
    0x0002943c b 0x2920c                     |     goto label_6;
                                             | label_95:
    0x00029440 lw v0, 0x58(sp)               |     v0 = *(var_58h);
                                             |     if (fp == 0) {
    0x00029444 beqz fp, 0x29384              |         goto label_7;
                                             |     }
                                             | label_47:
    0x00029448 lw v0, 4(fp)                  |     v0 = *(arg_ech);
                                             | label_53:
    0x0002944c sw v0, 0x78(sp)               |     *(var_78h) = v0;
                                             | label_94:
    0x00029450 lw v0, -0x7fe0(gp)            |     v0 = *((gp - 8184));
    0x00029454 lw v1, -0x7fe0(gp)            |     v1 = *((gp - 8184));
    0x00029458 sw v0, 0x94(sp)               |     *(var_94h) = v0;
    0x0002945c addiu v0, v0, -0x3f24         |     v0 += -0x3f24;
    0x00029460 sw v0, 0x98(sp)               |     *(var_98h) = v0;
    0x00029464 lw v0, -0x7fe8(gp)            |     v0 = *((gp - 8186));
    0x00029468 sw v1, 0x88(sp)               |     *(var_88h) = v1;
    0x0002946c addiu v0, v0, 0x765c          |     v0 += 0x765c;
    0x00029470 lw v1, -0x7fe0(gp)            |     v1 = *((gp - 8184));
    0x00029474 lw s1, -0x7fe8(gp)            |     s1 = *((gp - 8186));
    0x00029478 sw v0, 0x74(sp)               |     *(var_74h) = v0;
    0x0002947c lw v0, -0x7fe8(gp)            |     v0 = *((gp - 8186));
    0x00029480 sw zero, 0x8c(sp)             |     *(var_8ch) = 0;
    0x00029484 sw v1, 0x90(sp)               |     *(var_90h) = v1;
    0x00029488 addiu s1, s1, 0x625c          |     s1 += 0x625c;
    0x0002948c sw v0, 0x7c(sp)               |     *(var_7ch) = v0;
                                             | label_10:
    0x00029490 lw v0, 0x88(sp)               |     v0 = *(var_88h);
                                             | label_9:
    0x00029494 lw t9, -0x793c(gp)            |     t9 = *((gp - 7759));
    0x00029498 lw a1, 0xf0(sp)               |     a1 = *(arg_f0h);
    0x0002949c lw a0, -0x35d4(v0)            |     a0 = *((v0 - 3445));
    0x000294a0 lw v0, 0x90(sp)               |     v0 = *(var_90h);
    0x000294a4 lw v0, -0x3f3c(v0)            |     v0 = *((v0 - 4047));
    0x000294a8 sw v0, 0x70(sp)               |     *(var_70h) = v0;
    0x000294ac jalr t9                       |     t9 ();
    0x000294b0 move s4, v0                   |     s4 = v0;
    0x000294b4 lw v0, 0x84(sp)               |     v0 = *(var_84h);
    0x000294b8 lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x000294bc sw v0, 0x58(sp)               |     *(var_58h) = v0;
                                             |     if (s4 == 0) {
    0x000294c0 beqz s4, 0x2954c              |         goto label_97;
                                             |     }
    0x000294c4 lw v0, 0x94(sp)               |     v0 = *(var_94h);
    0x000294c8 lw fp, (s4)                   |     fp = *(s4);
    0x000294cc lw s2, -0x3f24(v0)            |     s2 = *((v0 - 4041));
    0x000294d0 lw v0, 0x98(sp)               |     v0 = *(var_98h);
    0x000294d4 lw v0, 4(v0)                  |     v0 = *((v0 + 1));
    0x000294d8 sw v0, 0x68(sp)               |     *(var_68h) = v0;
                                             |     if (fp == 0) {
    0x000294dc beqz fp, 0x2954c              |         goto label_97;
                                             |     }
    0x000294e0 addiu s3, sp, 0x58            |     s3 = sp + 0x58;
    0x000294e4 move s7, zero                 |     s7 = 0;
    0x000294e8 move v0, s3                   |     v0 = s3;
    0x000294ec move s3, fp                   |     s3 = fp;
    0x000294f0 move fp, s7                   |     fp = s7;
    0x000294f4 move s7, v0                   |     s7 = v0;
    0x000294f8 b 0x29508                     |     
                                             |     while (v0 >= 0) {
    0x000294fc sltu v0, fp, s3               |         v0 = (fp < s3) ? 1 : 0;
                                             |         if (v0 == 0) {
    0x00029500 beql v0, zero, 0x29590        |             goto label_30;
                                             |         }
    0x00029504 move s4, zero                 |         s4 = 0;
    0x00029508 addu s5, fp, s3               |         s5 = fp + s3;
                                             | label_8:
    0x0002950c srl s5, s5, 1                 |         s5 >>= 1;
    0x00029510 mul v0, s2, s5                |         __asm ("mul v0, s2, s5");
    0x00029514 lw t9, 0x68(sp)               |         t9 = *(var_68h);
    0x00029518 move a0, s7                   |         a0 = s7;
    0x0002951c addu s6, v0, s4               |         s6 = v0 + s4;
    0x00029520 addiu s6, s6, 8               |         s6 += 8;
    0x00029524 move a1, s6                   |         a1 = s6;
    0x00029528 jalr t9                       |         t9 ();
    0x0002952c lw gp, 0x18(sp)               |         gp = *(var_18h);
                                             |         if (v0 == 0) {
    0x00029530 beqz v0, 0x29554              |             goto label_98;
                                             |         }
    0x00029534 bgezl v0, 0x294fc             |         
                                             |     }
    0x00029538 addiu fp, s5, 1               |     fp = s5 + 1;
    0x0002953c move s3, s5                   |     s3 = s5;
    0x00029540 sltu v0, fp, s3               |     v0 = (fp < s3) ? 1 : 0;
    0x00029544 addu s5, fp, s3               |     s5 = fp + s3;
                                             |     if (v0 != 0) {
    0x00029548 bnez v0, 0x2950c              |         goto label_8;
                                             |     }
                                             | label_97:
    0x0002954c move s4, zero                 |     s4 = 0;
    0x00029550 b 0x29590                     |     goto label_30;
                                             | label_98:
    0x00029554 move s4, zero                 |     s4 = 0;
                                             |     if (s6 != 0) {
    0x00029558 beqz s6, 0x29590              |         
    0x0002955c lw s4, 4(s6)                  |         s4 = *((s6 + 1));
                                             |         if (s4 == 0) {
    0x00029560 beql s4, zero, 0x29594        |             goto label_99;
                                             |         }
    0x00029564 lw v0, 0xc(s0)                |         v0 = *((s0 + 3));
    0x00029568 lw v0, 0x14(s4)               |         v0 = *((s4 + 5));
    0x0002956c addiu v0, v0, 1               |         v0++;
                                             |         if (v0 != 0) {
    0x00029570 bnez v0, 0x2a184              |             goto label_100;
                                             |         }
    0x00029574 lw v0, 0x7c(sp)               |         v0 = *(var_7ch);
    0x00029578 lw t9, -0x7978(gp)            |         t9 = *((gp - 7774));
    0x0002957c lw a1, 0x74(sp)               |         a1 = *(var_74h);
    0x00029580 move a2, s1                   |         a2 = s1;
    0x00029584 addiu a0, v0, 0x1944          |         a0 = v0 + 0x1944;
    0x00029588 jalr t9                       |         t9 ();
    0x0002958c lw gp, 0x18(sp)               |         gp = *(var_18h);
                                             |     }
                                             | label_30:
    0x00029590 lw v0, 0xc(s0)                |     v0 = *((s0 + 3));
                                             | label_99:
    0x00029594 addiu s6, zero, 1             |     s6 = 1;
    0x00029598 ext v0, v0, 1, 1              |     __asm ("ext v0, v0, 1, 1");
    0x0002959c sw s6, 0x30(sp)               |     *(var_30h) = s6;
                                             |     if (v0 != 0) {
    0x000295a0 beqz v0, 0x29680              |         
    0x000295a4 lw s3, 0x78(sp)               |         s3 = *(var_78h);
    0x000295a8 lw v0, 0xf0(sp)               |         v0 = *(arg_f0h);
                                             |         if (s3 == 0) {
    0x000295ac beqz s3, 0x29680              |             goto label_101;
                                             |         }
    0x000295b0 sw s6, 0x34(sp)               |         *(var_34h) = s6;
    0x000295b4 lw v1, 0x6c(sp)               |         v1 = *(var_6ch);
    0x000295b8 lw v0, (v0)                   |         v0 = *(v0);
    0x000295bc lw t9, -0x78f0(gp)            |         t9 = *((gp - 7740));
    0x000295c0 addiu a0, v1, -0x35e4         |         a0 = v1 + -0x35e4;
    0x000295c4 lw v0, (v0)                   |         v0 = *(v0);
    0x000295c8 addiu s2, sp, 0x28            |         s2 = sp + 0x28;
    0x000295cc sw v0, 0x38(sp)               |         *(var_38h) = v0;
    0x000295d0 jalr t9                       |         t9 ();
    0x000295d4 lw gp, 0x18(sp)               |         gp = *(var_18h);
    0x000295d8 lw a2, 0xc(s0)                |         a2 = *((s0 + 3));
    0x000295dc lw a3, 0xf8(sp)               |         a3 = *(arg_f8h);
    0x000295e0 lw t9, -0x7ea8(gp)            |         t9 = *((gp - 8106));
    0x000295e4 ext a2, a2, 0xa, 8            |         __asm ("ext a2, a2, 0xa, 8");
    0x000295e8 lw a1, 0x9c(sp)               |         a1 = *(var_9ch);
    0x000295ec sw s2, 0x10(sp)               |         *(var_10h) = s2;
    0x000295f0 addiu a2, a2, 1               |         a2++;
    0x000295f4 move a0, s3                   |         a0 = s3;
    0x000295f8 bal 0x10508                   |         sym_g_closure_invoke ();
    0x000295fc lw v0, 0x80(sp)               |         v0 = *(var_80h);
    0x00029600 lw gp, 0x18(sp)               |         gp = *(var_18h);
                                             |         if (v0 != 0) {
    0x00029604 beqz v0, 0x2964c              |             
    0x00029608 lw a3, 4(v0)                  |             a3 = *((v0 + 1));
    0x0002960c lw t9, (v0)                   |             t9 = *(v0);
    0x00029610 addiu s5, sp, 0x40            |             s5 = sp + 0x40;
    0x00029614 lw a1, 0xf4(sp)               |             a1 = *(arg_f4h);
    0x00029618 move a2, s5                   |             a2 = s5;
    0x0002961c move a0, s2                   |             a0 = s2;
    0x00029620 jalr t9                       |             t9 ();
    0x00029624 lw gp, 0x18(sp)               |             gp = *(var_18h);
    0x00029628 move s7, v0                   |             s7 = v0;
    0x0002962c lw t9, -0x7e5c(gp)            |             t9 = *((gp - 8087));
    0x00029630 move a0, s5                   |             a0 = s5;
    0x00029634 bal 0x461cc                   |             sym_g_value_reset ();
    0x00029638 lw gp, 0x18(sp)               |             gp = *(var_18h);
                                             |             if (s7 != 0) {
    0x0002963c bnez s7, 0x2964c              |                 goto label_102;
                                             |             }
    0x00029640 lw v0, 0x34(sp)               |             v0 = *(var_34h);
                                             |             if (v0 == s6) {
    0x00029644 beql v0, s6, 0x2964c          |                 goto label_102;
                                             |             }
    0x00029648 sw zero, 0x34(sp)             |             *(var_34h) = 0;
                                             |         }
                                             | label_102:
    0x0002964c lw v0, 0x6c(sp)               |         v0 = *(var_6ch);
    0x00029650 lw t9, -0x7a90(gp)            |         t9 = *((gp - 7844));
    0x00029654 addiu a0, v0, -0x35e4         |         a0 = v0 + -0x35e4;
    0x00029658 jalr t9                       |         t9 ();
    0x0002965c lw v0, 0x34(sp)               |         v0 = *(var_34h);
    0x00029660 addiu v1, zero, 4             |         v1 = 4;
    0x00029664 lw gp, 0x18(sp)               |         gp = *(var_18h);
    0x00029668 sw v1, 0x38(sp)               |         *(var_38h) = v1;
                                             |         if (v0 == 0) {
    0x0002966c beqz v0, 0x2a320              |             goto label_103;
                                             |         }
    0x00029670 addiu v1, zero, 3             |         v1 = 3;
    0x00029674 addiu v0, zero, 1             |         v0 = 1;
                                             |         if (v0 == v1) {
    0x00029678 beq v0, v1, 0x2a5fc           |             goto label_104;
                                             |         }
    0x0002967c sw v0, 0x8c(sp)               |         *(var_8ch) = v0;
                                             |     }
                                             | label_101:
    0x00029680 lw a0, 0x28(s0)               |     a0 = *((s0 + 10));
    0x00029684 lw t9, -0x7938(gp)            |     t9 = *((gp - 7758));
                                             |     if (a0 != 0) {
    0x00029688 bnez a0, 0x2a054              |         goto label_105;
                                             |     }
                                             | label_28:
    0x0002968c addiu a1, zero, 2             |     a1 = 2;
                                             |     if (s4 != 0) {
    0x00029690 bnez s4, 0x29c40              |         goto label_106;
                                             |     }
    0x00029694 lw v1, 0xc(s0)                |     v1 = *((s0 + 3));
    0x00029698 ext v0, v1, 1, 9              |     __asm ("ext v0, v1, 1, 9");
    0x0002969c andi a0, v0, 2                |     a0 = v0 & 2;
    0x000296a0 sw a1, 0x30(sp)               |     *(var_30h) = a1;
                                             |     if (a0 == 0) {
    0x000296a4 beqz a0, 0x29864              |         goto label_43;
                                             |     }
    0x000296a8 lw v0, 0x78(sp)               |     v0 = *(var_78h);
    0x000296ac ext v0, v1, 1, 9              |     __asm ("ext v0, v1, 1, 9");
                                             |     if (v0 == 0) {
    0x000296b0 beqz v0, 0x2a5f4              |         goto label_107;
                                             |     }
    0x000296b4 lw v0, 0xf0(sp)               |     v0 = *(arg_f0h);
                                             | label_19:
    0x000296b8 addiu s5, zero, 1             |     s5 = 1;
    0x000296bc sw s5, 0x34(sp)               |     *(var_34h) = s5;
    0x000296c0 lw v0, (v0)                   |     v0 = *(v0);
    0x000296c4 lw v1, 0x6c(sp)               |     v1 = *(var_6ch);
    0x000296c8 lw t9, -0x78f0(gp)            |     t9 = *((gp - 7740));
    0x000296cc lw v0, (v0)                   |     v0 = *(v0);
    0x000296d0 addiu a0, v1, -0x35e4         |     a0 = v1 + -0x35e4;
    0x000296d4 sw v0, 0x38(sp)               |     *(var_38h) = v0;
    0x000296d8 jalr t9                       |     t9 ();
    0x000296dc lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x000296e0 lw a2, 0xc(s0)                |     a2 = *((s0 + 3));
    0x000296e4 addiu s2, sp, 0x28            |     s2 = sp + 0x28;
    0x000296e8 lw t9, -0x7ea8(gp)            |     t9 = *((gp - 8106));
    0x000296ec ext a2, a2, 0xa, 8            |     __asm ("ext a2, a2, 0xa, 8");
    0x000296f0 lw a3, 0xf8(sp)               |     a3 = *(arg_f8h);
    0x000296f4 lw a1, 0x9c(sp)               |     a1 = *(var_9ch);
    0x000296f8 lw a0, 0x78(sp)               |     a0 = *(var_78h);
    0x000296fc sw s2, 0x10(sp)               |     *(var_10h) = s2;
    0x00029700 addiu a2, a2, 1               |     a2++;
    0x00029704 bal 0x10508                   |     sym_g_closure_invoke ();
    0x00029708 lw v0, 0x80(sp)               |     v0 = *(var_80h);
    0x0002970c lw gp, 0x18(sp)               |     gp = *(var_18h);
                                             |     if (v0 != 0) {
    0x00029710 beqz v0, 0x29758              |         
    0x00029714 lw a3, 4(v0)                  |         a3 = *((v0 + 1));
    0x00029718 lw t9, (v0)                   |         t9 = *(v0);
    0x0002971c addiu s6, sp, 0x40            |         s6 = sp + 0x40;
    0x00029720 lw a1, 0xf4(sp)               |         a1 = *(arg_f4h);
    0x00029724 move a2, s6                   |         a2 = s6;
    0x00029728 move a0, s2                   |         a0 = s2;
    0x0002972c jalr t9                       |         t9 ();
    0x00029730 lw gp, 0x18(sp)               |         gp = *(var_18h);
    0x00029734 move s7, v0                   |         s7 = v0;
    0x00029738 lw t9, -0x7e5c(gp)            |         t9 = *((gp - 8087));
    0x0002973c move a0, s6                   |         a0 = s6;
    0x00029740 bal 0x461cc                   |         sym_g_value_reset ();
    0x00029744 lw gp, 0x18(sp)               |         gp = *(var_18h);
                                             |         if (s7 != 0) {
    0x00029748 bnez s7, 0x29758              |             goto label_108;
                                             |         }
    0x0002974c lw v0, 0x34(sp)               |         v0 = *(var_34h);
                                             |         if (v0 == s5) {
    0x00029750 beql v0, s5, 0x29758          |             goto label_108;
                                             |         }
    0x00029754 sw zero, 0x34(sp)             |         *(var_34h) = 0;
                                             |     }
                                             | label_108:
    0x00029758 lw v0, 0x6c(sp)               |     v0 = *(var_6ch);
    0x0002975c lw t9, -0x7a90(gp)            |     t9 = *((gp - 7844));
    0x00029760 addiu a0, v0, -0x35e4         |     a0 = v0 + -0x35e4;
    0x00029764 jalr t9                       |     t9 ();
    0x00029768 lw v0, 0x34(sp)               |     v0 = *(var_34h);
    0x0002976c addiu v1, zero, 4             |     v1 = 4;
    0x00029770 lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x00029774 sw v1, 0x38(sp)               |     *(var_38h) = v1;
                                             |     if (v0 == 0) {
    0x00029778 beqz v0, 0x2a320              |         goto label_103;
                                             |     }
    0x0002977c addiu v1, zero, 3             |     v1 = 3;
    0x00029780 addiu v0, zero, 1             |     v0 = 1;
                                             |     if (v0 == v1) {
    0x00029784 beq v0, v1, 0x2a5fc           |         goto label_104;
                                             |     }
    0x00029788 move s7, s4                   |     s7 = s4;
                                             |     if (s4 == 0) {
    0x0002978c beqz s4, 0x2a5e8              |         goto label_109;
                                             |     }
    0x00029790 sw v0, 0x8c(sp)               |     *(var_8ch) = v0;
                                             | label_18:
    0x00029794 addiu v0, zero, 1             |     v0 = 1;
    0x00029798 sw v0, 0x34(sp)               |     *(var_34h) = v0;
    0x0002979c lw v0, 0x14(s7)               |     v0 = *((s7 + 5));
    0x000297a0 addiu v0, v0, 1               |     v0++;
                                             |     if (v0 != 0) {
    0x000297a4 bnez v0, 0x2a340              |         goto label_110;
                                             |     }
    0x000297a8 lw v0, 0x7c(sp)               |     v0 = *(var_7ch);
    0x000297ac lw t9, -0x7978(gp)            |     t9 = *((gp - 7774));
    0x000297b0 lw a1, 0x74(sp)               |     a1 = *(var_74h);
    0x000297b4 move a2, s1                   |     a2 = s1;
    0x000297b8 addiu a0, v0, 0x1944          |     a0 = v0 + 0x1944;
    0x000297bc jalr t9                       |     t9 ();
    0x000297c0 lw gp, 0x18(sp)               |     gp = *(var_18h);
                                             | label_35:
    0x000297c4 lw v0, 0x7c(sp)               |     v0 = *(var_7ch);
    0x000297c8 lw s4, -0x7fe8(gp)            |     s4 = *((gp - 8186));
    0x000297cc addiu s2, v0, 0x1944          |     s2 = v0 + 0x1944;
    0x000297d0 sw s7, 0x68(sp)               |     *(var_68h) = s7;
    0x000297d4 move s3, s7                   |     s3 = s7;
                                             |     do {
    0x000297d8 lw v0, 0x18(s3)               |         v0 = *((s3 + 6));
    0x000297dc lui a0, 1                     |         a0 = g_closure_sink;
    0x000297e0 ext v0, v0, 0, 0x11           |         __asm ("ext v0, v0, 0, 0x11");
                                             |         if (v0 == a0) {
    0x000297e4 beql v0, a0, 0x29944          |             goto label_111;
                                             |         }
    0x000297e8 lw v0, 0xc(s3)                |         v0 = *((s3 + 3));
    0x000297ec lw fp, 4(s3)                  |         fp = *((s3 + 1));
                                             |         if (fp != 0) {
                                             | label_11:
    0x000297f0 beql fp, zero, 0x29820        |             
    0x000297f4 lw a2, 0x14(s3)               |             a2 = *((s3 + 5));
    0x000297f8 lw v0, 0x14(fp)               |             v0 = *(arg_14h);
    0x000297fc addiu v0, v0, 1               |             v0++;
                                             |             if (v0 != 0) {
    0x00029800 bnez v0, 0x29b34              |                 goto label_112;
                                             |             }
    0x00029804 lw t9, -0x7978(gp)            |             t9 = *((gp - 7774));
    0x00029808 lw a1, 0x74(sp)               |             a1 = *(var_74h);
    0x0002980c move a2, s1                   |             a2 = s1;
    0x00029810 move a0, s2                   |             a0 = s2;
    0x00029814 jalr t9                       |             t9 ();
    0x00029818 lw gp, 0x18(sp)               |             gp = *(var_18h);
                                             | label_14:
    0x0002981c lw a2, 0x14(s3)               |             a2 = *((s3 + 5));
                                             |         }
    0x00029820 addiu s7, a2, -1              |         s7 = a2 + -1;
                                             |         if (a2 != 0) {
    0x00029824 bnez a2, 0x29a28              |             goto label_113;
                                             |         }
    0x00029828 lw t9, -0x7978(gp)            |         t9 = *((gp - 7774));
    0x0002982c move a2, s1                   |         a2 = s1;
    0x00029830 addiu a1, s4, 0x7750          |         a1 = s4 + 0x7750;
    0x00029834 move a0, s2                   |         a0 = s2;
    0x00029838 jalr t9                       |         t9 ();
    0x0002983c lw gp, 0x18(sp)               |         gp = *(var_18h);
                                             | label_12:
    0x00029840 move s3, fp                   |         s3 = fp;
    0x00029844 bnez fp, 0x297d8              |         
                                             |     } while (fp != 0);
    0x00029848 lw a0, 0x34(sp)               |     a0 = *(var_34h);
    0x0002984c addiu v0, zero, 3             |     v0 = 3;
    0x00029850 lw s7, 0x68(sp)               |     s7 = *(var_68h);
                                             |     if (a0 == v0) {
    0x00029854 beq a0, v0, 0x2a410           |         goto label_114;
                                             |     }
                                             | label_16:
    0x00029858 lw v0, 0xc(s0)                |     v0 = *((s0 + 3));
    0x0002985c move s4, s7                   |     s4 = s7;
    0x00029860 ext v0, v0, 1, 9              |     __asm ("ext v0, v0, 1, 9");
                                             | label_43:
    0x00029864 addiu v1, zero, 4             |     v1 = 4;
    0x00029868 andi v0, v0, 4                |     v0 &= 4;
    0x0002986c sw v1, 0x30(sp)               |     *(var_30h) = v1;
                                             |     if (v0 == 0) {
    0x00029870 beqz v0, 0x2a480              |         goto label_115;
                                             |     }
    0x00029874 lw v0, 0x78(sp)               |     v0 = *(var_78h);
    0x00029878 addiu s2, sp, 0x28            |     s2 = sp + 0x28;
                                             |     if (v0 == 0) {
    0x0002987c beqz v0, 0x2a480              |         goto label_115;
                                             |     }
                                             | label_34:
    0x00029880 lw v0, 0xf0(sp)               |     v0 = *(arg_f0h);
    0x00029884 sw zero, 0x34(sp)             |     *(var_34h) = 0;
    0x00029888 lw v1, 0x6c(sp)               |     v1 = *(var_6ch);
    0x0002988c lw v0, (v0)                   |     v0 = *(v0);
    0x00029890 lw t9, -0x78f0(gp)            |     t9 = *((gp - 7740));
    0x00029894 addiu a0, v1, -0x35e4         |     a0 = v1 + -0x35e4;
    0x00029898 lw v0, (v0)                   |     v0 = *(v0);
    0x0002989c addiu s3, zero, 4             |     s3 = 4;
    0x000298a0 sw v0, 0x38(sp)               |     *(var_38h) = v0;
    0x000298a4 jalr t9                       |     t9 ();
    0x000298a8 lw v0, 0x14(s0)               |     v0 = *((s0 + 5));
    0x000298ac lw gp, 0x18(sp)               |     gp = *(var_18h);
                                             |     if (v0 == s3) {
    0x000298b0 beq v0, s3, 0x2a18c           |         goto label_116;
                                             |     }
    0x000298b4 lw v1, 0x80(sp)               |     v1 = *(var_80h);
    0x000298b8 lw t9, -0x7ea8(gp)            |     t9 = *((gp - 8106));
                                             |     if (v1 == 0) {
    0x000298bc beqz v1, 0x2a418              |         goto label_117;
                                             |     }
    0x000298c0 lw a2, 0xc(s0)                |     a2 = *((s0 + 3));
    0x000298c4 ext a2, a2, 0xa, 8            |     __asm ("ext a2, a2, 0xa, 8");
    0x000298c8 lw a3, 0xf8(sp)               |     a3 = *(arg_f8h);
    0x000298cc lw a0, 0x78(sp)               |     a0 = *(var_78h);
    0x000298d0 sw s2, 0x10(sp)               |     *(var_10h) = s2;
    0x000298d4 addiu a2, a2, 1               |     a2++;
    0x000298d8 addiu a1, sp, 0x40            |     a1 = sp + 0x40;
    0x000298dc bal 0x10508                   |     sym_g_closure_invoke ();
    0x000298e0 lw gp, 0x18(sp)               |     gp = *(var_18h);
                                             | label_31:
    0x000298e4 lw v0, 0x6c(sp)               |     v0 = *(var_6ch);
    0x000298e8 lw t9, -0x7a90(gp)            |     t9 = *((gp - 7844));
    0x000298ec addiu a0, v0, -0x35e4         |     a0 = v0 + -0x35e4;
    0x000298f0 jalr t9                       |     t9 ();
    0x000298f4 lw v1, 0x34(sp)               |     v1 = *(var_34h);
    0x000298f8 addiu a0, zero, 4             |     a0 = 4;
    0x000298fc addiu v0, zero, 3             |     v0 = 3;
    0x00029900 lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x00029904 sw a0, 0x38(sp)               |     *(var_38h) = a0;
                                             |     if (v1 != v0) {
    0x00029908 bne v1, v0, 0x2a480           |         goto label_115;
                                             |     }
                                             | label_29:
    0x0002990c lw v0, 0x88(sp)               |     v0 = *(var_88h);
                                             |     if (s4 == 0) {
    0x00029910 beqz s4, 0x29494              |         goto label_9;
                                             |     }
                                             | label_17:
    0x00029914 lw s6, 0x14(s4)               |     s6 = *((s4 + 5));
    0x00029918 addiu s6, s6, -1              |     s6 += -1;
                                             |     if (s6 == 0) {
    0x0002991c bnel s6, zero, 0x29b3c        |         goto label_118;
                                             |     }
    0x00029920 lw a1, -0x7fe8(gp)            |     a1 = *((gp - 8186));
    0x00029924 lw v0, 0x7c(sp)               |     v0 = *(var_7ch);
    0x00029928 lw t9, -0x7978(gp)            |     t9 = *((gp - 7774));
    0x0002992c move a2, s1                   |     a2 = s1;
    0x00029930 addiu a1, a1, 0x7750          |     a1 += 0x7750;
    0x00029934 addiu a0, v0, 0x1944          |     a0 = v0 + 0x1944;
    0x00029938 jalr t9                       |     t9 ();
    0x0002993c lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x00029940 b 0x29490                     |     goto label_10;
                                             |     if (v0 == 0) {
                                             | label_111:
    0x00029944 beql v0, zero, 0x2995c        |         goto label_119;
                                             |     }
    0x00029948 lw v0, (s3)                   |     v0 = *(s3);
    0x0002994c lw v1, 0xec(sp)               |     v1 = *(arg_ech);
    0x00029950 lw fp, 4(s3)                  |     fp = *((s3 + 1));
                                             |     if (v0 == v1) {
    0x00029954 bnel v0, v1, 0x297f0          |         goto label_11;
                                             |     }
    0x00029958 lw v0, (s3)                   |     v0 = *(s3);
                                             | label_119:
    0x0002995c lw v1, 0x70(sp)               |     v1 = *(var_70h);
    0x00029960 sltu v0, v0, v1               |     v0 = (v0 < v1) ? 1 : 0;
                                             |     if (v0 == 0) {
    0x00029964 beql v0, zero, 0x297f0        |         goto label_11;
                                             |     }
    0x00029968 lw fp, 4(s3)                  |     fp = *((s3 + 1));
    0x0002996c lw v0, 0x6c(sp)               |     v0 = *(var_6ch);
    0x00029970 lw t9, -0x78f0(gp)            |     t9 = *((gp - 7740));
    0x00029974 addiu a0, v0, -0x35e4         |     a0 = v0 + -0x35e4;
    0x00029978 jalr t9                       |     t9 ();
    0x0002997c lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x00029980 lw a2, 0xc(s0)                |     a2 = *((s0 + 3));
    0x00029984 lw a0, 0x1c(s3)               |     a0 = *((s3 + 7));
    0x00029988 lw t9, -0x7ea8(gp)            |     t9 = *((gp - 8106));
    0x0002998c ext a2, a2, 0xa, 8            |     __asm ("ext a2, a2, 0xa, 8");
    0x00029990 addiu s5, sp, 0x28            |     s5 = sp + 0x28;
    0x00029994 lw a3, 0xf8(sp)               |     a3 = *(arg_f8h);
    0x00029998 lw a1, 0x9c(sp)               |     a1 = *(var_9ch);
    0x0002999c sw s5, 0x10(sp)               |     *(var_10h) = s5;
    0x000299a0 addiu a2, a2, 1               |     a2++;
    0x000299a4 bal 0x10508                   |     sym_g_closure_invoke ();
    0x000299a8 lw v0, 0x80(sp)               |     v0 = *(var_80h);
    0x000299ac lw gp, 0x18(sp)               |     gp = *(var_18h);
                                             |     if (v0 != 0) {
    0x000299b0 beqz v0, 0x299fc              |         
    0x000299b4 lw a3, 4(v0)                  |         a3 = *((v0 + 1));
    0x000299b8 lw t9, (v0)                   |         t9 = *(v0);
    0x000299bc addiu s6, sp, 0x40            |         s6 = sp + 0x40;
    0x000299c0 lw a1, 0xf4(sp)               |         a1 = *(arg_f4h);
    0x000299c4 move a0, s5                   |         a0 = s5;
    0x000299c8 move a2, s6                   |         a2 = s6;
    0x000299cc jalr t9                       |         t9 ();
    0x000299d0 lw gp, 0x18(sp)               |         gp = *(var_18h);
    0x000299d4 move s5, v0                   |         s5 = v0;
    0x000299d8 lw t9, -0x7e5c(gp)            |         t9 = *((gp - 8087));
    0x000299dc move a0, s6                   |         a0 = s6;
    0x000299e0 bal 0x461cc                   |         sym_g_value_reset ();
    0x000299e4 lw gp, 0x18(sp)               |         gp = *(var_18h);
                                             |         if (s5 != 0) {
    0x000299e8 bnez s5, 0x299fc              |             goto label_120;
                                             |         }
    0x000299ec lw a0, 0x34(sp)               |         a0 = *(var_34h);
    0x000299f0 addiu v0, zero, 1             |         v0 = 1;
                                             |         if (a0 == v0) {
    0x000299f4 beql a0, v0, 0x299fc          |             goto label_120;
                                             |         }
    0x000299f8 sw zero, 0x34(sp)             |         *(var_34h) = 0;
                                             |     }
                                             | label_120:
    0x000299fc lw v0, 0x6c(sp)               |     v0 = *(var_6ch);
    0x00029a00 lw t9, -0x7a90(gp)            |     t9 = *((gp - 7844));
    0x00029a04 addiu a0, v0, -0x35e4         |     a0 = v0 + -0x35e4;
    0x00029a08 jalr t9                       |     t9 ();
    0x00029a0c lw a0, 0x34(sp)               |     a0 = *(var_34h);
    0x00029a10 addiu v0, zero, 1             |     v0 = 1;
    0x00029a14 lw gp, 0x18(sp)               |     gp = *(var_18h);
                                             |     if (a0 != v0) {
    0x00029a18 bne a0, v0, 0x2a604           |         goto label_121;
                                             |     }
    0x00029a1c lw fp, 4(s3)                  |     fp = *((s3 + 1));
    0x00029a20 sw v0, 0x8c(sp)               |     *(var_8ch) = v0;
    0x00029a24 b 0x297f0                     |     goto label_11;
                                             | label_113:
    0x00029a28 sw s7, 0x14(s3)               |     *((s3 + 5)) = s7;
                                             |     if (s7 != 0) {
    0x00029a2c bnez s7, 0x29840              |         goto label_12;
                                             |     }
    0x00029a30 lw v0, 4(s3)                  |     v0 = *((s3 + 1));
    0x00029a34 lw a0, 8(s3)                  |     a0 = *((s3 + 2));
                                             |     if (v0 != 0) {
    0x00029a38 beqz v0, 0x29a44              |         
    0x00029a3c sw a0, 8(v0)                  |         *((v0 + 2)) = a0;
    0x00029a40 lw a0, 8(s3)                  |         a0 = *((s3 + 2));
                                             |     }
    0x00029a44 lui a1, 1                     |     a1 = g_closure_sink;
                                             |     if (a0 == 0) {
    0x00029a48 beqz a0, 0x2a70c              |         goto label_122;
                                             |     }
    0x00029a4c lw v0, 4(s3)                  |     v0 = *((s3 + 1));
    0x00029a50 sw v0, 4(a0)                  |     *((a0 + 1)) = v0;
    0x00029a54 lw v0, 0x18(s3)               |     v0 = *((s3 + 6));
    0x00029a58 and v0, v0, a1                |     v0 &= a1;
    0x00029a5c lw a0, 4(s3)                  |     a0 = *((s3 + 1));
                                             |     if (v0 != 0) {
    0x00029a60 bnez v0, 0x2a530              |         goto label_123;
                                             |     }
    0x00029a64 lw v0, 0x88(sp)               |     v0 = *(var_88h);
                                             |     if (a0 != 0) {
    0x00029a68 beqz a0, 0x29a80              |         
    0x00029a6c lw v0, 0x18(a0)               |         v0 = *((a0 + 6));
    0x00029a70 and a1, v0, a1                |         a1 = v0 & a1;
    0x00029a74 lw s5, 0x6c(sp)               |         s5 = *(var_6ch);
                                             |         if (a1 == 0) {
    0x00029a78 beqz a1, 0x2a1d0              |             goto label_39;
                                             |         }
    0x00029a7c lw v0, 0x88(sp)               |         v0 = *(var_88h);
                                             |     }
    0x00029a80 lw t9, -0x793c(gp)            |     t9 = *((gp - 7759));
    0x00029a84 lw a1, 0xf0(sp)               |     a1 = *(arg_f0h);
    0x00029a88 lw a0, -0x35d4(v0)            |     a0 = *((v0 - 3445));
    0x00029a8c jalr t9                       |     t9 ();
    0x00029a90 lw v1, 0x84(sp)               |     v1 = *(var_84h);
    0x00029a94 lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x00029a98 sw v1, 0x58(sp)               |     *(var_58h) = v1;
                                             |     if (v0 == 0) {
    0x00029a9c beqz v0, 0x2a9b8              |         goto label_75;
                                             |     }
    0x00029aa0 lw a0, 0x98(sp)               |     a0 = *(var_98h);
    0x00029aa4 lw v1, 0x94(sp)               |     v1 = *(var_94h);
    0x00029aa8 lw t2, (v0)                   |     t2 = *(v0);
    0x00029aac lw a0, 4(a0)                  |     a0 = *((a0 + 1));
    0x00029ab0 lw v1, -0x3f24(v1)            |     v1 = *((v1 - 4041));
    0x00029ab4 sw a0, 0xa4(sp)               |     *(var_a4h) = a0;
                                             |     if (t2 == 0) {
    0x00029ab8 beqz t2, 0x2a9b8              |         goto label_75;
                                             |     }
    0x00029abc move t1, zero                 |     t1 = 0;
    0x00029ac0 sw s3, 0xac(sp)               |     *(var_ach) = s3;
    0x00029ac4 sw s7, 0xb4(sp)               |     *(var_b4h) = s7;
    0x00029ac8 sw s0, 0xe8(sp)               |     *(arg_e8h) = s0;
    0x00029acc addiu s5, sp, 0x58            |     s5 = sp + 0x58;
    0x00029ad0 sw fp, 0xb0(sp)               |     *(var_b0h) = fp;
    0x00029ad4 move s3, v0                   |     s3 = v0;
    0x00029ad8 move s6, t1                   |     s6 = t1;
    0x00029adc move s7, t2                   |     s7 = t2;
    0x00029ae0 move s0, v1                   |     s0 = v1;
    0x00029ae4 sw s2, 0xb8(sp)               |     *(var_b8h) = s2;
    0x00029ae8 b 0x29af8                     |     
                                             |     while (v0 >= 0) {
                                             | label_13:
    0x00029aec sltu v0, s6, s7               |         v0 = (s6 < s7) ? 1 : 0;
                                             |         if (v0 == 0) {
    0x00029af0 beql v0, zero, 0x2aecc        |             goto label_124;
                                             |         }
    0x00029af4 lw s3, 0xac(sp)               |         s3 = *(var_ach);
    0x00029af8 addu v1, s7, s6               |         v1 = s7 + s6;
    0x00029afc srl s2, v1, 1                 |         s2 = v1 >> 1;
    0x00029b00 mul v0, s0, s2                |         __asm ("mul v0, s0, s2");
    0x00029b04 lw t9, 0xa4(sp)               |         t9 = *(var_a4h);
    0x00029b08 move a0, s5                   |         a0 = s5;
    0x00029b0c addu a2, v0, s3               |         a2 = v0 + s3;
    0x00029b10 addiu fp, a2, 8               |         fp = a2 + 8;
    0x00029b14 move a1, fp                   |         a1 = fp;
    0x00029b18 jalr t9                       |         t9 ();
    0x00029b1c lw gp, 0x18(sp)               |         gp = *(var_18h);
                                             |         if (v0 == 0) {
    0x00029b20 beqz v0, 0x2a99c              |             goto label_125;
                                             |         }
    0x00029b24 bgezl v0, 0x29aec             |         
                                             |     }
    0x00029b28 addiu s6, s2, 1               |     s6 = s2 + 1;
    0x00029b2c move s7, s2                   |     s7 = s2;
    0x00029b30 b 0x29aec                     |     goto label_13;
                                             | label_112:
    0x00029b34 sw v0, 0x14(fp)               |     *(arg_14h) = v0;
    0x00029b38 b 0x2981c                     |     goto label_14;
                                             | label_118:
    0x00029b3c sw s6, 0x14(s4)               |     *((s4 + 5)) = s6;
                                             |     if (s6 != 0) {
    0x00029b40 bnez s6, 0x29490              |         goto label_10;
                                             |     }
    0x00029b44 lw v0, 4(s4)                  |     v0 = *((s4 + 1));
    0x00029b48 lw v1, 8(s4)                  |     v1 = *((s4 + 2));
                                             |     if (v0 != 0) {
    0x00029b4c beqz v0, 0x29b58              |         
    0x00029b50 sw v1, 8(v0)                  |         *((v0 + 2)) = v1;
    0x00029b54 lw v1, 8(s4)                  |         v1 = *((s4 + 2));
                                             |     }
    0x00029b58 lui a0, 1                     |     a0 = g_closure_sink;
                                             |     if (v1 == 0) {
    0x00029b5c beqz v1, 0x2aabc              |         goto label_126;
                                             |     }
    0x00029b60 lw v0, 4(s4)                  |     v0 = *((s4 + 1));
    0x00029b64 sw v0, 4(v1)                  |     *((v1 + 1)) = v0;
    0x00029b68 lw v0, 0x18(s4)               |     v0 = *((s4 + 6));
    0x00029b6c and v0, v0, a0                |     v0 &= a0;
    0x00029b70 lw v1, 4(s4)                  |     v1 = *((s4 + 1));
                                             |     if (v0 != 0) {
    0x00029b74 bnez v0, 0x2a82c              |         goto label_127;
                                             |     }
    0x00029b78 lw v0, 0x88(sp)               |     v0 = *(var_88h);
                                             |     if (v1 != 0) {
    0x00029b7c beqz v1, 0x29b94              |         
    0x00029b80 lw v0, 0x18(v1)               |         v0 = *((v1 + 6));
    0x00029b84 and a0, v0, a0                |         a0 = v0 & a0;
    0x00029b88 lw s2, 0x6c(sp)               |         s2 = *(var_6ch);
                                             |         if (a0 == 0) {
    0x00029b8c beqz a0, 0x2a838              |             goto label_68;
                                             |         }
    0x00029b90 lw v0, 0x88(sp)               |         v0 = *(var_88h);
                                             |     }
    0x00029b94 lw t9, -0x793c(gp)            |     t9 = *((gp - 7759));
    0x00029b98 lw a1, 0xf0(sp)               |     a1 = *(arg_f0h);
    0x00029b9c lw a0, -0x35d4(v0)            |     a0 = *((v0 - 3445));
    0x00029ba0 jalr t9                       |     t9 ();
    0x00029ba4 move s2, v0                   |     s2 = v0;
    0x00029ba8 lw v0, 0x84(sp)               |     v0 = *(var_84h);
    0x00029bac lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x00029bb0 sw v0, 0x58(sp)               |     *(var_58h) = v0;
                                             |     if (s2 == 0) {
    0x00029bb4 beqz s2, 0x2ac98              |         goto label_83;
                                             |     }
    0x00029bb8 lw v0, 0x94(sp)               |     v0 = *(var_94h);
    0x00029bbc lw v1, (s2)                   |     v1 = *(s2);
    0x00029bc0 lw v0, -0x3f24(v0)            |     v0 = *((v0 - 4041));
    0x00029bc4 sw v0, 0x68(sp)               |     *(var_68h) = v0;
    0x00029bc8 lw v0, 0x98(sp)               |     v0 = *(var_98h);
    0x00029bcc lw v0, 4(v0)                  |     v0 = *((v0 + 1));
    0x00029bd0 sw v0, 0x70(sp)               |     *(var_70h) = v0;
                                             |     if (v1 == 0) {
    0x00029bd4 beqz v1, 0x2ac98              |         goto label_83;
                                             |     }
    0x00029bd8 move fp, zero                 |     fp = 0;
    0x00029bdc sw s4, 0xa4(sp)               |     *(var_a4h) = s4;
    0x00029be0 move s7, s0                   |     s7 = s0;
    0x00029be4 addiu s3, sp, 0x58            |     s3 = sp + 0x58;
    0x00029be8 move s4, v1                   |     s4 = v1;
    0x00029bec move s0, fp                   |     s0 = fp;
    0x00029bf0 b 0x29c00                     |     
                                             |     while (v0 >= 0) {
                                             | label_15:
    0x00029bf4 sltu v0, s0, s4               |         v0 = (s0 < s4) ? 1 : 0;
                                             |         if (v0 == 0) {
    0x00029bf8 beql v0, zero, 0x2b0d0        |             goto label_128;
                                             |         }
    0x00029bfc lw s4, 0xa4(sp)               |         s4 = *(var_a4h);
    0x00029c00 lw v0, 0x68(sp)               |         v0 = *(var_68h);
    0x00029c04 addu s5, s0, s4               |         s5 = s0 + s4;
    0x00029c08 srl s5, s5, 1                 |         s5 >>= 1;
    0x00029c0c mul v1, v0, s5                |         __asm ("mul v1, v0, s5");
    0x00029c10 lw t9, 0x70(sp)               |         t9 = *(var_70h);
    0x00029c14 move a0, s3                   |         a0 = s3;
    0x00029c18 addu v0, v1, s2               |         v0 = v1 + s2;
    0x00029c1c addiu fp, v0, 8               |         fp = v0 + 8;
    0x00029c20 move a1, fp                   |         a1 = fp;
    0x00029c24 jalr t9                       |         t9 ();
    0x00029c28 lw gp, 0x18(sp)               |         gp = *(var_18h);
                                             |         if (v0 == 0) {
    0x00029c2c beqz v0, 0x2ac88              |             goto label_129;
                                             |         }
    0x00029c30 bgezl v0, 0x29bf4             |         
                                             |     }
    0x00029c34 addiu s0, s5, 1               |     s0 = s5 + 1;
    0x00029c38 move s4, s5                   |     s4 = s5;
    0x00029c3c b 0x29bf4                     |     goto label_15;
                                             | label_106:
    0x00029c40 addiu v0, zero, 1             |     v0 = 1;
    0x00029c44 sw v0, 0x34(sp)               |     *(var_34h) = v0;
    0x00029c48 lw v0, 0x14(s4)               |     v0 = *((s4 + 5));
    0x00029c4c addiu v0, v0, 1               |     v0++;
                                             |     if (v0 != 0) {
    0x00029c50 bnez v0, 0x2a1b8              |         goto label_130;
                                             |     }
    0x00029c54 lw v0, 0x7c(sp)               |     v0 = *(var_7ch);
    0x00029c58 lw t9, -0x7978(gp)            |     t9 = *((gp - 7774));
    0x00029c5c lw a1, 0x74(sp)               |     a1 = *(var_74h);
    0x00029c60 move a2, s1                   |     a2 = s1;
    0x00029c64 addiu a0, v0, 0x1944          |     a0 = v0 + 0x1944;
    0x00029c68 jalr t9                       |     t9 ();
    0x00029c6c lw gp, 0x18(sp)               |     gp = *(var_18h);
                                             | label_32:
    0x00029c70 lw v0, 0x7c(sp)               |     v0 = *(var_7ch);
    0x00029c74 move s3, s4                   |     s3 = s4;
    0x00029c78 addiu s2, v0, 0x1944          |     s2 = v0 + 0x1944;
    0x00029c7c lw v0, 0x18(s3)               |     v0 = *((s3 + 6));
    0x00029c80 lw s5, -0x7fe8(gp)            |     s5 = *((gp - 8186));
    0x00029c84 ext v0, v0, 0x10, 1           |     __asm ("ext v0, v0, 0x10, 1");
    0x00029c88 move s6, s4                   |     s6 = s4;
                                             |     if (v0 != 0) {
    0x00029c8c bnez v0, 0x29d24              |         goto label_131;
                                             |     }
    0x00029c90 lhu v0, 0x18(s3)              |     v0 = *((s3 + 12));
                                             |     do {
    0x00029c94 lw fp, 4(s3)                  |         fp = *((s3 + 1));
                                             |         if (v0 != 0) {
    0x00029c98 bnel v0, zero, 0x29cb8        |             
    0x00029c9c lw v0, 0xc(s3)                |             v0 = *((s3 + 3));
                                             |             if (v0 == 0) {
    0x00029ca0 beql v0, zero, 0x29d90        |                 goto label_132;
                                             |             }
    0x00029ca4 lw v0, (s3)                   |             v0 = *(s3);
    0x00029ca8 lw v1, 0xec(sp)               |             v1 = *(arg_ech);
                                             |             if (v0 == v1) {
    0x00029cac beql v0, v1, 0x29d90          |                 goto label_132;
                                             |             }
    0x00029cb0 lw v0, (s3)                   |             v0 = *(s3);
    0x00029cb4 lw fp, 4(s3)                  |             fp = *((s3 + 1));
                                             |         }
                                             |         if (fp != 0) {
                                             | label_20:
    0x00029cb8 beql fp, zero, 0x29ce8        |             
    0x00029cbc lw v0, 0x14(s6)               |             v0 = *((s6 + 5));
    0x00029cc0 lw v0, 0x14(fp)               |             v0 = *(arg_14h);
    0x00029cc4 addiu v0, v0, 1               |             v0++;
                                             |             if (v0 != 0) {
    0x00029cc8 bnez v0, 0x29f70              |                 goto label_133;
                                             |             }
    0x00029ccc lw t9, -0x7978(gp)            |             t9 = *((gp - 7774));
    0x00029cd0 lw a1, 0x74(sp)               |             a1 = *(var_74h);
    0x00029cd4 move a2, s1                   |             a2 = s1;
    0x00029cd8 move a0, s2                   |             a0 = s2;
    0x00029cdc jalr t9                       |             t9 ();
    0x00029ce0 lw gp, 0x18(sp)               |             gp = *(var_18h);
                                             | label_23:
    0x00029ce4 lw v0, 0x14(s6)               |             v0 = *((s6 + 5));
                                             |         }
    0x00029ce8 addiu s7, v0, -1              |         s7 = v0 + -1;
                                             |         if (v0 != 0) {
    0x00029cec bnez v0, 0x29e5c              |             goto label_134;
                                             |         }
    0x00029cf0 lw t9, -0x7978(gp)            |         t9 = *((gp - 7774));
    0x00029cf4 move a2, s1                   |         a2 = s1;
    0x00029cf8 addiu a1, s5, 0x7750          |         a1 = s5 + 0x7750;
    0x00029cfc move a0, s2                   |         a0 = s2;
    0x00029d00 jalr t9                       |         t9 ();
    0x00029d04 lw gp, 0x18(sp)               |         gp = *(var_18h);
                                             | label_21:
    0x00029d08 move s6, s3                   |         s6 = s3;
                                             |         if (fp == 0) {
    0x00029d0c beqz fp, 0x2a04c              |             goto label_135;
                                             |         }
                                             | label_24:
    0x00029d10 move s3, fp                   |         s3 = fp;
    0x00029d14 lw v0, 0x18(s3)               |         v0 = *((s3 + 6));
    0x00029d18 ext v0, v0, 0x10, 1           |         __asm ("ext v0, v0, 0x10, 1");
    0x00029d1c beql v0, zero, 0x29c94        |         
                                             |     } while (v0 == 0);
    0x00029d20 lhu v0, 0x18(s3)              |     v0 = *((s3 + 12));
                                             | label_131:
    0x00029d24 move s4, s6                   |     s4 = s6;
    0x00029d28 lw s6, 0x14(s6)               |     s6 = *((s6 + 5));
    0x00029d2c move s7, s3                   |     s7 = s3;
                                             |     if (s6 != 0) {
    0x00029d30 bnez s6, 0x2a218              |         goto label_136;
                                             |     }
    0x00029d34 lw a1, -0x7fe8(gp)            |     a1 = *((gp - 8186));
    0x00029d38 lw v0, 0x7c(sp)               |     v0 = *(var_7ch);
    0x00029d3c lw t9, -0x7978(gp)            |     t9 = *((gp - 7774));
    0x00029d40 move a2, s1                   |     a2 = s1;
    0x00029d44 addiu a1, a1, 0x7750          |     a1 += 0x7750;
    0x00029d48 addiu a0, v0, 0x1944          |     a0 = v0 + 0x1944;
    0x00029d4c jalr t9                       |     t9 ();
    0x00029d50 lw gp, 0x18(sp)               |     gp = *(var_18h);
                                             | label_25:
    0x00029d54 lw v0, 0x34(sp)               |     v0 = *(var_34h);
    0x00029d58 addiu a0, zero, 3             |     a0 = 3;
                                             |     if (v0 == 0) {
    0x00029d5c beqz v0, 0x29858              |         goto label_16;
                                             |     }
                                             |     if (v0 == a0) {
    0x00029d60 beql v0, a0, 0x29914          |         goto label_17;
                                             |     }
    0x00029d64 move s4, s7                   |     s4 = s7;
    0x00029d68 lw v0, 0xc(s0)                |     v0 = *((s0 + 3));
    0x00029d6c addiu a0, zero, 2             |     a0 = 2;
    0x00029d70 ext v0, v0, 2, 1              |     __asm ("ext v0, v0, 2, 1");
    0x00029d74 sw a0, 0x30(sp)               |     *(var_30h) = a0;
                                             |     if (v0 == 0) {
    0x00029d78 beqz v0, 0x29794              |         goto label_18;
                                             |     }
    0x00029d7c lw v0, 0x78(sp)               |     v0 = *(var_78h);
    0x00029d80 move s4, s7                   |     s4 = s7;
                                             |     if (v0 == 0) {
    0x00029d84 beqz v0, 0x29794              |         goto label_18;
                                             |     }
    0x00029d88 lw v0, 0xf0(sp)               |     v0 = *(arg_f0h);
    0x00029d8c b 0x296b8                     |     goto label_19;
                                             | label_132:
    0x00029d90 lw v1, 0x70(sp)               |     v1 = *(var_70h);
    0x00029d94 sltu v0, v0, v1               |     v0 = (v0 < v1) ? 1 : 0;
                                             |     if (v0 == 0) {
    0x00029d98 beql v0, zero, 0x29cb8        |         goto label_20;
                                             |     }
    0x00029d9c lw fp, 4(s3)                  |     fp = *((s3 + 1));
    0x00029da0 lw v0, 0x6c(sp)               |     v0 = *(var_6ch);
    0x00029da4 lw t9, -0x78f0(gp)            |     t9 = *((gp - 7740));
    0x00029da8 addiu a0, v0, -0x35e4         |     a0 = v0 + -0x35e4;
    0x00029dac jalr t9                       |     t9 ();
    0x00029db0 lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x00029db4 lw a2, 0xc(s0)                |     a2 = *((s0 + 3));
    0x00029db8 lw a0, 0x1c(s3)               |     a0 = *((s3 + 7));
    0x00029dbc lw t9, -0x7ea8(gp)            |     t9 = *((gp - 8106));
    0x00029dc0 ext a2, a2, 0xa, 8            |     __asm ("ext a2, a2, 0xa, 8");
    0x00029dc4 addiu s7, sp, 0x28            |     s7 = sp + 0x28;
    0x00029dc8 lw a3, 0xf8(sp)               |     a3 = *(arg_f8h);
    0x00029dcc lw a1, 0x9c(sp)               |     a1 = *(var_9ch);
    0x00029dd0 sw s7, 0x10(sp)               |     *(var_10h) = s7;
    0x00029dd4 addiu a2, a2, 1               |     a2++;
    0x00029dd8 bal 0x10508                   |     sym_g_closure_invoke ();
    0x00029ddc lw v0, 0x80(sp)               |     v0 = *(var_80h);
    0x00029de0 lw gp, 0x18(sp)               |     gp = *(var_18h);
                                             |     if (v0 != 0) {
    0x00029de4 beqz v0, 0x29e30              |         
    0x00029de8 lw a3, 4(v0)                  |         a3 = *((v0 + 1));
    0x00029dec lw t9, (v0)                   |         t9 = *(v0);
    0x00029df0 addiu s4, sp, 0x40            |         s4 = sp + 0x40;
    0x00029df4 lw a1, 0xf4(sp)               |         a1 = *(arg_f4h);
    0x00029df8 move a0, s7                   |         a0 = s7;
    0x00029dfc move a2, s4                   |         a2 = s4;
    0x00029e00 jalr t9                       |         t9 ();
    0x00029e04 lw gp, 0x18(sp)               |         gp = *(var_18h);
    0x00029e08 move s7, v0                   |         s7 = v0;
    0x00029e0c lw t9, -0x7e5c(gp)            |         t9 = *((gp - 8087));
    0x00029e10 move a0, s4                   |         a0 = s4;
    0x00029e14 bal 0x461cc                   |         sym_g_value_reset ();
    0x00029e18 lw gp, 0x18(sp)               |         gp = *(var_18h);
                                             |         if (s7 != 0) {
    0x00029e1c bnez s7, 0x29e30              |             goto label_137;
                                             |         }
    0x00029e20 lw a0, 0x34(sp)               |         a0 = *(var_34h);
    0x00029e24 addiu v0, zero, 1             |         v0 = 1;
                                             |         if (a0 == v0) {
    0x00029e28 beql a0, v0, 0x29e30          |             goto label_137;
                                             |         }
    0x00029e2c sw zero, 0x34(sp)             |         *(var_34h) = 0;
                                             |     }
                                             | label_137:
    0x00029e30 lw v0, 0x6c(sp)               |     v0 = *(var_6ch);
    0x00029e34 lw t9, -0x7a90(gp)            |     t9 = *((gp - 7844));
    0x00029e38 addiu a0, v0, -0x35e4         |     a0 = v0 + -0x35e4;
    0x00029e3c jalr t9                       |     t9 ();
    0x00029e40 lw a0, 0x34(sp)               |     a0 = *(var_34h);
    0x00029e44 addiu v0, zero, 1             |     v0 = 1;
    0x00029e48 lw gp, 0x18(sp)               |     gp = *(var_18h);
                                             |     if (a0 != v0) {
    0x00029e4c bne a0, v0, 0x2a404           |         goto label_138;
                                             |     }
    0x00029e50 lw fp, 4(s3)                  |     fp = *((s3 + 1));
    0x00029e54 sw v0, 0x8c(sp)               |     *(var_8ch) = v0;
    0x00029e58 b 0x29cb8                     |     goto label_20;
                                             | label_134:
    0x00029e5c sw s7, 0x14(s6)               |     *((s6 + 5)) = s7;
                                             |     if (s7 != 0) {
    0x00029e60 bnez s7, 0x29d08              |         goto label_21;
                                             |     }
    0x00029e64 lw v0, 4(s6)                  |     v0 = *((s6 + 1));
    0x00029e68 lw a0, 8(s6)                  |     a0 = *((s6 + 2));
                                             |     if (v0 != 0) {
    0x00029e6c beqz v0, 0x29e78              |         
    0x00029e70 sw a0, 8(v0)                  |         *((v0 + 2)) = a0;
    0x00029e74 lw a0, 8(s6)                  |         a0 = *((s6 + 2));
                                             |     }
    0x00029e78 lui a1, 1                     |     a1 = g_closure_sink;
                                             |     if (a0 == 0) {
    0x00029e7c beqz a0, 0x2a610              |         goto label_139;
                                             |     }
    0x00029e80 lw v0, 4(s6)                  |     v0 = *((s6 + 1));
    0x00029e84 sw v0, 4(a0)                  |     *((a0 + 1)) = v0;
    0x00029e88 lw v0, 0x18(s6)               |     v0 = *((s6 + 6));
    0x00029e8c and v0, v0, a1                |     v0 &= a1;
    0x00029e90 lw a0, 4(s6)                  |     a0 = *((s6 + 1));
                                             |     if (v0 != 0) {
    0x00029e94 bnez v0, 0x2a348              |         goto label_140;
                                             |     }
    0x00029e98 lw v0, 0x88(sp)               |     v0 = *(var_88h);
                                             |     if (a0 != 0) {
    0x00029e9c beqz a0, 0x29eb4              |         
    0x00029ea0 lw v0, 0x18(a0)               |         v0 = *((a0 + 6));
    0x00029ea4 and a1, v0, a1                |         a1 = v0 & a1;
    0x00029ea8 lw s4, 0x6c(sp)               |         s4 = *(var_6ch);
                                             |         if (a1 == 0) {
    0x00029eac beqz a1, 0x2a000              |             goto label_36;
                                             |         }
    0x00029eb0 lw v0, 0x88(sp)               |         v0 = *(var_88h);
                                             |     }
    0x00029eb4 lw t9, -0x793c(gp)            |     t9 = *((gp - 7759));
    0x00029eb8 lw a1, 0xf0(sp)               |     a1 = *(arg_f0h);
    0x00029ebc lw a0, -0x35d4(v0)            |     a0 = *((v0 - 3445));
    0x00029ec0 jalr t9                       |     t9 ();
    0x00029ec4 lw v1, 0x84(sp)               |     v1 = *(var_84h);
    0x00029ec8 lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x00029ecc sw v1, 0x58(sp)               |     *(var_58h) = v1;
                                             |     if (v0 == 0) {
    0x00029ed0 beqz v0, 0x2a988              |         goto label_74;
                                             |     }
    0x00029ed4 lw a0, 0x98(sp)               |     a0 = *(var_98h);
    0x00029ed8 lw v1, 0x94(sp)               |     v1 = *(var_94h);
    0x00029edc lw t2, (v0)                   |     t2 = *(v0);
    0x00029ee0 lw a0, 4(a0)                  |     a0 = *((a0 + 1));
    0x00029ee4 lw v1, -0x3f24(v1)            |     v1 = *((v1 - 4041));
    0x00029ee8 sw a0, 0x68(sp)               |     *(var_68h) = a0;
                                             |     if (t2 == 0) {
    0x00029eec beqz t2, 0x2a988              |         goto label_74;
                                             |     }
    0x00029ef0 move t1, zero                 |     t1 = 0;
    0x00029ef4 addiu t3, sp, 0x58            |     t3 = sp + 0x58;
    0x00029ef8 sw s3, 0xa4(sp)               |     *(var_a4h) = s3;
    0x00029efc sw fp, 0xac(sp)               |     *(var_ach) = fp;
    0x00029f00 sw s6, 0xb0(sp)               |     *(var_b0h) = s6;
    0x00029f04 sw s2, 0xb8(sp)               |     *(var_b8h) = s2;
    0x00029f08 move s3, v0                   |     s3 = v0;
    0x00029f0c move fp, v1                   |     fp = v1;
    0x00029f10 move s6, t2                   |     s6 = t2;
    0x00029f14 sw s7, 0xb4(sp)               |     *(var_b4h) = s7;
    0x00029f18 sw s0, 0xe8(sp)               |     *(arg_e8h) = s0;
    0x00029f1c move s4, t3                   |     s4 = t3;
    0x00029f20 move s2, t1                   |     s2 = t1;
    0x00029f24 b 0x29f34                     |     
                                             |     while (v0 >= 0) {
                                             | label_22:
    0x00029f28 sltu v0, s2, s6               |         v0 = (s2 < s6) ? 1 : 0;
                                             |         if (v0 == 0) {
    0x00029f2c beql v0, zero, 0x2ade8        |             goto label_141;
                                             |         }
    0x00029f30 lw s3, 0xa4(sp)               |         s3 = *(var_a4h);
    0x00029f34 addu v1, s2, s6               |         v1 = s2 + s6;
    0x00029f38 srl s0, v1, 1                 |         s0 = v1 >> 1;
    0x00029f3c mul v0, fp, s0                |         __asm ("mul v0, fp, s0");
    0x00029f40 lw t9, 0x68(sp)               |         t9 = *(var_68h);
    0x00029f44 move a0, s4                   |         a0 = s4;
    0x00029f48 addu a2, v0, s3               |         a2 = v0 + s3;
    0x00029f4c addiu s7, a2, 8               |         s7 = a2 + 8;
    0x00029f50 move a1, s7                   |         a1 = s7;
    0x00029f54 jalr t9                       |         t9 ();
    0x00029f58 lw gp, 0x18(sp)               |         gp = *(var_18h);
                                             |         if (v0 == 0) {
    0x00029f5c beqz v0, 0x2a968              |             goto label_142;
                                             |         }
    0x00029f60 bgezl v0, 0x29f28             |         
                                             |     }
    0x00029f64 addiu s2, s0, 1               |     s2 = s0 + 1;
    0x00029f68 move s6, s0                   |     s6 = s0;
    0x00029f6c b 0x29f28                     |     goto label_22;
                                             | label_133:
    0x00029f70 sw v0, 0x14(fp)               |     *(arg_14h) = v0;
    0x00029f74 b 0x29ce4                     |     goto label_23;
                                             | label_44:
    0x00029f78 move s4, fp                   |     s4 = fp;
    0x00029f7c lw s3, 0xa4(sp)               |     s3 = *(var_a4h);
    0x00029f80 lw s6, 0xb0(sp)               |     s6 = *(var_b0h);
    0x00029f84 lw fp, 0xac(sp)               |     fp = *(var_ach);
    0x00029f88 lw s0, 0xe8(sp)               |     s0 = *(arg_e8h);
    0x00029f8c lw s2, 0xb4(sp)               |     s2 = *(var_b4h);
                                             |     if (s4 == 0) {
    0x00029f90 beqz s4, 0x2a6cc              |         goto label_49;
                                             |     }
    0x00029f94 lw v0, 4(s6)                  |     v0 = *((s6 + 1));
    0x00029f98 lui a0, 1                     |     a0 = g_closure_sink;
    0x00029f9c sw v0, 4(s4)                  |     *((s4 + 1)) = v0;
    0x00029fa0 lw v0, 0x18(s6)               |     v0 = *((s6 + 6));
    0x00029fa4 and v0, v0, a0                |     v0 &= a0;
    0x00029fa8 lw a1, 4(s6)                  |     a1 = *((s6 + 1));
                                             |     if (v0 != 0) {
    0x00029fac bnez v0, 0x2abc0              |         goto label_143;
                                             |     }
                                             |     if (a1 != 0) {
    0x00029fb0 beql a1, zero, 0x29fcc        |         
    0x00029fb4 lw v0, 8(s4)                  |         v0 = *((s4 + 2));
    0x00029fb8 lw v0, 0x18(a1)               |         v0 = *((a1 + 6));
    0x00029fbc and a0, a0, v0                |         a0 &= v0;
                                             |         if (a0 == 0) {
    0x00029fc0 beql a0, zero, 0x2a000        |             goto label_36;
                                             |         }
    0x00029fc4 lw s4, 0x6c(sp)               |         s4 = *(var_6ch);
                                             | label_57:
    0x00029fc8 lw v0, 8(s4)                  |         v0 = *((s4 + 2));
                                             |     }
    0x00029fcc lw v0, -0x7fe8(gp)            |     v0 = *((gp - 8186));
                                             |     if (s6 != v0) {
    0x00029fd0 bne s6, v0, 0x2aa28           |         goto label_72;
                                             |     }
    0x00029fd4 lw v0, 8(s6)                  |     v0 = *((s6 + 2));
    0x00029fd8 sw v0, 8(s4)                  |     *((s4 + 2)) = v0;
    0x00029fdc lw v0, 4(s6)                  |     v0 = *((s6 + 1));
    0x00029fe0 lw s4, 0x6c(sp)               |     s4 = *(var_6ch);
                                             |     if (v0 != 0) {
    0x00029fe4 bnel v0, zero, 0x2a000        |         
    0x00029fe8 lw v0, 0xc(s4)                |         v0 = *((s4 + 3));
                                             | label_62:
    0x00029fec lw v0, -0x7fe8(gp)            |         v0 = *((gp - 8186));
                                             |         if (s6 != v0) {
    0x00029ff0 bne s6, v0, 0x2aa64           |             goto label_73;
                                             |         }
    0x00029ff4 lw v0, 8(s6)                  |         v0 = *((s6 + 2));
    0x00029ff8 sw v0, 0xc(s4)                |         *((s4 + 3)) = v0;
                                             | label_37:
    0x00029ffc lw s4, 0x6c(sp)               |         s4 = *(var_6ch);
                                             |     }
                                             | label_36:
    0x0002a000 lw t9, -0x78f0(gp)            |     t9 = *((gp - 7740));
    0x0002a004 addiu a0, s4, -0x35e4         |     a0 = s4 + -0x35e4;
    0x0002a008 jalr t9                       |     t9 ();
    0x0002a00c lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x0002a010 lw t9, -0x7f18(gp)            |     t9 = *((gp - 8134));
    0x0002a014 lw a0, 0x1c(s6)               |     a0 = *((s6 + 7));
    0x0002a018 bal 0xfa9c                    |     sym_g_closure_unref ();
    0x0002a01c lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x0002a020 lw t9, -0x7a90(gp)            |     t9 = *((gp - 7844));
    0x0002a024 addiu a0, s4, -0x35e4         |     a0 = s4 + -0x35e4;
    0x0002a028 jalr t9                       |     t9 ();
    0x0002a02c lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x0002a030 move a1, s6                   |     a1 = s6;
    0x0002a034 addiu a0, zero, 0x24          |     a0 = 0x24;
    0x0002a038 lw t9, -0x7af0(gp)            |     t9 = *((gp - 7868));
    0x0002a03c move s6, s3                   |     s6 = s3;
    0x0002a040 jalr t9                       |     t9 ();
    0x0002a044 lw gp, 0x18(sp)               |     gp = *(var_18h);
                                             |     if (fp != 0) {
    0x0002a048 bnez fp, 0x29d10              |         goto label_24;
                                             |     }
                                             | label_135:
    0x0002a04c move s7, s3                   |     s7 = s3;
    0x0002a050 b 0x29d54                     |     goto label_25;
                                             | label_105:
    0x0002a054 addiu v0, zero, 2             |     v0 = 2;
    0x0002a058 addiu a1, zero, 1             |     a1 = 1;
    0x0002a05c sw v0, 0x34(sp)               |     *(var_34h) = v0;
    0x0002a060 jalr t9                       |     t9 ();
    0x0002a064 move s7, v0                   |     s7 = v0;
    0x0002a068 lw gp, 0x18(sp)               |     gp = *(var_18h);
                                             |     if (v0 == 0) {
    0x0002a06c beqz v0, 0x2a16c              |         goto label_144;
                                             |     }
    0x0002a070 lw v0, 0x6c(sp)               |     v0 = *(var_6ch);
    0x0002a074 addiu s3, sp, 0x28            |     s3 = sp + 0x28;
    0x0002a078 sw s4, 0x68(sp)               |     *(var_68h) = s4;
    0x0002a07c addiu s2, v0, -0x35e4         |     s2 = v0 + -0x35e4;
    0x0002a080 move s4, s7                   |     s4 = s7;
    0x0002a084 addiu s6, zero, -3            |     s6 = -3;
    0x0002a088 lw fp, 0xec(sp)               |     fp = *(arg_ech);
    0x0002a08c move s7, s3                   |     s7 = s3;
    0x0002a090 b 0x2a0bc                     |     
                                             |     while (v0 != 0) {
                                             |         if (v0 == fp) {
    0x0002a094 beql v0, fp, 0x2a0cc          |             goto label_145;
                                             |         }
    0x0002a098 lw s3, 0x14(s4)               |         s3 = *((s4 + 5));
    0x0002a09c lw a0, 0x28(s0)               |         a0 = *((s0 + 10));
                                             | label_26:
    0x0002a0a0 lw t9, -0x7b40(gp)            |         t9 = *((gp - 7888));
    0x0002a0a4 move a1, s4                   |         a1 = s4;
    0x0002a0a8 addiu a2, zero, 1             |         a2 = 1;
    0x0002a0ac jalr t9                       |         t9 ();
    0x0002a0b0 move s4, v0                   |         s4 = v0;
    0x0002a0b4 lw gp, 0x18(sp)               |         gp = *(var_18h);
                                             |         if (v0 == 0) {
    0x0002a0b8 beqz v0, 0x2a168              |             goto label_146;
                                             |         }
                                             | label_27:
    0x0002a0bc lw v0, 0x20(s4)               |         v0 = *((s4 + 8));
    0x0002a0c0 bnez v0, 0x2a094              |         
                                             |     }
    0x0002a0c4 nop                           |     
    0x0002a0c8 lw s3, 0x14(s4)               |     s3 = *((s4 + 5));
                                             | label_145:
    0x0002a0cc lw t9, -0x78f0(gp)            |     t9 = *((gp - 7740));
    0x0002a0d0 ori v0, s3, 2                 |     v0 = s3 | 2;
    0x0002a0d4 move a0, s2                   |     a0 = s2;
    0x0002a0d8 sw v0, 0x14(s4)               |     *((s4 + 5)) = v0;
    0x0002a0dc lw s5, 0x18(s4)               |     s5 = *((s4 + 6));
    0x0002a0e0 jalr t9                       |     t9 ();
    0x0002a0e4 lw a1, 0xc(s0)                |     a1 = *((s0 + 3));
    0x0002a0e8 lw a3, (s4)                   |     a3 = *(s4);
    0x0002a0ec lw a2, 0xf8(sp)               |     a2 = *(arg_f8h);
    0x0002a0f0 ext a1, a1, 0xa, 8            |     __asm ("ext a1, a1, 0xa, 8");
    0x0002a0f4 move t9, s5                   |     t9 = s5;
    0x0002a0f8 addiu a1, a1, 1               |     a1++;
    0x0002a0fc move a0, s7                   |     a0 = s7;
    0x0002a100 jalr t9                       |     t9 ();
    0x0002a104 lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x0002a108 move a0, s2                   |     a0 = s2;
    0x0002a10c lw t9, -0x7a90(gp)            |     t9 = *((gp - 7844));
    0x0002a110 move s5, v0                   |     s5 = v0;
    0x0002a114 jalr t9                       |     t9 ();
    0x0002a118 andi t0, s3, 2                |     t0 = s3 & 2;
    0x0002a11c lw gp, 0x18(sp)               |     gp = *(var_18h);
                                             |     if (t0 == 0) {
    0x0002a120 bnez t0, 0x2a130              |         
    0x0002a124 lw v0, 0x14(s4)               |         v0 = *((s4 + 5));
    0x0002a128 and v0, v0, s6                |         v0 &= s6;
    0x0002a12c sw v0, 0x14(s4)               |         *((s4 + 5)) = v0;
                                             |     }
    0x0002a130 lw a0, 0x28(s0)               |     a0 = *((s0 + 10));
                                             |     if (s5 != 0) {
    0x0002a134 bnez s5, 0x2a0a0              |         goto label_26;
                                             |     }
    0x0002a138 lw t9, -0x7968(gp)            |     t9 = *((gp - 7770));
    0x0002a13c move a1, s4                   |     a1 = s4;
    0x0002a140 jalr t9                       |     t9 ();
    0x0002a144 lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x0002a148 lw a0, 0x28(s0)               |     a0 = *((s0 + 10));
    0x0002a14c move a1, s4                   |     a1 = s4;
    0x0002a150 lw t9, -0x7b40(gp)            |     t9 = *((gp - 7888));
    0x0002a154 addiu a2, zero, 1             |     a2 = 1;
    0x0002a158 jalr t9                       |     t9 ();
    0x0002a15c move s4, v0                   |     s4 = v0;
    0x0002a160 lw gp, 0x18(sp)               |     gp = *(var_18h);
                                             |     if (v0 != 0) {
    0x0002a164 bnez v0, 0x2a0bc              |         goto label_27;
                                             |     }
                                             | label_146:
    0x0002a168 lw s4, 0x68(sp)               |     s4 = *(var_68h);
                                             | label_144:
    0x0002a16c lw v1, 0x34(sp)               |     v1 = *(var_34h);
    0x0002a170 addiu v0, zero, 3             |     v0 = 3;
                                             |     if (v1 != v0) {
    0x0002a174 bne v1, v0, 0x2968c           |         goto label_28;
                                             |     }
    0x0002a178 nop                           |     
    0x0002a17c b 0x2990c                     |     goto label_29;
    0x0002a180 nop                           |     
                                             | label_100:
    0x0002a184 sw v0, 0x14(s4)               |     *((s4 + 5)) = v0;
    0x0002a188 b 0x29590                     |     goto label_30;
                                             | label_116:
    0x0002a18c lw a2, 0xc(s0)                |     a2 = *((s0 + 3));
    0x0002a190 lw t9, -0x7ea8(gp)            |     t9 = *((gp - 8106));
    0x0002a194 ext a2, a2, 0xa, 8            |     __asm ("ext a2, a2, 0xa, 8");
    0x0002a198 lw a3, 0xf8(sp)               |     a3 = *(arg_f8h);
    0x0002a19c lw a0, 0x78(sp)               |     a0 = *(var_78h);
    0x0002a1a0 sw s2, 0x10(sp)               |     *(var_10h) = s2;
    0x0002a1a4 addiu a2, a2, 1               |     a2++;
    0x0002a1a8 move a1, zero                 |     a1 = 0;
    0x0002a1ac bal 0x10508                   |     sym_g_closure_invoke ();
    0x0002a1b0 lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x0002a1b4 b 0x298e4                     |     goto label_31;
                                             | label_130:
    0x0002a1b8 sw v0, 0x14(s4)               |     *((s4 + 5)) = v0;
    0x0002a1bc b 0x29c70                     |     goto label_32;
                                             | label_41:
    0x0002a1c0 lw fp, 0xb0(sp)               |     fp = *(var_b0h);
    0x0002a1c4 lw s0, 0xe8(sp)               |     s0 = *(arg_e8h);
    0x0002a1c8 lw s2, 0xb4(sp)               |     s2 = *(var_b4h);
                                             | label_40:
    0x0002a1cc lw s5, 0x6c(sp)               |     s5 = *(var_6ch);
                                             | label_39:
    0x0002a1d0 lw t9, -0x78f0(gp)            |     t9 = *((gp - 7740));
    0x0002a1d4 addiu a0, s5, -0x35e4         |     a0 = s5 + -0x35e4;
    0x0002a1d8 jalr t9                       |     t9 ();
    0x0002a1dc lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x0002a1e0 lw t9, -0x7f18(gp)            |     t9 = *((gp - 8134));
    0x0002a1e4 lw a0, 0x1c(s3)               |     a0 = *((s3 + 7));
    0x0002a1e8 bal 0xfa9c                    |     sym_g_closure_unref ();
    0x0002a1ec lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x0002a1f0 lw t9, -0x7a90(gp)            |     t9 = *((gp - 7844));
    0x0002a1f4 addiu a0, s5, -0x35e4         |     a0 = s5 + -0x35e4;
    0x0002a1f8 jalr t9                       |     t9 ();
    0x0002a1fc lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x0002a200 move a1, s3                   |     a1 = s3;
    0x0002a204 lw t9, -0x7af0(gp)            |     t9 = *((gp - 7868));
    0x0002a208 addiu a0, zero, 0x24          |     a0 = 0x24;
    0x0002a20c jalr t9                       |     t9 ();
    0x0002a210 lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x0002a214 b 0x29840                     |     goto label_12;
                                             | label_136:
    0x0002a218 addiu s6, s6, -1              |     s6 += -1;
    0x0002a21c sw s6, 0x14(s4)               |     *((s4 + 5)) = s6;
                                             |     if (s6 != 0) {
    0x0002a220 bnez s6, 0x29d54              |         goto label_25;
                                             |     }
    0x0002a224 lw v0, 4(s4)                  |     v0 = *((s4 + 1));
    0x0002a228 lw a0, 8(s4)                  |     a0 = *((s4 + 2));
                                             |     if (v0 != 0) {
    0x0002a22c beqz v0, 0x2a238              |         
    0x0002a230 sw a0, 8(v0)                  |         *((v0 + 2)) = a0;
    0x0002a234 lw a0, 8(s4)                  |         a0 = *((s4 + 2));
                                             |     }
    0x0002a238 lui a1, 1                     |     a1 = g_closure_sink;
                                             |     if (a0 == 0) {
    0x0002a23c beqz a0, 0x2aee0              |         goto label_147;
                                             |     }
    0x0002a240 lw v0, 4(s4)                  |     v0 = *((s4 + 1));
    0x0002a244 sw v0, 4(a0)                  |     *((a0 + 1)) = v0;
    0x0002a248 lw v0, 0x18(s4)               |     v0 = *((s4 + 6));
    0x0002a24c and v0, v0, a1                |     v0 &= a1;
    0x0002a250 lw a0, 4(s4)                  |     a0 = *((s4 + 1));
                                             |     if (v0 != 0) {
    0x0002a254 bnez v0, 0x2ab6c              |         goto label_148;
                                             |     }
    0x0002a258 lw v0, 0x88(sp)               |     v0 = *(var_88h);
                                             |     if (a0 != 0) {
    0x0002a25c beqz a0, 0x2a274              |         
    0x0002a260 lw v0, 0x18(a0)               |         v0 = *((a0 + 6));
    0x0002a264 and a1, v0, a1                |         a1 = v0 & a1;
    0x0002a268 lw s2, 0x6c(sp)               |         s2 = *(var_6ch);
                                             |         if (a1 == 0) {
    0x0002a26c beqz a1, 0x2ab78              |             goto label_64;
                                             |         }
    0x0002a270 lw v0, 0x88(sp)               |         v0 = *(var_88h);
                                             |     }
    0x0002a274 lw t9, -0x793c(gp)            |     t9 = *((gp - 7759));
    0x0002a278 lw a1, 0xf0(sp)               |     a1 = *(arg_f0h);
    0x0002a27c lw a0, -0x35d4(v0)            |     a0 = *((v0 - 3445));
    0x0002a280 jalr t9                       |     t9 ();
    0x0002a284 move t0, v0                   |     t0 = v0;
    0x0002a288 lw v0, 0x84(sp)               |     v0 = *(var_84h);
    0x0002a28c lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x0002a290 sw v0, 0x58(sp)               |     *(var_58h) = v0;
                                             |     if (t0 == 0) {
    0x0002a294 beqz t0, 0x2abd8              |         goto label_149;
                                             |     }
    0x0002a298 lw v0, 0x94(sp)               |     v0 = *(var_94h);
    0x0002a29c lw fp, (t0)                   |     fp = *(t0);
    0x0002a2a0 lw t1, -0x3f24(v0)            |     t1 = *((v0 - 4041));
    0x0002a2a4 lw v0, 0x98(sp)               |     v0 = *(var_98h);
    0x0002a2a8 lw t9, 4(v0)                  |     t9 = *((v0 + 1));
                                             |     if (fp == 0) {
    0x0002a2ac beqz fp, 0x2abd8              |         goto label_149;
                                             |     }
    0x0002a2b0 move a3, zero                 |     a3 = 0;
    0x0002a2b4 addiu s3, sp, 0x58            |     s3 = sp + 0x58;
    0x0002a2b8 b 0x2a2cc                     |     
                                             |     while (v0 >= 0) {
    0x0002a2bc addiu a3, s2, 1               |         a3 = s2 + 1;
                                             | label_33:
    0x0002a2c0 sltu v0, a3, fp               |         v0 = (a3 < fp) ? 1 : 0;
                                             |         if (v0 == 0) {
    0x0002a2c4 beql v0, zero, 0x2abdc        |             goto label_150;
                                             |         }
    0x0002a2c8 lw v0, 4(s4)                  |         v0 = *((s4 + 1));
    0x0002a2cc addu s2, a3, fp               |         s2 = a3 + fp;
    0x0002a2d0 srl s2, s2, 1                 |         s2 >>= 1;
    0x0002a2d4 mul v0, t1, s2                |         __asm ("mul v0, t1, s2");
    0x0002a2d8 sw a3, 0xb0(sp)               |         *(var_b0h) = a3;
    0x0002a2dc sw t0, 0xac(sp)               |         *(var_ach) = t0;
    0x0002a2e0 sw t1, 0xa4(sp)               |         *(var_a4h) = t1;
    0x0002a2e4 move a0, s3                   |         a0 = s3;
    0x0002a2e8 addu s5, v0, t0               |         s5 = v0 + t0;
    0x0002a2ec addiu s5, s5, 8               |         s5 += 8;
    0x0002a2f0 move a1, s5                   |         a1 = s5;
    0x0002a2f4 sw t9, 0x68(sp)               |         *(var_68h) = t9;
    0x0002a2f8 jalr t9                       |         t9 ();
    0x0002a2fc lw gp, 0x18(sp)               |         gp = *(var_18h);
                                             |         if (v0 == 0) {
    0x0002a300 beqz v0, 0x2abd0              |             goto label_151;
                                             |         }
    0x0002a304 lw t9, 0x68(sp)               |         t9 = *(var_68h);
    0x0002a308 lw t1, 0xa4(sp)               |         t1 = *(var_a4h);
    0x0002a30c lw t0, 0xac(sp)               |         t0 = *(var_ach);
    0x0002a310 lw a3, 0xb0(sp)               |         a3 = *(var_b0h);
    0x0002a314 bgez v0, 0x2a2bc              |         
                                             |     }
    0x0002a318 move fp, s2                   |     fp = s2;
    0x0002a31c b 0x2a2c0                     |     goto label_33;
                                             | label_103:
    0x0002a320 lw v0, 0xc(s0)                |     v0 = *((s0 + 3));
    0x0002a324 addiu v1, zero, 4             |     v1 = 4;
    0x0002a328 ext v0, v0, 3, 1              |     __asm ("ext v0, v0, 3, 1");
    0x0002a32c sw v1, 0x30(sp)               |     *(var_30h) = v1;
                                             |     if (v0 == 0) {
    0x0002a330 beqz v0, 0x2a478              |         goto label_152;
                                             |     }
    0x0002a334 addiu v0, zero, 1             |     v0 = 1;
    0x0002a338 sw v0, 0x8c(sp)               |     *(var_8ch) = v0;
    0x0002a33c b 0x29880                     |     goto label_34;
                                             | label_110:
    0x0002a340 sw v0, 0x14(s7)               |     *((s7 + 5)) = v0;
    0x0002a344 b 0x297c4                     |     goto label_35;
                                             | label_140:
    0x0002a348 lw s4, 0x6c(sp)               |     s4 = *(var_6ch);
                                             |     if (a0 != 0) {
    0x0002a34c bnez a0, 0x2a000              |         goto label_36;
                                             |     }
    0x0002a350 lw v0, 0x88(sp)               |     v0 = *(var_88h);
                                             | label_58:
    0x0002a354 lw t9, -0x793c(gp)            |     t9 = *((gp - 7759));
    0x0002a358 lw a1, 0xf0(sp)               |     a1 = *(arg_f0h);
    0x0002a35c lw a0, -0x35d4(v0)            |     a0 = *((v0 - 3445));
    0x0002a360 jalr t9                       |     t9 ();
    0x0002a364 lw v1, 0x84(sp)               |     v1 = *(var_84h);
    0x0002a368 lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x0002a36c sw v1, 0x58(sp)               |     *(var_58h) = v1;
                                             |     if (v0 == 0) {
    0x0002a370 beqz v0, 0x29ffc              |         goto label_37;
                                             |     }
    0x0002a374 lw v1, 0x94(sp)               |     v1 = *(var_94h);
    0x0002a378 lw t1, (v0)                   |     t1 = *(v0);
    0x0002a37c lw s4, -0x3f24(v1)            |     s4 = *((v1 - 4041));
    0x0002a380 lw v1, 0x98(sp)               |     v1 = *(var_98h);
    0x0002a384 lw v1, 4(v1)                  |     v1 = *((v1 + 1));
    0x0002a388 sw v1, 0x68(sp)               |     *(var_68h) = v1;
                                             |     if (t1 == 0) {
    0x0002a38c beqz t1, 0x29ffc              |         goto label_37;
                                             |     }
    0x0002a390 addiu t3, sp, 0x58            |     t3 = sp + 0x58;
    0x0002a394 sw s3, 0xa4(sp)               |     *(var_a4h) = s3;
    0x0002a398 sw s6, 0xb0(sp)               |     *(var_b0h) = s6;
    0x0002a39c sw s0, 0xe8(sp)               |     *(arg_e8h) = s0;
    0x0002a3a0 move s6, s7                   |     s6 = s7;
    0x0002a3a4 sw fp, 0xac(sp)               |     *(var_ach) = fp;
    0x0002a3a8 move s3, v0                   |     s3 = v0;
    0x0002a3ac move s0, t1                   |     s0 = t1;
    0x0002a3b0 move s7, t3                   |     s7 = t3;
    0x0002a3b4 sw s2, 0xb4(sp)               |     *(var_b4h) = s2;
    0x0002a3b8 b 0x2a3c8                     |     
                                             |     while (v0 >= 0) {
                                             | label_38:
    0x0002a3bc sltu v0, s6, s0               |         v0 = (s6 < s0) ? 1 : 0;
                                             |         if (v0 == 0) {
    0x0002a3c0 beql v0, zero, 0x2ae00        |             goto label_153;
                                             |         }
    0x0002a3c4 lw s3, 0xa4(sp)               |         s3 = *(var_a4h);
    0x0002a3c8 addu v1, s6, s0               |         v1 = s6 + s0;
    0x0002a3cc srl s2, v1, 1                 |         s2 = v1 >> 1;
    0x0002a3d0 mul v0, s4, s2                |         __asm ("mul v0, s4, s2");
    0x0002a3d4 lw t9, 0x68(sp)               |         t9 = *(var_68h);
    0x0002a3d8 move a0, s7                   |         a0 = s7;
    0x0002a3dc addu a2, v0, s3               |         a2 = v0 + s3;
    0x0002a3e0 addiu fp, a2, 8               |         fp = a2 + 8;
    0x0002a3e4 move a1, fp                   |         a1 = fp;
    0x0002a3e8 jalr t9                       |         t9 ();
    0x0002a3ec lw gp, 0x18(sp)               |         gp = *(var_18h);
                                             |         if (v0 == 0) {
    0x0002a3f0 beqz v0, 0x2aa98              |             goto label_154;
                                             |         }
    0x0002a3f4 bgezl v0, 0x2a3bc             |         
                                             |     }
    0x0002a3f8 addiu s6, s2, 1               |     s6 = s2 + 1;
    0x0002a3fc move s0, s2                   |     s0 = s2;
    0x0002a400 b 0x2a3bc                     |     goto label_38;
                                             | label_138:
    0x0002a404 move fp, zero                 |     fp = 0;
    0x0002a408 sw v0, 0x8c(sp)               |     *(var_8ch) = v0;
    0x0002a40c b 0x29ce4                     |     goto label_23;
                                             | label_114:
    0x0002a410 move s4, s7                   |     s4 = s7;
    0x0002a414 b 0x29914                     |     goto label_17;
                                             | label_117:
    0x0002a418 lw t9, -0x7f38(gp)            |     t9 = *((gp - 8142));
    0x0002a41c addiu s5, sp, 0x40            |     s5 = sp + 0x40;
    0x0002a420 addiu a1, zero, -2            |     a1 = -2;
    0x0002a424 and a1, v0, a1                |     a1 = v0 & a1;
    0x0002a428 move a0, s5                   |     a0 = s5;
    0x0002a42c bal 0x46024                   |     sym_g_value_init ();
    0x0002a430 lw v0, 0x14(s0)               |     v0 = *((s0 + 5));
    0x0002a434 lw gp, 0x18(sp)               |     gp = *(var_18h);
                                             |     if (v0 == s3) {
    0x0002a438 beq v0, s3, 0x2a7dc           |         goto label_155;
                                             |     }
    0x0002a43c lw a2, 0xc(s0)                |     a2 = *((s0 + 3));
    0x0002a440 lw t9, -0x7ea8(gp)            |     t9 = *((gp - 8106));
    0x0002a444 ext a2, a2, 0xa, 8            |     __asm ("ext a2, a2, 0xa, 8");
    0x0002a448 lw a3, 0xf8(sp)               |     a3 = *(arg_f8h);
    0x0002a44c lw a0, 0x78(sp)               |     a0 = *(var_78h);
    0x0002a450 sw s2, 0x10(sp)               |     *(var_10h) = s2;
    0x0002a454 addiu a2, a2, 1               |     a2++;
    0x0002a458 move a1, s5                   |     a1 = s5;
    0x0002a45c bal 0x10508                   |     sym_g_closure_invoke ();
    0x0002a460 lw gp, 0x18(sp)               |     gp = *(var_18h);
                                             | label_54:
    0x0002a464 lw t9, -0x7f30(gp)            |     t9 = *((gp - 8140));
    0x0002a468 move a0, s5                   |     a0 = s5;
    0x0002a46c bal 0x462ac                   |     sym_g_value_unset ();
    0x0002a470 lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x0002a474 b 0x298e4                     |     goto label_31;
                                             | label_152:
    0x0002a478 addiu v0, zero, 1             |     v0 = 1;
    0x0002a47c sw v0, 0x8c(sp)               |     *(var_8ch) = v0;
                                             | label_115:
    0x0002a480 lw v0, 0xa0(sp)               |     v0 = *(var_a0h);
                                             |     if (s4 != 0) {
    0x0002a484 beqz s4, 0x2a4a4              |         
    0x0002a488 lw s0, 0x14(s4)               |         s0 = *((s4 + 5));
    0x0002a48c lw a2, -0x7fe8(gp)            |         a2 = *((gp - 8186));
                                             |         if (s0 == 0) {
    0x0002a490 beqz s0, 0x2a808              |             goto label_156;
                                             |         }
    0x0002a494 addiu s0, s0, -1              |         s0 += -1;
    0x0002a498 sw s0, 0x14(s4)               |         *((s4 + 5)) = s0;
                                             |         if (s0 == 0) {
    0x0002a49c beqz s0, 0x2a880              |             goto label_157;
                                             |         }
                                             | label_55:
    0x0002a4a0 lw v0, 0xa0(sp)               |         v0 = *(var_a0h);
                                             |     }
    0x0002a4a4 lw v1, -0x35d8(v0)            |     v1 = *((v0 - 3446));
    0x0002a4a8 lw v0, 0xa8(sp)               |     v0 = *(var_a8h);
                                             |     if (v1 == 0) {
    0x0002a4ac beqz v1, 0x2b168              |         goto label_158;
                                             |     }
    0x0002a4b0 lw a0, 0xa8(sp)               |     a0 = *(var_a8h);
                                             |     if (v0 == v1) {
    0x0002a4b4 beq v0, v1, 0x2aa88           |         goto label_159;
                                             |     }
                                             |     do {
    0x0002a4b8 lw v0, (v1)                   |         v0 = *(v1);
    0x0002a4bc lw a3, -0x7fe8(gp)            |         a3 = *((gp - 8186));
                                             |         if (v0 == 0) {
    0x0002a4c0 beqz v0, 0x2b16c              |             goto label_160;
                                             |         }
    0x0002a4c4 move v1, v0                   |         v1 = v0;
    0x0002a4c8 bnel a0, v0, 0x2a4b8          |         
                                             |     } while (a0 == v0);
    0x0002a4cc lw v0, 0x20(sp)               |     v0 = *(var_20h);
    0x0002a4d0 sw v0, (v1)                   |     *(v1) = v0;
                                             | label_61:
    0x0002a4d4 lw v0, 0x6c(sp)               |     v0 = *(var_6ch);
    0x0002a4d8 lw t9, -0x78f0(gp)            |     t9 = *((gp - 7740));
    0x0002a4dc addiu a0, v0, -0x35e4         |     a0 = v0 + -0x35e4;
    0x0002a4e0 jalr t9                       |     t9 ();
    0x0002a4e4 lw v0, 0x80(sp)               |     v0 = *(var_80h);
    0x0002a4e8 lw gp, 0x18(sp)               |     gp = *(var_18h);
                                             |     if (v0 != 0) {
    0x0002a4ec beqz v0, 0x2a4fc              |         
    0x0002a4f0 lw t9, -0x7f30(gp)            |         t9 = *((gp - 8140));
    0x0002a4f4 addiu a0, sp, 0x40            |         a0 = sp + 0x40;
    0x0002a4f8 bal 0x462ac                   |         sym_g_value_unset ();
                                             |     }
    0x0002a4fc lw ra, 0xe4(sp)               |     ra = *(var_e4h);
    0x0002a500 lw v0, 0x8c(sp)               |     v0 = *(var_8ch);
    0x0002a504 lw fp, 0xe0(sp)               |     fp = *(var_e0h);
    0x0002a508 lw s7, 0xdc(sp)               |     s7 = *(var_dch);
    0x0002a50c lw s6, 0xd8(sp)               |     s6 = *(var_d8h);
    0x0002a510 lw s5, 0xd4(sp)               |     s5 = *(var_d4h);
    0x0002a514 lw s4, 0xd0(sp)               |     s4 = *(var_d0h);
    0x0002a518 lw s3, 0xcc(sp)               |     s3 = *(var_cch);
    0x0002a51c lw s2, 0xc8(sp)               |     s2 = *(var_c8h);
    0x0002a520 lw s1, 0xc4(sp)               |     s1 = *(var_c4h);
    0x0002a524 lw s0, 0xc0(sp)               |     s0 = *(var_c0h);
    0x0002a528 addiu sp, sp, 0xe8            |     
    0x0002a52c jr ra                         |     return v0;
                                             | label_123:
    0x0002a530 lw s5, 0x6c(sp)               |     s5 = *(var_6ch);
                                             |     if (a0 != 0) {
    0x0002a534 bnez a0, 0x2a1d0              |         goto label_39;
                                             |     }
    0x0002a538 lw v0, 0x88(sp)               |     v0 = *(var_88h);
                                             | label_59:
    0x0002a53c lw t9, -0x793c(gp)            |     t9 = *((gp - 7759));
    0x0002a540 lw a1, 0xf0(sp)               |     a1 = *(arg_f0h);
    0x0002a544 lw a0, -0x35d4(v0)            |     a0 = *((v0 - 3445));
    0x0002a548 jalr t9                       |     t9 ();
    0x0002a54c lw v1, 0x84(sp)               |     v1 = *(var_84h);
    0x0002a550 lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x0002a554 sw v1, 0x58(sp)               |     *(var_58h) = v1;
                                             |     if (v0 == 0) {
    0x0002a558 beqz v0, 0x2a1cc              |         goto label_40;
                                             |     }
    0x0002a55c lw a0, 0x98(sp)               |     a0 = *(var_98h);
    0x0002a560 lw v1, 0x94(sp)               |     v1 = *(var_94h);
    0x0002a564 lw t1, (v0)                   |     t1 = *(v0);
    0x0002a568 lw a0, 4(a0)                  |     a0 = *((a0 + 1));
    0x0002a56c lw v1, -0x3f24(v1)            |     v1 = *((v1 - 4041));
    0x0002a570 sw a0, 0xa4(sp)               |     *(var_a4h) = a0;
                                             |     if (t1 == 0) {
    0x0002a574 beqz t1, 0x2a1cc              |         goto label_40;
                                             |     }
    0x0002a578 sw s3, 0xac(sp)               |     *(var_ach) = s3;
    0x0002a57c sw s0, 0xe8(sp)               |     *(arg_e8h) = s0;
    0x0002a580 sw s2, 0xb4(sp)               |     *(var_b4h) = s2;
    0x0002a584 addiu s5, sp, 0x58            |     s5 = sp + 0x58;
    0x0002a588 sw fp, 0xb0(sp)               |     *(var_b0h) = fp;
    0x0002a58c move s3, s7                   |     s3 = s7;
    0x0002a590 move s6, t1                   |     s6 = t1;
    0x0002a594 move s0, v0                   |     s0 = v0;
    0x0002a598 move s2, v1                   |     s2 = v1;
    0x0002a59c b 0x2a5ac                     |     goto label_161;
                                             | label_42:
    0x0002a5a0 sltu v0, s3, s6               |     v0 = (s3 < s6) ? 1 : 0;
                                             |     if (v0 == 0) {
    0x0002a5a4 beql v0, zero, 0x2a1c0        |         goto label_41;
                                             |     }
    0x0002a5a8 lw s3, 0xac(sp)               |     s3 = *(var_ach);
                                             | label_161:
    0x0002a5ac addu v1, s3, s6               |     v1 = s3 + s6;
    0x0002a5b0 srl s7, v1, 1                 |     s7 = v1 >> 1;
    0x0002a5b4 mul v0, s2, s7                |     __asm ("mul v0, s2, s7");
    0x0002a5b8 lw t9, 0xa4(sp)               |     t9 = *(var_a4h);
    0x0002a5bc move a0, s5                   |     a0 = s5;
    0x0002a5c0 addu a2, v0, s0               |     a2 = v0 + s0;
    0x0002a5c4 addiu fp, a2, 8               |     fp = a2 + 8;
    0x0002a5c8 move a1, fp                   |     a1 = fp;
    0x0002a5cc jalr t9                       |     t9 ();
    0x0002a5d0 lw gp, 0x18(sp)               |     gp = *(var_18h);
                                             |     if (v0 == 0) {
    0x0002a5d4 beqz v0, 0x2ad50              |         goto label_162;
                                             |     }
                                             |     if (v0 >= 0) {
    0x0002a5d8 bgezl v0, 0x2a5a0             |         goto label_42;
                                             |     }
    0x0002a5dc addiu s3, s7, 1               |     s3 = s7 + 1;
    0x0002a5e0 move s6, s7                   |     s6 = s7;
    0x0002a5e4 b 0x2a5a0                     |     goto label_42;
                                             | label_109:
    0x0002a5e8 lw v1, 0xc(s0)                |     v1 = *((s0 + 3));
    0x0002a5ec sw v0, 0x8c(sp)               |     *(var_8ch) = v0;
    0x0002a5f0 ext v0, v1, 1, 9              |     __asm ("ext v0, v1, 1, 9");
                                             | label_107:
    0x0002a5f4 move s4, zero                 |     s4 = 0;
    0x0002a5f8 b 0x29864                     |     goto label_43;
                                             | label_104:
    0x0002a5fc sw v0, 0x8c(sp)               |     *(var_8ch) = v0;
    0x0002a600 b 0x2990c                     |     goto label_29;
                                             | label_121:
    0x0002a604 move fp, zero                 |     fp = 0;
    0x0002a608 sw v0, 0x8c(sp)               |     *(var_8ch) = v0;
    0x0002a60c b 0x2981c                     |     goto label_14;
                                             | label_139:
    0x0002a610 lw v0, 0x88(sp)               |     v0 = *(var_88h);
    0x0002a614 lw t9, -0x793c(gp)            |     t9 = *((gp - 7759));
    0x0002a618 lw a1, 0xf0(sp)               |     a1 = *(arg_f0h);
    0x0002a61c lw a0, -0x35d4(v0)            |     a0 = *((v0 - 3445));
    0x0002a620 jalr t9                       |     t9 ();
    0x0002a624 lw v1, 0x84(sp)               |     v1 = *(var_84h);
    0x0002a628 lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x0002a62c sw v1, 0x58(sp)               |     *(var_58h) = v1;
                                             |     if (v0 == 0) {
    0x0002a630 beqz v0, 0x2a6cc              |         goto label_49;
                                             |     }
    0x0002a634 lw v1, 0x94(sp)               |     v1 = *(var_94h);
    0x0002a638 lw t2, (v0)                   |     t2 = *(v0);
    0x0002a63c lw s4, -0x3f24(v1)            |     s4 = *((v1 - 4041));
    0x0002a640 lw v1, 0x98(sp)               |     v1 = *(var_98h);
    0x0002a644 lw v1, 4(v1)                  |     v1 = *((v1 + 1));
    0x0002a648 sw v1, 0x68(sp)               |     *(var_68h) = v1;
                                             |     if (t2 == 0) {
    0x0002a64c beqz t2, 0x2a6cc              |         goto label_49;
                                             |     }
    0x0002a650 addiu t3, sp, 0x58            |     t3 = sp + 0x58;
    0x0002a654 sw s3, 0xa4(sp)               |     *(var_a4h) = s3;
    0x0002a658 sw s6, 0xb0(sp)               |     *(var_b0h) = s6;
    0x0002a65c sw s2, 0xb4(sp)               |     *(var_b4h) = s2;
    0x0002a660 sw fp, 0xac(sp)               |     *(var_ach) = fp;
    0x0002a664 move s2, s7                   |     s2 = s7;
    0x0002a668 move s3, v0                   |     s3 = v0;
    0x0002a66c move s6, t2                   |     s6 = t2;
    0x0002a670 sw s0, 0xe8(sp)               |     *(arg_e8h) = s0;
    0x0002a674 move s7, t3                   |     s7 = t3;
    0x0002a678 b 0x2a688                     |     goto label_163;
                                             | label_45:
    0x0002a67c sltu v0, s2, s6               |     v0 = (s2 < s6) ? 1 : 0;
    0x0002a680 lw v0, -0x7fe8(gp)            |     v0 = *((gp - 8186));
                                             |     if (v0 == 0) {
    0x0002a684 beqz v0, 0x2a6d0              |         goto label_50;
                                             |     }
                                             | label_163:
    0x0002a688 addu v1, s2, s6               |     v1 = s2 + s6;
                                             | label_46:
    0x0002a68c srl s0, v1, 1                 |     s0 = v1 >> 1;
    0x0002a690 mul v0, s4, s0                |     __asm ("mul v0, s4, s0");
    0x0002a694 lw t9, 0x68(sp)               |     t9 = *(var_68h);
    0x0002a698 move a0, s7                   |     a0 = s7;
    0x0002a69c addu a2, v0, s3               |     a2 = v0 + s3;
    0x0002a6a0 addiu fp, a2, 8               |     fp = a2 + 8;
    0x0002a6a4 move a1, fp                   |     a1 = fp;
    0x0002a6a8 jalr t9                       |     t9 ();
    0x0002a6ac lw gp, 0x18(sp)               |     gp = *(var_18h);
                                             |     if (v0 == 0) {
    0x0002a6b0 beqz v0, 0x29f78              |         goto label_44;
                                             |     }
                                             |     if (v0 >= 0) {
    0x0002a6b4 bgezl v0, 0x2a67c             |         goto label_45;
                                             |     }
    0x0002a6b8 addiu s2, s0, 1               |     s2 = s0 + 1;
    0x0002a6bc move s6, s0                   |     s6 = s0;
    0x0002a6c0 sltu v0, s2, s6               |     v0 = (s2 < s6) ? 1 : 0;
    0x0002a6c4 addu v1, s2, s6               |     v1 = s2 + s6;
                                             |     if (v0 != 0) {
    0x0002a6c8 bnez v0, 0x2a68c              |         goto label_46;
                                             |     }
                                             | label_49:
    0x0002a6cc lw v0, -0x7fe8(gp)            |     v0 = *((gp - 8186));
                                             | label_50:
    0x0002a6d0 lw a3, -0x7fe8(gp)            |     a3 = *((gp - 8186));
    0x0002a6d4 addiu v0, v0, 0x62c0          |     v0 += 0x62c0;
    0x0002a6d8 lw t9, -0x796c(gp)            |     t9 = *((gp - 7771));
    0x0002a6dc sw v0, 0x10(sp)               |     *(var_10h) = v0;
    0x0002a6e0 addiu a3, a3, 0x7750          |     a3 += 0x7750;
    0x0002a6e4 addiu a2, zero, 0x29c         |     a2 = aav.0x0000029c;
                                             | label_60:
    0x0002a6e8 lw a1, -0x7fe8(gp)            |     a1 = *((gp - 8186));
    0x0002a6ec lw a0, -0x7fe8(gp)            |     a0 = *((gp - 8186));
    0x0002a6f0 addiu a1, a1, 0x6218          |     a1 += 0x6218;
    0x0002a6f4 addiu a0, a0, 0x1944          |     a0 += 0x1944;
    0x0002a6f8 jalr t9                       |     t9 ();
                                             | label_93:
    0x0002a6fc lw v0, 0x58(sp)               |     v0 = *(var_58h);
                                             |     if (fp != 0) {
    0x0002a700 bnez fp, 0x29448              |         goto label_47;
                                             |     }
    0x0002a704 addiu s6, sp, 0x58            |     s6 = sp + 0x58;
    0x0002a708 b 0x292f4                     |     goto label_48;
                                             | label_122:
    0x0002a70c lw v0, 0x88(sp)               |     v0 = *(var_88h);
    0x0002a710 lw t9, -0x793c(gp)            |     t9 = *((gp - 7759));
    0x0002a714 lw a1, 0xf0(sp)               |     a1 = *(arg_f0h);
    0x0002a718 lw a0, -0x35d4(v0)            |     a0 = *((v0 - 3445));
    0x0002a71c jalr t9                       |     t9 ();
    0x0002a720 move s6, v0                   |     s6 = v0;
    0x0002a724 lw v0, 0x84(sp)               |     v0 = *(var_84h);
    0x0002a728 lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x0002a72c sw v0, 0x58(sp)               |     *(var_58h) = v0;
                                             |     if (s6 == 0) {
    0x0002a730 beqz s6, 0x2a6cc              |         goto label_49;
                                             |     }
    0x0002a734 lw v1, 0x98(sp)               |     v1 = *(var_98h);
    0x0002a738 lw v0, 0x94(sp)               |     v0 = *(var_94h);
    0x0002a73c lw t2, (s6)                   |     t2 = *(s6);
    0x0002a740 lw v1, 4(v1)                  |     v1 = *((v1 + 1));
    0x0002a744 lw v0, -0x3f24(v0)            |     v0 = *((v0 - 4041));
    0x0002a748 sw v1, 0xa4(sp)               |     *(var_a4h) = v1;
                                             |     if (t2 == 0) {
    0x0002a74c beqz t2, 0x2a6cc              |         goto label_49;
                                             |     }
    0x0002a750 addiu s5, sp, 0x58            |     s5 = sp + 0x58;
    0x0002a754 sw s3, 0xac(sp)               |     *(var_ach) = s3;
    0x0002a758 sw s0, 0xe8(sp)               |     *(arg_e8h) = s0;
    0x0002a75c sw fp, 0xb0(sp)               |     *(var_b0h) = fp;
    0x0002a760 move s0, s7                   |     s0 = s7;
    0x0002a764 move s3, t2                   |     s3 = t2;
    0x0002a768 move s7, s5                   |     s7 = s5;
    0x0002a76c sw s2, 0xb4(sp)               |     *(var_b4h) = s2;
    0x0002a770 move s5, v0                   |     s5 = v0;
    0x0002a774 b 0x2a784                     |     goto label_164;
                                             | label_51:
    0x0002a778 sltu v0, s0, s3               |     v0 = (s0 < s3) ? 1 : 0;
    0x0002a77c lw v0, -0x7fe8(gp)            |     v0 = *((gp - 8186));
                                             |     if (v0 == 0) {
    0x0002a780 beqz v0, 0x2a6d0              |         goto label_50;
                                             |     }
                                             | label_164:
    0x0002a784 addu v1, s0, s3               |     v1 = s0 + s3;
    0x0002a788 srl s2, v1, 1                 |     s2 = v1 >> 1;
    0x0002a78c mul v0, s5, s2                |     __asm ("mul v0, s5, s2");
    0x0002a790 lw t9, 0xa4(sp)               |     t9 = *(var_a4h);
    0x0002a794 move a0, s7                   |     a0 = s7;
    0x0002a798 addu a2, v0, s6               |     a2 = v0 + s6;
    0x0002a79c addiu fp, a2, 8               |     fp = a2 + 8;
    0x0002a7a0 move a1, fp                   |     a1 = fp;
    0x0002a7a4 jalr t9                       |     t9 ();
    0x0002a7a8 lw gp, 0x18(sp)               |     gp = *(var_18h);
                                             |     if (v0 == 0) {
    0x0002a7ac beqz v0, 0x2a9cc              |         goto label_165;
                                             |     }
                                             |     if (v0 >= 0) {
    0x0002a7b0 bgezl v0, 0x2a778             |         goto label_51;
                                             |     }
    0x0002a7b4 addiu s0, s2, 1               |     s0 = s2 + 1;
    0x0002a7b8 move s3, s2                   |     s3 = s2;
    0x0002a7bc b 0x2a778                     |     goto label_51;
                                             | label_91:
    0x0002a7c0 lw v0, 0xf0(sp)               |     v0 = *(arg_f0h);
                                             |     if (fp == 0) {
    0x0002a7c4 beqz fp, 0x29264              |         goto label_52;
                                             |     }
    0x0002a7c8 lw v0, 8(s1)                  |     v0 = *((s1 + 2));
    0x0002a7cc lw v0, 0xf0(sp)               |     v0 = *(arg_f0h);
                                             |     if (v0 == 0) {
    0x0002a7d0 bnel v0, zero, 0x29264        |         goto label_52;
                                             |     }
    0x0002a7d4 lw v0, 4(fp)                  |     v0 = *(arg_ech);
    0x0002a7d8 b 0x2944c                     |     goto label_53;
                                             | label_155:
    0x0002a7dc lw a2, 0xc(s0)                |     a2 = *((s0 + 3));
    0x0002a7e0 lw t9, -0x7ea8(gp)            |     t9 = *((gp - 8106));
    0x0002a7e4 ext a2, a2, 0xa, 8            |     __asm ("ext a2, a2, 0xa, 8");
    0x0002a7e8 lw a3, 0xf8(sp)               |     a3 = *(arg_f8h);
    0x0002a7ec lw a0, 0x78(sp)               |     a0 = *(var_78h);
    0x0002a7f0 sw s2, 0x10(sp)               |     *(var_10h) = s2;
    0x0002a7f4 addiu a2, a2, 1               |     a2++;
    0x0002a7f8 move a1, zero                 |     a1 = 0;
    0x0002a7fc bal 0x10508                   |     sym_g_closure_invoke ();
    0x0002a800 lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x0002a804 b 0x2a464                     |     goto label_54;
                                             | label_156:
    0x0002a808 lw a1, -0x7fe8(gp)            |     a1 = *((gp - 8186));
    0x0002a80c lw a0, -0x7fe8(gp)            |     a0 = *((gp - 8186));
    0x0002a810 lw t9, -0x7978(gp)            |     t9 = *((gp - 7774));
    0x0002a814 addiu a2, a2, 0x625c          |     a2 += 0x625c;
    0x0002a818 addiu a1, a1, 0x7750          |     a1 += 0x7750;
    0x0002a81c addiu a0, a0, 0x1944          |     a0 += 0x1944;
    0x0002a820 jalr t9                       |     t9 ();
    0x0002a824 lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x0002a828 b 0x2a4a0                     |     goto label_55;
                                             | label_127:
    0x0002a82c lw v0, 0x88(sp)               |     v0 = *(var_88h);
                                             |     if (v1 == 0) {
    0x0002a830 beqz v1, 0x2aca8              |         goto label_166;
                                             |     }
                                             | label_69:
    0x0002a834 lw s2, 0x6c(sp)               |     s2 = *(var_6ch);
                                             | label_68:
    0x0002a838 lw t9, -0x78f0(gp)            |     t9 = *((gp - 7740));
    0x0002a83c addiu a0, s2, -0x35e4         |     a0 = s2 + -0x35e4;
    0x0002a840 jalr t9                       |     t9 ();
    0x0002a844 lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x0002a848 lw t9, -0x7f18(gp)            |     t9 = *((gp - 8134));
    0x0002a84c lw a0, 0x1c(s4)               |     a0 = *((s4 + 7));
    0x0002a850 bal 0xfa9c                    |     sym_g_closure_unref ();
    0x0002a854 lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x0002a858 lw t9, -0x7a90(gp)            |     t9 = *((gp - 7844));
    0x0002a85c addiu a0, s2, -0x35e4         |     a0 = s2 + -0x35e4;
    0x0002a860 jalr t9                       |     t9 ();
    0x0002a864 lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x0002a868 move a1, s4                   |     a1 = s4;
    0x0002a86c lw t9, -0x7af0(gp)            |     t9 = *((gp - 7868));
    0x0002a870 addiu a0, zero, 0x24          |     a0 = 0x24;
    0x0002a874 jalr t9                       |     t9 ();
    0x0002a878 lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x0002a87c b 0x29490                     |     goto label_10;
                                             | label_157:
    0x0002a880 lw v0, 4(s4)                  |     v0 = *((s4 + 1));
    0x0002a884 lw a0, 8(s4)                  |     a0 = *((s4 + 2));
                                             |     if (v0 != 0) {
    0x0002a888 beqz v0, 0x2a894              |         
    0x0002a88c sw a0, 8(v0)                  |         *((v0 + 2)) = a0;
    0x0002a890 lw a0, 8(s4)                  |         a0 = *((s4 + 2));
                                             |     }
    0x0002a894 lui a1, 1                     |     a1 = g_closure_sink;
                                             |     if (a0 == 0) {
    0x0002a898 beqz a0, 0x2b0d8              |         goto label_167;
                                             |     }
    0x0002a89c lw v0, 4(s4)                  |     v0 = *((s4 + 1));
    0x0002a8a0 sw v0, 4(a0)                  |     *((a0 + 1)) = v0;
    0x0002a8a4 lw a0, 0x18(s4)               |     a0 = *((s4 + 6));
    0x0002a8a8 and a0, a0, a1                |     a0 &= a1;
    0x0002a8ac lw v0, 4(s4)                  |     v0 = *((s4 + 1));
                                             |     if (a0 != 0) {
    0x0002a8b0 bnez a0, 0x2b028              |         goto label_87;
                                             |     }
                                             |     if (v0 != 0) {
    0x0002a8b4 beql v0, zero, 0x2a8d0        |         
    0x0002a8b8 lw v0, 0x88(sp)               |         v0 = *(var_88h);
    0x0002a8bc lw v0, 0x18(v0)               |         v0 = *((v0 + 6));
    0x0002a8c0 and v0, v0, a1                |         v0 &= a1;
                                             |         if (v0 == 0) {
    0x0002a8c4 beql v0, zero, 0x2ae84        |             goto label_79;
                                             |         }
    0x0002a8c8 lw s0, 0x6c(sp)               |         s0 = *(var_6ch);
    0x0002a8cc lw v0, 0x88(sp)               |         v0 = *(var_88h);
                                             |     }
    0x0002a8d0 lw t9, -0x793c(gp)            |     t9 = *((gp - 7759));
    0x0002a8d4 lw a1, 0xf0(sp)               |     a1 = *(arg_f0h);
    0x0002a8d8 lw a0, -0x35d4(v0)            |     a0 = *((v0 - 3445));
    0x0002a8dc jalr t9                       |     t9 ();
    0x0002a8e0 move s7, v0                   |     s7 = v0;
    0x0002a8e4 lw v0, 0x84(sp)               |     v0 = *(var_84h);
    0x0002a8e8 lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x0002a8ec sw v0, 0x58(sp)               |     *(var_58h) = v0;
                                             |     if (s7 == 0) {
    0x0002a8f0 beqz s7, 0x2b024              |         goto label_168;
                                             |     }
    0x0002a8f4 lw v0, -0x7fe0(gp)            |     v0 = *((gp - 8184));
    0x0002a8f8 lw s5, (s7)                   |     s5 = *(s7);
    0x0002a8fc addiu a0, v0, -0x3f24         |     a0 = v0 + -0x3f24;
    0x0002a900 lw fp, -0x3f24(v0)            |     fp = *((v0 - 4041));
    0x0002a904 lw s2, 4(a0)                  |     s2 = *((a0 + 1));
                                             |     if (s5 == 0) {
    0x0002a908 beqz s5, 0x2b024              |         goto label_168;
                                             |     }
    0x0002a90c sw s4, 0x68(sp)               |     *(var_68h) = s4;
    0x0002a910 move s6, zero                 |     s6 = 0;
    0x0002a914 addiu s3, sp, 0x58            |     s3 = sp + 0x58;
    0x0002a918 move s4, s0                   |     s4 = s0;
    0x0002a91c b 0x2a92c                     |     
                                             |     while (v0 >= 0) {
                                             | label_56:
    0x0002a920 sltu v0, s6, s5               |         v0 = (s6 < s5) ? 1 : 0;
    0x0002a924 move s0, s4                   |         s0 = s4;
                                             |         if (v0 == 0) {
    0x0002a928 beqz v0, 0x2b1c0              |             goto label_169;
                                             |         }
    0x0002a92c addu v0, s5, s6               |         v0 = s5 + s6;
    0x0002a930 srl s0, v0, 1                 |         s0 = v0 >> 1;
    0x0002a934 mul v0, fp, s0                |         __asm ("mul v0, fp, s0");
    0x0002a938 move a0, s3                   |         a0 = s3;
    0x0002a93c move t9, s2                   |         t9 = s2;
    0x0002a940 addu s1, v0, s7               |         s1 = v0 + s7;
    0x0002a944 addiu s1, s1, 8               |         s1 += 8;
    0x0002a948 move a1, s1                   |         a1 = s1;
    0x0002a94c jalr t9                       |         t9 ();
    0x0002a950 lw gp, 0x18(sp)               |         gp = *(var_18h);
                                             |         if (v0 == 0) {
    0x0002a954 beqz v0, 0x2b018              |             goto label_170;
                                             |         }
    0x0002a958 bgezl v0, 0x2a920             |         
                                             |     }
    0x0002a95c addiu s6, s0, 1               |     s6 = s0 + 1;
    0x0002a960 move s5, s0                   |     s5 = s0;
    0x0002a964 b 0x2a920                     |     goto label_56;
                                             | label_142:
    0x0002a968 move s4, s7                   |     s4 = s7;
    0x0002a96c lw s3, 0xa4(sp)               |     s3 = *(var_a4h);
    0x0002a970 lw fp, 0xac(sp)               |     fp = *(var_ach);
    0x0002a974 lw s6, 0xb0(sp)               |     s6 = *(var_b0h);
    0x0002a978 lw s7, 0xb4(sp)               |     s7 = *(var_b4h);
    0x0002a97c lw s0, 0xe8(sp)               |     s0 = *(arg_e8h);
    0x0002a980 lw s2, 0xb8(sp)               |     s2 = *(var_b8h);
                                             |     if (s4 != 0) {
    0x0002a984 bnez s4, 0x29fc8              |         goto label_57;
                                             |     }
                                             | label_74:
    0x0002a988 lw v0, 4(s6)                  |     v0 = *((s6 + 1));
    0x0002a98c lw s4, 0x6c(sp)               |     s4 = *(var_6ch);
                                             |     if (v0 != 0) {
    0x0002a990 bnez v0, 0x2a000              |         goto label_36;
                                             |     }
    0x0002a994 lw v0, 0x88(sp)               |     v0 = *(var_88h);
    0x0002a998 b 0x2a354                     |     goto label_58;
                                             | label_125:
    0x0002a99c move s6, fp                   |     s6 = fp;
    0x0002a9a0 lw s3, 0xac(sp)               |     s3 = *(var_ach);
    0x0002a9a4 lw s7, 0xb4(sp)               |     s7 = *(var_b4h);
    0x0002a9a8 lw fp, 0xb0(sp)               |     fp = *(var_b0h);
    0x0002a9ac lw s0, 0xe8(sp)               |     s0 = *(arg_e8h);
    0x0002a9b0 lw s2, 0xb8(sp)               |     s2 = *(var_b8h);
                                             |     if (s6 != 0) {
    0x0002a9b4 bnez s6, 0x2aa18              |         goto label_171;
                                             |     }
                                             | label_75:
    0x0002a9b8 lw v0, 4(s3)                  |     v0 = *((s3 + 1));
    0x0002a9bc lw s5, 0x6c(sp)               |     s5 = *(var_6ch);
                                             |     if (v0 != 0) {
    0x0002a9c0 bnez v0, 0x2a1d0              |         goto label_39;
                                             |     }
    0x0002a9c4 lw v0, 0x88(sp)               |     v0 = *(var_88h);
    0x0002a9c8 b 0x2a53c                     |     goto label_59;
                                             | label_165:
    0x0002a9cc move s6, fp                   |     s6 = fp;
    0x0002a9d0 lw s3, 0xac(sp)               |     s3 = *(var_ach);
    0x0002a9d4 lw fp, 0xb0(sp)               |     fp = *(var_b0h);
    0x0002a9d8 lw s0, 0xe8(sp)               |     s0 = *(arg_e8h);
    0x0002a9dc lw s2, 0xb4(sp)               |     s2 = *(var_b4h);
                                             |     if (s6 == 0) {
    0x0002a9e0 beqz s6, 0x2a6cc              |         goto label_49;
                                             |     }
    0x0002a9e4 lw v0, 4(s3)                  |     v0 = *((s3 + 1));
    0x0002a9e8 lui a0, 1                     |     a0 = g_closure_sink;
    0x0002a9ec sw v0, 4(s6)                  |     *((s6 + 1)) = v0;
    0x0002a9f0 lw v0, 0x18(s3)               |     v0 = *((s3 + 6));
    0x0002a9f4 and v0, v0, a0                |     v0 &= a0;
    0x0002a9f8 lw a1, 4(s3)                  |     a1 = *((s3 + 1));
                                             |     if (v0 != 0) {
    0x0002a9fc bnez v0, 0x2b190              |         goto label_172;
                                             |     }
                                             |     if (a1 == 0) {
    0x0002aa00 beql a1, zero, 0x2aa1c        |         goto label_173;
                                             |     }
    0x0002aa04 lw v0, 8(s6)                  |     v0 = *((s6 + 2));
    0x0002aa08 lw v0, 0x18(a1)               |     v0 = *((a1 + 6));
    0x0002aa0c and a0, a0, v0                |     a0 &= v0;
    0x0002aa10 lw s5, 0x6c(sp)               |     s5 = *(var_6ch);
                                             |     if (a0 == 0) {
    0x0002aa14 beqz a0, 0x2a1d0              |         goto label_39;
                                             |     }
                                             | label_171:
    0x0002aa18 lw v0, 8(s6)                  |     v0 = *((s6 + 2));
                                             |     if (s3 != v0) {
                                             | label_173:
    0x0002aa1c beql s3, v0, 0x2aa44          |         
    0x0002aa20 lw v0, 8(s3)                  |         v0 = *((s3 + 2));
    0x0002aa24 lw v0, -0x7fe8(gp)            |         v0 = *((gp - 8186));
                                             | label_72:
    0x0002aa28 lw a3, -0x7fe8(gp)            |         a3 = *((gp - 8186));
    0x0002aa2c addiu v0, v0, 0x62d0          |         v0 += 0x62d0;
    0x0002aa30 lw t9, -0x796c(gp)            |         t9 = *((gp - 7771));
    0x0002aa34 sw v0, 0x10(sp)               |         *(var_10h) = v0;
    0x0002aa38 addiu a3, a3, 0x7750          |         a3 += 0x7750;
    0x0002aa3c addiu a2, zero, 0x2a9         |         a2 = 0x2a9;
    0x0002aa40 b 0x2a6e8                     |         goto label_60;
                                             |     }
    0x0002aa44 sw v0, 8(s6)                  |     *((s6 + 2)) = v0;
    0x0002aa48 lw v0, 4(s3)                  |     v0 = *((s3 + 1));
    0x0002aa4c lw s5, 0x6c(sp)               |     s5 = *(var_6ch);
                                             |     if (v0 != 0) {
    0x0002aa50 bnez v0, 0x2a1d0              |         goto label_39;
                                             |     }
    0x0002aa54 lw v0, 0xc(s6)                |     v0 = *((s6 + 3));
                                             |     if (s3 != v0) {
                                             | label_71:
    0x0002aa58 beql s3, v0, 0x2aa80          |         
    0x0002aa5c lw v0, 8(s3)                  |         v0 = *((s3 + 2));
    0x0002aa60 lw v0, -0x7fe8(gp)            |         v0 = *((gp - 8186));
                                             | label_73:
    0x0002aa64 lw a3, -0x7fe8(gp)            |         a3 = *((gp - 8186));
    0x0002aa68 addiu v0, v0, 0x623c          |         v0 += 0x623c;
    0x0002aa6c lw t9, -0x796c(gp)            |         t9 = *((gp - 7771));
    0x0002aa70 sw v0, 0x10(sp)               |         *(var_10h) = v0;
    0x0002aa74 addiu a3, a3, 0x7750          |         a3 += 0x7750;
    0x0002aa78 addiu a2, zero, 0x2b5         |         a2 = 0x2b5;
    0x0002aa7c b 0x2a6e8                     |         goto label_60;
                                             |     }
    0x0002aa80 sw v0, 0xc(s6)                |     *((s6 + 3)) = v0;
    0x0002aa84 b 0x2a1cc                     |     goto label_40;
                                             | label_159:
    0x0002aa88 lw v1, 0xa0(sp)               |     v1 = *(var_a0h);
    0x0002aa8c lw v0, 0x20(sp)               |     v0 = *(var_20h);
    0x0002aa90 sw v0, -0x35d8(v1)            |     *((v1 - 3446)) = v0;
    0x0002aa94 b 0x2a4d4                     |     goto label_61;
                                             | label_154:
    0x0002aa98 move s4, fp                   |     s4 = fp;
    0x0002aa9c lw s3, 0xa4(sp)               |     s3 = *(var_a4h);
    0x0002aaa0 lw s6, 0xb0(sp)               |     s6 = *(var_b0h);
    0x0002aaa4 lw fp, 0xac(sp)               |     fp = *(var_ach);
    0x0002aaa8 lw s0, 0xe8(sp)               |     s0 = *(arg_e8h);
    0x0002aaac lw s2, 0xb4(sp)               |     s2 = *(var_b4h);
                                             |     if (s4 == 0) {
    0x0002aab0 beqz s4, 0x29ffc              |         goto label_37;
                                             |     }
    0x0002aab4 lw v0, 0xc(s4)                |     v0 = *((s4 + 3));
    0x0002aab8 b 0x29fec                     |     goto label_62;
                                             | label_126:
    0x0002aabc lw v0, 0x88(sp)               |     v0 = *(var_88h);
    0x0002aac0 lw t9, -0x793c(gp)            |     t9 = *((gp - 7759));
    0x0002aac4 lw a1, 0xf0(sp)               |     a1 = *(arg_f0h);
    0x0002aac8 lw a0, -0x35d4(v0)            |     a0 = *((v0 - 3445));
    0x0002aacc jalr t9                       |     t9 ();
    0x0002aad0 move s2, v0                   |     s2 = v0;
    0x0002aad4 lw v0, 0x84(sp)               |     v0 = *(var_84h);
    0x0002aad8 lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x0002aadc sw v0, 0x58(sp)               |     *(var_58h) = v0;
                                             |     if (s2 == 0) {
    0x0002aae0 beqz s2, 0x2a6cc              |         goto label_49;
                                             |     }
    0x0002aae4 lw v0, 0x94(sp)               |     v0 = *(var_94h);
    0x0002aae8 lw v1, 0x98(sp)               |     v1 = *(var_98h);
    0x0002aaec lw s5, (s2)                   |     s5 = *(s2);
    0x0002aaf0 lw v0, -0x3f24(v0)            |     v0 = *((v0 - 4041));
    0x0002aaf4 lw v1, 4(v1)                  |     v1 = *((v1 + 1));
                                             |     if (s5 == 0) {
    0x0002aaf8 beqz s5, 0x2a6cc              |         goto label_49;
                                             |     }
    0x0002aafc addiu s3, sp, 0x58            |     s3 = sp + 0x58;
    0x0002ab00 move a0, s5                   |     a0 = s5;
    0x0002ab04 sw s4, 0x68(sp)               |     *(var_68h) = s4;
    0x0002ab08 move s5, s6                   |     s5 = s6;
    0x0002ab0c sw s0, 0xe8(sp)               |     *(arg_e8h) = s0;
    0x0002ab10 move s4, s3                   |     s4 = s3;
    0x0002ab14 move s0, v0                   |     s0 = v0;
    0x0002ab18 move s3, v1                   |     s3 = v1;
    0x0002ab1c move s6, a0                   |     s6 = a0;
    0x0002ab20 b 0x2ab30                     |     goto label_174;
                                             | label_63:
    0x0002ab24 sltu v0, s5, s6               |     v0 = (s5 < s6) ? 1 : 0;
    0x0002ab28 lw v0, -0x7fe8(gp)            |     v0 = *((gp - 8186));
                                             |     if (v0 == 0) {
    0x0002ab2c beqz v0, 0x2a6d0              |         goto label_50;
                                             |     }
                                             | label_174:
    0x0002ab30 addu fp, s5, s6               |     fp = s5 + s6;
    0x0002ab34 srl fp, fp, 1                 |     fp >>= 1;
    0x0002ab38 mul v0, s0, fp                |     __asm ("mul v0, s0, fp");
    0x0002ab3c move a0, s4                   |     a0 = s4;
    0x0002ab40 move t9, s3                   |     t9 = s3;
    0x0002ab44 addu s7, v0, s2               |     s7 = v0 + s2;
    0x0002ab48 addiu s7, s7, 8               |     s7 += 8;
    0x0002ab4c move a1, s7                   |     a1 = s7;
    0x0002ab50 jalr t9                       |     t9 ();
    0x0002ab54 lw gp, 0x18(sp)               |     gp = *(var_18h);
                                             |     if (v0 == 0) {
    0x0002ab58 beqz v0, 0x2ad70              |         goto label_175;
                                             |     }
                                             |     if (v0 >= 0) {
    0x0002ab5c bgezl v0, 0x2ab24             |         goto label_63;
                                             |     }
    0x0002ab60 addiu s5, fp, 1               |     s5 = fp + 1;
    0x0002ab64 move s6, fp                   |     s6 = fp;
    0x0002ab68 b 0x2ab24                     |     goto label_63;
                                             | label_148:
    0x0002ab6c lw v0, 0x88(sp)               |     v0 = *(var_88h);
                                             |     if (a0 == 0) {
    0x0002ab70 beqz a0, 0x2abe8              |         goto label_176;
                                             |     }
                                             | label_65:
    0x0002ab74 lw s2, 0x6c(sp)               |     s2 = *(var_6ch);
                                             | label_64:
    0x0002ab78 lw t9, -0x78f0(gp)            |     t9 = *((gp - 7740));
    0x0002ab7c addiu a0, s2, -0x35e4         |     a0 = s2 + -0x35e4;
    0x0002ab80 jalr t9                       |     t9 ();
    0x0002ab84 lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x0002ab88 lw t9, -0x7f18(gp)            |     t9 = *((gp - 8134));
    0x0002ab8c lw a0, 0x1c(s4)               |     a0 = *((s4 + 7));
    0x0002ab90 bal 0xfa9c                    |     sym_g_closure_unref ();
    0x0002ab94 lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x0002ab98 lw t9, -0x7a90(gp)            |     t9 = *((gp - 7844));
    0x0002ab9c addiu a0, s2, -0x35e4         |     a0 = s2 + -0x35e4;
    0x0002aba0 jalr t9                       |     t9 ();
    0x0002aba4 lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x0002aba8 move a1, s4                   |     a1 = s4;
    0x0002abac lw t9, -0x7af0(gp)            |     t9 = *((gp - 7868));
    0x0002abb0 addiu a0, zero, 0x24          |     a0 = 0x24;
    0x0002abb4 jalr t9                       |     t9 ();
    0x0002abb8 lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x0002abbc b 0x29d54                     |     goto label_25;
                                             | label_143:
    0x0002abc0 lw s4, 0x6c(sp)               |     s4 = *(var_6ch);
                                             |     if (a1 == 0) {
    0x0002abc4 bnel a1, zero, 0x2a000        |         goto label_36;
                                             |     }
    0x0002abc8 lw v0, 0xc(s4)                |     v0 = *((s4 + 3));
    0x0002abcc b 0x29fec                     |     goto label_62;
                                             | label_151:
    0x0002abd0 lw v0, 8(s5)                  |     v0 = *((s5 + 2));
                                             |     if (s5 == 0) {
    0x0002abd4 bnel s5, zero, 0x2afd4        |         goto label_177;
                                             |     }
                                             | label_149:
    0x0002abd8 lw v0, 4(s4)                  |     v0 = *((s4 + 1));
                                             | label_150:
    0x0002abdc lw s2, 0x6c(sp)               |     s2 = *(var_6ch);
                                             |     if (v0 != 0) {
    0x0002abe0 bnez v0, 0x2ab78              |         goto label_64;
                                             |     }
    0x0002abe4 lw v0, 0x88(sp)               |     v0 = *(var_88h);
                                             | label_176:
    0x0002abe8 lw t9, -0x793c(gp)            |     t9 = *((gp - 7759));
    0x0002abec lw a1, 0xf0(sp)               |     a1 = *(arg_f0h);
    0x0002abf0 lw a0, -0x35d4(v0)            |     a0 = *((v0 - 3445));
    0x0002abf4 jalr t9                       |     t9 ();
    0x0002abf8 move a3, v0                   |     a3 = v0;
    0x0002abfc lw v0, 0x84(sp)               |     v0 = *(var_84h);
    0x0002ac00 lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x0002ac04 sw v0, 0x58(sp)               |     *(var_58h) = v0;
                                             |     if (a3 == 0) {
    0x0002ac08 beqz a3, 0x2ab74              |         goto label_65;
                                             |     }
    0x0002ac0c lw v0, 0x94(sp)               |     v0 = *(var_94h);
    0x0002ac10 lw fp, (a3)                   |     fp = *(a3);
    0x0002ac14 lw t0, -0x3f24(v0)            |     t0 = *((v0 - 4041));
    0x0002ac18 lw v0, 0x98(sp)               |     v0 = *(var_98h);
    0x0002ac1c lw t9, 4(v0)                  |     t9 = *((v0 + 1));
                                             |     if (fp == 0) {
    0x0002ac20 beqz fp, 0x2ab74              |         goto label_65;
                                             |     }
    0x0002ac24 addiu s3, sp, 0x58            |     s3 = sp + 0x58;
    0x0002ac28 b 0x2ac3c                     |     goto label_178;
                                             | label_66:
    0x0002ac2c addiu s6, s2, 1               |     s6 = s2 + 1;
                                             | label_67:
    0x0002ac30 sltu v0, s6, fp               |     v0 = (s6 < fp) ? 1 : 0;
    0x0002ac34 lw s2, 0x6c(sp)               |     s2 = *(var_6ch);
                                             |     if (v0 == 0) {
    0x0002ac38 beqz v0, 0x2ab78              |         goto label_64;
                                             |     }
                                             | label_178:
    0x0002ac3c addu s2, s6, fp               |     s2 = s6 + fp;
    0x0002ac40 srl s2, s2, 1                 |     s2 >>= 1;
    0x0002ac44 mul v0, t0, s2                |     __asm ("mul v0, t0, s2");
    0x0002ac48 sw a3, 0xac(sp)               |     *(var_ach) = a3;
    0x0002ac4c sw t0, 0xa4(sp)               |     *(var_a4h) = t0;
    0x0002ac50 move a0, s3                   |     a0 = s3;
    0x0002ac54 sw t9, 0x68(sp)               |     *(var_68h) = t9;
    0x0002ac58 addu s5, v0, a3               |     s5 = v0 + a3;
    0x0002ac5c addiu s5, s5, 8               |     s5 += 8;
    0x0002ac60 move a1, s5                   |     a1 = s5;
    0x0002ac64 jalr t9                       |     t9 ();
    0x0002ac68 lw gp, 0x18(sp)               |     gp = *(var_18h);
                                             |     if (v0 == 0) {
    0x0002ac6c beqz v0, 0x2b0c0              |         goto label_179;
                                             |     }
    0x0002ac70 lw t9, 0x68(sp)               |     t9 = *(var_68h);
    0x0002ac74 lw t0, 0xa4(sp)               |     t0 = *(var_a4h);
    0x0002ac78 lw a3, 0xac(sp)               |     a3 = *(var_ach);
                                             |     if (v0 >= 0) {
    0x0002ac7c bgez v0, 0x2ac2c              |         goto label_66;
                                             |     }
    0x0002ac80 move fp, s2                   |     fp = s2;
    0x0002ac84 b 0x2ac30                     |     goto label_67;
                                             | label_129:
    0x0002ac88 move s0, s7                   |     s0 = s7;
    0x0002ac8c lw s4, 0xa4(sp)               |     s4 = *(var_a4h);
    0x0002ac90 move s7, fp                   |     s7 = fp;
                                             |     if (fp != 0) {
    0x0002ac94 bnez fp, 0x2adb0              |         goto label_180;
                                             |     }
                                             | label_83:
    0x0002ac98 lw v0, 4(s4)                  |     v0 = *((s4 + 1));
    0x0002ac9c lw s2, 0x6c(sp)               |     s2 = *(var_6ch);
                                             |     if (v0 != 0) {
    0x0002aca0 bnez v0, 0x2a838              |         goto label_68;
                                             |     }
    0x0002aca4 lw v0, 0x88(sp)               |     v0 = *(var_88h);
                                             | label_166:
    0x0002aca8 lw t9, -0x793c(gp)            |     t9 = *((gp - 7759));
    0x0002acac lw a1, 0xf0(sp)               |     a1 = *(arg_f0h);
    0x0002acb0 lw a0, -0x35d4(v0)            |     a0 = *((v0 - 3445));
    0x0002acb4 jalr t9                       |     t9 ();
    0x0002acb8 move s2, v0                   |     s2 = v0;
    0x0002acbc lw v0, 0x84(sp)               |     v0 = *(var_84h);
    0x0002acc0 lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x0002acc4 sw v0, 0x58(sp)               |     *(var_58h) = v0;
                                             |     if (s2 == 0) {
    0x0002acc8 beqz s2, 0x2a834              |         goto label_69;
                                             |     }
    0x0002accc lw v0, 0x94(sp)               |     v0 = *(var_94h);
    0x0002acd0 lw fp, (s2)                   |     fp = *(s2);
    0x0002acd4 lw v0, -0x3f24(v0)            |     v0 = *((v0 - 4041));
    0x0002acd8 sw v0, 0x68(sp)               |     *(var_68h) = v0;
    0x0002acdc lw v0, 0x98(sp)               |     v0 = *(var_98h);
    0x0002ace0 lw v0, 4(v0)                  |     v0 = *((v0 + 1));
    0x0002ace4 sw v0, 0x70(sp)               |     *(var_70h) = v0;
                                             |     if (fp == 0) {
    0x0002ace8 beqz fp, 0x2a834              |         goto label_69;
                                             |     }
    0x0002acec sw s0, 0xe8(sp)               |     *(arg_e8h) = s0;
    0x0002acf0 addiu s3, sp, 0x58            |     s3 = sp + 0x58;
    0x0002acf4 move s0, fp                   |     s0 = fp;
    0x0002acf8 move fp, s6                   |     fp = s6;
    0x0002acfc lw s6, 0xe8(sp)               |     s6 = *(arg_e8h);
    0x0002ad00 b 0x2ad10                     |     goto label_181;
                                             | label_70:
    0x0002ad04 sltu v0, fp, s0               |     v0 = (fp < s0) ? 1 : 0;
                                             |     if (v0 == 0) {
    0x0002ad08 beql v0, zero, 0x2a834        |         goto label_69;
                                             |     }
    0x0002ad0c move s0, s6                   |     s0 = s6;
                                             | label_181:
    0x0002ad10 lw v0, 0x68(sp)               |     v0 = *(var_68h);
    0x0002ad14 addu s5, fp, s0               |     s5 = fp + s0;
    0x0002ad18 srl s5, s5, 1                 |     s5 >>= 1;
    0x0002ad1c mul v1, v0, s5                |     __asm ("mul v1, v0, s5");
    0x0002ad20 lw t9, 0x70(sp)               |     t9 = *(var_70h);
    0x0002ad24 move a0, s3                   |     a0 = s3;
    0x0002ad28 addu s7, v1, s2               |     s7 = v1 + s2;
    0x0002ad2c addiu s7, s7, 8               |     s7 += 8;
    0x0002ad30 move a1, s7                   |     a1 = s7;
    0x0002ad34 jalr t9                       |     t9 ();
    0x0002ad38 lw gp, 0x18(sp)               |     gp = *(var_18h);
                                             |     if (v0 == 0) {
    0x0002ad3c beqz v0, 0x2b008              |         goto label_182;
                                             |     }
                                             |     if (v0 >= 0) {
    0x0002ad40 bgezl v0, 0x2ad04             |         goto label_70;
                                             |     }
    0x0002ad44 addiu fp, s5, 1               |     fp = s5 + 1;
    0x0002ad48 move s0, s5                   |     s0 = s5;
    0x0002ad4c b 0x2ad04                     |     goto label_70;
                                             | label_162:
    0x0002ad50 move s6, fp                   |     s6 = fp;
    0x0002ad54 lw s3, 0xac(sp)               |     s3 = *(var_ach);
    0x0002ad58 lw fp, 0xb0(sp)               |     fp = *(var_b0h);
    0x0002ad5c lw s0, 0xe8(sp)               |     s0 = *(arg_e8h);
    0x0002ad60 lw s2, 0xb4(sp)               |     s2 = *(var_b4h);
                                             |     if (s6 == 0) {
    0x0002ad64 beqz s6, 0x2a1cc              |         goto label_40;
                                             |     }
    0x0002ad68 lw v0, 0xc(s6)                |     v0 = *((s6 + 3));
    0x0002ad6c b 0x2aa58                     |     goto label_71;
                                             | label_175:
    0x0002ad70 lw s4, 0x68(sp)               |     s4 = *(var_68h);
    0x0002ad74 lw s0, 0xe8(sp)               |     s0 = *(arg_e8h);
                                             |     if (s7 == 0) {
    0x0002ad78 beqz s7, 0x2a6cc              |         goto label_49;
                                             |     }
    0x0002ad7c lw v1, 4(s4)                  |     v1 = *((s4 + 1));
    0x0002ad80 lui v0, 1                     |     v0 = g_closure_sink;
    0x0002ad84 sw v1, 4(s7)                  |     *((s7 + 1)) = v1;
    0x0002ad88 lw a0, 0x18(s4)               |     a0 = *((s4 + 6));
    0x0002ad8c and a0, a0, v0                |     a0 &= v0;
    0x0002ad90 lw v1, 4(s4)                  |     v1 = *((s4 + 1));
                                             |     if (a0 != 0) {
    0x0002ad94 bnez a0, 0x2b1cc              |         goto label_183;
                                             |     }
                                             |     if (v1 == 0) {
    0x0002ad98 beql v1, zero, 0x2adb4        |         goto label_184;
                                             |     }
    0x0002ad9c lw v0, 8(s7)                  |     v0 = *((s7 + 2));
    0x0002ada0 lw v1, 0x18(v1)               |     v1 = *((v1 + 6));
    0x0002ada4 and v0, v0, v1                |     v0 &= v1;
    0x0002ada8 lw s2, 0x6c(sp)               |     s2 = *(var_6ch);
                                             |     if (v0 == 0) {
    0x0002adac beqz v0, 0x2a838              |         goto label_68;
                                             |     }
                                             | label_180:
    0x0002adb0 lw v0, 8(s7)                  |     v0 = *((s7 + 2));
                                             | label_184:
    0x0002adb4 lw v0, -0x7fe8(gp)            |     v0 = *((gp - 8186));
                                             |     if (s4 != v0) {
    0x0002adb8 bne s4, v0, 0x2aa28           |         goto label_72;
                                             |     }
    0x0002adbc lw v0, 8(s4)                  |     v0 = *((s4 + 2));
    0x0002adc0 sw v0, 8(s7)                  |     *((s7 + 2)) = v0;
    0x0002adc4 lw v0, 4(s4)                  |     v0 = *((s4 + 1));
    0x0002adc8 lw s2, 0x6c(sp)               |     s2 = *(var_6ch);
                                             |     if (v0 != 0) {
    0x0002adcc bnez v0, 0x2a838              |         goto label_68;
                                             |     }
    0x0002add0 lw v0, 0xc(s7)                |     v0 = *((s7 + 3));
                                             | label_77:
    0x0002add4 lw v0, -0x7fe8(gp)            |     v0 = *((gp - 8186));
                                             |     if (s4 != v0) {
    0x0002add8 bne s4, v0, 0x2aa64           |         goto label_73;
                                             |     }
    0x0002addc lw v0, 8(s4)                  |     v0 = *((s4 + 2));
    0x0002ade0 sw v0, 0xc(s7)                |     *((s7 + 3)) = v0;
    0x0002ade4 b 0x2a834                     |     goto label_69;
                                             | label_141:
    0x0002ade8 lw fp, 0xac(sp)               |     fp = *(var_ach);
    0x0002adec lw s6, 0xb0(sp)               |     s6 = *(var_b0h);
    0x0002adf0 lw s7, 0xb4(sp)               |     s7 = *(var_b4h);
    0x0002adf4 lw s0, 0xe8(sp)               |     s0 = *(arg_e8h);
    0x0002adf8 lw s2, 0xb8(sp)               |     s2 = *(var_b8h);
    0x0002adfc b 0x2a988                     |     goto label_74;
                                             | label_153:
    0x0002ae00 lw fp, 0xac(sp)               |     fp = *(var_ach);
    0x0002ae04 lw s6, 0xb0(sp)               |     s6 = *(var_b0h);
    0x0002ae08 lw s0, 0xe8(sp)               |     s0 = *(arg_e8h);
    0x0002ae0c lw s2, 0xb4(sp)               |     s2 = *(var_b4h);
    0x0002ae10 b 0x29ffc                     |     goto label_37;
                                             | label_84:
    0x0002ae14 lui v0, 1                     |     v0 = g_closure_sink;
                                             |     if (s1 == 0) {
    0x0002ae18 beqz s1, 0x2a6cc              |         goto label_49;
                                             |     }
    0x0002ae1c lw a0, 4(s4)                  |     a0 = *((s4 + 1));
    0x0002ae20 sw a0, 4(s1)                  |     *((s1 + 1)) = a0;
    0x0002ae24 lw a1, 0x18(s4)               |     a1 = *((s4 + 6));
    0x0002ae28 and a1, a1, v0                |     a1 &= v0;
    0x0002ae2c lw a0, 4(s4)                  |     a0 = *((s4 + 1));
                                             |     if (a1 != 0) {
    0x0002ae30 bnez a1, 0x2b1a0              |         goto label_185;
                                             |     }
                                             |     if (a0 != 0) {
    0x0002ae34 beql a0, zero, 0x2ae50        |         
    0x0002ae38 lw v0, 8(s1)                  |         v0 = *((s1 + 2));
    0x0002ae3c lw a0, 0x18(a0)               |         a0 = *((a0 + 6));
    0x0002ae40 and v0, v0, a0                |         v0 &= a0;
    0x0002ae44 lw s0, 0x6c(sp)               |         s0 = *(var_6ch);
                                             |         if (v0 == 0) {
    0x0002ae48 beqz v0, 0x2ae84              |             goto label_79;
                                             |         }
                                             | label_78:
    0x0002ae4c lw v0, 8(s1)                  |         v0 = *((s1 + 2));
                                             |     }
    0x0002ae50 lw v0, -0x7fe8(gp)            |     v0 = *((gp - 8186));
                                             |     if (v0 != s4) {
    0x0002ae54 bne v0, s4, 0x2aa28           |         goto label_72;
                                             |     }
    0x0002ae58 lw v0, 8(s4)                  |     v0 = *((s4 + 2));
    0x0002ae5c sw v0, 8(s1)                  |     *((s1 + 2)) = v0;
    0x0002ae60 lw v0, 4(s4)                  |     v0 = *((s4 + 1));
    0x0002ae64 lw s0, 0x6c(sp)               |     s0 = *(var_6ch);
                                             |     if (v0 != 0) {
    0x0002ae68 bnez v0, 0x2ae84              |         goto label_79;
                                             |     }
    0x0002ae6c lw v0, 0xc(s1)                |     v0 = *((s1 + 3));
                                             | label_86:
    0x0002ae70 lw v0, -0x7fe8(gp)            |     v0 = *((gp - 8186));
                                             |     if (s4 != v0) {
    0x0002ae74 bne s4, v0, 0x2aa64           |         goto label_73;
                                             |     }
    0x0002ae78 lw v0, 8(s4)                  |     v0 = *((s4 + 2));
    0x0002ae7c sw v0, 0xc(s1)                |     *((s1 + 3)) = v0;
                                             | label_80:
    0x0002ae80 lw s0, 0x6c(sp)               |     s0 = *(var_6ch);
                                             | label_79:
    0x0002ae84 lw t9, -0x78f0(gp)            |     t9 = *((gp - 7740));
    0x0002ae88 addiu a0, s0, -0x35e4         |     a0 = s0 + -0x35e4;
    0x0002ae8c jalr t9                       |     t9 ();
    0x0002ae90 lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x0002ae94 lw t9, -0x7f18(gp)            |     t9 = *((gp - 8134));
    0x0002ae98 lw a0, 0x1c(s4)               |     a0 = *((s4 + 7));
    0x0002ae9c bal 0xfa9c                    |     sym_g_closure_unref ();
    0x0002aea0 lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x0002aea4 lw t9, -0x7a90(gp)            |     t9 = *((gp - 7844));
    0x0002aea8 addiu a0, s0, -0x35e4         |     a0 = s0 + -0x35e4;
    0x0002aeac jalr t9                       |     t9 ();
    0x0002aeb0 lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x0002aeb4 move a1, s4                   |     a1 = s4;
    0x0002aeb8 lw t9, -0x7af0(gp)            |     t9 = *((gp - 7868));
    0x0002aebc addiu a0, zero, 0x24          |     a0 = 0x24;
    0x0002aec0 jalr t9                       |     t9 ();
    0x0002aec4 lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x0002aec8 b 0x2a4a0                     |     goto label_55;
                                             | label_124:
    0x0002aecc lw fp, 0xb0(sp)               |     fp = *(var_b0h);
    0x0002aed0 lw s7, 0xb4(sp)               |     s7 = *(var_b4h);
    0x0002aed4 lw s0, 0xe8(sp)               |     s0 = *(arg_e8h);
    0x0002aed8 lw s2, 0xb8(sp)               |     s2 = *(var_b8h);
    0x0002aedc b 0x2a9b8                     |     goto label_75;
                                             | label_147:
    0x0002aee0 lw v0, 0x88(sp)               |     v0 = *(var_88h);
    0x0002aee4 lw t9, -0x793c(gp)            |     t9 = *((gp - 7759));
    0x0002aee8 lw a1, 0xf0(sp)               |     a1 = *(arg_f0h);
    0x0002aeec lw a0, -0x35d4(v0)            |     a0 = *((v0 - 3445));
    0x0002aef0 jalr t9                       |     t9 ();
    0x0002aef4 move t0, v0                   |     t0 = v0;
    0x0002aef8 lw v0, 0x84(sp)               |     v0 = *(var_84h);
    0x0002aefc lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x0002af00 sw v0, 0x58(sp)               |     *(var_58h) = v0;
                                             |     if (t0 == 0) {
    0x0002af04 beqz t0, 0x2a6cc              |         goto label_49;
                                             |     }
    0x0002af08 lw v0, 0x94(sp)               |     v0 = *(var_94h);
    0x0002af0c lw s2, (t0)                   |     s2 = *(t0);
    0x0002af10 lw v0, -0x3f24(v0)            |     v0 = *((v0 - 4041));
    0x0002af14 sw v0, 0x68(sp)               |     *(var_68h) = v0;
    0x0002af18 lw v0, 0x98(sp)               |     v0 = *(var_98h);
    0x0002af1c lw v0, 4(v0)                  |     v0 = *((v0 + 1));
    0x0002af20 sw v0, 0xa4(sp)               |     *(var_a4h) = v0;
                                             |     if (s2 == 0) {
    0x0002af24 beqz s2, 0x2a6cc              |         goto label_49;
                                             |     }
    0x0002af28 sw s4, 0xac(sp)               |     *(var_ach) = s4;
    0x0002af2c move s5, s0                   |     s5 = s0;
    0x0002af30 addiu s3, sp, 0x58            |     s3 = sp + 0x58;
    0x0002af34 move s4, s6                   |     s4 = s6;
    0x0002af38 move s0, t0                   |     s0 = t0;
    0x0002af3c b 0x2af4c                     |     goto label_186;
                                             | label_76:
    0x0002af40 sltu v0, s4, s2               |     v0 = (s4 < s2) ? 1 : 0;
    0x0002af44 lw v0, -0x7fe8(gp)            |     v0 = *((gp - 8186));
                                             |     if (v0 == 0) {
    0x0002af48 beqz v0, 0x2a6d0              |         goto label_50;
                                             |     }
                                             | label_186:
    0x0002af4c lw v0, 0x68(sp)               |     v0 = *(var_68h);
    0x0002af50 addu fp, s4, s2               |     fp = s4 + s2;
    0x0002af54 srl fp, fp, 1                 |     fp >>= 1;
    0x0002af58 mul v1, v0, fp                |     __asm ("mul v1, v0, fp");
    0x0002af5c lw t9, 0xa4(sp)               |     t9 = *(var_a4h);
    0x0002af60 move a0, s3                   |     a0 = s3;
    0x0002af64 addu v0, v1, s0               |     v0 = v1 + s0;
    0x0002af68 addiu s6, v0, 8               |     s6 = v0 + 8;
    0x0002af6c move a1, s6                   |     a1 = s6;
    0x0002af70 jalr t9                       |     t9 ();
    0x0002af74 lw gp, 0x18(sp)               |     gp = *(var_18h);
                                             |     if (v0 == 0) {
    0x0002af78 beqz v0, 0x2af8c              |         goto label_187;
                                             |     }
                                             |     if (v0 >= 0) {
    0x0002af7c bgezl v0, 0x2af40             |         goto label_76;
                                             |     }
    0x0002af80 addiu s4, fp, 1               |     s4 = fp + 1;
    0x0002af84 move s2, fp                   |     s2 = fp;
    0x0002af88 b 0x2af40                     |     goto label_76;
                                             | label_187:
    0x0002af8c move s0, s5                   |     s0 = s5;
    0x0002af90 lw s4, 0xac(sp)               |     s4 = *(var_ach);
    0x0002af94 move s5, s6                   |     s5 = s6;
                                             |     if (s6 == 0) {
    0x0002af98 beqz s6, 0x2a6cc              |         goto label_49;
                                             |     }
    0x0002af9c lw a0, 4(s4)                  |     a0 = *((s4 + 1));
    0x0002afa0 lui v0, 1                     |     v0 = g_closure_sink;
    0x0002afa4 sw a0, 4(s6)                  |     *((s6 + 1)) = a0;
    0x0002afa8 lw a1, 0x18(s4)               |     a1 = *((s4 + 6));
    0x0002afac and a1, a1, v0                |     a1 &= v0;
    0x0002afb0 lw a0, 4(s4)                  |     a0 = *((s4 + 1));
                                             |     if (a1 != 0) {
    0x0002afb4 bnez a1, 0x2b180              |         goto label_188;
                                             |     }
                                             |     if (a0 == 0) {
    0x0002afb8 beql a0, zero, 0x2afd4        |         goto label_177;
                                             |     }
    0x0002afbc lw v0, 8(s5)                  |     v0 = *((s5 + 2));
    0x0002afc0 lw a0, 0x18(a0)               |     a0 = *((a0 + 6));
    0x0002afc4 and v0, v0, a0                |     v0 &= a0;
    0x0002afc8 lw s2, 0x6c(sp)               |     s2 = *(var_6ch);
                                             |     if (v0 == 0) {
    0x0002afcc beqz v0, 0x2ab78              |         goto label_64;
                                             |     }
    0x0002afd0 lw v0, 8(s5)                  |     v0 = *((s5 + 2));
                                             | label_177:
    0x0002afd4 lw v0, -0x7fe8(gp)            |     v0 = *((gp - 8186));
                                             |     if (s4 != v0) {
    0x0002afd8 bne s4, v0, 0x2aa28           |         goto label_72;
                                             |     }
    0x0002afdc lw v0, 8(s4)                  |     v0 = *((s4 + 2));
    0x0002afe0 sw v0, 8(s5)                  |     *((s5 + 2)) = v0;
    0x0002afe4 lw v0, 4(s4)                  |     v0 = *((s4 + 1));
    0x0002afe8 lw s2, 0x6c(sp)               |     s2 = *(var_6ch);
                                             |     if (v0 != 0) {
    0x0002afec bnez v0, 0x2ab78              |         goto label_64;
                                             |     }
    0x0002aff0 lw v0, 0xc(s5)                |     v0 = *((s5 + 3));
                                             | label_82:
    0x0002aff4 lw v0, -0x7fe8(gp)            |     v0 = *((gp - 8186));
                                             |     if (s4 != v0) {
    0x0002aff8 bne s4, v0, 0x2aa64           |         goto label_73;
                                             |     }
    0x0002affc lw v0, 8(s4)                  |     v0 = *((s4 + 2));
    0x0002b000 sw v0, 0xc(s5)                |     *((s5 + 3)) = v0;
    0x0002b004 b 0x2ab74                     |     goto label_65;
                                             | label_182:
    0x0002b008 move s0, s6                   |     s0 = s6;
                                             |     if (s7 == 0) {
    0x0002b00c beqz s7, 0x2a834              |         goto label_69;
                                             |     }
    0x0002b010 lw v0, 0xc(s7)                |     v0 = *((s7 + 3));
    0x0002b014 b 0x2add4                     |     goto label_77;
                                             | label_170:
    0x0002b018 move s0, s4                   |     s0 = s4;
    0x0002b01c lw s4, 0x68(sp)               |     s4 = *(var_68h);
                                             |     if (s1 != 0) {
    0x0002b020 bnez s1, 0x2ae4c              |         goto label_78;
                                             |     }
                                             | label_168:
    0x0002b024 lw v0, 4(s4)                  |     v0 = *((s4 + 1));
                                             | label_87:
    0x0002b028 lw s0, 0x6c(sp)               |     s0 = *(var_6ch);
                                             |     if (v0 == 0) {
    0x0002b02c bnel v0, zero, 0x2ae84        |         goto label_79;
                                             |     }
    0x0002b030 lw v0, 0x88(sp)               |     v0 = *(var_88h);
    0x0002b034 lw t9, -0x793c(gp)            |     t9 = *((gp - 7759));
    0x0002b038 lw a1, 0xf0(sp)               |     a1 = *(arg_f0h);
    0x0002b03c lw a0, -0x35d4(v0)            |     a0 = *((v0 - 3445));
    0x0002b040 jalr t9                       |     t9 ();
    0x0002b044 move s5, v0                   |     s5 = v0;
    0x0002b048 lw v0, 0x84(sp)               |     v0 = *(var_84h);
    0x0002b04c lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x0002b050 sw v0, 0x58(sp)               |     *(var_58h) = v0;
                                             |     if (s5 == 0) {
    0x0002b054 beqz s5, 0x2ae80              |         goto label_80;
                                             |     }
    0x0002b058 lw v0, -0x7fe0(gp)            |     v0 = *((gp - 8184));
    0x0002b05c lw s7, (s5)                   |     s7 = *(s5);
    0x0002b060 addiu a0, v0, -0x3f24         |     a0 = v0 + -0x3f24;
    0x0002b064 lw s6, -0x3f24(v0)            |     s6 = *((v0 - 4041));
    0x0002b068 lw s2, 4(a0)                  |     s2 = *((a0 + 1));
                                             |     if (s7 == 0) {
    0x0002b06c beqz s7, 0x2ae80              |         goto label_80;
                                             |     }
    0x0002b070 addiu s3, sp, 0x58            |     s3 = sp + 0x58;
    0x0002b074 b 0x2b084                     |     goto label_189;
                                             | label_81:
    0x0002b078 sltu v0, s0, s7               |     v0 = (s0 < s7) ? 1 : 0;
                                             |     if (v0 == 0) {
    0x0002b07c beql v0, zero, 0x2ae84        |         goto label_79;
                                             |     }
    0x0002b080 lw s0, 0x6c(sp)               |     s0 = *(var_6ch);
                                             | label_189:
    0x0002b084 addu fp, s0, s7               |     fp = s0 + s7;
    0x0002b088 srl fp, fp, 1                 |     fp >>= 1;
    0x0002b08c mul v0, s6, fp                |     __asm ("mul v0, s6, fp");
    0x0002b090 move a0, s3                   |     a0 = s3;
    0x0002b094 move t9, s2                   |     t9 = s2;
    0x0002b098 addu s1, v0, s5               |     s1 = v0 + s5;
    0x0002b09c addiu s1, s1, 8               |     s1 += 8;
    0x0002b0a0 move a1, s1                   |     a1 = s1;
    0x0002b0a4 jalr t9                       |     t9 ();
    0x0002b0a8 lw gp, 0x18(sp)               |     gp = *(var_18h);
                                             |     if (v0 == 0) {
    0x0002b0ac beqz v0, 0x2b1b0              |         goto label_190;
                                             |     }
                                             |     if (v0 >= 0) {
    0x0002b0b0 bgezl v0, 0x2b078             |         goto label_81;
                                             |     }
    0x0002b0b4 addiu s0, fp, 1               |     s0 = fp + 1;
    0x0002b0b8 move s7, fp                   |     s7 = fp;
    0x0002b0bc b 0x2b078                     |     goto label_81;
                                             | label_179:
    0x0002b0c0 lw s2, 0x6c(sp)               |     s2 = *(var_6ch);
                                             |     if (s5 == 0) {
    0x0002b0c4 beqz s5, 0x2ab78              |         goto label_64;
                                             |     }
    0x0002b0c8 lw v0, 0xc(s5)                |     v0 = *((s5 + 3));
    0x0002b0cc b 0x2aff4                     |     goto label_82;
                                             | label_128:
    0x0002b0d0 move s0, s7                   |     s0 = s7;
    0x0002b0d4 b 0x2ac98                     |     goto label_83;
                                             | label_167:
    0x0002b0d8 lw v0, 0x88(sp)               |     v0 = *(var_88h);
    0x0002b0dc lw t9, -0x793c(gp)            |     t9 = *((gp - 7759));
    0x0002b0e0 lw a1, 0xf0(sp)               |     a1 = *(arg_f0h);
    0x0002b0e4 lw a0, -0x35d4(v0)            |     a0 = *((v0 - 3445));
    0x0002b0e8 jalr t9                       |     t9 ();
    0x0002b0ec move s5, v0                   |     s5 = v0;
    0x0002b0f0 lw v0, 0x84(sp)               |     v0 = *(var_84h);
    0x0002b0f4 lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x0002b0f8 sw v0, 0x58(sp)               |     *(var_58h) = v0;
                                             |     if (s5 == 0) {
    0x0002b0fc beqz s5, 0x2a6cc              |         goto label_49;
                                             |     }
    0x0002b100 lw v0, -0x7fe0(gp)            |     v0 = *((gp - 8184));
    0x0002b104 lw s7, (s5)                   |     s7 = *(s5);
    0x0002b108 addiu a0, v0, -0x3f24         |     a0 = v0 + -0x3f24;
    0x0002b10c lw s6, -0x3f24(v0)            |     s6 = *((v0 - 4041));
    0x0002b110 lw s2, 4(a0)                  |     s2 = *((a0 + 1));
                                             |     if (s7 == 0) {
    0x0002b114 beqz s7, 0x2a6cc              |         goto label_49;
                                             |     }
    0x0002b118 addiu s3, sp, 0x58            |     s3 = sp + 0x58;
    0x0002b11c b 0x2b12c                     |     goto label_191;
                                             | label_85:
    0x0002b120 sltu v0, s0, s7               |     v0 = (s0 < s7) ? 1 : 0;
    0x0002b124 lw v0, -0x7fe8(gp)            |     v0 = *((gp - 8186));
                                             |     if (v0 == 0) {
    0x0002b128 beqz v0, 0x2a6d0              |         goto label_50;
                                             |     }
                                             | label_191:
    0x0002b12c addu fp, s0, s7               |     fp = s0 + s7;
    0x0002b130 srl fp, fp, 1                 |     fp >>= 1;
    0x0002b134 mul v0, s6, fp                |     __asm ("mul v0, s6, fp");
    0x0002b138 move a0, s3                   |     a0 = s3;
    0x0002b13c move t9, s2                   |     t9 = s2;
    0x0002b140 addu s1, v0, s5               |     s1 = v0 + s5;
    0x0002b144 addiu s1, s1, 8               |     s1 += 8;
    0x0002b148 move a1, s1                   |     a1 = s1;
    0x0002b14c jalr t9                       |     t9 ();
    0x0002b150 lw gp, 0x18(sp)               |     gp = *(var_18h);
                                             |     if (v0 == 0) {
    0x0002b154 beqz v0, 0x2ae14              |         goto label_84;
                                             |     }
                                             |     if (v0 >= 0) {
    0x0002b158 bgezl v0, 0x2b120             |         goto label_85;
                                             |     }
    0x0002b15c addiu s0, fp, 1               |     s0 = fp + 1;
    0x0002b160 move s7, fp                   |     s7 = fp;
    0x0002b164 b 0x2b120                     |     goto label_85;
                                             | label_158:
    0x0002b168 lw a3, -0x7fe8(gp)            |     a3 = *((gp - 8186));
                                             | label_160:
    0x0002b16c lw t9, -0x796c(gp)            |     t9 = *((gp - 7771));
    0x0002b170 sw zero, 0x10(sp)             |     *(var_10h) = 0;
    0x0002b174 addiu a3, a3, 0x75b0          |     a3 += 0x75b0;
    0x0002b178 addiu a2, zero, 0x32d         |     a2 = 0x32d;
    0x0002b17c b 0x2a6e8                     |     goto label_60;
                                             | label_188:
    0x0002b180 lw s2, 0x6c(sp)               |     s2 = *(var_6ch);
                                             |     if (a0 != 0) {
    0x0002b184 bnez a0, 0x2ab78              |         goto label_64;
                                             |     }
    0x0002b188 lw v0, 0xc(s5)                |     v0 = *((s5 + 3));
    0x0002b18c b 0x2aff4                     |     goto label_82;
                                             | label_172:
    0x0002b190 lw s5, 0x6c(sp)               |     s5 = *(var_6ch);
                                             |     if (a1 != 0) {
    0x0002b194 bnez a1, 0x2a1d0              |         goto label_39;
                                             |     }
    0x0002b198 lw v0, 0xc(s6)                |     v0 = *((s6 + 3));
    0x0002b19c b 0x2aa58                     |     goto label_71;
                                             | label_185:
    0x0002b1a0 lw s0, 0x6c(sp)               |     s0 = *(var_6ch);
                                             |     if (a0 != 0) {
    0x0002b1a4 bnez a0, 0x2ae84              |         goto label_79;
                                             |     }
    0x0002b1a8 lw v0, 0xc(s1)                |     v0 = *((s1 + 3));
    0x0002b1ac b 0x2ae70                     |     goto label_86;
                                             | label_190:
    0x0002b1b0 lw s0, 0x6c(sp)               |     s0 = *(var_6ch);
                                             |     if (s1 == 0) {
    0x0002b1b4 beqz s1, 0x2ae84              |         goto label_79;
                                             |     }
    0x0002b1b8 lw v0, 0xc(s1)                |     v0 = *((s1 + 3));
    0x0002b1bc b 0x2ae70                     |     goto label_86;
                                             | label_169:
    0x0002b1c0 lw s4, 0x68(sp)               |     s4 = *(var_68h);
    0x0002b1c4 lw v0, 4(s4)                  |     v0 = *((s4 + 1));
    0x0002b1c8 b 0x2b028                     |     goto label_87;
                                             | label_183:
    0x0002b1cc lw s2, 0x6c(sp)               |     s2 = *(var_6ch);
                                             |     if (v1 != 0) {
    0x0002b1d0 bnez v1, 0x2a838              |         goto label_68;
                                             |     }
    0x0002b1d4 lw v0, 0xc(s7)                |     v0 = *((s7 + 3));
    0x0002b1d8 b 0x2add4                     |     goto label_77;
                                             | }
    ; assembly                                       | /* r2dec pseudo code output */
                                                     | /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/lib/libgobject-2.0.so.0.6000.7 @ 0x323cc */
                                                     | #include <stdint.h>
                                                     |  
    ; (fcn) sym.g_signal_has_handler_pending ()      | void g_signal_has_handler_pending () {
    0x000323cc lui gp, 4                             |     
    0x000323d0 addiu gp, gp, 0x1d44                  |     
    0x000323d4 addu gp, gp, t9                       |     gp += t9;
    0x000323d8 addiu sp, sp, -0x78                   |     
    0x000323dc lw t9, -0x7d4c(gp)                    |     t9 = *((gp - 8019));
    0x000323e0 sw gp, 0x20(sp)                       |     *(var_20h) = gp;
    0x000323e4 sw s6, 0x68(sp)                       |     *(var_68h) = s6;
    0x000323e8 sw s4, 0x60(sp)                       |     *(var_60h) = s4;
    0x000323ec sw s2, 0x58(sp)                       |     *(var_58h) = s2;
    0x000323f0 sw s1, 0x54(sp)                       |     *(var_54h) = s1;
    0x000323f4 sw ra, 0x74(sp)                       |     *(var_74h) = ra;
    0x000323f8 sw fp, 0x70(sp)                       |     *(var_70h) = fp;
    0x000323fc sw s7, 0x6c(sp)                       |     *(var_6ch) = s7;
    0x00032400 sw s5, 0x64(sp)                       |     *(var_64h) = s5;
    0x00032404 sw s3, 0x5c(sp)                       |     *(var_5ch) = s3;
    0x00032408 sw s0, 0x50(sp)                       |     *(var_50h) = s0;
    0x0003240c move s4, a0                           |     s4 = a0;
    0x00032410 move s1, a1                           |     s1 = a1;
    0x00032414 move s2, a2                           |     s2 = a2;
    0x00032418 move s6, a3                           |     s6 = a3;
    0x0003241c bal 0x42ca4                           |     sym_g_type_check_instance ();
    0x00032420 lw gp, 0x20(sp)                       |     gp = *(var_20h);
                                                     |     if (v0 == 0) {
    0x00032424 bnez v0, 0x32480                      |         
    0x00032428 lw a2, -0x7fe8(gp)                    |         a2 = *((gp - 8186));
    0x0003242c lw a1, -0x7fe8(gp)                    |         a1 = *((gp - 8186));
    0x00032430 lw a0, -0x7fe8(gp)                    |         a0 = *((gp - 8186));
    0x00032434 lw t9, -0x7978(gp)                    |         t9 = *((gp - 7774));
    0x00032438 addiu a2, a2, 0x4818                  |         a2 += 0x4818;
    0x0003243c addiu a1, a1, 0x75d0                  |         a1 += 0x75d0;
    0x00032440 addiu a0, a0, 0x1944                  |         a0 += 0x1944;
    0x00032444 move s0, v0                           |         s0 = v0;
    0x00032448 jalr t9                               |         t9 ();
    0x0003244c lw ra, 0x74(sp)                       |         ra = *(var_74h);
                                                     | label_0:
    0x00032450 move v0, s0                           |         v0 = s0;
    0x00032454 lw fp, 0x70(sp)                       |         fp = *(var_70h);
    0x00032458 lw s7, 0x6c(sp)                       |         s7 = *(var_6ch);
    0x0003245c lw s6, 0x68(sp)                       |         s6 = *(var_68h);
    0x00032460 lw s5, 0x64(sp)                       |         s5 = *(var_64h);
    0x00032464 lw s4, 0x60(sp)                       |         s4 = *(var_60h);
    0x00032468 lw s3, 0x5c(sp)                       |         s3 = *(var_5ch);
    0x0003246c lw s2, 0x58(sp)                       |         s2 = *(var_58h);
    0x00032470 lw s1, 0x54(sp)                       |         s1 = *(var_54h);
    0x00032474 lw s0, 0x50(sp)                       |         s0 = *(var_50h);
    0x00032478 addiu sp, sp, 0x78                    |         
    0x0003247c jr ra                                 |         return v0;
                                                     |     }
    0x00032480 lw a2, -0x7fe8(gp)                    |     a2 = *((gp - 8186));
                                                     |     if (s1 == 0) {
    0x00032484 beqz s1, 0x32598                      |         goto label_20;
                                                     |     }
    0x00032488 lw s3, -0x7fe0(gp)                    |     s3 = *((gp - 8184));
    0x0003248c lw t9, -0x7a90(gp)                    |     t9 = *((gp - 7844));
    0x00032490 addiu a0, s3, -0x35e4                 |     a0 = s3 + -0x35e4;
    0x00032494 jalr t9                               |     t9 ();
    0x00032498 lw gp, 0x20(sp)                       |     gp = *(var_20h);
    0x0003249c lw v0, -0x7fe0(gp)                    |     v0 = *((gp - 8184));
    0x000324a0 lw v0, -0x35e8(v0)                    |     v0 = *((v0 - 3450));
    0x000324a4 sltu v0, s1, v0                       |     v0 = (s1 < v0) ? 1 : 0;
    0x000324a8 lw v1, -0x7fe0(gp)                    |     v1 = *((gp - 8184));
                                                     |     if (v0 == 0) {
    0x000324ac beqz v0, 0x326dc                      |         goto label_21;
                                                     |     }
    0x000324b0 sll v0, s1, 2                         |     v0 = s1 << 2;
    0x000324b4 lw s5, -0x35ec(v1)                    |     s5 = *((v1 - 3451));
    0x000324b8 lwx s5, v0(s5)                        |     __asm ("lwx s5, v0(s5)");
                                                     | label_2:
    0x000324bc lw v0, 0xc(s5)                        |     v0 = *((s5 + 3));
                                                     |     if (s2 == 0) {
    0x000324c0 bnel s2, zero, 0x325ec                |         goto label_22;
                                                     |     }
    0x000324c4 lw t9, -0x7db0(gp)                    |     t9 = *((gp - 8044));
                                                     |     do {
    0x000324c8 addiu v0, zero, 0x23                  |         v0 = 0x23;
    0x000324cc addiu s7, zero, 1                     |         s7 = 1;
    0x000324d0 addiu a1, zero, 3                     |         a1 = 3;
    0x000324d4 sw s7, 0x1c(sp)                       |         *(var_1ch) = s7;
    0x000324d8 sw zero, 0x18(sp)                     |         *(var_18h) = 0;
    0x000324dc sw zero, 0x14(sp)                     |         *(var_14h) = 0;
    0x000324e0 sw zero, 0x10(sp)                     |         *(var_10h) = 0;
    0x000324e4 move a3, s2                           |         a3 = s2;
    0x000324e8 move a2, s1                           |         a2 = s1;
                                                     |         if (s6 != 0) {
    0x000324ec movz a1, v0, s6                       |             a1 = v0;
                                                     |         }
    0x000324f0 addiu t9, t9, 0x6f58                  |         t9 += 0x6f58;
    0x000324f4 move a0, s4                           |         a0 = s4;
    0x000324f8 bal 0x26f58                           |         fcn_00026f58 ();
    0x000324fc move s0, v0                           |         s0 = v0;
    0x00032500 lw gp, 0x20(sp)                       |         gp = *(var_20h);
                                                     |         if (v0 == 0) {
    0x00032504 beqz v0, 0x326e4                      |             goto label_23;
                                                     |         }
    0x00032508 lw s2, (v0)                           |         s2 = *(v0);
    0x0003250c lw s7, 8(v0)                          |         s7 = *((v0 + 2));
    0x00032510 lw v0, 0x14(s2)                       |         v0 = *((s2 + 5));
    0x00032514 addiu s1, v0, -1                      |         s1 = v0 + -1;
                                                     |         if (v0 != 0) {
    0x00032518 bnez v0, 0x32640                      |             goto label_24;
                                                     |         }
    0x0003251c lw a2, -0x7fe8(gp)                    |         a2 = *((gp - 8186));
    0x00032520 lw a1, -0x7fe8(gp)                    |         a1 = *((gp - 8186));
    0x00032524 lw a0, -0x7fe8(gp)                    |         a0 = *((gp - 8186));
    0x00032528 lw t9, -0x7978(gp)                    |         t9 = *((gp - 7774));
    0x0003252c addiu a2, a2, 0x625c                  |         a2 += 0x625c;
    0x00032530 addiu a1, a1, 0x7750                  |         a1 += 0x7750;
    0x00032534 addiu a0, a0, 0x1944                  |         a0 += 0x1944;
    0x00032538 jalr t9                               |         t9 ();
    0x0003253c lw gp, 0x20(sp)                       |         gp = *(var_20h);
                                                     | label_1:
    0x00032540 lw t9, -0x7af0(gp)                    |         t9 = *((gp - 7868));
    0x00032544 move a1, s0                           |         a1 = s0;
    0x00032548 addiu a0, zero, 0xc                   |         a0 = 0xc;
    0x0003254c jalr t9                               |         t9 ();
    0x00032550 lw gp, 0x20(sp)                       |         gp = *(var_20h);
    0x00032554 addiu s0, zero, 1                     |         s0 = 1;
                                                     | label_3:
    0x00032558 lw t9, -0x78f0(gp)                    |         t9 = *((gp - 7740));
    0x0003255c addiu a0, s3, -0x35e4                 |         a0 = s3 + -0x35e4;
    0x00032560 jalr t9                               |         t9 ();
    0x00032564 lw ra, 0x74(sp)                       |         ra = *(var_74h);
    0x00032568 move v0, s0                           |         v0 = s0;
    0x0003256c lw fp, 0x70(sp)                       |         fp = *(var_70h);
    0x00032570 lw s7, 0x6c(sp)                       |         s7 = *(var_6ch);
    0x00032574 lw s6, 0x68(sp)                       |         s6 = *(var_68h);
    0x00032578 lw s5, 0x64(sp)                       |         s5 = *(var_64h);
    0x0003257c lw s4, 0x60(sp)                       |         s4 = *(var_60h);
    0x00032580 lw s3, 0x5c(sp)                       |         s3 = *(var_5ch);
    0x00032584 lw s2, 0x58(sp)                       |         s2 = *(var_58h);
    0x00032588 lw s1, 0x54(sp)                       |         s1 = *(var_54h);
    0x0003258c lw s0, 0x50(sp)                       |         s0 = *(var_50h);
    0x00032590 addiu sp, sp, 0x78                    |         
    0x00032594 jr ra                                 |         return v0;
                                                     | label_20:
    0x00032598 lw a1, -0x7fe8(gp)                    |         a1 = *((gp - 8186));
    0x0003259c lw a0, -0x7fe8(gp)                    |         a0 = *((gp - 8186));
    0x000325a0 lw t9, -0x7978(gp)                    |         t9 = *((gp - 7774));
    0x000325a4 addiu a2, a2, 0x6398                  |         a2 += 0x6398;
    0x000325a8 addiu a1, a1, 0x75d0                  |         a1 += 0x75d0;
    0x000325ac addiu a0, a0, 0x1944                  |         a0 += 0x1944;
    0x000325b0 jalr t9                               |         t9 ();
    0x000325b4 lw ra, 0x74(sp)                       |         ra = *(var_74h);
    0x000325b8 move s0, zero                         |         s0 = 0;
    0x000325bc move v0, s0                           |         v0 = s0;
    0x000325c0 lw fp, 0x70(sp)                       |         fp = *(var_70h);
    0x000325c4 lw s7, 0x6c(sp)                       |         s7 = *(var_6ch);
    0x000325c8 lw s6, 0x68(sp)                       |         s6 = *(var_68h);
    0x000325cc lw s5, 0x64(sp)                       |         s5 = *(var_64h);
    0x000325d0 lw s4, 0x60(sp)                       |         s4 = *(var_60h);
    0x000325d4 lw s3, 0x5c(sp)                       |         s3 = *(var_5ch);
    0x000325d8 lw s2, 0x58(sp)                       |         s2 = *(var_58h);
    0x000325dc lw s1, 0x54(sp)                       |         s1 = *(var_54h);
    0x000325e0 lw s0, 0x50(sp)                       |         s0 = *(var_50h);
    0x000325e4 addiu sp, sp, 0x78                    |         
    0x000325e8 jr ra                                 |         return v0;
                                                     | label_22:
    0x000325ec ext v0, v0, 5, 1                      |         __asm ("ext v0, v0, 5, 1");
    0x000325f0 lw t9, -0x7db0(gp)                    |         t9 = *((gp - 8044));
    0x000325f4 bnez v0, 0x324c8                      |         
                                                     |     } while (v0 != 0);
    0x000325f8 lw a3, -0x7fe8(gp)                    |     a3 = *((gp - 8186));
    0x000325fc lw a2, -0x7fe8(gp)                    |     a2 = *((gp - 8186));
    0x00032600 lw a0, -0x7fe8(gp)                    |     a0 = *((gp - 8186));
    0x00032604 lw t9, -0x7a68(gp)                    |     t9 = *((gp - 7834));
    0x00032608 addiu a3, a3, 0x72a4                  |     a3 += 0x72a4;
    0x0003260c addiu a2, a2, 0x63d0                  |     a2 += 0x63d0;
    0x00032610 addiu a1, zero, 0x10                  |     a1 = 0x10;
    0x00032614 addiu a0, a0, 0x1944                  |     a0 += 0x1944;
    0x00032618 sw s2, 0x14(sp)                       |     *(var_14h) = s2;
    0x0003261c sw s1, 0x10(sp)                       |     *(var_10h) = s1;
    0x00032620 jalr t9                               |     t9 ();
    0x00032624 lw gp, 0x20(sp)                       |     gp = *(var_20h);
    0x00032628 addiu a0, s3, -0x35e4                 |     a0 = s3 + -0x35e4;
    0x0003262c lw t9, -0x78f0(gp)                    |     t9 = *((gp - 7740));
    0x00032630 move s0, zero                         |     s0 = 0;
    0x00032634 jalr t9                               |     t9 ();
    0x00032638 lw ra, 0x74(sp)                       |     ra = *(var_74h);
    0x0003263c b 0x32450                             |     goto label_0;
                                                     | label_24:
    0x00032640 sw s1, 0x14(s2)                       |     *((s2 + 5)) = s1;
                                                     |     if (s1 != 0) {
    0x00032644 bnez s1, 0x32540                      |         goto label_1;
                                                     |     }
    0x00032648 lw v0, 4(s2)                          |     v0 = *((s2 + 1));
    0x0003264c lw a0, 8(s2)                          |     a0 = *((s2 + 2));
                                                     |     if (v0 != 0) {
    0x00032650 beqz v0, 0x3265c                      |         
    0x00032654 sw a0, 8(v0)                          |         *((v0 + 2)) = a0;
    0x00032658 lw a0, 8(s2)                          |         a0 = *((s2 + 2));
                                                     |     }
    0x0003265c move s6, zero                         |     s6 = 0;
                                                     |     if (a0 == 0) {
    0x00032660 beqz a0, 0x328c8                      |         goto label_25;
                                                     |     }
    0x00032664 lw v0, 4(s2)                          |     v0 = *((s2 + 1));
    0x00032668 sw v0, 4(a0)                          |     *((a0 + 1)) = v0;
                                                     | label_13:
    0x0003266c lui a0, 1                             |     a0 = g_closure_sink;
                                                     |     if (s4 == 0) {
    0x00032670 beqz s4, 0x32858                      |         goto label_17;
                                                     |     }
    0x00032674 lw v0, 0x18(s2)                       |     v0 = *((s2 + 6));
    0x00032678 and v0, v0, a0                        |     v0 &= a0;
    0x0003267c lw a1, 4(s2)                          |     a1 = *((s2 + 1));
                                                     |     if (v0 != 0) {
    0x00032680 bnez v0, 0x328a0                      |         goto label_26;
                                                     |     }
                                                     |     if (a1 != 0) {
    0x00032684 beqz a1, 0x3269c                      |         
    0x00032688 nop                                   |         
    0x0003268c lw v0, 0x18(a1)                       |         v0 = *((a1 + 6));
    0x00032690 and a0, v0, a0                        |         a0 = v0 & a0;
    0x00032694 lw t9, -0x78f0(gp)                    |         t9 = *((gp - 7740));
                                                     |         if (a0 == 0) {
    0x00032698 beqz a0, 0x3285c                      |             goto label_11;
                                                     |         }
                                                     |     }
    0x0003269c lw v0, -0x7fe0(gp)                    |     v0 = *((gp - 8184));
                                                     |     if (s6 == 0) {
    0x000326a0 beqz s6, 0x329cc                      |         goto label_27;
                                                     |     }
    0x000326a4 lw v0, 8(s6)                          |     v0 = *((s6 + 2));
                                                     | label_16:
    0x000326a8 lw v0, -0x7fe8(gp)                    |     v0 = *((gp - 8186));
                                                     |     if (s2 == v0) {
    0x000326ac beq s2, v0, 0x3297c                   |         goto label_28;
                                                     |     }
    0x000326b0 lw a3, -0x7fe8(gp)                    |     a3 = *((gp - 8186));
    0x000326b4 addiu v0, v0, 0x62d0                  |     v0 += 0x62d0;
    0x000326b8 lw t9, -0x796c(gp)                    |     t9 = *((gp - 7771));
    0x000326bc sw v0, 0x10(sp)                       |     *(var_10h) = v0;
    0x000326c0 addiu a3, a3, 0x7750                  |     a3 += 0x7750;
    0x000326c4 addiu a2, zero, 0x2a9                 |     a2 = 0x2a9;
                                                     | label_14:
    0x000326c8 lw a1, -0x7fe8(gp)                    |     a1 = *((gp - 8186));
    0x000326cc lw a0, -0x7fe8(gp)                    |     a0 = *((gp - 8186));
    0x000326d0 addiu a1, a1, 0x6218                  |     a1 += 0x6218;
    0x000326d4 addiu a0, a0, 0x1944                  |     a0 += 0x1944;
    0x000326d8 jalr t9                               |     t9 ();
                                                     | label_21:
    0x000326dc move s5, zero                         |     s5 = 0;
    0x000326e0 b 0x324bc                             |     goto label_2;
                                                     | label_23:
    0x000326e4 lw s2, 0x18(s5)                       |     s2 = *((s5 + 6));
    0x000326e8 move s0, zero                         |     s0 = 0;
                                                     |     if (s2 == 0) {
    0x000326ec beqz s2, 0x32558                      |         goto label_3;
                                                     |     }
    0x000326f0 lw v0, (s2)                           |     v0 = *(s2);
    0x000326f4 addiu v0, s2, 8                       |     v0 = s2 + 8;
                                                     |     if (v0 == s7) {
    0x000326f8 beq v0, s7, 0x32834                   |         goto label_29;
                                                     |     }
    0x000326fc lw v0, (s4)                           |     v0 = *(s4);
                                                     | label_8:
    0x00032700 lw s4, -0x7fe0(gp)                    |     s4 = *((gp - 8184));
    0x00032704 lw v0, (v0)                           |     v0 = *(v0);
    0x00032708 addiu v1, s4, -0x3f30                 |     v1 = s4 + -0x3f30;
    0x0003270c sw v0, 0x28(sp)                       |     *(var_28h) = v0;
    0x00032710 sw v1, 0x3c(sp)                       |     *(var_3ch) = v1;
    0x00032714 lw s6, (s2)                           |     s6 = *(s2);
    0x00032718 lw v1, 4(v1)                          |     v1 = *((v1 + 1));
    0x0003271c lw s1, -0x3f30(s4)                    |     s1 = *((s4 - 4044));
    0x00032720 sw v1, 0x38(sp)                       |     *(var_38h) = v1;
                                                     |     if (s6 == 0) {
    0x00032724 beqz s6, 0x3278c                      |         goto label_30;
                                                     |     }
    0x00032728 move fp, zero                         |     fp = 0;
    0x0003272c addiu s5, sp, 0x28                    |     s5 = sp + 0x28;
    0x00032730 b 0x32740                             |     
                                                     |     while (v0 >= 0) {
                                                     | label_4:
    0x00032734 sltu v0, fp, s6                       |         v0 = (fp < s6) ? 1 : 0;
    0x00032738 lw v0, 0x28(sp)                       |         v0 = *(var_28h);
                                                     |         if (v0 == 0) {
    0x0003273c beqz v0, 0x3278c                      |             goto label_30;
                                                     |         }
    0x00032740 addu s7, fp, s6                       |         s7 = fp + s6;
    0x00032744 srl s7, s7, 1                         |         s7 >>= 1;
    0x00032748 mul v0, s1, s7                        |         __asm ("mul v0, s1, s7");
    0x0003274c lw t9, 0x38(sp)                       |         t9 = *(var_38h);
    0x00032750 move a0, s5                           |         a0 = s5;
    0x00032754 addu s0, v0, s2                       |         s0 = v0 + s2;
    0x00032758 addiu s0, s0, 8                       |         s0 += 8;
    0x0003275c move a1, s0                           |         a1 = s0;
    0x00032760 jalr t9                               |         t9 ();
    0x00032764 lw gp, 0x20(sp)                       |         gp = *(var_20h);
                                                     |         if (v0 == 0) {
    0x00032768 beqz v0, 0x32784                      |             goto label_31;
                                                     |         }
    0x0003276c bgezl v0, 0x32734                     |         
                                                     |     }
    0x00032770 addiu fp, s7, 1                       |     fp = s7 + 1;
    0x00032774 move s6, s7                           |     s6 = s7;
    0x00032778 b 0x32734                             |     goto label_4;
                                                     |     do {
    0x0003277c move s0, zero                         |         s0 = 0;
    0x00032780 b 0x32558                             |         goto label_3;
                                                     | label_31:
    0x00032784 lw v0, 0x28(sp)                       |         v0 = *(var_28h);
                                                     |         if (s0 != 0) {
    0x00032788 bnez s0, 0x32828                      |             goto label_32;
                                                     |         }
                                                     | label_30:
    0x0003278c addiu s5, sp, 0x28                    |         s5 = sp + 0x28;
                                                     | label_5:
    0x00032790 lw t9, -0x7fa8(gp)                    |         t9 = *((gp - 8170));
    0x00032794 beqz v0, 0x3277c                      |         
                                                     |     } while (v0 == 0);
    0x00032798 move a0, v0                           |     a0 = v0;
    0x0003279c bal 0x3f9b8                           |     sym_g_type_parent ();
    0x000327a0 sw v0, 0x28(sp)                       |     *(var_28h) = v0;
    0x000327a4 lw v1, 0x3c(sp)                       |     v1 = *(var_3ch);
    0x000327a8 lw s7, (s2)                           |     s7 = *(s2);
    0x000327ac lw gp, 0x20(sp)                       |     gp = *(var_20h);
    0x000327b0 lw s6, -0x3f30(s4)                    |     s6 = *((s4 - 4044));
    0x000327b4 lw t9, 4(v1)                          |     t9 = *((v1 + 1));
                                                     |     if (s7 == 0) {
    0x000327b8 beqz s7, 0x32790                      |         goto label_5;
                                                     |     }
    0x000327bc move fp, zero                         |     fp = 0;
    0x000327c0 b 0x327d4                             |     goto label_33;
                                                     | label_6:
    0x000327c4 addiu fp, s1, 1                       |     fp = s1 + 1;
    0x000327c8 sltu v0, fp, s7                       |     v0 = (fp < s7) ? 1 : 0;
    0x000327cc lw v0, 0x28(sp)                       |     v0 = *(var_28h);
                                                     |     if (v0 == 0) {
    0x000327d0 beqz v0, 0x32790                      |         goto label_5;
                                                     |     }
                                                     | label_33:
    0x000327d4 addu s1, fp, s7                       |     s1 = fp + s7;
                                                     | label_7:
    0x000327d8 srl s1, s1, 1                         |     s1 >>= 1;
    0x000327dc mul v0, s6, s1                        |     __asm ("mul v0, s6, s1");
    0x000327e0 move a0, s5                           |     a0 = s5;
    0x000327e4 sw t9, 0x38(sp)                       |     *(var_38h) = t9;
    0x000327e8 addu s0, v0, s2                       |     s0 = v0 + s2;
    0x000327ec addiu s0, s0, 8                       |     s0 += 8;
    0x000327f0 move a1, s0                           |     a1 = s0;
    0x000327f4 jalr t9                               |     t9 ();
    0x000327f8 lw gp, 0x20(sp)                       |     gp = *(var_20h);
                                                     |     if (v0 == 0) {
    0x000327fc beqz v0, 0x32820                      |         goto label_34;
                                                     |     }
    0x00032800 lw t9, 0x38(sp)                       |     t9 = *(var_38h);
                                                     |     if (v0 >= 0) {
    0x00032804 bgez v0, 0x327c4                      |         goto label_6;
                                                     |     }
    0x00032808 move s7, s1                           |     s7 = s1;
    0x0003280c sltu v0, fp, s7                       |     v0 = (fp < s7) ? 1 : 0;
    0x00032810 addu s1, fp, s7                       |     s1 = fp + s7;
                                                     |     if (v0 != 0) {
    0x00032814 bnez v0, 0x327d8                      |         goto label_7;
                                                     |     }
    0x00032818 lw v0, 0x28(sp)                       |     v0 = *(var_28h);
    0x0003281c b 0x32790                             |     goto label_5;
                                                     | label_34:
    0x00032820 lw v0, 0x28(sp)                       |     v0 = *(var_28h);
                                                     |     if (s0 == 0) {
    0x00032824 beqz s0, 0x32790                      |         goto label_5;
                                                     |     }
                                                     | label_32:
    0x00032828 lw s0, (s0)                           |     s0 = *(s0);
    0x0003282c sltu s0, zero, s0                     |     s0 = (0 < s0) ? 1 : 0;
    0x00032830 b 0x32558                             |     goto label_3;
                                                     |     if (v0 == 0) {
                                                     | label_29:
    0x00032834 beql v0, zero, 0x32700                |         goto label_8;
                                                     |     }
    0x00032838 lw v0, (s4)                           |     v0 = *(s4);
    0x0003283c lw s0, 8(s2)                          |     s0 = *((s2 + 2));
    0x00032840 lw v0, (s4)                           |     v0 = *(s4);
                                                     |     if (s0 == 0) {
    0x00032844 bnel s0, zero, 0x32700                |         goto label_8;
                                                     |     }
    0x00032848 sltu s0, zero, s0                     |     s0 = (0 < s0) ? 1 : 0;
    0x0003284c b 0x32558                             |     goto label_3;
                                                     | label_9:
    0x00032850 lw v0, 8(s2)                          |     v0 = *((s2 + 2));
    0x00032854 sw v0, 0xc(s6)                        |     *((s6 + 3)) = v0;
                                                     | label_17:
    0x00032858 lw t9, -0x78f0(gp)                    |     t9 = *((gp - 7740));
                                                     |     do {
                                                     | label_11:
    0x0003285c addiu a0, s3, -0x35e4                 |         a0 = s3 + -0x35e4;
    0x00032860 jalr t9                               |         t9 ();
    0x00032864 lw gp, 0x20(sp)                       |         gp = *(var_20h);
    0x00032868 lw t9, -0x7f18(gp)                    |         t9 = *((gp - 8134));
    0x0003286c lw a0, 0x1c(s2)                       |         a0 = *((s2 + 7));
    0x00032870 jalr t9                               |         t9 ();
    0x00032874 lw gp, 0x20(sp)                       |         gp = *(var_20h);
    0x00032878 lw t9, -0x7a90(gp)                    |         t9 = *((gp - 7844));
    0x0003287c addiu a0, s3, -0x35e4                 |         a0 = s3 + -0x35e4;
    0x00032880 jalr t9                               |         t9 ();
    0x00032884 lw gp, 0x20(sp)                       |         gp = *(var_20h);
    0x00032888 move a1, s2                           |         a1 = s2;
    0x0003288c lw t9, -0x7af0(gp)                    |         t9 = *((gp - 7868));
    0x00032890 addiu a0, zero, 0x24                  |         a0 = 0x24;
    0x00032894 jalr t9                               |         t9 ();
    0x00032898 lw gp, 0x20(sp)                       |         gp = *(var_20h);
    0x0003289c b 0x32540                             |         goto label_1;
                                                     | label_26:
    0x000328a0 lw t9, -0x78f0(gp)                    |         t9 = *((gp - 7740));
    0x000328a4 bnez a1, 0x3285c                      |         
                                                     |     } while (a1 != 0);
    0x000328a8 lw v0, -0x7fe0(gp)                    |     v0 = *((gp - 8184));
                                                     |     if (s6 == 0) {
    0x000328ac beqz s6, 0x32b3c                      |         goto label_35;
                                                     |     }
    0x000328b0 lw v0, 0xc(s6)                        |     v0 = *((s6 + 3));
                                                     | label_12:
    0x000328b4 lw t9, -0x7db0(gp)                    |     t9 = *((gp - 8044));
                                                     |     if (s2 == v0) {
    0x000328b8 beq s2, v0, 0x32850                   |         goto label_9;
                                                     |     }
    0x000328bc addiu t9, t9, 0x6f10                  |     t9 += 0x6f10;
    0x000328c0 bal 0x26f10                           |     fcn_00026f10 ();
    0x000328c4 nop                                   |     
                                                     | label_25:
    0x000328c8 lw v0, -0x7fe0(gp)                    |     v0 = *((gp - 8184));
    0x000328cc lw t9, -0x793c(gp)                    |     t9 = *((gp - 7759));
    0x000328d0 move a1, s4                           |     a1 = s4;
    0x000328d4 lw a0, -0x35d4(v0)                    |     a0 = *((v0 - 3445));
    0x000328d8 jalr t9                               |     t9 ();
    0x000328dc move v1, v0                           |     v1 = v0;
    0x000328e0 lw gp, 0x20(sp)                       |     gp = *(var_20h);
    0x000328e4 sw v0, 0x40(sp)                       |     *(var_40h) = v0;
    0x000328e8 sw s7, 0x28(sp)                       |     *(var_28h) = s7;
                                                     |     if (v0 == 0) {
    0x000328ec beqz v0, 0x329ac                      |         goto label_36;
                                                     |     }
    0x000328f0 lw v0, -0x7fe0(gp)                    |     v0 = *((gp - 8184));
    0x000328f4 lw t1, (v1)                           |     t1 = *(v1);
    0x000328f8 addiu a0, v0, -0x3f24                 |     a0 = v0 + -0x3f24;
    0x000328fc lw v0, -0x3f24(v0)                    |     v0 = *((v0 - 4041));
    0x00032900 sw v0, 0x44(sp)                       |     *(var_44h) = v0;
    0x00032904 lw v0, 4(a0)                          |     v0 = *((a0 + 1));
    0x00032908 sw v0, 0x48(sp)                       |     *(var_48h) = v0;
                                                     |     if (t1 == 0) {
    0x0003290c beqz t1, 0x329ac                      |         goto label_36;
                                                     |     }
    0x00032910 move t0, zero                         |     t0 = 0;
    0x00032914 addiu s5, sp, 0x28                    |     s5 = sp + 0x28;
    0x00032918 b 0x32930                             |     
                                                     |     while (v0 >= 0) {
    0x0003291c lw t1, 0x3c(sp)                       |         t1 = *(var_3ch);
    0x00032920 addiu t0, fp, 1                       |         t0 = fp + 1;
                                                     | label_10:
    0x00032924 sltu v0, t0, t1                       |         v0 = (t0 < t1) ? 1 : 0;
    0x00032928 lw v0, -0x7fe8(gp)                    |         v0 = *((gp - 8186));
                                                     |         if (v0 == 0) {
    0x0003292c beqz v0, 0x329b0                      |             goto label_37;
                                                     |         }
    0x00032930 addu fp, t1, t0                       |         fp = t1 + t0;
    0x00032934 lw v0, 0x44(sp)                       |         v0 = *(var_44h);
    0x00032938 srl fp, fp, 1                         |         fp >>= 1;
    0x0003293c mul a0, v0, fp                        |         __asm ("mul a0, v0, fp");
    0x00032940 lw v1, 0x40(sp)                       |         v1 = *(var_40h);
    0x00032944 lw t9, 0x48(sp)                       |         t9 = *(var_48h);
    0x00032948 sw t0, 0x38(sp)                       |         *(var_38h) = t0;
    0x0003294c sw t1, 0x3c(sp)                       |         *(var_3ch) = t1;
    0x00032950 addu a3, a0, v1                       |         a3 = a0 + v1;
    0x00032954 addiu s6, a3, 8                       |         s6 = a3 + 8;
    0x00032958 move a1, s6                           |         a1 = s6;
    0x0003295c move a0, s5                           |         a0 = s5;
    0x00032960 jalr t9                               |         t9 ();
    0x00032964 lw gp, 0x20(sp)                       |         gp = *(var_20h);
                                                     |         if (v0 == 0) {
    0x00032968 beqz v0, 0x32998                      |             goto label_38;
                                                     |         }
    0x0003296c lw t0, 0x38(sp)                       |         t0 = *(var_38h);
    0x00032970 bgez v0, 0x3291c                      |         
                                                     |     }
    0x00032974 move t1, fp                           |     t1 = fp;
    0x00032978 b 0x32924                             |     goto label_10;
                                                     | label_28:
    0x0003297c lw v0, 8(s2)                          |     v0 = *((s2 + 2));
    0x00032980 sw v0, 8(s6)                          |     *((s6 + 2)) = v0;
    0x00032984 lw v0, 4(s2)                          |     v0 = *((s2 + 1));
    0x00032988 lw t9, -0x78f0(gp)                    |     t9 = *((gp - 7740));
                                                     |     if (v0 != 0) {
    0x0003298c bnez v0, 0x3285c                      |         goto label_11;
                                                     |     }
    0x00032990 lw v0, 0xc(s6)                        |     v0 = *((s6 + 3));
    0x00032994 b 0x328b4                             |     goto label_12;
                                                     | label_38:
    0x00032998 lw v0, -0x7fe8(gp)                    |     v0 = *((gp - 8186));
                                                     |     if (s6 != 0) {
    0x0003299c beqz s6, 0x329b0                      |         
    0x000329a0 lw v0, 4(s2)                          |         v0 = *((s2 + 1));
    0x000329a4 sw v0, 4(s6)                          |         *((s6 + 1)) = v0;
    0x000329a8 b 0x3266c                             |         goto label_13;
                                                     | label_36:
    0x000329ac lw v0, -0x7fe8(gp)                    |         v0 = *((gp - 8186));
                                                     |     }
                                                     | label_37:
    0x000329b0 lw a3, -0x7fe8(gp)                    |     a3 = *((gp - 8186));
    0x000329b4 addiu v0, v0, 0x62c0                  |     v0 += 0x62c0;
    0x000329b8 lw t9, -0x796c(gp)                    |     t9 = *((gp - 7771));
    0x000329bc sw v0, 0x10(sp)                       |     *(var_10h) = v0;
    0x000329c0 addiu a3, a3, 0x7750                  |     a3 += 0x7750;
    0x000329c4 addiu a2, zero, 0x29c                 |     a2 = aav.0x0000029c;
    0x000329c8 b 0x326c8                             |     goto label_14;
                                                     | label_27:
    0x000329cc lw t9, -0x793c(gp)                    |     t9 = *((gp - 7759));
    0x000329d0 sw v0, 0x4c(sp)                       |     *(var_4ch) = v0;
    0x000329d4 lw a0, -0x35d4(v0)                    |     a0 = *((v0 - 3445));
    0x000329d8 move a1, s4                           |     a1 = s4;
    0x000329dc jalr t9                               |     t9 ();
    0x000329e0 sw v0, 0x40(sp)                       |     *(var_40h) = v0;
    0x000329e4 lw gp, 0x20(sp)                       |     gp = *(var_20h);
    0x000329e8 sw s7, 0x28(sp)                       |     *(var_28h) = s7;
                                                     |     if (v0 == 0) {
    0x000329ec beqz v0, 0x32a88                      |         goto label_39;
                                                     |     }
    0x000329f0 lw v0, -0x7fe0(gp)                    |     v0 = *((gp - 8184));
    0x000329f4 lw v1, 0x40(sp)                       |     v1 = *(var_40h);
    0x000329f8 addiu a0, v0, -0x3f24                 |     a0 = v0 + -0x3f24;
    0x000329fc lw v0, -0x3f24(v0)                    |     v0 = *((v0 - 4041));
    0x00032a00 lw t2, (v1)                           |     t2 = *(v1);
    0x00032a04 sw v0, 0x44(sp)                       |     *(var_44h) = v0;
    0x00032a08 lw v0, 4(a0)                          |     v0 = *((a0 + 1));
    0x00032a0c sw v0, 0x48(sp)                       |     *(var_48h) = v0;
                                                     |     if (t2 == 0) {
    0x00032a10 beqz t2, 0x32a88                      |         goto label_39;
                                                     |     }
    0x00032a14 move fp, zero                         |     fp = 0;
    0x00032a18 addiu s5, sp, 0x28                    |     s5 = sp + 0x28;
    0x00032a1c b 0x32a34                             |     
                                                     |     while (v0 >= 0) {
    0x00032a20 lw t2, 0x3c(sp)                       |         t2 = *(var_3ch);
    0x00032a24 addiu fp, t0, 1                       |         fp = t0 + 1;
                                                     | label_15:
    0x00032a28 sltu v0, fp, t2                       |         v0 = (fp < t2) ? 1 : 0;
                                                     |         if (v0 == 0) {
    0x00032a2c beql v0, zero, 0x32a8c                |             goto label_40;
                                                     |         }
    0x00032a30 lw v0, 4(s2)                          |         v0 = *((s2 + 1));
    0x00032a34 addu t0, fp, t2                       |         t0 = fp + t2;
    0x00032a38 lw v0, 0x44(sp)                       |         v0 = *(var_44h);
    0x00032a3c srl t0, t0, 1                         |         t0 >>= 1;
    0x00032a40 mul a0, v0, t0                        |         __asm ("mul a0, v0, t0");
    0x00032a44 lw v1, 0x40(sp)                       |         v1 = *(var_40h);
    0x00032a48 lw t9, 0x48(sp)                       |         t9 = *(var_48h);
    0x00032a4c sw t2, 0x3c(sp)                       |         *(var_3ch) = t2;
    0x00032a50 sw t0, 0x38(sp)                       |         *(var_38h) = t0;
    0x00032a54 addu a3, a0, v1                       |         a3 = a0 + v1;
    0x00032a58 addiu s6, a3, 8                       |         s6 = a3 + 8;
    0x00032a5c move a1, s6                           |         a1 = s6;
    0x00032a60 move a0, s5                           |         a0 = s5;
    0x00032a64 jalr t9                               |         t9 ();
    0x00032a68 lw gp, 0x20(sp)                       |         gp = *(var_20h);
                                                     |         if (v0 == 0) {
    0x00032a6c beqz v0, 0x32a80                      |             goto label_41;
                                                     |         }
    0x00032a70 lw t0, 0x38(sp)                       |         t0 = *(var_38h);
    0x00032a74 bgez v0, 0x32a20                      |         
                                                     |     }
    0x00032a78 move t2, t0                           |     t2 = t0;
    0x00032a7c b 0x32a28                             |     goto label_15;
                                                     | label_41:
    0x00032a80 lw v0, 8(s6)                          |     v0 = *((s6 + 2));
                                                     |     if (s6 == 0) {
    0x00032a84 bnel s6, zero, 0x326a8                |         goto label_16;
                                                     |     }
                                                     | label_39:
    0x00032a88 lw v0, 4(s2)                          |     v0 = *((s2 + 1));
                                                     | label_40:
    0x00032a8c lw t9, -0x78f0(gp)                    |     t9 = *((gp - 7740));
                                                     |     if (v0 != 0) {
    0x00032a90 bnez v0, 0x3285c                      |         goto label_11;
                                                     |     }
                                                     | label_19:
    0x00032a94 lw v0, 0x4c(sp)                       |     v0 = *(var_4ch);
    0x00032a98 lw t9, -0x793c(gp)                    |     t9 = *((gp - 7759));
    0x00032a9c move a1, s4                           |     a1 = s4;
    0x00032aa0 lw a0, -0x35d4(v0)                    |     a0 = *((v0 - 3445));
    0x00032aa4 jalr t9                               |     t9 ();
    0x00032aa8 move s4, v0                           |     s4 = v0;
    0x00032aac lw gp, 0x20(sp)                       |     gp = *(var_20h);
    0x00032ab0 sw s7, 0x28(sp)                       |     *(var_28h) = s7;
                                                     |     if (v0 == 0) {
    0x00032ab4 beqz v0, 0x32858                      |         goto label_17;
                                                     |     }
    0x00032ab8 lw v0, -0x7fe0(gp)                    |     v0 = *((gp - 8184));
    0x00032abc lw fp, (s4)                           |     fp = *(s4);
    0x00032ac0 addiu v1, v0, -0x3f24                 |     v1 = v0 + -0x3f24;
    0x00032ac4 lw v0, -0x3f24(v0)                    |     v0 = *((v0 - 4041));
    0x00032ac8 sw v0, 0x38(sp)                       |     *(var_38h) = v0;
    0x00032acc lw v0, 4(v1)                          |     v0 = *((v1 + 1));
    0x00032ad0 sw v0, 0x3c(sp)                       |     *(var_3ch) = v0;
                                                     |     if (fp == 0) {
    0x00032ad4 beqz fp, 0x32858                      |         goto label_17;
                                                     |     }
    0x00032ad8 addiu s5, sp, 0x28                    |     s5 = sp + 0x28;
    0x00032adc b 0x32aec                             |     goto label_42;
                                                     | label_18:
    0x00032ae0 sltu v0, s1, fp                       |     v0 = (s1 < fp) ? 1 : 0;
    0x00032ae4 lw t9, -0x78f0(gp)                    |     t9 = *((gp - 7740));
                                                     |     if (v0 == 0) {
    0x00032ae8 beqz v0, 0x3285c                      |         goto label_11;
                                                     |     }
                                                     | label_42:
    0x00032aec lw v0, 0x38(sp)                       |     v0 = *(var_38h);
    0x00032af0 addu s7, s1, fp                       |     s7 = s1 + fp;
    0x00032af4 srl s7, s7, 1                         |     s7 >>= 1;
    0x00032af8 mul v1, v0, s7                        |     __asm ("mul v1, v0, s7");
    0x00032afc lw t9, 0x3c(sp)                       |     t9 = *(var_3ch);
    0x00032b00 move a0, s5                           |     a0 = s5;
    0x00032b04 addu a3, v1, s4                       |     a3 = v1 + s4;
    0x00032b08 addiu s6, a3, 8                       |     s6 = a3 + 8;
    0x00032b0c move a1, s6                           |     a1 = s6;
    0x00032b10 jalr t9                               |     t9 ();
    0x00032b14 lw gp, 0x20(sp)                       |     gp = *(var_20h);
                                                     |     if (v0 == 0) {
    0x00032b18 beqz v0, 0x32b2c                      |         goto label_43;
                                                     |     }
                                                     |     if (v0 >= 0) {
    0x00032b1c bgezl v0, 0x32ae0                     |         goto label_18;
                                                     |     }
    0x00032b20 addiu s1, s7, 1                       |     s1 = s7 + 1;
    0x00032b24 move fp, s7                           |     fp = s7;
    0x00032b28 b 0x32ae0                             |     goto label_18;
                                                     | label_43:
    0x00032b2c lw t9, -0x78f0(gp)                    |     t9 = *((gp - 7740));
                                                     |     if (s6 == 0) {
    0x00032b30 beqz s6, 0x3285c                      |         goto label_11;
                                                     |     }
    0x00032b34 lw v0, 0xc(s6)                        |     v0 = *((s6 + 3));
    0x00032b38 b 0x328b4                             |     goto label_12;
                                                     | label_35:
    0x00032b3c sw v0, 0x4c(sp)                       |     *(var_4ch) = v0;
    0x00032b40 b 0x32a94                             |     goto label_19;
                                                     | }

[*] Function system used 1 times libgobject-2.0.so.0.6000.7