[*] 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/11108416-13869836.lzma_extract/lzma.uncompressed_extract/3761304-11775640.cpio_portable_ascii_extract/lib/libuClibc-0.9.33.2.so @ 0x1adb8 */
                                             | #include <stdint.h>
                                             |  
    ; (fcn) fcn.0001adb8 ()                  | void fcn_0001adb8 () {
    0x0001adb8 sw s0, 0x2c(sp)               |     *(var_2ch) = s0;
    0x0001adbc sw ra, 0x34(sp)               |     *(var_34h) = ra;
    0x0001adc0 move s0, a1                   |     s0 = a1;
    0x0001adc4 move a1, zero                 |     a1 = 0;
    0x0001adc8 move s1, a0                   |     s1 = a0;
    0x0001adcc bal 0x2e930                   |     sym_fseeko ();
    0x0001add0 lw gp, 0x20(sp)               |     gp = *(var_20h);
                                             |     if (v0 >= 0) {
    0x0001add4 bltz v0, 0x1ae1c              |         
    0x0001add8 lw v0, 8(s0)                  |         v0 = *((s0 + 2));
    0x0001addc lw a1, -0x7fa8(gp)            |         a1 = *((gp - 8170));
    0x0001ade0 lw a2, (s0)                   |         a2 = *(s0);
    0x0001ade4 sw v0, 0x10(sp)               |         *(var_10h) = v0;
    0x0001ade8 lw v0, 0xc(s0)                |         v0 = *((s0 + 3));
    0x0001adec lw a3, 4(s0)                  |         a3 = *((s0 + 1));
    0x0001adf0 lw t9, -0x7f58(gp)            |         t9 = *((gp - 8150));
    0x0001adf4 sw v0, 0x14(sp)               |         *(var_14h) = v0;
    0x0001adf8 lw v0, 0x10(s0)               |         v0 = *((s0 + 4));
    0x0001adfc move a0, s1                   |         a0 = s1;
    0x0001ae00 addiu a1, a1, -0x7d60         |         a1 += -0x7d60;
    0x0001ae04 sw v0, 0x18(sp)               |         *(var_18h) = v0;
    0x0001ae08 lw v0, 0x14(s0)               |         v0 = *((s0 + 5));
    0x0001ae0c sw v0, 0x1c(sp)               |         *(var_1ch) = v0;
    0x0001ae10 bal 0x2f830                   |         sym_fprintf ()
    0x0001ae14 srl v0, v0, 0x1f              |         v0 >>= 0x1f;
    0x0001ae18 b 0x1ae20                     |         
                                             |     } else {
    0x0001ae1c addiu v0, zero, 1             |         v0 = 1;
                                             |     }
    0x0001ae20 lw ra, 0x34(sp)               |     ra = *(var_34h);
    0x0001ae24 lw s1, 0x30(sp)               |     s1 = *(var_30h);
    0x0001ae28 lw s0, 0x2c(sp)               |     s0 = *(var_2ch);
    0x0001ae2c addiu sp, sp, 0x38            |     
    0x0001ae30 jr ra                         |     return v0;
                                             | }
    ; assembly                               | /* r2dec pseudo code output */
                                             | /* /logs/firmware/unblob_extracted/firmware_extract/11108416-13869836.lzma_extract/lzma.uncompressed_extract/3761304-11775640.cpio_portable_ascii_extract/lib/libuClibc-0.9.33.2.so @ 0x2999c */
                                             | #include <stdint.h>
                                             |  
    ; (fcn) fcn.0002999c ()                  | void fcn_0002999c () {
                                             | label_2:
    0x0002999c lui gp, 9                     |     
    0x000299a0 addiu gp, gp, -0x42bc         |     
    0x000299a4 addu gp, gp, t9               |     gp += t9;
    0x000299a8 addiu sp, sp, -0xb8           |     
    0x000299ac sw s7, 0xac(sp)               |     *(var_ach) = s7;
    0x000299b0 lw s7, 0xc8(sp)               |     s7 = *(arg_c8h);
    0x000299b4 sw s2, 0x98(sp)               |     *(var_98h) = s2;
    0x000299b8 sw fp, 0xb0(sp)               |     *(var_b0h) = fp;
    0x000299bc lw s2, (s7)                   |     s2 = *(s7);
    0x000299c0 sw s4, 0xa0(sp)               |     *(var_a0h) = s4;
    0x000299c4 sw gp, 0x28(sp)               |     *(var_28h) = gp;
    0x000299c8 addiu t1, s2, 1               |     t1 = s2 + 1;
    0x000299cc sw ra, 0xb4(sp)               |     *(var_b4h) = ra;
    0x000299d0 sw s6, 0xa8(sp)               |     *(var_a8h) = s6;
    0x000299d4 sw s5, 0xa4(sp)               |     *(var_a4h) = s5;
    0x000299d8 sw s3, 0x9c(sp)               |     *(var_9ch) = s3;
    0x000299dc sw s1, 0x94(sp)               |     *(var_94h) = s1;
    0x000299e0 sw s0, 0x90(sp)               |     *(var_90h) = s0;
    0x000299e4 addu fp, a3, t1               |     fp = a3 + t1;
    0x000299e8 lbu v0, (fp)                  |     v0 = *(fp);
    0x000299ec addiu t2, zero, 0x27          |     t2 = 0x27;
    0x000299f0 move s4, a0                   |     s4 = a0;
    0x000299f4 sw a1, 0xbc(sp)               |     *(arg_bch) = a1;
    0x000299f8 sw a2, 0xc0(sp)               |     *(arg_c0h) = a2;
                                             |     if (v0 == t2) {
    0x000299fc beq v0, t2, 0x2a1dc           |         goto label_10;
                                             |     }
    0x00029a00 sltiu t2, v0, 0x28            |     t2 = (v0 < 0x28) ? 1 : 0;
    0x00029a04 move s6, a3                   |     s6 = a3;
                                             |     if (t2 != 0) {
    0x00029a08 beqz t2, 0x29a28              |         
    0x00029a0c lw t9, -0x7fb4(gp)            |         t9 = *((gp - 8173));
                                             |         if (v0 == 0) {
    0x00029a10 beqz v0, 0x2a1e0              |             goto label_11;
                                             |         }
    0x00029a14 addiu a0, zero, 0x22          |         a0 = 0x22;
    0x00029a18 sw t1, (s7)                   |         *(s7) = t1;
                                             |         if (v0 == a0) {
    0x00029a1c bnel v0, a0, 0x29c80          |             goto label_12;
                                             |         }
    0x00029a20 lw a0, (s4)                   |         a0 = *(s4);
    0x00029a24 b 0x2a1e4                     |         goto label_13;
                                             |     }
    0x00029a28 addiu t2, zero, 0x28          |     t2 = 0x28;
    0x00029a2c addiu t2, zero, 0x5b          |     t2 = 0x5b;
                                             |     if (v0 != t2) {
    0x00029a30 beq v0, t2, 0x29a44           |         
    0x00029a34 sw t1, (s7)                   |         *(s7) = t1;
                                             |         if (v0 == t2) {
    0x00029a38 bnel v0, t2, 0x29c80          |             goto label_12;
                                             |         }
    0x00029a3c lw v1, 0xcc(sp)               |         v1 = *(arg_cch);
    0x00029a40 b 0x29c50                     |         goto label_14;
                                             |     }
    0x00029a44 addiu t1, s2, 2               |     t1 = s2 + 2;
    0x00029a48 addu a0, a3, t1               |     a0 = a3 + t1;
    0x00029a4c lbu a0, (a0)                  |     a0 = *(a0);
    0x00029a50 lw t9, 0xcc(sp)               |     t9 = *(arg_cch);
                                             |     if (a0 != v0) {
    0x00029a54 bne a0, v0, 0x29ad8           |         goto label_7;
                                             |     }
    0x00029a58 addiu s2, s2, 3               |     s2 += 3;
    0x00029a5c move a1, s2                   |     a1 = s2;
    0x00029a60 move v0, zero                 |     v0 = 0;
    0x00029a64 addiu a2, zero, 0x29          |     a2 = 0x29;
    0x00029a68 addiu t2, zero, 0x28          |     t2 = 0x28;
    0x00029a6c b 0x29a8c                     |     
                                             |     while (v0 != 0) {
                                             | label_0:
    0x00029a70 xori a0, a0, 0x29             |         a0 ^= 0x29;
                                             |         if (a0 == t2) {
    0x00029a74 bne a0, t2, 0x29a80           |             
    0x00029a78 addiu v0, v0, 1               |             v0++;
    0x00029a7c b 0x29a88                     |             
                                             |         } else {
    0x00029a80 sltiu a0, a0, 1               |             a0 = (a0 < 1) ? 1 : 0;
    0x00029a84 subu v0, v0, a0               |             __asm ("subu v0, v0, a0");
                                             |         }
    0x00029a88 addiu a1, a1, 1               |         a1++;
    0x00029a8c addu a3, s6, a1               |         a3 = s6 + a1;
    0x00029a90 lbu a0, (a3)                  |         a0 = *(a3);
    0x00029a94 lw t9, 0xcc(sp)               |         t9 = *(arg_cch);
                                             |         if (a0 == 0) {
    0x00029a98 beqz a0, 0x29ad8              |             goto label_7;
                                             |         }
    0x00029a9c bnez v0, 0x29a70              |         
                                             |     }
    0x00029aa0 nop                           |     
                                             |     if (a0 != a2) {
    0x00029aa4 bne a0, a2, 0x29a70           |         goto label_0;
                                             |     }
    0x00029aa8 nop                           |     
    0x00029aac lbu v0, 1(a3)                 |     v0 = *(var_1h_2);
    0x00029ab0 b 0x2af6c                     |     goto label_15;
                                             | label_8:
    0x00029ab4 sw s2, (s7)                   |     *(s7) = s2;
    0x00029ab8 move a0, s4                   |     a0 = s4;
    0x00029abc sw s7, 0x10(sp)               |     *(var_10h) = s7;
    0x00029ac0 sw v1, 0x14(sp)               |     *(var_14h) = v1;
    0x00029ac4 sw zero, 0x18(sp)             |     *(var_18h) = 0;
    0x00029ac8 lw a1, 0xbc(sp)               |     a1 = *(arg_bch);
    0x00029acc lw a2, 0xc0(sp)               |     a2 = *(arg_c0h);
    0x00029ad0 move a3, s6                   |     a3 = s6;
    0x00029ad4 b 0x29c68                     |     goto label_16;
                                             | label_7:
    0x00029ad8 andi a0, t9, 4                |     a0 = t9 & 4;
    0x00029adc addiu fp, zero, 4             |     fp = 4;
                                             |     if (a0 != 0) {
    0x00029ae0 bnez a0, 0x2af94              |         goto label_17;
                                             |     }
    0x00029ae4 lw v1, 0xd0(sp)               |     v1 = *(arg_d0h);
    0x00029ae8 lw t9, 0xdc(sp)               |     t9 = *(arg_dch);
    0x00029aec sw t1, (s7)                   |     *(s7) = t1;
    0x00029af0 sw zero, 0x60(sp)             |     *(var_60h) = 0;
                                             |     if (t9 == 0) {
    0x00029af4 movn v1, zero, t9             |         v1 = 0;
                                             |     }
    0x00029af8 sw v1, 0xd0(sp)               |     *(arg_d0h) = v1;
    0x00029afc sw zero, 0x64(sp)             |     *(var_64h) = 0;
    0x00029b00 move s1, zero                 |     s1 = 0;
    0x00029b04 move s0, zero                 |     s0 = 0;
    0x00029b08 addiu s2, zero, 1             |     s2 = 1;
    0x00029b0c addiu s3, zero, 0x27          |     s3 = 0x27;
    0x00029b10 addiu s5, zero, 2             |     s5 = 2;
    0x00029b14 lw fp, -0x7fb4(gp)            |     fp = *((gp - 8173));
    0x00029b18 b 0x29c20                     |     
                                             |     while (a3 != 0) {
    0x00029b1c sltiu v0, a3, 0x28            |         v0 = (a3 < 0x28) ? 1 : 0;
                                             |         if (a3 != s3) {
    0x00029b20 beq a3, s3, 0x29b58           |             
    0x00029b24 addiu v0, zero, 0x28          |             v0 = 0x28;
                                             |             if (v0 != 0) {
    0x00029b28 beqz v0, 0x29b40              |                 
    0x00029b2c addiu v0, zero, 0x22          |                 v0 = 0x22;
    0x00029b30 move a0, s1                   |                 a0 = s1;
                                             |                 if (a3 != v0) {
    0x00029b34 bne a3, v0, 0x29bf8           |                     goto label_18;
                                             |                 }
    0x00029b38 b 0x29b74                     |                 goto label_19;
    0x00029b3c nop                           |                 
                                             |             }
    0x00029b40 addiu v0, zero, 0x29          |             v0 = 0x29;
                                             |             if (a3 == v0) {
    0x00029b44 beq a3, v0, 0x29bec           |                 goto label_20;
                                             |             }
    0x00029b48 move a0, s1                   |             a0 = s1;
                                             |             if (a3 != v0) {
    0x00029b4c bne a3, v0, 0x29bf8           |                 goto label_18;
                                             |             }
    0x00029b50 b 0x29b88                     |             goto label_21;
    0x00029b54 nop                           |             
                                             |         }
                                             |         if (s0 != 0) {
    0x00029b58 beql s0, zero, 0x29bf4        |             
    0x00029b5c addiu s0, zero, 1             |             s0 = 1;
    0x00029b60 xori s0, s0, 1                |             s0 ^= 1;
    0x00029b64 move v0, s5                   |             v0 = s5;
                                             |             if (s0 != 0) {
    0x00029b68 movz v0, zero, s0             |                 v0 = 0;
                                             |             }
    0x00029b6c move s0, v0                   |             s0 = v0;
    0x00029b70 b 0x29bf4                     |             goto label_22;
                                             |             if (s0 == 0) {
                                             | label_19:
    0x00029b74 beql s0, zero, 0x29bf4        |                 goto label_22;
                                             |             }
    0x00029b78 addiu s0, zero, 2             |             s0 = 2;
    0x00029b7c xori s0, s0, 2                |             s0 ^= 2;
    0x00029b80 sltu s0, zero, s0             |             s0 = (0 < s0) ? 1 : 0;
    0x00029b84 b 0x29bf4                     |             goto label_22;
                                             | label_21:
    0x00029b88 move a0, s1                   |             a0 = s1;
                                             |             if (s0 != 0) {
    0x00029b8c bnez s0, 0x29bf8              |                 goto label_18;
                                             |             }
    0x00029b90 addiu s2, s2, -1              |             s2 += -1;
    0x00029b94 addiu a1, sp, 0x64            |             a1 = sp + 0x64;
                                             |             if (s2 != 0) {
    0x00029b98 bnez s2, 0x29bfc              |                 goto label_23;
                                             |             }
    0x00029b9c lw t9, 0xd0(sp)               |             t9 = *(arg_d0h);
                                             |             if (s1 == 0) {
    0x00029ba0 beqz s1, 0x2af64              |                 goto label_24;
                                             |             }
    0x00029ba4 lw v1, 0xcc(sp)               |             v1 = *(arg_cch);
    0x00029ba8 lw a2, 0xbc(sp)               |             a2 = *(arg_bch);
    0x00029bac sw t9, 0x14(sp)               |             *(var_14h) = t9;
    0x00029bb0 lw t9, 0xd8(sp)               |             t9 = *(s2);
    0x00029bb4 sw v1, 0x10(sp)               |             *(var_10h) = v1;
    0x00029bb8 lw v1, 0xd4(sp)               |             v1 = *(arg_d4h);
    0x00029bbc sw t9, 0x1c(sp)               |             *(var_1ch) = t9;
    0x00029bc0 lw t9, -0x7fb4(gp)            |             t9 = *((gp - 8173));
    0x00029bc4 lw a3, 0xc0(sp)               |             a3 = *(arg_c0h);
    0x00029bc8 move a0, s1                   |             a0 = s1;
    0x00029bcc sw v1, 0x18(sp)               |             *(var_18h) = v1;
    0x00029bd0 addiu t9, t9, -0x7894         |             t9 += -0x7894;
    0x00029bd4 move a1, s4                   |             a1 = s4;
    0x00029bd8 bal 0x2876c                   |             fcn_0002876c ();
    0x00029bdc move fp, v0                   |             fp = v0;
    0x00029be0 lw gp, 0x28(sp)               |             gp = *(var_28h);
    0x00029be4 move a0, s1                   |             a0 = s1;
    0x00029be8 b 0x2af50                     |             goto label_25;
                                             | label_20:
    0x00029bec sltiu v0, s0, 1               |             v0 = (s0 < 1) ? 1 : 0;
    0x00029bf0 addu s2, s2, v0               |             s2 += v0;
                                             |         }
                                             | label_22:
    0x00029bf4 move a0, s1                   |         a0 = s1;
                                             | label_18:
    0x00029bf8 addiu a1, sp, 0x64            |         a1 = sp + 0x64;
                                             | label_23:
    0x00029bfc addiu t9, fp, -0x7d70         |         t9 = fp + -0x7d70;
    0x00029c00 addiu a2, sp, 0x60            |         a2 = sp + 0x60;
    0x00029c04 bal 0x28290                   |         fcn_00028290 ();
    0x00029c08 move s1, v0                   |         s1 = v0;
    0x00029c0c lw gp, 0x28(sp)               |         gp = *(var_28h);
                                             |         if (v0 == 0) {
    0x00029c10 beqz v0, 0x29c48              |             goto label_26;
                                             |         }
    0x00029c14 lw v0, (s7)                   |         v0 = *(s7);
    0x00029c18 addiu v0, v0, 1               |         v0++;
    0x00029c1c sw v0, (s7)                   |         *(s7) = v0;
    0x00029c20 lw v0, (s7)                   |         v0 = *(s7);
    0x00029c24 addu v0, s6, v0               |         v0 = s6 + v0;
    0x00029c28 lbu a3, (v0)                  |         a3 = *(v0);
    0x00029c2c lw t9, -0x7668(gp)            |         t9 = *((gp - 7578));
    0x00029c30 bnez a3, 0x29b1c              |         
                                             |     }
    0x00029c34 move a0, s1                   |     a0 = s1;
    0x00029c38 addiu fp, zero, 5             |     fp = 5;
    0x00029c3c jalr t9                       |     t9 ();
    0x00029c40 lw ra, 0xb4(sp)               |     ra = *(var_b4h);
    0x00029c44 b 0x2af98                     |     goto label_27;
                                             | label_26:
    0x00029c48 addiu fp, zero, 1             |     fp = 1;
    0x00029c4c b 0x2af94                     |     goto label_17;
                                             | label_14:
    0x00029c50 addiu s2, s2, 2               |     s2 += 2;
    0x00029c54 addiu v0, zero, 1             |     v0 = 1;
    0x00029c58 sw s2, (s7)                   |     *(s7) = s2;
    0x00029c5c sw s7, 0x10(sp)               |     *(var_10h) = s7;
    0x00029c60 sw v1, 0x14(sp)               |     *(var_14h) = v1;
    0x00029c64 sw v0, 0x18(sp)               |     *(var_18h) = v0;
                                             | label_16:
    0x00029c68 lw t9, -0x7fb4(gp)            |     t9 = *((gp - 8173));
    0x00029c6c addiu t9, t9, -0x6a64         |     t9 += -0x6a64;
    0x00029c70 bal 0x2959c                   |     fcn_0002959c ();
    0x00029c74 nop                           |     
    0x00029c78 move fp, v0                   |     fp = v0;
    0x00029c7c b 0x2af94                     |     goto label_17;
                                             | label_12:
    0x00029c80 lbu s0, (fp)                  |     s0 = *(fp);
    0x00029c84 sw zero, 0x78(sp)             |     *(var_78h) = 0;
    0x00029c88 sw zero, 0x7c(sp)             |     *(var_7ch) = 0;
    0x00029c8c xori s0, s0, 0x7b             |     s0 ^= 0x7b;
    0x00029c90 sltiu s0, s0, 1               |     s0 = (s0 < 1) ? 1 : 0;
    0x00029c94 sw zero, 0x70(sp)             |     *(var_70h) = 0;
    0x00029c98 sw zero, 0x74(sp)             |     *(var_74h) = 0;
                                             |     if (s0 != 0) {
    0x00029c9c beqz s0, 0x29ca8              |         
    0x00029ca0 addiu v0, s2, 2               |         v0 = s2 + 2;
    0x00029ca4 sw v0, (s7)                   |         *(s7) = v0;
                                             |     }
    0x00029ca8 lw v0, (s7)                   |     v0 = *(s7);
    0x00029cac sw zero, 0x80(sp)             |     *(var_80h) = 0;
    0x00029cb0 addu a0, s6, v0               |     a0 = s6 + v0;
    0x00029cb4 lbu a1, (a0)                  |     a1 = *(a0);
    0x00029cb8 addiu a0, zero, 0x23          |     a0 = 0x23;
    0x00029cbc lw v0, (s7)                   |     v0 = *(s7);
                                             |     if (a1 != a0) {
    0x00029cc0 bnel a1, a0, 0x29cdc          |         
    0x00029cc4 addiu t9, zero, 1             |         t9 = 1;
                                             |         if (s0 == 0) {
    0x00029cc8 beqz s0, 0x2a144              |             goto label_28;
                                             |         }
    0x00029ccc addiu v0, v0, 1               |         v0++;
    0x00029cd0 sw v0, (s7)                   |         *(s7) = v0;
    0x00029cd4 sw t9, 0x80(sp)               |         *(var_80h) = t9;
    0x00029cd8 lw v0, (s7)                   |         v0 = *(s7);
                                             |     }
    0x00029cdc addu v0, s6, v0               |     v0 = s6 + v0;
    0x00029ce0 lbu s1, (v0)                  |     s1 = *(v0);
    0x00029ce4 lw v0, -0x7f74(gp)            |     v0 = *((gp - 8157));
    0x00029ce8 sll a0, s1, 1                 |     a0 = s1 << 1;
    0x00029cec lw a1, (v0)                   |     a1 = *(v0);
    0x00029cf0 addu a0, a1, a0               |     a0 = a1 + a0;
    0x00029cf4 lhu a0, (a0)                  |     a0 = *(a0);
    0x00029cf8 andi a1, a0, 4                |     a1 = a0 & 4;
    0x00029cfc andi a1, a1, 0xffff           |     a1 &= 0xffff;
    0x00029d00 lw s5, -0x7fb4(gp)            |     s5 = *((gp - 8173));
                                             |     if (a1 == 0) {
    0x00029d04 bnez a1, 0x29d18              |         
    0x00029d08 addiu a1, zero, 0x5f          |         a1 = 0x5f;
    0x00029d0c andi a0, a0, 8                |         a0 &= 8;
                                             |         if (s1 != a1) {
    0x00029d10 bne s1, a1, 0x29d9c           |             goto label_29;
                                             |         }
    0x00029d14 lw s5, -0x7fb4(gp)            |         s5 = *((gp - 8173));
                                             |     }
    0x00029d18 lw t1, -0x7f74(gp)            |     t1 = *((gp - 8157));
    0x00029d1c move s3, zero                 |     s3 = 0;
    0x00029d20 addiu s1, zero, 0x5f          |     s1 = 0x5f;
    0x00029d24 lw v0, (s7)                   |     v0 = *(s7);
                                             |     do {
                                             | label_1:
    0x00029d28 move a0, s3                   |         a0 = s3;
    0x00029d2c addiu a1, sp, 0x7c            |         a1 = sp + 0x7c;
    0x00029d30 addu v0, s6, v0               |         v0 = s6 + v0;
    0x00029d34 lbu a3, (v0)                  |         a3 = *(v0);
    0x00029d38 addiu a2, sp, 0x78            |         a2 = sp + 0x78;
    0x00029d3c addiu t9, s5, -0x7d70         |         t9 = s5 + -0x7d70;
    0x00029d40 sw t1, 0x8c(sp)               |         *(var_8ch) = t1;
    0x00029d44 bal 0x28290                   |         fcn_00028290 ();
    0x00029d48 move s3, v0                   |         s3 = v0;
    0x00029d4c lw gp, 0x28(sp)               |         gp = *(var_28h);
    0x00029d50 lw t1, 0x8c(sp)               |         t1 = *(var_8ch);
                                             |         if (v0 == 0) {
    0x00029d54 beqz v0, 0x2af30              |             goto label_30;
                                             |         }
    0x00029d58 lw v0, (s7)                   |         v0 = *(s7);
    0x00029d5c lw a1, (t1)                   |         a1 = *(t1);
    0x00029d60 addiu v0, v0, 1               |         v0++;
    0x00029d64 sw v0, (s7)                   |         *(s7) = v0;
    0x00029d68 addu v0, s6, v0               |         v0 = s6 + v0;
    0x00029d6c lbu v0, (v0)                  |         v0 = *(v0);
    0x00029d70 sll a0, v0, 1                 |         a0 = v0 << 1;
    0x00029d74 addu a0, a1, a0               |         a0 = a1 + a0;
    0x00029d78 lhu a0, (a0)                  |         a0 = *(a0);
    0x00029d7c andi a0, a0, 0x800            |         a0 &= aav.0x00000800;
    0x00029d80 andi a0, a0, 0xffff           |         a0 &= 0xffff;
    0x00029d84 lw v0, (s7)                   |         v0 = *(s7);
    0x00029d88 bnel a0, zero, 0x29d28        |         
                                             |     } while (a0 == 0);
                                             |     if (v0 == s1) {
    0x00029d8c beql v0, s1, 0x29d28          |         goto label_1;
                                             |     }
    0x00029d90 lw v0, (s7)                   |     v0 = *(s7);
    0x00029d94 move t2, zero                 |     t2 = 0;
    0x00029d98 b 0x29e94                     |     goto label_31;
                                             | label_29:
    0x00029d9c andi a0, a0, 0xffff           |     a0 &= 0xffff;
    0x00029da0 lw a0, -0x7fa8(gp)            |     a0 = *((gp - 8170));
                                             |     if (a0 == 0) {
    0x00029da4 beqz a0, 0x29e24              |         goto label_32;
                                             |     }
    0x00029da8 lw s5, -0x7fb4(gp)            |     s5 = *((gp - 8173));
    0x00029dac move s3, zero                 |     s3 = 0;
    0x00029db0 move s1, v0                   |     s1 = v0;
    0x00029db4 lw v0, (s7)                   |     v0 = *(s7);
                                             |     do {
    0x00029db8 move a0, s3                   |         a0 = s3;
    0x00029dbc addiu a1, sp, 0x7c            |         a1 = sp + 0x7c;
    0x00029dc0 addu v0, s6, v0               |         v0 = s6 + v0;
    0x00029dc4 lbu a3, (v0)                  |         a3 = *(v0);
    0x00029dc8 addiu t9, s5, -0x7d70         |         t9 = s5 + -0x7d70;
    0x00029dcc addiu a2, sp, 0x78            |         a2 = sp + 0x78;
    0x00029dd0 bal 0x28290                   |         fcn_00028290 ();
    0x00029dd4 move s3, v0                   |         s3 = v0;
    0x00029dd8 lw gp, 0x28(sp)               |         gp = *(var_28h);
                                             |         if (v0 == 0) {
    0x00029ddc beqz v0, 0x2af30              |             goto label_30;
                                             |         }
    0x00029de0 addiu t2, zero, 1             |         t2 = 1;
                                             |         if (s0 == 0) {
    0x00029de4 beqz s0, 0x2a160              |             goto label_33;
                                             |         }
    0x00029de8 lw v0, (s7)                   |         v0 = *(s7);
    0x00029dec lw a0, (s1)                   |         a0 = *(s1);
    0x00029df0 addiu v0, v0, 1               |         v0++;
    0x00029df4 sw v0, (s7)                   |         *(s7) = v0;
    0x00029df8 addu v0, s6, v0               |         v0 = s6 + v0;
    0x00029dfc lbu v0, (v0)                  |         v0 = *(v0);
    0x00029e00 sll v0, v0, 1                 |         v0 <<= 1;
    0x00029e04 addu v0, a0, v0               |         v0 = a0 + v0;
    0x00029e08 lhu v0, (v0)                  |         v0 = *(v0);
    0x00029e0c andi v0, v0, 8                |         v0 &= 8;
    0x00029e10 andi v0, v0, 0xffff           |         v0 &= 0xffff;
    0x00029e14 lw v0, (s7)                   |         v0 = *(s7);
    0x00029e18 bnez v0, 0x29db8              |         
                                             |     } while (v0 != 0);
    0x00029e1c b 0x29ea0                     |     goto label_34;
    0x00029e20 nop                           |     
                                             | label_32:
    0x00029e24 lw t9, -0x7f90(gp)            |     t9 = *((gp - 8164));
    0x00029e28 move a1, s1                   |     a1 = s1;
    0x00029e2c addiu a0, a0, -0x71a0         |     a0 += -0x71a0;
    0x00029e30 bal 0x3b3e0                   |     sym_index ();
    0x00029e34 lw gp, 0x28(sp)               |     gp = *(var_28h);
                                             |     if (v0 != 0) {
    0x00029e38 beqz v0, 0x29e78              |         
    0x00029e3c lw t9, -0x7fb4(gp)            |         t9 = *((gp - 8173));
    0x00029e40 move a0, zero                 |         a0 = 0;
    0x00029e44 addiu a1, sp, 0x7c            |         a1 = sp + 0x7c;
    0x00029e48 addiu a2, sp, 0x78            |         a2 = sp + 0x78;
    0x00029e4c addiu t9, t9, -0x7d70         |         t9 += -0x7d70;
    0x00029e50 move a3, s1                   |         a3 = s1;
    0x00029e54 bal 0x28290                   |         fcn_00028290 ();
    0x00029e58 move s3, v0                   |         s3 = v0;
    0x00029e5c lw gp, 0x28(sp)               |         gp = *(var_28h);
                                             |         if (v0 == 0) {
    0x00029e60 beqz v0, 0x2af30              |             goto label_30;
                                             |         }
    0x00029e64 lw v0, (s7)                   |         v0 = *(s7);
    0x00029e68 addiu t2, zero, 1             |         t2 = 1;
    0x00029e6c addiu v0, v0, 1               |         v0++;
    0x00029e70 sw v0, (s7)                   |         *(s7) = v0;
    0x00029e74 b 0x29e94                     |         
                                             |     } else {
    0x00029e78 addiu fp, zero, 5             |         fp = 5;
                                             |         if (s0 == 0) {
    0x00029e7c bnel s0, zero, 0x2af34        |             goto label_35;
                                             |         }
    0x00029e80 move t2, zero                 |         t2 = 0;
    0x00029e84 move s3, zero                 |         s3 = 0;
    0x00029e88 move s5, zero                 |         s5 = 0;
    0x00029e8c move s1, zero                 |         s1 = 0;
    0x00029e90 b 0x2a134                     |         goto label_36;
                                             |     }
                                             | label_31:
    0x00029e94 move s5, zero                 |     s5 = 0;
                                             |     if (s0 == 0) {
    0x00029e98 beqz s0, 0x2a12c              |         goto label_37;
                                             |     }
    0x00029e9c lw v0, (s7)                   |     v0 = *(s7);
                                             | label_34:
    0x00029ea0 addu a0, s6, v0               |     a0 = s6 + v0;
    0x00029ea4 lbu s1, (a0)                  |     s1 = *(a0);
    0x00029ea8 addiu a0, zero, 0x2d          |     a0 = 0x2d;
    0x00029eac sltiu a0, s1, 0x2e            |     a0 = (s1 < 0x2e) ? 1 : 0;
                                             |     if (s1 != a0) {
    0x00029eb0 beq s1, a0, 0x29f90           |         
    0x00029eb4 addiu a0, zero, 0x3d          |         a0 = 0x3d;
                                             |         if (a0 != 0) {
    0x00029eb8 beqz a0, 0x29ee0              |             
    0x00029ebc addiu a0, zero, 0x25          |             a0 = 0x25;
    0x00029ec0 addiu a0, zero, 0x2b          |             a0 = 0x2b;
                                             |             if (s1 == a0) {
    0x00029ec4 beq s1, a0, 0x29f38           |                 goto label_38;
                                             |             }
    0x00029ec8 addiu a0, zero, 0x23          |             a0 = 0x23;
                                             |             if (s1 == a0) {
    0x00029ecc beq s1, a0, 0x29f90           |                 goto label_39;
                                             |             }
    0x00029ed0 addiu fp, zero, 5             |             fp = 5;
                                             |             if (s1 == a0) {
    0x00029ed4 bnel s1, a0, 0x2af14          |                 goto label_40;
                                             |             }
    0x00029ed8 addiu v0, v0, 1               |             v0++;
    0x00029edc b 0x29f1c                     |             
                                             |         } else {
    0x00029ee0 sltiu a0, s1, 0x3e            |             a0 = (s1 < 0x3e) ? 1 : 0;
                                             |             if (s1 == a0) {
    0x00029ee4 beq s1, a0, 0x29f90           |                 goto label_39;
                                             |             }
                                             |             if (a0 != 0) {
    0x00029ee8 beql a0, zero, 0x29f04        |                 
    0x00029eec addiu v0, zero, 0x3f          |                 v0 = 0x3f;
    0x00029ef0 addiu a0, zero, 0x3a          |                 a0 = 0x3a;
    0x00029ef4 addiu fp, zero, 5             |                 fp = 5;
                                             |                 if (s1 == a0) {
    0x00029ef8 bnel s1, a0, 0x2af14          |                     goto label_40;
                                             |                 }
    0x00029efc addiu s1, v0, 1               |                 s1 = v0 + 1;
    0x00029f00 b 0x29f58                     |                 goto label_41;
                                             |             }
    0x00029f04 addiu v0, zero, 0x7d          |             v0 = 0x7d;
                                             |             if (s1 == v0) {
    0x00029f08 beq s1, v0, 0x29f90           |                 goto label_39;
                                             |             }
    0x00029f0c addiu fp, zero, 5             |             fp = 5;
                                             |             if (s1 == v0) {
    0x00029f10 bnel s1, v0, 0x2af14          |                 goto label_40;
                                             |             }
    0x00029f14 move s5, zero                 |             s5 = 0;
    0x00029f18 b 0x2a164                     |             goto label_42;
                                             |         }
    0x00029f1c addu a0, s6, v0               |         a0 = s6 + v0;
    0x00029f20 lbu a0, (a0)                  |         a0 = *(a0);
    0x00029f24 move s5, zero                 |         s5 = 0;
                                             |         if (a0 == s1) {
    0x00029f28 bne a0, s1, 0x29f98           |             
    0x00029f2c sw v0, (s7)                   |             *(s7) = v0;
    0x00029f30 addiu s1, zero, 0x4c          |             s1 = 0x4c;
    0x00029f34 b 0x29fa4                     |             goto label_43;
                                             | label_38:
    0x00029f38 addiu v0, v0, 1               |             v0++;
    0x00029f3c addu a0, s6, v0               |             a0 = s6 + v0;
    0x00029f40 lbu a0, (a0)                  |             a0 = *(a0);
    0x00029f44 move s5, zero                 |             s5 = 0;
                                             |             if (a0 == s1) {
    0x00029f48 bne a0, s1, 0x29fa0           |                 
    0x00029f4c sw v0, (s7)                   |                 *(s7) = v0;
    0x00029f50 addiu s1, zero, 0x52          |                 s1 = 0x52;
    0x00029f54 b 0x29fa4                     |                 goto label_43;
                                             | label_41:
    0x00029f58 lw a0, -0x7fa8(gp)            |                 a0 = *((gp - 8170));
    0x00029f5c addu s0, s6, s1               |                 s0 = s6 + s1;
    0x00029f60 lbu a1, (s0)                  |                 a1 = *(s0);
    0x00029f64 lw t9, -0x7f90(gp)            |                 t9 = *((gp - 8164));
    0x00029f68 sw t2, 0x88(sp)               |                 *(var_88h) = t2;
    0x00029f6c addiu a0, a0, -0x719c         |                 a0 += -0x719c;
    0x00029f70 bal 0x3b3e0                   |                 sym_index ();
    0x00029f74 lw gp, 0x28(sp)               |                 gp = *(var_28h);
    0x00029f78 lw t2, 0x88(sp)               |                 t2 = *(var_88h);
                                             |                 if (v0 == 0) {
    0x00029f7c beqz v0, 0x2af10              |                     goto label_44;
                                             |                 }
    0x00029f80 sw s1, (s7)                   |                 *(s7) = s1;
    0x00029f84 lbu s1, (s0)                  |                 s1 = *(s0);
    0x00029f88 addiu s5, zero, 1             |                 s5 = 1;
    0x00029f8c b 0x29fa4                     |                 
                                             | label_39:
    0x00029f90 move s5, zero                 |                 s5 = 0;
    0x00029f94 b 0x29fa4                     |                 
    0x00029f98 addiu s1, zero, 0x23          |                 s1 = 0x23;
    0x00029f9c b 0x29fa4                     |                 
                                             |             } else {
                                             |             } else {
                                             |             } else {
    0x00029fa0 addiu s1, zero, 0x25          |                 s1 = 0x25;
                                             |             }
                                             |         }
                                             |     }
                                             | label_43:
    0x00029fa4 lw v0, (s7)                   |     v0 = *(s7);
    0x00029fa8 move t1, zero                 |     t1 = 0;
    0x00029fac move t3, zero                 |     t3 = 0;
    0x00029fb0 addiu v0, v0, 1               |     v0++;
    0x00029fb4 sw v0, (s7)                   |     *(s7) = v0;
    0x00029fb8 move s0, zero                 |     s0 = 0;
    0x00029fbc b 0x2a110                     |     
                                             |     if (v0 != v1) {
                                             |         while (v0 != 0) {
    0x00029fc0 beq v0, v1, 0x2a02c           |             
    0x00029fc4 nop                           |             
    0x00029fc8 sltiu a0, v0, 0x5d            |             a0 = (v0 < 0x5d) ? 1 : 0;
    0x00029fcc addiu t9, zero, 0x7b          |             t9 = 0x7b;
                                             |             if (a0 != 0) {
    0x00029fd0 beqz a0, 0x29ff0              |                 
    0x00029fd4 addiu a0, zero, 0x22          |                 a0 = 0x22;
    0x00029fd8 addiu a0, zero, 0x27          |                 a0 = 0x27;
                                             |                 if (v0 == a0) {
    0x00029fdc beq v0, a0, 0x2a0ac           |                     goto label_45;
                                             |                 }
    0x00029fe0 lw v0, (s7)                   |                 v0 = *(s7);
                                             |                 if (v0 == a0) {
    0x00029fe4 bnel v0, a0, 0x2a0c0          |                     goto label_46;
                                             |                 }
    0x00029fe8 b 0x2a090                     |                 goto label_47;
    0x00029fec nop                           |                 
                                             |             }
    0x00029ff0 addiu a0, zero, 0x7d          |             a0 = 0x7d;
                                             |             if (v0 != t9) {
    0x00029ff4 beq v0, t9, 0x2a008           |                 
    0x00029ff8 lw v0, (s7)                   |                 v0 = *(s7);
                                             |                 if (v0 == a0) {
    0x00029ffc bnel v0, a0, 0x2a0c0          |                     goto label_46;
                                             |                 }
    0x0002a000 b 0x2a014                     |                 goto label_48;
    0x0002a004 nop                           |                 
                                             |             }
    0x0002a008 sltiu v0, t1, 1               |             v0 = (t1 < 1) ? 1 : 0;
    0x0002a00c addu t3, t3, v0               |             t3 += v0;
    0x0002a010 b 0x2a0bc                     |             goto label_49;
                                             | label_48:
    0x0002a014 lw v0, (s7)                   |             v0 = *(s7);
                                             |             if (t1 == 0) {
    0x0002a018 bnel t1, zero, 0x2a0c0        |                 goto label_46;
                                             |             }
    0x0002a01c addiu t3, t3, -1              |             t3 += -1;
                                             |             if (t3 == 0) {
    0x0002a020 beqz t3, 0x2a16c              |                 goto label_50;
                                             |             }
    0x0002a024 lw v0, (s7)                   |             v0 = *(s7);
    0x0002a028 b 0x2a0c0                     |             
                                             |         } else {
    0x0002a02c lw v0, (s7)                   |             v0 = *(s7);
                                             |             if (t1 == 0) {
    0x0002a030 bnel t1, zero, 0x2a0c0        |                 goto label_46;
                                             |             }
    0x0002a034 addiu a0, a0, 1               |             a0++;
    0x0002a038 sw a0, (s7)                   |             *(s7) = a0;
    0x0002a03c addu a0, s6, a0               |             a0 = s6 + a0;
    0x0002a040 lbu v0, (a0)                  |             v0 = *(a0);
    0x0002a044 lw v0, -0x7fb4(gp)            |             v0 = *((gp - 8173));
                                             |             if (v0 == 0) {
    0x0002a048 beqz v0, 0x2af1c              |                 goto label_51;
                                             |             }
    0x0002a04c move a0, s0                   |             a0 = s0;
    0x0002a050 sw t1, 0x8c(sp)               |             *(var_8ch) = t1;
    0x0002a054 sw t2, 0x88(sp)               |             *(var_88h) = t2;
    0x0002a058 sw t3, 0x84(sp)               |             *(var_84h) = t3;
    0x0002a05c addiu a1, sp, 0x74            |             a1 = sp + 0x74;
    0x0002a060 addiu a2, sp, 0x70            |             a2 = sp + 0x70;
    0x0002a064 addiu t9, v0, -0x7d70         |             t9 = v0 + -0x7d70;
    0x0002a068 addiu a3, zero, 0x5c          |             a3 = 0x5c;
    0x0002a06c bal 0x28290                   |             fcn_00028290 ();
    0x0002a070 move s0, v0                   |             s0 = v0;
    0x0002a074 lw gp, 0x28(sp)               |             gp = *(var_28h);
    0x0002a078 lw t1, 0x8c(sp)               |             t1 = *(var_8ch);
    0x0002a07c lw t2, 0x88(sp)               |             t2 = *(var_88h);
    0x0002a080 lw t3, 0x84(sp)               |             t3 = *(var_84h);
                                             |             if (v0 == 0) {
    0x0002a084 bnez v0, 0x2a0bc              |                 
    0x0002a088 addiu fp, zero, 1             |                 fp = 1;
    0x0002a08c b 0x2af3c                     |                 goto label_52;
                                             |                 if (t1 == 0) {
                                             | label_47:
    0x0002a090 beql t1, zero, 0x2a0bc        |                     goto label_49;
                                             |                 }
    0x0002a094 addiu t1, zero, 1             |                 t1 = 1;
    0x0002a098 xori t1, t1, 1                |                 t1 ^= 1;
    0x0002a09c addiu v0, zero, 2             |                 v0 = 2;
                                             |                 if (t1 != 0) {
    0x0002a0a0 movz v0, zero, t1             |                     v0 = 0;
                                             |                 }
    0x0002a0a4 move t1, v0                   |                 t1 = v0;
    0x0002a0a8 b 0x2a0bc                     |                 goto label_49;
                                             |                 if (t1 == 0) {
                                             | label_45:
    0x0002a0ac beql t1, zero, 0x2a0bc        |                     goto label_49;
                                             |                 }
    0x0002a0b0 addiu t1, zero, 2             |                 t1 = 2;
    0x0002a0b4 xori t1, t1, 2                |                 t1 ^= 2;
    0x0002a0b8 sltu t1, zero, t1             |                 t1 = (0 < t1) ? 1 : 0;
                                             |             }
                                             | label_49:
    0x0002a0bc lw v0, (s7)                   |             v0 = *(s7);
                                             |         }
                                             | label_46:
    0x0002a0c0 lw v1, -0x7fb4(gp)            |         v1 = *((gp - 8173));
    0x0002a0c4 move a0, s0                   |         a0 = s0;
    0x0002a0c8 addu v0, s6, v0               |         v0 = s6 + v0;
    0x0002a0cc lbu a3, (v0)                  |         a3 = *(v0);
    0x0002a0d0 addiu a1, sp, 0x74            |         a1 = sp + 0x74;
    0x0002a0d4 sw t1, 0x8c(sp)               |         *(var_8ch) = t1;
    0x0002a0d8 sw t2, 0x88(sp)               |         *(var_88h) = t2;
    0x0002a0dc sw t3, 0x84(sp)               |         *(var_84h) = t3;
    0x0002a0e0 addiu t9, v1, -0x7d70         |         t9 = v1 + -0x7d70;
    0x0002a0e4 addiu a2, sp, 0x70            |         a2 = sp + 0x70;
    0x0002a0e8 bal 0x28290                   |         fcn_00028290 ();
    0x0002a0ec move s0, v0                   |         s0 = v0;
    0x0002a0f0 lw gp, 0x28(sp)               |         gp = *(var_28h);
    0x0002a0f4 lw t1, 0x8c(sp)               |         t1 = *(var_8ch);
    0x0002a0f8 lw t2, 0x88(sp)               |         t2 = *(var_88h);
    0x0002a0fc lw t3, 0x84(sp)               |         t3 = *(var_84h);
                                             |         if (v0 == 0) {
    0x0002a100 beqz v0, 0x2af24              |             goto label_53;
                                             |         }
    0x0002a104 lw v0, (s7)                   |         v0 = *(s7);
    0x0002a108 addiu v0, v0, 1               |         v0++;
    0x0002a10c sw v0, (s7)                   |         *(s7) = v0;
    0x0002a110 lw a0, (s7)                   |         a0 = *(s7);
    0x0002a114 addu v0, s6, a0               |         v0 = s6 + a0;
    0x0002a118 lbu v0, (v0)                  |         v0 = *(v0);
    0x0002a11c addiu v1, zero, 0x5c          |         v1 = 0x5c;
    0x0002a120 bnez v0, 0x29fc0              |         
                                             |     }
    0x0002a124 lw v0, (s7)                   |     v0 = *(s7);
    0x0002a128 b 0x2a138                     |     goto label_54;
                                             | label_37:
    0x0002a12c move s1, zero                 |     s1 = 0;
    0x0002a130 move s0, zero                 |     s0 = 0;
                                             | label_36:
    0x0002a134 lw v0, (s7)                   |     v0 = *(s7);
                                             | label_54:
    0x0002a138 addiu v0, v0, -1              |     v0 += -1;
    0x0002a13c sw v0, (s7)                   |     *(s7) = v0;
    0x0002a140 b 0x2a16c                     |     goto label_50;
                                             | label_28:
    0x0002a144 move t2, zero                 |     t2 = 0;
    0x0002a148 sw t9, 0x80(sp)               |     *(var_80h) = t9;
    0x0002a14c move s5, zero                 |     s5 = 0;
    0x0002a150 move s1, zero                 |     s1 = 0;
    0x0002a154 move s0, zero                 |     s0 = 0;
    0x0002a158 move s3, zero                 |     s3 = 0;
    0x0002a15c b 0x2a16c                     |     goto label_50;
                                             | label_33:
    0x0002a160 move s5, zero                 |     s5 = 0;
                                             | label_42:
    0x0002a164 move s1, zero                 |     s1 = 0;
    0x0002a168 move s0, zero                 |     s0 = 0;
                                             | label_50:
    0x0002a16c lbu a0, (fp)                  |     a0 = *(fp);
    0x0002a170 addiu v0, zero, 0x7b          |     v0 = 0x7b;
    0x0002a174 addiu a0, zero, 0x7d          |     a0 = 0x7d;
                                             |     if (a0 == v0) {
    0x0002a178 bne a0, v0, 0x2a190           |         
    0x0002a17c lw v0, (s7)                   |         v0 = *(s7);
    0x0002a180 addu t0, s6, v0               |         t0 = s6 + v0;
    0x0002a184 lbu a1, (t0)                  |         a1 = *(t0);
    0x0002a188 addiu fp, zero, 5             |         fp = 5;
                                             |         if (a1 != a0) {
    0x0002a18c bne a1, a0, 0x2af3c           |             goto label_52;
                                             |         }
                                             |     }
    0x0002a190 lw v1, -0x7f74(gp)            |     v1 = *((gp - 8157));
                                             |     if (s3 == 0) {
    0x0002a194 bnez s3, 0x2a204              |         
    0x0002a198 lw v1, 0x80(sp)               |         v1 = *(var_80h);
    0x0002a19c lw v0, -0x7f6c(gp)            |         v0 = *((gp - 8155));
                                             |         if (v1 != 0) {
    0x0002a1a0 beqz v1, 0x2a1d8              |             
    0x0002a1a4 lw a1, -0x7fa8(gp)            |             a1 = *((gp - 8170));
    0x0002a1a8 lw t9, -0x7f70(gp)            |             t9 = *((gp - 8156));
    0x0002a1ac lw a2, (v0)                   |             a2 = *(v0);
    0x0002a1b0 sb zero, 0x5c(sp)             |             *(s) = 0;
    0x0002a1b4 addiu a0, sp, 0x5c            |             a0 = sp + 0x5c;
    0x0002a1b8 addiu a2, a2, -1              |             a2 += -1;
    0x0002a1bc addiu a1, a1, -0x71a8         |             a1 += -0x71a8;
    0x0002a1c0 sra a3, a2, 0x1f              |             a3 = a2 >> 0x1f;
    0x0002a1c4 bal 0x2f930                   |             sym_sprintf ();
    0x0002a1c8 move s2, zero                 |             s2 = 0;
    0x0002a1cc lw gp, 0x28(sp)               |             gp = *(var_28h);
    0x0002a1d0 sw zero, 0x80(sp)             |             *(var_80h) = 0;
    0x0002a1d4 b 0x2a294                     |             goto label_55;
                                             |         }
    0x0002a1d8 sw s2, (s7)                   |         *(s7) = s2;
                                             | label_10:
    0x0002a1dc lw t9, -0x7fb4(gp)            |         t9 = *((gp - 8173));
                                             | label_11:
    0x0002a1e0 lw a0, (s4)                   |         a0 = *(s4);
                                             | label_13:
    0x0002a1e4 lw a1, 0xbc(sp)               |         a1 = *(arg_bch);
    0x0002a1e8 lw a2, 0xc0(sp)               |         a2 = *(arg_c0h);
    0x0002a1ec addiu t9, t9, -0x7d70         |         t9 += -0x7d70;
    0x0002a1f0 addiu a3, zero, 0x24          |         a3 = 0x24;
    0x0002a1f4 bal 0x28290                   |         fcn_00028290 ();
    0x0002a1f8 sw v0, (s4)                   |         *(s4) = v0;
                                             | label_4:
    0x0002a1fc sltiu fp, v0, 1               |         fp = (v0 < 1) ? 1 : 0;
    0x0002a200 b 0x2af94                     |         goto label_17;
                                             |     }
    0x0002a204 lbu v0, (s3)                  |     v0 = *(s3);
    0x0002a208 lw a0, (v1)                   |     a0 = *(v1);
    0x0002a20c sll v1, v0, 1                 |     v1 = v0 << 1;
    0x0002a210 addu v1, a0, v1               |     v1 = a0 + v1;
    0x0002a214 lhu v1, (v1)                  |     v1 = *(v1);
    0x0002a218 andi v1, v1, 8                |     v1 &= 8;
    0x0002a21c andi v1, v1, 0xffff           |     v1 &= 0xffff;
    0x0002a220 lw t9, -0x7f68(gp)            |     t9 = *((gp - 8154));
                                             |     if (v1 != 0) {
    0x0002a224 beqz v1, 0x2a250              |         
    0x0002a228 move a0, s3                   |         a0 = s3;
    0x0002a22c jalr t9                       |         t9 ();
    0x0002a230 lw gp, 0x28(sp)               |         gp = *(var_28h);
    0x0002a234 lw v1, -0x7f6c(gp)            |         v1 = *((gp - 8155));
    0x0002a238 lw v1, (v1)                   |         v1 = *(v1);
    0x0002a23c slt v1, v0, v1                |         v1 = (v0 < v1) ? 1 : 0;
                                             |         if (v1 == 0) {
    0x0002a240 beql v1, zero, 0x2a55c        |             goto label_56;
                                             |         }
    0x0002a244 lw v1, 0xcc(sp)               |         v1 = *(arg_cch);
    0x0002a248 lw v1, -0x7f64(gp)            |         v1 = *((gp - 8153));
    0x0002a24c b 0x2a514                     |         goto label_57;
                                             |     }
    0x0002a250 addiu v1, zero, 0x24          |     v1 = 0x24;
                                             |     if (t2 == 0) {
    0x0002a254 beqz t2, 0x2a53c              |         goto label_58;
                                             |     }
    0x0002a258 addiu v1, zero, 0x2a          |     v1 = 0x2a;
                                             |     if (v0 == v1) {
    0x0002a25c bne v0, v1, 0x2a29c           |         
    0x0002a260 lw t9, -0x7fc0(gp)            |         t9 = *((gp - 8176));
    0x0002a264 sb zero, 0x5c(sp)             |         *(s) = 0;
    0x0002a268 move s2, zero                 |         s2 = 0;
    0x0002a26c jalr t9                       |         t9 ();
    0x0002a270 lw gp, 0x28(sp)               |         gp = *(var_28h);
    0x0002a274 addiu a0, sp, 0x5c            |         a0 = sp + 0x5c;
    0x0002a278 move a2, v0                   |         a2 = v0;
    0x0002a27c lw a1, -0x7fa8(gp)            |         a1 = *((gp - 8170));
    0x0002a280 lw t9, -0x7f70(gp)            |         t9 = *((gp - 8156));
    0x0002a284 sra a3, v0, 0x1f              |         a3 = v0 >> 0x1f;
    0x0002a288 addiu a1, a1, -0x71a8         |         a1 += -0x71a8;
    0x0002a28c bal 0x2f930                   |         sym_sprintf ();
    0x0002a290 lw gp, 0x28(sp)               |         gp = *(var_28h);
                                             | label_55:
    0x0002a294 addiu s6, sp, 0x5c            |         s6 = sp + 0x5c;
    0x0002a298 b 0x2a570                     |         goto label_59;
                                             |     }
    0x0002a29c addiu v1, zero, 0x40          |     v1 = 0x40;
                                             |     if (v0 != v1) {
    0x0002a2a0 beq v0, v1, 0x2a2ac           |         
    0x0002a2a4 lw v0, -0x7f6c(gp)            |         v0 = *((gp - 8155));
                                             |         if (v0 == v1) {
    0x0002a2a8 bnel v0, v1, 0x2a42c          |             goto label_60;
                                             |         }
                                             |     }
    0x0002a2ac lw t9, 0x80(sp)               |     t9 = *(var_80h);
    0x0002a2b0 addiu a0, zero, 0x2a          |     a0 = 0x2a;
                                             |     if (t9 != 0) {
    0x0002a2b4 beqz t9, 0x2a334              |         
    0x0002a2b8 lw v0, -0x7f6c(gp)            |         v0 = *((gp - 8155));
    0x0002a2bc sb zero, 0x5c(sp)             |         *(s) = 0;
    0x0002a2c0 lw v0, (v0)                   |         v0 = *(v0);
                                             |         if (v0 > 0) {
    0x0002a2c4 blezl v0, 0x2a2dc             |             
    0x0002a2c8 move a2, zero                 |             a2 = 0;
    0x0002a2cc addiu v0, v0, -1              |             v0 += -1;
    0x0002a2d0 move a2, v0                   |             a2 = v0;
    0x0002a2d4 sra a3, v0, 0x1f              |             a3 = v0 >> 0x1f;
    0x0002a2d8 b 0x2a2e0                     |             
                                             |         } else {
    0x0002a2dc move a3, zero                 |             a3 = 0;
                                             |         }
    0x0002a2e0 lw a1, -0x7fa8(gp)            |         a1 = *((gp - 8170));
    0x0002a2e4 lw t9, -0x7f70(gp)            |         t9 = *((gp - 8156));
    0x0002a2e8 addiu a0, sp, 0x5c            |         a0 = sp + 0x5c;
    0x0002a2ec addiu a1, a1, -0x71a8         |         a1 += -0x71a8;
    0x0002a2f0 bal 0x2f930                   |         sym_sprintf ();
    0x0002a2f4 lw gp, 0x28(sp)               |         gp = *(var_28h);
    0x0002a2f8 lw a0, (s4)                   |         a0 = *(s4);
    0x0002a2fc lw a1, 0xbc(sp)               |         a1 = *(arg_bch);
    0x0002a300 lw t9, -0x7fb4(gp)            |         t9 = *((gp - 8173));
    0x0002a304 lw a2, 0xc0(sp)               |         a2 = *(arg_c0h);
    0x0002a308 addiu t9, t9, -0x79c8         |         t9 += -0x79c8;
    0x0002a30c addiu a3, sp, 0x5c            |         a3 = sp + 0x5c;
    0x0002a310 bal 0x28638                   |         fcn_00028638 ();
    0x0002a314 lw gp, 0x28(sp)               |         gp = *(var_28h);
    0x0002a318 move a0, s3                   |         a0 = s3;
    0x0002a31c lw t9, -0x7668(gp)            |         t9 = *((gp - 7578));
    0x0002a320 sw v0, (s4)                   |         *(s4) = v0;
    0x0002a324 jalr t9                       |         t9 ();
    0x0002a328 lw gp, 0x28(sp)               |         gp = *(var_28h);
    0x0002a32c move a0, s0                   |         a0 = s0;
    0x0002a330 b 0x2ad94                     |         goto label_61;
                                             |     }
    0x0002a334 addiu s7, zero, 1             |     s7 = 1;
    0x0002a338 move s6, zero                 |     s6 = 0;
                                             |     if (v0 == a0) {
    0x0002a33c beq v0, a0, 0x2a37c           |         goto label_62;
                                             |     }
    0x0002a340 addiu v1, zero, 0x40          |     v1 = 0x40;
    0x0002a344 lw v0, -0x7f6c(gp)            |     v0 = *((gp - 8155));
                                             |     if (v0 != v1) {
    0x0002a348 bne v0, v1, 0x2a42c           |         goto label_60;
                                             |     }
    0x0002a34c lw v1, 0xdc(sp)               |     v1 = *(arg_dch);
                                             |     if (v1 == 0) {
    0x0002a350 beqz v1, 0x2a378              |         goto label_63;
                                             |     }
    0x0002a354 nop                           |     
    0x0002a358 addiu v1, zero, 2             |     v1 = 2;
    0x0002a35c b 0x2a430                     |     goto label_64;
                                             |     do {
    0x0002a360 addiu s7, s7, 1               |         s7++;
    0x0002a364 bal 0x3b6b0                   |         sym_strlen ();
    0x0002a368 addiu v0, v0, 1               |         v0++;
    0x0002a36c lw gp, 0x28(sp)               |         gp = *(var_28h);
    0x0002a370 addu s6, s6, v0               |         s6 += v0;
    0x0002a374 b 0x2a384                     |         goto label_65;
                                             | label_63:
    0x0002a378 move s6, zero                 |         s6 = 0;
                                             | label_62:
    0x0002a37c lw fp, -0x7f64(gp)            |         fp = *((gp - 8153));
    0x0002a380 lw s2, -0x7fdc(gp)            |         s2 = *((gp - 8183));
                                             | label_65:
    0x0002a384 lw a0, (fp)                   |         a0 = *(fp);
    0x0002a388 sll v0, s7, 2                 |         v0 = s7 << 2;
    0x0002a38c addu v0, a0, v0               |         v0 = a0 + v0;
    0x0002a390 lw a0, (v0)                   |         a0 = *(v0);
    0x0002a394 move t9, s2                   |         t9 = s2;
    0x0002a398 bnez a0, 0x2a360              |         
                                             |     } while (a0 != 0);
    0x0002a39c lw t9, -0x75a0(gp)            |     t9 = *((gp - 7528));
    0x0002a3a0 move a0, s6                   |     a0 = s6;
    0x0002a3a4 jalr t9                       |     t9 ();
    0x0002a3a8 move s6, v0                   |     s6 = v0;
    0x0002a3ac lw gp, 0x28(sp)               |     gp = *(var_28h);
                                             |     if (v0 == 0) {
    0x0002a3b0 beqz v0, 0x2af24              |         goto label_53;
                                             |     }
    0x0002a3b4 sb zero, (v0)                 |     *(v0) = 0;
    0x0002a3b8 addiu fp, zero, 1             |     fp = 1;
    0x0002a3bc lw s7, -0x7f64(gp)            |     s7 = *((gp - 8153));
    0x0002a3c0 addiu s2, zero, 1             |     s2 = 1;
    0x0002a3c4 addiu t1, zero, 0x20          |     t1 = 0x20;
    0x0002a3c8 lw t9, -0x7f60(gp)            |     t9 = *((gp - 8152));
    0x0002a3cc b 0x2a40c                     |     
                                             |     while (a1 != 0) {
    0x0002a3d0 lw a1, -0x7f64(gp)            |         a1 = *((gp - 8153));
                                             |         if (fp != s2) {
    0x0002a3d4 beq fp, s2, 0x2a3e0           |             
    0x0002a3d8 sb t1, (v0)                   |             *(v0) = t1;
    0x0002a3dc addiu v0, v0, 1               |             v0++;
                                             |         }
    0x0002a3e0 addiu fp, fp, 1               |         fp++;
    0x0002a3e4 lw a1, (a1)                   |         a1 = *(a1);
    0x0002a3e8 addu a1, a1, a0               |         a1 += a0;
    0x0002a3ec lw a1, (a1)                   |         a1 = *(a1);
    0x0002a3f0 move a0, v0                   |         a0 = v0;
    0x0002a3f4 sw t1, 0x8c(sp)               |         *(var_8ch) = t1;
    0x0002a3f8 sw t9, 0x84(sp)               |         *(var_84h) = t9;
    0x0002a3fc jalr t9                       |         t9 ();
    0x0002a400 lw gp, 0x28(sp)               |         gp = *(var_28h);
    0x0002a404 lw t9, 0x84(sp)               |         t9 = *(var_84h);
    0x0002a408 lw t1, 0x8c(sp)               |         t1 = *(var_8ch);
    0x0002a40c lw a1, (s7)                   |         a1 = *(s7);
    0x0002a410 sll a0, fp, 2                 |         a0 = fp << 2;
    0x0002a414 addu a1, a1, a0               |         a1 += a0;
    0x0002a418 lw a1, (a1)                   |         a1 = *(a1);
    0x0002a41c bnez a1, 0x2a3d0              |         
                                             |     }
    0x0002a420 nop                           |     
    0x0002a424 addiu s2, zero, 1             |     s2 = 1;
    0x0002a428 b 0x2a570                     |     goto label_59;
                                             | label_60:
    0x0002a42c addiu v1, zero, 2             |     v1 = 2;
                                             | label_64:
    0x0002a430 lw v0, (v0)                   |     v0 = *(v0);
    0x0002a434 slti v0, v0, 3                |     v0 = (v0 < 3) ? 1 : 0;
                                             |     if (v0 == v1) {
    0x0002a438 bne v0, v1, 0x2a44c           |         
    0x0002a43c lw v0, -0x7f64(gp)            |         v0 = *((gp - 8153));
    0x0002a440 lw v0, (v0)                   |         v0 = *(v0);
    0x0002a444 lw s6, 4(v0)                  |         s6 = *(var_24h);
    0x0002a448 b 0x2a550                     |         goto label_66;
                                             |     }
    0x0002a44c lw s2, -0x7f64(gp)            |     s2 = *((gp - 8153));
                                             |     if (v0 != 0) {
    0x0002a450 bnez v0, 0x2a528              |         goto label_67;
                                             |     }
    0x0002a454 lw t9, -0x7fb4(gp)            |     t9 = *((gp - 8173));
    0x0002a458 lw a0, (s4)                   |     a0 = *(s4);
    0x0002a45c lw v0, (s2)                   |     v0 = *(s2);
    0x0002a460 lw a1, 0xbc(sp)               |     a1 = *(arg_bch);
    0x0002a464 lw a2, 0xc0(sp)               |     a2 = *(arg_c0h);
    0x0002a468 addiu t9, t9, -0x79c8         |     t9 += -0x79c8;
    0x0002a46c lw a3, 4(v0)                  |     a3 = *(var_24h);
    0x0002a470 bal 0x28638                   |     fcn_00028638 ();
    0x0002a474 lw gp, 0x28(sp)               |     gp = *(var_28h);
                                             |     if (v0 == 0) {
    0x0002a478 beqz v0, 0x2af24              |         goto label_53;
                                             |     }
    0x0002a47c lw s6, -0x7fb4(gp)            |     s6 = *((gp - 8173));
    0x0002a480 lw a0, 0xd0(sp)               |     a0 = *(arg_d0h);
    0x0002a484 addiu t9, s6, -0x795c         |     t9 = s6 + -0x795c;
    0x0002a488 move a1, v0                   |     a1 = v0;
    0x0002a48c bal 0x286a4                   |     fcn_000286a4 ();
    0x0002a490 move s7, s6                   |     s7 = s6;
    0x0002a494 lw gp, 0x28(sp)               |     gp = *(var_28h);
                                             |     if (v0 != 0) {
    0x0002a498 bnez v0, 0x2af24              |         goto label_53;
                                             |     }
    0x0002a49c addiu v0, zero, 2             |     v0 = 2;
    0x0002a4a0 move s6, s2                   |     s6 = s2;
    0x0002a4a4 lw fp, -0x7fac(gp)            |     fp = *((gp - 8171));
    0x0002a4a8 b 0x2a4e0                     |     
                                             |     while (a0 == 0) {
    0x0002a4ac addu v1, v1, v0               |         v1 += v0;
    0x0002a4b0 move t9, fp                   |         t9 = fp;
    0x0002a4b4 lw a0, (v1)                   |         a0 = *(v1);
    0x0002a4b8 bal 0x3c240                   |         sym_strdup ();
    0x0002a4bc lw gp, 0x28(sp)               |         gp = *(var_28h);
                                             |         if (v0 == 0) {
    0x0002a4c0 beqz v0, 0x2af24              |             goto label_53;
                                             |         }
    0x0002a4c4 lw a0, 0xd0(sp)               |         a0 = *(arg_d0h);
    0x0002a4c8 addiu t9, s7, -0x795c         |         t9 = s7 + -0x795c;
    0x0002a4cc move a1, v0                   |         a1 = v0;
    0x0002a4d0 bal 0x286a4                   |         fcn_000286a4 ();
    0x0002a4d4 lw gp, 0x28(sp)               |         gp = *(var_28h);
                                             |         if (v0 != 0) {
    0x0002a4d8 bnez v0, 0x2af24              |             goto label_53;
                                             |         }
    0x0002a4dc move v0, s2                   |         v0 = s2;
    0x0002a4e0 lw v1, (s6)                   |         v1 = *(s6);
    0x0002a4e4 addiu s2, v0, 1               |         s2 = v0 + 1;
    0x0002a4e8 sll a0, s2, 2                 |         a0 = s2 << 2;
    0x0002a4ec addu a0, v1, a0               |         a0 = v1 + a0;
    0x0002a4f0 lw a0, (a0)                   |         a0 = *(a0);
    0x0002a4f4 sll v0, v0, 2                 |         v0 <<= 2;
    0x0002a4f8 bnel a0, zero, 0x2a4ac        |         
                                             |     }
    0x0002a4fc lw v1, 0xc0(sp)               |     v1 = *(arg_c0h);
    0x0002a500 lw t9, 0xbc(sp)               |     t9 = *(arg_bch);
    0x0002a504 sw zero, (v1)                 |     *(v1) = 0;
    0x0002a508 sw zero, (t9)                 |     *(t9) = 0;
    0x0002a50c sw zero, (s4)                 |     *(s4) = 0;
    0x0002a510 lw v1, -0x7f64(gp)            |     v1 = *((gp - 8153));
                                             | label_57:
    0x0002a514 sll v0, v0, 2                 |     v0 <<= 2;
    0x0002a518 lw v1, (v1)                   |     v1 = *(v1);
    0x0002a51c addu v0, v1, v0               |     v0 = v1 + v0;
    0x0002a520 lw s6, (v0)                   |     s6 = *(v0);
    0x0002a524 b 0x2a550                     |     goto label_66;
                                             | label_67:
    0x0002a528 lw t9, -0x7668(gp)            |     t9 = *((gp - 7578));
    0x0002a52c move a0, s3                   |     a0 = s3;
    0x0002a530 jalr t9                       |     t9 ();
    0x0002a534 lw gp, 0x28(sp)               |     gp = *(var_28h);
    0x0002a538 b 0x2ae48                     |     goto label_68;
                                             | label_58:
    0x0002a53c lw t9, -0x7f84(gp)            |     t9 = *((gp - 8161));
    0x0002a540 move a0, s3                   |     a0 = s3;
    0x0002a544 jalr t9                       |     t9 ();
    0x0002a548 lw gp, 0x28(sp)               |     gp = *(var_28h);
    0x0002a54c move s6, v0                   |     s6 = v0;
                                             | label_66:
    0x0002a550 move s2, zero                 |     s2 = 0;
                                             |     if (s6 == 0) {
    0x0002a554 bnez s6, 0x2a570              |         
    0x0002a558 lw v1, 0xcc(sp)               |         v1 = *(arg_cch);
                                             | label_56:
    0x0002a55c andi v0, v1, 0x20             |         v0 = v1 & 0x20;
    0x0002a560 addiu fp, zero, 3             |         fp = 3;
                                             |         if (v0 != 0) {
    0x0002a564 bnez v0, 0x2af3c              |             goto label_52;
                                             |         }
    0x0002a568 move s2, zero                 |         s2 = 0;
    0x0002a56c move s6, zero                 |         s6 = 0;
                                             |     }
                                             | label_59:
    0x0002a570 addiu v0, zero, 0x3d          |     v0 = 0x3d;
                                             |     if (s1 == 0) {
    0x0002a574 beqz s1, 0x2accc              |         goto label_69;
                                             |     }
    0x0002a578 sltiu v0, s1, 0x3e            |     v0 = (s1 < 0x3e) ? 1 : 0;
                                             |     if (s1 != v0) {
    0x0002a57c beq s1, v0, 0x2a5d8           |         
    0x0002a580 addiu v0, zero, 0x4c          |         v0 = 0x4c;
                                             |         if (v0 != 0) {
    0x0002a584 beqz v0, 0x2a5c0              |             
    0x0002a588 addiu v0, zero, 0x25          |             v0 = 0x25;
    0x0002a58c sltiu v0, s1, 0x26            |             v0 = (s1 < 0x26) ? 1 : 0;
                                             |             if (s1 == v0) {
    0x0002a590 beq s1, v0, 0x2af7c           |                 goto label_70;
                                             |             }
    0x0002a594 addiu v0, zero, 0x2b          |             v0 = 0x2b;
                                             |             if (v0 != 0) {
    0x0002a598 beqz v0, 0x2a5b0              |                 
    0x0002a59c addiu v0, zero, 0x23          |                 v0 = 0x23;
    0x0002a5a0 addiu v0, zero, 0x3d          |                 v0 = 0x3d;
                                             |                 if (s1 != v0) {
    0x0002a5a4 bne s1, v0, 0x2a86c           |                     goto label_71;
                                             |                 }
    0x0002a5a8 sw zero, 0x64(sp)             |                 *(var_64h) = 0;
    0x0002a5ac b 0x2af80                     |                 goto label_72;
                                             |             }
    0x0002a5b0 addiu v0, zero, 0x2d          |             v0 = 0x2d;
                                             |             if (s1 == v0) {
    0x0002a5b4 beq s1, v0, 0x2a5fc           |                 goto label_73;
                                             |             }
    0x0002a5b8 b 0x2a5d0                     |             goto label_74;
    0x0002a5bc nop                           |             
                                             |         }
    0x0002a5c0 addiu v0, zero, 0x52          |         v0 = 0x52;
                                             |         if (s1 == v0) {
    0x0002a5c4 beq s1, v0, 0x2af7c           |             goto label_70;
                                             |         }
    0x0002a5c8 addiu v0, zero, 0x3f          |         v0 = 0x3f;
                                             |         if (s1 == v0) {
    0x0002a5cc beq s1, v0, 0x2af7c           |             goto label_70;
                                             |         }
                                             | label_74:
    0x0002a5d0 addiu v0, zero, 0x3d          |         v0 = 0x3d;
                                             |         if (s1 != v0) {
    0x0002a5d4 bne s1, v0, 0x2a86c           |             goto label_71;
                                             |         }
                                             |     }
                                             |     if (s6 == 0) {
    0x0002a5d8 beql s6, zero, 0x2af80        |         goto label_72;
                                             |     }
    0x0002a5dc sw zero, 0x64(sp)             |     *(var_64h) = 0;
    0x0002a5e0 lbu v0, (s6)                  |     v0 = *(s6);
    0x0002a5e4 addiu v0, zero, 0x3d          |     v0 = 0x3d;
                                             |     if (v0 != 0) {
    0x0002a5e8 bnez v0, 0x2a86c              |         goto label_71;
                                             |     }
    0x0002a5ec sw zero, 0x64(sp)             |     *(var_64h) = 0;
                                             |     if (s5 == 0) {
    0x0002a5f0 bnel s5, zero, 0x2af80        |         goto label_72;
                                             |     }
    0x0002a5f4 b 0x2a86c                     |     goto label_71;
    0x0002a5f8 nop                           |     
                                             | label_73:
    0x0002a5fc addiu v0, zero, 0x3d          |     v0 = 0x3d;
                                             |     if (s6 == 0) {
    0x0002a600 beqz s6, 0x2a86c              |         goto label_71;
                                             |     }
    0x0002a604 lbu v0, (s6)                  |     v0 = *(s6);
    0x0002a608 sw zero, 0x64(sp)             |     *(var_64h) = 0;
                                             |     if (v0 == 0) {
    0x0002a60c bnel v0, zero, 0x2af80        |         goto label_72;
                                             |     }
                                             |     if (s5 == 0) {
    0x0002a610 beql s5, zero, 0x2af80        |         goto label_72;
                                             |     }
    0x0002a614 sw zero, 0x64(sp)             |     *(var_64h) = 0;
    0x0002a618 addiu v0, zero, 0x3d          |     v0 = 0x3d;
    0x0002a61c b 0x2a86c                     |     goto label_71;
                                             |     do {
    0x0002a620 sltiu a0, v0, 0x2b            |         a0 = (v0 < 0x2b) ? 1 : 0;
                                             |         if (v0 != a0) {
    0x0002a624 beq v0, a0, 0x2a6a8           |             
    0x0002a628 addiu a0, zero, 0x5c          |             a0 = 0x5c;
                                             |             if (a0 != 0) {
    0x0002a62c beqz a0, 0x2a654              |                 
    0x0002a630 addiu a0, zero, 0x24          |                 a0 = 0x24;
    0x0002a634 addiu a0, zero, 0x27          |                 a0 = 0x27;
                                             |                 if (v0 == a0) {
    0x0002a638 beq v0, a0, 0x2a6e4           |                     goto label_75;
                                             |                 }
    0x0002a63c addiu a0, zero, 0x22          |                 a0 = 0x22;
                                             |                 if (v0 == a0) {
    0x0002a640 beq v0, a0, 0x2a68c           |                     goto label_76;
                                             |                 }
    0x0002a644 lw v1, -0x7fb4(gp)            |                 v1 = *((gp - 8173));
                                             |                 if (v0 != a0) {
    0x0002a648 bne v0, a0, 0x2a800           |                     goto label_77;
                                             |                 }
    0x0002a64c addiu v0, zero, 2             |                 v0 = 2;
    0x0002a650 b 0x2a674                     |                 
                                             |             } else {
    0x0002a654 addiu a0, zero, 0x7e          |                 a0 = 0x7e;
                                             |                 if (v0 == a0) {
    0x0002a658 beq v0, a0, 0x2a7c0           |                     goto label_78;
                                             |                 }
    0x0002a65c addiu a0, zero, 0x3f          |                 a0 = 0x3f;
                                             |                 if (v0 == a0) {
    0x0002a660 beq v0, a0, 0x2a738           |                     goto label_79;
                                             |                 }
    0x0002a664 lw v1, -0x7fb4(gp)            |                 v1 = *((gp - 8173));
                                             |                 if (v0 != a0) {
    0x0002a668 bne v0, a0, 0x2a800           |                     goto label_77;
                                             |                 }
    0x0002a66c b 0x2a6a8                     |                 goto label_80;
    0x0002a670 nop                           |                 
                                             |             }
                                             |             if (t1 == v0) {
    0x0002a674 beql t1, v0, 0x2a83c          |                 goto label_81;
                                             |             }
    0x0002a678 move t1, zero                 |             t1 = 0;
                                             |             if (t1 == 0) {
    0x0002a67c beql t1, zero, 0x2a83c        |                 goto label_81;
                                             |             }
    0x0002a680 addiu t1, zero, 2             |             t1 = 2;
    0x0002a684 lw v1, -0x7fb4(gp)            |             v1 = *((gp - 8173));
    0x0002a688 b 0x2a800                     |             goto label_77;
                                             | label_76:
    0x0002a68c addiu v0, zero, 1             |             v0 = 1;
                                             |             if (t1 == v0) {
    0x0002a690 beql t1, v0, 0x2a83c          |                 goto label_81;
                                             |             }
    0x0002a694 move t1, zero                 |             t1 = 0;
                                             |             if (t1 == 0) {
    0x0002a698 beql t1, zero, 0x2a83c        |                 goto label_81;
                                             |             }
    0x0002a69c addiu t1, zero, 1             |             t1 = 1;
    0x0002a6a0 lw v1, -0x7fb4(gp)            |             v1 = *((gp - 8173));
    0x0002a6a4 b 0x2a800                     |             
                                             |         } else {
                                             | label_80:
    0x0002a6a8 lw v1, -0x7fb4(gp)            |             v1 = *((gp - 8173));
                                             |             if (t1 == 0) {
    0x0002a6ac beqz t1, 0x2a800              |                 goto label_77;
                                             |             }
    0x0002a6b0 lw v0, -0x7fb4(gp)            |             v0 = *((gp - 8173));
    0x0002a6b4 lw a0, 0x6c(sp)               |             a0 = *(var_6ch);
    0x0002a6b8 sw t0, 0x84(sp)               |             *(var_84h) = t0;
    0x0002a6bc addiu a1, sp, 0x68            |             a1 = sp + 0x68;
    0x0002a6c0 addiu a2, sp, 0x64            |             a2 = sp + 0x64;
    0x0002a6c4 addiu a3, zero, 0x5c          |             a3 = 0x5c;
    0x0002a6c8 addiu t9, v0, -0x7d70         |             t9 = v0 + -0x7d70;
    0x0002a6cc sw t1, 0x8c(sp)               |             *(var_8ch) = t1;
    0x0002a6d0 bal 0x28290                   |             fcn_00028290 ();
    0x0002a6d4 sw v0, 0x6c(sp)               |             *(var_6ch) = v0;
    0x0002a6d8 lw gp, 0x28(sp)               |             gp = *(var_28h);
    0x0002a6dc lw t0, 0x84(sp)               |             t0 = *(var_84h);
    0x0002a6e0 b 0x2a7f4                     |             goto label_82;
                                             | label_75:
    0x0002a6e4 addiu v0, sp, 0x60            |             v0 = sp + 0x60;
    0x0002a6e8 sw v0, 0x10(sp)               |             *(var_10h) = v0;
    0x0002a6ec addiu v0, zero, 1             |             v0 = 1;
    0x0002a6f0 lw v1, 0xcc(sp)               |             v1 = *(arg_cch);
    0x0002a6f4 sw v0, 0x24(sp)               |             *(var_24h) = v0;
    0x0002a6f8 lw v0, -0x7fb4(gp)            |             v0 = *((gp - 8173));
    0x0002a6fc sw zero, 0x60(sp)             |             *(var_60h) = 0;
    0x0002a700 sw v1, 0x14(sp)               |             *(var_14h) = v1;
    0x0002a704 sw zero, 0x18(sp)             |             *(var_18h) = 0;
    0x0002a708 sw zero, 0x1c(sp)             |             *(var_1ch) = 0;
    0x0002a70c sw zero, 0x20(sp)             |             *(stream) = 0;
    0x0002a710 addiu a0, sp, 0x6c            |             a0 = sp + 0x6c;
    0x0002a714 addiu a1, sp, 0x68            |             a1 = sp + 0x68;
    0x0002a718 addiu a2, sp, 0x64            |             a2 = sp + 0x64;
    0x0002a71c move a3, t0                   |             a3 = t0;
    0x0002a720 addiu t9, v0, -0x6664         |             t9 = v0 + -0x6664;
    0x0002a724 sw t0, 0x84(sp)               |             *(var_84h) = t0;
    0x0002a728 sw t1, 0x8c(sp)               |             *(var_8ch) = t1;
    0x0002a72c bal 0x2999c                   |             fcn_0002999c ();
                                             |             goto label_2;
    0x0002a730 lw gp, 0x28(sp)               |             gp = *(var_28h);
    0x0002a734 b 0x2a784                     |             goto label_83;
                                             | label_79:
    0x0002a738 lw v1, -0x7fb4(gp)            |             v1 = *((gp - 8173));
                                             |             if (t1 != 0) {
    0x0002a73c bnez t1, 0x2a800              |                 goto label_77;
                                             |             }
    0x0002a740 lw v0, 0x68(sp)               |             v0 = *(var_68h);
    0x0002a744 lbu a3, (t0)                  |             a3 = *(t0);
                                             |             if (v0 == 0) {
    0x0002a748 bnel v0, zero, 0x2a804        |                 goto label_84;
                                             |             }
    0x0002a74c lw v1, -0x7fb4(gp)            |             v1 = *((gp - 8173));
    0x0002a750 addiu v0, sp, 0x60            |             v0 = sp + 0x60;
    0x0002a754 sw zero, 0x60(sp)             |             *(var_60h) = 0;
    0x0002a758 sw v0, 0x10(sp)               |             *(var_10h) = v0;
    0x0002a75c sw zero, 0x14(sp)             |             *(var_14h) = 0;
    0x0002a760 addiu a0, sp, 0x6c            |             a0 = sp + 0x6c;
    0x0002a764 addiu a1, sp, 0x68            |             a1 = sp + 0x68;
    0x0002a768 addiu a2, sp, 0x64            |             a2 = sp + 0x64;
    0x0002a76c move a3, t0                   |             a3 = t0;
    0x0002a770 addiu t9, v1, -0x71f8         |             t9 = v1 + -0x71f8;
    0x0002a774 sw t0, 0x84(sp)               |             *(var_84h) = t0;
    0x0002a778 sw t1, 0x8c(sp)               |             *(var_8ch) = t1;
    0x0002a77c bal 0x28e08                   |             fcn_00028e08 ();
    0x0002a780 lw gp, 0x28(sp)               |             gp = *(var_28h);
                                             | label_83:
    0x0002a784 move fp, v0                   |             fp = v0;
    0x0002a788 lw t0, 0x84(sp)               |             t0 = *(var_84h);
    0x0002a78c lw t1, 0x8c(sp)               |             t1 = *(var_8ch);
                                             |             if (v0 != 0) {
    0x0002a790 beqz v0, 0x2a7b4              |                 
                                             |                 if (s2 == 0) {
    0x0002a794 beql s2, zero, 0x2ac50        |                     goto label_85;
                                             |                 }
    0x0002a798 lw a0, 0x6c(sp)               |                 a0 = *(var_6ch);
    0x0002a79c lw t9, -0x7668(gp)            |                 t9 = *((gp - 7578));
    0x0002a7a0 move a0, s6                   |                 a0 = s6;
    0x0002a7a4 jalr t9                       |                 t9 ();
    0x0002a7a8 lw gp, 0x28(sp)               |                 gp = *(var_28h);
    0x0002a7ac lw a0, 0x6c(sp)               |                 a0 = *(var_6ch);
    0x0002a7b0 b 0x2ac50                     |                 goto label_85;
                                             |             }
    0x0002a7b4 lw v0, 0x60(sp)               |             v0 = *(var_60h);
    0x0002a7b8 addu t0, t0, v0               |             t0 += v0;
    0x0002a7bc b 0x2a83c                     |             goto label_81;
                                             | label_78:
    0x0002a7c0 lw v0, -0x7fb4(gp)            |             v0 = *((gp - 8173));
    0x0002a7c4 lw a0, 0x6c(sp)               |             a0 = *(var_6ch);
    0x0002a7c8 sw t0, 0x84(sp)               |             *(var_84h) = t0;
    0x0002a7cc addiu a1, sp, 0x68            |             a1 = sp + 0x68;
    0x0002a7d0 addiu a2, sp, 0x64            |             a2 = sp + 0x64;
    0x0002a7d4 addiu a3, zero, 0x5c          |             a3 = 0x5c;
    0x0002a7d8 addiu t9, v0, -0x7d70         |             t9 = v0 + -0x7d70;
    0x0002a7dc sw t1, 0x8c(sp)               |             *(var_8ch) = t1;
    0x0002a7e0 bal 0x28290                   |             fcn_00028290 ();
    0x0002a7e4 lw t0, 0x84(sp)               |             t0 = *(var_84h);
    0x0002a7e8 lw gp, 0x28(sp)               |             gp = *(var_28h);
    0x0002a7ec sw v0, 0x6c(sp)               |             *(var_6ch) = v0;
    0x0002a7f0 addiu t0, t0, 1               |             t0++;
                                             | label_82:
    0x0002a7f4 lw t1, 0x8c(sp)               |             t1 = *(var_8ch);
                                             |             if (v0 == 0) {
    0x0002a7f8 beqz v0, 0x2af24              |                 goto label_53;
                                             |             }
    0x0002a7fc lw v1, -0x7fb4(gp)            |             v1 = *((gp - 8173));
                                             |         }
                                             | label_77:
    0x0002a800 lbu a3, (t0)                  |         a3 = *(t0);
                                             | label_84:
    0x0002a804 lw a0, 0x6c(sp)               |         a0 = *(var_6ch);
    0x0002a808 sw t0, 0x84(sp)               |         *(var_84h) = t0;
    0x0002a80c sw t1, 0x8c(sp)               |         *(var_8ch) = t1;
    0x0002a810 addiu a1, sp, 0x68            |         a1 = sp + 0x68;
    0x0002a814 addiu t9, v1, -0x7d70         |         t9 = v1 + -0x7d70;
    0x0002a818 addiu a2, sp, 0x64            |         a2 = sp + 0x64;
    0x0002a81c bal 0x28290                   |         fcn_00028290 ();
    0x0002a820 sw v0, 0x6c(sp)               |         *(var_6ch) = v0;
    0x0002a824 lw gp, 0x28(sp)               |         gp = *(var_28h);
    0x0002a828 lw t0, 0x84(sp)               |         t0 = *(var_84h);
    0x0002a82c lw t1, 0x8c(sp)               |         t1 = *(var_8ch);
                                             |         if (v0 == 0) {
    0x0002a830 bnez v0, 0x2a83c              |             
    0x0002a834 addiu fp, zero, 1             |             fp = 1;
    0x0002a838 b 0x2af3c                     |             goto label_52;
                                             |         }
                                             | label_81:
    0x0002a83c addiu t0, t0, 1               |         t0++;
                                             | label_9:
    0x0002a840 lw t9, -0x7668(gp)            |         t9 = *((gp - 7578));
                                             |         if (t0 == 0) {
    0x0002a844 beqz t0, 0x2a858              |             goto label_86;
                                             |         }
    0x0002a848 lbu v0, (t0)                  |         v0 = *(t0);
    0x0002a84c addiu a0, zero, 0x2a          |         a0 = 0x2a;
    0x0002a850 bnez v0, 0x2a620              |         
                                             |     } while (v0 != 0);
    0x0002a854 lw t9, -0x7668(gp)            |     t9 = *((gp - 7578));
                                             | label_86:
    0x0002a858 move a0, s0                   |     a0 = s0;
    0x0002a85c jalr t9                       |     t9 ();
    0x0002a860 lw gp, 0x28(sp)               |     gp = *(var_28h);
    0x0002a864 lw s0, 0x6c(sp)               |     s0 = *(var_6ch);
    0x0002a868 addiu v0, zero, 0x3d          |     v0 = 0x3d;
                                             | label_71:
    0x0002a86c sltiu v0, s1, 0x3e            |     v0 = (s1 < 0x3e) ? 1 : 0;
                                             |     if (s1 == v0) {
    0x0002a870 beq s1, v0, 0x2ac1c           |         goto label_87;
                                             |     }
    0x0002a874 addiu v0, zero, 0x4c          |     v0 = 0x4c;
                                             |     if (v0 != 0) {
    0x0002a878 beqz v0, 0x2a8bc              |         
    0x0002a87c addiu v0, zero, 0x25          |         v0 = 0x25;
    0x0002a880 sltiu v0, s1, 0x26            |         v0 = (s1 < 0x26) ? 1 : 0;
                                             |         if (s1 == v0) {
    0x0002a884 beq s1, v0, 0x2a8dc           |             goto label_88;
                                             |         }
    0x0002a888 addiu v0, zero, 0x2b          |         v0 = 0x2b;
                                             |         if (v0 != 0) {
    0x0002a88c beqz v0, 0x2a8a4              |             
    0x0002a890 addiu v0, zero, 0x23          |             v0 = 0x23;
    0x0002a894 lw t9, -0x7668(gp)            |             t9 = *((gp - 7578));
                                             |             if (s1 != v0) {
    0x0002a898 bne s1, v0, 0x2acd0           |                 goto label_89;
                                             |             }
    0x0002a89c b 0x2a8dc                     |             goto label_88;
    0x0002a8a0 nop                           |             
                                             |         }
    0x0002a8a4 addiu v0, zero, 0x2d          |         v0 = 0x2d;
                                             |         if (s1 == v0) {
    0x0002a8a8 beq s1, v0, 0x2abcc           |             goto label_90;
                                             |         }
    0x0002a8ac lw t9, -0x7668(gp)            |         t9 = *((gp - 7578));
                                             |         if (s1 != v0) {
    0x0002a8b0 bne s1, v0, 0x2acd0           |             goto label_89;
                                             |         }
    0x0002a8b4 b 0x2ab7c                     |         goto label_91;
    0x0002a8b8 nop                           |         
                                             |     }
    0x0002a8bc addiu v0, zero, 0x52          |     v0 = 0x52;
                                             |     if (s1 != v0) {
    0x0002a8c0 beq s1, v0, 0x2a8dc           |         
    0x0002a8c4 addiu v0, zero, 0x3f          |         v0 = 0x3f;
                                             |         if (s1 == v0) {
    0x0002a8c8 beq s1, v0, 0x2a8dc           |             goto label_88;
                                             |         }
    0x0002a8cc lw t9, -0x7668(gp)            |         t9 = *((gp - 7578));
                                             |         if (s1 != v0) {
    0x0002a8d0 bne s1, v0, 0x2acd0           |             goto label_89;
                                             |         }
    0x0002a8d4 b 0x2ab04                     |         goto label_92;
    0x0002a8d8 nop                           |         
                                             |     }
                                             | label_88:
    0x0002a8dc lw t9, -0x7668(gp)            |     t9 = *((gp - 7578));
                                             |     if (s6 == 0) {
    0x0002a8e0 beqz s6, 0x2acd0              |         goto label_89;
                                             |     }
                                             |     if (s0 == 0) {
    0x0002a8e4 beqz s0, 0x2acd0              |         goto label_89;
                                             |     }
    0x0002a8e8 nop                           |     
    0x0002a8ec lbu v0, (s0)                  |     v0 = *(s0);
                                             |     if (v0 == 0) {
    0x0002a8f0 beqz v0, 0x2acd0              |         goto label_89;
                                             |     }
    0x0002a8f4 nop                           |     
    0x0002a8f8 lw t9, -0x7fdc(gp)            |     t9 = *((gp - 8183));
    0x0002a8fc move a0, s6                   |     a0 = s6;
    0x0002a900 bal 0x3b6b0                   |     sym_strlen ();
    0x0002a904 addu s5, s6, v0               |     s5 = s6 + v0;
    0x0002a908 addiu v0, zero, 0x4c          |     v0 = 0x4c;
    0x0002a90c lw gp, 0x28(sp)               |     gp = *(var_28h);
                                             |     if (s1 == v0) {
    0x0002a910 beq s1, v0, 0x2aa14           |         goto label_93;
                                             |     }
    0x0002a914 sltiu v0, s1, 0x4d            |     v0 = (s1 < 0x4d) ? 1 : 0;
    0x0002a918 addiu v0, zero, 0x52          |     v0 = 0x52;
                                             |     if (v0 != 0) {
    0x0002a91c beqz v0, 0x2a93c              |         
    0x0002a920 addiu v0, zero, 0x23          |         v0 = 0x23;
    0x0002a924 addiu v0, zero, 0x25          |         v0 = 0x25;
                                             |         if (s1 == v0) {
    0x0002a928 beq s1, v0, 0x2a98c           |             goto label_94;
                                             |         }
    0x0002a92c lw t9, -0x7668(gp)            |         t9 = *((gp - 7578));
                                             |         if (s1 != v0) {
    0x0002a930 bne s1, v0, 0x2acd0           |             goto label_89;
                                             |         }
    0x0002a934 lw s1, -0x7f5c(gp)            |         s1 = *((gp - 8151));
    0x0002a938 b 0x2aa58                     |         goto label_95;
                                             |     }
    0x0002a93c lw t9, -0x7668(gp)            |     t9 = *((gp - 7578));
                                             |     if (s1 != v0) {
    0x0002a940 bne s1, v0, 0x2acd0           |         goto label_89;
                                             |     }
    0x0002a944 lw s1, -0x7f5c(gp)            |     s1 = *((gp - 8151));
    0x0002a948 b 0x2aae8                     |     goto label_96;
                                             |     do {
    0x0002a94c move a0, s0                   |         a0 = s0;
    0x0002a950 sb zero, (s7)                 |         *(s7) = 0;
    0x0002a954 move a1, s6                   |         a1 = s6;
    0x0002a958 sw t9, 0x84(sp)               |         *(var_84h) = t9;
    0x0002a95c move a2, zero                 |         a2 = 0;
    0x0002a960 jalr t9                       |         t9 ();
    0x0002a964 lw gp, 0x28(sp)               |         gp = *(var_28h);
    0x0002a968 lw t9, 0x84(sp)               |         t9 = *(var_84h);
    0x0002a96c sb s1, (s7)                   |         *(s7) = s1;
                                             |         if (v0 != fp) {
    0x0002a970 beq v0, fp, 0x2a984           |             
    0x0002a974 move a0, s7                   |             a0 = s7;
                                             |             if (s2 != 0) {
    0x0002a978 bnez s2, 0x2a9dc              |                 goto label_97;
                                             |             }
    0x0002a97c move s6, s7                   |             s6 = s7;
    0x0002a980 b 0x2acbc                     |             goto label_98;
                                             |         }
    0x0002a984 addiu s7, s7, 1               |         s7++;
    0x0002a988 b 0x2a998                     |         goto label_99;
                                             | label_94:
    0x0002a98c lw t9, -0x7f5c(gp)            |         t9 = *((gp - 8151));
    0x0002a990 move s7, s6                   |         s7 = s6;
    0x0002a994 addiu fp, zero, 1             |         fp = 1;
                                             | label_99:
    0x0002a998 sltu v0, s5, s7               |         v0 = (s5 < s7) ? 1 : 0;
    0x0002a99c beql v0, zero, 0x2a94c        |         
                                             |     } while (v0 == 0);
    0x0002a9a0 lbu s1, (s7)                  |     s1 = *(s7);
    0x0002a9a4 lw t9, -0x7668(gp)            |     t9 = *((gp - 7578));
    0x0002a9a8 b 0x2acd0                     |     goto label_89;
                                             |     do {
    0x0002a9ac move a0, s0                   |         a0 = s0;
    0x0002a9b0 sb zero, (s5)                 |         *(s5) = 0;
    0x0002a9b4 move a1, s6                   |         a1 = s6;
    0x0002a9b8 move t9, s1                   |         t9 = s1;
    0x0002a9bc move a2, zero                 |         a2 = 0;
    0x0002a9c0 bal 0x139a0                   |         sym_fnmatch ();
    0x0002a9c4 lw gp, 0x28(sp)               |         gp = *(var_28h);
    0x0002a9c8 sb fp, (s5)                   |         *(s5) = fp;
                                             |         if (v0 != s7) {
    0x0002a9cc beq v0, s7, 0x2aa0c           |             
                                             |             if (s2 == 0) {
    0x0002a9d0 beql s2, zero, 0x2accc        |                 goto label_69;
                                             |             }
    0x0002a9d4 move s6, s5                   |             s6 = s5;
    0x0002a9d8 move a0, s5                   |             a0 = s5;
                                             | label_97:
    0x0002a9dc lw t9, -0x7fac(gp)            |             t9 = *((gp - 8171));
    0x0002a9e0 bal 0x3c240                   |             sym_strdup ();
    0x0002a9e4 nop                           |             
    0x0002a9e8 lw gp, 0x28(sp)               |             gp = *(var_28h);
    0x0002a9ec move s1, v0                   |             s1 = v0;
    0x0002a9f0 move a0, s6                   |             a0 = s6;
    0x0002a9f4 lw t9, -0x7668(gp)            |             t9 = *((gp - 7578));
                                             |             if (v0 != 0) {
    0x0002a9f8 bnez v0, 0x2aad0              |                 goto label_100;
                                             |             }
    0x0002a9fc addiu fp, zero, 1             |             fp = 1;
    0x0002aa00 jalr t9                       |             t9 ();
    0x0002aa04 lw gp, 0x28(sp)               |             gp = *(var_28h);
    0x0002aa08 b 0x2af28                     |             goto label_101;
                                             |         }
    0x0002aa0c addiu s5, s5, -1              |         s5 += -1;
    0x0002aa10 b 0x2aa1c                     |         goto label_102;
                                             | label_93:
    0x0002aa14 lw s1, -0x7f5c(gp)            |         s1 = *((gp - 8151));
    0x0002aa18 addiu s7, zero, 1             |         s7 = 1;
                                             | label_102:
    0x0002aa1c sltu v0, s5, s6               |         v0 = (s5 < s6) ? 1 : 0;
    0x0002aa20 beql v0, zero, 0x2a9ac        |         
                                             |     } while (v0 == 0);
    0x0002aa24 lbu fp, (s5)                  |     fp = *(s5);
    0x0002aa28 lw t9, -0x7668(gp)            |     t9 = *((gp - 7578));
    0x0002aa2c b 0x2acd0                     |     goto label_89;
                                             |     do {
    0x0002aa30 move a1, s5                   |         a1 = s5;
    0x0002aa34 move t9, s1                   |         t9 = s1;
    0x0002aa38 move a2, zero                 |         a2 = 0;
    0x0002aa3c bal 0x139a0                   |         sym_fnmatch ();
    0x0002aa40 lw gp, 0x28(sp)               |         gp = *(var_28h);
                                             |         if (v0 != s7) {
    0x0002aa44 beq v0, s7, 0x2aa50           |             
    0x0002aa48 subu s5, s5, s6               |             __asm ("subu s5, s5, s6");
    0x0002aa4c b 0x2aa8c                     |             goto label_103;
                                             |         }
    0x0002aa50 addiu s5, s5, -1              |         s5 += -1;
    0x0002aa54 b 0x2aa5c                     |         goto label_104;
                                             | label_95:
    0x0002aa58 addiu s7, zero, 1             |         s7 = 1;
                                             | label_104:
    0x0002aa5c sltu v0, s5, s6               |         v0 = (s5 < s6) ? 1 : 0;
    0x0002aa60 move a0, s0                   |         a0 = s0;
    0x0002aa64 beqz v0, 0x2aa30              |         
                                             |     } while (v0 == 0);
    0x0002aa68 lw t9, -0x7668(gp)            |     t9 = *((gp - 7578));
    0x0002aa6c b 0x2acd0                     |     goto label_89;
                                             |     do {
    0x0002aa70 move a1, s7                   |         a1 = s7;
    0x0002aa74 move t9, s1                   |         t9 = s1;
    0x0002aa78 move a2, zero                 |         a2 = 0;
    0x0002aa7c bal 0x139a0                   |         sym_fnmatch ();
    0x0002aa80 lw gp, 0x28(sp)               |         gp = *(var_28h);
                                             |         if (v0 != fp) {
    0x0002aa84 beq v0, fp, 0x2aae0           |             
    0x0002aa88 subu s5, s7, s6               |             __asm ("subu s5, s7, s6");
                                             | label_103:
    0x0002aa8c lw t9, -0x75a0(gp)            |             t9 = *((gp - 7528));
    0x0002aa90 addiu a0, s5, 1               |             a0 = s5 + 1;
    0x0002aa94 addiu fp, zero, 1             |             fp = 1;
    0x0002aa98 jalr t9                       |             t9 ();
    0x0002aa9c move s1, v0                   |             s1 = v0;
    0x0002aaa0 lw gp, 0x28(sp)               |             gp = *(var_28h);
                                             |             if (v0 == 0) {
    0x0002aaa4 beqz v0, 0x2ac44              |                 goto label_105;
                                             |             }
    0x0002aaa8 lw t9, -0x7fb0(gp)            |             t9 = *((gp - 8172));
    0x0002aaac move a0, v0                   |             a0 = v0;
    0x0002aab0 move a1, s6                   |             a1 = s6;
    0x0002aab4 move a2, s5                   |             a2 = s5;
    0x0002aab8 bal 0x3b1a0                   |             sym_mempcpy ();
    0x0002aabc lw gp, 0x28(sp)               |             gp = *(var_28h);
    0x0002aac0 sb zero, (v0)                 |             *(v0) = 0;
                                             |             if (s2 == 0) {
    0x0002aac4 beqz s2, 0x2acc4              |                 goto label_106;
                                             |             }
    0x0002aac8 lw t9, -0x7668(gp)            |             t9 = *((gp - 7578));
    0x0002aacc move a0, s6                   |             a0 = s6;
                                             | label_100:
    0x0002aad0 move s6, s1                   |             s6 = s1;
    0x0002aad4 jalr t9                       |             t9 ();
    0x0002aad8 lw gp, 0x28(sp)               |             gp = *(var_28h);
    0x0002aadc b 0x2acc8                     |             goto label_107;
                                             |         }
    0x0002aae0 addiu s7, s7, 1               |         s7++;
    0x0002aae4 b 0x2aaf0                     |         goto label_108;
                                             | label_96:
    0x0002aae8 move s7, s6                   |         s7 = s6;
    0x0002aaec addiu fp, zero, 1             |         fp = 1;
                                             | label_108:
    0x0002aaf0 sltu v0, s5, s7               |         v0 = (s5 < s7) ? 1 : 0;
    0x0002aaf4 move a0, s0                   |         a0 = s0;
    0x0002aaf8 beqz v0, 0x2aa70              |         
                                             |     } while (v0 == 0);
    0x0002aafc lw t9, -0x7668(gp)            |     t9 = *((gp - 7578));
    0x0002ab00 b 0x2acd0                     |     goto label_89;
                                             |     if (s6 != 0) {
                                             | label_92:
    0x0002ab04 beqz s6, 0x2ab18              |         
    0x0002ab08 nop                           |         
    0x0002ab0c lbu v0, (s6)                  |         v0 = *(s6);
    0x0002ab10 lw t9, -0x7668(gp)            |         t9 = *((gp - 7578));
                                             |         if (v0 != 0) {
    0x0002ab14 bnez v0, 0x2acd0              |             goto label_89;
                                             |         }
                                             |     }
    0x0002ab18 lbu a0, (s0)                  |     a0 = *(s0);
                                             |     if (s5 != 0) {
    0x0002ab1c bnel s5, zero, 0x2ab2c        |         
    0x0002ab20 move fp, zero                 |         fp = 0;
                                             |         if (s6 != 0) {
    0x0002ab24 bnez s6, 0x2ac44              |             goto label_105;
                                             |         }
    0x0002ab28 lbu a0, (s0)                  |         a0 = *(s0);
                                             |     }
    0x0002ab2c lw v0, -0x7618(gp)            |     v0 = *((gp - 7558));
                                             |     if (a0 != 0) {
    0x0002ab30 beqz a0, 0x2ab58              |         
    0x0002ab34 lw a1, -0x7fa8(gp)            |         a1 = *((gp - 8170));
    0x0002ab38 lw t9, -0x7f58(gp)            |         t9 = *((gp - 8150));
    0x0002ab3c lw a0, (v0)                   |         a0 = *(v0);
    0x0002ab40 addiu a1, a1, -0x7194         |         a1 += -0x7194;
    0x0002ab44 move a2, s3                   |         a2 = s3;
    0x0002ab48 move a3, s0                   |         a3 = s0;
    0x0002ab4c bal 0x2f830                   |         sym_fprintf ()
    0x0002ab50 lw gp, 0x28(sp)               |         gp = *(var_28h);
    0x0002ab54 b 0x2ac40                     |         goto label_109;
                                             |     }
    0x0002ab58 lw a1, -0x7fa8(gp)            |     a1 = *((gp - 8170));
    0x0002ab5c lw t9, -0x7f58(gp)            |     t9 = *((gp - 8150));
    0x0002ab60 lw a0, (v0)                   |     a0 = *(v0);
    0x0002ab64 addiu a1, a1, -0x718c         |     a1 += -0x718c;
    0x0002ab68 move a2, s3                   |     a2 = s3;
    0x0002ab6c bal 0x2f830                   |     sym_fprintf ()
    0x0002ab70 addiu fp, zero, 3             |     fp = 3;
    0x0002ab74 lw gp, 0x28(sp)               |     gp = *(var_28h);
    0x0002ab78 b 0x2ac44                     |     goto label_105;
                                             |     if (s6 != 0) {
                                             | label_91:
    0x0002ab7c beqz s6, 0x2ab90              |         
    0x0002ab80 nop                           |         
    0x0002ab84 lbu v0, (s6)                  |         v0 = *(s6);
    0x0002ab88 lw t9, -0x7668(gp)            |         t9 = *((gp - 7578));
                                             |         if (v0 != 0) {
    0x0002ab8c bnez v0, 0x2acd0              |             goto label_89;
                                             |         }
                                             |     }
    0x0002ab90 lw t9, -0x7668(gp)            |     t9 = *((gp - 7578));
                                             |     if (s2 != 0) {
    0x0002ab94 beqz s2, 0x2aba4              |         
    0x0002ab98 move a0, s6                   |         a0 = s6;
    0x0002ab9c jalr t9                       |         t9 ();
    0x0002aba0 lw gp, 0x28(sp)               |         gp = *(var_28h);
                                             |     }
                                             |     if (s5 != 0) {
    0x0002aba4 bnez s5, 0x2abb4              |         goto label_3;
                                             |     }
    0x0002aba8 nop                           |     
    0x0002abac move fp, zero                 |     fp = 0;
                                             |     if (s6 != 0) {
    0x0002abb0 bnez s6, 0x2af3c              |         goto label_52;
                                             |     }
                                             |     do {
                                             | label_3:
    0x0002abb4 lw t9, -0x7fac(gp)            |         t9 = *((gp - 8171));
                                             |         if (s0 != 0) {
    0x0002abb8 bnez s0, 0x2ac00              |             goto label_110;
                                             |         }
    0x0002abbc addiu s2, zero, 1             |         s2 = 1;
    0x0002abc0 move s6, zero                 |         s6 = 0;
    0x0002abc4 move s0, zero                 |         s0 = 0;
    0x0002abc8 b 0x2accc                     |         goto label_69;
                                             | label_90:
    0x0002abcc move fp, zero                 |         fp = 0;
                                             |         if (s6 == 0) {
    0x0002abd0 beqz s6, 0x2ac44              |             goto label_105;
                                             |         }
    0x0002abd4 lbu v0, (s6)                  |         v0 = *(s6);
                                             |         if (v0 == 0) {
    0x0002abd8 bnez v0, 0x2abe8              |             
    0x0002abdc nop                           |             
                                             |             if (s5 != 0) {
    0x0002abe0 bnez s5, 0x2ac44              |                 goto label_105;
                                             |             }
    0x0002abe4 nop                           |             
                                             |         }
    0x0002abe8 lw t9, -0x7668(gp)            |         t9 = *((gp - 7578));
    0x0002abec beqz s2, 0x2abb4              |         
                                             |     } while (s2 == 0);
    0x0002abf0 move a0, s6                   |     a0 = s6;
    0x0002abf4 jalr t9                       |     t9 ();
    0x0002abf8 lw gp, 0x28(sp)               |     gp = *(var_28h);
    0x0002abfc b 0x2abb4                     |     goto label_3;
                                             | label_110:
    0x0002ac00 move a0, s0                   |     a0 = s0;
    0x0002ac04 bal 0x3c240                   |     sym_strdup ();
    0x0002ac08 move s6, v0                   |     s6 = v0;
    0x0002ac0c lw gp, 0x28(sp)               |     gp = *(var_28h);
                                             |     if (v0 == 0) {
    0x0002ac10 beqz v0, 0x2af24              |         goto label_53;
                                             |     }
    0x0002ac14 addiu s2, zero, 1             |     s2 = 1;
    0x0002ac18 b 0x2accc                     |     goto label_69;
                                             |     if (s6 != 0) {
                                             | label_87:
    0x0002ac1c beqz s6, 0x2ac30              |         
    0x0002ac20 nop                           |         
    0x0002ac24 lbu v0, (s6)                  |         v0 = *(s6);
    0x0002ac28 lw t9, -0x7668(gp)            |         t9 = *((gp - 7578));
                                             |         if (v0 != 0) {
    0x0002ac2c bnez v0, 0x2acd0              |             goto label_89;
                                             |         }
                                             |     }
                                             |     if (s5 == 0) {
    0x0002ac30 bnez s5, 0x2ac64              |         
    0x0002ac34 nop                           |         
                                             |         if (s6 == 0) {
    0x0002ac38 beqz s6, 0x2ac64              |             goto label_111;
                                             |         }
    0x0002ac3c nop                           |         
                                             | label_109:
    0x0002ac40 move fp, zero                 |         fp = 0;
                                             | label_105:
    0x0002ac44 lw t9, -0x7668(gp)            |         t9 = *((gp - 7578));
                                             |         if (s2 == 0) {
    0x0002ac48 beqz s2, 0x2af40              |             goto label_112;
                                             |         }
    0x0002ac4c move a0, s6                   |         a0 = s6;
                                             | label_85:
    0x0002ac50 lw t9, -0x7668(gp)            |         t9 = *((gp - 7578));
    0x0002ac54 jalr t9                       |         t9 ();
    0x0002ac58 nop                           |         
    0x0002ac5c lw gp, 0x28(sp)               |         gp = *(var_28h);
    0x0002ac60 b 0x2af3c                     |         goto label_52;
                                             |     }
                                             | label_111:
    0x0002ac64 lw t9, -0x7668(gp)            |     t9 = *((gp - 7578));
                                             |     if (s2 != 0) {
    0x0002ac68 beqz s2, 0x2ac78              |         
    0x0002ac6c move a0, s6                   |         a0 = s6;
    0x0002ac70 jalr t9                       |         t9 ();
    0x0002ac74 lw gp, 0x28(sp)               |         gp = *(var_28h);
                                             |     }
    0x0002ac78 lw t9, -0x7fac(gp)            |     t9 = *((gp - 8171));
                                             |     if (s0 != 0) {
    0x0002ac7c beqz s0, 0x2ac9c              |         
    0x0002ac80 move a0, s0                   |         a0 = s0;
    0x0002ac84 bal 0x3c240                   |         sym_strdup ();
    0x0002ac88 move s6, v0                   |         s6 = v0;
    0x0002ac8c lw gp, 0x28(sp)               |         gp = *(var_28h);
                                             |         if (v0 != 0) {
    0x0002ac90 bnez v0, 0x2aca0              |             goto label_113;
                                             |         }
    0x0002ac94 addiu fp, zero, 1             |         fp = 1;
    0x0002ac98 b 0x2af3c                     |         goto label_52;
                                             |     }
    0x0002ac9c move s6, zero                 |     s6 = 0;
                                             | label_113:
    0x0002aca0 lw t9, -0x7f54(gp)            |     t9 = *((gp - 8149));
    0x0002aca4 move a0, s3                   |     a0 = s3;
    0x0002aca8 move a1, s6                   |     a1 = s6;
    0x0002acac addiu a2, zero, 1             |     a2 = 1;
    0x0002acb0 jalr t9                       |     t9 ();
    0x0002acb4 lw gp, 0x28(sp)               |     gp = *(var_28h);
    0x0002acb8 b 0x2acc8                     |     goto label_107;
                                             | label_98:
    0x0002acbc lw t9, -0x7668(gp)            |     t9 = *((gp - 7578));
    0x0002acc0 b 0x2acd0                     |     goto label_89;
                                             | label_106:
    0x0002acc4 move s6, s1                   |     s6 = s1;
                                             | label_107:
    0x0002acc8 addiu s2, zero, 1             |     s2 = 1;
                                             | label_69:
    0x0002accc lw t9, -0x7668(gp)            |     t9 = *((gp - 7578));
                                             | label_89:
    0x0002acd0 move a0, s3                   |     a0 = s3;
    0x0002acd4 jalr t9                       |     t9 ();
    0x0002acd8 lw gp, 0x28(sp)               |     gp = *(var_28h);
    0x0002acdc lw t9, -0x7668(gp)            |     t9 = *((gp - 7578));
    0x0002ace0 move a0, s0                   |     a0 = s0;
    0x0002ace4 jalr t9                       |     t9 ();
    0x0002ace8 lw v1, 0x80(sp)               |     v1 = *(var_80h);
    0x0002acec lw gp, 0x28(sp)               |     gp = *(var_28h);
                                             |     if (v1 != 0) {
    0x0002acf0 beqz v1, 0x2ad4c              |         
    0x0002acf4 sb zero, 0x44(sp)             |         *(var_44h) = 0;
    0x0002acf8 lw s0, (s4)                   |         s0 = *(s4);
                                             |         if (s6 != 0) {
    0x0002acfc beqz s6, 0x2ad18              |             
    0x0002ad00 lw t9, -0x7fdc(gp)            |             t9 = *((gp - 8183));
    0x0002ad04 move a0, s6                   |             a0 = s6;
    0x0002ad08 bal 0x3b6b0                   |             sym_strlen ();
    0x0002ad0c move a2, v0                   |             a2 = v0;
    0x0002ad10 lw gp, 0x28(sp)               |             gp = *(var_28h);
    0x0002ad14 b 0x2ad1c                     |             
                                             |         } else {
    0x0002ad18 move a2, zero                 |             a2 = 0;
                                             |         }
    0x0002ad1c lw a1, -0x7fa8(gp)            |         a1 = *((gp - 8170));
    0x0002ad20 lw t9, -0x7f70(gp)            |         t9 = *((gp - 8156));
    0x0002ad24 move a3, zero                 |         a3 = 0;
    0x0002ad28 addiu a0, sp, 0x44            |         a0 = sp + 0x44;
    0x0002ad2c addiu a1, a1, -0x71a8         |         a1 += -0x71a8;
    0x0002ad30 bal 0x2f930                   |         sym_sprintf ();
    0x0002ad34 lw gp, 0x28(sp)               |         gp = *(var_28h);
    0x0002ad38 move a0, s0                   |         a0 = s0;
    0x0002ad3c lw a1, 0xbc(sp)               |         a1 = *(arg_bch);
    0x0002ad40 lw a2, 0xc0(sp)               |         a2 = *(arg_c0h);
    0x0002ad44 addiu a3, sp, 0x44            |         a3 = sp + 0x44;
    0x0002ad48 b 0x2ad74                     |         
                                             |     } else {
    0x0002ad4c lw t9, 0xdc(sp)               |         t9 = *(arg_dch);
                                             |         if (s6 == 0) {
    0x0002ad50 beqz s6, 0x2af64              |             goto label_24;
                                             |         }
    0x0002ad54 lw v1, 0xd0(sp)               |         v1 = *(arg_d0h);
                                             |         if (t9 == 0) {
    0x0002ad58 bnez t9, 0x2ad64              |             
    0x0002ad5c lw t9, -0x7fac(gp)            |             t9 = *((gp - 8171));
                                             |             if (v1 != 0) {
    0x0002ad60 bnez v1, 0x2ada8              |                 goto label_114;
                                             |             }
                                             |         }
    0x0002ad64 lw a0, (s4)                   |         a0 = *(s4);
    0x0002ad68 lw a1, 0xbc(sp)               |         a1 = *(arg_bch);
    0x0002ad6c lw a2, 0xc0(sp)               |         a2 = *(arg_c0h);
    0x0002ad70 move a3, s6                   |         a3 = s6;
                                             |     }
    0x0002ad74 lw t9, -0x7fb4(gp)            |     t9 = *((gp - 8173));
    0x0002ad78 addiu t9, t9, -0x79c8         |     t9 += -0x79c8;
    0x0002ad7c bal 0x28638                   |     fcn_00028638 ();
    0x0002ad80 nop                           |     
    0x0002ad84 sw v0, (s4)                   |     *(s4) = v0;
    0x0002ad88 lw gp, 0x28(sp)               |     gp = *(var_28h);
                                             |     if (s2 != 0) {
    0x0002ad8c beqz s2, 0x2ada0              |         
    0x0002ad90 move a0, s6                   |         a0 = s6;
                                             | label_61:
    0x0002ad94 lw t9, -0x7668(gp)            |         t9 = *((gp - 7578));
    0x0002ad98 jalr t9                       |         t9 ();
    0x0002ad9c nop                           |         
                                             |     }
    0x0002ada0 lw v0, (s4)                   |     v0 = *(s4);
    0x0002ada4 b 0x2a1fc                     |     goto label_4;
                                             | label_114:
    0x0002ada8 move a0, s6                   |     a0 = s6;
    0x0002adac bal 0x3c240                   |     sym_strdup ();
    0x0002adb0 move s0, v0                   |     s0 = v0;
    0x0002adb4 lw gp, 0x28(sp)               |     gp = *(var_28h);
                                             |     if (s2 != 0) {
    0x0002adb8 beqz s2, 0x2adcc              |         
    0x0002adbc lw t9, -0x7668(gp)            |         t9 = *((gp - 7578));
    0x0002adc0 move a0, s6                   |         a0 = s6;
    0x0002adc4 jalr t9                       |         t9 ();
    0x0002adc8 lw gp, 0x28(sp)               |         gp = *(var_28h);
                                             |     }
    0x0002adcc move s6, s0                   |     s6 = s0;
                                             |     if (s0 == 0) {
    0x0002add0 beqz s0, 0x2af30              |         goto label_30;
                                             |     }
    0x0002add4 move s3, zero                 |     s3 = 0;
    0x0002add8 lw fp, -0x7fb4(gp)            |     fp = *((gp - 8173));
    0x0002addc lw s2, -0x7f50(gp)            |     s2 = *((gp - 8148));
    0x0002ade0 lw s5, -0x7fb4(gp)            |     s5 = *((gp - 8173));
                                             |     do {
                                             | label_5:
    0x0002ade4 lw a0, 0xd0(sp)               |         a0 = *(arg_d0h);
                                             |         if (s6 != s0) {
    0x0002ade8 beq s6, s0, 0x2ae20           |             
    0x0002adec addiu t9, fp, -0x795c         |             t9 = fp + -0x795c;
    0x0002adf0 lw a1, (s4)                   |             a1 = *(s4);
    0x0002adf4 bal 0x286a4                   |             fcn_000286a4 ();
    0x0002adf8 addiu a0, zero, 1             |             a0 = 1;
    0x0002adfc lw gp, 0x28(sp)               |             gp = *(var_28h);
                                             |             if (v0 == a0) {
    0x0002ae00 bne v0, a0, 0x2ae0c           |                 
    0x0002ae04 lw t9, -0x7668(gp)            |                 t9 = *((gp - 7578));
    0x0002ae08 b 0x2aee4                     |                 goto label_115;
                                             |             }
    0x0002ae0c lw t9, 0xc0(sp)               |             t9 = *(arg_c0h);
    0x0002ae10 lw v1, 0xbc(sp)               |             v1 = *(arg_bch);
    0x0002ae14 sw zero, (t9)                 |             *(t9) = 0;
    0x0002ae18 sw zero, (v1)                 |             *(v1) = 0;
    0x0002ae1c sw zero, (s4)                 |             *(s4) = 0;
                                             |         }
    0x0002ae20 lw a1, 0xd8(sp)               |         a1 = *(s2);
    0x0002ae24 move t9, s2                   |         t9 = s2;
    0x0002ae28 move a0, s6                   |         a0 = s6;
    0x0002ae2c bal 0x3bbf0                   |         sym_strspn ();
    0x0002ae30 addu s1, s6, v0               |         s1 = s6 + v0;
    0x0002ae34 lw gp, 0x28(sp)               |         gp = *(var_28h);
                                             |         if (s3 == 0) {
    0x0002ae38 bnez s3, 0x2ae5c              |             
    0x0002ae3c lbu v0, (s1)                  |             v0 = *(s1);
    0x0002ae40 lw t9, -0x7f4c(gp)            |             t9 = *((gp - 8147));
                                             |             if (v0 != 0) {
    0x0002ae44 bnez v0, 0x2ae60              |                 goto label_116;
                                             |             }
                                             | label_68:
    0x0002ae48 lw t9, -0x7668(gp)            |             t9 = *((gp - 7578));
                                             | label_6:
    0x0002ae4c move a0, s0                   |             a0 = s0;
    0x0002ae50 jalr t9                       |             t9 ();
    0x0002ae54 move fp, zero                 |             fp = 0;
    0x0002ae58 b 0x2af94                     |             goto label_17;
                                             |         }
    0x0002ae5c lw t9, -0x7f4c(gp)            |         t9 = *((gp - 8147));
                                             | label_116:
    0x0002ae60 lw a1, 0xd4(sp)               |         a1 = *(arg_d4h);
    0x0002ae64 move a0, s1                   |         a0 = s1;
    0x0002ae68 move s3, zero                 |         s3 = 0;
    0x0002ae6c bal 0x3b630                   |         sym_strcspn ();
    0x0002ae70 lw a1, 0xd8(sp)               |         a1 = *(s2);
    0x0002ae74 addu s7, s1, v0               |         s7 = s1 + v0;
    0x0002ae78 move t9, s2                   |         t9 = s2;
    0x0002ae7c move a0, s7                   |         a0 = s7;
    0x0002ae80 bal 0x3bbf0                   |         sym_strspn ();
    0x0002ae84 addu s6, s7, v0               |         s6 = s7 + v0;
    0x0002ae88 lbu a1, (s6)                  |         a1 = *(s6);
    0x0002ae8c lw gp, 0x28(sp)               |         gp = *(var_28h);
                                             |         if (a1 != 0) {
    0x0002ae90 beqz a1, 0x2aeb0              |             
    0x0002ae94 lw t9, -0x7f90(gp)            |             t9 = *((gp - 8164));
    0x0002ae98 lw a0, 0xd4(sp)               |             a0 = *(arg_d4h);
    0x0002ae9c bal 0x3b3e0                   |             sym_index ();
                                             |             if (v0 == 0) {
    0x0002aea0 beql v0, zero, 0x2aeb4        |                 goto label_117;
                                             |             }
    0x0002aea4 sb zero, (s7)                 |             *(s7) = 0;
    0x0002aea8 addiu s6, s6, 1               |             s6++;
    0x0002aeac addiu s3, zero, 1             |             s3 = 1;
                                             |         }
    0x0002aeb0 sb zero, (s7)                 |         *(s7) = 0;
                                             | label_117:
    0x0002aeb4 lw a0, (s4)                   |         a0 = *(s4);
    0x0002aeb8 lw a1, 0xbc(sp)               |         a1 = *(arg_bch);
    0x0002aebc lw a2, 0xc0(sp)               |         a2 = *(arg_c0h);
    0x0002aec0 addiu t9, s5, -0x79c8         |         t9 = s5 + -0x79c8;
    0x0002aec4 move a3, s1                   |         a3 = s1;
    0x0002aec8 bal 0x28638                   |         fcn_00028638 ();
    0x0002aecc sw v0, (s4)                   |         *(s4) = v0;
    0x0002aed0 lw gp, 0x28(sp)               |         gp = *(var_28h);
                                             |         if (v0 == 0) {
    0x0002aed4 bnez v0, 0x2aef4              |             
    0x0002aed8 lbu v0, (s1)                  |             v0 = *(s1);
    0x0002aedc lw t9, -0x7668(gp)            |             t9 = *((gp - 7578));
                                             |             if (v0 == 0) {
    0x0002aee0 beqz v0, 0x2aef4              |                 goto label_118;
                                             |             }
                                             | label_115:
    0x0002aee4 move a0, s0                   |             a0 = s0;
    0x0002aee8 jalr t9                       |             t9 ();
    0x0002aeec lw gp, 0x28(sp)               |             gp = *(var_28h);
    0x0002aef0 b 0x2af30                     |             goto label_30;
                                             |         }
                                             | label_118:
    0x0002aef4 addiu s3, zero, 1             |         s3 = 1;
    0x0002aef8 bnez s3, 0x2ade4              |         
                                             |     } while (s3 != 0);
    0x0002aefc lbu v0, (s6)                  |     v0 = *(s6);
    0x0002af00 move s3, zero                 |     s3 = 0;
                                             |     if (v0 != 0) {
    0x0002af04 bnez v0, 0x2ade4              |         goto label_5;
                                             |     }
    0x0002af08 lw t9, -0x7668(gp)            |     t9 = *((gp - 7578));
    0x0002af0c b 0x2ae4c                     |     goto label_6;
                                             | label_44:
    0x0002af10 addiu fp, zero, 5             |     fp = 5;
                                             | label_40:
    0x0002af14 move s0, zero                 |     s0 = 0;
    0x0002af18 b 0x2af3c                     |     goto label_52;
                                             | label_51:
    0x0002af1c addiu fp, zero, 5             |     fp = 5;
    0x0002af20 b 0x2af3c                     |     goto label_52;
                                             | label_53:
    0x0002af24 addiu fp, zero, 1             |     fp = 1;
                                             | label_101:
    0x0002af28 lw t9, -0x7668(gp)            |     t9 = *((gp - 7578));
    0x0002af2c b 0x2af40                     |     goto label_112;
                                             | label_30:
    0x0002af30 addiu fp, zero, 1             |     fp = 1;
                                             | label_35:
    0x0002af34 move s0, zero                 |     s0 = 0;
    0x0002af38 move s3, zero                 |     s3 = 0;
                                             | label_52:
    0x0002af3c lw t9, -0x7668(gp)            |     t9 = *((gp - 7578));
                                             | label_112:
    0x0002af40 move a0, s3                   |     a0 = s3;
    0x0002af44 jalr t9                       |     t9 ();
    0x0002af48 lw gp, 0x28(sp)               |     gp = *(var_28h);
    0x0002af4c move a0, s0                   |     a0 = s0;
                                             | label_25:
    0x0002af50 lw t9, -0x7668(gp)            |     t9 = *((gp - 7578));
    0x0002af54 jalr t9                       |     t9 ();
    0x0002af58 nop                           |     
    0x0002af5c lw ra, 0xb4(sp)               |     ra = *(var_b4h);
    0x0002af60 b 0x2af98                     |     goto label_27;
                                             | label_24:
    0x0002af64 move fp, zero                 |     fp = 0;
    0x0002af68 b 0x2af94                     |     goto label_17;
                                             | label_15:
    0x0002af6c lw t9, 0xcc(sp)               |     t9 = *(arg_cch);
                                             |     if (v0 != a2) {
    0x0002af70 bne v0, a2, 0x29ad8           |         goto label_7;
                                             |     }
    0x0002af74 lw v1, 0xcc(sp)               |     v1 = *(arg_cch);
    0x0002af78 b 0x29ab4                     |     goto label_8;
                                             | label_70:
    0x0002af7c sw zero, 0x64(sp)             |     *(var_64h) = 0;
                                             | label_72:
    0x0002af80 sw zero, 0x68(sp)             |     *(var_68h) = 0;
    0x0002af84 sw zero, 0x6c(sp)             |     *(var_6ch) = 0;
    0x0002af88 move t0, s0                   |     t0 = s0;
    0x0002af8c move t1, zero                 |     t1 = 0;
    0x0002af90 b 0x2a840                     |     goto label_9;
                                             | label_17:
    0x0002af94 lw ra, 0xb4(sp)               |     ra = *(var_b4h);
                                             | label_27:
    0x0002af98 move v0, fp                   |     v0 = fp;
    0x0002af9c lw s7, 0xac(sp)               |     s7 = *(var_ach);
    0x0002afa0 lw fp, 0xb0(sp)               |     fp = *(var_b0h);
    0x0002afa4 lw s6, 0xa8(sp)               |     s6 = *(var_a8h);
    0x0002afa8 lw s5, 0xa4(sp)               |     s5 = *(var_a4h);
    0x0002afac lw s4, 0xa0(sp)               |     s4 = *(var_a0h);
    0x0002afb0 lw s3, 0x9c(sp)               |     s3 = *(var_9ch);
    0x0002afb4 lw s2, 0x98(sp)               |     s2 = *(var_98h);
    0x0002afb8 lw s1, 0x94(sp)               |     s1 = *(var_94h);
    0x0002afbc lw s0, 0x90(sp)               |     s0 = *(var_90h);
    0x0002afc0 addiu sp, sp, 0xb8            |     
    0x0002afc4 jr ra                         |     return v0;
                                             | }
    ; assembly                           | /* r2dec pseudo code output */
                                         | /* /logs/firmware/unblob_extracted/firmware_extract/11108416-13869836.lzma_extract/lzma.uncompressed_extract/3761304-11775640.cpio_portable_ascii_extract/lib/libuClibc-0.9.33.2.so @ 0x11d80 */
                                         | #include <stdint.h>
                                         |  
    ; (fcn) sym.__assert ()              | void assert () {
    0x00011d80 lui gp, 0xa               |     
    0x00011d84 addiu gp, gp, 0x3960      |     
    0x00011d88 addu gp, gp, t9           |     gp += t9;
    0x00011d8c lw v0, -0x7ecc(gp)        |     v0 = *((gp - 8115));
    0x00011d90 move v1, a1               |     v1 = a1;
    0x00011d94 addiu sp, sp, -0x30       |     
    0x00011d98 lw a1, -0x1e10(v0)        |     a1 = *(v0);
    0x00011d9c sw gp, 0x20(sp)           |     *(var_20h) = gp;
    0x00011da0 sw ra, 0x2c(sp)           |     *(var_2ch) = ra;
    0x00011da4 lw t9, -0x7f28(gp)        |     t9 = *((gp - 8138));
                                         |     if (a1 == 0) {
    0x00011da8 bnez a1, 0x11e00          |         
    0x00011dac addiu a1, zero, 1         |         a1 = 1;
    0x00011db0 sw a1, -0x1e10(v0)        |         *(v0) = a1;
    0x00011db4 lw v0, -0x7618(gp)        |         v0 = *((gp - 7558));
    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, 0x77b0      |             a3 += 0x77b0;
                                         |         }
    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, -0x7f58(gp)        |         t9 = *((gp - 8150));
    0x00011de0 sw a2, 0x10(sp)           |         *(var_10h) = a2;
    0x00011de4 sw a3, 0x14(sp)           |         *(var_14h) = a3;
    0x00011de8 addiu a1, a1, 0x77bc      |         a1 += 0x77bc;
    0x00011dec move a2, v0               |         a2 = v0;
    0x00011df0 move a3, v1               |         a3 = v1;
    0x00011df4 bal 0x2f830               |         sym_fprintf ()
    0x00011df8 lw gp, 0x20(sp)           |         gp = *(var_20h);
    0x00011dfc lw t9, -0x7f28(gp)        |         t9 = *((gp - 8138));
                                         |     }
    0x00011e00 jalr t9                   |     t9 ();
    0x00011e04 nop                       |     
    0x00011e08 nop                       |     
    0x00011e0c nop                       |     
                                         | }
    ; assembly                           | /* r2dec pseudo code output */
                                         | /* /logs/firmware/unblob_extracted/firmware_extract/11108416-13869836.lzma_extract/lzma.uncompressed_extract/3761304-11775640.cpio_portable_ascii_extract/lib/libuClibc-0.9.33.2.so @ 0x13360 */
                                         | #include <stdint.h>
                                         |  
    ; (fcn) sym.error ()                 | void error () {
    0x00013360 lui gp, 0xa               |     
    0x00013364 addiu gp, gp, 0x2380      |     
    0x00013368 addu gp, gp, t9           |     gp += t9;
    0x0001336c lw v0, -0x757c(gp)        |     v0 = *((gp - 7519));
    0x00013370 addiu sp, sp, -0x38       |     
    0x00013374 sw a3, 0x44(sp)           |     *(ap) = a3;
    0x00013378 lw t9, -0x7e40(gp)        |     t9 = *((gp - 8080));
    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, -0x75bc(gp)        |     v0 = *((gp - 7535));
    0x000133b0 lw t9, (v0)               |     t9 = *(v0);
    0x000133b4 lw v0, -0x7618(gp)        |     v0 = *((gp - 7558));
                                         |     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, -0x7fa8(gp)        |         a1 = *((gp - 8170));
    0x000133d0 lw t9, -0x7f58(gp)        |         t9 = *((gp - 8150));
    0x000133d4 lw a0, (v0)               |         a0 = *(v0);
    0x000133d8 lw v0, -0x7fd8(gp)        |         v0 = *((gp - 8182));
    0x000133dc addiu a1, a1, -0x7f00     |         a1 += -0x7f00;
    0x000133e0 lw a2, (v0)               |         a2 = *(v0);
    0x000133e4 bal 0x2f830               |         sym_fprintf ()
    0x000133e8 lw gp, 0x10(sp)           |         gp = *(var_10h_2);
                                         |     }
    0x000133ec lw s2, -0x7618(gp)        |     s2 = *((gp - 7558));
    0x000133f0 lw t9, -0x7e58(gp)        |     t9 = *((gp - 8086));
    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 0x33170               |     sym_vfprintf ()
    0x00013408 lw gp, 0x10(sp)           |     gp = *(var_10h_2);
    0x0001340c lw v0, -0x75b0(gp)        |     v0 = *((gp - 7532));
    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, -0x7e3c(gp)        |         t9 = *((gp - 8079));
    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, -0x7fa8(gp)        |         a1 = *((gp - 8170));
    0x00013440 lw t9, -0x7f58(gp)        |         t9 = *((gp - 8150));
    0x00013444 addiu a1, a1, -0x7ef8     |         a1 += -0x7ef8;
    0x00013448 bal 0x2f830               |         sym_fprintf ()
    0x0001344c lw gp, 0x10(sp)           |         gp = *(var_10h_2);
                                         |     }
    0x00013450 lw v0, -0x7618(gp)        |     v0 = *((gp - 7558));
    0x00013454 lw a1, (v0)               |     a1 = *(v0);
    0x00013458 lw v0, 0x48(a1)           |     v0 = *((a1 + 18));
    0x0001345c lw t9, -0x7e38(gp)        |     t9 = *((gp - 8078));
                                         |     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, -0x7e34(gp)        |         t9 = *((gp - 8077));
    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, -0x7e4c(gp)        |         t9 = *((gp - 8083));
    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/11108416-13869836.lzma_extract/lzma.uncompressed_extract/3761304-11775640.cpio_portable_ascii_extract/lib/libuClibc-0.9.33.2.so @ 0x134d0 */
                                         | #include <stdint.h>
                                         |  
    ; (fcn) sym.error_at_line ()         | void error_at_line () {
    0x000134d0 lui gp, 0xa               |     
    0x000134d4 addiu gp, gp, 0x2210      |     
    0x000134d8 addu gp, gp, t9           |     gp += t9;
    0x000134dc lw v0, -0x7640(gp)        |     v0 = *((gp - 7568));
    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, -0x7ecc(gp)        |         v0 = *((gp - 8115));
    0x00013520 lw s4, -0x7ecc(gp)        |         s4 = *((gp - 8115));
    0x00013524 lw v1, -0x1df8(v0)        |         v1 = *(v0);
    0x00013528 move s5, v0               |         s5 = v0;
                                         |         if (v1 == a3) {
    0x0001352c bne v1, a3, 0x1354c       |             
    0x00013530 lw a0, -0x1df4(s4)        |             a0 = *((s4 - 1917));
    0x00013534 lw t9, -0x7e94(gp)        |             t9 = *((gp - 8101));
                                         |             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, -0x1df4(s4)        |         *((s4 - 1917)) = s0;
    0x00013550 sw s1, -0x1df8(s5)        |         *(s5) = s1;
                                         |     }
    0x00013554 lw v0, -0x757c(gp)        |     v0 = *((gp - 7519));
    0x00013558 lw t9, -0x7e40(gp)        |     t9 = *((gp - 8080));
    0x0001355c lw a0, (v0)               |     a0 = *(v0);
    0x00013560 jalr t9                   |     t9 ();
    0x00013564 lw gp, 0x10(sp)           |     gp = *(var_10h);
    0x00013568 lw v0, -0x75bc(gp)        |     v0 = *((gp - 7535));
    0x0001356c lw t9, (v0)               |     t9 = *(v0);
    0x00013570 lw v0, -0x7618(gp)        |     v0 = *((gp - 7558));
                                         |     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, -0x7fa8(gp)        |         a1 = *((gp - 8170));
    0x0001358c lw t9, -0x7f58(gp)        |         t9 = *((gp - 8150));
    0x00013590 lw a0, (v0)               |         a0 = *(v0);
    0x00013594 lw v0, -0x7fd8(gp)        |         v0 = *((gp - 8182));
    0x00013598 addiu a1, a1, -0x7ef0     |         a1 += -0x7ef0;
    0x0001359c lw a2, (v0)               |         a2 = *(v0);
    0x000135a0 bal 0x2f830               |         sym_fprintf ()
    0x000135a4 lw gp, 0x10(sp)           |         gp = *(var_10h);
                                         |     }
    0x000135a8 lw v0, -0x7618(gp)        |     v0 = *((gp - 7558));
                                         |     if (s0 != 0) {
    0x000135ac beqz s0, 0x135d0          |         
    0x000135b0 lw a1, -0x7fa8(gp)        |         a1 = *((gp - 8170));
    0x000135b4 lw t9, -0x7f58(gp)        |         t9 = *((gp - 8150));
    0x000135b8 lw a0, (v0)               |         a0 = *(v0);
    0x000135bc addiu a1, a1, -0x7eec     |         a1 += -0x7eec;
    0x000135c0 move a2, s0               |         a2 = s0;
    0x000135c4 move a3, s1               |         a3 = s1;
    0x000135c8 bal 0x2f830               |         sym_fprintf ()
    0x000135cc lw gp, 0x10(sp)           |         gp = *(var_10h);
                                         |     }
    0x000135d0 lw s0, -0x7618(gp)        |     s0 = *((gp - 7558));
    0x000135d4 lw t9, -0x7e58(gp)        |     t9 = *((gp - 8086));
    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 0x33170               |     sym_vfprintf ()
    0x000135ec lw gp, 0x10(sp)           |     gp = *(var_10h);
    0x000135f0 lw v0, -0x75b0(gp)        |     v0 = *((gp - 7532));
    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, -0x7e3c(gp)        |         t9 = *((gp - 8079));
    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, -0x7fa8(gp)        |         a1 = *((gp - 8170));
    0x00013624 lw t9, -0x7f58(gp)        |         t9 = *((gp - 8150));
    0x00013628 addiu a1, a1, -0x7ef8     |         a1 += -0x7ef8;
    0x0001362c bal 0x2f830               |         sym_fprintf ()
    0x00013630 lw gp, 0x10(sp)           |         gp = *(var_10h);
                                         |     }
    0x00013634 lw v0, -0x7618(gp)        |     v0 = *((gp - 7558));
    0x00013638 lw a1, (v0)               |     a1 = *(v0);
    0x0001363c lw v0, 0x48(a1)           |     v0 = *((a1 + 18));
    0x00013640 lw t9, -0x7e38(gp)        |     t9 = *((gp - 8078));
                                         |     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, -0x7e34(gp)        |         t9 = *((gp - 8077));
    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, -0x7e4c(gp)        |         t9 = *((gp - 8083));
    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/11108416-13869836.lzma_extract/lzma.uncompressed_extract/3761304-11775640.cpio_portable_ascii_extract/lib/libuClibc-0.9.33.2.so @ 0x134d0 */
                                         | #include <stdint.h>
                                         |  
    ; (fcn) sym.error_at_line ()         | void error_at_line () {
    0x000134d0 lui gp, 0xa               |     
    0x000134d4 addiu gp, gp, 0x2210      |     
    0x000134d8 addu gp, gp, t9           |     gp += t9;
    0x000134dc lw v0, -0x7640(gp)        |     v0 = *((gp - 7568));
    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, -0x7ecc(gp)        |         v0 = *((gp - 8115));
    0x00013520 lw s4, -0x7ecc(gp)        |         s4 = *((gp - 8115));
    0x00013524 lw v1, -0x1df8(v0)        |         v1 = *(v0);
    0x00013528 move s5, v0               |         s5 = v0;
                                         |         if (v1 == a3) {
    0x0001352c bne v1, a3, 0x1354c       |             
    0x00013530 lw a0, -0x1df4(s4)        |             a0 = *((s4 - 1917));
    0x00013534 lw t9, -0x7e94(gp)        |             t9 = *((gp - 8101));
                                         |             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, -0x1df4(s4)        |         *((s4 - 1917)) = s0;
    0x00013550 sw s1, -0x1df8(s5)        |         *(s5) = s1;
                                         |     }
    0x00013554 lw v0, -0x757c(gp)        |     v0 = *((gp - 7519));
    0x00013558 lw t9, -0x7e40(gp)        |     t9 = *((gp - 8080));
    0x0001355c lw a0, (v0)               |     a0 = *(v0);
    0x00013560 jalr t9                   |     t9 ();
    0x00013564 lw gp, 0x10(sp)           |     gp = *(var_10h);
    0x00013568 lw v0, -0x75bc(gp)        |     v0 = *((gp - 7535));
    0x0001356c lw t9, (v0)               |     t9 = *(v0);
    0x00013570 lw v0, -0x7618(gp)        |     v0 = *((gp - 7558));
                                         |     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, -0x7fa8(gp)        |         a1 = *((gp - 8170));
    0x0001358c lw t9, -0x7f58(gp)        |         t9 = *((gp - 8150));
    0x00013590 lw a0, (v0)               |         a0 = *(v0);
    0x00013594 lw v0, -0x7fd8(gp)        |         v0 = *((gp - 8182));
    0x00013598 addiu a1, a1, -0x7ef0     |         a1 += -0x7ef0;
    0x0001359c lw a2, (v0)               |         a2 = *(v0);
    0x000135a0 bal 0x2f830               |         sym_fprintf ()
    0x000135a4 lw gp, 0x10(sp)           |         gp = *(var_10h);
                                         |     }
    0x000135a8 lw v0, -0x7618(gp)        |     v0 = *((gp - 7558));
                                         |     if (s0 != 0) {
    0x000135ac beqz s0, 0x135d0          |         
    0x000135b0 lw a1, -0x7fa8(gp)        |         a1 = *((gp - 8170));
    0x000135b4 lw t9, -0x7f58(gp)        |         t9 = *((gp - 8150));
    0x000135b8 lw a0, (v0)               |         a0 = *(v0);
    0x000135bc addiu a1, a1, -0x7eec     |         a1 += -0x7eec;
    0x000135c0 move a2, s0               |         a2 = s0;
    0x000135c4 move a3, s1               |         a3 = s1;
    0x000135c8 bal 0x2f830               |         sym_fprintf ()
    0x000135cc lw gp, 0x10(sp)           |         gp = *(var_10h);
                                         |     }
    0x000135d0 lw s0, -0x7618(gp)        |     s0 = *((gp - 7558));
    0x000135d4 lw t9, -0x7e58(gp)        |     t9 = *((gp - 8086));
    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 0x33170               |     sym_vfprintf ()
    0x000135ec lw gp, 0x10(sp)           |     gp = *(var_10h);
    0x000135f0 lw v0, -0x75b0(gp)        |     v0 = *((gp - 7532));
    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, -0x7e3c(gp)        |         t9 = *((gp - 8079));
    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, -0x7fa8(gp)        |         a1 = *((gp - 8170));
    0x00013624 lw t9, -0x7f58(gp)        |         t9 = *((gp - 8150));
    0x00013628 addiu a1, a1, -0x7ef8     |         a1 += -0x7ef8;
    0x0001362c bal 0x2f830               |         sym_fprintf ()
    0x00013630 lw gp, 0x10(sp)           |         gp = *(var_10h);
                                         |     }
    0x00013634 lw v0, -0x7618(gp)        |     v0 = *((gp - 7558));
    0x00013638 lw a1, (v0)               |     a1 = *(v0);
    0x0001363c lw v0, 0x48(a1)           |     v0 = *((a1 + 18));
    0x00013640 lw t9, -0x7e38(gp)        |     t9 = *((gp - 8078));
                                         |     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, -0x7e34(gp)        |         t9 = *((gp - 8077));
    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, -0x7e4c(gp)        |         t9 = *((gp - 8083));
    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/11108416-13869836.lzma_extract/lzma.uncompressed_extract/3761304-11775640.cpio_portable_ascii_extract/lib/libuClibc-0.9.33.2.so @ 0x4f470 */
                                             | #include <stdint.h>
                                             |  
    ; (fcn) sym.herror ()                    | void herror () {
    0x0004f470 lui gp, 6                     |     
    0x0004f474 addiu gp, gp, 0x6270          |     
    0x0004f478 addu gp, gp, t9               |     gp += t9;
    0x0004f47c addiu sp, sp, -0x28           |     
    0x0004f480 sw gp, 0x18(sp)               |     *(var_18h) = gp;
    0x0004f484 sw ra, 0x24(sp)               |     *(var_24h) = ra;
    0x0004f488 move a2, a0                   |     a2 = a0;
                                             |     if (a0 != 0) {
    0x0004f48c beqz a0, 0x4f4a8              |         
    0x0004f490 lbu v0, (a0)                  |         v0 = *(a0);
                                             |         if (v0 != 0) {
    0x0004f494 beql v0, zero, 0x4f4ac        |             
    0x0004f498 lw a3, -0x7fa8(gp)            |             a3 = *((gp - 8170));
    0x0004f49c lw a3, -0x7fa8(gp)            |             a3 = *((gp - 8170));
    0x0004f4a0 addiu a3, a3, -0x70c0         |             a3 += -0x70c0;
    0x0004f4a4 b 0x4f4b0                     |             
                                             |         } else {
    0x0004f4a8 lw a3, -0x7fa8(gp)            |             a3 = *((gp - 8170));
                                             |         }
    0x0004f4ac addiu a3, a3, -0x70be         |         a3 += -0x70be;
                                             |     }
    0x0004f4b0 rdhwr v1, 29                  |     __asm ("rdhwr v1, 29");
    0x0004f4b4 move v0, v1                   |     v0 = v1;
    0x0004f4b8 lw v1, -0x7570(gp)            |     v1 = *((gp - 7516));
    0x0004f4bc addu v0, v1, v0               |     v0 = v1 + v0;
    0x0004f4c0 lw v0, (v0)                   |     v0 = *(v0);
    0x0004f4c4 sltiu v1, v0, 5               |     v1 = (v0 < 5) ? 1 : 0;
    0x0004f4c8 lw v1, -0x7ecc(gp)            |     v1 = *((gp - 8115));
                                             |     if (v1 != 0) {
    0x0004f4cc beqz v1, 0x4f4e4              |         
    0x0004f4d0 sll v0, v0, 2                 |         v0 <<= 2;
    0x0004f4d4 addiu v1, v1, -0x2e78         |         v1 += -aav.0x00002e78;
    0x0004f4d8 addu v0, v0, v1               |         v0 += v1;
    0x0004f4dc lw v0, (v0)                   |         v0 = *(v0);
    0x0004f4e0 b 0x4f4ec                     |         
                                             |     } else {
    0x0004f4e4 lw v0, -0x7fa8(gp)            |         v0 = *((gp - 8170));
    0x0004f4e8 addiu v0, v0, -0x4d40         |         v0 += -0x4d40;
                                             |     }
    0x0004f4ec lw v1, -0x7618(gp)            |     v1 = *((gp - 7558));
    0x0004f4f0 lw a1, -0x7fa8(gp)            |     a1 = *((gp - 8170));
    0x0004f4f4 lw t9, -0x7f58(gp)            |     t9 = *((gp - 8150));
    0x0004f4f8 lw a0, (v1)                   |     a0 = *(v1);
    0x0004f4fc addiu a1, a1, -0x6d60         |     a1 += -0x6d60;
    0x0004f500 sw v0, 0x10(sp)               |     *(var_10h) = v0;
    0x0004f504 bal 0x2f830                   |     sym_fprintf ()
    0x0004f508 lw ra, 0x24(sp)               |     ra = *(var_24h);
    0x0004f50c addiu sp, sp, 0x28            |     
    0x0004f510 jr ra                         |     return v0;
                                             | }
    ; assembly                               | /* r2dec pseudo code output */
                                             | /* /logs/firmware/unblob_extracted/firmware_extract/11108416-13869836.lzma_extract/lzma.uncompressed_extract/3761304-11775640.cpio_portable_ascii_extract/lib/libuClibc-0.9.33.2.so @ 0x2ef60 */
                                             | #include <stdint.h>
                                             |  
    ; (fcn) sym.perror ()                    | void perror () {
    0x0002ef60 lui gp, 8                     |     
    0x0002ef64 addiu gp, gp, 0x6780          |     
    0x0002ef68 addu gp, gp, t9               |     gp += t9;
    0x0002ef6c move a2, a0                   |     a2 = a0;
                                             |     if (a0 != 0) {
    0x0002ef70 beqz a0, 0x2ef8c              |         
    0x0002ef74 lbu v0, (a0)                  |         v0 = *(a0);
                                             |         if (v0 != 0) {
    0x0002ef78 beql v0, zero, 0x2ef90        |             
    0x0002ef7c lw a3, -0x7fa8(gp)            |             a3 = *((gp - 8170));
    0x0002ef80 lw a3, -0x7fa8(gp)            |             a3 = *((gp - 8170));
    0x0002ef84 addiu a3, a3, -0x70c0         |             a3 += -0x70c0;
    0x0002ef88 b 0x2ef98                     |             
                                             |         } else {
    0x0002ef8c lw a3, -0x7fa8(gp)            |             a3 = *((gp - 8170));
                                             |         }
    0x0002ef90 addiu a3, a3, -0x70be         |         a3 += -0x70be;
    0x0002ef94 move a2, a3                   |         a2 = a3;
                                             |     }
    0x0002ef98 lw v0, -0x7618(gp)            |     v0 = *((gp - 7558));
    0x0002ef9c lw a1, -0x7fa8(gp)            |     a1 = *((gp - 8170));
    0x0002efa0 lw t9, -0x7f58(gp)            |     t9 = *((gp - 8150));
    0x0002efa4 lw a0, (v0)                   |     a0 = *(v0);
    0x0002efa8 addiu a1, a1, -0x70bc         |     a1 += -0x70bc;
    0x0002efac b 0x2f830                     |     return void (*0x2f830)() ();
                                             | }
    ; assembly                               | /* r2dec pseudo code output */
                                             | /* /logs/firmware/unblob_extracted/firmware_extract/11108416-13869836.lzma_extract/lzma.uncompressed_extract/3761304-11775640.cpio_portable_ascii_extract/lib/libuClibc-0.9.33.2.so @ 0x3c060 */
                                             | #include <stdint.h>
                                             |  
    ; (fcn) sym.psignal ()                   | void psignal () {
    0x0003c060 lui gp, 8                     |     
    0x0003c064 addiu gp, gp, -0x6980         |     
    0x0003c068 addu gp, gp, t9               |     gp += t9;
    0x0003c06c addiu sp, sp, -0x30           |     
    0x0003c070 sw gp, 0x18(sp)               |     *(var_18h) = gp;
    0x0003c074 sw ra, 0x2c(sp)               |     *(var_2ch) = ra;
    0x0003c078 sw s2, 0x28(sp)               |     *(var_28h) = s2;
    0x0003c07c sw s1, 0x24(sp)               |     *(var_24h) = s1;
    0x0003c080 sw s0, 0x20(sp)               |     *(var_20h) = s0;
                                             |     if (a1 != 0) {
    0x0003c084 beql a1, zero, 0x3c0a8        |         
    0x0003c088 lw s0, -0x7fa8(gp)            |         s0 = *((gp - 8170));
    0x0003c08c lbu v0, (a1)                  |         v0 = *(a1);
                                             |         if (v0 != 0) {
    0x0003c090 beql v0, zero, 0x3c0a8        |             
    0x0003c094 lw s0, -0x7fa8(gp)            |             s0 = *((gp - 8170));
    0x0003c098 lw s0, -0x7fa8(gp)            |             s0 = *((gp - 8170));
    0x0003c09c move s1, a1                   |             s1 = a1;
    0x0003c0a0 addiu s0, s0, -0x70c0         |             s0 += -0x70c0;
    0x0003c0a4 b 0x3c0b0                     |             
                                             |         }
                                             |     } else {
    0x0003c0a8 addiu s0, s0, -0x70be         |         s0 += -0x70be;
    0x0003c0ac move s1, s0                   |         s1 = s0;
                                             |     }
    0x0003c0b0 lw v0, -0x7618(gp)            |     v0 = *((gp - 7558));
    0x0003c0b4 lw t9, -0x7afc(gp)            |     t9 = *((gp - 7871));
    0x0003c0b8 lw s2, (v0)                   |     s2 = *(v0);
    0x0003c0bc bal 0x3c500                   |     sym_strsignal ();
    0x0003c0c0 lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x0003c0c4 move a0, s2                   |     a0 = s2;
    0x0003c0c8 move a2, s1                   |     a2 = s1;
    0x0003c0cc lw a1, -0x7fa8(gp)            |     a1 = *((gp - 8170));
    0x0003c0d0 lw t9, -0x7f58(gp)            |     t9 = *((gp - 8150));
    0x0003c0d4 move a3, s0                   |     a3 = s0;
    0x0003c0d8 sw v0, 0x10(sp)               |     *(var_10h) = v0;
    0x0003c0dc addiu a1, a1, -0x6d60         |     a1 += -0x6d60;
    0x0003c0e0 bal 0x2f830                   |     sym_fprintf ()
    0x0003c0e4 lw ra, 0x2c(sp)               |     ra = *(var_2ch);
    0x0003c0e8 lw s2, 0x28(sp)               |     s2 = *(var_28h);
    0x0003c0ec lw s1, 0x24(sp)               |     s1 = *(var_24h);
    0x0003c0f0 lw s0, 0x20(sp)               |     s0 = *(var_20h);
    0x0003c0f4 addiu sp, sp, 0x30            |     
    0x0003c0f8 jr ra                         |     return v0;
                                             | }
    ; assembly                               | /* r2dec pseudo code output */
                                             | /* /logs/firmware/unblob_extracted/firmware_extract/11108416-13869836.lzma_extract/lzma.uncompressed_extract/3761304-11775640.cpio_portable_ascii_extract/lib/libuClibc-0.9.33.2.so @ 0x2d880 */
                                             | #include <stdint.h>
                                             |  
    ; (fcn) sym.putgrent ()                  | void putgrent () {
    0x0002d880 lui gp, 8                     |     
    0x0002d884 addiu gp, gp, 0x7e60          |     
    0x0002d888 addu gp, gp, t9               |     gp += t9;
    0x0002d88c addiu sp, sp, -0x38           |     
    0x0002d890 sw gp, 0x18(sp)               |     *(var_18h) = gp;
    0x0002d894 sw ra, 0x34(sp)               |     *(var_34h) = ra;
    0x0002d898 sw s4, 0x30(sp)               |     *(var_30h) = s4;
    0x0002d89c sw s3, 0x2c(sp)               |     *(var_2ch) = s3;
    0x0002d8a0 sw s2, 0x28(sp)               |     *(var_28h) = s2;
    0x0002d8a4 sw s1, 0x24(sp)               |     *(var_24h) = s1;
    0x0002d8a8 sw s0, 0x20(sp)               |     *(var_20h) = s0;
                                             |     if (a0 != 0) {
    0x0002d8ac beqz a0, 0x2d8b8              |         
    0x0002d8b0 lw s1, 0x48(a1)               |         s1 = *((a1 + 18));
                                             |         if (a1 == 0) {
    0x0002d8b4 bnel a1, zero, 0x2d8d8        |             goto label_0;
                                             |         }
                                             |     }
    0x0002d8b8 rdhwr v1, 29                  |     __asm ("rdhwr v1, 29");
    0x0002d8bc move v0, v1                   |     v0 = v1;
    0x0002d8c0 lw v1, -0x7564(gp)            |     v1 = *((gp - 7513));
    0x0002d8c4 addiu s2, zero, -1            |     s2 = -1;
    0x0002d8c8 addu v0, v1, v0               |     v0 = v1 + v0;
    0x0002d8cc addiu v1, zero, 0x16          |     v1 = 0x16;
    0x0002d8d0 sw v1, (v0)                   |     *(v0) = v1;
    0x0002d8d4 b 0x2da28                     |     goto label_1;
                                             | label_0:
    0x0002d8d8 move s2, a0                   |     s2 = a0;
    0x0002d8dc move s0, a1                   |     s0 = a1;
                                             |     if (s1 != 0) {
    0x0002d8e0 bnez s1, 0x2d944              |         goto label_2;
                                             |     }
    0x0002d8e4 rdhwr v1, 29                  |     __asm ("rdhwr v1, 29");
    0x0002d8e8 lw v0, 0x54(a1)               |     v0 = *((a1 + 21));
    0x0002d8ec addiu s3, v1, -0x7460         |     s3 = v1 + -0x7460;
    0x0002d8f0 addiu a0, a1, 0x4c            |     a0 = a1 + 0x4c;
                                             |     if (v0 == s3) {
    0x0002d8f4 beq v0, s3, 0x2d938           |         goto label_3;
                                             |     }
    0x0002d8f8 addiu v0, zero, 1             |     v0 = 1;
                                             |     do {
    0x0002d8fc ll a1, 0x4c(s0)               |         __asm ("ll a1, 0x4c(s0)");
    0x0002d900 move v1, zero                 |         v1 = 0;
                                             |         if (a1 != s1) {
    0x0002d904 bne a1, s1, 0x2d91c           |             goto label_4;
                                             |         }
    0x0002d908 move v1, v0                   |         v1 = v0;
    0x0002d90c sc v1, 0x4c(s0)               |         __asm ("sc v1, 0x4c(s0)");
    0x0002d910 beqz v1, 0x2d8fc              |         
                                             |     } while (v1 == 0);
    0x0002d914 nop                           |     
    0x0002d918 sync                          |     __asm ("sync");
                                             | label_4:
    0x0002d91c sw s3, 0x54(s0)               |     *((s0 + 21)) = s3;
                                             |     if (v1 != 0) {
    0x0002d920 bnel v1, zero, 0x2d938        |         
    0x0002d924 lw t9, -0x7e5c(gp)            |         t9 = *((gp - 8087));
    0x0002d928 jalr t9                       |         t9 ();
    0x0002d92c nop                           |         
    0x0002d930 lw gp, 0x18(sp)               |         gp = *(var_18h);
    0x0002d934 sw s3, 0x54(s0)               |         *((s0 + 21)) = s3;
                                             |     }
                                             | label_3:
    0x0002d938 lw v0, 0x50(s0)               |     v0 = *((s0 + 20));
    0x0002d93c addiu v0, v0, 1               |     v0++;
    0x0002d940 sw v0, 0x50(s0)               |     *((s0 + 20)) = v0;
                                             | label_2:
    0x0002d944 lw a1, -0x7fa8(gp)            |     a1 = *((gp - 8170));
    0x0002d948 lw s3, -0x7f58(gp)            |     s3 = *((gp - 8150));
    0x0002d94c lw v0, 8(s2)                  |     v0 = *((s2 + 2));
    0x0002d950 lw a2, (s2)                   |     a2 = *(s2);
    0x0002d954 lw a3, 4(s2)                  |     a3 = *((s2 + 1));
    0x0002d958 move a0, s0                   |     a0 = s0;
    0x0002d95c sw v0, 0x10(sp)               |     *(var_10h) = v0;
    0x0002d960 move t9, s3                   |     t9 = s3;
    0x0002d964 addiu a1, a1, -0x70f0         |     a1 += -0x70f0;
    0x0002d968 bal 0x2f830                   |     sym_fprintf ()
    0x0002d96c lw gp, 0x18(sp)               |     gp = *(var_18h);
                                             |     if (v0 < 0) {
    0x0002d970 bltz v0, 0x2d9cc              |         goto label_5;
                                             |     }
    0x0002d974 lw a1, -0x7fa8(gp)            |     a1 = *((gp - 8170));
    0x0002d978 lw s2, 0xc(s2)                |     s2 = *((s2 + 3));
    0x0002d97c lw s4, -0x7fa8(gp)            |     s4 = *((gp - 8170));
    0x0002d980 addiu a1, a1, -0x70e3         |     a1 += -0x70e3;
                                             |     do {
    0x0002d984 lw a2, (s2)                   |         a2 = *(s2);
    0x0002d988 move t9, s3                   |         t9 = s3;
                                             |         if (a2 == 0) {
    0x0002d98c bnez a2, 0x2d9b0              |             
    0x0002d990 lw t9, -0x7e34(gp)            |             t9 = *((gp - 8077));
    0x0002d994 addiu a0, zero, 0xa           |             a0 = 0xa;
    0x0002d998 move a1, s0                   |             a1 = s0;
    0x0002d99c bal 0x39eb0                   |             sym_putc_unlocked ();
    0x0002d9a0 move s2, zero                 |             s2 = 0;
                                             |             if (v0 >= 0) {
    0x0002d9a4 bgez v0, 0x2d9d0              |                 goto label_6;
                                             |             }
    0x0002d9a8 addiu s2, zero, -1            |             s2 = -1;
    0x0002d9ac b 0x2d9d0                     |             goto label_6;
                                             |         }
    0x0002d9b0 move a0, s0                   |         a0 = s0;
    0x0002d9b4 bal 0x2f830                   |         sym_fprintf ()
    0x0002d9b8 lw gp, 0x18(sp)               |         gp = *(var_18h);
                                             |         if (v0 < 0) {
    0x0002d9bc bltz v0, 0x2d9cc              |             goto label_5;
                                             |         }
    0x0002d9c0 addiu s2, s2, 4               |         s2 += 4;
    0x0002d9c4 addiu a1, s4, -0x70e4         |         a1 = s4 + -0x70e4;
    0x0002d9c8 b 0x2d984                     |         
                                             |     } while (1);
                                             | label_5:
    0x0002d9cc addiu s2, zero, -1            |     s2 = -1;
                                             | label_6:
    0x0002d9d0 lw ra, 0x34(sp)               |     ra = *(var_34h);
                                             |     if (s1 != 0) {
    0x0002d9d4 bnez s1, 0x2da2c              |         goto label_7;
                                             |     }
    0x0002d9d8 lw v0, 0x50(s0)               |     v0 = *((s0 + 20));
    0x0002d9dc addiu v0, v0, -1              |     v0 += -1;
    0x0002d9e0 sw v0, 0x50(s0)               |     *((s0 + 20)) = v0;
                                             |     if (v0 != 0) {
    0x0002d9e4 bnez v0, 0x2da28              |         goto label_1;
                                             |     }
    0x0002d9e8 sw zero, 0x54(s0)             |     *((s0 + 21)) = 0;
    0x0002d9ec addiu a0, s0, 0x4c            |     a0 = s0 + 0x4c;
    0x0002d9f0 sync                          |     __asm ("sync");
                                             |     do {
    0x0002d9f4 ll v0, 0x4c(s0)               |         __asm ("ll v0, 0x4c(s0)");
    0x0002d9f8 move v1, s1                   |         v1 = s1;
    0x0002d9fc sc v1, 0x4c(s0)               |         __asm ("sc v1, 0x4c(s0)");
    0x0002da00 beqz v1, 0x2d9f4              |         
                                             |     } while (v1 == 0);
    0x0002da04 nop                           |     
    0x0002da08 slti v0, v0, 2                |     v0 = (v0 < 2) ? 1 : 0;
    0x0002da0c lw ra, 0x34(sp)               |     ra = *(var_34h);
                                             |     if (v0 == 0) {
    0x0002da10 bnez v0, 0x2da2c              |         
    0x0002da14 addiu a1, zero, 0x81          |         a1 = 0x81;
    0x0002da18 addiu a2, zero, 1             |         a2 = 1;
    0x0002da1c move a3, zero                 |         a3 = 0;
    0x0002da20 addiu v0, zero, 0x108e        |         v0 = 0x108e;
    0x0002da24 syscall                       |         __asm ("syscall");
                                             | label_1:
    0x0002da28 lw ra, 0x34(sp)               |         ra = *(var_34h);
                                             |     }
                                             | label_7:
    0x0002da2c move v0, s2                   |     v0 = s2;
    0x0002da30 lw s4, 0x30(sp)               |     s4 = *(var_30h);
    0x0002da34 lw s3, 0x2c(sp)               |     s3 = *(var_2ch);
    0x0002da38 lw s2, 0x28(sp)               |     s2 = *(var_28h);
    0x0002da3c lw s1, 0x24(sp)               |     s1 = *(var_24h);
    0x0002da40 lw s0, 0x20(sp)               |     s0 = *(var_20h);
    0x0002da44 addiu sp, sp, 0x38            |     
    0x0002da48 jr ra                         |     return v0;
                                             | }
    ; assembly                               | /* r2dec pseudo code output */
                                             | /* /logs/firmware/unblob_extracted/firmware_extract/11108416-13869836.lzma_extract/lzma.uncompressed_extract/3761304-11775640.cpio_portable_ascii_extract/lib/libuClibc-0.9.33.2.so @ 0x2da50 */
                                             | #include <stdint.h>
                                             |  
    ; (fcn) sym.putpwent ()                  | void putpwent () {
    0x0002da50 lui gp, 8                     |     
    0x0002da54 addiu gp, gp, 0x7c90          |     
    0x0002da58 addu gp, gp, t9               |     gp += t9;
    0x0002da5c addiu sp, sp, -0x38           |     
    0x0002da60 sw gp, 0x28(sp)               |     *(var_28h) = gp;
    0x0002da64 sw ra, 0x34(sp)               |     *(var_34h) = ra;
    0x0002da68 move v0, a0                   |     v0 = a0;
                                             |     if (a0 != 0) {
    0x0002da6c beqz a0, 0x2da78              |         
    0x0002da70 lw v1, 8(v0)                  |         v1 = *((v0 + 2));
                                             |         if (a1 == 0) {
    0x0002da74 bnel a1, zero, 0x2da98        |             goto label_0;
                                             |         }
                                             |     }
    0x0002da78 rdhwr v1, 29                  |     __asm ("rdhwr v1, 29");
    0x0002da7c move v0, v1                   |     v0 = v1;
    0x0002da80 lw v1, -0x7564(gp)            |     v1 = *((gp - 7513));
    0x0002da84 addu v0, v1, v0               |     v0 = v1 + v0;
    0x0002da88 addiu v1, zero, 0x16          |     v1 = 0x16;
    0x0002da8c sw v1, (v0)                   |     *(v0) = v1;
    0x0002da90 addiu v1, zero, -1            |     v1 = -1;
    0x0002da94 b 0x2dae4                     |     goto label_1;
                                             | label_0:
    0x0002da98 lw a2, (v0)                   |     a2 = *(v0);
    0x0002da9c lw a3, 4(v0)                  |     a3 = *((v0 + 1));
    0x0002daa0 sw v1, 0x10(sp)               |     *(var_10h) = v1;
    0x0002daa4 lw v1, 0xc(v0)                |     v1 = *((v0 + 3));
    0x0002daa8 move a0, a1                   |     a0 = a1;
    0x0002daac lw a1, -0x7fa8(gp)            |     a1 = *((gp - 8170));
    0x0002dab0 sw v1, 0x14(sp)               |     *(var_14h) = v1;
    0x0002dab4 lw v1, 0x10(v0)               |     v1 = *((v0 + 4));
    0x0002dab8 lw t9, -0x7f58(gp)            |     t9 = *((gp - 8150));
    0x0002dabc addiu a1, a1, -0x7150         |     a1 += -0x7150;
    0x0002dac0 sw v1, 0x18(sp)               |     *(var_18h) = v1;
    0x0002dac4 lw v1, 0x14(v0)               |     v1 = *((v0 + 5));
    0x0002dac8 sw v1, 0x1c(sp)               |     *(var_1ch) = v1;
    0x0002dacc lw v0, 0x18(v0)               |     v0 = *((v0 + 6));
    0x0002dad0 sw v0, 0x20(sp)               |     *(var_20h) = v0;
    0x0002dad4 bal 0x2f830                   |     sym_fprintf ()
    0x0002dad8 slti v0, v0, 0                |     v0 = (v0 < 0) ? 1 : 0;
    0x0002dadc addiu v1, zero, -1            |     v1 = -1;
                                             |     if (v0 != 0) {
    0x0002dae0 movz v1, zero, v0             |         v1 = 0;
                                             |     }
                                             | label_1:
    0x0002dae4 lw ra, 0x34(sp)               |     ra = *(var_34h);
    0x0002dae8 move v0, v1                   |     v0 = v1;
    0x0002daec addiu sp, sp, 0x38            |     
    0x0002daf0 jr ra                         |     return v0;
                                             | }
    ; assembly                               | /* r2dec pseudo code output */
                                             | /* /logs/firmware/unblob_extracted/firmware_extract/11108416-13869836.lzma_extract/lzma.uncompressed_extract/3761304-11775640.cpio_portable_ascii_extract/lib/libuClibc-0.9.33.2.so @ 0x2db00 */
                                             | #include <stdint.h>
                                             |  
    ; (fcn) sym.putspent ()                  | void putspent () {
    0x0002db00 lui gp, 8                     |     
    0x0002db04 addiu gp, gp, 0x7be0          |     
    0x0002db08 addu gp, gp, t9               |     gp += t9;
    0x0002db0c addiu sp, sp, -0x40           |     
    0x0002db10 sw s1, 0x1c(sp)               |     *(var_1ch) = s1;
    0x0002db14 lw s1, 0x48(a1)               |     s1 = *((a1 + 18));
    0x0002db18 sw gp, 0x10(sp)               |     *(var_10h) = gp;
    0x0002db1c sw s2, 0x20(sp)               |     *(var_20h) = s2;
    0x0002db20 sw s0, 0x18(sp)               |     *(var_18h) = s0;
    0x0002db24 sw ra, 0x3c(sp)               |     *(var_3ch) = ra;
    0x0002db28 sw fp, 0x38(sp)               |     *(var_38h) = fp;
    0x0002db2c sw s7, 0x34(sp)               |     *(var_34h) = s7;
    0x0002db30 sw s6, 0x30(sp)               |     *(var_30h) = s6;
    0x0002db34 sw s5, 0x2c(sp)               |     *(var_2ch) = s5;
    0x0002db38 sw s4, 0x28(sp)               |     *(var_28h) = s4;
    0x0002db3c sw s3, 0x24(sp)               |     *(var_24h) = s3;
    0x0002db40 move s2, a0                   |     s2 = a0;
    0x0002db44 move s0, a1                   |     s0 = a1;
                                             |     if (s1 != 0) {
    0x0002db48 bnez s1, 0x2dbac              |         goto label_1;
                                             |     }
    0x0002db4c rdhwr v1, 29                  |     __asm ("rdhwr v1, 29");
    0x0002db50 lw v0, 0x54(a1)               |     v0 = *((a1 + 21));
    0x0002db54 addiu s3, v1, -0x7460         |     s3 = v1 + -0x7460;
    0x0002db58 addiu a0, a1, 0x4c            |     a0 = a1 + 0x4c;
                                             |     if (v0 == s3) {
    0x0002db5c beq v0, s3, 0x2dba0           |         goto label_2;
                                             |     }
    0x0002db60 addiu v0, zero, 1             |     v0 = 1;
                                             |     do {
    0x0002db64 ll a1, 0x4c(s0)               |         __asm ("ll a1, 0x4c(s0)");
    0x0002db68 move v1, zero                 |         v1 = 0;
                                             |         if (a1 != s1) {
    0x0002db6c bne a1, s1, 0x2db84           |             goto label_3;
                                             |         }
    0x0002db70 move v1, v0                   |         v1 = v0;
    0x0002db74 sc v1, 0x4c(s0)               |         __asm ("sc v1, 0x4c(s0)");
    0x0002db78 beqz v1, 0x2db64              |         
                                             |     } while (v1 == 0);
    0x0002db7c nop                           |     
    0x0002db80 sync                          |     __asm ("sync");
                                             | label_3:
    0x0002db84 sw s3, 0x54(s0)               |     *((s0 + 21)) = s3;
                                             |     if (v1 != 0) {
    0x0002db88 bnel v1, zero, 0x2dba0        |         
    0x0002db8c lw t9, -0x7e5c(gp)            |         t9 = *((gp - 8087));
    0x0002db90 jalr t9                       |         t9 ();
    0x0002db94 nop                           |         
    0x0002db98 lw gp, 0x10(sp)               |         gp = *(var_10h);
    0x0002db9c sw s3, 0x54(s0)               |         *((s0 + 21)) = s3;
                                             |     }
                                             | label_2:
    0x0002dba0 lw v0, 0x50(s0)               |     v0 = *((s0 + 20));
    0x0002dba4 addiu v0, v0, 1               |     v0++;
    0x0002dba8 sw v0, 0x50(s0)               |     *((s0 + 20)) = v0;
                                             | label_1:
    0x0002dbac lw a3, 4(s2)                  |     a3 = *((s2 + 1));
    0x0002dbb0 lw a2, (s2)                   |     a2 = *(s2);
                                             |     if (a3 == 0) {
    0x0002dbb4 bnez a3, 0x2dbc0              |         
    0x0002dbb8 lw a3, -0x7fa8(gp)            |         a3 = *((gp - 8170));
    0x0002dbbc addiu a3, a3, -0x5200         |         a3 += -0x5200;
                                             |     }
    0x0002dbc0 lw a1, -0x7fa8(gp)            |     a1 = *((gp - 8170));
    0x0002dbc4 lw s4, -0x7f58(gp)            |     s4 = *((gp - 8150));
    0x0002dbc8 move a0, s0                   |     a0 = s0;
    0x0002dbcc move t9, s4                   |     t9 = s4;
    0x0002dbd0 addiu a1, a1, -0x70e0         |     a1 += -0x70e0;
    0x0002dbd4 bal 0x2f830                   |     sym_fprintf ()
    0x0002dbd8 move s3, zero                 |     s3 = 0;
    0x0002dbdc lw gp, 0x10(sp)               |     gp = *(var_10h);
    0x0002dbe0 bgez v0, 0x2dbec              |     
                                             |     while (v0 < 0) {
    0x0002dbe4 addiu s2, zero, -1            |         s2 = -1;
    0x0002dbe8 b 0x2dc94                     |         goto label_4;
    0x0002dbec lw s5, -0x7fa8(gp)            |         s5 = *((gp - 8170));
    0x0002dbf0 lw s7, -0x7fa8(gp)            |         s7 = *((gp - 8170));
    0x0002dbf4 lw fp, -0x7fa8(gp)            |         fp = *((gp - 8170));
    0x0002dbf8 addiu s5, s5, -0x70d0         |         s5 += -0x70d0;
    0x0002dbfc addiu s6, zero, -1            |         s6 = -1;
    0x0002dc00 addu v0, s3, s5               |         v0 = s3 + s5;
                                             | label_0:
    0x0002dc04 lbu v0, (v0)                  |         v0 = *(v0);
    0x0002dc08 addiu a1, s7, -0x70d8         |         a1 = s7 + -0x70d8;
    0x0002dc0c move a0, s0                   |         a0 = s0;
    0x0002dc10 addu v0, s2, v0               |         v0 = s2 + v0;
    0x0002dc14 lw a2, (v0)                   |         a2 = *(v0);
    0x0002dc18 addiu v0, fp, -0x70d5         |         v0 = fp + -0x70d5;
    0x0002dc1c move t9, s4                   |         t9 = s4;
    0x0002dc20 xor v1, a2, s6                |         v1 = a2 ^ s6;
                                             |         if (v1 != 0) {
    0x0002dc24 movz a1, v0, v1               |             a1 = v0;
                                             |         }
    0x0002dc28 bal 0x2f830                   |         sym_fprintf ()
    0x0002dc2c lw gp, 0x10(sp)               |         gp = *(var_10h);
    0x0002dc30 bltz v0, 0x2dbe4              |         
                                             |     }
    0x0002dc34 addiu s3, s3, 1               |     s3++;
    0x0002dc38 addiu v0, zero, 6             |     v0 = 6;
    0x0002dc3c addu v0, s3, s5               |     v0 = s3 + s5;
                                             |     if (s3 != v0) {
    0x0002dc40 bne s3, v0, 0x2dc04           |         goto label_0;
                                             |     }
    0x0002dc44 lw a2, 0x20(s2)               |     a2 = *((s2 + 8));
    0x0002dc48 addiu v0, zero, -1            |     v0 = -1;
    0x0002dc4c lw a1, -0x7fa8(gp)            |     a1 = *((gp - 8170));
    0x0002dc50 bne a2, v0, 0x2dc74           |     
                                             |     while (v0 >= 0) {
    0x0002dc54 lw t9, -0x7e34(gp)            |         t9 = *((gp - 8077));
    0x0002dc58 addiu a0, zero, 0xa           |         a0 = 0xa;
    0x0002dc5c move a1, s0                   |         a1 = s0;
    0x0002dc60 bal 0x39eb0                   |         sym_putc_unlocked ();
    0x0002dc64 move s2, zero                 |         s2 = 0;
                                             |         if (v0 > 0) {
    0x0002dc68 bgtz v0, 0x2dc94              |             goto label_4;
                                             |         }
    0x0002dc6c addiu s2, zero, -1            |         s2 = -1;
    0x0002dc70 b 0x2dc94                     |         goto label_4;
    0x0002dc74 lw t9, -0x7f58(gp)            |         t9 = *((gp - 8150));
    0x0002dc78 move a0, s0                   |         a0 = s0;
    0x0002dc7c addiu a1, a1, -0x5cc0         |         a1 += -0x5cc0;
    0x0002dc80 bal 0x2f830                   |         sym_fprintf ()
    0x0002dc84 lw gp, 0x10(sp)               |         gp = *(var_10h);
    0x0002dc88 bgez v0, 0x2dc54              |         
                                             |     }
    0x0002dc8c addiu s2, zero, -1            |     s2 = -1;
    0x0002dc90 b 0x2dc94                     |     
                                             | label_4:
    0x0002dc94 lw ra, 0x3c(sp)               |     ra = *(var_3ch);
                                             |     if (s1 != 0) {
    0x0002dc98 bnez s1, 0x2dcf0              |         goto label_5;
                                             |     }
    0x0002dc9c lw v0, 0x50(s0)               |     v0 = *((s0 + 20));
    0x0002dca0 addiu v0, v0, -1              |     v0 += -1;
    0x0002dca4 sw v0, 0x50(s0)               |     *((s0 + 20)) = v0;
                                             |     if (v0 != 0) {
    0x0002dca8 bnez v0, 0x2dcec              |         goto label_6;
                                             |     }
    0x0002dcac sw zero, 0x54(s0)             |     *((s0 + 21)) = 0;
    0x0002dcb0 addiu a0, s0, 0x4c            |     a0 = s0 + 0x4c;
    0x0002dcb4 sync                          |     __asm ("sync");
                                             |     do {
    0x0002dcb8 ll v0, 0x4c(s0)               |         __asm ("ll v0, 0x4c(s0)");
    0x0002dcbc move v1, s1                   |         v1 = s1;
    0x0002dcc0 sc v1, 0x4c(s0)               |         __asm ("sc v1, 0x4c(s0)");
    0x0002dcc4 beqz v1, 0x2dcb8              |         
                                             |     } while (v1 == 0);
    0x0002dcc8 nop                           |     
    0x0002dccc slti v0, v0, 2                |     v0 = (v0 < 2) ? 1 : 0;
    0x0002dcd0 lw ra, 0x3c(sp)               |     ra = *(var_3ch);
                                             |     if (v0 == 0) {
    0x0002dcd4 bnez v0, 0x2dcf0              |         
    0x0002dcd8 addiu a1, zero, 0x81          |         a1 = 0x81;
    0x0002dcdc addiu a2, zero, 1             |         a2 = 1;
    0x0002dce0 move a3, zero                 |         a3 = 0;
    0x0002dce4 addiu v0, zero, 0x108e        |         v0 = 0x108e;
    0x0002dce8 syscall                       |         __asm ("syscall");
                                             | label_6:
    0x0002dcec lw ra, 0x3c(sp)               |         ra = *(var_3ch);
                                             |     }
                                             | label_5:
    0x0002dcf0 move v0, s2                   |     v0 = s2;
    0x0002dcf4 lw fp, 0x38(sp)               |     fp = *(var_38h);
    0x0002dcf8 lw s7, 0x34(sp)               |     s7 = *(var_34h);
    0x0002dcfc lw s6, 0x30(sp)               |     s6 = *(var_30h);
    0x0002dd00 lw s5, 0x2c(sp)               |     s5 = *(var_2ch);
    0x0002dd04 lw s4, 0x28(sp)               |     s4 = *(var_28h);
    0x0002dd08 lw s3, 0x24(sp)               |     s3 = *(var_24h);
    0x0002dd0c lw s2, 0x20(sp)               |     s2 = *(var_20h);
    0x0002dd10 lw s1, 0x1c(sp)               |     s1 = *(var_1ch);
    0x0002dd14 lw s0, 0x18(sp)               |     s0 = *(var_18h);
    0x0002dd18 addiu sp, sp, 0x40            |     
    0x0002dd1c jr ra                         |     return v0;
                                             | }
    ; assembly                               | /* r2dec pseudo code output */
                                             | /* /logs/firmware/unblob_extracted/firmware_extract/11108416-13869836.lzma_extract/lzma.uncompressed_extract/3761304-11775640.cpio_portable_ascii_extract/lib/libuClibc-0.9.33.2.so @ 0x458dc */
                                             | #include <stdint.h>
                                             |  
    ; (fcn) sym.rcmd ()                      | void rcmd () {
    0x000458dc lui gp, 7                     |     
    0x000458e0 addiu gp, gp, -0x1fc          |     
    0x000458e4 addu gp, gp, t9               |     gp += t9;
    0x000458e8 addiu sp, sp, -0xb8           |     
    0x000458ec lw t9, -0x7fc0(gp)            |     t9 = *((gp - 8176));
    0x000458f0 sw fp, 0xb0(sp)               |     *(var_b0h) = fp;
    0x000458f4 move fp, sp                   |     fp = sp;
    0x000458f8 sw s7, 0xac(sp)               |     *(var_ach) = s7;
    0x000458fc sw s6, 0xa8(sp)               |     *(var_a8h) = s6;
    0x00045900 sw s5, 0xa4(sp)               |     *(var_a4h) = s5;
    0x00045904 sw s4, 0xa0(sp)               |     *(var_a0h) = s4;
    0x00045908 sw s3, 0x9c(sp)               |     *(var_9ch) = s3;
    0x0004590c sw s2, 0x98(sp)               |     *(var_98h) = s2;
    0x00045910 sw s1, 0x94(sp)               |     *(var_94h) = s1;
    0x00045914 sw s0, 0x90(sp)               |     *(var_90h) = s0;
    0x00045918 sw gp, 0x18(sp)               |     *(var_18h) = gp;
    0x0004591c sw ra, 0xb4(sp)               |     *(var_b4h) = ra;
    0x00045920 sw a1, 0x80(fp)               |     *(var_80h) = a1;
    0x00045924 move s5, a2                   |     s5 = a2;
    0x00045928 move s2, a0                   |     s2 = a0;
    0x0004592c move s4, a3                   |     s4 = a3;
    0x00045930 bal 0x61cd0                   |     sym_getpid ();
    0x00045934 lw gp, 0x18(fp)               |     gp = *(var_18h);
    0x00045938 addiu sp, sp, -0x408          |     
    0x0004593c rdhwr v1, 29                  |     __asm ("rdhwr v1, 29");
    0x00045940 lw s6, -0x7564(gp)            |     s6 = *((gp - 7513));
    0x00045944 move s7, v0                   |     s7 = v0;
    0x00045948 addiu a2, sp, 0x18            |     a2 = sp + 0x18;
    0x0004594c addiu s3, zero, 0x400         |     s3 = aav.0x00000400;
    0x00045950 addiu s1, fp, 0x74            |     s1 = fp + 0x74;
    0x00045954 addiu s0, fp, 0x78            |     s0 = fp + 0x78;
    0x00045958 addu s6, s6, v1               |     s6 += v1;
    0x0004595c b 0x459b8                     |     
                                             |     while (v0 != 0) {
    0x00045960 lw v0, 0x78(fp)               |         v0 = *(var_78h);
                                             | label_0:
    0x00045964 addiu v1, zero, -1            |         v1 = -1;
    0x00045968 addiu v1, zero, 0x22          |         v1 = 0x22;
                                             |         if (v0 == v1) {
    0x0004596c bne v0, v1, 0x4597c           |             
    0x00045970 lw a0, (s6)                   |             a0 = *(s6);
    0x00045974 sll s3, s3, 1                 |             s3 <<= 1;
                                             |             if (a0 == v1) {
    0x00045978 beq a0, v1, 0x459a4           |                 goto label_2;
                                             |             }
                                             |         }
    0x0004597c rdhwr v1, 29                  |         __asm ("rdhwr v1, 29");
    0x00045980 move a0, v1                   |         a0 = v1;
    0x00045984 lw v1, -0x7570(gp)            |         v1 = *((gp - 7516));
    0x00045988 lw t9, -0x79b0(gp)            |         t9 = *((gp - 7788));
    0x0004598c addu a0, v1, a0               |         a0 = v1 + a0;
    0x00045990 sw v0, (a0)                   |         *(a0) = v0;
    0x00045994 lw a0, (s2)                   |         a0 = *(s2);
    0x00045998 bal 0x4f470                   |         sym_herror ();
    0x0004599c addiu s0, zero, -1            |         s0 = -1;
    0x000459a0 b 0x45ff4                     |         goto label_3;
                                             | label_2:
    0x000459a4 addiu v0, s3, 0xe             |         v0 = s3 + 0xe;
    0x000459a8 srl v0, v0, 3                 |         v0 >>= 3;
    0x000459ac sll v0, v0, 3                 |         v0 <<= 3;
    0x000459b0 subu sp, sp, v0               |         
    0x000459b4 addiu a2, sp, 0x18            |         a2 = sp + 0x18;
    0x000459b8 lw a0, (s2)                   |         a0 = *(s2);
    0x000459bc lw t9, -0x7a78(gp)            |         t9 = *((gp - 7838));
    0x000459c0 sw s1, 0x10(sp)               |         *(var_10h) = s1;
    0x000459c4 sw s0, 0x14(sp)               |         *(var_14h) = s0;
    0x000459c8 addiu a1, fp, 0x20            |         a1 = fp + 0x20;
    0x000459cc move a3, s3                   |         a3 = s3;
    0x000459d0 bal 0x54d50                   |         sym_gethostbyname_r ();
    0x000459d4 lw gp, 0x18(fp)               |         gp = *(var_18h);
    0x000459d8 bnez v0, 0x45960              |         
                                             |     }
    0x000459dc lw v0, 0x74(fp)               |     v0 = *(var_74h);
                                             |     if (v0 == 0) {
    0x000459e0 beql v0, zero, 0x45964        |         goto label_0;
                                             |     }
    0x000459e4 lw v0, 0x78(fp)               |     v0 = *(var_78h);
    0x000459e8 addiu v1, zero, 1             |     v1 = 1;
    0x000459ec sh v1, 0x38(fp)               |     *(var_38h) = v1;
    0x000459f0 sh v1, 0x40(fp)               |     *(var_40h) = v1;
    0x000459f4 lw v0, (v0)                   |     v0 = *(v0);
    0x000459f8 lw t9, -0x79ac(gp)            |     t9 = *((gp - 7787));
    0x000459fc lui a0, 0x10                  |     a0 = 0x100000;
    0x00045a00 sw v0, (s2)                   |     *(s2) = v0;
    0x00045a04 bal 0x58d40                   |     sym_sigblock ();
    0x00045a08 lw gp, 0x18(fp)               |     gp = *(var_18h);
    0x00045a0c move s1, v0                   |     s1 = v0;
    0x00045a10 rdhwr v1, 29                  |     __asm ("rdhwr v1, 29");
    0x00045a14 lw s6, -0x7564(gp)            |     s6 = *((gp - 7513));
    0x00045a18 addiu v0, zero, 0x3ff         |     v0 = 0x3ff;
    0x00045a1c sw v0, 0x70(fp)               |     *(var_70h) = v0;
    0x00045a20 addiu s3, zero, 1             |     s3 = 1;
    0x00045a24 addu s6, s6, v1               |     s6 += v1;
                                             |     do {
                                             | label_1:
    0x00045a28 lw t9, -0x79a8(gp)            |         t9 = *((gp - 7786));
    0x00045a2c addiu a0, fp, 0x70            |         a0 = fp + 0x70;
    0x00045a30 bal 0x457d8                   |         sym_rresvport ();
    0x00045a34 move s0, v0                   |         s0 = v0;
    0x00045a38 lw gp, 0x18(fp)               |         gp = *(var_18h);
                                             |         if (v0 < 0) {
    0x00045a3c bgez v0, 0x45a90              |             
    0x00045a40 rdhwr v1, 29                  |             __asm ("rdhwr v1, 29");
    0x00045a44 move v0, v1                   |             v0 = v1;
    0x00045a48 lw v1, -0x7564(gp)            |             v1 = *((gp - 7513));
    0x00045a4c addu v0, v1, v0               |             v0 = v1 + v0;
    0x00045a50 lw a0, (v0)                   |             a0 = *(v0);
    0x00045a54 addiu v1, zero, 0xb           |             v1 = 0xb;
    0x00045a58 lw v0, -0x7618(gp)            |             v0 = *((gp - 7558));
                                             |             if (a0 == v1) {
    0x00045a5c bne a0, v1, 0x45a70           |                 
    0x00045a60 lw a1, -0x7fa8(gp)            |                 a1 = *((gp - 8170));
    0x00045a64 lw a0, (v0)                   |                 a0 = *(v0);
    0x00045a68 addiu a1, a1, -0x54f8         |                 a1 += -0x54f8;
    0x00045a6c b 0x45a7c                     |                 
                                             |             } else {
    0x00045a70 lw a1, -0x7fa8(gp)            |                 a1 = *((gp - 8170));
    0x00045a74 lw a0, (v0)                   |                 a0 = *(v0);
    0x00045a78 addiu a1, a1, -0x54d8         |                 a1 += -0x54d8;
                                             |             }
    0x00045a7c lw t9, -0x7f58(gp)            |             t9 = *((gp - 8150));
    0x00045a80 bal 0x2f830                   |             sym_fprintf ()
    0x00045a84 nop                           |             
    0x00045a88 lw gp, 0x18(fp)               |             gp = *(var_18h);
    0x00045a8c b 0x45fe4                     |             goto label_4;
                                             |         }
    0x00045a90 lw t9, -0x7e8c(gp)            |         t9 = *((gp - 8099));
    0x00045a94 move a0, v0                   |         a0 = v0;
    0x00045a98 addiu a1, zero, 0x18          |         a1 = 0x18;
    0x00045a9c move a2, s7                   |         a2 = s7;
    0x00045aa0 jalr t9                       |         t9 ();
    0x00045aa4 lw v0, 0x74(fp)               |         v0 = *(var_74h);
    0x00045aa8 lw gp, 0x18(fp)               |         gp = *(var_18h);
    0x00045aac addiu a2, zero, 4             |         a2 = 4;
    0x00045ab0 lw v1, 8(v0)                  |         v1 = *((v0 + 2));
    0x00045ab4 lw t9, -0x7f04(gp)            |         t9 = *((gp - 8129));
    0x00045ab8 sh v1, 0x54(fp)               |         *(var_54h) = v1;
    0x00045abc lw v1, 0x10(v0)               |         v1 = *((v0 + 4));
    0x00045ac0 lw v0, 0xc(v0)                |         v0 = *((v0 + 3));
    0x00045ac4 lw a1, (v1)                   |         a1 = *(v1);
    0x00045ac8 sltiu a0, v0, 5               |         a0 = (v0 < 5) ? 1 : 0;
                                             |         if (a0 == 0) {
    0x00045acc movn a2, v0, a0               |             a2 = v0;
                                             |         }
    0x00045ad0 addiu a0, fp, 0x58            |         a0 = fp + 0x58;
    0x00045ad4 bal 0x3aeb0                   |         sym_memmove ();
    0x00045ad8 lw gp, 0x18(fp)               |         gp = *(var_18h);
    0x00045adc lw t9, 0x80(fp)               |         t9 = *(var_80h);
    0x00045ae0 move a0, s0                   |         a0 = s0;
    0x00045ae4 addiu a1, fp, 0x54            |         a1 = fp + 0x54;
    0x00045ae8 sh t9, 0x56(fp)               |         *(var_56h) = t9;
    0x00045aec lw t9, -0x7d3c(gp)            |         t9 = *((gp - 8015));
    0x00045af0 addiu a2, zero, 0x10          |         a2 = 0x10;
    0x00045af4 bal 0x57b90                   |         sym_connect ();
    0x00045af8 lw gp, 0x18(fp)               |         gp = *(var_18h);
                                             |         if (v0 >= 0) {
    0x00045afc bgez v0, 0x45c64              |             goto label_5;
                                             |         }
    0x00045b00 lw t9, -0x7f9c(gp)            |         t9 = *((gp - 8167));
    0x00045b04 move a0, s0                   |         a0 = s0;
    0x00045b08 bal 0x62088                   |         sym_libc_close ();
    0x00045b0c lw v1, (s6)                   |         v1 = *(s6);
    0x00045b10 addiu v0, zero, 0x7d          |         v0 = 0x7d;
    0x00045b14 lw gp, 0x18(fp)               |         gp = *(var_18h);
                                             |         if (v1 != v0) {
    0x00045b18 bne v1, v0, 0x45b2c           |             goto label_6;
                                             |         }
    0x00045b1c lw v0, 0x70(fp)               |         v0 = *(var_70h);
    0x00045b20 addiu v0, v0, -1              |         v0 += -1;
    0x00045b24 sw v0, 0x70(fp)               |         *(var_70h) = v0;
    0x00045b28 b 0x45a28                     |         
                                             |     } while (1);
                                             | label_6:
    0x00045b2c addiu v0, zero, 0x92          |     v0 = 0x92;
    0x00045b30 lw v0, 0x74(fp)               |     v0 = *(var_74h);
                                             |     if (v1 == v0) {
    0x00045b34 bne v1, v0, 0x45b5c           |         
    0x00045b38 slti v0, s3, 0x11             |         v0 = (s3 < 0x11) ? 1 : 0;
    0x00045b3c lw v0, 0x74(fp)               |         v0 = *(var_74h);
                                             |         if (v0 == 0) {
    0x00045b40 beqz v0, 0x45b5c              |             goto label_7;
                                             |         }
    0x00045b44 lw t9, -0x79a4(gp)            |         t9 = *((gp - 7785));
    0x00045b48 move a0, s3                   |         a0 = s3;
    0x00045b4c sll s3, s3, 1                 |         s3 <<= 1;
    0x00045b50 bal 0x61e10                   |         sym_sleep ();
    0x00045b54 lw gp, 0x18(fp)               |         gp = *(var_18h);
    0x00045b58 b 0x45a28                     |         goto label_1;
                                             |     }
                                             | label_7:
    0x00045b5c lw a0, 0x10(v0)               |     a0 = *((v0 + 4));
    0x00045b60 lw a0, 4(a0)                  |     a0 = *((a0 + 1));
    0x00045b64 lw s0, -0x7618(gp)            |     s0 = *((gp - 7558));
                                             |     if (a0 != 0) {
    0x00045b68 beqz a0, 0x45c44              |         
    0x00045b6c lw a3, -0x79a0(gp)            |         a3 = *((gp - 7784));
    0x00045b70 lw a1, (s0)                   |         a1 = *(s0);
    0x00045b74 lw a0, 0x58(fp)               |         a0 = *(var_58h);
    0x00045b78 move t9, a3                   |         t9 = a3;
    0x00045b7c sw a3, 0x8c(fp)               |         *(var_8ch) = a3;
    0x00045b80 sw v1, 0x88(fp)               |         *(var_88h) = v1;
    0x00045b84 sw a1, 0x84(fp)               |         *(var_84h) = a1;
    0x00045b88 bal 0x52900                   |         sym_inet_ntoa ();
    0x00045b8c lw gp, 0x18(fp)               |         gp = *(var_18h);
    0x00045b90 lw a1, 0x84(fp)               |         a1 = *(var_84h);
    0x00045b94 move a2, v0                   |         a2 = v0;
    0x00045b98 lw t0, -0x7f58(gp)            |         t0 = *((gp - 8150));
    0x00045b9c move a0, a1                   |         a0 = a1;
    0x00045ba0 lw a1, -0x7fa8(gp)            |         a1 = *((gp - 8170));
    0x00045ba4 move t9, t0                   |         t9 = t0;
    0x00045ba8 sw t0, 0x84(fp)               |         *(var_84h) = t0;
    0x00045bac addiu a1, a1, -0x54c4         |         a1 += -0x54c4;
    0x00045bb0 bal 0x2f830                   |         sym_fprintf ()
    0x00045bb4 lw gp, 0x18(fp)               |         gp = *(var_18h);
    0x00045bb8 lw v1, 0x88(fp)               |         v1 = *(var_88h);
    0x00045bbc move a0, zero                 |         a0 = 0;
    0x00045bc0 lw v0, -0x7ab4(gp)            |         v0 = *((gp - 7853));
    0x00045bc4 move t9, v0                   |         t9 = v0;
    0x00045bc8 sw v1, (s6)                   |         *(s6) = v1;
    0x00045bcc bal 0x2ef60                   |         sym_perror ();
    0x00045bd0 lw v0, 0x74(fp)               |         v0 = *(var_74h);
    0x00045bd4 lw gp, 0x18(fp)               |         gp = *(var_18h);
    0x00045bd8 addiu a2, zero, 4             |         a2 = 4;
    0x00045bdc lw v1, 0x10(v0)               |         v1 = *((v0 + 4));
    0x00045be0 addiu a0, v1, 4               |         a0 = v1 + 4;
    0x00045be4 sw a0, 0x10(v0)               |         *((v0 + 4)) = a0;
    0x00045be8 lw v0, 0xc(v0)                |         v0 = *((v0 + 3));
    0x00045bec lw a1, 4(v1)                  |         a1 = *((v1 + 1));
    0x00045bf0 sltiu a0, v0, 5               |         a0 = (v0 < 5) ? 1 : 0;
                                             |         if (a0 == 0) {
    0x00045bf4 movn a2, v0, a0               |             a2 = v0;
                                             |         }
    0x00045bf8 lw v0, -0x7f04(gp)            |         v0 = *((gp - 8129));
    0x00045bfc move t9, v0                   |         t9 = v0;
    0x00045c00 addiu a0, fp, 0x58            |         a0 = fp + 0x58;
    0x00045c04 bal 0x3aeb0                   |         sym_memmove ();
    0x00045c08 lw a3, 0x8c(fp)               |         a3 = *(var_8ch);
    0x00045c0c lw a0, 0x58(fp)               |         a0 = *(var_58h);
    0x00045c10 move t9, a3                   |         t9 = a3;
    0x00045c14 lw s0, (s0)                   |         s0 = *(s0);
    0x00045c18 jalr t9                       |         t9 ();
    0x00045c1c lw gp, 0x18(fp)               |         gp = *(var_18h);
    0x00045c20 lw t0, 0x84(fp)               |         t0 = *(var_84h);
    0x00045c24 move a0, s0                   |         a0 = s0;
    0x00045c28 lw a1, -0x7fa8(gp)            |         a1 = *((gp - 8170));
    0x00045c2c move a2, v0                   |         a2 = v0;
    0x00045c30 move t9, t0                   |         t9 = t0;
    0x00045c34 addiu a1, a1, -0x54ac         |         a1 += -0x54ac;
    0x00045c38 jalr t9                       |         t9 ();
    0x00045c3c lw gp, 0x18(fp)               |         gp = *(var_18h);
    0x00045c40 b 0x45a28                     |         goto label_1;
                                             |     }
    0x00045c44 lw a1, -0x7fa8(gp)            |     a1 = *((gp - 8170));
    0x00045c48 lw t9, -0x7f58(gp)            |     t9 = *((gp - 8150));
    0x00045c4c lw a0, (s0)                   |     a0 = *(s0);
    0x00045c50 lw a2, (v0)                   |     a2 = *(v0);
    0x00045c54 addiu a1, a1, -0x549c         |     a1 += -0x549c;
    0x00045c58 bal 0x2f830                   |     sym_fprintf ()
    0x00045c5c lw gp, 0x18(fp)               |     gp = *(var_18h);
    0x00045c60 b 0x45fe4                     |     goto label_4;
                                             | label_5:
    0x00045c64 lw v0, 0x70(fp)               |     v0 = *(var_70h);
    0x00045c68 lw t9, 0xcc(fp)               |     t9 = *(arg_cch);
    0x00045c6c addiu v0, v0, -1              |     v0 += -1;
    0x00045c70 sw v0, 0x70(fp)               |     *(var_70h) = v0;
                                             |     if (t9 == 0) {
    0x00045c74 bnez t9, 0x45c9c              |         
    0x00045c78 lw a1, -0x7fa8(gp)            |         a1 = *((gp - 8170));
    0x00045c7c lw t9, -0x7fd4(gp)            |         t9 = *((gp - 8181));
    0x00045c80 move a0, s0                   |         a0 = s0;
    0x00045c84 addiu a1, a1, -0x5200         |         a1 += -0x5200;
    0x00045c88 addiu a2, zero, 1             |         a2 = 1;
    0x00045c8c bal 0x62258                   |         sym_write ();
    0x00045c90 lw gp, 0x18(fp)               |         gp = *(var_18h);
    0x00045c94 sw zero, 0x70(fp)             |         *(var_70h) = 0;
    0x00045c98 b 0x45e84                     |         
                                             |     } else {
    0x00045c9c lw t9, -0x79a8(gp)            |         t9 = *((gp - 7786));
    0x00045ca0 addiu a0, fp, 0x70            |         a0 = fp + 0x70;
    0x00045ca4 bal 0x457d8                   |         sym_rresvport ();
    0x00045ca8 move s3, v0                   |         s3 = v0;
    0x00045cac addiu v0, zero, 0x10          |         v0 = 0x10;
    0x00045cb0 lw gp, 0x18(fp)               |         gp = *(var_18h);
    0x00045cb4 sw v0, 0x6c(fp)               |         *(var_6ch) = v0;
                                             |         if (s3 < 0) {
    0x00045cb8 bltz s3, 0x45fd4              |             goto label_8;
                                             |         }
    0x00045cbc lw t9, -0x799c(gp)            |         t9 = *((gp - 7783));
    0x00045cc0 move a0, s3                   |         a0 = s3;
    0x00045cc4 addiu a1, zero, 1             |         a1 = 1;
    0x00045cc8 bal 0x57d40                   |         sym_listen ();
    0x00045ccc lw gp, 0x18(fp)               |         gp = *(var_18h);
    0x00045cd0 lw a3, 0x70(fp)               |         a3 = *(var_70h);
    0x00045cd4 addiu a1, zero, 8             |         a1 = 8;
    0x00045cd8 lw a2, -0x7fa8(gp)            |         a2 = *((gp - 8170));
    0x00045cdc lw t9, -0x7998(gp)            |         t9 = *((gp - 7782));
    0x00045ce0 addiu a0, fp, 0x64            |         a0 = fp + 0x64;
    0x00045ce4 addiu a2, a2, -0x5494         |         a2 += -0x5494;
    0x00045ce8 bal 0x2f870                   |         sym_snprintf ();
    0x00045cec lw gp, 0x18(fp)               |         gp = *(var_18h);
    0x00045cf0 lw s6, -0x7fdc(gp)            |         s6 = *((gp - 8183));
    0x00045cf4 move t9, s6                   |         t9 = s6;
    0x00045cf8 addiu a0, fp, 0x64            |         a0 = fp + 0x64;
    0x00045cfc bal 0x3b6b0                   |         sym_strlen ();
    0x00045d00 lw gp, 0x18(fp)               |         gp = *(var_18h);
    0x00045d04 move a0, s0                   |         a0 = s0;
    0x00045d08 addiu a1, fp, 0x64            |         a1 = fp + 0x64;
    0x00045d0c lw t9, -0x7fd4(gp)            |         t9 = *((gp - 8181));
    0x00045d10 addiu a2, v0, 1               |         a2 = v0 + 1;
    0x00045d14 bal 0x62258                   |         sym_write ();
    0x00045d18 addiu a0, fp, 0x64            |         a0 = fp + 0x64;
    0x00045d1c move t9, s6                   |         t9 = s6;
    0x00045d20 move s7, v0                   |         s7 = v0;
    0x00045d24 bal 0x3b6b0                   |         sym_strlen ();
    0x00045d28 addiu v0, v0, 1               |         v0++;
    0x00045d2c lw gp, 0x18(fp)               |         gp = *(var_18h);
                                             |         if (s7 != v0) {
    0x00045d30 beq s7, v0, 0x45d48           |             
    0x00045d34 lw v0, -0x7618(gp)            |             v0 = *((gp - 7558));
    0x00045d38 lw a1, -0x7fa8(gp)            |             a1 = *((gp - 8170));
    0x00045d3c lw a0, (v0)                   |             a0 = *(v0);
    0x00045d40 addiu a1, a1, -0x5490         |             a1 += -0x5490;
    0x00045d44 b 0x45db8                     |             
                                             |         } else {
    0x00045d48 lw s6, -0x7564(gp)            |             s6 = *((gp - 7513));
    0x00045d4c rdhwr v1, 29                  |             __asm ("rdhwr v1, 29");
    0x00045d50 lw t9, -0x7a3c(gp)            |             t9 = *((gp - 7823));
    0x00045d54 addu v0, s6, v1               |             v0 = s6 + v1;
    0x00045d58 sw s0, 0x34(fp)               |             *(var_34h) = s0;
    0x00045d5c sw s3, 0x3c(fp)               |             *(var_3ch) = s3;
    0x00045d60 sw zero, (v0)                 |             *(v0) = 0;
    0x00045d64 addiu a0, fp, 0x34            |             a0 = fp + 0x34;
    0x00045d68 addiu a1, zero, 2             |             a1 = 2;
    0x00045d6c addiu a2, zero, -1            |             a2 = -1;
    0x00045d70 jalr t9                       |             t9 ();
    0x00045d74 lw gp, 0x18(fp)               |             gp = *(var_18h);
                                             |             if (v0 > 0) {
    0x00045d78 blez v0, 0x45d8c              |                 
    0x00045d7c lhu v0, 0x42(fp)              |                 v0 = *(arg_42h);
    0x00045d80 andi v0, v0, 1                |                 v0 &= 1;
    0x00045d84 lw t9, -0x7994(gp)            |                 t9 = *((gp - 7781));
                                             |                 if (v0 != 0) {
    0x00045d88 bnez v0, 0x45dd0              |                     goto label_9;
                                             |                 }
                                             |             }
    0x00045d8c rdhwr v1, 29                  |             __asm ("rdhwr v1, 29");
    0x00045d90 addu s6, s6, v1               |             s6 += v1;
    0x00045d94 lw v0, -0x7618(gp)            |             v0 = *((gp - 7558));
    0x00045d98 lw v1, (s6)                   |             v1 = *(s6);
    0x00045d9c lw a0, (v0)                   |             a0 = *(v0);
                                             |             if (v1 != 0) {
    0x00045da0 beqz v1, 0x45db0              |                 
    0x00045da4 lw a1, -0x7fa8(gp)            |                 a1 = *((gp - 8170));
    0x00045da8 addiu a1, a1, -0x5468         |                 a1 += -0x5468;
    0x00045dac b 0x45db8                     |                 
                                             |             } else {
    0x00045db0 lw a1, -0x7fa8(gp)            |                 a1 = *((gp - 8170));
    0x00045db4 addiu a1, a1, -0x5444         |                 a1 += -0x5444;
                                             |             }
                                             |         }
    0x00045db8 lw t9, -0x7f58(gp)            |         t9 = *((gp - 8150));
    0x00045dbc bal 0x2f830                   |         sym_fprintf ()
    0x00045dc0 nop                           |         
    0x00045dc4 lw gp, 0x18(fp)               |         gp = *(var_18h);
    0x00045dc8 move a0, s3                   |         a0 = s3;
    0x00045dcc b 0x45fc4                     |         goto label_10;
                                             | label_9:
    0x00045dd0 move a0, s3                   |         a0 = s3;
    0x00045dd4 addiu a1, fp, 0x44            |         a1 = fp + 0x44;
    0x00045dd8 addiu a2, fp, 0x6c            |         a2 = fp + 0x6c;
    0x00045ddc bal 0x57a70                   |         sym_libc_accept ();
    0x00045de0 lw gp, 0x18(fp)               |         gp = *(var_18h);
    0x00045de4 move s6, v0                   |         s6 = v0;
    0x00045de8 lw t9, -0x7f9c(gp)            |         t9 = *((gp - 8167));
    0x00045dec move a0, s3                   |         a0 = s3;
    0x00045df0 bal 0x62088                   |         sym_libc_close ();
    0x00045df4 lw gp, 0x18(fp)               |         gp = *(var_18h);
                                             |         if (s6 < 0) {
    0x00045df8 bgez s6, 0x45e20              |             
    0x00045dfc lw v0, -0x7618(gp)            |             v0 = *((gp - 7558));
    0x00045e00 lw a1, -0x7fa8(gp)            |             a1 = *((gp - 8170));
    0x00045e04 lw t9, -0x7f58(gp)            |             t9 = *((gp - 8150));
    0x00045e08 lw a0, (v0)                   |             a0 = *(v0);
    0x00045e0c addiu a1, a1, -0x5418         |             a1 += -aav.0x00005418;
    0x00045e10 bal 0x2f830                   |             sym_fprintf ()
    0x00045e14 lw gp, 0x18(fp)               |             gp = *(var_18h);
    0x00045e18 sw zero, 0x70(fp)             |             *(var_70h) = 0;
    0x00045e1c b 0x45fd4                     |             goto label_8;
                                             |         }
    0x00045e20 lhu v1, 0x46(fp)              |         v1 = *(arg_46h);
    0x00045e24 lw t9, 0xcc(fp)               |         t9 = *(arg_cch);
    0x00045e28 lhu a0, 0x44(fp)              |         a0 = *(arg_44h);
    0x00045e2c ext v0, v1, 8, 8              |         __asm ("ext v0, v1, 8, 8");
    0x00045e30 sll v1, v1, 8                 |         v1 <<= 8;
    0x00045e34 or v0, v0, v1                 |         v0 |= v1;
    0x00045e38 andi v0, v0, 0xffff           |         v0 &= 0xffff;
    0x00045e3c addiu v1, zero, 2             |         v1 = 2;
    0x00045e40 sw s6, (t9)                   |         *(t9) = s6;
    0x00045e44 sh v0, 0x46(fp)               |         *(var_46h) = v0;
                                             |         if (a0 == v1) {
    0x00045e48 bne a0, v1, 0x45e64           |             
    0x00045e4c sltiu v1, v0, 0x400           |             v1 = (v0 < aav.0x00000400) ? 1 : 0;
                                             |             if (v1 == 0) {
    0x00045e50 beql v1, zero, 0x45e68        |                 goto label_11;
                                             |             }
    0x00045e54 lw v0, -0x7618(gp)            |             v0 = *((gp - 7558));
    0x00045e58 sltiu v0, v0, 0x200           |             v0 = (v0 < aav.0x00000200) ? 1 : 0;
    0x00045e5c lw s6, -0x7fdc(gp)            |             s6 = *((gp - 8183));
                                             |             if (v0 == 0) {
    0x00045e60 beqz v0, 0x45e88              |                 goto label_12;
                                             |             }
                                             |         }
    0x00045e64 lw v0, -0x7618(gp)            |         v0 = *((gp - 7558));
                                             | label_11:
    0x00045e68 lw a1, -0x7fa8(gp)            |         a1 = *((gp - 8170));
    0x00045e6c lw t9, -0x7f58(gp)            |         t9 = *((gp - 8150));
    0x00045e70 lw a0, (v0)                   |         a0 = *(v0);
    0x00045e74 addiu a1, a1, -0x5404         |         a1 += -0x5404;
    0x00045e78 bal 0x2f830                   |         sym_fprintf ()
    0x00045e7c lw gp, 0x18(fp)               |         gp = *(var_18h);
    0x00045e80 b 0x45f3c                     |         goto label_13;
                                             |     }
    0x00045e84 lw s6, -0x7fdc(gp)            |     s6 = *((gp - 8183));
                                             | label_12:
    0x00045e88 move t9, s6                   |     t9 = s6;
    0x00045e8c move a0, s5                   |     a0 = s5;
    0x00045e90 bal 0x3b6b0                   |     sym_strlen ();
    0x00045e94 lw gp, 0x18(fp)               |     gp = *(var_18h);
    0x00045e98 move a1, s5                   |     a1 = s5;
    0x00045e9c addiu a2, v0, 1               |     a2 = v0 + 1;
    0x00045ea0 lw s3, -0x7fd4(gp)            |     s3 = *((gp - 8181));
    0x00045ea4 move a0, s0                   |     a0 = s0;
    0x00045ea8 move t9, s3                   |     t9 = s3;
    0x00045eac addiu s5, fp, 0x6c            |     s5 = fp + 0x6c;
    0x00045eb0 bal 0x62258                   |     sym_write ();
    0x00045eb4 move t9, s6                   |     t9 = s6;
    0x00045eb8 move a0, s4                   |     a0 = s4;
    0x00045ebc bal 0x3b6b0                   |     sym_strlen ();
    0x00045ec0 addiu a2, v0, 1               |     a2 = v0 + 1;
    0x00045ec4 move a1, s4                   |     a1 = s4;
    0x00045ec8 move t9, s3                   |     t9 = s3;
    0x00045ecc move a0, s0                   |     a0 = s0;
    0x00045ed0 bal 0x62258                   |     sym_write ();
    0x00045ed4 move t9, s6                   |     t9 = s6;
    0x00045ed8 lw a0, 0xc8(fp)               |     a0 = *(arg_c8h);
    0x00045edc bal 0x3b6b0                   |     sym_strlen ();
    0x00045ee0 lw a1, 0xc8(fp)               |     a1 = *(arg_c8h);
    0x00045ee4 move a0, s0                   |     a0 = s0;
    0x00045ee8 move t9, s3                   |     t9 = s3;
    0x00045eec addiu a2, v0, 1               |     a2 = v0 + 1;
    0x00045ef0 bal 0x62258                   |     sym_write ();
    0x00045ef4 lw gp, 0x18(fp)               |     gp = *(var_18h);
    0x00045ef8 move a0, s0                   |     a0 = s0;
    0x00045efc move a1, s5                   |     a1 = s5;
    0x00045f00 lw s4, -0x7f98(gp)            |     s4 = *((gp - 8166));
    0x00045f04 move t9, s4                   |     t9 = s4;
    0x00045f08 addiu a2, zero, 1             |     a2 = 1;
    0x00045f0c bal 0x62348                   |     sym_read ();
    0x00045f10 addiu v1, zero, 1             |     v1 = 1;
    0x00045f14 lw gp, 0x18(fp)               |     gp = *(var_18h);
                                             |     if (v0 != v1) {
    0x00045f18 beq v0, v1, 0x45f44           |         
    0x00045f1c lw v0, -0x7618(gp)            |         v0 = *((gp - 7558));
    0x00045f20 lw a1, -0x7fa8(gp)            |         a1 = *((gp - 8170));
    0x00045f24 lw t9, -0x7f58(gp)            |         t9 = *((gp - 8150));
    0x00045f28 lw a0, (v0)                   |         a0 = *(v0);
    0x00045f2c lw a2, (s2)                   |         a2 = *(s2);
    0x00045f30 addiu a1, a1, -0x53d8         |         a1 += -0x53d8;
    0x00045f34 bal 0x2f830                   |         sym_fprintf ()
    0x00045f38 lw gp, 0x18(fp)               |         gp = *(var_18h);
                                             | label_13:
    0x00045f3c lw v0, 0x70(fp)               |         v0 = *(var_70h);
    0x00045f40 b 0x45fb4                     |         goto label_14;
                                             |     }
    0x00045f44 lbu v0, 0x6c(fp)              |     v0 = *(var_6ch);
    0x00045f48 lw t9, -0x7990(gp)            |     t9 = *((gp - 7780));
                                             |     if (v0 == 0) {
    0x00045f4c beqz v0, 0x45fa0              |         goto label_15;
                                             |     }
    0x00045f50 move s2, s5                   |     s2 = s5;
    0x00045f54 addiu s5, zero, 0xa           |     s5 = 0xa;
                                             |     do {
    0x00045f58 move a0, s0                   |         a0 = s0;
    0x00045f5c move a1, s2                   |         a1 = s2;
    0x00045f60 move t9, s4                   |         t9 = s4;
    0x00045f64 addiu a2, zero, 1             |         a2 = 1;
    0x00045f68 bal 0x62348                   |         sym_read ();
    0x00045f6c addiu v1, zero, 1             |         v1 = 1;
    0x00045f70 lw gp, 0x18(fp)               |         gp = *(var_18h);
                                             |         if (v0 != v1) {
    0x00045f74 bne v0, v1, 0x45fb0           |             goto label_16;
                                             |         }
    0x00045f78 addiu a0, zero, 2             |         a0 = 2;
    0x00045f7c move a1, s2                   |         a1 = s2;
    0x00045f80 move t9, s3                   |         t9 = s3;
    0x00045f84 addiu a2, zero, 1             |         a2 = 1;
    0x00045f88 bal 0x62258                   |         sym_write ();
    0x00045f8c lbu v0, 0x6c(fp)              |         v0 = *(var_6ch);
    0x00045f90 lw gp, 0x18(fp)               |         gp = *(var_18h);
    0x00045f94 bne v0, s5, 0x45f58           |         
                                             |     } while (v0 != s5);
    0x00045f98 lw v0, 0x70(fp)               |     v0 = *(var_70h);
    0x00045f9c b 0x45fb4                     |     goto label_14;
                                             | label_15:
    0x00045fa0 move a0, s1                   |     a0 = s1;
    0x00045fa4 bal 0x59060                   |     sym_sigsetmask ();
    0x00045fa8 move sp, fp                   |     
    0x00045fac b 0x45ff8                     |     goto label_17;
                                             | label_16:
    0x00045fb0 lw v0, 0x70(fp)               |     v0 = *(var_70h);
                                             | label_14:
    0x00045fb4 lw t9, -0x7f9c(gp)            |     t9 = *((gp - 8167));
                                             |     if (v0 != 0) {
    0x00045fb8 beqz v0, 0x45fd8              |         
    0x00045fbc lw t9, 0xcc(fp)               |         t9 = *(arg_cch);
    0x00045fc0 lw a0, (t9)                   |         a0 = *(t9);
                                             | label_10:
    0x00045fc4 lw t9, -0x7f9c(gp)            |         t9 = *((gp - 8167));
    0x00045fc8 bal 0x62088                   |         sym_libc_close ();
    0x00045fcc nop                           |         
    0x00045fd0 lw gp, 0x18(fp)               |         gp = *(var_18h);
                                             | label_8:
    0x00045fd4 lw t9, -0x7f9c(gp)            |         t9 = *((gp - 8167));
                                             |     }
    0x00045fd8 move a0, s0                   |     a0 = s0;
    0x00045fdc bal 0x62088                   |     sym_libc_close ();
    0x00045fe0 lw gp, 0x18(fp)               |     gp = *(var_18h);
                                             | label_4:
    0x00045fe4 lw t9, -0x7990(gp)            |     t9 = *((gp - 7780));
    0x00045fe8 move a0, s1                   |     a0 = s1;
    0x00045fec bal 0x59060                   |     sym_sigsetmask ();
    0x00045ff0 addiu s0, zero, -1            |     s0 = -1;
                                             | label_3:
    0x00045ff4 move sp, fp                   |     
                                             | label_17:
    0x00045ff8 lw ra, 0xb4(sp)               |     ra = *(var_b4h);
    0x00045ffc move v0, s0                   |     v0 = s0;
    0x00046000 lw fp, 0xb0(sp)               |     fp = *(var_b0h);
    0x00046004 lw s7, 0xac(sp)               |     s7 = *(var_ach);
    0x00046008 lw s6, 0xa8(sp)               |     s6 = *(var_a8h);
    0x0004600c lw s5, 0xa4(sp)               |     s5 = *(var_a4h);
    0x00046010 lw s4, 0xa0(sp)               |     s4 = *(var_a0h);
    0x00046014 lw s3, 0x9c(sp)               |     s3 = *(var_9ch);
    0x00046018 lw s2, 0x98(sp)               |     s2 = *(var_98h);
    0x0004601c lw s1, 0x94(sp)               |     s1 = *(var_94h);
    0x00046020 lw s0, 0x90(sp)               |     s0 = *(var_90h);
    0x00046024 addiu sp, sp, 0xb8            |     
    0x00046028 jr ra                         |     return v0;
                                             | }
    ; assembly                               | /* r2dec pseudo code output */
                                             | /* /logs/firmware/unblob_extracted/firmware_extract/11108416-13869836.lzma_extract/lzma.uncompressed_extract/3761304-11775640.cpio_portable_ascii_extract/lib/libuClibc-0.9.33.2.so @ 0x4a8b8 */
                                             | #include <stdint.h>
                                             |  
    ; (fcn) sym.svcudp_enablecache ()        | void svcudp_enablecache () {
    0x0004a8b8 lui gp, 7                     |     
    0x0004a8bc addiu gp, gp, -0x51d8         |     
    0x0004a8c0 addu gp, gp, t9               |     gp += t9;
    0x0004a8c4 addiu sp, sp, -0x30           |     
    0x0004a8c8 sw gp, 0x10(sp)               |     *(var_10h) = gp;
    0x0004a8cc sw ra, 0x2c(sp)               |     *(var_2ch) = ra;
    0x0004a8d0 sw s3, 0x28(sp)               |     *(var_28h) = s3;
    0x0004a8d4 sw s2, 0x24(sp)               |     *(var_24h) = s2;
    0x0004a8d8 sw s1, 0x20(sp)               |     *(var_20h) = s1;
    0x0004a8dc sw s0, 0x1c(sp)               |     *(var_1ch) = s0;
    0x0004a8e0 lw s2, 0x30(a0)               |     s2 = *((a0 + 12));
    0x0004a8e4 lw v0, 0x1b0(s2)              |     v0 = *(s2);
    0x0004a8e8 lw v0, -0x7618(gp)            |     v0 = *((gp - 7558));
                                             |     if (v0 != 0) {
    0x0004a8ec beqz v0, 0x4a908              |         
    0x0004a8f0 lw a1, -0x7fa8(gp)            |         a1 = *((gp - 8170));
    0x0004a8f4 lw a2, -0x7fa8(gp)            |         a2 = *((gp - 8170));
    0x0004a8f8 lw a0, (v0)                   |         a0 = *(v0);
    0x0004a8fc addiu a1, a1, -0x7190         |         a1 += -0x7190;
    0x0004a900 addiu a2, a2, -0x4fe0         |         a2 += -0x4fe0;
    0x0004a904 b 0x4a93c                     |         
                                             |     } else {
    0x0004a908 lw t9, -0x75a0(gp)            |         t9 = *((gp - 7528));
    0x0004a90c addiu a0, zero, 0x2c          |         a0 = 0x2c;
    0x0004a910 move s1, a1                   |         s1 = a1;
    0x0004a914 jalr t9                       |         t9 ();
    0x0004a918 move s0, v0                   |         s0 = v0;
    0x0004a91c lw gp, 0x10(sp)               |         gp = *(var_10h);
                                             |         if (v0 != 0) {
    0x0004a920 bnez v0, 0x4a950              |             goto label_1;
                                             |         }
    0x0004a924 lw v0, -0x7618(gp)            |         v0 = *((gp - 7558));
    0x0004a928 lw a1, -0x7fa8(gp)            |         a1 = *((gp - 8170));
    0x0004a92c lw a2, -0x7fa8(gp)            |         a2 = *((gp - 8170));
    0x0004a930 lw a0, (v0)                   |         a0 = *(v0);
    0x0004a934 addiu a1, a1, -0x7190         |         a1 += -0x7190;
    0x0004a938 addiu a2, a2, -0x4fbc         |         a2 += -0x4fbc;
                                             |     }
                                             |     do {
                                             | label_0:
    0x0004a93c lw t9, -0x7f58(gp)            |         t9 = *((gp - 8150));
    0x0004a940 bal 0x2f830                   |         sym_fprintf ()
    0x0004a944 nop                           |         
    0x0004a948 move v0, zero                 |         v0 = 0;
    0x0004a94c b 0x4aa00                     |         goto label_2;
                                             | label_1:
    0x0004a950 lw t9, -0x75a0(gp)            |         t9 = *((gp - 7528));
    0x0004a954 sll s3, s1, 4                 |         s3 = s1 << 4;
    0x0004a958 sw s1, (v0)                   |         *(v0) = s1;
    0x0004a95c sw zero, 0xc(v0)              |         *((v0 + 3)) = 0;
    0x0004a960 move a0, s3                   |         a0 = s3;
    0x0004a964 jalr t9                       |         t9 ();
    0x0004a968 sw v0, 4(s0)                  |         *((s0 + 1)) = v0;
    0x0004a96c lw gp, 0x10(sp)               |         gp = *(var_10h);
                                             |         if (v0 != 0) {
    0x0004a970 bnez v0, 0x4a990              |             goto label_3;
                                             |         }
    0x0004a974 lw v0, -0x7618(gp)            |         v0 = *((gp - 7558));
    0x0004a978 lw a1, -0x7fa8(gp)            |         a1 = *((gp - 8170));
    0x0004a97c lw a2, -0x7fa8(gp)            |         a2 = *((gp - 8170));
    0x0004a980 lw a0, (v0)                   |         a0 = *(v0);
    0x0004a984 addiu a1, a1, -0x7190         |         a1 += -0x7190;
    0x0004a988 addiu a2, a2, -0x4f94         |         a2 += -0x4f94;
    0x0004a98c b 0x4a93c                     |         
                                             |     } while (1);
                                             | label_3:
    0x0004a990 move a2, s3                   |     a2 = s3;
    0x0004a994 lw s3, -0x7fe4(gp)            |     s3 = *((gp - 8185));
    0x0004a998 move a0, v0                   |     a0 = v0;
    0x0004a99c move t9, s3                   |     t9 = s3;
    0x0004a9a0 move a1, zero                 |     a1 = 0;
    0x0004a9a4 bal 0x3a940                   |     sym_memset ();
    0x0004a9a8 lw gp, 0x10(sp)               |     gp = *(var_10h);
    0x0004a9ac sll s1, s1, 2                 |     s1 <<= 2;
    0x0004a9b0 lw t9, -0x75a0(gp)            |     t9 = *((gp - 7528));
    0x0004a9b4 move a0, s1                   |     a0 = s1;
    0x0004a9b8 jalr t9                       |     t9 ();
    0x0004a9bc sw v0, 8(s0)                  |     *((s0 + 2)) = v0;
    0x0004a9c0 lw gp, 0x10(sp)               |     gp = *(var_10h);
                                             |     if (v0 == 0) {
    0x0004a9c4 bnez v0, 0x4a9e4              |         
    0x0004a9c8 lw v0, -0x7618(gp)            |         v0 = *((gp - 7558));
    0x0004a9cc lw a1, -0x7fa8(gp)            |         a1 = *((gp - 8170));
    0x0004a9d0 lw a2, -0x7fa8(gp)            |         a2 = *((gp - 8170));
    0x0004a9d4 lw a0, (v0)                   |         a0 = *(v0);
    0x0004a9d8 addiu a1, a1, -0x7190         |         a1 += -0x7190;
    0x0004a9dc addiu a2, a2, -0x4f68         |         a2 += -0x4f68;
    0x0004a9e0 b 0x4a93c                     |         goto label_0;
                                             |     }
    0x0004a9e4 move a0, v0                   |     a0 = v0;
    0x0004a9e8 move a1, zero                 |     a1 = 0;
    0x0004a9ec move t9, s3                   |     t9 = s3;
    0x0004a9f0 move a2, s1                   |     a2 = s1;
    0x0004a9f4 bal 0x3a940                   |     sym_memset ();
    0x0004a9f8 sw s0, 0x1b0(s2)              |     *(s2) = s0;
    0x0004a9fc addiu v0, zero, 1             |     v0 = 1;
                                             | label_2:
    0x0004aa00 lw ra, 0x2c(sp)               |     ra = *(var_2ch);
    0x0004aa04 lw s3, 0x28(sp)               |     s3 = *(var_28h);
    0x0004aa08 lw s2, 0x24(sp)               |     s2 = *(var_24h);
    0x0004aa0c lw s1, 0x20(sp)               |     s1 = *(var_20h);
    0x0004aa10 lw s0, 0x1c(sp)               |     s0 = *(var_1ch);
    0x0004aa14 addiu sp, sp, 0x30            |     
    0x0004aa18 jr ra                         |     return v0;
                                             | }
    ; assembly                               | /* r2dec pseudo code output */
                                             | /* /logs/firmware/unblob_extracted/firmware_extract/11108416-13869836.lzma_extract/lzma.uncompressed_extract/3761304-11775640.cpio_portable_ascii_extract/lib/libuClibc-0.9.33.2.so @ 0x13210 */
                                             | #include <stdint.h>
                                             |  
    ; (fcn) sym.vwarnx ()                    | void vwarnx () {
                                             | label_0:
    0x00012fe0 lui gp, 0xa                   |     
    0x00012fe4 addiu gp, gp, 0x2700          |     
    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, -0x7564(gp)            |         v1 = *((gp - 7513));
    0x00013024 lw t9, -0x7e60(gp)            |         t9 = *((gp - 8088));
    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, -0x7fa8(gp)            |         s1 = *((gp - 8170));
    0x00013044 addiu s1, s1, -0x7f09         |         s1 += -0x7f09;
    0x00013048 b 0x13054                     |         
                                             |     } else {
    0x0001304c lw s1, -0x7fa8(gp)            |         s1 = *((gp - 8170));
    0x00013050 addiu s1, s1, -0x7f05         |         s1 += -0x7f05;
                                             |     }
    0x00013054 lw v0, -0x7618(gp)            |     v0 = *((gp - 7558));
    0x00013058 lw v0, (v0)                   |     v0 = *(v0);
    0x0001305c lw s0, 0x48(v0)               |     s0 = *((v0 + 18));
    0x00013060 lw s3, -0x7618(gp)            |     s3 = *((gp - 7558));
                                             |     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, -0x7618(gp)            |     v0 = *((gp - 7558));
                                             |     if (v1 == 0) {
    0x000130a4 bnez v1, 0x130bc              |         
    0x000130a8 lw t9, -0x7e5c(gp)            |         t9 = *((gp - 8087));
    0x000130ac jalr t9                       |         t9 ();
    0x000130b0 nop                           |         
    0x000130b4 lw gp, 0x10(sp)               |         gp = *(var_10h);
    0x000130b8 lw v0, -0x7618(gp)            |         v0 = *((gp - 7558));
                                             |     }
    0x000130bc lw v0, (v0)                   |     v0 = *(v0);
    0x000130c0 sw s3, 0x54(v0)               |     *((v0 + 21)) = s3;
                                             | label_2:
    0x000130c4 lw v0, -0x7618(gp)            |     v0 = *((gp - 7558));
    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, -0x7618(gp)            |     s3 = *((gp - 7558));
                                             | label_1:
    0x000130dc lw v0, -0x7fd8(gp)            |     v0 = *((gp - 8182));
    0x000130e0 lw a1, -0x7fa8(gp)            |     a1 = *((gp - 8170));
    0x000130e4 lw t9, -0x7f58(gp)            |     t9 = *((gp - 8150));
    0x000130e8 lw a0, (s3)                   |     a0 = *(s3);
    0x000130ec lw a2, (v0)                   |     a2 = *(v0);
    0x000130f0 addiu a1, a1, -0x7f10         |     a1 += -0x7f10;
    0x000130f4 bal 0x2f830                   |     sym_fprintf ()
    0x000130f8 lw gp, 0x10(sp)               |     gp = *(var_10h);
                                             |     if (s2 != 0) {
    0x000130fc beqz s2, 0x1311c              |         
    0x00013100 lw t9, -0x7e58(gp)            |         t9 = *((gp - 8086));
    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, -0x7618(gp)            |     s2 = *((gp - 7558));
    0x00013120 lw t9, -0x7f58(gp)            |     t9 = *((gp - 8150));
    0x00013124 move a1, s1                   |     a1 = s1;
    0x00013128 lw a0, (s2)                   |     a0 = *(s2);
    0x0001312c addiu a2, sp, 0x18            |     a2 = sp + 0x18;
    0x00013130 bal 0x2f830                   |     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, 0xa                   |     
    0x00013214 addiu gp, gp, 0x24d0          |     
    0x00013218 addu gp, gp, t9               |     gp += t9;
    0x0001321c lw t9, -0x7f8c(gp)            |     t9 = *((gp - 8163));
    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