[*] Binary protection state of httpd
Full RELRO Canary found NX disabled PIE enabled No RPATH No RUNPATH No Symbols
[*] Function strcat tear down of httpd
; assembly | /* r2dec pseudo code output */
| /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/sbin/httpd @ 0x26b60 */
| #include <stdint.h>
|
; (fcn) fcn.00026b60 () | void fcn_00026b60 () {
0x00026b60 lui gp, 8 |
0x00026b64 addiu gp, gp, -0x3c40 |
0x00026b68 addu gp, gp, t9 | gp += t9;
0x00026b6c lw v0, -0x7e94(gp) | v0 = *(gp);
0x00026b70 addiu sp, sp, -0x58 |
0x00026b74 sll t0, a0, 2 | t0 = a0 << 2;
0x00026b78 lw v1, (v0) | v1 = *(v0);
0x00026b7c sw s0, 0x30(sp) | *(var_30h) = s0;
0x00026b80 sw s1, 0x34(sp) | *(var_34h) = s1;
0x00026b84 lw s0, 8(v1) | s0 = *((v1 + 2));
0x00026b88 lw s1, -0x7534(gp) | s1 = *(gp);
0x00026b8c sll v0, a1, 2 | v0 = a1 << 2;
0x00026b90 lwx s0, t0(s0) | __asm ("lwx s0, t0(s0)");
0x00026b94 addu v0, v0, a1 | v0 += a1;
0x00026b98 sll v0, v0, 6 | v0 <<= 6;
0x00026b9c addu s0, s0, v0 | s0 += v0;
0x00026ba0 lw t0, (s1) | t0 = *(s1);
0x00026ba4 sw s6, 0x48(sp) | *(var_48h) = s6;
0x00026ba8 sw s5, 0x44(sp) | *(var_44h) = s5;
0x00026bac sw s3, 0x3c(sp) | *(var_3ch) = s3;
0x00026bb0 sw s2, 0x38(sp) | *(var_38h) = s2;
0x00026bb4 sw gp, 0x20(sp) | *(var_20h) = gp;
0x00026bb8 sw ra, 0x54(sp) | *(var_54h) = ra;
0x00026bbc sw fp, 0x50(sp) | *(var_50h) = fp;
0x00026bc0 sw s7, 0x4c(sp) | *(var_4ch) = s7;
0x00026bc4 sw s4, 0x40(sp) | *(var_40h) = s4;
0x00026bc8 addiu v0, zero, 2 | v0 = 2;
0x00026bcc lbu s4, 0x10(s0) | s4 = *((s0 + 16));
0x00026bd0 move s3, a3 | s3 = a3;
0x00026bd4 lw s5, 0x68(sp) | s5 = *(arg_68h);
0x00026bd8 lw s2, 0x6c(sp) | s2 = *(arg_6ch);
0x00026bdc lw s6, 0x70(sp) | s6 = *(arg_70h);
0x00026be0 sw t0, 0x2c(sp) | *(var_2ch) = t0;
0x00026be4 sb a2, 0x10(s0) | *((s0 + 16)) = a2;
| if (a2 == v0) {
0x00026be8 beq a2, v0, 0x26d54 | goto label_11;
| }
0x00026bec lw v0, -0x7e98(gp) | v0 = *(gp);
0x00026bf0 lw v0, (v0) | v0 = *(v0);
| if (v0 != 0) {
0x00026bf4 bnez v0, 0x26c3c | goto label_12;
| }
0x00026bf8 nop |
| do {
| label_0:
0x00026bfc lw a0, 0x2c(sp) | a0 = *(var_2ch);
0x00026c00 lw v1, (s1) | v1 = *(s1);
0x00026c04 move v0, s4 | v0 = s4;
| if (a0 != v1) {
0x00026c08 bne a0, v1, 0x26ff4 | goto label_13;
| }
0x00026c0c lw ra, 0x54(sp) | ra = *(var_54h);
0x00026c10 lw fp, 0x50(sp) | fp = *(var_50h);
0x00026c14 lw s7, 0x4c(sp) | s7 = *(var_4ch);
0x00026c18 lw s6, 0x48(sp) | s6 = *(var_48h);
0x00026c1c lw s5, 0x44(sp) | s5 = *(var_44h);
0x00026c20 lw s4, 0x40(sp) | s4 = *(var_40h);
0x00026c24 lw s3, 0x3c(sp) | s3 = *(var_3ch);
0x00026c28 lw s2, 0x38(sp) | s2 = *(var_38h);
0x00026c2c lw s1, 0x34(sp) | s1 = *(var_34h);
0x00026c30 lw s0, 0x30(sp) | s0 = *(var_30h);
0x00026c34 addiu sp, sp, 0x58 |
0x00026c38 jr ra | return v1;
| label_12:
0x00026c3c move v0, zero | v0 = 0;
| if (a2 == 0) {
0x00026c40 beqz a2, 0x26e58 | goto label_14;
| }
| if (s6 == 0) {
0x00026c44 beqz s6, 0x26d9c | goto label_15;
| }
0x00026c48 nop |
| label_1:
0x00026c4c lw t9, -0x7260(gp) | t9 = sym.imp.apr_cpystrn;
0x00026c50 addiu a2, zero, 0x40 | a2 = 0x40;
0x00026c54 move a1, s6 | a1 = s6;
0x00026c58 addiu a0, s0, 0x88 | a0 = s0 + 0x88;
0x00026c5c jalr t9 | t9 ();
0x00026c60 lw gp, 0x20(sp) | gp = *(var_20h);
| if (s2 == 0) {
0x00026c64 beqz s2, 0x26d2c | goto label_16;
| }
| label_2:
0x00026c68 lw v0, 0x1cc(s2) | v0 = *(s2);
0x00026c6c lw t9, -0x7e18(gp) | t9 = sym.ap_get_useragent_host;
| if (v0 == 0) {
0x00026c70 beqz v0, 0x26d2c | goto label_16;
| }
0x00026c74 move a0, s2 | a0 = s2;
0x00026c78 move a2, zero | a2 = 0;
0x00026c7c addiu a1, zero, 2 | a1 = 2;
0x00026c80 bal 0x36e98 | sym_ap_get_useragent_host ();
0x00026c84 move s6, v0 | s6 = v0;
0x00026c88 lw gp, 0x20(sp) | gp = *(var_20h);
0x00026c8c addiu a0, s0, 0x68 | a0 = s0 + 0x68;
0x00026c90 addiu s7, s0, 0x100 | s7 = s0 + aav.0x00000100;
| if (v0 == 0) {
0x00026c94 beqz v0, 0x26f48 | goto label_17;
| }
0x00026c98 lw t9, -0x7260(gp) | t9 = sym.imp.apr_cpystrn;
0x00026c9c addiu a2, zero, 0x20 | a2 = 0x20;
0x00026ca0 move a1, v0 | a1 = v0;
0x00026ca4 jalr t9 | t9 ();
0x00026ca8 lw gp, 0x20(sp) | gp = *(var_20h);
0x00026cac addiu a2, zero, 0x40 | a2 = 0x40;
0x00026cb0 move a1, s6 | a1 = s6;
0x00026cb4 lw t9, -0x7260(gp) | t9 = sym.imp.apr_cpystrn;
0x00026cb8 move a0, s7 | a0 = s7;
0x00026cbc jalr t9 | t9 ();
0x00026cc0 lw gp, 0x20(sp) | gp = *(var_20h);
| if (s5 == 0) {
| label_8:
0x00026cc4 beqz s5, 0x26f38 | goto label_18;
| }
0x00026cc8 nop |
0x00026ccc lw t9, -0x7260(gp) | t9 = sym.imp.apr_cpystrn;
| if (s3 == 0) {
0x00026cd0 beqz s3, 0x26d3c | goto label_19;
| }
0x00026cd4 lw v0, 0xc(s3) | v0 = *((s3 + 3));
| label_5:
0x00026cd8 lw a2, -0x7fac(gp) | a2 = *(gp);
0x00026cdc lw t9, -0x7568(gp) | t9 = sym.imp.apr_snprintf;
0x00026ce0 lhu v0, 0xc(v0) | v0 = *((v0 + 6));
0x00026ce4 lw a3, 0x34(s5) | a3 = *((s5 + 13));
| /* esilref: '&s:&d' */
0x00026ce8 addiu a2, a2, -0x35ec | a2 += -0x35ec;
0x00026cec sw v0, 0x10(sp) | *(var_10h_2) = v0;
0x00026cf0 addiu a1, zero, 0x20 | a1 = 0x20;
0x00026cf4 addiu a0, s0, 0xc8 | a0 = s0 + 0xc8;
0x00026cf8 jalr t9 | t9 ();
0x00026cfc lw gp, 0x20(sp) | gp = *(var_20h);
| label_6:
0x00026d00 lw t9, -0x7e14(gp) | t9 = sym.ap_get_protocol;
0x00026d04 move a0, s3 | a0 = s3;
0x00026d08 bal 0x2ede4 | sym_ap_get_protocol ();
0x00026d0c lw gp, 0x20(sp) | gp = *(var_20h);
0x00026d10 addiu a2, zero, 0x10 | a2 = 0x10;
0x00026d14 move a1, v0 | a1 = v0;
0x00026d18 lw t9, -0x7260(gp) | t9 = sym.imp.apr_cpystrn;
0x00026d1c addiu a0, s0, 0xe8 | a0 = s0 + 0xe8;
0x00026d20 jalr t9 | t9 ();
0x00026d24 lw gp, 0x20(sp) | gp = *(var_20h);
0x00026d28 b 0x26bfc |
| } while (1);
| label_16:
0x00026d2c lw v0, 4(s3) | v0 = *((s3 + 1));
| if (s3 == 0) {
0x00026d30 bnel s3, zero, 0x26e8c | goto label_20;
| }
| label_4:
0x00026d34 lw t9, -0x7260(gp) | t9 = sym.imp.apr_cpystrn;
| if (s5 == 0) {
0x00026d38 beqz s5, 0x26bfc | goto label_0;
| }
| label_19:
0x00026d3c lw a1, 0x34(s5) | a1 = *((s5 + 13));
0x00026d40 addiu a2, zero, 0x20 | a2 = 0x20;
0x00026d44 addiu a0, s0, 0xc8 | a0 = s0 + 0xc8;
0x00026d48 jalr t9 | t9 ();
0x00026d4c lw gp, 0x20(sp) | gp = *(var_20h);
0x00026d50 b 0x26bfc | goto label_0;
| label_11:
0x00026d54 addiu v0, zero, 1 | v0 = 1;
| if (s4 == v0) {
0x00026d58 beql s4, v0, 0x26ef4 | goto label_21;
| }
0x00026d5c lw s7, 4(v1) | s7 = *((v1 + 1));
| label_7:
0x00026d60 lw v0, -0x7e98(gp) | v0 = *(gp);
0x00026d64 lw v0, (v0) | v0 = *(v0);
| if (v0 == 0) {
0x00026d68 beqz v0, 0x26bfc | goto label_0;
| }
0x00026d6c nop |
| label_3:
0x00026d70 lw t9, -0x750c(gp) | t9 = sym.imp.apr_time_now;
0x00026d74 move v0, zero | v0 = 0;
0x00026d78 move v1, zero | v1 = 0;
0x00026d7c sh zero, 0x12(s0) | *((s0 + 9)) = 0;
0x00026d80 sw v0, 0x18(s0) | *((s0 + 6)) = v0;
0x00026d84 sw v1, 0x1c(s0) | *((s0 + 7)) = v1;
0x00026d88 jalr t9 | t9 ();
0x00026d8c lw gp, 0x20(sp) | gp = *(var_20h);
0x00026d90 sw v0, 0x50(s0) | *((s0 + 20)) = v0;
0x00026d94 sw v1, 0x54(s0) | *((s0 + 21)) = v1;
| if (s6 != 0) {
0x00026d98 bnez s6, 0x26c4c | goto label_1;
| }
| if (s2 == 0) {
| label_15:
0x00026d9c beqz s2, 0x26e7c | goto label_22;
| }
0x00026da0 nop |
0x00026da4 lw s6, 0x18(s2) | s6 = *((s2 + 6));
0x00026da8 addiu s7, s0, 0x88 | s7 = s0 + 0x88;
| if (s6 == 0) {
0x00026dac beqz s6, 0x26fd4 | goto label_23;
| }
0x00026db0 lw v0, 0x13c(s2) | v0 = *(s2);
0x00026db4 lw t9, -0x7794(gp) | t9 = sym.imp.apr_uri_unparse;
| if (v0 != 0) {
0x00026db8 beqz v0, 0x26e18 |
0x00026dbc lw s6, (s2) | s6 = *(s2);
0x00026dc0 addiu a2, zero, 4 | a2 = 4;
0x00026dc4 addiu a1, s2, 0x130 | a1 = s2 + aav.0x00000130;
0x00026dc8 move a0, s6 | a0 = s6;
0x00026dcc lw fp, 0x4c(s2) | fp = *((s2 + 19));
0x00026dd0 jalr t9 | t9 ();
0x00026dd4 lw v1, 0x1c(s2) | v1 = *((s2 + 7));
0x00026dd8 lw gp, 0x20(sp) | gp = *(var_20h);
| if (v1 == 0) {
0x00026ddc beqz v1, 0x26fc8 | goto label_24;
| }
0x00026de0 lw a2, -0x7fac(gp) | a2 = *(gp);
0x00026de4 move v1, zero | v1 = 0;
| label_10:
0x00026de8 lw a0, 0x2c(s2) | a0 = *((s2 + 11));
0x00026dec lw t9, -0x76e8(gp) | t9 = sym.imp.apr_pstrcat
0x00026df0 sw a0, 0x14(sp) | *(var_14h) = a0;
0x00026df4 sw zero, 0x18(sp) | *(var_18h_2) = 0;
0x00026df8 move a0, s6 | a0 = s6;
0x00026dfc sw v1, 0x10(sp) | *(var_10h_2) = v1;
0x00026e00 move a3, v0 | a3 = v0;
0x00026e04 addiu a2, a2, 0x6730 | a2 += 0x6730;
0x00026e08 move a1, fp | a1 = fp;
0x00026e0c jalr t9 | t9 ();
0x00026e10 lw gp, 0x20(sp) | gp = *(var_20h);
0x00026e14 move s6, v0 | s6 = v0;
| }
0x00026e18 lw v0, -0x7e10(gp) | v0 = *(gp);
0x00026e1c lw v0, (v0) | v0 = *(v0);
0x00026e20 lw t9, -0x74c4(gp) | t9 = sym.imp.strlen;
| if (v0 != 0) {
0x00026e24 beqz v0, 0x26e3c |
0x00026e28 move a0, s6 | a0 = s6;
0x00026e2c jalr t9 | t9 ();
0x00026e30 sltiu v1, v0, 0x40 | v1 = (v0 < 0x40) ? 1 : 0;
0x00026e34 lw gp, 0x20(sp) | gp = *(var_20h);
| if (v1 == 0) {
0x00026e38 beqz v1, 0x26fa8 | goto label_25;
| }
| }
0x00026e3c lw t9, -0x7260(gp) | t9 = sym.imp.apr_cpystrn;
0x00026e40 addiu a2, zero, 0x40 | a2 = 0x40;
0x00026e44 move a1, s6 | a1 = s6;
0x00026e48 move a0, s7 | a0 = s7;
0x00026e4c jalr t9 | t9 ();
0x00026e50 lw gp, 0x20(sp) | gp = *(var_20h);
0x00026e54 b 0x26c68 | goto label_2;
| label_14:
0x00026e58 move v1, zero | v1 = 0;
0x00026e5c sw zero, 0x30(s0) | *((s0 + 12)) = 0;
0x00026e60 sw v0, 0x38(s0) | *((s0 + 14)) = v0;
0x00026e64 sw v1, 0x3c(s0) | *((s0 + 15)) = v1;
0x00026e68 sw zero, 0x58(s0) | *((s0 + 22)) = 0;
0x00026e6c sw zero, 0x5c(s0) | *((s0 + 23)) = 0;
0x00026e70 sw zero, 0x60(s0) | *((s0 + 24)) = 0;
0x00026e74 sw zero, 0x64(s0) | *((s0 + 25)) = 0;
0x00026e78 b 0x26d70 | goto label_3;
| if (s3 == 0) {
| label_22:
0x00026e7c beqz s3, 0x26d34 | goto label_4;
| }
0x00026e80 nop |
0x00026e84 sb zero, 0x88(s0) | *((s0 + 136)) = 0;
0x00026e88 lw v0, 4(s3) | v0 = *((s3 + 1));
| label_20:
0x00026e8c lw t9, -0x7e0c(gp) | t9 = sym.ap_get_remote_host;
0x00026e90 move a0, s3 | a0 = s3;
0x00026e94 lw a1, 0x1c(v0) | a1 = *((v0 + 7));
0x00026e98 move a3, zero | a3 = 0;
0x00026e9c addiu a2, zero, 2 | a2 = 2;
0x00026ea0 bal 0x36b88 | sym_ap_get_remote_host ();
0x00026ea4 move s2, v0 | s2 = v0;
0x00026ea8 lw gp, 0x20(sp) | gp = *(var_20h);
0x00026eac addiu a0, s0, 0x68 | a0 = s0 + 0x68;
0x00026eb0 addiu s6, s0, 0x100 | s6 = s0 + aav.0x00000100;
| if (v0 == 0) {
0x00026eb4 beqz v0, 0x26f78 | goto label_26;
| }
0x00026eb8 lw t9, -0x7260(gp) | t9 = sym.imp.apr_cpystrn;
0x00026ebc addiu a2, zero, 0x20 | a2 = 0x20;
0x00026ec0 move a1, v0 | a1 = v0;
0x00026ec4 jalr t9 | t9 ();
0x00026ec8 lw gp, 0x20(sp) | gp = *(var_20h);
0x00026ecc addiu a2, zero, 0x40 | a2 = 0x40;
0x00026ed0 move a1, s2 | a1 = s2;
0x00026ed4 lw t9, -0x7260(gp) | t9 = sym.imp.apr_cpystrn;
0x00026ed8 move a0, s6 | a0 = s6;
0x00026edc jalr t9 | t9 ();
0x00026ee0 lw gp, 0x20(sp) | gp = *(var_20h);
| label_9:
0x00026ee4 lw v0, 0xc(s3) | v0 = *((s3 + 3));
| if (s5 == 0) {
0x00026ee8 bnel s5, zero, 0x26cd8 | goto label_5;
| }
0x00026eec sb zero, 0xc8(s0) | *((s0 + 200)) = 0;
0x00026ef0 b 0x26d00 | goto label_6;
| label_21:
0x00026ef4 lw v1, -0x7f14(gp) | v1 = *((gp - 8133));
0x00026ef8 sll v0, a0, 3 | v0 = a0 << 3;
0x00026efc lw t9, -0x7fc4(gp) | t9 = sym.ap_mpm_query;
0x00026f00 lw v1, -0x3dcc(v1) | v1 = *((v1 - 3955));
0x00026f04 addu v0, v0, a0 | v0 += a0;
0x00026f08 mul a2, a0, v1 | __asm ("mul a2, a0, v1");
0x00026f0c sll v0, v0, 2 | v0 <<= 2;
0x00026f10 addiu a0, zero, 0xf | a0 = 0xf;
0x00026f14 addu s7, s7, v0 | s7 += v0;
0x00026f18 addu a1, a2, a1 | a1 = a2 + a1;
0x00026f1c sw a1, 4(s0) | *((s0 + 1)) = a1;
0x00026f20 addiu a1, sp, 0x28 | a1 = sp + 0x28;
0x00026f24 bal 0x244f8 | sym_ap_mpm_query ();
0x00026f28 lw v0, 0x28(sp) | v0 = *(var_28h);
0x00026f2c lw gp, 0x20(sp) | gp = *(var_20h);
0x00026f30 sw v0, 4(s7) | *((s7 + 1)) = v0;
0x00026f34 b 0x26d60 | goto label_7;
| if (s3 == 0) {
| label_18:
0x00026f38 beqz s3, 0x26bfc | goto label_0;
| }
0x00026f3c nop |
0x00026f40 sb zero, 0xc8(s0) | *((s0 + 200)) = 0;
0x00026f44 b 0x26d00 | goto label_6;
| label_17:
0x00026f48 lw t9, -0x7260(gp) | t9 = sym.imp.apr_cpystrn;
0x00026f4c lw a1, 0x1cc(s2) | a1 = *(s2);
0x00026f50 addiu a2, zero, 0x20 | a2 = 0x20;
0x00026f54 jalr t9 | t9 ();
0x00026f58 lw gp, 0x20(sp) | gp = *(var_20h);
0x00026f5c lw a1, 0x1cc(s2) | a1 = *(s2);
0x00026f60 addiu a2, zero, 0x40 | a2 = 0x40;
0x00026f64 lw t9, -0x7260(gp) | t9 = sym.imp.apr_cpystrn;
0x00026f68 move a0, s7 | a0 = s7;
0x00026f6c jalr t9 | t9 ();
0x00026f70 lw gp, 0x20(sp) | gp = *(var_20h);
0x00026f74 b 0x26cc4 | goto label_8;
| label_26:
0x00026f78 lw t9, -0x7260(gp) | t9 = sym.imp.apr_cpystrn;
0x00026f7c lw a1, 0x14(s3) | a1 = *((s3 + 5));
0x00026f80 addiu a2, zero, 0x20 | a2 = 0x20;
0x00026f84 jalr t9 | t9 ();
0x00026f88 lw gp, 0x20(sp) | gp = *(var_20h);
0x00026f8c lw a1, 0x14(s3) | a1 = *((s3 + 5));
0x00026f90 addiu a2, zero, 0x40 | a2 = 0x40;
0x00026f94 lw t9, -0x7260(gp) | t9 = sym.imp.apr_cpystrn;
0x00026f98 move a0, s6 | a0 = s6;
0x00026f9c jalr t9 | t9 ();
0x00026fa0 lw gp, 0x20(sp) | gp = *(var_20h);
0x00026fa4 b 0x26ee4 | goto label_9;
| label_25:
0x00026fa8 lw t9, -0x7260(gp) | t9 = sym.imp.apr_cpystrn;
0x00026fac addiu v0, v0, -0x3f | v0 += -0x3f;
0x00026fb0 addiu a2, zero, 0x40 | a2 = 0x40;
0x00026fb4 addu a1, s6, v0 | a1 = s6 + v0;
0x00026fb8 move a0, s7 | a0 = s7;
0x00026fbc jalr t9 | t9 ();
0x00026fc0 lw gp, 0x20(sp) | gp = *(var_20h);
0x00026fc4 b 0x26c68 | goto label_2;
| label_24:
0x00026fc8 lw a2, -0x7fac(gp) | a2 = *(gp);
0x00026fcc addiu v1, a2, 0x6730 | v1 = a2 + 0x6730;
0x00026fd0 b 0x26de8 | goto label_10;
| label_23:
0x00026fd4 lw a1, -0x7fac(gp) | a1 = *(gp);
0x00026fd8 lw t9, -0x7260(gp) | t9 = sym.imp.apr_cpystrn;
0x00026fdc addiu a2, zero, 0x40 | a2 = 0x40;
| /* esilref: 'NULL' */
0x00026fe0 addiu a1, a1, -0x683c | a1 += -0x683c;
0x00026fe4 move a0, s7 | a0 = s7;
0x00026fe8 jalr t9 | t9 ();
0x00026fec lw gp, 0x20(sp) | gp = *(var_20h);
0x00026ff0 b 0x26c68 | goto label_2;
| label_13:
0x00026ff4 lw t9, -0x75e8(gp) | t9 = sym.imp.__stack_chk_fail;
0x00026ff8 jalr t9 | t9 ();
0x00026ffc nop |
| }
; assembly | /* r2dec pseudo code output */
| /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/sbin/httpd @ 0x3408c */
| #include <stdint.h>
|
; (fcn) fcn.0003408c () | void fcn_0003408c () {
| label_3:
0x0003408c lui gp, 7 |
0x00034090 addiu gp, gp, -0x116c |
0x00034094 addu gp, gp, t9 | gp += t9;
0x00034098 addiu sp, sp, -0x2038 |
0x0003409c addiu t4, zero, 1 | t4 = 1;
0x000340a0 sw s1, 0x2028(sp) | *(arg_2028h) = s1;
0x000340a4 lw s1, -0x7534(gp) | s1 = *(gp);
0x000340a8 sw s2, 0x202c(sp) | *(arg_202ch) = s2;
0x000340ac move s2, a3 | s2 = a3;
0x000340b0 lw v0, (s1) | v0 = *(s1);
0x000340b4 sw s0, 0x2024(sp) | *(arg_2024h) = s0;
0x000340b8 sw v0, 0x201c(sp) | *(arg_201ch) = v0;
0x000340bc lw v0, -0x7dd4(gp) | v0 = *(gp);
0x000340c0 lw s0, (s2) | s0 = *(s2);
0x000340c4 sw gp, 0x10(sp) | *(arg_10h) = gp;
0x000340c8 addiu v0, v0, 0x3384 | v0 += 0x3384;
0x000340cc sw ra, 0x2034(sp) | *(arg_2034h) = ra;
0x000340d0 sw s3, 0x2030(sp) | *(arg_2030h) = s3;
0x000340d4 sw v0, (a1) | *(a1) = v0;
0x000340d8 lb v0, (s0) | v0 = *(s0);
0x000340dc addiu a3, sp, 0x1c | a3 = sp + 0x1c;
0x000340e0 move s3, a2 | s3 = a2;
0x000340e4 move v1, a3 | v1 = a3;
0x000340e8 addiu t0, zero, 0x25 | t0 = 0x25;
0x000340ec addiu t1, zero, 0x20 | t1 = 0x20;
0x000340f0 addiu t2, sp, 0x201c | t2 = sp + 0x201c;
0x000340f4 addiu t3, zero, 0x5c | t3 = 0x5c;
0x000340f8 addiu t8, zero, 0x6e | t8 = 0x6e;
0x000340fc addiu ra, zero, 0xa | ra = 0xa;
0x00034100 addiu t7, zero, 0x72 | t7 = 0x72;
0x00034104 addiu t9, zero, 0xd | t9 = 0xd;
0x00034108 addiu t6, zero, 0x74 | t6 = 0x74;
0x0003410c addiu a2, zero, 9 | a2 = 9;
| if (v0 == 0) {
0x00034110 beqz v0, 0x34150 | goto label_0;
| }
| do {
| if (v0 == t0) {
0x00034114 beql v0, t0, 0x34154 | goto label_8;
| }
0x00034118 lw t9, -0x7654(gp) | t9 = sym.imp.apr_pstrdup;
0x0003411c sltu a1, v1, t2 | a1 = (v1 < t2) ? 1 : 0;
| if (v0 == t1) {
0x00034120 beq v0, t1, 0x34198 | goto label_9;
| }
| if (a1 == 0) {
0x00034124 beql a1, zero, 0x34154 | goto label_8;
| }
0x00034128 lw t9, -0x7654(gp) | t9 = sym.imp.apr_pstrdup;
0x0003412c addiu a1, s0, 1 | a1 = s0 + 1;
| if (v0 == t3) {
0x00034130 beq v0, t3, 0x341b4 | goto label_10;
| }
0x00034134 move t4, zero | t4 = 0;
0x00034138 sb v0, (v1) | *(v1) = v0;
0x0003413c move s0, a1 | s0 = a1;
| label_1:
0x00034140 addiu v1, v1, 1 | v1++;
| label_2:
0x00034144 lb v0, (s0) | v0 = *(s0);
0x00034148 bnez v0, 0x34114 |
| } while (v0 != 0);
0x0003414c nop |
| label_0:
0x00034150 lw t9, -0x7654(gp) | t9 = sym.imp.apr_pstrdup;
| do {
| label_8:
0x00034154 sb zero, (v1) | *(v1) = 0;
0x00034158 move a1, a3 | a1 = a3;
0x0003415c jalr t9 | t9 ();
0x00034160 lw gp, 0x10(sp) | gp = *(arg_10h);
0x00034164 sw v0, (s3) | *(s3) = v0;
0x00034168 sw s0, (s2) | *(s2) = s0;
0x0003416c lw a0, 0x201c(sp) | a0 = *(arg_201ch);
0x00034170 lw v1, (s1) | v1 = *(s1);
0x00034174 move v0, zero | v0 = 0;
| if (a0 != v1) {
0x00034178 bne a0, v1, 0x34228 | goto label_11;
| }
0x0003417c lw ra, 0x2034(sp) | ra = *(arg_2034h);
0x00034180 lw s3, 0x2030(sp) | s3 = *(arg_2030h);
0x00034184 lw s2, 0x202c(sp) | s2 = *(arg_202ch);
0x00034188 lw s1, 0x2028(sp) | s1 = *(arg_2028h);
0x0003418c lw s0, 0x2024(sp) | s0 = *(arg_2024h);
0x00034190 addiu sp, sp, 0x2038 |
0x00034194 jr ra | return v0;
| label_9:
0x00034198 beql t4, zero, 0x34154 |
| } while (t4 == 0);
0x0003419c lw t9, -0x7654(gp) | t9 = sym.imp.apr_pstrdup;
0x000341a0 addiu a1, s0, 1 | a1 = s0 + 1;
| if (a1 == 0) {
0x000341a4 beqz a1, 0x34150 | goto label_0;
| }
0x000341a8 sb v0, (v1) | *(v1) = v0;
0x000341ac move s0, a1 | s0 = a1;
0x000341b0 b 0x34140 | goto label_1;
| label_10:
0x000341b4 lb v0, 1(s0) | v0 = *((s0 + 1));
0x000341b8 slti t5, v0, 0x6f | t5 = (v0 < 0x6f) ? 1 : 0;
| if (v0 != t8) {
0x000341bc beq v0, t8, 0x34200 |
| if (t5 == 0) {
0x000341c0 bnez t5, 0x341e8 |
0x000341c4 nop |
| if (v0 == t7) {
0x000341c8 beql v0, t7, 0x3421c | goto label_12;
| }
0x000341cc sb t9, (v1) | *(v1) = t9;
0x000341d0 sb v0, (v1) | *(v1) = v0;
| if (v0 == t6) {
0x000341d4 bnel v0, t6, 0x34210 | goto label_13;
| }
0x000341d8 sb a2, (v1) | *(v1) = a2;
0x000341dc addiu s0, s0, 2 | s0 += 2;
0x000341e0 addiu v1, v1, 1 | v1++;
0x000341e4 b 0x34144 | goto label_2;
| }
0x000341e8 sb v0, (v1) | *(v1) = v0;
| if (v0 == 0) {
0x000341ec bnel v0, zero, 0x34210 | goto label_13;
| }
0x000341f0 sb t3, (v1) | *(v1) = t3;
0x000341f4 move s0, a1 | s0 = a1;
0x000341f8 addiu v1, v1, 1 | v1++;
0x000341fc b 0x34144 | goto label_2;
| }
0x00034200 sb ra, (v1) | *(v1) = ra;
0x00034204 addiu s0, s0, 2 | s0 += 2;
0x00034208 addiu v1, v1, 1 | v1++;
0x0003420c b 0x34144 | goto label_2;
| label_13:
0x00034210 addiu s0, s0, 2 | s0 += 2;
0x00034214 addiu v1, v1, 1 | v1++;
0x00034218 b 0x34144 | goto label_2;
| label_12:
0x0003421c addiu s0, s0, 2 | s0 += 2;
0x00034220 addiu v1, v1, 1 | v1++;
0x00034224 b 0x34144 | goto label_2;
| label_11:
0x00034228 lw t9, -0x75e8(gp) | t9 = sym.imp.__stack_chk_fail;
0x0003422c jalr t9 | t9 ();
0x00034230 nop |
| label_7:
0x00034234 lui gp, 7 |
0x00034238 addiu gp, gp, -0x1314 |
0x0003423c addu gp, gp, t9 | gp += t9;
0x00034240 addiu sp, sp, -0x58 |
0x00034244 lw v1, (a2) | v1 = *(a2);
0x00034248 sw s3, 0x3c(sp) | *(var_3ch) = s3;
0x0003424c lw s3, -0x7534(gp) | s3 = *(gp);
0x00034250 sw s5, 0x44(sp) | *(var_44h) = s5;
0x00034254 sw s4, 0x40(sp) | *(var_40h) = s4;
0x00034258 sw s2, 0x38(sp) | *(var_38h) = s2;
0x0003425c sw gp, 0x10(sp) | *(var_10h) = gp;
0x00034260 sw ra, 0x54(sp) | *(var_54h) = ra;
0x00034264 sw fp, 0x50(sp) | *(var_50h) = fp;
0x00034268 sw s7, 0x4c(sp) | *(var_4ch) = s7;
0x0003426c sw s6, 0x48(sp) | *(var_48h) = s6;
0x00034270 sw s1, 0x34(sp) | *(var_34h) = s1;
0x00034274 sw s0, 0x30(sp) | *(var_30h) = s0;
0x00034278 sw v1, 0x24(sp) | *(var_24h) = v1;
0x0003427c lw t0, (s3) | t0 = *(s3);
0x00034280 lb a3, (v1) | a3 = *(v1);
0x00034284 addiu v0, zero, 0x25 | v0 = 0x25;
0x00034288 move s4, a2 | s4 = a2;
0x0003428c move s5, a0 | s5 = a0;
0x00034290 move s2, a1 | s2 = a1;
0x00034294 sw t0, 0x2c(sp) | *(var_2ch) = t0;
| if (a3 != v0) {
0x00034298 beql a3, v0, 0x34308 |
0x0003429c addiu s1, v1, 1 | s1 = v1 + 1;
0x000342a0 addiu v0, zero, 0x20 | v0 = 0x20;
| if (a3 == v0) {
0x000342a4 beql a3, v0, 0x343c0 | goto label_14;
| }
0x000342a8 lw v0, 8(a1) | v0 = *((a1 + 2));
| label_5:
0x000342ac lw t9, -0x7dd4(gp) | t9 = *(gp);
0x000342b0 move a3, s4 | a3 = s4;
0x000342b4 addiu a2, s2, 4 | a2 = s2 + 4;
0x000342b8 move a1, s2 | a1 = s2;
| /* fcn.0003408c */
0x000342bc addiu t9, t9, 0x408c | t9 += 0x408c;
0x000342c0 move a0, s5 | a0 = s5;
0x000342c4 bal 0x3408c | fcn_0003408c ();
| goto label_3;
0x000342c8 lw gp, 0x10(sp) | gp = *(var_10h);
| label_6:
0x000342cc lw a0, 0x2c(sp) | a0 = *(var_2ch);
0x000342d0 lw v1, (s3) | v1 = *(s3);
0x000342d4 lw ra, 0x54(sp) | ra = *(var_54h);
| if (a0 != v1) {
0x000342d8 bne a0, v1, 0x34538 | goto label_15;
| }
0x000342dc lw fp, 0x50(sp) | fp = *(var_50h);
0x000342e0 lw s7, 0x4c(sp) | s7 = *(var_4ch);
0x000342e4 lw s6, 0x48(sp) | s6 = *(var_48h);
0x000342e8 lw s5, 0x44(sp) | s5 = *(var_44h);
0x000342ec lw s4, 0x40(sp) | s4 = *(var_40h);
0x000342f0 lw s3, 0x3c(sp) | s3 = *(var_3ch);
0x000342f4 lw s2, 0x38(sp) | s2 = *(var_38h);
0x000342f8 lw s1, 0x34(sp) | s1 = *(var_34h);
0x000342fc lw s0, 0x30(sp) | s0 = *(var_30h);
0x00034300 addiu sp, sp, 0x58 |
0x00034304 jr ra | return v0;
| }
0x00034308 sw s1, 0x24(sp) | *(var_24h) = s1;
0x0003430c lb v0, 1(v1) | v0 = *((v1 + 1));
0x00034310 addiu t0, zero, 0x20 | t0 = 0x20;
| if (v0 == t0) {
0x00034314 beql v0, t0, 0x344a8 | goto label_16;
| }
0x00034318 lw v0, 8(a1) | v0 = *((a1 + 2));
0x0003431c addiu a3, zero, 0x4d | a3 = 0x4d;
| if (v0 == a3) {
0x00034320 beq v0, a3, 0x344d0 | goto label_17;
| }
0x00034324 addiu fp, zero, 0x7b | fp = 0x7b;
0x00034328 addiu t0, sp, 0x24 | t0 = sp + 0x24;
0x0003432c addiu s7, zero, 0x2b | s7 = 0x2b;
0x00034330 addiu s6, zero, 0x2d | s6 = 0x2d;
| do {
| label_4:
0x00034334 slti v1, v0, 0x3a | v1 = (v0 < 0x3a) ? 1 : 0;
| if (v0 == 0) {
0x00034338 beqz v0, 0x344f8 | goto label_18;
| }
0x0003433c slti v1, v0, 0x30 | v1 = (v0 < 0x30) ? 1 : 0;
| if (v1 == 0) {
0x00034340 beqz v1, 0x34378 | goto label_19;
| }
0x00034344 lw t9, -0x744c(gp) | t9 = *(gp);
| if (v1 == 0) {
0x00034348 beqz v1, 0x3443c | goto label_20;
| }
| if (v0 == s7) {
0x0003434c beql v0, s7, 0x343e8 | goto label_21;
| }
0x00034350 lw v0, 8(s2) | v0 = *((s2 + 2));
0x00034354 lw v0, -0x7f14(gp) | v0 = *((gp - 8133));
| if (v0 == s6) {
0x00034358 bnel v0, s6, 0x34404 | goto label_22;
| }
0x0003435c lw v0, 8(s2) | v0 = *((s2 + 2));
0x00034360 addiu s1, s1, 1 | s1++;
0x00034364 ori v0, v0, 8 | v0 |= 8;
0x00034368 sw s1, 0x24(sp) | *(var_24h) = s1;
0x0003436c sw v0, 8(s2) | *((s2 + 2)) = v0;
0x00034370 lb v0, (s1) | v0 = *(s1);
0x00034374 b 0x34334 |
| } while (1);
| if (v0 != a3) {
| label_19:
0x00034378 beql v0, a3, 0x343cc |
0x0003437c lw v0, 8(s2) | v0 = *((s2 + 2));
0x00034380 lw t9, -0x7ee4(gp) | t9 = sym.ap_getword;
| if (v0 != fp) {
0x00034384 bne v0, fp, 0x34400 | goto label_23;
| }
0x00034388 addiu s1, s1, 1 | s1++;
0x0003438c move a1, t0 | a1 = t0;
0x00034390 sw t0, 0x1c(sp) | *(var_1ch_2) = t0;
0x00034394 sw s1, 0x24(sp) | *(var_24h) = s1;
0x00034398 addiu a2, zero, 0x7d | a2 = 0x7d;
0x0003439c move a0, s5 | a0 = s5;
0x000343a0 bal 0x1c498 | sym_ap_getword ();
0x000343a4 lw s1, 0x24(sp) | s1 = *(var_24h);
0x000343a8 lw gp, 0x10(sp) | gp = *(var_10h);
0x000343ac sw v0, 4(s2) | *((s2 + 1)) = v0;
0x000343b0 lw t0, 0x1c(sp) | t0 = *(var_1ch_2);
0x000343b4 addiu a3, zero, 0x4d | a3 = 0x4d;
0x000343b8 lb v0, (s1) | v0 = *(s1);
0x000343bc b 0x34334 | goto label_4;
| label_14:
0x000343c0 ori v0, v0, 1 | v0 |= 1;
0x000343c4 sw v0, 8(a1) | *((a1 + 2)) = v0;
0x000343c8 b 0x342ac | goto label_5;
| }
0x000343cc addiu s1, s1, 1 | s1++;
0x000343d0 ori v0, v0, 2 | v0 |= 2;
0x000343d4 sw v0, 8(s2) | *((s2 + 2)) = v0;
0x000343d8 sw zero, (s2) | *(s2) = 0;
0x000343dc move v0, zero | v0 = 0;
0x000343e0 sw s1, (s4) | *(s4) = s1;
0x000343e4 b 0x342cc | goto label_6;
| label_21:
0x000343e8 addiu s1, s1, 1 | s1++;
0x000343ec ori v0, v0, 4 | v0 |= 4;
0x000343f0 sw s1, 0x24(sp) | *(var_24h) = s1;
0x000343f4 sw v0, 8(s2) | *((s2 + 2)) = v0;
0x000343f8 lb v0, (s1) | v0 = *(s1);
0x000343fc b 0x34334 | goto label_4;
| label_23:
0x00034400 lw v0, -0x7f14(gp) | v0 = *((gp - 8133));
| label_22:
0x00034404 lw t9, -0x7200(gp) | t9 = sym.imp.apr_hash_get;
0x00034408 addiu a2, zero, 1 | a2 = 1;
0x0003440c lw a0, -0x3d6c(v0) | a0 = *((v0 - 3931));
0x00034410 move a1, s1 | a1 = s1;
0x00034414 jalr t9 | t9 ();
0x00034418 lw gp, 0x10(sp) | gp = *(var_10h);
| if (v0 == 0) {
0x0003441c beqz v0, 0x34504 | goto label_24;
| }
0x00034420 lw v1, 0x24(sp) | v1 = *(var_24h);
0x00034424 lw v0, (v0) | v0 = *(v0);
0x00034428 addiu v1, v1, 1 | v1++;
0x0003442c sw v0, (s2) | *(s2) = v0;
0x00034430 move v0, zero | v0 = 0;
0x00034434 sw v1, (s4) | *(s4) = v1;
0x00034438 b 0x342cc | goto label_6;
| label_20:
0x0003443c sw t0, 0x1c(sp) | *(var_1ch_2) = t0;
0x00034440 addiu s0, v0, -0x30 | s0 = v0 + -0x30;
0x00034444 jalr t9 | t9 ();
0x00034448 lw a2, (v0) | a2 = *(v0);
0x0003444c lw gp, 0x10(sp) | gp = *(var_10h);
0x00034450 addiu a1, s1, 1 | a1 = s1 + 1;
0x00034454 addiu a3, zero, 0x4d | a3 = 0x4d;
0x00034458 lw t0, 0x1c(sp) | t0 = *(var_1ch_2);
0x0003445c b 0x34474 |
| while (v1 != 0) {
0x00034460 sll v0, s0, 2 | v0 = s0 << 2;
0x00034464 addu v0, v0, s0 | v0 += s0;
0x00034468 sll v0, v0, 1 | v0 <<= 1;
0x0003446c addu v0, v0, a0 | v0 += a0;
0x00034470 addiu s0, v0, -0x30 | s0 = v0 + -0x30;
0x00034474 sw a1, 0x24(sp) | *(var_24h) = a1;
0x00034478 lb a0, (a1) | a0 = *(a1);
0x0003447c move s1, a1 | s1 = a1;
0x00034480 andi v1, a0, 0xff | v1 = a0 & 0xff;
0x00034484 sll v1, v1, 1 | v1 <<= 1;
0x00034488 addu v1, a2, v1 | v1 = a2 + v1;
0x0003448c lhu v1, (v1) | v1 = *(v1);
0x00034490 andi v1, v1, 0x800 | v1 &= 0x800;
0x00034494 addiu a1, a1, 1 | a1++;
0x00034498 bnez v1, 0x34460 |
| }
0x0003449c sw s0, 0xc(s2) | *((s2 + 3)) = s0;
0x000344a0 lb v0, (s1) | v0 = *(s1);
0x000344a4 b 0x34334 | goto label_4;
| label_16:
0x000344a8 lw t9, -0x7dd4(gp) | t9 = *(gp);
0x000344ac addiu v1, v1, 2 | v1 += 2;
0x000344b0 ori v0, v0, 1 | v0 |= 1;
0x000344b4 sw v0, 8(a1) | *((a1 + 2)) = v0;
0x000344b8 sw v1, 0x24(sp) | *(var_24h) = v1;
0x000344bc addiu t9, t9, 0x4234 | t9 += 0x4234;
0x000344c0 sw v1, (a2) | *(a2) = v1;
0x000344c4 bal 0x34234 | fcn_34234 ();
| goto label_7;
0x000344c8 lw gp, 0x10(sp) | gp = *(var_10h);
0x000344cc b 0x342cc | goto label_6;
| label_17:
0x000344d0 lw v0, -0x7fac(gp) | v0 = *(gp);
0x000344d4 addiu v1, v1, 2 | v1 += 2;
0x000344d8 addiu v0, v0, -0x4108 | v0 += -0x4108;
0x000344dc sw v0, 4(a1) | *((a1 + 1)) = v0;
0x000344e0 lw v0, -0x7dd4(gp) | v0 = *(gp);
0x000344e4 addiu v0, v0, 0x3384 | v0 += 0x3384;
0x000344e8 sw v0, (a1) | *(a1) = v0;
0x000344ec move v0, zero | v0 = 0;
0x000344f0 sw v1, (a2) | *(a2) = v1;
0x000344f4 b 0x342cc | goto label_6;
| label_18:
0x000344f8 lw v0, -0x7fac(gp) | v0 = *(gp);
| /* str.Ran_off_end_of_error_log_format_parsing_args_to_some_directive */
0x000344fc addiu v0, v0, -0x4170 | v0 += -0x4170;
0x00034500 b 0x342cc | goto label_6;
| label_24:
0x00034504 lw v0, 0x24(sp) | v0 = *(var_24h);
0x00034508 lw a1, -0x7fac(gp) | a1 = *(gp);
0x0003450c lw t9, -0x76e8(gp) | t9 = sym.imp.apr_pstrcat
0x00034510 lb v0, (v0) | v0 = *(v0);
0x00034514 move a3, zero | a3 = 0;
0x00034518 addiu a2, sp, 0x28 | a2 = sp + 0x28;
| /* str.Unrecognized_error_log_format_directive__ */
0x0003451c addiu a1, a1, -0x4130 | a1 += -0x4130;
0x00034520 move a0, s5 | a0 = s5;
0x00034524 sb v0, 0x28(sp) | *(var_28h_2) = v0;
0x00034528 sb zero, 0x29(sp) | *(var_29h) = 0;
0x0003452c jalr t9 | t9 ();
0x00034530 lw gp, 0x10(sp) | gp = *(var_10h);
0x00034534 b 0x342cc | goto label_6;
| label_15:
0x00034538 lw t9, -0x75e8(gp) | t9 = sym.imp.__stack_chk_fail;
0x0003453c jalr t9 | t9 ();
0x00034540 nop |
| }
; assembly | /* r2dec pseudo code output */
| /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/sbin/httpd @ 0x46a70 */
| #include <stdint.h>
|
; (fcn) fcn.00046a70 () | void fcn_00046a70 () {
0x00046a70 lui gp, 6 |
0x00046a74 addiu gp, gp, -0x3b50 |
0x00046a78 addu gp, gp, t9 | gp += t9;
| if (a1 != 0) {
0x00046a7c beqz a1, 0x46ad8 |
0x00046a80 nop |
0x00046a84 lw v0, (a1) | v0 = *(a1);
0x00046a88 move a3, a2 | a3 = a2;
| if (v0 != 0) {
0x00046a8c beqz v0, 0x46ad0 |
0x00046a90 addiu sp, sp, -0x28 |
0x00046a94 lw a2, -0x7fac(gp) | a2 = *(gp);
0x00046a98 lw t9, -0x76e8(gp) | t9 = sym.imp.apr_pstrcat
| /* esilref: ', ' */
0x00046a9c addiu a2, a2, -0x588 | a2 += -aav.0x00000588;
0x00046aa0 sw s0, 0x20(sp) | *(var_20h) = s0;
0x00046aa4 sw ra, 0x24(sp) | *(var_24h) = ra;
0x00046aa8 sw gp, 0x18(sp) | *(var_18h) = gp;
0x00046aac move s0, a1 | s0 = a1;
0x00046ab0 sw zero, 0x10(sp) | *(var_10h) = 0;
0x00046ab4 move a1, v0 | a1 = v0;
0x00046ab8 jalr t9 | t9 ();
0x00046abc lw ra, 0x24(sp) | ra = *(var_24h);
0x00046ac0 sw v0, (s0) | *(s0) = v0;
0x00046ac4 lw s0, 0x20(sp) | s0 = *(var_20h);
0x00046ac8 addiu sp, sp, 0x28 |
0x00046acc jr ra | return v0;
| }
0x00046ad0 sw a2, (a1) | *(a1) = a2;
0x00046ad4 jr ra | return v0;
| }
0x00046ad8 jr ra | return v0;
0x00046adc nop |
| }
; assembly | /* r2dec pseudo code output */
| /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/sbin/httpd @ 0x49024 */
| #include <stdint.h>
|
; (fcn) fcn.00049024 () | void fcn_00049024 () {
0x00049024 lui gp, 6 |
0x00049028 addiu gp, gp, -0x6104 |
0x0004902c addu gp, gp, t9 | gp += t9;
0x00049030 addiu sp, sp, -0x160 |
0x00049034 sw s2, 0x140(sp) | *(var_140h) = s2;
0x00049038 lw s2, -0x7534(gp) | s2 = *(gp);
0x0004903c sw s1, 0x13c(sp) | *(var_13ch) = s1;
0x00049040 move s1, a0 | s1 = a0;
0x00049044 lw v0, (s2) | v0 = *(s2);
0x00049048 lw a0, 0xc(a1) | a0 = *((a1 + 3));
0x0004904c sw gp, 0x20(sp) | *(var_20h) = gp;
0x00049050 sw s3, 0x144(sp) | *(var_144h) = s3;
0x00049054 sw s0, 0x138(sp) | *(var_138h) = s0;
0x00049058 sw ra, 0x15c(sp) | *(var_15ch) = ra;
0x0004905c sw fp, 0x158(sp) | *(var_158h) = fp;
0x00049060 sw s7, 0x154(sp) | *(var_154h) = s7;
0x00049064 sw s6, 0x150(sp) | *(var_150h) = s6;
0x00049068 sw s5, 0x14c(sp) | *(var_14ch) = s5;
0x0004906c sw s4, 0x148(sp) | *(var_148h) = s4;
0x00049070 move s0, a1 | s0 = a1;
0x00049074 move s3, a2 | s3 = a2;
0x00049078 sw a3, 0x2c(sp) | *(var_2ch) = a3;
0x0004907c sw v0, 0x134(sp) | *(var_134h) = v0;
0x00049080 lw t9, -0x7668(gp) | t9 = sym.imp.apr_table_get;
| if (a0 == 0) {
0x00049084 beqz a0, 0x490cc | goto label_2;
| }
0x00049088 lw a1, (s1) | a1 = *(s1);
0x0004908c jalr t9 | t9 ();
0x00049090 lw gp, 0x20(sp) | gp = *(var_20h);
| if (v0 == 0) {
0x00049094 beqz v0, 0x490cc | goto label_2;
| }
0x00049098 lw v0, 0x10(s1) | v0 = *((s1 + 4));
| do {
0x0004909c lw a0, 8(s1) | a0 = *((s1 + 2));
0x000490a0 sltiu v1, v0, 0xd | v1 = (v0 < 0xd) ? 1 : 0;
0x000490a4 sw a0, (s0) | *(s0) = a0;
0x000490a8 sw s1, 0x38(s0) | *((s0 + 14)) = s1;
| if (v1 == 0) {
0x000490ac beqz v1, 0x496bc | goto label_3;
| }
0x000490b0 sll v1, v0, 2 | v1 = v0 << 2;
0x000490b4 lw v0, -0x7fac(gp) | v0 = *(gp);
0x000490b8 addiu v0, v0, 0xc20 | v0 += 0xc20;
0x000490bc lwx v0, v1(v0) | __asm ("lwx v0, v1(v0)");
0x000490c0 addu v0, v0, gp | v0 += gp;
0x000490c4 jr v0 | v0 ();
0x000490c8 nop |
| label_2:
0x000490cc lw v0, 4(s0) | v0 = *((s0 + 1));
0x000490d0 lw v1, 0xc(s1) | v1 = *((s1 + 3));
0x000490d4 and v1, v0, v1 | v1 = v0 & v1;
0x000490d8 lw v0, 0x10(s1) | v0 = *((s1 + 4));
0x000490dc bnel v1, zero, 0x4909c |
| } while (v1 == 0);
0x000490e0 andi v0, v0, 0x200 | v0 &= segment.REGINFO;
0x000490e4 lw a1, (s1) | a1 = *(s1);
| if (v0 != 0) {
0x000490e8 bnez v0, 0x499e8 | goto label_4;
| }
0x000490ec lw v0, 0x24(s0) | v0 = *((s0 + 9));
0x000490f0 lw a0, 0x28(s0) | a0 = *((s0 + 10));
| if (v0 == 0) {
0x000490f4 beqz v0, 0x49178 | goto label_5;
| }
0x000490f8 lw v0, 0x10(v0) | v0 = *((v0 + 4));
0x000490fc lw t9, -0x76e8(gp) | t9 = sym.imp.apr_pstrcat
| if (v0 == 0) {
0x00049100 beqz v0, 0x49178 | goto label_5;
| }
0x00049104 lw a3, (v0) | a3 = *(v0);
0x00049108 lw v0, -0x7fac(gp) | v0 = *(gp);
0x0004910c lw a2, -0x7fac(gp) | a2 = *(gp);
| /* esilref: ' context' */
0x00049110 addiu v0, v0, -0x6c8 | v0 += -aav.0x000006c8;
0x00049114 sw v0, 0x14(sp) | *(var_14h) = v0;
0x00049118 lw v0, -0x7fac(gp) | v0 = *(gp);
0x0004911c addiu v0, v0, 0xb98 | v0 += 0xb98;
0x00049120 sw zero, 0x18(sp) | *(var_18h) = 0;
0x00049124 sw v0, 0x10(sp) | *(var_10h) = v0;
| /* str._not_allowed_in_ */
0x00049128 addiu a2, a2, 0x264 | a2 += aav.0x00000264;
0x0004912c jalr t9 | t9 ();
0x00049130 lw gp, 0x20(sp) | gp = *(var_20h);
0x00049134 move s4, v0 | s4 = v0;
| do {
| label_0:
0x00049138 lw a0, 0x134(sp) | a0 = *(var_134h);
0x0004913c lw v1, (s2) | v1 = *(s2);
0x00049140 move v0, s4 | v0 = s4;
| if (a0 != v1) {
0x00049144 bne a0, v1, 0x49a74 | goto label_6;
| }
0x00049148 lw ra, 0x15c(sp) | ra = *(var_15ch);
0x0004914c lw fp, 0x158(sp) | fp = *(var_158h);
0x00049150 lw s7, 0x154(sp) | s7 = *(var_154h);
0x00049154 lw s6, 0x150(sp) | s6 = *(var_150h);
0x00049158 lw s5, 0x14c(sp) | s5 = *(var_14ch);
0x0004915c lw s4, 0x148(sp) | s4 = *(var_148h);
0x00049160 lw s3, 0x144(sp) | s3 = *(var_144h);
0x00049164 lw s2, 0x140(sp) | s2 = *(var_140h);
0x00049168 lw s1, 0x13c(sp) | s1 = *(var_13ch);
0x0004916c lw s0, 0x138(sp) | s0 = *(var_138h);
0x00049170 addiu sp, sp, 0x160 |
0x00049174 jr ra | return v0;
| label_5:
0x00049178 lw a2, -0x7fac(gp) | a2 = *(gp);
0x0004917c lw t9, -0x76e8(gp) | t9 = sym.imp.apr_pstrcat
0x00049180 move a3, zero | a3 = 0;
| /* str._not_allowed_here */
0x00049184 addiu a2, a2, -0x4d04 | a2 += -0x4d04;
0x00049188 jalr t9 | t9 ();
0x0004918c move s4, v0 | s4 = v0;
0x00049190 lw gp, 0x20(sp) | gp = *(var_20h);
0x00049194 b 0x49138 |
| } while (1);
| do {
0x00049670 move a3, s6 | a3 = s6;
0x00049674 sw v0, 0x10(sp) | *(var_10h) = v0;
0x00049678 move a2, s5 | a2 = s5;
0x0004967c move a1, s3 | a1 = s3;
0x00049680 move a0, s0 | a0 = s0;
0x00049684 jalr t9 | t9 ();
0x00049688 move s4, v0 | s4 = v0;
0x0004968c lw gp, 0x20(sp) | gp = *(var_20h);
0x00049690 b 0x49138 | goto label_0;
| label_3:
0x000496bc lw a2, -0x7fac(gp) | a2 = *(gp);
0x000496c0 lw t9, -0x76e8(gp) | t9 = sym.imp.apr_pstrcat
0x000496c4 lw a1, (s1) | a1 = *(s1);
0x000496c8 lw a0, 0x28(s0) | a0 = *((s0 + 10));
0x000496cc move a3, zero | a3 = 0;
| /* str._is_improperly_configured_internally__server_bug_ */
0x000496d0 addiu a2, a2, 0x3a8 | a2 += aav.0x000003a8;
0x000496d4 jalr t9 | t9 ();
0x000496d8 move s4, v0 | s4 = v0;
0x000496dc lw gp, 0x20(sp) | gp = *(var_20h);
0x000496e0 b 0x49138 | goto label_0;
| label_1:
0x000498c4 lb v1, (s5) | v1 = *(s5);
| if (v1 == 0) {
0x000498c8 beql v1, zero, 0x498fc | goto label_7;
| }
0x000498cc lw v0, 0x14(s1) | v0 = *((s1 + 5));
0x000498d0 lw v1, 0x2c(sp) | v1 = *(var_2ch);
| if (s6 != 0) {
0x000498d4 beqz s6, 0x498ec |
0x000498d8 lb v1, (s6) | v1 = *(s6);
0x000498dc lw v1, 0x2c(sp) | v1 = *(var_2ch);
| if (v1 == 0) {
0x000498e0 beqz v1, 0x498ec | goto label_8;
| }
| if (v0 == 0) {
0x000498e4 beql v0, zero, 0x498fc | goto label_7;
| }
0x000498e8 lw v0, 0x14(s1) | v0 = *((s1 + 5));
| }
| label_8:
0x000498ec lb v1, (v1) | v1 = *(v1);
0x000498f0 beql v1, zero, 0x49670 |
| } while (v1 == 0);
0x000498f4 lw t9, 4(s1) | t9 = *((s1 + 1));
0x000498f8 lw v0, 0x14(s1) | v0 = *((s1 + 5));
| label_7:
0x000498fc lw a0, 0x28(s0) | a0 = *((s0 + 10));
0x00049900 lw a1, (s1) | a1 = *(s1);
| if (v0 == 0) {
0x00049904 beqz v0, 0x49a44 | goto label_9;
| }
0x00049908 lw a3, -0x7fac(gp) | a3 = *(gp);
| /* esilref: ', ' */
0x0004990c addiu a3, a3, -0x588 | a3 += -aav.0x00000588;
| do {
0x00049910 lw a2, -0x7fac(gp) | a2 = *(gp);
0x00049914 lw t9, -0x76e8(gp) | t9 = sym.imp.apr_pstrcat
0x00049918 sw zero, 0x14(sp) | *(var_14h) = 0;
0x0004991c sw v0, 0x10(sp) | *(var_10h) = v0;
| /* str._takes_one_or_three_arguments */
0x00049920 addiu a2, a2, 0x32c | a2 += aav.0x0000032c;
0x00049924 jalr t9 | t9 ();
0x00049928 move s4, v0 | s4 = v0;
0x0004992c lw gp, 0x20(sp) | gp = *(var_20h);
0x00049930 b 0x49138 | goto label_0;
| label_4:
0x000499e8 lw v0, -0x7fac(gp) | v0 = *(gp);
0x000499ec lw v1, 0x2c(s0) | v1 = *((s0 + 11));
0x000499f0 lw a0, -0x7fac(gp) | a0 = *(gp);
0x000499f4 lw t9, -0x7ec8(gp) | t9 = sym.ap_log_perror_;
| /* str.AH02295:__s_in_.htaccess_forbidden_by_AllowOverride */
0x000499f8 addiu v0, v0, 0x230 | v0 += aav.0x00000230;
0x000499fc sw a1, 0x1c(sp) | *(var_1ch) = a1;
0x00049a00 sw v0, 0x18(sp) | *(var_18h) = v0;
0x00049a04 sw v1, 0x14(sp) | *(var_14h) = v1;
0x00049a08 sw zero, 0x10(sp) | *(var_10h) = 0;
0x00049a0c addiu a3, zero, 4 | a3 = 4;
0x00049a10 move a2, zero | a2 = 0;
0x00049a14 addiu a1, zero, 0x365 | a1 = 0x365;
| /* str._usr_src_debug_apache2_2.4.57_r0_httpd_2.4.57_server_config.c */
0x00049a18 addiu a0, a0, 0x1f0 | a0 += aav.0x000001f0;
0x00049a1c bal 0x52cec | sym_ap_log_perror_ ();
0x00049a20 move s4, zero | s4 = 0;
0x00049a24 lw gp, 0x20(sp) | gp = *(var_20h);
0x00049a28 b 0x49138 | goto label_0;
| label_9:
0x00049a44 move a3, zero | a3 = 0;
0x00049a48 b 0x49910 |
| } while (1);
| label_6:
0x00049a74 lw t9, -0x75e8(gp) | t9 = sym.imp.__stack_chk_fail;
0x00049a78 jalr t9 | t9 ();
0x00049a7c nop |
0x00049a80 move v0, zero | v0 = 0;
0x00049a84 b 0x498c4 | goto label_1;
| }
; assembly | /* r2dec pseudo code output */
| /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/sbin/httpd @ 0x4cf90 */
| #include <stdint.h>
|
; (fcn) fcn.0004cf90 () | void fcn_0004cf90 () {
0x0004cf90 lui gp, 5 |
0x0004cf94 addiu gp, gp, 0x5f90 |
0x0004cf98 addu gp, gp, t9 | gp += t9;
0x0004cf9c addiu sp, sp, -0x98 |
0x0004cfa0 lw v0, -0x7f14(gp) | v0 = *((gp - 8133));
0x0004cfa4 sw s2, 0x84(sp) | *(var_84h) = s2;
0x0004cfa8 lw s2, -0x7534(gp) | s2 = *(gp);
0x0004cfac lw v0, -0x3c50(v0) | v0 = *((v0 - 3860));
0x0004cfb0 sw gp, 0x18(sp) | *(var_18h) = gp;
0x0004cfb4 lw v1, (s2) | v1 = *(s2);
0x0004cfb8 sw s5, 0x90(sp) | *(var_90h) = s5;
0x0004cfbc sw s4, 0x8c(sp) | *(var_8ch) = s4;
0x0004cfc0 sw s1, 0x80(sp) | *(var_80h) = s1;
0x0004cfc4 sw s0, 0x7c(sp) | *(var_7ch) = s0;
0x0004cfc8 sw ra, 0x94(sp) | *(var_94h) = ra;
0x0004cfcc sw s3, 0x88(sp) | *(var_88h) = s3;
0x0004cfd0 move s5, a0 | s5 = a0;
0x0004cfd4 move s1, a2 | s1 = a2;
0x0004cfd8 move s0, a3 | s0 = a3;
0x0004cfdc lw s4, 0xa8(sp) | s4 = *(var_a8h);
0x0004cfe0 sw v1, 0x74(sp) | *(var_74h_2) = v1;
0x0004cfe4 sw zero, 0x24(sp) | *(var_24h) = 0;
0x0004cfe8 sw a1, 0x20(sp) | *(var_20h_2) = a1;
| if (v0 == 0) {
0x0004cfec beqz v0, 0x4d124 | goto label_1;
| }
| label_0:
0x0004cff0 lw v0, -0x7fac(gp) | v0 = *(gp);
0x0004cff4 addiu s3, sp, 0x28 | s3 = sp + 0x28;
0x0004cff8 addiu v0, v0, 0xc58 | v0 += 0xc58;
0x0004cffc move v1, s3 | v1 = s3;
0x0004d000 addiu a0, v0, 0x40 | a0 = v0 + 0x40;
| do {
0x0004d004 lw t0, (v0) | t0 = *(v0);
0x0004d008 lw a3, 4(v0) | a3 = *((v0 + 1));
0x0004d00c lw a2, 8(v0) | a2 = *((v0 + 2));
0x0004d010 lw a1, 0xc(v0) | a1 = *((v0 + 3));
0x0004d014 addiu v0, v0, 0x10 | v0 += 0x10;
0x0004d018 sw t0, (v1) | *(v1) = t0;
0x0004d01c sw a3, 4(v1) | *((v1 + 1)) = a3;
0x0004d020 sw a2, 8(v1) | *((v1 + 2)) = a2;
0x0004d024 sw a1, 0xc(v1) | *((v1 + 3)) = a1;
0x0004d028 addiu v1, v1, 0x10 | v1 += 0x10;
0x0004d02c bne v0, a0, 0x4d004 |
| } while (v0 != a0);
0x0004d030 lw a0, (v0) | a0 = *(v0);
0x0004d034 lw v0, 4(v0) | v0 = *((v0 + 1));
0x0004d038 sw a0, (v1) | *(v1) = a0;
0x0004d03c sw v0, 4(v1) | *((v1 + 1)) = v0;
0x0004d040 lw v0, -0x7a1c(gp) | v0 = *(gp);
0x0004d044 lw a1, -0x7fac(gp) | a1 = *(gp);
0x0004d048 addiu v0, v0, -0x71b0 | v0 += -0x71b0;
0x0004d04c sw v0, 0x14(sp) | *(var_14h) = v0;
0x0004d050 lw v0, -0x7a1c(gp) | v0 = *(gp);
0x0004d054 lw t9, -0x79e4(gp) | t9 = sym.ap_pcfg_open_custom;
0x0004d058 addiu v0, v0, -0x6578 | v0 += -0x6578;
0x0004d05c sw v0, 0x10(sp) | *(var_10h) = v0;
0x0004d060 addiu v0, zero, 0x96 | v0 = 0x96;
0x0004d064 sw v0, 0x2c(sp) | *(var_2ch_2) = v0;
0x0004d068 addiu v0, zero, 0xef | v0 = 0xef;
0x0004d06c move a3, zero | a3 = 0;
0x0004d070 addiu a2, sp, 0x20 | a2 = sp + 0x20;
| /* str._c__C_directives */
0x0004d074 addiu a1, a1, 0x7e4 | a1 += aav.0x000007e4;
0x0004d078 move a0, s0 | a0 = s0;
0x0004d07c sw s0, 0x50(sp) | *(var_50h_2) = s0;
0x0004d080 sw s4, 0x54(sp) | *(var_54h_2) = s4;
0x0004d084 sw s5, 0x58(sp) | *(var_58h_2) = s5;
0x0004d088 sw v0, 0x30(sp) | *(var_30h_2) = v0;
0x0004d08c jalr t9 | t9 ();
0x0004d090 lw gp, 0x18(sp) | gp = *(var_18h);
0x0004d094 move a3, s1 | a3 = s1;
0x0004d098 move a2, s4 | a2 = s4;
0x0004d09c lw t9, -0x79e0(gp) | t9 = sym.ap_build_config;
0x0004d0a0 move a1, s0 | a1 = s0;
0x0004d0a4 move a0, s3 | a0 = s3;
0x0004d0a8 sw v0, 0x48(sp) | *(var_48h) = v0;
0x0004d0ac bal 0x4cce8 | sym_ap_build_config ();
0x0004d0b0 lw gp, 0x18(sp) | gp = *(var_18h);
0x0004d0b4 lw a0, 0x48(sp) | a0 = *(var_48h);
0x0004d0b8 lw t9, -0x79dc(gp) | t9 = sym.ap_cfg_closefile;
0x0004d0bc move s1, v0 | s1 = v0;
0x0004d0c0 jalr t9 | t9 ();
0x0004d0c4 lw gp, 0x18(sp) | gp = *(var_18h);
| if (s1 != 0) {
0x0004d0c8 beqz s1, 0x4d0f0 |
0x0004d0cc lw a1, -0x7fac(gp) | a1 = *(gp);
0x0004d0d0 lw t9, -0x76e8(gp) | t9 = sym.imp.apr_pstrcat
0x0004d0d4 move a2, s1 | a2 = s1;
0x0004d0d8 move a3, zero | a3 = 0;
| /* str.Syntax_error_in__C__c_directive:_ */
0x0004d0dc addiu a1, a1, 0x7f8 | a1 += 0x7f8;
0x0004d0e0 move a0, s0 | a0 = s0;
0x0004d0e4 jalr t9 | t9 ();
0x0004d0e8 lw gp, 0x18(sp) | gp = *(var_18h);
0x0004d0ec move s1, v0 | s1 = v0;
| }
0x0004d0f0 lw a0, 0x74(sp) | a0 = *(var_74h_2);
0x0004d0f4 lw v1, (s2) | v1 = *(s2);
0x0004d0f8 move v0, s1 | v0 = s1;
| if (a0 == v1) {
0x0004d0fc bne a0, v1, 0x4d144 |
0x0004d100 lw ra, 0x94(sp) | ra = *(var_94h);
0x0004d104 lw s5, 0x90(sp) | s5 = *(var_90h);
0x0004d108 lw s4, 0x8c(sp) | s4 = *(var_8ch);
0x0004d10c lw s3, 0x88(sp) | s3 = *(var_88h);
0x0004d110 lw s2, 0x84(sp) | s2 = *(var_84h);
0x0004d114 lw s1, 0x80(sp) | s1 = *(var_80h);
0x0004d118 lw s0, 0x7c(sp) | s0 = *(var_7ch);
0x0004d11c addiu sp, sp, 0x98 |
0x0004d120 jr ra | return v0;
| label_1:
0x0004d124 lw v0, (a0) | v0 = *(a0);
0x0004d128 lw t9, -0x7a1c(gp) | t9 = *(gp);
0x0004d12c addiu a1, zero, 1 | a1 = 1;
| /* fcn.00049b1c */
0x0004d130 addiu t9, t9, -0x64e4 | t9 += -0x64e4;
0x0004d134 lw a0, 4(v0) | a0 = *((v0 + 1));
0x0004d138 bal 0x49b1c | fcn_00049b1c ();
0x0004d13c lw gp, 0x18(sp) | gp = *(var_18h);
0x0004d140 b 0x4cff0 | goto label_0;
| }
0x0004d144 lw t9, -0x75e8(gp) | t9 = sym.imp.__stack_chk_fail;
0x0004d148 jalr t9 | t9 ();
0x0004d14c nop |
| }
; assembly | /* r2dec pseudo code output */
| /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/sbin/httpd @ 0x59ebc */
| #include <stdint.h>
|
; (fcn) fcn.00059ebc () | void fcn_00059ebc () {
0x00059ebc lui gp, 5 |
0x00059ec0 addiu gp, gp, -0x6f9c |
0x00059ec4 addu gp, gp, t9 | gp += t9;
0x00059ec8 addiu sp, sp, -0x40 |
0x00059ecc lw v0, 0xc(a1) | v0 = *((a1 + 3));
0x00059ed0 sw gp, 0x20(sp) | *(var_20h) = gp;
0x00059ed4 sw s2, 0x38(sp) | *(var_38h) = s2;
0x00059ed8 sw s1, 0x34(sp) | *(var_34h) = s1;
0x00059edc sw s0, 0x30(sp) | *(var_30h) = s0;
0x00059ee0 sw ra, 0x3c(sp) | *(var_3ch) = ra;
0x00059ee4 move s1, a1 | s1 = a1;
0x00059ee8 move s0, a0 | s0 = a0;
0x00059eec move s2, a2 | s2 = a2;
| if (v0 == 0) {
0x00059ef0 beqz v0, 0x59f5c | goto label_1;
| }
0x00059ef4 lw v0, -0x7fac(gp) | v0 = *(gp);
0x00059ef8 lw a1, 0x14(s1) | a1 = *((s1 + 5));
0x00059efc addiu v0, v0, 0x47dc | v0 += 0x47dc;
| if (a3 == 0) {
0x00059f00 beqz a3, 0x59f94 | goto label_2;
| }
| do {
0x00059f04 lw v1, -0x7fac(gp) | v1 = *(gp);
0x00059f08 addiu v1, v1, -0x7d4 | v1 += -aav.0x000007d4;
| label_0:
0x00059f0c lw a2, -0x7fac(gp) | a2 = *(gp);
0x00059f10 lw t9, -0x76e8(gp) | t9 = sym.imp.apr_pstrcat
0x00059f14 move a0, s0 | a0 = s0;
0x00059f18 sw a3, 0x14(sp) | *(var_14h) = a3;
0x00059f1c sw zero, 0x1c(sp) | *(var_1ch) = 0;
0x00059f20 sw v0, 0x18(sp) | *(var_18h) = v0;
0x00059f24 sw v1, 0x10(sp) | *(var_10h) = v1;
0x00059f28 move a3, s2 | a3 = s2;
0x00059f2c addiu a2, a2, -0x6a2c | a2 += -0x6a2c;
0x00059f30 jalr t9 | t9 ();
0x00059f34 lw gp, 0x20(sp) | gp = *(var_20h);
0x00059f38 lw ra, 0x3c(sp) | ra = *(var_3ch);
0x00059f3c lw s2, 0x38(sp) | s2 = *(var_38h);
0x00059f40 lw s1, 0x34(sp) | s1 = *(var_34h);
0x00059f44 move a0, s0 | a0 = s0;
0x00059f48 lw t9, -0x7e50(gp) | t9 = sym.ap_server_root_relative;
0x00059f4c lw s0, 0x30(sp) | s0 = *(var_30h);
0x00059f50 move a1, v0 | a1 = v0;
0x00059f54 addiu sp, sp, 0x40 |
0x00059f58 b 0x4d3e0 | void (*0x4d3e0)() ();
| label_1:
0x00059f5c lw t9, -0x7224(gp) | t9 = sym.imp.getpid;
0x00059f60 sw a3, 0x2c(sp) | *(var_2ch) = a3;
0x00059f64 jalr t9 | t9 ();
0x00059f68 lw gp, 0x20(sp) | gp = *(var_20h);
0x00059f6c move a2, v0 | a2 = v0;
0x00059f70 move a0, s0 | a0 = s0;
0x00059f74 lw a1, -0x7fac(gp) | a1 = *(gp);
0x00059f78 lw t9, -0x7540(gp) | t9 = sym.imp.apr_psprintf;
| /* esilref: '.&d' */
0x00059f7c addiu a1, a1, 0x202c | a1 += aav.0x0000202c;
0x00059f80 jalr t9 | t9 ();
0x00059f84 lw a3, 0x2c(sp) | a3 = *(var_2ch);
0x00059f88 lw gp, 0x20(sp) | gp = *(var_20h);
0x00059f8c lw a1, 0x14(s1) | a1 = *((s1 + 5));
0x00059f90 bnez a3, 0x59f04 |
| } while (a3 != 0);
| label_2:
0x00059f94 lw a3, -0x7fac(gp) | a3 = *(gp);
0x00059f98 addiu a3, a3, 0x47dc | a3 += 0x47dc;
0x00059f9c move v1, a3 | v1 = a3;
0x00059fa0 b 0x59f0c | goto label_0;
| }
; assembly | /* r2dec pseudo code output */
| /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/sbin/httpd @ 0x5b184 */
| #include <stdint.h>
|
; (fcn) fcn.0005b184 () | void fcn_0005b184 () {
0x0005b184 lui gp, 4 |
0x0005b188 addiu gp, gp, 0x7d9c |
0x0005b18c addu gp, gp, t9 | gp += t9;
0x0005b190 addiu sp, sp, -0x50 |
0x0005b194 lw t9, -0x737c(gp) | t9 = sym.imp.apr_pool_create_ex;
0x0005b198 sw s2, 0x44(sp) | *(var_44h) = s2;
0x0005b19c lw s2, -0x7534(gp) | s2 = *(gp);
0x0005b1a0 sw gp, 0x20(sp) | *(var_20h) = gp;
0x0005b1a4 sw s1, 0x40(sp) | *(var_40h) = s1;
0x0005b1a8 lw v0, (s2) | v0 = *(s2);
0x0005b1ac move a1, a0 | a1 = a0;
0x0005b1b0 sw ra, 0x4c(sp) | *(var_4ch) = ra;
0x0005b1b4 sw s3, 0x48(sp) | *(var_48h) = s3;
0x0005b1b8 sw s0, 0x3c(sp) | *(var_3ch) = s0;
0x0005b1bc move a3, zero | a3 = 0;
0x0005b1c0 move a2, zero | a2 = 0;
0x0005b1c4 addiu a0, sp, 0x2c | a0 = sp + 0x2c;
0x0005b1c8 sw v0, 0x34(sp) | *(var_34h) = v0;
0x0005b1cc jalr t9 | t9 ();
0x0005b1d0 nop |
0x0005b1d4 move s1, v0 | s1 = v0;
0x0005b1d8 lw gp, 0x20(sp) | gp = *(var_20h);
| if (v0 != 0) {
0x0005b1dc beqz v0, 0x5b20c |
| label_0:
0x0005b1e0 lw a0, 0x34(sp) | a0 = *(var_34h);
0x0005b1e4 lw v1, (s2) | v1 = *(s2);
0x0005b1e8 move v0, s1 | v0 = s1;
| if (a0 != v1) {
0x0005b1ec bne a0, v1, 0x5b4b8 | goto label_5;
| }
0x0005b1f0 lw ra, 0x4c(sp) | ra = *(var_4ch);
0x0005b1f4 lw s3, 0x48(sp) | s3 = *(var_48h);
0x0005b1f8 lw s2, 0x44(sp) | s2 = *(var_44h);
0x0005b1fc lw s1, 0x40(sp) | s1 = *(var_40h);
0x0005b200 lw s0, 0x3c(sp) | s0 = *(var_3ch);
0x0005b204 addiu sp, sp, 0x50 |
0x0005b208 jr ra | return v0;
| }
0x0005b20c lw s3, -0x794c(gp) | s3 = *(gp);
0x0005b210 lw a1, -0x7fac(gp) | a1 = *(gp);
0x0005b214 lw t9, -0x7698(gp) | t9 = sym.imp.apr_pool_tag;
0x0005b218 lw a0, 0x2c(sp) | a0 = *(var_2ch);
| /* str.dummy_connection */
0x0005b21c addiu a1, a1, 0x2378 | a1 += 0x2378;
0x0005b220 jalr t9 | t9 ();
0x0005b224 lw s0, (s3) | s0 = *(s3);
0x0005b228 lw gp, 0x20(sp) | gp = *(var_20h);
| if (s0 == 0) {
0x0005b22c beqz s0, 0x5b270 | goto label_6;
| }
0x0005b230 lw a0, 0x14(s0) | a0 = *((s0 + 5));
0x0005b234 lw s1, -0x7fac(gp) | s1 = *(gp);
| if (a0 == 0) {
0x0005b238 beqz a0, 0x5b270 | goto label_6;
| }
| /* esilref: 'http' */
0x0005b23c addiu s1, s1, 0x7828 | s1 += 0x7828;
0x0005b240 b 0x5b25c |
| while (v0 != 0) {
0x0005b244 lw s0, (s0) | s0 = *(s0);
| if (s0 == 0) {
0x0005b248 beql s0, zero, 0x5b270 | goto label_6;
| }
0x0005b24c lw s0, (s3) | s0 = *(s3);
0x0005b250 lw a0, 0x14(s0) | a0 = *((s0 + 5));
| if (a0 == 0) {
0x0005b254 beql a0, zero, 0x5b274 | goto label_7;
| }
0x0005b258 lw v0, 8(s0) | v0 = *((s0 + 2));
0x0005b25c lw t9, -0x7e28(gp) | t9 = sym.ap_cstr_casecmp;
0x0005b260 move a1, s1 | a1 = s1;
0x0005b264 jalr t9 | t9 ();
0x0005b268 lw gp, 0x20(sp) | gp = *(var_20h);
0x0005b26c bnez v0, 0x5b244 |
| }
| label_6:
0x0005b270 lw v0, 8(s0) | v0 = *((s0 + 2));
| label_7:
0x0005b274 lw t9, -0x76ec(gp) | t9 = sym.imp.apr_socket_create;
0x0005b278 move a3, zero | a3 = 0;
0x0005b27c lw a1, 0x10(v0) | a1 = *((v0 + 4));
0x0005b280 lw v0, 0x2c(sp) | v0 = *(var_2ch);
0x0005b284 addiu a2, zero, 2 | a2 = 2;
0x0005b288 sw v0, 0x10(sp) | *(var_10h) = v0;
0x0005b28c addiu a0, sp, 0x28 | a0 = sp + 0x28;
0x0005b290 jalr t9 | t9 ();
0x0005b294 move s1, v0 | s1 = v0;
0x0005b298 lw gp, 0x20(sp) | gp = *(var_20h);
| if (v0 != 0) {
0x0005b29c bnez v0, 0x5b3f0 | goto label_8;
| }
0x0005b2a0 lw t9, -0x736c(gp) | t9 = sym.imp.apr_socket_timeout_set;
0x0005b2a4 lw a0, 0x28(sp) | a0 = *(var_28h);
0x0005b2a8 lui a2, 0x2d | a2 = 0x2dc6c0;
0x0005b2ac ori a2, a2, 0xc6c0 |
0x0005b2b0 move a3, zero | a3 = 0;
0x0005b2b4 jalr t9 | t9 ();
0x0005b2b8 move s1, v0 | s1 = v0;
0x0005b2bc lw gp, 0x20(sp) | gp = *(var_20h);
| if (v0 != 0) {
0x0005b2c0 bnez v0, 0x5b430 | goto label_9;
| }
0x0005b2c4 lw t9, -0x7364(gp) | t9 = *(gp);
0x0005b2c8 lw a1, 8(s0) | a1 = *((s0 + 2));
0x0005b2cc lw a0, 0x28(sp) | a0 = *(var_28h);
0x0005b2d0 jalr t9 | t9 ();
0x0005b2d4 move s1, v0 | s1 = v0;
0x0005b2d8 lw gp, 0x20(sp) | gp = *(var_20h);
| if (v0 != 0) {
0x0005b2dc bnez v0, 0x5b38c | goto label_10;
| }
0x0005b2e0 lw a0, 0x14(s0) | a0 = *((s0 + 5));
0x0005b2e4 lw t9, -0x7e28(gp) | t9 = sym.ap_cstr_casecmp;
| if (a0 != 0) {
0x0005b2e8 beqz a0, 0x5b300 |
0x0005b2ec lw a1, -0x7fac(gp) | a1 = *(gp);
| /* str.https */
0x0005b2f0 addiu a1, a1, -0x47e8 | a1 += -0x47e8;
0x0005b2f4 jalr t9 | t9 ();
0x0005b2f8 lw gp, 0x20(sp) | gp = *(var_20h);
| if (v0 == 0) {
0x0005b2fc beqz v0, 0x5b470 | goto label_11;
| }
| }
0x0005b300 lw t9, -0x7fd8(gp) | t9 = sym.ap_get_server_description;
0x0005b304 lw s0, 0x2c(sp) | s0 = *(var_2ch);
0x0005b308 jalr t9 | t9 ();
0x0005b30c lw gp, 0x20(sp) | gp = *(var_20h);
0x0005b310 move a0, s0 | a0 = s0;
0x0005b314 move a2, v0 | a2 = v0;
0x0005b318 lw a3, -0x7fac(gp) | a3 = *(gp);
0x0005b31c lw a1, -0x7fac(gp) | a1 = *(gp);
0x0005b320 lw t9, -0x76e8(gp) | t9 = sym.imp.apr_pstrcat
| /* str.__internal_dummy_connection__r_n_r_n */
0x0005b324 addiu a3, a3, 0x2414 | a3 += 0x2414;
| /* str.OPTIONS__HTTP_1.0_r_nUser_Agent:_ */
0x0005b328 addiu a1, a1, 0x2438 | a1 += 0x2438;
0x0005b32c sw zero, 0x10(sp) | *(var_10h) = 0;
0x0005b330 jalr t9 | t9 ();
0x0005b334 lw gp, 0x20(sp) | gp = *(var_20h);
0x0005b338 move a0, v0 | a0 = v0;
0x0005b33c lw t9, -0x74c4(gp) | t9 = sym.imp.strlen;
0x0005b340 move s0, v0 | s0 = v0;
0x0005b344 jalr t9 | t9 ();
0x0005b348 lw gp, 0x20(sp) | gp = *(var_20h);
0x0005b34c sw v0, 0x30(sp) | *(var_30h_2) = v0;
| label_2:
0x0005b350 lw t9, -0x74bc(gp) | t9 = sym.imp.apr_socket_send;
0x0005b354 lw a0, 0x28(sp) | a0 = *(var_28h);
0x0005b358 addiu a2, sp, 0x30 | a2 = sp + 0x30;
0x0005b35c move a1, s0 | a1 = s0;
0x0005b360 jalr t9 | t9 ();
0x0005b364 lw gp, 0x20(sp) | gp = *(var_20h);
| label_1:
0x0005b368 lw t9, -0x76f8(gp) | t9 = sym.imp.apr_socket_close;
0x0005b36c lw a0, 0x28(sp) | a0 = *(var_28h);
0x0005b370 jalr t9 | t9 ();
0x0005b374 lw gp, 0x20(sp) | gp = *(var_20h);
| do {
0x0005b378 lw t9, -0x7428(gp) | t9 = *(gp);
0x0005b37c lw a0, 0x2c(sp) | a0 = *(var_2ch);
0x0005b380 jalr t9 | t9 ();
0x0005b384 lw gp, 0x20(sp) | gp = *(var_20h);
0x0005b388 b 0x5b1e0 | goto label_0;
| label_10:
0x0005b38c lw v1, -0x7fc0(gp) | v1 = *(gp);
0x0005b390 lui v0, 1 | v0 = 0x11177;
| /* esilref: 'us' */
0x0005b394 addiu v0, v0, 0x1177 |
0x0005b398 lw v1, (v1) | v1 = *(v1);
| if (s1 == v0) {
0x0005b39c beq s1, v0, 0x5b484 | goto label_12;
| }
0x0005b3a0 addiu a3, zero, 4 | a3 = 4;
| label_3:
0x0005b3a4 lw v0, 8(s0) | v0 = *((s0 + 2));
0x0005b3a8 lw a0, -0x7fac(gp) | a0 = *(gp);
0x0005b3ac sw v0, 0x1c(sp) | *(var_1ch) = v0;
0x0005b3b0 lw v0, -0x7fac(gp) | v0 = *(gp);
0x0005b3b4 lw t9, -0x7fb0(gp) | t9 = sym.ap_log_error_;
| /* str.AH00056:_connect_to_listener_on__pI */
0x0005b3b8 addiu v0, v0, 0x23f0 | v0 += 0x23f0;
0x0005b3bc sw v0, 0x18(sp) | *(var_18h) = v0;
0x0005b3c0 sw v1, 0x14(sp) | *(var_14h) = v1;
0x0005b3c4 sw s1, 0x10(sp) | *(var_10h) = s1;
0x0005b3c8 move a2, zero | a2 = 0;
0x0005b3cc addiu a1, zero, 0x2ad | a1 = 0x2ad;
| /* str._usr_src_debug_apache2_2.4.57_r0_httpd_2.4.57_server_mpm_unix.c */
0x0005b3d0 addiu a0, a0, 0x22a8 | a0 += aav.0x000022a8;
0x0005b3d4 bal 0x515e8 | sym_ap_log_error_ ();
0x0005b3d8 lw gp, 0x20(sp) | gp = *(var_20h);
0x0005b3dc lw t9, -0x7428(gp) | t9 = *(gp);
| label_4:
0x0005b3e0 lw a0, 0x2c(sp) | a0 = *(var_2ch);
0x0005b3e4 jalr t9 | t9 ();
0x0005b3e8 lw gp, 0x20(sp) | gp = *(var_20h);
0x0005b3ec b 0x5b1e0 | goto label_0;
| label_8:
0x0005b3f0 lw v0, -0x7fc0(gp) | v0 = *(gp);
0x0005b3f4 lw a0, -0x7fac(gp) | a0 = *(gp);
0x0005b3f8 lw t9, -0x7fb0(gp) | t9 = sym.ap_log_error_;
0x0005b3fc lw v1, (v0) | v1 = *(v0);
0x0005b400 lw v0, -0x7fac(gp) | v0 = *(gp);
0x0005b404 addiu a3, zero, 4 | a3 = 4;
| /* str.AH00054:_get_socket_to_connect_to_listener */
0x0005b408 addiu v0, v0, 0x238c | v0 += 0x238c;
0x0005b40c move a2, zero | a2 = 0;
0x0005b410 addiu a1, zero, 0x28c | a1 = aav.0x0000028c;
| /* str._usr_src_debug_apache2_2.4.57_r0_httpd_2.4.57_server_mpm_unix.c */
0x0005b414 addiu a0, a0, 0x22a8 | a0 += aav.0x000022a8;
0x0005b418 sw v0, 0x18(sp) | *(var_18h) = v0;
0x0005b41c sw v1, 0x14(sp) | *(var_14h) = v1;
0x0005b420 sw s1, 0x10(sp) | *(var_10h) = s1;
0x0005b424 bal 0x515e8 | sym_ap_log_error_ ();
0x0005b428 lw gp, 0x20(sp) | gp = *(var_20h);
0x0005b42c b 0x5b378 |
| } while (1);
| label_9:
0x0005b430 lw v0, -0x7fc0(gp) | v0 = *(gp);
0x0005b434 lw a0, -0x7fac(gp) | a0 = *(gp);
0x0005b438 lw t9, -0x7fb0(gp) | t9 = sym.ap_log_error_;
0x0005b43c lw v1, (v0) | v1 = *(v0);
0x0005b440 lw v0, -0x7fac(gp) | v0 = *(gp);
0x0005b444 addiu a3, zero, 4 | a3 = 4;
| /* str.AH00055:_set_timeout_on_socket_to_connect_to_listener */
0x0005b448 addiu v0, v0, 0x23b8 | v0 += 0x23b8;
0x0005b44c move a2, zero | a2 = 0;
0x0005b450 addiu a1, zero, 0x29a | a1 = 0x29a;
| /* str._usr_src_debug_apache2_2.4.57_r0_httpd_2.4.57_server_mpm_unix.c */
0x0005b454 addiu a0, a0, 0x22a8 | a0 += aav.0x000022a8;
0x0005b458 sw v0, 0x18(sp) | *(var_18h) = v0;
0x0005b45c sw v1, 0x14(sp) | *(var_14h) = v1;
0x0005b460 sw s1, 0x10(sp) | *(var_10h) = s1;
0x0005b464 bal 0x515e8 | sym_ap_log_error_ ();
0x0005b468 lw gp, 0x20(sp) | gp = *(var_20h);
0x0005b46c b 0x5b368 | goto label_1;
| label_11:
0x0005b470 lw s0, -0x7fac(gp) | s0 = *(gp);
0x0005b474 addiu v0, zero, 7 | v0 = 7;
0x0005b478 sw v0, 0x30(sp) | *(var_30h_2) = v0;
| /* aav.0x00082880 */
0x0005b47c addiu s0, s0, 0x2880 | s0 += 0x2880;
0x0005b480 b 0x5b350 | goto label_2;
| label_12:
0x0005b484 addiu a3, zero, 7 | a3 = 7;
| if (v1 == 0) {
0x0005b488 beqz v1, 0x5b3a4 | goto label_3;
| }
0x0005b48c lw v0, 0x10(v1) | v0 = *((v1 + 4));
| if (v0 != 0) {
0x0005b490 beql v0, zero, 0x5b4a4 |
0x0005b494 lw v0, 0x14(v1) | v0 = *((v1 + 5));
0x0005b498 lb v0, (v0) | v0 = *(v0);
| if (v0 < 0) {
0x0005b49c bltzl v0, 0x5b4a4 | goto label_13;
| }
0x0005b4a0 lw v0, 0x14(v1) | v0 = *((v1 + 5));
| }
| label_13:
0x0005b4a4 slti v0, v0, 7 | v0 = (v0 < 7) ? 1 : 0;
0x0005b4a8 lw t9, -0x7428(gp) | t9 = *(gp);
| if (v0 != 0) {
0x0005b4ac bnez v0, 0x5b3e0 | goto label_4;
| }
0x0005b4b0 addiu a3, zero, 7 | a3 = 7;
0x0005b4b4 b 0x5b3a4 | goto label_3;
| label_5:
0x0005b4b8 lw t9, -0x75e8(gp) | t9 = sym.imp.__stack_chk_fail;
0x0005b4bc jalr t9 | t9 ();
0x0005b4c0 nop |
| }
; assembly | /* r2dec pseudo code output */
| /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/sbin/httpd @ 0x62c50 */
| #include <stdint.h>
|
; (fcn) fcn.00062c50 () | void fcn_00062c50 () {
0x00062c50 lui gp, 4 |
0x00062c54 addiu gp, gp, 0x2d0 |
0x00062c58 addu gp, gp, t9 | gp += t9;
0x00062c5c addiu sp, sp, -0x148 |
0x00062c60 lw t9, -0x7e50(gp) | t9 = sym.ap_server_root_relative;
0x00062c64 sw s3, 0x138(sp) | *(var_138h) = s3;
0x00062c68 lw s3, -0x7534(gp) | s3 = *(gp);
0x00062c6c sw s1, 0x130(sp) | *(var_130h) = s1;
0x00062c70 move s1, a0 | s1 = a0;
0x00062c74 lw v0, (s3) | v0 = *(s3);
0x00062c78 lw a0, 0x2c(a0) | a0 = *((a0 + 11));
0x00062c7c sw gp, 0x18(sp) | *(var_18h) = gp;
0x00062c80 sw s5, 0x140(sp) | *(var_140h) = s5;
0x00062c84 sw s4, 0x13c(sp) | *(var_13ch) = s4;
0x00062c88 sw s2, 0x134(sp) | *(var_134h) = s2;
0x00062c8c sw s0, 0x12c(sp) | *(var_12ch) = s0;
0x00062c90 sw ra, 0x144(sp) | *(var_144h) = ra;
0x00062c94 move s4, a1 | s4 = a1;
0x00062c98 sw v0, 0x124(sp) | *(var_124h) = v0;
0x00062c9c move a1, a2 | a1 = a2;
0x00062ca0 move s0, a2 | s0 = a2;
0x00062ca4 move s5, a3 | s5 = a3;
0x00062ca8 bal 0x4d3e0 | sym_ap_server_root_relative ();
0x00062cac move s2, v0 | s2 = v0;
0x00062cb0 lw gp, 0x18(sp) | gp = *(var_18h);
| if (s0 != 0) {
0x00062cb4 beqz s0, 0x62cd0 |
0x00062cb8 lw t9, -0x72b8(gp) | t9 = sym.imp.strchr;
0x00062cbc addiu a1, zero, 0x2f | a1 = 0x2f;
0x00062cc0 move a0, s0 | a0 = s0;
0x00062cc4 jalr t9 | t9 ();
0x00062cc8 lw gp, 0x18(sp) | gp = *(var_18h);
| if (v0 == 0) {
0x00062ccc beqz v0, 0x62d6c | goto label_2;
| }
| }
0x00062cd0 lw t9, -0x7750(gp) | t9 = sym.imp.apr_dso_load;
| if (s2 == 0) {
0x00062cd4 beqz s2, 0x62d9c | goto label_3;
| }
0x00062cd8 lw a2, 0x28(s1) | a2 = *((s1 + 10));
0x00062cdc move a1, s2 | a1 = s2;
0x00062ce0 sw s2, (s5) | *(s5) = s2;
0x00062ce4 move a0, s4 | a0 = s4;
0x00062ce8 jalr t9 | t9 ();
0x00062cec lw gp, 0x18(sp) | gp = *(var_18h);
| if (v0 == 0) {
0x00062cf0 beqz v0, 0x62d94 | goto label_4;
| }
| do {
0x00062cf4 lw t9, -0x77a4(gp) | t9 = *(gp);
0x00062cf8 lw a0, (s4) | a0 = *(s4);
0x00062cfc addiu a2, zero, 0x100 | a2 = aav.0x00000100;
0x00062d00 addiu a1, sp, 0x24 | a1 = sp + 0x24;
0x00062d04 lw s1, 0x2c(s1) | s1 = *((s1 + 11));
0x00062d08 jalr t9 | t9 ();
0x00062d0c lw gp, 0x18(sp) | gp = *(var_18h);
0x00062d10 sw zero, 0x14(sp) | *(var_14h) = 0;
0x00062d14 sw v0, 0x10(sp) | *(var_10h) = v0;
0x00062d18 lw a3, -0x7fac(gp) | a3 = *(gp);
0x00062d1c lw a1, -0x7fac(gp) | a1 = *(gp);
0x00062d20 lw t9, -0x76e8(gp) | t9 = sym.imp.apr_pstrcat
| /* str._into_server:_ */
0x00062d24 addiu a3, a3, 0x4428 | a3 += 0x4428;
0x00062d28 move a2, s0 | a2 = s0;
| /* str.Cannot_load_ */
0x00062d2c addiu a1, a1, 0x4438 | a1 += 0x4438;
0x00062d30 move a0, s1 | a0 = s1;
0x00062d34 jalr t9 | t9 ();
0x00062d38 lw gp, 0x18(sp) | gp = *(var_18h);
| label_0:
0x00062d3c lw a0, 0x124(sp) | a0 = *(var_124h);
0x00062d40 lw v1, (s3) | v1 = *(s3);
0x00062d44 lw ra, 0x144(sp) | ra = *(var_144h);
| if (a0 != v1) {
0x00062d48 bne a0, v1, 0x62dc4 | goto label_5;
| }
0x00062d4c lw s5, 0x140(sp) | s5 = *(var_140h);
0x00062d50 lw s4, 0x13c(sp) | s4 = *(var_13ch);
0x00062d54 lw s3, 0x138(sp) | s3 = *(var_138h);
0x00062d58 lw s2, 0x134(sp) | s2 = *(var_134h);
0x00062d5c lw s1, 0x130(sp) | s1 = *(var_130h);
0x00062d60 lw s0, 0x12c(sp) | s0 = *(var_12ch);
0x00062d64 addiu sp, sp, 0x148 |
0x00062d68 jr ra | return v0;
| label_2:
0x00062d6c sw s2, (s5) | *(s5) = s2;
0x00062d70 lw a2, 0x28(s1) | a2 = *((s1 + 10));
| if (s2 != 0) {
0x00062d74 bnez s2, 0x62dd0 | goto label_6;
| }
| label_1:
0x00062d78 lw t9, -0x7750(gp) | t9 = sym.imp.apr_dso_load;
0x00062d7c sw s0, (s5) | *(s5) = s0;
0x00062d80 move a1, s0 | a1 = s0;
0x00062d84 move a0, s4 | a0 = s4;
0x00062d88 jalr t9 | t9 ();
0x00062d8c lw gp, 0x18(sp) | gp = *(var_18h);
0x00062d90 bnez v0, 0x62cf4 |
| } while (v0 != 0);
| do {
| label_4:
0x00062d94 move v0, zero | v0 = 0;
0x00062d98 b 0x62d3c | goto label_0;
| label_3:
0x00062d9c lw v0, 0x38(s1) | v0 = *((s1 + 14));
0x00062da0 lw a1, -0x7fac(gp) | a1 = *(gp);
0x00062da4 lw t9, -0x7540(gp) | t9 = sym.imp.apr_psprintf;
0x00062da8 lw a2, (v0) | a2 = *(v0);
0x00062dac lw a0, 0x2c(s1) | a0 = *((s1 + 11));
0x00062db0 move a3, s0 | a3 = s0;
| /* str.Invalid__s_path__s */
0x00062db4 addiu a1, a1, 0x4414 | a1 += 0x4414;
0x00062db8 jalr t9 | t9 ();
0x00062dbc lw gp, 0x18(sp) | gp = *(var_18h);
0x00062dc0 b 0x62d3c | goto label_0;
| label_5:
0x00062dc4 lw t9, -0x75e8(gp) | t9 = sym.imp.__stack_chk_fail;
0x00062dc8 jalr t9 | t9 ();
0x00062dcc nop |
| label_6:
0x00062dd0 lw t9, -0x7750(gp) | t9 = sym.imp.apr_dso_load;
0x00062dd4 move a1, s2 | a1 = s2;
0x00062dd8 move a0, s4 | a0 = s4;
0x00062ddc jalr t9 | t9 ();
0x00062de0 lw gp, 0x18(sp) | gp = *(var_18h);
0x00062de4 beqz v0, 0x62d94 |
| } while (v0 == 0);
0x00062de8 lw a2, 0x28(s1) | a2 = *((s1 + 10));
0x00062dec b 0x62d78 | goto label_1;
| }
; assembly | /* r2dec pseudo code output */
| /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/sbin/httpd @ 0x63cb8 */
| #include <stdint.h>
|
; (fcn) fcn.00063cb8 () | void fcn_00063cb8 () {
| label_5:
0x00063cb8 lui gp, 4 |
0x00063cbc addiu gp, gp, -0xd98 |
0x00063cc0 addu gp, gp, t9 | gp += t9;
0x00063cc4 addiu sp, sp, -0x50 |
0x00063cc8 lw t9, -0x78b8(gp) | t9 = sym.ap_get_output_filter_handle;
0x00063ccc sw s0, 0x2c(sp) | *(var_2ch) = s0;
0x00063cd0 lw s0, -0x7534(gp) | s0 = *(gp);
0x00063cd4 sw gp, 0x18(sp) | *(var_18h) = gp;
0x00063cd8 sw s7, 0x48(sp) | *(var_48h) = s7;
0x00063cdc lw v0, (s0) | v0 = *(s0);
0x00063ce0 sw s6, 0x44(sp) | *(var_44h) = s6;
0x00063ce4 sw s5, 0x40(sp) | *(var_40h) = s5;
0x00063ce8 sw s4, 0x3c(sp) | *(var_3ch) = s4;
0x00063cec sw s2, 0x34(sp) | *(var_34h) = s2;
0x00063cf0 sw s1, 0x30(sp) | *(var_30h) = s1;
0x00063cf4 sw ra, 0x4c(sp) | *(var_4ch) = ra;
0x00063cf8 sw s3, 0x38(sp) | *(var_38h) = s3;
0x00063cfc move s1, a0 | s1 = a0;
0x00063d00 sw v0, 0x24(sp) | *(var_24h) = v0;
0x00063d04 move a0, a3 | a0 = a3;
0x00063d08 sw zero, 0x20(sp) | *(var_20h) = 0;
0x00063d0c move s2, a3 | s2 = a3;
0x00063d10 move s7, a1 | s7 = a1;
0x00063d14 move s4, a2 | s4 = a2;
0x00063d18 lw s5, 0x60(sp) | s5 = *(arg_60h);
0x00063d1c lw s6, 0x64(sp) | s6 = *(arg_64h);
0x00063d20 jalr t9 | t9 ();
0x00063d24 lw gp, 0x18(sp) | gp = *(var_18h);
| if (v0 == 0) {
0x00063d28 beqz v0, 0x63e14 | goto label_6;
| }
0x00063d2c lw t9, -0x7200(gp) | t9 = sym.imp.apr_hash_get;
0x00063d30 lw a0, (s7) | a0 = *(s7);
0x00063d34 addiu a2, zero, -1 | a2 = -1;
0x00063d38 move a1, s4 | a1 = s4;
0x00063d3c move s3, v0 | s3 = v0;
0x00063d40 jalr t9 | t9 ();
0x00063d44 move s2, v0 | s2 = v0;
0x00063d48 lw gp, 0x18(sp) | gp = *(var_18h);
| if (v0 == 0) {
0x00063d4c beqz v0, 0x63e40 | goto label_7;
| }
| label_2:
0x00063d50 lw t9, -0x7544(gp) | t9 = sym.imp.apr_palloc;
0x00063d54 lw a0, 0x28(s1) | a0 = *((s1 + 10));
0x00063d58 addiu a1, zero, 0x10 | a1 = 0x10;
0x00063d5c jalr t9 | t9 ();
0x00063d60 move s4, v0 | s4 = v0;
0x00063d64 lw gp, 0x18(sp) | gp = *(var_18h);
| if (s5 == 0) {
0x00063d68 beqz s5, 0x63df4 | goto label_8;
| }
0x00063d6c lw v0, -0x78bc(gp) | v0 = *(gp);
0x00063d70 sw zero, 0x10(sp) | *(var_10h_2) = 0;
0x00063d74 lw t9, -0x7cbc(gp) | t9 = sym.ap_expr_parse_cmd_mi;
0x00063d78 lw v0, 8(v0) | v0 = *((v0 + 2));
0x00063d7c move a2, zero | a2 = 0;
0x00063d80 addiu a3, sp, 0x20 | a3 = sp + 0x20;
0x00063d84 sw v0, 0x14(sp) | *(var_14h_3) = v0;
0x00063d88 move a1, s5 | a1 = s5;
0x00063d8c move a0, s1 | a0 = s1;
0x00063d90 bal 0x48300 | sym_ap_expr_parse_cmd_mi ();
0x00063d94 lw a2, 0x20(sp) | a2 = *(var_20h);
0x00063d98 lw gp, 0x18(sp) | gp = *(var_18h);
| if (a2 == 0) {
0x00063d9c beqz a2, 0x63e34 | goto label_9;
| }
0x00063da0 lw a1, -0x7fac(gp) | a1 = *(gp);
0x00063da4 lw t9, -0x76e8(gp) | t9 = sym.imp.apr_pstrcat
0x00063da8 lw a0, 0x28(s1) | a0 = *((s1 + 10));
0x00063dac move a3, zero | a3 = 0;
| /* str.Error_parsing_FilterProvider_expression: */
0x00063db0 addiu a1, a1, 0x4828 | a1 += 0x4828;
0x00063db4 jalr t9 | t9 ();
0x00063db8 lw gp, 0x18(sp) | gp = *(var_18h);
| do {
| label_0:
0x00063dbc lw a0, 0x24(sp) | a0 = *(var_24h);
0x00063dc0 lw v1, (s0) | v1 = *(s0);
0x00063dc4 lw ra, 0x4c(sp) | ra = *(var_4ch);
| if (a0 != v1) {
0x00063dc8 bne a0, v1, 0x63e8c | goto label_10;
| }
0x00063dcc lw s7, 0x48(sp) | s7 = *(var_48h);
0x00063dd0 lw s6, 0x44(sp) | s6 = *(var_44h);
0x00063dd4 lw s5, 0x40(sp) | s5 = *(var_40h);
0x00063dd8 lw s4, 0x3c(sp) | s4 = *(var_3ch);
0x00063ddc lw s3, 0x38(sp) | s3 = *(var_38h);
0x00063de0 lw s2, 0x34(sp) | s2 = *(var_34h);
0x00063de4 lw s1, 0x30(sp) | s1 = *(var_30h);
0x00063de8 lw s0, 0x2c(sp) | s0 = *(var_2ch);
0x00063dec addiu sp, sp, 0x50 |
0x00063df0 jr ra | return v0;
| label_8:
0x00063df4 sw s6, 4(s4) | *((s4 + 1)) = s6;
0x00063df8 sw zero, (s4) | *(s4) = 0;
| label_1:
0x00063dfc lw v0, 0x10(s2) | v0 = *((s2 + 4));
0x00063e00 sw s3, 8(s4) | *((s4 + 2)) = s3;
0x00063e04 sw v0, 0xc(s4) | *((s4 + 3)) = v0;
0x00063e08 move v0, zero | v0 = 0;
0x00063e0c sw s4, 0x10(s2) | *((s2 + 4)) = s4;
0x00063e10 b 0x63dbc |
| } while (1);
| label_6:
0x00063e14 lw a1, -0x7fac(gp) | a1 = *(gp);
0x00063e18 lw t9, -0x7540(gp) | t9 = sym.imp.apr_psprintf;
0x00063e1c lw a0, 0x28(s1) | a0 = *((s1 + 10));
0x00063e20 move a2, s2 | a2 = s2;
| /* str.Unknown_filter_provider__s */
0x00063e24 addiu a1, a1, 0x480c | a1 += 0x480c;
0x00063e28 jalr t9 | t9 ();
0x00063e2c lw gp, 0x18(sp) | gp = *(var_18h);
0x00063e30 b 0x63dbc | goto label_0;
| label_9:
0x00063e34 sw v0, (s4) | *(s4) = v0;
0x00063e38 sw zero, 4(s4) | *((s4 + 1)) = 0;
0x00063e3c b 0x63dfc | goto label_1;
| label_7:
0x00063e40 lw t9, -0x7944(gp) | t9 = *(gp);
0x00063e44 move a3, zero | a3 = 0;
0x00063e48 move a2, s4 | a2 = s4;
0x00063e4c move a1, s7 | a1 = s7;
| /* fcn.00063b34 */
0x00063e50 addiu t9, t9, 0x3b34 | t9 += 0x3b34;
0x00063e54 move a0, s1 | a0 = s1;
0x00063e58 bal 0x63b34 | fcn_00063b34 ();
0x00063e5c lw gp, 0x18(sp) | gp = *(var_18h);
| if (v0 != 0) {
0x00063e60 bnez v0, 0x63dbc | goto label_0;
| }
0x00063e64 lw t9, -0x7200(gp) | t9 = sym.imp.apr_hash_get;
0x00063e68 lw a0, (s7) | a0 = *(s7);
0x00063e6c addiu a2, zero, -1 | a2 = -1;
0x00063e70 move a1, s4 | a1 = s4;
0x00063e74 jalr t9 | t9 ();
0x00063e78 move s2, v0 | s2 = v0;
0x00063e7c lw v0, 0x14(s3) | v0 = *((s3 + 5));
0x00063e80 lw gp, 0x18(sp) | gp = *(var_18h);
0x00063e84 sw v0, 0x14(s2) | *((s2 + 5)) = v0;
0x00063e88 b 0x63d50 | goto label_2;
| label_10:
0x00063e8c lw t9, -0x75e8(gp) | t9 = sym.imp.__stack_chk_fail;
0x00063e90 jalr t9 | t9 ();
0x00063e94 nop |
0x00063e98 lui gp, 4 |
0x00063e9c addiu gp, gp, -0xf78 |
0x00063ea0 addu gp, gp, t9 | gp += t9;
0x00063ea4 lw v0, -0x7534(gp) | v0 = *(gp);
0x00063ea8 addiu sp, sp, -0x60 |
0x00063eac move v1, v0 | v1 = v0;
0x00063eb0 sw gp, 0x18(sp) | *(var_18h_2) = gp;
0x00063eb4 lw v1, (v1) | v1 = *(v1);
0x00063eb8 sw v0, 0x24(sp) | *(var_24h_2) = v0;
0x00063ebc slti v0, a2, 2 | v0 = (a2 < 2) ? 1 : 0;
0x00063ec0 sw ra, 0x5c(sp) | *(var_5ch) = ra;
0x00063ec4 sw fp, 0x58(sp) | *(var_58h) = fp;
0x00063ec8 sw s7, 0x54(sp) | *(var_54h) = s7;
0x00063ecc sw s6, 0x50(sp) | *(var_50h) = s6;
0x00063ed0 sw s5, 0x4c(sp) | *(var_4ch_2) = s5;
0x00063ed4 sw s4, 0x48(sp) | *(var_48h_2) = s4;
0x00063ed8 sw s3, 0x44(sp) | *(var_44h_2) = s3;
0x00063edc sw s2, 0x40(sp) | *(var_40h_2) = s2;
0x00063ee0 sw s1, 0x3c(sp) | *(var_3ch_2) = s1;
0x00063ee4 sw s0, 0x38(sp) | *(var_38h_2) = s0;
0x00063ee8 sw v1, 0x34(sp) | *(var_34h_2) = v1;
0x00063eec sw zero, 0x30(sp) | *(var_30h_2) = 0;
| if (v0 != 0) {
0x00063ef0 bnez v0, 0x64078 | goto label_11;
| }
0x00063ef4 lw t9, -0x7654(gp) | t9 = sym.imp.apr_pstrdup;
0x00063ef8 move s0, a0 | s0 = a0;
0x00063efc move s1, a1 | s1 = a1;
0x00063f00 lw a0, 0x2c(a0) | a0 = *((a0 + 11));
0x00063f04 lw a1, (a3) | a1 = *(a3);
0x00063f08 sll s5, a2, 2 | s5 = a2 << 2;
0x00063f0c move s4, a3 | s4 = a3;
0x00063f10 jalr t9 | t9 ();
0x00063f14 lw gp, 0x18(sp) | gp = *(var_18h_2);
0x00063f18 lw a0, 0x28(s0) | a0 = *((s0 + 10));
0x00063f1c move a1, s5 | a1 = s5;
0x00063f20 lw t9, -0x7544(gp) | t9 = sym.imp.apr_palloc;
0x00063f24 move s6, v0 | s6 = v0;
0x00063f28 jalr t9 | t9 ();
0x00063f2c lw gp, 0x18(sp) | gp = *(var_18h_2);
0x00063f30 addiu a2, s5, -4 | a2 = s5 + -4;
0x00063f34 addiu a1, s4, 4 | a1 = s4 + 4;
0x00063f38 lw t9, -0x74b4(gp) | t9 = sym.imp.memcpy;
0x00063f3c move a0, v0 | a0 = v0;
0x00063f40 move s2, v0 | s2 = v0;
0x00063f44 jalr t9 | t9 ();
0x00063f48 lw gp, 0x18(sp) | gp = *(var_18h_2);
0x00063f4c addu s3, s2, s5 | s3 = s2 + s5;
0x00063f50 addiu s5, sp, 0x30 | s5 = sp + 0x30;
0x00063f54 lw fp, -0x7fac(gp) | fp = *(gp);
0x00063f58 lw t9, -0x751c(gp) | t9 = sym.imp.apr_strtok;
0x00063f5c sw fp, 0x2c(sp) | *(var_2ch_2) = fp;
0x00063f60 sw zero, -4(s3) | *((s3 - 1)) = 0;
0x00063f64 move a2, s5 | a2 = s5;
0x00063f68 addiu a1, fp, -0x6a0c | a1 = fp + -aav.0x00006a0c;
0x00063f6c move a0, s6 | a0 = s6;
0x00063f70 jalr t9 | t9 ();
0x00063f74 move s7, v0 | s7 = v0;
0x00063f78 lw gp, 0x18(sp) | gp = *(var_18h_2);
| if (v0 == 0) {
0x00063f7c beqz v0, 0x640e4 | goto label_12;
| }
0x00063f80 lw s4, -0x7944(gp) | s4 = *(gp);
0x00063f84 lw s3, -0x7fac(gp) | s3 = *(gp);
| /* fcn.00063cb8 */
0x00063f88 addiu v0, s4, 0x3cb8 | v0 = s4 + 0x3cb8;
0x00063f8c sw v0, 0x20(sp) | *(var_20h_2) = v0;
0x00063f90 lw v0, -0x7944(gp) | v0 = *(gp);
| /* str.BYTYPE: */
0x00063f94 addiu s3, s3, 0x488c | s3 += 0x488c;
0x00063f98 addiu v0, v0, 0x3578 | v0 += 0x3578;
0x00063f9c sw v0, 0x28(sp) | *(var_28h) = v0;
0x00063fa0 addiu s6, fp, -0x6a0c | s6 = fp + -aav.0x00006a0c;
0x00063fa4 b 0x63ff4 |
| while (v0 != 0) {
0x00063fa8 sw s2, 0x14(sp) | *(var_14h_2) = s2;
0x00063fac sw zero, 0x10(sp) | *(var_38h_3) = 0;
0x00063fb0 move a3, s7 | a3 = s7;
0x00063fb4 move a2, s4 | a2 = s4;
0x00063fb8 move a1, s1 | a1 = s1;
0x00063fbc move a0, s0 | a0 = s0;
0x00063fc0 jalr t9 | t9 ();
0x00063fc4 lw gp, 0x18(sp) | gp = *(var_18h_2);
0x00063fc8 move fp, v0 | fp = v0;
| label_3:
0x00063fcc lw t9, -0x751c(gp) | t9 = sym.imp.apr_strtok;
0x00063fd0 move a2, s5 | a2 = s5;
0x00063fd4 move a1, s6 | a1 = s6;
0x00063fd8 move a0, zero | a0 = 0;
0x00063fdc jalr t9 | t9 ();
0x00063fe0 move s7, v0 | s7 = v0;
0x00063fe4 lw gp, 0x18(sp) | gp = *(var_18h_2);
| if (v0 == 0) {
0x00063fe8 beqz v0, 0x64080 | goto label_4;
| }
0x00063fec lw v0, 0x24(sp) | v0 = *(var_24h_2);
| if (fp != 0) {
0x00063ff0 bnez fp, 0x64084 | goto label_13;
| }
0x00063ff4 lw t9, -0x76e8(gp) | t9 = sym.imp.apr_pstrcat
0x00063ff8 lw a0, 0x28(s0) | a0 = *((s0 + 10));
0x00063ffc move a3, zero | a3 = 0;
0x00064000 move a2, s7 | a2 = s7;
0x00064004 move a1, s3 | a1 = s3;
0x00064008 jalr t9 | t9 ();
0x0006400c lw gp, 0x18(sp) | gp = *(var_18h_2);
0x00064010 lw a0, (s1) | a0 = *(s1);
0x00064014 addiu a2, zero, -1 | a2 = -1;
0x00064018 lw t9, -0x7200(gp) | t9 = sym.imp.apr_hash_get;
0x0006401c move a1, v0 | a1 = v0;
0x00064020 move s4, v0 | s4 = v0;
0x00064024 jalr t9 | t9 ();
0x00064028 lw t9, 0x20(sp) | t9 = *(var_20h_2);
0x0006402c bnez v0, 0x63fa8 |
| }
0x00064030 sw s2, 0x14(sp) | *(var_14h_2) = s2;
0x00064034 sw zero, 0x10(sp) | *(var_38h_3) = 0;
0x00064038 move a3, s7 | a3 = s7;
0x0006403c move a2, s4 | a2 = s4;
0x00064040 move a1, s1 | a1 = s1;
0x00064044 move a0, s0 | a0 = s0;
0x00064048 jalr t9 | t9 ();
0x0006404c move fp, v0 | fp = v0;
0x00064050 lw gp, 0x18(sp) | gp = *(var_18h_2);
| if (v0 != 0) {
0x00064054 bnez v0, 0x640c4 | goto label_14;
| }
0x00064058 lw t9, 0x28(sp) | t9 = *(var_28h);
0x0006405c move a2, s4 | a2 = s4;
0x00064060 move a1, s1 | a1 = s1;
0x00064064 move a0, s0 | a0 = s0;
0x00064068 jalr t9 | t9 ();
0x0006406c move fp, v0 | fp = v0;
0x00064070 lw gp, 0x18(sp) | gp = *(var_18h_2);
0x00064074 b 0x63fcc | goto label_3;
| label_11:
0x00064078 lw a3, -0x7fac(gp) | a3 = *(gp);
| /* str.AddOutputFilterByType_requires_at_least_two_arguments */
0x0006407c addiu fp, a3, 0x4854 | fp = a3 + aav.0x00004854;
| do {
| label_4:
0x00064080 lw v0, 0x24(sp) | v0 = *(var_24h_2);
| label_13:
0x00064084 lw a0, 0x34(sp) | a0 = *(var_34h_2);
0x00064088 lw v1, (v0) | v1 = *(v0);
0x0006408c move v0, fp | v0 = fp;
| if (a0 != v1) {
0x00064090 bne a0, v1, 0x640ec | goto label_15;
| }
0x00064094 lw ra, 0x5c(sp) | ra = *(var_5ch);
0x00064098 lw fp, 0x58(sp) | fp = *(var_58h);
0x0006409c lw s7, 0x54(sp) | s7 = *(var_54h);
0x000640a0 lw s6, 0x50(sp) | s6 = *(var_50h);
0x000640a4 lw s5, 0x4c(sp) | s5 = *(var_4ch_2);
0x000640a8 lw s4, 0x48(sp) | s4 = *(var_48h_2);
0x000640ac lw s3, 0x44(sp) | s3 = *(var_44h_2);
0x000640b0 lw s2, 0x40(sp) | s2 = *(var_40h_2);
0x000640b4 lw s1, 0x3c(sp) | s1 = *(var_3ch_2);
0x000640b8 lw s0, 0x38(sp) | s0 = *(var_38h_2);
0x000640bc addiu sp, sp, 0x60 |
0x000640c0 jr ra | return v0;
| label_14:
0x000640c4 lw v0, 0x2c(sp) | v0 = *(var_2ch_2);
0x000640c8 lw t9, -0x751c(gp) | t9 = sym.imp.apr_strtok;
0x000640cc move a2, s5 | a2 = s5;
0x000640d0 addiu a1, v0, -0x6a0c | a1 = v0 + -aav.0x00006a0c;
0x000640d4 move a0, zero | a0 = 0;
0x000640d8 jalr t9 | t9 ();
0x000640dc lw gp, 0x18(sp) | gp = *(var_18h_2);
0x000640e0 b 0x64080 |
| } while (1);
| label_12:
0x000640e4 move fp, zero | fp = 0;
0x000640e8 b 0x64080 | goto label_4;
| label_15:
0x000640ec lw t9, -0x75e8(gp) | t9 = sym.imp.__stack_chk_fail;
0x000640f0 jalr t9 | t9 ();
0x000640f4 nop |
0x000640f8 lui gp, 4 |
0x000640fc addiu gp, gp, -0x11d8 |
0x00064100 addu gp, gp, t9 | gp += t9;
0x00064104 addiu sp, sp, -0x28 |
0x00064108 lw t9, -0x7944(gp) | t9 = *(gp);
0x0006410c lw v0, 0x38(sp) | v0 = *(var_38h_3);
0x00064110 sw ra, 0x24(sp) | *(var_24h_3) = ra;
0x00064114 sw gp, 0x18(sp) | *(var_18h_3) = gp;
0x00064118 sw zero, 0x14(sp) | *(var_14h) = 0;
0x0006411c sw v0, 0x10(sp) | *(var_10h) = v0;
| /* fcn.00063cb8 */
0x00064120 addiu t9, t9, 0x3cb8 | t9 += 0x3cb8;
0x00064124 bal 0x63cb8 | fcn_00063cb8 ();
| goto label_5;
0x00064128 nop |
0x0006412c lw ra, 0x24(sp) | ra = *(var_24h_3);
0x00064130 addiu sp, sp, 0x28 |
0x00064134 jr ra | return v0;
| }
; assembly | /* r2dec pseudo code output */
| /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/sbin/httpd @ 0x656b0 */
| #include <stdint.h>
|
; (fcn) fcn.000656b0 () | void fcn_000656b0 () {
| label_4:
0x000656b0 lui gp, 4 |
0x000656b4 addiu gp, gp, -0x2790 |
0x000656b8 addu gp, gp, t9 | gp += t9;
0x000656bc addiu sp, sp, -0x68 |
0x000656c0 sw s4, 0x50(sp) | *(var_50h) = s4;
0x000656c4 lw s4, -0x7534(gp) | s4 = *(gp);
0x000656c8 sw gp, 0x20(sp) | *(var_20h) = gp;
0x000656cc sw fp, 0x60(sp) | *(var_60h) = fp;
0x000656d0 lw v0, (s4) | v0 = *(s4);
0x000656d4 sw s7, 0x5c(sp) | *(var_5ch) = s7;
0x000656d8 sw s6, 0x58(sp) | *(var_58h) = s6;
0x000656dc sw s5, 0x54(sp) | *(var_54h) = s5;
0x000656e0 sw s3, 0x4c(sp) | *(var_4ch) = s3;
0x000656e4 sw s2, 0x48(sp) | *(var_48h) = s2;
0x000656e8 sw s1, 0x44(sp) | *(var_44h) = s1;
0x000656ec sw s0, 0x40(sp) | *(var_40h) = s0;
0x000656f0 sw ra, 0x64(sp) | *(var_64h) = ra;
0x000656f4 move s0, a0 | s0 = a0;
0x000656f8 move s3, a1 | s3 = a1;
0x000656fc move s5, a2 | s5 = a2;
0x00065700 sw v0, 0x3c(sp) | *(var_3ch) = v0;
0x00065704 addiu s7, sp, 0x28 | s7 = sp + 0x28;
0x00065708 addiu s6, sp, 0x2c | s6 = sp + 0x2c;
0x0006570c addiu s2, sp, 0x30 | s2 = sp + 0x30;
0x00065710 addiu s1, sp, 0x34 | s1 = sp + 0x34;
0x00065714 addiu fp, sp, 0x38 | fp = sp + 0x38;
0x00065718 b 0x657a4 |
| while (v0 != 0) {
0x0006571c lw t9, -0x7674(gp) | t9 = sym.imp.BrotliEncoderHasMoreOutput;
0x00065720 lw a0, (s0) | a0 = *(s0);
0x00065724 jalr t9 | t9 ();
0x00065728 lw gp, 0x20(sp) | gp = *(var_20h);
| if (v0 == 0) {
0x0006572c beqz v0, 0x6585c | goto label_31;
| }
0x00065730 lw t9, -0x7468(gp) | t9 = sym.imp.BrotliEncoderTakeOutput;
0x00065734 lw a0, (s0) | a0 = *(s0);
0x00065738 move a1, fp | a1 = fp;
0x0006573c sw zero, 0x38(sp) | *(var_38h_2) = 0;
0x00065740 jalr t9 | t9 ();
0x00065744 lw v1, 0x10(s0) | v1 = *((s0 + 4));
0x00065748 lw a1, 0x38(sp) | a1 = *(var_38h_2);
0x0006574c lw gp, 0x20(sp) | gp = *(var_20h);
0x00065750 lw a2, 4(s0) | a2 = *((s0 + 1));
0x00065754 lw a3, 0x14(s0) | a3 = *((s0 + 5));
0x00065758 addu a0, v1, a1 | a0 = v1 + a1;
0x0006575c sltu v1, a0, v1 | v1 = (a0 < v1) ? 1 : 0;
0x00065760 addu v1, v1, a3 | v1 += a3;
0x00065764 lw a3, 0xc(a2) | a3 = *((a2 + 3));
0x00065768 lw t9, -0x7228(gp) | t9 = sym.imp.apr_bucket_heap_create;
0x0006576c sw a0, 0x10(s0) | *((s0 + 4)) = a0;
0x00065770 sw v1, 0x14(s0) | *((s0 + 5)) = v1;
0x00065774 move a0, v0 | a0 = v0;
0x00065778 move a2, zero | a2 = 0;
0x0006577c jalr t9 | t9 ();
0x00065780 lw v1, 4(s0) | v1 = *((s0 + 1));
0x00065784 lw gp, 0x20(sp) | gp = *(var_20h);
0x00065788 addiu a0, v1, 4 | a0 = v1 + 4;
0x0006578c sw a0, (v0) | *(v0) = a0;
0x00065790 lw a0, 8(v1) | a0 = *((v1 + 2));
0x00065794 sw a0, 4(v0) | *((v0 + 1)) = a0;
0x00065798 lw a0, 8(v1) | a0 = *((v1 + 2));
0x0006579c sw v0, (a0) | *(a0) = v0;
0x000657a0 sw v0, 8(v1) | *((v1 + 2)) = v0;
0x000657a4 lw a0, (s0) | a0 = *(s0);
0x000657a8 lw t9, -0x75fc(gp) | t9 = sym.imp.BrotliEncoderCompressStream;
0x000657ac sw zero, 0x18(sp) | *(var_18h) = 0;
0x000657b0 sw s2, 0x14(sp) | *(var_14h) = s2;
0x000657b4 sw s1, 0x10(sp) | *(var_10h) = s1;
0x000657b8 move a3, s7 | a3 = s7;
0x000657bc move a2, s6 | a2 = s6;
0x000657c0 move a1, s3 | a1 = s3;
0x000657c4 sw zero, 0x28(sp) | *(var_28h) = 0;
0x000657c8 sw zero, 0x2c(sp) | *(var_2ch) = 0;
0x000657cc sw zero, 0x30(sp) | *(var_30h) = 0;
0x000657d0 sw zero, 0x34(sp) | *(var_34h) = 0;
0x000657d4 jalr t9 | t9 ();
0x000657d8 lw gp, 0x20(sp) | gp = *(var_20h);
0x000657dc bnez v0, 0x6571c |
| }
0x000657e0 lw v0, -0x78b0(gp) | v0 = *(gp);
0x000657e4 lw v1, (s5) | v1 = *(s5);
0x000657e8 lw a0, -0x7fac(gp) | a0 = *(gp);
0x000657ec lw a2, 8(v0) | a2 = *((v0 + 2));
0x000657f0 lw v0, -0x7fac(gp) | v0 = *(gp);
0x000657f4 lw t9, -0x7f08(gp) | t9 = sym.ap_log_rerror_;
| /* str.AH03460:_Error_while_compressing_data */
0x000657f8 addiu v0, v0, 0x4e14 | v0 += 0x4e14;
0x000657fc sw v0, 0x18(sp) | *(var_18h) = v0;
0x00065800 sw v1, 0x14(sp) | *(var_14h) = v1;
0x00065804 sw zero, 0x10(sp) | *(var_10h) = 0;
0x00065808 addiu a3, zero, 3 | a3 = 3;
0x0006580c addiu a1, zero, 0x118 | a1 = aav.0x00000118;
| /* str._usr_src_debug_apache2_2.4.57_r0_httpd_2.4.57_modules_filters_mod_brotli.c */
0x00065810 addiu a0, a0, 0x4dc8 | a0 += 0x4dc8;
0x00065814 bal 0x530a8 | sym_ap_log_rerror_ ();
0x00065818 lw gp, 0x20(sp) | gp = *(var_20h);
0x0006581c addiu v0, zero, 0x4e2e | v0 = 0x4e2e;
| do {
0x00065820 lw a0, 0x3c(sp) | a0 = *(var_3ch);
0x00065824 lw v1, (s4) | v1 = *(s4);
0x00065828 lw ra, 0x64(sp) | ra = *(var_64h);
| if (a0 != v1) {
0x0006582c bne a0, v1, 0x65864 | goto label_32;
| }
0x00065830 lw fp, 0x60(sp) | fp = *(var_60h);
0x00065834 lw s7, 0x5c(sp) | s7 = *(var_5ch);
0x00065838 lw s6, 0x58(sp) | s6 = *(var_58h);
0x0006583c lw s5, 0x54(sp) | s5 = *(var_54h);
0x00065840 lw s4, 0x50(sp) | s4 = *(var_50h);
0x00065844 lw s3, 0x4c(sp) | s3 = *(var_4ch);
0x00065848 lw s2, 0x48(sp) | s2 = *(var_48h);
0x0006584c lw s1, 0x44(sp) | s1 = *(var_44h);
0x00065850 lw s0, 0x40(sp) | s0 = *(var_40h);
0x00065854 addiu sp, sp, 0x68 |
0x00065858 jr ra | return v0;
| label_31:
0x0006585c move v0, zero | v0 = 0;
0x00065860 b 0x65820 |
| } while (1);
| label_32:
0x00065864 lw t9, -0x75e8(gp) | t9 = sym.imp.__stack_chk_fail;
0x00065868 jalr t9 | t9 ();
0x0006586c nop |
0x00065870 lui gp, 4 |
0x00065874 addiu gp, gp, -0x2950 |
0x00065878 addu gp, gp, t9 | gp += t9;
0x0006587c lw v0, -0x7534(gp) | v0 = *(gp);
0x00065880 addiu sp, sp, -0xa0 |
0x00065884 addiu v1, a1, 4 | v1 = a1 + 4;
0x00065888 sw v0, 0x4c(sp) | *(var_4ch_2) = v0;
0x0006588c lw v0, (v0) | v0 = *(v0);
0x00065890 sw gp, 0x28(sp) | *(var_28h_2) = gp;
0x00065894 sw v0, 0x74(sp) | *(var_74h) = v0;
0x00065898 lw v0, 4(a1) | v0 = *((a1 + 1));
0x0006589c sw ra, 0x9c(sp) | *(var_9ch) = ra;
0x000658a0 sw fp, 0x98(sp) | *(var_98h) = fp;
0x000658a4 sw s7, 0x94(sp) | *(var_94h) = s7;
0x000658a8 sw s6, 0x90(sp) | *(var_90h) = s6;
0x000658ac sw s5, 0x8c(sp) | *(var_8ch) = s5;
0x000658b0 sw s4, 0x88(sp) | *(var_88h) = s4;
0x000658b4 sw s3, 0x84(sp) | *(var_84h) = s3;
0x000658b8 sw s2, 0x80(sp) | *(var_80h) = s2;
0x000658bc sw s1, 0x7c(sp) | *(var_7ch) = s1;
0x000658c0 sw s0, 0x78(sp) | *(var_78h) = s0;
0x000658c4 sw v1, 0x3c(sp) | *(var_3ch_2) = v1;
| if (v0 == v1) {
0x000658c8 beq v0, v1, 0x659b8 | goto label_33;
| }
0x000658cc lw s2, 0xc(a0) | s2 = *((a0 + 3));
0x000658d0 lw v0, -0x78b0(gp) | v0 = *(gp);
0x000658d4 lw s5, 4(a0) | s5 = *((a0 + 1));
0x000658d8 lw v1, 8(s2) | v1 = *((s2 + 2));
0x000658dc sw v0, 0x48(sp) | *(var_48h_2) = v0;
0x000658e0 lw v0, 8(v0) | v0 = *((v0 + 2));
0x000658e4 lw v1, 0x18(v1) | v1 = *((v1 + 6));
0x000658e8 sll v0, v0, 2 | v0 <<= 2;
0x000658ec move s1, a1 | s1 = a1;
0x000658f0 lwx v0, v0(v1) | __asm ("lwx v0, v0(v1)");
0x000658f4 move s3, a0 | s3 = a0;
0x000658f8 sw v0, 0x54(sp) | *(var_54h_2) = v0;
| if (s5 == 0) {
0x000658fc beqz s5, 0x65c8c | goto label_34;
| }
| label_8:
0x00065900 lw v0, -0x7620(gp) | v0 = *((gp - 7560));
0x00065904 addiu s4, sp, 0x70 | s4 = sp + 0x70;
0x00065908 sw v0, 0x40(sp) | *(var_40h_2) = v0;
0x0006590c lw v0, -0x7944(gp) | v0 = *(gp);
| /* fcn.000656b0 */
0x00065910 addiu v0, v0, 0x56b0 | v0 += 0x56b0;
0x00065914 sw v0, 0x50(sp) | *(var_50h_2) = v0;
| label_2:
0x00065918 lw v0, 4(s1) | v0 = *((s1 + 1));
0x0006591c lw v1, 0x3c(sp) | v1 = *(var_3ch_2);
0x00065920 move fp, zero | fp = 0;
| if (v1 == v0) {
0x00065924 beq v1, v0, 0x659bc | goto label_0;
| }
0x00065928 lw v0, 0x24(s2) | v0 = *((s2 + 9));
| do {
0x0006592c lw s7, 4(s1) | s7 = *((s1 + 1));
| if (v0 != 0) {
0x00065930 beql v0, zero, 0x65950 |
0x00065934 lw v0, 8(s7) | v0 = *((s7 + 2));
0x00065938 lw v0, 0x68(s2) | v0 = *((s2 + 26));
0x0006593c lw v1, 0x6c(s2) | v1 = *((s2 + 27));
0x00065940 or v0, v0, v1 | v0 |= v1;
0x00065944 lw t9, -0x7e34(gp) | t9 = sym.ap_remove_output_filter;
| if (v0 != 0) {
0x00065948 bnez v0, 0x65cc4 | goto label_7;
| }
0x0006594c lw v0, 8(s7) | v0 = *((s7 + 2));
| }
0x00065950 lw v1, 0x40(sp) | v1 = *(var_40h_2);
0x00065954 lw v1, -0x7628(gp) | v1 = *((gp - 7562));
| if (v0 == v1) {
0x00065958 beq v0, v1, 0x65cec | goto label_35;
| }
0x0006595c lw t9, 0x50(sp) | t9 = *(var_50h_2);
| if (v0 == v1) {
0x00065960 beq v0, v1, 0x65bbc | goto label_36;
| }
0x00065964 lw v1, 8(v0) | v1 = *((v0 + 2));
| if (v1 == 0) {
0x00065968 beql v1, zero, 0x65a00 | goto label_37;
| }
0x0006596c lw t9, 0x10(v0) | t9 = *((v0 + 4));
0x00065970 lw v1, 4(s7) | v1 = *((s7 + 1));
0x00065974 lw a0, (s7) | a0 = *(s7);
0x00065978 lw v0, 4(s5) | v0 = *((s5 + 1));
0x0006597c sw a0, (v1) | *(v1) = a0;
0x00065980 lw a0, (s7) | a0 = *(s7);
0x00065984 lw a1, 4(s7) | a1 = *((s7 + 1));
0x00065988 addiu v1, v0, 4 | v1 = v0 + 4;
0x0006598c sw a1, 4(a0) | *((a0 + 1)) = a1;
0x00065990 sw v1, (s7) | *(s7) = v1;
0x00065994 lw v1, 8(v0) | v1 = *((v0 + 2));
0x00065998 sw v1, 4(s7) | *((s7 + 1)) = v1;
0x0006599c lw v1, 8(v0) | v1 = *((v0 + 2));
0x000659a0 sw s7, (v1) | *(v1) = s7;
0x000659a4 sw s7, 8(v0) | *((v0 + 2)) = s7;
0x000659a8 lw v0, 4(s1) | v0 = *((s1 + 1));
0x000659ac lw v1, 0x3c(sp) | v1 = *(var_3ch_2);
0x000659b0 lw v0, 0x24(s2) | v0 = *((s2 + 9));
0x000659b4 bnel v1, v0, 0x6592c |
| } while (v1 == v0);
| label_33:
0x000659b8 move fp, zero | fp = 0;
| do {
| label_0:
0x000659bc lw v0, 0x4c(sp) | v0 = *(var_4ch_2);
| label_3:
0x000659c0 lw a1, 0x74(sp) | a1 = *(var_74h);
0x000659c4 lw a0, (v0) | a0 = *(v0);
0x000659c8 move v0, fp | v0 = fp;
| if (a1 != a0) {
0x000659cc bne a1, a0, 0x66648 | goto label_38;
| }
0x000659d0 lw ra, 0x9c(sp) | ra = *(var_9ch);
0x000659d4 lw fp, 0x98(sp) | fp = *(var_98h);
0x000659d8 lw s7, 0x94(sp) | s7 = *(var_94h);
0x000659dc lw s6, 0x90(sp) | s6 = *(var_90h);
0x000659e0 lw s5, 0x8c(sp) | s5 = *(var_8ch);
0x000659e4 lw s4, 0x88(sp) | s4 = *(var_88h);
0x000659e8 lw s3, 0x84(sp) | s3 = *(var_84h);
0x000659ec lw s2, 0x80(sp) | s2 = *(var_80h);
0x000659f0 lw s1, 0x7c(sp) | s1 = *(var_7ch);
0x000659f4 lw s0, 0x78(sp) | s0 = *(var_78h);
0x000659f8 addiu sp, sp, 0xa0 |
0x000659fc jr ra | return v0;
| label_37:
0x00065a00 move a3, zero | a3 = 0;
0x00065a04 addiu a2, sp, 0x5c | a2 = sp + 0x5c;
0x00065a08 addiu a1, sp, 0x58 | a1 = sp + 0x58;
0x00065a0c move a0, s7 | a0 = s7;
0x00065a10 jalr t9 | t9 ();
0x00065a14 move fp, v0 | fp = v0;
0x00065a18 lw gp, 0x28(sp) | gp = *(var_28h_2);
0x00065a1c bnez v0, 0x659bc |
| } while (v0 != 0);
0x00065a20 lw v1, 0x5c(sp) | v1 = *(var_5ch_2);
0x00065a24 lw v0, 0x58(sp) | v0 = *(var_58h_2);
0x00065a28 sw v1, 0x44(sp) | *(var_44h_2) = v1;
0x00065a2c sw v1, 0x64(sp) | *(var_64h_2) = v1;
0x00065a30 sw v0, 0x60(sp) | *(var_60h_2) = v0;
| if (v1 == 0) {
0x00065a34 beqz v1, 0x65b5c | goto label_39;
| }
0x00065a38 addiu v0, sp, 0x68 | v0 = sp + 0x68;
0x00065a3c sw v0, 0x34(sp) | *(var_34h_2) = v0;
0x00065a40 addiu v0, sp, 0x6c | v0 = sp + 0x6c;
0x00065a44 addiu s0, sp, 0x60 | s0 = sp + 0x60;
0x00065a48 addiu s6, sp, 0x64 | s6 = sp + 0x64;
0x00065a4c sw v0, 0x38(sp) | *(var_38h) = v0;
0x00065a50 b 0x65a60 |
| while (v0 == 0) {
0x00065a54 lw v0, 0x64(sp) | v0 = *(var_64h_2);
| if (v0 == 0) {
0x00065a58 beql v0, zero, 0x65b60 | goto label_40;
| }
0x00065a5c lw v0, 8(s5) | v0 = *((s5 + 2));
0x00065a60 lw v0, 0x34(sp) | v0 = *(var_34h_2);
| label_1:
0x00065a64 lw a0, (s5) | a0 = *(s5);
0x00065a68 sw v0, 0x14(sp) | *(var_14h_2) = v0;
0x00065a6c lw v0, 0x38(sp) | v0 = *(var_38h);
0x00065a70 lw t9, -0x75fc(gp) | t9 = sym.imp.BrotliEncoderCompressStream;
0x00065a74 sw zero, 0x18(sp) | *(var_18h_2) = 0;
0x00065a78 sw v0, 0x10(sp) | *(var_10h_3) = v0;
0x00065a7c move a3, s0 | a3 = s0;
0x00065a80 move a2, s6 | a2 = s6;
0x00065a84 move a1, zero | a1 = 0;
0x00065a88 sw zero, 0x68(sp) | *(var_68h) = 0;
0x00065a8c sw zero, 0x6c(sp) | *(var_6ch) = 0;
0x00065a90 jalr t9 | t9 ();
0x00065a94 lw gp, 0x28(sp) | gp = *(var_28h_2);
| if (v0 == 0) {
0x00065a98 beqz v0, 0x65c48 | goto label_41;
| }
0x00065a9c lw t9, -0x7674(gp) | t9 = sym.imp.BrotliEncoderHasMoreOutput;
0x00065aa0 lw a0, (s5) | a0 = *(s5);
0x00065aa4 jalr t9 | t9 ();
0x00065aa8 lw gp, 0x28(sp) | gp = *(var_28h_2);
0x00065aac beqz v0, 0x65a54 |
| }
0x00065ab0 lw t9, -0x7468(gp) | t9 = sym.imp.BrotliEncoderTakeOutput;
0x00065ab4 lw a0, (s5) | a0 = *(s5);
0x00065ab8 move a1, s4 | a1 = s4;
0x00065abc sw zero, 0x70(sp) | *(var_70h) = 0;
0x00065ac0 jalr t9 | t9 ();
0x00065ac4 lw a1, 0x70(sp) | a1 = *(var_70h);
0x00065ac8 lw v1, 0x10(s5) | v1 = *((s5 + 4));
0x00065acc lw gp, 0x28(sp) | gp = *(var_28h_2);
0x00065ad0 lw a2, 4(s5) | a2 = *((s5 + 1));
0x00065ad4 addu a3, v1, a1 | a3 = v1 + a1;
0x00065ad8 lw a0, 0x14(s5) | a0 = *((s5 + 5));
0x00065adc sltu v1, a3, v1 | v1 = (a3 < v1) ? 1 : 0;
0x00065ae0 lw a2, 0xc(a2) | a2 = *((a2 + 3));
0x00065ae4 addu v1, v1, a0 | v1 += a0;
0x00065ae8 lw t9, -0x7798(gp) | t9 = sym.imp.apr_bucket_transient_create;
0x00065aec sw a3, 0x10(s5) | *((s5 + 4)) = a3;
0x00065af0 move a0, v0 | a0 = v0;
0x00065af4 sw v1, 0x14(s5) | *((s5 + 5)) = v1;
0x00065af8 jalr t9 | t9 ();
0x00065afc lw v1, 4(s5) | v1 = *((s5 + 1));
0x00065b00 lw gp, 0x28(sp) | gp = *(var_28h_2);
0x00065b04 addiu a0, v1, 4 | a0 = v1 + 4;
0x00065b08 sw a0, (v0) | *(v0) = a0;
0x00065b0c lw a1, 8(v1) | a1 = *((v1 + 2));
0x00065b10 lw a0, 8(s3) | a0 = *((s3 + 2));
0x00065b14 sw a1, 4(v0) | *((v0 + 1)) = a1;
0x00065b18 lw a2, 8(v1) | a2 = *((v1 + 2));
0x00065b1c lw t9, -0x7e30(gp) | t9 = sym.ap_pass_brigade;
0x00065b20 move a1, v1 | a1 = v1;
0x00065b24 sw v0, (a2) | *(a2) = v0;
0x00065b28 sw v0, 8(v1) | *((v1 + 2)) = v0;
0x00065b2c jalr t9 | t9 ();
0x00065b30 nop |
0x00065b34 lw gp, 0x28(sp) | gp = *(var_28h_2);
0x00065b38 lw a0, 4(s5) | a0 = *((s5 + 1));
0x00065b3c lw t9, -0x754c(gp) | t9 = sym.imp.apr_brigade_cleanup;
0x00065b40 move fp, v0 | fp = v0;
0x00065b44 jalr t9 | t9 ();
0x00065b48 lw gp, 0x28(sp) | gp = *(var_28h_2);
| if (fp != 0) {
0x00065b4c bnez fp, 0x659bc | goto label_0;
| }
0x00065b50 lw v0, 0x64(sp) | v0 = *(var_64h_2);
0x00065b54 lw v0, 0x34(sp) | v0 = *(var_34h_2);
| if (v0 != 0) {
0x00065b58 bnez v0, 0x65a64 | goto label_1;
| }
| label_39:
0x00065b5c lw v0, 8(s5) | v0 = *((s5 + 2));
| label_40:
0x00065b60 lw a0, 0x44(sp) | a0 = *(var_44h_2);
0x00065b64 lw v1, 4(s7) | v1 = *((s7 + 1));
0x00065b68 lw a1, 0xc(s5) | a1 = *((s5 + 3));
0x00065b6c addu s0, v0, a0 | s0 = v0 + a0;
0x00065b70 sltu v0, s0, v0 | v0 = (s0 < v0) ? 1 : 0;
0x00065b74 lw a0, (s7) | a0 = *(s7);
0x00065b78 addu v0, v0, a1 | v0 += a1;
0x00065b7c sw v0, 0xc(s5) | *((s5 + 3)) = v0;
0x00065b80 lw a1, 8(s7) | a1 = *((s7 + 2));
0x00065b84 sw s0, 8(s5) | *((s5 + 2)) = s0;
0x00065b88 sw a0, (v1) | *(v1) = a0;
0x00065b8c lw v0, (s7) | v0 = *(s7);
0x00065b90 lw v1, 4(s7) | v1 = *((s7 + 1));
0x00065b94 lw t9, 0xc(a1) | t9 = *((a1 + 3));
0x00065b98 lw a0, 0x18(s7) | a0 = *((s7 + 6));
0x00065b9c sw v1, 4(v0) | *((v0 + 1)) = v1;
0x00065ba0 jalr t9 | t9 ();
0x00065ba4 nop |
0x00065ba8 lw t9, 0x1c(s7) | t9 = *((s7 + 7));
0x00065bac move a0, s7 | a0 = s7;
0x00065bb0 jalr t9 | t9 ();
0x00065bb4 lw gp, 0x28(sp) | gp = *(var_28h_2);
0x00065bb8 b 0x65918 | goto label_2;
| label_36:
0x00065bbc addiu a2, s3, 0xc | a2 = s3 + 0xc;
0x00065bc0 addiu a1, zero, 1 | a1 = 1;
0x00065bc4 move a0, s5 | a0 = s5;
0x00065bc8 jalr t9 | t9 ();
0x00065bcc move fp, v0 | fp = v0;
0x00065bd0 lw gp, 0x28(sp) | gp = *(var_28h_2);
| if (v0 != 0) {
0x00065bd4 bnez v0, 0x659bc | goto label_0;
| }
0x00065bd8 lw v1, 4(s7) | v1 = *((s7 + 1));
0x00065bdc lw a0, (s7) | a0 = *(s7);
0x00065be0 lw v0, 4(s5) | v0 = *((s5 + 1));
0x00065be4 sw a0, (v1) | *(v1) = a0;
0x00065be8 lw a0, (s7) | a0 = *(s7);
0x00065bec lw a1, 4(s7) | a1 = *((s7 + 1));
0x00065bf0 addiu v1, v0, 4 | v1 = v0 + 4;
0x00065bf4 sw a1, 4(a0) | *((a0 + 1)) = a1;
0x00065bf8 sw v1, (s7) | *(s7) = v1;
0x00065bfc lw v1, 8(v0) | v1 = *((v0 + 2));
0x00065c00 lw a0, 8(s3) | a0 = *((s3 + 2));
0x00065c04 sw v1, 4(s7) | *((s7 + 1)) = v1;
0x00065c08 lw v1, 8(v0) | v1 = *((v0 + 2));
0x00065c0c lw t9, -0x7e30(gp) | t9 = sym.ap_pass_brigade;
0x00065c10 move a1, v0 | a1 = v0;
0x00065c14 sw s7, (v1) | *(v1) = s7;
0x00065c18 sw s7, 8(v0) | *((v0 + 2)) = s7;
0x00065c1c jalr t9 | t9 ();
0x00065c20 nop |
0x00065c24 lw gp, 0x28(sp) | gp = *(var_28h_2);
0x00065c28 lw a0, 4(s5) | a0 = *((s5 + 1));
0x00065c2c lw t9, -0x754c(gp) | t9 = sym.imp.apr_brigade_cleanup;
0x00065c30 move fp, v0 | fp = v0;
0x00065c34 jalr t9 | t9 ();
0x00065c38 lw gp, 0x28(sp) | gp = *(var_28h_2);
| if (fp == 0) {
0x00065c3c beqz fp, 0x65918 | goto label_2;
| }
0x00065c40 lw v0, 0x4c(sp) | v0 = *(var_4ch_2);
0x00065c44 b 0x659c0 | goto label_3;
| label_41:
0x00065c48 lw v0, 0x48(sp) | v0 = *(var_48h_2);
0x00065c4c lw v1, 0xc(s3) | v1 = *((s3 + 3));
0x00065c50 lw a0, -0x7fac(gp) | a0 = *(gp);
0x00065c54 lw a2, 8(v0) | a2 = *((v0 + 2));
0x00065c58 lw v0, -0x7fac(gp) | v0 = *(gp);
0x00065c5c lw t9, -0x7f08(gp) | t9 = sym.ap_log_rerror_;
| /* str.AH03459:_Error_while_compressing_data */
0x00065c60 addiu v0, v0, 0x4ea8 | v0 += 0x4ea8;
0x00065c64 sw v0, 0x18(sp) | *(var_18h_2) = v0;
0x00065c68 sw v1, 0x14(sp) | *(var_14h_2) = v1;
0x00065c6c sw zero, 0x10(sp) | *(var_10h_3) = 0;
0x00065c70 addiu a3, zero, 3 | a3 = 3;
0x00065c74 addiu a1, zero, 0xe3 | a1 = 0xe3;
| /* str._usr_src_debug_apache2_2.4.57_r0_httpd_2.4.57_modules_filters_mod_brotli.c */
0x00065c78 addiu a0, a0, 0x4dc8 | a0 += 0x4dc8;
0x00065c7c bal 0x530a8 | sym_ap_log_rerror_ ();
0x00065c80 addiu fp, zero, 0x4e2e | fp = 0x4e2e;
0x00065c84 lw gp, 0x28(sp) | gp = *(var_28h_2);
0x00065c88 b 0x659bc | goto label_0;
| label_34:
0x00065c8c lw v0, 0x14(s2) | v0 = *((s2 + 5));
0x00065c90 lw t9, -0x7e34(gp) | t9 = sym.ap_remove_output_filter;
| if (v0 == 0) {
0x00065c94 bnez v0, 0x65cc4 |
0x00065c98 lw v1, 0x44(s2) | v1 = *((s2 + 17));
0x00065c9c addiu v0, zero, 0xcc | v0 = 0xcc;
0x00065ca0 lw a1, -0x7fac(gp) | a1 = *(gp);
| if (v1 == v0) {
0x00065ca4 beq v1, v0, 0x65cc4 | goto label_7;
| }
0x00065ca8 lw t9, -0x7668(gp) | t9 = sym.imp.apr_table_get;
0x00065cac lw a0, 0xbc(s2) | a0 = *((s2 + 47));
| /* str.no_brotli */
0x00065cb0 addiu a1, a1, 0x4e3c | a1 += 0x4e3c;
0x00065cb4 jalr t9 | t9 ();
0x00065cb8 lw gp, 0x28(sp) | gp = *(var_28h_2);
| if (v0 == 0) {
0x00065cbc beqz v0, 0x65e8c | goto label_42;
| }
| label_5:
0x00065cc0 lw t9, -0x7e34(gp) | t9 = sym.ap_remove_output_filter;
| }
| label_7:
0x00065cc4 move a0, s3 | a0 = s3;
0x00065cc8 jalr t9 | t9 ();
0x00065ccc lw gp, 0x28(sp) | gp = *(var_28h_2);
0x00065cd0 lw a0, 8(s3) | a0 = *((s3 + 2));
0x00065cd4 lw t9, -0x7e30(gp) | t9 = sym.ap_pass_brigade;
0x00065cd8 move a1, s1 | a1 = s1;
0x00065cdc jalr t9 | t9 ();
0x00065ce0 move fp, v0 | fp = v0;
0x00065ce4 lw gp, 0x28(sp) | gp = *(var_28h_2);
0x00065ce8 b 0x659bc | goto label_0;
| label_35:
0x00065cec lw t9, -0x7944(gp) | t9 = *(gp);
0x00065cf0 addiu a2, s3, 0xc | a2 = s3 + 0xc;
0x00065cf4 addiu a1, zero, 2 | a1 = 2;
| /* fcn.000656b0 */
0x00065cf8 addiu t9, t9, 0x56b0 | t9 += 0x56b0;
0x00065cfc move a0, s5 | a0 = s5;
0x00065d00 bal 0x656b0 | fcn_000656b0 ();
| goto label_4;
0x00065d04 move fp, v0 | fp = v0;
0x00065d08 lw gp, 0x28(sp) | gp = *(var_28h_2);
| if (v0 != 0) {
0x00065d0c bnez v0, 0x659bc | goto label_0;
| }
0x00065d10 lw v0, 0x54(sp) | v0 = *(var_54h_2);
0x00065d14 lw s0, 0x14(v0) | s0 = *((v0 + 5));
0x00065d18 lw t9, -0x759c(gp) | t9 = sym.imp.apr_off_t_toa;
| if (s0 != 0) {
0x00065d1c beqz s0, 0x65d54 |
0x00065d20 lw a2, 8(s5) | a2 = *((s5 + 2));
0x00065d24 lw a3, 0xc(s5) | a3 = *((s5 + 3));
0x00065d28 lw a0, (s2) | a0 = *(s2);
0x00065d2c lw s1, 0xc0(s2) | s1 = *((s2 + 48));
0x00065d30 jalr t9 | t9 ();
0x00065d34 lw gp, 0x28(sp) | gp = *(var_28h_2);
0x00065d38 move a2, v0 | a2 = v0;
0x00065d3c move a1, s0 | a1 = s0;
0x00065d40 lw t9, -0x7590(gp) | t9 = sym.imp.apr_table_setn;
0x00065d44 move a0, s1 | a0 = s1;
0x00065d48 jalr t9 | t9 ();
0x00065d4c lw gp, 0x28(sp) | gp = *(var_28h_2);
0x00065d50 lw v0, 0x54(sp) | v0 = *(var_54h_2);
| }
0x00065d54 lw s0, 0x18(v0) | s0 = *((v0 + 6));
0x00065d58 lw t9, -0x759c(gp) | t9 = sym.imp.apr_off_t_toa;
| if (s0 != 0) {
0x00065d5c beqz s0, 0x65d90 |
0x00065d60 lw a2, 0x10(s5) | a2 = *((s5 + 4));
0x00065d64 lw a3, 0x14(s5) | a3 = *((s5 + 5));
0x00065d68 lw a0, (s2) | a0 = *(s2);
0x00065d6c lw s1, 0xc0(s2) | s1 = *((s2 + 48));
0x00065d70 jalr t9 | t9 ();
0x00065d74 lw gp, 0x28(sp) | gp = *(var_28h_2);
0x00065d78 move a2, v0 | a2 = v0;
0x00065d7c move a1, s0 | a1 = s0;
0x00065d80 lw t9, -0x7590(gp) | t9 = sym.imp.apr_table_setn;
0x00065d84 move a0, s1 | a0 = s1;
0x00065d88 jalr t9 | t9 ();
0x00065d8c lw gp, 0x28(sp) | gp = *(var_28h_2);
| }
0x00065d90 lw v0, 0x54(sp) | v0 = *(var_54h_2);
0x00065d94 lw s0, 0x10(v0) | s0 = *((v0 + 4));
| if (s0 != 0) {
0x00065d98 beqz s0, 0x65e08 |
0x00065d9c nop |
0x00065da0 lw a3, 0xc(s5) | a3 = *((s5 + 3));
0x00065da4 lw a2, 8(s5) | a2 = *((s5 + 2));
0x00065da8 lw s1, 0xc0(s2) | s1 = *((s2 + 48));
| if (a3 <= 0) {
0x00065dac blez a3, 0x663fc | goto label_43;
| }
0x00065db0 lw a0, 0x10(s5) | a0 = *((s5 + 4));
| label_9:
0x00065db4 addiu v0, zero, 0x64 | v0 = 0x64;
0x00065db8 lw v1, 0x14(s5) | v1 = *((s5 + 5));
0x00065dbc multu a0, v0 | __asm ("multu a0, v0");
0x00065dc0 mflo a0 | __asm ("mflo a0");
0x00065dc4 mfhi a1 | __asm ("mfhi a1");
0x00065dc8 mul t0, v1, v0 | __asm ("mul t0, v1, v0");
0x00065dcc lw t9, -0x797c(gp) | t9 = *(gp);
0x00065dd0 addu a1, t0, a1 | a1 = t0 + a1;
0x00065dd4 bal 0x74340 | fcn_00074340 ();
0x00065dd8 lw gp, 0x28(sp) | gp = *(var_28h_2);
0x00065ddc lw a0, (s2) | a0 = *(s2);
0x00065de0 lw t9, -0x72d8(gp) | t9 = sym.imp.apr_itoa;
0x00065de4 move a1, v0 | a1 = v0;
0x00065de8 jalr t9 | t9 ();
0x00065dec lw gp, 0x28(sp) | gp = *(var_28h_2);
0x00065df0 move a2, v0 | a2 = v0;
0x00065df4 move a1, s0 | a1 = s0;
0x00065df8 lw t9, -0x7590(gp) | t9 = sym.imp.apr_table_setn;
0x00065dfc move a0, s1 | a0 = s1;
0x00065e00 jalr t9 | t9 ();
0x00065e04 lw gp, 0x28(sp) | gp = *(var_28h_2);
| }
| label_10:
0x00065e08 lw v1, 4(s7) | v1 = *((s7 + 1));
0x00065e0c lw a0, (s7) | a0 = *(s7);
0x00065e10 lw v0, 4(s5) | v0 = *((s5 + 1));
0x00065e14 sw a0, (v1) | *(v1) = a0;
0x00065e18 lw a0, (s7) | a0 = *(s7);
0x00065e1c lw a1, 4(s7) | a1 = *((s7 + 1));
0x00065e20 addiu v1, v0, 4 | v1 = v0 + 4;
0x00065e24 sw a1, 4(a0) | *((a0 + 1)) = a1;
0x00065e28 sw v1, (s7) | *(s7) = v1;
0x00065e2c lw v1, 8(v0) | v1 = *((v0 + 2));
0x00065e30 lw a0, 8(s3) | a0 = *((s3 + 2));
0x00065e34 sw v1, 4(s7) | *((s7 + 1)) = v1;
0x00065e38 lw v1, 8(v0) | v1 = *((v0 + 2));
0x00065e3c lw t9, -0x7e30(gp) | t9 = sym.ap_pass_brigade;
0x00065e40 move a1, v0 | a1 = v0;
0x00065e44 sw s7, (v1) | *(v1) = s7;
0x00065e48 sw s7, 8(v0) | *((v0 + 2)) = s7;
0x00065e4c jalr t9 | t9 ();
0x00065e50 nop |
0x00065e54 lw gp, 0x28(sp) | gp = *(var_28h_2);
0x00065e58 lw a0, 4(s5) | a0 = *((s5 + 1));
0x00065e5c lw t9, -0x754c(gp) | t9 = sym.imp.apr_brigade_cleanup;
0x00065e60 move fp, v0 | fp = v0;
0x00065e64 jalr t9 | t9 ();
0x00065e68 lw gp, 0x28(sp) | gp = *(var_28h_2);
0x00065e6c lw a0, (s2) | a0 = *(s2);
0x00065e70 move a1, s5 | a1 = s5;
0x00065e74 lw a2, -0x7944(gp) | a2 = *(gp);
0x00065e78 lw t9, -0x764c(gp) | t9 = sym.imp.apr_pool_cleanup_run;
0x00065e7c addiu a2, a2, 0x5430 | a2 += 0x5430;
0x00065e80 jalr t9 | t9 ();
0x00065e84 lw gp, 0x28(sp) | gp = *(var_28h_2);
0x00065e88 b 0x659bc | goto label_0;
| label_42:
0x00065e8c lw a1, -0x7fac(gp) | a1 = *(gp);
0x00065e90 lw t9, -0x7668(gp) | t9 = sym.imp.apr_table_get;
0x00065e94 lw a0, 0xb4(s2) | a0 = *((s2 + 45));
| /* str.Content_Range */
0x00065e98 addiu a1, a1, -0x58d0 | a1 += -0x58d0;
0x00065e9c jalr t9 | t9 ();
0x00065ea0 move s5, v0 | s5 = v0;
0x00065ea4 lw gp, 0x28(sp) | gp = *(var_28h_2);
| if (v0 != 0) {
0x00065ea8 bnez v0, 0x65cc0 | goto label_5;
| }
0x00065eac lw s4, -0x7fac(gp) | s4 = *(gp);
0x00065eb0 lw t9, -0x7668(gp) | t9 = sym.imp.apr_table_get;
0x00065eb4 lw a0, 0xb4(s2) | a0 = *((s2 + 45));
0x00065eb8 sw s4, 0x38(sp) | *(var_38h) = s4;
| /* str.Content_Encoding */
0x00065ebc addiu a1, s4, -0x5918 | a1 = s4 + -0x5918;
0x00065ec0 jalr t9 | t9 ();
0x00065ec4 lw gp, 0x28(sp) | gp = *(var_28h_2);
0x00065ec8 move s0, v0 | s0 = v0;
0x00065ecc lw a0, 0xb8(s2) | a0 = *((s2 + 46));
0x00065ed0 lw t9, -0x7668(gp) | t9 = sym.imp.apr_table_get;
| if (v0 == 0) {
0x00065ed4 beqz v0, 0x66508 | goto label_44;
| }
| /* str.Content_Encoding */
0x00065ed8 addiu a1, s4, -0x5918 | a1 = s4 + -0x5918;
0x00065edc jalr t9 | t9 ();
0x00065ee0 lw gp, 0x28(sp) | gp = *(var_28h_2);
| if (v0 == 0) {
0x00065ee4 beqz v0, 0x664f4 | goto label_45;
| }
0x00065ee8 lw a2, -0x7fac(gp) | a2 = *(gp);
0x00065eec lw t9, -0x76e8(gp) | t9 = sym.imp.apr_pstrcat
0x00065ef0 lw a0, (s2) | a0 = *(s2);
0x00065ef4 move a1, s0 | a1 = s0;
0x00065ef8 sw zero, 0x10(sp) | *(var_10h_3) = 0;
0x00065efc move a3, v0 | a3 = v0;
| /* esilref: '' */
0x00065f00 addiu a2, a2, -0x3554 | a2 += -0x3554;
0x00065f04 jalr t9 | t9 ();
0x00065f08 lw gp, 0x28(sp) | gp = *(var_28h_2);
0x00065f0c move s0, v0 | s0 = v0;
| label_20:
0x00065f10 lw s7, 0xcc(s2) | s7 = *((s2 + 51));
| if (s7 == 0) {
0x00065f14 beql s7, zero, 0x664b0 | goto label_46;
| }
0x00065f18 move s7, s0 | s7 = s0;
0x00065f1c lw a2, -0x7fac(gp) | a2 = *(gp);
| if (s0 != 0) {
0x00065f20 bnez s0, 0x6648c | goto label_18;
| }
| label_19:
0x00065f24 lw t9, -0x78ac(gp) | t9 = sym.ap_get_token;
| label_16:
0x00065f28 lw a0, (s2) | a0 = *(s2);
0x00065f2c addiu s0, sp, 0x70 | s0 = sp + 0x70;
0x00065f30 move a2, zero | a2 = 0;
0x00065f34 move a1, s0 | a1 = s0;
0x00065f38 sw s7, 0x70(sp) | *(var_70h) = s7;
0x00065f3c jalr t9 | t9 ();
0x00065f40 move fp, v0 | fp = v0;
0x00065f44 lw gp, 0x28(sp) | gp = *(var_28h_2);
| if (v0 == 0) {
0x00065f48 beqz v0, 0x65fe8 | goto label_12;
| }
0x00065f4c lb v0, (v0) | v0 = *(v0);
0x00065f50 lw v0, -0x7fac(gp) | v0 = *(gp);
| if (v0 == 0) {
0x00065f54 beqz v0, 0x65fe8 | goto label_12;
| }
0x00065f58 lw s4, -0x7fac(gp) | s4 = *(gp);
0x00065f5c sw v0, 0x40(sp) | *(var_40h_2) = v0;
0x00065f60 lw v0, -0x7fac(gp) | v0 = *(gp);
| /* str.7bit */
0x00065f64 addiu v0, v0, 0x4e54 | v0 += 0x4e54;
0x00065f68 sw v0, 0x34(sp) | *(var_34h_2) = v0;
0x00065f6c lw v0, -0x7fac(gp) | v0 = *(gp);
| /* str.8bit */
0x00065f70 addiu s6, v0, 0x4e5c | s6 = v0 + 0x4e5c;
0x00065f74 lw t9, -0x7740(gp) | t9 = sym.imp.strcmp;
| /* str.identity */
| label_13:
0x00065f78 addiu a1, s4, 0x4e48 | a1 = s4 + 0x4e48;
0x00065f7c move a0, fp | a0 = fp;
0x00065f80 jalr t9 | t9 ();
0x00065f84 lw gp, 0x28(sp) | gp = *(var_28h_2);
| if (v0 == 0) {
0x00065f88 beqz v0, 0x65fd8 | goto label_47;
| }
0x00065f8c lw t9, -0x7740(gp) | t9 = sym.imp.strcmp;
0x00065f90 lw a1, 0x34(sp) | a1 = *(var_34h_2);
0x00065f94 move a0, fp | a0 = fp;
0x00065f98 jalr t9 | t9 ();
0x00065f9c lw gp, 0x28(sp) | gp = *(var_28h_2);
| if (v0 == 0) {
0x00065fa0 beqz v0, 0x65fd8 | goto label_47;
| }
0x00065fa4 lw t9, -0x7740(gp) | t9 = sym.imp.strcmp;
0x00065fa8 move a1, s6 | a1 = s6;
0x00065fac move a0, fp | a0 = fp;
0x00065fb0 jalr t9 | t9 ();
0x00065fb4 lw gp, 0x28(sp) | gp = *(var_28h_2);
| if (v0 == 0) {
0x00065fb8 beqz v0, 0x65fd8 | goto label_47;
| }
0x00065fbc lw v0, 0x40(sp) | v0 = *(var_40h_2);
0x00065fc0 lw t9, -0x7740(gp) | t9 = sym.imp.strcmp;
0x00065fc4 addiu a1, v0, 0x4e64 | a1 = v0 + 0x4e64;
0x00065fc8 move a0, fp | a0 = fp;
0x00065fcc jalr t9 | t9 ();
0x00065fd0 lw gp, 0x28(sp) | gp = *(var_28h_2);
| if (v0 != 0) {
0x00065fd4 bnez v0, 0x65cc0 | goto label_5;
| }
| label_47:
0x00065fd8 lw v0, 0x70(sp) | v0 = *(var_70h);
0x00065fdc lb v1, (v0) | v1 = *(v0);
0x00065fe0 addiu v1, v0, 1 | v1 = v0 + 1;
| if (v1 != 0) {
0x00065fe4 bnez v1, 0x66434 | goto label_48;
| }
| label_12:
0x00065fe8 lw s0, -0x7fac(gp) | s0 = *(gp);
| label_14:
0x00065fec lw a1, -0x7fac(gp) | a1 = *(gp);
0x00065ff0 lw t9, -0x76cc(gp) | t9 = sym.imp.apr_table_mergen;
0x00065ff4 lw a0, 0xb4(s2) | a0 = *((s2 + 45));
| /* str.Accept_Encoding */
0x00065ff8 addiu a2, s0, 0x4e6c | a2 = s0 + 0x4e6c;
| /* str.Vary */
0x00065ffc addiu a1, a1, -0x3c0 | a1 += -aav.0x000003c0;
0x00066000 jalr t9 | t9 ();
0x00066004 lw gp, 0x28(sp) | gp = *(var_28h_2);
0x00066008 lw a0, 0xb0(s2) | a0 = *((s2 + 44));
0x0006600c lw t9, -0x7668(gp) | t9 = sym.imp.apr_table_get;
| /* str.Accept_Encoding */
0x00066010 addiu a1, s0, 0x4e6c | a1 = s0 + 0x4e6c;
0x00066014 jalr t9 | t9 ();
0x00066018 sw v0, 0x70(sp) | *(var_70h) = v0;
0x0006601c lw gp, 0x28(sp) | gp = *(var_28h_2);
| if (v0 == 0) {
0x00066020 beqz v0, 0x65cc0 | goto label_5;
| }
0x00066024 lw t9, -0x78ac(gp) | t9 = sym.ap_get_token;
0x00066028 addiu s0, sp, 0x70 | s0 = sp + 0x70;
0x0006602c lw a0, (s2) | a0 = *(s2);
0x00066030 move a2, zero | a2 = 0;
0x00066034 move a1, s0 | a1 = s0;
0x00066038 jalr t9 | t9 ();
0x0006603c move fp, v0 | fp = v0;
0x00066040 lw gp, 0x28(sp) | gp = *(var_28h_2);
| if (v0 == 0) {
0x00066044 beqz v0, 0x66474 | goto label_49;
| }
0x00066048 lb v0, (v0) | v0 = *(v0);
0x0006604c lw v0, -0x7fac(gp) | v0 = *(gp);
| if (v0 == 0) {
0x00066050 beqz v0, 0x66100 | goto label_50;
| }
0x00066054 addiu s4, zero, 0x3b | s4 = 0x3b;
0x00066058 sw v0, 0x34(sp) | *(var_34h_2) = v0;
| /* esilref: 'br' */
0x0006605c addiu v0, v0, 0x4e7c | v0 += 0x4e7c;
0x00066060 move s6, v0 | s6 = v0;
0x00066064 lw t9, -0x7e28(gp) | t9 = sym.ap_cstr_casecmp;
| label_6:
0x00066068 move a1, s6 | a1 = s6;
0x0006606c move a0, fp | a0 = fp;
0x00066070 jalr t9 | t9 ();
0x00066074 lw gp, 0x28(sp) | gp = *(var_28h_2);
| if (v0 == 0) {
0x00066078 beqz v0, 0x66520 | goto label_51;
| }
0x0006607c lw v0, 0x70(sp) | v0 = *(var_70h);
0x00066080 lb v1, (v0) | v1 = *(v0);
0x00066084 addiu a0, zero, 0x2c | a0 = 0x2c;
| if (v1 != s4) {
0x00066088 bne v1, s4, 0x660bc | goto label_52;
| }
| do {
0x0006608c lw t9, -0x78ac(gp) | t9 = sym.ap_get_token;
0x00066090 lw a0, (s2) | a0 = *(s2);
0x00066094 addiu v0, v0, 1 | v0++;
0x00066098 addiu a2, zero, 1 | a2 = 1;
0x0006609c move a1, s0 | a1 = s0;
0x000660a0 sw v0, 0x70(sp) | *(var_70h) = v0;
0x000660a4 jalr t9 | t9 ();
0x000660a8 lw v0, 0x70(sp) | v0 = *(var_70h);
0x000660ac lb v1, (v0) | v1 = *(v0);
0x000660b0 lw gp, 0x28(sp) | gp = *(var_28h_2);
0x000660b4 beq v1, s4, 0x6608c |
| } while (v1 == s4);
0x000660b8 addiu a0, zero, 0x2c | a0 = 0x2c;
| label_52:
0x000660bc lb v0, (v0) | v0 = *(v0);
| if (v1 != a0) {
0x000660c0 bnel v1, a0, 0x660d0 |
0x000660c4 addiu v0, v0, 1 | v0++;
0x000660c8 sw v0, 0x70(sp) | *(var_70h) = v0;
0x000660cc lb v0, (v0) | v0 = *(v0);
| }
0x000660d0 lw t9, -0x78ac(gp) | t9 = sym.ap_get_token;
| if (v0 == 0) {
0x000660d4 beqz v0, 0x65cc0 | goto label_5;
| }
0x000660d8 lw a0, (s2) | a0 = *(s2);
0x000660dc move a2, zero | a2 = 0;
0x000660e0 move a1, s0 | a1 = s0;
0x000660e4 jalr t9 | t9 ();
0x000660e8 move fp, v0 | fp = v0;
0x000660ec lw gp, 0x28(sp) | gp = *(var_28h_2);
| if (v0 == 0) {
0x000660f0 beqz v0, 0x66474 | goto label_49;
| }
0x000660f4 lb v0, (v0) | v0 = *(v0);
0x000660f8 lw t9, -0x7e28(gp) | t9 = sym.ap_cstr_casecmp;
| if (v0 != 0) {
0x000660fc bnez v0, 0x66068 | goto label_6;
| }
| label_50:
0x00066100 lw v0, 0x70(sp) | v0 = *(var_70h);
0x00066104 lb a0, (v0) | a0 = *(v0);
0x00066108 lw t9, -0x7e34(gp) | t9 = sym.ap_remove_output_filter;
| if (a0 == 0) {
0x0006610c beqz a0, 0x65cc4 | goto label_7;
| }
0x00066110 move s5, fp | s5 = fp;
| label_21:
0x00066114 addiu v1, zero, 0x3b | v1 = 0x3b;
| label_15:
0x00066118 addiu a1, zero, 0x3b | a1 = 0x3b;
| if (a0 != v1) {
0x0006611c bne a0, v1, 0x66134 | goto label_53;
| }
0x00066120 addiu v0, v0, 1 | v0++;
| do {
0x00066124 sw v0, 0x70(sp) | *(var_70h) = v0;
0x00066128 lb v1, (v0) | v1 = *(v0);
0x0006612c addiu v0, v0, 1 | v0++;
0x00066130 beq v1, a1, 0x66124 |
| } while (v1 == a1);
| label_53:
0x00066134 lw t9, -0x78ac(gp) | t9 = sym.ap_get_token;
0x00066138 lw a0, (s2) | a0 = *(s2);
0x0006613c addiu a2, zero, 1 | a2 = 1;
0x00066140 move a1, s0 | a1 = s0;
0x00066144 jalr t9 | t9 ();
0x00066148 lw v1, 0x48(sp) | v1 = *(var_48h_2);
0x0006614c lw gp, 0x28(sp) | gp = *(var_28h_2);
0x00066150 lw a2, 8(v1) | a2 = *((v1 + 2));
0x00066154 move s0, v0 | s0 = v0;
| if (a2 < 0) {
0x00066158 bltz a2, 0x664c0 | goto label_54;
| }
0x0006615c lw v0, 0x108(s2) | v0 = *(s2);
| if (v0 == 0) {
0x00066160 beql v0, zero, 0x66544 | goto label_55;
| }
0x00066164 lw a0, 4(s2) | a0 = *((s2 + 1));
0x00066168 lw v1, (v0) | v1 = *(v0);
0x0006616c addu v1, v1, a2 | v1 += a2;
| if (v1 == 0) {
0x00066170 beqz v1, 0x664e4 | goto label_30;
| }
0x00066174 lb v1, (v1) | v1 = *(v1);
| if (v1 < 0) {
0x00066178 bltzl v1, 0x664e8 | goto label_23;
| }
0x0006617c lw v0, 4(v0) | v0 = *((v0 + 1));
0x00066180 slti v0, v1, 8 | v0 = (v1 < 8) ? 1 : 0;
| label_24:
0x00066184 xori v0, v0, 1 | v0 ^= 1;
| if (v0 != 0) {
| label_17:
0x00066188 beqz v0, 0x661d4 |
0x0006618c nop |
0x00066190 lw v0, -0x7fac(gp) | v0 = *(gp);
| if (s5 == 0) {
0x00066194 beqz s5, 0x66610 | goto label_56;
| }
0x00066198 move v0, s5 | v0 = s5;
| label_28:
0x0006619c sw v0, 0x1c(sp) | *(var_1ch_2) = v0;
0x000661a0 lw v0, -0x7fac(gp) | v0 = *(gp);
0x000661a4 lw a0, -0x7fac(gp) | a0 = *(gp);
0x000661a8 lw t9, -0x7f08(gp) | t9 = sym.ap_log_rerror_;
| /* str.token:__s___q:__s */
0x000661ac addiu v0, v0, 0x4e80 | v0 += 0x4e80;
0x000661b0 sw s0, 0x20(sp) | *(var_20h_3) = s0;
0x000661b4 sw v0, 0x18(sp) | *(var_18h_2) = v0;
0x000661b8 sw s2, 0x14(sp) | *(var_14h_2) = s2;
0x000661bc sw zero, 0x10(sp) | *(var_10h_3) = 0;
0x000661c0 addiu a3, zero, 8 | a3 = 8;
0x000661c4 addiu a1, zero, 0x1a6 | a1 = 0x1a6;
| /* str._usr_src_debug_apache2_2.4.57_r0_httpd_2.4.57_modules_filters_mod_brotli.c */
0x000661c8 addiu a0, a0, 0x4dc8 | a0 += 0x4dc8;
0x000661cc bal 0x530a8 | sym_ap_log_rerror_ ();
0x000661d0 lw gp, 0x28(sp) | gp = *(var_28h_2);
| }
0x000661d4 lw t9, -0x7e34(gp) | t9 = sym.ap_remove_output_filter;
| if (s5 == 0) {
0x000661d8 beqz s5, 0x65cc4 | goto label_7;
| }
0x000661dc lb v0, (s5) | v0 = *(s5);
| if (v0 == 0) {
0x000661e0 beqz v0, 0x65cc4 | goto label_7;
| }
0x000661e4 nop |
0x000661e8 lw t9, -0x74c4(gp) | t9 = sym.imp.strlen;
| if (s0 == 0) {
0x000661ec beqz s0, 0x66224 | goto label_57;
| }
0x000661f0 move a0, s0 | a0 = s0;
0x000661f4 jalr t9 | t9 ();
0x000661f8 sltiu v1, v0, 3 | v1 = (v0 < 3) ? 1 : 0;
0x000661fc lw gp, 0x28(sp) | gp = *(var_28h_2);
| if (v1 != 0) {
0x00066200 bnez v1, 0x66224 | goto label_57;
| }
0x00066204 lw a0, -0x7fac(gp) | a0 = *(gp);
0x00066208 lw t9, -0x76c4(gp) | t9 = sym.imp.strncmp;
0x0006620c move a2, v0 | a2 = v0;
0x00066210 move a1, s0 | a1 = s0;
| /* str.q0.000 */
0x00066214 addiu a0, a0, 0x4e98 | a0 += 0x4e98;
0x00066218 jalr t9 | t9 ();
0x0006621c lw gp, 0x28(sp) | gp = *(var_28h_2);
| if (v0 == 0) {
0x00066220 beqz v0, 0x65cc0 | goto label_5;
| }
| label_57:
0x00066224 lw v0, -0x7fac(gp) | v0 = *(gp);
0x00066228 sw v0, 0x34(sp) | *(var_34h_2) = v0;
| label_22:
0x0006622c lw a1, -0x7fac(gp) | a1 = *(gp);
| if (s7 != 0) {
0x00066230 beqz s7, 0x6624c |
0x00066234 lw t9, -0x7e28(gp) | t9 = sym.ap_cstr_casecmp;
| /* str.identity */
0x00066238 addiu a1, a1, 0x4e48 | a1 += 0x4e48;
0x0006623c move a0, s7 | a0 = s7;
0x00066240 jalr t9 | t9 ();
0x00066244 lw gp, 0x28(sp) | gp = *(var_28h_2);
| if (v0 != 0) {
0x00066248 bnez v0, 0x6642c | goto label_58;
| }
| }
0x0006624c lw t9, -0x7590(gp) | t9 = sym.imp.apr_table_setn;
| label_11:
0x00066250 lw v0, 0x34(sp) | v0 = *(var_34h_2);
0x00066254 lw a0, 0xb4(s2) | a0 = *((s2 + 45));
0x00066258 addiu a2, v0, 0x4e7c | a2 = v0 + 0x4e7c;
0x0006625c lw v0, 0x38(sp) | v0 = *(var_38h);
0x00066260 addiu a1, v0, -0x5918 | a1 = v0 + -0x5918;
0x00066264 jalr t9 | t9 ();
0x00066268 lw v0, 0xcc(s2) | v0 = *((s2 + 51));
0x0006626c lw gp, 0x28(sp) | gp = *(var_28h_2);
0x00066270 lw a0, 0xb4(s2) | a0 = *((s2 + 45));
| if (v0 != 0) {
0x00066274 beqz v0, 0x66294 |
0x00066278 lw v0, 0x38(sp) | v0 = *(var_38h);
0x0006627c lw t9, -0x7668(gp) | t9 = sym.imp.apr_table_get;
0x00066280 addiu a1, v0, -0x5918 | a1 = v0 + -0x5918;
0x00066284 jalr t9 | t9 ();
0x00066288 lw a0, 0xb4(s2) | a0 = *((s2 + 45));
0x0006628c lw gp, 0x28(sp) | gp = *(var_28h_2);
0x00066290 sw v0, 0xcc(s2) | *((s2 + 51)) = v0;
| }
0x00066294 lw a1, -0x7fac(gp) | a1 = *(gp);
0x00066298 lw t9, -0x7270(gp) | t9 = sym.imp.apr_table_unset;
| /* str.Content_Length */
0x0006629c addiu a1, a1, -0x688c | a1 += -aav.0x0000688c;
0x000662a0 jalr t9 | t9 ();
0x000662a4 lw gp, 0x28(sp) | gp = *(var_28h_2);
0x000662a8 lw a0, 0xb4(s2) | a0 = *((s2 + 45));
0x000662ac lw a1, -0x7fac(gp) | a1 = *(gp);
0x000662b0 lw t9, -0x7270(gp) | t9 = sym.imp.apr_table_unset;
| /* str.Content_MD5 */
0x000662b4 addiu a1, a1, -0x58dc | a1 += -0x58dc;
0x000662b8 jalr t9 | t9 ();
0x000662bc lw v0, 0x54(sp) | v0 = *(var_54h_2);
0x000662c0 addiu v1, zero, 2 | v1 = 2;
0x000662c4 lw v0, 0xc(v0) | v0 = *((v0 + 3));
0x000662c8 lw gp, 0x28(sp) | gp = *(var_28h_2);
| if (v0 == v1) {
0x000662cc beq v0, v1, 0x66618 | goto label_59;
| }
0x000662d0 lw s0, -0x7fac(gp) | s0 = *(gp);
| if (v0 == 0) {
0x000662d4 beqz v0, 0x66574 | goto label_60;
| }
| label_26:
0x000662d8 lw v1, 0x44(s2) | v1 = *((s2 + 17));
| label_27:
0x000662dc addiu v0, zero, 0x130 | v0 = aav.0x00000130;
0x000662e0 lw t9, -0x7544(gp) | t9 = sym.imp.apr_palloc;
| if (v1 == v0) {
0x000662e4 beq v1, v0, 0x65cc0 | goto label_5;
| }
0x000662e8 lw v0, 0x10(s3) | v0 = *((s3 + 4));
0x000662ec lw s4, (s2) | s4 = *(s2);
0x000662f0 lw s0, 0x40(v0) | s0 = *((v0 + 16));
0x000662f4 lw v0, 0x54(sp) | v0 = *(var_54h_2);
0x000662f8 addiu a1, zero, 0x18 | a1 = 0x18;
0x000662fc move a0, s4 | a0 = s4;
0x00066300 lw v1, (v0) | v1 = *(v0);
0x00066304 lw s7, 4(v0) | s7 = *((v0 + 1));
0x00066308 sw v1, 0x34(sp) | *(var_34h_2) = v1;
0x0006630c lw s6, 8(v0) | s6 = *((v0 + 2));
0x00066310 jalr t9 | t9 ();
0x00066314 lw gp, 0x28(sp) | gp = *(var_28h_2);
0x00066318 addiu a2, zero, 0x18 | a2 = 0x18;
0x0006631c move a1, zero | a1 = 0;
0x00066320 lw t9, -0x7308(gp) | t9 = sym.imp.memset;
0x00066324 move a0, v0 | a0 = v0;
0x00066328 jalr t9 | t9 ();
0x0006632c lw gp, 0x28(sp) | gp = *(var_28h_2);
0x00066330 move a2, s0 | a2 = s0;
0x00066334 move s5, v0 | s5 = v0;
0x00066338 lw a1, -0x7944(gp) | a1 = *(gp);
0x0006633c lw a0, -0x7944(gp) | a0 = *(gp);
0x00066340 lw t9, -0x7234(gp) | t9 = sym.imp.BrotliEncoderCreateInstance;
0x00066344 addiu a1, a1, 0x5478 | a1 += 0x5478;
0x00066348 addiu a0, a0, 0x549c | a0 += 0x549c;
0x0006634c jalr t9 | t9 ();
0x00066350 lw gp, 0x28(sp) | gp = *(var_28h_2);
0x00066354 lw v1, 0x34(sp) | v1 = *(var_34h_2);
0x00066358 addiu a1, zero, 1 | a1 = 1;
0x0006635c lw t9, -0x7784(gp) | t9 = sym.imp.BrotliEncoderSetParameter;
0x00066360 move a2, v1 | a2 = v1;
0x00066364 move a0, v0 | a0 = v0;
0x00066368 sw v0, (s5) | *(s5) = v0;
0x0006636c jalr t9 | t9 ();
0x00066370 lw gp, 0x28(sp) | gp = *(var_28h_2);
0x00066374 lw a0, (s5) | a0 = *(s5);
0x00066378 move a2, s7 | a2 = s7;
0x0006637c lw t9, -0x7784(gp) | t9 = sym.imp.BrotliEncoderSetParameter;
0x00066380 addiu a1, zero, 2 | a1 = 2;
0x00066384 jalr t9 | t9 ();
0x00066388 lw gp, 0x28(sp) | gp = *(var_28h_2);
0x0006638c lw a0, (s5) | a0 = *(s5);
0x00066390 move a2, s6 | a2 = s6;
0x00066394 lw t9, -0x7784(gp) | t9 = sym.imp.BrotliEncoderSetParameter;
0x00066398 addiu a1, zero, 3 | a1 = 3;
0x0006639c jalr t9 | t9 ();
0x000663a0 lw gp, 0x28(sp) | gp = *(var_28h_2);
0x000663a4 move a1, s5 | a1 = s5;
0x000663a8 move a0, s4 | a0 = s4;
0x000663ac lw a2, -0x7944(gp) | a2 = *(gp);
0x000663b0 lw t9, -0x7280(gp) | t9 = sym.imp.apr_pool_cleanup_register;
0x000663b4 lw a3, -0x73e0(gp) | a3 = *((gp - 7416));
0x000663b8 addiu a2, a2, 0x5430 | a2 += 0x5430;
0x000663bc jalr t9 | t9 ();
0x000663c0 lw gp, 0x28(sp) | gp = *(var_28h_2);
0x000663c4 move a1, s0 | a1 = s0;
0x000663c8 lw t9, -0x7344(gp) | t9 = sym.imp.apr_brigade_create;
0x000663cc move a0, s4 | a0 = s4;
0x000663d0 jalr t9 | t9 ();
0x000663d4 lw gp, 0x28(sp) | gp = *(var_28h_2);
0x000663d8 move v1, zero | v1 = 0;
0x000663dc sw v0, 4(s5) | *((s5 + 1)) = v0;
0x000663e0 move v0, zero | v0 = 0;
0x000663e4 sw v0, 8(s5) | *((s5 + 2)) = v0;
0x000663e8 sw v1, 0xc(s5) | *((s5 + 3)) = v1;
0x000663ec sw v0, 0x10(s5) | *((s5 + 4)) = v0;
0x000663f0 sw v1, 0x14(s5) | *((s5 + 5)) = v1;
0x000663f4 sw s5, 4(s3) | *((s3 + 1)) = s5;
0x000663f8 b 0x65900 | goto label_8;
| label_43:
0x000663fc lw a2, -0x7fac(gp) | a2 = *(gp);
| if (a3 == 0) {
0x00066400 bnel a3, zero, 0x66410 | goto label_61;
| }
0x00066404 lw a0, 0x10(s5) | a0 = *((s5 + 4));
| if (a2 == 0) {
0x00066408 bnel a2, zero, 0x65db4 | goto label_9;
| }
0x0006640c lw a2, -0x7fac(gp) | a2 = *(gp);
| label_61:
0x00066410 lw t9, -0x7590(gp) | t9 = sym.imp.apr_table_setn;
0x00066414 addiu a2, a2, -0x7d4 | a2 += -aav.0x000007d4;
0x00066418 move a1, s0 | a1 = s0;
0x0006641c move a0, s1 | a0 = s1;
0x00066420 jalr t9 | t9 ();
0x00066424 lw gp, 0x28(sp) | gp = *(var_28h_2);
0x00066428 b 0x65e08 | goto label_10;
| label_58:
0x0006642c lw t9, -0x76cc(gp) | t9 = sym.imp.apr_table_mergen;
0x00066430 b 0x66250 | goto label_11;
| label_48:
0x00066434 sw v1, 0x70(sp) | *(var_70h) = v1;
0x00066438 lb v0, 1(v0) | v0 = *((v0 + 1));
0x0006643c lw t9, -0x78ac(gp) | t9 = sym.ap_get_token;
| if (v0 == 0) {
0x00066440 beqz v0, 0x65fe8 | goto label_12;
| }
0x00066444 lw a0, (s2) | a0 = *(s2);
0x00066448 move a2, zero | a2 = 0;
0x0006644c move a1, s0 | a1 = s0;
0x00066450 jalr t9 | t9 ();
0x00066454 move fp, v0 | fp = v0;
0x00066458 lw gp, 0x28(sp) | gp = *(var_28h_2);
| if (v0 == 0) {
0x0006645c beqz v0, 0x65fe8 | goto label_12;
| }
0x00066460 lb v0, (v0) | v0 = *(v0);
0x00066464 lw t9, -0x7740(gp) | t9 = sym.imp.strcmp;
| if (v0 != 0) {
0x00066468 bnez v0, 0x65f78 | goto label_13;
| }
0x0006646c lw s0, -0x7fac(gp) | s0 = *(gp);
0x00066470 b 0x65fec | goto label_14;
| label_49:
0x00066474 lw v0, 0x70(sp) | v0 = *(var_70h);
0x00066478 lb a0, (v0) | a0 = *(v0);
0x0006647c addiu v1, zero, 0x3b | v1 = 0x3b;
| if (a0 != 0) {
0x00066480 bnez a0, 0x66118 | goto label_15;
| }
0x00066484 lw t9, -0x7e34(gp) | t9 = sym.ap_remove_output_filter;
0x00066488 b 0x65cc4 | goto label_7;
| label_18:
0x0006648c lw t9, -0x76e8(gp) | t9 = sym.imp.apr_pstrcat
0x00066490 lw a0, (s2) | a0 = *(s2);
0x00066494 move a3, s7 | a3 = s7;
0x00066498 sw zero, 0x10(sp) | *(var_10h_3) = 0;
| /* esilref: '' */
0x0006649c addiu a2, a2, -0x3554 | a2 += -0x3554;
0x000664a0 move a1, s0 | a1 = s0;
0x000664a4 jalr t9 | t9 ();
0x000664a8 lw gp, 0x28(sp) | gp = *(var_28h_2);
0x000664ac move s7, v0 | s7 = v0;
| label_46:
0x000664b0 lw s0, -0x7fac(gp) | s0 = *(gp);
| if (s7 == 0) {
0x000664b4 beqz s7, 0x65fec | goto label_14;
| }
0x000664b8 lw t9, -0x78ac(gp) | t9 = sym.ap_get_token;
0x000664bc b 0x65f28 | goto label_16;
| label_54:
0x000664c0 lw v0, 0x108(s2) | v0 = *(s2);
0x000664c4 lw v0, 4(v0) | v0 = *((v0 + 1));
| if (v0 != 0) {
0x000664c8 bnel v0, zero, 0x664e8 |
0x000664cc lw a0, 4(s2) | a0 = *((s2 + 1));
0x000664d0 lw v0, 0x60(a0) | v0 = *((a0 + 24));
| label_25:
0x000664d4 lw v0, 4(v0) | v0 = *((v0 + 1));
| if (v0 == 0) {
0x000664d8 bnel v0, zero, 0x664e8 | goto label_23;
| }
0x000664dc lw v0, 8(s2) | v0 = *((s2 + 2));
0x000664e0 addiu v0, v0, 0x10 | v0 += 0x10;
| label_30:
0x000664e4 lw v0, 4(v0) | v0 = *((v0 + 1));
| }
| label_23:
0x000664e8 slti v0, v0, 8 | v0 = (v0 < 8) ? 1 : 0;
0x000664ec xori v0, v0, 1 | v0 ^= 1;
0x000664f0 b 0x66188 | goto label_17;
| label_45:
0x000664f4 lw s7, 0xcc(s2) | s7 = *((s2 + 51));
0x000664f8 lw a2, -0x7fac(gp) | a2 = *(gp);
| if (s7 != 0) {
0x000664fc bnez s7, 0x6648c | goto label_18;
| }
0x00066500 move s7, s0 | s7 = s0;
0x00066504 b 0x65f24 | goto label_19;
| label_44:
0x00066508 lw v0, 0x38(sp) | v0 = *(var_38h);
0x0006650c addiu a1, v0, -0x5918 | a1 = v0 + -0x5918;
0x00066510 jalr t9 | t9 ();
0x00066514 move s0, v0 | s0 = v0;
0x00066518 lw gp, 0x28(sp) | gp = *(var_28h_2);
0x0006651c b 0x65f10 | goto label_20;
| label_51:
0x00066520 lw v0, 0x70(sp) | v0 = *(var_70h);
0x00066524 lb a0, (v0) | a0 = *(v0);
0x00066528 move s5, fp | s5 = fp;
| if (a0 != 0) {
0x0006652c bnez a0, 0x66114 | goto label_21;
| }
0x00066530 lb v0, (fp) | v0 = *(fp);
0x00066534 lw t9, -0x7e34(gp) | t9 = sym.ap_remove_output_filter;
| if (v0 != 0) {
0x00066538 bnez v0, 0x6622c | goto label_22;
| }
0x0006653c b 0x65cc4 | goto label_7;
0x00066540 nop |
| label_55:
0x00066544 lw v0, 0x60(a0) | v0 = *((a0 + 24));
| if (v0 == 0) {
0x00066548 beql v0, zero, 0x66634 | goto label_62;
| }
0x0006654c lw v0, 8(s2) | v0 = *((s2 + 2));
0x00066550 lw v1, (v0) | v1 = *(v0);
| if (v1 == 0) {
0x00066554 beql v1, zero, 0x664e8 | goto label_23;
| }
0x00066558 lw v0, 4(v0) | v0 = *((v0 + 1));
0x0006655c addu v1, v1, a2 | v1 += a2;
| label_29:
0x00066560 lb v1, (v1) | v1 = *(v1);
| if (v1 >= 0) {
0x00066564 bgezl v1, 0x66184 | goto label_24;
| }
0x00066568 slti v0, v1, 8 | v0 = (v1 < 8) ? 1 : 0;
0x0006656c lw v0, 0x60(a0) | v0 = *((a0 + 24));
0x00066570 b 0x664d4 | goto label_25;
| label_60:
0x00066574 lw t9, -0x7668(gp) | t9 = sym.imp.apr_table_get;
0x00066578 lw a0, 0xb4(s2) | a0 = *((s2 + 45));
| /* esilref: 'ETag' */
0x0006657c addiu a1, s0, -0x2768 | a1 = s0 + -0x2768;
0x00066580 jalr t9 | t9 ();
0x00066584 move s4, v0 | s4 = v0;
0x00066588 lw gp, 0x28(sp) | gp = *(var_28h_2);
| if (v0 == 0) {
0x0006658c beqz v0, 0x662d8 | goto label_26;
| }
0x00066590 lw t9, -0x74c4(gp) | t9 = sym.imp.strlen;
0x00066594 move a0, v0 | a0 = v0;
0x00066598 jalr t9 | t9 ();
0x0006659c sltiu v1, v0, 3 | v1 = (v0 < 3) ? 1 : 0;
0x000665a0 lw gp, 0x28(sp) | gp = *(var_28h_2);
| if (v1 != 0) {
0x000665a4 bnez v1, 0x662d8 | goto label_26;
| }
0x000665a8 addiu a2, v0, -1 | a2 = v0 + -1;
0x000665ac addu v1, s4, a2 | v1 = s4 + a2;
0x000665b0 addiu v0, zero, 0x22 | v0 = 0x22;
0x000665b4 lb v1, (v1) | v1 = *(v1);
0x000665b8 lw v1, 0x44(s2) | v1 = *((s2 + 17));
| if (v1 == v0) {
0x000665bc bnel v1, v0, 0x662dc | goto label_27;
| }
0x000665c0 lw t9, -0x7708(gp) | t9 = sym.imp.apr_pstrmemdup;
0x000665c4 lw a0, (s2) | a0 = *(s2);
0x000665c8 move a1, s4 | a1 = s4;
0x000665cc jalr t9 | t9 ();
0x000665d0 lw gp, 0x28(sp) | gp = *(var_28h_2);
0x000665d4 lw a0, (s2) | a0 = *(s2);
0x000665d8 move a3, zero | a3 = 0;
0x000665dc lw a2, -0x7fac(gp) | a2 = *(gp);
0x000665e0 lw t9, -0x76e8(gp) | t9 = sym.imp.apr_pstrcat
| /* str._br_ */
0x000665e4 addiu a2, a2, 0x4ea0 | a2 += 0x4ea0;
0x000665e8 move a1, v0 | a1 = v0;
0x000665ec jalr t9 | t9 ();
0x000665f0 lw gp, 0x28(sp) | gp = *(var_28h_2);
0x000665f4 lw a0, 0xb4(s2) | a0 = *((s2 + 45));
0x000665f8 move a2, v0 | a2 = v0;
0x000665fc lw t9, -0x7590(gp) | t9 = sym.imp.apr_table_setn;
| /* esilref: 'ETag' */
0x00066600 addiu a1, s0, -0x2768 | a1 = s0 + -0x2768;
0x00066604 jalr t9 | t9 ();
0x00066608 lw gp, 0x28(sp) | gp = *(var_28h_2);
0x0006660c b 0x662d8 | goto label_26;
| /* esilref: 'NULL' */
| label_56:
0x00066610 addiu v0, v0, -0x683c | v0 += -0x683c;
0x00066614 b 0x6619c | goto label_28;
| label_59:
0x00066618 lw a1, -0x7fac(gp) | a1 = *(gp);
0x0006661c lw t9, -0x7270(gp) | t9 = sym.imp.apr_table_unset;
0x00066620 lw a0, 0xb4(s2) | a0 = *((s2 + 45));
| /* esilref: 'ETag' */
0x00066624 addiu a1, a1, -0x2768 | a1 += -0x2768;
0x00066628 jalr t9 | t9 ();
0x0006662c lw gp, 0x28(sp) | gp = *(var_28h_2);
0x00066630 b 0x662d8 | goto label_26;
| label_62:
0x00066634 lw v1, 0x10(v0) | v1 = *((v0 + 4));
0x00066638 addu v1, v1, a2 | v1 += a2;
| if (v1 == 0) {
0x0006663c bnel v1, zero, 0x66560 | goto label_29;
| }
0x00066640 addiu v0, v0, 0x10 | v0 += 0x10;
0x00066644 b 0x664e4 | goto label_30;
| label_38:
0x00066648 lw t9, -0x75e8(gp) | t9 = sym.imp.__stack_chk_fail;
0x0006664c jalr t9 | t9 ();
0x00066650 nop |
0x00066654 lui gp, 4 |
0x00066658 addiu gp, gp, -0x3734 |
0x0006665c addu gp, gp, t9 | gp += t9;
0x00066660 lw v0, -0x78b0(gp) | v0 = *(gp);
0x00066664 lw v1, 0x30(a0) | v1 = *((a0 + 12));
0x00066668 addiu sp, sp, -0x30 |
0x0006666c lw v0, 8(v0) | v0 = *((v0 + 2));
0x00066670 lw v1, 0x18(v1) | v1 = *((v1 + 6));
0x00066674 sll v0, v0, 2 | v0 <<= 2;
0x00066678 sw gp, 0x10(sp) | *(var_10h_2) = gp;
0x0006667c sw s3, 0x28(sp) | *(var_28h_3) = s3;
0x00066680 sw ra, 0x2c(sp) | *(var_2ch_2) = ra;
0x00066684 sw s2, 0x24(sp) | *(var_24h) = s2;
0x00066688 sw s1, 0x20(sp) | *(var_20h_2) = s1;
0x0006668c sw s0, 0x1c(sp) | *(var_1ch) = s0;
0x00066690 lwx s3, v0(v1) | __asm ("lwx s3, v0(v1)");
| if (a3 != 0) {
0x00066694 beqz a3, 0x66794 |
0x00066698 lw a1, -0x7fac(gp) | a1 = *(gp);
0x0006669c lw t9, -0x7e28(gp) | t9 = sym.ap_cstr_casecmp;
0x000666a0 move s1, a0 | s1 = a0;
| /* str.Ratio */
0x000666a4 addiu a1, a1, 0x4ed0 | a1 += 0x4ed0;
0x000666a8 move a0, a2 | a0 = a2;
0x000666ac move s0, a2 | s0 = a2;
0x000666b0 move s2, a3 | s2 = a3;
0x000666b4 jalr t9 | t9 ();
0x000666b8 lw gp, 0x10(sp) | gp = *(var_10h_2);
| if (v0 != 0) {
0x000666bc beqz v0, 0x6671c |
0x000666c0 lw a1, -0x7fac(gp) | a1 = *(gp);
0x000666c4 lw t9, -0x7e28(gp) | t9 = sym.ap_cstr_casecmp;
| /* str.Input */
0x000666c8 addiu a1, a1, 0x4ed8 | a1 += 0x4ed8;
0x000666cc move a0, s0 | a0 = s0;
0x000666d0 jalr t9 | t9 ();
0x000666d4 lw gp, 0x10(sp) | gp = *(var_10h_2);
| if (v0 == 0) {
0x000666d8 beqz v0, 0x66740 | goto label_63;
| }
0x000666dc lw a1, -0x7fac(gp) | a1 = *(gp);
0x000666e0 lw t9, -0x7e28(gp) | t9 = sym.ap_cstr_casecmp;
| /* str.Output */
0x000666e4 addiu a1, a1, 0x4ee0 | a1 += 0x4ee0;
0x000666e8 move a0, s0 | a0 = s0;
0x000666ec jalr t9 | t9 ();
0x000666f0 lw gp, 0x10(sp) | gp = *(var_10h_2);
| if (v0 != 0) {
0x000666f4 bnez v0, 0x66764 | goto label_64;
| }
0x000666f8 lw ra, 0x2c(sp) | ra = *(var_2ch_2);
0x000666fc sw s2, 0x18(s3) | *((s3 + 6)) = s2;
0x00066700 lw s1, 0x20(sp) | s1 = *(var_20h_2);
0x00066704 lw s3, 0x28(sp) | s3 = *(var_28h_3);
0x00066708 lw s2, 0x24(sp) | s2 = *(var_24h);
0x0006670c lw s0, 0x1c(sp) | s0 = *(var_1ch);
0x00066710 move v0, zero | v0 = 0;
0x00066714 addiu sp, sp, 0x30 |
0x00066718 jr ra | return v0;
| }
0x0006671c lw ra, 0x2c(sp) | ra = *(var_2ch_2);
0x00066720 sw s2, 0x10(s3) | *((s3 + 4)) = s2;
0x00066724 lw s1, 0x20(sp) | s1 = *(var_20h_2);
0x00066728 lw s3, 0x28(sp) | s3 = *(var_28h_3);
0x0006672c lw s2, 0x24(sp) | s2 = *(var_24h);
0x00066730 lw s0, 0x1c(sp) | s0 = *(var_1ch);
0x00066734 move v0, zero | v0 = 0;
0x00066738 addiu sp, sp, 0x30 |
0x0006673c jr ra | return v0;
| label_63:
0x00066740 lw ra, 0x2c(sp) | ra = *(var_2ch_2);
0x00066744 sw s2, 0x14(s3) | *((s3 + 5)) = s2;
0x00066748 lw s1, 0x20(sp) | s1 = *(var_20h_2);
0x0006674c lw s3, 0x28(sp) | s3 = *(var_28h_3);
0x00066750 lw s2, 0x24(sp) | s2 = *(var_24h);
0x00066754 lw s0, 0x1c(sp) | s0 = *(var_1ch);
0x00066758 move v0, zero | v0 = 0;
0x0006675c addiu sp, sp, 0x30 |
0x00066760 jr ra | return v0;
| label_64:
0x00066764 lw a1, -0x7fac(gp) | a1 = *(gp);
0x00066768 lw a0, 0x28(s1) | a0 = *((s1 + 10));
0x0006676c lw ra, 0x2c(sp) | ra = *(var_2ch_2);
0x00066770 lw s3, 0x28(sp) | s3 = *(var_28h_3);
0x00066774 lw s2, 0x24(sp) | s2 = *(var_24h);
0x00066778 lw s1, 0x20(sp) | s1 = *(var_20h_2);
0x0006677c move a2, s0 | a2 = s0;
0x00066780 lw t9, -0x7540(gp) | t9 = sym.imp.apr_psprintf;
0x00066784 lw s0, 0x1c(sp) | s0 = *(var_1ch);
| /* str.Unknown_BrotliFilterNote_type__s */
0x00066788 addiu a1, a1, 0x4ee8 | a1 += 0x4ee8;
0x0006678c addiu sp, sp, 0x30 |
0x00066790 jr t9 | t9 ();
| }
0x00066794 lw ra, 0x2c(sp) | ra = *(var_2ch_2);
0x00066798 sw a2, 0x10(s3) | *((s3 + 4)) = a2;
0x0006679c lw s2, 0x24(sp) | s2 = *(var_24h);
0x000667a0 lw s3, 0x28(sp) | s3 = *(var_28h_3);
0x000667a4 lw s1, 0x20(sp) | s1 = *(var_20h_2);
0x000667a8 lw s0, 0x1c(sp) | s0 = *(var_1ch);
0x000667ac move v0, zero | v0 = 0;
0x000667b0 addiu sp, sp, 0x30 |
0x000667b4 jr ra | return v0;
| }
; assembly | /* r2dec pseudo code output */
| /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/sbin/httpd @ 0x6b858 */
| #include <stdint.h>
|
; (fcn) fcn.0006b858 () | void fcn_0006b858 () {
0x0006b858 lui gp, 3 |
0x0006b85c addiu gp, gp, 0x76c8 |
0x0006b860 addu gp, gp, t9 | gp += t9;
0x0006b864 addiu sp, sp, -0x58 |
0x0006b868 lw t9, -0x7adc(gp) | t9 = sym.ap_is_recursion_limit_exceeded;
0x0006b86c sw gp, 0x28(sp) | *(var_28h_2) = gp;
0x0006b870 sw s4, 0x40(sp) | *(var_40h) = s4;
0x0006b874 sw s0, 0x30(sp) | *(var_30h_2) = s0;
0x0006b878 sw ra, 0x54(sp) | *(var_54h) = ra;
0x0006b87c sw fp, 0x50(sp) | *(var_50h) = fp;
0x0006b880 sw s7, 0x4c(sp) | *(var_4ch) = s7;
0x0006b884 sw s6, 0x48(sp) | *(var_48h) = s6;
0x0006b888 sw s5, 0x44(sp) | *(var_44h) = s5;
0x0006b88c sw s3, 0x3c(sp) | *(var_3ch_2) = s3;
0x0006b890 sw s2, 0x38(sp) | *(var_38h_2) = s2;
0x0006b894 sw s1, 0x34(sp) | *(var_34h_2) = s1;
0x0006b898 move s4, a0 | s4 = a0;
0x0006b89c move a0, a1 | a0 = a1;
0x0006b8a0 move s0, a1 | s0 = a1;
0x0006b8a4 jalr t9 | t9 ();
0x0006b8a8 lw gp, 0x28(sp) | gp = *(var_28h_2);
| if (v0 != 0) {
0x0006b8ac bnez v0, 0x6be18 | goto label_14;
| }
0x0006b8b0 lw t9, -0x7544(gp) | t9 = sym.imp.apr_palloc;
0x0006b8b4 lw a0, (s0) | a0 = *(s0);
0x0006b8b8 addiu a1, zero, 0x1e8 | a1 = segment.ABIFLAGS;
0x0006b8bc move fp, v0 | fp = v0;
0x0006b8c0 jalr t9 | t9 ();
0x0006b8c4 lw gp, 0x28(sp) | gp = *(var_28h_2);
0x0006b8c8 addiu a2, zero, 0x1e8 | a2 = segment.ABIFLAGS;
0x0006b8cc move a1, zero | a1 = 0;
0x0006b8d0 lw t9, -0x7308(gp) | t9 = sym.imp.memset;
0x0006b8d4 move a0, v0 | a0 = v0;
0x0006b8d8 jalr t9 | t9 ();
0x0006b8dc lw gp, 0x28(sp) | gp = *(var_28h_2);
0x0006b8e0 move s1, v0 | s1 = v0;
0x0006b8e4 lw t0, 4(s0) | t0 = *((s0 + 1));
0x0006b8e8 lw a3, 8(s0) | a3 = *((s0 + 2));
0x0006b8ec lw a2, 0x4c(s0) | a2 = *((s0 + 19));
0x0006b8f0 lw v1, 0x48(s0) | v1 = *((s0 + 18));
0x0006b8f4 lw v0, (s0) | v0 = *(s0);
0x0006b8f8 lw t9, -0x7dbc(gp) | t9 = sym.ap_make_method_list;
0x0006b8fc sw t0, 4(s1) | *((s1 + 1)) = t0;
0x0006b900 sw a3, 8(s1) | *((s1 + 2)) = a3;
0x0006b904 sw a2, 0x4c(s1) | *((s1 + 19)) = a2;
0x0006b908 sw v1, 0x48(s1) | *((s1 + 18)) = v1;
0x0006b90c addiu a1, zero, 2 | a1 = 2;
0x0006b910 move a0, v0 | a0 = v0;
0x0006b914 sw v0, (s1) | *(s1) = v0;
0x0006b918 bal 0x69fac | sym_ap_make_method_list ();
0x0006b91c lw gp, 0x28(sp) | gp = *(var_28h_2);
0x0006b920 move a1, s4 | a1 = s4;
0x0006b924 sw v0, 0x5c(s1) | *((s1 + 23)) = v0;
0x0006b928 lw t9, -0x7d84(gp) | t9 = sym.ap_parse_uri;
0x0006b92c move a0, s1 | a0 = s1;
0x0006b930 jalr t9 | t9 ();
0x0006b934 lw gp, 0x28(sp) | gp = *(var_28h_2);
0x0006b938 lw v1, 0x144(s0) | v1 = *(s0);
0x0006b93c lhu v0, 0x158(s0) | v0 = *(s0);
0x0006b940 lw a0, (s0) | a0 = *(s0);
0x0006b944 lw t9, -0x7db8(gp) | t9 = sym.ap_create_request_config;
0x0006b948 sw v1, 0x144(s1) | *(s1) = v1;
0x0006b94c sh v0, 0x158(s1) | *(s1) = v0;
0x0006b950 bal 0x4b9ec | sym_ap_create_request_config ();
0x0006b954 lw a0, 8(s0) | a0 = *((s0 + 2));
0x0006b958 lw gp, 0x28(sp) | gp = *(var_28h_2);
0x0006b95c lw a1, 0x1c8(s0) | a1 = *(s0);
0x0006b960 lw a0, 0x1c(a0) | a0 = *((a0 + 7));
0x0006b964 lw v1, 0x1cc(s0) | v1 = *(s0);
0x0006b968 lw t9, -0x7db4(gp) | t9 = sym.ap_run_create_request;
0x0006b96c sw a0, 0x100(s1) | *(s1) = a0;
0x0006b970 sw v0, 0x104(s1) | *(s1) = v0;
0x0006b974 sw s0, 0x10(s1) | *((s1 + 4)) = s0;
0x0006b978 move a0, s1 | a0 = s1;
0x0006b97c sw s1, 0xc(s0) | *((s0 + 3)) = s1;
0x0006b980 sw a1, 0x1c8(s1) | *(s1) = a1;
0x0006b984 sw v1, 0x1cc(s1) | *(s1) = v1;
0x0006b988 jalr t9 | t9 ();
0x0006b98c lw gp, 0x28(sp) | gp = *(var_28h_2);
0x0006b990 lw v1, 0x3c(s0) | v1 = *((s0 + 15));
0x0006b994 lw a1, 0x1d0(s0) | a1 = *(s0);
0x0006b998 lw t8, 0x18(s0) | t8 = *((s0 + 6));
0x0006b99c lw a2, 0x50(s0) | a2 = *((s0 + 20));
0x0006b9a0 lw a3, 0x54(s0) | a3 = *((s0 + 21));
0x0006b9a4 lw t7, 0x44(s0) | t7 = *((s0 + 17));
0x0006b9a8 lw t6, 0x1c(s0) | t6 = *((s0 + 7));
0x0006b9ac lw t5, 0x24(s0) | t5 = *((s0 + 9));
0x0006b9b0 lw t4, 0x2c(s0) | t4 = *((s0 + 11));
0x0006b9b4 lw t3, 0x28(s0) | t3 = *((s0 + 10));
0x0006b9b8 lw t2, 0x30(s0) | t2 = *((s0 + 12));
0x0006b9bc lw v0, 0x38(s0) | v0 = *((s0 + 14));
0x0006b9c0 lw t1, 0x14(s0) | t1 = *((s0 + 5));
0x0006b9c4 lw t0, 0xb0(s0) | t0 = *((s0 + 44));
0x0006b9c8 lw a0, (s0) | a0 = *(s0);
0x0006b9cc lw t9, -0x7440(gp) | t9 = sym.imp.apr_table_make;
0x0006b9d0 sw v1, 0x3c(s1) | *((s1 + 15)) = v1;
0x0006b9d4 sw a1, 0x1d0(s1) | *(s1) = a1;
0x0006b9d8 sw t8, 0x18(s1) | *((s1 + 6)) = t8;
0x0006b9dc sw a2, 0x50(s1) | *((s1 + 20)) = a2;
0x0006b9e0 sw a3, 0x54(s1) | *((s1 + 21)) = a3;
0x0006b9e4 sw t7, 0x44(s1) | *((s1 + 17)) = t7;
0x0006b9e8 sw t6, 0x1c(s1) | *((s1 + 7)) = t6;
0x0006b9ec sw t5, 0x24(s1) | *((s1 + 9)) = t5;
0x0006b9f0 sw t4, 0x2c(s1) | *((s1 + 11)) = t4;
0x0006b9f4 sw t3, 0x28(s1) | *((s1 + 10)) = t3;
0x0006b9f8 sw t2, 0x30(s1) | *((s1 + 12)) = t2;
0x0006b9fc sw v0, 0x38(s1) | *((s1 + 14)) = v0;
0x0006ba00 sw t1, 0x14(s1) | *((s1 + 5)) = t1;
0x0006ba04 sw t0, 0xb0(s1) | *((s1 + 44)) = t0;
0x0006ba08 addiu a1, zero, 0xc | a1 = 0xc;
0x0006ba0c jalr t9 | t9 ();
0x0006ba10 lw v1, 0x44(s1) | v1 = *((s1 + 17));
0x0006ba14 lw gp, 0x28(sp) | gp = *(var_28h_2);
0x0006ba18 addiu v1, v1, -0x12c | v1 += -aav.0x0000012c;
0x0006ba1c sltiu v1, v1, 0x64 | v1 = (v1 < 0x64) ? 1 : 0;
0x0006ba20 sw v0, 0xb4(s1) | *((s1 + 45)) = v0;
| if (v1 != 0) {
0x0006ba24 bnez v1, 0x6bdc4 | goto label_15;
| }
| label_9:
0x0006ba28 lw a1, -0x7fac(gp) | a1 = *(gp);
0x0006ba2c lw t9, -0x7668(gp) | t9 = sym.imp.apr_table_get;
0x0006ba30 lw a0, 0xc0(s0) | a0 = *((s0 + 48));
| /* str.redirect_keeps_vary */
0x0006ba34 addiu a1, a1, 0x72c8 | a1 += 0x72c8;
0x0006ba38 jalr t9 | t9 ();
0x0006ba3c lw gp, 0x28(sp) | gp = *(var_28h_2);
| if (v0 != 0) {
0x0006ba40 beqz v0, 0x6ba78 |
0x0006ba44 lw s2, -0x7fac(gp) | s2 = *(gp);
0x0006ba48 lw t9, -0x7668(gp) | t9 = sym.imp.apr_table_get;
0x0006ba4c lw a0, 0xb4(s0) | a0 = *((s0 + 45));
| /* str.Vary */
0x0006ba50 addiu a1, s2, -0x3c0 | a1 = s2 + -aav.0x000003c0;
0x0006ba54 jalr t9 | t9 ();
0x0006ba58 lw gp, 0x28(sp) | gp = *(var_28h_2);
| if (v0 == 0) {
0x0006ba5c beqz v0, 0x6ba78 | goto label_16;
| }
0x0006ba60 lw t9, -0x7590(gp) | t9 = sym.imp.apr_table_setn;
0x0006ba64 lw a0, 0xb4(s1) | a0 = *((s1 + 45));
0x0006ba68 move a2, v0 | a2 = v0;
| /* str.Vary */
0x0006ba6c addiu a1, s2, -0x3c0 | a1 = s2 + -aav.0x000003c0;
0x0006ba70 jalr t9 | t9 ();
0x0006ba74 lw gp, 0x28(sp) | gp = *(var_28h_2);
| }
| label_16:
0x0006ba78 lw v0, 0xb8(s0) | v0 = *((s0 + 46));
0x0006ba7c lw t9, -0x7440(gp) | t9 = sym.imp.apr_table_make;
0x0006ba80 lw a0, (s0) | a0 = *(s0);
0x0006ba84 addiu a1, zero, 5 | a1 = 5;
0x0006ba88 sw v0, 0xb8(s1) | *((s1 + 46)) = v0;
0x0006ba8c jalr t9 | t9 ();
0x0006ba90 lw gp, 0x28(sp) | gp = *(var_28h_2);
0x0006ba94 lw a0, 0xbc(s0) | a0 = *((s0 + 47));
0x0006ba98 sw v0, 0x1d4(s1) | *(s1) = v0;
0x0006ba9c lw t9, -0x7254(gp) | t9 = sym.imp.apr_table_elts;
0x0006baa0 lw s3, (s0) | s3 = *(s0);
0x0006baa4 jalr t9 | t9 ();
0x0006baa8 lw gp, 0x28(sp) | gp = *(var_28h_2);
0x0006baac move s5, v0 | s5 = v0;
0x0006bab0 lw a1, 0xc(v0) | a1 = *((v0 + 3));
0x0006bab4 lw t9, -0x7440(gp) | t9 = sym.imp.apr_table_make;
0x0006bab8 move a0, s3 | a0 = s3;
0x0006babc lw s2, 0x10(v0) | s2 = *((v0 + 4));
0x0006bac0 jalr t9 | t9 ();
0x0006bac4 lw v1, 8(s5) | v1 = *((s5 + 2));
0x0006bac8 lw gp, 0x28(sp) | gp = *(var_28h_2);
0x0006bacc move s6, v0 | s6 = v0;
| if (v1 <= 0) {
0x0006bad0 blez v1, 0x6bb30 | goto label_17;
| }
0x0006bad4 lw s7, -0x7fac(gp) | s7 = *(gp);
| /* str.REDIRECT_ */
0x0006bad8 addiu s7, s7, 0x72dc | s7 += 0x72dc;
| do {
0x0006badc lw v0, (s2) | v0 = *(s2);
0x0006bae0 lw t9, -0x76e8(gp) | t9 = sym.imp.apr_pstrcat
0x0006bae4 move a3, zero | a3 = 0;
0x0006bae8 move a1, s7 | a1 = s7;
0x0006baec move a0, s3 | a0 = s3;
0x0006baf0 addiu fp, fp, 1 | fp++;
0x0006baf4 move a2, v0 | a2 = v0;
| if (v0 != 0) {
0x0006baf8 beqz v0, 0x6bb24 |
0x0006bafc jalr t9 | t9 ();
0x0006bb00 nop |
0x0006bb04 lw gp, 0x28(sp) | gp = *(var_28h_2);
0x0006bb08 lw a2, 4(s2) | a2 = *((s2 + 1));
0x0006bb0c move a1, v0 | a1 = v0;
0x0006bb10 lw t9, -0x7590(gp) | t9 = sym.imp.apr_table_setn;
0x0006bb14 move a0, s6 | a0 = s6;
0x0006bb18 jalr t9 | t9 ();
0x0006bb1c lw gp, 0x28(sp) | gp = *(var_28h_2);
0x0006bb20 lw v1, 8(s5) | v1 = *((s5 + 2));
| }
0x0006bb24 slt v0, fp, v1 | v0 = (fp < v1) ? 1 : 0;
0x0006bb28 addiu s2, s2, 0xc | s2 += 0xc;
0x0006bb2c bnez v0, 0x6badc |
| } while (v0 != 0);
| label_17:
0x0006bb30 lw t9, -0x7440(gp) | t9 = sym.imp.apr_table_make;
0x0006bb34 lw a0, (s0) | a0 = *(s0);
0x0006bb38 addiu a1, zero, 5 | a1 = 5;
0x0006bb3c sw s6, 0xbc(s1) | *((s1 + 47)) = s6;
0x0006bb40 jalr t9 | t9 ();
0x0006bb44 lw t4, 0x110(s0) | t4 = *(s0);
0x0006bb48 lw t3, 0x124(s0) | t3 = *(s0);
0x0006bb4c lw t2, 0x94(s0) | t2 = *((s0 + 37));
0x0006bb50 lw t1, 0x128(s0) | t1 = *(s0);
0x0006bb54 lw a2, 0xa8(s0) | a2 = *((s0 + 42));
0x0006bb58 lw a3, 0xac(s0) | a3 = *((s0 + 43));
0x0006bb5c lw t0, 0xd4(s0) | t0 = *((s0 + 53));
0x0006bb60 lw a0, 0x11c(s0) | a0 = *(s0);
0x0006bb64 lw v1, 0x120(s0) | v1 = *(s0);
0x0006bb68 lw a1, 0x14(s1) | a1 = *((s1 + 5));
0x0006bb6c lw gp, 0x28(sp) | gp = *(var_28h_2);
0x0006bb70 sw v0, 0xc0(s1) | *((s1 + 48)) = v0;
0x0006bb74 sw t4, 0x110(s1) | *(s1) = t4;
0x0006bb78 sw t3, 0x124(s1) | *(s1) = t3;
0x0006bb7c sw t2, 0x94(s1) | *((s1 + 37)) = t2;
0x0006bb80 sw t1, 0x128(s1) | *(s1) = t1;
0x0006bb84 sw a2, 0xa8(s1) | *((s1 + 42)) = a2;
0x0006bb88 sw a3, 0xac(s1) | *((s1 + 43)) = a3;
0x0006bb8c sw t0, 0xd4(s1) | *((s1 + 53)) = t0;
0x0006bb90 sw a0, 0x11c(s1) | *(s1) = a0;
0x0006bb94 sw v1, 0x120(s1) | *(s1) = v1;
0x0006bb98 sw v1, 0x118(s1) | *(s1) = v1;
| if (a1 == 0) {
0x0006bb9c beqz a1, 0x6bdfc | goto label_18;
| }
0x0006bba0 lw s2, 0x114(s0) | s2 = *(s0);
0x0006bba4 lw s6, -0x7fac(gp) | s6 = *(gp);
0x0006bba8 lw s5, -0x7fac(gp) | s5 = *(gp);
0x0006bbac lw s7, -0x7bdc(gp) | s7 = *(gp);
0x0006bbb0 sw s2, 0x114(s1) | *(s1) = s2;
| /* str.AH01582:_dropping_filter__s_in_internal_redirect_from__s_to__s */
0x0006bbb4 addiu s6, s6, 0x72e8 | s6 += 0x72e8;
| /* str._usr_src_debug_apache2_2.4.57_r0_httpd_2.4.57_modules_http_http_request.c */
0x0006bbb8 addiu s5, s5, 0x7100 | s5 += 0x7100;
0x0006bbbc b 0x6bbd4 |
| if (s3 == 0) {
| while (v0 != s0) {
| label_0:
0x0006bbc0 beql s3, zero, 0x6bc48 | goto label_19;
| }
0x0006bbc4 lw v1, 0x118(s1) | v1 = *(s1);
| label_1:
0x0006bbc8 lw v0, 0x11c(s1) | v0 = *(s1);
0x0006bbcc move s2, s3 | s2 = s3;
| if (v0 == s3) {
0x0006bbd0 beq v0, s3, 0x6bc44 | goto label_20;
| }
0x0006bbd4 lw v0, 0xc(s2) | v0 = *((s2 + 3));
0x0006bbd8 lw s3, 8(s2) | s3 = *((s2 + 2));
0x0006bbdc bne v0, s0, 0x6bbc0 |
| }
0x0006bbe0 lw a0, (s2) | a0 = *(s2);
0x0006bbe4 lw v0, (s7) | v0 = *(s7);
0x0006bbe8 lw v0, -0x7838(gp) | v0 = *(gp);
| if (a0 == v0) {
0x0006bbec beq a0, v0, 0x6bbc0 | goto label_0;
| }
0x0006bbf0 lw a2, 8(v0) | a2 = *((v0 + 2));
0x0006bbf4 lw v1, 0x108(s0) | v1 = *(s0);
| if (a2 < 0) {
0x0006bbf8 bltz a2, 0x6bdb4 | goto label_21;
| }
| if (v1 == 0) {
0x0006bbfc beql v1, zero, 0x6bd28 | goto label_22;
| }
0x0006bc00 lw a1, 4(s0) | a1 = *((s0 + 1));
0x0006bc04 lw v0, (v1) | v0 = *(v1);
0x0006bc08 addu v0, v0, a2 | v0 += a2;
| if (v0 == 0) {
0x0006bc0c beqz v0, 0x6bd64 | goto label_12;
| }
0x0006bc10 lb v0, (v0) | v0 = *(v0);
| if (v0 < 0) {
0x0006bc14 bltzl v0, 0x6bd68 | goto label_7;
| }
0x0006bc18 lw v0, 4(v1) | v0 = *((v1 + 1));
0x0006bc1c slti v0, v0, 7 | v0 = (v0 < 7) ? 1 : 0;
| label_4:
0x0006bc20 xori v0, v0, 1 | v0 ^= 1;
0x0006bc24 lw v0, 0xe0(s0) | v0 = *((s0 + 56));
| if (v0 == 0) {
0x0006bc28 bnel v0, zero, 0x6bd7c | goto label_23;
| }
| label_6:
0x0006bc2c lw t9, -0x7e34(gp) | t9 = sym.ap_remove_output_filter;
| label_5:
0x0006bc30 sw s1, 0xc(s2) | *((s2 + 3)) = s1;
0x0006bc34 move a0, s2 | a0 = s2;
0x0006bc38 jalr t9 | t9 ();
0x0006bc3c lw gp, 0x28(sp) | gp = *(var_28h_2);
| if (s3 != 0) {
0x0006bc40 bnez s3, 0x6bbc8 | goto label_1;
| }
| label_20:
0x0006bc44 lw v1, 0x118(s1) | v1 = *(s1);
| label_19:
0x0006bc48 lw a0, 0x114(s1) | a0 = *(s1);
| if (v1 == 0) {
| label_10:
0x0006bc4c beqz v1, 0x6bc6c | goto label_24;
| }
0x0006bc50 nop |
0x0006bc54 lw v0, 0xc(v1) | v0 = *((v1 + 3));
| if (s0 == v0) {
| do {
0x0006bc58 beql s0, v0, 0x6bd18 | goto label_25;
| }
0x0006bc5c sw s1, 0xc(v1) | *((v1 + 3)) = s1;
0x0006bc60 lw v1, 8(v1) | v1 = *((v1 + 2));
| label_2:
0x0006bc64 lw v0, 0xc(v1) | v0 = *((v1 + 3));
0x0006bc68 bnel v1, zero, 0x6bc58 |
| } while (v1 == 0);
| label_24:
0x0006bc6c lw t9, -0x72d8(gp) | t9 = sym.imp.apr_itoa;
| if (a0 == 0) {
0x0006bc70 beqz a0, 0x6bc90 | goto label_26;
| }
0x0006bc74 lw v0, 0xc(a0) | v0 = *((a0 + 3));
| if (s0 == v0) {
| do {
0x0006bc78 beql s0, v0, 0x6bd20 | goto label_27;
| }
0x0006bc7c sw s1, 0xc(a0) | *((a0 + 3)) = s1;
0x0006bc80 lw a0, 8(a0) | a0 = *((a0 + 2));
| label_3:
0x0006bc84 lw v0, 0xc(a0) | v0 = *((a0 + 3));
0x0006bc88 bnel a0, zero, 0x6bc78 |
| } while (a0 == 0);
0x0006bc8c lw t9, -0x72d8(gp) | t9 = sym.imp.apr_itoa;
| label_26:
0x0006bc90 lw a1, 0x44(s0) | a1 = *((s0 + 17));
0x0006bc94 lw a0, (s0) | a0 = *(s0);
0x0006bc98 lw s2, 0xbc(s1) | s2 = *((s1 + 47));
0x0006bc9c jalr t9 | t9 ();
0x0006bca0 lw gp, 0x28(sp) | gp = *(var_28h_2);
0x0006bca4 move a2, v0 | a2 = v0;
0x0006bca8 move a0, s2 | a0 = s2;
0x0006bcac lw a1, -0x7fac(gp) | a1 = *(gp);
0x0006bcb0 lw t9, -0x7590(gp) | t9 = sym.imp.apr_table_setn;
| /* str.REDIRECT_STATUS */
0x0006bcb4 addiu a1, a1, 0x732c | a1 += 0x732c;
0x0006bcb8 jalr t9 | t9 ();
0x0006bcbc lw gp, 0x28(sp) | gp = *(var_28h_2);
0x0006bcc0 lw v0, 0x12c(s0) | v0 = *(s0);
0x0006bcc4 addiu v1, zero, 2 | v1 = 2;
0x0006bcc8 lw t9, -0x7d60(gp) | t9 = sym.ap_post_read_request;
0x0006bccc sw v1, 0xf8(s1) | *((s1 + 62)) = v1;
0x0006bcd0 sw v0, 0x12c(s1) | *(s1) = v0;
0x0006bcd4 move a0, s1 | a0 = s1;
0x0006bcd8 jalr t9 | t9 ();
0x0006bcdc lw gp, 0x28(sp) | gp = *(var_28h_2);
| if (v0 != 0) {
0x0006bce0 bnez v0, 0x6be68 | goto label_28;
| }
| label_13:
0x0006bce4 lw ra, 0x54(sp) | ra = *(var_54h);
0x0006bce8 move v0, s1 | v0 = s1;
0x0006bcec lw fp, 0x50(sp) | fp = *(var_50h);
0x0006bcf0 lw s7, 0x4c(sp) | s7 = *(var_4ch);
0x0006bcf4 lw s6, 0x48(sp) | s6 = *(var_48h);
0x0006bcf8 lw s5, 0x44(sp) | s5 = *(var_44h);
0x0006bcfc lw s4, 0x40(sp) | s4 = *(var_40h);
0x0006bd00 lw s3, 0x3c(sp) | s3 = *(var_3ch_2);
0x0006bd04 lw s2, 0x38(sp) | s2 = *(var_38h_2);
0x0006bd08 lw s1, 0x34(sp) | s1 = *(var_34h_2);
0x0006bd0c lw s0, 0x30(sp) | s0 = *(var_30h_2);
0x0006bd10 addiu sp, sp, 0x58 |
0x0006bd14 jr ra | return v0;
| label_25:
0x0006bd18 lw v1, 8(v1) | v1 = *((v1 + 2));
0x0006bd1c b 0x6bc64 | goto label_2;
| label_27:
0x0006bd20 lw a0, 8(a0) | a0 = *((a0 + 2));
0x0006bd24 b 0x6bc84 | goto label_3;
| label_22:
0x0006bd28 lw v1, 0x60(a1) | v1 = *((a1 + 24));
| if (v1 == 0) {
0x0006bd2c beql v1, zero, 0x6be04 | goto label_29;
| }
0x0006bd30 lw v1, 8(s0) | v1 = *((s0 + 2));
0x0006bd34 lw v0, (v1) | v0 = *(v1);
| if (v0 == 0) {
0x0006bd38 beql v0, zero, 0x6bd68 | goto label_7;
| }
0x0006bd3c lw v0, 4(v1) | v0 = *((v1 + 1));
0x0006bd40 addu v0, v0, a2 | v0 += a2;
| label_11:
0x0006bd44 lb v0, (v0) | v0 = *(v0);
0x0006bd48 slti v0, v0, 7 | v0 = (v0 < 7) ? 1 : 0;
| if (v0 >= 0) {
0x0006bd4c bgez v0, 0x6bc20 | goto label_4;
| }
| label_8:
0x0006bd50 lw v1, 0x60(a1) | v1 = *((a1 + 24));
0x0006bd54 lw v0, 4(v1) | v0 = *((v1 + 1));
| if (v1 != 0) {
0x0006bd58 bnel v1, zero, 0x6bd68 |
0x0006bd5c lw v1, 8(s0) | v1 = *((s0 + 2));
0x0006bd60 addiu v1, v1, 0x10 | v1 += 0x10;
| label_12:
0x0006bd64 lw v0, 4(v1) | v0 = *((v1 + 1));
| }
| label_7:
0x0006bd68 slti v0, v0, 7 | v0 = (v0 < 7) ? 1 : 0;
0x0006bd6c xori v0, v0, 1 | v0 ^= 1;
0x0006bd70 lw t9, -0x7e34(gp) | t9 = sym.ap_remove_output_filter;
| if (v0 == 0) {
0x0006bd74 beqz v0, 0x6bc30 | goto label_5;
| }
0x0006bd78 lw v0, 0xe0(s0) | v0 = *((s0 + 56));
| label_23:
0x0006bd7c sw s4, 0x24(sp) | *(var_24h) = s4;
0x0006bd80 sw v0, 0x20(sp) | *(var_20h_2) = v0;
0x0006bd84 lw v0, (a0) | v0 = *(a0);
0x0006bd88 lw t9, -0x7f08(gp) | t9 = sym.ap_log_rerror_;
0x0006bd8c sw v0, 0x1c(sp) | *(var_1ch) = v0;
0x0006bd90 sw s6, 0x18(sp) | *(var_18h) = s6;
0x0006bd94 sw s0, 0x14(sp) | *(var_14h) = s0;
0x0006bd98 sw zero, 0x10(sp) | *(var_10h) = 0;
0x0006bd9c addiu a3, zero, 7 | a3 = 7;
0x0006bda0 addiu a1, zero, 0x280 | a1 = aav.0x00000280;
0x0006bda4 move a0, s5 | a0 = s5;
0x0006bda8 bal 0x530a8 | sym_ap_log_rerror_ ();
0x0006bdac lw gp, 0x28(sp) | gp = *(var_28h_2);
0x0006bdb0 b 0x6bc2c | goto label_6;
| label_21:
0x0006bdb4 lw v0, 4(v1) | v0 = *((v1 + 1));
| if (v1 == 0) {
0x0006bdb8 bnel v1, zero, 0x6bd68 | goto label_7;
| }
0x0006bdbc lw a1, 4(s0) | a1 = *((s0 + 1));
0x0006bdc0 b 0x6bd50 | goto label_8;
| label_15:
0x0006bdc4 lw s2, -0x7fac(gp) | s2 = *(gp);
0x0006bdc8 lw t9, -0x7668(gp) | t9 = sym.imp.apr_table_get;
0x0006bdcc lw a0, 0xb4(s0) | a0 = *((s0 + 45));
| /* esilref: 'Location' */
0x0006bdd0 addiu a1, s2, -0x58e8 | a1 = s2 + -0x58e8;
0x0006bdd4 jalr t9 | t9 ();
0x0006bdd8 lw gp, 0x28(sp) | gp = *(var_28h_2);
| if (v0 == 0) {
0x0006bddc beqz v0, 0x6ba28 | goto label_9;
| }
0x0006bde0 lw t9, -0x7590(gp) | t9 = sym.imp.apr_table_setn;
0x0006bde4 lw a0, 0xb4(s1) | a0 = *((s1 + 45));
0x0006bde8 move a2, v0 | a2 = v0;
| /* esilref: 'Location' */
0x0006bdec addiu a1, s2, -0x58e8 | a1 = s2 + -0x58e8;
0x0006bdf0 jalr t9 | t9 ();
0x0006bdf4 lw gp, 0x28(sp) | gp = *(var_28h_2);
0x0006bdf8 b 0x6ba28 | goto label_9;
| label_18:
0x0006bdfc sw a0, 0x114(s1) | *(s1) = a0;
0x0006be00 b 0x6bc4c | goto label_10;
| label_29:
0x0006be04 lw v0, 0x10(v1) | v0 = *((v1 + 4));
0x0006be08 addu v0, v0, a2 | v0 += a2;
| if (v0 != 0) {
0x0006be0c bnez v0, 0x6bd44 | goto label_11;
| }
0x0006be10 addiu v1, v1, 0x10 | v1 += 0x10;
0x0006be14 b 0x6bd64 | goto label_12;
| label_14:
0x0006be18 lw t9, -0x7fd4(gp) | t9 = *(gp);
0x0006be1c lw a2, 0x44(s0) | a2 = *((s0 + 17));
0x0006be20 move a1, s0 | a1 = s0;
| /* fcn.0006ac74 */
0x0006be24 addiu t9, t9, -0x538c | t9 += -0x538c;
0x0006be28 addiu a0, zero, 0x1f4 | a0 = aav.0x000001f4;
0x0006be2c bal 0x6ac74 | fcn_0006ac74 ();
0x0006be30 lw ra, 0x54(sp) | ra = *(var_54h);
0x0006be34 move s1, zero | s1 = 0;
0x0006be38 move v0, s1 | v0 = s1;
0x0006be3c lw fp, 0x50(sp) | fp = *(var_50h);
0x0006be40 lw s7, 0x4c(sp) | s7 = *(var_4ch);
0x0006be44 lw s6, 0x48(sp) | s6 = *(var_48h);
0x0006be48 lw s5, 0x44(sp) | s5 = *(var_44h);
0x0006be4c lw s4, 0x40(sp) | s4 = *(var_40h);
0x0006be50 lw s3, 0x3c(sp) | s3 = *(var_3ch_2);
0x0006be54 lw s2, 0x38(sp) | s2 = *(var_38h_2);
0x0006be58 lw s1, 0x34(sp) | s1 = *(var_34h_2);
0x0006be5c lw s0, 0x30(sp) | s0 = *(var_30h_2);
0x0006be60 addiu sp, sp, 0x58 |
0x0006be64 jr ra | return v0;
| label_28:
0x0006be68 lw t9, -0x7fd4(gp) | t9 = *(gp);
0x0006be6c lw a2, 0x44(s1) | a2 = *((s1 + 17));
0x0006be70 move a1, s1 | a1 = s1;
| /* fcn.0006b100 */
0x0006be74 addiu t9, t9, -0x4f00 | t9 += -aav.0x00004f00;
0x0006be78 move a0, v0 | a0 = v0;
0x0006be7c bal 0x6b100 | fcn_0006b100 ();
0x0006be80 move s1, zero | s1 = 0;
0x0006be84 b 0x6bce4 | goto label_13;
| }
; assembly | /* r2dec pseudo code output */
| /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/sbin/httpd @ 0x6cc38 */
| #include <stdint.h>
|
; (fcn) fcn.0006cc38 () | void fcn_0006cc38 () {
0x0006cc38 lui gp, 3 |
0x0006cc3c addiu gp, gp, 0x62e8 |
0x0006cc40 addu gp, gp, t9 | gp += t9;
0x0006cc44 addiu sp, sp, -0x40 |
0x0006cc48 sw s2, 0x2c(sp) | *(var_2ch) = s2;
0x0006cc4c lw s2, -0x7534(gp) | s2 = *(gp);
0x0006cc50 sw s1, 0x28(sp) | *(var_28h) = s1;
0x0006cc54 lw s1, 0x40(a0) | s1 = *((a0 + 16));
0x0006cc58 lw v0, (s2) | v0 = *(s2);
0x0006cc5c sw gp, 0x10(sp) | *(var_10h) = gp;
0x0006cc60 sw s3, 0x30(sp) | *(var_30h) = s3;
0x0006cc64 sw s0, 0x24(sp) | *(var_24h) = s0;
0x0006cc68 sw ra, 0x3c(sp) | *(var_3ch) = ra;
0x0006cc6c sw s5, 0x38(sp) | *(var_38h) = s5;
0x0006cc70 sw s4, 0x34(sp) | *(var_34h) = s4;
0x0006cc74 move s0, a0 | s0 = a0;
0x0006cc78 move s3, a1 | s3 = a1;
0x0006cc7c sw v0, 0x1c(sp) | *(var_1ch) = v0;
0x0006cc80 lw t9, -0x74c4(gp) | t9 = sym.imp.strlen;
| if (s1 == 0) {
0x0006cc84 beqz s1, 0x6ce50 | goto label_5;
| }
0x0006cc88 move a0, s1 | a0 = s1;
0x0006cc8c jalr t9 | t9 ();
0x0006cc90 move s4, v0 | s4 = v0;
0x0006cc94 sltiu v0, v0, 3 | v0 = (v0 < 3) ? 1 : 0;
0x0006cc98 lw gp, 0x10(sp) | gp = *(var_10h);
| if (v0 != 0) {
0x0006cc9c bnez v0, 0x6cd98 | goto label_6;
| }
0x0006cca0 lw t9, -0x7424(gp) | t9 = sym.imp.apr_strtoi64;
0x0006cca4 move a0, s1 | a0 = s1;
0x0006cca8 addiu a2, zero, 0xa | a2 = 0xa;
0x0006ccac addiu a1, sp, 0x18 | a1 = sp + 0x18;
0x0006ccb0 jalr t9 | t9 ();
0x0006ccb4 lw s1, 0x44(s0) | s1 = *((s0 + 17));
0x0006ccb8 lw gp, 0x10(sp) | gp = *(var_10h);
0x0006ccbc sra a0, s1, 0x1f | a0 = s1 >> 0x1f;
| if (v0 != s1) {
0x0006ccc0 bne v0, s1, 0x6cd9c | goto label_7;
| }
0x0006ccc4 lw v0, 0x18(sp) | v0 = *(var_18h_2);
| if (v1 != a0) {
0x0006ccc8 bne v1, a0, 0x6cd9c | goto label_7;
| }
0x0006cccc lw s5, 0x40(s0) | s5 = *((s0 + 16));
0x0006ccd0 addiu v0, v0, -3 | v0 += -3;
0x0006ccd4 addiu v0, zero, 3 | v0 = 3;
| if (s5 != v0) {
0x0006ccd8 bne s5, v0, 0x6cd9c | goto label_7;
| }
0x0006ccdc lw t9, -0x744c(gp) | t9 = *(gp);
| if (s4 != v0) {
0x0006cce0 bne s4, v0, 0x6ce20 | goto label_8;
| }
0x0006cce4 lw a2, -0x7fac(gp) | a2 = *(gp);
0x0006cce8 lw t9, -0x76e8(gp) | t9 = sym.imp.apr_pstrcat
0x0006ccec lw a0, (s0) | a0 = *(s0);
0x0006ccf0 move a3, zero | a3 = 0;
0x0006ccf4 addiu a2, a2, 0x6730 | a2 += 0x6730;
0x0006ccf8 move a1, s5 | a1 = s5;
0x0006ccfc jalr t9 | t9 ();
0x0006cd00 lw gp, 0x10(sp) | gp = *(var_10h);
0x0006cd04 sw v0, 0x40(s0) | *((s0 + 16)) = v0;
| if (v0 == 0) {
0x0006cd08 beqz v0, 0x6ce50 | goto label_5;
| }
0x0006cd0c lw t9, -0x7ce0(gp) | t9 = sym.ap_get_status_line;
0x0006cd10 lw a0, 0x44(s0) | a0 = *((s0 + 17));
0x0006cd14 bal 0x69360 | sym_ap_get_status_line ();
0x0006cd18 lw gp, 0x10(sp) | gp = *(var_10h);
0x0006cd1c lw a1, 0x40(s0) | a1 = *((s0 + 16));
0x0006cd20 addiu a2, zero, 3 | a2 = 3;
0x0006cd24 lw t9, -0x76c4(gp) | t9 = sym.imp.strncmp;
0x0006cd28 move a0, v0 | a0 = v0;
0x0006cd2c move s1, v0 | s1 = v0;
0x0006cd30 jalr t9 | t9 ();
0x0006cd34 lw gp, 0x10(sp) | gp = *(var_10h);
| if (v0 == 0) {
0x0006cd38 bnez v0, 0x6cd40 |
0x0006cd3c sw s1, 0x40(s0) | *((s0 + 16)) = s1;
| }
| label_2:
0x0006cd40 lw v0, 0x28(s0) | v0 = *((s0 + 10));
0x0006cd44 slti v1, v0, 0x3e9 | v1 = (v0 < 0x3e9) ? 1 : 0;
0x0006cd48 lw a1, -0x7fac(gp) | a1 = *(gp);
| if (v1 == 0) {
0x0006cd4c beqz v1, 0x6cdc8 | goto label_9;
| }
| label_4:
0x0006cd50 addiu v1, zero, 0x3e8 | v1 = aav.0x000003e8;
| do {
0x0006cd54 lw a1, -0x7fac(gp) | a1 = *(gp);
| if (v0 == v1) {
0x0006cd58 beq v0, v1, 0x6cdec | goto label_10;
| }
| label_0:
0x0006cd5c lw v0, -0x7fac(gp) | v0 = *(gp);
| /* str.HTTP_1.1 */
0x0006cd60 addiu v0, v0, 0x73fc | v0 += 0x73fc;
0x0006cd64 sw v0, (s3) | *(s3) = v0;
| label_1:
0x0006cd68 lw v1, 0x1c(sp) | v1 = *(var_1ch);
0x0006cd6c lw v0, (s2) | v0 = *(s2);
0x0006cd70 lw ra, 0x3c(sp) | ra = *(var_3ch);
| if (v1 != v0) {
0x0006cd74 bne v1, v0, 0x6ce60 | goto label_11;
| }
0x0006cd78 lw s5, 0x38(sp) | s5 = *(var_38h);
0x0006cd7c lw s4, 0x34(sp) | s4 = *(var_34h);
0x0006cd80 lw s3, 0x30(sp) | s3 = *(var_30h);
0x0006cd84 lw s2, 0x2c(sp) | s2 = *(var_2ch);
0x0006cd88 lw s1, 0x28(sp) | s1 = *(var_28h);
0x0006cd8c lw s0, 0x24(sp) | s0 = *(var_24h);
0x0006cd90 addiu sp, sp, 0x40 |
0x0006cd94 jr ra | return v0;
| label_6:
0x0006cd98 lw s1, 0x44(s0) | s1 = *((s0 + 17));
| label_7:
0x0006cd9c sw zero, 0x40(s0) | *((s0 + 16)) = 0;
| label_3:
0x0006cda0 lw t9, -0x7ce0(gp) | t9 = sym.ap_get_status_line;
0x0006cda4 move a0, s1 | a0 = s1;
0x0006cda8 bal 0x69360 | sym_ap_get_status_line ();
0x0006cdac lw gp, 0x10(sp) | gp = *(var_10h);
0x0006cdb0 sw v0, 0x40(s0) | *((s0 + 16)) = v0;
0x0006cdb4 lw v0, 0x28(s0) | v0 = *((s0 + 10));
0x0006cdb8 slti v1, v0, 0x3e9 | v1 = (v0 < 0x3e9) ? 1 : 0;
0x0006cdbc addiu v1, zero, 0x3e8 | v1 = aav.0x000003e8;
0x0006cdc0 bnez v1, 0x6cd54 |
| } while (v1 != 0);
0x0006cdc4 lw a1, -0x7fac(gp) | a1 = *(gp);
| label_9:
0x0006cdc8 lw t9, -0x7668(gp) | t9 = sym.imp.apr_table_get;
0x0006cdcc lw a0, 0xbc(s0) | a0 = *((s0 + 47));
| /* str.downgrade_1.0 */
0x0006cdd0 addiu a1, a1, 0x73d8 | a1 += 0x73d8;
0x0006cdd4 jalr t9 | t9 ();
0x0006cdd8 lw gp, 0x10(sp) | gp = *(var_10h);
| if (v0 == 0) {
0x0006cddc beqz v0, 0x6ce58 | goto label_12;
| }
0x0006cde0 addiu v0, zero, 0x3e8 | v0 = aav.0x000003e8;
0x0006cde4 sw v0, 0x28(s0) | *((s0 + 10)) = v0;
0x0006cde8 lw a1, -0x7fac(gp) | a1 = *(gp);
| label_10:
0x0006cdec lw t9, -0x7668(gp) | t9 = sym.imp.apr_table_get;
0x0006cdf0 lw a0, 0xbc(s0) | a0 = *((s0 + 47));
| /* str.force_response_1.0 */
0x0006cdf4 addiu a1, a1, 0x73e8 | a1 += 0x73e8;
0x0006cdf8 jalr t9 | t9 ();
0x0006cdfc lw gp, 0x10(sp) | gp = *(var_10h);
| if (v0 == 0) {
0x0006ce00 beqz v0, 0x6cd5c | goto label_0;
| }
0x0006ce04 lw v0, -0x7fac(gp) | v0 = *(gp);
0x0006ce08 lw v1, 4(s0) | v1 = *((s0 + 1));
| /* str.HTTP_1.0 */
0x0006ce0c addiu v0, v0, -0x53f8 | v0 += -0x53f8;
0x0006ce10 sw v0, (s3) | *(s3) = v0;
0x0006ce14 addiu v0, zero, 1 | v0 = 1;
0x0006ce18 sw v0, 0x58(v1) | *((v1 + 22)) = v0;
0x0006ce1c b 0x6cd68 | goto label_1;
| label_8:
0x0006ce20 jalr t9 | t9 ();
0x0006ce24 nop |
0x0006ce28 lbu v1, 3(s5) | v1 = *((s5 + 3));
0x0006ce2c lw v0, (v0) | v0 = *(v0);
0x0006ce30 sll v1, v1, 1 | v1 <<= 1;
0x0006ce34 addu v0, v0, v1 | v0 += v1;
0x0006ce38 lhu v0, (v0) | v0 = *(v0);
0x0006ce3c andi v0, v0, 0x2000 | v0 &= aav.0x00002000;
0x0006ce40 lw gp, 0x10(sp) | gp = *(var_10h);
| if (v0 != 0) {
0x0006ce44 bnez v0, 0x6cd40 | goto label_2;
| }
0x0006ce48 sw zero, 0x40(s0) | *((s0 + 16)) = 0;
0x0006ce4c b 0x6cda0 | goto label_3;
| label_5:
0x0006ce50 lw s1, 0x44(s0) | s1 = *((s0 + 17));
0x0006ce54 b 0x6cda0 | goto label_3;
| label_12:
0x0006ce58 lw v0, 0x28(s0) | v0 = *((s0 + 10));
0x0006ce5c b 0x6cd50 | goto label_4;
| label_11:
0x0006ce60 lw t9, -0x75e8(gp) | t9 = sym.imp.__stack_chk_fail;
0x0006ce64 jalr t9 | t9 ();
0x0006ce68 nop |
| }
; assembly | /* r2dec pseudo code output */
| /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/sbin/httpd @ 0x55024 */
| #include <stdint.h>
|
; (fcn) sym.ap_add_cgi_vars () | void ap_add_cgi_vars () {
0x00055024 lui gp, 5 |
0x00055028 addiu gp, gp, -0x2104 |
0x0005502c addu gp, gp, t9 | gp += t9;
0x00055030 addiu sp, sp, -0x38 |
0x00055034 lw v0, 0x100(a0) | v0 = *(a0);
0x00055038 lw a2, -0x7fac(gp) | a2 = *(gp);
0x0005503c lw a1, -0x7fac(gp) | a1 = *(gp);
0x00055040 sw s3, 0x28(sp) | *(var_28h) = s3;
0x00055044 lw s3, 0xbc(a0) | s3 = *((a0 + 47));
0x00055048 lw t9, -0x7590(gp) | t9 = sym.imp.apr_table_setn;
0x0005504c sw ra, 0x34(sp) | *(var_34h) = ra;
0x00055050 sw gp, 0x10(sp) | *(var_10h) = gp;
0x00055054 sw s1, 0x20(sp) | *(var_20h) = s1;
0x00055058 sw s0, 0x1c(sp) | *(var_1ch) = s0;
0x0005505c move s1, a0 | s1 = a0;
| /* str.CGI_1.1 */
0x00055060 addiu a2, a2, 0x15c4 | a2 += aav.0x000015c4;
| /* str.GATEWAY_INTERFACE */
0x00055064 addiu a1, a1, 0x15cc | a1 += 0x15cc;
0x00055068 move a0, s3 | a0 = s3;
0x0005506c sw s5, 0x30(sp) | *(var_30h) = s5;
0x00055070 sw s4, 0x2c(sp) | *(var_2ch) = s4;
0x00055074 sw s2, 0x24(sp) | *(var_24h) = s2;
0x00055078 lw s0, (v0) | s0 = *(v0);
0x0005507c jalr t9 | t9 ();
0x00055080 lw gp, 0x10(sp) | gp = *(var_10h);
0x00055084 lw a2, 0x2c(s1) | a2 = *((s1 + 11));
0x00055088 move a0, s3 | a0 = s3;
0x0005508c lw a1, -0x7fac(gp) | a1 = *(gp);
0x00055090 lw t9, -0x7590(gp) | t9 = sym.imp.apr_table_setn;
| /* str.SERVER_PROTOCOL */
0x00055094 addiu a1, a1, -0x158 | a1 += -aav.0x00000158;
0x00055098 jalr t9 | t9 ();
0x0005509c lw gp, 0x10(sp) | gp = *(var_10h);
0x000550a0 lw a2, 0x4c(s1) | a2 = *((s1 + 19));
0x000550a4 move a0, s3 | a0 = s3;
0x000550a8 lw a1, -0x7fac(gp) | a1 = *(gp);
0x000550ac lw t9, -0x7590(gp) | t9 = sym.imp.apr_table_setn;
| /* str.REQUEST_METHOD */
0x000550b0 addiu a1, a1, -0x1dc | a1 += -aav.0x000001dc;
0x000550b4 jalr t9 | t9 ();
0x000550b8 lw a2, 0xf4(s1) | a2 = *((s1 + 61));
0x000550bc lw gp, 0x10(sp) | gp = *(var_10h);
| if (a2 == 0) {
0x000550c0 beqz a2, 0x552e4 | goto label_4;
| }
| label_2:
0x000550c4 lw a1, -0x7fac(gp) | a1 = *(gp);
0x000550c8 lw t9, -0x7590(gp) | t9 = sym.imp.apr_table_setn;
0x000550cc move a0, s3 | a0 = s3;
| /* str.QUERY_STRING */
0x000550d0 addiu a1, a1, -0x12c | a1 += -aav.0x0000012c;
0x000550d4 jalr t9 | t9 ();
0x000550d8 lw gp, 0x10(sp) | gp = *(var_10h);
0x000550dc lw a0, 0x88(s0) | a0 = *((s0 + 34));
0x000550e0 lw s4, -0x7fac(gp) | s4 = *(gp);
| if (a0 != 0) {
0x000550e4 beqz a0, 0x55124 |
0x000550e8 lw t9, -0x7200(gp) | t9 = sym.imp.apr_hash_get;
0x000550ec addiu a2, zero, -1 | a2 = -1;
| /* str.REQUEST_URI */
0x000550f0 addiu a1, s4, -0x4b88 | a1 = s4 + -0x4b88;
0x000550f4 jalr t9 | t9 ();
0x000550f8 lw gp, 0x10(sp) | gp = *(var_10h);
| if (v0 == 0) {
0x000550fc beqz v0, 0x55124 | goto label_5;
| }
0x00055100 lw a1, -0x7fac(gp) | a1 = *(gp);
0x00055104 lw t9, -0x7740(gp) | t9 = sym.imp.strcmp;
| /* str.current_uri */
0x00055108 addiu a1, a1, -0x4b7c | a1 += -0x4b7c;
0x0005510c move a0, v0 | a0 = v0;
0x00055110 jalr t9 | t9 ();
0x00055114 lw gp, 0x10(sp) | gp = *(var_10h);
| if (v0 != 0) {
0x00055118 bnez v0, 0x55124 | goto label_5;
| }
0x0005511c lw a2, 0xe4(s1) | a2 = *((s1 + 57));
0x00055120 b 0x551f8 | goto label_3;
| }
| label_5:
0x00055124 lw s2, 0x18(s1) | s2 = *((s1 + 6));
0x00055128 lw s5, (s1) | s5 = *(s1);
| if (s2 == 0) {
0x0005512c beqz s2, 0x553e4 | goto label_6;
| }
0x00055130 lw t9, -0x744c(gp) | t9 = *(gp);
0x00055134 lb s0, (s2) | s0 = *(s2);
0x00055138 jalr t9 | t9 ();
0x0005513c lw v1, (v0) | v1 = *(v0);
0x00055140 lw gp, 0x10(sp) | gp = *(var_10h);
| if (s0 != 0) {
0x00055144 bnez s0, 0x5515c | goto label_7;
| }
0x00055148 andi v0, s0, 0xff | v0 = s0 & 0xff;
0x0005514c b 0x55180 | goto label_8;
| do {
0x00055150 lb s0, (s2) | s0 = *(s2);
0x00055154 andi v0, s0, 0xff | v0 = s0 & 0xff;
| if (s0 == 0) {
0x00055158 beqz s0, 0x55180 | goto label_8;
| }
| label_7:
0x0005515c andi s0, s0, 0xff | s0 &= 0xff;
0x00055160 sll s0, s0, 1 | s0 <<= 1;
0x00055164 addu s0, v1, s0 | s0 = v1 + s0;
0x00055168 lhu v0, (s0) | v0 = *(s0);
0x0005516c andi v0, v0, 0x2000 | v0 &= aav.0x00002000;
0x00055170 beql v0, zero, 0x55150 |
| } while (v0 == 0);
0x00055174 addiu s2, s2, 1 | s2++;
0x00055178 lb s0, (s2) | s0 = *(s2);
| do {
0x0005517c andi v0, s0, 0xff | v0 = s0 & 0xff;
| label_8:
0x00055180 sll v0, v0, 1 | v0 <<= 1;
0x00055184 addu v0, v1, v0 | v0 = v1 + v0;
0x00055188 lhu v0, (v0) | v0 = *(v0);
0x0005518c andi v0, v0, 0x2000 | v0 &= aav.0x00002000;
| if (v0 == 0) {
0x00055190 beqz v0, 0x551a4 | goto label_9;
| }
0x00055194 nop |
0x00055198 addiu s2, s2, 1 | s2++;
0x0005519c lb s0, (s2) | s0 = *(s2);
0x000551a0 b 0x5517c |
| } while (1);
| if (s0 == 0) {
| label_9:
0x000551a4 beql s0, zero, 0x551e0 | goto label_10;
| }
0x000551a8 move a2, zero | a2 = 0;
0x000551ac move a2, s2 | a2 = s2;
0x000551b0 b 0x551c4 |
| while (a0 != 0) {
0x000551b4 lhu v0, (v0) | v0 = *(v0);
0x000551b8 andi v0, v0, 0x2000 | v0 &= aav.0x00002000;
0x000551bc subu a2, a2, s2 | __asm ("subu a2, a2, s2");
| if (v0 == 0) {
0x000551c0 bnel v0, zero, 0x551e0 | goto label_10;
| }
0x000551c4 addiu a2, a2, 1 | a2++;
0x000551c8 lb a0, (a2) | a0 = *(a2);
0x000551cc andi v0, a0, 0xff | v0 = a0 & 0xff;
0x000551d0 sll v0, v0, 1 | v0 <<= 1;
0x000551d4 addu v0, v1, v0 | v0 = v1 + v0;
0x000551d8 bnez a0, 0x551b4 |
| }
0x000551dc subu a2, a2, s2 | __asm ("subu a2, a2, s2");
| label_10:
0x000551e0 lw t9, -0x7708(gp) | t9 = sym.imp.apr_pstrmemdup;
0x000551e4 move a1, s2 | a1 = s2;
0x000551e8 move a0, s5 | a0 = s5;
0x000551ec jalr t9 | t9 ();
0x000551f0 lw gp, 0x10(sp) | gp = *(var_10h);
0x000551f4 move a2, v0 | a2 = v0;
| label_3:
0x000551f8 lw t9, -0x7590(gp) | t9 = sym.imp.apr_table_setn;
| /* str.REQUEST_URI */
0x000551fc addiu a1, s4, -0x4b88 | a1 = s4 + -0x4b88;
0x00055200 move a0, s3 | a0 = s3;
0x00055204 jalr t9 | t9 ();
0x00055208 lw gp, 0x10(sp) | gp = *(var_10h);
0x0005520c lw a0, 0x2c(s1) | a0 = *((s1 + 11));
0x00055210 lw a1, -0x7fac(gp) | a1 = *(gp);
0x00055214 lw t9, -0x7740(gp) | t9 = sym.imp.strcmp;
| /* str.INCLUDED */
0x00055218 addiu a1, a1, -0x5924 | a1 += -0x5924;
0x0005521c jalr t9 | t9 ();
0x00055220 lw gp, 0x10(sp) | gp = *(var_10h);
| if (v0 == 0) {
0x00055224 beqz v0, 0x55298 | goto label_11;
| }
0x00055228 lw a1, 0xf0(s1) | a1 = *((s1 + 60));
0x0005522c lw s0, 0xe4(s1) | s0 = *((s1 + 57));
| if (a1 != 0) {
0x00055230 beqz a1, 0x55240 |
0x00055234 lb v0, (a1) | v0 = *(a1);
0x00055238 lw t9, -0x7ac8(gp) | t9 = sym.ap_find_path_info;
| if (v0 != 0) {
0x0005523c bnez v0, 0x55384 | goto label_12;
| }
| }
0x00055240 lw a1, -0x7fac(gp) | a1 = *(gp);
0x00055244 lw t9, -0x7590(gp) | t9 = sym.imp.apr_table_setn;
0x00055248 move a2, s0 | a2 = s0;
| /* str.SCRIPT_NAME */
0x0005524c addiu a1, a1, 0x15e0 | a1 += 0x15e0;
0x00055250 move a0, s3 | a0 = s3;
0x00055254 jalr t9 | t9 ();
0x00055258 lw gp, 0x10(sp) | gp = *(var_10h);
| label_1:
0x0005525c lw a1, 0xf0(s1) | a1 = *((s1 + 60));
0x00055260 lw ra, 0x34(sp) | ra = *(var_34h);
| if (a1 == 0) {
0x00055264 beqz a1, 0x55278 | goto label_0;
| }
0x00055268 lb v0, (a1) | v0 = *(a1);
0x0005526c lw t9, -0x7ae0(gp) | t9 = sym.ap_os_escape_path;
| if (v0 != 0) {
0x00055270 bnez v0, 0x552f0 | goto label_13;
| }
| do {
0x00055274 lw ra, 0x34(sp) | ra = *(var_34h);
| label_0:
0x00055278 lw s5, 0x30(sp) | s5 = *(var_30h);
0x0005527c lw s4, 0x2c(sp) | s4 = *(var_2ch);
0x00055280 lw s3, 0x28(sp) | s3 = *(var_28h);
0x00055284 lw s2, 0x24(sp) | s2 = *(var_24h);
0x00055288 lw s1, 0x20(sp) | s1 = *(var_20h);
0x0005528c lw s0, 0x1c(sp) | s0 = *(var_1ch);
0x00055290 addiu sp, sp, 0x38 |
0x00055294 jr ra | return v0;
| label_11:
0x00055298 lw a1, -0x7fac(gp) | a1 = *(gp);
0x0005529c lw t9, -0x7590(gp) | t9 = sym.imp.apr_table_setn;
0x000552a0 lw a2, 0xe4(s1) | a2 = *((s1 + 57));
| /* str.SCRIPT_NAME */
0x000552a4 addiu a1, a1, 0x15e0 | a1 += 0x15e0;
0x000552a8 move a0, s3 | a0 = s3;
0x000552ac jalr t9 | t9 ();
0x000552b0 lw a2, 0xf0(s1) | a2 = *((s1 + 60));
0x000552b4 lw gp, 0x10(sp) | gp = *(var_10h);
0x000552b8 beqz a2, 0x55274 |
| } while (a2 == 0);
0x000552bc lb v0, (a2) | v0 = *(a2);
0x000552c0 lw ra, 0x34(sp) | ra = *(var_34h);
| if (v0 == 0) {
0x000552c4 beqz v0, 0x55278 | goto label_0;
| }
0x000552c8 lw a1, -0x7fac(gp) | a1 = *(gp);
0x000552cc lw t9, -0x7590(gp) | t9 = sym.imp.apr_table_setn;
| /* str.PATH_INFO */
0x000552d0 addiu a1, a1, -0x138 | a1 += -aav.0x00000138;
0x000552d4 move a0, s3 | a0 = s3;
0x000552d8 jalr t9 | t9 ();
0x000552dc lw gp, 0x10(sp) | gp = *(var_10h);
0x000552e0 b 0x5525c | goto label_1;
| label_4:
0x000552e4 lw a2, -0x7fac(gp) | a2 = *(gp);
0x000552e8 addiu a2, a2, 0x47dc | a2 += 0x47dc;
0x000552ec b 0x550c4 | goto label_2;
| label_13:
0x000552f0 lw a0, (s1) | a0 = *(s1);
0x000552f4 addiu a2, zero, 1 | a2 = 1;
0x000552f8 jalr t9 | t9 ();
0x000552fc lw gp, 0x10(sp) | gp = *(var_10h);
0x00055300 move a1, s1 | a1 = s1;
0x00055304 move a2, zero | a2 = 0;
0x00055308 lw t9, -0x7a78(gp) | t9 = sym.ap_sub_req_lookup_uri;
0x0005530c move a0, v0 | a0 = v0;
0x00055310 bal 0x40c88 | sym_ap_sub_req_lookup_uri ();
0x00055314 lw a1, 0xe8(v0) | a1 = *((v0 + 58));
0x00055318 lw gp, 0x10(sp) | gp = *(var_10h);
0x0005531c move s0, v0 | s0 = v0;
| if (a1 != 0) {
0x00055320 beqz a1, 0x55358 |
0x00055324 lw t9, -0x76e8(gp) | t9 = sym.imp.apr_pstrcat
0x00055328 lw a2, 0xf0(v0) | a2 = *((v0 + 60));
0x0005532c lw a0, (s1) | a0 = *(s1);
0x00055330 move a3, zero | a3 = 0;
0x00055334 jalr t9 | t9 ();
0x00055338 lw gp, 0x10(sp) | gp = *(var_10h);
0x0005533c move a2, v0 | a2 = v0;
0x00055340 move a0, s3 | a0 = s3;
0x00055344 lw a1, -0x7fac(gp) | a1 = *(gp);
0x00055348 lw t9, -0x7590(gp) | t9 = sym.imp.apr_table_setn;
| /* str.PATH_TRANSLATED */
0x0005534c addiu a1, a1, 0x15ec | a1 += 0x15ec;
0x00055350 jalr t9 | t9 ();
0x00055354 lw gp, 0x10(sp) | gp = *(var_10h);
| }
0x00055358 lw ra, 0x34(sp) | ra = *(var_34h);
0x0005535c lw s5, 0x30(sp) | s5 = *(var_30h);
0x00055360 lw s4, 0x2c(sp) | s4 = *(var_2ch);
0x00055364 lw s3, 0x28(sp) | s3 = *(var_28h);
0x00055368 lw s2, 0x24(sp) | s2 = *(var_24h);
0x0005536c lw s1, 0x20(sp) | s1 = *(var_20h);
0x00055370 move a0, s0 | a0 = s0;
0x00055374 lw t9, -0x7a74(gp) | t9 = sym.ap_destroy_sub_req;
0x00055378 lw s0, 0x1c(sp) | s0 = *(var_1ch);
0x0005537c addiu sp, sp, 0x38 |
0x00055380 b 0x41470 | void (*0x41470)() ();
| label_12:
0x00055384 move a0, s0 | a0 = s0;
0x00055388 bal 0x54efc | sym_ap_find_path_info ();
0x0005538c lw gp, 0x10(sp) | gp = *(var_10h);
0x00055390 lw a0, (s1) | a0 = *(s1);
0x00055394 move a2, v0 | a2 = v0;
0x00055398 lw t9, -0x74d4(gp) | t9 = sym.imp.apr_pstrndup;
0x0005539c move a1, s0 | a1 = s0;
0x000553a0 jalr t9 | t9 ();
0x000553a4 lw gp, 0x10(sp) | gp = *(var_10h);
0x000553a8 move a2, v0 | a2 = v0;
0x000553ac move a0, s3 | a0 = s3;
0x000553b0 lw a1, -0x7fac(gp) | a1 = *(gp);
0x000553b4 lw t9, -0x7590(gp) | t9 = sym.imp.apr_table_setn;
| /* str.SCRIPT_NAME */
0x000553b8 addiu a1, a1, 0x15e0 | a1 += 0x15e0;
0x000553bc jalr t9 | t9 ();
0x000553c0 lw gp, 0x10(sp) | gp = *(var_10h);
0x000553c4 lw a2, 0xf0(s1) | a2 = *((s1 + 60));
0x000553c8 move a0, s3 | a0 = s3;
0x000553cc lw a1, -0x7fac(gp) | a1 = *(gp);
0x000553d0 lw t9, -0x7590(gp) | t9 = sym.imp.apr_table_setn;
| /* str.PATH_INFO */
0x000553d4 addiu a1, a1, -0x138 | a1 += -aav.0x00000138;
0x000553d8 jalr t9 | t9 ();
0x000553dc lw gp, 0x10(sp) | gp = *(var_10h);
0x000553e0 b 0x5525c | goto label_1;
| label_6:
0x000553e4 lw t9, -0x7544(gp) | t9 = sym.imp.apr_palloc;
0x000553e8 addiu a1, zero, 1 | a1 = 1;
0x000553ec move a0, s5 | a0 = s5;
0x000553f0 jalr t9 | t9 ();
0x000553f4 move a2, v0 | a2 = v0;
0x000553f8 lw gp, 0x10(sp) | gp = *(var_10h);
0x000553fc sb zero, (v0) | *(v0) = 0;
0x00055400 b 0x551f8 | goto label_3;
| }
; assembly | /* r2dec pseudo code output */
| /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/sbin/httpd @ 0x3afb4 */
| #include <stdint.h>
|
; (fcn) sym.ap_add_version_component () | void ap_add_version_component () {
0x0003afb4 lui gp, 6 |
0x0003afb8 addiu gp, gp, 0x7f6c |
0x0003afbc addu gp, gp, t9 | gp += t9;
0x0003afc0 lw v0, -0x7f14(gp) | v0 = *((gp - 8133));
0x0003afc4 addiu sp, sp, -0x38 |
0x0003afc8 lw v0, -0x3d64(v0) | v0 = *((v0 - 3929));
0x0003afcc sw gp, 0x18(sp) | *(var_18h) = gp;
0x0003afd0 sw s3, 0x30(sp) | *(var_30h) = s3;
0x0003afd4 sw s1, 0x28(sp) | *(var_28h) = s1;
0x0003afd8 sw ra, 0x34(sp) | *(var_34h) = ra;
0x0003afdc sw s2, 0x2c(sp) | *(var_2ch) = s2;
0x0003afe0 sw s0, 0x24(sp) | *(var_24h) = s0;
0x0003afe4 move s3, a0 | s3 = a0;
0x0003afe8 move s1, a1 | s1 = a1;
| if (v0 == 0) {
0x0003afec bnez v0, 0x3b050 |
0x0003aff0 lw s0, -0x7f14(gp) | s0 = *((gp - 8133));
0x0003aff4 lw a1, -0x3d60(s0) | a1 = *((s0 - 3928));
0x0003aff8 lw s2, -0x7fac(gp) | s2 = *(gp);
| if (a1 != 0) {
0x0003affc beqz a1, 0x3b020 |
0x0003b000 lw t9, -0x76e8(gp) | t9 = sym.imp.apr_pstrcat
0x0003b004 sw zero, 0x10(sp) | *(var_10h) = 0;
0x0003b008 move a3, s1 | a3 = s1;
0x0003b00c addiu a2, s2, 0x6730 | a2 = s2 + 0x6730;
0x0003b010 jalr t9 | t9 ();
0x0003b014 sw v0, -0x3d60(s0) | *((s0 - 3928)) = v0;
0x0003b018 lw gp, 0x18(sp) | gp = *(var_18h);
0x0003b01c b 0x3b054 | goto label_0;
| }
0x0003b020 lw a2, -0x7dd4(gp) | a2 = *(gp);
0x0003b024 lw t9, -0x7280(gp) | t9 = sym.imp.apr_pool_cleanup_register;
0x0003b028 lw a3, -0x73e0(gp) | a3 = *((gp - 7416));
0x0003b02c addiu a2, a2, -0x79c | a2 += -aav.0x0000079c;
0x0003b030 jalr t9 | t9 ();
0x0003b034 lw gp, 0x18(sp) | gp = *(var_18h);
0x0003b038 move a1, s1 | a1 = s1;
0x0003b03c lw t9, -0x7654(gp) | t9 = sym.imp.apr_pstrdup;
0x0003b040 move a0, s3 | a0 = s3;
0x0003b044 jalr t9 | t9 ();
0x0003b048 lw gp, 0x18(sp) | gp = *(var_18h);
0x0003b04c sw v0, -0x3d60(s0) | *((s0 - 3928)) = v0;
| }
0x0003b050 lw s2, -0x7fac(gp) | s2 = *(gp);
| label_0:
0x0003b054 lw s0, -0x7f14(gp) | s0 = *((gp - 8133));
0x0003b058 lw t9, -0x76e8(gp) | t9 = sym.imp.apr_pstrcat
0x0003b05c move a3, s1 | a3 = s1;
0x0003b060 lw a1, -0x3d68(s0) | a1 = *((s0 - 3930));
0x0003b064 addiu a2, s2, 0x6730 | a2 = s2 + 0x6730;
0x0003b068 move a0, s3 | a0 = s3;
0x0003b06c sw zero, 0x10(sp) | *(var_10h) = 0;
0x0003b070 jalr t9 | t9 ();
0x0003b074 lw ra, 0x34(sp) | ra = *(var_34h);
0x0003b078 lw s3, 0x30(sp) | s3 = *(var_30h);
0x0003b07c lw s2, 0x2c(sp) | s2 = *(var_2ch);
0x0003b080 lw s1, 0x28(sp) | s1 = *(var_28h);
0x0003b084 sw v0, -0x3d68(s0) | *((s0 - 3930)) = v0;
0x0003b088 lw s0, 0x24(sp) | s0 = *(var_24h);
0x0003b08c addiu sp, sp, 0x38 |
0x0003b090 jr ra | return v0;
| }
; assembly | /* r2dec pseudo code output */
| /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/sbin/httpd @ 0x4c830 */
| #include <stdint.h>
|
; (fcn) sym.ap_build_cont_config () | void ap_build_cont_config () {
0x0004c830 lui gp, 5 |
0x0004c834 addiu gp, gp, 0x66f0 |
0x0004c838 addu gp, gp, t9 | gp += t9;
0x0004c83c lw v0, -0x7534(gp) | v0 = *(gp);
0x0004c840 addiu sp, sp, -0x80 |
0x0004c844 lw t9, -0x76e8(gp) | t9 = sym.imp.apr_pstrcat
0x0004c848 sw v0, 0x34(sp) | *(var_34h) = v0;
0x0004c84c lw v0, (v0) | v0 = *(v0);
0x0004c850 sw s6, 0x70(sp) | *(var_70h) = s6;
0x0004c854 sw s5, 0x6c(sp) | *(var_6ch) = s5;
0x0004c858 sw s0, 0x58(sp) | *(var_58h) = s0;
0x0004c85c move s5, a1 | s5 = a1;
0x0004c860 move s6, a0 | s6 = a0;
0x0004c864 lw a1, 0x94(sp) | a1 = *(arg_94h);
0x0004c868 move s0, a2 | s0 = a2;
0x0004c86c lw a2, -0x7fac(gp) | a2 = *(gp);
0x0004c870 lui v1, 0x100 | v1 = imp.apr_hook_global_pool;
0x0004c874 sw s2, 0x60(sp) | *(var_60h) = s2;
0x0004c878 sw v0, 0x54(sp) | *(var_54h) = v0;
0x0004c87c xor s2, s6, s5 | s2 = s6 ^ s5;
0x0004c880 addiu v0, zero, 0x2000 | v0 = aav.0x00002000;
0x0004c884 sw gp, 0x20(sp) | *(var_20h) = gp;
| if (s2 == 0) {
0x0004c888 movn v0, v1, s2 | v0 = v1;
| }
0x0004c88c sw ra, 0x7c(sp) | *(var_7ch) = ra;
0x0004c890 sw s7, 0x74(sp) | *(var_74h) = s7;
0x0004c894 sw s4, 0x68(sp) | *(var_68h) = s4;
0x0004c898 sw s3, 0x64(sp) | *(var_64h) = s3;
0x0004c89c addiu a1, a1, 1 | a1++;
0x0004c8a0 move a0, s5 | a0 = s5;
0x0004c8a4 addiu a2, a2, 0xb98 | a2 += 0xb98;
0x0004c8a8 sw fp, 0x78(sp) | *(var_78h) = fp;
0x0004c8ac sw s1, 0x5c(sp) | *(var_5ch) = s1;
0x0004c8b0 move s7, a3 | s7 = a3;
0x0004c8b4 sw zero, 0x3c(sp) | *(var_3ch) = 0;
0x0004c8b8 move a3, zero | a3 = 0;
0x0004c8bc lw s4, 0x90(sp) | s4 = *(arg_90h);
0x0004c8c0 move s2, v0 | s2 = v0;
0x0004c8c4 jalr t9 | t9 ();
0x0004c8c8 lw gp, 0x20(sp) | gp = *(var_20h);
0x0004c8cc addiu s3, sp, 0x40 | s3 = sp + 0x40;
0x0004c8d0 sw v0, 0x30(sp) | *(var_30h) = v0;
0x0004c8d4 lw t9, -0x79f4(gp) | t9 = sym.ap_varbuf_init;
0x0004c8d8 addiu a2, zero, 0xc8 | a2 = 0xc8;
0x0004c8dc move a1, s3 | a1 = s3;
0x0004c8e0 move a0, s5 | a0 = s5;
0x0004c8e4 jalr t9 | t9 ();
0x0004c8e8 lw gp, 0x20(sp) | gp = *(var_20h);
0x0004c8ec addiu v0, sp, 0x3c | v0 = sp + 0x3c;
0x0004c8f0 sw v0, 0x28(sp) | *(var_28h) = v0;
0x0004c8f4 lw v0, -0x7a1c(gp) | v0 = *(gp);
0x0004c8f8 addiu v0, v0, -0x6270 | v0 += -0x6270;
0x0004c8fc sw v0, 0x2c(sp) | *(var_2ch) = v0;
| label_0:
0x0004c900 addiu s1, zero, 0x3c | s1 = 0x3c;
0x0004c904 addiu fp, zero, 0x2f | fp = 0x2f;
0x0004c908 lw t9, -0x79f0(gp) | t9 = *(gp);
| do {
0x0004c90c lw a1, 0x20(s0) | a1 = *((s0 + 8));
0x0004c910 move a2, s2 | a2 = s2;
0x0004c914 move a0, s3 | a0 = s3;
0x0004c918 jalr t9 | t9 ();
0x0004c91c lw gp, 0x20(sp) | gp = *(var_20h);
| if (v0 != 0) {
0x0004c920 bnez v0, 0x4c9cc | goto label_3;
| }
0x0004c924 lw a2, 0x40(sp) | a2 = *(var_40h);
0x0004c928 lbu v0, (a2) | v0 = *(a2);
| if (v0 == s1) {
0x0004c92c beql v0, s1, 0x4c998 | goto label_4;
| }
0x0004c930 lbu v0, 1(a2) | v0 = *((a2 + 1));
| label_2:
0x0004c934 lb v0, (a2) | v0 = *(a2);
| label_1:
0x0004c938 addiu v1, zero, 0x23 | v1 = 0x23;
| if (v0 != v1) {
0x0004c93c beql v0, v1, 0x4c978 |
0x0004c940 lw v0, 0x3c(sp) | v0 = *(var_3ch);
0x0004c944 lw v0, 0x28(sp) | v0 = *(var_28h);
| if (v0 != 0) {
0x0004c948 beqz v0, 0x4c974 |
0x0004c94c lw t9, 0x2c(sp) | t9 = *(var_2ch);
0x0004c950 sw v0, 0x18(sp) | *(var_18h) = v0;
0x0004c954 sw s4, 0x14(sp) | *(var_14h) = s4;
0x0004c958 sw s7, 0x10(sp) | *(var_10h) = s7;
0x0004c95c move a3, s0 | a3 = s0;
0x0004c960 move a1, s5 | a1 = s5;
0x0004c964 move a0, s6 | a0 = s6;
0x0004c968 jalr t9 | t9 ();
0x0004c96c lw gp, 0x20(sp) | gp = *(var_20h);
| if (v0 != 0) {
0x0004c970 bnez v0, 0x4ca08 | goto label_5;
| }
| }
0x0004c974 lw v0, 0x3c(sp) | v0 = *(var_3ch);
| }
0x0004c978 lw t9, -0x79f0(gp) | t9 = *(gp);
0x0004c97c bnez v0, 0x4c90c |
| } while (v0 != 0);
0x0004c980 lw v0, (s4) | v0 = *(s4);
0x0004c984 sw v0, 0x3c(sp) | *(var_3ch) = v0;
| if (v0 != 0) {
0x0004c988 bnez v0, 0x4c900 | goto label_0;
| }
0x0004c98c lw v0, (s7) | v0 = *(s7);
0x0004c990 sw v0, 0x3c(sp) | *(var_3ch) = v0;
0x0004c994 b 0x4c900 | goto label_0;
| label_4:
0x0004c998 lb v0, (a2) | v0 = *(a2);
| if (v0 == fp) {
0x0004c99c bnel v0, fp, 0x4c938 | goto label_1;
| }
0x0004c9a0 lw t9, -0x7e28(gp) | t9 = sym.ap_cstr_casecmp;
0x0004c9a4 lw a1, 0x30(sp) | a1 = *(var_30h);
0x0004c9a8 addiu a0, a2, 2 | a0 = a2 + 2;
0x0004c9ac jalr t9 | t9 ();
0x0004c9b0 lw gp, 0x20(sp) | gp = *(var_20h);
| if (v0 == 0) {
0x0004c9b4 bnez v0, 0x4c9c4 |
0x0004c9b8 lw v0, (s4) | v0 = *(s4);
0x0004c9bc lw t9, -0x79ec(gp) | t9 = sym.ap_varbuf_free;
| if (v0 == 0) {
0x0004c9c0 beqz v0, 0x4ca48 | goto label_6;
| }
| }
0x0004c9c4 lw a2, 0x40(sp) | a2 = *(var_40h);
0x0004c9c8 b 0x4c934 | goto label_2;
| label_3:
0x0004c9cc lw t9, -0x79ec(gp) | t9 = sym.ap_varbuf_free;
0x0004c9d0 sw v0, 0x28(sp) | *(var_28h) = v0;
0x0004c9d4 move a0, s3 | a0 = s3;
0x0004c9d8 jalr t9 | t9 ();
0x0004c9dc lui v1, 1 | v1 = 0x10000;
0x0004c9e0 lw v0, 0x28(sp) | v0 = *(var_28h);
| /* esilref: 'ack_ap_set_name_virtual_host' */
0x0004c9e4 addiu v1, v1, 0x117e | v1 += 0x117e;
0x0004c9e8 lw gp, 0x20(sp) | gp = *(var_20h);
| if (v0 == v1) {
0x0004c9ec beq v0, v1, 0x4ca54 | goto label_7;
| }
0x0004c9f0 lw t9, -0x79e8(gp) | t9 = *(gp);
0x0004c9f4 lw a1, 0x20(s0) | a1 = *((s0 + 8));
0x0004c9f8 move a2, v0 | a2 = v0;
0x0004c9fc move a0, s5 | a0 = s5;
0x0004ca00 jalr t9 | t9 ();
0x0004ca04 lw gp, 0x20(sp) | gp = *(var_20h);
| do {
| label_5:
0x0004ca08 lw v1, 0x34(sp) | v1 = *(var_34h);
0x0004ca0c lw a0, 0x54(sp) | a0 = *(var_54h);
0x0004ca10 lw v1, (v1) | v1 = *(v1);
0x0004ca14 lw ra, 0x7c(sp) | ra = *(var_7ch);
| if (a0 != v1) {
0x0004ca18 bne a0, v1, 0x4ca64 | goto label_8;
| }
0x0004ca1c lw fp, 0x78(sp) | fp = *(var_78h);
0x0004ca20 lw s7, 0x74(sp) | s7 = *(var_74h);
0x0004ca24 lw s6, 0x70(sp) | s6 = *(var_70h);
0x0004ca28 lw s5, 0x6c(sp) | s5 = *(var_6ch);
0x0004ca2c lw s4, 0x68(sp) | s4 = *(var_68h);
0x0004ca30 lw s3, 0x64(sp) | s3 = *(var_64h);
0x0004ca34 lw s2, 0x60(sp) | s2 = *(var_60h);
0x0004ca38 lw s1, 0x5c(sp) | s1 = *(var_5ch);
0x0004ca3c lw s0, 0x58(sp) | s0 = *(var_58h);
0x0004ca40 addiu sp, sp, 0x80 |
0x0004ca44 jr ra | return v1;
| label_6:
0x0004ca48 move a0, s3 | a0 = s3;
0x0004ca4c jalr t9 | t9 ();
0x0004ca50 lw gp, 0x20(sp) | gp = *(var_20h);
| label_7:
0x0004ca54 lw v1, 0x3c(sp) | v1 = *(var_3ch);
0x0004ca58 move v0, zero | v0 = 0;
0x0004ca5c sw v1, (s7) | *(s7) = v1;
0x0004ca60 b 0x4ca08 |
| } while (1);
| label_8:
0x0004ca64 lw t9, -0x75e8(gp) | t9 = sym.imp.__stack_chk_fail;
0x0004ca68 jalr t9 | t9 ();
0x0004ca6c nop |
| }
; assembly | /* r2dec pseudo code output */
| /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/sbin/httpd @ 0x70bbc */
| #include <stdint.h>
|
; (fcn) sym.ap_byterange_filter () | void ap_byterange_filter () {
0x00070bbc lui gp, 3 |
0x00070bc0 addiu gp, gp, 0x2364 |
0x00070bc4 addu gp, gp, t9 | gp += t9;
0x00070bc8 addiu sp, sp, -0x100 |
0x00070bcc lw v0, -0x7534(gp) | v0 = *(gp);
0x00070bd0 sw a0, 0x74(sp) | *(var_74h) = a0;
0x00070bd4 lw a0, 0xc(a0) | a0 = *((a0 + 3));
0x00070bd8 lw v1, (v0) | v1 = *(v0);
0x00070bdc sw v0, 0x78(sp) | *(var_78h) = v0;
0x00070be0 lw v0, 0x100(a0) | v0 = *(a0);
0x00070be4 sw gp, 0x38(sp) | *(var_38h) = gp;
0x00070be8 sw ra, 0xfc(sp) | *(var_fch) = ra;
0x00070bec lw v0, (v0) | v0 = *(v0);
0x00070bf0 sw fp, 0xf8(sp) | *(var_f8h) = fp;
0x00070bf4 sw s7, 0xf4(sp) | *(var_f4h) = s7;
0x00070bf8 lw t0, 0x6c(v0) | t0 = *((v0 + 27));
0x00070bfc sw s6, 0xf0(sp) | *(var_f0h) = s6;
0x00070c00 sw s5, 0xec(sp) | *(var_ech) = s5;
0x00070c04 sw s4, 0xe8(sp) | *(var_e8h) = s4;
0x00070c08 sw s3, 0xe4(sp) | *(var_e4h) = s3;
0x00070c0c sw s2, 0xe0(sp) | *(var_e0h) = s2;
0x00070c10 sw s1, 0xdc(sp) | *(var_dch) = s1;
0x00070c14 sw s0, 0xd8(sp) | *(var_d8h) = s0;
0x00070c18 sw a0, 0x44(sp) | *(var_44h) = a0;
0x00070c1c sw a1, 0x5c(sp) | *(var_5ch) = a1;
0x00070c20 sw v1, 0xd4(sp) | *(var_d4h) = v1;
0x00070c24 addiu v1, zero, -3 | v1 = -3;
| if (t0 < 0) {
0x00070c28 bltz t0, 0x70db0 | goto label_48;
| }
| label_4:
0x00070c2c lw t1, 0x70(v0) | t1 = *((v0 + 28));
| label_5:
0x00070c30 addiu v1, zero, -3 | v1 = -3;
| if (t1 < 0) {
0x00070c34 bltz t1, 0x70da0 | goto label_49;
| }
| label_2:
0x00070c38 lw t2, 0x74(v0) | t2 = *((v0 + 29));
| label_3:
0x00070c3c addiu v0, zero, -3 | v0 = -3;
| if (t2 < 0) {
0x00070c40 bltz t2, 0x70d90 | goto label_50;
| }
| label_0:
0x00070c44 lw v1, 0x5c(sp) | v1 = *(var_5ch);
| label_1:
0x00070c48 addiu t4, v1, 4 | t4 = v1 + 4;
0x00070c4c lw v0, 4(v1) | v0 = *((v1 + 1));
0x00070c50 sw t4, 0x7c(sp) | *(var_7ch) = t4;
| if (v0 == t4) {
0x00070c54 beq v0, t4, 0x70d28 | goto label_51;
| }
0x00070c58 lw v1, 8(v0) | v1 = *((v0 + 2));
0x00070c5c lw a2, -0x7620(gp) | a2 = *((gp - 7560));
0x00070c60 addiu v1, zero, -1 | v1 = -1;
| if (v1 == a2) {
0x00070c64 beq v1, a2, 0x70d28 | goto label_51;
| }
0x00070c68 lw a0, 0xc(v0) | a0 = *((v0 + 3));
0x00070c6c move v1, zero | v1 = 0;
| if (a0 == v1) {
0x00070c70 beq a0, v1, 0x70d28 | goto label_51;
| }
0x00070c74 move a1, zero | a1 = 0;
0x00070c78 addiu a3, zero, -1 | a3 = -1;
0x00070c7c move s6, a0 | s6 = a0;
0x00070c80 b 0x70c9c |
| while (v0 != t4) {
0x00070c84 lw t3, 8(v0) | t3 = *((v0 + 2));
| if (t3 == a2) {
0x00070c88 beql t3, a2, 0x70ccc | goto label_52;
| }
0x00070c8c sw a0, 0x64(sp) | *(var_64h) = a0;
0x00070c90 lw s6, 0xc(v0) | s6 = *((v0 + 3));
0x00070c94 lw s0, 0x74(sp) | s0 = *(var_74h);
| if (s6 == a3) {
0x00070c98 beq s6, a3, 0x70d2c | goto label_53;
| }
0x00070c9c addu s6, v1, s6 | s6 = v1 + s6;
0x00070ca0 sltu v1, s6, v1 | v1 = (s6 < v1) ? 1 : 0;
0x00070ca4 lw v0, (v0) | v0 = *(v0);
0x00070ca8 addu a0, v1, a1 | a0 = v1 + a1;
0x00070cac move a1, a0 | a1 = a0;
0x00070cb0 move v1, s6 | v1 = s6;
0x00070cb4 bne v0, t4, 0x70c84 |
| }
0x00070cb8 lw v0, 0x5c(sp) | v0 = *(var_5ch);
0x00070cbc sw a0, 0x64(sp) | *(var_64h) = a0;
0x00070cc0 lw v0, 0xc(v0) | v0 = *((v0 + 3));
0x00070cc4 lw s0, 0x74(sp) | s0 = *(var_74h);
| if (v0 == a2) {
0x00070cc8 bne v0, a2, 0x70d2c |
| label_52:
0x00070ccc lw v0, 0x64(sp) | v0 = *(var_64h);
0x00070cd0 or v0, s6, v0 | v0 = s6 | v0;
0x00070cd4 lw v1, 0x44(sp) | v1 = *(var_44h);
| if (v0 != 0) {
0x00070cd8 beqz v0, 0x70d28 |
0x00070cdc sw t2, 0x50(sp) | *(var_50h) = t2;
0x00070ce0 sw t1, 0x4c(sp) | *(var_4ch) = t1;
0x00070ce4 lw v0, 0x1c(v1) | v0 = *((v1 + 7));
0x00070ce8 sw t0, 0x48(sp) | *(var_48h) = t0;
0x00070cec lw s0, 0x44(v1) | s0 = *((v1 + 17));
| if (v0 == 0) {
0x00070cf0 beqz v0, 0x70dc0 | goto label_54;
| }
| label_6:
0x00070cf4 lw v0, 0x44(sp) | v0 = *(var_44h);
| label_7:
0x00070cf8 lw s1, 0x74(sp) | s1 = *(var_74h);
0x00070cfc lw t9, -0x7e34(gp) | t9 = sym.ap_remove_output_filter;
0x00070d00 move a0, s1 | a0 = s1;
0x00070d04 sw s0, 0x44(v0) | *((v0 + 17)) = s0;
0x00070d08 jalr t9 | t9 ();
0x00070d0c lw gp, 0x38(sp) | gp = *(var_38h);
0x00070d10 lw a0, 8(s1) | a0 = *((s1 + 2));
0x00070d14 lw t9, -0x7e30(gp) | t9 = sym.ap_pass_brigade;
0x00070d18 lw a1, 0x5c(sp) | a1 = *(var_5ch);
0x00070d1c jalr t9 | t9 ();
0x00070d20 lw gp, 0x38(sp) | gp = *(var_38h);
0x00070d24 b 0x70d50 | goto label_23;
| }
| label_51:
0x00070d28 lw s0, 0x74(sp) | s0 = *(var_74h);
| }
| label_53:
0x00070d2c lw t9, -0x7e34(gp) | t9 = sym.ap_remove_output_filter;
0x00070d30 move a0, s0 | a0 = s0;
0x00070d34 jalr t9 | t9 ();
0x00070d38 lw gp, 0x38(sp) | gp = *(var_38h);
0x00070d3c lw a0, 8(s0) | a0 = *((s0 + 2));
0x00070d40 lw t9, -0x7e30(gp) | t9 = sym.ap_pass_brigade;
0x00070d44 lw a1, 0x5c(sp) | a1 = *(var_5ch);
0x00070d48 jalr t9 | t9 ();
0x00070d4c lw gp, 0x38(sp) | gp = *(var_38h);
| label_23:
0x00070d50 lw v1, 0x78(sp) | v1 = *(var_78h);
0x00070d54 lw a0, 0xd4(sp) | a0 = *(var_d4h);
0x00070d58 lw v1, (v1) | v1 = *(v1);
0x00070d5c lw ra, 0xfc(sp) | ra = *(var_fch);
| if (a0 != v1) {
0x00070d60 bne a0, v1, 0x7215c | goto label_55;
| }
0x00070d64 lw fp, 0xf8(sp) | fp = *(var_f8h);
0x00070d68 lw s7, 0xf4(sp) | s7 = *(var_f4h);
0x00070d6c lw s6, 0xf0(sp) | s6 = *(var_f0h);
0x00070d70 lw s5, 0xec(sp) | s5 = *(var_ech);
0x00070d74 lw s4, 0xe8(sp) | s4 = *(var_e8h);
0x00070d78 lw s3, 0xe4(sp) | s3 = *(var_e4h);
0x00070d7c lw s2, 0xe0(sp) | s2 = *(var_e0h);
0x00070d80 lw s1, 0xdc(sp) | s1 = *(var_dch);
0x00070d84 lw s0, 0xd8(sp) | s0 = *(var_d8h);
0x00070d88 addiu sp, sp, 0x100 |
0x00070d8c jr ra | return v0;
| label_50:
0x00070d90 addiu t2, zero, 0x14 | t2 = 0x14;
| if (t2 == v0) {
0x00070d94 bnel t2, v0, 0x70c44 | goto label_0;
| }
0x00070d98 lw v1, 0x5c(sp) | v1 = *(var_5ch);
0x00070d9c b 0x70c48 | goto label_1;
| label_49:
0x00070da0 addiu t1, zero, 0x14 | t1 = 0x14;
| if (t1 == v1) {
0x00070da4 bnel t1, v1, 0x70c38 | goto label_2;
| }
0x00070da8 lw t2, 0x74(v0) | t2 = *((v0 + 29));
0x00070dac b 0x70c3c | goto label_3;
| label_48:
0x00070db0 addiu t0, zero, 0xc8 | t0 = 0xc8;
| if (t0 == v1) {
0x00070db4 bnel t0, v1, 0x70c2c | goto label_4;
| }
0x00070db8 lw t1, 0x70(v0) | t1 = *((v0 + 28));
0x00070dbc b 0x70c30 | goto label_5;
| label_54:
0x00070dc0 lw a1, -0x7fac(gp) | a1 = *(gp);
0x00070dc4 lw v0, 4(v1) | v0 = *((v1 + 1));
0x00070dc8 lw t9, -0x7668(gp) | t9 = sym.imp.apr_table_get;
0x00070dcc lw a0, 0xb0(v1) | a0 = *((v1 + 44));
| /* esilref: 'Range' */
0x00070dd0 addiu a1, a1, -0x58c8 | a1 += -0x58c8;
0x00070dd4 sw v0, 0x90(sp) | *(var_90h) = v0;
0x00070dd8 jalr t9 | t9 ();
0x00070ddc sw v0, 0xc4(sp) | *(var_c4h) = v0;
0x00070de0 lw gp, 0x38(sp) | gp = *(var_38h);
0x00070de4 lw t0, 0x48(sp) | t0 = *(var_48h);
0x00070de8 lw t1, 0x4c(sp) | t1 = *(var_4ch);
0x00070dec lw t2, 0x50(sp) | t2 = *(var_50h);
| if (v0 == 0) {
0x00070df0 beqz v0, 0x70f44 | goto label_56;
| }
0x00070df4 lw a1, -0x7fac(gp) | a1 = *(gp);
| label_9:
0x00070df8 lw t9, -0x7648(gp) | t9 = sym.imp.strncasecmp;
0x00070dfc sw t2, 0x50(sp) | *(var_50h) = t2;
0x00070e00 sw t1, 0x4c(sp) | *(var_4ch) = t1;
0x00070e04 sw t0, 0x48(sp) | *(var_48h) = t0;
0x00070e08 addiu a2, zero, 6 | a2 = 6;
| /* str.bytes */
0x00070e0c addiu a1, a1, 0x7854 | a1 += 0x7854;
0x00070e10 move a0, v0 | a0 = v0;
0x00070e14 jalr t9 | t9 ();
0x00070e18 sw v0, 0x8c(sp) | *(var_8ch) = v0;
0x00070e1c lw gp, 0x38(sp) | gp = *(var_38h);
| if (v0 != 0) {
0x00070e20 bnez v0, 0x70cf4 | goto label_6;
| }
0x00070e24 lw v0, 0x44(sp) | v0 = *(var_44h);
0x00070e28 lw v1, 0x44(v0) | v1 = *((v0 + 17));
0x00070e2c addiu v0, zero, 0xc8 | v0 = 0xc8;
0x00070e30 lw v0, 0x44(sp) | v0 = *(var_44h);
| if (v1 != v0) {
0x00070e34 bne v1, v0, 0x70cf8 | goto label_7;
| }
0x00070e38 lw v1, 0x44(sp) | v1 = *(var_44h);
0x00070e3c lw v0, -0x7fac(gp) | v0 = *(gp);
0x00070e40 lw t9, -0x7668(gp) | t9 = sym.imp.apr_table_get;
0x00070e44 lw a0, 0xb4(v1) | a0 = *((v1 + 45));
0x00070e48 sw v0, 0xac(sp) | *(var_ach) = v0;
| /* str.Content_Range */
0x00070e4c addiu a1, v0, -0x58d0 | a1 = v0 + -0x58d0;
0x00070e50 jalr t9 | t9 ();
0x00070e54 lw gp, 0x38(sp) | gp = *(var_38h);
| if (v0 != 0) {
0x00070e58 bnez v0, 0x70cf4 | goto label_6;
| }
0x00070e5c lw v0, 0x44(sp) | v0 = *(var_44h);
0x00070e60 lw a1, -0x7fac(gp) | a1 = *(gp);
0x00070e64 lw t9, -0x7668(gp) | t9 = sym.imp.apr_table_get;
0x00070e68 lw a0, 0xb4(v0) | a0 = *((v0 + 45));
| /* str.Content_Type */
0x00070e6c addiu a1, a1, -0x6858 | a1 += -0x6858;
0x00070e70 jalr t9 | t9 ();
0x00070e74 move s1, v0 | s1 = v0;
0x00070e78 lw gp, 0x38(sp) | gp = *(var_38h);
0x00070e7c lw t0, 0x48(sp) | t0 = *(var_48h);
0x00070e80 lw t1, 0x4c(sp) | t1 = *(var_4ch);
0x00070e84 lw t2, 0x50(sp) | t2 = *(var_50h);
| if (v0 == 0) {
0x00070e88 beqz v0, 0x70ed8 | goto label_57;
| }
0x00070e8c lw a1, -0x7fac(gp) | a1 = *(gp);
0x00070e90 lw t9, -0x7648(gp) | t9 = sym.imp.strncasecmp;
0x00070e94 addiu a2, zero, 0x14 | a2 = 0x14;
| /* str.multipart_byteranges */
0x00070e98 addiu a1, a1, 0x785c | a1 += 0x785c;
0x00070e9c move a0, v0 | a0 = v0;
0x00070ea0 jalr t9 | t9 ();
0x00070ea4 lw gp, 0x38(sp) | gp = *(var_38h);
| if (v0 == 0) {
0x00070ea8 beqz v0, 0x70cf4 | goto label_6;
| }
0x00070eac lw a1, -0x7fac(gp) | a1 = *(gp);
0x00070eb0 lw t9, -0x7648(gp) | t9 = sym.imp.strncasecmp;
0x00070eb4 addiu a2, zero, 0x16 | a2 = 0x16;
| /* str.multipart_x_byteranges */
0x00070eb8 addiu a1, a1, 0x7874 | a1 += 0x7874;
0x00070ebc move a0, s1 | a0 = s1;
0x00070ec0 jalr t9 | t9 ();
0x00070ec4 lw gp, 0x38(sp) | gp = *(var_38h);
0x00070ec8 lw t0, 0x48(sp) | t0 = *(var_48h);
0x00070ecc lw t1, 0x4c(sp) | t1 = *(var_4ch);
0x00070ed0 lw t2, 0x50(sp) | t2 = *(var_50h);
| if (v0 == 0) {
0x00070ed4 beqz v0, 0x70cf4 | goto label_6;
| }
| label_57:
0x00070ed8 lw v0, 0x44(sp) | v0 = *(var_44h);
0x00070edc lw t9, -0x783c(gp) | t9 = sym.ap_condition_if_range;
0x00070ee0 sw t2, 0x50(sp) | *(var_50h) = t2;
0x00070ee4 lw a1, 0xb4(v0) | a1 = *((v0 + 45));
0x00070ee8 sw t1, 0x4c(sp) | *(var_4ch) = t1;
0x00070eec sw t0, 0x48(sp) | *(var_48h) = t0;
0x00070ef0 move a0, v0 | a0 = v0;
0x00070ef4 bal 0x68230 | sym_ap_condition_if_range ();
0x00070ef8 addiu v1, zero, 1 | v1 = 1;
0x00070efc lw gp, 0x38(sp) | gp = *(var_38h);
| if (v0 == v1) {
0x00070f00 beq v0, v1, 0x70cf4 | goto label_6;
| }
0x00070f04 lw v0, 0xc4(sp) | v0 = *(var_c4h);
0x00070f08 lw t0, 0x48(sp) | t0 = *(var_48h);
0x00070f0c addiu v0, v0, 6 | v0 += 6;
0x00070f10 lw t1, 0x4c(sp) | t1 = *(var_4ch);
0x00070f14 lw t2, 0x50(sp) | t2 = *(var_50h);
0x00070f18 addiu a3, zero, 1 | a3 = 1;
0x00070f1c sw v0, 0xa0(sp) | *(var_a0h) = v0;
0x00070f20 sw v0, 0xc4(sp) | *(var_c4h) = v0;
0x00070f24 addiu a0, zero, 0x2c | a0 = 0x2c;
| do {
| label_8:
0x00070f28 lb v1, (v0) | v1 = *(v0);
| if (v1 == 0) {
0x00070f2c beql v1, zero, 0x70f7c | goto label_58;
| }
0x00070f30 lw v0, 0x44(sp) | v0 = *(var_44h);
0x00070f34 addiu v0, v0, 1 | v0++;
0x00070f38 bne v1, a0, 0x70f28 |
| } while (v1 != a0);
0x00070f3c addiu a3, a3, 1 | a3++;
0x00070f40 b 0x70f28 | goto label_8;
| label_56:
0x00070f44 lw v0, 0x44(sp) | v0 = *(var_44h);
0x00070f48 lw a1, -0x7fac(gp) | a1 = *(gp);
0x00070f4c lw t9, -0x7668(gp) | t9 = sym.imp.apr_table_get;
0x00070f50 lw a0, 0xb0(v0) | a0 = *((v0 + 44));
| /* str.Request_Range */
0x00070f54 addiu a1, a1, 0x7844 | a1 += 0x7844;
0x00070f58 jalr t9 | t9 ();
0x00070f5c sw v0, 0xc4(sp) | *(var_c4h) = v0;
0x00070f60 lw gp, 0x38(sp) | gp = *(var_38h);
0x00070f64 lw t0, 0x48(sp) | t0 = *(var_48h);
0x00070f68 lw t1, 0x4c(sp) | t1 = *(var_4ch);
0x00070f6c lw t2, 0x50(sp) | t2 = *(var_50h);
| if (v0 == 0) {
0x00070f70 beqz v0, 0x70cf4 | goto label_6;
| }
0x00070f74 lw a1, -0x7fac(gp) | a1 = *(gp);
0x00070f78 b 0x70df8 | goto label_9;
| label_58:
0x00070f7c slti a1, a3, 0x65 | a1 = (a3 < 0x65) ? 1 : 0;
0x00070f80 lw t9, -0x775c(gp) | t9 = sym.imp.apr_array_make;
0x00070f84 lw a0, (v0) | a0 = *(v0);
0x00070f88 addiu v0, zero, 0x64 | v0 = 0x64;
| if (a1 == 0) {
0x00070f8c movn v0, a3, a1 | v0 = a3;
| }
0x00070f90 move a1, v0 | a1 = v0;
0x00070f94 addiu v0, s6, -1 | v0 = s6 + -1;
0x00070f98 sw t0, 0x94(sp) | *(var_94h) = t0;
0x00070f9c sw t1, 0x88(sp) | *(var_88h) = t1;
0x00070fa0 sw t2, 0x50(sp) | *(var_50h) = t2;
0x00070fa4 addiu a2, zero, 0x10 | a2 = 0x10;
0x00070fa8 sw v0, 0x6c(sp) | *(var_6ch) = v0;
0x00070fac move s1, v0 | s1 = v0;
0x00070fb0 jalr t9 | t9 ();
0x00070fb4 lw v1, 0x64(sp) | v1 = *(var_64h);
0x00070fb8 sltu a0, s1, s6 | a0 = (s1 < s6) ? 1 : 0;
0x00070fbc lw t2, 0x50(sp) | t2 = *(var_50h);
0x00070fc0 addiu v1, v1, -1 | v1 += -1;
0x00070fc4 lw t0, 0x94(sp) | t0 = *(var_94h);
0x00070fc8 lw t1, 0x88(sp) | t1 = *(var_88h);
0x00070fcc sw v0, 0x80(sp) | *(var_80h) = v0;
0x00070fd0 lw gp, 0x38(sp) | gp = *(var_38h);
0x00070fd4 addu v0, a0, v1 | v0 = a0 + v1;
0x00070fd8 move s3, zero | s3 = 0;
0x00070fdc move s4, zero | s4 = 0;
0x00070fe0 sw zero, 0x68(sp) | *(var_68h) = 0;
0x00070fe4 sw zero, 0x84(sp) | *(var_84h) = 0;
0x00070fe8 sw zero, 0x54(sp) | *(var_54h) = 0;
0x00070fec sw zero, 0x58(sp) | *(var_58h) = 0;
0x00070ff0 sw zero, 0x60(sp) | *(var_60h) = 0;
0x00070ff4 move s1, zero | s1 = 0;
0x00070ff8 move s2, zero | s2 = 0;
0x00070ffc sw zero, 0x48(sp) | *(var_48h) = 0;
0x00071000 sw zero, 0x4c(sp) | *(var_4ch) = 0;
0x00071004 addiu s5, sp, 0xc4 | s5 = sp + 0xc4;
0x00071008 sw v0, 0x70(sp) | *(var_70h) = v0;
0x0007100c sw t0, 0x9c(sp) | *(var_9ch) = t0;
0x00071010 move s7, t1 | s7 = t1;
0x00071014 move fp, t2 | fp = t2;
0x00071018 sw s0, 0x50(sp) | *(var_50h) = s0;
| do {
| label_11:
0x0007101c lw v0, 0x44(sp) | v0 = *(var_44h);
0x00071020 lw t9, -0x7ee4(gp) | t9 = sym.ap_getword;
0x00071024 addiu a2, zero, 0x2c | a2 = 0x2c;
0x00071028 lw a0, (v0) | a0 = *(v0);
0x0007102c move a1, s5 | a1 = s5;
0x00071030 jalr t9 | t9 ();
0x00071034 move s0, v0 | s0 = v0;
0x00071038 lw gp, 0x38(sp) | gp = *(var_38h);
| if (v0 == 0) {
0x0007103c beqz v0, 0x713cc | goto label_59;
| }
0x00071040 lb v0, (s0) | v0 = *(s0);
0x00071044 lw t9, -0x72b8(gp) | t9 = sym.imp.strchr;
| if (v0 == 0) {
0x00071048 beqz v0, 0x713cc | goto label_59;
| }
0x0007104c addiu a1, zero, 0x2d | a1 = 0x2d;
0x00071050 move a0, s0 | a0 = s0;
0x00071054 jalr t9 | t9 ();
0x00071058 lw gp, 0x38(sp) | gp = *(var_38h);
| if (v0 == 0) {
0x0007105c beqz v0, 0x71368 | goto label_60;
| }
0x00071060 addiu t0, v0, 1 | t0 = v0 + 1;
| if (s0 == v0) {
0x00071064 beq s0, v0, 0x71248 | goto label_61;
| }
0x00071068 lw t9, -0x7ebc(gp) | t9 = sym.ap_parse_strict_length;
0x0007106c addiu a3, sp, 0xc8 | a3 = sp + 0xc8;
0x00071070 sw t0, 0x98(sp) | *(var_98h) = t0;
0x00071074 sb zero, (v0) | *(v0) = 0;
0x00071078 sw v0, 0x94(sp) | *(var_94h) = v0;
0x0007107c move a1, s0 | a1 = s0;
0x00071080 move a0, a3 | a0 = a3;
0x00071084 sw a3, 0x88(sp) | *(var_88h) = a3;
0x00071088 jalr t9 | t9 ();
0x0007108c lw gp, 0x38(sp) | gp = *(var_38h);
| if (v0 == 0) {
0x00071090 beqz v0, 0x71368 | goto label_60;
| }
0x00071094 lw a2, 0x94(sp) | a2 = *(var_94h);
0x00071098 lw v1, 0xcc(sp) | v1 = *(var_cch);
0x0007109c lw a3, 0x88(sp) | a3 = *(var_88h);
0x000710a0 lb v0, 1(a2) | v0 = *((a2 + 1));
0x000710a4 lw t0, 0x98(sp) | t0 = *(var_98h);
0x000710a8 lw a2, 0xc8(sp) | a2 = *(var_c8h);
| if (v0 != 0) {
0x000710ac bnez v0, 0x71320 | goto label_62;
| }
0x000710b0 or v0, a2, v1 | v0 = a2 | v1;
0x000710b4 lw a3, 0x6c(sp) | a3 = *(var_6ch);
0x000710b8 lw a1, 0x70(sp) | a1 = *(var_70h);
| if (v0 == 0) {
0x000710bc beqz v0, 0x715b0 | goto label_63;
| }
| label_13:
0x000710c0 lw a0, 0x64(sp) | a0 = *(var_64h);
| if (v1 < 0) {
0x000710c4 bltz v1, 0x7123c | goto label_64;
| }
0x000710c8 slt v0, v1, a0 | v0 = (v1 < a0) ? 1 : 0;
0x000710cc slt v0, a1, a0 | v0 = (a1 < a0) ? 1 : 0;
| if (v0 != 0) {
0x000710d0 bnez v0, 0x710f8 | goto label_65;
| }
0x000710d4 sltu v0, a2, s6 | v0 = (a2 < s6) ? 1 : 0;
| if (a0 == v1) {
0x000710d8 beq a0, v1, 0x710e8 | goto label_66;
| }
0x000710dc addiu v0, zero, 1 | v0 = 1;
| label_10:
0x000710e0 sw v0, 0x84(sp) | *(var_84h) = v0;
0x000710e4 b 0x7101c |
| } while (1);
| label_66:
0x000710e8 addiu v0, zero, 1 | v0 = 1;
| if (v0 == 0) {
0x000710ec beqz v0, 0x710e0 | goto label_10;
| }
| label_12:
0x000710f0 lw a0, 0x64(sp) | a0 = *(var_64h);
0x000710f4 slt v0, a1, a0 | v0 = (a1 < a0) ? 1 : 0;
| label_65:
0x000710f8 lw v0, 0x68(sp) | v0 = *(var_68h);
| if (v0 != 0) {
0x000710fc bnez v0, 0x71118 | goto label_67;
| }
0x00071100 lw a3, 0x6c(sp) | a3 = *(var_6ch);
| if (a0 == a1) {
0x00071104 bnel a0, a1, 0x71234 | goto label_68;
| }
0x00071108 sltu v0, a3, s6 | v0 = (a3 < s6) ? 1 : 0;
| if (v0 == 0) {
0x0007110c beql v0, zero, 0x71234 | goto label_68;
| }
0x00071110 lw a3, 0x6c(sp) | a3 = *(var_6ch);
| do {
0x00071114 lw v0, 0x68(sp) | v0 = *(var_68h);
| label_67:
0x00071118 lw a0, 0x4c(sp) | a0 = *(var_4ch);
| if (v0 == 0) {
0x0007111c beqz v0, 0x71390 | goto label_69;
| }
0x00071120 slt v0, v1, a0 | v0 = (v1 < a0) ? 1 : 0;
0x00071124 lw a0, 0x48(sp) | a0 = *(var_48h);
| if (v0 == 0) {
0x00071128 bnel v0, zero, 0x7128c | goto label_70;
| }
0x0007112c slt a0, s2, a1 | a0 = (s2 < a1) ? 1 : 0;
| if (a0 == v1) {
0x00071130 bne a0, v1, 0x71148 |
0x00071134 lw v0, 0x48(sp) | v0 = *(var_48h);
0x00071138 sltu v0, a2, v0 | v0 = (a2 < v0) ? 1 : 0;
0x0007113c lw a0, 0x48(sp) | a0 = *(var_48h);
| if (v0 != 0) {
0x00071140 bnez v0, 0x7128c | goto label_70;
| }
0x00071144 slt a0, s2, a1 | a0 = (s2 < a1) ? 1 : 0;
| }
0x00071148 addiu v0, zero, 1 | v0 = 1;
| if (a0 != 0) {
0x0007114c bnez a0, 0x71378 | goto label_71;
| }
0x00071150 sltu a0, s1, a3 | a0 = (s1 < a3) ? 1 : 0;
| if (a1 == s2) {
0x00071154 beq a1, s2, 0x71370 | goto label_72;
| }
| label_14:
0x00071158 slt a0, a1, s2 | a0 = (a1 < s2) ? 1 : 0;
| if (a0 == 0) {
| label_15:
0x0007115c bnez a0, 0x7118c |
0x00071160 nop |
0x00071164 addiu a0, s1, 1 | a0 = s1 + 1;
| if (s2 == a1) {
0x00071168 bne s2, a1, 0x71178 |
0x0007116c sltu a0, a3, s1 | a0 = (a3 < s1) ? 1 : 0;
0x00071170 addiu a0, s1, 1 | a0 = s1 + 1;
| if (a0 != 0) {
0x00071174 bnez a0, 0x7118c | goto label_16;
| }
| }
0x00071178 sltu t0, a0, s1 | t0 = (a0 < s1) ? 1 : 0;
0x0007117c addu t0, t0, s2 | t0 += s2;
0x00071180 slt t1, t0, v1 | t1 = (t0 < v1) ? 1 : 0;
| if (t1 == 0) {
0x00071184 beqz t1, 0x713ac | goto label_73;
| }
0x00071188 nop |
| }
| label_16:
0x0007118c lw t9, -0x7324(gp) | t9 = sym.imp.apr_array_push;
| if (v0 != 0) {
0x00071190 bnez v0, 0x71318 | goto label_74;
| }
0x00071194 lw a0, 0x80(sp) | a0 = *(var_80h);
0x00071198 sw v1, 0xa4(sp) | *(var_a4h) = v1;
0x0007119c sw a2, 0x98(sp) | *(var_98h) = a2;
0x000711a0 sw a1, 0x94(sp) | *(var_94h) = a1;
0x000711a4 sw a3, 0x88(sp) | *(var_88h) = a3;
0x000711a8 jalr t9 | t9 ();
0x000711ac lw v1, 0x48(sp) | v1 = *(var_48h);
0x000711b0 lw a1, 0x4c(sp) | a1 = *(var_4ch);
0x000711b4 subu a0, s1, v1 | __asm ("subu a0, s1, v1");
0x000711b8 lw a2, 0x58(sp) | a2 = *(var_58h);
0x000711bc subu t1, s2, a1 | __asm ("subu t1, s2, a1");
0x000711c0 sltu t2, s1, a0 | t2 = (s1 < a0) ? 1 : 0;
0x000711c4 addiu t0, a0, 1 | t0 = a0 + 1;
0x000711c8 subu t1, t1, t2 | __asm ("subu t1, t1, t2");
0x000711cc sltu a0, t0, a0 | a0 = (t0 < a0) ? 1 : 0;
0x000711d0 addu t0, a2, t0 | t0 = a2 + t0;
0x000711d4 addu a0, a0, t1 | a0 += t1;
0x000711d8 sltu t1, t0, a2 | t1 = (t0 < a2) ? 1 : 0;
0x000711dc lw a2, 0x60(sp) | a2 = *(var_60h);
0x000711e0 lw gp, 0x38(sp) | gp = *(var_38h);
0x000711e4 addu a0, a2, a0 | a0 = a2 + a0;
0x000711e8 sw v1, (v0) | *(v0) = v1;
0x000711ec sw a1, 4(v0) | *((v0 + 1)) = a1;
0x000711f0 sw s1, 8(v0) | *((v0 + 2)) = s1;
0x000711f4 sw s2, 0xc(v0) | *((v0 + 3)) = s2;
0x000711f8 addu v0, t1, a0 | v0 = t1 + a0;
0x000711fc sw v0, 0x60(sp) | *(var_60h) = v0;
0x00071200 lw v0, 0x54(sp) | v0 = *(var_54h);
0x00071204 lw a3, 0x88(sp) | a3 = *(var_88h);
0x00071208 lw a1, 0x94(sp) | a1 = *(var_94h);
0x0007120c lw a2, 0x98(sp) | a2 = *(var_98h);
0x00071210 lw v1, 0xa4(sp) | v1 = *(var_a4h);
0x00071214 addiu v0, v0, 1 | v0++;
0x00071218 sw t0, 0x58(sp) | *(var_58h) = t0;
0x0007121c sw v0, 0x54(sp) | *(var_54h) = v0;
0x00071220 move s1, a3 | s1 = a3;
0x00071224 move s2, a1 | s2 = a1;
0x00071228 sw a2, 0x48(sp) | *(var_48h) = a2;
0x0007122c sw v1, 0x4c(sp) | *(var_4ch) = v1;
0x00071230 b 0x7101c | goto label_11;
| label_68:
0x00071234 lw a1, 0x70(sp) | a1 = *(var_70h);
0x00071238 b 0x71114 |
| } while (1);
| label_64:
0x0007123c move a2, zero | a2 = 0;
0x00071240 move v1, zero | v1 = 0;
0x00071244 b 0x710f0 | goto label_12;
| label_61:
0x00071248 lw t9, -0x7ebc(gp) | t9 = sym.ap_parse_strict_length;
0x0007124c move a1, t0 | a1 = t0;
0x00071250 addiu a0, sp, 0xc8 | a0 = sp + 0xc8;
0x00071254 jalr t9 | t9 ();
0x00071258 lw gp, 0x38(sp) | gp = *(var_38h);
| if (v0 == 0) {
0x0007125c beqz v0, 0x71368 | goto label_60;
| }
0x00071260 lw v0, 0xcc(sp) | v0 = *(var_cch);
0x00071264 lw a2, 0xc8(sp) | a2 = *(var_c8h);
| if (v0 <= 0) {
0x00071268 blez v0, 0x72168 | goto label_75;
| }
0x0007126c lw a0, 0x64(sp) | a0 = *(var_64h);
| label_47:
0x00071270 subu a2, s6, a2 | __asm ("subu a2, s6, a2");
0x00071274 sltu v1, s6, a2 | v1 = (s6 < a2) ? 1 : 0;
0x00071278 subu v0, a0, v0 | __asm ("subu v0, a0, v0");
0x0007127c subu v1, v0, v1 | __asm ("subu v1, v0, v1");
0x00071280 lw a3, 0x6c(sp) | a3 = *(var_6ch);
0x00071284 lw a1, 0x70(sp) | a1 = *(var_70h);
0x00071288 b 0x710c0 | goto label_13;
| label_70:
0x0007128c lw t0, 0x4c(sp) | t0 = *(var_4ch);
0x00071290 addiu v0, a0, -1 | v0 = a0 + -1;
0x00071294 addiu t0, t0, -1 | t0 += -1;
0x00071298 sltu a0, v0, a0 | a0 = (v0 < a0) ? 1 : 0;
0x0007129c addu a0, a0, t0 | a0 += t0;
0x000712a0 slt t0, a1, a0 | t0 = (a1 < a0) ? 1 : 0;
0x000712a4 move v0, zero | v0 = 0;
| if (t0 == 0) {
0x000712a8 bnel t0, zero, 0x71158 | goto label_14;
| }
0x000712ac slt v0, a1, s2 | v0 = (a1 < s2) ? 1 : 0;
| if (a0 == a1) {
0x000712b0 bnel a0, a1, 0x712c4 | goto label_76;
| }
0x000712b4 sltu v0, a3, v0 | v0 = (a3 < v0) ? 1 : 0;
0x000712b8 move v0, zero | v0 = 0;
| if (v0 != 0) {
0x000712bc bnez v0, 0x71158 | goto label_14;
| }
0x000712c0 slt v0, a1, s2 | v0 = (a1 < s2) ? 1 : 0;
| label_76:
0x000712c4 addiu s3, s3, 1 | s3++;
| if (v0 != 0) {
0x000712c8 bnez v0, 0x71380 | goto label_77;
| }
0x000712cc addiu v0, s1, 1 | v0 = s1 + 1;
| if (s2 == a1) {
0x000712d0 bne s2, a1, 0x712e4 |
0x000712d4 sltu v0, a3, s1 | v0 = (a3 < s1) ? 1 : 0;
0x000712d8 sw a2, 0x48(sp) | *(var_48h) = a2;
| if (v0 == 0) {
0x000712dc bnel v0, zero, 0x71384 | goto label_78;
| }
0x000712e0 addiu v0, s1, 1 | v0 = s1 + 1;
| }
0x000712e4 sltu a0, v0, s1 | a0 = (v0 < s1) ? 1 : 0;
0x000712e8 addu a0, a0, s2 | a0 += s2;
0x000712ec slt t0, a0, v1 | t0 = (a0 < v1) ? 1 : 0;
0x000712f0 sw a2, 0x48(sp) | *(var_48h) = a2;
| if (t0 == 0) {
0x000712f4 bnel t0, zero, 0x71384 | goto label_78;
| }
0x000712f8 sltu v0, v0, a2 | v0 = (v0 < a2) ? 1 : 0;
| if (v1 == a0) {
0x000712fc bne v1, a0, 0x71308 |
0x00071300 sw a2, 0x48(sp) | *(var_48h) = a2;
| if (v0 == 0) {
0x00071304 bnel v0, zero, 0x71384 | goto label_78;
| }
| }
0x00071308 sw a2, 0x48(sp) | *(var_48h) = a2;
0x0007130c sw v1, 0x4c(sp) | *(var_4ch) = v1;
0x00071310 move s1, a3 | s1 = a3;
0x00071314 move s2, a1 | s2 = a1;
| label_74:
0x00071318 addiu s4, s4, 1 | s4++;
0x0007131c b 0x7101c | goto label_11;
| label_62:
0x00071320 lw t9, -0x7ebc(gp) | t9 = sym.ap_parse_strict_length;
0x00071324 sw v1, 0x94(sp) | *(var_94h) = v1;
0x00071328 sw a2, 0x88(sp) | *(var_88h) = a2;
0x0007132c move a1, t0 | a1 = t0;
0x00071330 move a0, a3 | a0 = a3;
0x00071334 jalr t9 | t9 ();
0x00071338 lw gp, 0x38(sp) | gp = *(var_38h);
| if (v0 == 0) {
0x0007133c beqz v0, 0x71368 | goto label_60;
| }
0x00071340 lw a1, 0xcc(sp) | a1 = *(var_cch);
0x00071344 lw v1, 0x94(sp) | v1 = *(var_94h);
0x00071348 slt v0, a1, v1 | v0 = (a1 < v1) ? 1 : 0;
0x0007134c lw a3, 0xc8(sp) | a3 = *(var_c8h);
| if (v0 != 0) {
0x00071350 bnez v0, 0x71368 | goto label_60;
| }
0x00071354 lw a2, 0x88(sp) | a2 = *(var_88h);
| if (v1 != a1) {
0x00071358 bne v1, a1, 0x710c0 | goto label_13;
| }
0x0007135c sltu v0, a3, a2 | v0 = (a3 < a2) ? 1 : 0;
| if (v0 == 0) {
0x00071360 beqz v0, 0x710c0 | goto label_13;
| }
0x00071364 nop |
| label_60:
0x00071368 lw s0, 0x50(sp) | s0 = *(var_50h);
0x0007136c b 0x70cf4 | goto label_6;
| label_72:
0x00071370 slt a0, a1, s2 | a0 = (a1 < s2) ? 1 : 0;
| if (a0 == 0) {
0x00071374 beqz a0, 0x7115c | goto label_15;
| }
| label_71:
0x00071378 move v0, zero | v0 = 0;
0x0007137c b 0x71158 | goto label_14;
| label_77:
0x00071380 sw a2, 0x48(sp) | *(var_48h) = a2;
| label_78:
0x00071384 sw v1, 0x4c(sp) | *(var_4ch) = v1;
0x00071388 addiu s4, s4, 1 | s4++;
0x0007138c b 0x7101c | goto label_11;
| label_69:
0x00071390 addiu v0, zero, 1 | v0 = 1;
0x00071394 move s1, a3 | s1 = a3;
0x00071398 move s2, a1 | s2 = a1;
0x0007139c sw a2, 0x48(sp) | *(var_48h) = a2;
0x000713a0 sw v1, 0x4c(sp) | *(var_4ch) = v1;
0x000713a4 sw v0, 0x68(sp) | *(var_68h) = v0;
0x000713a8 b 0x7101c | goto label_11;
| label_73:
0x000713ac sltu a0, a0, a2 | a0 = (a0 < a2) ? 1 : 0;
| if (v1 != t0) {
0x000713b0 bne v1, t0, 0x713bc | goto label_79;
| }
| if (a0 != 0) {
0x000713b4 bnez a0, 0x7118c | goto label_16;
| }
0x000713b8 nop |
| label_79:
0x000713bc move s1, a3 | s1 = a3;
0x000713c0 move s2, a1 | s2 = a1;
0x000713c4 addiu s4, s4, 1 | s4++;
0x000713c8 b 0x7101c | goto label_11;
| label_59:
0x000713cc lw v0, 0x68(sp) | v0 = *(var_68h);
0x000713d0 lw t0, 0x9c(sp) | t0 = *(var_9ch);
0x000713d4 move t1, s7 | t1 = s7;
0x000713d8 move t2, fp | t2 = fp;
0x000713dc lw s0, 0x50(sp) | s0 = *(var_50h);
| if (v0 != 0) {
0x000713e0 bnez v0, 0x71604 | goto label_80;
| }
0x000713e4 lw v0, 0x54(sp) | v0 = *(var_54h);
0x000713e8 sw v0, 0x84(sp) | *(var_84h) = v0;
| if (v0 != 0) {
0x000713ec bnel v0, zero, 0x713fc |
0x000713f0 lw v0, 0x84(sp) | v0 = *(var_84h);
0x000713f4 addiu v0, zero, -1 | v0 = -1;
| if (v0 != 0) {
0x000713f8 bnez v0, 0x720b4 | goto label_81;
| }
| }
| label_17:
0x000713fc lw v1, 0x60(sp) | v1 = *(var_60h);
0x00071400 lw a0, 0x64(sp) | a0 = *(var_64h);
0x00071404 slt v0, a0, v1 | v0 = (a0 < v1) ? 1 : 0;
0x00071408 lw v1, -0x7838(gp) | v1 = *(gp);
| if (v0 != 0) {
0x0007140c bnel v0, zero, 0x71424 |
0x00071410 lw v0, 0x58(sp) | v0 = *(var_58h);
| if (v1 != a0) {
0x00071414 bne v1, a0, 0x71460 | goto label_82;
| }
0x00071418 sltu v0, s6, v0 | v0 = (s6 < v0) ? 1 : 0;
0x0007141c lw v1, -0x7838(gp) | v1 = *(gp);
| if (v0 == 0) {
0x00071420 beqz v0, 0x71460 | goto label_82;
| }
| }
0x00071424 lw v0, 0x44(sp) | v0 = *(var_44h);
0x00071428 lw a2, 8(v1) | a2 = *((v1 + 2));
0x0007142c lw v0, 0x108(v0) | v0 = *(v0);
| if (a2 < 0) {
0x00071430 bltz a2, 0x72088 | goto label_83;
| }
| if (v0 == 0) {
0x00071434 beql v0, zero, 0x71ff8 | goto label_84;
| }
0x00071438 lw v0, 0x44(sp) | v0 = *(var_44h);
0x0007143c lw v1, (v0) | v1 = *(v0);
0x00071440 addu v1, v1, a2 | v1 += a2;
| if (v1 == 0) {
0x00071444 beqz v1, 0x7203c | goto label_40;
| }
0x00071448 lb v1, (v1) | v1 = *(v1);
| if (v1 < 0) {
0x0007144c bltzl v1, 0x72040 | goto label_37;
| }
0x00071450 lw v0, 4(v0) | v0 = *((v0 + 1));
0x00071454 slti v0, v1, 8 | v0 = (v1 < 8) ? 1 : 0;
| label_36:
0x00071458 xori v0, v0, 1 | v0 ^= 1;
0x0007145c b 0x72048 | goto label_85;
| label_82:
0x00071460 lw v0, 0x44(sp) | v0 = *(var_44h);
0x00071464 lw t9, -0x775c(gp) | t9 = sym.imp.apr_array_make;
0x00071468 lw a1, 0x84(sp) | a1 = *(var_84h);
0x0007146c lw a0, (v0) | a0 = *(v0);
0x00071470 sw t2, 0x50(sp) | *(var_50h) = t2;
0x00071474 sw t1, 0x4c(sp) | *(var_4ch) = t1;
0x00071478 sw t0, 0x48(sp) | *(var_48h) = t0;
0x0007147c addiu a2, zero, 4 | a2 = 4;
0x00071480 jalr t9 | t9 ();
0x00071484 lw a0, 0x80(sp) | a0 = *(var_80h);
0x00071488 lw gp, 0x38(sp) | gp = *(var_38h);
0x0007148c move fp, v0 | fp = v0;
0x00071490 lw v1, 8(a0) | v1 = *((a0 + 2));
0x00071494 lw s2, 0x10(a0) | s2 = *((a0 + 4));
0x00071498 lw t0, 0x48(sp) | t0 = *(var_48h);
0x0007149c lw t1, 0x4c(sp) | t1 = *(var_4ch);
0x000714a0 lw t2, 0x50(sp) | t2 = *(var_50h);
| if (v1 <= 0) {
0x000714a4 blez v1, 0x7152c | goto label_86;
| }
0x000714a8 lw s1, -0x7fac(gp) | s1 = *(gp);
0x000714ac move s5, zero | s5 = 0;
| /* str._lld__lld */
0x000714b0 addiu s1, s1, 0x7908 | s1 += 0x7908;
| do {
0x000714b4 lw t9, -0x7324(gp) | t9 = sym.imp.apr_array_push;
0x000714b8 sw t2, 0x50(sp) | *(var_50h) = t2;
0x000714bc sw t1, 0x4c(sp) | *(var_4ch) = t1;
0x000714c0 sw t0, 0x48(sp) | *(var_48h) = t0;
0x000714c4 move a0, fp | a0 = fp;
0x000714c8 jalr t9 | t9 ();
0x000714cc lw gp, 0x38(sp) | gp = *(var_38h);
0x000714d0 lw v1, 0x44(sp) | v1 = *(var_44h);
0x000714d4 lw t4, 8(s2) | t4 = *((s2 + 2));
0x000714d8 lw t5, 0xc(s2) | t5 = *((s2 + 3));
0x000714dc lw a2, (s2) | a2 = *(s2);
0x000714e0 lw a3, 4(s2) | a3 = *((s2 + 1));
0x000714e4 lw a0, (v1) | a0 = *(v1);
0x000714e8 lw t9, -0x7540(gp) | t9 = sym.imp.apr_psprintf;
0x000714ec sw t4, 0x10(sp) | *(var_10h) = t4;
0x000714f0 sw t5, 0x14(sp) | *(var_14h) = t5;
0x000714f4 move a1, s1 | a1 = s1;
0x000714f8 move s7, v0 | s7 = v0;
0x000714fc jalr t9 | t9 ();
0x00071500 lw v1, 0x80(sp) | v1 = *(var_80h);
0x00071504 addiu s5, s5, 1 | s5++;
0x00071508 lw gp, 0x38(sp) | gp = *(var_38h);
0x0007150c lw v1, 8(v1) | v1 = *((v1 + 2));
0x00071510 sw v0, (s7) | *(s7) = v0;
0x00071514 slt v1, s5, v1 | v1 = (s5 < v1) ? 1 : 0;
0x00071518 addiu s2, s2, 0x10 | s2 += 0x10;
0x0007151c lw t0, 0x48(sp) | t0 = *(var_48h);
0x00071520 lw t1, 0x4c(sp) | t1 = *(var_4ch);
0x00071524 lw t2, 0x50(sp) | t2 = *(var_50h);
0x00071528 bnez v1, 0x714b4 |
| } while (v1 != 0);
| label_86:
0x0007152c lw s1, 0x44(sp) | s1 = *(var_44h);
0x00071530 lw t9, -0x75ec(gp) | t9 = sym.imp.apr_array_pstrcat
0x00071534 addiu v0, zero, 0xce | v0 = 0xce;
0x00071538 lw a0, (s1) | a0 = *(s1);
0x0007153c sw t2, 0x50(sp) | *(var_50h) = t2;
0x00071540 sw t1, 0x4c(sp) | *(var_4ch) = t1;
0x00071544 sw t0, 0x48(sp) | *(var_48h) = t0;
0x00071548 addiu a2, zero, 0x2c | a2 = 0x2c;
0x0007154c sw v0, 0x44(s1) | *((s1 + 17)) = v0;
0x00071550 move a1, fp | a1 = fp;
0x00071554 jalr t9 | t9 ();
0x00071558 lw gp, 0x38(sp) | gp = *(var_38h);
0x0007155c sw v0, 0x78(s1) | *((s1 + 30)) = v0;
0x00071560 lw t0, 0x48(sp) | t0 = *(var_48h);
0x00071564 lw v1, -0x7838(gp) | v1 = *(gp);
0x00071568 lw t1, 0x4c(sp) | t1 = *(var_4ch);
0x0007156c lw a2, 8(v1) | a2 = *((v1 + 2));
0x00071570 lw t2, 0x50(sp) | t2 = *(var_50h);
| if (a2 < 0) {
0x00071574 bltz a2, 0x720bc | goto label_87;
| }
0x00071578 lw v1, 0x44(sp) | v1 = *(var_44h);
0x0007157c lw v1, 0x108(v1) | v1 = *(v1);
| if (v1 == 0) {
0x00071580 beql v1, zero, 0x71690 | goto label_88;
| }
0x00071584 lw v1, 0x44(sp) | v1 = *(var_44h);
0x00071588 lw a0, (v1) | a0 = *(v1);
| if (a0 == 0) {
0x0007158c beql a0, zero, 0x716d8 | goto label_42;
| }
0x00071590 lw v1, 4(v1) | v1 = *((v1 + 1));
0x00071594 addu a0, a0, a2 | a0 += a2;
0x00071598 lb a0, (a0) | a0 = *(a0);
| if (a0 < 0) {
0x0007159c bltzl a0, 0x716d8 | goto label_42;
| }
0x000715a0 lw v1, 4(v1) | v1 = *((v1 + 1));
0x000715a4 slti v1, a0, 7 | v1 = (a0 < 7) ? 1 : 0;
| do {
0x000715a8 xori v1, v1, 1 | v1 ^= 1;
0x000715ac b 0x716e0 | goto label_89;
| label_63:
0x000715b0 lw t0, 0x9c(sp) | t0 = *(var_9ch);
0x000715b4 lw t9, -0x76c8(gp) | t9 = sym.imp.apr_array_clear;
0x000715b8 lw a0, 0x80(sp) | a0 = *(var_80h);
0x000715bc sw t0, 0x88(sp) | *(var_88h) = t0;
0x000715c0 sw s7, 0x84(sp) | *(var_84h) = s7;
0x000715c4 sw fp, 0x68(sp) | *(var_68h) = fp;
0x000715c8 sw a2, 0x58(sp) | *(var_58h) = a2;
0x000715cc sw v1, 0x60(sp) | *(var_60h) = v1;
0x000715d0 move s5, a2 | s5 = a2;
0x000715d4 move s7, v1 | s7 = v1;
0x000715d8 lw s0, 0x50(sp) | s0 = *(var_50h);
0x000715dc jalr t9 | t9 ();
0x000715e0 lw gp, 0x38(sp) | gp = *(var_38h);
0x000715e4 lw s1, 0x6c(sp) | s1 = *(var_6ch);
0x000715e8 lw s2, 0x70(sp) | s2 = *(var_70h);
0x000715ec lw t2, 0x68(sp) | t2 = *(var_68h);
0x000715f0 lw t1, 0x84(sp) | t1 = *(var_84h);
0x000715f4 lw t0, 0x88(sp) | t0 = *(var_88h);
0x000715f8 sw zero, 0x54(sp) | *(var_54h) = 0;
0x000715fc sw s5, 0x48(sp) | *(var_48h) = s5;
0x00071600 sw s7, 0x4c(sp) | *(var_4ch) = s7;
| label_80:
0x00071604 lw t9, -0x7324(gp) | t9 = sym.imp.apr_array_push;
0x00071608 lw a0, 0x80(sp) | a0 = *(var_80h);
0x0007160c sw t2, 0x6c(sp) | *(var_6ch) = t2;
0x00071610 sw t1, 0x68(sp) | *(var_68h) = t1;
0x00071614 sw t0, 0x50(sp) | *(var_50h) = t0;
0x00071618 jalr t9 | t9 ();
0x0007161c lw a3, 0x48(sp) | a3 = *(var_48h);
0x00071620 lw t0, 0x4c(sp) | t0 = *(var_4ch);
0x00071624 subu v1, s1, a3 | __asm ("subu v1, s1, a3");
0x00071628 sltu a2, s1, v1 | a2 = (s1 < v1) ? 1 : 0;
0x0007162c subu a1, s2, t0 | __asm ("subu a1, s2, t0");
0x00071630 subu a1, a1, a2 | __asm ("subu a1, a1, a2");
0x00071634 lw a2, 0x58(sp) | a2 = *(var_58h);
0x00071638 addiu a0, v1, 1 | a0 = v1 + 1;
0x0007163c sltu v1, a0, v1 | v1 = (a0 < v1) ? 1 : 0;
0x00071640 addu a0, a2, a0 | a0 = a2 + a0;
0x00071644 addu v1, v1, a1 | v1 += a1;
0x00071648 sltu a1, a0, a2 | a1 = (a0 < a2) ? 1 : 0;
0x0007164c lw a2, 0x60(sp) | a2 = *(var_60h);
0x00071650 lw gp, 0x38(sp) | gp = *(var_38h);
0x00071654 addu v1, a2, v1 | v1 = a2 + v1;
0x00071658 sw t0, 4(v0) | *((v0 + 1)) = t0;
0x0007165c sw a3, (v0) | *(v0) = a3;
0x00071660 sw s1, 8(v0) | *((v0 + 2)) = s1;
0x00071664 sw s2, 0xc(v0) | *((v0 + 3)) = s2;
0x00071668 addu v0, a1, v1 | v0 = a1 + v1;
0x0007166c sw v0, 0x60(sp) | *(var_60h) = v0;
0x00071670 lw v0, 0x54(sp) | v0 = *(var_54h);
0x00071674 sw a0, 0x58(sp) | *(var_58h) = a0;
0x00071678 addiu v0, v0, 1 | v0++;
0x0007167c sw v0, 0x84(sp) | *(var_84h) = v0;
0x00071680 lw t0, 0x50(sp) | t0 = *(var_50h);
0x00071684 lw t1, 0x68(sp) | t1 = *(var_68h);
0x00071688 lw t2, 0x6c(sp) | t2 = *(var_6ch);
0x0007168c b 0x713fc | goto label_17;
| label_88:
0x00071690 lw a1, 4(v1) | a1 = *((v1 + 1));
0x00071694 lw v1, 0x60(a1) | v1 = *((a1 + 24));
| if (v1 == 0) {
0x00071698 beql v1, zero, 0x720d8 | goto label_90;
| }
0x0007169c lw v1, 0x44(sp) | v1 = *(var_44h);
0x000716a0 lw a0, (v1) | a0 = *(v1);
| if (a0 == 0) {
0x000716a4 beql a0, zero, 0x716d8 | goto label_42;
| }
0x000716a8 lw v1, 4(v1) | v1 = *((v1 + 1));
0x000716ac addu a0, a0, a2 | a0 += a2;
| label_44:
0x000716b0 lb a0, (a0) | a0 = *(a0);
0x000716b4 slti v1, a0, 7 | v1 = (a0 < 7) ? 1 : 0;
0x000716b8 bgez a0, 0x715a8 |
| } while (a0 >= 0);
| label_43:
0x000716bc lw v1, 0x60(a1) | v1 = *((a1 + 24));
0x000716c0 lw v1, 4(v1) | v1 = *((v1 + 1));
| if (v1 != 0) {
0x000716c4 bnel v1, zero, 0x716d8 |
0x000716c8 lw v1, 0x44(sp) | v1 = *(var_44h);
0x000716cc lw v1, 8(v1) | v1 = *((v1 + 2));
0x000716d0 addiu v1, v1, 0x10 | v1 += 0x10;
| label_45:
0x000716d4 lw v1, 4(v1) | v1 = *((v1 + 1));
| }
| label_42:
0x000716d8 slti v1, v1, 7 | v1 = (v1 < 7) ? 1 : 0;
0x000716dc xori v1, v1, 1 | v1 ^= 1;
| label_89:
0x000716e0 sw v0, 0x20(sp) | *(var_20h) = v0;
| if (v1 == 0) {
0x000716e4 bnel v1, zero, 0x720f0 | goto label_91;
| }
| label_46:
0x000716e8 lw v0, 0x84(sp) | v0 = *(var_84h);
0x000716ec lw v0, 0x44(sp) | v0 = *(var_44h);
| if (v0 == 0) {
0x000716f0 beqz v0, 0x70cf8 | goto label_7;
| }
| label_41:
0x000716f4 lw v0, 0x84(sp) | v0 = *(var_84h);
| if (t0 < 0) {
0x000716f8 bltz t0, 0x71708 | goto label_92;
| }
0x000716fc slt t0, t0, v0 | t0 = (t0 < v0) ? 1 : 0;
0x00071700 lw v0, 0x44(sp) | v0 = *(var_44h);
| if (t0 != 0) {
0x00071704 bnez t0, 0x70cf8 | goto label_7;
| }
| label_92:
0x00071708 sltu t1, t1, s4 | t1 = (t1 < s4) ? 1 : 0;
0x0007170c sltu t2, t2, s3 | t2 = (t2 < s3) ? 1 : 0;
| if (t1 != 0) {
0x00071710 bnez t1, 0x70cf4 | goto label_6;
| }
0x00071714 lw t9, -0x7344(gp) | t9 = sym.imp.apr_brigade_create;
| if (t2 != 0) {
0x00071718 bnez t2, 0x70cf4 | goto label_6;
| }
0x0007171c lw v0, 0x90(sp) | v0 = *(var_90h);
0x00071720 lw a1, 0x40(v0) | a1 = *((v0 + 16));
0x00071724 lw v0, 0x44(sp) | v0 = *(var_44h);
0x00071728 lw a0, (v0) | a0 = *(v0);
0x0007172c jalr t9 | t9 ();
0x00071730 sw v0, 0x6c(sp) | *(var_6ch) = v0;
0x00071734 lw v0, 0x84(sp) | v0 = *(var_84h);
0x00071738 addiu v1, zero, -1 | v1 = -1;
0x0007173c lw gp, 0x38(sp) | gp = *(var_38h);
| if (v0 == v1) {
0x00071740 beq v0, v1, 0x71fa8 | goto label_93;
| }
0x00071744 lw v0, 0x84(sp) | v0 = *(var_84h);
0x00071748 slti v0, v0, 2 | v0 = (v0 < 2) ? 1 : 0;
0x0007174c sw v0, 0xbc(sp) | *(var_bch) = v0;
| if (v0 == 0) {
0x00071750 beqz v0, 0x71e84 | goto label_94;
| }
0x00071754 sw zero, 0x98(sp) | *(var_98h) = 0;
| label_33:
0x00071758 lw v0, 0x90(sp) | v0 = *(var_90h);
0x0007175c lw t9, -0x7344(gp) | t9 = sym.imp.apr_brigade_create;
0x00071760 sw zero, 0x50(sp) | *(var_50h) = 0;
0x00071764 lw a1, 0x40(v0) | a1 = *((v0 + 16));
0x00071768 lw v0, 0x44(sp) | v0 = *(var_44h);
0x0007176c lw a0, (v0) | a0 = *(v0);
0x00071770 jalr t9 | t9 ();
0x00071774 lw a0, 0x80(sp) | a0 = *(var_80h);
0x00071778 move s5, v0 | s5 = v0;
0x0007177c lw gp, 0x38(sp) | gp = *(var_38h);
0x00071780 lw v0, 0x10(a0) | v0 = *((a0 + 4));
0x00071784 lw v1, 8(a0) | v1 = *((a0 + 2));
0x00071788 sw v0, 0x4c(sp) | *(var_4ch) = v0;
| if (v1 <= 0) {
0x0007178c blez v1, 0x71fa8 | goto label_93;
| }
0x00071790 lw v0, -0x7fac(gp) | v0 = *(gp);
0x00071794 sw s6, 0x88(sp) | *(var_88h) = s6;
| /* str.AH01584:_copy_brigade_range___failed___lld__lld__lld_ */
0x00071798 addiu v0, v0, 0x79a0 | v0 += 0x79a0;
0x0007179c sw v0, 0xb0(sp) | *(var_b0h) = v0;
0x000717a0 lw v0, -0x7fac(gp) | v0 = *(gp);
| /* str._usr_src_debug_apache2_2.4.57_r0_httpd_2.4.57_modules_http_byterange_filter.c */
0x000717a4 addiu v0, v0, 0x788c | v0 += 0x788c;
0x000717a8 sw v0, 0xb4(sp) | *(var_b4h) = v0;
0x000717ac lw v0, -0x7fac(gp) | v0 = *(gp);
0x000717b0 sw v0, 0xb8(sp) | *(var_b8h) = v0;
0x000717b4 lw v0, -0x7fac(gp) | v0 = *(gp);
| /* str._lld__lld__lld_r_n_r_n */
0x000717b8 addiu v0, v0, 0x79f0 | v0 += aav.0x000079f0;
0x000717bc sw v0, 0x9c(sp) | *(var_9ch) = v0;
0x000717c0 lw v0, -0x7fac(gp) | v0 = *(gp);
0x000717c4 sw v0, 0xa8(sp) | *(var_a8h) = v0;
| label_22:
0x000717c8 lw v0, 0x4c(sp) | v0 = *(var_4ch);
0x000717cc lw a0, (v0) | a0 = *(v0);
0x000717d0 lw v1, 4(v0) | v1 = *((v0 + 1));
0x000717d4 sw a0, 0x54(sp) | *(var_54h) = a0;
0x000717d8 lw a0, 8(v0) | a0 = *((v0 + 2));
0x000717dc sw v1, 0x48(sp) | *(var_48h) = v1;
0x000717e0 sw a0, 0x58(sp) | *(var_58h) = a0;
0x000717e4 lw s0, 0xc(v0) | s0 = *((v0 + 3));
| if (v1 < 0) {
0x000717e8 bltz v1, 0x71b9c | goto label_95;
| }
0x000717ec sltu v0, s0, v1 | v0 = (s0 < v1) ? 1 : 0;
| if (s0 < 0) {
0x000717f0 bltz s0, 0x71b9c | goto label_95;
| }
0x000717f4 addiu a1, zero, 0x16 | a1 = 0x16;
| if (v0 != 0) {
0x000717f8 bnez v0, 0x71ba0 | goto label_28;
| }
0x000717fc lw v0, 0x54(sp) | v0 = *(var_54h);
| if (v1 == s0) {
0x00071800 beq v1, s0, 0x71b90 | goto label_96;
| }
0x00071804 lw v0, 0x5c(sp) | v0 = *(var_5ch);
| label_21:
0x00071808 lw a1, 0x7c(sp) | a1 = *(var_7ch);
0x0007180c lw s6, 4(v0) | s6 = *((v0 + 1));
0x00071810 move s3, zero | s3 = 0;
| if (a1 == s6) {
0x00071814 beq a1, s6, 0x71b9c | goto label_95;
| }
0x00071818 sw zero, 0x68(sp) | *(var_68h) = 0;
0x0007181c sw zero, 0x60(sp) | *(var_60h) = 0;
0x00071820 move s2, zero | s2 = 0;
0x00071824 move s1, zero | s1 = 0;
0x00071828 lw a2, 0x48(sp) | a2 = *(var_48h);
0x0007182c b 0x71854 |
| while (s1 != 0) {
0x00071830 sltu a0, s0, v0 | a0 = (s0 < v0) ? 1 : 0;
| if (a0 != 0) {
| label_18:
0x00071834 bnez a0, 0x7189c | goto label_27;
| }
0x00071838 nop |
| label_19:
0x0007183c lw a0, 0x58(sp) | a0 = *(var_58h);
| if (v0 == s0) {
0x00071840 beq v0, s0, 0x71d48 | goto label_97;
| }
| label_26:
0x00071844 lw s6, (s6) | s6 = *(s6);
0x00071848 move s3, v1 | s3 = v1;
0x0007184c move s2, v0 | s2 = v0;
| if (a1 == s6) {
0x00071850 beq a1, s6, 0x71b9c | goto label_95;
| }
0x00071854 lw v0, 0xc(s6) | v0 = *((s6 + 3));
0x00071858 addu v1, v0, s3 | v1 = v0 + s3;
0x0007185c sltu v0, v1, v0 | v0 = (v1 < v0) ? 1 : 0;
0x00071860 addu v0, v0, s2 | v0 += s2;
0x00071864 bnez s1, 0x71830 |
| }
0x00071868 sltu a0, a2, v0 | a0 = (a2 < v0) ? 1 : 0;
0x0007186c sltu a0, s0, v0 | a0 = (s0 < v0) ? 1 : 0;
| if (a0 != 0) {
0x00071870 bnez a0, 0x7188c | goto label_98;
| }
| if (v0 != a2) {
0x00071874 bne v0, a2, 0x71834 | goto label_18;
| }
0x00071878 nop |
0x0007187c lw a0, 0x54(sp) | a0 = *(var_54h);
0x00071880 sltu a0, a0, v1 | a0 = (a0 < v1) ? 1 : 0;
0x00071884 sltu a0, s0, v0 | a0 = (s0 < v0) ? 1 : 0;
| if (a0 == 0) {
0x00071888 beqz a0, 0x71834 | goto label_18;
| }
| label_98:
0x0007188c sw s3, 0x68(sp) | *(var_68h) = s3;
0x00071890 sw s2, 0x60(sp) | *(var_60h) = s2;
0x00071894 move s1, s6 | s1 = s6;
| if (a0 == 0) {
0x00071898 beqz a0, 0x7183c | goto label_19;
| }
| label_27:
0x0007189c lw v0, 0x54(sp) | v0 = *(var_54h);
| if (s1 == 0) {
0x000718a0 beqz s1, 0x71b9c | goto label_95;
| }
0x000718a4 lw v1, 0x68(sp) | v1 = *(var_68h);
0x000718a8 move a1, zero | a1 = 0;
0x000718ac subu a0, v0, v1 | __asm ("subu a0, v0, v1");
0x000718b0 addiu s4, s5, 4 | s4 = s5 + 4;
0x000718b4 sw s0, 0x94(sp) | *(var_94h) = s0;
0x000718b8 sw s3, 0xa0(sp) | *(var_a0h) = s3;
0x000718bc sw s2, 0xa4(sp) | *(var_a4h) = s2;
0x000718c0 move s3, s5 | s3 = s5;
0x000718c4 addiu fp, sp, 0xc8 | fp = sp + 0xc8;
0x000718c8 sw a0, 0x70(sp) | *(var_70h) = a0;
0x000718cc move s0, v0 | s0 = v0;
0x000718d0 move s5, s1 | s5 = s1;
0x000718d4 move s7, v1 | s7 = v1;
0x000718d8 move s2, a1 | s2 = a1;
0x000718dc b 0x718ec |
| while (s5 != s1) {
| if (s5 == s6) {
| label_25:
0x000718e0 beql s5, s6, 0x7199c | goto label_99;
| }
0x000718e4 move s5, s3 | s5 = s3;
| label_20:
0x000718e8 lw s5, (s5) | s5 = *(s5);
0x000718ec lw v0, 8(s5) | v0 = *((s5 + 2));
0x000718f0 move a1, fp | a1 = fp;
0x000718f4 lw t9, 0x1c(v0) | t9 = *((v0 + 7));
0x000718f8 move a0, s5 | a0 = s5;
0x000718fc jalr t9 | t9 ();
0x00071900 lw gp, 0x38(sp) | gp = *(var_38h);
| if (v0 != 0) {
0x00071904 bnez v0, 0x71d5c | goto label_100;
| }
0x00071908 lw a0, 0xc8(sp) | a0 = *(var_c8h);
0x0007190c sw s4, (a0) | *(a0) = s4;
0x00071910 lw v0, 8(s3) | v0 = *((s3 + 2));
0x00071914 sw v0, 4(a0) | *((a0 + 1)) = v0;
0x00071918 lw v0, 8(s3) | v0 = *((s3 + 2));
0x0007191c sw a0, (v0) | *(v0) = a0;
0x00071920 sw a0, 8(s3) | *((s3 + 2)) = a0;
0x00071924 bne s5, s1, 0x718e0 |
| }
0x00071928 nop |
0x0007192c lw v0, 0x48(sp) | v0 = *(var_48h);
| if (s0 == s7) {
0x00071930 beq s0, s7, 0x71d34 | goto label_101;
| }
0x00071934 lw v0, 8(a0) | v0 = *((a0 + 2));
| label_24:
0x00071938 lw t9, 0x18(v0) | t9 = *((v0 + 6));
0x0007193c lw a1, 0x70(sp) | a1 = *(var_70h);
0x00071940 jalr t9 | t9 ();
0x00071944 lw gp, 0x38(sp) | gp = *(var_38h);
| if (v0 != 0) {
0x00071948 bnez v0, 0x71d5c | goto label_100;
| }
0x0007194c lw v0, 0xc8(sp) | v0 = *(var_c8h);
0x00071950 lw s2, (v0) | s2 = *(v0);
0x00071954 lw a0, 4(v0) | a0 = *((v0 + 1));
0x00071958 lw a1, (v0) | a1 = *(v0);
0x0007195c lw t0, 8(v0) | t0 = *((v0 + 2));
0x00071960 sw a1, (a0) | *(a0) = a1;
0x00071964 lw a1, (v0) | a1 = *(v0);
0x00071968 lw a3, 4(v0) | a3 = *((v0 + 1));
0x0007196c lw a0, 0x18(v0) | a0 = *((v0 + 6));
0x00071970 lw t9, 0xc(t0) | t9 = *((t0 + 3));
0x00071974 sw a3, 4(a1) | *((a1 + 1)) = a3;
0x00071978 jalr t9 | t9 ();
0x0007197c nop |
0x00071980 lw v0, 0xc8(sp) | v0 = *(var_c8h);
0x00071984 lw t9, 0x1c(v0) | t9 = *((v0 + 7));
0x00071988 move a0, v0 | a0 = v0;
0x0007198c jalr t9 | t9 ();
0x00071990 lw gp, 0x38(sp) | gp = *(var_38h);
| if (s5 != s6) {
0x00071994 bne s5, s6, 0x718e8 | goto label_20;
| }
0x00071998 move s5, s3 | s5 = s3;
| label_99:
0x0007199c move a1, s2 | a1 = s2;
0x000719a0 lw s0, 0x94(sp) | s0 = *(var_94h);
0x000719a4 lw s3, 0xa0(sp) | s3 = *(var_a0h);
0x000719a8 lw s2, 0xa4(sp) | s2 = *(var_a4h);
| if (s1 == s6) {
0x000719ac beq s1, s6, 0x71e4c | goto label_102;
| }
| label_32:
0x000719b0 lw a0, 0x58(sp) | a0 = *(var_58h);
0x000719b4 lw v1, 0xc(s6) | v1 = *((s6 + 3));
0x000719b8 subu v0, a0, s3 | __asm ("subu v0, a0, s3");
0x000719bc sltu a0, a0, v0 | a0 = (a0 < v0) ? 1 : 0;
0x000719c0 subu s2, s0, s2 | __asm ("subu s2, s0, s2");
0x000719c4 subu s2, s2, a0 | __asm ("subu s2, s2, a0");
| if (v0 == v1) {
0x000719c8 beq v0, v1, 0x71e3c | goto label_103;
| }
0x000719cc lw a0, 0xc8(sp) | a0 = *(var_c8h);
| label_30:
0x000719d0 lw v0, 0x58(sp) | v0 = *(var_58h);
0x000719d4 addiu a1, v0, 1 | a1 = v0 + 1;
0x000719d8 lw v0, 8(a0) | v0 = *((a0 + 2));
0x000719dc lw t9, 0x18(v0) | t9 = *((v0 + 6));
0x000719e0 subu a1, a1, s3 | __asm ("subu a1, a1, s3");
0x000719e4 jalr t9 | t9 ();
0x000719e8 lw gp, 0x38(sp) | gp = *(var_38h);
| if (v0 != 0) {
0x000719ec bnez v0, 0x71fa0 | goto label_104;
| }
0x000719f0 lw v0, 0xc8(sp) | v0 = *(var_c8h);
0x000719f4 lw v0, (v0) | v0 = *(v0);
0x000719f8 sw v0, 0xc8(sp) | *(var_c8h) = v0;
| if (s4 != v0) {
0x000719fc beq s4, v0, 0x71a40 |
0x00071a00 lw v1, 4(v0) | v1 = *((v0 + 1));
0x00071a04 lw a0, (v0) | a0 = *(v0);
0x00071a08 lw a2, 8(v0) | a2 = *((v0 + 2));
0x00071a0c sw a0, (v1) | *(v1) = a0;
0x00071a10 lw v1, (v0) | v1 = *(v0);
0x00071a14 lw a1, 4(v0) | a1 = *((v0 + 1));
0x00071a18 lw a0, 0x18(v0) | a0 = *((v0 + 6));
0x00071a1c lw t9, 0xc(a2) | t9 = *((a2 + 3));
0x00071a20 sw a1, 4(v1) | *((v1 + 1)) = a1;
0x00071a24 jalr t9 | t9 ();
0x00071a28 nop |
0x00071a2c lw v0, 0xc8(sp) | v0 = *(var_c8h);
0x00071a30 lw t9, 0x1c(v0) | t9 = *((v0 + 7));
0x00071a34 move a0, v0 | a0 = v0;
0x00071a38 jalr t9 | t9 ();
0x00071a3c lw gp, 0x38(sp) | gp = *(var_38h);
| }
0x00071a40 lw v1, 0x44(sp) | v1 = *(var_44h);
| label_31:
0x00071a44 addiu v0, zero, 1 | v0 = 1;
0x00071a48 lw s1, (v1) | s1 = *(v1);
0x00071a4c lw v1, 0x84(sp) | v1 = *(var_84h);
0x00071a50 lw s2, 0x98(sp) | s2 = *(var_98h);
| if (v1 == v0) {
0x00071a54 beq v1, v0, 0x71dd8 | goto label_105;
| }
0x00071a58 lw t9, -0x74c4(gp) | t9 = sym.imp.strlen;
0x00071a5c move a0, s2 | a0 = s2;
0x00071a60 jalr t9 | t9 ();
0x00071a64 lw gp, 0x38(sp) | gp = *(var_38h);
0x00071a68 lw s3, 0x90(sp) | s3 = *(var_90h);
0x00071a6c move a2, s1 | a2 = s1;
0x00071a70 lw t9, -0x7548(gp) | t9 = sym.imp.apr_bucket_pool_create;
0x00071a74 lw a3, 0x40(s3) | a3 = *((s3 + 16));
0x00071a78 move a0, s2 | a0 = s2;
0x00071a7c move a1, v0 | a1 = v0;
0x00071a80 jalr t9 | t9 ();
0x00071a84 lw s2, 0x6c(sp) | s2 = *(var_6ch);
0x00071a88 lw gp, 0x38(sp) | gp = *(var_38h);
0x00071a8c addiu s1, s2, 4 | s1 = s2 + 4;
0x00071a90 sw s1, (v0) | *(v0) = s1;
0x00071a94 lw s6, 0x44(sp) | s6 = *(var_44h);
0x00071a98 lw v1, 8(s2) | v1 = *((s2 + 2));
0x00071a9c lw a2, 0x54(sp) | a2 = *(var_54h);
0x00071aa0 lw a0, (s6) | a0 = *(s6);
0x00071aa4 sw v1, 4(v0) | *((v0 + 1)) = v1;
0x00071aa8 lw v1, 8(s2) | v1 = *((s2 + 2));
0x00071aac lw t9, -0x7540(gp) | t9 = sym.imp.apr_psprintf;
0x00071ab0 lw a3, 0x48(sp) | a3 = *(var_48h);
0x00071ab4 sw v0, (v1) | *(v1) = v0;
0x00071ab8 sw v0, 8(s2) | *((s2 + 2)) = v0;
0x00071abc lw v0, 0x88(sp) | v0 = *(var_88h);
0x00071ac0 lw a1, 0x9c(sp) | a1 = *(var_9ch);
0x00071ac4 sw v0, 0x18(sp) | *(var_18h) = v0;
0x00071ac8 lw v0, 0x64(sp) | v0 = *(var_64h);
0x00071acc sw s0, 0x14(sp) | *(var_14h) = s0;
0x00071ad0 sw v0, 0x1c(sp) | *(var_1ch) = v0;
0x00071ad4 lw v0, 0x58(sp) | v0 = *(var_58h);
0x00071ad8 sw v0, 0x10(sp) | *(var_10h) = v0;
0x00071adc jalr t9 | t9 ();
0x00071ae0 lw gp, 0x38(sp) | gp = *(var_38h);
0x00071ae4 move a0, v0 | a0 = v0;
0x00071ae8 lw t9, -0x74c4(gp) | t9 = sym.imp.strlen;
0x00071aec move s0, v0 | s0 = v0;
0x00071af0 jalr t9 | t9 ();
0x00071af4 lw gp, 0x38(sp) | gp = *(var_38h);
0x00071af8 lw a3, 0x40(s3) | a3 = *((s3 + 16));
0x00071afc lw a2, (s6) | a2 = *(s6);
0x00071b00 lw t9, -0x7548(gp) | t9 = sym.imp.apr_bucket_pool_create;
0x00071b04 move a1, v0 | a1 = v0;
0x00071b08 move a0, s0 | a0 = s0;
0x00071b0c jalr t9 | t9 ();
0x00071b10 lw gp, 0x38(sp) | gp = *(var_38h);
0x00071b14 sw s1, (v0) | *(v0) = s1;
0x00071b18 lw v1, 8(s2) | v1 = *((s2 + 2));
0x00071b1c sw v1, 4(v0) | *((v0 + 1)) = v1;
0x00071b20 lw v1, 8(s2) | v1 = *((s2 + 2));
0x00071b24 sw v0, (v1) | *(v1) = v0;
0x00071b28 sw v0, 8(s2) | *((s2 + 2)) = v0;
| label_29:
0x00071b2c lw v0, 4(s5) | v0 = *((s5 + 1));
0x00071b30 lw v0, 0x50(sp) | v0 = *(var_50h);
| if (v0 != s4) {
0x00071b34 beq v0, s4, 0x71b74 |
0x00071b38 lw v0, 8(s5) | v0 = *((s5 + 2));
0x00071b3c lw a0, 0x6c(sp) | a0 = *(var_6ch);
0x00071b40 addiu v1, a0, 4 | v1 = a0 + 4;
0x00071b44 sw v1, (v0) | *(v0) = v1;
0x00071b48 lw v0, 4(s5) | v0 = *((s5 + 1));
0x00071b4c lw v1, 8(a0) | v1 = *((a0 + 2));
0x00071b50 sw v1, 4(v0) | *((v0 + 1)) = v1;
0x00071b54 lw v0, 8(a0) | v0 = *((a0 + 2));
0x00071b58 lw v1, 4(s5) | v1 = *((s5 + 1));
0x00071b5c sw v1, (v0) | *(v0) = v1;
0x00071b60 lw v0, 8(s5) | v0 = *((s5 + 2));
0x00071b64 sw v0, 8(a0) | *((a0 + 2)) = v0;
0x00071b68 sw s4, 4(s5) | *((s5 + 1)) = s4;
0x00071b6c sw s4, 8(s5) | *((s5 + 2)) = s4;
0x00071b70 lw v0, 0x50(sp) | v0 = *(var_50h);
| }
| if (v0 == 0) {
0x00071b74 beql v0, zero, 0x71b88 | goto label_106;
| }
0x00071b78 addiu v0, zero, 1 | v0 = 1;
0x00071b7c andi v0, v0, 0x1f | v0 &= 0x1f;
0x00071b80 addiu v0, zero, 1 | v0 = 1;
| if (v0 == 0) {
0x00071b84 beqz v0, 0x71d80 | void (*0x71d80)() ();
| }
| label_106:
0x00071b88 sw v0, 0x8c(sp) | *(var_8ch) = v0;
0x00071b8c b 0x71c00 | goto label_107;
| label_96:
0x00071b90 sltu v0, a0, v0 | v0 = (a0 < v0) ? 1 : 0;
0x00071b94 lw v0, 0x5c(sp) | v0 = *(var_5ch);
| if (v0 == 0) {
0x00071b98 beqz v0, 0x71808 | goto label_21;
| }
| label_95:
0x00071b9c addiu a1, zero, 0x16 | a1 = 0x16;
| label_28:
0x00071ba0 lw v0, 0x88(sp) | v0 = *(var_88h);
0x00071ba4 lw t9, -0x7f08(gp) | t9 = sym.ap_log_rerror_;
0x00071ba8 sw v0, 0x30(sp) | *(var_30h) = v0;
0x00071bac lw v0, -0x7838(gp) | v0 = *(gp);
0x00071bb0 lw a0, 0xb4(sp) | a0 = *(var_b4h);
0x00071bb4 addiu a3, zero, 3 | a3 = 3;
0x00071bb8 lw a2, 8(v0) | a2 = *((v0 + 2));
0x00071bbc lw v0, 0x64(sp) | v0 = *(var_64h);
0x00071bc0 sw a1, 0x10(sp) | *(var_10h) = a1;
0x00071bc4 sw v0, 0x34(sp) | *(var_34h) = v0;
0x00071bc8 lw v0, 0x58(sp) | v0 = *(var_58h);
0x00071bcc sw s0, 0x2c(sp) | *(var_2ch) = s0;
0x00071bd0 sw v0, 0x28(sp) | *(var_28h) = v0;
0x00071bd4 lw v0, 0x54(sp) | v0 = *(var_54h);
0x00071bd8 addiu a1, zero, 0x21d | a1 = 0x21d;
0x00071bdc sw v0, 0x20(sp) | *(var_20h) = v0;
0x00071be0 lw v0, 0x48(sp) | v0 = *(var_48h);
0x00071be4 sw v0, 0x24(sp) | *(var_24h) = v0;
0x00071be8 lw v0, 0xb0(sp) | v0 = *(var_b0h);
0x00071bec sw v0, 0x18(sp) | *(var_18h) = v0;
0x00071bf0 lw v0, 0x44(sp) | v0 = *(var_44h);
0x00071bf4 sw v0, 0x14(sp) | *(var_14h) = v0;
0x00071bf8 bal 0x530a8 | sym_ap_log_rerror_ ();
0x00071bfc lw gp, 0x38(sp) | gp = *(var_38h);
| label_107:
0x00071c00 lw v0, 0x80(sp) | v0 = *(var_80h);
0x00071c04 lw v1, 0x50(sp) | v1 = *(var_50h);
0x00071c08 lw v0, 8(v0) | v0 = *((v0 + 2));
0x00071c0c addiu v1, v1, 1 | v1++;
0x00071c10 sw v1, 0x50(sp) | *(var_50h) = v1;
0x00071c14 slt v0, v1, v0 | v0 = (v1 < v0) ? 1 : 0;
0x00071c18 lw v1, 0x4c(sp) | v1 = *(var_4ch);
0x00071c1c addiu v1, v1, 0x10 | v1 += 0x10;
0x00071c20 sw v1, 0x4c(sp) | *(var_4ch) = v1;
| if (v0 != 0) {
0x00071c24 bnez v0, 0x717c8 | goto label_22;
| }
0x00071c28 lw v0, 0x8c(sp) | v0 = *(var_8ch);
0x00071c2c lw s2, 0x6c(sp) | s2 = *(var_6ch);
| if (v0 == 0) {
0x00071c30 beqz v0, 0x71fa8 | goto label_93;
| }
0x00071c34 lw v0, 0xbc(sp) | v0 = *(var_bch);
0x00071c38 addiu s0, s2, 4 | s0 = s2 + 4;
| if (v0 == 0) {
0x00071c3c bnez v0, 0x71cc4 |
0x00071c40 lw s3, 0x44(sp) | s3 = *(var_44h);
0x00071c44 lw a3, -0x7fac(gp) | a3 = *(gp);
0x00071c48 lw a1, -0x7fac(gp) | a1 = *(gp);
0x00071c4c lw v0, (s3) | v0 = *(s3);
0x00071c50 lw t9, -0x76e8(gp) | t9 = sym.imp.apr_pstrcat
0x00071c54 sw v0, 0x44(sp) | *(var_44h) = v0;
0x00071c58 lw v0, -0x785c(gp) | v0 = *(gp);
0x00071c5c lw a0, 0x44(sp) | a0 = *(var_44h);
| /* str.___r_n */
0x00071c60 addiu a3, a3, 0x7a04 | a3 += 0x7a04;
0x00071c64 lw a2, (v0) | a2 = *(v0);
| /* str._r_n__ */
0x00071c68 addiu a1, a1, 0x7980 | a1 += 0x7980;
0x00071c6c sw zero, 0x10(sp) | *(var_10h) = 0;
0x00071c70 jalr t9 | t9 ();
0x00071c74 lw gp, 0x38(sp) | gp = *(var_38h);
0x00071c78 move a0, v0 | a0 = v0;
0x00071c7c lw t9, -0x74c4(gp) | t9 = sym.imp.strlen;
0x00071c80 move s1, v0 | s1 = v0;
0x00071c84 jalr t9 | t9 ();
0x00071c88 lw gp, 0x38(sp) | gp = *(var_38h);
0x00071c8c lw v1, 0x90(sp) | v1 = *(var_90h);
0x00071c90 lw a2, (s3) | a2 = *(s3);
0x00071c94 lw t9, -0x7548(gp) | t9 = sym.imp.apr_bucket_pool_create;
0x00071c98 lw a3, 0x40(v1) | a3 = *((v1 + 16));
0x00071c9c move a1, v0 | a1 = v0;
0x00071ca0 move a0, s1 | a0 = s1;
0x00071ca4 jalr t9 | t9 ();
0x00071ca8 lw gp, 0x38(sp) | gp = *(var_38h);
0x00071cac sw s0, (v0) | *(v0) = s0;
0x00071cb0 lw v1, 8(s2) | v1 = *((s2 + 2));
0x00071cb4 sw v1, 4(v0) | *((v0 + 1)) = v1;
0x00071cb8 lw v1, 8(s2) | v1 = *((s2 + 2));
0x00071cbc sw v0, (v1) | *(v1) = v0;
0x00071cc0 sw v0, 8(s2) | *((s2 + 2)) = v0;
| }
0x00071cc4 lw v0, 0x90(sp) | v0 = *(var_90h);
0x00071cc8 lw t9, -0x75d0(gp) | t9 = *(gp);
0x00071ccc lw a0, 0x40(v0) | a0 = *((v0 + 16));
0x00071cd0 jalr t9 | t9 ();
0x00071cd4 lw gp, 0x38(sp) | gp = *(var_38h);
0x00071cd8 sw s0, (v0) | *(v0) = s0;
0x00071cdc lw s0, 0x6c(sp) | s0 = *(var_6ch);
0x00071ce0 lw a0, 0x5c(sp) | a0 = *(var_5ch);
0x00071ce4 lw t9, -0x754c(gp) | t9 = sym.imp.apr_brigade_cleanup;
0x00071ce8 lw v1, 8(s0) | v1 = *((s0 + 2));
0x00071cec sw v1, 4(v0) | *((v0 + 1)) = v1;
0x00071cf0 lw v1, 8(s0) | v1 = *((s0 + 2));
0x00071cf4 sw v0, (v1) | *(v1) = v0;
0x00071cf8 sw v0, 8(s0) | *((s0 + 2)) = v0;
0x00071cfc jalr t9 | t9 ();
0x00071d00 nop |
0x00071d04 lw gp, 0x38(sp) | gp = *(var_38h);
0x00071d08 lw t9, -0x7700(gp) | t9 = sym.imp.apr_brigade_destroy;
0x00071d0c move a0, s5 | a0 = s5;
0x00071d10 jalr t9 | t9 ();
0x00071d14 lw gp, 0x38(sp) | gp = *(var_38h);
0x00071d18 lw v0, 0x74(sp) | v0 = *(var_74h);
0x00071d1c move a1, s0 | a1 = s0;
0x00071d20 lw t9, -0x7e30(gp) | t9 = sym.ap_pass_brigade;
0x00071d24 lw a0, 8(v0) | a0 = *((v0 + 2));
0x00071d28 jalr t9 | t9 ();
0x00071d2c lw gp, 0x38(sp) | gp = *(var_38h);
0x00071d30 b 0x70d50 | goto label_23;
| label_101:
0x00071d34 lw v1, 0x60(sp) | v1 = *(var_60h);
0x00071d38 lw v0, 8(a0) | v0 = *((a0 + 2));
| if (v0 == v1) {
0x00071d3c bnel v0, v1, 0x71938 | goto label_24;
| }
0x00071d40 move s2, a0 | s2 = a0;
0x00071d44 b 0x718e0 | goto label_25;
| label_97:
0x00071d48 sltu a0, a0, v1 | a0 = (a0 < v1) ? 1 : 0;
| if (a0 == 0) {
0x00071d4c beqz a0, 0x71844 | goto label_26;
| }
0x00071d50 nop |
0x00071d54 b 0x7189c | goto label_27;
0x00071d58 nop |
| label_100:
0x00071d5c lw s0, 0x94(sp) | s0 = *(var_94h);
0x00071d60 move s5, s3 | s5 = s3;
0x00071d64 sw v0, 0x60(sp) | *(var_60h) = v0;
| label_35:
0x00071d68 lw t9, -0x754c(gp) | t9 = sym.imp.apr_brigade_cleanup;
0x00071d6c move a0, s5 | a0 = s5;
0x00071d70 jalr t9 | t9 ();
0x00071d74 lw gp, 0x38(sp) | gp = *(var_38h);
0x00071d78 lw a1, 0x60(sp) | a1 = *(var_60h);
0x00071d7c b 0x71ba0 | goto label_28;
| label_105:
0x00071dd8 lw v0, 0x44(sp) | v0 = *(var_44h);
0x00071ddc lw t9, -0x7540(gp) | t9 = sym.imp.apr_psprintf;
0x00071de0 lw a2, 0x54(sp) | a2 = *(var_54h);
0x00071de4 lw s2, 0xb4(v0) | s2 = *((v0 + 45));
0x00071de8 lw v0, 0xa8(sp) | v0 = *(var_a8h);
0x00071dec lw a3, 0x48(sp) | a3 = *(var_48h);
0x00071df0 addiu a1, v0, 0x79d8 | a1 = v0 + 0x79d8;
0x00071df4 lw v0, 0x88(sp) | v0 = *(var_88h);
0x00071df8 move a0, s1 | a0 = s1;
0x00071dfc sw v0, 0x18(sp) | *(var_18h) = v0;
0x00071e00 lw v0, 0x64(sp) | v0 = *(var_64h);
0x00071e04 sw s0, 0x14(sp) | *(var_14h) = s0;
0x00071e08 sw v0, 0x1c(sp) | *(var_1ch) = v0;
0x00071e0c lw v0, 0x58(sp) | v0 = *(var_58h);
0x00071e10 sw v0, 0x10(sp) | *(var_10h) = v0;
0x00071e14 jalr t9 | t9 ();
0x00071e18 lw gp, 0x38(sp) | gp = *(var_38h);
0x00071e1c move a2, v0 | a2 = v0;
0x00071e20 lw v0, 0xac(sp) | v0 = *(var_ach);
0x00071e24 lw t9, -0x7590(gp) | t9 = sym.imp.apr_table_setn;
0x00071e28 addiu a1, v0, -0x58d0 | a1 = v0 + -0x58d0;
0x00071e2c move a0, s2 | a0 = s2;
0x00071e30 jalr t9 | t9 ();
0x00071e34 lw gp, 0x38(sp) | gp = *(var_38h);
0x00071e38 b 0x71b2c | goto label_29;
| label_103:
0x00071e3c lw a0, 0xc8(sp) | a0 = *(var_c8h);
| if (s2 == 0) {
0x00071e40 bnel s2, zero, 0x719d0 | goto label_30;
| }
0x00071e44 lw v1, 0x44(sp) | v1 = *(var_44h);
0x00071e48 b 0x71a44 | goto label_31;
| label_102:
0x00071e4c lw a0, 0x54(sp) | a0 = *(var_54h);
0x00071e50 lw v1, 0x48(sp) | v1 = *(var_48h);
0x00071e54 addu v0, a0, s3 | v0 = a0 + s3;
0x00071e58 addu v1, v1, s2 | v1 += s2;
0x00071e5c sltu s2, v0, a0 | s2 = (v0 < a0) ? 1 : 0;
0x00071e60 lw a0, 0x68(sp) | a0 = *(var_68h);
0x00071e64 addu s2, s2, v1 | s2 += v1;
0x00071e68 lw v1, 0x60(sp) | v1 = *(var_60h);
0x00071e6c subu s3, v0, a0 | __asm ("subu s3, v0, a0");
0x00071e70 sltu v0, v0, s3 | v0 = (v0 < s3) ? 1 : 0;
0x00071e74 subu s2, s2, v1 | __asm ("subu s2, s2, v1");
0x00071e78 subu s2, s2, v0 | __asm ("subu s2, s2, v0");
0x00071e7c sw a1, 0xc8(sp) | *(var_c8h) = a1;
0x00071e80 b 0x719b0 | goto label_32;
| label_94:
0x00071e84 lw s0, 0x44(sp) | s0 = *(var_44h);
0x00071e88 lw t9, -0x77f8(gp) | t9 = sym.ap_make_content_type;
0x00071e8c move a0, s0 | a0 = s0;
0x00071e90 lw a1, 0xc4(s0) | a1 = *((s0 + 49));
0x00071e94 jalr t9 | t9 ();
0x00071e98 lw gp, 0x38(sp) | gp = *(var_38h);
0x00071e9c move v1, s0 | v1 = s0;
0x00071ea0 lw a0, 0xb0(s0) | a0 = *((s0 + 44));
0x00071ea4 lw a1, -0x7fac(gp) | a1 = *(gp);
0x00071ea8 lw t9, -0x7668(gp) | t9 = sym.imp.apr_table_get;
| /* str.Request_Range */
0x00071eac addiu a1, a1, 0x7844 | a1 += 0x7844;
0x00071eb0 move s0, v0 | s0 = v0;
0x00071eb4 lw s1, (v1) | s1 = *(v1);
0x00071eb8 jalr t9 | t9 ();
0x00071ebc lw gp, 0x38(sp) | gp = *(var_38h);
0x00071ec0 beqz v0, 0x71f58 |
| while (v0 != 0) {
0x00071ec4 lw a2, -0x7fac(gp) | a2 = *(gp);
| /* esilref: '/x-' */
0x00071ec8 addiu a2, a2, 0x7840 | a2 += 0x7840;
| label_34:
0x00071ecc lw s2, -0x785c(gp) | s2 = *(gp);
0x00071ed0 lw a3, -0x7fac(gp) | a3 = *(gp);
0x00071ed4 lw a1, -0x7fac(gp) | a1 = *(gp);
0x00071ed8 lw v0, (s2) | v0 = *(s2);
0x00071edc lw t9, -0x76e8(gp) | t9 = sym.imp.apr_pstrcat
0x00071ee0 move a0, s1 | a0 = s1;
| /* str.byteranges__boundary */
0x00071ee4 addiu a3, a3, 0x7948 | a3 += aav.0x00007948;
| /* str.multipart */
0x00071ee8 addiu a1, a1, 0x7960 | a1 += 0x7960;
0x00071eec sw zero, 0x14(sp) | *(var_14h) = 0;
0x00071ef0 sw v0, 0x10(sp) | *(var_10h) = v0;
0x00071ef4 jalr t9 | t9 ();
0x00071ef8 lw gp, 0x38(sp) | gp = *(var_38h);
0x00071efc lw s1, 0x44(sp) | s1 = *(var_44h);
0x00071f00 move a1, v0 | a1 = v0;
0x00071f04 lw t9, -0x7d14(gp) | t9 = sym.ap_set_content_type;
0x00071f08 move a0, s1 | a0 = s1;
0x00071f0c bal 0x69440 | sym_ap_set_content_type ();
0x00071f10 lw gp, 0x38(sp) | gp = *(var_38h);
| if (s0 == 0) {
0x00071f14 beqz s0, 0x71fc4 | goto label_108;
| }
0x00071f18 lw v0, -0x7fac(gp) | v0 = *(gp);
0x00071f1c lw a3, -0x7fac(gp) | a3 = *(gp);
0x00071f20 lw a1, -0x7fac(gp) | a1 = *(gp);
0x00071f24 lw a0, (s1) | a0 = *(s1);
0x00071f28 lw a2, (s2) | a2 = *(s2);
0x00071f2c lw t9, -0x76e8(gp) | t9 = sym.imp.apr_pstrcat
| /* str._r_nContent_range:_bytes_ */
0x00071f30 addiu v0, v0, 0x7988 | v0 += 0x7988;
0x00071f34 sw zero, 0x18(sp) | *(var_18h) = 0;
0x00071f38 sw v0, 0x14(sp) | *(var_14h) = v0;
0x00071f3c sw s0, 0x10(sp) | *(var_10h) = s0;
| /* str._r_nContent_type:_ */
0x00071f40 addiu a3, a3, 0x796c | a3 += 0x796c;
| /* str._r_n__ */
0x00071f44 addiu a1, a1, 0x7980 | a1 += 0x7980;
0x00071f48 jalr t9 | t9 ();
0x00071f4c sw v0, 0x98(sp) | *(var_98h) = v0;
0x00071f50 lw gp, 0x38(sp) | gp = *(var_38h);
0x00071f54 b 0x71758 | goto label_33;
0x00071f58 lw v0, 0x44(sp) | v0 = *(var_44h);
0x00071f5c lw a1, -0x7fac(gp) | a1 = *(gp);
0x00071f60 lw t9, -0x7668(gp) | t9 = sym.imp.apr_table_get;
0x00071f64 lw a0, 0xb0(v0) | a0 = *((v0 + 44));
| /* str.User_Agent */
0x00071f68 addiu a1, a1, -0x284 | a1 += -aav.0x00000284;
0x00071f6c jalr t9 | t9 ();
0x00071f70 lw gp, 0x38(sp) | gp = *(var_38h);
| if (v0 == 0) {
0x00071f74 beqz v0, 0x71f94 | goto label_109;
| }
0x00071f78 lw a1, -0x7fac(gp) | a1 = *(gp);
0x00071f7c lw t9, -0x75a8(gp) | t9 = sym.imp.strstr;
| /* str.MSIE_3 */
0x00071f80 addiu a1, a1, 0x7940 | a1 += 0x7940;
0x00071f84 move a0, v0 | a0 = v0;
0x00071f88 jalr t9 | t9 ();
0x00071f8c lw gp, 0x38(sp) | gp = *(var_38h);
0x00071f90 bnez v0, 0x71ec4 |
| }
| label_109:
0x00071f94 lw a2, -0x7fac(gp) | a2 = *(gp);
0x00071f98 addiu a2, a2, -0x6a2c | a2 += -0x6a2c;
0x00071f9c b 0x71ecc | goto label_34;
| label_104:
0x00071fa0 sw v0, 0x60(sp) | *(var_60h) = v0;
0x00071fa4 b 0x71d68 | goto label_35;
| label_93:
0x00071fa8 lw t9, -0x7fd4(gp) | t9 = *(gp);
0x00071fac lw a1, 0x6c(sp) | a1 = *(var_6ch);
| /* fcn.00070ae0 */
0x00071fb0 addiu t9, t9, 0xae0 | t9 += aav.0x00000ae0;
0x00071fb4 lw a0, 0x74(sp) | a0 = *(var_74h);
0x00071fb8 bal 0x70ae0 | fcn_00070ae0 ();
0x00071fbc lw gp, 0x38(sp) | gp = *(var_38h);
0x00071fc0 b 0x70d50 | goto label_23;
| label_108:
0x00071fc4 lw v0, 0x44(sp) | v0 = *(var_44h);
0x00071fc8 lw a3, -0x7fac(gp) | a3 = *(gp);
0x00071fcc lw a1, -0x7fac(gp) | a1 = *(gp);
0x00071fd0 lw t9, -0x76e8(gp) | t9 = sym.imp.apr_pstrcat
0x00071fd4 lw a0, (v0) | a0 = *(v0);
0x00071fd8 lw a2, (s2) | a2 = *(s2);
| /* str._r_nContent_range:_bytes_ */
0x00071fdc addiu a3, a3, 0x7988 | a3 += 0x7988;
0x00071fe0 sw zero, 0x10(sp) | *(var_10h) = 0;
| /* str._r_n__ */
0x00071fe4 addiu a1, a1, 0x7980 | a1 += 0x7980;
0x00071fe8 jalr t9 | t9 ();
0x00071fec sw v0, 0x98(sp) | *(var_98h) = v0;
0x00071ff0 lw gp, 0x38(sp) | gp = *(var_38h);
0x00071ff4 b 0x71758 | goto label_33;
| label_84:
0x00071ff8 lw a1, 4(v0) | a1 = *((v0 + 1));
0x00071ffc lw v0, 0x60(a1) | v0 = *((a1 + 24));
| if (v0 == 0) {
0x00072000 beql v0, zero, 0x7209c | goto label_110;
| }
0x00072004 lw v0, 0x44(sp) | v0 = *(var_44h);
0x00072008 lw a0, (v0) | a0 = *(v0);
| if (a0 == 0) {
0x0007200c beql a0, zero, 0x72040 | goto label_37;
| }
0x00072010 lw v0, 4(v0) | v0 = *((v0 + 1));
0x00072014 addu a0, a0, a2 | a0 += a2;
| label_39:
0x00072018 lb v1, (a0) | v1 = *(a0);
0x0007201c slti v0, v1, 8 | v0 = (v1 < 8) ? 1 : 0;
| if (v1 >= 0) {
0x00072020 bgez v1, 0x71458 | goto label_36;
| }
| label_38:
0x00072024 lw v0, 0x60(a1) | v0 = *((a1 + 24));
0x00072028 lw v0, 4(v0) | v0 = *((v0 + 1));
| if (v0 != 0) {
0x0007202c bnel v0, zero, 0x72040 |
0x00072030 lw v0, 0x44(sp) | v0 = *(var_44h);
0x00072034 lw v1, 8(v0) | v1 = *((v0 + 2));
0x00072038 addiu v0, v1, 0x10 | v0 = v1 + 0x10;
| label_40:
0x0007203c lw v0, 4(v0) | v0 = *((v0 + 1));
| }
| label_37:
0x00072040 slti v0, v0, 8 | v0 = (v0 < 8) ? 1 : 0;
0x00072044 xori v0, v0, 1 | v0 ^= 1;
| if (v0 == 0) {
| label_85:
0x00072048 beql v0, zero, 0x70cf8 | goto label_7;
| }
0x0007204c lw v0, 0x44(sp) | v0 = *(var_44h);
0x00072050 lw v0, -0x7fac(gp) | v0 = *(gp);
0x00072054 lw a0, -0x7fac(gp) | a0 = *(gp);
| /* str.Sum_of_ranges_larger_than_file__ignoring. */
0x00072058 addiu v0, v0, 0x78dc | v0 += 0x78dc;
0x0007205c sw v0, 0x18(sp) | *(var_18h) = v0;
0x00072060 lw v0, 0x44(sp) | v0 = *(var_44h);
0x00072064 lw t9, -0x7f08(gp) | t9 = sym.ap_log_rerror_;
0x00072068 sw v0, 0x14(sp) | *(var_14h) = v0;
0x0007206c sw zero, 0x10(sp) | *(var_10h) = 0;
0x00072070 addiu a3, zero, 8 | a3 = 8;
0x00072074 addiu a1, zero, 0x115 | a1 = 0x115;
| /* str._usr_src_debug_apache2_2.4.57_r0_httpd_2.4.57_modules_http_byterange_filter.c */
0x00072078 addiu a0, a0, 0x788c | a0 += 0x788c;
0x0007207c bal 0x530a8 | sym_ap_log_rerror_ ();
0x00072080 lw gp, 0x38(sp) | gp = *(var_38h);
0x00072084 b 0x70cf4 | goto label_6;
| label_83:
0x00072088 lw v0, 4(v0) | v0 = *((v0 + 1));
| if (v0 == 0) {
0x0007208c bnel v0, zero, 0x72040 | goto label_37;
| }
0x00072090 lw v0, 0x44(sp) | v0 = *(var_44h);
0x00072094 lw a1, 4(v0) | a1 = *((v0 + 1));
0x00072098 b 0x72024 | goto label_38;
| label_110:
0x0007209c lw v1, 8(v0) | v1 = *((v0 + 2));
0x000720a0 lw a0, 0x10(v1) | a0 = *((v1 + 4));
0x000720a4 addu a0, a0, a2 | a0 += a2;
| if (a0 == 0) {
0x000720a8 bnel a0, zero, 0x72018 | goto label_39;
| }
0x000720ac addiu v0, v1, 0x10 | v0 = v1 + 0x10;
0x000720b0 b 0x7203c | goto label_40;
| label_81:
0x000720b4 sw v0, 0x84(sp) | *(var_84h) = v0;
0x000720b8 b 0x716f4 | goto label_41;
| label_87:
0x000720bc lw v1, 0x44(sp) | v1 = *(var_44h);
0x000720c0 lw v1, 0x108(v1) | v1 = *(v1);
0x000720c4 lw v1, 4(v1) | v1 = *((v1 + 1));
| if (v1 == 0) {
0x000720c8 bnel v1, zero, 0x716d8 | goto label_42;
| }
0x000720cc lw v1, 0x44(sp) | v1 = *(var_44h);
0x000720d0 lw a1, 4(v1) | a1 = *((v1 + 1));
0x000720d4 b 0x716bc | goto label_43;
| label_90:
0x000720d8 lw v1, 8(v1) | v1 = *((v1 + 2));
0x000720dc lw a0, 0x10(v1) | a0 = *((v1 + 4));
0x000720e0 addu a0, a0, a2 | a0 += a2;
| if (a0 == 0) {
0x000720e4 bnel a0, zero, 0x716b0 | goto label_44;
| }
0x000720e8 addiu v1, v1, 0x10 | v1 += 0x10;
0x000720ec b 0x716d4 | goto label_45;
| label_91:
0x000720f0 lw v0, 0xa0(sp) | v0 = *(var_a0h);
0x000720f4 lw a0, -0x7fac(gp) | a0 = *(gp);
0x000720f8 sw v0, 0x1c(sp) | *(var_1ch) = v0;
0x000720fc lw v0, -0x7fac(gp) | v0 = *(gp);
0x00072100 lw v1, 0x64(sp) | v1 = *(var_64h);
| /* str.AH01583:_Range:__s___s___d_:__d_:__lld_ */
0x00072104 addiu v0, v0, 0x7914 | v0 += 0x7914;
0x00072108 sw v0, 0x18(sp) | *(var_18h) = v0;
0x0007210c lw v0, 0x44(sp) | v0 = *(var_44h);
0x00072110 lw t9, -0x7f08(gp) | t9 = sym.ap_log_rerror_;
0x00072114 sw t2, 0x50(sp) | *(var_50h) = t2;
0x00072118 sw t1, 0x4c(sp) | *(var_4ch) = t1;
0x0007211c sw t0, 0x48(sp) | *(var_48h) = t0;
0x00072120 sw s6, 0x30(sp) | *(var_30h) = s6;
0x00072124 sw v1, 0x34(sp) | *(var_34h) = v1;
0x00072128 sw s3, 0x28(sp) | *(var_28h) = s3;
0x0007212c sw s4, 0x24(sp) | *(var_24h) = s4;
0x00072130 sw v0, 0x14(sp) | *(var_14h) = v0;
0x00072134 sw zero, 0x10(sp) | *(var_10h) = 0;
0x00072138 addiu a3, zero, 7 | a3 = 7;
0x0007213c addiu a1, zero, 0x128 | a1 = aav.0x00000128;
| /* str._usr_src_debug_apache2_2.4.57_r0_httpd_2.4.57_modules_http_byterange_filter.c */
0x00072140 addiu a0, a0, 0x788c | a0 += 0x788c;
0x00072144 bal 0x530a8 | sym_ap_log_rerror_ ();
0x00072148 lw gp, 0x38(sp) | gp = *(var_38h);
0x0007214c lw t2, 0x50(sp) | t2 = *(var_50h);
0x00072150 lw t1, 0x4c(sp) | t1 = *(var_4ch);
0x00072154 lw t0, 0x48(sp) | t0 = *(var_48h);
0x00072158 b 0x716e8 | goto label_46;
| label_55:
0x0007215c lw t9, -0x75e8(gp) | t9 = sym.imp.__stack_chk_fail;
0x00072160 jalr t9 | t9 ();
0x00072164 nop |
| label_75:
0x00072168 lw s0, 0x50(sp) | s0 = *(var_50h);
| if (v0 != 0) {
0x0007216c bnez v0, 0x70cf4 | goto label_6;
| }
0x00072170 lw a0, 0x64(sp) | a0 = *(var_64h);
| if (a2 != 0) {
0x00072174 bnez a2, 0x71270 | goto label_47;
| }
0x00072178 lw v0, 0x44(sp) | v0 = *(var_44h);
0x0007217c b 0x70cf8 | goto label_7;
| }
; assembly | /* r2dec pseudo code output */
| /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/sbin/httpd @ 0x37600 */
| #include <stdint.h>
|
; (fcn) sym.ap_check_cmd_context () | void ap_check_cmd_context () {
0x00037600 lui gp, 7 |
0x00037604 addiu gp, gp, -0x46e0 |
0x00037608 addu gp, gp, t9 | gp += t9;
0x0003760c addiu sp, sp, -0x40 |
0x00037610 addiu v0, zero, 0x3c | v0 = 0x3c;
0x00037614 sw s4, 0x38(sp) | *(var_38h) = s4;
0x00037618 lw s4, 0x38(a0) | s4 = *((a0 + 14));
0x0003761c sw s0, 0x28(sp) | *(var_28h) = s0;
0x00037620 sw s2, 0x30(sp) | *(var_30h) = s2;
0x00037624 lw s0, (s4) | s0 = *(s4);
0x00037628 sw s1, 0x2c(sp) | *(var_2ch) = s1;
0x0003762c sw gp, 0x20(sp) | *(var_20h) = gp;
0x00037630 sw ra, 0x3c(sp) | *(var_3ch) = ra;
0x00037634 sw s3, 0x34(sp) | *(var_34h) = s3;
0x00037638 lb v1, (s0) | v1 = *(s0);
0x0003763c move s1, a0 | s1 = a0;
0x00037640 move s2, a1 | s2 = a1;
| if (v1 == v0) {
0x00037644 beq v1, v0, 0x37804 | goto label_12;
| }
| label_0:
0x00037648 lw s3, -0x7fac(gp) | s3 = *(gp);
0x0003764c addiu s3, s3, 0x47dc | s3 += 0x47dc;
| label_1:
0x00037650 andi v0, s2, 1 | v0 = s2 & 1;
0x00037654 andi v0, s2, 0x5e | v0 = s2 & 0x5e;
| if (v0 != 0) {
0x00037658 beqz v0, 0x3766c |
0x0003765c lw v0, 0x30(s1) | v0 = *((s1 + 12));
0x00037660 lb v0, 0x28(v0) | v0 = *((v0 + 40));
0x00037664 andi v0, s2, 0x5e | v0 = s2 & 0x5e;
| if (v0 != 0) {
0x00037668 bnez v0, 0x379ac | goto label_13;
| }
| }
0x0003766c andi v0, s2, 0x20 | v0 = s2 & 0x20;
| if (v0 != 0) {
0x00037670 beqz v0, 0x37690 |
0x00037674 lw v0, 0x10(s1) | v0 = *((s1 + 4));
0x00037678 addiu v1, zero, -1 | v1 = -1;
0x0003767c lw a3, -0x7fac(gp) | a3 = *(gp);
| if (v0 != v1) {
0x00037680 bne v0, v1, 0x379ec | goto label_14;
| }
0x00037684 lw v1, 0x14(s1) | v1 = *((s1 + 5));
0x00037688 andi v0, s2, 0x20 | v0 = s2 & 0x20;
| if (v1 != v0) {
0x0003768c bne v1, v0, 0x379ec | goto label_14;
| }
| }
0x00037690 andi v1, s2, 0x1c | v1 = s2 & 0x1c;
| if (v0 != 0) {
0x00037694 beqz v0, 0x376a8 |
0x00037698 lw a0, 0x28(s1) | a0 = *((s1 + 10));
0x0003769c lw v0, 0x2c(s1) | v0 = *((s1 + 11));
0x000376a0 lw a3, -0x7fac(gp) | a3 = *(gp);
| if (a0 == v0) {
0x000376a4 beq a0, v0, 0x37a4c | goto label_15;
| }
| }
0x000376a8 addiu v0, zero, 0x1c | v0 = 0x1c;
0x000376ac andi v0, s2, 4 | v0 = s2 & 4;
| if (v1 == v0) {
0x000376b0 beq v1, v0, 0x37830 | goto label_16;
| }
0x000376b4 andi v0, s2, 8 | v0 = s2 & 8;
| if (v0 == 0) {
0x000376b8 beqz v0, 0x37720 | goto label_3;
| }
0x000376bc lw s4, -0x7fac(gp) | s4 = *(gp);
| label_2:
0x000376c0 lw s0, 0x24(s1) | s0 = *((s1 + 9));
| /* str._Directory */
0x000376c4 addiu s4, s4, -0x39b8 | s4 += -0x39b8;
0x000376c8 b 0x376dc |
| while (s0 != 0) {
0x000376cc lw a0, (s0) | a0 = *(s0);
0x000376d0 bal 0x21bb0 | sym_ap_cstr_casecmp ();
0x000376d4 lw gp, 0x20(sp) | gp = *(var_20h);
| if (v0 == 0) {
0x000376d8 beqz v0, 0x37860 | goto label_5;
| }
0x000376dc lw s0, 0x10(s0) | s0 = *((s0 + 4));
0x000376e0 lw t9, -0x7e28(gp) | t9 = sym.ap_cstr_casecmp;
0x000376e4 move a1, s4 | a1 = s4;
0x000376e8 bnez s0, 0x376cc |
| }
0x000376ec lw s4, -0x7fac(gp) | s4 = *(gp);
0x000376f0 lw s0, 0x24(s1) | s0 = *((s1 + 9));
| /* str._DirectoryMatch */
0x000376f4 addiu s4, s4, -0x39ac | s4 += -0x39ac;
0x000376f8 b 0x3770c |
| while (s0 != 0) {
0x000376fc lw a0, (s0) | a0 = *(s0);
0x00037700 bal 0x21bb0 | sym_ap_cstr_casecmp ();
0x00037704 lw gp, 0x20(sp) | gp = *(var_20h);
| if (v0 == 0) {
0x00037708 beqz v0, 0x37860 | goto label_5;
| }
0x0003770c lw s0, 0x10(s0) | s0 = *((s0 + 4));
0x00037710 lw t9, -0x7e28(gp) | t9 = sym.ap_cstr_casecmp;
0x00037714 move a1, s4 | a1 = s4;
0x00037718 bnez s0, 0x376fc |
| }
0x0003771c andi v0, s2, 8 | v0 = s2 & 8;
| label_3:
0x00037720 andi v0, s2, 0x10 | v0 = s2 & 0x10;
| if (v0 == 0) {
0x00037724 beqz v0, 0x3778c | goto label_17;
| }
0x00037728 lw s4, -0x7fac(gp) | s4 = *(gp);
0x0003772c lw s0, 0x24(s1) | s0 = *((s1 + 9));
| /* str._Location */
0x00037730 addiu s4, s4, -0x399c | s4 += -0x399c;
0x00037734 b 0x37748 |
| while (s0 != 0) {
0x00037738 lw a0, (s0) | a0 = *(s0);
0x0003773c bal 0x21bb0 | sym_ap_cstr_casecmp ();
0x00037740 lw gp, 0x20(sp) | gp = *(var_20h);
| if (v0 == 0) {
0x00037744 beqz v0, 0x37860 | goto label_5;
| }
0x00037748 lw s0, 0x10(s0) | s0 = *((s0 + 4));
0x0003774c lw t9, -0x7e28(gp) | t9 = sym.ap_cstr_casecmp;
0x00037750 move a1, s4 | a1 = s4;
0x00037754 bnez s0, 0x37738 |
| }
0x00037758 lw s4, -0x7fac(gp) | s4 = *(gp);
0x0003775c lw s0, 0x24(s1) | s0 = *((s1 + 9));
| /* str._LocationMatch */
0x00037760 addiu s4, s4, -0x3990 | s4 += -0x3990;
0x00037764 b 0x37778 |
| while (s0 != 0) {
0x00037768 lw a0, (s0) | a0 = *(s0);
0x0003776c bal 0x21bb0 | sym_ap_cstr_casecmp ();
0x00037770 lw gp, 0x20(sp) | gp = *(var_20h);
| if (v0 == 0) {
0x00037774 beqz v0, 0x37860 | goto label_5;
| }
0x00037778 lw s0, 0x10(s0) | s0 = *((s0 + 4));
0x0003777c lw t9, -0x7e28(gp) | t9 = sym.ap_cstr_casecmp;
0x00037780 move a1, s4 | a1 = s4;
0x00037784 bnez s0, 0x37768 |
| }
0x00037788 andi v0, s2, 0x10 | v0 = s2 & 0x10;
| label_17:
0x0003778c lw s4, -0x7fac(gp) | s4 = *(gp);
| if (v0 == 0) {
0x00037790 bnel v0, zero, 0x378b8 | goto label_18;
| }
0x00037794 andi s2, s2, 0x40 | s2 &= 0x40;
| label_10:
0x00037798 lw s2, -0x7fac(gp) | s2 = *(gp);
| if (s2 == 0) {
0x0003779c beqz s2, 0x377fc | goto label_19;
| }
0x000377a0 lw s0, 0x24(s1) | s0 = *((s1 + 9));
| /* str._Proxy */
0x000377a4 addiu s2, s2, -0x3958 | s2 += -0x3958;
0x000377a8 b 0x377bc |
| while (s0 != 0) {
0x000377ac lw a0, (s0) | a0 = *(s0);
0x000377b0 bal 0x21bb0 | sym_ap_cstr_casecmp ();
0x000377b4 lw gp, 0x20(sp) | gp = *(var_20h);
| if (v0 == 0) {
0x000377b8 beqz v0, 0x37860 | goto label_5;
| }
0x000377bc lw s0, 0x10(s0) | s0 = *((s0 + 4));
0x000377c0 lw t9, -0x7e28(gp) | t9 = sym.ap_cstr_casecmp;
0x000377c4 move a1, s2 | a1 = s2;
0x000377c8 bnez s0, 0x377ac |
| }
0x000377cc lw s2, -0x7fac(gp) | s2 = *(gp);
0x000377d0 lw s0, 0x24(s1) | s0 = *((s1 + 9));
| /* str._ProxyMatch */
0x000377d4 addiu s2, s2, -0x3950 | s2 += -0x3950;
0x000377d8 b 0x377ec |
| while (s0 != 0) {
0x000377dc lw a0, (s0) | a0 = *(s0);
0x000377e0 bal 0x21bb0 | sym_ap_cstr_casecmp ();
0x000377e4 lw gp, 0x20(sp) | gp = *(var_20h);
| if (v0 == 0) {
0x000377e8 beqz v0, 0x37860 | goto label_5;
| }
0x000377ec lw s0, 0x10(s0) | s0 = *((s0 + 4));
0x000377f0 lw t9, -0x7e28(gp) | t9 = sym.ap_cstr_casecmp;
0x000377f4 move a1, s2 | a1 = s2;
0x000377f8 bnez s0, 0x377dc |
| }
| label_19:
0x000377fc move v0, zero | v0 = 0;
0x00037800 b 0x37898 | goto label_20;
| label_12:
0x00037804 lw t9, -0x74c4(gp) | t9 = sym.imp.strlen;
0x00037808 move a0, s0 | a0 = s0;
0x0003780c jalr t9 | t9 ();
0x00037810 addu v0, s0, v0 | v0 = s0 + v0;
0x00037814 addiu v1, zero, 0x3e | v1 = 0x3e;
0x00037818 lb v0, -1(v0) | v0 = *((v0 - 1));
0x0003781c lw gp, 0x20(sp) | gp = *(var_20h);
| if (v0 == v1) {
0x00037820 beq v0, v1, 0x37648 | goto label_0;
| }
0x00037824 lw s3, -0x7fac(gp) | s3 = *(gp);
0x00037828 addiu s3, s3, 0xb98 | s3 += 0xb98;
0x0003782c b 0x37650 | goto label_1;
| label_16:
0x00037830 lw v0, 0x34(s1) | v0 = *((s1 + 13));
0x00037834 lw a3, -0x7fac(gp) | a3 = *(gp);
| if (v0 != 0) {
0x00037838 bnez v0, 0x37a28 | goto label_21;
| }
0x0003783c lw v0, 0xc(s4) | v0 = *((s4 + 3));
0x00037840 andi v0, v0, 0x100 | v0 &= aav.0x00000100;
0x00037844 move v0, zero | v0 = 0;
| if (v0 != 0) {
0x00037848 bnez v0, 0x37898 | goto label_20;
| }
0x0003784c andi v0, s2, 4 | v0 = s2 & 4;
0x00037850 lw s4, -0x7fac(gp) | s4 = *(gp);
| if (v0 == 0) {
0x00037854 bnel v0, zero, 0x376c0 | goto label_2;
| }
0x00037858 andi v0, s2, 8 | v0 = s2 & 8;
0x0003785c b 0x37720 | goto label_3;
| do {
| label_5:
0x00037860 lw v0, 0x38(s1) | v0 = *((s1 + 14));
0x00037864 lw a3, -0x7fac(gp) | a3 = *(gp);
0x00037868 lw t9, -0x76e8(gp) | t9 = sym.imp.apr_pstrcat
0x0003786c lw a1, (v0) | a1 = *(v0);
0x00037870 lw v0, -0x7fac(gp) | v0 = *(gp);
0x00037874 sw zero, 0x18(sp) | *(var_18h) = 0;
| /* esilref: '> section' */
0x00037878 addiu v0, v0, -0x3a10 | v0 += -0x3a10;
0x0003787c sw v0, 0x14(sp) | *(var_14h) = v0;
0x00037880 lw v0, (s0) | v0 = *(s0);
0x00037884 lw a0, 0x28(s1) | a0 = *((s1 + 10));
| /* str._cannot_occur_within_ */
0x00037888 addiu a3, a3, -0x3944 | a3 += -0x3944;
0x0003788c sw v0, 0x10(sp) | *(var_10h) = v0;
0x00037890 move a2, s3 | a2 = s3;
0x00037894 jalr t9 | t9 ();
| label_20:
0x00037898 lw ra, 0x3c(sp) | ra = *(var_3ch);
| label_11:
0x0003789c lw s4, 0x38(sp) | s4 = *(var_38h);
0x000378a0 lw s3, 0x34(sp) | s3 = *(var_34h);
0x000378a4 lw s2, 0x30(sp) | s2 = *(var_30h);
0x000378a8 lw s1, 0x2c(sp) | s1 = *(var_2ch);
0x000378ac lw s0, 0x28(sp) | s0 = *(var_28h);
0x000378b0 addiu sp, sp, 0x40 |
0x000378b4 jr ra | return v0;
| label_18:
0x000378b8 lw s0, 0x24(s1) | s0 = *((s1 + 9));
| /* str._Files */
0x000378bc addiu s4, s4, -0x3980 | s4 += -0x3980;
0x000378c0 b 0x378d4 | goto label_22;
| label_4:
0x000378c4 lw a0, (s0) | a0 = *(s0);
0x000378c8 bal 0x21bb0 | sym_ap_cstr_casecmp ();
0x000378cc lw gp, 0x20(sp) | gp = *(var_20h);
0x000378d0 beqz v0, 0x37860 |
| } while (v0 == 0);
| label_22:
0x000378d4 lw s0, 0x10(s0) | s0 = *((s0 + 4));
0x000378d8 lw t9, -0x7e28(gp) | t9 = sym.ap_cstr_casecmp;
0x000378dc move a1, s4 | a1 = s4;
| if (s0 != 0) {
0x000378e0 bnez s0, 0x378c4 | goto label_4;
| }
0x000378e4 lw s4, -0x7fac(gp) | s4 = *(gp);
0x000378e8 lw s0, 0x24(s1) | s0 = *((s1 + 9));
| /* str._FilesMatch */
0x000378ec addiu s4, s4, -0x3978 | s4 += -0x3978;
0x000378f0 b 0x37904 | goto label_23;
| label_6:
0x000378f4 lw a0, (s0) | a0 = *(s0);
0x000378f8 bal 0x21bb0 | sym_ap_cstr_casecmp ();
0x000378fc lw gp, 0x20(sp) | gp = *(var_20h);
| if (v0 == 0) {
0x00037900 beqz v0, 0x37860 | goto label_5;
| }
| label_23:
0x00037904 lw s0, 0x10(s0) | s0 = *((s0 + 4));
0x00037908 lw t9, -0x7e28(gp) | t9 = sym.ap_cstr_casecmp;
0x0003790c move a1, s4 | a1 = s4;
| if (s0 != 0) {
0x00037910 bnez s0, 0x378f4 | goto label_6;
| }
0x00037914 lw s4, -0x7fac(gp) | s4 = *(gp);
0x00037918 lw s0, 0x24(s1) | s0 = *((s1 + 9));
| /* esilref: '<If' */
0x0003791c addiu s4, s4, -0x396c | s4 += -0x396c;
0x00037920 b 0x37934 | goto label_24;
| label_7:
0x00037924 lw a0, (s0) | a0 = *(s0);
0x00037928 bal 0x21bb0 | sym_ap_cstr_casecmp ();
0x0003792c lw gp, 0x20(sp) | gp = *(var_20h);
| if (v0 == 0) {
0x00037930 beqz v0, 0x37860 | goto label_5;
| }
| label_24:
0x00037934 lw s0, 0x10(s0) | s0 = *((s0 + 4));
0x00037938 lw t9, -0x7e28(gp) | t9 = sym.ap_cstr_casecmp;
0x0003793c move a1, s4 | a1 = s4;
| if (s0 != 0) {
0x00037940 bnez s0, 0x37924 | goto label_7;
| }
0x00037944 lw s4, -0x7fac(gp) | s4 = *(gp);
0x00037948 lw s0, 0x24(s1) | s0 = *((s1 + 9));
| /* str._ElseIf */
0x0003794c addiu s4, s4, -0x3968 | s4 += -0x3968;
0x00037950 b 0x37964 | goto label_25;
| label_8:
0x00037954 lw a0, (s0) | a0 = *(s0);
0x00037958 bal 0x21bb0 | sym_ap_cstr_casecmp ();
0x0003795c lw gp, 0x20(sp) | gp = *(var_20h);
| if (v0 == 0) {
0x00037960 beqz v0, 0x37860 | goto label_5;
| }
| label_25:
0x00037964 lw s0, 0x10(s0) | s0 = *((s0 + 4));
0x00037968 lw t9, -0x7e28(gp) | t9 = sym.ap_cstr_casecmp;
0x0003796c move a1, s4 | a1 = s4;
| if (s0 != 0) {
0x00037970 bnez s0, 0x37954 | goto label_8;
| }
0x00037974 lw s4, -0x7fac(gp) | s4 = *(gp);
0x00037978 lw s0, 0x24(s1) | s0 = *((s1 + 9));
| /* str._Else */
0x0003797c addiu s4, s4, -0x3960 | s4 += -0x3960;
0x00037980 b 0x37994 | goto label_26;
| label_9:
0x00037984 lw a0, (s0) | a0 = *(s0);
0x00037988 bal 0x21bb0 | sym_ap_cstr_casecmp ();
0x0003798c lw gp, 0x20(sp) | gp = *(var_20h);
| if (v0 == 0) {
0x00037990 beqz v0, 0x37860 | goto label_5;
| }
| label_26:
0x00037994 lw s0, 0x10(s0) | s0 = *((s0 + 4));
0x00037998 lw t9, -0x7e28(gp) | t9 = sym.ap_cstr_casecmp;
0x0003799c move a1, s4 | a1 = s4;
| if (s0 != 0) {
0x000379a0 bnez s0, 0x37984 | goto label_9;
| }
0x000379a4 andi s2, s2, 0x40 | s2 &= 0x40;
0x000379a8 b 0x37798 | goto label_10;
| label_13:
0x000379ac lw a3, -0x7fac(gp) | a3 = *(gp);
0x000379b0 lw a0, 0x28(s1) | a0 = *((s1 + 10));
0x000379b4 lw t9, -0x76e8(gp) | t9 = sym.imp.apr_pstrcat
0x000379b8 move a2, s3 | a2 = s3;
0x000379bc move a1, s0 | a1 = s0;
0x000379c0 sw zero, 0x10(sp) | *(var_10h) = 0;
| /* str._cannot_occur_within__VirtualHost__section */
0x000379c4 addiu a3, a3, -0x3a68 | a3 += -0x3a68;
0x000379c8 jalr t9 | t9 ();
0x000379cc lw ra, 0x3c(sp) | ra = *(var_3ch);
0x000379d0 lw s4, 0x38(sp) | s4 = *(var_38h);
0x000379d4 lw s3, 0x34(sp) | s3 = *(var_34h);
0x000379d8 lw s2, 0x30(sp) | s2 = *(var_30h);
0x000379dc lw s1, 0x2c(sp) | s1 = *(var_2ch);
0x000379e0 lw s0, 0x28(sp) | s0 = *(var_28h);
0x000379e4 addiu sp, sp, 0x40 |
0x000379e8 jr ra | return v0;
| label_14:
0x000379ec lw a0, 0x28(s1) | a0 = *((s1 + 10));
0x000379f0 lw t9, -0x76e8(gp) | t9 = sym.imp.apr_pstrcat
0x000379f4 move a2, s3 | a2 = s3;
0x000379f8 move a1, s0 | a1 = s0;
0x000379fc sw zero, 0x10(sp) | *(var_10h) = 0;
| /* str._cannot_occur_within__Limit__or__LimitExcept__section */
0x00037a00 addiu a3, a3, -0x3a3c | a3 += -0x3a3c;
0x00037a04 jalr t9 | t9 ();
0x00037a08 lw ra, 0x3c(sp) | ra = *(var_3ch);
0x00037a0c lw s4, 0x38(sp) | s4 = *(var_38h);
0x00037a10 lw s3, 0x34(sp) | s3 = *(var_34h);
0x00037a14 lw s2, 0x30(sp) | s2 = *(var_30h);
0x00037a18 lw s1, 0x2c(sp) | s1 = *(var_2ch);
0x00037a1c lw s0, 0x28(sp) | s0 = *(var_28h);
0x00037a20 addiu sp, sp, 0x40 |
0x00037a24 jr ra | return v0;
| label_21:
0x00037a28 lw t9, -0x76e8(gp) | t9 = sym.imp.apr_pstrcat
0x00037a2c lw a0, 0x28(s1) | a0 = *((s1 + 10));
| /* str._cannot_occur_within_directory_context */
0x00037a30 addiu a3, a3, -0x39e0 | a3 += -0x39e0;
0x00037a34 sw zero, 0x10(sp) | *(var_10h) = 0;
0x00037a38 move a2, s3 | a2 = s3;
0x00037a3c move a1, s0 | a1 = s0;
0x00037a40 jalr t9 | t9 ();
0x00037a44 lw ra, 0x3c(sp) | ra = *(var_3ch);
0x00037a48 b 0x3789c | goto label_11;
| label_15:
0x00037a4c lw t9, -0x76e8(gp) | t9 = sym.imp.apr_pstrcat
0x00037a50 sw zero, 0x10(sp) | *(var_10h) = 0;
| /* str._cannot_occur_within_htaccess_files */
0x00037a54 addiu a3, a3, -0x3a04 | a3 += -0x3a04;
0x00037a58 move a2, s3 | a2 = s3;
0x00037a5c move a1, s0 | a1 = s0;
0x00037a60 jalr t9 | t9 ();
0x00037a64 lw ra, 0x3c(sp) | ra = *(var_3ch);
0x00037a68 b 0x3789c | goto label_11;
| }
; assembly | /* r2dec pseudo code output */
| /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/sbin/httpd @ 0x3748c */
| #include <stdint.h>
|
; (fcn) sym.ap_construct_url () | void ap_construct_url () {
0x0003748c lui gp, 7 |
0x00037490 addiu gp, gp, -0x456c |
0x00037494 addu gp, gp, t9 | gp += t9;
0x00037498 addiu sp, sp, -0x38 |
0x0003749c lw t9, -0x7bd0(gp) | t9 = sym.ap_get_server_port;
0x000374a0 sw ra, 0x34(sp) | *(var_34h) = ra;
0x000374a4 sw gp, 0x18(sp) | *(var_18h) = gp;
0x000374a8 sw s4, 0x30(sp) | *(var_30h) = s4;
0x000374ac sw s3, 0x2c(sp) | *(var_2ch) = s3;
0x000374b0 sw s2, 0x28(sp) | *(var_28h) = s2;
0x000374b4 sw s1, 0x24(sp) | *(var_24h) = s1;
0x000374b8 sw s0, 0x20(sp) | *(var_20h) = s0;
0x000374bc move s2, a0 | s2 = a0;
0x000374c0 move a0, a2 | a0 = a2;
0x000374c4 move s0, a2 | s0 = a2;
0x000374c8 move s4, a1 | s4 = a1;
0x000374cc bal 0x373d0 | sym_ap_get_server_port ();
0x000374d0 lw gp, 0x18(sp) | gp = *(var_18h);
0x000374d4 move a0, s0 | a0 = s0;
0x000374d8 lw t9, -0x7bcc(gp) | t9 = sym.ap_get_server_name_for_url;
0x000374dc move s1, v0 | s1 = v0;
0x000374e0 bal 0x37344 | sym_ap_get_server_name_for_url ();
0x000374e4 lw gp, 0x18(sp) | gp = *(var_18h);
0x000374e8 move a0, s0 | a0 = s0;
0x000374ec lw t9, -0x7ed0(gp) | t9 = sym.ap_run_default_port;
0x000374f0 move s3, v0 | s3 = v0;
0x000374f4 bal 0x2e13c | sym_ap_run_default_port ();
0x000374f8 lw gp, 0x18(sp) | gp = *(var_18h);
0x000374fc move a0, s0 | a0 = s0;
0x00037500 lw t9, -0x7d90(gp) | t9 = sym.ap_run_http_scheme;
| if (s1 != v0) {
0x00037504 beq s1, v0, 0x37558 |
0x00037508 bal 0x2c228 | sym_ap_run_http_scheme ();
0x0003750c nop |
0x00037510 lw gp, 0x18(sp) | gp = *(var_18h);
0x00037514 sw s4, 0x14(sp) | *(var_14h) = s4;
0x00037518 sw s1, 0x10(sp) | *(var_10h) = s1;
0x0003751c lw a1, -0x7fac(gp) | a1 = *(gp);
0x00037520 lw t9, -0x7540(gp) | t9 = sym.imp.apr_psprintf;
0x00037524 move a3, s3 | a3 = s3;
0x00037528 move a0, s2 | a0 = s2;
0x0003752c move a2, v0 | a2 = v0;
| /* str._s:___s:_u_s */
0x00037530 addiu a1, a1, -0x3a78 | a1 += -0x3a78;
0x00037534 jalr t9 | t9 ();
0x00037538 lw ra, 0x34(sp) | ra = *(var_34h);
0x0003753c lw s4, 0x30(sp) | s4 = *(var_30h);
0x00037540 lw s3, 0x2c(sp) | s3 = *(var_2ch);
0x00037544 lw s2, 0x28(sp) | s2 = *(var_28h);
0x00037548 lw s1, 0x24(sp) | s1 = *(var_24h);
0x0003754c lw s0, 0x20(sp) | s0 = *(var_20h);
0x00037550 addiu sp, sp, 0x38 |
0x00037554 jr ra | return;
| }
0x00037558 bal 0x2c228 | sym_ap_run_http_scheme ();
0x0003755c nop |
0x00037560 lw gp, 0x18(sp) | gp = *(var_18h);
0x00037564 sw s4, 0x10(sp) | *(var_10h) = s4;
0x00037568 move a3, s3 | a3 = s3;
0x0003756c lw a2, -0x7fac(gp) | a2 = *(gp);
0x00037570 lw t9, -0x76e8(gp) | t9 = sym.imp.apr_pstrcat
0x00037574 move a0, s2 | a0 = s2;
0x00037578 sw zero, 0x14(sp) | *(var_14h) = 0;
| /* esilref: '://' */
0x0003757c addiu a2, a2, -0x3a7c | a2 += -0x3a7c;
0x00037580 move a1, v0 | a1 = v0;
0x00037584 jalr t9 | t9 ();
0x00037588 lw ra, 0x34(sp) | ra = *(var_34h);
0x0003758c lw s4, 0x30(sp) | s4 = *(var_30h);
0x00037590 lw s3, 0x2c(sp) | s3 = *(var_2ch);
0x00037594 lw s2, 0x28(sp) | s2 = *(var_28h);
0x00037598 lw s1, 0x24(sp) | s1 = *(var_24h);
0x0003759c lw s0, 0x20(sp) | s0 = *(var_20h);
0x000375a0 addiu sp, sp, 0x38 |
0x000375a4 jr ra | return;
| }
; assembly | /* r2dec pseudo code output */
| /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/sbin/httpd @ 0x5e65c */
| #include <stdint.h>
|
; (fcn) sym.ap_cookie_remove () | void ap_cookie_remove () {
0x0005e65c lui gp, 4 |
0x0005e660 addiu gp, gp, 0x48c4 |
0x0005e664 addu gp, gp, t9 | gp += t9;
0x0005e668 addiu sp, sp, -0x50 |
0x0005e66c sw s3, 0x48(sp) | *(var_48h_3) = s3;
0x0005e670 lw s3, -0x7534(gp) | s3 = *(gp);
0x0005e674 sw gp, 0x28(sp) | *(var_28h_3) = gp;
0x0005e678 sw s0, 0x3c(sp) | *(var_3ch_3) = s0;
0x0005e67c lw v0, (s3) | v0 = *(s3);
0x0005e680 sw a3, 0x5c(sp) | *(var_5ch) = a3;
0x0005e684 move s0, a0 | s0 = a0;
0x0005e688 sw ra, 0x4c(sp) | *(var_4ch_3) = ra;
0x0005e68c sw s2, 0x44(sp) | *(var_44h_3) = s2;
0x0005e690 sw s1, 0x40(sp) | *(var_40h_3) = s1;
0x0005e694 sw v0, 0x34(sp) | *(var_34h_3) = v0;
0x0005e698 lw a0, (a0) | a0 = *(a0);
| if (a2 == 0) {
0x0005e69c beqz a2, 0x5e7c0 | goto label_3;
| }
| label_2:
0x0005e6a0 move a3, a2 | a3 = a2;
0x0005e6a4 lw a2, -0x7fac(gp) | a2 = *(gp);
0x0005e6a8 lw t9, -0x76e8(gp) | t9 = sym.imp.apr_pstrcat
0x0005e6ac sw zero, 0x10(sp) | *(var_10h_3) = 0;
| /* str._Max_Age0_ */
0x0005e6b0 addiu a2, a2, 0x2968 | a2 += aav.0x00002968;
0x0005e6b4 jalr t9 | t9 ();
0x0005e6b8 lw v1, 0x108(s0) | v1 = *(s0);
0x0005e6bc lw gp, 0x28(sp) | gp = *(var_28h_3);
0x0005e6c0 move s2, v0 | s2 = v0;
| if (v1 == 0) {
0x0005e6c4 beqz v1, 0x5e7a4 | goto label_4;
| }
| label_1:
0x0005e6c8 lw v0, (v1) | v0 = *(v1);
| if (v0 == 0) {
| label_0:
0x0005e6cc beql v0, zero, 0x5e734 | goto label_5;
| }
0x0005e6d0 lw v0, 4(v1) | v0 = *((v1 + 1));
0x0005e6d4 lb v0, (v0) | v0 = *(v0);
0x0005e6d8 slti v0, v0, 7 | v0 = (v0 < 7) ? 1 : 0;
| if (v0 < 0) {
0x0005e6dc bltz v0, 0x5e730 | goto label_6;
| }
0x0005e6e0 xori v0, v0, 1 | v0 ^= 1;
| if (v0 == 0) {
0x0005e6e4 beql v0, zero, 0x5e748 | goto label_7;
| }
0x0005e6e8 lw s1, -0x7fac(gp) | s1 = *(gp);
0x0005e6ec lw v0, 0xd8(s0) | v0 = *((s0 + 54));
| do {
0x0005e6f0 lw a0, -0x7fac(gp) | a0 = *(gp);
0x0005e6f4 sw v0, 0x1c(sp) | *(var_1ch_3) = v0;
0x0005e6f8 lw v0, -0x7fac(gp) | v0 = *(gp);
0x0005e6fc lw t9, -0x7f08(gp) | t9 = sym.ap_log_rerror_;
| /* str.AH00009:_ap_cookie:_user__s_removed_cookie:__s */
0x0005e700 addiu v0, v0, 0x2978 | v0 += 0x2978;
0x0005e704 sw s2, 0x20(sp) | *(var_20h_3) = s2;
0x0005e708 sw v0, 0x18(sp) | *(var_18h_3) = v0;
0x0005e70c sw s0, 0x14(sp) | *(var_14h_3) = s0;
0x0005e710 sw zero, 0x10(sp) | *(var_10h_3) = 0;
0x0005e714 addiu a3, zero, 7 | a3 = 7;
0x0005e718 move a2, zero | a2 = 0;
0x0005e71c addiu a1, zero, 0x81 | a1 = 0x81;
| /* str._usr_src_debug_apache2_2.4.57_r0_httpd_2.4.57_server_util_cookies.c */
0x0005e720 addiu a0, a0, 0x28b8 | a0 += aav.0x000028b8;
0x0005e724 bal 0x530a8 | sym_ap_log_rerror_ ();
0x0005e728 lw gp, 0x28(sp) | gp = *(var_28h_3);
0x0005e72c b 0x5e744 | goto label_8;
| label_6:
0x0005e730 lw v0, 4(v1) | v0 = *((v1 + 1));
| label_5:
0x0005e734 slti v0, v0, 7 | v0 = (v0 < 7) ? 1 : 0;
0x0005e738 xori v0, v0, 1 | v0 ^= 1;
0x0005e73c lw v0, 0xd8(s0) | v0 = *((s0 + 54));
0x0005e740 bnel v0, zero, 0x5e6f0 |
| } while (v0 == 0);
| label_8:
0x0005e744 lw s1, -0x7fac(gp) | s1 = *(gp);
| label_7:
0x0005e748 addiu s0, sp, 0x5c | s0 = sp + 0x5c;
| /* str.Set_Cookie */
0x0005e74c addiu s1, s1, 0x165c | s1 += 0x165c;
0x0005e750 b 0x5e768 |
| while (a0 != 0) {
0x0005e754 lw t9, -0x777c(gp) | t9 = sym.imp.apr_table_addn;
0x0005e758 move a2, s2 | a2 = s2;
0x0005e75c move a1, s1 | a1 = s1;
0x0005e760 jalr t9 | t9 ();
0x0005e764 lw gp, 0x28(sp) | gp = *(var_28h_3);
0x0005e768 addiu s0, s0, 4 | s0 += 4;
0x0005e76c lw a0, -4(s0) | a0 = *((s0 - 1));
0x0005e770 sw s0, 0x30(sp) | *(var_30h_3) = s0;
0x0005e774 bnez a0, 0x5e754 |
| }
0x0005e778 lw a0, 0x34(sp) | a0 = *(var_34h_3);
0x0005e77c lw v1, (s3) | v1 = *(s3);
0x0005e780 move v0, zero | v0 = 0;
| if (a0 != v1) {
0x0005e784 bne a0, v1, 0x5e7cc | goto label_9;
| }
0x0005e788 lw ra, 0x4c(sp) | ra = *(var_4ch_3);
0x0005e78c lw s3, 0x48(sp) | s3 = *(var_48h_3);
0x0005e790 lw s2, 0x44(sp) | s2 = *(var_44h_3);
0x0005e794 lw s1, 0x40(sp) | s1 = *(var_40h_3);
0x0005e798 lw s0, 0x3c(sp) | s0 = *(var_3ch_3);
0x0005e79c addiu sp, sp, 0x50 |
0x0005e7a0 jr ra | return v1;
| label_4:
0x0005e7a4 lw v0, 4(s0) | v0 = *((s0 + 1));
0x0005e7a8 lw v1, 0x60(v0) | v1 = *((v0 + 24));
0x0005e7ac lw v0, (v1) | v0 = *(v1);
| if (v1 == 0) {
0x0005e7b0 bnel v1, zero, 0x5e6cc | goto label_0;
| }
0x0005e7b4 lw v1, 8(s0) | v1 = *((s0 + 2));
0x0005e7b8 addiu v1, v1, 0x10 | v1 += 0x10;
0x0005e7bc b 0x5e6c8 | goto label_1;
| label_3:
0x0005e7c0 lw a2, -0x7fac(gp) | a2 = *(gp);
| /* esilref: 'Version=1' */
0x0005e7c4 addiu a2, a2, 0x28a0 | a2 += 0x28a0;
0x0005e7c8 b 0x5e6a0 | goto label_2;
| label_9:
0x0005e7cc lw t9, -0x75e8(gp) | t9 = sym.imp.__stack_chk_fail;
0x0005e7d0 jalr t9 | t9 ();
0x0005e7d4 nop |
| }
; assembly | /* r2dec pseudo code output */
| /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/sbin/httpd @ 0x5e7d8 */
| #include <stdint.h>
|
; (fcn) sym.ap_cookie_remove2 () | void ap_cookie_remove2 () {
0x0005e7d8 lui gp, 4 |
0x0005e7dc addiu gp, gp, 0x4748 |
0x0005e7e0 addu gp, gp, t9 | gp += t9;
0x0005e7e4 addiu sp, sp, -0x50 |
0x0005e7e8 sw s3, 0x48(sp) | *(var_48h_4) = s3;
0x0005e7ec lw s3, -0x7534(gp) | s3 = *(gp);
0x0005e7f0 sw gp, 0x28(sp) | *(var_28h_4) = gp;
0x0005e7f4 sw s0, 0x3c(sp) | *(var_3ch_4) = s0;
0x0005e7f8 lw v0, (s3) | v0 = *(s3);
0x0005e7fc sw a3, 0x5c(sp) | *(var_5ch_2) = a3;
0x0005e800 move s0, a0 | s0 = a0;
0x0005e804 sw ra, 0x4c(sp) | *(var_4ch_4) = ra;
0x0005e808 sw s2, 0x44(sp) | *(var_44h_4) = s2;
0x0005e80c sw s1, 0x40(sp) | *(var_40h_4) = s1;
0x0005e810 sw v0, 0x34(sp) | *(var_34h_4) = v0;
0x0005e814 lw a0, (a0) | a0 = *(a0);
| if (a2 == 0) {
0x0005e818 beqz a2, 0x5e93c | goto label_3;
| }
| label_2:
0x0005e81c move a3, a2 | a3 = a2;
0x0005e820 lw a2, -0x7fac(gp) | a2 = *(gp);
0x0005e824 lw t9, -0x76e8(gp) | t9 = sym.imp.apr_pstrcat
0x0005e828 sw zero, 0x10(sp) | *(var_10h_4) = 0;
| /* str._Max_Age0_ */
0x0005e82c addiu a2, a2, 0x2968 | a2 += aav.0x00002968;
0x0005e830 jalr t9 | t9 ();
0x0005e834 lw v1, 0x108(s0) | v1 = *(s0);
0x0005e838 lw gp, 0x28(sp) | gp = *(var_28h_4);
0x0005e83c move s2, v0 | s2 = v0;
| if (v1 == 0) {
0x0005e840 beqz v1, 0x5e920 | goto label_4;
| }
| label_1:
0x0005e844 lw v0, (v1) | v0 = *(v1);
| if (v0 == 0) {
| label_0:
0x0005e848 beql v0, zero, 0x5e8b0 | goto label_5;
| }
0x0005e84c lw v0, 4(v1) | v0 = *((v1 + 1));
0x0005e850 lb v0, (v0) | v0 = *(v0);
0x0005e854 slti v0, v0, 7 | v0 = (v0 < 7) ? 1 : 0;
| if (v0 < 0) {
0x0005e858 bltz v0, 0x5e8ac | goto label_6;
| }
0x0005e85c xori v0, v0, 1 | v0 ^= 1;
| if (v0 == 0) {
0x0005e860 beql v0, zero, 0x5e8c4 | goto label_7;
| }
0x0005e864 lw s1, -0x7fac(gp) | s1 = *(gp);
0x0005e868 lw v0, 0xd8(s0) | v0 = *((s0 + 54));
| do {
0x0005e86c lw a0, -0x7fac(gp) | a0 = *(gp);
0x0005e870 sw v0, 0x1c(sp) | *(var_1ch_4) = v0;
0x0005e874 lw v0, -0x7fac(gp) | v0 = *(gp);
0x0005e878 lw t9, -0x7f08(gp) | t9 = sym.ap_log_rerror_;
| /* str.AH00010:_ap_cookie:_user__s_removed_cookie2:__s */
0x0005e87c addiu v0, v0, 0x29ac | v0 += 0x29ac;
0x0005e880 sw s2, 0x20(sp) | *(var_20h_4) = s2;
0x0005e884 sw v0, 0x18(sp) | *(var_18h_4) = v0;
0x0005e888 sw s0, 0x14(sp) | *(var_14h_4) = s0;
0x0005e88c sw zero, 0x10(sp) | *(var_10h_4) = 0;
0x0005e890 addiu a3, zero, 7 | a3 = 7;
0x0005e894 move a2, zero | a2 = 0;
0x0005e898 addiu a1, zero, 0x9d | a1 = 0x9d;
| /* str._usr_src_debug_apache2_2.4.57_r0_httpd_2.4.57_server_util_cookies.c */
0x0005e89c addiu a0, a0, 0x28b8 | a0 += aav.0x000028b8;
0x0005e8a0 bal 0x530a8 | sym_ap_log_rerror_ ();
0x0005e8a4 lw gp, 0x28(sp) | gp = *(var_28h_4);
0x0005e8a8 b 0x5e8c0 | goto label_8;
| label_6:
0x0005e8ac lw v0, 4(v1) | v0 = *((v1 + 1));
| label_5:
0x0005e8b0 slti v0, v0, 7 | v0 = (v0 < 7) ? 1 : 0;
0x0005e8b4 xori v0, v0, 1 | v0 ^= 1;
0x0005e8b8 lw v0, 0xd8(s0) | v0 = *((s0 + 54));
0x0005e8bc bnel v0, zero, 0x5e86c |
| } while (v0 == 0);
| label_8:
0x0005e8c0 lw s1, -0x7fac(gp) | s1 = *(gp);
| label_7:
0x0005e8c4 addiu s0, sp, 0x5c | s0 = sp + 0x5c;
| /* str.Set_Cookie2 */
0x0005e8c8 addiu s1, s1, 0x295c | s1 += 0x295c;
0x0005e8cc b 0x5e8e4 |
| while (a0 != 0) {
0x0005e8d0 lw t9, -0x777c(gp) | t9 = sym.imp.apr_table_addn;
0x0005e8d4 move a2, s2 | a2 = s2;
0x0005e8d8 move a1, s1 | a1 = s1;
0x0005e8dc jalr t9 | t9 ();
0x0005e8e0 lw gp, 0x28(sp) | gp = *(var_28h_4);
0x0005e8e4 addiu s0, s0, 4 | s0 += 4;
0x0005e8e8 lw a0, -4(s0) | a0 = *((s0 - 1));
0x0005e8ec sw s0, 0x30(sp) | *(var_30h_4) = s0;
0x0005e8f0 bnez a0, 0x5e8d0 |
| }
0x0005e8f4 lw a0, 0x34(sp) | a0 = *(var_34h_4);
0x0005e8f8 lw v1, (s3) | v1 = *(s3);
0x0005e8fc move v0, zero | v0 = 0;
| if (a0 != v1) {
0x0005e900 bne a0, v1, 0x5e948 | goto label_9;
| }
0x0005e904 lw ra, 0x4c(sp) | ra = *(var_4ch_4);
0x0005e908 lw s3, 0x48(sp) | s3 = *(var_48h_4);
0x0005e90c lw s2, 0x44(sp) | s2 = *(var_44h_4);
0x0005e910 lw s1, 0x40(sp) | s1 = *(var_40h_4);
0x0005e914 lw s0, 0x3c(sp) | s0 = *(var_3ch_4);
0x0005e918 addiu sp, sp, 0x50 |
0x0005e91c jr ra | return v1;
| label_4:
0x0005e920 lw v0, 4(s0) | v0 = *((s0 + 1));
0x0005e924 lw v1, 0x60(v0) | v1 = *((v0 + 24));
0x0005e928 lw v0, (v1) | v0 = *(v1);
| if (v1 == 0) {
0x0005e92c bnel v1, zero, 0x5e848 | goto label_0;
| }
0x0005e930 lw v1, 8(s0) | v1 = *((s0 + 2));
0x0005e934 addiu v1, v1, 0x10 | v1 += 0x10;
0x0005e938 b 0x5e844 | goto label_1;
| label_3:
0x0005e93c lw a2, -0x7fac(gp) | a2 = *(gp);
| /* esilref: 'Version=1' */
0x0005e940 addiu a2, a2, 0x28a0 | a2 += 0x28a0;
0x0005e944 b 0x5e81c | goto label_2;
| label_9:
0x0005e948 lw t9, -0x75e8(gp) | t9 = sym.imp.__stack_chk_fail;
0x0005e94c jalr t9 | t9 ();
0x0005e950 nop |
| }
; assembly | /* r2dec pseudo code output */
| /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/sbin/httpd @ 0x5e7d8 */
| #include <stdint.h>
|
; (fcn) sym.ap_cookie_remove2 () | void ap_cookie_remove2 () {
0x0005e7d8 lui gp, 4 |
0x0005e7dc addiu gp, gp, 0x4748 |
0x0005e7e0 addu gp, gp, t9 | gp += t9;
0x0005e7e4 addiu sp, sp, -0x50 |
0x0005e7e8 sw s3, 0x48(sp) | *(var_48h_4) = s3;
0x0005e7ec lw s3, -0x7534(gp) | s3 = *(gp);
0x0005e7f0 sw gp, 0x28(sp) | *(var_28h_4) = gp;
0x0005e7f4 sw s0, 0x3c(sp) | *(var_3ch_4) = s0;
0x0005e7f8 lw v0, (s3) | v0 = *(s3);
0x0005e7fc sw a3, 0x5c(sp) | *(var_5ch_2) = a3;
0x0005e800 move s0, a0 | s0 = a0;
0x0005e804 sw ra, 0x4c(sp) | *(var_4ch_4) = ra;
0x0005e808 sw s2, 0x44(sp) | *(var_44h_4) = s2;
0x0005e80c sw s1, 0x40(sp) | *(var_40h_4) = s1;
0x0005e810 sw v0, 0x34(sp) | *(var_34h_4) = v0;
0x0005e814 lw a0, (a0) | a0 = *(a0);
| if (a2 == 0) {
0x0005e818 beqz a2, 0x5e93c | goto label_3;
| }
| label_2:
0x0005e81c move a3, a2 | a3 = a2;
0x0005e820 lw a2, -0x7fac(gp) | a2 = *(gp);
0x0005e824 lw t9, -0x76e8(gp) | t9 = sym.imp.apr_pstrcat
0x0005e828 sw zero, 0x10(sp) | *(var_10h_4) = 0;
| /* str._Max_Age0_ */
0x0005e82c addiu a2, a2, 0x2968 | a2 += aav.0x00002968;
0x0005e830 jalr t9 | t9 ();
0x0005e834 lw v1, 0x108(s0) | v1 = *(s0);
0x0005e838 lw gp, 0x28(sp) | gp = *(var_28h_4);
0x0005e83c move s2, v0 | s2 = v0;
| if (v1 == 0) {
0x0005e840 beqz v1, 0x5e920 | goto label_4;
| }
| label_1:
0x0005e844 lw v0, (v1) | v0 = *(v1);
| if (v0 == 0) {
| label_0:
0x0005e848 beql v0, zero, 0x5e8b0 | goto label_5;
| }
0x0005e84c lw v0, 4(v1) | v0 = *((v1 + 1));
0x0005e850 lb v0, (v0) | v0 = *(v0);
0x0005e854 slti v0, v0, 7 | v0 = (v0 < 7) ? 1 : 0;
| if (v0 < 0) {
0x0005e858 bltz v0, 0x5e8ac | goto label_6;
| }
0x0005e85c xori v0, v0, 1 | v0 ^= 1;
| if (v0 == 0) {
0x0005e860 beql v0, zero, 0x5e8c4 | goto label_7;
| }
0x0005e864 lw s1, -0x7fac(gp) | s1 = *(gp);
0x0005e868 lw v0, 0xd8(s0) | v0 = *((s0 + 54));
| do {
0x0005e86c lw a0, -0x7fac(gp) | a0 = *(gp);
0x0005e870 sw v0, 0x1c(sp) | *(var_1ch_4) = v0;
0x0005e874 lw v0, -0x7fac(gp) | v0 = *(gp);
0x0005e878 lw t9, -0x7f08(gp) | t9 = sym.ap_log_rerror_;
| /* str.AH00010:_ap_cookie:_user__s_removed_cookie2:__s */
0x0005e87c addiu v0, v0, 0x29ac | v0 += 0x29ac;
0x0005e880 sw s2, 0x20(sp) | *(var_20h_4) = s2;
0x0005e884 sw v0, 0x18(sp) | *(var_18h_4) = v0;
0x0005e888 sw s0, 0x14(sp) | *(var_14h_4) = s0;
0x0005e88c sw zero, 0x10(sp) | *(var_10h_4) = 0;
0x0005e890 addiu a3, zero, 7 | a3 = 7;
0x0005e894 move a2, zero | a2 = 0;
0x0005e898 addiu a1, zero, 0x9d | a1 = 0x9d;
| /* str._usr_src_debug_apache2_2.4.57_r0_httpd_2.4.57_server_util_cookies.c */
0x0005e89c addiu a0, a0, 0x28b8 | a0 += aav.0x000028b8;
0x0005e8a0 bal 0x530a8 | sym_ap_log_rerror_ ();
0x0005e8a4 lw gp, 0x28(sp) | gp = *(var_28h_4);
0x0005e8a8 b 0x5e8c0 | goto label_8;
| label_6:
0x0005e8ac lw v0, 4(v1) | v0 = *((v1 + 1));
| label_5:
0x0005e8b0 slti v0, v0, 7 | v0 = (v0 < 7) ? 1 : 0;
0x0005e8b4 xori v0, v0, 1 | v0 ^= 1;
0x0005e8b8 lw v0, 0xd8(s0) | v0 = *((s0 + 54));
0x0005e8bc bnel v0, zero, 0x5e86c |
| } while (v0 == 0);
| label_8:
0x0005e8c0 lw s1, -0x7fac(gp) | s1 = *(gp);
| label_7:
0x0005e8c4 addiu s0, sp, 0x5c | s0 = sp + 0x5c;
| /* str.Set_Cookie2 */
0x0005e8c8 addiu s1, s1, 0x295c | s1 += 0x295c;
0x0005e8cc b 0x5e8e4 |
| while (a0 != 0) {
0x0005e8d0 lw t9, -0x777c(gp) | t9 = sym.imp.apr_table_addn;
0x0005e8d4 move a2, s2 | a2 = s2;
0x0005e8d8 move a1, s1 | a1 = s1;
0x0005e8dc jalr t9 | t9 ();
0x0005e8e0 lw gp, 0x28(sp) | gp = *(var_28h_4);
0x0005e8e4 addiu s0, s0, 4 | s0 += 4;
0x0005e8e8 lw a0, -4(s0) | a0 = *((s0 - 1));
0x0005e8ec sw s0, 0x30(sp) | *(var_30h_4) = s0;
0x0005e8f0 bnez a0, 0x5e8d0 |
| }
0x0005e8f4 lw a0, 0x34(sp) | a0 = *(var_34h_4);
0x0005e8f8 lw v1, (s3) | v1 = *(s3);
0x0005e8fc move v0, zero | v0 = 0;
| if (a0 != v1) {
0x0005e900 bne a0, v1, 0x5e948 | goto label_9;
| }
0x0005e904 lw ra, 0x4c(sp) | ra = *(var_4ch_4);
0x0005e908 lw s3, 0x48(sp) | s3 = *(var_48h_4);
0x0005e90c lw s2, 0x44(sp) | s2 = *(var_44h_4);
0x0005e910 lw s1, 0x40(sp) | s1 = *(var_40h_4);
0x0005e914 lw s0, 0x3c(sp) | s0 = *(var_3ch_4);
0x0005e918 addiu sp, sp, 0x50 |
0x0005e91c jr ra | return v1;
| label_4:
0x0005e920 lw v0, 4(s0) | v0 = *((s0 + 1));
0x0005e924 lw v1, 0x60(v0) | v1 = *((v0 + 24));
0x0005e928 lw v0, (v1) | v0 = *(v1);
| if (v1 == 0) {
0x0005e92c bnel v1, zero, 0x5e848 | goto label_0;
| }
0x0005e930 lw v1, 8(s0) | v1 = *((s0 + 2));
0x0005e934 addiu v1, v1, 0x10 | v1 += 0x10;
0x0005e938 b 0x5e844 | goto label_1;
| label_3:
0x0005e93c lw a2, -0x7fac(gp) | a2 = *(gp);
| /* esilref: 'Version=1' */
0x0005e940 addiu a2, a2, 0x28a0 | a2 += 0x28a0;
0x0005e944 b 0x5e81c | goto label_2;
| label_9:
0x0005e948 lw t9, -0x75e8(gp) | t9 = sym.imp.__stack_chk_fail;
0x0005e94c jalr t9 | t9 ();
0x0005e950 nop |
| }
; assembly | /* r2dec pseudo code output */
| /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/sbin/httpd @ 0x5e22c */
| #include <stdint.h>
|
; (fcn) sym.ap_cookie_write () | void ap_cookie_write () {
0x0005e22c lui gp, 4 |
0x0005e230 addiu gp, gp, 0x4cf4 |
0x0005e234 addu gp, gp, t9 | gp += t9;
0x0005e238 addiu sp, sp, -0x58 |
0x0005e23c sw s3, 0x44(sp) | *(var_44h) = s3;
0x0005e240 lw s3, -0x7534(gp) | s3 = *(gp);
0x0005e244 lw v0, 0x68(sp) | v0 = *(arg_68h);
0x0005e248 sw gp, 0x28(sp) | *(var_28h) = gp;
0x0005e24c lw v1, (s3) | v1 = *(s3);
0x0005e250 sw s6, 0x50(sp) | *(var_50h) = s6;
0x0005e254 sw s5, 0x4c(sp) | *(var_4ch) = s5;
0x0005e258 sw s4, 0x48(sp) | *(var_48h) = s4;
0x0005e25c sw s1, 0x3c(sp) | *(var_3ch) = s1;
0x0005e260 sw s0, 0x38(sp) | *(var_38h) = s0;
0x0005e264 sw ra, 0x54(sp) | *(var_54h) = ra;
0x0005e268 sw s2, 0x40(sp) | *(var_40h) = s2;
0x0005e26c move s1, a0 | s1 = a0;
0x0005e270 move s5, a1 | s5 = a1;
0x0005e274 move s6, a2 | s6 = a2;
0x0005e278 move s0, a3 | s0 = a3;
0x0005e27c sw v1, 0x34(sp) | *(var_34h) = v1;
0x0005e280 lw s4, (a0) | s4 = *(a0);
| if (v0 != 0) {
0x0005e284 bnez v0, 0x5e3d8 | goto label_4;
| }
0x0005e288 lw v0, -0x7fac(gp) | v0 = *(gp);
0x0005e28c lw s2, -0x7fac(gp) | s2 = *(gp);
0x0005e290 addiu v0, v0, 0x47dc | v0 += 0x47dc;
| if (s0 == 0) {
| label_1:
0x0005e294 beql s0, zero, 0x5e350 | goto label_5;
| }
0x0005e298 lw s0, -0x7fac(gp) | s0 = *(gp);
0x0005e29c lb v1, (s0) | v1 = *(s0);
| if (v1 == 0) {
0x0005e2a0 beql v1, zero, 0x5e350 | goto label_5;
| }
0x0005e2a4 lw s0, -0x7fac(gp) | s0 = *(gp);
| do {
0x0005e2a8 lw a2, -0x7fac(gp) | a2 = *(gp);
0x0005e2ac lw t9, -0x76e8(gp) | t9 = sym.imp.apr_pstrcat
0x0005e2b0 addiu s2, s2, -0x6a0c | s2 += -aav.0x00006a0c;
0x0005e2b4 sw s2, 0x10(sp) | *(var_10h) = s2;
0x0005e2b8 sw zero, 0x1c(sp) | *(var_1ch) = 0;
0x0005e2bc sw s0, 0x18(sp) | *(var_18h) = s0;
0x0005e2c0 sw v0, 0x14(sp) | *(var_14h) = v0;
0x0005e2c4 move a3, s6 | a3 = s6;
0x0005e2c8 addiu a2, a2, 0x795c | a2 += 0x795c;
0x0005e2cc move a1, s5 | a1 = s5;
0x0005e2d0 move a0, s4 | a0 = s4;
0x0005e2d4 jalr t9 | t9 ();
0x0005e2d8 lw v1, 0x108(s1) | v1 = *(s1);
0x0005e2dc lw gp, 0x28(sp) | gp = *(var_28h);
0x0005e2e0 move s2, v0 | s2 = v0;
| if (v1 == 0) {
0x0005e2e4 beqz v1, 0x5e41c | goto label_6;
| }
| label_3:
0x0005e2e8 lw v0, (v1) | v0 = *(v1);
| if (v0 == 0) {
| label_2:
0x0005e2ec beql v0, zero, 0x5e35c | goto label_7;
| }
0x0005e2f0 lw v0, 4(v1) | v0 = *((v1 + 1));
0x0005e2f4 lb v0, (v0) | v0 = *(v0);
0x0005e2f8 slti v0, v0, 7 | v0 = (v0 < 7) ? 1 : 0;
| if (v0 < 0) {
0x0005e2fc bltz v0, 0x5e358 | goto label_8;
| }
0x0005e300 xori v0, v0, 1 | v0 ^= 1;
| if (v0 == 0) {
0x0005e304 beql v0, zero, 0x5e370 | goto label_9;
| }
0x0005e308 lw s1, -0x7fac(gp) | s1 = *(gp);
0x0005e30c lw v0, 0xd8(s1) | v0 = *((s1 + 54));
| label_0:
0x0005e310 lw a0, -0x7fac(gp) | a0 = *(gp);
0x0005e314 sw v0, 0x1c(sp) | *(var_1ch) = v0;
0x0005e318 lw v0, -0x7fac(gp) | v0 = *(gp);
0x0005e31c lw t9, -0x7f08(gp) | t9 = sym.ap_log_rerror_;
| /* str.AH00007:_ap_cookie:_user__s_set_cookie:__s */
0x0005e320 addiu v0, v0, 0x28fc | v0 += 0x28fc;
0x0005e324 sw s2, 0x20(sp) | *(var_20h) = s2;
0x0005e328 sw v0, 0x18(sp) | *(var_18h) = v0;
0x0005e32c sw s1, 0x14(sp) | *(var_14h) = s1;
0x0005e330 sw zero, 0x10(sp) | *(var_10h) = 0;
0x0005e334 addiu a3, zero, 7 | a3 = 7;
0x0005e338 move a2, zero | a2 = 0;
0x0005e33c addiu a1, zero, 0x3b | a1 = 0x3b;
| /* str._usr_src_debug_apache2_2.4.57_r0_httpd_2.4.57_server_util_cookies.c */
0x0005e340 addiu a0, a0, 0x28b8 | a0 += aav.0x000028b8;
0x0005e344 bal 0x530a8 | sym_ap_log_rerror_ ();
0x0005e348 lw gp, 0x28(sp) | gp = *(var_28h);
0x0005e34c b 0x5e36c | goto label_10;
| /* str.HttpOnly_Secure_Version1 */
| label_5:
0x0005e350 addiu s0, s0, 0x2890 | s0 += 0x2890;
0x0005e354 b 0x5e2a8 |
| } while (1);
| label_8:
0x0005e358 lw v0, 4(v1) | v0 = *((v1 + 1));
| label_7:
0x0005e35c slti v0, v0, 7 | v0 = (v0 < 7) ? 1 : 0;
0x0005e360 xori v0, v0, 1 | v0 ^= 1;
0x0005e364 lw v0, 0xd8(s1) | v0 = *((s1 + 54));
| if (v0 == 0) {
0x0005e368 bnel v0, zero, 0x5e310 | goto label_0;
| }
| label_10:
0x0005e36c lw s1, -0x7fac(gp) | s1 = *(gp);
| label_9:
0x0005e370 addiu s0, sp, 0x6c | s0 = sp + 0x6c;
| /* str.Set_Cookie */
0x0005e374 addiu s1, s1, 0x165c | s1 += 0x165c;
0x0005e378 b 0x5e390 |
| while (a0 != 0) {
0x0005e37c lw t9, -0x777c(gp) | t9 = sym.imp.apr_table_addn;
0x0005e380 move a2, s2 | a2 = s2;
0x0005e384 move a1, s1 | a1 = s1;
0x0005e388 jalr t9 | t9 ();
0x0005e38c lw gp, 0x28(sp) | gp = *(var_28h);
0x0005e390 addiu s0, s0, 4 | s0 += 4;
0x0005e394 lw a0, -4(s0) | a0 = *((s0 - 1));
0x0005e398 sw s0, 0x30(sp) | *(var_30h) = s0;
0x0005e39c bnez a0, 0x5e37c |
| }
0x0005e3a0 lw a0, 0x34(sp) | a0 = *(var_34h);
0x0005e3a4 lw v1, (s3) | v1 = *(s3);
0x0005e3a8 move v0, zero | v0 = 0;
| if (a0 != v1) {
0x0005e3ac bne a0, v1, 0x5e438 | goto label_11;
| }
0x0005e3b0 lw ra, 0x54(sp) | ra = *(var_54h);
0x0005e3b4 lw s6, 0x50(sp) | s6 = *(var_50h);
0x0005e3b8 lw s5, 0x4c(sp) | s5 = *(var_4ch);
0x0005e3bc lw s4, 0x48(sp) | s4 = *(var_48h);
0x0005e3c0 lw s3, 0x44(sp) | s3 = *(var_44h);
0x0005e3c4 lw s2, 0x40(sp) | s2 = *(var_40h);
0x0005e3c8 lw s1, 0x3c(sp) | s1 = *(var_3ch);
0x0005e3cc lw s0, 0x38(sp) | s0 = *(var_38h);
0x0005e3d0 addiu sp, sp, 0x58 |
0x0005e3d4 jr ra | return v1;
| label_4:
0x0005e3d8 lw t9, -0x72fc(gp) | t9 = sym.imp.apr_ltoa;
0x0005e3dc move a0, s4 | a0 = s4;
0x0005e3e0 move a1, v0 | a1 = v0;
0x0005e3e4 jalr t9 | t9 ();
0x0005e3e8 lw gp, 0x28(sp) | gp = *(var_28h);
0x0005e3ec move a0, s4 | a0 = s4;
0x0005e3f0 sw zero, 0x10(sp) | *(var_10h) = 0;
0x0005e3f4 lw s2, -0x7fac(gp) | s2 = *(gp);
0x0005e3f8 lw a1, -0x7fac(gp) | a1 = *(gp);
0x0005e3fc lw t9, -0x76e8(gp) | t9 = sym.imp.apr_pstrcat
0x0005e400 addiu a3, s2, -0x6a0c | a3 = s2 + -aav.0x00006a0c;
0x0005e404 move a2, v0 | a2 = v0;
| /* str.Max_Age */
0x0005e408 addiu a1, a1, 0x28ac | a1 += 0x28ac;
0x0005e40c jalr t9 | t9 ();
0x0005e410 lw gp, 0x28(sp) | gp = *(var_28h);
0x0005e414 lw s4, (s1) | s4 = *(s1);
0x0005e418 b 0x5e294 | goto label_1;
| label_6:
0x0005e41c lw v0, 4(s1) | v0 = *((s1 + 1));
0x0005e420 lw v1, 0x60(v0) | v1 = *((v0 + 24));
0x0005e424 lw v0, (v1) | v0 = *(v1);
| if (v1 == 0) {
0x0005e428 bnel v1, zero, 0x5e2ec | goto label_2;
| }
0x0005e42c lw v1, 8(s1) | v1 = *((s1 + 2));
0x0005e430 addiu v1, v1, 0x10 | v1 += 0x10;
0x0005e434 b 0x5e2e8 | goto label_3;
| label_11:
0x0005e438 lw t9, -0x75e8(gp) | t9 = sym.imp.__stack_chk_fail;
0x0005e43c jalr t9 | t9 ();
0x0005e440 nop |
| }
; assembly | /* r2dec pseudo code output */
| /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/sbin/httpd @ 0x5e444 */
| #include <stdint.h>
|
; (fcn) sym.ap_cookie_write2 () | void ap_cookie_write2 () {
0x0005e444 lui gp, 4 |
0x0005e448 addiu gp, gp, 0x4adc |
0x0005e44c addu gp, gp, t9 | gp += t9;
0x0005e450 addiu sp, sp, -0x58 |
0x0005e454 sw s3, 0x44(sp) | *(var_44h_2) = s3;
0x0005e458 lw s3, -0x7534(gp) | s3 = *(gp);
0x0005e45c lw v0, 0x68(sp) | v0 = *(var_10h);
0x0005e460 sw gp, 0x28(sp) | *(var_28h_2) = gp;
0x0005e464 lw v1, (s3) | v1 = *(s3);
0x0005e468 sw s6, 0x50(sp) | *(var_50h_2) = s6;
0x0005e46c sw s5, 0x4c(sp) | *(var_4ch_2) = s5;
0x0005e470 sw s4, 0x48(sp) | *(var_48h_2) = s4;
0x0005e474 sw s1, 0x3c(sp) | *(var_3ch_2) = s1;
0x0005e478 sw s0, 0x38(sp) | *(var_38h_2) = s0;
0x0005e47c sw ra, 0x54(sp) | *(var_54h_2) = ra;
0x0005e480 sw s2, 0x40(sp) | *(var_40h_2) = s2;
0x0005e484 move s1, a0 | s1 = a0;
0x0005e488 move s5, a1 | s5 = a1;
0x0005e48c move s6, a2 | s6 = a2;
0x0005e490 move s0, a3 | s0 = a3;
0x0005e494 sw v1, 0x34(sp) | *(var_34h_2) = v1;
0x0005e498 lw s4, (a0) | s4 = *(a0);
| if (v0 != 0) {
0x0005e49c bnez v0, 0x5e5f0 | goto label_4;
| }
0x0005e4a0 lw v0, -0x7fac(gp) | v0 = *(gp);
0x0005e4a4 lw s2, -0x7fac(gp) | s2 = *(gp);
0x0005e4a8 addiu v0, v0, 0x47dc | v0 += 0x47dc;
| if (s0 == 0) {
| label_1:
0x0005e4ac beql s0, zero, 0x5e568 | goto label_5;
| }
0x0005e4b0 lw s0, -0x7fac(gp) | s0 = *(gp);
0x0005e4b4 lb v1, (s0) | v1 = *(s0);
| if (v1 == 0) {
0x0005e4b8 beql v1, zero, 0x5e568 | goto label_5;
| }
0x0005e4bc lw s0, -0x7fac(gp) | s0 = *(gp);
| do {
0x0005e4c0 lw a2, -0x7fac(gp) | a2 = *(gp);
0x0005e4c4 lw t9, -0x76e8(gp) | t9 = sym.imp.apr_pstrcat
0x0005e4c8 addiu s2, s2, -0x6a0c | s2 += -aav.0x00006a0c;
0x0005e4cc sw s2, 0x10(sp) | *(var_10h_2) = s2;
0x0005e4d0 sw zero, 0x1c(sp) | *(var_1ch_2) = 0;
0x0005e4d4 sw s0, 0x18(sp) | *(var_18h_2) = s0;
0x0005e4d8 sw v0, 0x14(sp) | *(var_14h_2) = v0;
0x0005e4dc move a3, s6 | a3 = s6;
0x0005e4e0 addiu a2, a2, 0x795c | a2 += 0x795c;
0x0005e4e4 move a1, s5 | a1 = s5;
0x0005e4e8 move a0, s4 | a0 = s4;
0x0005e4ec jalr t9 | t9 ();
0x0005e4f0 lw v1, 0x108(s1) | v1 = *(s1);
0x0005e4f4 lw gp, 0x28(sp) | gp = *(var_28h_2);
0x0005e4f8 move s2, v0 | s2 = v0;
| if (v1 == 0) {
0x0005e4fc beqz v1, 0x5e634 | goto label_6;
| }
| label_3:
0x0005e500 lw v0, (v1) | v0 = *(v1);
| if (v0 == 0) {
| label_2:
0x0005e504 beql v0, zero, 0x5e574 | goto label_7;
| }
0x0005e508 lw v0, 4(v1) | v0 = *((v1 + 1));
0x0005e50c lb v0, (v0) | v0 = *(v0);
0x0005e510 slti v0, v0, 7 | v0 = (v0 < 7) ? 1 : 0;
| if (v0 < 0) {
0x0005e514 bltz v0, 0x5e570 | goto label_8;
| }
0x0005e518 xori v0, v0, 1 | v0 ^= 1;
| if (v0 == 0) {
0x0005e51c beql v0, zero, 0x5e588 | goto label_9;
| }
0x0005e520 lw s1, -0x7fac(gp) | s1 = *(gp);
0x0005e524 lw v0, 0xd8(s1) | v0 = *((s1 + 54));
| label_0:
0x0005e528 lw a0, -0x7fac(gp) | a0 = *(gp);
0x0005e52c sw v0, 0x1c(sp) | *(var_1ch_2) = v0;
0x0005e530 lw v0, -0x7fac(gp) | v0 = *(gp);
0x0005e534 lw t9, -0x7f08(gp) | t9 = sym.ap_log_rerror_;
| /* str.AH00008:_ap_cookie:_user__s_set_cookie2:__s */
0x0005e538 addiu v0, v0, 0x292c | v0 += 0x292c;
0x0005e53c sw s2, 0x20(sp) | *(var_20h_2) = s2;
0x0005e540 sw v0, 0x18(sp) | *(var_18h_2) = v0;
0x0005e544 sw s1, 0x14(sp) | *(var_14h_2) = s1;
0x0005e548 sw zero, 0x10(sp) | *(var_10h_2) = 0;
0x0005e54c addiu a3, zero, 7 | a3 = 7;
0x0005e550 move a2, zero | a2 = 0;
0x0005e554 addiu a1, zero, 0x65 | a1 = 0x65;
| /* str._usr_src_debug_apache2_2.4.57_r0_httpd_2.4.57_server_util_cookies.c */
0x0005e558 addiu a0, a0, 0x28b8 | a0 += aav.0x000028b8;
0x0005e55c bal 0x530a8 | sym_ap_log_rerror_ ();
0x0005e560 lw gp, 0x28(sp) | gp = *(var_28h_2);
0x0005e564 b 0x5e584 | goto label_10;
| /* str.HttpOnly_Secure_Version1 */
| label_5:
0x0005e568 addiu s0, s0, 0x2890 | s0 += 0x2890;
0x0005e56c b 0x5e4c0 |
| } while (1);
| label_8:
0x0005e570 lw v0, 4(v1) | v0 = *((v1 + 1));
| label_7:
0x0005e574 slti v0, v0, 7 | v0 = (v0 < 7) ? 1 : 0;
0x0005e578 xori v0, v0, 1 | v0 ^= 1;
0x0005e57c lw v0, 0xd8(s1) | v0 = *((s1 + 54));
| if (v0 == 0) {
0x0005e580 bnel v0, zero, 0x5e528 | goto label_0;
| }
| label_10:
0x0005e584 lw s1, -0x7fac(gp) | s1 = *(gp);
| label_9:
0x0005e588 addiu s0, sp, 0x6c | s0 = sp + 0x6c;
| /* str.Set_Cookie2 */
0x0005e58c addiu s1, s1, 0x295c | s1 += 0x295c;
0x0005e590 b 0x5e5a8 |
| while (a0 != 0) {
0x0005e594 lw t9, -0x777c(gp) | t9 = sym.imp.apr_table_addn;
0x0005e598 move a2, s2 | a2 = s2;
0x0005e59c move a1, s1 | a1 = s1;
0x0005e5a0 jalr t9 | t9 ();
0x0005e5a4 lw gp, 0x28(sp) | gp = *(var_28h_2);
0x0005e5a8 addiu s0, s0, 4 | s0 += 4;
0x0005e5ac lw a0, -4(s0) | a0 = *((s0 - 1));
0x0005e5b0 sw s0, 0x30(sp) | *(var_30h_2) = s0;
0x0005e5b4 bnez a0, 0x5e594 |
| }
0x0005e5b8 lw a0, 0x34(sp) | a0 = *(var_34h_2);
0x0005e5bc lw v1, (s3) | v1 = *(s3);
0x0005e5c0 move v0, zero | v0 = 0;
| if (a0 != v1) {
0x0005e5c4 bne a0, v1, 0x5e650 | goto label_11;
| }
0x0005e5c8 lw ra, 0x54(sp) | ra = *(var_54h_2);
0x0005e5cc lw s6, 0x50(sp) | s6 = *(var_50h_2);
0x0005e5d0 lw s5, 0x4c(sp) | s5 = *(var_4ch_2);
0x0005e5d4 lw s4, 0x48(sp) | s4 = *(var_48h_2);
0x0005e5d8 lw s3, 0x44(sp) | s3 = *(var_44h_2);
0x0005e5dc lw s2, 0x40(sp) | s2 = *(var_40h_2);
0x0005e5e0 lw s1, 0x3c(sp) | s1 = *(var_3ch_2);
0x0005e5e4 lw s0, 0x38(sp) | s0 = *(var_38h_2);
0x0005e5e8 addiu sp, sp, 0x58 |
0x0005e5ec jr ra | return v1;
| label_4:
0x0005e5f0 lw t9, -0x72fc(gp) | t9 = sym.imp.apr_ltoa;
0x0005e5f4 move a0, s4 | a0 = s4;
0x0005e5f8 move a1, v0 | a1 = v0;
0x0005e5fc jalr t9 | t9 ();
0x0005e600 lw gp, 0x28(sp) | gp = *(var_28h_2);
0x0005e604 move a0, s4 | a0 = s4;
0x0005e608 sw zero, 0x10(sp) | *(var_10h_2) = 0;
0x0005e60c lw s2, -0x7fac(gp) | s2 = *(gp);
0x0005e610 lw a1, -0x7fac(gp) | a1 = *(gp);
0x0005e614 lw t9, -0x76e8(gp) | t9 = sym.imp.apr_pstrcat
0x0005e618 addiu a3, s2, -0x6a0c | a3 = s2 + -aav.0x00006a0c;
0x0005e61c move a2, v0 | a2 = v0;
| /* str.Max_Age */
0x0005e620 addiu a1, a1, 0x28ac | a1 += 0x28ac;
0x0005e624 jalr t9 | t9 ();
0x0005e628 lw gp, 0x28(sp) | gp = *(var_28h_2);
0x0005e62c lw s4, (s1) | s4 = *(s1);
0x0005e630 b 0x5e4ac | goto label_1;
| label_6:
0x0005e634 lw v0, 4(s1) | v0 = *((s1 + 1));
0x0005e638 lw v1, 0x60(v0) | v1 = *((v0 + 24));
0x0005e63c lw v0, (v1) | v0 = *(v1);
| if (v1 == 0) {
0x0005e640 bnel v1, zero, 0x5e504 | goto label_2;
| }
0x0005e644 lw v1, 8(s1) | v1 = *((s1 + 2));
0x0005e648 addiu v1, v1, 0x10 | v1 += 0x10;
0x0005e64c b 0x5e500 | goto label_3;
| label_11:
0x0005e650 lw t9, -0x75e8(gp) | t9 = sym.imp.__stack_chk_fail;
0x0005e654 jalr t9 | t9 ();
0x0005e658 nop |
| }
; assembly | /* r2dec pseudo code output */
| /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/sbin/httpd @ 0x5e444 */
| #include <stdint.h>
|
; (fcn) sym.ap_cookie_write2 () | void ap_cookie_write2 () {
0x0005e444 lui gp, 4 |
0x0005e448 addiu gp, gp, 0x4adc |
0x0005e44c addu gp, gp, t9 | gp += t9;
0x0005e450 addiu sp, sp, -0x58 |
0x0005e454 sw s3, 0x44(sp) | *(var_44h_2) = s3;
0x0005e458 lw s3, -0x7534(gp) | s3 = *(gp);
0x0005e45c lw v0, 0x68(sp) | v0 = *(var_10h);
0x0005e460 sw gp, 0x28(sp) | *(var_28h_2) = gp;
0x0005e464 lw v1, (s3) | v1 = *(s3);
0x0005e468 sw s6, 0x50(sp) | *(var_50h_2) = s6;
0x0005e46c sw s5, 0x4c(sp) | *(var_4ch_2) = s5;
0x0005e470 sw s4, 0x48(sp) | *(var_48h_2) = s4;
0x0005e474 sw s1, 0x3c(sp) | *(var_3ch_2) = s1;
0x0005e478 sw s0, 0x38(sp) | *(var_38h_2) = s0;
0x0005e47c sw ra, 0x54(sp) | *(var_54h_2) = ra;
0x0005e480 sw s2, 0x40(sp) | *(var_40h_2) = s2;
0x0005e484 move s1, a0 | s1 = a0;
0x0005e488 move s5, a1 | s5 = a1;
0x0005e48c move s6, a2 | s6 = a2;
0x0005e490 move s0, a3 | s0 = a3;
0x0005e494 sw v1, 0x34(sp) | *(var_34h_2) = v1;
0x0005e498 lw s4, (a0) | s4 = *(a0);
| if (v0 != 0) {
0x0005e49c bnez v0, 0x5e5f0 | goto label_4;
| }
0x0005e4a0 lw v0, -0x7fac(gp) | v0 = *(gp);
0x0005e4a4 lw s2, -0x7fac(gp) | s2 = *(gp);
0x0005e4a8 addiu v0, v0, 0x47dc | v0 += 0x47dc;
| if (s0 == 0) {
| label_1:
0x0005e4ac beql s0, zero, 0x5e568 | goto label_5;
| }
0x0005e4b0 lw s0, -0x7fac(gp) | s0 = *(gp);
0x0005e4b4 lb v1, (s0) | v1 = *(s0);
| if (v1 == 0) {
0x0005e4b8 beql v1, zero, 0x5e568 | goto label_5;
| }
0x0005e4bc lw s0, -0x7fac(gp) | s0 = *(gp);
| do {
0x0005e4c0 lw a2, -0x7fac(gp) | a2 = *(gp);
0x0005e4c4 lw t9, -0x76e8(gp) | t9 = sym.imp.apr_pstrcat
0x0005e4c8 addiu s2, s2, -0x6a0c | s2 += -aav.0x00006a0c;
0x0005e4cc sw s2, 0x10(sp) | *(var_10h_2) = s2;
0x0005e4d0 sw zero, 0x1c(sp) | *(var_1ch_2) = 0;
0x0005e4d4 sw s0, 0x18(sp) | *(var_18h_2) = s0;
0x0005e4d8 sw v0, 0x14(sp) | *(var_14h_2) = v0;
0x0005e4dc move a3, s6 | a3 = s6;
0x0005e4e0 addiu a2, a2, 0x795c | a2 += 0x795c;
0x0005e4e4 move a1, s5 | a1 = s5;
0x0005e4e8 move a0, s4 | a0 = s4;
0x0005e4ec jalr t9 | t9 ();
0x0005e4f0 lw v1, 0x108(s1) | v1 = *(s1);
0x0005e4f4 lw gp, 0x28(sp) | gp = *(var_28h_2);
0x0005e4f8 move s2, v0 | s2 = v0;
| if (v1 == 0) {
0x0005e4fc beqz v1, 0x5e634 | goto label_6;
| }
| label_3:
0x0005e500 lw v0, (v1) | v0 = *(v1);
| if (v0 == 0) {
| label_2:
0x0005e504 beql v0, zero, 0x5e574 | goto label_7;
| }
0x0005e508 lw v0, 4(v1) | v0 = *((v1 + 1));
0x0005e50c lb v0, (v0) | v0 = *(v0);
0x0005e510 slti v0, v0, 7 | v0 = (v0 < 7) ? 1 : 0;
| if (v0 < 0) {
0x0005e514 bltz v0, 0x5e570 | goto label_8;
| }
0x0005e518 xori v0, v0, 1 | v0 ^= 1;
| if (v0 == 0) {
0x0005e51c beql v0, zero, 0x5e588 | goto label_9;
| }
0x0005e520 lw s1, -0x7fac(gp) | s1 = *(gp);
0x0005e524 lw v0, 0xd8(s1) | v0 = *((s1 + 54));
| label_0:
0x0005e528 lw a0, -0x7fac(gp) | a0 = *(gp);
0x0005e52c sw v0, 0x1c(sp) | *(var_1ch_2) = v0;
0x0005e530 lw v0, -0x7fac(gp) | v0 = *(gp);
0x0005e534 lw t9, -0x7f08(gp) | t9 = sym.ap_log_rerror_;
| /* str.AH00008:_ap_cookie:_user__s_set_cookie2:__s */
0x0005e538 addiu v0, v0, 0x292c | v0 += 0x292c;
0x0005e53c sw s2, 0x20(sp) | *(var_20h_2) = s2;
0x0005e540 sw v0, 0x18(sp) | *(var_18h_2) = v0;
0x0005e544 sw s1, 0x14(sp) | *(var_14h_2) = s1;
0x0005e548 sw zero, 0x10(sp) | *(var_10h_2) = 0;
0x0005e54c addiu a3, zero, 7 | a3 = 7;
0x0005e550 move a2, zero | a2 = 0;
0x0005e554 addiu a1, zero, 0x65 | a1 = 0x65;
| /* str._usr_src_debug_apache2_2.4.57_r0_httpd_2.4.57_server_util_cookies.c */
0x0005e558 addiu a0, a0, 0x28b8 | a0 += aav.0x000028b8;
0x0005e55c bal 0x530a8 | sym_ap_log_rerror_ ();
0x0005e560 lw gp, 0x28(sp) | gp = *(var_28h_2);
0x0005e564 b 0x5e584 | goto label_10;
| /* str.HttpOnly_Secure_Version1 */
| label_5:
0x0005e568 addiu s0, s0, 0x2890 | s0 += 0x2890;
0x0005e56c b 0x5e4c0 |
| } while (1);
| label_8:
0x0005e570 lw v0, 4(v1) | v0 = *((v1 + 1));
| label_7:
0x0005e574 slti v0, v0, 7 | v0 = (v0 < 7) ? 1 : 0;
0x0005e578 xori v0, v0, 1 | v0 ^= 1;
0x0005e57c lw v0, 0xd8(s1) | v0 = *((s1 + 54));
| if (v0 == 0) {
0x0005e580 bnel v0, zero, 0x5e528 | goto label_0;
| }
| label_10:
0x0005e584 lw s1, -0x7fac(gp) | s1 = *(gp);
| label_9:
0x0005e588 addiu s0, sp, 0x6c | s0 = sp + 0x6c;
| /* str.Set_Cookie2 */
0x0005e58c addiu s1, s1, 0x295c | s1 += 0x295c;
0x0005e590 b 0x5e5a8 |
| while (a0 != 0) {
0x0005e594 lw t9, -0x777c(gp) | t9 = sym.imp.apr_table_addn;
0x0005e598 move a2, s2 | a2 = s2;
0x0005e59c move a1, s1 | a1 = s1;
0x0005e5a0 jalr t9 | t9 ();
0x0005e5a4 lw gp, 0x28(sp) | gp = *(var_28h_2);
0x0005e5a8 addiu s0, s0, 4 | s0 += 4;
0x0005e5ac lw a0, -4(s0) | a0 = *((s0 - 1));
0x0005e5b0 sw s0, 0x30(sp) | *(var_30h_2) = s0;
0x0005e5b4 bnez a0, 0x5e594 |
| }
0x0005e5b8 lw a0, 0x34(sp) | a0 = *(var_34h_2);
0x0005e5bc lw v1, (s3) | v1 = *(s3);
0x0005e5c0 move v0, zero | v0 = 0;
| if (a0 != v1) {
0x0005e5c4 bne a0, v1, 0x5e650 | goto label_11;
| }
0x0005e5c8 lw ra, 0x54(sp) | ra = *(var_54h_2);
0x0005e5cc lw s6, 0x50(sp) | s6 = *(var_50h_2);
0x0005e5d0 lw s5, 0x4c(sp) | s5 = *(var_4ch_2);
0x0005e5d4 lw s4, 0x48(sp) | s4 = *(var_48h_2);
0x0005e5d8 lw s3, 0x44(sp) | s3 = *(var_44h_2);
0x0005e5dc lw s2, 0x40(sp) | s2 = *(var_40h_2);
0x0005e5e0 lw s1, 0x3c(sp) | s1 = *(var_3ch_2);
0x0005e5e4 lw s0, 0x38(sp) | s0 = *(var_38h_2);
0x0005e5e8 addiu sp, sp, 0x58 |
0x0005e5ec jr ra | return v1;
| label_4:
0x0005e5f0 lw t9, -0x72fc(gp) | t9 = sym.imp.apr_ltoa;
0x0005e5f4 move a0, s4 | a0 = s4;
0x0005e5f8 move a1, v0 | a1 = v0;
0x0005e5fc jalr t9 | t9 ();
0x0005e600 lw gp, 0x28(sp) | gp = *(var_28h_2);
0x0005e604 move a0, s4 | a0 = s4;
0x0005e608 sw zero, 0x10(sp) | *(var_10h_2) = 0;
0x0005e60c lw s2, -0x7fac(gp) | s2 = *(gp);
0x0005e610 lw a1, -0x7fac(gp) | a1 = *(gp);
0x0005e614 lw t9, -0x76e8(gp) | t9 = sym.imp.apr_pstrcat
0x0005e618 addiu a3, s2, -0x6a0c | a3 = s2 + -aav.0x00006a0c;
0x0005e61c move a2, v0 | a2 = v0;
| /* str.Max_Age */
0x0005e620 addiu a1, a1, 0x28ac | a1 += 0x28ac;
0x0005e624 jalr t9 | t9 ();
0x0005e628 lw gp, 0x28(sp) | gp = *(var_28h_2);
0x0005e62c lw s4, (s1) | s4 = *(s1);
0x0005e630 b 0x5e4ac | goto label_1;
| label_6:
0x0005e634 lw v0, 4(s1) | v0 = *((s1 + 1));
0x0005e638 lw v1, 0x60(v0) | v1 = *((v0 + 24));
0x0005e63c lw v0, (v1) | v0 = *(v1);
| if (v1 == 0) {
0x0005e640 bnel v1, zero, 0x5e504 | goto label_2;
| }
0x0005e644 lw v1, 8(s1) | v1 = *((s1 + 2));
0x0005e648 addiu v1, v1, 0x10 | v1 += 0x10;
0x0005e64c b 0x5e500 | goto label_3;
| label_11:
0x0005e650 lw t9, -0x75e8(gp) | t9 = sym.imp.__stack_chk_fail;
0x0005e654 jalr t9 | t9 ();
0x0005e658 nop |
| }
; assembly | /* r2dec pseudo code output */
| /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/sbin/httpd @ 0x544ac */
| #include <stdint.h>
|
; (fcn) sym.ap_create_environment () | void ap_create_environment () {
0x000544ac lui gp, 5 |
0x000544b0 addiu gp, gp, -0x158c |
0x000544b4 addu gp, gp, t9 | gp += t9;
0x000544b8 addiu sp, sp, -0x50 |
0x000544bc lw t9, -0x7254(gp) | t9 = sym.imp.apr_table_elts;
0x000544c0 sw ra, 0x4c(sp) | *(var_4ch) = ra;
0x000544c4 sw gp, 0x18(sp) | *(var_18h) = gp;
0x000544c8 sw s5, 0x3c(sp) | *(var_3ch) = s5;
0x000544cc sw s3, 0x34(sp) | *(var_34h) = s3;
0x000544d0 sw s2, 0x30(sp) | *(var_30h) = s2;
0x000544d4 sw s1, 0x2c(sp) | *(var_2ch) = s1;
0x000544d8 sw s0, 0x28(sp) | *(var_28h) = s0;
0x000544dc sw a0, 0x50(sp) | *(arg_50h) = a0;
0x000544e0 sw fp, 0x48(sp) | *(var_48h) = fp;
0x000544e4 move a0, a1 | a0 = a1;
0x000544e8 sw s7, 0x44(sp) | *(var_44h) = s7;
0x000544ec sw s6, 0x40(sp) | *(var_40h) = s6;
0x000544f0 sw s4, 0x38(sp) | *(var_38h) = s4;
0x000544f4 move s0, a1 | s0 = a1;
0x000544f8 jalr t9 | t9 ();
0x000544fc lw gp, 0x18(sp) | gp = *(var_18h);
0x00054500 lw a1, 8(v0) | a1 = *((v0 + 2));
0x00054504 lw a0, 0x50(sp) | a0 = *(arg_50h);
0x00054508 lw t9, -0x7544(gp) | t9 = sym.imp.apr_palloc;
0x0005450c addiu a1, a1, 2 | a1 += 2;
0x00054510 sll a1, a1, 2 | a1 <<= 2;
0x00054514 lw s2, -0x7fac(gp) | s2 = *(gp);
0x00054518 move s1, v0 | s1 = v0;
0x0005451c lw s5, 0x10(v0) | s5 = *((v0 + 4));
0x00054520 jalr t9 | t9 ();
0x00054524 lw gp, 0x18(sp) | gp = *(var_18h);
| /* esilref: 'TZ' */
0x00054528 addiu a1, s2, 0x14e4 | a1 = s2 + 0x14e4;
0x0005452c move a0, s0 | a0 = s0;
0x00054530 lw t9, -0x7668(gp) | t9 = sym.imp.apr_table_get;
0x00054534 move s3, v0 | s3 = v0;
0x00054538 jalr t9 | t9 ();
0x0005453c lw gp, 0x18(sp) | gp = *(var_18h);
| if (v0 == 0) {
0x00054540 beqz v0, 0x54684 | goto label_3;
| }
| label_1:
0x00054544 move s2, s3 | s2 = s3;
0x00054548 move t0, zero | t0 = 0;
| label_2:
0x0005454c lw a0, 8(s1) | a0 = *((s1 + 2));
0x00054550 move s6, zero | s6 = 0;
| if (a0 <= 0) {
0x00054554 blez a0, 0x5464c | goto label_4;
| }
0x00054558 lw s2, -0x7fac(gp) | s2 = *(gp);
0x0005455c addiu v0, s2, 0x795c | v0 = s2 + 0x795c;
0x00054560 sw v0, 0x24(sp) | *(var_24h) = v0;
0x00054564 addiu s4, zero, 0x3d | s4 = 0x3d;
0x00054568 addiu fp, zero, 0x5f | fp = 0x5f;
0x0005456c b 0x54580 |
| while (a1 == 0) {
0x00054570 addiu s6, s6, 1 | s6++;
0x00054574 slt v0, s6, a0 | v0 = (s6 < a0) ? 1 : 0;
0x00054578 addiu s5, s5, 0xc | s5 += 0xc;
| if (v0 == 0) {
0x0005457c beqz v0, 0x5464c | goto label_4;
| }
| label_0:
0x00054580 lw a1, (s5) | a1 = *(s5);
0x00054584 sll s7, t0, 2 | s7 = t0 << 2;
0x00054588 addu s2, s3, s7 | s2 = s3 + s7;
0x0005458c beqz a1, 0x54570 |
| }
0x00054590 lw t9, -0x76e8(gp) | t9 = sym.imp.apr_pstrcat
0x00054594 lw a3, 4(s5) | a3 = *((s5 + 1));
0x00054598 lw a0, 0x50(sp) | a0 = *(arg_50h);
0x0005459c lw a2, 0x24(sp) | a2 = *(var_24h);
0x000545a0 sw t0, 0x20(sp) | *(var_20h) = t0;
0x000545a4 sw zero, 0x10(sp) | *(var_10h) = 0;
0x000545a8 jalr t9 | t9 ();
0x000545ac lw gp, 0x18(sp) | gp = *(var_18h);
0x000545b0 move s0, v0 | s0 = v0;
0x000545b4 lw t9, -0x744c(gp) | t9 = *(gp);
0x000545b8 sw v0, (s2) | *(s2) = v0;
0x000545bc jalr t9 | t9 ();
0x000545c0 lb v1, (s0) | v1 = *(s0);
0x000545c4 lw a0, (v0) | a0 = *(v0);
0x000545c8 andi a1, v1, 0xff | a1 = v1 & 0xff;
0x000545cc sll a1, a1, 1 | a1 <<= 1;
0x000545d0 addu a0, a0, a1 | a0 += a1;
0x000545d4 lw gp, 0x18(sp) | gp = *(var_18h);
0x000545d8 lhu a0, (a0) | a0 = *(a0);
0x000545dc andi a0, a0, 0x800 | a0 &= 0x800;
0x000545e0 lw t0, 0x20(sp) | t0 = *(var_20h);
| if (a0 != 0) {
0x000545e4 beqz a0, 0x545f4 |
0x000545e8 sb fp, (s0) | *(s0) = fp;
0x000545ec lb v1, 1(s0) | v1 = *((s0 + 1));
0x000545f0 addiu s0, s0, 1 | s0++;
| }
| if (v1 == s4) {
0x000545f4 beql v1, s4, 0x54630 | goto label_5;
| }
0x000545f8 lw a0, 8(s1) | a0 = *((s1 + 2));
0x000545fc andi v1, v1, 0xff | v1 &= 0xff;
| do {
0x00054600 lw a0, (v0) | a0 = *(v0);
0x00054604 sll v1, v1, 1 | v1 <<= 1;
0x00054608 addu v1, a0, v1 | v1 = a0 + v1;
0x0005460c lhu v1, (v1) | v1 = *(v1);
0x00054610 andi v1, v1, 8 | v1 &= 8;
| if (v1 != 0) {
0x00054614 beql v1, zero, 0x5461c |
0x00054618 sb fp, (s0) | *(s0) = fp;
| }
0x0005461c addiu s0, s0, 1 | s0++;
0x00054620 lb v1, (s0) | v1 = *(s0);
0x00054624 andi v1, v1, 0xff | v1 &= 0xff;
0x00054628 bnel v1, s4, 0x54600 |
| } while (v1 == s4);
0x0005462c lw a0, 8(s1) | a0 = *((s1 + 2));
| label_5:
0x00054630 addiu s6, s6, 1 | s6++;
0x00054634 addiu s7, s7, 4 | s7 += 4;
0x00054638 slt v0, s6, a0 | v0 = (s6 < a0) ? 1 : 0;
0x0005463c addiu t0, t0, 1 | t0++;
0x00054640 addu s2, s3, s7 | s2 = s3 + s7;
0x00054644 addiu s5, s5, 0xc | s5 += 0xc;
| if (v0 != 0) {
0x00054648 bnez v0, 0x54580 | goto label_0;
| }
| label_4:
0x0005464c lw ra, 0x4c(sp) | ra = *(var_4ch);
0x00054650 sw zero, (s2) | *(s2) = 0;
0x00054654 move v0, s3 | v0 = s3;
0x00054658 lw fp, 0x48(sp) | fp = *(var_48h);
0x0005465c lw s7, 0x44(sp) | s7 = *(var_44h);
0x00054660 lw s6, 0x40(sp) | s6 = *(var_40h);
0x00054664 lw s5, 0x3c(sp) | s5 = *(var_3ch);
0x00054668 lw s4, 0x38(sp) | s4 = *(var_38h);
0x0005466c lw s3, 0x34(sp) | s3 = *(var_34h);
0x00054670 lw s2, 0x30(sp) | s2 = *(var_30h);
0x00054674 lw s1, 0x2c(sp) | s1 = *(var_2ch);
0x00054678 lw s0, 0x28(sp) | s0 = *(var_28h);
0x0005467c addiu sp, sp, 0x50 |
0x00054680 jr ra | return v0;
| label_3:
0x00054684 lw t9, -0x72bc(gp) | t9 = sym.imp.getenv;
| /* esilref: 'TZ' */
0x00054688 addiu a0, s2, 0x14e4 | a0 = s2 + 0x14e4;
0x0005468c jalr t9 | t9 ();
0x00054690 lw gp, 0x18(sp) | gp = *(var_18h);
| if (v0 == 0) {
0x00054694 beqz v0, 0x54544 | goto label_1;
| }
0x00054698 lw a1, -0x7fac(gp) | a1 = *(gp);
0x0005469c lw t9, -0x76e8(gp) | t9 = sym.imp.apr_pstrcat
0x000546a0 lw a0, 0x50(sp) | a0 = *(arg_50h);
0x000546a4 move a3, zero | a3 = 0;
0x000546a8 move a2, v0 | a2 = v0;
| /* esilref: 'TZ=' */
0x000546ac addiu a1, a1, 0x14e8 | a1 += 0x14e8;
0x000546b0 jalr t9 | t9 ();
0x000546b4 addiu s2, s3, 4 | s2 = s3 + 4;
0x000546b8 lw gp, 0x18(sp) | gp = *(var_18h);
0x000546bc sw v0, (s3) | *(s3) = v0;
0x000546c0 addiu t0, zero, 1 | t0 = 1;
0x000546c4 b 0x5454c | goto label_2;
| }
; assembly | /* r2dec pseudo code output */
| /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/sbin/httpd @ 0x3ab2c */
| #include <stdint.h>
|
; (fcn) sym.ap_custom_response () | void ap_custom_response () {
0x0003ab2c lui gp, 7 |
0x0003ab30 addiu gp, gp, -0x7c0c |
0x0003ab34 addu gp, gp, t9 | gp += t9;
0x0003ab38 lw v0, 0x104(a0) | v0 = *(a0);
0x0003ab3c addiu sp, sp, -0x30 |
0x0003ab40 sw s2, 0x24(sp) | *(var_24h) = s2;
0x0003ab44 lw s2, (v0) | s2 = *(v0);
0x0003ab48 sw gp, 0x10(sp) | *(var_10h) = gp;
0x0003ab4c sw s3, 0x28(sp) | *(var_28h) = s3;
0x0003ab50 lw v0, 8(s2) | v0 = *((s2 + 2));
0x0003ab54 sw s1, 0x20(sp) | *(var_20h_2) = s1;
0x0003ab58 sw s0, 0x1c(sp) | *(var_1ch) = s0;
0x0003ab5c sw ra, 0x2c(sp) | *(var_2ch) = ra;
0x0003ab60 move s3, a0 | s3 = a0;
0x0003ab64 move s0, a1 | s0 = a1;
0x0003ab68 move s1, a2 | s1 = a2;
| if (v0 == 0) {
0x0003ab6c beqz v0, 0x3ac38 | goto label_1;
| }
| label_0:
0x0003ab70 lw t9, -0x7cac(gp) | t9 = sym.ap_index_of_response;
0x0003ab74 move a0, s0 | a0 = s0;
0x0003ab78 jalr t9 | t9 ();
0x0003ab7c lw gp, 0x10(sp) | gp = *(var_10h);
0x0003ab80 move a0, s1 | a0 = s1;
0x0003ab84 lw t9, -0x7ca8(gp) | t9 = sym.ap_is_url;
0x0003ab88 move s0, v0 | s0 = v0;
0x0003ab8c bal 0x1ece4 | sym_ap_is_url ();
0x0003ab90 lw gp, 0x10(sp) | gp = *(var_10h);
0x0003ab94 lb v1, (s1) | v1 = *(s1);
| if (v0 != 0) {
0x0003ab98 bnez v0, 0x3abf0 | goto label_2;
| }
0x0003ab9c addiu v0, zero, 0x2f | v0 = 0x2f;
0x0003aba0 lw t9, -0x7654(gp) | t9 = sym.imp.apr_pstrdup;
| if (v1 == v0) {
0x0003aba4 beq v1, v0, 0x3ac00 | goto label_3;
| }
0x0003aba8 lw a1, -0x7fac(gp) | a1 = *(gp);
| do {
0x0003abac lw t9, -0x76e8(gp) | t9 = sym.imp.apr_pstrcat
0x0003abb0 lw a0, (s3) | a0 = *(s3);
0x0003abb4 move a2, s1 | a2 = s1;
0x0003abb8 move a3, zero | a3 = 0;
0x0003abbc addiu a1, a1, -0x36ac | a1 += -aav.0x000036ac;
0x0003abc0 jalr t9 | t9 ();
0x0003abc4 lw v1, 8(s2) | v1 = *((s2 + 2));
0x0003abc8 sll s0, s0, 2 | s0 <<= 2;
0x0003abcc addu v1, v1, s0 | v1 += s0;
0x0003abd0 lw ra, 0x2c(sp) | ra = *(var_2ch);
0x0003abd4 lw s3, 0x28(sp) | s3 = *(var_28h);
0x0003abd8 lw s2, 0x24(sp) | s2 = *(var_24h);
0x0003abdc lw s1, 0x20(sp) | s1 = *(var_20h_2);
0x0003abe0 lw s0, 0x1c(sp) | s0 = *(var_1ch);
0x0003abe4 sw v0, (v1) | *(v1) = v0;
0x0003abe8 addiu sp, sp, 0x30 |
0x0003abec jr ra | return v0;
| label_2:
0x0003abf0 addiu v0, zero, 0x22 | v0 = 0x22;
0x0003abf4 lw a1, -0x7fac(gp) | a1 = *(gp);
0x0003abf8 beq v1, v0, 0x3abac |
| } while (v1 == v0);
0x0003abfc lw t9, -0x7654(gp) | t9 = sym.imp.apr_pstrdup;
| label_3:
0x0003ac00 lw a0, (s3) | a0 = *(s3);
0x0003ac04 move a1, s1 | a1 = s1;
0x0003ac08 jalr t9 | t9 ();
0x0003ac0c lw v1, 8(s2) | v1 = *((s2 + 2));
0x0003ac10 sll s0, s0, 2 | s0 <<= 2;
0x0003ac14 addu v1, v1, s0 | v1 += s0;
0x0003ac18 lw ra, 0x2c(sp) | ra = *(var_2ch);
0x0003ac1c lw s3, 0x28(sp) | s3 = *(var_28h);
0x0003ac20 lw s2, 0x24(sp) | s2 = *(var_24h);
0x0003ac24 lw s1, 0x20(sp) | s1 = *(var_20h_2);
0x0003ac28 lw s0, 0x1c(sp) | s0 = *(var_1ch);
0x0003ac2c sw v0, (v1) | *(v1) = v0;
0x0003ac30 addiu sp, sp, 0x30 |
0x0003ac34 jr ra | return v0;
| label_1:
0x0003ac38 lw t9, -0x7544(gp) | t9 = sym.imp.apr_palloc;
0x0003ac3c lw a0, (a0) | a0 = *(a0);
0x0003ac40 addiu a1, zero, 0x19c | a1 = aav.0x0000019c;
0x0003ac44 jalr t9 | t9 ();
0x0003ac48 lw gp, 0x10(sp) | gp = *(var_10h);
0x0003ac4c addiu a2, zero, 0x19c | a2 = aav.0x0000019c;
0x0003ac50 move a1, zero | a1 = 0;
0x0003ac54 lw t9, -0x7308(gp) | t9 = sym.imp.memset;
0x0003ac58 move a0, v0 | a0 = v0;
0x0003ac5c jalr t9 | t9 ();
0x0003ac60 lw gp, 0x10(sp) | gp = *(var_10h);
0x0003ac64 sw v0, 8(s2) | *((s2 + 2)) = v0;
0x0003ac68 b 0x3ab70 | goto label_0;
| }
; assembly | /* r2dec pseudo code output */
| /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/sbin/httpd @ 0x21ccc */
| #include <stdint.h>
|
; (fcn) sym.ap_dir_cfgmatch () | void ap_dir_cfgmatch () {
0x00021ccc lui gp, 8 |
0x00021cd0 addiu gp, gp, 0x1254 |
0x00021cd4 addu gp, gp, t9 | gp += t9;
0x00021cd8 addiu sp, sp, -0x30 |
0x00021cdc lw t9, -0x7544(gp) | t9 = sym.imp.apr_palloc;
0x00021ce0 sw s1, 0x1c(sp) | *(var_1ch) = s1;
0x00021ce4 move s1, a0 | s1 = a0;
0x00021ce8 lw a0, 0x2c(a0) | a0 = *((a0 + 11));
0x00021cec sw ra, 0x2c(sp) | *(var_2ch) = ra;
0x00021cf0 sw s4, 0x28(sp) | *(var_28h) = s4;
0x00021cf4 sw s3, 0x24(sp) | *(var_24h) = s3;
0x00021cf8 sw s2, 0x20(sp) | *(var_20h) = s2;
0x00021cfc sw s0, 0x18(sp) | *(var_18h) = s0;
0x00021d00 sw gp, 0x10(sp) | *(var_10h) = gp;
0x00021d04 move s4, a1 | s4 = a1;
0x00021d08 addiu a1, zero, 0x1c | a1 = 0x1c;
0x00021d0c move s3, a2 | s3 = a2;
0x00021d10 move s2, a3 | s2 = a3;
0x00021d14 jalr t9 | t9 ();
0x00021d18 lw gp, 0x10(sp) | gp = *(var_10h);
0x00021d1c lw v1, 0x38(s1) | v1 = *((s1 + 14));
0x00021d20 lw a0, 0x28(s1) | a0 = *((s1 + 10));
0x00021d24 lw a2, -0x7fac(gp) | a2 = *(gp);
0x00021d28 lw t9, -0x76e8(gp) | t9 = sym.imp.apr_pstrcat
0x00021d2c lw a1, (v1) | a1 = *(v1);
0x00021d30 move a3, zero | a3 = 0;
| /* esilref: ': ' */
0x00021d34 addiu a2, a2, -0x647c | a2 += -0x647c;
0x00021d38 move s0, v0 | s0 = v0;
0x00021d3c jalr t9 | t9 ();
0x00021d40 lw a0, 0x28(s1) | a0 = *((s1 + 10));
0x00021d44 lw v1, 0x2c(s1) | v1 = *((s1 + 11));
0x00021d48 lw ra, 0x2c(sp) | ra = *(var_2ch);
0x00021d4c sw v0, 8(s0) | *((s0 + 2)) = v0;
0x00021d50 sw s4, 0x14(s0) | *((s0 + 5)) = s4;
0x00021d54 sw s3, 0xc(s0) | *((s0 + 3)) = s3;
0x00021d58 sw s2, 0x10(s0) | *((s0 + 4)) = s2;
0x00021d5c sw a0, (s0) | *(s0) = a0;
0x00021d60 sw v1, 4(s0) | *((s0 + 1)) = v1;
0x00021d64 sw zero, 0x18(s0) | *((s0 + 6)) = 0;
0x00021d68 move v0, s0 | v0 = s0;
0x00021d6c lw s4, 0x28(sp) | s4 = *(var_28h);
0x00021d70 lw s3, 0x24(sp) | s3 = *(var_24h);
0x00021d74 lw s2, 0x20(sp) | s2 = *(var_20h);
0x00021d78 lw s1, 0x1c(sp) | s1 = *(var_1ch);
0x00021d7c lw s0, 0x18(sp) | s0 = *(var_18h);
0x00021d80 addiu sp, sp, 0x30 |
0x00021d84 jr ra | return v0;
| }
; 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 @ 0x37344 */
| #include <stdint.h>
|
; (fcn) sym.ap_get_server_name_for_url () | void ap_get_server_name_for_url () {
0x00037344 lui gp, 7 |
0x00037348 addiu gp, gp, -0x4424 |
0x0003734c addu gp, gp, t9 | gp += t9;
0x00037350 addiu sp, sp, -0x30 |
0x00037354 lw t9, -0x7bd4(gp) | t9 = sym.ap_get_server_name;
0x00037358 sw gp, 0x18(sp) | *(var_18h) = gp;
0x0003735c sw ra, 0x2c(sp) | *(var_2ch) = ra;
0x00037360 sw s1, 0x28(sp) | *(var_28h) = s1;
0x00037364 sw s0, 0x24(sp) | *(var_24h) = s0;
0x00037368 move s1, a0 | s1 = a0;
0x0003736c bal 0x37200 | sym_ap_get_server_name ();
0x00037370 lw gp, 0x18(sp) | gp = *(var_18h);
0x00037374 addiu a1, zero, 0x3a | a1 = 0x3a;
0x00037378 move a0, v0 | a0 = v0;
0x0003737c lw t9, -0x72b8(gp) | t9 = sym.imp.strchr;
0x00037380 move s0, v0 | s0 = v0;
0x00037384 jalr t9 | t9 ();
0x00037388 lw gp, 0x18(sp) | gp = *(var_18h);
| if (v0 != 0) {
0x0003738c beqz v0, 0x373b8 |
0x00037390 lw a3, -0x7fac(gp) | a3 = *(gp);
0x00037394 lw a1, -0x7fac(gp) | a1 = *(gp);
0x00037398 lw t9, -0x76e8(gp) | t9 = sym.imp.apr_pstrcat
0x0003739c lw a0, (s1) | a0 = *(s1);
0x000373a0 move a2, s0 | a2 = s0;
0x000373a4 sw zero, 0x10(sp) | *(var_10h) = 0;
0x000373a8 addiu a3, a3, 0x2254 | a3 += 0x2254;
0x000373ac addiu a1, a1, -0x77f4 | a1 += -0x77f4;
0x000373b0 jalr t9 | t9 ();
0x000373b4 move s0, v0 | s0 = v0;
| }
0x000373b8 lw ra, 0x2c(sp) | ra = *(var_2ch);
0x000373bc move v0, s0 | v0 = s0;
0x000373c0 lw s1, 0x28(sp) | s1 = *(var_28h);
0x000373c4 lw s0, 0x24(sp) | s0 = *(var_24h);
0x000373c8 addiu sp, sp, 0x30 |
0x000373cc jr ra | return v0;
| }
; assembly | /* r2dec pseudo code output */
| /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/sbin/httpd @ 0x30578 */
| #include <stdint.h>
|
; (fcn) sym.ap_limit_section () | void ap_limit_section () {
0x00030578 lui gp, 7 |
0x0003057c addiu gp, gp, 0x29a8 |
0x00030580 addu gp, gp, t9 | gp += t9;
0x00030584 lw v0, -0x7534(gp) | v0 = *(gp);
0x00030588 addiu sp, sp, -0x58 |
0x0003058c lw t9, -0x7358(gp) | t9 = sym.imp.strrchr;
0x00030590 sw v0, 0x1c(sp) | *(var_1ch) = v0;
0x00030594 lw v0, (v0) | v0 = *(v0);
0x00030598 sw gp, 0x10(sp) | *(var_10h) = gp;
0x0003059c sw s1, 0x34(sp) | *(var_34h) = s1;
0x000305a0 sw s0, 0x30(sp) | *(var_30h) = s0;
0x000305a4 sw ra, 0x54(sp) | *(var_54h) = ra;
0x000305a8 move s0, a0 | s0 = a0;
0x000305ac sw fp, 0x50(sp) | *(var_50h) = fp;
0x000305b0 sw s7, 0x4c(sp) | *(var_4ch) = s7;
0x000305b4 sw s6, 0x48(sp) | *(var_48h) = s6;
0x000305b8 sw s5, 0x44(sp) | *(var_44h) = s5;
0x000305bc sw s4, 0x40(sp) | *(var_40h) = s4;
0x000305c0 sw s3, 0x3c(sp) | *(var_3ch) = s3;
0x000305c4 sw s2, 0x38(sp) | *(var_38h) = s2;
0x000305c8 addiu a1, zero, 0x3e | a1 = 0x3e;
0x000305cc move a0, a2 | a0 = a2;
0x000305d0 sw v0, 0x2c(sp) | *(var_2ch) = v0;
0x000305d4 move s1, a2 | s1 = a2;
0x000305d8 jalr t9 | t9 ();
0x000305dc lw gp, 0x10(sp) | gp = *(var_10h);
0x000305e0 lw v1, 0x38(s0) | v1 = *((s0 + 14));
| if (v0 == 0) {
0x000305e4 beqz v0, 0x307c0 | goto label_4;
| }
0x000305e8 subu a2, v0, s1 | __asm ("subu a2, v0, s1");
0x000305ec lw v0, 8(v1) | v0 = *((v1 + 2));
0x000305f0 lw t9, -0x7708(gp) | t9 = sym.imp.apr_pstrmemdup;
0x000305f4 sw v0, 0x18(sp) | *(var_18h) = v0;
0x000305f8 lw v0, 0x10(s0) | v0 = *((s0 + 4));
0x000305fc lw a0, 0x2c(s0) | a0 = *((s0 + 11));
0x00030600 sw v0, 0x20(sp) | *(var_20h) = v0;
0x00030604 lw v0, 0x14(s0) | v0 = *((s0 + 5));
0x00030608 move a1, s1 | a1 = s1;
0x0003060c sw v0, 0x24(sp) | *(var_24h) = v0;
0x00030610 jalr t9 | t9 ();
0x00030614 sw v0, 0x28(sp) | *(var_28h) = v0;
0x00030618 lb v0, (v0) | v0 = *(v0);
0x0003061c lw gp, 0x10(sp) | gp = *(var_10h);
| if (v0 == 0) {
0x00030620 beqz v0, 0x307e4 | goto label_5;
| }
0x00030624 move s2, zero | s2 = 0;
0x00030628 move s1, zero | s1 = 0;
0x0003062c addiu s6, sp, 0x28 | s6 = sp + 0x28;
0x00030630 addiu s3, zero, 6 | s3 = 6;
0x00030634 addiu s4, zero, 0x1a | s4 = 0x1a;
0x00030638 addiu s5, zero, 1 | s5 = 1;
0x0003063c b 0x30670 |
| if (v0 == s4) {
| while (v0 != s3) {
0x00030640 beql v0, s4, 0x30778 | goto label_6;
| }
0x00030644 lw fp, 0x28(s0) | fp = *((s0 + 10));
0x00030648 andi a0, v0, 0x20 | a0 = v0 & 0x20;
0x0003064c sllv v0, s5, v0 | v0 = s5 << v0;
0x00030650 move v1, v0 | v1 = v0;
| if (a0 != 0) {
0x00030654 movz v1, zero, a0 | v1 = 0;
| }
| if (a0 == 0) {
0x00030658 movn v0, zero, a0 | v0 = 0;
| }
| label_1:
0x0003065c or s2, s2, v0 | s2 |= v0;
0x00030660 lw v0, 0x28(sp) | v0 = *(var_28h);
0x00030664 lb v0, (v0) | v0 = *(v0);
0x00030668 or s1, s1, v1 | s1 |= v1;
| if (v0 == 0) {
0x0003066c beqz v0, 0x306c0 | goto label_7;
| }
| label_0:
0x00030670 lw t9, -0x7f00(gp) | t9 = sym.ap_getword_conf;
0x00030674 lw a0, 0x2c(s0) | a0 = *((s0 + 11));
0x00030678 move a1, s6 | a1 = s6;
0x0003067c bal 0x1c75c | sym_ap_getword_conf ();
0x00030680 lw gp, 0x10(sp) | gp = *(var_10h);
0x00030684 move a0, v0 | a0 = v0;
0x00030688 lw t9, -0x7d88(gp) | t9 = sym.ap_method_number_of;
0x0003068c move s7, v0 | s7 = v0;
0x00030690 jalr t9 | t9 ();
0x00030694 lw gp, 0x10(sp) | gp = *(var_10h);
0x00030698 bne v0, s3, 0x30640 |
| }
0x0003069c lw v0, 0x18(sp) | v0 = *(var_18h);
0x000306a0 move v1, zero | v1 = 0;
| if (v0 == 0) {
0x000306a4 beqz v0, 0x3080c | goto label_8;
| }
0x000306a8 addiu v0, zero, 0x40 | v0 = 0x40;
0x000306ac or s2, s2, v0 | s2 |= v0;
0x000306b0 lw v0, 0x28(sp) | v0 = *(var_28h);
0x000306b4 lb v0, (v0) | v0 = *(v0);
0x000306b8 or s1, s1, v1 | s1 |= v1;
| if (v0 != 0) {
0x000306bc bnez v0, 0x30670 | goto label_0;
| }
| label_7:
0x000306c0 lw v0, 0x18(sp) | v0 = *(var_18h);
0x000306c4 lw v0, 0x20(sp) | v0 = *(var_20h);
| if (v0 != 0) {
0x000306c8 beqz v0, 0x306d4 |
0x000306cc nor s2, zero, s2 | __asm ("nor s2, zero, s2");
0x000306d0 nor s1, zero, s1 | __asm ("nor s1, zero, s1");
| }
0x000306d4 lw v1, 0x24(sp) | v1 = *(var_24h);
0x000306d8 and v0, s2, v0 | v0 = s2 & v0;
0x000306dc and v1, s1, v1 | v1 = s1 & v1;
0x000306e0 or a0, v0, v1 | a0 = v0 | v1;
0x000306e4 lw a0, 0x20(sp) | a0 = *(var_20h);
| if (a0 == 0) {
0x000306e8 beqz a0, 0x30840 | goto label_9;
| }
0x000306ec lw v0, 0x24(sp) | v0 = *(var_24h);
| if (v0 == a0) {
0x000306f0 beq v0, a0, 0x30868 | goto label_10;
| }
0x000306f4 lw a0, 0x24(s0) | a0 = *((s0 + 9));
| label_3:
0x000306f8 lw v1, 0x10(s0) | v1 = *((s0 + 4));
0x000306fc lw v0, 0x14(s0) | v0 = *((s0 + 5));
0x00030700 and s2, v1, s2 | s2 = v1 & s2;
0x00030704 lw t9, -0x7d24(gp) | t9 = sym.ap_walk_config;
0x00030708 lw a0, 0xc(a0) | a0 = *((a0 + 3));
0x0003070c and s1, v0, s1 | s1 = v0 & s1;
0x00030710 lw a2, 0x3c(s0) | a2 = *((s0 + 15));
0x00030714 sw s2, 0x10(s0) | *((s0 + 4)) = s2;
0x00030718 sw s1, 0x14(s0) | *((s0 + 5)) = s1;
0x0003071c move a1, s0 | a1 = s0;
0x00030720 bal 0x4ca70 | sym_ap_walk_config ();
0x00030724 lw v1, 0x20(sp) | v1 = *(var_20h);
0x00030728 lw gp, 0x10(sp) | gp = *(var_10h);
0x0003072c sw v1, 0x10(s0) | *((s0 + 4)) = v1;
0x00030730 lw v1, 0x24(sp) | v1 = *(var_24h);
0x00030734 sw v1, 0x14(s0) | *((s0 + 5)) = v1;
| do {
| label_2:
0x00030738 lw v1, 0x1c(sp) | v1 = *(var_1ch);
0x0003073c lw a0, 0x2c(sp) | a0 = *(var_2ch);
0x00030740 lw v1, (v1) | v1 = *(v1);
0x00030744 lw ra, 0x54(sp) | ra = *(var_54h);
| if (a0 != v1) {
0x00030748 bne a0, v1, 0x30898 | goto label_11;
| }
0x0003074c lw fp, 0x50(sp) | fp = *(var_50h);
0x00030750 lw s7, 0x4c(sp) | s7 = *(var_4ch);
0x00030754 lw s6, 0x48(sp) | s6 = *(var_48h);
0x00030758 lw s5, 0x44(sp) | s5 = *(var_44h);
0x0003075c lw s4, 0x40(sp) | s4 = *(var_40h);
0x00030760 lw s3, 0x3c(sp) | s3 = *(var_3ch);
0x00030764 lw s2, 0x38(sp) | s2 = *(var_38h);
0x00030768 lw s1, 0x34(sp) | s1 = *(var_34h);
0x0003076c lw s0, 0x30(sp) | s0 = *(var_30h);
0x00030770 addiu sp, sp, 0x58 |
0x00030774 jr ra | return v0;
| label_6:
0x00030778 lw v0, 0x2c(s0) | v0 = *((s0 + 11));
0x0003077c lw t9, -0x7654(gp) | t9 = sym.imp.apr_pstrdup;
| if (fp == v0) {
0x00030780 beq fp, v0, 0x30818 | goto label_12;
| }
0x00030784 move a1, s7 | a1 = s7;
0x00030788 move a0, fp | a0 = fp;
0x0003078c jalr t9 | t9 ();
0x00030790 lw gp, 0x10(sp) | gp = *(var_10h);
0x00030794 move a0, fp | a0 = fp;
0x00030798 lw t9, -0x7d20(gp) | t9 = sym.ap_method_register;
0x0003079c move a1, v0 | a1 = v0;
0x000307a0 jalr t9 | t9 ();
0x000307a4 andi a0, v0, 0x20 | a0 = v0 & 0x20;
0x000307a8 sllv v0, s5, v0 | v0 = s5 << v0;
0x000307ac move v1, v0 | v1 = v0;
0x000307b0 lw gp, 0x10(sp) | gp = *(var_10h);
| if (a0 != 0) {
0x000307b4 movz v1, zero, a0 | v1 = 0;
| }
| if (a0 == 0) {
0x000307b8 movn v0, zero, a0 | v0 = 0;
| }
0x000307bc b 0x3065c | goto label_1;
| label_4:
0x000307c0 lw a2, -0x7fac(gp) | a2 = *(gp);
0x000307c4 lw t9, -0x76e8(gp) | t9 = sym.imp.apr_pstrcat
0x000307c8 lw a1, (v1) | a1 = *(v1);
0x000307cc lw a0, 0x28(s0) | a0 = *((s0 + 10));
0x000307d0 move a3, zero | a3 = 0;
| /* str.__directive_missing_closing__ */
0x000307d4 addiu a2, a2, -0x4cb0 | a2 += -0x4cb0;
0x000307d8 jalr t9 | t9 ();
0x000307dc lw gp, 0x10(sp) | gp = *(var_10h);
0x000307e0 b 0x30738 |
| } while (1);
| label_5:
0x000307e4 lw v0, 0x38(s0) | v0 = *((s0 + 14));
0x000307e8 lw a2, -0x7fac(gp) | a2 = *(gp);
0x000307ec lw t9, -0x76e8(gp) | t9 = sym.imp.apr_pstrcat
0x000307f0 lw a1, (v0) | a1 = *(v0);
0x000307f4 lw a0, 0x28(s0) | a0 = *((s0 + 10));
0x000307f8 move a3, zero | a3 = 0;
| /* str.__directive_requires_additional_arguments */
0x000307fc addiu a2, a2, -0x4c90 | a2 += -0x4c90;
0x00030800 jalr t9 | t9 ();
0x00030804 lw gp, 0x10(sp) | gp = *(var_10h);
0x00030808 b 0x30738 | goto label_2;
| label_8:
0x0003080c lw v0, -0x7fac(gp) | v0 = *(gp);
| /* str.TRACE_cannot_be_controlled_by__Limit___see_TraceEnable */
0x00030810 addiu v0, v0, -0x4ce8 | v0 += -0x4ce8;
0x00030814 b 0x30738 | goto label_2;
| label_12:
0x00030818 lw v0, 0x38(s0) | v0 = *((s0 + 14));
0x0003081c lw a1, -0x7fac(gp) | a1 = *(gp);
0x00030820 lw t9, -0x7540(gp) | t9 = sym.imp.apr_psprintf;
0x00030824 lw a3, (v0) | a3 = *(v0);
0x00030828 move a2, s7 | a2 = s7;
| /* str.Could_not_register_method__s_for__s_from_.htaccess_configuration */
0x0003082c addiu a1, a1, -0x4c64 | a1 += -0x4c64;
0x00030830 move a0, fp | a0 = fp;
0x00030834 jalr t9 | t9 ();
0x00030838 lw gp, 0x10(sp) | gp = *(var_10h);
0x0003083c b 0x30738 | goto label_2;
| label_9:
0x00030840 lw v0, 0x38(s0) | v0 = *((s0 + 14));
0x00030844 lw a2, -0x7fac(gp) | a2 = *(gp);
0x00030848 lw t9, -0x76e8(gp) | t9 = sym.imp.apr_pstrcat
0x0003084c lw a1, (v0) | a1 = *(v0);
0x00030850 lw a0, 0x28(s0) | a0 = *((s0 + 10));
0x00030854 move a3, zero | a3 = 0;
| /* str.__directive_excludes_all_methods */
0x00030858 addiu a2, a2, -0x4c20 | a2 += -0x4c20;
0x0003085c jalr t9 | t9 ();
0x00030860 lw gp, 0x10(sp) | gp = *(var_10h);
0x00030864 b 0x30738 | goto label_2;
| label_10:
0x00030868 lw a0, 0x24(s0) | a0 = *((s0 + 9));
| if (v1 == v0) {
0x0003086c bnel v1, v0, 0x306f8 | goto label_3;
| }
0x00030870 lw v0, 0x38(s0) | v0 = *((s0 + 14));
0x00030874 lw a2, -0x7fac(gp) | a2 = *(gp);
0x00030878 lw t9, -0x76e8(gp) | t9 = sym.imp.apr_pstrcat
0x0003087c lw a1, (v0) | a1 = *(v0);
0x00030880 lw a0, 0x28(s0) | a0 = *((s0 + 10));
0x00030884 move a3, zero | a3 = 0;
| /* str.__directive_specifies_methods_already_excluded */
0x00030888 addiu a2, a2, -0x4bfc | a2 += -0x4bfc;
0x0003088c jalr t9 | t9 ();
0x00030890 lw gp, 0x10(sp) | gp = *(var_10h);
0x00030894 b 0x30738 | goto label_2;
| label_11:
0x00030898 lw t9, -0x75e8(gp) | t9 = sym.imp.__stack_chk_fail;
0x0003089c jalr t9 | t9 ();
0x000308a0 nop |
0x000308a4 lui gp, 7 |
0x000308a8 addiu gp, gp, 0x267c |
0x000308ac addu gp, gp, t9 | gp += t9;
0x000308b0 lw v0, -0x7f84(gp) | v0 = *(gp);
0x000308b4 lw t9, -0x7d9c(gp) | t9 = sym.ap_array_str_contains;
0x000308b8 lw a0, (v0) | a0 = *(v0);
0x000308bc b 0x21b0c | return void (*0x21b0c)() ();
| }
; assembly | /* r2dec pseudo code output */
| /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/sbin/httpd @ 0x52d80 */
| #include <stdint.h>
|
; (fcn) sym.ap_log_pid () | void ap_log_pid () {
0x00052d80 lui gp, 5 |
0x00052d84 addiu gp, gp, 0x1a0 |
0x00052d88 addu gp, gp, t9 | gp += t9;
0x00052d8c addiu sp, sp, -0x108 |
0x00052d90 sw s1, 0xec(sp) | *(var_ech) = s1;
0x00052d94 lw s1, -0x7534(gp) | s1 = *(gp);
0x00052d98 sw gp, 0x28(sp) | *(var_28h) = gp;
0x00052d9c sw ra, 0x104(sp) | *(var_104h) = ra;
0x00052da0 lw v0, (s1) | v0 = *(s1);
0x00052da4 sw s6, 0x100(sp) | *(var_100h) = s6;
0x00052da8 sw s5, 0xfc(sp) | *(var_fch) = s5;
0x00052dac sw s4, 0xf8(sp) | *(var_f8h) = s4;
0x00052db0 sw s3, 0xf4(sp) | *(var_f4h) = s3;
0x00052db4 sw s2, 0xf0(sp) | *(var_f0h) = s2;
0x00052db8 sw s0, 0xe8(sp) | *(var_e8h) = s0;
0x00052dbc sw zero, 0x34(sp) | *(var_34h) = 0;
0x00052dc0 sw v0, 0xe4(sp) | *(var_e4h) = v0;
0x00052dc4 lw t9, -0x7e50(gp) | t9 = sym.ap_server_root_relative;
| if (a1 == 0) {
0x00052dc8 beqz a1, 0x52ef8 | goto label_1;
| }
0x00052dcc move s3, a1 | s3 = a1;
0x00052dd0 move s0, a0 | s0 = a0;
0x00052dd4 bal 0x4d3e0 | sym_ap_server_root_relative ();
0x00052dd8 move s2, v0 | s2 = v0;
0x00052ddc lw gp, 0x28(sp) | gp = *(var_28h);
| if (v0 == 0) {
0x00052de0 beqz v0, 0x52f88 | goto label_2;
| }
0x00052de4 lw s6, -0x7f14(gp) | s6 = *((gp - 8133));
0x00052de8 lw t9, -0x7224(gp) | t9 = sym.imp.getpid;
0x00052dec jalr t9 | t9 ();
0x00052df0 nop |
0x00052df4 lw v1, -0x5250(s6) | v1 = *((s6 - 5268));
0x00052df8 lw gp, 0x28(sp) | gp = *(var_28h);
0x00052dfc move s5, v0 | s5 = v0;
0x00052e00 bne v1, v0, 0x52f2c |
| while (v0 != 0) {
| label_0:
0x00052e04 lw a2, -0x7fac(gp) | a2 = *(gp);
0x00052e08 lw t9, -0x76e8(gp) | t9 = sym.imp.apr_pstrcat
0x00052e0c move a3, zero | a3 = 0;
| /* str..XXXXXX */
0x00052e10 addiu a2, a2, 0x1244 | a2 += 0x1244;
0x00052e14 move a1, s2 | a1 = s2;
0x00052e18 move a0, s0 | a0 = s0;
0x00052e1c jalr t9 | t9 ();
0x00052e20 lw gp, 0x28(sp) | gp = *(var_28h);
0x00052e24 move a3, s0 | a3 = s0;
0x00052e28 addiu a2, zero, 0x16 | a2 = 0x16;
0x00052e2c lw t9, -0x75cc(gp) | t9 = sym.imp.apr_file_mktemp;
0x00052e30 move a1, v0 | a1 = v0;
0x00052e34 addiu a0, sp, 0x34 | a0 = sp + 0x34;
0x00052e38 move s3, v0 | s3 = v0;
0x00052e3c jalr t9 | t9 ();
0x00052e40 lw gp, 0x28(sp) | gp = *(var_28h);
| if (v0 != 0) {
0x00052e44 bnez v0, 0x53030 | goto label_3;
| }
0x00052e48 lw a2, -0x7fac(gp) | a2 = *(gp);
0x00052e4c lw t9, -0x7568(gp) | t9 = sym.imp.apr_snprintf;
0x00052e50 addiu s4, sp, 0xa4 | s4 = sp + 0xa4;
0x00052e54 move a3, s5 | a3 = s5;
| /* esilref: '&d
' */
0x00052e58 addiu a2, a2, 0x1298 | a2 += 0x1298;
0x00052e5c addiu a1, zero, 0x40 | a1 = 0x40;
0x00052e60 move a0, s4 | a0 = s4;
0x00052e64 jalr t9 | t9 ();
0x00052e68 lw gp, 0x28(sp) | gp = *(var_28h);
0x00052e6c addiu a1, zero, 0x644 | a1 = aav.0x00000644;
0x00052e70 lw t9, -0x742c(gp) | t9 = sym.imp.apr_file_perms_set;
0x00052e74 move a0, s3 | a0 = s3;
0x00052e78 jalr t9 | t9 ();
0x00052e7c lw gp, 0x28(sp) | gp = *(var_28h);
| if (v0 != 0) {
0x00052e80 beqz v0, 0x52e94 |
0x00052e84 lui v1, 1 | v1 = 0x11187;
| /* esilref: 't_name_virtual_host' */
0x00052e88 addiu v1, v1, 0x1187 |
0x00052e8c lw v1, -0x7f98(gp) | v1 = *(gp);
| if (v0 != v1) {
0x00052e90 bne v0, v1, 0x52fd4 | goto label_4;
| }
| }
0x00052e94 lw t9, -0x74c4(gp) | t9 = sym.imp.strlen;
0x00052e98 move a0, s4 | a0 = s4;
0x00052e9c jalr t9 | t9 ();
0x00052ea0 lw gp, 0x28(sp) | gp = *(var_28h);
0x00052ea4 lw a0, 0x34(sp) | a0 = *(var_34h);
0x00052ea8 move a3, zero | a3 = 0;
0x00052eac lw t9, -0x72c0(gp) | t9 = sym.imp.apr_file_write_full;
0x00052eb0 move a2, v0 | a2 = v0;
0x00052eb4 move a1, s4 | a1 = s4;
0x00052eb8 jalr t9 | t9 ();
0x00052ebc lw gp, 0x28(sp) | gp = *(var_28h);
| if (v0 != 0) {
0x00052ec0 bnez v0, 0x52fd0 | goto label_5;
| }
0x00052ec4 lw t9, -0x7760(gp) | t9 = sym.imp.apr_file_close;
0x00052ec8 lw a0, 0x34(sp) | a0 = *(var_34h);
0x00052ecc jalr t9 | t9 ();
0x00052ed0 lw gp, 0x28(sp) | gp = *(var_28h);
| if (v0 != 0) {
0x00052ed4 bnez v0, 0x52fd0 | goto label_5;
| }
0x00052ed8 lw t9, -0x73a0(gp) | t9 = sym.imp.apr_file_rename;
0x00052edc move a2, s0 | a2 = s0;
0x00052ee0 move a1, s2 | a1 = s2;
0x00052ee4 move a0, s3 | a0 = s3;
0x00052ee8 jalr t9 | t9 ();
0x00052eec lw gp, 0x28(sp) | gp = *(var_28h);
| if (v0 != 0) {
0x00052ef0 bnez v0, 0x52fd0 | goto label_5;
| }
0x00052ef4 sw s5, -0x5250(s6) | *((s6 - 5268)) = s5;
| label_1:
0x00052ef8 lw v1, 0xe4(sp) | v1 = *(var_e4h);
0x00052efc lw v0, (s1) | v0 = *(s1);
0x00052f00 lw ra, 0x104(sp) | ra = *(var_104h);
| if (v1 != v0) {
0x00052f04 bne v1, v0, 0x53024 | goto label_6;
| }
0x00052f08 lw s6, 0x100(sp) | s6 = *(var_100h);
0x00052f0c lw s5, 0xfc(sp) | s5 = *(var_fch);
0x00052f10 lw s4, 0xf8(sp) | s4 = *(var_f8h);
0x00052f14 lw s3, 0xf4(sp) | s3 = *(var_f4h);
0x00052f18 lw s2, 0xf0(sp) | s2 = *(var_f0h);
0x00052f1c lw s1, 0xec(sp) | s1 = *(var_ech);
0x00052f20 lw s0, 0xe8(sp) | s0 = *(var_e8h);
0x00052f24 addiu sp, sp, 0x108 |
0x00052f28 jr ra | return v0;
0x00052f2c lw t9, -0x7250(gp) | t9 = sym.imp.apr_stat;
0x00052f30 move a3, s0 | a3 = s0;
0x00052f34 addiu a2, zero, 0x10 | a2 = 0x10;
0x00052f38 move a1, s2 | a1 = s2;
0x00052f3c addiu a0, sp, 0x38 | a0 = sp + 0x38;
0x00052f40 jalr t9 | t9 ();
0x00052f44 lw gp, 0x28(sp) | gp = *(var_28h);
0x00052f48 bnez v0, 0x52e04 |
| }
0x00052f4c lw v0, -0x7fac(gp) | v0 = *(gp);
0x00052f50 lw a0, -0x7fac(gp) | a0 = *(gp);
| /* str.AH00098:_pid_file__s_overwritten____Unclean_shutdown_of_previous_Apache_run_ */
0x00052f54 addiu v0, v0, 0x11f4 | v0 += 0x11f4;
0x00052f58 lw t9, -0x7ec8(gp) | t9 = sym.ap_log_perror_;
0x00052f5c sw s2, 0x1c(sp) | *(var_1ch) = s2;
0x00052f60 sw v0, 0x18(sp) | *(var_18h) = v0;
0x00052f64 sw s0, 0x14(sp) | *(var_14h) = s0;
0x00052f68 sw zero, 0x10(sp) | *(var_10h) = 0;
0x00052f6c addiu a3, zero, 4 | a3 = 4;
0x00052f70 move a2, zero | a2 = 0;
0x00052f74 addiu a1, zero, 0x65c | a1 = aav.0x0000065c;
| /* str._usr_src_debug_apache2_2.4.57_r0_httpd_2.4.57_server_log.c */
0x00052f78 addiu a0, a0, 0xd98 | a0 += 0xd98;
0x00052f7c bal 0x52cec | sym_ap_log_perror_ ();
0x00052f80 lw gp, 0x28(sp) | gp = *(var_28h);
0x00052f84 b 0x52e04 | goto label_0;
| label_2:
0x00052f88 lw v0, -0x7fc0(gp) | v0 = *(gp);
0x00052f8c lw a0, -0x7fac(gp) | a0 = *(gp);
0x00052f90 lw t9, -0x7fb0(gp) | t9 = sym.ap_log_error_;
0x00052f94 lw v1, (v0) | v1 = *(v0);
0x00052f98 lw v0, -0x7fac(gp) | v0 = *(gp);
0x00052f9c sw s3, 0x1c(sp) | *(var_1ch) = s3;
| /* str.AH00097:_Invalid_PID_file_path__s__ignoring. */
0x00052fa0 addiu v0, v0, 0x11c4 | v0 += 0x11c4;
0x00052fa4 sw v0, 0x18(sp) | *(var_18h) = v0;
0x00052fa8 addiu v0, zero, 0x4e38 | v0 = 0x4e38;
0x00052fac sw v1, 0x14(sp) | *(var_14h) = v1;
0x00052fb0 sw v0, 0x10(sp) | *(var_10h) = v0;
0x00052fb4 addiu a3, zero, 0x42 | a3 = 0x42;
0x00052fb8 move a2, zero | a2 = 0;
0x00052fbc addiu a1, zero, 0x64e | a1 = 0x64e;
| /* str._usr_src_debug_apache2_2.4.57_r0_httpd_2.4.57_server_log.c */
0x00052fc0 addiu a0, a0, 0xd98 | a0 += 0xd98;
0x00052fc4 bal 0x515e8 | sym_ap_log_error_ ();
0x00052fc8 lw gp, 0x28(sp) | gp = *(var_28h);
0x00052fcc b 0x52ef8 | goto label_1;
| label_5:
0x00052fd0 lw v1, -0x7f98(gp) | v1 = *(gp);
| label_4:
0x00052fd4 lw a0, -0x7fac(gp) | a0 = *(gp);
0x00052fd8 lw t9, -0x7fb0(gp) | t9 = sym.ap_log_error_;
0x00052fdc lw v1, (v1) | v1 = *(v1);
| /* str._usr_src_debug_apache2_2.4.57_r0_httpd_2.4.57_server_log.c */
0x00052fe0 addiu a0, a0, 0xd98 | a0 += 0xd98;
0x00052fe4 sw v1, 0x1c(sp) | *(var_1ch) = v1;
0x00052fe8 lw v1, -0x7fac(gp) | v1 = *(gp);
0x00052fec sw s3, 0x20(sp) | *(var_20h) = s3;
| /* str.AH10231:__s:_Failed_creating_pid_file__s */
0x00052ff0 addiu v1, v1, 0x129c | v1 += 0x129c;
0x00052ff4 sw v1, 0x18(sp) | *(var_18h) = v1;
0x00052ff8 sw zero, 0x14(sp) | *(var_14h) = 0;
0x00052ffc sw v0, 0x10(sp) | *(var_10h) = v0;
0x00053000 addiu a3, zero, 3 | a3 = 3;
0x00053004 move a2, zero | a2 = 0;
0x00053008 addiu a1, zero, 0x677 | a1 = 0x677;
| do {
0x0005300c bal 0x515e8 | sym_ap_log_error_ ();
0x00053010 nop |
0x00053014 lw gp, 0x28(sp) | gp = *(var_28h);
0x00053018 lw t9, -0x774c(gp) | t9 = sym.imp.exit;
0x0005301c addiu a0, zero, 1 | a0 = 1;
0x00053020 jalr t9 | t9 ();
| label_6:
0x00053024 lw t9, -0x75e8(gp) | t9 = sym.imp.__stack_chk_fail;
0x00053028 jalr t9 | t9 ();
0x0005302c nop |
| label_3:
0x00053030 lw v1, -0x7fac(gp) | v1 = *(gp);
0x00053034 lw s1, -0x7fac(gp) | s1 = *(gp);
0x00053038 lw s0, -0x7fb0(gp) | s0 = sym.ap_log_error_;
| /* str.AH00099:_could_not_create__s */
0x0005303c addiu v1, v1, 0x124c | v1 += 0x124c;
0x00053040 addiu a3, zero, 3 | a3 = 3;
0x00053044 move a2, zero | a2 = 0;
0x00053048 addiu a1, zero, 0x667 | a1 = 0x667;
| /* str._usr_src_debug_apache2_2.4.57_r0_httpd_2.4.57_server_log.c */
0x0005304c addiu a0, s1, 0xd98 | a0 = s1 + 0xd98;
0x00053050 sw v0, 0x10(sp) | *(var_10h) = v0;
0x00053054 move t9, s0 | t9 = s0;
0x00053058 sw s3, 0x1c(sp) | *(var_1ch) = s3;
0x0005305c sw v1, 0x18(sp) | *(var_18h) = v1;
0x00053060 sw zero, 0x14(sp) | *(var_14h) = 0;
0x00053064 bal 0x515e8 | sym_ap_log_error_ ();
0x00053068 lw gp, 0x28(sp) | gp = *(var_28h);
| /* str._usr_src_debug_apache2_2.4.57_r0_httpd_2.4.57_server_log.c */
0x0005306c addiu a0, s1, 0xd98 | a0 = s1 + 0xd98;
0x00053070 addiu a3, zero, 3 | a3 = 3;
0x00053074 lw v0, -0x7f98(gp) | v0 = *(gp);
0x00053078 move a2, zero | a2 = 0;
0x0005307c addiu a1, zero, 0x66a | a1 = 0x66a;
0x00053080 lw v0, (v0) | v0 = *(v0);
0x00053084 sw s2, 0x20(sp) | *(var_20h) = s2;
0x00053088 sw v0, 0x1c(sp) | *(var_1ch) = v0;
0x0005308c lw v0, -0x7fac(gp) | v0 = *(gp);
0x00053090 sw zero, 0x14(sp) | *(var_14h) = 0;
| /* str.AH00100:__s:_could_not_log_pid_to_file__s */
0x00053094 addiu v0, v0, 0x126c | v0 += aav.0x0000126c;
0x00053098 sw v0, 0x18(sp) | *(var_18h) = v0;
0x0005309c sw zero, 0x10(sp) | *(var_10h) = 0;
0x000530a0 move t9, s0 | t9 = s0;
0x000530a4 b 0x5300c |
| } while (1);
| }
; assembly | /* r2dec pseudo code output */
| /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/sbin/httpd @ 0x240ec */
| #include <stdint.h>
|
; (fcn) sym.ap_mpm_set_coredumpdir () | void ap_mpm_set_coredumpdir () {
0x000240ec lui gp, 8 |
0x000240f0 addiu gp, gp, -0x11cc |
0x000240f4 addu gp, gp, t9 | gp += t9;
0x000240f8 addiu sp, sp, -0xa8 |
0x000240fc lw t9, -0x7e54(gp) | t9 = sym.ap_check_cmd_context;
0x00024100 sw s1, 0x94(sp) | *(var_94h) = s1;
0x00024104 lw s1, -0x7534(gp) | s1 = *(gp);
0x00024108 sw gp, 0x18(sp) | *(var_18h) = gp;
0x0002410c sw s3, 0x9c(sp) | *(var_9ch) = s3;
0x00024110 lw v0, (s1) | v0 = *(s1);
0x00024114 sw s2, 0x98(sp) | *(var_98h) = s2;
0x00024118 sw s0, 0x90(sp) | *(var_90h) = s0;
0x0002411c sw ra, 0xa4(sp) | *(var_a4h) = ra;
0x00024120 sw s4, 0xa0(sp) | *(var_a0h) = s4;
0x00024124 addiu a1, zero, 0x5f | a1 = 0x5f;
0x00024128 sw v0, 0x8c(sp) | *(var_8ch) = v0;
0x0002412c move s2, a0 | s2 = a0;
0x00024130 move s3, a2 | s3 = a2;
0x00024134 bal 0x37600 | sym_ap_check_cmd_context ();
0x00024138 move s0, v0 | s0 = v0;
0x0002413c lw gp, 0x18(sp) | gp = *(var_18h);
0x00024140 beqz v0, 0x24174 |
| while (1) {
| label_0:
0x00024144 lw a0, 0x8c(sp) | a0 = *(var_8ch);
0x00024148 lw v1, (s1) | v1 = *(s1);
0x0002414c move v0, s0 | v0 = s0;
| if (a0 != v1) {
0x00024150 bne a0, v1, 0x24254 | goto label_2;
| }
0x00024154 lw ra, 0xa4(sp) | ra = *(var_a4h);
0x00024158 lw s4, 0xa0(sp) | s4 = *(var_a0h);
0x0002415c lw s3, 0x9c(sp) | s3 = *(var_9ch);
0x00024160 lw s2, 0x98(sp) | s2 = *(var_98h);
0x00024164 lw s1, 0x94(sp) | s1 = *(var_94h);
0x00024168 lw s0, 0x90(sp) | s0 = *(var_90h);
0x0002416c addiu sp, sp, 0xa8 |
0x00024170 jr ra | return v1;
0x00024174 lw t9, -0x7e50(gp) | t9 = sym.ap_server_root_relative;
0x00024178 lw a0, 0x2c(s2) | a0 = *((s2 + 11));
0x0002417c move a1, s3 | a1 = s3;
0x00024180 jalr t9 | t9 ();
0x00024184 move s4, v0 | s4 = v0;
0x00024188 lw gp, 0x18(sp) | gp = *(var_18h);
| if (v0 == 0) {
0x0002418c beqz v0, 0x24214 | goto label_3;
| }
0x00024190 lw t9, -0x7250(gp) | t9 = sym.imp.apr_stat;
0x00024194 lw a3, 0x28(s2) | a3 = *((s2 + 10));
0x00024198 ori a2, zero, 0x8000 | a2 = 0x8000;
0x0002419c move a1, v0 | a1 = v0;
0x000241a0 addiu a0, sp, 0x20 | a0 = sp + 0x20;
0x000241a4 jalr t9 | t9 ();
0x000241a8 lw gp, 0x18(sp) | gp = *(var_18h);
| if (v0 != 0) {
0x000241ac bnez v0, 0x2423c | goto label_4;
| }
0x000241b0 lw v1, 0x2c(sp) | v1 = *(var_2ch);
0x000241b4 addiu v0, zero, 2 | v0 = 2;
0x000241b8 lw a3, -0x7fac(gp) | a3 = *(gp);
| if (v1 == v0) {
0x000241bc beq v1, v0, 0x241ec | goto label_5;
| }
0x000241c0 lw t9, -0x76e8(gp) | t9 = sym.imp.apr_pstrcat
0x000241c4 lw a0, 0x28(s2) | a0 = *((s2 + 10));
| /* str._is_not_a_directory */
0x000241c8 addiu a3, a3, -0x64a8 | a3 += -0x64a8;
0x000241cc sw zero, 0x10(sp) | *(var_10h_2) = 0;
| label_1:
0x000241d0 lw a1, -0x7fac(gp) | a1 = *(gp);
0x000241d4 move a2, s4 | a2 = s4;
| /* str.CoreDumpDirectory_ */
0x000241d8 addiu a1, a1, -0x64bc | a1 += -0x64bc;
0x000241dc jalr t9 | t9 ();
0x000241e0 move s0, v0 | s0 = v0;
0x000241e4 lw gp, 0x18(sp) | gp = *(var_18h);
0x000241e8 b 0x24144 |
| }
| label_5:
0x000241ec lw t9, -0x7260(gp) | t9 = sym.imp.apr_cpystrn;
0x000241f0 lw a0, -0x7e70(gp) | a0 = *(gp);
0x000241f4 addiu a2, zero, 0x2000 | a2 = aav.0x00002000;
0x000241f8 move a1, s4 | a1 = s4;
0x000241fc jalr t9 | t9 ();
0x00024200 lw gp, 0x18(sp) | gp = *(var_18h);
0x00024204 addiu v1, zero, 1 | v1 = 1;
0x00024208 lw v0, -0x7e6c(gp) | v0 = *(gp);
0x0002420c sw v1, (v0) | *(v0) = v1;
0x00024210 b 0x24144 | goto label_0;
| label_3:
0x00024214 lw a1, -0x7fac(gp) | a1 = *(gp);
0x00024218 lw t9, -0x76e8(gp) | t9 = sym.imp.apr_pstrcat
0x0002421c lw a0, 0x28(s2) | a0 = *((s2 + 10));
0x00024220 move a3, zero | a3 = 0;
0x00024224 move a2, s3 | a2 = s3;
| /* str.Invalid_CoreDumpDirectory_path_ */
0x00024228 addiu a1, a1, -0x64ec | a1 += -0x64ec;
0x0002422c jalr t9 | t9 ();
0x00024230 move s0, v0 | s0 = v0;
0x00024234 lw gp, 0x18(sp) | gp = *(var_18h);
0x00024238 b 0x24144 | goto label_0;
| label_4:
0x0002423c lw a3, -0x7fac(gp) | a3 = *(gp);
0x00024240 lw a0, 0x28(s2) | a0 = *((s2 + 10));
0x00024244 lw t9, -0x76e8(gp) | t9 = sym.imp.apr_pstrcat
0x00024248 sw zero, 0x10(sp) | *(var_10h_2) = 0;
| /* str._does_not_exist */
0x0002424c addiu a3, a3, -0x64cc | a3 += -0x64cc;
0x00024250 b 0x241d0 | goto label_1;
| label_2:
0x00024254 lw t9, -0x75e8(gp) | t9 = sym.imp.__stack_chk_fail;
0x00024258 jalr t9 | t9 ();
0x0002425c nop |
| }
; assembly | /* r2dec pseudo code output */
| /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/sbin/httpd @ 0x2c488 */
| #include <stdint.h>
|
; (fcn) sym.ap_parse_request_line () | void ap_parse_request_line () {
0x0002c488 lui gp, 7 |
0x0002c48c addiu gp, gp, 0x6a98 |
0x0002c490 addu gp, gp, t9 | gp += t9;
0x0002c494 lw v0, 8(a0) | v0 = *((a0 + 2));
0x0002c498 addiu sp, sp, -0x58 |
0x0002c49c lw t9, -0x744c(gp) | t9 = *(gp);
0x0002c4a0 lw v0, 0x18(v0) | v0 = *((v0 + 6));
0x0002c4a4 sw s3, 0x3c(sp) | *(var_3ch) = s3;
0x0002c4a8 sw s4, 0x40(sp) | *(var_40h) = s4;
0x0002c4ac lw s3, (v0) | s3 = *(v0);
0x0002c4b0 lw s4, 0x18(a0) | s4 = *((a0 + 6));
0x0002c4b4 sw gp, 0x28(sp) | *(var_28h) = gp;
0x0002c4b8 sw s1, 0x34(sp) | *(var_34h) = s1;
0x0002c4bc sw s0, 0x30(sp) | *(var_30h) = s0;
0x0002c4c0 sw ra, 0x54(sp) | *(var_54h) = ra;
0x0002c4c4 sw fp, 0x50(sp) | *(var_50h) = fp;
0x0002c4c8 sw s7, 0x4c(sp) | *(var_4ch) = s7;
0x0002c4cc sw s6, 0x48(sp) | *(var_48h) = s6;
0x0002c4d0 sw s5, 0x44(sp) | *(var_44h) = s5;
0x0002c4d4 sw s2, 0x38(sp) | *(var_38h) = s2;
0x0002c4d8 lb s2, 0x41(s3) | s2 = *((s3 + 65));
0x0002c4dc sw s4, 0x4c(a0) | *((a0 + 19)) = s4;
0x0002c4e0 move s0, a0 | s0 = a0;
0x0002c4e4 jalr t9 | t9 ();
0x0002c4e8 move s1, v0 | s1 = v0;
0x0002c4ec lbu v0, (s4) | v0 = *(s4);
0x0002c4f0 lw a0, (s1) | a0 = *(s1);
0x0002c4f4 sll v0, v0, 1 | v0 <<= 1;
0x0002c4f8 addu v0, a0, v0 | v0 = a0 + v0;
0x0002c4fc lhu v0, (v0) | v0 = *(v0);
0x0002c500 andi v0, v0, 0x2000 | v0 &= aav.0x00002000;
0x0002c504 lw gp, 0x28(sp) | gp = *(var_28h);
| if (v0 == 0) {
0x0002c508 beqz v0, 0x2c8a8 | goto label_80;
| }
0x0002c50c addiu v1, s4, 1 | v1 = s4 + 1;
| do {
0x0002c510 sw v1, 0x4c(s0) | *((s0 + 19)) = v1;
0x0002c514 lbu v0, (v1) | v0 = *(v1);
0x0002c518 move s4, v1 | s4 = v1;
0x0002c51c sll v0, v0, 1 | v0 <<= 1;
0x0002c520 addu v0, a0, v0 | v0 = a0 + v0;
0x0002c524 lhu v0, (v0) | v0 = *(v0);
0x0002c528 andi v0, v0, 0x2000 | v0 &= aav.0x00002000;
0x0002c52c addiu v1, v1, 1 | v1++;
0x0002c530 bnez v0, 0x2c510 |
| } while (v0 != 0);
0x0002c534 addiu v0, zero, 1 | v0 = 1;
0x0002c538 addiu s5, zero, 2 | s5 = 2;
| if (s2 != v0) {
0x0002c53c bne s2, v0, 0x2c8b4 | goto label_81;
| }
| label_0:
0x0002c540 lw t9, -0x7d8c(gp) | t9 = sym.ap_scan_vchar_obstext;
0x0002c544 move a0, s4 | a0 = s4;
0x0002c548 bal 0x1d8c8 | sym_ap_scan_vchar_obstext ();
0x0002c54c lw s7, 0x4c(s0) | s7 = *((s0 + 19));
0x0002c550 move s4, v0 | s4 = v0;
0x0002c554 lw gp, 0x28(sp) | gp = *(var_28h);
| if (s7 != s4) {
0x0002c558 bne s7, s4, 0x2c8d0 | goto label_82;
| }
| label_1:
0x0002c55c lw a1, -0x7fac(gp) | a1 = *(gp);
| if (s5 == 0) {
0x0002c560 beqz s5, 0x2ca0c | goto label_16;
| }
0x0002c564 lw v0, -0x7fac(gp) | v0 = *(gp);
| if (s4 == 0) {
0x0002c568 beqz s4, 0x2ca30 | goto label_83;
| }
0x0002c56c lb v1, (s4) | v1 = *(s4);
0x0002c570 lw a0, (s1) | a0 = *(s1);
0x0002c574 andi v0, v1, 0xff | v0 = v1 & 0xff;
0x0002c578 sll v0, v0, 1 | v0 <<= 1;
0x0002c57c addu v0, a0, v0 | v0 = a0 + v0;
0x0002c580 lhu v0, (v0) | v0 = *(v0);
0x0002c584 andi v0, v0, 0x2000 | v0 &= aav.0x00002000;
| label_2:
0x0002c588 move a2, s4 | a2 = s4;
| if (v0 == 0) {
0x0002c58c beqz v0, 0x2cc58 | goto label_84;
| }
| label_3:
0x0002c590 addiu a1, zero, 0x20 | a1 = 0x20;
| do {
0x0002c594 addiu s4, s4, 1 | s4++;
| if (v1 != a1) {
0x0002c598 beq v1, a1, 0x2c5a4 |
| if (s5 == 0) {
0x0002c59c beql s5, zero, 0x2c5a4 | goto label_85;
| }
0x0002c5a0 addiu s5, zero, 2 | s5 = 2;
| }
| label_85:
0x0002c5a4 lb v1, (s4) | v1 = *(s4);
0x0002c5a8 andi v0, v1, 0xff | v0 = v1 & 0xff;
0x0002c5ac sll v0, v0, 1 | v0 <<= 1;
0x0002c5b0 addu v0, a0, v0 | v0 = a0 + v0;
0x0002c5b4 lhu v0, (v0) | v0 = *(v0);
0x0002c5b8 andi v0, v0, 0x2000 | v0 &= aav.0x00002000;
0x0002c5bc bnez v0, 0x2c594 |
| } while (v0 != 0);
0x0002c5c0 nop |
| label_18:
0x0002c5c4 sb zero, (a2) | *(a2) = 0;
| label_15:
0x0002c5c8 lb v0, (s4) | v0 = *(s4);
0x0002c5cc lw t9, -0x7d8c(gp) | t9 = sym.ap_scan_vchar_obstext;
| if (v0 == 0) {
0x0002c5d0 bnez v0, 0x2c5e0 |
| if (s5 == 0) {
0x0002c5d4 beql s5, zero, 0x2c5e0 | goto label_86;
| }
0x0002c5d8 addiu s5, zero, 4 | s5 = 4;
| label_17:
0x0002c5dc lw t9, -0x7d8c(gp) | t9 = sym.ap_scan_vchar_obstext;
| }
| label_86:
0x0002c5e0 move a0, s4 | a0 = s4;
0x0002c5e4 bal 0x1d8c8 | sym_ap_scan_vchar_obstext ();
0x0002c5e8 move s6, v0 | s6 = v0;
0x0002c5ec lw gp, 0x28(sp) | gp = *(var_28h);
| if (v0 == s4) {
0x0002c5f0 beq v0, s4, 0x2c9d8 | goto label_87;
| }
0x0002c5f4 lb v0, (v0) | v0 = *(v0);
0x0002c5f8 lw a1, (s1) | a1 = *(s1);
| if (v0 != 0) {
0x0002c5fc bnez v0, 0x2c92c | goto label_88;
| }
| label_5:
0x0002c600 sw s6, 0x2c(s0) | *((s0 + 11)) = s6;
| label_4:
0x0002c604 lb a0, (s6) | a0 = *(s6);
0x0002c608 andi v0, a0, 0xff | v0 = a0 & 0xff;
0x0002c60c sll v0, v0, 1 | v0 <<= 1;
0x0002c610 addu v0, a1, v0 | v0 = a1 + v0;
0x0002c614 lhu v0, (v0) | v0 = *(v0);
0x0002c618 andi v0, v0, 0x2000 | v0 &= aav.0x00002000;
0x0002c61c addiu v1, s6, 1 | v1 = s6 + 1;
| if (v0 == 0) {
0x0002c620 beqz v0, 0x2c65c | goto label_89;
| }
0x0002c624 addiu a2, zero, 0x20 | a2 = 0x20;
| do {
| if (a0 != a2) {
0x0002c628 beql a0, a2, 0x2c63c |
0x0002c62c sw v1, 0x2c(s0) | *((s0 + 11)) = v1;
| if (s5 != 0) {
0x0002c630 beql s5, zero, 0x2c638 |
0x0002c634 addiu s5, zero, 2 | s5 = 2;
| }
0x0002c638 sw v1, 0x2c(s0) | *((s0 + 11)) = v1;
| }
0x0002c63c lb a0, (v1) | a0 = *(v1);
0x0002c640 andi v0, a0, 0xff | v0 = a0 & 0xff;
0x0002c644 sll v0, v0, 1 | v0 <<= 1;
0x0002c648 addu v0, a1, v0 | v0 = a1 + v0;
0x0002c64c lhu v0, (v0) | v0 = *(v0);
0x0002c650 andi v0, v0, 0x2000 | v0 &= aav.0x00002000;
0x0002c654 addiu v1, v1, 1 | v1++;
0x0002c658 bnez v0, 0x2c628 |
| } while (v0 != 0);
| label_89:
0x0002c65c sb zero, (s6) | *(s6) = 0;
0x0002c660 lw t9, -0x7d8c(gp) | t9 = sym.ap_scan_vchar_obstext;
0x0002c664 lw a0, 0x2c(s0) | a0 = *((s0 + 11));
0x0002c668 bal 0x1d8c8 | sym_ap_scan_vchar_obstext ();
0x0002c66c lw gp, 0x28(sp) | gp = *(var_28h);
| if (v0 == 0) {
0x0002c670 beqz v0, 0x2d0e0 | goto label_90;
| }
0x0002c674 lb a0, (v0) | a0 = *(v0);
0x0002c678 lw a1, (s1) | a1 = *(s1);
0x0002c67c andi v1, a0, 0xff | v1 = a0 & 0xff;
0x0002c680 sll v1, v1, 1 | v1 <<= 1;
0x0002c684 addu v1, a1, v1 | v1 = a1 + v1;
0x0002c688 lw s7, 0x2c(s0) | s7 = *((s0 + 11));
0x0002c68c lhu v1, (v1) | v1 = *(v1);
0x0002c690 subu s7, v0, s7 | __asm ("subu s7, v0, s7");
0x0002c694 andi v1, v1, 0x2000 | v1 &= aav.0x00002000;
| if (a0 == 0) {
0x0002c698 beqz a0, 0x2c980 | goto label_91;
| }
0x0002c69c move s6, v0 | s6 = v0;
| if (v1 == 0) {
0x0002c6a0 beqz v1, 0x2cc60 | goto label_92;
| }
0x0002c6a4 addiu v1, zero, 1 | v1 = 1;
0x0002c6a8 addiu a2, zero, 0x20 | a2 = 0x20;
| if (s2 == v1) {
0x0002c6ac beq s2, v1, 0x2c990 | goto label_93;
| }
0x0002c6b0 addiu s5, zero, 3 | s5 = 3;
| label_6:
0x0002c6b4 sb zero, (v0) | *(v0) = 0;
| label_7:
0x0002c6b8 lw fp, 0x2c(s0) | fp = *((s0 + 11));
| label_28:
0x0002c6bc lb v1, (s4) | v1 = *(s4);
0x0002c6c0 lw a0, (s0) | a0 = *(s0);
0x0002c6c4 lw a1, 0x4c(s0) | a1 = *((s0 + 19));
0x0002c6c8 lb v0, (fp) | v0 = *(fp);
| if (v1 == 0) {
0x0002c6cc beqz v1, 0x2cbd0 | goto label_94;
| }
0x0002c6d0 lw a2, -0x7fac(gp) | a2 = *(gp);
0x0002c6d4 addiu a2, a2, 0x6730 | a2 += 0x6730;
| label_13:
0x0002c6d8 lw t9, -0x76e8(gp) | t9 = sym.imp.apr_pstrcat
| if (v0 != 0) {
0x0002c6dc beqz v0, 0x2c6e8 |
0x0002c6e0 lw v0, -0x7fac(gp) | v0 = *(gp);
0x0002c6e4 addiu v0, v0, 0x6730 | v0 += 0x6730;
| }
0x0002c6e8 sw zero, 0x18(sp) | *(var_18h) = 0;
0x0002c6ec sw fp, 0x14(sp) | *(var_14h) = fp;
0x0002c6f0 sw v0, 0x10(sp) | *(var_10h) = v0;
0x0002c6f4 move a3, s4 | a3 = s4;
0x0002c6f8 jalr t9 | t9 ();
0x0002c6fc addiu v1, zero, 8 | v1 = 8;
0x0002c700 lw gp, 0x28(sp) | gp = *(var_28h);
0x0002c704 sw v0, 0x18(s0) | *((s0 + 6)) = v0;
| if (s7 != v1) {
0x0002c708 bne s7, v1, 0x2ca6c | goto label_95;
| }
0x0002c70c lw v1, 0x2c(s0) | v1 = *((s0 + 11));
0x0002c710 addiu a0, zero, 0x48 | a0 = 0x48;
0x0002c714 lb v0, (v1) | v0 = *(v1);
0x0002c718 addiu a0, zero, 0x68 | a0 = 0x68;
| if (v0 == a0) {
0x0002c71c beq v0, a0, 0x2d100 | goto label_96;
| }
| if (v0 == a0) {
0x0002c720 beql v0, a0, 0x2cc8c | goto label_97;
| }
0x0002c724 lb a0, 1(v1) | a0 = *((v1 + 1));
| label_22:
0x0002c728 lw a1, -0x7fac(gp) | a1 = *(gp);
| if (v0 == 0) {
0x0002c72c beqz v0, 0x2ca80 | goto label_98;
| }
0x0002c730 addiu v0, zero, 9 | v0 = 9;
| label_9:
0x0002c734 sw v0, 0x28(s0) | *((s0 + 10)) = v0;
| if (s5 == 0) {
0x0002c738 beqz s5, 0x2ca04 | goto label_99;
| }
| label_8:
0x0002c73c lw t9, -0x7d88(gp) | t9 = sym.ap_method_number_of;
0x0002c740 lw a0, 0x4c(s0) | a0 = *((s0 + 19));
0x0002c744 jalr t9 | t9 ();
0x0002c748 lw gp, 0x28(sp) | gp = *(var_28h);
0x0002c74c sw v0, 0x48(s0) | *((s0 + 18)) = v0;
| if (v0 == 0) {
0x0002c750 bnez v0, 0x2c770 |
0x0002c754 lw v1, 0x4c(s0) | v1 = *((s0 + 19));
0x0002c758 addiu v0, zero, 0x48 | v0 = 0x48;
0x0002c75c lb v1, (v1) | v1 = *(v1);
0x0002c760 lw t9, -0x7d84(gp) | t9 = sym.ap_parse_uri;
| if (v1 != v0) {
0x0002c764 bne v1, v0, 0x2c774 | goto label_100;
| }
0x0002c768 addiu v0, zero, 1 | v0 = 1;
0x0002c76c sw v0, 0x24(s0) | *((s0 + 9)) = v0;
| }
0x0002c770 lw t9, -0x7d84(gp) | t9 = sym.ap_parse_uri;
| label_100:
0x0002c774 move a1, s4 | a1 = s4;
0x0002c778 move a0, s0 | a0 = s0;
0x0002c77c bal 0x2c2e0 | sym_ap_parse_uri ();
0x0002c780 lw v1, 0x44(s0) | v1 = *((s0 + 17));
0x0002c784 addiu v0, zero, 0xc8 | v0 = 0xc8;
0x0002c788 lw gp, 0x28(sp) | gp = *(var_28h);
| if (v1 == v0) {
0x0002c78c beq v1, v0, 0x2cba4 | goto label_101;
| }
| label_12:
0x0002c790 lw v0, 0x28(s0) | v0 = *((s0 + 10));
0x0002c794 addiu v1, zero, 9 | v1 = 9;
| if (v0 == v1) {
0x0002c798 beq v0, v1, 0x2caac | goto label_102;
| }
0x0002c79c nop |
0x0002c7a0 addiu v1, zero, 1 | v1 = 1;
| if (s5 != 0) {
0x0002c7a4 bnez s5, 0x2cb28 | goto label_103;
| }
0x0002c7a8 lb a0, 0x42(s3) | a0 = *((s3 + 66));
| label_10:
0x0002c7ac addiu v1, zero, 2 | v1 = 2;
| if (a0 == v1) {
0x0002c7b0 beql a0, v1, 0x2cf54 | goto label_104;
| }
0x0002c7b4 lw a0, 0x48(s0) | a0 = *((s0 + 18));
0x0002c7b8 lw a0, 0x44(s0) | a0 = *((s0 + 17));
| label_25:
0x0002c7bc addiu v1, zero, 0xc8 | v1 = 0xc8;
0x0002c7c0 addiu v1, zero, 1 | v1 = 1;
| if (a0 == v1) {
0x0002c7c4 beq a0, v1, 0x2cbd8 | goto label_105;
| }
0x0002c7c8 lw a0, 0x108(s0) | a0 = *(s0);
| if (a0 == 0) {
| label_11:
0x0002c7cc beql a0, zero, 0x2cc74 | goto label_106;
| }
0x0002c7d0 lw v1, 4(s0) | v1 = *((s0 + 1));
| label_21:
0x0002c7d4 lw v1, (a0) | v1 = *(a0);
| if (v1 == 0) {
| label_20:
0x0002c7d8 beql v1, zero, 0x2cc68 | goto label_107;
| }
0x0002c7dc lw v1, 4(a0) | v1 = *((a0 + 1));
0x0002c7e0 lb v1, (v1) | v1 = *(v1);
| if (v1 < 0) {
0x0002c7e4 bltzl v1, 0x2cc68 | goto label_107;
| }
0x0002c7e8 lw v1, 4(a0) | v1 = *((a0 + 1));
0x0002c7ec slti v1, v1, 7 | v1 = (v1 < 7) ? 1 : 0;
0x0002c7f0 xori v1, v1, 1 | v1 ^= 1;
| label_19:
0x0002c7f4 addiu v1, zero, 9 | v1 = 9;
| if (v1 != 0) {
0x0002c7f8 beqz v1, 0x2c86c |
0x0002c7fc lw s1, 0xe4(s0) | s1 = *((s0 + 57));
0x0002c800 lw t9, -0x72b8(gp) | t9 = sym.imp.strchr;
0x0002c804 addiu a1, zero, 0x3a | a1 = 0x3a;
0x0002c808 move a0, s1 | a0 = s1;
0x0002c80c jalr t9 | t9 ();
0x0002c810 lw gp, 0x28(sp) | gp = *(var_28h);
| if (v0 == 0) {
0x0002c814 beqz v0, 0x2d440 | goto label_108;
| }
0x0002c818 subu v0, v0, s1 | __asm ("subu v0, v0, s1");
0x0002c81c slti a0, v0, 0x51 | a0 = (v0 < 0x51) ? 1 : 0;
0x0002c820 addiu v1, zero, 0x50 | v1 = 0x50;
| if (a0 != 0) {
0x0002c824 movz v0, v1, a0 | v0 = v1;
| }
| label_54:
0x0002c828 sw v0, 0x1c(sp) | *(var_1ch) = v0;
0x0002c82c lw v0, -0x7fac(gp) | v0 = *(gp);
0x0002c830 lw a0, -0x7fac(gp) | a0 = *(gp);
0x0002c834 lw t9, -0x7f08(gp) | t9 = sym.ap_log_rerror_;
| /* str.AH03450:_HTTP_Request_Line__Unable_to_parse_URI:__.s */
0x0002c838 addiu v0, v0, -0x54b4 | v0 += -0x54b4;
0x0002c83c sw v0, 0x18(sp) | *(var_18h) = v0;
0x0002c840 sw s1, 0x20(sp) | *(var_20h) = s1;
0x0002c844 sw s0, 0x14(sp) | *(var_14h) = s0;
0x0002c848 sw zero, 0x10(sp) | *(var_10h) = 0;
0x0002c84c addiu a3, zero, 7 | a3 = 7;
0x0002c850 move a2, zero | a2 = 0;
0x0002c854 addiu a1, zero, 0x3c0 | a1 = aav.0x000003c0;
| /* str._usr_src_debug_apache2_2.4.57_r0_httpd_2.4.57_server_protocol.c */
0x0002c858 addiu a0, a0, -0x5ed4 | a0 += -0x5ed4;
0x0002c85c jalr t9 | t9 ();
0x0002c860 lw gp, 0x28(sp) | gp = *(var_28h);
0x0002c864 lw v0, 0x28(s0) | v0 = *((s0 + 10));
0x0002c868 addiu v1, zero, 9 | v1 = 9;
| }
| if (v0 == v1) {
0x0002c86c beql v0, v1, 0x2ce1c | goto label_109;
| }
0x0002c870 lw v0, 4(s0) | v0 = *((s0 + 1));
0x0002c874 move v0, zero | v0 = 0;
| label_23:
0x0002c878 lw ra, 0x54(sp) | ra = *(var_54h);
0x0002c87c lw fp, 0x50(sp) | fp = *(var_50h);
0x0002c880 lw s7, 0x4c(sp) | s7 = *(var_4ch);
0x0002c884 lw s6, 0x48(sp) | s6 = *(var_48h);
0x0002c888 lw s5, 0x44(sp) | s5 = *(var_44h);
0x0002c88c lw s4, 0x40(sp) | s4 = *(var_40h);
0x0002c890 lw s3, 0x3c(sp) | s3 = *(var_3ch);
0x0002c894 lw s2, 0x38(sp) | s2 = *(var_38h);
0x0002c898 lw s1, 0x34(sp) | s1 = *(var_34h);
0x0002c89c lw s0, 0x30(sp) | s0 = *(var_30h);
0x0002c8a0 addiu sp, sp, 0x58 |
0x0002c8a4 jr ra | return v0;
| label_80:
0x0002c8a8 addiu v0, zero, 1 | v0 = 1;
0x0002c8ac move s5, zero | s5 = 0;
| if (s2 == v0) {
0x0002c8b0 beq s2, v0, 0x2c540 | goto label_0;
| }
| label_81:
0x0002c8b4 lw t9, -0x7dc8(gp) | t9 = sym.ap_scan_http_token;
0x0002c8b8 move a0, s4 | a0 = s4;
0x0002c8bc bal 0x1d884 | sym_ap_scan_http_token ();
0x0002c8c0 lw s7, 0x4c(s0) | s7 = *((s0 + 19));
0x0002c8c4 move s4, v0 | s4 = v0;
0x0002c8c8 lw gp, 0x28(sp) | gp = *(var_28h);
| if (s7 == s4) {
0x0002c8cc beq s7, s4, 0x2c55c | goto label_1;
| }
| label_82:
0x0002c8d0 lb v1, (s4) | v1 = *(s4);
0x0002c8d4 lw a0, (s1) | a0 = *(s1);
0x0002c8d8 andi v0, v1, 0xff | v0 = v1 & 0xff;
0x0002c8dc sll v0, v0, 1 | v0 <<= 1;
0x0002c8e0 addu v0, a0, v0 | v0 = a0 + v0;
0x0002c8e4 lhu v0, (v0) | v0 = *(v0);
0x0002c8e8 andi v0, v0, 0x2000 | v0 &= aav.0x00002000;
| if (v1 == 0) {
0x0002c8ec beqz v1, 0x2c588 | goto label_2;
| }
0x0002c8f0 addiu a1, zero, 1 | a1 = 1;
| if (v0 == 0) {
0x0002c8f4 beqz v0, 0x2cc44 | goto label_110;
| }
0x0002c8f8 move a2, s4 | a2 = s4;
| if (s2 == a1) {
0x0002c8fc beq s2, a1, 0x2c590 | goto label_3;
| }
0x0002c900 lbu a1, 1(s4) | a1 = *((s4 + 1));
0x0002c904 sll a1, a1, 1 | a1 <<= 1;
0x0002c908 addu a1, a0, a1 | a1 = a0 + a1;
0x0002c90c lhu a1, (a1) | a1 = *(a1);
0x0002c910 andi a1, a1, 0x2000 | a1 &= aav.0x00002000;
| if (a1 == 0) {
0x0002c914 beqz a1, 0x2c588 | goto label_2;
| }
0x0002c918 nop |
| if (s5 == 0) {
0x0002c91c beql s5, zero, 0x2c588 | goto label_2;
| }
0x0002c920 addiu s5, zero, 3 | s5 = 3;
0x0002c924 b 0x2c588 | goto label_2;
0x0002c928 nop |
| label_88:
0x0002c92c andi v0, v0, 0xff | v0 &= 0xff;
0x0002c930 sll v0, v0, 1 | v0 <<= 1;
0x0002c934 addu v0, a1, v0 | v0 = a1 + v0;
0x0002c938 lhu v0, (v0) | v0 = *(v0);
0x0002c93c andi v0, v0, 0x2000 | v0 &= aav.0x00002000;
| if (v0 == 0) {
0x0002c940 beql v0, zero, 0x2c9dc | goto label_111;
| }
0x0002c944 lw a1, -0x7fac(gp) | a1 = *(gp);
0x0002c948 addiu v0, zero, 1 | v0 = 1;
| if (s2 == v0) {
0x0002c94c beql s2, v0, 0x2c604 | goto label_4;
| }
0x0002c950 sw s6, 0x2c(s0) | *((s0 + 11)) = s6;
0x0002c954 lbu v0, 1(s6) | v0 = *((s6 + 1));
0x0002c958 sll v0, v0, 1 | v0 <<= 1;
| /* aav.0x00080000 */
0x0002c95c addu v0, a1, v0 | v0 = a1 + v0;
0x0002c960 lhu v0, (v0) | v0 = *(v0);
0x0002c964 andi v0, v0, 0x2000 | v0 &= aav.0x00002000;
| if (v0 == 0) {
0x0002c968 beql v0, zero, 0x2c604 | goto label_4;
| }
0x0002c96c sw s6, 0x2c(s0) | *((s0 + 11)) = s6;
| if (s5 == 0) {
0x0002c970 beql s5, zero, 0x2c600 | goto label_5;
| }
0x0002c974 addiu s5, zero, 3 | s5 = 3;
0x0002c978 sw s6, 0x2c(s0) | *((s0 + 11)) = s6;
0x0002c97c b 0x2c604 | goto label_4;
| label_91:
0x0002c980 move s6, v0 | s6 = v0;
| if (v1 == 0) {
0x0002c984 beqz v1, 0x2c6b4 | goto label_6;
| }
0x0002c988 move s6, v0 | s6 = v0;
0x0002c98c addiu a2, zero, 0x20 | a2 = 0x20;
| do {
| label_93:
0x0002c990 addiu s6, s6, 1 | s6++;
| if (a0 != a2) {
0x0002c994 beq a0, a2, 0x2c9a0 |
| if (s5 == 0) {
0x0002c998 beql s5, zero, 0x2c9a0 | goto label_112;
| }
0x0002c99c addiu s5, zero, 2 | s5 = 2;
| }
| label_112:
0x0002c9a0 lb a0, (s6) | a0 = *(s6);
0x0002c9a4 andi v1, a0, 0xff | v1 = a0 & 0xff;
0x0002c9a8 sll v1, v1, 1 | v1 <<= 1;
0x0002c9ac addu v1, a1, v1 | v1 = a1 + v1;
0x0002c9b0 lhu v1, (v1) | v1 = *(v1);
0x0002c9b4 andi v1, v1, 0x2000 | v1 &= aav.0x00002000;
0x0002c9b8 bnez v1, 0x2c990 |
| } while (v1 != 0);
0x0002c9bc nop |
| if (a0 == 0) {
0x0002c9c0 beql a0, zero, 0x2c6b8 | goto label_7;
| }
0x0002c9c4 sb zero, (v0) | *(v0) = 0;
| if (s5 == 0) {
0x0002c9c8 beql s5, zero, 0x2c6b4 | goto label_6;
| }
0x0002c9cc addiu s5, zero, 7 | s5 = 7;
0x0002c9d0 sb zero, (v0) | *(v0) = 0;
0x0002c9d4 b 0x2c6b8 | goto label_7;
| label_87:
0x0002c9d8 lw a1, -0x7fac(gp) | a1 = *(gp);
| label_111:
0x0002c9dc lw t9, -0x76e0(gp) | t9 = sym.imp.strpbrk;
0x0002c9e0 move a0, s6 | a0 = s6;
| /* str._t_n_v_f_r_ */
0x0002c9e4 addiu a1, a1, -0x5a2c | a1 += -0x5a2c;
0x0002c9e8 jalr t9 | t9 ();
0x0002c9ec move s6, v0 | s6 = v0;
0x0002c9f0 lw gp, 0x28(sp) | gp = *(var_28h);
| if (v0 == 0) {
0x0002c9f4 beqz v0, 0x2d008 | goto label_113;
| }
0x0002c9f8 lw a1, (s1) | a1 = *(s1);
0x0002c9fc addiu s5, zero, 5 | s5 = 5;
0x0002ca00 b 0x2c600 | goto label_5;
| label_99:
0x0002ca04 addiu s5, zero, 6 | s5 = 6;
0x0002ca08 b 0x2c73c | goto label_8;
| label_16:
0x0002ca0c lw t9, -0x76e0(gp) | t9 = sym.imp.strpbrk;
0x0002ca10 move a0, s4 | a0 = s4;
| /* str._t_n_v_f_r_ */
0x0002ca14 addiu a1, a1, -0x5a2c | a1 += -0x5a2c;
0x0002ca18 jalr t9 | t9 ();
0x0002ca1c move s4, v0 | s4 = v0;
0x0002ca20 lw gp, 0x28(sp) | gp = *(var_28h);
| if (v0 != 0) {
0x0002ca24 bnez v0, 0x2cc14 | goto label_114;
| }
0x0002ca28 addiu s5, zero, 1 | s5 = 1;
0x0002ca2c lw v0, -0x7fac(gp) | v0 = *(gp);
| label_83:
0x0002ca30 lw a0, (s0) | a0 = *(s0);
0x0002ca34 addiu v0, v0, 0x47dc | v0 += 0x47dc;
0x0002ca38 sw v0, 0x2c(s0) | *((s0 + 11)) = v0;
0x0002ca3c move s4, v0 | s4 = v0;
0x0002ca40 move a2, zero | a2 = 0;
| label_26:
0x0002ca44 lw t9, -0x76e8(gp) | t9 = sym.imp.apr_pstrcat
0x0002ca48 sw zero, 0x18(sp) | *(var_18h) = 0;
0x0002ca4c sw v0, 0x14(sp) | *(var_14h) = v0;
0x0002ca50 sw zero, 0x10(sp) | *(var_10h) = 0;
0x0002ca54 move a3, s4 | a3 = s4;
0x0002ca58 move a1, s7 | a1 = s7;
0x0002ca5c jalr t9 | t9 ();
0x0002ca60 move s6, zero | s6 = 0;
0x0002ca64 lw gp, 0x28(sp) | gp = *(var_28h);
0x0002ca68 sw v0, 0x18(s0) | *((s0 + 6)) = v0;
| label_95:
0x0002ca6c lw v0, 0x2c(s0) | v0 = *((s0 + 11));
0x0002ca70 lb v0, (v0) | v0 = *(v0);
| label_33:
0x0002ca74 addiu v0, zero, 9 | v0 = 9;
| if (v0 != 0) {
0x0002ca78 bnez v0, 0x2c734 | goto label_9;
| }
0x0002ca7c lw a1, -0x7fac(gp) | a1 = *(gp);
| label_98:
0x0002ca80 lw t9, -0x7654(gp) | t9 = sym.imp.apr_pstrdup;
0x0002ca84 addiu v0, zero, 1 | v0 = 1;
0x0002ca88 lw a0, (s0) | a0 = *(s0);
0x0002ca8c sw v0, 0x1c(s0) | *((s0 + 7)) = v0;
| /* str.HTTP_0.9 */
0x0002ca90 addiu a1, a1, -0x57a4 | a1 += -0x57a4;
0x0002ca94 jalr t9 | t9 ();
0x0002ca98 lw gp, 0x28(sp) | gp = *(var_28h);
0x0002ca9c sw v0, 0x2c(s0) | *((s0 + 11)) = v0;
0x0002caa0 addiu v0, zero, 9 | v0 = 9;
0x0002caa4 sw v0, 0x28(s0) | *((s0 + 10)) = v0;
0x0002caa8 b 0x2c73c | goto label_8;
| label_102:
0x0002caac addiu v1, zero, 1 | v1 = 1;
| if (s5 != 0) {
0x0002cab0 bnez s5, 0x2cb28 | goto label_103;
| }
0x0002cab4 lb a0, 0x40(s3) | a0 = *((s3 + 64));
0x0002cab8 addiu v1, zero, 2 | v1 = 2;
0x0002cabc addiu v1, zero, 1 | v1 = 1;
| if (a0 == v1) {
0x0002cac0 beq a0, v1, 0x2d4a4 | goto label_115;
| }
| if (s2 == v1) {
0x0002cac4 beql s2, v1, 0x2c7ac | goto label_10;
| }
0x0002cac8 lb a0, 0x42(s3) | a0 = *((s3 + 66));
0x0002cacc lw v1, 0x48(s0) | v1 = *((s0 + 18));
0x0002cad0 lw v1, 0x108(s0) | v1 = *(s0);
| if (v1 == 0) {
0x0002cad4 bnel v1, zero, 0x2cebc | goto label_116;
| }
0x0002cad8 lw v1, 0x24(s0) | v1 = *((s0 + 9));
0x0002cadc addiu v1, zero, 0xc8 | v1 = 0xc8;
| if (v1 != 0) {
0x0002cae0 bnez v1, 0x2ceb8 | goto label_117;
| }
0x0002cae4 lw a0, 0x44(s0) | a0 = *((s0 + 17));
0x0002cae8 lw a0, 0x108(s0) | a0 = *(s0);
| if (a0 == v1) {
0x0002caec bnel a0, v1, 0x2c7cc | goto label_11;
| }
0x0002caf0 lw v1, 0x150(s0) | v1 = *(s0);
| if (v1 == 0) {
| label_14:
0x0002caf4 beql v1, zero, 0x2d1bc | goto label_118;
| }
0x0002caf8 lw v1, 0x138(s0) | v1 = *(s0);
0x0002cafc lw a0, 0x108(s0) | a0 = *(s0);
| if (a0 == 0) {
0x0002cb00 beql a0, zero, 0x2d3ec | goto label_119;
| }
0x0002cb04 lw v1, 4(s0) | v1 = *((s0 + 1));
| label_48:
0x0002cb08 lw v1, (a0) | v1 = *(a0);
| if (v1 == 0) {
| label_47:
0x0002cb0c beql v1, zero, 0x2ce80 | goto label_120;
| }
0x0002cb10 lw v1, 4(a0) | v1 = *((a0 + 1));
0x0002cb14 lb v1, (v1) | v1 = *(v1);
0x0002cb18 slti v1, v1, 7 | v1 = (v1 < 7) ? 1 : 0;
| if (v1 < 0) {
0x0002cb1c bltz v1, 0x2ce7c | goto label_121;
| }
0x0002cb20 xori v1, v1, 1 | v1 ^= 1;
0x0002cb24 b 0x2ce88 | goto label_122;
| label_103:
0x0002cb28 addiu v1, zero, 4 | v1 = 4;
| if (s5 == v1) {
0x0002cb2c beq s5, v1, 0x2d034 | goto label_123;
| }
0x0002cb30 addiu v1, zero, 5 | v1 = 5;
| if (s5 == v1) {
0x0002cb34 beq s5, v1, 0x2cd98 | goto label_124;
| }
0x0002cb38 addiu v1, zero, 2 | v1 = 2;
| if (s5 == v1) {
0x0002cb3c beq s5, v1, 0x2d288 | goto label_125;
| }
0x0002cb40 addiu v1, zero, 3 | v1 = 3;
| if (s5 != v1) {
0x0002cb44 bne s5, v1, 0x2d328 | goto label_126;
| }
0x0002cb48 lw a0, 0x108(s0) | a0 = *(s0);
| if (a0 == 0) {
0x0002cb4c beql a0, zero, 0x2d484 | goto label_127;
| }
0x0002cb50 lw v1, 4(s0) | v1 = *((s0 + 1));
| label_61:
0x0002cb54 lw v1, (a0) | v1 = *(a0);
| if (v1 == 0) {
| label_60:
0x0002cb58 beql v1, zero, 0x2d434 | goto label_128;
| }
0x0002cb5c lw v1, 4(a0) | v1 = *((a0 + 1));
0x0002cb60 lb v1, (v1) | v1 = *(v1);
| if (v1 < 0) {
0x0002cb64 bltzl v1, 0x2d434 | goto label_128;
| }
0x0002cb68 lw v1, 4(a0) | v1 = *((a0 + 1));
0x0002cb6c slti v1, v1, 7 | v1 = (v1 < 7) ? 1 : 0;
0x0002cb70 xori v1, v1, 1 | v1 ^= 1;
| label_53:
0x0002cb74 addiu v1, zero, 0x190 | v1 = aav.0x00000190;
| if (v1 == 0) {
0x0002cb78 beqz v1, 0x2ce08 | goto label_24;
| }
0x0002cb7c lw v0, -0x7fac(gp) | v0 = *(gp);
0x0002cb80 lw t9, -0x7f08(gp) | t9 = sym.ap_log_rerror_;
| /* str.AH03447:_HTTP_Request_Line__Invalid_whitespace */
0x0002cb84 addiu v0, v0, -0x5690 | v0 += -0x5690;
0x0002cb88 sw v0, 0x18(sp) | *(var_18h) = v0;
0x0002cb8c sw s0, 0x14(sp) | *(var_14h) = s0;
0x0002cb90 sw zero, 0x10(sp) | *(var_10h) = 0;
0x0002cb94 addiu a3, zero, 7 | a3 = 7;
0x0002cb98 move a2, zero | a2 = 0;
0x0002cb9c addiu a1, zero, 0x39c | a1 = aav.0x0000039c;
0x0002cba0 b 0x2cdf0 | goto label_38;
| label_101:
0x0002cba4 lw a0, 0x148(s0) | a0 = *(s0);
0x0002cba8 addiu v0, zero, 0x2f | v0 = 0x2f;
| if (a0 == 0) {
0x0002cbac beqz a0, 0x2c790 | goto label_12;
| }
0x0002cbb0 lb v1, (a0) | v1 = *(a0);
0x0002cbb4 addiu v0, zero, 5 | v0 = 5;
| if (v1 == v0) {
0x0002cbb8 beq v1, v0, 0x2c790 | goto label_12;
| }
0x0002cbbc lw v1, 0x48(s0) | v1 = *((s0 + 18));
0x0002cbc0 addiu v0, zero, 0x190 | v0 = aav.0x00000190;
| if (v1 == v0) {
0x0002cbc4 beq v1, v0, 0x2cd74 | goto label_129;
| }
0x0002cbc8 sw v0, 0x44(s0) | *((s0 + 17)) = v0;
0x0002cbcc b 0x2c790 | goto label_12;
| label_94:
0x0002cbd0 move a2, zero | a2 = 0;
0x0002cbd4 b 0x2c6d8 | goto label_13;
| label_105:
0x0002cbd8 lw v1, 0x150(s0) | v1 = *(s0);
| if (s2 == v1) {
0x0002cbdc bnel s2, v1, 0x2caf4 | goto label_14;
| }
0x0002cbe0 lw ra, 0x54(sp) | ra = *(var_54h);
| label_37:
0x0002cbe4 lw fp, 0x50(sp) | fp = *(var_50h);
0x0002cbe8 lw s7, 0x4c(sp) | s7 = *(var_4ch);
0x0002cbec lw s6, 0x48(sp) | s6 = *(var_48h);
0x0002cbf0 lw s5, 0x44(sp) | s5 = *(var_44h);
0x0002cbf4 lw s4, 0x40(sp) | s4 = *(var_40h);
0x0002cbf8 lw s3, 0x3c(sp) | s3 = *(var_3ch);
0x0002cbfc lw s2, 0x38(sp) | s2 = *(var_38h);
0x0002cc00 lw s1, 0x34(sp) | s1 = *(var_34h);
0x0002cc04 lw s0, 0x30(sp) | s0 = *(var_30h);
0x0002cc08 addiu v0, zero, 1 | v0 = 1;
0x0002cc0c addiu sp, sp, 0x58 |
0x0002cc10 jr ra | return v0;
| label_114:
0x0002cc14 lb v1, (v0) | v1 = *(v0);
0x0002cc18 lw a0, (s1) | a0 = *(s1);
0x0002cc1c andi v0, v1, 0xff | v0 = v1 & 0xff;
0x0002cc20 sll v0, v0, 1 | v0 <<= 1;
0x0002cc24 addu v0, a0, v0 | v0 = a0 + v0;
0x0002cc28 addiu s5, zero, 1 | s5 = 1;
0x0002cc2c lhu v0, (v0) | v0 = *(v0);
0x0002cc30 andi v0, v0, 0x2000 | v0 &= aav.0x00002000;
0x0002cc34 move a2, s4 | a2 = s4;
| if (v0 != 0) {
0x0002cc38 bnez v0, 0x2c590 | goto label_3;
| }
0x0002cc3c sb zero, (a2) | *(a2) = 0;
0x0002cc40 b 0x2c5c8 | goto label_15;
| label_110:
0x0002cc44 lw a1, -0x7fac(gp) | a1 = *(gp);
| if (s5 == 0) {
0x0002cc48 beqz s5, 0x2ca0c | goto label_16;
| }
0x0002cc4c addiu v0, zero, 1 | v0 = 1;
| if (s2 == v0) {
0x0002cc50 beql s2, v0, 0x2c5dc | goto label_17;
| }
0x0002cc54 sb zero, (s4) | *(s4) = 0;
| label_84:
0x0002cc58 move a2, s4 | a2 = s4;
0x0002cc5c b 0x2c5c4 | goto label_18;
| label_92:
0x0002cc60 addiu s5, zero, 6 | s5 = 6;
0x0002cc64 b 0x2c6b4 | goto label_6;
| label_107:
0x0002cc68 slti v1, v1, 7 | v1 = (v1 < 7) ? 1 : 0;
0x0002cc6c xori v1, v1, 1 | v1 ^= 1;
0x0002cc70 b 0x2c7f4 | goto label_19;
| label_106:
0x0002cc74 lw a0, 0x60(v1) | a0 = *((v1 + 24));
0x0002cc78 lw v1, (a0) | v1 = *(a0);
| if (a0 == 0) {
0x0002cc7c bnel a0, zero, 0x2c7d8 | goto label_20;
| }
0x0002cc80 lw a0, 8(s0) | a0 = *((s0 + 2));
0x0002cc84 addiu a0, a0, 0x10 | a0 += 0x10;
0x0002cc88 b 0x2c7d4 | goto label_21;
| label_97:
0x0002cc8c addiu a1, zero, -0x21 | a1 = -0x21;
| label_29:
0x0002cc90 and a0, a0, a1 | a0 &= a1;
0x0002cc94 addiu a1, zero, 0x54 | a1 = 0x54;
0x0002cc98 addiu v0, zero, 9 | v0 = 9;
| if (a0 == a1) {
0x0002cc9c bnel a0, a1, 0x2c734 | goto label_9;
| }
| label_31:
0x0002cca0 lbu a0, 2(v1) | a0 = *((v1 + 2));
| label_30:
0x0002cca4 addiu a1, zero, -0x21 | a1 = -0x21;
0x0002cca8 and a0, a0, a1 | a0 &= a1;
0x0002ccac seb a0, a0 | __asm ("seb a0, a0");
0x0002ccb0 addiu a2, zero, 0x54 | a2 = 0x54;
0x0002ccb4 addiu a2, zero, 0x50 | a2 = 0x50;
| if (a0 != a2) {
0x0002ccb8 bne a0, a2, 0x2c728 | goto label_22;
| }
0x0002ccbc lbu a0, 3(v1) | a0 = *((v1 + 3));
0x0002ccc0 and a0, a0, a1 | a0 &= a1;
0x0002ccc4 seb a0, a0 | __asm ("seb a0, a0");
0x0002ccc8 addiu a0, zero, 0x2f | a0 = 0x2f;
| if (a0 != a2) {
0x0002cccc bne a0, a2, 0x2c728 | goto label_22;
| }
0x0002ccd0 lb a1, 4(v1) | a1 = *((v1 + 4));
| if (a1 != a0) {
0x0002ccd4 bne a1, a0, 0x2c728 | goto label_22;
| }
0x0002ccd8 nop |
0x0002ccdc lb a2, 5(v1) | a2 = *((v1 + 5));
0x0002cce0 lw a1, (s1) | a1 = *(s1);
0x0002cce4 andi a0, a2, 0xff | a0 = a2 & 0xff;
0x0002cce8 sll a0, a0, 1 | a0 <<= 1;
0x0002ccec addu a0, a1, a0 | a0 = a1 + a0;
0x0002ccf0 lhu a0, (a0) | a0 = *(a0);
0x0002ccf4 andi a0, a0, 0x800 | a0 &= 0x800;
0x0002ccf8 addiu a0, zero, 0x2e | a0 = 0x2e;
| if (a0 == 0) {
0x0002ccfc beqz a0, 0x2c728 | goto label_22;
| }
0x0002cd00 lb a3, 6(v1) | a3 = *((v1 + 6));
| if (a3 != a0) {
0x0002cd04 bne a3, a0, 0x2c728 | goto label_22;
| }
0x0002cd08 nop |
0x0002cd0c lbu a0, 7(v1) | a0 = *((v1 + 7));
0x0002cd10 sll a0, a0, 1 | a0 <<= 1;
0x0002cd14 addu a1, a1, a0 | a1 += a0;
0x0002cd18 lhu a0, (a1) | a0 = *(a1);
0x0002cd1c andi a0, a0, 0x800 | a0 &= 0x800;
0x0002cd20 addiu a0, zero, 0x30 | a0 = 0x30;
| if (a0 == 0) {
0x0002cd24 beqz a0, 0x2c728 | goto label_22;
| }
0x0002cd28 addiu a1, zero, 0x3e8 | a1 = aav.0x000003e8;
| if (a2 == a0) {
0x0002cd2c beq a2, a0, 0x2c728 | goto label_22;
| }
0x0002cd30 sw zero, 0x1c(s0) | *((s0 + 7)) = 0;
0x0002cd34 lb v0, 5(v1) | v0 = *((v1 + 5));
0x0002cd38 addiu v0, v0, -0x30 | v0 += -0x30;
0x0002cd3c mul a2, v0, a1 | __asm ("mul a2, v0, a1");
0x0002cd40 lb a0, 7(v1) | a0 = *((v1 + 7));
0x0002cd44 addiu a0, a0, -0x30 | a0 += -0x30;
0x0002cd48 addu v0, a2, a0 | v0 = a2 + a0;
0x0002cd4c addiu a0, zero, 1 | a0 = 1;
0x0002cd50 sw v0, 0x28(s0) | *((s0 + 10)) = v0;
| if (s2 == a0) {
0x0002cd54 beq s2, a0, 0x2cd60 | goto label_130;
| }
| if (s5 == 0) {
0x0002cd58 beql s5, zero, 0x2c73c | goto label_8;
| }
0x0002cd5c addiu s5, zero, 6 | s5 = 6;
| label_130:
0x0002cd60 lw v0, -0x7fac(gp) | v0 = *(gp);
0x0002cd64 lw v0, -0x57ac(v0) | v0 = *((v0 - 5611));
0x0002cd68 swl v0, 3(v1) | __asm ("swl v0, 3(v1)");
0x0002cd6c swr v0, (v1) | __asm ("swr v0, (v1)");
0x0002cd70 b 0x2c73c | goto label_8;
| label_129:
0x0002cd74 lw a1, -0x7fac(gp) | a1 = *(gp);
0x0002cd78 lw t9, -0x7740(gp) | t9 = sym.imp.strcmp;
| /* esilref: ' ' */
0x0002cd7c addiu a1, a1, -0x7950 | a1 += -aav.0x00007950;
0x0002cd80 jalr t9 | t9 ();
0x0002cd84 lw gp, 0x28(sp) | gp = *(var_28h);
| if (v0 == 0) {
0x0002cd88 beqz v0, 0x2c790 | goto label_12;
| }
0x0002cd8c addiu v0, zero, 0x190 | v0 = aav.0x00000190;
0x0002cd90 sw v0, 0x44(s0) | *((s0 + 17)) = v0;
0x0002cd94 b 0x2c790 | goto label_12;
| label_124:
0x0002cd98 lw a0, 0x108(s0) | a0 = *(s0);
| if (a0 == 0) {
0x0002cd9c beql a0, zero, 0x2d3bc | goto label_131;
| }
0x0002cda0 lw v1, 4(s0) | v1 = *((s0 + 1));
| label_44:
0x0002cda4 lw v1, (a0) | v1 = *(a0);
| if (v1 == 0) {
| label_43:
0x0002cda8 beql v1, zero, 0x2d3b0 | goto label_132;
| }
0x0002cdac lw v1, 4(a0) | v1 = *((a0 + 1));
0x0002cdb0 lb v1, (v1) | v1 = *(v1);
| if (v1 < 0) {
0x0002cdb4 bltzl v1, 0x2d3b0 | goto label_132;
| }
0x0002cdb8 lw v1, 4(a0) | v1 = *((a0 + 1));
0x0002cdbc slti v1, v1, 7 | v1 = (v1 < 7) ? 1 : 0;
0x0002cdc0 xori v1, v1, 1 | v1 ^= 1;
| label_42:
0x0002cdc4 addiu v1, zero, 0x190 | v1 = aav.0x00000190;
| if (v1 != 0) {
0x0002cdc8 beqz v1, 0x2ce08 |
0x0002cdcc lw v0, -0x7fac(gp) | v0 = *(gp);
0x0002cdd0 lw t9, -0x7f08(gp) | t9 = sym.ap_log_rerror_;
| /* str.AH03446:_HTTP_Request_Line__Missing_URI */
0x0002cdd4 addiu v0, v0, -0x56f4 | v0 += -0x56f4;
0x0002cdd8 sw v0, 0x18(sp) | *(var_18h) = v0;
0x0002cddc sw s0, 0x14(sp) | *(var_14h) = s0;
0x0002cde0 sw zero, 0x10(sp) | *(var_10h) = 0;
0x0002cde4 addiu a3, zero, 7 | a3 = 7;
0x0002cde8 move a2, zero | a2 = 0;
0x0002cdec addiu a1, zero, 0x395 | a1 = 0x395;
| label_38:
0x0002cdf0 lw a0, -0x7fac(gp) | a0 = *(gp);
| /* str._usr_src_debug_apache2_2.4.57_r0_httpd_2.4.57_server_protocol.c */
0x0002cdf4 addiu a0, a0, -0x5ed4 | a0 += -0x5ed4;
0x0002cdf8 jalr t9 | t9 ();
0x0002cdfc lw gp, 0x28(sp) | gp = *(var_28h);
0x0002ce00 lw v0, 0x28(s0) | v0 = *((s0 + 10));
0x0002ce04 addiu v1, zero, 0x190 | v1 = aav.0x00000190;
| }
| label_24:
0x0002ce08 sw v1, 0x44(s0) | *((s0 + 17)) = v1;
| label_27:
0x0002ce0c addiu v1, zero, 9 | v1 = 9;
0x0002ce10 move v0, zero | v0 = 0;
| if (v0 != v1) {
0x0002ce14 bne v0, v1, 0x2c878 | goto label_23;
| }
| label_34:
0x0002ce18 lw v0, 4(s0) | v0 = *((s0 + 1));
| label_109:
0x0002ce1c lw a1, -0x7fac(gp) | a1 = *(gp);
0x0002ce20 addiu v1, zero, 1 | v1 = 1;
0x0002ce24 lw a0, (s0) | a0 = *(s0);
0x0002ce28 lw t9, -0x7654(gp) | t9 = sym.imp.apr_pstrdup;
0x0002ce2c sw zero, 0x1c(s0) | *((s0 + 7)) = 0;
0x0002ce30 sw v1, 0x58(v0) | *((v0 + 22)) = v1;
0x0002ce34 addiu v0, zero, 0x3e8 | v0 = aav.0x000003e8;
| /* str.HTTP_1.0 */
0x0002ce38 addiu a1, a1, -0x53f8 | a1 += -0x53f8;
0x0002ce3c sw v0, 0x28(s0) | *((s0 + 10)) = v0;
0x0002ce40 jalr t9 | t9 ();
0x0002ce44 lw ra, 0x54(sp) | ra = *(var_54h);
0x0002ce48 sw v0, 0x2c(s0) | *((s0 + 11)) = v0;
0x0002ce4c lw fp, 0x50(sp) | fp = *(var_50h);
0x0002ce50 lw s7, 0x4c(sp) | s7 = *(var_4ch);
0x0002ce54 lw s6, 0x48(sp) | s6 = *(var_48h);
0x0002ce58 lw s5, 0x44(sp) | s5 = *(var_44h);
0x0002ce5c lw s4, 0x40(sp) | s4 = *(var_40h);
0x0002ce60 lw s3, 0x3c(sp) | s3 = *(var_3ch);
0x0002ce64 lw s2, 0x38(sp) | s2 = *(var_38h);
0x0002ce68 lw s1, 0x34(sp) | s1 = *(var_34h);
0x0002ce6c lw s0, 0x30(sp) | s0 = *(var_30h);
0x0002ce70 move v0, zero | v0 = 0;
0x0002ce74 addiu sp, sp, 0x58 |
0x0002ce78 jr ra | return v0;
| label_121:
0x0002ce7c lw v1, 4(a0) | v1 = *((a0 + 1));
| label_120:
0x0002ce80 slti v1, v1, 7 | v1 = (v1 < 7) ? 1 : 0;
0x0002ce84 xori v1, v1, 1 | v1 ^= 1;
| label_122:
0x0002ce88 addiu v1, zero, 0x190 | v1 = aav.0x00000190;
| if (v1 == 0) {
0x0002ce8c beqz v1, 0x2ce08 | goto label_24;
| }
0x0002ce90 lw v0, -0x7fac(gp) | v0 = *(gp);
0x0002ce94 lw t9, -0x7f08(gp) | t9 = sym.ap_log_rerror_;
| /* str.AH02421:_HTTP_Request_Line__URI_must_not_contain_a_fragment */
0x0002ce98 addiu v0, v0, -0x547c | v0 += -0x547c;
0x0002ce9c sw v0, 0x18(sp) | *(var_18h) = v0;
0x0002cea0 sw s0, 0x14(sp) | *(var_14h) = s0;
0x0002cea4 sw zero, 0x10(sp) | *(var_10h) = 0;
0x0002cea8 addiu a3, zero, 7 | a3 = 7;
0x0002ceac move a2, zero | a2 = 0;
0x0002ceb0 addiu a1, zero, 0x3c8 | a1 = aav.0x000003c8;
0x0002ceb4 b 0x2d21c | goto label_133;
| label_117:
0x0002ceb8 lw v1, 0x108(s0) | v1 = *(s0);
| if (v1 == 0) {
| label_116:
0x0002cebc beql v1, zero, 0x2d404 | goto label_134;
| }
0x0002cec0 lw v0, 4(s0) | v0 = *((s0 + 1));
| label_50:
0x0002cec4 lw v0, (v1) | v0 = *(v1);
| if (v0 != 0) {
| label_49:
0x0002cec8 beql v0, zero, 0x2cee8 |
0x0002cecc lw v0, 4(v1) | v0 = *((v1 + 1));
0x0002ced0 lb v0, (v0) | v0 = *(v0);
0x0002ced4 slti v0, v0, 7 | v0 = (v0 < 7) ? 1 : 0;
| if (v0 >= 0) {
0x0002ced8 bltz v0, 0x2cee4 |
0x0002cedc xori v0, v0, 1 | v0 ^= 1;
0x0002cee0 b 0x2cef0 | goto label_135;
| }
0x0002cee4 lw v0, 4(v1) | v0 = *((v1 + 1));
| }
0x0002cee8 slti v0, v0, 7 | v0 = (v0 < 7) ? 1 : 0;
0x0002ceec xori v0, v0, 1 | v0 ^= 1;
| label_135:
0x0002cef0 addiu v0, zero, 0x190 | v0 = aav.0x00000190;
| if (v0 == 0) {
0x0002cef4 beqz v0, 0x2d280 | goto label_63;
| }
0x0002cef8 lw s1, 0x4c(s0) | s1 = *((s0 + 19));
0x0002cefc lw t9, -0x72b8(gp) | t9 = sym.imp.strchr;
0x0002cf00 addiu a1, zero, 0x3a | a1 = 0x3a;
0x0002cf04 move a0, s1 | a0 = s1;
0x0002cf08 jalr t9 | t9 ();
0x0002cf0c lw gp, 0x28(sp) | gp = *(var_28h);
| if (v0 == 0) {
0x0002cf10 beqz v0, 0x2d66c | goto label_136;
| }
0x0002cf14 subu v0, v0, s1 | __asm ("subu v0, v0, s1");
0x0002cf18 slti a0, v0, 0x51 | a0 = (v0 < 0x51) ? 1 : 0;
0x0002cf1c addiu v1, zero, 0x50 | v1 = 0x50;
| if (a0 != 0) {
0x0002cf20 movz v0, v1, a0 | v0 = v1;
| }
| label_67:
0x0002cf24 sw v0, 0x1c(sp) | *(var_1ch) = v0;
0x0002cf28 lw v0, -0x7fac(gp) | v0 = *(gp);
0x0002cf2c lw t9, -0x7f08(gp) | t9 = sym.ap_log_rerror_;
| /* str.AH03444:_HTTP_Request_Line__Invalid_method_token:__.s__only_GET_is_allowed_for_HTTP_0.9_requests_ */
0x0002cf30 addiu v0, v0, -0x575c | v0 += -0x575c;
0x0002cf34 sw s1, 0x20(sp) | *(var_20h) = s1;
0x0002cf38 sw v0, 0x18(sp) | *(var_18h) = v0;
0x0002cf3c sw s0, 0x14(sp) | *(var_14h) = s0;
0x0002cf40 sw zero, 0x10(sp) | *(var_10h) = 0;
0x0002cf44 addiu a3, zero, 7 | a3 = 7;
0x0002cf48 move a2, zero | a2 = 0;
0x0002cf4c addiu a1, zero, 0x392 | a1 = 0x392;
0x0002cf50 b 0x2d0c0 | goto label_35;
| label_104:
0x0002cf54 addiu v1, zero, 0x1a | v1 = 0x1a;
0x0002cf58 lw a0, 0x44(s0) | a0 = *((s0 + 17));
| if (a0 == v1) {
0x0002cf5c bnel a0, v1, 0x2c7bc | goto label_25;
| }
0x0002cf60 lw v1, 0x108(s0) | v1 = *(s0);
| if (v1 == 0) {
0x0002cf64 beql v1, zero, 0x2d448 | goto label_137;
| }
0x0002cf68 lw v0, 4(s0) | v0 = *((s0 + 1));
| label_56:
0x0002cf6c lw v0, (v1) | v0 = *(v1);
| if (v0 == 0) {
| label_55:
0x0002cf70 beql v0, zero, 0x2d41c | goto label_138;
| }
0x0002cf74 lw v0, 4(v1) | v0 = *((v1 + 1));
0x0002cf78 lb v0, (v0) | v0 = *(v0);
| if (v0 < 0) {
0x0002cf7c bltzl v0, 0x2d41c | goto label_138;
| }
0x0002cf80 lw v0, 4(v1) | v0 = *((v1 + 1));
0x0002cf84 slti v0, v0, 7 | v0 = (v0 < 7) ? 1 : 0;
0x0002cf88 xori v0, v0, 1 | v0 ^= 1;
| label_51:
0x0002cf8c addiu v0, zero, 0x1f5 | v0 = 0x1f5;
| if (v0 != 0) {
0x0002cf90 beqz v0, 0x2cffc |
0x0002cf94 lw s1, 0x4c(s0) | s1 = *((s0 + 19));
0x0002cf98 lw t9, -0x72b8(gp) | t9 = sym.imp.strchr;
0x0002cf9c addiu a1, zero, 0x3a | a1 = 0x3a;
0x0002cfa0 move a0, s1 | a0 = s1;
0x0002cfa4 jalr t9 | t9 ();
0x0002cfa8 lw gp, 0x28(sp) | gp = *(var_28h);
| if (v0 == 0) {
0x0002cfac beqz v0, 0x2d6a4 | goto label_139;
| }
0x0002cfb0 subu v0, v0, s1 | __asm ("subu v0, v0, s1");
0x0002cfb4 slti a0, v0, 0x51 | a0 = (v0 < 0x51) ? 1 : 0;
0x0002cfb8 addiu v1, zero, 0x50 | v1 = 0x50;
| if (a0 != 0) {
0x0002cfbc movz v0, v1, a0 | v0 = v1;
| }
| label_72:
0x0002cfc0 sw v0, 0x1c(sp) | *(var_1ch) = v0;
0x0002cfc4 lw v0, -0x7fac(gp) | v0 = *(gp);
0x0002cfc8 lw a0, -0x7fac(gp) | a0 = *(gp);
0x0002cfcc lw t9, -0x7f08(gp) | t9 = sym.ap_log_rerror_;
| /* str.AH02423:_HTTP_Request_Line__Unrecognized_HTTP_method:__.s__disallowed_by_RegisteredMethods_ */
0x0002cfd0 addiu v0, v0, -0x5514 | v0 += -aav.0x00005514;
0x0002cfd4 sw s1, 0x20(sp) | *(var_20h) = s1;
0x0002cfd8 sw v0, 0x18(sp) | *(var_18h) = v0;
0x0002cfdc sw s0, 0x14(sp) | *(var_14h) = s0;
0x0002cfe0 sw zero, 0x10(sp) | *(var_10h) = 0;
0x0002cfe4 addiu a3, zero, 7 | a3 = 7;
0x0002cfe8 move a2, zero | a2 = 0;
0x0002cfec addiu a1, zero, 0x3b7 | a1 = 0x3b7;
| /* str._usr_src_debug_apache2_2.4.57_r0_httpd_2.4.57_server_protocol.c */
0x0002cff0 addiu a0, a0, -0x5ed4 | a0 += -0x5ed4;
0x0002cff4 jalr t9 | t9 ();
0x0002cff8 addiu v0, zero, 0x1f5 | v0 = 0x1f5;
| }
0x0002cffc sw v0, 0x44(s0) | *((s0 + 17)) = v0;
0x0002d000 move v0, zero | v0 = 0;
0x0002d004 b 0x2c878 | goto label_23;
| label_113:
0x0002d008 lw v0, -0x7fac(gp) | v0 = *(gp);
0x0002d00c lw a0, (s0) | a0 = *(s0);
0x0002d010 addiu v0, v0, 0x47dc | v0 += 0x47dc;
0x0002d014 sw v0, 0x2c(s0) | *((s0 + 11)) = v0;
0x0002d018 lb v1, (s4) | v1 = *(s4);
0x0002d01c lw s7, 0x4c(s0) | s7 = *((s0 + 19));
| if (v1 == 0) {
0x0002d020 beqz v1, 0x2d248 | goto label_140;
| }
0x0002d024 lw a2, -0x7fac(gp) | a2 = *(gp);
0x0002d028 addiu s5, zero, 5 | s5 = 5;
0x0002d02c addiu a2, a2, 0x6730 | a2 += 0x6730;
0x0002d030 b 0x2ca44 | goto label_26;
| label_123:
0x0002d034 lw a0, 0x108(s0) | a0 = *(s0);
| if (a0 == 0) {
0x0002d038 beql a0, zero, 0x2d3d4 | goto label_141;
| }
0x0002d03c lw v1, 4(s0) | v1 = *((s0 + 1));
| label_46:
0x0002d040 lw v1, (a0) | v1 = *(a0);
| if (v1 == 0) {
| label_45:
0x0002d044 beql v1, zero, 0x2d23c | goto label_142;
| }
0x0002d048 lw v1, 4(a0) | v1 = *((a0 + 1));
0x0002d04c lb v1, (v1) | v1 = *(v1);
| if (v1 < 0) {
0x0002d050 bltzl v1, 0x2d23c | goto label_142;
| }
0x0002d054 lw v1, 4(a0) | v1 = *((a0 + 1));
0x0002d058 slti v1, v1, 7 | v1 = (v1 < 7) ? 1 : 0;
0x0002d05c xori v1, v1, 1 | v1 ^= 1;
| label_32:
0x0002d060 addiu v1, zero, 0x190 | v1 = aav.0x00000190;
| if (v1 == 0) {
0x0002d064 beqz v1, 0x2ce08 | goto label_24;
| }
0x0002d068 lw s1, 0x4c(s0) | s1 = *((s0 + 19));
0x0002d06c lw t9, -0x72b8(gp) | t9 = sym.imp.strchr;
0x0002d070 addiu a1, zero, 0x3a | a1 = 0x3a;
0x0002d074 move a0, s1 | a0 = s1;
0x0002d078 jalr t9 | t9 ();
0x0002d07c lw gp, 0x28(sp) | gp = *(var_28h);
| if (v0 == 0) {
0x0002d080 beqz v0, 0x2d49c | goto label_143;
| }
0x0002d084 subu v0, v0, s1 | __asm ("subu v0, v0, s1");
0x0002d088 slti a0, v0, 0x51 | a0 = (v0 < 0x51) ? 1 : 0;
0x0002d08c addiu v1, zero, 0x50 | v1 = 0x50;
| if (a0 != 0) {
0x0002d090 movz v0, v1, a0 | v0 = v1;
| }
| label_62:
0x0002d094 sw v0, 0x1c(sp) | *(var_1ch) = v0;
0x0002d098 lw v0, -0x7fac(gp) | v0 = *(gp);
0x0002d09c lw t9, -0x7f08(gp) | t9 = sym.ap_log_rerror_;
| /* str.AH03445:_HTTP_Request_Line__Invalid_method_token:__.s */
0x0002d0a0 addiu v0, v0, -0x5798 | v0 += -0x5798;
0x0002d0a4 sw s1, 0x20(sp) | *(var_20h) = s1;
0x0002d0a8 sw v0, 0x18(sp) | *(var_18h) = v0;
0x0002d0ac sw s0, 0x14(sp) | *(var_14h) = s0;
0x0002d0b0 sw zero, 0x10(sp) | *(var_10h) = 0;
0x0002d0b4 addiu a3, zero, 7 | a3 = 7;
0x0002d0b8 move a2, zero | a2 = 0;
0x0002d0bc addiu a1, zero, 0x38d | a1 = 0x38d;
| label_35:
0x0002d0c0 lw a0, -0x7fac(gp) | a0 = *(gp);
| /* str._usr_src_debug_apache2_2.4.57_r0_httpd_2.4.57_server_protocol.c */
0x0002d0c4 addiu a0, a0, -0x5ed4 | a0 += -0x5ed4;
0x0002d0c8 jalr t9 | t9 ();
0x0002d0cc addiu v1, zero, 0x190 | v1 = aav.0x00000190;
0x0002d0d0 lw gp, 0x28(sp) | gp = *(var_28h);
0x0002d0d4 lw v0, 0x28(s0) | v0 = *((s0 + 10));
0x0002d0d8 sw v1, 0x44(s0) | *((s0 + 17)) = v1;
0x0002d0dc b 0x2ce0c | goto label_27;
| label_90:
0x0002d0e0 lw fp, 0x2c(s0) | fp = *((s0 + 11));
0x0002d0e4 lw t9, -0x74c4(gp) | t9 = sym.imp.strlen;
0x0002d0e8 move a0, fp | a0 = fp;
0x0002d0ec jalr t9 | t9 ();
0x0002d0f0 move s7, v0 | s7 = v0;
0x0002d0f4 lw gp, 0x28(sp) | gp = *(var_28h);
0x0002d0f8 move s6, zero | s6 = 0;
0x0002d0fc b 0x2c6bc | goto label_28;
| label_96:
0x0002d100 lb a0, 1(v1) | a0 = *((v1 + 1));
0x0002d104 addiu a1, zero, 0x54 | a1 = 0x54;
0x0002d108 addiu a1, zero, -0x21 | a1 = -0x21;
| if (a0 != a1) {
0x0002d10c bne a0, a1, 0x2cc90 | goto label_29;
| }
0x0002d110 lb a1, 2(v1) | a1 = *((v1 + 2));
0x0002d114 lbu a0, 2(v1) | a0 = *((v1 + 2));
| if (a1 == a0) {
0x0002d118 bnel a1, a0, 0x2cca4 | goto label_30;
| }
0x0002d11c lb a1, 3(v1) | a1 = *((v1 + 3));
0x0002d120 addiu a0, zero, 0x50 | a0 = 0x50;
0x0002d124 lbu a0, 2(v1) | a0 = *((v1 + 2));
| if (a1 == a0) {
0x0002d128 bnel a1, a0, 0x2cca4 | goto label_30;
| }
0x0002d12c lb a1, 4(v1) | a1 = *((v1 + 4));
0x0002d130 addiu a0, zero, 0x2f | a0 = 0x2f;
0x0002d134 lbu a0, 2(v1) | a0 = *((v1 + 2));
| if (a1 == a0) {
0x0002d138 bnel a1, a0, 0x2cca4 | goto label_30;
| }
0x0002d13c lb a2, 5(v1) | a2 = *((v1 + 5));
0x0002d140 lw a1, (s1) | a1 = *(s1);
0x0002d144 andi a0, a2, 0xff | a0 = a2 & 0xff;
0x0002d148 sll a0, a0, 1 | a0 <<= 1;
0x0002d14c addu a0, a1, a0 | a0 = a1 + a0;
0x0002d150 lhu a0, (a0) | a0 = *(a0);
0x0002d154 andi a0, a0, 0x800 | a0 &= 0x800;
| if (a0 == 0) {
0x0002d158 beql a0, zero, 0x2cca4 | goto label_30;
| }
0x0002d15c lbu a0, 2(v1) | a0 = *((v1 + 2));
0x0002d160 lb a3, 6(v1) | a3 = *((v1 + 6));
0x0002d164 addiu a0, zero, 0x2e | a0 = 0x2e;
0x0002d168 lbu a0, 2(v1) | a0 = *((v1 + 2));
| if (a3 == a0) {
0x0002d16c bnel a3, a0, 0x2cca4 | goto label_30;
| }
0x0002d170 lbu a0, 7(v1) | a0 = *((v1 + 7));
0x0002d174 sll a0, a0, 1 | a0 <<= 1;
0x0002d178 addu a1, a1, a0 | a1 += a0;
0x0002d17c lhu a0, (a1) | a0 = *(a1);
0x0002d180 andi a0, a0, 0x800 | a0 &= 0x800;
| if (a0 == 0) {
0x0002d184 beql a0, zero, 0x2cca4 | goto label_30;
| }
0x0002d188 lbu a0, 2(v1) | a0 = *((v1 + 2));
0x0002d18c addiu a0, zero, 0x30 | a0 = 0x30;
0x0002d190 addiu a0, zero, 0x3e8 | a0 = aav.0x000003e8;
| if (a2 == a0) {
0x0002d194 beq a2, a0, 0x2cca0 | goto label_31;
| }
0x0002d198 sw zero, 0x1c(s0) | *((s0 + 7)) = 0;
0x0002d19c lb v0, 5(v1) | v0 = *((v1 + 5));
0x0002d1a0 addiu v0, v0, -0x30 | v0 += -0x30;
0x0002d1a4 mul a1, v0, a0 | __asm ("mul a1, v0, a0");
0x0002d1a8 lb v1, 7(v1) | v1 = *((v1 + 7));
0x0002d1ac addiu v1, v1, -0x30 | v1 += -0x30;
0x0002d1b0 addu v0, a1, v1 | v0 = a1 + v1;
0x0002d1b4 sw v0, 0x28(s0) | *((s0 + 10)) = v0;
0x0002d1b8 b 0x2c73c | goto label_8;
| if (v1 == 0) {
| label_118:
0x0002d1bc beql v1, zero, 0x2d318 | goto label_144;
| }
0x0002d1c0 lw v1, 0x13c(s0) | v1 = *(s0);
0x0002d1c4 lw a0, 0x108(s0) | a0 = *(s0);
| if (a0 == 0) {
| label_36:
0x0002d1c8 beql a0, zero, 0x2d398 | goto label_145;
| }
0x0002d1cc lw v1, 4(s0) | v1 = *((s0 + 1));
| label_41:
0x0002d1d0 lw v1, (a0) | v1 = *(a0);
| if (v1 == 0) {
| label_40:
0x0002d1d4 beql v1, zero, 0x2d38c | goto label_146;
| }
0x0002d1d8 lw v1, 4(a0) | v1 = *((a0 + 1));
0x0002d1dc lb v1, (v1) | v1 = *(v1);
| if (v1 < 0) {
0x0002d1e0 bltzl v1, 0x2d38c | goto label_146;
| }
0x0002d1e4 lw v1, 4(a0) | v1 = *((a0 + 1));
0x0002d1e8 slti v1, v1, 7 | v1 = (v1 < 7) ? 1 : 0;
0x0002d1ec xori v1, v1, 1 | v1 ^= 1;
| label_39:
0x0002d1f0 addiu v1, zero, 0x190 | v1 = aav.0x00000190;
| if (v1 == 0) {
0x0002d1f4 beqz v1, 0x2ce08 | goto label_24;
| }
0x0002d1f8 lw v0, -0x7fac(gp) | v0 = *(gp);
0x0002d1fc lw t9, -0x7f08(gp) | t9 = sym.ap_log_rerror_;
| /* str.AH02422:_HTTP_Request_Line__URI_must_not_contain_a_username_password */
0x0002d200 addiu v0, v0, -0x5440 | v0 += -0x5440;
0x0002d204 sw v0, 0x18(sp) | *(var_18h) = v0;
0x0002d208 sw s0, 0x14(sp) | *(var_14h) = s0;
0x0002d20c sw zero, 0x10(sp) | *(var_10h) = 0;
0x0002d210 addiu a3, zero, 7 | a3 = 7;
0x0002d214 move a2, zero | a2 = 0;
0x0002d218 addiu a1, zero, 0x3cf | a1 = 0x3cf;
| label_133:
0x0002d21c lw a0, -0x7fac(gp) | a0 = *(gp);
| /* str._usr_src_debug_apache2_2.4.57_r0_httpd_2.4.57_server_protocol.c */
0x0002d220 addiu a0, a0, -0x5ed4 | a0 += -0x5ed4;
0x0002d224 jalr t9 | t9 ();
0x0002d228 addiu v1, zero, 0x190 | v1 = aav.0x00000190;
0x0002d22c lw gp, 0x28(sp) | gp = *(var_28h);
0x0002d230 lw v0, 0x28(s0) | v0 = *((s0 + 10));
0x0002d234 sw v1, 0x44(s0) | *((s0 + 17)) = v1;
0x0002d238 b 0x2ce0c | goto label_27;
| label_142:
0x0002d23c slti v1, v1, 7 | v1 = (v1 < 7) ? 1 : 0;
0x0002d240 xori v1, v1, 1 | v1 ^= 1;
0x0002d244 b 0x2d060 | goto label_32;
| label_140:
0x0002d248 lw t9, -0x76e8(gp) | t9 = sym.imp.apr_pstrcat
0x0002d24c sw zero, 0x18(sp) | *(var_18h) = 0;
0x0002d250 sw v0, 0x14(sp) | *(var_14h) = v0;
0x0002d254 sw zero, 0x10(sp) | *(var_10h) = 0;
0x0002d258 move a3, s4 | a3 = s4;
0x0002d25c move a2, zero | a2 = 0;
0x0002d260 move a1, s7 | a1 = s7;
0x0002d264 jalr t9 | t9 ();
0x0002d268 lw gp, 0x28(sp) | gp = *(var_28h);
0x0002d26c sw v0, 0x18(s0) | *((s0 + 6)) = v0;
0x0002d270 lw v0, 0x2c(s0) | v0 = *((s0 + 11));
0x0002d274 addiu s5, zero, 5 | s5 = 5;
0x0002d278 lb v0, (v0) | v0 = *(v0);
0x0002d27c b 0x2ca74 | goto label_33;
| label_63:
0x0002d280 sw v0, 0x44(s0) | *((s0 + 17)) = v0;
0x0002d284 b 0x2ce18 | goto label_34;
| label_125:
0x0002d288 lw a0, 0x108(s0) | a0 = *(s0);
| if (a0 == 0) {
0x0002d28c beql a0, zero, 0x2d460 | goto label_147;
| }
0x0002d290 lw v1, 4(s0) | v1 = *((s0 + 1));
| label_58:
0x0002d294 lw v1, (a0) | v1 = *(a0);
| if (v1 == 0) {
| label_57:
0x0002d298 beql v1, zero, 0x2d428 | goto label_148;
| }
0x0002d29c lw v1, 4(a0) | v1 = *((a0 + 1));
0x0002d2a0 lb v1, (v1) | v1 = *(v1);
| if (v1 < 0) {
0x0002d2a4 bltzl v1, 0x2d428 | goto label_148;
| }
0x0002d2a8 lw v1, 4(a0) | v1 = *((a0 + 1));
0x0002d2ac slti v1, v1, 7 | v1 = (v1 < 7) ? 1 : 0;
0x0002d2b0 xori v1, v1, 1 | v1 ^= 1;
| label_52:
0x0002d2b4 addiu v1, zero, 0x190 | v1 = aav.0x00000190;
| if (v1 == 0) {
0x0002d2b8 beqz v1, 0x2ce08 | goto label_24;
| }
0x0002d2bc lw s1, 0xe0(s0) | s1 = *((s0 + 56));
0x0002d2c0 lw t9, -0x72b8(gp) | t9 = sym.imp.strchr;
0x0002d2c4 addiu a1, zero, 0x3a | a1 = 0x3a;
0x0002d2c8 move a0, s1 | a0 = s1;
0x0002d2cc jalr t9 | t9 ();
0x0002d2d0 lw gp, 0x28(sp) | gp = *(var_28h);
| if (v0 == 0) {
0x0002d2d4 beqz v0, 0x2d6c4 | goto label_149;
| }
0x0002d2d8 subu v0, v0, s1 | __asm ("subu v0, v0, s1");
0x0002d2dc slti a0, v0, 0x51 | a0 = (v0 < 0x51) ? 1 : 0;
0x0002d2e0 addiu v1, zero, 0x50 | v1 = 0x50;
| if (a0 != 0) {
0x0002d2e4 movz v0, v1, a0 | v0 = v1;
| }
| label_75:
0x0002d2e8 sw v0, 0x1c(sp) | *(var_1ch) = v0;
0x0002d2ec lw v0, -0x7fac(gp) | v0 = *(gp);
0x0002d2f0 lw t9, -0x7f08(gp) | t9 = sym.ap_log_rerror_;
| /* str.AH03454:_HTTP_Request_Line__URI_incorrectly_encoded:__.s */
0x0002d2f4 addiu v0, v0, -0x56cc | v0 += -0x56cc;
0x0002d2f8 sw s1, 0x20(sp) | *(var_20h) = s1;
0x0002d2fc sw v0, 0x18(sp) | *(var_18h) = v0;
0x0002d300 sw s0, 0x14(sp) | *(var_14h) = s0;
0x0002d304 sw zero, 0x10(sp) | *(var_10h) = 0;
0x0002d308 addiu a3, zero, 7 | a3 = 7;
0x0002d30c move a2, zero | a2 = 0;
0x0002d310 addiu a1, zero, 0x399 | a1 = 0x399;
0x0002d314 b 0x2d0c0 | goto label_35;
| label_144:
0x0002d318 lw a0, 0x108(s0) | a0 = *(s0);
| if (v1 == 0) {
0x0002d31c bnel v1, zero, 0x2d1c8 | goto label_36;
| }
0x0002d320 lw ra, 0x54(sp) | ra = *(var_54h);
0x0002d324 b 0x2cbe4 | goto label_37;
| label_126:
0x0002d328 addiu v1, zero, 7 | v1 = 7;
| if (s5 != v1) {
0x0002d32c bne s5, v1, 0x2d518 | goto label_150;
| }
0x0002d330 lw a0, 0x108(s0) | a0 = *(s0);
| if (a0 == 0) {
0x0002d334 beql a0, zero, 0x2d500 | goto label_151;
| }
0x0002d338 lw v1, 4(s0) | v1 = *((s0 + 1));
| label_65:
0x0002d33c lw v1, (a0) | v1 = *(a0);
| if (v1 == 0) {
| label_64:
0x0002d340 beql v1, zero, 0x2d478 | goto label_152;
| }
0x0002d344 lw v1, 4(a0) | v1 = *((a0 + 1));
0x0002d348 lb v1, (v1) | v1 = *(v1);
| if (v1 < 0) {
0x0002d34c bltzl v1, 0x2d478 | goto label_152;
| }
0x0002d350 lw v1, 4(a0) | v1 = *((a0 + 1));
0x0002d354 slti v1, v1, 7 | v1 = (v1 < 7) ? 1 : 0;
0x0002d358 xori v1, v1, 1 | v1 ^= 1;
| label_59:
0x0002d35c addiu v1, zero, 0x190 | v1 = aav.0x00000190;
| if (v1 == 0) {
0x0002d360 beqz v1, 0x2ce08 | goto label_24;
| }
0x0002d364 lw v0, -0x7fac(gp) | v0 = *(gp);
0x0002d368 lw t9, -0x7f08(gp) | t9 = sym.ap_log_rerror_;
| /* str.AH03448:_HTTP_Request_Line__Excess_whitespace__disallowed_by_HttpProtocolOptions_Strict_ */
0x0002d36c addiu v0, v0, -0x5660 | v0 += -0x5660;
0x0002d370 sw v0, 0x18(sp) | *(var_18h) = v0;
0x0002d374 sw s0, 0x14(sp) | *(var_14h) = s0;
0x0002d378 sw zero, 0x10(sp) | *(var_10h) = 0;
0x0002d37c addiu a3, zero, 7 | a3 = 7;
0x0002d380 move a2, zero | a2 = 0;
0x0002d384 addiu a1, zero, 0x3a0 | a1 = aav.0x000003a0;
0x0002d388 b 0x2cdf0 | goto label_38;
| label_146:
0x0002d38c slti v1, v1, 7 | v1 = (v1 < 7) ? 1 : 0;
0x0002d390 xori v1, v1, 1 | v1 ^= 1;
0x0002d394 b 0x2d1f0 | goto label_39;
| label_145:
0x0002d398 lw a0, 0x60(v1) | a0 = *((v1 + 24));
0x0002d39c lw v1, (a0) | v1 = *(a0);
| if (a0 == 0) {
0x0002d3a0 bnel a0, zero, 0x2d1d4 | goto label_40;
| }
0x0002d3a4 lw a0, 8(s0) | a0 = *((s0 + 2));
0x0002d3a8 addiu a0, a0, 0x10 | a0 += 0x10;
0x0002d3ac b 0x2d1d0 | goto label_41;
| label_132:
0x0002d3b0 slti v1, v1, 7 | v1 = (v1 < 7) ? 1 : 0;
0x0002d3b4 xori v1, v1, 1 | v1 ^= 1;
0x0002d3b8 b 0x2cdc4 | goto label_42;
| label_131:
0x0002d3bc lw a0, 0x60(v1) | a0 = *((v1 + 24));
0x0002d3c0 lw v1, (a0) | v1 = *(a0);
| if (a0 == 0) {
0x0002d3c4 bnel a0, zero, 0x2cda8 | goto label_43;
| }
0x0002d3c8 lw a0, 8(s0) | a0 = *((s0 + 2));
0x0002d3cc addiu a0, a0, 0x10 | a0 += 0x10;
0x0002d3d0 b 0x2cda4 | goto label_44;
| label_141:
0x0002d3d4 lw a0, 0x60(v1) | a0 = *((v1 + 24));
0x0002d3d8 lw v1, (a0) | v1 = *(a0);
| if (a0 == 0) {
0x0002d3dc bnel a0, zero, 0x2d044 | goto label_45;
| }
0x0002d3e0 lw a0, 8(s0) | a0 = *((s0 + 2));
0x0002d3e4 addiu a0, a0, 0x10 | a0 += 0x10;
0x0002d3e8 b 0x2d040 | goto label_46;
| label_119:
0x0002d3ec lw a0, 0x60(v1) | a0 = *((v1 + 24));
0x0002d3f0 lw v1, (a0) | v1 = *(a0);
| if (a0 == 0) {
0x0002d3f4 bnel a0, zero, 0x2cb0c | goto label_47;
| }
0x0002d3f8 lw a0, 8(s0) | a0 = *((s0 + 2));
0x0002d3fc addiu a0, a0, 0x10 | a0 += 0x10;
0x0002d400 b 0x2cb08 | goto label_48;
| label_134:
0x0002d404 lw v1, 0x60(v0) | v1 = *((v0 + 24));
0x0002d408 lw v0, (v1) | v0 = *(v1);
| if (v1 == 0) {
0x0002d40c bnel v1, zero, 0x2cec8 | goto label_49;
| }
0x0002d410 lw v1, 8(s0) | v1 = *((s0 + 2));
0x0002d414 addiu v1, v1, 0x10 | v1 += 0x10;
0x0002d418 b 0x2cec4 | goto label_50;
| label_138:
0x0002d41c slti v0, v0, 7 | v0 = (v0 < 7) ? 1 : 0;
0x0002d420 xori v0, v0, 1 | v0 ^= 1;
0x0002d424 b 0x2cf8c | goto label_51;
| label_148:
0x0002d428 slti v1, v1, 7 | v1 = (v1 < 7) ? 1 : 0;
0x0002d42c xori v1, v1, 1 | v1 ^= 1;
0x0002d430 b 0x2d2b4 | goto label_52;
| label_128:
0x0002d434 slti v1, v1, 7 | v1 = (v1 < 7) ? 1 : 0;
0x0002d438 xori v1, v1, 1 | v1 ^= 1;
0x0002d43c b 0x2cb74 | goto label_53;
| label_108:
0x0002d440 addiu v0, zero, 0x50 | v0 = 0x50;
0x0002d444 b 0x2c828 | goto label_54;
| label_137:
0x0002d448 lw v1, 0x60(v0) | v1 = *((v0 + 24));
0x0002d44c lw v0, (v1) | v0 = *(v1);
| if (v1 == 0) {
0x0002d450 bnel v1, zero, 0x2cf70 | goto label_55;
| }
0x0002d454 lw v1, 8(s0) | v1 = *((s0 + 2));
0x0002d458 addiu v1, v1, 0x10 | v1 += 0x10;
0x0002d45c b 0x2cf6c | goto label_56;
| label_147:
0x0002d460 lw a0, 0x60(v1) | a0 = *((v1 + 24));
0x0002d464 lw v1, (a0) | v1 = *(a0);
| if (a0 == 0) {
0x0002d468 bnel a0, zero, 0x2d298 | goto label_57;
| }
0x0002d46c lw a0, 8(s0) | a0 = *((s0 + 2));
0x0002d470 addiu a0, a0, 0x10 | a0 += 0x10;
0x0002d474 b 0x2d294 | goto label_58;
| label_152:
0x0002d478 slti v1, v1, 7 | v1 = (v1 < 7) ? 1 : 0;
0x0002d47c xori v1, v1, 1 | v1 ^= 1;
0x0002d480 b 0x2d35c | goto label_59;
| label_127:
0x0002d484 lw a0, 0x60(v1) | a0 = *((v1 + 24));
0x0002d488 lw v1, (a0) | v1 = *(a0);
| if (a0 == 0) {
0x0002d48c bnel a0, zero, 0x2cb58 | goto label_60;
| }
0x0002d490 lw a0, 8(s0) | a0 = *((s0 + 2));
0x0002d494 addiu a0, a0, 0x10 | a0 += 0x10;
0x0002d498 b 0x2cb54 | goto label_61;
| label_143:
0x0002d49c addiu v0, zero, 0x50 | v0 = 0x50;
0x0002d4a0 b 0x2d094 | goto label_62;
| label_115:
0x0002d4a4 lw v1, 0x108(s0) | v1 = *(s0);
| if (v1 == 0) {
0x0002d4a8 beql v1, zero, 0x2d6ac | goto label_153;
| }
0x0002d4ac lw v0, 4(s0) | v0 = *((s0 + 1));
| label_74:
0x0002d4b0 lw v0, (v1) | v0 = *(v1);
| if (v0 == 0) {
| label_73:
0x0002d4b4 beql v0, zero, 0x2d674 | goto label_154;
| }
0x0002d4b8 lw v0, 4(v1) | v0 = *((v1 + 1));
0x0002d4bc lb v0, (v0) | v0 = *(v0);
| if (v0 < 0) {
0x0002d4c0 bltzl v0, 0x2d674 | goto label_154;
| }
0x0002d4c4 lw v0, 4(v1) | v0 = *((v1 + 1));
0x0002d4c8 slti v0, v0, 7 | v0 = (v0 < 7) ? 1 : 0;
0x0002d4cc xori v0, v0, 1 | v0 ^= 1;
| label_68:
0x0002d4d0 addiu v0, zero, 0x190 | v0 = aav.0x00000190;
| if (v0 == 0) {
0x0002d4d4 beqz v0, 0x2d280 | goto label_63;
| }
0x0002d4d8 lw v0, -0x7fac(gp) | v0 = *(gp);
0x0002d4dc lw t9, -0x7f08(gp) | t9 = sym.ap_log_rerror_;
| /* str.AH02401:_HTTP_Request_Line__Rejected_HTTP_0.9_request */
0x0002d4e0 addiu v0, v0, -0x55a8 | v0 += -0x55a8;
0x0002d4e4 sw v0, 0x18(sp) | *(var_18h) = v0;
0x0002d4e8 sw s0, 0x14(sp) | *(var_14h) = s0;
0x0002d4ec sw zero, 0x10(sp) | *(var_10h) = 0;
0x0002d4f0 addiu a3, zero, 7 | a3 = 7;
0x0002d4f4 move a2, zero | a2 = 0;
0x0002d4f8 addiu a1, zero, 0x3a8 | a1 = aav.0x000003a8;
0x0002d4fc b 0x2cdf0 | goto label_38;
| label_151:
0x0002d500 lw a0, 0x60(v1) | a0 = *((v1 + 24));
0x0002d504 lw v1, (a0) | v1 = *(a0);
| if (a0 == 0) {
0x0002d508 bnel a0, zero, 0x2d340 | goto label_64;
| }
0x0002d50c lw a0, 8(s0) | a0 = *((s0 + 2));
0x0002d510 addiu a0, a0, 0x10 | a0 += 0x10;
0x0002d514 b 0x2d33c | goto label_65;
| label_150:
0x0002d518 addiu v1, zero, 6 | v1 = 6;
| if (s5 == v1) {
0x0002d51c beq s5, v1, 0x2d5d4 | goto label_155;
| }
0x0002d520 addiu v1, zero, 0x190 | v1 = aav.0x00000190;
| if (s5 != v1) {
0x0002d524 bne s5, v1, 0x2ce08 | goto label_24;
| }
0x0002d528 lw a0, 0x108(s0) | a0 = *(s0);
| if (a0 == 0) {
0x0002d52c beql a0, zero, 0x2d6cc | goto label_156;
| }
0x0002d530 lw v1, 4(s0) | v1 = *((s0 + 1));
| label_77:
0x0002d534 lw v1, (a0) | v1 = *(a0);
| if (v1 == 0) {
| label_76:
0x0002d538 beql v1, zero, 0x2d698 | goto label_157;
| }
0x0002d53c lw v1, 4(a0) | v1 = *((a0 + 1));
0x0002d540 lb v1, (v1) | v1 = *(v1);
| if (v1 < 0) {
0x0002d544 bltzl v1, 0x2d698 | goto label_157;
| }
0x0002d548 lw v1, 4(a0) | v1 = *((a0 + 1));
0x0002d54c slti v1, v1, 7 | v1 = (v1 < 7) ? 1 : 0;
0x0002d550 xori v1, v1, 1 | v1 ^= 1;
| label_71:
0x0002d554 addiu v1, zero, 0x190 | v1 = aav.0x00000190;
| if (v1 == 0) {
0x0002d558 beqz v1, 0x2ce08 | goto label_24;
| }
0x0002d55c lw s1, 0x2c(s0) | s1 = *((s0 + 11));
0x0002d560 lw t9, -0x72b8(gp) | t9 = sym.imp.strchr;
0x0002d564 addiu a1, zero, 0x3a | a1 = 0x3a;
0x0002d568 move a0, s1 | a0 = s1;
0x0002d56c jalr t9 | t9 ();
0x0002d570 lw gp, 0x28(sp) | gp = *(var_28h);
| if (v0 == 0) {
0x0002d574 beqz v0, 0x2d6ec | goto label_158;
| }
0x0002d578 subu v0, v0, s1 | __asm ("subu v0, v0, s1");
0x0002d57c slti a0, v0, 0x51 | a0 = (v0 < 0x51) ? 1 : 0;
0x0002d580 addiu v1, zero, 0x50 | v1 = 0x50;
| if (a0 != 0) {
0x0002d584 movz v0, v1, a0 | v0 = v1;
| }
| label_79:
0x0002d588 sw v0, 0x1c(sp) | *(var_1ch) = v0;
0x0002d58c lw v0, -0x7fac(gp) | v0 = *(gp);
0x0002d590 lw a0, -0x7fac(gp) | a0 = *(gp);
0x0002d594 lw t9, -0x7f08(gp) | t9 = sym.ap_log_rerror_;
| /* str.AH02418:_HTTP_Request_Line__Unrecognized_protocol__.s__perhaps_whitespace_was_injected__ */
0x0002d598 addiu v0, v0, -0x5570 | v0 += -0x5570;
0x0002d59c sw v0, 0x18(sp) | *(var_18h) = v0;
0x0002d5a0 sw s1, 0x20(sp) | *(var_20h) = s1;
0x0002d5a4 sw s0, 0x14(sp) | *(var_14h) = s0;
0x0002d5a8 sw zero, 0x10(sp) | *(var_10h) = 0;
0x0002d5ac addiu a3, zero, 7 | a3 = 7;
0x0002d5b0 move a2, zero | a2 = 0;
0x0002d5b4 addiu a1, zero, 0x3ad | a1 = 0x3ad;
| /* str._usr_src_debug_apache2_2.4.57_r0_httpd_2.4.57_server_protocol.c */
0x0002d5b8 addiu a0, a0, -0x5ed4 | a0 += -0x5ed4;
0x0002d5bc jalr t9 | t9 ();
0x0002d5c0 addiu v1, zero, 0x190 | v1 = aav.0x00000190;
0x0002d5c4 lw gp, 0x28(sp) | gp = *(var_28h);
0x0002d5c8 lw v0, 0x28(s0) | v0 = *((s0 + 10));
0x0002d5cc sw v1, 0x44(s0) | *((s0 + 17)) = v1;
0x0002d5d0 b 0x2ce0c | goto label_27;
| label_155:
0x0002d5d4 lw a0, 0x108(s0) | a0 = *(s0);
| if (a0 == 0) {
0x0002d5d8 beql a0, zero, 0x2d680 | goto label_159;
| }
0x0002d5dc lw v1, 4(s0) | v1 = *((s0 + 1));
| label_70:
0x0002d5e0 lw v1, (a0) | v1 = *(a0);
| if (v1 == 0) {
| label_69:
0x0002d5e4 beql v1, zero, 0x2d660 | goto label_160;
| }
0x0002d5e8 lw v1, 4(a0) | v1 = *((a0 + 1));
0x0002d5ec lb v1, (v1) | v1 = *(v1);
| if (v1 < 0) {
0x0002d5f0 bltzl v1, 0x2d660 | goto label_160;
| }
0x0002d5f4 lw v1, 4(a0) | v1 = *((a0 + 1));
0x0002d5f8 slti v1, v1, 7 | v1 = (v1 < 7) ? 1 : 0;
0x0002d5fc xori v1, v1, 1 | v1 ^= 1;
| label_66:
0x0002d600 addiu v1, zero, 0x190 | v1 = aav.0x00000190;
| if (v1 == 0) {
0x0002d604 beqz v1, 0x2ce08 | goto label_24;
| }
0x0002d608 lw t9, -0x72b8(gp) | t9 = sym.imp.strchr;
0x0002d60c addiu a1, zero, 0x3a | a1 = 0x3a;
0x0002d610 move a0, s6 | a0 = s6;
0x0002d614 jalr t9 | t9 ();
0x0002d618 lw gp, 0x28(sp) | gp = *(var_28h);
| if (v0 == 0) {
0x0002d61c beqz v0, 0x2d6e4 | goto label_161;
| }
0x0002d620 subu v0, v0, s6 | __asm ("subu v0, v0, s6");
0x0002d624 slti a0, v0, 0x51 | a0 = (v0 < 0x51) ? 1 : 0;
0x0002d628 addiu v1, zero, 0x50 | v1 = 0x50;
| if (a0 != 0) {
0x0002d62c movz v0, v1, a0 | v0 = v1;
| }
| label_78:
0x0002d630 sw v0, 0x1c(sp) | *(var_1ch) = v0;
0x0002d634 lw v0, -0x7fac(gp) | v0 = *(gp);
0x0002d638 lw t9, -0x7f08(gp) | t9 = sym.ap_log_rerror_;
| /* str.AH03449:_HTTP_Request_Line__Extraneous_text_found__.s__perhaps_whitespace_was_injected__ */
0x0002d63c addiu v0, v0, -0x5604 | v0 += -0x5604;
0x0002d640 sw s6, 0x20(sp) | *(var_20h) = s6;
0x0002d644 sw v0, 0x18(sp) | *(var_18h) = v0;
0x0002d648 sw s0, 0x14(sp) | *(var_14h) = s0;
0x0002d64c sw zero, 0x10(sp) | *(var_10h) = 0;
0x0002d650 addiu a3, zero, 7 | a3 = 7;
0x0002d654 move a2, zero | a2 = 0;
0x0002d658 addiu a1, zero, 0x3a5 | a1 = 0x3a5;
0x0002d65c b 0x2d0c0 | goto label_35;
| label_160:
0x0002d660 slti v1, v1, 7 | v1 = (v1 < 7) ? 1 : 0;
0x0002d664 xori v1, v1, 1 | v1 ^= 1;
0x0002d668 b 0x2d600 | goto label_66;
| label_136:
0x0002d66c addiu v0, zero, 0x50 | v0 = 0x50;
0x0002d670 b 0x2cf24 | goto label_67;
| label_154:
0x0002d674 slti v0, v0, 7 | v0 = (v0 < 7) ? 1 : 0;
0x0002d678 xori v0, v0, 1 | v0 ^= 1;
0x0002d67c b 0x2d4d0 | goto label_68;
| label_159:
0x0002d680 lw a0, 0x60(v1) | a0 = *((v1 + 24));
0x0002d684 lw v1, (a0) | v1 = *(a0);
| if (a0 == 0) {
0x0002d688 bnel a0, zero, 0x2d5e4 | goto label_69;
| }
0x0002d68c lw a0, 8(s0) | a0 = *((s0 + 2));
0x0002d690 addiu a0, a0, 0x10 | a0 += 0x10;
0x0002d694 b 0x2d5e0 | goto label_70;
| label_157:
0x0002d698 slti v1, v1, 7 | v1 = (v1 < 7) ? 1 : 0;
0x0002d69c xori v1, v1, 1 | v1 ^= 1;
0x0002d6a0 b 0x2d554 | goto label_71;
| label_139:
0x0002d6a4 addiu v0, zero, 0x50 | v0 = 0x50;
0x0002d6a8 b 0x2cfc0 | goto label_72;
| label_153:
0x0002d6ac lw v1, 0x60(v0) | v1 = *((v0 + 24));
0x0002d6b0 lw v0, (v1) | v0 = *(v1);
| if (v1 == 0) {
0x0002d6b4 bnel v1, zero, 0x2d4b4 | goto label_73;
| }
0x0002d6b8 lw v1, 8(s0) | v1 = *((s0 + 2));
0x0002d6bc addiu v1, v1, 0x10 | v1 += 0x10;
0x0002d6c0 b 0x2d4b0 | goto label_74;
| label_149:
0x0002d6c4 addiu v0, zero, 0x50 | v0 = 0x50;
0x0002d6c8 b 0x2d2e8 | goto label_75;
| label_156:
0x0002d6cc lw a0, 0x60(v1) | a0 = *((v1 + 24));
0x0002d6d0 lw v1, (a0) | v1 = *(a0);
| if (a0 == 0) {
0x0002d6d4 bnel a0, zero, 0x2d538 | goto label_76;
| }
0x0002d6d8 lw a0, 8(s0) | a0 = *((s0 + 2));
0x0002d6dc addiu a0, a0, 0x10 | a0 += 0x10;
0x0002d6e0 b 0x2d534 | goto label_77;
| label_161:
0x0002d6e4 addiu v0, zero, 0x50 | v0 = 0x50;
0x0002d6e8 b 0x2d630 | goto label_78;
| label_158:
0x0002d6ec addiu v0, zero, 0x50 | v0 = 0x50;
0x0002d6f0 b 0x2d588 | goto label_79;
| }
; assembly | /* r2dec pseudo code output */
| /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/sbin/httpd @ 0x4dbe4 */
| #include <stdint.h>
|
; (fcn) sym.ap_process_fnmatch_configs () | void ap_process_fnmatch_configs () {
0x0004dbe4 lui gp, 5 |
0x0004dbe8 addiu gp, gp, 0x533c |
0x0004dbec addu gp, gp, t9 | gp += t9;
0x0004dbf0 lw v0, -0x7f90(gp) | v0 = *(gp);
0x0004dbf4 addiu sp, sp, -0xc8 |
0x0004dbf8 addiu t1, zero, 3 | t1 = 3;
0x0004dbfc lw v0, (v0) | v0 = *(v0);
0x0004dc00 sw s2, 0xbc(sp) | *(var_bch) = s2;
0x0004dc04 lw s2, -0x7534(gp) | s2 = *(gp);
0x0004dc08 lw t0, 8(v0) | t0 = *((v0 + 2));
0x0004dc0c lw v0, 0xdc(sp) | v0 = *(arg_dch);
0x0004dc10 lw v1, (s2) | v1 = *(s2);
0x0004dc14 sw s3, 0xc0(sp) | *(var_c0h) = s3;
0x0004dc18 move s3, a3 | s3 = a3;
0x0004dc1c addiu a3, zero, 2 | a3 = 2;
| if (v0 == 0) {
0x0004dc20 movn a3, t1, v0 | a3 = t1;
| }
0x0004dc24 lw v0, -0x7a1c(gp) | v0 = *(gp);
0x0004dc28 sw v1, 0xac(sp) | *(var_ach) = v1;
0x0004dc2c lw v1, -0x7fac(gp) | v1 = *(gp);
0x0004dc30 addiu v0, v0, -0x2464 | v0 += -0x2464;
0x0004dc34 sw s1, 0xb8(sp) | *(var_b8h) = s1;
0x0004dc38 lw s1, 0xd8(sp) | s1 = *(arg_d8h);
0x0004dc3c sw gp, 0x10(sp) | *(var_10h) = gp;
| /* str.Include_IncludeOptional:_ */
0x0004dc40 addiu v1, v1, 0x8fc | v1 += 0x8fc;
0x0004dc44 sw v0, 0x30(sp) | *(var_30h) = v0;
0x0004dc48 addiu v0, sp, 0x1c | v0 = sp + 0x1c;
0x0004dc4c sw s0, 0xb4(sp) | *(var_b4h) = s0;
0x0004dc50 sw ra, 0xc4(sp) | *(var_c4h) = ra;
0x0004dc54 move s0, a1 | s0 = a1;
0x0004dc58 sw a0, 0x1c(sp) | *(var_1ch) = a0;
0x0004dc5c sw a2, 0x20(sp) | *(var_20h) = a2;
0x0004dc60 sw v1, 0x2c(sp) | *(var_2ch) = v1;
0x0004dc64 sw s3, 0x24(sp) | *(var_24h) = s3;
0x0004dc68 sw s1, 0x28(sp) | *(var_28h) = s1;
0x0004dc6c sw a3, 0x38(sp) | *(var_38h) = a3;
0x0004dc70 sw v0, 0x34(sp) | *(var_34h) = v0;
0x0004dc74 sw zero, 0x3c(sp) | *(var_3ch) = 0;
| if (t0 != 0) {
0x0004dc78 bnez t0, 0x4dd14 | goto label_2;
| }
0x0004dc7c lw v0, -0x7f88(gp) | v0 = *(gp);
0x0004dc80 lw v0, (v0) | v0 = *(v0);
0x0004dc84 lw v0, 8(v0) | v0 = *((v0 + 2));
0x0004dc88 lw a1, -0x7fac(gp) | a1 = *(gp);
0x0004dc8c bnez v0, 0x4dd18 |
| while (v0 != 0) {
| label_0:
0x0004dc90 lw t9, -0x7604(gp) | t9 = sym.imp.apr_fnmatch_test;
0x0004dc94 move a0, s0 | a0 = s0;
0x0004dc98 jalr t9 | t9 ();
0x0004dc9c lw gp, 0x10(sp) | gp = *(var_10h);
| if (v0 == 0) {
0x0004dca0 beqz v0, 0x4dd6c | goto label_3;
| }
0x0004dca4 lw t9, -0x7518(gp) | t9 = *(gp);
0x0004dca8 move a3, s1 | a3 = s1;
0x0004dcac addiu a2, zero, 0x20 | a2 = 0x20;
0x0004dcb0 addiu a1, sp, 0x40 | a1 = sp + 0x40;
0x0004dcb4 addiu a0, sp, 0x18 | a0 = sp + 0x18;
0x0004dcb8 sw s0, 0x40(sp) | *(var_40h_2) = s0;
0x0004dcbc jalr t9 | t9 ();
0x0004dcc0 addiu v1, zero, 0x4e35 | v1 = 0x4e35;
0x0004dcc4 lw gp, 0x10(sp) | gp = *(var_10h);
| if (v0 == v1) {
0x0004dcc8 beq v0, v1, 0x4dda8 | goto label_4;
| }
0x0004dccc addiu v1, zero, 0x4e38 | v1 = 0x4e38;
0x0004dcd0 lw t9, -0x7e7c(gp) | t9 = sym.ap_dir_fnmatch;
| if (v0 == v1) {
0x0004dcd4 beq v0, v1, 0x4dd84 | goto label_5;
| }
0x0004dcd8 lw a2, 0x40(sp) | a2 = *(var_40h_2);
0x0004dcdc lw a1, 0x18(sp) | a1 = *(var_18h_3);
0x0004dce0 addiu a0, sp, 0x24 | a0 = sp + 0x24;
0x0004dce4 jalr t9 | t9 ();
0x0004dce8 lw gp, 0x10(sp) | gp = *(var_10h);
| label_1:
0x0004dcec lw a0, 0xac(sp) | a0 = *(var_ach);
0x0004dcf0 lw v1, (s2) | v1 = *(s2);
0x0004dcf4 lw ra, 0xc4(sp) | ra = *(var_c4h);
| if (a0 != v1) {
0x0004dcf8 bne a0, v1, 0x4ddcc | goto label_6;
| }
0x0004dcfc lw s3, 0xc0(sp) | s3 = *(var_c0h);
0x0004dd00 lw s2, 0xbc(sp) | s2 = *(var_bch);
0x0004dd04 lw s1, 0xb8(sp) | s1 = *(var_b8h);
0x0004dd08 lw s0, 0xb4(sp) | s0 = *(var_b4h);
0x0004dd0c addiu sp, sp, 0xc8 |
0x0004dd10 jr ra | return v0;
| label_2:
0x0004dd14 lw a1, -0x7fac(gp) | a1 = *(gp);
0x0004dd18 lw t9, -0x7e50(gp) | t9 = sym.ap_server_root_relative;
| /* str._run_apache2_httpd.conf */
0x0004dd1c addiu a1, a1, -0x7f2c | a1 += -0x7f2c;
0x0004dd20 move a0, s1 | a0 = s1;
0x0004dd24 bal 0x4d3e0 | sym_ap_server_root_relative ();
0x0004dd28 lw gp, 0x10(sp) | gp = *(var_10h);
0x0004dd2c move a1, v0 | a1 = v0;
0x0004dd30 lw t9, -0x7740(gp) | t9 = sym.imp.strcmp;
0x0004dd34 move a0, s0 | a0 = s0;
0x0004dd38 jalr t9 | t9 ();
0x0004dd3c lw gp, 0x10(sp) | gp = *(var_10h);
0x0004dd40 bnez v0, 0x4dc90 |
| }
0x0004dd44 lw t9, -0x7250(gp) | t9 = sym.imp.apr_stat;
0x0004dd48 move a3, s1 | a3 = s1;
0x0004dd4c ori a2, zero, 0x8001 | a2 = 0x8001;
0x0004dd50 move a1, s0 | a1 = s0;
0x0004dd54 addiu a0, sp, 0x40 | a0 = sp + 0x40;
0x0004dd58 jalr t9 | t9 ();
0x0004dd5c lw gp, 0x10(sp) | gp = *(var_10h);
| if (v0 == 0) {
0x0004dd60 beqz v0, 0x4dc90 | goto label_0;
| }
0x0004dd64 move v0, zero | v0 = 0;
0x0004dd68 b 0x4dcec | goto label_1;
| label_3:
0x0004dd6c lw t9, -0x7e80(gp) | t9 = sym.ap_dir_nofnmatch;
0x0004dd70 move a1, s0 | a1 = s0;
0x0004dd74 addiu a0, sp, 0x24 | a0 = sp + 0x24;
0x0004dd78 jalr t9 | t9 ();
0x0004dd7c lw gp, 0x10(sp) | gp = *(var_10h);
0x0004dd80 b 0x4dcec | goto label_1;
| label_5:
0x0004dd84 lw a1, -0x7fac(gp) | a1 = *(gp);
0x0004dd88 lw t9, -0x76e8(gp) | t9 = sym.imp.apr_pstrcat
0x0004dd8c move a3, zero | a3 = 0;
0x0004dd90 move a2, s0 | a2 = s0;
| /* str.Include_has_a_bad_path__ */
0x0004dd94 addiu a1, a1, 0x940 | a1 += 0x940;
0x0004dd98 move a0, s3 | a0 = s3;
0x0004dd9c jalr t9 | t9 ();
0x0004dda0 lw gp, 0x10(sp) | gp = *(var_10h);
0x0004dda4 b 0x4dcec | goto label_1;
| label_4:
0x0004dda8 lw a1, -0x7fac(gp) | a1 = *(gp);
0x0004ddac lw t9, -0x76e8(gp) | t9 = sym.imp.apr_pstrcat
0x0004ddb0 move a3, zero | a3 = 0;
0x0004ddb4 move a2, s0 | a2 = s0;
| /* str.Include_must_have_an_absolute_path__ */
0x0004ddb8 addiu a1, a1, 0x918 | a1 += 0x918;
0x0004ddbc move a0, s3 | a0 = s3;
0x0004ddc0 jalr t9 | t9 ();
0x0004ddc4 lw gp, 0x10(sp) | gp = *(var_10h);
0x0004ddc8 b 0x4dcec | goto label_1;
| label_6:
0x0004ddcc lw t9, -0x75e8(gp) | t9 = sym.imp.__stack_chk_fail;
0x0004ddd0 jalr t9 | t9 ();
0x0004ddd4 nop |
| }
; assembly | /* r2dec pseudo code output */
| /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/sbin/httpd @ 0x3acac */
| #include <stdint.h>
|
; (fcn) sym.ap_psignature () | void ap_psignature () {
0x0003acac lui gp, 7 |
0x0003acb0 addiu gp, gp, -0x7d8c |
0x0003acb4 addu gp, gp, t9 | gp += t9;
0x0003acb8 addiu sp, sp, -0x80 |
0x0003acbc lw v1, 0x100(a1) | v1 = *(a1);
0x0003acc0 sw s1, 0x60(sp) | *(var_60h) = s1;
0x0003acc4 lw s1, -0x7534(gp) | s1 = *(gp);
0x0003acc8 sw s2, 0x64(sp) | *(var_64h) = s2;
0x0003accc lw s2, (v1) | s2 = *(v1);
0x0003acd0 lw v0, (s1) | v0 = *(s1);
0x0003acd4 sw gp, 0x38(sp) | *(var_38h) = gp;
0x0003acd8 sw v0, 0x54(sp) | *(var_54h) = v0;
0x0003acdc lw v0, 0x2c(s2) | v0 = *((s2 + 11));
0x0003ace0 sw ra, 0x7c(sp) | *(var_7ch) = ra;
0x0003ace4 sltiu v0, v0, 2 | v0 = (v0 < 2) ? 1 : 0;
0x0003ace8 sw s7, 0x78(sp) | *(var_78h) = s7;
0x0003acec sw s6, 0x74(sp) | *(var_74h) = s6;
0x0003acf0 sw s5, 0x70(sp) | *(var_70h) = s5;
0x0003acf4 sw s4, 0x6c(sp) | *(var_6ch) = s4;
0x0003acf8 sw s3, 0x68(sp) | *(var_68h) = s3;
0x0003acfc sw s0, 0x5c(sp) | *(var_5ch) = s0;
0x0003ad00 lw t9, -0x7bd0(gp) | t9 = sym.ap_get_server_port;
| if (v0 != 0) {
0x0003ad04 bnez v0, 0x3ae10 | goto label_3;
| }
0x0003ad08 move s3, a0 | s3 = a0;
0x0003ad0c move a0, a1 | a0 = a1;
0x0003ad10 move s0, a1 | s0 = a1;
0x0003ad14 bal 0x373d0 | sym_ap_get_server_port ();
0x0003ad18 lw gp, 0x38(sp) | gp = *(var_38h);
0x0003ad1c addiu s5, sp, 0x40 | s5 = sp + 0x40;
0x0003ad20 move a3, v0 | a3 = v0;
0x0003ad24 lw a2, -0x7fac(gp) | a2 = *(gp);
0x0003ad28 lw t9, -0x7568(gp) | t9 = sym.imp.apr_snprintf;
| /* esilref: '&u' */
0x0003ad2c addiu a2, a2, -0x3f20 | a2 += -0x3f20;
0x0003ad30 addiu a1, zero, 0x14 | a1 = 0x14;
0x0003ad34 move a0, s5 | a0 = s5;
0x0003ad38 jalr t9 | t9 ();
0x0003ad3c lw v1, 0x2c(s2) | v1 = *((s2 + 11));
0x0003ad40 addiu v0, zero, 3 | v0 = 3;
0x0003ad44 lw gp, 0x38(sp) | gp = *(var_38h);
0x0003ad48 lw s2, (s0) | s2 = *(s0);
| if (v1 == v0) {
0x0003ad4c beq v1, v0, 0x3ae1c | goto label_4;
| }
0x0003ad50 lw v0, -0x7f14(gp) | v0 = *((gp - 8133));
0x0003ad54 lw s4, -0x3d60(v0) | s4 = *((v0 - 3928));
| if (s4 == 0) {
0x0003ad58 beql s4, zero, 0x3af00 | goto label_5;
| }
0x0003ad5c lw s4, -0x7fac(gp) | s4 = *(gp);
| label_1:
0x0003ad60 lw t9, -0x7bd4(gp) | t9 = sym.ap_get_server_name;
0x0003ad64 move a0, s0 | a0 = s0;
0x0003ad68 bal 0x37200 | sym_ap_get_server_name ();
0x0003ad6c lw gp, 0x38(sp) | gp = *(var_38h);
0x0003ad70 move a2, zero | a2 = 0;
0x0003ad74 move a1, v0 | a1 = v0;
0x0003ad78 lw t9, -0x7b94(gp) | t9 = sym.ap_escape_html2;
0x0003ad7c move a0, s2 | a0 = s2;
0x0003ad80 bal 0x1e334 | sym_ap_escape_html2 ();
0x0003ad84 lw gp, 0x38(sp) | gp = *(var_38h);
0x0003ad88 sw v0, 0x14(sp) | *(var_14h) = v0;
0x0003ad8c sw zero, 0x24(sp) | *(var_24h) = 0;
0x0003ad90 lw v1, -0x7fac(gp) | v1 = *(gp);
0x0003ad94 lw v0, -0x7fac(gp) | v0 = *(gp);
| /* str.__address__n */
0x0003ad98 addiu v1, v1, -0x3284 | v1 += -0x3284;
0x0003ad9c sw v1, 0x20(sp) | *(var_20h) = v1;
0x0003ada0 lw v1, -0x7fac(gp) | v1 = *(gp);
0x0003ada4 lw a2, -0x7fac(gp) | a2 = *(gp);
0x0003ada8 lw t9, -0x76e8(gp) | t9 = sym.imp.apr_pstrcat
| /* esilref: ' Port ' */
0x0003adac addiu v1, v1, -0x3274 | v1 += -0x3274;
| /* str._Server_at_ */
0x0003adb0 addiu v0, v0, -0x3250 | v0 += -0x3250;
0x0003adb4 sw s5, 0x1c(sp) | *(var_1ch) = s5;
0x0003adb8 sw v1, 0x18(sp) | *(var_18h) = v1;
0x0003adbc sw v0, 0x10(sp) | *(var_10h) = v0;
0x0003adc0 move a3, s4 | a3 = s4;
| /* str._address_ */
0x0003adc4 addiu a2, a2, -0x3290 | a2 += -0x3290;
0x0003adc8 move a1, s3 | a1 = s3;
0x0003adcc move a0, s2 | a0 = s2;
0x0003add0 jalr t9 | t9 ();
0x0003add4 lw gp, 0x38(sp) | gp = *(var_38h);
| do {
| label_0:
0x0003add8 lw a0, 0x54(sp) | a0 = *(var_54h);
0x0003addc lw v1, (s1) | v1 = *(s1);
0x0003ade0 lw ra, 0x7c(sp) | ra = *(var_7ch);
| if (a0 != v1) {
0x0003ade4 bne a0, v1, 0x3af1c | goto label_6;
| }
0x0003ade8 lw s7, 0x78(sp) | s7 = *(var_78h);
0x0003adec lw s6, 0x74(sp) | s6 = *(var_74h);
0x0003adf0 lw s5, 0x70(sp) | s5 = *(var_70h);
0x0003adf4 lw s4, 0x6c(sp) | s4 = *(var_6ch);
0x0003adf8 lw s3, 0x68(sp) | s3 = *(var_68h);
0x0003adfc lw s2, 0x64(sp) | s2 = *(var_64h);
0x0003ae00 lw s1, 0x60(sp) | s1 = *(var_60h);
0x0003ae04 lw s0, 0x5c(sp) | s0 = *(var_5ch);
0x0003ae08 addiu sp, sp, 0x80 |
0x0003ae0c jr ra | return v0;
| label_3:
0x0003ae10 lw v0, -0x7fac(gp) | v0 = *(gp);
0x0003ae14 addiu v0, v0, 0x47dc | v0 += 0x47dc;
0x0003ae18 b 0x3add8 |
| } while (1);
| label_4:
0x0003ae1c lw v0, -0x7f14(gp) | v0 = *((gp - 8133));
0x0003ae20 lw s4, -0x3d60(v0) | s4 = *((v0 - 3928));
| if (s4 == 0) {
0x0003ae24 beql s4, zero, 0x3af14 | goto label_7;
| }
0x0003ae28 lw s4, -0x7fac(gp) | s4 = *(gp);
| label_2:
0x0003ae2c lw v0, 8(s0) | v0 = *((s0 + 2));
0x0003ae30 lw t9, -0x7ca8(gp) | t9 = sym.ap_is_url;
0x0003ae34 lw a0, 0x30(v0) | a0 = *((v0 + 12));
0x0003ae38 bal 0x1ece4 | sym_ap_is_url ();
0x0003ae3c lw gp, 0x38(sp) | gp = *(var_38h);
| if (v0 != 0) {
0x0003ae40 bnez v0, 0x3af08 | goto label_8;
| }
0x0003ae44 lw s6, -0x7fac(gp) | s6 = *(gp);
| /* str.mailto: */
0x0003ae48 addiu s6, s6, -0x3298 | s6 += -0x3298;
| do {
0x0003ae4c lw v0, 8(s0) | v0 = *((s0 + 2));
0x0003ae50 lw t9, -0x7b94(gp) | t9 = sym.ap_escape_html2;
0x0003ae54 lw a0, (s0) | a0 = *(s0);
0x0003ae58 lw a1, 0x30(v0) | a1 = *((v0 + 12));
0x0003ae5c move a2, zero | a2 = 0;
0x0003ae60 bal 0x1e334 | sym_ap_escape_html2 ();
0x0003ae64 lw gp, 0x38(sp) | gp = *(var_38h);
0x0003ae68 move a0, s0 | a0 = s0;
0x0003ae6c lw s7, (s0) | s7 = *(s0);
0x0003ae70 lw t9, -0x7bd4(gp) | t9 = sym.ap_get_server_name;
0x0003ae74 move s0, v0 | s0 = v0;
0x0003ae78 bal 0x37200 | sym_ap_get_server_name ();
0x0003ae7c lw gp, 0x38(sp) | gp = *(var_38h);
0x0003ae80 move a2, zero | a2 = 0;
0x0003ae84 move a1, v0 | a1 = v0;
0x0003ae88 lw t9, -0x7b94(gp) | t9 = sym.ap_escape_html2;
0x0003ae8c move a0, s7 | a0 = s7;
0x0003ae90 bal 0x1e334 | sym_ap_escape_html2 ();
0x0003ae94 lw gp, 0x38(sp) | gp = *(var_38h);
0x0003ae98 sw v0, 0x20(sp) | *(var_20h) = v0;
0x0003ae9c sw zero, 0x30(sp) | *(var_30h) = 0;
0x0003aea0 lw v1, -0x7fac(gp) | v1 = *(gp);
0x0003aea4 lw v0, -0x7fac(gp) | v0 = *(gp);
| /* str.__address__n */
0x0003aea8 addiu v1, v1, -0x3284 | v1 += -0x3284;
| /* esilref: '">' */
0x0003aeac addiu v0, v0, -0x326c | v0 += -aav.0x0000326c;
0x0003aeb0 sw v1, 0x2c(sp) | *(var_2ch) = v1;
0x0003aeb4 sw v0, 0x1c(sp) | *(var_1ch) = v0;
0x0003aeb8 lw v1, -0x7fac(gp) | v1 = *(gp);
0x0003aebc lw v0, -0x7fac(gp) | v0 = *(gp);
0x0003aec0 lw a2, -0x7fac(gp) | a2 = *(gp);
0x0003aec4 lw t9, -0x76e8(gp) | t9 = sym.imp.apr_pstrcat
| /* str.__a__Port_ */
0x0003aec8 addiu v1, v1, -0x3278 | v1 += -0x3278;
| /* str._Server_at__a_href_ */
0x0003aecc addiu v0, v0, -0x3268 | v0 += -0x3268;
0x0003aed0 sw s5, 0x28(sp) | *(var_28h) = s5;
0x0003aed4 sw v1, 0x24(sp) | *(var_24h) = v1;
0x0003aed8 sw s0, 0x18(sp) | *(var_18h) = s0;
0x0003aedc sw s6, 0x14(sp) | *(var_14h) = s6;
0x0003aee0 sw v0, 0x10(sp) | *(var_10h) = v0;
0x0003aee4 move a3, s4 | a3 = s4;
| /* str._address_ */
0x0003aee8 addiu a2, a2, -0x3290 | a2 += -0x3290;
0x0003aeec move a1, s3 | a1 = s3;
0x0003aef0 move a0, s2 | a0 = s2;
0x0003aef4 jalr t9 | t9 ();
0x0003aef8 lw gp, 0x38(sp) | gp = *(var_38h);
0x0003aefc b 0x3add8 | goto label_0;
| /* str.Apache_2.4.57 */
| label_5:
0x0003af00 addiu s4, s4, -0x32a8 | s4 += -0x32a8;
0x0003af04 b 0x3ad60 | goto label_1;
| label_8:
0x0003af08 lw s6, -0x7fac(gp) | s6 = *(gp);
0x0003af0c addiu s6, s6, 0x47dc | s6 += 0x47dc;
0x0003af10 b 0x3ae4c |
| } while (1);
| /* str.Apache_2.4.57 */
| label_7:
0x0003af14 addiu s4, s4, -0x32a8 | s4 += -0x32a8;
0x0003af18 b 0x3ae2c | goto label_2;
| label_6:
0x0003af1c lw t9, -0x75e8(gp) | t9 = sym.imp.__stack_chk_fail;
0x0003af20 jalr t9 | t9 ();
0x0003af24 nop |
| }
; assembly | /* r2dec pseudo code output */
| /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/sbin/httpd @ 0x267f4 */
| #include <stdint.h>
|
; (fcn) sym.ap_regname () | void ap_regname () {
0x000267f4 lui gp, 8 |
0x000267f8 addiu gp, gp, -0x38d4 |
0x000267fc addu gp, gp, t9 | gp += t9;
0x00026800 addiu sp, sp, -0x48 |
0x00026804 lw t9, -0x7510(gp) | t9 = sym.imp.pcre_fullinfo;
0x00026808 sw s6, 0x40(sp) | *(var_40h) = s6;
0x0002680c lw s6, -0x7534(gp) | s6 = *(gp);
0x00026810 sw s1, 0x2c(sp) | *(var_2ch) = s1;
0x00026814 move s1, a0 | s1 = a0;
0x00026818 lw v0, (s6) | v0 = *(s6);
0x0002681c lw a0, (a0) | a0 = *(a0);
0x00026820 sw ra, 0x44(sp) | *(var_44h) = ra;
0x00026824 sw gp, 0x10(sp) | *(var_10h) = gp;
0x00026828 sw s5, 0x3c(sp) | *(var_3ch) = s5;
0x0002682c sw s4, 0x38(sp) | *(var_38h) = s4;
0x00026830 sw s0, 0x28(sp) | *(var_28h) = s0;
0x00026834 sw s3, 0x34(sp) | *(var_34h) = s3;
0x00026838 sw s2, 0x30(sp) | *(var_30h) = s2;
0x0002683c move s0, a1 | s0 = a1;
0x00026840 move s4, a2 | s4 = a2;
0x00026844 move a1, zero | a1 = 0;
0x00026848 addiu a2, zero, 8 | a2 = 8;
0x0002684c move s5, a3 | s5 = a3;
0x00026850 sw v0, 0x24(sp) | *(var_24h) = v0;
0x00026854 addiu a3, sp, 0x1c | a3 = sp + 0x1c;
0x00026858 jalr t9 | t9 ();
0x0002685c lw gp, 0x10(sp) | gp = *(var_10h);
0x00026860 lw a0, (s1) | a0 = *(s1);
0x00026864 addiu a3, sp, 0x20 | a3 = sp + 0x20;
0x00026868 lw t9, -0x7510(gp) | t9 = sym.imp.pcre_fullinfo;
0x0002686c addiu a2, zero, 7 | a2 = 7;
0x00026870 move a1, zero | a1 = 0;
0x00026874 jalr t9 | t9 ();
0x00026878 lw gp, 0x10(sp) | gp = *(var_10h);
0x0002687c lw a0, (s1) | a0 = *(s1);
0x00026880 addiu a3, sp, 0x18 | a3 = sp + 0x18;
0x00026884 lw t9, -0x7510(gp) | t9 = sym.imp.pcre_fullinfo;
0x00026888 addiu a2, zero, 9 | a2 = 9;
0x0002688c move a1, zero | a1 = 0;
0x00026890 jalr t9 | t9 ();
0x00026894 lw v0, 0x1c(sp) | v0 = *(var_1ch);
0x00026898 lw gp, 0x10(sp) | gp = *(var_10h);
| if (v0 <= 0) {
0x0002689c blez v0, 0x26948 | goto label_3;
| }
0x000268a0 move s3, zero | s3 = 0;
0x000268a4 lw s2, 0x20(sp) | s2 = *(var_20h);
| label_0:
0x000268a8 lw a1, 0x18(sp) | a1 = *(var_18h);
0x000268ac mul v1, s3, s2 | __asm ("mul v1, s3, s2");
0x000268b0 lw v0, 8(s0) | v0 = *((s0 + 2));
0x000268b4 addu s2, v1, a1 | s2 = v1 + a1;
0x000268b8 lb s1, (s2) | s1 = *(s2);
0x000268bc lb v1, 1(s2) | v1 = *((s2 + 1));
0x000268c0 sll s1, s1, 8 | s1 <<= 8;
0x000268c4 addu s1, s1, v1 | s1 += v1;
0x000268c8 slt v0, s1, v0 | v0 = (s1 < v0) ? 1 : 0;
0x000268cc sll s1, s1, 2 | s1 <<= 2;
| if (v0 == 0) {
0x000268d0 bnel v0, zero, 0x268f4 | goto label_4;
| }
| do {
0x000268d4 lw t9, -0x7324(gp) | t9 = sym.imp.apr_array_push;
0x000268d8 move a0, s0 | a0 = s0;
0x000268dc jalr t9 | t9 ();
0x000268e0 lw v0, 8(s0) | v0 = *((s0 + 2));
0x000268e4 slt v0, s1, v0 | v0 = (s1 < v0) ? 1 : 0;
0x000268e8 lw gp, 0x10(sp) | gp = *(var_10h);
0x000268ec beqz v0, 0x268d4 |
| } while (v0 == 0);
0x000268f0 sll s1, s1, 2 | s1 <<= 2;
| label_4:
0x000268f4 addiu a2, s2, 2 | a2 = s2 + 2;
| if (s5 == 0) {
0x000268f8 beqz s5, 0x2697c | goto label_5;
| }
0x000268fc lw a0, (s0) | a0 = *(s0);
| if (s4 == 0) {
0x00026900 beqz s4, 0x269a8 | goto label_6;
| }
0x00026904 lw t9, -0x76e8(gp) | t9 = sym.imp.apr_pstrcat
0x00026908 move a3, zero | a3 = 0;
0x0002690c move a1, s4 | a1 = s4;
0x00026910 jalr t9 | t9 ();
0x00026914 lw v1, 0x10(s0) | v1 = *((s0 + 4));
0x00026918 lw gp, 0x10(sp) | gp = *(var_10h);
0x0002691c addu s1, v1, s1 | s1 = v1 + s1;
0x00026920 sw v0, (s1) | *(s1) = v0;
| label_2:
0x00026924 lw t9, -0x7e1c(gp) | t9 = sym.ap_str_toupper;
0x00026928 move a0, v0 | a0 = v0;
0x0002692c bal 0x1eea4 | sym_ap_str_toupper ();
0x00026930 lw gp, 0x10(sp) | gp = *(var_10h);
| label_1:
0x00026934 lw v0, 0x1c(sp) | v0 = *(var_1ch);
0x00026938 addiu s3, s3, 1 | s3++;
0x0002693c slt v1, s3, v0 | v1 = (s3 < v0) ? 1 : 0;
0x00026940 lw s2, 0x20(sp) | s2 = *(var_20h);
| if (v1 == 0) {
0x00026944 bnel v1, zero, 0x268a8 | goto label_0;
| }
| label_3:
0x00026948 lw a0, 0x24(sp) | a0 = *(var_24h);
0x0002694c lw v1, (s6) | v1 = *(s6);
0x00026950 lw ra, 0x44(sp) | ra = *(var_44h);
| if (a0 == v1) {
0x00026954 bne a0, v1, 0x269d8 |
0x00026958 lw s6, 0x40(sp) | s6 = *(var_40h);
0x0002695c lw s5, 0x3c(sp) | s5 = *(var_3ch);
0x00026960 lw s4, 0x38(sp) | s4 = *(var_38h);
0x00026964 lw s3, 0x34(sp) | s3 = *(var_34h);
0x00026968 lw s2, 0x30(sp) | s2 = *(var_30h);
0x0002696c lw s1, 0x2c(sp) | s1 = *(var_2ch);
0x00026970 lw s0, 0x28(sp) | s0 = *(var_28h);
0x00026974 addiu sp, sp, 0x48 |
0x00026978 jr ra | return v0;
| label_5:
0x0002697c lw t9, -0x76e8(gp) | t9 = sym.imp.apr_pstrcat
| if (s4 != 0) {
0x00026980 beqz s4, 0x269c8 |
0x00026984 lw a0, (s0) | a0 = *(s0);
0x00026988 move a3, zero | a3 = 0;
0x0002698c move a1, s4 | a1 = s4;
0x00026990 jalr t9 | t9 ();
0x00026994 lw v1, 0x10(s0) | v1 = *((s0 + 4));
0x00026998 lw gp, 0x10(sp) | gp = *(var_10h);
0x0002699c addu s1, v1, s1 | s1 = v1 + s1;
0x000269a0 sw v0, (s1) | *(s1) = v0;
0x000269a4 b 0x26934 | goto label_1;
| label_6:
0x000269a8 lw t9, -0x7654(gp) | t9 = sym.imp.apr_pstrdup;
0x000269ac move a1, a2 | a1 = a2;
0x000269b0 jalr t9 | t9 ();
0x000269b4 lw v1, 0x10(s0) | v1 = *((s0 + 4));
0x000269b8 lw gp, 0x10(sp) | gp = *(var_10h);
0x000269bc addu s1, v1, s1 | s1 = v1 + s1;
0x000269c0 sw v0, (s1) | *(s1) = v0;
0x000269c4 b 0x26924 | goto label_2;
| }
0x000269c8 lw v0, 0x10(s0) | v0 = *((s0 + 4));
0x000269cc addu s1, v0, s1 | s1 = v0 + s1;
0x000269d0 sw a2, (s1) | *(s1) = a2;
0x000269d4 b 0x26934 | goto label_1;
| }
0x000269d8 lw t9, -0x75e8(gp) | t9 = sym.imp.__stack_chk_fail;
0x000269dc jalr t9 | t9 ();
0x000269e0 nop |
0x000269e4 nop |
0x000269e8 nop |
0x000269ec nop |
| }
; assembly | /* r2dec pseudo code output */
| /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/sbin/httpd @ 0x694fc */
| #include <stdint.h>
|
; (fcn) sym.ap_send_error_response () | void ap_send_error_response () {
0x000694fc lui gp, 4 |
0x00069500 addiu gp, gp, -0x65dc |
0x00069504 addu gp, gp, t9 | gp += t9;
0x00069508 addiu sp, sp, -0x60 |
0x0006950c sw s4, 0x48(sp) | *(var_48h) = s4;
0x00069510 lw s4, -0x7534(gp) | s4 = *(gp);
0x00069514 sw s1, 0x3c(sp) | *(var_3ch) = s1;
0x00069518 lw s1, 0x44(a0) | s1 = *((a0 + 17));
0x0006951c lw v1, (s4) | v1 = *(s4);
0x00069520 addiu v0, s1, -0x64 | v0 = s1 + -0x64;
0x00069524 sw gp, 0x20(sp) | *(var_20h) = gp;
0x00069528 sltiu v0, v0, 0x384 | v0 = (v0 < aav.0x00000384) ? 1 : 0;
0x0006952c sw s0, 0x38(sp) | *(var_38h) = s0;
0x00069530 sw ra, 0x5c(sp) | *(var_5ch) = ra;
0x00069534 sw fp, 0x58(sp) | *(var_58h) = fp;
0x00069538 sw s7, 0x54(sp) | *(var_54h) = s7;
0x0006953c sw s6, 0x50(sp) | *(var_50h) = s6;
0x00069540 sw s5, 0x4c(sp) | *(var_4ch) = s5;
0x00069544 sw s3, 0x44(sp) | *(var_44h) = s3;
0x00069548 sw s2, 0x40(sp) | *(var_40h) = s2;
0x0006954c move s0, a0 | s0 = a0;
0x00069550 sw a1, 0x64(sp) | *(arg_64h) = a1;
0x00069554 sw v1, 0x34(sp) | *(var_34h) = v1;
0x00069558 lw t9, -0x7944(gp) | t9 = *(gp);
| if (v0 == 0) {
0x0006955c beqz v0, 0x6981c | goto label_10;
| }
| /* fcn.000673ac */
0x00069560 addiu t9, t9, 0x73ac | t9 += aav.0x000073ac;
0x00069564 move a0, s1 | a0 = s1;
0x00069568 bal 0x673ac | fcn_000673ac ();
0x0006956c move s3, v0 | s3 = v0;
0x00069570 lw gp, 0x20(sp) | gp = *(var_20h);
| if (v0 < 0) {
0x00069574 bltz v0, 0x6981c | goto label_10;
| }
| label_0:
0x00069578 lw s6, -0x7fac(gp) | s6 = *(gp);
0x0006957c lw s2, -0x7f14(gp) | s2 = *((gp - 8133));
0x00069580 lw t9, -0x7668(gp) | t9 = sym.imp.apr_table_get;
0x00069584 lw a0, 0xb4(s0) | a0 = *((s0 + 45));
| /* esilref: 'Location' */
0x00069588 addiu a1, s6, -0x58e8 | a1 = s6 + -0x58e8;
0x0006958c jalr t9 | t9 ();
0x00069590 lw a0, 0x11c(s0) | a0 = *(s0);
0x00069594 lw v1, -0x337c(s2) | v1 = *((s2 - 3295));
0x00069598 lw gp, 0x20(sp) | gp = *(var_20h);
0x0006959c move s5, v0 | s5 = v0;
0x000695a0 sw zero, 0xfc(s0) | *((s0 + 63)) = 0;
0x000695a4 sw a0, 0x114(s0) | *(s0) = a0;
| if (v1 == 0) {
0x000695a8 beqz v1, 0x695e4 | goto label_11;
| }
0x000695ac lw v0, 8(v1) | v0 = *((v1 + 2));
0x000695b0 lw fp, 0x10(v1) | fp = *((v1 + 4));
| if (v0 <= 0) {
0x000695b4 blez v0, 0x695e4 | goto label_11;
| }
0x000695b8 move s7, zero | s7 = 0;
| do {
0x000695bc lw t9, (fp) | t9 = *(fp);
0x000695c0 move a0, s0 | a0 = s0;
0x000695c4 jalr t9 | t9 ();
0x000695c8 lw v0, -0x337c(s2) | v0 = *((s2 - 3295));
0x000695cc addiu s7, s7, 1 | s7++;
0x000695d0 lw gp, 0x20(sp) | gp = *(var_20h);
0x000695d4 lw v0, 8(v0) | v0 = *((v0 + 2));
0x000695d8 slt v0, s7, v0 | v0 = (s7 < v0) ? 1 : 0;
0x000695dc addiu fp, fp, 0x14 | fp += 0x14;
0x000695e0 bnez v0, 0x695bc |
| } while (v0 != 0);
| label_11:
0x000695e4 addiu v0, zero, 0xcc | v0 = 0xcc;
0x000695e8 addiu v0, zero, 0x130 | v0 = aav.0x00000130;
| if (s1 == v0) {
0x000695ec beq s1, v0, 0x697b0 | goto label_12;
| }
0x000695f0 lw t9, -0x7834(gp) | t9 = sym.ap_finalize_request_protocol;
| if (s1 == v0) {
0x000695f4 beq s1, v0, 0x697b4 | goto label_13;
| }
0x000695f8 lw t9, -0x7668(gp) | t9 = sym.imp.apr_table_get;
| if (s5 == 0) {
0x000695fc beqz s5, 0x698f4 | goto label_14;
| }
| label_6:
0x00069600 lw v0, 0x1c(s0) | v0 = *((s0 + 7));
0x00069604 lw t9, -0x7830(gp) | t9 = sym.ap_response_code_string;
| if (v0 != 0) {
0x00069608 bnez v0, 0x696c4 | goto label_15;
| }
0x0006960c lw v0, 0xb8(s0) | v0 = *((s0 + 46));
0x00069610 lw a0, 0xb4(s0) | a0 = *((s0 + 45));
0x00069614 lw t9, -0x7414(gp) | t9 = sym.imp.apr_table_clear;
0x00069618 sw v0, 0xb4(s0) | *((s0 + 45)) = v0;
0x0006961c sw a0, 0xb8(s0) | *((s0 + 46)) = a0;
0x00069620 jalr t9 | t9 ();
0x00069624 addiu v0, s1, -0x12c | v0 = s1 + -aav.0x0000012c;
0x00069628 sltiu v0, v0, 0x64 | v0 = (v0 < 0x64) ? 1 : 0;
0x0006962c lw gp, 0x20(sp) | gp = *(var_20h);
| if (v0 != 0) {
0x00069630 bnez v0, 0x697fc | goto label_16;
| }
0x00069634 addiu v0, zero, 0xc9 | v0 = 0xc9;
| if (s1 == v0) {
0x00069638 beq s1, v0, 0x697fc | goto label_16;
| }
0x0006963c nop |
| do {
| label_4:
0x00069640 lw a1, -0x7fac(gp) | a1 = *(gp);
0x00069644 lw t9, -0x7668(gp) | t9 = sym.imp.apr_table_get;
0x00069648 move v0, zero | v0 = 0;
0x0006964c move v1, zero | v1 = 0;
0x00069650 lw a0, 0xbc(s0) | a0 = *((s0 + 47));
0x00069654 sw zero, 0xd0(s0) | *((s0 + 52)) = 0;
0x00069658 sw zero, 0xcc(s0) | *((s0 + 51)) = 0;
0x0006965c sw v0, 0x80(s0) | *((s0 + 32)) = v0;
0x00069660 sw v1, 0x84(s0) | *((s0 + 33)) = v1;
| /* str.suppress_error_charset */
0x00069664 addiu a1, a1, 0x6088 | a1 += 0x6088;
0x00069668 jalr t9 | t9 ();
0x0006966c lw gp, 0x20(sp) | gp = *(var_20h);
| if (v0 == 0) {
0x00069670 beqz v0, 0x6990c | goto label_17;
| }
0x00069674 lw v0, 0x104(s0) | v0 = *(s0);
0x00069678 lw a0, 0xc4(s0) | a0 = *((s0 + 49));
0x0006967c addiu v1, zero, 1 | v1 = 1;
0x00069680 lw v0, (v0) | v0 = *(v0);
0x00069684 lw s2, -0x7fac(gp) | s2 = *(gp);
0x00069688 sw v1, 0x1c(v0) | *((v0 + 7)) = v1;
| if (a0 == 0) {
0x0006968c beqz a0, 0x69898 | goto label_18;
| }
0x00069690 lw t9, -0x7740(gp) | t9 = sym.imp.strcmp;
| /* str.text_html */
0x00069694 addiu a1, s2, -0x5e30 | a1 = s2 + -0x5e30;
0x00069698 jalr t9 | t9 ();
0x0006969c lw gp, 0x20(sp) | gp = *(var_20h);
| if (v0 != 0) {
0x000696a0 bnez v0, 0x69898 | goto label_18;
| }
| label_3:
0x000696a4 addiu v0, zero, 0x195 | v0 = 0x195;
0x000696a8 addiu v0, zero, 0x1f5 | v0 = 0x1f5;
| if (s1 == v0) {
0x000696ac beq s1, v0, 0x698bc | goto label_19;
| }
0x000696b0 lw t9, -0x7944(gp) | t9 = *(gp);
| if (s1 == v0) {
0x000696b4 beq s1, v0, 0x698c0 | goto label_20;
| }
| label_5:
0x000696b8 lw v0, 0x24(s0) | v0 = *((s0 + 9));
0x000696bc lw t9, -0x7830(gp) | t9 = sym.ap_response_code_string;
| if (v0 == 0) {
0x000696c0 bnez v0, 0x697b0 |
| label_15:
0x000696c4 move a1, s3 | a1 = s3;
0x000696c8 move a0, s0 | a0 = s0;
0x000696cc jalr t9 | t9 ();
0x000696d0 lw gp, 0x20(sp) | gp = *(var_20h);
| if (v0 != 0) {
0x000696d4 beqz v0, 0x696e8 |
0x000696d8 lb a0, (v0) | a0 = *(v0);
0x000696dc addiu v1, zero, 0x22 | v1 = 0x22;
0x000696e0 lw t9, -0x74c4(gp) | t9 = sym.imp.strlen;
| if (a0 == v1) {
0x000696e4 beq a0, v1, 0x69784 | goto label_21;
| }
| }
0x000696e8 lw s2, -0x7f14(gp) | s2 = *((gp - 8133));
0x000696ec sll s3, s3, 2 | s3 <<= 2;
| /* esilref: '100 Continue' */
0x000696f0 addiu s2, s2, -0x6b60 | s2 += -0x6b60;
0x000696f4 lw s6, 0x40(s0) | s6 = *((s0 + 16));
0x000696f8 lwx s3, s3(s2) | __asm ("lwx s3, s3(s2)");
| if (s6 != 0) {
0x000696fc beqz s6, 0x6971c |
0x00069700 lw t9, -0x74c4(gp) | t9 = sym.imp.strlen;
0x00069704 move a0, s6 | a0 = s6;
0x00069708 jalr t9 | t9 ();
0x0006970c move fp, v0 | fp = v0;
0x00069710 sltiu v0, v0, 3 | v0 = (v0 < 3) ? 1 : 0;
0x00069714 lw gp, 0x20(sp) | gp = *(var_20h);
| if (v0 == 0) {
0x00069718 beqz v0, 0x69824 | goto label_22;
| }
| }
| label_1:
0x0006971c lw v0, -0x7fac(gp) | v0 = *(gp);
| label_2:
0x00069720 lw a3, -0x7fac(gp) | a3 = *(gp);
0x00069724 lw a1, -0x7fac(gp) | a1 = *(gp);
0x00069728 lw t9, -0x782c(gp) | t9 = sym.ap_rvputs;
0x0006972c addiu v1, s3, 4 | v1 = s3 + 4;
| /* str.__h1__n */
0x00069730 addiu v0, v0, 0x6144 | v0 += aav.0x00006144;
0x00069734 move a2, s3 | a2 = s3;
0x00069738 sw zero, 0x18(sp) | *(var_18h_2) = 0;
0x0006973c sw v0, 0x14(sp) | *(var_14h) = v0;
0x00069740 sw v1, 0x10(sp) | *(var_10h_2) = v1;
| /* str.__title__n__head__body__n_h1_ */
0x00069744 addiu a3, a3, 0x60e0 | a3 += 0x60e0;
| /* str.__DOCTYPE_HTML_PUBLIC_____IETF__DTD_HTML_2.0__EN___n_html__head__n_title_ */
0x00069748 addiu a1, a1, 0x60fc | a1 += 0x60fc;
0x0006974c move a0, s0 | a0 = s0;
0x00069750 addiu s1, s1, -0x12c | s1 += -aav.0x0000012c;
0x00069754 jalr t9 | t9 ();
0x00069758 sltiu v0, s1, 0xd4 | v0 = (s1 < 0xd4) ? 1 : 0;
0x0006975c lw gp, 0x20(sp) | gp = *(var_20h);
0x00069760 lw s3, (s0) | s3 = *(s0);
| if (v0 == 0) {
0x00069764 beqz v0, 0x69e44 | goto label_23;
| }
0x00069768 lw v0, -0x7fac(gp) | v0 = *(gp);
0x0006976c sll s1, s1, 2 | s1 <<= 2;
0x00069770 addiu v0, v0, 0x6d90 | v0 += 0x6d90;
0x00069774 lwx v0, s1(v0) | __asm ("lwx v0, s1(v0)");
0x00069778 addu v0, v0, gp | v0 += gp;
0x0006977c jr v0 | v0 ();
0x00069780 nop |
| label_21:
0x00069784 addiu s1, v0, 1 | s1 = v0 + 1;
0x00069788 move a0, s1 | a0 = s1;
0x0006978c jalr t9 | t9 ();
0x00069790 lw gp, 0x20(sp) | gp = *(var_20h);
0x00069794 move a2, s0 | a2 = s0;
0x00069798 move a1, v0 | a1 = v0;
0x0006979c lw t9, -0x7828(gp) | t9 = sym.ap_rwrite;
0x000697a0 move a0, s1 | a0 = s1;
| label_7:
0x000697a4 jalr t9 | t9 ();
0x000697a8 nop |
0x000697ac lw gp, 0x20(sp) | gp = *(var_20h);
| }
| label_12:
0x000697b0 lw t9, -0x7834(gp) | t9 = sym.ap_finalize_request_protocol;
| label_13:
0x000697b4 move a0, s0 | a0 = s0;
0x000697b8 jalr t9 | t9 ();
0x000697bc lw v1, 0x34(sp) | v1 = *(var_34h);
0x000697c0 lw v0, (s4) | v0 = *(s4);
0x000697c4 lw gp, 0x20(sp) | gp = *(var_20h);
| if (v1 != v0) {
0x000697c8 bne v1, v0, 0x69fa0 | goto label_24;
| }
0x000697cc lw ra, 0x5c(sp) | ra = *(var_5ch);
0x000697d0 lw fp, 0x58(sp) | fp = *(var_58h);
0x000697d4 lw s7, 0x54(sp) | s7 = *(var_54h);
0x000697d8 lw s6, 0x50(sp) | s6 = *(var_50h);
0x000697dc lw s5, 0x4c(sp) | s5 = *(var_4ch);
0x000697e0 lw s4, 0x48(sp) | s4 = *(var_48h);
0x000697e4 lw s3, 0x44(sp) | s3 = *(var_44h);
0x000697e8 lw s2, 0x40(sp) | s2 = *(var_40h);
0x000697ec lw s1, 0x3c(sp) | s1 = *(var_3ch);
0x000697f0 lw s0, 0x38(sp) | s0 = *(var_38h);
0x000697f4 addiu sp, sp, 0x60 |
0x000697f8 jr ra | return v0;
| if (s5 != 0) {
| label_16:
0x000697fc beql s5, zero, 0x69814 |
0x00069800 lw s5, -0x7fac(gp) | s5 = *(gp);
0x00069804 lb v0, (s5) | v0 = *(s5);
0x00069808 lw t9, -0x7590(gp) | t9 = sym.imp.apr_table_setn;
| if (v0 != 0) {
0x0006980c bnez v0, 0x698a4 | goto label_25;
| }
0x00069810 lw s5, -0x7fac(gp) | s5 = *(gp);
| }
0x00069814 addiu s5, s5, 0x47dc | s5 += 0x47dc;
0x00069818 b 0x69640 |
| } while (1);
| label_10:
0x0006981c addiu s3, zero, 0x5b | s3 = 0x5b;
0x00069820 b 0x69578 | goto label_0;
| label_22:
0x00069824 lw t9, -0x7424(gp) | t9 = sym.imp.apr_strtoi64;
0x00069828 addiu a1, sp, 0x30 | a1 = sp + 0x30;
0x0006982c move a0, s6 | a0 = s6;
0x00069830 addiu a2, zero, 0xa | a2 = 0xa;
0x00069834 jalr t9 | t9 ();
0x00069838 lw a0, 0x44(s0) | a0 = *((s0 + 17));
0x0006983c lw gp, 0x20(sp) | gp = *(var_20h);
0x00069840 sra a1, a0, 0x1f | a1 = a0 >> 0x1f;
| if (v0 != a0) {
0x00069844 bne v0, a0, 0x6971c | goto label_1;
| }
0x00069848 lw v0, -0x7fac(gp) | v0 = *(gp);
| if (v1 != a1) {
0x0006984c bne v1, a1, 0x69720 | goto label_2;
| }
0x00069850 lw v0, 0x30(sp) | v0 = *(var_30h);
0x00069854 lw a1, 0x40(s0) | a1 = *((s0 + 16));
0x00069858 addiu v0, v0, -3 | v0 += -3;
0x0006985c lw v0, -0x7fac(gp) | v0 = *(gp);
| if (a1 != v0) {
0x00069860 bne a1, v0, 0x69720 | goto label_2;
| }
0x00069864 addiu v0, zero, 3 | v0 = 3;
0x00069868 lw t9, -0x744c(gp) | t9 = *(gp);
| if (fp != v0) {
0x0006986c bne fp, v0, 0x69f00 | goto label_26;
| }
0x00069870 lw a2, -0x7fac(gp) | a2 = *(gp);
0x00069874 lw t9, -0x76e8(gp) | t9 = sym.imp.apr_pstrcat
0x00069878 lw a0, (s0) | a0 = *(s0);
0x0006987c move a3, zero | a3 = 0;
| /* str._Unknown_Reason */
0x00069880 addiu a2, a2, 0x60c0 | a2 += 0x60c0;
0x00069884 jalr t9 | t9 ();
0x00069888 move s3, v0 | s3 = v0;
0x0006988c lw gp, 0x20(sp) | gp = *(var_20h);
0x00069890 sw v0, 0x40(s0) | *((s0 + 16)) = v0;
0x00069894 b 0x6971c | goto label_1;
| /* str.text_html */
| label_18:
0x00069898 addiu s2, s2, -0x5e30 | s2 += -0x5e30;
0x0006989c sw s2, 0xc4(s0) | *((s0 + 49)) = s2;
0x000698a0 b 0x696a4 | goto label_3;
| label_25:
0x000698a4 lw a0, 0xb4(s0) | a0 = *((s0 + 45));
0x000698a8 move a2, s5 | a2 = s5;
| /* esilref: 'Location' */
0x000698ac addiu a1, s6, -0x58e8 | a1 = s6 + -0x58e8;
0x000698b0 jalr t9 | t9 ();
0x000698b4 lw gp, 0x20(sp) | gp = *(var_20h);
0x000698b8 b 0x69640 | goto label_4;
| label_19:
0x000698bc lw t9, -0x7944(gp) | t9 = *(gp);
| label_20:
0x000698c0 move a0, s0 | a0 = s0;
| /* fcn.000671a0 */
0x000698c4 addiu t9, t9, 0x71a0 | t9 += 0x71a0;
0x000698c8 lw s2, 0xb4(s0) | s2 = *((s0 + 45));
0x000698cc bal 0x671a0 | fcn_000671a0 ();
0x000698d0 lw gp, 0x20(sp) | gp = *(var_20h);
0x000698d4 move a2, v0 | a2 = v0;
0x000698d8 move a0, s2 | a0 = s2;
0x000698dc lw a1, -0x7fac(gp) | a1 = *(gp);
0x000698e0 lw t9, -0x7590(gp) | t9 = sym.imp.apr_table_setn;
| /* str.Allow */
0x000698e4 addiu a1, a1, 0x5510 | a1 += 0x5510;
0x000698e8 jalr t9 | t9 ();
0x000698ec lw gp, 0x20(sp) | gp = *(var_20h);
0x000698f0 b 0x696b8 | goto label_5;
| label_14:
0x000698f4 lw a0, 0xb8(s0) | a0 = *((s0 + 46));
| /* esilref: 'Location' */
0x000698f8 addiu a1, s6, -0x58e8 | a1 = s6 + -0x58e8;
0x000698fc jalr t9 | t9 ();
0x00069900 move s5, v0 | s5 = v0;
0x00069904 lw gp, 0x20(sp) | gp = *(var_20h);
0x00069908 b 0x69600 | goto label_6;
| label_17:
0x0006990c lw a0, 0xc4(s0) | a0 = *((s0 + 49));
0x00069910 lw s2, -0x7fac(gp) | s2 = *(gp);
| if (a0 == 0) {
0x00069914 beqz a0, 0x6992c | goto label_27;
| }
0x00069918 lw t9, -0x7740(gp) | t9 = sym.imp.strcmp;
| /* str.text_html__charsetiso_8859_1 */
0x0006991c addiu a1, s2, 0x60a0 | a1 = s2 + 0x60a0;
0x00069920 jalr t9 | t9 ();
0x00069924 lw gp, 0x20(sp) | gp = *(var_20h);
| if (v0 == 0) {
0x00069928 beqz v0, 0x696a4 | goto label_3;
| }
| /* str.text_html__charsetiso_8859_1 */
| label_27:
0x0006992c addiu s2, s2, 0x60a0 | s2 += 0x60a0;
0x00069930 sw s2, 0xc4(s0) | *((s0 + 49)) = s2;
0x00069934 b 0x696a4 | goto label_3;
| do {
| label_9:
0x00069940 lw t9, -0x782c(gp) | t9 = sym.ap_rvputs;
0x00069944 move a2, zero | a2 = 0;
0x00069948 move a0, s0 | a0 = s0;
0x0006994c jalr t9 | t9 ();
0x00069950 lw v0, 0x64(sp) | v0 = *(arg_64h);
0x00069954 lw gp, 0x20(sp) | gp = *(var_20h);
| if (v0 != 0) {
0x00069958 beqz v0, 0x699b0 |
0x0006995c addiu v0, v0, -0x64 | v0 += -0x64;
0x00069960 sltiu v0, v0, 0x384 | v0 = (v0 < aav.0x00000384) ? 1 : 0;
0x00069964 lw a2, -0x7fac(gp) | a2 = *(gp);
| if (v0 == 0) {
0x00069968 beqz v0, 0x69eec | goto label_28;
| }
0x0006996c lw t9, -0x7944(gp) | t9 = *(gp);
| /* fcn.000673ac */
0x00069970 addiu t9, t9, 0x73ac | t9 += aav.0x000073ac;
0x00069974 lw a0, 0x64(sp) | a0 = *(arg_64h);
0x00069978 bal 0x673ac | fcn_000673ac ();
0x0006997c lw gp, 0x20(sp) | gp = *(var_20h);
| if (v0 < 0) {
0x00069980 bltz v0, 0x69ee8 | goto label_29;
| }
0x00069984 sll v0, v0, 2 | v0 <<= 2;
0x00069988 lwx a2, v0(s2) | __asm ("lwx a2, v0(s2)");
| label_8:
0x0006998c lw a3, -0x7fac(gp) | a3 = *(gp);
0x00069990 lw a1, -0x7fac(gp) | a1 = *(gp);
0x00069994 lw t9, -0x782c(gp) | t9 = sym.ap_rvputs;
0x00069998 sw zero, 0x10(sp) | *(var_10h_2) = 0;
| /* str._nerror_was_encountered_while_trying_to_use_an_ErrorDocument_to_handle_the_request.__p__n */
0x0006999c addiu a3, a3, 0x6734 | a3 += 0x6734;
| /* str._p_Additionally__a_ */
0x000699a0 addiu a1, a1, 0x678c | a1 += 0x678c;
0x000699a4 move a0, s0 | a0 = s0;
0x000699a8 jalr t9 | t9 ();
0x000699ac lw gp, 0x20(sp) | gp = *(var_20h);
| }
0x000699b0 lw a0, -0x7fac(gp) | a0 = *(gp);
0x000699b4 lw t9, -0x7994(gp) | t9 = sym.ap_psignature;
0x000699b8 move a1, s0 | a1 = s0;
| /* str._hr__n */
0x000699bc addiu a0, a0, 0x67a0 | a0 += 0x67a0;
0x000699c0 jalr t9 | t9 ();
0x000699c4 lw gp, 0x20(sp) | gp = *(var_20h);
0x000699c8 move a2, zero | a2 = 0;
0x000699cc move a1, v0 | a1 = v0;
0x000699d0 lw t9, -0x782c(gp) | t9 = sym.ap_rvputs;
0x000699d4 move a0, s0 | a0 = s0;
0x000699d8 jalr t9 | t9 ();
0x000699dc lw gp, 0x20(sp) | gp = *(var_20h);
0x000699e0 move a2, zero | a2 = 0;
0x000699e4 move a0, s0 | a0 = s0;
0x000699e8 lw a1, -0x7fac(gp) | a1 = *(gp);
0x000699ec lw t9, -0x782c(gp) | t9 = sym.ap_rvputs;
| /* str.__body___html__n */
0x000699f0 addiu a1, a1, 0x67a8 | a1 += 0x67a8;
0x000699f4 b 0x697a4 | goto label_7;
| label_23:
0x00069e44 lw a1, -0x7fac(gp) | a1 = *(gp);
0x00069e48 lw t9, -0x7668(gp) | t9 = sym.imp.apr_table_get;
0x00069e4c lw a0, 0xc0(s0) | a0 = *((s0 + 48));
| /* str.error_notes */
0x00069e50 addiu a1, a1, -0x5ee0 | a1 += -0x5ee0;
0x00069e54 jalr t9 | t9 ();
0x00069e58 move s1, v0 | s1 = v0;
0x00069e5c lw gp, 0x20(sp) | gp = *(var_20h);
| if (v0 != 0) {
0x00069e60 beqz v0, 0x69e9c |
0x00069e64 lw a1, -0x7fac(gp) | a1 = *(gp);
0x00069e68 lw t9, -0x7668(gp) | t9 = sym.imp.apr_table_get;
0x00069e6c lw a0, 0xc0(s0) | a0 = *((s0 + 48));
| /* str.verbose_error_to */
0x00069e70 addiu a1, a1, 0x65b8 | a1 += 0x65b8;
0x00069e74 jalr t9 | t9 ();
0x00069e78 lw gp, 0x20(sp) | gp = *(var_20h);
| if (v0 == 0) {
0x00069e7c beqz v0, 0x69e9c | goto label_30;
| }
0x00069e80 lw a1, -0x7fac(gp) | a1 = *(gp);
0x00069e84 lw t9, -0x7740(gp) | t9 = sym.imp.strcmp;
| /* esilref: ' ' */
0x00069e88 addiu a1, a1, -0x7950 | a1 += -aav.0x00007950;
0x00069e8c move a0, v0 | a0 = v0;
0x00069e90 jalr t9 | t9 ();
0x00069e94 lw gp, 0x20(sp) | gp = *(var_20h);
| if (v0 == 0) {
0x00069e98 beqz v0, 0x69f54 | goto label_31;
| }
| }
| label_30:
0x00069e9c lw v0, 8(s0) | v0 = *((s0 + 2));
0x00069ea0 lw t9, -0x7b94(gp) | t9 = sym.ap_escape_html2;
0x00069ea4 lw a0, (s0) | a0 = *(s0);
0x00069ea8 lw a1, 0x30(v0) | a1 = *((v0 + 12));
0x00069eac move a2, zero | a2 = 0;
0x00069eb0 jalr t9 | t9 ();
0x00069eb4 lw gp, 0x20(sp) | gp = *(var_20h);
0x00069eb8 sw zero, 0x10(sp) | *(var_10h_2) = 0;
0x00069ebc move a2, v0 | a2 = v0;
0x00069ec0 lw a3, -0x7fac(gp) | a3 = *(gp);
0x00069ec4 lw a1, -0x7fac(gp) | a1 = *(gp);
0x00069ec8 lw t9, -0x76e8(gp) | t9 = sym.imp.apr_pstrcat
| /* str._p_The_server_encountered_an_internal_error_or_nmisconfiguration_and_was_unable_to_complete_nyour_request.__p__n_p_Please_contact_the_server_administrator_at__n_ */
0x00069ecc addiu a1, a1, 0x6694 | a1 += 0x6694;
| /* str._to_inform_them_of_the_time_this_error_occurred__n_and_the_actions_you_performed_just_before_this_error.__p__n_p_More_information_about_this_error_may_be_available_nin_the_server_error_log.__p__n */
0x00069ed0 addiu a3, a3, 0x65d4 | a3 += 0x65d4;
0x00069ed4 move a0, s3 | a0 = s3;
0x00069ed8 jalr t9 | t9 ();
0x00069edc move a1, v0 | a1 = v0;
0x00069ee0 lw gp, 0x20(sp) | gp = *(var_20h);
0x00069ee4 b 0x69940 |
| } while (1);
| label_29:
0x00069ee8 lw a2, -0x7fac(gp) | a2 = *(gp);
| /* str.500_Internal_Server_Error */
| label_28:
0x00069eec addiu a2, a2, 0x54e4 | a2 += 0x54e4;
0x00069ef0 b 0x6998c | goto label_8;
| label_26:
0x00069f00 sw a1, 0x2c(sp) | *(var_2ch) = a1;
0x00069f04 jalr t9 | t9 ();
0x00069f08 lw a1, 0x2c(sp) | a1 = *(var_2ch);
0x00069f0c lw a0, (v0) | a0 = *(v0);
0x00069f10 lbu v1, 3(a1) | v1 = *((a1 + 3));
0x00069f14 sll v0, v1, 1 | v0 = v1 << 1;
0x00069f18 addu v0, a0, v0 | v0 = a0 + v0;
0x00069f1c lhu v0, (v0) | v0 = *(v0);
0x00069f20 andi v0, v0, 0x2000 | v0 &= aav.0x00002000;
0x00069f24 lw gp, 0x20(sp) | gp = *(var_20h);
| if (v0 == 0) {
0x00069f28 beqz v0, 0x6971c | goto label_1;
| }
0x00069f2c addiu v0, zero, 4 | v0 = 4;
0x00069f30 lw a2, -0x7fac(gp) | a2 = *(gp);
| if (fp != v0) {
0x00069f34 beq fp, v0, 0x69f7c |
0x00069f38 lbu v0, 4(a1) | v0 = *((a1 + 4));
0x00069f3c sll v0, v0, 1 | v0 <<= 1;
0x00069f40 addu a0, a0, v0 | a0 += v0;
0x00069f44 lhu v0, (a0) | v0 = *(a0);
0x00069f48 andi v0, v0, 8 | v0 &= 8;
| if (v0 == 0) {
0x00069f4c movn s3, a1, v0 | s3 = a1;
| }
0x00069f50 b 0x6971c | goto label_1;
| label_31:
0x00069f54 lw a2, -0x7fac(gp) | a2 = *(gp);
0x00069f58 lw t9, -0x76e8(gp) | t9 = sym.imp.apr_pstrcat
0x00069f5c move a1, s1 | a1 = s1;
0x00069f60 move a3, zero | a3 = 0;
| /* str._p____n */
0x00069f64 addiu a2, a2, 0x65cc | a2 += 0x65cc;
0x00069f68 move a0, s3 | a0 = s3;
0x00069f6c jalr t9 | t9 ();
0x00069f70 move a1, v0 | a1 = v0;
0x00069f74 lw gp, 0x20(sp) | gp = *(var_20h);
0x00069f78 b 0x69940 | goto label_9;
| }
0x00069f7c lw t9, -0x76e8(gp) | t9 = sym.imp.apr_pstrcat
0x00069f80 lw a0, (s0) | a0 = *(s0);
0x00069f84 move a3, zero | a3 = 0;
| /* str.Unknown_Reason */
0x00069f88 addiu a2, a2, 0x60d0 | a2 += aav.0x000060d0;
0x00069f8c jalr t9 | t9 ();
0x00069f90 move s3, v0 | s3 = v0;
0x00069f94 lw gp, 0x20(sp) | gp = *(var_20h);
0x00069f98 sw v0, 0x40(s0) | *((s0 + 16)) = v0;
0x00069f9c b 0x6971c | goto label_1;
| label_24:
0x00069fa0 lw t9, -0x75e8(gp) | t9 = sym.imp.__stack_chk_fail;
0x00069fa4 jalr t9 | t9 ();
0x00069fa8 nop |
| }
; assembly | /* r2dec pseudo code output */
| /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/sbin/httpd @ 0x2b764 */
| #include <stdint.h>
|
; (fcn) sym.ap_send_interim_response () | void ap_send_interim_response () {
0x0002b764 lui gp, 7 |
0x0002b768 addiu gp, gp, 0x77bc |
0x0002b76c addu gp, gp, t9 | gp += t9;
0x0002b770 addiu sp, sp, -0x58 |
0x0002b774 lw v0, 0x28(a0) | v0 = *((a0 + 10));
0x0002b778 sw s1, 0x40(sp) | *(var_40h) = s1;
0x0002b77c lw s1, -0x7534(gp) | s1 = *(gp);
0x0002b780 sw gp, 0x20(sp) | *(var_20h) = gp;
0x0002b784 slti v0, v0, 0x3e9 | v0 = (v0 < 0x3e9) ? 1 : 0;
0x0002b788 lw v1, (s1) | v1 = *(s1);
0x0002b78c sw ra, 0x54(sp) | *(var_54h) = ra;
0x0002b790 sw s5, 0x50(sp) | *(var_50h) = s5;
0x0002b794 sw s4, 0x4c(sp) | *(var_4ch) = s4;
0x0002b798 sw s3, 0x48(sp) | *(var_48h) = s3;
0x0002b79c sw s2, 0x44(sp) | *(var_44h) = s2;
0x0002b7a0 sw s0, 0x3c(sp) | *(var_3ch) = s0;
0x0002b7a4 sw v1, 0x34(sp) | *(var_34h) = v1;
0x0002b7a8 move s2, a1 | s2 = a1;
| if (v0 != 0) {
0x0002b7ac bnez v0, 0x2b8a4 | goto label_0;
| }
0x0002b7b0 lw a1, 0x44(a0) | a1 = *((a0 + 17));
0x0002b7b4 addiu v0, a1, -0x64 | v0 = a1 + -0x64;
0x0002b7b8 sltiu v0, v0, 0x64 | v0 = (v0 < 0x64) ? 1 : 0;
0x0002b7bc move s0, a0 | s0 = a0;
| if (v0 == 0) {
0x0002b7c0 beqz v0, 0x2b8d4 | goto label_7;
| }
0x0002b7c4 addiu v0, zero, 0x64 | v0 = 0x64;
| if (a1 == v0) {
0x0002b7c8 beql a1, v0, 0x2b964 | goto label_8;
| }
0x0002b7cc lw v0, 0x94(a0) | v0 = *((a0 + 37));
0x0002b7d0 lw a2, 0x40(s0) | a2 = *((s0 + 16));
| label_4:
0x0002b7d4 lw a0, (s0) | a0 = *(s0);
| if (a2 == 0) {
0x0002b7d8 beqz a2, 0x2b9b8 | goto label_9;
| }
| label_6:
0x0002b7dc lw s3, -0x7fac(gp) | s3 = *(gp);
0x0002b7e0 lw a1, -0x7fac(gp) | a1 = *(gp);
0x0002b7e4 lw t9, -0x76e8(gp) | t9 = sym.imp.apr_pstrcat
| /* esilref: '
' */
0x0002b7e8 addiu a3, s3, 0x7a00 | a3 = s3 + aav.0x00007a00;
| /* str.HTTP_1.1_ */
0x0002b7ec addiu a1, a1, -0x5808 | a1 += -0x5808;
0x0002b7f0 sw zero, 0x10(sp) | *(var_10h_2) = 0;
0x0002b7f4 jalr t9 | t9 ();
0x0002b7f8 lw v1, 4(s0) | v1 = *((s0 + 1));
0x0002b7fc lw gp, 0x20(sp) | gp = *(var_20h);
0x0002b800 lw a0, (s0) | a0 = *(s0);
0x0002b804 lw a1, 0x40(v1) | a1 = *((v1 + 16));
0x0002b808 lw v1, 0x38(v1) | v1 = *((v1 + 14));
0x0002b80c lw t9, -0x7344(gp) | t9 = sym.imp.apr_brigade_create;
0x0002b810 sw v1, 0x2c(sp) | *(var_2ch) = v1;
0x0002b814 move s5, v0 | s5 = v0;
0x0002b818 jalr t9 | t9 ();
0x0002b81c lw gp, 0x20(sp) | gp = *(var_20h);
0x0002b820 move a0, s5 | a0 = s5;
0x0002b824 sw v0, 0x30(sp) | *(var_30h) = v0;
0x0002b828 lw t9, -0x74c4(gp) | t9 = sym.imp.strlen;
0x0002b82c move s4, v0 | s4 = v0;
0x0002b830 jalr t9 | t9 ();
0x0002b834 lw gp, 0x20(sp) | gp = *(var_20h);
0x0002b838 lw a2, 0x2c(sp) | a2 = *(var_2ch);
0x0002b83c sw v0, 0x10(sp) | *(var_10h_2) = v0;
0x0002b840 lw t9, -0x7264(gp) | t9 = sym.imp.apr_brigade_write;
0x0002b844 lw a1, -0x7e2c(gp) | a1 = sym.ap_filter_flush;
0x0002b848 move a3, s5 | a3 = s5;
0x0002b84c move a0, s4 | a0 = s4;
0x0002b850 jalr t9 | t9 ();
0x0002b854 lw gp, 0x20(sp) | gp = *(var_20h);
| if (s2 != 0) {
0x0002b858 bnez s2, 0x2b984 | goto label_10;
| }
| label_5:
0x0002b85c lw t9, -0x7264(gp) | t9 = sym.imp.apr_brigade_write;
0x0002b860 lw a2, 0x2c(sp) | a2 = *(var_2ch);
0x0002b864 lw a1, -0x7e2c(gp) | a1 = sym.ap_filter_flush;
0x0002b868 lw a0, 0x30(sp) | a0 = *(var_30h);
0x0002b86c addiu v0, zero, 2 | v0 = 2;
| /* esilref: '
' */
0x0002b870 addiu a3, s3, 0x7a00 | a3 = s3 + aav.0x00007a00;
0x0002b874 sw v0, 0x10(sp) | *(var_10h_2) = v0;
0x0002b878 jalr t9 | t9 ();
0x0002b87c lw gp, 0x20(sp) | gp = *(var_20h);
0x0002b880 lw a1, 0x30(sp) | a1 = *(var_30h);
0x0002b884 lw t9, -0x7da4(gp) | t9 = sym.ap_fflush;
0x0002b888 lw a0, 0x2c(sp) | a0 = *(var_2ch);
0x0002b88c bal 0x25eac | sym_ap_fflush ();
0x0002b890 lw gp, 0x20(sp) | gp = *(var_20h);
0x0002b894 lw t9, -0x7700(gp) | t9 = sym.imp.apr_brigade_destroy;
0x0002b898 lw a0, 0x30(sp) | a0 = *(var_30h);
0x0002b89c jalr t9 | t9 ();
0x0002b8a0 lw gp, 0x20(sp) | gp = *(var_20h);
| do {
| label_0:
0x0002b8a4 lw v1, 0x34(sp) | v1 = *(var_34h);
0x0002b8a8 lw v0, (s1) | v0 = *(s1);
0x0002b8ac lw ra, 0x54(sp) | ra = *(var_54h);
| if (v1 != v0) {
0x0002b8b0 bne v1, v0, 0x2b9d4 | goto label_11;
| }
0x0002b8b4 lw s5, 0x50(sp) | s5 = *(var_50h);
0x0002b8b8 lw s4, 0x4c(sp) | s4 = *(var_4ch);
0x0002b8bc lw s3, 0x48(sp) | s3 = *(var_48h);
0x0002b8c0 lw s2, 0x44(sp) | s2 = *(var_44h);
0x0002b8c4 lw s1, 0x40(sp) | s1 = *(var_40h);
0x0002b8c8 lw s0, 0x3c(sp) | s0 = *(var_3ch);
0x0002b8cc addiu sp, sp, 0x58 |
0x0002b8d0 jr ra | return v0;
| label_7:
0x0002b8d4 lw v1, 0x108(a0) | v1 = *(a0);
| if (v1 == 0) {
0x0002b8d8 beql v1, zero, 0x2b94c | goto label_12;
| }
0x0002b8dc lw v0, 4(a0) | v0 = *((a0 + 1));
| label_3:
0x0002b8e0 lw v0, (v1) | v0 = *(v1);
| if (v0 == 0) {
| label_2:
0x0002b8e4 beql v0, zero, 0x2b940 | goto label_13;
| }
0x0002b8e8 lw v0, 4(v1) | v0 = *((v1 + 1));
0x0002b8ec lb v0, (v0) | v0 = *(v0);
| if (v0 < 0) {
0x0002b8f0 bltzl v0, 0x2b940 | goto label_13;
| }
0x0002b8f4 lw v0, 4(v1) | v0 = *((v1 + 1));
0x0002b8f8 slti v0, v0, 7 | v0 = (v0 < 7) ? 1 : 0;
0x0002b8fc xori v0, v0, 1 | v0 ^= 1;
| label_1:
0x0002b900 lw v0, -0x7fac(gp) | v0 = *(gp);
0x0002b904 beqz v0, 0x2b8a4 |
| } while (v0 == 0);
0x0002b908 lw a0, -0x7fac(gp) | a0 = *(gp);
0x0002b90c lw t9, -0x7f08(gp) | t9 = sym.ap_log_rerror_;
| /* str.AH00575:_Status_is__d___not_sending_interim_response */
0x0002b910 addiu v0, v0, -0x5840 | v0 += -0x5840;
0x0002b914 sw a1, 0x1c(sp) | *(var_1ch_2) = a1;
0x0002b918 sw v0, 0x18(sp) | *(var_18h) = v0;
0x0002b91c sw s0, 0x14(sp) | *(var_14h) = s0;
0x0002b920 sw zero, 0x10(sp) | *(var_10h_2) = 0;
0x0002b924 addiu a3, zero, 7 | a3 = 7;
0x0002b928 move a2, zero | a2 = 0;
0x0002b92c addiu a1, zero, 0x919 | a1 = 0x919;
| /* str._usr_src_debug_apache2_2.4.57_r0_httpd_2.4.57_server_protocol.c */
0x0002b930 addiu a0, a0, -0x5ed4 | a0 += -0x5ed4;
0x0002b934 jalr t9 | t9 ();
0x0002b938 lw gp, 0x20(sp) | gp = *(var_20h);
0x0002b93c b 0x2b8a4 | goto label_0;
| label_13:
0x0002b940 slti v0, v0, 7 | v0 = (v0 < 7) ? 1 : 0;
0x0002b944 xori v0, v0, 1 | v0 ^= 1;
0x0002b948 b 0x2b900 | goto label_1;
| label_12:
0x0002b94c lw v1, 0x60(v0) | v1 = *((v0 + 24));
0x0002b950 lw v0, (v1) | v0 = *(v1);
| if (v1 == 0) {
0x0002b954 bnel v1, zero, 0x2b8e4 | goto label_2;
| }
0x0002b958 lw v1, 8(a0) | v1 = *((a0 + 2));
0x0002b95c addiu v1, v1, 0x10 | v1 += 0x10;
0x0002b960 b 0x2b8e0 | goto label_3;
| label_8:
0x0002b964 move v0, a0 | v0 = a0;
| if (v0 == 0) {
0x0002b968 beqz v0, 0x2b8a4 | goto label_0;
| }
0x0002b96c sw zero, 0x94(v0) | *((v0 + 37)) = 0;
| do {
0x0002b970 lw v0, 0x14(v0) | v0 = *((v0 + 5));
0x0002b974 sw zero, 0x94(v0) | *((v0 + 37)) = 0;
0x0002b978 bnel v0, zero, 0x2b970 |
| } while (v0 == 0);
0x0002b97c lw a2, 0x40(s0) | a2 = *((s0 + 16));
0x0002b980 b 0x2b7d4 | goto label_4;
| label_10:
0x0002b984 lw a0, -0x7dd4(gp) | a0 = *(gp);
0x0002b988 lw t9, -0x73b8(gp) | t9 = sym.imp.apr_table_do;
0x0002b98c lw a2, 0xb4(s0) | a2 = *((s0 + 45));
0x0002b990 move a3, zero | a3 = 0;
0x0002b994 addiu a1, sp, 0x2c | a1 = sp + 0x2c;
0x0002b998 addiu a0, a0, -0x7b0c | a0 += -0x7b0c;
0x0002b99c jalr t9 | t9 ();
0x0002b9a0 lw gp, 0x20(sp) | gp = *(var_20h);
0x0002b9a4 lw t9, -0x7414(gp) | t9 = sym.imp.apr_table_clear;
0x0002b9a8 lw a0, 0xb4(s0) | a0 = *((s0 + 45));
0x0002b9ac jalr t9 | t9 ();
0x0002b9b0 lw gp, 0x20(sp) | gp = *(var_20h);
0x0002b9b4 b 0x2b85c | goto label_5;
| label_9:
0x0002b9b8 lw t9, -0x7da0(gp) | t9 = sym.ap_get_status_line_ex;
0x0002b9bc jalr t9 | t9 ();
0x0002b9c0 nop |
0x0002b9c4 move a2, v0 | a2 = v0;
0x0002b9c8 lw gp, 0x20(sp) | gp = *(var_20h);
0x0002b9cc lw a0, (s0) | a0 = *(s0);
0x0002b9d0 b 0x2b7dc | goto label_6;
| label_11:
0x0002b9d4 lw t9, -0x75e8(gp) | t9 = sym.imp.__stack_chk_fail;
0x0002b9d8 jalr t9 | t9 ();
0x0002b9dc nop |
| }
; assembly | /* r2dec pseudo code output */
| /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/sbin/httpd @ 0x4d488 */
| #include <stdint.h>
|
; (fcn) sym.ap_set_file_slot () | void ap_set_file_slot () {
0x0004d488 lui gp, 5 |
0x0004d48c addiu gp, gp, 0x5a98 |
0x0004d490 addu gp, gp, t9 | gp += t9;
0x0004d494 addiu sp, sp, -0x38 |
0x0004d498 lw t9, -0x7e50(gp) | t9 = sym.ap_server_root_relative;
0x0004d49c sw s0, 0x24(sp) | *(var_24h) = s0;
0x0004d4a0 move s0, a0 | s0 = a0;
0x0004d4a4 lw a0, 0x28(a0) | a0 = *((a0 + 10));
0x0004d4a8 sw gp, 0x18(sp) | *(var_18h) = gp;
0x0004d4ac sw s3, 0x30(sp) | *(var_30h) = s3;
0x0004d4b0 sw s2, 0x2c(sp) | *(var_2ch) = s2;
0x0004d4b4 sw s1, 0x28(sp) | *(var_28h) = s1;
0x0004d4b8 sw ra, 0x34(sp) | *(var_34h) = ra;
0x0004d4bc move s1, a1 | s1 = a1;
0x0004d4c0 move a1, a2 | a1 = a2;
0x0004d4c4 move s2, a2 | s2 = a2;
0x0004d4c8 lw s3, (s0) | s3 = *(s0);
0x0004d4cc bal 0x4d3e0 | sym_ap_server_root_relative ();
0x0004d4d0 lw gp, 0x18(sp) | gp = *(var_18h);
| if (v0 != 0) {
0x0004d4d4 beqz v0, 0x4d504 |
0x0004d4d8 addu s1, s1, s3 | s1 += s3;
0x0004d4dc lw ra, 0x34(sp) | ra = *(var_34h);
0x0004d4e0 move v1, v0 | v1 = v0;
0x0004d4e4 sw v1, (s1) | *(s1) = v1;
0x0004d4e8 lw s3, 0x30(sp) | s3 = *(var_30h);
0x0004d4ec lw s2, 0x2c(sp) | s2 = *(var_2ch);
0x0004d4f0 lw s1, 0x28(sp) | s1 = *(var_28h);
0x0004d4f4 lw s0, 0x24(sp) | s0 = *(var_24h);
0x0004d4f8 move v0, zero | v0 = 0;
0x0004d4fc addiu sp, sp, 0x38 |
0x0004d500 jr ra | return v0;
| }
0x0004d504 lw v0, 0x38(s0) | v0 = *((s0 + 14));
0x0004d508 lw a2, -0x7fac(gp) | a2 = *(gp);
0x0004d50c lw a0, 0x28(s0) | a0 = *((s0 + 10));
0x0004d510 lw a1, (v0) | a1 = *(v0);
0x0004d514 lw v0, -0x7fac(gp) | v0 = *(gp);
0x0004d518 lw t9, -0x76e8(gp) | t9 = sym.imp.apr_pstrcat
| /* esilref: 'p4' */
0x0004d51c addiu v0, v0, 0x46c | v0 += aav.0x0000046c;
0x0004d520 move a3, s2 | a3 = s2;
0x0004d524 sw zero, 0x14(sp) | *(var_14h) = 0;
0x0004d528 sw v0, 0x10(sp) | *(var_10h) = v0;
| /* str.:_Invalid_file_path_ */
0x0004d52c addiu a2, a2, 0x850 | a2 += 0x850;
0x0004d530 jalr t9 | t9 ();
0x0004d534 lw ra, 0x34(sp) | ra = *(var_34h);
0x0004d538 lw s3, 0x30(sp) | s3 = *(var_30h);
0x0004d53c lw s2, 0x2c(sp) | s2 = *(var_2ch);
0x0004d540 lw s1, 0x28(sp) | s1 = *(var_28h);
0x0004d544 lw s0, 0x24(sp) | s0 = *(var_24h);
0x0004d548 addiu sp, sp, 0x38 |
0x0004d54c jr ra | return v0;
| }
; assembly | /* r2dec pseudo code output */
| /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/sbin/httpd @ 0x5a2d4 */
| #include <stdint.h>
|
; (fcn) sym.ap_set_mutex () | void ap_set_mutex () {
0x0005a2d4 lui gp, 5 |
0x0005a2d8 addiu gp, gp, -0x73b4 |
0x0005a2dc addu gp, gp, t9 | gp += t9;
0x0005a2e0 addiu sp, sp, -0x60 |
0x0005a2e4 lw t9, -0x7e54(gp) | t9 = sym.ap_check_cmd_context;
0x0005a2e8 sw s3, 0x44(sp) | *(var_44h) = s3;
0x0005a2ec lw s3, -0x7534(gp) | s3 = *(gp);
0x0005a2f0 sw gp, 0x18(sp) | *(var_18h) = gp;
0x0005a2f4 sw s2, 0x40(sp) | *(var_40h) = s2;
0x0005a2f8 lw v0, (s3) | v0 = *(s3);
0x0005a2fc sw s1, 0x3c(sp) | *(var_3ch) = s1;
0x0005a300 sw v0, 0x34(sp) | *(var_34h) = v0;
0x0005a304 lw v0, 0x28(a0) | v0 = *((a0 + 10));
0x0005a308 sw s0, 0x38(sp) | *(var_38h) = s0;
0x0005a30c sw ra, 0x5c(sp) | *(var_5ch) = ra;
0x0005a310 sw fp, 0x58(sp) | *(var_58h) = fp;
0x0005a314 sw s7, 0x54(sp) | *(var_54h) = s7;
0x0005a318 sw s6, 0x50(sp) | *(var_50h) = s6;
0x0005a31c sw s5, 0x4c(sp) | *(var_4ch) = s5;
0x0005a320 sw s4, 0x48(sp) | *(var_48h) = s4;
0x0005a324 addiu a1, zero, 0x5f | a1 = 0x5f;
0x0005a328 sw a2, 0x24(sp) | *(var_24h) = a2;
0x0005a32c sw v0, 0x20(sp) | *(var_20h) = v0;
0x0005a330 move s0, a0 | s0 = a0;
0x0005a334 lw s2, 0x2c(a0) | s2 = *((a0 + 11));
0x0005a338 jalr t9 | t9 ();
0x0005a33c move s1, v0 | s1 = v0;
0x0005a340 lw gp, 0x18(sp) | gp = *(var_18h);
0x0005a344 beqz v0, 0x5a388 |
| while (1) {
| label_0:
0x0005a348 lw a0, 0x34(sp) | a0 = *(var_34h);
0x0005a34c lw v1, (s3) | v1 = *(s3);
0x0005a350 move v0, s1 | v0 = s1;
| if (a0 != v1) {
0x0005a354 bne a0, v1, 0x5a5f8 | goto label_4;
| }
0x0005a358 lw ra, 0x5c(sp) | ra = *(var_5ch);
0x0005a35c lw fp, 0x58(sp) | fp = *(var_58h);
0x0005a360 lw s7, 0x54(sp) | s7 = *(var_54h);
0x0005a364 lw s6, 0x50(sp) | s6 = *(var_50h);
0x0005a368 lw s5, 0x4c(sp) | s5 = *(var_4ch);
0x0005a36c lw s4, 0x48(sp) | s4 = *(var_48h);
0x0005a370 lw s3, 0x44(sp) | s3 = *(var_44h);
0x0005a374 lw s2, 0x40(sp) | s2 = *(var_40h);
0x0005a378 lw s1, 0x3c(sp) | s1 = *(var_3ch);
0x0005a37c lw s0, 0x38(sp) | s0 = *(var_38h);
0x0005a380 addiu sp, sp, 0x60 |
0x0005a384 jr ra | return v1;
0x0005a388 lw t9, -0x7f00(gp) | t9 = sym.ap_getword_conf;
0x0005a38c addiu s5, sp, 0x24 | s5 = sp + 0x24;
0x0005a390 lw a0, 0x28(s0) | a0 = *((s0 + 10));
0x0005a394 move a1, s5 | a1 = s5;
0x0005a398 jalr t9 | t9 ();
0x0005a39c move s4, v0 | s4 = v0;
0x0005a3a0 lb v0, (v0) | v0 = *(v0);
0x0005a3a4 lw gp, 0x18(sp) | gp = *(var_18h);
| if (v0 != 0) {
0x0005a3a8 bnez v0, 0x5a3b8 | goto label_5;
| }
0x0005a3ac lw s1, -0x7fac(gp) | s1 = *(gp);
| /* str.Mutex_requires_at_least_a_mechanism_argument__Mutex_mechanisms_are:_none__default__flock:_path_to_file__fcntl:_path_to_file__file:_path_to_file__sysvsem__sem_ */
0x0005a3b0 addiu s1, s1, 0x2048 | s1 += 0x2048;
0x0005a3b4 b 0x5a348 |
| }
| label_5:
0x0005a3b8 lw t9, -0x7938(gp) | t9 = sym.ap_parse_mutex;
0x0005a3bc lw a1, 0x20(sp) | a1 = *(var_20h);
0x0005a3c0 addiu a3, sp, 0x30 | a3 = sp + 0x30;
0x0005a3c4 addiu a2, sp, 0x2c | a2 = sp + 0x2c;
0x0005a3c8 move a0, s4 | a0 = s4;
0x0005a3cc bal 0x5a080 | sym_ap_parse_mutex ();
0x0005a3d0 lui v1, 1 | v1 = 0x10000;
0x0005a3d4 move s7, v0 | s7 = v0;
| /* esilref: 't_name_virtual_host' */
0x0005a3d8 addiu v0, v1, 0x1187 | v0 = v1 + 0x1187;
0x0005a3dc lw gp, 0x18(sp) | gp = *(var_18h);
| if (s7 == v0) {
0x0005a3e0 beq s7, v0, 0x5a5c8 | goto label_6;
| }
| /* esilref: 'hack_ap_set_name_virtual_host' */
0x0005a3e4 addiu v1, v1, 0x117d | v1 += 0x117d;
0x0005a3e8 lw a1, -0x7fac(gp) | a1 = *(gp);
| if (s7 == v1) {
0x0005a3ec beq s7, v1, 0x5a53c | goto label_7;
| }
0x0005a3f0 lw a1, 0x30(sp) | a1 = *(var_30h);
0x0005a3f4 lw t9, -0x7bc0(gp) | t9 = sym.ap_is_directory;
| if (a1 != 0) {
0x0005a3f8 beqz a1, 0x5a40c |
0x0005a3fc move a0, s2 | a0 = s2;
0x0005a400 jalr t9 | t9 ();
0x0005a404 lw gp, 0x18(sp) | gp = *(var_18h);
| if (v0 == 0) {
0x0005a408 beqz v0, 0x5a538 | goto label_8;
| }
| }
0x0005a40c lw t9, -0x775c(gp) | t9 = sym.imp.apr_array_make;
0x0005a410 lw a0, 0x28(s0) | a0 = *((s0 + 10));
0x0005a414 addiu a2, zero, 4 | a2 = 4;
0x0005a418 addiu a1, zero, 4 | a1 = 4;
0x0005a41c jalr t9 | t9 ();
0x0005a420 lw gp, 0x18(sp) | gp = *(var_18h);
0x0005a424 move fp, v0 | fp = v0;
0x0005a428 move s4, zero | s4 = 0;
0x0005a42c lw s6, -0x7fac(gp) | s6 = *(gp);
| /* str.omitpid */
0x0005a430 addiu s6, s6, 0x2138 | s6 += 0x2138;
0x0005a434 b 0x5a468 |
| while (v0 != 0) {
0x0005a438 lw a0, 0x28(s0) | a0 = *((s0 + 10));
0x0005a43c move a1, s5 | a1 = s5;
0x0005a440 jalr t9 | t9 ();
0x0005a444 lw gp, 0x18(sp) | gp = *(var_18h);
0x0005a448 move a1, s6 | a1 = s6;
0x0005a44c move a0, v0 | a0 = v0;
0x0005a450 lw t9, -0x7564(gp) | t9 = sym.imp.strcasecmp;
0x0005a454 move s2, v0 | s2 = v0;
0x0005a458 jalr t9 | t9 ();
0x0005a45c lw gp, 0x18(sp) | gp = *(var_18h);
| if (v0 != 0) {
0x0005a460 bnez v0, 0x5a520 | goto label_9;
| }
0x0005a464 addiu s4, zero, 1 | s4 = 1;
| label_2:
0x0005a468 lw v0, 0x24(sp) | v0 = *(var_24h);
0x0005a46c lb v0, (v0) | v0 = *(v0);
0x0005a470 lw t9, -0x7f00(gp) | t9 = sym.ap_getword_conf;
0x0005a474 bnez v0, 0x5a438 |
| }
0x0005a478 lw t9, -0x72ec(gp) | t9 = sym.imp.apr_is_empty_array;
0x0005a47c move a0, fp | a0 = fp;
0x0005a480 jalr t9 | t9 ();
0x0005a484 lw gp, 0x18(sp) | gp = *(var_18h);
| if (v0 != 0) {
0x0005a488 bnez v0, 0x5a584 | goto label_10;
| }
| label_3:
0x0005a48c lw s2, -0x7f14(gp) | s2 = *((gp - 8133));
0x0005a490 addiu s0, zero, 1 | s0 = 1;
0x0005a494 addiu s5, zero, 0x4e29 | s5 = 0x4e29;
| label_1:
0x0005a498 lw t9, -0x7370(gp) | t9 = *(gp);
0x0005a49c move a0, fp | a0 = fp;
0x0005a4a0 jalr t9 | t9 ();
0x0005a4a4 lw gp, 0x18(sp) | gp = *(var_18h);
| if (v0 == 0) {
0x0005a4a8 beqz v0, 0x5a348 | goto label_0;
| }
| do {
0x0005a4ac lw s6, (v0) | s6 = *(v0);
0x0005a4b0 lw t9, -0x7200(gp) | t9 = sym.imp.apr_hash_get;
0x0005a4b4 lw a0, -0x33b0(s2) | a0 = *((s2 - 3308));
0x0005a4b8 addiu a2, zero, -1 | a2 = -1;
0x0005a4bc move a1, s6 | a1 = s6;
0x0005a4c0 jalr t9 | t9 ();
0x0005a4c4 lw gp, 0x18(sp) | gp = *(var_18h);
| if (v0 == 0) {
0x0005a4c8 beqz v0, 0x5a560 | goto label_11;
| }
0x0005a4cc sw zero, 8(v0) | *((v0 + 2)) = 0;
0x0005a4d0 sw s4, 0xc(v0) | *((v0 + 3)) = s4;
0x0005a4d4 sw s0, 4(v0) | *((v0 + 1)) = s0;
| if (s7 != s5) {
0x0005a4d8 bne s7, s5, 0x5a508 | goto label_12;
| }
0x0005a4dc lw v1, (v0) | v1 = *(v0);
0x0005a4e0 andi v1, v1, 1 | v1 &= 1;
0x0005a4e4 lw t9, -0x7370(gp) | t9 = *(gp);
| if (v1 == 0) {
0x0005a4e8 beqz v1, 0x5a5a4 | goto label_13;
| }
0x0005a4ec sw s0, 8(v0) | *((v0 + 2)) = s0;
0x0005a4f0 move a0, fp | a0 = fp;
0x0005a4f4 jalr t9 | t9 ();
0x0005a4f8 lw gp, 0x18(sp) | gp = *(var_18h);
0x0005a4fc bnez v0, 0x5a4ac |
| } while (v0 != 0);
0x0005a500 b 0x5a348 | goto label_0;
0x0005a504 nop |
| label_12:
0x0005a508 lw a0, 0x2c(sp) | a0 = *(var_2ch);
0x0005a50c lw v1, 0x30(sp) | v1 = *(var_30h);
0x0005a510 sw a0, 0x10(v0) | *((v0 + 4)) = a0;
| if (v1 == 0) {
0x0005a514 beqz v1, 0x5a498 | goto label_1;
| }
0x0005a518 sw v1, 0x14(v0) | *((v0 + 5)) = v1;
0x0005a51c b 0x5a498 | goto label_1;
| label_9:
0x0005a520 lw t9, -0x7324(gp) | t9 = sym.imp.apr_array_push;
0x0005a524 move a0, fp | a0 = fp;
0x0005a528 jalr t9 | t9 ();
0x0005a52c lw gp, 0x18(sp) | gp = *(var_18h);
0x0005a530 sw s2, (v0) | *(v0) = s2;
0x0005a534 b 0x5a468 | goto label_2;
| label_8:
0x0005a538 lw a1, -0x7fac(gp) | a1 = *(gp);
| label_7:
0x0005a53c lw t9, -0x76e8(gp) | t9 = sym.imp.apr_pstrcat
0x0005a540 lw a0, 0x20(sp) | a0 = *(var_20h);
0x0005a544 move a3, zero | a3 = 0;
0x0005a548 move a2, s4 | a2 = s4;
| /* str.Invalid_Mutex_directory_in_argument_ */
0x0005a54c addiu a1, a1, 0x2110 | a1 += 0x2110;
0x0005a550 jalr t9 | t9 ();
0x0005a554 move s1, v0 | s1 = v0;
0x0005a558 lw gp, 0x18(sp) | gp = *(var_18h);
0x0005a55c b 0x5a348 | goto label_0;
| label_11:
0x0005a560 lw a1, -0x7fac(gp) | a1 = *(gp);
0x0005a564 lw t9, -0x7540(gp) | t9 = sym.imp.apr_psprintf;
0x0005a568 lw a0, 0x20(sp) | a0 = *(var_20h);
0x0005a56c move a2, s6 | a2 = s6;
| /* str.Mutex_type__s_is_not_valid */
0x0005a570 addiu a1, a1, 0x2140 | a1 += 0x2140;
0x0005a574 jalr t9 | t9 ();
0x0005a578 move s1, v0 | s1 = v0;
0x0005a57c lw gp, 0x18(sp) | gp = *(var_18h);
0x0005a580 b 0x5a348 | goto label_0;
| label_10:
0x0005a584 lw t9, -0x7324(gp) | t9 = sym.imp.apr_array_push;
0x0005a588 move a0, fp | a0 = fp;
0x0005a58c jalr t9 | t9 ();
0x0005a590 lw gp, 0x18(sp) | gp = *(var_18h);
0x0005a594 lw v1, -0x7fac(gp) | v1 = *(gp);
| /* esilref: 'default' */
0x0005a598 addiu v1, v1, 0x1a88 | v1 += 0x1a88;
0x0005a59c sw v1, (v0) | *(v0) = v1;
0x0005a5a0 b 0x5a48c | goto label_3;
| label_13:
0x0005a5a4 lw a1, -0x7fac(gp) | a1 = *(gp);
0x0005a5a8 lw t9, -0x7540(gp) | t9 = sym.imp.apr_psprintf;
0x0005a5ac lw a0, 0x20(sp) | a0 = *(var_20h);
0x0005a5b0 move a2, s6 | a2 = s6;
| /* str.None_is_not_allowed_for_mutex_type__s */
0x0005a5b4 addiu a1, a1, 0x215c | a1 += aav.0x0000215c;
0x0005a5b8 jalr t9 | t9 ();
0x0005a5bc move s1, v0 | s1 = v0;
0x0005a5c0 lw gp, 0x18(sp) | gp = *(var_18h);
0x0005a5c4 b 0x5a348 | goto label_0;
| label_6:
0x0005a5c8 lw a3, -0x7fac(gp) | a3 = *(gp);
0x0005a5cc lw a1, -0x7fac(gp) | a1 = *(gp);
0x0005a5d0 lw t9, -0x76e8(gp) | t9 = sym.imp.apr_pstrcat
0x0005a5d4 lw a0, 0x20(sp) | a0 = *(var_20h);
0x0005a5d8 sw zero, 0x10(sp) | *(var_10h) = 0;
| /* esilref: ' (Mutex mechanisms are: 'none', 'default', 'flock:/path/to/file', 'fcntl:/path/to/file', 'file:/path/to/file', 'sysvsem', 'sem')' */
0x0005a5dc addiu a3, a3, 0x2074 | a3 += aav.0x00002074;
0x0005a5e0 move a2, s4 | a2 = s4;
| /* str.Invalid_Mutex_argument_ */
0x0005a5e4 addiu a1, a1, 0x20f8 | a1 += 0x20f8;
0x0005a5e8 jalr t9 | t9 ();
0x0005a5ec move s1, v0 | s1 = v0;
0x0005a5f0 lw gp, 0x18(sp) | gp = *(var_18h);
0x0005a5f4 b 0x5a348 | goto label_0;
| label_4:
0x0005a5f8 lw t9, -0x75e8(gp) | t9 = sym.imp.__stack_chk_fail;
0x0005a5fc jalr t9 | t9 ();
0x0005a600 nop |
| }
; assembly | /* r2dec pseudo code output */
| /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/sbin/httpd @ 0x4d628 */
| #include <stdint.h>
|
; (fcn) sym.ap_soak_end_container () | void ap_soak_end_container () {
| label_0:
0x0004d628 lui gp, 5 |
0x0004d62c addiu gp, gp, 0x58f8 |
0x0004d630 addu gp, gp, t9 | gp += t9;
0x0004d634 addiu sp, sp, -0x70 |
0x0004d638 lw t9, -0x79f4(gp) | t9 = sym.ap_varbuf_init;
0x0004d63c sw s5, 0x5c(sp) | *(var_5ch) = s5;
0x0004d640 lw s5, -0x7534(gp) | s5 = *(gp);
0x0004d644 sw s0, 0x48(sp) | *(var_48h) = s0;
0x0004d648 move s0, a0 | s0 = a0;
0x0004d64c lw v0, (s5) | v0 = *(s5);
0x0004d650 sw s2, 0x50(sp) | *(var_50h) = s2;
0x0004d654 lw a0, 0x2c(a0) | a0 = *((a0 + 11));
0x0004d658 lw s2, 0x28(s0) | s2 = *((s0 + 10));
0x0004d65c sw s3, 0x54(sp) | *(var_54h) = s3;
0x0004d660 xor s2, s2, a0 | s2 ^= a0;
0x0004d664 sw v0, 0x44(sp) | *(var_44h) = v0;
0x0004d668 lui v1, 0x100 | v1 = imp.apr_hook_global_pool;
0x0004d66c addiu s3, sp, 0x30 | s3 = sp + 0x30;
0x0004d670 addiu v0, zero, 0x2000 | v0 = aav.0x00002000;
0x0004d674 sw gp, 0x20(sp) | *(var_20h) = gp;
0x0004d678 sw fp, 0x68(sp) | *(var_68h) = fp;
0x0004d67c sw s7, 0x64(sp) | *(var_64h) = s7;
0x0004d680 sw s6, 0x60(sp) | *(var_60h) = s6;
0x0004d684 sw s4, 0x58(sp) | *(var_58h) = s4;
| if (s2 == 0) {
0x0004d688 movn v0, v1, s2 | v0 = v1;
| }
0x0004d68c sw ra, 0x6c(sp) | *(var_6ch) = ra;
0x0004d690 sw s1, 0x4c(sp) | *(var_4ch) = s1;
0x0004d694 move s7, a1 | s7 = a1;
0x0004d698 addiu a2, zero, 0xc8 | a2 = 0xc8;
0x0004d69c move a1, s3 | a1 = s3;
0x0004d6a0 move s2, v0 | s2 = v0;
0x0004d6a4 jalr t9 | t9 ();
0x0004d6a8 lw gp, 0x20(sp) | gp = *(var_20h);
0x0004d6ac addiu fp, sp, 0x2c | fp = sp + 0x2c;
0x0004d6b0 addiu s4, zero, 0x3c | s4 = 0x3c;
0x0004d6b4 lw s6, -0x7ca0(gp) | s6 = sym.ap_soak_end_container;
0x0004d6b8 b 0x4d6e4 |
| while (v0 == 0) {
0x0004d6bc lw v0, 0x30(sp) | v0 = *(var_30h);
0x0004d6c0 lw t9, -0x7f00(gp) | t9 = sym.ap_getword_conf;
0x0004d6c4 lw a0, 0x2c(s0) | a0 = *((s0 + 11));
0x0004d6c8 move a1, fp | a1 = fp;
0x0004d6cc sw v0, 0x2c(sp) | *(var_2ch_2) = v0;
0x0004d6d0 jalr t9 | t9 ();
0x0004d6d4 move s1, v0 | s1 = v0;
0x0004d6d8 lb v0, (v0) | v0 = *(v0);
0x0004d6dc lw gp, 0x20(sp) | gp = *(var_20h);
| if (v0 == s4) {
0x0004d6e0 beq v0, s4, 0x4d764 | goto label_3;
| }
| label_1:
0x0004d6e4 lw t9, -0x79f0(gp) | t9 = *(gp);
0x0004d6e8 lw a1, 0x20(s0) | a1 = *((s0 + 8));
0x0004d6ec move a2, s2 | a2 = s2;
0x0004d6f0 move a0, s3 | a0 = s3;
0x0004d6f4 jalr t9 | t9 ();
0x0004d6f8 lw gp, 0x20(sp) | gp = *(var_20h);
0x0004d6fc beqz v0, 0x4d6bc |
| }
0x0004d700 lui v1, 1 | v1 = 0x1117e;
| /* esilref: 'ack_ap_set_name_virtual_host' */
0x0004d704 addiu v1, v1, 0x117e |
0x0004d708 lw a3, -0x7fac(gp) | a3 = *(gp);
| if (v0 == v1) {
0x0004d70c beq v0, v1, 0x4d7c0 | goto label_4;
| }
0x0004d710 lw t9, -0x79e8(gp) | t9 = *(gp);
0x0004d714 lw a1, 0x20(s0) | a1 = *((s0 + 8));
0x0004d718 lw a0, 0x2c(s0) | a0 = *((s0 + 11));
0x0004d71c move a2, v0 | a2 = v0;
0x0004d720 jalr t9 | t9 ();
0x0004d724 lw gp, 0x20(sp) | gp = *(var_20h);
| label_2:
0x0004d728 lw a0, 0x44(sp) | a0 = *(var_44h);
0x0004d72c lw v1, (s5) | v1 = *(s5);
0x0004d730 lw ra, 0x6c(sp) | ra = *(var_6ch);
| if (a0 != v1) {
0x0004d734 bne a0, v1, 0x4d890 | goto label_5;
| }
0x0004d738 lw fp, 0x68(sp) | fp = *(var_68h);
0x0004d73c lw s7, 0x64(sp) | s7 = *(var_64h);
0x0004d740 lw s6, 0x60(sp) | s6 = *(var_60h);
0x0004d744 lw s5, 0x5c(sp) | s5 = *(var_5ch);
0x0004d748 lw s4, 0x58(sp) | s4 = *(var_58h);
0x0004d74c lw s3, 0x54(sp) | s3 = *(var_54h);
0x0004d750 lw s2, 0x50(sp) | s2 = *(var_50h);
0x0004d754 lw s1, 0x4c(sp) | s1 = *(var_4ch);
0x0004d758 lw s0, 0x48(sp) | s0 = *(var_48h);
0x0004d75c addiu sp, sp, 0x70 |
0x0004d760 jr ra | return v0;
| label_3:
0x0004d764 lb v1, 1(s1) | v1 = *((s1 + 1));
0x0004d768 addiu v0, zero, 0x2f | v0 = 0x2f;
0x0004d76c lw v0, 0x2c(sp) | v0 = *(var_2ch_2);
| if (v1 == v0) {
0x0004d770 beq v1, v0, 0x4d808 | goto label_6;
| }
0x0004d774 lb v0, (v0) | v0 = *(v0);
0x0004d778 move a1, s1 | a1 = s1;
| if (v0 == 0) {
0x0004d77c bnez v0, 0x4d7a4 |
0x0004d780 lw t9, -0x74c4(gp) | t9 = sym.imp.strlen;
0x0004d784 move a0, s1 | a0 = s1;
0x0004d788 jalr t9 | t9 ();
0x0004d78c addiu v0, v0, -1 | v0 += -1;
0x0004d790 addu v0, s1, v0 | v0 = s1 + v0;
0x0004d794 addiu v1, zero, 0x3e | v1 = 0x3e;
0x0004d798 lb a0, (v0) | a0 = *(v0);
0x0004d79c move a1, s1 | a1 = s1;
| if (a0 == v1) {
0x0004d7a0 beq a0, v1, 0x4d7e8 | goto label_7;
| }
| }
0x0004d7a4 move t9, s6 | t9 = s6;
0x0004d7a8 move a0, s0 | a0 = s0;
0x0004d7ac bal 0x4d628 | sym_ap_soak_end_container ();
| goto label_0;
0x0004d7b0 lw gp, 0x20(sp) | gp = *(var_20h);
| if (v0 == 0) {
0x0004d7b4 beqz v0, 0x4d6e4 | goto label_1;
| }
0x0004d7b8 b 0x4d728 | goto label_2;
0x0004d7bc nop |
| label_4:
0x0004d7c0 lw a1, -0x7fac(gp) | a1 = *(gp);
0x0004d7c4 lw t9, -0x76e8(gp) | t9 = sym.imp.apr_pstrcat
0x0004d7c8 lw a0, 0x28(s0) | a0 = *((s0 + 10));
| /* str.__before_end_of_configuration */
0x0004d7cc addiu a3, a3, 0x874 | a3 += aav.0x00000874;
0x0004d7d0 sw zero, 0x10(sp) | *(var_c0h) = 0;
0x0004d7d4 addiu a2, s7, 1 | a2 = s7 + 1;
| /* str.Expected___ */
0x0004d7d8 addiu a1, a1, 0x490 | a1 += aav.0x00000490;
0x0004d7dc jalr t9 | t9 ();
0x0004d7e0 lw gp, 0x20(sp) | gp = *(var_20h);
0x0004d7e4 b 0x4d728 | goto label_2;
| label_7:
0x0004d7e8 sb zero, (v0) | *(v0) = 0;
0x0004d7ec move t9, s6 | t9 = s6;
0x0004d7f0 move a0, s0 | a0 = s0;
0x0004d7f4 bal 0x4d628 | sym_ap_soak_end_container ();
| goto label_0;
0x0004d7f8 lw gp, 0x20(sp) | gp = *(var_20h);
| if (v0 == 0) {
0x0004d7fc beqz v0, 0x4d6e4 | goto label_1;
| }
0x0004d800 b 0x4d728 | goto label_2;
0x0004d804 nop |
| label_6:
0x0004d808 lw t9, -0x74c4(gp) | t9 = sym.imp.strlen;
0x0004d80c move a0, s1 | a0 = s1;
0x0004d810 jalr t9 | t9 ();
0x0004d814 lw gp, 0x20(sp) | gp = *(var_20h);
0x0004d818 addu v0, s1, v0 | v0 = s1 + v0;
0x0004d81c addiu s7, s7, 1 | s7++;
0x0004d820 lw t9, -0x7e28(gp) | t9 = sym.ap_cstr_casecmp;
0x0004d824 sb zero, -1(v0) | *((v0 - 1)) = 0;
0x0004d828 move a1, s7 | a1 = s7;
0x0004d82c addiu a0, s1, 2 | a0 = s1 + 2;
0x0004d830 jalr t9 | t9 ();
0x0004d834 lw gp, 0x20(sp) | gp = *(var_20h);
| if (v0 != 0) {
0x0004d838 beqz v0, 0x4d878 |
0x0004d83c lw v0, -0x7fac(gp) | v0 = *(gp);
0x0004d840 lw a3, -0x7fac(gp) | a3 = *(gp);
0x0004d844 lw a1, -0x7fac(gp) | a1 = *(gp);
0x0004d848 lw a0, 0x28(s0) | a0 = *((s0 + 10));
0x0004d84c lw t9, -0x76e8(gp) | t9 = sym.imp.apr_pstrcat
0x0004d850 addiu v0, v0, 0xb98 | v0 += 0xb98;
0x0004d854 sw zero, 0x18(sp) | *(var_18h_4) = 0;
0x0004d858 sw v0, 0x14(sp) | *(var_14h) = v0;
0x0004d85c sw s1, 0x10(sp) | *(var_c0h) = s1;
| /* str.__but_saw_ */
0x0004d860 addiu a3, a3, 0x484 | a3 += aav.0x00000484;
0x0004d864 move a2, s7 | a2 = s7;
| /* str.Expected___ */
0x0004d868 addiu a1, a1, 0x490 | a1 += aav.0x00000490;
0x0004d86c jalr t9 | t9 ();
0x0004d870 lw gp, 0x20(sp) | gp = *(var_20h);
0x0004d874 b 0x4d728 | goto label_2;
| }
0x0004d878 lw t9, -0x79ec(gp) | t9 = sym.ap_varbuf_free;
0x0004d87c move a0, s3 | a0 = s3;
0x0004d880 jalr t9 | t9 ();
0x0004d884 lw gp, 0x20(sp) | gp = *(var_20h);
0x0004d888 move v0, zero | v0 = 0;
0x0004d88c b 0x4d728 | goto label_2;
| label_5:
0x0004d890 lw t9, -0x75e8(gp) | t9 = sym.imp.__stack_chk_fail;
0x0004d894 jalr t9 | t9 ();
0x0004d898 nop |
| }
; assembly | /* r2dec pseudo code output */
| /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/sbin/httpd @ 0x40cb0 */
| #include <stdint.h>
|
; (fcn) sym.ap_sub_req_lookup_dirent () | void ap_sub_req_lookup_dirent () {
0x00040cb0 lui gp, 6 |
0x00040cb4 addiu gp, gp, 0x2270 |
0x00040cb8 addu gp, gp, t9 | gp += t9;
0x00040cbc addiu sp, sp, -0x38 |
0x00040cc0 lw t9, -0x7c54(gp) | t9 = *(gp);
0x00040cc4 sw s2, 0x28(sp) | *(var_28h) = s2;
0x00040cc8 move s2, a1 | s2 = a1;
0x00040ccc sw gp, 0x18(sp) | *(var_18h) = gp;
0x00040cd0 sw s4, 0x30(sp) | *(var_30h) = s4;
0x00040cd4 sw s1, 0x24(sp) | *(var_24h) = s1;
0x00040cd8 sw s0, 0x20(sp) | *(var_20h) = s0;
0x00040cdc sw ra, 0x34(sp) | *(var_34h) = ra;
0x00040ce0 sw s3, 0x2c(sp) | *(var_2ch) = s3;
0x00040ce4 move s0, a0 | s0 = a0;
0x00040ce8 move a1, a3 | a1 = a3;
0x00040cec move a0, s2 | a0 = s2;
| /* fcn.0003d940 */
0x00040cf0 addiu t9, t9, -0x26c0 | t9 += -0x26c0;
0x00040cf4 move s4, a2 | s4 = a2;
0x00040cf8 bal 0x3d940 | fcn_0003d940 ();
0x00040cfc lw v1, 0xf0(s2) | v1 = *((s2 + 60));
0x00040d00 lw gp, 0x18(sp) | gp = *(var_18h);
0x00040d04 move s1, v0 | s1 = v0;
| if (v1 == 0) {
0x00040d08 beqz v1, 0x410b0 | goto label_9;
| }
0x00040d0c lb v0, (v1) | v0 = *(v1);
0x00040d10 lw a0, (s1) | a0 = *(s1);
0x00040d14 lw a1, 0xe4(s2) | a1 = *((s2 + 57));
| if (v0 != 0) {
0x00040d18 bnez v0, 0x41028 | goto label_10;
| }
| label_7:
0x00040d1c lw t9, -0x7e88(gp) | t9 = sym.ap_make_dirstr_parent;
0x00040d20 jalr t9 | t9 ();
0x00040d24 nop |
0x00040d28 lw gp, 0x18(sp) | gp = *(var_18h);
0x00040d2c lw s3, (s1) | s3 = *(s1);
0x00040d30 lw a2, 0x5c(s0) | a2 = *((s0 + 23));
0x00040d34 lw t9, -0x7e84(gp) | t9 = sym.ap_make_full_path;
0x00040d38 move a1, v0 | a1 = v0;
0x00040d3c move a0, s3 | a0 = s3;
0x00040d40 jalr t9 | t9 ();
0x00040d44 lw gp, 0x18(sp) | gp = *(var_18h);
0x00040d48 addiu a2, zero, 1 | a2 = 1;
0x00040d4c move a1, v0 | a1 = v0;
0x00040d50 lw t9, -0x7ae0(gp) | t9 = sym.ap_os_escape_path;
0x00040d54 move a0, s3 | a0 = s3;
0x00040d58 jalr t9 | t9 ();
0x00040d5c lw gp, 0x18(sp) | gp = *(var_18h);
0x00040d60 sw v0, 0xe4(s1) | *((s1 + 57)) = v0;
| label_6:
0x00040d64 lw t9, -0x7e88(gp) | t9 = sym.ap_make_dirstr_parent;
0x00040d68 lw a1, 0xe8(s2) | a1 = *((s2 + 58));
0x00040d6c lw a0, (s1) | a0 = *(s1);
0x00040d70 jalr t9 | t9 ();
0x00040d74 lw gp, 0x18(sp) | gp = *(var_18h);
0x00040d78 lw a0, (s1) | a0 = *(s1);
0x00040d7c lw a2, 0x5c(s0) | a2 = *((s0 + 23));
0x00040d80 lw t9, -0x7e84(gp) | t9 = sym.ap_make_full_path;
0x00040d84 move a1, v0 | a1 = v0;
0x00040d88 jalr t9 | t9 ();
0x00040d8c lw gp, 0x18(sp) | gp = *(var_18h);
0x00040d90 sw v0, 0xe8(s1) | *((s1 + 58)) = v0;
0x00040d94 lw a0, 0xec(s2) | a0 = *((s2 + 59));
0x00040d98 lw v1, 0xe8(s2) | v1 = *((s2 + 58));
| if (a0 != v1) {
0x00040d9c beql a0, v1, 0x40da4 |
0x00040da0 sw v0, 0xec(s1) | *((s1 + 59)) = v0;
| }
0x00040da4 lw a0, 8(s2) | a0 = *((s2 + 2));
0x00040da8 lw v0, 4(s0) | v0 = *((s0 + 1));
0x00040dac ori v1, zero, 0x8170 | v1 = 0x8170;
0x00040db0 lw a0, 0x1c(a0) | a0 = *((a0 + 7));
0x00040db4 andi v0, v0, 0x8170 | v0 &= 0x8170;
0x00040db8 sw a0, 0x100(s1) | *(s1) = a0;
0x00040dbc addiu s3, s1, 0x160 | s3 = s1 + aav.0x00000160;
| if (v0 == v1) {
0x00040dc0 beq v0, v1, 0x40ef4 | goto label_11;
| }
0x00040dc4 lw t9, -0x7acc(gp) | t9 = sym.ap_allow_options;
0x00040dc8 move a0, s1 | a0 = s1;
0x00040dcc bal 0x368f0 | sym_ap_allow_options ();
0x00040dd0 lw gp, 0x18(sp) | gp = *(var_18h);
0x00040dd4 andi v0, v0, 4 | v0 &= 4;
0x00040dd8 lw a3, (s1) | a3 = *(s1);
0x00040ddc lw t9, -0x7250(gp) | t9 = sym.imp.apr_stat;
0x00040de0 lw a1, 0xe8(s1) | a1 = *((s1 + 58));
| if (v0 == 0) {
0x00040de4 beqz v0, 0x40e8c | goto label_12;
| }
0x00040de8 ori a2, zero, 0x8170 | a2 = 0x8170;
0x00040dec move a0, s3 | a0 = s3;
0x00040df0 jalr t9 | t9 ();
0x00040df4 lw gp, 0x18(sp) | gp = *(var_18h);
| if (v0 != 0) {
0x00040df8 bnez v0, 0x40ea0 | goto label_13;
| }
| do {
0x00040dfc lw v0, 0x16c(s1) | v0 = *(s1);
| label_0:
0x00040e00 addiu v1, zero, 6 | v1 = 6;
0x00040e04 lw t9, -0x7acc(gp) | t9 = sym.ap_allow_options;
| if (v0 == v1) {
0x00040e08 beq v0, v1, 0x40f80 | goto label_14;
| }
0x00040e0c addiu v1, zero, 2 | v1 = 2;
| if (v0 == v1) {
| label_3:
0x00040e10 beql v0, v1, 0x40fc8 | goto label_15;
| }
0x00040e14 lw s0, 0xe8(s1) | s0 = *((s1 + 58));
| label_1:
0x00040e18 lw a3, 0xf4(s2) | a3 = *((s2 + 61));
| label_5:
0x00040e1c lw a1, 0xe4(s1) | a1 = *((s1 + 57));
| if (a3 != 0) {
0x00040e20 beqz a3, 0x40e3c |
0x00040e24 lb v0, (a3) | v0 = *(a3);
0x00040e28 lw t9, -0x7d84(gp) | t9 = sym.ap_parse_uri;
| if (v0 == 0) {
0x00040e2c beqz v0, 0x40e40 | goto label_16;
| }
0x00040e30 addiu v0, zero, 1 | v0 = 1;
0x00040e34 lw a2, -0x7fac(gp) | a2 = *(gp);
| if (s4 == v0) {
0x00040e38 beq s4, v0, 0x410bc | goto label_17;
| }
| }
0x00040e3c lw t9, -0x7d84(gp) | t9 = sym.ap_parse_uri;
| label_16:
0x00040e40 move a0, s1 | a0 = s1;
0x00040e44 bal 0x2c2e0 | sym_ap_parse_uri ();
0x00040e48 lw gp, 0x18(sp) | gp = *(var_18h);
| label_8:
0x00040e4c lw t9, -0x7adc(gp) | t9 = sym.ap_is_recursion_limit_exceeded;
0x00040e50 move a0, s2 | a0 = s2;
0x00040e54 bal 0x3b310 | sym_ap_is_recursion_limit_exceeded ();
0x00040e58 lw gp, 0x18(sp) | gp = *(var_18h);
| if (v0 == 0) {
0x00040e5c beqz v0, 0x40eb8 | goto label_18;
| }
0x00040e60 addiu v0, zero, 0x1f4 | v0 = aav.0x000001f4;
0x00040e64 sw v0, 0x44(s1) | *((s1 + 17)) = v0;
0x00040e68 lw ra, 0x34(sp) | ra = *(var_34h);
| label_2:
0x00040e6c move v0, s1 | v0 = s1;
0x00040e70 lw s4, 0x30(sp) | s4 = *(var_30h);
0x00040e74 lw s3, 0x2c(sp) | s3 = *(var_2ch);
0x00040e78 lw s2, 0x28(sp) | s2 = *(var_28h);
0x00040e7c lw s1, 0x24(sp) | s1 = *(var_24h);
0x00040e80 lw s0, 0x20(sp) | s0 = *(var_20h);
0x00040e84 addiu sp, sp, 0x38 |
0x00040e88 jr ra | return v0;
| label_12:
0x00040e8c ori a2, zero, 0x8171 | a2 = 0x8171;
0x00040e90 move a0, s3 | a0 = s3;
0x00040e94 jalr t9 | t9 ();
0x00040e98 lw gp, 0x18(sp) | gp = *(var_18h);
0x00040e9c beqz v0, 0x40dfc |
| } while (v0 == 0);
| label_13:
0x00040ea0 lui v1, 1 | v1 = 0x11178;
0x00040ea4 addiu v1, v1, 0x1178 |
| if (v0 == v1) {
0x00040ea8 beql v0, v1, 0x40e00 | goto label_0;
| }
0x00040eac lw v0, 0x16c(s1) | v0 = *(s1);
0x00040eb0 sw zero, 0x16c(s1) | *(s1) = 0;
0x00040eb4 b 0x40e18 | goto label_1;
| label_18:
0x00040eb8 lw t9, -0x7ad4(gp) | t9 = sym.ap_process_request_internal;
0x00040ebc move a0, s1 | a0 = s1;
0x00040ec0 bal 0x3f9dc | sym_ap_process_request_internal ();
0x00040ec4 lw ra, 0x34(sp) | ra = *(var_34h);
| if (v0 == 0) {
0x00040ec8 beqz v0, 0x40e6c | goto label_2;
| }
| label_4:
0x00040ecc lw ra, 0x34(sp) | ra = *(var_34h);
0x00040ed0 sw v0, 0x44(s1) | *((s1 + 17)) = v0;
0x00040ed4 lw s4, 0x30(sp) | s4 = *(var_30h);
0x00040ed8 move v0, s1 | v0 = s1;
0x00040edc lw s3, 0x2c(sp) | s3 = *(var_2ch);
0x00040ee0 lw s2, 0x28(sp) | s2 = *(var_28h);
0x00040ee4 lw s1, 0x24(sp) | s1 = *(var_24h);
0x00040ee8 lw s0, 0x20(sp) | s0 = *(var_20h);
0x00040eec addiu sp, sp, 0x38 |
0x00040ef0 jr ra | return v0;
| label_11:
0x00040ef4 move a0, s0 | a0 = s0;
0x00040ef8 move v0, s3 | v0 = s3;
0x00040efc addiu t0, s0, 0x60 | t0 = s0 + 0x60;
| do {
0x00040f00 lwl a3, 3(a0) | __asm ("lwl a3, 3(a0)");
0x00040f04 lwl a2, 7(a0) | __asm ("lwl a2, 7(a0)");
0x00040f08 lwl a1, 0xb(a0) | __asm ("lwl a1, 0xb(a0)");
0x00040f0c lwl v1, 0xf(a0) | __asm ("lwl v1, 0xf(a0)");
0x00040f10 lwr a3, (a0) | __asm ("lwr a3, (a0)");
0x00040f14 lwr a2, 4(a0) | __asm ("lwr a2, 4(a0)");
0x00040f18 lwr v1, 0xc(a0) | __asm ("lwr v1, 0xc(a0)");
0x00040f1c lwr a1, 8(a0) | __asm ("lwr a1, 8(a0)");
0x00040f20 swl a3, 3(v0) | __asm ("swl a3, 3(v0)");
0x00040f24 swr a3, (v0) | __asm ("swr a3, (v0)");
0x00040f28 swl a2, 7(v0) | __asm ("swl a2, 7(v0)");
0x00040f2c swr a2, 4(v0) | __asm ("swr a2, 4(v0)");
0x00040f30 swl a1, 0xb(v0) | __asm ("swl a1, 0xb(v0)");
0x00040f34 swr a1, 8(v0) | __asm ("swr a1, 8(v0)");
0x00040f38 addiu a0, a0, 0x10 | a0 += 0x10;
0x00040f3c swl v1, 0xf(v0) | __asm ("swl v1, 0xf(v0)");
0x00040f40 swr v1, 0xc(v0) | __asm ("swr v1, 0xc(v0)");
0x00040f44 addiu v0, v0, 0x10 | v0 += 0x10;
0x00040f48 bne a0, t0, 0x40f00 |
| } while (a0 != t0);
0x00040f4c lwl a1, 3(a0) | __asm ("lwl a1, 3(a0)");
0x00040f50 lwl v1, 7(a0) | __asm ("lwl v1, 7(a0)");
0x00040f54 lwr a1, (a0) | __asm ("lwr a1, (a0)");
0x00040f58 lwr v1, 4(a0) | __asm ("lwr v1, 4(a0)");
0x00040f5c swl a1, 3(v0) | __asm ("swl a1, 3(v0)");
0x00040f60 swr a1, (v0) | __asm ("swr a1, (v0)");
0x00040f64 swl v1, 7(v0) | __asm ("swl v1, 7(v0)");
0x00040f68 swr v1, 4(v0) | __asm ("swr v1, 4(v0)");
0x00040f6c lw v0, 0x16c(s1) | v0 = *(s1);
0x00040f70 addiu v1, zero, 6 | v1 = 6;
0x00040f74 addiu v1, zero, 2 | v1 = 2;
| if (v0 != v1) {
0x00040f78 bne v0, v1, 0x40e10 | goto label_3;
| }
0x00040f7c lw t9, -0x7acc(gp) | t9 = sym.ap_allow_options;
| label_14:
0x00040f80 move a0, s1 | a0 = s1;
0x00040f84 lw s0, 0xe8(s1) | s0 = *((s1 + 58));
0x00040f88 bal 0x368f0 | sym_ap_allow_options ();
0x00040f8c lw gp, 0x18(sp) | gp = *(var_18h);
0x00040f90 lw a3, (s1) | a3 = *(s1);
0x00040f94 move a2, v0 | a2 = v0;
0x00040f98 lw t9, -0x7c54(gp) | t9 = *(gp);
0x00040f9c move a1, s3 | a1 = s3;
| /* fcn.0003bcec */
0x00040fa0 addiu t9, t9, -0x4314 | t9 += -0x4314;
0x00040fa4 move a0, s0 | a0 = s0;
0x00040fa8 bal 0x3bcec | fcn_0003bcec ();
0x00040fac lw gp, 0x18(sp) | gp = *(var_18h);
| if (v0 != 0) {
0x00040fb0 bnez v0, 0x40ecc | goto label_4;
| }
0x00040fb4 lw v0, 0x16c(s1) | v0 = *(s1);
0x00040fb8 addiu v1, zero, 2 | v1 = 2;
0x00040fbc lw a3, 0xf4(s2) | a3 = *((s2 + 61));
| if (v0 == v1) {
0x00040fc0 bnel v0, v1, 0x40e1c | goto label_5;
| }
0x00040fc4 lw s0, 0xe8(s1) | s0 = *((s1 + 58));
| label_15:
0x00040fc8 lw t9, -0x74c4(gp) | t9 = sym.imp.strlen;
0x00040fcc move a0, s0 | a0 = s0;
0x00040fd0 jalr t9 | t9 ();
0x00040fd4 addu v0, s0, v0 | v0 = s0 + v0;
0x00040fd8 addiu v1, zero, 0x2f | v1 = 0x2f;
0x00040fdc lw gp, 0x18(sp) | gp = *(var_18h);
0x00040fe0 sb v1, (v0) | *(v0) = v1;
0x00040fe4 sb zero, 1(v0) | *((v0 + 1)) = 0;
0x00040fe8 lw v0, 0xf0(s1) | v0 = *((s1 + 60));
| if (v0 == 0) {
0x00040fec beql v0, zero, 0x41004 | goto label_19;
| }
0x00040ff0 lw s0, 0xe4(s1) | s0 = *((s1 + 57));
0x00040ff4 lb v0, (v0) | v0 = *(v0);
0x00040ff8 lw a3, 0xf4(s2) | a3 = *((s2 + 61));
| if (v0 == 0) {
0x00040ffc bnel v0, zero, 0x40e1c | goto label_5;
| }
0x00041000 lw s0, 0xe4(s1) | s0 = *((s1 + 57));
| label_19:
0x00041004 lw t9, -0x74c4(gp) | t9 = sym.imp.strlen;
0x00041008 move a0, s0 | a0 = s0;
0x0004100c jalr t9 | t9 ();
0x00041010 addu v0, s0, v0 | v0 = s0 + v0;
0x00041014 addiu v1, zero, 0x2f | v1 = 0x2f;
0x00041018 lw gp, 0x18(sp) | gp = *(var_18h);
0x0004101c sb v1, (v0) | *(v0) = v1;
0x00041020 sb zero, 1(v0) | *((v0 + 1)) = 0;
0x00041024 b 0x40e18 | goto label_1;
| label_10:
0x00041028 lw t9, -0x7654(gp) | t9 = sym.imp.apr_pstrdup;
0x0004102c jalr t9 | t9 ();
0x00041030 nop |
0x00041034 lw gp, 0x18(sp) | gp = *(var_18h);
0x00041038 lw a1, 0xf0(s2) | a1 = *((s2 + 60));
0x0004103c move a0, v0 | a0 = v0;
0x00041040 lw t9, -0x7ac8(gp) | t9 = sym.ap_find_path_info;
0x00041044 move s3, v0 | s3 = v0;
0x00041048 bal 0x54efc | sym_ap_find_path_info ();
0x0004104c addu v0, s3, v0 | v0 = s3 + v0;
0x00041050 lw gp, 0x18(sp) | gp = *(var_18h);
0x00041054 sb zero, (v0) | *(v0) = 0;
0x00041058 lw a0, (s1) | a0 = *(s1);
0x0004105c lw t9, -0x7e88(gp) | t9 = sym.ap_make_dirstr_parent;
0x00041060 move a1, s3 | a1 = s3;
0x00041064 jalr t9 | t9 ();
0x00041068 lw gp, 0x18(sp) | gp = *(var_18h);
0x0004106c lw a2, 0x5c(s0) | a2 = *((s0 + 23));
0x00041070 lw a0, (s1) | a0 = *(s1);
0x00041074 lw t9, -0x7e84(gp) | t9 = sym.ap_make_full_path;
0x00041078 move a1, v0 | a1 = v0;
0x0004107c jalr t9 | t9 ();
0x00041080 move a1, v0 | a1 = v0;
0x00041084 addiu v0, zero, 1 | v0 = 1;
0x00041088 lw gp, 0x18(sp) | gp = *(var_18h);
0x0004108c sw a1, 0xe4(s1) | *((s1 + 57)) = a1;
0x00041090 beq s4, v0, 0x410ec |
| while (1) {
0x00041094 lw t9, -0x7ae0(gp) | t9 = sym.ap_os_escape_path;
0x00041098 lw a0, (s1) | a0 = *(s1);
0x0004109c addiu a2, zero, 1 | a2 = 1;
0x000410a0 jalr t9 | t9 ();
0x000410a4 lw gp, 0x18(sp) | gp = *(var_18h);
0x000410a8 sw v0, 0xe4(s1) | *((s1 + 57)) = v0;
0x000410ac b 0x40d64 | goto label_6;
| label_9:
0x000410b0 lw a0, (v0) | a0 = *(v0);
0x000410b4 lw a1, 0xe4(s2) | a1 = *((s2 + 57));
0x000410b8 b 0x40d1c | goto label_7;
| label_17:
0x000410bc lw t9, -0x76e8(gp) | t9 = sym.imp.apr_pstrcat
0x000410c0 lw a0, (s2) | a0 = *(s2);
0x000410c4 addiu a2, a2, -0xc80 | a2 += -0xc80;
0x000410c8 sw zero, 0x10(sp) | *(var_10h) = 0;
0x000410cc jalr t9 | t9 ();
0x000410d0 lw gp, 0x18(sp) | gp = *(var_18h);
0x000410d4 move a1, v0 | a1 = v0;
0x000410d8 lw t9, -0x7d84(gp) | t9 = sym.ap_parse_uri;
0x000410dc move a0, s1 | a0 = s1;
0x000410e0 bal 0x2c2e0 | sym_ap_parse_uri ();
0x000410e4 lw gp, 0x18(sp) | gp = *(var_18h);
0x000410e8 b 0x40e4c | goto label_8;
0x000410ec lw a2, 0xf0(s2) | a2 = *((s2 + 60));
0x000410f0 lw t9, -0x7e84(gp) | t9 = sym.ap_make_full_path;
0x000410f4 lw a0, (s1) | a0 = *(s1);
| /* esilref: '_hack_ap_register_input_filter' */
0x000410f8 addiu a2, a2, 1 | a2++;
0x000410fc jalr t9 | t9 ();
0x00041100 lw gp, 0x18(sp) | gp = *(var_18h);
0x00041104 lw a1, 0xf0(s2) | a1 = *((s2 + 60));
0x00041108 lw a0, (s1) | a0 = *(s1);
0x0004110c lw t9, -0x7654(gp) | t9 = sym.imp.apr_pstrdup;
0x00041110 sw v0, 0xe4(s1) | *((s1 + 57)) = v0;
0x00041114 jalr t9 | t9 ();
0x00041118 lw gp, 0x18(sp) | gp = *(var_18h);
0x0004111c lw a1, 0xe4(s1) | a1 = *((s1 + 57));
0x00041120 sw v0, 0xf0(s1) | *((s1 + 60)) = v0;
0x00041124 b 0x41094 |
| }
| }
; assembly | /* r2dec pseudo code output */
| /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/sbin/httpd @ 0x4ca70 */
| #include <stdint.h>
|
; (fcn) sym.ap_walk_config () | void ap_walk_config () {
0x0004ca70 lui gp, 5 |
0x0004ca74 addiu gp, gp, 0x64b0 |
0x0004ca78 addu gp, gp, t9 | gp += t9;
0x0004ca7c addiu sp, sp, -0x60 |
0x0004ca80 lw v0, 0x3c(a1) | v0 = *((a1 + 15));
0x0004ca84 sw gp, 0x20(sp) | *(var_20h) = gp;
0x0004ca88 sw fp, 0x58(sp) | *(var_58h) = fp;
0x0004ca8c sw ra, 0x5c(sp) | *(var_5ch) = ra;
0x0004ca90 sw s7, 0x54(sp) | *(var_54h) = s7;
0x0004ca94 sw s6, 0x50(sp) | *(var_50h) = s6;
0x0004ca98 sw s5, 0x4c(sp) | *(var_4ch) = s5;
0x0004ca9c sw s4, 0x48(sp) | *(var_48h) = s4;
0x0004caa0 sw s3, 0x44(sp) | *(var_44h) = s3;
0x0004caa4 sw s2, 0x40(sp) | *(var_40h) = s2;
0x0004caa8 sw s1, 0x3c(sp) | *(var_3ch) = s1;
0x0004caac sw s0, 0x38(sp) | *(var_38h) = s0;
0x0004cab0 move fp, a1 | fp = a1;
0x0004cab4 sw v0, 0x30(sp) | *(var_30h) = v0;
0x0004cab8 sw a2, 0x3c(a1) | *((a1 + 15)) = a2;
| if (a0 == 0) {
0x0004cabc beqz a0, 0x4cbcc | goto label_5;
| }
0x0004cac0 lw v0, -0x7fac(gp) | v0 = *(gp);
0x0004cac4 lw s7, -0x7fac(gp) | s7 = *(gp);
0x0004cac8 lw s3, -0x7a1c(gp) | s3 = *(gp);
0x0004cacc lw s2, -0x7fac(gp) | s2 = *(gp);
0x0004cad0 sw v0, 0x2c(sp) | *(var_2ch) = v0;
0x0004cad4 lw s5, -0x7f14(gp) | s5 = *((gp - 8133));
| /* str.AH02296:_Unknown_directive__s_perhaps_misspelled_or_defined_by_a_module_not_included_in_the_server_configuration */
0x0004cad8 addiu v0, s7, 0x750 | v0 = s7 + aav.0x00000750;
0x0004cadc move s4, a2 | s4 = a2;
0x0004cae0 move s0, a0 | s0 = a0;
0x0004cae4 sw v0, 0x34(sp) | *(var_34h) = v0;
| /* fcn.00049024 */
0x0004cae8 addiu s3, s3, -0x6fdc | s3 += -0x6fdc;
0x0004caec addiu s2, s2, 0x36c | s2 += aav.0x0000036c;
| label_3:
0x0004caf0 lw a1, (s0) | a1 = *(s0);
| label_0:
0x0004caf4 lw t9, -0x7654(gp) | t9 = sym.imp.apr_pstrdup;
0x0004caf8 lw a0, 0x2c(fp) | a0 = *(arg_2ch);
0x0004cafc sw s0, 0x24(fp) | *(arg_24h) = s0;
0x0004cb00 jalr t9 | t9 ();
0x0004cb04 lw gp, 0x20(sp) | gp = *(var_20h);
0x0004cb08 move a0, v0 | a0 = v0;
0x0004cb0c lw t9, -0x7ec4(gp) | t9 = sym.ap_str_tolower;
0x0004cb10 move s1, v0 | s1 = v0;
0x0004cb14 jalr t9 | t9 ();
0x0004cb18 lw gp, 0x20(sp) | gp = *(var_20h);
0x0004cb1c lw a0, -0x3c50(s5) | a0 = *((s5 - 3860));
0x0004cb20 addiu a2, zero, -1 | a2 = -1;
0x0004cb24 lw t9, -0x7200(gp) | t9 = sym.imp.apr_hash_get;
0x0004cb28 move a1, s1 | a1 = s1;
0x0004cb2c jalr t9 | t9 ();
0x0004cb30 move s6, v0 | s6 = v0;
0x0004cb34 lw gp, 0x20(sp) | gp = *(var_20h);
| if (v0 == 0) {
0x0004cb38 beqz v0, 0x4cc0c | goto label_6;
| }
0x0004cb3c lw s1, -0x7bb0(gp) | s1 = sym.ap_set_config_vectors;
0x0004cb40 lw v0, 0x28(fp) | v0 = *(arg_28h);
| do {
0x0004cb44 lw a2, 0x34(fp) | a2 = *(arg_34h);
0x0004cb48 lw a0, 0x30(fp) | a0 = *(arg_30h);
0x0004cb4c lw a3, 4(s6) | a3 = *((s6 + 1));
0x0004cb50 move a1, s4 | a1 = s4;
0x0004cb54 move t9, s1 | t9 = s1;
0x0004cb58 sw v0, 0x10(sp) | *(var_10h) = v0;
0x0004cb5c bal 0x4c74c | sym_ap_set_config_vectors ();
0x0004cb60 lw a2, 8(s6) | a2 = *((s6 + 2));
0x0004cb64 lw gp, 0x20(sp) | gp = *(var_20h);
0x0004cb68 move a0, a2 | a0 = a2;
0x0004cb6c lw a3, 0xc(a2) | a3 = *((a2 + 3));
0x0004cb70 move a1, fp | a1 = fp;
0x0004cb74 andi a3, a3, 0x100 | a3 &= aav.0x00000100;
0x0004cb78 move a2, v0 | a2 = v0;
| if (a3 == 0) {
0x0004cb7c bnez a3, 0x4cbb4 |
0x0004cb80 move t9, s3 | t9 = s3;
0x0004cb84 lw a3, 4(s0) | a3 = *((s0 + 1));
0x0004cb88 bal 0x49024 | fcn_00049024 ();
0x0004cb8c lw gp, 0x20(sp) | gp = *(var_20h);
0x0004cb90 move a1, s2 | a1 = s2;
0x0004cb94 move s7, v0 | s7 = v0;
0x0004cb98 move a0, v0 | a0 = v0;
0x0004cb9c lw t9, -0x7740(gp) | t9 = sym.imp.strcmp;
| if (v0 == 0) {
0x0004cba0 beqz v0, 0x4cbb4 | goto label_7;
| }
0x0004cba4 jalr t9 | t9 ();
0x0004cba8 nop |
0x0004cbac lw gp, 0x20(sp) | gp = *(var_20h);
| if (v0 != 0) {
0x0004cbb0 bnez v0, 0x4cc88 | goto label_8;
| }
| }
| label_7:
0x0004cbb4 lw s6, (s6) | s6 = *(s6);
0x0004cbb8 lw v0, 0x28(fp) | v0 = *(arg_28h);
0x0004cbbc bnel s6, zero, 0x4cb44 |
| } while (s6 == 0);
| label_1:
0x0004cbc0 lw s0, 8(s0) | s0 = *((s0 + 2));
0x0004cbc4 lw a1, (s0) | a1 = *(s0);
| if (s0 == 0) {
0x0004cbc8 bnel s0, zero, 0x4caf4 | goto label_0;
| }
| label_5:
0x0004cbcc lw v0, 0x30(sp) | v0 = *(var_30h);
| label_4:
0x0004cbd0 lw ra, 0x5c(sp) | ra = *(var_5ch);
0x0004cbd4 move s7, zero | s7 = 0;
0x0004cbd8 sw v0, 0x3c(fp) | *(arg_3ch) = v0;
0x0004cbdc lw s6, 0x50(sp) | s6 = *(var_50h);
0x0004cbe0 move v0, s7 | v0 = s7;
0x0004cbe4 lw fp, 0x58(sp) | fp = *(var_58h);
0x0004cbe8 lw s7, 0x54(sp) | s7 = *(var_54h);
0x0004cbec lw s5, 0x4c(sp) | s5 = *(var_4ch);
0x0004cbf0 lw s4, 0x48(sp) | s4 = *(var_48h);
0x0004cbf4 lw s3, 0x44(sp) | s3 = *(var_44h);
0x0004cbf8 lw s2, 0x40(sp) | s2 = *(var_40h);
0x0004cbfc lw s1, 0x3c(sp) | s1 = *(var_3ch);
0x0004cc00 lw s0, 0x38(sp) | s0 = *(var_38h);
0x0004cc04 addiu sp, sp, 0x60 |
0x0004cc08 jr ra | return v0;
| label_6:
0x0004cc0c lw v0, 4(fp) | v0 = *(arg_4h);
0x0004cc10 andi v0, v0, 0x400 | v0 &= aav.0x00000400;
0x0004cc14 sw s0, 0x40(fp) | *(arg_40h) = s0;
| if (v0 != 0) {
0x0004cc18 bnez v0, 0x4cca0 | goto label_9;
| }
0x0004cc1c lw a1, -0x7fac(gp) | a1 = *(gp);
0x0004cc20 lw v0, 0x2c(sp) | v0 = *(var_2ch);
0x0004cc24 lw t9, -0x76e8(gp) | t9 = sym.imp.apr_pstrcat
0x0004cc28 lw a2, (s0) | a2 = *(s0);
0x0004cc2c lw a0, 0x28(fp) | a0 = *(arg_28h);
0x0004cc30 addiu a3, v0, 0x404 | a3 = v0 + aav.0x00000404;
0x0004cc34 sw zero, 0x10(sp) | *(var_10h) = 0;
| /* str.Invalid_command_ */
0x0004cc38 addiu a1, a1, 0x45c | a1 += aav.0x0000045c;
0x0004cc3c jalr t9 | t9 ();
0x0004cc40 move s7, v0 | s7 = v0;
0x0004cc44 lw gp, 0x20(sp) | gp = *(var_20h);
| if (v0 == 0) {
0x0004cc48 beqz v0, 0x4cbc0 | goto label_1;
| }
0x0004cc4c lw v0, 0x30(sp) | v0 = *(var_30h);
| do {
0x0004cc50 sw v0, 0x3c(fp) | *(arg_3ch) = v0;
| label_2:
0x0004cc54 lw ra, 0x5c(sp) | ra = *(var_5ch);
0x0004cc58 move v0, s7 | v0 = s7;
0x0004cc5c lw fp, 0x58(sp) | fp = *(var_58h);
0x0004cc60 lw s7, 0x54(sp) | s7 = *(var_54h);
0x0004cc64 lw s6, 0x50(sp) | s6 = *(var_50h);
0x0004cc68 lw s5, 0x4c(sp) | s5 = *(var_4ch);
0x0004cc6c lw s4, 0x48(sp) | s4 = *(var_48h);
0x0004cc70 lw s3, 0x44(sp) | s3 = *(var_44h);
0x0004cc74 lw s2, 0x40(sp) | s2 = *(var_40h);
0x0004cc78 lw s1, 0x3c(sp) | s1 = *(var_3ch);
0x0004cc7c lw s0, 0x38(sp) | s0 = *(var_38h);
0x0004cc80 addiu sp, sp, 0x60 |
0x0004cc84 jr ra | return v0;
| label_8:
0x0004cc88 lw v0, 0x40(fp) | v0 = *(arg_40h);
0x0004cc8c lw v0, 0x30(sp) | v0 = *(var_30h);
0x0004cc90 bnez v0, 0x4cc50 |
| } while (v0 != 0);
0x0004cc94 sw s0, 0x40(fp) | *(arg_40h) = s0;
0x0004cc98 sw v0, 0x3c(fp) | *(arg_3ch) = v0;
0x0004cc9c b 0x4cc54 | goto label_2;
| label_9:
0x0004cca0 lw v0, 0x2c(fp) | v0 = *(arg_2ch);
0x0004cca4 lw a0, -0x7fac(gp) | a0 = *(gp);
0x0004cca8 lw v1, 0x34(sp) | v1 = *(var_34h);
0x0004ccac lw t9, -0x7ec8(gp) | t9 = sym.ap_log_perror_;
0x0004ccb0 sw s1, 0x1c(sp) | *(var_1ch) = s1;
0x0004ccb4 sw v1, 0x18(sp) | *(var_18h) = v1;
0x0004ccb8 sw v0, 0x14(sp) | *(var_14h) = v0;
0x0004ccbc sw zero, 0x10(sp) | *(var_10h) = 0;
0x0004ccc0 addiu a3, zero, 4 | a3 = 4;
0x0004ccc4 move a2, zero | a2 = 0;
0x0004ccc8 addiu a1, zero, 0x521 | a1 = 0x521;
| /* str._usr_src_debug_apache2_2.4.57_r0_httpd_2.4.57_server_config.c */
0x0004cccc addiu a0, a0, 0x1f0 | a0 += aav.0x000001f0;
0x0004ccd0 bal 0x52cec | sym_ap_log_perror_ ();
0x0004ccd4 lw s0, 8(s0) | s0 = *((s0 + 2));
0x0004ccd8 lw gp, 0x20(sp) | gp = *(var_20h);
| if (s0 != 0) {
0x0004ccdc bnez s0, 0x4caf0 | goto label_3;
| }
0x0004cce0 lw v0, 0x30(sp) | v0 = *(var_30h);
0x0004cce4 b 0x4cbd0 | goto label_4;
| }
[*] Function strcat used 78 times httpd