[*] Binary protection state of libcurl.so.4.8.0

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


[*] Function strcat tear down of libcurl.so.4.8.0

    ; assembly                           | /* r2dec pseudo code output */
                                         | /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/lib/libcurl.so.4.8.0 @ 0x7834 */
                                         | #include <stdint.h>
                                         |  
    ; (fcn) entry.fini0 ()               | void entry_fini0 () {
    0x00007834 lui gp, 0xa               |     
    0x00007838 addiu gp, gp, 0x4f5c      |     
    0x0000783c addu gp, gp, t9           |     gp += t9;
    0x00007840 addiu sp, sp, -0x20       |     
    0x00007844 sw s0, 0x18(sp)           |     *(var_18h) = s0;
    0x00007848 lw s0, -0x7fe4(gp)        |     s0 = *((gp - 8185));
    0x0000784c sw gp, 0x10(sp)           |     *(var_10h) = gp;
    0x00007850 sw ra, 0x1c(sp)           |     *(var_1ch) = ra;
    0x00007854 lbu v0, 0x56e0(s0)        |     v0 = *((s0 + 22240));
    0x00007858 lw v0, -0x7404(gp)        |     v0 = *((gp - 7425));
                                         |     if (v0 == 0) {
    0x0000785c bnez v0, 0x7890           |         
    0x00007860 lw v0, -0x7fe0(gp)        |         v0 = *((gp - 8184));
                                         |         if (v0 != 0) {
    0x00007864 beqz v0, 0x7878           |             
    0x00007868 lw t9, -0x7404(gp)        |             t9 = *((gp - 7425));
    0x0000786c lw a0, (v0)               |             a0 = *(v0);
    0x00007870 jalr t9                   |             t9 ();
    0x00007874 lw gp, 0x10(sp)           |             gp = *(var_10h);
                                         |         }
    0x00007878 lw t9, -0x7fdc(gp)        |         t9 = *((gp - 8183));
    0x0000787c addiu t9, t9, 0x77b0      |         t9 += entry0;
    0x00007880 bal 0x77b0                |         entry0 ();
    0x00007884 nop                       |         
    0x00007888 addiu v0, zero, 1         |         v0 = 1;
    0x0000788c sb v0, 0x56e0(s0)         |         *((s0 + 22240)) = v0;
                                         |     }
    0x00007890 lw ra, 0x1c(sp)           |     ra = *(var_1ch);
    0x00007894 lw s0, 0x18(sp)           |     s0 = *(var_18h);
    0x00007898 addiu sp, sp, 0x20        |     
    0x0000789c jr ra                     |     return v0;
                                         | }
    ; assembly                               | /* r2dec pseudo code output */
                                             | /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/lib/libcurl.so.4.8.0 @ 0xcb90 */
                                             | #include <stdint.h>
                                             |  
    ; (fcn) fcn.0000cb90 ()                  | void fcn_0000cb90 () {
                                             | label_4:
    0x0000cb90 lui gp, 0xa                   |     
    0x0000cb94 addiu gp, gp, -0x400          |     
    0x0000cb98 addu gp, gp, t9               |     gp += t9;
    0x0000cb9c addiu sp, sp, -0x58           |     
    0x0000cba0 lbu v0, 0x48(a1)              |     v0 = *((a1 + 72));
    0x0000cba4 sw s3, 0x48(sp)               |     *(var_48h) = s3;
    0x0000cba8 lw s3, -0x74ac(gp)            |     s3 = *((gp - 7467));
    0x0000cbac sw s2, 0x44(sp)               |     *(var_44h) = s2;
    0x0000cbb0 addiu s2, sp, 0x24            |     s2 = sp + 0x24;
    0x0000cbb4 lw v1, (s3)                   |     v1 = *(s3);
    0x0000cbb8 sw gp, 0x18(sp)               |     *(var_18h) = gp;
    0x0000cbbc sw s5, 0x50(sp)               |     *(var_50h) = s5;
    0x0000cbc0 sw s4, 0x4c(sp)               |     *(var_4ch) = s4;
    0x0000cbc4 sw s1, 0x40(sp)               |     *(var_40h) = s1;
    0x0000cbc8 sw s0, 0x3c(sp)               |     *(var_3ch) = s0;
    0x0000cbcc sw ra, 0x54(sp)               |     *(var_54h) = ra;
    0x0000cbd0 sw zero, 0x24(sp)             |     *(var_24h) = 0;
    0x0000cbd4 move s1, a1                   |     s1 = a1;
    0x0000cbd8 move s0, a0                   |     s0 = a0;
    0x0000cbdc move s4, a2                   |     s4 = a2;
    0x0000cbe0 move s5, a3                   |     s5 = a3;
    0x0000cbe4 sw v1, 0x34(sp)               |     *(var_34h) = v1;
    0x0000cbe8 sw zero, 0x2c(sp)             |     *(var_2ch) = 0;
    0x0000cbec sw zero, 0x30(sp)             |     *(var_30h) = 0;
    0x0000cbf0 sw zero, 4(s2)                |     *((s2 + 1)) = 0;
                                             |     if (v0 != 0) {
    0x0000cbf4 beqz v0, 0xcc60               |         
    0x0000cbf8 lw a0, 0x34(a1)               |         a0 = *((a1 + 13));
    0x0000cbfc move a2, s5                   |         a2 = s5;
                                             |         if (a0 == 0) {
    0x0000cc00 beqz a0, 0xcc60               |             goto label_6;
                                             |         }
    0x0000cc04 lw v0, (a0)                   |         v0 = *(a0);
    0x0000cc08 sw s2, 0x10(sp)               |         *(var_48h_2) = s2;
    0x0000cc0c move a3, zero                 |         a3 = 0;
    0x0000cc10 lw t9, 0x38(v0)               |         t9 = *((v0 + 14));
    0x0000cc14 move a1, s4                   |         a1 = s4;
    0x0000cc18 jalr t9                       |         t9 ();
    0x0000cc1c lw gp, 0x18(sp)               |         gp = *(var_18h);
                                             |         if (v0 != 0) {
    0x0000cc20 bnez v0, 0xcc60               |             goto label_6;
                                             |         }
    0x0000cc24 lw a0, 0x24(sp)               |         a0 = *(var_24h);
    0x0000cc28 lw a1, 0x28(sp)               |         a1 = *(var_28h);
    0x0000cc2c or v0, a0, a1                 |         v0 = a0 | a1;
                                             |         if (v0 == 0) {
    0x0000cc30 beql v0, zero, 0xcc64         |             goto label_1;
                                             |         }
    0x0000cc34 lbu v0, 0x2c(s1)              |         v0 = *((s1 + 44));
    0x0000cc38 lw t9, -0x7ec8(gp)            |         t9 = *((gp - 8114));
    0x0000cc3c lw a2, 0x2c(sp)               |         a2 = *(var_2ch);
    0x0000cc40 lw a3, 0x30(sp)               |         a3 = *(var_30h);
    0x0000cc44 jalr t9                       |         t9 ();
    0x0000cc48 lw gp, 0x18(sp)               |         gp = *(var_18h);
                                             |         if (v1 <= 0) {
    0x0000cc4c blez v1, 0xcd1c               |             goto label_7;
                                             |         }
    0x0000cc50 lw v0, 0x24(sp)               |         v0 = *(var_24h);
                                             | label_0:
    0x0000cc54 sw v0, 0x2c(sp)               |         *(var_2ch) = v0;
    0x0000cc58 lw v0, 0x28(sp)               |         v0 = *(var_28h);
    0x0000cc5c sw v0, 0x30(sp)               |         *(var_30h) = v0;
                                             |     }
                                             | label_6:
    0x0000cc60 lbu v0, 0x2c(s1)              |     v0 = *((s1 + 44));
                                             |     do {
                                             | label_1:
    0x0000cc64 sw zero, 0x24(sp)             |         *(var_24h) = 0;
    0x0000cc68 sw zero, 4(s2)                |         *((s2 + 1)) = 0;
                                             |         if (v0 != 0) {
    0x0000cc6c beqz v0, 0xccd8               |             
    0x0000cc70 lw a0, 0x18(s1)               |             a0 = *((s1 + 6));
    0x0000cc74 move a2, s5                   |             a2 = s5;
                                             |             if (a0 == 0) {
    0x0000cc78 beqz a0, 0xccd8               |                 goto label_8;
                                             |             }
    0x0000cc7c lw v0, (a0)                   |             v0 = *(a0);
    0x0000cc80 sw s2, 0x10(sp)               |             *(var_48h_2) = s2;
    0x0000cc84 move a3, zero                 |             a3 = 0;
    0x0000cc88 lw t9, 0x38(v0)               |             t9 = *((v0 + 14));
    0x0000cc8c move a1, s4                   |             a1 = s4;
    0x0000cc90 jalr t9                       |             t9 ();
    0x0000cc94 lw gp, 0x18(sp)               |             gp = *(var_18h);
                                             |             if (v0 != 0) {
    0x0000cc98 bnez v0, 0xccd8               |                 goto label_8;
                                             |             }
    0x0000cc9c lw a0, 0x24(sp)               |             a0 = *(var_24h);
    0x0000cca0 lw a1, 0x28(sp)               |             a1 = *(var_28h);
    0x0000cca4 or v0, a0, a1                 |             v0 = a0 | a1;
    0x0000cca8 lw v0, 0x2c(sp)               |             v0 = *(var_2ch);
                                             |             if (v0 == 0) {
    0x0000ccac beqz v0, 0xccdc               |                 goto label_2;
                                             |             }
    0x0000ccb0 lw t9, -0x7ec8(gp)            |             t9 = *((gp - 8114));
    0x0000ccb4 lw a2, 0x2c(sp)               |             a2 = *(var_2ch);
    0x0000ccb8 lw a3, 0x30(sp)               |             a3 = *(var_30h);
    0x0000ccbc jalr t9                       |             t9 ();
    0x0000ccc0 lw gp, 0x18(sp)               |             gp = *(var_18h);
                                             |             if (v1 <= 0) {
    0x0000ccc4 blez v1, 0xcd34               |                 goto label_9;
                                             |             }
    0x0000ccc8 lw v0, 0x24(sp)               |             v0 = *(var_24h);
                                             | label_3:
    0x0000cccc sw v0, 0x2c(sp)               |             *(var_2ch) = v0;
    0x0000ccd0 lw v0, 0x28(sp)               |             v0 = *(var_28h);
    0x0000ccd4 sw v0, 0x30(sp)               |             *(var_30h) = v0;
                                             |         }
                                             | label_8:
    0x0000ccd8 lw v0, 0x2c(sp)               |         v0 = *(var_2ch);
                                             | label_2:
    0x0000ccdc lw a0, 0x34(sp)               |         a0 = *(var_34h);
    0x0000cce0 sw v0, (s0)                   |         *(s0) = v0;
    0x0000cce4 lw v1, (s3)                   |         v1 = *(s3);
    0x0000cce8 lw v0, 0x30(sp)               |         v0 = *(var_30h);
    0x0000ccec sw v0, 4(s0)                  |         *((s0 + 1)) = v0;
    0x0000ccf0 move v0, s0                   |         v0 = s0;
                                             |         if (a0 != v1) {
    0x0000ccf4 bne a0, v1, 0xcd4c            |             goto label_10;
                                             |         }
    0x0000ccf8 lw ra, 0x54(sp)               |         ra = *(var_54h);
    0x0000ccfc lw s5, 0x50(sp)               |         s5 = *(var_50h);
    0x0000cd00 lw s4, 0x4c(sp)               |         s4 = *(var_4ch);
    0x0000cd04 lw s3, 0x48(sp)               |         s3 = *(var_48h);
    0x0000cd08 lw s2, 0x44(sp)               |         s2 = *(var_44h);
    0x0000cd0c lw s1, 0x40(sp)               |         s1 = *(var_40h);
    0x0000cd10 lw s0, 0x3c(sp)               |         s0 = *(var_3ch);
    0x0000cd14 addiu sp, sp, 0x58            |         
    0x0000cd18 jr ra                         |         return v0;
                                             | label_7:
    0x0000cd1c lbu v0, 0x2c(s1)              |         v0 = *((s1 + 44));
    0x0000cd20 bnel v1, zero, 0xcc64         |         
                                             |     } while (v1 == 0);
    0x0000cd24 lw v0, 0x24(sp)               |     v0 = *(var_24h);
                                             |     if (v0 == 0) {
    0x0000cd28 bnel v0, zero, 0xcc54         |         goto label_0;
                                             |     }
    0x0000cd2c lbu v0, 0x2c(s1)              |     v0 = *((s1 + 44));
    0x0000cd30 b 0xcc64                      |     goto label_1;
                                             | label_9:
    0x0000cd34 lw v0, 0x2c(sp)               |     v0 = *(var_2ch);
                                             |     if (v1 == 0) {
    0x0000cd38 bnel v1, zero, 0xccdc         |         goto label_2;
                                             |     }
    0x0000cd3c lw v0, 0x24(sp)               |     v0 = *(var_24h);
                                             |     if (v0 == 0) {
    0x0000cd40 bnel v0, zero, 0xcccc         |         goto label_3;
                                             |     }
    0x0000cd44 lw v0, 0x2c(sp)               |     v0 = *(var_2ch);
    0x0000cd48 b 0xccdc                      |     goto label_2;
                                             | label_10:
    0x0000cd4c lw t9, -0x7558(gp)            |     t9 = *((gp - 7510));
    0x0000cd50 jalr t9                       |     t9 ();
    0x0000cd54 nop                           |     
    0x0000cd58 lui gp, 0xa                   |     
    0x0000cd5c addiu gp, gp, -0x5c8          |     
    0x0000cd60 addu gp, gp, t9               |     gp += t9;
    0x0000cd64 addiu sp, sp, -0x38           |     
    0x0000cd68 lbu v0, 0x14(a0)              |     v0 = *((a0 + 20));
    0x0000cd6c sw s0, 0x2c(sp)               |     *(var_2ch_2) = s0;
    0x0000cd70 lw s0, -0x74ac(gp)            |     s0 = *((gp - 7467));
    0x0000cd74 sw gp, 0x10(sp)               |     *(var_10h) = gp;
    0x0000cd78 andi v0, v0, 1                |     v0 &= 1;
    0x0000cd7c lw v1, (s0)                   |     v1 = *(s0);
    0x0000cd80 sw s1, 0x30(sp)               |     *(var_30h_2) = s1;
    0x0000cd84 sw ra, 0x34(sp)               |     *(var_34h_2) = ra;
    0x0000cd88 move t0, a1                   |     t0 = a1;
    0x0000cd8c lw s1, 0x48(sp)               |     s1 = *(var_48h_2);
    0x0000cd90 sw v1, 0x24(sp)               |     *(var_24h_2) = v1;
    0x0000cd94 lw a0, 4(a0)                  |     a0 = *((a0 + 1));
                                             |     if (v0 == 0) {
    0x0000cd98 bnel v0, zero, 0xce04         |         goto label_11;
                                             |     }
    0x0000cd9c addiu v0, zero, 4             |     v0 = 4;
    0x0000cda0 addiu v0, zero, 5             |     v0 = 5;
                                             |     if (a2 == v0) {
    0x0000cda4 beq a2, v0, 0xce3c            |         goto label_12;
                                             |     }
    0x0000cda8 lw a0, 4(a0)                  |     a0 = *((a0 + 1));
                                             |     if (a2 == v0) {
    0x0000cdac bnel a2, v0, 0xce04           |         goto label_11;
                                             |     }
    0x0000cdb0 lw a1, 8(a0)                  |     a1 = *((a0 + 2));
    0x0000cdb4 addiu a3, zero, 5             |     a3 = 5;
                                             | label_5:
    0x0000cdb8 lw t9, -0x7f98(gp)            |     t9 = *((gp - 8166));
    0x0000cdbc move a2, t0                   |     a2 = t0;
    0x0000cdc0 addiu t9, t9, -0x3470         |     t9 += -0x3470;
    0x0000cdc4 addiu a0, sp, 0x18            |     a0 = sp + 0x18;
    0x0000cdc8 bal 0xcb90                    |     fcn_0000cb90 ();
                                             |     goto label_4;
    0x0000cdcc lw v0, 0x1c(sp)               |     v0 = *(var_1ch_2);
    0x0000cdd0 lw v1, 0x18(sp)               |     v1 = *(var_18h_3);
    0x0000cdd4 lw gp, 0x10(sp)               |     gp = *(var_10h);
    0x0000cdd8 sw v0, 4(s1)                  |     *((s1 + 1)) = v0;
    0x0000cddc sw v1, (s1)                   |     *(s1) = v1;
    0x0000cde0 move v0, zero                 |     v0 = 0;
                                             |     do {
    0x0000cde4 lw a0, 0x24(sp)               |         a0 = *(var_24h_2);
    0x0000cde8 lw v1, (s0)                   |         v1 = *(s0);
    0x0000cdec lw ra, 0x34(sp)               |         ra = *(var_34h_2);
                                             |         if (a0 != v1) {
    0x0000cdf0 bne a0, v1, 0xce48            |             goto label_13;
                                             |         }
    0x0000cdf4 lw s1, 0x30(sp)               |         s1 = *(var_30h_2);
    0x0000cdf8 lw s0, 0x2c(sp)               |         s0 = *(var_2ch_2);
    0x0000cdfc addiu sp, sp, 0x38            |         
    0x0000ce00 jr ra                         |         return v0;
                                             | label_11:
    0x0000ce04 addiu v0, zero, 0x30          |         v0 = 0x30;
    0x0000ce08 beqz a0, 0xcde4               |         
                                             |     } while (a0 == 0);
    0x0000ce0c lw v1, 0x24(sp)               |     v1 = *(var_24h_2);
    0x0000ce10 lw v0, (s0)                   |     v0 = *(s0);
    0x0000ce14 move a1, t0                   |     a1 = t0;
                                             |     if (v1 == v0) {
    0x0000ce18 bne v1, v0, 0xce48            |         
    0x0000ce1c lw v0, (a0)                   |         v0 = *(a0);
    0x0000ce20 sw s1, 0x48(sp)               |         *(var_48h_2) = s1;
    0x0000ce24 lw ra, 0x34(sp)               |         ra = *(var_34h_2);
    0x0000ce28 lw s1, 0x30(sp)               |         s1 = *(var_30h_2);
    0x0000ce2c lw s0, 0x2c(sp)               |         s0 = *(var_2ch_2);
    0x0000ce30 lw t9, 0x38(v0)               |         t9 = *((v0 + 14));
    0x0000ce34 addiu sp, sp, 0x38            |         
    0x0000ce38 jr t9                         |         t9 ();
                                             | label_12:
    0x0000ce3c lw a1, 8(a0)                  |         a1 = *((a0 + 2));
    0x0000ce40 addiu a3, zero, 4             |         a3 = 4;
    0x0000ce44 b 0xcdb8                      |         goto label_5;
                                             |     }
                                             | label_13:
    0x0000ce48 lw t9, -0x7558(gp)            |     t9 = *((gp - 7510));
    0x0000ce4c jalr t9                       |     t9 ();
    0x0000ce50 nop                           |     
                                             | }
    ; assembly                           | /* r2dec pseudo code output */
                                         | /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/lib/libcurl.so.4.8.0 @ 0x1438c */
                                         | #include <stdint.h>
                                         |  
    ; (fcn) fcn.0001438c ()              | void fcn_0001438c () {
    0x0001438c addiu v1, a1, 0xac        |     v1 = a1 + 0xac;
    0x00014390 addiu v0, a0, 0xbe8       |     v0 = a0 + 0xbe8;
    0x00014394 addiu t4, a1, 0xcc        |     t4 = a1 + 0xcc;
                                         |     do {
    0x00014398 lwl t3, 3(v1)             |         __asm ("lwl t3, 3(v1)");
    0x0001439c lwl t2, 7(v1)             |         __asm ("lwl t2, 7(v1)");
    0x000143a0 lwl t1, 0xb(v1)           |         __asm ("lwl t1, 0xb(v1)");
    0x000143a4 lwl t0, 0xf(v1)           |         __asm ("lwl t0, 0xf(v1)");
    0x000143a8 lwr t3, (v1)              |         __asm ("lwr t3, (v1)");
    0x000143ac lwr t2, 4(v1)             |         __asm ("lwr t2, 4(v1)");
    0x000143b0 lwr t0, 0xc(v1)           |         __asm ("lwr t0, 0xc(v1)");
    0x000143b4 lwr t1, 8(v1)             |         __asm ("lwr t1, 8(v1)");
    0x000143b8 swl t3, 3(v0)             |         __asm ("swl t3, 3(v0)");
    0x000143bc swr t3, (v0)              |         __asm ("swr t3, (v0)");
    0x000143c0 swl t2, 7(v0)             |         __asm ("swl t2, 7(v0)");
    0x000143c4 swr t2, 4(v0)             |         __asm ("swr t2, 4(v0)");
    0x000143c8 swl t1, 0xb(v0)           |         __asm ("swl t1, 0xb(v0)");
    0x000143cc swr t1, 8(v0)             |         __asm ("swr t1, 8(v0)");
    0x000143d0 addiu v1, v1, 0x10        |         v1 += 0x10;
    0x000143d4 swl t0, 0xf(v0)           |         __asm ("swl t0, 0xf(v0)");
    0x000143d8 swr t0, 0xc(v0)           |         __asm ("swr t0, 0xc(v0)");
    0x000143dc addiu v0, v0, 0x10        |         v0 += 0x10;
    0x000143e0 bne v1, t4, 0x14398       |         
                                         |     } while (v1 != t4);
    0x000143e4 lwl t2, 3(v1)             |     __asm ("lwl t2, 3(v1)");
    0x000143e8 lwl t1, 7(v1)             |     __asm ("lwl t1, 7(v1)");
    0x000143ec lwl t0, 0xb(v1)           |     __asm ("lwl t0, 0xb(v1)");
    0x000143f0 lwr t2, (v1)              |     __asm ("lwr t2, (v1)");
    0x000143f4 lwr t1, 4(v1)             |     __asm ("lwr t1, 4(v1)");
    0x000143f8 lwr t0, 8(v1)             |     __asm ("lwr t0, 8(v1)");
    0x000143fc swl t2, 3(v0)             |     __asm ("swl t2, 3(v0)");
    0x00014400 swr t2, (v0)              |     __asm ("swr t2, (v0)");
    0x00014404 swl t1, 7(v0)             |     __asm ("swl t1, 7(v0)");
    0x00014408 swr t1, 4(v0)             |     __asm ("swr t1, 4(v0)");
    0x0001440c swl t0, 0xb(v0)           |     __asm ("swl t0, 0xb(v0)");
    0x00014410 swr t0, 8(v0)             |     __asm ("swr t0, 8(v0)");
    0x00014414 lbu t0, 0xc(v1)           |     t0 = *((v1 + 12));
    0x00014418 sb t0, 0xc(v0)            |     *((v0 + 12)) = t0;
    0x0001441c lbu v1, 0xd(v1)           |     v1 = *((v1 + 13));
    0x00014420 sb v1, 0xd(v0)            |     *((v0 + 13)) = v1;
                                         |     if (a2 != 0) {
    0x00014424 beqz a2, 0x14434          |         
    0x00014428 lb v0, (a2)               |         v0 = *(a2);
    0x0001442c addiu v0, a0, 0xc20       |         v0 = a0 + 0xc20;
                                         |         if (v0 != 0) {
    0x00014430 bnez v0, 0x14468          |             goto label_0;
                                         |         }
                                         |     }
    0x00014434 sb zero, 0xc20(a0)        |     *((a0 + 3104)) = 0;
    0x00014438 lw v1, 0x1a4(a1)          |     v1 = *(a1);
    0x0001443c lw a2, 0x2cc(a1)          |     a2 = *((a1 + 179));
    0x00014440 lw a1, 0x2d0(a1)          |     a1 = *(a1);
    0x00014444 lw v0, 0x44(v1)           |     v0 = *((v1 + 17));
    0x00014448 lw v1, (v1)               |     v1 = *(v1);
    0x0001444c ext v0, v0, 0, 0x1a       |     __asm ("ext v0, v0, 0, 0x1a");
    0x00014450 sw v1, 0xc54(a0)          |     *((a0 + 789)) = v1;
    0x00014454 sw v0, 0xc58(a0)          |     *((a0 + 790)) = v0;
    0x00014458 sw a2, 0xc18(a0)          |     *((a0 + 774)) = a2;
    0x0001445c sw a1, 0xc1c(a0)          |     *((a0 + 775)) = a1;
    0x00014460 sw a3, 0xc50(a0)          |     *((a0 + 788)) = a3;
    0x00014464 jr ra                     |     return v0;
                                         | label_0:
    0x00014468 addiu t3, a2, 0x20        |     t3 = a2 + 0x20;
                                         |     do {
    0x0001446c lwl t2, 3(a2)             |         __asm ("lwl t2, 3(a2)");
    0x00014470 lwl t1, 7(a2)             |         __asm ("lwl t1, 7(a2)");
    0x00014474 lwl t0, 0xb(a2)           |         __asm ("lwl t0, 0xb(a2)");
    0x00014478 lwl v1, 0xf(a2)           |         __asm ("lwl v1, 0xf(a2)");
    0x0001447c lwr t2, (a2)              |         __asm ("lwr t2, (a2)");
    0x00014480 lwr t1, 4(a2)             |         __asm ("lwr t1, 4(a2)");
    0x00014484 lwr v1, 0xc(a2)           |         __asm ("lwr v1, 0xc(a2)");
    0x00014488 lwr t0, 8(a2)             |         __asm ("lwr t0, 8(a2)");
    0x0001448c swl t2, 3(v0)             |         __asm ("swl t2, 3(v0)");
    0x00014490 swr t2, (v0)              |         __asm ("swr t2, (v0)");
    0x00014494 swl t1, 7(v0)             |         __asm ("swl t1, 7(v0)");
    0x00014498 swr t1, 4(v0)             |         __asm ("swr t1, 4(v0)");
    0x0001449c swl t0, 0xb(v0)           |         __asm ("swl t0, 0xb(v0)");
    0x000144a0 swr t0, 8(v0)             |         __asm ("swr t0, 8(v0)");
    0x000144a4 addiu a2, a2, 0x10        |         a2 += 0x10;
    0x000144a8 swl v1, 0xf(v0)           |         __asm ("swl v1, 0xf(v0)");
    0x000144ac swr v1, 0xc(v0)           |         __asm ("swr v1, 0xc(v0)");
    0x000144b0 addiu v0, v0, 0x10        |         v0 += 0x10;
    0x000144b4 bne a2, t3, 0x1446c       |         
                                         |     } while (a2 != t3);
    0x000144b8 lwl t1, 3(a2)             |     __asm ("lwl t1, 3(a2)");
    0x000144bc lwl t0, 7(a2)             |     __asm ("lwl t0, 7(a2)");
    0x000144c0 lwl v1, 0xb(a2)           |     __asm ("lwl v1, 0xb(a2)");
    0x000144c4 lwr t1, (a2)              |     __asm ("lwr t1, (a2)");
    0x000144c8 lwr t0, 4(a2)             |     __asm ("lwr t0, 4(a2)");
    0x000144cc lwr v1, 8(a2)             |     __asm ("lwr v1, 8(a2)");
    0x000144d0 swl t1, 3(v0)             |     __asm ("swl t1, 3(v0)");
    0x000144d4 swr t1, (v0)              |     __asm ("swr t1, (v0)");
    0x000144d8 swl t0, 7(v0)             |     __asm ("swl t0, 7(v0)");
    0x000144dc swr t0, 4(v0)             |     __asm ("swr t0, 4(v0)");
    0x000144e0 swl v1, 0xb(v0)           |     __asm ("swl v1, 0xb(v0)");
    0x000144e4 swr v1, 8(v0)             |     __asm ("swr v1, 8(v0)");
    0x000144e8 lbu v1, 0xc(a2)           |     v1 = *((a2 + 12));
    0x000144ec sb v1, 0xc(v0)            |     *((v0 + 12)) = v1;
    0x000144f0 lbu v1, 0xd(a2)           |     v1 = *((a2 + 13));
    0x000144f4 sb v1, 0xd(v0)            |     *((v0 + 13)) = v1;
    0x000144f8 lw v1, 0x1a4(a1)          |     v1 = *(a1);
    0x000144fc lw a2, 0x2cc(a1)          |     a2 = *((a1 + 179));
    0x00014500 lw a1, 0x2d0(a1)          |     a1 = *(a1);
    0x00014504 lw v0, 0x44(v1)           |     v0 = *((v1 + 17));
    0x00014508 lw v1, (v1)               |     v1 = *(v1);
    0x0001450c ext v0, v0, 0, 0x1a       |     __asm ("ext v0, v0, 0, 0x1a");
    0x00014510 sw v1, 0xc54(a0)          |     *((a0 + 789)) = v1;
    0x00014514 sw v0, 0xc58(a0)          |     *((a0 + 790)) = v0;
    0x00014518 sw a2, 0xc18(a0)          |     *((a0 + 774)) = a2;
    0x0001451c sw a1, 0xc1c(a0)          |     *((a0 + 775)) = a1;
    0x00014520 sw a3, 0xc50(a0)          |     *((a0 + 788)) = a3;
    0x00014524 jr ra                     |     return v0;
                                         | }
    ; assembly                               | /* r2dec pseudo code output */
                                             | /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/lib/libcurl.so.4.8.0 @ 0x33e04 */
                                             | #include <stdint.h>
                                             |  
    ; (fcn) fcn.00033e04 ()                  | void fcn_00033e04 () {
    0x00033e04 lui gp, 8                     |     
    0x00033e08 addiu gp, gp, -0x7674         |     
    0x00033e0c addu gp, gp, t9               |     gp += t9;
    0x00033e10 lw v0, 0x1a4(a1)              |     v0 = *(a1);
    0x00033e14 lbu a1, 0xb96(a0)             |     a1 = *((a0 + 2966));
    0x00033e18 lw v0, 0x44(v0)               |     v0 = *((v0 + 17));
    0x00033e1c andi v1, v0, 7                |     v1 = v0 & 7;
    0x00033e20 lw v0, 0x4c8(a0)              |     v0 = *((a0 + 306));
                                             |     if (v1 != 0) {
    0x00033e24 beqz v1, 0x33e38              |         
    0x00033e28 lw v1, 0xb98(a0)              |         v1 = *((a0 + 742));
    0x00033e2c ext v1, v1, 0x14, 1           |         __asm ("ext v1, v1, 0x14, 1");
                                             |         if (v1 != 0) {
    0x00033e30 bnez v1, 0x33e4c              |             goto label_1;
                                             |         }
    0x00033e34 nop                           |         
                                             |     }
                                             |     if (v0 != 0) {
    0x00033e38 beql v0, zero, 0x33e64        |         
    0x00033e3c lhu v0, 0x116(a0)             |         v0 = *((a0 + 139));
                                             | label_0:
    0x00033e40 sw v0, (a2)                   |         *(a2) = v0;
    0x00033e44 sw a1, (a3)                   |         *(a3) = a1;
    0x00033e48 jr ra                         |         return v0;
                                             |         if (v0 == 0) {
                                             | label_1:
    0x00033e4c beql v0, zero, 0x33ebc        |             goto label_2;
                                             |         }
    0x00033e50 lhu v0, 0x116(a0)             |         v0 = *((a0 + 139));
    0x00033e54 addiu a1, zero, 4             |         a1 = 4;
    0x00033e58 sw v0, (a2)                   |         *(a2) = v0;
    0x00033e5c sw a1, (a3)                   |         *(a3) = a1;
    0x00033e60 jr ra                         |         return v0;
                                             |     }
    0x00033e64 andi v0, v0, 0x400            |     v0 &= 0x400;
    0x00033e68 lw v0, -0x7fc4(gp)            |     v0 = *((gp - 8177));
                                             |     if (v0 != 0) {
    0x00033e6c bnez v0, 0x33eac              |         goto label_3;
                                             |     }
    0x00033e70 addiu v0, zero, 4             |     v0 = 4;
    0x00033e74 lw v0, -0x7fc4(gp)            |     v0 = *((gp - 8177));
                                             |     if (a1 == v0) {
    0x00033e78 beq a1, v0, 0x33ecc           |         goto label_4;
                                             |     }
    0x00033e7c sltiu v0, a1, 5               |     v0 = (a1 < 5) ? 1 : 0;
    0x00033e80 addiu v0, zero, 5             |     v0 = 5;
                                             |     if (v0 != 0) {
    0x00033e84 beqz v0, 0x33ea0              |         
    0x00033e88 lw v0, -0x7fb8(gp)            |         v0 = *((gp - 8174));
                                             |         if (a1 == 0) {
    0x00033e8c beqz a1, 0x33ed4              |             goto label_5;
                                             |         }
    0x00033e90 addiu v0, v0, -0x3ab4         |         v0 += -0x3ab4;
    0x00033e94 sw v0, (a2)                   |         *(a2) = v0;
    0x00033e98 sw a1, (a3)                   |         *(a3) = a1;
    0x00033e9c jr ra                         |         return v0;
                                             |     }
    0x00033ea0 lw v0, -0x7fb8(gp)            |     v0 = *((gp - 8174));
                                             |     if (a1 != v0) {
    0x00033ea4 bne a1, v0, 0x33ed8           |         goto label_6;
                                             |     }
                                             |     do {
    0x00033ea8 lw v0, -0x7fc4(gp)            |         v0 = *((gp - 8177));
                                             | label_3:
    0x00033eac addiu v0, v0, 0x7ae0          |         v0 += 0x7ae0;
    0x00033eb0 sw v0, (a2)                   |         *(a2) = v0;
    0x00033eb4 sw a1, (a3)                   |         *(a3) = a1;
    0x00033eb8 jr ra                         |         return v0;
                                             | label_2:
    0x00033ebc andi v0, v0, 0x400            |         v0 &= 0x400;
    0x00033ec0 addiu a1, zero, 4             |         a1 = 4;
    0x00033ec4 bnez v0, 0x33ea8              |         
                                             |     } while (v0 != 0);
    0x00033ec8 lw v0, -0x7fc4(gp)            |     v0 = *((gp - 8177));
                                             | label_4:
    0x00033ecc addiu v0, v0, 0x5eec          |     v0 += 0x5eec;
    0x00033ed0 b 0x33e40                     |     goto label_0;
                                             | label_5:
    0x00033ed4 lw v0, -0x7fb8(gp)            |     v0 = *((gp - 8174));
                                             | label_6:
    0x00033ed8 addiu v0, v0, -0x22c0         |     v0 += -0x22c0;
    0x00033edc sw v0, (a2)                   |     *(a2) = v0;
    0x00033ee0 sw a1, (a3)                   |     *(a3) = a1;
    0x00033ee4 jr ra                         |     return v0;
                                             | }
    ; assembly                               | /* r2dec pseudo code output */
                                             | /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/lib/libcurl.so.4.8.0 @ 0x33f4c */
                                             | #include <stdint.h>
                                             |  
    ; (fcn) fcn.00033f4c ()                  | void fcn_00033f4c () {
    0x00033f4c lui gp, 8                     |     
    0x00033f50 addiu gp, gp, -0x77bc         |     
    0x00033f54 addu gp, gp, t9               |     gp += t9;
    0x00033f58 addiu sp, sp, -0x38           |     
    0x00033f5c lw v0, 0xb98(a0)              |     v0 = *((a0 + 742));
    0x00033f60 sw s3, 0x30(sp)               |     *(var_30h) = s3;
    0x00033f64 lw s3, -0x7fcc(gp)            |     s3 = *((gp - 8179));
    0x00033f68 sw gp, 0x18(sp)               |     *(var_18h) = gp;
    0x00033f6c andi v0, v0, 2                |     v0 &= 2;
    0x00033f70 sw s1, 0x28(sp)               |     *(var_28h) = s1;
    0x00033f74 sw s0, 0x24(sp)               |     *(var_24h) = s0;
    0x00033f78 sw ra, 0x34(sp)               |     *(var_34h) = ra;
    0x00033f7c sw s2, 0x2c(sp)               |     *(var_2ch) = s2;
    0x00033f80 move s0, a0                   |     s0 = a0;
    0x00033f84 move s1, a1                   |     s1 = a1;
    0x00033f88 lw t9, (s3)                   |     t9 = *(s3);
                                             |     if (v0 == 0) {
    0x00033f8c bnez v0, 0x33fcc              |         
    0x00033f90 lw a0, 0x7e8(a0)              |         a0 = *((a0 + 506));
    0x00033f94 jalr t9                       |         t9 ();
    0x00033f98 lw gp, 0x18(sp)               |         gp = *(var_18h);
    0x00033f9c lw v0, -0x7fd4(gp)            |         v0 = *((gp - 8181));
    0x00033fa0 lw t9, (v0)                   |         t9 = *(v0);
    0x00033fa4 lw a0, 0x4c(s1)               |         a0 = *((s1 + 19));
    0x00033fa8 jalr t9                       |         t9 ();
    0x00033fac sw v0, 0x7e8(s0)              |         *((s0 + 506)) = v0;
                                             |         if (v0 == 0) {
    0x00033fb0 beqz v0, 0x3410c              |             goto label_7;
                                             |         }
    0x00033fb4 lw v0, 0x1a4(s1)              |         v0 = *(s1);
    0x00033fb8 lw v1, 0x2d0(s1)              |         v1 = *(s1);
    0x00033fbc lw t9, (s3)                   |         t9 = *(s3);
    0x00033fc0 lw v0, 0x44(v0)               |         v0 = *((v0 + 17));
    0x00033fc4 sw v1, 0x7ec(s0)              |         *((s0 + 507)) = v1;
    0x00033fc8 sw v0, 0x7f0(s0)              |         *((s0 + 508)) = v0;
                                             |     }
    0x00033fcc lw a0, 0xb74(s0)              |     a0 = *((s0 + 733));
    0x00033fd0 jalr t9                       |     t9 ();
    0x00033fd4 lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x00033fd8 sw zero, 0xb74(s0)            |     *((s0 + 733)) = 0;
    0x00033fdc addiu a2, zero, 4             |     a2 = 4;
    0x00033fe0 lw a1, -0x7fc4(gp)            |     a1 = *((gp - 8177));
    0x00033fe4 lw t9, -0x7b10(gp)            |     t9 = *((gp - 7876));
    0x00033fe8 addiu a1, a1, 0x4124          |     a1 += 0x4124;
    0x00033fec move a0, s0                   |     a0 = s0;
    0x00033ff0 jalr t9                       |     t9 ();
    0x00033ff4 move s2, v0                   |     s2 = v0;
    0x00033ff8 lw gp, 0x18(sp)               |     gp = *(var_18h);
                                             |     if (v0 == 0) {
    0x00033ffc beqz v0, 0x34098              |         goto label_8;
                                             |     }
    0x00034000 lw v0, 0xb98(s0)              |     v0 = *((s0 + 742));
    0x00034004 andi v0, v0, 2                |     v0 &= 2;
    0x00034008 lw t9, -0x714c(gp)            |     t9 = *((gp - 7251));
    0x0003400c bnez v0, 0x34084              |     
                                             |     while (v0 != 0) {
    0x00034010 lw t9, -0x7bec(gp)            |         t9 = *((gp - 7931));
    0x00034014 addiu t9, t9, 0x1a48          |         t9 += 0x1a48;
    0x00034018 move a0, s2                   |         a0 = s2;
    0x0003401c bal 0x31a48                   |         fcn_00031a48 ();
    0x00034020 move s1, v0                   |         s1 = v0;
    0x00034024 lw gp, 0x18(sp)               |         gp = *(var_18h);
                                             |         if (v0 == 0) {
    0x00034028 beqz v0, 0x3410c              |             goto label_7;
                                             |         }
    0x0003402c lb v0, (v0)                   |         v0 = *(v0);
    0x00034030 addiu v1, zero, 0x5b          |         v1 = 0x5b;
                                             |         if (v0 != 0) {
    0x00034034 bnez v0, 0x34160              |             goto label_9;
                                             |         }
    0x00034038 lw t9, (s3)                   |         t9 = *(s3);
    0x0003403c move a0, s1                   |         a0 = s1;
    0x00034040 jalr t9                       |         t9 ();
    0x00034044 lw gp, 0x18(sp)               |         gp = *(var_18h);
    0x00034048 move a1, s2                   |         a1 = s2;
    0x0003404c lw a0, -0x7fb8(gp)            |         a0 = *((gp - 8174));
    0x00034050 lw t9, -0x771c(gp)            |         t9 = *((gp - 7623));
    0x00034054 addiu a0, a0, -0x7adc         |         a0 += -0x7adc;
    0x00034058 jalr t9                       |         t9 ();
    0x0003405c lw gp, 0x18(sp)               |         gp = *(var_18h);
                                             |         if (v0 != 0) {
    0x00034060 bnez v0, 0x341b0              |             goto label_10;
                                             |         }
                                             | label_2:
    0x00034064 lw ra, 0x34(sp)               |         ra = *(var_34h);
                                             | label_0:
    0x00034068 lw s3, 0x30(sp)               |         s3 = *(var_30h);
    0x0003406c lw s2, 0x2c(sp)               |         s2 = *(var_2ch);
    0x00034070 lw s1, 0x28(sp)               |         s1 = *(var_28h);
    0x00034074 lw s0, 0x24(sp)               |         s0 = *(var_24h);
    0x00034078 move v0, zero                 |         v0 = 0;
    0x0003407c addiu sp, sp, 0x38            |         
    0x00034080 jr ra                         |         return v0;
    0x00034084 lw a1, 0x4c(s1)               |         a1 = *((s1 + 19));
    0x00034088 lw a0, 0x7e8(s0)              |         a0 = *((s0 + 506));
    0x0003408c jalr t9                       |         t9 ();
    0x00034090 lw gp, 0x18(sp)               |         gp = *(var_18h);
    0x00034094 bnez v0, 0x34010              |         
                                             |     }
                                             | label_8:
    0x00034098 lw v0, 0x1a8(s1)              |     v0 = *(s1);
    0x0003409c lw a2, 0x4c(s1)               |     a2 = *((s1 + 19));
    0x000340a0 lw v0, 0x44(v0)               |     v0 = *((v0 + 17));
    0x000340a4 andi a0, v0, 2                |     a0 = v0 & 2;
    0x000340a8 lw v1, 0x2d0(s1)              |     v1 = *(s1);
                                             |     if (a0 != 0) {
    0x000340ac beqz a0, 0x340bc              |         
    0x000340b0 addiu a0, zero, 0x1bb         |         a0 = 0x1bb;
                                             |         if (v1 == a0) {
    0x000340b4 beql v1, a0, 0x340d4          |             goto label_11;
                                             |         }
    0x000340b8 lw v0, 0x1a0(s1)              |         v0 = *(s1);
                                             |     }
    0x000340bc andi v0, v0, 1                |     v0 &= 1;
                                             |     if (v0 == 0) {
    0x000340c0 beql v0, zero, 0x3412c        |         goto label_12;
                                             |     }
    0x000340c4 lw v0, 0x1a0(s1)              |     v0 = *(s1);
    0x000340c8 addiu v0, zero, 0x50          |     v0 = 0x50;
    0x000340cc lw v0, 0x1a0(s1)              |     v0 = *(s1);
                                             |     if (v1 != v0) {
    0x000340d0 bne v1, v0, 0x3412c           |         goto label_12;
                                             |     }
                                             | label_11:
    0x000340d4 andi v0, v0, 0x800            |     v0 &= 0x800;
    0x000340d8 lw a1, -0x7fb8(gp)            |     a1 = *((gp - 8174));
                                             |     if (v0 == 0) {
    0x000340dc beqz v0, 0x341dc              |         goto label_13;
                                             |     }
    0x000340e0 lw a1, -0x7fc4(gp)            |     a1 = *((gp - 8177));
    0x000340e4 lw a3, -0x7fb8(gp)            |     a3 = *((gp - 8174));
    0x000340e8 addiu a1, a1, 0x4098          |     a1 += 0x4098;
    0x000340ec addiu a3, a3, -0x5100         |     a3 += -0x5100;
                                             | label_4:
    0x000340f0 lw a0, -0x7fb8(gp)            |     a0 = *((gp - 8174));
    0x000340f4 lw t9, -0x770c(gp)            |     t9 = *((gp - 7619));
    0x000340f8 addiu a0, a0, -0x7aa8         |     a0 += -0x7aa8;
    0x000340fc jalr t9                       |     t9 ();
    0x00034100 sw v0, 0xb74(s0)              |     *((s0 + 733)) = v0;
                                             | label_1:
    0x00034104 lw ra, 0x34(sp)               |     ra = *(var_34h);
                                             |     if (v0 != 0) {
    0x00034108 bnez v0, 0x34068              |         goto label_0;
                                             |     }
                                             | label_7:
    0x0003410c lw ra, 0x34(sp)               |     ra = *(var_34h);
    0x00034110 lw s3, 0x30(sp)               |     s3 = *(var_30h);
    0x00034114 lw s2, 0x2c(sp)               |     s2 = *(var_2ch);
    0x00034118 lw s1, 0x28(sp)               |     s1 = *(var_28h);
    0x0003411c lw s0, 0x24(sp)               |     s0 = *(var_24h);
    0x00034120 addiu v0, zero, 0x1b          |     v0 = 0x1b;
    0x00034124 addiu sp, sp, 0x38            |     
    0x00034128 jr ra                         |     return v0;
                                             | label_12:
    0x0003412c andi v0, v0, 0x800            |     v0 &= 0x800;
    0x00034130 lw a1, -0x7fc4(gp)            |     a1 = *((gp - 8177));
                                             |     if (v0 != 0) {
    0x00034134 bnez v0, 0x341cc              |         goto label_14;
                                             |     }
    0x00034138 lw a1, -0x7fb8(gp)            |     a1 = *((gp - 8174));
    0x0003413c addiu a1, a1, -0x1358         |     a1 += -0x1358;
    0x00034140 move a3, a1                   |     a3 = a1;
                                             | label_3:
    0x00034144 lw a0, -0x7fb8(gp)            |     a0 = *((gp - 8174));
    0x00034148 lw t9, -0x770c(gp)            |     t9 = *((gp - 7619));
    0x0003414c sw v1, 0x10(sp)               |     *(var_10h) = v1;
    0x00034150 addiu a0, a0, -0x7a98         |     a0 += -0x7a98;
    0x00034154 jalr t9                       |     t9 ();
    0x00034158 sw v0, 0xb74(s0)              |     *((s0 + 733)) = v0;
    0x0003415c b 0x34104                     |     goto label_1;
                                             | label_9:
    0x00034160 lw t9, -0x71dc(gp)            |     t9 = *((gp - 7287));
                                             |     if (v0 == v1) {
    0x00034164 beq v0, v1, 0x341e8           |         goto label_15;
                                             |     }
    0x00034168 addiu a1, zero, 0x3a          |     a1 = 0x3a;
    0x0003416c move a0, s1                   |     a0 = s1;
    0x00034170 jalr t9                       |     t9 ();
                                             |     if (v0 != 0) {
    0x00034174 beql v0, zero, 0x34184        |         
    0x00034178 lw t9, (s3)                   |         t9 = *(s3);
    0x0003417c sb zero, (v0)                 |         *(v0) = 0;
                                             | label_5:
    0x00034180 lw t9, (s3)                   |         t9 = *(s3);
                                             |     }
                                             | label_6:
    0x00034184 lw a0, 0xb78(s0)              |     a0 = *((s0 + 734));
    0x00034188 jalr t9                       |     t9 ();
    0x0003418c lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x00034190 sw s1, 0xb78(s0)              |     *((s0 + 734)) = s1;
    0x00034194 move a1, s2                   |     a1 = s2;
    0x00034198 lw a0, -0x7fb8(gp)            |     a0 = *((gp - 8174));
    0x0003419c lw t9, -0x771c(gp)            |     t9 = *((gp - 7623));
    0x000341a0 addiu a0, a0, -0x7adc         |     a0 += -0x7adc;
    0x000341a4 jalr t9                       |     t9 ();
    0x000341a8 lw gp, 0x18(sp)               |     gp = *(var_18h);
                                             |     if (v0 == 0) {
    0x000341ac beqz v0, 0x34064              |         goto label_2;
                                             |     }
                                             | label_10:
    0x000341b0 lw a0, -0x7fb8(gp)            |     a0 = *((gp - 8174));
    0x000341b4 lw t9, -0x770c(gp)            |     t9 = *((gp - 7619));
    0x000341b8 addiu a1, s2, 5               |     a1 = s2 + 5;
    0x000341bc addiu a0, a0, -0x7ab4         |     a0 += -0x7ab4;
    0x000341c0 jalr t9                       |     t9 ();
    0x000341c4 sw v0, 0xb74(s0)              |     *((s0 + 733)) = v0;
    0x000341c8 b 0x34104                     |     goto label_1;
                                             | label_14:
    0x000341cc lw a3, -0x7fb8(gp)            |     a3 = *((gp - 8174));
    0x000341d0 addiu a1, a1, 0x4098          |     a1 += 0x4098;
    0x000341d4 addiu a3, a3, -0x5100         |     a3 += -0x5100;
    0x000341d8 b 0x34144                     |     goto label_3;
                                             | label_13:
    0x000341dc addiu a1, a1, -0x1358         |     a1 += -0x1358;
    0x000341e0 move a3, a1                   |     a3 = a1;
    0x000341e4 b 0x340f0                     |     goto label_4;
                                             | label_15:
    0x000341e8 lw t9, -0x7428(gp)            |     t9 = *((gp - 7434));
    0x000341ec move a0, s1                   |     a0 = s1;
    0x000341f0 jalr t9                       |     t9 ();
    0x000341f4 lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x000341f8 addiu a2, v0, -1              |     a2 = v0 + -1;
    0x000341fc addiu a1, s1, 1               |     a1 = s1 + 1;
    0x00034200 lw t9, -0x75e8(gp)            |     t9 = *((gp - 7546));
    0x00034204 move a0, s1                   |     a0 = s1;
    0x00034208 jalr t9                       |     t9 ();
    0x0003420c lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x00034210 addiu a1, zero, 0x5d          |     a1 = 0x5d;
    0x00034214 lw t9, -0x71dc(gp)            |     t9 = *((gp - 7287));
    0x00034218 move a0, s1                   |     a0 = s1;
    0x0003421c jalr t9                       |     t9 ();
    0x00034220 sb zero, (v0)                 |     *(v0) = 0;
                                             |     if (v0 == 0) {
    0x00034224 bnel v0, zero, 0x34180        |         goto label_5;
                                             |     }
    0x00034228 lw t9, (s3)                   |     t9 = *(s3);
    0x0003422c b 0x34184                     |     goto label_6;
                                             | }
    ; assembly                               | /* r2dec pseudo code output */
                                             | /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/lib/libcurl.so.4.8.0 @ 0x34544 */
                                             | #include <stdint.h>
                                             |  
    ; (fcn) fcn.00034544 ()                  | void fcn_00034544 () {
    0x00034544 lui gp, 8                     |     
    0x00034548 addiu gp, gp, -0x7db4         |     
    0x0003454c addu gp, gp, t9               |     gp += t9;
    0x00034550 addiu sp, sp, -0x40           |     
    0x00034554 addiu v0, zero, 2             |     v0 = 2;
    0x00034558 sw s2, 0x28(sp)               |     *(var_28h) = s2;
    0x0003455c lw s2, 0x10c(a0)              |     s2 = *(a0);
    0x00034560 sw s4, 0x30(sp)               |     *(var_30h) = s4;
    0x00034564 sw s1, 0x24(sp)               |     *(var_24h) = s1;
    0x00034568 sw gp, 0x18(sp)               |     *(var_18h) = gp;
    0x0003456c move s1, a0                   |     s1 = a0;
    0x00034570 move s4, a1                   |     s4 = a1;
    0x00034574 move a0, zero                 |     a0 = 0;
    0x00034578 move a1, zero                 |     a1 = 0;
    0x0003457c sw s5, 0x34(sp)               |     *(var_34h) = s5;
    0x00034580 sw s3, 0x2c(sp)               |     *(var_2ch) = s3;
    0x00034584 sw ra, 0x3c(sp)               |     *(var_3ch) = ra;
    0x00034588 sw s6, 0x38(sp)               |     *(var_38h) = s6;
    0x0003458c sw s0, 0x20(sp)               |     *(var_20h) = s0;
    0x00034590 move s3, a2                   |     s3 = a2;
    0x00034594 move s5, a3                   |     s5 = a3;
    0x00034598 sw a0, 8(s2)                  |     *((s2 + 2)) = a0;
    0x0003459c sw a1, 0xc(s2)                |     *((s2 + 3)) = a1;
                                             |     if (a2 == v0) {
    0x000345a0 beq a2, v0, 0x3468c           |         goto label_8;
                                             |     }
    0x000345a4 addiu v0, zero, 3             |     v0 = 3;
    0x000345a8 sw zero, (s2)                 |     *(s2) = 0;
                                             |     if (a2 == v0) {
    0x000345ac bnel a2, v0, 0x346cc          |         goto label_2;
                                             |     }
    0x000345b0 addiu v0, s1, 0x208           |     v0 = s1 + 0x208;
    0x000345b4 sw v0, (s2)                   |     *(s2) = v0;
                                             | label_0:
    0x000345b8 lw a1, -0x7fb8(gp)            |     a1 = *((gp - 8174));
    0x000345bc lw t9, -0x7b10(gp)            |     t9 = *((gp - 7876));
    0x000345c0 move a0, s1                   |     a0 = s1;
    0x000345c4 addiu a2, zero, 0xc           |     a2 = 0xc;
    0x000345c8 addiu a1, a1, -0x7a1c         |     a1 += -0x7a1c;
    0x000345cc jalr t9                       |     t9 ();
    0x000345d0 lw a0, (s2)                   |     a0 = *(s2);
    0x000345d4 lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x000345d8 lw v1, 0xc(a0)                |     v1 = *((a0 + 3));
    0x000345dc ori v1, v1, 2                 |     v1 |= 2;
    0x000345e0 sw v1, 0xc(a0)                |     *((a0 + 3)) = v1;
                                             |     if (v0 == 0) {
    0x000345e4 beqz v0, 0x3481c              |         goto label_9;
                                             |     }
    0x000345e8 lb a1, 0xd(v0)                |     a1 = *((v0 + 13));
    0x000345ec addiu v1, zero, 0x20          |     v1 = 0x20;
    0x000345f0 addiu s0, v0, 0xd             |     s0 = v0 + 0xd;
                                             |     if (a1 != v1) {
    0x000345f4 bne a1, v1, 0x34608           |         goto label_3;
                                             |     }
    0x000345f8 addiu s0, s0, 1               |     s0++;
                                             |     do {
    0x000345fc lb v0, (s0)                   |         v0 = *(s0);
    0x00034600 beql v0, v1, 0x345fc          |         
                                             |     } while (v0 == v1);
    0x00034604 addiu s0, s0, 1               |     s0++;
                                             | label_3:
    0x00034608 lw t9, -0x7598(gp)            |     t9 = *((gp - 7526));
    0x0003460c lw a1, 0x200(s1)              |     a1 = *((s1 + 128));
    0x00034610 move a2, zero                 |     a2 = 0;
    0x00034614 jalr t9                       |     t9 ();
    0x00034618 lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x0003461c lw a1, (s2)                   |     a1 = *(s2);
    0x00034620 addiu v0, zero, 1             |     v0 = 1;
    0x00034624 lw t9, -0x7c00(gp)            |     t9 = *((gp - 7936));
    0x00034628 move a2, s0                   |     a2 = s0;
    0x0003462c move a3, zero                 |     a3 = 0;
    0x00034630 move a0, s1                   |     a0 = s1;
    0x00034634 sw v0, 0x10(sp)               |     *(var_10h) = v0;
    0x00034638 bal 0x42b94                   |     fcn_00042b94 ();
    0x0003463c lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x00034640 lw a0, (s2)                   |     a0 = *(s2);
    0x00034644 move s0, v0                   |     s0 = v0;
    0x00034648 lw t9, -0x7598(gp)            |     t9 = *((gp - 7526));
    0x0003464c move a2, zero                 |     a2 = 0;
    0x00034650 move a1, zero                 |     a1 = 0;
    0x00034654 jalr t9                       |     t9 ();
    0x00034658 lw gp, 0x18(sp)               |     gp = *(var_18h);
                                             |     if (s0 == 0) {
    0x0003465c beqz s0, 0x34750              |         goto label_10;
                                             |     }
                                             |     do {
                                             | label_1:
    0x00034660 lw ra, 0x3c(sp)               |         ra = *(var_3ch);
    0x00034664 move v0, s0                   |         v0 = s0;
    0x00034668 lw s6, 0x38(sp)               |         s6 = *(var_38h);
    0x0003466c lw s5, 0x34(sp)               |         s5 = *(var_34h);
    0x00034670 lw s4, 0x30(sp)               |         s4 = *(var_30h);
    0x00034674 lw s3, 0x2c(sp)               |         s3 = *(var_2ch);
    0x00034678 lw s2, 0x28(sp)               |         s2 = *(var_28h);
    0x0003467c lw s1, 0x24(sp)               |         s1 = *(var_24h);
    0x00034680 lw s0, 0x20(sp)               |         s0 = *(var_20h);
    0x00034684 addiu sp, sp, 0x40            |         
    0x00034688 jr ra                         |         return v1;
                                             | label_8:
    0x0003468c lw t9, -0x7c08(gp)            |         t9 = *((gp - 7938));
    0x00034690 addiu s6, s2, 0x18            |         s6 = s2 + 0x18;
    0x00034694 move a0, s6                   |         a0 = s6;
    0x00034698 bal 0x41590                   |         fcn_00041590 ();
    0x0003469c lw gp, 0x18(sp)               |         gp = *(var_18h);
    0x000346a0 lw a3, 0xac8(s1)              |         a3 = *((s1 + 690));
    0x000346a4 lw a2, 0x204(s1)              |         a2 = *((s1 + 129));
    0x000346a8 lw t9, -0x7af4(gp)            |         t9 = *((gp - 7869));
    0x000346ac move a1, s6                   |         a1 = s6;
    0x000346b0 move a0, s1                   |         a0 = s1;
    0x000346b4 bal 0x2404c                   |         fcn_0002404c ();
    0x000346b8 move s0, v0                   |         s0 = v0;
    0x000346bc lw gp, 0x18(sp)               |         gp = *(var_18h);
    0x000346c0 bnez v0, 0x34660              |         
                                             |     } while (v0 != 0);
    0x000346c4 sw s6, (s2)                   |     *(s2) = s6;
    0x000346c8 b 0x345b8                     |     goto label_0;
                                             | label_2:
    0x000346cc lw a1, -0x7fb8(gp)            |     a1 = *((gp - 8174));
    0x000346d0 lw t9, -0x7b10(gp)            |     t9 = *((gp - 7876));
    0x000346d4 addiu a2, zero, 0x11          |     a2 = 0x11;
    0x000346d8 addiu a1, a1, -0x373c         |     a1 += -0x373c;
    0x000346dc move a0, s1                   |     a0 = s1;
    0x000346e0 jalr t9                       |     t9 ();
    0x000346e4 lw gp, 0x18(sp)               |     gp = *(var_18h);
                                             |     if (v0 == 0) {
    0x000346e8 beqz v0, 0x34784              |         goto label_11;
                                             |     }
    0x000346ec lw a3, -0x7fc4(gp)            |     a3 = *((gp - 8177));
    0x000346f0 lw a1, -0x7fc4(gp)            |     a1 = *((gp - 8177));
    0x000346f4 addiu v1, zero, 7             |     v1 = 7;
    0x000346f8 lw t9, -0x7f08(gp)            |     t9 = *((gp - 8130));
    0x000346fc sw v1, 0x10(sp)               |     *(var_10h) = v1;
    0x00034700 addiu a3, a3, 0x4330          |     a3 += 0x4330;
    0x00034704 addiu a2, zero, 0x12          |     a2 = 0x12;
    0x00034708 addiu a1, a1, 0x42e8          |     a1 += 0x42e8;
    0x0003470c move a0, v0                   |     a0 = v0;
    0x00034710 bal 0x33084                   |     fcn_00033084 ();
    0x00034714 lhu v1, 0x116(s1)             |     v1 = *((s1 + 139));
    0x00034718 move s0, zero                 |     s0 = 0;
    0x0003471c ins v1, v0, 7, 1              |     __asm ("ins v1, v0, 7, 1");
    0x00034720 sh v1, 0x116(s1)              |     *((s1 + 139)) = v1;
    0x00034724 lw ra, 0x3c(sp)               |     ra = *(var_3ch);
    0x00034728 move v0, s0                   |     v0 = s0;
    0x0003472c lw s6, 0x38(sp)               |     s6 = *(var_38h);
    0x00034730 lw s5, 0x34(sp)               |     s5 = *(var_34h);
    0x00034734 lw s4, 0x30(sp)               |     s4 = *(var_30h);
    0x00034738 lw s3, 0x2c(sp)               |     s3 = *(var_2ch);
    0x0003473c lw s2, 0x28(sp)               |     s2 = *(var_28h);
    0x00034740 lw s1, 0x24(sp)               |     s1 = *(var_24h);
    0x00034744 lw s0, 0x20(sp)               |     s0 = *(var_20h);
    0x00034748 addiu sp, sp, 0x40            |     
    0x0003474c jr ra                         |     return v1;
                                             | label_10:
    0x00034750 lw t9, -0x7af0(gp)            |     t9 = *((gp - 7868));
    0x00034754 lw a0, (s2)                   |     a0 = *(s2);
    0x00034758 bal 0x4272c                   |     fcn_0004272c ();
    0x0003475c move s0, v0                   |     s0 = v0;
    0x00034760 lw gp, 0x18(sp)               |     gp = *(var_18h);
                                             |     if (v0 != 0) {
    0x00034764 bnez v0, 0x34660              |         goto label_1;
                                             |     }
    0x00034768 lw t9, -0x7aec(gp)            |     t9 = *((gp - 7867));
    0x0003476c lw a0, (s2)                   |     a0 = *(s2);
    0x00034770 bal 0x4276c                   |     fcn_0004276c ();
    0x00034774 lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x00034778 sw v0, 8(s2)                  |     *((s2 + 2)) = v0;
    0x0003477c sw v1, 0xc(s2)                |     *((s2 + 3)) = v1;
    0x00034780 b 0x346cc                     |     goto label_2;
                                             | label_11:
    0x00034784 lw v0, 0x1a4(s4)              |     v0 = *(s4);
    0x00034788 lw v0, 0x44(v0)               |     v0 = *((v0 + 17));
    0x0003478c andi v0, v0, 3                |     v0 &= 3;
                                             |     if (v0 != 0) {
    0x00034790 beql v0, zero, 0x347cc        |         
    0x00034794 lhu v0, 0x116(s1)             |         v0 = *((s1 + 139));
    0x00034798 addiu v0, s3, -2              |         v0 = s3 + -2;
    0x0003479c sltiu v0, v0, 2               |         v0 = (v0 < 2) ? 1 : 0;
    0x000347a0 lw v0, 0xc(s2)                |         v0 = *((s2 + 3));
                                             |         if (v0 == 0) {
    0x000347a4 bnel v0, zero, 0x3483c        |             goto label_12;
                                             |         }
    0x000347a8 lw v0, 0xb98(s1)              |         v0 = *((s1 + 742));
    0x000347ac ext v0, v0, 0x14, 1           |         __asm ("ext v0, v0, 0x14, 1");
    0x000347b0 addiu v0, zero, 1             |         v0 = 1;
                                             |         if (v0 == 0) {
    0x000347b4 beqz v0, 0x3485c              |             goto label_13;
                                             |         }
    0x000347b8 lw v0, 0xac0(s1)              |         v0 = *((s1 + 688));
                                             | label_5:
    0x000347bc addiu v1, zero, -1            |         v1 = -1;
                                             |         if (v0 == v1) {
    0x000347c0 beql v0, v1, 0x3486c          |             goto label_14;
                                             |         }
    0x000347c4 lw v1, 0xac4(s1)              |         v1 = *((s1 + 689));
    0x000347c8 lhu v0, 0x116(s1)             |         v0 = *((s1 + 139));
                                             |     }
                                             | label_4:
    0x000347cc ins v0, zero, 7, 1            |     __asm ("ins v0, zero, 7, 1");
    0x000347d0 sh v0, 0x116(s1)              |     *((s1 + 139)) = v0;
                                             | label_7:
    0x000347d4 lhu v0, 0x116(s1)             |     v0 = *((s1 + 139));
                                             | label_6:
    0x000347d8 andi v0, v0, 0x80             |     v0 &= 0x80;
    0x000347dc move s0, zero                 |     s0 = 0;
                                             |     if (v0 == 0) {
    0x000347e0 beqz v0, 0x34660              |         goto label_1;
                                             |     }
    0x000347e4 lw v0, -0x7fb8(gp)            |     v0 = *((gp - 8174));
    0x000347e8 lw ra, 0x3c(sp)               |     ra = *(var_3ch);
    0x000347ec addiu v0, v0, -0x7a3c         |     v0 += -0x7a3c;
    0x000347f0 sw v0, (s5)                   |     *(s5) = v0;
    0x000347f4 lw s6, 0x38(sp)               |     s6 = *(var_38h);
    0x000347f8 move v0, s0                   |     v0 = s0;
    0x000347fc lw s5, 0x34(sp)               |     s5 = *(var_34h);
    0x00034800 lw s4, 0x30(sp)               |     s4 = *(var_30h);
    0x00034804 lw s3, 0x2c(sp)               |     s3 = *(var_2ch);
    0x00034808 lw s2, 0x28(sp)               |     s2 = *(var_28h);
    0x0003480c lw s1, 0x24(sp)               |     s1 = *(var_24h);
    0x00034810 lw s0, 0x20(sp)               |     s0 = *(var_20h);
    0x00034814 addiu sp, sp, 0x40            |     
    0x00034818 jr ra                         |     return v1;
                                             | label_9:
    0x0003481c lw v1, 8(a0)                  |     v1 = *((a0 + 2));
    0x00034820 addiu v0, zero, 4             |     v0 = 4;
                                             |     if (v1 != v0) {
    0x00034824 beql v1, v0, 0x34834          |         
    0x00034828 lw s0, -0x7fc4(gp)            |         s0 = *((gp - 8177));
    0x0003482c move s0, zero                 |         s0 = 0;
    0x00034830 b 0x34608                     |         goto label_3;
                                             |     }
    0x00034834 addiu s0, s0, 0x691c          |     s0 += 0x691c;
    0x00034838 b 0x34608                     |     goto label_3;
                                             |     if (v0 < 0) {
                                             | label_12:
    0x0003483c bltzl v0, 0x34878             |         goto label_15;
                                             |     }
    0x00034840 lw v0, 0x1a0(s4)              |     v0 = *(s4);
    0x00034844 lw v0, 0xb98(s1)              |     v0 = *((s1 + 742));
    0x00034848 ext v0, v0, 0x14, 1           |     __asm ("ext v0, v0, 0x14, 1");
                                             |     if (v0 == 0) {
    0x0003484c beql v0, zero, 0x347cc        |         goto label_4;
                                             |     }
    0x00034850 lhu v0, 0x116(s1)             |     v0 = *((s1 + 139));
    0x00034854 lw v0, 0xac0(s1)              |     v0 = *((s1 + 688));
    0x00034858 b 0x347bc                     |     goto label_5;
                                             | label_13:
    0x0003485c lhu v0, 0x116(s1)             |     v0 = *((s1 + 139));
                                             |     if (s3 == v0) {
    0x00034860 bnel s3, v0, 0x347cc          |         goto label_4;
                                             |     }
    0x00034864 lw v0, 0xac0(s1)              |     v0 = *((s1 + 688));
    0x00034868 b 0x347bc                     |     goto label_5;
                                             | label_14:
    0x0003486c lhu v0, 0x116(s1)             |     v0 = *((s1 + 139));
                                             |     if (v1 == v0) {
    0x00034870 bnel v1, v0, 0x347cc          |         goto label_4;
                                             |     }
    0x00034874 lw v0, 0x1a0(s4)              |     v0 = *(s4);
                                             | label_15:
    0x00034878 ext v0, v0, 0x10, 1           |     __asm ("ext v0, v0, 0x10, 1");
    0x0003487c lhu v0, 0x116(s1)             |     v0 = *((s1 + 139));
                                             |     if (v0 == 0) {
    0x00034880 bnel v0, zero, 0x347d8        |         goto label_6;
                                             |     }
    0x00034884 lbu v1, 0xb95(s1)             |     v1 = *((s1 + 2965));
    0x00034888 addiu v0, zero, 0xa           |     v0 = 0xa;
    0x0003488c lw a1, -0x7fb8(gp)            |     a1 = *((gp - 8174));
                                             |     if (v1 == v0) {
    0x00034890 beq v1, v0, 0x348c4           |         goto label_16;
                                             |     }
    0x00034894 lbu v1, 0x2e5(s4)             |     v1 = *((s4 + 741));
    0x00034898 addiu v0, zero, 1             |     v0 = 1;
                                             |     if (v1 == v0) {
    0x0003489c beq v1, v0, 0x348c4           |         goto label_16;
                                             |     }
    0x000348a0 lbu a0, 0xb94(s1)             |     a0 = *((s1 + 2964));
    0x000348a4 sltiu v1, v1, 0x14            |     v1 = (v1 < 0x14) ? 1 : 0;
                                             |     if (a0 == v0) {
    0x000348a8 beq a0, v0, 0x348c4           |         goto label_16;
                                             |     }
                                             |     if (v1 == 0) {
    0x000348ac beql v1, zero, 0x347d8        |         goto label_6;
                                             |     }
    0x000348b0 lhu v0, 0x116(s1)             |     v0 = *((s1 + 139));
    0x000348b4 lhu v1, 0x116(s1)             |     v1 = *((s1 + 139));
    0x000348b8 ins v1, v0, 7, 1              |     __asm ("ins v1, v0, 7, 1");
    0x000348bc sh v1, 0x116(s1)              |     *((s1 + 139)) = v1;
    0x000348c0 b 0x347d4                     |     goto label_7;
                                             | label_16:
    0x000348c4 lw t9, -0x7f24(gp)            |     t9 = *((gp - 8137));
    0x000348c8 addiu a1, a1, -0x7a68         |     a1 += -0x7a68;
    0x000348cc move a0, s1                   |     a0 = s1;
    0x000348d0 bal 0x1a234                   |     fcn_0001a234 ();
    0x000348d4 addiu s0, zero, 0x19          |     s0 = 0x19;
    0x000348d8 b 0x34660                     |     goto label_1;
                                             | }
    ; assembly                               | /* r2dec pseudo code output */
                                             | /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/lib/libcurl.so.4.8.0 @ 0x35388 */
                                             | #include <stdint.h>
                                             |  
    ; (fcn) fcn.00035388 ()                  | void fcn_00035388 () {
    0x00035388 lui gp, 7                     |     
    0x0003538c addiu gp, gp, 0x7408          |     
    0x00035390 addu gp, gp, t9               |     gp += t9;
    0x00035394 addiu sp, sp, -0x60           |     
    0x00035398 lw v0, 0x4c0(a0)              |     v0 = *((a0 + 304));
    0x0003539c sw gp, 0x18(sp)               |     *(var_18h) = gp;
    0x000353a0 sw s2, 0x40(sp)               |     *(var_40h) = s2;
    0x000353a4 sw s1, 0x3c(sp)               |     *(var_3ch) = s1;
    0x000353a8 sw s0, 0x38(sp)               |     *(var_38h) = s0;
    0x000353ac sw ra, 0x5c(sp)               |     *(var_5ch) = ra;
    0x000353b0 sw fp, 0x58(sp)               |     *(var_58h) = fp;
    0x000353b4 sw s7, 0x54(sp)               |     *(var_54h) = s7;
    0x000353b8 sw s6, 0x50(sp)               |     *(var_50h) = s6;
    0x000353bc sw s5, 0x4c(sp)               |     *(var_4ch) = s5;
    0x000353c0 sw s4, 0x48(sp)               |     *(var_48h) = s4;
    0x000353c4 sw s3, 0x44(sp)               |     *(var_44h) = s3;
    0x000353c8 move s2, a0                   |     s2 = a0;
    0x000353cc move s1, a1                   |     s1 = a1;
    0x000353d0 move s0, a2                   |     s0 = a2;
                                             |     if (v0 != 0) {
    0x000353d4 beqz v0, 0x353f4              |         
    0x000353d8 lw a1, -0x7fb8(gp)            |         a1 = *((gp - 8174));
    0x000353dc lw t9, -0x7b10(gp)            |         t9 = *((gp - 7876));
    0x000353e0 addiu a2, zero, 6             |         a2 = 6;
    0x000353e4 addiu a1, a1, -0x792c         |         a1 += -0x792c;
    0x000353e8 jalr t9                       |         t9 ();
    0x000353ec lw gp, 0x18(sp)               |         gp = *(var_18h);
                                             |         if (v0 == 0) {
    0x000353f0 beqz v0, 0x35640              |             goto label_8;
                                             |         }
                                             |     }
    0x000353f4 lw v0, 0x680(s2)              |     v0 = *((s2 + 416));
    0x000353f8 move v0, zero                 |     v0 = 0;
                                             |     if (v0 == 0) {
    0x000353fc beqz v0, 0x35610              |         goto label_3;
                                             |     }
    0x00035400 lw v0, 0xb98(s2)              |     v0 = *((s2 + 742));
    0x00035404 andi v0, v0, 0x2000           |     v0 &= 0x2000;
    0x00035408 move v0, zero                 |     v0 = 0;
                                             |     if (v0 == 0) {
    0x0003540c beqz v0, 0x35610              |         goto label_3;
                                             |     }
    0x00035410 sw zero, 0x30(sp)             |     *(var_30h) = 0;
    0x00035414 lw s3, 0xb78(s2)              |     s3 = *((s2 + 734));
                                             |     if (s3 != 0) {
                                             | label_2:
    0x00035418 beql s3, zero, 0x35420        |         
    0x0003541c lw s3, 0x4c(s1)               |         s3 = *((s1 + 19));
                                             |     }
    0x00035420 lw v0, 0x1a4(s1)              |     v0 = *(s1);
    0x00035424 lw v0, 0x44(v0)               |     v0 = *((v0 + 17));
    0x00035428 andi v0, v0, 2                |     v0 &= 2;
                                             |     if (v0 == 0) {
    0x0003542c beql v0, zero, 0x35698        |         goto label_9;
                                             |     }
    0x00035430 lw a0, -0x7fc4(gp)            |     a0 = *((gp - 8177));
                                             | label_4:
    0x00035434 addiu s1, zero, 1             |     s1 = 1;
                                             | label_5:
    0x00035438 lw t9, -0x7e1c(gp)            |     t9 = *((gp - 8071));
    0x0003543c addiu a2, zero, 2             |     a2 = 2;
    0x00035440 addiu a1, zero, 2             |     a1 = 2;
    0x00035444 move a0, s2                   |     a0 = s2;
    0x00035448 jalr t9                       |     t9 ();
    0x0003544c lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x00035450 lw a3, 0xaec(s2)              |     a3 = *((s2 + 699));
    0x00035454 lw a1, 0x680(s2)              |     a1 = *((s2 + 416));
    0x00035458 lw t9, -0x7ae8(gp)            |     t9 = *((gp - 7866));
    0x0003545c move a2, s3                   |     a2 = s3;
    0x00035460 move a0, s2                   |     a0 = s2;
    0x00035464 sw s1, 0x10(sp)               |     *(var_10h) = s1;
    0x00035468 bal 0x182d0                   |     fcn_000182d0 ();
    0x0003546c lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x00035470 move s1, v0                   |     s1 = v0;
    0x00035474 sw v0, 0x34(sp)               |     *(var_34h) = v0;
    0x00035478 lw t9, -0x7e18(gp)            |     t9 = *((gp - 8070));
    0x0003547c addiu a1, zero, 2             |     a1 = 2;
    0x00035480 move a0, s2                   |     a0 = s2;
    0x00035484 jalr t9                       |     t9 ();
    0x00035488 lw gp, 0x18(sp)               |     gp = *(var_18h);
                                             |     if (s1 == 0) {
    0x0003548c beqz s1, 0x35660              |         goto label_10;
                                             |     }
    0x00035490 lw s6, -0x7fb8(gp)            |     s6 = *((gp - 8174));
    0x00035494 lw s5, -0x7fb8(gp)            |     s5 = *((gp - 8174));
    0x00035498 addiu v0, s6, -0x7930         |     v0 = s6 + -0x7930;
    0x0003549c lw s4, -0x7fb8(gp)            |     s4 = *((gp - 8174));
    0x000354a0 lw s3, -0x7fb8(gp)            |     s3 = *((gp - 8174));
    0x000354a4 sw v0, 0x28(sp)               |     *(var_28h) = v0;
    0x000354a8 addiu v0, s5, -0x1358         |     v0 = s5 + -0x1358;
    0x000354ac lw s7, 0x34(sp)               |     s7 = *(var_34h);
    0x000354b0 move s1, zero                 |     s1 = 0;
    0x000354b4 addiu s4, s4, -0x7918         |     s4 += -0x7918;
    0x000354b8 addiu s3, s3, -0x7924         |     s3 += -0x7924;
    0x000354bc sw v0, 0x2c(sp)               |     *(var_2ch) = v0;
    0x000354c0 b 0x35564                     |     goto label_11;
                                             | label_0:
    0x000354c4 bal 0x1eeec                   |     fcn_0001eeec ();
    0x000354c8 nop                           |     
    0x000354cc lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x000354d0 move a0, s0                   |     a0 = s0;
    0x000354d4 lw t9, -0x7f50(gp)            |     t9 = *((gp - 8148));
                                             |     if (v0 != 0) {
    0x000354d8 bnez v0, 0x35770              |         goto label_12;
                                             |     }
    0x000354dc bal 0x1f028                   |     fcn_0001f028 ();
    0x000354e0 nop                           |     
    0x000354e4 lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x000354e8 lw fp, 4(s7)                  |     fp = *((s7 + 1));
    0x000354ec sw v0, 0x24(sp)               |     *(var_24h) = v0;
    0x000354f0 lw t9, -0x7428(gp)            |     t9 = *((gp - 7434));
    0x000354f4 move a0, fp                   |     a0 = fp;
    0x000354f8 jalr t9                       |     t9 ();
    0x000354fc lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x00035500 lw s5, 8(s7)                  |     s5 = *((s7 + 2));
    0x00035504 move s6, v0                   |     s6 = v0;
    0x00035508 lw t9, -0x7428(gp)            |     t9 = *((gp - 7434));
    0x0003550c move a0, s5                   |     a0 = s5;
    0x00035510 jalr t9                       |     t9 ();
    0x00035514 lw a1, 0x24(sp)               |     a1 = *(var_24h);
    0x00035518 addu a1, a1, s6               |     a1 += s6;
    0x0003551c addiu a1, a1, 1               |     a1++;
    0x00035520 addu a1, a1, v0               |     a1 += v0;
    0x00035524 sltiu a1, a1, 0x1ffe          |     a1 = (a1 < 0x1ffe) ? 1 : 0;
    0x00035528 lw gp, 0x18(sp)               |     gp = *(var_18h);
                                             |     if (a1 == 0) {
    0x0003552c beqz a1, 0x355e4              |         goto label_13;
                                             |     }
    0x00035530 lw a2, 0x2c(sp)               |     a2 = *(var_2ch);
                                             | label_1:
    0x00035534 lw t9, -0x7f34(gp)            |     t9 = *((gp - 8141));
    0x00035538 sw s5, 0x10(sp)               |     *(var_10h) = s5;
    0x0003553c move a3, fp                   |     a3 = fp;
    0x00035540 move a1, s4                   |     a1 = s4;
    0x00035544 move a0, s0                   |     a0 = s0;
    0x00035548 bal 0x1ef9c                   |     fcn_0001ef9c ();
    0x0003554c lw gp, 0x18(sp)               |     gp = *(var_18h);
                                             |     if (v0 != 0) {
    0x00035550 bnez v0, 0x35770              |         goto label_12;
                                             |     }
    0x00035554 addiu s1, s1, 1               |     s1++;
                                             |     do {
    0x00035558 lw s7, (s7)                   |         s7 = *(s7);
    0x0003555c lw t9, -0x7ae4(gp)            |         t9 = *((gp - 7865));
                                             |         if (s7 == 0) {
    0x00035560 beqz s7, 0x356ec              |             goto label_14;
                                             |         }
                                             | label_11:
    0x00035564 lw v0, 8(s7)                  |         v0 = *((s7 + 2));
    0x00035568 lw v0, -0x7f50(gp)            |         v0 = *((gp - 8148));
    0x0003556c beqz v0, 0x35558              |         
                                             |     } while (v0 == 0);
    0x00035570 move a0, s0                   |     a0 = s0;
    0x00035574 lw t9, -0x7f5c(gp)            |     t9 = *((gp - 8151));
    0x00035578 addiu a2, zero, 8             |     a2 = 8;
    0x0003557c move a1, s3                   |     a1 = s3;
                                             |     if (s1 == 0) {
    0x00035580 beqz s1, 0x354c4              |         goto label_0;
                                             |     }
    0x00035584 move t9, v0                   |     t9 = v0;
    0x00035588 bal 0x1f028                   |     fcn_0001f028 ();
    0x0003558c nop                           |     
    0x00035590 lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x00035594 lw fp, 4(s7)                  |     fp = *((s7 + 1));
    0x00035598 sw v0, 0x24(sp)               |     *(var_24h) = v0;
    0x0003559c lw t9, -0x7428(gp)            |     t9 = *((gp - 7434));
    0x000355a0 move a0, fp                   |     a0 = fp;
    0x000355a4 jalr t9                       |     t9 ();
    0x000355a8 lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x000355ac lw s5, 8(s7)                  |     s5 = *((s7 + 2));
    0x000355b0 move s6, v0                   |     s6 = v0;
    0x000355b4 lw t9, -0x7428(gp)            |     t9 = *((gp - 7434));
    0x000355b8 move a0, s5                   |     a0 = s5;
    0x000355bc jalr t9                       |     t9 ();
    0x000355c0 lw a1, 0x24(sp)               |     a1 = *(var_24h);
    0x000355c4 addu a1, a1, s6               |     a1 += s6;
    0x000355c8 addiu a1, a1, 1               |     a1++;
    0x000355cc addu a1, a1, v0               |     a1 += v0;
    0x000355d0 sltiu a1, a1, 0x1ffe          |     a1 = (a1 < 0x1ffe) ? 1 : 0;
    0x000355d4 lw gp, 0x18(sp)               |     gp = *(var_18h);
                                             |     if (a1 == 0) {
    0x000355d8 beqz a1, 0x35788              |         goto label_15;
                                             |     }
    0x000355dc lw a2, 0x28(sp)               |     a2 = *(var_28h);
    0x000355e0 b 0x35534                     |     goto label_1;
                                             | label_13:
    0x000355e4 lw a1, -0x7fb8(gp)            |     a1 = *((gp - 8174));
    0x000355e8 lw t9, -0x7f9c(gp)            |     t9 = *((gp - 8167));
    0x000355ec move a2, fp                   |     a2 = fp;
    0x000355f0 addiu a1, a1, -0x7910         |     a1 += -0x7910;
    0x000355f4 move a0, s2                   |     a0 = s2;
    0x000355f8 bal 0x1a358                   |     fcn_0001a358 ();
    0x000355fc lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x00035600 lw t9, -0x7ae4(gp)            |     t9 = *((gp - 7865));
    0x00035604 lw a0, 0x34(sp)               |     a0 = *(var_34h);
    0x00035608 bal 0x18948                   |     fcn_00018948 ();
    0x0003560c move v0, zero                 |     v0 = 0;
                                             | label_3:
    0x00035610 lw ra, 0x5c(sp)               |     ra = *(var_5ch);
    0x00035614 lw fp, 0x58(sp)               |     fp = *(var_58h);
    0x00035618 lw s7, 0x54(sp)               |     s7 = *(var_54h);
    0x0003561c lw s6, 0x50(sp)               |     s6 = *(var_50h);
    0x00035620 lw s5, 0x4c(sp)               |     s5 = *(var_4ch);
    0x00035624 lw s4, 0x48(sp)               |     s4 = *(var_48h);
    0x00035628 lw s3, 0x44(sp)               |     s3 = *(var_44h);
    0x0003562c lw s2, 0x40(sp)               |     s2 = *(var_40h);
    0x00035630 lw s1, 0x3c(sp)               |     s1 = *(var_3ch);
    0x00035634 lw s0, 0x38(sp)               |     s0 = *(var_38h);
    0x00035638 addiu sp, sp, 0x60            |     
    0x0003563c jr ra                         |     return v0;
                                             | label_8:
    0x00035640 lw v1, 0x4c0(s2)              |     v1 = *((s2 + 304));
    0x00035644 lw v0, 0x680(s2)              |     v0 = *((s2 + 416));
    0x00035648 sw v1, 0x30(sp)               |     *(var_30h) = v1;
                                             |     if (v0 == 0) {
    0x0003564c beqz v0, 0x35660              |         goto label_10;
                                             |     }
    0x00035650 lw v0, 0xb98(s2)              |     v0 = *((s2 + 742));
    0x00035654 andi v0, v0, 0x2000           |     v0 &= 0x2000;
    0x00035658 lw s3, 0xb78(s2)              |     s3 = *((s2 + 734));
                                             |     if (v0 == 0) {
    0x0003565c bnel v0, zero, 0x35418        |         goto label_2;
                                             |     }
                                             | label_10:
    0x00035660 lw v0, 0x30(sp)               |     v0 = *(var_30h);
    0x00035664 move v0, zero                 |     v0 = 0;
                                             |     if (v0 == 0) {
    0x00035668 beqz v0, 0x35610              |         goto label_3;
                                             |     }
                                             | label_6:
    0x0003566c lw a1, -0x7fb8(gp)            |     a1 = *((gp - 8174));
    0x00035670 lw t9, -0x7f5c(gp)            |     t9 = *((gp - 8151));
    0x00035674 addiu a2, zero, 8             |     a2 = 8;
    0x00035678 addiu a1, a1, -0x7924         |     a1 += -0x7924;
    0x0003567c move a0, s0                   |     a0 = s0;
    0x00035680 bal 0x1eeec                   |     fcn_0001eeec ();
    0x00035684 lw gp, 0x18(sp)               |     gp = *(var_18h);
                                             |     if (v0 != 0) {
    0x00035688 bnez v0, 0x35610              |         goto label_3;
                                             |     }
    0x0003568c lw a2, -0x7fb8(gp)            |     a2 = *((gp - 8174));
    0x00035690 addiu a2, a2, -0x1358         |     a2 += -0x1358;
    0x00035694 b 0x3570c                     |     goto label_16;
                                             | label_9:
    0x00035698 lw t9, -0x714c(gp)            |     t9 = *((gp - 7251));
    0x0003569c move a1, s3                   |     a1 = s3;
    0x000356a0 addiu a0, a0, 0x4bac          |     a0 += 0x4bac;
    0x000356a4 jalr t9                       |     t9 ();
    0x000356a8 lw gp, 0x18(sp)               |     gp = *(var_18h);
                                             |     if (v0 != 0) {
    0x000356ac bnez v0, 0x35434              |         goto label_4;
                                             |     }
    0x000356b0 lw a1, -0x7fc4(gp)            |     a1 = *((gp - 8177));
    0x000356b4 lw t9, -0x771c(gp)            |     t9 = *((gp - 7623));
    0x000356b8 addiu a1, a1, 0x7f8c          |     a1 += 0x7f8c;
    0x000356bc move a0, s3                   |     a0 = s3;
    0x000356c0 jalr t9                       |     t9 ();
    0x000356c4 lw gp, 0x18(sp)               |     gp = *(var_18h);
                                             |     if (v0 == 0) {
    0x000356c8 beqz v0, 0x35434              |         goto label_4;
                                             |     }
    0x000356cc lw a1, -0x7fc4(gp)            |     a1 = *((gp - 8177));
    0x000356d0 lw t9, -0x771c(gp)            |     t9 = *((gp - 7623));
    0x000356d4 addiu a1, a1, 0x7fa4          |     a1 += 0x7fa4;
    0x000356d8 move a0, s3                   |     a0 = s3;
    0x000356dc jalr t9                       |     t9 ();
    0x000356e0 sltiu s1, v0, 1               |     s1 = (v0 < 1) ? 1 : 0;
    0x000356e4 lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x000356e8 b 0x35438                     |     goto label_5;
                                             | label_14:
    0x000356ec lw a0, 0x34(sp)               |     a0 = *(var_34h);
    0x000356f0 bal 0x18948                   |     fcn_00018948 ();
    0x000356f4 lw v0, 0x30(sp)               |     v0 = *(var_30h);
    0x000356f8 lw gp, 0x18(sp)               |     gp = *(var_18h);
                                             |     if (v0 == 0) {
    0x000356fc beqz v0, 0x357b8              |         goto label_17;
                                             |     }
    0x00035700 lw a2, -0x7fb8(gp)            |     a2 = *((gp - 8174));
                                             |     if (s1 == 0) {
    0x00035704 beqz s1, 0x3566c              |         goto label_6;
                                             |     }
    0x00035708 addiu a2, a2, -0x7930         |     a2 += -0x7930;
                                             | label_16:
    0x0003570c lw a1, -0x7fc4(gp)            |     a1 = *((gp - 8177));
    0x00035710 lw t9, -0x7f34(gp)            |     t9 = *((gp - 8141));
    0x00035714 lw a3, 0x30(sp)               |     a3 = *(var_30h);
    0x00035718 addiu a1, a1, 0x4154          |     a1 += aav.0x00004154;
    0x0003571c move a0, s0                   |     a0 = s0;
    0x00035720 bal 0x1ef9c                   |     fcn_0001ef9c ();
    0x00035724 lw gp, 0x18(sp)               |     gp = *(var_18h);
                                             |     if (v0 != 0) {
    0x00035728 bnez v0, 0x35610              |         goto label_3;
                                             |     }
                                             |     do {
    0x0003572c lw a1, -0x7fc4(gp)            |         a1 = *((gp - 8177));
                                             | label_7:
    0x00035730 lw ra, 0x5c(sp)               |         ra = *(var_5ch);
    0x00035734 lw fp, 0x58(sp)               |         fp = *(var_58h);
    0x00035738 lw s7, 0x54(sp)               |         s7 = *(var_54h);
    0x0003573c lw s6, 0x50(sp)               |         s6 = *(var_50h);
    0x00035740 lw s5, 0x4c(sp)               |         s5 = *(var_4ch);
    0x00035744 lw s4, 0x48(sp)               |         s4 = *(var_48h);
    0x00035748 lw s3, 0x44(sp)               |         s3 = *(var_44h);
    0x0003574c lw s2, 0x40(sp)               |         s2 = *(var_40h);
    0x00035750 lw s1, 0x3c(sp)               |         s1 = *(var_3ch);
    0x00035754 move a0, s0                   |         a0 = s0;
    0x00035758 lw t9, -0x7f5c(gp)            |         t9 = *((gp - 8151));
    0x0003575c lw s0, 0x38(sp)               |         s0 = *(var_38h);
    0x00035760 addiu a2, zero, 2             |         a2 = 2;
    0x00035764 addiu a1, a1, 0x5048          |         a1 += 0x5048;
    0x00035768 addiu sp, sp, 0x60            |         
    0x0003576c b 0x1eeec                     |         void (*0x1eeec)() ();
                                             | label_12:
    0x00035770 lw t9, -0x7ae4(gp)            |         t9 = *((gp - 7865));
    0x00035774 lw a0, 0x34(sp)               |         a0 = *(var_34h);
    0x00035778 sw v0, 0x24(sp)               |         *(var_24h) = v0;
    0x0003577c bal 0x18948                   |         fcn_00018948 ();
    0x00035780 lw v0, 0x24(sp)               |         v0 = *(var_24h);
    0x00035784 b 0x35610                     |         goto label_3;
                                             | label_15:
    0x00035788 lw a1, -0x7fb8(gp)            |         a1 = *((gp - 8174));
    0x0003578c lw t9, -0x7f9c(gp)            |         t9 = *((gp - 8167));
    0x00035790 move a2, fp                   |         a2 = fp;
    0x00035794 addiu a1, a1, -0x7910         |         a1 += -0x7910;
    0x00035798 move a0, s2                   |         a0 = s2;
    0x0003579c bal 0x1a358                   |         fcn_0001a358 ();
    0x000357a0 lw gp, 0x18(sp)               |         gp = *(var_18h);
    0x000357a4 lw t9, -0x7ae4(gp)            |         t9 = *((gp - 7865));
    0x000357a8 lw a0, 0x34(sp)               |         a0 = *(var_34h);
    0x000357ac bal 0x18948                   |         fcn_00018948 ();
    0x000357b0 lw gp, 0x18(sp)               |         gp = *(var_18h);
    0x000357b4 b 0x3572c                     |         
                                             |     } while (1);
                                             | label_17:
    0x000357b8 lw a1, -0x7fc4(gp)            |     a1 = *((gp - 8177));
                                             |     if (s1 != 0) {
    0x000357bc bnez s1, 0x35730              |         goto label_7;
                                             |     }
    0x000357c0 move v0, zero                 |     v0 = 0;
    0x000357c4 b 0x35610                     |     goto label_3;
                                             | }
    ; assembly                               | /* r2dec pseudo code output */
                                             | /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/lib/libcurl.so.4.8.0 @ 0x3676c */
                                             | #include <stdint.h>
                                             |  
    ; (fcn) fcn.0003676c ()                  | void fcn_0003676c () {
    0x0003676c lui gp, 7                     |     
    0x00036770 addiu gp, gp, 0x6024          |     
    0x00036774 addu gp, gp, t9               |     gp += t9;
    0x00036778 addiu sp, sp, -0x60           |     
    0x0003677c lhu v0, 0x116(a0)             |     v0 = *((a0 + 139));
    0x00036780 sw s2, 0x4c(sp)               |     *(var_4ch) = s2;
    0x00036784 lw s2, -0x74ac(gp)            |     s2 = *((gp - 7467));
    0x00036788 sw gp, 0x20(sp)               |     *(var_20h) = gp;
    0x0003678c andi v0, v0, 0x10             |     v0 &= 0x10;
    0x00036790 lw v1, (s2)                   |     v1 = *(s2);
    0x00036794 sw s3, 0x50(sp)               |     *(var_50h) = s3;
    0x00036798 sw s1, 0x48(sp)               |     *(var_48h) = s1;
    0x0003679c sw s0, 0x44(sp)               |     *(var_44h) = s0;
    0x000367a0 sw ra, 0x5c(sp)               |     *(var_5ch) = ra;
    0x000367a4 sw s5, 0x58(sp)               |     *(var_58h) = s5;
    0x000367a8 sw s4, 0x54(sp)               |     *(var_54h) = s4;
    0x000367ac move s1, a0                   |     s1 = a0;
    0x000367b0 move s3, a1                   |     s3 = a1;
    0x000367b4 move s0, a2                   |     s0 = a2;
    0x000367b8 sw v1, 0x3c(sp)               |     *(var_3ch) = v1;
    0x000367bc lw a1, -0x7fb8(gp)            |     a1 = *((gp - 8174));
                                             |     if (v0 != 0) {
    0x000367c0 bnez v0, 0x367d8              |         goto label_17;
                                             |     }
    0x000367c4 lw v0, 0x678(a0)              |     v0 = *(a0);
    0x000367c8 ext v0, v0, 0x1a, 1           |     __asm ("ext v0, v0, 0x1a, 1");
    0x000367cc lw a1, -0x7fc4(gp)            |     a1 = *((gp - 8177));
    0x000367d0 beqz v0, 0x36944              |     
                                             |     while (v0 == 0) {
    0x000367d4 lw a1, -0x7fb8(gp)            |         a1 = *((gp - 8174));
                                             | label_17:
    0x000367d8 lw t9, -0x7744(gp)            |         t9 = *((gp - 7633));
    0x000367dc addiu a2, zero, 0xd           |         a2 = 0xd;
    0x000367e0 addiu a1, a1, -0x7ad4         |         a1 += -0x7ad4;
    0x000367e4 move a0, s0                   |         a0 = s0;
    0x000367e8 jalr t9                       |         t9 ();
    0x000367ec lw gp, 0x20(sp)               |         gp = *(var_20h);
                                             |         if (v0 != 0) {
    0x000367f0 bnez v0, 0x36ab8              |             goto label_18;
                                             |         }
    0x000367f4 lbu v0, 0x2e5(s3)             |         v0 = *((s3 + 741));
    0x000367f8 addiu v1, zero, 0xa           |         v1 = 0xa;
    0x000367fc addiu v1, zero, 0xb           |         v1 = 0xb;
                                             |         if (v0 == v1) {
    0x00036800 beq v0, v1, 0x369d0           |             goto label_19;
                                             |         }
    0x00036804 lw s4, -0x7f08(gp)            |         s4 = *((gp - 8130));
                                             |         if (v0 == v1) {
    0x00036808 beq v0, v1, 0x36a70           |             goto label_20;
                                             |         }
    0x0003680c lw s5, -0x7fc4(gp)            |         s5 = *((gp - 8177));
                                             | label_0:
    0x00036810 lw a3, -0x7fc4(gp)            |         a3 = *((gp - 8177));
                                             | label_4:
    0x00036814 addiu v0, zero, 5             |         v0 = 5;
    0x00036818 sw v0, 0x10(sp)               |         *(var_10h_2) = v0;
    0x0003681c addiu a3, a3, 0x42d4          |         a3 += 0x42d4;
    0x00036820 addiu a2, zero, 0xb           |         a2 = 0xb;
    0x00036824 addiu a1, s5, 0x42dc          |         a1 = s5 + 0x42dc;
    0x00036828 move t9, s4                   |         t9 = s4;
    0x0003682c move a0, s0                   |         a0 = s0;
    0x00036830 bal 0x33084                   |         fcn_00033084 ();
    0x00036834 lw gp, 0x20(sp)               |         gp = *(var_20h);
                                             |         if (v0 != 0) {
    0x00036838 bnez v0, 0x36db0              |             goto label_21;
                                             |         }
    0x0003683c lhu v0, 0x116(s1)             |         v0 = *((s1 + 139));
    0x00036840 andi v0, v0, 0x10             |         v0 &= 0x10;
    0x00036844 lw a1, -0x7fc4(gp)            |         a1 = *((gp - 8177));
                                             |         if (v0 == 0) {
    0x00036848 beqz v0, 0x36dcc              |             goto label_22;
                                             |         }
                                             | label_7:
    0x0003684c lw a1, -0x7fb8(gp)            |         a1 = *((gp - 8174));
    0x00036850 lw t9, -0x7744(gp)            |         t9 = *((gp - 7633));
    0x00036854 addiu a2, zero, 0xc           |         a2 = 0xc;
    0x00036858 addiu a1, a1, -0x7588         |         a1 += -0x7588;
    0x0003685c move a0, s0                   |         a0 = s0;
    0x00036860 jalr t9                       |         t9 ();
    0x00036864 lw gp, 0x20(sp)               |         gp = *(var_20h);
                                             |         if (v0 != 0) {
    0x00036868 bnez v0, 0x36e38              |             goto label_23;
                                             |         }
    0x0003686c lhu v0, 0x116(s1)             |         v0 = *((s1 + 139));
    0x00036870 andi v0, v0, 0x10             |         v0 &= 0x10;
    0x00036874 lw a1, -0x7fb8(gp)            |         a1 = *((gp - 8174));
                                             |         if (v0 == 0) {
    0x00036878 beqz v0, 0x36b68              |             goto label_24;
                                             |         }
    0x0003687c lw v0, 0x680(s1)              |         v0 = *((s1 + 416));
    0x00036880 lw a1, -0x7fc4(gp)            |         a1 = *((gp - 8177));
                                             |         if (v0 == 0) {
    0x00036884 beqz v0, 0x36c7c              |             goto label_25;
                                             |         }
    0x00036888 lw v0, 0xb98(s1)              |         v0 = *((s1 + 742));
    0x0003688c andi v0, v0, 0x2000           |         v0 &= 0x2000;
    0x00036890 lw t9, -0x7744(gp)            |         t9 = *((gp - 7633));
                                             |         if (v0 == 0) {
    0x00036894 beqz v0, 0x36c80              |             goto label_26;
                                             |         }
    0x00036898 lw a1, -0x7fc4(gp)            |         a1 = *((gp - 8177));
                                             | label_5:
    0x0003689c lw t9, -0x7744(gp)            |         t9 = *((gp - 7633));
    0x000368a0 addiu a2, zero, 0xb           |         a2 = 0xb;
    0x000368a4 addiu a1, a1, 0x4d04          |         a1 += 0x4d04;
    0x000368a8 move a0, s0                   |         a0 = s0;
    0x000368ac jalr t9                       |         t9 ();
    0x000368b0 lw gp, 0x20(sp)               |         gp = *(var_20h);
                                             |         if (v0 == 0) {
    0x000368b4 beqz v0, 0x36c0c              |             goto label_27;
                                             |         }
    0x000368b8 lw s4, 0xb78(s1)              |         s4 = *((s1 + 734));
                                             |         if (s4 != 0) {
    0x000368bc beql s4, zero, 0x368c4        |             
    0x000368c0 lw s4, 0x4c(s3)               |             s4 = *((s3 + 19));
                                             |         }
    0x000368c4 lw v0, 0x1a4(s3)              |         v0 = *(s3);
    0x000368c8 lw v0, 0x44(v0)               |         v0 = *((v0 + 17));
    0x000368cc andi v0, v0, 2                |         v0 &= 2;
                                             |         if (v0 == 0) {
    0x000368d0 beql v0, zero, 0x36fb0        |             goto label_28;
                                             |         }
    0x000368d4 lw a0, -0x7fc4(gp)            |         a0 = *((gp - 8177));
                                             | label_10:
    0x000368d8 addiu s3, zero, 1             |         s3 = 1;
                                             | label_11:
    0x000368dc lw t9, -0x7e1c(gp)            |         t9 = *((gp - 8071));
    0x000368e0 addiu a2, zero, 2             |         a2 = 2;
    0x000368e4 addiu a1, zero, 2             |         a1 = 2;
    0x000368e8 move a0, s1                   |         a0 = s1;
    0x000368ec jalr t9                       |         t9 ();
    0x000368f0 lw gp, 0x20(sp)               |         gp = *(var_20h);
    0x000368f4 lw v0, 0xaec(s1)              |         v0 = *((s1 + 699));
    0x000368f8 lw a1, 0x680(s1)              |         a1 = *((s1 + 416));
    0x000368fc addiu s0, s0, 0xb             |         s0 += 0xb;
    0x00036900 lw t9, -0x7d8c(gp)            |         t9 = *((gp - 8035));
    0x00036904 move a3, zero                 |         a3 = 0;
    0x00036908 addiu a2, zero, 1             |         a2 = 1;
    0x0003690c move a0, s1                   |         a0 = s1;
    0x00036910 sw s3, 0x1c(sp)               |         *(var_1ch_2) = s3;
    0x00036914 sw v0, 0x18(sp)               |         *(var_18h) = v0;
    0x00036918 sw s4, 0x14(sp)               |         *(var_14h) = s4;
    0x0003691c sw s0, 0x10(sp)               |         *(var_10h_2) = s0;
    0x00036920 bal 0x16c38                   |         fcn_00016c38 ();
    0x00036924 lw gp, 0x20(sp)               |         gp = *(var_20h);
    0x00036928 addiu a1, zero, 2             |         a1 = 2;
    0x0003692c lw t9, -0x7e18(gp)            |         t9 = *((gp - 8070));
    0x00036930 move a0, s1                   |         a0 = s1;
    0x00036934 jalr t9                       |         t9 ();
    0x00036938 lw gp, 0x20(sp)               |         gp = *(var_20h);
    0x0003693c move v0, zero                 |         v0 = 0;
    0x00036940 b 0x36a40                     |         goto label_1;
    0x00036944 lw t9, -0x7744(gp)            |         t9 = *((gp - 7633));
    0x00036948 addiu a2, zero, 0xf           |         a2 = 0xf;
    0x0003694c addiu a1, a1, 0x4290          |         a1 += 0x4290;
    0x00036950 move a0, s0                   |         a0 = s0;
    0x00036954 jalr t9                       |         t9 ();
    0x00036958 lw gp, 0x20(sp)               |         gp = *(var_20h);
    0x0003695c beqz v0, 0x367d4              |         
                                             |     }
    0x00036960 lw t9, -0x7f40(gp)            |     t9 = *((gp - 8144));
    0x00036964 addiu a3, sp, 0x30            |     a3 = sp + 0x30;
    0x00036968 addiu a2, zero, 0xa           |     a2 = 0xa;
    0x0003696c move a1, zero                 |     a1 = 0;
    0x00036970 addiu a0, s0, 0xf             |     a0 = s0 + 0xf;
    0x00036974 jalr t9                       |     t9 ();
    0x00036978 lw gp, 0x20(sp)               |     gp = *(var_20h);
                                             |     if (v0 == 0) {
    0x0003697c beqz v0, 0x36ef8              |         goto label_29;
                                             |     }
    0x00036980 addiu v1, zero, 1             |     v1 = 1;
    0x00036984 lw a1, -0x7fb8(gp)            |     a1 = *((gp - 8174));
                                             |     if (v0 != v1) {
    0x00036988 bne v0, v1, 0x37120           |         goto label_30;
                                             |     }
    0x0003698c lw v0, 0x470(s1)              |     v0 = *((s1 + 284));
    0x00036990 lw v1, 0x474(s1)              |     v1 = *((s1 + 285));
    0x00036994 or v0, v0, v1                 |     v0 |= v1;
    0x00036998 lw t9, -0x7f10(gp)            |     t9 = *((gp - 8132));
                                             |     if (v0 != 0) {
    0x0003699c bnez v0, 0x37190              |         goto label_31;
                                             |     }
    0x000369a0 addiu a1, zero, 2             |     a1 = 2;
    0x000369a4 move a0, s3                   |     a0 = s3;
    0x000369a8 jalr t9                       |     t9 ();
    0x000369ac lw gp, 0x20(sp)               |     gp = *(var_20h);
    0x000369b0 move a0, s1                   |     a0 = s1;
    0x000369b4 lw a1, -0x7fb8(gp)            |     a1 = *((gp - 8174));
    0x000369b8 lw t9, -0x7f9c(gp)            |     t9 = *((gp - 8167));
    0x000369bc addiu a1, a1, -0x7660         |     a1 += -0x7660;
    0x000369c0 bal 0x1a358                   |     fcn_0001a358 ();
    0x000369c4 lw gp, 0x20(sp)               |     gp = *(var_20h);
                                             | label_6:
    0x000369c8 move v0, zero                 |     v0 = 0;
    0x000369cc b 0x36a40                     |     goto label_1;
                                             | label_19:
    0x000369d0 lw v1, 0x1a0(s3)              |     v1 = *(s3);
    0x000369d4 andi v1, v1, 1                |     v1 &= 1;
    0x000369d8 lw s4, -0x7f08(gp)            |     s4 = *((gp - 8130));
                                             |     if (v1 != 0) {
    0x000369dc bnez v1, 0x36b18              |         goto label_32;
                                             |     }
    0x000369e0 lw s5, -0x7fc4(gp)            |     s5 = *((gp - 8177));
                                             | label_3:
    0x000369e4 lw a3, -0x7fb8(gp)            |     a3 = *((gp - 8174));
    0x000369e8 addiu v0, zero, 0xa           |     v0 = 0xa;
    0x000369ec sw v0, 0x10(sp)               |     *(var_10h_2) = v0;
    0x000369f0 addiu a3, a3, -0x7620         |     a3 += -0x7620;
    0x000369f4 addiu a2, zero, 0xb           |     a2 = 0xb;
    0x000369f8 addiu a1, s5, 0x42dc          |     a1 = s5 + 0x42dc;
    0x000369fc move t9, s4                   |     t9 = s4;
    0x00036a00 move a0, s0                   |     a0 = s0;
    0x00036a04 bal 0x33084                   |     fcn_00033084 ();
    0x00036a08 lw gp, 0x20(sp)               |     gp = *(var_20h);
                                             |     if (v0 == 0) {
    0x00036a0c beqz v0, 0x36810              |         goto label_0;
                                             |     }
    0x00036a10 lw t9, -0x7f10(gp)            |     t9 = *((gp - 8132));
    0x00036a14 move a1, zero                 |     a1 = 0;
    0x00036a18 move a0, s3                   |     a0 = s3;
    0x00036a1c jalr t9                       |     t9 ();
    0x00036a20 lw gp, 0x20(sp)               |     gp = *(var_20h);
    0x00036a24 move a0, s1                   |     a0 = s1;
    0x00036a28 lw a1, -0x7fb8(gp)            |     a1 = *((gp - 8174));
    0x00036a2c lw t9, -0x7f9c(gp)            |     t9 = *((gp - 8167));
    0x00036a30 addiu a1, a1, -0x75c4         |     a1 += -0x75c4;
    0x00036a34 bal 0x1a358                   |     fcn_0001a358 ();
    0x00036a38 lw gp, 0x20(sp)               |     gp = *(var_20h);
    0x00036a3c move v0, zero                 |     v0 = 0;
                                             | label_1:
    0x00036a40 lw a0, 0x3c(sp)               |     a0 = *(var_3ch);
    0x00036a44 lw v1, (s2)                   |     v1 = *(s2);
    0x00036a48 lw ra, 0x5c(sp)               |     ra = *(var_5ch);
                                             |     if (a0 != v1) {
    0x00036a4c bne a0, v1, 0x3724c           |         goto label_33;
                                             |     }
    0x00036a50 lw s5, 0x58(sp)               |     s5 = *(var_58h);
    0x00036a54 lw s4, 0x54(sp)               |     s4 = *(var_54h);
    0x00036a58 lw s3, 0x50(sp)               |     s3 = *(var_50h);
    0x00036a5c lw s2, 0x4c(sp)               |     s2 = *(var_4ch);
    0x00036a60 lw s1, 0x48(sp)               |     s1 = *(var_48h);
    0x00036a64 lw s0, 0x44(sp)               |     s0 = *(var_44h);
    0x00036a68 addiu sp, sp, 0x60            |     
    0x00036a6c jr ra                         |     return v1;
                                             | label_20:
    0x00036a70 lw v0, 0x1a0(s3)              |     v0 = *(s3);
                                             | label_2:
    0x00036a74 andi v0, v0, 1                |     v0 &= 1;
    0x00036a78 lw s5, -0x7fc4(gp)            |     s5 = *((gp - 8177));
                                             |     if (v0 == 0) {
    0x00036a7c beqz v0, 0x36810              |         goto label_0;
                                             |     }
    0x00036a80 lw a3, -0x7fc4(gp)            |     a3 = *((gp - 8177));
    0x00036a84 lw a1, -0x7fc4(gp)            |     a1 = *((gp - 8177));
    0x00036a88 addiu v0, zero, 5             |     v0 = 5;
    0x00036a8c sw v0, 0x10(sp)               |     *(var_10h_2) = v0;
    0x00036a90 addiu a3, a3, 0x42d4          |     a3 += 0x42d4;
    0x00036a94 addiu a2, zero, 0x11          |     a2 = 0x11;
    0x00036a98 addiu a1, a1, 0x4354          |     a1 += 0x4354;
    0x00036a9c move t9, s4                   |     t9 = s4;
    0x00036aa0 move a0, s0                   |     a0 = s0;
    0x00036aa4 bal 0x33084                   |     fcn_00033084 ();
    0x00036aa8 lw gp, 0x20(sp)               |     gp = *(var_20h);
                                             |     if (v0 != 0) {
    0x00036aac bnez v0, 0x36f7c              |         goto label_34;
                                             |     }
    0x00036ab0 lbu v0, 0x2e5(s3)             |     v0 = *((s3 + 741));
    0x00036ab4 b 0x36b54                     |     goto label_35;
                                             | label_18:
    0x00036ab8 lw t9, -0x7bec(gp)            |     t9 = *((gp - 7931));
    0x00036abc addiu t9, t9, 0x1a48          |     t9 += 0x1a48;
    0x00036ac0 move a0, s0                   |     a0 = s0;
    0x00036ac4 bal 0x31a48                   |     fcn_00031a48 ();
    0x00036ac8 move s0, v0                   |     s0 = v0;
    0x00036acc lw gp, 0x20(sp)               |     gp = *(var_20h);
                                             |     if (v0 == 0) {
    0x00036ad0 beqz v0, 0x37030              |         goto label_14;
                                             |     }
    0x00036ad4 lw v1, -0x7fcc(gp)            |     v1 = *((gp - 8179));
    0x00036ad8 lb v0, (v0)                   |     v0 = *(v0);
    0x00036adc lw t9, (v1)                   |     t9 = *(v1);
                                             |     if (v0 == 0) {
    0x00036ae0 bnez v0, 0x36af8              |         
    0x00036ae4 move a0, s0                   |         a0 = s0;
    0x00036ae8 jalr t9                       |         t9 ();
    0x00036aec lw gp, 0x20(sp)               |         gp = *(var_20h);
    0x00036af0 move v0, zero                 |         v0 = 0;
    0x00036af4 b 0x36a40                     |         goto label_1;
                                             |     }
    0x00036af8 move v0, zero                 |     v0 = 0;
    0x00036afc lw a0, 0xbd4(s1)              |     a0 = *((s1 + 757));
    0x00036b00 sw v0, 0x2c(sp)               |     *(var_2ch) = v0;
    0x00036b04 jalr t9                       |     t9 ();
    0x00036b08 lw gp, 0x20(sp)               |     gp = *(var_20h);
    0x00036b0c sw s0, 0xbd4(s1)              |     *((s1 + 757)) = s0;
    0x00036b10 lw v0, 0x2c(sp)               |     v0 = *(var_2ch);
    0x00036b14 b 0x36a40                     |     goto label_1;
                                             | label_32:
    0x00036b18 lw a3, -0x7fb8(gp)            |     a3 = *((gp - 8174));
    0x00036b1c lw a1, -0x7fc4(gp)            |     a1 = *((gp - 8177));
    0x00036b20 sw v0, 0x10(sp)               |     *(var_10h_2) = v0;
    0x00036b24 addiu a3, a3, -0x7620         |     a3 += -0x7620;
    0x00036b28 addiu a2, zero, 0x11          |     a2 = 0x11;
    0x00036b2c addiu a1, a1, 0x4354          |     a1 += 0x4354;
    0x00036b30 move t9, s4                   |     t9 = s4;
    0x00036b34 move a0, s0                   |     a0 = s0;
    0x00036b38 bal 0x33084                   |     fcn_00033084 ();
    0x00036b3c lw gp, 0x20(sp)               |     gp = *(var_20h);
                                             |     if (v0 != 0) {
    0x00036b40 bnez v0, 0x36f48              |         goto label_36;
                                             |     }
    0x00036b44 lbu v0, 0x2e5(s3)             |     v0 = *((s3 + 741));
    0x00036b48 addiu v1, zero, 0xb           |     v1 = 0xb;
                                             |     if (v0 == v1) {
    0x00036b4c beql v0, v1, 0x36a74          |         goto label_2;
                                             |     }
    0x00036b50 lw v0, 0x1a0(s3)              |     v0 = *(s3);
                                             | label_35:
    0x00036b54 addiu v1, zero, 0xa           |     v1 = 0xa;
    0x00036b58 lw s5, -0x7fc4(gp)            |     s5 = *((gp - 8177));
                                             |     if (v0 == v1) {
    0x00036b5c beq v0, v1, 0x369e4           |         goto label_3;
                                             |     }
    0x00036b60 lw a3, -0x7fc4(gp)            |     a3 = *((gp - 8177));
    0x00036b64 b 0x36814                     |     goto label_4;
                                             | label_24:
    0x00036b68 lw t9, -0x7744(gp)            |     t9 = *((gp - 7633));
    0x00036b6c addiu a2, zero, 0xe           |     a2 = 0xe;
    0x00036b70 addiu a1, a1, -0x7578         |     a1 += -0x7578;
    0x00036b74 move a0, s0                   |     a0 = s0;
    0x00036b78 jalr t9                       |     t9 ();
    0x00036b7c lw gp, 0x20(sp)               |     gp = *(var_20h);
                                             |     if (v0 == 0) {
    0x00036b80 beqz v0, 0x36bf0              |         goto label_37;
                                             |     }
    0x00036b84 lb v1, 0xe(s0)                |     v1 = *((s0 + 14));
    0x00036b88 addiu a0, s0, 0xe             |     a0 = s0 + 0xe;
                                             |     if (v1 == 0) {
    0x00036b8c beqz v1, 0x36bdc              |         goto label_38;
                                             |     }
    0x00036b90 addiu v0, v1, -0x30           |     v0 = v1 + -0x30;
    0x00036b94 andi v0, v0, 0xff             |     v0 &= 0xff;
    0x00036b98 sltiu v0, v0, 0xa             |     v0 = (v0 < 0xa) ? 1 : 0;
    0x00036b9c addiu v0, zero, 0x2a          |     v0 = 0x2a;
                                             |     if (v0 != 0) {
    0x00036ba0 bnez v0, 0x3713c              |         goto label_39;
                                             |     }
    0x00036ba4 move v0, zero                 |     v0 = 0;
                                             |     if (v1 == v0) {
    0x00036ba8 beq v1, v0, 0x36be0           |         goto label_40;
                                             |     }
    0x00036bac addiu a1, zero, 0x2a          |     a1 = 0x2a;
    0x00036bb0 b 0x36bcc                     |     
                                             |     while (v1 == 0) {
    0x00036bb4 andi v0, v0, 0xff             |         v0 &= 0xff;
    0x00036bb8 sltiu v0, v0, 0xa             |         v0 = (v0 < 0xa) ? 1 : 0;
    0x00036bbc lw t9, -0x7f40(gp)            |         t9 = *((gp - 8144));
                                             |         if (v0 != 0) {
    0x00036bc0 bnez v0, 0x37140              |             goto label_41;
                                             |         }
    0x00036bc4 move v0, zero                 |         v0 = 0;
                                             |         if (v1 == a1) {
    0x00036bc8 beq v1, a1, 0x36be0           |             goto label_40;
                                             |         }
    0x00036bcc addiu a0, a0, 1               |         a0++;
    0x00036bd0 lb v1, (a0)                   |         v1 = *(a0);
    0x00036bd4 addiu v0, v1, -0x30           |         v0 = v1 + -0x30;
    0x00036bd8 bnel v1, zero, 0x36bb4        |         
                                             |     }
                                             | label_38:
    0x00036bdc move v0, zero                 |     v0 = 0;
                                             | label_40:
    0x00036be0 move v1, zero                 |     v1 = 0;
    0x00036be4 sw v0, 0xa88(s1)              |     *(s1) = v0;
    0x00036be8 sw v1, 0xa8c(s1)              |     *((s1 + 675)) = v1;
    0x00036bec b 0x36a40                     |     goto label_1;
                                             | label_37:
    0x00036bf0 lw v0, 0x680(s1)              |     v0 = *((s1 + 416));
                                             |     if (v0 == 0) {
    0x00036bf4 beql v0, zero, 0x36c10        |         goto label_42;
                                             |     }
    0x00036bf8 lhu v0, 0x116(s1)             |     v0 = *((s1 + 139));
    0x00036bfc lw v0, 0xb98(s1)              |     v0 = *((s1 + 742));
    0x00036c00 andi v0, v0, 0x2000           |     v0 &= 0x2000;
    0x00036c04 lw a1, -0x7fc4(gp)            |     a1 = *((gp - 8177));
                                             |     if (v0 != 0) {
    0x00036c08 bnez v0, 0x3689c              |         goto label_5;
                                             |     }
                                             | label_27:
    0x00036c0c lhu v0, 0x116(s1)             |     v0 = *((s1 + 139));
                                             | label_42:
    0x00036c10 andi v0, v0, 0x10             |     v0 &= 0x10;
    0x00036c14 lw a1, -0x7fb8(gp)            |     a1 = *((gp - 8174));
                                             |     if (v0 != 0) {
    0x00036c18 bnez v0, 0x36c78              |         goto label_43;
                                             |     }
    0x00036c1c lw t9, -0x7744(gp)            |     t9 = *((gp - 7633));
    0x00036c20 addiu a2, zero, 0xe           |     a2 = 0xe;
    0x00036c24 addiu a1, a1, -0x7568         |     a1 += -0x7568;
    0x00036c28 move a0, s0                   |     a0 = s0;
    0x00036c2c jalr t9                       |     t9 ();
    0x00036c30 lw gp, 0x20(sp)               |     gp = *(var_20h);
                                             |     if (v0 == 0) {
    0x00036c34 beqz v0, 0x36c78              |         goto label_43;
                                             |     }
    0x00036c38 lbu v0, 0x384(s1)             |     v0 = *((s1 + 900));
    0x00036c3c lw t9, -0x7fc0(gp)            |     t9 = *((gp - 8176));
                                             |     if (v0 == 0) {
    0x00036c40 bnez v0, 0x36c54              |         
    0x00036c44 lb v0, 0x677(s1)              |         v0 = *((s1 + 1655));
    0x00036c48 lw a1, -0x7fc4(gp)            |         a1 = *((gp - 8177));
                                             |         if (v0 >= 0) {
    0x00036c4c bgez v0, 0x36c7c              |             goto label_25;
                                             |         }
    0x00036c50 lw t9, -0x7fc0(gp)            |         t9 = *((gp - 8176));
                                             |     }
    0x00036c54 addiu a0, s0, 0xe             |     a0 = s0 + 0xe;
    0x00036c58 bal 0x4c57c                   |     fcn_0004c57c ();
    0x00036c5c lb v1, 0x677(s1)              |     v1 = *((s1 + 1655));
    0x00036c60 lw gp, 0x20(sp)               |     gp = *(var_20h);
    0x00036c64 sw v0, 0xf4(s1)               |     *((s1 + 61)) = v0;
                                             |     if (v1 >= 0) {
    0x00036c68 bgez v1, 0x369c8              |         goto label_6;
                                             |     }
    0x00036c6c sw v0, 0xbb4(s1)              |     *((s1 + 749)) = v0;
    0x00036c70 move v0, zero                 |     v0 = 0;
    0x00036c74 b 0x36a40                     |     goto label_1;
                                             | label_43:
    0x00036c78 lw a1, -0x7fc4(gp)            |     a1 = *((gp - 8177));
                                             | label_25:
    0x00036c7c lw t9, -0x7744(gp)            |     t9 = *((gp - 7633));
                                             | label_26:
    0x00036c80 addiu a2, zero, 0x11          |     a2 = 0x11;
    0x00036c84 addiu a1, a1, 0x4268          |     a1 += 0x4268;
    0x00036c88 move a0, s0                   |     a0 = s0;
    0x00036c8c jalr t9                       |     t9 ();
    0x00036c90 lw gp, 0x20(sp)               |     gp = *(var_20h);
                                             |     if (v0 != 0) {
    0x00036c94 beqz v0, 0x36ca8              |         
    0x00036c98 lw v0, 0xd8(s1)               |         v0 = *((s1 + 54));
    0x00036c9c addiu v1, zero, 0x191         |         v1 = 0x191;
    0x00036ca0 lw t9, -0x7bec(gp)            |         t9 = *((gp - 7931));
                                             |         if (v0 == v1) {
    0x00036ca4 beq v0, v1, 0x36e9c           |             goto label_44;
                                             |         }
                                             |     }
    0x00036ca8 lw a1, -0x7fc4(gp)            |     a1 = *((gp - 8177));
    0x00036cac lw t9, -0x7744(gp)            |     t9 = *((gp - 7633));
    0x00036cb0 addiu a2, zero, 0x13          |     a2 = 0x13;
    0x00036cb4 addiu a1, a1, 0x427c          |     a1 += 0x427c;
    0x00036cb8 move a0, s0                   |     a0 = s0;
    0x00036cbc jalr t9                       |     t9 ();
    0x00036cc0 lw gp, 0x20(sp)               |     gp = *(var_20h);
                                             |     if (v0 != 0) {
    0x00036cc4 bnez v0, 0x36e88              |         goto label_45;
                                             |     }
    0x00036cc8 lw v0, 0xd8(s1)               |     v0 = *((s1 + 54));
    0x00036ccc addiu v0, v0, -0x12c          |     v0 += -aav.0x0000012c;
                                             | label_8:
    0x00036cd0 sltiu v0, v0, 0x64            |     v0 = (v0 < 0x64) ? 1 : 0;
    0x00036cd4 lw a1, -0x7fb8(gp)            |     a1 = *((gp - 8174));
                                             |     if (v0 != 0) {
    0x00036cd8 bnez v0, 0x370a4              |         goto label_46;
                                             |     }
                                             | label_12:
    0x00036cdc lw v0, 0x684(s1)              |     v0 = *(s1);
                                             | label_13:
    0x00036ce0 lw a1, -0x7fb8(gp)            |     a1 = *((gp - 8174));
                                             |     if (v0 != 0) {
    0x00036ce4 beqz v0, 0x36d18              |         
    0x00036ce8 lw t9, -0x7744(gp)            |         t9 = *((gp - 7633));
    0x00036cec addiu a2, zero, 0x1a          |         a2 = 0x1a;
    0x00036cf0 addiu a1, a1, -0x754c         |         a1 += -0x754c;
    0x00036cf4 move a0, s0                   |         a0 = s0;
    0x00036cf8 jalr t9                       |         t9 ();
    0x00036cfc lw gp, 0x20(sp)               |         gp = *(var_20h);
                                             |         if (v0 == 0) {
    0x00036d00 beqz v0, 0x36d18              |             goto label_47;
                                             |         }
    0x00036d04 lw v0, 0x1a4(s3)              |         v0 = *(s3);
    0x00036d08 lw v0, 0x4c(v0)               |         v0 = *((v0 + 19));
    0x00036d0c andi v0, v0, 1                |         v0 &= 1;
    0x00036d10 lw t9, -0x7ab4(gp)            |         t9 = *((gp - 7853));
                                             |         if (v0 != 0) {
    0x00036d14 bnez v0, 0x371b0              |             goto label_48;
                                             |         }
                                             |     }
                                             | label_47:
    0x00036d18 lw v0, 0x688(s1)              |     v0 = *((s1 + 418));
    0x00036d1c lw a1, -0x7fb8(gp)            |     a1 = *((gp - 8174));
                                             |     if (v0 == 0) {
    0x00036d20 beqz v0, 0x37004              |         goto label_49;
                                             |     }
    0x00036d24 lw t9, -0x7744(gp)            |     t9 = *((gp - 7633));
    0x00036d28 addiu a2, zero, 8             |     a2 = 8;
    0x00036d2c addiu a1, a1, -0x7514         |     a1 += -0x7514;
    0x00036d30 move a0, s0                   |     a0 = s0;
    0x00036d34 jalr t9                       |     t9 ();
    0x00036d38 lw gp, 0x20(sp)               |     gp = *(var_20h);
                                             |     if (v0 == 0) {
    0x00036d3c beqz v0, 0x37004              |         goto label_49;
                                             |     }
    0x00036d40 lw v0, 0x1a4(s3)              |     v0 = *(s3);
    0x00036d44 lw v1, 0x4c(v0)               |     v1 = *((v0 + 19));
    0x00036d48 andi v1, v1, 1                |     v1 &= 1;
                                             |     if (v1 == 0) {
    0x00036d4c beql v1, zero, 0x3700c        |         goto label_50;
                                             |     }
    0x00036d50 lw v0, 0x44(v0)               |     v0 = *((v0 + 17));
    0x00036d54 lbu v0, 0x2e5(s3)             |     v0 = *((s3 + 741));
    0x00036d58 addiu v1, zero, 0x1e          |     v1 = 0x1e;
    0x00036d5c addiu v1, zero, 0x10          |     v1 = 0x10;
                                             |     if (v0 == v1) {
    0x00036d60 beq v0, v1, 0x371e8           |         goto label_51;
                                             |     }
    0x00036d64 xori v0, v0, 0x14             |     v0 ^= 0x14;
    0x00036d68 addiu s4, zero, 8             |     s4 = 8;
                                             |     if (v0 != 0) {
    0x00036d6c movz s4, v1, v0               |         s4 = v1;
                                             |     }
                                             | label_16:
    0x00036d70 lw t9, -0x7ab0(gp)            |     t9 = *((gp - 7852));
    0x00036d74 lw a0, 0x2d0(s3)              |     a0 = *(s3);
    0x00036d78 lw s5, 0x688(s1)              |     s5 = *((s1 + 418));
    0x00036d7c lw s3, 0x4c(s3)               |     s3 = *((s3 + 19));
    0x00036d80 jalr t9                       |     t9 ();
    0x00036d84 lw gp, 0x20(sp)               |     gp = *(var_20h);
    0x00036d88 sw v0, 0x14(sp)               |     *(var_14h) = v0;
    0x00036d8c sw s3, 0x10(sp)               |     *(var_10h_2) = s3;
    0x00036d90 lw t9, -0x7aac(gp)            |     t9 = *((gp - 7851));
    0x00036d94 move a3, s4                   |     a3 = s4;
    0x00036d98 addiu a2, s0, 8               |     a2 = s0 + 8;
    0x00036d9c move a1, s5                   |     a1 = s5;
    0x00036da0 move a0, s1                   |     a0 = s1;
    0x00036da4 jalr t9                       |     t9 ();
    0x00036da8 lw gp, 0x20(sp)               |     gp = *(var_20h);
    0x00036dac b 0x36a40                     |     goto label_1;
                                             | label_21:
    0x00036db0 lw t9, -0x7f10(gp)            |     t9 = *((gp - 8132));
    0x00036db4 addiu a1, zero, 2             |     a1 = 2;
    0x00036db8 move a0, s3                   |     a0 = s3;
    0x00036dbc jalr t9                       |     t9 ();
    0x00036dc0 lw gp, 0x20(sp)               |     gp = *(var_20h);
    0x00036dc4 move v0, zero                 |     v0 = 0;
    0x00036dc8 b 0x36a40                     |     goto label_1;
                                             | label_22:
    0x00036dcc lw t9, -0x7744(gp)            |     t9 = *((gp - 7633));
    0x00036dd0 addiu a2, zero, 0x12          |     a2 = 0x12;
    0x00036dd4 addiu a1, a1, 0x42e8          |     a1 += 0x42e8;
    0x00036dd8 move a0, s0                   |     a0 = s0;
    0x00036ddc jalr t9                       |     t9 ();
    0x00036de0 lw gp, 0x20(sp)               |     gp = *(var_20h);
                                             |     if (v0 != 0) {
    0x00036de4 bnez v0, 0x37038              |         goto label_52;
                                             |     }
    0x00036de8 lhu v0, 0x116(s1)             |     v0 = *((s1 + 139));
    0x00036dec andi v0, v0, 0x10             |     v0 &= 0x10;
    0x00036df0 lw a1, -0x7fb8(gp)            |     a1 = *((gp - 8174));
                                             |     if (v0 != 0) {
    0x00036df4 bnez v0, 0x3684c              |         goto label_7;
                                             |     }
    0x00036df8 lw t9, -0x7744(gp)            |     t9 = *((gp - 7633));
    0x00036dfc addiu a2, zero, 0x11          |     a2 = 0x11;
    0x00036e00 addiu a1, a1, -0x759c         |     a1 += -0x759c;
    0x00036e04 move a0, s0                   |     a0 = s0;
    0x00036e08 jalr t9                       |     t9 ();
    0x00036e0c lw gp, 0x20(sp)               |     gp = *(var_20h);
                                             |     if (v0 == 0) {
    0x00036e10 beqz v0, 0x3684c              |         goto label_7;
                                             |     }
    0x00036e14 lw v0, 0x4d4(s1)              |     v0 = *((s1 + 309));
    0x00036e18 lw t9, -0x7aa8(gp)            |     t9 = *((gp - 7850));
                                             |     if (v0 == 0) {
    0x00036e1c beqz v0, 0x3684c              |         goto label_7;
                                             |     }
    0x00036e20 move a2, zero                 |     a2 = 0;
    0x00036e24 addiu a1, s0, 0x11            |     a1 = s0 + 0x11;
    0x00036e28 move a0, s1                   |     a0 = s1;
    0x00036e2c jalr t9                       |     t9 ();
    0x00036e30 lw gp, 0x20(sp)               |     gp = *(var_20h);
    0x00036e34 b 0x36a40                     |     goto label_1;
                                             | label_23:
    0x00036e38 lw t9, -0x7f40(gp)            |     t9 = *((gp - 8144));
    0x00036e3c move v1, zero                 |     v1 = 0;
    0x00036e40 move v0, zero                 |     v0 = 0;
    0x00036e44 addiu s0, s0, 0xc             |     s0 += 0xc;
    0x00036e48 move a0, s0                   |     a0 = s0;
    0x00036e4c sw v1, 0x34(sp)               |     *(var_34h) = v1;
    0x00036e50 addiu a3, sp, 0x30            |     a3 = sp + 0x30;
    0x00036e54 addiu a2, zero, 0xa           |     a2 = 0xa;
    0x00036e58 move a1, zero                 |     a1 = 0;
    0x00036e5c sw v0, 0x30(sp)               |     *(var_30h) = v0;
    0x00036e60 jalr t9                       |     t9 ();
    0x00036e64 lw v0, 0x30(sp)               |     v0 = *(var_30h);
    0x00036e68 lw v1, 0x34(sp)               |     v1 = *(var_34h);
    0x00036e6c or a0, v0, v1                 |     a0 = v0 | v1;
    0x00036e70 lw gp, 0x20(sp)               |     gp = *(var_20h);
                                             |     if (a0 == 0) {
    0x00036e74 beqz a0, 0x36f18              |         goto label_53;
                                             |     }
    0x00036e78 sw v0, 0xbe0(s1)              |     *((s1 + 760)) = v0;
    0x00036e7c sw v1, 0xbe4(s1)              |     *((s1 + 761)) = v1;
                                             | label_9:
    0x00036e80 move v0, zero                 |     v0 = 0;
    0x00036e84 b 0x36a40                     |     goto label_1;
                                             | label_45:
    0x00036e88 lw v0, 0xd8(s1)               |     v0 = *((s1 + 54));
    0x00036e8c addiu v1, zero, 0x197         |     v1 = 0x197;
    0x00036e90 addiu v0, v0, -0x12c          |     v0 += -aav.0x0000012c;
                                             |     if (v0 == v1) {
    0x00036e94 bnel v0, v1, 0x36cd0          |         goto label_8;
                                             |     }
    0x00036e98 lw t9, -0x7bec(gp)            |     t9 = *((gp - 7931));
                                             | label_44:
    0x00036e9c xori v0, v0, 0x197            |     v0 ^= 0x197;
    0x00036ea0 move a0, s0                   |     a0 = s0;
    0x00036ea4 addiu t9, t9, 0x1a48          |     t9 += 0x1a48;
    0x00036ea8 sltiu s0, v0, 1               |     s0 = (v0 < 1) ? 1 : 0;
    0x00036eac bal 0x31a48                   |     fcn_00031a48 ();
    0x00036eb0 move s3, v0                   |     s3 = v0;
    0x00036eb4 lw gp, 0x20(sp)               |     gp = *(var_20h);
                                             |     if (v0 == 0) {
    0x00036eb8 beqz v0, 0x37030              |         goto label_14;
                                             |     }
    0x00036ebc lw t9, -0x7f0c(gp)            |     t9 = *((gp - 8131));
    0x00036ec0 move a0, s1                   |     a0 = s1;
    0x00036ec4 move a2, v0                   |     a2 = v0;
    0x00036ec8 move a1, s0                   |     a1 = s0;
    0x00036ecc bal 0x3286c                   |     fcn_0003286c ();
    0x00036ed0 lw gp, 0x20(sp)               |     gp = *(var_20h);
    0x00036ed4 move a0, s3                   |     a0 = s3;
                                             | label_15:
    0x00036ed8 lw v1, -0x7fcc(gp)            |     v1 = *((gp - 8179));
    0x00036edc sw v0, 0x2c(sp)               |     *(var_2ch) = v0;
    0x00036ee0 lw t9, (v1)                   |     t9 = *(v1);
    0x00036ee4 jalr t9                       |     t9 ();
    0x00036ee8 nop                           |     
    0x00036eec lw gp, 0x20(sp)               |     gp = *(var_20h);
    0x00036ef0 lw v0, 0x2c(sp)               |     v0 = *(var_2ch);
    0x00036ef4 b 0x36a40                     |     goto label_1;
                                             | label_29:
    0x00036ef8 lw v0, 0x30(sp)               |     v0 = *(var_30h);
    0x00036efc lw v1, 0x34(sp)               |     v1 = *(var_34h);
    0x00036f00 sw v0, 0x80(s1)               |     *((s1 + 32)) = v0;
    0x00036f04 sw v0, 0x88(s1)               |     *((s1 + 34)) = v0;
    0x00036f08 sw v1, 0x84(s1)               |     *((s1 + 33)) = v1;
    0x00036f0c sw v1, 0x8c(s1)               |     *((s1 + 35)) = v1;
    0x00036f10 move v0, zero                 |     v0 = 0;
    0x00036f14 b 0x36a40                     |     goto label_1;
                                             | label_53:
    0x00036f18 lw t9, -0x7fc0(gp)            |     t9 = *((gp - 8176));
    0x00036f1c move a0, s0                   |     a0 = s0;
    0x00036f20 bal 0x4c57c                   |     fcn_0004c57c ();
    0x00036f24 move s0, v0                   |     s0 = v0;
    0x00036f28 addiu v0, zero, -1            |     v0 = -1;
    0x00036f2c lw gp, 0x20(sp)               |     gp = *(var_20h);
                                             |     if (s0 != v0) {
    0x00036f30 bne s0, v0, 0x370fc           |         goto label_54;
                                             |     }
    0x00036f34 lw v0, 0x30(sp)               |     v0 = *(var_30h);
    0x00036f38 lw v1, 0x34(sp)               |     v1 = *(var_34h);
    0x00036f3c sw v0, 0xbe0(s1)              |     *((s1 + 760)) = v0;
    0x00036f40 sw v1, 0xbe4(s1)              |     *((s1 + 761)) = v1;
    0x00036f44 b 0x36e80                     |     goto label_9;
                                             | label_36:
    0x00036f48 lw t9, -0x7f10(gp)            |     t9 = *((gp - 8132));
    0x00036f4c move a1, zero                 |     a1 = 0;
    0x00036f50 move a0, s3                   |     a0 = s3;
    0x00036f54 jalr t9                       |     t9 ();
    0x00036f58 lw gp, 0x20(sp)               |     gp = *(var_20h);
    0x00036f5c move a0, s1                   |     a0 = s1;
    0x00036f60 lw a1, -0x7fb8(gp)            |     a1 = *((gp - 8174));
    0x00036f64 lw t9, -0x7f9c(gp)            |     t9 = *((gp - 8167));
    0x00036f68 addiu a1, a1, -0x7614         |     a1 += -0x7614;
    0x00036f6c bal 0x1a358                   |     fcn_0001a358 ();
    0x00036f70 lw gp, 0x20(sp)               |     gp = *(var_20h);
    0x00036f74 move v0, zero                 |     v0 = 0;
    0x00036f78 b 0x36a40                     |     goto label_1;
                                             | label_34:
    0x00036f7c lw t9, -0x7f10(gp)            |     t9 = *((gp - 8132));
    0x00036f80 addiu a1, zero, 1             |     a1 = 1;
    0x00036f84 move a0, s3                   |     a0 = s3;
    0x00036f88 jalr t9                       |     t9 ();
    0x00036f8c lw gp, 0x20(sp)               |     gp = *(var_20h);
    0x00036f90 move a0, s1                   |     a0 = s1;
    0x00036f94 lw a1, -0x7fb8(gp)            |     a1 = *((gp - 8174));
    0x00036f98 lw t9, -0x7f9c(gp)            |     t9 = *((gp - 8167));
    0x00036f9c addiu a1, a1, -0x75e8         |     a1 += -0x75e8;
    0x00036fa0 bal 0x1a358                   |     fcn_0001a358 ();
    0x00036fa4 lw gp, 0x20(sp)               |     gp = *(var_20h);
    0x00036fa8 move v0, zero                 |     v0 = 0;
    0x00036fac b 0x36a40                     |     goto label_1;
                                             | label_28:
    0x00036fb0 lw t9, -0x714c(gp)            |     t9 = *((gp - 7251));
    0x00036fb4 move a1, s4                   |     a1 = s4;
    0x00036fb8 addiu a0, a0, 0x4bac          |     a0 += 0x4bac;
    0x00036fbc jalr t9                       |     t9 ();
    0x00036fc0 lw gp, 0x20(sp)               |     gp = *(var_20h);
                                             |     if (v0 != 0) {
    0x00036fc4 bnez v0, 0x368d8              |         goto label_10;
                                             |     }
    0x00036fc8 lw a1, -0x7fc4(gp)            |     a1 = *((gp - 8177));
    0x00036fcc lw t9, -0x771c(gp)            |     t9 = *((gp - 7623));
    0x00036fd0 addiu a1, a1, 0x7f8c          |     a1 += 0x7f8c;
    0x00036fd4 move a0, s4                   |     a0 = s4;
    0x00036fd8 jalr t9                       |     t9 ();
    0x00036fdc lw gp, 0x20(sp)               |     gp = *(var_20h);
                                             |     if (v0 == 0) {
    0x00036fe0 beqz v0, 0x368d8              |         goto label_10;
                                             |     }
    0x00036fe4 lw a1, -0x7fc4(gp)            |     a1 = *((gp - 8177));
    0x00036fe8 lw t9, -0x771c(gp)            |     t9 = *((gp - 7623));
    0x00036fec addiu a1, a1, 0x7fa4          |     a1 += 0x7fa4;
    0x00036ff0 move a0, s4                   |     a0 = s4;
    0x00036ff4 jalr t9                       |     t9 ();
    0x00036ff8 sltiu s3, v0, 1               |     s3 = (v0 < 1) ? 1 : 0;
    0x00036ffc lw gp, 0x20(sp)               |     gp = *(var_20h);
    0x00037000 b 0x368dc                     |     goto label_11;
                                             | label_49:
    0x00037004 lw v0, 0x1a4(s3)              |     v0 = *(s3);
    0x00037008 lw v0, 0x44(v0)               |     v0 = *((v0 + 17));
                                             | label_50:
    0x0003700c ext v0, v0, 0x12, 1           |     __asm ("ext v0, v0, 0x12, 1");
                                             |     if (v0 == 0) {
    0x00037010 beql v0, zero, 0x36a40        |         goto label_1;
                                             |     }
    0x00037014 move v0, zero                 |     v0 = 0;
    0x00037018 lw t9, -0x7aa4(gp)            |     t9 = *((gp - 7849));
    0x0003701c move a1, s0                   |     a1 = s0;
    0x00037020 move a0, s1                   |     a0 = s1;
    0x00037024 bal 0x51fb0                   |     fcn_00051fb0 ();
    0x00037028 lw gp, 0x20(sp)               |     gp = *(var_20h);
    0x0003702c b 0x36a40                     |     goto label_1;
                                             | label_14:
    0x00037030 addiu v0, zero, 0x1b          |     v0 = 0x1b;
    0x00037034 b 0x36a40                     |     goto label_1;
                                             | label_52:
    0x00037038 lw t9, -0x7aa8(gp)            |     t9 = *((gp - 7850));
    0x0003703c addiu a2, zero, 1             |     a2 = 1;
    0x00037040 addiu a1, s0, 0x12            |     a1 = s0 + 0x12;
    0x00037044 move a0, s1                   |     a0 = s1;
    0x00037048 jalr t9                       |     t9 ();
    0x0003704c lw gp, 0x20(sp)               |     gp = *(var_20h);
                                             |     if (v0 != 0) {
    0x00037050 bnez v0, 0x36a40              |         goto label_1;
                                             |     }
    0x00037054 lhu v1, 0x116(s1)             |     v1 = *((s1 + 139));
    0x00037058 andi v1, v1, 0x20             |     v1 &= 0x20;
    0x0003705c move v0, zero                 |     v0 = 0;
                                             |     if (v1 == 0) {
    0x00037060 bnel v1, zero, 0x36a40        |         goto label_1;
                                             |     }
    0x00037064 lw v1, 0x678(s1)              |     v1 = *(s1);
    0x00037068 andi v1, v1, 0x4000           |     v1 &= 0x4000;
                                             |     if (v1 == 0) {
    0x0003706c beql v1, zero, 0x36a40        |         goto label_1;
                                             |     }
    0x00037070 move v0, zero                 |     v0 = 0;
    0x00037074 lw t9, -0x7f10(gp)            |     t9 = *((gp - 8132));
    0x00037078 sw v0, 0x2c(sp)               |     *(var_2ch) = v0;
    0x0003707c move a0, s3                   |     a0 = s3;
    0x00037080 addiu a1, zero, 1             |     a1 = 1;
    0x00037084 jalr t9                       |     t9 ();
    0x00037088 lhu v1, 0x116(s1)             |     v1 = *((s1 + 139));
    0x0003708c addiu a0, zero, 1             |     a0 = 1;
    0x00037090 ins v1, a0, 6, 1              |     __asm ("ins v1, a0, 6, 1");
    0x00037094 lw gp, 0x20(sp)               |     gp = *(var_20h);
    0x00037098 sh v1, 0x116(s1)              |     *((s1 + 139)) = v1;
    0x0003709c lw v0, 0x2c(sp)               |     v0 = *(var_2ch);
    0x000370a0 b 0x36a40                     |     goto label_1;
                                             | label_46:
    0x000370a4 lw t9, -0x7744(gp)            |     t9 = *((gp - 7633));
    0x000370a8 addiu a2, zero, 9             |     a2 = 9;
    0x000370ac addiu a1, a1, -0x7558         |     a1 += -0x7558;
    0x000370b0 move a0, s0                   |     a0 = s0;
    0x000370b4 jalr t9                       |     t9 ();
    0x000370b8 lw gp, 0x20(sp)               |     gp = *(var_20h);
                                             |     if (v0 == 0) {
    0x000370bc beqz v0, 0x36cdc              |         goto label_12;
                                             |     }
    0x000370c0 lw v0, 0xfc(s1)               |     v0 = *((s1 + 63));
    0x000370c4 lw v0, 0x684(s1)              |     v0 = *(s1);
                                             |     if (v0 == 0) {
    0x000370c8 bnel v0, zero, 0x36ce0        |         goto label_13;
                                             |     }
    0x000370cc lw t9, -0x7bec(gp)            |     t9 = *((gp - 7931));
    0x000370d0 addiu t9, t9, 0x1a48          |     t9 += 0x1a48;
    0x000370d4 move a0, s0                   |     a0 = s0;
    0x000370d8 bal 0x31a48                   |     fcn_00031a48 ();
    0x000370dc lw gp, 0x20(sp)               |     gp = *(var_20h);
                                             |     if (v0 == 0) {
    0x000370e0 beqz v0, 0x37030              |         goto label_14;
                                             |     }
    0x000370e4 lb v1, (v0)                   |     v1 = *(v0);
    0x000370e8 lw v1, 0x678(s1)              |     v1 = *(s1);
                                             |     if (v1 == 0) {
    0x000370ec bnel v1, zero, 0x371f0        |         goto label_55;
                                             |     }
    0x000370f0 move a0, v0                   |     a0 = v0;
    0x000370f4 move v0, zero                 |     v0 = 0;
    0x000370f8 b 0x36ed8                     |     goto label_15;
                                             | label_54:
    0x000370fc lw t9, -0x751c(gp)            |     t9 = *((gp - 7495));
    0x00037100 move a0, zero                 |     a0 = 0;
    0x00037104 jalr t9                       |     t9 ();
    0x00037108 subu v0, s0, v0               |     __asm ("subu v0, s0, v0");
    0x0003710c sra v1, v0, 0x1f              |     v1 = v0 >> 0x1f;
    0x00037110 lw gp, 0x20(sp)               |     gp = *(var_20h);
    0x00037114 sw v0, 0xbe0(s1)              |     *((s1 + 760)) = v0;
    0x00037118 sw v1, 0xbe4(s1)              |     *((s1 + 761)) = v1;
    0x0003711c b 0x36e80                     |     goto label_9;
                                             | label_30:
    0x00037120 lw t9, -0x7f24(gp)            |     t9 = *((gp - 8137));
    0x00037124 addiu a1, a1, -0x7640         |     a1 += -0x7640;
    0x00037128 move a0, s1                   |     a0 = s1;
    0x0003712c bal 0x1a234                   |     fcn_0001a234 ();
    0x00037130 lw gp, 0x20(sp)               |     gp = *(var_20h);
    0x00037134 addiu v0, zero, 8             |     v0 = 8;
    0x00037138 b 0x36a40                     |     goto label_1;
                                             | label_39:
    0x0003713c lw t9, -0x7f40(gp)            |     t9 = *((gp - 8144));
                                             | label_41:
    0x00037140 addiu a3, s1, 0xd0            |     a3 = s1 + 0xd0;
    0x00037144 addiu a2, zero, 0xa           |     a2 = 0xa;
    0x00037148 move a1, zero                 |     a1 = 0;
    0x0003714c jalr t9                       |     t9 ();
    0x00037150 lw gp, 0x20(sp)               |     gp = *(var_20h);
                                             |     if (v0 != 0) {
    0x00037154 bnez v0, 0x369c8              |         goto label_6;
                                             |     }
    0x00037158 lw v1, 0xa88(s1)              |     v1 = *(s1);
    0x0003715c lw v0, 0xd0(s1)               |     v0 = *((s1 + 52));
    0x00037160 move v0, zero                 |     v0 = 0;
                                             |     if (v1 != v0) {
    0x00037164 bne v1, v0, 0x36a40           |         goto label_1;
                                             |     }
    0x00037168 lw v1, 0xa8c(s1)              |     v1 = *((s1 + 675));
    0x0003716c lw v0, 0xd4(s1)               |     v0 = *((s1 + 53));
    0x00037170 move v0, zero                 |     v0 = 0;
                                             |     if (v1 == v0) {
    0x00037174 bnel v1, v0, 0x36a40          |         goto label_1;
                                             |     }
    0x00037178 lhu v0, 0x116(s1)             |     v0 = *((s1 + 139));
    0x0003717c addiu v1, zero, 1             |     v1 = 1;
    0x00037180 ins v0, v1, 1, 1              |     __asm ("ins v0, v1, 1, 1");
    0x00037184 sh v0, 0x116(s1)              |     *((s1 + 139)) = v0;
    0x00037188 move v0, zero                 |     v0 = 0;
    0x0003718c b 0x36a40                     |     goto label_1;
                                             | label_31:
    0x00037190 lw a1, -0x7fc4(gp)            |     a1 = *((gp - 8177));
    0x00037194 lw t9, -0x7f24(gp)            |     t9 = *((gp - 8137));
    0x00037198 addiu a1, a1, 0x6a14          |     a1 += 0x6a14;
    0x0003719c move a0, s1                   |     a0 = s1;
    0x000371a0 bal 0x1a234                   |     fcn_0001a234 ();
    0x000371a4 lw gp, 0x20(sp)               |     gp = *(var_20h);
    0x000371a8 addiu v0, zero, 0x3f          |     v0 = 0x3f;
    0x000371ac b 0x36a40                     |     goto label_1;
                                             | label_48:
    0x000371b0 lw a1, 0x4c(s3)               |     a1 = *((s3 + 19));
    0x000371b4 lw a0, 0x684(s1)              |     a0 = *(s1);
    0x000371b8 addiu a2, s0, 0x1a            |     a2 = s0 + 0x1a;
    0x000371bc bal 0x3025c                   |     fcn_0003025c ();
    0x000371c0 lw gp, 0x20(sp)               |     gp = *(var_20h);
                                             |     if (v0 == 0) {
    0x000371c4 beqz v0, 0x369c8              |         goto label_6;
                                             |     }
    0x000371c8 lw a1, -0x7fb8(gp)            |     a1 = *((gp - 8174));
    0x000371cc lw t9, -0x7f9c(gp)            |     t9 = *((gp - 8167));
    0x000371d0 addiu a1, a1, -0x7530         |     a1 += -0x7530;
    0x000371d4 move a0, s1                   |     a0 = s1;
    0x000371d8 bal 0x1a358                   |     fcn_0001a358 ();
    0x000371dc lw gp, 0x20(sp)               |     gp = *(var_20h);
    0x000371e0 move v0, zero                 |     v0 = 0;
    0x000371e4 b 0x36a40                     |     goto label_1;
                                             | label_51:
    0x000371e8 addiu s4, zero, 0x20          |     s4 = 0x20;
    0x000371ec b 0x36d70                     |     goto label_16;
                                             | label_55:
    0x000371f0 andi v1, v1, 0x2000           |     v1 &= 0x2000;
    0x000371f4 sw v0, 0xfc(s1)               |     *((s1 + 63)) = v0;
                                             |     if (v1 == 0) {
    0x000371f8 beqz v1, 0x369c8              |         goto label_6;
                                             |     }
    0x000371fc move a0, v0                   |     a0 = v0;
    0x00037200 lw v0, -0x7fd4(gp)            |     v0 = *((gp - 8181));
    0x00037204 lw t9, (v0)                   |     t9 = *(v0);
    0x00037208 jalr t9                       |     t9 ();
    0x0003720c nop                           |     
    0x00037210 lw gp, 0x20(sp)               |     gp = *(var_20h);
    0x00037214 sw v0, 0x100(s1)              |     *(s1) = v0;
                                             |     if (v0 == 0) {
    0x00037218 beqz v0, 0x37030              |         goto label_14;
                                             |     }
    0x0003721c lw t9, -0x7bec(gp)            |     t9 = *((gp - 7931));
    0x00037220 move a1, s3                   |     a1 = s3;
    0x00037224 addiu t9, t9, 0x12dc          |     t9 += 0x12dc;
    0x00037228 move a0, s1                   |     a0 = s1;
    0x0003722c bal 0x312dc                   |     fcn_000312dc ();
    0x00037230 lw gp, 0x20(sp)               |     gp = *(var_20h);
                                             |     if (v0 != 0) {
    0x00037234 bnez v0, 0x36a40              |         goto label_1;
                                             |     }
    0x00037238 lw v1, 0xb98(s1)              |     v1 = *((s1 + 742));
    0x0003723c addiu a0, zero, 1             |     a0 = 1;
    0x00037240 ins v1, a0, 1, 1              |     __asm ("ins v1, a0, 1, 1");
    0x00037244 sw v1, 0xb98(s1)              |     *((s1 + 742)) = v1;
    0x00037248 b 0x36a40                     |     goto label_1;
                                             | label_33:
    0x0003724c lw t9, -0x7558(gp)            |     t9 = *((gp - 7510));
    0x00037250 jalr t9                       |     t9 ();
    0x00037254 nop                           |     
                                             | }

[*] Function strcat used 1 times libcurl.so.4.8.0