[*] Binary protection state of httpd

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


[*] Function strcpy tear down of httpd

    ; assembly                               | /* r2dec pseudo code output */
                                             | /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/sbin/httpd @ 0x3e258 */
                                             | #include <stdint.h>
                                             |  
    ; (fcn) sym.ap_directory_walk ()         | void ap_directory_walk () {
    0x0003e258 lui gp, 6                     |     
    0x0003e25c addiu gp, gp, 0x4cc8          |     
    0x0003e260 addu gp, gp, t9               |     gp += t9;
    0x0003e264 lw v0, -0x7534(gp)            |     v0 = *(gp);
    0x0003e268 addiu sp, sp, -0x120          |     
    0x0003e26c lw a2, 0xe8(a0)               |     a2 = *((a0 + 58));
    0x0003e270 sw v0, 0x50(sp)               |     *(var_50h) = v0;
    0x0003e274 lw v0, (v0)                   |     v0 = *(v0);
    0x0003e278 sw gp, 0x28(sp)               |     *(var_28h) = gp;
    0x0003e27c sw s1, 0xfc(sp)               |     *(var_fch) = s1;
    0x0003e280 sw v0, 0xf4(sp)               |     *(var_f4h) = v0;
    0x0003e284 sw ra, 0x11c(sp)              |     *(var_11ch) = ra;
    0x0003e288 sw fp, 0x118(sp)              |     *(var_118h) = fp;
    0x0003e28c sw s7, 0x114(sp)              |     *(var_114h) = s7;
    0x0003e290 sw s6, 0x110(sp)              |     *(var_110h) = s6;
    0x0003e294 sw s5, 0x10c(sp)              |     *(var_10ch) = s5;
    0x0003e298 sw s4, 0x108(sp)              |     *(var_108h) = s4;
    0x0003e29c sw s3, 0x104(sp)              |     *(var_104h) = s3;
    0x0003e2a0 sw s2, 0x100(sp)              |     *(var_100h) = s2;
    0x0003e2a4 sw s0, 0xf8(sp)               |     *(var_f8h) = s0;
    0x0003e2a8 move s1, a0                   |     s1 = a0;
    0x0003e2ac lw v0, 8(a0)                  |     v0 = *((a0 + 2));
                                             |     if (a2 == 0) {
    0x0003e2b0 beqz a2, 0x3e6d8              |         goto label_43;
                                             |     }
    0x0003e2b4 lw v0, 0x18(v0)               |     v0 = *((v0 + 6));
    0x0003e2b8 lw v1, (a0)                   |     v1 = *(a0);
    0x0003e2bc lw t9, -0x7380(gp)            |     t9 = sym.imp.apr_filepath_merge;
    0x0003e2c0 lw v0, (v0)                   |     v0 = *(v0);
    0x0003e2c4 addiu a3, zero, 4             |     a3 = 4;
    0x0003e2c8 sw v0, 0x54(sp)               |     *(var_54h_2) = v0;
    0x0003e2cc lw v0, 0xc(v0)                |     v0 = *((v0 + 3));
    0x0003e2d0 move a1, zero                 |     a1 = 0;
    0x0003e2d4 addiu a0, sp, 0x6c            |     a0 = sp + 0x6c;
    0x0003e2d8 lw t0, 0x10(v0)               |     t0 = *((v0 + 4));
    0x0003e2dc lw v0, 8(v0)                  |     v0 = *((v0 + 2));
    0x0003e2e0 sw t0, 0x4c(sp)               |     *(var_4ch_2) = t0;
    0x0003e2e4 sw v0, 0x30(sp)               |     *(var_30h_2) = v0;
    0x0003e2e8 sw v1, 0x10(sp)               |     *(var_10h_3) = v1;
    0x0003e2ec jalr t9                       |     t9 ();
    0x0003e2f0 lw gp, 0x28(sp)               |     gp = *(var_28h);
                                             |     if (v0 != 0) {
    0x0003e2f4 beqz v0, 0x3e370              |         
    0x0003e2f8 lw v1, 0x108(s1)              |         v1 = *(s1);
                                             |         if (v1 == 0) {
    0x0003e2fc beql v1, zero, 0x3f00c        |             goto label_44;
                                             |         }
    0x0003e300 lw v0, 4(s1)                  |         v0 = *((s1 + 1));
                                             | label_29:
    0x0003e304 lw v0, (v1)                   |         v0 = *(v1);
                                             |         if (v0 == 0) {
                                             | label_28:
    0x0003e308 beql v0, zero, 0x3e67c        |             goto label_45;
                                             |         }
    0x0003e30c lw v0, 4(v1)                  |         v0 = *((v1 + 1));
    0x0003e310 lb v0, (v0)                   |         v0 = *(v0);
    0x0003e314 slti v0, v0, 6                |         v0 = (v0 < 6) ? 1 : 0;
                                             |         if (v0 < 0) {
    0x0003e318 bltz v0, 0x3e678              |             goto label_46;
                                             |         }
    0x0003e31c xori v0, v0, 1                |         v0 ^= 1;
    0x0003e320 lw v0, 0xe8(s1)               |         v0 = *((s1 + 58));
                                             |         if (v0 == 0) {
    0x0003e324 bnel v0, zero, 0x3e690        |             goto label_47;
                                             |         }
                                             | label_21:
    0x0003e328 move s2, zero                 |         s2 = 0;
                                             | label_4:
    0x0003e32c lw v0, 0x50(sp)               |         v0 = *(var_50h);
                                             | label_40:
    0x0003e330 lw a0, 0xf4(sp)               |         a0 = *(var_f4h);
    0x0003e334 lw v1, (v0)                   |         v1 = *(v0);
    0x0003e338 move v0, s2                   |         v0 = s2;
                                             |         if (a0 != v1) {
    0x0003e33c bne a0, v1, 0x3f3ec           |             goto label_48;
                                             |         }
    0x0003e340 lw ra, 0x11c(sp)              |         ra = *(var_11ch);
    0x0003e344 lw fp, 0x118(sp)              |         fp = *(var_118h);
    0x0003e348 lw s7, 0x114(sp)              |         s7 = *(var_114h);
    0x0003e34c lw s6, 0x110(sp)              |         s6 = *(var_110h);
    0x0003e350 lw s5, 0x10c(sp)              |         s5 = *(var_10ch);
    0x0003e354 lw s4, 0x108(sp)              |         s4 = *(var_108h);
    0x0003e358 lw s3, 0x104(sp)              |         s3 = *(var_104h);
    0x0003e35c lw s2, 0x100(sp)              |         s2 = *(var_100h);
    0x0003e360 lw s1, 0xfc(sp)               |         s1 = *(var_fch);
    0x0003e364 lw s0, 0xf8(sp)               |         s0 = *(var_f8h);
    0x0003e368 addiu sp, sp, 0x120           |         
    0x0003e36c jr ra                         |         return v0;
                                             |     }
    0x0003e370 lw t9, -0x7c54(gp)            |     t9 = *(gp);
    0x0003e374 lw v0, 0x6c(sp)               |     v0 = *(var_6ch_2);
    0x0003e378 move a1, s1                   |     a1 = s1;
    0x0003e37c sw v0, 0xe8(s1)               |     *((s1 + 58)) = v0;
                                             |     /* fcn.0003bb2c */
    0x0003e380 addiu t9, t9, -0x44d4         |     t9 += -0x44d4;
    0x0003e384 move a0, zero                 |     a0 = 0;
    0x0003e388 bal 0x3bb2c                   |     fcn_0003bb2c ();
    0x0003e38c move v1, v0                   |     v1 = v0;
    0x0003e390 sw v0, 0x34(sp)               |     *(var_34h_2) = v0;
    0x0003e394 lw v0, 0x16c(s1)              |     v0 = *(s1);
    0x0003e398 lw gp, 0x28(sp)               |     gp = *(var_28h);
    0x0003e39c lw s0, (v1)                   |     s0 = *(v1);
                                             |     if (v0 == 0) {
    0x0003e3a0 beqz v0, 0x3e7a4              |         goto label_49;
                                             |     }
    0x0003e3a4 addiu v1, zero, 6             |     v1 = 6;
    0x0003e3a8 addiu v1, zero, 1             |     v1 = 1;
                                             |     if (v0 == v1) {
    0x0003e3ac beq v0, v1, 0x3e7a4           |         goto label_49;
                                             |     }
    0x0003e3b0 lw t9, -0x74c4(gp)            |     t9 = sym.imp.strlen;
                                             |     if (v0 == v1) {
    0x0003e3b4 beq v0, v1, 0x3f044           |         goto label_50;
                                             |     }
    0x0003e3b8 lw s4, 0xe8(s1)               |     s4 = *((s1 + 58));
                                             | label_30:
    0x0003e3bc move a0, s4                   |     a0 = s4;
    0x0003e3c0 jalr t9                       |     t9 ();
    0x0003e3c4 addu v0, s4, v0               |     v0 = s4 + v0;
    0x0003e3c8 lw gp, 0x28(sp)               |     gp = *(var_28h);
    0x0003e3cc lb v0, -1(v0)                 |     v0 = *((v0 - 1));
                                             | label_7:
    0x0003e3d0 addiu v1, zero, 0x2f          |     v1 = 0x2f;
    0x0003e3d4 lw a2, -0x7fac(gp)            |     a2 = *(gp);
                                             |     if (v0 != v1) {
    0x0003e3d8 bne v0, v1, 0x3e800           |         goto label_51;
                                             |     }
    0x0003e3dc lw v0, 0xf0(s1)               |     v0 = *((s1 + 60));
    0x0003e3e0 lw v1, 0x16c(s1)              |     v1 = *(s1);
    0x0003e3e4 sw v0, 0x58(sp)               |     *(var_58h_2) = v0;
    0x0003e3e8 lw s3, 0x100(s1)              |     s3 = *(s1);
                                             |     if (s0 != 0) {
    0x0003e3ec beqz s0, 0x3e400              |         
                                             | label_8:
    0x0003e3f0 addiu v0, zero, 2             |         v0 = 2;
    0x0003e3f4 lw v0, 0x58(sp)               |         v0 = *(var_58h_2);
                                             |         if (v1 == v0) {
    0x0003e3f8 beq v1, v0, 0x3e844           |             goto label_52;
                                             |         }
                                             | label_10:
    0x0003e3fc lw s4, 0xe8(s1)               |         s4 = *((s1 + 58));
                                             |     }
                                             | label_9:
    0x0003e400 lw a0, 0x34(sp)               |     a0 = *(var_34h_2);
    0x0003e404 sw zero, 0x70(sp)             |     *(var_70h_2) = 0;
    0x0003e408 lw v0, (s3)                   |     v0 = *(s3);
    0x0003e40c lw a0, 0x10(a0)               |     a0 = *((a0 + 4));
    0x0003e410 addiu s5, s1, 0xf0            |     s5 = s1 + 0xf0;
    0x0003e414 lbu t0, 0xa(v0)               |     t0 = *((v0 + 10));
    0x0003e418 lw t2, 8(a0)                  |     t2 = *((a0 + 2));
    0x0003e41c lw s3, 0x10(a0)               |     s3 = *((a0 + 4));
    0x0003e420 lw a0, -0x7f14(gp)            |     a0 = *((gp - 8133));
    0x0003e424 lhu t1, 8(v0)                 |     t1 = *((v0 + 4));
    0x0003e428 lw a3, 0xc(v0)                |     a3 = *((v0 + 3));
    0x0003e42c lbu a2, 0x10(v0)              |     a2 = *((v0 + 16));
    0x0003e430 lw a1, 0x68(v0)               |     a1 = *((v0 + 26));
    0x0003e434 addiu v0, zero, 2             |     v0 = 2;
    0x0003e438 sw a3, 0x7c(sp)               |     *(var_7ch) = a3;
    0x0003e43c sw t2, 0x60(sp)               |     *(var_60h_2) = t2;
    0x0003e440 lw s2, -0x3d28(a0)            |     s2 = *((a0 - 3914));
    0x0003e444 sh t1, 0x78(sp)               |     *(var_78h) = t1;
    0x0003e448 sb t0, 0x7a(sp)               |     *(var_7ah) = t0;
    0x0003e44c sw a2, 0x80(sp)               |     *(var_80h) = a2;
    0x0003e450 sw a1, 0x84(sp)               |     *(var_84h) = a1;
    0x0003e454 lw a3, (s1)                   |     a3 = *(s1);
                                             |     if (v1 == v0) {
    0x0003e458 beq v1, v0, 0x3e750           |         goto label_53;
                                             |     }
    0x0003e45c sw s4, 0xf0(s1)               |     *((s1 + 60)) = s4;
                                             | label_5:
    0x0003e460 lw t9, -0x7518(gp)            |     t9 = *(gp);
    0x0003e464 addiu a0, s1, 0xe8            |     a0 = s1 + 0xe8;
    0x0003e468 move a2, zero                 |     a2 = 0;
    0x0003e46c move a1, s5                   |     a1 = s5;
    0x0003e470 jalr t9                       |     t9 ();
    0x0003e474 lw gp, 0x28(sp)               |     gp = *(var_28h);
    0x0003e478 lw a0, 0xe8(s1)               |     a0 = *((s1 + 58));
                                             |     if (v0 != 0) {
    0x0003e47c bnez v0, 0x3efbc              |         goto label_54;
                                             |     }
    0x0003e480 sltu s0, zero, s0             |     s0 = (0 < s0) ? 1 : 0;
    0x0003e484 lw t9, -0x74c4(gp)            |     t9 = sym.imp.strlen;
    0x0003e488 and v0, s2, s0                |     v0 = s2 & s0;
    0x0003e48c sw v0, 0x40(sp)               |     *(var_40h_2) = v0;
    0x0003e490 jalr t9                       |     t9 ();
    0x0003e494 lw gp, 0x28(sp)               |     gp = *(var_28h);
    0x0003e498 lw a0, 0xf0(s1)               |     a0 = *((s1 + 60));
    0x0003e49c sw v0, 0x3c(sp)               |     *(var_3ch_2) = v0;
    0x0003e4a0 lw t9, -0x74c4(gp)            |     t9 = sym.imp.strlen;
    0x0003e4a4 move s0, v0                   |     s0 = v0;
    0x0003e4a8 jalr t9                       |     t9 ();
    0x0003e4ac lw gp, 0x28(sp)               |     gp = *(var_28h);
    0x0003e4b0 addu v0, v0, s0               |     v0 += s0;
    0x0003e4b4 lw a0, (s1)                   |     a0 = *(s1);
    0x0003e4b8 lw t9, -0x7544(gp)            |     t9 = sym.imp.apr_palloc;
    0x0003e4bc addiu a1, v0, 2               |     a1 = v0 + 2;
    0x0003e4c0 jalr t9                       |     t9 ();
    0x0003e4c4 lw gp, 0x28(sp)               |     gp = *(var_28h);
    0x0003e4c8 lw a1, 0xe8(s1)               |     a1 = *((s1 + 58));
    0x0003e4cc addiu a2, s0, 1               |     a2 = s0 + 1;
    0x0003e4d0 lw t9, -0x74b4(gp)            |     t9 = sym.imp.memcpy;
    0x0003e4d4 move a0, v0                   |     a0 = v0;
    0x0003e4d8 jalr t9                       |     t9 ();
    0x0003e4dc lw gp, 0x28(sp)               |     gp = *(var_28h);
    0x0003e4e0 move a0, v0                   |     a0 = v0;
    0x0003e4e4 sw v0, 0xe8(s1)               |     *((s1 + 58)) = v0;
    0x0003e4e8 ori v0, zero, 0x8000          |     v0 = 0x8000;
    0x0003e4ec sw v0, 0x8c(sp)               |     *(var_8ch) = v0;
    0x0003e4f0 lw t9, -0x7b98(gp)            |     t9 = sym.ap_count_dirs;
    0x0003e4f4 addiu v0, zero, 2             |     v0 = 2;
    0x0003e4f8 sw v0, 0x94(sp)               |     *(var_94h) = v0;
    0x0003e4fc jalr t9                       |     t9 ();
    0x0003e500 lw gp, 0x28(sp)               |     gp = *(var_28h);
    0x0003e504 sw v0, 0x44(sp)               |     *(var_44h_2) = v0;
    0x0003e508 move s4, v0                   |     s4 = v0;
    0x0003e50c lw v0, -0x7c54(gp)            |     v0 = *(gp);
    0x0003e510 lw s6, 0x60(sp)               |     s6 = *(var_60h_2);
    0x0003e514 addiu v0, v0, -0x4580         |     v0 += -0x4580;
    0x0003e518 sw v0, 0x38(sp)               |     *(var_38h_2) = v0;
    0x0003e51c lw v0, -0x7c54(gp)            |     v0 = *(gp);
    0x0003e520 move s0, zero                 |     s0 = 0;
                                             |     /* fcn.0003bcec */
    0x0003e524 addiu v0, v0, -0x4314         |     v0 += -0x4314;
    0x0003e528 move s5, zero                 |     s5 = 0;
    0x0003e52c sw zero, 0x48(sp)             |     *(var_48h_2) = 0;
    0x0003e530 sw v0, 0x64(sp)               |     *(var_64h_2) = v0;
                                             | label_13:
    0x0003e534 lw v0, 0x30(sp)               |     v0 = *(var_30h_2);
    0x0003e538 slt v0, s0, v0                |     v0 = (s0 < v0) ? 1 : 0;
    0x0003e53c lw v0, 0x4c(sp)               |     v0 = *(var_4ch_2);
                                             |     if (v0 == 0) {
    0x0003e540 beqz v0, 0x3e8a8              |         goto label_55;
                                             |     }
    0x0003e544 sll v1, s0, 2                 |     v1 = s0 << 2;
    0x0003e548 addu fp, v0, v1               |     fp = v0 + v1;
    0x0003e54c lw v0, (fp)                   |     v0 = *(fp);
    0x0003e550 lw a0, (v0)                   |     a0 = *(v0);
    0x0003e554 lw v0, 0x38(a0)               |     v0 = *((a0 + 14));
    0x0003e558 lw v0, 0x44(sp)               |     v0 = *(var_44h_2);
                                             |     if (v0 != 0) {
    0x0003e55c bnez v0, 0x3e8ac              |         goto label_56;
                                             |     }
    0x0003e560 lw v0, 4(a0)                  |     v0 = *((a0 + 1));
    0x0003e564 sltu a1, s4, v0               |     a1 = (s4 < v0) ? 1 : 0;
    0x0003e568 lw v0, 0x44(sp)               |     v0 = *(var_44h_2);
                                             |     if (a1 == 0) {
    0x0003e56c bnel a1, zero, 0x3e8ac        |         goto label_56;
                                             |     }
    0x0003e570 move s2, fp                   |     s2 = fp;
    0x0003e574 addiu s7, sp, 0x78            |     s7 = sp + 0x78;
    0x0003e578 b 0x3e618                     |     goto label_57;
                                             | label_1:
    0x0003e57c lw a2, (fp)                   |     a2 = *(fp);
    0x0003e580 lw v0, (s3)                   |     v0 = *(s3);
    0x0003e584 lw v0, 0x34(sp)               |     v0 = *(var_34h_2);
                                             |     if (v0 == a2) {
    0x0003e588 beq v0, a2, 0x3eb7c           |         goto label_58;
                                             |     }
    0x0003e58c sw zero, 0x40(sp)             |     *(var_40h_2) = 0;
    0x0003e590 lw a0, 0x10(v0)               |     a0 = *((v0 + 4));
    0x0003e594 lw v0, 8(a0)                  |     v0 = *((a0 + 2));
    0x0003e598 subu s6, v0, s6               |     __asm ("subu s6, v0, s6");
    0x0003e59c sw s6, 8(a0)                  |     *((a0 + 2)) = s6;
                                             |     if (s5 == 0) {
    0x0003e5a0 beqz s5, 0x3e670              |         goto label_59;
                                             |     }
                                             | label_2:
    0x0003e5a4 lw t9, -0x7b54(gp)            |     t9 = sym.ap_merge_per_dir_configs;
    0x0003e5a8 lw a0, (s1)                   |     a0 = *(s1);
    0x0003e5ac move a1, s5                   |     a1 = s5;
    0x0003e5b0 bal 0x4b8c8                   |     sym_ap_merge_per_dir_configs ();
    0x0003e5b4 lw gp, 0x28(sp)               |     gp = *(var_28h);
    0x0003e5b8 move s5, v0                   |     s5 = v0;
                                             | label_3:
    0x0003e5bc lw v0, 0x34(sp)               |     v0 = *(var_34h_2);
    0x0003e5c0 lw t9, -0x7324(gp)            |     t9 = sym.imp.apr_array_push;
    0x0003e5c4 move s6, zero                 |     s6 = 0;
    0x0003e5c8 lw a0, 0x10(v0)               |     a0 = *((v0 + 4));
    0x0003e5cc jalr t9                       |     t9 ();
    0x0003e5d0 move s3, v0                   |     s3 = v0;
    0x0003e5d4 lw v0, (fp)                   |     v0 = *(fp);
    0x0003e5d8 lw gp, 0x28(sp)               |     gp = *(var_28h);
    0x0003e5dc sw s5, 4(s3)                  |     *((s3 + 1)) = s5;
    0x0003e5e0 sw v0, (s3)                   |     *(s3) = v0;
                                             | label_0:
    0x0003e5e4 lw v0, 0x30(sp)               |     v0 = *(var_30h_2);
                                             |     do {
    0x0003e5e8 addiu s0, s0, 1               |         s0++;
                                             |         if (v0 == s0) {
    0x0003e5ec beql v0, s0, 0x3e8a8          |             goto label_55;
                                             |         }
    0x0003e5f0 move s0, v0                   |         s0 = v0;
    0x0003e5f4 lw v0, 4(s2)                  |         v0 = *((s2 + 1));
                                             | label_12:
    0x0003e5f8 lw a0, (v0)                   |         a0 = *(v0);
    0x0003e5fc lw v0, 0x38(a0)               |         v0 = *((a0 + 14));
    0x0003e600 addiu fp, fp, 4               |         fp += 4;
                                             |         if (v0 != 0) {
    0x0003e604 bnez v0, 0x3e8a8              |             goto label_55;
                                             |         }
    0x0003e608 lw v0, 4(a0)                  |         v0 = *((a0 + 1));
    0x0003e60c sltu a1, s4, v0               |         a1 = (s4 < v0) ? 1 : 0;
    0x0003e610 addiu s2, s2, 4               |         s2 += 4;
                                             |         if (a1 != 0) {
    0x0003e614 bnez a1, 0x3e8a8              |             goto label_55;
                                             |         }
                                             | label_57:
    0x0003e618 sltu v0, v0, s4               |         v0 = (v0 < s4) ? 1 : 0;
                                             |         if (v0 == 0) {
    0x0003e61c beqz v0, 0x3e650              |             goto label_11;
                                             |         }
    0x0003e620 lw v0, 0x30(sp)               |         v0 = *(var_30h_2);
    0x0003e624 bnez v0, 0x3e5e8              |         
                                             |     } while (v0 != 0);
    0x0003e628 lhu v0, 0x18(a0)              |     v0 = *((a0 + 12));
    0x0003e62c lw t0, (a0)                   |     t0 = *(a0);
    0x0003e630 andi v0, v0, 0x100            |     v0 &= aav.0x00000100;
    0x0003e634 lw a0, 0xe8(s1)               |     a0 = *((s1 + 58));
                                             |     if (v0 != 0) {
    0x0003e638 bnez v0, 0x3e878              |         goto label_60;
                                             |     }
    0x0003e63c lw t9, -0x7740(gp)            |     t9 = sym.imp.strcmp;
    0x0003e640 move a1, t0                   |     a1 = t0;
    0x0003e644 jalr t9                       |     t9 ();
    0x0003e648 lw gp, 0x28(sp)               |     gp = *(var_28h);
                                             |     if (v0 != 0) {
    0x0003e64c bnez v0, 0x3e5e4              |         goto label_0;
                                             |     }
                                             | label_11:
    0x0003e650 lw a0, (fp)                   |     a0 = *(fp);
    0x0003e654 lw t9, 0x38(sp)               |     t9 = *(var_38h_2);
    0x0003e658 move a1, s7                   |     a1 = s7;
    0x0003e65c jalr t9                       |     t9 ();
    0x0003e660 lw gp, 0x28(sp)               |     gp = *(var_28h);
                                             |     if (s6 != 0) {
    0x0003e664 bnez s6, 0x3e57c              |         goto label_1;
                                             |     }
    0x0003e668 lw a2, (fp)                   |     a2 = *(fp);
                                             |     if (s5 != 0) {
    0x0003e66c bnez s5, 0x3e5a4              |         goto label_2;
                                             |     }
                                             | label_59:
    0x0003e670 move s5, a2                   |     s5 = a2;
    0x0003e674 b 0x3e5bc                     |     goto label_3;
                                             | label_46:
    0x0003e678 lw v0, 4(v1)                  |     v0 = *((v1 + 1));
                                             | label_45:
    0x0003e67c slti v0, v0, 6                |     v0 = (v0 < 6) ? 1 : 0;
    0x0003e680 xori v0, v0, 1                |     v0 ^= 1;
                                             |     if (v0 == 0) {
    0x0003e684 beql v0, zero, 0x3e32c        |         goto label_4;
                                             |     }
    0x0003e688 move s2, zero                 |     s2 = 0;
    0x0003e68c lw v0, 0xe8(s1)               |     v0 = *((s1 + 58));
                                             | label_47:
    0x0003e690 lw v1, 0xe4(s1)               |     v1 = *((s1 + 57));
    0x0003e694 sw v0, 0x1c(sp)               |     *(var_1ch_2) = v0;
    0x0003e698 lw v0, -0x7fac(gp)            |     v0 = *(gp);
    0x0003e69c lw a0, -0x7fac(gp)            |     a0 = *(gp);
    0x0003e6a0 lw t9, -0x7f08(gp)            |     t9 = sym.ap_log_rerror_;
                                             |     /* str.AH00030:_Module_bug___Request_filename_path__s_is_invalid_or_or_not_absolute_for_uri__s */
    0x0003e6a4 addiu v0, v0, -0x1078         |     v0 += -aav.0x00001078;
    0x0003e6a8 sw v1, 0x20(sp)               |     *(var_20h_2) = v1;
    0x0003e6ac sw v0, 0x18(sp)               |     *(var_18h_3) = v0;
    0x0003e6b0 sw s1, 0x14(sp)               |     *(var_14h) = s1;
    0x0003e6b4 sw zero, 0x10(sp)             |     *(var_10h_3) = 0;
    0x0003e6b8 addiu a3, zero, 6             |     a3 = 6;
    0x0003e6bc move a2, zero                 |     a2 = 0;
    0x0003e6c0 addiu a1, zero, 0x2ba         |     a1 = 0x2ba;
                                             |     /* esilref: '/usr/src/debug/apache2/2.4.57-r0/httpd-2.4.57/server/request.c' */
    0x0003e6c4 addiu a0, a0, -0x1258         |     a0 += -0x1258;
    0x0003e6c8 bal 0x530a8                   |     sym_ap_log_rerror_ ();
    0x0003e6cc move s2, zero                 |     s2 = 0;
    0x0003e6d0 lw gp, 0x28(sp)               |     gp = *(var_28h);
    0x0003e6d4 b 0x3e32c                     |     goto label_4;
                                             | label_43:
    0x0003e6d8 lw v1, 0x108(a0)              |     v1 = *(a0);
                                             |     if (v1 == 0) {
    0x0003e6dc beql v1, zero, 0x3f030        |         goto label_61;
                                             |     }
    0x0003e6e0 lw v1, 4(a0)                  |     v1 = *((a0 + 1));
                                             | label_31:
    0x0003e6e4 lw v0, (v1)                   |     v0 = *(v1);
                                             |     if (v0 == 0) {
                                             | label_32:
    0x0003e6e8 beql v0, zero, 0x3e798        |         goto label_62;
                                             |     }
    0x0003e6ec lw v0, 4(v1)                  |     v0 = *((v1 + 1));
    0x0003e6f0 lb v0, (v0)                   |     v0 = *(v0);
                                             |     if (v0 < 0) {
    0x0003e6f4 bltzl v0, 0x3e798             |         goto label_62;
                                             |     }
    0x0003e6f8 lw v0, 4(v1)                  |     v0 = *((v1 + 1));
    0x0003e6fc slti v0, v0, 6                |     v0 = (v0 < 6) ? 1 : 0;
    0x0003e700 xori v0, v0, 1                |     v0 ^= 1;
                                             |     if (v0 == 0) {
                                             | label_6:
    0x0003e704 beql v0, zero, 0x3e32c        |         goto label_4;
                                             |     }
    0x0003e708 move s2, zero                 |     s2 = 0;
    0x0003e70c lw v0, 0xe4(s1)               |     v0 = *((s1 + 57));
    0x0003e710 lw a0, -0x7fac(gp)            |     a0 = *(gp);
    0x0003e714 sw v0, 0x1c(sp)               |     *(var_1ch_2) = v0;
    0x0003e718 lw v0, -0x7fac(gp)            |     v0 = *(gp);
    0x0003e71c lw t9, -0x7f08(gp)            |     t9 = sym.ap_log_rerror_;
                                             |     /* str.AH00029:_Module_bug___Request_filename_is_missing_for_URI__s */
    0x0003e720 addiu v0, v0, -0x10b8         |     v0 += -0x10b8;
    0x0003e724 sw v0, 0x18(sp)               |     *(var_18h_3) = v0;
    0x0003e728 sw s1, 0x14(sp)               |     *(var_14h) = s1;
    0x0003e72c sw zero, 0x10(sp)             |     *(var_10h_3) = 0;
    0x0003e730 addiu a3, zero, 6             |     a3 = 6;
    0x0003e734 move a2, zero                 |     a2 = 0;
    0x0003e738 addiu a1, zero, 0x2ac         |     a1 = aav.0x000002ac;
                                             |     /* esilref: '/usr/src/debug/apache2/2.4.57-r0/httpd-2.4.57/server/request.c' */
    0x0003e73c addiu a0, a0, -0x1258         |     a0 += -0x1258;
    0x0003e740 bal 0x530a8                   |     sym_ap_log_rerror_ ();
    0x0003e744 move s2, zero                 |     s2 = 0;
    0x0003e748 lw gp, 0x28(sp)               |     gp = *(var_28h);
    0x0003e74c b 0x3e32c                     |     goto label_4;
                                             | label_53:
    0x0003e750 lw v0, 0x58(sp)               |     v0 = *(var_58h_2);
                                             |     if (v0 == 0) {
    0x0003e754 beql v0, zero, 0x3e460        |         goto label_5;
                                             |     }
    0x0003e758 sw s4, 0xf0(s1)               |     *((s1 + 60)) = s4;
    0x0003e75c lb v0, (v0)                   |     v0 = *(v0);
                                             |     if (v0 == 0) {
    0x0003e760 beql v0, zero, 0x3e460        |         goto label_5;
                                             |     }
    0x0003e764 sw s4, 0xf0(s1)               |     *((s1 + 60)) = s4;
    0x0003e768 lw t9, -0x7380(gp)            |     t9 = sym.imp.apr_filepath_merge;
    0x0003e76c lw a2, 0x58(sp)               |     a2 = *(var_58h_2);
    0x0003e770 sw a3, 0x10(sp)               |     *(var_10h_3) = a3;
    0x0003e774 move a1, s4                   |     a1 = s4;
    0x0003e778 addiu a3, zero, 1             |     a3 = 1;
    0x0003e77c move a0, s5                   |     a0 = s5;
    0x0003e780 jalr t9                       |     t9 ();
    0x0003e784 lw gp, 0x28(sp)               |     gp = *(var_28h);
                                             |     if (v0 != 0) {
    0x0003e788 bnez v0, 0x3f33c              |         goto label_63;
                                             |     }
    0x0003e78c lw a3, (s1)                   |     a3 = *(s1);
    0x0003e790 sw zero, 0x58(sp)             |     *(var_58h_2) = 0;
    0x0003e794 b 0x3e460                     |     goto label_5;
                                             | label_62:
    0x0003e798 slti v0, v0, 6                |     v0 = (v0 < 6) ? 1 : 0;
    0x0003e79c xori v0, v0, 1                |     v0 ^= 1;
    0x0003e7a0 b 0x3e704                     |     goto label_6;
                                             | label_49:
    0x0003e7a4 lw t9, -0x7b38(gp)            |     t9 = sym.ap_run_dirwalk_stat;
    0x0003e7a8 ori a2, zero, 0x8170          |     a2 = 0x8170;
    0x0003e7ac move a1, s1                   |     a1 = s1;
    0x0003e7b0 addiu a0, s1, 0x160           |     a0 = s1 + aav.0x00000160;
    0x0003e7b4 bal 0x3de90                   |     sym_ap_run_dirwalk_stat ();
    0x0003e7b8 lw gp, 0x28(sp)               |     gp = *(var_28h);
    0x0003e7bc lw s4, 0xe8(s1)               |     s4 = *((s1 + 58));
                                             |     if (v0 != 0) {
    0x0003e7c0 bnez v0, 0x3f024              |         goto label_64;
                                             |     }
    0x0003e7c4 lw t9, -0x74c4(gp)            |     t9 = sym.imp.strlen;
    0x0003e7c8 move a0, s4                   |     a0 = s4;
    0x0003e7cc jalr t9                       |     t9 ();
    0x0003e7d0 lw a0, 0x16c(s1)              |     a0 = *(s1);
    0x0003e7d4 addu v0, s4, v0               |     v0 = s4 + v0;
    0x0003e7d8 addiu v1, zero, -3            |     v1 = -3;
    0x0003e7dc and v1, a0, v1                |     v1 = a0 & v1;
    0x0003e7e0 lw gp, 0x28(sp)               |     gp = *(var_28h);
    0x0003e7e4 lb v0, -1(v0)                 |     v0 = *((v0 - 1));
                                             |     if (v1 == 0) {
    0x0003e7e8 beqz v1, 0x3e3d0              |         goto label_7;
                                             |     }
    0x0003e7ec addiu v1, zero, 0x2f          |     v1 = 0x2f;
    0x0003e7f0 addiu v0, zero, 1             |     v0 = 1;
                                             |     if (v0 == v1) {
    0x0003e7f4 beq v0, v1, 0x3f024           |         goto label_64;
                                             |     }
    0x0003e7f8 lw a2, -0x7fac(gp)            |     a2 = *(gp);
                                             |     if (a0 == v0) {
    0x0003e7fc beq a0, v0, 0x3f044           |         goto label_50;
                                             |     }
                                             | label_51:
    0x0003e800 lw t9, -0x76e8(gp)            |     t9 = sym.imp.apr_pstrcat;
    0x0003e804 lw a0, (s1)                   |     a0 = *(s1);
    0x0003e808 move a3, zero                 |     a3 = 0;
    0x0003e80c addiu a2, a2, -0x6a2c         |     a2 += -0x6a2c;
    0x0003e810 move a1, s4                   |     a1 = s4;
    0x0003e814 jalr t9                       |     t9 ();
    0x0003e818 lw gp, 0x28(sp)               |     gp = *(var_28h);
    0x0003e81c sw v0, 0x6c(sp)               |     *(var_6ch_2) = v0;
                                             | label_33:
    0x0003e820 lw v1, 0x16c(s1)              |     v1 = *(s1);
    0x0003e824 lw s3, 0x100(s1)              |     s3 = *(s1);
                                             |     if (s0 == 0) {
    0x0003e828 beqz s0, 0x3e86c              |         goto label_36;
                                             |     }
    0x0003e82c addiu v0, zero, 1             |     v0 = 1;
    0x0003e830 lw v0, 0x34(sp)               |     v0 = *(var_34h_2);
                                             |     if (v1 == v0) {
    0x0003e834 beq v1, v0, 0x3e85c           |         goto label_65;
                                             |     }
    0x0003e838 lw v0, 0xf0(s1)               |     v0 = *((s1 + 60));
    0x0003e83c sw v0, 0x58(sp)               |     *(var_58h_2) = v0;
    0x0003e840 b 0x3e3f0                     |     goto label_8;
                                             |     if (v0 == 0) {
                                             | label_52:
    0x0003e844 beql v0, zero, 0x3e85c        |         goto label_65;
                                             |     }
    0x0003e848 lw v0, 0x34(sp)               |     v0 = *(var_34h_2);
    0x0003e84c lb v0, (v0)                   |     v0 = *(v0);
    0x0003e850 lw s4, 0xe8(s1)               |     s4 = *((s1 + 58));
                                             |     if (v0 == 0) {
    0x0003e854 bnel v0, zero, 0x3e400        |         goto label_9;
                                             |     }
    0x0003e858 lw v0, 0x34(sp)               |     v0 = *(var_34h_2);
                                             | label_65:
    0x0003e85c lw a0, 0x4c(sp)               |     a0 = *(var_4ch_2);
    0x0003e860 lw v0, 4(v0)                  |     v0 = *((v0 + 1));
    0x0003e864 lw v0, 0x34(sp)               |     v0 = *(var_34h_2);
                                             |     if (v0 == a0) {
    0x0003e868 beq v0, a0, 0x3f0bc           |         goto label_66;
                                             |     }
                                             | label_36:
    0x0003e86c lw v0, 0xf0(s1)               |     v0 = *((s1 + 60));
    0x0003e870 sw v0, 0x58(sp)               |     *(var_58h_2) = v0;
    0x0003e874 b 0x3e3fc                     |     goto label_10;
                                             | label_60:
    0x0003e878 lw t9, -0x7618(gp)            |     t9 = sym.imp.apr_fnmatch;
    0x0003e87c move a1, a0                   |     a1 = a0;
    0x0003e880 addiu a2, zero, 2             |     a2 = 2;
    0x0003e884 move a0, t0                   |     a0 = t0;
    0x0003e888 jalr t9                       |     t9 ();
    0x0003e88c lw gp, 0x28(sp)               |     gp = *(var_28h);
                                             |     if (v0 == 0) {
    0x0003e890 beqz v0, 0x3e650              |         goto label_11;
                                             |     }
    0x0003e894 lw v0, 0x30(sp)               |     v0 = *(var_30h_2);
    0x0003e898 addiu s0, s0, 1               |     s0++;
    0x0003e89c lw v0, 4(s2)                  |     v0 = *((s2 + 1));
                                             |     if (v0 == s0) {
    0x0003e8a0 bnel v0, s0, 0x3e5f8          |         goto label_12;
                                             |     }
    0x0003e8a4 move s0, v0                   |     s0 = v0;
                                             | label_55:
    0x0003e8a8 lw v0, 0x44(sp)               |     v0 = *(var_44h_2);
                                             | label_56:
    0x0003e8ac sltu v0, s4, v0               |     v0 = (s4 < v0) ? 1 : 0;
    0x0003e8b0 sw zero, 0x74(sp)             |     *(var_74h_2) = 0;
                                             |     if (v0 != 0) {
    0x0003e8b4 bnez v0, 0x3e99c              |         goto label_38;
                                             |     }
    0x0003e8b8 lw a2, 0x7c(sp)               |     a2 = *(var_7ch);
    0x0003e8bc lw a0, 0x84(sp)               |     a0 = *(var_84h);
                                             |     if (a2 == 0) {
    0x0003e8c0 bnez a2, 0x3e8e0              |         
    0x0003e8c4 lw t9, -0x7208(gp)            |         t9 = sym.imp.apr_is_empty_table;
    0x0003e8c8 jalr t9                       |         t9 ();
    0x0003e8cc nop                           |         
    0x0003e8d0 lw gp, 0x28(sp)               |         gp = *(var_28h);
                                             |         if (v0 != 0) {
    0x0003e8d4 bnez v0, 0x3e99c              |             goto label_38;
                                             |         }
    0x0003e8d8 lw a2, 0x7c(sp)               |         a2 = *(var_7ch);
    0x0003e8dc lw a0, 0x84(sp)               |         a0 = *(var_84h);
                                             |     }
    0x0003e8e0 lw v0, 0x54(sp)               |     v0 = *(var_54h_2);
    0x0003e8e4 lw t9, -0x7b34(gp)            |     t9 = sym.ap_parse_htaccess;
    0x0003e8e8 lw a3, 0x80(sp)               |     a3 = *(var_80h);
    0x0003e8ec lw v1, 8(v0)                  |     v1 = *((v0 + 2));
    0x0003e8f0 lw v0, 0xe8(s1)               |     v0 = *((s1 + 58));
    0x0003e8f4 move a1, s1                   |     a1 = s1;
    0x0003e8f8 sw a0, 0x10(sp)               |     *(var_10h_3) = a0;
    0x0003e8fc sw v1, 0x18(sp)               |     *(var_18h_3) = v1;
    0x0003e900 sw v0, 0x14(sp)               |     *(var_14h) = v0;
    0x0003e904 addiu a0, sp, 0x74            |     a0 = sp + 0x74;
    0x0003e908 bal 0x4dfd0                   |     sym_ap_parse_htaccess ();
    0x0003e90c move s2, v0                   |     s2 = v0;
    0x0003e910 lw gp, 0x28(sp)               |     gp = *(var_28h);
                                             |     if (v0 != 0) {
    0x0003e914 bnez v0, 0x3e32c              |         goto label_4;
                                             |     }
    0x0003e918 lw a0, 0x74(sp)               |     a0 = *(var_74h_2);
    0x0003e91c lw t9, 0x38(sp)               |     t9 = *(var_38h_2);
                                             |     if (a0 != 0) {
    0x0003e920 beqz a0, 0x3e99c              |         
    0x0003e924 addiu a1, sp, 0x78            |         a1 = sp + 0x78;
    0x0003e928 jalr t9                       |         t9 ();
    0x0003e92c lw gp, 0x28(sp)               |         gp = *(var_28h);
    0x0003e930 lw a2, 0x74(sp)               |         a2 = *(var_74h_2);
                                             |         if (s6 != 0) {
    0x0003e934 beqz s6, 0x3e958              |             
    0x0003e938 lw v0, (s3)                   |             v0 = *(s3);
    0x0003e93c lw v0, 0x34(sp)               |             v0 = *(var_34h_2);
                                             |             if (v0 == a2) {
    0x0003e940 beq v0, a2, 0x3f144           |                 goto label_67;
                                             |             }
    0x0003e944 sw zero, 0x40(sp)             |             *(var_40h_2) = 0;
    0x0003e948 lw v1, 0x10(v0)               |             v1 = *((v0 + 4));
    0x0003e94c lw v0, 8(v1)                  |             v0 = *((v1 + 2));
    0x0003e950 subu s6, v0, s6               |             __asm ("subu s6, v0, s6");
    0x0003e954 sw s6, 8(v1)                  |             *((v1 + 2)) = s6;
                                             |         }
    0x0003e958 lw t9, -0x7b54(gp)            |         t9 = sym.ap_merge_per_dir_configs;
                                             |         if (s5 == 0) {
    0x0003e95c beqz s5, 0x3efb4              |             goto label_68;
                                             |         }
    0x0003e960 lw a0, (s1)                   |         a0 = *(s1);
    0x0003e964 move a1, s5                   |         a1 = s5;
    0x0003e968 bal 0x4b8c8                   |         sym_ap_merge_per_dir_configs ();
    0x0003e96c lw gp, 0x28(sp)               |         gp = *(var_28h);
    0x0003e970 move s5, v0                   |         s5 = v0;
                                             | label_27:
    0x0003e974 lw v0, 0x34(sp)               |         v0 = *(var_34h_2);
    0x0003e978 lw t9, -0x7324(gp)            |         t9 = sym.imp.apr_array_push;
    0x0003e97c move s6, zero                 |         s6 = 0;
    0x0003e980 lw a0, 0x10(v0)               |         a0 = *((v0 + 4));
    0x0003e984 jalr t9                       |         t9 ();
    0x0003e988 move s3, v0                   |         s3 = v0;
    0x0003e98c lw gp, 0x28(sp)               |         gp = *(var_28h);
    0x0003e990 sw s5, 4(v0)                  |         *((v0 + 1)) = s5;
    0x0003e994 lw v0, 0x74(sp)               |         v0 = *(var_74h_2);
    0x0003e998 sw v0, (s3)                   |         *(s3) = v0;
                                             |     }
                                             | label_38:
    0x0003e99c lw v0, 0x48(sp)               |     v0 = *(var_48h_2);
                                             |     if (v0 != 0) {
    0x0003e9a0 beql v0, zero, 0x3e9c4        |         
    0x0003e9a4 lw v1, 0xf0(s1)               |         v1 = *((s1 + 60));
    0x0003e9a8 lw v1, 0x3c(sp)               |         v1 = *(var_3ch_2);
    0x0003e9ac lw v0, 0xe8(s1)               |         v0 = *((s1 + 58));
    0x0003e9b0 addiu v1, v1, -1              |         v1 += -1;
    0x0003e9b4 addu v0, v0, v1               |         v0 += v1;
    0x0003e9b8 sw v1, 0x3c(sp)               |         *(var_3ch_2) = v1;
    0x0003e9bc sb zero, (v0)                 |         *(v0) = 0;
    0x0003e9c0 lw v1, 0xf0(s1)               |         v1 = *((s1 + 60));
                                             |     }
                                             |     if (v1 == 0) {
    0x0003e9c4 beql v1, zero, 0x3ec50        |         goto label_69;
                                             |     }
    0x0003e9c8 lw v1, 0x16c(s1)              |     v1 = *(s1);
    0x0003e9cc lb a0, (v1)                   |     a0 = *(v1);
    0x0003e9d0 xori a0, a0, 0x2f             |     a0 ^= 0x2f;
                                             |     if (a0 == 0) {
    0x0003e9d4 beqz a0, 0x3ec4c              |         goto label_70;
                                             |     }
    0x0003e9d8 lw t9, -0x72b8(gp)            |     t9 = sym.imp.strchr;
    0x0003e9dc sltiu a0, a0, 1               |     a0 = (a0 < 1) ? 1 : 0;
    0x0003e9e0 lw s2, 0xe8(s1)               |     s2 = *((s1 + 58));
    0x0003e9e4 addu a0, v1, a0               |     a0 = v1 + a0;
    0x0003e9e8 sw v1, 0x48(sp)               |     *(var_48h_2) = v1;
    0x0003e9ec lw s7, 0x3c(sp)               |     s7 = *(var_3ch_2);
    0x0003e9f0 addiu a1, zero, 0x2f          |     a1 = 0x2f;
    0x0003e9f4 jalr t9                       |     t9 ();
    0x0003e9f8 addu s2, s2, s7               |     s2 += s7;
    0x0003e9fc lw gp, 0x28(sp)               |     gp = *(var_28h);
    0x0003ea00 lw v1, 0x48(sp)               |     v1 = *(var_48h_2);
                                             |     if (v0 == 0) {
    0x0003ea04 beqz v0, 0x3eb94              |         goto label_71;
                                             |     }
    0x0003ea08 sb zero, (v0)                 |     *(v0) = 0;
    0x0003ea0c subu v1, v0, v1               |     __asm ("subu v1, v0, v1");
    0x0003ea10 lw t9, -0x74b4(gp)            |     t9 = sym.imp.memcpy;
    0x0003ea14 lw a1, 0xf0(s1)               |     a1 = *((s1 + 60));
    0x0003ea18 addiu a2, v1, 1               |     a2 = v1 + 1;
    0x0003ea1c sw v1, 0x3c(sp)               |     *(var_3ch_2) = v1;
    0x0003ea20 sw v0, 0x48(sp)               |     *(var_48h_2) = v0;
    0x0003ea24 move a0, s2                   |     a0 = s2;
    0x0003ea28 jalr t9                       |     t9 ();
    0x0003ea2c lw v1, 0x3c(sp)               |     v1 = *(var_3ch_2);
    0x0003ea30 lw a3, 0x48(sp)               |     a3 = *(var_48h_2);
    0x0003ea34 addu v0, s7, v1               |     v0 = s7 + v1;
    0x0003ea38 sw v0, 0x3c(sp)               |     *(var_3ch_2) = v0;
    0x0003ea3c addiu v0, zero, 0x2f          |     v0 = 0x2f;
    0x0003ea40 lw gp, 0x28(sp)               |     gp = *(var_28h);
    0x0003ea44 sw a3, 0xf0(s1)               |     *((s1 + 60)) = a3;
    0x0003ea48 sb v0, (a3)                   |     *(a3) = v0;
                                             | label_14:
    0x0003ea4c lb v0, (s2)                   |     v0 = *(s2);
    0x0003ea50 addiu v1, zero, 0x2f          |     v1 = 0x2f;
                                             |     if (v0 == v1) {
    0x0003ea54 bne v0, v1, 0x3ea64           |         
    0x0003ea58 nop                           |         
    0x0003ea5c lb v0, 1(s2)                  |         v0 = *((s2 + 1));
    0x0003ea60 addiu s2, s2, 1               |         s2++;
                                             |     }
    0x0003ea64 lw v1, 0x16c(s1)              |     v1 = *(s1);
                                             |     if (v0 == 0) {
    0x0003ea68 beqz v0, 0x3ec50              |         goto label_69;
                                             |     }
    0x0003ea6c lbu v0, 0x78(sp)              |     v0 = *(var_78h);
                                             |     if (v1 != 0) {
    0x0003ea70 beqz v1, 0x3ea84              |         
    0x0003ea74 addiu v1, zero, 4             |         v1 = 4;
    0x0003ea78 andi v0, v0, 0x44             |         v0 &= 0x44;
    0x0003ea7c addiu v0, zero, 2             |         v0 = 2;
                                             |         if (v0 == v1) {
    0x0003ea80 beq v0, v1, 0x3ec10           |             goto label_72;
                                             |         }
                                             |     }
    0x0003ea84 addiu v0, sp, 0x88            |     v0 = sp + 0x88;
    0x0003ea88 lw t9, -0x7b38(gp)            |     t9 = sym.ap_run_dirwalk_stat;
    0x0003ea8c lui a2, 0x200                 |     a2 = 0x8171;
    0x0003ea90 ori a2, a2, 0x8171            |     
    0x0003ea94 move a1, s1                   |     a1 = s1;
    0x0003ea98 move a0, v0                   |     a0 = v0;
    0x0003ea9c move s7, v0                   |     s7 = v0;
    0x0003eaa0 bal 0x3de90                   |     sym_ap_run_dirwalk_stat ();
    0x0003eaa4 addiu v1, zero, 2             |     v1 = 2;
    0x0003eaa8 lw gp, 0x28(sp)               |     gp = *(var_28h);
                                             |     if (v0 == v1) {
    0x0003eaac beq v0, v1, 0x3ec48           |         goto label_73;
                                             |     }
    0x0003eab0 addiu v1, zero, 0xd           |     v1 = 0xd;
                                             |     if (v0 == v1) {
    0x0003eab4 beql v0, v1, 0x3f1d4          |         goto label_74;
                                             |     }
    0x0003eab8 lw v1, 0xe4(s1)               |     v1 = *((s1 + 57));
    0x0003eabc lw v1, 0x8c(sp)               |     v1 = *(var_8ch);
                                             |     if (v0 != 0) {
    0x0003eac0 beqz v0, 0x3ead4              |         
    0x0003eac4 lui v1, 1                     |         v1 = 0x11178;
    0x0003eac8 addiu v1, v1, 0x1178          |         
    0x0003eacc lw v1, 0x8c(sp)               |         v1 = *(var_8ch);
                                             |         if (v0 != v1) {
    0x0003ead0 bne v0, v1, 0x3f180           |             goto label_75;
                                             |         }
                                             |     }
    0x0003ead4 andi a0, v1, 0x8000           |     a0 = v1 & 0x8000;
    0x0003ead8 ext v1, v1, 0x19, 1           |     __asm ("ext v1, v1, 0x19, 1");
                                             |     if (a0 == 0) {
    0x0003eadc beqz a0, 0x3f180              |         goto label_75;
                                             |     }
    0x0003eae0 lw v0, 0x94(sp)               |     v0 = *(var_94h);
                                             |     if (v1 != 0) {
    0x0003eae4 beqz v1, 0x3eb10              |         
    0x0003eae8 lw v1, 0xe4(sp)               |         v1 = *(var_e4h);
    0x0003eaec lw t9, -0x7740(gp)            |         t9 = sym.imp.strcmp;
    0x0003eaf0 move a1, v1                   |         a1 = v1;
    0x0003eaf4 sw v1, 0x48(sp)               |         *(var_48h_2) = v1;
    0x0003eaf8 move a0, s2                   |         a0 = s2;
    0x0003eafc jalr t9                       |         t9 ();
    0x0003eb00 lw gp, 0x28(sp)               |         gp = *(var_28h);
    0x0003eb04 lw v1, 0x48(sp)               |         v1 = *(var_48h_2);
                                             |         if (v0 != 0) {
    0x0003eb08 bnez v0, 0x3ec1c              |             goto label_76;
                                             |         }
                                             | label_17:
    0x0003eb0c lw v0, 0x94(sp)               |         v0 = *(var_94h);
                                             |     }
    0x0003eb10 addiu v1, zero, 6             |     v1 = 6;
                                             |     if (v0 == v1) {
    0x0003eb14 beql v0, v1, 0x3ebe8          |         goto label_77;
                                             |     }
    0x0003eb18 lw a3, (s1)                   |     a3 = *(s1);
                                             | label_15:
    0x0003eb1c sltiu v1, v0, 2               |     v1 = (v0 < 2) ? 1 : 0;
    0x0003eb20 addiu v1, zero, 2             |     v1 = 2;
                                             |     if (v1 != 0) {
    0x0003eb24 bnez v1, 0x3ec4c              |         goto label_70;
                                             |     }
    0x0003eb28 addiu s4, s4, 1               |     s4++;
                                             |     if (v0 != v1) {
    0x0003eb2c bne v0, v1, 0x3f208           |         goto label_78;
                                             |     }
                                             | label_16:
    0x0003eb30 lw v0, 0x44(sp)               |     v0 = *(var_44h_2);
    0x0003eb34 sltu v0, v0, s4               |     v0 = (v0 < s4) ? 1 : 0;
    0x0003eb38 lw a1, 0x3c(sp)               |     a1 = *(var_3ch_2);
                                             |     if (v0 == 0) {
    0x0003eb3c beqz v0, 0x3eb8c              |         goto label_79;
                                             |     }
    0x0003eb40 lw v0, 0xe8(s1)               |     v0 = *((s1 + 58));
    0x0003eb44 addiu v1, zero, 0x2f          |     v1 = 0x2f;
    0x0003eb48 addu v0, v0, a1               |     v0 += a1;
    0x0003eb4c lb a0, -1(v0)                 |     a0 = *((v0 - 1));
                                             |     if (a0 == v1) {
    0x0003eb50 beql a0, v1, 0x3e534          |         goto label_13;
                                             |     }
    0x0003eb54 sw zero, 0x48(sp)             |     *(var_48h_2) = 0;
    0x0003eb58 sb v1, (v0)                   |     *(v0) = v1;
    0x0003eb5c lw v0, 0xe8(s1)               |     v0 = *((s1 + 58));
    0x0003eb60 addiu v1, a1, 1               |     v1 = a1 + 1;
    0x0003eb64 addu v0, v0, v1               |     v0 += v1;
    0x0003eb68 sw v1, 0x3c(sp)               |     *(var_3ch_2) = v1;
    0x0003eb6c sb zero, (v0)                 |     *(v0) = 0;
    0x0003eb70 addiu v0, zero, 1             |     v0 = 1;
    0x0003eb74 sw v0, 0x48(sp)               |     *(var_48h_2) = v0;
    0x0003eb78 b 0x3e534                     |     goto label_13;
                                             | label_58:
    0x0003eb7c lw s5, 4(s3)                  |     s5 = *((s3 + 1));
    0x0003eb80 addiu s6, s6, -1              |     s6 += -1;
    0x0003eb84 addiu s3, s3, 8               |     s3 += 8;
    0x0003eb88 b 0x3e5e4                     |     goto label_0;
                                             | label_79:
    0x0003eb8c sw zero, 0x48(sp)             |     *(var_48h_2) = 0;
    0x0003eb90 b 0x3e534                     |     goto label_13;
                                             | label_71:
    0x0003eb94 lw t9, -0x74c4(gp)            |     t9 = sym.imp.strlen;
    0x0003eb98 move a0, v1                   |     a0 = v1;
    0x0003eb9c sw v1, 0x5c(sp)               |     *(var_5ch_2) = v1;
    0x0003eba0 jalr t9                       |     t9 ();
    0x0003eba4 lw gp, 0x28(sp)               |     gp = *(var_28h);
    0x0003eba8 lw v1, 0x5c(sp)               |     v1 = *(var_5ch_2);
    0x0003ebac addiu a2, v0, 1               |     a2 = v0 + 1;
    0x0003ebb0 lw t9, -0x74b4(gp)            |     t9 = sym.imp.memcpy;
    0x0003ebb4 move a1, v1                   |     a1 = v1;
    0x0003ebb8 sw v0, 0x48(sp)               |     *(var_48h_2) = v0;
    0x0003ebbc move a0, s2                   |     a0 = s2;
    0x0003ebc0 jalr t9                       |     t9 ();
    0x0003ebc4 lw v0, 0xf0(s1)               |     v0 = *((s1 + 60));
    0x0003ebc8 lw v1, 0x3c(sp)               |     v1 = *(var_3ch_2);
    0x0003ebcc lw a3, 0x48(sp)               |     a3 = *(var_48h_2);
    0x0003ebd0 lw gp, 0x28(sp)               |     gp = *(var_28h);
    0x0003ebd4 addu v1, v1, a3               |     v1 += a3;
    0x0003ebd8 addu v0, v0, a3               |     v0 += a3;
    0x0003ebdc sw v1, 0x3c(sp)               |     *(var_3ch_2) = v1;
    0x0003ebe0 sw v0, 0xf0(s1)               |     *((s1 + 60)) = v0;
    0x0003ebe4 b 0x3ea4c                     |     goto label_14;
                                             | label_77:
    0x0003ebe8 lbu a2, 0x78(sp)              |     a2 = *(var_78h);
    0x0003ebec lw a0, 0xe8(s1)               |     a0 = *((s1 + 58));
    0x0003ebf0 lw t9, 0x64(sp)               |     t9 = *(var_64h_2);
    0x0003ebf4 move a1, s7                   |     a1 = s7;
    0x0003ebf8 jalr t9                       |     t9 ();
    0x0003ebfc move s2, v0                   |     s2 = v0;
    0x0003ec00 lw gp, 0x28(sp)               |     gp = *(var_28h);
                                             |     if (v0 != 0) {
    0x0003ec04 bnez v0, 0x3f37c              |         goto label_80;
                                             |     }
    0x0003ec08 lw v0, 0x94(sp)               |     v0 = *(var_94h);
    0x0003ec0c b 0x3eb1c                     |     goto label_15;
                                             | label_72:
    0x0003ec10 sw v0, 0x94(sp)               |     *(var_94h) = v0;
    0x0003ec14 addiu s4, s4, 1               |     s4++;
    0x0003ec18 b 0x3eb30                     |     goto label_16;
                                             | label_76:
    0x0003ec1c lw t9, -0x7514(gp)            |     t9 = sym.imp.strcpy
    0x0003ec20 move a1, v1                   |     a1 = v1;
    0x0003ec24 move a0, s2                   |     a0 = s2;
    0x0003ec28 jalr t9                       |     t9 ();
    0x0003ec2c lw gp, 0x28(sp)               |     gp = *(var_28h);
    0x0003ec30 lw t9, -0x74c4(gp)            |     t9 = sym.imp.strlen;
    0x0003ec34 lw a0, 0xe8(s1)               |     a0 = *((s1 + 58));
    0x0003ec38 jalr t9                       |     t9 ();
    0x0003ec3c sw v0, 0x3c(sp)               |     *(var_3ch_2) = v0;
    0x0003ec40 lw gp, 0x28(sp)               |     gp = *(var_28h);
    0x0003ec44 b 0x3eb0c                     |     goto label_17;
                                             | label_73:
    0x0003ec48 sw zero, 0x94(sp)             |     *(var_94h) = 0;
                                             | label_70:
    0x0003ec4c lw v1, 0x16c(s1)              |     v1 = *(s1);
                                             | label_69:
    0x0003ec50 addiu v0, sp, 0x88            |     v0 = sp + 0x88;
                                             |     if (v1 == 0) {
    0x0003ec54 beqz v1, 0x3eec0              |         goto label_81;
                                             |     }
    0x0003ec58 addiu v0, zero, 6             |     v0 = 6;
    0x0003ec5c addiu v0, sp, 0x88            |     v0 = sp + 0x88;
                                             |     if (v1 == v0) {
    0x0003ec60 beq v1, v0, 0x3eec0           |         goto label_81;
                                             |     }
                                             | label_22:
    0x0003ec64 lw v0, 0x58(sp)               |     v0 = *(var_58h_2);
    0x0003ec68 lw v0, 0x30(sp)               |     v0 = *(var_30h_2);
                                             |     if (v0 != 0) {
    0x0003ec6c beqz v0, 0x3ec90              |         
    0x0003ec70 lw a1, 0xf0(s1)               |         a1 = *((s1 + 60));
    0x0003ec74 lw v0, 0x58(sp)               |         v0 = *(var_58h_2);
                                             |         if (a1 != 0) {
    0x0003ec78 beqz a1, 0x3ec88              |             
    0x0003ec7c lb v0, (a1)                   |             v0 = *(a1);
    0x0003ec80 lw v0, 0x58(sp)               |             v0 = *(var_58h_2);
                                             |             if (v0 != 0) {
    0x0003ec84 bnez v0, 0x3f128              |                 goto label_82;
                                             |             }
                                             |         }
    0x0003ec88 sw v0, 0xf0(s1)               |         *((s1 + 60)) = v0;
                                             | label_37:
    0x0003ec8c lw v0, 0x30(sp)               |         v0 = *(var_30h_2);
                                             |     }
    0x0003ec90 slt v0, s0, v0                |     v0 = (s0 < v0) ? 1 : 0;
    0x0003ec94 lw v0, 0x30(sp)               |     v0 = *(var_30h_2);
                                             |     if (v0 == 0) {
    0x0003ec98 beqz v0, 0x3ee04              |         goto label_83;
                                             |     }
    0x0003ec9c sll t0, s0, 2                 |     t0 = s0 << 2;
    0x0003eca0 sll s7, v0, 2                 |     s7 = v0 << 2;
    0x0003eca4 lw v0, 0x4c(sp)               |     v0 = *(var_4ch_2);
    0x0003eca8 addiu s4, sp, 0x78            |     s4 = sp + 0x78;
    0x0003ecac addu s2, v0, t0               |     s2 = v0 + t0;
    0x0003ecb0 addu v0, v0, s7               |     v0 += s7;
    0x0003ecb4 sw v0, 0x38(sp)               |     *(var_38h_2) = v0;
    0x0003ecb8 lw v0, -0x7c54(gp)            |     v0 = *(gp);
    0x0003ecbc addiu v0, v0, -0x4580         |     v0 += -0x4580;
    0x0003ecc0 sw v0, 0x54(sp)               |     *(var_54h_2) = v0;
    0x0003ecc4 lw v0, -0x7fac(gp)            |     v0 = *(gp);
                                             |     /* str.directory_walk_rxpool */
    0x0003ecc8 addiu fp, v0, -0xdc0          |     fp = v0 + -aav.0x00000dc0;
    0x0003eccc b 0x3ed2c                     |     goto label_20;
                                             | label_18:
    0x0003ecd0 lw t9, -0x737c(gp)            |     t9 = sym.imp.apr_pool_create_ex;
                                             |     if (a0 == 0) {
    0x0003ecd4 beqz a0, 0x3f078              |         goto label_84;
                                             |     }
                                             | label_35:
    0x0003ecd8 lw t9, -0x7544(gp)            |     t9 = sym.imp.apr_palloc;
    0x0003ecdc sw t2, 0x30(sp)               |     *(var_30h_2) = t2;
    0x0003ece0 sll a1, s0, 3                 |     a1 = s0 << 3;
    0x0003ece4 jalr t9                       |     t9 ();
    0x0003ece8 lw gp, 0x28(sp)               |     gp = *(var_28h);
    0x0003ecec lw t2, 0x30(sp)               |     t2 = *(var_30h_2);
    0x0003ecf0 lw a1, 0xe8(s1)               |     a1 = *((s1 + 58));
    0x0003ecf4 lw t9, -0x7b30(gp)            |     t9 = sym.ap_regexec;
    0x0003ecf8 lw a0, 0x38(t2)               |     a0 = *((t2 + 14));
    0x0003ecfc move a3, v0                   |     a3 = v0;
    0x0003ed00 sw zero, 0x10(sp)             |     *(var_10h_3) = 0;
    0x0003ed04 move a2, s0                   |     a2 = s0;
    0x0003ed08 move s7, v0                   |     s7 = v0;
    0x0003ed0c bal 0x26774                   |     sym_ap_regexec ();
    0x0003ed10 move v1, v0                   |     v1 = v0;
    0x0003ed14 lw gp, 0x28(sp)               |     gp = *(var_28h);
                                             |     if (v0 == 0) {
    0x0003ed18 beqz v0, 0x3ef18              |         goto label_85;
                                             |     }
                                             | label_19:
    0x0003ed1c lw v0, 0x38(sp)               |     v0 = *(var_38h_2);
                                             |     do {
    0x0003ed20 addiu s2, s2, 4               |         s2 += 4;
    0x0003ed24 lw a0, 0x70(sp)               |         a0 = *(var_70h_2);
                                             |         if (v0 == s2) {
    0x0003ed28 beq v0, s2, 0x3ee08           |             goto label_86;
                                             |         }
                                             | label_20:
    0x0003ed2c lw v0, (s2)                   |         v0 = *(s2);
    0x0003ed30 lw t2, (v0)                   |         t2 = *(v0);
    0x0003ed34 lw a0, 0x38(t2)               |         a0 = *((t2 + 14));
    0x0003ed38 lw v0, 0x38(sp)               |         v0 = *(var_38h_2);
    0x0003ed3c beqz a0, 0x3ed20              |         
                                             |     } while (a0 == 0);
    0x0003ed40 lw v0, 0x78(t2)               |     v0 = *((t2 + 30));
    0x0003ed44 lw t9, -0x7b30(gp)            |     t9 = sym.ap_regexec;
                                             |     if (v0 == 0) {
    0x0003ed48 beqz v0, 0x3ed5c              |         goto label_87;
                                             |     }
    0x0003ed4c lw s0, 8(v0)                  |     s0 = *((v0 + 2));
    0x0003ed50 lw a0, 0x70(sp)               |     a0 = *(var_70h_2);
                                             |     if (s0 == 0) {
    0x0003ed54 bnel s0, zero, 0x3ecd0        |         goto label_18;
                                             |     }
    0x0003ed58 lw t9, -0x7b30(gp)            |     t9 = sym.ap_regexec;
                                             | label_87:
    0x0003ed5c lw a1, 0xe8(s1)               |     a1 = *((s1 + 58));
    0x0003ed60 move a3, zero                 |     a3 = 0;
    0x0003ed64 sw zero, 0x10(sp)             |     *(var_10h_3) = 0;
    0x0003ed68 move a2, zero                 |     a2 = 0;
    0x0003ed6c bal 0x26774                   |     sym_ap_regexec ();
    0x0003ed70 lw gp, 0x28(sp)               |     gp = *(var_28h);
                                             |     if (v0 != 0) {
    0x0003ed74 bnez v0, 0x3ed1c              |         goto label_19;
                                             |     }
                                             | label_25:
    0x0003ed78 lw a0, (s2)                   |     a0 = *(s2);
                                             | label_26:
    0x0003ed7c lw t9, 0x54(sp)               |     t9 = *(var_54h_2);
    0x0003ed80 move a1, s4                   |     a1 = s4;
    0x0003ed84 jalr t9                       |     t9 ();
    0x0003ed88 lw gp, 0x28(sp)               |     gp = *(var_28h);
                                             |     if (s6 == 0) {
    0x0003ed8c beqz s6, 0x3ef08              |         goto label_88;
                                             |     }
    0x0003ed90 lw a2, (s2)                   |     a2 = *(s2);
    0x0003ed94 lw v0, (s3)                   |     v0 = *(s3);
    0x0003ed98 lw v0, 0x34(sp)               |     v0 = *(var_34h_2);
                                             |     if (v0 == a2) {
    0x0003ed9c beq v0, a2, 0x3f170           |         goto label_89;
                                             |     }
    0x0003eda0 sw zero, 0x40(sp)             |     *(var_40h_2) = 0;
    0x0003eda4 lw v1, 0x10(v0)               |     v1 = *((v0 + 4));
    0x0003eda8 lw v0, 8(v1)                  |     v0 = *((v1 + 2));
    0x0003edac subu s6, v0, s6               |     __asm ("subu s6, v0, s6");
    0x0003edb0 sw s6, 8(v1)                  |     *((v1 + 2)) = s6;
                                             |     if (s5 == 0) {
    0x0003edb4 beqz s5, 0x3ef10              |         goto label_90;
                                             |     }
                                             | label_23:
    0x0003edb8 lw t9, -0x7b54(gp)            |     t9 = sym.ap_merge_per_dir_configs;
    0x0003edbc lw a0, (s1)                   |     a0 = *(s1);
    0x0003edc0 move a1, s5                   |     a1 = s5;
    0x0003edc4 bal 0x4b8c8                   |     sym_ap_merge_per_dir_configs ();
    0x0003edc8 lw gp, 0x28(sp)               |     gp = *(var_28h);
    0x0003edcc move s5, v0                   |     s5 = v0;
                                             | label_24:
    0x0003edd0 lw v0, 0x34(sp)               |     v0 = *(var_34h_2);
    0x0003edd4 lw t9, -0x7324(gp)            |     t9 = sym.imp.apr_array_push;
    0x0003edd8 addiu s2, s2, 4               |     s2 += 4;
    0x0003eddc lw a0, 0x10(v0)               |     a0 = *((v0 + 4));
    0x0003ede0 move s6, zero                 |     s6 = 0;
    0x0003ede4 jalr t9                       |     t9 ();
    0x0003ede8 move s3, v0                   |     s3 = v0;
    0x0003edec lw v0, -4(s2)                 |     v0 = *((s2 - 1));
    0x0003edf0 lw gp, 0x28(sp)               |     gp = *(var_28h);
    0x0003edf4 sw v0, (s3)                   |     *(s3) = v0;
    0x0003edf8 lw v0, 0x38(sp)               |     v0 = *(var_38h_2);
    0x0003edfc sw s5, 4(s3)                  |     *((s3 + 1)) = s5;
                                             |     if (v0 != s2) {
    0x0003ee00 bne v0, s2, 0x3ed2c           |         goto label_20;
                                             |     }
                                             | label_83:
    0x0003ee04 lw a0, 0x70(sp)               |     a0 = *(var_70h_2);
                                             | label_86:
    0x0003ee08 lw t9, -0x7428(gp)            |     t9 = *(gp);
                                             |     if (a0 != 0) {
    0x0003ee0c beqz a0, 0x3ee1c              |         
    0x0003ee10 jalr t9                       |         t9 ();
    0x0003ee14 nop                           |         
    0x0003ee18 lw gp, 0x28(sp)               |         gp = *(var_28h);
                                             |     }
    0x0003ee1c lw v0, 0x34(sp)               |     v0 = *(var_34h_2);
    0x0003ee20 lw v1, 0x10(v0)               |     v1 = *((v0 + 4));
    0x0003ee24 lw v0, 8(v1)                  |     v0 = *((v1 + 2));
                                             |     if (s6 == 0) {
    0x0003ee28 beqz s6, 0x3f060              |         goto label_91;
                                             |     }
    0x0003ee2c subu v0, v0, s6               |     __asm ("subu v0, v0, s6");
    0x0003ee30 sw v0, 8(v1)                  |     *((v1 + 2)) = v0;
    0x0003ee34 lw v1, 0x16c(s1)              |     v1 = *(s1);
    0x0003ee38 sw zero, 0x40(sp)             |     *(var_40h_2) = 0;
                                             | label_34:
    0x0003ee3c lw a1, 0xe8(s1)               |     a1 = *((s1 + 58));
    0x0003ee40 addiu v0, zero, 2             |     v0 = 2;
    0x0003ee44 sw a1, 0xec(s1)               |     *((s1 + 59)) = a1;
    0x0003ee48 lw a0, (s1)                   |     a0 = *(s1);
                                             |     if (v1 == v0) {
    0x0003ee4c beq v1, v0, 0x3f154           |         goto label_92;
                                             |     }
    0x0003ee50 lw t9, -0x7e88(gp)            |     t9 = sym.ap_make_dirstr_parent;
    0x0003ee54 jalr t9                       |     t9 ();
    0x0003ee58 nop                           |     
    0x0003ee5c lw v1, 0x34(sp)               |     v1 = *(var_34h_2);
    0x0003ee60 lw gp, 0x28(sp)               |     gp = *(var_28h);
    0x0003ee64 sw v0, (v1)                   |     *(v1) = v0;
                                             | label_39:
    0x0003ee68 lw v1, 0x40(sp)               |     v1 = *(var_40h_2);
    0x0003ee6c lw v0, 0x100(s1)              |     v0 = *(s1);
                                             |     if (v1 != 0) {
    0x0003ee70 beqz v1, 0x3ee84              |         
    0x0003ee74 lw v1, 0x34(sp)               |         v1 = *(var_34h_2);
    0x0003ee78 lw v1, 8(v1)                  |         v1 = *((v1 + 2));
                                             |         if (v1 == v0) {
    0x0003ee7c beql v1, v0, 0x3f254          |             goto label_93;
                                             |         }
    0x0003ee80 lw v0, 0x34(sp)               |         v0 = *(var_34h_2);
                                             |     }
    0x0003ee84 lw v1, 0x34(sp)               |     v1 = *(var_34h_2);
    0x0003ee88 lw a0, 0x4c(sp)               |     a0 = *(var_4ch_2);
    0x0003ee8c sw v0, 8(v1)                  |     *((v1 + 2)) = v0;
    0x0003ee90 sw a0, 4(v1)                  |     *((v1 + 1)) = a0;
                                             |     if (s5 != 0) {
    0x0003ee94 beqz s5, 0x3eeb4              |         
    0x0003ee98 lw t9, -0x7b54(gp)            |         t9 = sym.ap_merge_per_dir_configs;
    0x0003ee9c lw a0, (s1)                   |         a0 = *(s1);
    0x0003eea0 move a1, v0                   |         a1 = v0;
    0x0003eea4 move a2, s5                   |         a2 = s5;
    0x0003eea8 bal 0x4b8c8                   |         sym_ap_merge_per_dir_configs ();
    0x0003eeac lw gp, 0x28(sp)               |         gp = *(var_28h);
    0x0003eeb0 sw v0, 0x100(s1)              |         *(s1) = v0;
                                             |     }
    0x0003eeb4 lw v1, 0x34(sp)               |     v1 = *(var_34h_2);
    0x0003eeb8 sw v0, 0xc(v1)                |     *((v1 + 3)) = v0;
    0x0003eebc b 0x3e328                     |     goto label_21;
                                             | label_81:
    0x0003eec0 addiu v1, s1, 0x160           |     v1 = s1 + aav.0x00000160;
    0x0003eec4 addiu t0, sp, 0xe8            |     t0 = sp + 0xe8;
                                             |     do {
    0x0003eec8 lw a3, (v0)                   |         a3 = *(v0);
    0x0003eecc lw a2, 4(v0)                  |         a2 = *((v0 + 1));
    0x0003eed0 lw a1, 8(v0)                  |         a1 = *((v0 + 2));
    0x0003eed4 lw a0, 0xc(v0)                |         a0 = *((v0 + 3));
    0x0003eed8 addiu v0, v0, 0x10            |         v0 += 0x10;
    0x0003eedc sw a3, (v1)                   |         *(v1) = a3;
    0x0003eee0 sw a2, 4(v1)                  |         *((v1 + 1)) = a2;
    0x0003eee4 sw a1, 8(v1)                  |         *((v1 + 2)) = a1;
    0x0003eee8 sw a0, 0xc(v1)                |         *((v1 + 3)) = a0;
    0x0003eeec addiu v1, v1, 0x10            |         v1 += 0x10;
    0x0003eef0 bne v0, t0, 0x3eec8           |         
                                             |     } while (v0 != t0);
    0x0003eef4 lw a0, (v0)                   |     a0 = *(v0);
    0x0003eef8 lw v0, 4(v0)                  |     v0 = *((v0 + 1));
    0x0003eefc sw a0, (v1)                   |     *(v1) = a0;
    0x0003ef00 sw v0, 4(v1)                  |     *((v1 + 1)) = v0;
    0x0003ef04 b 0x3ec64                     |     goto label_22;
                                             | label_88:
    0x0003ef08 lw a2, (s2)                   |     a2 = *(s2);
                                             |     if (s5 != 0) {
    0x0003ef0c bnez s5, 0x3edb8              |         goto label_23;
                                             |     }
                                             | label_90:
    0x0003ef10 move s5, a2                   |     s5 = a2;
    0x0003ef14 b 0x3edd0                     |     goto label_24;
                                             | label_85:
    0x0003ef18 lw t2, 0x30(sp)               |     t2 = *(var_30h_2);
                                             |     if (s0 <= 0) {
    0x0003ef1c blez s0, 0x3ed78              |         goto label_25;
                                             |     }
                                             |     do {
    0x0003ef20 lw v0, (s7)                   |         v0 = *(s7);
                                             |         if (v0 >= 0) {
    0x0003ef24 bltzl v0, 0x3efa4             |             
    0x0003ef28 addiu v1, v1, 1               |             v1++;
    0x0003ef2c lw a2, 4(s7)                  |             a2 = *((s7 + 1));
    0x0003ef30 sll a3, v1, 2                 |             a3 = v1 << 2;
                                             |             if (a2 >= 0) {
    0x0003ef34 bltz a2, 0x3efa0              |                 
    0x0003ef38 lw a0, 0x78(t2)               |                 a0 = *((t2 + 30));
    0x0003ef3c lw a0, 0x10(a0)               |                 a0 = *((a0 + 4));
    0x0003ef40 lwx a3, a3(a0)                |                 __asm ("lwx a3, a3(a0)");
    0x0003ef44 sw a3, 0x30(sp)               |                 *(var_30h_2) = a3;
                                             |                 if (a3 == 0) {
    0x0003ef48 beqz a3, 0x3efa0              |                     goto label_94;
                                             |                 }
    0x0003ef4c lw t4, 0xbc(s1)               |                 t4 = *((s1 + 47));
    0x0003ef50 lw a1, 0xe8(s1)               |                 a1 = *((s1 + 58));
    0x0003ef54 lw t9, -0x74d4(gp)            |                 t9 = sym.imp.apr_pstrndup;
    0x0003ef58 lw a0, (s1)                   |                 a0 = *(s1);
    0x0003ef5c sw v1, 0x48(sp)               |                 *(var_48h_2) = v1;
    0x0003ef60 sw t2, 0x44(sp)               |                 *(var_44h_2) = t2;
    0x0003ef64 sw t4, 0x3c(sp)               |                 *(var_3ch_2) = t4;
    0x0003ef68 subu a2, a2, v0               |                 __asm ("subu a2, a2, v0");
    0x0003ef6c addu a1, a1, v0               |                 a1 += v0;
    0x0003ef70 jalr t9                       |                 t9 ();
    0x0003ef74 lw gp, 0x28(sp)               |                 gp = *(var_28h);
    0x0003ef78 lw a3, 0x30(sp)               |                 a3 = *(var_30h_2);
    0x0003ef7c lw t4, 0x3c(sp)               |                 t4 = *(var_3ch_2);
    0x0003ef80 lw t9, -0x7590(gp)            |                 t9 = sym.imp.apr_table_setn;
    0x0003ef84 move a2, v0                   |                 a2 = v0;
    0x0003ef88 move a1, a3                   |                 a1 = a3;
    0x0003ef8c move a0, t4                   |                 a0 = t4;
    0x0003ef90 jalr t9                       |                 t9 ();
    0x0003ef94 lw gp, 0x28(sp)               |                 gp = *(var_28h);
    0x0003ef98 lw v1, 0x48(sp)               |                 v1 = *(var_48h_2);
    0x0003ef9c lw t2, 0x44(sp)               |                 t2 = *(var_44h_2);
                                             |             }
                                             | label_94:
    0x0003efa0 addiu v1, v1, 1               |             v1++;
                                             |         }
    0x0003efa4 addiu s7, s7, 8               |         s7 += 8;
    0x0003efa8 bne v1, s0, 0x3ef20           |         
                                             |     } while (v1 != s0);
    0x0003efac lw a0, (s2)                   |     a0 = *(s2);
    0x0003efb0 b 0x3ed7c                     |     goto label_26;
                                             | label_68:
    0x0003efb4 move s5, a2                   |     s5 = a2;
    0x0003efb8 b 0x3e974                     |     goto label_27;
                                             | label_54:
    0x0003efbc lw v1, 0xf0(s1)               |     v1 = *((s1 + 60));
    0x0003efc0 lw a1, 0xe4(s1)               |     a1 = *((s1 + 57));
    0x0003efc4 sw v1, 0x20(sp)               |     *(var_20h_2) = v1;
    0x0003efc8 lw v1, -0x7fac(gp)            |     v1 = *(gp);
    0x0003efcc lw t9, -0x7f08(gp)            |     t9 = sym.ap_log_rerror_;
                                             |     /* str.AH00034:_dir_walk_error__could_not_determine_the_root_path_of_filename__s_s_for_uri__s */
    0x0003efd0 addiu v1, v1, -0xf48          |     v1 += -0xf48;
    0x0003efd4 sw a1, 0x24(sp)               |     *(var_24h_2) = a1;
    0x0003efd8 sw a0, 0x1c(sp)               |     *(var_1ch_2) = a0;
    0x0003efdc sw v1, 0x18(sp)               |     *(var_18h_3) = v1;
    0x0003efe0 sw s1, 0x14(sp)               |     *(var_14h) = s1;
    0x0003efe4 sw v0, 0x10(sp)               |     *(var_10h_3) = v0;
    0x0003efe8 addiu a3, zero, 3             |     a3 = 3;
    0x0003efec move a2, zero                 |     a2 = 0;
    0x0003eff0 addiu a1, zero, 0x3bc         |     a1 = aav.0x000003bc;
                                             | label_41:
    0x0003eff4 lw a0, -0x7fac(gp)            |     a0 = *(gp);
    0x0003eff8 addiu s2, zero, 0x1f4         |     s2 = aav.0x000001f4;
                                             |     /* esilref: '/usr/src/debug/apache2/2.4.57-r0/httpd-2.4.57/server/request.c' */
    0x0003effc addiu a0, a0, -0x1258         |     a0 += -0x1258;
    0x0003f000 bal 0x530a8                   |     sym_ap_log_rerror_ ();
    0x0003f004 lw gp, 0x28(sp)               |     gp = *(var_28h);
    0x0003f008 b 0x3e32c                     |     goto label_4;
                                             | label_44:
    0x0003f00c lw v1, 0x60(v0)               |     v1 = *((v0 + 24));
    0x0003f010 lw v0, (v1)                   |     v0 = *(v1);
                                             |     if (v1 == 0) {
    0x0003f014 bnel v1, zero, 0x3e308        |         goto label_28;
                                             |     }
    0x0003f018 lw v1, 8(s1)                  |     v1 = *((s1 + 2));
    0x0003f01c addiu v1, v1, 0x10            |     v1 += 0x10;
    0x0003f020 b 0x3e304                     |     goto label_29;
                                             | label_64:
    0x0003f024 lw t9, -0x74c4(gp)            |     t9 = sym.imp.strlen;
    0x0003f028 sw zero, 0x16c(s1)            |     *(s1) = 0;
    0x0003f02c b 0x3e3bc                     |     goto label_30;
                                             | label_61:
    0x0003f030 lw v1, 0x60(v1)               |     v1 = *((v1 + 24));
                                             |     if (v1 == 0) {
    0x0003f034 beql v1, zero, 0x3e6e4        |         goto label_31;
                                             |     }
    0x0003f038 addiu v1, v0, 0x10            |     v1 = v0 + 0x10;
    0x0003f03c lw v0, (v1)                   |     v0 = *(v1);
    0x0003f040 b 0x3e6e8                     |     goto label_32;
                                             | label_50:
    0x0003f044 lw t9, -0x7e88(gp)            |     t9 = sym.ap_make_dirstr_parent;
    0x0003f048 lw a1, 0x6c(sp)               |     a1 = *(var_6ch_2);
    0x0003f04c lw a0, (s1)                   |     a0 = *(s1);
    0x0003f050 jalr t9                       |     t9 ();
    0x0003f054 sw v0, 0x6c(sp)               |     *(var_6ch_2) = v0;
    0x0003f058 lw gp, 0x28(sp)               |     gp = *(var_28h);
    0x0003f05c b 0x3e820                     |     goto label_33;
                                             | label_91:
    0x0003f060 lw v1, 0x60(sp)               |     v1 = *(var_60h_2);
    0x0003f064 slt v0, v1, v0                |     v0 = (v1 < v0) ? 1 : 0;
    0x0003f068 sw zero, 0x40(sp)             |     *(var_40h_2) = 0;
                                             |     if (v0 != 0) {
    0x0003f06c bnel v0, zero, 0x3f070        |         
                                             |     }
    0x0003f070 lw v1, 0x16c(s1)              |     v1 = *(s1);
    0x0003f074 b 0x3ee3c                     |     goto label_34;
                                             | label_84:
    0x0003f078 lw a1, (s1)                   |     a1 = *(s1);
    0x0003f07c sw t2, 0x30(sp)               |     *(var_30h_2) = t2;
    0x0003f080 move a3, zero                 |     a3 = 0;
    0x0003f084 move a2, zero                 |     a2 = 0;
    0x0003f088 addiu a0, sp, 0x70            |     a0 = sp + 0x70;
    0x0003f08c jalr t9                       |     t9 ();
    0x0003f090 lw gp, 0x28(sp)               |     gp = *(var_28h);
    0x0003f094 lw a0, 0x70(sp)               |     a0 = *(var_70h_2);
    0x0003f098 lw t9, -0x7698(gp)            |     t9 = sym.imp.apr_pool_tag;
    0x0003f09c move a1, fp                   |     a1 = fp;
    0x0003f0a0 jalr t9                       |     t9 ();
    0x0003f0a4 lw t2, 0x30(sp)               |     t2 = *(var_30h_2);
    0x0003f0a8 lw gp, 0x28(sp)               |     gp = *(var_28h);
    0x0003f0ac lw a0, 0x70(sp)               |     a0 = *(var_70h_2);
    0x0003f0b0 lw v0, 0x78(t2)               |     v0 = *((t2 + 30));
    0x0003f0b4 lw s0, 8(v0)                  |     s0 = *((v0 + 2));
    0x0003f0b8 b 0x3ecd8                     |     goto label_35;
                                             | label_66:
    0x0003f0bc lw t9, -0x7740(gp)            |     t9 = sym.imp.strcmp;
    0x0003f0c0 lw a0, 0x6c(sp)               |     a0 = *(var_6ch_2);
    0x0003f0c4 lw a1, (v0)                   |     a1 = *(v0);
    0x0003f0c8 sw v1, 0x38(sp)               |     *(var_38h_2) = v1;
    0x0003f0cc jalr t9                       |     t9 ();
    0x0003f0d0 move s2, v0                   |     s2 = v0;
    0x0003f0d4 lw gp, 0x28(sp)               |     gp = *(var_28h);
    0x0003f0d8 lw v1, 0x38(sp)               |     v1 = *(var_38h_2);
                                             |     if (v0 != 0) {
    0x0003f0dc bnez v0, 0x3e86c              |         goto label_36;
                                             |     }
    0x0003f0e0 lw a0, 0x34(sp)               |     a0 = *(var_34h_2);
    0x0003f0e4 lw v0, 0xc(a0)                |     v0 = *((a0 + 3));
    0x0003f0e8 lw a0, 8(a0)                  |     a0 = *((a0 + 2));
                                             |     if (v0 == s3) {
    0x0003f0ec beq v0, s3, 0x3f264           |         goto label_95;
                                             |     }
                                             |     if (s3 == a0) {
    0x0003f0f0 beql s3, a0, 0x3f270          |         goto label_96;
                                             |     }
    0x0003f0f4 sw v0, 0x100(s1)              |     *(s1) = v0;
    0x0003f0f8 lw v0, 0x34(sp)               |     v0 = *(var_34h_2);
    0x0003f0fc lw a0, 0x10(v0)               |     a0 = *((v0 + 4));
    0x0003f100 lw v0, 8(a0)                  |     v0 = *((a0 + 2));
                                             |     if (v0 == 0) {
    0x0003f104 beql v0, zero, 0x3f3ac        |         goto label_97;
                                             |     }
    0x0003f108 addiu v0, zero, 1             |     v0 = 1;
    0x0003f10c lw a0, 0x10(a0)               |     a0 = *((a0 + 4));
    0x0003f110 sll v0, v0, 3                 |     v0 <<= 3;
    0x0003f114 addu v0, a0, v0               |     v0 = a0 + v0;
    0x0003f118 addiu a0, zero, 1             |     a0 = 1;
    0x0003f11c sw a0, 0x40(sp)               |     *(var_40h_2) = a0;
    0x0003f120 lw s5, -4(v0)                 |     s5 = *((v0 - 1));
    0x0003f124 b 0x3ee3c                     |     goto label_34;
                                             | label_82:
    0x0003f128 lw t9, -0x7e84(gp)            |     t9 = sym.ap_make_full_path;
    0x0003f12c lw a0, (s1)                   |     a0 = *(s1);
    0x0003f130 lw a2, 0x58(sp)               |     a2 = *(var_58h_2);
    0x0003f134 jalr t9                       |     t9 ();
    0x0003f138 lw gp, 0x28(sp)               |     gp = *(var_28h);
    0x0003f13c sw v0, 0xf0(s1)               |     *((s1 + 60)) = v0;
    0x0003f140 b 0x3ec8c                     |     goto label_37;
                                             | label_67:
    0x0003f144 lw s5, 4(s3)                  |     s5 = *((s3 + 1));
    0x0003f148 addiu s6, s6, -1              |     s6 += -1;
    0x0003f14c addiu s3, s3, 8               |     s3 += 8;
    0x0003f150 b 0x3e99c                     |     goto label_38;
                                             | label_92:
    0x0003f154 lw t9, -0x7654(gp)            |     t9 = sym.imp.apr_pstrdup;
    0x0003f158 jalr t9                       |     t9 ();
    0x0003f15c nop                           |     
    0x0003f160 lw v1, 0x34(sp)               |     v1 = *(var_34h_2);
    0x0003f164 lw gp, 0x28(sp)               |     gp = *(var_28h);
    0x0003f168 sw v0, (v1)                   |     *(v1) = v0;
    0x0003f16c b 0x3ee68                     |     goto label_39;
                                             | label_89:
    0x0003f170 lw s5, 4(s3)                  |     s5 = *((s3 + 1));
    0x0003f174 addiu s6, s6, -1              |     s6 += -1;
    0x0003f178 addiu s3, s3, 8               |     s3 += 8;
    0x0003f17c b 0x3ed1c                     |     goto label_19;
                                             | label_75:
    0x0003f180 lw v1, 0xe4(s1)               |     v1 = *((s1 + 57));
    0x0003f184 lw a0, 0xe8(s1)               |     a0 = *((s1 + 58));
    0x0003f188 sw v1, 0x1c(sp)               |     *(var_1ch_2) = v1;
    0x0003f18c lw v1, -0x7fac(gp)            |     v1 = *(gp);
    0x0003f190 lw t9, -0x7f08(gp)            |     t9 = sym.ap_log_rerror_;
                                             |     /* str.AH00036:_access_to__s_failed__filesystem_path__s_ */
    0x0003f194 addiu v1, v1, -0xe78          |     v1 += -0xe78;
    0x0003f198 sw a0, 0x20(sp)               |     *(var_20h_2) = a0;
    0x0003f19c sw v1, 0x18(sp)               |     *(var_18h_3) = v1;
    0x0003f1a0 sw s1, 0x14(sp)               |     *(var_14h) = s1;
    0x0003f1a4 sw v0, 0x10(sp)               |     *(var_10h_3) = v0;
    0x0003f1a8 addiu a3, zero, 3             |     a3 = 3;
    0x0003f1ac move a2, zero                 |     a2 = 0;
    0x0003f1b0 addiu a1, zero, 0x4ce         |     a1 = 0x4ce;
                                             |     do {
                                             | label_42:
    0x0003f1b4 lw a0, -0x7fac(gp)            |         a0 = *(gp);
    0x0003f1b8 addiu s2, zero, 0x193         |         s2 = 0x193;
                                             |         /* esilref: '/usr/src/debug/apache2/2.4.57-r0/httpd-2.4.57/server/request.c' */
    0x0003f1bc addiu a0, a0, -0x1258         |         a0 += -0x1258;
    0x0003f1c0 bal 0x530a8                   |         sym_ap_log_rerror_ ();
    0x0003f1c4 addiu v0, zero, 0x193         |         v0 = 0x193;
    0x0003f1c8 lw gp, 0x28(sp)               |         gp = *(var_28h);
    0x0003f1cc sw v0, 0x44(s1)               |         *((s1 + 17)) = v0;
    0x0003f1d0 b 0x3e32c                     |         goto label_4;
                                             | label_74:
    0x0003f1d4 lw a0, 0xe8(s1)               |         a0 = *((s1 + 58));
    0x0003f1d8 sw v1, 0x1c(sp)               |         *(var_1ch_2) = v1;
    0x0003f1dc lw v1, -0x7fac(gp)            |         v1 = *(gp);
    0x0003f1e0 lw t9, -0x7f08(gp)            |         t9 = sym.ap_log_rerror_;
                                             |         /* str.AH00035:_access_to__s_denied__filesystem_path__s__because_search_permissions_are_missing_on_a_component_of_the_path */
    0x0003f1e4 addiu v1, v1, -0xef0          |         v1 += -0xef0;
    0x0003f1e8 sw a0, 0x20(sp)               |         *(var_20h_2) = a0;
    0x0003f1ec sw v1, 0x18(sp)               |         *(var_18h_3) = v1;
    0x0003f1f0 sw s1, 0x14(sp)               |         *(var_14h) = s1;
    0x0003f1f4 sw v0, 0x10(sp)               |         *(var_10h_3) = v0;
    0x0003f1f8 addiu a3, zero, 3             |         a3 = 3;
    0x0003f1fc move a2, zero                 |         a2 = 0;
    0x0003f200 addiu a1, zero, 0x4c4         |         a1 = aav.0x000004c4;
    0x0003f204 b 0x3f1b4                     |         
                                             |     } while (1);
                                             | label_78:
    0x0003f208 lw v0, 0xe8(s1)               |     v0 = *((s1 + 58));
    0x0003f20c lw a0, -0x7fac(gp)            |     a0 = *(gp);
    0x0003f210 sw v0, 0x1c(sp)               |     *(var_1ch_2) = v0;
    0x0003f214 lw v0, -0x7fac(gp)            |     v0 = *(gp);
    0x0003f218 lw t9, -0x7f08(gp)            |     t9 = sym.ap_log_rerror_;
                                             |     /* str.AH00038:_Forbidden:__s_doesnt_point_to_a_file_or_directory */
    0x0003f21c addiu v0, v0, -0xdfc          |     v0 += -aav.0x00000dfc;
    0x0003f220 sw v0, 0x18(sp)               |     *(var_18h_3) = v0;
    0x0003f224 sw s1, 0x14(sp)               |     *(var_14h) = s1;
    0x0003f228 sw zero, 0x10(sp)             |     *(var_10h_3) = 0;
    0x0003f22c addiu a3, zero, 3             |     a3 = 3;
    0x0003f230 move a2, zero                 |     a2 = 0;
    0x0003f234 addiu a1, zero, 0x4f7         |     a1 = 0x4f7;
                                             |     /* esilref: '/usr/src/debug/apache2/2.4.57-r0/httpd-2.4.57/server/request.c' */
    0x0003f238 addiu a0, a0, -0x1258         |     a0 += -0x1258;
    0x0003f23c bal 0x530a8                   |     sym_ap_log_rerror_ ();
    0x0003f240 addiu v0, zero, 0x193         |     v0 = 0x193;
    0x0003f244 lw gp, 0x28(sp)               |     gp = *(var_28h);
    0x0003f248 sw v0, 0x44(s1)               |     *((s1 + 17)) = v0;
    0x0003f24c addiu s2, zero, 0x193         |     s2 = 0x193;
    0x0003f250 b 0x3e32c                     |     goto label_4;
                                             | label_93:
    0x0003f254 move s2, zero                 |     s2 = 0;
    0x0003f258 lw v0, 0xc(v0)                |     v0 = *((v0 + 3));
    0x0003f25c sw v0, 0x100(s1)              |     *(s1) = v0;
    0x0003f260 b 0x3e32c                     |     goto label_4;
                                             | label_95:
    0x0003f264 lw v0, (s3)                   |     v0 = *(s3);
                                             |     if (s3 != a0) {
    0x0003f268 bnel s3, a0, 0x3f278          |         
    0x0003f26c sw v0, 0x100(s1)              |         *(s1) = v0;
                                             | label_96:
    0x0003f270 move s3, v0                   |         s3 = v0;
    0x0003f274 lw v0, (s3)                   |         v0 = *(s3);
                                             |     }
    0x0003f278 lbu s0, 8(v0)                 |     s0 = *((v0 + 8));
    0x0003f27c andi v0, s0, 4                |     v0 = s0 & 4;
    0x0003f280 lw v0, 0x50(sp)               |     v0 = *(var_50h);
                                             |     if (v0 != 0) {
    0x0003f284 bnez v0, 0x3e330              |         goto label_40;
                                             |     }
    0x0003f288 addiu v0, sp, 0x88            |     v0 = sp + 0x88;
    0x0003f28c lw t9, -0x7b38(gp)            |     t9 = sym.ap_run_dirwalk_stat;
    0x0003f290 lui a2, 0x200                 |     a2 = 0x8171;
    0x0003f294 ori a2, a2, 0x8171            |     
    0x0003f298 move a1, s1                   |     a1 = s1;
    0x0003f29c move a0, v0                   |     a0 = v0;
    0x0003f2a0 move s7, v0                   |     s7 = v0;
    0x0003f2a4 bal 0x3de90                   |     sym_ap_run_dirwalk_stat ();
    0x0003f2a8 lui v1, 1                     |     v1 = 0x11178;
    0x0003f2ac addiu v1, v1, 0x1178          |     
    0x0003f2b0 lw gp, 0x28(sp)               |     gp = *(var_28h);
                                             |     if (v0 != v1) {
    0x0003f2b4 beq v0, v1, 0x3f2c0           |         
    0x0003f2b8 lw v1, 0xe4(s1)               |         v1 = *((s1 + 57));
                                             |         if (v0 == 0) {
    0x0003f2bc bnel v0, zero, 0x3f3b8        |             goto label_98;
                                             |         }
                                             |     }
    0x0003f2c0 lw v1, 0x94(sp)               |     v1 = *(var_94h);
    0x0003f2c4 addiu v0, zero, 6             |     v0 = 6;
    0x0003f2c8 lw v0, 0x50(sp)               |     v0 = *(var_50h);
                                             |     if (v1 != v0) {
    0x0003f2cc bne v1, v0, 0x3e330           |         goto label_40;
                                             |     }
    0x0003f2d0 lw t9, -0x7c54(gp)            |     t9 = *(gp);
    0x0003f2d4 lw a3, (s1)                   |     a3 = *(s1);
    0x0003f2d8 lw a0, 0xe8(s1)               |     a0 = *((s1 + 58));
    0x0003f2dc move a2, s0                   |     a2 = s0;
                                             |     /* fcn.0003bcec */
    0x0003f2e0 addiu t9, t9, -0x4314         |     t9 += -0x4314;
    0x0003f2e4 move a1, s7                   |     a1 = s7;
    0x0003f2e8 bal 0x3bcec                   |     fcn_0003bcec ();
    0x0003f2ec move s2, v0                   |     s2 = v0;
    0x0003f2f0 lw gp, 0x28(sp)               |     gp = *(var_28h);
                                             |     if (v0 == 0) {
    0x0003f2f4 beqz v0, 0x3e32c              |         goto label_4;
                                             |     }
    0x0003f2f8 lw v0, 0xe8(s1)               |     v0 = *((s1 + 58));
    0x0003f2fc lw t9, -0x7f08(gp)            |     t9 = sym.ap_log_rerror_;
    0x0003f300 sw v0, 0x1c(sp)               |     *(var_1ch_2) = v0;
    0x0003f304 lw v0, -0x7fac(gp)            |     v0 = *(gp);
    0x0003f308 sw s1, 0x14(sp)               |     *(var_14h) = s1;
                                             |     /* str.AH00032:_Symbolic_link_not_allowed_or_link_target_not_accessible:__s */
    0x0003f30c addiu v0, v0, -0xfec          |     v0 += -0xfec;
    0x0003f310 sw v0, 0x18(sp)               |     *(var_18h_3) = v0;
    0x0003f314 sw zero, 0x10(sp)             |     *(var_10h_3) = 0;
    0x0003f318 addiu a3, zero, 3             |     a3 = 3;
    0x0003f31c move a2, zero                 |     a2 = 0;
    0x0003f320 addiu a1, zero, 0x332         |     a1 = 0x332;
                                             |     do {
    0x0003f324 lw a0, -0x7fac(gp)            |         a0 = *(gp);
                                             |         /* esilref: '/usr/src/debug/apache2/2.4.57-r0/httpd-2.4.57/server/request.c' */
    0x0003f328 addiu a0, a0, -0x1258         |         a0 += -0x1258;
    0x0003f32c bal 0x530a8                   |         sym_ap_log_rerror_ ();
    0x0003f330 lw gp, 0x28(sp)               |         gp = *(var_28h);
    0x0003f334 sw s2, 0x44(s1)               |         *((s1 + 17)) = s2;
    0x0003f338 b 0x3e32c                     |         goto label_4;
                                             | label_63:
    0x0003f33c lw v1, 0xf0(s1)               |         v1 = *((s1 + 60));
    0x0003f340 lw a1, 0xe4(s1)               |         a1 = *((s1 + 57));
    0x0003f344 lw a0, 0xe8(s1)               |         a0 = *((s1 + 58));
    0x0003f348 sw v1, 0x1c(sp)               |         *(var_1ch_2) = v1;
    0x0003f34c lw v1, -0x7fac(gp)            |         v1 = *(gp);
    0x0003f350 sw a1, 0x24(sp)               |         *(var_24h_2) = a1;
                                             |         /* str.AH00033:_dir_walk_error__path_info__s_is_not_relative_to_the_filename_path__s_for_uri__s */
    0x0003f354 addiu v1, v1, -0xfa4          |         v1 += -0xfa4;
    0x0003f358 lw t9, -0x7f08(gp)            |         t9 = sym.ap_log_rerror_;
    0x0003f35c sw a0, 0x20(sp)               |         *(var_20h_2) = a0;
    0x0003f360 sw v1, 0x18(sp)               |         *(var_18h_3) = v1;
    0x0003f364 sw s1, 0x14(sp)               |         *(var_14h) = s1;
    0x0003f368 sw v0, 0x10(sp)               |         *(var_10h_3) = v0;
    0x0003f36c addiu a3, zero, 3             |         a3 = 3;
    0x0003f370 move a2, zero                 |         a2 = 0;
    0x0003f374 addiu a1, zero, 0x379         |         a1 = 0x379;
    0x0003f378 b 0x3eff4                     |         goto label_41;
                                             | label_80:
    0x0003f37c lw v0, 0xe8(s1)               |         v0 = *((s1 + 58));
    0x0003f380 lw t9, -0x7f08(gp)            |         t9 = sym.ap_log_rerror_;
    0x0003f384 sw v0, 0x1c(sp)               |         *(var_1ch_2) = v0;
    0x0003f388 lw v0, -0x7fac(gp)            |         v0 = *(gp);
    0x0003f38c sw s1, 0x14(sp)               |         *(var_14h) = s1;
                                             |         /* str.AH00037:_Symbolic_link_not_allowed_or_link_target_not_accessible:__s */
    0x0003f390 addiu v0, v0, -0xe44          |         v0 += -0xe44;
    0x0003f394 sw v0, 0x18(sp)               |         *(var_18h_3) = v0;
    0x0003f398 sw zero, 0x10(sp)             |         *(var_10h_3) = 0;
    0x0003f39c addiu a3, zero, 3             |         a3 = 3;
    0x0003f3a0 move a2, zero                 |         a2 = 0;
    0x0003f3a4 addiu a1, zero, 0x4e6         |         a1 = 0x4e6;
    0x0003f3a8 b 0x3f324                     |         
                                             |     } while (1);
                                             | label_97:
    0x0003f3ac sw v0, 0x40(sp)               |     *(var_40h_2) = v0;
    0x0003f3b0 move s5, zero                 |     s5 = 0;
    0x0003f3b4 b 0x3ee3c                     |     goto label_34;
                                             | label_98:
    0x0003f3b8 lw a0, 0xe8(s1)               |     a0 = *((s1 + 58));
    0x0003f3bc sw v1, 0x1c(sp)               |     *(var_1ch_2) = v1;
    0x0003f3c0 lw v1, -0x7fac(gp)            |     v1 = *(gp);
    0x0003f3c4 lw t9, -0x7f08(gp)            |     t9 = sym.ap_log_rerror_;
                                             |     /* str.AH00031:_access_to__s_failed__stat_of__s_failed. */
    0x0003f3c8 addiu v1, v1, -0x1020         |     v1 += -0x1020;
    0x0003f3cc sw a0, 0x20(sp)               |     *(var_20h_2) = a0;
    0x0003f3d0 sw v1, 0x18(sp)               |     *(var_18h_3) = v1;
    0x0003f3d4 sw s1, 0x14(sp)               |     *(var_14h) = s1;
    0x0003f3d8 sw v0, 0x10(sp)               |     *(var_10h_3) = v0;
    0x0003f3dc addiu a3, zero, 3             |     a3 = 3;
    0x0003f3e0 move a2, zero                 |     a2 = 0;
    0x0003f3e4 addiu a1, zero, 0x328         |     a1 = aav.0x00000328;
    0x0003f3e8 b 0x3f1b4                     |     goto label_42;
                                             | label_48:
    0x0003f3ec lw t9, -0x75e8(gp)            |     t9 = sym.imp.__stack_chk_fail;
    0x0003f3f0 jalr t9                       |     t9 ();
    0x0003f3f4 nop                           |     
                                             | }
    ; assembly                               | /* r2dec pseudo code output */
                                             | /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/sbin/httpd @ 0x5f50c */
                                             | #include <stdint.h>
                                             |  
    ; (fcn) sym.ap_rxplus_exec ()            | void ap_rxplus_exec () {
                                             | label_0:
    0x0005f50c lui gp, 4                     |     
    0x0005f510 addiu gp, gp, 0x3a14          |     
    0x0005f514 addu gp, gp, t9               |     gp += t9;
    0x0005f518 addiu sp, sp, -0x58           |     
    0x0005f51c lw v1, 0xc(a1)                |     v1 = *((a1 + 3));
    0x0005f520 sw s2, 0x38(sp)               |     *(var_38h) = s2;
    0x0005f524 lw s2, -0x7534(gp)            |     s2 = *(gp);
    0x0005f528 lw t9, -0x7b30(gp)            |     t9 = sym.ap_regexec;
    0x0005f52c sw s4, 0x40(sp)               |     *(var_40h) = s4;
    0x0005f530 lw v0, (s2)                   |     v0 = *(s2);
    0x0005f534 sw s1, 0x34(sp)               |     *(var_34h) = s1;
    0x0005f538 sw s0, 0x30(sp)               |     *(var_30h) = s0;
    0x0005f53c move s1, a2                   |     s1 = a2;
    0x0005f540 move s0, a1                   |     s0 = a1;
    0x0005f544 lw a2, 0x18(a1)               |     a2 = *((a1 + 6));
    0x0005f548 move s4, a3                   |     s4 = a3;
    0x0005f54c lw a3, 0x1c(a1)               |     a3 = *((a1 + 7));
    0x0005f550 sw gp, 0x18(sp)               |     *(var_18h) = gp;
    0x0005f554 sw s5, 0x44(sp)               |     *(var_44h) = s5;
    0x0005f558 sw ra, 0x54(sp)               |     *(var_54h) = ra;
    0x0005f55c sw fp, 0x50(sp)               |     *(var_50h) = fp;
    0x0005f560 sw s7, 0x4c(sp)               |     *(var_4ch) = s7;
    0x0005f564 sw s6, 0x48(sp)               |     *(var_48h) = s6;
    0x0005f568 sw s3, 0x3c(sp)               |     *(var_3ch) = s3;
    0x0005f56c move s5, a0                   |     s5 = a0;
    0x0005f570 sw v1, 0x10(sp)               |     *(var_10h) = v1;
    0x0005f574 move a1, s1                   |     a1 = s1;
    0x0005f578 move a0, s0                   |     a0 = s0;
    0x0005f57c sw v0, 0x2c(sp)               |     *(var_2ch) = v0;
    0x0005f580 jalr t9                       |     t9 ();
    0x0005f584 nop                           |     
    0x0005f588 lw gp, 0x18(sp)               |     gp = *(var_18h);
                                             |     if (v0 != 0) {
    0x0005f58c bnez v0, 0x5f6d8              |         goto label_2;
                                             |     }
    0x0005f590 lw a1, 0x10(s0)               |     a1 = *((s0 + 4));
    0x0005f594 sw s1, 0x14(s0)               |     *((s0 + 5)) = s1;
                                             |     if (a1 != 0) {
    0x0005f598 beqz a1, 0x5f694              |         
    0x0005f59c move fp, v0                   |         fp = v0;
    0x0005f5a0 lw v0, 0x1c(s0)               |         v0 = *((s0 + 7));
    0x0005f5a4 lw t9, -0x7910(gp)            |         t9 = sym.ap_pregsub;
    0x0005f5a8 lw a3, 0x18(s0)               |         a3 = *((s0 + 6));
    0x0005f5ac move a2, s1                   |         a2 = s1;
    0x0005f5b0 sw v0, 0x10(sp)               |         *(var_10h) = v0;
    0x0005f5b4 move a0, s5                   |         a0 = s5;
    0x0005f5b8 jalr t9                       |         t9 ();
    0x0005f5bc lw gp, 0x18(sp)               |         gp = *(var_18h);
    0x0005f5c0 sw v0, (s4)                   |         *(s4) = v0;
                                             |         if (v0 == 0) {
    0x0005f5c4 beqz v0, 0x5f698              |             goto label_3;
                                             |         }
    0x0005f5c8 lw v1, 0x1c(s0)               |         v1 = *((s0 + 7));
    0x0005f5cc lw t9, -0x74c4(gp)            |         t9 = sym.imp.strlen;
    0x0005f5d0 move a0, v0                   |         a0 = v0;
    0x0005f5d4 lw s7, (v1)                   |         s7 = *(v1);
    0x0005f5d8 lw s3, 4(v1)                  |         s3 = *((v1 + 1));
    0x0005f5dc jalr t9                       |         t9 ();
    0x0005f5e0 subu s3, s3, s7               |         __asm ("subu s3, s3, s7");
    0x0005f5e4 lw v1, 0xc(s0)                |         v1 = *((s0 + 3));
    0x0005f5e8 addu fp, s3, s7               |         fp = s3 + s7;
    0x0005f5ec move s6, v0                   |         s6 = v0;
    0x0005f5f0 andi v1, v1, 0x10             |         v1 &= 0x10;
    0x0005f5f4 addu v0, s1, fp               |         v0 = s1 + fp;
    0x0005f5f8 lw gp, 0x18(sp)               |         gp = *(var_18h);
    0x0005f5fc sw v0, 0x20(sp)               |         *(var_20h) = v0;
    0x0005f600 subu s3, s6, s3               |         __asm ("subu s3, s6, s3");
                                             |         if (v1 != 0) {
    0x0005f604 bnez v1, 0x5f6e4              |             goto label_4;
                                             |         }
    0x0005f608 addiu fp, zero, 1             |         fp = 1;
                                             | label_1:
    0x0005f60c lw t9, -0x74c4(gp)            |         t9 = sym.imp.strlen;
    0x0005f610 move a0, s1                   |         a0 = s1;
    0x0005f614 jalr t9                       |         t9 ();
    0x0005f618 lw gp, 0x18(sp)               |         gp = *(var_18h);
    0x0005f61c addu v0, v0, s3               |         v0 += s3;
    0x0005f620 addiu a1, v0, 1               |         a1 = v0 + 1;
    0x0005f624 lw t9, -0x7544(gp)            |         t9 = sym.imp.apr_palloc;
    0x0005f628 move a0, s5                   |         a0 = s5;
    0x0005f62c jalr t9                       |         t9 ();
    0x0005f630 lw gp, 0x18(sp)               |         gp = *(var_18h);
    0x0005f634 move a2, s7                   |         a2 = s7;
    0x0005f638 move a1, s1                   |         a1 = s1;
    0x0005f63c lw t9, -0x74b4(gp)            |         t9 = sym.imp.memcpy;
    0x0005f640 move a0, v0                   |         a0 = v0;
    0x0005f644 sw v0, 0x28(sp)               |         *(var_28h) = v0;
    0x0005f648 jalr t9                       |         t9 ();
    0x0005f64c lw gp, 0x18(sp)               |         gp = *(var_18h);
    0x0005f650 lw a0, 0x28(sp)               |         a0 = *(var_28h);
    0x0005f654 lw a1, (s4)                   |         a1 = *(s4);
    0x0005f658 lw t9, -0x74b4(gp)            |         t9 = sym.imp.memcpy;
    0x0005f65c move a2, s6                   |         a2 = s6;
    0x0005f660 addu a0, a0, s7               |         a0 += s7;
    0x0005f664 jalr t9                       |         t9 ();
    0x0005f668 lw gp, 0x18(sp)               |         gp = *(var_18h);
    0x0005f66c lw a0, 0x28(sp)               |         a0 = *(var_28h);
    0x0005f670 addu s6, s6, s7               |         s6 += s7;
    0x0005f674 lw t9, -0x7514(gp)            |         t9 = sym.imp.strcpy
    0x0005f678 lw a1, 0x20(sp)               |         a1 = *(var_20h);
    0x0005f67c addu a0, a0, s6               |         a0 += s6;
    0x0005f680 jalr t9                       |         t9 ();
    0x0005f684 lw v0, 0x28(sp)               |         v0 = *(var_28h);
    0x0005f688 lw gp, 0x18(sp)               |         gp = *(var_18h);
    0x0005f68c sw v0, (s4)                   |         *(s4) = v0;
    0x0005f690 b 0x5f698                     |         
                                             |     } else {
    0x0005f694 addiu fp, zero, 1             |         fp = 1;
                                             |     }
                                             |     do {
                                             | label_3:
    0x0005f698 lw a1, 0x2c(sp)               |         a1 = *(var_2ch);
    0x0005f69c lw a0, (s2)                   |         a0 = *(s2);
    0x0005f6a0 move v0, fp                   |         v0 = fp;
                                             |         if (a1 != a0) {
    0x0005f6a4 bne a1, a0, 0x5f74c           |             goto label_5;
                                             |         }
    0x0005f6a8 lw ra, 0x54(sp)               |         ra = *(var_54h);
    0x0005f6ac lw fp, 0x50(sp)               |         fp = *(var_50h);
    0x0005f6b0 lw s7, 0x4c(sp)               |         s7 = *(var_4ch);
    0x0005f6b4 lw s6, 0x48(sp)               |         s6 = *(var_48h);
    0x0005f6b8 lw s5, 0x44(sp)               |         s5 = *(var_44h);
    0x0005f6bc lw s4, 0x40(sp)               |         s4 = *(var_40h);
    0x0005f6c0 lw s3, 0x3c(sp)               |         s3 = *(var_3ch);
    0x0005f6c4 lw s2, 0x38(sp)               |         s2 = *(var_38h);
    0x0005f6c8 lw s1, 0x34(sp)               |         s1 = *(var_34h);
    0x0005f6cc lw s0, 0x30(sp)               |         s0 = *(var_30h);
    0x0005f6d0 addiu sp, sp, 0x58            |         
    0x0005f6d4 jr ra                         |         return v0;
                                             | label_2:
    0x0005f6d8 sw zero, 0x14(s0)             |         *((s0 + 5)) = 0;
    0x0005f6dc move fp, zero                 |         fp = 0;
    0x0005f6e0 b 0x5f698                     |         
                                             |     } while (1);
                                             | label_4:
    0x0005f6e4 lw t9, -0x790c(gp)            |     t9 = sym.ap_rxplus_exec;
    0x0005f6e8 addiu a3, sp, 0x28            |     a3 = sp + 0x28;
    0x0005f6ec move a2, v0                   |     a2 = v0;
    0x0005f6f0 move a1, s0                   |     a1 = s0;
    0x0005f6f4 move a0, s5                   |     a0 = s5;
    0x0005f6f8 bal 0x5f50c                   |     sym_ap_rxplus_exec ();
                                             |     goto label_0;
    0x0005f6fc addiu fp, v0, 1               |     fp = v0 + 1;
    0x0005f700 slti v0, fp, 2                |     v0 = (fp < 2) ? 1 : 0;
    0x0005f704 lw gp, 0x18(sp)               |     gp = *(var_18h);
                                             |     if (v0 != 0) {
    0x0005f708 bnez v0, 0x5f60c              |         goto label_1;
                                             |     }
    0x0005f70c lw a1, 0x28(sp)               |     a1 = *(var_28h);
    0x0005f710 lw t9, -0x74c4(gp)            |     t9 = sym.imp.strlen;
    0x0005f714 move a0, a1                   |     a0 = a1;
    0x0005f718 sw a1, 0x24(sp)               |     *(var_24h) = a1;
    0x0005f71c jalr t9                       |     t9 ();
    0x0005f720 lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x0005f724 lw a0, 0x20(sp)               |     a0 = *(var_20h);
    0x0005f728 move s0, v0                   |     s0 = v0;
    0x0005f72c lw t9, -0x74c4(gp)            |     t9 = sym.imp.strlen;
    0x0005f730 addu s3, s0, s3               |     s3 = s0 + s3;
    0x0005f734 jalr t9                       |     t9 ();
    0x0005f738 lw a1, 0x24(sp)               |     a1 = *(var_24h);
    0x0005f73c lw gp, 0x18(sp)               |     gp = *(var_18h);
    0x0005f740 subu s3, s3, v0               |     __asm ("subu s3, s3, v0");
    0x0005f744 sw a1, 0x20(sp)               |     *(var_20h) = a1;
    0x0005f748 b 0x5f60c                     |     goto label_1;
                                             | label_5:
    0x0005f74c lw t9, -0x75e8(gp)            |     t9 = sym.imp.__stack_chk_fail;
    0x0005f750 jalr t9                       |     t9 ();
    0x0005f754 nop                           |     
                                             | }

[*] Function strcpy used 3 times httpd