[*] Binary protection state of libuClibc-0.9.33.2.so

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


[*] Function fprintf tear down of libuClibc-0.9.33.2.so

    ; assembly                               | /* r2dec pseudo code output */
                                             | /* /logs/firmware/unblob_extracted/firmware_extract/2097216-5451840.squashfs_v4_le_extract/lib/libuClibc-0.9.33.2.so @ 0x299cc */
                                             | #include <stdint.h>
                                             |  
    ; (fcn) fcn.000299cc ()                  | void fcn_000299cc () {
                                             | label_2:
    0x000299cc lui gp, 9                     |     
    0x000299d0 addiu gp, gp, 0x7d14          |     
    0x000299d4 addu gp, gp, t9               |     gp += t9;
    0x000299d8 addiu sp, sp, -0xb8           |     
    0x000299dc sw s7, 0xac(sp)               |     *(var_ach) = s7;
    0x000299e0 lw s7, 0xc8(sp)               |     s7 = *(arg_c8h);
    0x000299e4 sw s2, 0x98(sp)               |     *(var_98h) = s2;
    0x000299e8 sw fp, 0xb0(sp)               |     *(var_b0h) = fp;
    0x000299ec lw s2, (s7)                   |     s2 = *(s7);
    0x000299f0 sw s4, 0xa0(sp)               |     *(var_a0h) = s4;
    0x000299f4 sw gp, 0x28(sp)               |     *(var_28h) = gp;
    0x000299f8 addiu t1, s2, 1               |     t1 = s2 + 1;
    0x000299fc sw ra, 0xb4(sp)               |     *(var_b4h) = ra;
    0x00029a00 sw s6, 0xa8(sp)               |     *(var_a8h) = s6;
    0x00029a04 sw s5, 0xa4(sp)               |     *(var_a4h) = s5;
    0x00029a08 sw s3, 0x9c(sp)               |     *(var_9ch) = s3;
    0x00029a0c sw s1, 0x94(sp)               |     *(var_94h) = s1;
    0x00029a10 sw s0, 0x90(sp)               |     *(var_90h) = s0;
    0x00029a14 addu fp, a3, t1               |     fp = a3 + t1;
    0x00029a18 lbu v0, (fp)                  |     v0 = *(fp);
    0x00029a1c addiu t2, zero, 0x27          |     t2 = 0x27;
    0x00029a20 move s4, a0                   |     s4 = a0;
    0x00029a24 sw a1, 0xbc(sp)               |     *(arg_bch) = a1;
    0x00029a28 sw a2, 0xc0(sp)               |     *(arg_c0h) = a2;
                                             |     if (v0 == t2) {
    0x00029a2c beq v0, t2, 0x2a20c           |         goto label_10;
                                             |     }
    0x00029a30 sltiu t2, v0, 0x28            |     t2 = (v0 < 0x28) ? 1 : 0;
    0x00029a34 move s6, a3                   |     s6 = a3;
                                             |     if (t2 != 0) {
    0x00029a38 beqz t2, 0x29a58              |         
    0x00029a3c lw t9, -0x7fb4(gp)            |         t9 = *((gp - 8173));
                                             |         if (v0 == 0) {
    0x00029a40 beqz v0, 0x2a210              |             goto label_11;
                                             |         }
    0x00029a44 addiu a0, zero, 0x22          |         a0 = 0x22;
    0x00029a48 sw t1, (s7)                   |         *(s7) = t1;
                                             |         if (v0 == a0) {
    0x00029a4c bnel v0, a0, 0x29cb0          |             goto label_12;
                                             |         }
    0x00029a50 lw a0, (s4)                   |         a0 = *(s4);
    0x00029a54 b 0x2a214                     |         goto label_13;
                                             |     }
    0x00029a58 addiu t2, zero, 0x28          |     t2 = 0x28;
    0x00029a5c addiu t2, zero, 0x5b          |     t2 = 0x5b;
                                             |     if (v0 != t2) {
    0x00029a60 beq v0, t2, 0x29a74           |         
    0x00029a64 sw t1, (s7)                   |         *(s7) = t1;
                                             |         if (v0 == t2) {
    0x00029a68 bnel v0, t2, 0x29cb0          |             goto label_12;
                                             |         }
    0x00029a6c lw v1, 0xcc(sp)               |         v1 = *(arg_cch);
    0x00029a70 b 0x29c80                     |         goto label_14;
                                             |     }
    0x00029a74 addiu t1, s2, 2               |     t1 = s2 + 2;
    0x00029a78 addu a0, a3, t1               |     a0 = a3 + t1;
    0x00029a7c lbu a0, (a0)                  |     a0 = *(a0);
    0x00029a80 lw t9, 0xcc(sp)               |     t9 = *(arg_cch);
                                             |     if (a0 != v0) {
    0x00029a84 bne a0, v0, 0x29b08           |         goto label_7;
                                             |     }
    0x00029a88 addiu s2, s2, 3               |     s2 += 3;
    0x00029a8c move a1, s2                   |     a1 = s2;
    0x00029a90 move v0, zero                 |     v0 = 0;
    0x00029a94 addiu a2, zero, 0x29          |     a2 = 0x29;
    0x00029a98 addiu t2, zero, 0x28          |     t2 = 0x28;
    0x00029a9c b 0x29abc                     |     
                                             |     while (v0 != 0) {
                                             | label_0:
    0x00029aa0 xori a0, a0, 0x29             |         a0 ^= 0x29;
                                             |         if (a0 == t2) {
    0x00029aa4 bne a0, t2, 0x29ab0           |             
    0x00029aa8 addiu v0, v0, 1               |             v0++;
    0x00029aac b 0x29ab8                     |             
                                             |         } else {
    0x00029ab0 sltiu a0, a0, 1               |             a0 = (a0 < 1) ? 1 : 0;
    0x00029ab4 subu v0, v0, a0               |             __asm ("subu v0, v0, a0");
                                             |         }
    0x00029ab8 addiu a1, a1, 1               |         a1++;
    0x00029abc addu a3, s6, a1               |         a3 = s6 + a1;
    0x00029ac0 lbu a0, (a3)                  |         a0 = *(a3);
    0x00029ac4 lw t9, 0xcc(sp)               |         t9 = *(arg_cch);
                                             |         if (a0 == 0) {
    0x00029ac8 beqz a0, 0x29b08              |             goto label_7;
                                             |         }
    0x00029acc bnez v0, 0x29aa0              |         
                                             |     }
    0x00029ad0 nop                           |     
                                             |     if (a0 != a2) {
    0x00029ad4 bne a0, a2, 0x29aa0           |         goto label_0;
                                             |     }
    0x00029ad8 nop                           |     
    0x00029adc lbu v0, 1(a3)                 |     v0 = *(var_1h_2);
    0x00029ae0 b 0x2af9c                     |     goto label_15;
                                             | label_8:
    0x00029ae4 sw s2, (s7)                   |     *(s7) = s2;
    0x00029ae8 move a0, s4                   |     a0 = s4;
    0x00029aec sw s7, 0x10(sp)               |     *(var_10h) = s7;
    0x00029af0 sw v1, 0x14(sp)               |     *(var_14h) = v1;
    0x00029af4 sw zero, 0x18(sp)             |     *(var_18h) = 0;
    0x00029af8 lw a1, 0xbc(sp)               |     a1 = *(arg_bch);
    0x00029afc lw a2, 0xc0(sp)               |     a2 = *(arg_c0h);
    0x00029b00 move a3, s6                   |     a3 = s6;
    0x00029b04 b 0x29c98                     |     goto label_16;
                                             | label_7:
    0x00029b08 andi a0, t9, 4                |     a0 = t9 & 4;
    0x00029b0c addiu fp, zero, 4             |     fp = 4;
                                             |     if (a0 != 0) {
    0x00029b10 bnez a0, 0x2afc4              |         goto label_17;
                                             |     }
    0x00029b14 lw v1, 0xd0(sp)               |     v1 = *(arg_d0h);
    0x00029b18 lw t9, 0xdc(sp)               |     t9 = *(arg_dch);
    0x00029b1c sw t1, (s7)                   |     *(s7) = t1;
    0x00029b20 sw zero, 0x60(sp)             |     *(var_60h) = 0;
                                             |     if (t9 == 0) {
    0x00029b24 movn v1, zero, t9             |         v1 = 0;
                                             |     }
    0x00029b28 sw v1, 0xd0(sp)               |     *(arg_d0h) = v1;
    0x00029b2c sw zero, 0x64(sp)             |     *(var_64h) = 0;
    0x00029b30 move s1, zero                 |     s1 = 0;
    0x00029b34 move s0, zero                 |     s0 = 0;
    0x00029b38 addiu s2, zero, 1             |     s2 = 1;
    0x00029b3c addiu s3, zero, 0x27          |     s3 = 0x27;
    0x00029b40 addiu s5, zero, 2             |     s5 = 2;
    0x00029b44 lw fp, -0x7fb4(gp)            |     fp = *((gp - 8173));
    0x00029b48 b 0x29c50                     |     
                                             |     while (a3 != 0) {
    0x00029b4c sltiu v0, a3, 0x28            |         v0 = (a3 < 0x28) ? 1 : 0;
                                             |         if (a3 != s3) {
    0x00029b50 beq a3, s3, 0x29b88           |             
    0x00029b54 addiu v0, zero, 0x28          |             v0 = 0x28;
                                             |             if (v0 != 0) {
    0x00029b58 beqz v0, 0x29b70              |                 
    0x00029b5c addiu v0, zero, 0x22          |                 v0 = 0x22;
    0x00029b60 move a0, s1                   |                 a0 = s1;
                                             |                 if (a3 != v0) {
    0x00029b64 bne a3, v0, 0x29c28           |                     goto label_18;
                                             |                 }
    0x00029b68 b 0x29ba4                     |                 goto label_19;
    0x00029b6c nop                           |                 
                                             |             }
    0x00029b70 addiu v0, zero, 0x29          |             v0 = 0x29;
                                             |             if (a3 == v0) {
    0x00029b74 beq a3, v0, 0x29c1c           |                 goto label_20;
                                             |             }
    0x00029b78 move a0, s1                   |             a0 = s1;
                                             |             if (a3 != v0) {
    0x00029b7c bne a3, v0, 0x29c28           |                 goto label_18;
                                             |             }
    0x00029b80 b 0x29bb8                     |             goto label_21;
    0x00029b84 nop                           |             
                                             |         }
                                             |         if (s0 != 0) {
    0x00029b88 beql s0, zero, 0x29c24        |             
    0x00029b8c addiu s0, zero, 1             |             s0 = 1;
    0x00029b90 xori s0, s0, 1                |             s0 ^= 1;
    0x00029b94 move v0, s5                   |             v0 = s5;
                                             |             if (s0 != 0) {
    0x00029b98 movz v0, zero, s0             |                 v0 = 0;
                                             |             }
    0x00029b9c move s0, v0                   |             s0 = v0;
    0x00029ba0 b 0x29c24                     |             goto label_22;
                                             |             if (s0 == 0) {
                                             | label_19:
    0x00029ba4 beql s0, zero, 0x29c24        |                 goto label_22;
                                             |             }
    0x00029ba8 addiu s0, zero, 2             |             s0 = 2;
    0x00029bac xori s0, s0, 2                |             s0 ^= 2;
    0x00029bb0 sltu s0, zero, s0             |             s0 = (0 < s0) ? 1 : 0;
    0x00029bb4 b 0x29c24                     |             goto label_22;
                                             | label_21:
    0x00029bb8 move a0, s1                   |             a0 = s1;
                                             |             if (s0 != 0) {
    0x00029bbc bnez s0, 0x29c28              |                 goto label_18;
                                             |             }
    0x00029bc0 addiu s2, s2, -1              |             s2 += -1;
    0x00029bc4 addiu a1, sp, 0x64            |             a1 = sp + 0x64;
                                             |             if (s2 != 0) {
    0x00029bc8 bnez s2, 0x29c2c              |                 goto label_23;
                                             |             }
    0x00029bcc lw t9, 0xd0(sp)               |             t9 = *(arg_d0h);
                                             |             if (s1 == 0) {
    0x00029bd0 beqz s1, 0x2af94              |                 goto label_24;
                                             |             }
    0x00029bd4 lw v1, 0xcc(sp)               |             v1 = *(arg_cch);
    0x00029bd8 lw a2, 0xbc(sp)               |             a2 = *(arg_bch);
    0x00029bdc sw t9, 0x14(sp)               |             *(var_14h) = t9;
    0x00029be0 lw t9, 0xd8(sp)               |             t9 = *(s2);
    0x00029be4 sw v1, 0x10(sp)               |             *(var_10h) = v1;
    0x00029be8 lw v1, 0xd4(sp)               |             v1 = *(arg_d4h);
    0x00029bec sw t9, 0x1c(sp)               |             *(var_1ch) = t9;
    0x00029bf0 lw t9, -0x7fb4(gp)            |             t9 = *((gp - 8173));
    0x00029bf4 lw a3, 0xc0(sp)               |             a3 = *(arg_c0h);
    0x00029bf8 move a0, s1                   |             a0 = s1;
    0x00029bfc sw v1, 0x18(sp)               |             *(var_18h) = v1;
    0x00029c00 addiu t9, t9, -0x7864         |             t9 += -0x7864;
    0x00029c04 move a1, s4                   |             a1 = s4;
    0x00029c08 bal 0x2879c                   |             fcn_0002879c ();
    0x00029c0c move fp, v0                   |             fp = v0;
    0x00029c10 lw gp, 0x28(sp)               |             gp = *(var_28h);
    0x00029c14 move a0, s1                   |             a0 = s1;
    0x00029c18 b 0x2af80                     |             goto label_25;
                                             | label_20:
    0x00029c1c sltiu v0, s0, 1               |             v0 = (s0 < 1) ? 1 : 0;
    0x00029c20 addu s2, s2, v0               |             s2 += v0;
                                             |         }
                                             | label_22:
    0x00029c24 move a0, s1                   |         a0 = s1;
                                             | label_18:
    0x00029c28 addiu a1, sp, 0x64            |         a1 = sp + 0x64;
                                             | label_23:
    0x00029c2c addiu t9, fp, -0x7d40         |         t9 = fp + -0x7d40;
    0x00029c30 addiu a2, sp, 0x60            |         a2 = sp + 0x60;
    0x00029c34 bal 0x282c0                   |         fcn_000282c0 ();
    0x00029c38 move s1, v0                   |         s1 = v0;
    0x00029c3c lw gp, 0x28(sp)               |         gp = *(var_28h);
                                             |         if (v0 == 0) {
    0x00029c40 beqz v0, 0x29c78              |             goto label_26;
                                             |         }
    0x00029c44 lw v0, (s7)                   |         v0 = *(s7);
    0x00029c48 addiu v0, v0, 1               |         v0++;
    0x00029c4c sw v0, (s7)                   |         *(s7) = v0;
    0x00029c50 lw v0, (s7)                   |         v0 = *(s7);
    0x00029c54 addu v0, s6, v0               |         v0 = s6 + v0;
    0x00029c58 lbu a3, (v0)                  |         a3 = *(v0);
    0x00029c5c lw t9, -0x7664(gp)            |         t9 = *((gp - 7577));
    0x00029c60 bnez a3, 0x29b4c              |         
                                             |     }
    0x00029c64 move a0, s1                   |     a0 = s1;
    0x00029c68 addiu fp, zero, 5             |     fp = 5;
    0x00029c6c jalr t9                       |     t9 ();
    0x00029c70 lw ra, 0xb4(sp)               |     ra = *(var_b4h);
    0x00029c74 b 0x2afc8                     |     goto label_27;
                                             | label_26:
    0x00029c78 addiu fp, zero, 1             |     fp = 1;
    0x00029c7c b 0x2afc4                     |     goto label_17;
                                             | label_14:
    0x00029c80 addiu s2, s2, 2               |     s2 += 2;
    0x00029c84 addiu v0, zero, 1             |     v0 = 1;
    0x00029c88 sw s2, (s7)                   |     *(s7) = s2;
    0x00029c8c sw s7, 0x10(sp)               |     *(var_10h) = s7;
    0x00029c90 sw v1, 0x14(sp)               |     *(var_14h) = v1;
    0x00029c94 sw v0, 0x18(sp)               |     *(var_18h) = v0;
                                             | label_16:
    0x00029c98 lw t9, -0x7fb4(gp)            |     t9 = *((gp - 8173));
    0x00029c9c addiu t9, t9, -0x6a34         |     t9 += -0x6a34;
    0x00029ca0 bal 0x295cc                   |     fcn_000295cc ();
    0x00029ca4 nop                           |     
    0x00029ca8 move fp, v0                   |     fp = v0;
    0x00029cac b 0x2afc4                     |     goto label_17;
                                             | label_12:
    0x00029cb0 lbu s0, (fp)                  |     s0 = *(fp);
    0x00029cb4 sw zero, 0x78(sp)             |     *(var_78h) = 0;
    0x00029cb8 sw zero, 0x7c(sp)             |     *(var_7ch) = 0;
    0x00029cbc xori s0, s0, 0x7b             |     s0 ^= 0x7b;
    0x00029cc0 sltiu s0, s0, 1               |     s0 = (s0 < 1) ? 1 : 0;
    0x00029cc4 sw zero, 0x70(sp)             |     *(var_70h) = 0;
    0x00029cc8 sw zero, 0x74(sp)             |     *(var_74h) = 0;
                                             |     if (s0 != 0) {
    0x00029ccc beqz s0, 0x29cd8              |         
    0x00029cd0 addiu v0, s2, 2               |         v0 = s2 + 2;
    0x00029cd4 sw v0, (s7)                   |         *(s7) = v0;
                                             |     }
    0x00029cd8 lw v0, (s7)                   |     v0 = *(s7);
    0x00029cdc sw zero, 0x80(sp)             |     *(var_80h) = 0;
    0x00029ce0 addu a0, s6, v0               |     a0 = s6 + v0;
    0x00029ce4 lbu a1, (a0)                  |     a1 = *(a0);
    0x00029ce8 addiu a0, zero, 0x23          |     a0 = 0x23;
    0x00029cec lw v0, (s7)                   |     v0 = *(s7);
                                             |     if (a1 != a0) {
    0x00029cf0 bnel a1, a0, 0x29d0c          |         
    0x00029cf4 addiu t9, zero, 1             |         t9 = 1;
                                             |         if (s0 == 0) {
    0x00029cf8 beqz s0, 0x2a174              |             goto label_28;
                                             |         }
    0x00029cfc addiu v0, v0, 1               |         v0++;
    0x00029d00 sw v0, (s7)                   |         *(s7) = v0;
    0x00029d04 sw t9, 0x80(sp)               |         *(var_80h) = t9;
    0x00029d08 lw v0, (s7)                   |         v0 = *(s7);
                                             |     }
    0x00029d0c addu v0, s6, v0               |     v0 = s6 + v0;
    0x00029d10 lbu s1, (v0)                  |     s1 = *(v0);
    0x00029d14 lw v0, -0x7f78(gp)            |     v0 = *((gp - 8158));
    0x00029d18 sll a0, s1, 1                 |     a0 = s1 << 1;
    0x00029d1c lw a1, (v0)                   |     a1 = *(v0);
    0x00029d20 addu a0, a1, a0               |     a0 = a1 + a0;
    0x00029d24 lhu a0, (a0)                  |     a0 = *(a0);
    0x00029d28 andi a1, a0, 4                |     a1 = a0 & 4;
    0x00029d2c andi a1, a1, 0xffff           |     a1 &= 0xffff;
    0x00029d30 lw s5, -0x7fb4(gp)            |     s5 = *((gp - 8173));
                                             |     if (a1 == 0) {
    0x00029d34 bnez a1, 0x29d48              |         
    0x00029d38 addiu a1, zero, 0x5f          |         a1 = 0x5f;
    0x00029d3c andi a0, a0, 8                |         a0 &= 8;
                                             |         if (s1 != a1) {
    0x00029d40 bne s1, a1, 0x29dcc           |             goto label_29;
                                             |         }
    0x00029d44 lw s5, -0x7fb4(gp)            |         s5 = *((gp - 8173));
                                             |     }
    0x00029d48 lw t1, -0x7f78(gp)            |     t1 = *((gp - 8158));
    0x00029d4c move s3, zero                 |     s3 = 0;
    0x00029d50 addiu s1, zero, 0x5f          |     s1 = 0x5f;
    0x00029d54 lw v0, (s7)                   |     v0 = *(s7);
                                             |     do {
                                             | label_1:
    0x00029d58 move a0, s3                   |         a0 = s3;
    0x00029d5c addiu a1, sp, 0x7c            |         a1 = sp + 0x7c;
    0x00029d60 addu v0, s6, v0               |         v0 = s6 + v0;
    0x00029d64 lbu a3, (v0)                  |         a3 = *(v0);
    0x00029d68 addiu a2, sp, 0x78            |         a2 = sp + 0x78;
    0x00029d6c addiu t9, s5, -0x7d40         |         t9 = s5 + -0x7d40;
    0x00029d70 sw t1, 0x8c(sp)               |         *(var_8ch) = t1;
    0x00029d74 bal 0x282c0                   |         fcn_000282c0 ();
    0x00029d78 move s3, v0                   |         s3 = v0;
    0x00029d7c lw gp, 0x28(sp)               |         gp = *(var_28h);
    0x00029d80 lw t1, 0x8c(sp)               |         t1 = *(var_8ch);
                                             |         if (v0 == 0) {
    0x00029d84 beqz v0, 0x2af60              |             goto label_30;
                                             |         }
    0x00029d88 lw v0, (s7)                   |         v0 = *(s7);
    0x00029d8c lw a1, (t1)                   |         a1 = *(t1);
    0x00029d90 addiu v0, v0, 1               |         v0++;
    0x00029d94 sw v0, (s7)                   |         *(s7) = v0;
    0x00029d98 addu v0, s6, v0               |         v0 = s6 + v0;
    0x00029d9c lbu v0, (v0)                  |         v0 = *(v0);
    0x00029da0 sll a0, v0, 1                 |         a0 = v0 << 1;
    0x00029da4 addu a0, a1, a0               |         a0 = a1 + a0;
    0x00029da8 lhu a0, (a0)                  |         a0 = *(a0);
    0x00029dac andi a0, a0, 0x800            |         a0 &= aav.0x00000800;
    0x00029db0 andi a0, a0, 0xffff           |         a0 &= 0xffff;
    0x00029db4 lw v0, (s7)                   |         v0 = *(s7);
    0x00029db8 bnel a0, zero, 0x29d58        |         
                                             |     } while (a0 == 0);
                                             |     if (v0 == s1) {
    0x00029dbc beql v0, s1, 0x29d58          |         goto label_1;
                                             |     }
    0x00029dc0 lw v0, (s7)                   |     v0 = *(s7);
    0x00029dc4 move t2, zero                 |     t2 = 0;
    0x00029dc8 b 0x29ec4                     |     goto label_31;
                                             | label_29:
    0x00029dcc andi a0, a0, 0xffff           |     a0 &= 0xffff;
    0x00029dd0 lw a0, -0x7fd0(gp)            |     a0 = *((gp - 8180));
                                             |     if (a0 == 0) {
    0x00029dd4 beqz a0, 0x29e54              |         goto label_32;
                                             |     }
    0x00029dd8 lw s5, -0x7fb4(gp)            |     s5 = *((gp - 8173));
    0x00029ddc move s3, zero                 |     s3 = 0;
    0x00029de0 move s1, v0                   |     s1 = v0;
    0x00029de4 lw v0, (s7)                   |     v0 = *(s7);
                                             |     do {
    0x00029de8 move a0, s3                   |         a0 = s3;
    0x00029dec addiu a1, sp, 0x7c            |         a1 = sp + 0x7c;
    0x00029df0 addu v0, s6, v0               |         v0 = s6 + v0;
    0x00029df4 lbu a3, (v0)                  |         a3 = *(v0);
    0x00029df8 addiu t9, s5, -0x7d40         |         t9 = s5 + -0x7d40;
    0x00029dfc addiu a2, sp, 0x78            |         a2 = sp + 0x78;
    0x00029e00 bal 0x282c0                   |         fcn_000282c0 ();
    0x00029e04 move s3, v0                   |         s3 = v0;
    0x00029e08 lw gp, 0x28(sp)               |         gp = *(var_28h);
                                             |         if (v0 == 0) {
    0x00029e0c beqz v0, 0x2af60              |             goto label_30;
                                             |         }
    0x00029e10 addiu t2, zero, 1             |         t2 = 1;
                                             |         if (s0 == 0) {
    0x00029e14 beqz s0, 0x2a190              |             goto label_33;
                                             |         }
    0x00029e18 lw v0, (s7)                   |         v0 = *(s7);
    0x00029e1c lw a0, (s1)                   |         a0 = *(s1);
    0x00029e20 addiu v0, v0, 1               |         v0++;
    0x00029e24 sw v0, (s7)                   |         *(s7) = v0;
    0x00029e28 addu v0, s6, v0               |         v0 = s6 + v0;
    0x00029e2c lbu v0, (v0)                  |         v0 = *(v0);
    0x00029e30 sll v0, v0, 1                 |         v0 <<= 1;
    0x00029e34 addu v0, a0, v0               |         v0 = a0 + v0;
    0x00029e38 lhu v0, (v0)                  |         v0 = *(v0);
    0x00029e3c andi v0, v0, 8                |         v0 &= 8;
    0x00029e40 andi v0, v0, 0xffff           |         v0 &= 0xffff;
    0x00029e44 lw v0, (s7)                   |         v0 = *(s7);
    0x00029e48 bnez v0, 0x29de8              |         
                                             |     } while (v0 != 0);
    0x00029e4c b 0x29ed0                     |     goto label_34;
    0x00029e50 nop                           |     
                                             | label_32:
    0x00029e54 lw t9, -0x7f94(gp)            |     t9 = *((gp - 8165));
    0x00029e58 move a1, s1                   |     a1 = s1;
    0x00029e5c addiu a0, a0, 0x5500          |     a0 += 0x5500;
    0x00029e60 bal 0x3b410                   |     sym_index ();
    0x00029e64 lw gp, 0x28(sp)               |     gp = *(var_28h);
                                             |     if (v0 != 0) {
    0x00029e68 beqz v0, 0x29ea8              |         
    0x00029e6c lw t9, -0x7fb4(gp)            |         t9 = *((gp - 8173));
    0x00029e70 move a0, zero                 |         a0 = 0;
    0x00029e74 addiu a1, sp, 0x7c            |         a1 = sp + 0x7c;
    0x00029e78 addiu a2, sp, 0x78            |         a2 = sp + 0x78;
    0x00029e7c addiu t9, t9, -0x7d40         |         t9 += -0x7d40;
    0x00029e80 move a3, s1                   |         a3 = s1;
    0x00029e84 bal 0x282c0                   |         fcn_000282c0 ();
    0x00029e88 move s3, v0                   |         s3 = v0;
    0x00029e8c lw gp, 0x28(sp)               |         gp = *(var_28h);
                                             |         if (v0 == 0) {
    0x00029e90 beqz v0, 0x2af60              |             goto label_30;
                                             |         }
    0x00029e94 lw v0, (s7)                   |         v0 = *(s7);
    0x00029e98 addiu t2, zero, 1             |         t2 = 1;
    0x00029e9c addiu v0, v0, 1               |         v0++;
    0x00029ea0 sw v0, (s7)                   |         *(s7) = v0;
    0x00029ea4 b 0x29ec4                     |         
                                             |     } else {
    0x00029ea8 addiu fp, zero, 5             |         fp = 5;
                                             |         if (s0 == 0) {
    0x00029eac bnel s0, zero, 0x2af64        |             goto label_35;
                                             |         }
    0x00029eb0 move t2, zero                 |         t2 = 0;
    0x00029eb4 move s3, zero                 |         s3 = 0;
    0x00029eb8 move s5, zero                 |         s5 = 0;
    0x00029ebc move s1, zero                 |         s1 = 0;
    0x00029ec0 b 0x2a164                     |         goto label_36;
                                             |     }
                                             | label_31:
    0x00029ec4 move s5, zero                 |     s5 = 0;
                                             |     if (s0 == 0) {
    0x00029ec8 beqz s0, 0x2a15c              |         goto label_37;
                                             |     }
    0x00029ecc lw v0, (s7)                   |     v0 = *(s7);
                                             | label_34:
    0x00029ed0 addu a0, s6, v0               |     a0 = s6 + v0;
    0x00029ed4 lbu s1, (a0)                  |     s1 = *(a0);
    0x00029ed8 addiu a0, zero, 0x2d          |     a0 = 0x2d;
    0x00029edc sltiu a0, s1, 0x2e            |     a0 = (s1 < 0x2e) ? 1 : 0;
                                             |     if (s1 != a0) {
    0x00029ee0 beq s1, a0, 0x29fc0           |         
    0x00029ee4 addiu a0, zero, 0x3d          |         a0 = 0x3d;
                                             |         if (a0 != 0) {
    0x00029ee8 beqz a0, 0x29f10              |             
    0x00029eec addiu a0, zero, 0x25          |             a0 = 0x25;
    0x00029ef0 addiu a0, zero, 0x2b          |             a0 = 0x2b;
                                             |             if (s1 == a0) {
    0x00029ef4 beq s1, a0, 0x29f68           |                 goto label_38;
                                             |             }
    0x00029ef8 addiu a0, zero, 0x23          |             a0 = 0x23;
                                             |             if (s1 == a0) {
    0x00029efc beq s1, a0, 0x29fc0           |                 goto label_39;
                                             |             }
    0x00029f00 addiu fp, zero, 5             |             fp = 5;
                                             |             if (s1 == a0) {
    0x00029f04 bnel s1, a0, 0x2af44          |                 goto label_40;
                                             |             }
    0x00029f08 addiu v0, v0, 1               |             v0++;
    0x00029f0c b 0x29f4c                     |             
                                             |         } else {
    0x00029f10 sltiu a0, s1, 0x3e            |             a0 = (s1 < 0x3e) ? 1 : 0;
                                             |             if (s1 == a0) {
    0x00029f14 beq s1, a0, 0x29fc0           |                 goto label_39;
                                             |             }
                                             |             if (a0 != 0) {
    0x00029f18 beql a0, zero, 0x29f34        |                 
    0x00029f1c addiu v0, zero, 0x3f          |                 v0 = 0x3f;
    0x00029f20 addiu a0, zero, 0x3a          |                 a0 = 0x3a;
    0x00029f24 addiu fp, zero, 5             |                 fp = 5;
                                             |                 if (s1 == a0) {
    0x00029f28 bnel s1, a0, 0x2af44          |                     goto label_40;
                                             |                 }
    0x00029f2c addiu s1, v0, 1               |                 s1 = v0 + 1;
    0x00029f30 b 0x29f88                     |                 goto label_41;
                                             |             }
    0x00029f34 addiu v0, zero, 0x7d          |             v0 = 0x7d;
                                             |             if (s1 == v0) {
    0x00029f38 beq s1, v0, 0x29fc0           |                 goto label_39;
                                             |             }
    0x00029f3c addiu fp, zero, 5             |             fp = 5;
                                             |             if (s1 == v0) {
    0x00029f40 bnel s1, v0, 0x2af44          |                 goto label_40;
                                             |             }
    0x00029f44 move s5, zero                 |             s5 = 0;
    0x00029f48 b 0x2a194                     |             goto label_42;
                                             |         }
    0x00029f4c addu a0, s6, v0               |         a0 = s6 + v0;
    0x00029f50 lbu a0, (a0)                  |         a0 = *(a0);
    0x00029f54 move s5, zero                 |         s5 = 0;
                                             |         if (a0 == s1) {
    0x00029f58 bne a0, s1, 0x29fc8           |             
    0x00029f5c sw v0, (s7)                   |             *(s7) = v0;
    0x00029f60 addiu s1, zero, 0x4c          |             s1 = 0x4c;
    0x00029f64 b 0x29fd4                     |             goto label_43;
                                             | label_38:
    0x00029f68 addiu v0, v0, 1               |             v0++;
    0x00029f6c addu a0, s6, v0               |             a0 = s6 + v0;
    0x00029f70 lbu a0, (a0)                  |             a0 = *(a0);
    0x00029f74 move s5, zero                 |             s5 = 0;
                                             |             if (a0 == s1) {
    0x00029f78 bne a0, s1, 0x29fd0           |                 
    0x00029f7c sw v0, (s7)                   |                 *(s7) = v0;
    0x00029f80 addiu s1, zero, 0x52          |                 s1 = 0x52;
    0x00029f84 b 0x29fd4                     |                 goto label_43;
                                             | label_41:
    0x00029f88 lw a0, -0x7fd0(gp)            |                 a0 = *((gp - 8180));
    0x00029f8c addu s0, s6, s1               |                 s0 = s6 + s1;
    0x00029f90 lbu a1, (s0)                  |                 a1 = *(s0);
    0x00029f94 lw t9, -0x7f94(gp)            |                 t9 = *((gp - 8165));
    0x00029f98 sw t2, 0x88(sp)               |                 *(var_88h) = t2;
    0x00029f9c addiu a0, a0, 0x5504          |                 a0 += 0x5504;
    0x00029fa0 bal 0x3b410                   |                 sym_index ();
    0x00029fa4 lw gp, 0x28(sp)               |                 gp = *(var_28h);
    0x00029fa8 lw t2, 0x88(sp)               |                 t2 = *(var_88h);
                                             |                 if (v0 == 0) {
    0x00029fac beqz v0, 0x2af40              |                     goto label_44;
                                             |                 }
    0x00029fb0 sw s1, (s7)                   |                 *(s7) = s1;
    0x00029fb4 lbu s1, (s0)                  |                 s1 = *(s0);
    0x00029fb8 addiu s5, zero, 1             |                 s5 = 1;
    0x00029fbc b 0x29fd4                     |                 
                                             | label_39:
    0x00029fc0 move s5, zero                 |                 s5 = 0;
    0x00029fc4 b 0x29fd4                     |                 
    0x00029fc8 addiu s1, zero, 0x23          |                 s1 = 0x23;
    0x00029fcc b 0x29fd4                     |                 
                                             |             } else {
                                             |             } else {
                                             |             } else {
    0x00029fd0 addiu s1, zero, 0x25          |                 s1 = 0x25;
                                             |             }
                                             |         }
                                             |     }
                                             | label_43:
    0x00029fd4 lw v0, (s7)                   |     v0 = *(s7);
    0x00029fd8 move t1, zero                 |     t1 = 0;
    0x00029fdc move t3, zero                 |     t3 = 0;
    0x00029fe0 addiu v0, v0, 1               |     v0++;
    0x00029fe4 sw v0, (s7)                   |     *(s7) = v0;
    0x00029fe8 move s0, zero                 |     s0 = 0;
    0x00029fec b 0x2a140                     |     
                                             |     if (v0 != v1) {
                                             |         while (v0 != 0) {
    0x00029ff0 beq v0, v1, 0x2a05c           |             
    0x00029ff4 nop                           |             
    0x00029ff8 sltiu a0, v0, 0x5d            |             a0 = (v0 < 0x5d) ? 1 : 0;
    0x00029ffc addiu t9, zero, 0x7b          |             t9 = 0x7b;
                                             |             if (a0 != 0) {
    0x0002a000 beqz a0, 0x2a020              |                 
    0x0002a004 addiu a0, zero, 0x22          |                 a0 = 0x22;
    0x0002a008 addiu a0, zero, 0x27          |                 a0 = 0x27;
                                             |                 if (v0 == a0) {
    0x0002a00c beq v0, a0, 0x2a0dc           |                     goto label_45;
                                             |                 }
    0x0002a010 lw v0, (s7)                   |                 v0 = *(s7);
                                             |                 if (v0 == a0) {
    0x0002a014 bnel v0, a0, 0x2a0f0          |                     goto label_46;
                                             |                 }
    0x0002a018 b 0x2a0c0                     |                 goto label_47;
    0x0002a01c nop                           |                 
                                             |             }
    0x0002a020 addiu a0, zero, 0x7d          |             a0 = 0x7d;
                                             |             if (v0 != t9) {
    0x0002a024 beq v0, t9, 0x2a038           |                 
    0x0002a028 lw v0, (s7)                   |                 v0 = *(s7);
                                             |                 if (v0 == a0) {
    0x0002a02c bnel v0, a0, 0x2a0f0          |                     goto label_46;
                                             |                 }
    0x0002a030 b 0x2a044                     |                 goto label_48;
    0x0002a034 nop                           |                 
                                             |             }
    0x0002a038 sltiu v0, t1, 1               |             v0 = (t1 < 1) ? 1 : 0;
    0x0002a03c addu t3, t3, v0               |             t3 += v0;
    0x0002a040 b 0x2a0ec                     |             goto label_49;
                                             | label_48:
    0x0002a044 lw v0, (s7)                   |             v0 = *(s7);
                                             |             if (t1 == 0) {
    0x0002a048 bnel t1, zero, 0x2a0f0        |                 goto label_46;
                                             |             }
    0x0002a04c addiu t3, t3, -1              |             t3 += -1;
                                             |             if (t3 == 0) {
    0x0002a050 beqz t3, 0x2a19c              |                 goto label_50;
                                             |             }
    0x0002a054 lw v0, (s7)                   |             v0 = *(s7);
    0x0002a058 b 0x2a0f0                     |             
                                             |         } else {
    0x0002a05c lw v0, (s7)                   |             v0 = *(s7);
                                             |             if (t1 == 0) {
    0x0002a060 bnel t1, zero, 0x2a0f0        |                 goto label_46;
                                             |             }
    0x0002a064 addiu a0, a0, 1               |             a0++;
    0x0002a068 sw a0, (s7)                   |             *(s7) = a0;
    0x0002a06c addu a0, s6, a0               |             a0 = s6 + a0;
    0x0002a070 lbu v0, (a0)                  |             v0 = *(a0);
    0x0002a074 lw v0, -0x7fb4(gp)            |             v0 = *((gp - 8173));
                                             |             if (v0 == 0) {
    0x0002a078 beqz v0, 0x2af4c              |                 goto label_51;
                                             |             }
    0x0002a07c move a0, s0                   |             a0 = s0;
    0x0002a080 sw t1, 0x8c(sp)               |             *(var_8ch) = t1;
    0x0002a084 sw t2, 0x88(sp)               |             *(var_88h) = t2;
    0x0002a088 sw t3, 0x84(sp)               |             *(var_84h) = t3;
    0x0002a08c addiu a1, sp, 0x74            |             a1 = sp + 0x74;
    0x0002a090 addiu a2, sp, 0x70            |             a2 = sp + 0x70;
    0x0002a094 addiu t9, v0, -0x7d40         |             t9 = v0 + -0x7d40;
    0x0002a098 addiu a3, zero, 0x5c          |             a3 = 0x5c;
    0x0002a09c bal 0x282c0                   |             fcn_000282c0 ();
    0x0002a0a0 move s0, v0                   |             s0 = v0;
    0x0002a0a4 lw gp, 0x28(sp)               |             gp = *(var_28h);
    0x0002a0a8 lw t1, 0x8c(sp)               |             t1 = *(var_8ch);
    0x0002a0ac lw t2, 0x88(sp)               |             t2 = *(var_88h);
    0x0002a0b0 lw t3, 0x84(sp)               |             t3 = *(var_84h);
                                             |             if (v0 == 0) {
    0x0002a0b4 bnez v0, 0x2a0ec              |                 
    0x0002a0b8 addiu fp, zero, 1             |                 fp = 1;
    0x0002a0bc b 0x2af6c                     |                 goto label_52;
                                             |                 if (t1 == 0) {
                                             | label_47:
    0x0002a0c0 beql t1, zero, 0x2a0ec        |                     goto label_49;
                                             |                 }
    0x0002a0c4 addiu t1, zero, 1             |                 t1 = 1;
    0x0002a0c8 xori t1, t1, 1                |                 t1 ^= 1;
    0x0002a0cc addiu v0, zero, 2             |                 v0 = 2;
                                             |                 if (t1 != 0) {
    0x0002a0d0 movz v0, zero, t1             |                     v0 = 0;
                                             |                 }
    0x0002a0d4 move t1, v0                   |                 t1 = v0;
    0x0002a0d8 b 0x2a0ec                     |                 goto label_49;
                                             |                 if (t1 == 0) {
                                             | label_45:
    0x0002a0dc beql t1, zero, 0x2a0ec        |                     goto label_49;
                                             |                 }
    0x0002a0e0 addiu t1, zero, 2             |                 t1 = 2;
    0x0002a0e4 xori t1, t1, 2                |                 t1 ^= 2;
    0x0002a0e8 sltu t1, zero, t1             |                 t1 = (0 < t1) ? 1 : 0;
                                             |             }
                                             | label_49:
    0x0002a0ec lw v0, (s7)                   |             v0 = *(s7);
                                             |         }
                                             | label_46:
    0x0002a0f0 lw v1, -0x7fb4(gp)            |         v1 = *((gp - 8173));
    0x0002a0f4 move a0, s0                   |         a0 = s0;
    0x0002a0f8 addu v0, s6, v0               |         v0 = s6 + v0;
    0x0002a0fc lbu a3, (v0)                  |         a3 = *(v0);
    0x0002a100 addiu a1, sp, 0x74            |         a1 = sp + 0x74;
    0x0002a104 sw t1, 0x8c(sp)               |         *(var_8ch) = t1;
    0x0002a108 sw t2, 0x88(sp)               |         *(var_88h) = t2;
    0x0002a10c sw t3, 0x84(sp)               |         *(var_84h) = t3;
    0x0002a110 addiu t9, v1, -0x7d40         |         t9 = v1 + -0x7d40;
    0x0002a114 addiu a2, sp, 0x70            |         a2 = sp + 0x70;
    0x0002a118 bal 0x282c0                   |         fcn_000282c0 ();
    0x0002a11c move s0, v0                   |         s0 = v0;
    0x0002a120 lw gp, 0x28(sp)               |         gp = *(var_28h);
    0x0002a124 lw t1, 0x8c(sp)               |         t1 = *(var_8ch);
    0x0002a128 lw t2, 0x88(sp)               |         t2 = *(var_88h);
    0x0002a12c lw t3, 0x84(sp)               |         t3 = *(var_84h);
                                             |         if (v0 == 0) {
    0x0002a130 beqz v0, 0x2af54              |             goto label_53;
                                             |         }
    0x0002a134 lw v0, (s7)                   |         v0 = *(s7);
    0x0002a138 addiu v0, v0, 1               |         v0++;
    0x0002a13c sw v0, (s7)                   |         *(s7) = v0;
    0x0002a140 lw a0, (s7)                   |         a0 = *(s7);
    0x0002a144 addu v0, s6, a0               |         v0 = s6 + a0;
    0x0002a148 lbu v0, (v0)                  |         v0 = *(v0);
    0x0002a14c addiu v1, zero, 0x5c          |         v1 = 0x5c;
    0x0002a150 bnez v0, 0x29ff0              |         
                                             |     }
    0x0002a154 lw v0, (s7)                   |     v0 = *(s7);
    0x0002a158 b 0x2a168                     |     goto label_54;
                                             | label_37:
    0x0002a15c move s1, zero                 |     s1 = 0;
    0x0002a160 move s0, zero                 |     s0 = 0;
                                             | label_36:
    0x0002a164 lw v0, (s7)                   |     v0 = *(s7);
                                             | label_54:
    0x0002a168 addiu v0, v0, -1              |     v0 += -1;
    0x0002a16c sw v0, (s7)                   |     *(s7) = v0;
    0x0002a170 b 0x2a19c                     |     goto label_50;
                                             | label_28:
    0x0002a174 move t2, zero                 |     t2 = 0;
    0x0002a178 sw t9, 0x80(sp)               |     *(var_80h) = t9;
    0x0002a17c move s5, zero                 |     s5 = 0;
    0x0002a180 move s1, zero                 |     s1 = 0;
    0x0002a184 move s0, zero                 |     s0 = 0;
    0x0002a188 move s3, zero                 |     s3 = 0;
    0x0002a18c b 0x2a19c                     |     goto label_50;
                                             | label_33:
    0x0002a190 move s5, zero                 |     s5 = 0;
                                             | label_42:
    0x0002a194 move s1, zero                 |     s1 = 0;
    0x0002a198 move s0, zero                 |     s0 = 0;
                                             | label_50:
    0x0002a19c lbu a0, (fp)                  |     a0 = *(fp);
    0x0002a1a0 addiu v0, zero, 0x7b          |     v0 = 0x7b;
    0x0002a1a4 addiu a0, zero, 0x7d          |     a0 = 0x7d;
                                             |     if (a0 == v0) {
    0x0002a1a8 bne a0, v0, 0x2a1c0           |         
    0x0002a1ac lw v0, (s7)                   |         v0 = *(s7);
    0x0002a1b0 addu t0, s6, v0               |         t0 = s6 + v0;
    0x0002a1b4 lbu a1, (t0)                  |         a1 = *(t0);
    0x0002a1b8 addiu fp, zero, 5             |         fp = 5;
                                             |         if (a1 != a0) {
    0x0002a1bc bne a1, a0, 0x2af6c           |             goto label_52;
                                             |         }
                                             |     }
    0x0002a1c0 lw v1, -0x7f78(gp)            |     v1 = *((gp - 8158));
                                             |     if (s3 == 0) {
    0x0002a1c4 bnez s3, 0x2a234              |         
    0x0002a1c8 lw v1, 0x80(sp)               |         v1 = *(var_80h);
    0x0002a1cc lw v0, -0x7f70(gp)            |         v0 = *((gp - 8156));
                                             |         if (v1 != 0) {
    0x0002a1d0 beqz v1, 0x2a208              |             
    0x0002a1d4 lw a1, -0x7fd0(gp)            |             a1 = *((gp - 8180));
    0x0002a1d8 lw t9, -0x7f74(gp)            |             t9 = *((gp - 8157));
    0x0002a1dc lw a2, (v0)                   |             a2 = *(v0);
    0x0002a1e0 sb zero, 0x5c(sp)             |             *(s) = 0;
    0x0002a1e4 addiu a0, sp, 0x5c            |             a0 = sp + 0x5c;
    0x0002a1e8 addiu a2, a2, -1              |             a2 += -1;
    0x0002a1ec addiu a1, a1, 0x54f8          |             a1 += 0x54f8;
    0x0002a1f0 sra a3, a2, 0x1f              |             a3 = a2 >> 0x1f;
    0x0002a1f4 bal 0x2f960                   |             sym_sprintf ();
    0x0002a1f8 move s2, zero                 |             s2 = 0;
    0x0002a1fc lw gp, 0x28(sp)               |             gp = *(var_28h);
    0x0002a200 sw zero, 0x80(sp)             |             *(var_80h) = 0;
    0x0002a204 b 0x2a2c4                     |             goto label_55;
                                             |         }
    0x0002a208 sw s2, (s7)                   |         *(s7) = s2;
                                             | label_10:
    0x0002a20c lw t9, -0x7fb4(gp)            |         t9 = *((gp - 8173));
                                             | label_11:
    0x0002a210 lw a0, (s4)                   |         a0 = *(s4);
                                             | label_13:
    0x0002a214 lw a1, 0xbc(sp)               |         a1 = *(arg_bch);
    0x0002a218 lw a2, 0xc0(sp)               |         a2 = *(arg_c0h);
    0x0002a21c addiu t9, t9, -0x7d40         |         t9 += -0x7d40;
    0x0002a220 addiu a3, zero, 0x24          |         a3 = 0x24;
    0x0002a224 bal 0x282c0                   |         fcn_000282c0 ();
    0x0002a228 sw v0, (s4)                   |         *(s4) = v0;
                                             | label_4:
    0x0002a22c sltiu fp, v0, 1               |         fp = (v0 < 1) ? 1 : 0;
    0x0002a230 b 0x2afc4                     |         goto label_17;
                                             |     }
    0x0002a234 lbu v0, (s3)                  |     v0 = *(s3);
    0x0002a238 lw a0, (v1)                   |     a0 = *(v1);
    0x0002a23c sll v1, v0, 1                 |     v1 = v0 << 1;
    0x0002a240 addu v1, a0, v1               |     v1 = a0 + v1;
    0x0002a244 lhu v1, (v1)                  |     v1 = *(v1);
    0x0002a248 andi v1, v1, 8                |     v1 &= 8;
    0x0002a24c andi v1, v1, 0xffff           |     v1 &= 0xffff;
    0x0002a250 lw t9, -0x7f6c(gp)            |     t9 = *((gp - 8155));
                                             |     if (v1 != 0) {
    0x0002a254 beqz v1, 0x2a280              |         
    0x0002a258 move a0, s3                   |         a0 = s3;
    0x0002a25c jalr t9                       |         t9 ();
    0x0002a260 lw gp, 0x28(sp)               |         gp = *(var_28h);
    0x0002a264 lw v1, -0x7f70(gp)            |         v1 = *((gp - 8156));
    0x0002a268 lw v1, (v1)                   |         v1 = *(v1);
    0x0002a26c slt v1, v0, v1                |         v1 = (v0 < v1) ? 1 : 0;
                                             |         if (v1 == 0) {
    0x0002a270 beql v1, zero, 0x2a58c        |             goto label_56;
                                             |         }
    0x0002a274 lw v1, 0xcc(sp)               |         v1 = *(arg_cch);
    0x0002a278 lw v1, -0x7f68(gp)            |         v1 = *((gp - 8154));
    0x0002a27c b 0x2a544                     |         goto label_57;
                                             |     }
    0x0002a280 addiu v1, zero, 0x24          |     v1 = 0x24;
                                             |     if (t2 == 0) {
    0x0002a284 beqz t2, 0x2a56c              |         goto label_58;
                                             |     }
    0x0002a288 addiu v1, zero, 0x2a          |     v1 = 0x2a;
                                             |     if (v0 == v1) {
    0x0002a28c bne v0, v1, 0x2a2cc           |         
    0x0002a290 lw t9, -0x7fc0(gp)            |         t9 = *((gp - 8176));
    0x0002a294 sb zero, 0x5c(sp)             |         *(s) = 0;
    0x0002a298 move s2, zero                 |         s2 = 0;
    0x0002a29c jalr t9                       |         t9 ();
    0x0002a2a0 lw gp, 0x28(sp)               |         gp = *(var_28h);
    0x0002a2a4 addiu a0, sp, 0x5c            |         a0 = sp + 0x5c;
    0x0002a2a8 move a2, v0                   |         a2 = v0;
    0x0002a2ac lw a1, -0x7fd0(gp)            |         a1 = *((gp - 8180));
    0x0002a2b0 lw t9, -0x7f74(gp)            |         t9 = *((gp - 8157));
    0x0002a2b4 sra a3, v0, 0x1f              |         a3 = v0 >> 0x1f;
    0x0002a2b8 addiu a1, a1, 0x54f8          |         a1 += 0x54f8;
    0x0002a2bc bal 0x2f960                   |         sym_sprintf ();
    0x0002a2c0 lw gp, 0x28(sp)               |         gp = *(var_28h);
                                             | label_55:
    0x0002a2c4 addiu s6, sp, 0x5c            |         s6 = sp + 0x5c;
    0x0002a2c8 b 0x2a5a0                     |         goto label_59;
                                             |     }
    0x0002a2cc addiu v1, zero, 0x40          |     v1 = 0x40;
                                             |     if (v0 != v1) {
    0x0002a2d0 beq v0, v1, 0x2a2dc           |         
    0x0002a2d4 lw v0, -0x7f70(gp)            |         v0 = *((gp - 8156));
                                             |         if (v0 == v1) {
    0x0002a2d8 bnel v0, v1, 0x2a45c          |             goto label_60;
                                             |         }
                                             |     }
    0x0002a2dc lw t9, 0x80(sp)               |     t9 = *(var_80h);
    0x0002a2e0 addiu a0, zero, 0x2a          |     a0 = 0x2a;
                                             |     if (t9 != 0) {
    0x0002a2e4 beqz t9, 0x2a364              |         
    0x0002a2e8 lw v0, -0x7f70(gp)            |         v0 = *((gp - 8156));
    0x0002a2ec sb zero, 0x5c(sp)             |         *(s) = 0;
    0x0002a2f0 lw v0, (v0)                   |         v0 = *(v0);
                                             |         if (v0 > 0) {
    0x0002a2f4 blezl v0, 0x2a30c             |             
    0x0002a2f8 move a2, zero                 |             a2 = 0;
    0x0002a2fc addiu v0, v0, -1              |             v0 += -1;
    0x0002a300 move a2, v0                   |             a2 = v0;
    0x0002a304 sra a3, v0, 0x1f              |             a3 = v0 >> 0x1f;
    0x0002a308 b 0x2a310                     |             
                                             |         } else {
    0x0002a30c move a3, zero                 |             a3 = 0;
                                             |         }
    0x0002a310 lw a1, -0x7fd0(gp)            |         a1 = *((gp - 8180));
    0x0002a314 lw t9, -0x7f74(gp)            |         t9 = *((gp - 8157));
    0x0002a318 addiu a0, sp, 0x5c            |         a0 = sp + 0x5c;
    0x0002a31c addiu a1, a1, 0x54f8          |         a1 += 0x54f8;
    0x0002a320 bal 0x2f960                   |         sym_sprintf ();
    0x0002a324 lw gp, 0x28(sp)               |         gp = *(var_28h);
    0x0002a328 lw a0, (s4)                   |         a0 = *(s4);
    0x0002a32c lw a1, 0xbc(sp)               |         a1 = *(arg_bch);
    0x0002a330 lw t9, -0x7fb4(gp)            |         t9 = *((gp - 8173));
    0x0002a334 lw a2, 0xc0(sp)               |         a2 = *(arg_c0h);
    0x0002a338 addiu t9, t9, -0x7998         |         t9 += -0x7998;
    0x0002a33c addiu a3, sp, 0x5c            |         a3 = sp + 0x5c;
    0x0002a340 bal 0x28668                   |         fcn_00028668 ();
    0x0002a344 lw gp, 0x28(sp)               |         gp = *(var_28h);
    0x0002a348 move a0, s3                   |         a0 = s3;
    0x0002a34c lw t9, -0x7664(gp)            |         t9 = *((gp - 7577));
    0x0002a350 sw v0, (s4)                   |         *(s4) = v0;
    0x0002a354 jalr t9                       |         t9 ();
    0x0002a358 lw gp, 0x28(sp)               |         gp = *(var_28h);
    0x0002a35c move a0, s0                   |         a0 = s0;
    0x0002a360 b 0x2adc4                     |         goto label_61;
                                             |     }
    0x0002a364 addiu s7, zero, 1             |     s7 = 1;
    0x0002a368 move s6, zero                 |     s6 = 0;
                                             |     if (v0 == a0) {
    0x0002a36c beq v0, a0, 0x2a3ac           |         goto label_62;
                                             |     }
    0x0002a370 addiu v1, zero, 0x40          |     v1 = 0x40;
    0x0002a374 lw v0, -0x7f70(gp)            |     v0 = *((gp - 8156));
                                             |     if (v0 != v1) {
    0x0002a378 bne v0, v1, 0x2a45c           |         goto label_60;
                                             |     }
    0x0002a37c lw v1, 0xdc(sp)               |     v1 = *(arg_dch);
                                             |     if (v1 == 0) {
    0x0002a380 beqz v1, 0x2a3a8              |         goto label_63;
                                             |     }
    0x0002a384 nop                           |     
    0x0002a388 addiu v1, zero, 2             |     v1 = 2;
    0x0002a38c b 0x2a460                     |     goto label_64;
                                             |     do {
    0x0002a390 addiu s7, s7, 1               |         s7++;
    0x0002a394 bal 0x3b6e0                   |         sym_strlen ();
    0x0002a398 addiu v0, v0, 1               |         v0++;
    0x0002a39c lw gp, 0x28(sp)               |         gp = *(var_28h);
    0x0002a3a0 addu s6, s6, v0               |         s6 += v0;
    0x0002a3a4 b 0x2a3b4                     |         goto label_65;
                                             | label_63:
    0x0002a3a8 move s6, zero                 |         s6 = 0;
                                             | label_62:
    0x0002a3ac lw fp, -0x7f68(gp)            |         fp = *((gp - 8154));
    0x0002a3b0 lw s2, -0x7fdc(gp)            |         s2 = *((gp - 8183));
                                             | label_65:
    0x0002a3b4 lw a0, (fp)                   |         a0 = *(fp);
    0x0002a3b8 sll v0, s7, 2                 |         v0 = s7 << 2;
    0x0002a3bc addu v0, a0, v0               |         v0 = a0 + v0;
    0x0002a3c0 lw a0, (v0)                   |         a0 = *(v0);
    0x0002a3c4 move t9, s2                   |         t9 = s2;
    0x0002a3c8 bnez a0, 0x2a390              |         
                                             |     } while (a0 != 0);
    0x0002a3cc lw t9, -0x759c(gp)            |     t9 = *((gp - 7527));
    0x0002a3d0 move a0, s6                   |     a0 = s6;
    0x0002a3d4 jalr t9                       |     t9 ();
    0x0002a3d8 move s6, v0                   |     s6 = v0;
    0x0002a3dc lw gp, 0x28(sp)               |     gp = *(var_28h);
                                             |     if (v0 == 0) {
    0x0002a3e0 beqz v0, 0x2af54              |         goto label_53;
                                             |     }
    0x0002a3e4 sb zero, (v0)                 |     *(v0) = 0;
    0x0002a3e8 addiu fp, zero, 1             |     fp = 1;
    0x0002a3ec lw s7, -0x7f68(gp)            |     s7 = *((gp - 8154));
    0x0002a3f0 addiu s2, zero, 1             |     s2 = 1;
    0x0002a3f4 addiu t1, zero, 0x20          |     t1 = 0x20;
    0x0002a3f8 lw t9, -0x7f64(gp)            |     t9 = *((gp - 8153));
    0x0002a3fc b 0x2a43c                     |     
                                             |     while (a1 != 0) {
    0x0002a400 lw a1, -0x7f68(gp)            |         a1 = *((gp - 8154));
                                             |         if (fp != s2) {
    0x0002a404 beq fp, s2, 0x2a410           |             
    0x0002a408 sb t1, (v0)                   |             *(v0) = t1;
    0x0002a40c addiu v0, v0, 1               |             v0++;
                                             |         }
    0x0002a410 addiu fp, fp, 1               |         fp++;
    0x0002a414 lw a1, (a1)                   |         a1 = *(a1);
    0x0002a418 addu a1, a1, a0               |         a1 += a0;
    0x0002a41c lw a1, (a1)                   |         a1 = *(a1);
    0x0002a420 move a0, v0                   |         a0 = v0;
    0x0002a424 sw t1, 0x8c(sp)               |         *(var_8ch) = t1;
    0x0002a428 sw t9, 0x84(sp)               |         *(var_84h) = t9;
    0x0002a42c jalr t9                       |         t9 ();
    0x0002a430 lw gp, 0x28(sp)               |         gp = *(var_28h);
    0x0002a434 lw t9, 0x84(sp)               |         t9 = *(var_84h);
    0x0002a438 lw t1, 0x8c(sp)               |         t1 = *(var_8ch);
    0x0002a43c lw a1, (s7)                   |         a1 = *(s7);
    0x0002a440 sll a0, fp, 2                 |         a0 = fp << 2;
    0x0002a444 addu a1, a1, a0               |         a1 += a0;
    0x0002a448 lw a1, (a1)                   |         a1 = *(a1);
    0x0002a44c bnez a1, 0x2a400              |         
                                             |     }
    0x0002a450 nop                           |     
    0x0002a454 addiu s2, zero, 1             |     s2 = 1;
    0x0002a458 b 0x2a5a0                     |     goto label_59;
                                             | label_60:
    0x0002a45c addiu v1, zero, 2             |     v1 = 2;
                                             | label_64:
    0x0002a460 lw v0, (v0)                   |     v0 = *(v0);
    0x0002a464 slti v0, v0, 3                |     v0 = (v0 < 3) ? 1 : 0;
                                             |     if (v0 == v1) {
    0x0002a468 bne v0, v1, 0x2a47c           |         
    0x0002a46c lw v0, -0x7f68(gp)            |         v0 = *((gp - 8154));
    0x0002a470 lw v0, (v0)                   |         v0 = *(v0);
    0x0002a474 lw s6, 4(v0)                  |         s6 = *(var_24h);
    0x0002a478 b 0x2a580                     |         goto label_66;
                                             |     }
    0x0002a47c lw s2, -0x7f68(gp)            |     s2 = *((gp - 8154));
                                             |     if (v0 != 0) {
    0x0002a480 bnez v0, 0x2a558              |         goto label_67;
                                             |     }
    0x0002a484 lw t9, -0x7fb4(gp)            |     t9 = *((gp - 8173));
    0x0002a488 lw a0, (s4)                   |     a0 = *(s4);
    0x0002a48c lw v0, (s2)                   |     v0 = *(s2);
    0x0002a490 lw a1, 0xbc(sp)               |     a1 = *(arg_bch);
    0x0002a494 lw a2, 0xc0(sp)               |     a2 = *(arg_c0h);
    0x0002a498 addiu t9, t9, -0x7998         |     t9 += -0x7998;
    0x0002a49c lw a3, 4(v0)                  |     a3 = *(var_24h);
    0x0002a4a0 bal 0x28668                   |     fcn_00028668 ();
    0x0002a4a4 lw gp, 0x28(sp)               |     gp = *(var_28h);
                                             |     if (v0 == 0) {
    0x0002a4a8 beqz v0, 0x2af54              |         goto label_53;
                                             |     }
    0x0002a4ac lw s6, -0x7fb4(gp)            |     s6 = *((gp - 8173));
    0x0002a4b0 lw a0, 0xd0(sp)               |     a0 = *(arg_d0h);
    0x0002a4b4 addiu t9, s6, -0x792c         |     t9 = s6 + -0x792c;
    0x0002a4b8 move a1, v0                   |     a1 = v0;
    0x0002a4bc bal 0x286d4                   |     fcn_000286d4 ();
    0x0002a4c0 move s7, s6                   |     s7 = s6;
    0x0002a4c4 lw gp, 0x28(sp)               |     gp = *(var_28h);
                                             |     if (v0 != 0) {
    0x0002a4c8 bnez v0, 0x2af54              |         goto label_53;
                                             |     }
    0x0002a4cc addiu v0, zero, 2             |     v0 = 2;
    0x0002a4d0 move s6, s2                   |     s6 = s2;
    0x0002a4d4 lw fp, -0x7fac(gp)            |     fp = *((gp - 8171));
    0x0002a4d8 b 0x2a510                     |     
                                             |     while (a0 == 0) {
    0x0002a4dc addu v1, v1, v0               |         v1 += v0;
    0x0002a4e0 move t9, fp                   |         t9 = fp;
    0x0002a4e4 lw a0, (v1)                   |         a0 = *(v1);
    0x0002a4e8 bal 0x3c470                   |         sym_strdup ();
    0x0002a4ec lw gp, 0x28(sp)               |         gp = *(var_28h);
                                             |         if (v0 == 0) {
    0x0002a4f0 beqz v0, 0x2af54              |             goto label_53;
                                             |         }
    0x0002a4f4 lw a0, 0xd0(sp)               |         a0 = *(arg_d0h);
    0x0002a4f8 addiu t9, s7, -0x792c         |         t9 = s7 + -0x792c;
    0x0002a4fc move a1, v0                   |         a1 = v0;
    0x0002a500 bal 0x286d4                   |         fcn_000286d4 ();
    0x0002a504 lw gp, 0x28(sp)               |         gp = *(var_28h);
                                             |         if (v0 != 0) {
    0x0002a508 bnez v0, 0x2af54              |             goto label_53;
                                             |         }
    0x0002a50c move v0, s2                   |         v0 = s2;
    0x0002a510 lw v1, (s6)                   |         v1 = *(s6);
    0x0002a514 addiu s2, v0, 1               |         s2 = v0 + 1;
    0x0002a518 sll a0, s2, 2                 |         a0 = s2 << 2;
    0x0002a51c addu a0, v1, a0               |         a0 = v1 + a0;
    0x0002a520 lw a0, (a0)                   |         a0 = *(a0);
    0x0002a524 sll v0, v0, 2                 |         v0 <<= 2;
    0x0002a528 bnel a0, zero, 0x2a4dc        |         
                                             |     }
    0x0002a52c lw v1, 0xc0(sp)               |     v1 = *(arg_c0h);
    0x0002a530 lw t9, 0xbc(sp)               |     t9 = *(arg_bch);
    0x0002a534 sw zero, (v1)                 |     *(v1) = 0;
    0x0002a538 sw zero, (t9)                 |     *(t9) = 0;
    0x0002a53c sw zero, (s4)                 |     *(s4) = 0;
    0x0002a540 lw v1, -0x7f68(gp)            |     v1 = *((gp - 8154));
                                             | label_57:
    0x0002a544 sll v0, v0, 2                 |     v0 <<= 2;
    0x0002a548 lw v1, (v1)                   |     v1 = *(v1);
    0x0002a54c addu v0, v1, v0               |     v0 = v1 + v0;
    0x0002a550 lw s6, (v0)                   |     s6 = *(v0);
    0x0002a554 b 0x2a580                     |     goto label_66;
                                             | label_67:
    0x0002a558 lw t9, -0x7664(gp)            |     t9 = *((gp - 7577));
    0x0002a55c move a0, s3                   |     a0 = s3;
    0x0002a560 jalr t9                       |     t9 ();
    0x0002a564 lw gp, 0x28(sp)               |     gp = *(var_28h);
    0x0002a568 b 0x2ae78                     |     goto label_68;
                                             | label_58:
    0x0002a56c lw t9, -0x7f88(gp)            |     t9 = *((gp - 8162));
    0x0002a570 move a0, s3                   |     a0 = s3;
    0x0002a574 jalr t9                       |     t9 ();
    0x0002a578 lw gp, 0x28(sp)               |     gp = *(var_28h);
    0x0002a57c move s6, v0                   |     s6 = v0;
                                             | label_66:
    0x0002a580 move s2, zero                 |     s2 = 0;
                                             |     if (s6 == 0) {
    0x0002a584 bnez s6, 0x2a5a0              |         
    0x0002a588 lw v1, 0xcc(sp)               |         v1 = *(arg_cch);
                                             | label_56:
    0x0002a58c andi v0, v1, 0x20             |         v0 = v1 & 0x20;
    0x0002a590 addiu fp, zero, 3             |         fp = 3;
                                             |         if (v0 != 0) {
    0x0002a594 bnez v0, 0x2af6c              |             goto label_52;
                                             |         }
    0x0002a598 move s2, zero                 |         s2 = 0;
    0x0002a59c move s6, zero                 |         s6 = 0;
                                             |     }
                                             | label_59:
    0x0002a5a0 addiu v0, zero, 0x3d          |     v0 = 0x3d;
                                             |     if (s1 == 0) {
    0x0002a5a4 beqz s1, 0x2acfc              |         goto label_69;
                                             |     }
    0x0002a5a8 sltiu v0, s1, 0x3e            |     v0 = (s1 < 0x3e) ? 1 : 0;
                                             |     if (s1 != v0) {
    0x0002a5ac beq s1, v0, 0x2a608           |         
    0x0002a5b0 addiu v0, zero, 0x4c          |         v0 = 0x4c;
                                             |         if (v0 != 0) {
    0x0002a5b4 beqz v0, 0x2a5f0              |             
    0x0002a5b8 addiu v0, zero, 0x25          |             v0 = 0x25;
    0x0002a5bc sltiu v0, s1, 0x26            |             v0 = (s1 < 0x26) ? 1 : 0;
                                             |             if (s1 == v0) {
    0x0002a5c0 beq s1, v0, 0x2afac           |                 goto label_70;
                                             |             }
    0x0002a5c4 addiu v0, zero, 0x2b          |             v0 = 0x2b;
                                             |             if (v0 != 0) {
    0x0002a5c8 beqz v0, 0x2a5e0              |                 
    0x0002a5cc addiu v0, zero, 0x23          |                 v0 = 0x23;
    0x0002a5d0 addiu v0, zero, 0x3d          |                 v0 = 0x3d;
                                             |                 if (s1 != v0) {
    0x0002a5d4 bne s1, v0, 0x2a89c           |                     goto label_71;
                                             |                 }
    0x0002a5d8 sw zero, 0x64(sp)             |                 *(var_64h) = 0;
    0x0002a5dc b 0x2afb0                     |                 goto label_72;
                                             |             }
    0x0002a5e0 addiu v0, zero, 0x2d          |             v0 = 0x2d;
                                             |             if (s1 == v0) {
    0x0002a5e4 beq s1, v0, 0x2a62c           |                 goto label_73;
                                             |             }
    0x0002a5e8 b 0x2a600                     |             goto label_74;
    0x0002a5ec nop                           |             
                                             |         }
    0x0002a5f0 addiu v0, zero, 0x52          |         v0 = 0x52;
                                             |         if (s1 == v0) {
    0x0002a5f4 beq s1, v0, 0x2afac           |             goto label_70;
                                             |         }
    0x0002a5f8 addiu v0, zero, 0x3f          |         v0 = 0x3f;
                                             |         if (s1 == v0) {
    0x0002a5fc beq s1, v0, 0x2afac           |             goto label_70;
                                             |         }
                                             | label_74:
    0x0002a600 addiu v0, zero, 0x3d          |         v0 = 0x3d;
                                             |         if (s1 != v0) {
    0x0002a604 bne s1, v0, 0x2a89c           |             goto label_71;
                                             |         }
                                             |     }
                                             |     if (s6 == 0) {
    0x0002a608 beql s6, zero, 0x2afb0        |         goto label_72;
                                             |     }
    0x0002a60c sw zero, 0x64(sp)             |     *(var_64h) = 0;
    0x0002a610 lbu v0, (s6)                  |     v0 = *(s6);
    0x0002a614 addiu v0, zero, 0x3d          |     v0 = 0x3d;
                                             |     if (v0 != 0) {
    0x0002a618 bnez v0, 0x2a89c              |         goto label_71;
                                             |     }
    0x0002a61c sw zero, 0x64(sp)             |     *(var_64h) = 0;
                                             |     if (s5 == 0) {
    0x0002a620 bnel s5, zero, 0x2afb0        |         goto label_72;
                                             |     }
    0x0002a624 b 0x2a89c                     |     goto label_71;
    0x0002a628 nop                           |     
                                             | label_73:
    0x0002a62c addiu v0, zero, 0x3d          |     v0 = 0x3d;
                                             |     if (s6 == 0) {
    0x0002a630 beqz s6, 0x2a89c              |         goto label_71;
                                             |     }
    0x0002a634 lbu v0, (s6)                  |     v0 = *(s6);
    0x0002a638 sw zero, 0x64(sp)             |     *(var_64h) = 0;
                                             |     if (v0 == 0) {
    0x0002a63c bnel v0, zero, 0x2afb0        |         goto label_72;
                                             |     }
                                             |     if (s5 == 0) {
    0x0002a640 beql s5, zero, 0x2afb0        |         goto label_72;
                                             |     }
    0x0002a644 sw zero, 0x64(sp)             |     *(var_64h) = 0;
    0x0002a648 addiu v0, zero, 0x3d          |     v0 = 0x3d;
    0x0002a64c b 0x2a89c                     |     goto label_71;
                                             |     do {
    0x0002a650 sltiu a0, v0, 0x2b            |         a0 = (v0 < 0x2b) ? 1 : 0;
                                             |         if (v0 != a0) {
    0x0002a654 beq v0, a0, 0x2a6d8           |             
    0x0002a658 addiu a0, zero, 0x5c          |             a0 = 0x5c;
                                             |             if (a0 != 0) {
    0x0002a65c beqz a0, 0x2a684              |                 
    0x0002a660 addiu a0, zero, 0x24          |                 a0 = 0x24;
    0x0002a664 addiu a0, zero, 0x27          |                 a0 = 0x27;
                                             |                 if (v0 == a0) {
    0x0002a668 beq v0, a0, 0x2a714           |                     goto label_75;
                                             |                 }
    0x0002a66c addiu a0, zero, 0x22          |                 a0 = 0x22;
                                             |                 if (v0 == a0) {
    0x0002a670 beq v0, a0, 0x2a6bc           |                     goto label_76;
                                             |                 }
    0x0002a674 lw v1, -0x7fb4(gp)            |                 v1 = *((gp - 8173));
                                             |                 if (v0 != a0) {
    0x0002a678 bne v0, a0, 0x2a830           |                     goto label_77;
                                             |                 }
    0x0002a67c addiu v0, zero, 2             |                 v0 = 2;
    0x0002a680 b 0x2a6a4                     |                 
                                             |             } else {
    0x0002a684 addiu a0, zero, 0x7e          |                 a0 = 0x7e;
                                             |                 if (v0 == a0) {
    0x0002a688 beq v0, a0, 0x2a7f0           |                     goto label_78;
                                             |                 }
    0x0002a68c addiu a0, zero, 0x3f          |                 a0 = 0x3f;
                                             |                 if (v0 == a0) {
    0x0002a690 beq v0, a0, 0x2a768           |                     goto label_79;
                                             |                 }
    0x0002a694 lw v1, -0x7fb4(gp)            |                 v1 = *((gp - 8173));
                                             |                 if (v0 != a0) {
    0x0002a698 bne v0, a0, 0x2a830           |                     goto label_77;
                                             |                 }
    0x0002a69c b 0x2a6d8                     |                 goto label_80;
    0x0002a6a0 nop                           |                 
                                             |             }
                                             |             if (t1 == v0) {
    0x0002a6a4 beql t1, v0, 0x2a86c          |                 goto label_81;
                                             |             }
    0x0002a6a8 move t1, zero                 |             t1 = 0;
                                             |             if (t1 == 0) {
    0x0002a6ac beql t1, zero, 0x2a86c        |                 goto label_81;
                                             |             }
    0x0002a6b0 addiu t1, zero, 2             |             t1 = 2;
    0x0002a6b4 lw v1, -0x7fb4(gp)            |             v1 = *((gp - 8173));
    0x0002a6b8 b 0x2a830                     |             goto label_77;
                                             | label_76:
    0x0002a6bc addiu v0, zero, 1             |             v0 = 1;
                                             |             if (t1 == v0) {
    0x0002a6c0 beql t1, v0, 0x2a86c          |                 goto label_81;
                                             |             }
    0x0002a6c4 move t1, zero                 |             t1 = 0;
                                             |             if (t1 == 0) {
    0x0002a6c8 beql t1, zero, 0x2a86c        |                 goto label_81;
                                             |             }
    0x0002a6cc addiu t1, zero, 1             |             t1 = 1;
    0x0002a6d0 lw v1, -0x7fb4(gp)            |             v1 = *((gp - 8173));
    0x0002a6d4 b 0x2a830                     |             
                                             |         } else {
                                             | label_80:
    0x0002a6d8 lw v1, -0x7fb4(gp)            |             v1 = *((gp - 8173));
                                             |             if (t1 == 0) {
    0x0002a6dc beqz t1, 0x2a830              |                 goto label_77;
                                             |             }
    0x0002a6e0 lw v0, -0x7fb4(gp)            |             v0 = *((gp - 8173));
    0x0002a6e4 lw a0, 0x6c(sp)               |             a0 = *(var_6ch);
    0x0002a6e8 sw t0, 0x84(sp)               |             *(var_84h) = t0;
    0x0002a6ec addiu a1, sp, 0x68            |             a1 = sp + 0x68;
    0x0002a6f0 addiu a2, sp, 0x64            |             a2 = sp + 0x64;
    0x0002a6f4 addiu a3, zero, 0x5c          |             a3 = 0x5c;
    0x0002a6f8 addiu t9, v0, -0x7d40         |             t9 = v0 + -0x7d40;
    0x0002a6fc sw t1, 0x8c(sp)               |             *(var_8ch) = t1;
    0x0002a700 bal 0x282c0                   |             fcn_000282c0 ();
    0x0002a704 sw v0, 0x6c(sp)               |             *(var_6ch) = v0;
    0x0002a708 lw gp, 0x28(sp)               |             gp = *(var_28h);
    0x0002a70c lw t0, 0x84(sp)               |             t0 = *(var_84h);
    0x0002a710 b 0x2a824                     |             goto label_82;
                                             | label_75:
    0x0002a714 addiu v0, sp, 0x60            |             v0 = sp + 0x60;
    0x0002a718 sw v0, 0x10(sp)               |             *(var_10h) = v0;
    0x0002a71c addiu v0, zero, 1             |             v0 = 1;
    0x0002a720 lw v1, 0xcc(sp)               |             v1 = *(arg_cch);
    0x0002a724 sw v0, 0x24(sp)               |             *(var_24h) = v0;
    0x0002a728 lw v0, -0x7fb4(gp)            |             v0 = *((gp - 8173));
    0x0002a72c sw zero, 0x60(sp)             |             *(var_60h) = 0;
    0x0002a730 sw v1, 0x14(sp)               |             *(var_14h) = v1;
    0x0002a734 sw zero, 0x18(sp)             |             *(var_18h) = 0;
    0x0002a738 sw zero, 0x1c(sp)             |             *(var_1ch) = 0;
    0x0002a73c sw zero, 0x20(sp)             |             *(stream) = 0;
    0x0002a740 addiu a0, sp, 0x6c            |             a0 = sp + 0x6c;
    0x0002a744 addiu a1, sp, 0x68            |             a1 = sp + 0x68;
    0x0002a748 addiu a2, sp, 0x64            |             a2 = sp + 0x64;
    0x0002a74c move a3, t0                   |             a3 = t0;
    0x0002a750 addiu t9, v0, -0x6634         |             t9 = v0 + -0x6634;
    0x0002a754 sw t0, 0x84(sp)               |             *(var_84h) = t0;
    0x0002a758 sw t1, 0x8c(sp)               |             *(var_8ch) = t1;
    0x0002a75c bal 0x299cc                   |             fcn_000299cc ();
                                             |             goto label_2;
    0x0002a760 lw gp, 0x28(sp)               |             gp = *(var_28h);
    0x0002a764 b 0x2a7b4                     |             goto label_83;
                                             | label_79:
    0x0002a768 lw v1, -0x7fb4(gp)            |             v1 = *((gp - 8173));
                                             |             if (t1 != 0) {
    0x0002a76c bnez t1, 0x2a830              |                 goto label_77;
                                             |             }
    0x0002a770 lw v0, 0x68(sp)               |             v0 = *(var_68h);
    0x0002a774 lbu a3, (t0)                  |             a3 = *(t0);
                                             |             if (v0 == 0) {
    0x0002a778 bnel v0, zero, 0x2a834        |                 goto label_84;
                                             |             }
    0x0002a77c lw v1, -0x7fb4(gp)            |             v1 = *((gp - 8173));
    0x0002a780 addiu v0, sp, 0x60            |             v0 = sp + 0x60;
    0x0002a784 sw zero, 0x60(sp)             |             *(var_60h) = 0;
    0x0002a788 sw v0, 0x10(sp)               |             *(var_10h) = v0;
    0x0002a78c sw zero, 0x14(sp)             |             *(var_14h) = 0;
    0x0002a790 addiu a0, sp, 0x6c            |             a0 = sp + 0x6c;
    0x0002a794 addiu a1, sp, 0x68            |             a1 = sp + 0x68;
    0x0002a798 addiu a2, sp, 0x64            |             a2 = sp + 0x64;
    0x0002a79c move a3, t0                   |             a3 = t0;
    0x0002a7a0 addiu t9, v1, -0x71c8         |             t9 = v1 + -0x71c8;
    0x0002a7a4 sw t0, 0x84(sp)               |             *(var_84h) = t0;
    0x0002a7a8 sw t1, 0x8c(sp)               |             *(var_8ch) = t1;
    0x0002a7ac bal 0x28e38                   |             fcn_00028e38 ();
    0x0002a7b0 lw gp, 0x28(sp)               |             gp = *(var_28h);
                                             | label_83:
    0x0002a7b4 move fp, v0                   |             fp = v0;
    0x0002a7b8 lw t0, 0x84(sp)               |             t0 = *(var_84h);
    0x0002a7bc lw t1, 0x8c(sp)               |             t1 = *(var_8ch);
                                             |             if (v0 != 0) {
    0x0002a7c0 beqz v0, 0x2a7e4              |                 
                                             |                 if (s2 == 0) {
    0x0002a7c4 beql s2, zero, 0x2ac80        |                     goto label_85;
                                             |                 }
    0x0002a7c8 lw a0, 0x6c(sp)               |                 a0 = *(var_6ch);
    0x0002a7cc lw t9, -0x7664(gp)            |                 t9 = *((gp - 7577));
    0x0002a7d0 move a0, s6                   |                 a0 = s6;
    0x0002a7d4 jalr t9                       |                 t9 ();
    0x0002a7d8 lw gp, 0x28(sp)               |                 gp = *(var_28h);
    0x0002a7dc lw a0, 0x6c(sp)               |                 a0 = *(var_6ch);
    0x0002a7e0 b 0x2ac80                     |                 goto label_85;
                                             |             }
    0x0002a7e4 lw v0, 0x60(sp)               |             v0 = *(var_60h);
    0x0002a7e8 addu t0, t0, v0               |             t0 += v0;
    0x0002a7ec b 0x2a86c                     |             goto label_81;
                                             | label_78:
    0x0002a7f0 lw v0, -0x7fb4(gp)            |             v0 = *((gp - 8173));
    0x0002a7f4 lw a0, 0x6c(sp)               |             a0 = *(var_6ch);
    0x0002a7f8 sw t0, 0x84(sp)               |             *(var_84h) = t0;
    0x0002a7fc addiu a1, sp, 0x68            |             a1 = sp + 0x68;
    0x0002a800 addiu a2, sp, 0x64            |             a2 = sp + 0x64;
    0x0002a804 addiu a3, zero, 0x5c          |             a3 = 0x5c;
    0x0002a808 addiu t9, v0, -0x7d40         |             t9 = v0 + -0x7d40;
    0x0002a80c sw t1, 0x8c(sp)               |             *(var_8ch) = t1;
    0x0002a810 bal 0x282c0                   |             fcn_000282c0 ();
    0x0002a814 lw t0, 0x84(sp)               |             t0 = *(var_84h);
    0x0002a818 lw gp, 0x28(sp)               |             gp = *(var_28h);
    0x0002a81c sw v0, 0x6c(sp)               |             *(var_6ch) = v0;
    0x0002a820 addiu t0, t0, 1               |             t0++;
                                             | label_82:
    0x0002a824 lw t1, 0x8c(sp)               |             t1 = *(var_8ch);
                                             |             if (v0 == 0) {
    0x0002a828 beqz v0, 0x2af54              |                 goto label_53;
                                             |             }
    0x0002a82c lw v1, -0x7fb4(gp)            |             v1 = *((gp - 8173));
                                             |         }
                                             | label_77:
    0x0002a830 lbu a3, (t0)                  |         a3 = *(t0);
                                             | label_84:
    0x0002a834 lw a0, 0x6c(sp)               |         a0 = *(var_6ch);
    0x0002a838 sw t0, 0x84(sp)               |         *(var_84h) = t0;
    0x0002a83c sw t1, 0x8c(sp)               |         *(var_8ch) = t1;
    0x0002a840 addiu a1, sp, 0x68            |         a1 = sp + 0x68;
    0x0002a844 addiu t9, v1, -0x7d40         |         t9 = v1 + -0x7d40;
    0x0002a848 addiu a2, sp, 0x64            |         a2 = sp + 0x64;
    0x0002a84c bal 0x282c0                   |         fcn_000282c0 ();
    0x0002a850 sw v0, 0x6c(sp)               |         *(var_6ch) = v0;
    0x0002a854 lw gp, 0x28(sp)               |         gp = *(var_28h);
    0x0002a858 lw t0, 0x84(sp)               |         t0 = *(var_84h);
    0x0002a85c lw t1, 0x8c(sp)               |         t1 = *(var_8ch);
                                             |         if (v0 == 0) {
    0x0002a860 bnez v0, 0x2a86c              |             
    0x0002a864 addiu fp, zero, 1             |             fp = 1;
    0x0002a868 b 0x2af6c                     |             goto label_52;
                                             |         }
                                             | label_81:
    0x0002a86c addiu t0, t0, 1               |         t0++;
                                             | label_9:
    0x0002a870 lw t9, -0x7664(gp)            |         t9 = *((gp - 7577));
                                             |         if (t0 == 0) {
    0x0002a874 beqz t0, 0x2a888              |             goto label_86;
                                             |         }
    0x0002a878 lbu v0, (t0)                  |         v0 = *(t0);
    0x0002a87c addiu a0, zero, 0x2a          |         a0 = 0x2a;
    0x0002a880 bnez v0, 0x2a650              |         
                                             |     } while (v0 != 0);
    0x0002a884 lw t9, -0x7664(gp)            |     t9 = *((gp - 7577));
                                             | label_86:
    0x0002a888 move a0, s0                   |     a0 = s0;
    0x0002a88c jalr t9                       |     t9 ();
    0x0002a890 lw gp, 0x28(sp)               |     gp = *(var_28h);
    0x0002a894 lw s0, 0x6c(sp)               |     s0 = *(var_6ch);
    0x0002a898 addiu v0, zero, 0x3d          |     v0 = 0x3d;
                                             | label_71:
    0x0002a89c sltiu v0, s1, 0x3e            |     v0 = (s1 < 0x3e) ? 1 : 0;
                                             |     if (s1 == v0) {
    0x0002a8a0 beq s1, v0, 0x2ac4c           |         goto label_87;
                                             |     }
    0x0002a8a4 addiu v0, zero, 0x4c          |     v0 = 0x4c;
                                             |     if (v0 != 0) {
    0x0002a8a8 beqz v0, 0x2a8ec              |         
    0x0002a8ac addiu v0, zero, 0x25          |         v0 = 0x25;
    0x0002a8b0 sltiu v0, s1, 0x26            |         v0 = (s1 < 0x26) ? 1 : 0;
                                             |         if (s1 == v0) {
    0x0002a8b4 beq s1, v0, 0x2a90c           |             goto label_88;
                                             |         }
    0x0002a8b8 addiu v0, zero, 0x2b          |         v0 = 0x2b;
                                             |         if (v0 != 0) {
    0x0002a8bc beqz v0, 0x2a8d4              |             
    0x0002a8c0 addiu v0, zero, 0x23          |             v0 = 0x23;
    0x0002a8c4 lw t9, -0x7664(gp)            |             t9 = *((gp - 7577));
                                             |             if (s1 != v0) {
    0x0002a8c8 bne s1, v0, 0x2ad00           |                 goto label_89;
                                             |             }
    0x0002a8cc b 0x2a90c                     |             goto label_88;
    0x0002a8d0 nop                           |             
                                             |         }
    0x0002a8d4 addiu v0, zero, 0x2d          |         v0 = 0x2d;
                                             |         if (s1 == v0) {
    0x0002a8d8 beq s1, v0, 0x2abfc           |             goto label_90;
                                             |         }
    0x0002a8dc lw t9, -0x7664(gp)            |         t9 = *((gp - 7577));
                                             |         if (s1 != v0) {
    0x0002a8e0 bne s1, v0, 0x2ad00           |             goto label_89;
                                             |         }
    0x0002a8e4 b 0x2abac                     |         goto label_91;
    0x0002a8e8 nop                           |         
                                             |     }
    0x0002a8ec addiu v0, zero, 0x52          |     v0 = 0x52;
                                             |     if (s1 != v0) {
    0x0002a8f0 beq s1, v0, 0x2a90c           |         
    0x0002a8f4 addiu v0, zero, 0x3f          |         v0 = 0x3f;
                                             |         if (s1 == v0) {
    0x0002a8f8 beq s1, v0, 0x2a90c           |             goto label_88;
                                             |         }
    0x0002a8fc lw t9, -0x7664(gp)            |         t9 = *((gp - 7577));
                                             |         if (s1 != v0) {
    0x0002a900 bne s1, v0, 0x2ad00           |             goto label_89;
                                             |         }
    0x0002a904 b 0x2ab34                     |         goto label_92;
    0x0002a908 nop                           |         
                                             |     }
                                             | label_88:
    0x0002a90c lw t9, -0x7664(gp)            |     t9 = *((gp - 7577));
                                             |     if (s6 == 0) {
    0x0002a910 beqz s6, 0x2ad00              |         goto label_89;
                                             |     }
                                             |     if (s0 == 0) {
    0x0002a914 beqz s0, 0x2ad00              |         goto label_89;
                                             |     }
    0x0002a918 nop                           |     
    0x0002a91c lbu v0, (s0)                  |     v0 = *(s0);
                                             |     if (v0 == 0) {
    0x0002a920 beqz v0, 0x2ad00              |         goto label_89;
                                             |     }
    0x0002a924 nop                           |     
    0x0002a928 lw t9, -0x7fdc(gp)            |     t9 = *((gp - 8183));
    0x0002a92c move a0, s6                   |     a0 = s6;
    0x0002a930 bal 0x3b6e0                   |     sym_strlen ();
    0x0002a934 addu s5, s6, v0               |     s5 = s6 + v0;
    0x0002a938 addiu v0, zero, 0x4c          |     v0 = 0x4c;
    0x0002a93c lw gp, 0x28(sp)               |     gp = *(var_28h);
                                             |     if (s1 == v0) {
    0x0002a940 beq s1, v0, 0x2aa44           |         goto label_93;
                                             |     }
    0x0002a944 sltiu v0, s1, 0x4d            |     v0 = (s1 < 0x4d) ? 1 : 0;
    0x0002a948 addiu v0, zero, 0x52          |     v0 = 0x52;
                                             |     if (v0 != 0) {
    0x0002a94c beqz v0, 0x2a96c              |         
    0x0002a950 addiu v0, zero, 0x23          |         v0 = 0x23;
    0x0002a954 addiu v0, zero, 0x25          |         v0 = 0x25;
                                             |         if (s1 == v0) {
    0x0002a958 beq s1, v0, 0x2a9bc           |             goto label_94;
                                             |         }
    0x0002a95c lw t9, -0x7664(gp)            |         t9 = *((gp - 7577));
                                             |         if (s1 != v0) {
    0x0002a960 bne s1, v0, 0x2ad00           |             goto label_89;
                                             |         }
    0x0002a964 lw s1, -0x7f60(gp)            |         s1 = *((gp - 8152));
    0x0002a968 b 0x2aa88                     |         goto label_95;
                                             |     }
    0x0002a96c lw t9, -0x7664(gp)            |     t9 = *((gp - 7577));
                                             |     if (s1 != v0) {
    0x0002a970 bne s1, v0, 0x2ad00           |         goto label_89;
                                             |     }
    0x0002a974 lw s1, -0x7f60(gp)            |     s1 = *((gp - 8152));
    0x0002a978 b 0x2ab18                     |     goto label_96;
                                             |     do {
    0x0002a97c move a0, s0                   |         a0 = s0;
    0x0002a980 sb zero, (s7)                 |         *(s7) = 0;
    0x0002a984 move a1, s6                   |         a1 = s6;
    0x0002a988 sw t9, 0x84(sp)               |         *(var_84h) = t9;
    0x0002a98c move a2, zero                 |         a2 = 0;
    0x0002a990 jalr t9                       |         t9 ();
    0x0002a994 lw gp, 0x28(sp)               |         gp = *(var_28h);
    0x0002a998 lw t9, 0x84(sp)               |         t9 = *(var_84h);
    0x0002a99c sb s1, (s7)                   |         *(s7) = s1;
                                             |         if (v0 != fp) {
    0x0002a9a0 beq v0, fp, 0x2a9b4           |             
    0x0002a9a4 move a0, s7                   |             a0 = s7;
                                             |             if (s2 != 0) {
    0x0002a9a8 bnez s2, 0x2aa0c              |                 goto label_97;
                                             |             }
    0x0002a9ac move s6, s7                   |             s6 = s7;
    0x0002a9b0 b 0x2acec                     |             goto label_98;
                                             |         }
    0x0002a9b4 addiu s7, s7, 1               |         s7++;
    0x0002a9b8 b 0x2a9c8                     |         goto label_99;
                                             | label_94:
    0x0002a9bc lw t9, -0x7f60(gp)            |         t9 = *((gp - 8152));
    0x0002a9c0 move s7, s6                   |         s7 = s6;
    0x0002a9c4 addiu fp, zero, 1             |         fp = 1;
                                             | label_99:
    0x0002a9c8 sltu v0, s5, s7               |         v0 = (s5 < s7) ? 1 : 0;
    0x0002a9cc beql v0, zero, 0x2a97c        |         
                                             |     } while (v0 == 0);
    0x0002a9d0 lbu s1, (s7)                  |     s1 = *(s7);
    0x0002a9d4 lw t9, -0x7664(gp)            |     t9 = *((gp - 7577));
    0x0002a9d8 b 0x2ad00                     |     goto label_89;
                                             |     do {
    0x0002a9dc move a0, s0                   |         a0 = s0;
    0x0002a9e0 sb zero, (s5)                 |         *(s5) = 0;
    0x0002a9e4 move a1, s6                   |         a1 = s6;
    0x0002a9e8 move t9, s1                   |         t9 = s1;
    0x0002a9ec move a2, zero                 |         a2 = 0;
    0x0002a9f0 bal 0x139a0                   |         sym_fnmatch ();
    0x0002a9f4 lw gp, 0x28(sp)               |         gp = *(var_28h);
    0x0002a9f8 sb fp, (s5)                   |         *(s5) = fp;
                                             |         if (v0 != s7) {
    0x0002a9fc beq v0, s7, 0x2aa3c           |             
                                             |             if (s2 == 0) {
    0x0002aa00 beql s2, zero, 0x2acfc        |                 goto label_69;
                                             |             }
    0x0002aa04 move s6, s5                   |             s6 = s5;
    0x0002aa08 move a0, s5                   |             a0 = s5;
                                             | label_97:
    0x0002aa0c lw t9, -0x7fac(gp)            |             t9 = *((gp - 8171));
    0x0002aa10 bal 0x3c470                   |             sym_strdup ();
    0x0002aa14 nop                           |             
    0x0002aa18 lw gp, 0x28(sp)               |             gp = *(var_28h);
    0x0002aa1c move s1, v0                   |             s1 = v0;
    0x0002aa20 move a0, s6                   |             a0 = s6;
    0x0002aa24 lw t9, -0x7664(gp)            |             t9 = *((gp - 7577));
                                             |             if (v0 != 0) {
    0x0002aa28 bnez v0, 0x2ab00              |                 goto label_100;
                                             |             }
    0x0002aa2c addiu fp, zero, 1             |             fp = 1;
    0x0002aa30 jalr t9                       |             t9 ();
    0x0002aa34 lw gp, 0x28(sp)               |             gp = *(var_28h);
    0x0002aa38 b 0x2af58                     |             goto label_101;
                                             |         }
    0x0002aa3c addiu s5, s5, -1              |         s5 += -1;
    0x0002aa40 b 0x2aa4c                     |         goto label_102;
                                             | label_93:
    0x0002aa44 lw s1, -0x7f60(gp)            |         s1 = *((gp - 8152));
    0x0002aa48 addiu s7, zero, 1             |         s7 = 1;
                                             | label_102:
    0x0002aa4c sltu v0, s5, s6               |         v0 = (s5 < s6) ? 1 : 0;
    0x0002aa50 beql v0, zero, 0x2a9dc        |         
                                             |     } while (v0 == 0);
    0x0002aa54 lbu fp, (s5)                  |     fp = *(s5);
    0x0002aa58 lw t9, -0x7664(gp)            |     t9 = *((gp - 7577));
    0x0002aa5c b 0x2ad00                     |     goto label_89;
                                             |     do {
    0x0002aa60 move a1, s5                   |         a1 = s5;
    0x0002aa64 move t9, s1                   |         t9 = s1;
    0x0002aa68 move a2, zero                 |         a2 = 0;
    0x0002aa6c bal 0x139a0                   |         sym_fnmatch ();
    0x0002aa70 lw gp, 0x28(sp)               |         gp = *(var_28h);
                                             |         if (v0 != s7) {
    0x0002aa74 beq v0, s7, 0x2aa80           |             
    0x0002aa78 subu s5, s5, s6               |             __asm ("subu s5, s5, s6");
    0x0002aa7c b 0x2aabc                     |             goto label_103;
                                             |         }
    0x0002aa80 addiu s5, s5, -1              |         s5 += -1;
    0x0002aa84 b 0x2aa8c                     |         goto label_104;
                                             | label_95:
    0x0002aa88 addiu s7, zero, 1             |         s7 = 1;
                                             | label_104:
    0x0002aa8c sltu v0, s5, s6               |         v0 = (s5 < s6) ? 1 : 0;
    0x0002aa90 move a0, s0                   |         a0 = s0;
    0x0002aa94 beqz v0, 0x2aa60              |         
                                             |     } while (v0 == 0);
    0x0002aa98 lw t9, -0x7664(gp)            |     t9 = *((gp - 7577));
    0x0002aa9c b 0x2ad00                     |     goto label_89;
                                             |     do {
    0x0002aaa0 move a1, s7                   |         a1 = s7;
    0x0002aaa4 move t9, s1                   |         t9 = s1;
    0x0002aaa8 move a2, zero                 |         a2 = 0;
    0x0002aaac bal 0x139a0                   |         sym_fnmatch ();
    0x0002aab0 lw gp, 0x28(sp)               |         gp = *(var_28h);
                                             |         if (v0 != fp) {
    0x0002aab4 beq v0, fp, 0x2ab10           |             
    0x0002aab8 subu s5, s7, s6               |             __asm ("subu s5, s7, s6");
                                             | label_103:
    0x0002aabc lw t9, -0x759c(gp)            |             t9 = *((gp - 7527));
    0x0002aac0 addiu a0, s5, 1               |             a0 = s5 + 1;
    0x0002aac4 addiu fp, zero, 1             |             fp = 1;
    0x0002aac8 jalr t9                       |             t9 ();
    0x0002aacc move s1, v0                   |             s1 = v0;
    0x0002aad0 lw gp, 0x28(sp)               |             gp = *(var_28h);
                                             |             if (v0 == 0) {
    0x0002aad4 beqz v0, 0x2ac74              |                 goto label_105;
                                             |             }
    0x0002aad8 lw t9, -0x7fb0(gp)            |             t9 = *((gp - 8172));
    0x0002aadc move a0, v0                   |             a0 = v0;
    0x0002aae0 move a1, s6                   |             a1 = s6;
    0x0002aae4 move a2, s5                   |             a2 = s5;
    0x0002aae8 bal 0x3b1d0                   |             sym_mempcpy ();
    0x0002aaec lw gp, 0x28(sp)               |             gp = *(var_28h);
    0x0002aaf0 sb zero, (v0)                 |             *(v0) = 0;
                                             |             if (s2 == 0) {
    0x0002aaf4 beqz s2, 0x2acf4              |                 goto label_106;
                                             |             }
    0x0002aaf8 lw t9, -0x7664(gp)            |             t9 = *((gp - 7577));
    0x0002aafc move a0, s6                   |             a0 = s6;
                                             | label_100:
    0x0002ab00 move s6, s1                   |             s6 = s1;
    0x0002ab04 jalr t9                       |             t9 ();
    0x0002ab08 lw gp, 0x28(sp)               |             gp = *(var_28h);
    0x0002ab0c b 0x2acf8                     |             goto label_107;
                                             |         }
    0x0002ab10 addiu s7, s7, 1               |         s7++;
    0x0002ab14 b 0x2ab20                     |         goto label_108;
                                             | label_96:
    0x0002ab18 move s7, s6                   |         s7 = s6;
    0x0002ab1c addiu fp, zero, 1             |         fp = 1;
                                             | label_108:
    0x0002ab20 sltu v0, s5, s7               |         v0 = (s5 < s7) ? 1 : 0;
    0x0002ab24 move a0, s0                   |         a0 = s0;
    0x0002ab28 beqz v0, 0x2aaa0              |         
                                             |     } while (v0 == 0);
    0x0002ab2c lw t9, -0x7664(gp)            |     t9 = *((gp - 7577));
    0x0002ab30 b 0x2ad00                     |     goto label_89;
                                             |     if (s6 != 0) {
                                             | label_92:
    0x0002ab34 beqz s6, 0x2ab48              |         
    0x0002ab38 nop                           |         
    0x0002ab3c lbu v0, (s6)                  |         v0 = *(s6);
    0x0002ab40 lw t9, -0x7664(gp)            |         t9 = *((gp - 7577));
                                             |         if (v0 != 0) {
    0x0002ab44 bnez v0, 0x2ad00              |             goto label_89;
                                             |         }
                                             |     }
    0x0002ab48 lbu a0, (s0)                  |     a0 = *(s0);
                                             |     if (s5 != 0) {
    0x0002ab4c bnel s5, zero, 0x2ab5c        |         
    0x0002ab50 move fp, zero                 |         fp = 0;
                                             |         if (s6 != 0) {
    0x0002ab54 bnez s6, 0x2ac74              |             goto label_105;
                                             |         }
    0x0002ab58 lbu a0, (s0)                  |         a0 = *(s0);
                                             |     }
    0x0002ab5c lw v0, -0x7614(gp)            |     v0 = *((gp - 7557));
                                             |     if (a0 != 0) {
    0x0002ab60 beqz a0, 0x2ab88              |         
    0x0002ab64 lw a1, -0x7fd0(gp)            |         a1 = *((gp - 8180));
    0x0002ab68 lw t9, -0x7f5c(gp)            |         t9 = *((gp - 8151));
    0x0002ab6c lw a0, (v0)                   |         a0 = *(v0);
    0x0002ab70 addiu a1, a1, 0x550c          |         a1 += 0x550c;
    0x0002ab74 move a2, s3                   |         a2 = s3;
    0x0002ab78 move a3, s0                   |         a3 = s0;
    0x0002ab7c bal 0x2f860                   |         sym_fprintf ()
    0x0002ab80 lw gp, 0x28(sp)               |         gp = *(var_28h);
    0x0002ab84 b 0x2ac70                     |         goto label_109;
                                             |     }
    0x0002ab88 lw a1, -0x7fd0(gp)            |     a1 = *((gp - 8180));
    0x0002ab8c lw t9, -0x7f5c(gp)            |     t9 = *((gp - 8151));
    0x0002ab90 lw a0, (v0)                   |     a0 = *(v0);
    0x0002ab94 addiu a1, a1, 0x5514          |     a1 += 0x5514;
    0x0002ab98 move a2, s3                   |     a2 = s3;
    0x0002ab9c bal 0x2f860                   |     sym_fprintf ()
    0x0002aba0 addiu fp, zero, 3             |     fp = 3;
    0x0002aba4 lw gp, 0x28(sp)               |     gp = *(var_28h);
    0x0002aba8 b 0x2ac74                     |     goto label_105;
                                             |     if (s6 != 0) {
                                             | label_91:
    0x0002abac beqz s6, 0x2abc0              |         
    0x0002abb0 nop                           |         
    0x0002abb4 lbu v0, (s6)                  |         v0 = *(s6);
    0x0002abb8 lw t9, -0x7664(gp)            |         t9 = *((gp - 7577));
                                             |         if (v0 != 0) {
    0x0002abbc bnez v0, 0x2ad00              |             goto label_89;
                                             |         }
                                             |     }
    0x0002abc0 lw t9, -0x7664(gp)            |     t9 = *((gp - 7577));
                                             |     if (s2 != 0) {
    0x0002abc4 beqz s2, 0x2abd4              |         
    0x0002abc8 move a0, s6                   |         a0 = s6;
    0x0002abcc jalr t9                       |         t9 ();
    0x0002abd0 lw gp, 0x28(sp)               |         gp = *(var_28h);
                                             |     }
                                             |     if (s5 != 0) {
    0x0002abd4 bnez s5, 0x2abe4              |         goto label_3;
                                             |     }
    0x0002abd8 nop                           |     
    0x0002abdc move fp, zero                 |     fp = 0;
                                             |     if (s6 != 0) {
    0x0002abe0 bnez s6, 0x2af6c              |         goto label_52;
                                             |     }
                                             |     do {
                                             | label_3:
    0x0002abe4 lw t9, -0x7fac(gp)            |         t9 = *((gp - 8171));
                                             |         if (s0 != 0) {
    0x0002abe8 bnez s0, 0x2ac30              |             goto label_110;
                                             |         }
    0x0002abec addiu s2, zero, 1             |         s2 = 1;
    0x0002abf0 move s6, zero                 |         s6 = 0;
    0x0002abf4 move s0, zero                 |         s0 = 0;
    0x0002abf8 b 0x2acfc                     |         goto label_69;
                                             | label_90:
    0x0002abfc move fp, zero                 |         fp = 0;
                                             |         if (s6 == 0) {
    0x0002ac00 beqz s6, 0x2ac74              |             goto label_105;
                                             |         }
    0x0002ac04 lbu v0, (s6)                  |         v0 = *(s6);
                                             |         if (v0 == 0) {
    0x0002ac08 bnez v0, 0x2ac18              |             
    0x0002ac0c nop                           |             
                                             |             if (s5 != 0) {
    0x0002ac10 bnez s5, 0x2ac74              |                 goto label_105;
                                             |             }
    0x0002ac14 nop                           |             
                                             |         }
    0x0002ac18 lw t9, -0x7664(gp)            |         t9 = *((gp - 7577));
    0x0002ac1c beqz s2, 0x2abe4              |         
                                             |     } while (s2 == 0);
    0x0002ac20 move a0, s6                   |     a0 = s6;
    0x0002ac24 jalr t9                       |     t9 ();
    0x0002ac28 lw gp, 0x28(sp)               |     gp = *(var_28h);
    0x0002ac2c b 0x2abe4                     |     goto label_3;
                                             | label_110:
    0x0002ac30 move a0, s0                   |     a0 = s0;
    0x0002ac34 bal 0x3c470                   |     sym_strdup ();
    0x0002ac38 move s6, v0                   |     s6 = v0;
    0x0002ac3c lw gp, 0x28(sp)               |     gp = *(var_28h);
                                             |     if (v0 == 0) {
    0x0002ac40 beqz v0, 0x2af54              |         goto label_53;
                                             |     }
    0x0002ac44 addiu s2, zero, 1             |     s2 = 1;
    0x0002ac48 b 0x2acfc                     |     goto label_69;
                                             |     if (s6 != 0) {
                                             | label_87:
    0x0002ac4c beqz s6, 0x2ac60              |         
    0x0002ac50 nop                           |         
    0x0002ac54 lbu v0, (s6)                  |         v0 = *(s6);
    0x0002ac58 lw t9, -0x7664(gp)            |         t9 = *((gp - 7577));
                                             |         if (v0 != 0) {
    0x0002ac5c bnez v0, 0x2ad00              |             goto label_89;
                                             |         }
                                             |     }
                                             |     if (s5 == 0) {
    0x0002ac60 bnez s5, 0x2ac94              |         
    0x0002ac64 nop                           |         
                                             |         if (s6 == 0) {
    0x0002ac68 beqz s6, 0x2ac94              |             goto label_111;
                                             |         }
    0x0002ac6c nop                           |         
                                             | label_109:
    0x0002ac70 move fp, zero                 |         fp = 0;
                                             | label_105:
    0x0002ac74 lw t9, -0x7664(gp)            |         t9 = *((gp - 7577));
                                             |         if (s2 == 0) {
    0x0002ac78 beqz s2, 0x2af70              |             goto label_112;
                                             |         }
    0x0002ac7c move a0, s6                   |         a0 = s6;
                                             | label_85:
    0x0002ac80 lw t9, -0x7664(gp)            |         t9 = *((gp - 7577));
    0x0002ac84 jalr t9                       |         t9 ();
    0x0002ac88 nop                           |         
    0x0002ac8c lw gp, 0x28(sp)               |         gp = *(var_28h);
    0x0002ac90 b 0x2af6c                     |         goto label_52;
                                             |     }
                                             | label_111:
    0x0002ac94 lw t9, -0x7664(gp)            |     t9 = *((gp - 7577));
                                             |     if (s2 != 0) {
    0x0002ac98 beqz s2, 0x2aca8              |         
    0x0002ac9c move a0, s6                   |         a0 = s6;
    0x0002aca0 jalr t9                       |         t9 ();
    0x0002aca4 lw gp, 0x28(sp)               |         gp = *(var_28h);
                                             |     }
    0x0002aca8 lw t9, -0x7fac(gp)            |     t9 = *((gp - 8171));
                                             |     if (s0 != 0) {
    0x0002acac beqz s0, 0x2accc              |         
    0x0002acb0 move a0, s0                   |         a0 = s0;
    0x0002acb4 bal 0x3c470                   |         sym_strdup ();
    0x0002acb8 move s6, v0                   |         s6 = v0;
    0x0002acbc lw gp, 0x28(sp)               |         gp = *(var_28h);
                                             |         if (v0 != 0) {
    0x0002acc0 bnez v0, 0x2acd0              |             goto label_113;
                                             |         }
    0x0002acc4 addiu fp, zero, 1             |         fp = 1;
    0x0002acc8 b 0x2af6c                     |         goto label_52;
                                             |     }
    0x0002accc move s6, zero                 |     s6 = 0;
                                             | label_113:
    0x0002acd0 lw t9, -0x7f58(gp)            |     t9 = *((gp - 8150));
    0x0002acd4 move a0, s3                   |     a0 = s3;
    0x0002acd8 move a1, s6                   |     a1 = s6;
    0x0002acdc addiu a2, zero, 1             |     a2 = 1;
    0x0002ace0 jalr t9                       |     t9 ();
    0x0002ace4 lw gp, 0x28(sp)               |     gp = *(var_28h);
    0x0002ace8 b 0x2acf8                     |     goto label_107;
                                             | label_98:
    0x0002acec lw t9, -0x7664(gp)            |     t9 = *((gp - 7577));
    0x0002acf0 b 0x2ad00                     |     goto label_89;
                                             | label_106:
    0x0002acf4 move s6, s1                   |     s6 = s1;
                                             | label_107:
    0x0002acf8 addiu s2, zero, 1             |     s2 = 1;
                                             | label_69:
    0x0002acfc lw t9, -0x7664(gp)            |     t9 = *((gp - 7577));
                                             | label_89:
    0x0002ad00 move a0, s3                   |     a0 = s3;
    0x0002ad04 jalr t9                       |     t9 ();
    0x0002ad08 lw gp, 0x28(sp)               |     gp = *(var_28h);
    0x0002ad0c lw t9, -0x7664(gp)            |     t9 = *((gp - 7577));
    0x0002ad10 move a0, s0                   |     a0 = s0;
    0x0002ad14 jalr t9                       |     t9 ();
    0x0002ad18 lw v1, 0x80(sp)               |     v1 = *(var_80h);
    0x0002ad1c lw gp, 0x28(sp)               |     gp = *(var_28h);
                                             |     if (v1 != 0) {
    0x0002ad20 beqz v1, 0x2ad7c              |         
    0x0002ad24 sb zero, 0x44(sp)             |         *(var_44h) = 0;
    0x0002ad28 lw s0, (s4)                   |         s0 = *(s4);
                                             |         if (s6 != 0) {
    0x0002ad2c beqz s6, 0x2ad48              |             
    0x0002ad30 lw t9, -0x7fdc(gp)            |             t9 = *((gp - 8183));
    0x0002ad34 move a0, s6                   |             a0 = s6;
    0x0002ad38 bal 0x3b6e0                   |             sym_strlen ();
    0x0002ad3c move a2, v0                   |             a2 = v0;
    0x0002ad40 lw gp, 0x28(sp)               |             gp = *(var_28h);
    0x0002ad44 b 0x2ad4c                     |             
                                             |         } else {
    0x0002ad48 move a2, zero                 |             a2 = 0;
                                             |         }
    0x0002ad4c lw a1, -0x7fd0(gp)            |         a1 = *((gp - 8180));
    0x0002ad50 lw t9, -0x7f74(gp)            |         t9 = *((gp - 8157));
    0x0002ad54 move a3, zero                 |         a3 = 0;
    0x0002ad58 addiu a0, sp, 0x44            |         a0 = sp + 0x44;
    0x0002ad5c addiu a1, a1, 0x54f8          |         a1 += 0x54f8;
    0x0002ad60 bal 0x2f960                   |         sym_sprintf ();
    0x0002ad64 lw gp, 0x28(sp)               |         gp = *(var_28h);
    0x0002ad68 move a0, s0                   |         a0 = s0;
    0x0002ad6c lw a1, 0xbc(sp)               |         a1 = *(arg_bch);
    0x0002ad70 lw a2, 0xc0(sp)               |         a2 = *(arg_c0h);
    0x0002ad74 addiu a3, sp, 0x44            |         a3 = sp + 0x44;
    0x0002ad78 b 0x2ada4                     |         
                                             |     } else {
    0x0002ad7c lw t9, 0xdc(sp)               |         t9 = *(arg_dch);
                                             |         if (s6 == 0) {
    0x0002ad80 beqz s6, 0x2af94              |             goto label_24;
                                             |         }
    0x0002ad84 lw v1, 0xd0(sp)               |         v1 = *(arg_d0h);
                                             |         if (t9 == 0) {
    0x0002ad88 bnez t9, 0x2ad94              |             
    0x0002ad8c lw t9, -0x7fac(gp)            |             t9 = *((gp - 8171));
                                             |             if (v1 != 0) {
    0x0002ad90 bnez v1, 0x2add8              |                 goto label_114;
                                             |             }
                                             |         }
    0x0002ad94 lw a0, (s4)                   |         a0 = *(s4);
    0x0002ad98 lw a1, 0xbc(sp)               |         a1 = *(arg_bch);
    0x0002ad9c lw a2, 0xc0(sp)               |         a2 = *(arg_c0h);
    0x0002ada0 move a3, s6                   |         a3 = s6;
                                             |     }
    0x0002ada4 lw t9, -0x7fb4(gp)            |     t9 = *((gp - 8173));
    0x0002ada8 addiu t9, t9, -0x7998         |     t9 += -0x7998;
    0x0002adac bal 0x28668                   |     fcn_00028668 ();
    0x0002adb0 nop                           |     
    0x0002adb4 sw v0, (s4)                   |     *(s4) = v0;
    0x0002adb8 lw gp, 0x28(sp)               |     gp = *(var_28h);
                                             |     if (s2 != 0) {
    0x0002adbc beqz s2, 0x2add0              |         
    0x0002adc0 move a0, s6                   |         a0 = s6;
                                             | label_61:
    0x0002adc4 lw t9, -0x7664(gp)            |         t9 = *((gp - 7577));
    0x0002adc8 jalr t9                       |         t9 ();
    0x0002adcc nop                           |         
                                             |     }
    0x0002add0 lw v0, (s4)                   |     v0 = *(s4);
    0x0002add4 b 0x2a22c                     |     goto label_4;
                                             | label_114:
    0x0002add8 move a0, s6                   |     a0 = s6;
    0x0002addc bal 0x3c470                   |     sym_strdup ();
    0x0002ade0 move s0, v0                   |     s0 = v0;
    0x0002ade4 lw gp, 0x28(sp)               |     gp = *(var_28h);
                                             |     if (s2 != 0) {
    0x0002ade8 beqz s2, 0x2adfc              |         
    0x0002adec lw t9, -0x7664(gp)            |         t9 = *((gp - 7577));
    0x0002adf0 move a0, s6                   |         a0 = s6;
    0x0002adf4 jalr t9                       |         t9 ();
    0x0002adf8 lw gp, 0x28(sp)               |         gp = *(var_28h);
                                             |     }
    0x0002adfc move s6, s0                   |     s6 = s0;
                                             |     if (s0 == 0) {
    0x0002ae00 beqz s0, 0x2af60              |         goto label_30;
                                             |     }
    0x0002ae04 move s3, zero                 |     s3 = 0;
    0x0002ae08 lw fp, -0x7fb4(gp)            |     fp = *((gp - 8173));
    0x0002ae0c lw s2, -0x7f54(gp)            |     s2 = *((gp - 8149));
    0x0002ae10 lw s5, -0x7fb4(gp)            |     s5 = *((gp - 8173));
                                             |     do {
                                             | label_5:
    0x0002ae14 lw a0, 0xd0(sp)               |         a0 = *(arg_d0h);
                                             |         if (s6 != s0) {
    0x0002ae18 beq s6, s0, 0x2ae50           |             
    0x0002ae1c addiu t9, fp, -0x792c         |             t9 = fp + -0x792c;
    0x0002ae20 lw a1, (s4)                   |             a1 = *(s4);
    0x0002ae24 bal 0x286d4                   |             fcn_000286d4 ();
    0x0002ae28 addiu a0, zero, 1             |             a0 = 1;
    0x0002ae2c lw gp, 0x28(sp)               |             gp = *(var_28h);
                                             |             if (v0 == a0) {
    0x0002ae30 bne v0, a0, 0x2ae3c           |                 
    0x0002ae34 lw t9, -0x7664(gp)            |                 t9 = *((gp - 7577));
    0x0002ae38 b 0x2af14                     |                 goto label_115;
                                             |             }
    0x0002ae3c lw t9, 0xc0(sp)               |             t9 = *(arg_c0h);
    0x0002ae40 lw v1, 0xbc(sp)               |             v1 = *(arg_bch);
    0x0002ae44 sw zero, (t9)                 |             *(t9) = 0;
    0x0002ae48 sw zero, (v1)                 |             *(v1) = 0;
    0x0002ae4c sw zero, (s4)                 |             *(s4) = 0;
                                             |         }
    0x0002ae50 lw a1, 0xd8(sp)               |         a1 = *(s2);
    0x0002ae54 move t9, s2                   |         t9 = s2;
    0x0002ae58 move a0, s6                   |         a0 = s6;
    0x0002ae5c bal 0x3bc20                   |         sym_strspn ();
    0x0002ae60 addu s1, s6, v0               |         s1 = s6 + v0;
    0x0002ae64 lw gp, 0x28(sp)               |         gp = *(var_28h);
                                             |         if (s3 == 0) {
    0x0002ae68 bnez s3, 0x2ae8c              |             
    0x0002ae6c lbu v0, (s1)                  |             v0 = *(s1);
    0x0002ae70 lw t9, -0x7f50(gp)            |             t9 = *((gp - 8148));
                                             |             if (v0 != 0) {
    0x0002ae74 bnez v0, 0x2ae90              |                 goto label_116;
                                             |             }
                                             | label_68:
    0x0002ae78 lw t9, -0x7664(gp)            |             t9 = *((gp - 7577));
                                             | label_6:
    0x0002ae7c move a0, s0                   |             a0 = s0;
    0x0002ae80 jalr t9                       |             t9 ();
    0x0002ae84 move fp, zero                 |             fp = 0;
    0x0002ae88 b 0x2afc4                     |             goto label_17;
                                             |         }
    0x0002ae8c lw t9, -0x7f50(gp)            |         t9 = *((gp - 8148));
                                             | label_116:
    0x0002ae90 lw a1, 0xd4(sp)               |         a1 = *(arg_d4h);
    0x0002ae94 move a0, s1                   |         a0 = s1;
    0x0002ae98 move s3, zero                 |         s3 = 0;
    0x0002ae9c bal 0x3b660                   |         sym_strcspn ();
    0x0002aea0 lw a1, 0xd8(sp)               |         a1 = *(s2);
    0x0002aea4 addu s7, s1, v0               |         s7 = s1 + v0;
    0x0002aea8 move t9, s2                   |         t9 = s2;
    0x0002aeac move a0, s7                   |         a0 = s7;
    0x0002aeb0 bal 0x3bc20                   |         sym_strspn ();
    0x0002aeb4 addu s6, s7, v0               |         s6 = s7 + v0;
    0x0002aeb8 lbu a1, (s6)                  |         a1 = *(s6);
    0x0002aebc lw gp, 0x28(sp)               |         gp = *(var_28h);
                                             |         if (a1 != 0) {
    0x0002aec0 beqz a1, 0x2aee0              |             
    0x0002aec4 lw t9, -0x7f94(gp)            |             t9 = *((gp - 8165));
    0x0002aec8 lw a0, 0xd4(sp)               |             a0 = *(arg_d4h);
    0x0002aecc bal 0x3b410                   |             sym_index ();
                                             |             if (v0 == 0) {
    0x0002aed0 beql v0, zero, 0x2aee4        |                 goto label_117;
                                             |             }
    0x0002aed4 sb zero, (s7)                 |             *(s7) = 0;
    0x0002aed8 addiu s6, s6, 1               |             s6++;
    0x0002aedc addiu s3, zero, 1             |             s3 = 1;
                                             |         }
    0x0002aee0 sb zero, (s7)                 |         *(s7) = 0;
                                             | label_117:
    0x0002aee4 lw a0, (s4)                   |         a0 = *(s4);
    0x0002aee8 lw a1, 0xbc(sp)               |         a1 = *(arg_bch);
    0x0002aeec lw a2, 0xc0(sp)               |         a2 = *(arg_c0h);
    0x0002aef0 addiu t9, s5, -0x7998         |         t9 = s5 + -0x7998;
    0x0002aef4 move a3, s1                   |         a3 = s1;
    0x0002aef8 bal 0x28668                   |         fcn_00028668 ();
    0x0002aefc sw v0, (s4)                   |         *(s4) = v0;
    0x0002af00 lw gp, 0x28(sp)               |         gp = *(var_28h);
                                             |         if (v0 == 0) {
    0x0002af04 bnez v0, 0x2af24              |             
    0x0002af08 lbu v0, (s1)                  |             v0 = *(s1);
    0x0002af0c lw t9, -0x7664(gp)            |             t9 = *((gp - 7577));
                                             |             if (v0 == 0) {
    0x0002af10 beqz v0, 0x2af24              |                 goto label_118;
                                             |             }
                                             | label_115:
    0x0002af14 move a0, s0                   |             a0 = s0;
    0x0002af18 jalr t9                       |             t9 ();
    0x0002af1c lw gp, 0x28(sp)               |             gp = *(var_28h);
    0x0002af20 b 0x2af60                     |             goto label_30;
                                             |         }
                                             | label_118:
    0x0002af24 addiu s3, zero, 1             |         s3 = 1;
    0x0002af28 bnez s3, 0x2ae14              |         
                                             |     } while (s3 != 0);
    0x0002af2c lbu v0, (s6)                  |     v0 = *(s6);
    0x0002af30 move s3, zero                 |     s3 = 0;
                                             |     if (v0 != 0) {
    0x0002af34 bnez v0, 0x2ae14              |         goto label_5;
                                             |     }
    0x0002af38 lw t9, -0x7664(gp)            |     t9 = *((gp - 7577));
    0x0002af3c b 0x2ae7c                     |     goto label_6;
                                             | label_44:
    0x0002af40 addiu fp, zero, 5             |     fp = 5;
                                             | label_40:
    0x0002af44 move s0, zero                 |     s0 = 0;
    0x0002af48 b 0x2af6c                     |     goto label_52;
                                             | label_51:
    0x0002af4c addiu fp, zero, 5             |     fp = 5;
    0x0002af50 b 0x2af6c                     |     goto label_52;
                                             | label_53:
    0x0002af54 addiu fp, zero, 1             |     fp = 1;
                                             | label_101:
    0x0002af58 lw t9, -0x7664(gp)            |     t9 = *((gp - 7577));
    0x0002af5c b 0x2af70                     |     goto label_112;
                                             | label_30:
    0x0002af60 addiu fp, zero, 1             |     fp = 1;
                                             | label_35:
    0x0002af64 move s0, zero                 |     s0 = 0;
    0x0002af68 move s3, zero                 |     s3 = 0;
                                             | label_52:
    0x0002af6c lw t9, -0x7664(gp)            |     t9 = *((gp - 7577));
                                             | label_112:
    0x0002af70 move a0, s3                   |     a0 = s3;
    0x0002af74 jalr t9                       |     t9 ();
    0x0002af78 lw gp, 0x28(sp)               |     gp = *(var_28h);
    0x0002af7c move a0, s0                   |     a0 = s0;
                                             | label_25:
    0x0002af80 lw t9, -0x7664(gp)            |     t9 = *((gp - 7577));
    0x0002af84 jalr t9                       |     t9 ();
    0x0002af88 nop                           |     
    0x0002af8c lw ra, 0xb4(sp)               |     ra = *(var_b4h);
    0x0002af90 b 0x2afc8                     |     goto label_27;
                                             | label_24:
    0x0002af94 move fp, zero                 |     fp = 0;
    0x0002af98 b 0x2afc4                     |     goto label_17;
                                             | label_15:
    0x0002af9c lw t9, 0xcc(sp)               |     t9 = *(arg_cch);
                                             |     if (v0 != a2) {
    0x0002afa0 bne v0, a2, 0x29b08           |         goto label_7;
                                             |     }
    0x0002afa4 lw v1, 0xcc(sp)               |     v1 = *(arg_cch);
    0x0002afa8 b 0x29ae4                     |     goto label_8;
                                             | label_70:
    0x0002afac sw zero, 0x64(sp)             |     *(var_64h) = 0;
                                             | label_72:
    0x0002afb0 sw zero, 0x68(sp)             |     *(var_68h) = 0;
    0x0002afb4 sw zero, 0x6c(sp)             |     *(var_6ch) = 0;
    0x0002afb8 move t0, s0                   |     t0 = s0;
    0x0002afbc move t1, zero                 |     t1 = 0;
    0x0002afc0 b 0x2a870                     |     goto label_9;
                                             | label_17:
    0x0002afc4 lw ra, 0xb4(sp)               |     ra = *(var_b4h);
                                             | label_27:
    0x0002afc8 move v0, fp                   |     v0 = fp;
    0x0002afcc lw s7, 0xac(sp)               |     s7 = *(var_ach);
    0x0002afd0 lw fp, 0xb0(sp)               |     fp = *(var_b0h);
    0x0002afd4 lw s6, 0xa8(sp)               |     s6 = *(var_a8h);
    0x0002afd8 lw s5, 0xa4(sp)               |     s5 = *(var_a4h);
    0x0002afdc lw s4, 0xa0(sp)               |     s4 = *(var_a0h);
    0x0002afe0 lw s3, 0x9c(sp)               |     s3 = *(var_9ch);
    0x0002afe4 lw s2, 0x98(sp)               |     s2 = *(var_98h);
    0x0002afe8 lw s1, 0x94(sp)               |     s1 = *(var_94h);
    0x0002afec lw s0, 0x90(sp)               |     s0 = *(var_90h);
    0x0002aff0 addiu sp, sp, 0xb8            |     
    0x0002aff4 jr ra                         |     return v0;
                                             | }
    ; assembly                           | /* r2dec pseudo code output */
                                         | /* /logs/firmware/unblob_extracted/firmware_extract/2097216-5451840.squashfs_v4_le_extract/lib/libuClibc-0.9.33.2.so @ 0x11d80 */
                                         | #include <stdint.h>
                                         |  
    ; (fcn) sym.__assert ()              | void assert () {
    0x00011d80 lui gp, 0xb               |     
    0x00011d84 addiu gp, gp, -0x6a0      |     
    0x00011d88 addu gp, gp, t9           |     gp += t9;
    0x00011d8c lw v0, -0x7ed0(gp)        |     v0 = *((gp - 8116));
    0x00011d90 move v1, a1               |     v1 = a1;
    0x00011d94 addiu sp, sp, -0x30       |     
    0x00011d98 lw a1, -0x5e10(v0)        |     a1 = *((v0 - 6020));
    0x00011d9c sw gp, 0x20(sp)           |     *(var_20h) = gp;
    0x00011da0 sw ra, 0x2c(sp)           |     *(var_2ch) = ra;
    0x00011da4 lw t9, -0x7f2c(gp)        |     t9 = *((gp - 8139));
                                         |     if (a1 == 0) {
    0x00011da8 bnez a1, 0x11e00          |         
    0x00011dac addiu a1, zero, 1         |         a1 = 1;
    0x00011db0 sw a1, -0x5e10(v0)        |         *((v0 - 6020)) = a1;
    0x00011db4 lw v0, -0x7614(gp)        |         v0 = *((gp - 7557));
    0x00011db8 lw a1, (v0)               |         a1 = *(v0);
    0x00011dbc lw v0, -0x7fd8(gp)        |         v0 = *((gp - 8182));
    0x00011dc0 lw v0, (v0)               |         v0 = *(v0);
                                         |         if (a3 == 0) {
    0x00011dc4 bnez a3, 0x11dd0          |             
    0x00011dc8 lw a3, -0x7fd0(gp)        |             a3 = *((gp - 8180));
    0x00011dcc addiu a3, a3, 0x3e50      |             a3 += aav.0x00003e50;
                                         |         }
    0x00011dd0 sw a0, 0x18(sp)           |         *(var_18h) = a0;
    0x00011dd4 move a0, a1               |         a0 = a1;
    0x00011dd8 lw a1, -0x7fd0(gp)        |         a1 = *((gp - 8180));
    0x00011ddc lw t9, -0x7f5c(gp)        |         t9 = *((gp - 8151));
    0x00011de0 sw a2, 0x10(sp)           |         *(var_10h) = a2;
    0x00011de4 sw a3, 0x14(sp)           |         *(var_14h) = a3;
    0x00011de8 addiu a1, a1, 0x3e5c      |         a1 += aav.0x00003e5c;
    0x00011dec move a2, v0               |         a2 = v0;
    0x00011df0 move a3, v1               |         a3 = v1;
    0x00011df4 bal 0x2f860               |         sym_fprintf ()
    0x00011df8 lw gp, 0x20(sp)           |         gp = *(var_20h);
    0x00011dfc lw t9, -0x7f2c(gp)        |         t9 = *((gp - 8139));
                                         |     }
    0x00011e00 jalr t9                   |     t9 ();
    0x00011e04 nop                       |     
    0x00011e08 nop                       |     
    0x00011e0c nop                       |     
                                         | }
    ; assembly                               | /* r2dec pseudo code output */
                                             | /* /logs/firmware/unblob_extracted/firmware_extract/2097216-5451840.squashfs_v4_le_extract/lib/libuClibc-0.9.33.2.so @ 0x1adc8 */
                                             | #include <stdint.h>
                                             |  
    ; (fcn) sym.addmntent ()                 | void addmntent () {
    0x0001adc8 lui gp, 0xa                   |     
    0x0001adcc addiu gp, gp, 0x6918          |     
    0x0001add0 addu gp, gp, t9               |     gp += t9;
    0x0001add4 lw t9, -0x7d8c(gp)            |     t9 = *((gp - 8035));
    0x0001add8 addiu sp, sp, -0x38           |     
    0x0001addc addiu a2, zero, 2             |     a2 = 2;
    0x0001ade0 sw gp, 0x20(sp)               |     *(var_20h) = gp;
    0x0001ade4 sw s1, 0x30(sp)               |     *(var_30h) = s1;
    0x0001ade8 sw s0, 0x2c(sp)               |     *(var_2ch) = s0;
    0x0001adec sw ra, 0x34(sp)               |     *(var_34h) = ra;
    0x0001adf0 move s0, a1                   |     s0 = a1;
    0x0001adf4 move a1, zero                 |     a1 = 0;
    0x0001adf8 move s1, a0                   |     s1 = a0;
    0x0001adfc bal 0x2e960                   |     sym_fseeko ();
    0x0001ae00 lw gp, 0x20(sp)               |     gp = *(var_20h);
                                             |     if (v0 >= 0) {
    0x0001ae04 bltz v0, 0x1ae4c              |         
    0x0001ae08 lw v0, 8(s0)                  |         v0 = *((s0 + 2));
    0x0001ae0c lw a1, -0x7fd0(gp)            |         a1 = *((gp - 8180));
    0x0001ae10 lw a2, (s0)                   |         a2 = *(s0);
    0x0001ae14 sw v0, 0x10(sp)               |         *(var_10h) = v0;
    0x0001ae18 lw v0, 0xc(s0)                |         v0 = *((s0 + 3));
    0x0001ae1c lw a3, 4(s0)                  |         a3 = *((s0 + 1));
    0x0001ae20 lw t9, -0x7f5c(gp)            |         t9 = *((gp - 8151));
    0x0001ae24 sw v0, 0x14(sp)               |         *(var_14h) = v0;
    0x0001ae28 lw v0, 0x10(s0)               |         v0 = *((s0 + 4));
    0x0001ae2c move a0, s1                   |         a0 = s1;
    0x0001ae30 addiu a1, a1, 0x4940          |         a1 += 0x4940;
    0x0001ae34 sw v0, 0x18(sp)               |         *(var_18h) = v0;
    0x0001ae38 lw v0, 0x14(s0)               |         v0 = *((s0 + 5));
    0x0001ae3c sw v0, 0x1c(sp)               |         *(var_1ch) = v0;
    0x0001ae40 bal 0x2f860                   |         sym_fprintf ()
    0x0001ae44 srl v0, v0, 0x1f              |         v0 >>= 0x1f;
    0x0001ae48 b 0x1ae50                     |         
                                             |     } else {
    0x0001ae4c addiu v0, zero, 1             |         v0 = 1;
                                             |     }
    0x0001ae50 lw ra, 0x34(sp)               |     ra = *(var_34h);
    0x0001ae54 lw s1, 0x30(sp)               |     s1 = *(var_30h);
    0x0001ae58 lw s0, 0x2c(sp)               |     s0 = *(var_2ch);
    0x0001ae5c addiu sp, sp, 0x38            |     
    0x0001ae60 jr ra                         |     return v0;
                                             | }
    ; assembly                           | /* r2dec pseudo code output */
                                         | /* /logs/firmware/unblob_extracted/firmware_extract/2097216-5451840.squashfs_v4_le_extract/lib/libuClibc-0.9.33.2.so @ 0x13360 */
                                         | #include <stdint.h>
                                         |  
    ; (fcn) sym.error ()                 | void error () {
    0x00013360 lui gp, 0xb               |     
    0x00013364 addiu gp, gp, -0x1c80     |     
    0x00013368 addu gp, gp, t9           |     gp += t9;
    0x0001336c lw v0, -0x7578(gp)        |     v0 = *((gp - 7518));
    0x00013370 addiu sp, sp, -0x38       |     
    0x00013374 sw a3, 0x44(sp)           |     *(ap) = a3;
    0x00013378 lw t9, -0x7e44(gp)        |     t9 = *((gp - 8081));
    0x0001337c sw s0, 0x24(sp)           |     *(var_24h_2) = s0;
    0x00013380 move s0, a0               |     s0 = a0;
    0x00013384 lw a0, (v0)               |     a0 = *(v0);
    0x00013388 sw gp, 0x10(sp)           |     *(var_10h_2) = gp;
    0x0001338c sw s3, 0x30(sp)           |     *(var_30h) = s3;
    0x00013390 sw s1, 0x28(sp)           |     *(var_28h) = s1;
    0x00013394 sw ra, 0x34(sp)           |     *(var_34h) = ra;
    0x00013398 sw s2, 0x2c(sp)           |     *(var_2ch) = s2;
    0x0001339c move s1, a1               |     s1 = a1;
    0x000133a0 move s3, a2               |     s3 = a2;
    0x000133a4 jalr t9                   |     t9 ();
    0x000133a8 lw gp, 0x10(sp)           |     gp = *(var_10h_2);
    0x000133ac lw v0, -0x75b8(gp)        |     v0 = *((gp - 7534));
    0x000133b0 lw t9, (v0)               |     t9 = *(v0);
    0x000133b4 lw v0, -0x7614(gp)        |     v0 = *((gp - 7557));
                                         |     if (t9 != 0) {
    0x000133b8 beqz t9, 0x133cc          |         
    0x000133bc jalr t9                   |         t9 ();
    0x000133c0 nop                       |         
    0x000133c4 lw gp, 0x10(sp)           |         gp = *(var_10h_2);
    0x000133c8 b 0x133ec                 |         
                                         |     } else {
    0x000133cc lw a1, -0x7fd0(gp)        |         a1 = *((gp - 8180));
    0x000133d0 lw t9, -0x7f5c(gp)        |         t9 = *((gp - 8151));
    0x000133d4 lw a0, (v0)               |         a0 = *(v0);
    0x000133d8 lw v0, -0x7fd8(gp)        |         v0 = *((gp - 8182));
    0x000133dc addiu a1, a1, 0x47a0      |         a1 += 0x47a0;
    0x000133e0 lw a2, (v0)               |         a2 = *(v0);
    0x000133e4 bal 0x2f860               |         sym_fprintf ()
    0x000133e8 lw gp, 0x10(sp)           |         gp = *(var_10h_2);
                                         |     }
    0x000133ec lw s2, -0x7614(gp)        |     s2 = *((gp - 7557));
    0x000133f0 lw t9, -0x7e5c(gp)        |     t9 = *((gp - 8087));
    0x000133f4 addiu a2, sp, 0x44        |     a2 = sp + 0x44;
    0x000133f8 lw a0, (s2)               |     a0 = *(s2);
    0x000133fc sw a2, 0x18(sp)           |     *(var_18h_2) = a2;
    0x00013400 move a1, s3               |     a1 = s3;
    0x00013404 bal 0x331a0               |     sym_vfprintf ()
    0x00013408 lw gp, 0x10(sp)           |     gp = *(var_10h_2);
    0x0001340c lw v0, -0x75ac(gp)        |     v0 = *((gp - 7531));
    0x00013410 lw v1, (v0)               |     v1 = *(v0);
    0x00013414 addiu v1, v1, 1           |     v1++;
    0x00013418 sw v1, (v0)               |     *(v0) = v1;
                                         |     if (s1 != 0) {
    0x0001341c beqz s1, 0x13450          |         
    0x00013420 lw t9, -0x7e40(gp)        |         t9 = *((gp - 8080));
    0x00013424 move a0, s1               |         a0 = s1;
    0x00013428 lw s2, (s2)               |         s2 = *(s2);
    0x0001342c jalr t9                   |         t9 ();
    0x00013430 lw gp, 0x10(sp)           |         gp = *(var_10h_2);
    0x00013434 move a0, s2               |         a0 = s2;
    0x00013438 move a2, v0               |         a2 = v0;
    0x0001343c lw a1, -0x7fd0(gp)        |         a1 = *((gp - 8180));
    0x00013440 lw t9, -0x7f5c(gp)        |         t9 = *((gp - 8151));
    0x00013444 addiu a1, a1, 0x47a8      |         a1 += 0x47a8;
    0x00013448 bal 0x2f860               |         sym_fprintf ()
    0x0001344c lw gp, 0x10(sp)           |         gp = *(var_10h_2);
                                         |     }
    0x00013450 lw v0, -0x7614(gp)        |     v0 = *((gp - 7557));
    0x00013454 lw a1, (v0)               |     a1 = *(v0);
    0x00013458 lw v0, 0x48(a1)           |     v0 = *((a1 + 18));
    0x0001345c lw t9, -0x7e3c(gp)        |     t9 = *((gp - 8079));
                                         |     if (v0 != 0) {
    0x00013460 beqz v0, 0x13494          |         
    0x00013464 lw v0, 0x10(a1)           |         v0 = *((a1 + 4));
    0x00013468 lw v1, 0x1c(a1)           |         v1 = *((a1 + 7));
    0x0001346c sltu v1, v0, v1           |         v1 = (v0 < v1) ? 1 : 0;
    0x00013470 addiu v1, zero, 0xa       |         v1 = 0xa;
                                         |         if (v1 != 0) {
    0x00013474 beqz v1, 0x13488          |             
    0x00013478 sb v1, (v0)               |             *(v0) = v1;
    0x0001347c addiu v0, v0, 1           |             v0++;
    0x00013480 sw v0, 0x10(a1)           |             *((a1 + 4)) = v0;
    0x00013484 b 0x134a4                 |             goto label_0;
                                         |         }
    0x00013488 addiu a0, zero, 0xa       |         a0 = 0xa;
    0x0001348c lw t9, -0x7e38(gp)        |         t9 = *((gp - 8078));
    0x00013490 b 0x13498                 |         
                                         |     } else {
    0x00013494 addiu a0, zero, 0xa       |         a0 = 0xa;
                                         |     }
    0x00013498 jalr t9                   |     t9 ();
    0x0001349c nop                       |     
    0x000134a0 lw gp, 0x10(sp)           |     gp = *(var_10h_2);
                                         | label_0:
    0x000134a4 lw ra, 0x34(sp)           |     ra = *(var_34h);
                                         |     if (s0 != 0) {
    0x000134a8 beqz s0, 0x134b8          |         
    0x000134ac lw t9, -0x7e50(gp)        |         t9 = *((gp - 8084));
    0x000134b0 move a0, s0               |         a0 = s0;
    0x000134b4 jalr t9                   |         t9 ();
                                         |     }
    0x000134b8 lw s3, 0x30(sp)           |     s3 = *(var_30h);
    0x000134bc lw s2, 0x2c(sp)           |     s2 = *(var_2ch);
    0x000134c0 lw s1, 0x28(sp)           |     s1 = *(var_28h);
    0x000134c4 lw s0, 0x24(sp)           |     s0 = *(var_24h_2);
    0x000134c8 addiu sp, sp, 0x38        |     
    0x000134cc jr ra                     |     return v0;
                                         | }
    ; assembly                           | /* r2dec pseudo code output */
                                         | /* /logs/firmware/unblob_extracted/firmware_extract/2097216-5451840.squashfs_v4_le_extract/lib/libuClibc-0.9.33.2.so @ 0x134d0 */
                                         | #include <stdint.h>
                                         |  
    ; (fcn) sym.error_at_line ()         | void error_at_line () {
    0x000134d0 lui gp, 0xb               |     
    0x000134d4 addiu gp, gp, -0x1df0     |     
    0x000134d8 addu gp, gp, t9           |     gp += t9;
    0x000134dc lw v0, -0x763c(gp)        |     v0 = *((gp - 7567));
    0x000134e0 addiu sp, sp, -0x40       |     
    0x000134e4 sw gp, 0x10(sp)           |     *(var_10h) = gp;
    0x000134e8 lw v0, (v0)               |     v0 = *(v0);
    0x000134ec sw s3, 0x30(sp)           |     *(var_30h) = s3;
    0x000134f0 sw s2, 0x2c(sp)           |     *(var_2ch) = s2;
    0x000134f4 sw s1, 0x28(sp)           |     *(var_28h) = s1;
    0x000134f8 sw s0, 0x24(sp)           |     *(var_24h) = s0;
    0x000134fc sw ra, 0x3c(sp)           |     *(var_3ch) = ra;
    0x00013500 sw s5, 0x38(sp)           |     *(var_38h) = s5;
    0x00013504 sw s4, 0x34(sp)           |     *(var_34h) = s4;
    0x00013508 move s2, a0               |     s2 = a0;
    0x0001350c move s3, a1               |     s3 = a1;
    0x00013510 move s0, a2               |     s0 = a2;
    0x00013514 move s1, a3               |     s1 = a3;
                                         |     if (v0 != 0) {
    0x00013518 beqz v0, 0x13554          |         
    0x0001351c lw v0, -0x7ed0(gp)        |         v0 = *((gp - 8116));
    0x00013520 lw s4, -0x7ed0(gp)        |         s4 = *((gp - 8116));
    0x00013524 lw v1, -0x5df8(v0)        |         v1 = *((v0 - 6014));
    0x00013528 move s5, v0               |         s5 = v0;
                                         |         if (v1 == a3) {
    0x0001352c bne v1, a3, 0x1354c       |             
    0x00013530 lw a0, -0x5df4(s4)        |             a0 = *((s4 - 6013));
    0x00013534 lw t9, -0x7e98(gp)        |             t9 = *((gp - 8102));
                                         |             if (a2 == a0) {
    0x00013538 beq a2, a0, 0x1369c       |                 goto label_0;
                                         |             }
    0x0001353c move a1, a2               |             a1 = a2;
    0x00013540 jalr t9                   |             t9 ();
    0x00013544 lw gp, 0x10(sp)           |             gp = *(var_10h);
                                         |             if (v0 == 0) {
    0x00013548 beqz v0, 0x1369c          |                 goto label_0;
                                         |             }
                                         |         }
    0x0001354c sw s0, -0x5df4(s4)        |         *((s4 - 6013)) = s0;
    0x00013550 sw s1, -0x5df8(s5)        |         *((s5 - 6014)) = s1;
                                         |     }
    0x00013554 lw v0, -0x7578(gp)        |     v0 = *((gp - 7518));
    0x00013558 lw t9, -0x7e44(gp)        |     t9 = *((gp - 8081));
    0x0001355c lw a0, (v0)               |     a0 = *(v0);
    0x00013560 jalr t9                   |     t9 ();
    0x00013564 lw gp, 0x10(sp)           |     gp = *(var_10h);
    0x00013568 lw v0, -0x75b8(gp)        |     v0 = *((gp - 7534));
    0x0001356c lw t9, (v0)               |     t9 = *(v0);
    0x00013570 lw v0, -0x7614(gp)        |     v0 = *((gp - 7557));
                                         |     if (t9 != 0) {
    0x00013574 beqz t9, 0x13588          |         
    0x00013578 jalr t9                   |         t9 ();
    0x0001357c nop                       |         
    0x00013580 lw gp, 0x10(sp)           |         gp = *(var_10h);
    0x00013584 b 0x135a8                 |         
                                         |     } else {
    0x00013588 lw a1, -0x7fd0(gp)        |         a1 = *((gp - 8180));
    0x0001358c lw t9, -0x7f5c(gp)        |         t9 = *((gp - 8151));
    0x00013590 lw a0, (v0)               |         a0 = *(v0);
    0x00013594 lw v0, -0x7fd8(gp)        |         v0 = *((gp - 8182));
    0x00013598 addiu a1, a1, 0x47b0      |         a1 += 0x47b0;
    0x0001359c lw a2, (v0)               |         a2 = *(v0);
    0x000135a0 bal 0x2f860               |         sym_fprintf ()
    0x000135a4 lw gp, 0x10(sp)           |         gp = *(var_10h);
                                         |     }
    0x000135a8 lw v0, -0x7614(gp)        |     v0 = *((gp - 7557));
                                         |     if (s0 != 0) {
    0x000135ac beqz s0, 0x135d0          |         
    0x000135b0 lw a1, -0x7fd0(gp)        |         a1 = *((gp - 8180));
    0x000135b4 lw t9, -0x7f5c(gp)        |         t9 = *((gp - 8151));
    0x000135b8 lw a0, (v0)               |         a0 = *(v0);
    0x000135bc addiu a1, a1, 0x47b4      |         a1 += 0x47b4;
    0x000135c0 move a2, s0               |         a2 = s0;
    0x000135c4 move a3, s1               |         a3 = s1;
    0x000135c8 bal 0x2f860               |         sym_fprintf ()
    0x000135cc lw gp, 0x10(sp)           |         gp = *(var_10h);
                                         |     }
    0x000135d0 lw s0, -0x7614(gp)        |     s0 = *((gp - 7557));
    0x000135d4 lw t9, -0x7e5c(gp)        |     t9 = *((gp - 8087));
    0x000135d8 lw a1, 0x50(sp)           |     a1 = *(arg_50h);
    0x000135dc lw a0, (s0)               |     a0 = *(s0);
    0x000135e0 addiu a2, sp, 0x54        |     a2 = sp + 0x54;
    0x000135e4 sw a2, 0x18(sp)           |     *(var_18h) = a2;
    0x000135e8 bal 0x331a0               |     sym_vfprintf ()
    0x000135ec lw gp, 0x10(sp)           |     gp = *(var_10h);
    0x000135f0 lw v0, -0x75ac(gp)        |     v0 = *((gp - 7531));
    0x000135f4 lw v1, (v0)               |     v1 = *(v0);
    0x000135f8 addiu v1, v1, 1           |     v1++;
    0x000135fc sw v1, (v0)               |     *(v0) = v1;
                                         |     if (s3 != 0) {
    0x00013600 beqz s3, 0x13634          |         
    0x00013604 lw t9, -0x7e40(gp)        |         t9 = *((gp - 8080));
    0x00013608 move a0, s3               |         a0 = s3;
    0x0001360c lw s0, (s0)               |         s0 = *(s0);
    0x00013610 jalr t9                   |         t9 ();
    0x00013614 lw gp, 0x10(sp)           |         gp = *(var_10h);
    0x00013618 move a0, s0               |         a0 = s0;
    0x0001361c move a2, v0               |         a2 = v0;
    0x00013620 lw a1, -0x7fd0(gp)        |         a1 = *((gp - 8180));
    0x00013624 lw t9, -0x7f5c(gp)        |         t9 = *((gp - 8151));
    0x00013628 addiu a1, a1, 0x47a8      |         a1 += 0x47a8;
    0x0001362c bal 0x2f860               |         sym_fprintf ()
    0x00013630 lw gp, 0x10(sp)           |         gp = *(var_10h);
                                         |     }
    0x00013634 lw v0, -0x7614(gp)        |     v0 = *((gp - 7557));
    0x00013638 lw a1, (v0)               |     a1 = *(v0);
    0x0001363c lw v0, 0x48(a1)           |     v0 = *((a1 + 18));
    0x00013640 lw t9, -0x7e3c(gp)        |     t9 = *((gp - 8079));
                                         |     if (v0 != 0) {
    0x00013644 beqz v0, 0x13678          |         
    0x00013648 lw v0, 0x10(a1)           |         v0 = *((a1 + 4));
    0x0001364c lw v1, 0x1c(a1)           |         v1 = *((a1 + 7));
    0x00013650 sltu v1, v0, v1           |         v1 = (v0 < v1) ? 1 : 0;
    0x00013654 addiu v1, zero, 0xa       |         v1 = 0xa;
                                         |         if (v1 != 0) {
    0x00013658 beqz v1, 0x1366c          |             
    0x0001365c sb v1, (v0)               |             *(v0) = v1;
    0x00013660 addiu v0, v0, 1           |             v0++;
    0x00013664 sw v0, 0x10(a1)           |             *((a1 + 4)) = v0;
    0x00013668 b 0x13688                 |             goto label_1;
                                         |         }
    0x0001366c addiu a0, zero, 0xa       |         a0 = 0xa;
    0x00013670 lw t9, -0x7e38(gp)        |         t9 = *((gp - 8078));
    0x00013674 b 0x1367c                 |         
                                         |     } else {
    0x00013678 addiu a0, zero, 0xa       |         a0 = 0xa;
                                         |     }
    0x0001367c jalr t9                   |     t9 ();
    0x00013680 nop                       |     
    0x00013684 lw gp, 0x10(sp)           |     gp = *(var_10h);
                                         | label_1:
    0x00013688 lw ra, 0x3c(sp)           |     ra = *(var_3ch);
                                         |     if (s2 != 0) {
    0x0001368c beqz s2, 0x136a0          |         
    0x00013690 lw t9, -0x7e50(gp)        |         t9 = *((gp - 8084));
    0x00013694 move a0, s2               |         a0 = s2;
    0x00013698 jalr t9                   |         t9 ();
                                         | label_0:
    0x0001369c lw ra, 0x3c(sp)           |         ra = *(var_3ch);
                                         |     }
    0x000136a0 lw s5, 0x38(sp)           |     s5 = *(var_38h);
    0x000136a4 lw s4, 0x34(sp)           |     s4 = *(var_34h);
    0x000136a8 lw s3, 0x30(sp)           |     s3 = *(var_30h);
    0x000136ac lw s2, 0x2c(sp)           |     s2 = *(var_2ch);
    0x000136b0 lw s1, 0x28(sp)           |     s1 = *(var_28h);
    0x000136b4 lw s0, 0x24(sp)           |     s0 = *(var_24h);
    0x000136b8 addiu sp, sp, 0x40        |     
    0x000136bc jr ra                     |     return v0;
                                         | }
    ; assembly                           | /* r2dec pseudo code output */
                                         | /* /logs/firmware/unblob_extracted/firmware_extract/2097216-5451840.squashfs_v4_le_extract/lib/libuClibc-0.9.33.2.so @ 0x134d0 */
                                         | #include <stdint.h>
                                         |  
    ; (fcn) sym.error_at_line ()         | void error_at_line () {
    0x000134d0 lui gp, 0xb               |     
    0x000134d4 addiu gp, gp, -0x1df0     |     
    0x000134d8 addu gp, gp, t9           |     gp += t9;
    0x000134dc lw v0, -0x763c(gp)        |     v0 = *((gp - 7567));
    0x000134e0 addiu sp, sp, -0x40       |     
    0x000134e4 sw gp, 0x10(sp)           |     *(var_10h) = gp;
    0x000134e8 lw v0, (v0)               |     v0 = *(v0);
    0x000134ec sw s3, 0x30(sp)           |     *(var_30h) = s3;
    0x000134f0 sw s2, 0x2c(sp)           |     *(var_2ch) = s2;
    0x000134f4 sw s1, 0x28(sp)           |     *(var_28h) = s1;
    0x000134f8 sw s0, 0x24(sp)           |     *(var_24h) = s0;
    0x000134fc sw ra, 0x3c(sp)           |     *(var_3ch) = ra;
    0x00013500 sw s5, 0x38(sp)           |     *(var_38h) = s5;
    0x00013504 sw s4, 0x34(sp)           |     *(var_34h) = s4;
    0x00013508 move s2, a0               |     s2 = a0;
    0x0001350c move s3, a1               |     s3 = a1;
    0x00013510 move s0, a2               |     s0 = a2;
    0x00013514 move s1, a3               |     s1 = a3;
                                         |     if (v0 != 0) {
    0x00013518 beqz v0, 0x13554          |         
    0x0001351c lw v0, -0x7ed0(gp)        |         v0 = *((gp - 8116));
    0x00013520 lw s4, -0x7ed0(gp)        |         s4 = *((gp - 8116));
    0x00013524 lw v1, -0x5df8(v0)        |         v1 = *((v0 - 6014));
    0x00013528 move s5, v0               |         s5 = v0;
                                         |         if (v1 == a3) {
    0x0001352c bne v1, a3, 0x1354c       |             
    0x00013530 lw a0, -0x5df4(s4)        |             a0 = *((s4 - 6013));
    0x00013534 lw t9, -0x7e98(gp)        |             t9 = *((gp - 8102));
                                         |             if (a2 == a0) {
    0x00013538 beq a2, a0, 0x1369c       |                 goto label_0;
                                         |             }
    0x0001353c move a1, a2               |             a1 = a2;
    0x00013540 jalr t9                   |             t9 ();
    0x00013544 lw gp, 0x10(sp)           |             gp = *(var_10h);
                                         |             if (v0 == 0) {
    0x00013548 beqz v0, 0x1369c          |                 goto label_0;
                                         |             }
                                         |         }
    0x0001354c sw s0, -0x5df4(s4)        |         *((s4 - 6013)) = s0;
    0x00013550 sw s1, -0x5df8(s5)        |         *((s5 - 6014)) = s1;
                                         |     }
    0x00013554 lw v0, -0x7578(gp)        |     v0 = *((gp - 7518));
    0x00013558 lw t9, -0x7e44(gp)        |     t9 = *((gp - 8081));
    0x0001355c lw a0, (v0)               |     a0 = *(v0);
    0x00013560 jalr t9                   |     t9 ();
    0x00013564 lw gp, 0x10(sp)           |     gp = *(var_10h);
    0x00013568 lw v0, -0x75b8(gp)        |     v0 = *((gp - 7534));
    0x0001356c lw t9, (v0)               |     t9 = *(v0);
    0x00013570 lw v0, -0x7614(gp)        |     v0 = *((gp - 7557));
                                         |     if (t9 != 0) {
    0x00013574 beqz t9, 0x13588          |         
    0x00013578 jalr t9                   |         t9 ();
    0x0001357c nop                       |         
    0x00013580 lw gp, 0x10(sp)           |         gp = *(var_10h);
    0x00013584 b 0x135a8                 |         
                                         |     } else {
    0x00013588 lw a1, -0x7fd0(gp)        |         a1 = *((gp - 8180));
    0x0001358c lw t9, -0x7f5c(gp)        |         t9 = *((gp - 8151));
    0x00013590 lw a0, (v0)               |         a0 = *(v0);
    0x00013594 lw v0, -0x7fd8(gp)        |         v0 = *((gp - 8182));
    0x00013598 addiu a1, a1, 0x47b0      |         a1 += 0x47b0;
    0x0001359c lw a2, (v0)               |         a2 = *(v0);
    0x000135a0 bal 0x2f860               |         sym_fprintf ()
    0x000135a4 lw gp, 0x10(sp)           |         gp = *(var_10h);
                                         |     }
    0x000135a8 lw v0, -0x7614(gp)        |     v0 = *((gp - 7557));
                                         |     if (s0 != 0) {
    0x000135ac beqz s0, 0x135d0          |         
    0x000135b0 lw a1, -0x7fd0(gp)        |         a1 = *((gp - 8180));
    0x000135b4 lw t9, -0x7f5c(gp)        |         t9 = *((gp - 8151));
    0x000135b8 lw a0, (v0)               |         a0 = *(v0);
    0x000135bc addiu a1, a1, 0x47b4      |         a1 += 0x47b4;
    0x000135c0 move a2, s0               |         a2 = s0;
    0x000135c4 move a3, s1               |         a3 = s1;
    0x000135c8 bal 0x2f860               |         sym_fprintf ()
    0x000135cc lw gp, 0x10(sp)           |         gp = *(var_10h);
                                         |     }
    0x000135d0 lw s0, -0x7614(gp)        |     s0 = *((gp - 7557));
    0x000135d4 lw t9, -0x7e5c(gp)        |     t9 = *((gp - 8087));
    0x000135d8 lw a1, 0x50(sp)           |     a1 = *(arg_50h);
    0x000135dc lw a0, (s0)               |     a0 = *(s0);
    0x000135e0 addiu a2, sp, 0x54        |     a2 = sp + 0x54;
    0x000135e4 sw a2, 0x18(sp)           |     *(var_18h) = a2;
    0x000135e8 bal 0x331a0               |     sym_vfprintf ()
    0x000135ec lw gp, 0x10(sp)           |     gp = *(var_10h);
    0x000135f0 lw v0, -0x75ac(gp)        |     v0 = *((gp - 7531));
    0x000135f4 lw v1, (v0)               |     v1 = *(v0);
    0x000135f8 addiu v1, v1, 1           |     v1++;
    0x000135fc sw v1, (v0)               |     *(v0) = v1;
                                         |     if (s3 != 0) {
    0x00013600 beqz s3, 0x13634          |         
    0x00013604 lw t9, -0x7e40(gp)        |         t9 = *((gp - 8080));
    0x00013608 move a0, s3               |         a0 = s3;
    0x0001360c lw s0, (s0)               |         s0 = *(s0);
    0x00013610 jalr t9                   |         t9 ();
    0x00013614 lw gp, 0x10(sp)           |         gp = *(var_10h);
    0x00013618 move a0, s0               |         a0 = s0;
    0x0001361c move a2, v0               |         a2 = v0;
    0x00013620 lw a1, -0x7fd0(gp)        |         a1 = *((gp - 8180));
    0x00013624 lw t9, -0x7f5c(gp)        |         t9 = *((gp - 8151));
    0x00013628 addiu a1, a1, 0x47a8      |         a1 += 0x47a8;
    0x0001362c bal 0x2f860               |         sym_fprintf ()
    0x00013630 lw gp, 0x10(sp)           |         gp = *(var_10h);
                                         |     }
    0x00013634 lw v0, -0x7614(gp)        |     v0 = *((gp - 7557));
    0x00013638 lw a1, (v0)               |     a1 = *(v0);
    0x0001363c lw v0, 0x48(a1)           |     v0 = *((a1 + 18));
    0x00013640 lw t9, -0x7e3c(gp)        |     t9 = *((gp - 8079));
                                         |     if (v0 != 0) {
    0x00013644 beqz v0, 0x13678          |         
    0x00013648 lw v0, 0x10(a1)           |         v0 = *((a1 + 4));
    0x0001364c lw v1, 0x1c(a1)           |         v1 = *((a1 + 7));
    0x00013650 sltu v1, v0, v1           |         v1 = (v0 < v1) ? 1 : 0;
    0x00013654 addiu v1, zero, 0xa       |         v1 = 0xa;
                                         |         if (v1 != 0) {
    0x00013658 beqz v1, 0x1366c          |             
    0x0001365c sb v1, (v0)               |             *(v0) = v1;
    0x00013660 addiu v0, v0, 1           |             v0++;
    0x00013664 sw v0, 0x10(a1)           |             *((a1 + 4)) = v0;
    0x00013668 b 0x13688                 |             goto label_1;
                                         |         }
    0x0001366c addiu a0, zero, 0xa       |         a0 = 0xa;
    0x00013670 lw t9, -0x7e38(gp)        |         t9 = *((gp - 8078));
    0x00013674 b 0x1367c                 |         
                                         |     } else {
    0x00013678 addiu a0, zero, 0xa       |         a0 = 0xa;
                                         |     }
    0x0001367c jalr t9                   |     t9 ();
    0x00013680 nop                       |     
    0x00013684 lw gp, 0x10(sp)           |     gp = *(var_10h);
                                         | label_1:
    0x00013688 lw ra, 0x3c(sp)           |     ra = *(var_3ch);
                                         |     if (s2 != 0) {
    0x0001368c beqz s2, 0x136a0          |         
    0x00013690 lw t9, -0x7e50(gp)        |         t9 = *((gp - 8084));
    0x00013694 move a0, s2               |         a0 = s2;
    0x00013698 jalr t9                   |         t9 ();
                                         | label_0:
    0x0001369c lw ra, 0x3c(sp)           |         ra = *(var_3ch);
                                         |     }
    0x000136a0 lw s5, 0x38(sp)           |     s5 = *(var_38h);
    0x000136a4 lw s4, 0x34(sp)           |     s4 = *(var_34h);
    0x000136a8 lw s3, 0x30(sp)           |     s3 = *(var_30h);
    0x000136ac lw s2, 0x2c(sp)           |     s2 = *(var_2ch);
    0x000136b0 lw s1, 0x28(sp)           |     s1 = *(var_28h);
    0x000136b4 lw s0, 0x24(sp)           |     s0 = *(var_24h);
    0x000136b8 addiu sp, sp, 0x40        |     
    0x000136bc jr ra                     |     return v0;
                                         | }
    ; assembly                               | /* r2dec pseudo code output */
                                             | /* /logs/firmware/unblob_extracted/firmware_extract/2097216-5451840.squashfs_v4_le_extract/lib/libuClibc-0.9.33.2.so @ 0x4f4a0 */
                                             | #include <stdint.h>
                                             |  
    ; (fcn) sym.herror ()                    | void herror () {
    0x0004f4a0 lui gp, 7                     |     
    0x0004f4a4 addiu gp, gp, 0x2240          |     
    0x0004f4a8 addu gp, gp, t9               |     gp += t9;
    0x0004f4ac addiu sp, sp, -0x28           |     
    0x0004f4b0 sw gp, 0x18(sp)               |     *(var_18h) = gp;
    0x0004f4b4 sw ra, 0x24(sp)               |     *(var_24h) = ra;
    0x0004f4b8 move a2, a0                   |     a2 = a0;
                                             |     if (a0 != 0) {
    0x0004f4bc beqz a0, 0x4f4d8              |         
    0x0004f4c0 lbu v0, (a0)                  |         v0 = *(a0);
                                             |         if (v0 != 0) {
    0x0004f4c4 beql v0, zero, 0x4f4dc        |             
    0x0004f4c8 lw a3, -0x7fd0(gp)            |             a3 = *((gp - 8180));
    0x0004f4cc lw a3, -0x7fd0(gp)            |             a3 = *((gp - 8180));
    0x0004f4d0 addiu a3, a3, 0x55e0          |             a3 += 0x55e0;
    0x0004f4d4 b 0x4f4e0                     |             
                                             |         } else {
    0x0004f4d8 lw a3, -0x7fd0(gp)            |             a3 = *((gp - 8180));
                                             |         }
    0x0004f4dc addiu a3, a3, 0x55e2          |         a3 += 0x55e2;
                                             |     }
    0x0004f4e0 rdhwr v1, 29                  |     __asm ("rdhwr v1, 29");
    0x0004f4e4 move v0, v1                   |     v0 = v1;
    0x0004f4e8 lw v1, -0x756c(gp)            |     v1 = *((gp - 7515));
    0x0004f4ec addu v0, v1, v0               |     v0 = v1 + v0;
    0x0004f4f0 lw v0, (v0)                   |     v0 = *(v0);
    0x0004f4f4 sltiu v1, v0, 5               |     v1 = (v0 < 5) ? 1 : 0;
    0x0004f4f8 lw v1, -0x7ed0(gp)            |     v1 = *((gp - 8116));
                                             |     if (v1 != 0) {
    0x0004f4fc beqz v1, 0x4f514              |         
    0x0004f500 sll v0, v0, 2                 |         v0 <<= 2;
    0x0004f504 addiu v1, v1, -0x6e78         |         v1 += -0x6e78;
    0x0004f508 addu v0, v0, v1               |         v0 += v1;
    0x0004f50c lw v0, (v0)                   |         v0 = *(v0);
    0x0004f510 b 0x4f51c                     |         
                                             |     } else {
    0x0004f514 lw v0, -0x7fd0(gp)            |         v0 = *((gp - 8180));
    0x0004f518 addiu v0, v0, 0x795c          |         v0 += 0x795c;
                                             |     }
    0x0004f51c lw v1, -0x7614(gp)            |     v1 = *((gp - 7557));
    0x0004f520 lw a1, -0x7fd0(gp)            |     a1 = *((gp - 8180));
    0x0004f524 lw t9, -0x7f5c(gp)            |     t9 = *((gp - 8151));
    0x0004f528 lw a0, (v1)                   |     a0 = *(v1);
    0x0004f52c addiu a1, a1, 0x6740          |     a1 += 0x6740;
    0x0004f530 sw v0, 0x10(sp)               |     *(var_10h) = v0;
    0x0004f534 bal 0x2f860                   |     sym_fprintf ()
    0x0004f538 lw ra, 0x24(sp)               |     ra = *(var_24h);
    0x0004f53c addiu sp, sp, 0x28            |     
    0x0004f540 jr ra                         |     return v0;
                                             | }
    ; assembly                               | /* r2dec pseudo code output */
                                             | /* /logs/firmware/unblob_extracted/firmware_extract/2097216-5451840.squashfs_v4_le_extract/lib/libuClibc-0.9.33.2.so @ 0x2ef90 */
                                             | #include <stdint.h>
                                             |  
    ; (fcn) sym.perror ()                    | void perror () {
    0x0002ef90 lui gp, 9                     |     
    0x0002ef94 addiu gp, gp, 0x2750          |     
    0x0002ef98 addu gp, gp, t9               |     gp += t9;
    0x0002ef9c move a2, a0                   |     a2 = a0;
                                             |     if (a0 != 0) {
    0x0002efa0 beqz a0, 0x2efbc              |         
    0x0002efa4 lbu v0, (a0)                  |         v0 = *(a0);
                                             |         if (v0 != 0) {
    0x0002efa8 beql v0, zero, 0x2efc0        |             
    0x0002efac lw a3, -0x7fd0(gp)            |             a3 = *((gp - 8180));
    0x0002efb0 lw a3, -0x7fd0(gp)            |             a3 = *((gp - 8180));
    0x0002efb4 addiu a3, a3, 0x55e0          |             a3 += 0x55e0;
    0x0002efb8 b 0x2efc8                     |             
                                             |         } else {
    0x0002efbc lw a3, -0x7fd0(gp)            |             a3 = *((gp - 8180));
                                             |         }
    0x0002efc0 addiu a3, a3, 0x55e2          |         a3 += 0x55e2;
    0x0002efc4 move a2, a3                   |         a2 = a3;
                                             |     }
    0x0002efc8 lw v0, -0x7614(gp)            |     v0 = *((gp - 7557));
    0x0002efcc lw a1, -0x7fd0(gp)            |     a1 = *((gp - 8180));
    0x0002efd0 lw t9, -0x7f5c(gp)            |     t9 = *((gp - 8151));
    0x0002efd4 lw a0, (v0)                   |     a0 = *(v0);
    0x0002efd8 addiu a1, a1, 0x55e4          |     a1 += 0x55e4;
    0x0002efdc b 0x2f860                     |     return void (*0x2f860)() ();
                                             | }
    ; assembly                               | /* r2dec pseudo code output */
                                             | /* /logs/firmware/unblob_extracted/firmware_extract/2097216-5451840.squashfs_v4_le_extract/lib/libuClibc-0.9.33.2.so @ 0x3c290 */
                                             | #include <stdint.h>
                                             |  
    ; (fcn) sym.psignal ()                   | void psignal () {
    0x0003c290 lui gp, 8                     |     
    0x0003c294 addiu gp, gp, 0x5450          |     
    0x0003c298 addu gp, gp, t9               |     gp += t9;
    0x0003c29c addiu sp, sp, -0x30           |     
    0x0003c2a0 sw gp, 0x18(sp)               |     *(var_18h) = gp;
    0x0003c2a4 sw ra, 0x2c(sp)               |     *(var_2ch) = ra;
    0x0003c2a8 sw s2, 0x28(sp)               |     *(var_28h) = s2;
    0x0003c2ac sw s1, 0x24(sp)               |     *(var_24h) = s1;
    0x0003c2b0 sw s0, 0x20(sp)               |     *(var_20h) = s0;
                                             |     if (a1 != 0) {
    0x0003c2b4 beql a1, zero, 0x3c2d8        |         
    0x0003c2b8 lw s0, -0x7fd0(gp)            |         s0 = *((gp - 8180));
    0x0003c2bc lbu v0, (a1)                  |         v0 = *(a1);
                                             |         if (v0 != 0) {
    0x0003c2c0 beql v0, zero, 0x3c2d8        |             
    0x0003c2c4 lw s0, -0x7fd0(gp)            |             s0 = *((gp - 8180));
    0x0003c2c8 lw s0, -0x7fd0(gp)            |             s0 = *((gp - 8180));
    0x0003c2cc move s1, a1                   |             s1 = a1;
    0x0003c2d0 addiu s0, s0, 0x55e0          |             s0 += 0x55e0;
    0x0003c2d4 b 0x3c2e0                     |             
                                             |         }
                                             |     } else {
    0x0003c2d8 addiu s0, s0, 0x55e2          |         s0 += 0x55e2;
    0x0003c2dc move s1, s0                   |         s1 = s0;
                                             |     }
    0x0003c2e0 lw v0, -0x7614(gp)            |     v0 = *((gp - 7557));
    0x0003c2e4 lw t9, -0x7afc(gp)            |     t9 = *((gp - 7871));
    0x0003c2e8 lw s2, (v0)                   |     s2 = *(v0);
    0x0003c2ec bal 0x3c730                   |     sym_strsignal ();
    0x0003c2f0 lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x0003c2f4 move a0, s2                   |     a0 = s2;
    0x0003c2f8 move a2, s1                   |     a2 = s1;
    0x0003c2fc lw a1, -0x7fd0(gp)            |     a1 = *((gp - 8180));
    0x0003c300 lw t9, -0x7f5c(gp)            |     t9 = *((gp - 8151));
    0x0003c304 move a3, s0                   |     a3 = s0;
    0x0003c308 sw v0, 0x10(sp)               |     *(var_10h) = v0;
    0x0003c30c addiu a1, a1, 0x6740          |     a1 += 0x6740;
    0x0003c310 bal 0x2f860                   |     sym_fprintf ()
    0x0003c314 lw ra, 0x2c(sp)               |     ra = *(var_2ch);
    0x0003c318 lw s2, 0x28(sp)               |     s2 = *(var_28h);
    0x0003c31c lw s1, 0x24(sp)               |     s1 = *(var_24h);
    0x0003c320 lw s0, 0x20(sp)               |     s0 = *(var_20h);
    0x0003c324 addiu sp, sp, 0x30            |     
    0x0003c328 jr ra                         |     return v0;
                                             | }
    ; assembly                               | /* r2dec pseudo code output */
                                             | /* /logs/firmware/unblob_extracted/firmware_extract/2097216-5451840.squashfs_v4_le_extract/lib/libuClibc-0.9.33.2.so @ 0x2d8b0 */
                                             | #include <stdint.h>
                                             |  
    ; (fcn) sym.putgrent ()                  | void putgrent () {
    0x0002d8b0 lui gp, 9                     |     
    0x0002d8b4 addiu gp, gp, 0x3e30          |     
    0x0002d8b8 addu gp, gp, t9               |     gp += t9;
    0x0002d8bc addiu sp, sp, -0x38           |     
    0x0002d8c0 sw gp, 0x18(sp)               |     *(var_18h) = gp;
    0x0002d8c4 sw ra, 0x34(sp)               |     *(var_34h) = ra;
    0x0002d8c8 sw s4, 0x30(sp)               |     *(var_30h) = s4;
    0x0002d8cc sw s3, 0x2c(sp)               |     *(var_2ch) = s3;
    0x0002d8d0 sw s2, 0x28(sp)               |     *(var_28h) = s2;
    0x0002d8d4 sw s1, 0x24(sp)               |     *(var_24h) = s1;
    0x0002d8d8 sw s0, 0x20(sp)               |     *(var_20h) = s0;
                                             |     if (a0 != 0) {
    0x0002d8dc beqz a0, 0x2d8e8              |         
    0x0002d8e0 lw s1, 0x48(a1)               |         s1 = *((a1 + 18));
                                             |         if (a1 == 0) {
    0x0002d8e4 bnel a1, zero, 0x2d908        |             goto label_0;
                                             |         }
                                             |     }
    0x0002d8e8 rdhwr v1, 29                  |     __asm ("rdhwr v1, 29");
    0x0002d8ec move v0, v1                   |     v0 = v1;
    0x0002d8f0 lw v1, -0x7560(gp)            |     v1 = *((gp - 7512));
    0x0002d8f4 addiu s2, zero, -1            |     s2 = -1;
    0x0002d8f8 addu v0, v1, v0               |     v0 = v1 + v0;
    0x0002d8fc addiu v1, zero, 0x16          |     v1 = 0x16;
    0x0002d900 sw v1, (v0)                   |     *(v0) = v1;
    0x0002d904 b 0x2da58                     |     goto label_1;
                                             | label_0:
    0x0002d908 move s2, a0                   |     s2 = a0;
    0x0002d90c move s0, a1                   |     s0 = a1;
                                             |     if (s1 != 0) {
    0x0002d910 bnez s1, 0x2d974              |         goto label_2;
                                             |     }
    0x0002d914 rdhwr v1, 29                  |     __asm ("rdhwr v1, 29");
    0x0002d918 lw v0, 0x54(a1)               |     v0 = *((a1 + 21));
    0x0002d91c addiu s3, v1, -0x7460         |     s3 = v1 + -0x7460;
    0x0002d920 addiu a0, a1, 0x4c            |     a0 = a1 + 0x4c;
                                             |     if (v0 == s3) {
    0x0002d924 beq v0, s3, 0x2d968           |         goto label_3;
                                             |     }
    0x0002d928 addiu v0, zero, 1             |     v0 = 1;
                                             |     do {
    0x0002d92c ll a1, 0x4c(s0)               |         __asm ("ll a1, 0x4c(s0)");
    0x0002d930 move v1, zero                 |         v1 = 0;
                                             |         if (a1 != s1) {
    0x0002d934 bne a1, s1, 0x2d94c           |             goto label_4;
                                             |         }
    0x0002d938 move v1, v0                   |         v1 = v0;
    0x0002d93c sc v1, 0x4c(s0)               |         __asm ("sc v1, 0x4c(s0)");
    0x0002d940 beqz v1, 0x2d92c              |         
                                             |     } while (v1 == 0);
    0x0002d944 nop                           |     
    0x0002d948 sync                          |     __asm ("sync");
                                             | label_4:
    0x0002d94c sw s3, 0x54(s0)               |     *((s0 + 21)) = s3;
                                             |     if (v1 != 0) {
    0x0002d950 bnel v1, zero, 0x2d968        |         
    0x0002d954 lw t9, -0x7e60(gp)            |         t9 = *((gp - 8088));
    0x0002d958 jalr t9                       |         t9 ();
    0x0002d95c nop                           |         
    0x0002d960 lw gp, 0x18(sp)               |         gp = *(var_18h);
    0x0002d964 sw s3, 0x54(s0)               |         *((s0 + 21)) = s3;
                                             |     }
                                             | label_3:
    0x0002d968 lw v0, 0x50(s0)               |     v0 = *((s0 + 20));
    0x0002d96c addiu v0, v0, 1               |     v0++;
    0x0002d970 sw v0, 0x50(s0)               |     *((s0 + 20)) = v0;
                                             | label_2:
    0x0002d974 lw a1, -0x7fd0(gp)            |     a1 = *((gp - 8180));
    0x0002d978 lw s3, -0x7f5c(gp)            |     s3 = *((gp - 8151));
    0x0002d97c lw v0, 8(s2)                  |     v0 = *((s2 + 2));
    0x0002d980 lw a2, (s2)                   |     a2 = *(s2);
    0x0002d984 lw a3, 4(s2)                  |     a3 = *((s2 + 1));
    0x0002d988 move a0, s0                   |     a0 = s0;
    0x0002d98c sw v0, 0x10(sp)               |     *(var_10h) = v0;
    0x0002d990 move t9, s3                   |     t9 = s3;
    0x0002d994 addiu a1, a1, 0x55b0          |     a1 += 0x55b0;
    0x0002d998 bal 0x2f860                   |     sym_fprintf ()
    0x0002d99c lw gp, 0x18(sp)               |     gp = *(var_18h);
                                             |     if (v0 < 0) {
    0x0002d9a0 bltz v0, 0x2d9fc              |         goto label_5;
                                             |     }
    0x0002d9a4 lw a1, -0x7fd0(gp)            |     a1 = *((gp - 8180));
    0x0002d9a8 lw s2, 0xc(s2)                |     s2 = *((s2 + 3));
    0x0002d9ac lw s4, -0x7fd0(gp)            |     s4 = *((gp - 8180));
    0x0002d9b0 addiu a1, a1, 0x55bd          |     a1 += 0x55bd;
                                             |     do {
    0x0002d9b4 lw a2, (s2)                   |         a2 = *(s2);
    0x0002d9b8 move t9, s3                   |         t9 = s3;
                                             |         if (a2 == 0) {
    0x0002d9bc bnez a2, 0x2d9e0              |             
    0x0002d9c0 lw t9, -0x7e38(gp)            |             t9 = *((gp - 8078));
    0x0002d9c4 addiu a0, zero, 0xa           |             a0 = 0xa;
    0x0002d9c8 move a1, s0                   |             a1 = s0;
    0x0002d9cc bal 0x39ee0                   |             sym_putc_unlocked ();
    0x0002d9d0 move s2, zero                 |             s2 = 0;
                                             |             if (v0 >= 0) {
    0x0002d9d4 bgez v0, 0x2da00              |                 goto label_6;
                                             |             }
    0x0002d9d8 addiu s2, zero, -1            |             s2 = -1;
    0x0002d9dc b 0x2da00                     |             goto label_6;
                                             |         }
    0x0002d9e0 move a0, s0                   |         a0 = s0;
    0x0002d9e4 bal 0x2f860                   |         sym_fprintf ()
    0x0002d9e8 lw gp, 0x18(sp)               |         gp = *(var_18h);
                                             |         if (v0 < 0) {
    0x0002d9ec bltz v0, 0x2d9fc              |             goto label_5;
                                             |         }
    0x0002d9f0 addiu s2, s2, 4               |         s2 += 4;
    0x0002d9f4 addiu a1, s4, 0x55bc          |         a1 = s4 + 0x55bc;
    0x0002d9f8 b 0x2d9b4                     |         
                                             |     } while (1);
                                             | label_5:
    0x0002d9fc addiu s2, zero, -1            |     s2 = -1;
                                             | label_6:
    0x0002da00 lw ra, 0x34(sp)               |     ra = *(var_34h);
                                             |     if (s1 != 0) {
    0x0002da04 bnez s1, 0x2da5c              |         goto label_7;
                                             |     }
    0x0002da08 lw v0, 0x50(s0)               |     v0 = *((s0 + 20));
    0x0002da0c addiu v0, v0, -1              |     v0 += -1;
    0x0002da10 sw v0, 0x50(s0)               |     *((s0 + 20)) = v0;
                                             |     if (v0 != 0) {
    0x0002da14 bnez v0, 0x2da58              |         goto label_1;
                                             |     }
    0x0002da18 sw zero, 0x54(s0)             |     *((s0 + 21)) = 0;
    0x0002da1c addiu a0, s0, 0x4c            |     a0 = s0 + 0x4c;
    0x0002da20 sync                          |     __asm ("sync");
                                             |     do {
    0x0002da24 ll v0, 0x4c(s0)               |         __asm ("ll v0, 0x4c(s0)");
    0x0002da28 move v1, s1                   |         v1 = s1;
    0x0002da2c sc v1, 0x4c(s0)               |         __asm ("sc v1, 0x4c(s0)");
    0x0002da30 beqz v1, 0x2da24              |         
                                             |     } while (v1 == 0);
    0x0002da34 nop                           |     
    0x0002da38 slti v0, v0, 2                |     v0 = (v0 < 2) ? 1 : 0;
    0x0002da3c lw ra, 0x34(sp)               |     ra = *(var_34h);
                                             |     if (v0 == 0) {
    0x0002da40 bnez v0, 0x2da5c              |         
    0x0002da44 addiu a1, zero, 0x81          |         a1 = 0x81;
    0x0002da48 addiu a2, zero, 1             |         a2 = 1;
    0x0002da4c move a3, zero                 |         a3 = 0;
    0x0002da50 addiu v0, zero, 0x108e        |         v0 = 0x108e;
    0x0002da54 syscall                       |         __asm ("syscall");
                                             | label_1:
    0x0002da58 lw ra, 0x34(sp)               |         ra = *(var_34h);
                                             |     }
                                             | label_7:
    0x0002da5c move v0, s2                   |     v0 = s2;
    0x0002da60 lw s4, 0x30(sp)               |     s4 = *(var_30h);
    0x0002da64 lw s3, 0x2c(sp)               |     s3 = *(var_2ch);
    0x0002da68 lw s2, 0x28(sp)               |     s2 = *(var_28h);
    0x0002da6c lw s1, 0x24(sp)               |     s1 = *(var_24h);
    0x0002da70 lw s0, 0x20(sp)               |     s0 = *(var_20h);
    0x0002da74 addiu sp, sp, 0x38            |     
    0x0002da78 jr ra                         |     return v0;
                                             | }
    ; assembly                               | /* r2dec pseudo code output */
                                             | /* /logs/firmware/unblob_extracted/firmware_extract/2097216-5451840.squashfs_v4_le_extract/lib/libuClibc-0.9.33.2.so @ 0x2da80 */
                                             | #include <stdint.h>
                                             |  
    ; (fcn) sym.putpwent ()                  | void putpwent () {
    0x0002da80 lui gp, 9                     |     
    0x0002da84 addiu gp, gp, 0x3c60          |     
    0x0002da88 addu gp, gp, t9               |     gp += t9;
    0x0002da8c addiu sp, sp, -0x38           |     
    0x0002da90 sw gp, 0x28(sp)               |     *(var_28h) = gp;
    0x0002da94 sw ra, 0x34(sp)               |     *(var_34h) = ra;
    0x0002da98 move v0, a0                   |     v0 = a0;
                                             |     if (a0 != 0) {
    0x0002da9c beqz a0, 0x2daa8              |         
    0x0002daa0 lw v1, 8(v0)                  |         v1 = *((v0 + 2));
                                             |         if (a1 == 0) {
    0x0002daa4 bnel a1, zero, 0x2dac8        |             goto label_0;
                                             |         }
                                             |     }
    0x0002daa8 rdhwr v1, 29                  |     __asm ("rdhwr v1, 29");
    0x0002daac move v0, v1                   |     v0 = v1;
    0x0002dab0 lw v1, -0x7560(gp)            |     v1 = *((gp - 7512));
    0x0002dab4 addu v0, v1, v0               |     v0 = v1 + v0;
    0x0002dab8 addiu v1, zero, 0x16          |     v1 = 0x16;
    0x0002dabc sw v1, (v0)                   |     *(v0) = v1;
    0x0002dac0 addiu v1, zero, -1            |     v1 = -1;
    0x0002dac4 b 0x2db14                     |     goto label_1;
                                             | label_0:
    0x0002dac8 lw a2, (v0)                   |     a2 = *(v0);
    0x0002dacc lw a3, 4(v0)                  |     a3 = *((v0 + 1));
    0x0002dad0 sw v1, 0x10(sp)               |     *(var_10h) = v1;
    0x0002dad4 lw v1, 0xc(v0)                |     v1 = *((v0 + 3));
    0x0002dad8 move a0, a1                   |     a0 = a1;
    0x0002dadc lw a1, -0x7fd0(gp)            |     a1 = *((gp - 8180));
    0x0002dae0 sw v1, 0x14(sp)               |     *(var_14h) = v1;
    0x0002dae4 lw v1, 0x10(v0)               |     v1 = *((v0 + 4));
    0x0002dae8 lw t9, -0x7f5c(gp)            |     t9 = *((gp - 8151));
    0x0002daec addiu a1, a1, 0x5580          |     a1 += 0x5580;
    0x0002daf0 sw v1, 0x18(sp)               |     *(var_18h) = v1;
    0x0002daf4 lw v1, 0x14(v0)               |     v1 = *((v0 + 5));
    0x0002daf8 sw v1, 0x1c(sp)               |     *(var_1ch) = v1;
    0x0002dafc lw v0, 0x18(v0)               |     v0 = *((v0 + 6));
    0x0002db00 sw v0, 0x20(sp)               |     *(var_20h) = v0;
    0x0002db04 bal 0x2f860                   |     sym_fprintf ()
    0x0002db08 slti v0, v0, 0                |     v0 = (v0 < 0) ? 1 : 0;
    0x0002db0c addiu v1, zero, -1            |     v1 = -1;
                                             |     if (v0 != 0) {
    0x0002db10 movz v1, zero, v0             |         v1 = 0;
                                             |     }
                                             | label_1:
    0x0002db14 lw ra, 0x34(sp)               |     ra = *(var_34h);
    0x0002db18 move v0, v1                   |     v0 = v1;
    0x0002db1c addiu sp, sp, 0x38            |     
    0x0002db20 jr ra                         |     return v0;
                                             | }
    ; assembly                               | /* r2dec pseudo code output */
                                             | /* /logs/firmware/unblob_extracted/firmware_extract/2097216-5451840.squashfs_v4_le_extract/lib/libuClibc-0.9.33.2.so @ 0x2db30 */
                                             | #include <stdint.h>
                                             |  
    ; (fcn) sym.putspent ()                  | void putspent () {
    0x0002db30 lui gp, 9                     |     
    0x0002db34 addiu gp, gp, 0x3bb0          |     
    0x0002db38 addu gp, gp, t9               |     gp += t9;
    0x0002db3c addiu sp, sp, -0x40           |     
    0x0002db40 sw s1, 0x1c(sp)               |     *(var_1ch) = s1;
    0x0002db44 lw s1, 0x48(a1)               |     s1 = *((a1 + 18));
    0x0002db48 sw gp, 0x10(sp)               |     *(var_10h) = gp;
    0x0002db4c sw s2, 0x20(sp)               |     *(var_20h) = s2;
    0x0002db50 sw s0, 0x18(sp)               |     *(var_18h) = s0;
    0x0002db54 sw ra, 0x3c(sp)               |     *(var_3ch) = ra;
    0x0002db58 sw fp, 0x38(sp)               |     *(var_38h) = fp;
    0x0002db5c sw s7, 0x34(sp)               |     *(var_34h) = s7;
    0x0002db60 sw s6, 0x30(sp)               |     *(var_30h) = s6;
    0x0002db64 sw s5, 0x2c(sp)               |     *(var_2ch) = s5;
    0x0002db68 sw s4, 0x28(sp)               |     *(var_28h) = s4;
    0x0002db6c sw s3, 0x24(sp)               |     *(var_24h) = s3;
    0x0002db70 move s2, a0                   |     s2 = a0;
    0x0002db74 move s0, a1                   |     s0 = a1;
                                             |     if (s1 != 0) {
    0x0002db78 bnez s1, 0x2dbdc              |         goto label_1;
                                             |     }
    0x0002db7c rdhwr v1, 29                  |     __asm ("rdhwr v1, 29");
    0x0002db80 lw v0, 0x54(a1)               |     v0 = *((a1 + 21));
    0x0002db84 addiu s3, v1, -0x7460         |     s3 = v1 + -0x7460;
    0x0002db88 addiu a0, a1, 0x4c            |     a0 = a1 + 0x4c;
                                             |     if (v0 == s3) {
    0x0002db8c beq v0, s3, 0x2dbd0           |         goto label_2;
                                             |     }
    0x0002db90 addiu v0, zero, 1             |     v0 = 1;
                                             |     do {
    0x0002db94 ll a1, 0x4c(s0)               |         __asm ("ll a1, 0x4c(s0)");
    0x0002db98 move v1, zero                 |         v1 = 0;
                                             |         if (a1 != s1) {
    0x0002db9c bne a1, s1, 0x2dbb4           |             goto label_3;
                                             |         }
    0x0002dba0 move v1, v0                   |         v1 = v0;
    0x0002dba4 sc v1, 0x4c(s0)               |         __asm ("sc v1, 0x4c(s0)");
    0x0002dba8 beqz v1, 0x2db94              |         
                                             |     } while (v1 == 0);
    0x0002dbac nop                           |     
    0x0002dbb0 sync                          |     __asm ("sync");
                                             | label_3:
    0x0002dbb4 sw s3, 0x54(s0)               |     *((s0 + 21)) = s3;
                                             |     if (v1 != 0) {
    0x0002dbb8 bnel v1, zero, 0x2dbd0        |         
    0x0002dbbc lw t9, -0x7e60(gp)            |         t9 = *((gp - 8088));
    0x0002dbc0 jalr t9                       |         t9 ();
    0x0002dbc4 nop                           |         
    0x0002dbc8 lw gp, 0x10(sp)               |         gp = *(var_10h);
    0x0002dbcc sw s3, 0x54(s0)               |         *((s0 + 21)) = s3;
                                             |     }
                                             | label_2:
    0x0002dbd0 lw v0, 0x50(s0)               |     v0 = *((s0 + 20));
    0x0002dbd4 addiu v0, v0, 1               |     v0++;
    0x0002dbd8 sw v0, 0x50(s0)               |     *((s0 + 20)) = v0;
                                             | label_1:
    0x0002dbdc lw a3, 4(s2)                  |     a3 = *((s2 + 1));
    0x0002dbe0 lw a2, (s2)                   |     a2 = *(s2);
                                             |     if (a3 == 0) {
    0x0002dbe4 bnez a3, 0x2dbf0              |         
    0x0002dbe8 lw a3, -0x7fd0(gp)            |         a3 = *((gp - 8180));
    0x0002dbec addiu a3, a3, 0x74a0          |         a3 += 0x74a0;
                                             |     }
    0x0002dbf0 lw a1, -0x7fd0(gp)            |     a1 = *((gp - 8180));
    0x0002dbf4 lw s4, -0x7f5c(gp)            |     s4 = *((gp - 8151));
    0x0002dbf8 move a0, s0                   |     a0 = s0;
    0x0002dbfc move t9, s4                   |     t9 = s4;
    0x0002dc00 addiu a1, a1, 0x55c0          |     a1 += 0x55c0;
    0x0002dc04 bal 0x2f860                   |     sym_fprintf ()
    0x0002dc08 move s3, zero                 |     s3 = 0;
    0x0002dc0c lw gp, 0x10(sp)               |     gp = *(var_10h);
    0x0002dc10 bgez v0, 0x2dc1c              |     
                                             |     while (v0 < 0) {
    0x0002dc14 addiu s2, zero, -1            |         s2 = -1;
    0x0002dc18 b 0x2dcc4                     |         goto label_4;
    0x0002dc1c lw s5, -0x7fd0(gp)            |         s5 = *((gp - 8180));
    0x0002dc20 lw s7, -0x7fd0(gp)            |         s7 = *((gp - 8180));
    0x0002dc24 lw fp, -0x7fd0(gp)            |         fp = *((gp - 8180));
    0x0002dc28 addiu s5, s5, 0x55d0          |         s5 += 0x55d0;
    0x0002dc2c addiu s6, zero, -1            |         s6 = -1;
    0x0002dc30 addu v0, s3, s5               |         v0 = s3 + s5;
                                             | label_0:
    0x0002dc34 lbu v0, (v0)                  |         v0 = *(v0);
    0x0002dc38 addiu a1, s7, 0x55c8          |         a1 = s7 + 0x55c8;
    0x0002dc3c move a0, s0                   |         a0 = s0;
    0x0002dc40 addu v0, s2, v0               |         v0 = s2 + v0;
    0x0002dc44 lw a2, (v0)                   |         a2 = *(v0);
    0x0002dc48 addiu v0, fp, 0x55cb          |         v0 = fp + 0x55cb;
    0x0002dc4c move t9, s4                   |         t9 = s4;
    0x0002dc50 xor v1, a2, s6                |         v1 = a2 ^ s6;
                                             |         if (v1 != 0) {
    0x0002dc54 movz a1, v0, v1               |             a1 = v0;
                                             |         }
    0x0002dc58 bal 0x2f860                   |         sym_fprintf ()
    0x0002dc5c lw gp, 0x10(sp)               |         gp = *(var_10h);
    0x0002dc60 bltz v0, 0x2dc14              |         
                                             |     }
    0x0002dc64 addiu s3, s3, 1               |     s3++;
    0x0002dc68 addiu v0, zero, 6             |     v0 = 6;
    0x0002dc6c addu v0, s3, s5               |     v0 = s3 + s5;
                                             |     if (s3 != v0) {
    0x0002dc70 bne s3, v0, 0x2dc34           |         goto label_0;
                                             |     }
    0x0002dc74 lw a2, 0x20(s2)               |     a2 = *((s2 + 8));
    0x0002dc78 addiu v0, zero, -1            |     v0 = -1;
    0x0002dc7c lw a1, -0x7fd0(gp)            |     a1 = *((gp - 8180));
    0x0002dc80 bne a2, v0, 0x2dca4           |     
                                             |     while (v0 >= 0) {
    0x0002dc84 lw t9, -0x7e38(gp)            |         t9 = *((gp - 8078));
    0x0002dc88 addiu a0, zero, 0xa           |         a0 = 0xa;
    0x0002dc8c move a1, s0                   |         a1 = s0;
    0x0002dc90 bal 0x39ee0                   |         sym_putc_unlocked ();
    0x0002dc94 move s2, zero                 |         s2 = 0;
                                             |         if (v0 > 0) {
    0x0002dc98 bgtz v0, 0x2dcc4              |             goto label_4;
                                             |         }
    0x0002dc9c addiu s2, zero, -1            |         s2 = -1;
    0x0002dca0 b 0x2dcc4                     |         goto label_4;
    0x0002dca4 lw t9, -0x7f5c(gp)            |         t9 = *((gp - 8151));
    0x0002dca8 move a0, s0                   |         a0 = s0;
    0x0002dcac addiu a1, a1, 0x69e0          |         a1 += 0x69e0;
    0x0002dcb0 bal 0x2f860                   |         sym_fprintf ()
    0x0002dcb4 lw gp, 0x10(sp)               |         gp = *(var_10h);
    0x0002dcb8 bgez v0, 0x2dc84              |         
                                             |     }
    0x0002dcbc addiu s2, zero, -1            |     s2 = -1;
    0x0002dcc0 b 0x2dcc4                     |     
                                             | label_4:
    0x0002dcc4 lw ra, 0x3c(sp)               |     ra = *(var_3ch);
                                             |     if (s1 != 0) {
    0x0002dcc8 bnez s1, 0x2dd20              |         goto label_5;
                                             |     }
    0x0002dccc lw v0, 0x50(s0)               |     v0 = *((s0 + 20));
    0x0002dcd0 addiu v0, v0, -1              |     v0 += -1;
    0x0002dcd4 sw v0, 0x50(s0)               |     *((s0 + 20)) = v0;
                                             |     if (v0 != 0) {
    0x0002dcd8 bnez v0, 0x2dd1c              |         goto label_6;
                                             |     }
    0x0002dcdc sw zero, 0x54(s0)             |     *((s0 + 21)) = 0;
    0x0002dce0 addiu a0, s0, 0x4c            |     a0 = s0 + 0x4c;
    0x0002dce4 sync                          |     __asm ("sync");
                                             |     do {
    0x0002dce8 ll v0, 0x4c(s0)               |         __asm ("ll v0, 0x4c(s0)");
    0x0002dcec move v1, s1                   |         v1 = s1;
    0x0002dcf0 sc v1, 0x4c(s0)               |         __asm ("sc v1, 0x4c(s0)");
    0x0002dcf4 beqz v1, 0x2dce8              |         
                                             |     } while (v1 == 0);
    0x0002dcf8 nop                           |     
    0x0002dcfc slti v0, v0, 2                |     v0 = (v0 < 2) ? 1 : 0;
    0x0002dd00 lw ra, 0x3c(sp)               |     ra = *(var_3ch);
                                             |     if (v0 == 0) {
    0x0002dd04 bnez v0, 0x2dd20              |         
    0x0002dd08 addiu a1, zero, 0x81          |         a1 = 0x81;
    0x0002dd0c addiu a2, zero, 1             |         a2 = 1;
    0x0002dd10 move a3, zero                 |         a3 = 0;
    0x0002dd14 addiu v0, zero, 0x108e        |         v0 = 0x108e;
    0x0002dd18 syscall                       |         __asm ("syscall");
                                             | label_6:
    0x0002dd1c lw ra, 0x3c(sp)               |         ra = *(var_3ch);
                                             |     }
                                             | label_5:
    0x0002dd20 move v0, s2                   |     v0 = s2;
    0x0002dd24 lw fp, 0x38(sp)               |     fp = *(var_38h);
    0x0002dd28 lw s7, 0x34(sp)               |     s7 = *(var_34h);
    0x0002dd2c lw s6, 0x30(sp)               |     s6 = *(var_30h);
    0x0002dd30 lw s5, 0x2c(sp)               |     s5 = *(var_2ch);
    0x0002dd34 lw s4, 0x28(sp)               |     s4 = *(var_28h);
    0x0002dd38 lw s3, 0x24(sp)               |     s3 = *(var_24h);
    0x0002dd3c lw s2, 0x20(sp)               |     s2 = *(var_20h);
    0x0002dd40 lw s1, 0x1c(sp)               |     s1 = *(var_1ch);
    0x0002dd44 lw s0, 0x18(sp)               |     s0 = *(var_18h);
    0x0002dd48 addiu sp, sp, 0x40            |     
    0x0002dd4c jr ra                         |     return v0;
                                             | }
    ; assembly                               | /* r2dec pseudo code output */
                                             | /* /logs/firmware/unblob_extracted/firmware_extract/2097216-5451840.squashfs_v4_le_extract/lib/libuClibc-0.9.33.2.so @ 0x4590c */
                                             | #include <stdint.h>
                                             |  
    ; (fcn) sym.rcmd ()                      | void rcmd () {
    0x0004590c lui gp, 8                     |     
    0x00045910 addiu gp, gp, -0x422c         |     
    0x00045914 addu gp, gp, t9               |     gp += t9;
    0x00045918 addiu sp, sp, -0xb8           |     
    0x0004591c lw t9, -0x7fc0(gp)            |     t9 = *((gp - 8176));
    0x00045920 sw fp, 0xb0(sp)               |     *(var_b0h) = fp;
    0x00045924 move fp, sp                   |     fp = sp;
    0x00045928 sw s7, 0xac(sp)               |     *(var_ach) = s7;
    0x0004592c sw s6, 0xa8(sp)               |     *(var_a8h) = s6;
    0x00045930 sw s5, 0xa4(sp)               |     *(var_a4h) = s5;
    0x00045934 sw s4, 0xa0(sp)               |     *(var_a0h) = s4;
    0x00045938 sw s3, 0x9c(sp)               |     *(var_9ch) = s3;
    0x0004593c sw s2, 0x98(sp)               |     *(var_98h) = s2;
    0x00045940 sw s1, 0x94(sp)               |     *(var_94h) = s1;
    0x00045944 sw s0, 0x90(sp)               |     *(var_90h) = s0;
    0x00045948 sw gp, 0x18(sp)               |     *(var_18h) = gp;
    0x0004594c sw ra, 0xb4(sp)               |     *(var_b4h) = ra;
    0x00045950 sw a1, 0x80(fp)               |     *(var_80h) = a1;
    0x00045954 move s5, a2                   |     s5 = a2;
    0x00045958 move s2, a0                   |     s2 = a0;
    0x0004595c move s4, a3                   |     s4 = a3;
    0x00045960 bal 0x61d00                   |     sym_getpid ();
    0x00045964 lw gp, 0x18(fp)               |     gp = *(var_18h);
    0x00045968 addiu sp, sp, -0x408          |     
    0x0004596c rdhwr v1, 29                  |     __asm ("rdhwr v1, 29");
    0x00045970 lw s6, -0x7560(gp)            |     s6 = *((gp - 7512));
    0x00045974 move s7, v0                   |     s7 = v0;
    0x00045978 addiu a2, sp, 0x18            |     a2 = sp + 0x18;
    0x0004597c addiu s3, zero, 0x400         |     s3 = aav.0x00000400;
    0x00045980 addiu s1, fp, 0x74            |     s1 = fp + 0x74;
    0x00045984 addiu s0, fp, 0x78            |     s0 = fp + 0x78;
    0x00045988 addu s6, s6, v1               |     s6 += v1;
    0x0004598c b 0x459e8                     |     
                                             |     while (v0 != 0) {
    0x00045990 lw v0, 0x78(fp)               |         v0 = *(var_78h);
                                             | label_0:
    0x00045994 addiu v1, zero, -1            |         v1 = -1;
    0x00045998 addiu v1, zero, 0x22          |         v1 = 0x22;
                                             |         if (v0 == v1) {
    0x0004599c bne v0, v1, 0x459ac           |             
    0x000459a0 lw a0, (s6)                   |             a0 = *(s6);
    0x000459a4 sll s3, s3, 1                 |             s3 <<= 1;
                                             |             if (a0 == v1) {
    0x000459a8 beq a0, v1, 0x459d4           |                 goto label_2;
                                             |             }
                                             |         }
    0x000459ac rdhwr v1, 29                  |         __asm ("rdhwr v1, 29");
    0x000459b0 move a0, v1                   |         a0 = v1;
    0x000459b4 lw v1, -0x756c(gp)            |         v1 = *((gp - 7515));
    0x000459b8 lw t9, -0x79b4(gp)            |         t9 = *((gp - 7789));
    0x000459bc addu a0, v1, a0               |         a0 = v1 + a0;
    0x000459c0 sw v0, (a0)                   |         *(a0) = v0;
    0x000459c4 lw a0, (s2)                   |         a0 = *(s2);
    0x000459c8 bal 0x4f4a0                   |         sym_herror ();
    0x000459cc addiu s0, zero, -1            |         s0 = -1;
    0x000459d0 b 0x46024                     |         goto label_3;
                                             | label_2:
    0x000459d4 addiu v0, s3, 0xe             |         v0 = s3 + 0xe;
    0x000459d8 srl v0, v0, 3                 |         v0 >>= 3;
    0x000459dc sll v0, v0, 3                 |         v0 <<= 3;
    0x000459e0 subu sp, sp, v0               |         
    0x000459e4 addiu a2, sp, 0x18            |         a2 = sp + 0x18;
    0x000459e8 lw a0, (s2)                   |         a0 = *(s2);
    0x000459ec lw t9, -0x7a7c(gp)            |         t9 = *((gp - 7839));
    0x000459f0 sw s1, 0x10(sp)               |         *(var_10h) = s1;
    0x000459f4 sw s0, 0x14(sp)               |         *(var_14h) = s0;
    0x000459f8 addiu a1, fp, 0x20            |         a1 = fp + 0x20;
    0x000459fc move a3, s3                   |         a3 = s3;
    0x00045a00 bal 0x54d80                   |         sym_gethostbyname_r ();
    0x00045a04 lw gp, 0x18(fp)               |         gp = *(var_18h);
    0x00045a08 bnez v0, 0x45990              |         
                                             |     }
    0x00045a0c lw v0, 0x74(fp)               |     v0 = *(var_74h);
                                             |     if (v0 == 0) {
    0x00045a10 beql v0, zero, 0x45994        |         goto label_0;
                                             |     }
    0x00045a14 lw v0, 0x78(fp)               |     v0 = *(var_78h);
    0x00045a18 addiu v1, zero, 1             |     v1 = 1;
    0x00045a1c sh v1, 0x38(fp)               |     *(var_38h) = v1;
    0x00045a20 sh v1, 0x40(fp)               |     *(var_40h) = v1;
    0x00045a24 lw v0, (v0)                   |     v0 = *(v0);
    0x00045a28 lw t9, -0x79b0(gp)            |     t9 = *((gp - 7788));
    0x00045a2c lui a0, 0x10                  |     a0 = 0x100000;
    0x00045a30 sw v0, (s2)                   |     *(s2) = v0;
    0x00045a34 bal 0x58d70                   |     sym_sigblock ();
    0x00045a38 lw gp, 0x18(fp)               |     gp = *(var_18h);
    0x00045a3c move s1, v0                   |     s1 = v0;
    0x00045a40 rdhwr v1, 29                  |     __asm ("rdhwr v1, 29");
    0x00045a44 lw s6, -0x7560(gp)            |     s6 = *((gp - 7512));
    0x00045a48 addiu v0, zero, 0x3ff         |     v0 = 0x3ff;
    0x00045a4c sw v0, 0x70(fp)               |     *(var_70h) = v0;
    0x00045a50 addiu s3, zero, 1             |     s3 = 1;
    0x00045a54 addu s6, s6, v1               |     s6 += v1;
                                             |     do {
                                             | label_1:
    0x00045a58 lw t9, -0x79ac(gp)            |         t9 = *((gp - 7787));
    0x00045a5c addiu a0, fp, 0x70            |         a0 = fp + 0x70;
    0x00045a60 bal 0x45808                   |         sym_rresvport ();
    0x00045a64 move s0, v0                   |         s0 = v0;
    0x00045a68 lw gp, 0x18(fp)               |         gp = *(var_18h);
                                             |         if (v0 < 0) {
    0x00045a6c bgez v0, 0x45ac0              |             
    0x00045a70 rdhwr v1, 29                  |             __asm ("rdhwr v1, 29");
    0x00045a74 move v0, v1                   |             v0 = v1;
    0x00045a78 lw v1, -0x7560(gp)            |             v1 = *((gp - 7512));
    0x00045a7c addu v0, v1, v0               |             v0 = v1 + v0;
    0x00045a80 lw a0, (v0)                   |             a0 = *(v0);
    0x00045a84 addiu v1, zero, 0xb           |             v1 = 0xb;
    0x00045a88 lw v0, -0x7614(gp)            |             v0 = *((gp - 7557));
                                             |             if (a0 == v1) {
    0x00045a8c bne a0, v1, 0x45aa0           |                 
    0x00045a90 lw a1, -0x7fd0(gp)            |                 a1 = *((gp - 8180));
    0x00045a94 lw a0, (v0)                   |                 a0 = *(v0);
    0x00045a98 addiu a1, a1, 0x71a8          |                 a1 += 0x71a8;
    0x00045a9c b 0x45aac                     |                 
                                             |             } else {
    0x00045aa0 lw a1, -0x7fd0(gp)            |                 a1 = *((gp - 8180));
    0x00045aa4 lw a0, (v0)                   |                 a0 = *(v0);
    0x00045aa8 addiu a1, a1, 0x71c8          |                 a1 += 0x71c8;
                                             |             }
    0x00045aac lw t9, -0x7f5c(gp)            |             t9 = *((gp - 8151));
    0x00045ab0 bal 0x2f860                   |             sym_fprintf ()
    0x00045ab4 nop                           |             
    0x00045ab8 lw gp, 0x18(fp)               |             gp = *(var_18h);
    0x00045abc b 0x46014                     |             goto label_4;
                                             |         }
    0x00045ac0 lw t9, -0x7e90(gp)            |         t9 = *((gp - 8100));
    0x00045ac4 move a0, v0                   |         a0 = v0;
    0x00045ac8 addiu a1, zero, 0x18          |         a1 = 0x18;
    0x00045acc move a2, s7                   |         a2 = s7;
    0x00045ad0 jalr t9                       |         t9 ();
    0x00045ad4 lw v0, 0x74(fp)               |         v0 = *(var_74h);
    0x00045ad8 lw gp, 0x18(fp)               |         gp = *(var_18h);
    0x00045adc addiu a2, zero, 4             |         a2 = 4;
    0x00045ae0 lw v1, 8(v0)                  |         v1 = *((v0 + 2));
    0x00045ae4 lw t9, -0x7f04(gp)            |         t9 = *((gp - 8129));
    0x00045ae8 sh v1, 0x54(fp)               |         *(var_54h) = v1;
    0x00045aec lw v1, 0x10(v0)               |         v1 = *((v0 + 4));
    0x00045af0 lw v0, 0xc(v0)                |         v0 = *((v0 + 3));
    0x00045af4 lw a1, (v1)                   |         a1 = *(v1);
    0x00045af8 sltiu a0, v0, 5               |         a0 = (v0 < 5) ? 1 : 0;
                                             |         if (a0 == 0) {
    0x00045afc movn a2, v0, a0               |             a2 = v0;
                                             |         }
    0x00045b00 addiu a0, fp, 0x58            |         a0 = fp + 0x58;
    0x00045b04 bal 0x3aee0                   |         sym_memmove ();
    0x00045b08 lw gp, 0x18(fp)               |         gp = *(var_18h);
    0x00045b0c lw t9, 0x80(fp)               |         t9 = *(var_80h);
    0x00045b10 move a0, s0                   |         a0 = s0;
    0x00045b14 addiu a1, fp, 0x54            |         a1 = fp + 0x54;
    0x00045b18 sh t9, 0x56(fp)               |         *(var_56h) = t9;
    0x00045b1c lw t9, -0x7d40(gp)            |         t9 = *((gp - 8016));
    0x00045b20 addiu a2, zero, 0x10          |         a2 = 0x10;
    0x00045b24 bal 0x57bc0                   |         sym_connect ();
    0x00045b28 lw gp, 0x18(fp)               |         gp = *(var_18h);
                                             |         if (v0 >= 0) {
    0x00045b2c bgez v0, 0x45c94              |             goto label_5;
                                             |         }
    0x00045b30 lw t9, -0x7fa0(gp)            |         t9 = *((gp - 8168));
    0x00045b34 move a0, s0                   |         a0 = s0;
    0x00045b38 bal 0x620b8                   |         sym_libc_close ();
    0x00045b3c lw v1, (s6)                   |         v1 = *(s6);
    0x00045b40 addiu v0, zero, 0x7d          |         v0 = 0x7d;
    0x00045b44 lw gp, 0x18(fp)               |         gp = *(var_18h);
                                             |         if (v1 != v0) {
    0x00045b48 bne v1, v0, 0x45b5c           |             goto label_6;
                                             |         }
    0x00045b4c lw v0, 0x70(fp)               |         v0 = *(var_70h);
    0x00045b50 addiu v0, v0, -1              |         v0 += -1;
    0x00045b54 sw v0, 0x70(fp)               |         *(var_70h) = v0;
    0x00045b58 b 0x45a58                     |         
                                             |     } while (1);
                                             | label_6:
    0x00045b5c addiu v0, zero, 0x92          |     v0 = 0x92;
    0x00045b60 lw v0, 0x74(fp)               |     v0 = *(var_74h);
                                             |     if (v1 == v0) {
    0x00045b64 bne v1, v0, 0x45b8c           |         
    0x00045b68 slti v0, s3, 0x11             |         v0 = (s3 < 0x11) ? 1 : 0;
    0x00045b6c lw v0, 0x74(fp)               |         v0 = *(var_74h);
                                             |         if (v0 == 0) {
    0x00045b70 beqz v0, 0x45b8c              |             goto label_7;
                                             |         }
    0x00045b74 lw t9, -0x79a8(gp)            |         t9 = *((gp - 7786));
    0x00045b78 move a0, s3                   |         a0 = s3;
    0x00045b7c sll s3, s3, 1                 |         s3 <<= 1;
    0x00045b80 bal 0x61e40                   |         sym_sleep ();
    0x00045b84 lw gp, 0x18(fp)               |         gp = *(var_18h);
    0x00045b88 b 0x45a58                     |         goto label_1;
                                             |     }
                                             | label_7:
    0x00045b8c lw a0, 0x10(v0)               |     a0 = *((v0 + 4));
    0x00045b90 lw a0, 4(a0)                  |     a0 = *((a0 + 1));
    0x00045b94 lw s0, -0x7614(gp)            |     s0 = *((gp - 7557));
                                             |     if (a0 != 0) {
    0x00045b98 beqz a0, 0x45c74              |         
    0x00045b9c lw a3, -0x79a4(gp)            |         a3 = *((gp - 7785));
    0x00045ba0 lw a1, (s0)                   |         a1 = *(s0);
    0x00045ba4 lw a0, 0x58(fp)               |         a0 = *(var_58h);
    0x00045ba8 move t9, a3                   |         t9 = a3;
    0x00045bac sw a3, 0x8c(fp)               |         *(var_8ch) = a3;
    0x00045bb0 sw v1, 0x88(fp)               |         *(var_88h) = v1;
    0x00045bb4 sw a1, 0x84(fp)               |         *(var_84h) = a1;
    0x00045bb8 bal 0x52930                   |         sym_inet_ntoa ();
    0x00045bbc lw gp, 0x18(fp)               |         gp = *(var_18h);
    0x00045bc0 lw a1, 0x84(fp)               |         a1 = *(var_84h);
    0x00045bc4 move a2, v0                   |         a2 = v0;
    0x00045bc8 lw t0, -0x7f5c(gp)            |         t0 = *((gp - 8151));
    0x00045bcc move a0, a1                   |         a0 = a1;
    0x00045bd0 lw a1, -0x7fd0(gp)            |         a1 = *((gp - 8180));
    0x00045bd4 move t9, t0                   |         t9 = t0;
    0x00045bd8 sw t0, 0x84(fp)               |         *(var_84h) = t0;
    0x00045bdc addiu a1, a1, 0x71dc          |         a1 += 0x71dc;
    0x00045be0 bal 0x2f860                   |         sym_fprintf ()
    0x00045be4 lw gp, 0x18(fp)               |         gp = *(var_18h);
    0x00045be8 lw v1, 0x88(fp)               |         v1 = *(var_88h);
    0x00045bec move a0, zero                 |         a0 = 0;
    0x00045bf0 lw v0, -0x7ab8(gp)            |         v0 = *((gp - 7854));
    0x00045bf4 move t9, v0                   |         t9 = v0;
    0x00045bf8 sw v1, (s6)                   |         *(s6) = v1;
    0x00045bfc bal 0x2ef90                   |         sym_perror ();
    0x00045c00 lw v0, 0x74(fp)               |         v0 = *(var_74h);
    0x00045c04 lw gp, 0x18(fp)               |         gp = *(var_18h);
    0x00045c08 addiu a2, zero, 4             |         a2 = 4;
    0x00045c0c lw v1, 0x10(v0)               |         v1 = *((v0 + 4));
    0x00045c10 addiu a0, v1, 4               |         a0 = v1 + 4;
    0x00045c14 sw a0, 0x10(v0)               |         *((v0 + 4)) = a0;
    0x00045c18 lw v0, 0xc(v0)                |         v0 = *((v0 + 3));
    0x00045c1c lw a1, 4(v1)                  |         a1 = *((v1 + 1));
    0x00045c20 sltiu a0, v0, 5               |         a0 = (v0 < 5) ? 1 : 0;
                                             |         if (a0 == 0) {
    0x00045c24 movn a2, v0, a0               |             a2 = v0;
                                             |         }
    0x00045c28 lw v0, -0x7f04(gp)            |         v0 = *((gp - 8129));
    0x00045c2c move t9, v0                   |         t9 = v0;
    0x00045c30 addiu a0, fp, 0x58            |         a0 = fp + 0x58;
    0x00045c34 bal 0x3aee0                   |         sym_memmove ();
    0x00045c38 lw a3, 0x8c(fp)               |         a3 = *(var_8ch);
    0x00045c3c lw a0, 0x58(fp)               |         a0 = *(var_58h);
    0x00045c40 move t9, a3                   |         t9 = a3;
    0x00045c44 lw s0, (s0)                   |         s0 = *(s0);
    0x00045c48 jalr t9                       |         t9 ();
    0x00045c4c lw gp, 0x18(fp)               |         gp = *(var_18h);
    0x00045c50 lw t0, 0x84(fp)               |         t0 = *(var_84h);
    0x00045c54 move a0, s0                   |         a0 = s0;
    0x00045c58 lw a1, -0x7fd0(gp)            |         a1 = *((gp - 8180));
    0x00045c5c move a2, v0                   |         a2 = v0;
    0x00045c60 move t9, t0                   |         t9 = t0;
    0x00045c64 addiu a1, a1, 0x71f4          |         a1 += 0x71f4;
    0x00045c68 jalr t9                       |         t9 ();
    0x00045c6c lw gp, 0x18(fp)               |         gp = *(var_18h);
    0x00045c70 b 0x45a58                     |         goto label_1;
                                             |     }
    0x00045c74 lw a1, -0x7fd0(gp)            |     a1 = *((gp - 8180));
    0x00045c78 lw t9, -0x7f5c(gp)            |     t9 = *((gp - 8151));
    0x00045c7c lw a0, (s0)                   |     a0 = *(s0);
    0x00045c80 lw a2, (v0)                   |     a2 = *(v0);
    0x00045c84 addiu a1, a1, 0x7204          |     a1 += 0x7204;
    0x00045c88 bal 0x2f860                   |     sym_fprintf ()
    0x00045c8c lw gp, 0x18(fp)               |     gp = *(var_18h);
    0x00045c90 b 0x46014                     |     goto label_4;
                                             | label_5:
    0x00045c94 lw v0, 0x70(fp)               |     v0 = *(var_70h);
    0x00045c98 lw t9, 0xcc(fp)               |     t9 = *(arg_cch);
    0x00045c9c addiu v0, v0, -1              |     v0 += -1;
    0x00045ca0 sw v0, 0x70(fp)               |     *(var_70h) = v0;
                                             |     if (t9 == 0) {
    0x00045ca4 bnez t9, 0x45ccc              |         
    0x00045ca8 lw a1, -0x7fd0(gp)            |         a1 = *((gp - 8180));
    0x00045cac lw t9, -0x7fd4(gp)            |         t9 = *((gp - 8181));
    0x00045cb0 move a0, s0                   |         a0 = s0;
    0x00045cb4 addiu a1, a1, 0x74a0          |         a1 += 0x74a0;
    0x00045cb8 addiu a2, zero, 1             |         a2 = 1;
    0x00045cbc bal 0x62288                   |         sym_write ();
    0x00045cc0 lw gp, 0x18(fp)               |         gp = *(var_18h);
    0x00045cc4 sw zero, 0x70(fp)             |         *(var_70h) = 0;
    0x00045cc8 b 0x45eb4                     |         
                                             |     } else {
    0x00045ccc lw t9, -0x79ac(gp)            |         t9 = *((gp - 7787));
    0x00045cd0 addiu a0, fp, 0x70            |         a0 = fp + 0x70;
    0x00045cd4 bal 0x45808                   |         sym_rresvport ();
    0x00045cd8 move s3, v0                   |         s3 = v0;
    0x00045cdc addiu v0, zero, 0x10          |         v0 = 0x10;
    0x00045ce0 lw gp, 0x18(fp)               |         gp = *(var_18h);
    0x00045ce4 sw v0, 0x6c(fp)               |         *(var_6ch) = v0;
                                             |         if (s3 < 0) {
    0x00045ce8 bltz s3, 0x46004              |             goto label_8;
                                             |         }
    0x00045cec lw t9, -0x79a0(gp)            |         t9 = *((gp - 7784));
    0x00045cf0 move a0, s3                   |         a0 = s3;
    0x00045cf4 addiu a1, zero, 1             |         a1 = 1;
    0x00045cf8 bal 0x57d70                   |         sym_listen ();
    0x00045cfc lw gp, 0x18(fp)               |         gp = *(var_18h);
    0x00045d00 lw a3, 0x70(fp)               |         a3 = *(var_70h);
    0x00045d04 addiu a1, zero, 8             |         a1 = 8;
    0x00045d08 lw a2, -0x7fd0(gp)            |         a2 = *((gp - 8180));
    0x00045d0c lw t9, -0x799c(gp)            |         t9 = *((gp - 7783));
    0x00045d10 addiu a0, fp, 0x64            |         a0 = fp + 0x64;
    0x00045d14 addiu a2, a2, 0x720c          |         a2 += 0x720c;
    0x00045d18 bal 0x2f8a0                   |         sym_snprintf ();
    0x00045d1c lw gp, 0x18(fp)               |         gp = *(var_18h);
    0x00045d20 lw s6, -0x7fdc(gp)            |         s6 = *((gp - 8183));
    0x00045d24 move t9, s6                   |         t9 = s6;
    0x00045d28 addiu a0, fp, 0x64            |         a0 = fp + 0x64;
    0x00045d2c bal 0x3b6e0                   |         sym_strlen ();
    0x00045d30 lw gp, 0x18(fp)               |         gp = *(var_18h);
    0x00045d34 move a0, s0                   |         a0 = s0;
    0x00045d38 addiu a1, fp, 0x64            |         a1 = fp + 0x64;
    0x00045d3c lw t9, -0x7fd4(gp)            |         t9 = *((gp - 8181));
    0x00045d40 addiu a2, v0, 1               |         a2 = v0 + 1;
    0x00045d44 bal 0x62288                   |         sym_write ();
    0x00045d48 addiu a0, fp, 0x64            |         a0 = fp + 0x64;
    0x00045d4c move t9, s6                   |         t9 = s6;
    0x00045d50 move s7, v0                   |         s7 = v0;
    0x00045d54 bal 0x3b6e0                   |         sym_strlen ();
    0x00045d58 addiu v0, v0, 1               |         v0++;
    0x00045d5c lw gp, 0x18(fp)               |         gp = *(var_18h);
                                             |         if (s7 != v0) {
    0x00045d60 beq s7, v0, 0x45d78           |             
    0x00045d64 lw v0, -0x7614(gp)            |             v0 = *((gp - 7557));
    0x00045d68 lw a1, -0x7fd0(gp)            |             a1 = *((gp - 8180));
    0x00045d6c lw a0, (v0)                   |             a0 = *(v0);
    0x00045d70 addiu a1, a1, 0x7210          |             a1 += 0x7210;
    0x00045d74 b 0x45de8                     |             
                                             |         } else {
    0x00045d78 lw s6, -0x7560(gp)            |             s6 = *((gp - 7512));
    0x00045d7c rdhwr v1, 29                  |             __asm ("rdhwr v1, 29");
    0x00045d80 lw t9, -0x7a40(gp)            |             t9 = *((gp - 7824));
    0x00045d84 addu v0, s6, v1               |             v0 = s6 + v1;
    0x00045d88 sw s0, 0x34(fp)               |             *(var_34h) = s0;
    0x00045d8c sw s3, 0x3c(fp)               |             *(var_3ch) = s3;
    0x00045d90 sw zero, (v0)                 |             *(v0) = 0;
    0x00045d94 addiu a0, fp, 0x34            |             a0 = fp + 0x34;
    0x00045d98 addiu a1, zero, 2             |             a1 = 2;
    0x00045d9c addiu a2, zero, -1            |             a2 = -1;
    0x00045da0 jalr t9                       |             t9 ();
    0x00045da4 lw gp, 0x18(fp)               |             gp = *(var_18h);
                                             |             if (v0 > 0) {
    0x00045da8 blez v0, 0x45dbc              |                 
    0x00045dac lhu v0, 0x42(fp)              |                 v0 = *(arg_42h);
    0x00045db0 andi v0, v0, 1                |                 v0 &= 1;
    0x00045db4 lw t9, -0x7998(gp)            |                 t9 = *((gp - 7782));
                                             |                 if (v0 != 0) {
    0x00045db8 bnez v0, 0x45e00              |                     goto label_9;
                                             |                 }
                                             |             }
    0x00045dbc rdhwr v1, 29                  |             __asm ("rdhwr v1, 29");
    0x00045dc0 addu s6, s6, v1               |             s6 += v1;
    0x00045dc4 lw v0, -0x7614(gp)            |             v0 = *((gp - 7557));
    0x00045dc8 lw v1, (s6)                   |             v1 = *(s6);
    0x00045dcc lw a0, (v0)                   |             a0 = *(v0);
                                             |             if (v1 != 0) {
    0x00045dd0 beqz v1, 0x45de0              |                 
    0x00045dd4 lw a1, -0x7fd0(gp)            |                 a1 = *((gp - 8180));
    0x00045dd8 addiu a1, a1, 0x7238          |                 a1 += 0x7238;
    0x00045ddc b 0x45de8                     |                 
                                             |             } else {
    0x00045de0 lw a1, -0x7fd0(gp)            |                 a1 = *((gp - 8180));
    0x00045de4 addiu a1, a1, 0x725c          |                 a1 += 0x725c;
                                             |             }
                                             |         }
    0x00045de8 lw t9, -0x7f5c(gp)            |         t9 = *((gp - 8151));
    0x00045dec bal 0x2f860                   |         sym_fprintf ()
    0x00045df0 nop                           |         
    0x00045df4 lw gp, 0x18(fp)               |         gp = *(var_18h);
    0x00045df8 move a0, s3                   |         a0 = s3;
    0x00045dfc b 0x45ff4                     |         goto label_10;
                                             | label_9:
    0x00045e00 move a0, s3                   |         a0 = s3;
    0x00045e04 addiu a1, fp, 0x44            |         a1 = fp + 0x44;
    0x00045e08 addiu a2, fp, 0x6c            |         a2 = fp + 0x6c;
    0x00045e0c bal 0x57aa0                   |         sym_libc_accept ();
    0x00045e10 lw gp, 0x18(fp)               |         gp = *(var_18h);
    0x00045e14 move s6, v0                   |         s6 = v0;
    0x00045e18 lw t9, -0x7fa0(gp)            |         t9 = *((gp - 8168));
    0x00045e1c move a0, s3                   |         a0 = s3;
    0x00045e20 bal 0x620b8                   |         sym_libc_close ();
    0x00045e24 lw gp, 0x18(fp)               |         gp = *(var_18h);
                                             |         if (s6 < 0) {
    0x00045e28 bgez s6, 0x45e50              |             
    0x00045e2c lw v0, -0x7614(gp)            |             v0 = *((gp - 7557));
    0x00045e30 lw a1, -0x7fd0(gp)            |             a1 = *((gp - 8180));
    0x00045e34 lw t9, -0x7f5c(gp)            |             t9 = *((gp - 8151));
    0x00045e38 lw a0, (v0)                   |             a0 = *(v0);
    0x00045e3c addiu a1, a1, 0x7288          |             a1 += 0x7288;
    0x00045e40 bal 0x2f860                   |             sym_fprintf ()
    0x00045e44 lw gp, 0x18(fp)               |             gp = *(var_18h);
    0x00045e48 sw zero, 0x70(fp)             |             *(var_70h) = 0;
    0x00045e4c b 0x46004                     |             goto label_8;
                                             |         }
    0x00045e50 lhu v1, 0x46(fp)              |         v1 = *(arg_46h);
    0x00045e54 lw t9, 0xcc(fp)               |         t9 = *(arg_cch);
    0x00045e58 lhu a0, 0x44(fp)              |         a0 = *(arg_44h);
    0x00045e5c ext v0, v1, 8, 8              |         __asm ("ext v0, v1, 8, 8");
    0x00045e60 sll v1, v1, 8                 |         v1 <<= 8;
    0x00045e64 or v0, v0, v1                 |         v0 |= v1;
    0x00045e68 andi v0, v0, 0xffff           |         v0 &= 0xffff;
    0x00045e6c addiu v1, zero, 2             |         v1 = 2;
    0x00045e70 sw s6, (t9)                   |         *(t9) = s6;
    0x00045e74 sh v0, 0x46(fp)               |         *(var_46h) = v0;
                                             |         if (a0 == v1) {
    0x00045e78 bne a0, v1, 0x45e94           |             
    0x00045e7c sltiu v1, v0, 0x400           |             v1 = (v0 < aav.0x00000400) ? 1 : 0;
                                             |             if (v1 == 0) {
    0x00045e80 beql v1, zero, 0x45e98        |                 goto label_11;
                                             |             }
    0x00045e84 lw v0, -0x7614(gp)            |             v0 = *((gp - 7557));
    0x00045e88 sltiu v0, v0, 0x200           |             v0 = (v0 < aav.0x00000200) ? 1 : 0;
    0x00045e8c lw s6, -0x7fdc(gp)            |             s6 = *((gp - 8183));
                                             |             if (v0 == 0) {
    0x00045e90 beqz v0, 0x45eb8              |                 goto label_12;
                                             |             }
                                             |         }
    0x00045e94 lw v0, -0x7614(gp)            |         v0 = *((gp - 7557));
                                             | label_11:
    0x00045e98 lw a1, -0x7fd0(gp)            |         a1 = *((gp - 8180));
    0x00045e9c lw t9, -0x7f5c(gp)            |         t9 = *((gp - 8151));
    0x00045ea0 lw a0, (v0)                   |         a0 = *(v0);
    0x00045ea4 addiu a1, a1, 0x729c          |         a1 += 0x729c;
    0x00045ea8 bal 0x2f860                   |         sym_fprintf ()
    0x00045eac lw gp, 0x18(fp)               |         gp = *(var_18h);
    0x00045eb0 b 0x45f6c                     |         goto label_13;
                                             |     }
    0x00045eb4 lw s6, -0x7fdc(gp)            |     s6 = *((gp - 8183));
                                             | label_12:
    0x00045eb8 move t9, s6                   |     t9 = s6;
    0x00045ebc move a0, s5                   |     a0 = s5;
    0x00045ec0 bal 0x3b6e0                   |     sym_strlen ();
    0x00045ec4 lw gp, 0x18(fp)               |     gp = *(var_18h);
    0x00045ec8 move a1, s5                   |     a1 = s5;
    0x00045ecc addiu a2, v0, 1               |     a2 = v0 + 1;
    0x00045ed0 lw s3, -0x7fd4(gp)            |     s3 = *((gp - 8181));
    0x00045ed4 move a0, s0                   |     a0 = s0;
    0x00045ed8 move t9, s3                   |     t9 = s3;
    0x00045edc addiu s5, fp, 0x6c            |     s5 = fp + 0x6c;
    0x00045ee0 bal 0x62288                   |     sym_write ();
    0x00045ee4 move t9, s6                   |     t9 = s6;
    0x00045ee8 move a0, s4                   |     a0 = s4;
    0x00045eec bal 0x3b6e0                   |     sym_strlen ();
    0x00045ef0 addiu a2, v0, 1               |     a2 = v0 + 1;
    0x00045ef4 move a1, s4                   |     a1 = s4;
    0x00045ef8 move t9, s3                   |     t9 = s3;
    0x00045efc move a0, s0                   |     a0 = s0;
    0x00045f00 bal 0x62288                   |     sym_write ();
    0x00045f04 move t9, s6                   |     t9 = s6;
    0x00045f08 lw a0, 0xc8(fp)               |     a0 = *(arg_c8h);
    0x00045f0c bal 0x3b6e0                   |     sym_strlen ();
    0x00045f10 lw a1, 0xc8(fp)               |     a1 = *(arg_c8h);
    0x00045f14 move a0, s0                   |     a0 = s0;
    0x00045f18 move t9, s3                   |     t9 = s3;
    0x00045f1c addiu a2, v0, 1               |     a2 = v0 + 1;
    0x00045f20 bal 0x62288                   |     sym_write ();
    0x00045f24 lw gp, 0x18(fp)               |     gp = *(var_18h);
    0x00045f28 move a0, s0                   |     a0 = s0;
    0x00045f2c move a1, s5                   |     a1 = s5;
    0x00045f30 lw s4, -0x7f9c(gp)            |     s4 = *((gp - 8167));
    0x00045f34 move t9, s4                   |     t9 = s4;
    0x00045f38 addiu a2, zero, 1             |     a2 = 1;
    0x00045f3c bal 0x62378                   |     sym_read ();
    0x00045f40 addiu v1, zero, 1             |     v1 = 1;
    0x00045f44 lw gp, 0x18(fp)               |     gp = *(var_18h);
                                             |     if (v0 != v1) {
    0x00045f48 beq v0, v1, 0x45f74           |         
    0x00045f4c lw v0, -0x7614(gp)            |         v0 = *((gp - 7557));
    0x00045f50 lw a1, -0x7fd0(gp)            |         a1 = *((gp - 8180));
    0x00045f54 lw t9, -0x7f5c(gp)            |         t9 = *((gp - 8151));
    0x00045f58 lw a0, (v0)                   |         a0 = *(v0);
    0x00045f5c lw a2, (s2)                   |         a2 = *(s2);
    0x00045f60 addiu a1, a1, 0x72c8          |         a1 += 0x72c8;
    0x00045f64 bal 0x2f860                   |         sym_fprintf ()
    0x00045f68 lw gp, 0x18(fp)               |         gp = *(var_18h);
                                             | label_13:
    0x00045f6c lw v0, 0x70(fp)               |         v0 = *(var_70h);
    0x00045f70 b 0x45fe4                     |         goto label_14;
                                             |     }
    0x00045f74 lbu v0, 0x6c(fp)              |     v0 = *(var_6ch);
    0x00045f78 lw t9, -0x7994(gp)            |     t9 = *((gp - 7781));
                                             |     if (v0 == 0) {
    0x00045f7c beqz v0, 0x45fd0              |         goto label_15;
                                             |     }
    0x00045f80 move s2, s5                   |     s2 = s5;
    0x00045f84 addiu s5, zero, 0xa           |     s5 = 0xa;
                                             |     do {
    0x00045f88 move a0, s0                   |         a0 = s0;
    0x00045f8c move a1, s2                   |         a1 = s2;
    0x00045f90 move t9, s4                   |         t9 = s4;
    0x00045f94 addiu a2, zero, 1             |         a2 = 1;
    0x00045f98 bal 0x62378                   |         sym_read ();
    0x00045f9c addiu v1, zero, 1             |         v1 = 1;
    0x00045fa0 lw gp, 0x18(fp)               |         gp = *(var_18h);
                                             |         if (v0 != v1) {
    0x00045fa4 bne v0, v1, 0x45fe0           |             goto label_16;
                                             |         }
    0x00045fa8 addiu a0, zero, 2             |         a0 = 2;
    0x00045fac move a1, s2                   |         a1 = s2;
    0x00045fb0 move t9, s3                   |         t9 = s3;
    0x00045fb4 addiu a2, zero, 1             |         a2 = 1;
    0x00045fb8 bal 0x62288                   |         sym_write ();
    0x00045fbc lbu v0, 0x6c(fp)              |         v0 = *(var_6ch);
    0x00045fc0 lw gp, 0x18(fp)               |         gp = *(var_18h);
    0x00045fc4 bne v0, s5, 0x45f88           |         
                                             |     } while (v0 != s5);
    0x00045fc8 lw v0, 0x70(fp)               |     v0 = *(var_70h);
    0x00045fcc b 0x45fe4                     |     goto label_14;
                                             | label_15:
    0x00045fd0 move a0, s1                   |     a0 = s1;
    0x00045fd4 bal 0x59090                   |     sym_sigsetmask ();
    0x00045fd8 move sp, fp                   |     
    0x00045fdc b 0x46028                     |     goto label_17;
                                             | label_16:
    0x00045fe0 lw v0, 0x70(fp)               |     v0 = *(var_70h);
                                             | label_14:
    0x00045fe4 lw t9, -0x7fa0(gp)            |     t9 = *((gp - 8168));
                                             |     if (v0 != 0) {
    0x00045fe8 beqz v0, 0x46008              |         
    0x00045fec lw t9, 0xcc(fp)               |         t9 = *(arg_cch);
    0x00045ff0 lw a0, (t9)                   |         a0 = *(t9);
                                             | label_10:
    0x00045ff4 lw t9, -0x7fa0(gp)            |         t9 = *((gp - 8168));
    0x00045ff8 bal 0x620b8                   |         sym_libc_close ();
    0x00045ffc nop                           |         
    0x00046000 lw gp, 0x18(fp)               |         gp = *(var_18h);
                                             | label_8:
    0x00046004 lw t9, -0x7fa0(gp)            |         t9 = *((gp - 8168));
                                             |     }
    0x00046008 move a0, s0                   |     a0 = s0;
    0x0004600c bal 0x620b8                   |     sym_libc_close ();
    0x00046010 lw gp, 0x18(fp)               |     gp = *(var_18h);
                                             | label_4:
    0x00046014 lw t9, -0x7994(gp)            |     t9 = *((gp - 7781));
    0x00046018 move a0, s1                   |     a0 = s1;
    0x0004601c bal 0x59090                   |     sym_sigsetmask ();
    0x00046020 addiu s0, zero, -1            |     s0 = -1;
                                             | label_3:
    0x00046024 move sp, fp                   |     
                                             | label_17:
    0x00046028 lw ra, 0xb4(sp)               |     ra = *(var_b4h);
    0x0004602c move v0, s0                   |     v0 = s0;
    0x00046030 lw fp, 0xb0(sp)               |     fp = *(var_b0h);
    0x00046034 lw s7, 0xac(sp)               |     s7 = *(var_ach);
    0x00046038 lw s6, 0xa8(sp)               |     s6 = *(var_a8h);
    0x0004603c lw s5, 0xa4(sp)               |     s5 = *(var_a4h);
    0x00046040 lw s4, 0xa0(sp)               |     s4 = *(var_a0h);
    0x00046044 lw s3, 0x9c(sp)               |     s3 = *(var_9ch);
    0x00046048 lw s2, 0x98(sp)               |     s2 = *(var_98h);
    0x0004604c lw s1, 0x94(sp)               |     s1 = *(var_94h);
    0x00046050 lw s0, 0x90(sp)               |     s0 = *(var_90h);
    0x00046054 addiu sp, sp, 0xb8            |     
    0x00046058 jr ra                         |     return v0;
                                             | }
    ; assembly                               | /* r2dec pseudo code output */
                                             | /* /logs/firmware/unblob_extracted/firmware_extract/2097216-5451840.squashfs_v4_le_extract/lib/libuClibc-0.9.33.2.so @ 0x4a8e8 */
                                             | #include <stdint.h>
                                             |  
    ; (fcn) sym.svcudp_enablecache ()        | void svcudp_enablecache () {
    0x0004a8e8 lui gp, 7                     |     
    0x0004a8ec addiu gp, gp, 0x6df8          |     
    0x0004a8f0 addu gp, gp, t9               |     gp += t9;
    0x0004a8f4 addiu sp, sp, -0x30           |     
    0x0004a8f8 sw gp, 0x10(sp)               |     *(var_10h) = gp;
    0x0004a8fc sw ra, 0x2c(sp)               |     *(var_2ch) = ra;
    0x0004a900 sw s3, 0x28(sp)               |     *(var_28h) = s3;
    0x0004a904 sw s2, 0x24(sp)               |     *(var_24h) = s2;
    0x0004a908 sw s1, 0x20(sp)               |     *(var_20h) = s1;
    0x0004a90c sw s0, 0x1c(sp)               |     *(var_1ch) = s0;
    0x0004a910 lw s2, 0x30(a0)               |     s2 = *((a0 + 12));
    0x0004a914 lw v0, 0x1b0(s2)              |     v0 = *(s2);
    0x0004a918 lw v0, -0x7614(gp)            |     v0 = *((gp - 7557));
                                             |     if (v0 != 0) {
    0x0004a91c beqz v0, 0x4a938              |         
    0x0004a920 lw a1, -0x7fd0(gp)            |         a1 = *((gp - 8180));
    0x0004a924 lw a2, -0x7fd0(gp)            |         a2 = *((gp - 8180));
    0x0004a928 lw a0, (v0)                   |         a0 = *(v0);
    0x0004a92c addiu a1, a1, 0x5510          |         a1 += 0x5510;
    0x0004a930 addiu a2, a2, 0x76c0          |         a2 += 0x76c0;
    0x0004a934 b 0x4a96c                     |         
                                             |     } else {
    0x0004a938 lw t9, -0x759c(gp)            |         t9 = *((gp - 7527));
    0x0004a93c addiu a0, zero, 0x2c          |         a0 = 0x2c;
    0x0004a940 move s1, a1                   |         s1 = a1;
    0x0004a944 jalr t9                       |         t9 ();
    0x0004a948 move s0, v0                   |         s0 = v0;
    0x0004a94c lw gp, 0x10(sp)               |         gp = *(var_10h);
                                             |         if (v0 != 0) {
    0x0004a950 bnez v0, 0x4a980              |             goto label_1;
                                             |         }
    0x0004a954 lw v0, -0x7614(gp)            |         v0 = *((gp - 7557));
    0x0004a958 lw a1, -0x7fd0(gp)            |         a1 = *((gp - 8180));
    0x0004a95c lw a2, -0x7fd0(gp)            |         a2 = *((gp - 8180));
    0x0004a960 lw a0, (v0)                   |         a0 = *(v0);
    0x0004a964 addiu a1, a1, 0x5510          |         a1 += 0x5510;
    0x0004a968 addiu a2, a2, 0x76e4          |         a2 += 0x76e4;
                                             |     }
                                             |     do {
                                             | label_0:
    0x0004a96c lw t9, -0x7f5c(gp)            |         t9 = *((gp - 8151));
    0x0004a970 bal 0x2f860                   |         sym_fprintf ()
    0x0004a974 nop                           |         
    0x0004a978 move v0, zero                 |         v0 = 0;
    0x0004a97c b 0x4aa30                     |         goto label_2;
                                             | label_1:
    0x0004a980 lw t9, -0x759c(gp)            |         t9 = *((gp - 7527));
    0x0004a984 sll s3, s1, 4                 |         s3 = s1 << 4;
    0x0004a988 sw s1, (v0)                   |         *(v0) = s1;
    0x0004a98c sw zero, 0xc(v0)              |         *((v0 + 3)) = 0;
    0x0004a990 move a0, s3                   |         a0 = s3;
    0x0004a994 jalr t9                       |         t9 ();
    0x0004a998 sw v0, 4(s0)                  |         *((s0 + 1)) = v0;
    0x0004a99c lw gp, 0x10(sp)               |         gp = *(var_10h);
                                             |         if (v0 != 0) {
    0x0004a9a0 bnez v0, 0x4a9c0              |             goto label_3;
                                             |         }
    0x0004a9a4 lw v0, -0x7614(gp)            |         v0 = *((gp - 7557));
    0x0004a9a8 lw a1, -0x7fd0(gp)            |         a1 = *((gp - 8180));
    0x0004a9ac lw a2, -0x7fd0(gp)            |         a2 = *((gp - 8180));
    0x0004a9b0 lw a0, (v0)                   |         a0 = *(v0);
    0x0004a9b4 addiu a1, a1, 0x5510          |         a1 += 0x5510;
    0x0004a9b8 addiu a2, a2, 0x770c          |         a2 += 0x770c;
    0x0004a9bc b 0x4a96c                     |         
                                             |     } while (1);
                                             | label_3:
    0x0004a9c0 move a2, s3                   |     a2 = s3;
    0x0004a9c4 lw s3, -0x7fe4(gp)            |     s3 = *((gp - 8185));
    0x0004a9c8 move a0, v0                   |     a0 = v0;
    0x0004a9cc move t9, s3                   |     t9 = s3;
    0x0004a9d0 move a1, zero                 |     a1 = 0;
    0x0004a9d4 bal 0x3a970                   |     sym_memset ();
    0x0004a9d8 lw gp, 0x10(sp)               |     gp = *(var_10h);
    0x0004a9dc sll s1, s1, 2                 |     s1 <<= 2;
    0x0004a9e0 lw t9, -0x759c(gp)            |     t9 = *((gp - 7527));
    0x0004a9e4 move a0, s1                   |     a0 = s1;
    0x0004a9e8 jalr t9                       |     t9 ();
    0x0004a9ec sw v0, 8(s0)                  |     *((s0 + 2)) = v0;
    0x0004a9f0 lw gp, 0x10(sp)               |     gp = *(var_10h);
                                             |     if (v0 == 0) {
    0x0004a9f4 bnez v0, 0x4aa14              |         
    0x0004a9f8 lw v0, -0x7614(gp)            |         v0 = *((gp - 7557));
    0x0004a9fc lw a1, -0x7fd0(gp)            |         a1 = *((gp - 8180));
    0x0004aa00 lw a2, -0x7fd0(gp)            |         a2 = *((gp - 8180));
    0x0004aa04 lw a0, (v0)                   |         a0 = *(v0);
    0x0004aa08 addiu a1, a1, 0x5510          |         a1 += 0x5510;
    0x0004aa0c addiu a2, a2, 0x7738          |         a2 += 0x7738;
    0x0004aa10 b 0x4a96c                     |         goto label_0;
                                             |     }
    0x0004aa14 move a0, v0                   |     a0 = v0;
    0x0004aa18 move a1, zero                 |     a1 = 0;
    0x0004aa1c move t9, s3                   |     t9 = s3;
    0x0004aa20 move a2, s1                   |     a2 = s1;
    0x0004aa24 bal 0x3a970                   |     sym_memset ();
    0x0004aa28 sw s0, 0x1b0(s2)              |     *(s2) = s0;
    0x0004aa2c addiu v0, zero, 1             |     v0 = 1;
                                             | label_2:
    0x0004aa30 lw ra, 0x2c(sp)               |     ra = *(var_2ch);
    0x0004aa34 lw s3, 0x28(sp)               |     s3 = *(var_28h);
    0x0004aa38 lw s2, 0x24(sp)               |     s2 = *(var_24h);
    0x0004aa3c lw s1, 0x20(sp)               |     s1 = *(var_20h);
    0x0004aa40 lw s0, 0x1c(sp)               |     s0 = *(var_1ch);
    0x0004aa44 addiu sp, sp, 0x30            |     
    0x0004aa48 jr ra                         |     return v0;
                                             | }
    ; assembly                               | /* r2dec pseudo code output */
                                             | /* /logs/firmware/unblob_extracted/firmware_extract/2097216-5451840.squashfs_v4_le_extract/lib/libuClibc-0.9.33.2.so @ 0x13210 */
                                             | #include <stdint.h>
                                             |  
    ; (fcn) sym.vwarnx ()                    | void vwarnx () {
                                             | label_0:
    0x00012fe0 lui gp, 0xb                   |     
    0x00012fe4 addiu gp, gp, -0x1900         |     
    0x00012fe8 addu gp, gp, t9               |     gp += t9;
    0x00012fec addiu sp, sp, -0x70           |     
    0x00012ff0 sw gp, 0x10(sp)               |     *(var_10h) = gp;
    0x00012ff4 sw s4, 0x68(sp)               |     *(var_68h) = s4;
    0x00012ff8 sw s2, 0x60(sp)               |     *(var_60h) = s2;
    0x00012ffc sw ra, 0x6c(sp)               |     *(var_6ch) = ra;
    0x00013000 sw s3, 0x64(sp)               |     *(var_64h) = s3;
    0x00013004 sw s1, 0x5c(sp)               |     *(var_5ch) = s1;
    0x00013008 sw s0, 0x58(sp)               |     *(var_58h) = s0;
    0x0001300c move s2, a0                   |     s2 = a0;
    0x00013010 move s4, a1                   |     s4 = a1;
                                             |     if (a2 != 0) {
    0x00013014 beqz a2, 0x1304c              |         
    0x00013018 rdhwr v1, 29                  |         __asm ("rdhwr v1, 29");
    0x0001301c move v0, v1                   |         v0 = v1;
    0x00013020 lw v1, -0x7560(gp)            |         v1 = *((gp - 7512));
    0x00013024 lw t9, -0x7e64(gp)            |         t9 = *((gp - 8089));
    0x00013028 addiu a1, sp, 0x18            |         a1 = sp + 0x18;
    0x0001302c addu v0, v1, v0               |         v0 = v1 + v0;
    0x00013030 lw a0, (v0)                   |         a0 = *(v0);
    0x00013034 addiu a2, zero, 0x40          |         a2 = 0x40;
    0x00013038 jalr t9                       |         t9 ();
    0x0001303c lw gp, 0x10(sp)               |         gp = *(var_10h);
    0x00013040 lw s1, -0x7fd0(gp)            |         s1 = *((gp - 8180));
    0x00013044 addiu s1, s1, 0x4797          |         s1 += 0x4797;
    0x00013048 b 0x13054                     |         
                                             |     } else {
    0x0001304c lw s1, -0x7fd0(gp)            |         s1 = *((gp - 8180));
    0x00013050 addiu s1, s1, 0x479b          |         s1 += 0x479b;
                                             |     }
    0x00013054 lw v0, -0x7614(gp)            |     v0 = *((gp - 7557));
    0x00013058 lw v0, (v0)                   |     v0 = *(v0);
    0x0001305c lw s0, 0x48(v0)               |     s0 = *((v0 + 18));
    0x00013060 lw s3, -0x7614(gp)            |     s3 = *((gp - 7557));
                                             |     if (s0 != 0) {
    0x00013064 bnez s0, 0x130dc              |         goto label_1;
                                             |     }
    0x00013068 rdhwr v1, 29                  |     __asm ("rdhwr v1, 29");
    0x0001306c addiu s3, v1, -0x7460         |     s3 = v1 + -0x7460;
    0x00013070 lw v1, 0x54(v0)               |     v1 = *((v0 + 21));
    0x00013074 addiu a0, v0, 0x4c            |     a0 = v0 + 0x4c;
                                             |     if (v1 == s3) {
    0x00013078 beq v1, s3, 0x130c4           |         goto label_2;
                                             |     }
    0x0001307c addiu a3, zero, 1             |     a3 = 1;
                                             |     do {
    0x00013080 ll a1, 0x4c(v0)               |         __asm ("ll a1, 0x4c(v0)");
    0x00013084 move v1, zero                 |         v1 = 0;
                                             |         if (a1 != s0) {
    0x00013088 bne a1, s0, 0x130a0           |             goto label_3;
                                             |         }
    0x0001308c move v1, a3                   |         v1 = a3;
    0x00013090 sc v1, 0x4c(v0)               |         __asm ("sc v1, 0x4c(v0)");
    0x00013094 beqz v1, 0x13080              |         
                                             |     } while (v1 == 0);
    0x00013098 nop                           |     
    0x0001309c sync                          |     __asm ("sync");
                                             | label_3:
    0x000130a0 lw v0, -0x7614(gp)            |     v0 = *((gp - 7557));
                                             |     if (v1 == 0) {
    0x000130a4 bnez v1, 0x130bc              |         
    0x000130a8 lw t9, -0x7e60(gp)            |         t9 = *((gp - 8088));
    0x000130ac jalr t9                       |         t9 ();
    0x000130b0 nop                           |         
    0x000130b4 lw gp, 0x10(sp)               |         gp = *(var_10h);
    0x000130b8 lw v0, -0x7614(gp)            |         v0 = *((gp - 7557));
                                             |     }
    0x000130bc lw v0, (v0)                   |     v0 = *(v0);
    0x000130c0 sw s3, 0x54(v0)               |     *((v0 + 21)) = s3;
                                             | label_2:
    0x000130c4 lw v0, -0x7614(gp)            |     v0 = *((gp - 7557));
    0x000130c8 lw v0, (v0)                   |     v0 = *(v0);
    0x000130cc lw v1, 0x50(v0)               |     v1 = *((v0 + 20));
    0x000130d0 addiu v1, v1, 1               |     v1++;
    0x000130d4 sw v1, 0x50(v0)               |     *((v0 + 20)) = v1;
    0x000130d8 lw s3, -0x7614(gp)            |     s3 = *((gp - 7557));
                                             | label_1:
    0x000130dc lw v0, -0x7fd8(gp)            |     v0 = *((gp - 8182));
    0x000130e0 lw a1, -0x7fd0(gp)            |     a1 = *((gp - 8180));
    0x000130e4 lw t9, -0x7f5c(gp)            |     t9 = *((gp - 8151));
    0x000130e8 lw a0, (s3)                   |     a0 = *(s3);
    0x000130ec lw a2, (v0)                   |     a2 = *(v0);
    0x000130f0 addiu a1, a1, 0x4790          |     a1 += 0x4790;
    0x000130f4 bal 0x2f860                   |     sym_fprintf ()
    0x000130f8 lw gp, 0x10(sp)               |     gp = *(var_10h);
                                             |     if (s2 != 0) {
    0x000130fc beqz s2, 0x1311c              |         
    0x00013100 lw t9, -0x7e5c(gp)            |         t9 = *((gp - 8087));
    0x00013104 lw a0, (s3)                   |         a0 = *(s3);
    0x00013108 move a1, s2                   |         a1 = s2;
    0x0001310c move a2, s4                   |         a2 = s4;
    0x00013110 jalr t9                       |         t9 ();
    0x00013114 lw gp, 0x10(sp)               |         gp = *(var_10h);
    0x00013118 addiu s1, s1, -2              |         s1 += -2;
                                             |     }
    0x0001311c lw s2, -0x7614(gp)            |     s2 = *((gp - 7557));
    0x00013120 lw t9, -0x7f5c(gp)            |     t9 = *((gp - 8151));
    0x00013124 move a1, s1                   |     a1 = s1;
    0x00013128 lw a0, (s2)                   |     a0 = *(s2);
    0x0001312c addiu a2, sp, 0x18            |     a2 = sp + 0x18;
    0x00013130 bal 0x2f860                   |     sym_fprintf ()
    0x00013134 lw ra, 0x6c(sp)               |     ra = *(var_6ch);
                                             |     if (s0 != 0) {
    0x00013138 bnez s0, 0x13194              |         goto label_4;
                                             |     }
    0x0001313c lw v0, (s2)                   |     v0 = *(s2);
    0x00013140 lw v1, 0x50(v0)               |     v1 = *((v0 + 20));
    0x00013144 addiu v1, v1, -1              |     v1 += -1;
    0x00013148 sw v1, 0x50(v0)               |     *((v0 + 20)) = v1;
                                             |     if (v1 != 0) {
    0x0001314c bnez v1, 0x13190              |         goto label_5;
                                             |     }
    0x00013150 sw zero, 0x54(v0)             |     *((v0 + 21)) = 0;
    0x00013154 addiu a0, v0, 0x4c            |     a0 = v0 + 0x4c;
    0x00013158 sync                          |     __asm ("sync");
                                             |     do {
    0x0001315c ll v1, 0x4c(v0)               |         __asm ("ll v1, 0x4c(v0)");
    0x00013160 move a1, s0                   |         a1 = s0;
    0x00013164 sc a1, 0x4c(v0)               |         __asm ("sc a1, 0x4c(v0)");
    0x00013168 beqz a1, 0x1315c              |         
                                             |     } while (a1 == 0);
    0x0001316c nop                           |     
    0x00013170 slti v0, v1, 2                |     v0 = (v1 < 2) ? 1 : 0;
    0x00013174 lw ra, 0x6c(sp)               |     ra = *(var_6ch);
                                             |     if (v0 == 0) {
    0x00013178 bnez v0, 0x13194              |         
    0x0001317c addiu a1, zero, 0x81          |         a1 = 0x81;
    0x00013180 addiu a2, zero, 1             |         a2 = 1;
    0x00013184 move a3, zero                 |         a3 = 0;
    0x00013188 addiu v0, zero, 0x108e        |         v0 = 0x108e;
    0x0001318c syscall                       |         __asm ("syscall");
                                             | label_5:
    0x00013190 lw ra, 0x6c(sp)               |         ra = *(var_6ch);
                                             |     }
                                             | label_4:
    0x00013194 lw s4, 0x68(sp)               |     s4 = *(var_68h);
    0x00013198 lw s3, 0x64(sp)               |     s3 = *(var_64h);
    0x0001319c lw s2, 0x60(sp)               |     s2 = *(var_60h);
    0x000131a0 lw s1, 0x5c(sp)               |     s1 = *(var_5ch);
    0x000131a4 lw s0, 0x58(sp)               |     s0 = *(var_58h);
    0x000131a8 addiu sp, sp, 0x70            |     
    0x000131ac jr ra                         |     return v0;
    0x00013210 lui gp, 0xb                   |     
    0x00013214 addiu gp, gp, -0x1b30         |     
    0x00013218 addu gp, gp, t9               |     gp += t9;
    0x0001321c lw t9, -0x7f90(gp)            |     t9 = *((gp - 8164));
    0x00013220 addiu t9, t9, 0x2fe0          |     t9 += 0x2fe0;
    0x00013224 move a2, zero                 |     a2 = 0;
    0x00013228 b 0x12fe0                     |     goto label_0;
                                             | }

[*] Function fprintf used 34 times libuClibc-0.9.33.2.so