[*] Binary protection state of editcgi.cgi
Full RELRO Canary found NX disabled PIE enabled No RPATH No RUNPATH No Symbols
[*] Function strcpy tear down of editcgi.cgi
; assembly | /* r2dec pseudo code output */
| /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/bin/editcgi.cgi @ 0x1170 */
| #include <stdint.h>
|
; (fcn) main () | int32_t main () {
| /* [13] -r-x section size 9200 named .text */
0x00001170 lui gp, 2 |
0x00001174 addiu gp, gp, -0x4160 |
0x00001178 addu gp, gp, t9 | gp += t9;
0x0000117c addiu sp, sp, -0x1b8 |
0x00001180 lw t9, -0x7fd8(gp) | t9 = sym.editcgi_is_enabled;
0x00001184 sw s0, 0x190(sp) | *(var_190h) = s0;
0x00001188 lw s0, -0x7ed8(gp) | s0 = *((gp - 8118));
0x0000118c sw gp, 0x18(sp) | *(var_18h) = gp;
0x00001190 sw s7, 0x1ac(sp) | *(var_1ach) = s7;
0x00001194 lw v0, (s0) | v0 = *(s0);
0x00001198 sw s2, 0x198(sp) | *(var_198h) = s2;
0x0000119c sw ra, 0x1b4(sp) | *(var_1b4h) = ra;
0x000011a0 sw fp, 0x1b0(sp) | *(var_1b0h) = fp;
0x000011a4 sw s6, 0x1a8(sp) | *(var_1a8h) = s6;
0x000011a8 sw s5, 0x1a4(sp) | *(var_1a4h) = s5;
0x000011ac sw s4, 0x1a0(sp) | *(var_1a0h) = s4;
0x000011b0 sw s3, 0x19c(sp) | *(var_19ch) = s3;
0x000011b4 sw s1, 0x194(sp) | *(var_194h) = s1;
0x000011b8 sw v0, 0x18c(sp) | *(var_18ch) = v0;
0x000011bc move s2, a0 | s2 = a0;
0x000011c0 move s7, a1 | s7 = a1;
0x000011c4 bal 0x1e5c | sym_editcgi_is_enabled ();
0x000011c8 lw gp, 0x18(sp) | gp = *(var_18h);
| if (v0 == 0) {
0x000011cc beqz v0, 0x1890 | goto label_13;
| }
0x000011d0 lw a0, -0x7fdc(gp) | a0 = *((gp - 8183));
0x000011d4 lw t9, -0x7ef8(gp) | t9 = sym.imp.getenv;
0x000011d8 addiu a0, a0, 0x39c0 | a0 += str.REQUEST_METHOD;
0x000011dc jalr t9 | t9 ();
0x000011e0 lw gp, 0x18(sp) | gp = *(var_18h);
0x000011e4 move s1, v0 | s1 = v0;
0x000011e8 lw a0, -0x7fdc(gp) | a0 = *((gp - 8183));
0x000011ec lw t9, -0x7ef8(gp) | t9 = sym.imp.getenv;
0x000011f0 addiu a0, a0, 0x39d0 | a0 += str.QUERY_STRING;
0x000011f4 jalr t9 | t9 ();
0x000011f8 lw gp, 0x18(sp) | gp = *(var_18h);
0x000011fc move s3, v0 | s3 = v0;
0x00001200 lw a0, -0x7fdc(gp) | a0 = *((gp - 8183));
0x00001204 lw t9, -0x7ef8(gp) | t9 = sym.imp.getenv;
0x00001208 addiu a0, a0, 0x39e0 | a0 += str.SCRIPT_NAME;
0x0000120c jalr t9 | t9 ();
0x00001210 move s4, v0 | s4 = v0;
0x00001214 lw gp, 0x18(sp) | gp = *(var_18h);
| if (s3 == 0) {
0x00001218 beqz s3, 0x192c | goto label_14;
| }
| if (s4 != 0) {
| label_3:
0x0000121c beql s4, zero, 0x1224 |
0x00001220 lw s4, (s7) | s4 = *(s7);
| }
0x00001224 lw a0, -0x7fdc(gp) | a0 = *((gp - 8183));
0x00001228 lw t9, -0x7f00(gp) | t9 = sym.imp.puts;
0x0000122c addiu a0, a0, 0x39ec | a0 += str.Content_Type:_text_html_n;
0x00001230 jalr t9 | t9 ();
0x00001234 lw gp, 0x18(sp) | gp = *(var_18h);
0x00001238 lw t9, -0x7fd4(gp) | t9 = sym.url_parameter_type_init;
0x0000123c move a0, s3 | a0 = s3;
0x00001240 bal 0x2944 | sym_url_parameter_type_init ();
0x00001244 lw gp, 0x18(sp) | gp = *(var_18h);
0x00001248 move a2, zero | a2 = 0;
0x0000124c move a0, v0 | a0 = v0;
0x00001250 lw a1, -0x7fdc(gp) | a1 = *((gp - 8183));
0x00001254 lw t9, -0x7fd0(gp) | t9 = sym.url_parameter_get_data;
0x00001258 addiu a1, a1, 0x3a08 | a1 += str.debug;
0x0000125c move s2, v0 | s2 = v0;
0x00001260 bal 0x22fc | sym_url_parameter_get_data ();
0x00001264 lw gp, 0x18(sp) | gp = *(var_18h);
0x00001268 lw s6, -0x7fcc(gp) | s6 = *((gp - 8179));
| if (v0 != 0) {
0x0000126c beqz v0, 0x1278 |
0x00001270 addiu v0, zero, 1 | v0 = 1;
0x00001274 sw v0, 0x5584(s6) | *((s6 + 5473)) = v0;
| }
0x00001278 lw a1, -0x7fdc(gp) | a1 = *((gp - 8183));
0x0000127c lw t9, -0x7fd0(gp) | t9 = sym.url_parameter_get_data;
0x00001280 move a2, zero | a2 = 0;
0x00001284 addiu a1, a1, 0x3a10 | a1 += 0x3a10;
0x00001288 move a0, s2 | a0 = s2;
0x0000128c bal 0x22fc | sym_url_parameter_get_data ();
0x00001290 lw gp, 0x18(sp) | gp = *(var_18h);
0x00001294 lw s5, -0x7fcc(gp) | s5 = *((gp - 8179));
| if (v0 != 0) {
0x00001298 beqz v0, 0x12a4 |
0x0000129c addiu v0, zero, 1 | v0 = 1;
0x000012a0 sw v0, 0x5580(s5) | *((s5 + 5472)) = v0;
| }
0x000012a4 lw a0, -0x7fdc(gp) | a0 = *((gp - 8183));
0x000012a8 lw t9, -0x7ef8(gp) | t9 = sym.imp.getenv;
0x000012ac addiu a0, a0, 0x3a14 | a0 += str.REQUEST_URI;
0x000012b0 jalr t9 | t9 ();
0x000012b4 sw v0, 0x20(sp) | *(var_20h) = v0;
0x000012b8 lw gp, 0x18(sp) | gp = *(var_18h);
| if (s1 == 0) {
0x000012bc beqz s1, 0x1a38 | goto label_15;
| }
0x000012c0 lw fp, -0x7fdc(gp) | fp = *((gp - 8183));
| label_8:
0x000012c4 lw a0, -0x7fdc(gp) | a0 = *((gp - 8183));
0x000012c8 lw t9, -0x7f00(gp) | t9 = sym.imp.puts;
0x000012cc addiu a0, a0, 0x3a64 | a0 += str._html__body_;
0x000012d0 jalr t9 | t9 ();
0x000012d4 lw v0, 0x5584(s6) | v0 = *((s6 + 5473));
0x000012d8 lw gp, 0x18(sp) | gp = *(var_18h);
| if (v0 != 0) {
0x000012dc bnez v0, 0x15e0 | goto label_16;
| }
| label_2:
0x000012e0 lw v0, 0x5580(s5) | v0 = *((s5 + 5472));
0x000012e4 lw a0, -0x7fdc(gp) | a0 = *((gp - 8183));
| if (v0 != 0) {
0x000012e8 bnez v0, 0x1570 | goto label_17;
| }
| label_1:
0x000012ec lw t9, -0x7eb8(gp) | t9 = sym.imp.strcmp;
0x000012f0 addiu a1, fp, 0x391c | a1 = fp + 0x391c;
0x000012f4 move a0, s1 | a0 = s1;
0x000012f8 jalr t9 | t9 ();
0x000012fc lw gp, 0x18(sp) | gp = *(var_18h);
| if (v0 == 0) {
0x00001300 beqz v0, 0x13e4 | goto label_18;
| }
0x00001304 lw a1, -0x7fdc(gp) | a1 = *((gp - 8183));
0x00001308 lw t9, -0x7eb8(gp) | t9 = sym.imp.strcmp;
0x0000130c addiu a1, a1, 0x3e88 | a1 += str.POST;
0x00001310 move a0, s1 | a0 = s1;
0x00001314 jalr t9 | t9 ();
0x00001318 move s3, v0 | s3 = v0;
0x0000131c lw gp, 0x18(sp) | gp = *(var_18h);
| if (v0 != 0) {
0x00001320 bnez v0, 0x18e8 | goto label_19;
| }
0x00001324 lw a0, -0x7fdc(gp) | a0 = *((gp - 8183));
0x00001328 lw t9, -0x7ef8(gp) | t9 = sym.imp.getenv;
0x0000132c addiu a0, a0, 0x3e90 | a0 += str.CONTENT_LENGTH;
0x00001330 sw zero, 0x30(sp) | *(var_30h) = 0;
0x00001334 jalr t9 | t9 ();
0x00001338 lw gp, 0x18(sp) | gp = *(var_18h);
0x0000133c addiu a2, zero, 0xa | a2 = 0xa;
0x00001340 move a1, zero | a1 = 0;
0x00001344 lw t9, -0x7f74(gp) | t9 = sym.imp.strtol;
0x00001348 move a0, v0 | a0 = v0;
0x0000134c jalr t9 | t9 ();
0x00001350 lw gp, 0x18(sp) | gp = *(var_18h);
0x00001354 addiu a0, v0, 1 | a0 = v0 + 1;
0x00001358 lw t9, -0x7efc(gp) | t9 = sym.imp.malloc;
0x0000135c move s1, v0 | s1 = v0;
0x00001360 jalr t9 | t9 ();
0x00001364 move s5, v0 | s5 = v0;
0x00001368 lw gp, 0x18(sp) | gp = *(var_18h);
| if (s1 == 0) {
0x0000136c beqz s1, 0x164c | goto label_20;
| }
0x00001370 lw v0, -0x7fdc(gp) | v0 = *((gp - 8183));
0x00001374 lw s7, -0x7f2c(gp) | s7 = *((gp - 8139));
0x00001378 addiu v0, v0, 0x3ed0 | v0 += str.read_stdin:;
0x0000137c move fp, zero | fp = 0;
0x00001380 addiu s6, zero, -1 | s6 = -1;
0x00001384 sw v0, 0x24(sp) | *(var_24h) = v0;
0x00001388 b 0x139c |
| while (v0 != s6) {
| label_0:
0x0000138c addu s3, s3, v0 | s3 += v0;
0x00001390 sltu v0, s3, s1 | v0 = (s3 < s1) ? 1 : 0;
0x00001394 move fp, s3 | fp = s3;
| if (v0 == 0) {
0x00001398 beqz v0, 0x164c | goto label_20;
| }
0x0000139c lw t9, -0x7f40(gp) | t9 = sym.imp.fileno;
0x000013a0 lw a0, (s7) | a0 = *(s7);
0x000013a4 jalr t9 | t9 ();
0x000013a8 lw gp, 0x18(sp) | gp = *(var_18h);
0x000013ac subu a2, s1, fp | __asm ("subu a2, s1, fp");
0x000013b0 addu a1, s5, fp | a1 = s5 + fp;
0x000013b4 lw t9, -0x7ec0(gp) | t9 = sym.imp.read;
0x000013b8 move a0, v0 | a0 = v0;
0x000013bc jalr t9 | t9 ();
0x000013c0 lw gp, 0x18(sp) | gp = *(var_18h);
0x000013c4 bne v0, s6, 0x138c |
| }
0x000013c8 lw t9, -0x7ef4(gp) | t9 = sym.imp.perror;
0x000013cc lw a0, 0x24(sp) | a0 = *(var_24h);
0x000013d0 sw v0, 0x20(sp) | *(var_20h) = v0;
0x000013d4 jalr t9 | t9 ();
0x000013d8 lw gp, 0x18(sp) | gp = *(var_18h);
0x000013dc lw v0, 0x20(sp) | v0 = *(var_20h);
0x000013e0 b 0x138c | goto label_0;
| label_18:
0x000013e4 lw a1, -0x7fdc(gp) | a1 = *((gp - 8183));
0x000013e8 lw t9, -0x7fd0(gp) | t9 = sym.url_parameter_get_data;
0x000013ec move a2, zero | a2 = 0;
0x000013f0 addiu a1, a1, 0x3acc | a1 += str.file;
0x000013f4 move a0, s2 | a0 = s2;
0x000013f8 bal 0x22fc | sym_url_parameter_get_data ();
0x000013fc move s1, v0 | s1 = v0;
0x00001400 lw gp, 0x18(sp) | gp = *(var_18h);
| if (v0 == 0) {
0x00001404 beqz v0, 0x1a90 | goto label_21;
| }
0x00001408 lb v0, (v0) | v0 = *(v0);
0x0000140c lw t9, -0x7f0c(gp) | t9 = sym.imp.realpath;
| if (v0 == 0) {
0x00001410 bnez v0, 0x141c |
0x00001414 lw s1, -0x7fdc(gp) | s1 = *((gp - 8183));
0x00001418 addiu s1, s1, 0x3920 | s1 += 0x3920;
| }
0x0000141c move a1, zero | a1 = 0;
0x00001420 move a0, s1 | a0 = s1;
0x00001424 jalr t9 | t9 ();
0x00001428 lw gp, 0x18(sp) | gp = *(var_18h);
| if (v0 == 0) {
0x0000142c beqz v0, 0x1a64 | goto label_22;
| }
0x00001430 lw t9, -0x7ed0(gp) | t9 = sym.imp.free;
0x00001434 move a0, v0 | a0 = v0;
0x00001438 jalr t9 | t9 ();
0x0000143c lw gp, 0x18(sp) | gp = *(var_18h);
0x00001440 addiu a2, sp, 0x34 | a2 = sp + 0x34;
0x00001444 move a1, s1 | a1 = s1;
0x00001448 lw t9, -0x7ef0(gp) | t9 = sym.imp.__xstat;
0x0000144c addiu a0, zero, 3 | a0 = 3;
0x00001450 jalr t9 | t9 ();
0x00001454 lw gp, 0x18(sp) | gp = *(var_18h);
| if (v0 != 0) {
0x00001458 bnez v0, 0x1af0 | goto label_23;
| }
0x0000145c lw v0, 0x48(sp) | v0 = *(var_48h);
0x00001460 addiu v1, zero, 0x4000 | v1 = 0x4000;
0x00001464 andi v0, v0, 0xf000 | v0 &= 0xf000;
0x00001468 lw t9, -0x7f10(gp) | t9 = sym.imp.open;
| if (v0 == v1) {
0x0000146c beq v0, v1, 0x1b3c | goto label_24;
| }
0x00001470 move a1, zero | a1 = 0;
0x00001474 move a0, s1 | a0 = s1;
0x00001478 jalr t9 | t9 ();
0x0000147c lw gp, 0x18(sp) | gp = *(var_18h);
0x00001480 lw a3, 0x64(sp) | a3 = *(var_64h);
0x00001484 move a2, s1 | a2 = s1;
0x00001488 lw a1, -0x7fdc(gp) | a1 = *((gp - 8183));
0x0000148c lw t9, -0x7f48(gp) | t9 = sym.imp.__printf_chk;
0x00001490 addiu a1, a1, 0x3c10 | a1 += str.File:__s__Length:__lu_bytes_n;
0x00001494 addiu a0, zero, 1 | a0 = 1;
0x00001498 move s5, v0 | s5 = v0;
0x0000149c jalr t9 | t9 ();
0x000014a0 lw gp, 0x18(sp) | gp = *(var_18h);
0x000014a4 move a2, s4 | a2 = s4;
0x000014a8 addiu a0, zero, 1 | a0 = 1;
0x000014ac lw a1, -0x7fdc(gp) | a1 = *((gp - 8183));
0x000014b0 lw t9, -0x7f48(gp) | t9 = sym.imp.__printf_chk;
0x000014b4 addiu a1, a1, 0x3c30 | a1 += str._a_href__s___Select_new_file___a__n;
0x000014b8 jalr t9 | t9 ();
0x000014bc lw gp, 0x18(sp) | gp = *(var_18h);
| if (s5 < 0) {
0x000014c0 bltz s5, 0x1ad0 | goto label_25;
| }
0x000014c4 lw a1, -0x7fdc(gp) | a1 = *((gp - 8183));
0x000014c8 lw t9, -0x7f48(gp) | t9 = sym.imp.__printf_chk;
0x000014cc lw a3, 0x48(sp) | a3 = *(var_48h);
0x000014d0 move a2, s1 | a2 = s1;
0x000014d4 addiu a1, a1, 0x3c6c | a1 += str._form_method_POST___n_table__tr__td_Save_as:__input_typetext_name_save_file__value__s__size30_maxlength255___td__n_td_Mode:__input_typetext_name_mode__value_0_lo____td__n_td_Convert_CRLF_to_LF:__input_typecheckbox_name_convert_crlf_to_lf__valueon_checked___td__n__tr__n_tr__td_colspan3_aligncenter__input_typesubmit_value__Save_file_____td___tr__n_tr__td_colspan3__textarea_rows20_cols80_namecontent__n;
0x000014d8 lw s3, -0x7fcc(gp) | s3 = *((gp - 8179));
0x000014dc addiu a0, zero, 1 | a0 = 1;
0x000014e0 jalr t9 | t9 ();
0x000014e4 lw gp, 0x18(sp) | gp = *(var_18h);
0x000014e8 addiu a1, s3, 0x5180 | a1 = s3 + 0x5180;
0x000014ec addiu a2, zero, 0x400 | a2 = 0x400;
0x000014f0 lw t9, -0x7ec0(gp) | t9 = sym.imp.read;
0x000014f4 move a0, s5 | a0 = s5;
0x000014f8 jalr t9 | t9 ();
0x000014fc lw gp, 0x18(sp) | gp = *(var_18h);
0x00001500 addiu s3, s3, 0x5180 | s3 += 0x5180;
0x00001504 lw s1, -0x7fdc(gp) | s1 = *((gp - 8183));
0x00001508 addiu s1, s1, 0x38d4 | s1 += str._.s;
0x0000150c b 0x1540 |
| while (v0 > 0) {
0x00001510 move a2, v0 | a2 = v0;
0x00001514 move a3, s3 | a3 = s3;
0x00001518 move a1, s1 | a1 = s1;
0x0000151c addiu a0, zero, 1 | a0 = 1;
0x00001520 jalr t9 | t9 ();
0x00001524 lw gp, 0x18(sp) | gp = *(var_18h);
0x00001528 addiu a2, zero, 0x400 | a2 = 0x400;
0x0000152c move a1, s3 | a1 = s3;
0x00001530 lw t9, -0x7ec0(gp) | t9 = sym.imp.read;
0x00001534 move a0, s5 | a0 = s5;
0x00001538 jalr t9 | t9 ();
0x0000153c lw gp, 0x18(sp) | gp = *(var_18h);
0x00001540 lw t9, -0x7f48(gp) | t9 = sym.imp.__printf_chk;
0x00001544 bgtz v0, 0x1510 |
| }
0x00001548 lw t9, -0x7f78(gp) | t9 = sym.imp.close;
0x0000154c move a0, s5 | a0 = s5;
0x00001550 jalr t9 | t9 ();
0x00001554 lw gp, 0x18(sp) | gp = *(var_18h);
0x00001558 lw a0, -0x7fdc(gp) | a0 = *((gp - 8183));
0x0000155c lw t9, -0x7f00(gp) | t9 = sym.imp.puts;
0x00001560 addiu a0, a0, 0x3e0c | a0 += str.__textarea__n__td___tr__tr__td_colspan3_aligncenter__input_typesubmit_value__Save_file____n__td___tr___table___form__br_;
0x00001564 jalr t9 | t9 ();
0x00001568 lw gp, 0x18(sp) | gp = *(var_18h);
0x0000156c b 0x1904 | goto label_6;
| label_17:
0x00001570 lw t9, -0x7f00(gp) | t9 = sym.imp.puts;
0x00001574 addiu a0, a0, 0x3ab4 | a0 += str._pre_;
0x00001578 jalr t9 | t9 ();
0x0000157c lw gp, 0x18(sp) | gp = *(var_18h);
0x00001580 addiu s3, zero, 4 | s3 = 4;
0x00001584 lw s5, -0x7f68(gp) | s5 = *((gp - 8154));
0x00001588 lw a0, -0x7fdc(gp) | a0 = *((gp - 8183));
0x0000158c lw t9, -0x7f00(gp) | t9 = sym.imp.puts;
0x00001590 addiu a0, a0, 0x3abc | a0 += str.ENV:;
0x00001594 jalr t9 | t9 ();
0x00001598 lw v0, (s5) | v0 = *(s5);
0x0000159c lw a0, (v0) | a0 = *(v0);
0x000015a0 lw gp, 0x18(sp) | gp = *(var_18h);
| if (a0 == 0) {
0x000015a4 beqz a0, 0x15c8 | goto label_26;
| }
| do {
0x000015a8 lw t9, -0x7f00(gp) | t9 = sym.imp.puts;
0x000015ac jalr t9 | t9 ();
0x000015b0 nop |
0x000015b4 lw a0, (s5) | a0 = *(s5);
0x000015b8 lw gp, 0x18(sp) | gp = *(var_18h);
0x000015bc lwx a0, s3(a0) | __asm ("lwx a0, s3(a0)");
0x000015c0 addiu s3, s3, 4 | s3 += 4;
0x000015c4 bnez a0, 0x15a8 |
| } while (a0 != 0);
| label_26:
0x000015c8 lw a0, -0x7fdc(gp) | a0 = *((gp - 8183));
0x000015cc lw t9, -0x7f00(gp) | t9 = sym.imp.puts;
0x000015d0 addiu a0, a0, 0x3ac4 | a0 += str.__pre_;
0x000015d4 jalr t9 | t9 ();
0x000015d8 lw gp, 0x18(sp) | gp = *(var_18h);
0x000015dc b 0x12ec | goto label_1;
| label_16:
0x000015e0 lw a0, -0x7fdc(gp) | a0 = *((gp - 8183));
0x000015e4 lw t9, -0x7f00(gp) | t9 = sym.imp.puts;
0x000015e8 addiu a0, a0, 0x3a74 | a0 += str.Important_ENV:;
0x000015ec jalr t9 | t9 ();
0x000015f0 lw gp, 0x18(sp) | gp = *(var_18h);
0x000015f4 move a2, s1 | a2 = s1;
0x000015f8 addiu a0, zero, 1 | a0 = 1;
0x000015fc lw a1, -0x7fdc(gp) | a1 = *((gp - 8183));
0x00001600 lw t9, -0x7f48(gp) | t9 = sym.imp.__printf_chk;
0x00001604 addiu a1, a1, 0x3a84 | a1 += str.method:__s_br__n;
0x00001608 jalr t9 | t9 ();
0x0000160c lw gp, 0x18(sp) | gp = *(var_18h);
0x00001610 move a2, s3 | a2 = s3;
0x00001614 addiu a0, zero, 1 | a0 = 1;
0x00001618 lw a1, -0x7fdc(gp) | a1 = *((gp - 8183));
0x0000161c lw t9, -0x7f48(gp) | t9 = sym.imp.__printf_chk;
0x00001620 addiu a1, a1, 0x3a94 | a1 += str.query:__s_br__n;
0x00001624 jalr t9 | t9 ();
0x00001628 lw gp, 0x18(sp) | gp = *(var_18h);
0x0000162c lw a2, 0x20(sp) | a2 = *(var_20h);
0x00001630 addiu a0, zero, 1 | a0 = 1;
0x00001634 lw a1, -0x7fdc(gp) | a1 = *((gp - 8183));
0x00001638 lw t9, -0x7f48(gp) | t9 = sym.imp.__printf_chk;
0x0000163c addiu a1, a1, 0x3aa4 | a1 += str.uri:__s_br__n;
0x00001640 jalr t9 | t9 ();
0x00001644 lw gp, 0x18(sp) | gp = *(var_18h);
0x00001648 b 0x12e0 | goto label_2;
| label_20:
0x0000164c addu s1, s5, s1 | s1 = s5 + s1;
0x00001650 lw t9, -0x7fc8(gp) | t9 = sym.url_parameter_type_init_no_copy;
0x00001654 move a0, s5 | a0 = s5;
0x00001658 sb zero, (s1) | *(s1) = 0;
0x0000165c bal 0x2640 | sym_url_parameter_type_init_no_copy ();
0x00001660 lw gp, 0x18(sp) | gp = *(var_18h);
0x00001664 move a2, zero | a2 = 0;
0x00001668 move a0, v0 | a0 = v0;
0x0000166c lw a1, -0x7fdc(gp) | a1 = *((gp - 8183));
0x00001670 lw t9, -0x7fd0(gp) | t9 = sym.url_parameter_get_data;
0x00001674 addiu a1, a1, 0x3ea0 | a1 += str.save_file;
0x00001678 move s1, v0 | s1 = v0;
0x0000167c bal 0x22fc | sym_url_parameter_get_data ();
0x00001680 lw gp, 0x18(sp) | gp = *(var_18h);
0x00001684 move a2, zero | a2 = 0;
0x00001688 move a0, s1 | a0 = s1;
0x0000168c lw a1, -0x7fdc(gp) | a1 = *((gp - 8183));
0x00001690 lw t9, -0x7fd0(gp) | t9 = sym.url_parameter_get_data;
0x00001694 addiu a1, a1, 0x3eac | a1 += str.mode;
0x00001698 move s6, v0 | s6 = v0;
0x0000169c bal 0x22fc | sym_url_parameter_get_data ();
0x000016a0 lw gp, 0x18(sp) | gp = *(var_18h);
0x000016a4 addiu a2, sp, 0x30 | a2 = sp + 0x30;
0x000016a8 move a0, s1 | a0 = s1;
0x000016ac lw a1, -0x7fdc(gp) | a1 = *((gp - 8183));
0x000016b0 lw t9, -0x7fd0(gp) | t9 = sym.url_parameter_get_data;
0x000016b4 addiu a1, a1, 0x3eb4 | a1 += str.content;
0x000016b8 move s5, v0 | s5 = v0;
0x000016bc bal 0x22fc | sym_url_parameter_get_data ();
0x000016c0 lw gp, 0x18(sp) | gp = *(var_18h);
0x000016c4 move a2, zero | a2 = 0;
0x000016c8 move a0, s1 | a0 = s1;
0x000016cc lw a1, -0x7fdc(gp) | a1 = *((gp - 8183));
0x000016d0 lw t9, -0x7fd0(gp) | t9 = sym.url_parameter_get_data;
0x000016d4 addiu a1, a1, 0x3ebc | a1 += str.convert_crlf_to_lf;
0x000016d8 move s3, v0 | s3 = v0;
0x000016dc bal 0x22fc | sym_url_parameter_get_data ();
0x000016e0 move s7, v0 | s7 = v0;
0x000016e4 lw gp, 0x18(sp) | gp = *(var_18h);
| if (s6 == 0) {
0x000016e8 beqz s6, 0x1974 | goto label_27;
| }
0x000016ec lw t9, -0x7f74(gp) | t9 = sym.imp.strtol;
| if (s3 == 0) {
0x000016f0 beqz s3, 0x1974 | goto label_27;
| }
0x000016f4 move a2, zero | a2 = 0;
0x000016f8 move a1, zero | a1 = 0;
0x000016fc move a0, s5 | a0 = s5;
0x00001700 jalr t9 | t9 ();
0x00001704 lw gp, 0x18(sp) | gp = *(var_18h);
0x00001708 addiu a0, zero, 0x1ff | a0 = 0x1ff;
0x0000170c sw v0, 0x28(sp) | *(var_28h) = v0;
0x00001710 lw t9, -0x7f70(gp) | t9 = sym.imp.umask;
0x00001714 move s5, v0 | s5 = v0;
0x00001718 jalr t9 | t9 ();
0x0000171c lw gp, 0x18(sp) | gp = *(var_18h);
0x00001720 lw a3, 0x30(sp) | a3 = *(var_30h);
0x00001724 move a2, s6 | a2 = s6;
0x00001728 lw a1, -0x7fdc(gp) | a1 = *((gp - 8183));
0x0000172c lw t9, -0x7f48(gp) | t9 = sym.imp.__printf_chk;
0x00001730 addiu a1, a1, 0x3edc | a1 += str.File:__s__Length:__lu_bytes__Mode_0_o_n;
0x00001734 addiu a0, zero, 1 | a0 = 1;
0x00001738 sw s5, 0x10(sp) | *(var_10h_2) = s5;
0x0000173c jalr t9 | t9 ();
0x00001740 lw gp, 0x18(sp) | gp = *(var_18h);
0x00001744 lw a0, -0x7fdc(gp) | a0 = *((gp - 8183));
0x00001748 lw t9, -0x7f00(gp) | t9 = sym.imp.puts;
0x0000174c addiu a0, a0, 0x3ab4 | a0 += str._pre_;
0x00001750 jalr t9 | t9 ();
0x00001754 lw gp, 0x18(sp) | gp = *(var_18h);
0x00001758 move a2, s5 | a2 = s5;
0x0000175c addiu a1, zero, 0x301 | a1 = 0x301;
0x00001760 lw t9, -0x7f10(gp) | t9 = sym.imp.open;
0x00001764 move a0, s6 | a0 = s6;
0x00001768 jalr t9 | t9 ();
0x0000176c move s5, v0 | s5 = v0;
0x00001770 lw gp, 0x18(sp) | gp = *(var_18h);
| if (v0 <= 0) {
0x00001774 blez v0, 0x1c28 | goto label_28;
| }
0x00001778 lw v0, -0x7fdc(gp) | v0 = *((gp - 8183));
0x0000177c move fp, zero | fp = 0;
0x00001780 addiu v0, v0, 0x4014 | v0 += 0x4014;
0x00001784 sw v0, 0x2c(sp) | *(var_2ch) = v0;
| do {
| label_4:
0x00001788 lw a2, 0x30(sp) | a2 = *(var_30h);
| label_11:
0x0000178c sltu v0, fp, a2 | v0 = (fp < a2) ? 1 : 0;
0x00001790 lw a1, -0x7fdc(gp) | a1 = *((gp - 8183));
| if (v0 == 0) {
0x00001794 beqz v0, 0x1b00 | goto label_29;
| }
0x00001798 addu a3, s3, fp | a3 = s3 + fp;
| if (s7 == 0) {
0x0000179c beqz s7, 0x1a30 | goto label_30;
| }
0x000017a0 lw t9, -0x7f14(gp) | t9 = sym.imp.strchr;
0x000017a4 sw a2, 0x24(sp) | *(var_24h) = a2;
0x000017a8 move a0, a3 | a0 = a3;
0x000017ac sw a3, 0x20(sp) | *(var_20h) = a3;
0x000017b0 addiu a1, zero, 0xa | a1 = 0xa;
0x000017b4 jalr t9 | t9 ();
0x000017b8 lw gp, 0x18(sp) | gp = *(var_18h);
0x000017bc lw a3, 0x20(sp) | a3 = *(var_20h);
0x000017c0 lw a2, 0x24(sp) | a2 = *(var_24h);
| if (v0 != 0) {
0x000017c4 beqz v0, 0x17dc |
0x000017c8 addiu v1, zero, 0xd | v1 = 0xd;
| if (a3 == v0) {
0x000017cc beq a3, v0, 0x17dc | goto label_31;
| }
0x000017d0 lb a0, -1(v0) | a0 = *((v0 - 1));
0x000017d4 subu v0, v0, a3 | __asm ("subu v0, v0, a3");
| if (a0 == v1) {
0x000017d8 beq a0, v1, 0x1940 | goto label_32;
| }
| }
| label_31:
0x000017dc lw t9, -0x7f24(gp) | t9 = sym.imp.write;
0x000017e0 subu a2, a2, fp | __asm ("subu a2, a2, fp");
| label_7:
0x000017e4 move a1, a3 | a1 = a3;
0x000017e8 move a0, s5 | a0 = s5;
0x000017ec jalr t9 | t9 ();
0x000017f0 addu fp, fp, v0 | fp += v0;
0x000017f4 lw gp, 0x18(sp) | gp = *(var_18h);
0x000017f8 bgez v0, 0x1788 |
| } while (v0 >= 0);
| label_10:
0x000017fc lw a1, -0x7fdc(gp) | a1 = *((gp - 8183));
| label_5:
0x00001800 lw t9, -0x7f48(gp) | t9 = sym.imp.__printf_chk;
0x00001804 move a2, fp | a2 = fp;
0x00001808 addiu a1, a1, 0x3fe0 | a1 += str.Wrote__lu_bytes_n;
0x0000180c addiu a0, zero, 1 | a0 = 1;
0x00001810 jalr t9 | t9 ();
0x00001814 lw gp, 0x18(sp) | gp = *(var_18h);
0x00001818 lw t9, -0x7f1c(gp) | t9 = sym.imp.fsync;
0x0000181c move a0, s5 | a0 = s5;
0x00001820 jalr t9 | t9 ();
0x00001824 lw gp, 0x18(sp) | gp = *(var_18h);
0x00001828 lw t9, -0x7f78(gp) | t9 = sym.imp.close;
0x0000182c move a0, s5 | a0 = s5;
0x00001830 jalr t9 | t9 ();
0x00001834 lw gp, 0x18(sp) | gp = *(var_18h);
0x00001838 lw t9, -0x7f38(gp) | t9 = sym.imp.__errno_location;
0x0000183c jalr t9 | t9 ();
0x00001840 nop |
0x00001844 lw gp, 0x18(sp) | gp = *(var_18h);
0x00001848 lw a2, (v0) | a2 = *(v0);
0x0000184c addiu a0, zero, 1 | a0 = 1;
0x00001850 lw a1, -0x7fdc(gp) | a1 = *((gp - 8183));
0x00001854 lw t9, -0x7f48(gp) | t9 = sym.imp.__printf_chk;
0x00001858 addiu a1, a1, 0x3ff4 | a1 += str.Error:__i_detected_during_write__n;
0x0000185c jalr t9 | t9 ();
0x00001860 lw gp, 0x18(sp) | gp = *(var_18h);
| label_9:
0x00001864 lw t9, -0x7f6c(gp) | t9 = sym.imp.chmod;
0x00001868 lw a1, 0x28(sp) | a1 = *(var_28h);
0x0000186c move a0, s6 | a0 = s6;
0x00001870 jalr t9 | t9 ();
0x00001874 lw gp, 0x18(sp) | gp = *(var_18h);
| label_12:
0x00001878 lw a0, -0x7fdc(gp) | a0 = *((gp - 8183));
0x0000187c lw t9, -0x7f00(gp) | t9 = sym.imp.puts;
0x00001880 addiu a0, a0, 0x3ac4 | a0 += str.__pre_;
0x00001884 jalr t9 | t9 ();
0x00001888 lw gp, 0x18(sp) | gp = *(var_18h);
0x0000188c b 0x19a0 | goto label_33;
| label_13:
0x00001890 lw a1, -0x7fdc(gp) | a1 = *((gp - 8183));
0x00001894 lw t9, -0x7f48(gp) | t9 = sym.imp.__printf_chk;
0x00001898 addiu a1, a1, 0x3924 | a1 += str.Content_Type:_text_html_n_n__DOCTYPE_html__n_html__body__n_n_p_The_script_editor_is_deprecated_and_has_been_disabled_in_the_configuration.__p__n__body___html_;
0x0000189c addiu a0, zero, 1 | a0 = 1;
0x000018a0 jalr t9 | t9 ();
0x000018a4 lw gp, 0x18(sp) | gp = *(var_18h);
| do {
0x000018a8 lw a0, 0x18c(sp) | a0 = *(var_18ch);
0x000018ac lw v1, (s0) | v1 = *(s0);
0x000018b0 move v0, zero | v0 = 0;
| if (a0 != v1) {
0x000018b4 bne a0, v1, 0x1c90 | goto label_34;
| }
0x000018b8 lw ra, 0x1b4(sp) | ra = *(var_1b4h);
0x000018bc lw fp, 0x1b0(sp) | fp = *(var_1b0h);
0x000018c0 lw s7, 0x1ac(sp) | s7 = *(var_1ach);
0x000018c4 lw s6, 0x1a8(sp) | s6 = *(var_1a8h);
0x000018c8 lw s5, 0x1a4(sp) | s5 = *(var_1a4h);
0x000018cc lw s4, 0x1a0(sp) | s4 = *(var_1a0h);
0x000018d0 lw s3, 0x19c(sp) | s3 = *(var_19ch);
0x000018d4 lw s2, 0x198(sp) | s2 = *(var_198h);
0x000018d8 lw s1, 0x194(sp) | s1 = *(var_194h);
0x000018dc lw s0, 0x190(sp) | s0 = *(var_190h);
0x000018e0 addiu sp, sp, 0x1b8 |
0x000018e4 jr ra | return v0;
| label_19:
0x000018e8 lw a1, -0x7fdc(gp) | a1 = *((gp - 8183));
0x000018ec lw t9, -0x7f48(gp) | t9 = sym.imp.__printf_chk;
0x000018f0 move a2, s1 | a2 = s1;
0x000018f4 addiu a1, a1, 0x3fb4 | a1 += str.Unhandled_method:__s_br__n;
0x000018f8 addiu a0, zero, 1 | a0 = 1;
0x000018fc jalr t9 | t9 ();
0x00001900 lw gp, 0x18(sp) | gp = *(var_18h);
| label_6:
0x00001904 lw a0, -0x7fdc(gp) | a0 = *((gp - 8183));
0x00001908 lw t9, -0x7f00(gp) | t9 = sym.imp.puts;
0x0000190c addiu a0, a0, 0x3fd0 | a0 += str.__body___html_;
0x00001910 jalr t9 | t9 ();
0x00001914 lw gp, 0x18(sp) | gp = *(var_18h);
0x00001918 lw t9, -0x7fc4(gp) | t9 = sym.url_parameter_type_done;
0x0000191c move a0, s2 | a0 = s2;
0x00001920 bal 0x2268 | sym_url_parameter_type_done ();
0x00001924 lw gp, 0x18(sp) | gp = *(var_18h);
0x00001928 b 0x18a8 |
| } while (1);
| label_14:
0x0000192c slti s2, s2, 2 | s2 = (s2 < 2) ? 1 : 0;
0x00001930 lw s3, -0x7fdc(gp) | s3 = *((gp - 8183));
| if (s2 == 0) {
0x00001934 bnel s2, zero, 0x1a5c | goto label_35;
| }
0x00001938 lw s3, 4(s7) | s3 = *((s7 + 1));
0x0000193c b 0x121c | goto label_3;
| label_32:
0x00001940 addiu a2, v0, -1 | a2 = v0 + -1;
0x00001944 addiu v1, fp, 2 | v1 = fp + 2;
0x00001948 addu fp, v1, a2 | fp = v1 + a2;
0x0000194c lw t9, -0x7f24(gp) | t9 = sym.imp.write;
| if (a2 != 0) {
0x00001950 bnez a2, 0x1be4 | goto label_36;
| }
0x00001954 lw a1, 0x2c(sp) | a1 = *(var_2ch);
0x00001958 addiu a2, zero, 1 | a2 = 1;
0x0000195c move a0, s5 | a0 = s5;
0x00001960 jalr t9 | t9 ();
0x00001964 lw gp, 0x18(sp) | gp = *(var_18h);
| if (v0 >= 0) {
0x00001968 bgez v0, 0x1788 | goto label_4;
| }
0x0000196c lw a1, -0x7fdc(gp) | a1 = *((gp - 8183));
0x00001970 b 0x1800 | goto label_5;
| label_27:
0x00001974 lw t9, -0x7f38(gp) | t9 = sym.imp.__errno_location;
0x00001978 jalr t9 | t9 ();
0x0000197c nop |
0x00001980 lw gp, 0x18(sp) | gp = *(var_18h);
0x00001984 lw a2, (v0) | a2 = *(v0);
0x00001988 addiu a0, zero, 1 | a0 = 1;
0x0000198c lw a1, -0x7fdc(gp) | a1 = *((gp - 8183));
0x00001990 lw t9, -0x7f48(gp) | t9 = sym.imp.__printf_chk;
0x00001994 addiu a1, a1, 0x3f30 | a1 += str.Something_went_wrong____i____cant_save_file__n_br_;
0x00001998 jalr t9 | t9 ();
0x0000199c lw gp, 0x18(sp) | gp = *(var_18h);
| label_33:
0x000019a0 lw s3, -0x7fcc(gp) | s3 = *((gp - 8179));
0x000019a4 lw t9, -0x7f44(gp) | t9 = sym.imp.__strcpy_chk
0x000019a8 addiu a2, zero, 0x400 | a2 = 0x400;
0x000019ac move a1, s6 | a1 = s6;
0x000019b0 addiu a0, s3, 0x5180 | a0 = s3 + 0x5180;
0x000019b4 jalr t9 | t9 ();
0x000019b8 lw gp, 0x18(sp) | gp = *(var_18h);
0x000019bc addiu a1, zero, 0x2f | a1 = 0x2f;
0x000019c0 lw t9, -0x7f50(gp) | t9 = sym.imp.strrchr;
0x000019c4 addiu a0, s3, 0x5180 | a0 = s3 + 0x5180;
0x000019c8 jalr t9 | t9 ();
0x000019cc lw gp, 0x18(sp) | gp = *(var_18h);
| if (v0 != 0) {
0x000019d0 beqz v0, 0x19d8 |
0x000019d4 sb zero, 1(v0) | *((v0 + 1)) = 0;
| }
0x000019d8 lw a1, -0x7fdc(gp) | a1 = *((gp - 8183));
0x000019dc lw t9, -0x7f48(gp) | t9 = sym.imp.__printf_chk;
0x000019e0 move a2, s4 | a2 = s4;
0x000019e4 addiu a1, a1, 0x3f64 | a1 += str._a_href__s___Select_new_file___a___br__n;
0x000019e8 addiu a0, zero, 1 | a0 = 1;
0x000019ec jalr t9 | t9 ();
0x000019f0 lw gp, 0x18(sp) | gp = *(var_18h);
0x000019f4 addiu s3, s3, 0x5180 | s3 += 0x5180;
0x000019f8 move a3, s3 | a3 = s3;
0x000019fc lw a1, -0x7fdc(gp) | a1 = *((gp - 8183));
0x00001a00 lw t9, -0x7f48(gp) | t9 = sym.imp.__printf_chk;
0x00001a04 move a2, s4 | a2 = s4;
0x00001a08 addiu a1, a1, 0x3f90 | a1 += str._a_href__s_file_s___s__a___br__n;
0x00001a0c addiu a0, zero, 1 | a0 = 1;
0x00001a10 sw s3, 0x10(sp) | *(var_10h_2) = s3;
0x00001a14 jalr t9 | t9 ();
0x00001a18 lw gp, 0x18(sp) | gp = *(var_18h);
0x00001a1c lw t9, -0x7fc4(gp) | t9 = sym.url_parameter_type_done;
0x00001a20 move a0, s1 | a0 = s1;
0x00001a24 bal 0x2268 | sym_url_parameter_type_done ();
0x00001a28 lw gp, 0x18(sp) | gp = *(var_18h);
0x00001a2c b 0x1904 | goto label_6;
| label_30:
0x00001a30 lw t9, -0x7f24(gp) | t9 = sym.imp.write;
0x00001a34 b 0x17e4 | goto label_7;
| label_15:
0x00001a38 lw a0, -0x7fdc(gp) | a0 = *((gp - 8183));
0x00001a3c lw t9, -0x7f00(gp) | t9 = sym.imp.puts;
0x00001a40 lw fp, -0x7fdc(gp) | fp = *((gp - 8183));
0x00001a44 addiu a0, a0, 0x3a20 | a0 += str.This_program_should_be_run_as_a_CGI_from_a_web_server__faking_GET_;
0x00001a48 jalr t9 | t9 ();
0x00001a4c addiu s1, fp, 0x391c | s1 = fp + 0x391c;
0x00001a50 lw gp, 0x18(sp) | gp = *(var_18h);
0x00001a54 lw s3, 4(s7) | s3 = *((s7 + 1));
0x00001a58 b 0x12c4 | goto label_8;
| label_35:
0x00001a5c addiu s3, s3, 0x3c68 | s3 += 0x3c68;
0x00001a60 b 0x121c | goto label_3;
| label_22:
0x00001a64 lw a1, -0x7fdc(gp) | a1 = *((gp - 8183));
0x00001a68 lw t9, -0x7f48(gp) | t9 = sym.imp.__printf_chk;
0x00001a6c addiu a1, a1, 0x3bac | a1 += str.Invalid_file_name_;
| do {
0x00001a70 addiu a0, zero, 1 | a0 = 1;
0x00001a74 jalr t9 | t9 ();
0x00001a78 lw gp, 0x18(sp) | gp = *(var_18h);
0x00001a7c lw t9, -0x7f54(gp) | t9 = sym.imp.CGI_print_html_escaped;
0x00001a80 move a0, s1 | a0 = s1;
0x00001a84 jalr t9 | t9 ();
0x00001a88 lw gp, 0x18(sp) | gp = *(var_18h);
0x00001a8c b 0x1904 | goto label_6;
| label_21:
0x00001a90 lw a0, -0x7fdc(gp) | a0 = *((gp - 8183));
0x00001a94 lw t9, -0x7f00(gp) | t9 = sym.imp.puts;
0x00001a98 addiu a0, a0, 0x3ad4 | a0 += str.You_must_specify_a_name_of_file_to_edit_or_press_Submit_to_browse:_br_;
0x00001a9c jalr t9 | t9 ();
0x00001aa0 lw gp, 0x18(sp) | gp = *(var_18h);
0x00001aa4 lw a0, -0x7fdc(gp) | a0 = *((gp - 8183));
0x00001aa8 lw t9, -0x7f00(gp) | t9 = sym.imp.puts;
0x00001aac addiu a0, a0, 0x3b1c | a0 += str._form_method_GET___nFile_name:__input_type_text__name_file__size50_maxlength255_value___;
0x00001ab0 jalr t9 | t9 ();
0x00001ab4 lw gp, 0x18(sp) | gp = *(var_18h);
0x00001ab8 lw a0, -0x7fdc(gp) | a0 = *((gp - 8183));
0x00001abc lw t9, -0x7f00(gp) | t9 = sym.imp.puts;
0x00001ac0 addiu a0, a0, 0x3b7c | a0 += str._input_typesubmit_value_Submit___n__form__br_;
0x00001ac4 jalr t9 | t9 ();
0x00001ac8 lw gp, 0x18(sp) | gp = *(var_18h);
0x00001acc b 0x1904 | goto label_6;
| label_25:
0x00001ad0 lw a1, -0x7fdc(gp) | a1 = *((gp - 8183));
0x00001ad4 lw t9, -0x7f48(gp) | t9 = sym.imp.__printf_chk;
0x00001ad8 move a2, s1 | a2 = s1;
0x00001adc addiu a1, a1, 0x3c54 | a1 += str.Failed_to_open__s___n;
0x00001ae0 addiu a0, zero, 1 | a0 = 1;
0x00001ae4 jalr t9 | t9 ();
0x00001ae8 lw gp, 0x18(sp) | gp = *(var_18h);
0x00001aec b 0x1904 | goto label_6;
| label_23:
0x00001af0 lw a1, -0x7fdc(gp) | a1 = *((gp - 8183));
0x00001af4 lw t9, -0x7f48(gp) | t9 = sym.imp.__printf_chk;
0x00001af8 addiu a1, a1, 0x3bc0 | a1 += str.Failed_to_get_status_of_;
0x00001afc b 0x1a70 |
| } while (1);
| label_29:
0x00001b00 lw t9, -0x7f48(gp) | t9 = sym.imp.__printf_chk;
0x00001b04 move a2, fp | a2 = fp;
0x00001b08 addiu a1, a1, 0x3fe0 | a1 += str.Wrote__lu_bytes_n;
0x00001b0c addiu a0, zero, 1 | a0 = 1;
0x00001b10 jalr t9 | t9 ();
0x00001b14 lw gp, 0x18(sp) | gp = *(var_18h);
0x00001b18 lw t9, -0x7f1c(gp) | t9 = sym.imp.fsync;
0x00001b1c move a0, s5 | a0 = s5;
0x00001b20 jalr t9 | t9 ();
0x00001b24 lw gp, 0x18(sp) | gp = *(var_18h);
0x00001b28 lw t9, -0x7f78(gp) | t9 = sym.imp.close;
0x00001b2c move a0, s5 | a0 = s5;
0x00001b30 jalr t9 | t9 ();
0x00001b34 lw gp, 0x18(sp) | gp = *(var_18h);
0x00001b38 b 0x1864 | goto label_9;
| label_24:
0x00001b3c lw a1, -0x7fdc(gp) | a1 = *((gp - 8183));
0x00001b40 lw t9, -0x7f48(gp) | t9 = sym.imp.__printf_chk;
0x00001b44 move a2, s1 | a2 = s1;
0x00001b48 addiu a1, a1, 0x3bdc | a1 += str.Directory:__s_n;
0x00001b4c addiu a0, zero, 1 | a0 = 1;
0x00001b50 jalr t9 | t9 ();
0x00001b54 lw gp, 0x18(sp) | gp = *(var_18h);
0x00001b58 lw t9, -0x7f80(gp) | t9 = sym.imp.opendir;
0x00001b5c move a0, s1 | a0 = s1;
0x00001b60 jalr t9 | t9 ();
0x00001b64 move s5, v0 | s5 = v0;
0x00001b68 lw gp, 0x18(sp) | gp = *(var_18h);
| if (v0 == 0) {
0x00001b6c beqz v0, 0x1c70 | goto label_37;
| }
0x00001b70 lw a3, -0x7fdc(gp) | a3 = *((gp - 8183));
0x00001b74 lw t9, -0x7f90(gp) | t9 = sym.imp.__sprintf_chk;
0x00001b78 addiu s3, sp, 0xc4 | s3 = sp + 0xc4;
0x00001b7c addiu a3, a3, 0x3c04 | a3 += str._s_file;
0x00001b80 addiu a2, zero, 0xc8 | a2 = 0xc8;
0x00001b84 addiu a1, zero, 1 | a1 = 1;
0x00001b88 move a0, s3 | a0 = s3;
0x00001b8c sw s4, 0x10(sp) | *(var_10h_2) = s4;
0x00001b90 jalr t9 | t9 ();
0x00001b94 lw gp, 0x18(sp) | gp = *(var_18h);
0x00001b98 lw a0, -0x7fdc(gp) | a0 = *((gp - 8183));
0x00001b9c lw t9, -0x7f00(gp) | t9 = sym.imp.puts;
0x00001ba0 addiu a0, a0, 0x3ab4 | a0 += str._pre_;
0x00001ba4 jalr t9 | t9 ();
0x00001ba8 lw gp, 0x18(sp) | gp = *(var_18h);
0x00001bac addiu a3, zero, 1 | a3 = 1;
0x00001bb0 addiu a2, zero, 1 | a2 = 1;
0x00001bb4 lw t9, -0x7fc0(gp) | t9 = sym.ls;
0x00001bb8 move a1, s5 | a1 = s5;
0x00001bbc move a0, s1 | a0 = s1;
0x00001bc0 sw s3, 0x10(sp) | *(var_10h_2) = s3;
0x00001bc4 bal 0x31cc | sym_ls ();
0x00001bc8 lw gp, 0x18(sp) | gp = *(var_18h);
0x00001bcc lw a0, -0x7fdc(gp) | a0 = *((gp - 8183));
0x00001bd0 lw t9, -0x7f00(gp) | t9 = sym.imp.puts;
0x00001bd4 addiu a0, a0, 0x3ac4 | a0 += str.__pre_;
0x00001bd8 jalr t9 | t9 ();
0x00001bdc lw gp, 0x18(sp) | gp = *(var_18h);
0x00001be0 b 0x1904 | goto label_6;
| label_36:
0x00001be4 move a1, a3 | a1 = a3;
0x00001be8 move a0, s5 | a0 = s5;
0x00001bec jalr t9 | t9 ();
0x00001bf0 lw gp, 0x18(sp) | gp = *(var_18h);
0x00001bf4 lw a1, 0x2c(sp) | a1 = *(var_2ch);
0x00001bf8 addiu a2, zero, 1 | a2 = 1;
0x00001bfc lw t9, -0x7f24(gp) | t9 = sym.imp.write;
0x00001c00 move a0, s5 | a0 = s5;
0x00001c04 sw v0, 0x20(sp) | *(var_20h) = v0;
0x00001c08 jalr t9 | t9 ();
0x00001c0c lw gp, 0x18(sp) | gp = *(var_18h);
| if (v0 < 0) {
0x00001c10 bltz v0, 0x17fc | goto label_10;
| }
0x00001c14 lw a3, 0x20(sp) | a3 = *(var_20h);
0x00001c18 lw a2, 0x30(sp) | a2 = *(var_30h);
| if (a3 >= 0) {
0x00001c1c bgez a3, 0x178c | goto label_11;
| }
0x00001c20 lw a1, -0x7fdc(gp) | a1 = *((gp - 8183));
0x00001c24 b 0x1800 | goto label_5;
| label_28:
0x00001c28 lw t9, -0x7f38(gp) | t9 = sym.imp.__errno_location;
0x00001c2c jalr t9 | t9 ();
0x00001c30 nop |
0x00001c34 lw gp, 0x18(sp) | gp = *(var_18h);
0x00001c38 lw s3, (v0) | s3 = *(v0);
0x00001c3c lw t9, -0x7f04(gp) | t9 = sym.imp.strerror;
0x00001c40 move a0, s3 | a0 = s3;
0x00001c44 jalr t9 | t9 ();
0x00001c48 lw gp, 0x18(sp) | gp = *(var_18h);
0x00001c4c move a3, v0 | a3 = v0;
0x00001c50 move a2, s3 | a2 = s3;
0x00001c54 lw a1, -0x7fdc(gp) | a1 = *((gp - 8183));
0x00001c58 lw t9, -0x7f48(gp) | t9 = sym.imp.__printf_chk;
0x00001c5c addiu a1, a1, 0x3f04 | a1 += str.Failed_to_open_create_file____i___s__br__n;
0x00001c60 addiu a0, zero, 1 | a0 = 1;
0x00001c64 jalr t9 | t9 ();
0x00001c68 lw gp, 0x18(sp) | gp = *(var_18h);
0x00001c6c b 0x1878 | goto label_12;
| label_37:
0x00001c70 lw a1, -0x7fdc(gp) | a1 = *((gp - 8183));
0x00001c74 lw t9, -0x7f48(gp) | t9 = sym.imp.__printf_chk;
0x00001c78 move a2, s1 | a2 = s1;
0x00001c7c addiu a1, a1, 0x3bec | a1 += str.Failed_to_read_dir:__s_n;
0x00001c80 addiu a0, zero, 1 | a0 = 1;
0x00001c84 jalr t9 | t9 ();
0x00001c88 lw gp, 0x18(sp) | gp = *(var_18h);
0x00001c8c b 0x1904 | goto label_6;
| label_34:
0x00001c90 lw t9, -0x7ee8(gp) | t9 = sym.imp.__stack_chk_fail;
0x00001c94 jalr t9 | t9 ();
0x00001c98 nop |
0x00001c9c nop |
| }
[*] Function strcpy used 2 times editcgi.cgi