[*] Binary protection state of dqtool

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


[*] Function printf tear down of dqtool

    ; assembly                           | /* r2dec pseudo code output */
                                         | /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/bin/dqtool @ 0x7510 */
                                         | #include <stdint.h>
                                         |  
    ; (fcn) sym.qdisk_start ()           | void qdisk_start () {
    0x00007510 lui gp, 2                 |     
    0x00007514 addiu gp, gp, -0x5440     |     
    0x00007518 addu gp, gp, t9           |     gp += t9;
    0x0000751c addiu sp, sp, -0x1320     |     
    0x00007520 lw t9, -0x7fa8(gp)        |     t9 = sym.qdisk_initialized;
    0x00007524 sw s2, 0x1300(sp)         |     *(var_1300h) = s2;
    0x00007528 lw s2, -0x7dac(gp)        |     s2 = *((gp - 8043));
    0x0000752c lw v1, 0x1330(sp)         |     v1 = *(var_10h_2);
    0x00007530 sw gp, 0x20(sp)           |     *(var_20h_4) = gp;
    0x00007534 lw v0, (s2)               |     v0 = *(s2);
    0x00007538 sw s5, 0x130c(sp)         |     *(var_130ch) = s5;
    0x0000753c sw s0, 0x12f8(sp)         |     *(var_12f8h) = s0;
    0x00007540 sw ra, 0x131c(sp)         |     *(var_131ch) = ra;
    0x00007544 sw fp, 0x1318(sp)         |     *(var_1318h) = fp;
    0x00007548 sw s7, 0x1314(sp)         |     *(var_1314h) = s7;
    0x0000754c sw s6, 0x1310(sp)         |     *(var_1310h) = s6;
    0x00007550 sw s4, 0x1308(sp)         |     *(var_1308h) = s4;
    0x00007554 sw s3, 0x1304(sp)         |     *(var_1304h) = s3;
    0x00007558 sw s1, 0x12fc(sp)         |     *(var_12fch) = s1;
    0x0000755c sw a2, 0x30(sp)           |     *(var_30h_4) = a2;
    0x00007560 sw a3, 0x34(sp)           |     *(var_34h_4) = a3;
    0x00007564 sw v1, 0x38(sp)           |     *(var_38h_4) = v1;
    0x00007568 sw v0, 0x12f4(sp)         |     *(var_12f4h) = v0;
    0x0000756c move s0, a0               |     s0 = a0;
    0x00007570 move s5, a1               |     s5 = a1;
    0x00007574 bal 0x68c8                |     sym_qdisk_initialized ();
    0x00007578 lw gp, 0x20(sp)           |     gp = *(var_20h_4);
                                         |     if (v0 != 0) {
    0x0000757c beqz v0, 0x75ac           |         
    0x00007580 lw v0, -0x7fdc(gp)        |         v0 = *((gp - 8183));
    0x00007584 lw a3, -0x7fdc(gp)        |         a3 = *((gp - 8183));
    0x00007588 lw a1, -0x7fdc(gp)        |         a1 = *((gp - 8183));
    0x0000758c addiu v0, v0, -0x634c     |         v0 += -0x634c;
    0x00007590 lw t9, -0x7ef4(gp)        |         t9 = sym.imp.g_assertion_message_expr;
    0x00007594 sw v0, 0x10(sp)           |         *(var_10h_3) = v0;
    0x00007598 addiu a3, a3, -0x6140     |         a3 += -0x6140;
    0x0000759c addiu a2, zero, 0x2ee     |         a2 = 0x2ee;
    0x000075a0 addiu a1, a1, -0x650c     |         a1 += -0x650c;
    0x000075a4 move a0, zero             |         a0 = 0;
    0x000075a8 jalr t9                   |         t9 ();
                                         |     }
    0x000075ac move s1, v0               |     s1 = v0;
    0x000075b0 lw v0, 0x1c(s0)           |     v0 = *((s0 + 7));
    0x000075b4 lw v1, 4(v0)              |     v1 = *((v0 + 1));
                                         |     if (v1 <= 0) {
    0x000075b8 blez v1, 0x7898           |         goto label_21;
                                         |     }
    0x000075bc nop                       |     
    0x000075c0 lw v1, 0xc(v0)            |     v1 = *((v0 + 3));
                                         |     if (v1 == 0) {
                                         | label_2:
    0x000075c4 beqz v1, 0x77ac           |         goto label_22;
                                         |     }
    0x000075c8 nop                       |     
                                         |     if (s5 == 0) {
    0x000075cc beqz s5, 0x776c           |         goto label_1;
                                         |     }
    0x000075d0 nop                       |     
                                         |     do {
    0x000075d4 lw t9, -0x7ef8(gp)        |         t9 = sym.imp.__xstat64;
    0x000075d8 addiu s3, sp, 0xf0        |         s3 = sp + 0xf0;
    0x000075dc move a2, s3               |         a2 = s3;
    0x000075e0 move a1, s5               |         a1 = s5;
    0x000075e4 addiu a0, zero, 3         |         a0 = 3;
    0x000075e8 jalr t9                   |         t9 ();
    0x000075ec lw gp, 0x20(sp)           |         gp = *(var_20h_4);
    0x000075f0 move a0, s5               |         a0 = s5;
    0x000075f4 lw t9, -0x7df8(gp)        |         t9 = sym.imp.g_strdup;
    0x000075f8 move s4, v0               |         s4 = v0;
    0x000075fc jalr t9                   |         t9 ();
    0x00007600 lw v1, 0x1c(s0)           |         v1 = *((s0 + 7));
    0x00007604 lw gp, 0x20(sp)           |         gp = *(var_20h_4);
    0x00007608 sw v0, (s0)               |         *(s0) = v0;
    0x0000760c lw v0, 0xc(v1)            |         v0 = *((v1 + 3));
    0x00007610 nor a1, zero, s4          |         __asm ("nor a1, zero, s4");
                                         |         if (v0 == 0) {
    0x00007614 beqz v0, 0x78b4           |             goto label_23;
                                         |         }
    0x00007618 addiu s4, s4, 1           |         s4++;
    0x0000761c sltiu s4, s4, 1           |         s4 = (s4 < 1) ? 1 : 0;
    0x00007620 addiu a1, zero, 0x2000    |         a1 = 0x2000;
                                         | label_0:
    0x00007624 lw t9, -0x7d9c(gp)        |         t9 = sym.imp.open64;
    0x00007628 addiu a2, zero, 0x180     |         a2 = aav.0x00000180;
    0x0000762c move a0, s5               |         a0 = s5;
    0x00007630 jalr t9                   |         t9 ();
    0x00007634 lw gp, 0x20(sp)           |         gp = *(var_20h_4);
    0x00007638 sw v0, 8(s0)              |         *((s0 + 2)) = v0;
                                         |         if (v0 < 0) {
    0x0000763c bltz v0, 0x7d40           |             goto label_24;
                                         |         }
    0x00007640 lw v1, 0x1c(s0)           |         v1 = *((s0 + 7));
    0x00007644 lw t9, -0x7e88(gp)        |         t9 = sym.imp.mmap64;
    0x00007648 move a0, zero             |         a0 = 0;
    0x0000764c lw a2, 0xc(v1)            |         a2 = *((v1 + 3));
    0x00007650 sw v0, 0x10(sp)           |         *(var_10h_3) = v0;
    0x00007654 addiu v1, zero, 1         |         v1 = 1;
    0x00007658 addiu v0, zero, 3         |         v0 = 3;
    0x0000765c move a1, zero             |         a1 = 0;
                                         |         if (a2 == 0) {
    0x00007660 movn v0, v1, a2           |             v0 = v1;
                                         |         }
    0x00007664 sw a1, 0x1c(sp)           |         *(var_1ch) = a1;
    0x00007668 sw a0, 0x18(sp)           |         *(var_18h_3) = a0;
    0x0000766c addiu a3, zero, 1         |         a3 = 1;
    0x00007670 move a2, v0               |         a2 = v0;
    0x00007674 addiu a1, zero, 0x1000    |         a1 = 0x1000;
    0x00007678 jalr t9                   |         t9 ();
    0x0000767c move s5, v0               |         s5 = v0;
    0x00007680 addiu v0, zero, -1        |         v0 = -1;
    0x00007684 lw gp, 0x20(sp)           |         gp = *(var_20h_4);
                                         |         if (s5 == v0) {
    0x00007688 beq s5, v0, 0x7cc4        |             goto label_25;
                                         |         }
    0x0000768c lw t9, -0x7e28(gp)        |         t9 = sym.imp.madvise;
    0x00007690 addiu a2, zero, 1         |         a2 = 1;
    0x00007694 addiu a1, zero, 0x1000    |         a1 = 0x1000;
    0x00007698 move a0, s5               |         a0 = s5;
    0x0000769c jalr t9                   |         t9 ();
    0x000076a0 lw v0, 0x1c(s0)           |         v0 = *((s0 + 7));
    0x000076a4 lw v0, 0xc(v0)            |         v0 = *((v0 + 3));
    0x000076a8 lw gp, 0x20(sp)           |         gp = *(var_20h_4);
                                         |         if (v0 != 0) {
    0x000076ac bnez v0, 0x7c44           |             goto label_26;
                                         |         }
    0x000076b0 sw s5, 0x18(s0)           |         *((s0 + 6)) = s5;
                                         | label_3:
    0x000076b4 lw s5, 8(s0)              |         s5 = *((s0 + 2));
                                         |         if (s4 == 0) {
    0x000076b8 beqz s4, 0x78cc           |             goto label_27;
                                         |         }
    0x000076bc lw t9, -0x7ed0(gp)        |         t9 = sym.imp.memset;
    0x000076c0 addiu a2, zero, 0x1000    |         a2 = 0x1000;
    0x000076c4 move a1, zero             |         a1 = 0;
    0x000076c8 move a0, s3               |         a0 = s3;
    0x000076cc jalr t9                   |         t9 ();
    0x000076d0 lw gp, 0x20(sp)           |         gp = *(var_20h_4);
    0x000076d4 move v0, zero             |         v0 = 0;
    0x000076d8 move v1, zero             |         v1 = 0;
    0x000076dc lw t9, -0x7fc8(gp)        |         t9 = *((gp - 8178));
    0x000076e0 sw v0, 0x10(sp)           |         *(var_10h_3) = v0;
    0x000076e4 sw v1, 0x14(sp)           |         *(var_14h_2) = v1;
    0x000076e8 addiu a2, zero, 0x1000    |         a2 = 0x1000;
    0x000076ec move a1, s3               |         a1 = s3;
    0x000076f0 addiu t9, t9, 0x5d70      |         t9 += fcn.00005d70;
    0x000076f4 move a0, s5               |         a0 = s5;
    0x000076f8 bal 0x5d70                |         fcn_00005d70 ();
    0x000076fc lw gp, 0x20(sp)           |         gp = *(var_20h_4);
                                         |         if (v0 == 0) {
    0x00007700 beqz v0, 0x7b04           |             goto label_28;
                                         |         }
    0x00007704 lw v0, 0x18(s0)           |         v0 = *((s0 + 6));
    0x00007708 addiu a0, zero, 0x1000    |         a0 = 0x1000;
    0x0000770c move a1, zero             |         a1 = 0;
    0x00007710 addiu v1, zero, 1         |         v1 = 1;
    0x00007714 move a2, zero             |         a2 = 0;
    0x00007718 move a3, zero             |         a3 = 0;
    0x0000771c sw a0, 8(v0)              |         *((v0 + 2)) = a0;
    0x00007720 sw a1, 0xc(v0)            |         *((v0 + 3)) = a1;
    0x00007724 sw a0, 0x10(v0)           |         *((v0 + 4)) = a0;
    0x00007728 sw a1, 0x14(v0)           |         *((v0 + 5)) = a1;
    0x0000772c sw a0, 0x50(v0)           |         *((v0 + 20)) = a0;
    0x00007730 sw a1, 0x54(v0)           |         *((v0 + 21)) = a1;
    0x00007734 sw a2, 0x18(v0)           |         *((v0 + 6)) = a2;
    0x00007738 sw a3, 0x1c(v0)           |         *((v0 + 7)) = a3;
    0x0000773c lw t9, -0x7f78(gp)        |         t9 = sym.qdisk_save_state;
    0x00007740 sh v1, 4(v0)              |         *((v0 + 2)) = v1;
    0x00007744 lw a3, 0x38(sp)           |         a3 = *(var_38h_4);
    0x00007748 sw a1, 0x14(s0)           |         *((s0 + 5)) = a1;
    0x0000774c lw a2, 0x34(sp)           |         a2 = *(var_34h_4);
    0x00007750 lw a1, 0x30(sp)           |         a1 = *(var_30h_4);
    0x00007754 sw a0, 0x10(s0)           |         *((s0 + 4)) = a0;
    0x00007758 move a0, s0               |         a0 = s0;
    0x0000775c bal 0x71f0                |         sym_qdisk_save_state ();
    0x00007760 lw gp, 0x20(sp)           |         gp = *(var_20h_4);
                                         |         if (v0 == 0) {
    0x00007764 beqz v0, 0x7b80           |             goto label_29;
                                         |         }
    0x00007768 move s1, s4               |         s1 = s4;
                                         | label_1:
    0x0000776c lw a0, 0x12f4(sp)         |         a0 = *(var_12f4h);
    0x00007770 lw v1, (s2)               |         v1 = *(s2);
    0x00007774 move v0, s1               |         v0 = s1;
                                         |         if (a0 != v1) {
    0x00007778 bne a0, v1, 0x83e4        |             goto label_30;
                                         |         }
    0x0000777c lw ra, 0x131c(sp)         |         ra = *(var_131ch);
    0x00007780 lw fp, 0x1318(sp)         |         fp = *(var_1318h);
    0x00007784 lw s7, 0x1314(sp)         |         s7 = *(var_1314h);
    0x00007788 lw s6, 0x1310(sp)         |         s6 = *(var_1310h);
    0x0000778c lw s5, 0x130c(sp)         |         s5 = *(var_130ch);
    0x00007790 lw s4, 0x1308(sp)         |         s4 = *(var_1308h);
    0x00007794 lw s3, 0x1304(sp)         |         s3 = *(var_1304h);
    0x00007798 lw s2, 0x1300(sp)         |         s2 = *(var_1300h);
    0x0000779c lw s1, 0x12fc(sp)         |         s1 = *(var_12fch);
    0x000077a0 lw s0, 0x12f8(sp)         |         s0 = *(var_12f8h);
    0x000077a4 addiu sp, sp, 0x1320      |         
    0x000077a8 jr ra                     |         return v1;
                                         | label_22:
    0x000077ac lw a2, -0x7fdc(gp)        |         a2 = *((gp - 8183));
    0x000077b0 bnez s5, 0x75d4           |         
                                         |     } while (s5 != 0);
    0x000077b4 lw t9, -0x7ed8(gp)        |     t9 = sym.imp.g_snprintf
    0x000077b8 addiu a0, sp, 0x11f4      |     a0 = sp + 0x11f4;
    0x000077bc lw a3, 0x1c(v0)           |     a3 = *((v0 + 7));
    0x000077c0 sw a0, 0x2c(sp)           |     *(var_2ch_4) = a0;
    0x000077c4 addiu a2, a2, -0x6c70     |     a2 += -0x6c70;
    0x000077c8 addiu a1, zero, 0x100     |     a1 = aav.0x00000100;
    0x000077cc jalr t9                   |     t9 ();
    0x000077d0 lw gp, 0x20(sp)           |     gp = *(var_20h_4);
    0x000077d4 addiu s4, sp, 0x10f4      |     s4 = sp + 0x10f4;
    0x000077d8 addiu s3, sp, 0xf0        |     s3 = sp + 0xf0;
    0x000077dc lw v0, -0x7fdc(gp)        |     v0 = *((gp - 8183));
    0x000077e0 lui fp, 1                 |     fp = 0x10000;
    0x000077e4 addiu s6, v0, -0x637c     |     s6 = v0 + -0x637c;
    0x000077e8 lw v0, -0x7fdc(gp)        |     v0 = *((gp - 8183));
    0x000077ec addiu s7, v0, -0x6364     |     s7 = v0 + -0x6364;
    0x000077f0 b 0x7800                  |     
                                         |     while (v0 >= 0) {
    0x000077f4 ori v0, fp, 0x86a0        |         v0 = fp | 0x86a0;
    0x000077f8 lw a1, -0x7fdc(gp)        |         a1 = *((gp - 8183));
                                         |         if (s5 == v0) {
    0x000077fc beq s5, v0, 0x8018        |             goto label_31;
                                         |         }
    0x00007800 lw v0, 0x1c(s0)           |         v0 = *((s0 + 7));
    0x00007804 lw t9, -0x7ed8(gp)        |         t9 = sym.imp.g_snprintf
    0x00007808 lw a3, 0x2c(sp)           |         a3 = *(var_2ch_4);
    0x0000780c lw a2, 0x10(v0)           |         a2 = *((v0 + 4));
    0x00007810 move v0, s7               |         v0 = s7;
                                         |         if (a2 != 0) {
    0x00007814 movz v0, s6, a2           |             v0 = s6;
                                         |         }
    0x00007818 addiu a1, zero, 0x100     |         a1 = aav.0x00000100;
    0x0000781c move a2, v0               |         a2 = v0;
    0x00007820 sw s5, 0x10(sp)           |         *(var_10h_3) = s5;
    0x00007824 move a0, s4               |         a0 = s4;
    0x00007828 jalr t9                   |         t9 ();
    0x0000782c lw gp, 0x20(sp)           |         gp = *(var_20h_4);
    0x00007830 move a2, s3               |         a2 = s3;
    0x00007834 move a1, s4               |         a1 = s4;
    0x00007838 lw t9, -0x7ef8(gp)        |         t9 = sym.imp.__xstat64;
    0x0000783c addiu a0, zero, 3         |         a0 = 3;
    0x00007840 jalr t9                   |         t9 ();
    0x00007844 addiu s5, s5, 1           |         s5++;
    0x00007848 lw gp, 0x20(sp)           |         gp = *(var_20h_4);
    0x0000784c bgez v0, 0x77f4           |         
                                         |     }
    0x00007850 lw t9, -0x7df8(gp)        |     t9 = sym.imp.g_strdup;
    0x00007854 move a0, s4               |     a0 = s4;
    0x00007858 jalr t9                   |     t9 ();
    0x0000785c lw gp, 0x20(sp)           |     gp = *(var_20h_4);
    0x00007860 move s5, v0               |     s5 = v0;
                                         | label_8:
    0x00007864 lw t9, -0x7df8(gp)        |     t9 = sym.imp.g_strdup;
    0x00007868 move a0, s5               |     a0 = s5;
    0x0000786c jalr t9                   |     t9 ();
    0x00007870 lw v1, 0x1c(s0)           |     v1 = *((s0 + 7));
    0x00007874 lw gp, 0x20(sp)           |     gp = *(var_20h_4);
    0x00007878 addiu s4, zero, 1         |     s4 = 1;
    0x0000787c lw a1, 0xc(v1)            |     a1 = *((v1 + 3));
    0x00007880 sw v0, (s0)               |     *(s0) = v0;
    0x00007884 addiu v1, zero, 0x2000    |     v1 = 0x2000;
    0x00007888 addiu v0, zero, 0x2102    |     v0 = 0x2102;
                                         |     if (a1 == 0) {
    0x0000788c movn v0, v1, a1           |         v0 = v1;
                                         |     }
    0x00007890 move a1, v0               |     a1 = v0;
    0x00007894 b 0x7624                  |     goto label_0;
                                         | label_21:
    0x00007898 addiu s1, zero, 1         |     s1 = 1;
                                         |     if (v1 == 0) {
    0x0000789c bnel v1, zero, 0x776c     |         goto label_1;
                                         |     }
    0x000078a0 lw v1, (v0)               |     v1 = *(v0);
    0x000078a4 lw v1, 0xc(v0)            |     v1 = *((v0 + 3));
                                         |     if (v1 == 0) {
    0x000078a8 bnel v1, zero, 0x75c4     |         goto label_2;
                                         |     }
    0x000078ac addiu s1, zero, 1         |     s1 = 1;
    0x000078b0 b 0x776c                  |     goto label_1;
                                         | label_23:
    0x000078b4 addiu v1, zero, 0x2002    |     v1 = 0x2002;
    0x000078b8 addiu v0, zero, 0x2102    |     v0 = 0x2102;
                                         |     if (a1 == 0) {
    0x000078bc movn v0, v1, a1           |         v0 = v1;
                                         |     }
    0x000078c0 sltiu s4, a1, 1           |     s4 = (a1 < 1) ? 1 : 0;
    0x000078c4 move a1, v0               |     a1 = v0;
    0x000078c8 b 0x7624                  |     goto label_0;
                                         | label_27:
    0x000078cc lw t9, -0x7e78(gp)        |     t9 = sym.imp.__fxstat64;
    0x000078d0 addiu a2, sp, 0x50        |     a2 = sp + 0x50;
    0x000078d4 move a1, s5               |     a1 = s5;
    0x000078d8 addiu a0, zero, 3         |     a0 = 3;
    0x000078dc jalr t9                   |     t9 ();
    0x000078e0 lw gp, 0x20(sp)           |     gp = *(var_20h_4);
                                         |     if (v0 != 0) {
    0x000078e4 bnez v0, 0x7bb4           |         goto label_32;
                                         |     }
    0x000078e8 lw v0, 0x88(sp)           |     v0 = *(var_88h);
    0x000078ec lw v1, 0x8c(sp)           |     v1 = *(var_8ch);
    0x000078f0 or v0, v0, v1             |     v0 |= v1;
    0x000078f4 lw t9, -0x7e18(gp)        |     t9 = sym.imp.__errno_location;
                                         |     if (v0 == 0) {
    0x000078f8 beqz v0, 0x7bb8           |         goto label_33;
                                         |     }
    0x000078fc lw a2, 0x18(s0)           |     a2 = *((s0 + 6));
    0x00007900 lbu v0, 4(a2)             |     v0 = *((a2 + 4));
    0x00007904 lbu v0, 5(a2)             |     v0 = *((a2 + 5));
                                         |     if (v0 == 0) {
    0x00007908 bnel v0, zero, 0x7da0     |         goto label_34;
                                         |     }
    0x0000790c lw v0, 8(a2)              |     v0 = *((a2 + 2));
    0x00007910 lw v1, 0xc(a2)            |     v1 = *((a2 + 3));
    0x00007914 addiu a0, zero, 1         |     a0 = 1;
    0x00007918 sb a0, 4(a2)              |     *((a2 + 4)) = a0;
    0x0000791c sw v0, 0x50(a2)           |     *((a2 + 20)) = v0;
    0x00007920 sw v1, 0x54(a2)           |     *((a2 + 21)) = v1;
    0x00007924 move t7, zero             |     t7 = 0;
    0x00007928 move t6, zero             |     t6 = 0;
                                         | label_5:
    0x0000792c lw s5, 0x10(a2)           |     s5 = *((a2 + 4));
    0x00007930 lw ra, 0x14(a2)           |     ra = *((a2 + 5));
    0x00007934 lw s1, 0x18(a2)           |     s1 = *((a2 + 6));
    0x00007938 lw s4, 0x1c(a2)           |     s4 = *((a2 + 7));
    0x0000793c lw t8, 0x20(a2)           |     t8 = *((a2 + 8));
    0x00007940 lw t9, 0x24(a2)           |     t9 = *((a2 + 9));
    0x00007944 lw t5, 0x28(a2)           |     t5 = *((a2 + 10));
    0x00007948 lw t4, 0x2c(a2)           |     t4 = *((a2 + 11));
    0x0000794c lw t2, 0x30(a2)           |     t2 = *((a2 + 12));
    0x00007950 lw t3, 0x34(a2)           |     t3 = *((a2 + 13));
    0x00007954 lw t1, 0x38(a2)           |     t1 = *((a2 + 14));
    0x00007958 lw t0, 0x3c(a2)           |     t0 = *((a2 + 15));
    0x0000795c lw a1, 0x40(a2)           |     a1 = *((a2 + 16));
    0x00007960 lw a3, 0x44(a2)           |     a3 = *((a2 + 17));
    0x00007964 lw a0, 0x48(a2)           |     a0 = *((a2 + 18));
    0x00007968 wsbh v0, v0               |     __asm ("wsbh v0, v0");
    0x0000796c wsbh v1, v1               |     __asm ("wsbh v1, v1");
    0x00007970 wsbh s5, s5               |     __asm ("wsbh s5, s5");
    0x00007974 wsbh ra, ra               |     __asm ("wsbh ra, ra");
    0x00007978 wsbh s1, s1               |     __asm ("wsbh s1, s1");
    0x0000797c wsbh s4, s4               |     __asm ("wsbh s4, s4");
    0x00007980 wsbh t8, t8               |     __asm ("wsbh t8, t8");
    0x00007984 wsbh t9, t9               |     __asm ("wsbh t9, t9");
    0x00007988 wsbh t5, t5               |     __asm ("wsbh t5, t5");
    0x0000798c wsbh t4, t4               |     __asm ("wsbh t4, t4");
    0x00007990 wsbh t2, t2               |     __asm ("wsbh t2, t2");
    0x00007994 wsbh t3, t3               |     __asm ("wsbh t3, t3");
    0x00007998 wsbh t1, t1               |     __asm ("wsbh t1, t1");
    0x0000799c wsbh t0, t0               |     __asm ("wsbh t0, t0");
    0x000079a0 wsbh a1, a1               |     __asm ("wsbh a1, a1");
    0x000079a4 wsbh a3, a3               |     __asm ("wsbh a3, a3");
    0x000079a8 wsbh a0, a0               |     __asm ("wsbh a0, a0");
    0x000079ac rotr v0, v0, 0x10         |     __asm ("rotr v0, v0, 0x10");
    0x000079b0 rotr v1, v1, 0x10         |     __asm ("rotr v1, v1, 0x10");
    0x000079b4 rotr a0, a0, 0x10         |     __asm ("rotr a0, a0, 0x10");
    0x000079b8 rotr s5, s5, 0x10         |     __asm ("rotr s5, s5, 0x10");
    0x000079bc rotr ra, ra, 0x10         |     __asm ("rotr ra, ra, 0x10");
    0x000079c0 rotr s1, s1, 0x10         |     __asm ("rotr s1, s1, 0x10");
    0x000079c4 rotr s4, s4, 0x10         |     __asm ("rotr s4, s4, 0x10");
    0x000079c8 rotr t8, t8, 0x10         |     __asm ("rotr t8, t8, 0x10");
    0x000079cc rotr t9, t9, 0x10         |     __asm ("rotr t9, t9, 0x10");
    0x000079d0 rotr t5, t5, 0x10         |     __asm ("rotr t5, t5, 0x10");
    0x000079d4 rotr t4, t4, 0x10         |     __asm ("rotr t4, t4, 0x10");
    0x000079d8 rotr t2, t2, 0x10         |     __asm ("rotr t2, t2, 0x10");
    0x000079dc rotr t3, t3, 0x10         |     __asm ("rotr t3, t3, 0x10");
    0x000079e0 rotr t1, t1, 0x10         |     __asm ("rotr t1, t1, 0x10");
    0x000079e4 rotr t0, t0, 0x10         |     __asm ("rotr t0, t0, 0x10");
    0x000079e8 rotr a1, a1, 0x10         |     __asm ("rotr a1, a1, 0x10");
    0x000079ec rotr a3, a3, 0x10         |     __asm ("rotr a3, a3, 0x10");
    0x000079f0 sw v1, 8(a2)              |     *((a2 + 2)) = v1;
    0x000079f4 sw v0, 0xc(a2)            |     *((a2 + 3)) = v0;
    0x000079f8 sw ra, 0x10(a2)           |     *((a2 + 4)) = ra;
    0x000079fc sw s5, 0x14(a2)           |     *((a2 + 5)) = s5;
    0x00007a00 sw s4, 0x18(a2)           |     *((a2 + 6)) = s4;
    0x00007a04 sw s1, 0x1c(a2)           |     *((a2 + 7)) = s1;
    0x00007a08 sw t9, 0x20(a2)           |     *((a2 + 8)) = t9;
    0x00007a0c sw t8, 0x24(a2)           |     *((a2 + 9)) = t8;
    0x00007a10 sw t5, 0x28(a2)           |     *((a2 + 10)) = t5;
    0x00007a14 sw t4, 0x2c(a2)           |     *((a2 + 11)) = t4;
    0x00007a18 sw t3, 0x30(a2)           |     *((a2 + 12)) = t3;
    0x00007a1c sw t2, 0x34(a2)           |     *((a2 + 13)) = t2;
    0x00007a20 sw t1, 0x38(a2)           |     *((a2 + 14)) = t1;
    0x00007a24 sw t0, 0x3c(a2)           |     *((a2 + 15)) = t0;
    0x00007a28 sw a3, 0x40(a2)           |     *((a2 + 16)) = a3;
    0x00007a2c sw a1, 0x44(a2)           |     *((a2 + 17)) = a1;
    0x00007a30 sw a0, 0x48(a2)           |     *((a2 + 18)) = a0;
    0x00007a34 lw a0, 0x4c(a2)           |     a0 = *((a2 + 19));
    0x00007a38 lw v0, 0x50(a2)           |     v0 = *((a2 + 20));
    0x00007a3c lw v1, 0x54(a2)           |     v1 = *((a2 + 21));
    0x00007a40 wsbh a0, a0               |     __asm ("wsbh a0, a0");
    0x00007a44 wsbh v0, v0               |     __asm ("wsbh v0, v0");
    0x00007a48 wsbh v1, v1               |     __asm ("wsbh v1, v1");
    0x00007a4c rotr a0, a0, 0x10         |     __asm ("rotr a0, a0, 0x10");
    0x00007a50 rotr v0, v0, 0x10         |     __asm ("rotr v0, v0, 0x10");
    0x00007a54 rotr v1, v1, 0x10         |     __asm ("rotr v1, v1, 0x10");
    0x00007a58 sw a0, 0x4c(a2)           |     *((a2 + 19)) = a0;
    0x00007a5c sw v1, 0x50(a2)           |     *((a2 + 20)) = v1;
    0x00007a60 sw v0, 0x54(a2)           |     *((a2 + 21)) = v0;
    0x00007a64 sw t7, 0x58(a2)           |     *((a2 + 22)) = t7;
    0x00007a68 sw t6, 0x5c(a2)           |     *((a2 + 23)) = t6;
    0x00007a6c sb zero, 5(a2)            |     *((a2 + 5)) = 0;
    0x00007a70 lw v0, 4(s0)              |     v0 = *((s0 + 1));
                                         | label_4:
    0x00007a74 lbu a0, (a2)              |     a0 = *(a2);
    0x00007a78 lbu v1, (v0)              |     v1 = *(v0);
                                         |     if (a0 == v1) {
    0x00007a7c beql a0, v1, 0x7dcc       |         goto label_35;
                                         |     }
    0x00007a80 lbu a0, 1(a2)             |     a0 = *((a2 + 1));
    0x00007a84 lw a0, -0x7fdc(gp)        |     a0 = *((gp - 8183));
                                         | label_6:
    0x00007a88 lw t9, -0x7e74(gp)        |     t9 = sym.imp.evt_tag_str;
    0x00007a8c lw a1, (s0)               |     a1 = *(s0);
    0x00007a90 addiu a0, a0, -0x6a1c     |     a0 += -0x6a1c;
    0x00007a94 jalr t9                   |     t9 ();
    0x00007a98 lw gp, 0x20(sp)           |     gp = *(var_20h_4);
    0x00007a9c move a3, zero             |     a3 = 0;
    0x00007aa0 move a2, v0               |     a2 = v0;
    0x00007aa4 lw a1, -0x7fdc(gp)        |     a1 = *((gp - 8183));
    0x00007aa8 lw t9, -0x7d7c(gp)        |     t9 = sym.imp.msg_event_create;
    0x00007aac addiu a1, a1, -0x6290     |     a1 += -0x6290;
    0x00007ab0 addiu a0, zero, 3         |     a0 = 3;
    0x00007ab4 jalr t9                   |     t9 ();
    0x00007ab8 lw gp, 0x20(sp)           |     gp = *(var_20h_4);
                                         |     do {
                                         | label_10:
    0x00007abc lw t9, -0x7ee0(gp)        |         t9 = sym.imp.msg_event_suppress_recursions_and_send;
    0x00007ac0 move a0, v0               |         a0 = v0;
    0x00007ac4 jalr t9                   |         t9 ();
    0x00007ac8 lw gp, 0x20(sp)           |         gp = *(var_20h_4);
                                         | label_16:
    0x00007acc lw t9, -0x7de0(gp)        |         t9 = sym.imp.munmap;
    0x00007ad0 lw a0, 0x18(s0)           |         a0 = *((s0 + 6));
    0x00007ad4 addiu a1, zero, 0x1000    |         a1 = 0x1000;
    0x00007ad8 jalr t9                   |         t9 ();
    0x00007adc lw gp, 0x20(sp)           |         gp = *(var_20h_4);
    0x00007ae0 lw a0, 8(s0)              |         a0 = *((s0 + 2));
    0x00007ae4 sw zero, 0x18(s0)         |         *((s0 + 6)) = 0;
    0x00007ae8 lw t9, -0x7ee4(gp)        |         t9 = sym.imp.close;
    0x00007aec move s1, zero             |         s1 = 0;
    0x00007af0 jalr t9                   |         t9 ();
    0x00007af4 addiu v0, zero, -1        |         v0 = -1;
    0x00007af8 lw gp, 0x20(sp)           |         gp = *(var_20h_4);
    0x00007afc sw v0, 8(s0)              |         *((s0 + 2)) = v0;
    0x00007b00 b 0x776c                  |         goto label_1;
                                         | label_28:
    0x00007b04 lw t9, -0x7e18(gp)        |         t9 = sym.imp.__errno_location;
    0x00007b08 jalr t9                   |         t9 ();
    0x00007b0c nop                       |         
    0x00007b10 lw gp, 0x20(sp)           |         gp = *(var_20h_4);
    0x00007b14 lw a1, (s0)               |         a1 = *(s0);
    0x00007b18 lw s3, (v0)               |         s3 = *(v0);
    0x00007b1c lw a0, -0x7fdc(gp)        |         a0 = *((gp - 8183));
    0x00007b20 lw t9, -0x7e74(gp)        |         t9 = sym.imp.evt_tag_str;
    0x00007b24 addiu a0, a0, -0x6a1c     |         a0 += -0x6a1c;
    0x00007b28 jalr t9                   |         t9 ();
    0x00007b2c lw gp, 0x20(sp)           |         gp = *(var_20h_4);
    0x00007b30 move a1, s3               |         a1 = s3;
    0x00007b34 move s3, v0               |         s3 = v0;
    0x00007b38 lw a0, -0x7fdc(gp)        |         a0 = *((gp - 8183));
    0x00007b3c lw t9, -0x7eec(gp)        |         t9 = sym.imp.evt_tag_errno;
    0x00007b40 addiu a0, a0, -0x6718     |         a0 += -0x6718;
    0x00007b44 jalr t9                   |         t9 ();
    0x00007b48 lw gp, 0x20(sp)           |         gp = *(var_20h_4);
    0x00007b4c move a3, v0               |         a3 = v0;
    0x00007b50 move a2, s3               |         a2 = s3;
    0x00007b54 lw a1, -0x7fdc(gp)        |         a1 = *((gp - 8183));
    0x00007b58 lw t9, -0x7d7c(gp)        |         t9 = sym.imp.msg_event_create;
    0x00007b5c addiu a1, a1, -0x62f0     |         a1 += -0x62f0;
    0x00007b60 addiu a0, zero, 3         |         a0 = 3;
    0x00007b64 sw zero, 0x10(sp)         |         *(var_10h_3) = 0;
    0x00007b68 jalr t9                   |         t9 ();
    0x00007b6c lw gp, 0x20(sp)           |         gp = *(var_20h_4);
    0x00007b70 lw t9, -0x7ee0(gp)        |         t9 = sym.imp.msg_event_suppress_recursions_and_send;
    0x00007b74 move a0, v0               |         a0 = v0;
    0x00007b78 jalr t9                   |         t9 ();
    0x00007b7c lw gp, 0x20(sp)           |         gp = *(var_20h_4);
                                         | label_29:
    0x00007b80 lw t9, -0x7de0(gp)        |         t9 = sym.imp.munmap;
    0x00007b84 lw a0, 0x18(s0)           |         a0 = *((s0 + 6));
    0x00007b88 addiu a1, zero, 0x1000    |         a1 = 0x1000;
    0x00007b8c jalr t9                   |         t9 ();
    0x00007b90 lw gp, 0x20(sp)           |         gp = *(var_20h_4);
    0x00007b94 lw a0, 8(s0)              |         a0 = *((s0 + 2));
    0x00007b98 lw t9, -0x7ee4(gp)        |         t9 = sym.imp.close;
    0x00007b9c sw zero, 0x18(s0)         |         *((s0 + 6)) = 0;
    0x00007ba0 jalr t9                   |         t9 ();
    0x00007ba4 addiu v0, zero, -1        |         v0 = -1;
    0x00007ba8 lw gp, 0x20(sp)           |         gp = *(var_20h_4);
    0x00007bac sw v0, 8(s0)              |         *((s0 + 2)) = v0;
    0x00007bb0 b 0x776c                  |         goto label_1;
                                         | label_32:
    0x00007bb4 lw t9, -0x7e18(gp)        |         t9 = sym.imp.__errno_location;
                                         | label_33:
    0x00007bb8 jalr t9                   |         t9 ();
    0x00007bbc nop                       |         
    0x00007bc0 lw gp, 0x20(sp)           |         gp = *(var_20h_4);
    0x00007bc4 lw a1, (s0)               |         a1 = *(s0);
    0x00007bc8 lw s1, (v0)               |         s1 = *(v0);
    0x00007bcc lw a0, -0x7fdc(gp)        |         a0 = *((gp - 8183));
    0x00007bd0 lw t9, -0x7e74(gp)        |         t9 = sym.imp.evt_tag_str;
    0x00007bd4 addiu a0, a0, -0x6a1c     |         a0 += -0x6a1c;
    0x00007bd8 jalr t9                   |         t9 ();
    0x00007bdc lw gp, 0x20(sp)           |         gp = *(var_20h_4);
    0x00007be0 move a1, s1               |         a1 = s1;
    0x00007be4 move s1, v0               |         s1 = v0;
    0x00007be8 lw a0, -0x7fdc(gp)        |         a0 = *((gp - 8183));
    0x00007bec lw t9, -0x7eec(gp)        |         t9 = sym.imp.evt_tag_errno;
    0x00007bf0 addiu a0, a0, -0x62bc     |         a0 += -0x62bc;
    0x00007bf4 jalr t9                   |         t9 ();
    0x00007bf8 lw gp, 0x20(sp)           |         gp = *(var_20h_4);
    0x00007bfc lw a1, 0x88(sp)           |         a1 = *(var_88h);
    0x00007c00 move s3, v0               |         s3 = v0;
    0x00007c04 lw a0, -0x7fdc(gp)        |         a0 = *((gp - 8183));
    0x00007c08 lw t9, -0x7ea8(gp)        |         t9 = sym.imp.evt_tag_int;
    0x00007c0c addiu a0, a0, -0x6868     |         a0 += -0x6868;
    0x00007c10 jalr t9                   |         t9 ();
    0x00007c14 lw gp, 0x20(sp)           |         gp = *(var_20h_4);
    0x00007c18 move a3, s3               |         a3 = s3;
    0x00007c1c move a2, s1               |         a2 = s1;
    0x00007c20 lw a1, -0x7fdc(gp)        |         a1 = *((gp - 8183));
    0x00007c24 lw t9, -0x7d7c(gp)        |         t9 = sym.imp.msg_event_create;
    0x00007c28 addiu a1, a1, -0x62b0     |         a1 += -0x62b0;
    0x00007c2c addiu a0, zero, 3         |         a0 = 3;
    0x00007c30 sw zero, 0x14(sp)         |         *(var_14h_2) = 0;
    0x00007c34 sw v0, 0x10(sp)           |         *(var_10h_3) = v0;
    0x00007c38 jalr t9                   |         t9 ();
    0x00007c3c lw gp, 0x20(sp)           |         gp = *(var_20h_4);
    0x00007c40 b 0x7abc                  |         
                                         |     } while (1);
                                         | label_26:
    0x00007c44 lw t9, -0x7e14(gp)        |     t9 = sym.imp.g_malloc;
    0x00007c48 addiu a0, zero, 0x1000    |     a0 = 0x1000;
    0x00007c4c jalr t9                   |     t9 ();
    0x00007c50 lw gp, 0x20(sp)           |     gp = *(var_20h_4);
    0x00007c54 move v1, s5               |     v1 = s5;
    0x00007c58 sw v0, 0x18(s0)           |     *((s0 + 6)) = v0;
    0x00007c5c addiu t0, s5, 0x1000      |     t0 = s5 + 0x1000;
                                         |     do {
    0x00007c60 lwl a3, 3(v1)             |         __asm ("lwl a3, 3(v1)");
    0x00007c64 lwl a2, 7(v1)             |         __asm ("lwl a2, 7(v1)");
    0x00007c68 lwl a1, 0xb(v1)           |         __asm ("lwl a1, 0xb(v1)");
    0x00007c6c lwl a0, 0xf(v1)           |         __asm ("lwl a0, 0xf(v1)");
    0x00007c70 lwr a3, (v1)              |         __asm ("lwr a3, (v1)");
    0x00007c74 lwr a2, 4(v1)             |         __asm ("lwr a2, 4(v1)");
    0x00007c78 lwr a0, 0xc(v1)           |         __asm ("lwr a0, 0xc(v1)");
    0x00007c7c lwr a1, 8(v1)             |         __asm ("lwr a1, 8(v1)");
    0x00007c80 swl a3, 3(v0)             |         __asm ("swl a3, 3(v0)");
    0x00007c84 swr a3, (v0)              |         __asm ("swr a3, (v0)");
    0x00007c88 swl a2, 7(v0)             |         __asm ("swl a2, 7(v0)");
    0x00007c8c swr a2, 4(v0)             |         __asm ("swr a2, 4(v0)");
    0x00007c90 swl a1, 0xb(v0)           |         __asm ("swl a1, 0xb(v0)");
    0x00007c94 swr a1, 8(v0)             |         __asm ("swr a1, 8(v0)");
    0x00007c98 addiu v1, v1, 0x10        |         v1 += 0x10;
    0x00007c9c swl a0, 0xf(v0)           |         __asm ("swl a0, 0xf(v0)");
    0x00007ca0 swr a0, 0xc(v0)           |         __asm ("swr a0, 0xc(v0)");
    0x00007ca4 addiu v0, v0, 0x10        |         v0 += 0x10;
    0x00007ca8 bne v1, t0, 0x7c60        |         
                                         |     } while (v1 != t0);
    0x00007cac lw t9, -0x7de0(gp)        |     t9 = sym.imp.munmap;
    0x00007cb0 addiu a1, zero, 0x1000    |     a1 = 0x1000;
    0x00007cb4 move a0, s5               |     a0 = s5;
    0x00007cb8 jalr t9                   |     t9 ();
    0x00007cbc lw gp, 0x20(sp)           |     gp = *(var_20h_4);
    0x00007cc0 b 0x76b4                  |     goto label_3;
                                         | label_25:
    0x00007cc4 lw t9, -0x7e18(gp)        |     t9 = sym.imp.__errno_location;
    0x00007cc8 jalr t9                   |     t9 ();
    0x00007ccc nop                       |     
    0x00007cd0 lw gp, 0x20(sp)           |     gp = *(var_20h_4);
    0x00007cd4 lw a1, (v0)               |     a1 = *(v0);
    0x00007cd8 lw a0, -0x7fdc(gp)        |     a0 = *((gp - 8183));
    0x00007cdc lw t9, -0x7eec(gp)        |     t9 = sym.imp.evt_tag_errno;
    0x00007ce0 addiu a0, a0, -0x6310     |     a0 += -0x6310;
    0x00007ce4 jalr t9                   |     t9 ();
    0x00007ce8 lw gp, 0x20(sp)           |     gp = *(var_20h_4);
    0x00007cec lw a1, (s0)               |     a1 = *(s0);
    0x00007cf0 move s0, v0               |     s0 = v0;
    0x00007cf4 lw a0, -0x7fdc(gp)        |     a0 = *((gp - 8183));
    0x00007cf8 lw t9, -0x7e74(gp)        |     t9 = sym.imp.evt_tag_str;
    0x00007cfc addiu a0, a0, -0x6a1c     |     a0 += -0x6a1c;
    0x00007d00 jalr t9                   |     t9 ();
    0x00007d04 lw gp, 0x20(sp)           |     gp = *(var_20h_4);
    0x00007d08 move a3, v0               |     a3 = v0;
    0x00007d0c move a2, s0               |     a2 = s0;
    0x00007d10 lw a1, -0x7fdc(gp)        |     a1 = *((gp - 8183));
    0x00007d14 lw t9, -0x7d7c(gp)        |     t9 = sym.imp.msg_event_create;
    0x00007d18 addiu a1, a1, -0x6308     |     a1 += -0x6308;
                                         |     do {
    0x00007d1c addiu a0, zero, 3         |         a0 = 3;
    0x00007d20 sw zero, 0x10(sp)         |         *(var_10h_3) = 0;
    0x00007d24 jalr t9                   |         t9 ();
    0x00007d28 lw gp, 0x20(sp)           |         gp = *(var_20h_4);
    0x00007d2c lw t9, -0x7ee0(gp)        |         t9 = sym.imp.msg_event_suppress_recursions_and_send;
    0x00007d30 move a0, v0               |         a0 = v0;
    0x00007d34 jalr t9                   |         t9 ();
    0x00007d38 lw gp, 0x20(sp)           |         gp = *(var_20h_4);
    0x00007d3c b 0x776c                  |         goto label_1;
                                         | label_24:
    0x00007d40 lw t9, -0x7e18(gp)        |         t9 = sym.imp.__errno_location;
    0x00007d44 jalr t9                   |         t9 ();
    0x00007d48 nop                       |         
    0x00007d4c lw gp, 0x20(sp)           |         gp = *(var_20h_4);
    0x00007d50 lw a1, (s0)               |         a1 = *(s0);
    0x00007d54 lw s0, (v0)               |         s0 = *(v0);
    0x00007d58 lw a0, -0x7fdc(gp)        |         a0 = *((gp - 8183));
    0x00007d5c lw t9, -0x7e74(gp)        |         t9 = sym.imp.evt_tag_str;
    0x00007d60 addiu a0, a0, -0x6a1c     |         a0 += -0x6a1c;
    0x00007d64 jalr t9                   |         t9 ();
    0x00007d68 lw gp, 0x20(sp)           |         gp = *(var_20h_4);
    0x00007d6c move a1, s0               |         a1 = s0;
    0x00007d70 move s0, v0               |         s0 = v0;
    0x00007d74 lw a0, -0x7fdc(gp)        |         a0 = *((gp - 8183));
    0x00007d78 lw t9, -0x7eec(gp)        |         t9 = sym.imp.evt_tag_errno;
    0x00007d7c addiu a0, a0, -0x6718     |         a0 += -0x6718;
    0x00007d80 jalr t9                   |         t9 ();
    0x00007d84 lw gp, 0x20(sp)           |         gp = *(var_20h_4);
    0x00007d88 move a3, v0               |         a3 = v0;
    0x00007d8c move a2, s0               |         a2 = s0;
    0x00007d90 lw a1, -0x7fdc(gp)        |         a1 = *((gp - 8183));
    0x00007d94 lw t9, -0x7d7c(gp)        |         t9 = sym.imp.msg_event_create;
    0x00007d98 addiu a1, a1, -0x6330     |         a1 += -0x6330;
    0x00007d9c b 0x7d1c                  |         
                                         |     } while (1);
                                         |     if (v0 == 0) {
                                         | label_34:
    0x00007da0 beql v0, zero, 0x7a74     |         goto label_4;
                                         |     }
    0x00007da4 lw v0, 4(s0)              |     v0 = *((s0 + 1));
    0x00007da8 lw t6, 0x58(a2)           |     t6 = *((a2 + 22));
    0x00007dac lw t7, 0x5c(a2)           |     t7 = *((a2 + 23));
    0x00007db0 wsbh t6, t6               |     __asm ("wsbh t6, t6");
    0x00007db4 wsbh t7, t7               |     __asm ("wsbh t7, t7");
    0x00007db8 lw v0, 8(a2)              |     v0 = *((a2 + 2));
    0x00007dbc lw v1, 0xc(a2)            |     v1 = *((a2 + 3));
    0x00007dc0 rotr t7, t7, 0x10         |     __asm ("rotr t7, t7, 0x10");
    0x00007dc4 rotr t6, t6, 0x10         |     __asm ("rotr t6, t6, 0x10");
    0x00007dc8 b 0x792c                  |     goto label_5;
                                         | label_35:
    0x00007dcc lbu v1, 1(v0)             |     v1 = *((v0 + 1));
    0x00007dd0 lw a0, -0x7fdc(gp)        |     a0 = *((gp - 8183));
                                         |     if (a0 != v1) {
    0x00007dd4 bne a0, v1, 0x7a88        |         goto label_6;
                                         |     }
    0x00007dd8 lbu a0, 2(a2)             |     a0 = *((a2 + 2));
    0x00007ddc lbu v1, 2(v0)             |     v1 = *((v0 + 2));
    0x00007de0 lw a0, -0x7fdc(gp)        |     a0 = *((gp - 8183));
                                         |     if (a0 == v1) {
    0x00007de4 bnel a0, v1, 0x7a88       |         goto label_6;
                                         |     }
    0x00007de8 lbu v1, 3(a2)             |     v1 = *((a2 + 3));
    0x00007dec lbu v0, 3(v0)             |     v0 = *((v0 + 3));
    0x00007df0 lw a0, -0x7fdc(gp)        |     a0 = *((gp - 8183));
                                         |     if (v1 == v0) {
    0x00007df4 bnel v1, v0, 0x7a88       |         goto label_6;
                                         |     }
    0x00007df8 lw v0, 0xc(a2)            |     v0 = *((a2 + 3));
    0x00007dfc lw a0, 8(a2)              |     a0 = *((a2 + 2));
                                         |     if (v0 <= 0) {
    0x00007e00 blez v0, 0x82b4           |         goto label_36;
                                         |     }
    0x00007e04 lw v1, 0x14(a2)           |     v1 = *((a2 + 5));
                                         | label_13:
    0x00007e08 lw a1, 0x10(a2)           |     a1 = *((a2 + 4));
                                         |     if (v1 <= 0) {
    0x00007e0c blez v1, 0x8048           |         goto label_37;
                                         |     }
                                         |     if (a0 == a1) {
                                         | label_9:
    0x00007e10 beq a0, a1, 0x82cc        |         goto label_38;
                                         |     }
    0x00007e14 nop                       |     
    0x00007e18 lw v0, 0x1c(s0)           |     v0 = *((s0 + 7));
                                         | label_15:
    0x00007e1c lw s1, 0x2c(a2)           |     s1 = *((a2 + 11));
    0x00007e20 lw t0, 0x20(a2)           |     t0 = *((a2 + 8));
    0x00007e24 lw a0, 0x10(v0)           |     a0 = *((v0 + 4));
    0x00007e28 lw v1, 0x24(a2)           |     v1 = *((a2 + 9));
    0x00007e2c lw s4, 0x3c(a2)           |     s4 = *((a2 + 15));
    0x00007e30 lw t3, 0x30(a2)           |     t3 = *((a2 + 12));
    0x00007e34 lw t1, 0x34(a2)           |     t1 = *((a2 + 13));
    0x00007e38 lw s5, 0x4c(a2)           |     s5 = *((a2 + 19));
    0x00007e3c lw t4, 0x40(a2)           |     t4 = *((a2 + 16));
    0x00007e40 lw t2, 0x44(a2)           |     t2 = *((a2 + 17));
                                         |     if (a0 == 0) {
    0x00007e44 beqz a0, 0x82f0           |         goto label_39;
                                         |     }
    0x00007e48 lw a0, 0xc(v0)            |     a0 = *((v0 + 3));
    0x00007e4c lw t9, -0x7e78(gp)        |     t9 = sym.imp.__fxstat64;
                                         |     if (a0 != 0) {
    0x00007e50 bnez a0, 0x8110           |         goto label_40;
                                         |     }
    0x00007e54 or a0, t3, t1             |     a0 = t3 | t1;
                                         | label_17:
    0x00007e58 move a2, t0               |     a2 = t0;
                                         |     if (a0 == 0) {
    0x00007e5c beqz a0, 0x83b4           |         goto label_41;
                                         |     }
    0x00007e60 slt a0, t1, v1            |     a0 = (t1 < v1) ? 1 : 0;
    0x00007e64 move a3, v1               |     a3 = v1;
                                         |     if (a0 != 0) {
    0x00007e68 bnez a0, 0x83c4           |         goto label_42;
                                         |     }
    0x00007e6c sltu a0, t3, t0           |     a0 = (t3 < t0) ? 1 : 0;
                                         |     if (v1 == t1) {
    0x00007e70 beq v1, t1, 0x83bc        |         goto label_43;
                                         |     }
                                         | label_18:
    0x00007e74 or a0, t4, t2             |     a0 = t4 | t2;
                                         | label_19:
    0x00007e78 slt a0, t2, a3            |     a0 = (t2 < a3) ? 1 : 0;
                                         |     if (a0 != 0) {
    0x00007e7c beqz a0, 0x7e90           |         
    0x00007e80 move a2, t4               |         a2 = t4;
                                         |         if (a0 == 0) {
    0x00007e84 bnel a0, zero, 0x83dc     |             goto label_44;
                                         |         }
    0x00007e88 sltu a0, t4, a2           |         a0 = (t4 < a2) ? 1 : 0;
                                         |         if (a3 == t2) {
    0x00007e8c beq a3, t2, 0x83d0        |             goto label_45;
                                         |         }
                                         |     }
                                         | label_20:
    0x00007e90 lw t9, -0x7fc8(gp)        |     t9 = *((gp - 8178));
                                         |     if (a3 > 0) {
    0x00007e94 bgtz a3, 0x7fec           |         goto label_46;
                                         |     }
    0x00007e98 sltiu a0, a2, 0x1001      |     a0 = (a2 < 0x1001) ? 1 : 0;
                                         |     if (a3 == 0) {
    0x00007e9c beqz a3, 0x7fe0           |         goto label_47;
                                         |     }
    0x00007ea0 move a0, v0               |     a0 = v0;
                                         |     do {
                                         | label_7:
    0x00007ea4 lw v0, 0x10(a0)           |         v0 = *((a0 + 4));
    0x00007ea8 lw t9, -0x7ed0(gp)        |         t9 = sym.imp.memset;
                                         |         if (v0 != 0) {
    0x00007eac bnez v0, 0x810c           |             goto label_48;
                                         |         }
    0x00007eb0 lw a0, 0x18(s0)           |         a0 = *((s0 + 6));
    0x00007eb4 sw t0, 0x10(s0)           |         *((s0 + 4)) = t0;
    0x00007eb8 sw v1, 0x14(s0)           |         *((s0 + 5)) = v1;
    0x00007ebc addiu a2, zero, 0x10      |         a2 = 0x10;
    0x00007ec0 move a1, zero             |         a1 = 0;
    0x00007ec4 addiu a0, a0, 0x20        |         a0 += 0x20;
    0x00007ec8 jalr t9                   |         t9 ();
    0x00007ecc lw gp, 0x20(sp)           |         gp = *(var_20h_4);
    0x00007ed0 lw a0, 0x18(s0)           |         a0 = *((s0 + 6));
    0x00007ed4 addiu a2, zero, 0x10      |         a2 = 0x10;
    0x00007ed8 lw t9, -0x7ed0(gp)        |         t9 = sym.imp.memset;
    0x00007edc move a1, zero             |         a1 = 0;
    0x00007ee0 addiu a0, a0, 0x30        |         a0 += 0x30;
    0x00007ee4 jalr t9                   |         t9 ();
    0x00007ee8 lw gp, 0x20(sp)           |         gp = *(var_20h_4);
    0x00007eec lw a0, 0x18(s0)           |         a0 = *((s0 + 6));
    0x00007ef0 addiu a2, zero, 0x10      |         a2 = 0x10;
    0x00007ef4 lw t9, -0x7ed0(gp)        |         t9 = sym.imp.memset;
    0x00007ef8 move a1, zero             |         a1 = 0;
    0x00007efc addiu a0, a0, 0x40        |         a0 += 0x40;
    0x00007f00 jalr t9                   |         t9 ();
    0x00007f04 lw gp, 0x20(sp)           |         gp = *(var_20h_4);
    0x00007f08 lw a1, (s0)               |         a1 = *(s0);
    0x00007f0c lw a0, -0x7fdc(gp)        |         a0 = *((gp - 8183));
    0x00007f10 lw t9, -0x7e74(gp)        |         t9 = sym.imp.evt_tag_str;
    0x00007f14 addiu a0, a0, -0x6a1c     |         a0 += -0x6a1c;
    0x00007f18 jalr t9                   |         t9 ();
    0x00007f1c lw gp, 0x20(sp)           |         gp = *(var_20h_4);
    0x00007f20 move a1, s1               |         a1 = s1;
    0x00007f24 move s3, v0               |         s3 = v0;
    0x00007f28 lw a0, -0x7fdc(gp)        |         a0 = *((gp - 8183));
    0x00007f2c lw t9, -0x7ea8(gp)        |         t9 = sym.imp.evt_tag_int;
    0x00007f30 addiu a0, a0, -0x63e8     |         a0 += -0x63e8;
    0x00007f34 jalr t9                   |         t9 ();
    0x00007f38 lw gp, 0x20(sp)           |         gp = *(var_20h_4);
    0x00007f3c move a1, s4               |         a1 = s4;
    0x00007f40 move s4, v0               |         s4 = v0;
    0x00007f44 lw a0, -0x7fdc(gp)        |         a0 = *((gp - 8183));
    0x00007f48 lw t9, -0x7ea8(gp)        |         t9 = sym.imp.evt_tag_int;
    0x00007f4c addiu a0, a0, -0x63dc     |         a0 += -0x63dc;
    0x00007f50 jalr t9                   |         t9 ();
    0x00007f54 lw gp, 0x20(sp)           |         gp = *(var_20h_4);
    0x00007f58 move a1, s5               |         a1 = s5;
    0x00007f5c move s1, v0               |         s1 = v0;
    0x00007f60 lw a0, -0x7fdc(gp)        |         a0 = *((gp - 8183));
    0x00007f64 lw t9, -0x7ea8(gp)        |         t9 = sym.imp.evt_tag_int;
    0x00007f68 addiu a0, a0, -0x63cc     |         a0 += -0x63cc;
    0x00007f6c jalr t9                   |         t9 ();
    0x00007f70 lw gp, 0x20(sp)           |         gp = *(var_20h_4);
    0x00007f74 lw v1, 0x18(s0)           |         v1 = *((s0 + 6));
    0x00007f78 move s0, v0               |         s0 = v0;
    0x00007f7c lw a0, -0x7fdc(gp)        |         a0 = *((gp - 8183));
    0x00007f80 lw t9, -0x7dec(gp)        |         t9 = sym.imp.evt_tag_long;
    0x00007f84 lw a2, 0x18(v1)           |         a2 = *((v1 + 6));
    0x00007f88 lw a3, 0x1c(v1)           |         a3 = *((v1 + 7));
    0x00007f8c addiu a0, a0, -0x65bc     |         a0 += -0x65bc;
    0x00007f90 jalr t9                   |         t9 ();
    0x00007f94 lw gp, 0x20(sp)           |         gp = *(var_20h_4);
    0x00007f98 move a3, s4               |         a3 = s4;
    0x00007f9c move a2, s3               |         a2 = s3;
    0x00007fa0 lw a1, -0x7fdc(gp)        |         a1 = *((gp - 8183));
    0x00007fa4 lw t9, -0x7d7c(gp)        |         t9 = sym.imp.msg_event_create;
    0x00007fa8 addiu a1, a1, -0x6204     |         a1 += -0x6204;
    0x00007fac addiu a0, zero, 6         |         a0 = 6;
                                         | label_11:
    0x00007fb0 sw s1, 0x10(sp)           |         *(var_10h_3) = s1;
    0x00007fb4 sw zero, 0x1c(sp)         |         *(var_1ch) = 0;
    0x00007fb8 sw v0, 0x18(sp)           |         *(var_18h_3) = v0;
    0x00007fbc sw s0, 0x14(sp)           |         *(var_14h_2) = s0;
    0x00007fc0 jalr t9                   |         t9 ();
    0x00007fc4 lw gp, 0x20(sp)           |         gp = *(var_20h_4);
    0x00007fc8 move a0, v0               |         a0 = v0;
    0x00007fcc lw t9, -0x7ee0(gp)        |         t9 = sym.imp.msg_event_suppress_recursions_and_send;
    0x00007fd0 addiu s1, zero, 1         |         s1 = 1;
    0x00007fd4 jalr t9                   |         t9 ();
    0x00007fd8 lw gp, 0x20(sp)           |         gp = *(var_20h_4);
    0x00007fdc b 0x776c                  |         goto label_1;
                                         | label_47:
    0x00007fe0 move a0, v0               |         a0 = v0;
    0x00007fe4 bnel a0, zero, 0x7ea4     |         
                                         |     } while (a0 == 0);
    0x00007fe8 lw t9, -0x7fc8(gp)        |     t9 = *((gp - 8178));
                                         | label_46:
    0x00007fec sw v1, 0x30(sp)           |     *(var_30h_4) = v1;
    0x00007ff0 sw t0, 0x2c(sp)           |     *(var_2ch_4) = t0;
    0x00007ff4 move a0, s0               |     a0 = s0;
    0x00007ff8 addiu t9, t9, 0x5e88      |     t9 += fcn.00005e88;
    0x00007ffc addiu a1, s0, 8           |     a1 = s0 + 8;
    0x00008000 bal 0x5e88                |     fcn_00005e88 ();
    0x00008004 lw gp, 0x20(sp)           |     gp = *(var_20h_4);
    0x00008008 lw a0, 0x1c(s0)           |     a0 = *((s0 + 7));
    0x0000800c lw v1, 0x30(sp)           |     v1 = *(var_30h_4);
    0x00008010 lw t0, 0x2c(sp)           |     t0 = *(var_2ch_4);
    0x00008014 b 0x7ea4                  |     goto label_7;
                                         | label_31:
    0x00008018 lw t9, -0x7d7c(gp)        |     t9 = sym.imp.msg_event_create;
    0x0000801c move a2, zero             |     a2 = 0;
    0x00008020 addiu a1, a1, -0x6184     |     a1 += -0x6184;
    0x00008024 addiu a0, zero, 3         |     a0 = 3;
    0x00008028 jalr t9                   |     t9 ();
    0x0000802c lw gp, 0x20(sp)           |     gp = *(var_20h_4);
    0x00008030 move a0, v0               |     a0 = v0;
    0x00008034 lw t9, -0x7ee0(gp)        |     t9 = sym.imp.msg_event_suppress_recursions_and_send;
    0x00008038 move s5, zero             |     s5 = 0;
    0x0000803c jalr t9                   |     t9 ();
    0x00008040 lw gp, 0x20(sp)           |     gp = *(var_20h_4);
    0x00008044 b 0x7864                  |     goto label_8;
                                         | label_37:
    0x00008048 sltiu a3, a1, 0x1000      |     a3 = (a1 < 0x1000) ? 1 : 0;
                                         |     if (v1 != 0) {
    0x0000804c bnez v1, 0x8058           |         goto label_12;
                                         |     }
                                         |     if (a3 == 0) {
    0x00008050 beqz a3, 0x7e10           |         goto label_9;
                                         |     }
    0x00008054 nop                       |     
                                         | label_12:
    0x00008058 lw a0, -0x7fdc(gp)        |     a0 = *((gp - 8183));
                                         | label_14:
    0x0000805c lw a1, (s0)               |     a1 = *(s0);
    0x00008060 lw t9, -0x7e74(gp)        |     t9 = sym.imp.evt_tag_str;
    0x00008064 addiu a0, a0, -0x6a1c     |     a0 += -0x6a1c;
    0x00008068 jalr t9                   |     t9 ();
    0x0000806c lw gp, 0x20(sp)           |     gp = *(var_20h_4);
    0x00008070 lw v1, 0x18(s0)           |     v1 = *((s0 + 6));
    0x00008074 move s3, v0               |     s3 = v0;
    0x00008078 lw a0, -0x7fdc(gp)        |     a0 = *((gp - 8183));
    0x0000807c lw t9, -0x7dec(gp)        |     t9 = sym.imp.evt_tag_long;
    0x00008080 lw a2, 8(v1)              |     a2 = *((v1 + 2));
    0x00008084 lw a3, 0xc(v1)            |     a3 = *((v1 + 3));
    0x00008088 addiu a0, a0, -0x6268     |     a0 += -0x6268;
    0x0000808c jalr t9                   |     t9 ();
    0x00008090 lw gp, 0x20(sp)           |     gp = *(var_20h_4);
    0x00008094 lw v1, 0x18(s0)           |     v1 = *((s0 + 6));
    0x00008098 move s4, v0               |     s4 = v0;
    0x0000809c lw a0, -0x7fdc(gp)        |     a0 = *((gp - 8183));
    0x000080a0 lw t9, -0x7dec(gp)        |     t9 = sym.imp.evt_tag_long;
    0x000080a4 lw a2, 0x10(v1)           |     a2 = *((v1 + 4));
    0x000080a8 lw a3, 0x14(v1)           |     a3 = *((v1 + 5));
    0x000080ac addiu a0, a0, -0x65d4     |     a0 += -0x65d4;
    0x000080b0 jalr t9                   |     t9 ();
    0x000080b4 lw gp, 0x20(sp)           |     gp = *(var_20h_4);
    0x000080b8 lw v1, 0x18(s0)           |     v1 = *((s0 + 6));
    0x000080bc move s1, v0               |     s1 = v0;
    0x000080c0 lw a0, -0x7fdc(gp)        |     a0 = *((gp - 8183));
    0x000080c4 lw t9, -0x7dec(gp)        |     t9 = sym.imp.evt_tag_long;
    0x000080c8 lw a2, 0x18(v1)           |     a2 = *((v1 + 6));
    0x000080cc lw a3, 0x1c(v1)           |     a3 = *((v1 + 7));
    0x000080d0 addiu a0, a0, -0x65bc     |     a0 += -0x65bc;
    0x000080d4 jalr t9                   |     t9 ();
    0x000080d8 lw gp, 0x20(sp)           |     gp = *(var_20h_4);
    0x000080dc move a3, s4               |     a3 = s4;
    0x000080e0 move a2, s3               |     a2 = s3;
    0x000080e4 lw a1, -0x7fdc(gp)        |     a1 = *((gp - 8183));
    0x000080e8 lw t9, -0x7d7c(gp)        |     t9 = sym.imp.msg_event_create;
    0x000080ec addiu a1, a1, -0x625c     |     a1 += -0x625c;
    0x000080f0 addiu a0, zero, 3         |     a0 = 3;
    0x000080f4 sw zero, 0x18(sp)         |     *(var_18h_3) = 0;
    0x000080f8 sw v0, 0x14(sp)           |     *(var_14h_2) = v0;
    0x000080fc sw s1, 0x10(sp)           |     *(var_10h_3) = s1;
    0x00008100 jalr t9                   |     t9 ();
    0x00008104 lw gp, 0x20(sp)           |     gp = *(var_20h_4);
    0x00008108 b 0x7abc                  |     goto label_10;
                                         | label_48:
    0x0000810c lw t9, -0x7e78(gp)        |     t9 = sym.imp.__fxstat64;
                                         | label_40:
    0x00008110 lw a1, 8(s0)              |     a1 = *((s0 + 2));
    0x00008114 move a2, s3               |     a2 = s3;
    0x00008118 addiu a0, zero, 3         |     a0 = 3;
    0x0000811c jalr t9                   |     t9 ();
    0x00008120 lw gp, 0x20(sp)           |     gp = *(var_20h_4);
    0x00008124 lw v1, 0x12c(sp)          |     v1 = *(var_12ch);
    0x00008128 lw v0, 0x128(sp)          |     v0 = *(var_128h);
    0x0000812c lw s1, -0x7fdc(gp)        |     s1 = *((gp - 8183));
    0x00008130 lw a1, (s0)               |     a1 = *(s0);
    0x00008134 lw t9, -0x7e74(gp)        |     t9 = sym.imp.evt_tag_str;
    0x00008138 addiu a0, s1, -0x6a1c     |     a0 = s1 + -0x6a1c;
    0x0000813c sw v1, 0x14(s0)           |     *((s0 + 5)) = v1;
    0x00008140 sw v0, 0x10(s0)           |     *((s0 + 4)) = v0;
    0x00008144 jalr t9                   |     t9 ();
    0x00008148 lw gp, 0x20(sp)           |     gp = *(var_20h_4);
    0x0000814c lw v1, 0x18(s0)           |     v1 = *((s0 + 6));
    0x00008150 move s3, v0               |     s3 = v0;
    0x00008154 lw a0, -0x7fdc(gp)        |     a0 = *((gp - 8183));
    0x00008158 lw t9, -0x7dec(gp)        |     t9 = sym.imp.evt_tag_long;
    0x0000815c lw a2, 0x18(v1)           |     a2 = *((v1 + 6));
    0x00008160 lw a3, 0x1c(v1)           |     a3 = *((v1 + 7));
    0x00008164 addiu a0, a0, -0x61e8     |     a0 += -0x61e8;
    0x00008168 jalr t9                   |     t9 ();
    0x0000816c lw v1, 0x18(s0)           |     v1 = *((s0 + 6));
    0x00008170 lw gp, 0x20(sp)           |     gp = *(var_20h_4);
    0x00008174 move s4, v0               |     s4 = v0;
    0x00008178 lw a3, 0x10(v1)           |     a3 = *((v1 + 4));
    0x0000817c lw a0, 0x14(v1)           |     a0 = *((v1 + 5));
    0x00008180 lw a2, 8(v1)              |     a2 = *((v1 + 2));
    0x00008184 lw v1, 0xc(v1)            |     v1 = *((v1 + 3));
    0x00008188 subu a2, a3, a2           |     __asm ("subu a2, a3, a2");
    0x0000818c subu v1, a0, v1           |     __asm ("subu v1, a0, v1");
    0x00008190 lw a0, -0x7fdc(gp)        |     a0 = *((gp - 8183));
    0x00008194 lw t9, -0x7dec(gp)        |     t9 = sym.imp.evt_tag_long;
    0x00008198 sltu a3, a3, a2           |     a3 = (a3 < a2) ? 1 : 0;
    0x0000819c subu a3, v1, a3           |     __asm ("subu a3, v1, a3");
    0x000081a0 addiu a0, a0, -0x6868     |     a0 += -0x6868;
    0x000081a4 jalr t9                   |     t9 ();
    0x000081a8 lw gp, 0x20(sp)           |     gp = *(var_20h_4);
    0x000081ac move a3, s4               |     a3 = s4;
    0x000081b0 move a2, s3               |     a2 = s3;
    0x000081b4 lw a1, -0x7fdc(gp)        |     a1 = *((gp - 8183));
    0x000081b8 lw t9, -0x7d7c(gp)        |     t9 = sym.imp.msg_event_create;
    0x000081bc addiu a1, a1, -0x61d8     |     a1 += -0x61d8;
    0x000081c0 addiu a0, zero, 6         |     a0 = 6;
    0x000081c4 sw zero, 0x14(sp)         |     *(var_14h_2) = 0;
    0x000081c8 sw v0, 0x10(sp)           |     *(var_10h_3) = v0;
    0x000081cc jalr t9                   |     t9 ();
    0x000081d0 lw gp, 0x20(sp)           |     gp = *(var_20h_4);
    0x000081d4 lw t9, -0x7ee0(gp)        |     t9 = sym.imp.msg_event_suppress_recursions_and_send;
    0x000081d8 move a0, v0               |     a0 = v0;
    0x000081dc jalr t9                   |     t9 ();
    0x000081e0 lw gp, 0x20(sp)           |     gp = *(var_20h_4);
    0x000081e4 lw v0, -0x7f70(gp)        |     v0 = *(gp);
    0x000081e8 lw v0, (v0)               |     v0 = *(v0);
                                         |     if (v0 == 0) {
    0x000081ec beql v0, zero, 0x776c     |         goto label_1;
                                         |     }
    0x000081f0 addiu s1, zero, 1         |     s1 = 1;
    0x000081f4 lw a1, (s0)               |     a1 = *(s0);
    0x000081f8 lw t9, -0x7e74(gp)        |     t9 = sym.imp.evt_tag_str;
    0x000081fc addiu a0, s1, -0x6a1c     |     a0 = s1 + -0x6a1c;
    0x00008200 jalr t9                   |     t9 ();
    0x00008204 lw gp, 0x20(sp)           |     gp = *(var_20h_4);
    0x00008208 lw v1, 0x18(s0)           |     v1 = *((s0 + 6));
    0x0000820c move s3, v0               |     s3 = v0;
    0x00008210 lw a0, -0x7fdc(gp)        |     a0 = *((gp - 8183));
    0x00008214 lw t9, -0x7dec(gp)        |     t9 = sym.imp.evt_tag_long;
    0x00008218 lw a2, 0x50(v1)           |     a2 = *((v1 + 20));
    0x0000821c lw a3, 0x54(v1)           |     a3 = *((v1 + 21));
    0x00008220 addiu a0, a0, -0x64bc     |     a0 += -0x64bc;
    0x00008224 jalr t9                   |     t9 ();
    0x00008228 lw gp, 0x20(sp)           |     gp = *(var_20h_4);
    0x0000822c lw v1, 0x18(s0)           |     v1 = *((s0 + 6));
    0x00008230 move s4, v0               |     s4 = v0;
    0x00008234 lw a0, -0x7fdc(gp)        |     a0 = *((gp - 8183));
    0x00008238 lw t9, -0x7dec(gp)        |     t9 = sym.imp.evt_tag_long;
    0x0000823c lw a2, 8(v1)              |     a2 = *((v1 + 2));
    0x00008240 lw a3, 0xc(v1)            |     a3 = *((v1 + 3));
    0x00008244 addiu a0, a0, -0x6268     |     a0 += -0x6268;
    0x00008248 jalr t9                   |     t9 ();
    0x0000824c lw gp, 0x20(sp)           |     gp = *(var_20h_4);
    0x00008250 lw v1, 0x18(s0)           |     v1 = *((s0 + 6));
    0x00008254 move s1, v0               |     s1 = v0;
    0x00008258 lw a0, -0x7fdc(gp)        |     a0 = *((gp - 8183));
    0x0000825c lw t9, -0x7dec(gp)        |     t9 = sym.imp.evt_tag_long;
    0x00008260 lw a2, 0x10(v1)           |     a2 = *((v1 + 4));
    0x00008264 lw a3, 0x14(v1)           |     a3 = *((v1 + 5));
    0x00008268 addiu a0, a0, -0x65d4     |     a0 += -0x65d4;
    0x0000826c jalr t9                   |     t9 ();
    0x00008270 lw gp, 0x20(sp)           |     gp = *(var_20h_4);
    0x00008274 lw v1, 0x18(s0)           |     v1 = *((s0 + 6));
    0x00008278 move s0, v0               |     s0 = v0;
    0x0000827c lw a0, -0x7fdc(gp)        |     a0 = *((gp - 8183));
    0x00008280 lw t9, -0x7dec(gp)        |     t9 = sym.imp.evt_tag_long;
    0x00008284 lw a2, 0x58(v1)           |     a2 = *((v1 + 22));
    0x00008288 lw a3, 0x5c(v1)           |     a3 = *((v1 + 23));
    0x0000828c addiu a0, a0, -0x61b4     |     a0 += -0x61b4;
    0x00008290 jalr t9                   |     t9 ();
    0x00008294 lw gp, 0x20(sp)           |     gp = *(var_20h_4);
    0x00008298 move a3, s4               |     a3 = s4;
    0x0000829c move a2, s3               |     a2 = s3;
    0x000082a0 lw a1, -0x7fdc(gp)        |     a1 = *((gp - 8183));
    0x000082a4 lw t9, -0x7d7c(gp)        |     t9 = sym.imp.msg_event_create;
    0x000082a8 addiu a1, a1, -0x61a8     |     a1 += -0x61a8;
    0x000082ac addiu a0, zero, 7         |     a0 = 7;
    0x000082b0 b 0x7fb0                  |     goto label_11;
                                         | label_36:
    0x000082b4 sltiu v1, a0, 0x1000      |     v1 = (a0 < 0x1000) ? 1 : 0;
                                         |     if (v0 != 0) {
    0x000082b8 bnez v0, 0x8058           |         goto label_12;
                                         |     }
                                         |     if (v1 == 0) {
    0x000082bc beql v1, zero, 0x7e08     |         goto label_13;
                                         |     }
    0x000082c0 lw v1, 0x14(a2)           |     v1 = *((a2 + 5));
    0x000082c4 lw a0, -0x7fdc(gp)        |     a0 = *((gp - 8183));
    0x000082c8 b 0x805c                  |     goto label_14;
                                         | label_38:
    0x000082cc lw v0, 0x1c(s0)           |     v0 = *((s0 + 7));
                                         |     if (v0 == v1) {
    0x000082d0 bnel v0, v1, 0x7e1c       |         goto label_15;
                                         |     }
    0x000082d4 lw v0, 0x18(a2)           |     v0 = *((a2 + 6));
    0x000082d8 lw v1, 0x1c(a2)           |     v1 = *((a2 + 7));
    0x000082dc or v0, v0, v1             |     v0 |= v1;
                                         |     if (v0 == 0) {
    0x000082e0 beql v0, zero, 0x7e1c     |         goto label_15;
                                         |     }
    0x000082e4 lw v0, 0x1c(s0)           |     v0 = *((s0 + 7));
    0x000082e8 lw a0, -0x7fdc(gp)        |     a0 = *((gp - 8183));
    0x000082ec b 0x805c                  |     goto label_14;
                                         | label_39:
    0x000082f0 lw s6, -0x7fc8(gp)        |     s6 = *((gp - 8178));
    0x000082f4 lw a3, -0x7fdc(gp)        |     a3 = *((gp - 8183));
    0x000082f8 lw a1, 0x30(sp)           |     a1 = *(var_30h_4);
    0x000082fc addiu s6, s6, 0x64ac      |     s6 += fcn.000064ac;
    0x00008300 sw v1, 0x4c(sp)           |     *(var_4ch_2) = v1;
    0x00008304 sw t0, 0x48(sp)           |     *(var_48h_2) = t0;
    0x00008308 sw t2, 0x44(sp)           |     *(var_44h_2) = t2;
    0x0000830c sw t4, 0x40(sp)           |     *(var_40h_2) = t4;
    0x00008310 sw t1, 0x3c(sp)           |     *(var_3ch_4) = t1;
    0x00008314 sw t3, 0x2c(sp)           |     *(var_2ch_4) = t3;
    0x00008318 addiu a3, a3, -0x6224     |     a3 += -0x6224;
    0x0000831c addiu a2, a2, 0x20        |     a2 += 0x20;
    0x00008320 move t9, s6               |     t9 = s6;
    0x00008324 move a0, s0               |     a0 = s0;
    0x00008328 bal 0x64ac                |     fcn_000064ac ();
    0x0000832c lw gp, 0x20(sp)           |     gp = *(var_20h_4);
                                         |     if (v0 == 0) {
    0x00008330 beqz v0, 0x7acc           |         goto label_16;
                                         |     }
    0x00008334 lw a3, -0x7fdc(gp)        |     a3 = *((gp - 8183));
    0x00008338 lw a2, 0x18(s0)           |     a2 = *((s0 + 6));
    0x0000833c lw a1, 0x34(sp)           |     a1 = *(var_34h_4);
    0x00008340 addiu a2, a2, 0x30        |     a2 += 0x30;
    0x00008344 addiu a3, a3, -0x621c     |     a3 += -0x621c;
    0x00008348 move t9, s6               |     t9 = s6;
    0x0000834c move a0, s0               |     a0 = s0;
    0x00008350 bal 0x64ac                |     fcn_000064ac ();
    0x00008354 lw gp, 0x20(sp)           |     gp = *(var_20h_4);
                                         |     if (v0 == 0) {
    0x00008358 beqz v0, 0x7acc           |         goto label_16;
                                         |     }
    0x0000835c lw a3, -0x7fdc(gp)        |     a3 = *((gp - 8183));
    0x00008360 lw a2, 0x18(s0)           |     a2 = *((s0 + 6));
    0x00008364 lw a1, 0x38(sp)           |     a1 = *(var_38h_4);
    0x00008368 addiu a2, a2, 0x40        |     a2 += 0x40;
    0x0000836c addiu a3, a3, -0x6210     |     a3 += -0x6210;
    0x00008370 move t9, s6               |     t9 = s6;
    0x00008374 move a0, s0               |     a0 = s0;
    0x00008378 bal 0x64ac                |     fcn_000064ac ();
    0x0000837c lw gp, 0x20(sp)           |     gp = *(var_20h_4);
                                         |     if (v0 == 0) {
    0x00008380 beqz v0, 0x7acc           |         goto label_16;
                                         |     }
    0x00008384 lw v0, 0x1c(s0)           |     v0 = *((s0 + 7));
    0x00008388 lw t3, 0x2c(sp)           |     t3 = *(var_2ch_4);
    0x0000838c move a0, v0               |     a0 = v0;
    0x00008390 lw a1, 0xc(v0)            |     a1 = *((v0 + 3));
    0x00008394 lw t1, 0x3c(sp)           |     t1 = *(var_3ch_4);
    0x00008398 lw t4, 0x40(sp)           |     t4 = *(var_40h_2);
    0x0000839c lw t2, 0x44(sp)           |     t2 = *(var_44h_2);
    0x000083a0 lw t0, 0x48(sp)           |     t0 = *(var_48h_2);
    0x000083a4 lw v1, 0x4c(sp)           |     v1 = *(var_4ch_2);
                                         |     if (a1 != 0) {
    0x000083a8 bnez a1, 0x7ea4           |         goto label_7;
                                         |     }
    0x000083ac or a0, t3, t1             |     a0 = t3 | t1;
    0x000083b0 b 0x7e58                  |     goto label_17;
                                         | label_41:
    0x000083b4 move a3, v1               |     a3 = v1;
    0x000083b8 b 0x7e74                  |     goto label_18;
                                         | label_43:
    0x000083bc or a0, t4, t2             |     a0 = t4 | t2;
                                         |     if (a0 == 0) {
    0x000083c0 beqz a0, 0x7e78           |         goto label_19;
                                         |     }
                                         | label_42:
    0x000083c4 move a2, t3               |     a2 = t3;
    0x000083c8 move a3, t1               |     a3 = t1;
    0x000083cc b 0x7e74                  |     goto label_18;
                                         |     if (a0 == 0) {
                                         | label_45:
    0x000083d0 beqz a0, 0x7e90           |         goto label_20;
                                         |     }
    0x000083d4 nop                       |     
    0x000083d8 move a2, t4               |     a2 = t4;
                                         | label_44:
    0x000083dc move a3, t2               |     a3 = t2;
    0x000083e0 b 0x7e90                  |     goto label_20;
                                         | label_30:
    0x000083e4 lw t9, -0x7e60(gp)        |     t9 = sym.imp.__stack_chk_fail;
    0x000083e8 jalr t9                   |     t9 ();
    0x000083ec nop                       |     
                                         | }

[*] Function printf used 3 times dqtool