[*] 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